/**
 * Sport & Vie — composants.
 *
 * Les couleurs, fontes et espacements viennent de theme.json (variables
 * --wp--preset--*). Ce fichier ne gère que les mises en page bespoke que les
 * tokens ne couvrent pas (couverture à ombre décalée, carrousel, cartes de
 * formule, grille de sommaire) et les styles de blocs de la marque.
 */

/* ------------------------------------------------------------------ *
 * Raccourcis de variables
 * ------------------------------------------------------------------ */
:root {
	--sev-rouge: var(--wp--preset--color--rouge, #D8221A);
	--sev-rouge-fonce: var(--wp--preset--color--rouge-fonce, #B71A13);
	--sev-jaune: var(--wp--preset--color--jaune, #ECB71F);
	--sev-encre: var(--wp--preset--color--encre, #14120F);
	--sev-papier: var(--wp--preset--color--papier, #FAF7F1);
	--sev-creme: var(--wp--preset--color--creme, #F0EADC);
	--sev-filet: var(--wp--preset--color--filet, #E4DFD4);
	--sev-gris-texte: var(--wp--preset--color--gris-texte, #514C44);
	--sev-gris-clair: var(--wp--preset--color--gris-clair, #7A746A);
	--sev-creme-sombre: var(--wp--preset--color--creme-sombre, #D9D3C7);
	--sev-bleu-numero: var(--wp--preset--color--bleu-numero, #1D3A5F);
	--sev-archivo: var(--wp--preset--font-family--archivo, Archivo, system-ui, sans-serif);
	--sev-newsreader: var(--wp--preset--font-family--newsreader, Newsreader, Georgia, serif);
}

/* Images fluides par défaut */
.sev-cover-figure img,
.sev-carousel__item img { display: block; }

/* Marges des paragraphes dans les composants flex/grid */
.sev-cover-band p,
.sev-carousel__item p,
.sev-formule p,
.sev-stats p,
.sev-sommaire__row p { margin: 0; }

/* Note éditoriale en italique */
.sev-note {
	font-family: var(--sev-newsreader);
	font-style: italic;
	font-size: 15px;
	color: var(--sev-gris-clair);
	margin: 0;
}

/* Corps long format sur fond papier / sombre */
.sev-lede { font-family: var(--sev-newsreader); font-size: 19px; line-height: 1.65; }
.sev-lede--dark { color: var(--sev-creme-sombre); }

/* ================================================================== *
 * STYLES DE BLOCS DE LA MARQUE
 * ================================================================== */

/* Rubricage / kicker — Archivo condensé noir, rouge, capitales espacées */
.wp-block-paragraph.is-style-sev-kicker {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 13px;
	line-height: 1;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sev-rouge);
	margin: 0;
}

/* Étiquette de rubrique jaune */
.wp-block-paragraph.is-style-sev-etiquette-jaune {
	display: inline-block;
	background: var(--sev-jaune);
	color: var(--sev-encre);
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 12px;
	line-height: 1.1;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 6px 10px;
	margin: 0;
}

/* Étiquette « Abonnés » — contour rouge */
.wp-block-paragraph.is-style-sev-etiquette-abonnes {
	display: inline-block;
	border: 1px solid var(--sev-rouge);
	color: var(--sev-rouge);
	font-family: var(--sev-archivo);
	font-weight: 800;
	font-stretch: 82%;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 4px 8px;
	border-radius: 2px;
	margin: 0;
}

/* Lien fléché rouge */
.wp-block-paragraph.is-style-sev-lien-fleche,
.wp-block-paragraph.is-style-sev-lien-fleche a {
	font-family: var(--sev-archivo);
	font-weight: 700;
	font-size: 14px;
	color: var(--sev-rouge);
	text-decoration: none;
	margin: 0;
}
.wp-block-paragraph.is-style-sev-lien-fleche a { border-bottom: 1px solid transparent; }
.wp-block-paragraph.is-style-sev-lien-fleche a:hover { border-bottom-color: var(--sev-rouge); }

/* Utilitaires typographiques réutilisables */
.sev-eyebrow {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.sev-archivo { font-family: var(--sev-archivo); }
.sev-meta {
	font-family: var(--sev-archivo);
	font-weight: 500;
	font-size: 13px;
	color: var(--sev-gris-clair);
}

/* ================================================================== *
 * EN-TÊTE
 * ================================================================== */
/* Bandeau promotionnel (haut du site, administrable via le Customizer).
   Couleurs de fond/texte posées en inline par le pattern (valeurs dynamiques). */
.sev-topbar { position: relative; width: 100%; font-family: var(--sev-archivo); font-size: 13px; }
.sev-topbar__inner { max-width: var(--wp--style--global--wide-size, 1200px); margin-inline: auto; padding: 9px 48px; display: flex; align-items: center; justify-content: center; gap: 6px 16px; flex-wrap: wrap; text-align: center; }
.sev-topbar__close { position: absolute; right: 10px; top: 50%; transform: translateY(-50%); width: 30px; height: 30px; display: flex; align-items: center; justify-content: center; background: transparent; border: 0; color: inherit; font-size: 22px; line-height: 1; cursor: pointer; opacity: 0.65; transition: opacity .15s ease; }
.sev-topbar__close:hover { opacity: 1; }
.sev-topbar__text { font-weight: 600; letter-spacing: 0.01em; }
.sev-topbar__link { color: inherit; text-decoration: underline; text-underline-offset: 2px; font-weight: 800; white-space: nowrap; }
.sev-topbar__link:hover { opacity: 0.75; }

/* Header collant : appliqué sur le WRAPPER template-part (parent = .wp-site-blocks,
   toute la hauteur de page) et NON sur .sev-header — dont le parent ne fait que sa
   propre taille → sinon il ne « voyage » pas et défile au scroll. */
header.wp-block-template-part:has(.sev-header) { position: sticky; top: 0; z-index: 60; }
.sev-header {
	background: var(--sev-papier);
	border-bottom: 2px solid var(--sev-encre);
}
.sev-header .wp-block-site-logo img { height: 40px; width: auto; }
.sev-header__bar { padding-block: 24px; align-items: center; gap: 18px; }
.sev-header__brand { align-items: center; }
/* Spécificité (0,2,0) pour battre le reset WP « .is-layout-flex > :is(*,div){margin-left:0} » (0,1,1)
   → pousse le cluster droit (menu + S'abonner + loupe) contre le bord droit, et écarte le menu du logo. */
.sev-header .sev-header__actions { align-items: center; margin-left: auto; }
.sev-baseline {
	font-family: var(--sev-newsreader);
	font-style: italic;
	font-weight: 500;
	font-size: 15px;
	line-height: 1.35;
	color: var(--sev-texte, #33302A);
	border-left: 1px solid #B7B0A3;
	padding-left: 16px;
	margin: 0;
	max-width: 150px; /* fait tenir le slogan sur ~2 lignes (remplace l'ancien <br>) */
}
/* Menu principal (classique, rendu par le bloc sev/menu) */
.sev-nav { display: flex; align-items: center; }
.sev-menu { display: flex; align-items: center; gap: 32px; list-style: none; margin: 0; padding: 0; }
.sev-menu li { margin: 0; }
.sev-menu a {
	font-family: var(--sev-archivo);
	font-weight: 800;
	font-stretch: 82%;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sev-encre);
	text-decoration: none;
}
.sev-menu a:hover { color: var(--sev-rouge); }
.sev-menu .current-menu-item > a,
.sev-menu .current_page_item > a,
.sev-menu .current-menu-ancestor > a { color: var(--sev-rouge); border-bottom: 2px solid var(--sev-rouge); padding-bottom: 2px; }

/* Burger (mobile uniquement) */
.sev-nav__burger { display: none; cursor: pointer; flex-direction: column; gap: 5px; padding: 6px; }
.sev-nav__burger span { display: block; width: 22px; height: 2px; background: var(--sev-encre); }

/* Recherche : lien-icône loupe, séparateur court identique à la maquette */
.sev-header .sev-search {
	display: inline-flex;
	align-items: center;
	align-self: center;
	color: var(--sev-encre);
	padding-left: 24px;
	border-left: 1px solid #B7B0A3;
}
.sev-header .sev-search:hover { color: var(--sev-rouge); }
.sev-header .sev-search svg { display: block; width: 21px; height: 21px; }

/* Liens réseaux du pied de page (icônes SVG, currentColor) */
.sev-footer__social a { display: inline-flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid rgba(250, 247, 241, 0.22); color: var(--sev-papier); text-decoration: none; transition: color .15s ease, border-color .15s ease; }
/* Hover : le picto + le bord passent jaune. Pas de déplacement (le picto sautait). */
.sev-footer__social a:hover { color: var(--sev-jaune); border-color: var(--sev-jaune); }
.sev-footer__social svg { display: block; width: 22px; height: 22px; }

/* Bouton S'abonner compact dans le header */
.sev-btn-abo .wp-block-button__link {
	font-size: 13px;
	padding: 12px 22px;
}

/* Header mobile (cf. maquette) : logo + [S'abonner, burger] sur une ligne,
   slogan pleine largeur en dessous, loupe masquée. */
@media (max-width: 600px) {
	.sev-header__bar { flex-wrap: wrap; row-gap: 8px; column-gap: 10px; padding-block: 16px; }
	/* Logo compacté pour tenir logo + S'abonner + burger sur une ligne (~350px utiles).
	   Spécificité (0,3,1) pour battre la règle de base « .sev-header .wp-block-image img ». */
	.sev-header .sev-header__brand .wp-block-image img { height: 34px; }
	/* Ligne 2 = slogan (gauche, s'étire) + loupe (droite) */
	.sev-baseline {
		order: 2;
		flex: 1 1 auto;
		min-width: 0;
		max-width: none;
		border-left: none;
		padding-left: 0;
		padding-right: 12px;
		margin-top: 2px;
	}
	.sev-header__actions { gap: 8px; order: 1; }
	.sev-btn-abo { order: 1; }
	.sev-nav { order: 2; }
	.sev-btn-abo .wp-block-button__link { font-size: 12px; padding: 8px 12px; }
	/* Loupe posée sur la ligne du slogan, alignée à droite (ligne 1 reste logo + S'abonner + burger, cf. maquette) */
	.sev-header .sev-search { order: 3; align-self: center; margin-left: auto; padding-left: 0; border-left: none; }
}

/* Home mobile : badge « En kiosque · N°X » au-dessus de la couverture (masqué desktop).
   Affiché quand les colonnes du hero s'empilent (≤781px) ; l'étiquette dupliquée
   de la colonne éditoriale est masquée pour éviter le doublon. */
.sev-cover-badge { display: none; }
@media (max-width: 781px) {
	.sev-cover-badge {
		display: inline-block;
		align-self: flex-start;
		background: var(--sev-jaune);
		color: var(--sev-encre);
		font-family: var(--sev-archivo);
		font-weight: 900;
		font-stretch: 82%;
		font-size: 14px;
		letter-spacing: 0.06em;
		text-transform: uppercase;
		padding: 9px 16px;
		border-radius: 2px;
		margin: 0 0 16px;
	}
	.sev-numero .is-style-sev-etiquette-jaune { display: none; }
}

/* ================================================================== *
 * SECTION — NUMÉRO EN COURS
 * ================================================================== */
/* Couverture avec ombre jaune décalée */
.sev-cover-figure { position: relative; margin: 0; }
.sev-cover-figure::before {
	content: "";
	position: absolute;
	top: 22px; left: 22px; right: -22px; bottom: -22px;
	background: var(--sev-jaune);
	z-index: 0;
}
.sev-cover-figure > * { position: relative; z-index: 1; }
.sev-cover-figure .wp-block-image { margin: 0; line-height: 0; }
.sev-cover-figure .wp-block-image a { display: block; line-height: 0; }
.sev-cover-figure img { width: 100%; border: 1px solid var(--sev-filet); display: block; }

/* Bandeau noir sous la couverture */
.sev-cover-band {
	position: relative;
	z-index: 1;
	margin-left: 22px;
	background: var(--sev-encre);
	color: var(--sev-papier);
	padding: 14px 20px;
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	font-family: var(--sev-archivo);
	font-weight: 800;
	font-stretch: 82%;
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.sev-cover-band .sev-cover-band__accent { color: var(--sev-jaune); }

/* Titre du dossier à la « couleur du numéro » */
.sev-titre-dossier { color: var(--sev-bleu-numero) !important; text-wrap: balance; }
.sev-num-dek { font-family: var(--sev-newsreader); font-size: 17px; line-height: 1.55; color: var(--sev-gris-texte, #4A463F); max-width: none; margin: 6px 0 0; }

/* Grille de sommaire */
.sev-sommaire__head {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 13px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sev-encre);
	border-bottom: 2px solid var(--sev-encre);
	padding-bottom: 12px;
	margin: 0;
}
.sev-sommaire__row {
	display: grid;
	grid-template-columns: 170px 1fr;
	gap: 24px;
	align-items: baseline;
	padding: 15px 0;
	border-bottom: 1px solid var(--sev-filet);
}
.sev-sommaire__row .sev-rubrique {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 13px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sev-rouge);
	margin: 0;
}
.sev-sommaire__row .sev-titre {
	font-family: var(--sev-newsreader);
	font-weight: 500;
	font-size: 21px;
	line-height: 1.25;
	color: var(--sev-encre);
	margin: 0;
}

/* ================================================================== *
 * SECTION — DÉJÀ PARUS (carrousel sur fond encre)
 * ================================================================== */
.sev-section-title {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 20px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0;
}
.sev-deja-parus .sev-section-title { color: var(--sev-papier); }
.sev-link-jaune,
.sev-link-jaune a {
	font-family: var(--sev-archivo);
	font-weight: 800;
	font-stretch: 82%;
	font-size: 13px;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	color: var(--sev-jaune);
	text-decoration: none;
	margin: 0;
}
.sev-link-jaune a { border-bottom: 2px solid var(--sev-jaune); padding-bottom: 1px; }
.sev-rule-dark { border-bottom: 1px solid rgba(250,247,241,.18); padding-bottom: 16px; margin-bottom: 36px; align-items: center; }
.sev-dp-head { display: flex; align-items: baseline; gap: 24px; flex-wrap: wrap; }
/* Flèches du slider « Déjà parus » (comme la maquette) */
.sev-carousel__nav { display: flex; gap: 10px; flex: none; }
.sev-carousel__btn {
	width: 46px; height: 46px; flex: none;
	background: transparent;
	border: 1px solid rgba(250,247,241,.35);
	color: var(--sev-papier);
	font-family: var(--sev-archivo); font-size: 19px; line-height: 1;
	border-radius: 2px; cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	transition: border-color 0.15s ease, color 0.15s ease, opacity 0.15s ease;
}
.sev-carousel__btn:hover { border-color: var(--sev-jaune); color: var(--sev-jaune); }
.sev-carousel__btn:disabled { opacity: 0.3; cursor: default; }
.sev-carousel__btn:disabled:hover { border-color: rgba(250,247,241,.35); color: var(--sev-papier); }
.sev-carousel {
	display: flex;
	gap: 36px;
	overflow-x: auto;
	scroll-snap-type: x proximity;
	scrollbar-width: none;
	margin: 0 -8px;
	padding: 0 8px 4px;
}
.sev-carousel::-webkit-scrollbar { display: none; }
.sev-carousel__item {
	display: flex;
	flex-direction: column;
	gap: 16px;
	/* Exactement 4 couvertures pleines dans la largeur visible (gap 36px×3),
	   la 5ᵉ reste hors écran → pas de bout de couverture qui dépasse.
	   (≤900px : surcharge à 2 couvertures dans la media query mobile.) */
	width: calc((100% - 108px) / 4);
	flex: none;
	scroll-snap-align: start;
}
/* Ciblé sur le lien de la COUVERTURE (dans la figure) : sinon un lien de titre
   ajouté dans l'item hériterait de l'aspect-ratio → item géant. */
.sev-carousel__item figure { margin: 0; }
.sev-carousel__item figure a {
	display: block;
	aspect-ratio: 210 / 272;
	overflow: hidden;
	border-top: 4px solid var(--sev-jaune);
}
.sev-carousel__item img { width: 100%; height: 100%; object-fit: cover; }
.sev-carousel__num {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--sev-jaune);
	margin: 0;
}
.sev-carousel__titre {
	font-family: var(--sev-newsreader);
	font-weight: 600;
	font-size: 19px;
	line-height: 1.25;
	color: var(--sev-papier);
	margin: 0;
}

/* ================================================================== *
 * SECTION — LE MAGAZINE (stats)
 * ================================================================== */
.sev-stats { display: flex; gap: 40px; flex-wrap: wrap; }
.sev-stat { display: flex; flex-direction: column; gap: 4px; }
.sev-stat__num {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 72%;
	font-size: 52px;
	line-height: 1;
	color: var(--sev-rouge);
	display: block;
	font-variant-numeric: tabular-nums;
	font-feature-settings: "tnum";
}
.sev-stat__label { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-texte); }

/* ================================================================== *
 * SECTION — ABONNEMENT (3 formules sur fond jaune)
 * ================================================================== */
.sev-formule {
	background: var(--sev-papier);
	border: 1px solid rgba(20,18,15,.14);
	border-radius: 4px;
	padding: 32px 30px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	position: relative;
}
.sev-formule--dark { background: var(--sev-creme); color: var(--sev-gris-texte); border: 2px solid var(--sev-rouge); }
.sev-formule--plain { background: var(--sev-papier); border: 1px solid rgba(20,18,15,.18); }
.sev-formule__nom {
	font-family: var(--sev-archivo);
	font-weight: 800;
	font-stretch: 82%;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sev-rouge);
	margin: 0;
}
.sev-formule--dark .sev-formule__nom { color: var(--sev-rouge); }
.sev-price {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 44px;
	color: var(--sev-encre);
	margin: 0;
}
.sev-formule--dark .sev-price { color: var(--sev-encre); }
.sev-price__old {
	font-size: 18px;
	font-weight: 600;
	color: #A79F8F;
	text-decoration: line-through;
	margin-right: 8px;
}
.sev-formule--dark .sev-price__old { color: #A79F8F; }
.sev-formule__list {
	display: flex;
	flex-direction: column;
	gap: 8px;
	font-family: var(--sev-newsreader);
	font-size: 16px;
	line-height: 1.45;
	color: var(--sev-gris-texte);
	margin: 0;
}
.sev-formule--dark .sev-formule__list { color: var(--sev-gris-texte); }
.sev-badge-eco {
	position: absolute;
	top: -12px; left: 30px;
	background: var(--sev-rouge);
	color: var(--sev-papier);
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 11px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 5px 10px;
}
.sev-formule .wp-block-button { margin-top: auto; }
.sev-formule .wp-block-button__link { display: block; text-align: center; }

/* Bouton fantôme (contour encre) */
.wp-block-button.is-style-sev-ghost .wp-block-button__link {
	background: transparent;
	color: var(--sev-encre);
	border: 1px solid var(--sev-encre);
}
.wp-block-button.is-style-sev-ghost .wp-block-button__link:hover { background: var(--sev-creme); color: var(--sev-encre); }

/* Carte hors-série offert (3ᵉ formule) */
.sev-hs-badge {
	background: var(--sev-jaune);
	color: var(--sev-encre);
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 18px;
	width: 38px; height: 38px;
	border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	flex: none;
	margin: 0;
}
.sev-hs-label {
	font-family: var(--sev-archivo);
	font-weight: 800;
	font-stretch: 82%;
	font-size: 14px;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--sev-rouge);
	line-height: 1.35;
	margin: 0;
}
.sev-hs-text { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.5; color: var(--sev-texte, #33302A); margin: 0; }
.sev-checklist { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--sev-filet); }
.sev-checklist li {
	display: flex; align-items: baseline; gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid var(--sev-filet);
	font-family: var(--sev-newsreader);
	font-size: 15px; line-height: 1.45;
	color: var(--sev-gris-texte);
}
.sev-checklist li::before { content: ""; width: 7px; height: 7px; background: var(--sev-jaune); flex: none; transform: translateY(4px); }
.sev-phone-box {
	margin-top: auto;
	background: var(--sev-creme);
	border-radius: 2px;
	padding: 12px 16px;
	display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
}
.sev-phone-box__q {
	font-family: var(--sev-archivo);
	font-weight: 800; font-stretch: 82%;
	font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase;
	color: var(--sev-gris-texte);
	margin: 0;
}
.sev-phone-box__num {
	font-family: var(--sev-archivo);
	font-weight: 900; font-stretch: 78%;
	font-size: 19px; color: var(--sev-encre);
	white-space: nowrap; margin: 0;
}
.sev-abo-note { font-family: var(--sev-archivo); font-weight: 500; font-size: 13px; color: var(--sev-texte, #33302A); }
/* Un seul soulignement propre (le border-bottom + le text-decoration natif
   faisaient un double trait). */
.sev-abo-note .sev-underline { border-bottom: 0; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }

/* ================================================================== *
 * PIED DE PAGE
 * ================================================================== */
/* Footer sombre éditorial : fond encre, logo rouge (déjà rouge → ressort),
   titres jaune, texte crème/paper en tons attenués. Filet rouge fin en haut. */
.sev-footer { background: var(--sev-encre); border-top: 3px solid var(--sev-rouge); padding-block: 52px 22px; }
.sev-header .wp-block-site-logo,
.sev-footer .wp-block-site-logo { width: auto; max-width: none; }
.sev-footer .wp-block-site-logo img { height: 40px; width: auto; }
.sev-footer__legal-line { font-size: 12px; }
.sev-footer__titre {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 12px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--sev-jaune);
	margin: 0;
}
.sev-footer a { font-family: var(--sev-archivo); font-weight: 400; font-size: 14px; color: var(--sev-papier); text-decoration: none; transition: color .15s ease; }
/* Titre de colonne cliquable : garde le gras du titre (ne suit pas le 400 des liens). */
.sev-footer__titre a { font-weight: inherit; color: inherit; }
.sev-footer a:hover { color: var(--sev-jaune); }
.sev-footer__legal { border-top: 1px solid rgba(250, 247, 241, 0.14); padding-top: 18px; font-family: var(--sev-archivo); font-size: 12px; color: rgba(250, 247, 241, 0.45); display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 10px 24px; }
.sev-footer__legal a { font-size: 12px; font-weight: 400; color: inherit; }
.sev-footer__legal > :nth-child(1) { justify-self: start; }
.sev-footer__legal > :nth-child(2) { justify-self: center; text-align: center; }
.sev-footer__legal > :nth-child(3) { justify-self: end; text-align: right; }
.sev-footer__legal-credit a { text-decoration: underline; text-underline-offset: 2px; transition: color .15s ease; }
.sev-footer__legal-credit a:hover { color: var(--sev-jaune); }
@media (max-width: 781px) { .sev-footer__legal { grid-template-columns: 1fr; text-align: center; } .sev-footer__legal > * { justify-self: center !important; text-align: center !important; } }
.sev-footer__desc { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.55; color: rgba(250, 247, 241, 0.74); }
.sev-footer__contact { font-family: var(--sev-archivo); font-size: 13px; color: rgba(250, 247, 241, 0.6); }
.sev-footer__addr { font-family: var(--sev-archivo); font-size: 13px; line-height: 1.5; color: rgba(250, 247, 241, 0.5); }
.sev-footer__note { font-family: var(--sev-archivo); font-size: 12px; color: rgba(250, 247, 241, 0.5); }
/* Liens de colonne (taille/hauteur de ligne normales — sinon interligne géant).
   L'espacement vertical est piloté ici en CSS : le `margin:0` neutralisait le
   blockGap du pattern, donc on aère explicitement les liens et les sections. */
.sev-footer__link { font-family: var(--sev-archivo); font-weight: 600; font-size: 14px; line-height: 1.5; margin: 14px 0 0; }
.sev-footer__titre + .sev-footer__link { margin-top: 12px; }
/* Menu footer administrable (Apparence → Menus) : même rendu que .sev-footer__link. */
/* Corps du pied de page : marque à gauche, colonnes de menu, newsletter à droite. */
.sev-footer__cols { display: flex; flex-wrap: wrap; gap: 36px 56px; align-items: flex-start; justify-content: flex-start; }
.sev-footer__brand { flex: 0 0 calc(33.333% - 46px); }
.sev-footer__brand > * + * { margin-top: 16px; }
.sev-footer__col { flex: 1 1 0; min-width: 120px; }
.sev-footer__news { flex: 1 1 0; min-width: 120px; }
.sev-footer__news > * + * { margin-top: 12px; }
/* Listes de liens des colonnes (menu administrable). line-height forcé : sinon
   les <li> héritent d'un grand line-height d'un parent → items trop espacés. */
.sev-footer__menu-list { list-style: none; margin: 14px 0 0; padding: 0; display: flex; flex-direction: column; gap: 12px; font-size: 14px; line-height: 1.5; }
.sev-footer__menu-list li { margin: 0; font-size: 14px; line-height: 1.5; }
.sev-footer__menu-list a { display: inline-block; font-family: var(--sev-archivo); font-weight: 400; font-size: 14px; line-height: 1.5; }
@media (max-width: 781px) {
	/* Footer mobile : grille 2 colonnes bien alignées (brand pleine largeur en
	   haut, puis les 4 sections en 2×2) — remplit la largeur sans effet escalier. */
	.sev-footer__cols { display: grid; grid-template-columns: 1fr 1fr; gap: 30px 24px; align-items: start; }
	.sev-footer__brand { grid-column: 1 / -1; }
	.sev-footer__col, .sev-footer__news { max-width: none; min-width: 0; margin: 0; }
}
.sev-footer__social { display: flex; align-items: center; gap: 18px; margin: 12px 0 0; }
.sev-footer__titre--mt { margin-top: 28px; }

/* Formulaire newsletter Gravity Forms dans le pied de page : compact, e-mail
   pleine largeur + bouton d'inscription à la charte (le style GF global gère
   déjà les couleurs/typo ; ici on ajuste marges et largeurs). */
.sev-nl-form { margin-top: 16px; }
.sev-nl-form .gform_wrapper { margin: 0; }
.sev-nl-form .gform_wrapper form { margin: 0; }
.sev-nl-form .gform_fields { grid-row-gap: 10px; }
.sev-nl-form .gfield input[type="email"] { width: 100%; }
.sev-nl-form .gform_footer { margin: 10px 0 0 !important; padding: 0 !important; }
.sev-nl-form .gform_footer .gform_button { width: 100%; }
.sev-nl-form .gform_validation_errors,
.sev-nl-form .gfield_description { font-size: 12px; }
/* Footer sombre UNIQUEMENT : le formulaire GF doit rester lisible sur fond encre.
   ⚠️ Scopé à .sev-footer, sinon le même .sev-nl-form sur la page Contact (fond
   jaune) hériterait du champ translucide → champ jaune sur jaune (invisible). */
.sev-footer .sev-nl-form .gfield_label,
.sev-footer .sev-nl-form .gform_wrapper label { color: rgba(250, 247, 241, 0.74); }
.sev-footer .sev-nl-form .gfield input[type="email"],
.sev-footer .sev-nl-form .gfield input[type="text"] { background: rgba(250, 247, 241, 0.07); border: 1px solid rgba(250, 247, 241, 0.22); color: var(--sev-papier); border-radius: 2px; }
.sev-footer .sev-nl-form .gfield input::placeholder { color: rgba(250, 247, 241, 0.4); }
.sev-footer .sev-nl-form .gfield input[type="email"]:focus,
.sev-footer .sev-nl-form .gfield input[type="text"]:focus { border-color: var(--sev-jaune); outline: none; }
/* Spécificité montée à (0,4,x) : la règle GF globale (jaune≠, rouge !important)
   est plus bas dans le fichier → sans ce boost elle l'emporterait à !important égal. */
.sev-footer .sev-nl-form .gform_footer .gform_button,
.sev-footer .sev-nl-form .gform_footer input[type="submit"] { background: var(--sev-jaune) !important; color: var(--sev-encre) !important; border: none !important; border-radius: 2px; transition: background .15s ease; }
.sev-footer .sev-nl-form .gform_footer .gform_button:hover,
.sev-footer .sev-nl-form .gform_footer input[type="submit"]:hover { background: #F5C93A !important; }
.sev-footer .sev-nl-form .gfield_description,
.sev-footer .sev-nl-form .gform_validation_errors { color: rgba(250, 247, 241, 0.5); }
.sev-nl-ok { font-family: var(--sev-archivo); font-size: 14px; color: var(--sev-encre); }
.sev-nl-ok__mark { color: var(--sev-rouge); font-weight: 900; }

/* Champ e-mail newsletter */
.sev-news-input {
	font-family: var(--sev-archivo);
	font-size: 14px;
	color: var(--sev-encre);
	background: var(--sev-blanc, #fff);
	border: 1px solid var(--sev-filet);
	border-radius: 2px;
	padding: 12px 14px;
	outline: none;
	width: 100%;
}

/* ================================================================== *
 * SECTIONS & MISE EN PAGE (remplacent tout style inline sur les blocs)
 * ================================================================== */
.wp-block-heading { text-wrap: balance; }

.sev-numero { background: var(--sev-papier); padding-block: 72px 80px; }
/* « Déjà parus » : fond CRÈME (au lieu d'encre) → contraste doux avec les
   sections papier, cohérent avec le slider clair des fiches. Contenu re-coloré. */
.sev-deja-parus { background: var(--sev-creme); padding-block: 64px 72px; }
.sev-deja-parus .sev-section-title { color: var(--sev-encre); }
.sev-deja-parus .sev-rule-dark { border-bottom-color: rgba(20, 18, 15, 0.14); }
.sev-deja-parus .sev-carousel__num { color: var(--sev-rouge); }
.sev-deja-parus .sev-carousel__titre { color: var(--sev-encre); }
.sev-deja-parus .sev-link-jaune,
.sev-deja-parus .sev-link-jaune a { color: var(--sev-rouge); }

/* Accordéons « Déjà parus » (4 numéros, <details> natif) */
.sev-numacc-list { display: flex; flex-direction: column; gap: 12px; }
.sev-numacc { background: var(--sev-papier); border: 1px solid rgba(20, 18, 15, 0.12); border-radius: 6px; overflow: hidden; }
.sev-numacc__sum { list-style: none; cursor: pointer; display: flex; align-items: center; gap: 18px; padding: 14px 20px; }
.sev-numacc__sum::-webkit-details-marker { display: none; }
.sev-numacc__cov { flex: 0 0 auto; width: 56px; height: auto; border-radius: 2px; box-shadow: 0 2px 10px rgba(20, 18, 15, 0.16); }
.sev-numacc__head { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.sev-numacc__kick { font-family: var(--sev-archivo); font-weight: 700; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-numacc__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(18px, 2vw, 25px); line-height: 1.14; color: var(--sev-encre); }
.sev-numacc__chev { flex: 0 0 auto; color: var(--sev-encre); font-size: 15px; transition: transform 0.2s ease; }
.sev-numacc[open] .sev-numacc__chev { transform: rotate(180deg); }
.sev-numacc__body { padding: 4px 20px 16px 94px; display: flex; flex-direction: column; }
.sev-numacc__lbl { display: flex; align-items: center; gap: 11px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 11px; line-height: 1.2; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sev-encre); margin: 0 0 16px; }
.sev-numacc__lbl::before { content: ""; flex: 0 0 auto; width: 24px; height: 2px; background: var(--sev-rouge); }
.sev-numacc__arts { list-style: none; margin: 0 0 18px; padding: 0; column-count: 2; column-gap: 56px; }
.sev-numacc__arts li { break-inside: avoid; -webkit-column-break-inside: avoid; page-break-inside: avoid; margin: 0 0 16px; padding-bottom: 15px; border-bottom: 1px solid rgba(20, 18, 15, 0.10); }
.sev-numacc__rub { display: block; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 11px; line-height: 1.2; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); margin: 0 0 5px; }
.sev-numacc__at { display: block; font-family: var(--sev-newsreader); font-weight: 500; font-size: 17px; line-height: 1.3; color: var(--sev-encre); }
.sev-numacc__cta { align-self: flex-end; display: inline-flex; align-items: center; gap: 7px; border: 1px solid var(--sev-rouge); border-radius: 2px; padding: 7px 15px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sev-rouge); text-decoration: none; transition: background 0.15s ease, color 0.15s ease; }
.sev-numacc__cta:hover { background: var(--sev-rouge); color: var(--sev-papier); }
@media (max-width: 640px) {
	.sev-numacc__sum { gap: 14px; padding: 12px 14px; }
	.sev-numacc__cov { width: 46px; }
	.sev-numacc__body { padding-left: 14px; padding-right: 14px; }
	.sev-numacc__arts { column-count: 1; }
}
.sev-deja-parus .sev-link-jaune a { border-bottom-color: var(--sev-rouge); }
.sev-deja-parus .sev-carousel__btn { border-color: rgba(20, 18, 15, 0.28); color: var(--sev-encre); }
.sev-deja-parus .sev-carousel__btn:hover { border-color: var(--sev-rouge); color: var(--sev-rouge); }
.sev-deja-parus .sev-carousel__btn:disabled:hover { border-color: rgba(20, 18, 15, 0.28); color: var(--sev-encre); }

/* Carrousel « Vous n'avez encore rien lu » (fiche produit) : version CLAIRE —
   cartes blanches + bouton rouge « Découvrir », défilement (réutilise .sev-carousel). */
/* padding-bottom (et non margin) : le slider est le dernier bloc → le reset WP
   `:where(.is-layout-flow) > :last-child{margin-block-end:0}` annulerait la marge. */
.sev-relslider { margin-top: 48px; padding-bottom: 80px; }
.sev-relslider__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; border-bottom: 2px solid var(--sev-encre); padding-bottom: 14px; margin-bottom: 28px; }
.sev-relslider .sev-section-title { color: var(--sev-encre); }
.sev-relslider .sev-carousel__item figure a { border-top: 0; border: 1px solid var(--sev-filet); }
.sev-relslider .sev-carousel__titre { color: var(--sev-encre); font-family: var(--sev-newsreader); font-size: 17px; line-height: 1.3; }
.sev-relslider .sev-carousel__titre a { color: inherit; text-decoration: none; }
.sev-relslider .sev-carousel__titre a:hover { color: var(--sev-rouge); }
/* 4 couvertures par ligne (au lieu de 3) + gap resserré. */
.sev-relslider .sev-carousel { gap: 24px; }
.sev-relslider .sev-carousel__item { width: calc((100% - 72px) / 4); }
/* Boutons « Découvrir » alignés en bas quel que soit le nombre de lignes du titre. */
.sev-relslider__cta { margin-top: auto; }
.sev-relslider__cta a { display: inline-flex; align-items: center; justify-content: center; background: var(--sev-rouge); color: #fff; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; padding: 11px 22px; border-radius: 2px; text-decoration: none; transition: background .15s ease; }
.sev-relslider__cta a:hover { background: var(--sev-rouge-fonce); }
.sev-relslider .sev-carousel__btn { border-color: rgba(20, 18, 15, 0.28); color: var(--sev-encre); }
.sev-relslider .sev-carousel__btn:hover { border-color: var(--sev-rouge); color: var(--sev-rouge); }
.sev-relslider .sev-carousel__btn:disabled:hover { border-color: rgba(20, 18, 15, 0.28); color: var(--sev-encre); }
.sev-magazine { background: var(--sev-papier); border-bottom: 1px solid var(--sev-filet); padding-block: 80px; }
.sev-abo { background: var(--sev-jaune); padding-block: 76px 84px; }
.sev-abo__intro { max-width: 760px; }
.sev-abo__valid { font-family: var(--sev-archivo); font-weight: 600; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: rgba(20,18,15,0.62); margin: 0; }

/* Formules HP (demande Gilles) : ligne d'économie + note étranger */
.sev-formule__eco { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sev-rouge); margin: 0; }
.sev-formule--dark .sev-formule__eco { color: var(--sev-rouge); }
.sev-formule__foreign { font-family: var(--sev-newsreader); font-size: 13px; line-height: 1.45; color: #8A8175; margin: 0; }
.sev-formule__foreign a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
.sev-formule--dark .sev-formule__foreign { color: #8A8175; }
/* Optimisation cards abonnement HP (2026-07-27) : coches sur les avantages, ★ sur le
   badge featured, léger lift — pour s'aligner sur le sélecteur /abonnement/. */
.sev-formule--dark { box-shadow: 0 14px 34px rgba(20, 18, 15, .14); }
.sev-badge-eco::before { content: "\2605\00a0"; }
.sev-formule__list p { position: relative; padding-left: 28px; margin: 0; }
.sev-formule__list p::before {
	content: ""; position: absolute; left: 0; top: 3px; width: 18px; height: 18px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" fill="%23D8221A"/><path d="M5.5 10.3l2.7 2.7 6.3-6.6" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
}

/* Bloc « extra » sous les cartes : hors-séries dépliables, rappel réabo, réassurance */
.sev-abo-extra { max-width: none; display: flex; flex-direction: column; gap: 20px; }
.sev-hs-reveal { border: 1px solid rgba(20,18,15,0.22); border-radius: 4px; background: rgba(255,255,255,0.34); }
.sev-hs-reveal__sum { cursor: pointer; list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 15px 20px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-encre); }
.sev-hs-reveal__sum::-webkit-details-marker { display: none; }
.sev-hs-reveal__chev { transition: transform 0.2s ease; }
.sev-hs-reveal[open] .sev-hs-reveal__chev { transform: rotate(180deg); }
.sev-hs-reveal__list { list-style: none; margin: 0; padding: 0 20px 18px; columns: 2; column-gap: 34px; font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.5; color: #4A463F; }
.sev-hs-reveal__list li { break-inside: avoid; margin: 0 0 7px; }
.sev-hs-reveal__n { font-family: var(--sev-archivo); font-weight: 700; font-size: 12px; color: var(--sev-rouge); margin-right: 6px; }
.sev-abo-reanote { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.5; color: var(--sev-encre); background: rgba(255,255,255,0.42); border-left: 3px solid var(--sev-rouge); padding: 12px 16px; margin: 0; }
.sev-abo-reassure { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px 30px; align-items: start; }
.sev-abo-reassure li { display: flex; gap: 13px; align-items: flex-start; }
.sev-abo-reassure__ic { flex: 0 0 auto; width: 42px; height: 42px; border-radius: 50%; background: var(--sev-rouge); color: var(--sev-papier); display: flex; align-items: center; justify-content: center; }
.sev-abo-reassure__ic svg { width: 20px; height: 20px; display: block; }
.sev-abo-reassure__t { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.45; color: var(--sev-encre); padding-top: 2px; }
.sev-abo-reassure__t a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 781px) { .sev-abo-reassure { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .sev-hs-reveal__list { columns: 1; } }
.sev-main-pad { padding-block: 64px 96px; }
.sev-abo .sev-eyebrow { color: var(--sev-encre); }
.sev-abo .sev-lede { font-size: 18px; line-height: 1.55; }
.sev-formule .wp-block-button__link { font-size: 13px; }

/* Colonnes : alignement haut + largeur fixe de la couverture */
.sev-numero .wp-block-columns,
.sev-magazine .wp-block-columns { align-items: flex-start; }
.sev-col-cover { flex: 0 0 440px !important; }

/* Logo dans l'en-tête / le pied de page (remplace height inline) */
.sev-header .wp-block-image { display: flex; align-items: center; line-height: 0; margin: 0; }
.sev-header .wp-block-image img { height: 40px; width: auto; display: block; }
.sev-footer .wp-block-image img { height: 40px; width: auto; }
/* Le PNG du logo a du vide transparent (~7px à gauche, ~11px en haut + espace
   figure). On le compense par des marges négatives pour ferrer les glyphes en
   haut à gauche, alignés sur le haut des autres colonnes. */
.sev-footer .wp-block-image { margin-left: -7px; margin-top: -20px; margin-bottom: 4px; }

/* Boutons compacts */
.sev-btn-sm .wp-block-button__link,
.sev-btn-abo .wp-block-button__link { font-size: 13px; }

/* Bouton pleine largeur dans les cartes formule */
.sev-formule .wp-block-button,
.sev-formule .wp-block-button__link { width: 100%; }

/* Réseaux sociaux (pied de page) — sur fond sombre : crème, hover jaune */
.sev-footer .wp-block-social-links .wp-social-link { background: transparent; color: var(--sev-papier); }
.sev-footer .wp-block-social-links .wp-social-link:hover { color: var(--sev-jaune); }

/* Bouton newsletter (pied de page) — jaune sur fond sombre pour ressortir */
.sev-news-btn .wp-block-button__link { background: var(--sev-jaune); color: var(--sev-encre); border-radius: 2px; font-weight: 700; transition: background .15s ease; }
.sev-news-btn .wp-block-button__link:hover { background: #F5C93A; }

/* ================================================================== *
 * PAGE ABONNEMENT (écran 03)
 * ================================================================== */
.sev-abpage { background: var(--sev-papier); padding-block: 64px 72px; }
.sev-abpage__intro { max-width: 820px; }
.sev-abpage__lead { font-family: var(--sev-newsreader); font-size: 19px; line-height: 1.55; color: var(--sev-gris-texte); margin: 0; }

/* Titre de bloc souligné */
.sev-block-title {
	font-family: var(--sev-archivo);
	font-weight: 900; font-stretch: 78%;
	font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase;
	color: var(--sev-encre);
	border-bottom: 2px solid var(--sev-encre);
	padding-bottom: 12px; margin: 0;
}
.sev-block-title--flex { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.sev-block-title__note { font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-texte); text-transform: none; letter-spacing: 0; }

/* Cartes formule (page abonnement) */
.sev-plan { border-radius: 4px; padding: 34px 32px; display: flex; flex-direction: column; gap: 18px; height: 100%; position: relative; }
.sev-plan--white { background: #fff; border: 1px solid var(--sev-filet); }
.sev-plan--dark { background: var(--sev-encre); color: var(--sev-creme-sombre); }
.sev-plan--creme { background: var(--sev-creme); }
.sev-plan p { margin: 0; }
.sev-plan__badge { position: absolute; top: -12px; left: 32px; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 10px; }
.sev-plan__badge--jaune { background: var(--sev-jaune); color: var(--sev-encre); }
.sev-plan__badge--rouge { background: var(--sev-rouge); color: var(--sev-papier); }
.sev-plan__name { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-encre); }
.sev-plan--dark .sev-plan__name { color: var(--sev-jaune); }
.sev-plan__sub { font-family: var(--sev-newsreader); font-size: 15px; color: var(--sev-gris-clair); }
.sev-plan__price { display: flex; align-items: baseline; gap: 12px; }
.sev-plan__old { font-family: var(--sev-archivo); font-weight: 600; font-size: 20px; color: #A79F8F; text-decoration: line-through; }
.sev-plan__now { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 48px; color: var(--sev-encre); }
.sev-plan--dark .sev-plan__now { color: var(--sev-papier); }
.sev-plan__list { display: flex; flex-direction: column; gap: 10px; font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.45; color: var(--sev-gris-texte); border-top: 1px solid var(--sev-filet); padding-top: 16px; }
.sev-plan--dark .sev-plan__list { color: var(--sev-creme-sombre); border-top-color: rgba(250,247,241,.18); }
.sev-plan .wp-block-button { margin-top: auto; width: 100%; }
.sev-plan .wp-block-button__link { display: block; width: 100%; text-align: center; font-size: 13px; }

/* Chips hors-série */
.sev-hschips { display: flex; flex-wrap: wrap; gap: 8px; }
.sev-hschip { background: var(--sev-papier); border: 1px solid var(--sev-filet); border-radius: 2px; padding: 6px 10px; font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-texte); margin: 0; }
.sev-hsnote { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-clair); margin: 0; }

/* Bandeau de réassurance */
.sev-reassure { display: flex; flex-wrap: wrap; gap: 10px; }
.sev-reassure__i { display: inline-flex; align-items: center; gap: 8px; background: #fff; border: 1px solid var(--sev-filet); border-radius: 2px; padding: 10px 14px; font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-texte); margin: 0; }
.sev-reassure__i::before { content: ""; width: 8px; height: 8px; background: var(--sev-jaune); flex: none; }
.sev-reassure__note { font-family: var(--sev-archivo); font-weight: 500; font-size: 13px; color: var(--sev-gris-clair); margin: 0; }

/* Comparatif (core/table) — filets horizontaux, colonne « 2 ans » mise en avant */
.sev-compare { margin: 0; overflow-x: auto; }
.sev-compare table { border-collapse: collapse; width: 100%; font-family: var(--sev-archivo); border: 0; }
.sev-compare td, .sev-compare th { padding: 15px 18px; border: 0; border-bottom: 1px solid var(--sev-filet); text-align: left; font-size: 14px; color: var(--sev-texte); vertical-align: baseline; }
.sev-compare td:first-child, .sev-compare th:first-child { padding-left: 0; }
.sev-compare tbody td:first-child { font-weight: 600; color: var(--sev-encre); }
.sev-compare thead th { font-weight: 800; font-stretch: 82%; text-transform: uppercase; letter-spacing: 0.06em; font-size: 12px; color: var(--sev-gris-texte); border-bottom: 2px solid var(--sev-encre); }
.sev-compare tbody tr:last-child td { border-bottom: 0; }
/* Colonne « 2 ans » (dernière) mise en avant */
.sev-compare td:last-child, .sev-compare th:last-child { background: var(--sev-creme); border-left: 1px solid var(--sev-filet); border-right: 1px solid var(--sev-filet); }
.sev-compare thead th:last-child { color: var(--sev-rouge); border-bottom-color: var(--sev-rouge); }
.sev-compare tbody tr:last-child td:last-child { border-bottom: 1px solid var(--sev-filet); }
.sev-compare tbody tr:hover td { background: rgba(20,18,15,.02); }
.sev-compare tbody tr:hover td:last-child { background: var(--sev-creme-sombre); }
.sev-compare s { color: #A79F8F; }

/* Cartes pro & étudiants */
.sev-procard { background: #fff; border: 1px solid var(--sev-filet); border-radius: 4px; padding: 26px 28px; display: flex; flex-direction: column; gap: 10px; height: 100%; }
.sev-procard p { margin: 0; }
.sev-procard__label { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-encre); }
.sev-procard__label--red { color: var(--sev-rouge); }
.sev-procard__price { display: flex; align-items: baseline; gap: 8px; font-family: var(--sev-archivo); }
.sev-procard__old { font-weight: 600; font-size: 16px; color: #A79F8F; text-decoration: line-through; }
.sev-procard__num { font-weight: 900; font-stretch: 78%; font-size: 30px; color: var(--sev-encre); }
.sev-procard__per { font-size: 13px; color: var(--sev-gris-clair); }
.sev-procard__desc { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.5; color: var(--sev-gris-texte); }
.sev-procard__foot { margin-top: auto; font-family: var(--sev-archivo); font-weight: 600; font-size: 12px; color: var(--sev-gris-clair); border-top: 1px solid var(--sev-filet); padding-top: 12px; }
.sev-procard .wp-block-button { margin-top: auto; }
.sev-procard .wp-block-button__link { display: block; text-align: center; font-size: 12px; }

/* Étapes « Comment ça marche » */
.sev-step__num { width: 36px; height: 36px; border-radius: 50%; background: var(--sev-rouge); color: var(--sev-papier); display: flex; align-items: center; justify-content: center; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 16px; margin: 0; }
.sev-step__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 21px; color: var(--sev-encre); margin: 0; }
.sev-step__d { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.55; color: var(--sev-gris-texte); margin: 0; }

/* Un peu d'air au-dessus de « Comment ça marche » (trop collé au comparatif). */
.sev-hiw-section { margin-top: 64px !important; }
.sev-faqcols { margin-top: 56px !important; }

/* « Comment ça marche » redessiné : badges ronds rouges (picto + n° en pastille
   jaune), centrés, reliés par un filet pointillé. */
.sev-hiw { display: grid; grid-template-columns: repeat(3, 1fr); gap: 40px; position: relative; margin-top: 8px; }
.sev-hiw::before { content: ""; position: absolute; top: 28px; left: 16.67%; right: 16.67%; border-top: 2px dotted var(--sev-creme-sombre); z-index: 0; }
.sev-hiw__step { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: center; text-align: center; gap: 14px; }
.sev-hiw__badge { position: relative; width: 56px; height: 56px; flex: none; border-radius: 50%; background: var(--sev-rouge); color: #fff; display: flex; align-items: center; justify-content: center; box-shadow: 0 8px 20px rgba(216, 34, 26, 0.28); }
.sev-hiw__badge svg { width: 26px; height: 26px; display: block; }
/* Surtitre « ÉTAPE N » au-dessus du titre (badge picto seul, sans pastille). */
.sev-hiw__eyebrow { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sev-rouge); margin: 0; }
.sev-hiw__step { gap: 12px; }
.sev-hiw__badge + .sev-hiw__eyebrow { margin-top: 2px; }
.sev-hiw__eyebrow + .sev-hiw__t { margin-top: -6px; }
.sev-hiw__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 21px; line-height: 1.2; color: var(--sev-encre); margin: 0; }
.sev-hiw__d { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.55; color: var(--sev-gris-texte); margin: 0; max-width: 32ch; }
@media (max-width: 780px) {
	.sev-hiw { grid-template-columns: 1fr; gap: 26px; }
	.sev-hiw::before { display: none; }
}

/* FAQ (bloc natif « Détails » core/details, administrable) */
.sev-faq__intro-t { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-encre); margin: 0; }
.sev-faq__intro-p { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.55; color: var(--sev-gris-texte); margin: 0; }
.sev-faqcols .wp-block-column:first-child { flex: 0 0 340px; }
.sev-faq { border-top: 2px solid var(--sev-encre); }
.sev-faq .wp-block-details { margin: 0 !important; border-bottom: 1px solid var(--sev-filet); }
.sev-faq details { border-bottom: 1px solid var(--sev-filet); }
.sev-faq summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 18px 0; font-family: var(--sev-newsreader); font-weight: 600; font-size: 20px; color: var(--sev-encre); }
.sev-faq summary::-webkit-details-marker { display: none; }
.sev-faq summary::after { content: "+"; color: var(--sev-rouge); font-size: 24px; line-height: 1; flex: none; }
.sev-faq details[open] summary::after { content: "\2212"; }
.sev-faq details > p { margin: 0; padding: 0 40px 20px 0; font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.6; color: var(--sev-gris-texte); }
/* FAQ éditable (page « FAQ – page Abonnement ») : en mode réabonnement, on masque la question hors-série. */
.sev-faq-wrap--reabo .sev-faq__item--hs { display: none; }

/* CTA final + carte contact */
.sev-cta { background: var(--sev-jaune); padding-block: 56px; }
.sev-cta__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 32px; line-height: 1.15; color: var(--sev-encre); text-align: center; text-wrap: balance; margin: 0; }
.sev-cta__btn .wp-block-button__link { font-size: 15px; padding: 17px 34px; }
.sev-cta__btn { justify-content: center; }
/* Bandeau abo injecté en bas de la boutique (/shop/) */
.sev-cta__inner { max-width: 1400px; margin-inline: auto; padding-inline: clamp(20px, 5vw, 100px); display: flex; flex-direction: column; align-items: center; gap: 22px; }
/* Air au-dessus (ne pas coller à la pagination) + colle au footer (mange le
   padding-bottom de 24px du <main>) → plus de bande blanche sous le bandeau. */
.sev-shop-cta { margin-top: 48px; margin-bottom: -24px !important; }
.sev-contact { background: var(--sev-creme); padding-block: 56px; }
.sev-contact__inner { max-width: 1000px; margin-inline: auto; padding-inline: 24px; display: flex; align-items: center; justify-content: space-between; gap: 36px 56px; flex-wrap: wrap; }
.sev-contact__lead { flex: 1 1 320px; }
.sev-contact__eyebrow { display: block; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sev-rouge); margin-bottom: 10px; }
.sev-contact__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.1; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0 0 8px; }
.sev-contact__sub { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.5; color: var(--sev-gris-texte); margin: 0; max-width: 46ch; }
.sev-contact__chips { display: flex; flex-direction: column; gap: 12px; flex: 0 0 auto; }
.sev-contact__chip { display: inline-flex; align-items: center; gap: 14px; min-width: 290px; background: #fff; border: 1px solid var(--sev-filet); border-radius: 12px; padding: 13px 20px; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease; }
.sev-contact__chip:hover { border-color: var(--sev-rouge); box-shadow: 0 10px 26px rgba(20, 18, 15, 0.09); transform: translateY(-1px); }
.sev-contact__ico { display: inline-flex; align-items: center; justify-content: center; width: 42px; height: 42px; border-radius: 50%; background: var(--sev-rouge); color: #fff; flex: none; }
.sev-contact__ico svg { width: 20px; height: 20px; display: block; }
.sev-contact__chiptxt { display: flex; flex-direction: column; line-height: 1.15; }
.sev-contact__chiptxt em { font-style: normal; font-family: var(--sev-archivo); font-weight: 700; font-stretch: 84%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-gris-clair); margin-bottom: 3px; }
.sev-contact__chiptxt b { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 80%; font-size: 19px; color: var(--sev-encre); }
@media (max-width: 720px) {
	.sev-contact__inner { flex-direction: column; align-items: stretch; flex-wrap: nowrap; gap: 24px; }
	.sev-contact__lead, .sev-contact__chips { width: 100%; max-width: 100%; flex-basis: auto; min-width: 0; }
	.sev-contact__chip { min-width: 0; }
	.sev-contact__chiptxt { min-width: 0; }
	.sev-contact__chiptxt b, .sev-contact__chiptxt em { overflow-wrap: anywhere; word-break: break-word; }
}
.sev-contact__mail a { color: var(--sev-rouge); text-decoration: none; font-weight: 600; }
.sev-contact__mail a:hover { text-decoration: underline; }
@media (max-width: 640px) {
	.sev-contact__card { flex-direction: column; text-align: center; gap: 18px; padding: 28px; }
	.sev-contact__col { align-items: center; text-align: center; }
	.sev-contact__col--info { border-left: 0; border-top: 1px solid var(--sev-filet); padding-left: 0; padding-top: 18px; width: 100%; }
}

/* ================================================================== *
 * PAGE 404
 * ================================================================== */
/* La 404 est un bloc « Bannière » (wp:cover) → image + voile gérés nativement
   (éditables dans l'Éditeur de site). Ici : mise en page du contenu seulement. */
.sev-404.wp-block-cover { min-height: 80vh; padding: 132px 24px 112px; }
.sev-404__inner { max-width: 640px; color: var(--sev-papier); text-align: center; }
.sev-404__inner > * + * { margin-top: 16px; }
.sev-404__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(30px, 5vw, 52px); line-height: 1.05; color: var(--sev-papier); margin: 0; }
.sev-404__text { font-family: var(--sev-newsreader); font-size: 18px; line-height: 1.55; color: rgba(250, 247, 241, 0.85); margin: 0; }
.sev-404__actions { margin-top: 32px; gap: 16px 22px; }
.sev-404__actions .wp-block-button { margin: 0; }
/* Bouton fantôme (« Voir tous les numéros ») sur fond sombre. */
.sev-404__ghost .wp-block-button__link { background: transparent; border: 1px solid rgba(250, 247, 241, 0.6); color: var(--sev-papier); }
.sev-404__ghost .wp-block-button__link:hover { border-color: var(--sev-jaune); color: var(--sev-jaune); background: transparent; }

/* ================================================================== *
 * PAGE « LE MAGAZINE » (écran 04)
 * ================================================================== */

/* — Manifeste (hero) — */
.sev-mag-hero { background: var(--sev-papier); border-bottom: 1px solid var(--sev-filet); padding-block: 80px 72px; --wp--style--block-gap: 24px; }
.sev-mag-hero p { margin: 0; }
.sev-mag-hero__cols { align-items: center; }
.sev-mag-hero__pilecol { flex: 0 0 520px; }
.sev-mag-hero__h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 64px; line-height: 1.02; letter-spacing: -0.018em; color: var(--sev-encre); max-width: 20ch; margin: 0; }
.sev-mag-hero__lead { font-family: var(--sev-newsreader); font-size: 21px; line-height: 1.55; color: var(--sev-gris-texte); max-width: 56ch; }
/* Index interne de la page (comble le vide du hero + navigation par ancres) */
.sev-mag-hero__nav { margin-top: 40px; counter-reset: sevnav; }
.sev-mag-hero__navlist { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 6px 40px; }
.sev-mag-hero__navlist li { counter-increment: sevnav; margin: 0; }
.sev-mag-hero__navlist a { display: inline-flex; align-items: baseline; gap: 11px; padding: 5px 0; font-family: var(--sev-archivo); font-weight: 700; font-size: 15px; letter-spacing: 0.01em; line-height: 1.3; color: var(--sev-encre); text-decoration: none; width: fit-content; transition: color 0.18s ease, transform 0.18s ease; }
.sev-mag-hero__navlist a::before { content: counter(sevnav, decimal-leading-zero); font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 11px; letter-spacing: 0.06em; color: var(--sev-rouge); transform: translateY(-2px); opacity: 1; }
.sev-mag-hero__navlist a:hover { color: var(--sev-rouge); transform: translateX(5px); }
.sev-mag-hero__navlist a:hover::before { opacity: 1; }
@media (max-width: 600px) { .sev-mag-hero__navlist { grid-template-columns: 1fr; } }
.sev-mag-ton, .sev-mag-ligne, .sev-mag-rub, .sev-mag-redac { scroll-margin-top: 108px; }
.sev-mag-hero__note { font-family: var(--sev-newsreader); font-size: 16px; color: var(--sev-gris-clair); }

/* Pile de couvertures */
.sev-mag-pile { position: relative; height: 520px; }
/* Éventail : les 6 couvertures pivotent autour d'un point commun (bas, centre),
   comme une main de cartes. Largeur égale + margin-left = -largeur/2 pour centrer.
   bottom généreux => de l'air sous l'éventail avant le bandeau sombre. */
.sev-mag-pile__img { position: absolute; left: 50%; bottom: 72px; margin: 0 0 0 -130px; width: 260px; aspect-ratio: 210/272; overflow: hidden; transform-origin: bottom center; box-shadow: 0 18px 40px rgba(20,18,15,.22); }
.sev-mag-pile__img img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sev-mag-pile__img--1 { transform: rotate(-20deg); z-index: 1; }
.sev-mag-pile__img--2 { transform: rotate(-12deg); z-index: 2; }
.sev-mag-pile__img--3 { transform: rotate(-4deg);  z-index: 3; }
.sev-mag-pile__img--4 { transform: rotate(4deg);   z-index: 4; box-shadow: 0 18px 40px rgba(20,18,15,.24); }
.sev-mag-pile__img--5 { transform: rotate(12deg);  z-index: 5; box-shadow: 0 20px 44px rgba(20,18,15,.27); }
.sev-mag-pile__img--6 { transform: rotate(20deg);  z-index: 6; box-shadow: 0 22px 48px rgba(20,18,15,.3); }
.sev-mag-pile__badge { position: absolute; left: 8%; top: 28px; z-index: 7; background: var(--sev-jaune); color: var(--sev-encre); font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; padding: 7px 12px; }

/* Bandeau citation sombre */
.sev-mag-quoteband { background: var(--sev-encre); border-block: 3px solid var(--sev-rouge); padding-block: clamp(30px, 4vw, 52px); padding-inline: clamp(20px, 5vw, 100px); display: flex; justify-content: center; margin-top: 32px; }
.sev-mag-quoteband__t { font-family: var(--sev-newsreader); font-style: italic; font-weight: 500; font-size: clamp(23px, 2.9vw, 36px); line-height: 1.3; color: var(--sev-papier); text-align: center; text-wrap: balance; max-width: 1000px; margin: 0; }

/* Chiffres clés */
.sev-mag-stats { gap: 0; margin-top: 52px; }
.sev-mag-hero__note { margin-top: 20px; }
.sev-mag-stat { align-items: center; text-align: center; padding: 0 48px; border-right: 1px solid var(--sev-filet); }
.sev-mag-stat:last-child { border-right: none; }
.sev-mag-stat__num { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 72%; font-size: 52px; line-height: 1; color: var(--sev-rouge); margin: 0; }
@media (max-width: 781px) { .sev-mag-stat__num { font-size: 34px; } }
.sev-mag-stat__label { font-family: var(--sev-archivo); font-weight: 600; font-size: 14px; color: var(--sev-gris-texte); margin: 0; }

/* — Histoire — */
.sev-mag-histoire { background: var(--sev-papier); border-bottom: 1px solid var(--sev-filet); padding-block: 72px; }
.sev-mag-histoire p { margin: 0; }
.sev-mag-histoire__cols { align-items: flex-start; }
.sev-mag-histoire__aside { flex: 0 0 280px; }
.sev-mag-histoire__year { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 72%; font-size: 96px; line-height: 1; color: var(--sev-jaune); }
.sev-mag-histoire__eyebrow { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 14px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-encre); }
/* Filigrane discret : grand « & » (signature du logo), décalé, très transparent,
   qui habille le vide sous « 1990 / L'HISTOIRE ». */
.sev-mag-histoire__aside { position: relative; }
.sev-mag-histoire__aside::after { content: "S&V"; position: absolute; left: 44px; top: 192px; font-family: var(--sev-newsreader); font-style: italic; font-weight: 700; font-size: 190px; line-height: 0.8; letter-spacing: -0.03em; white-space: nowrap; color: var(--sev-jaune); opacity: 0.09; pointer-events: none; z-index: 0; }
.sev-mag-prose { font-family: var(--sev-newsreader); font-size: 19px; line-height: 1.65; color: #33302A; max-width: 66ch; }
.sev-mag-pull { border-left: 4px solid var(--sev-jaune); padding: 6px 0 6px 24px; }
.sev-mag-pull__t { font-family: var(--sev-newsreader); font-style: italic; font-weight: 500; font-size: 24px; line-height: 1.35; color: var(--sev-encre); margin: 0; }
.sev-mag-pull__a { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-gris-clair); margin: 10px 0 0; }
.sev-mag-redac__quote { font-family: var(--sev-newsreader); font-style: italic; font-size: 15px; line-height: 1.5; color: var(--sev-gris-texte, #4A463F); margin: 12px 0 0; }
.sev-mag-exergue { background: var(--sev-jaune); padding-block: clamp(52px, 8vw, 90px); padding-inline: clamp(20px, 5vw, 100px); text-align: center; }
.sev-mag-exergue__t { font-family: var(--sev-newsreader); font-style: italic; font-weight: 500; font-size: clamp(23px, 3.2vw, 38px); line-height: 1.3; letter-spacing: -0.01em; color: var(--sev-encre); max-width: 900px; margin: 0 auto; text-wrap: balance; }
.sev-mag-exergue__a { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sev-rouge); margin: 22px 0 0; }

/* — Un ton reconnaissable (4 derniers) — */
.sev-mag-ton { background: var(--sev-encre); padding-block: 56px 64px; --wp--style--block-gap: 28px; }
.sev-mag-ton p { margin: 0; }
.sev-mag-ton__head { align-items: center; border-bottom: 1px solid rgba(250,247,241,.18); padding-bottom: 16px; }
.sev-mag-ton__t { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-papier); }
.sev-mag-ton__sub { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--sev-jaune); }
.sev-mag-ton__grid { align-items: flex-start; }
.sev-mag-ton__cover { margin: 0; overflow: hidden; border-top: 4px solid var(--sev-jaune); aspect-ratio: 210/272; }
.sev-mag-ton__cover img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.sev-mag-ton__cover a { display: block; width: 100%; height: 100%; }
.sev-mag-ton__cover a:hover img { transform: scale(1.04); }
.sev-mag-pile__img a { display: block; width: 100%; height: 100%; }
/* Cartes « 4 derniers numéros » : on reprend le design des cartes de la grille
   « Tous les numéros » (.sev-tn-card__*), adapté au fond sombre. */
.sev-mag-ton__grid .sev-tn-card__num { color: var(--sev-jaune); }
.sev-mag-ton__grid .sev-tn-card__titre { color: var(--sev-papier); }
.sev-mag-ton__grid .sev-tn-card__link a { color: rgba(250,247,241,.72); border-bottom-color: rgba(250,247,241,.32); }
.sev-mag-ton__grid .sev-tn-card__link a:hover { color: var(--sev-jaune); border-bottom-color: var(--sev-jaune); }

/* — Ligne éditoriale — */
.sev-mag-ligne { background: var(--sev-papier); border-bottom: 1px solid var(--sev-filet); padding-block: 72px; }
.sev-mag-ligne p { margin: 0; }
.sev-mag-ligne__t { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 22px; letter-spacing: 0.02em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-mag-ligne__d { font-family: var(--sev-newsreader); font-size: 17px; line-height: 1.6; color: var(--sev-gris-texte); }

/* — Rubriques — */
.sev-mag-rub { background: var(--sev-encre); padding-block: 64px 72px; }
.sev-mag-rub p { margin: 0; }
.sev-mag-rub__title { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-papier); border-bottom: 1px solid rgba(250,247,241,.18); padding-bottom: 14px; }
.sev-mag-rub__list { display: grid; grid-template-columns: 1fr 1fr; column-gap: 80px; }
.sev-mag-rub__row { display: grid; grid-template-columns: 185px 1fr; align-items: baseline; gap: 0 24px; padding: 16px 0; border-bottom: 1px solid rgba(250,247,241,.14); }
.sev-mag-rub__term { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 72%; font-size: 23px; line-height: 1.15; text-transform: uppercase; color: var(--sev-jaune); white-space: nowrap; }
.sev-mag-rub__desc { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.5; color: #B7B0A3; }

/* — Rédaction — */
.sev-mag-redac { background: var(--sev-papier); border-bottom: 1px solid var(--sev-filet); padding-block: 72px; }
.sev-mag-redac p { margin: 0; }
.sev-mag-avatar { width: 120px; height: 120px; border-radius: 50%; background: #E9E2D2; display: flex; align-items: center; justify-content: center; text-align: center; }
.sev-mag-avatar__txt { font-family: var(--sev-archivo); font-weight: 700; font-stretch: 82%; font-size: 10px; letter-spacing: 0.1em; text-transform: uppercase; color: #A79F8F; }
.sev-mag-portrait { width: 120px; height: 120px; border-radius: 50%; overflow: hidden; margin: 0; }
.sev-mag-portrait img { display: block; width: 100%; height: 100%; object-fit: cover; }
.sev-mag-avatar-stack { display: flex; }
.sev-mag-avatar-stack .sev-mag-avatar { border: 3px solid var(--sev-papier); }
.sev-mag-avatar--a { background: #E9E2D2; }
.sev-mag-avatar--b { background: var(--sev-creme); margin-left: -40px; }
.sev-mag-avatar--c { background: var(--sev-filet); margin-left: -40px; }
.sev-mag-redac__name { font-family: var(--sev-newsreader); font-weight: 600; font-size: 22px; color: var(--sev-encre); }
.sev-mag-redac__role { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-mag-redac__bio { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.55; color: var(--sev-gris-texte); }
@media (max-width: 781px) {
	.sev-mag-redac__grid { row-gap: 44px; }
	.sev-mag-redac__grid .wp-block-column { text-align: center; }
	.sev-mag-redac__grid .sev-mag-portrait,
	.sev-mag-redac__grid .sev-mag-experts__badge { margin-inline: auto; }
}

/* — Rappel abonnement (bande jaune) — */
.sev-mag-abo { background: var(--sev-jaune); padding-block: 56px; }
.sev-mag-abo p { margin: 0; }
.sev-mag-abo__row { align-items: center; gap: 60px; flex-wrap: nowrap; }
.sev-mag-abo__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 34px; line-height: 1.12; color: var(--sev-encre); text-wrap: balance; }
.sev-mag-abo__sub { font-family: var(--sev-newsreader); font-size: 17px; color: #33302A; }
.sev-mag-abo__btn { flex: none; }
.sev-mag-abo__btn .wp-block-button__link { font-size: 15px; padding: 17px 32px; }

/* ================================================================== *
 * PAGE « TOUS LES NUMÉROS » (écran 17)
 * ================================================================== */

/* — Section 1 : dernières parutions — */
.sev-tn { background: var(--sev-papier); padding-block: 56px 72px; --wp--style--block-gap: 36px; }
.sev-tn p { margin: 0; }
.sev-tn__head { align-items: baseline; border-bottom: 2px solid var(--sev-encre); padding-bottom: 16px; gap: 24px; }
.sev-tn__headtxt { flex: 1 1 auto; }
.sev-tn__h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 52px; line-height: 1.04; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0; }
.sev-tn__headnote { font-family: var(--sev-archivo); font-weight: 600; font-size: 14px; color: var(--sev-gris-texte); white-space: nowrap; }

.sev-tn-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 36px; }
.sev-tn-card { display: flex; flex-direction: column; gap: 14px; }
.sev-tn-card__cov { position: relative; border-top: 4px solid var(--sev-jaune); aspect-ratio: 210/272; overflow: hidden; background: var(--sev-creme); }
.sev-tn-card__img { margin: 0; height: 100%; }
.sev-tn-card__img a { display: block; height: 100%; }
.sev-tn-card__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sev-tn-card__badge { position: absolute; top: 12px; left: 12px; background: var(--sev-rouge); color: var(--sev-papier); font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; padding: 6px 10px; }
.sev-tn-card__body { display: flex; flex-direction: column; gap: 4px; }
.sev-tn-card__num { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-tn-card__titre { font-family: var(--sev-newsreader); font-weight: 600; font-size: 20px; line-height: 1.25; color: var(--sev-encre); }
.sev-tn-card__link a { font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-clair); text-decoration: none; border-bottom: 1px solid var(--sev-separateur, #B7B0A3); }
.sev-tn-card__link a:hover { color: var(--sev-rouge); border-bottom-color: var(--sev-rouge); }

.sev-tn-statcol { display: flex; flex-direction: column; gap: 14px; }
.sev-tn-stat { aspect-ratio: 210/272; border: 2px dashed var(--sev-separateur, #B7B0A3); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; padding: 24px; text-align: center; }
.sev-tn-stat__big { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 72%; font-size: 44px; line-height: 1; color: var(--sev-rouge); }
.sev-tn-stat__pre { display: block; font-family: var(--sev-newsreader); font-weight: 600; font-size: 18px; color: var(--sev-encre); font-stretch: normal; }
.sev-tn-stat__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 18px; line-height: 1.3; color: var(--sev-encre); }
.sev-tn-stat__d { font-family: var(--sev-newsreader); font-size: 14px; line-height: 1.5; color: var(--sev-gris-texte); }
.sev-tn-stat__link a { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-rouge); text-decoration: none; border-bottom: 2px solid var(--sev-rouge); padding-bottom: 2px; }

/* Encart « S'abonner » — remplit la case vide de la grille (desktop). Crème + accent
   rouge discret (comme l'encart de la fiche), aligné sur la forme des tuiles. */
.sev-tn-abocard { aspect-ratio: 210/272; background: var(--sev-creme); color: var(--sev-encre); border-left: 3px solid var(--sev-rouge); display: flex; flex-direction: column; justify-content: center; gap: 12px; padding: 26px 24px; }
.sev-tn-abocard__eyebrow { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); margin: 0; }
.sev-tn-abocard__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 21px; line-height: 1.25; color: var(--sev-encre); margin: 0; }
.sev-tn-abocard__btns { margin-top: 4px; }
.sev-tn-abocard .wp-block-button__link { background: var(--sev-rouge); color: var(--sev-papier); font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; padding: 12px 22px; border-radius: 2px; }
.sev-tn-abocard .wp-block-button__link:hover { background: var(--sev-rouge-fonce); }

/* — Section 2 : catalogue interactif — */
.sev-tn-cat { background: var(--sev-creme); padding-block: 64px 72px; }
.sev-cat { display: flex; flex-direction: column; gap: 26px; }
.sev-cat__head { display: flex; align-items: baseline; justify-content: space-between; gap: 24px; border-bottom: 2px solid var(--sev-encre); padding-bottom: 14px; }
.sev-cat__title { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-encre); margin: 0; }
.sev-cat__count { font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-texte); margin: 0; }
.sev-cat__controls { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; }
.sev-cat__tabs { display: flex; gap: 8px; }
.sev-cat__tab { background: transparent; color: var(--sev-encre); border: 1px solid var(--sev-encre); border-radius: 999px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; padding: 9px 18px; cursor: pointer; }
.sev-cat__tab.is-active { background: var(--sev-encre); color: var(--sev-papier); }
.sev-cat__search { display: flex; align-items: center; gap: 10px; background: #fff; border: 1px solid var(--sev-separateur, #B7B0A3); border-radius: 2px; padding: 0 14px; width: 360px; max-width: 100%; }
.sev-cat__search svg { width: 16px; height: 16px; color: var(--sev-gris-clair); flex: none; }
.sev-cat__input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: var(--sev-archivo); font-size: 14px; color: var(--sev-encre); padding: 12px 0; }
.sev-cat__chips { display: flex; flex-wrap: wrap; gap: 8px; align-items: baseline; }
.sev-cat__chip { background: #fff; color: #33302A; border: 1px solid var(--sev-separateur, #B7B0A3); border-radius: 999px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 11px; letter-spacing: 0.05em; text-transform: uppercase; padding: 7px 14px; cursor: pointer; }
.sev-cat__chip.is-active { background: var(--sev-rouge); color: var(--sev-papier); border-color: var(--sev-rouge); }
.sev-cat__list { columns: 2; column-gap: 56px; border-top: 2px solid var(--sev-encre); }
.sev-cat__row { display: grid; grid-template-columns: 40px 60px 1fr auto; gap: 14px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--sev-creme-sombre); break-inside: avoid; }
a.sev-cat__row.is-link { text-decoration: none; color: inherit; cursor: pointer; padding-inline: 8px; margin-inline: -8px; border-radius: 2px; transition: background 0.12s ease; }
a.sev-cat__row.is-link:hover { background: rgba(20,18,15,.04); }
a.sev-cat__row.is-link:hover .sev-cat__titre { color: var(--sev-rouge); }
.sev-cat__cov img { width: 40px; aspect-ratio: 210/272; object-fit: cover; display: block; border: 1px solid var(--sev-creme-sombre); }
.sev-cat__cov-ph { width: 40px; aspect-ratio: 210/272; background: var(--sev-filet); display: flex; align-items: center; justify-content: center; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 72%; font-size: 11px; color: #A79F8F; }
.sev-cat__meta { display: flex; flex-direction: column; }
.sev-cat__num { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.04em; color: var(--sev-rouge); white-space: nowrap; }
.sev-cat__year { font-family: var(--sev-archivo); font-weight: 600; font-size: 11px; color: var(--sev-gris-clair); }
.sev-cat__titre { font-family: var(--sev-newsreader); font-weight: 500; font-size: 16px; line-height: 1.3; color: var(--sev-encre); }
.sev-cat__price-wrap { display: flex; align-items: baseline; gap: 10px; }
.sev-cat__epuise { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-gris-clair); border: 1px solid var(--sev-separateur, #B7B0A3); border-radius: 2px; padding: 3px 7px; }
.sev-cat__price { font-family: var(--sev-archivo); font-weight: 700; font-size: 13px; color: var(--sev-encre); white-space: nowrap; }
.sev-cat__price.is-out { color: var(--sev-separateur, #B7B0A3); }
.sev-cat__empty { font-family: var(--sev-newsreader); font-style: italic; font-size: 16px; color: var(--sev-gris-texte); }
.sev-cat__foot { font-family: var(--sev-newsreader); font-style: italic; font-size: 15px; color: var(--sev-gris-clair); margin: 0; }
.sev-cat__foot a { font-style: normal; font-family: var(--sev-archivo); font-weight: 700; color: var(--sev-rouge); text-decoration: none; border-bottom: 1px solid var(--sev-rouge); }
.sev-cat__foot a:hover { color: var(--sev-rouge-fonce); }

/* — Section 3 : CTA — */
.sev-tn-cta { background: var(--sev-jaune); padding-block: 44px; }
.sev-tn-cta p { margin: 0; }
.sev-tn-cta__row { align-items: center; gap: 40px; }
.sev-tn-cta__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 28px; line-height: 1.15; color: var(--sev-encre); text-wrap: balance; }
.sev-tn-cta__btn { flex: none; }
.sev-tn-cta__btn .wp-block-button__link { font-size: 14px; padding: 16px 30px; }

/* ================================================================== *
 * PAGE « CONTACT » (écran 14) — formulaire Gravity Forms + coordonnées
 * ================================================================== */
.sev-contact-page { background: var(--sev-papier); padding-block: 56px 72px; }
.sev-contact-page p { margin: 0; }
.sev-contact-page__cols { align-items: flex-start; }
.sev-contact-page__cols > .sev-contact-page__main { flex: 1 1 0 !important; min-width: 0; }
.sev-contact-page__cols > .sev-contact-page__aside { flex: 0 0 420px !important; }
.sev-contact-page__h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 52px; line-height: 1.04; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0; }
.sev-contact-page__lead { font-family: var(--sev-newsreader); font-size: 18px; line-height: 1.6; color: var(--sev-gris-texte); max-width: 56ch; }
.sev-contact-page__fallback { font-family: var(--sev-newsreader); font-size: 17px; color: var(--sev-gris-texte); }

/* Habillage GF (voir la section « FORMULAIRES GRAVITY FORMS » plus bas). */
.sev-contact-page .sev-cform-note { font-family: var(--sev-archivo); font-size: 12px; color: var(--sev-gris-clair); margin: 0; }

/* Confirmation « Message bien reçu » */
.sev-cform-ok { display: flex; flex-direction: column; gap: 14px; padding: 8px 0; }
.sev-cform-ok__mark { width: 52px; height: 52px; border-radius: 50%; background: var(--sev-jaune); display: flex; align-items: center; justify-content: center; font-family: var(--sev-newsreader); font-size: 28px; color: var(--sev-encre); }
.sev-cform-ok__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 28px; line-height: 1.2; color: var(--sev-encre); }
.sev-cform-ok__d { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.55; color: var(--sev-gris-texte); max-width: 50ch; }

/* — Carte coordonnées — */
.sev-cinfo { background: var(--sev-creme); border-radius: 4px; padding: 28px 30px; }
.sev-cinfo__title { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); border-bottom: 1px solid rgba(20,18,15,.15); padding-bottom: 12px; }
.sev-cinfo__label { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.09em; text-transform: uppercase; color: var(--sev-gris-texte); margin-bottom: 3px; }
.sev-cinfo__phone { font-family: var(--sev-newsreader); font-weight: 600; font-size: 21px; line-height: 1.2; color: #33302A; }
.sev-cinfo__note { font-family: var(--sev-archivo); font-size: 12px; color: var(--sev-gris-clair); }
.sev-cinfo__mail { font-family: var(--sev-newsreader); font-size: 16px; color: #33302A; }
.sev-cinfo__mail a { color: var(--sev-encre); text-decoration: none; }
.sev-cinfo__mail a:hover { color: var(--sev-rouge); }
.sev-cinfo__addr { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.5; color: #33302A; }
.sev-cinfo__editor { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.5; color: #33302A; }
.sev-cinfo__editor strong { color: var(--sev-encre); font-weight: 600; }
/* Écart « saut de ligne » entre 2 paragraphes de l'encart éditeur (ligne vide dans le champ) */
.sev-cinfo__editor + .sev-cinfo__editor { margin-top: 14px !important; }

/* — Carte newsletter — */
.sev-cnews { background: var(--sev-jaune); border-radius: 4px; padding: 24px 26px; }
.sev-cnews__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 19px; line-height: 1.3; color: var(--sev-encre); }
.sev-cnews__form { display: flex; gap: 8px; }
.sev-cnews__input { flex: 1; min-width: 0; font-family: var(--sev-archivo); font-size: 14px; color: var(--sev-encre); background: var(--sev-papier); border: none; border-radius: 2px; padding: 13px 14px; outline: none; }
.sev-cnews__btn { background: var(--sev-encre); color: var(--sev-papier); border: none; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; padding: 13px 18px; border-radius: 2px; cursor: pointer; white-space: nowrap; }
.sev-cnews__btn:hover { background: #33302A; }
.sev-cnews .sev-cnews__note { margin-top: 12px; font-family: var(--sev-archivo); font-size: 11px; color: #33302A; }

/* ================================================================== *
 * FORMULAIRES GRAVITY FORMS (charte S&V, tous formulaires du front)
 * ================================================================== */
/* Bascule l'accent GF (bleu orbital par défaut) vers le rouge S&V. */
.gform_wrapper {
	--gf-color-primary: var(--sev-rouge);
	--gf-color-primary-rgb: 216, 34, 26;
	--gf-color-primary-contrast: var(--sev-papier);
	--gf-color-primary-darker: var(--sev-rouge-fonce);
	--gf-color-primary-darkest: var(--sev-rouge-fonce);
}
.gform_wrapper .gform_fields { grid-column-gap: 16px; grid-row-gap: 16px; }
/* font-family en !important : Gravity Forms 2.5 (theme-framework) force sa police
   sur .gform-field-label à spécificité égale mais chargée après → sinon les
   labels retombent en serif. */
.gform_wrapper .gfield_label { font-family: var(--sev-archivo) !important; font-weight: 800 !important; font-stretch: 82% !important; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-encre); margin-bottom: 8px; }
/* Indicateur « requis » en rouge (demande Olivier) */
.gform_wrapper .gfield_label .gfield_required { color: var(--sev-rouge) !important; font-weight: 700 !important; font-size: 12px; letter-spacing: 0.02em; text-transform: none; margin-left: 4px; }
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper input[type="url"],
.gform_wrapper select,
.gform_wrapper textarea {
	font-family: var(--sev-archivo);
	font-size: 15px;
	color: var(--sev-encre);
	background: #fff;
	border: 1px solid var(--sev-filet);
	border-radius: 4px;
	padding: 15px 16px;
	width: 100%;
	box-shadow: none;
	line-height: 1.4;
	height: auto;
	min-height: 0;
	box-sizing: border-box;
	transition: border-color 0.15s ease, box-shadow 0.15s ease;
}
.gform_wrapper textarea { font-family: var(--sev-newsreader); font-size: 16px; min-height: 150px; resize: vertical; }
.gform_wrapper input:hover:not(:focus),
.gform_wrapper select:hover:not(:focus),
.gform_wrapper textarea:hover:not(:focus) { border-color: var(--sev-separateur, #B7B0A3); }
/* Select : appearance:none corrige le texte tronqué (Safari) + flèche maison */
.gform_wrapper select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	height: auto;
	line-height: 1.3;
	padding-right: 42px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A746A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 14px;
	text-overflow: ellipsis;
}
.gform_wrapper ::placeholder { color: #A79F8F; opacity: 1; }
.gform_wrapper input:focus,
.gform_wrapper select:focus,
.gform_wrapper textarea:focus { outline: none; border-color: var(--sev-rouge); box-shadow: 0 0 0 3px rgba(216,34,26,.12); }
.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error select,
.gform_wrapper .gfield_error textarea { border-color: var(--sev-rouge); }
.gform_wrapper .gfield_validation_message,
.gform_wrapper .gfield_description.validation_message,
.gform_wrapper .gform_validation_errors { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-rouge); background: none; border: 0; box-shadow: none; }
.gform_wrapper .gform_footer { margin-top: 20px; padding: 0; display: flex; align-items: center; flex-wrap: wrap; gap: 20px; }
/* Bouton d'envoi = bouton rouge de la charte (comme les autres CTA). */
.gform_wrapper .gform_footer .gform_button,
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"] {
	background: var(--sev-rouge) !important;
	color: var(--sev-papier) !important;
	border: none !important;
	font-family: var(--sev-archivo);
	font-weight: 800;
	font-stretch: 82%;
	font-size: 14px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 16px 30px;
	border-radius: 2px;
	cursor: pointer;
	width: auto;
	transition: background 0.15s ease;
}
.gform_wrapper .gform_footer .gform_button:hover,
.gform_wrapper .gform_button:hover,
.gform_wrapper input[type="submit"]:hover { background: var(--sev-rouge-fonce) !important; }

/* Boutons de navigation multi-pages */
.gform_wrapper .gform_page_footer { display: flex; align-items: center; flex-wrap: wrap; gap: 14px; margin-top: 24px; border-top: 0; }
.gform_wrapper .gform_next_button,
.gform_wrapper input.gform_next_button {
	background: var(--sev-rouge) !important;
	color: var(--sev-papier) !important;
	border: none !important;
	font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 14px; letter-spacing: 0.06em; text-transform: uppercase;
	padding: 16px 30px; border-radius: 2px; cursor: pointer; width: auto;
}
.gform_wrapper .gform_next_button:hover { background: var(--sev-rouge-fonce) !important; }
.gform_wrapper .gform_previous_button,
.gform_wrapper input.gform_previous_button {
	background: transparent !important;
	color: var(--sev-encre) !important;
	border: 1px solid var(--sev-encre) !important;
	font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase;
	padding: 15px 24px; border-radius: 2px; cursor: pointer; width: auto;
}
.gform_wrapper .gform_previous_button:hover { background: var(--sev-creme) !important; }

/* Typo Archivo forcée sur TOUS les boutons GF (le thème orbital impose sinon
   Newsreader). Même famille/graisse que les autres CTA du site. */
.gform_wrapper .gform_button,
.gform_wrapper input[type="submit"],
.gform_wrapper .gform_next_button,
.gform_wrapper input.gform_next_button,
.gform_wrapper .gform_previous_button,
.gform_wrapper input.gform_previous_button,
.gform_wrapper .gform_page_footer .button {
	font-family: var(--sev-archivo) !important;
	font-weight: 800 !important;
	font-stretch: 82% !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}

/* Indicateur d'étapes (pagination « steps ») */
.gform_wrapper .gf_page_steps { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 4px; border: 0; margin-bottom: 32px; padding-bottom: 0; }
.gform_wrapper .gf_step { display: flex; align-items: center; gap: 10px; padding: 0 18px; opacity: 1; font-weight: inherit; }
.gform_wrapper .gf_step_number { width: 30px; height: 30px; border-radius: 50%; background: var(--sev-creme); color: var(--sev-gris-clair); display: flex; align-items: center; justify-content: center; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; flex: none; border: 0; }
.gform_wrapper .gf_step_number::before { content: none; }
/* GF ajoute un ::after (cercle + coche dans la couleur du thème = bleu) sur les
   étapes terminées, qui se superposait à notre cercle → doublon visuel. On le
   neutralise : la maquette veut un simple cercle encre avec le numéro. */
.gform_wrapper .gf_step_number::after { content: none !important; display: none !important; }
.gform_wrapper .gf_step_label { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-gris-clair); }
.gform_wrapper .gf_step_active .gf_step_number { background: var(--sev-rouge); color: var(--sev-papier); }
.gform_wrapper .gf_step_active .gf_step_label { color: var(--sev-encre); }
.gform_wrapper .gf_step_completed .gf_step_number { background: var(--sev-encre); color: var(--sev-papier); }
.gform_wrapper .gf_step_completed .gf_step_label { color: var(--sev-encre); }
/* Étapes complétées cliquables (retour en arrière) */
.sev-tunnel .gform_wrapper .gf_step_completed { cursor: pointer; }
.sev-tunnel .gform_wrapper .gf_step_completed:hover .gf_step_number { background: var(--sev-rouge); }
.sev-tunnel .gform_wrapper .gf_step_completed:hover .gf_step_label { color: var(--sev-rouge); }

/* Champ Produit (formules) en cartes radio */
.gform_wrapper .gfield--type-product .gfield_radio { display: flex; flex-direction: column; gap: 14px; }
.gform_wrapper .gfield--type-product .gchoice { display: flex; align-items: center; gap: 14px; background: #fff; border: 2px solid var(--sev-filet); border-radius: 4px; padding: 20px 24px; cursor: pointer; margin: 0; transition: border-color 0.15s ease, background 0.15s ease, box-shadow 0.15s ease; }
.gform_wrapper .gfield--type-product .gchoice:hover { border-color: var(--sev-separateur, #B7B0A3); }
.gform_wrapper .gfield--type-product .gchoice:has(input:checked) { border-color: var(--sev-rouge); background: rgba(216,34,26,.04); }
.gform_wrapper .gfield--type-product .gchoice label { flex: 1; font-family: var(--sev-archivo); font-weight: 700; font-size: 15px; color: var(--sev-encre); cursor: pointer; }
.gform_wrapper .gfield--type-product input[type="radio"] { accent-color: var(--sev-rouge); width: 20px; height: 20px; flex: none; }
/* Carte formule (maquette) : titre + sous-titre à gauche, badge + prix à droite */
.sev-plan-c { display: flex; align-items: center; justify-content: space-between; gap: 20px; width: 100%; }
.sev-plan-c__info { display: flex; flex-direction: column; gap: 4px; }
.sev-plan-c__name { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 16px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sev-encre); }
.sev-plan-c__sub { font-family: var(--sev-newsreader); font-weight: 400; font-size: 15px; line-height: 1.4; color: var(--sev-gris-texte); text-transform: none; letter-spacing: 0; }
.sev-plan-c__price { display: flex; flex-direction: column; align-items: flex-end; gap: 6px; flex: none; white-space: nowrap; text-align: right; }
.sev-plan-c__save { background: var(--sev-creme); color: var(--sev-encre); font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; padding: 4px 8px; }
.gform_wrapper .gfield--type-product .gchoice:has(input:checked) .sev-plan-c__save { background: var(--sev-jaune); }
.sev-plan-c__amt { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 26px; color: var(--sev-encre); }
.sev-plan-c__amt s { font-family: var(--sev-archivo); font-weight: 600; font-size: 15px; color: #A79F8F; text-decoration: line-through; }

/* Champ Total */
.gform_wrapper .ginput_container_total .ginput_total { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 34px; color: var(--sev-encre); }
.gform_wrapper .gfield--type-total .gfield_label { font-size: 12px; }

/* Encart « module de paiement » */
.sev-pay-note { border: 1px dashed var(--sev-separateur, #B7B0A3); border-radius: 4px; padding: 14px 16px; background: var(--sev-creme); font-family: var(--sev-archivo); font-size: 13px; line-height: 1.55; color: var(--sev-gris-texte); }
.sev-pay-note strong { font-stretch: 82%; text-transform: uppercase; letter-spacing: 0.06em; font-size: 11px; color: var(--sev-encre); }

/* ================================================================== *
 * TABLEAUX (core/table) — look éditorial par défaut
 * ================================================================== */
.wp-block-table:not(.sev-compare) { overflow-x: auto; }
.wp-block-table:not(.sev-compare) table { border-collapse: collapse; width: 100%; font-family: var(--sev-archivo); font-size: 14px; color: var(--sev-texte); }
.wp-block-table:not(.sev-compare) th,
.wp-block-table:not(.sev-compare) td { padding: 13px 16px; border: 0; border-bottom: 1px solid var(--sev-filet); text-align: left; vertical-align: baseline; }
.wp-block-table:not(.sev-compare) thead th { font-weight: 800; font-stretch: 82%; text-transform: uppercase; letter-spacing: 0.05em; font-size: 12px; color: var(--sev-encre); border-bottom: 2px solid var(--sev-encre); }
.wp-block-table:not(.sev-compare) tbody tr:last-child td { border-bottom: 0; }
.wp-block-table:not(.sev-compare) tbody tr:hover td { background: rgba(20,18,15,.02); }
.wp-block-table:not(.sev-compare) figcaption { font-family: var(--sev-archivo); font-size: 12px; color: var(--sev-gris-clair); margin-top: 8px; }

/* ================================================================== *
 * BOUTON « RETOUR EN HAUT »
 * ================================================================== */
.sev-totop {
	position: fixed;
	right: 24px;
	bottom: 24px;
	width: 48px;
	height: 48px;
	border: none;
	border-radius: 50%;
	background: var(--sev-encre);
	color: var(--sev-papier);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(10px);
	transition: opacity 0.2s ease, transform 0.2s ease, background 0.2s ease;
	z-index: 90;
	box-shadow: 0 4px 16px rgba(20,18,15,.28);
}
.sev-totop.is-visible { opacity: 1; visibility: visible; transform: none; }
.sev-totop:hover { background: var(--sev-rouge); }
.sev-totop svg { width: 22px; height: 22px; display: block; }

/* ================================================================== *
 * ESPACEMENT DU CHAPÔ (intro sous le H1) — plus d'air avant le contenu
 * ================================================================== */
.sev-contact-page__intro { margin-bottom: 20px; }
.sev-abpage__intro { margin-bottom: 16px; }
.sev-mag-hero__cols { margin-bottom: 32px; }
.sev-tn__head { margin-bottom: 8px; }

/* ================================================================== *
 * PAGE « LE NUMÉRO » (écran 10) — numéro en cours
 * ================================================================== */
/* Barre de sélection */
.sev-num-bar { background: var(--sev-creme); border-bottom: 1px solid var(--sev-filet); padding-block: 16px; }
.sev-num-bar p { margin: 0; }
.sev-num-bar__row { align-items: center; gap: 20px; }
.sev-num-bar__chips { align-items: center; gap: 10px; }
.sev-num-bar__label { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-gris-texte); }
.sev-num-chip { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; padding: 8px 15px; border: 1px solid var(--sev-separateur, #B7B0A3); border-radius: 999px; background: #fff; color: #33302A; }
.sev-num-chip a { color: inherit; text-decoration: none; display: block; }
.sev-num-chip.is-active { background: var(--sev-encre); color: var(--sev-papier); border-color: var(--sev-encre); }
.sev-num-bar__all a { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--sev-rouge); text-decoration: none; border-bottom: 2px solid var(--sev-rouge); padding-bottom: 1px; }

/* Hero numéro */
.sev-num-hero { background: var(--sev-papier); padding-block: 64px 72px; }
.sev-num-hero p { margin: 0; }
.sev-num-hero__cols { align-items: flex-start; }
.sev-num-hero__cols > .sev-num-hero__covcol { flex: 0 0 480px !important; }
.sev-num-hero__cols > .sev-num-hero__body { flex: 1 1 0 !important; min-width: 0; padding-top: 4px; }
.sev-num-cover { position: relative; }
.sev-num-cover::before { content: ""; position: absolute; top: 22px; left: 22px; width: 100%; height: 100%; background: var(--sev-jaune); z-index: 0; }
.sev-num-cover__img { position: relative; z-index: 1; margin: 0; aspect-ratio: 210/272; overflow: hidden; border: 1px solid var(--sev-filet); }
.sev-num-cover__img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.sev-num-meta { align-items: center; gap: 12px; }
.sev-num-meta__badge { background: var(--sev-jaune); color: var(--sev-encre); font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; padding: 7px 11px; }
.sev-num-meta__date { font-family: var(--sev-archivo); font-weight: 600; font-size: 14px; color: var(--sev-gris-clair); }
.sev-num-title__dossier { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 15px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-num-title__h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 62px; line-height: 1.02; letter-spacing: -0.018em; color: var(--sev-encre); margin: 0; }
.sev-num-title__chapo { font-family: var(--sev-newsreader); font-size: 20px; line-height: 1.55; color: #33302A; max-width: none; }
.sev-num-hero__btn .wp-block-button__link { font-size: 14px; padding: 16px 28px; }
.sev-num-edito { border-left: 4px solid var(--sev-jaune); padding: 8px 0 8px 22px; margin-top: 10px; }
.sev-num-edito__q { font-family: var(--sev-newsreader); font-style: italic; font-weight: 500; font-size: 20px; line-height: 1.4; color: var(--sev-encre); }
.sev-num-edito__line { font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-clair); margin-top: 6px; }

/* Sommaire */
.sev-num-somm { background: var(--sev-creme); padding-block: 64px 72px; }
.sev-num-somm p { margin: 0; }
.sev-num-somm__cols { align-items: flex-start; }
.sev-num-somm__cols > .sev-num-somm__aside { flex: 0 0 380px !important; }
.sev-num-somm__cols > .sev-num-somm__list { flex: 1 1 0 !important; min-width: 0; }
.sev-num-somm__list .sev-block-title { margin-bottom: 0; }
.sev-num-somm__intro { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.6; color: var(--sev-gris-texte); }
.sev-num-somm__link a { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-rouge); text-decoration: none; border-bottom: 2px solid var(--sev-rouge); padding-bottom: 2px; }
.sev-num-row { display: grid; grid-template-columns: 52px 170px 1fr; gap: 24px; align-items: baseline; padding: 15px 18px 15px 0; border-bottom: 1px solid #D8D2C4; }
.sev-num-row.is-dossier { background: linear-gradient(90deg, rgba(236,183,31,.25), rgba(236,183,31,0) 70%); }
.sev-num-row__p { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 14px; color: var(--sev-gris-clair); }
.sev-num-row__rub { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-num-row__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 20px; line-height: 1.25; color: var(--sev-encre); }

/* Trois raisons de le lire */
.sev-num-raisons { background: var(--sev-papier); padding-block: 64px 72px; }
.sev-num-raisons p { margin: 0; }
.sev-num-card__rub { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-num-card__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 24px; line-height: 1.2; color: var(--sev-encre); }
.sev-num-card__d { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.55; color: var(--sev-gris-texte); }
.sev-num-card__meta { font-family: var(--sev-archivo); font-weight: 600; font-size: 12px; color: var(--sev-gris-clair); }

/* CTA */
.sev-num-cta { background: var(--sev-jaune); padding-block: 56px; }
.sev-num-cta p { margin: 0; }
.sev-num-cta__row { align-items: center; gap: 60px; }
.sev-num-cta__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 34px; line-height: 1.12; color: var(--sev-encre); text-wrap: balance; }
.sev-num-cta__sub { font-family: var(--sev-newsreader); font-size: 18px; line-height: 1.5; color: #33302A; }
.sev-num-cta__btn { flex: none; }
.sev-num-cta__btn .wp-block-button__link { font-size: 15px; padding: 17px 34px; }

/* ================================================================== *
 * PAGE « COMMANDER » (écran 05) — tunnel d'abonnement Gravity Forms
 * ================================================================== */
.sev-tunnel { background: var(--sev-papier); padding-block: 48px 72px; }
.sev-tunnel p { margin: 0; }
.sev-tunnel__intro { max-width: 760px; margin-bottom: 28px; }
.sev-tunnel__h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 44px; line-height: 1.05; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0; }
.sev-tunnel__lead { font-family: var(--sev-newsreader); font-size: 18px; line-height: 1.55; color: var(--sev-gris-texte); }
.sev-tunnel__fallback { font-family: var(--sev-newsreader); font-size: 17px; color: var(--sev-gris-texte); }
.sev-tunnel__cols { align-items: flex-start; }
.sev-tunnel__cols > .sev-tunnel__main { flex: 1 1 0 !important; min-width: 0; }
.sev-tunnel__cols > .sev-tunnel__aside { flex: 0 0 360px !important; position: sticky; top: 24px; }

/* Carte réassurance */
.sev-tunnel-recap { background: #fff; border: 1px solid var(--sev-filet); border-radius: 4px; padding: 26px 28px; }
.sev-tunnel-recap__title { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-encre); border-bottom: 2px solid var(--sev-encre); padding-bottom: 10px; }
.sev-tunnel-recap__list { display: flex; flex-direction: column; gap: 10px; }
.sev-tunnel-recap__i { position: relative; padding-left: 20px; font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.45; color: var(--sev-gris-texte); }
.sev-tunnel-recap__i::before { content: ""; position: absolute; left: 0; top: 8px; width: 8px; height: 8px; background: var(--sev-jaune); }
.sev-tunnel-recap__note { font-family: var(--sev-archivo); font-size: 12px; color: var(--sev-gris-clair); }
.sev-tunnel-help { background: var(--sev-creme); border-radius: 4px; padding: 20px 24px; margin-top: 16px; display: flex; flex-direction: column; gap: 4px; }
.sev-tunnel-help__q { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-gris-texte); }
.sev-tunnel-help__num { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 22px; color: var(--sev-encre); }
.sev-tunnel-help__mail a { font-family: var(--sev-newsreader); font-size: 15px; color: var(--sev-encre); text-decoration: none; }
.sev-tunnel-help__mail a:hover { color: var(--sev-rouge); }

/* — Encart « Votre commande » (récap dynamique, design maquette) — */
.sev-recap { background: #fff; border: 1px solid var(--sev-filet); border-radius: 4px; padding: 26px 28px; display: flex; flex-direction: column; gap: 14px; }
.sev-recap__title { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-encre); border-bottom: 2px solid var(--sev-encre); padding-bottom: 10px; }
.sev-recap__row { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; }
.sev-recap__col { display: flex; flex-direction: column; gap: 2px; }
.sev-recap__formule { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sev-encre); }
.sev-recap__detail { font-family: var(--sev-newsreader); font-size: 14px; color: var(--sev-gris-texte); }
.sev-recap__price { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 24px; color: var(--sev-encre); white-space: nowrap; }
.sev-recap__old { font-size: 13px; font-weight: 600; color: #A79F8F; text-decoration: line-through; }
.sev-recap__block { display: flex; flex-direction: column; gap: 4px; border-top: 1px solid var(--sev-filet); padding-top: 12px; }
.sev-recap__hs-label { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-recap__hs { font-family: var(--sev-newsreader); font-size: 14px; line-height: 1.5; color: var(--sev-gris-texte); }
.sev-recap__foot { display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--sev-filet); padding-top: 12px; font-family: var(--sev-archivo); font-size: 12px; line-height: 1.5; color: var(--sev-gris-clair); }

/* — Étape « Hors-série » : grille de cartes à cocher à la charte (au lieu de
   la liste GF par défaut avec cases bleues). — */
.sev-tunnel .gfield--type-checkbox > .gfield_label {
	font-family: var(--sev-newsreader) !important;
	font-weight: 600 !important;
	font-size: 30px !important;
	line-height: 1.1 !important;
	letter-spacing: -0.01em;
	text-transform: none !important;
	color: var(--sev-encre) !important;
	margin: 0 0 6px !important;
}
.sev-tunnel .gfield--type-checkbox .gfield_description {
	font-family: var(--sev-newsreader) !important;
	font-size: 16px !important;
	color: var(--sev-gris-texte) !important;
	padding: 0 0 16px !important;
}
.sev-tunnel .gfield--type-checkbox .gfield_checkbox {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px 16px;
}
/* Carte = bouton : la case native est masquée (accessible), toute la carte
   bascule via le label. État sélectionné maquette = carte noire + pastille jaune. */
.sev-tunnel .gfield--type-checkbox .gchoice {
	position: relative;
	border: 1px solid var(--sev-filet);
	border-radius: 4px;
	padding: 0;
	margin: 0 !important;
	background: #fff;
	transition: background-color .15s ease, border-color .15s ease;
}
.sev-tunnel .gfield--type-checkbox input[type="checkbox"] {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	opacity: 0 !important;
	margin: 0 !important;
	pointer-events: none;
}
.sev-tunnel .gfield--type-checkbox label {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
	box-sizing: border-box;
	padding: 14px 16px;
	font-family: var(--sev-newsreader) !important;
	font-weight: 500 !important;
	font-size: 16px !important;
	line-height: 1.3 !important;
	color: var(--sev-encre) !important;
	margin: 0 !important;
	cursor: pointer;
}
.sev-tunnel .gfield--type-checkbox .gchoice:hover { border-color: var(--sev-encre); }
.sev-tunnel .gfield--type-checkbox .gchoice:has(input:focus-visible) { outline: 2px solid var(--sev-rouge); outline-offset: 2px; }
.sev-tunnel .gfield--type-checkbox .gchoice:has(input:checked) { background: var(--sev-encre) !important; border-color: var(--sev-encre) !important; }
.sev-tunnel .gfield--type-checkbox .gchoice:has(input:checked) label { color: var(--sev-papier) !important; }
/* Pastille numéro du hors-série (crème ; jaune quand la carte est sélectionnée) */
.sev-tunnel .gfield--type-checkbox .sev-hs-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 30px;
	height: 24px;
	padding: 0 7px;
	flex: none;
	background: var(--sev-creme);
	color: var(--sev-encre);
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 78%;
	font-size: 12px;
	border-radius: 2px;
}
.sev-tunnel .gfield--type-checkbox .gchoice:has(input:checked) .sev-hs-num { background: var(--sev-jaune); color: var(--sev-encre); }

/* ================================================================== *
 * WOOCOMMERCE — habillage boutique à la charte S&V
 * ================================================================== */
/* Fond papier + rythme sur toutes les pages boutique */
.woocommerce-page.woocommerce-shop,
.single-product,
.woocommerce-cart,
.woocommerce-checkout { background: var(--sev-papier); }
.woocommerce .wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info { border-radius: 2px; }

/* En-tête d'archive (boutique / catégorie) : titre + eyebrow éditorial */
.woocommerce-shop .wp-block-query-title,
.tax-product_cat .wp-block-query-title,
.post-type-archive-product .wp-block-query-title,
.woocommerce-products-header__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: 46px; line-height: 1.05; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0 0 10px; }
.woocommerce-shop .wp-block-query-title::before,
.post-type-archive-product .wp-block-query-title::before { content: "Anciens numéros · vente à l'unité"; display: block; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sev-rouge); margin-bottom: 12px; }
/* Filtre Numéros / Hors-séries (injecté après le titre d'archive) */
.sev-shop-filter { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 0; }
.sev-shop-filter__pill { display: inline-flex; align-items: center; background: #fff; border: 1px solid var(--sev-separateur); border-radius: 999px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 84%; font-size: 12px; letter-spacing: 0.04em; text-transform: uppercase; color: var(--sev-gris-texte); padding: 9px 18px; text-decoration: none; transition: border-color .15s ease, color .15s ease, background-color .15s ease; }
.sev-shop-filter__pill:hover { border-color: var(--sev-rouge); color: var(--sev-rouge); }
.sev-shop-filter__pill.is-active { background: var(--sev-rouge); border-color: var(--sev-rouge); color: var(--sev-papier); }
.sev-shop-filter__pill.is-active:hover { color: var(--sev-papier); }
/* Barre décompte + tri : filet de séparation, alignée */
.woocommerce main > .wp-block-group:has(> .wc-block-catalog-sorting),
.woocommerce main > .wp-block-group:has(> .wc-block-product-results-count) { align-items: baseline; border-top: 2px solid var(--sev-encre); padding-top: 16px; margin-top: 24px; margin-bottom: 28px; gap: 16px; }
.woocommerce .woocommerce-result-count,
.wc-block-product-results-count .woocommerce-result-count,
.woocommerce-result-count { font-family: var(--sev-archivo) !important; font-size: 12px !important; line-height: 1.4 !important; color: var(--sev-gris-clair); margin: 0; }
.woocommerce-ordering select,
.wc-block-catalog-sorting select {
	font-family: var(--sev-archivo); font-size: 14px; color: var(--sev-encre); background: #fff; border: 1px solid var(--sev-filet); border-radius: 2px; padding: 10px 40px 10px 14px;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%237A746A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 14px center; background-size: 14px;
}

/* Pagination */
.wp-block-query-pagination,
.woocommerce-pagination { justify-content: center; gap: 6px; margin-top: 52px; }
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination a,
.wp-block-query-pagination .wp-block-query-pagination-numbers span,
.woocommerce-pagination a.page-numbers,
.woocommerce-pagination span.page-numbers { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 14px; color: var(--sev-encre); text-decoration: none; min-width: 42px; height: 42px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--sev-filet); border-radius: 2px; }
.wp-block-query-pagination .page-numbers.current,
.wp-block-query-pagination-numbers .current,
.woocommerce-pagination span.current { background: var(--sev-rouge); color: var(--sev-papier); border-color: var(--sev-rouge); }
.wp-block-query-pagination a:hover,
.woocommerce-pagination a.page-numbers:hover { border-color: var(--sev-encre); }

/* Grille produits (archive + collection) */
.wc-block-product-template,
ul.products { gap: 44px 36px !important; }
/* Certains blocs (produits similaires) rendent en flex-wrap → emballage 4+1
   moche. On force une grille propre selon la classe columns-N. */
.wc-block-product-template.is-flex-container { display: grid !important; }
.wc-block-product-template.columns-2 { grid-template-columns: repeat(2, 1fr); }
.wc-block-product-template.columns-3 { grid-template-columns: repeat(3, 1fr); }
.wc-block-product-template.columns-4 { grid-template-columns: repeat(4, 1fr); }
.wc-block-product-template.columns-5 { grid-template-columns: repeat(5, 1fr); }
.wc-block-product-template.columns-6 { grid-template-columns: repeat(6, 1fr); }
.wc-block-product-template.is-flex-container li.product { max-width: none !important; width: auto !important; }
/* Boutique : 4 vignettes par ligne (l'archive est en columns-3 par défaut) */
.woocommerce-shop .wc-block-product-template,
.post-type-archive-product .wc-block-product-template,
.tax-product_cat .wc-block-product-template { grid-template-columns: repeat(4, 1fr) !important; }
.wc-block-product-template li.product,
ul.products li.product { display: flex; flex-direction: column; gap: 12px; }
/* Cartes régulières : prix + bouton poussés en bas → alignés d'une carte à l'autre.
   Le prix est le bloc enfant DIRECT du <li> flex → margin-top:auto le colle en bas. */
.wc-block-product-template li.product > .wp-block-woocommerce-product-price,
.wc-block-product-template li.product > .wc-block-components-product-price,
ul.products li.product > .price { margin-top: auto; }
.wc-block-product-template li.product > .wp-block-button,
.wc-block-product-template li.product .wp-block-button { width: 100%; }
.wc-block-product-template li.product .wp-block-button__link { display: block; width: 100%; text-align: center; }
/* Mode catalogue : le prix (qui portait margin-top:auto pour aligner) est masqué
   → c'est le BOUTON qui doit descendre en bas de la carte pour aligner les « Découvrir »
   d'une carte à l'autre. Scopé .sev-catalog → en phase 2 (prix visible) on retrouve
   l'alignement par le prix, sans double marge. */
body.sev-catalog .wc-block-product-template li.product > .wp-block-button.wc-block-components-product-button { margin-top: auto; }

/* Couverture : cadre sobre + filet jaune en tête (comme le catalogue) */
.wc-block-components-product-image,
ul.products li.product a img,
.woocommerce-loop-product__link img { margin: 0; }
.wc-block-components-product-image { border-top: 4px solid var(--sev-jaune); background: var(--sev-creme); overflow: hidden; aspect-ratio: 210 / 272; }
.wc-block-components-product-image img,
ul.products li.product img { display: block; width: 100%; height: 100%; object-fit: cover; }
.wc-block-components-product-image__inner-container { display: block; }

/* Titre produit */
li.product .wp-block-post-title,
li.product .woocommerce-loop-product__title,
.wc-block-product-template .wp-block-post-title { font-family: var(--sev-newsreader); font-weight: 600; font-size: 18px; line-height: 1.28; color: var(--sev-encre); margin: 0; }
li.product .wp-block-post-title a,
li.product .woocommerce-loop-product__title a { color: inherit; text-decoration: none; }
li.product .wp-block-post-title a:hover { color: var(--sev-rouge); }

/* Prix (archive + fiche) */
.wc-block-components-product-price,
.woocommerce-Price-amount,
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; color: var(--sev-encre); }
.wc-block-components-product-price { font-size: 18px; }
.wc-block-components-product-price del,
.woocommerce div.product p.price del { color: #A79F8F; font-weight: 600; }
.wc-block-components-product-price ins { text-decoration: none; }

/* Badges promo / épuisé */
.woocommerce span.onsale,
.wc-block-components-product-sale-badge { background: var(--sev-jaune); color: var(--sev-encre); font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; border-radius: 0; min-height: 0; min-width: 0; padding: 5px 9px; }
.woocommerce div.product .stock.out-of-stock,
.wc-block-components-product-stock-indicator--out-of-stock { color: var(--sev-gris-clair); font-family: var(--sev-archivo); font-weight: 600; }

/* Boutons Woo (fiche, panier, commande, « ajouter au panier ») → CTA rouge charte */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .single_add_to_cart_button,
.wc-block-components-button.contained,
.wc-block-cart__submit-button,
.wp-block-woocommerce-cart .wc-block-components-button,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button {
	background: var(--sev-rouge) !important;
	color: var(--sev-papier) !important;
	border: none !important;
	font-family: var(--sev-archivo) !important;
	font-weight: 800 !important;
	font-stretch: 82% !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	border-radius: 2px !important;
	box-shadow: none !important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .single_add_to_cart_button:hover,
.wc-block-components-button.contained:hover,
.wc-block-cart__submit-button:hover,
.wc-block-checkout__actions_row .wc-block-components-checkout-place-order-button:hover { background: var(--sev-rouge-fonce) !important; }
/* Bouton secondaire (ex. « Voir le panier ») en contour encre */
.woocommerce a.button.wc-forward.added_to_cart,
.wc-block-components-button.outlined { background: transparent !important; color: var(--sev-encre) !important; border: 1px solid var(--sev-encre) !important; }

/* Lien « Voir le panier » qui apparaît sous le bouton des cartes boutique
   après un ajout AJAX. En contexte bloc il n'a PAS la classe .button → il
   tombait en lien serif rouge souligné. On le passe en lien texte discret
   Archivo, centré sous le bouton (cohérent avec le bandeau de notification). */
.woocommerce li.product a.added_to_cart,
.wc-block-components-product-button a.added_to_cart,
.woocommerce a.added_to_cart {
	display: block !important;
	text-align: center !important;
	margin-top: 10px !important;
	font-family: var(--sev-archivo) !important;
	font-weight: 800 !important;
	font-stretch: 82% !important;
	font-size: 12px !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
	color: var(--sev-encre) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}
.woocommerce li.product a.added_to_cart:hover,
.woocommerce a.added_to_cart:hover { color: var(--sev-rouge) !important; }

/* Fiche produit : titre + résumé */
.woocommerce div.product .product_title { font-family: var(--sev-newsreader); font-weight: 600; font-size: 40px; line-height: 1.05; letter-spacing: -0.015em; color: var(--sev-encre); }
.woocommerce div.product div.summary { font-family: var(--sev-newsreader); }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: 17px; line-height: 1.6; color: var(--sev-gris-texte); }
.woocommerce div.product p.price,
.woocommerce div.product span.price { font-size: 30px; color: var(--sev-encre); }
.woocommerce .quantity input.qty { font-family: var(--sev-archivo); border: 1px solid var(--sev-filet); border-radius: 2px; padding: 12px 8px; }

/* Onglets fiche produit */
.woocommerce-tabs ul.tabs li a { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; text-transform: uppercase; letter-spacing: 0.04em; font-size: 13px; color: var(--sev-gris-texte); }
.woocommerce-tabs ul.tabs li.active a { color: var(--sev-rouge); }
.woocommerce #reviews h2, .woocommerce-Tabs-panel h2 { font-family: var(--sev-newsreader); font-weight: 600; color: var(--sev-encre); }

/* — Fiche produit (gabarit blocs WooCommerce) — */
.single-product main > .wp-block-columns { gap: 64px !important; align-items: flex-start; margin-top: 4px; }
.single-product .wp-block-woocommerce-product-image-gallery { margin: 0; }
.single-product .woocommerce-product-gallery__image img,
.single-product .wp-post-image { display: block; width: 100%; border: 1px solid var(--sev-filet); border-top: 4px solid var(--sev-jaune); }
.single-product .woocommerce-product-gallery__trigger { top: 16px; right: 16px; }
/* Titre : ramené à une échelle raisonnable (plus le H1 géant) */
.single-product main .wp-block-post-title { font-family: var(--sev-newsreader); font-weight: 600; font-size: 32px; line-height: 1.12; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0 0 14px; }
/* Prix mis en avant */
.single-product .wc-block-components-product-price { display: block; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 30px; color: var(--sev-encre); margin: 0 0 18px; }
/* Court descriptif */
.single-product .wp-block-post-excerpt,
.single-product .wp-block-post-excerpt p,
.single-product .woocommerce-product-details__short-description { font-family: var(--sev-newsreader); font-size: 17px; line-height: 1.6; color: var(--sev-gris-texte); margin: 0 0 24px; }
/* Ajout au panier : quantité + bouton alignés */
.single-product .wp-block-add-to-cart-form { margin: 0 0 8px; }
.single-product .wp-block-add-to-cart-form form.cart,
.single-product .wp-block-add-to-cart-form .cart { display: flex; align-items: stretch; gap: 12px; flex-wrap: wrap; }
.single-product .wp-block-add-to-cart-form .quantity input.qty { width: 72px; text-align: center; }
/* Méta SKU / catégorie : lisible, une info par ligne */
.single-product .wp-block-woocommerce-product-meta { margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--sev-filet); display: flex; flex-direction: column; gap: 8px; font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-clair); }
.single-product .wp-block-woocommerce-product-meta > * { display: block; margin: 0; }
.single-product .wp-block-woocommerce-product-meta a { color: var(--sev-rouge); text-decoration: none; }
.single-product .wp-block-woocommerce-product-meta a:hover { color: var(--sev-rouge-fonce); }
/* Avis masqués (une revue de dos n'a pas de notation produit) */
.single-product .wp-block-woocommerce-product-details { display: none; }
/* Fil d'Ariane (+ air en haut de page boutique) */
.woocommerce main,
.single-product main,
.woocommerce-page main { padding-top: 40px; }
.wc-block-breadcrumbs { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-clair); margin-bottom: 24px; }
.wc-block-breadcrumbs a { color: var(--sev-gris-texte); text-decoration: none; }
.wc-block-breadcrumbs a:hover { color: var(--sev-rouge); }
/* Produits similaires : titre de section à la charte + marges (haut + bas pour ne pas coller au footer) */
.single-product .wp-block-woocommerce-product-collection { margin-top: 8px; margin-bottom: 72px; }
.woocommerce main,
.single-product main { padding-bottom: 24px; }
.single-product main h2.wp-block-heading { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 20px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-encre); border-bottom: 2px solid var(--sev-encre); padding-bottom: 12px; margin: 40px 0 28px; }

/* Couverture collante à gauche : reste visible pendant que la colonne droite
   (titre + sommaire, parfois long) défile → fiche équilibrée même longue. */
.single-product .wp-block-columns.alignwide { align-items: flex-start; }
.single-product .wp-block-columns.alignwide > .wp-block-column:first-child { position: sticky; top: 24px; }

/* Masque toute la méta produit (SKU + catégorie) sur la fiche */
.single-product .wp-block-woocommerce-product-meta { display: none; }

/* Pas de zoom/loupe WooCommerce sur la couverture */
.single-product .woocommerce-product-gallery__trigger,
.single-product img.zoomImg { display: none !important; }
.single-product .woocommerce-product-gallery__image img { cursor: default; }

/* Sommaire du numéro — dans la colonne de droite de la fiche */
.sev-prod-somm { margin: 26px 0 4px; }
.sev-prod-somm__head {
	font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%;
	font-size: 18px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-encre);
	border-bottom: 2px solid var(--sev-encre); padding-bottom: 11px; margin: 0;
}
.sev-prod-somm__list { margin-top: 2px; }
.sev-prod-somm__row {
	display: grid; grid-template-columns: 132px 1fr; gap: 2px 18px; align-items: baseline;
	padding: 12px 2px; border-bottom: 1px solid var(--sev-creme-sombre);
}
.sev-prod-somm__row.is-plain { grid-template-columns: 1fr; }
.sev-prod-somm__rub {
	font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%;
	font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); margin: 0;
}
.sev-prod-somm__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 16px; line-height: 1.3; color: var(--sev-encre); margin: 0; }
/* Sous 900px : on empile (couverture au-dessus, plafonnée) → colonne droite
   pleine largeur, sommaire lisible (évite la bande étroite du gabarit Woo). */
@media (max-width: 900px) {
	.single-product .wp-block-columns.alignwide { flex-direction: column !important; }
	.single-product .wp-block-columns.alignwide > .wp-block-column { flex-basis: auto !important; width: 100% !important; max-width: 100% !important; }
	.single-product .wp-block-columns.alignwide > .wp-block-column:first-child { position: static; }
	.single-product .wp-block-woocommerce-product-image-gallery { max-width: 360px; }
}
@media (max-width: 480px) {
	.sev-prod-somm__row { grid-template-columns: 1fr; gap: 2px; }
}

/* Mode catalogue : prix masqués (vente à l'unité désactivée en V1) → pas de blanc. */
.wp-block-woocommerce-product-price { display: none; }

/* Encart « vente à l'unité bientôt » (mode catalogue, remplace l'achat) */
.sev-buy-note { padding: 20px 22px; background: var(--sev-creme); border-left: 3px solid var(--sev-rouge); }
/* Espacement de l'encart sur la fiche : moins d'espace au-dessus (la galerie Woo
   pose ~72px de margin-bottom sous la couv), plus en dessous. !important car on
   bat des règles WooCommerce/WP core (galerie + reset flow-layout last-child 0,2,0). */
.single-product .woocommerce-product-gallery { margin-bottom: 16px !important; }
.single-product .sev-buy-note { margin: 0 0 40px !important; }
.sev-buy-note__t { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 15px; letter-spacing: 0.05em; text-transform: uppercase; color: var(--sev-encre); margin: 0; }
.sev-buy-note__d { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.45; color: var(--sev-gris-texte); margin: 8px 0 14px; max-width: 46ch; }
/* Le bouton S'abonner réutilise le style du CTA header (.sev-btn-abo) → harmonisé. */
.sev-buy-note .sev-btn-abo { margin: 0; }
.sev-buy-note__badge { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-rouge); margin: 0 0 8px; }
.sev-buy-note__link { display: inline-block; margin: 14px 0 0; font-family: var(--sev-archivo); font-weight: 700; font-size: 13px; color: var(--sev-encre); text-decoration: none; border-bottom: 2px solid var(--sev-jaune); padding-bottom: 2px; transition: color .15s ease; }
.sev-buy-note__link:hover { color: var(--sev-rouge); }

/* Partage (fiche produit, fin de colonne droite) — boutons circulaires élégants */
.sev-share { display: flex; align-items: center; gap: 10px; margin-top: 26px; }
.sev-share__label { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 11px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sev-gris-clair); margin-right: 6px; }
.sev-share__ico {
	display: inline-flex; align-items: center; justify-content: center;
	width: 40px; height: 40px; border-radius: 50%;
	border: 1px solid var(--sev-filet);
	color: var(--sev-encre);
	transition: transform .18s ease, background-color .18s ease, border-color .18s ease, color .18s ease;
}
.sev-share__ico:hover { background: var(--sev-rouge); border-color: var(--sev-rouge); color: var(--sev-papier); transform: translateY(-2px); }
.sev-share__ico svg { width: 17px; height: 17px; display: block; }

