/**
 * Amansante — feuille de style principale.
 *
 * Sommaire
 *  1.  Jetons de design
 *  2.  Base & typographie
 *  3.  Utilitaires & accessibilité
 *  4.  Boutons, badges, liens
 *  5.  Formulaires
 *  6.  En-tête, navigation, tiroir mobile
 *  7.  Sections & en-têtes de page
 *  8.  Bannière d'accueil
 *  9.  Cartes (catégories, engagements, articles)
 *  10. Étapes, témoignages, appel à l'action
 *  11. Contenu long (prose), article, commentaires
 *  12. Barres latérales & widgets
 *  13. Pagination, fil d'Ariane, états vides, 404
 *  14. Pied de page
 *  15. Bouton WhatsApp flottant
 *  16. Compatibilité Elementor
 */

/* ==========================================================================
   1. Jetons de design
   ========================================================================== */

:root {
	/* Couleurs — surchargées par le Customizer via inc/enqueue.php */
	--am-forest: #14452F;
	--am-sage: #2F6B4F;
	--am-terracotta: #C7734A;
	--am-cream: #F7F3EA;

	--am-forest-rgb: 20, 69, 47;
	--am-sage-rgb: 47, 107, 79;
	--am-terracotta-rgb: 199, 115, 74;

	--am-forest-deep: color-mix(in srgb, var(--am-forest) 80%, #000);
	--am-sage-soft: color-mix(in srgb, var(--am-sage) 14%, #fff);
	--am-cream-deep: color-mix(in srgb, var(--am-cream) 82%, var(--am-forest));
	--am-terracotta-deep: color-mix(in srgb, var(--am-terracotta) 82%, #000);

	--am-ink: #17201B;
	--am-muted: #5A6660;
	--am-line: rgba(var(--am-forest-rgb), 0.14);
	--am-line-soft: rgba(var(--am-forest-rgb), 0.08);
	--am-white: #FFFFFF;
	--am-surface: #FFFFFF;
	--am-danger: #B3261E;
	--am-success: #2F6B4F;
	--am-whatsapp: #1FA855;

	/* Typographie */
	--am-font-display: "Fraunces", "Iowan Old Style", "Palatino Linotype", Georgia, serif;
	--am-font-sans: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;

	--am-fs-xs: 0.8125rem;
	--am-fs-sm: 0.875rem;
	--am-fs-base: 1rem;
	--am-fs-md: 1.0625rem;
	--am-fs-lg: clamp(1.125rem, 0.4vw + 1rem, 1.25rem);
	--am-fs-h4: clamp(1.125rem, 0.5vw + 1rem, 1.35rem);
	--am-fs-h3: clamp(1.3rem, 0.8vw + 1.05rem, 1.7rem);
	--am-fs-h2: clamp(1.7rem, 1.8vw + 1.2rem, 2.6rem);
	--am-fs-h1: clamp(2.1rem, 3.2vw + 1.2rem, 3.6rem);

	/* Espacements */
	--am-sp-1: 0.25rem;
	--am-sp-2: 0.5rem;
	--am-sp-3: 0.75rem;
	--am-sp-4: 1rem;
	--am-sp-5: 1.5rem;
	--am-sp-6: 2rem;
	--am-sp-7: 3rem;
	--am-sp-8: 4rem;
	--am-section-y: clamp(3.5rem, 6vw, 6.5rem);

	/* Formes */
	--am-r-sm: 10px;
	--am-r: 16px;
	--am-r-lg: 24px;
	--am-r-xl: 36px;
	--am-r-pill: 999px;

	--am-shadow-sm: 0 1px 2px rgba(var(--am-forest-rgb), 0.06), 0 2px 8px rgba(var(--am-forest-rgb), 0.05);
	--am-shadow: 0 2px 6px rgba(var(--am-forest-rgb), 0.06), 0 12px 32px rgba(var(--am-forest-rgb), 0.09);
	--am-shadow-lg: 0 4px 12px rgba(var(--am-forest-rgb), 0.08), 0 28px 60px rgba(var(--am-forest-rgb), 0.14);

	--am-container: 1240px;
	--am-prose: 72ch;
	--am-header-h: 76px;

	--am-ease: cubic-bezier(0.22, 0.61, 0.36, 1);
	--am-t: 220ms var(--am-ease);
}

/* Repli si color-mix n'est pas supporté (navigateurs anciens). */
@supports not (color: color-mix(in srgb, red 50%, blue)) {
	:root {
		--am-forest-deep: #0D2E1F;
		--am-sage-soft: #EAF2ED;
		--am-cream-deep: #E8E1D0;
		--am-terracotta-deep: #A45C39;
	}
}

/* ==========================================================================
   2. Base & typographie
   ========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
	scroll-padding-top: calc(var(--am-header-h) + 1rem);
}

body {
	margin: 0;
	background: var(--am-cream);
	color: var(--am-ink);
	font-family: var(--am-font-sans);
	font-size: var(--am-fs-md);
	line-height: 1.65;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	overflow-wrap: break-word;
}

body.am-no-scroll {
	overflow: hidden;
}

img,
svg,
video,
iframe {
	max-width: 100%;
	height: auto;
	display: block;
}

h1, h2, h3, h4, h5, h6 {
	margin: 0 0 var(--am-sp-4);
	font-family: var(--am-font-display);
	font-weight: 600;
	line-height: 1.14;
	letter-spacing: -0.015em;
	color: var(--am-forest);
	font-variation-settings: "SOFT" 0, "WONK" 0;
}

h1 { font-size: var(--am-fs-h1); }
h2 { font-size: var(--am-fs-h2); }
h3 { font-size: var(--am-fs-h3); }
h4 { font-size: var(--am-fs-h4); }
h5, h6 { font-size: var(--am-fs-lg); }

p {
	margin: 0 0 var(--am-sp-4);
}

a {
	color: var(--am-sage);
	text-decoration-color: rgba(var(--am-sage-rgb), 0.35);
	text-underline-offset: 3px;
	transition: color var(--am-t), text-decoration-color var(--am-t);
}

a:hover {
	color: var(--am-terracotta);
	text-decoration-color: currentColor;
}

:focus-visible {
	outline: 2px solid var(--am-terracotta);
	outline-offset: 3px;
	border-radius: 4px;
}

hr {
	border: 0;
	border-top: 1px solid var(--am-line);
	margin: var(--am-sp-6) 0;
}

::selection {
	background: rgba(var(--am-terracotta-rgb), 0.22);
}

.am-icon {
	flex: none;
}

/* ==========================================================================
   3. Utilitaires & accessibilité
   ========================================================================== */

.am-container {
	width: min(100% - 2.5rem, var(--am-container));
	margin-inline: auto;
}

@media (max-width: 600px) {
	.am-container {
		width: calc(100% - 2rem);
	}
}

.screen-reader-text {
	border: 0;
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute;
	width: 1px;
	white-space: nowrap;
}

.skip-link:focus {
	clip-path: none;
	height: auto;
	width: auto;
	margin: 0;
	position: fixed;
	top: 1rem;
	left: 1rem;
	z-index: 999;
	padding: 0.75rem 1.25rem;
	background: var(--am-forest);
	color: var(--am-white);
	border-radius: var(--am-r-sm);
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}

/* ==========================================================================
   4. Boutons, badges, liens
   ========================================================================== */

.am-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55em;
	padding: 0.95rem 1.6rem;
	border: 1px solid transparent;
	border-radius: var(--am-r-pill);
	font-family: var(--am-font-sans);
	font-size: var(--am-fs-sm);
	font-weight: 600;
	letter-spacing: 0.01em;
	line-height: 1.2;
	text-decoration: none;
	cursor: pointer;
	transition: transform var(--am-t), background-color var(--am-t), color var(--am-t), border-color var(--am-t), box-shadow var(--am-t);
}

.am-btn:hover {
	transform: translateY(-1px);
}

.am-btn:active {
	transform: translateY(0);
}

.am-btn--sm {
	padding: 0.62rem 1.15rem;
	font-size: var(--am-fs-xs);
}

.am-btn--block {
	width: 100%;
}

.am-btn--primary {
	background: var(--am-forest);
	color: var(--am-white);
	box-shadow: 0 6px 18px rgba(var(--am-forest-rgb), 0.22);
}

.am-btn--primary:hover {
	background: var(--am-forest-deep);
	color: var(--am-white);
	box-shadow: 0 10px 26px rgba(var(--am-forest-rgb), 0.28);
}

.am-btn--accent {
	background: var(--am-terracotta);
	color: var(--am-white);
}

.am-btn--accent:hover {
	background: var(--am-terracotta-deep);
	color: var(--am-white);
}

.am-btn--ghost {
	background: transparent;
	color: var(--am-forest);
	border-color: var(--am-line);
}

.am-btn--ghost:hover {
	background: var(--am-white);
	color: var(--am-forest);
	border-color: var(--am-forest);
}

.am-btn--on-dark {
	color: var(--am-cream);
	border-color: rgba(255, 255, 255, 0.3);
}

.am-btn--on-dark:hover {
	background: rgba(255, 255, 255, 0.1);
	color: var(--am-white);
	border-color: rgba(255, 255, 255, 0.55);
}

.am-btn--whatsapp {
	background: var(--am-whatsapp);
	color: var(--am-white);
	box-shadow: 0 6px 18px rgba(31, 168, 85, 0.28);
}

.am-btn--whatsapp:hover {
	background: #178C46;
	color: var(--am-white);
}

.am-icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	padding: 0;
	border: 0;
	border-radius: var(--am-r-pill);
	background: transparent;
	color: var(--am-forest);
	cursor: pointer;
	transition: background-color var(--am-t), color var(--am-t);
}

.am-icon-btn:hover {
	background: rgba(var(--am-forest-rgb), 0.07);
	color: var(--am-forest);
}

.am-link-arrow {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--am-fs-sm);
	font-weight: 600;
	color: var(--am-forest);
	text-decoration: none;
	white-space: nowrap;
}

