/* Importação de fontes personalizadas do Google Fonts */
/* Playfair Display para títulos (elegante), Montserrat para corpo (moderno e legível) */
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@300;400;500;700&family=Playfair+Display:wght@400;500;600;700&display=swap');

/* Variáveis CSS para Cores - Fácil de mudar sua paleta aqui! */
:root {
    --primary-color: #8D6B4E; /* Marrom médio/claro mais quente, para preços e destaques */
    --secondary-color: #5A3E2D; /* **NOVO MARROM ESCURO PRINCIPAL, mais quente e visível** */
    --text-light-color: #F5F0EB; /* Cor clara para textos em fundos escuros */
    --background-light: #F5F0EB; /* Camurça claro para o fundo principal */
    --background-muted: #E8D7C4; /* Camurça um pouco mais escuro para cabeçalho/cards de categoria */
    --card-background: #FFFFFF; /* Cards permanecem brancos para contraste */
    --border-color: rgba(0, 0, 0, 0.15); /* Borda um pouco mais visível */
    --shadow-color: rgba(0, 0, 0, 0.1); /* Sombra um pouco mais forte */
}

/* Estilos Globais do Corpo */
body {
    font-family: 'Montserrat', sans-serif;
    color: var(--secondary-color); /* Cor de texto padrão: MARROM ESCURO */
    line-height: 1.8; /* Espaçamento entre linhas para melhor legibilidade */
    background-color: var(--background-light); /* Cor de fundo principal: CAMURÇA CLARO */
    margin: 0;
    padding: 0;
    -webkit-font-smoothing: antialiased; /* Suaviza fontes no WebKit */
    -moz-osx-font-smoothing: grayscale; /* Suaviza fontes no Firefox */
}

/* --- Cabeçalho (Header) --- */
header.uk-section-small.uk-background-muted {
    background-color: var(--background-muted) !important; /* Fundo do cabeçalho: CAMURÇA MAIS ESCURO */
    padding: 20px 0; /* Ajuste o padding se precisar de mais espaço vertical no cabeçalho */
    box-shadow: 0 2px 5px var(--shadow-color); /* Sombra sutil para o header */
}

.uk-logo img.logo-principal {
    max-height: 200px; /* **LOGO GRANDE: Aumentado para 200px. Ajuste para o que desejar (ex: 150px, 250px)** */
    width: auto; /* Mantém a proporção da largura */
    display: block;
    margin: 0 auto 15px auto; /* Centraliza e adiciona margem abaixo */
}

.uk-navbar-container {
    background-color: transparent !important;
    box-shadow: none;
}

/* Navegação Principal */
.uk-navbar-nav > li > a {
    color: var(--secondary-color) !important; /* Links do menu: MARROM ESCURO */
    font-weight: 600;
    text-transform: uppercase;
    transition: color 0.3s ease, border-color 0.3s ease;
    padding: 10px 18px;
    letter-spacing: 0.5px; /* Pequeno espaçamento entre letras */
}

.uk-navbar-nav > li > a:hover {
    color: var(--primary-color) !important; /* Links do menu no hover: MARROM MÉDIO */
}

.uk-navbar-nav > li.uk-active > a {
    color: var(--primary-color) !important; /* Link ativo do menu: MARROM MÉDIO */
    border-bottom: 3px solid var(--primary-color); /* Linha do link ativo: MARROM MÉDIO */
    padding-bottom: 5px;
}

/* --- Seções Principais (Main Content) --- */
.uk-section-default {
    background-color: var(--background-light); /* Fundo das seções: CAMURÇA CLARO */
    padding: 80px 0; /* Mais espaçamento para um visual clean */
}

/* Títulos da Página (H1, H2) */
.uk-heading-medium, .uk-heading-large {
    font-family: 'Playfair Display', serif;
    color: var(--secondary-color); /* Títulos H1/H2: MARROM ESCURO */
    font-weight: 700;
    letter-spacing: 1.5px;
    line-height: 1.2;
}

.uk-heading-medium {
    font-size: 3.2rem; /* Título principal da home */
}

.uk-heading-large {
    font-size: 3.8rem; /* Título principal do cardápio */
}

.cafe-name {
    color: var(--primary-color); /* Nome do café em destaque: MARROM MÉDIO */
}

.frase-inspiradora {
    font-style: italic;
    color: var(--secondary-color); /* Frase inspiradora: MARROM ESCURO */
    margin-top: 25px;
    margin-bottom: 60px; /* Mais espaço abaixo da frase */
    font-size: 1.2rem;
}

