/* FORME: "In 3D" studio and the Atelier configurator. */
.in-three h2 em,.atelier h2 em{font-family:Georgia,'Times New Roman',serif;font-style:italic;font-weight:400;letter-spacing:-.035em}
.in-three,.atelier{scroll-margin-top:16px}

/* In 3D */
.in-three{padding-top:40px;padding-bottom:110px}
.in-three .section-head{border-top:1px solid var(--line);padding-top:70px}
.studio{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:20px;align-items:stretch}
.studio-stage{position:relative;height:min(720px,78vh);min-height:480px;border-radius:16px;overflow:hidden;background:#f4f1f2;isolation:isolate}
.studio-stage>img,.atelier-frame>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;transition:opacity .5s,transform 1.2s}
.studio-stage iframe,.atelier-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0;z-index:1;opacity:0;transition:opacity .6s}
.studio-stage.is-live iframe,.atelier-frame.is-live iframe{opacity:1}
.studio-stage.is-live>img,.atelier-frame.is-live>img{opacity:0}
.studio-start{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:2;display:inline-flex;align-items:center;gap:12px;padding:10px 24px 10px 10px;border-radius:100px;background:var(--ink);color:#fff;font-size:13px;box-shadow:0 12px 34px #25322b33;white-space:nowrap}
.studio-start-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#ffffff1f}
.studio-start-icon svg{width:19px;height:19px}
.studio-loading{position:absolute;left:50%;bottom:34px;transform:translateX(-50%);z-index:2;display:flex;align-items:center;gap:12px;padding:13px 20px;border-radius:100px;background:#25322bf0;color:#fff;font-size:12px;white-space:nowrap;pointer-events:none}
.studio-loading::before{content:'';width:11px;height:11px;border:1px solid #fff6;border-top-color:#fff;border-radius:50%;animation:loading-turn 1s linear infinite}
.studio-aside{display:flex;flex-direction:column;padding:38px 34px 34px;border-radius:16px;background:#eef0eb;min-width:0}
.studio-index{font-size:10px;letter-spacing:.16em;color:var(--muted)}
.studio-aside h3{font-family:Georgia,'Times New Roman',serif;font-size:clamp(46px,4.4vw,64px);line-height:1;letter-spacing:-.035em;margin:26px 0 10px}
.studio-kind{font-size:13px;color:var(--muted)}
.studio-description{font-size:14px;line-height:1.75;margin:26px 0 0;color:#3e4a42}
.studio-meta{display:flex;justify-content:space-between;gap:16px;align-items:baseline;border-top:1px solid var(--line);margin-top:26px;padding-top:18px;font-size:12px;color:var(--muted)}
.studio-price{font-family:Georgia,serif;font-size:24px;color:var(--ink)}
.studio-actions{margin-top:auto;padding-top:30px;display:grid;gap:14px}
.studio-actions .dark-button{justify-content:space-between}
.studio-configure{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 25px;border:1px solid #25322b40;border-radius:100px;font-size:13px;text-decoration:none}
.studio-configure:hover{border-color:var(--ink)}
.studio-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;margin-top:20px}
.studio-strip button{display:block;text-align:left;padding:0;min-width:0}
.strip-visual{display:block;aspect-ratio:1;border-radius:12px;overflow:hidden;background:#f4f1f2;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .25s}
.strip-visual img{display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.18);transition:transform .5s}
.studio-strip button:hover img{transform:scale(1.26)}
.studio-strip button[aria-pressed=true] .strip-visual{box-shadow:inset 0 0 0 1.5px var(--ink)}
.strip-caption{display:grid;grid-template-columns:auto 1fr;column-gap:8px;align-items:baseline;padding:12px 2px 0}
.strip-caption small{font-size:9px;letter-spacing:.12em;color:var(--muted)}
.strip-caption b{font-family:Georgia,serif;font-weight:400;font-size:19px;letter-spacing:-.03em}
.strip-caption span{grid-column:2;font-size:10px;line-height:1.4;color:var(--muted);margin-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.studio-strip button[aria-pressed=false] .strip-caption b{color:#25322bb0}

/* Atelier */
.atelier{margin:0 18px 18px;border-radius:16px;background:var(--ink);color:#f4f1ea;overflow:hidden;position:relative}
.atelier::before{content:'';position:absolute;inset:0;background:radial-gradient(70% 55% at 85% 0,#a5664833,transparent 70%),radial-gradient(50% 40% at 0 100%,#ffffff0d,transparent 70%);pointer-events:none}
.atelier-inner{position:relative;max-width:1520px;margin:auto;padding:100px 5% 70px}
.atelier .eyebrow{color:#d8b49c}
.atelier-head{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:40px 8%;align-items:end}
.atelier h2{font-size:clamp(46px,6vw,92px);line-height:.98;margin-top:18px;color:#fff}
.atelier h2 em{color:#e9c9b3;display:block}
.atelier-copy>p{font-size:15px;line-height:1.8;color:#d9ddd5;max-width:520px}
.atelier-steps{list-style:none;padding:0;margin:34px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid #ffffff26}
.atelier-steps li{display:flex;gap:12px;padding:18px 14px 0 0;min-width:0}
.atelier-steps .step-no{font-family:Georgia,serif;font-size:14px;color:#d8b49c;padding-top:1px}
.atelier-steps b,.atelier-samples b{display:block;font-weight:400;font-size:13px;color:#fff}
.atelier-steps small,.atelier-samples small{display:block;font-size:11px;line-height:1.5;color:#b9c0b6;margin-top:4px}
.atelier-samples{list-style:none;padding:0;margin:64px 0 34px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.atelier-samples li{display:flex;align-items:center;gap:16px;min-width:0}
.sample{flex:none;width:58px;height:58px;border-radius:50%;box-shadow:0 8px 20px #0003,inset 0 0 0 1px #ffffff1a}
.sample-boucle{background:radial-gradient(circle at 34% 28%,#fffaf0aa,transparent 60%),url(/3d-product-viewer/configurator/textures/woven-cloth.jpg) center/70px,#ece3d1;background-blend-mode:normal,soft-light,normal}
.sample-leather{background:radial-gradient(circle at 32% 28%,#d18d63 0,#a35f3c 35%,#6e3a22 80%,#55301e 100%)}
.sample-velvet{background:radial-gradient(circle at 34% 30%,#5e8a73 0,#2f5745 40%,#183327 85%)}
.sample-wood{background:repeating-radial-gradient(ellipse at -20% 50%,#8a5a3f 0 3px,#7a4c33 4px 6px,#946446 7px 9px),#7a4c33}
.atelier-frame{position:relative;height:min(860px,90vh);min-height:620px;border-radius:14px;overflow:hidden;background:#f4f1f2;box-shadow:0 30px 80px #0000004d;isolation:isolate}
.atelier-frame>img{object-fit:cover;object-position:30% center}
.atelier-note{font-size:10px;letter-spacing:.04em;color:#b9c0b6;margin-top:20px;text-align:center}

/* Product dialog: link into the atelier */
.configure-link{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;padding:15px 25px;border:1px solid #25322b40;border-radius:100px;font-size:13px;text-decoration:none;color:var(--ink)}
.configure-link:hover{border-color:var(--ink);background:#fff}

@media(max-width:1100px){.studio{grid-template-columns:minmax(0,1fr) 300px}.studio-aside{padding:30px 24px 24px}.atelier-samples{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:860px){
 .atelier-head{grid-template-columns:1fr}
 .atelier-frame{height:calc(100svh - 24px);min-height:620px;max-height:1100px}
}
@media(max-width:760px){
 .shop-header nav{gap:18px;flex-wrap:wrap;justify-content:center;row-gap:6px}
 .in-three{display:flex;flex-direction:column;padding-top:10px;padding-bottom:60px}
 .in-three .section-head{padding-top:48px}
 .studio{display:contents}
 .studio-stage{order:1;height:auto;aspect-ratio:900/1050;min-height:0;max-height:76vh;border-radius:12px}
 .studio-strip{order:2;display:flex;overflow-x:auto;gap:10px;margin:14px -5.5% 0;padding:0 5.5% 6px;scroll-snap-type:x mandatory;scrollbar-width:none}
 .studio-strip::-webkit-scrollbar{display:none}
 .studio-strip button{flex:0 0 31%;scroll-snap-align:start}
 .strip-caption{padding-top:9px}.strip-caption b{font-size:16px}.strip-caption span{display:none}
 .studio-aside{order:3;margin-top:18px;padding:28px 22px 22px;border-radius:12px}
 .studio-aside h3{font-size:46px;margin-top:18px}
 .studio-description{font-size:13px;margin-top:18px}
 .studio-start,.studio-loading{bottom:20px}
 .atelier{margin:0 8px 8px;border-radius:12px}
 .atelier-inner{padding:64px 6% 34px}
 .atelier h2{font-size:52px}
 .atelier-copy>p{font-size:14px}
 .atelier-steps{margin-top:28px}
 .atelier-steps li{flex-direction:column;gap:6px;padding:14px 10px 0 0}
 .atelier-steps small{font-size:10px}
 .atelier-samples{margin:40px 0 28px;gap:20px 14px}
 .atelier-samples li{gap:12px}
 .sample{width:46px;height:46px}
 .atelier-frame{margin:0 -3%;border-radius:10px}
}
@media(prefers-reduced-motion:reduce){.studio-loading::before{animation:none}.strip-visual img,.studio-stage>img,.atelier-frame>img,.studio-stage iframe,.atelier-frame iframe{transition:none}}

/* Atelier, calmer: FORME paper, one serif headline, the compact configurator sized to its content (no inner scroll) */
.atelier{margin:0;border-radius:0;background:var(--paper);color:var(--ink);border-top:1px solid var(--line)}
.atelier::before{display:none}
.atelier-inner{padding:110px 5% 90px}
.atelier .eyebrow{color:var(--clay)}
.atelier-head{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:30px 8%;align-items:end;margin-bottom:52px}
.atelier h2{font-family:Georgia,'Times New Roman',serif;font-weight:400;font-size:clamp(40px,4.6vw,68px);line-height:1.05;letter-spacing:-.035em;color:var(--ink);margin-top:16px}
.atelier h2 em{display:inline;color:var(--clay)}
.atelier-copy>p{color:var(--muted);font-size:15px;line-height:1.75;max-width:460px}
.atelier-frame{height:620px;min-height:0;max-height:none;border-radius:2px;border:1px solid var(--line);box-shadow:none;background:#f2efe8}
.atelier-frame.is-live{height:auto}
.atelier-frame iframe{position:relative;display:block;height:620px}
.atelier-frame.is-live iframe{opacity:1}
.atelier-note{color:var(--muted);margin-top:16px}
@media(max-width:760px){
 .atelier{margin:0;border-radius:0}
 .atelier-inner{padding:64px 6% 48px}
 .atelier-head{grid-template-columns:1fr;margin-bottom:32px}
 .atelier h2{font-size:40px}
 .atelier-frame{height:480px;margin:0}
 .atelier-frame iframe{height:900px}
}