.am-link-arrow .am-icon {
	transition: transform var(--am-t);
}

.am-link-arrow:hover {
	color: var(--am-terracotta);
}

.am-link-arrow:hover .am-icon {
	transform: translateX(4px);
}

.am-eyebrow,
.am-badge,
.am-tag {
	display: inline-flex;
	align-items: center;
	gap: 0.45em;
	font-family: var(--am-font-sans);
	font-size: var(--am-fs-xs);
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--am-sage);
}

.am-badge {
	padding: 0.4rem 0.85rem;
	border-radius: var(--am-r-pill);
	background: var(--am-sage-soft);
	letter-spacing: 0.06em;
}

.am-tag {
	padding: 0.25rem 0.7rem;
	border-radius: var(--am-r-pill);
	background: rgba(var(--am-forest-rgb), 0.06);
	color: var(--am-forest);
	font-size: 0.7rem;
	letter-spacing: 0.07em;
	text-decoration: none;
}

.am-tag:hover {
	background: var(--am-forest);
	color: var(--am-white);
}

.am-stars {
	display: inline-flex;
	gap: 2px;
	color: rgba(var(--am-forest-rgb), 0.2);
}

.am-stars i.is-on {
	color: #E0A21C;
}

.am-stars .am-icon {
	fill: currentColor;
	stroke-width: 1;
}

.am-rating {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: var(--am-fs-xs);
	color: var(--am-muted);
}

.am-rating .am-icon {
	color: #E0A21C;
	fill: currentColor;
	stroke-width: 1;
}

.am-rating b {
	color: var(--am-ink);
	font-weight: 600;
}

.am-rating i {
	font-style: normal;
}