/* Couverture de /le-numero/ cliquable vers la fiche */
.sev-num-cover__img a { display: block; width: 100%; height: 100%; }
.sev-num-cover__img a img { transition: transform .3s ease; }
.sev-num-cover__img a:hover img { transform: scale(1.03); }

/* Champs panier / commande (blocs) → même style que nos formulaires */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row select,
.wc-block-components-select .wc-block-components-select__container { font-family: var(--sev-archivo); font-size: 15px; color: var(--sev-encre); background: #fff; border: 1px solid var(--sev-filet); border-radius: 2px; }
.wc-block-components-text-input input:focus { box-shadow: 0 0 0 3px rgba(216,34,26,.12); border-color: var(--sev-encre); }
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-cart .cart_totals .amount { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; color: var(--sev-encre); }
.wp-block-woocommerce-cart .wc-block-cart-items__header,
.wc-block-components-checkout-step__title { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; text-transform: uppercase; letter-spacing: 0.05em; color: var(--sev-encre); }

/* Titre des pages boutique/panier/commande (« Votre panier », « Commande »…)
   → ramené à une échelle raisonnable (était ~46px). */
.woocommerce-cart main .wp-block-post-title,
.woocommerce-checkout main .wp-block-post-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title { font-family: var(--sev-newsreader); font-weight: 600; font-size: 34px !important; line-height: 1.1 !important; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0 0 24px; }

/* Bandeau de notification (« … a été ajouté à votre panier ») harmonisé à la
   charte : fond crème, liseré + pastille encre, texte Archivo (était un gros
   bloc vert 24px serif). Les prefixes (.woocommerce, .is-success) montent la
   spécificité au-dessus des styles de blocs WooCommerce (qui sont en !important). */
.woocommerce .wc-block-components-notice-banner,
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	font-family: var(--sev-archivo) !important;
	font-size: 15px !important;
	line-height: 1.5 !important;
	background: var(--sev-creme) !important;
	border: 1.5px solid var(--sev-rouge) !important;
	border-radius: 2px !important;
	color: var(--sev-encre) !important;
	padding: 16px 20px !important;
	box-shadow: none !important;
	align-items: center !important;
}
/* On remplace l'anneau de focus bleu du navigateur par notre cadre rouge. */
.woocommerce .wc-block-components-notice-banner:focus,
.woocommerce .wc-block-components-notice-banner:focus-visible { outline: none !important; box-shadow: none !important; }
.wc-block-components-notice-banner .wc-block-components-notice-banner__content,
.wc-block-components-notice-banner p { font-family: var(--sev-archivo) !important; font-size: 15px !important; line-height: 1.5 !important; color: var(--sev-encre) !important; }
/* Pastille de l'icône : cercle WooCommerce recoloré en rouge charte */
.woocommerce .wc-block-components-notice-banner > svg { background-color: var(--sev-rouge) !important; fill: var(--sev-papier) !important; }
/* Lien « Voir le panier » : lien texte discret, PAS un bouton rouge (la règle
   globale .woocommerce a.button:hover lui collait un fond rouge au survol). La
   forte spécificité (5 classes + a) passe devant ce hover et devant WooCommerce. */
