@media (min-width:768px){#book-appointment-wizard{border-radius:var(--bs-border-radius)!important;box-shadow:var(--bs-box-shadow-sm)!important}}#book-appointment-wizard .book-step.active-step{height:45px!important;width:45px!important;background:var(--bs-white)!important;padding:7px!important;margin-right:13px!important;margin-top:0!important}#book-appointment-wizard .book-step.active-step strong{color:var(--bs-primary)!important;font-size:21px!important}#book-appointment-wizard .book-step:not(.active-step){height:35px!important;width:35px!important;background:rgba(0,0,0,.2)!important;padding:8px!important;margin-right:12px!important;margin-top:6px!important}#book-appointment-wizard .book-step:not(.active-step) strong{color:rgba(255,255,255,.5)!important;font-size:12px!important}#book-appointment-wizard #available-hours .available-hour{margin-bottom:10px}#book-appointment-wizard #available-hours .selected-hour{background-color:var(--bs-primary)!important;border-color:var(--bs-primary)!important;color:var(--bs-white)!important}#book-appointment-wizard .captcha-title .fa-sync-alt{cursor:pointer;transition:all .3s linear}#book-appointment-wizard .captcha-title .fa-sync-alt:hover{color:var(--bs-primary)}.popover .popover-title{text-align:center}.popover .popover-content #language-list .language{margin:15px 0}#book-appointment-wizard .flatpickr-calendar.inline{margin:auto}
/* Habillage de la page de réservation aux couleurs du site (charte A « douce » de theo-chaumeil-kinesitherapeute.fr :
   crème, encre, safran, point rouge-orangé, Montserrat). Posé le 21-10-2026 à la demande de Théo.
   retoucher-l-agenda l'ajoute à la fin de frontend.min.css : il passe après le thème et les styles d'origine.
   Les règles d'origine de l'agenda sont souvent en !important : les nôtres le sont aussi, avec un sélecteur plus précis. */

/* Montserrat servie par l'agenda lui-même (mêmes fichiers que le site, licence OFL) : aucun appel à Google */
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url(cabinet/montserrat-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:400 900;font-display:swap;src:url(cabinet/montserrat-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

:root,[data-bs-theme=light]{
  --bg:#FAF6F0; --fg:#26211C; --fg2:#5C5349; --ligne:rgba(38,33,28,.14);
  --safran:#F5B72E; --safran-fonce:#E4A41D; --point:#E0531F; --encre-bouton:#0D0D0D;
  --police:'Montserrat','Segoe UI',system-ui,-apple-system,sans-serif;
  --bs-body-font-family:var(--police); --bs-body-bg:var(--bg); --bs-body-color:var(--fg);
  --bs-emphasis-color:var(--fg); --bs-secondary-color:var(--fg2); --bs-border-color:var(--ligne);
  --bs-border-radius:12px; --bs-border-radius-lg:16px;
  --bs-body-color-rgb:38,33,28; --bs-body-bg-rgb:250,246,240;
  --bs-primary:#26211C; --bs-primary-rgb:38,33,28; --ea-primary-hover:#3A332C; --ea-primary-active:#14110E;
  --bs-link-color:#26211C; --bs-link-color-rgb:38,33,28; --bs-link-hover-color:#26211C; --bs-link-hover-color-rgb:38,33,28;
  --bs-focus-ring-color:rgba(245,183,46,.45);
}
html,body{background:var(--bg)}
body{color:var(--fg);font-family:var(--police);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
::selection{background:var(--safran);color:var(--encre-bouton)}

/* Le cadre : à plat sur téléphone, une carte claire sur grand écran */
#book-appointment-wizard{background:var(--bg)!important;color:var(--fg)}
@media (min-width:768px){
  #book-appointment-wizard{background:#FFFDFA!important;border:1px solid var(--ligne);border-radius:20px!important;box-shadow:0 12px 40px rgba(38,33,28,.06)!important}
}

/* En-tête : le nom écrit comme le logo du site, sans le logo par défaut de l'agenda */
#book-appointment-wizard #header{background:transparent!important;border-bottom:1px solid var(--ligne)}
#company-logo{display:none!important}
#book-appointment-wizard #company-name{color:var(--fg)!important;font-weight:800!important;font-size:1.15rem!important;letter-spacing:-.02em}
/* Le point final du site ; la boîte souple retire l'espace que le modèle laisse avant lui */
#book-appointment-wizard #company-name>span:first-of-type{display:inline-flex;align-items:flex-end}
#book-appointment-wizard #company-name>span:first-of-type::after{content:".";color:var(--point)}
#book-appointment-wizard .display-booking-selection{color:var(--fg2)!important;font-weight:500!important;font-size:.85rem!important;letter-spacing:0}

/* Les étapes : quatre pastilles rondes, celle en cours en safran */
#book-appointment-wizard .book-step.active-step,
#book-appointment-wizard .book-step:not(.active-step){height:34px!important;width:34px!important;padding:0!important;margin:0 10px 0 0!important;
  border-radius:50%!important;display:flex!important;align-items:center;justify-content:center;transition:background-color .2s ease,border-color .2s ease!important}
#book-appointment-wizard .book-step.active-step{background:var(--safran)!important;border:1.5px solid var(--safran)}
#book-appointment-wizard .book-step:not(.active-step){background:transparent!important;border:1.5px solid var(--ligne)}
#book-appointment-wizard .book-step strong{font-size:.9rem!important;font-weight:700;line-height:1}
#book-appointment-wizard .book-step.active-step strong{color:var(--encre-bouton)!important}
#book-appointment-wizard .book-step:not(.active-step) strong{color:var(--fg2)!important}

/* Titres, étiquettes, textes */
#book-appointment-wizard .wizard-frame .frame-title{color:var(--fg)!important;font-weight:700!important;font-size:clamp(1.35rem,5vw,1.75rem);letter-spacing:-.02em;
  line-height:1.2;margin-top:.5rem!important;text-wrap:balance}
#book-appointment-wizard label,
#book-appointment-wizard .form-label{font-weight:600;font-size:.95rem!important;color:var(--fg)}
#book-appointment-wizard .text-danger{color:var(--point)!important}
#book-appointment-wizard #service-description{color:var(--fg2);font-size:.95rem!important;line-height:1.6}
#book-appointment-wizard #service-description,
#book-appointment-wizard #service-description *{font-style:normal!important}
#book-appointment-wizard .form-text,
#book-appointment-wizard .text-muted{color:var(--fg2)!important}

/* Champs */
#book-appointment-wizard .form-control,
#book-appointment-wizard .form-select{background-color:#fff;border:1.5px solid var(--ligne);border-radius:12px;padding:.7rem .95rem;font-size:1rem;color:var(--fg)}
#book-appointment-wizard .form-select{padding-right:2.5rem}
#book-appointment-wizard .form-control:focus,
#book-appointment-wizard .form-select:focus{border-color:var(--fg);box-shadow:0 0 0 3px rgba(245,183,46,.45)}
#book-appointment-wizard .form-check-input:checked{background-color:var(--safran);border-color:var(--safran)}
#book-appointment-wizard .form-check-input:focus{border-color:var(--fg);box-shadow:0 0 0 3px rgba(245,183,46,.45)}

/* Boutons : safran comme sur le site ; « Retour » en simple contour */
#book-appointment-wizard .command-buttons .btn,
#book-appointment-wizard #book-appointment-submit{font-weight:700;border-radius:12px;padding:.8rem 1.4rem;font-size:1rem}
#book-appointment-wizard .button-next,
#book-appointment-wizard #book-appointment-submit{
  --bs-btn-bg:var(--safran); --bs-btn-border-color:var(--safran); --bs-btn-color:var(--encre-bouton);
  --bs-btn-hover-bg:var(--safran-fonce); --bs-btn-hover-border-color:var(--safran-fonce); --bs-btn-hover-color:var(--encre-bouton);
  --bs-btn-active-bg:var(--safran-fonce); --bs-btn-active-border-color:var(--safran-fonce); --bs-btn-active-color:var(--encre-bouton);
  --bs-btn-disabled-bg:var(--safran); --bs-btn-disabled-border-color:var(--safran); --bs-btn-disabled-color:var(--encre-bouton);
  --bs-btn-focus-shadow-rgb:245,183,46}
/* Le thème d'origine peint le bouton final d'un dégradé vert : on le remplace par l'aplat safran */
#book-appointment-wizard #book-appointment-submit,
#book-appointment-wizard #book-appointment-submit:hover,
#book-appointment-wizard #book-appointment-submit:active{background:var(--safran)!important;border:1.5px solid var(--safran)!important;color:var(--encre-bouton)!important;box-shadow:none!important}
#book-appointment-wizard #book-appointment-submit:hover{background:var(--safran-fonce)!important;border-color:var(--safran-fonce)!important}
#book-appointment-wizard .button-back,
#book-appointment-wizard .button-back:active{background:transparent!important;border:1.5px solid var(--ligne)!important;color:var(--fg)!important;box-shadow:none!important}
#book-appointment-wizard .button-back:hover{border-color:var(--fg)!important}

/* Calendrier : blanc, cerné d'un filet, le jour choisi en safran */
#book-appointment-wizard .flatpickr-calendar{background:#fff!important;border:1px solid var(--ligne);border-radius:16px;box-shadow:none!important;font-family:var(--police)}
#book-appointment-wizard .flatpickr-months,
#book-appointment-wizard .flatpickr-months .flatpickr-month{background:transparent!important;color:var(--fg)!important;fill:var(--fg)!important;border-radius:16px 16px 0 0}
#book-appointment-wizard .flatpickr-current-month,
#book-appointment-wizard .flatpickr-current-month .flatpickr-monthDropdown-months,
#book-appointment-wizard .flatpickr-current-month input.cur-year{color:var(--fg)!important;font-weight:700}
#book-appointment-wizard .flatpickr-current-month .flatpickr-monthDropdown-months{background:transparent!important}
#book-appointment-wizard .flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:rgba(38,33,28,.05)!important}
#book-appointment-wizard .flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:#fff!important;color:var(--fg)}
#book-appointment-wizard .flatpickr-days,
#book-appointment-wizard .flatpickr-innerContainer,
#book-appointment-wizard .dayContainer{border:0!important}
#book-appointment-wizard .flatpickr-months .flatpickr-prev-month,
#book-appointment-wizard .flatpickr-months .flatpickr-next-month{color:var(--fg)!important;fill:var(--fg)!important}
#book-appointment-wizard .flatpickr-months .flatpickr-prev-month svg,
#book-appointment-wizard .flatpickr-months .flatpickr-next-month svg{fill:var(--fg)!important}
#book-appointment-wizard .flatpickr-weekdays,
#book-appointment-wizard span.flatpickr-weekday{background:transparent!important;color:var(--fg2)!important;font-weight:600}
#book-appointment-wizard .flatpickr-day{color:var(--fg);font-weight:600}
#book-appointment-wizard .flatpickr-day.flatpickr-disabled,
#book-appointment-wizard .flatpickr-day.prevMonthDay,
#book-appointment-wizard .flatpickr-day.nextMonthDay{color:rgba(38,33,28,.25)!important;font-weight:400}
#book-appointment-wizard .flatpickr-day:not(.flatpickr-disabled):not(.selected):hover{background:rgba(245,183,46,.2);border-color:transparent}
#book-appointment-wizard .flatpickr-day.today{border-color:var(--point)}
#book-appointment-wizard .flatpickr-day.selected,
#book-appointment-wizard .flatpickr-day.selected:hover,
#book-appointment-wizard .flatpickr-day.selected:focus{background:var(--safran)!important;border-color:var(--safran)!important;color:var(--encre-bouton)!important}

/* Créneaux : des boutons blancs, celui choisi en safran ; le fuseau horaire, discret */
#book-appointment-wizard #available-hours .available-hour{background:#fff;border:1.5px solid var(--ligne);border-radius:12px;color:var(--fg);font-weight:600;font-size:1rem;padding:.65rem}
#book-appointment-wizard #available-hours .available-hour:hover{border-color:var(--fg)}
#book-appointment-wizard #available-hours .selected-hour{background-color:var(--safran)!important;border-color:var(--safran)!important;color:var(--encre-bouton)!important}
#book-appointment-wizard #select-time label{font-size:.85rem!important;color:var(--fg2)}
#book-appointment-wizard #select-timezone{font-size:.9rem;padding:.5rem .8rem}

/* Étape 4 : le récapitulatif et l'anti-robots */
#book-appointment-wizard #appointment-details,
#book-appointment-wizard #customer-details{font-size:1rem!important;color:var(--fg)}
#book-appointment-wizard #appointment-details h4,
#book-appointment-wizard #customer-details h4{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}
#book-appointment-wizard #altcha-widget{--altcha-border-radius:12px;--altcha-color-border:var(--ligne);--altcha-color-base:#fff;
  --altcha-color-text:var(--fg);--altcha-color-border-focus:var(--fg);--altcha-max-width:100%}