/* ==========================================================================
   5. Formulaires
   ========================================================================== */

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="date"],
select,
textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	border: 1px solid var(--am-line);
	border-radius: var(--am-r-sm);
	background: var(--am-white);
	color: var(--am-ink);
	font-family: inherit;
	font-size: var(--am-fs-base);
	line-height: 1.5;
	transition: border-color var(--am-t), box-shadow var(--am-t);
}

input:focus,
select:focus,
textarea:focus {
	outline: none;
	border-color: var(--am-sage);
	box-shadow: 0 0 0 3px rgba(var(--am-sage-rgb), 0.16);
}

textarea {
	min-height: 150px;
	resize: vertical;
}

label {
	display: inline-block;
	margin-bottom: 0.35rem;
	font-size: var(--am-fs-sm);
	font-weight: 500;
	color: var(--am-forest);
}

.am-searchform {
	position: relative;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.am-searchform__icon {
	position: absolute;
	left: 1rem;
	display: flex;
	color: var(--am-muted);
	pointer-events: none;
}

.am-searchform__input {
	padding-left: 2.85rem;
	border-radius: var(--am-r-pill);
}

.am-searchform__submit {
	flex: none;
	padding: 0.85rem 1.4rem;
	border: 0;
	border-radius: var(--am-r-pill);
	background: var(--am-forest);
	color: var(--am-white);
	font-family: inherit;
	font-size: var(--am-fs-sm);
	font-weight: 600;
	cursor: pointer;
	transition: background-color var(--am-t);
}

.am-searchform__submit:hover {
	background: var(--am-forest-deep);
}

/* ==========================================================================
   6. En-tête, navigation, tiroir mobile
   ========================================================================== */

.am-topbar {
	background: var(--am-forest);
	color: rgba(255, 255, 255, 0.82);
	font-size: var(--am-fs-xs);
}

.am-topbar__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--am-sp-4);
	min-height: 40px;
	padding-block: 0.4rem;
}

.am-topbar__message {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	line-height: 1.4;
}

.am-topbar__message .am-icon {
	color: rgba(255, 255, 255, 0.55);
}

.am-topbar__aside {
	display: flex;
	align-items: center;
	gap: var(--am-sp-4);
}

.am-topbar__phone {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	color: var(--am-white);
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.am-topbar__phone:hover {
	color: var(--am-cream);
}

.am-social {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: var(--am-r-pill);
	background: rgba(var(--am-forest-rgb), 0.07);
	color: var(--am-forest);
	text-decoration: none;
	transition: background-color var(--am-t), color var(--am-t);
}

.am-social a:hover {
	background: var(--am-forest);
	color: var(--am-white);
}

.am-topbar .am-social a {
	width: 28px;
	height: 28px;
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.85);
}

.am-topbar .am-social a:hover {
	background: rgba(255, 255, 255, 0.22);
	color: var(--am-white);
}

@media (max-width: 860px) {
	.am-topbar__message {
		display: none;
	}
	.am-topbar__inner {
		justify-content: center;
	}
}

.site-header {
	position: relative;
	z-index: 40;
	background: rgba(247, 243, 234, 0.9);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--am-line-soft);
}

.has-sticky-header .site-header {
	position: sticky;
	top: 0;
}

.site-header.is-stuck {
	box-shadow: 0 6px 24px rgba(var(--am-forest-rgb), 0.09);
}

.site-header__inner {
	display: flex;
	align-items: center;
	gap: var(--am-sp-5);
	min-height: var(--am-header-h);
}

.site-branding {
	flex: none;
	display: flex;
	align-items: center;
}

.site-branding img,
.custom-logo {
	width: auto;
	max-height: 54px;
}

.site-branding__text {
	text-decoration: none;
}

.site-branding__name {
	font-family: var(--am-font-display);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: var(--am-forest);
}

.am-nav {
	flex: 1;
	display: flex;
	justify-content: center;
}

.am-nav__list {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-nav__list li {
	position: relative;
}

.am-nav__list a {
	display: block;
	padding: 0.6rem 0.85rem;
	border-radius: var(--am-r-sm);
	color: var(--am-forest);
	font-size: var(--am-fs-sm);
	font-weight: 500;
	text-decoration: none;
	white-space: nowrap;
	transition: background-color var(--am-t), color var(--am-t);
}

.am-nav__list a:hover,
.am-nav__list .current-menu-item > a,
.am-nav__list .current-menu-ancestor > a,
.am-nav__list .current_page_item > a {
	background: rgba(var(--am-forest-rgb), 0.07);
	color: var(--am-forest);
}

.am-nav__list .menu-item-has-children > a::after {
	content: "";
	display: inline-block;
	width: 0.42em;
	height: 0.42em;
	margin-left: 0.45em;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	opacity: 0.6;
}

.am-nav__list .sub-menu {
	position: absolute;
	top: calc(100% + 0.5rem);
	left: 0;
	z-index: 30;
	min-width: 230px;
	margin: 0;
	padding: 0.4rem;
	list-style: none;
	background: var(--am-white);
	border: 1px solid var(--am-line-soft);
	border-radius: var(--am-r);
	box-shadow: var(--am-shadow);
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity var(--am-t), transform var(--am-t), visibility var(--am-t);
}

.am-nav__list li:hover > .sub-menu,
.am-nav__list li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.am-nav__list .sub-menu a {
	padding: 0.6rem 0.75rem;
	font-size: var(--am-fs-sm);
	white-space: normal;
}

.site-header__actions {
	flex: none;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.site-header__cta {
	margin-left: 0.5rem;
}

.am-cart-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--am-r-pill);
	color: var(--am-forest);
	text-decoration: none;
	transition: background-color var(--am-t);
}

.am-cart-link:hover {
	background: rgba(var(--am-forest-rgb), 0.07);
	color: var(--am-forest);
}

