/* One image stage, with transparent navigation over the photograph. */
body.gray-design-site .factory-carousel { position:relative!important; overflow:hidden; }
body.gray-design-site .factory-carousel .slides {
    height:var(--gray-hero-height,auto)!important; aspect-ratio:var(--gray-hero-ratio,3 / 1)!important;
    min-height:var(--gray-hero-min-height,320px)!important; max-height:none!important; width:100%;
}
body.gray-design-site .factory-carousel .factory-slide img {
    width:100%!important; height:100%!important; max-height:none!important;
    object-fit:var(--gray-hero-fit,cover)!important;
}
body.gray-design-site .factory-carousel .factory-slide::after {
    background:rgba(0,0,0,var(--gray-hero-overlay,.4))!important; opacity:1!important;
}
body.gray-design-site .factory-carousel .carousel-bar {
    position:absolute!important; inset:auto 0 0!important; width:100%!important;
    margin:0!important; padding:16px var(--site-inset,24px)!important;
    background:transparent!important; border:0!important; z-index:8; box-sizing:border-box;
}
body.gray-design-site .factory-carousel .slide-copy { padding-bottom:76px; }
body.gray-design-site .factory-title,body.gray-design-site .factory-title span,body.gray-design-site .slide-copy p {
    text-shadow:0 2px 8px #0009;
}
body.gray-design-site .factory-carousel .factory-title span { color:var(--gray-hero-second,#fff)!important; }
body.gray-design-site .gray-photo-stage,body.gray-design-site .fabric-photo-frame,
body.gray-design-site .home-process .process-photo,body.gray-design-site .research-page .lab-photo {
    position:relative!important; overflow:hidden; padding:0!important; border:0!important; margin:0!important;
}
body.gray-design-site .gray-photo-stage { aspect-ratio:4 / 3!important; }
body.gray-design-site .gray-photo-stage>img {
    display:block; width:100%; height:100%!important; max-height:none!important; aspect-ratio:auto!important; object-fit:cover;
}
body.gray-design-site .gray-photo-stage .product-photo-controls,
body.gray-design-site .fabric-photo-frame .product-photo-controls,
body.gray-design-site .home-process .process-photo .process-photo-controls,
body.gray-design-site .research-page .lab-photo .lab-player {
    position:absolute!important; inset:auto 0 0!important; width:100%!important;
    background:transparent!important; padding:12px 16px!important; margin:0!important; border:0!important;
    z-index:5; box-sizing:border-box; display:flex; align-items:center; justify-content:space-between;
}
body.gray-design-site .gray-photo-stage .product-photo-controls>div,
body.gray-design-site .fabric-photo-frame .product-photo-controls>div {
    display:flex; align-items:center; justify-content:space-between; gap:12px; width:100%;
}
body.gray-design-site .home-process .process-photo .process-photo-controls>div { width:100%; justify-content:space-between; }
body.gray-design-site .factory-carousel .carousel-bar button,
body.gray-design-site .gray-photo-stage .product-photo-controls button,
body.gray-design-site .fabric-photo-frame .product-photo-controls button,
body.gray-design-site .home-process .process-photo .process-photo-controls button,
body.gray-design-site .research-page .lab-photo .lab-player button {
    background:transparent!important; border:0!important; color:#fff!important; box-shadow:none!important;
    text-shadow:0 1px 3px #000,0 1px 8px #000; min-height:44px; min-width:60px; padding:6px 8px!important;
}
body.gray-design-site .factory-carousel .carousel-bar button:hover,
body.gray-design-site .gray-photo-stage button:hover,body.gray-design-site .fabric-photo-frame button:hover,
body.gray-design-site .process-photo-controls button:hover,body.gray-design-site .lab-player button:hover { text-decoration:underline; }
body.gray-design-site .factory-carousel .carousel-bar button:focus-visible,
body.gray-design-site .gray-photo-stage button:focus-visible,body.gray-design-site .fabric-photo-frame button:focus-visible,
body.gray-design-site .process-photo-controls button:focus-visible,body.gray-design-site .lab-player button:focus-visible {
    outline:2px solid #fff; outline-offset:2px;
}
body.gray-design-site .product-photo-controls [data-gray-photo-count],body.gray-design-site #process-photo-count,
body.gray-design-site #lab-slide-count { color:#fff!important; text-shadow:0 1px 4px #000,0 1px 8px #000; }
body.gray-design-site .home-process .process-photo { height:auto!important; aspect-ratio:4 / 3!important; }
body.gray-design-site .home-process .process-photo>[class*="elementor-widget-gray-design-leaf"]:has(#process-image) {
    position:absolute!important; inset:0; height:100%!important; width:100%;
}
body.gray-design-site .home-process .process-photo:has(#process-image) #process-image { display:block; width:100%; height:100%; object-fit:cover; filter:none; }
body.gray-design-site .home-process .process-photo #process-caption {
    position:absolute; bottom:68px; left:16px; right:16px; padding:0; background:transparent!important;
    font-size:11px; color:#fff; text-shadow:0 1px 4px #000,0 1px 8px #000;
}
body.gray-design-site .home-process .process-photo [class*="elementor-widget-gray-design-leaf"]:has(#process-caption) {
    position:static!important;
}
body.gray-design-site .research-page .lab-photo { aspect-ratio:16 / 9!important; background:transparent!important; }
body.gray-design-site .research-page .lab-photo>[class*="elementor-widget-gray-design-leaf"]:has(#lab-photo) {
    position:absolute!important; inset:0; width:100%; height:100%;
}
body.gray-design-site .research-page #lab-photo {
    width:100%; height:100%!important; max-height:none; object-fit:cover; padding:0!important; border:0!important;
    background:transparent!important;
}
body.gray-design-site .fabric-photo-frame { aspect-ratio:4 / 3!important; }
body.gray-design-site .fabric-photo-frame>img {
    width:100%; height:100%!important; max-height:none!important; object-fit:cover; display:block;
}
body.gray-design-site .finished-product-photo:has(.gray-photo-stage) { margin:0!important; }
body.gray-design-site .finished-product-photo:has(.gray-photo-stage) figcaption:empty { display:none; }
body.gray-design-site .gray-photo-stage .product-photo-controls[hidden],
body.gray-design-site .fabric-photo-frame .product-photo-controls[hidden],
body.gray-design-site .process-photo-controls[hidden],body.gray-design-site .factory-carousel .carousel-bar[hidden] { display:none!important; }
@media(max-width:767px) {
    body.gray-design-site .factory-carousel .slides { min-height:var(--gray-hero-min-height,360px)!important; }
    body.gray-design-site .factory-carousel .slide-copy { padding-top:28px; padding-bottom:84px; }
    body.gray-design-site .factory-carousel .carousel-bar { padding:8px 12px!important; }
    body.gray-design-site .factory-carousel .carousel-bar .slide-dots { order:0; width:auto; }
    body.gray-design-site .gray-photo-stage .product-photo-controls,
    body.gray-design-site .fabric-photo-frame .product-photo-controls,
    body.gray-design-site .process-photo .process-photo-controls,
    body.gray-design-site .lab-photo .lab-player { padding:6px 8px!important; }
}
@media(prefers-reduced-motion:reduce) { body.gray-design-site .factory-slide { transition:none!important; } }
body.gray-design-site .home-process .process-photo>[class*="elementor-widget-gray-design-leaf"]:has(#process-image)>.elementor-widget-container,
body.gray-design-site .research-page .lab-photo>[class*="elementor-widget-gray-design-leaf"]:has(#lab-photo)>.elementor-widget-container { height:100%; }
@media(max-width:600px) {
    body.gray-design-site .fabricated-index { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
    body.gray-design-site .fabricated-index>* { min-width:0; }
    body.gray-design-site .fabricated-index a { white-space:normal; overflow-wrap:anywhere; }
}
/* Process photos fill either the native Elementor image wrapper or a repaired stage. */
body.gray-design-site .home-process .gray-process-player #process-image,
body.gray-design-site .home-process .gray-process-player .gray-process-leaving {
    position:absolute!important; inset:0!important; width:100%!important; height:100%!important;
    max-height:none!important; object-fit:cover; filter:none!important; visibility:visible; opacity:1;
}
body.gray-design-site .home-process .gray-process-player #process-image { z-index:1; }
body.gray-design-site .home-process .gray-process-player .gray-process-leaving { z-index:2; pointer-events:none; }
body.gray-design-site .home-process .gray-process-player #process-image[hidden] { display:none!important; }
body.gray-design-site .home-process .gray-process-player #process-caption { z-index:3; }
body.gray-design-site .home-process .gray-process-player { touch-action:pan-y; cursor:grab; }
body.gray-design-site .home-process .gray-process-player>.gray-process-status {
    position:absolute; inset:0; display:grid; place-items:center; padding:24px; text-align:center; color:#ddd;
}
body.gray-design-site .home-process .gray-process-player>.gray-process-status[hidden] { display:none; }
