/* v23: editorial product details and original-glyph horizontal brand lockup. */
.mysterez-horizontal-wordmark{display:block;height:auto;width:min(100%,450px);margin:0 0 26px;filter:invert(1);pointer-events:none}
.collection-product-card .collection-image-nav{width:44px;height:48px;color:#760f29!important;background:transparent!important;border:0!important;box-shadow:none!important;text-shadow:none!important;filter:none!important;font-size:0;opacity:1;transform:none}
.collection-product-card .collection-image-nav::before{content:none!important;display:none!important}
.collection-image-nav:after{content:"";width:13px;height:13px;border-top:4px solid currentColor;border-right:4px solid currentColor;transform:rotate(45deg);transition:translate .22s}
.collection-image-nav.is-prev:after{transform:rotate(-135deg)}
.collection-image-nav.is-prev:hover:after{translate:-3px 0}.collection-image-nav.is-next:hover:after{translate:3px 0}
.collection-product-card .collection-image-nav:focus-visible{outline:2px solid #760f29;outline-offset:-4px}
.collection-product-card .collection-image-count{right:14px;top:14px;padding:0;background:transparent!important;color:var(--image-counter-color,#fff);font-size:12px;font-weight:800;line-height:1.3;letter-spacing:.05em;text-shadow:0 0 2px var(--image-counter-outline,#000),0 1px 2px var(--image-counter-outline,#000);pointer-events:none}
.collection-product-info h2{font-weight:800;font-size:clamp(20px,1.65vw,28px);line-height:1.14}
.collection-product-info p{font-size:16px;line-height:1.4;color:#991b36;font-weight:800}
.collection-product-info del{font-size:12px;font-weight:500;color:#6a6a6a}
.collection-product-media .collection-view-piece,.products-section .product-media .view-product{left:18px;right:18px;bottom:18px;min-height:46px;padding:0 18px;background:#090909;border:1px solid #313131;color:#fff;font-size:10px;letter-spacing:.13em;isolation:isolate;overflow:hidden;border-radius:2px}
.collection-product-media:hover .collection-view-piece,.collection-product-media:focus-visible .collection-view-piece,.products-section .product-media:hover .view-product,.products-section .product-media:focus-visible .view-product{background:#090909;border-color:#7d2036}
.collection-view-piece:before,.products-section .view-product:before{content:"";position:absolute;inset:-80% -60%;z-index:-1;background:linear-gradient(110deg,transparent 35%,rgba(164,19,50,.8) 48%,transparent 61%);transform:translateX(-80%);transition:transform .75s ease;pointer-events:none}
.collection-product-media:hover .collection-view-piece:before,.collection-product-media:focus-visible .collection-view-piece:before,.products-section .product-media:hover .view-product:before,.products-section .product-media:focus-visible .view-product:before{transform:translateX(80%)}
.site-header .header-actions svg{width:24px;height:24px;stroke-width:1.8}
.site-header .header-actions>button,.site-header .header-actions>a{min-width:44px;min-height:44px}
.site-header .header-actions .user-action{font-size:11px;font-weight:700}
.gender-primary-link>span,.gender-closing a,.view-product svg,.button svg{transition:transform .25s ease}
.gender-primary-link:hover>span,.gender-primary-link:focus-visible>span{transform:translate(4px,-3px)}
.view-product:hover svg,.button:hover svg{transform:translateX(5px)}
.gender-hero-gallery{position:relative;z-index:0}
.mysterez-hero-film{position:absolute;inset:0;z-index:3;pointer-events:none}
.mysterez-hero-film video{position:relative;z-index:1;width:100%;height:100%;object-fit:var(--mysterez-frame-fit,cover);opacity:0;transition:opacity .4s}
.mysterez-hero-film.is-ready video{opacity:1}
.mysterez-film-controls{position:absolute;z-index:4;bottom:18px;right:18px;left:18px;display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;pointer-events:auto}
.mysterez-film-controls[hidden]{display:none}
.mysterez-film-controls button{color:#fff;background:rgba(0,0,0,.85);border:1px solid #777;min-height:44px;padding:8px 12px;font-size:11px}
.mysterez-camera-glint{position:absolute;z-index:2;left:var(--flash-x,50%);top:var(--flash-y,50%);width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.25),rgba(255,255,255,.07) 20%,transparent 65%);opacity:0;transform:translate(-50%,-50%);pointer-events:none}
.mysterez-camera-glint.is-glinting{animation:mysterez-camera-glint 1.1s ease-out 1}
@keyframes mysterez-camera-glint{0%,100%{opacity:0}25%{opacity:1}}
@media(hover:none){.collection-product-media .collection-view-piece,.products-section .product-media .view-product{opacity:1;transform:none}}
@media(max-width:760px){.site-header .header-actions{gap:4px}.site-header .header-actions svg{width:23px;height:23px}.collection-product-info p{font-size:15px}.mysterez-horizontal-wordmark{max-width:340px;margin-bottom:22px}}
@media(prefers-reduced-motion:reduce){.mysterez-camera-glint{display:none!important}.collection-view-piece:before,.products-section .view-product:before{display:none}.gender-primary-link>span,.view-product svg,.mysterez-hero-film video{transition:none!important;transform:none!important;translate:none!important}.collection-image-nav:after{transition:none!important;translate:none!important}}
/* Managed builder films keep the authored geometry and content layers. */
.hero[data-managed-hero-film] .mysterez-hero-film{z-index:auto}
.hero[data-managed-hero-film] .mysterez-film-controls{z-index:6}
.hero[data-managed-hero-film] .hero-shade,.hero[data-managed-hero-film] .hero-content{pointer-events:none}
.hero[data-managed-hero-film] .hero-content a,.hero[data-managed-hero-film] .hero-content button{pointer-events:auto}
.hero[data-managed-hero-film]::before,.hero[data-managed-hero-film]::after,.hero[data-managed-hero-film] .hero-media::before,.hero[data-managed-hero-film] .hero-media::after{animation:none!important;display:none!important}

.product-info h3{font-weight:800}.product-info p{font-size:16px;color:#991b36;font-weight:800}

.mysterez-builder-preview .hero[data-managed-hero-film] .hero-content [data-mysterez-field]{pointer-events:auto}

.mysterez-hero-film .mysterez-film-poster{position:absolute;inset:0;width:100%;height:100%;object-fit:var(--mysterez-frame-fit,cover);opacity:0;pointer-events:none}.mysterez-hero-film .mysterez-film-poster.is-loaded{opacity:1}

/* v24: product sections share large stable frames, independent of photo ratio
   and the number selected. Keep empty tracks so short rows do not balloon.
   Container-aware minimum prevents tiny cards in narrow authored sections. */
.products-section > .product-grid.mysterez-product-grid{
  grid-template-columns:repeat(auto-fill,minmax(min(100%,max(280px,calc((100% - 40px)/3))),1fr));
  gap:36px 20px;
  align-items:start;
}
.products-section > .product-grid > .product-card{min-width:0}
.products-section .product-card > .product-media{
  display:block;
  position:relative;
  width:100%;
  height:auto;
  aspect-ratio:4 / 5;
  padding:0;
  border:0;
  overflow:hidden;
}
.products-section .product-card > .product-media > img{
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  aspect-ratio:auto;
  object-fit:var(--mysterez-frame-fit,contain)!important;
  object-position:var(--mysterez-framed-position,center center)!important;
  padding:0;
  border:0;
  transform:none!important;
}
/* Same overlay reveal and arrow motion for both product-card renderers. */
.products-section .product-media .view-product{height:auto;min-height:46px;transition:opacity .28s,transform .28s,background .28s,border-color .28s}
.products-section .product-media:hover .view-product,
.products-section .product-media:focus-visible .view-product{opacity:1;transform:none}
.products-section .product-media .view-product svg,
.collection-product-media .collection-view-piece svg{width:18px;transition:transform .32s cubic-bezier(.2,.8,.2,1)}
.products-section .product-media:hover .view-product svg,
.products-section .product-media:focus-visible .view-product svg,
.collection-product-media:hover .collection-view-piece svg,
.collection-product-media:focus-visible .collection-view-piece svg{transform:translateX(6px)}
.products-section .product-media:focus-visible{outline:2px solid #991b36;outline-offset:4px}
@media(max-width:1020px){
  .products-section > .product-grid.mysterez-product-grid{grid-template-columns:repeat(auto-fill,minmax(min(100%,max(240px,calc((100% - 20px)/2))),1fr))}
}
@media(max-width:600px){
  .products-section > .product-grid.mysterez-product-grid{grid-template-columns:minmax(0,1fr);gap:30px}
}
@media(prefers-reduced-motion:reduce){
  .products-section .product-media .view-product,
  .collection-product-media .collection-view-piece,
  .products-section .product-media .view-product svg,
  .collection-product-media .collection-view-piece svg{transition:none!important;transform:none!important}
}

/* Garment-only and unclassified photos retain sleeves and artwork. Verified
   wearer views fill the same frame from the top, without cutting off heads. */
.products-section .product-card > .product-media[data-product-image-fit="model"] > img.homepage-product-primary{
  object-fit:var(--mysterez-frame-fit,cover)!important;
  object-position:var(--mysterez-framed-position,center top)!important;
}
/* Authored desktop section width/spacing stays intact; mobile needs a readable
   full-width product grid rather than a saved narrow desktop column. */
@media(max-width:760px){
  .products-section[data-mysterez-section-type="products"]{
    width:100%!important;
    max-width:100%;
    padding-left:20px!important;
    padding-right:20px!important;
    box-sizing:border-box;
  }
}

/* Ready-only front swap: a missing/failed hover photo cannot hide the model. */
.products-section .product-media > .homepage-product-hover{opacity:0;object-fit:var(--mysterez-frame-fit,contain)!important;object-position:var(--mysterez-framed-position,center)!important;transition:opacity .28s ease}
.products-section .product-media > .homepage-product-primary{opacity:1;transition:opacity .28s ease}
.products-section .product-media.has-homepage-hover:focus-visible > .homepage-product-hover{opacity:1}
.products-section .product-media.has-homepage-hover:focus-visible > .homepage-product-primary{opacity:0}
@media(hover:hover){
 .products-section .product-media.has-homepage-hover:hover > .homepage-product-hover{opacity:1}
 .products-section .product-media.has-homepage-hover:hover > .homepage-product-primary{opacity:0}
}
.products-section .homepage-product-unavailable{position:absolute;inset:0;display:grid;place-items:center;padding:20px;color:#666;font-size:13px;text-align:center}
@media(prefers-reduced-motion:reduce){
 .products-section .product-media > .homepage-product-primary,
 .products-section .product-media > .homepage-product-hover{transition:none!important}
}
.products-section .product-media.has-homepage-primary-error > .homepage-product-hover{opacity:1}
.products-section .product-media.has-homepage-primary-error > .homepage-product-primary{opacity:0}

/* v26: Four products across with progressive, section-local cycling.
   Without JS all products remain readable in the ordinary grid. */
.products-section > .product-grid.mysterez-product-grid[data-product-carousel]{
 grid-template-columns:repeat(4,minmax(0,1fr));gap:36px 20px;
}
.products-section > .product-grid[data-product-carousel].is-product-carousel{
 grid-template-columns:repeat(var(--product-carousel-columns,4),minmax(0,1fr));
}
[data-product-carousel] > .product-card[hidden],
[data-product-carousel] > .product-card.is-carousel-offscreen{display:none!important}
/* Image-overlay navigation: a small red glyph inside a generous touch target. */
.products-section{position:relative}
[data-product-carousel].is-product-carousel{touch-action:pan-y pinch-zoom}
.product-carousel-controls{position:absolute;z-index:3;display:flex;justify-content:space-between;align-items:center;pointer-events:none;transform:translateY(-50%);margin:0;padding:0 4px}
.product-carousel-controls[hidden]{display:none!important}
.products-section .product-carousel-controls > button{display:inline-flex;align-items:center;justify-content:center;flex:0 0 44px;width:44px;height:44px;min-height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.88);color:#a51b37!important;cursor:pointer;pointer-events:auto;padding:11px}
.product-carousel-controls button svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.product-carousel-controls button:hover{background:#fff}
.product-carousel-controls button:focus-visible{outline:3px solid #a51b37;outline-offset:2px}
.product-carousel-status{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:1020px){.products-section > .product-grid.mysterez-product-grid[data-product-carousel]{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.products-section > .product-grid.mysterez-product-grid[data-product-carousel]{grid-template-columns:minmax(0,1fr)}}
/* Navigation remains legible under authored black/white/red text themes. */


