/* Images own gallery feedback. Selected state remains semantic, not framed. */
.catalog-thumb,.catalog-thumb:hover,.catalog-thumb.ui-engaged,.catalog-thumb.ui-pressed,#details .thumbs button,#details .thumbs button.selected,#details .thumbs button.ui-engaged,#details .thumbs button.ui-pressed{border:0!important;outline:none!important;box-shadow:none!important;background:transparent!important;filter:none!important;opacity:1!important}
.catalog-thumb:focus-visible,#details .thumbs button:focus-visible{outline:2px solid #59645f!important;outline-offset:5px!important}
.catalog-thumbnail-image{overflow:visible;transition:transform .4s cubic-bezier(.2,.7,.2,1);transform-origin:center}
.catalog-thumbnail-image.is-engaged{transform:translateY(-2px) scale(1.035)}
#details .thumbs button{overflow:visible;translate:none!important}
#details .thumbs button img{position:relative;left:-3px;top:-3px;width:calc(100% + 6px)!important;height:calc(100% + 6px)!important;object-fit:cover;transform:none;transition:transform .4s cubic-bezier(.2,.7,.2,1)!important}
#details .thumbs button:hover img,#details .thumbs button:focus-visible img{transform:translateY(-2px) scale(1.035)}
footer :is(a,button),[data-catalog-section="6"] .catalog-hit,footer .ui-text-target,[data-catalog-section="6"] .ui-text-target{background:transparent!important;box-shadow:none!important;text-decoration:none!important}
footer :is(a,button),[data-catalog-section="6"] .catalog-hit{transition:translate .4s cubic-bezier(.2,.7,.2,1)}
footer :is(a,button):hover:not(.approved-hit):not(.footer-document-hit){translate:0 -2px}
@media(prefers-reduced-motion:reduce){.catalog-thumbnail-image,#details .thumbs button img,footer :is(a,button){transition:none!important;translate:none!important}.catalog-thumbnail-image.is-engaged{transform:none}#details .thumbs button:hover img,#details .thumbs button:focus-visible img{transform:none}}
.no-motion .catalog-thumbnail-image,.no-motion #details .thumbs button img{transition:none!important}
.no-motion .catalog-thumbnail-image.is-engaged{transform:none}

#details :is(.approved-vectors,.mobile-art svg) path[stroke="#59645f"]{display:none!important}
.no-motion #details .thumbs button:hover img,.no-motion #details .thumbs button:focus-visible img{transform:none}
.no-motion footer :is(a,button){translate:none!important}

/* Shared desktop detail viewport: all twelve catalogue cards and ALVARO.
   Reserve the complete gray control strip before allocating photographic space.
   Use only minimum proportional cover; no independent authored zoom.
   Four thumbnail rectangles mirror the actual large photographic aspect ratio. */
@media(min-width:1000px){
 #product-pages [data-catalog-section="3"],#model.alvaro-final-sections #details{
  --gallery-strip:clamp(96px,8.055556cqw,128px);
  --gallery-height:min(54.583333cqw,100svh);
  --gallery-photo-height:calc(var(--gallery-height) - var(--gallery-strip));
  --gallery-frame-ratio:2.1492537313432836;
  --gallery-thumb-width:8.194444cqw;
  --gallery-thumb-height:calc(var(--gallery-thumb-width)/var(--gallery-frame-ratio));
  height:var(--gallery-height)!important;min-height:0!important;
  background:#e5e8e4!important;overflow:hidden;
 }
 #product-pages [data-catalog-section="3"]>.catalog-art>svg,
 #model.alvaro-final-sections #details>.approved-art>.approved-vectors{display:none}
 #product-pages [data-catalog-section="3"]>.catalog-gallery-image{
  left:0!important;top:0!important;width:100%!important;height:var(--gallery-photo-height)!important;
 }
 #product-pages [data-catalog-section="3"]>.catalog-gallery-image>img{
  left:0!important;top:0!important;width:100%!important;height:100%!important;
  object-fit:cover!important;object-position:var(--gallery-position,50% 50%)!important;
 }
 #product-pages [data-catalog-section="3"] .catalog-text:not(.catalog-label),
 #model.alvaro-final-sections #details .approved-text:not(#approved-detail-label){top:3.636389cqw!important}
 #product-pages [data-catalog-section="3"] .catalog-label,
 #model.alvaro-final-sections #details #approved-detail-label{
  top:calc(var(--gallery-photo-height) + var(--gallery-strip)/2 - .625cqw)!important;
 }
 #product-pages [data-catalog-section="3"]>:is(.catalog-thumbnail-image,.catalog-thumb),
 #model.alvaro-final-sections #details .thumbs button{
  top:calc(var(--gallery-photo-height) + (var(--gallery-strip) - var(--gallery-thumb-height))/2)!important;
  height:var(--gallery-thumb-height)!important;
  width:var(--gallery-thumb-width)!important;
 }
 /* The thumbnail image exactly fills its measured proportional frame. */
 #model.alvaro-final-sections #details .thumbs button img{
  left:0;top:0;width:100%!important;height:100%!important;
 }
 #model.alvaro-final-sections #details .detail-stage{
  position:absolute!important;inset:0 auto auto 0!important;width:100%!important;
  height:var(--gallery-photo-height)!important;overflow:hidden;visibility:visible;
 }
 #model.alvaro-final-sections #details :is(#detail-photo,.detail-transition-image){
  left:0!important;top:0!important;bottom:auto!important;
  width:100%!important;height:100%!important;object-fit:cover!important;object-position:var(--gallery-position,50% 50%)!important;clip-path:none!important;
 }
 #model.alvaro-final-sections #details :is(#detail-photo,.detail-transition-image)[data-index]:not([data-index="0"]){
  top:0!important;height:100%!important;
 }
 /* A request stop must be reachable without clamping into the previous gallery.
    Expand only invitation whitespace when the final tail is shorter than a screen.
    Club/footer dimensions stay authored. ALVARO also has a 40px request gap. */
 #product-pages [data-catalog-section="4"]{height:max(25.694444cqw,calc(100svh - 25.694444cqw))}
 #product-pages [data-catalog-section="4"]>.catalog-request-canvas{
  position:absolute;left:0;top:50%;width:100%;height:25.694444cqw;transform:translateY(-50%);
 }
 #model.alvaro-final-sections .inquiry>.approved-art{
  top:50%!important;bottom:auto!important;height:25.694444cqw!important;transform:translateY(-50%)!important;
 }
 #model.alvaro-final-sections .inquiry .solid{
  top:calc(50% + 4.861111cqw)!important;height:3.194444cqw!important;
 }
 #model.alvaro-final-sections .inquiry{height:max(25.694444cqw,calc(100svh - 28.472222cqw))!important}
}
/* Keep the narrow layout in native flow on its approved gray surface. */
@media(max-width:999px){
 #product-pages [data-catalog-section="3"]{background:#e5e8e4;padding-bottom:18px}
 #product-pages .catalog-request-canvas{display:contents}
}

