/*
Theme Name: Level Up Press
Theme URI: https://levelup-press.fr/
Author: Level Up Press
Description: Thème du média Level Up Press : l’actualité jeu vidéo et pop culture qui gagne toujours de l’XP ! Brèves, décryptages, enquêtes, tests, TCG, manga, critiques et coups de gueule.
Requires at least: 6.7
Tested up to: 7.1
Requires PHP: 8.0
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: levelup-press
*/

/* =========================================================
   Couleurs : --wp--preset--color--(noir|noir-profond|surface|surface-2|ligne|texte|texte-2|jaune|rouge|blanc)
   Polices  : --wp--preset--font-family--titres (Libre Franklin), --texte (Source Serif 4)
   ========================================================= */

:root {
	--lup-noir: var(--wp--preset--color--noir);
	--lup-profond: var(--wp--preset--color--noir-profond);
	--lup-surface: var(--wp--preset--color--surface);
	--lup-surface-2: var(--wp--preset--color--surface-2);
	--lup-ligne: var(--wp--preset--color--ligne);
	--lup-texte: var(--wp--preset--color--texte);
	--lup-texte-2: var(--wp--preset--color--texte-2);
	--lup-jaune: var(--wp--preset--color--jaune);
	--lup-rouge: var(--wp--preset--color--rouge);
	--lup-titres: var(--wp--preset--font-family--titres);
	--lup-lecture: var(--wp--preset--font-family--texte);
}

/* ---------- Base ---------- */

html { -webkit-text-size-adjust: 100%; }
body { text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
img { height: auto; max-width: 100%; }
:where(a) { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:focus-visible { outline: 2px solid var(--lup-jaune); outline-offset: 2px; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; margin: 0 !important; }
.lup-vide { color: var(--lup-texte-2); font-size: 15px; }
.avatar { background: var(--lup-surface-2); color: transparent; font-size: 0; }

/* ---------- Boutons ---------- */

.wp-element-button, .wp-block-button__link { text-decoration: none; transition: background-color 0.15s, color 0.15s; }
.is-style-lup-contour .wp-block-button__link { background: transparent !important; color: inherit !important; box-shadow: inset 0 0 0 2px currentColor; }
.is-style-lup-contour .wp-block-button__link:hover { background: var(--lup-texte) !important; color: var(--lup-noir) !important; box-shadow: none; }
.lup-encart-jaune .is-style-lup-contour .wp-block-button__link:hover, .lup-soutien-article .is-style-lup-contour .wp-block-button__link:hover { background: var(--lup-noir) !important; color: var(--lup-jaune) !important; }
.is-style-lup-sombre .wp-block-button__link { background: var(--lup-noir) !important; color: var(--lup-texte) !important; }
.is-style-lup-sombre .wp-block-button__link:hover { background: #000 !important; color: #fff !important; }

/* ---------- En-tête ---------- */

.lup-topbar { padding-block: 9px; border-bottom: 2px solid var(--lup-jaune); background: var(--lup-profond); font-size: 13px; }
.lup-topbar p { margin: 0; }
.lup-topbar__signature { color: var(--lup-texte-2); }
.lup-topbar__liens { display: flex; flex-wrap: wrap; gap: 20px; font-weight: 500; }
.lup-topbar a { color: var(--lup-texte); text-decoration: none; }
.lup-topbar a:hover { text-decoration: underline; }

.lup-masthead { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding-block: 24px; }
.lup-masthead > * { margin: 0 !important; }
.lup-masthead > .lup-logo { justify-self: center; }
.lup-masthead__date { color: var(--lup-texte-2); font-size: 14px; }
.lup-masthead__actions { justify-self: end; gap: 12px !important; }

.lup-logo { display: inline-flex; flex-direction: column; gap: 6px; color: var(--lup-texte); text-decoration: none !important; }
.lup-logo__nom { display: flex; gap: 8px; align-items: flex-end; font-family: var(--lup-titres); text-transform: uppercase; line-height: 0.8; }
.lup-logo__level { font-size: 50px; font-weight: 900; letter-spacing: -0.02em; }
.lup-logo__press { padding-bottom: 1px; font-size: 16px; font-weight: 700; letter-spacing: 0.24em; color: var(--lup-jaune); }
.lup-xp { display: flex; align-items: center; color: var(--lup-texte); }
.lup-xp__barre { flex-grow: 1; height: 24px; box-sizing: border-box; padding: 3px; border: 3px solid currentColor; border-right: 0; display: flex; gap: 3px; }
.lup-xp__barre span { flex-grow: 1; background: var(--lup-jaune); }
.lup-xp__barre span.vide { background: var(--lup-surface-2); }
.lup-xp svg { flex-shrink: 0; overflow: visible; }
.lup-logo--petit { gap: 4px; }
.lup-logo--petit .lup-logo__level { font-size: 28px; }
.lup-logo--petit .lup-logo__press { font-size: 10px; }
.lup-logo--petit .lup-xp__barre { height: 14px; padding: 2px; border-width: 2px; gap: 2px; }

.lup-bouton-recherche .wp-block-search__button { width: 44px; height: 44px; padding: 0; margin: 0; display: flex; align-items: center; justify-content: center; border: 1px solid var(--lup-ligne); border-radius: 50%; background: transparent; color: var(--lup-texte); }
.lup-bouton-recherche .wp-block-search__button svg { fill: currentColor; width: 22px; height: 22px; }
.lup-bouton-recherche .wp-block-search__inside-wrapper { border: 0; padding: 0; background: transparent; }
.lup-bouton-recherche .wp-block-search__input { background: var(--lup-surface); color: var(--lup-texte); border: 1px solid var(--lup-ligne); border-radius: 2px; }

.lup-navbar { min-height: 52px; padding-inline: 12px; background: var(--lup-jaune); border-radius: 2px; }
.lup-navbar .wp-block-navigation { font-family: var(--lup-titres); font-size: 14px; font-weight: 800; letter-spacing: 0.05em; text-transform: uppercase; color: var(--wp--preset--color--noir); }
.lup-navbar .wp-block-navigation__container { gap: 6px 26px; }
.lup-navbar .wp-block-navigation a { color: var(--wp--preset--color--noir); text-decoration: none; padding-block: 16px; }
.lup-navbar .wp-block-navigation a:hover, .lup-navbar .current-menu-item > a { text-decoration: underline; text-decoration-thickness: 3px; text-underline-offset: 7px; }
.lup-navbar .wp-block-navigation__responsive-container-open, .lup-navbar .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--noir); }
.lup-navbar .wp-block-navigation__responsive-container.is-menu-open { background: var(--lup-jaune); color: var(--wp--preset--color--noir); padding: 24px; }
.lup-navbar .is-menu-open .wp-block-navigation__container { gap: 4px; font-size: 22px; }

/* ---------- Accueil : rythme des sections ---------- */

.lup-accueil { padding-bottom: 80px; }
.lup-accueil > .lup-pub { margin-block-start: 24px !important; }
.lup-accueil > .lup-section { margin-block-start: 64px !important; }
.lup-accueil > .lup-une { margin-block-start: 28px !important; }
.lup-section > * { margin-block-start: 0; }

.lup-section-titre { display: flex; align-items: baseline; gap: 16px; padding-bottom: 10px; border-bottom: 3px solid var(--lup-jaune); margin-bottom: 24px !important; }
.lup-section-titre > * { margin: 0 !important; }
.lup-section-titre h2 { font-size: 28px; font-weight: 800; letter-spacing: -0.015em; }
.lup-section-titre p { margin-left: auto !important; font-size: 14px; font-weight: 700; white-space: nowrap; }
.lup-section-titre p a { color: var(--lup-jaune); text-decoration: none; }
.lup-section-titre p a:hover { text-decoration: underline; }
.lup-colonne-laterale .lup-section-titre h2 { font-size: 22px; }

.lup-deux-colonnes { display: grid; grid-template-columns: minmax(0, 1fr) 360px; gap: 48px; align-items: start; }
.lup-grille-2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px; align-items: stretch; }
.lup-deux-colonnes > *, .lup-grille-2 > * { margin: 0 !important; }
.lup-colonne-laterale { display: flex; flex-direction: column; gap: 32px; }
.lup-colonne-laterale > * { margin: 0 !important; }
.lup-sticky { position: sticky; top: 24px; }