.woocommerce .wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wc-forward,
.woocommerce .wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wc-forward:hover,
.woocommerce-message a.button,
.woocommerce-message a.button:hover {
	background: transparent !important;
	background-color: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding: 0 !important;
	color: var(--sev-encre) !important;
	font-family: var(--sev-archivo) !important;
	font-weight: 800 !important;
	font-stretch: 82% !important;
	font-size: 12px !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}
.woocommerce .wc-block-components-notice-banner .wc-block-components-notice-banner__content a.wc-forward:hover,
.woocommerce-message a.button:hover { color: var(--sev-rouge) !important; }

/* ================================================================== *
 * PANIER (bloc Cart WooCommerce) — mise en page éditoriale S&V
 * Les sélecteurs sont préfixés .woocommerce-cart (classe du <body>) pour
 * passer AU-DESSUS des styles de blocs WooCommerce, eux aussi en !important
 * mais de spécificité plus faible et chargés après notre feuille.
 * ================================================================== */
/* Deux colonnes : liste d'articles + résumé. IMPORTANT : ne PAS mettre de
   `gap` ici — les bases flex de WooCommerce somment déjà ~99 %, un gap ferait
   déborder et la sidebar passerait SOUS la liste (flex-wrap). L'espacement se
   fait par le padding-left de la sidebar (inclus dans sa largeur, border-box). */
