/* SecretToys v6 — final viewport, product, hero slider and category rail stability fixes. */

/* Browser default body margin was creating a real 8px mobile overflow/blank edge. */
html{
  margin:0!important;
  padding:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  overflow-x:clip!important;
}
body.vp-site-body,
body{
  margin:0!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:hidden!important;
  overflow-x:clip!important;
}
.vp-main-shell{width:100%!important;max-width:100%!important;min-width:0!important}
img,video,iframe,svg{max-width:100%}

/* PRODUCT: allow inner thumbnail rails to scroll but never the document. */
@media (max-width:767px){
  .vp-product-page{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    overflow-x:hidden!important;
    overflow-x:clip!important;
  }
  .vp-product-page > .vp-container.vp-container-wide{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    min-width:0!important;
    margin:0 8px!important;
    padding:0!important;
    box-sizing:border-box!important;
  }
  .vp-product-page .vp-breadcrumbs,
  .vp-product-page .vp-product-detail,
  .vp-product-page .vp-product-gallery,
  .vp-product-page .vp-product-summary,
  .vp-product-page .vp-product-panels,
  .vp-product-page .vp-panel,
  .vp-product-page .nova-product-info-wrap,
  .vp-product-page .nova-product-info-card,
  .vp-product-page .nova-buy-info-card{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .vp-product-page .vp-product-detail{
    display:block!important;
    margin:0!important;
    padding:10px!important;
    overflow:hidden!important;
    overflow:clip!important;
  }
  .vp-product-page .vp-product-gallery{margin:0!important}
  .vp-product-page .vp-main-image{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    box-sizing:border-box!important;
    overflow:hidden!important;
  }
  .vp-product-page .vp-main-image img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    height:100%!important;
    object-fit:contain!important;
  }
  .vp-product-page .vp-gallery-carousel{
    display:grid!important;
    grid-template-columns:34px minmax(0,1fr) 34px!important;
    align-items:center!important;
    gap:6px!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:10px 0 0!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  .vp-product-page .vp-gallery-arrow{
    width:34px!important;
    min-width:34px!important;
    max-width:34px!important;
    height:34px!important;
    margin:0!important;
    padding:0!important;
  }
  .vp-product-page .vp-thumb-strip{
    display:flex!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:4px 2px 7px!important;
    gap:7px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x!important;
    scrollbar-width:none!important;
  }
  .vp-product-page .vp-thumb-strip::-webkit-scrollbar{display:none!important}
  .vp-product-page .vp-thumb{flex:0 0 62px!important;width:62px!important;min-width:62px!important;height:62px!important}
  .vp-product-page .vp-product-summary{margin:16px 0 0!important;padding:0!important}
  .vp-product-page .vp-meta-pills,
  .vp-product-page .vp-product-rating-line,
  .vp-product-page .vp-price-box,
  .vp-product-page .vp-short-desc,
  .vp-product-page .vp-variant-area,
  .vp-product-page .vp-variant-grid,
  .vp-product-page .vp-action-box,
  .vp-product-page .vp-buy-promises,
  .vp-product-page .vp-mini-specs,
  .vp-product-page .vp-spec-grid,
  .vp-product-page .vp-tag-list,
  .vp-product-page .vp-product-information-sections{
    max-width:100%!important;
    min-width:0!important;
    box-sizing:border-box!important;
  }
  .vp-product-page .vp-product-information-sections{grid-template-columns:1fr!important}
  .vp-product-page h1,
  .vp-product-page h2,
  .vp-product-page h3,
  .vp-product-page p,
  .vp-product-page a,
  .vp-product-page span,
  .vp-product-page strong,
  .vp-product-page td,
  .vp-product-page dd{overflow-wrap:anywhere;word-break:normal}
}

/* HOME TOP CATEGORIES: guaranteed horizontal swipe/auto-scroll rail on mobile. */
.vp-homepage .vp-home-peek-hero .vp-slider-category-strip{
  box-sizing:border-box!important;
  max-width:100%!important;
}
@media (max-width:991px){
  .vp-homepage .vp-home-peek-hero .vp-slider-category-strip,
  .vp-homepage .vp-home-peek-hero .vp-slider-category-strip.is-scrollable{
    display:flex!important;
    flex-wrap:nowrap!important;
    justify-content:flex-start!important;
    align-items:flex-start!important;
    width:100%!important;
    max-width:100%!important;
    margin:0 0 14px!important;
    padding:8px 2px 12px!important;
    gap:12px!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scroll-behavior:smooth!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
    scrollbar-width:none!important;
    touch-action:pan-x!important;
  }
  .vp-homepage .vp-home-peek-hero .vp-slider-category-strip::-webkit-scrollbar{display:none!important}
  .vp-homepage .vp-slider-category{
    flex:0 0 76px!important;
    width:76px!important;
    min-width:76px!important;
    scroll-snap-align:start!important;
  }
  .vp-homepage .vp-slider-category-icon{
    width:62px!important;
    height:62px!important;
    min-width:62px!important;
    flex-basis:62px!important;
    border-radius:50%!important;
    overflow:hidden!important;
  }
  .vp-homepage .vp-slider-category strong{
    width:76px!important;
    max-width:76px!important;
    font-size:10.5px!important;
    line-height:1.22!important;
    text-align:center!important;
  }
}

/* HOME HERO: self-contained layout so it remains correct even if an older V8 file is cached. */
.vp-homepage .vp-peek-slider{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin:0!important;
  overflow:hidden!important;
  border-radius:18px!important;
  background:#111827!important;
  box-shadow:0 14px 38px rgba(15,23,42,.11)!important;
  isolation:isolate!important;
}
.vp-homepage .vp-peek-slider-track{
  position:relative!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:1530/400!important;
  overflow:hidden!important;
  transform:none!important;
}
.vp-homepage .vp-peek-slide{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:none!important;
  transition:opacity .42s ease,visibility .42s ease!important;
}
.vp-homepage .vp-peek-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  z-index:2!important;
}
.vp-homepage .vp-peek-slide picture,
.vp-homepage .vp-peek-slide img{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:100%!important;
  margin:0!important;
}
.vp-homepage .vp-peek-slide img{object-fit:cover!important;object-position:center!important}
.vp-homepage .vp-peek-slide-copy{z-index:3!important}
.vp-homepage .vp-peek-arrow{z-index:7!important}
.vp-homepage .vp-peek-dots{z-index:7!important}

@media (max-width:767px){
  .vp-homepage .vp-home-peek-hero>.vp-container-wide{
    width:calc(100% - 16px)!important;
    max-width:calc(100% - 16px)!important;
    margin-inline:8px!important;
  }
  .vp-homepage .vp-peek-slider{border-radius:14px!important}
  .vp-homepage .vp-peek-slider-track{
    aspect-ratio:16/9!important;
    min-height:0!important;
  }
  .vp-homepage .vp-peek-slide-copy{
    width:100%!important;
    max-width:100%!important;
    padding:22px 18px 40px!important;
  }
  .vp-homepage .vp-peek-prev{left:8px!important}
  .vp-homepage .vp-peek-next{right:8px!important}
}
