/* pb-foundation-v1.css — Candidate-1 (r3b) + Candidate-2 r2 + Polish R1 [UX-P1] (C2 home/menu block, appended at end). Visual-only: --pb-* tokens + Shell header + Bottom-Nav.
   Source of visual truth: Design Baseline v179 (DS_Tokens, S11_ShellResponsive).
   Delivery: <head> link, @layer pb, every override !important (Design Contract Addendum B-1).
   FORBIDDEN here: .bottom-bar transform/opacity/visibility/pointer-events/display, .is-hidden, the JS-owned header-height variable,
   any selector outside .pz-topbar*, .pz-mobile-*, .bottom-bar*, .pz-topnav*. Not loaded on Checkout/F3/F4/F5. */
/* C2P1.UX-P1 registered properties for the scroll-linked edge fade (top-level; inert without scroll-timeline support) */
@property --pb-fs{syntax:"<length>";inherits:false;initial-value:0px}
@property --pb-fe{syntax:"<length>";inherits:false;initial-value:0px}
@layer pb {
:root{
  --pb-bg:#FBF7F2;--pb-surface:#FFFFFF;--pb-ink:#1F1513;--pb-ink-2:#4A3B37;--pb-muted:#6B5A55;
  --pb-line:#EADFD6;--pb-line-strong:#D9CCC2;
  --pb-brand:#B3121D;--pb-brand-press:#8F0E17;--pb-brand-tint:#F6E3DF;
  --pb-success:#2F6B4F;--pb-success-fg:#1F5A3D;--pb-success-tint:#E3F0E9;
  --pb-warning-fg:#8A4B00;--pb-warning-tint:#FCEFD9;--pb-info-fg:#1E4C8A;--pb-info-tint:#E6EEF8;--pb-focus:#1E4C8A;
  --pb-sp-1:4px;--pb-sp-2:8px;--pb-sp-3:12px;--pb-sp-4:16px;--pb-sp-5:24px;--pb-sp-6:32px;--pb-sp-7:48px;
  --pb-r-input:10px;--pb-r-btn:14px;--pb-r-card:18px;--pb-r-sheet:28px;--pb-r-chip:999px;
  --pb-shadow-card:0 1px 2px rgba(31,21,19,.06),0 8px 24px rgba(31,21,19,.06);
  --pb-shadow-float:0 10px 30px rgba(31,21,19,.18);
}
/* ---- Header (F1 + F2): token-level restyle only; layout/size untouched ---- */
.pz-topbar .pz-topbar-in{border:1px solid var(--pb-line) !important;background:var(--pb-surface) !important;box-shadow:var(--pb-shadow-card) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
.pz-topbar .brand .t1,.pz-topbar .pz-brand-text .t1{color:var(--pb-ink) !important}
.pz-topbar .brand .t2,.pz-topbar .pz-brand-text .t2{color:var(--pb-muted) !important}
.pz-mobile-burger{border-color:var(--pb-line) !important;background:var(--pb-surface) !important;color:var(--pb-ink) !important}
.pz-mobile-context{border-color:var(--pb-line) !important;background:var(--pb-bg) !important;border-radius:var(--pb-r-btn) !important}
.pz-mobile-context-main{color:var(--pb-ink) !important}
.pz-mobile-context-sub{color:var(--pb-muted) !important}
.pz-mobile-context-cta{background:var(--pb-brand-tint) !important;border-color:transparent !important;color:var(--pb-brand-press) !important}
.pz-topbar .pz-btn,.pz-topbar .pz-topnav-a{border-color:var(--pb-line) !important;background:var(--pb-surface) !important;color:var(--pb-ink-2) !important}
.pz-topbar .pz-topnav-a.is-current{background:var(--pb-brand-tint) !important;color:var(--pb-brand-press) !important}
.pz-mobile-burger:focus-visible,.pz-mobile-context:focus-visible,.pz-topbar .pz-btn:focus-visible,.pz-topbar .pz-topnav-a:focus-visible{outline:2px solid var(--pb-focus) !important;outline-offset:2px !important}
/* ---- Bottom nav (F1 only): flat full-width bar as in S11 (68px, white, top hairline) ---- */
@media (max-width:720px){
  .bottom-bar{padding:0 0 env(safe-area-inset-bottom) !important;background:var(--pb-surface) !important;border-top:1px solid var(--pb-line) !important}
  .bottom-bar-in{max-width:none !important;width:100% !important;margin:0 !important;padding:0 !important;gap:0 !important;grid-template-columns:none !important;grid-auto-flow:column !important;grid-auto-columns:minmax(0,1fr) !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important}
  .bottom-bar .bb{min-height:68px !important;padding:8px 4px 6px !important;gap:3px !important;background:transparent !important;border:0 !important;border-radius:0 !important;box-shadow:none !important;color:var(--pb-muted) !important;transform:none !important}
  .bottom-bar .bb .i{color:inherit !important;transform:none !important}
  .bottom-bar .bb .l{font-size:12px !important;font-weight:500 !important;color:inherit !important}
  .bottom-bar .bb.on{background:transparent !important;border:0 !important;box-shadow:none !important;color:var(--pb-brand) !important;transform:none !important}
  .bottom-bar .bb.on .i{color:var(--pb-brand) !important;transform:none !important}
  .bottom-bar .bb.on .l{color:var(--pb-brand) !important;font-weight:700 !important}
  .bottom-bar .bb:focus-visible{outline:2px solid var(--pb-focus) !important;outline-offset:-4px !important}
}
@media (max-width:720px){
  /* SVG icon only for exact valid key OR exact href; unknown items keep their emoji */
  .bottom-bar .bb[data-nav-key="menu"] .i,
  .bottom-bar .bb[href="/public_menu.php"] .i{font-size:0 !important;line-height:0 !important;width:22px !important;height:22px !important;background-color:currentColor !important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3L3 20h18L12 3z'/%3E%3Ccircle cx='12' cy='13' r='1.4'/%3E%3Ccircle cx='9.5' cy='16.5' r='1.2'/%3E%3Ccircle cx='14.5' cy='16.5' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat !important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3L3 20h18L12 3z'/%3E%3Ccircle cx='12' cy='13' r='1.4'/%3E%3Ccircle cx='9.5' cy='16.5' r='1.2'/%3E%3Ccircle cx='14.5' cy='16.5' r='1.2'/%3E%3C/svg%3E") center/contain no-repeat !important}
  .bottom-bar .bb[data-nav-key="orders"] .i,
  .bottom-bar .bb[href="/orders.php"] .i{font-size:0 !important;line-height:0 !important;width:22px !important;height:22px !important;background-color:currentColor !important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2V3z'/%3E%3Cpath d='M9 8h6M9 12h6'/%3E%3C/svg%3E") center/contain no-repeat !important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-3-2-3 2-3-2-3 2V3z'/%3E%3Cpath d='M9 8h6M9 12h6'/%3E%3C/svg%3E") center/contain no-repeat !important}
  .bottom-bar .bb[data-nav-key="profile"] .i,
  .bottom-bar .bb[href="/profile.php"] .i{font-size:0 !important;line-height:0 !important;width:22px !important;height:22px !important;background-color:currentColor !important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E") center/contain no-repeat !important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21c0-4 4-6 8-6s8 2 8 6'/%3E%3C/svg%3E") center/contain no-repeat !important}
  .bottom-bar .bb[data-nav-key="login"] .i,
  .bottom-bar .bb[href="/login.php"] .i{font-size:0 !important;line-height:0 !important;width:22px !important;height:22px !important;background-color:currentColor !important;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M15 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4'/%3E%3C/svg%3E") center/contain no-repeat !important;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M10 17l5-5-5-5M15 12H3M15 4h4a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-4'/%3E%3C/svg%3E") center/contain no-repeat !important}
}
@media (prefers-reduced-motion:reduce){.bottom-bar .bb{transition:none !important}}

/* ---- r3a: Sticky-cart offset (D-N2). Only the NOT-hidden state; .sticky-cart.nav-hidden (v12) and all JS-toggled classes untouched.
   79px = new bar height 69 (68 + 1px hairline) + 10px, i.e. the same gap the user SEES in baseline (sticky -> visible nav-pill edge = 10px); + safe-area inset as in v12. ---- */
@media (max-width:720px){
  .sticky-cart:not(.nav-hidden){inset:auto 0 calc(79px + env(safe-area-inset-bottom)) 0 !important}
}

/* ---- r3b: flat full-bleed header (D-H1), mobile only. CSS-only: no DOM/JS change; --pz-header-h stays JS-owned (measured from .pz-topbar-in). ---- */
@media (max-width:720px){
  .pz-topbar{padding-top:0 !important;padding-left:env(safe-area-inset-left,0px) !important;padding-right:env(safe-area-inset-right,0px) !important}
  .pz-topbar .pz-topbar-in{max-width:none !important;width:100% !important;border-radius:0 !important;border-width:0 0 1px 0 !important;box-shadow:none !important}
}

/* ===================================================================================================
   C2 (Visual Candidate-2) — Home/Menu visual layer. Visual-only; source of truth: v179 S1_Menu / D1_Desktop / C1.
   Scope: every rule below is anchored on #menu, .pz-tabbar/.pz-subtabbar, body:has(#menu) .sticky-cart (colour only, menu page only), or body:has(#menu)
   (desktop header, menu page only; browsers without :has() keep the C1 header). No DOM/JS/PHP change.
   NEVER touched here: .bottom-bar*, .is-hidden, --pz-header-h (read-only use), .sticky-cart position/inset/transform/opacity/visibility/
   pointer-events/display, .sticky-cart.nav-hidden, any order/cart/payment/session/login/API rule.
   NOTE: layered !important beats the unlayered !important of v10/v12, so the hidden-card rule is restated below (do not remove).
   =================================================================================================== */
/* ---- C2.0 canvas (menu page only) ---- */
body:has(#menu){background:var(--pb-bg) !important}
#menu > .wrap{padding-left:0 !important;padding-right:0 !important}
@media (max-width:720px){#menu.section{margin-left:4px !important;margin-right:4px !important;padding-left:0 !important;padding-right:0 !important}}
@media (min-width:721px) and (max-width:1023px){#menu.section{margin-left:12px !important;margin-right:12px !important;padding-left:0 !important;padding-right:0 !important}}

/* ---- C2.1 root category tabs: single scrollable pill row (v179 S1) ---- */
#menu .pz-tabbar{display:flex !important;flex-wrap:nowrap !important;gap:8px !important;margin:0 -16px 12px !important;padding:2px 16px 6px !important;overflow-x:auto !important;overflow-y:hidden !important;scroll-snap-type:x proximity;scroll-padding-inline:16px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#menu .pz-tabbar::-webkit-scrollbar{display:none}
#menu .pz-tabbtn{flex:0 0 auto !important;display:inline-flex !important;align-items:center !important;gap:8px !important;min-height:48px !important;padding:0 16px !important;border:0 !important;border-radius:var(--pb-r-chip) !important;background:var(--pb-surface) !important;color:var(--pb-ink) !important;box-shadow:inset 0 0 0 1px var(--pb-line) !important;font-size:14px !important;font-weight:500 !important;line-height:1.4 !important;white-space:nowrap !important;scroll-snap-align:start;transition:background-color .15s ease,color .15s ease !important}
#menu .pz-tabbtn:hover{background:var(--pb-brand-tint) !important}
#menu .pz-tabbtn.is-active{background:var(--pb-ink) !important;color:#fff !important;font-weight:700 !important;box-shadow:none !important}
#menu .pz-tabbtn .n,#menu .pz-subtabbtn .n{display:inline !important;font-size:12px !important;font-weight:400 !important;opacity:.7 !important}
#menu .pz-subtabbtn .n{opacity:1 !important;color:var(--pb-muted) !important}

/* ---- C2.2 sub-category tabs: segmented control (v179 S1) ---- */
#menu .pz-subtabbar{display:flex !important;flex-wrap:nowrap !important;gap:4px !important;margin:0 0 4px !important;padding:4px !important;border-radius:14px !important;background:#F1E9E2 !important;overflow-x:auto !important;overflow-y:hidden !important;scrollbar-width:none}
#menu .pz-subtabbar::-webkit-scrollbar{display:none}
#menu .pz-subtabbtn{flex:1 0 auto !important;display:inline-flex !important;align-items:center !important;justify-content:center !important;gap:6px !important;min-height:40px !important;padding:0 14px !important;border:0 !important;border-radius:10px !important;background:transparent !important;color:var(--pb-ink-2) !important;box-shadow:none !important;font-size:13px !important;font-weight:500 !important;white-space:nowrap !important}
#menu .pz-subtabbtn:hover{background:rgba(255,255,255,.6) !important}
#menu .pz-subtabbtn.is-active{background:var(--pb-surface) !important;color:var(--pb-ink) !important;font-weight:700 !important;box-shadow:0 1px 2px rgba(31,21,19,.12) !important}
#menu .pz-tabbtn:focus-visible,#menu .pz-subtabbtn:focus-visible{outline:3px solid var(--pb-focus) !important;outline-offset:2px !important}

/* ---- C2.3 section heading (cat wrapper card flattened, as in v179) ---- */
#menu .card.cat{margin-bottom:12px !important;padding:0 !important;border:0 !important;border-radius:0 !important;background:transparent !important;box-shadow:none !important}
#menu .cat-h{display:flex !important;align-items:baseline !important;justify-content:space-between !important;gap:12px !important;padding:14px 0 8px !important}
#menu .cat-h b{font-size:17px !important;font-weight:700 !important;color:var(--pb-ink) !important}
#menu .cat-h .muted{font-size:12px !important;font-weight:400 !important;color:var(--pb-muted) !important}

/* ---- C2.4 product card (shared) ---- */
#menu .pcard{border:0 !important;background:var(--pb-surface) !important;box-shadow:var(--pb-shadow-card) !important;color:var(--pb-ink) !important}
#menu .pcard.pz-item-hidden{display:none !important}
#menu .pt{font-weight:700 !important;color:var(--pb-ink) !important}
#menu .ps{color:var(--pb-muted) !important}
#menu .prate .txt,#menu .prate .no{color:var(--pb-muted) !important;font-weight:400 !important}
#menu .prate .avg{color:var(--pb-ink) !important;font-weight:700 !important}
#menu .priceNew{color:var(--pb-ink) !important;font-weight:700 !important}
#menu .priceOld{color:var(--pb-muted) !important}
#menu .pcard .btnWide{border:0 !important;border-radius:var(--pb-r-btn) !important;background:var(--pb-brand) !important;color:#fff !important;box-shadow:none !important;font-weight:700 !important;transition:background-color .15s ease !important}
#menu .pcard .btnWide:hover{background:var(--pb-brand-press) !important}
#menu .pcard .btnWide:focus-visible{outline:3px solid var(--pb-focus) !important;outline-offset:2px !important}
#menu .pcard .btnWide::before{content:"";width:16px;height:16px;flex:none;background-color:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E") center/contain no-repeat}
/* badges (r2, D-C2-4): stamp -> flat pill geometry only. Colours/border/shadow come from the admin-configured --pz-best-* / --pz-disc-* vars (same sources as the live v10 rules); no hard-coded colour here. */
#menu .pimg .pz-best-badge,#menu .pimg .pz-disc-badge{width:auto !important;height:auto !important;min-height:22px !important;padding:0 8px !important;flex-direction:row !important;gap:4px !important;border-radius:var(--pb-r-chip) !important;transform:none !important;text-shadow:none !important}
#menu .pimg .pz-best-badge::before,#menu .pimg .pz-best-badge::after,#menu .pimg .pz-disc-badge::before,#menu .pimg .pz-disc-badge::after{content:none !important}
#menu .pimg .pz-best-badge{top:6px !important;right:6px !important;left:auto !important;box-shadow:0 2px 8px var(--pz-best-shadow) !important}
#menu .pimg .pz-disc-badge{top:6px !important;left:6px !important;right:auto !important;box-shadow:0 2px 8px var(--pz-disc-shadow) !important}
#menu .pimg .pz-best-txt,#menu .pimg .pz-disc-pct,#menu .pimg .pz-disc-txt{font-size:12px !important;font-weight:700 !important;line-height:1.6 !important;padding:0 !important;text-shadow:none !important}
#menu .pimg .pz-best-txt{color:inherit !important}
#menu .pimg .pz-disc-pct,#menu .pimg .pz-disc-txt{color:inherit !important}

/* ---- C2.5 mobile (<=720): one-column horizontal card, 112px image (v179 S1) ---- */
@media (max-width:720px){
  #menu .plist{grid-template-columns:minmax(0,1fr) !important;gap:10px !important;margin-top:4px !important}
  #menu .pcard{display:grid !important;grid-template-columns:112px minmax(0,1fr) !important;grid-template-rows:minmax(0,1fr) auto !important;column-gap:12px !important;min-height:128px !important;height:auto !important;padding:8px !important;border-radius:20px !important;overflow:hidden !important}
  #menu .pcard.pz-item-hidden{display:none !important}
  #menu .pimg{grid-column:1 !important;grid-row:1 / span 2 !important;width:112px !important;height:112px !important;aspect-ratio:auto !important;border-radius:14px !important;overflow:hidden !important;background:var(--pb-surface) !important}
  #menu .pimg picture{display:block !important;width:100% !important;height:100% !important}
  #menu .pimg img{width:100% !important;height:100% !important;padding:0 !important;object-fit:cover !important;border-radius:0 !important}
  #menu .pbody{grid-column:2 !important;grid-row:1 !important;min-width:0 !important;padding:0 !important}
  #menu .pt{min-height:0 !important;font-size:15px !important;line-height:1.5 !important;-webkit-line-clamp:1 !important}
  #menu .prate{margin-top:2px !important;gap:4px !important}
  #menu .prate .avg,#menu .prate .txt{font-size:12px !important}
  #menu .prate .no{font-size:12px !important}
  #menu .ps{margin-top:0 !important;min-height:0 !important;font-size:12px !important;line-height:1.6 !important;-webkit-line-clamp:1 !important}
  #menu .pfoot{grid-column:2 !important;grid-row:2 !important;display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:center !important;justify-content:space-between !important;gap:6px !important;padding:0 !important}
  #menu .priceRow{min-height:0 !important;display:flex !important;flex-direction:column !important;line-height:1.3 !important}
  #menu .priceNew{font-size:15px !important}
  #menu .pcard .btnWide{width:auto !important;flex:none !important;min-height:44px !important;height:44px !important;padding:0 10px !important;gap:4px !important;font-size:12.5px !important}
  #menu .pcard .btnWide::before{width:14px;height:14px}
  #menu .prate:has(.no) .stars{display:none !important}
  #menu .pimg .pz-best-badge{top:4px !important;right:4px !important}
  #menu .pimg .pz-disc-badge{top:4px !important;left:4px !important}
}
@media (max-width:374px){
  #menu .pcard{grid-template-columns:96px minmax(0,1fr) !important;column-gap:10px !important}
  #menu .pimg{width:96px !important;height:96px !important}
}

/* ---- C2.6 >=721: vertical card (v179 D1) ---- */
@media (min-width:721px){
  #menu .pcard{display:flex !important;flex-direction:column !important;border-radius:22px !important;overflow:hidden !important}
  #menu .pcard.pz-item-hidden{display:none !important}
  #menu .pimg{aspect-ratio:1 / 1 !important;background:var(--pb-surface) !important}
  #menu .pimg picture{display:block !important;width:100% !important;height:100% !important}
  #menu .pimg img{width:100% !important;height:100% !important;padding:0 !important;object-fit:cover !important}
  #menu .pbody{display:flex !important;flex-direction:column !important;gap:6px !important;padding:14px 14px 0 !important}
  #menu .pt{font-size:16px !important;line-height:1.5 !important;min-height:48px !important}
  #menu .prate{margin-top:0 !important}
  #menu .ps{margin-top:0 !important;font-size:13px !important;line-height:1.8 !important;min-height:47px !important}
  #menu .pfoot{display:flex !important;flex-direction:column !important;gap:10px !important;margin-top:auto !important;padding:10px 14px 14px !important}
  #menu .priceNew{font-size:18px !important}
  #menu .pcard .btnWide{width:100% !important;min-height:46px !important;height:46px !important;padding:0 14px !important;font-size:14px !important}
}
@media (min-width:721px) and (max-width:1023px){
  #menu .plist{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:16px !important}
  #menu .pz-tabbar{margin:0 0 12px !important;padding-left:0 !important;padding-right:0 !important}
}

/* ---- C2.7 desktop >=1024: category sidebar + 3-column grid (v179 D1). Pure CSS grid on the existing siblings. ---- */
@media (min-width:1024px){
  #menu > .wrap{display:grid !important;grid-template-columns:240px minmax(0,1fr) !important;column-gap:24px !important;align-items:start !important;padding-left:0 !important;padding-right:0 !important}
  #menu .pz-tabbar{grid-column:1 !important;grid-row:1 !important;position:sticky !important;top:calc(var(--pz-header-h,84px) + 16px) !important;flex-direction:column !important;gap:2px !important;margin:0 !important;padding:10px !important;overflow:visible !important;border-radius:20px !important;background:var(--pb-surface) !important;box-shadow:inset 0 0 0 1px var(--pb-line) !important}
  #menu .pz-tabbtn{width:100% !important;min-height:48px !important;padding:0 12px !important;border-radius:12px !important;background:transparent !important;box-shadow:none !important;justify-content:space-between !important;text-align:start !important}
  #menu .pz-tabbtn:hover{background:var(--pb-brand-tint) !important}
  #menu .pz-tabbtn.is-active{background:var(--pb-ink) !important;color:#fff !important}
  #menu .pz-panel{grid-column:2 !important;grid-row:1 !important;min-width:0 !important}
  #menu .plist{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:20px !important}
  #menu .cat-h b{font-size:22px !important}
  #menu .pz-subtabbar{display:inline-flex !important;max-width:100% !important}
  #menu .pz-subtabbtn{flex:0 0 auto !important;padding:0 18px !important}
}
@media (min-width:1280px){
  #menu .plist{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}

/* ---- C2.8 desktop header on the menu page (v179 D1): flat white bar + dark cart pill. Header height stays JS-measured. ---- */
@media (min-width:721px){
  body:has(#menu) .app-wrap{padding-top:calc(var(--pz-header-h,84px) + 8px) !important}
  body:has(#menu) .pz-topbar{padding-top:0 !important;padding-left:0 !important;padding-right:0 !important}
  body:has(#menu) .pz-topbar .pz-topbar-in{max-width:none !important;width:100% !important;padding:12px clamp(24px,4.2vw,60px) !important;border-radius:0 !important;border-width:0 0 1px 0 !important;box-shadow:none !important;background:var(--pb-surface) !important}
  body:has(#menu) .pz-topbar .pz-topnav-a{height:44px !important;padding:0 14px !important;border-color:transparent !important;border-radius:12px !important;background:transparent !important;color:var(--pb-ink) !important;font-size:15px !important;font-weight:500 !important}
  body:has(#menu) .pz-topbar .pz-topnav-a:hover{background:var(--pb-brand-tint) !important}
  body:has(#menu) .desk-cart{min-width:0 !important;padding:0 16px !important;height:46px !important;border:0 !important;border-radius:var(--pb-r-btn) !important;background:var(--pb-ink) !important;box-shadow:none !important;color:#fff !important}
  body:has(#menu) .desk-cart .meta .t{color:#D9CBC4 !important;font-size:12px !important;font-weight:400 !important}
  body:has(#menu) .desk-cart .meta .s{color:#fff !important;font-size:13px !important;font-weight:700 !important;max-width:none !important}
  body:has(#menu) .desk-cart .badge{background:var(--pb-brand) !important;color:#fff !important}
}

/* ---- C2.9 sticky cart: colours/shape only (v179 dark bar). Position, offset, nav-hidden state and JS-toggled classes are NOT touched. ---- */
@media (max-width:720px){
  body:has(#menu) .sticky-cart .inner{background:var(--pb-ink) !important;border-color:transparent !important;border-radius:18px !important;box-shadow:var(--pb-shadow-float) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important;color:#fff !important}
  body:has(#menu) .sticky-cart .inner .small,body:has(#menu) .sticky-cart .inner .meta .s{color:#fff !important}
  body:has(#menu) .sticky-cart .inner .btn{min-height:44px !important;height:44px !important;border:0 !important;border-radius:var(--pb-r-btn) !important;background:var(--pb-brand) !important;color:#fff !important;box-shadow:none !important;font-size:13px !important;font-weight:700 !important}
  body:has(#menu) .sticky-cart .inner .btn .badge{background:#fff !important;color:var(--pb-brand) !important}
}
@media (prefers-reduced-motion:reduce){#menu .pz-tabbtn,#menu .pcard .btnWide{transition:none !important}}

/* ---- C2P1.UX-P1 (Polish R1): horizontal scroll affordance for the category / sub-category rows (RTL: overflow lies to the LEFT = inline-end).
   Root cause: C2.1/C2.2 hide the scrollbar and give no edge cue; the partial "peek" of the next item is incidental (varies 0-99% with width and label length).
   Fix (<=1023px only, where the rows scroll): (a) inline-end fade mask; where scroll-timeline is supported the start/end fades follow the scroll position and
   vanish when the row does not overflow or is scrolled to its end; (b) extra inline-end padding so the last item always scrolls clear of the fade;
   (c) one short, motion-safe nudge of the root row on load (<=720px). Visual only: no scrollbar/control is drawn, no element is added,
   no handler is touched; hit areas are unchanged (mask does not affect hit-testing). ---- */
@media (max-width:720px){
  #menu .pz-tabbar{padding-left:32px !important;scroll-padding-inline:16px 32px;-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent)}
  #menu .pz-subtabbar{padding-left:24px !important;scroll-padding-inline:4px 28px;-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 24px),transparent)}
}
@media (min-width:721px) and (max-width:1023px){
  #menu .pz-tabbar{padding-left:28px !important;scroll-padding-inline:0 28px;-webkit-mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(to left,#000 calc(100% - 28px),transparent)}
}
@supports (animation-timeline:scroll()){
  @keyframes pb-edge-fade{0%{--pb-fs:0px;--pb-fe:28px}10%{--pb-fs:28px}85%{--pb-fe:28px}95%,100%{--pb-fs:28px;--pb-fe:0px}}
  @media (max-width:1023px){
    #menu .pz-tabbar,#menu .pz-subtabbar{-webkit-mask-image:linear-gradient(to left,transparent 0,#000 var(--pb-fs),#000 calc(100% - var(--pb-fe)),transparent 100%);mask-image:linear-gradient(to left,transparent 0,#000 var(--pb-fs),#000 calc(100% - var(--pb-fe)),transparent 100%);animation:pb-edge-fade linear both;animation-timeline:scroll(self inline)}
  }
  @media (min-width:721px) and (max-width:1023px){
    #menu .pz-subtabbar{padding-left:24px !important;scroll-padding-inline:4px 28px}
  }
}
@media (max-width:720px) and (prefers-reduced-motion:no-preference){
  @keyframes pb-row-nudge{0%,100%{transform:none}45%{transform:translateX(14px)}}
  #menu #pzRootTabs > .pz-tabbtn{animation:pb-row-nudge .9s ease-in-out .7s 1 both}
}

  /* ---- [UX-P1c] row scroll arrows (cross-browser; markup .pb-rs + inline JS in view_menu.php) ----
     Without JS/overflow the wrapper is display:contents and the buttons are [hidden] => identical to P1.
     With overflow (.pb-rs.is-ov) the arrows live in real gutters beside the row, never over labels. */
  #menu .pb-rs{display:contents;--pb-rs:1}
  #menu .pb-rs-btn{display:none}
  #menu .pb-rs-btn:not([hidden]){display:inline-flex}
  #menu .pb-rs.is-ov{display:flex !important;align-items:center;gap:4px;min-width:0;max-width:100%}
  #menu .pb-rs--root.is-ov{margin:0 0 12px}
  #menu .pb-rs--sub.is-ov{margin:0 0 4px}
  #menu .pb-rs.is-ov > .pz-tabbar,#menu .pb-rs.is-ov > .pz-subtabbar{flex:1 1 0 !important;min-width:0 !important;max-width:none !important;margin:0 !important;padding-left:4px !important;padding-right:4px !important;scroll-padding-inline:4px !important;-webkit-mask-image:none !important;mask-image:none !important;animation:none !important}
  #menu .pb-rs.is-ov > #pzRootTabs > .pz-tabbtn{animation:none !important}
  #menu .pb-rs-btn{flex:0 0 auto;align-items:center;justify-content:center;box-sizing:border-box;width:36px;height:44px;margin:0;padding:0;border:0;border-radius:14px;background:var(--pb-surface);color:var(--pb-ink);box-shadow:inset 0 0 0 1px var(--pb-line);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
  #menu .pb-rs-btn:not([hidden]):hover{background:var(--pb-brand-tint)}
  #menu .pb-rs-btn:focus-visible{outline:2px solid var(--pb-brand);outline-offset:2px}
  #menu .pb-rs-btn[aria-disabled="true"]{opacity:.35;cursor:default}
  #menu .pb-rs-btn[aria-disabled="true"]:hover{background:var(--pb-surface)}
  #menu .pb-rs-btn svg{display:block}
  #menu .pb-rs-prev svg{transform:scaleX(-1)}
  html[dir="rtl"] #menu .pb-rs-prev svg{transform:none}
  html[dir="rtl"] #menu .pb-rs-next svg{transform:scaleX(-1)}
  #menu .pb-rs--root.is-ov > .pb-rs-prev{margin-inline-start:4px}
  #menu .pb-rs--root.is-ov > .pb-rs-next{margin-inline-end:4px}
  @media (prefers-reduced-motion:reduce){
    #menu .pb-rs.is-ov > .pz-tabbar,#menu .pb-rs.is-ov > .pz-subtabbar{scroll-behavior:auto !important}
  }
}
