/* Keep the photograph still; only the print changes. Original remains the fallback. */
.hero-design-stage{position:absolute;pointer-events:none;isolation:isolate;overflow:hidden;opacity:0;transition:opacity .55s ease-in-out}
/* Keep the original face, hair and silhouette. Replace only the printed chest. */
.hero-shirt-base{width:100%;height:100%;max-width:none;object-fit:fill;clip-path:inset(31% 38% 34% 28%)}
.hero-photo.hero-design-ready .hero-design-stage{opacity:1}
.hero-print{position:absolute;left:30.5%;top:33.5%;width:27.5%;height:30.6%;overflow:hidden;mix-blend-mode:multiply;opacity:0;transition:opacity .55s ease-in-out;transform:rotate(2deg);display:flex;align-items:center;justify-content:center}
.hero-print canvas{display:block;width:100%;height:100%;object-fit:contain}
.hero-print.is-current{opacity:1}
.hero-print img{position:absolute;max-width:none;height:auto}
.hero-print-blue img{width:178%;left:-39%;top:-36%}
.hero-print-pink img{width:202%;left:-51%;top:-47%}
.hero-photo .photo-caption{z-index:2}
.hero-design-toggle{position:absolute;z-index:3;right:16px;top:16px;min-height:40px;padding:8px 13px;border:1px solid #e9c9d9;border-radius:10px;background:#fffffff2;color:var(--ink);font-size:14px;box-shadow:0 2px 8px #35223012}
.hero-design-toggle:hover{background:var(--brand-gradient)}
.cms-editing .hero-design-stage,.cms-editing .hero-design-toggle{display:none!important}
.cms-editing .hero-photo.hero-design-ready>img{opacity:1}
@media(prefers-reduced-motion:reduce){.hero-design-stage,.hero-design-toggle{display:none!important}.hero-photo.hero-design-ready>img{opacity:1}}
