/**
 * Accueil : sections ajoutées pour la prise de contact (inc/front-page.php).
 * S'appuie sur les composants et jetons de time2chat.css.
 */

html {
	scroll-behavior: smooth;
	scroll-padding-top: 90px; /* en-tête fixe */
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
}

/* Hero : réassurance sous les boutons */
.hero-proof {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 8px 24px;
	margin: 22px 0 0;
	padding: 0;
	list-style: none;
	color: #FFFFFF;
	font-size: 0.9375rem;
	font-weight: 600;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

.hero-proof li {
	position: relative;
	padding-left: 24px;
}

.hero-proof li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.28em;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: var(--smsreflex-yellow, #F5BC00) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M4.5 8.2l2.2 2.2 4.8-4.8' fill='none' stroke='%23002068' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 16px no-repeat;
}

/* Hero : bouton secondaire (contour blanc) lisible sur la photo */
.hero-content-style1 .btn-secondary-outline {
	border-color: #FFFFFF;
	color: #FFFFFF;
}

.hero-content-style1 .btn-secondary-outline:hover {
	background: #FFFFFF;
	color: var(--smsreflex-darkblue, #002068);
}

/* Nos solutions */
.home-solutions {
	padding: var(--t2c-section-space) 0;
	background: #FFFFFF;
}

.home-solutions__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
	margin: 48px 0 40px;
}

.home-solution {
	display: flex;
	flex-direction: column;
	padding: 32px 28px 24px;
	border: 1px solid var(--t2c-line);
	border-radius: var(--t2c-radius);
	background: #FFFFFF;
	transition: border-color 0.2s ease-out, box-shadow 0.2s ease-out;
}

.home-solution:hover {
	border-color: var(--t2c-navy);
	box-shadow: var(--t2c-shadow);
}

.home-solution > p {
	font-size: 0.9875rem;
}

.t2c .home-solution__price {
	flex: 1;
	margin: 4px 0 8px;
	color: var(--t2c-navy);
	font-family: "Raleway", Helvetica, Arial, sans-serif;
	font-weight: 800;
	font-size: 1rem;
}

.home-solution__link {
	align-self: flex-start;
	padding-left: 0;
}

/* Étapes : le gabarit Time2chat fournit .t2c-steps */
.home-steps {
	padding: var(--t2c-section-space) 0;
}

/* Formulaire de devis */
.home-contact {
	padding: var(--t2c-section-space) 0 calc(var(--t2c-section-space) - 24px);
	background: #FFFFFF;
}

.t2c-wrap .home-contact__lead,
.home-contact .home-contact__lead {
	max-width: 40em;
	margin-bottom: 8px;
}

.home-contact .t2c-h2 {
	font-family: "Raleway", Helvetica, Arial, sans-serif;
	font-size: clamp(1.75rem, 3vw, 2.375rem);
	font-weight: 800;
	color: var(--t2c-ink, #1B2340);
	text-transform: none;
	letter-spacing: -0.01em;
}

.home-contact .smsreflex-contact {
	padding-top: 16px;
}

/* En-tête : « Contact » en bouton (classe menu-cta sur l'élément de menu) */
@media screen and (min-width: 1141px) {
	.onepress-menu > li.menu-cta > a {
		display: inline-block;
		vertical-align: middle; /* centré dans la ligne de 75 px de l'en-tête */
		margin-left: 8px;
		padding: 0 20px;
		border-radius: 8px;
		background: var(--smsreflex-yellow, #F5BC00);
		color: var(--smsreflex-darkblue, #002068) !important;
		line-height: 40px;
	}

	.onepress-menu > li.menu-cta > a:hover {
		background: #E0AC00;
		text-decoration: none;
	}
}

/* Bouton fixe mobile */
.home-sticky-cta {
	display: none;
}

@media (max-width: 767px) {
	.home-sticky-cta:not([hidden]) {
		position: fixed;
		left: 16px;
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom));
		z-index: 900;
		display: flex;
		align-items: center;
		justify-content: center;
		min-height: 52px;
		border-radius: 10px;
		background: var(--smsreflex-yellow, #F5BC00);
		color: var(--smsreflex-darkblue, #002068);
		font-family: "Raleway", Helvetica, Arial, sans-serif;
		font-weight: 800;
		font-size: 1.0625rem;
		text-decoration: none;
		box-shadow: 0 10px 24px -8px rgba(0, 32, 104, 0.45);
	}

	.home-sticky-cta:focus-visible {
		outline: 2px solid var(--smsreflex-darkblue, #002068);
		outline-offset: 3px;
	}
}

@media (max-width: 991px) {
	.home-solutions__grid {
		grid-template-columns: minmax(0, 1fr);
		max-width: 560px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 640px) {
	.hero-proof {
		flex-direction: column;
		align-items: center;
		gap: 6px;
		font-size: 0.875rem;
	}
}

/* Hero sur mobile : le parent ne laisse aucune marge latérale (padding: 10% 0),
   le sous-titre touchait les bords de l'écran. */
@media (max-width: 767px) {
	.hero-slideshow-normal .container {
		padding-left: 16px;
		padding-right: 16px;
	}

	.hero__content {
		max-width: 100%;
		overflow-wrap: break-word;
	}

	.hero-content-style1 .hero-small-text p {
		font-size: 15px;
		line-height: 1.5;
	}

	.hero-content-style1 .btn {
		display: block;
		width: 100%;
		margin: 0 0 12px;
	}
}