.woocommerce-cart .wc-block-cart { align-items: flex-start !important; }
.woocommerce-cart .wc-block-cart__main { padding-right: 0 !important; }

/* En-tête du tableau (« Produit » / « Total ») : filet fort à la charte */
.woocommerce-cart .wc-block-cart-items__header th { border-bottom: 2px solid var(--sev-encre) !important; padding-bottom: 14px !important; font-size: 12px !important; letter-spacing: 0.12em !important; color: var(--sev-encre) !important; }

/* Lignes produit : filet de séparation + respiration */
.woocommerce-cart .wc-block-cart-items__row td { border-bottom: 1px solid var(--sev-filet) !important; padding-top: 24px !important; padding-bottom: 24px !important; }

/* Couverture : cadre sobre + filet jaune (comme partout ailleurs) */
.woocommerce-cart .wc-block-cart-item__image { width: 92px !important; padding-right: 20px !important; }
.woocommerce-cart .wc-block-cart-item__image img { width: 72px !important; height: auto !important; border: 1px solid var(--sev-filet); border-top: 3px solid var(--sev-jaune); }

/* Titre produit : Newsreader lisible, encre (rouge au survol seulement — avant : rouge 13px, on aurait dit un lien cassé) */
.woocommerce-cart .wc-block-components-product-name { font-family: var(--sev-newsreader) !important; font-weight: 600 !important; font-size: 18px !important; line-height: 1.3 !important; color: var(--sev-encre) !important; text-decoration: none !important; }
.woocommerce-cart .wc-block-components-product-name:hover { color: var(--sev-rouge) !important; }

