/**
 * Styles des blocs natifs Gutenberg (Air Tech Climatisation).
 *
 * Chargé sur le front ET dans l'éditeur. CSS autonome (pas de Tailwind) : les
 * variables de marque sont redéfinies ici pour que l'aperçu de l'éditeur soit
 * fidèle même sans la feuille Tailwind.
 *
 * Styles enregistrés (register_block_style) ciblés via .is-style-* :
 *   core/cover     → .is-style-hero        (bannière pleine largeur)
 *   core/group     → .is-style-rating-card (carte d'avis « glass »)
 *   core/button    → .is-style-primary     (doré) / .is-style-secondary (contour)
 *   core/paragraph → .is-style-eyebrow      (sur-titre)
 */

:root {
	--atc-navy: #1a2640;
	--atc-gold: #f5a623;
	--atc-gold-dark: #d98e16;
	--atc-sky: #38bdf8;
	--atc-surface: #f4f7fb;
	--atc-muted2: #5a6b85;
	--atc-heading: "Poppins", ui-sans-serif, system-ui, -apple-system,
		"Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* ===================================================================== *
 * Pleine largeur (déborde du conteneur max-w du <main>)
 * ===================================================================== */
.alignfull {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

/* ===================================================================== *
 * core/cover — .is-style-hero
 * ===================================================================== */
.wp-block-cover.is-style-hero {
	min-height: 100vh;
	align-items: center;
	padding-top: 70px; /* sous la navbar fixe (h-[70px]) */
	overflow: hidden;
}

/* Bannière collée sous la navbar fixe : annule le padding-top du <main id="content">
   (pt-[110px]). Limité au front : l'éditeur n'a pas de #content. */
#content > .wp-block-cover.is-style-hero {
	margin-top: -110px;
}

/* Voile, posé sur l'overlay natif du cover (au-dessus de l'image, sous le
   contenu). De haut en bas : halos d'angle (bleu / doré), double quadrillage
   diagonal, puis dégradé navy gauche→droite (lisibilité du texte). */
.wp-block-cover.is-style-hero > .wp-block-cover__background {
	background-image: linear-gradient(135deg, #5bb3e80f, #0000 40%),
		linear-gradient(225deg, #f5a6230f, #0000 40%),
		repeating-linear-gradient(
			45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		),
		repeating-linear-gradient(
			-45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		),
		linear-gradient(
			to right,
			var(--atc-navy) 0%,
			color-mix(in srgb, var(--atc-navy) 85%, transparent) 55%,
			color-mix(in srgb, var(--atc-navy) 40%, transparent) 100%
		);
	opacity: 1;
}

/* Conteneur de contenu centré (max 80rem) au-dessus du voile. */
.wp-block-cover.is-style-hero > .wp-block-cover__inner-container {
	position: relative;
	z-index: 2;
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
}
@media (min-width: 768px) {
	.wp-block-cover.is-style-hero > .wp-block-cover__inner-container {
		padding-inline: 2.5rem;
	}
}

/* Indicateur de défilement décoratif (chevron doré qui rebondit). */
.wp-block-cover.is-style-hero::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 2rem;
	transform: translateX(-50%);
	width: 30px;
	height: 30px;
	z-index: 3;
	pointer-events: none;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 24 24' fill='none' stroke='%23f5a623' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	animation: atc-bounce-soft 2s ease-in-out infinite;
}

/* Typographie du contenu hero. */
.wp-block-cover.is-style-hero h1.wp-block-heading {
	font-family: var(--atc-heading);
	color: #fff;
	font-weight: 700;
	line-height: 1.04;
	letter-spacing: -0.02em;
	font-size: clamp(2.5rem, 5.5vw, 4.5rem);
	max-width: 16ch;
	margin: 1.5rem 0 0;
}
.wp-block-cover.is-style-hero h1.wp-block-heading mark {
	background: transparent;
	color: var(--atc-gold);
}

/* Description (classe utilitaire posée sur le paragraphe). */
.wp-block-cover.is-style-hero .atc-lead {
	color: rgb(255 255 255 / 0.75);
	font-size: 1.125rem;
	max-width: 36rem;
	margin: 2rem 0 0;
}

.wp-block-cover.is-style-hero .wp-block-buttons {
	margin-top: 2.5rem;
	gap: 1rem;
}

/* ===================================================================== *
 * core/paragraph — .is-style-eyebrow
 * ===================================================================== */
.is-style-eyebrow {
	display: inline-block;
	color: var(--atc-sky);
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin: 0;
}

/* ===================================================================== *
 * core/button — .is-style-primary (doré) / .is-style-secondary (contour)
 * ===================================================================== */
.wp-block-button.is-style-primary > .wp-block-button__link {
	background-color: var(--atc-gold);
	color: var(--atc-navy);
	border: 0;
	border-radius: 0.5rem;
	font-weight: 600;
	padding: 0.7rem 1.4rem;
	transition: background-color 0.2s ease;
}
.wp-block-button.is-style-primary > .wp-block-button__link:hover {
	background-color: var(--atc-gold-dark);
}
.wp-block-button.is-style-secondary > .wp-block-button__link {
	background-color: transparent;
	color: #fff;
	border: 1px solid rgb(255 255 255 / 0.3);
	border-radius: 0.5rem;
	font-weight: 600;
	padding: 0.7rem 1.4rem;
	transition: background-color 0.2s ease, border-color 0.2s ease;
}
.wp-block-button.is-style-secondary > .wp-block-button__link:hover {
	background-color: rgb(255 255 255 / 0.08);
	border-color: rgb(255 255 255 / 0.55);
}

/* ===================================================================== *
 * core/group — .is-style-rating-card (carte « glass »)
 * ===================================================================== */
.wp-block-group.is-style-rating-card {
	background-color: rgb(255 255 255 / 0.05);
	-webkit-backdrop-filter: blur(12px);
	backdrop-filter: blur(12px);
	border: 1px solid rgb(255 255 255 / 0.1);
	border-radius: 1.5rem;
	padding: 2rem;
	color: rgb(255 255 255 / 0.8);
}
.is-style-rating-card .atc-stars {
	color: var(--atc-gold);
	letter-spacing: 0.15em;
	font-size: 1.15rem;
	margin: 0 0 0.75rem;
}
.is-style-rating-card .atc-rating {
	color: #fff;
	font-family: var(--atc-heading);
	font-size: 2.25rem;
	font-weight: 700;
	margin: 0;
}
.is-style-rating-card .atc-rating mark {
	background: transparent;
	color: var(--atc-gold);
}
.is-style-rating-card .atc-muted {
	color: rgb(255 255 255 / 0.6);
	font-size: 0.875rem;
	margin: 0.25rem 0 0;
}
.is-style-rating-card .atc-divider {
	border: 0;
	border-top: 1px solid rgb(255 255 255 / 0.1);
	margin: 1.25rem 0;
}
.is-style-rating-card .atc-quote {
	color: rgb(255 255 255 / 0.8);
	font-size: 0.875rem;
	margin: 0;
}
.is-style-rating-card .atc-author {
	color: rgb(255 255 255 / 0.5);
	font-size: 0.75rem;
	margin: 0.5rem 0 0;
}

/* Masque la carte d'avis sous 1024px (comme « hidden lg:block »). */
@media (max-width: 1023px) {
	.wp-block-group.is-style-rating-card {
		display: none;
	}
}

/* ===================================================================== *
 * core/group — .is-style-stats (section) + .atc-stats-grid + .is-style-stat-card
 * ===================================================================== */
.wp-block-group.is-style-stats {
	background-color: var(--atc-surface);
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-stats {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
}

/* Grille centrée : 2 colonnes (mobile) → 4 colonnes (≥768px).
   Thème classique (sans theme.json) : WordPress réinjecte au rendu front un
   .wp-block-group__inner-container autour du contenu des groupes. On le rend
   transparent (display:contents) pour que les cartes soient des items directs
   de la grille — fonctionne aussi dans l'éditeur, où ce wrapper n'existe pas. */
.atc-stats-grid {
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
}
@media (min-width: 768px) {
	.atc-stats-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		padding-inline: 2.5rem;
	}
}
.atc-stats-grid > .wp-block-group__inner-container {
	display: contents;
}
/* Annule les marges de flux que WP ajoute aux frères, qui décaleraient les
   items dans leurs cellules de grille. */
.atc-stats-grid > *,
.atc-stats-grid > .wp-block-group__inner-container > * {
	margin-block: 0;
}

.wp-block-group.is-style-stat-card {
	background-color: #fff;
	padding: 1.75rem;
	border-radius: 1rem;
	border-left: 4px solid var(--atc-gold);
	box-shadow: 0 4px 20px rgb(26 38 64 / 0.04);
}
.is-style-stat-card .atc-stat-number {
	font-family: var(--atc-heading);
	color: var(--atc-gold);
	font-weight: 700;
	line-height: 1;
	font-size: clamp(2.25rem, 4vw, 3rem);
	margin: 0;
}
.is-style-stat-card .atc-stat-label {
	color: var(--atc-muted2);
	font-size: 0.875rem;
	margin: 0.5rem 0 0;
}

/* ===================================================================== *
 * Section services — core/group .is-style-services + .is-style-service-card
 * ===================================================================== */
.wp-block-group.is-style-services {
	background-color: #fff;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-services {
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
}

/* Conteneur centré réutilisable (max 80rem). */
.atc-section-inner {
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
}
@media (min-width: 768px) {
	.atc-section-inner {
		padding-inline: 2.5rem;
	}
}

/* En-tête de section. */
.atc-services-head {
	max-width: 42rem;
	margin-bottom: 3.5rem;
}
.is-style-services h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
	margin: 1rem 0 0;
}

/* Grille des cartes : 1 colonne → 2 colonnes (≥768px). */
.atc-services-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2rem;
}
@media (min-width: 768px) {
	.atc-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.atc-services-grid > .wp-block-group__inner-container {
	display: contents;
}
.atc-services-grid > *,
.atc-services-grid > .wp-block-group__inner-container > * {
	margin-block: 0;
}

/* Carte service (entièrement cliquable via le lien étiré). */
.wp-block-group.is-style-service-card {
	position: relative;
	background-color: var(--atc-surface);
	border-radius: 1.5rem;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.wp-block-group.is-style-service-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px -22px rgb(26 38 64 / 0.28);
}
/* Supprime le gap de flux entre l'image et le corps. */
.is-style-service-card > .wp-block-group__inner-container > * {
	margin-block: 0;
}

/* Image de couverture (zoom au survol). */
.atc-service-cover {
	margin: 0;
	height: 14rem;
	overflow: hidden;
	background-color: var(--atc-navy);
}
.atc-service-cover img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0.9;
	transition: transform 0.5s ease;
}
.is-style-service-card:hover .atc-service-cover img {
	transform: scale(1.06);
}

