/* Angelica — styles de la réservation de consultation (dérivé du module « rendez-vous » de la bibliothèque). Thème clair. */
.rdv {
  --rdv-accent: var(--bordeaux, #6B2234);
  --rdv-accent-texte: #fff;
  --rdv-fond: rgba(255, 255, 255, .78);
  --rdv-texte: var(--texte, #3A2530);
  --rdv-doux: var(--doux, #6B5560);
  --rdv-trait: rgba(201, 162, 74, .55);
  --rdv-rayon: 14px;
  color: var(--rdv-texte); max-width: 760px;
}
.rdv * { box-sizing: border-box; }
.rdv a { color: var(--bordeaux, #6B2234); }
.rdv-etape { background: var(--rdv-fond); border: 1px solid var(--rdv-trait); border-radius: var(--rdv-rayon); padding: 1.2rem; margin-bottom: .9rem; box-shadow: 0 6px 22px rgba(107, 34, 52, .1); }
.rdv-etape h3 { margin: 0 0 .8rem; font-size: 1.35rem; }
.rdv-mode { margin: .8rem 0 .5rem; font-weight: 600; color: var(--or-fonce, #8C6A1D); text-transform: uppercase; letter-spacing: .12em; font-size: .8rem; }
.rdv-services { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: .6rem; }
.rdv button { font: inherit; color: inherit; cursor: pointer; }
.rdv-service { text-align: left; padding: .8rem .95rem; border: 1px solid var(--rdv-trait); border-radius: 12px; background: #fff; }
.rdv-service b { display: block; color: var(--bordeaux, #6B2234); }
.rdv-service span { color: var(--rdv-doux); font-size: .92em; }
.rdv-service:hover { background: #FBEFEF; }
.rdv-service[aria-pressed="true"], .rdv-creneau[aria-pressed="true"] { border-color: var(--rdv-accent); box-shadow: 0 0 0 2px var(--rdv-accent) inset; background: #F8E6E8; }
.rdv-mois { display: flex; align-items: center; justify-content: space-between; margin-bottom: .7rem; }
.rdv-mois button { border: 1px solid var(--rdv-trait); background: #fff; border-radius: 999px; width: 40px; height: 40px; font-size: 1.2rem; color: var(--bordeaux, #6B2234); }
.rdv-mois button:disabled { opacity: .3; cursor: default; }
.rdv-mois b { text-transform: capitalize; font-size: 1.05rem; }
.rdv-grille { display: grid; grid-template-columns: repeat(7, 1fr); gap: 4px; text-align: center; }
.rdv-grille .js { font-size: .8em; color: var(--rdv-doux); padding: 4px 0; }
.rdv-jour { aspect-ratio: 1; border: 0; border-radius: 10px; background: transparent; color: var(--rdv-doux); opacity: .45; min-height: 38px; }
.rdv-jour.dispo { opacity: 1; color: var(--rdv-texte); background: #F8E6E8; font-weight: 600; }
.rdv-jour.dispo:hover { background: #F0CFD4; }
.rdv-jour[aria-pressed="true"] { background: var(--rdv-accent); color: var(--rdv-accent-texte); opacity: 1; }
.rdv-creneaux { display: flex; flex-wrap: wrap; gap: .5rem; }
.rdv-creneau { padding: .55rem 1rem; border: 1px solid var(--rdv-trait); border-radius: 999px; background: #fff; }
.rdv-form { display: grid; gap: .9rem; }
.rdv-form label { display: grid; gap: .3rem; font-weight: 600; color: var(--bordeaux, #6B2234); }
.rdv-form input:not([type=checkbox]), .rdv-form textarea { font: inherit; padding: .7rem .85rem; border: 1px solid var(--rose-vif, #C98B96); border-radius: 10px; background: #fff; color: var(--texte, #3A2530); width: 100%; }
.rdv-cases { display: grid; gap: .7rem; padding: .9rem; border: 1px solid var(--rdv-trait); border-radius: 10px; background: rgba(233, 205, 208, .3); }
.rdv-form label.rdv-case { display: flex; gap: .6rem; align-items: flex-start; font-weight: 400; font-size: .95rem; line-height: 1.5; color: var(--texte, #3A2530); }
.rdv-case input { margin-top: .25rem; accent-color: var(--rdv-accent); flex: none; }
.rdv-valider { background: linear-gradient(135deg, #7d2b40, var(--rdv-accent)); color: var(--rdv-accent-texte); border: 1px solid var(--or, #C9A24A); border-radius: 999px; padding: .85rem 1.6rem; font-weight: 600; justify-self: start; }
.rdv-valider:disabled { opacity: .6; cursor: wait; }
.rdv-resume { color: var(--rdv-doux); margin: 0 0 .6rem; }
.rdv-aide { color: var(--rdv-doux); font-size: .88rem; margin: 0; }
.rdv-msg { padding: .8rem 1rem; border-radius: 10px; background: rgba(233, 208, 138, .3); }
.rdv-erreur { background: rgba(163, 40, 28, .09); color: #7b1d13; }
.rdv-piege { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.rdv-vide { color: var(--rdv-doux); }