/* Prix unitaire (sous le titre) discret ; total de ligne mis en avant */
.woocommerce-cart .wc-block-cart-item__prices .wc-block-components-product-price { font-size: 14px !important; font-weight: 600 !important; color: var(--sev-gris-texte) !important; }
.woocommerce-cart .wc-block-cart-item__total .wc-block-components-product-price { font-size: 18px !important; color: var(--sev-encre) !important; }

/* Sélecteur de quantité à la charte */
.woocommerce-cart .wc-block-components-quantity-selector { border: 1px solid var(--sev-filet) !important; border-radius: 2px !important; }
.woocommerce-cart .wc-block-components-quantity-selector__button { color: var(--sev-encre) !important; }
.woocommerce-cart .wc-block-components-quantity-selector__button:hover { color: var(--sev-rouge) !important; }

/* Lien « supprimer » : discret, rouge au survol */
.woocommerce-cart .wc-block-cart-item__remove-link { color: var(--sev-gris-clair) !important; }
.woocommerce-cart .wc-block-cart-item__remove-link:hover { color: var(--sev-rouge) !important; }

/* — Colonne résumé : carte crème à liseré rouge, collante — */
.woocommerce-cart .wc-block-cart__sidebar { padding-left: 48px !important; position: sticky; top: 24px; }
.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block { background: var(--sev-creme); border: 1px solid var(--sev-filet); border-top: 3px solid var(--sev-rouge); padding: 28px 24px; }
.woocommerce-cart .wc-block-cart__totals-title { font-family: var(--sev-archivo) !important; font-weight: 900 !important; font-stretch: 78% !important; font-size: 15px !important; letter-spacing: 0.08em !important; text-transform: uppercase !important; color: var(--sev-encre) !important; margin: 0 0 16px !important; }
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button { font-family: var(--sev-archivo) !important; font-size: 14px !important; color: var(--sev-encre) !important; }
/* Total estimé : label capitales + montant fort */
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label { font-family: var(--sev-archivo) !important; font-weight: 800 !important; font-stretch: 82% !important; text-transform: uppercase !important; letter-spacing: 0.04em !important; font-size: 14px !important; }
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 22px !important; }
/* Bouton « Valider la commande » : pleine largeur sous la carte */
.woocommerce-cart .wc-block-cart__submit-container .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-cart__submit-container .wc-block-components-button { width: 100% !important; text-align: center !important; padding: 16px !important; margin-top: 20px !important; }

