/* Shared reading, menu and touch refinements. Load after page styles. */
:root {
    --green-hover: #245032;
}

html { scroll-padding-top: 80px; }
section[id] { scroll-margin-top: 80px; }
.menu-section[id] { scroll-margin-top: 130px; }

:where(a, button, input, summary, select, textarea):focus-visible {
    outline: 3px solid #c4395e;
    outline-offset: 4px;
    box-shadow: 0 0 0 2px #fff;
}

.nav-lnk, .nav-pill, .nav-wa, .nav-hamburger,
.menu-tab-btn, .cat-btn, .btn-order-card, .btn-order-nav,
.btn-whatsapp, .btn-call, .btn-home-wa, .btn-home-call,
.btn-ver-menu, .btn-wa-envio, .footer-map-btn, .footer-review-btn {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.nav-hamburger { min-width: 44px; }
.btn-order-card { display: flex; width: 100%; font-size: .9rem; }

.menu-card { border-radius: 18px; }
.menu-card-img-wrap { height: auto; aspect-ratio: 4 / 3; }
.menu-card-img, .card-img-wrap img { display: block; }
.menu-card-header { align-items: flex-start; gap: .75rem; }
.menu-card-name, .menu-card .card-name {
    font-size: 1rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}
.menu-card-price {
    font-size: 1.15rem;
    color: #a82d4f;
    font-variant-numeric: tabular-nums;
}
.menu-card--charola .menu-card-price { color: #806019; }
.menu-card .card-price {
    font-family: 'Segoe UI', system-ui, sans-serif;
    font-size: 1.15rem;
    font-variant-numeric: tabular-nums;
    padding: .35rem .8rem;
    background: #1c0f0a;
    color: #fff;
}
.menu-card p, .menu-card-body p, .menu-card .card-note {
    font-size: .9rem;
    line-height: 1.65;
}
.menu-card-blog-link { min-height: 44px; display: inline-flex; align-items: center; }

.whatsapp-float { background: #217a42; box-shadow: 0 4px 18px rgba(28, 80, 46, .25); }
.whatsapp-float:hover { background: #195f33; }
.whatsapp-float::before { animation: none; display: none; }

@media (min-width: 768px) and (max-width: 991.98px) {
    #main-nav .nav-desktop { display: none !important; }
    #main-nav .nav-hamburger { display: flex !important; }
}

@media (max-width: 575.98px) {
    .menu-card-body, .menu-card .card-body { padding: .9rem; }
    .menu-card-header { flex-wrap: wrap; gap: .3rem .6rem; }
    .menu-card-price { margin-left: auto; }
    .menu-section { padding-top: 3rem; padding-bottom: 3rem; }
    .whatsapp-float {
        bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
        right: calc(1rem + env(safe-area-inset-right, 0px));
    }
    footer { padding-bottom: calc(6rem + env(safe-area-inset-bottom, 0px)) !important; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after {
        animation: none !important;
        transition: none !important;
    }
    .menu-card:hover, .menu-card:hover .menu-card-img,
    .menu-card:hover .card-img-wrap img, .whatsapp-float:hover {
        transform: none;
    }
}