/* Corps de la carte. */
.atc-service-body {
	padding: 2rem;
}
.atc-service-icon {
	width: 3.5rem;
	height: 3.5rem;
	border-radius: 1rem;
	background: #fff;
	color: var(--atc-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
	box-shadow: 0 1px 3px rgb(0 0 0 / 0.08);
}
.atc-service-title {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: 1.5rem;
	margin: 0;
}
.atc-service-desc {
	color: var(--atc-muted2);
	margin: 0.75rem 0 0;
}
.atc-service-more {
	margin: 1.5rem 0 0;
}
.atc-service-more a {
	display: inline-flex;
	align-items: center;
	color: var(--atc-sky);
	font-weight: 600;
	text-decoration: none;
	padding-right: 1.6rem;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2338bdf8' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7h10v10'/%3E%3Cpath d='M7 17 17 7'/%3E%3C/svg%3E")
		no-repeat right center / 1.05rem;
}
/* Lien étiré : rend toute la carte cliquable. */
.atc-service-more a::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 2;
}

/* ===================================================================== *
 * Section « Pourquoi nous choisir » — .is-style-why-us + .is-style-why-card
 * ===================================================================== */
.wp-block-group.is-style-why-us {
	position: relative;
	overflow: hidden;
	background-color: var(--atc-navy);
	color: #fff;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-why-us {
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
}

