:root {
    --fundo-escuro: #242227;
    --amarelo: #FFB701;
    --amarelo-escuro: #E5A500;
    --branco: #FFFFFF;
    --cinza-claro: #E0E0E2;
    --cinza-medio: #666666;
    --cinza-escuro: #333333;
    --fundo-claro: #F5F5F5;
    --fundo-card: #FFFFFF;
    --borda-clara: #E0E0E0;
    --vermelho: #C0392B;
    --vermelho-claro: #E63946;
    --verde: #25D366;
    
    /* Cores por categoria */
    --acai-roxo: #6C3A8A;
    --acai-roxo-escuro: #4A1D6D;
    --xis-vermelho: #C62828;
    --xis-vermelho-escuro: #8B0000;
    --hotdog-laranja: #FF8C00;
    --hotdog-laranja-escuro: #E67E00;
}

* { margin: 0; padding: 0; box-sizing: border-box; }

body {
    font-family: 'Poppins', 'Segoe UI', sans-serif;
    background: var(--fundo-claro);
    min-height: 100vh;
    padding-bottom: 140px;
    color: var(--cinza-escuro);
}

/* ============ CAPA ============ */
.capa {
    position: relative;
    background: linear-gradient(180deg, #1A1A1A 0%, #242227 100%);
    padding: 15px 20px 10px !important;
    text-align: center;
    overflow: hidden;
    border-bottom: 2px solid var(--amarelo);
    border-radius: 0 0 25px 25px;
}

.capa::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0; bottom: 0;
    background: radial-gradient(circle at center, rgba(255,183,1,0.08), transparent 70%);
    z-index: 0;
}

.capa-conteudo { position: relative; z-index: 1; }

/* ============ CAPA COMPACTA COM LOGO GRANDE ============ */
.capa-logo-container {
    width: 180px !important;
    height: 180px !important;
    border-radius: 50% !important;
    margin: 5px auto !important;
    border: 3px solid var(--amarelo) !important;
    overflow: hidden !important;
    box-shadow: 0 8px 30px rgba(255,183,1,0.25) !important;
    background: var(--fundo-escuro) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.capa-logo-container img { 
    width: 100% !important; 
    height: 100% !important; 
    object-fit: cover !important; 
}

.capa h1 {
    display: none !important;
}

.capa .slogan {
    margin-top: 5px !important;
    font-size: 0.8rem !important;
    color: #CCCCCC !important; /* Cinza claro */
}
/* ============ SELO DE HORÁRIO ============ */
.horario-header {
    position: absolute; top: 10px; right: 10px;
    background: rgba(36,34,39,0.95);
    backdrop-filter: blur(6px);
    padding: 6px 8px; border-radius: 12px;
    width: 60px; height: 60px;
    display: flex; flex-direction: column;
    align-items: center; justify-content: center; gap: 1px;
    color: var(--branco);
    border: 1.5px solid rgba(255,255,255,0.2);
    z-index: 20; text-align: center;
    box-shadow: 0 4px 20px rgba(0,0,0,0.5);
}

.horario-header i { font-size: 0.9rem; color: var(--amarelo); }

.horario-header .status-text {
    font-size: 0.5rem; font-weight: 800;
    text-transform: uppercase; letter-spacing: 1px;
}
.horario-header .status-text.aberto { color: #2ecc71; }
.horario-header .status-text.fechado { color: var(--vermelho-claro); }

.horario-header .horario-text {
    font-size: 0.45rem; font-weight: 700;
    color: var(--cinza-claro); white-space: nowrap;
}

/* ============ ABAS ============ */
.abas {
    display: flex; gap: 8px; padding: 15px;
    justify-content: center; background: var(--fundo-claro);
    flex-wrap: wrap;
}

.aba-btn {
    padding: 13px 30px; border: 1.5px solid var(--borda-clara);
    background: var(--branco); border-radius: 30px;
    cursor: pointer; font-weight: 700; color: var(--cinza-escuro);
    font-size: 0.9rem; transition: all 0.3s; letter-spacing: 0.5px;
    font-family: 'Poppins', sans-serif;
}

.aba-btn.ativa {
    background: var(--amarelo); color: #1A1A1A;
    border-color: var(--amarelo);
    box-shadow: 0 5px 20px rgba(255,183,1,0.3);
}

.aba-btn:hover { border-color: var(--amarelo); }

/* ============ CONTEÚDO DAS ABAS ============ */
.tab-conteudo { display: none; }
.tab-conteudo.ativo { display: block; }

/* ============ CARDS DE PRODUTOS ============ */
.produtos-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 14px; padding: 20px;
    background: var(--fundo-claro);
}

.produto-card {
    background: var(--fundo-card); border-radius: 18px;
    padding: 20px; cursor: pointer; transition: all 0.3s;
    border: 1px solid var(--borda-clara);
    position: relative; overflow: hidden;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}

.produto-card.acai-card { border-left: 4px solid var(--acai-roxo); }
.produto-card.xis-card { border-left: 4px solid var(--xis-vermelho); }
.produto-card.hotdog-card { border-left: 4px solid var(--hotdog-laranja); }

.produto-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 25px rgba(0,0,0,0.12);
    border-color: var(--amarelo);
}

