/* V61: product image ratio, home CTA sizing, mobile menu New Colors, and scroll-only back-to-top */
.product-page .hero-card{
  aspect-ratio:1/1!important;
  max-height:min(680px,calc(100vh - 150px))!important;
}
.product-page .hero-card img,
.product-page #heroProductImage{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center center!important;
  border-radius:24px!important;
}

/* Make homepage product action buttons less flat without returning to oversized buttons */
.product-section .cta-row.product-buy-row .btn,
.product-section .product-buy-row.shopify-commerce-actions .btn{
  min-height:48px!important;
  padding:12px 18px!important;
  border-radius:999px!important;
  font-size:13px!important;
  line-height:1.1!important;
}
.product-page .actions .btn{
  min-height:46px!important;
  padding:11px 16px!important;
  border-radius:22px!important;
}

/* Back-to-top: hidden on first screen, only appears after scrolling */
.back-top{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(14px)!important;
  transition:opacity .22s ease, transform .22s ease, visibility .22s ease!important;
}
.back-top.show{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:translateY(0)!important;
}

/* Product-page mobile menu support */
.product-page .v61-product-hamb{
  display:none;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.16);
  background:rgba(255,255,255,.08);
  color:#fff;
  align-items:center;
  justify-content:center;
  font-size:20px;
  font-weight:950;
  cursor:pointer;
}
.product-page .mobile-menu{
  display:none;
  position:fixed;
  top:66px;
  left:0;
  right:0;
  z-index:998;
  background:rgba(8,9,12,.98);
  color:#fff;
  border-bottom:1px solid rgba(255,255,255,.1);
  padding:16px 24px 24px;
  box-shadow:0 36px 80px rgba(0,0,0,.38);
}
.product-page .mobile-menu.open{display:block}
.product-page .mobile-menu a{
  display:block;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
  color:rgba(255,255,255,.82);
  font-weight:900;
}
.product-page .mobile-menu a[href="/stage-t-new-colors"],
.mobile-menu a[href="/stage-t-new-colors"]{
  color:#ffb56d!important;
}

@media(max-width:900px){
  .product-page .v61-product-hamb{display:inline-flex}
  .product-page .nav-inner{gap:10px}
  .product-page .nav .btn[href="/"]{
    min-height:42px!important;
    padding:9px 13px!important;
    font-size:12px!important;
  }
  .product-page .hero-card{
    max-height:none!important;
    aspect-ratio:1/1!important;
    padding:10px!important;
  }
  .product-page .hero-card img,
  .product-page #heroProductImage{
    height:100%!important;
    width:100%!important;
    object-fit:contain!important;
  }
  .product-section .cta-row.product-buy-row .btn,
  .product-section .product-buy-row.shopify-commerce-actions .btn{
    min-height:46px!important;
    padding:11px 12px!important;
    border-radius:24px!important;
    font-size:12.5px!important;
  }
  .product-page .actions{
    gap:9px!important;
  }
  .product-page .actions .btn{
    min-height:44px!important;
    border-radius:22px!important;
  }
}
@media(max-width:520px){
  .product-section .cta-row.product-buy-row .btn,
  .product-section .product-buy-row.shopify-commerce-actions .btn{
    min-height:45px!important;
    white-space:normal!important;
  }
  .product-page .actions .btn{
    min-height:43px!important;
    white-space:normal!important;
  }
}
/* V62: enlarge homepage New Colors teaser product visuals */
.stage-new-colors-strip{
  align-items:stretch!important;
}
.stage-new-colors-strip img{
  width:100%!important;
  height:clamp(420px, 32vw, 560px)!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#f3f3f1!important;
  padding:8px!important;
  border-radius:28px!important;
  box-shadow:0 30px 90px rgba(0,0,0,.28)!important;
}
@media(max-width:900px){
  .stage-new-colors-strip img{
    height:clamp(220px, 30vw, 320px)!important;
    padding:6px!important;
  }
}
@media(max-width:640px){
  .stage-new-colors-strip{
    gap:10px!important;
  }
  .stage-new-colors-strip img{
    height:180px!important;
    padding:4px!important;
    border-radius:20px!important;
  }
}