/* Motif décoratif (halos d'angle + double quadrillage diagonal) à 50 %. */
.wp-block-group.is-style-why-us::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.5;
	background-image: linear-gradient(135deg, #5bb3e80f, #0000 40%),
		linear-gradient(225deg, #f5a6230f, #0000 40%),
		repeating-linear-gradient(
			45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		),
		repeating-linear-gradient(
			-45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		);
}

/* Contenu au-dessus du motif. */
.is-style-why-us .atc-section-inner {
	position: relative;
	z-index: 1;
}

/* En-tête : sur-titre doré (et non bleu) + titre blanc. */
.is-style-why-us .is-style-eyebrow {
	color: var(--atc-gold);
}
.is-style-why-us h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: #fff;
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
	margin: 1rem 0 0;
}

/* Grille des atouts : 1 colonne → 3 colonnes (≥768px). */
.atc-why-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.5rem;
}
@media (min-width: 768px) {
	.atc-why-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
.atc-why-grid > .wp-block-group__inner-container {
	display: contents;
}
.atc-why-grid > *,
.atc-why-grid > .wp-block-group__inner-container > * {
	margin-block: 0;
}

/* Carte « atout » : simple filet supérieur + contenu. */
.wp-block-group.is-style-why-card {
	border-top: 1px solid rgb(255 255 255 / 0.1);
	padding-top: 2rem;
}
.is-style-why-card > .wp-block-group__inner-container > * {
	margin-block: 0;
}
.atc-why-icon {
	color: var(--atc-gold);
	margin-bottom: 1.25rem;
	line-height: 0;
}
.is-style-why-card h3.wp-block-heading {
	font-family: var(--atc-heading);
	color: #fff;
	font-weight: 700;
	font-size: 1.25rem;
	margin: 0;
}
.atc-why-desc {
	color: rgb(255 255 255 / 0.65);
	line-height: 1.7;
	margin: 0.75rem 0 0;
}

/* ===================================================================== *
 * Section avis — core/group .is-style-reviews (en-tête seulement ;
 * la note Google et les commentaires sont gérés par un plugin tiers).
 * ===================================================================== */
.wp-block-group.is-style-reviews {
	background-color: var(--atc-surface);
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-reviews {
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
}
.is-style-reviews h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
	margin: 1rem 0 0;
}

/* ===================================================================== *
 * Section FAQ — core/group .is-style-faq (en-tête ; l'accordéon est le
 * bloc custom builder/faq du plugin Builder).
 * ===================================================================== */
.wp-block-group.is-style-faq {
	background-color: #fff;
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-faq {
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
}

/* Conteneur FAQ plus étroit (max 56rem) + en-tête centré. */
.atc-faq-inner {
	width: 100%;
	max-width: 56rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
}
@media (min-width: 768px) {
	.atc-faq-inner {
		padding-inline: 2.5rem;
	}
}
.atc-faq-head {
	text-align: center;
	margin-bottom: 3rem;
}
.is-style-faq h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
	margin: 1rem 0 0;
}

/* ===================================================================== *
 * Section zone d'intervention — core/group .is-style-zone (texte + carte)
 * ===================================================================== */
.wp-block-group.is-style-zone {
	background-color: var(--atc-surface);
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-zone {
		padding-top: 7rem;
		padding-bottom: 7rem;
	}
}

/* Grille centrée : 1 colonne → 2 colonnes (≥1024px), alignées au centre. */
.atc-zone-grid {
	width: 100%;
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: center;
}
@media (min-width: 768px) {
	.atc-zone-grid {
		padding-inline: 2.5rem;
	}
}
@media (min-width: 1024px) {
	.atc-zone-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.atc-zone-grid > .wp-block-group__inner-container {
	display: contents;
}
.atc-zone-grid > *,
.atc-zone-grid > .wp-block-group__inner-container > * {
	margin-block: 0;
}

.is-style-zone h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.15;
	margin: 1rem 0 0;
}
.atc-zone-desc {
	color: var(--atc-muted2);
	max-width: 36rem;
	margin: 1.25rem 0 0;
}

/* Liste des villes : core/list en grille 2 colonnes + puce map-pin dorée. */
.atc-zone-cities {
	list-style: none;
	margin: 2rem 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.75rem;
}
.atc-zone-cities li {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--atc-navy);
}
.atc-zone-cities li::before {
	content: "";
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23f5a623' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 4.993-5.539 10.193-7.399 11.799a1 1 0 0 1-1.202 0C9.539 20.193 4 14.993 4 10a8 8 0 0 1 16 0'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}

