/* Twimi v2 : styles des intégrations (fenêtre RDV, bandeau de consentement).
   Utilise uniquement les variables de orbite.css : suit le thème clair/sombre. */

/* ── fenêtre RDV ── */
.rdv-overlay{position:fixed;inset:0;z-index:2147483000;display:none;align-items:center;justify-content:center;padding:16px;background:rgba(10,3,5,.72);backdrop-filter:blur(4px)}
.rdv-overlay.open{display:flex}
.rdv-modal{width:min(560px,100%);max-height:calc(100dvh - 32px);display:flex;flex-direction:column;background:var(--ink-2);color:var(--bone);border:1px solid var(--line-2);box-shadow:0 30px 80px rgba(0,0,0,.45)}
.rdv-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:24px 24px 14px}
.rdv-head h2{font-family:var(--f-display);text-transform:uppercase;font-size:clamp(28px,4vw,38px);line-height:1;margin:8px 0 8px}
.rdv-head p{margin:0}
.rdv-head #rdvSub{color:var(--bone-2);font-size:var(--t-s)}
.rdv-close{flex:none;width:40px;height:40px;border:1px solid var(--line-2);background:transparent;color:var(--bone);font-size:24px;line-height:1;cursor:pointer}
.rdv-close:hover{border-color:var(--bone)}
.rdv-steps{display:flex;gap:18px;padding:0 24px 14px;border-bottom:1px solid var(--line)}
.rdv-dot{color:var(--bone-3)}
.rdv-dot.on{color:var(--bone)}
.rdv-dot.on::before{content:"";display:inline-block;width:7px;height:7px;margin-right:8px;background:var(--carmin);vertical-align:1px}
.rdv-notice{margin:14px 24px 0;padding:12px 14px;border-left:2px solid var(--carmin);background:var(--ink-3);font-size:var(--t-s)}
.rdv-body{padding:18px 24px 24px;overflow-y:auto}
.rdv-msg{color:var(--bone-2);font-size:var(--t-s);padding:12px 0}
.rdv-days{display:grid;gap:18px}
.rdv-day h3{margin:0 0 10px;color:var(--bone-2)}
.rdv-slots{display:flex;flex-wrap:wrap;gap:8px}
.rdv-slot{font:inherit;font-size:var(--t-s);font-weight:600;padding:10px 16px;border:1px solid var(--line-2);background:transparent;color:var(--bone);cursor:pointer;transition:border-color .2s,background .2s}
.rdv-slot:hover{border-color:var(--bone)}
.rdv-slot.sel{background:var(--carmin);border-color:var(--carmin);color:#fff}
.rdv-back{background:none;border:0;color:var(--bone-2);cursor:pointer;padding:0;margin-bottom:12px}
.rdv-back:hover{color:var(--bone)}
.rdv-recap{padding:12px 14px;border:1px solid var(--line);background:var(--ink-3);margin-bottom:16px;font-size:var(--t-s)}
.rdv-form{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px}
.rdv-f{display:grid;gap:6px}
.rdv-f.full{grid-column:1/-1}
.rdv-f label{font-size:13px;color:var(--bone-2)}
.rdv-f input,.rdv-f textarea{font:inherit;font-size:16px;color:var(--bone);background:var(--ink);border:1px solid var(--line-2);padding:11px 12px;border-radius:0;width:100%}
.rdv-f textarea{min-height:84px;resize:vertical}
.rdv-hint{font-size:12.5px;color:var(--bone-3);line-height:1.4}
.rdv-f input:focus,.rdv-f textarea:focus{outline:none;border-color:var(--bone)}
.rdv-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rdv-submit{width:100%;justify-content:center;margin-top:18px}
.rdv-submit:disabled{opacity:.45;cursor:not-allowed}
.rdv-privacy{font-size:12.5px;color:var(--bone-3);margin:12px 0 0}
.rdv-success{text-align:center;padding:12px 0}
.rdv-ok{width:56px;height:56px;margin:0 auto 14px;display:grid;place-items:center;background:var(--carmin);color:#fff}
.rdv-success h3{font-family:var(--f-display);text-transform:uppercase;font-size:30px;margin:0 0 8px}
.rdv-success p{color:var(--bone-2);font-size:var(--t-s);margin:0}
@media (max-width:560px){.rdv-form{grid-template-columns:1fr}.rdv-head,.rdv-body{padding-left:18px;padding-right:18px}.rdv-steps{padding:0 18px 12px}}

/* ── module de consentement (twimi-consent.js, Nective) habillé à la charte ──
   Les trois boutons gardent strictement le même style (CNIL). En bas à gauche : la bulle d'Antoine est en bas à droite. */
#twimi-cc{--tcc-bg:var(--ink-2);--tcc-text:var(--bone);--tcc-muted:var(--bone-2);--tcc-accent:var(--bone);--tcc-accent-text:var(--ink);
  --tcc-border:var(--line-2);--tcc-radius:0;--tcc-font:inherit}
html body #twimi-cc{left:16px;right:auto;bottom:16px;margin:0;width:min(400px,calc(100% - 32px));max-width:none;padding:14px 16px;
  font-size:12.5px;line-height:1.45;z-index:2147482000;box-shadow:0 12px 36px rgba(0,0,0,.35)}
html body #twimi-cc h2{font-family:var(--f-display);text-transform:uppercase;font-size:17px;line-height:1;font-weight:700;margin:0 0 6px}
html body #twimi-cc p{margin:0 0 10px}
html body #twimi-cc .tcc-actions{gap:6px;margin-top:8px;flex-wrap:nowrap}
html body #twimi-cc .tcc-btn{flex:1 1 0;min-height:32px;padding:7px 8px;border-radius:0;font-size:10.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
html body #twimi-cc .tcc-btn:focus{outline:none}
html body #twimi-cc .tcc-btn:focus-visible,html body #twimi-cc input:focus-visible{outline:2px solid var(--carmin);outline-offset:2px}
html body #twimi-cc .tcc-panel{margin-top:8px;padding-top:8px}
html body #twimi-cc .tcc-row{margin-bottom:6px}
html body #twimi-cc .tcc-row small,html body #twimi-cc .tcc-note{font-size:11.5px}
html body #twimi-cc .tcc-row input{accent-color:var(--carmin);width:16px;height:16px}
/* sur mobile, la bulle d'Antoine occupe le coin bas droit : le bandeau passe au-dessus */
@media (max-width:560px){html body #twimi-cc{left:8px;width:calc(100% - 16px);bottom:calc(92px + env(safe-area-inset-bottom,0px))}
  /* téléphone : les trois boutons restent égaux mais leur texte peut passer sur deux lignes */
  html body #twimi-cc .tcc-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  html body #twimi-cc .tcc-btn{white-space:normal;line-height:1.2;padding:7px 4px;letter-spacing:.03em;min-height:36px}}

/* honeypot du formulaire de contact */
.hp-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
