/**
 * Le JS du tunnel depannage a distance genere son balisage avec des styles
 * inline (fidelite exacte a la maquette Claude Design "Reservation Depannage
 * a Distance"), contrairement au tunnel a domicile qui utilise des classes
 * .fortek-res__*. Ce fichier ne couvre donc que ce que les styles inline ne
 * peuvent pas exprimer : reset, police, placeholders, focus, animations,
 * responsive.
 */
#fortek-remote-reservation-app,
#fortek-remote-reservation-app * {
	box-sizing: border-box;
}

#fortek-remote-reservation-app a {
	color: #2482D9;
	text-decoration: none;
}
#fortek-remote-reservation-app a:hover {
	color: #002A52;
}

.fortek-rres__sticky-header {
	position: sticky;
	top: 0;
	z-index: 100;
}

/* Le thème force white-space:nowrap sur tous les <button> du site — sans
   correction, un bouton avec un texte long ne peut pas passer à la ligne et
   s'élargit bien au-delà de sa colonne de grille, provoquant un débordement
   horizontal de toute la page (constaté en direct sur les cartes "Besoin
   d'aide immédiate" / "Réserver un créneau"). */
/* Idem pour la couleur : le thème force color:#fff sur tous les <button>
   (pensé pour ses propres boutons d'appel à l'action) — nos boutons qui ne
   fixent pas leur propre couleur inline héritaient donc du blanc du thème
   au lieu du bleu marine du reste de la page. color:inherit restaure
   l'héritage normal depuis le conteneur (#002A52) ; les boutons qui FIXENT
   déjà leur couleur inline (ex: "Continuer" en blanc sur fond bleu) ne sont
   pas affectés, l'inline gagne toujours sur cette règle. */
#fortek-remote-reservation-app button {
	white-space: normal;
	min-width: 0;
	color: inherit;
}

#fortek-remote-reservation-app input::placeholder,
#fortek-remote-reservation-app textarea::placeholder {
	color: #8A9BB0;
}
#fortek-remote-reservation-app input:focus,
#fortek-remote-reservation-app textarea:focus {
	outline: 2px solid #2482D9;
	outline-offset: 1px;
}

#fortek-remote-reservation-app button {
	font-family: 'Inter', sans-serif;
	transition: filter 0.15s ease, transform 0.05s ease;
}
#fortek-remote-reservation-app button:hover:not(:disabled) {
	filter: brightness(0.97);
}
#fortek-remote-reservation-app button:active:not(:disabled) {
	transform: scale(0.98);
}
#fortek-remote-reservation-app button:disabled {
	cursor: not-allowed;
}

@keyframes fortekRemoteFadeUp {
	from { opacity: 0; transform: translateY(8px); }
	to { opacity: 1; transform: translateY(0); }
}
.fortek-rres__animate {
	animation: fortekRemoteFadeUp 0.28s ease both;
}

.fortek-rres__loading,
.fortek-rres__error {
	font-size: 14px;
	padding: 12px 0;
}
.fortek-rres__error {
	color: #DC2626;
}

/* Stepper mobile (libellé + "Étape X/N" + barre de progression) masqué par
   défaut, affiché uniquement sous le seuil mobile -- voir @media plus bas. */
#fortek-remote-reservation-app .fortek-rres__stepper-mobile {
	display: none;
}

@media (max-width: 720px) {
	#fortek-remote-reservation-app .fortek-rres__header-hide-mobile {
		display: none !important;
	}
	#fortek-remote-reservation-app .fortek-rres__stepper-desktop {
		display: none !important;
	}
	#fortek-remote-reservation-app .fortek-rres__stepper-mobile {
		display: block;
	}
	#fortek-remote-reservation-app .fortek-rres__grid-2 {
		grid-template-columns: 1fr !important;
	}
	#fortek-remote-reservation-app .fortek-rres__hero-title {
		font-size: 28px !important;
	}
	#fortek-remote-reservation-app .fortek-rres__mode-grid {
		grid-template-columns: 1fr !important;
	}
	#fortek-remote-reservation-app .fortek-rres__tier-grid {
		grid-template-columns: 1fr !important;
	}
	#fortek-remote-reservation-app .fortek-rres__day-row {
		flex-direction: column !important;
	}
	#fortek-remote-reservation-app .fortek-rres__why-grid {
		grid-template-columns: 1fr 1fr !important;
	}
}
