/**
 * Custom CSS additionnel
 *
 * Ajustements spécifiques au-delà du style.css principal.
 *
 * @package FlavorChild
 * @since 1.0.0
 */

/* ==========================================================================
   OVERRIDES Twenty Twenty-Five
   ========================================================================== */

/* Forcer notre typographie */
body {
	font-family: var(--fc-font-body) !important;
}

/* Scroll fluide pour ancres + offset pour la nav fixe */
html {
	scroll-behavior: smooth;
}

.article-content h2[id] {
	scroll-margin-top: 90px;
}

/* ==========================================================================
   ANIMATIONS SUBTILES
   ========================================================================== */

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.fade-in-up {
	animation: fadeInUp 0.5s ease-out;
}

/* ==========================================================================
   UTILITAIRES
   ========================================================================== */

.text-center { text-align: center; }
.text-left { text-align: left; }
.text-right { text-align: right; }

.mt-0 { margin-top: 0; }
.mt-1 { margin-top: var(--fc-space-md); }
.mt-2 { margin-top: var(--fc-space-xl); }
.mt-3 { margin-top: var(--fc-space-2xl); }
.mb-0 { margin-bottom: 0; }
.mb-1 { margin-bottom: var(--fc-space-md); }
.mb-2 { margin-bottom: var(--fc-space-xl); }
.mb-3 { margin-bottom: var(--fc-space-2xl); }

.sr-only {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* ==========================================================================
   DATABASE HERO
   ========================================================================== */

.db-hero {
	position: relative;
	min-height: 360px;
	display: flex;
	align-items: center;
	overflow: hidden;
}

.db-hero__bg {
	position: absolute;
	inset: 0;
}

.db-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.db-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(20, 83, 45, 0.88) 0%, rgba(30, 60, 40, 0.8) 50%, rgba(38, 38, 38, 0.75) 100%);
}

.db-hero__content {
	position: relative;
	z-index: 2;
	max-width: var(--fc-max-width);
	margin: 0 auto;
	padding: var(--fc-space-2xl) var(--fc-space-lg);
	width: 100%;
	text-align: center;
}

.db-hero__title {
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	color: #ffffff;
	margin-bottom: var(--fc-space-md);
	font-style: italic;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
	max-width: var(--fc-content-width);
	margin-left: auto;
	margin-right: auto;
}

.db-hero__text {
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.1rem;
	line-height: 1.7;
	max-width: var(--fc-content-width);
	margin: 0 auto var(--fc-space-xl);
}

.db-hero__stats {
	display: flex;
	justify-content: center;
	gap: var(--fc-space-xl);
	flex-wrap: wrap;
}

.db-hero__stat {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
}

.db-hero__stat-number {
	font-family: var(--fc-font-heading);
	font-size: 1.8rem;
	font-weight: 700;
	color: #ffffff;
}

.db-hero__stat-label {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.7);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

/* ==========================================================================
   PAYWALL — style amélioré
   ========================================================================== */

.paywall {
	position: relative;
}

.paywall__preview-intro {
	text-align: center;
	margin-bottom: var(--fc-space-xl);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fc-space-xs);
}

.paywall__preview-intro .db-preview-zone__badge {
	margin-bottom: var(--fc-space-xs);
}

.db-preview-zone__badge--cta {
	text-decoration: none;
	transition: opacity 0.2s, transform 0.15s;
}

.db-preview-zone__badge--cta:hover {
	opacity: 0.88;
	transform: translateY(2px);
}

.paywall__free-title {
	font-size: 1.2rem;
	font-weight: 700;
	margin: 0;
	color: var(--fc-text);
}

.paywall__free-text {
	color: var(--fc-text-light);
	margin: 0;
	max-width: min(640px, 90%);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.paywall__overlay {
	position: relative;
	margin-top: 0;
	padding-top: var(--fc-space-xl);
}

@media (max-width: 640px) {
	.paywall__overlay {
		padding-top: var(--fc-space-lg);
	}
}

.paywall__box {
	text-align: center;
	max-width: 500px;
	margin: 0 auto;
	padding: var(--fc-space-2xl);
	background: linear-gradient(145deg, var(--fc-green-50) 0%, var(--fc-warm-50) 100%);
	border-radius: var(--fc-radius-xl);
	border: 1px solid var(--fc-green-100);
}

.paywall__box-icon {
	font-size: 2.5rem;
	margin-bottom: var(--fc-space-md);
}

.paywall__box-title {
	font-size: 1.4rem;
	margin-bottom: var(--fc-space-sm);
}

.paywall__box-text {
	color: var(--fc-text-light);
	font-size: 0.95rem;
	line-height: 1.7;
	margin-bottom: var(--fc-space-xl);
}

.paywall__box-price {
	font-family: var(--fc-font-heading);
	font-size: 2rem;
	font-weight: 800;
	color: var(--fc-primary);
	margin-bottom: var(--fc-space-sm);
}

.paywall__box-btn {
	margin-bottom: var(--fc-space-sm);
}

.paywall__pack-link {
	display: block;
	margin-top: var(--fc-space-xs);
	margin-bottom: var(--fc-space-md);
	font-size: 0.875rem;
	color: var(--fc-text-light);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.paywall__pack-link:hover {
	color: var(--fc-green-dark);
}

.paywall__login {
	font-size: 0.9rem;
	color: var(--fc-text-light);
	margin: 0;
}

.paywall__login a {
	color: var(--fc-primary);
	font-weight: 600;
}

/* Aperçu BDD en cartes (non-abonnés) — jauges compactes */
.paywall .db-results {
	max-height: 480px;
	overflow: hidden;
	-webkit-mask-image: linear-gradient(to bottom, black 40%, transparent 88%);
	mask-image: linear-gradient(to bottom, black 40%, transparent 88%);
}

/* Section exemples BDD en cartes (page database) */
.db-examples-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 1.25rem;
	margin-top: 1.5rem;
}

.db-examples-cards .db-card {
	box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

.db-examples-cards .db-gauge svg {
	width: min(90px, 100%);
	height: auto;
}

.db-examples-cards .db-card__name {
	font-size: 1.1rem;
}

/* Section 3 indices — avantages santé (front page + database) */
.indices-health {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.indices-health__item {
	text-align: center;
	padding: 2rem 1.5rem;
	background: var(--fc-bg);
	border-radius: 12px;
	border-top: 4px solid var(--fc-primary);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.indices-health__item:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.indices-health__icon {
	font-size: 2.5rem;
	display: block;
	margin-bottom: 0.75rem;
}

.indices-health__title {
	font-family: var(--fc-font-heading);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fc-text);
	margin: 0 0 0.5rem;
}

.indices-health__text {
	font-size: 1rem;
	color: var(--fc-text-light);
	line-height: 1.7;
	margin: 0;
}

.indices-health__link {
	display: block;
	margin-top: 2rem;
	text-align: center;
	font-size: 0.95rem;
	color: var(--fc-primary);
	font-weight: 600;
}

@media (max-width: 768px) {
	.indices-health {
		grid-template-columns: 1fr;
		gap: 1rem;
	}
}

.paywall__login a:hover {
	color: var(--fc-primary-hover);
}

/* ---------- Formulaire de clé de licence ---------- */

.license-form {
	margin-top: var(--fc-space-lg);
	padding-top: var(--fc-space-lg);
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.license-form__title {
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--fc-text);
	margin: 0 0 var(--fc-space-sm);
}

.license-form__wrap {
	display: flex;
	gap: var(--fc-space-xs);
	max-width: 420px;
	margin: 0 auto;
}

.license-form__input {
	flex: 1;
	padding: 0.6rem 0.9rem;
	border: 2px solid #ddd;
	border-radius: var(--fc-radius);
	font-size: 0.95rem;
	font-family: monospace;
	letter-spacing: 0.5px;
	text-align: center;
	transition: border-color 0.2s;
}

.license-form__input:focus {
	outline: none;
	border-color: var(--fc-accent);
	box-shadow: 0 0 0 3px rgba(230, 126, 34, 0.15);
}

.license-form__input::placeholder {
	font-family: var(--fc-font-body);
	letter-spacing: normal;
	color: #aaa;
}

.license-form__btn {
	white-space: nowrap;
	padding: 0.6rem 1.2rem;
	font-size: 0.9rem;
}

.license-form__status {
	margin-top: var(--fc-space-sm);
	font-size: 0.85rem;
	text-align: center;
	padding: 0.4rem 0.6rem;
	border-radius: var(--fc-radius);
}

.license-form__status--error {
	color: #c0392b;
	background: #fdecea;
}

.license-form__status--loading {
	color: var(--fc-primary);
	background: rgba(46, 125, 50, 0.08);
}

/* ---------- Barre abonné (Mon compte + déconnexion) ---------- */

.db-license-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: var(--fc-space-lg);
	padding: 0.7rem 1rem;
	background: #f8faf8;
	border: 1px solid #e0e8e0;
	border-radius: var(--fc-radius);
}

.db-license-bar__account {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	text-decoration: none;
	color: var(--fc-text);
	transition: color 0.2s;
}

.db-license-bar__account:hover {
	color: var(--fc-primary);
}

.db-license-bar__account-icon {
	font-size: 1.3rem;
}

.db-license-bar__account-label {
	font-weight: 600;
	font-size: 0.9rem;
}

.db-license-bar__account-sub {
	font-size: 0.8rem;
	color: var(--fc-text-light);
}

.db-license-bar__logout {
	background: none;
	border: 1px solid #ddd;
	color: var(--fc-text-light);
	font-size: 0.8rem;
	padding: 0.3rem 0.8rem;
	border-radius: var(--fc-radius);
	cursor: pointer;
	transition: all 0.2s;
	white-space: nowrap;
}

.db-license-bar__logout:hover {
	border-color: #c0392b;
	color: #c0392b;
	background: #fdecea;
}

@media (max-width: 600px) {
	.db-license-bar {
		flex-direction: column;
		gap: 0.5rem;
		text-align: center;
	}

	.db-license-bar__account {
		flex-direction: column;
		gap: 0.2rem;
	}

	.db-license-bar__account-sub {
		display: none;
	}
}

@media (max-width: 480px) {
	.license-form__wrap {
		flex-direction: column;
	}

	.license-form__input {
		text-align: center;
	}
}

/* Source note */
.source-note {
	font-size: 0.875rem;
	color: var(--fc-text-light);
}

/* ==========================================================================
   DATABASE SEARCH — Interface de recherche abonné
   ========================================================================== */

.db-search {
	margin-bottom: var(--fc-space-xl);
}

.db-search__form {
	display: flex;
}

.db-search__input-wrap {
	display: flex;
	align-items: center;
	width: 100%;
	background: var(--fc-bg);
	border: 2px solid var(--fc-border);
	border-radius: var(--fc-radius-pill);
	padding: 0.35rem 0.35rem 0.35rem 1.25rem;
	gap: var(--fc-space-sm);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.db-search__input-wrap:focus-within {
	border-color: var(--fc-primary);
	box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.1);
}

.db-search__icon {
	font-size: 1.2rem;
	flex-shrink: 0;
	opacity: 0.5;
}

.db-search__input {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	font-size: 1.05rem;
	font-family: var(--fc-font-body);
	color: var(--fc-text);
	padding: 0.6rem 0;
	min-width: 0;
}

.db-search__input::placeholder {
	color: var(--fc-gray-400);
}

.db-search__clear {
	flex-shrink: 0;
	background: none;
	border: none;
	cursor: pointer;
	font-size: 1.2rem;
	color: var(--fc-text-light);
	padding: 4px 8px;
	line-height: 1;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, color 0.2s ease;
}

.db-search__clear--visible {
	opacity: 1;
	pointer-events: auto;
}

.db-search__clear:hover {
	color: var(--fc-text);
}

.db-search__portion-wrap {
	flex-shrink: 0;
	position: relative;
}

/* Bouton toggle portion */
.db-search__portion-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: var(--fc-gray-50, #f8f9fa);
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-sm, 6px);
	padding: 0.5rem 0.6rem 0.5rem 0.65rem;
	font-size: 0.9rem;
	font-family: var(--fc-font-body);
	color: var(--fc-text);
	cursor: pointer;
	white-space: nowrap;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	line-height: 1.4;
}

.db-search__portion-toggle:hover,
.db-search__portion-toggle:focus {
	border-color: var(--fc-primary);
	outline: none;
}

.db-search__portion-toggle[aria-expanded="true"] {
	border-color: var(--fc-primary);
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.1);
}

.db-search__portion-icon {
	flex-shrink: 0;
	opacity: 0.5;
}

#ms-portion-label {
	font-weight: 600;
	color: var(--fc-primary);
	min-width: 1.8em;
	text-align: center;
}

.db-search__portion-unit {
	color: var(--fc-text-light);
	font-size: 0.8rem;
}

.db-search__portion-chevron {
	flex-shrink: 0;
	opacity: 0.4;
	transition: transform 0.2s ease;
}

.db-search__portion-toggle[aria-expanded="true"] .db-search__portion-chevron {
	transform: rotate(180deg);
}

/* Dropdown panneau */
.db-search__portion-dropdown {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 120;
	background: var(--fc-bg);
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius, 12px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
	padding: 0.75rem;
	min-width: 220px;
	animation: portionDropIn 0.15s ease-out;
}

@keyframes portionDropIn {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Grille de pastilles */
.db-search__portion-grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.35rem;
}

.db-search__portion-pill {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.4rem 0.25rem;
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-sm, 6px);
	background: var(--fc-bg);
	font-size: 0.8rem;
	font-family: var(--fc-font-body);
	font-weight: 500;
	color: var(--fc-text);
	cursor: pointer;
	transition: all 0.15s ease;
	line-height: 1.2;
}

.db-search__portion-pill:hover {
	border-color: var(--fc-primary);
	background: rgba(22, 163, 74, 0.06);
	color: var(--fc-primary);
}

.db-search__portion-pill--active {
	background: var(--fc-primary);
	border-color: var(--fc-primary);
	color: #fff;
	font-weight: 600;
}

.db-search__portion-pill--active:hover {
	background: var(--fc-primary-dark, #15803d);
	color: #fff;
}

.db-search__portion-footer {
	text-align: center;
	font-size: 0.7rem;
	color: var(--fc-text-light);
	margin-top: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}

.db-search__btn {
	flex-shrink: 0;
	border-radius: var(--fc-radius-pill);
	padding: 0.65rem 1.5rem;
	font-size: 0.95rem;
}

/* Autocomplétion */
.db-autocomplete {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 100;
	background: var(--fc-bg);
	border: 1px solid var(--fc-border);
	border-top: none;
	border-radius: 0 0 var(--fc-radius) var(--fc-radius);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	list-style: none;
	margin: 0;
	padding: 0.25rem 0;
	max-height: 320px;
	overflow-y: auto;
}

.db-autocomplete__item {
	padding: 0.6rem 1.25rem;
	cursor: pointer;
	font-size: 0.95rem;
	color: var(--fc-text);
	transition: background 0.15s ease;
}

.db-autocomplete__item:hover,
.db-autocomplete__item--active {
	background: var(--fc-green-50, #f0fdf4);
	color: var(--fc-primary);
}

/* Search status messages */
.db-search__status {
	margin-top: var(--fc-space-sm);
	padding: var(--fc-space-sm) var(--fc-space-md);
	border-radius: var(--fc-radius);
	font-size: 0.9rem;
	text-align: center;
}

.db-search__status--info {
	background: var(--fc-green-50);
	color: var(--fc-green-800);
}

.db-search__status--warning {
	background: var(--fc-warm-50);
	color: var(--fc-warm-600);
}

.db-search__status--error {
	background: #fef2f2;
	color: #991b1b;
}

.db-search__status--loading {
	background: var(--fc-green-50);
	color: var(--fc-green-700);
}

/* ==========================================================================
   DATABASE SUGGESTIONS — Idées de recherche cliquables
   ========================================================================== */

.db-suggestions {
	margin-bottom: var(--fc-space-2xl);
}

.db-suggestions__title {
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--fc-text-light);
	margin-bottom: var(--fc-space-md);
	font-weight: 600;
}

.db-suggestions__list {
	display: flex;
	flex-wrap: wrap;
	gap: var(--fc-space-sm);
}

.db-suggestion {
	display: inline-flex;
	align-items: center;
	padding: 0.45rem 1rem;
	background: var(--fc-bg-alt);
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-pill);
	font-size: 0.9rem;
	font-family: var(--fc-font-body);
	color: var(--fc-text);
	cursor: pointer;
	transition: all 0.2s ease;
}

.db-suggestion:hover {
	background: var(--fc-green-50);
	border-color: var(--fc-primary);
	color: var(--fc-primary);
}

.db-suggestion:active {
	transform: scale(0.97);
}

/* ==========================================================================
   DATABASE RESULT CARDS — Cartes de résultats sécurisées
   ========================================================================== */

.db-results-container {
	min-height: 100px;
}

.db-results {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-md);
}

/* ==========================================================================
   FICHES ALIMENTS — Cartes résultats
   ========================================================================== */

