/* AXDIA Website Factory V9 — interface Design DNA (constructeur uniquement).
   Ce fichier ne s'applique jamais au site exporté : le CSS du site est généré par
   design/dna-render.js (§120 : CSS du constructeur ≠ CSS du site). */
.dna-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.dna-wizard .wizard-card.dna-wide{width:min(1280px,100%)}
.dna-brief{display:grid;gap:14px}
.dna-brief-note{margin:0;font-size:12px;color:var(--muted)}
.dna-q{border:0;margin:0;padding:0;min-width:0}
.dna-q legend{font-size:12.5px;font-weight:650;color:var(--text);margin-bottom:8px;padding:0}
.dna-chips{display:flex;flex-wrap:wrap;gap:7px}
.dna-chip{min-height:38px;padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:var(--panel2);color:#d6d0cb;font-size:12.5px;cursor:pointer;text-align:left}
.dna-chip:hover{border-color:#6b5f56}
.dna-chip.on{border-color:var(--brand2);background:rgba(169,48,16,.18);color:#fff}
.dna-chip:focus-visible,.dna-seg button:focus-visible,.dna-swatch:focus-visible,.dna-card button:focus-visible,.dna-dir-chip:focus-visible,.dna-tabs button:focus-visible{outline:2px solid #e89272;outline-offset:2px}
.dna-pro-toggle{margin-top:4px}
.dna-pro-q{display:grid;gap:14px;padding:14px;border:1px dashed var(--line);border-radius:12px}
.dna-brand input[type=color]{width:64px;height:36px;border:1px solid var(--line);border-radius:8px;background:transparent}
.dna-direction{display:grid;gap:16px}
.dna-dir-tools,.dna-disc-tools,.dna-look-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.dna-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.dna-grid.three{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.dna-sub{margin:16px 0 6px;font-size:13px;color:var(--text)}
.dna-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;background:var(--panel);overflow:hidden;height:100%}
.dna-card.selected{border-color:var(--brand2);box-shadow:0 0 0 2px rgba(211,77,38,.35)}
.dna-card-body{display:flex;flex-direction:column;gap:8px;padding:12px 13px 13px;flex:1}
.dna-card-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.dna-card-head h3{margin:0;font-size:14.5px;color:var(--text)}
.dna-badge{display:inline-flex;padding:3px 8px;border-radius:999px;border:1px solid var(--line);font-size:10.5px;color:#d9d2cc}
.dna-badge.ok{border-color:#3d7a57;color:#8fe0b2}
.dna-card-tag{margin:0;font-size:12px;line-height:1.5;color:#c9c2bc}
.dna-card-facts{display:grid;grid-template-columns:1fr 1fr;gap:6px 10px;margin:0;font-size:11px}
.dna-card-facts dt{color:var(--muted)}.dna-card-facts dd{margin:0;color:#e4ded9}
.dna-card-facts div:last-child{grid-column:1/-1}
.dna-why summary{cursor:pointer;font-size:12px;color:#f0b8a4}
.dna-why ul{margin:6px 0 0;padding-left:18px;font-size:11.5px;line-height:1.5;color:#d2cbc5}
.dna-card-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:auto}
.dna-fav{min-width:38px}
.dna-pv{position:relative;width:100%;aspect-ratio:var(--pw) / calc(var(--ph) * .62);overflow:hidden;background:#f3f1ee;border-bottom:1px solid var(--line)}
.dna-card.big .dna-pv{aspect-ratio:var(--pw) / calc(var(--ph) * .72)}
.dna-pv iframe{position:absolute;inset:0 auto auto 0;width:calc(var(--pw) * 1px);height:calc(var(--ph) * 1px);border:0;transform-origin:0 0;transform:scale(var(--s,.25));pointer-events:none;background:#fff;opacity:0;transition:opacity .25s}
.dna-pv.ready iframe{opacity:1}
.dna-pv-wait{position:absolute;inset:0;display:grid;place-items:center;font-size:11px;color:#7d746d}
.dna-pv.ready .dna-pv-wait{display:none}
.dna-overlay{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:18px;background:rgba(8,6,5,.74);backdrop-filter:blur(4px)}
.dna-dialog{width:min(960px,100%);max-height:calc(100vh - 36px);display:flex;flex-direction:column;background:#1b1815;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);color:var(--text)}
.dna-dialog.wide{width:min(1400px,100%)}
.dna-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 18px;border-bottom:1px solid var(--line)}
.dna-dialog-head h2{margin:0;font-size:17px}
.dna-dialog-body{padding:16px 18px 20px;overflow:auto;display:grid;gap:14px}
.dna-tabs{display:flex;flex-wrap:wrap;gap:4px;margin-right:auto}
.dna-tabs button,.dna-look-bar .viewport-switch button{min-height:36px;padding:0 12px;border:1px solid var(--line);border-radius:9px;background:var(--panel2);color:#d6d0cb;font-size:12px;cursor:pointer}
.dna-tabs button.active,.dna-look-bar .viewport-switch button.active{background:var(--brand);border-color:var(--brand);color:#fff}
.dna-look-bar .viewport-switch{display:flex;gap:4px}
.dna-look-stage{display:flex;justify-content:center}
.dna-look-stage .dna-pv{border:1px solid var(--line);border-radius:12px;aspect-ratio:var(--pw) / calc(var(--ph) * .9)}
.dna-look-stage.desktop .dna-pv{width:100%}.dna-look-stage.tablet .dna-pv{width:min(560px,100%)}.dna-look-stage.mobile .dna-pv{width:min(330px,100%)}
.dna-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dna-compare.mobile{grid-template-columns:repeat(3,minmax(0,300px));justify-content:center}
.dna-cmp-col{display:grid;gap:8px;align-content:start}
.dna-cmp-col h3{margin:0;font-size:14px}
.dna-cmp-col .dna-pv{border:1px solid var(--line);border-radius:10px;aspect-ratio:var(--pw) / calc(var(--ph) * 1.1)}
.dna-inline{display:inline-flex;align-items:center;gap:8px;font-size:12px;color:var(--muted)}
.dna-inline select,.dna-inline input{min-height:32px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);color:var(--text)}
.dna-mine-row{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--line);border-radius:10px}
.dna-mine-row div{flex:1;display:grid}.dna-mine-row small{color:var(--muted)}
.dna-disc-grid.dna-mine{display:grid;gap:8px}
.dna-panel{display:grid;gap:12px;margin-bottom:14px}
.dna-current{display:grid;gap:6px;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--panel2)}
.dna-current b{font-size:14px}.dna-current small{color:var(--muted);font-size:11px}.dna-current p{margin:0;font-size:12px;line-height:1.5;color:#cfc8c2}
.dna-current details summary{cursor:pointer;font-size:12px;color:#f0b8a4}.dna-current ul{margin:6px 0 0;padding-left:18px;font-size:11.5px;color:#d2cbc5}
.dna-row{display:flex;flex-wrap:wrap;gap:6px}
.dna-row .btn{flex:1 1 auto}
.dna-seg-wrap{display:grid;gap:6px}
.dna-seg-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:#9f9892}
.dna-seg{display:flex;flex-wrap:wrap;gap:4px}
.dna-seg button{flex:1 1 auto;min-height:34px;padding:0 10px;border:1px solid var(--line);border-radius:8px;background:var(--panel2);color:#d6d0cb;font-size:12px;cursor:pointer}
.dna-seg button.on{background:rgba(169,48,16,.25);border-color:var(--brand2);color:#fff}
.dna-seg-wrap-list button{flex:0 1 auto}
.dna-swatches{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.dna-swatch{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding:0;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:none;cursor:pointer;min-height:40px}
.dna-swatch span{min-height:22px}
.dna-swatch em{grid-column:1/-1;font-style:normal;font-size:10px;padding:4px 5px;color:#d6d0cb;background:var(--panel2);text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dna-swatch.on{border-color:var(--brand2);box-shadow:0 0 0 2px rgba(211,77,38,.35)}
.dna-quality-btn{width:100%}
.dna-pro{border:1px solid var(--line);border-radius:12px;padding:10px;background:#1a1714}
.dna-pro summary{cursor:pointer;font-weight:650;font-size:12.5px}
.dna-pro .field{margin-top:8px}
.dna-off{color:#e3ab66;font-size:10px}
.dna-legacy-tokens{border-top:1px solid var(--line);padding-top:10px}
.dna-legacy-tokens>summary{cursor:pointer;font-size:12px;color:#cfc8c2;margin-bottom:8px}
.dna-dir-chip{display:inline-flex;align-items:center;gap:6px;max-width:260px;min-height:30px;padding:0 10px;border:1px solid var(--brand2);border-radius:999px;background:rgba(169,48,16,.14);color:#fff;font-size:11.5px;cursor:pointer;white-space:nowrap;overflow:hidden}
.dna-dir-chip span{overflow:hidden;text-overflow:ellipsis}
.dna-sec-ctl{margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}
.dna-qp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:8px}
.dna-qp{display:grid;gap:3px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel2)}
.dna-qp span{font-size:11px;color:var(--muted)}.dna-qp b{font-size:16px}.dna-qp small{font-size:10.5px;color:#b8b0aa;line-height:1.4}
.dna-list{margin:0;padding-left:0;list-style:none;display:grid;gap:6px;font-size:12px}
.dna-list li{display:flex;flex-wrap:wrap;gap:6px 10px;align-items:baseline;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#1f1b18}
.dna-list small{color:var(--muted)}
.dna-iss.bad{border-color:#7a3a3d}.dna-iss.warn{border-color:#6e5634}.dna-iss.ok{border-color:#2f5a43}
.dna-list .btn{margin-left:auto}
.dna-menu-extra{display:grid;gap:6px}
@media (max-width:760px){.dna-compare,.dna-compare.mobile{grid-template-columns:1fr}.dna-swatches{grid-template-columns:1fr 1fr}.dna-dialog-body{padding:12px}}
@media (prefers-reduced-motion:reduce){.dna-pv iframe{transition:none}}

/* Recoverable bootstrap failure: keep local draft untouched and offer one clear action. */
.factory-load-error{min-height:100dvh;overflow:auto;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:16px;max-width:640px;margin:auto;padding:32px;color:var(--text)}
.factory-load-error h1,.factory-load-error p{margin:0}
.factory-load-error p{line-height:1.55;color:var(--muted)}
.factory-load-error button{min-height:44px;padding:10px 18px;border:1px solid var(--brand2);border-radius:8px;background:var(--brand);color:#fff;cursor:pointer}
.factory-load-error button:focus-visible{outline:2px solid #fff;outline-offset:3px}