/* Panier étroit : quand WooCommerce fait passer le résumé sous la liste
   (~700px), on annule le padding gauche (sinon décalé) + marge haute ; non collant. */
@media (max-width: 700px) {
	.woocommerce-cart .wc-block-cart__sidebar { position: static !important; padding-left: 0 !important; margin-top: 32px; }
}

/* ================================================================== *
 * PAGES LÉGALES (Politique de confidentialité, Mentions légales)
 * Design maquette : sommaire collant à gauche + sections numérotées.
 * Les numéros sont des compteurs CSS → titres/paragraphes sans span
 * (blocs Gutenberg 100 % valides).
 * ================================================================== */
.sev-legal { padding-block: 56px 72px; }
.sev-legal__grid { display: grid; grid-template-columns: 300px 1fr; gap: 72px; align-items: start; }
.sev-legal__toc { position: sticky; top: 110px; display: flex; flex-direction: column; gap: 16px; }
.sev-legal__eyebrow { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sev-rouge); margin: 0; }
.sev-legal__h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 36px; line-height: 1.08; letter-spacing: -0.01em; color: var(--sev-encre); margin: 0; }
.sev-legal__version { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-clair); margin: 0; }
.sev-legal__toclist { display: flex; flex-direction: column; border-top: 2px solid var(--sev-encre); margin-top: 6px; counter-reset: sev-toc; }
.sev-legal__tocitem { display: flex; gap: 10px; align-items: baseline; padding: 8px 0; border-bottom: 1px solid var(--sev-filet); font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-texte); margin: 0; counter-increment: sev-toc; }
.sev-legal__tocitem::before { content: counter(sev-toc); font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 11px; color: var(--sev-rouge); width: 20px; flex: none; }
.sev-legal__tocitem a { color: inherit; text-decoration: none; transition: color .15s ease; }
.sev-legal__tocitem:hover a, .sev-legal__tocitem a:hover { color: var(--sev-rouge); }
.sev-legal__section { scroll-margin-top: 104px; }
html { scroll-behavior: smooth; }
.sev-legal__body { display: flex; flex-direction: column; gap: 8px; max-width: 760px; counter-reset: sev-sec; }
.sev-legal__section { display: flex; flex-direction: column; gap: 10px; padding: 22px 0; border-bottom: 1px solid var(--sev-filet); counter-increment: sev-sec; }
.sev-legal__section:first-child { padding-top: 4px; }
.sev-legal__h2 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 24px; line-height: 1.2; color: var(--sev-encre); margin: 0; }
.sev-legal__h2::before { content: counter(sev-sec) ". "; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 15px; color: var(--sev-rouge); }
.sev-legal__p { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.65; color: var(--sev-gris-texte); margin: 0; }
.sev-legal__note { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-clair); padding-top: 14px; }

/* ================================================================== *
 * PAGE RECHERCHE (écran 16) — champ + suggestions + résultats en direct
 * ================================================================== */
.sev-searchp { padding-block: 56px 96px; }
.sev-searchp__inner { display: flex; flex-direction: column; gap: 28px; max-width: 860px; }
.sev-searchp__eyebrow { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sev-rouge); margin: 0; }
.sev-searchp__h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: 48px; line-height: 1.05; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0; }
.sev-search-page { display: flex; flex-direction: column; gap: 28px; }
.sev-search-page__box { display: flex; align-items: stretch; border: 2px solid var(--sev-encre); border-radius: 2px; background: #fff; }
.sev-search-page__icon { display: flex; align-items: center; padding: 0 16px; color: var(--sev-gris-texte); }
.sev-search-page__input { flex: 1; min-width: 0; border: none; outline: none; background: transparent; font-family: var(--sev-newsreader); font-size: 19px; color: var(--sev-encre); padding: 17px 0; }
.sev-search-page__clear { background: transparent; border: none; font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-clair); cursor: pointer; padding: 0 18px; }
.sev-search-page__clear:hover { color: var(--sev-rouge); }
.sev-search-page__idle { display: flex; flex-direction: column; gap: 12px; }
.sev-search-page__try { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-gris-texte); }
.sev-search-page__chips { display: flex; flex-wrap: wrap; gap: 8px; }
.sev-search-page__chip { background: #fff; border: 1px solid #B7B0A3; border-radius: 999px; font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-texte); padding: 9px 16px; cursor: pointer; transition: border-color .15s ease, color .15s ease; }
.sev-search-page__chip:hover { border-color: var(--sev-rouge); color: var(--sev-rouge); }
/* Chips « par rubrique » : plus affirmés (majuscules Archivo, accent rouge au survol plein) */
.sev-search-page__rublabel { margin: 18px 0 0; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--sev-gris-texte); }
.sev-search-page__chips--rub { margin-top: 2px; }
.sev-search-page__chip--rub { font-weight: 800; font-stretch: 84%; font-size: 12px; letter-spacing: .04em; text-transform: uppercase; color: var(--sev-encre); border-color: var(--sev-filet); background: var(--sev-papier); }
.sev-search-page__chip--rub:hover { background: var(--sev-rouge); border-color: var(--sev-rouge); color: var(--sev-papier); }
.sev-search-page__note { font-family: var(--sev-newsreader); font-style: italic; font-size: 15px; color: var(--sev-gris-clair); margin: 6px 0 0; max-width: 60ch; }
.sev-search-page__results { display: flex; flex-direction: column; }
.sev-search-page__count { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 14px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--sev-encre); border-bottom: 2px solid var(--sev-encre); padding-bottom: 10px; }
.sev-search-page__result { display: grid; grid-template-columns: 160px 1fr auto; gap: 24px; align-items: baseline; padding: 16px 0; border-bottom: 1px solid var(--sev-filet); text-decoration: none; }
.sev-search-page__rtag { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 11px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-search-page__rtitre { font-family: var(--sev-newsreader); font-weight: 500; font-size: 20px; line-height: 1.3; color: var(--sev-encre); }
.sev-search-page__result:hover .sev-search-page__rtitre { color: var(--sev-rouge); }
.sev-search-page__rmeta { font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-clair); white-space: nowrap; }
.sev-search-page__none { border-top: 2px solid var(--sev-encre); padding: 40px 0; display: flex; flex-direction: column; gap: 8px; align-items: center; text-align: center; }
.sev-search-page__none-t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 24px; color: var(--sev-encre); }
.sev-search-page__none-d { font-family: var(--sev-newsreader); font-size: 16px; color: var(--sev-gris-texte); max-width: 50ch; }

/* ================================================================== *
 * RESPONSIVE — bascule mobile (< 900 px)
 * ================================================================== */
@media (max-width: 900px) {

	/* Page recherche : titre réduit, résultats empilés */
	.sev-searchp__h1 { font-size: 30px; }
	.sev-search-page__input { font-size: 16px; padding: 13px 0; }
	.sev-search-page__result { grid-template-columns: 1fr; gap: 4px; }
	.sev-search-page__rmeta { white-space: normal; }

	/* Pages légales : une colonne, sommaire masqué (comme la maquette mobile) */
	.sev-legal__grid { grid-template-columns: 1fr; gap: 24px; }
	.sev-legal__toc { position: static; gap: 6px; }
	.sev-legal__eyebrow, .sev-legal__toclist { display: none; }
	.sev-legal__h1 { font-size: 26px; }
	.sev-legal__h2 { font-size: 18px; }
	.sev-legal__p { font-size: 14px; }

	/* Menu : burger + panneau déroulant */
	.sev-nav { position: static; }
	.sev-nav__burger { display: flex; }
	.sev-menu {
		display: none;
		position: absolute;
		left: 0; right: 0; top: 100%;
		flex-direction: column;
		align-items: flex-start;
		gap: 0;
		background: var(--sev-encre);
		padding: 8px 20px 14px;
		z-index: 60;
	}
	.sev-header { position: relative; }
	header.wp-block-template-part:has(.sev-header) { position: relative; }
	.sev-nav__toggle:checked ~ .sev-menu { display: flex; }
	.sev-menu a { color: var(--sev-papier); padding: 15px 0; width: 100%; }
	.sev-menu li { width: 100%; border-bottom: 1px solid rgba(250,247,241,.15); }
	.sev-menu li:last-child { border-bottom: none; }
	.sev-menu .current-menu-item > a,
	.sev-menu .current_page_item > a { color: var(--sev-jaune); border-bottom: none; }

	.sev-sommaire__row { grid-template-columns: 1fr; gap: 4px; }
	.sev-carousel { gap: 14px; }
	/* Mobile : 2 couvertures pleines, pas de 3ᵉ qui dépasse (gap 14px). */
	.sev-carousel__item { width: calc((100% - 14px) / 2); }
	/* Slider related : 2 par ligne aussi en mobile (sinon 4 → trop étroit). */
	.sev-relslider .sev-carousel { gap: 14px; }
	.sev-relslider .sev-carousel__item { width: calc((100% - 14px) / 2); }
	/* Chiffres clés (vitrine home) : 3 colonnes égales au lieu du 2+1 (flex-wrap déséquilibré) */
	.sev-stats { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
	.sev-stat { text-align: center; align-items: center; }
	.sev-stat__num { font-size: 30px; }
	.sev-stat__label { font-size: 12px; }
	.sev-note { margin-top: 20px; }
	.sev-cover-figure::before { top: 14px; left: 14px; right: -14px; bottom: -14px; }
	/* Home hero : moins d'espace au-dessus du badge + colonne éditoriale décalée
	   sous l'ombre jaune de la couv (sinon « N°… — date » passe sous la couv). */
	.sev-numero { padding-block: 24px 48px; }
	.sev-numero .wp-block-column:not(.sev-col-cover) { margin-top: 30px; }

	/* Page « Le magazine » */
	.sev-mag-hero { padding-block: 48px 44px; }
	.sev-mag-hero__h1 { font-size: 40px; }
	.sev-mag-hero__lead { font-size: 18px; }
	.sev-mag-hero__pilecol { flex-basis: 100% !important; }
	.sev-mag-pile { height: 340px; max-width: 330px; margin-inline: auto; }
	.sev-mag-pile__img { width: 152px; margin-left: -76px; bottom: 36px; }
	.sev-mag-pile__badge { top: 12px; }
	/* Contact : de l'air sous le bouton Envoyer avant la carte « Nous joindre ». */
	.sev-contact-page__main .gform_wrapper { margin-bottom: 44px; }
	.sev-mag-quoteband { margin-top: 40px; }
	.sev-mag-stats { flex-direction: column; gap: 4px; }
	.sev-mag-stat { padding: 12px 0; border-right: none; border-bottom: 1px solid var(--sev-filet); width: 100%; }
	.sev-mag-stat:last-child { border-bottom: none; }
	.sev-mag-histoire, .sev-mag-ton, .sev-mag-ligne, .sev-mag-redac { padding-block: 48px; }
	.sev-mag-ton__grid { gap: 20px; }
	.sev-mag-ton__grid.wp-block-columns.is-layout-flex { flex-wrap: wrap; }
	.sev-mag-ton__grid .wp-block-column { flex-basis: calc(50% - 10px) !important; }
	.sev-mag-histoire__year { font-size: 72px; }
	.sev-mag-histoire__aside::after { display: none; }
	.sev-mag-prose { font-size: 17px; }
	.sev-mag-pull__t { font-size: 20px; }
	.sev-mag-rub__list { grid-template-columns: 1fr; column-gap: 0; }
	.sev-mag-rub__row { grid-template-columns: 1fr; gap: 4px; }
	.sev-mag-rub__term { font-size: 22px; white-space: normal; }
	.sev-mag-abo { padding-block: 44px; }
	.sev-mag-abo__row { flex-wrap: wrap; gap: 24px; }
	.sev-mag-abo__t { font-size: 27px; }

	/* Page « Tous les numéros » */
	.sev-tn { padding-block: 40px 48px; }
	.sev-tn__h1 { font-size: 34px; }
	.sev-tn-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 16px; }
	.sev-tn-card__titre { font-size: 16px; }
	/* Tuile « 300 » + lien : pleine largeur (sinon coincée en demi-colonne → lien coupé en 2 lignes) */
	.sev-tn-statcol { grid-column: 1 / -1; }
	.sev-tn-stat { aspect-ratio: auto; padding: 36px 28px; }
	.sev-tn-abocard { display: none; } /* pas de case vide à combler sur mobile ; le CTA jaune en bas de page couvre l'abo */
	.sev-tn-cat { padding-block: 48px; }
	.sev-cat__controls { flex-direction: column; align-items: stretch; }
	.sev-cat__search { width: 100%; box-sizing: border-box; max-width: 100%; }
	.sev-cat__tabs { max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
	.sev-cat__list { columns: 1; }
	.sev-cat__chips { overflow-x: auto; flex-wrap: nowrap; }
	.sev-cat__chip { flex: none; }
	.sev-tn-cta { padding-block: 36px; }
	.sev-tn-cta__row { flex-wrap: wrap; gap: 18px; }
	.sev-tn-cta__t { font-size: 22px; }

	/* Page « Contact » */
	.sev-contact-page { padding-block: 40px 48px; }
	.sev-contact-page__h1 { font-size: 30px; }
	.sev-contact-page__aside { flex-basis: 100% !important; }
	.sev-contact-page .gform_wrapper .gfield { grid-column: span 12 !important; }

	/* WooCommerce : grilles à 2 colonnes sur mobile */
	.wc-block-product-template.is-flex-container,
	.wc-block-product-template.columns-3,
	.wc-block-product-template.columns-4,
	.wc-block-product-template.columns-5,
	.wc-block-product-template.columns-6 { grid-template-columns: repeat(2, 1fr) !important; }
	.single-product main > .wp-block-columns { gap: 32px !important; }
	/* Bouton des cartes produit sur une seule ligne dans les cartes étroites 2-col
	   (« Découvrir » aujourd'hui, « Ajouter au panier » en phase 2 → ne doit pas passer à la ligne).
	   !important + sélecteur (0,4,0) pour battre le CSS blocs WooCommerce
	   « .wp-block-button.wc-block-components-product-button .wp-block-button__link{white-space:normal} » (0,3,0). */
	.wc-block-product-template .wp-block-button.wc-block-components-product-button .wp-block-button__link {
		white-space: nowrap !important;
		font-size: 11px !important;
		letter-spacing: 0.03em;
		padding-left: 10px;
		padding-right: 10px;
	}

	/* Page « Commander » (tunnel) */
	.sev-tunnel { padding-block: 36px 48px; }
	.sev-tunnel__h1 { font-size: 30px; }
	.sev-tunnel__cols > .sev-tunnel__aside { flex-basis: 100% !important; position: static; margin-top: 36px; }
	.sev-tunnel .gfield--type-checkbox .gfield_checkbox { grid-template-columns: 1fr; }
	.sev-tunnel .gfield--type-checkbox > .gfield_label { font-size: 26px !important; }
	/* Cartes formule : le mot « Abonnement » ne doit jamais être coupé en plein milieu.
	   On resserre la carte et le titre pour qu'« Abonnement » tienne sur une ligne. */
	.gform_wrapper .gfield--type-product .gchoice { padding: 16px 16px; gap: 10px; }
	.sev-plan-c { gap: 12px; }
	.sev-plan-c__name { font-size: 14px; letter-spacing: 0.02em; word-break: normal; overflow-wrap: normal; hyphens: none; }
	.sev-plan-c__sub { font-size: 13px; }
	.sev-plan-c__amt { font-size: 22px; }
	.sev-plan-c__save { font-size: 10px; }
	.gform_wrapper .gf_page_steps { justify-content: flex-start; }
	.gform_wrapper .gf_step { padding: 0 10px 0 0; }
	.gform_wrapper .gf_step_label { display: none; }
	.gform_wrapper .gf_step_active .gf_step_label { display: inline; }
	/* Cartes formule (page Abonnement) empilées : écart vertical (sinon collées) */
	.sev-formules { row-gap: 28px; }

	/* Page « Le numéro » */
	.sev-num-bar__chips { flex-wrap: nowrap; overflow-x: auto; }
	.sev-num-chip { flex: none; }
	.sev-num-hero { padding-block: 40px 48px; }
	.sev-num-hero__covcol { flex-basis: 100% !important; }
	.sev-num-cover { max-width: 320px; margin-inline: auto; }
	.sev-num-title__h1 { font-size: 34px; }
	.sev-num-somm { padding-block: 44px; }
	.sev-num-somm__aside { flex-basis: 100% !important; }
	.sev-num-row { grid-template-columns: 44px 1fr; gap: 6px 16px; }
	.sev-num-row__t { grid-column: 1 / -1; }
	.sev-num-raisons { padding-block: 44px; }
	.sev-num-cta { padding-block: 40px; }
	.sev-num-cta__row { flex-wrap: wrap; gap: 20px; }
	.sev-num-cta__t { font-size: 26px; }
}

/* ============================================================================
 * ABONNEMENT — sélecteur WooCommerce (formule + hors-séries) sur /abonnement/
 * Rendu par sev_abocart_html(), piloté par assets/js/abo-cart.js.
 * ========================================================================== */
.sev-abocart { display: flex; flex-direction: column; gap: 28px; }
.sev-abocart__step {
	margin: 0; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%;
	font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--sev-rouge);
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
}

/* --- Formules (cartes radio) --- */
.sev-abocart__plans { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; }
.sev-abocart__plan {
	position: relative; display: flex; flex-direction: column; gap: 6px;
	padding: 26px 26px 24px; border: 1.5px solid var(--sev-filet); border-radius: 6px;
	background: #fff; cursor: pointer; transition: border-color .15s, box-shadow .15s, transform .15s;
}
.sev-abocart__plan:hover { border-color: var(--sev-gris-clair); }
.sev-abocart__plan.is-selected,
.sev-abocart__plan:has(input:checked) {
	border-color: var(--sev-rouge); box-shadow: 0 0 0 3px rgba(216,34,26,.12);
}
.sev-abocart__plan--dark { background: var(--sev-creme); color: var(--sev-gris-texte); border-color: var(--sev-rouge); box-shadow: 0 6px 22px rgba(20,18,15,.10); }
.sev-abocart__plan--dark.is-selected,
.sev-abocart__plan--dark:has(input:checked) { border-color: var(--sev-rouge); }
.sev-abocart__plan input[type="radio"] {
	position: absolute; top: 22px; right: 22px; width: 20px; height: 20px;
	accent-color: var(--sev-rouge); cursor: pointer; margin: 0;
}
.sev-abocart__badge {
	align-self: flex-start; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%;
	font-size: 11px; letter-spacing: .09em; text-transform: uppercase; padding: 5px 10px; border-radius: 2px;
	background: var(--sev-rouge); color: var(--sev-papier); margin-bottom: 4px;
}
.sev-abocart__badge--jaune { background: var(--sev-jaune); color: var(--sev-encre); }
.sev-abocart__name { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 88%; font-size: 22px; }
.sev-abocart__plan--dark .sev-abocart__name { color: var(--sev-rouge); }
.sev-abocart__price { font-family: var(--sev-archivo); font-weight: 800; font-size: 26px; color: var(--sev-encre); }
.sev-abocart__plan--dark .sev-abocart__price { color: var(--sev-encre); }
.sev-abocart__price s { font-weight: 600; font-size: 17px; color: var(--sev-gris-clair); margin-right: 6px; }
.sev-abocart__meta { font-size: 14px; color: var(--sev-gris-texte); }
.sev-abocart__plan--dark .sev-abocart__meta { color: var(--sev-gris-texte); }
/* Refonte 2026-07-27 : prix au numéro, checklist à coches, ruban « le plus choisi » */
.sev-abocart__price b { font-size: 34px; font-weight: 900; letter-spacing: -.01em; }
.sev-abocart__perissue { font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-texte); margin-top: 2px; }
.sev-abocart__feats { list-style: none; margin: 10px 0 0; padding: 0; display: flex; flex-direction: column; gap: 9px; }
.sev-abocart__feats li { position: relative; padding-left: 27px; font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.4; color: var(--sev-gris-texte); }
.sev-abocart__feats li::before {
	content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" fill="%23D8221A"/><path d="M5.5 10.3l2.7 2.7 6.3-6.6" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
}
.sev-abocart__ribbon {
	position: absolute; top: -13px; left: 24px; z-index: 2;
	background: var(--sev-rouge); color: var(--sev-papier);
	font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%;
	font-size: 11px; letter-spacing: .09em; text-transform: uppercase;
	padding: 6px 12px; border-radius: 3px;
}