.produto-card h3 {
    font-size: 1.15rem; font-weight: 800;
    margin-bottom: 8px; letter-spacing: 0.5px;
}

.acai-card h3 { color: var(--acai-roxo); }
.xis-card h3 { color: var(--xis-vermelho); }
.hotdog-card h3 { color: var(--hotdog-laranja); }

.produto-descricao {
    color: var(--cinza-medio); font-size: 0.78rem;
    margin-bottom: 14px; line-height: 1.5;
}

.acai-card .produto-preco { color: var(--acai-roxo); }
.xis-card .produto-preco { color: var(--xis-vermelho); }
.hotdog-card .produto-preco { color: var(--hotdog-laranja); }

.produto-preco {
    font-size: 1.7rem; font-weight: 900;
    margin-bottom: 12px;
}

.btn-add {
    color: var(--branco);
    border: none; padding: 11px 25px; border-radius: 25px;
    cursor: pointer; font-weight: 700; font-size: 0.85rem;
    transition: all 0.3s; width: 100%;
    letter-spacing: 0.5px; text-transform: uppercase;
    font-family: 'Poppins', sans-serif;
}

.btn-add.btn-acai { background: var(--acai-roxo); }
.btn-add.btn-acai:hover { background: var(--acai-roxo-escuro); box-shadow: 0 5px 15px rgba(108,58,138,0.4); }

.btn-add.btn-xis { background: var(--xis-vermelho); }
.btn-add.btn-xis:hover { background: var(--xis-vermelho-escuro); box-shadow: 0 5px 15px rgba(198,40,40,0.4); }

.btn-add.btn-hotdog { background: var(--hotdog-laranja); }
.btn-add.btn-hotdog:hover { background: var(--hotdog-laranja-escuro); box-shadow: 0 5px 15px rgba(255,140,0,0.4); }

.btn-add:hover { transform: scale(1.02); }

/* ============ CARRINHO ============ */
.carrinho-float {
    position: fixed; bottom: 20px; left: 20px; right: 20px;
    background: var(--fundo-escuro); border-radius: 25px;
    box-shadow: 0 -5px 30px rgba(0,0,0,0.6);
    z-index: 100; border: 1px solid rgba(255,255,255,0.2);
    overflow: hidden; transition: all 0.3s ease;
}

.carrinho-float.minimizado .carrinho-itens-container,
.carrinho-float.minimizado .carrinho-footer,
.carrinho-float.minimizado .btn-finalizar { display: none; }

.carrinho-float.minimizado {
    left: auto; right: 20px; width: auto;
    min-width: 56px; border-radius: 28px;
}

.carrinho-header {
    display: flex; justify-content: space-between;
    align-items: center; padding: 15px 20px;
    cursor: pointer; user-select: none;
}

.carrinho-header .titulo {
    font-weight: 700; color: var(--branco);
    font-size: 1rem; display: flex; align-items: center; gap: 8px;
}

.qtd-badge {
    background: var(--branco);
    color: #1A1A1A;
    min-width: 28px; height: 28px; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 0.85rem; font-weight: 900; padding: 0 6px;
    display: none;
}

.toggle-btn {
    background: var(--branco);
    color: #1A1A1A;
    border: none; width: 32px; height: 32px;
    border-radius: 50%; cursor: pointer;
    font-size: 1rem; display: flex;
    align-items: center; justify-content: center;
    transition: transform 0.3s; font-weight: 700;
}

.carrinho-itens-container {
    max-height: 0; overflow: hidden;
    transition: max-height 0.4s ease;
    background: #1E1C21;
}

.carrinho-itens-container.ativo {
    max-height: 350px; overflow-y: auto;
}

.carrinho-item-lista { padding: 5px 20px; }

.carrinho-item-lista .item {
    display: flex; align-items: center;
    justify-content: space-between; padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,0.15);
    gap: 10px;
}