.wp-block-post-template.is-layout-grid { gap: 32px 24px; }
.wp-block-post-template.is-layout-grid > li { min-width: 0; }
@media (max-width: 900px) and (min-width: 601px) {
	.wp-block-post-template-is-layout-grid.columns-3, .wp-block-post-template-is-layout-grid.columns-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 600px) {
	.wp-block-post-template-is-layout-grid[class*="columns-"] { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ---------- Surtitres, méta ---------- */

.lup-kicker, .lup-kicker a { font-family: var(--lup-titres); font-size: 12px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--lup-jaune); text-decoration: none; }
.lup-kicker a:hover { text-decoration: underline; }
.lup-kicker:empty { display: none; }
.lup-kicker .wp-block-post-terms__separator { color: var(--lup-texte-2); }
.lup-meta, .lup-meta a { font-family: var(--lup-titres); font-size: 13px; color: var(--lup-texte-2); }
.lup-meta a { color: var(--lup-texte); font-weight: 600; text-decoration: none; }
.lup-meta a:hover { text-decoration: underline; }
.lup-meta-ligne { display: flex; flex-wrap: wrap; gap: 6px; align-items: baseline; }
.lup-meta-ligne > * { margin: 0 !important; }
.lup-meta-ligne > * + *::before { content: "·"; margin-right: 6px; color: var(--lup-texte-2); }
.lup-etiquette { margin: 0; padding: 4px 8px; background: var(--lup-jaune); color: var(--wp--preset--color--noir); font-family: var(--lup-titres); font-size: 12px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; border-radius: 2px; }

/* ---------- Vignettes ---------- */

.lup-carte { position: relative; }
.lup-carte > .wp-block-post-featured-image { margin: 0 0 14px; }
.lup-carte .wp-block-post-featured-image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 2px; }
.lup-carte__texte { display: flex; flex-direction: column; gap: 6px; }
.lup-carte__texte > * { margin: 0 !important; }
.lup-carte .wp-block-post-title { font-size: 20px; line-height: 1.22; font-weight: 800; letter-spacing: -0.01em; }
.lup-carte .wp-block-post-title a { color: var(--lup-texte); text-decoration: none; }
.lup-carte .wp-block-post-title a:hover { text-decoration: underline; }
.lup-carte .wp-block-post-excerpt__excerpt { margin: 0; font-family: var(--lup-lecture); font-size: 16px; line-height: 1.5; color: var(--lup-texte-2); }
.lup-carte .wp-block-post-excerpt__more-text { display: none; }
.lup-carte > .lup-note { position: absolute; top: 10px; left: 10px; z-index: 2; margin: 0; }
.lup-note { display: inline-block; padding: 6px 9px; background: var(--lup-jaune); color: var(--wp--preset--color--noir); font-family: var(--lup-titres); font-size: 17px; font-weight: 900; line-height: 1; border-radius: 2px; }
.lup-note:empty { display: none; }

