/* =============================================================================
   /rendez-vous/ : la fiche « après rendez-vous » en version écran (05/10/2026)
   -----------------------------------------------------------------------------
   Le closer envoie ce lien sur WhatsApp : le directeur le lit sur téléphone.
   Même contenu que le PDF (`fiche-rdv/`), mobile d'abord. Direction « Le
   Formulaire cacheté » posée sur l'exécution adoucie de la vitrine (md.css) :
   rail d'octogones numérotés, cachet incliné une seule fois, captures réelles
   de l'école fictive. Pas de case à cocher à l'écran : ce qui se coche au stylo
   devient ici des étiquettes non cliquables.
   ========================================================================== */
.rdv { max-width: 980px; margin: 0 auto; padding: 1.6rem 1rem 0; }
.rdv-label { font: 600 .7rem/1.2 'IBM Plex Mono', monospace; letter-spacing: .14em; text-transform: uppercase; color: var(--encre-douce); }

/* Ouverture */
.rdv-ouv h1 { font-size: clamp(2rem, 7vw, 3.2rem); margin: .7rem 0 1rem; }
.rdv-ouv .chapo { font-size: 1.08rem; color: var(--texte); max-width: 60ch; }
.rdv-enligne { background: var(--petrole-bg); color: var(--petrole-tx); border-radius: var(--radius); padding: 1rem 1.15rem; margin: 1.2rem 0; }
.rdv-enligne .rdv-label { color: var(--petrole-tx); }
.rdv-enligne p { margin: .35rem 0 0; color: var(--encre); }
.rdv-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin: 1.3rem 0 .4rem; }
.rdv-actions .bouton { justify-content: center; }
@media (max-width: 560px) { .rdv-actions .bouton { flex: 1 1 100%; } }

/* Les trois temps */
.rdv-temps { margin: 2.4rem 0 0; border-top: 3px solid var(--encre); }
.rdv-temp { display: grid; grid-template-columns: 2.8rem 1fr; gap: .9rem; padding: 1.6rem 0; border-bottom: 1px solid var(--filet); position: relative; }
.rdv-octo { position: relative; width: 2.6rem; height: 2.6rem; color: var(--encre); }
.rdv-octo svg { width: 100%; height: 100%; }
.rdv-octo b { position: absolute; inset: 0; display: grid; place-items: center; font: 700 1rem/1 'IBM Plex Mono', monospace; }
.rdv-temp h2 { font-size: clamp(1.25rem, 3.6vw, 1.6rem); margin: .3rem 0 .7rem; padding-right: 4.6rem; }
.rdv-temp p { max-width: 62ch; }
.rdv-choix { display: grid; gap: .5rem; margin: .4rem 0 0; }
.rdv-choix dt { font-weight: 700; color: var(--encre); margin-top: .5rem; }
.rdv-choix dd { margin: 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.rdv-choix dd span { padding: .3rem .8rem; border-radius: var(--radius-pill); background: var(--surface); border: 1px solid var(--filet); font-size: .92rem; color: var(--encre); }
.rdv-objectif { background: var(--sable); border-radius: var(--radius); padding: 1rem 1.15rem; margin-top: 1rem; max-width: 46rem; }
.rdv-objectif h3 { margin-bottom: .3rem; }
.rdv-objectif p { margin: 0; color: var(--encre); }

/* Le cachet : la seule inclinaison permise par la charte (symbole qui joue un tampon) */
.rdv-tampon { position: absolute; right: 0; top: 1.2rem; width: 4.6rem; color: var(--cachet); opacity: .82; transform: rotate(-9deg);
  display: grid; justify-items: center; gap: .25rem; pointer-events: none; }
.rdv-tampon svg { width: 100%; height: auto; }
.rdv-tampon span { font: 600 .55rem/1 'IBM Plex Mono', monospace; letter-spacing: .12em; white-space: nowrap; }
.js .rdv-tampon { animation: rdv-coup .18s ease-out .5s both; }
@keyframes rdv-coup { from { opacity: 0; transform: rotate(-9deg) scale(1.06); } to { opacity: .82; transform: rotate(-9deg) scale(1); } }
@media (prefers-reduced-motion: reduce) { .js .rdv-tampon { animation: none; } }
@media (max-width: 560px) { .rdv-tampon { width: 3.4rem; top: .6rem; } }

/* Le produit en images */
.rdv-images { margin: 2.8rem 0 0; }
.rdv-images > h2 { margin: .5rem 0 .4rem; }
.rdv-images > p { color: var(--encre-douce); }
.rdv-planche { display: grid; gap: 1.4rem; margin-top: 1.2rem; }
.rdv-planche figure { margin: 0; }
.rdv-cadre { border: 1px solid var(--filet); border-radius: var(--radius); overflow: hidden; background: var(--surface); }
.rdv-tel .rdv-cadre { border: 8px solid var(--encre); border-radius: 26px; max-width: 300px; margin: 0 auto; }
.rdv-planche figcaption { padding-top: .6rem; font-size: .95rem; }
.rdv-planche figcaption .rdv-label { display: block; color: var(--encre); margin-bottom: .2rem; }
@media (min-width: 820px) {
  .rdv-planche { grid-template-columns: 300px 1fr; align-items: start; }
  .rdv-tel { grid-row: span 2; }
  .rdv-tel .rdv-cadre { margin: 0; }
}

/* Voir le produit */
.rdv-voir { margin: 2.8rem 0 0; padding-top: 1.4rem; border-top: 1px solid var(--filet); }
.rdv-liens { list-style: none; padding: 0; margin: 1rem 0 0; display: grid; gap: .7rem; }
@media (min-width: 680px) { .rdv-liens { grid-template-columns: repeat(3, 1fr); } }
.rdv-liens li { margin: 0; }
.rdv-liens a { display: block; height: 100%; padding: 1rem 1.1rem; border: 1px solid var(--filet); border-radius: var(--radius); background: var(--surface); text-decoration: none; color: var(--encre); transition: border-color .15s, transform .15s; }
.rdv-liens a:focus-visible { outline: 2px solid var(--petrole-fonce); outline-offset: 2px; }
.rdv-liens a:hover { border-color: var(--petrole); transform: translateY(-2px); color: var(--encre); }
.rdv-liens b { display: block; font-size: 1.05rem; }
.rdv-liens span { font: 500 .8rem/1.4 'IBM Plex Mono', monospace; color: var(--encre-douce); }

/* Signature */
.rdv-signature { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin: 2.8rem 0 2.4rem; padding: 1.4rem 1.2rem; background: var(--sable); border-radius: var(--radius); }
.rdv-signature svg { width: 3rem; height: 3rem; color: var(--cachet); flex: none; }
.rdv-signature .nom { font: 800 1.35rem/1.1 'Sora', sans-serif; color: var(--encre); }
.rdv-signature p { margin: .2rem 0 0; }
.rdv-signature .rdv-label { margin-left: auto; }
