:root{
    --tp-red:#e10a17;
    --tp-red-dark:#a80812;
    --tp-green:#1b7a2f;
    --tp-green-dark:#14591f;
    --tp-black:#0b0b0b;
    --tp-cream:#fff8f1;
    --tp-ink:#1c1c1c;
    --tp-line:#eadfd3;
}

body.menu-page{background:var(--tp-cream);color:var(--tp-ink)}

.sr-only{
    position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* Header */
body.menu-page .public-header{
    background:var(--tp-black);
    border-bottom:4px solid var(--tp-red);
    box-shadow:0 4px 14px rgba(0,0,0,.25);
}
body.menu-page .menu-header-inner{
    display:flex;justify-content:center;align-items:center;padding:.4rem 1rem;
}
body.menu-page .public-brand{display:flex;align-items:center;justify-content:center}
body.menu-page .brand-logo{height:72px;width:auto;display:block}

/* Hero */
body.menu-page .menu-hero{
    background:linear-gradient(135deg,var(--tp-red-dark),var(--tp-red));
    color:#fff;
    border-radius:20px;
    box-shadow:0 10px 24px rgba(225,10,23,.25);
}
body.menu-page .menu-hero h1{color:#fff}
body.menu-page .menu-hero p{color:rgba(255,255,255,.92)}
body.menu-page .hero-kicker{color:#fff;opacity:.9;letter-spacing:.08em}
body.menu-page .hero-icon{background:#fff;color:var(--tp-green)}
body.menu-page .hero-decor{color:rgba(255,255,255,.15)}

/* Busca e filtros */
body.menu-page .search-field{
    background:#fff;border:2px solid var(--tp-line);color:var(--tp-green);
}
body.menu-page .search-field:focus-within{border-color:var(--tp-green)}
body.menu-page .search-field input{color:var(--tp-ink);background:transparent}

body.menu-page .filter-chip{
    background:#fff;color:var(--tp-green-dark);
    border:2px solid var(--tp-green);font-weight:700;
}
body.menu-page .filter-chip:hover,
body.menu-page .filter-chip.active{
    background:var(--tp-green);color:#fff;border-color:var(--tp-green);
}

/* Títulos de seção */
body.menu-page .eyebrow{color:var(--tp-green);font-weight:800}
body.menu-page .section-heading h2{color:var(--tp-ink)}
body.menu-page .product-count{background:var(--tp-black);color:#fff}

/* Cards */
body.menu-page .product-card{
    background:#fff;border:1px solid var(--tp-line);border-radius:16px;
    overflow:hidden;transition:transform .15s,box-shadow .15s,border-color .15s;
}
body.menu-page .product-card:hover{
    transform:translateY(-3px);border-color:var(--tp-red);
    box-shadow:0 10px 22px rgba(0,0,0,.12);
}
body.menu-page .product-category{background:var(--tp-green);color:#fff}
body.menu-page .product-no-image{background:#f6efe7;color:var(--tp-green)}
body.menu-page .product-body h3{color:var(--tp-ink)}
body.menu-page .product-description{color:#555}
body.menu-page .product-price strong{color:var(--tp-red);font-weight:800}
body.menu-page .product-price span{color:#666}

/* Estados vazios */
body.menu-page .search-empty span,
body.menu-page .empty-menu span{color:var(--tp-red)}
body.menu-page .search-empty h3,
body.menu-page .empty-menu h2{color:var(--tp-ink)}

/* WhatsApp */
body.menu-page .whatsapp-float{
    background:var(--tp-green);color:#fff;
    box-shadow:0 8px 20px rgba(27,122,47,.4);
}
body.menu-page .whatsapp-float:hover{background:var(--tp-green-dark)}

/* Rodapé */
body.menu-page .menu-footer{
    background:var(--tp-black);color:#fff;
    border-top:4px solid var(--tp-red);border-radius:16px 16px 0 0;
}

@media (max-width:600px){
    body.menu-page .brand-logo{height:60px}
}

/* Popup de detalhes do produto */
body.menu-page .pm-price strong{color:var(--tp-green)}
body.menu-page .pm-category{background:#eaf6ec;color:var(--tp-green-dark)}
body.menu-page .product-more{color:var(--tp-red)}
body.menu-page .product-card:focus-visible{outline-color:var(--tp-green)}
body.menu-page .pm-box{border-top:5px solid var(--tp-red)}