/* Compléments au CSS d'origine (repris tel quel dans les pages). */

/* Défilement fluide (styles injectés par le composant Smooth Scroll d'origine) */
html.lenis { height: auto; }
.lenis.lenis-smooth { scroll-behavior: auto !important; }
.lenis.lenis-smooth [data-lenis-prevent] { overscroll-behavior: contain; }
.lenis.lenis-stopped { overflow: hidden; }
.lenis.lenis-scrolling iframe { pointer-events: none; }

/* Retour d'envoi des formulaires : invisible (comme l'original) sauf en cas d'échec */
.rt-form-status { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
form[data-rt-state="error"] .rt-form-status {
  position: static; width: auto; height: auto; overflow: visible; clip: auto; white-space: normal;
  margin-top: 10px; font: 400 13px/1.4 "Switzer", "Switzer Placeholder", sans-serif; color: rgb(255, 140, 140);
}

/* Espace contact : calendrier Cal.com à la place du formulaire (hauteur réservée avant chargement) */
.rt-cal { flex: 1 0 0; width: 1px; min-height: 1250px; position: relative; }
.rt-cal iframe { display: block; }
@media (max-width: 1199.98px) { .rt-cal { min-height: 1050px; } }
@media (max-width: 809.98px) { .rt-cal { flex: none; width: 100%; min-height: 1050px; } }
@media (min-width: 810px) { #contact .framer-9o7swq:has(.rt-cal) { align-items: flex-start; } }
/* Sur téléphone, Framer fige la hauteur de l'accueil (11 414 px, hauteur de sa maquette) : le calendrier, plus haut
   que l'ancien formulaire, rendait le bas de page inaccessible. La page prend la hauteur de son contenu. */
@media (max-width: 809.98px) { .framer-OjaOD.framer-72rtr7 { height: min-content; } }

/* Adresse e-mail de l'espace contact : réduite pour tenir dans la colonne (texte d'origine à 35 px, sur une ligne) */
@media (min-width: 810px) and (max-width: 1199.98px) {
  .framer-NrkXy.framer-nh9Vv .framer-styles-preset-6ghdir { --framer-font-size: min(35px, (100vw - 130px) / 26.4); }
}
@media (max-width: 809.98px) {
  .framer-NrkXy.framer-nh9Vv .framer-styles-preset-6ghdir { --framer-font-size: min(35px, (100vw - 30px) / 13.2); }
}

/* Focus clavier visible sur les zones cliquables recréées */
[role="button"]:focus-visible, a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible, select:focus-visible {
  outline: 2px solid rgb(112, 190, 250); outline-offset: 2px;
}

/* Roue du bouton d'envoi (état Chargement) : 360° en 1 s, linéaire, en boucle — effet « loop » d'origine */
@keyframes rt-spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.framer-FrKYa .framer-vrfc63 { animation: rt-spin 1s linear infinite; }
