/* ZOC_LSF_UNIFIED_MOBILE_DRAWER_V16
   Approved magazine drawer design, now canonical for all Luxury Storefront routes. */
@media (hover:none), (pointer:coarse), (max-width:980px) {
  .lsf-root[data-template="luxury_storefront"]{overflow:visible!important}
  html.lsf-menu-open,html.lsf-menu-open body,body.lsf-menu-open{overflow:hidden!important;overscroll-behavior:none!important}

  .lsf-root[data-template="luxury_storefront"] .lsf-drawer-overlay{
    position:fixed!important;inset:0 0 calc(76px + env(safe-area-inset-bottom,0px)) 0!important;z-index:2147483600!important;display:block!important;
    width:100dvw!important;height:auto!important;margin:0!important;padding:0!important;border:0!important;
    background:rgba(0,0,0,.68)!important;backdrop-filter:blur(3px)!important;-webkit-backdrop-filter:blur(3px)!important
  }
  .lsf-root[data-template="luxury_storefront"] .lsf-mobile-drawer{
    position:fixed!important;z-index:2147483601!important;inset:0 0 calc(76px + env(safe-area-inset-bottom,0px)) auto!important;display:flex!important;flex-direction:column!important;
    width:min(92dvw,430px)!important;max-width:100dvw!important;height:auto!important;max-height:calc(100dvh - 76px - env(safe-area-inset-bottom,0px))!important;
    margin:0!important;padding:0!important;overflow:hidden!important;border:0!important;border-radius:0!important;
    background:#0b1924!important;box-shadow:-26px 0 72px rgba(0,0,0,.62)!important;color:#f8f1e4!important;isolation:isolate!important
  }
  .zoc-lsf-mobile-head{
    display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;flex:0 0 auto!important;
    min-height:88px!important;padding:max(18px,env(safe-area-inset-top)) 18px 15px!important;
    border-bottom:1px solid rgba(216,166,66,.25)!important;background:rgba(7,19,29,.99)!important
  }
  .zoc-lsf-mobile-brand{display:flex!important;align-items:center!important;min-width:0!important;gap:11px!important;color:#f8f1e4!important;text-decoration:none!important}
  .zoc-lsf-mobile-brand img,.zoc-lsf-mobile-mark{
    width:48px!important;height:48px!important;flex:0 0 48px!important;object-fit:contain!important;display:grid!important;place-items:center!important;
    border-radius:14px!important;background:rgba(216,166,66,.1)!important
  }
  .zoc-lsf-mobile-brand strong{overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;font-size:17px!important}
  .zoc-lsf-mobile-close,.lsf-root[data-template="luxury_storefront"] .lsf-drawer-close{
    width:50px!important;height:50px!important;min-width:50px!important;display:grid!important;place-items:center!important;
    border:1px solid rgba(255,255,255,.12)!important;border-radius:15px!important;background:rgba(255,255,255,.06)!important;
    color:#fff!important;font-size:30px!important;line-height:1!important
  }
  .zoc-lsf-mobile-nav{
    display:grid!important;align-content:start!important;gap:8px!important;flex:1 1 auto!important;min-height:0!important;
    padding:15px!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important
  }
  .zoc-lsf-mobile-link,.zoc-lsf-mobile-categories>summary{
    min-height:56px!important;display:flex!important;align-items:center!important;justify-content:space-between!important;gap:12px!important;
    padding:11px 14px!important;border:1px solid rgba(255,255,255,.09)!important;border-radius:15px!important;
    background:rgba(255,255,255,.035)!important;color:#f8f1e4!important;text-decoration:none!important;font-size:15px!important;font-weight:800!important
  }
  .zoc-lsf-mobile-link.is-active{border-color:rgba(216,166,66,.48)!important;background:rgba(216,166,66,.12)!important;color:#f1c96e!important}
  .zoc-lsf-mobile-link i,.zoc-lsf-mobile-categories summary i{color:#d8a642!important;font-style:normal!important;font-size:22px!important}
  .zoc-lsf-mobile-categories{display:grid!important;gap:8px!important}
  .zoc-lsf-mobile-categories>div{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;padding:7px 2px 2px!important}
  .zoc-lsf-mobile-categories>div>a{
    min-height:46px!important;display:flex!important;align-items:center!important;padding:9px 11px!important;
    border:1px solid rgba(255,255,255,.08)!important;border-radius:12px!important;background:rgba(255,255,255,.025)!important;
    color:#cbd5dc!important;text-decoration:none!important;font-size:12px!important;line-height:1.65!important
  }
  .zoc-lsf-mobile-footer{
    display:grid!important;grid-template-columns:1fr 1fr!important;gap:8px!important;flex:0 0 auto!important;
    padding:12px 15px max(14px,env(safe-area-inset-bottom))!important;border-top:1px solid rgba(216,166,66,.22)!important;background:rgba(7,19,29,.99)!important
  }
  .zoc-lsf-mobile-footer>*{
    min-height:52px!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;
    padding:9px 12px!important;border:1px solid rgba(216,166,66,.25)!important;border-radius:14px!important;
    background:rgba(216,166,66,.08)!important;color:#f8f1e4!important;text-align:center!important;text-decoration:none!important;font:inherit!important;font-weight:850!important
  }
  .zoc-lsf-mobile-cart b{min-width:24px;height:24px;display:grid;place-items:center;padding:0 5px;border-radius:999px;background:#f1c96e;color:#111;font-size:11px}
  .zoc-lsf-mobile-footer .zoc-lsf-mobile-logout{grid-column:1/-1!important;color:#ffadad!important;border-color:rgba(255,120,120,.25)!important;background:rgba(255,80,80,.06)!important}

  /* Safe fallback before JavaScript builds the canonical markup. */
  .lsf-mobile-drawer:not(:has(.zoc-lsf-mobile-head)){
    padding:max(18px,env(safe-area-inset-top)) 15px max(18px,env(safe-area-inset-bottom))!important;gap:8px!important;overflow-y:auto!important
  }
  .lsf-mobile-drawer:not(:has(.zoc-lsf-mobile-head))>a,
  .lsf-mobile-drawer:not(:has(.zoc-lsf-mobile-head)) details>a,
  .lsf-mobile-drawer:not(:has(.zoc-lsf-mobile-head)) summary{
    min-height:54px!important;display:flex!important;align-items:center!important;padding:11px 14px!important;
    border:1px solid rgba(255,255,255,.09)!important;border-radius:14px!important;background:rgba(255,255,255,.035)!important;color:#f8f1e4!important;text-decoration:none!important
  }

  /* The drawer ends above the persistent bottom navigation. */
  html.zoc-lsf-cart-portal-open .lsf-mobile-bottom-nav-v10,body.zoc-lsf-cart-portal-open .lsf-mobile-bottom-nav-v10{
    visibility:hidden!important;pointer-events:none!important;transform:translateY(115%)!important
  }

  /* Canonical side cart: keep its action inside the visible safe area. */
  html body #lsf-cart-portal-v746{z-index:2147483650!important}
  html body #lsf-cart-portal-v746,html body #lsf-cart-portal-v746 *{box-sizing:border-box!important}
  html body #lsf-cart-portal-v746 .lcp746-panel{
    position:fixed!important;inset:0 auto 0 0!important;left:0!important;right:auto!important;
    width:min(100dvw,430px)!important;max-width:100dvw!important;height:100dvh!important;max-height:100dvh!important;
    display:flex!important;flex-direction:column!important;margin:0!important;padding:0 14px!important;overflow:hidden!important;border-radius:0!important
  }
  html body #lsf-cart-portal-v746 .lcp746-head{
    flex:0 0 auto!important;width:auto!important;margin:0 -14px 0!important;padding:max(16px,env(safe-area-inset-top)) 14px 14px!important
  }
  html body #lsf-cart-portal-v746 .lcp746-items{
    flex:1 1 auto!important;min-height:0!important;width:100%!important;overflow-y:auto!important;overflow-x:hidden!important;
    padding:10px 2px 16px!important;-webkit-overflow-scrolling:touch!important;overscroll-behavior:contain!important
  }
  html body #lsf-cart-portal-v746 .lcp746-footer{
    position:relative!important;z-index:4!important;flex:0 0 auto!important;width:auto!important;max-width:none!important;
    margin:0 -14px!important;padding:14px 14px max(18px,env(safe-area-inset-bottom))!important;
    border-top:1px solid rgba(255,255,255,.12)!important;background:rgba(7,19,29,.99)!important;
    box-shadow:0 -16px 34px rgba(0,0,0,.28)!important
  }
  html body #lsf-cart-portal-v746 .lcp746-action{min-height:56px!important;margin:0!important;font-size:15px!important;touch-action:manipulation!important}
  html body #lsf-cart-portal-v746 .lcp746-row,html body #lsf-cart-portal-v746 .lcp746-total{width:100%!important;max-width:100%!important;min-width:0!important}
  html body #lsf-cart-portal-v746 .lcp746-row>*{min-width:0!important}
}

@media (max-width:380px){
  .lsf-root[data-template="luxury_storefront"] .lsf-mobile-drawer{width:100dvw!important}
  .zoc-lsf-mobile-categories>div{grid-template-columns:1fr!important}
  html body #lsf-cart-portal-v746 .lcp746-panel{width:100dvw!important}
}
