:root{
  --bg:#080808;
  --bg2:#0e0e0e;
  --panel:rgba(16,16,16,.82);
  --panel2:rgba(26,26,26,.72);
  --gold:#c9a15b;
  --gold2:#d7b87a;
  --line:rgba(201,161,91,.24);
  --line2:rgba(255,255,255,.12);
  --text:#f5f2ea;
  --muted:#bcb6a8;
  --danger:#f1a7a7;
  --ok:#99d8b4;
  --shadow: 0 22px 80px rgba(0,0,0,.44);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  background:
    radial-gradient(circle at 25% 0%, rgba(201,161,91,.13), transparent 32%),
    radial-gradient(circle at 90% 20%, rgba(215,184,122,.08), transparent 28%),
    var(--bg);
  color:var(--text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
}

button,input,textarea{font:inherit}
button{cursor:pointer}

.app-shell{
  min-height:100vh;
  display:grid;
  grid-template-columns: 280px minmax(520px, 1fr) 360px;
}

.sidebar{
  border-right:1px solid var(--line);
  background:linear-gradient(180deg, rgba(14,14,14,.96), rgba(6,6,6,.92));
  padding:26px 22px;
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
}

.brand{display:flex;gap:14px;align-items:center;margin-bottom:34px}
.logo-box{
  width:62px;height:62px;
  display:flex;align-items:center;justify-content:center;
  background:transparent;
}
.logo-box img{width:100%;height:100%;object-fit:contain}
.logo-fallback{font-family:Georgia,serif;color:var(--gold);font-size:24px;letter-spacing:.08em}
@font-face {
  font-family: "Butler";
  src: url("https://db.onlinewebfonts.com/t/c7af01d28bbe7425a822ad36c0131a0b.woff2") format("woff2"),
       url("https://db.onlinewebfonts.com/t/c7af01d28bbe7425a822ad36c0131a0b.woff") format("woff"),
       url("https://db.onlinewebfonts.com/t/c7af01d28bbe7425a822ad36c0131a0b.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face {
  font-family: "Butler Stencil";
  src: url("https://db.onlinewebfonts.com/t/de5207bc073a9bae3c7fc54ebb7016fc.woff2") format("woff2"),
       url("https://db.onlinewebfonts.com/t/de5207bc073a9bae3c7fc54ebb7016fc.woff") format("woff"),
       url("https://db.onlinewebfonts.com/t/de5207bc073a9bae3c7fc54ebb7016fc.ttf") format("truetype");
  font-weight:700; font-style:normal; font-display:swap;
}
.brand-title{font-family:"Butler","Georgia",serif;font-size:15px;color:var(--gold2);letter-spacing:.06em;line-height:1.3}
.brand-subtitle{color:var(--muted);font-size:13px;margin-top:3px}

.progress-zone{margin-bottom:28px}
.progress-label{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-bottom:10px}
.progress-label strong{color:var(--gold2)}
.progress-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.progress-bar span{display:block;height:100%;width:0%;background:linear-gradient(90deg,var(--gold),var(--gold2));border-radius:999px;transition:.35s ease}

.steps-nav{display:grid;gap:8px}
.nav-step{
  width:100%;text-align:left;background:transparent;border:1px solid transparent;
  color:var(--muted);padding:12px 12px;border-radius:14px;transition:.2s ease;
}
.nav-step span{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;border-radius:50%;background:rgba(255,255,255,.06);
  color:var(--gold2);margin-right:9px;font-size:12px;
}
.nav-step.active,.nav-step:hover{
  border-color:var(--line);background:rgba(201,161,91,.08);color:var(--text)
}

.sidebar-note{
  margin-top:28px;color:var(--muted);font-size:13px;line-height:1.5;
  border:1px solid var(--line);border-radius:16px;padding:14px;background:rgba(255,255,255,.03)
}
.gold-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gold);margin-right:8px}

.main{
  min-height:100vh;
  padding:34px;
  overflow:hidden;
}

.section{
  display:none;
  animation:fadeUp .28s ease both;
}
.section.active{display:block}
@keyframes fadeUp{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}

.hero{
  min-height:calc(100vh - 68px);
  border:1px solid var(--line);
  border-radius:32px;
  position:relative;
  overflow:hidden;
  box-shadow:var(--shadow);
  display:flex;
  align-items:flex-end;
}
.hero-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(90deg, rgba(0,0,0,.90), rgba(0,0,0,.54), rgba(0,0,0,.24)),
    url("../assets/hero-kitchen.jpeg") center/cover no-repeat;
  transform:scale(1.01);
}
.hero-content{position:relative;max-width:720px;padding:60px}
.eyebrow{
  color:var(--gold2);text-transform:uppercase;letter-spacing:.22em;font-size:12px;font-weight:700;
}
h1,h2,h3,h4,p{margin-top:0}
h1{
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(42px,5vw,78px);
  line-height:.96;
  margin-bottom:20px;
}
h2{
  font-family:Georgia, "Times New Roman", serif;
  font-size:clamp(32px,3.6vw,54px);
  line-height:1.02;
  margin-bottom:14px;
}
h3{font-size:18px;margin-bottom:14px;color:var(--gold2)}
h4{font-size:14px;margin:18px 0 10px;color:var(--muted)}
.lead,.section-head p,.result-header p{color:var(--muted);font-size:17px;line-height:1.6}
.section-head{max-width:760px;margin-bottom:28px}