/* Carte OpenStreetMap. */
.atc-zone-map {
	height: 420px;
	border-radius: 1.5rem;
	overflow: hidden;
	background-color: var(--atc-navy);
}
.atc-zone-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ===================================================================== *
 * Bande CTA — core/group .is-style-cta (navy, centrée, boutons + icônes)
 * ===================================================================== */
.wp-block-group.is-style-cta {
	position: relative;
	overflow: hidden;
	background-color: var(--atc-navy);
	padding-top: 5rem;
	padding-bottom: 5rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-cta {
		padding-top: 6rem;
		padding-bottom: 6rem;
	}
}

/* Motif décoratif à 40 %. */
.wp-block-group.is-style-cta::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.4;
	background-image: linear-gradient(135deg, #5bb3e80f, #0000 40%),
		linear-gradient(225deg, #f5a6230f, #0000 40%),
		repeating-linear-gradient(
			45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		),
		repeating-linear-gradient(
			-45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		);
}

.atc-cta-inner {
	position: relative;
	z-index: 1;
	max-width: 56rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	text-align: center;
}
.is-style-cta h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: #fff;
	font-weight: 700;
	font-size: clamp(1.875rem, 4vw, 3rem);
	line-height: 1.15;
	margin: 0;
}
.is-style-cta h2.wp-block-heading mark {
	background: transparent;
	color: var(--atc-gold);
}
.atc-cta-desc {
	color: rgb(255 255 255 / 0.7);
	max-width: 36rem;
	margin: 1.25rem auto 0;
}
.is-style-cta .wp-block-buttons {
	justify-content: center;
	margin-top: 2.25rem;
	gap: 1rem;
}

