/* permis-flow.css — Parcours de sélection de permis (étape 1 : choix du permis,
   étape 2 : formulaire de demande). S'appuie uniquement sur les variables et
   composants déjà existants du site (var(--ink), var(--green), var(--lime),
   var(--line), var(--muted), .button, .info-card) et n'affecte aucun autre
   élément du site : tous les sélecteurs sont préfixés .permit-modal / .permit-*. */

.permit-modal-overlay{position:fixed;inset:0;z-index:100;display:flex;align-items:flex-start;justify-content:center;padding:5vh 18px;overflow-y:auto;background:rgba(23,33,38,.6);backdrop-filter:blur(2px)}
.permit-modal-overlay[hidden]{display:none}

.permit-modal{position:relative;width:100%;max-width:640px;margin:auto 0;padding:38px 34px 34px;border-radius:20px;background:#fff;box-shadow:0 25px 60px #17212645}

.permit-modal-close{position:absolute;top:16px;right:16px;width:34px;height:34px;border:0;border-radius:50%;background:#f2f0ea;color:var(--ink);font-size:18px;line-height:1;cursor:pointer}
.permit-modal-close:hover{background:#e7e5e2}

.permit-modal-eyebrow{margin:0 0 6px;color:var(--lime,var(--green));font-size:11px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase}
.permit-modal h2{margin:0 0 6px;font-size:clamp(24px,3vw,30px);letter-spacing:-1px}
.permit-modal-sub{margin:0 0 26px;color:var(--muted);font-size:14px}

/* Étape 1 — sélection du permis */
.permit-options{display:grid;gap:10px;margin:0 0 26px;padding:0;list-style:none}
.permit-option{position:relative}
.permit-option input{position:absolute;opacity:0;width:1px;height:1px}
.permit-option label{display:flex;align-items:center;gap:12px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;cursor:pointer;font-size:14px;color:var(--ink);transition:.15s}
.permit-option label:hover{border-color:var(--lime,var(--green))}
.permit-option input:checked + label{border-color:var(--lime,var(--green));background:#fff0f5;box-shadow:inset 0 0 0 1px var(--lime,var(--green))}
.permit-option-dot{flex:0 0 auto;width:17px;height:17px;border-radius:50%;border:2px solid var(--line);background:#fff}
.permit-option input:checked + label .permit-option-dot{border-color:var(--lime,var(--green));background:var(--lime,var(--green));box-shadow:inset 0 0 0 3px #fff}
.permit-option strong{font-weight:700}

.permit-step-actions{display:flex;justify-content:flex-end;gap:12px}
.permit-back{border:0;background:transparent;color:var(--muted);font-size:13px;font-weight:700;cursor:pointer;margin-right:auto}
.permit-back:hover{color:var(--ink)}

/* Étape 2 — formulaire */
.permit-chosen{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 22px;padding:12px 16px;border-radius:10px;background:#f2f0ea;font-size:13px}
.permit-chosen b{color:var(--lime,var(--green))}
.permit-chosen button{border:0;background:transparent;color:var(--muted);font-size:12px;font-weight:700;text-decoration:underline;cursor:pointer}

.permit-form{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.permit-field{display:flex;flex-direction:column}
.permit-field.full{grid-column:1 / -1}
.permit-field label{margin-bottom:6px;font-size:13px;font-weight:700;color:var(--ink)}
.permit-field .req{color:#e7594b}
.permit-field input[type="text"],
.permit-field input[type="tel"],
.permit-field select,
.permit-field textarea{box-sizing:border-box;width:100%;padding:12px;border:1px solid #c6d1bd;border-radius:8px;background:#fff;font:14px 'DM Sans',sans-serif;color:var(--ink)}
.permit-field textarea{min-height:110px;resize:vertical;font-family:inherit}
.permit-field select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath fill='%23687268' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 13px center;background-size:11px 7px}
.permit-field input.field-error,
.permit-field select.field-error,
.permit-field textarea.field-error{border-color:#e7594b}
.permit-field-msg{display:block;min-height:15px;margin-top:5px;color:#c94a3d;font-size:12px;font-weight:600}

.permit-radio-row{display:flex;gap:22px;margin-top:2px}
.permit-radio-row label{display:flex;align-items:center;gap:7px;font-size:14px;font-weight:400;color:var(--ink);cursor:pointer}
.permit-radio-row input{width:16px;height:16px;accent-color:var(--lime,var(--green))}

.permit-conditional{grid-column:1 / -1;display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:6px;padding:18px;border-radius:12px;background:#fbf7f3;border:1px solid var(--line)}
.permit-conditional[hidden]{display:none}
.permit-conditional .permit-field.full{grid-column:1 / -1}

.permit-age-check{grid-column:1 / -1;display:flex;align-items:flex-start;gap:10px;margin-top:6px;font-size:13px;color:var(--ink)}
.permit-age-check input{margin-top:3px;width:16px;height:16px;flex:0 0 auto;accent-color:var(--lime,var(--green))}

.permit-form-actions{grid-column:1 / -1;display:flex;align-items:center;gap:16px;margin-top:6px}
.permit-form-actions .permit-back{margin-right:auto}

.permit-banner{grid-column:1 / -1;padding:14px 16px;border-radius:10px;font-size:13px;font-weight:600}
.permit-banner.success{background:#e5f3bd;color:#17251d}
.permit-banner.error{background:#f8d3cc;color:#7a2a1f}

.permit-success{text-align:center;padding:20px 0}
.permit-success h2{margin-bottom:10px}
.permit-success p{color:var(--muted);max-width:420px;margin:0 auto}
.permit-success .button{margin-top:24px}

@media(max-width:780px){
  .permit-modal{padding:30px 22px 26px;border-radius:16px}
  .permit-form,.permit-conditional{grid-template-columns:1fr}
}