/* The image element is the frame, not an independently zoomed source canvas.
   Every thumbnail receives the same ratio and focal position as its large view. */
#product-pages [data-catalog-section="3"]>:is(.catalog-gallery-image,.catalog-thumbnail-image)>img{
 left:0!important;top:0!important;width:100%!important;height:100%!important;
 object-fit:cover!important;object-position:var(--gallery-position,50% 50%)!important;clip-path:none!important;
}
#model.alvaro-final-sections #details :is(#detail-photo,.detail-transition-image),
#model.alvaro-final-sections #details .thumbs button img{
 object-fit:cover!important;object-position:var(--gallery-position,50% 50%)!important;clip-path:none!important;
}
#model.alvaro-final-sections #details .thumbs button img{left:0;top:0;width:100%!important;height:100%!important}
@media(max-width:999px){
 #product-pages [data-catalog-section="3"]>.catalog-thumbnail-image{
  height:auto!important;min-height:0;aspect-ratio:var(--gallery-frame-ratio,2.1492537313432836);align-self:center;
 }
 #product-pages [data-catalog-section="3"]>.catalog-thumb{min-height:44px;aspect-ratio:var(--gallery-frame-ratio,2.1492537313432836)}
 #model.alvaro-final-sections #details .thumbs button{
  top:calc(var(--my) + var(--mh)/2 - var(--gallery-thumb-height)/2)!important;
  height:var(--gallery-thumb-height)!important;
 }
}
/* Original title colour fallback. The later explicit photo-title owner adds
   its bounded text-only contour without changing the photographic layer. */