.hero-actions,.actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}
.primary-btn,.secondary-btn,.ghost-btn{
  border:1px solid var(--line);
  border-radius:999px;
  padding:13px 22px;
  min-height:48px;
  transition:.2s ease;
}
.primary-btn{
  background:linear-gradient(135deg,var(--gold),var(--gold2));
  color:#14100a;border-color:transparent;font-weight:800;
}
.secondary-btn{
  background:rgba(201,161,91,.08);color:var(--gold2);font-weight:700;
}
.ghost-btn{
  background:transparent;color:var(--muted)
}
.primary-btn:hover,.secondary-btn:hover,.ghost-btn:hover,.choice-card:hover,.pill:hover{transform:translateY(-1px);filter:brightness(1.08)}
.big{font-size:16px;padding:16px 26px;min-height:58px}

.choice-grid{display:grid;gap:18px}
.choice-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.choice-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.choice-card{
  min-height:176px;text-align:left;border:1px solid var(--line);
  border-radius:24px;padding:24px;
  background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));
  color:var(--text);box-shadow:0 18px 60px rgba(0,0,0,.22);
  transition:.2s ease;position:relative;overflow:hidden;
}
.choice-card:before{
  content:"";position:absolute;inset:auto -40px -60px auto;width:130px;height:130px;
  background:radial-gradient(circle,rgba(201,161,91,.18),transparent 64%);
}
.choice-card strong{display:block;font-size:24px;margin-bottom:8px}
.choice-card small{color:var(--muted);font-size:14px}
.choice-card.selected{
  background:linear-gradient(180deg,rgba(201,161,91,.19),rgba(255,255,255,.035));
  border-color:rgba(215,184,122,.65);
}
.choice-card.compact{min-height:138px}
.choice-icon{font-size:34px;display:block;margin-bottom:18px}
.disabled-soft{opacity:.72}
.layout-drawing{font-size:42px;color:var(--gold2);display:block;margin-bottom:20px;font-family:monospace}

.budget-panel,.dimensions-card,.form-card,.result-card,.config-card,.estimate-card,.sketch-card{
  border:1px solid var(--line);
  background:var(--panel);
  backdrop-filter: blur(18px);
  border-radius:28px;
  padding:26px;
  box-shadow:0 20px 70px rgba(0,0,0,.25);
}

.budget-panel{max-width:840px}
.budget-big{text-align:center;margin:10px 0 36px}
.budget-big span{color:var(--muted);display:block;margin-bottom:8px}
.budget-big strong{
  font-family:Georgia,serif;
  color:var(--gold2);
  font-size:clamp(46px,7vw,86px);
  line-height:1;
}
.budget-slider{
  width:100%;
  accent-color:var(--gold);
}
input[type="range"]{
  -webkit-appearance:none;
  height:12px;border-radius:999px;background:rgba(255,255,255,.12);outline:none;
}
input[type="range"]::-webkit-slider-thumb{
  -webkit-appearance:none;width:30px;height:30px;border-radius:50%;
  background:var(--gold2);border:5px solid #19130b;box-shadow:0 0 0 1px var(--gold),0 8px 20px rgba(0,0,0,.45);
}
input[type="range"]::-moz-range-thumb{
  width:30px;height:30px;border-radius:50%;background:var(--gold2);border:5px solid #19130b;
}
.slider-labels{display:flex;justify-content:space-between;color:var(--muted);font-size:13px;margin-top:14px}

.dimensions-card{margin-top:24px;display:none}
.dimensions-card.visible{display:block}

.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
label{display:grid;gap:7px;color:var(--muted);font-size:13px}
input,textarea{
  width:100%;border:1px solid var(--line2);border-radius:15px;
  background:rgba(255,255,255,.06);color:var(--text);
  padding:13px 14px;outline:none;
}
textarea{resize:vertical;line-height:1.45}
input:focus,textarea:focus{border-color:var(--gold);box-shadow:0 0 0 3px rgba(201,161,91,.12)}

.config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.config-card.full{grid-column:1/-1}
.pill-row{display:flex;gap:10px;align-items:center}
.pill-row.wrap{flex-wrap:wrap}
.pill{
  border:1px solid var(--line);
  background:rgba(255,255,255,.04);
  color:var(--text);
  padding:10px 14px;
  border-radius:999px;
  transition:.2s ease;
}
.pill.selected{
  background:linear-gradient(135deg,rgba(201,161,91,.92),rgba(215,184,122,.92));
  color:#14100a;font-weight:800;border-color:transparent;
}
.mini-fields{margin-top:16px;display:grid;gap:14px}
.hidden{display:none!important}

.check-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.check-card{
  display:flex;align-items:center;gap:10px;
  min-height:54px;border:1px solid var(--line);border-radius:16px;
  padding:12px;background:rgba(255,255,255,.035);color:var(--text);
}
.check-card input{width:auto;accent-color:var(--gold)}
.sub-options{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:10px}
.appliance-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:18px}
.appliance-option-card{
  border:1px solid var(--line);
  background:rgba(255,255,255,.035);
  border-radius:18px;
  padding:16px;
}
.option-title{margin-bottom:12px}
.option-title strong{display:block;color:var(--gold2);font-size:16px;margin-bottom:4px}
.option-title small{display:block;color:var(--muted);font-size:12px;line-height:1.35}

.notes-label{margin-top:20px}
.form-card h3{margin-top:24px}

