/* SecretToys v13 — product gallery touch/overflow + professional mobile menu.
   Loaded after v12. This file intentionally avoids homepage slider/category rules. */

@media (max-width:991px){
  /* PRODUCT GALLERY -------------------------------------------------------
     Keep every horizontal movement inside the thumbnail rail. The document
     itself must remain the width of the mobile layout viewport. */
  body.vp-product-route .vp-product-gallery,
  body.vp-product-route .vp-main-image,
  body.vp-product-route .vp-gallery-carousel{
    min-width:0!important;
    max-width:100%!important;
    box-sizing:border-box!important;
  }

  body.vp-product-route .vp-product-gallery{
    overflow-x:clip!important;
    overflow-y:visible!important;
    contain:layout paint!important;
  }

  body.vp-product-route .vp-main-image{
    overflow:hidden!important;
    touch-action:pan-y pinch-zoom!important;
    overscroll-behavior-x:none!important;
  }

  body.vp-product-route .vp-gallery-carousel{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow:hidden!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    gap:6px!important;
    padding:0!important;
    margin-left:0!important;
    margin-right:0!important;
  }

  body.vp-product-route .vp-gallery-carousel > *{
    min-width:0!important;
    box-sizing:border-box!important;
  }

  body.vp-product-route .vp-gallery-arrow{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    margin:0!important;
  }

  body.vp-product-route .vp-thumb-strip,
  body.vp-product-route .vp-gallery-carousel .vp-thumb-strip{
    display:flex!important;
    flex-wrap:nowrap!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
    overscroll-behavior-block:auto!important;
    /* Both directions are intentional: horizontal movement scrolls thumbnails,
       vertical movement scrolls the product page normally. */
    touch-action:pan-x pan-y pinch-zoom!important;
    scroll-snap-type:x proximity!important;
    scrollbar-width:none!important;
  }
  body.vp-product-route .vp-thumb-strip::-webkit-scrollbar{display:none!important}

  body.vp-product-route .vp-thumb{
    touch-action:manipulation!important;
    user-select:none!important;
    -webkit-user-select:none!important;
  }

  /* MOBILE MENU ---------------------------------------------------------- */
  #navbar-default.vp-mobile-menu-v5{
    display:flex!important;
    flex-direction:column!important;
    position:fixed!important;
    top:0!important;
    bottom:0!important;
    left:0!important;
    right:auto!important;
    width:min(88vw,370px)!important;
    max-width:370px!important;
    height:100vh!important;
    height:100dvh!important;
    max-height:100dvh!important;
    overflow:hidden!important;
    background:#fff!important;
    border:0!important;
    border-right:1px solid rgba(15,23,42,.10)!important;
    border-radius:0 18px 18px 0!important;
    box-shadow:24px 0 60px rgba(15,23,42,.22)!important;
    z-index:2147483500!important;
    box-sizing:border-box!important;
  }

  #navbar-default.vp-mobile-menu-v5 .offcanvas-header{
    flex:0 0 auto!important;
    min-height:72px!important;
    padding:13px 14px!important;
    background:linear-gradient(180deg,#fff,#fff7f7)!important;
    border-bottom:1px solid #eceff3!important;
    gap:10px!important;
  }

  #navbar-default.vp-mobile-menu-v5 .offcanvas-header .vp-logo-v5{
    display:flex!important;
    align-items:center!important;
    min-width:0!important;
    max-width:calc(100% - 54px)!important;
  }
  #navbar-default.vp-mobile-menu-v5 .offcanvas-header .vp-logo-v5 img{
    display:block!important;
    width:auto!important;
    height:auto!important;
    max-width:170px!important;
    max-height:46px!important;
    object-fit:contain!important;
  }

  #navbar-default.vp-mobile-menu-v5 .btn-close{
    flex:0 0 40px!important;
    width:40px!important;
    height:40px!important;
    border:1px solid #e5e7eb!important;
    border-radius:12px!important;
    background:#fff!important;
    color:#111827!important;
    font-size:25px!important;
    box-shadow:0 4px 14px rgba(15,23,42,.07)!important;
  }

  #navbar-default.vp-mobile-menu-v5 .offcanvas-body{
    flex:1 1 auto!important;
    min-height:0!important;
    height:auto!important;
    max-height:none!important;
    overflow-y:auto!important;
    overflow-x:hidden!important;
    overscroll-behavior-y:contain!important;
    -webkit-overflow-scrolling:touch!important;
    padding:14px 14px calc(26px + env(safe-area-inset-bottom))!important;
    background:#fff!important;
  }

  #navbar-default .vp-mobile-menu-search{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 46px!important;
    width:100%!important;
    min-width:0!important;
    min-height:46px!important;
    margin:0 0 14px!important;
    border:1px solid #dfe3e8!important;
    border-radius:13px!important;
    overflow:hidden!important;
    background:#fff!important;
    box-shadow:0 5px 18px rgba(15,23,42,.045)!important;
  }
  #navbar-default .vp-mobile-menu-search input{
    width:100%!important;
    min-width:0!important;
    height:46px!important;
    border:0!important;
    padding:0 13px!important;
    background:#fff!important;
    color:#111827!important;
    font-size:14px!important;
    outline:0!important;
  }
  #navbar-default .vp-mobile-menu-search button{
    width:46px!important;
    min-width:46px!important;
    height:46px!important;
    border:0!important;
    background:var(--vp-primary,#ef4f58)!important;
    color:#fff!important;
    display:grid!important;
    place-items:center!important;
  }

  #navbar-default .vp-mobile-menu-section{
    display:block!important;
    margin:16px 0 7px!important;
    padding:0 4px!important;
    color:#667085!important;
    font-size:10px!important;
    line-height:1.3!important;
    font-weight:900!important;
    letter-spacing:.09em!important;
    text-transform:uppercase!important;
  }

  #navbar-default .offcanvas-body > a{
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    min-height:47px!important;
    width:100%!important;
    margin:0 0 5px!important;
    padding:10px 12px!important;
    border:1px solid transparent!important;
    border-bottom:1px solid #f0f2f5!important;
    border-radius:11px!important;
    background:#fff!important;
    color:#182230!important;
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:750!important;
    text-decoration:none!important;
    box-sizing:border-box!important;
  }
  #navbar-default .offcanvas-body > a::after{
    content:"›"!important;
    flex:0 0 auto!important;
    margin-left:10px!important;
    color:#98a2b3!important;
    font-size:20px!important;
    line-height:1!important;
  }
  #navbar-default .offcanvas-body > a small{
    margin-left:auto!important;
    padding-left:8px!important;
    color:#98a2b3!important;
    font-size:10px!important;
    font-weight:800!important;
  }
  #navbar-default .offcanvas-body > a:active,
  #navbar-default .offcanvas-body > a:hover{
    background:#fff5f5!important;
    border-color:#ffd7da!important;
    color:var(--vp-primary,#ef4f58)!important;
  }

  /* Offcanvas must sit over the fixed bottom navigation, never behind it. */
  .vp-offcanvas-backdrop,
  .offcanvas-backdrop{
    z-index:2147483400!important;
    background:rgba(15,23,42,.62)!important;
    backdrop-filter:blur(2px)!important;
  }
  #navbar-default.vp-mobile-menu-v5,
  #offcanvasRight.vp-cart-drawer{
    z-index:2147483500!important;
  }

  /* Hiding the fixed nav while a menu/cart drawer is open gives the drawer the
     full usable height and prevents any footer controls from covering links. */
  html.vp-menu-open .vp-mobile-bottom-nav,
  html.st-offcanvas-open .vp-mobile-bottom-nav{
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  #offcanvasRight.vp-cart-drawer{
    height:100vh!important;
    height:100dvh!important;
    max-height:100dvh!important;
  }
}
