body.product-kit .hero{padding-bottom:32px;justify-content:center}
.kit-stage{width:min(940px,100%);margin:28px auto 8px;position:relative;isolation:isolate}
.kit-stage-glow{position:absolute;inset:20% 12% 16%;border-radius:50%;background:radial-gradient(ellipse,var(--product-soft),transparent 70%);filter:blur(20px);z-index:-1}
.kit-covers{width:100%;overflow:hidden;padding:18px 0 42px;perspective:1200px}
.kit-covers .swiper-wrapper{align-items:center;transform-style:preserve-3d}
.kit-covers .swiper-slide{width:244px;height:345px;display:grid;place-items:center}
.kit-cover{width:100%;height:100%;background:none;padding:0;position:relative;filter:drop-shadow(8px 20px 12px var(--product-shadow));transition:filter .3s;cursor:pointer}
.kit-cover img{width:100%;height:100%;object-fit:contain;backface-visibility:hidden}
.kit-covers .swiper-slide-active{z-index:100!important}.kit-covers :is(.swiper-slide-prev,.swiper-slide-next){z-index:90!important}
.kit-navigation{max-width:540px;margin:0 auto;display:grid;grid-template-columns:44px 1fr 44px;gap:14px;align-items:center;text-align:center;min-height:72px}
.kit-navigation button{display:grid;place-items:center;width:44px;height:44px;border:1px solid var(--product-line);border-radius:50%;background:#ffffff80;transition:background .2s}
.kit-navigation button:disabled{opacity:.3;cursor:default}.kit-navigation button:hover:enabled{background:#fff}
#currentMaterial{font-weight:650;font-size:15px;line-height:1.4;color:var(--product-deep);text-wrap:balance}
#materialPosition{font-size:11px;letter-spacing:.15em;color:var(--product-dim);display:block;margin-top:6px;font-variant-numeric:tabular-nums}
.kit-dialog{position:fixed;inset:16px;width:min(1080px,calc(100vw - 32px));max-width:none;height:calc(100dvh - 32px);max-height:none;border:1px solid #ffffffa6;border-radius:22px;padding:0;margin:auto;background:#fcfcf6;color:var(--product-deep);box-shadow:0 30px 100px #102d2860;overflow:auto;overscroll-behavior:contain}
.kit-dialog::backdrop{background:#152c2be0;backdrop-filter:blur(12px)}
.kit-grid-dialog{padding:42px 36px 40px}.kit-grid-dialog header{padding:0 40px 28px 0;border-bottom:1px solid var(--product-line);margin-bottom:26px}.kit-grid-eyebrow{font-size:10px;letter-spacing:.18em;color:var(--product-dim);margin-bottom:10px}.kit-grid-dialog h2{font-size:clamp(25px,4vw,38px);line-height:1.2;letter-spacing:-.045em;font-weight:700}.kit-grid-dialog header>p:last-child{font-size:13px;color:var(--product-dim);margin-top:10px}
.kit-grid-close{position:sticky;top:16px;float:right;margin:16px 16px -60px 0;width:44px;height:44px;display:grid;place-items:center;z-index:20;border-radius:50%;border:1px solid var(--product-line);background:#fff;color:var(--product-deep);box-shadow:0 5px 15px #173b3310}
.kit-material-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 22px}
.kit-member-card{display:flex;flex-direction:column;padding:12px;border-radius:12px;border:1px solid transparent;transition:background .2s,border-color .2s;min-width:0}
.kit-member-card:hover,.kit-member-card:focus-visible,.kit-member-card.is-current{background:var(--product-soft);border-color:var(--product-line)}
.kit-member-card>div{aspect-ratio:1100/1555;display:grid;place-items:center;padding:5px 8px 16px}
.kit-member-card img{width:100%;height:100%;object-fit:contain;max-height:260px;filter:drop-shadow(5px 10px 7px var(--product-shadow))}
.kit-member-card>p{font-size:13px;line-height:1.45;font-weight:650;margin-top:12px;flex:1;text-wrap:balance}
.kit-member-card>span{font-size:11px;min-height:36px;display:flex;gap:9px;align-items:center;color:var(--product-accent)}
@media(max-width:700px){body.product-kit .hero{padding-top:14px}.kit-stage{margin-top:20px;margin-bottom:0}.kit-covers{padding:16px 0 34px;width:calc(100% + 32px);margin-left:-16px}.kit-covers .swiper-slide{width:56vw;height:calc(56vw * 1.414)}.kit-navigation{gap:9px;min-height:76px}#currentMaterial{font-size:13px}body.product-kit .hero-purchase{margin-top:14px}.hero-actions>.sample-button{font-size:11px;line-height:1.3;padding-inline:9px}.kit-dialog{inset:10px;width:calc(100vw - 20px);height:calc(100dvh - 20px);border-radius:16px}.kit-grid-dialog{padding:30px 12px 24px}.kit-grid-dialog header{padding-left:8px;padding-right:50px;margin-bottom:18px}.kit-material-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 8px}.kit-member-card{padding:8px}.kit-member-card>div{padding:3px 3px 12px}.kit-member-card>p{font-size:12px}.kit-grid-close{top:12px;margin:12px 12px -56px 0}}
@media(max-width:340px){.kit-covers .swiper-slide{width:55vw;height:calc(55vw * 1.414)}.hero-actions>.sample-button{font-size:10px}.kit-member-card>p{font-size:11px}}
@media(prefers-reduced-motion:reduce){.kit-cover,.kit-member-card{transition:none}}
/* Keep the title punctuation attached when a kit name wraps. */
body.product-kit h1{display:block!important;max-width:22ch;text-align:center;margin-inline:auto}
body.product-kit h1>span{display:inline;max-width:none}
body.product-kit h1>b{display:inline}

/* Let visible cover buttons receive clicks behind the 3D wrapper plane. */
.kit-covers .swiper-wrapper{pointer-events:none}