.am-cart-link__count {
	position: absolute;
	top: 3px;
	right: 1px;
	min-width: 19px;
	height: 19px;
	padding: 0 5px;
	border-radius: var(--am-r-pill);
	background: var(--am-terracotta);
	color: var(--am-white);
	font-size: 0.68rem;
	font-weight: 700;
	line-height: 19px;
	text-align: center;
}

.am-cart-link__count.is-empty {
	display: none;
}

.am-burger {
	display: none;
}

@media (max-width: 1024px) {
	.am-nav,
	.site-header__cta,
	.am-account-link {
		display: none;
	}
	.am-burger {
		display: inline-flex;
	}
}

/* Panneau de recherche déroulant */
.am-search-panel {
	position: absolute;
	inset-inline: 0;
	top: 100%;
	z-index: 35;
	padding: var(--am-sp-5) 0;
	background: var(--am-white);
	border-bottom: 1px solid var(--am-line-soft);
	box-shadow: var(--am-shadow);
	animation: am-fade-down 220ms var(--am-ease);
}

@keyframes am-fade-down {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Tiroir mobile */
.am-drawer {
	position: fixed;
	inset: 0;
	z-index: 90;
}

.am-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(var(--am-forest-rgb), 0.45);
	backdrop-filter: blur(3px);
	animation: am-fade-in 200ms var(--am-ease);
}

@keyframes am-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

.am-drawer__panel {
	position: absolute;
	inset-block: 0;
	right: 0;
	width: min(92vw, 400px);
	display: flex;
	flex-direction: column;
	gap: var(--am-sp-5);
	padding: var(--am-sp-5);
	overflow-y: auto;
	background: var(--am-cream);
	box-shadow: var(--am-shadow-lg);
	animation: am-slide-in 260ms var(--am-ease);
}

@keyframes am-slide-in {
	from { transform: translateX(100%); }
	to { transform: translateX(0); }
}

.am-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--am-sp-4);
}

.am-drawer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-drawer__list li + li {
	border-top: 1px solid var(--am-line-soft);
}

.am-drawer__list a {
	display: block;
	padding: 0.85rem 0;
	color: var(--am-forest);
	font-family: var(--am-font-display);
	font-size: 1.2rem;
	font-weight: 500;
	text-decoration: none;
}

.am-drawer__list .sub-menu {
	margin: 0 0 0.5rem;
	padding: 0 0 0.5rem 1rem;
	list-style: none;
	border: 0;
}

.am-drawer__list .sub-menu a {
	padding: 0.5rem 0;
	font-family: var(--am-font-sans);
	font-size: var(--am-fs-sm);
	color: var(--am-muted);
}

.am-drawer__foot {
	margin-top: auto;
	display: grid;
	gap: var(--am-sp-4);
	padding-top: var(--am-sp-5);
	border-top: 1px solid var(--am-line);
}

.am-drawer__phone {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	color: var(--am-forest);
	font-weight: 600;
	text-decoration: none;
}

/* ==========================================================================
   7. Sections & en-têtes de page
   ========================================================================== */

.site-content {
	display: block;
}

.am-section {
	padding-block: var(--am-section-y);
}

.am-section + .am-section {
	padding-top: 0;
}

/* Spécificité doublée pour reprendre le dessus sur « .am-section + .am-section »
   ci-dessus : les bandes blanches gardent leur respiration haute. */
.am-section.am-section--pillars,
.am-section.am-section--steps {
	position: relative;
	padding-block: var(--am-section-y);
	background: var(--am-white);
}

.am-section--pillars + .am-section,
.am-section--steps + .am-section {
	padding-top: var(--am-section-y);
}

.am-section__head {
	max-width: 46rem;
	margin: 0 auto var(--am-sp-7);
	text-align: center;
}

.am-section__head--left {
	margin-inline: 0;
	text-align: left;
}

.am-section__head--split {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: var(--am-sp-5);
	max-width: none;
	text-align: left;
}

.am-section__head--split > div {
	max-width: 42rem;
}

.am-section__title {
	margin-bottom: var(--am-sp-3);
}

.am-section__subtitle {
	margin: 0;
	color: var(--am-muted);
	font-size: var(--am-fs-lg);
	line-height: 1.55;
}

@media (max-width: 700px) {
	.am-section__head--split {
		flex-direction: column;
		align-items: flex-start;
	}
}

.am-page-header {
	position: relative;
	padding-block: clamp(2.5rem, 5vw, 4.5rem) clamp(1.5rem, 3vw, 2.5rem);
	background:
		radial-gradient(120% 140% at 100% 0%, rgba(var(--am-sage-rgb), 0.13) 0%, transparent 55%),
		var(--am-cream);
}

.am-page-header__title {
	max-width: 24ch;
	margin-bottom: var(--am-sp-3);
}

.am-page-header__text {
	max-width: var(--am-prose);
	color: var(--am-muted);
	font-size: var(--am-fs-lg);
}

.am-page-header__text p:last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   8. Bannière d'accueil
   ========================================================================== */

.am-hero {
	position: relative;
	overflow: hidden;
	padding-block: clamp(3rem, 6vw, 5.5rem) clamp(3.5rem, 7vw, 6rem);
	background:
		radial-gradient(90% 120% at 88% 12%, rgba(var(--am-sage-rgb), 0.16) 0%, transparent 58%),
		radial-gradient(70% 90% at 4% 96%, rgba(var(--am-terracotta-rgb), 0.11) 0%, transparent 60%),
		var(--am-cream);
}

.am-hero__inner {
	display: grid;
	grid-template-columns: 1.05fr 0.95fr;
	align-items: center;
	gap: clamp(2rem, 5vw, 4.5rem);
}

.am-hero__title {
	margin-bottom: var(--am-sp-5);
	font-size: var(--am-fs-h1);
	font-weight: 600;
	line-height: 1.04;
	text-wrap: balance;
}

.am-hero__text {
	max-width: 34rem;
	margin-bottom: var(--am-sp-6);
	color: var(--am-muted);
	font-size: var(--am-fs-lg);
	line-height: 1.6;
}