/* Pendant l'enregistrement du rendez-vous, l'agenda envoie les mails avant de répondre (quelques secondes) et pose
   un voile blanc sans rien dire. Ce voile n'a ni classe ni identifiant : on le reconnaît à son style en ligne. */
body>div[style*="position: fixed"][style*="100vw"]{opacity:.95!important;background:var(--bg)!important;z-index:2000;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
body>div[style*="position: fixed"][style*="100vw"]::before{content:"";width:44px;height:44px;border-radius:50%;
  border:4px solid rgba(38,33,28,.14);border-top-color:var(--safran);animation:cabinet-tourne .8s linear infinite}
body>div[style*="position: fixed"][style*="100vw"]::after{content:"Enregistrement de votre rendez-vous…";
  font:600 1.05rem/1.4 var(--police);color:var(--fg);padding:0 24px;text-align:center}
@keyframes cabinet-tourne{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){body>div[style*="position: fixed"][style*="100vw"]::before{animation-duration:2.4s}}

/* Pied de page : discret, sans le choix de langue (la page n'existe qu'en français) */
#book-appointment-wizard #frame-footer{border-color:var(--ligne)!important;color:var(--fg2);font-size:.8rem}
#book-appointment-wizard #frame-footer a{color:var(--fg2)}
#book-appointment-wizard .footer-powered-by{width:100%!important;text-align:center!important}
#book-appointment-wizard .footer-options,
#select-language{display:none!important}
