/* MENU PAGE MODULE */
.page-menu { background:#f7f9fd; }
.page-menu .menu-hero-section { position:relative; }
.page-menu .menu-hero-card { position:relative; min-height:440px; overflow:hidden; background:linear-gradient(135deg,#0b2e69,#0f78d1); isolation:isolate; }
.page-menu .menu-hero-backdrop { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.page-menu .menu-hero-backdrop-fallback { background:radial-gradient(circle at 78% 20%,rgba(255,255,255,.11),transparent 16rem),linear-gradient(140deg,#0b2e69,#0f78d1); }
.page-menu .menu-hero-overlay { position:absolute; inset:0; z-index:1; background:linear-gradient(90deg,rgba(4,23,54,.88) 0%,rgba(4,34,76,.64) 45%,rgba(5,33,70,.24) 75%,rgba(4,24,53,.3)); }
.page-menu .menu-hero-copy { position:relative; z-index:2; max-width:670px; padding:82px 0 72px; color:#fff; }
.page-menu .menu-hero-copy .public-section-kicker { color:#ffe58b; }
.page-menu .menu-hero-copy h1 { margin:12px 0 0; color:#fff; font-size:clamp(2.8rem,5.4vw,5.6rem); line-height:.92; font-weight:950; letter-spacing:-.06em; }
.page-menu .menu-hero-copy p { max-width:620px; margin:22px 0 0; color:rgba(255,255,255,.8); line-height:1.68; }
.page-menu .menu-hero-meta { display:flex; flex-wrap:wrap; gap:10px 17px; margin-top:22px; color:rgba(255,255,255,.76); font-size:.73rem; font-weight:750; }
.page-menu .menu-hero-meta i { color:var(--site-gold); }
.page-menu .menu-hero-cta { margin-top:26px; }
.page-menu .menu-hero-badge { position:absolute; right:max(22px,calc((100vw - 1220px)/2)); bottom:24px; z-index:2; display:flex; align-items:center; gap:7px; padding:9px 12px; color:var(--site-navy); background:rgba(255,255,255,.93); border-radius:999px; box-shadow:0 12px 32px rgba(0,0,0,.2); font-size:.72rem; font-weight:850; }
.page-menu .menu-hero-badge i { color:var(--site-gold-deep); }

.page-menu .menu-content-section { padding:58px 0 72px; }
.page-menu .menu-toolbar { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:24px; padding:24px 26px; background:#fff; border:1px solid var(--site-line); border-radius:20px; box-shadow:var(--site-shadow-sm); }
.page-menu .menu-type-tabs { padding:5px; background:#eef4fa; border-radius:13px; }
.page-menu .menu-type-tabs .nav-link { min-width:115px; padding:9px 13px; color:#5d7189; border-radius:10px; font-size:.77rem; font-weight:850; }
.page-menu .menu-type-tabs .nav-link.active { color:#fff; background:linear-gradient(135deg,var(--site-blue-deep),var(--site-blue)); box-shadow:0 8px 17px rgba(15,120,209,.19); }
.page-menu .menu-filter-wrap { display:flex; gap:8px; margin-bottom:22px; padding:3px 1px 8px; overflow-x:auto; scrollbar-width:none; }
.page-menu .menu-filter-wrap::-webkit-scrollbar{display:none}
.page-menu .menu-filter-btn { flex:0 0 auto; min-height:38px; padding:8px 14px; color:#58708b; background:#fff; border:1px solid #d8e2ed; border-radius:999px; font-size:.73rem; font-weight:820; }
.page-menu .menu-filter-btn:hover { color:var(--site-blue-deep); border-color:#9dbfe4; }
.page-menu .menu-filter-btn.is-active { color:var(--site-navy); background:var(--site-gold-soft); border-color:#f0c94e; box-shadow:0 7px 16px rgba(216,157,0,.12); }
.page-menu .menu-product-card { display:flex; flex-direction:column; overflow:hidden; background:#fff; border:1px solid #dfe7f0; border-radius:20px; box-shadow:0 12px 30px rgba(11,46,105,.075); transition:transform .2s ease,box-shadow .2s ease; }
.page-menu .menu-product-card:hover { transform:translateY(-4px); box-shadow:0 22px 44px rgba(11,46,105,.13); }
.page-menu .menu-product-media { position:relative; aspect-ratio:1.35/1; overflow:hidden; background:linear-gradient(145deg,#edf3f9,#dfe8f3); }
.page-menu .menu-product-image { width:100%; height:100%; object-fit:cover; transition:transform .55s ease; }
.page-menu .menu-product-card:hover .menu-product-image { transform:scale(1.055); }
.page-menu .menu-product-placeholder { position:absolute; inset:0; display:grid; place-items:center; align-content:center; gap:9px; color:#8191a5; }
.page-menu .menu-product-placeholder i { color:var(--site-blue); font-size:2.4rem; }
.page-menu .menu-product-placeholder span { font-size:.72rem; font-weight:750; }
.page-menu .menu-product-placeholder.is-hidden { display:none; }
.page-menu .menu-product-category { position:absolute; left:13px; top:13px; z-index:2; padding:6px 9px; color:#fff; background:rgba(7,37,76,.78); border:1px solid rgba(255,255,255,.2); border-radius:999px; backdrop-filter:blur(8px); font-size:.62rem; font-weight:850; }
.page-menu .menu-product-body { flex:1; display:flex; flex-direction:column; padding:18px; }
.page-menu .menu-product-title-row { flex:1; display:flex; justify-content:space-between; gap:14px; }
.page-menu .menu-product-title-row h3 { margin:0; color:var(--site-navy); font-size:1.04rem; font-weight:900; }
.page-menu .menu-product-title-row p { margin:8px 0 0; color:var(--site-muted); font-size:.75rem; line-height:1.5; }
.page-menu .menu-price { flex:0 0 auto; color:var(--site-blue-deep); font-size:.87rem; white-space:nowrap; }
.page-menu .menu-order-form { margin-top:18px; padding-top:16px; border-top:1px solid #edf1f6; }
.page-menu .menu-field-label { display:block; margin-bottom:6px; color:#60758e; font-size:.66rem; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.page-menu .menu-order-form .form-control,.page-menu .menu-order-form .form-select { min-height:41px; font-size:.76rem; }
.page-menu .menu-empty-state { padding:54px 20px; text-align:center; color:var(--site-muted); background:#fff; border:1px dashed #c9d7e7; border-radius:20px; }
.page-menu .menu-empty-state i { color:var(--site-blue); font-size:2.6rem; }
.page-menu .menu-empty-state h4 { margin:12px 0 0; color:var(--site-navy); font-weight:900; }
.page-menu .menu-empty-state p { margin:7px 0 0; }
.page-menu .menu-pagination-bar { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-top:28px; padding:14px 16px; background:#fff; border:1px solid var(--site-line); border-radius:16px; box-shadow:var(--site-shadow-sm); }
.page-menu .menu-pagination-summary { color:#708199; font-size:.72rem; font-weight:750; }
.page-menu .menu-pagination-list { gap:5px; }
.page-menu .menu-pagination-list .page-link { min-width:36px; height:36px; display:grid; place-items:center; padding:0 9px; color:#46617f; background:#f7f9fc; border:1px solid #e1e8f0; border-radius:9px!important; font-size:.72rem; font-weight:800; }
.page-menu .menu-pagination-list .page-item.active .page-link { color:var(--site-navy); background:var(--site-gold); border-color:var(--site-gold); }
.page-menu .menu-pagination-list .page-item.disabled .page-link { opacity:.45; }
.page-menu .menu-item-hidden { display:none!important; }
.page-menu .menu-product-card.is-adding { opacity:.72; pointer-events:none; }

@media(max-width:767.98px){
    .page-menu .menu-hero-card{min-height:520px}.page-menu .menu-hero-copy{padding:64px 0 94px}.page-menu .menu-hero-badge{left:12px;right:auto;bottom:18px}.page-menu .menu-toolbar{align-items:flex-start;flex-direction:column;padding:18px}.page-menu .menu-type-tabs{width:100%}.page-menu .menu-type-tabs .nav-item{flex:1}.page-menu .menu-type-tabs .nav-link{width:100%;min-width:0}.page-menu .menu-pagination-bar{align-items:flex-start;flex-direction:column}.page-menu .menu-pagination-nav{width:100%;overflow-x:auto}.page-menu .menu-pagination-list{flex-wrap:nowrap}
}

/* Optional serving options: food without configured varieties is sold as listed. */
.page-menu .menu-standalone-serving {
    min-height: 42px;
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 9px 12px;
    color: #0B2E69;
    background: #F4F8FE;
    border: 1px solid #DDE9F7;
    border-radius: 12px;
    font-size: .82rem;
    font-weight: 750;
}
.page-menu .menu-standalone-serving i { color: #0F78D1; }
