/* MTC Demandes · module de demande de rendez-vous et de renseignement.
   Tout est prefixe mtcd-. Les couleurs, les polices et le bouton dore (.mtc-cta)
   viennent de site.css : rien n'est recree ici, rien n'y est surcharge.
   Etat par defaut = repli sans script : toutes les etapes sont visibles.
   Le script pose .mtcd-js sur la section, et seulement alors le parcours
   se decoupe en etapes. */
.mtcd{position:relative;color:rgba(247,244,239,.78);line-height:1.65;scroll-margin-top:max(120px,calc(var(--svc-entete,0px) + 40px))}
.mtcd *,.mtcd *::before,.mtcd *::after{box-sizing:border-box}
/* Le module ne pose ni largeur maximale ni centrage : il prend la largeur que lui
   donne le conteneur de la page, et s'aligne donc sur le reste du contenu.
   La mesure de lecture est portée par le formulaire lui-meme (.mtcd-form). */
.mtcd-inner{width:100%;max-width:none;margin:0}
.mtcd-head{max-width:760px;margin:0 0 clamp(30px,4vw,48px)}
.mtcd-surtitre{margin:0 0 16px;color:var(--mtc-dore,#B8945F);letter-spacing:var(--mtc-ls-eyebrow,.22em);text-transform:uppercase;font-size:.78em}
.mtcd-titre{margin:0;color:var(--mtc-blanc,#F7F4EF);font-weight:400;line-height:1.12;font-size:clamp(1.85rem,3.4vw,3rem);letter-spacing:var(--mtc-ls-titre,-.015em);text-wrap:balance}
.mtcd-intro{margin:18px 0 0;max-width:62ch;font-size:clamp(.95rem,1.1vw,1.05rem)}

/* Cadre : formulaire et recapitulatif */
.mtcd-cadre{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(32px,4.4vw,64px);align-items:start}
.mtcd-form{min-width:0;max-width:920px;margin:0}
.mtcd-js .mtcd-cadre{grid-template-columns:minmax(0,1fr) minmax(0,300px)}
.mtcd-sans-js{display:block}
.mtcd-js .mtcd-sans-js{display:none}
.mtcd-recap{display:none;position:sticky;top:120px;min-width:0;padding:26px 26px 22px;border:1px solid rgba(184,148,95,.28);border-radius:4px;background:rgba(255,255,255,.025)}

/* Fil des etapes */
.mtcd-fil{display:none;margin:0 0 34px;padding:0;list-style:none;counter-reset:mtcd}
.mtcd-js .mtcd-fil{display:flex;gap:10px}
.mtcd-fil li{flex:1 1 0;min-width:0;counter-increment:mtcd;padding-top:12px;border-top:2px solid rgba(247,244,239,.14);color:rgba(247,244,239,.46);font-size:.8rem;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:border-color .35s,color .35s}
.mtcd-fil li::before{content:"0" counter(mtcd) " ";color:inherit}
.mtcd-fil li[data-etat="fait"]{border-top-color:rgba(184,148,95,.55);color:rgba(247,244,239,.7)}
.mtcd-fil li[aria-current="step"]{border-top-color:var(--mtc-dore,#B8945F);color:var(--mtc-blanc,#F7F4EF)}
.mtcd-fil-court{display:none;margin:0 0 26px;color:rgba(247,244,239,.6);font-size:.86rem}

/* Etapes */
.mtcd-etape{margin:0 0 44px;padding:0;border:0;min-width:0}
.mtcd-js .mtcd-etape{display:none;margin:0}
.mtcd-js .mtcd-etape.mtcd-active{display:block;animation:mtcd-entree .45s cubic-bezier(.2,.7,.3,1)}
@keyframes mtcd-entree{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.mtcd-etape-titre{display:block;float:left;width:100%;margin:0 0 26px;padding:0;color:var(--mtc-blanc,#F7F4EF);font-weight:400;line-height:1.2;font-size:clamp(1.35rem,2vw,1.7rem)}
.mtcd-etape-titre~*{clear:both}
.mtcd-note{margin:-12px 0 26px;color:rgba(247,244,239,.56);font-size:.86rem}

/* Champs */
.mtcd-champ{margin:0 0 26px;padding:0;border:0;min-width:0}
.mtcd-champ[hidden]{display:none}
.mtcd-libelle{display:block;float:left;width:100%;margin:0 0 10px;padding:0;color:var(--mtc-blanc,#F7F4EF);font-weight:500;font-size:.98rem;line-height:1.4}
.mtcd-libelle~*{clear:both}
.mtcd-facultatif{margin-left:.4em;color:rgba(247,244,239,.46);font-weight:400;font-size:.84rem}
.mtcd-aide{display:block;margin:8px 0 0;color:rgba(247,244,239,.58);font-size:.86rem;line-height:1.55}
.mtcd-aide-projet{padding:10px 14px;border-left:2px solid var(--mtc-dore,#B8945F);background:rgba(184,148,95,.06);color:rgba(247,244,239,.82)}
.mtcd-aide-projet[hidden]{display:none}
.mtcd-aide-projet span{display:block}
.mtcd-aide-projet span[hidden]{display:none}
.mtcd-saisie{display:block;width:100%;min-height:50px;margin:0;padding:13px 16px;border:1px solid rgba(247,244,239,.2);border-radius:3px;background:rgba(255,255,255,.03);color:var(--mtc-blanc,#F7F4EF);font:inherit;font-size:1rem;line-height:1.4;transition:border-color .25s,background .25s}
textarea.mtcd-saisie{min-height:120px;resize:vertical}
.mtcd-saisie::placeholder{color:rgba(247,244,239,.34)}
.mtcd-saisie:hover{border-color:rgba(247,244,239,.34)}
.mtcd-saisie:focus{outline:0;border-color:var(--mtc-dore,#B8945F);background:rgba(184,148,95,.05)}
.mtcd-saisie:focus-visible{outline:2px solid var(--mtc-dore,#B8945F);outline-offset:2px}
select.mtcd-saisie{appearance:auto}
select.mtcd-saisie option{color:#F7F4EF;background:#1A1A1A}
.mtcd-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}

/* Cartes de choix et pastilles : un vrai bouton radio, masque mais focalisable */
.mtcd-options{display:grid;gap:12px}
.mtcd-options-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.mtcd-pastilles{display:flex;flex-wrap:wrap;gap:10px}
.mtcd-opt{position:relative;display:block;margin:0;cursor:pointer}
.mtcd-opt input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.mtcd-carte{display:flex;flex-direction:column;gap:6px;height:100%;padding:20px 22px;border:1px solid rgba(247,244,239,.18);border-radius:4px;background:rgba(255,255,255,.02);transition:border-color .25s,background .25s,transform .25s}
.mtcd-carte-nom{display:flex;align-items:center;gap:12px;color:var(--mtc-blanc,#F7F4EF);font-weight:500;font-size:1.02rem;line-height:1.3}
.mtcd-carte-nom svg{width:22px;height:22px;flex-shrink:0;color:var(--mtc-dore,#B8945F)}
.mtcd-carte-detail{color:rgba(247,244,239,.6);font-size:.88rem;line-height:1.5}
.mtcd-pastille{display:inline-flex;align-items:center;min-height:44px;padding:10px 18px;border:1px solid rgba(247,244,239,.2);border-radius:999px;color:rgba(247,244,239,.86);font-size:.93rem;line-height:1.2;transition:border-color .25s,background .25s,color .25s}
.mtcd-opt:hover .mtcd-carte,.mtcd-opt:hover .mtcd-pastille{border-color:rgba(184,148,95,.6)}
/* Etape 1 : le rendez-vous est le choix principal, la question passe en second. */
.mtcd-opt-principal .mtcd-carte{padding:28px 30px;gap:10px;border-color:rgba(184,148,95,.55);background:linear-gradient(135deg,rgba(184,148,95,.14),rgba(184,148,95,.05))}
.mtcd-opt-principal .mtcd-carte-nom{font-size:clamp(1.1rem,1.6vw,1.35rem);gap:14px}
.mtcd-opt-principal .mtcd-carte-nom svg{width:26px;height:26px}
.mtcd-opt-principal .mtcd-carte-detail{font-size:.92rem;max-width:56ch}
.mtcd-opt-principal input:checked+.mtcd-carte{border-color:var(--mtc-dore,#B8945F);background:rgba(184,148,95,.16)}
.mtcd-ou{margin:26px 0 12px;color:rgba(247,244,239,.5);font-size:.86rem}
.mtcd-ligne{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:12px 16px;border:1px solid rgba(247,244,239,.14);border-radius:4px;transition:border-color .25s,background .25s}
.mtcd-ligne svg{width:19px;height:19px;flex-shrink:0;color:var(--mtc-dore,#B8945F)}
.mtcd-ligne-nom{color:var(--mtc-blanc,#F7F4EF);font-size:.95rem}
.mtcd-ligne-detail{color:rgba(247,244,239,.55);font-size:.86rem}
.mtcd-opt-secondaire:hover .mtcd-ligne{border-color:rgba(184,148,95,.5)}
.mtcd-opt input:checked+.mtcd-ligne{border-color:var(--mtc-dore,#B8945F);background:rgba(184,148,95,.08)}
.mtcd-opt input:focus-visible+.mtcd-ligne{outline:2px solid var(--mtc-dore,#B8945F);outline-offset:3px}
.mtcd-opt input:checked+.mtcd-carte{border-color:var(--mtc-dore,#B8945F);background:rgba(184,148,95,.09)}
.mtcd-opt input:checked+.mtcd-pastille{border-color:var(--mtc-dore,#B8945F);background:var(--mtc-dore,#B8945F);color:#1A1A1A}
.mtcd-opt input:focus-visible+.mtcd-carte,.mtcd-opt input:focus-visible+.mtcd-pastille{outline:2px solid var(--mtc-dore,#B8945F);outline-offset:3px}
.mtcd-effacer{margin:10px 0 0;padding:4px 0;border:0;border-bottom:1px solid rgba(184,148,95,.4);background:none;color:var(--mtc-dore,#B8945F);font:inherit;font-size:.84rem;cursor:pointer}
.mtcd-effacer[hidden]{display:none}

/* Creneaux : repli natif (date + liste), remplace par le calendrier si le script tourne */
.mtcd-js .mtcd-repli{display:none}
.mtcd-repli{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}
.mtcd-picker{display:none}
.mtcd-js .mtcd-picker{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:clamp(20px,3vw,36px);align-items:start}
.mtcd-cal-tete{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}
.mtcd-cal-mois{margin:0;color:var(--mtc-blanc,#F7F4EF);font-weight:500;font-size:1.02rem;text-transform:capitalize}
.mtcd-nav{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:0;border:1px solid rgba(247,244,239,.18);border-radius:50%;background:none;color:var(--mtc-blanc,#F7F4EF);cursor:pointer;transition:border-color .25s,opacity .25s}
.mtcd-nav svg{width:16px;height:16px}
.mtcd-nav:hover{border-color:var(--mtc-dore,#B8945F)}
.mtcd-nav:disabled{opacity:.25;cursor:default}
.mtcd-nav:focus-visible,.mtcd-jour:focus-visible{outline:2px solid var(--mtc-dore,#B8945F);outline-offset:2px}
.mtcd-grille{width:100%;border-collapse:separate;border-spacing:4px;table-layout:fixed;margin:0 -4px}
.mtcd-grille th{padding:0 0 6px;color:rgba(247,244,239,.46);font-weight:400;font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;text-align:center}
.mtcd-grille td{padding:0;text-align:center}
.mtcd-jour{position:relative;display:inline-flex;align-items:center;justify-content:center;width:100%;aspect-ratio:1/1;min-height:38px;max-height:52px;padding:0;border:1px solid transparent;border-radius:3px;background:none;color:rgba(247,244,239,.26);font:inherit;font-size:.92rem;cursor:default;transition:background .2s,border-color .2s,color .2s}
.mtcd-jour[data-dispo="1"]{border-color:rgba(247,244,239,.16);color:var(--mtc-blanc,#F7F4EF);cursor:pointer}
.mtcd-jour[data-dispo="1"]:hover{border-color:var(--mtc-dore,#B8945F)}
.mtcd-jour[aria-pressed="true"]{border-color:var(--mtc-dore,#B8945F);background:var(--mtc-dore,#B8945F);color:#1A1A1A;font-weight:600}
.mtcd-jour[data-auj="1"]::after{content:"";position:absolute;bottom:5px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:currentColor;opacity:.7}
.mtcd-legende{margin:8px 0 0;color:rgba(247,244,239,.46);font-size:.8rem}
.mtcd-heures-titre{margin:0 0 14px;min-height:40px;display:flex;align-items:center;color:var(--mtc-blanc,#F7F4EF);font-weight:500;font-size:1.02rem}
.mtcd-heures-titre::first-letter{text-transform:uppercase}
.mtcd-heures{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.mtcd-heure{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:58px;padding:10px 14px;border:1px solid rgba(247,244,239,.2);border-radius:3px;transition:border-color .25s,background .25s,color .25s}
.mtcd-heure b{color:var(--mtc-blanc,#F7F4EF);font-weight:500;font-size:1rem;line-height:1.2}
.mtcd-heure small{color:rgba(247,244,239,.52);font-size:.78rem;line-height:1.2}
.mtcd-opt input:checked+.mtcd-heure{border-color:var(--mtc-dore,#B8945F);background:var(--mtc-dore,#B8945F)}
.mtcd-opt input:checked+.mtcd-heure b,.mtcd-opt input:checked+.mtcd-heure small{color:#1A1A1A}
.mtcd-opt input:focus-visible+.mtcd-heure{outline:2px solid var(--mtc-dore,#B8945F);outline-offset:3px}
.mtcd-vide{margin:0;padding:18px;border:1px dashed rgba(247,244,239,.16);border-radius:3px;color:rgba(247,244,239,.5);font-size:.9rem}

/* Erreurs */
.mtcd-erreur{display:block;margin:8px 0 0;color:#E8B4A0;font-size:.86rem}
.mtcd-erreur:empty{display:none}
.mtcd-champ[data-invalide] .mtcd-saisie,.mtcd-champ[data-invalide] .mtcd-carte,.mtcd-champ[data-invalide] .mtcd-pastille{border-color:#C9876F}
.mtcd-alerte{margin:0 0 24px;padding:14px 18px;border:1px solid rgba(201,135,111,.55);border-radius:3px;background:rgba(201,135,111,.08);color:#F0CFC2;font-size:.92rem}
.mtcd-alerte:empty{display:none}

/* Consentement */
.mtcd-accord{display:flex;align-items:flex-start;gap:14px;cursor:pointer;color:rgba(247,244,239,.78);font-size:.92rem;line-height:1.55}
.mtcd-accord input{flex-shrink:0;width:20px;height:20px;margin:2px 0 0;accent-color:var(--mtc-dore,#B8945F)}
.mtcd-accord input:focus-visible{outline:2px solid var(--mtc-dore,#B8945F);outline-offset:2px}
.mtcd-accord a,.mtcd-merci a:not(.mtc-cta){color:var(--mtc-dore,#B8945F);text-decoration:none;border-bottom:1px solid rgba(184,148,95,.42)}
.mtcd-accord a:hover,.mtcd-accord a:focus-visible{color:var(--mtc-blanc,#F7F4EF)}
.mtcd-mention{margin:14px 0 0;color:rgba(247,244,239,.46);font-size:.8rem}

/* Actions */
.mtcd-actions{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin:34px 0 0;padding-top:28px;border-top:1px solid rgba(247,244,239,.1)}
.mtcd-js .mtcd-actions-repli{display:none}
.mtcd-actions[hidden]{display:none}
.mtcd-retour{display:inline-flex;align-items:center;gap:8px;padding:6px 0;border:0;background:none;color:rgba(247,244,239,.7);font:inherit;font-size:.92rem;cursor:pointer}
.mtcd-retour[hidden]{display:none}
.mtcd-retour svg{width:16px;height:16px}
.mtcd-retour:hover,.mtcd-retour:focus-visible{color:var(--mtc-blanc,#F7F4EF)}
.mtcd-retour:focus-visible{outline:2px solid var(--mtc-dore,#B8945F);outline-offset:3px}
.mtcd-form .mtc-cta{border:1px solid rgba(184,148,95,.6);font-family:inherit}
.mtcd-form .mtc-cta[aria-busy="true"]{opacity:.7;pointer-events:none}

/* Piege a robots : hors ecran, jamais display:none (certains robots l'ignorent) */
.mtcd-piege{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.mtcd-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Recapitulatif */
.mtcd-js .mtcd-recap{display:block}
.mtcd-recap-titre{margin:0 0 18px;color:var(--mtc-dore,#B8945F);letter-spacing:.18em;text-transform:uppercase;font-size:.74rem;font-weight:400}
.mtcd-liste{margin:0;padding:0}
.mtcd-liste div{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.3fr);gap:12px;padding:10px 0;border-top:1px solid rgba(247,244,239,.08)}
.mtcd-liste div:first-child{border-top:0;padding-top:0}
.mtcd-liste dt{color:rgba(247,244,239,.5);font-size:.82rem}
.mtcd-liste dd{margin:0;color:var(--mtc-blanc,#F7F4EF);font-size:.88rem;line-height:1.45;overflow-wrap:anywhere}
.mtcd-liste dd[data-vide]{color:rgba(247,244,239,.3)}
.mtcd-liste [hidden]{display:none}
.mtcd-recap-pied{margin:18px 0 0;padding-top:16px;border-top:1px solid rgba(184,148,95,.2);color:rgba(247,244,239,.56);font-size:.82rem;line-height:1.55}

/* Ecran de confirmation */
.mtcd-merci{max-width:720px;padding:clamp(10px,2vw,20px) 0}
.mtcd-merci[hidden]{display:none}
.mtcd-merci:focus{outline:0}
.mtcd-coche{width:64px;height:64px;margin:0 0 26px;color:var(--mtc-dore,#B8945F)}
.mtcd-coche path,.mtcd-coche circle{stroke-dasharray:1;stroke-dashoffset:0}
.mtcd-merci.mtcd-anime .mtcd-coche circle{animation:mtcd-trace .9s cubic-bezier(.4,0,.2,1) both}
.mtcd-merci.mtcd-anime .mtcd-coche path{animation:mtcd-trace .5s cubic-bezier(.4,0,.2,1) .7s both}
@keyframes mtcd-trace{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.mtcd-merci-titre{margin:0 0 18px;color:var(--mtc-blanc,#F7F4EF);font-weight:400;line-height:1.14;font-size:clamp(1.8rem,3vw,2.6rem)}
.mtcd-merci-texte{margin:0 0 12px;font-size:clamp(1rem,1.2vw,1.1rem);color:rgba(247,244,239,.86)}
.mtcd-merci .mtcd-liste{margin:30px 0;padding:22px 24px;border:1px solid rgba(184,148,95,.28);border-radius:4px}
.mtcd-merci-suite{display:flex;flex-wrap:wrap;align-items:center;gap:18px 28px;margin:30px 0 0}

@media (max-width:1024px){
  .mtcd-js .mtcd-cadre{grid-template-columns:minmax(0,1fr)}
  /* Sous 1024 px : le recapitulatif passe sous le formulaire, sans etre collant. */
  .mtcd-recap{position:static;margin-top:4px}
}
@media (max-width:760px){
  .mtcd-js .mtcd-picker{grid-template-columns:minmax(0,1fr)}
  .mtcd-js .mtcd-fil{display:none}
  .mtcd-js .mtcd-fil-court{display:block}
  .mtcd-fil-court::after{content:"";display:block;height:2px;margin-top:10px;background:linear-gradient(90deg,var(--mtc-dore,#B8945F) var(--mtcd-avance,25%),rgba(247,244,239,.14) var(--mtcd-avance,25%))}
}
@media (max-width:560px){
  .mtcd-options-2,.mtcd-duo,.mtcd-repli{grid-template-columns:minmax(0,1fr)}
  .mtcd-carte{padding:16px 18px}
  .mtcd-heures{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mtcd-actions{flex-direction:column-reverse;align-items:stretch}
  .mtcd-actions .mtc-cta{width:100%}
  .mtcd-retour{justify-content:center}
  .mtcd-recap{padding:20px 18px 18px}
}
@media (prefers-reduced-motion:reduce){
  .mtcd-js .mtcd-etape.mtcd-active,.mtcd-merci.mtcd-anime .mtcd-coche circle,.mtcd-merci.mtcd-anime .mtcd-coche path{animation:none}
  .mtcd *{transition:none!important}
}
