/* ---- VARIÁVEIS GLOBAIS (RAIZ) ---- */
:root {
    --roxo-principal: #A086C4;
    --lavanda-claro: #E8E2F2;
    --cinza-escuro: #4A4A4A;
    --branco: #FFFFFF;
    --sombra: rgba(0, 0, 0, 0.1);

    --fonte-titulos: 'Pacifico', cursive;
    --fonte-corpo: 'Poppins', sans-serif;
}

/* ---- RESET BÁSICO E ESTILOS GLOBAIS ---- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: var(--fonte-corpo);
    background-color: var(--lavanda-claro); /* CORRIGIDO */
    color: var(--cinza-escuro); /* CORRIGIDO */
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    padding: 20px;
}

/* ---- CONTAINER PRINCIPAL ---- */
.cardapio-container {
    width: 100%;
    max-width: 500px;
    background-color: var(--branco);
    border-radius: 15px;
    box-shadow: 0 4px 15px var(--sombra);
    padding: 25px;
    border: 2px solid var(--cinza-escuro); /* CORRIGIDO */
}

/* ---- ESTILOS DE TEXTO ---- */
h1, h2 {
    font-family: var(--fonte-titulos);
    color: var(--roxo-principal); 
    text-align: center;
    margin-bottom: 10px;
}

h2 {
    font-size: 2.2em;
}

h5 {
    font-size: 0.7em;
    margin-bottom: 20px;
    text-align: center;
    color: var(--cinza-escuro); 
}

.secao-escolha small {
    display: block;
    text-align: center;
    margin-bottom: 20px;
    font-size: 0.9em;
}

/* ---- LISTA DE OPÇÕES (BASE) ---- */
.lista-opcoes {
    list-style: none;
    margin-bottom: 30px;
}

.lista-opcoes li {
    padding: 12px 15px;
    margin-bottom: 8px;
    border: 2px solid var(--lavanda-claro); /* CORRIGIDO */
    border-radius: 8px;
    cursor: pointer;
    transition: all 0.2s ease-in-out;
}

.lista-opcoes li:hover {
    transform: scale(1.03);
    border-color: var(--roxo-principal); /* CORRIGIDO */
}

.lista-opcoes li.selecionado {
    background-color: var(--lavanda-claro); /* CORRIGIDO */
    border-color: var(--roxo-principal); /* CORRIGIDO */
    font-weight: 600;
}

/* ---- RODAPÉ E RESUMO ---- */
footer {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 2px dashed var(--lavanda-claro); /* CORRIGIDO */
}

#resumo-pedido {
    margin-bottom: 20px;
}

#resumo-pedido h3 {
    font-family: var(--fonte-corpo);
    font-weight: 600;
    font-size: 1.1em;
    color: var(--cinza-escuro); /* CORRIGIDO */
    text-align: left;
    margin-bottom: 10px;
}

.total-linha {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 1.4em;
    font-weight: 700;
}

#preco-total {
    color: var(--roxo-principal); /* CORRIGIDO */
}

#btn-whatsapp {
    width: 100%;
    background-color: var(--roxo-principal);
    color: var(--branco);
    font-family: var(--fonte-corpo);
    font-size: 1.1em;
    font-weight: 700;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
    padding: 15px;
    border: none;
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

#btn-whatsapp:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 15px rgba(160, 134, 196, 0.4);
}

#btn-whatsapp .fa-whatsapp {
    font-size: 1.4em;
}

/* ---- LAYOUT COM FLEXBOX ---- */
header {
    display: flex;
    justify-content: space-between; 
    align-items: center;
    gap: 20px; 
    margin-bottom: 25px;
    padding-bottom: 15px;
    border-bottom: 2px dashed var(--lavanda-claro);
}

.logo {
    text-align: center;
}

.info-contato {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    font-size: 0.9em;
}

.opcoes-colunas {
    display: flex;
    gap: 20px;
}

.opcoes-colunas > section {
    flex: 1;
}

.info-contato a {
    color: inherit; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 8px; 
    transition: color 0.2s ease; 
}

.info-contato a:hover {
    color: var(--roxo-principal); 
}

.category-image {
    width: 100%;
    height: 250px; 
    object-fit: contain; 
    border-radius: 12px;
    margin-bottom: 15px;
    border: 3px solid #fff;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
    background-color: #f0f0f0; 
}

@media (max-width: 700px) {

    .cardapio-container {
        padding: 15px;
    }

    header {
        flex-direction: column; 
        align-items: center;    
        gap: 20px;              
    }

    .info-contato {
        align-items: center;   
        text-align: center;     
    }
    .logo img {
        width: 160px;
    }

    h2 {
        font-size: 2em;
    }
}