/* Grandes vignettes « À la une » : texte posé sur l'image */
.lup-carte-une { position: relative; overflow: hidden; aspect-ratio: 4 / 3; border-radius: 2px; background: var(--lup-surface-2); }
.lup-carte-une > .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; }
.lup-carte-une > .wp-block-post-featured-image a, .lup-carte-une > .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; border-radius: 0; }
.lup-carte-une > .lup-carte__texte { position: absolute; inset: auto 0 0 0; padding: 96px 22px 22px; background: linear-gradient(180deg, rgba(14, 14, 17, 0) 0%, rgba(14, 14, 17, 0.94) 58%); }
.lup-carte-une .wp-block-post-title { font-size: 24px; line-height: 1.14; font-weight: 800; }
.lup-carte-une .wp-block-post-title a { color: #FFFFFF; }
.lup-carte-une .wp-block-post-title a::after { content: ""; position: absolute; inset: 0; }
.lup-carte-une .lup-kicker, .lup-carte-une .lup-meta { position: relative; z-index: 1; }

/* Liste horizontale */
.lup-liste .wp-block-post { padding-block: 22px; border-top: 1px solid var(--lup-ligne); }
.lup-liste .wp-block-post:last-child { border-bottom: 1px solid var(--lup-ligne); }
.lup-liste .lup-carte { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; }
.lup-liste .lup-carte > .wp-block-post-featured-image { margin: 0; }
.lup-liste .lup-carte .wp-block-post-title { font-size: 25px; line-height: 1.16; }
.lup-liste .lup-carte:not(:has(.wp-block-post-featured-image)) { grid-template-columns: minmax(0, 1fr); }

.lup-liste-compacte .wp-block-post + .wp-block-post { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--lup-ligne); }
.lup-liste-compacte .lup-carte { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 14px; align-items: start; }
.lup-liste-compacte .lup-carte > .wp-block-post-featured-image { margin: 0; }
.lup-liste-compacte .lup-carte .wp-block-post-featured-image img { aspect-ratio: 1; }
.lup-liste-compacte .lup-carte .wp-block-post-title { font-size: 17px; }

/* Le fil */
.lup-fil { padding: 20px; border: 1px solid var(--lup-ligne); background: var(--lup-surface); border-radius: 2px; }
.lup-fil > * { margin: 0 !important; }
.lup-fil__titre { display: flex; flex-direction: column; gap: 4px; margin-bottom: 10px !important; }
.lup-fil__titre > * { margin: 0 !important; }
.lup-fil__titre h2 { font-size: 22px; font-weight: 900; }
.lup-fil__sous-titre { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--lup-texte-2); }
.lup-direct { width: 8px; height: 8px; border-radius: 50%; background: var(--lup-rouge); display: inline-block; }
.lup-fil .wp-block-post { display: flex; gap: 14px; padding-block: 12px; border-top: 1px solid var(--lup-ligne); }
.lup-fil .wp-block-post > * { margin: 0 !important; }
.lup-fil .wp-block-post-date { flex-shrink: 0; width: 46px; font-family: var(--lup-titres); font-size: 13px; font-weight: 800; color: var(--lup-jaune); }
.lup-fil .wp-block-post-title { font-size: 15px; line-height: 1.35; font-weight: 600; letter-spacing: 0; }
.lup-fil .wp-block-post-title a { color: var(--lup-texte); text-decoration: none; }
.lup-fil .wp-block-post-title a:hover { text-decoration: underline; }
.lup-fil__lien { margin-top: 12px !important; font-size: 14px; font-weight: 700; }
.lup-fil__lien a { text-decoration: none; }

/* ---------- Coup de gueule ---------- */