/* Icônes des boutons (limitées à la bande CTA). */
.is-style-cta .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
}
.is-style-cta .wp-block-button.is-style-primary > .wp-block-button__link::after {
	content: "";
	width: 18px;
	height: 18px;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%231a2640' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
}
.is-style-cta .wp-block-button.is-style-secondary > .wp-block-button__link::before {
	content: "";
	width: 18px;
	height: 18px;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.832 16.568a1 1 0 0 0 1.213-.303l.355-.465A2 2 0 0 1 17 15h3a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2A18 18 0 0 1 2 4a2 2 0 0 1 2-2h3a2 2 0 0 1 2 2v3a2 2 0 0 1-.8 1.6l-.468.351a1 1 0 0 0-.292 1.233 14 14 0 0 0 6.392 6.384'/%3E%3C/svg%3E");
}

/* ===================================================================== *
 * En-tête de page (navy) — core/group .is-style-page-header
 * ===================================================================== */
.wp-block-group.is-style-page-header {
	position: relative;
	overflow: hidden;
	background-color: var(--atc-navy);
	color: #fff;
	padding-top: calc(70px + 3.5rem);
	padding-bottom: 3.5rem;
	text-align: center;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-page-header {
		padding-top: calc(70px + 5rem);
		padding-bottom: 5rem;
	}
}
/* Collé sous la navbar fixe : annule le padding-top du <main id="content">. */
#content > .wp-block-group.is-style-page-header {
	margin-top: -110px;
}
.wp-block-group.is-style-page-header::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	opacity: 0.5;
	background-image: linear-gradient(135deg, #5bb3e80f, #0000 40%),
		linear-gradient(225deg, #f5a6230f, #0000 40%),
		repeating-linear-gradient(
			45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		),
		repeating-linear-gradient(
			-45deg,
			hsla(0, 0%, 100%, 0.025),
			hsla(0, 0%, 100%, 0.025) 1px,
			#0000 0,
			#0000 24px
		);
}
.is-style-page-header .atc-section-inner {
	position: relative;
	z-index: 1;
	max-width: 56rem;
}
.is-style-page-header .is-style-eyebrow {
	color: var(--atc-gold);
}
.is-style-page-header h1.wp-block-heading {
	font-family: var(--atc-heading);
	color: #fff;
	font-weight: 700;
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	line-height: 1.1;
	margin: 1rem 0 0;
}
.is-style-page-header .atc-page-header-desc {
	color: rgb(255 255 255 / 0.7);
	max-width: 40rem;
	margin: 1.25rem auto 0;
}

/* ===================================================================== *
 * Section contact — core/group .is-style-contact (coordonnées + formulaire)
 * ===================================================================== */
.wp-block-group.is-style-contact {
	background-color: #fff;
	padding-top: 4rem;
	padding-bottom: 4rem;
}
@media (min-width: 768px) {
	.wp-block-group.is-style-contact {
		padding-top: 5.5rem;
		padding-bottom: 5.5rem;
	}
}

/* Grille : 1 colonne → infos / formulaire (≥1024px). */
.atc-contact-grid {
	max-width: 80rem;
	margin-inline: auto;
	padding-inline: 1.5rem;
	display: grid;
	grid-template-columns: 1fr;
	gap: 3rem;
	align-items: start;
}
@media (min-width: 768px) {
	.atc-contact-grid {
		padding-inline: 2.5rem;
	}
}
@media (min-width: 1024px) {
	.atc-contact-grid {
		grid-template-columns: 5fr 6fr;
		gap: 4rem;
	}
}
.atc-contact-grid > .wp-block-group__inner-container {
	display: contents;
}
.atc-contact-grid > *,
.atc-contact-grid > .wp-block-group__inner-container > * {
	margin-block: 0;
}

.is-style-contact h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: 1.75rem;
	margin: 0 0 1.5rem;
}
.atc-contact-info > .wp-block-group__inner-container > *,
.atc-contact-form > .wp-block-group__inner-container > * {
	margin-block: 0;
}
.atc-contact-info h3.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: 1.1rem;
	margin: 2rem 0 1rem;
}