.db-card {
	width: 100%;
	box-sizing: border-box;
	background: var(--fc-bg);
	border-radius: 20px;
	padding: 28px 32px;
	box-shadow: 0 2px 20px rgba(44, 62, 45, 0.06);
	overflow: hidden;

	/* ANTI-COPIE */
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

/* Header */
.db-card__header {
	display: flex;
	align-items: baseline;
	gap: 14px;
	margin-bottom: 24px;
	flex-wrap: wrap;
}

.db-card__name {
	font-family: var(--fc-font-heading);
	font-size: 1.6rem;
	font-weight: 600;
	margin: 0;
	color: var(--fc-text);
}

.db-card__category {
	font-size: 0.8rem;
	color: var(--fc-text-light);
	background: var(--fc-bg-alt, #f5f0eb);
	padding: 4px 12px;
	border-radius: 20px;
}

/* SVG Arc Gauges — 3 colonnes */
.db-card__gauges {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.db-gauge {
	text-align: center;
	min-width: 0;
}

.db-gauge svg {
	width: 120px;
	height: 75px;
	display: block;
	margin: 0 auto;
}

.db-gauge__arc-bg {
	fill: none;
	stroke: var(--fc-bg-alt, #f0ebe5);
	stroke-width: 8;
	stroke-linecap: round;
}

.db-gauge__arc-fill {
	fill: none;
	stroke-width: 8;
	stroke-linecap: round;
	transition: stroke-dashoffset 0.6s ease;
}

.db-gauge__score {
	font-family: var(--fc-font-heading);
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: -4px;
	line-height: 1.2;
}

.db-gauge__score--na {
	color: var(--fc-text-lighter, #94a3b8);
	font-size: 0.8rem;
	line-height: 1.3;
	padding: 2px 4px;
}

.db-gauge__na-text {
	display: block;
	text-align: center;
	font-weight: 500;
}

.db-gauge__label {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--fc-text-light);
	margin-top: 2px;
}

.db-gauge__badge {
	display: inline-block;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 2px 10px;
	border-radius: 10px;
	margin-top: 6px;
}

.db-gauge__badge--low      { background: rgba(5, 150, 105, 0.12); color: #065f46; }
.db-gauge__badge--medium   { background: rgba(132, 204, 22, 0.15); color: #4d7c0f; }
.db-gauge__badge--caution  { background: rgba(202, 138, 4, 0.12); color: #854d0e; }
.db-gauge__badge--high     { background: rgba(220, 38, 38, 0.12); color: #991b1b; }
.db-gauge__badge--danger   { background: rgba(124, 45, 18, 0.15); color: #7c2d12; }

/* Estimation indicator — arc pointillé via SVG mask */
.db-gauge__arc-fill--est {
	stroke-linecap: butt;
}

/* Hints / Avis — 3 colonnes sous les jauges */
.db-card__hints {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 24px;
}

.db-hint {
	position: relative;
	box-sizing: border-box;
	background: var(--fc-bg-alt, #f8f5f0);
	border-radius: 12px;
	padding: 14px;
	text-align: center;
}

.db-hint::before {
	content: '';
	position: absolute;
	top: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-left: 8px solid transparent;
	border-right: 8px solid transparent;
	border-bottom: 8px solid var(--fc-bg-alt, #f8f5f0);
}

.db-hint__tag {
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin-bottom: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
}

.db-hint__dot {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	display: inline-block;
}

.db-hint__text {
	font-size: 0.8rem;
	color: var(--fc-text-mid, #5a6b5c);
	line-height: 1.45;
	margin: 0;
}

/* Footer — Purines + IG */
.db-card__footer {
	display: flex;
	justify-content: center;
	gap: 32px;
	padding-top: 18px;
	border-top: 1px solid var(--fc-border, #e8e0d6);
}

.db-card__stat {
	display: flex;
	align-items: baseline;
	gap: 6px;
}

.db-card__stat-label {
	font-size: 0.75rem;
	color: var(--fc-text-light);
}

.db-card__stat-value {
	font-family: var(--fc-font-heading);
	font-weight: 600;
	font-size: 1rem;
}

.db-card__stat-value--na {
	color: var(--fc-text-lighter, #94a3b8);
}

.db-card__stat-unit {
	font-size: 0.68rem;
	color: var(--fc-text-light);
}

/* Level colors (réutilisées pour scores, dots, arcs) */
.c-low      { color: #16a34a; }
.c-medium   { color: #65a30d; }
.c-caution  { color: #ca8a04; }
.c-high     { color: #dc2626; }
.c-danger   { color: #7c2d12; }

/* Level badges (conservés pour le tableau d'aperçu) */
.level-badge {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	padding: 0.15rem 0.5rem;
	border-radius: var(--fc-radius-pill);
	display: inline-block;
	width: fit-content;
}

.level-badge--low {
	background: rgba(22, 163, 74, 0.1);
	color: var(--fc-green-700);
}

.level-badge--medium {
	background: rgba(249, 115, 22, 0.1);
	color: var(--fc-warm-600);
}

.level-badge--high {
	background: rgba(220, 38, 38, 0.1);
	color: #991b1b;
}

/* Inline level coloring (purines/GI in tables and detail values) */
.level--low     { color: #059669; }
.level--medium  { color: #84cc16; }
.level--caution { color: #ca8a04; }
.level--high    { color: #dc2626; }
.level--danger  { color: #7c2d12; }
.level--na      { color: #94a3b8; font-size: 0.85em; font-style: italic; cursor: help; }

/* "More results" indicator — bandeau vert doux et bienveillant pour
 * signaler qu'il reste des résultats à explorer (l'utilisateur ne doit
 * PAS penser que les 10 cartes sont tout). Tons : palette verte AUG. */
.db-results__more {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-top: var(--fc-space-lg, 24px);
	padding: 14px 18px;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-left: 4px solid #16a34a;
	border-radius: 8px;
}
.db-results__more-icon {
	flex-shrink: 0;
	color: #16a34a;
	opacity: 0.85;
}
.db-results__more-text {
	margin: 0;
	font-size: 14px;
	line-height: 1.55;
	color: #1a3329;
	font-weight: 400;
}
.db-results__more-text strong {
	color: #15803d;
	font-weight: 600;
}

.db-search__note {
	text-align: center;
	font-size: 0.8rem;
	color: var(--fc-text-light);
	font-style: italic;
	margin: var(--fc-space-xs) 0 0;
}

/* No results */
.db-no-results {
	text-align: center;
	padding: var(--fc-space-2xl);
	color: var(--fc-text-light);
}

.db-no-results__icon {
	font-size: 2.5rem;
	display: block;
	margin-bottom: var(--fc-space-md);
	opacity: 0.5;
}

/* ==========================================================================
   DATABASE LEGEND — Légende des couleurs
   ========================================================================== */

.db-legend {
	margin-top: var(--fc-space-2xl);
	padding: var(--fc-space-lg);
	background: var(--fc-bg-alt);
	border-radius: var(--fc-radius-xl);
	text-align: center;
}

.db-legend__title {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--fc-text-light);
	font-weight: 600;
	margin-bottom: var(--fc-space-sm);
}

.db-legend__items {
	display: flex;
	gap: var(--fc-space-lg);
	flex-wrap: wrap;
	justify-content: center;
	margin-bottom: var(--fc-space-xs);
}

.db-legend__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.25rem;
	font-size: 0.85rem;
	flex: 1;
	min-width: 120px;
}

.db-legend__label {
	font-weight: 600;
}

.db-legend__desc {
	font-size: 0.75rem;
	color: var(--fc-text-light);
	line-height: 1.3;
}

.db-legend__dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	flex-shrink: 0;
}

.db-legend__dot--low {
	background: #059669;
}

.db-legend__dot--medium {
	background: #84cc16;
}

.db-legend__dot--caution {
	background: #ca8a04;
}

.db-legend__dot--high {
	background: #dc2626;
}

.db-legend__dot--danger {
	background: #7c2d12;
}

/* Sous-zone estimation dans la légende */
.db-legend__est-box {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: var(--fc-space-md, 12px);
	padding: 10px 16px;
	background: rgba(148, 163, 184, 0.07);
	border: 1px dashed rgba(148, 163, 184, 0.3);
	border-radius: var(--fc-radius-md, 8px);
	text-align: left;
}

.db-legend__est-icon {
	flex-shrink: 0;
	margin-top: 2px;
}

.db-legend__est-content {
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.db-legend__est-title {
	font-size: 0.78rem;
	font-weight: 600;
	color: var(--fc-text, #334155);
}

.db-legend__est-text {
	font-size: 0.73rem;
	color: var(--fc-text-light, #64748b);
	line-height: 1.4;
}

/* Zone 2 : Méthodologie & sources */
.db-method {
	margin-top: var(--fc-space-md, 12px);
	padding: var(--fc-space-sm, 8px) var(--fc-space-lg, 16px);
	background: var(--fc-bg-alt);
	border-radius: var(--fc-radius-xl);
	border-left: 3px solid var(--fc-green-600, #059669);
}

.db-method__inner {
	display: flex;
	align-items: center;
	gap: 10px;
}

.db-method__icon {
	flex-shrink: 0;
	color: var(--fc-green-600, #059669);
}

.db-method__texts {
	flex: 1;
}

.db-method__params {
	font-size: 0.78rem;
	color: var(--fc-text, #334155);
	margin: 0;
	font-weight: 500;
}

.db-method__sources {
	font-size: 0.73rem;
	color: var(--fc-text-light, #64748b);
	margin: 2px 0 0;
}

.db-method__quality {
	flex-shrink: 0;
	font-size: 0.68rem;
	font-weight: 600;
	color: var(--fc-green-700, #047857);
	background: rgba(5, 150, 105, 0.1);
	padding: 3px 10px;
	border-radius: 10px;
	white-space: nowrap;
}

/* ==========================================================================
   ANTI-COPIE — Protection globale zone résultats
   ========================================================================== */

.db-results-container {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-touch-callout: none;
}

/* Empêcher l'impression des résultats */
@media print {
	.db-results-container,
	.db-results,
	.db-card {
		display: none !important;
	}

	.db-results-container::after {
		content: 'Print not available.';
		display: block;
		text-align: center;
		padding: 2rem;
	}
}

/* ==========================================================================
   RESPONSIVE — DATABASE
   ========================================================================== */

@media (max-width: 768px) {
	.db-card {
		padding: 20px 16px;
	}

	.db-card__gauges {
		gap: 8px;
	}

	.db-gauge svg {
		width: min(90px, 100%);
		height: auto;
	}

	.db-gauge__score {
		font-size: 1.15rem;
	}

	.db-gauge__label {
		font-size: 0.6rem;
		letter-spacing: 0.02em;
	}

	.db-gauge__badge {
		font-size: 0.55rem;
		padding: 1px 7px;
	}

	.db-card__hints {
		grid-template-columns: 1fr;
		gap: 10px;
	}

	.db-hint::before {
		display: none;
	}

	.db-card__footer {
		gap: 16px;
		flex-wrap: wrap;
		justify-content: center;
	}

	.db-card__stat-label {
		font-size: 0.68rem;
	}

	.db-card__stat-value {
		font-size: 0.9rem;
	}

	.db-search__btn {
		padding: 0.6rem 1rem;
		font-size: 0.85rem;
	}
}

@media (max-width: 480px) {
	.db-search__input-wrap {
		flex-wrap: wrap;
		border-radius: var(--fc-radius-xl);
		padding: var(--fc-space-sm);
	}

	.db-search__icon {
		display: none;
	}

	.db-search__input {
		width: 100%;
		padding: 0.5rem;
	}

	.db-search__portion-wrap {
		width: 45%;
	}

	.db-search__portion-toggle {
		width: 100%;
		font-size: 0.8rem;
		padding: 0.4rem 0.5rem;
		justify-content: center;
	}

	.db-search__portion-dropdown {
		left: 0;
		right: auto;
		min-width: 180px;
	}

	.db-search__portion-grid {
		grid-template-columns: repeat(5, 1fr);
		gap: 0.25rem;
	}

	.db-search__portion-pill {
		font-size: 0.72rem;
		padding: 0.3rem 0.15rem;
	}

	.db-search__btn {
		width: 52%;
	}
}

/* DB-CARD gauges — très petits écrans (iPhone SE, Galaxy S, 320-380px) */
@media (max-width: 380px) {
	.db-card__gauges {
		gap: 4px;
	}

	.db-gauge svg {
		width: min(72px, 100%);
		height: auto;
	}

	.db-gauge__score {
		font-size: 1rem;
	}

	.db-gauge__label {
		font-size: 0.52rem;
		letter-spacing: 0;
	}

	.db-gauge__badge {
		font-size: 0.48rem;
		padding: 1px 4px;
	}
}

/* ==========================================================================
   ARTICLE HERO (single post)
   ========================================================================== */

.article-hero {
	position: relative;
	min-height: 360px;
	display: flex;
	align-items: flex-end;
	overflow: hidden;
}

.article-hero__bg {
	position: absolute;
	inset: 0;
}

.article-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.article-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(20, 20, 20, 0.85) 0%, rgba(20, 20, 20, 0.3) 60%, transparent 100%);
}

.article-hero__content {
	position: relative;
	z-index: 2;
	max-width: var(--fc-max-width);
	margin: 0 auto;
	padding: var(--fc-space-2xl) var(--fc-space-lg) var(--fc-space-xl);
	width: 100%;
}

.article-hero__title {
	font-size: clamp(1.8rem, 4vw, 2.8rem);
	color: #ffffff;
	margin-bottom: var(--fc-space-sm);
	font-style: italic;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
	max-width: var(--fc-content-width);
}

.article-hero__meta {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.8);
	display: flex;
	align-items: center;
	gap: var(--fc-space-sm);
	flex-wrap: wrap;
}

.article-hero__updated {
	font-style: italic;
}

.article-hero__dot {
	opacity: 0.5;
}

/* Breadcrumbs version claire (sur fond sombre) */
.breadcrumbs--light,
.breadcrumbs--light a {
	color: rgba(255, 255, 255, 0.7);
}

.breadcrumbs--light a:hover {
	color: #ffffff;
}

/* ==========================================================================
   BLOG HERO (archive)
   ========================================================================== */

.blog-hero {
	position: relative;
	min-height: 280px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.blog-hero__bg {
	position: absolute;
	inset: 0;
}

.blog-hero__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.blog-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(20, 83, 45, 0.8) 0%, rgba(38, 38, 38, 0.7) 100%);
}

.blog-hero__content {
	position: relative;
	z-index: 2;
	text-align: center;
	padding: var(--fc-space-2xl) var(--fc-space-lg);
	max-width: var(--fc-content-width);
}

.blog-hero__title {
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	color: #ffffff;
	margin-bottom: var(--fc-space-md);
	font-style: italic;
}

.blog-hero__text {
	color: rgba(255, 255, 255, 0.85);
	font-size: 1.1rem;
	line-height: 1.8;
}

/* Barre de recherche blog */
.blog-search {
	display: flex;
	max-width: 500px;
	margin: var(--fc-space-lg) auto 0;
	border-radius: var(--fc-radius-pill, 50px);
	overflow: hidden;
	background: rgba(255, 255, 255, 0.95);
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
}

.blog-search__input {
	flex: 1;
	border: none;
	outline: none;
	padding: 0.85rem 1.5rem;
	font-size: 1rem;
	font-family: var(--fc-font-body);
	color: var(--fc-gray-800, #1f2937);
	background: transparent;
}

.blog-search__input::placeholder {
	color: var(--fc-gray-400, #9ca3af);
}

.blog-search__btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	border: none;
	background: var(--fc-accent, #f97316);
	color: #ffffff;
	cursor: pointer;
	transition: background-color 0.2s ease;
}

.blog-search__btn:hover {
	background: var(--fc-accent-hover, #d35400);
}

/* Resultats de recherche */
.search-results__count {
	text-align: center;
	color: var(--fc-gray-500, #6b7280);
	font-size: 0.95rem;
	margin-bottom: var(--fc-space-xl);
}

.search-no-results {
	text-align: center;
	padding: var(--fc-space-3xl) var(--fc-space-lg);
}

.search-no-results__icon {
	color: var(--fc-gray-300, #d1d5db);
	margin-bottom: var(--fc-space-lg);
}

.search-no-results__title {
	font-size: 1.5rem;
	color: var(--fc-gray-700, #374151);
	margin-bottom: var(--fc-space-md);
}

.search-no-results__text {
	color: var(--fc-gray-500, #6b7280);
	max-width: 500px;
	margin: 0 auto var(--fc-space-xl);
	line-height: 1.7;
}

/* ==========================================================================
   PAGE HEADER HERO (page.php)
   ========================================================================== */

.page-header-hero {
	background: linear-gradient(160deg, var(--fc-green-700) 0%, var(--fc-green-900) 100%);
	padding: var(--fc-space-2xl) var(--fc-space-lg);
}

.page-header-hero__inner {
	max-width: var(--fc-max-width);
	margin: 0 auto;
}

.page-header-hero__title {
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	color: #ffffff;
	margin-top: var(--fc-space-sm);
	font-style: italic;
}

/* ==========================================================================
   ARTICLE LAYOUT (single post — content + sidebar)
   ========================================================================== */

.article-layout {
	display: grid;
	grid-template-columns: 1fr 300px;
	gap: var(--fc-space-2xl);
	align-items: start;
	max-width: var(--fc-max-width);
}

.article-layout__main {
	min-width: 0;
}

.article-layout__sidebar {
	position: sticky;
	top: calc(70px + var(--fc-space-lg));
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-xl);
}

/* Sidebar CTA */
.sidebar-cta {
	background: linear-gradient(145deg, var(--fc-green-50) 0%, var(--fc-warm-50) 100%);
	border: 1px solid var(--fc-green-100);
	border-radius: var(--fc-radius-xl);
	overflow: hidden;
}

.sidebar-cta__image {
	width: 100%;
	height: 160px;
	overflow: hidden;
}

.sidebar-cta__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Miniature guide (portrait) — pas de crop */
.sidebar-cta__image--guide {
	height: auto;
	overflow: hidden;
	padding: 1.25rem 1.75rem 0;
	background: transparent;
	box-sizing: border-box;
}

.sidebar-cta__image--guide img {
	width: 100%;
	max-width: 100%;
	height: auto;
	object-fit: unset;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 3px 3px 0 rgba(0, 0, 0, 0.07);
	display: block;
}

.sidebar-cta__title {
	font-size: 1.1rem;
	margin-bottom: var(--fc-space-sm);
	padding: var(--fc-space-md) var(--fc-space-md) 0;
	text-align: center;
}

.sidebar-cta__text {
	font-size: 0.88rem;
	color: var(--fc-text-light);
	margin-bottom: var(--fc-space-lg);
	line-height: 1.6;
	padding: 0 var(--fc-space-lg);
	text-align: center;
}

.sidebar-cta__btn {
	display: block;
	box-sizing: border-box;
	width: auto;
	margin: 0 var(--fc-space-lg) var(--fc-space-sm);
	text-align: center;
	justify-content: center;
}

.sidebar-cta__btn:last-child {
	margin-bottom: var(--fc-space-lg);
}

/* Sidebar image (standalone) */
.sidebar-image {
	border-radius: var(--fc-radius-xl);
	overflow: hidden;
}

.sidebar-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Article share buttons */
.article-share {
	display: flex;
	align-items: center;
	gap: var(--fc-space-md);
	padding: var(--fc-space-lg) 0;
	border-top: 1px solid var(--fc-border);
	border-bottom: 1px solid var(--fc-border);
	margin-bottom: var(--fc-space-xl);
}

.article-share__label {
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--fc-text-light);
}

.article-share__links {
	display: flex;
	gap: var(--fc-space-sm);
}

.article-share__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--fc-bg-alt);
	color: var(--fc-text-light);
	transition: all 0.2s ease;
}

.article-share__btn:hover {
	background: var(--fc-primary);
	color: #ffffff;
}

/* ==========================================================================
   ARTICLE SINGLE (legacy — kept for compatibility)
   ========================================================================== */

.article-header {
	margin-bottom: var(--fc-space-2xl);
	padding-bottom: var(--fc-space-lg);
	border-bottom: 1px solid var(--fc-border);
}

.article-header__title {
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	margin-bottom: var(--fc-space-sm);
}

.article-header__meta {
	font-size: 0.9rem;
	color: var(--fc-text-light);
}

.article-header__updated {
	font-style: italic;
}

.article-content {
	line-height: 1.8;
	margin-bottom: var(--fc-space-2xl);
}

.article-content h2 {
	font-size: 1.5rem;
	margin-top: var(--fc-space-2xl);
	margin-bottom: var(--fc-space-md);
}

.article-content h3 {
	font-size: 1.2rem;
	margin-top: var(--fc-space-xl);
	margin-bottom: var(--fc-space-sm);
}

.article-content p {
	margin-bottom: var(--fc-space-md);
}

.article-content ul,
.article-content ol {
	margin-bottom: var(--fc-space-md);
	padding-left: var(--fc-space-xl);
}

.article-content li {
	margin-bottom: var(--fc-space-xs);
}

.article-content a:not(.btn) {
	color: var(--fc-primary);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.article-content a:hover:not(.btn) {
	color: var(--fc-primary-hover);
}

.article-content hr {
	border: none;
	border-top: 1px solid var(--fc-border);
	margin: var(--fc-space-2xl) 0;
}

.article-content em {
	color: var(--fc-text-light);
}

.article-content strong {
	font-weight: 600;
}

/* ==========================================================================
   BLOG CARDS WITH IMAGES
   ========================================================================== */

.card--blog {
	padding: 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	background: var(--fc-bg, #ffffff);
	border-radius: var(--fc-radius, 8px);
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
}

.card__image-wrap {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 10;
}

.card__image-wrap img,
.card__image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}

.card--blog:hover .card__image-wrap img,
.card--blog:hover .card__image {
	transform: scale(1.05);
}

.card__body {
	padding: var(--fc-space-lg);
	display: flex;
	flex-direction: column;
	flex-grow: 1;
	background: var(--fc-bg, #ffffff);
}

.card__body .card__date {
	font-size: 0.8rem;
	color: var(--fc-primary);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: var(--fc-space-xs);
}

.card__body .card__title {
	font-size: 1.1rem;
	margin-bottom: var(--fc-space-sm);
	line-height: 1.4;
}

.card__body .card__text {
	flex-grow: 1;
	font-size: 0.9rem;
}

.card__link {
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--fc-primary);
	margin-top: auto;
	padding-top: var(--fc-space-sm);
}

.card__link:hover {
	color: var(--fc-primary-hover);
}

/* Featured card (first in archive) */
.card--featured {
	grid-column: 1 / -1;
}

@media (min-width: 769px) {
	.card--featured {
		flex-direction: row;
	}

	.card--featured .card__image-wrap {
		flex: 0 0 55%;
		aspect-ratio: auto;
		min-height: 280px;
	}

	.card--featured .card__body {
		padding: var(--fc-space-xl);
		justify-content: center;
	}

	.card--featured .card__title {
		font-size: 1.4rem;
	}

	.card--featured .card__text {
		font-size: 1rem;
	}
}

/* ==========================================================================
   BLOG — STATS BAR (hero)
   ========================================================================== */

.blog-hero__stats {
	display: flex;
	justify-content: center;
	gap: 2rem;
	padding: 0.75rem 1rem;
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(4px);
	border-top: 1px solid rgba(255, 255, 255, 0.15);
	width: 100%;
}

.blog-hero__stat {
	font-size: 0.85rem;
	font-weight: 600;
	color: rgba(255, 255, 255, 0.9);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

/* ==========================================================================
   BLOG — FILTRE CATÉGORIES
   ========================================================================== */

.blog-filter-bar {
	background: var(--fc-bg, #ffffff);
	border-bottom: 1px solid var(--fc-border, #e5e7eb);
	position: sticky;
	top: 0;
	z-index: 90;
}

.blog-filter-bar__inner {
	display: flex;
	gap: 0;
	overflow-x: auto;
	scrollbar-width: none;
	max-width: var(--fc-wide-width, 1200px);
	margin: 0 auto;
	padding: 0 var(--fc-space-md);
}

.blog-filter-bar__inner::-webkit-scrollbar {
	display: none;
}

.blog-filter-bar__item {
	flex-shrink: 0;
	padding: 0.85rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--fc-text-light, #6b7280);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	transition: color 0.2s, border-color 0.2s;
	white-space: nowrap;
}

.blog-filter-bar__item:hover {
	color: var(--cat-color, var(--fc-primary));
}

.blog-filter-bar__item.is-active {
	color: var(--cat-color, var(--fc-primary, #16a34a));
	border-bottom-color: var(--cat-color, var(--fc-primary, #16a34a));
	font-weight: 600;
}

/* ==========================================================================
   BLOG — LAYOUT 2 COLONNES
   ========================================================================== */

.blog-page-wrap {
	display: grid;
	grid-template-columns: 1fr 340px;
	gap: var(--fc-space-2xl);
	max-width: var(--fc-wide-width, 1200px);
	margin: 0 auto;
	padding: var(--fc-space-2xl) var(--fc-space-md);
	align-items: start;
}

.blog-layout__main {
	min-width: 0;
}

.blog-layout__sidebar {
	position: sticky;
	top: 80px;
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-xl);
}

/* ==========================================================================
   BLOG — CARTE FEATURED (1ère)
   ========================================================================== */

.card--blog-featured {
	flex-direction: row;
	margin-bottom: var(--fc-space-xl);
	border-radius: var(--fc-radius, 8px);
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.card--blog-featured .card__image-wrap {
	flex: 0 0 55%;
	aspect-ratio: auto;
	min-height: 300px;
}

.card--blog-featured .card__body {
	padding: var(--fc-space-xl) var(--fc-space-xl);
	justify-content: center;
}

.card__title--featured {
	font-size: 1.5rem;
	line-height: 1.3;
	margin-bottom: var(--fc-space-md);
}

/* ==========================================================================
   BLOG ARCHIVE GRID
   ========================================================================== */

.blog-grid--archive {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: var(--fc-space-lg);
	margin-bottom: var(--fc-space-xl);
}

/* ==========================================================================
   BLOG — BADGE CATÉGORIE
   ========================================================================== */

.card__image-wrap {
	position: relative;
}

.card__cat-badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.2rem 0.65rem;
	border-radius: 20px;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #ffffff;
	z-index: 2;
}

/* Lien invisible couvrant toute la carte */
.card__permalink {
	position: absolute;
	inset: 0;
	z-index: 3;
}

/* ==========================================================================
   BLOG — CTA INTERMÉDIAIRE
   ========================================================================== */

.blog-mid-cta {
	display: flex;
	align-items: center;
	gap: var(--fc-space-xl);
	margin: var(--fc-space-xl) 0;
	padding: var(--fc-space-xl);
	background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
	border: 1px solid var(--fc-green-200, #bbf7d0);
	border-radius: 12px;
}

.blog-mid-cta__body {
	flex: 1;
}

.blog-mid-cta__eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--fc-primary, #16a34a);
	margin-bottom: 0.4rem;
}

.blog-mid-cta__title {
	font-size: 1.2rem;
	font-weight: 700;
	color: var(--fc-dark, #1a1a1a);
	margin-bottom: var(--fc-space-sm);
}

.blog-mid-cta__text {
	color: #4b5563;
	font-size: 0.95rem;
	margin-bottom: var(--fc-space-md);
}

.blog-mid-cta__visual {
	flex: 0 0 220px;
	border-radius: 8px;
	overflow: hidden;
}

.blog-mid-cta__visual img {
	width: 100%;
	height: 160px;
	object-fit: cover;
	display: block;
}

/* ==========================================================================
   BLOG — SIDEBAR CTA PDF
   ========================================================================== */

.sidebar-cta-pdf {
	padding: var(--fc-space-lg);
	background: linear-gradient(160deg, var(--fc-green-700, #15803d) 0%, var(--fc-green-900, #14532d) 100%);
	border-radius: 12px;
	color: #ffffff;
}

.sidebar-cta-pdf__eyebrow {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: rgba(255, 255, 255, 0.7);
	margin-bottom: 0.5rem;
}

.sidebar-cta-pdf__title {
	font-size: 1rem;
	font-weight: 700;
	color: #ffffff;
	margin-bottom: var(--fc-space-sm);
	line-height: 1.4;
}

.sidebar-cta-pdf__text {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: var(--fc-space-md);
}

.sidebar-cta-pdf__features {
	list-style: none;
	margin: 0 0 var(--fc-space-md);
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
}

.sidebar-cta-pdf__features li {
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.9);
	padding-left: 1.2rem;
	position: relative;
}

.sidebar-cta-pdf__features li::before {
	content: '✓';
	position: absolute;
	left: 0;
	color: #4ade80;
	font-weight: 700;
}

.btn--block {
	display: block;
	text-align: center;
	width: 100%;
	box-sizing: border-box;
}

.sidebar-cta-pdf__db-link {
	display: block;
	text-align: center;
	margin-top: var(--fc-space-sm);
	font-size: 0.85rem;
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	transition: color 0.2s;
}

.sidebar-cta-pdf__db-link:hover {
	color: #ffffff;
}

/* ==========================================================================
   BLOG — SIDEBAR TEASER CALCULATEUR IMC
   ========================================================================== */

.sidebar-calc-teaser {
	display: block;
	margin-top: var(--fc-space-md);
	padding: var(--fc-space-lg);
	background: #ffffff;
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: 12px;
	text-decoration: none;
	color: inherit;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
	position: relative;
	overflow: hidden;
}

.sidebar-calc-teaser::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(140deg, rgba(249, 115, 22, 0.05) 0%, rgba(255, 255, 255, 0) 55%);
	pointer-events: none;
}

.sidebar-calc-teaser:hover,
.sidebar-calc-teaser:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 10px 24px rgba(15, 23, 42, 0.08);
	border-color: var(--fc-green-400, #4ade80);
	outline: none;
}

.sidebar-calc-teaser__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--fc-accent, #f97316);
	margin-bottom: 0.6rem;
}

.sidebar-calc-teaser__phrase {
	font-family: var(--fc-font-heading);
	font-size: 1.05rem;
	font-weight: 700;
	font-style: italic;
	color: var(--fc-gray-900, #0f172a);
	line-height: 1.3;
	margin: 0 0 var(--fc-space-md);
}

.sidebar-calc-teaser__card {
	padding: 0.7rem 0.85rem 0.85rem;
	background: linear-gradient(160deg, #fff7ed 0%, #ffedd5 100%);
	border: 1px solid #fed7aa;
	border-radius: 10px;
	margin-bottom: var(--fc-space-md);
	position: relative;
}

.sidebar-calc-teaser__row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.6rem;
}

.sidebar-calc-teaser__col {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.1rem;
	flex: 1 1 0;
	min-width: 0;
}

.sidebar-calc-teaser__label {
	font-size: 0.62rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #9a3412;
	font-weight: 600;
}

.sidebar-calc-teaser__age {
	font-family: var(--fc-font-heading);
	font-size: 1.85rem;
	font-weight: 700;
	line-height: 1;
	color: var(--fc-gray-900, #0f172a);
}

.sidebar-calc-teaser__age--after {
	color: #c2410c;
}

.sidebar-calc-teaser__arrow {
	color: #c2410c;
	flex-shrink: 0;
}

.sidebar-calc-teaser__gap {
	text-align: center;
	font-size: 0.78rem;
	font-weight: 700;
	color: #c2410c;
	margin-top: 0.4rem;
}

.sidebar-calc-teaser__gauge {
	position: relative;
	height: 6px;
	margin: 0.55rem 0 0.45rem;
	background: linear-gradient(90deg, #4ade80 0%, #fbbf24 50%, #f97316 78%, #dc2626 100%);
	border-radius: 999px;
}

.sidebar-calc-teaser__gauge-pointer {
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 10px;
	height: 10px;
	background: #ffffff;
	border: 2px solid var(--fc-gray-900, #0f172a);
	border-radius: 50%;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.2);
}

.sidebar-calc-teaser__tag {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.72rem;
	font-weight: 700;
	color: #b91c1c;
	background: #fee2e2;
	border-radius: 999px;
	padding: 2px 8px;
}

.sidebar-calc-teaser__hint {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.88rem;
	font-weight: 700;
	color: var(--fc-accent, #f97316);
}

.sidebar-calc-teaser:hover .sidebar-calc-teaser__hint {
	color: #c2410c;
}

/* ==========================================================================
   BLOG — SIDEBAR ARTICLES POPULAIRES
   ========================================================================== */

.sidebar-popular {
	padding: var(--fc-space-lg);
	background: var(--fc-bg, #ffffff);
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: 12px;
}

.sidebar-popular__title,
.sidebar-cats__title {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--fc-text-light, #6b7280);
	margin-bottom: var(--fc-space-md);
}

.sidebar-popular__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-md);
}

.sidebar-popular__item {
	display: flex;
	align-items: flex-start;
	gap: var(--fc-space-sm);
}

.sidebar-popular__num {
	flex-shrink: 0;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--fc-green-50, #f0fdf4);
	color: var(--fc-primary, #16a34a);
	font-size: 0.75rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}

.sidebar-popular__link {
	font-size: 0.875rem;
	font-weight: 500;
	color: var(--fc-text, #1a1a1a);
	text-decoration: none;
	line-height: 1.4;
	transition: color 0.2s;
}

.sidebar-popular__link:hover {
	color: var(--fc-primary, #16a34a);
}

/* ==========================================================================
   BLOG — SIDEBAR CATÉGORIES
   ========================================================================== */

.sidebar-cats {
	padding: var(--fc-space-lg);
	background: var(--fc-bg, #ffffff);
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: 12px;
}

.sidebar-cats__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.sidebar-cats__link {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.45rem 0.5rem;
	border-radius: 6px;
	text-decoration: none;
	font-size: 0.875rem;
	color: var(--fc-text, #1a1a1a);
	transition: background 0.15s, color 0.15s;
}

.sidebar-cats__link:hover {
	background: var(--fc-bg-alt, #f9fafb);
	color: var(--cat-color, var(--fc-primary));
}

.sidebar-cats__dot {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--cat-color, var(--fc-primary, #16a34a));
	flex-shrink: 0;
}

.sidebar-cats__count {
	margin-left: auto;
	font-size: 0.75rem;
	color: var(--fc-text-light, #6b7280);
	background: var(--fc-bg-alt, #f3f4f6);
	padding: 0.1rem 0.45rem;
	border-radius: 20px;
}

/* ==========================================================================
   BLOG — CTA FINAL (fond vert foncé)
   ========================================================================== */

.section--green-dark {
	background: linear-gradient(135deg, var(--fc-green-700, #15803d) 0%, var(--fc-green-900, #14532d) 100%);
}

.cta-box--inverted .cta-box__title,
.cta-box--inverted .cta-box__text {
	color: #ffffff;
}

.cta-box--inverted .cta-box__text {
	opacity: 0.9;
}

/* ==========================================================================
   BLOG — RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
	.blog-page-wrap {
		grid-template-columns: 1fr 300px;
		gap: var(--fc-space-xl);
	}
}

@media (max-width: 768px) {
	.blog-page-wrap {
		grid-template-columns: 1fr;
		padding: var(--fc-space-lg) var(--fc-space-md);
	}

	.blog-layout__sidebar {
		position: static;
		order: -1; /* Sidebar avant les articles sur mobile → uniquement CTA */
	}

	.sidebar-popular,
	.sidebar-cats {
		display: none; /* Masquer sur mobile pour alléger */
	}

	.card--blog-featured {
		flex-direction: column;
	}

	.card--blog-featured .card__image-wrap {
		flex: none;
		min-height: 200px;
	}

	.blog-mid-cta {
		flex-direction: column;
	}

	.blog-mid-cta__visual {
		display: none;
	}

	.blog-hero__stats {
		flex-wrap: wrap;
		gap: 1rem;
	}

	.blog-grid--archive {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   PAGINATION
   ========================================================================== */

.pagination {
	margin: var(--fc-space-2xl) 0;
	text-align: center;
}

.pagination .nav-links {
	display: flex;
	justify-content: center;
	gap: var(--fc-space-xs);
	flex-wrap: wrap;
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.75rem;
	border-radius: var(--fc-radius);
	background: var(--fc-bg-alt);
	color: var(--fc-text);
	text-decoration: none;
	font-weight: 500;
	transition: background 0.2s, color 0.2s;
}

.pagination .page-numbers:hover {
	background: var(--fc-primary);
	color: #fff;
}

.pagination .page-numbers.current {
	background: var(--fc-primary);
	color: #fff;
}

/* ==========================================================================
   ARTICLE CONTENT — TABLES IN CONTENT
   ========================================================================== */

.article-content table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: var(--fc-space-lg);
	font-size: 0.9rem;
}

.article-content table th,
.article-content table td {
	padding: 0.6rem 0.8rem;
	border: 1px solid var(--fc-border);
	text-align: left;
}

.article-content table th {
	background: var(--fc-bg-alt);
	font-weight: 600;
}

.article-content table tr:nth-child(even) {
	background: rgba(0, 0, 0, 0.02);
}

/* Article content blockquotes */
.article-content blockquote {
	border-left: 4px solid var(--fc-primary);
	padding: var(--fc-space-md) var(--fc-space-lg);
	margin: var(--fc-space-lg) 0;
	background: var(--fc-bg-alt);
	border-radius: 0 var(--fc-radius) var(--fc-radius) 0;
	font-style: italic;
	color: var(--fc-text-light);
}

/* ==========================================================================
   404 PAGE
   ========================================================================== */

.section--404 {
	min-height: 70vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(160deg, var(--fc-green-50) 0%, #fefdf8 40%, var(--fc-warm-50) 100%);
}

.error-page {
	text-align: center;
	max-width: 600px;
	margin: 0 auto;
}

.error-page__visual {
	position: relative;
	margin-bottom: var(--fc-space-xl);
}

.error-page__number {
	font-family: var(--fc-font-heading);
	font-size: clamp(6rem, 15vw, 10rem);
	font-weight: 800;
	color: var(--fc-green-100);
	line-height: 1;
}

.error-page__icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: var(--fc-primary, #16a34a);
	display: inline-flex;
}
.error-page__icon svg {
	display: block;
}

.error-page__title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin-bottom: var(--fc-space-md);
}

.error-page__text {
	color: var(--fc-text-light);
	font-size: 1.05rem;
	line-height: 1.8;
	margin-bottom: var(--fc-space-xl);
}

.error-page__cta {
	margin-bottom: var(--fc-space-2xl);
}

.error-page__suggest {
	font-size: 0.9rem;
	color: var(--fc-text-light);
	font-weight: 600;
	margin-bottom: var(--fc-space-lg);
}

.error-page__links {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--fc-space-md);
}

.error-page__link-card {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fc-space-sm);
	padding: var(--fc-space-lg);
	background: var(--fc-bg);
	border-radius: var(--fc-radius-xl);
	border: 1px solid var(--fc-border);
	transition: all 0.3s ease;
	color: var(--fc-text);
}

.error-page__link-card:hover {
	border-color: var(--fc-primary);
	box-shadow: var(--fc-shadow-md);
	transform: translateY(-2px);
	color: var(--fc-primary);
}

.error-page__link-icon {
	color: var(--fc-primary, #16a34a);
	display: inline-flex;
}
.error-page__link-icon svg {
	display: block;
}
.error-page__link-card:hover .error-page__link-icon {
	color: var(--fc-primary);
}

.error-page__link-label {
	font-weight: 600;
	font-size: 0.9rem;
}

/* ==========================================================================
   PRODUCT LANDING PAGE
   ========================================================================== */

.product-landing__hero {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: var(--fc-space-2xl);
	align-items: start;
	margin-top: var(--fc-space-xl);
}

.product-landing__title {
	font-size: clamp(1.6rem, 4vw, 2.2rem);
	margin-bottom: var(--fc-space-md);
	line-height: 1.3;
}

.product-landing__excerpt {
	font-size: 1.05rem;
	line-height: 1.7;
	color: var(--fc-text-light);
	margin-bottom: var(--fc-space-lg);
}

.product-landing__excerpt p {
	margin-bottom: var(--fc-space-sm);
}

.product-landing__price-row {
	display: flex;
	align-items: baseline;
	gap: var(--fc-space-sm);
	margin-bottom: var(--fc-space-lg);
}

.product-landing__price {
	font-size: 2rem;
	font-weight: 800;
	color: var(--fc-primary);
}

.product-landing__price del {
	color: var(--fc-gray-400);
	font-size: 1.2rem;
	font-weight: 400;
}

.product-landing__price ins {
	text-decoration: none;
}

.product-landing__tax {
	font-size: 0.85rem;
	color: var(--fc-text-light);
}

.product-landing__btn {
	font-size: 1.1rem;
	width: 100%;
	justify-content: center;
}

/* .product-landing__card remplacé par .product-landing__visual (D4) */

.product-landing__content {
	max-width: 100%;
}

/* Product features grid */
.product-features {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: var(--fc-space-md);
	margin-top: var(--fc-space-xl);
}

.product-feature {
	display: flex;
	align-items: flex-start;
	gap: var(--fc-space-md);
	padding: var(--fc-space-lg);
	background: var(--fc-bg);
	border-radius: var(--fc-radius-lg);
	border: 1px solid var(--fc-border);
	transition: all 0.25s ease;
}

.product-feature:hover {
	border-color: var(--fc-primary);
	box-shadow: var(--fc-shadow-sm);
}

.product-feature__icon {
	font-size: 1.75rem;
	flex-shrink: 0;
	line-height: 1;
	margin-top: 2px;
}

.product-feature__text {
	color: var(--fc-text);
	font-size: 0.93rem;
	line-height: 1.55;
	margin: 0;
}

/* Product WooCommerce notices */
.product-landing .woocommerce-message,
.product-landing .woocommerce-error,
.product-landing .woocommerce-info {
	margin-bottom: var(--fc-space-lg);
}

@media (max-width: 768px) {
	.product-landing__hero {
		grid-template-columns: 1fr;
		gap: var(--fc-space-xl);
	}

	.product-landing__visual {
		position: static;
		order: -1;
	}

	.product-landing__price {
		font-size: 1.6rem;
	}
}

/* ==========================================================================
   HEADER CART ICON
   ========================================================================== */

.site-header__cart {
	position: relative;
	display: inline-flex;
	align-items: center;
	color: var(--fc-text);
	transition: color 0.2s ease;
}

.site-header__cart:hover {
	color: var(--fc-primary);
}

.site-header__cart-count {
	position: absolute;
	top: -8px;
	right: -10px;
	background: var(--fc-accent);
	color: #fff;
	font-size: 0.7rem;
	font-weight: 700;
	min-width: 18px;
	height: 18px;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.site-header__cart-count--empty {
	display: none;
}

.site-header__cart-badge {
	color: var(--fc-accent);
	font-weight: 700;
}

/* ==========================================================================
   HEADER ACCOUNT ICON
   ========================================================================== */

.site-header__account {
	display: inline-flex;
	align-items: center;
	color: inherit;
	transition: color 0.2s ease;
}

.site-header__account:hover {
	color: var(--fc-primary);
}

/* ==========================================================================
   CROSS-SELL MODAL
   ========================================================================== */

.ms-modal-overlay {
	position: fixed;
	inset: 0;
	z-index: 10000;
	background: rgba(0, 0, 0, 0.55);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: var(--fc-space-md);
	animation: fadeIn 0.2s ease;
}

.ms-modal-overlay[hidden] {
	display: none;
}

@keyframes fadeIn {
	from { opacity: 0; }
	to { opacity: 1; }
}

.ms-modal {
	background: #fff;
	border-radius: 16px;
	max-width: 440px;
	width: 100%;
	padding: 2rem 2rem 1.5rem;
	text-align: center;
	position: relative;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.2);
	animation: slideUp 0.3s ease;
}

@keyframes slideUp {
	from { opacity: 0; transform: translateY(30px); }
	to { opacity: 1; transform: translateY(0); }
}

.ms-modal__close {
	position: absolute;
	top: 0.8rem;
	right: 1rem;
	background: none;
	border: none;
	font-size: 1.5rem;
	color: #999;
	cursor: pointer;
	line-height: 1;
	padding: 0.2rem;
	transition: color 0.2s;
}

.ms-modal__close:hover {
	color: #333;
}

.ms-modal__icon {
	font-size: 2.5rem;
	margin-bottom: 0.5rem;
}

.ms-modal__title {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--fc-text);
	margin: 0 0 0.6rem;
}

.ms-modal__text {
	font-size: 0.95rem;
	color: var(--fc-text-light);
	line-height: 1.5;
	margin: 0 0 1.2rem;
}

.ms-modal__product {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.8rem 1rem;
	background: #f8faf8;
	border: 1px solid #e0e8e0;
	border-radius: var(--fc-radius);
	margin-bottom: 1.5rem;
}

.ms-modal__product-name {
	font-weight: 600;
	font-size: 0.9rem;
	color: var(--fc-text);
	text-align: left;
}

.ms-modal__product-price {
	font-weight: 700;
	font-size: 1.1rem;
	color: var(--fc-primary);
	white-space: nowrap;
	margin-left: 1rem;
}

.ms-modal__actions {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.ms-modal__btn-add {
	width: 100%;
	font-size: 1rem;
	padding: 0.85rem 1.5rem;
}

.ms-modal__btn-skip {
	background: none;
	border: none;
	color: var(--fc-text-light);
	font-size: 0.9rem;
	cursor: pointer;
	padding: 0.5rem;
	transition: color 0.2s;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ms-modal__btn-skip:hover {
	color: var(--fc-text);
}

@media (max-width: 480px) {
	.ms-modal {
		padding: 1.5rem 1.2rem 1.2rem;
		border-radius: 12px;
	}

	.ms-modal__title {
		font-size: 1.1rem;
	}

	.ms-modal__product {
		flex-direction: column;
		gap: 0.3rem;
		text-align: center;
	}

	.ms-modal__product-price {
		margin-left: 0;
	}
}

/* ==========================================================================
   CARTES EDUCATIVES (acide urique + IG)
   ========================================================================== */

.edu-blocks {
	display: flex;
	flex-direction: column;
	gap: 3rem;
	margin-top: 2rem;
}

.edu-block {
	background: #fff;
	border-radius: 16px;
	padding: 2.5rem;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.06);
	border-left: 5px solid var(--fc-green, #16a34a);
}

.edu-block__header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
}

.edu-block__icon {
	font-size: 2rem;
	flex-shrink: 0;
}

.edu-block__title {
	font-size: 1.35rem;
	font-weight: 800;
	color: #111827;
	margin: 0;
	line-height: 1.3;
}

.edu-block__intro {
	font-size: 1.05rem;
	line-height: 1.7;
	color: #4b5563;
	margin: 0 0 1.5rem 0;
	font-style: italic;
}

.edu-block__diagram {
	margin: 1.5rem 0;
	border-radius: 12px;
	overflow-x: auto;
	background: #f9fafb;
	-webkit-overflow-scrolling: touch;
}
.edu-block__diagram img {
	min-width: 600px;
	width: 100%;
	height: auto;
	display: block;
}

.edu-block__content {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.edu-block__paragraph {
	padding-left: 1rem;
	border-left: 2px solid #e5e7eb;
}

.edu-block__subtitle {
	font-size: 1rem;
	font-weight: 700;
	color: var(--fc-green, #16a34a);
	margin: 0 0 0.5rem 0;
}

.edu-block__text {
	font-size: 0.95rem;
	line-height: 1.75;
	color: #374151;
	margin: 0;
}

.edu-block__text strong {
	color: #111827;
}

@media (max-width: 640px) {
	.edu-block {
		padding: 1.5rem;
	}

	.edu-block__title {
		font-size: 1.15rem;
	}

	.edu-block__paragraph {
		padding-left: 0.75rem;
	}
}

/* ------------------------------------------------------------------
   SCHÉMAS edu-block : miniature + zoom mobile (desktop inchangé)
   ------------------------------------------------------------------ */

/* Bouton zoom : caché sur desktop */
.edu-block__diagram-zoom {
	display: none;
}

/* Mobile ≤640px : thumbnail fixe + picto zoom */
@media (max-width: 640px) {
	/* Conteneur : hauteur limitée, pas de scroll horizontal */
	.edu-block__diagram {
		position: relative;
		max-height: 160px;
		overflow: hidden;
		cursor: pointer;
		border-radius: 10px;
		/* Remplace overflow-x:auto du desktop */
		overflow-x: hidden;
	}

	/* Image : couvre la miniature, calée en haut */
	.edu-block__diagram img {
		min-width: unset !important;
		width: 100% !important;
		max-height: 160px;
		object-fit: cover;
		object-position: top center;
		border-radius: 10px;
	}

	/* Dégradé en bas : indique qu'il y a plus à voir */
	.edu-block__diagram::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 60px;
		background: linear-gradient(transparent, rgba(249, 250, 251, 0.92));
		pointer-events: none;
		border-radius: 0 0 10px 10px;
	}

	/* Picto zoom : affiché en bas à droite de la miniature */
	.edu-block__diagram-zoom {
		display: flex;
		position: absolute;
		bottom: 10px;
		right: 10px;
		z-index: 10;
		width: 44px;
		height: 44px;
		background: rgba(22, 163, 74, 0.88);
		color: #ffffff;
		border: 2px solid rgba(255, 255, 255, 0.35);
		border-radius: 50%;
		align-items: center;
		justify-content: center;
		cursor: pointer;
		-webkit-backdrop-filter: blur(4px);
		backdrop-filter: blur(4px);
		transition: background 0.2s;
		padding: 0;
		/* Fix iOS Safari : force compositing pour recevoir les touch events
		   dans un parent overflow:hidden */
		-webkit-transform: translate3d(0, 0, 0);
		transform: translate3d(0, 0, 0);
		-webkit-tap-highlight-color: transparent;
		touch-action: manipulation;
	}

	.edu-block__diagram-zoom:active {
		background: rgba(22, 163, 74, 1);
		-webkit-transform: translate3d(0, 0, 0) scale(0.95);
		transform: translate3d(0, 0, 0) scale(0.95);
	}
}

/* Lightbox plein écran (JS injecte .diagram-lightbox dans <body>) */
.diagram-lightbox {
	position: fixed;
	inset: 0;
	z-index: 99990;
	background: rgba(0, 0, 0, 0.93);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1rem;
	animation: dlFadeIn 0.18s ease;
	-webkit-tap-highlight-color: transparent;
}

@keyframes dlFadeIn {
	from { opacity: 0; }
	to   { opacity: 1; }
}

.diagram-lightbox__scroll {
	overflow: auto;
	-webkit-overflow-scrolling: touch;
	max-width: 100%;
	max-height: 85vh;
	border-radius: 8px;
}

.diagram-lightbox__scroll img {
	display: block;
	width: auto;
	height: auto;
	min-width: min(800px, 92vw);
	max-height: 82vh;
}

.diagram-lightbox__close {
	position: fixed;
	top: 0.75rem;
	right: 0.75rem;
	z-index: 99991;
	width: 44px;
	height: 44px;
	background: rgba(255, 255, 255, 0.15);
	color: #ffffff;
	border: 2px solid rgba(255, 255, 255, 0.3);
	border-radius: 50%;
	font-size: 1.1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
	padding: 0;
	line-height: 1;
}

.diagram-lightbox__hint {
	position: fixed;
	bottom: calc(1.25rem + env(safe-area-inset-bottom, 0px));
	left: 50%;
	transform: translateX(-50%);
	color: rgba(255, 255, 255, 0.55);
	font-size: 0.78rem;
	white-space: nowrap;
	pointer-events: none;
}

/* ==========================================================================
   CITATIONS DE SOURCES MÉDICALES
   ========================================================================== */

.source-citation {
	font-size: 0.8rem;
	color: var(--fc-muted, #6b7280);
	font-style: italic;
}
.source-citation a {
	color: var(--fc-green, #16a34a);
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 2px;
}
.source-citation a:hover {
	color: var(--fc-green-dark, #15803d);
}

/* ==========================================================================
   RÉSUMÉ ARTICLE (GEO — optimisé pour les IA)
   ========================================================================== */

.article-summary {
	background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
	border-left: 4px solid var(--fc-green, #16a34a);
	border-radius: 0 12px 12px 0;
	padding: 1.5rem 2rem;
	margin: 0 0 2.5rem;
}

.article-summary__label {
	font-weight: 700;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--fc-green, #16a34a);
	margin: 0 0 0.5rem;
}

.article-summary__text {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--fc-text, #374151);
	margin: 0;
}

@media (max-width: 768px) {
	.article-summary {
		padding: 1.25rem 1.5rem;
	}
}

/* ==========================================================================
   RÉSUMÉ ARTICLE (ms_article_summary)
   ========================================================================== */

.article-summary {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	padding: 1.25rem 1.5rem;
	background: #f0fdf4;
	border-left: 4px solid var(--fc-green, #16a34a);
	border-radius: 0 8px 8px 0;
	margin: 0 0 2rem;
}

.article-summary__label {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--fc-green, #16a34a);
	margin: 0;
}

.article-summary__text {
	font-size: 0.975rem;
	line-height: 1.65;
	color: #374151;
	margin: 0;
}

/* ==========================================================================
   BIO AUTEUR (articles de blog)
   ========================================================================== */

.author-bio {
	display: flex;
	gap: 1.5rem;
	align-items: flex-start;
	padding: 2rem;
	background: #f9fafb;
	border-radius: 12px;
	border: 1px solid #e5e7eb;
	margin: 2.5rem 0;
}

.author-bio__avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	object-fit: cover;
	flex-shrink: 0;
	border: 3px solid var(--fc-green, #16a34a);
}

.author-bio__content {
	flex: 1;
}

.author-bio__name {
	font-size: 1.1rem;
	font-weight: 700;
	color: #111827;
	margin: 0 0 0.25rem 0;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.author-bio__linkedin {
	display: inline-flex;
	flex-shrink: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

.author-bio__linkedin:hover {
	opacity: 0.8;
	transform: translateY(-1px);
}

.author-bio__role {
	font-size: 0.85rem;
	color: var(--fc-green, #16a34a);
	font-weight: 600;
	margin: 0 0 0.75rem 0;
}

.author-bio__text {
	font-size: 0.9rem;
	line-height: 1.65;
	color: #4b5563;
	margin: 0;
}

.author-bio__disclaimer {
	font-size: 0.8rem;
	color: #9ca3af;
	font-style: italic;
	margin: 0.5rem 0 0 0;
}

@media (max-width: 640px) {
	.author-bio {
		flex-direction: column;
		align-items: center;
		text-align: center;
		padding: 1.5rem;
	}

	.author-bio__avatar {
		width: 64px;
		height: 64px;
	}

	.author-bio__name {
		justify-content: center;
	}

}

/* ==========================================================================
   TEMOIGNAGES
   ========================================================================== */

.testimonials {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 1.5rem;
	margin-top: 2rem;
}

.testimonial {
	background: #fff;
	border-radius: 12px;
	padding: 1.75rem;
	margin: 0;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.testimonial__stars {
	color: #f59e0b;
	font-size: 1.1rem;
	letter-spacing: 2px;
}

.testimonial__text {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #374151;
	font-style: italic;
	margin: 0;
	flex: 1;
}

.testimonial__text::before {
	content: "\201C";
	font-size: 1.5rem;
	color: #16a34a;
	margin-right: 2px;
}

.testimonial__text::after {
	content: "\201D";
	font-size: 1.5rem;
	color: #16a34a;
	margin-left: 2px;
}

.testimonial__author {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid #f0f0f0;
}

.testimonial__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--fc-green-100) 0%, var(--fc-green-200) 100%);
	color: var(--fc-primary);
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1rem;
	flex-shrink: 0;
}

.testimonial__meta {
	display: flex;
	flex-direction: column;
	gap: 0.15rem;
}

.testimonial__name {
	font-weight: 600;
	color: #111827;
	font-size: 0.9rem;
}

.testimonial__detail {
	font-size: 0.875rem;
	color: #6b7280;
}

@media (max-width: 640px) {
	.testimonials {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   CONTACT FORM 7 — UX/UI amélioré
   ========================================================================== */

.wpcf7 {
	max-width: 640px;
	margin: 0 auto;
}

.wpcf7-form {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-lg);
}

.wpcf7-form p {
	margin: 0;
}

.wpcf7-form label {
	display: block;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--fc-text);
	margin-bottom: var(--fc-space-xs);
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form input[type="tel"],
.wpcf7-form input[type="url"],
.wpcf7-form textarea,
.wpcf7-form select {
	width: 100%;
	padding: 0.75rem 1.25rem;
	border: 2px solid var(--fc-border);
	border-radius: var(--fc-radius-pill);
	font-size: 1rem;
	font-family: var(--fc-font-body);
	color: var(--fc-text);
	background: var(--fc-bg);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.wpcf7-form input[type="text"]:focus,
.wpcf7-form input[type="email"]:focus,
.wpcf7-form input[type="tel"]:focus,
.wpcf7-form input[type="url"]:focus,
.wpcf7-form textarea:focus,
.wpcf7-form select:focus {
	outline: none;
	border-color: var(--fc-primary);
	box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.1);
}

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder {
	color: var(--fc-gray-400);
}

.wpcf7-form textarea {
	min-height: 150px;
	resize: vertical;
	border-radius: var(--fc-radius-xl);
}

.wpcf7-form input[type="submit"],
.wpcf7-form button[type="submit"] {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.9rem 2.5rem;
	background-color: var(--fc-accent, #f97316) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: var(--fc-radius-pill, 50px) !important;
	font-size: 1.05rem;
	font-weight: 600;
	font-family: var(--fc-font-body);
	cursor: pointer;
	transition: all 0.3s ease;
	width: auto;
	align-self: flex-start;
}

.wpcf7-form input[type="submit"]:hover,
.wpcf7-form button[type="submit"]:hover {
	background-color: var(--fc-accent-hover, #d35400) !important;
	transform: translateY(-1px);
	box-shadow: var(--fc-shadow-md);
}

.wpcf7-form input[type="submit"]:active {
	transform: translateY(0);
}

/* Validation CF7 */
.wpcf7-not-valid {
	border-color: var(--fc-level-high) !important;
}

.wpcf7-not-valid-tip {
	color: var(--fc-level-high);
	font-size: 0.85rem;
	margin-top: var(--fc-space-xs);
}

.wpcf7-response-output {
	padding: var(--fc-space-md) var(--fc-space-lg) !important;
	border-radius: var(--fc-radius-xl) !important;
	font-size: 0.95rem;
	margin: var(--fc-space-lg) 0 0 !important;
}

.wpcf7-mail-sent-ok,
.wpcf7 form.sent .wpcf7-response-output {
	border-color: var(--fc-primary) !important;
	background: var(--fc-green-50);
	color: var(--fc-green-800);
}

.wpcf7-validation-errors,
.wpcf7 form.invalid .wpcf7-response-output {
	border-color: var(--fc-level-high) !important;
	background: var(--fc-level-high-bg);
	color: var(--fc-level-high);
}

/* Spinner CF7 */
.wpcf7-spinner {
	margin-left: var(--fc-space-sm);
}

/* ==========================================================================
   FORM GENERAL — inputs et selects globaux
   ========================================================================== */

.article-content input[type="text"],
.article-content input[type="email"],
.article-content textarea,
.article-content select {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 2px solid var(--fc-border);
	border-radius: var(--fc-radius-md);
	font-size: 1rem;
	font-family: var(--fc-font-body);
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.article-content input[type="text"]:focus,
.article-content input[type="email"]:focus,
.article-content textarea:focus,
.article-content select:focus {
	outline: none;
	border-color: var(--fc-primary);
	box-shadow: 0 0 0 4px rgba(22, 163, 74, 0.1);
}

/* ==========================================================================
   RESPONSIVE — NOUVELLES SECTIONS
   ========================================================================== */

@media (max-width: 768px) {
	.db-hero {
		min-height: 280px;
	}

	.db-hero__stats {
		gap: var(--fc-space-lg);
	}

	.db-hero__stat-number {
		font-size: 1.4rem;
	}

	.article-hero {
		min-height: 280px;
	}

	.article-hero__title {
		font-size: 1.6rem;
	}

	.article-layout {
		grid-template-columns: 1fr;
	}

	.article-layout__sidebar {
		position: static;
	}

	.blog-hero {
		min-height: 220px;
	}

	.article-share {
		flex-direction: column;
		align-items: flex-start;
	}

	.error-page__links {
		grid-template-columns: 1fr;
		max-width: 250px;
		margin: 0 auto;
	}

	.card--featured {
		flex-direction: column;
	}

	.card--featured .card__image-wrap {
		min-height: auto;
		aspect-ratio: 16 / 10;
	}
}

@media (max-width: 480px) {
	.article-hero__content {
		padding: var(--fc-space-xl) var(--fc-space-md) var(--fc-space-lg);
	}

	.blog-grid--archive {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   FAQ ACCORDION (D9/D23 — Guide UX/UI)
   ========================================================================== */

.faq-list {
	max-width: 720px;
	margin: 2rem auto 0;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
}

.faq-item {
	background: var(--fc-bg);
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-lg);
	overflow: hidden;
	transition: border-color 0.2s ease;
}

.faq-item[open] {
	border-color: var(--fc-primary);
}

.faq-item__question {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.1rem 1.5rem;
	font-weight: 600;
	font-size: 1rem;
	color: var(--fc-text);
	cursor: pointer;
	list-style: none;
	min-height: 48px;
	user-select: none;
	transition: background-color 0.2s ease;
}

.faq-item__question::-webkit-details-marker {
	display: none;
}

.faq-item__question::after {
	content: '';
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	margin-left: 1rem;
	background-image: 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='%23525252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	transition: transform 0.3s ease;
}

.faq-item[open] .faq-item__question::after {
	transform: rotate(180deg);
}

.faq-item__question:hover {
	background-color: var(--fc-bg-alt);
}

.faq-item__answer {
	padding: 0 1.5rem 1.25rem;
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--fc-text-light);
	animation: faqOpen 0.3s ease;
}

.faq-item__answer strong {
	color: var(--fc-text);
	font-weight: 600;
}

@keyframes faqOpen {
	from {
		opacity: 0;
		max-height: 0;
	}
	to {
		opacity: 1;
		max-height: 500px;
	}
}

/* ==========================================================================
   HERO PRODUIT PDF — Plein fond avec photo et overlay (inspiré home hero)
   ========================================================================== */

.product-pdf-hero {
	position: relative;
	overflow: hidden;
	min-height: 560px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.product-pdf-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.product-pdf-hero__bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 40%;
	display: block;
}

.product-pdf-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(20, 60, 20, 0.88) 0%, rgba(10, 45, 10, 0.82) 100%);
}

.product-pdf-hero__content {
	position: relative;
	z-index: 1;
	text-align: center;
	padding: var(--fc-space-3xl) var(--fc-space-md);
	max-width: 760px;
	margin: 0 auto;
	width: 100%;
}

.product-pdf-hero__breadcrumb {
	margin-bottom: var(--fc-space-md);
	font-size: 0.82rem;
	opacity: 0.7;
}

.product-pdf-hero__breadcrumb a,
.product-pdf-hero__breadcrumb span {
	color: rgba(255,255,255,0.8);
	text-decoration: none;
}

.product-pdf-hero__breadcrumb .breadcrumbs__separator {
	margin: 0 0.4em;
	color: rgba(255,255,255,0.4);
}

.product-pdf-hero__badge {
	display: inline-block;
	background: rgba(255,255,255,0.15);
	border: 1px solid rgba(255,255,255,0.25);
	color: rgba(255,255,255,0.92);
	font-size: 0.82rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	padding: 5px 14px;
	border-radius: 20px;
	margin-bottom: var(--fc-space-md);
}

.product-pdf-hero__title {
	font-size: clamp(1.7rem, 4.5vw, 2.6rem);
	color: #ffffff;
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 var(--fc-space-md);
}

.product-pdf-hero__excerpt {
	font-size: 1.05rem;
	color: rgba(255,255,255,0.85);
	line-height: 1.65;
	margin: 0 0 var(--fc-space-lg);
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

.product-pdf-hero__price-wrap {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.5rem;
	margin-bottom: var(--fc-space-md);
}

.product-pdf-hero__price {
	font-size: 2.2rem;
	font-weight: 800;
	color: #ffffff;
}

.product-pdf-hero__price .woocommerce-Price-amount {
	color: #ffffff;
}

.product-pdf-hero__tax {
	font-size: 0.9rem;
	color: rgba(255,255,255,0.6);
}

.product-pdf-hero__form {
	margin-bottom: var(--fc-space-md);
}

.btn--xl {
	padding: 1rem 2.4rem;
	font-size: 1.1rem;
	font-weight: 700;
}

.product-pdf-hero__trust {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem 1.8rem;
	font-size: 0.85rem;
	color: rgba(255,255,255,0.75);
	margin-bottom: var(--fc-space-lg);
}

.product-pdf-hero__details {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0.5rem 1.5rem;
	list-style: none;
	padding: 0;
	margin: 0;
	font-size: 0.82rem;
	color: rgba(255,255,255,0.6);
	border-top: 1px solid rgba(255,255,255,0.15);
	padding-top: var(--fc-space-md);
}

.product-pdf-hero__details li strong {
	color: rgba(255,255,255,0.85);
}

/* Responsive mobile */
@media (max-width: 600px) {
	.product-pdf-hero {
		min-height: 480px;
	}

	.product-pdf-hero__title {
		font-size: 1.5rem;
	}

	.product-pdf-hero__excerpt {
		font-size: 0.95rem;
	}

	.product-pdf-hero__price {
		font-size: 1.8rem;
	}

	.product-pdf-hero__trust {
		gap: 0.6rem 1rem;
		font-size: 0.8rem;
	}
}

/* ==========================================================================
   CTA FINAL SECTION (D23 — Guide UX/UI)
   ========================================================================== */

.section--cta-final {
	background: linear-gradient(160deg, var(--fc-green-800) 0%, var(--fc-green-900) 100%);
	color: #ffffff;
	text-align: center;
	padding: var(--fc-space-3xl) var(--fc-space-md);
}

.section--cta-final__title {
	font-size: clamp(1.6rem, 4vw, 2.2rem);
	color: #ffffff;
	margin-bottom: var(--fc-space-md);
}

.section--cta-final__text {
	font-size: 1.1rem;
	color: rgba(255, 255, 255, 0.85);
	max-width: 560px;
	margin: 0 auto var(--fc-space-xl);
	line-height: 1.7;
}

.section--cta-final .cart {
	margin-bottom: var(--fc-space-md);
}

.btn--white {
	background-color: var(--fc-accent);
	color: #ffffff;
	font-weight: 700;
}

.btn--white:hover {
	background-color: var(--fc-accent-hover);
	color: #ffffff;
	transform: translateY(-1px);
	box-shadow: var(--fc-shadow-lg);
}

.section--cta-final__guarantee {
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.7);
	margin: 0;
}

/* ==========================================================================
   MICRO-PREUVES (D3 — Guide UX/UI)
   ========================================================================== */

.micro-proofs {
	display: flex;
	flex-wrap: wrap;
	gap: 1.25rem;
	margin-top: 1.25rem;
	padding-top: 1.25rem;
	border-top: 1px solid var(--fc-border);
}

.micro-proof {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	font-size: 0.85rem;
	color: var(--fc-text-light);
}

.micro-proof__icon {
	font-size: 1rem;
	flex-shrink: 0;
}

/* ==========================================================================
   CTA STICKY MOBILE (D25 — Guide UX/UI)
   ========================================================================== */

.sticky-cta-mobile {
	display: none;
}

@media (max-width: 768px) {
	.sticky-cta-mobile {
		display: block;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		z-index: 50;
		background: #ffffff;
		padding: 0.75rem 1rem;
		box-shadow: 0 -4px 12px rgba(0, 0, 0, 0.1);
		transform: translateY(100%);
		transition: transform 0.3s ease;
	}

	.sticky-cta-mobile--visible {
		transform: translateY(0);
	}

	.sticky-cta-mobile__inner {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		max-width: var(--fc-max-width);
		margin: 0 auto;
	}

	.sticky-cta-mobile__price {
		font-size: 1.1rem;
		font-weight: 800;
		color: var(--fc-primary);
		white-space: nowrap;
	}

	.sticky-cta-mobile .btn {
		flex: 1;
		padding: 0.85rem 1rem;
		font-size: 0.95rem;
		border-radius: var(--fc-radius-lg);
	}

	/* Ajout padding en bas pour ne pas masquer le contenu */
	body.has-sticky-cta {
		padding-bottom: 70px;
	}
}

/* ==========================================================================
   PRODUCT LANDING — VISUAL / IMAGE (D4 : layout 50/50)
   ========================================================================== */

.product-landing__visual {
	border-radius: var(--fc-radius-xl);
	overflow: hidden;
	background: var(--fc-bg-alt);
	border: 1px solid var(--fc-border);
	position: sticky;
	top: calc(var(--fc-header-height, 80px) + var(--fc-space-md));
}

.product-landing__image {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.product-landing__visual .product-landing__details {
	list-style: none;
	padding: var(--fc-space-md) var(--fc-space-lg) 0;
	margin: 0;
}

.product-landing__visual .product-landing__details li {
	padding: var(--fc-space-sm) 0;
	border-bottom: 1px solid var(--fc-border);
	font-size: 0.9rem;
	line-height: 1.5;
}

.product-landing__visual .product-landing__details li:last-child {
	border-bottom: none;
}

.product-landing__visual .product-landing__details strong {
	display: block;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--fc-text-light);
	margin-bottom: 2px;
}

.product-landing__visual .product-landing__secure {
	font-size: 0.85rem;
	color: var(--fc-text-light);
	margin: 0;
	padding: var(--fc-space-sm) var(--fc-space-lg) var(--fc-space-lg);
}

@media (max-width: 768px) {
	.product-landing__visual {
		position: static;
		order: -1;
	}
}

/* ==========================================================================
   PROBLEM SECTION (D23 : identification émotionnelle)
   ========================================================================== */

.section--problem {
	background: linear-gradient(160deg, #fffcf5 0%, #fff8ed 100%);
	border-top: 1px solid #fed7aa;
	border-bottom: 1px solid #fed7aa;
}

.problem {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--fc-space-2xl);
	align-items: center;
}

.problem__image {
	border-radius: 1.5rem;
	overflow: hidden;
	box-shadow: 0 20px 60px -10px rgba(0, 0, 0, 0.18);
}

.problem__image img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.problem__title {
	font-family: var(--fc-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--fc-heading);
	margin-bottom: var(--fc-space-md);
	line-height: 1.25;
}

.problem__text {
	font-size: 1rem;
	line-height: 1.75;
	color: var(--fc-text);
	margin-bottom: var(--fc-space-lg);
}

.problem__list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
}

.problem__list li {
	position: relative;
	padding: 0.75rem 1rem 0.75rem 2.75rem;
	font-size: 0.9rem;
	line-height: 1.55;
	color: #7f1d1d;
	background: rgba(220, 38, 38, 0.05);
	border: 1px solid rgba(220, 38, 38, 0.14);
	border-left: 3px solid #dc2626;
	border-radius: 0 0.5rem 0.5rem 0;
	font-weight: 500;
}

.problem__list li::before {
	content: "\2717";
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	color: #dc2626;
	font-weight: 700;
	font-size: 0.9rem;
}

@media (max-width: 768px) {
	.problem {
		grid-template-columns: 1fr;
		gap: var(--fc-space-xl);
	}

	.problem__image {
		max-height: 250px;
	}
}

/* ==========================================================================
   APPROACH SECTION (méthode scientifique)
   ========================================================================== */

.section--approach {
	background: linear-gradient(160deg, #f0fdf4 0%, #e8faf0 50%, #f0fdf4 100%);
	border-top: 1px solid #bbf7d0;
	border-bottom: 1px solid #bbf7d0;
}

.approach {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--fc-space-2xl);
	align-items: center;
}

.approach__image {
	border-radius: 1.5rem;
	overflow: hidden;
	box-shadow: 0 20px 60px -10px rgba(0, 0, 0, 0.15);
}

.approach__image img {
	width: 100%;
	height: auto;
	display: block;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}

.approach__tagline {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--fc-primary, #16a34a);
	color: #fff;
	padding: 0.3rem 0.875rem;
	border-radius: 2rem;
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	margin-bottom: 1rem;
}

.approach__tagline::before {
	content: "◆";
	font-size: 0.55rem;
	opacity: 0.8;
}

.approach__title {
	font-family: var(--fc-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--fc-heading);
	margin-bottom: var(--fc-space-md);
	line-height: 1.25;
}

.approach__text {
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--fc-text);
	margin-bottom: var(--fc-space-lg);
}

.approach__list {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--fc-space-xl);
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.625rem;
}

.approach__list li {
	position: relative;
	padding: 0.875rem 0.875rem 0.875rem 2.5rem;
	background: #fff;
	border-radius: 0.75rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(22, 163, 74, 0.1);
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--fc-heading);
}

.approach__list li::before {
	content: "✓";
	position: absolute;
	left: 0.875rem;
	top: 0.875rem;
	color: var(--fc-primary, #16a34a);
	font-weight: 700;
	font-size: 1rem;
}

@media (max-width: 768px) {
	.approach {
		grid-template-columns: 1fr;
		gap: var(--fc-space-xl);
	}

	.approach__image {
		max-height: 250px;
	}

	.approach__list {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   PDF SECTION — Guide pratique
   ========================================================================== */

.section--pdf {
	background: linear-gradient(160deg, #fafdf7 0%, #f4fbf6 100%);
	border-top: 1px solid #bbf7d0;
	border-bottom: 1px solid #bbf7d0;
}

/* Titre plus grand */
.section--pdf .pdf-section__title {
	font-family: var(--fc-font-heading);
	font-size: clamp(1.5rem, 3vw, 2rem);
	line-height: 1.25;
	margin-bottom: var(--fc-space-md);
}

/* Texte intro légèrement plus lisible */
.section--pdf .pdf-section__text {
	font-size: 1rem;
	line-height: 1.75;
}

/* Features list → mini-cards style (cohérent avec approach__list) */
.section--pdf .pdf-section__features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.625rem;
	margin-bottom: var(--fc-space-xl);
}

.section--pdf .pdf-section__feature {
	background: #fff;
	border-radius: 0.75rem;
	padding: 0.75rem 0.875rem 0.75rem 2.5rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06), 0 0 0 1px rgba(22, 163, 74, 0.1);
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--fc-heading);
	line-height: 1.4;
	position: relative;
	align-items: unset;
	gap: 0;
}

.section--pdf .pdf-section__check {
	position: absolute;
	left: 0.875rem;
	top: 0.75rem;
	font-size: 1rem;
	font-weight: 700;
}

/* Thumbnail couverture guide dans la card */
.pdf-section__thumb {
	margin-bottom: 1.5rem;
}

.pdf-section__thumb img {
	width: 100%;
	max-width: 260px;
	height: auto;
	border-radius: 4px;
	box-shadow: 0 12px 40px rgba(0, 0, 0, 0.22), 5px 5px 0 rgba(0, 0, 0, 0.08);
	display: block;
	margin: 0 auto;
}

/* Card produit — accent orange + ombre plus marquée */
.section--pdf .pdf-section__card {
	background: linear-gradient(145deg, #fff9f0 0%, #fff 60%, #f0fdf4 100%);
	border: 1.5px solid #fed7aa;
	border-top: 4px solid var(--fc-accent, #f97316);
	box-shadow: 0 20px 60px -10px rgba(249, 115, 22, 0.15), 0 4px 20px rgba(0,0,0,0.06);
}

/* Icône livre → plus grand et visible */
.section--pdf .pdf-section__icon {
	font-size: 4rem;
	line-height: 1;
	margin-bottom: 1.25rem;
}

/* Prix — orange pour cohérence avec CTA */
.section--pdf .pdf-section__price {
	color: var(--fc-accent, #f97316);
}

/* Label "PDF — Téléchargement immédiat" */
.section--pdf .pdf-section__download {
	margin-top: 0.5rem;
	font-size: 0.85rem;
	font-weight: 500;
}

@media (max-width: 768px) {
	.section--pdf .pdf-section__features {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   FOOTER — PAYMENT BADGES (D14)
   ========================================================================== */

.site-footer__badges {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-top: var(--fc-space-sm);
}

.payment-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: rgba(255, 255, 255, 0.08);
	border-radius: 6px;
	padding: 4px;
	transition: background 0.2s ease;
}

.payment-badge:hover {
	background: rgba(255, 255, 255, 0.15);
}

.payment-badge svg {
	display: block;
}

/* ==========================================================================
   SECTION SPACING (D30 : 80px desktop / 48px mobile)
   ========================================================================== */

.section {
	padding: 80px var(--fc-space-md);
}

@media (max-width: 768px) {
	.section {
		padding: 48px var(--fc-space-md);
	}
}

/* ==========================================================================
   PREFERS-REDUCED-MOTION (D9 Accessibilité)
   ========================================================================== */

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

/* ==========================================================================
   WOOCOMMERCE — Boutons du tunnel (panier, checkout, produit)
   Override des styles block WooCommerce pour respecter la charte graphique
   ========================================================================== */

/* Tous les boutons WooCommerce : style accent (orange arrondi) */
.wc-block-components-button.contained,
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
.wp-block-button__link,
.wc-block-grid__product-add-to-cart .wp-element-button,
.wc-block-grid__product-add-to-cart a,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .cart .button,
.woocommerce .checkout .button,
#place_order {
	background-color: var(--fc-accent, #e67e22) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: var(--fc-radius-pill, 50px) !important;
	font-family: var(--fc-font-body, 'Inter', sans-serif) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: 0.85rem 2rem !important;
	text-decoration: none !important;
	transition: all 0.3s ease !important;
	cursor: pointer !important;
	letter-spacing: 0.01em !important;
	line-height: 1 !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.wc-block-components-button.contained:hover,
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover,
.wp-block-button__link:hover,
.wc-block-grid__product-add-to-cart .wp-element-button:hover,
.wc-block-grid__product-add-to-cart a:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
#place_order:hover {
	background-color: var(--fc-accent-hover, #d35400) !important;
	color: #ffffff !important;
	transform: translateY(-1px);
	box-shadow: var(--fc-shadow-md, 0 4px 12px rgba(0,0,0,0.15)) !important;
}

/* Bouton "Valider la commande" et "Commander" : plus grand */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button,
#place_order {
	width: 100% !important;
	font-size: 1.125rem !important;
	padding: 1rem 2rem !important;
}

/* Boutons outline pour actions secondaires WooCommerce */
.wc-block-components-button:not(.contained),
.woocommerce a.button.alt,
.woocommerce .coupon .button {
	background-color: transparent !important;
	color: var(--fc-accent, #e67e22) !important;
	border: 2px solid var(--fc-accent, #e67e22) !important;
	border-radius: var(--fc-radius-pill, 50px) !important;
}

.wc-block-components-button:not(.contained):hover,
.woocommerce a.button.alt:hover,
.woocommerce .coupon .button:hover {
	background-color: var(--fc-accent, #e67e22) !important;
	color: #ffffff !important;
}

/* Badge promo dans la grille produits */
.wc-block-grid__product .wc-block-grid__product-onsale,
.onsale {
	background-color: var(--fc-accent, #e67e22) !important;
	color: #ffffff !important;
	border-radius: var(--fc-radius-pill, 50px) !important;
	font-size: 0.75rem !important;
	font-weight: 600 !important;
	padding: 0.25rem 0.75rem !important;
	border: none !important;
}

/* Liens dans le tunnel WooCommerce */
.wc-block-components-checkout-return-to-cart-button {
	color: var(--fc-green, #2d8a4e) !important;
}

/* Mon compte — navigation */
.woocommerce-MyAccount-navigation a {
	color: var(--fc-green, #2d8a4e) !important;
}

/* Mon compte — tous les boutons d'action */
.woocommerce-MyAccount-content button,
.woocommerce-MyAccount-content input[type="submit"],
.woocommerce-MyAccount-content .button,
.woocommerce-form-login button[type="submit"],
.woocommerce-form-register button[type="submit"],
.woocommerce-EditAccountForm button[type="submit"],
.woocommerce-address-fields button[type="submit"],
.woocommerce form.login button[type="submit"],
.woocommerce form.register button[type="submit"],
.woocommerce-ResetPassword button[type="submit"],
.woocommerce-form-login__submit,
.woocommerce-form-register__submit {
	background-color: var(--fc-accent, #f97316) !important;
	color: #ffffff !important;
	border: none !important;
	border-radius: var(--fc-radius-pill, 50px) !important;
	font-family: var(--fc-font-body, 'Inter', sans-serif) !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: 0.85rem 2rem !important;
	cursor: pointer !important;
	transition: all 0.3s ease !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.woocommerce-MyAccount-content button:hover,
.woocommerce-MyAccount-content input[type="submit"]:hover,
.woocommerce-form-login button[type="submit"]:hover,
.woocommerce-form-register button[type="submit"]:hover,
.woocommerce-EditAccountForm button[type="submit"]:hover,
.woocommerce-address-fields button[type="submit"]:hover,
.woocommerce form.login button[type="submit"]:hover,
.woocommerce form.register button[type="submit"]:hover {
	background-color: var(--fc-accent-hover, #d35400) !important;
	transform: translateY(-1px);
	box-shadow: var(--fc-shadow-md, 0 4px 12px rgba(0,0,0,0.15)) !important;
}

/* Quantité +/- boutons dans le panier */
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	color: var(--fc-text, #374151) !important;
	border-color: var(--fc-green-200, #bbf7d0) !important;
}

/* Le bouton ＋ de WooCommerce Blocks utilise U+FF0B (fullwidth plus), absent de la
   police Inter → glyph manquant (carré vide). On masque le caractère et on le
   remplace par un + ASCII via ::after.
   Spécificité haute (3 classes) pour battre la règle font-size: 1.1rem plus bas. */
.wc-block-components-quantity-selector
.wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--plus {
	font-size: 0 !important;
}
.wc-block-components-quantity-selector
.wc-block-components-quantity-selector__button.wc-block-components-quantity-selector__button--plus::after {
	content: '+';
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1;
	color: var(--fc-text, #374151);
}

/* ------------------------------------------------------------------
   Panier mobile — correctifs de layout ligne produit
   Problèmes : badge "Économisez" déborde à droite, bouton + trop
   étroit, bouton poubelle non aligné.
   ------------------------------------------------------------------ */

/* Sélecteur de quantité : forcer une largeur suffisante pour les 3 éléments */
.wc-block-components-quantity-selector {
	width: max-content !important;
	flex-shrink: 0 !important;
}

/* Conteneur quantité + bouton supprimer : flex aligné */
.wc-block-cart-item__quantity {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	flex-wrap: nowrap !important;
	overflow: visible !important;
}

/* Bouton supprimer : même taille tactile que les boutons +/- */
.wc-block-cart-item__remove-link {
	min-width: 44px !important;
	min-height: 44px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	background: none !important;
	border: none !important;
	cursor: pointer !important;
	color: var(--fc-text-muted, #9ca3af) !important;
	padding: 0 !important;
	border-radius: 8px !important;
	flex-shrink: 0 !important;
}

.wc-block-cart-item__remove-link:hover {
	color: var(--fc-danger, #ef4444) !important;
}

/* Badge "Économisez" dans la colonne total : empêcher le débordement */
.wc-block-cart-item__total {
	vertical-align: top;
	white-space: nowrap;
}

.wc-block-cart-item__total-price-and-sale-badge-wrapper {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 4px !important;
}

.wc-block-components-sale-badge {
	white-space: normal !important;
	word-break: break-word !important;
	text-align: right !important;
	font-size: 0.65rem !important;
	line-height: 1.2 !important;
	padding: 2px 6px !important;
	max-width: 80px !important;
}

/* ==========================================================================
   PRINT
   ========================================================================== */

@media print {
	.site-header,
	.site-footer,
	.lang-switcher,
	.btn,
	.cta-box,
	.paywall__overlay {
		display: none !important;
	}

	.aliments-table__blurred {
		filter: none !important;
	}
}

/* ==========================================================================
   FOOTER — CORRECTIONS TYPOGRAPHIQUES
   ========================================================================== */

/* Réduire la taille du texte "À propos" au même niveau que les liens */
.site-footer__inner > div > p {
	font-size: 0.875rem;
	line-height: 1.65;
	color: var(--fc-gray-400, #9ca3af);
	margin: 0;
}

/* Titre de colonne harmonisé */
.site-footer__title {
	font-size: 0.8rem !important;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-weight: 700;
	color: rgba(255, 255, 255, 0.6) !important;
	margin-bottom: 1rem !important;
}

/* Liens footer taille homogène */
.site-footer__links a {
	font-size: 0.875rem;
}

/* Ligne du bas : aligner verticalement copyright et disclaimer */
.site-footer__bottom {
	align-items: center !important;
}

.site-footer__bottom > span:first-child {
	font-size: 0.8rem;
	color: var(--fc-gray-500, #6b7280);
}

.site-footer__disclaimer {
	font-size: 0.78rem !important;
	margin-top: 0 !important;
	text-align: right;
}

/* ==========================================================================
   BLOG HERO — CATÉGORIE (overlay couleur variable)
   ========================================================================== */

.blog-hero--category .blog-hero__overlay--cat {
	background: linear-gradient(
		160deg,
		color-mix(in srgb, var(--cat-hero-color, #15803d) 75%, #1a1a1a) 0%,
		rgba(20, 20, 20, 0.7) 100%
	);
}

.blog-hero__cat-badge {
	display: inline-block;
	padding: 0.25rem 0.85rem;
	border-radius: 20px;
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #fff;
	margin-bottom: var(--fc-space-md);
}

/* Lien actif dans la sidebar catégories */
.sidebar-cats__link.is-active {
	font-weight: 600;
	color: var(--cat-color, var(--fc-primary));
	background: var(--fc-bg-alt, #f3f4f6);
}

/* Supprimer stats bar du hero blog (ancienne version) */
.blog-hero__stats {
	display: none;
}

/* ==========================================================================
   PHASE 1 — Quick Wins (hero proof, prix barré, paywall price)
   ========================================================================== */

/* Micro-preuves sous le hero CTA */
.hero__proof {
	text-align: center;
	font-size: 0.9rem;
	color: rgba(255, 255, 255, 0.8);
	margin-top: var(--fc-space-sm);
	letter-spacing: 0.01em;
}

/* Prix barré dans la section PDF */
.pdf-section__old-price {
	text-decoration: line-through;
	color: #999;
	font-size: 1.8rem;
	font-weight: 500;
	margin-right: 0.5rem;
}

/* ==========================================================================
   PHASE 2 — Announce bar, témoignages, inline CTA
   ========================================================================== */

/* Barre d'annonce */
.announce-bar {
	background: linear-gradient(135deg, var(--fc-green-700), var(--fc-green-600));
	text-align: center;
	padding: 0.5rem 1rem;
	font-size: 0.875rem;
}
.announce-bar__link {
	color: #fff;
	text-decoration: none;
}
.announce-bar__link:hover,
.announce-bar__link:focus {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: rgba(255, 255, 255, 0.6);
}
.announce-bar__link del {
	opacity: 0.7;
}
.announce-bar__link strong {
	font-weight: 700;
}

/* Grille témoignages homepage */
.testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: var(--fc-space-lg);
}
@media (max-width: 768px) {
	.testimonials-grid {
		grid-template-columns: 1fr;
	}
}

.testimonial {
	background: #fff;
	border-radius: var(--fc-radius-lg);
	padding: var(--fc-space-lg);
	border: 1px solid var(--fc-border);
	margin: 0;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.testimonial__text {
	font-style: italic;
	line-height: 1.6;
	margin-bottom: var(--fc-space-md);
	color: var(--fc-text);
}

.testimonial__text::before {
	content: "\201C";
	font-size: 2rem;
	line-height: 0;
	vertical-align: -0.5rem;
	color: var(--fc-green-400);
	margin-right: 0.25rem;
}

.testimonial__author {
	display: flex;
	align-items: center;
	gap: 0.75rem;
}

.testimonial__avatar {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--fc-green-400), var(--fc-green-600));
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700;
	font-size: 1rem;
	flex-shrink: 0;
}

.testimonial__meta {
	display: flex;
	flex-direction: column;
}

.testimonial__name {
	font-weight: 600;
	font-size: 0.9rem;
}

.testimonial__detail {
	font-size: 0.875rem;
	color: #888;
}

/* CTA inline dans les articles */
.inline-cta {
	display: flex;
	gap: 0;
	background: linear-gradient(145deg, var(--fc-green-50) 0%, #fefdf8 50%, var(--fc-warm-50) 100%);
	border: 2px solid var(--fc-green-200);
	border-radius: var(--fc-radius-xl);
	overflow: hidden;
	margin-top: var(--fc-space-2xl);
}

.inline-cta__image {
	flex: 0 0 280px;
	min-height: 240px;
}

.inline-cta__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* Miniature guide dans inline-cta (portrait) */
.inline-cta__image--guide {
	flex: 0 0 190px;
	min-height: unset;
	align-self: center;
	padding: 1.5rem 0.75rem 1.5rem 1.75rem;
	box-sizing: border-box;
}

.inline-cta__image--guide img {
	width: 100%;
	height: auto;
	object-fit: unset;
	border-radius: 4px;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18), 3px 3px 0 rgba(0, 0, 0, 0.07);
	display: block;
}

.inline-cta__body {
	flex: 1;
	padding: var(--fc-space-xl) var(--fc-space-xl) var(--fc-space-xl) var(--fc-space-lg);
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.inline-cta__title {
	font-family: var(--fc-font-heading);
	font-size: 1.2rem;
	font-weight: 700;
	margin-bottom: var(--fc-space-sm);
	color: var(--fc-text);
}

.inline-cta__text {
	font-size: 0.92rem;
	color: var(--fc-text-light);
	line-height: 1.65;
	margin-bottom: var(--fc-space-lg);
}

.inline-cta__btns {
	display: flex;
	gap: var(--fc-space-sm);
	flex-wrap: wrap;
}

@media (max-width: 768px) {
	.inline-cta {
		flex-direction: column;
	}

	.inline-cta__image {
		flex: none;
		min-height: 180px;
		max-height: 200px;
	}

	/* Image guide en portrait : centrée, largeur réduite */
	.inline-cta__image--guide {
		flex: none;
		width: 100%;
		padding: 1.5rem 2rem 0;
		display: flex;
		justify-content: center;
	}

	.inline-cta__image--guide img {
		max-width: 140px;
	}

	.inline-cta__body {
		padding: var(--fc-space-lg);
		text-align: center;
	}

	.inline-cta__btns {
		justify-content: center;
	}
}

/* CTA box buttons */
.cta-box__btns {
	display: flex;
	gap: var(--fc-space-sm);
	justify-content: center;
	flex-wrap: wrap;
}

/* Blog cards entièrement cliquables */
.card--clickable {
	position: relative;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.card--clickable:hover {
	transform: translateY(-3px);
	box-shadow: var(--fc-shadow-lg);
}
.card--clickable > .card__link {
	position: absolute;
	inset: 0;
	z-index: 1;
	text-decoration: none;
	color: inherit;
}
.card__readmore {
	color: var(--fc-green, #16a34a);
	font-weight: 600;
	font-size: 0.9rem;
}

/* Table des matières automatique (BL2) */
.auto-toc {
	background: var(--fc-green-50);
	border: 1px solid var(--fc-green-200);
	border-radius: var(--fc-radius-lg);
	padding: var(--fc-space-lg);
	margin-bottom: var(--fc-space-xl);
}
.auto-toc__title {
	font-family: var(--fc-font-heading);
	font-weight: 700;
	font-size: 1rem;
	margin-bottom: var(--fc-space-sm);
}
.auto-toc__list {
	margin: 0;
	padding-left: 1.25rem;
	line-height: 1.8;
}
.auto-toc__list a {
	color: var(--fc-green-700);
	text-decoration: none;
}
.auto-toc__list a:hover {
	text-decoration: underline;
}
.auto-toc__sub {
	margin-left: 1rem;
	font-size: 0.9375rem;
}

/* Bouton outline générique — cohérent avec l'orange CTA */
.btn--outline {
	border: 2px solid var(--fc-accent);
	color: var(--fc-accent);
	background: transparent;
}
.btn--outline:hover {
	background: var(--fc-accent);
	color: #fff;
}

/* Bouton outline dans le hero */
.hero .btn--outline {
	border: 2px solid rgba(255, 255, 255, 0.6);
	color: #fff;
	background: transparent;
}
.hero .btn--outline:hover {
	background: rgba(255, 255, 255, 0.15);
	border-color: #fff;
}

/* ==========================================================================
   PAGE BASE DE DONNÉES — BLOCS MARKETING
   ========================================================================== */

.db-why-blocks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}

.db-why-block {
	text-align: center;
	background: #fff;
	border-radius: 12px;
	padding: 2rem 1.5rem;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.06);
	border-top: 4px solid var(--fc-accent, #f97316);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.db-why-block:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}

.db-why-block__icon {
	font-size: 2.5rem;
	display: block;
	margin-bottom: 0.75rem;
}

.db-why-block__title {
	font-family: var(--fc-font-heading);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fc-text);
	margin: 0 0 0.5rem;
}

.db-why-block__text {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--fc-text-light);
	margin: 0;
}

.db-why-block__text strong {
	color: var(--fc-text);
}

/* Couleurs inline dans le texte */
.text-green { color: #16a34a; font-weight: 600; }
.text-orange { color: #d97706; font-weight: 600; }
.text-red { color: #dc2626; font-weight: 600; }

/* Tableau d'exemples */
.db-examples__title {
	font-size: 1.35rem;
	font-weight: 700;
	color: #111827;
	margin: 3rem 0 1rem 0;
	text-align: center;
}

.db-examples__subtitle {
	text-align: center;
	color: var(--fc-text-light);
	font-size: 1rem;
	line-height: 1.6;
	max-width: 640px;
	margin: 0 auto 1.5rem;
}

.db-examples-table-wrap {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

.db-examples-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.db-examples-table thead {
	background: var(--fc-green, #16a34a);
	color: #fff;
}

.db-examples-table th {
	padding: 0.75rem 1rem;
	text-align: left;
	font-weight: 600;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.db-examples-table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid #f3f4f6;
	color: #374151;
}

.db-examples-table tbody tr:last-child td {
	border-bottom: none;
}

.db-examples-table tbody tr:hover {
	background: #f9fafb;
}

@media (max-width: 640px) {
	.db-examples-table {
		font-size: 0.875rem;
	}

	.db-examples-table th,
	.db-examples-table td {
		padding: 0.5rem 0.75rem;
	}
}

/* =========================================================
   TABLEAU COMPARATIF OFFRES (single-product — BDD)
   ========================================================= */

.offers-table {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
	margin-top: 2rem;
	align-items: start;
}

.offer-card {
	position: relative;
	background: #fff;
	border: 2px solid var(--fc-border, #e5e7eb);
	border-radius: 1rem;
	padding: 2rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	text-align: center;
}

.offer-card--highlighted {
	border-color: var(--fc-accent, #f97316);
	box-shadow: 0 4px 24px rgba(249,115,22,.15);
}

.offer-card__badge {
	position: absolute;
	top: -1rem;
	left: 50%;
	transform: translateX(-50%);
	background: var(--fc-accent, #f97316);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	padding: .25rem .9rem;
	border-radius: 999px;
	white-space: nowrap;
}

.offer-card__header {
	text-align: center;
}

.offer-card__title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fc-text, #1f2937);
	margin: 0 0 .5rem;
}

.offer-card__price {
	font-size: 1.6rem;
	color: var(--fc-accent, #f97316);
	font-weight: 700;
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: center;
	gap: 0.4rem;
	text-align: center;
}

.offer-card__old-price {
	font-size: 1rem;
	font-weight: 400;
	color: var(--fc-text-light, #9ca3af);
	text-decoration: line-through;
}

.offer-card__savings {
	font-size: 0.85rem;
	font-weight: 600;
	color: #16a34a;
	background: #f0fdf4;
	border: 1px solid #bbf7d0;
	border-radius: 6px;
	padding: 0.4rem 0.75rem;
	margin: 0.5rem 0 0;
	text-align: center;
}

.offer-card__billing {
	font-size: 0.875rem;
	color: #6b7280;
	margin: .25rem 0 0;
}

.offer-card__features {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: .5rem;
	flex: 1;
}

.offer-card__features li {
	font-size: .9rem;
	color: var(--fc-text, #1f2937);
}

.offer-card__cta {
	margin-top: auto;
	text-align: center;
}

@media (max-width: 900px) {
	.offers-table {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   UX/UI UNIFICATION — Typographie, lisibilité, mobile-first
   ========================================================================== */

/* ------------------------------------------------------------------
   1. TAILLES DE POLICE — Minimum 0.875rem dans les zones marketing
   (Ne pas toucher : .db-card, .db-gauge, .db-legend, .db-method,
    .db-search, .db-hint, .article-*, .blog-*)
   ------------------------------------------------------------------ */

/* Cartes offres — période d'abonnement */
.offer-card__period {
	font-size: 0.875rem;
	color: #6b7280;
	margin: 0.2rem 0 0;
}

/* ------------------------------------------------------------------
   2. HIÉRARCHIE TYPOGRAPHIQUE — Polices cohérentes dans les blocs marketing
   ------------------------------------------------------------------ */

/* Titres cartes offres */
.offer-card__title {
	font-family: var(--fc-font-heading);
}

/* Prix cartes offres — police serif + extra bold */
.offer-card__price {
	font-family: var(--fc-font-heading);
	font-weight: 800;
}

/* Numéros trust cards — accentuation */
.trust-card__num {
	font-weight: 800;
}

/* ------------------------------------------------------------------
   3. BARRE D'ANNONCE — Lisibilité mobile
   ------------------------------------------------------------------ */

@media (max-width: 768px) {
	.announce-bar {
		padding: 0.65rem 1.25rem;
		line-height: 1.6;
	}
	.announce-bar__link {
		display: block;
	}
}

@media (max-width: 480px) {
	.announce-bar {
		font-size: 0.8rem;
	}
}

/* ------------------------------------------------------------------
   4. CARTES OFFRES — Centrer + padding mobile
   ------------------------------------------------------------------ */

@media (max-width: 900px) {
	.offers-table {
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}
}

@media (max-width: 480px) {
	.offer-card {
		padding: 1.5rem 1.25rem;
	}
	.offer-card__price {
		font-size: 1.5rem;
	}
}

/* ------------------------------------------------------------------
   5. TÉMOIGNAGES — Espacement mobile
   ------------------------------------------------------------------ */

@media (max-width: 640px) {
	.testimonial {
		padding: 1.25rem;
	}
}

/* ------------------------------------------------------------------
   6. PAYWALL BOX — Mobile
   ------------------------------------------------------------------ */

@media (max-width: 480px) {
	.paywall__box {
		padding: var(--fc-space-lg);
	}
	.paywall__box-title {
		font-size: 1.2rem;
	}
	.paywall__box-price {
		font-size: 1.75rem;
	}
}

/* ------------------------------------------------------------------
   7. SECTIONS RISQUES + INDEX — Mobile compact (partagé)
   ------------------------------------------------------------------ */

@media (max-width: 480px) {
	.indices-health__item,
	.db-why-block {
		padding: 1.5rem 1rem;
	}
}

/* ------------------------------------------------------------------
   8. DB HERO STATS — Compact sur petit écran
   ------------------------------------------------------------------ */

@media (max-width: 480px) {
	.db-hero__stats {
		gap: var(--fc-space-md);
	}
	.db-hero__stat-number {
		font-size: 1.5rem;
	}
	.db-hero__stat-label {
		font-size: 0.8rem;
	}
}

/* ------------------------------------------------------------------
   9. TABLEAU EXEMPLES BDD — Mobile lisible (padding réduit)
   ------------------------------------------------------------------ */

@media (max-width: 480px) {
	.db-examples-table th,
	.db-examples-table td {
		padding: 0.5rem 0.6rem;
	}
}

/* ------------------------------------------------------------------
   10. CARTES EXEMPLES BDD — 1 colonne sur mobile
   ------------------------------------------------------------------ */

@media (max-width: 480px) {
	.db-examples-cards {
		grid-template-columns: 1fr;
	}
	.db-examples__title {
		font-size: 1.2rem;
	}
}

/* ------------------------------------------------------------------
   11. LOGO BASELINE — Lisibilité mobile améliorée
   ------------------------------------------------------------------ */

@media (max-width: 768px) {
	.site-header__logo-baseline {
		font-size: 0.7rem;
	}
}

/* ------------------------------------------------------------------
   12. SECTION SUBTITLES — Mobile
   ------------------------------------------------------------------ */

@media (max-width: 480px) {
	.section__subtitle {
		font-size: 1rem;
		line-height: 1.6;
	}
}


/* ------------------------------------------------------------------
   14. DB HERO — Tailles mobiles
   ------------------------------------------------------------------ */

@media (max-width: 480px) {
	.db-hero__title {
		font-size: 1.4rem;
	}
	.db-hero__text {
		font-size: 1rem;
	}
}

/* ==========================================================================
   SPACING — Espacement vertical unifié et responsif
   ========================================================================== */

/* Réduction padding section sur tablette */
@media (max-width: 768px) {
	.section {
		padding-top: var(--fc-space-2xl);
		padding-bottom: var(--fc-space-2xl);
	}
}

/* Réduction padding section sur mobile */
@media (max-width: 480px) {
	.section {
		padding-top: var(--fc-space-xl);
		padding-bottom: var(--fc-space-xl);
	}
}

/* Harmonisation : section__subtitle margin-bottom = même que margin-top des grilles */
.section__subtitle {
	margin-bottom: var(--fc-space-xl);
}

/* Supprime le margin-top redondant des grilles quand elles suivent un subtitle
   (le subtitle porte déjà le gap via son margin-bottom) */
.section__subtitle + .indices-health,
.section__subtitle + .db-why-blocks,
.section__subtitle + .trust-grid,
.section__subtitle + .offers-table,
.section__subtitle + .testimonials-grid,
.section__subtitle + .db-examples-cards {
	margin-top: 0;
}

/* ==========================================================================
   SECTION CONTEXTE — "Trois risques liés" — fond vert très léger
   ========================================================================== */

.section--context {
	background: var(--fc-green-50);
}

/* ==========================================================================
   AUG BRAND — Identification de marque "3 index exclusifs"
   ========================================================================== */

/* Logo centré au-dessus du titre de section */
.aug-brand {
	display: flex;
	justify-content: center;
	margin-bottom: var(--fc-space-md);
}

.aug-brand__logo {
	height: 32px;
	width: auto;
	display: block;
	opacity: 0.9;
}

/* Logo AUG inline devant le nom d'index dans chaque carte */
.db-why-block__title {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
}

.db-why-block__aug-logo {
	height: 1em;
	width: auto;
	flex-shrink: 0;
	opacity: 0.85;
	vertical-align: middle;
}

/* ==========================================================================
   DB-WHY-BLOCK — Redesign premium (3 index exclusifs)
   Couleur par index, icône en cercle, texte gauche, numéro discret
   ========================================================================== */

/* Réinitialisation du top border uniforme orange */
.db-why-block {
	border-top: none;
	text-align: left;
	position: relative;
	padding-top: 2.25rem;
}

/* Numéro discret en haut à droite : 01 / 02 / 03 */
.db-why-blocks {
	counter-reset: index-counter;
}
.db-why-block {
	counter-increment: index-counter;
}
.db-why-block::after {
	content: "0" counter(index-counter);
	position: absolute;
	top: 1rem;
	right: 1.25rem;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	opacity: 0.18;
	font-family: var(--fc-font-heading);
}

/* Icône : cercle avec lettre (G/C/P) — style guide PDF AUG */
.db-why-block__icon {
	width: 52px;
	height: 52px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0; /* cache l'emoji */
	margin-bottom: 1rem;
	margin-left: 0;
	line-height: 1;
	flex-shrink: 0;
}

/* Lettre injectée via CSS */
.db-why-block__icon::before {
	font-family: var(--fc-font-heading);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1;
	color: #fff;
}

/* Titre aligné à gauche */
.db-why-block__title {
	justify-content: flex-start;
	font-size: 1.15rem;
	margin-bottom: 0.625rem;
}

/* Texte aligné à gauche */
.db-why-block__text {
	text-align: left;
}

/* --- Index 1 : Goutte — G vert (comme couverture guide) --- */
.db-why-blocks .db-why-block:nth-child(1) {
	border-left: 4px solid var(--fc-primary);
}
.db-why-blocks .db-why-block:nth-child(1) .db-why-block__icon {
	background: var(--fc-primary);
}
.db-why-blocks .db-why-block:nth-child(1) .db-why-block__icon::before {
	content: "G";
}

/* --- Index 2 : Calculs rénaux — C orange (comme couverture guide) --- */
.db-why-blocks .db-why-block:nth-child(2) {
	border-left: 4px solid var(--fc-accent);
}
.db-why-blocks .db-why-block:nth-child(2) .db-why-block__icon {
	background: var(--fc-accent);
}
.db-why-blocks .db-why-block:nth-child(2) .db-why-block__icon::before {
	content: "C";
}

/* --- Index 3 : Poids — P bleu/teal (comme couverture guide) --- */
.db-why-blocks .db-why-block:nth-child(3) {
	border-left: 4px solid #2563eb;
}
.db-why-blocks .db-why-block:nth-child(3) .db-why-block__icon {
	background: #2563eb;
}
.db-why-blocks .db-why-block:nth-child(3) .db-why-block__icon::before {
	content: "P";
}

/* Mobile : laisser respirer */
@media (max-width: 480px) {
	.db-why-block {
		padding-top: 2rem;
	}
	.db-why-block__icon {
		width: 44px;
		height: 44px;
		font-size: 1.4rem;
	}
}

/* ==========================================================================
   LARGEUR DES SOUS-TITRES — 90% au lieu de 600px fixe
   ========================================================================== */

.section__subtitle {
	max-width: min(900px, 90%);
}

.db-examples__subtitle {
	max-width: min(900px, 90%);
}

/* ==========================================================================
   ZONE APERÇU BASE DE DONNÉES — Encadrement "exemple"
   ========================================================================== */

.db-preview-zone {
	margin-top: var(--fc-space-2xl);
	background: var(--fc-bg-alt);
	border-radius: var(--fc-radius-xl);
	padding: var(--fc-space-xl) var(--fc-space-xl) var(--fc-space-2xl);
	border: 1.5px solid var(--fc-border);
	position: relative;
}

.db-preview-zone__badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	background: var(--fc-green-600);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 0.3rem 0.9rem;
	border-radius: var(--fc-radius-pill);
	margin-bottom: var(--fc-space-md);
}

.db-preview-zone__badge-dot {
	width: 6px;
	height: 6px;
	background: #4ade80;
	border-radius: 50%;
	flex-shrink: 0;
}

.db-preview-zone__title {
	max-width: min(900px, 90%);
	margin-left: auto;
	margin-right: auto;
}

.db-preview-zone__subtitle {
	max-width: min(900px, 90%);
	margin-left: auto;
	margin-right: auto;
	text-align: center;
	color: var(--fc-text-light);
	font-size: 1rem;
	line-height: 1.6;
	margin-bottom: var(--fc-space-xl);
}

/* Compteur "4 aliments sur 2 281" */
.db-preview-zone__counter {
	display: flex;
	align-items: baseline;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 auto var(--fc-space-xl);
	padding: var(--fc-space-sm) var(--fc-space-lg);
	background: #fff;
	border: 1.5px solid var(--fc-border);
	border-radius: var(--fc-radius-pill);
	width: fit-content;
}

.db-preview-zone__counter-n {
	font-size: 1.375rem;
	font-weight: 800;
	color: var(--fc-primary);
	line-height: 1;
	font-family: var(--fc-font-heading);
}

.db-preview-zone__counter-label {
	font-size: 0.8rem;
	color: var(--fc-text-light);
	font-weight: 500;
}

.db-preview-zone__counter-total {
	font-size: 1.375rem;
	font-weight: 800;
	color: var(--fc-text);
	line-height: 1;
	font-family: var(--fc-font-heading);
}

/* CTA bas de zone aperçu */
.db-preview-zone__bottom {
	margin-top: var(--fc-space-xl);
	padding-top: var(--fc-space-xl);
	border-top: 1px solid var(--fc-border);
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--fc-space-md);
}

.db-preview-zone__bottom-text {
	font-size: 1rem;
	line-height: 1.65;
	color: var(--fc-text);
	max-width: min(680px, 90%);
	margin: 0;
}

.db-preview-zone__pack-link {
	font-size: 0.875rem;
	color: var(--fc-text-light);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.2s;
}

.db-preview-zone__pack-link:hover {
	color: var(--fc-primary);
}

@media (max-width: 640px) {
	.db-preview-zone {
		background: transparent;
		border: none;
		border-radius: 0;
		padding: 0;
		margin-top: var(--fc-space-xl);
	}

	.db-examples-cards {
		max-width: 500px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ==========================================================================
   BOUTON TÉLÉCHARGEMENT — Mon Compte > Téléchargements
   ========================================================================== */

.woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file,
.woocommerce .woocommerce-MyAccount-downloads a.button {
	background-color: var(--fc-accent) !important;
	color: #fff !important;
	border: none !important;
}

.woocommerce-MyAccount-downloads .woocommerce-MyAccount-downloads-file:hover,
.woocommerce .woocommerce-MyAccount-downloads a.button:hover {
	background-color: var(--fc-accent-hover) !important;
	color: #fff !important;
}

/* ==========================================================================
   PAGE PRODUIT GUIDE — Statistiques + Offre Pack
   ========================================================================== */

/* Barre de chiffres-clés */
.guide-stats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: var(--fc-space-md);
	margin: var(--fc-space-xl) 0;
	padding: var(--fc-space-lg) var(--fc-space-md);
	background: var(--fc-bg-alt, #f8faf7);
	border-radius: var(--fc-radius-lg, 12px);
}

.guide-stats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	min-width: 80px;
}

.guide-stats__n {
	font-size: 2rem;
	font-weight: 700;
	color: var(--fc-primary);
	line-height: 1;
}

.guide-stats__label {
	font-size: 0.78rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--fc-text-muted, #6b7280);
	text-align: center;
}

/* Encart offre Pack */
.guide-pack-offer {
	margin: var(--fc-space-2xl) 0 var(--fc-space-xl);
	padding: var(--fc-space-xl) var(--fc-space-lg);
	background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
	border: 2px solid var(--fc-primary);
	border-radius: var(--fc-radius-lg, 12px);
	text-align: center;
	position: relative;
}

.guide-pack-offer__badge {
	display: inline-block;
	background: var(--fc-accent);
	color: #fff;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	padding: 3px 10px;
	border-radius: 20px;
	margin-bottom: var(--fc-space-sm);
}

.guide-pack-offer__title {
	font-size: 1.3rem;
	font-weight: 700;
	color: var(--fc-heading-color, #1a2e1a);
	margin: var(--fc-space-xs) 0 var(--fc-space-sm);
}

.guide-pack-offer__text {
	color: var(--fc-text-color);
	margin-bottom: var(--fc-space-md);
	max-width: 520px;
	margin-left: auto;
	margin-right: auto;
}

.guide-pack-offer__price {
	font-size: 1.6rem;
	font-weight: 700;
	color: var(--fc-primary);
	margin-bottom: var(--fc-space-md);
}

.guide-pack-offer__was {
	font-size: 0.9rem;
	font-weight: 400;
	color: var(--fc-text-muted, #6b7280);
	text-decoration: line-through;
}

.guide-pack-offer .btn {
	margin-bottom: var(--fc-space-sm);
}

.guide-pack-offer__or {
	font-size: 0.85rem;
	color: var(--fc-text-muted, #6b7280);
	margin: 0;
}

/* Chapitres du guide */
.guide-chapters {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-sm);
	margin: var(--fc-space-lg) 0;
}

.guide-chapter {
	display: flex;
	align-items: flex-start;
	gap: var(--fc-space-md);
	padding: var(--fc-space-sm) var(--fc-space-md);
	background: #fff;
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: var(--fc-radius, 8px);
	transition: box-shadow 0.2s ease;
}

.guide-chapter:hover {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

.guide-chapter__num {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	min-width: 32px;
	background: var(--fc-primary);
	color: #fff;
	font-size: 0.85rem;
	font-weight: 700;
	border-radius: 50%;
	line-height: 1;
}

.guide-chapter > div {
	font-size: 0.95rem;
	line-height: 1.5;
	padding-top: 4px;
}

/* Bonus du guide */
.guide-bonus-section {
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-sm);
	margin: var(--fc-space-lg) 0;
	padding: var(--fc-space-lg);
	background: linear-gradient(135deg, #f0fdf4 0%, #ecfdf5 100%);
	border-radius: var(--fc-radius-lg, 12px);
	border-left: 4px solid var(--fc-primary);
}

.guide-bonus {
	display: flex;
	align-items: flex-start;
	gap: var(--fc-space-md);
}

.guide-bonus__icon {
	font-size: 1.4rem;
	flex-shrink: 0;
	line-height: 1.3;
}

.guide-bonus > div {
	font-size: 0.95rem;
	line-height: 1.5;
}

/* Responsive */
@media (max-width: 600px) {
	.guide-stats {
		gap: var(--fc-space-sm);
	}

	.guide-stats__n {
		font-size: 1.6rem;
	}

	.guide-pack-offer {
		padding: var(--fc-space-lg) var(--fc-space-md);
	}

	.guide-pack-offer__title {
		font-size: 1.1rem;
	}

	.guide-pack-offer__price {
		font-size: 1.3rem;
	}

	.guide-chapter {
		gap: var(--fc-space-sm);
		padding: var(--fc-space-sm);
	}

	.guide-chapter__num {
		width: 28px;
		height: 28px;
		min-width: 28px;
		font-size: 0.8rem;
	}
}

/* ==========================================================================
   ENCART CTA — Guide PDF (dans les articles de blog)
   ========================================================================== */

.blog-cta-pdf {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin: 2rem 0;
	padding: 1.5rem 1.75rem;
	background: linear-gradient(135deg, #fff7ed 0%, #fff3e0 100%);
	border: 2px solid var(--fc-cta, #f97316);
	border-radius: 12px;
}

.blog-cta-pdf__eyebrow {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: var(--fc-cta, #f97316);
}

.blog-cta-pdf__title {
	margin: 0;
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fc-dark, #1a1a1a);
	line-height: 1.3;
}

.blog-cta-pdf__text {
	margin: 0;
	font-size: 0.95rem;
	color: #4b5563;
	line-height: 1.6;
}

.blog-cta-pdf__features {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
}

.blog-cta-pdf__features li {
	font-size: 0.9rem;
	color: #374151;
}

.blog-cta-pdf__features li::before {
	content: "✓ ";
	color: var(--fc-primary, #16a34a);
	font-weight: 700;
}

.blog-cta-pdf__btn {
	display: inline-block;
	align-self: flex-start;
	padding: 0.65rem 1.4rem;
	background: var(--fc-cta, #f97316);
	color: #fff !important;
	font-weight: 700;
	font-size: 0.95rem;
	border-radius: 8px;
	text-decoration: none !important;
	transition: background 0.2s ease, transform 0.1s ease;
}

.blog-cta-pdf__btn:hover {
	background: #ea6c0a;
	transform: translateY(-1px);
}

@media (max-width: 640px) {
	.blog-cta-pdf {
		padding: 1.25rem;
	}

	.blog-cta-pdf__btn {
		align-self: stretch;
		text-align: center;
	}
}

/* ==========================================================================
   BLOG — Barre de catégories
   ========================================================================== */

.blog-cat-bar {
	background: #ffffff;
	border-bottom: 1px solid var(--fc-border, #e5e7eb);
	padding: 0.6rem 0;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.blog-cat-bar::-webkit-scrollbar { display: none; }

.blog-cat-bar__inner {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: nowrap;
	white-space: nowrap;
}

.blog-cat-bar__pill {
	display: inline-block;
	padding: 0.3rem 0.9rem;
	border-radius: 999px;
	font-size: 0.82rem;
	font-weight: 500;
	color: var(--fc-text, #1f2937);
	background: var(--fc-gray-50, #f9fafb);
	border: 1px solid var(--fc-border, #e5e7eb);
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
}

.blog-cat-bar__pill:hover {
	background: var(--fc-green-50, #f0fdf4);
	color: var(--fc-primary, #16a34a);
	border-color: var(--fc-green-200, #bbf7d0);
}

.blog-cat-bar__pill--active {
	background: var(--fc-primary, #16a34a);
	color: #ffffff;
	border-color: var(--fc-primary, #16a34a);
}

.blog-cat-bar__pill--active:hover {
	background: var(--fc-green-700, #15803d);
	color: #ffffff;
}

/* ==========================================================================
   ARTICLE — Layout 3 colonnes
   ========================================================================== */

.article-layout {
	display: grid;
	grid-template-columns: 260px 1fr 270px;
	grid-template-areas: "sidebar-left main sidebar-right";
	gap: 1.75rem;
	align-items: start;
	max-width: var(--fc-max-width);
}

.article-layout__sidebar-left {
	grid-area: sidebar-left;
	position: sticky;
	top: calc(70px + 1.5rem);
	align-self: start;
}

.article-layout__main {
	grid-area: main;
	min-width: 0;
}

.article-layout__sidebar {
	grid-area: sidebar-right;
	position: sticky;
	top: calc(70px + var(--fc-space-lg));
	align-self: start;
	display: flex;
	flex-direction: column;
	gap: var(--fc-space-xl);
}

/* ==========================================================================
   SIDEBAR GAUCHE — TOC dans sidebar
   ========================================================================== */

/* Le TOC en sidebar : style compact adapté à la largeur 220px */
.article-layout__sidebar-left .auto-toc {
	padding: 1rem;
	font-size: 0.875rem;
}

.article-layout__sidebar-left .auto-toc__title {
	font-size: 0.75rem;
}

.article-layout__sidebar-left .auto-toc__list li {
	font-size: 0.82rem;
}

/* ==========================================================================
   SIDEBAR DROITE — Articles même catégorie
   ========================================================================== */

.sidebar-cat {
	background: #ffffff;
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: 14px;
	padding: 1.25rem;
	box-shadow: 0 2px 10px rgba(0,0,0,.04);
}

.sidebar-cat__label {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--fc-primary, #16a34a);
	margin: 0 0 0.25rem;
}

.sidebar-cat__name {
	font-size: 1rem;
	font-weight: 700;
	color: var(--fc-text, #1f2937);
	font-family: var(--fc-font-heading);
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid var(--fc-green-100, #dcfce7);
}

.sidebar-cat__list {
	list-style: none;
	margin: 0 0 1rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.1rem;
}

.sidebar-cat__item {
	border-bottom: 1px solid var(--fc-gray-50, #f9fafb);
}

.sidebar-cat__link {
	display: block;
	padding: 0.5rem 0.25rem;
	font-size: 0.85rem;
	color: var(--fc-text, #1f2937);
	text-decoration: none;
	line-height: 1.4;
	transition: color 0.15s ease;
}

.sidebar-cat__link:hover {
	color: var(--fc-primary, #16a34a);
}

.sidebar-cat__all {
	display: inline-block;
	font-size: 0.82rem;
	color: var(--fc-primary, #16a34a);
	font-weight: 600;
	text-decoration: none;
}

.sidebar-cat__all:hover {
	text-decoration: underline;
}

/* ==========================================================================
   ARTICLE — TOC amélioré
   ========================================================================== */

.auto-toc {
	background: linear-gradient(135deg, #f0fdf4, #ecfdf5);
	border: 1px solid var(--fc-green-200, #bbf7d0);
	border-left: 4px solid var(--fc-primary, #16a34a);
	border-radius: 12px;
	padding: 1.25rem 1.5rem;
	margin-bottom: 2rem;
}

.auto-toc__title {
	font-family: var(--fc-font-heading);
	font-weight: 700;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--fc-primary, #16a34a);
	margin: 0 0 0.75rem;
	display: flex;
	align-items: center;
	gap: 0.4rem;
}

.auto-toc__title::before {
	content: "≡";
	font-size: 1.1rem;
}

.auto-toc__list {
	margin: 0;
	padding-left: 1.25rem;
	line-height: 1;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.auto-toc__list li {
	font-size: 0.9rem;
}

.auto-toc__list a {
	color: var(--fc-text, #1f2937);
	text-decoration: none;
	transition: color 0.15s ease;
	line-height: 1.4;
}

.auto-toc__list a:hover {
	color: var(--fc-primary, #16a34a);
	text-decoration: underline;
}

/* ==========================================================================
   ARTICLE — Résumé redesign
   ========================================================================== */

.article-summary {
	background: linear-gradient(135deg, #ecfdf5, #f0fdf4);
	border-left: 4px solid var(--fc-primary, #16a34a);
	border-radius: 0 12px 12px 0;
	padding: 1.5rem 1.75rem;
	margin-bottom: 1.5rem;
	position: relative;
}

.article-summary::before {
	content: "En bref";
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--fc-primary, #16a34a);
	margin-bottom: 0.5rem;
}

.article-summary__label {
	display: none; /* Géré par ::before */
}

.article-summary__text {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--fc-text, #1f2937);
	margin: 0;
}

/* ==========================================================================
   ARTICLE — Liens internes SEO
   ========================================================================== */

.article-content .article-link {
	color: var(--fc-primary, #16a34a);
	text-decoration: underline;
	text-decoration-style: dotted;
	text-underline-offset: 2px;
}

.article-content .article-link:hover {
	text-decoration-style: solid;
}

/* ==========================================================================
   Responsive — article layout
   ========================================================================== */

@media (max-width: 1100px) {
	.article-layout {
		grid-template-columns: 1fr 280px;
		grid-template-areas:
			"main sidebar-right";
	}
	.article-layout__sidebar-left {
		display: none; /* TOC masqué sur tablette */
	}
}

@media (max-width: 768px) {
	.article-layout {
		grid-template-columns: 1fr;
		grid-template-areas:
			"main"
			"sidebar-right";
	}
	.article-layout__sidebar-left,
	.article-layout__sidebar {
		position: static;
	}
	.article-summary::before {
		display: none;
	}
	.article-summary__label {
		display: block;
	}
}

/* ==========================================================================
   PAGE CONTACT — Mise en page et styles
   ========================================================================== */

/* Hero enrichi — plus compact */
.page-header-hero--contact {
	padding: 1.25rem var(--fc-space-lg) 1.5rem;
}

.page-header-hero__subtitle {
	font-size: 0.95rem;
	color: rgba(255,255,255,0.8);
	margin: 0.35rem 0 0;
	font-weight: 400;
}

/* Barre de réassurance */
.contact-trust-bar {
	background: var(--fc-primary, #16a34a);
	padding: 0.875rem 0;
}

.contact-trust-bar__inner {
	display: flex;
	justify-content: center;
	gap: 2.5rem;
	flex-wrap: wrap;
}

.contact-trust-bar__item {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #fff;
	font-size: 0.9rem;
	font-weight: 500;
}

.contact-trust-bar__icon {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	opacity: 0.9;
}

/* Section fond doux */
.section--contact {
	background: linear-gradient(160deg, #f0fdf4 0%, #ecfdf5 60%, #f8fffc 100%);
}

/* Contenu contact : centré, max-width réduit */
.page-content--contact {
	max-width: 660px;
	margin: 0 auto;
}

/* Le h2 de contact comme sous-titre vert */
.page-content--contact > h2:first-child {
	font-size: 1.6rem;
	color: var(--fc-primary, #16a34a);
	margin-bottom: 0.75rem;
	font-weight: 700;
}

/* Lead intro */
.page-content--contact > p:first-of-type {
	font-size: 1.05rem;
	color: #374151;
	line-height: 1.7;
	margin-bottom: 1.5rem;
}

/* Formulaire CF7 en card */
.page-content--contact .wpcf7 {
	max-width: 100%;
	background: #fff;
	border-radius: 1.25rem;
	box-shadow: 0 4px 24px rgba(0,0,0,0.07), 0 0 0 1px rgba(22,163,74,0.08);
	padding: 1.75rem 1.75rem;
	margin: 0 0 1.5rem;
	overflow: hidden;
}

/* Inputs dans la card : s'assurer qu'ils restent dans le bloc */
.page-content--contact .wpcf7-form {
	box-sizing: border-box;
}

.page-content--contact .wpcf7-form input[type="text"],
.page-content--contact .wpcf7-form input[type="email"],
.page-content--contact .wpcf7-form input[type="tel"],
.page-content--contact .wpcf7-form textarea,
.page-content--contact .wpcf7-form select {
	border-radius: 0.5rem;
	box-sizing: border-box;
	max-width: 100%;
}

.page-content--contact .wpcf7-form textarea {
	resize: none;
}

/* Note finale */
.page-content--contact > p:last-of-type {
	font-size: 0.88rem;
	color: #6b7280;
	text-align: center;
	margin-top: 0.5rem;
}

@media (max-width: 640px) {
	.contact-trust-bar__inner {
		gap: 1.25rem;
	}
	.contact-trust-bar__item {
		font-size: 0.82rem;
	}
	.page-content--contact .wpcf7 {
		padding: 1.25rem 1rem;
	}
}

/* ==========================================================================
   MON COMPTE — Mise en page (état connecté)
   ========================================================================== */

.section--myaccount {
	background: linear-gradient(160deg, #f0fdf4 0%, #f8fffc 100%);
	min-height: 60vh;
}

/* Page login : notices-wrapper + #customer_login span toute la largeur du grid parent */
.page-content--myaccount .woocommerce .woocommerce-notices-wrapper {
	grid-column: 1 / -1;
}

/* PB2 — Message d'erreur Wordfence Login Security relocalisé dans le form (via JS).
   Wordfence injecte .wfls-login-message avant le contenu de page.
   Le JS le déplace à l'intérieur du form ; ces styles l'intègrent au design du site. */
#customer_login .wfls-login-message,
#customer_login .woocommerce-notices-wrapper {
	margin-bottom: 1.25rem;
	/* Écrase le padding 48px/64px injecté par Wordfence sur son container */
	padding: 0 !important;
}
/* Masquer .wfls-login-message dans sa position d'injection initiale par WFLS (dans <body>).
   MutationObserver le déplace dans #customer_login, où la règle suivante le réaffiche. */
.wfls-login-message {
	display: none !important;
}
#customer_login .wfls-login-message {
	display: block !important;
}
#customer_login .wfls-login-message .woocommerce-error,
#customer_login .woocommerce-notices-wrapper .woocommerce-error {
	background: #fef2f2;
	border: 1px solid #fca5a5;
	border-left: 4px solid #dc2626;
	border-radius: 0.5rem;
	padding: 0.875rem 1rem;
	list-style: none;
	margin: 0;
	font-size: 0.9rem;
	color: #991b1b;
	line-height: 1.5;
}
#customer_login .wfls-login-message .woocommerce-error li,
#customer_login .woocommerce-notices-wrapper .woocommerce-error li {
	margin: 0;
	padding: 0;
	list-style: none;
}
/* Masquer l'icône WooCommerce positionnée en absolu sur ul.woocommerce-error::before */
#customer_login .wfls-login-message .woocommerce-error::before,
#customer_login .woocommerce-notices-wrapper .woocommerce-error::before,
#customer_login .wfls-login-message .woocommerce-error li::before,
#customer_login .woocommerce-notices-wrapper .woocommerce-error li::before {
	display: none !important;
}
#customer_login .wfls-login-message .woocommerce-error a,
#customer_login .woocommerce-notices-wrapper .woocommerce-error a {
	color: #dc2626;
	font-weight: 600;
}
#customer_login .woocommerce-notices-wrapper .woocommerce-message {
	background: #f0fdf4;
	border: 1px solid #86efac;
	border-left: 4px solid #16a34a;
	border-radius: 0.5rem;
	padding: 0.875rem 1rem;
	list-style: none;
	margin: 0;
	font-size: 0.9rem;
	color: #166534;
}

/* PB3 — Page mot de passe perdu / réinitialisation
   Corrige : grand espace vide entre le header et le formulaire,
   et les deux champs mot de passe côte à côte avec label coupé. */
.woocommerce-lost-password .section--myaccount {
	padding-top: 2.5rem;
}
.woocommerce-lost-password .page-content--myaccount .woocommerce {
	display: block;
}
.woocommerce-lost-password .woocommerce-MyAccount-content {
	max-width: 520px;
	margin: 0 auto;
}
.woocommerce-ResetPassword .form-row-first,
.woocommerce-ResetPassword .form-row-last {
	width: 100% !important;
	float: none !important;
	clear: both;
	margin-right: 0 !important;
	margin-bottom: 1rem;
}
.woocommerce-LostPassword .form-row {
	width: 100% !important;
	float: none !important;
	clear: both;
}

/* Formulaire login/register : span toutes les colonnes + deux colonnes internes */
#customer_login.col2-set {
	grid-column: 1 / -1;
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	max-width: 860px;
	margin: 2rem auto;
}

#customer_login.col2-set .col-1,
#customer_login.col2-set .col-2 {
	float: none !important;
	width: 100% !important;
}

/* Layout 2 colonnes : nav + contenu (connecté uniquement) */
.page-content--myaccount .woocommerce {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 2rem;
	align-items: start;
}

/* Voir bloc @media (max-width: 900px) en fin de fichier (après les règles de base). */

/* Navigation latérale */
.woocommerce-MyAccount-navigation {
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 2px 16px rgba(0,0,0,0.06), 0 0 0 1px rgba(22,163,74,0.08);
	overflow: hidden;
}

.woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
}

.woocommerce-MyAccount-navigation ul li {
	margin: 0;
	padding: 0;
}

.woocommerce-MyAccount-navigation ul li a {
	display: block;
	padding: 0.7rem 1.25rem;
	color: #374151 !important;
	font-size: 0.92rem;
	font-weight: 500;
	text-decoration: none;
	border-left: 3px solid transparent;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.woocommerce-MyAccount-navigation ul li a:hover {
	background: #f0fdf4;
	color: var(--fc-primary, #16a34a) !important;
	border-left-color: rgba(22,163,74,0.3);
}

.woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
	background: #ecfdf5;
	color: var(--fc-primary, #16a34a) !important;
	border-left-color: var(--fc-primary, #16a34a);
	font-weight: 600;
}

/* Contenu principal */
.woocommerce-MyAccount-content {
	background: #fff;
	border-radius: 1rem;
	box-shadow: 0 2px 16px rgba(0,0,0,0.06), 0 0 0 1px rgba(22,163,74,0.08);
	padding: 1.75rem 2rem;
}

/* Titre dashboard */
.woocommerce-MyAccount-content p:first-child {
	font-size: 0.95rem;
	line-height: 1.7;
	color: #374151;
}

/* Tableau des commandes */
.woocommerce-orders-table,
.shop_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9rem;
}

.woocommerce-orders-table th,
.shop_table th {
	background: #f0fdf4;
	color: var(--fc-primary, #16a34a);
	font-weight: 600;
	padding: 0.7rem 1rem;
	text-align: left;
	font-size: 0.82rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-bottom: 2px solid #bbf7d0;
}

.woocommerce-orders-table td,
.shop_table td {
	padding: 0.75rem 1rem;
	border-bottom: 1px solid #f3f4f6;
	vertical-align: middle;
	color: #374151;
}

.woocommerce-orders-table__row:last-child td,
.shop_table tr:last-child td {
	border-bottom: none;
}

/* Lien "Voir" commande */
.woocommerce-orders-table .woocommerce-button,
.woocommerce-orders-table .button {
	font-size: 0.82rem !important;
	padding: 0.4rem 1rem !important;
}

/* Formulaires de compte (modifier infos, adresse) */
.woocommerce-EditAccountForm fieldset,
.woocommerce-address-fields__field-wrapper {
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
	padding: 1.25rem;
	margin-bottom: 1.25rem;
}

.woocommerce-EditAccountForm fieldset legend {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--fc-primary, #16a34a);
	padding: 0 0.5rem;
}

/* Inputs du compte */
.woocommerce-MyAccount-content .woocommerce-Input,
.woocommerce-MyAccount-content input[type="text"],
.woocommerce-MyAccount-content input[type="email"],
.woocommerce-MyAccount-content input[type="password"],
.woocommerce-MyAccount-content select {
	width: 100%;
	padding: 0.7rem 1rem;
	border: 2px solid #e5e7eb;
	border-radius: var(--fc-radius-md, 0.5rem);
	font-size: 0.95rem;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.woocommerce-MyAccount-content input:focus,
.woocommerce-MyAccount-content select:focus {
	outline: none;
	border-color: var(--fc-primary, #16a34a);
	box-shadow: 0 0 0 3px rgba(22,163,74,0.1);
}

/* Section téléchargements */
.woocommerce-MyAccount-downloads td .woocommerce-MyAccount-downloads-file {
	color: var(--fc-accent, #f97316);
	font-weight: 600;
}

/* Responsive mon compte */
/* ==========================================================================
   PANIER VIDE — Nos offres
   ========================================================================== */

.empty-cart-offers {
	margin: 1.5rem 0 0;
	text-align: left;
}

.empty-cart-offers__title {
	font-size: 1.2rem !important;
	font-weight: 700;
	color: var(--fc-primary, #16a34a);
	margin: 0 0 1.25rem !important;
	text-align: center !important;
	text-transform: none !important;
	letter-spacing: 0;
}

.empty-cart-offers__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.empty-cart-offers__card {
	background: #fff;
	border-radius: 1rem;
	border: 1.5px solid #e5e7eb;
	border-top: 4px solid var(--fc-primary, #16a34a);
	padding: 1.25rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.625rem;
	box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

.empty-cart-offers__card--accent {
	border-top-color: var(--fc-accent, #f97316);
}

.empty-cart-offers__badge {
	display: inline-block;
	font-size: 0.68rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--fc-accent, #f97316);
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 2rem;
	padding: 0.2rem 0.6rem;
	width: fit-content;
}

.empty-cart-offers__name {
	font-size: 0.95rem;
	font-weight: 700;
	color: #1f2937;
	margin: 0;
	line-height: 1.35;
}

.empty-cart-offers__desc {
	font-size: 0.82rem;
	color: #6b7280;
	margin: 0;
	line-height: 1.5;
	flex-grow: 1;
}

.empty-cart-offers__price {
	font-size: 1.25rem;
	font-weight: 800;
	color: var(--fc-primary, #16a34a);
	margin: 0.25rem 0 0;
}

.empty-cart-offers__price-sub {
	font-size: 0.78rem;
	font-weight: 400;
	color: #9ca3af;
}

.empty-cart-offers__btn {
	display: block;
	text-align: center;
	padding: 0.65rem 1rem;
	background: var(--fc-accent, #f97316);
	color: #fff !important;
	border-radius: 50px;
	font-size: 0.88rem;
	font-weight: 700;
	text-decoration: none !important;
	margin-top: auto;
	transition: background 0.2s, transform 0.15s;
}

.empty-cart-offers__btn:hover {
	background: #d35400;
	transform: translateY(-1px);
}

.empty-cart-offers__btn--secondary {
	background: transparent;
	color: var(--fc-primary, #16a34a) !important;
	border: 2px solid var(--fc-primary, #16a34a);
}

.empty-cart-offers__btn--secondary:hover {
	background: #f0fdf4;
	transform: translateY(-1px);
}

@media (max-width: 600px) {
	.empty-cart-offers__grid {
		grid-template-columns: 1fr;
	}
}

/* ==========================================================================
   PANIER VIDE — NOS OFFRES v2 (eco__ classes, style homepage pdf-section)
   ========================================================================== */

/* Row : layout 2 colonnes comme la pdf-section homepage */
.eco__row {
	display: grid;
	gap: 1.5rem;
	align-items: start;
	background: linear-gradient(160deg, #fafdf7 0%, #f4fbf6 100%);
	border: 1px solid #bbf7d0;
	border-radius: 1.25rem;
	padding: 1.5rem;
	margin-bottom: 1.25rem;
}

.eco__row--guide {
	grid-template-columns: 1fr 200px;
}

.eco__row--db {
	grid-template-columns: 56px 1fr;
	background: #fff;
	border-color: #e5e7eb;
	border-top: 3px solid var(--fc-primary, #16a34a);
}

/* Badge */
.eco__badge {
	display: inline-block;
	font-size: 0.67rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--fc-accent, #f97316);
	background: #fff7ed;
	border: 1px solid #fed7aa;
	border-radius: 2rem;
	padding: 0.2rem 0.6rem;
	width: fit-content;
	margin-bottom: 0.75rem;
}

.eco__badge--green {
	color: var(--fc-primary, #16a34a);
	background: #f0fdf4;
	border-color: #bbf7d0;
}

/* Titre produit */
.eco__name {
	font-family: var(--fc-font-heading);
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--fc-heading);
	margin: 0 0 1rem;
	line-height: 1.3;
}

/* Features list — mini-cards 2 colonnes */
.eco__features {
	list-style: none;
	padding: 0;
	margin: 0 0 1.25rem;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.4rem;
}

.eco__feature {
	background: #fff;
	border-radius: 0.65rem;
	padding: 0.55rem 0.625rem 0.55rem 2rem;
	box-shadow: 0 2px 8px rgba(0,0,0,0.05), 0 0 0 1px rgba(22,163,74,0.09);
	font-size: 0.77rem;
	font-weight: 600;
	color: var(--fc-heading);
	line-height: 1.4;
	position: relative;
}

.eco__check {
	position: absolute;
	left: 0.625rem;
	top: 0.55rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--fc-primary, #16a34a);
}

/* Prix */
.eco__price-block {
	margin-bottom: 1.25rem;
	display: flex;
	align-items: baseline;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.eco__old-price {
	font-size: 0.9rem;
	color: #9ca3af;
	text-decoration: line-through;
}

.eco__price {
	font-size: 1.6rem;
	font-weight: 800;
	color: var(--fc-accent, #f97316);
	line-height: 1;
}

.eco__price-period {
	font-size: 0.875rem;
	color: #6b7280;
}

.eco__sub {
	margin-top: 0.5rem;
	font-size: 0.79rem;
	color: #6b7280;
}

/* Card thumbnail guide (colonne droite) */
.eco__card {
	background: linear-gradient(145deg, #fff9f0 0%, #fff 60%, #f0fdf4 100%);
	border: 1.5px solid #fed7aa;
	border-top: 4px solid var(--fc-accent, #f97316);
	border-radius: 0.875rem;
	padding: 1.125rem;
	box-shadow: 0 8px 28px rgba(249,115,22,0.1), 0 2px 8px rgba(0,0,0,0.05);
	text-align: center;
}

.eco__card img {
	width: 100%;
	max-width: 160px;
	height: auto;
	border-radius: 3px;
	box-shadow: 0 8px 24px rgba(0,0,0,0.18), 3px 3px 0 rgba(0,0,0,0.06);
	display: block;
	margin: 0 auto 0.875rem;
}

.eco__card-price {
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.375rem;
	margin-bottom: 0.375rem;
}

.eco__card-sub {
	font-size: 0.75rem;
	color: #6b7280;
	margin: 0;
}

/* Icône base de données (colonne gauche db row) */
.eco__db-icon {
	display: flex;
	align-items: flex-start;
	padding-top: 0.25rem;
}

.eco__db-icon svg {
	width: 44px;
	height: 44px;
}

/* Responsive panier vide v2 */
@media (max-width: 640px) {
	.eco__row--guide {
		grid-template-columns: 1fr;
	}

	.eco__card {
		display: none;
	}

	.eco__features {
		grid-template-columns: 1fr;
	}

	.eco__row--db {
		grid-template-columns: 1fr;
	}

	.eco__db-icon {
		display: none;
	}
}

/* ==========================================================================
   MON COMPTE — Responsive
   ========================================================================== */

@media (max-width: 768px) {
	.page-content--myaccount .woocommerce {
		grid-template-columns: 1fr;
	}
	.woocommerce-MyAccount-navigation ul {
		display: flex;
		flex-wrap: wrap;
		padding: 0.25rem;
		gap: 0.25rem;
	}
	.woocommerce-MyAccount-navigation ul li a {
		border-left: none;
		border-radius: 0.5rem;
		padding: 0.5rem 0.875rem;
		font-size: 0.82rem;
	}
	.woocommerce-MyAccount-navigation ul li.is-active a,
	.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
		border-left: none;
		background: var(--fc-primary, #16a34a);
		color: #fff !important;
	}
	.woocommerce-MyAccount-content {
		padding: 1.25rem 1rem;
	}
}

/* ==========================================================================
   CORRECTIONS MOBILES — Sprint UX (2026-03)
   CTAs centrés + marges, texte centré, superpositions, onglets, sélecteur langue
   ========================================================================== */

/* ------------------------------------------------------------------
   1. CTAs : centrage + marges horizontales dans toutes les zones/blocs
      Les boutons ne doivent jamais toucher les bords du conteneur.
   ------------------------------------------------------------------ */

/* Bouton pleine largeur sur mobile : ajouter marges latérales */
@media (max-width: 480px) {
	.btn--lg,
	.hero__cta .btn,
	.cta-box .btn,
	.offer-card__cta.btn,
	a.offer-card__cta,
	.empty-cart-offers__btn,
	.inline-cta .btn,
	.blog-mid-cta .btn,
	.paywall__box .btn {
		display: block;
		width: calc(100% - 2rem);
		max-width: 340px;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		box-sizing: border-box;
	}

	/* Groupes de CTAs : centrer et empiler */
	.hero__cta,
	.cta-box .hero__cta,
	.cta-box__btns {
		flex-direction: column;
		align-items: center;
		gap: 0.75rem;
		padding: 0 1rem;
	}

	/* Conteneur de carte offre : padding interne assuré */
	.offer-card {
		padding: 1.75rem 1.25rem;
	}

	/* CTA dans les cartes offres : marges horizontales + hauteur augmentée */
	.offer-card__cta {
		padding: 0 0.5rem;
		margin-top: 0.75rem;
	}

	.offer-card__cta.btn,
	a.offer-card__cta {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		min-height: 52px !important;
		padding: 0.95rem 1rem !important;
		font-size: 0.95rem !important;
		line-height: 1.2 !important;
		white-space: normal !important;
		box-sizing: border-box !important;
		text-align: center !important;
	}
}

/* ------------------------------------------------------------------
   2. Texte centré sur mobile (lisibilité et hiérarchie visuelle)
   ------------------------------------------------------------------ */

@media (max-width: 640px) {
	/* Titres et sous-titres de sections */
	.section__title,
	.section__subtitle,
	.cta-box__title,
	.cta-box__text,
	.pdf-section__title,
	.pdf-section__subtitle,
	.db-why-block__title,
	.db-why-block__text,
	.indices-health__item h3,
	.indices-health__item p,
	.empty-cart-offers__title,
	.db-hero__title,
	.db-hero__subtitle {
		text-align: center;
	}

	/* Cartes de contenu */
	.card__title,
	.card__excerpt {
		text-align: left; /* garder gauche pour les cartes blog */
	}

	/* Blocs produit single */
	.woocommerce-product-details__short-description,
	.product_meta {
		text-align: center;
	}

	/* Récapitulatif checkout : total bien visible */
	.wc-block-cart__totals-title,
	.wc-block-components-totals-footer-item__label,
	.wc-block-components-totals-footer-item__value {
		font-size: 1.1rem !important;
		font-weight: 700 !important;
		color: var(--fc-text, #1f2937) !important;
	}
}

/* ------------------------------------------------------------------
   3. Boutons quantité +/- : taille tactile minimum (44px)
   ------------------------------------------------------------------ */

.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	min-width: 44px !important;
	min-height: 44px !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 1.1rem !important;
}

.wc-block-components-quantity-selector input[type="number"] {
	min-height: 44px !important;
	text-align: center !important;
}

/* ------------------------------------------------------------------
   4. Onglets blog/BDD : contraste actif vs inactif renforcé
   ------------------------------------------------------------------ */

/* État inactif : plus visible */
.blog-filter-bar__item {
	color: var(--fc-text, #374151);
	opacity: 0.6;
}

/* État actif : fond léger + bordure + pas de transparence */
.blog-filter-bar__item.is-active {
	color: var(--fc-primary, #16a34a);
	border-bottom-color: var(--fc-primary, #16a34a);
	font-weight: 700;
	opacity: 1;
	background-color: var(--fc-green-50, #f0fdf4);
}

.blog-filter-bar__item:hover {
	opacity: 1;
	color: var(--fc-primary, #16a34a);
}

/* ------------------------------------------------------------------
   5. Sélecteur de langue : langue active bien mise en évidence
   ------------------------------------------------------------------ */

.lang-switcher__link--active {
	background-color: var(--fc-primary, #16a34a) !important;
	color: #ffffff !important;
	font-weight: 700 !important;
	padding: 0.3rem 0.65rem !important;
}

.lang-switcher__link--active:hover {
	background-color: var(--fc-green-700, #15803d) !important;
	color: #ffffff !important;
}

/* Dans le menu mobile */
.site-header__mobile-nav .lang-switcher__link--active {
	background-color: var(--fc-primary, #16a34a) !important;
	color: #ffffff !important;
}

/* ------------------------------------------------------------------
   6. Superpositions non prévues — corrections
   ------------------------------------------------------------------ */

/* 6a. Badge offre : éviter débordement hors carte sur mobile */
@media (max-width: 640px) {
	.offer-card--highlighted {
		margin-top: 1.25rem; /* espace pour le badge absolu top:-1rem */
	}

	.empty-cart-offers .offer-card--highlighted:first-child {
		margin-top: 1.5rem;
	}
}

/* 6b. Barre de filtres sticky : z-index cohérent, pas de chevauchement header */
.blog-filter-bar {
	z-index: 80; /* sous le header (z-index 100+) */
}

/* 6c. Sticky CTA mobile : ne pas masquer le footer ou les formulaires */
@media (max-width: 768px) {
	.sticky-cta-mobile {
		z-index: 85;
		bottom: 0;
		/* Espace pour les barres de navigation native iOS/Android */
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}

	/* Quand sticky CTA actif : ajouter padding-bottom au contenu */
	body.has-sticky-cta main,
	body.has-sticky-cta .site-main {
		padding-bottom: calc(80px + env(safe-area-inset-bottom, 0px));
	}
}

/* 6d. Checkout : boîte récapitulatif (étapes produits) — éviter surplus de hauteur */
@media (max-width: 640px) {
	.wc-block-checkout__sidebar,
	.wc-block-components-order-summary {
		max-height: none;
		overflow: visible;
	}

	/* Réduire padding du récapitulatif pour gagner de l'espace viewport */
	.wc-block-components-order-summary-item {
		padding-top: 0.75rem !important;
		padding-bottom: 0.75rem !important;
	}
}

/* 6e. Section "Découvrez nos outils" dans .section--alt :
      assurer que les boutons ne touchent pas les bords du bloc */
.section--alt .cta-box {
	margin: 0;
}

@media (max-width: 480px) {
	.section--alt {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.section--alt .cta-box {
		padding: 1.75rem 1.25rem;
	}
}

/* ------------------------------------------------------------------
   7. Paywall BDD : démarcation visuelle contenu libre / payant
   ------------------------------------------------------------------ */

.paywall__overlay-trigger {
	position: relative;
}

.paywall__overlay-trigger::before {
	content: '';
	display: block;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--fc-primary, #16a34a), transparent);
	margin-bottom: 1.5rem;
	opacity: 0.4;
}

/* ------------------------------------------------------------------
   8. Panier — "Total estimé" : contraste et lisibilité renforcés
   ------------------------------------------------------------------ */

.wc-block-cart__totals .wc-block-components-totals-footer-item,
.wc-block-components-totals-item.is-tax-line + .wc-block-components-totals-item {
	border-top: 2px solid var(--fc-border, #e5e7eb);
	padding-top: 0.75rem;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 1.15rem !important;
	font-weight: 700 !important;
	color: var(--fc-text, #1f2937) !important;
}

/* ==========================================================================
   FOOTER MOBILE — Centrage complet (version desktop inchangée)
   ========================================================================== */

@media (max-width: 640px) {

	/* Colonnes empilées : contenu centré */
	.site-footer__inner {
		text-align: center;
		gap: var(--fc-space-xl);
	}

	/* Titre de section (À PROPOS, LIENS UTILES…) */
	.site-footer__title {
		text-align: center;
	}

	/* Texte de description "À propos" */
	.site-footer__inner > div > p {
		text-align: center;
		max-width: 300px;
		margin: 0 auto;
	}

	/* Liste de liens : centrée */
	.site-footer__links {
		display: flex;
		flex-direction: column;
		align-items: center;
	}

	.site-footer__links li {
		text-align: center;
	}

	/* Badges de paiement : centrés */
	.site-footer__badges {
		justify-content: center;
	}

	/* Barre du bas : copyright + disclaimer centrés */
	.site-footer__bottom {
		flex-direction: column;
		align-items: center;
		text-align: center;
		gap: var(--fc-space-sm);
	}

	.site-footer__disclaimer {
		text-align: center !important;
		max-width: 320px;
		margin: 0 auto;
	}
}

/* ==========================================================================
   GUIDE PAGE — CTA hero : masquer le prix en double sur mobile
   Le prix est déjà affiché au-dessus du bouton, inutile de le répéter
   ========================================================================== */
@media (max-width: 640px) {
	.product-pdf-hero__btn-price {
		display: none;
	}
}

/* ==========================================================================
   CORRECTIONS MOBILE — Articles, Mon compte, Blog (2026-03)
   ========================================================================== */

/* --- Articles : masquer le CTA sidebar en doublon (mobile empile les deux) --- */
@media (max-width: 768px) {
	.sidebar-cta {
		display: none !important;
	}
}

/* --- Mon compte : formulaire deux colonnes → colonne unique sur mobile --- */
@media (max-width: 640px) {
	/* Cibler l'ID exact utilisé par WooCommerce (woocommerce.css force display:grid) */
	#customer_login.col2-set {
		grid-template-columns: 1fr !important;
		gap: 1rem;
		margin: 1rem auto;
	}
	.col2-set .col-1,
	.col2-set .col-2 {
		width: 100% !important;
		float: none !important;
		margin-bottom: 2rem;
	}
	/* Formulaires WC dans le col2-set : pleine largeur */
	.col2-set form,
	.col2-set .woocommerce-form {
		width: 100% !important;
		box-sizing: border-box !important;
	}

	/* Page header hero : pleine largeur garantie */
	.page-header-hero {
		width: 100% !important;
		box-sizing: border-box;
	}
}

/* ============================================================
 * BDD aliments — Filtres avancés intégrés dans la search bar
 * Style cohérent avec .db-search__portion-toggle (à droite du portion)
 * ============================================================ */
.db-search__filters-wrap {
	position: relative;
	flex-shrink: 0;
}
.db-search__filters-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	background: var(--fc-gray-50, #f8f9fa);
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-sm, 6px);
	padding: 0.5rem 0.6rem 0.5rem 0.65rem;
	font-size: 0.9rem;
	font-family: var(--fc-font-body);
	color: var(--fc-text);
	cursor: pointer;
	white-space: nowrap;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.db-search__filters-toggle:hover,
.db-search__filters-toggle:focus {
	border-color: var(--fc-primary);
	outline: none;
}
.db-search__filters-toggle[aria-expanded="true"] {
	border-color: var(--fc-primary);
	box-shadow: 0 0 0 3px rgba(22, 163, 74, 0.1);
}
.db-search__filters-icon { flex-shrink: 0; opacity: 0.5; }
.db-search__filters-label { font-weight: 600; color: var(--fc-primary); }
.db-search__filters-chevron {
	flex-shrink: 0; margin-left: 2px; transition: transform 0.15s; opacity: 0.6;
}
.db-search__filters-toggle[aria-expanded="true"] .db-search__filters-chevron {
	transform: rotate(180deg);
}
.db-search__filters-count {
	display: inline-block;
	background: #f97316; color: #fff;
	font-size: 11px; font-weight: 700;
	padding: 1px 7px; border-radius: 10px; min-width: 18px;
	text-align: center; line-height: 1.4;
}

/* Dropdown panneau (mêmes codes que portion-dropdown) */
.db-search__filters-dropdown {
	position: absolute;
	top: calc(100% + 6px);
	right: 0;
	z-index: 120;
	background: var(--fc-bg);
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius, 12px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12), 0 2px 8px rgba(0, 0, 0, 0.06);
	padding: 0.85rem;
	min-width: 320px;
	max-width: calc(100vw - 24px);
}
.db-search__filters-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0.7rem;
	margin-bottom: 0.6rem;
}
.db-search__filters-field { display: flex; flex-direction: column; gap: 4px; }
.db-search__filters-fieldlabel {
	font-size: 11px; font-weight: 600;
	color: var(--fc-gray-500, #6b7280);
	text-transform: uppercase; letter-spacing: 0.04em;
}
.db-search__filters-select {
	padding: 0.55rem 0.7rem;
	border: 1px solid var(--fc-border);
	border-radius: var(--fc-radius-sm, 6px);
	background: #fff;
	font-size: 0.9rem;
	color: var(--fc-text);
	cursor: pointer;
	transition: border-color 0.15s;
}
.db-search__filters-select:focus {
	outline: 2px solid var(--fc-primary);
	outline-offset: -1px;
	border-color: var(--fc-primary);
}
.db-search__filters-reset {
	background: none; border: 0;
	color: var(--fc-gray-500, #6b7280);
	font-size: 12px; text-decoration: underline;
	cursor: pointer; padding: 4px 0; display: inline-block;
}
.db-search__filters-reset:hover { color: #f97316; }

@media (max-width: 600px) {
	.db-search__filters-dropdown {
		min-width: calc(100vw - 32px);
		right: -4px;
	}
	.db-search__filters-label { display: none; } /* mobile : icône + chevron */
}

/* ==========================================================================
   AUG DASHBOARD — Mon compte (override dashboard.php)
   ========================================================================== */

.aug-dashboard { display: flex; flex-direction: column; gap: 1.5rem; }

.aug-dashboard__header { margin-bottom: 0.25rem; }
.aug-dashboard__hello {
	font-size: 1.5rem; font-weight: 700; color: #111827;
	margin: 0 0 0.35rem; line-height: 1.2;
}
.aug-dashboard__welcome { margin: 0; color: #6b7280; font-size: 0.95rem; }

/* Carte de statut (trial / abonnement actif / invitation) */
.aug-dashboard__status {
	display: flex; align-items: center; gap: 1rem;
	padding: 1rem 1.25rem; border-radius: 0.85rem;
	border: 1px solid; line-height: 1.5;
}
.aug-dashboard__status--active {
	background: #f0fdf4;
	border-color: #bbf7d0;
}
.aug-dashboard__status--invite {
	background: linear-gradient(135deg, #fff7ed, #ffedd5);
	border-color: #fed7aa;
}
.aug-dashboard__status-icon {
	flex: 0 0 auto; width: 40px; height: 40px;
	border-radius: 50%; background: #16a34a; color: #fff;
	display: inline-flex; align-items: center; justify-content: center;
}
.aug-dashboard__status-body { flex: 1; min-width: 0; }
.aug-dashboard__status-body strong { display: block; color: #111827; font-size: 0.98rem; margin-bottom: 0.15rem; }
.aug-dashboard__status-body span { display: block; color: #4b5563; font-size: 0.9rem; }
.aug-dashboard__status-cta {
	flex: 0 0 auto; color: #16a34a !important; text-decoration: none !important;
	font-weight: 600; font-size: 0.9rem; white-space: nowrap;
}
.aug-dashboard__status-cta:hover { text-decoration: underline !important; }
.aug-dashboard__status-cta--accent {
	background: #f97316; color: #fff !important;
	padding: 0.55rem 1rem; border-radius: 0.5rem;
}
.aug-dashboard__status-cta--accent:hover { background: #ea6107; text-decoration: none !important; }

/* Cards d'action */
.aug-dashboard__cards {
	display: grid; gap: 1rem;
	grid-template-columns: repeat(3, 1fr);
}
.aug-dashboard__card {
	display: flex; flex-direction: column; gap: 0.5rem;
	padding: 1.25rem; background: #fff;
	border: 1px solid #e5e7eb; border-radius: 0.85rem;
	text-decoration: none !important; color: #111827 !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.aug-dashboard__card:hover {
	transform: translateY(-2px);
	border-color: #16a34a;
	box-shadow: 0 6px 24px rgba(22,163,74,0.12);
}
.aug-dashboard__card-icon {
	color: #16a34a; display: inline-flex;
	width: 44px; height: 44px; border-radius: 0.6rem;
	background: #ecfdf5; align-items: center; justify-content: center;
	margin-bottom: 0.25rem;
}
.aug-dashboard__card-title { font-weight: 700; font-size: 1.02rem; }
.aug-dashboard__card-desc { color: #6b7280; font-size: 0.88rem; line-height: 1.45; flex: 1; }
.aug-dashboard__card-cta { color: #f97316; font-weight: 600; font-size: 0.9rem; margin-top: 0.25rem; }

/* Lien déconnexion en pied de tableau de bord */
.aug-dashboard__logout {
	margin: 0.5rem 0 0; text-align: right; font-size: 0.88rem;
}
.aug-dashboard__logout a { color: #6b7280 !important; text-decoration: underline; }
.aug-dashboard__logout a:hover { color: #16a34a !important; }

/* Mobile */
@media (max-width: 900px) {
	.aug-dashboard__status { flex-direction: column; align-items: flex-start; gap: 0.75rem; }
	.aug-dashboard__status-cta { align-self: flex-end; }
	.aug-dashboard__cards { grid-template-columns: 1fr; }
}

/* ==========================================================================
   AUG EMPTY STATE — Mon compte (orders, downloads, payment-methods)
   ========================================================================== */

.aug-empty-state {
	display: flex; flex-direction: column; align-items: center;
	gap: 0.85rem; padding: 2.5rem 1.5rem; text-align: center;
	background: #f9fafb;
	border: 1px dashed #d1d5db;
	border-radius: 0.85rem;
}
.aug-empty-state__icon {
	display: inline-flex; width: 64px; height: 64px;
	align-items: center; justify-content: center;
	border-radius: 50%; background: #ecfdf5; color: #16a34a;
}
.aug-empty-state__icon svg { width: 32px; height: 32px; display: block; }
.aug-empty-state__title {
	margin: 0; font-size: 1.15rem; color: #111827; font-weight: 700;
}
.aug-empty-state__desc {
	margin: 0; max-width: 32rem;
	color: #6b7280; font-size: 0.95rem; line-height: 1.55;
}
.aug-empty-state__cta {
	margin-top: 0.5rem;
}

/* ==========================================================================
   MON COMPTE — RESPONSIVE MOBILE (placé en fin pour gagner la cascade)
   ========================================================================== */
@media (max-width: 900px) {
	.woocommerce-account .page-content--myaccount .woocommerce,
	.page-content--myaccount .woocommerce {
		grid-template-columns: 1fr !important;
		flex-direction: column !important;
		gap: 1rem !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-MyAccount-navigation {
		flex: 1 1 100% !important;
		max-width: 100% !important;
		width: 100% !important;
		border-radius: 0.75rem;
		border: 1px solid var(--fc-border, #e5e7eb);
		background: #fff;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul,
	.woocommerce-MyAccount-navigation ul {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		overflow-y: hidden;
		padding: 0.35rem !important;
		gap: 0.2rem;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		max-width: 100%;
		border: none !important;
		box-shadow: none !important;
		background: transparent !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar,
	.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	.woocommerce-account .woocommerce-MyAccount-navigation ul li,
	.woocommerce-MyAccount-navigation ul li {
		flex: 0 0 auto !important;
		width: auto !important;
		display: block;
		border-bottom: none !important;
		padding: 0 !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul li a,
	.woocommerce-MyAccount-navigation ul li a {
		display: block !important;
		padding: 0.55rem 0.95rem !important;
		border-left: none !important;
		border-bottom: 2px solid transparent !important;
		border-radius: 0.5rem !important;
		white-space: nowrap !important;
		font-size: 0.85rem !important;
		box-shadow: none !important;
	}
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
	.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a,
	.woocommerce-MyAccount-navigation ul li.is-active a,
	.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
		border-bottom-color: var(--fc-primary, #16a34a) !important;
		background: #ecfdf5 !important;
		color: var(--fc-primary, #16a34a) !important;
		box-shadow: none !important;
	}
	.woocommerce-MyAccount-content {
		padding: 1.25rem 1rem;
	}
}

/* ==========================================================================
   AUG SUBSCRIPTION — Mon abonnement (override ms-subscription endpoint)
   ========================================================================== */

.aug-subscription { display: flex; flex-direction: column; gap: 1.25rem; }

.aug-subscription__card {
	padding: 1.5rem 1.5rem 1.75rem;
	border-radius: 0.85rem;
	border: 1px solid;
	background: #fff;
}
.aug-subscription__card--active {
	background: #f0fdf4;
	border-color: #bbf7d0;
}
.aug-subscription__card--expired {
	background: #fef2f2;
	border-color: #fecaca;
}
.aug-subscription__card--invite {
	background: linear-gradient(135deg, #fff7ed, #ffedd5);
	border-color: #fed7aa;
}

.aug-subscription__head {
	display: flex; align-items: center; justify-content: space-between;
	gap: 1rem; flex-wrap: wrap; margin-bottom: 0.5rem;
}
.aug-subscription__badge {
	display: inline-block; padding: 0.25rem 0.7rem; border-radius: 999px;
	font-size: 0.78rem; font-weight: 700; letter-spacing: 0.02em;
	text-transform: uppercase;
}
.aug-subscription__badge--green { background: #16a34a; color: #fff; }
.aug-subscription__badge--red   { background: #dc2626; color: #fff; }
.aug-subscription__remain {
	color: #15803d; font-weight: 600; font-size: 0.92rem;
}

.aug-subscription__title {
	font-size: 1.25rem; font-weight: 700; color: #111827;
	margin: 0 0 0.85rem;
}

.aug-subscription__meta {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 0.75rem 1.25rem; margin: 0 0 1rem; padding: 0;
	background: rgba(255,255,255,0.7); padding: 0.85rem 1rem; border-radius: 0.5rem;
}
.aug-subscription__meta div { display: flex; flex-direction: column; gap: 0.15rem; }
.aug-subscription__meta dt { font-size: 0.78rem; color: #6b7280; text-transform: uppercase; letter-spacing: 0.04em; }
.aug-subscription__meta dd { margin: 0; font-weight: 600; color: #111827; font-size: 0.95rem; }

.aug-subscription__desc {
	margin: 0 0 0.75rem; color: #374151; font-size: 0.95rem; line-height: 1.55;
}
.aug-subscription__note {
	margin: 0 0 1.25rem; color: #6b7280; font-size: 0.85rem; line-height: 1.5;
}

.aug-subscription__upsell {
	padding: 1.25rem 1.5rem;
	background: #fff; border: 1px solid #e5e7eb; border-radius: 0.85rem;
	border-left: 4px solid var(--fc-accent, #f97316);
}
.aug-subscription__upsell-title {
	margin: 0 0 0.4rem; font-size: 1.05rem; font-weight: 700; color: #111827;
}
.aug-subscription__upsell-desc {
	margin: 0 0 1rem; color: #6b7280; font-size: 0.9rem; line-height: 1.5;
}

@media (max-width: 600px) {
	.aug-subscription__card { padding: 1.25rem 1.1rem; }
	.aug-subscription__head { flex-direction: column; align-items: flex-start; }
	.aug-subscription__title { font-size: 1.1rem; }
}

/* ==========================================================================
   AUG MY ACCOUNT MENU — icônes SVG + libellé
   ========================================================================== */

.woocommerce-MyAccount-navigation ul li a {
	display: flex !important;
	align-items: center;
	gap: 0.7rem;
}
.woocommerce-MyAccount-navigation .ma-icon {
	display: inline-flex; align-items: center; justify-content: center;
	width: 18px; height: 18px; flex-shrink: 0;
	color: currentColor; opacity: 0.7;
}
.woocommerce-MyAccount-navigation .ma-icon svg {
	width: 18px; height: 18px; display: block;
}
.woocommerce-MyAccount-navigation ul li.is-active .ma-icon,
.woocommerce-MyAccount-navigation ul li a:hover .ma-icon {
	opacity: 1;
}
.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout .ma-icon,
.woocommerce-MyAccount-navigation ul li.customer-logout .ma-icon {
	opacity: 0.5;
}
.woocommerce-MyAccount-navigation .ma-label {
	flex: 1; min-width: 0;
}

/* Mobile : icône + label inline, font légèrement réduite */
@media (max-width: 900px) {
	.woocommerce-MyAccount-navigation ul li a {
		gap: 0.45rem !important;
	}
	.woocommerce-MyAccount-navigation .ma-icon,
	.woocommerce-MyAccount-navigation .ma-icon svg {
		width: 16px; height: 16px;
	}
}

/* ==========================================================================
   AUG MY ACCOUNT — refonte largeur + menu moins austère (v2.9.30)
   ========================================================================== */

/* Largeur exploitée — override le max-width:1000px de woocommerce-blocktheme */
.woocommerce-account .wp-block-post-title,
.woocommerce-account main .woocommerce,
.woocommerce-account .page-content--myaccount,
.page-content--myaccount {
	max-width: 1280px !important;
}
.woocommerce-account .page-content--myaccount {
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

/* Section centrale : moins de padding-top → menu et contenu remontent contre le hero */
.section--myaccount {
	padding-top: 2rem !important;
}

/* Le grid global : sidebar plus large + plus de gap pour respirer */
@media (min-width: 901px) {
	.page-content--myaccount .woocommerce {
		grid-template-columns: 260px 1fr !important;
		gap: 2.25rem !important;
		align-items: start;
	}
}

/* SIDEBAR — Card élégante, plus généreuse, moins austère */
.woocommerce-MyAccount-navigation {
	position: sticky;
	top: 1rem;
	background: #fff;
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: 1rem;
	box-shadow:
		0 1px 2px rgba(16,24,40,0.04),
		0 8px 32px rgba(16,24,40,0.06);
	overflow: hidden;
}

/* Mini-header utilisateur en tête du menu (injecté via JS depuis .aug-dashboard__hello, sinon générique) */
.woocommerce-MyAccount-navigation::before {
	content: "";
	display: block;
	height: 6px;
	background: linear-gradient(90deg, var(--fc-primary, #16a34a), #22c55e);
}

/* Liste : padding interne plus aéré */
@media (min-width: 901px) {
	.woocommerce-MyAccount-navigation ul {
		padding: 0.5rem 0.5rem !important;
		margin: 0 !important;
		list-style: none;
		background: #fff;
		border: none !important;
		box-shadow: none !important;
	}
	.woocommerce-MyAccount-navigation ul li {
		border: none !important;
		padding: 0 !important;
		margin: 1px 0;
	}
	/* Séparateur avant Se déconnecter */
	.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout {
		margin-top: 0.5rem;
		padding-top: 0.5rem !important;
		border-top: 1px solid var(--fc-border, #e5e7eb) !important;
	}
	.woocommerce-MyAccount-navigation ul li a {
		display: flex !important;
		align-items: center;
		gap: 0.7rem;
		padding: 0.65rem 0.85rem !important;
		color: #374151 !important;
		font-size: 0.92rem;
		font-weight: 500;
		text-decoration: none !important;
		border-radius: 0.55rem !important;
		border-left: none !important;
		box-shadow: none !important;
		transition: background 0.18s, color 0.18s, transform 0.18s;
	}
	.woocommerce-MyAccount-navigation ul li a:hover {
		background: #f0fdf4;
		color: var(--fc-primary, #16a34a) !important;
		transform: translateX(2px);
	}
	.woocommerce-MyAccount-navigation ul li.is-active a,
	.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--is-active a,
	.woocommerce-MyAccount-navigation ul li a[aria-current="page"] {
		background: linear-gradient(90deg, #ecfdf5, #f0fdf4) !important;
		color: var(--fc-primary, #16a34a) !important;
		font-weight: 700 !important;
		box-shadow: inset 3px 0 0 var(--fc-primary, #16a34a) !important;
		transform: translateX(0);
	}
	.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a {
		color: #6b7280 !important;
		font-size: 0.88rem;
	}
	.woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
		color: #dc2626 !important;
		background: #fef2f2 !important;
	}
}

/* CONTENU — moins blanc plat, plus de padding latéral pour utiliser la largeur */
.woocommerce-MyAccount-content {
	background: #fff;
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: 1rem;
	box-shadow:
		0 1px 2px rgba(16,24,40,0.04),
		0 8px 32px rgba(16,24,40,0.06);
	padding: 1.75rem 2.25rem !important;
}

/* Formulaire edit-account : layout 2 colonnes + champ pleine largeur pour mot de passe */
.woocommerce-EditAccountForm.edit-account {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem 1.25rem;
	max-width: 100% !important;
}
.woocommerce-EditAccountForm.edit-account fieldset,
.woocommerce-EditAccountForm.edit-account .clear,
.woocommerce-EditAccountForm.edit-account p.form-row-wide,
.woocommerce-EditAccountForm.edit-account p:has(button[type="submit"]) {
	grid-column: 1 / -1;
}
.woocommerce-EditAccountForm.edit-account p.form-row {
	margin-bottom: 1rem;
}
.woocommerce-EditAccountForm.edit-account fieldset {
	margin-top: 1.5rem;
	padding: 1.25rem 1.25rem 0.5rem;
	background: #f9fafb;
	border: 1px solid #e5e7eb;
	border-radius: 0.75rem;
}
.woocommerce-EditAccountForm.edit-account fieldset legend {
	padding: 0 0.5rem;
	font-size: 0.85rem;
	font-weight: 700;
	color: var(--fc-primary, #16a34a);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}
.woocommerce-EditAccountForm.edit-account label {
	display: block;
	font-size: 0.88rem;
	font-weight: 600;
	color: #374151;
	margin-bottom: 0.35rem;
}
.woocommerce-EditAccountForm.edit-account .input-text,
.woocommerce-EditAccountForm.edit-account input[type="email"],
.woocommerce-EditAccountForm.edit-account input[type="password"],
.woocommerce-EditAccountForm.edit-account input[type="text"] {
	width: 100% !important;
	padding: 0.7rem 0.95rem !important;
	font-size: 0.95rem !important;
	border: 1px solid #d1d5db;
	border-radius: 0.5rem !important;
	background: #fff;
	transition: border-color 0.18s, box-shadow 0.18s;
}
.woocommerce-EditAccountForm.edit-account .input-text:focus {
	border-color: var(--fc-primary, #16a34a);
	box-shadow: 0 0 0 3px rgba(22,163,74,0.15);
	outline: none;
}
.woocommerce-EditAccountForm.edit-account em {
	display: block;
	margin-top: 0.3rem;
	font-style: italic;
	font-size: 0.82rem;
	color: #6b7280;
	font-family: var(--fc-font-body, 'Inter', sans-serif);
}

/* Mobile : la sidebar n'est plus sticky, le grid passe en 1col (déjà géré par @media précédent) */
@media (max-width: 900px) {
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-content { padding: 1.5rem 1.25rem !important; }
	.woocommerce-EditAccountForm.edit-account { grid-template-columns: 1fr; }
}

/* ==========================================================================
   AUG MES ADRESSES — page list (override my-address.php) v2.9.31
   ========================================================================== */

.aug-address__intro {
	margin: 0 0 1.5rem;
	color: #6b7280;
	font-size: 0.95rem;
	line-height: 1.55;
}

.aug-address-list {
	display: grid;
	gap: 1.25rem;
	grid-template-columns: 1fr;
}
.aug-address-list--two {
	grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
	.aug-address-list--two { grid-template-columns: 1fr; }
}

.aug-address-card {
	background: #fff;
	border: 1px solid var(--fc-border, #e5e7eb);
	border-radius: 0.85rem;
	padding: 1.5rem 1.5rem 1.75rem;
	transition: border-color 0.18s, box-shadow 0.18s;
}
.aug-address-card:hover {
	border-color: #bbf7d0;
	box-shadow: 0 4px 16px rgba(22,163,74,0.08);
}
.aug-address-card--empty {
	background: #f9fafb;
	border-style: dashed;
	border-color: #d1d5db;
	text-align: center;
}
.aug-address-card--empty:hover {
	border-color: #fdba74;
	box-shadow: 0 4px 16px rgba(249,115,22,0.08);
}

.aug-address-card__header {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	margin-bottom: 1rem;
	padding-bottom: 0.85rem;
	border-bottom: 1px solid #f0fdf4;
}
.aug-address-card--empty .aug-address-card__header {
	justify-content: center;
	border-bottom: none;
	padding-bottom: 0;
	margin-bottom: 0.85rem;
}
.aug-address-card__icon {
	display: inline-flex;
	width: 40px; height: 40px;
	align-items: center; justify-content: center;
	border-radius: 50%;
	background: #ecfdf5;
	color: var(--fc-primary, #16a34a);
	flex-shrink: 0;
}
.aug-address-card--empty .aug-address-card__icon {
	background: #fff7ed;
	color: var(--fc-accent, #f97316);
}
.aug-address-card__title {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #111827;
}
.aug-address-card__body {
	margin: 0 0 1.25rem;
	font-style: normal;
	color: #374151;
	font-size: 0.95rem;
	line-height: 1.65;
}
.aug-address-card__body br {
	display: block;
	content: "";
	margin: 0;
}
.aug-address-card__empty {
	margin: 0 0 1.25rem;
	color: #6b7280;
	font-size: 0.95rem;
}
.aug-address-card__cta {
	display: inline-flex;
	align-items: center;
}

/* Formulaire d'édition adresse — même style 2 colonnes que edit-account */
.woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 1.25rem;
}
.woocommerce-address-fields .form-row-wide,
.woocommerce-address-fields .form-row-first,
.woocommerce-address-fields .form-row-last,
.woocommerce-address-fields .form-row {
	margin-bottom: 1rem;
	width: auto !important;
	float: none !important;
}
.woocommerce-address-fields .form-row-wide {
	grid-column: 1 / -1;
}
.woocommerce-address-fields label {
	display: block;
	font-size: 0.88rem;
	font-weight: 600;
	color: #374151;
	margin-bottom: 0.35rem;
}
.woocommerce-address-fields .input-text,
.woocommerce-address-fields input[type="text"],
.woocommerce-address-fields input[type="email"],
.woocommerce-address-fields input[type="tel"],
.woocommerce-address-fields select {
	width: 100% !important;
	padding: 0.7rem 0.95rem !important;
	font-size: 0.95rem !important;
	border: 1px solid #d1d5db;
	border-radius: 0.5rem !important;
	background: #fff;
	transition: border-color 0.18s, box-shadow 0.18s;
}
.woocommerce-address-fields .input-text:focus,
.woocommerce-address-fields select:focus {
	border-color: var(--fc-primary, #16a34a);
	box-shadow: 0 0 0 3px rgba(22,163,74,0.15);
	outline: none;
}
.woocommerce-address-fields .select2-container--default .select2-selection--single {
	height: auto !important;
	padding: 0.35rem 0.4rem !important;
	border: 1px solid #d1d5db !important;
	border-radius: 0.5rem !important;
}
.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.6 !important;
	padding: 0.35rem 0.55rem !important;
	color: #374151;
}
.woocommerce-address-fields .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100% !important;
	right: 0.5rem !important;
}

/* Mobile : 1 colonne */
@media (max-width: 768px) {
	.woocommerce-address-fields .woocommerce-address-fields__field-wrapper {
		grid-template-columns: 1fr;
	}
}

/* Titre de section "Adresse de facturation" sur la page edit (au-dessus du form) */
.woocommerce-MyAccount-content h3 {
	margin-top: 0;
	margin-bottom: 1.5rem;
	font-size: 1.25rem;
	font-weight: 700;
	color: #111827;
	padding-bottom: 0.75rem;
	border-bottom: 2px solid #ecfdf5;
}
