/* Page « Prendre rendez-vous » simplifiée : petit en-tête noir, formulaire court, colonne d'information */
.contact-tete{background:var(--encre);color:#fff;padding:clamp(36px,5vw,64px) 0 clamp(32px,4vw,52px)}
.contact-tete .surtitre{color:var(--gris-clair);margin-bottom:16px}
.contact-tete h1{font-size:clamp(30px,3.6vw,52px);font-weight:800;letter-spacing:-.04em;line-height:1.05}
.contact-tete h1 span{color:var(--jaune)}
.contact-intro{margin-top:14px;font-size:17px;color:#d4d4da;max-width:640px}
.contact-intro b{color:#fff}

.contact-zone{background:var(--creme);padding:clamp(32px,4vw,56px) 0 clamp(64px,8vw,110px)}
.contact-grille{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:clamp(24px,4vw,48px);align-items:start}
.contact-form,.contact-merci{background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);padding:clamp(22px,3vw,36px)}
.contact-form label{display:block;font-size:14px;font-weight:600;margin-bottom:18px}
.contact-form abbr[title]{text-decoration:none;color:#b0861a}
.facultatif{font-weight:400;color:var(--gris)}
.contact-form input:not([type=checkbox]):not([type=radio]),.contact-form textarea{display:block;width:100%;margin-top:7px;padding:12px 13px;border:1px solid #d6d0bf;border-radius:10px;background:#fff;font:400 15px/1.45 var(--texte);color:var(--encre)}
.contact-form textarea{resize:vertical;min-height:130px}
.contact-form input:focus,.contact-form textarea:focus{outline:2px solid var(--jaune);outline-offset:1px;border-color:#b0861a}
.ligne2{display:grid;grid-template-columns:1fr 1fr;gap:0 18px}
.siret-info{display:block;margin-top:6px;min-height:1.2em;font-size:13px;font-weight:600;color:var(--gris)}
.ligne1{display:block}
.entreprise-champ{position:relative}
.entreprise-liste{position:absolute;left:0;right:0;z-index:5;margin:4px 0 0;padding:6px 0;list-style:none;max-height:280px;overflow-y:auto;background:#fff;border:1px solid #d6d0bf;border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.12)}
.entreprise-liste li{display:flex;flex-direction:column;gap:2px;padding:10px 13px;cursor:pointer;font-weight:400}
.entreprise-liste li b{font-weight:600;color:var(--encre)}
.entreprise-liste li small{font-size:13px;color:var(--gris)}
.entreprise-liste li[aria-selected=true]{background:#fff6d6}
.entreprise-plus{margin:-6px 0 18px;padding:14px 16px 4px;border:1px dashed #d6d0bf;border-radius:12px;background:#fffdf5}
.entreprise-plus-note{margin:0 0 12px;font-size:13px;font-weight:600;color:var(--gris)}
.entreprise-attente{position:relative;display:grid;grid-template-columns:40px 1fr;gap:4px 14px;align-items:center;margin:0 0 16px;padding:12px 14px 16px;background:var(--encre);color:#fff;border-radius:12px;overflow:hidden}
.attente-abeille{width:40px;height:40px;object-fit:contain;animation:abeille-vol 1.1s ease-in-out infinite;filter:drop-shadow(0 2px 6px rgba(252,194,32,.35))}
@keyframes abeille-vol{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-6px) rotate(6deg)}}
.attente-texte{display:flex;flex-direction:column;gap:2px;min-height:44px;transition:transform .32s ease-in,opacity .32s}
.attente-texte.sortie{transform:translateY(-110%);opacity:0}
.attente-texte.entree{transform:translateY(110%);opacity:0;transition:none}
.attente-texte b{font:600 15px/1.3 var(--texte);color:#fff}
.attente-texte b::first-letter{color:var(--jaune)}
.attente-texte span{font-size:13px;line-height:1.4;color:rgba(255,255,255,.72)}
.attente-barre{grid-column:1/-1;height:3px;border-radius:2px;background:rgba(255,255,255,.14);overflow:hidden}
.attente-barre i{display:block;height:100%;width:0;background:var(--jaune);border-radius:2px}
.entreprise-attente.anim .attente-barre i{animation:attente-progression 26s cubic-bezier(.2,.6,.3,1) forwards}
@keyframes attente-progression{0%{width:0}70%{width:78%}100%{width:96%}}
@media (prefers-reduced-motion:reduce){.attente-abeille{animation:none}.entreprise-attente.anim .attente-barre i{animation-duration:1s;width:96%}}
.entreprise-plus textarea{resize:vertical;min-height:72px}
.siret-info.ok{color:#1d7a43}.siret-info.ko{color:#a3301f}
.groupe{margin-bottom:18px}
.groupe-titre{margin:0 0 10px;font-size:14px;font-weight:600}
.groupe-titre .facultatif{display:block;margin-top:2px;font-size:13px}
.themes{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:10px}
.theme{border:1px solid var(--ligne);background:#fff;border-radius:999px;padding:8px 13px;font:600 13.5px var(--texte);color:var(--encre);cursor:pointer;transition:.15s}
.theme:hover{border-color:var(--encre)}
.theme[aria-pressed="true"]{background:var(--encre);border-color:var(--encre);color:#fff}
.theme[aria-pressed="true"]::before{content:"✓ ";color:var(--jaune)}
.creneau-option{margin:4px 0 18px;border:1px solid var(--ligne);border-radius:12px;padding:0 16px;background:var(--creme)}
.creneau-option summary{cursor:pointer;padding:14px 0;font-weight:600;font-size:14.5px;list-style:none}
.creneau-option summary::-webkit-details-marker{display:none}
.creneau-option summary::before{content:"+ ";color:#b0861a;font-weight:600}
.creneau-option[open] summary::before{content:"– "}
.creneau-option[open]{padding-bottom:16px}
.creneau-option .choix{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.creneau-option .choix label{display:inline-flex;align-items:center;gap:8px;margin:0;padding:8px 12px;border:1px solid var(--ligne);border-radius:999px;background:#fff;font-weight:600;cursor:pointer}
.creneau-option .choix label:has(input:checked){background:var(--encre);color:#fff;border-color:var(--encre)}
.consentement{display:flex!important;gap:12px;align-items:flex-start;padding:14px;background:var(--creme);border-radius:10px;font-weight:400!important;line-height:1.5;font-size:13.5px!important}
.consentement input{margin-top:3px;accent-color:#b0861a;flex:none;width:18px;height:18px}
.piege{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.invalide>input,.invalide>textarea,.groupe.invalide textarea{border-color:#c0392b!important;background:#fff8f6!important}
.consentement.invalide{outline:2px solid #c0392b}
.form-erreur{min-height:1.3em;margin:0 0 10px;color:#a3301f;font-size:14px;font-weight:600}
.contact-form .btn-grand{width:100%;justify-content:center}

.contact-aside{display:grid;gap:14px;position:sticky;top:100px}
.aside-bloc{background:#fff;border:1px solid var(--ligne);border-radius:var(--rayon);padding:20px}
.aside-titre{font:800 16px var(--titre);margin-bottom:10px}
.aside-etapes{margin:0;padding-left:18px;font-size:14px;color:var(--gris);display:grid;gap:6px}
.aside-sombre{background:var(--encre);border-color:var(--encre);color:#fff}
.aside-sombre .final-boutons{display:grid;gap:8px}
.aside-sombre .btn{justify-content:center;font-size:14px;padding:12px 14px}
.btn-contour{background:transparent;border:1px solid #c9b77a;color:#6d561a}
.btn-contour-clair{background:transparent;border:1px solid #45454d;color:#fff}
.btn-contour-clair:hover{border-color:var(--jaune)}

.contact-merci h2{font-size:clamp(28px,3vw,40px);margin:6px 0 14px}
.contact-merci h2 span{color:#e8ad08}
.merci-recap{white-space:pre-wrap;font:13px/1.55 var(--texte);background:var(--creme);padding:16px;border-radius:10px;margin-top:16px}

@media (max-width:900px){
  .contact-grille{grid-template-columns:1fr}
  .contact-aside{position:static;grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .ligne2{grid-template-columns:1fr}
  .contact-aside{grid-template-columns:1fr}
  .contact-form,.contact-merci{padding:20px 16px}
}