/* --- Hors-séries (cases à cocher) --- */
.sev-abocart__hs { display: flex; flex-direction: column; gap: 10px; }
.sev-abocart__count {
	font-family: var(--sev-archivo); font-weight: 800; font-size: 12px; letter-spacing: .04em;
	color: var(--sev-gris-texte); background: var(--sev-creme); border-radius: 999px; padding: 3px 11px;
}
.sev-abocart__count.is-full { background: var(--sev-rouge); color: var(--sev-papier); }
.sev-abocart__hint { margin: 0; font-size: 14px; color: var(--sev-gris-texte); }
.sev-abocart__hsnote { margin: 4px 0 2px; padding: 10px 12px; font-size: 13px; line-height: 1.5; color: var(--sev-gris-texte); background: #F7DED9; border-left: 3px solid var(--sev-rouge); border-radius: 6px; }
.sev-abocart__chips { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px; margin-top: 4px; }
.sev-abocart .sev-hschip {
	position: relative; display: flex; align-items: center; gap: 14px; margin: 0; padding: 12px 14px;
	background: var(--sev-papier); border: 1.5px solid var(--sev-filet); border-radius: 6px;
	cursor: pointer; transition: border-color .15s, background .15s, box-shadow .15s, transform .15s;
}
.sev-abocart .sev-hschip:hover { border-color: var(--sev-gris-clair); transform: translateY(-1px); box-shadow: 0 6px 18px rgba(20,18,15,.07); }
.sev-abocart .sev-hschip:has(input:checked) { border-color: var(--sev-rouge); background: #fff; box-shadow: 0 0 0 3px rgba(216,34,26,.10); }
/* Case native masquée (l'état est porté par la carte) */
.sev-abocart .sev-hschip input[type="checkbox"] { position: absolute; opacity: 0; width: 1px; height: 1px; margin: 0; }
.sev-abocart .sev-hschip:has(input:focus-visible) { outline: 2px solid var(--sev-rouge); outline-offset: 2px; }
/* Couverture réelle du hors-série */
.sev-hschip__cover { flex: 0 0 auto; width: 46px; }
.sev-hschip__cover img { display: block; width: 46px; height: auto; border-radius: 2px; border-top: 2px solid var(--sev-jaune); box-shadow: 0 2px 6px rgba(20,18,15,.18); }
.sev-hschip__meta { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.sev-hschip__n { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 10.5px; color: var(--sev-rouge); letter-spacing: .06em; text-transform: uppercase; }
.sev-hschip__t { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.22; color: var(--sev-encre); }
/* Pastille de sélection */
.sev-hschip__check {
	position: absolute; top: 9px; right: 9px; width: 20px; height: 20px; border-radius: 50%;
	border: 1.5px solid var(--sev-separateur); background: #fff; color: transparent;
	display: flex; align-items: center; justify-content: center; transition: all .15s;
}
.sev-abocart .sev-hschip:has(input:checked) .sev-hschip__check { background: var(--sev-rouge); border-color: var(--sev-rouge); color: var(--sev-papier); }
@media (max-width: 600px) {
	.sev-abocart__chips { grid-template-columns: 1fr; }
}

/* --- Pied : total + bouton --- */
.sev-abocart__foot {
	display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
	border-top: 1px solid var(--sev-filet); padding-top: 22px;
}
.sev-abocart__total { margin: 0; font-family: var(--sev-archivo); font-weight: 700; font-size: 17px; color: var(--sev-encre); }
.sev-abocart__total strong { font-weight: 900; font-size: 24px; }
.sev-abocart__totalnote { display: block; font-weight: 500; font-size: 13px; color: var(--sev-gris-clair); margin-top: 2px; }
.sev-abocart__submit {
	font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 15px;
	letter-spacing: .06em; text-transform: uppercase;
	color: var(--sev-papier); background: var(--sev-rouge); border: 0; border-radius: 2px;
	padding: 15px 30px; cursor: pointer; transition: background .15s, transform .1s;
}
.sev-abocart__submit:hover { background: var(--sev-rouge-fonce); }
.sev-abocart__submit:active { transform: translateY(1px); }
.sev-abocart__err {
	margin: 0; color: var(--sev-rouge); font-weight: 600; font-size: 14px;
	background: rgba(216,34,26,.08); border-left: 3px solid var(--sev-rouge); padding: 10px 14px; border-radius: 0 4px 4px 0;
}

@media (max-width: 900px) {
	.sev-abocart__plans { grid-template-columns: 1fr; gap: 14px; }
	.sev-abocart__chips { grid-template-columns: 1fr; }
	.sev-abocart__foot { flex-direction: column; align-items: stretch; }
	.sev-abocart__submit { width: 100%; }
}

/* --- CTA sélecteur : bouton « Je m'abonne » + mention paiement dessous --- */
.sev-abocart__cta { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; }
.sev-abocart__paynote { font-size: 12.5px; color: var(--sev-gris-clair); font-family: var(--sev-archivo); font-weight: 500; }
@media (max-width: 900px) {
	.sev-abocart__cta { align-items: stretch; }
	.sev-abocart__paynote { text-align: center; }
}

/* ============================================================================
 * WOOCOMMERCE — PANIER & CHECKOUT habillés charte S&V (blocs Cart/Checkout).
 * Les classes wc-block-components-* sont rendues côté client (hydratation) :
 * on les cible même si elles ne sont pas dans le HTML initial.
 * ========================================================================== */
.woocommerce-cart .sev-main-pad,
.woocommerce-checkout .sev-main-pad { padding-top: 40px; padding-bottom: 72px; }

/* Payment Element Stripe : l'apparence est auto-détectée par le plugin depuis la page.
   On force une police SANS (Archivo) sur la zone de paiement pour que Stripe n'hérite
   pas du serif Newsreader dans son iframe. */
.woocommerce-checkout .wp-block-woocommerce-checkout-payment-block,
.woocommerce-checkout .wc-block-checkout__payment-method,
.woocommerce-checkout .wc-block-checkout__payment-method * { font-family: var(--sev-archivo), system-ui, sans-serif !important; }

/* Titre de page (Votre panier / Commander) */
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .wp-block-post-title {
	font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(34px, 5vw, 52px);
	color: var(--sev-encre); margin-bottom: 28px;
}

/* Titres de section (Coordonnées, Adresse de facturation, Résumé, Mode de livraison…) */
.wc-block-components-title,
.wc-block-checkout .wc-block-components-checkout-step__title,
.wp-block-woocommerce-checkout-order-summary-block .wc-block-components-title {
	font-family: var(--sev-archivo) !important; font-weight: 800 !important; font-stretch: 86%;
	text-transform: uppercase; letter-spacing: .04em; color: var(--sev-encre) !important;
	font-size: 15px !important;
}
.wc-block-components-checkout-step__heading { margin-bottom: 6px; }
.wc-block-components-checkout-step__description { color: var(--sev-gris-texte); }

/* Champs de formulaire — on garde le PADDING natif de WooCommerce (calé pour son
 * label flottant : le surcharger provoquait un chevauchement label/valeur). On
 * ne retouche que la bordure, le rayon, le fond et la typo. */
.wc-block-components-text-input input,
.wc-block-components-text-input textarea,
.wc-block-components-textarea,
.wc-block-components-combobox input,
.wc-block-components-select .wc-block-components-select__container,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
	border-radius: 4px !important;
	border: 1.5px solid var(--sev-filet) !important;
	background: #fff !important;
	font-family: var(--sev-newsreader);
	color: var(--sev-encre);
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox input:focus,
.wc-block-components-textarea:focus,
.wc-block-components-address-form select:focus {
	border-color: var(--sev-rouge) !important;
	box-shadow: 0 0 0 3px rgba(216,34,26,.12) !important;
	outline: none !important;
}
/* Label flottant : neutre (gris), pas rouge (le rouge se lisait comme une erreur).
 * Position calée à gauche pour rester aligné avec le champ. */
.wc-block-components-text-input label,
.wc-block-components-combobox label,
.wc-block-components-checkbox__label,
.wc-block-components-radio-control__label {
	font-family: var(--sev-archivo); color: var(--sev-gris-clair);
}
.wc-block-components-text-input.is-active label { color: var(--sev-gris-texte); }
/* Cases à cocher / radios accent rouge */
.wc-block-components-checkbox input, .wc-block-components-radio-control input { accent-color: var(--sev-rouge); }

/* Boutons PRIMAIRES uniquement (Passer la commande / Valider la commande) —
 * on NE stylise PAS tous les .wc-block-components-button (sinon les boutons des
 * bannières de notice deviennent des rectangles rouges vides). */
.wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a.wc-block-components-button,
button.wc-block-components-checkout-place-order-button {
	background: var(--sev-rouge) !important; color: var(--sev-papier) !important;
	border-radius: 3px !important; border: 0 !important;
	font-family: var(--sev-archivo) !important; font-weight: 800 !important; font-stretch: 88%;
	letter-spacing: .02em; padding: 16px 30px !important;
}
.wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a.wc-block-components-button:hover,
button.wc-block-components-checkout-place-order-button:hover {
	background: var(--sev-rouge-fonce) !important;
}
/* Liens texte (retour, modifier…) en rouge charte */
.wc-block-components-button.text, .wc-block-cart a:not(.wc-block-components-button), .wc-block-checkout a:not(.wc-block-components-button) { color: var(--sev-rouge); }
/* Bouton d'action des bannières de notice → lien discret, pas un bloc rouge */
.wc-block-components-notice-banner a.wc-block-components-button,
.wc-block-components-notice-banner button.wc-block-components-button:not(.wc-block-components-notice-banner__dismiss) {
	background: transparent !important; color: var(--sev-rouge) !important; padding: 0 !important;
	text-decoration: underline; font-family: var(--sev-archivo); font-weight: 700; box-shadow: none !important;
}
/* Bouton × de fermeture d'une notice → discret, hover doux (pas de bloc rouge) */
.wc-block-components-notice-banner__dismiss,
.wc-block-components-notice-banner button[aria-label] svg,
.wc-block-components-notice-banner .components-button.has-icon {
	background: transparent !important; color: inherit !important; box-shadow: none !important; border-radius: 4px !important;
}
.wc-block-components-notice-banner__dismiss:hover,
.wc-block-components-notice-banner .components-button.has-icon:hover {
	background: rgba(20,18,15,.06) !important; color: var(--sev-encre) !important;
}

/* Colonne « Résumé de la commande » / totaux → carte crème accent rouge */
.wc-block-cart__sidebar .wc-block-components-sidebar,
.wc-block-checkout__sidebar .wc-block-components-sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
	background: var(--sev-creme) !important; border-top: 3px solid var(--sev-rouge);
	border-radius: 0 0 6px 6px; padding: 24px !important;
}
.wc-block-components-totals-item__label { font-family: var(--sev-archivo); color: var(--sev-encre); }
.wc-block-components-totals-item__value { font-family: var(--sev-archivo); }
.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-weight: 900; color: var(--sev-encre); font-size: 20px;
}

/* En-têtes de colonnes du panier (PRODUIT / TOTAL) */
.wc-block-cart-items__header {
	font-family: var(--sev-archivo); font-weight: 800; text-transform: uppercase;
	letter-spacing: .06em; color: var(--sev-encre); border-bottom: 2px solid var(--sev-encre);
}

/* Nom du produit dans le panier — SANS effet de survol */
.wc-block-cart-item__product .wc-block-components-product-name,
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
	font-family: var(--sev-newsreader) !important; font-weight: 600; color: var(--sev-encre) !important;
	text-decoration: none !important; pointer-events: none; /* fiche = redirection, lien inutile */
}
.wc-block-cart-item__product a.wc-block-components-product-name:hover,
.wc-block-cart-item__product .wc-block-components-product-name:hover {
	color: var(--sev-encre) !important; text-decoration: none !important;
}
/* Hors-séries offerts (item meta) en Archivo lisible */
.wc-block-cart-item__product .wc-block-components-product-details,
.wc-block-components-order-summary-item__description .wc-block-components-product-details {
	font-family: var(--sev-archivo); color: var(--sev-gris-texte); font-size: 13.5px;
}

/* Liseré jaune sur la vignette produit (cohérent avec la boutique) */
.wc-block-cart-item__image img,
.wc-block-components-order-summary-item__image img { border-top: 3px solid var(--sev-jaune); border-radius: 2px; }

/* Badge de quantité « 1 » masqué : le tunnel est verrouillé à 1 abo par panier
   (sold_individually) → la quantité est toujours 1, le badge est inutile et
   chevauchait le titre. */
.wc-block-components-order-summary-item__quantity { display: none !important; }

/* Message « aucun moyen de paiement » (tant que Stripe n'est pas branché) */
.wc-block-checkout__payment-method .wc-block-components-notice-banner { border-radius: 4px; }

/* « Total estimé » → « Total » : le libellé du bloc Cart/Checkout est traduit
 * côté JS (le filtre gettext PHP ne l'atteint pas) → on force le texte en CSS.
 * Spécificité montée (classe body) pour battre la règle WooCommerce. */
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 0 !important; line-height: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label::after,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label::after {
	content: "Total"; font-size: 20px !important; line-height: 1.2 !important;
	font-weight: 900; font-family: var(--sev-archivo); color: var(--sev-encre);
}

/* --- En-tête des pages panier / checkout (kicker + titre + sous-titre) --- */
.sev-shop-main { padding-top: 36px; }
.sev-shop-head { margin-bottom: 34px; padding-bottom: 22px; border-bottom: 1px solid var(--sev-filet); }
.sev-shop-head__eyebrow {
	font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; text-transform: uppercase;
	letter-spacing: .1em; font-size: 13px; color: var(--sev-rouge); margin: 0 0 10px;
}
.sev-shop-head .sev-shop-head__title,
.woocommerce-cart .sev-shop-head .wp-block-post-title,
.woocommerce-checkout .sev-shop-head .wp-block-post-title {
	font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(34px, 5vw, 52px);
	color: var(--sev-encre); margin: 0; line-height: 1.04; letter-spacing: -.01em;
}
.sev-shop-head__sub { margin: 12px 0 0; color: var(--sev-gris-texte); font-size: 16px; max-width: 640px; line-height: 1.5; }

/* --- Fil d'étapes (tunnel d'abonnement : Sélection → Panier → Commande) --- */
.sev-steps { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin: 22px 0 6px; }
.sev-steps__i { display: inline-flex; align-items: center; gap: 9px; font-family: var(--sev-archivo); font-weight: 700; font-stretch: 84%; font-size: 13px; letter-spacing: .04em; text-transform: uppercase; color: var(--sev-gris-clair); text-decoration: none; transition: color .15s; }
.sev-steps__i .num { display: inline-flex; width: 24px; height: 24px; border-radius: 50%; background: var(--sev-filet); color: var(--sev-gris-texte); font-size: 12px; font-weight: 800; align-items: center; justify-content: center; transition: transform .15s; }
.sev-steps__i.is-done { color: var(--sev-gris-texte); }
.sev-steps__i.is-done .num { background: var(--sev-encre); color: var(--sev-papier); }
.sev-steps__i.is-active { color: var(--sev-encre); }
.sev-steps__i.is-active .num { background: var(--sev-rouge); color: var(--sev-papier); }
a.sev-steps__i:hover { color: var(--sev-rouge); }
a.sev-steps__i:hover .num { transform: translateY(-1px); }
.sev-steps__sep { color: var(--sev-separateur); font-size: 14px; }
@media (max-width: 600px) {
	.sev-steps__i { font-size: 11.5px; gap: 7px; }
	.sev-steps__sep { display: none; }
}

/* En-tête : de l'air entre sous-titre, étapes et filet, mais peu d'espace avant
 * le contenu (le bloc WooCommerce réserve déjà de la marge au-dessus). */
.sev-shop-head { margin-bottom: 6px; padding-bottom: 24px; }
.sev-shop-head__sub { margin-bottom: 0; }
/* Resserre le vide au-dessus du 1er élément du panier/checkout (notices, etc.) */
.sev-shop-main .wp-block-woocommerce-checkout,
.sev-shop-main .wp-block-woocommerce-cart { padding-top: 0 !important; margin-top: 0 !important; }
.sev-shop-main .woocommerce-notices-wrapper,
.sev-shop-main .wc-block-store-notice { margin-top: 8px !important; }
.sev-shop-main .wc-block-checkout,
.sev-shop-main .wc-block-cart { margin-top: 4px !important; }
.sev-shop-main .wp-block-post-content > .wp-block-woocommerce-cart,
.sev-shop-main .wp-block-post-content > .wp-block-woocommerce-checkout,
.sev-shop-main .woocommerce-notices-wrapper:empty { margin-top: 0 !important; }
.sev-shop-main .woocommerce-notices-wrapper:empty { display: none; }

/* Bouton × de fermeture des notices — spécificité montée pour battre la règle
 * globale des boutons de panier (sinon carré rouge plein). */
.wc-block-components-notice-banner .wc-block-components-notice-banner__dismiss,
.wp-block-woocommerce-cart .wc-block-components-notice-banner__dismiss,
.wp-block-woocommerce-checkout .wc-block-components-notice-banner__dismiss,
.wc-block-components-notice-banner button[aria-label] {
	background: transparent !important; color: currentColor !important; box-shadow: none !important;
	border: 0 !important; border-radius: 4px !important; padding: 4px !important; opacity: .6;
}
.wc-block-components-notice-banner .wc-block-components-notice-banner__dismiss:hover,
.wp-block-woocommerce-cart .wc-block-components-notice-banner__dismiss:hover,
.wp-block-woocommerce-checkout .wc-block-components-notice-banner__dismiss:hover {
	background: rgba(20,18,15,.08) !important; opacity: 1;
}

/* --- Carte du numéro (colonne « Au sommaire » de /le-numero/) ---
 * Sans boîte : la couverture posée sur une fine cale jaune est la pièce
 * maîtresse ; l'info reste sobre. Colonne resserrée (pas de vide blanc). */
/* Layout horizontal : couverture (petite) à gauche, infos à droite */
.sev-numcard { display: flex; flex-direction: row; align-items: flex-start; gap: 22px; max-width: 100%; }
.sev-numcard__cover { position: relative; flex: 0 0 auto; width: 138px; }
.sev-numcard__cover img { display: block; width: 100%; height: auto; box-shadow: 0 18px 38px rgba(20,18,15,.20), 0 2px 8px rgba(20,18,15,.10); outline: 1px solid rgba(20,18,15,.06); outline-offset: -1px; }
.sev-numcard__body { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; align-items: flex-start; gap: 0; padding-top: 4px; }
/* Filet rouge d'accent au-dessus du titre */
.sev-numcard__body::before { content: ""; width: 36px; height: 3px; background: var(--sev-rouge); margin-bottom: 12px; }
.sev-numcard__n { margin: 0; font-family: var(--sev-newsreader); font-weight: 600; font-size: 22px; line-height: 1.1; color: var(--sev-encre); letter-spacing: -.01em; }
.sev-numcard__meta { margin: 8px 0 0; font-family: var(--sev-archivo); font-weight: 700; font-stretch: 84%; font-size: 11.5px; letter-spacing: .06em; text-transform: uppercase; color: var(--sev-gris-clair); }
.sev-numcard__dossier { margin: 12px 0 0; font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.3; color: var(--sev-encre); }
.sev-numcard__dossier span { display: block; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 10.5px; letter-spacing: .08em; text-transform: uppercase; color: var(--sev-rouge); margin-bottom: 2px; }
/* CTA discret : lien souligné à l'accent rouge */
.sev-numcard__cta {
	margin-top: 16px;
	font-family: var(--sev-archivo); font-weight: 800; font-stretch: 88%; font-size: 13.5px; letter-spacing: .02em;
	color: var(--sev-rouge); text-decoration: none; padding-bottom: 4px;
	border-bottom: 2px solid var(--sev-rouge); transition: color .15s ease, border-color .15s ease;
}
@media (max-width: 520px) {
	.sev-numcard { flex-direction: column; gap: 18px; }
	.sev-numcard__cover { width: 150px; }
}
.sev-numcard__cta:hover { color: var(--sev-rouge-fonce); border-color: var(--sev-rouge-fonce); }
.sev-numcard__cta--ghost { color: var(--sev-encre); border-bottom-color: var(--sev-jaune); }
.sev-numcard__cta--ghost:hover { color: var(--sev-rouge); border-bottom-color: var(--sev-rouge); }

/* --- Page de confirmation d'abonnement (order-received) charte S&V --- */
.woocommerce-order-received .sev-order-welcome,
.sev-order-welcome { margin: 0 0 8px; }
.sev-order-welcome__eyebrow { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; text-transform: uppercase; letter-spacing: .1em; font-size: 13px; color: var(--sev-rouge); margin: 0 0 8px; }
.sev-order-welcome__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(24px,3.5vw,34px); line-height: 1.15; color: var(--sev-encre); margin: 0 0 10px; }
.sev-order-welcome__p { font-family: var(--sev-newsreader); font-size: 17px; line-height: 1.55; color: var(--sev-gris-texte); max-width: 640px; margin: 0; }
.woocommerce-order .woocommerce-order-overview,
.woocommerce-order .woocommerce-order-details { border: 1px solid var(--sev-filet); border-radius: 8px; padding: 20px 24px; background: var(--sev-creme); }
.woocommerce-order h2, .woocommerce-order .wc-block-components-title { font-family: var(--sev-archivo); font-weight: 800; text-transform: uppercase; letter-spacing: .03em; color: var(--sev-encre); }

/* --- Page de confirmation (bloc « Order Confirmation » WooCommerce) — sobre & claire --- */
/* Description de statut WooCommerce : discrète (le message principal = .sev-order-welcome).
   NB : ne PAS masquer entièrement — pour un invité non vérifié c'est ce bloc qui porte
   l'accès au détail. La vérification est désactivée (filtre PHP) → détail toujours visible. */
