/* ZOC_LSF_MOBILE_BLOG_CART_UI_V14
   Visual-only mobile corrections for the magazine drawer and cart action safe-area. */

@media (hover:none), (pointer:coarse), (max-width:760px) {
  /* The magazine stylesheet clips its root. A fixed mobile drawer must escape it. */
  .lsf-magazine-page .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-magazine-page .lsf-drawer-overlay {
    position:fixed!important;
    inset:0!important;
    z-index:2147483600!important;
    display:block!important;
    width:100dvw!important;
    height:100dvh!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    background:rgba(0,0,0,.68)!important;
  }
  .lsf-magazine-page .lsf-mobile-drawer {
    position:fixed!important;
    z-index:2147483601!important;
    inset:0 0 0 auto!important;
    display:flex!important;
    flex-direction:column!important;
    width:min(92dvw,430px)!important;
    max-width:100dvw!important;
    height:100dvh!important;
    max-height:100dvh!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;
  }
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .zoc-lsf-mobile-brand img,
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .zoc-lsf-mobile-brand strong {
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:17px!important;
  }
  .lsf-magazine-page .zoc-lsf-mobile-close,
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .zoc-lsf-mobile-link,
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .zoc-lsf-mobile-link.is-active {
    border-color:rgba(216,166,66,.48)!important;
    background:rgba(216,166,66,.12)!important;
    color:#f1c96e!important;
  }
  .lsf-magazine-page .zoc-lsf-mobile-link i,
  .lsf-magazine-page .zoc-lsf-mobile-categories summary i {
    color:#d8a642!important;
    font-style:normal!important;
    font-size:22px!important;
  }
  .lsf-magazine-page .zoc-lsf-mobile-categories {
    display:grid!important;
    gap:8px!important;
  }
  .lsf-magazine-page .zoc-lsf-mobile-categories > div {
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:7px!important;
    padding:7px 2px 2px!important;
  }
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .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;
  }
  .lsf-magazine-page .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;
  }

  /* Fallback styling while JavaScript is still constructing the rich drawer. */
  .lsf-magazine-page .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-magazine-page .lsf-mobile-drawer:not(:has(.zoc-lsf-mobile-head)) > a,
  .lsf-magazine-page .lsf-mobile-drawer:not(:has(.zoc-lsf-mobile-head)) details > a,
  .lsf-magazine-page .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;
  }

  /* Keep the persistent bottom menu below the open side drawer. */
  html.lsf-menu-open .lsf-mobile-bottom-nav-v10,
  body.lsf-menu-open .lsf-mobile-bottom-nav-v10 {
    visibility:hidden!important;
    pointer-events:none!important;
    transform:translateY(110%)!important;
  }

  /* The cart/checkout action must be scrollable above the persistent bottom menu. */
  .lsf-cart-page,
  .sc-page[data-sc-cart] {
    padding-bottom:calc(150px + env(safe-area-inset-bottom))!important;
    scroll-padding-bottom:calc(130px + env(safe-area-inset-bottom))!important;
  }
  .lsf-cart-page .lsf-cart-page-grid,
  .sc-page[data-sc-cart] .sc-cart-layout {
    padding-bottom:calc(34px + env(safe-area-inset-bottom))!important;
  }
  .lsf-cart-page .lsf-cart-page-summary,
  .sc-page[data-sc-cart] .sc-summary {
    margin-bottom:calc(92px + env(safe-area-inset-bottom))!important;
  }
  .lsf-cart-page .lsf-cart-page-summary form,
  .sc-page[data-sc-cart] .sc-summary form {
    position:relative!important;
    z-index:2!important;
    scroll-margin-bottom:calc(120px + env(safe-area-inset-bottom))!important;
  }
  .lsf-cart-page .lsf-cart-page-summary button[type="submit"],
  .sc-page[data-sc-cart] .sc-summary button[type="submit"] {
    min-height:58px!important;
    touch-action:manipulation!important;
    -webkit-tap-highlight-color:transparent!important;
  }
}

@media (max-width:380px) {
  .lsf-magazine-page .lsf-mobile-drawer { width:100dvw!important; }
  .lsf-magazine-page .zoc-lsf-mobile-categories > div { grid-template-columns:1fr!important; }
}