.estimate-panel{
  border-left:1px solid var(--line);
  background:linear-gradient(180deg, rgba(12,12,12,.94), rgba(5,5,5,.92));
  padding:26px 20px;
  position:sticky;
  top:0;
  height:100vh;
  overflow:auto;
}
.estimate-card,.sketch-card{border-radius:24px;margin-bottom:18px;padding:20px}
.estimate-title{
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
  border-bottom:1px solid var(--line);padding-bottom:16px;margin-bottom:14px;
}
.estimate-title span{color:var(--muted);text-transform:uppercase;letter-spacing:.14em;font-size:11px}
.estimate-title strong{font-family:Georgia,serif;color:var(--gold2);font-size:30px;white-space:nowrap}
.line-row,.compare-row{
  display:flex;justify-content:space-between;gap:10px;padding:9px 0;
  border-bottom:1px solid rgba(255,255,255,.07);font-size:14px;color:var(--muted);
}
.line-row strong,.compare-row strong{color:var(--text)}
.line-row.total{color:var(--text);font-weight:800;font-size:16px;border-bottom:none;margin-top:6px}
.line-row.total strong{color:var(--gold2)}
.budget-compare{margin-top:12px;border-top:1px solid var(--line);padding-top:10px}
.compare-row .positive{color:var(--danger)}
.compare-row .negative{color:var(--ok)}