/* Formulaire encapsulé dans une carte « surface ». */
.atc-contact-form {
	background-color: var(--atc-surface);
	border-radius: 1.5rem;
	padding: 2rem;
}
@media (min-width: 768px) {
	.atc-contact-form {
		padding: 2.5rem;
	}
}

/* ===================================================================== *
 * Pages services (Climatisation & sous-pages) — classes utilitaires
 * ===================================================================== */

/* Fil d'Ariane dans l'en-tête navy. */
.atc-breadcrumb {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.875rem;
	color: rgb(255 255 255 / 0.6);
	margin: 0 0 1.25rem;
}
.atc-breadcrumb a {
	color: inherit;
	text-decoration: none;
	transition: color 0.2s ease;
}
.atc-breadcrumb a:hover {
	color: var(--atc-gold);
}
.atc-breadcrumb__current {
	color: rgb(255 255 255 / 0.8);
}

/* Fil d'Ariane Rank Math, habillé pour l'en-tête navy. */
.is-style-page-header .rank-math-breadcrumb {
	margin: 0 0 1.25rem;
	font-size: 0.875rem;
}
.is-style-page-header .rank-math-breadcrumb p {
	margin: 0;
	color: rgb(255 255 255 / 0.6);
}
.is-style-page-header .rank-math-breadcrumb a {
	color: rgb(255 255 255 / 0.6);
	text-decoration: none;
	transition: color 0.2s ease;
}
.is-style-page-header .rank-math-breadcrumb a:hover {
	color: var(--atc-gold);
}
.is-style-page-header .rank-math-breadcrumb .last {
	color: rgb(255 255 255 / 0.8);
}
.is-style-page-header .rank-math-breadcrumb .separator {
	color: rgb(255 255 255 / 0.35);
	margin: 0 0.4rem;
}

/* En-tête de page aligné à gauche (variante de is-style-page-header). */
.is-style-page-header .atc-section-inner.atc-header-left {
	text-align: left;
	max-width: 80rem;
}
.is-style-page-header .atc-header-left h1.wp-block-heading {
	font-size: clamp(2.25rem, 5vw, 3.5rem);
}
.is-style-page-header .atc-header-left .atc-page-header-desc {
	margin-left: 0;
	margin-right: 0;
	max-width: 42rem;
}

