.dx-quote{--dx-bg:var(--c-bg);--dx-ink:var(--c-text);--dx-muted:var(--c-muted);--dx-line:var(--c-border-strong);--dx-accent:var(--c-cyan);--dx-copper:var(--c-violet);background:var(--dx-bg);color:var(--dx-ink)}
.dx-quote main{padding-bottom:5rem}.dx-quote .section__head{max-width:850px}.dx-quote .lead{color:var(--dx-muted);line-height:1.8}.dx-quote .quote-layout,.dx-quote .uv-layout{gap:clamp(1.5rem,4vw,4rem)}
.dx-quote [hidden]{display:none!important}.dx-quote input,.dx-quote select,.dx-quote textarea{max-width:100%;color:var(--dx-ink);background:var(--c-surface);border:1px solid var(--dx-line);border-radius:10px;padding:.8rem}.dx-quote input[type=checkbox],.dx-quote input[type=radio]{accent-color:var(--dx-accent);width:1.1rem;height:1.1rem;padding:0;flex-shrink:0}.dx-quote input[type=range]{width:100%;padding:0;accent-color:var(--dx-accent)}.dx-quote option{background:var(--c-surface);color:var(--dx-ink)}
.dx-quote :focus-visible{outline:3px solid var(--dx-accent);outline-offset:4px}.dx-quote .field{display:flex;flex-direction:column;gap:.55rem;min-width:0}.dx-quote .field>span{font-size:.9rem;color:var(--dx-muted)}.dx-quote .btn{min-height:46px;border-radius:999px}.dx-quote .btn--accent{background:var(--grad-accent);color:var(--c-on-accent)}.dx-quote .btn--quiet{border:1px solid var(--dx-line);color:var(--dx-ink);background:transparent}.dx-quote .btn:disabled{opacity:.45;cursor:not-allowed}.dx-quote .hint{color:var(--dx-muted);line-height:1.65}.dx-quote .check{display:flex;align-items:flex-start;gap:.8rem;line-height:1.65}
.dx-entry,.dx-physical,.dx-shipping{border:0;padding:0;margin:1.7rem 0}.dx-entry legend,.dx-physical legend,.dx-shipping legend{font-size:1.1rem;font-weight:600;margin-bottom:1rem}.dx-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.dx-choice{display:flex;align-items:flex-start;gap:.65rem;min-height:90px;border:1px solid var(--dx-line);background:var(--c-surface);padding:1.15rem;border-radius:16px;cursor:pointer;line-height:1.45}.dx-choice:has(input:checked){border-color:var(--dx-accent);background:var(--c-cyan-08)}.dx-choice small{display:block;margin-top:.5rem;font-size:.78rem;color:var(--dx-muted)}
.dx-notice{background:var(--c-cyan-08);border-left:2px solid var(--dx-accent);padding:1rem 1.25rem;border-radius:0 12px 12px 0;color:var(--dx-muted);line-height:1.7}.dx-manual{padding:1rem 0}.dx-usage{margin:2rem 0}.dx-usage .dx-choice{min-height:70px}.dx-advanced{border:1px solid var(--dx-line);border-radius:14px;margin:1.5rem 0;overflow:hidden}.dx-advanced summary{cursor:pointer;padding:1.15rem;font-weight:600;color:var(--dx-copper)}.dx-advanced__body{padding:0 1.15rem 1.4rem}.dx-consent{margin:2rem 0;padding:1.25rem;border:1px solid var(--dx-line);border-radius:14px}.dx-consent p{margin-bottom:1rem}.dx-fields{display:grid;grid-template-columns:repeat(auto-fit,minmax(155px,1fr));gap:1.2rem;margin:1rem 0}.dx-fields output{font-size:.8rem;color:var(--dx-muted);text-align:right}
.dx-progress ol{display:grid;grid-template-columns:repeat(3,1fr);list-style:none;gap:.5rem;padding:0;margin:0 0 2rem}.dx-progress button{display:flex;align-items:center;gap:.75rem;text-align:left;background:none;border:0;border-bottom:2px solid var(--dx-line);color:var(--dx-muted);width:100%;padding:1rem .4rem;cursor:pointer;font-size:.95rem;line-height:1.3;min-height:65px}.dx-progress button[aria-current=step]{color:var(--dx-accent);border-color:var(--dx-accent)}.dx-progress button span{font-variant-numeric:tabular-nums;font-size:.75rem;opacity:.75}.dx-stage>h2{font-size:clamp(1.65rem,3vw,2.4rem);margin-bottom:2rem}.dx-stage>.uv-etape{padding:1rem 0 1.5rem;border-bottom:1px solid var(--dx-line)}.dx-section-title{font-size:1.05rem;color:var(--dx-muted)}.dx-section-title .uv-num,.dx-section-title .uv-step-num{display:none}.dx-navigation{display:flex;justify-content:space-between;gap:1rem;margin-top:2rem}.dx-navigation:has(:only-child){justify-content:flex-end}
.dx-preview-scroll{overflow:auto;max-height:550px;min-height:200px;border:1px solid var(--dx-line);border-radius:18px;background:var(--c-surface);display:flex;align-items:flex-start;justify-content:center;padding:1rem;margin:1.5rem 0}.dx-preview-scroll canvas{display:block;max-width:none;width:100%;height:auto;object-fit:contain;touch-action:none;max-height:none;flex-shrink:0;box-shadow:0 8px 28px #0005}.dx-editor-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin:1rem 0}.dx-editor-actions .btn{font-size:.8rem;padding:.65rem .9rem}.dx-art-warnings{color:var(--dx-copper);min-height:1rem}.dx-art-warnings p{color:var(--dx-copper)!important}.dx-uv #uv-galerie{max-height:310px;overflow:auto;margin:2rem 0}.dx-uv .uv-etape h3+div{margin-top:1rem}.dx-uv #uv-sticky{display:none}.dx-quote .recap,.dx-quote .card{background:var(--c-surface);border-color:var(--dx-line);border-radius:18px}.dx-quote .recap__total{color:var(--dx-ink);background:var(--c-cyan-08)}.dx-quote .recap__row{gap:1rem}.dx-quote .recap__row dd{text-align:right}.dx-quote .is-attente{opacity:.5}
.dx-manual-mode #bloc-paiement,.dx-manual-mode .devis-aside,.dx-manual-mode #bloc-couleurs,.dx-manual-mode .dx-fdm-settings{display:none!important}.dx-manual-mode #recap-complet .recap__row>*{min-width:0;overflow-wrap:anywhere}.dx-manual-mode #recap-complet dd{font-family:inherit}.dx-validated{max-width:850px;margin:2rem auto;padding:clamp(1rem,4vw,3rem);border:1px solid var(--dx-line);border-radius:22px;background:var(--c-surface)}.dx-validated h1{font-size:2.1rem}.dx-order-lines{padding:0;list-style:none}.dx-order-lines li{display:flex;justify-content:space-between;gap:1.5rem;border-bottom:1px solid var(--dx-line);padding:1rem 0}.dx-order-total{display:flex;justify-content:space-between;font-size:1.6rem;margin:1.5rem 0;color:var(--dx-accent)}
@media(max-width:650px){.dx-manual-mode #recap-complet .recap__row{flex-direction:column;gap:.35rem}.dx-manual-mode #recap-complet .recap__row dd{text-align:left}}
@media(max-width:650px){.dx-choice-grid{grid-template-columns:1fr}.dx-usage .dx-choice-grid{grid-template-columns:1fr 1fr}.dx-choice{min-height:65px}.dx-progress button{font-size:.8rem;gap:.4rem;display:block}.dx-progress button span{display:block;margin-bottom:.4rem}.dx-fields{grid-template-columns:1fr 1fr}.dx-preview-scroll{max-height:420px}.dx-quote .section{padding-top:2rem}.dx-navigation .btn{flex:1}.dx-order-total{font-size:1.3rem}.dx-editor-actions .btn{flex:1}}
@media(prefers-reduced-motion:reduce){.dx-quote *{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
.dx-section-title .uv-etape__num{display:none}.dx-preview-scroll{justify-content:flex-start}.dx-preview-scroll canvas{margin-inline:auto}.dx-quote .devis-layout{gap:clamp(1.5rem,4vw,4rem)}
/* Keep inputs on a shared baseline when translated labels wrap. */
.dx-fields{align-items:end}
.dx-quote .devis-layout>*,.dx-quote .recap__row>*{min-width:0;overflow-wrap:anywhere}
.dx-quote .recap__head{flex-wrap:wrap;gap:.5rem}
@media(max-width:650px){
 .dx-quote #recap-livraison .recap__row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.3fr)}
 .dx-quote #recap-livraison label.recap__row{grid-template-columns:minmax(0,1fr) auto}
 .dx-quote #recap-livraison label.recap__row dd{white-space:nowrap}
 .dx-quote #livraison-zone{width:100%;min-width:0}
}
.dx-quote .dx-fields>.field>label,.dx-quote .dx-fields>.field>span{margin:0;font-size:.9rem;font-weight:500;line-height:1.5;color:var(--dx-muted)}
.dx-physical .dx-fields{grid-template-columns:repeat(3,minmax(0,1fr))}
.dx-stage>h2{scroll-margin-top:100px}
.dx-quote input[type=file]::file-selector-button{border:1px solid var(--dx-line);border-radius:6px;background:var(--c-surface-2);color:var(--dx-ink);font:inherit;padding:.5rem .75rem;margin-right:.75rem;cursor:pointer}
@media(max-width:650px){.dx-physical .dx-fields{grid-template-columns:1fr}}
.dx-quote .dx-contact-options{grid-column:1/-1;margin:.25rem 0}
.dx-quote .dx-usage{margin:1.5rem 0 1rem}.dx-quote .dx-usage .field>span{font-size:1.1rem;font-weight:600;color:var(--dx-ink)}
.dx-defaults{padding:1rem 1.2rem;border-radius:12px;background:var(--c-cyan-08);font-size:.9rem;line-height:1.6;color:var(--dx-muted)}
.dx-compact-choice .hint{margin:.5rem 0 0}.dx-quote .dx-text-entry{margin:.75rem 0 1.5rem}.dx-editor-actions:empty{display:none}
.dx-quote .dx-advanced summary{color:var(--dx-ink)}.dx-quote .dx-advanced[open] summary{color:var(--dx-accent)}
.dx-quote .dx-advanced__body>*{min-width:0}
/* A standalone option must size to its text, not inherit its section's height. */
.dx-uv .uv-option{display:flex;align-items:flex-start;gap:.85rem;padding:1rem;border:1px solid var(--dx-line);border-radius:12px;cursor:pointer;background:var(--c-surface)}
.dx-uv .uv-option:has(input:checked){border-color:var(--dx-accent);background:var(--c-cyan-08)}
.dx-uv .uv-option input{position:static;inset:auto;opacity:1;margin:.2rem 0 0;flex:none}
.dx-uv .uv-option .choice__box{display:flex;flex-direction:column;align-items:stretch;gap:.5rem;height:auto;min-width:0;flex:1;padding:0;border:0;background:transparent}
.dx-uv .uv-option input:checked+.choice__box{background:transparent}
.dx-uv .uv-option .choice__note{line-height:1.55;overflow-wrap:anywhere}
.dx-uv .uv-option:focus-within{outline:2px solid var(--dx-accent);outline-offset:3px}