.sketch-card h3{margin-bottom:12px}
.sketch-empty{color:var(--muted);font-size:13px;line-height:1.45}
.svg-wrap{overflow:auto}
svg{max-width:100%;height:auto}
.block-label{font-size:11px;font-weight:700;fill:#1a1207}
.segment-title{font-size:12px;fill:#d7b87a;font-weight:700}
.segment-note{font-size:10px;fill:#bcb6a8}

.result-header{
  border:1px solid var(--line);
  background:
    linear-gradient(90deg, rgba(0,0,0,.76), rgba(0,0,0,.35)),
    url("../assets/hero-kitchen.jpeg") center/cover no-repeat;
  border-radius:30px;padding:36px;margin-bottom:22px;
}
.result-header h2{color:var(--gold2)}
.result-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.result-card{min-height:220px}
.result-list{display:grid;gap:8px}
.result-list div{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(255,255,255,.08);padding:9px 0;color:var(--muted)}
.result-list strong{color:var(--text)}
.warn{
  border:1px solid rgba(241,167,167,.38);
  background:rgba(241,167,167,.08);
  color:#ffd1d1;
  border-radius:14px;padding:10px 12px;font-size:13px;margin-top:10px;line-height:1.45;
}

@media (max-width:1180px){
  .app-shell{grid-template-columns:240px minmax(0,1fr)}
  .estimate-panel{grid-column:1/-1;position:relative;height:auto;border-left:none;border-top:1px solid var(--line);display:grid;grid-template-columns:1fr 1fr;gap:18px}
}
@media (max-width:860px){
  .app-shell{display:block}
  .sidebar{position:relative;height:auto}
  .main{padding:20px}
  .hero{min-height:640px}
  .hero-content{padding:34px}
  .choice-grid.three,.choice-grid.four,.config-grid,.form-grid,.result-layout,.sub-options,.check-grid,.appliance-options,.estimate-panel{grid-template-columns:1fr}
}
.hidden{display:none!important}.full-span{grid-column:1/-1}.muted{color:var(--muted);font-size:13px;line-height:1.45}.compact-form{margin-top:24px}.budget-inline{margin-top:20px}.island-box{margin-top:18px;border-top:1px solid var(--line);padding-top:18px}.upload-note{color:var(--muted);border:1px solid var(--line);border-radius:16px;padding:14px;margin:15px 0;background:rgba(255,255,255,.03)}.file-input{width:100%;border:1px dashed var(--line);border-radius:18px;padding:16px;color:var(--muted);background:rgba(255,255,255,.04)}
.result-layout.wide{grid-template-columns:1fr 1.15fr .8fr}.upgrade-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.upgrade-card{border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);border-radius:16px;padding:14px;text-align:left;display:grid;gap:6px}.upgrade-card strong{font-size:13px;color:var(--gold2)}.upgrade-card small{color:var(--muted)}.upgrade-card span{font-size:18px;font-weight:800}.upgrade-card.selected{border-color:rgba(215,184,122,.75);background:rgba(201,161,91,.16)}.finance-big{font-family:Georgia,serif;font-size:42px;color:var(--gold2);margin-bottom:16px}.summary-list p{color:var(--muted);line-height:1.5;margin:0 0 12px}.summary-list strong{color:var(--text)}.svg-base{fill:#d2ad69}.svg-filler{fill:#8a7656}.segment-title{fill:#d7b87a;font-size:13px}.block-label{fill:#111;font-size:12px;font-weight:700}.svg-wrap{overflow:auto}.svg-wrap svg{width:100%;min-height:140px}.sketch-empty{color:var(--muted);font-size:14px;padding:20px;border:1px dashed var(--line);border-radius:16px}.check-card input:disabled + span{opacity:.45}.positive{color:var(--danger)!important}.negative{color:var(--ok)!important}
.current-step-label{display:none}
.mobile-price-bar{display:none}

@media (max-width:1200px){.app-shell{grid-template-columns:240px 1fr}.estimate-panel{position:relative;grid-column:1/-1;height:auto;border-left:0;border-top:1px solid var(--line)}}
@media(max-width:820px){
  .app-shell{display:block}
  .sidebar{position:relative;height:auto}
  .main{padding:18px;padding-bottom:84px}
  .choice-grid.three,.choice-grid.four,.config-grid,.result-layout,.result-layout.wide,.form-grid{grid-template-columns:1fr!important}
  .upgrade-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .estimate-panel{position:relative}
  .hero-content{padding:32px}
  .hero{min-height:70vh}

  .steps-nav,.sidebar-note{display:none}
  .current-step-label{display:block;color:var(--gold2);font-size:13px;margin-top:10px;font-weight:700}
  .brand{margin-bottom:18px}
  .progress-zone{margin-bottom:0}
  .sidebar{padding:18px}

  .choice-card{min-height:auto;padding:18px}
  .choice-card strong{font-size:18px;margin-bottom:4px}
  .choice-icon{font-size:26px;margin-bottom:10px}
  .choice-card.compact{min-height:auto}
  .layout-drawing{font-size:32px;margin-bottom:10px}

  .mobile-price-bar{
    display:flex;justify-content:space-between;align-items:center;
    position:fixed;left:0;right:0;bottom:0;z-index:50;
    padding:14px 20px;
    background:linear-gradient(180deg, rgba(20,16,10,.92), rgba(8,6,3,.97));
    border-top:1px solid var(--line);
    backdrop-filter:blur(14px);
    color:var(--muted);font-size:13px;
  }
  .mobile-price-bar strong{font-family:Georgia,serif;color:var(--gold2);font-size:22px}
}

/* Plan 2D premium ANA Design */
.premium-plan-wrap{width:100%;overflow:auto;border-radius:22px;background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(255,255,255,.015));border:1px solid rgba(215,184,122,.22);padding:8px;box-shadow:inset 0 1px 0 rgba(255,255,255,.06)}
.premium-plan{width:100%;min-width:520px;height:auto;display:block}
.plan-frame{fill:#0f0f0f;stroke:rgba(215,184,122,.42);stroke-width:1.4}
.plan-title{fill:#d7b87a;font-size:18px;font-weight:800;letter-spacing:.08em}
.plan-subtitle{fill:rgba(245,240,230,.58);font-size:12px;letter-spacing:.02em}
.plan-base{fill:#f0e7d8;stroke:#d7b87a;stroke-width:2}
.plan-island{fill:#d7b87a;stroke:#f5e6bd;stroke-width:2.2;filter:drop-shadow(0 8px 14px rgba(0,0,0,.22))}
.plan-angle{fill:#1d1d1d;stroke:#d7b87a;stroke-width:2}
.plan-module-line{stroke:rgba(20,20,20,.45);stroke-width:1.2}
.plan-module-label{fill:#111;font-size:12px;font-weight:800}
.plan-island-title{fill:#111;font-size:16px;font-weight:900;letter-spacing:.12em}
.plan-island-dim{fill:#111;font-size:13px;font-weight:700}
.plan-wall-label{fill:rgba(245,240,230,.72);font-size:12px;font-weight:700}
.plan-dim{stroke:rgba(215,184,122,.82);stroke-width:1.2;stroke-dasharray:4 4}
.plan-dim-label{fill:#d7b87a;font-size:13px;font-weight:800}
.plan-legend-bg{fill:rgba(255,255,255,.045);stroke:rgba(215,184,122,.22)}
.plan-legend-title{fill:#d7b87a;font-size:14px;font-weight:900;letter-spacing:.08em}
.plan-legend-text{fill:rgba(245,240,230,.84);font-size:12px;font-weight:700}
.plan-legend-muted{fill:rgba(245,240,230,.58);font-size:11px}
.legend-base{fill:#f0e7d8}.legend-island{fill:#d7b87a}.legend-angle{fill:#1d1d1d;stroke:#d7b87a}


/* Correctif V1 stable : démarrage à zéro + suppression plan latéral */
.muted-empty{color:var(--muted)}
.muted-empty strong{font-size:12px;color:var(--muted);font-weight:500;text-align:right}

/* ANA V1 - Résultat premium inspiré maquette validée */
.premium-result-layout{
  display:flex;
  flex-direction:column;
  gap:18px;
  max-width:1280px;
  margin:0 auto;
}
.premium-top-grid{
  display:grid;
  grid-template-columns:.72fr 1.28fr;
  gap:18px;
}
.finish-grid-3{
  display:grid;
  grid-template-columns:.95fr .95fr 1.2fr;
  gap:18px;
  align-items:stretch;
}
.premium-bottom-grid{
  display:grid;
  grid-template-columns:1fr 1.1fr;
  gap:18px;
}
.premium-card{
  border-radius:22px;
  background:linear-gradient(145deg,rgba(24,24,24,.98),rgba(8,8,8,.98));
  border:1px solid rgba(201,161,91,.45);
  box-shadow:0 18px 60px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.03);
  min-height:auto;
}
.premium-card h3{
  color:var(--gold2);
  font-size:22px;
  margin-bottom:16px;
  display:flex;
  align-items:center;
  gap:10px;
}
.summary-card .summary-list p{font-size:14px;margin-bottom:9px;line-height:1.42}
.selected-furniture-wrap{
  display:grid;
  grid-template-columns:minmax(220px,42%) 1fr;
  gap:24px;
  align-items:center;
}
.selected-furniture-wrap img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  filter:saturate(.85) contrast(1.05);
}
.selected-furniture-info{display:grid;gap:9px;color:var(--muted);font-size:16px}
.selected-furniture-info strong{color:var(--text);font-size:20px}
.vertical-upgrades{grid-template-columns:1fr!important;gap:12px!important;margin-bottom:0!important}
.worktop-upgrades{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:12px!important;margin-bottom:0!important}
.finish-column .upgrade-card{
  position:relative;
  min-height:104px;
  padding:18px 18px 16px;
  border-radius:16px;
  text-align:center;
  place-items:center;
  overflow:hidden;
}
.finish-column .upgrade-card strong{
  color:var(--gold2);
  font-size:15px;
  line-height:1.2;
  max-width:100%;
}
.finish-column .upgrade-card small{
  color:var(--muted);
  font-size:14px;
  line-height:1.25;
  white-space:nowrap;
}
.finish-column .upgrade-card .upgrade-price,
.upgrade-card span.upgrade-price{
  color:var(--text);
  font-size:27px;
  line-height:1;
  font-weight:900;
  white-space:nowrap!important;
  word-break:keep-all!important;
  overflow-wrap:normal!important;
  letter-spacing:.01em;
}
.finish-column .upgrade-card.selected .upgrade-price{color:var(--gold2)}
.finish-column .upgrade-card.selected{
  background:radial-gradient(circle at 50% 15%,rgba(201,161,91,.26),rgba(255,255,255,.045) 55%);
  box-shadow:0 0 0 1px rgba(201,161,91,.4), inset 0 0 40px rgba(201,161,91,.08);
}
.check-dot{
  display:none;
  position:absolute;
  right:12px;
  top:12px;
  width:24px;
  height:24px;
  border-radius:999px;
  background:var(--gold2);
  color:#17120a;
  font-size:14px!important;
  font-weight:900;
  align-items:center;
  justify-content:center;
}
.upgrade-card.selected .check-dot{display:flex}
.plan-card #finalSketch .svg-wrap{
  background:#f4f1e8;
  border-radius:14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.13);
}
.plan-card #finalSketch svg{min-height:270px;max-height:360px;width:100%}
.finance-card .finance-big{
  font-size:clamp(44px,5vw,64px);
  line-height:.95;
  white-space:nowrap;
}
.finance-card .line-row{font-size:16px;padding:13px 0}
.finance-card .line-row strong{white-space:nowrap}
.actions{max-width:1280px;margin-left:auto;margin-right:auto}

@media (max-width:1180px){
  .premium-top-grid,.premium-bottom-grid{grid-template-columns:1fr 1fr}
  .finish-grid-3{grid-template-columns:1fr 1fr 1fr}
  .worktop-upgrades{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .finish-column .upgrade-card .upgrade-price,.upgrade-card span.upgrade-price{font-size:24px}
}
@media (max-width:920px){
  .premium-top-grid,.premium-bottom-grid,.finish-grid-3{grid-template-columns:1fr!important}
  .selected-furniture-wrap{grid-template-columns:1fr}
  .selected-furniture-wrap img{height:180px}
  .vertical-upgrades{grid-template-columns:1fr!important}
  .worktop-upgrades{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media (max-width:520px){
  .premium-card{padding:16px;border-radius:18px}
  .worktop-upgrades{grid-template-columns:1fr!important}
  .finish-column .upgrade-card{min-height:96px}
  .finish-column .upgrade-card .upgrade-price,.upgrade-card span.upgrade-price{font-size:25px}
  .result-header{padding:26px 22px;border-radius:22px}
  .result-header h2{font-size:clamp(34px,11vw,54px)}
}


/* ANA Design - Ajustement final dashboard premium
   Mobilier + électro plus compacts, plan de travail élargi */
.premium-result-layout{
  max-width:1500px !important;
}

.premium-top-grid{
  grid-template-columns:.68fr 1.32fr !important;
}

.finish-grid-3{
  grid-template-columns:.88fr .88fr 1.75fr !important;
  gap:16px !important;
}

.premium-bottom-grid{
  grid-template-columns:.95fr 1.05fr !important;
}

/* Mobilier et électro : 3 cartes sur une ligne, plus compactes */
#mobilityOptions.vertical-upgrades,
#electroOptions.vertical-upgrades{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
}

#mobilityOptions .upgrade-card,
#electroOptions .upgrade-card{
  min-height:112px !important;
  padding:14px 10px 12px !important;
}

#mobilityOptions .upgrade-card strong,
#electroOptions .upgrade-card strong{
  font-size:12px !important;
  line-height:1.15 !important;
}

#mobilityOptions .upgrade-card small,
#electroOptions .upgrade-card small{
  font-size:12px !important;
  line-height:1.15 !important;
}

#mobilityOptions .upgrade-card .upgrade-price,
#electroOptions .upgrade-card .upgrade-price{
  font-size:21px !important;
  white-space:nowrap !important;
  word-break:keep-all !important;
}

/* Plan de travail : bloc plus large, 4 cartes par ligne sur PC */
#worktopOptions.worktop-upgrades{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
}

#worktopOptions .upgrade-card{
  min-height:112px !important;
  padding:14px 12px 12px !important;
}

#worktopOptions .upgrade-card strong{
  font-size:13px !important;
  line-height:1.15 !important;
}

#worktopOptions .upgrade-card small{
  font-size:12px !important;
}

#worktopOptions .upgrade-card .upgrade-price{
  font-size:22px !important;
  white-space:nowrap !important;
}

/* Empêche le symbole € de revenir à la ligne */
.upgrade-price,
.finance-big,
.money,
.amount,
[data-price],
[data-total]{
  white-space:nowrap !important;
  word-break:keep-all !important;
  overflow-wrap:normal !important;
}

/* Desktop intermédiaire */
@media (max-width:1280px){
  .premium-result-layout{max-width:1320px !important;}
  .finish-grid-3{grid-template-columns:.9fr .9fr 1.55fr !important;}
  #mobilityOptions .upgrade-card .upgrade-price,
  #electroOptions .upgrade-card .upgrade-price{font-size:19px !important;}
  #worktopOptions .upgrade-card .upgrade-price{font-size:20px !important;}
}

/* Tablette : garde les blocs lisibles */
@media (max-width:1050px){
  .finish-grid-3{
    grid-template-columns:1fr !important;
  }
  #mobilityOptions.vertical-upgrades,
  #electroOptions.vertical-upgrades{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
  #worktopOptions.worktop-upgrades{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}

/* Mobile */
@media (max-width:620px){
  .premium-top-grid,
  .premium-bottom-grid,
  .finish-grid-3{
    grid-template-columns:1fr !important;
  }
  #mobilityOptions.vertical-upgrades,
  #electroOptions.vertical-upgrades,
  #worktopOptions.worktop-upgrades{
    grid-template-columns:1fr !important;
  }
  #mobilityOptions .upgrade-card,
  #electroOptions .upgrade-card,
  #worktopOptions .upgrade-card{
    min-height:90px !important;
  }
  #mobilityOptions .upgrade-card .upgrade-price,
  #electroOptions .upgrade-card .upgrade-price,
  #worktopOptions .upgrade-card .upgrade-price{
    font-size:25px !important;
  }
}