.am-eyebrow {
	margin-bottom: var(--am-sp-4);
}

.am-hero__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--am-sp-3);
	margin-bottom: var(--am-sp-6);
}

.am-hero__trust {
	display: flex;
	flex-wrap: wrap;
	gap: var(--am-sp-2) var(--am-sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-hero__trust li {
	display: flex;
	align-items: center;
	gap: 0.45rem;
	font-size: var(--am-fs-sm);
	color: var(--am-muted);
}

.am-hero__trust .am-icon {
	color: var(--am-sage);
}

.am-hero__media {
	position: relative;
}

.am-hero__frame {
	position: relative;
	overflow: hidden;
	border-radius: 46% 46% 40% 40% / 34% 34% 24% 24%;
	background: var(--am-sage-soft);
	box-shadow: var(--am-shadow-lg);
	aspect-ratio: 4 / 5;
}

.am-hero__frame img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.am-hero__placeholder {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: var(--am-sp-4);
	height: 100%;
	padding: var(--am-sp-6);
	color: var(--am-sage);
	text-align: center;
}

.am-hero__placeholder p {
	max-width: 22rem;
	margin: 0;
	font-size: var(--am-fs-sm);
	opacity: 0.75;
}

.am-hero__stat {
	position: absolute;
	left: -1.5rem;
	bottom: 2rem;
	display: grid;
	gap: 0.15rem;
	padding: 1rem 1.4rem;
	border-radius: var(--am-r);
	background: var(--am-white);
	box-shadow: var(--am-shadow);
}

.am-hero__stat b {
	font-family: var(--am-font-display);
	font-size: 1.9rem;
	line-height: 1;
	color: var(--am-forest);
}

.am-hero__stat span {
	max-width: 12rem;
	font-size: var(--am-fs-xs);
	color: var(--am-muted);
}

@media (max-width: 940px) {
	.am-hero__inner {
		grid-template-columns: 1fr;
	}
	.am-hero__media {
		order: -1;
		max-width: 26rem;
		margin-inline: auto;
	}
	.am-hero__stat {
		left: 0;
	}
}

/* ==========================================================================
   9. Cartes
   ========================================================================== */

/* Catégories */
.am-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: var(--am-sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-cat-card a {
	display: flex;
	align-items: center;
	gap: var(--am-sp-4);
	height: 100%;
	padding: 0.75rem 1rem 0.75rem 0.75rem;
	border: 1px solid var(--am-line-soft);
	border-radius: var(--am-r);
	background: var(--am-white);
	color: var(--am-forest);
	text-decoration: none;
	transition: transform var(--am-t), box-shadow var(--am-t), border-color var(--am-t);
}

.am-cat-card a:hover {
	transform: translateY(-3px);
	border-color: transparent;
	box-shadow: var(--am-shadow);
	color: var(--am-forest);
}

.am-cat-card__media {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	overflow: hidden;
	border-radius: 12px;
	background: var(--am-sage-soft);
	color: var(--am-sage);
}

.am-cat-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.am-cat-card__body {
	flex: 1;
	display: grid;
	gap: 0.1rem;
}

.am-cat-card__name {
	font-family: var(--am-font-display);
	font-size: var(--am-fs-md);
	font-weight: 600;
	line-height: 1.25;
}

.am-cat-card__count {
	font-size: var(--am-fs-xs);
	color: var(--am-muted);
}

.am-cat-card__arrow {
	flex: none;
	display: flex;
	color: rgba(var(--am-forest-rgb), 0.3);
	transition: transform var(--am-t), color var(--am-t);
}

.am-cat-card a:hover .am-cat-card__arrow {
	transform: translateX(3px);
	color: var(--am-terracotta);
}

/* Engagements */
.am-pillars {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: var(--am-sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-pillar {
	padding: var(--am-sp-5);
	border-radius: var(--am-r);
	background: var(--am-cream);
}

.am-pillar__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	margin-bottom: var(--am-sp-4);
	border-radius: 14px;
	background: var(--am-white);
	color: var(--am-sage);
	box-shadow: var(--am-shadow-sm);
}

.am-pillar__title {
	margin-bottom: var(--am-sp-2);
	font-size: var(--am-fs-h4);
}

.am-pillar__text {
	margin: 0;
	color: var(--am-muted);
	font-size: var(--am-fs-sm);
	line-height: 1.6;
}

/* Articles */
.am-post-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--am-sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-post-card {
	display: flex;
}

.am-post-card__link {
	display: flex;
	flex-direction: column;
	width: 100%;
	overflow: hidden;
	border-radius: var(--am-r);
	background: var(--am-white);
	color: inherit;
	text-decoration: none;
	box-shadow: var(--am-shadow-sm);
	transition: transform var(--am-t), box-shadow var(--am-t);
}

.am-post-card__link:hover {
	transform: translateY(-4px);
	box-shadow: var(--am-shadow);
	color: inherit;
}

.am-post-card__media {
	display: block;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	background: var(--am-sage-soft);
}

.am-post-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 500ms var(--am-ease);
}

.am-post-card__link:hover .am-post-card__media img {
	transform: scale(1.04);
}

.am-post-card__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	color: var(--am-sage);
	opacity: 0.5;
}

.am-post-card__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: var(--am-sp-3);
	padding: var(--am-sp-5);
}

.am-post-card__title {
	font-family: var(--am-font-display);
	font-size: var(--am-fs-h4);
	font-weight: 600;
	line-height: 1.24;
	color: var(--am-forest);
	text-wrap: balance;
}

.am-post-card__excerpt {
	color: var(--am-muted);
	font-size: var(--am-fs-sm);
	line-height: 1.6;
}

.am-post-card__more {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: var(--am-sp-2);
	color: var(--am-terracotta);
	font-size: var(--am-fs-sm);
	font-weight: 600;
}

.am-post-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 0.85rem;
	font-size: var(--am-fs-xs);
	color: var(--am-muted);
}

