/* Reserve the real navigation height for every customer dialog. */
@media(max-width:700px){
  :root{--customer-nav-height:58px;--customer-keyboard-gap:0px;--customer-modal-bottom:58px;--customer-viewport-top:0px}
  body{padding-bottom:calc(var(--customer-nav-height) + 14px)}
  body .mobile-bottom-nav{bottom:var(--customer-keyboard-gap);height:auto;min-height:58px;padding-bottom:calc(4px + env(safe-area-inset-bottom,0px))}
  body .modal[id]{top:var(--customer-viewport-top);bottom:var(--customer-modal-bottom);height:auto;max-height:none;align-items:flex-end;padding:8px 0 0;overflow:hidden}
  body #cart-modal{padding:8px 0 0!important}
  body .modal[id]>.modal-content{box-sizing:border-box;min-height:0;max-height:100%;max-width:100%;margin:0;overflow-y:auto;overscroll-behavior:contain;scroll-padding-block:16px;padding-bottom:20px;-webkit-overflow-scrolling:touch}
  body .modal[id]>.support-chat-window{height:100%;padding-bottom:0;overflow:hidden}
  body .modal[id] .support-chat-head,body .modal[id] .support-form{flex-shrink:0}
  body .modal[id] .customer-chat{min-height:0;max-height:none;overflow-y:auto;flex:1}
  body:has(.modal:not(.hidden)) .back-categories-button{display:none!important}
  body:has(#cart-modal:not(.hidden)) .customer-space-back{display:none!important}
  body:has(#cart-modal:not(.hidden)) .mobile-bottom-nav{display:none!important}
  body #cart-modal:not(.hidden){bottom:0!important;padding-bottom:0!important}
  body #cart-modal:not(.hidden)>.modal-content{border-radius:22px 22px 0 0;max-height:calc(100dvh - 8px)}
  /* Store directory is a true full-screen sheet. Its own panel owns vertical
     scrolling, so wheel/touch gestures never fall through to the page. */
  body #stores-modal:not(.hidden){
    inset:0!important;
    height:100dvh!important;
    padding:0!important;
    align-items:stretch!important;
    overflow:hidden!important;
    overscroll-behavior:none;
    touch-action:none;
  }
  body #stores-modal:not(.hidden)>.modal-content{
    border-radius:0!important;
    height:100%!important;
    max-height:none!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    overscroll-behavior-y:contain;
    touch-action:pan-y;
    -webkit-overflow-scrolling:touch;
  }
html:has(.modal:not(.hidden)),body:has(.modal:not(.hidden)){overflow:hidden;overscroll-behavior:none}
.profile-language-setting{align-items:center;background:#f5f8fd;border:1px solid #dce5f2;border-radius:14px;display:flex;justify-content:space-between;margin:10px 0;padding:10px 12px}.profile-language-setting>span{display:grid;gap:2px}.profile-language-setting>span small{color:#64748b;font-size:10px}.profile-language-setting .language-switcher{background:#fff;border:1px solid #d7e1ef;border-radius:999px;box-shadow:none;position:static}.profile-language-setting .language-switcher select{background:transparent;border:0;font-size:12px;font-weight:800;min-width:105px;padding:8px 10px}
  html[data-keyboard-open] body .mobile-bottom-nav{display:none!important}
}
@keyframes stores-sheet-rise{from{opacity:.35;transform:translateY(54px) scale(.985)}to{opacity:1;transform:none}}
/* Full MOWO-blue store-directory sheet. */
#stores-modal .modal-content{background:linear-gradient(145deg,#07183e 0%,#103a8b 44%,#2862cc 100%)!important;border-color:#78a9ff!important;color:#fff!important}#stores-modal .modal-content:before{background:radial-gradient(circle at 92% 12%,#99d1ff62 0 2px,transparent 3px),radial-gradient(circle at 92% 12%,transparent 0 70px,#c4e3ff36 71px 72px,transparent 73px),radial-gradient(circle at 12% 88%,#7c5cf13b,transparent 46%)!important;height:100%!important}#stores-modal .modal-content:after{background:linear-gradient(115deg,transparent 34%,#ffffff12 35%,transparent 47%);content:"";inset:0;pointer-events:none;position:absolute;z-index:-1}#stores-modal .store-list{position:relative;z-index:1}#stores-modal .store-directory-search{background:#ffffff!important;border-color:#c9dcff!important}#stores-modal .store-directory-search input{color:#17366f!important}#stores-modal .store-type-filters button{background:#ffffff18!important;border-color:#ffffff45!important;color:#eaf3ff!important}#stores-modal .store-type-filters button.active{background:linear-gradient(135deg,#ff865d,#e94f87)!important;border-color:#ffd3c35c!important;color:#fff!important}#stores-modal .store-directory-caption{color:#d7e8ff!important}#stores-modal .store-directory-row{background:linear-gradient(135deg,#ffffff20,#ffffff10)!important;border-color:#ffffff36!important;color:#fff!important;box-shadow:0 8px 20px #06153725!important}#stores-modal .store-directory-row small{color:#d6e6ff!important}#stores-modal .store-directory-row em,#stores-modal .store-directory-row__open{color:#a9d0ff!important}#stores-modal .store-directory-row:hover{background:linear-gradient(135deg,#ffffff2c,#ffffff17)!important;border-color:#d7e9ff8a!important}#stores-modal .modal-close{background:#ffffff20!important;border-color:#ffffff4d!important;color:#fff!important}@media(max-width:700px){#stores-modal .modal-content{background:linear-gradient(155deg,#07183e 0%,#113c8d 52%,#2862cc 100%)!important}#stores-modal .modal-content:before{height:100%!important}}
/* Store directory: glass on the sheet, not on its existing inner cards. */
html body #stores-modal{
  background:rgba(10,20,35,.16)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body #stores-modal > .modal-content{
  background:rgba(15,35,65,.3)!important;
  border-color:rgba(220,235,255,.5)!important;
  backdrop-filter:blur(9px) saturate(135%);
  -webkit-backdrop-filter:blur(9px) saturate(135%);
  box-shadow:0 24px 80px rgba(10,25,50,.25),inset 0 1px 0 rgba(255,255,255,.4);
}
html body #stores-modal > .modal-content::before,
html body #stores-modal > .modal-content::after{display:none!important}
html body #stores-modal :is(h2,.eyebrow,.store-directory-caption){text-shadow:0 1px 4px rgba(0,0,0,.6)}
/* A full-height curtain travel, rather than a short card entrance. */
html body #cart-modal:not(.hidden) > .modal-content{
  animation:cart-curtain-rise .46s cubic-bezier(.18,.82,.24,1) both;
}
@keyframes cart-curtain-rise{from{transform:translateY(100dvh)}to{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){html body #cart-modal:not(.hidden) > .modal-content{animation:none!important}}
/* Transparent outer cart sheet. Inner product, total and action surfaces stay intact. */
html body #cart-modal{
  background:rgba(10,20,35,.16)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
html body #cart-modal > .modal-content{
  background:rgba(245,249,255,.24)!important;
  border:1px solid rgba(255,255,255,.6);
  backdrop-filter:blur(9px) saturate(135%);
  -webkit-backdrop-filter:blur(9px) saturate(135%);
  box-shadow:0 24px 80px rgba(21,36,73,.22),inset 0 1px 0 rgba(255,255,255,.65);
}
html[data-theme="dark"] body #cart-modal > .modal-content{
  background:rgba(28,43,68,.26)!important;
  border-color:rgba(210,227,255,.3);
}
html body #cart-modal > .modal-content > h2{text-shadow:0 1px 4px rgba(255,255,255,.75)}
html[data-theme="dark"] body #cart-modal > .modal-content > h2{text-shadow:0 1px 4px rgba(0,0,0,.65)}
/* Group ordering is retired from the customer interface. */
html body :is(#group-order-open,#checkout-group-order,#group-order-modal){display:none!important}
html body #cart-modal #checkout-button{
  display:flex;align-items:center;justify-content:center;
  min-height:48px;padding:12px 48px 12px 18px;margin-top:14px;
  border:1px solid rgba(255,255,255,.4);border-radius:16px;
  background:linear-gradient(120deg,#2269e8,#454bd8)!important;
  color:#fff;font-size:15px;font-weight:750;line-height:1.4;
  box-shadow:0 8px 20px rgba(28,67,155,.22),inset 0 1px 0 rgba(255,255,255,.22);
  animation:none!important;text-shadow:none;
}
html body #cart-modal #checkout-button::after{
  display:grid;place-items:center;width:28px;height:28px;right:12px;
  border-radius:9px;background:rgba(255,255,255,.15);font-size:18px;
}
html body #cart-modal #checkout-button:disabled{opacity:.55;cursor:not-allowed}
