/* Demande de devis — formulaire en verre, envoi par WhatsApp (adm-devis.js). */
.devis{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:clamp(32px,6vw,96px);align-items:start}
.devis-intro{position:sticky;top:calc(var(--header-h) + var(--header-top) + 32px)}
.devis-intro>p:not(.eyebrow){font-size:17px;color:var(--muted);max-width:460px}
.devis-steps{list-style:none;margin:32px 0;padding:0;display:grid;gap:12px;max-width:440px}
.devis-steps li{display:flex;align-items:center;gap:16px;padding:14px 18px;border-radius:var(--r-md);background:var(--glass);-webkit-backdrop-filter:var(--blur-soft);backdrop-filter:var(--blur-soft);border:1px solid var(--glass-edge);box-shadow:var(--shadow-1);font:500 15px var(--font-body)}
.devis-steps span{font:italic 500 28px/1 var(--font-display);color:var(--caramel);min-width:34px}
.devis-note{font-size:13px!important;max-width:440px}

.devis-form{padding:clamp(24px,3.5vw,44px);border-radius:var(--r-lg);background:var(--glass-strong);-webkit-backdrop-filter:var(--blur);backdrop-filter:var(--blur);border:1px solid var(--glass-edge);box-shadow:var(--shadow-2)}
.devis-form fieldset{border:0;margin:0 0 26px;padding:0;min-width:0}
.devis-form legend{padding:0;margin-bottom:14px;font:600 11px var(--font-body);letter-spacing:.16em;text-transform:uppercase;color:var(--choco)}
.devis-required{font-size:13px;color:var(--muted);margin-bottom:22px}
.req{color:var(--caramel-ink);font-weight:600}
.opt{font-weight:400;color:var(--muted)}
.devis-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 20px}
.devis-grid-3{grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:22px}
.devis-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.devis-field+.devis-field,.devis-grid+.devis-field{margin-top:0}
.devis-field label{font:600 13px var(--font-body);color:var(--choco)}
.devis-form input[type=text],.devis-form input[type=tel],.devis-form input[type=email],.devis-form select,.devis-form textarea{width:100%;min-height:48px;padding:12px 16px;border-radius:var(--r-sm);border:1px solid rgba(74,37,16,.22);background:rgba(255,255,255,.78);color:var(--choco);font:500 16px/1.5 var(--font-body);transition:border-color var(--t-fast),box-shadow var(--t-fast),background var(--t-fast)}
.devis-form textarea{resize:vertical;min-height:140px}
.devis-form select{appearance:none;padding-right:44px;background-image:linear-gradient(45deg,transparent 50%,var(--caramel-ink) 50%),linear-gradient(-45deg,transparent 50%,var(--caramel-ink) 50%);background-position:calc(100% - 22px) 52%,calc(100% - 16px) 52%;background-size:6px 6px;background-repeat:no-repeat}
.devis-form input:hover,.devis-form select:hover,.devis-form textarea:hover{border-color:var(--caramel)}
.devis-form input:focus,.devis-form select:focus,.devis-form textarea:focus{outline:none;border-color:var(--choco);background:#fff;box-shadow:0 0 0 4px rgba(183,131,73,.28)}
.devis-hint{margin:0;font-size:13px;color:var(--muted)}
.devis-count{float:right;font-variant-numeric:tabular-nums}
.devis-error{margin:0;font:600 13px/1.5 var(--font-body);color:#9C2F14}
.devis-error:before{content:'! ';font-weight:700}
.devis-form [aria-invalid=true]{border-color:#9C2F14!important;background:#FFF8F5}

.devis-chips{display:flex;flex-wrap:wrap;gap:10px}
.devis-chip{position:relative;cursor:pointer}
.devis-chip input{position:absolute;opacity:0;inset:0;width:100%;height:100%;margin:0;cursor:pointer}
.devis-chip span{display:flex;align-items:center;gap:8px;min-height:44px;padding:10px 18px;border-radius:var(--r-pill);border:1px solid rgba(74,37,16,.22);background:rgba(255,255,255,.6);font:500 14px var(--font-body);color:var(--choco);transition:background var(--t-fast),color var(--t-fast),border-color var(--t-fast)}
.devis-chip span:before{content:'+';font-weight:400}
.devis-chip:hover span{border-color:var(--caramel)}
.devis-chip input:checked+span{background:var(--choco);border-color:var(--choco);color:var(--cream)}
.devis-chip input:checked+span:before{content:'✓'}
.devis-chip input:focus-visible+span{outline:3px solid var(--caramel);outline-offset:3px}
.devis-projet[aria-invalid=true] .devis-chip span{border-color:#9C2F14}

.devis-check{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:15px;line-height:1.55;margin:4px 0 18px}
.devis-check input{flex:none;width:22px;height:22px;margin:1px 0 0;accent-color:var(--choco);cursor:pointer}
.devis-check small{display:block;margin-top:4px;font-size:13px;color:var(--muted)}
.devis-consent{margin-top:4px}
.devis-consent .devis-check{margin-bottom:6px;font:400 14px/1.55 var(--font-body);color:var(--ink)}
.devis-submit{width:100%;justify-content:center;margin-top:12px;font-size:14px}
.devis-submit svg{flex:none}

.devis-errors{margin-bottom:24px;padding:18px 22px;border-radius:var(--r-md);border:1px solid rgba(156,47,20,.35);background:#FFF5F1}
.devis-errors:focus{outline:3px solid var(--caramel);outline-offset:3px}
.devis-errors h3{font:600 15px var(--font-body);margin:0 0 8px;color:#9C2F14}
.devis-errors ul{margin:0;padding-left:20px;font-size:14px}
.devis-errors a{color:#9C2F14;text-decoration:underline;text-underline-offset:3px}

.devis-status:empty{display:none}
.devis-status{margin-top:20px;padding:20px 22px;border-radius:var(--r-md);background:rgba(255,255,255,.7);border:1px solid var(--line);font-size:15px}
.devis-status h3{font:500 26px/1.1 var(--font-display);margin:0 0 8px}
.devis-status p{margin:0 0 14px;color:var(--muted)}
.devis-status pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;margin:0 0 14px;padding:14px;border-radius:var(--r-sm);background:var(--cream);border:1px solid var(--line);font:13px/1.6 var(--font-body);color:var(--choco)}
.devis-actions{display:flex;flex-wrap:wrap;gap:10px}
.devis-actions .button{min-height:48px;padding:12px 22px}

@media(max-width:1050px){.devis{grid-template-columns:1fr}.devis-intro{position:static}}
@media(max-width:720px){
  .devis-grid,.devis-grid-3{grid-template-columns:1fr}
  .devis-form{padding:24px 18px;border-radius:24px}
  .devis-steps li{font-size:14px}
  .devis-count{float:none;display:block}
}