.am-post-meta__read::before {
	content: "·";
	margin-right: 0.6rem;
	opacity: 0.6;
}

/* ==========================================================================
   10. Étapes, témoignages, appel à l'action
   ========================================================================== */

.am-steps-layout {
	display: grid;
	grid-template-columns: 0.85fr 1.15fr;
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
}

.am-steps-layout__intro .am-section__subtitle {
	margin-bottom: var(--am-sp-5);
}

.am-steps {
	display: grid;
	gap: var(--am-sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

.am-step {
	display: flex;
	gap: var(--am-sp-4);
	padding: var(--am-sp-5);
	border-radius: var(--am-r);
	background: var(--am-cream);
}

.am-step__num {
	flex: none;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	border-radius: var(--am-r-pill);
	background: var(--am-forest);
	color: var(--am-white);
	font-family: var(--am-font-display);
	font-size: var(--am-fs-md);
	font-weight: 600;
}

.am-step__title {
	margin-bottom: var(--am-sp-2);
	font-size: var(--am-fs-h4);
}

.am-step__text {
	margin: 0;
	color: var(--am-muted);
	font-size: var(--am-fs-sm);
	line-height: 1.6;
}

@media (max-width: 860px) {
	.am-steps-layout {
		grid-template-columns: 1fr;
	}
}

.am-testimonials {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: var(--am-sp-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-testimonial {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: var(--am-sp-3);
	padding: var(--am-sp-6) var(--am-sp-5) var(--am-sp-5);
	border: 1px solid var(--am-line-soft);
	border-radius: var(--am-r);
	background: var(--am-white);
}

.am-testimonial__mark {
	position: absolute;
	top: var(--am-sp-4);
	right: var(--am-sp-5);
	color: rgba(var(--am-sage-rgb), 0.18);
}

.am-testimonial__text {
	margin: 0;
	color: var(--am-ink);
	font-family: var(--am-font-display);
	font-size: var(--am-fs-lg);
	font-weight: 400;
	line-height: 1.45;
}

.am-testimonial__meta {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
	margin-top: auto;
	padding-top: var(--am-sp-3);
	border-top: 1px solid var(--am-line-soft);
	font-size: var(--am-fs-xs);
}

.am-testimonial__meta b {
	color: var(--am-forest);
	font-size: var(--am-fs-sm);
	font-weight: 600;
}

.am-testimonial__meta a {
	color: var(--am-muted);
	text-decoration: none;
}

.am-testimonial__meta a:hover {
	color: var(--am-terracotta);
}

.am-cta {
	display: grid;
	grid-template-columns: 1.1fr 0.9fr;
	gap: clamp(2rem, 5vw, 4rem);
	padding: clamp(2.25rem, 5vw, 3.75rem);
	border-radius: var(--am-r-xl);
	background:
		radial-gradient(80% 120% at 100% 0%, rgba(var(--am-terracotta-rgb), 0.3) 0%, transparent 55%),
		var(--am-forest);
	color: rgba(255, 255, 255, 0.85);
}

.am-cta__title {
	color: var(--am-white);
	margin-bottom: var(--am-sp-3);
}

.am-cta__text {
	margin-bottom: var(--am-sp-6);
	font-size: var(--am-fs-lg);
	line-height: 1.55;
}

.am-cta__actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--am-sp-3);
}

.am-cta__info {
	display: grid;
	gap: var(--am-sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
	align-content: center;
}

.am-cta__info li {
	display: flex;
	gap: var(--am-sp-4);
	padding-bottom: var(--am-sp-4);
	border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.am-cta__info li:last-child {
	padding-bottom: 0;
	border-bottom: 0;
}

.am-cta__info .am-icon {
	flex: none;
	margin-top: 2px;
	color: rgba(255, 255, 255, 0.55);
}

.am-cta__info b {
	display: block;
	color: var(--am-white);
	font-size: var(--am-fs-sm);
	font-weight: 600;
}

.am-cta__info span,
.am-cta__info a {
	font-size: var(--am-fs-sm);
	color: rgba(255, 255, 255, 0.75);
	text-decoration: none;
}

.am-cta__info a:hover {
	color: var(--am-white);
	text-decoration: underline;
}

@media (max-width: 860px) {
	.am-cta {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   11. Contenu long, article, commentaires
   ========================================================================== */

.am-prose {
	max-width: var(--am-prose);
	font-size: var(--am-fs-md);
}

.am-prose > * + * {
	margin-top: var(--am-sp-4);
}

.am-prose h2 {
	margin-top: var(--am-sp-7);
	font-size: var(--am-fs-h2);
}

.am-prose h3 {
	margin-top: var(--am-sp-6);
	font-size: var(--am-fs-h3);
}

.am-prose h4 {
	margin-top: var(--am-sp-5);
}

.am-prose ul,
.am-prose ol {
	padding-left: 1.35rem;
}

.am-prose li + li {
	margin-top: 0.4rem;
}

.am-prose ul li::marker {
	color: var(--am-sage);
}

.am-prose img {
	border-radius: var(--am-r);
}

.am-prose blockquote {
	margin: var(--am-sp-6) 0;
	padding: var(--am-sp-5) var(--am-sp-6);
	border-left: 3px solid var(--am-terracotta);
	border-radius: 0 var(--am-r) var(--am-r) 0;
	background: var(--am-white);
	font-family: var(--am-font-display);
	font-size: var(--am-fs-lg);
	line-height: 1.5;
	color: var(--am-forest);
}

.am-prose blockquote p:last-child {
	margin-bottom: 0;
}

.am-prose table {
	width: 100%;
	border-collapse: collapse;
	font-size: var(--am-fs-sm);
}

.am-prose th,
.am-prose td {
	padding: 0.7rem 0.9rem;
	border: 1px solid var(--am-line);
	text-align: left;
}

.am-prose th {
	background: var(--am-sage-soft);
	color: var(--am-forest);
}

.am-prose code {
	padding: 0.15em 0.4em;
	border-radius: 5px;
	background: rgba(var(--am-forest-rgb), 0.07);
	font-size: 0.92em;
}

.am-prose pre {
	overflow-x: auto;
	padding: var(--am-sp-4);
	border-radius: var(--am-r-sm);
	background: var(--am-forest);
	color: var(--am-cream);
}

.am-featured {
	margin: 0 0 var(--am-sp-6);
	overflow: hidden;
	border-radius: var(--am-r-lg);
	box-shadow: var(--am-shadow);
}

.am-featured img {
	width: 100%;
}

.am-article,
.am-archive {
	display: block;
	padding-block: var(--am-sp-6) 0;
}

.am-article--with-sidebar,
.am-archive--with-sidebar {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	gap: clamp(2rem, 4vw, 3.5rem);
	align-items: start;
}

@media (max-width: 940px) {
	.am-article--with-sidebar,
	.am-archive--with-sidebar {
		grid-template-columns: 1fr;
	}
}

.am-article__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: var(--am-sp-6);
}

.am-article__tags a {
	display: inline-flex;
	padding: 0.3rem 0.8rem;
	border-radius: var(--am-r-pill);
	background: rgba(var(--am-forest-rgb), 0.06);
	color: var(--am-forest);
	font-size: var(--am-fs-xs);
	text-decoration: none;
}

.am-article__tags a:hover {
	background: var(--am-forest);
	color: var(--am-white);
}

.am-share {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--am-sp-4);
	margin-top: var(--am-sp-6);
	padding-top: var(--am-sp-5);
	border-top: 1px solid var(--am-line);
}

.am-share__label {
	font-size: var(--am-fs-sm);
	font-weight: 600;
	color: var(--am-forest);
}

.am-share__list {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-share__list a {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	padding: 0.5rem 0.9rem;
	border: 1px solid var(--am-line);
	border-radius: var(--am-r-pill);
	color: var(--am-forest);
	font-size: var(--am-fs-xs);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--am-t), color var(--am-t), border-color var(--am-t);
}

.am-share__list a:hover {
	background: var(--am-forest);
	border-color: var(--am-forest);
	color: var(--am-white);
}

.am-page-links {
	display: flex;
	gap: 0.5rem;
	margin-top: var(--am-sp-5);
	font-size: var(--am-fs-sm);
}

.am-comments {
	margin-top: var(--am-sp-7);
	padding-top: var(--am-sp-6);
	border-top: 1px solid var(--am-line);
}

.am-comments__title {
	font-size: var(--am-fs-h3);
}

.am-comments__list,
.am-comments__list .children {
	margin: 0 0 var(--am-sp-6);
	padding: 0;
	list-style: none;
}

.am-comments__list .children {
	margin: var(--am-sp-4) 0 0;
	padding-left: clamp(1rem, 3vw, 2.5rem);
	border-left: 2px solid var(--am-line-soft);
}

.am-comments__list .comment-body {
	padding: var(--am-sp-5);
	margin-bottom: var(--am-sp-4);
	border-radius: var(--am-r);
	background: var(--am-white);
	box-shadow: var(--am-shadow-sm);
}

.am-comments__list .comment-author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: var(--am-sp-2);
	font-weight: 600;
	color: var(--am-forest);
}

.am-comments__list .comment-author img {
	border-radius: var(--am-r-pill);
}

.am-comments__list .comment-meta,
.am-comments__list .comment-metadata {
	margin-bottom: var(--am-sp-3);
	font-size: var(--am-fs-xs);
	color: var(--am-muted);
}

.am-comment-form p {
	margin-bottom: var(--am-sp-4);
}

.comment-form-cookies-consent {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: var(--am-fs-sm);
}

.comment-form-cookies-consent input {
	width: auto;
	margin-top: 0.3rem;
}

/* ==========================================================================
   12. Barres latérales & widgets
   ========================================================================== */

.widget-area {
	display: grid;
	gap: var(--am-sp-5);
	position: sticky;
	top: calc(var(--am-header-h) + 1.5rem);
}

.widget {
	padding: var(--am-sp-5);
	border-radius: var(--am-r);
	background: var(--am-white);
	box-shadow: var(--am-shadow-sm);
	font-size: var(--am-fs-sm);
}

.widget__title {
	margin-bottom: var(--am-sp-4);
	font-family: var(--am-font-sans);
	font-size: var(--am-fs-xs);
	font-weight: 700;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	color: var(--am-forest);
}

.widget ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.widget li + li {
	margin-top: 0.15rem;
	padding-top: 0.55rem;
	border-top: 1px solid var(--am-line-soft);
}

.widget li a {
	color: var(--am-ink);
	text-decoration: none;
}

.widget li a:hover {
	color: var(--am-terracotta);
}

@media (max-width: 940px) {
	.widget-area {
		position: static;
	}
}

/* ==========================================================================
   13. Pagination, fil d'Ariane, états vides, 404
   ========================================================================== */

.am-breadcrumb {
	margin-bottom: var(--am-sp-4);
	font-size: var(--am-fs-xs);
	color: var(--am-muted);
}

.am-breadcrumb ol {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.am-breadcrumb li + li::before {
	content: "/";
	margin-right: 0.4rem;
	opacity: 0.45;
}

.am-breadcrumb a {
	color: var(--am-muted);
	text-decoration: none;
}

.am-breadcrumb a:hover {
	color: var(--am-terracotta);
}

.am-breadcrumb [aria-current] {
	color: var(--am-forest);
	font-weight: 500;
}

.pagination,
.comments-pagination {
	margin-top: var(--am-sp-7);
}

.pagination .nav-links,
.comments-pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.4rem;
}

.pagination .page-numbers,
.comments-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 42px;
	height: 42px;
	padding: 0 0.75rem;
	border: 1px solid var(--am-line);
	border-radius: var(--am-r-pill);
	background: var(--am-white);
	color: var(--am-forest);
	font-size: var(--am-fs-sm);
	font-weight: 600;
	text-decoration: none;
	transition: background-color var(--am-t), color var(--am-t), border-color var(--am-t);
}

.pagination .page-numbers:hover,
.comments-pagination .page-numbers:hover {
	border-color: var(--am-forest);
}

.pagination .page-numbers.current,
.comments-pagination .page-numbers.current {
	background: var(--am-forest);
	border-color: var(--am-forest);
	color: var(--am-white);
}

.pagination .page-numbers.dots {
	border-color: transparent;
	background: transparent;
}

.am-empty,
.am-404 {
	max-width: 40rem;
	margin-inline: auto;
	padding-block: var(--am-sp-7);
	text-align: center;
}

.am-empty__icon,
.am-404__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 84px;
	height: 84px;
	margin-bottom: var(--am-sp-5);
	border-radius: var(--am-r-pill);
	background: var(--am-sage-soft);
	color: var(--am-sage);
}

.am-empty__text,
.am-404__text {
	color: var(--am-muted);
	font-size: var(--am-fs-lg);
}

.am-empty__form,
.am-404__form {
	max-width: 30rem;
	margin: var(--am-sp-6) auto 0;
}

.am-404__actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--am-sp-3);
	margin-top: var(--am-sp-6);
}

