:root{--unv-ink:#111111;--unv-paper:#ffffff;--unv-red:#E2001A;--unv-grey:#6b6b6b;--unv-line:#e6e6e6;}
/* Inter self-hosted */
@font-face{font-family:'Inter';font-weight:400;font-style:normal;font-display:swap;src:url('/wp-content/uploads/fonts/inter-400.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:500;font-style:normal;font-display:swap;src:url('/wp-content/uploads/fonts/inter-500.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:600;font-style:normal;font-display:swap;src:url('/wp-content/uploads/fonts/inter-600.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:700;font-style:normal;font-display:swap;src:url('/wp-content/uploads/fonts/inter-700.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:800;font-style:normal;font-display:swap;src:url('/wp-content/uploads/fonts/inter-800.woff2') format('woff2');}
@font-face{font-family:'Inter';font-weight:900;font-style:normal;font-display:swap;src:url('/wp-content/uploads/fonts/inter-900.woff2') format('woff2');}
/* Base */
body,p,li,.wp-block-post-content,.entry-content,input,button,.wp-block-button__link,.unv-nblm-btn{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Helvetica Neue',Helvetica,Arial,sans-serif !important;}
body{color:var(--unv-ink);background:var(--unv-paper);font-size:1rem;line-height:1.6;letter-spacing:-0.003em;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;}
/* Headings: Swiss, fine weight, tight, air above */
h1,h2,h3,h4,h5,h6,.wp-block-heading,.wp-block-post-title,.wp-block-query-title{font-family:'Inter',sans-serif !important;font-weight:500 !important;line-height:1.06;letter-spacing:-0.02em;color:var(--unv-ink);}
.wp-block-post-title,h1{font-weight:600 !important;font-size:clamp(2.3rem,1.3rem+3.2vw,3.8rem);}
h2,.wp-block-heading{font-size:clamp(1.7rem,1.1rem+2vw,2.5rem);margin-top:2rem;}
h3{font-size:1.45rem;margin-top:3rem;}
.wp-block-site-title,.wp-block-site-title a{font-weight:900 !important;text-transform:uppercase;letter-spacing:-0.03em;}
/* Links */
a{color:var(--unv-red);text-decoration:none;}
a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
.wp-block-post-title a{color:inherit;}
.wp-block-post-title a:hover{color:var(--unv-red);}
/* Meta / labels */
.wp-block-post-terms,.wp-block-post-date,.wp-block-categories,.wp-block-post-author{font-size:.74rem !important;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--unv-grey);}
.wp-block-post-terms a,.wp-block-categories a{color:var(--unv-red);}
/* Article : le conteneur de contenu (alignfull) prend TOUTE la largeur dispo (padding has-global-padding conservé),
   au lieu d'être plafonné à un content-size étroit. Les enfants remplissent aussi la largeur. */
.wp-block-post-content{max-width:none;}
.wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright)){max-width:none !important;}
/* Article (single post) — Étape 1 : plafonner la colonne de lecture à content-size (= largeur du titre) ;
   la cover (featured-image, bloc séparé alignwide) reste large. */
.single-post .wp-block-post-content.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)){max-width:var(--wp--style--global--content-size) !important;}
/* Étape 2 : CENTRER le bloc de lecture (eyebrow, titre, méta, contenu) dans la colonne article (margin auto
   des deux côtés). Scopé à la 1re colonne : la sidebar (2e colonne) reste intacte ; la cover (alignwide) reste large. */
.single-post main .wp-block-columns > .wp-block-column:first-child .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)){margin-left:auto !important;margin-right:auto !important;}
/* Article (single post) : cover collée au bas du bloc titre — pas de marge au-dessus de l'image de couverture. */
.single-post .wp-block-post-featured-image{margin-top:0 !important;}
/* Article (single post) : le TITRE prend toute la largeur disponible (colonne), pas de plafond content-size.
   Il faut aussi dé-limiter son conteneur (groupe d'en-tête capé à content-size par le layout contraint).
   L'eyebrow et la méta (autres enfants du groupe) restent à 680 centrés. */
.single-post .wp-block-post-title{max-width:none !important;}
.single-post .wp-block-group:has(> .wp-block-post-title){max-width:none !important;}
/* Cartes cover d'articles (is-style-image-shine / -2) : remplace l'effet "shine" au survol par un CADRE bordure.
   Inactif : bordure rouge 0% (transparent) ; survol : bordure 10px rouge 100% (--unv-red). box-border → pas de reflow ; shine désactivé. */
