/* === PRISE DE RENDEZ-VOUS (js/rdv-picker.js) ===
   Variante 3 de la maquette (calendrier du mois). S'appuie sur css/forms.css (fenêtre, champs,
   bouton). Palette « Compromis » validée par Xavier le 2026-10-06, seuil AA 4,5:1 :
   #21806f teal foncé (texte et fond actionnables, mesuré 4,79:1 sur blanc),
   #5a6476 texte secondaire (mesuré 5,97:1 sur blanc). */

.rdv-modal.xf-modal-container { max-width: 760px; }

.rdv-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; align-items: start; }
@media (max-width: 760px) { .rdv-grid { grid-template-columns: 1fr; gap: 1.5rem; } }
.rdv-grid > * { min-width: 0; }

.rdv-nav { display: flex; align-items: center; justify-content: space-between; margin-bottom: .75rem; }
.rdv-month { font-weight: 700; font-size: 15px; color: #1a2744; }
.rdv-arrows { display: flex; gap: .5rem; }
.rdv-arrow { width: 36px; height: 36px; border-radius: 50%; border: 1.5px solid rgba(26,39,68,.15); background: #fff; color: #1a2744; font-size: 18px; line-height: 1; display: grid; place-items: center; cursor: pointer; }
.rdv-arrow:hover:not([disabled]) { border-color: #21806f; }
.rdv-arrow[disabled] { opacity: .3; cursor: default; }

.rdv-cal { display: grid; grid-template-columns: repeat(7, 1fr); gap: .25rem; text-align: center; font-size: 14px; }
.rdv-cal .rdv-h { font-size: 12px; font-weight: 600; color: #5a6476; padding: .3rem 0; }
.rdv-cal .rdv-d { aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; color: #5a6476; position: relative; border: 0; background: none; font: inherit; padding: 0; }
.rdv-cal button.rdv-d { color: #1a2744; font-weight: 700; cursor: pointer; }
.rdv-cal button.rdv-d::after { content: ''; position: absolute; bottom: 14%; width: 4px; height: 4px; border-radius: 50%; background: #21806f; }
.rdv-cal button.rdv-d:hover { background: rgba(33,128,111,.08); }
.rdv-cal button.rdv-d.rdv-sel { background: #21806f; color: #fff; }
.rdv-cal button.rdv-d.rdv-sel::after { background: #fff; }

.rdv-daytitle { font-weight: 700; color: #1a2744; margin-bottom: .75rem; font-size: 15px; }
.rdv-slots { display: grid; grid-template-columns: repeat(auto-fill, minmax(86px, 1fr)); gap: .5rem; }
.rdv-slot { padding: .6rem 0; border-radius: 999px; border: 1.5px solid rgba(33,128,111,.4); background: #fff; color: #21806f; font: inherit; font-weight: 700; font-size: 14px; text-align: center; cursor: pointer; transition: background .2s, color .2s, border-color .2s; }
.rdv-slot:hover { border-color: #21806f; background: rgba(33,128,111,.06); }
.rdv-slot.rdv-sel { background: #21806f; border-color: #21806f; color: #fff; }
.rdv-tz { margin-top: 1rem; font-size: 13px; color: #5a6476; }

.rdv-slot:focus-visible, .rdv-arrow:focus-visible, .rdv-cal button.rdv-d:focus-visible, .rdv-link:focus-visible { outline: 3px solid #1a2744; outline-offset: 2px; }

.rdv-summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: .9rem 1.1rem; border-radius: 1rem; background: #faf8f5; border: 1.5px solid rgba(33,128,111,.25); margin-bottom: 1.5rem; }
.rdv-summary strong { display: block; color: #1a2744; font-size: 15px; }
.rdv-summary span { font-size: 13px; color: #5a6476; }
.rdv-summary.rdv-taken strong { text-decoration: line-through; }
.rdv-link { font: inherit; font-size: 14px; font-weight: 700; color: #21806f; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; cursor: pointer; white-space: nowrap; }

.rdv-info { padding: 1rem 1.1rem; border-radius: 1rem; background: #faf8f5; border: 1.5px solid rgba(26,39,68,.08); color: #1a2744; font-size: 14px; line-height: 1.55; margin-bottom: 1.5rem; }

.rdv-skel { background: linear-gradient(90deg, #eef1f5 0%, #f7f8fa 50%, #eef1f5 100%); background-size: 200% 100%; animation: rdv-shimmer 1.4s infinite; border-radius: 1rem; }
@keyframes rdv-shimmer { to { background-position: -200% 0; } }

/* Étape 2 : XtradevForm crée son propre .xf-wrapper (600 px, centré). Dans la fenêtre de
   rendez-vous, il prend toute la largeur pour s'aligner sur le récapitulatif. */
.rdv-modal .xf-wrapper { max-width: none; }
.rdv-modal .xf-title + .rdv-summary { margin-top: 1rem; }