/* ==========================================================================
   14. Pied de page
   ========================================================================== */

.site-footer {
	margin-top: var(--am-sp-6);
	background: var(--am-forest);
	color: rgba(255, 255, 255, 0.72);
	font-size: var(--am-fs-sm);
}

.site-footer a {
	color: rgba(255, 255, 255, 0.8);
	text-decoration: none;
}

.site-footer a:hover {
	color: var(--am-white);
	text-decoration: underline;
}

.site-footer .widget__title {
	color: var(--am-white);
	opacity: 0.65;
}

.site-footer .widget {
	padding: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
}

.site-footer .widget li + li {
	border-top-color: rgba(255, 255, 255, 0.1);
}

.site-footer .widget li a {
	color: rgba(255, 255, 255, 0.8);
}

.site-footer__top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.5fr);
	gap: clamp(2rem, 5vw, 5rem);
	padding-block: clamp(3rem, 6vw, 4.5rem) var(--am-sp-6);
}

.site-branding--footer img,
.site-branding--footer .custom-logo {
	max-height: 62px;
	filter: brightness(0) invert(1);
	opacity: 0.92;
}

.site-branding--footer .site-branding__name {
	color: var(--am-white);
}

.site-footer__about {
	max-width: 34rem;
	margin: var(--am-sp-4) 0 var(--am-sp-5);
	line-height: 1.65;
}