.wp-block-post-featured-image.is-style-image-shine,
.wp-block-post-featured-image.is-style-image-shine-2{box-sizing:border-box;border:0 solid rgba(226,0,26,0);transition:border-width .25s ease,border-color .25s ease;}
.wp-block-post-featured-image.is-style-image-shine:hover,
.wp-block-post-featured-image.is-style-image-shine-2:hover{border-width:10px;border-color:var(--unv-red);}
/* Sidebar (2e colonne du layout alignwide) : cadre plus fin (5px). */
.wp-block-columns.alignwide > .wp-block-column:last-child .wp-block-post-featured-image.is-style-image-shine:hover,
.wp-block-columns.alignwide > .wp-block-column:last-child .wp-block-post-featured-image.is-style-image-shine-2:hover{border-width:5px;}
.wp-block-post-featured-image.is-style-image-shine::before,
.wp-block-post-featured-image.is-style-image-shine-2::after{content:none !important;}
hr,.wp-block-separator{border:0;border-top:1px solid var(--unv-line);opacity:1;}
/* Media inline */
figure.wp-block-audio,figure.wp-block-video{margin:1.9rem 0;}
figure.wp-block-audio figcaption,figure.wp-block-video figcaption{font-size:.74rem;letter-spacing:.08em;text-transform:uppercase;color:var(--unv-grey);margin-top:.4rem;}
audio,video{width:100%;}
/* NotebookLM chat CTA (fullwidth) */
.unv-nblm-cta{margin:4rem 0 3.5rem;}
.unv-nblm-btn{display:block;width:100%;box-sizing:border-box;text-align:center;background:var(--unv-ink);color:#fff !important;font-weight:700;letter-spacing:-.01em;padding:.95rem 1.45rem;border:1px solid var(--unv-ink);text-decoration:none;}
.unv-nblm-btn:hover{background:var(--unv-red);border-color:var(--unv-red);color:#fff !important;}
/* Toggles (raw <details>, independent, stacked) */
.unv-toggle{background:#f4f4f3;border:1px solid #e7e7e5;padding:.2rem 1.1rem;margin:0;}
.unv-toggle + .unv-toggle{border-top:0;}
.unv-toggle>summary{font-weight:700;letter-spacing:-.01em;cursor:pointer;padding:.7rem 0;list-style:none;}
.unv-toggle>summary::-webkit-details-marker{display:none;}
.unv-toggle>summary::before{content:"+ ";color:var(--unv-red);font-weight:700;}
.unv-toggle[open]>summary::before{content:"– ";}
.unv-toggle ul,.unv-toggle li{font-size:.92rem;}
/* Author block */
.unv-author{margin-top:4rem;padding-top:1.4rem;border-top:2px solid var(--unv-ink);}
.unv-author-name{font-weight:700;font-size:1.05rem;letter-spacing:-.01em;}
.unv-author-bio{margin-top:.4rem;font-size:.85rem;color:var(--unv-grey);line-height:1.5;}
.unv-author-bio a{color:var(--unv-red);}
/* === Lighthouse perf + a11y === */
/* Force Inter everywhere (keep monospace for code) -> kill theme fonts EB Garamond + Mulish (~372 KB unused) */
html,body,button,input,optgroup,select,textarea{font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif !important;}
.wp-site-blocks :not(code):not(pre):not(kbd):not(samp):not(tt){font-family:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif !important;}
/* Rubrique label: drop theme bg -> red on paper = 4.93:1 (AA) */
.taxonomy-category,.taxonomy-category a,.wp-block-post-terms,.wp-block-post-terms a,.wp-block-categories a{background:transparent !important;}
.taxonomy-category a{color:var(--unv-red) !important;}
/* Layout: contenu contraint aligné à gauche (override centrage WP).
   EXCLUT .alignwide → les blocs larges (grilles home, etc.) restent centrés par le cœur. */
.is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)) {
    max-width: var(--wp--style--global--content-size);
    margin-left: 0 !important;
    margin-right: 0 !important;
}
/* === Header masthead: centered logo + wordmark (Unvarnish + red-italic Media) === */
/* re-center the header branding (the rule above left-aligns all constrained children) */
header .is-layout-constrained > :where(:not(.alignleft):not(.alignright):not(.alignfull):not(.alignwide)){margin-left:auto !important;margin-right:auto !important;}
/* Article : le wrapper de contenu (alignfull has-global-padding) conserve un padding latéral
   spacing-32 que les pages — où il est imbriqué (padding neutralisé par le cœur) — n'ont pas,
   d'où une largeur utile + petite. Des wrappers externes fournissent déjà le padding mobile → on neutralise le sien. */
.wp-block-group.alignfull.has-global-padding.is-layout-constrained:has(.wp-block-post-content){padding-left:0;padding-right:0;}
/* wordmark: kern the two words toward each other + accent the last word */
.wp-block-site-title .unv-brand-1,.wp-block-site-title .unv-brand-2{position:relative;}
.wp-block-site-title .unv-brand-1{right:-0.45rem;}
.wp-block-site-title .unv-brand-2{left:-0.45rem;color:var(--unv-red);font-style:italic;}
/* footer wordmark: no kerning on span 1 */
footer .wp-block-site-title .unv-brand-1{right:0;}
/* footer branding section (is-style-section-4--90): bottom border to match its top one */
footer section.is-style-section-4{border-bottom:1px solid var(--wp--preset--color--secondary-100);}
/* footer : coller les deux bandes section-4 empilees (suppr. block-gap entre elles -> bloc sombre continu).
   suffixes --98/--108 regeneres par le theme FSE -> cible STRUCTURELLE (soeurs adjacentes), pas l'id volatile */
footer .is-style-section-4 + .is-style-section-4{margin-block-start:0 !important;margin-top:0 !important;}
footer .is-style-section-4:has(+ .is-style-section-4){margin-block-end:0 !important;margin-bottom:0 !important;}
/* === « À lire aussi » (maillage interne, mu-plugin unvarnish-related) === */
.unv-related{max-width:46rem;margin:4rem 0 3.5rem;padding-top:1.6rem;border-top:2px solid var(--unv-ink);}
.unv-related-h{font-size:.78rem !important;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--unv-grey);margin:0 0 1.1rem !important;}
.unv-related ul{list-style:none;margin:0;padding:0;display:grid;gap:.9rem;}
.unv-related li{margin:0;}
.unv-related a{display:flex;gap:1rem;align-items:center;color:inherit;text-decoration:none;border-bottom:1px solid var(--unv-line);padding-bottom:.9rem;}
.unv-related li:last-child a{border-bottom:0;padding-bottom:0;}
.unv-related-thumb{flex:0 0 76px;width:76px;height:76px;object-fit:cover;display:block;background:var(--unv-line);}
.unv-related-text{min-width:0;}
.unv-related a:hover .unv-related-title{color:var(--unv-red);}
.unv-related-cat{display:block;font-size:.7rem;font-weight:700;letter-spacing:.09em;text-transform:uppercase;color:var(--unv-red);margin-bottom:.2rem;}
.unv-related-title{font-weight:600;letter-spacing:-.01em;font-size:1.05rem;line-height:1.22;}
/* === Footer : masquer les liens réseaux sociaux (factices du thème, pas encore de comptes) === */
footer .wp-block-social-links{display:none !important;}
/* === Cartes de liste : retirer le footer date+auteur (un seul auteur = redondant) === */
/* cible = le groupe footer "space-between" qui contient une date, DANS la boucle query-loop ;
   n'affecte pas l'article seul (pas de .wp-block-post-template) ni le reste de la carte */
.wp-block-post-template .wp-block-group.is-content-justification-space-between:has(.wp-block-post-date){display:none !important;}
/* === Médias amis : bande rouge pleine largeur en haut du footer (mu-plugin unvarnish-friends) === */
/* bord-à-bord scrollbar-safe : 100vw + overflow-x:clip sur le conteneur racine (clip ≠ scroll container → ne casse PAS le header sticky ni le centrage) */
.wp-site-blocks{overflow-x:clip;}
.unv-friends{background:var(--unv-red);color:#fff;width:100vw;margin-left:calc(50% - 50vw);margin-top:.5rem;margin-bottom:2rem;}
.unv-friends-inner{max-width:var(--wp--style--global--wide-size,1240px);margin:0 auto;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1.6rem;}
.unv-friends-label{font-size:1rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.9;}
.unv-friends-links{display:flex;flex-wrap:wrap;gap:.5rem 1.4rem;}
.unv-friends-links a{color:#fff !important;font-weight:600;font-style:italic;font-size:.95rem;letter-spacing:-.01em;text-decoration:none;}
.unv-friends-links a:hover{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;}
