/**
 * 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
 * ================================================================== */
.sev-header {
	position: sticky;
	top: 0;
	z-index: 60;
	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; }
.sev-header__brand { align-items: center; }
.sev-header__actions { align-items: center; }
.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;
}
/* 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 (texte) */
.sev-footer__social a { font-family: var(--sev-archivo); font-weight: 600; font-size: 14px; color: var(--sev-encre); text-decoration: none; margin-right: 16px; }
.sev-footer__social a:hover { color: var(--sev-rouge); }

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

/* ================================================================== *
 * 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 img { width: 100%; border: 1px solid var(--sev-filet); }

/* 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; }

/* 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; }
.sev-carousel {
	display: flex;
	gap: 36px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	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;
	width: 380px;
	flex: none;
	scroll-snap-align: start;
}
.sev-carousel__item 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__num {
	font-family: var(--sev-archivo);
	font-weight: 900;
	font-stretch: 72%;
	font-size: 52px;
	line-height: 1;
	color: var(--sev-rouge);
	display: block;
}
.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-creme);
	border-radius: 4px;
	padding: 32px 30px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	height: 100%;
	position: relative;
}
.sev-formule--dark { background: var(--sev-encre); color: var(--sev-creme-sombre); }
.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-jaune); }
.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-papier); }
.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: var(--sev-gris-clair); }
.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-creme-sombre); }
.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); }
.sev-abo-note .sev-underline { border-bottom: 1px solid var(--sev-texte, #33302A); }

/* ================================================================== *
 * PIED DE PAGE
 * ================================================================== */
.sev-footer { background: var(--sev-papier); border-top: 2px solid var(--sev-encre); padding-block: 56px 44px; }
.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: 24px; width: auto; }
.sev-footer__legal-line { font-size: 12px; }
.sev-footer .wp-block-site-logo img { height: 24px; width: auto; }
.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-rouge);
	margin: 0;
}
.sev-footer a { font-family: var(--sev-archivo); font-weight: 600; font-size: 14px; color: var(--sev-encre); text-decoration: none; }
.sev-footer a:hover { color: var(--sev-rouge); }
.sev-footer__legal { border-top: 1px solid var(--sev-filet); padding-top: 18px; font-family: var(--sev-archivo); font-size: 12px; color: var(--sev-gris-clair); }
.sev-footer__legal a { font-size: 12px; font-weight: 400; color: inherit; }
.sev-footer__desc { font-family: var(--sev-newsreader); font-size: 15px; line-height: 1.55; color: var(--sev-gris-texte); }
.sev-footer__contact { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-texte); }
.sev-footer__addr { font-family: var(--sev-archivo); font-size: 13px; line-height: 1.5; color: var(--sev-gris-clair); }
.sev-footer__note { font-family: var(--sev-archivo); font-size: 12px; color: var(--sev-gris-clair); }
.sev-footer__titre--mt { margin-top: 8px; }

/* 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; }
.sev-deja-parus { background: var(--sev-encre); padding-block: 64px 72px; }
.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-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 img { height: 40px; width: auto; }
.sev-footer .wp-block-image img { height: 24px; width: auto; }

/* 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) — encre, hover rouge */
.sev-footer .wp-block-social-links .wp-social-link { background: transparent; color: var(--sev-encre); }
.sev-footer .wp-block-social-links .wp-social-link:hover { color: var(--sev-rouge); }

/* Bouton newsletter (pied de page) */
.sev-news-btn .wp-block-button__link { background: var(--sev-encre); color: var(--sev-papier); border-radius: 2px; }
.sev-news-btn .wp-block-button__link:hover { background: #33302A; }

/* ================================================================== *
 * 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) */
.sev-compare { margin: 0; }
.sev-compare table { border-collapse: collapse; width: 100%; font-family: var(--sev-archivo); }
.sev-compare td, .sev-compare th { padding: 14px 0; border-bottom: 1px solid var(--sev-filet); text-align: left; font-size: 14px; color: var(--sev-texte); vertical-align: baseline; }
.sev-compare tbody td:first-child { font-weight: 600; }
.sev-compare thead th { font-weight: 800; font-stretch: 82%; text-transform: uppercase; letter-spacing: 0.06em; font-size: 12px; }
.sev-compare thead th:last-child { color: var(--sev-rouge); }
.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; }

/* FAQ (accordéon natif <details>) */
.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 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); }

/* CTA final + carte contact */
.sev-cta { background: var(--sev-encre); padding-block: 56px; }
.sev-cta__t { font-family: var(--sev-newsreader); font-weight: 600; font-size: 32px; line-height: 1.15; color: var(--sev-papier); text-align: center; text-wrap: balance; margin: 0; }
.sev-cta__btn .wp-block-button__link { font-size: 15px; padding: 17px 34px; }
.sev-contact { background: var(--sev-papier); padding-block: 44px; }
.sev-contact__card { background: #fff; border: 1px solid var(--sev-filet); border-radius: 4px; padding: 30px 60px; display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; }
.sev-contact__card p { margin: 0; }
.sev-contact__eyebrow { 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-contact__num { font-family: var(--sev-archivo); font-weight: 900; font-stretch: 78%; font-size: 30px; color: var(--sev-encre); }
.sev-contact__small { font-family: var(--sev-archivo); font-size: 13px; color: var(--sev-gris-clair); }
.sev-contact__mail { font-family: var(--sev-newsreader); font-size: 15px; color: var(--sev-gris-texte); }

/* ================================================================== *
 * RESPONSIVE — bascule mobile (< 900 px)
 * ================================================================== */
@media (max-width: 900px) {
	/* 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; }
	.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__item { width: 164px; }
	.sev-carousel { gap: 14px; }
	.sev-stat__num { font-size: 40px; }
	.sev-cover-figure::before { top: 14px; left: 14px; right: -14px; bottom: -14px; }
}