.site-footer .am-social a {
	background: rgba(255, 255, 255, 0.1);
	color: rgba(255, 255, 255, 0.85);
}

.site-footer .am-social a:hover {
	background: rgba(255, 255, 255, 0.22);
	color: var(--am-white);
}

.site-footer__cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--am-sp-6);
}

.site-footer__menu {
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__menu li + li {
	margin-top: 0.55rem;
}

.site-footer__contact {
	display: grid;
	gap: var(--am-sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-footer__contact li {
	display: flex;
	gap: 0.7rem;
	line-height: 1.5;
}

.site-footer__contact .am-icon {
	margin-top: 3px;
	color: rgba(255, 255, 255, 0.45);
}

.site-footer__disclaimer {
	max-width: 62rem;
	margin: 0 0 var(--am-sp-6);
	padding: var(--am-sp-4) var(--am-sp-5);
	border-left: 2px solid rgba(255, 255, 255, 0.2);
	border-radius: 0 var(--am-r-sm) var(--am-r-sm) 0;
	background: rgba(0, 0, 0, 0.16);
	font-size: var(--am-fs-xs);
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.62);
}

.site-footer__bottom {
	border-top: 1px solid rgba(255, 255, 255, 0.12);
}

.site-footer__bottom-inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: var(--am-sp-4);
	padding-block: var(--am-sp-4);
	font-size: var(--am-fs-xs);
}

.site-footer__copyright {
	margin: 0;
}

.site-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: var(--am-sp-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

@media (max-width: 860px) {
	.site-footer__top {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   15. Bouton WhatsApp flottant
   ========================================================================== */

.am-whatsapp-float {
	position: fixed;
	right: clamp(1rem, 3vw, 1.75rem);
	bottom: clamp(1rem, 3vw, 1.75rem);
	z-index: 60;
	display: inline-flex;
	align-items: center;
	gap: 0.55rem;
	padding: 0.85rem 1.25rem;
	border-radius: var(--am-r-pill);
	background: var(--am-whatsapp);
	color: var(--am-white);
	font-size: var(--am-fs-sm);
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 10px 30px rgba(31, 168, 85, 0.35);
	transition: transform var(--am-t), background-color var(--am-t);
}

.am-whatsapp-float:hover {
	transform: translateY(-2px);
	background: #178C46;
	color: var(--am-white);
}

@media (max-width: 560px) {
	.am-whatsapp-float span {
		display: none;
	}
	.am-whatsapp-float {
		padding: 0.9rem;
	}
}

/* ==========================================================================
   16. Compatibilité Elementor
   ========================================================================== */

.site-main--full {
	padding: 0;
}

/* Les conteneurs Elementor gèrent leur propre largeur : on évite les doubles
   marges lorsque la page est construite dans l'éditeur. */
.is-elementor-page .site-main > .elementor {
	width: 100%;
}

.elementor-widget-container > .am-section:first-child {
	padding-top: 0;
}

.elementor-widget-container > .am-section:last-child {
	padding-bottom: 0;
}

/* L'éditeur Elementor injecte ses propres styles de titre : on ne surcharge
   que les éléments non stylés par le widget. */
.elementor-widget-heading .elementor-heading-title {
	font-family: inherit;
}
