/* Real photography supplied by Selma. Keep products and comparison labels whole. */
.reveal { opacity:1; transform:none; }
@media(prefers-reduced-motion:no-preference) {
 .reveal.is-pending:not(.is-visible) { opacity:0; transform:translateY(24px); }
}
.woocommerce .site-header .button--neon { background:var(--neon); color:#111; }
.home .hero-dark { min-height:0; }
.home .hero-grid { padding-block:65px 80px; }
.home .hero-art { min-height:500px; }
.home .section { padding-block:80px; }
.home .section-heading { margin-bottom:40px; }
.home .section-heading h2 { font-size:clamp(2.4rem,4.1vw,4.5rem); }
.home .sd-service { padding-block:22px; }
.home .sd-service h3 { font-size:clamp(1.6rem,2.7vw,2.5rem); }
.home .work-section { padding-block:80px; }
.home .about-section { padding-block:80px; }
.home .about-visual { max-width:460px; }
.home .hero-intro { margin-block:24px; }
.home .product-grid:focus-visible,.sd-real-work-grid:focus-visible { outline:3px solid #e62c8b; outline-offset:6px; }
.hero-card--main img { object-position: 50% 32%; }
.about-portrait { aspect-ratio:4 / 5; overflow:hidden; border-radius:48% 48% 24px 24px; box-shadow:var(--shadow); }
.about-portrait img { display:block; width:100%; height:100%; aspect-ratio:auto; object-fit:cover; object-position:50% 40%; border-radius:0; box-shadow:none; }
.custom-product-card__image,
.custom-product-card__image img { background: #fff; }
.custom-product-card__image img { object-fit: contain; padding: 18px; }
.woocommerce ul.products li.product a img { object-fit: contain; background: #fff; padding: 16px; }
.woocommerce div.product div.images .woocommerce-product-gallery__image > a { display:block; aspect-ratio:4 / 5; background:#fff; border-radius:24px; overflow:hidden; }
.woocommerce div.product div.images .woocommerce-product-gallery__image > a img { width:100%; height:100%; object-fit:contain; }
.woocommerce div.product div.images .flex-control-thumbs { display:flex; gap:10px; margin-top:14px; }
.woocommerce div.product div.images .flex-control-thumbs li { float:none; width:calc((100% - 30px) / 4); }
.woocommerce div.product div.images .flex-control-thumbs img { aspect-ratio:1; object-fit:contain; border:2px solid transparent; border-radius:12px; padding:6px; }
.woocommerce div.product div.images .flex-control-thumbs img.flex-active { border-color:#e62c8b; }
.woocommerce div.product div.images .flex-control-thumbs img:focus-visible { outline:3px solid #e62c8b; outline-offset:2px; }
.sd-service-hero--voertuigbelettering .sd-service-hero__image img { height:auto; aspect-ratio:4 / 3; object-fit:contain; border-radius:28px; background:#201c20; }
.sd-service-hero--keuken-wrappen .sd-service-hero__image img { height:auto; aspect-ratio:1; object-fit:contain; border-radius:24px; }
.sd-service-hero--kleding-bedrukken .sd-service-hero__image img { object-position:50% 28%; }
.sd-service-hero--logo-huisstijl .sd-service-hero__image img { object-position:50% 40%; border-radius:28px; }
.sd-service-hero--raambelettering .sd-service-hero__image img { object-position:50% 40%; border-radius:28px; }
.sd-photo-gallery { margin-block:28px 48px; }
.sd-photo-gallery.wp-block-gallery { gap:18px; }
.sd-photo-gallery .wp-block-image { margin:0; overflow:hidden; border-radius:18px; background:#eee8ec; }
.sd-photo-gallery .wp-block-image img { width:100%; height:auto; object-fit:contain; border-radius:0; }
.sd-prose .wp-block-image figcaption { color:#645460; font-size:.875rem; line-height:1.5; }
.sd-about-columns { align-items:center!important; gap:clamp(30px,5vw,75px); }
.sd-about-columns > .wp-block-column { min-width:0; }
.sd-about-portrait img { width:100%; max-height:680px; object-fit:cover; object-position:50% 40%; border-radius:28px; aspect-ratio:4 / 5; }
.sd-clothing-process { margin:0; }
.sd-clothing-process img { width:100%; max-height:580px; aspect-ratio:4 / 5; object-fit:cover; object-position:50% 28%; border-radius:24px; }
.sd-clothing-process figcaption { color:#675d62; font-size:.875rem; margin-top:12px; }
.clothing-story-grid { grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:center; gap:40px; }
.sd-case .sd-prose { max-width:1000px; margin-inline:auto; }
.sd-project-card img { height:320px; width:100%; object-fit:contain; }
.sd-real-work-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.sd-real-work-card figure { height:340px; }
.sd-real-work-card:first-child figure { aspect-ratio:auto; }
@media(max-width:900px) {
 .clothing-story-grid { grid-template-columns:1fr; }
 .sd-real-work-grid { grid-template-columns:1fr; }
 .sd-real-work-card:first-child { grid-column:auto; }
 .sd-real-work-card figure,.sd-real-work-card:first-child figure { height:360px; }
 .sd-real-work-card:first-child img { height:100%; }
}
@media(max-width:560px) {
 .site-footer .footer-cta { padding-block:45px; gap:28px; }
 .site-footer .footer-cta h2 { font-size:2.4rem; }
 .site-footer .footer-grid { padding-block:40px; gap:30px; }
 .sd-footer-menu { display:grid; grid-template-columns:1fr 1fr; gap:12px 18px; }
 .sd-footer-menu li { margin:0; min-width:0; }
 .sd-footer-menu a { font-size:.875rem; }
 .home .hero-grid { padding-block:40px 45px; gap:25px; }
 .home .hero-art { min-height:380px; }
 .home .hero-micro { margin-top:24px; }
 .home .section,.home .work-section,.home .about-section { padding-block:50px; }
 .home .section-heading { margin-bottom:28px; }
 .home .sd-service { padding-block:18px; }
 .home .sd-service p { display:none; }
 .home .hero-actions { gap:16px; }
 .home .hero-actions .text-link { font-size:.9rem; }
 .home .product-grid,.home .sd-real-work-grid { display:grid; grid-template-columns:none; grid-auto-flow:column; grid-auto-columns:88%; gap:16px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:16px; scrollbar-color:#e62c8b transparent; scrollbar-width:thin; }
 .home .product-grid>article,.home .sd-real-work-grid>article { scroll-snap-align:start; }
 .home .sd-real-work-card:first-child { grid-column:auto; }
 .home .sd-real-work-grid { width:auto; max-width:none; margin-inline:14px; }
 .home .about-portrait { aspect-ratio:4 / 3; }
 .home .about-portrait img { object-position:50% 35%; }
 .hero-card--main img { object-position:50% 28%; }
 .sd-service-hero__image img { border-radius:24px; }
 .sd-photo-gallery.wp-block-gallery { gap:12px; }
 .sd-photo-gallery.wp-block-gallery .wp-block-image { width:100%!important; }
 .sd-real-work-card figure,.sd-real-work-card:first-child figure { height:320px; }
 .sd-about-columns { gap:24px; }
}