/* ANA VERTICAL TEST */
#mobilityOptions.vertical-upgrades,
#electroOptions.vertical-upgrades{
 display:flex !important;
 flex-direction:column !important;
 gap:12px !important;
}

#mobilityOptions .upgrade-card,
#electroOptions .upgrade-card{
 width:100% !important;
 min-height:95px !important;
}

.finish-grid-3{
 grid-template-columns:.75fr .75fr 1.5fr !important;
}

#worktopOptions.worktop-upgrades{
 display:grid !important;
 grid-template-columns:repeat(4,1fr) !important;
 gap:12px !important;
}

@media(max-width:1000px){
 .finish-grid-3{grid-template-columns:1fr !important;}
 #worktopOptions.worktop-upgrades{grid-template-columns:repeat(3,1fr) !important;}
}


/* ANA V2 - Conseil budget après budget */
.ana-advice-step{display:none;}
.ana-advice-main{max-width:1180px;margin:0 auto;}
.ana-advice-hero{
  border:1px solid rgba(212,175,55,.65);
  background:linear-gradient(135deg,rgba(212,175,55,.13),rgba(255,255,255,.035));
  border-radius:22px;
  padding:24px;
  margin:18px 0;
  box-shadow:0 22px 60px rgba(0,0,0,.35);
}
.ana-advice-label{
  color:#d4af37;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-size:13px;
}
.ana-advice-price{
  color:#fff;
  font-size:44px;
  line-height:1;
  margin:16px 0 14px;
  font-weight:900;
  white-space:nowrap;
}
.ana-advice-config{
  color:#e8dec5;
  font-size:16px;
  line-height:1.6;
}
.ana-advice-score{
  margin-top:14px;
  display:inline-flex;
  border:1px solid rgba(212,175,55,.45);
  border-radius:999px;
  padding:8px 12px;
  color:#f0d489;
  font-weight:800;
  background:rgba(0,0,0,.18);
}
.ana-advice-alt-title{
  color:#d4af37;
  font-weight:900;
  margin:18px 0 12px;
  text-transform:uppercase;
  letter-spacing:.05em;
  font-size:13px;
}
.ana-advice-alts{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.ana-advice-alt{
  text-align:left;
  cursor:pointer;
  border:1px solid rgba(212,175,55,.38);
  background:rgba(255,255,255,.04);
  border-radius:18px;
  padding:18px;
  color:#fff;
}
.ana-advice-alt:hover,
.ana-advice-alt.active{
  border-color:rgba(212,175,55,.9);
  background:rgba(212,175,55,.10);
}
.ana-advice-alt strong{
  display:block;
  color:#d4af37;
  margin-bottom:8px;
}
.ana-advice-alt span{
  display:block;
  color:#d8cfbd;
  line-height:1.35;
  font-size:14px;
}
.ana-advice-alt em{
  display:block;
  color:#fff;
  font-style:normal;
  font-size:24px;
  font-weight:900;
  margin-top:12px;
  white-space:nowrap;
}
.ana-advice-note{
  color:#cfc4ad;
  margin-top:14px;
}
@media(max-width:800px){
  .ana-advice-alts{grid-template-columns:1fr;}
  .ana-advice-price{font-size:34px;}
}

/* ANA V2 simple final */
.section-title-inline{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.section-title-inline h3{margin:0}
.mini-toggle{display:inline-flex;align-items:center;gap:8px;color:var(--gold2);font-size:13px;border:1px solid rgba(201,161,91,.35);border-radius:999px;padding:8px 12px;background:rgba(255,255,255,.035);white-space:nowrap}
.mini-toggle input{accent-color:var(--gold)}
.ana-advice-main{max-width:1180px;margin:0 auto}
.ana-advice-hero{border:1px solid rgba(212,175,55,.65);background:linear-gradient(135deg,rgba(212,175,55,.13),rgba(255,255,255,.035));border-radius:22px;padding:24px;margin:18px 0;box-shadow:0 22px 60px rgba(0,0,0,.35)}
.ana-advice-label{color:var(--gold2);font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:13px}
.ana-advice-price{color:#fff;font-size:42px;line-height:1;margin:16px 0 14px;font-weight:900;white-space:nowrap}
.ana-advice-config{color:#e8dec5;font-size:16px;line-height:1.6}
.ana-advice-score{margin-top:14px;display:inline-flex;border:1px solid rgba(212,175,55,.45);border-radius:999px;padding:8px 12px;color:#f0d489;font-weight:800;background:rgba(0,0,0,.18)}
.ana-advice-alt-title{color:var(--gold2);font-weight:900;margin:18px 0 12px;text-transform:uppercase;letter-spacing:.05em;font-size:13px}
.ana-advice-alts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ana-advice-alt{text-align:left;cursor:pointer;border:1px solid rgba(212,175,55,.38);background:rgba(255,255,255,.04);border-radius:18px;padding:18px;color:#fff}
.ana-advice-alt:hover{border-color:rgba(212,175,55,.9);background:rgba(212,175,55,.10)}
.ana-advice-alt strong{display:block;color:var(--gold2);margin-bottom:8px}
.ana-advice-alt span{display:block;color:#d8cfbd;line-height:1.35;font-size:14px}
.ana-advice-alt em{display:block;color:#fff;font-style:normal;font-size:24px;font-weight:900;margin-top:12px;white-space:nowrap}
.ana-advice-note{color:#cfc4ad;margin-top:14px}
@media(max-width:800px){.ana-advice-alts{grid-template-columns:1fr}.ana-advice-price{font-size:30px}.section-title-inline{align-items:flex-start;flex-direction:column}}


/* ANA Conseil Design */
.ana-advice-main{max-width:1180px;margin:0 auto}
.ana-advice-hero{border:1px solid rgba(201,161,91,.6);background:linear-gradient(135deg,rgba(201,161,91,.14),rgba(255,255,255,.035));border-radius:22px;padding:24px;margin:18px 0;box-shadow:0 22px 60px rgba(0,0,0,.35)}
.ana-advice-label{color:var(--gold2);font-weight:900;letter-spacing:.06em;text-transform:uppercase;font-size:13px}
.ana-advice-price{color:#fff;font-size:42px;line-height:1;margin:16px 0 14px;font-weight:900;white-space:nowrap}
.ana-advice-config{color:#e8dec5;font-size:16px;line-height:1.6}
.ana-advice-score{margin-top:14px;display:inline-flex;border:1px solid rgba(201,161,91,.45);border-radius:999px;padding:8px 12px;color:#f0d489;font-weight:800;background:rgba(0,0,0,.18)}
.ana-advice-alts{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:12px}
.ana-advice-alt{text-align:left;cursor:pointer;border:1px solid rgba(201,161,91,.35);background:rgba(255,255,255,.04);border-radius:18px;padding:18px;color:#fff}
.ana-advice-alt:hover{border-color:rgba(201,161,91,.9);background:rgba(201,161,91,.10)}
.ana-advice-alt strong{display:block;color:var(--gold2);margin-bottom:8px}
.ana-advice-alt span{display:block;color:#d8cfbd;line-height:1.35;font-size:14px}
.ana-advice-alt em{display:block;color:#fff;font-style:normal;font-size:24px;font-weight:900;margin-top:12px;white-space:nowrap}
.ana-advice-note{color:#cfc4ad;margin-top:14px}
@media(max-width:800px){.ana-advice-alts{grid-template-columns:1fr}.ana-advice-price{font-size:30px}}


/* ANA Correctif recommandation + électro */
.ana-range-small{
  font-size:14px;
  color:var(--muted);
  margin: -4px 0 16px;
}
.ana-config-lines{
  margin-top:8px;
}


/* ANA V3 - Ambiance conseil */
.clickable-advice{
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease;
}
.clickable-advice:hover{
  transform:translateY(-2px);
  border-color:rgba(201,161,91,.95);
  background:linear-gradient(135deg,rgba(201,161,91,.18),rgba(255,255,255,.045));
}
.ana-ambiance-panel{
  margin-top:18px;
  border:1px solid rgba(201,161,91,.36);
  border-radius:22px;
  background:rgba(255,255,255,.035);
  padding:18px;
}
.ana-ambiance-panel.hidden{display:none;}
.ana-ambiance-title{
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:flex-end;
  margin-bottom:14px;
}
.ana-ambiance-title strong{
  display:block;
  color:var(--gold2);
  font-size:18px;
}
.ana-ambiance-title span,
.ana-ambiance-title small{
  color:var(--muted);
}
.ana-ambiance-viewer{
  display:grid;
  grid-template-columns:52px 1fr 52px;
  gap:12px;
  align-items:center;
}
.ana-ambiance-viewer img{
  width:100%;
  height:360px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.12);
  box-shadow:0 20px 60px rgba(0,0,0,.32);
}
.ana-ambiance-arrow{
  width:52px;
  height:52px;
  border-radius:999px;
  border:1px solid rgba(201,161,91,.55);
  background:rgba(0,0,0,.24);
  color:#fff;
  font-size:34px;
  line-height:1;
}
.ana-ambiance-arrow:hover{
  background:rgba(201,161,91,.16);
}
.ana-ambiance-footer{
  display:flex;
  justify-content:space-between;
  gap:16px;
  margin-top:12px;
  color:var(--muted);
  font-size:14px;
}
.ana-ambiance-footer strong{color:var(--gold2);}
@media(max-width:800px){
  .ana-ambiance-viewer{grid-template-columns:42px 1fr 42px;}
  .ana-ambiance-viewer img{height:240px;}
  .ana-ambiance-arrow{width:42px;height:42px;font-size:28px;}
  .ana-ambiance-title,.ana-ambiance-footer{flex-direction:column;align-items:flex-start;}
}


/* ANA final fiable */
#anaAdviceHero.clickable-advice{
  cursor:pointer;
}
#anaAdviceHero.clickable-advice:hover{
  transform:translateY(-2px);
  border-color:rgba(201,161,91,.95);
  background:linear-gradient(135deg,rgba(201,161,91,.18),rgba(255,255,255,.045));
}


/* ANA final patch photo estimation */
.selected-ambiance-img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:14px;
  box-shadow:0 16px 45px rgba(0,0,0,.28);
}


/* ANA SP final */
#anaAdviceHero.clickable-advice{cursor:pointer}
#anaAdviceHero.clickable-advice:hover{
  transform:translateY(-2px);
  border-color:rgba(201,161,91,.95);
}


/* ANA fix photo unique mobilier sélectionné */
.selected-ambiance-img{
  width:100%;
  height:190px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.12);
  margin-bottom:14px;
  box-shadow:0 16px 45px rgba(0,0,0,.28);
}


/* ANA plan 2D colonnes à l'échelle */
.plan-column{fill:rgba(215,184,122,.32);stroke:rgba(215,184,122,.95);stroke-width:1.6}
.plan-fridge{fill:rgba(255,255,255,.16);stroke:rgba(215,184,122,.95);stroke-width:1.6}


/* ANA HOME — état de transmission du dossier */
.contact-submit-status{
  margin:18px 0 8px;
  padding:14px 16px;
  border-radius:14px;
  font-weight:700;
  line-height:1.45;
  border:1px solid rgba(215,184,122,.34);
  background:rgba(215,184,122,.10);
}
.contact-submit-status.hidden{display:none}
.contact-submit-status.sending{
  color:#f5e6bd;
  background:rgba(215,184,122,.12);
}
.contact-submit-status.success{
  color:#dff5df;
  border-color:rgba(92,180,105,.48);
  background:rgba(92,180,105,.14);
}
.contact-submit-status.error{
  color:#ffdada;
  border-color:rgba(205,80,80,.52);
  background:rgba(205,80,80,.14);
}
#step-contact [data-next]:disabled{
  opacity:.62;
  cursor:wait;
}


/* ANA HOME — gestion des pièces jointes */
.ana-attachment-help{
  margin-top:10px;
  color:rgba(245,240,230,.64);
  font-size:.9rem;
  line-height:1.55;
}
.ana-attachment-help strong{color:#d7b87a}
.ana-attachment-error{
  display:none;
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  color:#ffdada;
  background:rgba(205,80,80,.14);
  border:1px solid rgba(205,80,80,.5);
  font-weight:700;
}
.ana-attachment-error.visible{display:block}
.ana-attachment-list{
  display:grid;
  gap:10px;
  margin-top:14px;
}
.ana-attachment-item{
  display:grid;
  grid-template-columns:64px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:10px;
  border-radius:14px;
  border:1px solid rgba(215,184,122,.22);
  background:rgba(255,255,255,.035);
}
.ana-attachment-thumb,
.ana-attachment-pdf{
  width:64px;
  height:64px;
  border-radius:10px;
  object-fit:cover;
  background:#171717;
  border:1px solid rgba(215,184,122,.28);
}
.ana-attachment-pdf{
  display:flex;
  align-items:center;
  justify-content:center;
  color:#d7b87a;
  font-weight:900;
  letter-spacing:.08em;
}
.ana-attachment-meta{min-width:0}
.ana-attachment-name{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#f5f0e6;
  font-weight:800;
}
.ana-attachment-size{
  margin-top:4px;
  color:rgba(245,240,230,.58);
  font-size:.86rem;
}
.ana-attachment-remove{
  border:1px solid rgba(215,184,122,.34);
  background:transparent;
  color:#d7b87a;
  border-radius:999px;
  padding:8px 11px;
  cursor:pointer;
  font-weight:800;
}
.ana-attachment-remove:hover{
  background:rgba(215,184,122,.12);
}
.ana-attachment-total{
  margin-top:10px;
  text-align:right;
  color:rgba(245,240,230,.62);
  font-weight:700;
}
.ana-attachment-total.near-limit{color:#d7b87a}
@media (max-width:560px){
  .ana-attachment-item{
    grid-template-columns:54px minmax(0,1fr);
  }
  .ana-attachment-thumb,
  .ana-attachment-pdf{
    width:54px;
    height:54px;
  }
  .ana-attachment-remove{
    grid-column:2;
    justify-self:start;
  }
}