.lup-bandeau-cdg { padding-block: 56px; background: var(--lup-jaune); color: var(--wp--preset--color--noir); }
.lup-bandeau-cdg a { color: var(--wp--preset--color--noir); }
.lup-cdg { display: grid; grid-template-columns: 340px minmax(0, 1fr); gap: 64px; align-items: start; }
.lup-cdg > * { margin: 0 !important; }
.lup-cdg__entete > * { margin: 0 0 14px !important; }
.lup-cdg-titre { font-size: 58px !important; line-height: 0.92 !important; font-weight: 900 !important; letter-spacing: -0.035em !important; color: var(--wp--preset--color--noir) !important; }
.lup-etiquette-opinion { display: inline-block; padding: 3px 8px; border: 2px solid currentColor; font-family: var(--lup-titres); font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.lup-cdg__intro { font-family: var(--lup-lecture); font-size: 18px; line-height: 1.5; }
.lup-cdg__lien a { font-weight: 800; text-decoration: none; }
.lup-cdg__lien a:hover { text-decoration: underline; }
.lup-cdg__liste .wp-block-post { padding-block: 18px; border-top: 2px solid var(--wp--preset--color--noir); }
.lup-cdg__liste .wp-block-post:first-child { padding-top: 0; border-top: 0; }
.lup-cdg__liste .wp-block-post > * { margin: 0 0 8px !important; }
.lup-cdg__liste .wp-block-post-title { font-size: 26px; line-height: 1.12; font-weight: 800; }
.lup-cdg__liste .wp-block-post:first-child .wp-block-post-title { font-size: 40px; line-height: 1.04; font-weight: 900; letter-spacing: -0.02em; }
.lup-cdg__liste .wp-block-post-title a { color: var(--wp--preset--color--noir); text-decoration: none; }
.lup-cdg__liste .wp-block-post-title a:hover { text-decoration: underline; }
.lup-cdg__liste .wp-block-post-excerpt__excerpt { margin: 0; font-family: var(--lup-lecture); font-size: 18px; line-height: 1.5; }
.lup-cdg__liste .wp-block-post:not(:first-child) .wp-block-post-excerpt, .lup-cdg__liste .wp-block-post-excerpt__more-text { display: none; }
.lup-bandeau-cdg .lup-meta, .lup-bandeau-cdg .lup-meta a, .lup-bandeau-cdg .lup-vide { color: var(--wp--preset--color--noir); }

/* ---------- Enquêtes ---------- */

.lup-enquete-une { position: relative; overflow: hidden; aspect-ratio: 21 / 9; min-height: 420px; border-radius: 2px; background: var(--lup-surface-2); }
.lup-enquete-une > .wp-block-post-featured-image { position: absolute; inset: 0; margin: 0; }
.lup-enquete-une > .wp-block-post-featured-image a, .lup-enquete-une > .wp-block-post-featured-image img { display: block; width: 100%; height: 100%; object-fit: cover; aspect-ratio: auto; border-radius: 0; }
.lup-enquete-une > .lup-carte__texte { position: absolute; inset: 0 auto 0 0; width: min(660px, 62%); justify-content: flex-end; gap: 12px; padding: 44px 48px; background: linear-gradient(90deg, rgba(14, 14, 17, 0.97) 0%, rgba(14, 14, 17, 0.82) 65%, rgba(14, 14, 17, 0) 100%); }
.lup-enquete-une .wp-block-post-title { font-size: 42px; line-height: 1.04; font-weight: 900; letter-spacing: -0.025em; }
.lup-enquete-une .wp-block-post-title a { color: #FFFFFF; }
.lup-enquete-une .wp-block-post-excerpt__excerpt { font-size: 18px; color: #D6D6DC; }

.lup-enquetes-suite { margin-top: 32px; }
.lup-enquetes-suite .wp-block-post-template { counter-reset: enquete 1; }
.lup-enquetes-suite .wp-block-post { counter-increment: enquete; padding-top: 16px; border-top: 1px solid var(--lup-ligne); }
.lup-enquetes-suite .wp-block-post::before { content: counter(enquete, decimal-leading-zero); display: block; margin-bottom: 8px; font-family: var(--lup-titres); font-size: 40px; line-height: 0.9; font-weight: 900; color: var(--lup-jaune); }

/* ---------- Bande sombre (podcasts) ---------- */

.lup-bande-sombre { padding-block: 56px; background: var(--lup-surface); border-block: 1px solid var(--lup-ligne); }

/* ---------- Rédaction ---------- */

.lup-redaction__intro { margin: -8px 0 28px !important; color: var(--lup-texte-2); }
.lup-redaction { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px; }
.lup-redaction a { display: flex; flex-direction: column; align-items: center; text-align: center; color: var(--lup-texte); text-decoration: none; }
.lup-redaction img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 3px var(--lup-jaune); }
.lup-redaction strong { margin-top: 16px; font-family: var(--lup-titres); font-size: 17px; font-weight: 800; }
.lup-redaction span { margin-top: 4px; font-size: 14px; color: var(--lup-texte-2); }
.lup-redaction a:hover strong { text-decoration: underline; }

/* ---------- Encarts newsletter / soutien ---------- */

.lup-encart-jaune { padding: 36px; background: var(--lup-jaune); color: var(--wp--preset--color--noir); border-radius: 2px; }
.lup-encart-jaune a:not(.wp-element-button) { color: var(--wp--preset--color--noir); }
.lup-encart-sombre { padding: 36px; background: var(--lup-surface); border: 1px solid var(--lup-ligne); border-radius: 2px; }
.lup-encart-jaune > *, .lup-encart-sombre > * { margin: 0 0 14px !important; }
.lup-encart-jaune > *:last-child, .lup-encart-sombre > *:last-child { margin-bottom: 0 !important; }
.lup-encart-jaune h2, .lup-encart-sombre h2 { font-size: 32px; line-height: 1.08; font-weight: 900; letter-spacing: -0.02em; }
.lup-encart-jaune h2, .lup-encart-jaune h3 { color: var(--wp--preset--color--noir); }
.lup-encart__surtitre { font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }
.lup-encart-sombre .lup-encart__surtitre { color: var(--lup-jaune); }
.lup-encart-jaune--mini { padding: 24px; }
.lup-encart-jaune--mini h3 { font-size: 22px; line-height: 1.15; font-weight: 900; }
.lup-newsletter input[type="email"], .lup-newsletter input[type="text"] { width: 100%; box-sizing: border-box; padding: 13px 14px; border: 0; border-radius: 2px; background: #FFFFFF; color: var(--wp--preset--color--noir); font-size: 16px; }
.lup-newsletter input[type="submit"], .lup-newsletter button { padding: 13px 22px; border: 0; border-radius: 2px; background: var(--wp--preset--color--noir); color: #FFFFFF; font-family: var(--lup-titres); font-weight: 700; cursor: pointer; }
.lup-google-news { margin: 0; }
.lup-google-news a { display: block; padding: 13px 16px; border: 1px solid var(--lup-ligne); border-radius: 2px; text-align: center; font-weight: 700; font-size: 14px; color: var(--lup-texte); text-decoration: none; }
.lup-google-news a:hover { border-color: var(--lup-jaune); }

/* ---------- Article : en-tête ---------- */

.lup-article { padding-bottom: 80px; }
.lup-article-entete { padding-block: 36px 28px; }
.lup-article-entete > * { margin-block: 0 !important; }
.lup-article-entete > * + * { margin-block-start: 16px !important; }
.lup-fil-ariane, .lup-fil-ariane a { font-family: var(--lup-titres); font-size: 13px; color: var(--lup-texte-2); text-decoration: none; }
.lup-fil-ariane a:hover { text-decoration: underline; }
.lup-fil-ariane p { margin: 0; }
.lup-article-surtitre { gap: 12px !important; align-items: center; }
.lup-article-surtitre > * { margin: 0 !important; }
.lup-temps { margin: 0; }
.lup-article-entete .wp-block-post-title, .lup-enquete-hero .wp-block-post-title { max-width: 1060px; font-size: clamp(34px, 4.6vw, 58px); line-height: 1.05; font-weight: 900; letter-spacing: -0.028em; }
.lup-chapo { max-width: 860px; margin: 0; font-family: var(--lup-lecture); font-size: clamp(19px, 2vw, 22px); line-height: 1.45; color: #D6D6DC; }

.lup-signature { display: flex; flex-wrap: wrap; gap: 14px 24px; align-items: center; justify-content: space-between; padding-block: 16px; border-top: 1px solid var(--lup-ligne); border-bottom: 1px solid var(--lup-ligne); }
.lup-signature__auteur { display: flex; gap: 14px; align-items: center; }
.lup-signature img { width: 48px; height: 48px; border-radius: 50%; box-shadow: 0 0 0 2px var(--lup-jaune); }
.lup-signature__photos { display: flex; flex-shrink: 0; }
.lup-signature__photos img + img { margin-left: -12px; }
.lup-signature p { margin: 0; }
.lup-signature__nom { font-family: var(--lup-titres); font-size: 15px; font-weight: 600; }
.lup-signature__nom a { color: var(--lup-jaune); }
.lup-signature__poste { color: var(--lup-texte-2); font-weight: 500; }
.lup-signature__dates { margin-top: 3px !important; font-family: var(--lup-titres); font-size: 13px; color: var(--lup-texte-2); }
.lup-partage { display: flex; flex-wrap: wrap; gap: 14px; font-family: var(--lup-titres); font-size: 13px; color: var(--lup-texte-2); }
.lup-partage a { color: var(--lup-texte); font-weight: 600; text-decoration: none; }
.lup-partage a:hover { color: var(--lup-jaune); }

.lup-bandeau-opinion { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; padding: 14px 18px; background: var(--lup-jaune); color: var(--wp--preset--color--noir); font-family: var(--lup-titres); font-size: 15px; font-weight: 600; border-radius: 2px; }
.lup-bandeau-opinion strong { padding: 2px 8px; border: 2px solid currentColor; font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; }

/* ---------- Article : corps ---------- */

.lup-grille-article { display: grid; grid-template-columns: minmax(0, 760px) 340px; gap: 72px; justify-content: space-between; align-items: start; }
.lup-grille-article > *, .lup-grille-enquete > * { margin: 0 !important; }
.lup-colonne-principale > * { margin-block: 0 !important; }
.lup-colonne-principale > * + * { margin-block-start: 36px !important; }
.lup-image-une { margin: 0; }
.lup-image-une img { display: block; width: 100%; border-radius: 2px; }

.lup-corps { font-family: var(--lup-lecture); font-size: 19px; line-height: 1.7; color: #E4E4E8; }
.lup-corps > * { margin-block: 0 !important; }
.lup-corps > * + * { margin-block-start: 1.1em !important; }
.lup-corps h2 { margin-block-start: 1.9em !important; font-family: var(--lup-titres); font-size: 30px; line-height: 1.15; font-weight: 800; letter-spacing: -0.015em; color: var(--lup-texte); }
.lup-corps h3 { margin-block-start: 1.6em !important; font-family: var(--lup-titres); font-size: 22px; line-height: 1.25; font-weight: 800; }
.lup-corps a { color: var(--lup-jaune); }
.lup-corps strong { color: var(--lup-texte); }
.lup-corps ul, .lup-corps ol { padding-left: 1.2em; }
.lup-corps li + li { margin-top: 0.35em; }
.lup-corps figure { margin-inline: 0; }
.lup-corps figcaption, .lup-corps .wp-element-caption { margin-top: 10px; font-family: var(--lup-titres); font-size: 13px; line-height: 1.45; color: var(--lup-texte-2); }
.lup-corps img { border-radius: 2px; }
.lup-corps .wp-block-embed, .lup-corps .wp-block-video { margin-block: 2em !important; }
.lup-corps blockquote.wp-block-quote { margin-block: 2em !important; margin-inline: 0; padding: 24px 0 0; border-left: 0; border-top: 3px solid var(--lup-jaune); }
.lup-corps blockquote.wp-block-quote p { font-family: var(--lup-titres); font-size: 28px; line-height: 1.22; font-weight: 800; letter-spacing: -0.015em; color: var(--lup-texte); }
.lup-corps blockquote.wp-block-quote cite { display: block; margin-top: 10px; font-family: var(--lup-titres); font-size: 14px; font-style: normal; color: var(--lup-texte-2); }
.lup-corps .wp-block-pullquote { padding: 28px 0 0; border: 0; border-top: 3px solid var(--lup-jaune); text-align: left; }
.lup-corps .wp-block-pullquote p { font-family: var(--lup-titres); font-size: 32px; line-height: 1.15; font-weight: 800; }
.lup-corps .lup-pub--article { margin-block: 2em !important; }

/* Lettrine des enquêtes */
.lup-enquete .lup-corps > p:first-child::first-letter,
.lup-enquete .lup-corps > .lup-encadre:first-child + p::first-letter { float: left; padding: 6px 12px 0 0; font-family: var(--lup-titres); font-size: 5.2em; line-height: 0.82; font-weight: 900; color: var(--lup-jaune); }

.lup-sujets { font-family: var(--lup-titres); font-size: 14px; color: var(--lup-texte-2); }
.lup-sujets a { color: var(--lup-texte); text-decoration: none; }
.lup-sujets a:hover { color: var(--lup-jaune); }

/* ---------- Encadrés éditoriaux ---------- */

.lup-encadre { padding: 22px 26px; border: 1px solid var(--lup-ligne); background: var(--lup-surface); border-radius: 2px; font-family: var(--lup-titres); font-size: 16px; line-height: 1.55; color: var(--lup-texte); }
.lup-corps .lup-encadre, .lup-corps .lup-verdict, .lup-corps .lup-sources { margin-block: 2em !important; }
.lup-encadre > * { margin: 0 !important; }
.lup-encadre > * + * { margin-top: 10px !important; }
.lup-encadre--accent { border: 2px solid var(--lup-jaune); }
.lup-encadre--clair { border: 2px solid var(--lup-texte); background: transparent; }
.lup-encadre__titre { font-family: var(--lup-titres); font-size: 13px !important; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--lup-jaune); }
.lup-encadre__source { font-size: 13px; color: var(--lup-texte-2); }
.lup-encadre ul, .lup-encadre ol { padding-left: 1.1em; }
.lup-encadre li + li { margin-top: 6px; }
.lup-encadre .wp-block-table { margin: 0; }
.lup-encadre table { width: 100%; border-collapse: collapse; font-size: 15px; }
.lup-encadre td { padding: 9px 0; border: 0; border-bottom: 1px solid var(--lup-ligne); vertical-align: top; }
.lup-encadre td:first-child { width: 36%; padding-right: 16px; color: var(--lup-texte-2); }
.lup-encadre tr:last-child td { border-bottom: 0; }
.lup-nota strong { display: inline-block; margin-right: 10px; padding: 2px 7px; background: var(--lup-texte); color: var(--lup-noir); font-size: 12px; letter-spacing: 0.08em; text-transform: uppercase; }
.lup-maj strong { color: var(--lup-jaune); }

.lup-verdict { padding: 30px; border: 2px solid var(--lup-jaune); background: var(--lup-surface); border-radius: 2px; font-family: var(--lup-titres); font-size: 16px; line-height: 1.55; color: var(--lup-texte); }
.lup-verdict > * { margin: 0 !important; }
.lup-verdict__haut { display: flex; gap: 28px; align-items: center; }
.lup-verdict__haut > * { margin: 0 !important; }
.lup-verdict__note { flex-shrink: 0; display: flex; align-items: center; justify-content: center; min-width: 120px; height: 120px; padding: 0 16px; box-sizing: border-box; background: var(--lup-jaune); color: var(--wp--preset--color--noir); font-size: 40px; font-weight: 900; letter-spacing: -0.03em; line-height: 1; border-radius: 2px; }
.lup-verdict__note:empty { display: none; }
.lup-verdict__texte > * { margin: 0 !important; }
.lup-verdict__texte > * + * { margin-top: 8px !important; }
.lup-verdict__plus-moins { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; margin-top: 24px !important; padding-top: 20px; border-top: 1px solid var(--lup-ligne); font-size: 15px; }
.lup-verdict__plus-moins > * { margin: 0 !important; }
.lup-verdict__plus-moins ul { margin: 8px 0 0; padding-left: 1.1em; }
.lup-verdict__plus, .lup-verdict__moins { margin: 0; font-size: 13px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; }
.lup-verdict__plus { color: var(--lup-jaune); }
.lup-verdict__moins { color: var(--lup-texte-2); }

.lup-chapitre { margin-block-start: 2.4em !important; }
.lup-chapitre > * { margin: 0 !important; }
.lup-chapitre__numero { font-family: var(--lup-titres); font-size: 80px; line-height: 0.85; font-weight: 900; color: var(--lup-jaune); }
.lup-corps .lup-chapitre h2 { margin-top: 10px !important; font-size: 36px; line-height: 1.06; font-weight: 900; letter-spacing: -0.02em; }

.lup-chiffres { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lup-chiffres > * { margin: 0 !important; font-size: 15px; line-height: 1.4; color: var(--lup-texte-2); }
.lup-chiffres strong { display: block; margin-bottom: 6px; font-size: 42px; line-height: 1; font-weight: 900; color: var(--lup-jaune); }

.lup-sources { padding-top: 16px; border-top: 1px solid var(--lup-ligne); font-family: var(--lup-titres); font-size: 15px; line-height: 1.5; color: var(--lup-texte-2); }
.lup-sources > * { margin: 0 !important; }
.lup-sources ol { margin-top: 10px !important; padding-left: 1.3em; }

.lup-reponse .wp-block-buttons { margin-top: 14px !important; }

.lup-sommaire { padding: 22px; border: 1px solid var(--lup-ligne); background: var(--lup-surface); border-radius: 2px; font-family: var(--lup-titres); font-size: 15px; }
.lup-sommaire p { margin: 0; }
.lup-sommaire ol { margin: 10px 0 0; padding-left: 1.3em; }
.lup-sommaire li { padding-block: 8px; border-top: 1px solid var(--lup-ligne); }
.lup-sommaire a { color: var(--lup-texte); text-decoration: none; }
.lup-sommaire a:hover { color: var(--lup-jaune); }

.lup-encadre-auteur + .lup-encadre-auteur { margin-top: 16px; }
.lup-encadre-auteur { display: flex; gap: 20px; align-items: flex-start; padding: 24px; border: 1px solid var(--lup-ligne); background: var(--lup-surface); border-radius: 2px; font-family: var(--lup-titres); }
.lup-encadre-auteur img { width: 72px; height: 72px; border-radius: 50%; box-shadow: 0 0 0 3px var(--lup-jaune); }
.lup-encadre-auteur p { margin: 8px 0 0; font-size: 15px; line-height: 1.55; }
.lup-encadre-auteur__nom { font-size: 20px; font-weight: 800; color: var(--lup-texte); text-decoration: none; }
.lup-encadre-auteur__nom:hover { text-decoration: underline; }
.lup-encadre-auteur .lup-encadre-auteur__poste { margin-top: 2px; font-size: 14px; color: var(--lup-texte-2); }
.lup-encadre-auteur__liens { display: flex; flex-wrap: wrap; gap: 16px; font-size: 14px !important; font-weight: 700; }
.lup-encadre-auteur__liens a { color: var(--lup-jaune); text-decoration: none; }

.lup-soutien-article { display: flex; gap: 24px; align-items: center; padding: 28px 32px; background: var(--lup-jaune); color: var(--wp--preset--color--noir); border-radius: 2px; font-family: var(--lup-titres); }
.lup-soutien-article > * { margin: 0 !important; }
.lup-soutien-article__texte > * { margin: 0 !important; }
.lup-soutien-article h3 { margin-bottom: 6px !important; font-size: 24px; font-weight: 900; letter-spacing: -0.015em; color: var(--wp--preset--color--noir); }
.lup-soutien-article p { font-size: 15px; }
.lup-soutien-article .wp-block-buttons { flex-shrink: 0; }

/* Articles liés */
.lup-lies { margin-top: 72px; }
.lup-lies__grille { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.lup-lies .lup-carte { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lup-lies .lup-carte > * { margin: 0; min-width: 0; }
.lup-carte__image { display: block; }
.lup-carte__image img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 2px; margin-bottom: 8px; }
.lup-lies h3 { font-size: 20px; line-height: 1.22; }
.lup-lies h3 a { color: var(--lup-texte); text-decoration: none; }
.lup-lies h3 a:hover { text-decoration: underline; }

/* ---------- Enquête longue ---------- */

.lup-enquete-hero { position: relative; display: flex; align-items: flex-end; min-height: 640px; overflow: hidden; background: var(--lup-surface-2); }
.lup-enquete-hero > .lup-enquete-hero__image { position: absolute; inset: 0; max-width: none !important; margin: 0 !important; }
.lup-enquete-hero__image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.lup-enquete-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, rgba(14, 14, 17, 0.1) 0%, rgba(14, 14, 17, 0.88) 60%, var(--lup-noir) 100%); pointer-events: none; }
.lup-enquete-hero__texte { position: relative; z-index: 1; width: 100%; padding-block: 56px 40px; }
.lup-enquete-hero__texte > * { margin-block: 0 !important; }
.lup-enquete-hero__texte > * + * { margin-block-start: 16px !important; }
.lup-enquete-hero .wp-block-post-title { font-size: clamp(38px, 5.4vw, 74px); color: #FFFFFF; }
.lup-grille-enquete { display: grid; grid-template-columns: 260px minmax(0, 760px); gap: 80px; margin-top: 48px !important; }

/* ---------- Page journaliste ---------- */

.lup-profil { display: grid; grid-template-columns: 200px minmax(0, 1fr) 300px; gap: 48px; align-items: start; padding-block: 48px 56px; }
.lup-profil p { margin: 0; }
.lup-profil__photo img { width: 200px; height: 200px; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 4px var(--lup-jaune); }
.lup-profil__poste { font-family: var(--lup-titres); font-size: 13px; font-weight: 800; letter-spacing: 0.09em; text-transform: uppercase; color: var(--lup-jaune); }
.lup-profil h1 { margin: 8px 0 16px; font-size: clamp(40px, 5vw, 64px); line-height: 0.98; font-weight: 900; letter-spacing: -0.03em; }
.lup-profil__bio { max-width: 680px; font-family: var(--lup-lecture); font-size: 19px; line-height: 1.6; color: #D6D6DC; }
.lup-profil__bio p + p { margin-top: 0.8em; }
.lup-profil__specialites { margin-top: 16px !important; font-size: 15px; }
.lup-profil__specialites span { color: var(--lup-texte-2); }
.lup-profil__liens { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 20px !important; }
.lup-profil__liens a { padding: 10px 16px; border: 1px solid var(--lup-ligne); border-radius: 2px; color: var(--lup-texte); font-family: var(--lup-titres); font-size: 14px; font-weight: 700; text-decoration: none; }
.lup-profil__liens a:hover { border-color: var(--lup-jaune); }
.lup-profil__bref { padding: 20px 22px; border: 1px solid var(--lup-ligne); background: var(--lup-surface); font-family: var(--lup-titres); font-size: 15px; border-radius: 2px; }
.lup-profil__bref div { display: flex; justify-content: space-between; gap: 16px; padding-block: 10px; border-top: 1px solid var(--lup-ligne); }
.lup-profil__bref div span { color: var(--lup-texte-2); }
.lup-profil__interets { margin-top: 12px !important; font-size: 14px; line-height: 1.5; color: var(--lup-texte-2); }
.lup-profil__interets strong { color: var(--lup-texte); }

/* ---------- Pages, archives, recherche ---------- */

.lup-page { padding-block: 48px 80px; }
.lup-page__titre { font-size: clamp(36px, 4vw, 52px); font-weight: 900; letter-spacing: -0.025em; }
.lup-archive { padding-bottom: 80px; }
.lup-archive-entete { padding-block: 40px 16px; }
.lup-archive-entete > * { margin-block: 0 !important; }
.lup-archive-entete > * + * { margin-block-start: 14px !important; }
.lup-archive-entete .wp-block-query-title, .lup-archive-entete h1 { font-size: clamp(40px, 5vw, 60px); line-height: 1; font-weight: 900; letter-spacing: -0.03em; }
.lup-archive-entete .wp-block-term-description { max-width: 760px; font-family: var(--lup-lecture); font-size: 19px; line-height: 1.55; color: #D6D6DC; }
.lup-archive-entete .wp-block-term-description p { margin: 0; }
.wp-block-query-pagination { margin-top: 40px !important; font-family: var(--lup-titres); font-weight: 700; gap: 16px; }
.wp-block-query-pagination a { color: var(--lup-texte); text-decoration: none; }
.wp-block-query-pagination .current { color: var(--lup-jaune); }
.lup-recherche-page .wp-block-search__input { padding: 13px 14px; background: var(--lup-surface); color: var(--lup-texte); border: 1px solid var(--lup-ligne); border-radius: 2px; }
.lup-recherche-page .wp-block-search__button { margin-left: 8px; }
.lup-404__code { margin: 0; font-family: var(--lup-titres); font-size: 120px; line-height: 1; font-weight: 900; color: var(--lup-jaune); }

/* ---------- Publicité ---------- */

.lup-pub { display: flex; flex-direction: column; align-items: center; justify-content: flex-start; margin-inline: auto; }
.lup-pub::before { content: "Publicité"; margin-bottom: 6px; font-family: var(--lup-titres); font-size: 10px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--lup-texte-2); }
.lup-pub--banniere { width: 100%; max-width: 970px; min-height: 112px; }
.lup-pub--pave { width: 300px; min-height: 272px; }
.lup-pub--grand-pave { width: 300px; min-height: 622px; position: sticky; top: 24px; }
.lup-pub--article { width: 100%; min-height: 272px; }
.lup-pub__apercu { flex-grow: 1; width: 100%; display: flex; align-items: center; justify-content: center; padding: 12px; box-sizing: border-box; border: 1px dashed var(--lup-ligne); color: var(--lup-texte-2); font-family: var(--lup-titres); font-size: 12px; text-align: center; }

/* ---------- Pied de page ---------- */

.lup-footer { padding-block: 56px 28px; border-top: 3px solid var(--lup-jaune); background: var(--lup-profond); }
.lup-footer a { color: var(--lup-texte); text-decoration: none; }
.lup-footer a:hover { text-decoration: underline; }
.lup-footer__colonnes { display: grid; grid-template-columns: 1.5fr repeat(4, 1fr); gap: 40px; margin-bottom: 40px !important; }
.lup-footer__colonnes > * { margin: 0 !important; }
.lup-footer__colonnes > * > * { margin: 0 0 12px !important; }
.lup-footer__marque p { font-size: 15px; line-height: 1.5; color: var(--lup-texte-2); }
.lup-footer__marque .lup-devise { font-weight: 700; color: var(--lup-texte); }
.lup-footer__colonnes h3 { font-size: 12px; font-weight: 800; letter-spacing: 0.1em; text-transform: uppercase; color: var(--lup-jaune); }
.lup-footer__colonnes ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; font-size: 15px; }
.lup-reseaux { display: flex; flex-wrap: wrap; gap: 8px; }
.lup-reseaux a { padding: 8px 12px; border: 1px solid var(--lup-ligne); border-radius: 2px; font-size: 14px; }
.lup-footer__bas { padding-top: 22px; border-top: 1px solid var(--lup-ligne); font-size: 13px; color: var(--lup-texte-2); }
.lup-footer__bas p { margin: 0; }
.lup-footer__legal { display: flex; flex-wrap: wrap; gap: 20px; }

/* ---------- Écrans moyens ---------- */

@media (max-width: 1100px) {
	.lup-grille-article, .lup-grille-enquete, .lup-deux-colonnes { grid-template-columns: minmax(0, 1fr); gap: 48px; }
	.lup-grille-enquete .lup-colonne-laterale { order: 2; }
	.lup-sticky, .lup-pub--grand-pave { position: static; }
	.lup-cdg { grid-template-columns: minmax(0, 1fr); gap: 32px; }
	.lup-profil { grid-template-columns: 160px minmax(0, 1fr); }
	.lup-profil__bref { grid-column: 1 / -1; }
	.lup-profil__photo img { width: 160px; height: 160px; }
	.lup-redaction { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.lup-footer__colonnes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lup-footer__marque { grid-column: 1 / -1; }
	.lup-enquete-une > .lup-carte__texte { width: 75%; }
}

/* ---------- Téléphones ---------- */

@media (max-width: 781px) {
	.lup-topbar__signature { display: none; }
	.lup-masthead { grid-template-columns: minmax(0, 1fr) auto; padding-block: 16px; }
	.lup-masthead__date { display: none; }
	.lup-masthead > .lup-logo { justify-self: start; zoom: 0.66; }
	.lup-masthead__actions .wp-block-buttons { display: none; }
	.lup-accueil > .lup-section { margin-block-start: 48px !important; }
	.lup-grille-2, .lup-lies__grille, .lup-chiffres, .lup-verdict__plus-moins { grid-template-columns: minmax(0, 1fr); }
	.lup-liste .lup-carte { grid-template-columns: minmax(0, 1fr); gap: 12px; }
	.lup-liste .lup-carte .wp-block-post-title { font-size: 21px; }
	.lup-carte-une { aspect-ratio: 4 / 3.2; }
	.lup-enquete-une { aspect-ratio: auto; min-height: 0; }
	.lup-enquete-une > .wp-block-post-featured-image { position: static; }
	.lup-enquete-une > .wp-block-post-featured-image img { aspect-ratio: 16 / 9; height: auto; }
	.lup-enquete-une > .lup-carte__texte { position: static; width: auto; padding: 22px; background: var(--lup-surface); }
	.lup-enquete-une .wp-block-post-title { font-size: 28px; }
	.lup-cdg-titre { font-size: 42px !important; }
	.lup-cdg__liste .wp-block-post:first-child .wp-block-post-title { font-size: 30px; }
	.lup-verdict__haut, .lup-soutien-article, .lup-encadre-auteur { flex-direction: column; align-items: flex-start; }
	.lup-redaction { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.lup-profil { grid-template-columns: minmax(0, 1fr); }
	.lup-enquete-hero { min-height: 520px; }
	.lup-corps { font-size: 18px; }
	.lup-corps h2 { font-size: 26px; }
	.lup-pub--banniere { max-width: 320px; min-height: 122px; }
	.lup-footer__colonnes { grid-template-columns: minmax(0, 1fr); }
}