#product-pages [data-catalog-section="3"] .catalog-text:not(.catalog-label),
#model.alvaro-final-sections #details .approved-text:not(#approved-detail-label){color:var(--gallery-heading-color,#263034)!important}

/* Only identified header text changes tone. The filled Discuss plaque, its
   caption, hover feedback and all vector artwork remain authored. */
@media(min-width:1000px){
 .catalog-header .catalog-text[data-gallery-header-role].gallery-photo-light{color:#ffffff!important}
}
/* Enlarge only transparent hit regions when a wide photographic ratio makes a
   miniature shallower than 44px. The visible image keeps the exact frame ratio. */
@media(min-width:1000px){
 #product-pages [data-catalog-section="3"]>.catalog-thumb,
 #model.alvaro-final-sections #details .thumbs button{
  top:calc(var(--gallery-photo-height) + (var(--gallery-strip) - max(44px,var(--gallery-thumb-height)))/2)!important;
  height:max(44px,var(--gallery-thumb-height))!important;
 }
 #model.alvaro-final-sections #details .thumbs button img{
  position:relative;top:calc((max(44px,var(--gallery-thumb-height)) - var(--gallery-thumb-height))/2)!important;
  height:var(--gallery-thumb-height)!important;
 }
}
/* Preserve native narrow layouts. Only shorten their photo slot when a short
   viewport would otherwise push controls below the screen. */
@media(max-width:999px){
 #product-pages [data-catalog-section="3"]>.catalog-gallery-image{height:var(--gallery-mobile-photo-height,auto)!important}
 #model.alvaro-final-sections #details .thumbs button{height:max(44px,var(--gallery-thumb-height))!important}
 #model.alvaro-final-sections #details .thumbs button img{
  top:calc((max(44px,var(--gallery-thumb-height)) - var(--gallery-thumb-height))/2)!important;
  height:var(--gallery-thumb-height)!important;
 }
 #model.alvaro-final-sections #details.gallery-short-mobile{height:var(--gallery-mobile-height)!important}
 #model.alvaro-final-sections #details.gallery-short-mobile :is(#detail-photo,.detail-transition-image){top:82px!important;height:calc(var(--gallery-mobile-height) - 210px)!important}
 #model.alvaro-final-sections #details.gallery-short-mobile .mobile-detail-label{top:calc(var(--gallery-mobile-height) - 108.655px)!important}
 #model.alvaro-final-sections #details.gallery-short-mobile .thumbs button{
  top:calc(var(--gallery-mobile-height) - 47px - max(44px,var(--gallery-thumb-height))/2)!important;
 }
}

@media(min-width:1000px){
 #header .model-nav .alma-product-nav-links a.gallery-photo-light,
 #header .approved-model-header .approved-text.gallery-photo-light{color:#ffffff!important}
}

/* Local two-tone glyph fill only. Native color still owns the focus outline;
   no boxes, shadows, filters, duplicate text or altered hit geometry. */
@supports (-webkit-text-fill-color:transparent){
 @supports (background-clip:text) or (-webkit-background-clip:text){
  @media(min-width:1000px) and (forced-colors:none){
   .catalog-header [data-gallery-header-role].gallery-photo-adaptive,
   #header .alma-product-nav-links a.gallery-photo-adaptive,
   #header .approved-model-header .approved-text.gallery-photo-adaptive{
    background-image:var(--gallery-text-fill)!important;
    background-origin:border-box!important;background-position:0 0!important;
    background-size:100% 100%!important;background-repeat:no-repeat!important;
    background-clip:text!important;-webkit-background-clip:text!important;
    -webkit-text-fill-color:transparent!important;
   }
  }
 }
}
@media(forced-colors:active){
 .gallery-photo-adaptive{background-image:none!important;-webkit-text-fill-color:currentColor!important;forced-color-adjust:auto}
}