/* Cards de Informação (Página Conheça) */
.card-info {
    background-color: var(--card-background); /* Fundo do card: BRANCO */
    border-radius: 12px;
    box-shadow: 0 6px 20px var(--shadow-color); /* Sombra mais destacada */
    transition: all 0.3s ease;
    padding: 40px; /* Mais padding interno */
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.card-info:hover {
    transform: translateY(-10px); /* Efeito de elevação mais pronunciado */
    box-shadow: 0 12px 30px rgba(0,0,0,0.15); /* Sombra mais escura no hover */
}

.card-info .uk-icon {
    color: var(--primary-color); /* Ícones nos cards de info: MARROM MÉDIO */
    margin-bottom: 20px;
}

.card-info .uk-card-title {
    color: var(--secondary-color); /* Título do card de info: MARROM ESCURO */
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    margin-bottom: 10px;
    font-weight: 600;
}
.card-info .uk-text-meta {
    color: var(--secondary-color); /* Texto meta nos cards de info: MARROM ESCURO */
    font-size: 1rem;
    margin-bottom: 20px;
}
.card-info .uk-text-lead.uk-text-bold {
    color: var(--secondary-color); /* Preços/textos em destaque nos cards de info: MARROM ESCURO */
    font-size: 1.5rem;
    margin-top: 15px;
    font-weight: 700;
}


/* Cards de Categoria (Página Conheça - "Descubra Nossos Sabores") */
.card-category {
    background-color: var(--card-background); /* Fundo do card: BRANCO */
    border-radius: 12px;
    box-shadow: 0 4px 15px var(--shadow-color);
    transition: all 0.3s ease;
    padding: 30px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.card-category:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.card-category .uk-icon {
    color: var(--primary-color); /* Ícones nos cards de categoria: MARROM MÉDIO */
    margin-bottom: 15px;
}
.card-category .uk-card-title {
    color: var(--secondary-color); /* Título do card de categoria: MARROM ESCURO */
    font-family: 'Playfair Display', serif;
    font-size: 1.4rem;
    margin-bottom: 10px;
    font-weight: 600;
}
.card-category .uk-text-meta {
    color: var(--secondary-color); /* Texto meta nos cards de categoria: MARROM ESCURO */
    font-size: 1rem;
    margin-bottom: 20px;
}


/* Botões */
.uk-button-primary {
    background-color: var(--primary-color) !important; /* Fundo do botão primário: MARROM MÉDIO */
    color: var(--text-light-color) !important; /* Texto do botão primário: CAMURÇA CLARO */
    border-radius: 30px;
    padding: 12px 30px;
    font-weight: 600;
    transition: background-color 0.3s ease, transform 0.2s ease;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.uk-button-primary:hover {
    background-color: var(--secondary-color) !important; /* Botão primário no hover: MARROM ESCURO */
    transform: translateY(-2px);
}

.uk-button-instagram {
    background-color: #E1306C !important; /* Cor do Instagram */
    color: var(--text-light-color) !important;
    border-radius: 30px;
    padding: 12px 30px;
    font-weight: 600;
    transition: background-color 0.3s ease, transform 0.2s ease;
    text-transform: uppercase;
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
}

.uk-button-instagram:hover {
    background-color: #C1205C !important;
    transform: translateY(-2px);
}

.uk-button-text {
    color: var(--primary-color) !important; /* Botão de texto: MARROM MÉDIO */
    font-weight: 600;
    transition: color 0.3s ease;
    text-transform: uppercase;
}

.uk-button-text:hover {
    color: var(--secondary-color) !important; /* Botão de texto no hover: MARROM ESCURO */
}

/* Ícones Sociais (na seção "Conecte-se Conosco" na Home e no Rodapé) */
.social-icon-insta {
    background-color: #E1306C !important; /* Cor do Instagram */
    color: #fff !important; /* Cor do ícone (branco) */
    width: 60px;
    height: 60px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50% !important;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.social-icon-insta:hover {
    background-color: #C13584 !important; /* Tom mais escuro do Instagram no hover */
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

.social-icon-whatsapp {
    background-color: #25D366 !important; /* Cor do WhatsApp */
    color: #fff !important; /* Cor do ícone (branco) */
    width: 60px;
    height: 60px;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    border-radius: 50% !important;
    transition: background-color 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.social-icon-whatsapp:hover {
    background-color: #128C7E !important; /* Tom mais escuro do WhatsApp no hover */
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}

/* Ajuste o tamanho do ícone SVG dentro do botão */
.social-icon-insta > svg,
.social-icon-whatsapp > svg {
    width: 32px;
    height: 32px;
}

/* Remova qualquer estilo de botão padrão do UIkit que possa interferir nos ícones sociais */
.uk-button.social-icon-insta,
.uk-button.social-icon-whatsapp {
    padding: 0;
    line-height: 1;
    border: none !important;
}


/* --- Estilos para Títulos de Categoria (Linha Divisória) --- */
.uk-heading-line {
    border-bottom: 1px solid var(--border-color); /* Linha divisória suave */
    text-align: center;
    margin-bottom: 40px; /* Espaço abaixo de toda a linha do título */
    position: relative; /* Pai para o span absoluto */
    padding-top: 25px; /* Aumenta o espaço do TOP para acomodar o texto acima da linha */
    padding-bottom: 15px; /* Aumenta o espaço do BOTTOM para garantir que o texto não corte A LINHA */
    box-sizing: border-box; /* Garante que padding e border não aumentem a largura total */
}

.uk-heading-line > span {
    background-color: var(--background-light); /* Fundo do texto para "esconder" a linha por trás: CAMURÇA CLARO */
    padding: 0 20px;
    color: var(--primary-color); /* Título da categoria: MARROM MÉDIO */
    font-family: 'Playfair Display', serif;
    font-weight: 600;
    text-transform: uppercase;
    position: absolute;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    top: 50%;
    font-size: 1.8rem;
    white-space: normal;
    line-height: 1.3;
    z-index: 1;
    display: inline-block;
    min-width: 50%;
    box-sizing: border-box;
}


/* Estilo para os Cards de Itens do Cardápio */
.uk-card.uk-card-default.uk-card-hover.uk-card-body {
    background-color: var(--card-background); /* Fundo do card: BRANCO */
    border-radius: 12px;
    box-shadow: 0 4px 15px var(--shadow-color);
    transition: all 0.3s ease;
    padding: 25px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    text-align: center;
}

.uk-card-hover:hover {
    transform: translateY(-8px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.12); /* Sombra mais escura no hover */
}

.cardapio-item-img {
    width: 100%;
    height: auto;
    object-fit: contain;
    max-height: 160px;
    display: block;
    border-radius: 10px;
    margin-bottom: 18px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

.uk-card-title {
    color: var(--secondary-color) !important; /* **Título do produto: FORÇADO para MARROM ESCURO** */
    font-weight: 700;
    font-size: 1.4rem;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.uk-text-meta {
    color: var(--secondary-color) !important; /* **Descrição do produto: FORÇADO para MARROM ESCURO** */
    font-size: 0.95em;
    flex-grow: 1;
    margin-bottom: 12px;
}

.uk-text-lead.uk-text-bold {
    color: var(--secondary-color) !important; /* **Preço do produto: FORÇADO para MARROM ESCURO** */
    font-size: 1.5rem;
    margin-top: 15px;
    font-weight: 700;
}

.uk-alert-primary {
    background-color: rgba(74, 60, 50, 0.1); /* Fundo do alerta: MARROM ESCURO com opacidade */
    border-left: 5px solid var(--secondary-color); /* Borda do alerta: MARROM ESCURO */
    color: var(--secondary-color); /* Texto do alerta: MARROM ESCURO */
    border-radius: 8px;
    padding: 25px;
    margin-top: 70px;
    font-size: 1.1rem;
    line-height: 1.5;
}
.uk-alert-primary .uk-icon {
    color: var(--secondary-color); /* Ícone do alerta: MARROM ESCURO */
    margin-right: 10px;
}
.uk-alert-primary .uk-button-link {
    color: var(--secondary-color) !important; /* Link do alerta: MARROM ESCURO */
    font-weight: 600;
    text-decoration: underline;
    text-transform: none;
}
.uk-alert-primary .uk-button-link:hover {
    color: var(--primary-color) !important; /* Link do alerta no hover: MARROM MÉDIO */
}


/* --- Rodapé (Footer) --- */
footer.uk-section-secondary {
    background-color: var(--secondary-color) !important; /* Fundo do rodapé: MARROM ESCURO */
    color: var(--text-light-color); /* Texto do rodapé: CAMURÇA CLARO */
    padding: 30px 0;
}

footer p {
    font-size: 0.9em;
    opacity: 0.8;
}

/* --- Responsividade (Ajustes finos para diferentes telas) --- */

/* Telas maiores (desktops) */
@media (min-width: 1200px) {
    .uk-heading-medium {
        font-size: 3.5rem;
    }
    .uk-heading-large {
        font-size: 4rem;
    }
}

/* Tablets e telas médias (geralmente entre 960px e 1199px) */
@media (max-width: 1199px) and (min-width: 960px) {
    .uk-heading-medium {
        font-size: 2.8rem;
    }
    .uk-heading-large {
        font-size: 3.2rem;
    }
    .card-info, .card-category {
        padding: 35px;
    }
    .cardapio-item-img {
        max-width: 180px;
        height: 130px;
    }
    .uk-card-title {
        font-size: 1.3rem;
    }
    .uk-text-meta {
        font-size: 0.9em; /* Ajuste para caber melhor em telas pequenas */
    }
    .uk-text-lead.uk-text-bold {
        font-size: 1.4rem;
    }
    .uk-heading-line > span {
        font-size: 1.6rem;
        white-space: normal; /* Permite quebra de linha para caber */
    }
}

/* Tablets e telas pequenas (geralmente entre 640px e 959px) */
@media (max-width: 959px) and (min-width: 640px) {
    .uk-heading-medium {
        font-size: 2.4rem;
    }
    .uk-heading-large {
        font-size: 2.8rem;
    }
    .card-info, .card-category {
        padding: 30px;
    }
    .cardapio-item-img {
        max-width: 150px;
        height: 120px;
    }
    .uk-card-title {
        font-size: 1.2rem;
    }
    .uk-text-meta { /* Ajusta o tamanho da fonte da descrição para caber melhor */
        font-size: 0.85em;
    }
    .uk-text-lead.uk-text-bold {
        font-size: 1.3rem;
    }
    .uk-heading-line {
        padding-top: 25px; /* Ajuste para ter mais espaço */
    }
    .uk-heading-line > span {
        font-size: 1.5rem;
        padding: 0 15px;
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        white-space: normal; /* Permite quebra de linha */
        text-wrap: balance;
    }
    /* Cards de informação na home agora em 2 colunas */
    .uk-grid-match.uk-child-width-1-3\@m > div,
    .uk-grid-match.uk-child-width-1-2\@s > div {
        width: 50% !important; /* Força 2 colunas */
    }
}


/* Celulares (telas menores que 640px) */
@media (max-width: 639px) {
    .uk-heading-medium {
        font-size: 2rem;
        margin-bottom: 30px !important;
    }
    .uk-heading-large {
        font-size: 2.3rem;
        margin-bottom: 30px !important;
    }
    .uk-text-large {
        font-size: 1rem;
    }
    .frase-inspiradora {
        margin-bottom: 40px;
    }
    .uk-logo img.logo-principal {
        max-height: 50px;
    }
    .uk-navbar-nav {
        flex-direction: column;
        margin-top: 10px;
    }
    .uk-navbar-nav > li {
        margin-bottom: 5px;
    }
    /* Em celulares, todos os cards em 1 coluna */
    .uk-grid-match > div {
        width: 100% !important;
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    .uk-card {
        margin-bottom: 25px;
    }
    .card-info, .card-category {
        padding: 25px;
    }
    .cardapio-item-img {
        max-width: 120px;
        height: 100px;
    }
    .uk-card-title {
        font-size: 1.1rem;
    }
    .uk-text-meta {
        font-size: 0.85em; /* Ajuste para caber melhor em telas pequenas */
    }
    .uk-text-lead.uk-text-bold {
        font-size: 1.2rem;
    }
    .uk-heading-line {
        padding-top: 35px; /* AUMENTADO MAIS UMA VEZ para garantir mais espaço na vertical para o texto em celulares */
        margin-bottom: 30px; /* Ajusta a margem inferior para o texto não ficar colado */
    }
    .uk-heading-line > span {
        font-size: 1.2rem;
        padding: 0 10px;
        top: 50%;
        transform: translateX(-50%) translateY(-50%);
        white-space: normal; /* Permite quebrar a linha */
        text-wrap: balance;
    }
    .uk-alert-primary {
        padding: 20px;
        margin-top: 40px;
        font-size: 0.95rem;
    }
    .social-icon {
        width: 50px;
        height: 50px;
    }
}