/* A dedicated studio, with the same photographic introduction and typography. */
.ai-intro { position:relative; isolation:isolate; padding-top:155px; padding-bottom:64px; overflow:hidden; color:#f7f5ed; background:#182b27; }
.ai-intro::before { content:""; position:absolute; z-index:-2; inset:0; background:url('/assets/market-hero-evening.webp') 70% 53%/cover; }
.ai-intro::after { content:""; position:absolute; z-index:-1; inset:0; background:linear-gradient(90deg,#0f1c19e8,#0f1c1995 50%,#0f1c1915); }
.ai-intro .section-label { color:#e8ded0; }
.ai-intro h1 { margin:22px 0; font:400 clamp(48px,6.6vw,96px)/.99 var(--font-serif); letter-spacing:-.045em; }
.ai-intro h1 em { font-weight:400; }
.ai-intro > p:not(.section-label) { max-width:480px; font-size:17px; line-height:1.65; color:#e3e5df; }
.ai-intro .hero-action,.ai-home-teaser .hero-action { position:static; display:flex; max-width:280px; margin-top:25px; min-height:58px; }
.ai-studio { max-width:1520px; margin:auto; padding-top:60px; padding-bottom:60px; scroll-margin-top:110px; }
.ai-studio-heading { display:flex; align-items:flex-end; gap:30px; justify-content:space-between; margin-bottom:32px; }
.ai-studio-heading h2,.ai-home-teaser h2 { font:400 clamp(38px,4vw,64px)/1.06 var(--font-serif); letter-spacing:-.035em; margin:12px 0 0; }
.ai-studio-heading > p { max-width:340px; color:var(--muted); font-size:13px; line-height:1.6; }
.ai-page .visualizer-workspace { grid-template-columns:minmax(330px,.86fr) minmax(0,1.14fr); grid-template-rows:auto 1fr auto; grid-template-areas:"steps steps" "controls preview" "controls result"; min-height:600px; backdrop-filter:none; box-shadow:0 18px 60px #13251c0a; }
.ai-steps { grid-area:steps; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); border-bottom:1px solid var(--line); scroll-margin-top:110px; }
.ai-steps button { position:relative; display:grid; grid-template-columns:34px 1fr; gap:5px 10px; align-content:center; padding:22px 24px; min-height:92px; color:var(--muted); background:transparent; text-align:left; border:0; border-right:1px solid var(--line); cursor:pointer; }
.ai-steps button:last-child { border-right:0; }
.ai-steps button span { grid-row:1/3; font:400 22px var(--font-serif); }
.ai-steps strong { font-size:14px; font-weight:600; }
.ai-steps small { font-size:11px; }
.ai-steps [aria-current] { color:var(--ink); box-shadow:inset 0 -3px var(--ai); background:color-mix(in srgb,var(--ai) 8%,transparent); }
.ai-steps button:disabled { cursor:default; opacity:.55; }
.ai-controls { grid-area:controls; min-width:0; border-right:1px solid var(--line); }
.ai-page .visualizer-controls { padding:30px; border:0; min-width:0; }
.ai-page [hidden] { display:none!important; }
.ai-page .visualizer-controls h3 { margin:8px 0 12px; font:400 clamp(25px,2.5vw,34px)/1.1 var(--font-serif); letter-spacing:-.02em; outline-offset:5px; }
.ai-page .ai-help { color:var(--muted); font-size:13px; line-height:1.65; margin:8px 0 18px; }
.ai-page .upload-zone { margin:8px 0 12px; min-height:115px; }
.upload-zone:focus-within { outline:2px solid var(--ai); outline-offset:4px; }
.ai-page .ai-next { width:100%; justify-content:space-between; margin-top:14px; min-height:50px; }
.ai-page button:disabled { cursor:not-allowed; }
.ai-page .ai-next:disabled { opacity:.45; }
.ai-page .visualizer-preview { min-height:510px; }
.ai-page .visualizer-preview__photo { opacity:1; }
.ai-page .visualizer-preview__topline { padding:20px; }
.ai-page .visualizer-preview__topline span { max-width:70%; line-height:1.5; }
.ai-page .visualizer-preview__topline strong { display:none; }
.ai-page .visualizer-preview__empty { pointer-events:none; }
.ai-page [data-preview-state="uploaded"] .visualizer-preview__empty { display:none; }
.ai-page .visualizer-status { margin:0 30px 24px; }
.ai-page .visualizer-options { margin-bottom:20px; }
.ai-page .visualizer-options legend { padding:0; font-size:14px; }
.ai-page .option-chips,.ai-page .visualizer-request,.ai-page .visualizer-limit,.ai-page .visualizer-actions,.ai-page .visualizer-privacy,.ai-page .shop-consent,.ai-page .visualizer-selected-product { margin-left:0; }
.ai-page .visualizer-selected-product { margin:20px 0; min-height:90px; gap:15px; }
.ai-page .visualizer-selected-product strong { font-size:15px; line-height:1.5; }
.ai-page .visualizer-selected-product img { border:1px solid var(--line); border-radius:7px; }
.ai-page .visualizer-selected-product p { font-size:12px; line-height:1.5; }
.ai-field { display:flex; flex-direction:column; gap:8px; margin:10px 0; color:var(--muted); font-size:12px; }
.ai-page .ai-field input,.ai-page .ai-field select,.ai-page #visual-product { width:100%; max-width:100%; margin:0; min-height:46px; padding:10px 12px; background:var(--cream); color:var(--ink); border:1px solid var(--line); border-radius:5px; font:400 16px var(--font-sans); }
.ai-page .ai-field input[type=range] { padding:0; min-height:32px; accent-color:var(--ai); }
.ai-step-actions { display:flex; align-items:stretch; gap:10px; margin-top:16px; }
.ai-page .ai-step-actions .ai-next { margin:0; width:auto; flex:1; }
.ai-selection-summary { border-left:2px solid var(--ai); padding-left:12px; font-size:13px; line-height:1.55; }
.ai-page .shop-consent { font-size:12px; line-height:1.55; }
.ai-page .visualizer-actions { margin-top:16px; }
.ai-page .visualizer-generate { width:100%; min-height:52px; }
.ai-page .visualizer-result-lead { grid-template-columns:1fr; }
.ai-page .visualizer-result-lead p { color:var(--muted); }
.ai-page .visualizer-result-lead > a { color:var(--ink); font-size:12px; }
.ai-disclaimer { max-width:840px; font-size:12px; line-height:1.7; color:var(--muted); margin-top:22px; }
.ai-home-teaser { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:7%; max-width:1520px; margin:70px auto 0; padding-block:50px; border-block:1px solid var(--line); }
.ai-home-teaser p:not(.shop-kicker) { max-width:420px; color:var(--muted); font-size:16px; line-height:1.6; }
.ai-home-teaser img { width:100%; height:360px; object-fit:cover; border-radius:10px; }
@media(max-width:900px) {
 .ai-page .visualizer-workspace { grid-template-columns:minmax(300px,1fr) minmax(0,1fr); }
 .ai-page .visualizer-controls { padding:24px; }
 .ai-steps button { padding:16px 12px; grid-template-columns:24px 1fr; }
 .ai-steps small { display:none; }
 .ai-steps button span { grid-row:auto; }
}
@media(max-width:720px) {
 .ai-intro { padding-top:110px; padding-bottom:40px; }
 .ai-intro::after { background:linear-gradient(90deg,#0f1c19e8,#0f1c1995); }
 .ai-intro h1 { font-size:clamp(44px,12vw,72px); }
 .ai-intro > p:not(.section-label) { font-size:15px; max-width:370px; }
 .ai-studio { padding-top:32px; }
 .ai-studio-heading { display:block; }
 .ai-studio-heading > p { margin-bottom:0; }
 .ai-page .visualizer-workspace { grid-template-columns:minmax(0,1fr); grid-template-areas:"steps" "controls" "preview" "result"; }
 .ai-steps { scroll-margin-top:85px; }
 .ai-steps button { display:flex; flex-direction:column; gap:8px; align-items:flex-start; padding:14px 10px; }
 .ai-steps strong { font-size:11px; line-height:1.4; }
 .ai-steps button span { font-size:20px; }
 .ai-controls { border:0; }
 .ai-page .visualizer-preview { min-height:340px; }
 .ai-page .visualizer-controls { padding:24px 18px; }
 .ai-page .visualizer-status { margin:0 18px 20px; }
 .ai-home-teaser { grid-template-columns:1fr; gap:26px; margin-top:40px; }
 .ai-home-teaser img { height:250px; }
}
@media(prefers-reduced-motion:no-preference) {
 .ai-page [data-ai-panel]:not([hidden]) { animation:ai-panel-in .3s ease-out; }
 @keyframes ai-panel-in { from { opacity:.4; transform:translateY(6px); } to { opacity:1; transform:none; } }
}

.ai-page .visualizer-selected-product [data-ai-dimensions] { margin:6px 0; color:var(--ink); font-size:13px; line-height:1.6; }