/* Grille services à 3 colonnes (réutilise .atc-services-grid). */
@media (min-width: 768px) {
	.atc-services-grid.atc-grid-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

/* Tuile de service cliquable (icône + titre + desc + lien étiré). */
.wp-block-group.atc-svc-tile {
	position: relative;
	background-color: #fff;
	border-radius: 1rem;
	padding: 2rem;
	height: 100%;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.wp-block-group.atc-svc-tile:hover {
	transform: translateY(-6px);
	box-shadow: 0 22px 44px -22px rgb(26 38 64 / 0.25);
}
.atc-svc-tile > .wp-block-group__inner-container > * {
	margin-block: 0;
}
.atc-svc-tile__icon {
	width: 3rem;
	height: 3rem;
	border-radius: 0.75rem;
	background-color: var(--atc-navy);
	color: var(--atc-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1.25rem;
}
.atc-svc-tile h3.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: 1.25rem;
	margin: 0;
}
.atc-svc-tile p {
	color: var(--atc-muted2);
	margin: 0.75rem 0 0;
	line-height: 1.6;
}
.atc-svc-tile__more {
	margin: 1.25rem 0 0;
}
.atc-svc-tile__more a {
	color: var(--atc-sky);
	font-weight: 600;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}
.atc-svc-tile__more a::after {
	content: "";
	position: absolute;
	inset: 0;
}

/* Sections de contenu génériques. */
.wp-block-group.atc-page-section {
	padding-top: 4rem;
	padding-bottom: 4rem;
}
@media (min-width: 768px) {
	.wp-block-group.atc-page-section {
		padding-top: 5.5rem;
		padding-bottom: 5.5rem;
	}
}
.wp-block-group.atc-page-section.atc-surface {
	background-color: var(--atc-surface);
}
.atc-page-section h2.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: clamp(1.875rem, 4vw, 2.75rem);
	line-height: 1.15;
	margin: 0.75rem 0 1.5rem;
}
.atc-page-section h3.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: 1.35rem;
	margin: 2rem 0 0.75rem;
}
.atc-page-section p {
	color: var(--atc-muted2);
	line-height: 1.7;
}
/* Espace au-dessus du bouton CTA d'intro (« Étudier mon projet »). */
.atc-page-section .wp-block-buttons {
	margin-top: 2.5rem;
}
.atc-section-head {
	max-width: 42rem;
	margin-bottom: 3.5rem;
}
.atc-section-head.atc-center {
	margin-inline: auto;
	text-align: center;
}

/* Intro 2 colonnes : image arrondie. */
.atc-rounded-img img {
	border-radius: 1.5rem;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Liste à puces « check » dorées (contenu des sous-pages). */
.atc-check-list {
	list-style: none;
	margin: 1.25rem 0;
	padding: 0;
}
.atc-check-list li {
	position: relative;
	padding-left: 1.9rem;
	margin: 0.6rem 0;
	color: var(--atc-navy);
	line-height: 1.6;
}
.atc-check-list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.2rem;
	width: 1.2rem;
	height: 1.2rem;
	background: center / contain no-repeat
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24' fill='none' stroke='%23f5a623' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}

/* Bloc prose centré pour le corps des sous-pages. */
.atc-prose {
	max-width: 50rem;
}

/* Paragraphe d'accroche (lead). */
.atc-page-section .atc-intro-lead {
	color: var(--atc-navy);
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1.6;
}

/* Check-list en 2 colonnes (≥768px). */
@media (min-width: 768px) {
	.atc-check-list.atc-2col {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0.4rem 2.5rem;
	}
}

/* Grille de cartes « atout / feature ». */
.atc-feature-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 640px) {
	.atc-feature-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (min-width: 1024px) {
	.atc-feature-grid.atc-grid-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.atc-feature-grid.atc-grid-4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}
.atc-feature-grid > .wp-block-group__inner-container {
	display: contents;
}
.atc-feature-grid > *,
.atc-feature-grid > .wp-block-group__inner-container > * {
	margin-block: 0;
}
.wp-block-group.atc-feature {
	background-color: var(--atc-surface);
	border-radius: 1rem;
	padding: 1.75rem;
	height: 100%;
}
.atc-feature > .wp-block-group__inner-container > * {
	margin-block: 0;
}
.atc-feature__icon {
	width: 2.75rem;
	height: 2.75rem;
	border-radius: 0.75rem;
	background-color: var(--atc-navy);
	color: var(--atc-gold);
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
}
.atc-feature h3.wp-block-heading {
	font-family: var(--atc-heading);
	color: var(--atc-navy);
	font-weight: 700;
	font-size: 1.1rem;
	margin: 0;
}
.atc-feature p {
	color: var(--atc-muted2);
	margin: 0.5rem 0 0;
	font-size: 0.9rem;
	line-height: 1.6;
}

@keyframes atc-bounce-soft {
	0%,
	100% {
		transform: translateX(-50%) translateY(0);
	}
	50% {
		transform: translateX(-50%) translateY(6px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.wp-block-cover.is-style-hero::after {
		animation: none;
	}
}