.carrinho-item-lista .item .info { flex: 1; min-width: 0; }
.carrinho-item-lista .item .info .nome {
    color: var(--branco);
    font-size: 0.9rem;
    font-weight: 600; overflow: hidden; text-overflow: ellipsis;
}
.carrinho-item-lista .item .info .qtd {
    color: var(--cinza-claro); font-size: 0.75rem;
}
.carrinho-item-lista .item .preco-item {
    color: var(--branco);
    font-weight: 700; font-size: 0.95rem; white-space: nowrap;
}
.carrinho-item-lista .item .btn-lixeira {
    background: transparent; color: var(--branco);
    border: none; cursor: pointer; font-size: 1rem;
    padding: 6px; transition: all 0.2s; flex-shrink: 0;
}
.carrinho-item-lista .item .btn-lixeira:hover { color: #ff4444; transform: scale(1.2); }

.carrinho-footer {
    display: flex; justify-content: space-between;
    align-items: center; padding: 15px 20px;
    border-top: 1px solid rgba(255,255,255,0.2);
}
.carrinho-footer .total-label { color: var(--cinza-claro); font-size: 0.9rem; }
.carrinho-footer .total-valor { color: var(--branco); font-weight: 900; font-size: 1.3rem; }

.btn-finalizar {
    display: block; width: calc(100% - 40px); margin: 0 20px 15px;
    background: var(--verde); color: var(--branco); border: none;
    padding: 14px; border-radius: 25px; font-weight: 700;
    cursor: pointer; font-size: 1rem; transition: all 0.3s;
    text-transform: uppercase; letter-spacing: 1px;
    font-family: 'Poppins', sans-serif;
}
.btn-finalizar:hover { background: #27ae60; transform: scale(1.02); }

/* ============ WHATSAPP FLUTUANTE ============ */
.whatsapp-float {
    position: fixed; bottom: 110px; left: 20px;
    width: 58px; height: 58px; background: var(--verde);
    color: var(--branco); border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 1.9rem; text-decoration: none;
    box-shadow: 0 4px 20px rgba(37,211,102,0.5);
    z-index: 99; transition: all 0.3s;
    animation: pulse-whatsapp 2s infinite;
}

@keyframes pulse-whatsapp {
    0%,100%{box-shadow:0 4px 20px rgba(37,211,102,0.5)}
    50%{box-shadow:0 4px 35px rgba(37,211,102,0.8)}
}
.whatsapp-float:hover { transform: scale(1.1); }
.whatsapp-float.escondido { display: none !important; }

/* ============ MODAL ============ */
.modal-overlay {
    display: none; position: fixed;
    top: 0; left: 0; right: 0; bottom: 0;
    background: rgba(0,0,0,0.8); z-index: 2000;
    justify-content: center; align-items: center; padding: 20px;
}
.modal-overlay.ativo { display: flex; }

.modal-conteudo {
    background: var(--branco); border-radius: 25px;
    padding: 30px; width: 100%; max-width: 500px;
    max-height: 85vh; overflow-y: auto;
    box-shadow: 0 20px 40px rgba(0,0,0,0.3);
}

.modal-conteudo h2 {
    color: #1A1A1A; text-align: center;
    margin-bottom: 20px; font-size: 1.4rem; font-weight: 800;
}

.btn-fechar-modal {
    float: right; background: var(--vermelho); color: var(--branco);
    border: none; width: 32px; height: 32px; border-radius: 50%;
    cursor: pointer; font-size: 1rem; display: flex;
    align-items: center; justify-content: center; font-weight: 700;
}

.form-group { margin-bottom: 14px; }
.form-group label {
    display: block; margin-bottom: 5px;
    font-weight: 600; color: #1A1A1A; font-size: 0.85rem;
}
.form-group input, .form-group select, .form-group textarea {
    width: 100%; padding: 13px; border: 1.5px solid var(--borda-clara);
    border-radius: 12px; font-size: 0.95rem; font-family: 'Poppins', sans-serif;
    background: var(--branco); color: #1A1A1A; transition: all 0.3s;
}
.form-group input:focus, .form-group select:focus, .form-group textarea:focus {
    outline: none; border-color: var(--amarelo); background: #FFFDF5;
}

.btn-enviar {
    background: var(--verde); color: var(--branco);
    border: none; padding: 15px; border-radius: 12px;
    width: 100%; font-size: 1.05rem; font-weight: 700;
    cursor: pointer; transition: all 0.3s;
    display: flex; align-items: center; justify-content: center;
    gap: 10px; text-transform: uppercase; letter-spacing: 1px;
    font-family: 'Poppins', sans-serif;
}
.btn-enviar:hover { background: #1ebd57; transform: scale(1.02); }

/* ============ ACOMPANHAMENTOS AÇAÍ ============ */
.acompanhamentos-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 6px; margin-bottom: 15px;
}
.acompanhamento-item {
    background: #f5f5f5; border: 1.5px solid #ddd;
    border-radius: 8px; padding: 8px; text-align: center;
    cursor: pointer; font-size: 0.7rem; font-weight: 600;
    transition: all 0.2s;
}
.acompanhamento-item.selecionado { background: var(--acai-roxo); color: white; border-color: var(--acai-roxo-escuro); }
.acompanhamento-item.limite-atingido { opacity: 0.4; pointer-events: none; }

.adicionais-extras {
    background: #FFFDF5; border: 1px dashed var(--amarelo);
    border-radius: 10px; padding: 12px; margin-bottom: 15px;
}
.adicionais-extras h4 { color: var(--amarelo); margin-bottom: 8px; text-align: center; }
.adicional-extra-item {
    display: flex; justify-content: space-between; align-items: center;
    padding: 6px 0; border-bottom: 1px solid #eee;
}
.adicional-extra-item button {
    background: var(--acai-roxo); color: white; border: none;
    padding: 5px 10px; border-radius: 5px; cursor: pointer; font-size: 0.75rem;
}

.montagem-resumo {
    background: #1A1A1A; color: white; padding: 12px;
    border-radius: 10px; text-align: center; margin-bottom: 12px;
}
.montagem-resumo strong { color: #25D366; font-size: 1.2rem; }

.montagem-botoes { display: flex; gap: 8px; }
.montagem-botoes .btn-cancel {
    flex: 1; background: #ccc; color: #1A1A1A;
    border: none; padding: 12px; border-radius: 10px;
    font-weight: 700; cursor: pointer; font-family: 'Poppins', sans-serif;
}
.montagem-botoes .btn-confirm {
    flex: 2; background: #25D366; color: white;
    border: none; padding: 12px; border-radius: 10px;
    font-weight: 700; cursor: pointer; font-family: 'Poppins', sans-serif;
}

/* ============ NOTIFICAÇÃO ============ */
.notificacao-flutuante {
    position: fixed; top: 20px; left: 50%;
    transform: translateX(-50%) translateY(-120px);
    background: #1A1A1A; color: white;
    padding: 10px 20px; border-radius: 50px;
    font-weight: 700; font-size: 0.9rem; z-index: 9999;
    display: flex; align-items: center; gap: 8px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.4);
    border: 2px solid #25D366;
    opacity: 0; transition: all 0.3s cubic-bezier(0.68, -0.55, 0.27, 1.55);
    pointer-events: none; white-space: nowrap;
    font-family: 'Poppins', sans-serif;
}
.notificacao-flutuante.show { transform: translateX(-50%) translateY(0); opacity: 1; }
.notificacao-flutuante i { color: #25D366; font-size: 1.1rem; }

/* ============ PROMO CARD ============ */
.promo-card {
    background: linear-gradient(145deg, #1A1A1A 0%, #2c2c2c 100%);
    border-radius: 18px; margin: 15px 20px; padding: 15px;
    display: flex; align-items: center; gap: 15px;
    color: white; border-left: 8px solid var(--amarelo);
    box-shadow: 0 8px 20px rgba(0,0,0,0.3);
    cursor: pointer; transition: all 0.3s ease;
}
.promo-card:hover { transform: translateY(-3px); box-shadow: 0 12px 25px rgba(0,0,0,0.4); }
.promo-card img {
    width: 70px; height: 70px; border-radius: 50%;
    object-fit: cover; border: 3px solid var(--amarelo);
}
.promo-info { flex: 1; }
.promo-info h3 { color: var(--amarelo); margin-bottom: 3px; font-size: 1.2rem; }
.promo-info p { color: #ddd; font-size: 0.85rem; margin-bottom: 5px; }
.promo-preco { font-weight: 800; font-size: 1.3rem; color: #25D366; }
.btn-obter {
    background: #25D366; color: white; border: none;
    padding: 10px 18px; border-radius: 25px;
    font-weight: 800; font-size: 0.85rem;
    box-shadow: 0 4px 0 #128C7E; cursor: pointer;
    display: flex; align-items: center; gap: 5px;
    transition: all 0.1s; white-space: nowrap;
    font-family: 'Poppins', sans-serif;
}
.btn-obter:active { transform: translateY(4px); box-shadow: none; }

/* ============ RESPONSIVO ============ */
@media (max-width: 600px) {
    .produtos-grid { grid-template-columns: 1fr; padding: 10px; }
    .capa { padding: 12px 15px 8px !important; }
    .capa-logo-container { width: 140px !important; height: 140px !important; }
    .horario-header { width: 50px; height: 50px; top: 5px; right: 5px; }
    .whatsapp-float { bottom: 100px; left: 15px; width: 50px; height: 50px; font-size: 1.5rem; }
    .carrinho-float { left: 10px; right: 10px; bottom: 10px; }
    .abas { padding: 10px; }
    .aba-btn { padding: 10px 22px; font-size: 0.8rem; }
    .acompanhamentos-grid { grid-template-columns: repeat(2, 1fr); }
}