/* Modal + formulaire de devis/commande */
:root{--overlay:rgba(0,0,0,.5);--card:#fff;--line:#e5e7eb}
.backdrop{position:fixed;inset:0;background:var(--overlay);display:none;z-index:1000}
.backdrop.open{display:block}
.modal{position:fixed;inset:0;display:none;place-items:center;z-index:1001}
.modal.open{display:grid}
.dialog{width:min(920px,95vw);background:var(--card);border:1px solid var(--line);border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.25);overflow:hidden}
.dialog header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line)}
.dialog h3{margin:0;font-size:1.2rem}
.dialog .close{background:transparent;border:0;font-size:1.4rem;cursor:pointer}
.dialog .content{padding:18px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media (max-width:720px){.grid2{grid-template-columns:1fr}}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-weight:600}
.field input,.field select,.field textarea{padding:10px 12px;border:1px solid var(--line);border-radius:10px}
.actions{display:flex;gap:12px;justify-content:flex-end;padding:14px 18px;border-top:1px solid var(--line)}
.actions .btn-primary{background:linear-gradient(90deg,var(--brand1),var(--brand2));color:#fff;border:0;padding:10px 16px;border-radius:999px;font-weight:700;cursor:pointer}
.actions .btn-ghost{background:#fff;color:#333;border:1px solid var(--line);padding:10px 16px;border-radius:999px;cursor:pointer}
.toast{position:fixed;left:50%;top:8%;transform:translateX(-50%);background:linear-gradient(90deg,#28a745,#85e085);color:#fff;padding:12px 16px;font-weight:700;border-radius:12px;box-shadow:0 10px 24px rgba(0,0,0,.25);z-index:1100;opacity:0;transition:opacity .3s}
.toast.show{opacity:1}
.toast.error{background:linear-gradient(90deg,#ff4d4d,#ff9999)}