body.woocommerce-order-received .wc-block-order-confirmation-status-description { font-family: var(--sev-newsreader); font-size: 14px; line-height: 1.6; color: var(--sev-gris-clair); }
/* Résumé (n° · date · total · e-mail · paiement) → carte crème, label/valeur compacts */
body.woocommerce-order-received .wc-block-order-confirmation-summary {
	list-style: none; margin: 30px 0; padding: 22px 26px; background: var(--sev-creme); border-radius: 8px;
	display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 18px 32px; font-size: 15px;
}
body.woocommerce-order-received .wc-block-order-confirmation-summary li,
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item { margin: 0; padding: 0; border: 0; display: flex; flex-direction: column; gap: 3px; }
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__key { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: .09em; text-transform: uppercase; color: var(--sev-gris-texte); }
body.woocommerce-order-received .wc-block-order-confirmation-summary-list-item__value { font-family: var(--sev-newsreader); font-size: 17px; line-height: 1.3; color: #33302A; }
/* Titres de section → Archivo majuscules, discrets */
body.woocommerce-order-received .wc-block-order-confirmation-totals h2,
body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper h2,
body.woocommerce-order-received .wc-block-order-confirmation-additional-fields h2,
body.woocommerce-order-received main h2 {
	font-family: var(--sev-archivo) !important; font-weight: 800; font-stretch: 86%; text-transform: uppercase;
	letter-spacing: .04em; font-size: 15px !important; line-height: 1.2; color: var(--sev-encre); margin: 34px 0 12px;
}
/* Tableau produits + totaux → net, filets discrets */
body.woocommerce-order-received .wc-block-order-confirmation-totals { margin-bottom: 44px; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__table { width: 100%; border-collapse: collapse; font-family: var(--sev-newsreader); font-size: 15px; color: #33302A; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__table th,
body.woocommerce-order-received .wc-block-order-confirmation-totals__table td { padding: 14px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--sev-filet); }
body.woocommerce-order-received .wc-block-order-confirmation-totals__table th:last-child,
body.woocommerce-order-received .wc-block-order-confirmation-totals__table td:last-child { text-align: right; white-space: nowrap; }
body.woocommerce-order-received .wc-block-order-confirmation-totals__table tfoot { font-weight: 600; }
/* Titre « Commande reçue » = <h1> sans classe DANS .wc-block-order-confirmation-status
   (qui porte has-large-font-size → gonfle tout). On neutralise le gonflement du bloc
   et on pose une taille sobre sur le h1. */
body.woocommerce-order-received .wc-block-order-confirmation-status { font-size: 16px !important; }
body.woocommerce-order-received .wc-block-order-confirmation-status h1,
body.woocommerce-order-received main h1 { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(26px, 3vw, 34px) !important; line-height: 1.1 !important; color: var(--sev-encre); margin: 0 0 10px; }
/* Encart de bienvenue : intro plus discrète que le titre, sur toute la largeur dispo */
body.woocommerce-order-received .sev-order-welcome,
body.woocommerce-order-received .sev-order-welcome__p,
body.woocommerce-order-received .sev-order-welcome__t { max-width: none !important; }
body.woocommerce-order-received .sev-order-welcome__t { font-size: clamp(20px, 2.2vw, 25px) !important; line-height: 1.2; }
/* Adresses → carte crème par colonne ; TOUT le texte (nom, rue, ville, pays, téléphone)
   ramené à une taille uniforme et compacte. */
body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper { gap: 32px; margin-bottom: 72px !important; }
body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper .wp-block-column { background: var(--sev-creme); border-radius: 8px; padding: 18px 22px; }
body.woocommerce-order-received .wc-block-order-confirmation-address-wrapper .wp-block-column *:not(h2) {
	font-family: var(--sev-newsreader) !important; font-size: 15px !important; line-height: 1.6 !important;
	color: #33302A; font-style: normal; background: transparent; margin: 0;
}

/* --- Réassurance sous le CTA du sélecteur d'abonnement --- */
.sev-abocart__trust { list-style: none; margin: 22px 0 0; padding: 20px 0 0; border-top: 1px solid var(--sev-filet); display: flex; flex-wrap: wrap; justify-content: center; gap: 12px 28px; }
@media (max-width: 781px) { .sev-abocart__trust { flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: 10px; } }
.sev-abocart__trust li { display: flex; align-items: center; gap: 9px; font-family: var(--sev-archivo); font-weight: 600; font-size: 13px; color: var(--sev-gris-texte); }
.sev-abocart__trust li::before {
	content: ""; width: 18px; height: 18px; flex: 0 0 auto;
	background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><circle cx="10" cy="10" r="10" fill="%23D8221A"/><path d="M5.5 10.3l2.7 2.7 6.3-6.6" stroke="white" stroke-width="2" fill="none" stroke-linecap="round" stroke-linejoin="round"/></svg>') center/contain no-repeat;
}

/* --- Depuis l'étranger : tarifs DROM-COM/monde + relais Belgique/Suisse (info) --- */
.sev-foreign { margin-top: 44px !important; margin-bottom: 90px !important; } /* le bloc ouvre la page : il lui faut de l'air avant la section suivante */
/* Surtitre des formules : même graisse que celui des relais, et de l'air en dessous
   pour qu'il ne colle pas au « 1 · Votre formule » du sélecteur. */
.sev-block-title--formules { margin-bottom: 28px !important; }
.sev-foreign__lead { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.55; color: var(--sev-gris-texte); max-width: none; margin: 24px 0 0 !important; }
.sev-foreign__grid { margin-top: 16px; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 24px; }
.sev-foreign__card { background: var(--sev-creme); border-radius: 6px; padding: 22px 24px; height: 100%; }
.sev-foreign__country { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 82%; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--sev-rouge); margin: 0 0 8px; }
.sev-foreign__org { font-family: var(--sev-archivo); font-weight: 800; font-size: 17px; color: var(--sev-encre); margin: 0 0 8px; }
.sev-foreign__line { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.5; color: var(--sev-gris-texte); margin: 0; }
.sev-foreign__line a { color: var(--sev-rouge); text-decoration: underline; text-underline-offset: 2px; }
@media (max-width: 781px) { .sev-foreign__grid { row-gap: 16px; } }

/* --- « Et un réseau d'experts » : cercle chiffre-clé + tags disciplines --- */
.sev-mag-experts__badge {
	width: 120px; height: 120px; border-radius: 50%; background: var(--sev-rouge); color: var(--sev-papier);
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; text-align: center;
	box-shadow: 0 12px 28px rgba(216,34,26,.28);
}
.sev-mag-experts__num { margin: 0; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 34px; line-height: 1; }
.sev-mag-experts__lbl { margin: 0; font-family: var(--sev-archivo); font-weight: 700; font-stretch: 82%; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.sev-mag-experts__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.sev-mag-experts__tag {
	margin: 0; font-family: var(--sev-archivo); font-weight: 700; font-stretch: 84%; font-size: 11px;
	letter-spacing: .04em; text-transform: uppercase; color: var(--sev-encre);
	background: var(--sev-papier); border: 1px solid var(--sev-filet); border-radius: 999px; padding: 6px 12px;
}

/* --- Champ « code promo » mis en évidence (réabonnement / tarif fidélité) --- */
.wp-block-woocommerce-cart-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block {
	background: #fff; border: 1.5px solid var(--sev-rouge); border-radius: 6px;
	padding: 4px 16px 6px; margin-top: 6px;
}
.wp-block-woocommerce-cart-order-summary-coupon-form-block::before,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block::before {
	content: "Vous vous réabonnez ? Entrez votre code fidélité ci-dessous.";
	display: block; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 84%;
	font-size: 12px; letter-spacing: .02em; color: var(--sev-rouge); padding: 10px 0 4px;
}
/* Le libellé « Ajouter des codes promo » plus affirmé */
.wp-block-woocommerce-cart-order-summary-coupon-form-block .wc-block-components-panel__button,
.wp-block-woocommerce-checkout-order-summary-coupon-form-block .wc-block-components-panel__button {
	font-family: var(--sev-archivo) !important; font-weight: 700 !important; color: var(--sev-encre) !important;
}

/* --- Pictos cartes acceptées (sous le CTA du sélecteur) --- */
.sev-paycards { display: flex; gap: 6px; margin-top: 10px; flex-wrap: wrap; justify-content: flex-end; }
.sev-paycard { display: inline-flex; }
.sev-paycard svg { display: block; width: 40px; height: 26px; border-radius: 4px; box-shadow: 0 1px 3px rgba(20,18,15,.14); }
@media (max-width: 900px) { .sev-paycards { justify-content: flex-start; } }

/* Plus d'air au-dessus de la phrase de réassurance (page Abonnement) */
.sev-reassure__note { margin-top: 22px; }

/* =========================================================================
 * ARTICLE-ÉCHANTILLON — lecteur /extrait/ (pattern sport-et-vie/extrait-page)
 * En-tête éditorial + pages du magazine en images + CTA abonnement.
 * ========================================================================= */
.sev-extrait-head { background: var(--sev-papier); padding: 64px 24px 40px; }
.sev-extrait-head__eyebrow { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sev-rouge); margin: 0 0 18px; }
.sev-extrait-head__rubrow { gap: 10px; margin-bottom: 14px; }
.sev-extrait-head__rub { display: inline-flex; align-items: center; margin: 0; background: var(--sev-encre); color: var(--sev-papier); font-family: var(--sev-archivo); font-weight: 800; font-stretch: 84%; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; padding: 5px 12px; border-radius: 2px; }
.sev-extrait-head__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(30px, 3.8vw, 50px); line-height: 1.05; letter-spacing: -0.02em; color: var(--sev-encre); margin: 0 0 20px; max-width: none; }
.sev-extrait-head__dek { font-family: var(--sev-newsreader); font-size: 20px; line-height: 1.5; color: var(--sev-gris-texte); margin: 0; max-width: 66ch; }
/* Colonne de lecture : l'en-tête est calé sur la même largeur (820px) que les
 * pages de l'article, et TOUT est centré horizontalement (eyebrow, étiquette
 * rubrique, titre, chapô) — cohérent avec le ruban et les pages centrées. */
.sev-extrait-head .wp-block-group.alignwide { max-width: 1280px !important; text-align: center; }
.sev-extrait-head__title, .sev-extrait-head__dek { margin-left: auto !important; margin-right: auto !important; }
.sev-extrait-head__rubrow { justify-content: center; }

.sev-extrait-reader { background: var(--sev-creme); padding: 40px 16px 56px; }
.sev-extrait-reader__ribbon { display: table; margin: 0 auto 28px; background: var(--sev-encre); color: var(--sev-papier); font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; padding: 8px 18px; border-radius: 999px; }
.sev-extrait-sheet { margin: 0 auto 22px; max-width: 1040px; background: #fff; box-shadow: 0 6px 28px rgba(20,18,15,.14); border: 1px solid var(--sev-filet); }
.sev-extrait-sheet:last-child { margin-bottom: 0; }
.sev-extrait-sheet__img { display: block; width: 100%; height: auto; }

.sev-extrait-cta { background: var(--sev-jaune); padding: 72px 24px; text-align: center; }
.sev-extrait-cta__inner { max-width: 720px; margin-inline: auto; }
.sev-extrait-cta__eyebrow { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--sev-rouge); margin: 0 0 16px; }
.sev-extrait-cta__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(28px, 3.6vw, 40px); line-height: 1.1; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0 0 16px; }
.sev-extrait-cta__text { font-family: var(--sev-newsreader); font-size: 18px; line-height: 1.55; color: rgba(20,18,15,.82); margin: 0 auto 32px; max-width: 52ch; }
.sev-extrait-cta__btns { justify-content: center; gap: 14px 16px; }
.sev-extrait-cta__btns .is-style-outline .wp-block-button__link { color: var(--sev-encre); border-color: rgba(20,18,15,.4); background: transparent; }
.sev-extrait-cta__btns .is-style-outline .wp-block-button__link:hover { border-color: var(--sev-encre); background: rgba(20,18,15,.08); }

@media (max-width: 900px) {
	.sev-extrait-head { padding: 44px 20px 30px; }
	.sev-extrait-head__dek { font-size: 18px; }
	.sev-extrait-reader { padding: 28px 12px 40px; }
	.sev-extrait-cta { padding: 52px 20px; }
}

/* --- Bandeau « Article offert » (promo /extrait/, réutilisable) -------------
 * Bande éditoriale sombre : l'article en éventail (2 pages, ombre marquée) +
 * pastille « c'est offert » + accroche affirmée. Écho de l'éventail /le-magazine/.
 */
.sev-excta { position: relative; overflow: hidden; background: var(--sev-encre); color: var(--sev-papier); padding: 52px 40px; }
/* Halo chaud derrière le visuel (à droite) pour la profondeur */
.sev-excta::before { content: ""; position: absolute; top: 50%; right: 10%; width: 460px; height: 460px; transform: translate(30%, -50%); background: radial-gradient(circle, rgba(236,183,31,.15), rgba(236,183,31,0) 66%); pointer-events: none; }
.sev-excta__inner { position: relative; max-width: var(--wp--style--global--wide-size, 1240px); margin-inline: auto; display: flex; align-items: center; justify-content: center; gap: 56px; flex-wrap: wrap; }

/* Texte (à gauche) — colonne large, contenu qui remplit (pas de vide au milieu) */
.sev-excta__body { flex: 1 1 460px; max-width: 720px; }
.sev-excta__kicker { display: inline-flex; align-items: center; gap: 12px; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sev-jaune); margin: 0 0 14px; }
.sev-excta__kicker::before { content: ""; width: 28px; height: 2px; background: var(--sev-jaune); display: inline-block; }
.sev-excta__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(28px, 3vw, 40px); line-height: 1.04; letter-spacing: -0.02em; color: var(--sev-papier); margin: 0 0 14px; }
.sev-excta__text { font-family: var(--sev-newsreader); font-size: 17px; line-height: 1.5; color: var(--sev-creme-sombre); margin: 0 0 26px; max-width: none; }
.sev-excta__btn { display: inline-flex; align-items: center; background: var(--sev-rouge); color: var(--sev-papier); font-family: var(--sev-archivo); font-weight: 800; font-stretch: 84%; font-size: 14px; letter-spacing: 0.04em; text-transform: uppercase; padding: 14px 28px; border-radius: 2px; text-decoration: none; transition: background-color .15s ease, transform .15s ease; }
.sev-excta__btn:hover { background: var(--sev-rouge-fonce, #B71A13); transform: translateY(-1px); }
.sev-excta__note { font-family: var(--sev-newsreader); font-style: italic; font-size: 14px; color: var(--sev-gris-clair); margin: 14px 0 0; }

/* Éventail de pages (à droite) */
.sev-excta__fan { position: relative; display: block; flex: 0 0 300px; width: 300px; height: 268px; }
.sev-excta__pg { position: absolute; top: 50%; right: 24px; width: 170px; height: auto; border: 1px solid rgba(20,18,15,.08); border-radius: 3px; background: #fff; box-shadow: 0 18px 40px rgba(0,0,0,.44); transition: transform .4s cubic-bezier(.2,.7,.2,1); }
.sev-excta__pg--back { transform: translateY(-50%) translateX(-34px) rotate(-7deg); filter: brightness(.88); z-index: 1; }
.sev-excta__pg--front { transform: translateY(-50%) rotate(5deg); z-index: 2; }
.sev-excta__fan:hover .sev-excta__pg--front { transform: translateY(-52%) rotate(7deg); }
.sev-excta__fan:hover .sev-excta__pg--back { transform: translateY(-50%) translateX(-48px) rotate(-10deg); }
/* Pastille « c'est offert » */
.sev-excta__seal { position: absolute; top: 4px; right: 156px; z-index: 3; display: flex; flex-direction: column; align-items: center; justify-content: center; width: 72px; height: 72px; border-radius: 50%; background: var(--sev-jaune); color: var(--sev-encre); font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 13px; letter-spacing: .03em; text-transform: uppercase; line-height: 1; transform: rotate(-13deg); box-shadow: 0 8px 20px rgba(0,0,0,.34); }
.sev-excta__seal em { font-style: normal; font-size: 8px; letter-spacing: .1em; margin-bottom: 2px; opacity: .82; }

@media (max-width: 820px) {
	.sev-excta { padding: 40px 20px; }
	.sev-excta__inner { flex-direction: column; align-items: stretch; gap: 28px; }
	.sev-excta__body { flex: 0 0 auto; max-width: none; width: 100%; }
	.sev-excta__fan { display: none; } /* visuel (éventail + pastille) inutile sur mobile — demande Olivier */
}

/* ------------------------------------------------------------------ *
 * MESSAGE AUX ABONNÉS — encart éditorial en tête d'accueil (.sev-hpnotice)
 * Piloté par Personnaliser → « Message aux abonnés (accueil) ».
 * ------------------------------------------------------------------ */
.sev-hpnotice { background: var(--sev-creme); padding-block: 30px; padding-inline: clamp(20px, 5vw, 100px); position: relative; }
.sev-hpnotice__inner { max-width: 1400px; margin: 0 auto; display: flex; align-items: center; justify-content: space-between; gap: 48px; position: relative; }
/* Lien « Fermer » aligné à droite avec la loupe du header (barre en alignwide =
   1400px → bord = 50% - 700px, borné par le padding). Mémorisé par cookie lié
   au contenu. */
.sev-hpnotice__close { position: absolute; top: 22px; right: max(clamp(20px, 5vw, 100px), calc(50% - 700px)); z-index: 3; display: inline-flex; align-items: center; gap: 6px; padding: 0; background: transparent; border: 0; font-family: var(--sev-archivo); font-weight: 700; font-stretch: 84%; font-size: 13px; letter-spacing: 0.02em; color: var(--sev-gris-clair); cursor: pointer; transition: color .15s ease; }
.sev-hpnotice__close-t { text-decoration: underline; text-underline-offset: 3px; }
.sev-hpnotice__close-x { font-size: 17px; line-height: 1; }
.sev-hpnotice__close:hover { color: var(--sev-rouge); }
/* Élément graphique abstrait : ligne de « pouls » avec une impulsion qui la
   parcourt en boucle (discret, dynamique — évoque le battement / le vivant). */
.sev-hpnotice__pulse { order: 2; flex: 0 1 auto; width: clamp(200px, 32vw, 440px); height: 64px; color: var(--sev-rouge); overflow: visible; }
.sev-hpnotice__pulse-base { stroke: currentColor; stroke-width: 2; opacity: .16; stroke-linecap: round; stroke-linejoin: round; }
.sev-hpnotice__pulse-spark { stroke: currentColor; stroke-width: 2.4; opacity: .6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 60 1000; stroke-dashoffset: 1060; animation: sev-pulse-run 3.4s linear infinite; }
@keyframes sev-pulse-run { from { stroke-dashoffset: 1060; } to { stroke-dashoffset: 60; } }
@media (prefers-reduced-motion: reduce) { .sev-hpnotice__pulse-spark { animation: none; opacity: .3; stroke-dasharray: none; stroke-dashoffset: 0; } }
.sev-hpnotice__body { order: 1; flex: 1 1 auto; max-width: 1400px; margin-inline: auto; }
.sev-hpnotice__head { position: relative; margin-bottom: 22px; }
.sev-hpnotice__head::after { content: ""; display: block; width: 48px; height: 3px; background: var(--sev-rouge); margin-top: 18px; }
.sev-hpnotice__kicker { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--sev-rouge); margin: 0 0 8px; }
.sev-hpnotice__title { font-family: var(--sev-newsreader); font-weight: 600; font-size: clamp(24px, 2.4vw, 33px); line-height: 1.1; letter-spacing: -0.015em; color: var(--sev-encre); margin: 0; text-wrap: balance; }
.sev-hpnotice__main { max-width: none; }
.sev-hpnotice__text { font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.6; color: var(--sev-gris-texte); }
.sev-hpnotice__text p { margin: 0 0 12px; }
.sev-hpnotice__text p:last-child { margin-bottom: 0; }
.sev-hpnotice__sign { font-family: var(--sev-newsreader); font-style: italic; font-size: 16px; color: var(--sev-encre); margin: 18px 0 0; text-align: right; }
.sev-hpnotice__btn { display: inline-flex; align-items: center; background: var(--sev-rouge); color: var(--sev-papier); font-family: var(--sev-archivo); font-weight: 800; font-stretch: 84%; font-size: 13px; letter-spacing: 0.04em; text-transform: uppercase; padding: 12px 24px; border-radius: 2px; text-decoration: none; margin-top: 20px; transition: background-color .15s ease, transform .15s ease; }
.sev-hpnotice__btn:hover { background: var(--sev-rouge-fonce, #B71A13); transform: translateY(-1px); }

@media (max-width: 820px) {
	.sev-hpnotice { padding-block: 30px; }
	.sev-hpnotice__inner { gap: 24px; }
	.sev-hpnotice__pulse { width: clamp(150px, 28vw, 300px); height: 52px; }
	.sev-hpnotice__body { grid-template-columns: 1fr; gap: 16px; }
	.sev-hpnotice__head { padding-top: 18px; }
}
@media (max-width: 560px) {
	.sev-hpnotice__pulse { display: none; }
	.sev-hpnotice__body { max-width: none; }
}

/* ------------------------------------------------------------------ *
 * RÉABONNEMENT — offre fidélité anciens abonnés (page /abonnement/?reabo)
 * Réutilise tout le style .sev-abocart* ; quelques ajouts spécifiques.
 * ------------------------------------------------------------------ */
.sev-abocart__reabonote { font-family: var(--sev-newsreader); font-style: italic; font-size: 15px; line-height: 1.5; color: var(--sev-gris-texte); margin: 0 0 20px; padding: 12px 16px; background: var(--sev-creme); border-left: 3px solid var(--sev-rouge); border-radius: 0 4px 4px 0; }
.sev-abpage__switch { font-family: var(--sev-archivo); font-size: 14px; margin: 4px 0 0; }
.sev-abpage__switch a { color: var(--sev-gris-clair); text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--sev-creme-sombre); transition: color .15s ease; }
.sev-abpage__switch a:hover { color: var(--sev-rouge); }

/* Note réabonnement sur la page Abonnement standard (.sev-abpage__reanote) */
.sev-abpage__reanote { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 28px 0 0; padding: 16px 20px; background: #F7DED9; border-left: 3px solid var(--sev-rouge); border-radius: 0 6px 6px 0; }
.sev-abpage__reanote-tag { flex: 0 0 auto; font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 15px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); }
.sev-abpage__reanote-txt { margin: 0; font-family: var(--sev-newsreader); font-size: 16px; line-height: 1.55; color: var(--sev-gris-texte); }
.sev-abpage__reanote-txt a { color: var(--sev-rouge); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.sev-abpage__reanote-txt a:hover { color: var(--sev-rouge-fonce, #B71A13); }

/* Panier vide : on redirige toujours vers le sélecteur (serveur + JS cart-empty.js)
   → on MASQUE l'état « panier vide » générique WooCommerce (titre anglais « Your
   cart is currently empty! » + grille « New in store ») pour éviter tout flash
   pendant la redirection. Le bloc panier requiert JS → pas de cas « sans JS ». */
.wp-block-woocommerce-empty-cart-block { display: none !important; }

/* Mention confidentialité sous le formulaire de contact */
.sev-contact-page__legal { font-family: var(--sev-newsreader); font-size: 14px; line-height: 1.55; color: var(--sev-gris-clair); margin-top: 44px; }
.sev-contact-page__legal a { color: var(--sev-rouge); text-decoration: underline; text-underline-offset: 2px; }
.sev-contact-page__legal a:hover { color: var(--sev-rouge-fonce, #B71A13); }
/* Mobile : les colonnes s'empilent (<=781px) → la carte « Nous joindre » passe
   juste sous cette phrase, on ajoute donc de l'air en-dessous. */
@media (max-width: 781px) { .sev-contact-page__main > .sev-contact-page__legal { margin-bottom: 44px !important; } }

/* Crédit agence, très discret, tout en bas du footer */
.sev-footer__tagline { margin-top: 22px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--sev-jaune); }
.sev-footer__credit { margin-top: 10px; font-family: var(--sev-archivo); font-size: 11px; letter-spacing: 0.02em; color: rgba(250, 247, 241, 0.34); }
.sev-footer__credit a { color: inherit; text-decoration: underline; text-underline-offset: 2px; transition: color .15s ease; }
.sev-footer__credit a:hover { color: var(--sev-jaune); }

/* ============================================================================
   BANDEAU DE CONSENTEMENT COOKIES (.sev-consent) — injecté par consent.js
   ========================================================================== */
.sev-consent { position: fixed; left: 0; right: 0; bottom: 0; z-index: 9999; background: var(--sev-creme); border-top: 3px solid var(--sev-rouge); box-shadow: 0 -8px 30px rgba(20, 18, 15, 0.12); transform: translateY(110%); transition: transform .3s ease; }
.sev-consent.is-visible { transform: translateY(0); }
.sev-consent__inner { max-width: 1240px; margin: 0 auto; padding: 18px clamp(20px, 5vw, 100px); display: flex; align-items: center; gap: 22px 30px; flex-wrap: wrap; }
.sev-consent__text { flex: 1 1 420px; margin: 0; font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.55; color: var(--sev-encre); }
.sev-consent__text a { color: var(--sev-rouge); text-decoration: underline; text-underline-offset: 2px; }
.sev-consent__actions { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.sev-consent__btn { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 14px; letter-spacing: 0.02em; padding: 12px 24px; border-radius: 4px; cursor: pointer; border: 1px solid transparent; transition: background .15s ease, color .15s ease, border-color .15s ease; }
.sev-consent__btn--accept { background: var(--sev-rouge); color: #fff; }
.sev-consent__btn--accept:hover { background: #b41d16; }
.sev-consent__btn--refuse { background: transparent; color: var(--sev-encre); border-color: #B7B0A3; }
.sev-consent__btn--refuse:hover { border-color: var(--sev-encre); }
@media (max-width: 620px) {
	.sev-consent__inner { gap: 14px; }
	.sev-consent__actions { width: 100%; }
	.sev-consent__btn { flex: 1 1 auto; text-align: center; }
}

/* Heures de permanence près du téléphone (retour Gilles) */
.sev-footer__hours { opacity: .7; white-space: nowrap; }
.sev-cinfo__hours { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-clair); margin-top: 2px; }

/* ============================================================================
   ACCUEIL — « Les derniers numéros » en grille (couverture + titre + lien)
   remplace l'ancien accordéon ; sommaire détaillé désormais sur /le-numero/
   (retour Gilles 2026-07-28)
   ========================================================================== */
.sev-num-summary-note { font-family: var(--sev-newsreader); font-style: italic; font-size: 14px; color: var(--sev-gris-clair); margin-top: 14px; }
.sev-dp-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; }
.sev-dp-card__cover { display: block; }
.sev-dp-card__cover img { width: 100%; height: auto; display: block; border-radius: 3px; border-top: 3px solid var(--sev-jaune); box-shadow: 0 14px 30px rgba(20, 18, 15, 0.18); transition: transform .2s ease, box-shadow .2s ease; }
.sev-dp-card__cover:hover img { transform: translateY(-3px); box-shadow: 0 20px 40px rgba(20, 18, 15, 0.24); }
.sev-dp-card__num { font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--sev-rouge); margin: 16px 0 0; }
.sev-dp-card__title { font-family: var(--sev-newsreader); font-weight: 500; font-size: 20px; line-height: 1.22; color: var(--sev-encre); margin: 4px 0 0; }
.sev-dp-card__link { display: inline-block; margin-top: 10px; font-family: var(--sev-archivo); font-weight: 800; font-stretch: 82%; font-size: 12px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--sev-encre); text-decoration: none; border-bottom: 2px solid var(--sev-jaune); padding-bottom: 1px; white-space: nowrap; }
.sev-dp-card__link:hover { color: var(--sev-rouge); }
@media (max-width: 820px) {
	.sev-dp-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
	.sev-dp-card__more { display: none; } /* mobile : « Découvrir → » (évite la flèche orpheline) */
}

/* Page de confirmation : masque « × 1 » (quantité toujours 1 dans le tunnel abo) */
.wc-block-order-confirmation-totals__product .product-quantity { display: none; }

/* Lien d'abonnement chez un relais étranger (Tondeur, Edigroup) : mis en avant
   dans la carte, c'est l'action attendue d'un lecteur belge ou suisse. */
.sev-foreign__line--cta{margin:2px 0 8px}
.sev-foreign__line--cta a{font-weight:700;color:#D8221A;text-decoration:none;border-bottom:1px solid rgba(216,34,26,.35)}
.sev-foreign__line--cta a:hover{border-bottom-color:#D8221A}

/* Le texte sous le surtitre des formules : même style que le chapô des relais,
   mais resserré sur son titre. */
.sev-foreign__lead--fr { margin: 16px 0 26px !important; }

/* Section « Depuis la France… » : même largeur que le bloc relais du dessus, et
   une vraie respiration au-dessus pour marquer le changement de section.
   Les deux marges se chevauchent (marges adjacentes) : c'est la plus grande qui gagne. */
.sev-formules-intro { margin: 90px 0 4px !important; }
