/* ALDHAMEN customer ordering — compact, menu-first flow. */
body.page-home:not(.staff-app){
  --order-wine:#741c36;
  --order-pink:#e45c83;
  --order-blush:#f8d7dc;
  --order-shell:#fff2f5;
  --order-paper:#fffafb;
  --order-ink:#321923;
  --order-muted:#76515c;
  background:var(--order-shell);
  color:var(--order-ink);
  accent-color:var(--order-wine);
}
body.page-home:not(.staff-app) ::selection{background:var(--order-blush);color:var(--order-ink)}
body.page-home:not(.staff-app) :focus-visible{outline:3px solid #c83f69;outline-offset:3px}
body.page-home:not(.staff-app) .site{max-width:1480px;margin:0 auto;padding:0 22px 104px}
body.page-home:not(.staff-app) .nx-customer-header{
  min-height:76px;margin:0 -22px 22px;padding:12px max(22px,calc((100vw - 1436px)/2));
  position:sticky;top:0;z-index:40;background:rgba(255,250,251,.97);
  border-bottom:1px solid #efd8de;box-shadow:0 10px 30px rgba(83,22,43,.08);
}
body.page-home:not(.staff-app) .nx-customer-header .brand img{width:48px;height:48px;object-fit:contain}
body.page-home:not(.staff-app) .nx-customer-header .brand strong{color:var(--order-ink)}
body.page-home:not(.staff-app) .nx-customer-header>p,
body.page-home:not(.staff-app) .pattern-strip{display:none}
body.page-home:not(.staff-app) .order-layout{
  display:grid;grid-template-columns:minmax(0,1fr) 370px;grid-template-areas:"menu cart";
  gap:22px;align-items:start;max-width:none;margin:0;
}
[dir="rtl"] body.page-home:not(.staff-app) .order-layout{grid-template-areas:"menu cart"}
body.page-home:not(.staff-app) .menu-panel{grid-area:menu;min-width:0;background:transparent;border:0;box-shadow:none;padding:0}
body.page-home:not(.staff-app) .cart-panel{
  grid-area:cart;position:sticky;top:98px;max-height:calc(100dvh - 116px);overflow:auto;
  background:var(--order-paper);border:1px solid #ead2d9;border-radius:16px;padding:18px;
  box-shadow:0 18px 44px rgba(83,22,43,.11);
  scrollbar-width:thin;scrollbar-color:#c98c9e transparent;
}
body.page-home:not(.staff-app) .cart-panel::-webkit-scrollbar{width:8px}
body.page-home:not(.staff-app) .cart-panel::-webkit-scrollbar-thumb{background:#c98c9e;border-radius:8px}
body.page-home:not(.staff-app) .menu-heading{
  min-height:132px;padding:22px 24px;margin:0 0 14px;border-radius:16px;
  background:var(--order-paper);border:1px solid #ead2d9;box-shadow:0 12px 32px rgba(83,22,43,.08);
}
body.page-home:not(.staff-app) .menu-heading .eyebrow{display:none}
body.page-home:not(.staff-app) .menu-heading h1{font-size:clamp(1.7rem,3vw,2.65rem);letter-spacing:-.025em;color:var(--order-wine);margin:0 0 6px}
body.page-home:not(.staff-app) .menu-heading p{color:var(--order-muted);margin:0;max-width:60ch}
body.page-home:not(.staff-app) .menu-heading-logo img{width:82px;height:82px;object-fit:contain}
body.page-home:not(.staff-app) .menu-tools{
  position:sticky;top:86px;z-index:20;display:flex;align-items:center;gap:12px;
  background:var(--order-shell);padding:8px 0 10px;
}
body.page-home:not(.staff-app) .menu-search{flex:1;min-height:48px;background:var(--order-paper);border:1px solid #dfc3cc;border-radius:14px}
body.page-home:not(.staff-app) .menu-search input{color:var(--order-ink);font-size:1rem}
body.page-home:not(.staff-app) .menu-search input::placeholder{color:#80606a;opacity:1}
body.page-home:not(.staff-app) #menu-results-count{color:var(--order-muted);font-weight:700;white-space:nowrap}
body.page-home:not(.staff-app) .customer-menu-categories{
  display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;padding:2px 0 14px;margin:0;
  position:sticky;top:150px;z-index:19;background:var(--order-shell);
}
body.page-home:not(.staff-app) .customer-menu-categories::-webkit-scrollbar{display:none}
body.page-home:not(.staff-app) .customer-menu-categories button{
  flex:0 0 auto;min-height:40px;padding:8px 15px;border:1px solid #dfc3cc;border-radius:12px;
  background:var(--order-paper);color:var(--order-ink);font-weight:700;
}
body.page-home:not(.staff-app) .customer-menu-categories button.active{background:var(--order-blush);border-color:#d87995;color:#4d1729}
body.page-home:not(.staff-app) .products{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
body.page-home:not(.staff-app) .product{
  min-width:0;background:var(--order-paper);border:1px solid #ead2d9;border-radius:16px;padding:10px;
  box-shadow:0 10px 26px rgba(83,22,43,.07);transition:transform .18s ease-out,box-shadow .18s ease-out,opacity .18s ease-out;
}
body.page-home:not(.staff-app) .product:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(83,22,43,.11)}
body.page-home:not(.staff-app) .product-image{aspect-ratio:4/3;border-radius:12px;background:#fff3f5;overflow:hidden}
body.page-home:not(.staff-app) .product-image img{width:100%;height:100%;object-fit:contain}
body.page-home:not(.staff-app) .product-body{padding:11px 2px 2px;gap:8px;align-items:end}
body.page-home:not(.staff-app) .product-body h3{font-size:1rem;line-height:1.35;color:var(--order-ink);margin:0 0 5px}
body.page-home:not(.staff-app) .product-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--order-muted)}
body.page-home:not(.staff-app) .product-price strong{color:var(--order-wine);font-variant-numeric:tabular-nums}
body.page-home:not(.staff-app) .qty{border:1px solid #dfc3cc;background:#fff;border-radius:12px;overflow:hidden}
body.page-home:not(.staff-app) .qty button{color:var(--order-wine);background:#fff;min-width:36px;min-height:36px}
body.page-home:not(.staff-app) .qty button:disabled{cursor:not-allowed;color:#967c84;background:#eee6e8;opacity:1}
body.page-home:not(.staff-app) .branch-unavailable{opacity:.68}
body.page-home:not(.staff-app) .branch-unavailable .product-image{filter:saturate(.55)}
body.page-home:not(.staff-app) .branch-unavailable-badge{
  position:absolute;z-index:3;inset-block-start:18px;inset-inline-start:18px;padding:6px 9px;
  border-radius:9px;background:#f4dbe2;color:#5f1730;border:1px solid #cf8fa2;font-size:.76rem;font-weight:800;
}
body.page-home:not(.staff-app) .order-selection-summary{background:#fff1f4;border:1px solid #e5c5ce;border-radius:14px;padding:12px}
body.page-home:not(.staff-app) .cart-title small{display:none}
body.page-home:not(.staff-app) .cart-title h2{color:var(--order-wine)}
body.page-home:not(.staff-app) .confirm,
body.page-home:not(.staff-app) .mobile-cart-button{
  background:var(--order-blush);color:#451425;border:1px solid #d77994;border-radius:12px;font-weight:800;
}
body.page-home:not(.staff-app) .confirm:hover{background:#f3c5d0}
body.page-home:not(.staff-app) .choice-modal{max-width:560px;padding:24px;border-radius:16px;background:var(--order-paper);border:1px solid #e5c5ce;box-shadow:0 28px 70px rgba(64,13,31,.22)}
body.page-home:not(.staff-app) .choice-modal>img{width:70px;height:70px;object-fit:contain;margin:0 auto 8px}
body.page-home:not(.staff-app) .choice-modal>.eyebrow{display:none}
body.page-home:not(.staff-app) .choice-step h2{color:var(--order-wine);font-size:clamp(1.45rem,4vw,2rem);margin:4px 0 7px}
body.page-home:not(.staff-app) .choice-step>p{color:var(--order-muted);margin:0 0 18px}
body.page-home:not(.staff-app) .choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body.page-home:not(.staff-app) .choice-grid button{
  min-height:76px;border-radius:14px;background:#fff1f4;color:var(--order-ink);border:1px solid #dba9b7;font-size:1.04rem;font-weight:800;
}
body.page-home:not(.staff-app) .choice-grid button:hover{background:var(--order-blush)}
body.page-home:not(.staff-app) .choice-back{color:var(--order-wine);background:transparent;text-decoration:underline;text-underline-offset:4px}
body.page-home:not(.staff-app) .modal-lang{color:var(--order-wine);background:#f7dce3;border:1px solid #dba9b7}
body.page-home:not(.staff-app) .checkout-fields label>span{color:var(--order-ink);font-weight:700}
body.page-home:not(.staff-app) .checkout-fields input,
body.page-home:not(.staff-app) .checkout-fields textarea,
body.page-home:not(.staff-app) .checkout-fields select{background:#fff;color:var(--order-ink);border:1px solid #dcbfc7;border-radius:11px;min-height:46px}
body.page-home:not(.staff-app) .checkout-fields input::placeholder,
body.page-home:not(.staff-app) .checkout-fields textarea::placeholder{color:#80606a;opacity:1}
body.page-home:not(.staff-app) .error{background:#f8dfe5;color:#5e142d;border:1px solid #ce879c;border-radius:11px;padding:10px 12px}

@media (min-width:1380px){body.page-home:not(.staff-app) .products{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media (max-width:980px){
  body.page-home:not(.staff-app) .site{padding-inline:14px}
  body.page-home:not(.staff-app) .nx-customer-header{margin-inline:-14px;padding-inline:14px}
  body.page-home:not(.staff-app) .order-layout{grid-template-columns:1fr;grid-template-areas:"menu" "cart";gap:16px}
  body.page-home:not(.staff-app) .cart-panel{position:relative;top:auto;max-height:none}
  body.page-home:not(.staff-app) .products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:680px){
  body.page-home:not(.staff-app) .site{padding-inline:10px;padding-bottom:96px}
  body.page-home:not(.staff-app) .nx-customer-header{min-height:64px;margin-inline:-10px;margin-bottom:12px;padding:8px 10px}
  body.page-home:not(.staff-app) .nx-customer-header .brand img{width:40px;height:40px}
  body.page-home:not(.staff-app) .nx-customer-header .brand div{display:none}
  body.page-home:not(.staff-app) .menu-heading{min-height:92px;padding:14px;margin-bottom:10px}
  body.page-home:not(.staff-app) .menu-heading h1{font-size:1.55rem}
  body.page-home:not(.staff-app) .menu-heading p{font-size:.9rem}
  body.page-home:not(.staff-app) .menu-heading-logo img{width:58px;height:58px}
  body.page-home:not(.staff-app) .menu-tools{top:64px;padding-top:6px}
  body.page-home:not(.staff-app) .customer-menu-categories{top:124px;padding-bottom:10px}
  body.page-home:not(.staff-app) #menu-results-count{display:none}
  body.page-home:not(.staff-app) .products{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
  body.page-home:not(.staff-app) .product{padding:7px;border-radius:14px}
  body.page-home:not(.staff-app) .product-body{display:block;padding-top:8px}
  body.page-home:not(.staff-app) .product-body .qty{margin-top:8px;width:100%;display:grid;grid-template-columns:1fr auto 1fr}
  body.page-home:not(.staff-app) .product-body h3{font-size:.94rem}
  body.page-home:not(.staff-app) .product-desc{display:none}
  body.page-home:not(.staff-app) .branch-unavailable-badge{inset-block-start:12px;inset-inline-start:12px;font-size:.68rem}
  body.page-home:not(.staff-app) .cart-panel{padding:14px;border-radius:14px}
  body.page-home:not(.staff-app) .mobile-cart-button{display:flex;position:fixed;z-index:45;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));min-height:56px;padding:10px 16px;box-shadow:0 12px 34px rgba(83,22,43,.24)}
  body.page-home:not(.staff-app) .choice-modal{width:calc(100vw - 24px);padding:18px}
  body.page-home:not(.staff-app) .choice-grid{grid-template-columns:1fr}
  body.page-home:not(.staff-app) .choice-grid button{min-height:64px}
}

@media (prefers-reduced-motion:reduce){
  body.page-home:not(.staff-app) .product{transition:none}
  body.page-home:not(.staff-app) .product:hover{transform:none}
}

/* 6.6.97: keep checkout discoverable on phones and portrait tablets. */
body.page-home:not(.staff-app) .customer-cart-close{
  display:none;width:44px;height:44px;min-width:44px;padding:0;border:1px solid #e1c5cd;border-radius:12px;background:#fff;color:var(--order-wine);font-size:28px;line-height:1;
}
@media (max-width:820px), (max-width:1024px) and (orientation:portrait){
  html{overflow-x:hidden;overflow-y:auto;-webkit-overflow-scrolling:touch}
  body.page-home:not(.staff-app){overflow-x:hidden;overflow-y:auto!important;touch-action:pan-y}
  body.page-home:not(.staff-app) .site{padding-bottom:calc(160px + env(safe-area-inset-bottom))}
  body.page-home:not(.staff-app) .order-layout{display:block!important;width:min(920px,100%)!important;margin:0 auto!important;padding-inline:clamp(10px,2vw,18px)!important}
  body.page-home:not(.staff-app) #cart-panel{
    position:fixed!important;left:0!important;right:0!important;inset-inline:0!important;bottom:0!important;top:auto!important;transform:none!important;
    display:none!important;width:min(760px,100vw)!important;max-width:min(760px,100vw)!important;height:min(88dvh,780px)!important;max-height:calc(100dvh - max(10px,env(safe-area-inset-top)))!important;
    z-index:2450!important;margin:0 auto!important;padding:14px 14px calc(18px + env(safe-area-inset-bottom))!important;border-radius:18px 18px 0 0!important;
    overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;scrollbar-gutter:stable;
  }
  body.page-home:not(.staff-app) #cart-panel.mobile-open:not([hidden]){display:flex!important;flex-direction:column!important}
  body.page-home:not(.staff-app) .mobile-cart-button:not([hidden]){
    display:flex!important;position:fixed!important;left:clamp(10px,2vw,18px)!important;right:clamp(10px,2vw,18px)!important;inset-inline:clamp(10px,2vw,18px)!important;
    bottom:calc(var(--ald-customer-nav-height,72px) + 10px + env(safe-area-inset-bottom))!important;z-index:2050!important;min-height:58px!important;padding:10px 16px!important;
  }
  body.page-home:not(.staff-app) .customer-cart-close{display:grid!important;place-items:center!important}
  body.page-home:not(.staff-app) #customer-cart-backdrop:not([hidden]){display:block!important;position:fixed!important;inset:0!important;z-index:2400!important;background:rgba(34,20,24,.58)!important;border:0!important}
  body.page-home:not(.staff-app) #product-options-modal{overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
  body.page-home:not(.staff-app) #product-options-modal .choice-modal{max-height:calc(100dvh - 24px)!important;overflow-x:hidden!important;overflow-y:auto!important;overscroll-behavior:contain!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important}
}

/* 6.6.98: reliable customer scrolling and safe checkout reachability. */
body.page-home:not(.staff-app) .products,
body.page-home:not(.staff-app) .product,
body.page-home:not(.staff-app) .product-body{min-width:0}
body.page-home:not(.staff-app) #cart-panel{scroll-padding-block:12px calc(24px + env(safe-area-inset-bottom))}
body.page-home:not(.staff-app) #submit-order-button{scroll-margin-block-end:calc(18px + env(safe-area-inset-bottom))}
body.page-home:not(.staff-app) #product-options-modal{overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
