/*
Theme Name: Objectif USA
Theme URI: https://objectif-usa.com
Description: Habillage editorial "media" pour Objectif USA. Child theme de Twenty Twenty-Five. Navy + rouge traites en encre + accent, polices auto-hebergees, zero page builder, zero plugin de design.
Author: Objectif USA
Template: twentytwentyfive
Version: 1.33.0
Requires at least: 6.7
Tested up to: 7.0.1
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: objectif-usa
*/

/* ============ schema de couleur ============
   Site clair uniquement, pas de variation sombre. "only light" opte hors de
   l'auto-assombrissement des navigateurs (Auto Dark Theme, repeint des
   controles de formulaire / scrollbars sous OS en mode sombre) : le rendu
   sombre etait casse (constate sur tablette). Voir aussi la balise
   <meta name="color-scheme" content="light"> emise dans wp_head. */
:root{color-scheme:only light;}

/* ============ tokens ============
   Source unique de verite : la palette de theme.json.
   Les alias --ou-* pointent vers les presets generes par WordPress.
   Declares sur body : fonctionne que WP emette les presets sur :root
   (le cas ici) ou sur body selon les versions. */
body{
  --ou-ink:var(--wp--preset--color--ink);
  --ou-ink-2:var(--wp--preset--color--ink-soft);
  --ou-paper:var(--wp--preset--color--paper);
  --ou-panel:var(--wp--preset--color--panel);
  --ou-accent:var(--wp--preset--color--accent);
  --ou-line:var(--wp--preset--color--line);
  --ou-cream:var(--wp--preset--color--cream);
  --ou-panel-text:#EAEFF3;
}

/* ============ base ============ */
body{background:var(--ou-paper);color:var(--ou-ink);}
.ou-serif{font-family:var(--wp--preset--font-family--serif);}
.ou-mono{font-family:var(--wp--preset--font-family--mono);}

/* ============ masthead ============ */
.ou-masthead{border-bottom:1px solid var(--ou-line);}
.ou-masthead p{font-family:var(--wp--preset--font-family--mono);font-size:.7rem;
  letter-spacing:.16em;text-transform:uppercase;color:var(--ou-ink-2);margin:0;}
.ou-masthead .ou-edition{color:var(--ou-accent);}

/* ============ shared editorial bits ============ */
.ou-kicker{font-family:var(--wp--preset--font-family--mono);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ou-accent);margin:0 0 1.2rem;}
.ou-dek{font-size:1.12rem;line-height:1.55;color:var(--ou-ink-2);max-width:34em;}
.ou-meta{font-family:var(--wp--preset--font-family--mono);font-size:.76rem;letter-spacing:.04em;
  color:var(--ou-ink-2);}
.ou-readlink a,.ou-readlink{font-weight:600;font-size:.95rem;color:var(--ou-ink);text-decoration:none;
  display:inline-flex;align-items:center;gap:8px;}
.ou-readlink a::after{content:"\2192";color:var(--ou-accent);transition:transform .18s;}
.ou-readlink a:hover::after{transform:translateX(5px);}

/* ============ hero (home, panneau navy) ============ */
/* --ou-accent-hi : rouge de marque releve pour rester lisible en TEXTE sur
   fond navy (le #C8102E brut y est trop sombre). Le CTA garde le rouge plein. */
.ou-hero{background:var(--ou-panel);color:#F5EFE4;--ou-accent-hi:#E9556A;}
.ou-hero .ou-hero-eyebrow{display:flex;align-items:center;gap:16px;
  font-family:var(--wp--preset--font-family--mono);font-size:.72rem;letter-spacing:.2em;
  text-transform:uppercase;color:#93A8BA;margin:0 0 1.9rem;}
.ou-hero .ou-hero-eyebrow .ou-erule{flex:0 0 40px;height:0;border-top:1px solid rgba(245,239,228,.22);}
.ou-hero h1{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:clamp(2.5rem,5.4vw,4.25rem);line-height:1.02;letter-spacing:-.022em;color:#F5EFE4;margin:0;}
.ou-hero h1 em{font-style:italic;font-weight:440;color:var(--ou-accent-hi);}
.ou-hero .ou-hsep{border:0;border-top:1px solid rgba(245,239,228,.2);margin:2rem 0;max-width:none;}
.ou-hero .ou-dek{color:#E3DBCB;max-width:32em;}
.ou-hero .ou-dek::first-letter{float:left;font-family:var(--wp--preset--font-family--serif);
  font-weight:500;color:var(--ou-accent-hi);font-size:3.4em;line-height:.72;margin:.06em .14em 0 0;}
.ou-hero .ou-meta{color:#93A8BA;}
.ou-hero .ou-herocta .wp-block-button__link{background:var(--ou-accent);color:#fff;
  font-family:var(--wp--preset--font-family--sans);font-weight:600;font-size:.95rem;
  border-radius:3px;padding:.8rem 1.5rem;}
.ou-hero .ou-herocta .wp-block-button__link::after{content:"\2192";margin-left:.5em;
  display:inline-block;transition:transform .18s;}
.ou-hero .ou-herocta .wp-block-button__link:hover{filter:brightness(1.08);}
.ou-hero .ou-herocta .wp-block-button__link:hover::after{transform:translateX(4px);}
.ou-hero .ou-aside{border-left:1px solid rgba(245,239,228,.16);padding-left:34px;}
.ou-hero .ou-hero-fig{margin:0 0 1.7rem;}
.ou-hero .ou-hero-fig img{width:100%;max-width:none;height:auto;display:block;border-radius:4px;}
.ou-hero .ou-num{font-family:var(--wp--preset--font-family--serif);font-weight:400;
  font-size:3.1rem;line-height:1;letter-spacing:-.02em;color:#F5EFE4;margin:0;}
.ou-hero .ou-num em{font-style:normal;color:var(--ou-accent-hi);}
.ou-hero .ou-nlab{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:#93A8BA;margin:.5rem 0 0;line-height:1.5;}
.ou-hero .ou-asep{border:0;border-top:1px solid rgba(245,239,228,.2);margin:1.4rem 0;max-width:190px;}
.ou-hero .ou-anote{color:#D9CFBE;font-size:.9rem;line-height:1.55;margin:0;}

/* ============ index (query loop) ============ */
.ou-index .ou-ihead{display:flex;justify-content:space-between;align-items:baseline;
  border-top:2px solid var(--ou-ink);padding-top:1.4rem;margin-bottom:0;}
.ou-index .ou-ihead .ou-lab{font-family:var(--wp--preset--font-family--mono);font-size:.74rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ou-ink);}
.ou-index .wp-block-post-template{margin:0;padding:0;list-style:none;}
.ou-index .wp-block-post-template > li{display:grid;
  grid-template-columns:120px 170px 1fr 70px;gap:22px;align-items:start;
  padding:20px 8px;border-top:1px solid var(--ou-line);transition:background .15s;}
.ou-index .wp-block-post-template > li:hover{background:var(--ou-cream);}
.ou-index .wp-block-post-date{font-family:var(--wp--preset--font-family--mono);font-size:.8rem;
  color:var(--ou-ink-2);letter-spacing:.02em;}
.ou-index .wp-block-post-featured-image{margin:0;}
.ou-index .wp-block-post-featured-image img{display:block;width:100%;aspect-ratio:16/10;
  object-fit:cover;border-radius:2px;}
.ou-index .wp-block-post-title{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:1.4rem;line-height:1.18;letter-spacing:-.01em;margin:0;}
.ou-index .wp-block-post-title a{color:var(--ou-ink);text-decoration:none;transition:color .15s;}
.ou-index .wp-block-post-template > li:hover .wp-block-post-title a{color:var(--ou-accent);}
.ou-index .ou-rt{font-family:var(--wp--preset--font-family--mono);font-size:.74rem;
  color:var(--ou-ink-2);text-align:right;margin:0;}

/* ============ book block ============ */
.ou-book{background:var(--ou-cream);border-top:1px solid var(--ou-line);}
.ou-book h2{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:clamp(1.7rem,3.2vw,2.35rem);line-height:1.12;letter-spacing:-.02em;color:var(--ou-ink);}
.ou-book h2 em{font-style:italic;color:var(--ou-accent);}
.ou-bookcover{aspect-ratio:3/4.35;background:var(--ou-panel);color:#fff;border-radius:2px;
  box-shadow:0 20px 42px -20px rgba(20,48,74,.6);padding:28px 24px;max-width:250px;
  display:flex;flex-direction:column;border-left:3px solid var(--ou-accent);}
.ou-bookcover .bc-top{font-family:var(--wp--preset--font-family--mono);font-size:.64rem;
  letter-spacing:.16em;text-transform:uppercase;color:#C6D3DE;}
.ou-bookcover .bc-title{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:1.72rem;line-height:1.1;letter-spacing:-.01em;margin-top:auto;}
.ou-bookcover .bc-title em{font-style:italic;}
.ou-bookcover .bc-author{font-family:var(--wp--preset--font-family--mono);font-size:.7rem;
  letter-spacing:.08em;color:#C6D3DE;margin-top:16px;padding-top:13px;border-top:1px solid #2E4A63;}

/* ============ author panel ============ */
.ou-author{background:var(--ou-panel);color:var(--ou-panel-text);}
.ou-author .ou-eyebrow{font-family:var(--wp--preset--font-family--mono);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;color:#C6D3DE;margin:0 0 1rem;}
.ou-author h2{font-family:var(--wp--preset--font-family--serif);font-weight:500;font-size:2.1rem;
  line-height:1.1;letter-spacing:-.02em;color:#fff;margin:0 0 1rem;}
.ou-author h2 em{font-style:italic;}
.ou-author p{color:#C6D3DE;line-height:1.62;}
.ou-author p a{color:#fff;text-decoration:underline;text-underline-offset:.14em;}
.ou-author p a:hover{color:var(--ou-accent);}
.ou-creds{display:flex;flex-wrap:wrap;gap:10px 14px;margin-top:1.6rem;}
.ou-creds .ou-cred{font-family:var(--wp--preset--font-family--mono);font-size:.72rem;
  letter-spacing:.06em;color:var(--ou-panel-text);border:1px solid #2E4A63;border-radius:2px;padding:6px 11px;}

/* ============ bandeau adhesions ============ */
.ou-members{border-top:1px solid var(--ou-line);text-align:center;}
.ou-members-title{font-family:var(--wp--preset--font-family--sans);font-weight:700;
  font-size:1.3rem;text-transform:uppercase;letter-spacing:.02em;color:var(--ou-ink);
  margin:0 0 1.8rem;}
.ou-members-row{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;
  gap:2.6rem 3.2rem;}
.ou-members-row img{height:64px;width:auto;max-width:180px;object-fit:contain;
  display:block;filter:grayscale(0);}

/* ============ a lire aussi ============ */
.ou-related-wrap{border-top:1px solid var(--ou-line);padding-top:2.4rem;}
.ou-related-title{font-family:var(--wp--preset--font-family--mono);font-size:.74rem;
  letter-spacing:.18em;text-transform:uppercase;color:var(--ou-ink);margin:0 0 1.6rem;}
.ou-related .wp-block-post-template{display:grid;grid-template-columns:repeat(3,1fr);
  gap:28px;list-style:none;margin:0;padding:0;}
.ou-related .wp-block-post-template > li{display:flex;flex-direction:column;margin:0;}
.ou-related .wp-block-post-featured-image{display:block;margin:0 0 12px;border-radius:2px;
  overflow:hidden;aspect-ratio:16/9;}
.ou-related .wp-block-post-featured-image picture,
.ou-related .wp-block-post-featured-image img{display:block;width:100%;height:100%;object-fit:cover;}
.ou-related .wp-block-post-title{font-family:var(--wp--preset--font-family--serif);
  font-weight:500;font-size:1.08rem;line-height:1.28;margin:0 0 6px;
  height:calc(1.28em * 2);overflow:hidden;}
.ou-related .wp-block-post-title a{display:-webkit-box!important;-webkit-box-orient:vertical;
  -webkit-line-clamp:2;overflow:hidden;color:var(--ou-ink);text-decoration:none;}
.ou-related .wp-block-post-title a:hover{color:var(--ou-accent);}
.ou-related .wp-block-post-date{font-family:var(--wp--preset--font-family--mono);
  font-size:.72rem;color:var(--ou-ink-2);}
@media(max-width:820px){
  .ou-related .wp-block-post-template{grid-template-columns:1fr;gap:22px;}
}

/* ============ responsive ============ */
@media(max-width:820px){
  .ou-index .wp-block-post-template > li{grid-template-columns:1fr;gap:7px;}
  .ou-index .ou-rt{text-align:left;}
  .ou-hero .ou-aside{border-left:0;border-top:1px solid rgba(245,239,228,.2);
    padding-left:0;padding-top:28px;margin-top:8px;}
  .ou-hero .ou-hero-fig img{max-width:360px;}
}
@media(prefers-reduced-motion:reduce){*{transition:none!important;}}

/* ============ hero figure (discrete) ============ */
.ou-hero-fig{margin:0 0 1.6rem;}
.ou-hero-fig img{width:100%;max-width:210px;height:auto;display:block;border-radius:2px;}
.ou-hero-fig figcaption{font-family:var(--wp--preset--font-family--mono);font-size:.64rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ou-ink-2);margin-top:8px;}

/* ============ vraie couverture du livre ============ */
.ou-book-img{max-width:290px;}
.ou-book-img img{width:100%;height:auto;display:block;
  filter:drop-shadow(0 18px 26px rgba(20,48,74,.22));}
.ou-book{background:var(--ou-cream);border-bottom:1px solid var(--ou-line);}

/* ============ appel a contributions ============ */
.ou-contrib-box{border:1px solid #D7D4CB;border-left:3px solid var(--ou-accent);
  background:#fff;padding:2.5rem 2.75rem;}
.ou-contrib-box h2{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:clamp(1.7rem,3vw,2.3rem);line-height:1.1;letter-spacing:-.02em;color:var(--ou-ink);}
.ou-contrib-box h2 em{font-style:italic;color:var(--ou-accent);}
.ou-contrib-note{font-size:.92rem;line-height:1.6;color:var(--ou-ink-2);}

/* ============ groupe Facebook (communaute) ============
   Bande creme pleine largeur, entre l'appel a contributions et le bandeau
   adhesions. Lien simple vers Facebook, zero widget tiers (RGPD). Chiffres
   repris du traitement de l'aside du hero, en version claire. */
.ou-fbgroup{background:var(--ou-cream);border-top:1px solid var(--ou-line);
  border-bottom:1px solid var(--ou-line);}
.ou-fbgroup h2{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:clamp(1.7rem,3.2vw,2.35rem);line-height:1.12;letter-spacing:-.02em;color:var(--ou-ink);}
.ou-fbgroup h2 em{font-style:italic;color:var(--ou-accent);}
.ou-fbgroup .ou-fbnote{font-size:.92rem;line-height:1.6;color:var(--ou-ink-2);}
.ou-fbgroup .ou-btn::after{content:"\2192";margin-left:.5em;display:inline-block;
  transition:transform .18s;}
.ou-fbgroup .ou-btn:hover::after{transform:translateX(4px);}
.ou-fbstats{border-left:1px solid #D7D4CB;padding-left:40px;}
.ou-fbstats .ou-num{font-family:var(--wp--preset--font-family--serif);font-weight:400;
  font-size:3.1rem;line-height:1;letter-spacing:-.02em;color:var(--ou-ink);margin:0;}
.ou-fbstats .ou-num em{font-style:normal;color:var(--ou-accent);}
.ou-fbstats .ou-nlab{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ou-ink-2);
  margin:.5rem 0 1.6rem;line-height:1.5;}
.ou-fbstats .ou-nlab:last-child{margin-bottom:0;}
@media(max-width:781px){
  /* les colonnes WP s'empilent a 781px : le filet passe de gauche a en haut */
  .ou-fbstats{border-left:0;border-top:1px solid #D7D4CB;padding-left:0;padding-top:1.8rem;}
}

/* ============ lien REZOWAY (menu) ============ */
.wp-block-navigation .ou-rzw a,
a.ou-rzw{font-family:var(--wp--preset--font-family--mono)!important;font-size:.72rem;
  letter-spacing:.14em;color:var(--ou-accent)!important;text-decoration:none;}

@media(max-width:820px){
  .ou-contrib-box{padding:1.9rem 1.5rem;}
  .ou-hero-fig img{max-width:160px;}
}

/* ============ header (override du part parent) ============ */
/* position:sticky doit s'appliquer au wrapper genere par wp:template-part
   (header.wp-block-template-part), pas a .ou-topbar : ce wrapper ne fait
   que la hauteur du header lui-meme, donc mettre le sticky directement
   sur .ou-topbar ne laissait aucune marge pour "coller" (son parent etait
   deja aussi court que lui). Le wrapper, lui, a pour parent wp-site-blocks
   (toute la hauteur de la page), ce qui donne la marge necessaire. */
header.wp-block-template-part:has(> .ou-topbar){position:sticky;top:0;z-index:100;}
body.admin-bar header.wp-block-template-part:has(> .ou-topbar){top:32px;}
.ou-topbar{border-bottom:1px solid var(--ou-line);background:rgba(252,251,248,.92);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  padding-top:.85rem;padding-bottom:.85rem;margin-bottom:0!important;}
/* Le menu mobile est un overlay position:fixed. Un ancetre porteur d'un
   backdrop-filter cree un bloc conteneur qui pieger l'overlay a la hauteur
   du header (~80px) au lieu du viewport : les items debordent alors sur le
   contenu, sans fond, menu inutilisable sur mobile. On neutralise le flou
   quand l'overlay est ouvert (le frost n'a plus d'interet, l'overlay couvre
   tout l'ecran). */
.ou-topbar:has(.wp-block-navigation__responsive-container.is-menu-open){
  backdrop-filter:none;-webkit-backdrop-filter:none;}
.ou-brand{font-family:var(--wp--preset--font-family--serif);font-weight:560;
  font-size:2.05rem;letter-spacing:-.01em;color:var(--ou-ink);text-decoration:none;}
.ou-brand b{color:var(--ou-accent);font-weight:560;}
.ou-nav .wp-block-navigation-item__content{font-size:1.09rem;color:var(--ou-ink-2);}
.ou-nav .wp-block-navigation-item__content:hover{color:var(--ou-accent);}
.ou-nav{gap:26px;}
/* Entre le seuil du menu hamburger natif (600px) et le desktop, le nav
   (7 liens + recherche, 1.09rem) et le brand (2.05rem) ne tiennent plus
   cote a cote : les libelles se replient sur deux lignes. Paliers mesures
   au navigateur (2026-07-09) : repli a partir de ~1180px en 1.09rem,
   ~1010px en .84rem, ~950px en .72rem avec brand plein. */
@media(min-width:1040px) and (max-width:1200px){
  .ou-nav{gap:14px;}
  .ou-nav .wp-block-navigation-item__content{font-size:.84rem;}
}
@media(min-width:800px) and (max-width:1040px){
  .ou-nav{gap:12px;}
  .ou-nav .wp-block-navigation-item__content{font-size:.72rem;}
  .ou-brand{font-size:1.6rem;}
}
/* Sous ~800px, meme la plus petite taille ne tient plus sur une ligne
   (7 liens + recherche) : on prolonge le menu hamburger natif de WP
   (seuil fixe a 600px dans le CSS core) jusqu'a 800px. */
@media(min-width:600px) and (max-width:800px){
  .ou-nav .wp-block-navigation__responsive-container:not(.is-menu-open){display:none;}
  .ou-nav .wp-block-navigation__responsive-container-open{display:flex;}
}
/* le masthead colle au header */
.ou-masthead{margin-top:0!important;}

/* ============ en-tete de page (archives, recherche, pages, 404) ============ */
.ou-pagehead{padding-top:3.2rem;}
.ou-pagehead h1,
.ou-pagehead .wp-block-query-title,
.ou-pagehead .wp-block-post-title{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:clamp(2.1rem,4.4vw,3.2rem);line-height:1.06;letter-spacing:-.02em;color:var(--ou-ink);margin:0;}
.ou-pagehead h1 em{font-style:italic;font-weight:420;color:var(--ou-accent);}
.ou-pagehead .ou-dek{margin-top:1rem;}
.ou-pagehead .wp-block-term-description{font-size:1.05rem;line-height:1.55;color:var(--ou-ink-2);
  max-width:34em;margin-top:1rem;}
.ou-404 h1{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:clamp(2.1rem,4.4vw,3.2rem);line-height:1.06;letter-spacing:-.02em;color:var(--ou-ink);margin:0 0 1rem;}
.ou-404 h1 em{font-style:italic;font-weight:420;color:var(--ou-accent);}

/* ============ article (single) ============ */
.ou-ahead .wp-block-post-terms{font-family:var(--wp--preset--font-family--mono);font-size:.72rem;
  letter-spacing:.18em;text-transform:uppercase;margin:0 0 1.1rem;}
.ou-ahead .wp-block-post-terms a{color:var(--ou-accent);text-decoration:none;}
.ou-ahead .wp-block-post-title{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:clamp(2.2rem,4.8vw,3.5rem);line-height:1.05;letter-spacing:-.022em;color:var(--ou-ink);margin:0 0 1.2rem;}
.ou-ameta{gap:0 8px;}
.ou-ameta > *{font-family:var(--wp--preset--font-family--mono);font-size:.76rem;letter-spacing:.04em;
  color:var(--ou-ink-2);margin:0;}
.ou-ameta > * + *::before{content:"\00B7";margin-right:8px;}
.ou-afig{display:block;overflow:hidden;margin-bottom:2rem;border-radius:2px;}
.ou-afig picture,.ou-afig img{display:block;width:100%;height:100%;object-fit:cover;}

/* ============ contenu d'article (prose) ============ */
.ou-prose{font-size:1.06rem;line-height:1.7;}
.ou-prose > *{margin-top:0;margin-bottom:1.15rem;}
.ou-prose h2{font-size:1.65rem;line-height:1.2;margin-top:2.6rem;}
.ou-prose h3{font-size:1.28rem;line-height:1.25;margin-top:2rem;}
.ou-prose a{color:var(--ou-ink);text-decoration:underline;text-decoration-color:var(--ou-accent);
  text-underline-offset:3px;}
.ou-prose a:hover{color:var(--ou-accent);}
.ou-prose blockquote{border-left:3px solid var(--ou-accent);background:var(--ou-cream);
  padding:1.3rem 1.6rem;margin:2rem 0;font-family:var(--wp--preset--font-family--serif);
  font-style:italic;font-size:1.15rem;line-height:1.5;}
.ou-prose blockquote cite{display:block;font-family:var(--wp--preset--font-family--mono);
  font-style:normal;font-size:.74rem;letter-spacing:.08em;color:var(--ou-ink-2);margin-top:.8rem;}
.ou-prose figcaption{font-family:var(--wp--preset--font-family--mono);font-size:.7rem;
  letter-spacing:.1em;color:var(--ou-ink-2);margin-top:8px;}
.ou-prose hr{border:0;border-top:1px solid var(--ou-line);margin:2.6rem 0;}
.ou-prose code{font-family:var(--wp--preset--font-family--mono);font-size:.92em;
  background:var(--ou-cream);padding:.1em .35em;border-radius:2px;}
.ou-prose img{border-radius:2px;}

/* ============ tags & navigation d'article ============ */
.ou-atags{display:flex;flex-wrap:wrap;gap:8px;}
.ou-atags a{font-family:var(--wp--preset--font-family--mono);font-size:.7rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ou-ink-2);border:1px solid var(--ou-line);border-radius:2px;
  padding:5px 10px;text-decoration:none;transition:color .15s,border-color .15s;}
.ou-atags a:hover{color:var(--ou-accent);border-color:var(--ou-accent);}

/* ============ pagination des index ============ */
.ou-pagination{font-family:var(--wp--preset--font-family--mono);font-size:.78rem;letter-spacing:.06em;
  margin-top:2rem;border-top:1px solid var(--ou-line);padding-top:1.2rem;}
.ou-pagination a{color:var(--ou-ink);text-decoration:none;}
.ou-pagination a:hover{color:var(--ou-accent);}
.ou-pagination .wp-block-query-pagination-numbers .current{color:var(--ou-accent);}

/* ============ plan du site ============ */
.ou-sitemap-pages h2,.ou-sitemap-posts h2{font-family:var(--wp--preset--font-family--serif);
  font-weight:500;font-size:1.5rem;margin:0 0 1rem;}
.ou-sitemap-pages ul{list-style:none;margin:0;padding:0;column-count:2;column-gap:2.4rem;}
.ou-sitemap-pages li{padding:.35rem 0;border-top:1px solid var(--ou-line);}
.ou-sitemap-pages a,.ou-sitemap-list a{color:var(--ou-ink);text-decoration:none;}
.ou-sitemap-pages a:hover,.ou-sitemap-list a:hover{color:var(--ou-accent);}
.ou-sitemap-list .wp-block-post-template{list-style:none;margin:0;padding:0;
  column-count:2;column-gap:2.4rem;}
.ou-sitemap-list .wp-block-post-template > li{padding:.35rem 0;border-top:1px solid var(--ou-line);
  break-inside:avoid;}
.ou-sitemap-list .wp-block-post-title{font-family:var(--wp--preset--font-family--sans);
  font-size:.95rem;font-weight:400;margin:0;}
@media(max-width:600px){
  .ou-sitemap-pages ul,.ou-sitemap-list .wp-block-post-template{column-count:1;}
}

/* ============ recherche ============ */
.ou-searchbox{max-width:520px;}
.ou-searchbox .wp-block-search__input{border:1px solid var(--ou-line);background:#fff;
  padding:.65rem .9rem;font-size:.95rem;border-radius:2px;color:var(--ou-ink);}
.ou-searchbox .wp-block-search__input:focus{outline:none;border-color:var(--ou-ink);}
.ou-searchbox .wp-block-search__button{font-family:var(--wp--preset--font-family--mono);
  font-size:.74rem;letter-spacing:.12em;text-transform:uppercase;background:var(--ou-ink);color:#fff;
  border:0;border-radius:2px;padding:.65rem 1.1rem;cursor:pointer;transition:background .15s;}
.ou-searchbox .wp-block-search__button:hover{background:var(--ou-accent);}

/* ============ formulaire de contact ============ */
.ou-form label{font-family:var(--wp--preset--font-family--mono);font-size:.7rem;letter-spacing:.14em;
  text-transform:uppercase;color:var(--ou-ink);display:block;margin-bottom:.45rem;}
.ou-form input[type="text"],
.ou-form input[type="email"],
.ou-form select,
.ou-form textarea{width:100%;border:1px solid var(--ou-line);background:#fff;border-radius:2px;
  padding:.7rem .85rem;font:inherit;font-size:.98rem;color:var(--ou-ink);}
.ou-form input:focus,
.ou-form select:focus,
.ou-form textarea:focus{outline:none;border-color:var(--ou-ink);}
.ou-form p{margin:0 0 1.15rem;}
.ou-form .ou-consent label{display:flex;gap:10px;align-items:flex-start;text-transform:none;
  letter-spacing:0;font-family:var(--wp--preset--font-family--sans);font-size:.82rem;
  color:var(--ou-ink-2);line-height:1.5;}
.ou-form .ou-consent input{margin-top:3px;width:auto;}
.ou-submit{font-family:var(--wp--preset--font-family--mono);font-size:.76rem;letter-spacing:.14em;
  text-transform:uppercase;background:var(--ou-ink);color:#fff;border:0;border-radius:2px;
  padding:.85rem 1.5rem;cursor:pointer;transition:background .15s;}
.ou-submit:hover{background:var(--ou-accent);}
.ou-hp{position:absolute!important;left:-9999px!important;height:0;overflow:hidden;}
.ou-notice{font-family:var(--wp--preset--font-family--mono);font-size:.78rem;letter-spacing:.04em;
  padding:.9rem 1.1rem;border-radius:2px;margin:0 0 1.4rem;}
.ou-notice-ok{border:1px solid #2F6B4F;color:#2F6B4F;background:#F0F6F2;}
.ou-notice-err{border:1px solid var(--ou-accent);color:var(--ou-accent);background:#FBF1F2;}

/* ============ footer ============ */
.ou-footer{border-top:1px solid var(--ou-line);background:var(--ou-paper);}
.ou-fbrand{font-family:var(--wp--preset--font-family--serif);font-size:1.3rem;
  font-weight:560;color:var(--ou-ink);margin:0 0 .9rem;}
.ou-fbrand b{color:var(--ou-accent);font-weight:560;}
.ou-fblurb{font-size:.88rem;color:var(--ou-ink-2);max-width:26em;line-height:1.55;}
.ou-fhead{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ou-ink);margin:0 0 .9rem;font-weight:500;}
.ou-flist{list-style:none;padding:0;margin:0;}
.ou-flist li{margin-bottom:9px;}
.ou-flist li a{font-size:.88rem;color:var(--ou-ink-2);text-decoration:none;}
.ou-flist li a:hover{color:var(--ou-accent);}
/* variante wp:navigation des listes du footer (menus references) */
.ou-flist.wp-block-navigation{gap:9px;}
.ou-flist.wp-block-navigation li{margin-bottom:0;}
.ou-flist .wp-block-navigation-item__content{font-size:.88rem;color:var(--ou-ink-2);text-decoration:none;}
.ou-flist .wp-block-navigation-item__content:hover{color:var(--ou-accent);}
/* ============ page services (lot 4) ============ */
.ou-rzwpanel{background:var(--ou-panel);color:var(--ou-panel-text);}
.ou-rzwpanel h2{color:#fff;font-size:1.55rem;line-height:1.2;margin:0 0 .9rem;}
.ou-rzwpanel p{font-size:.97rem;line-height:1.65;color:var(--ou-panel-text);}
.ou-rzwcard{border:1px solid rgba(255,255,255,.22);padding:1.6rem 1.7rem;}
.ou-rzwcard p{font-size:.92rem;margin-bottom:1.1rem;}
.ou-rzwcard-lbl{font-family:var(--wp--preset--font-family--mono);font-size:.66rem;
  letter-spacing:.14em;text-transform:uppercase;opacity:.65;margin-bottom:.7rem;}
.ou-rzwlink a{font-family:var(--wp--preset--font-family--mono);font-size:.78rem;
  letter-spacing:.12em;text-transform:uppercase;color:#fff;text-decoration:none;
  border-bottom:2px solid var(--ou-accent);padding-bottom:3px;}
.ou-svc{display:grid;grid-template-columns:120px 1fr 260px;gap:2.4rem;
  padding:2.6rem 0;border-top:1px solid var(--ou-line);}
.ou-svclist .ou-svc:first-child{border-top:0;padding-top:0;}
.ou-svcnum{font-family:var(--wp--preset--font-family--mono);font-size:.8rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ou-accent);padding-top:.55rem;}
.ou-svc h2{font-size:1.6rem;line-height:1.15;margin:0 0 .75rem;}
.ou-svcbody p{font-size:.99rem;color:var(--ou-ink-2);max-width:36em;margin-bottom:.7rem;}
.ou-terms{background:var(--ou-cream);padding:1.3rem 1.4rem;align-self:start;}
.ou-terms-lbl{font-family:var(--wp--preset--font-family--mono);font-size:.64rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ou-ink-2);margin-bottom:.8rem;}
.ou-terms-list{list-style:none;padding:0;margin:0;}
.ou-terms-list li{font-family:var(--wp--preset--font-family--mono);font-size:.8rem;
  line-height:1.5;padding:.45rem 0;border-top:1px solid var(--ou-line);}
.ou-terms-list li:first-child{border-top:0;padding-top:0;}
.ou-terms-list b{color:var(--ou-accent);font-weight:500;}
.ou-reviews{border-top:1px solid var(--ou-line);margin-top:3rem;padding-top:2.4rem;}
.ou-reviews-head{display:flex;justify-content:space-between;align-items:baseline;
  gap:1.5rem;flex-wrap:wrap;margin-bottom:1.6rem;}
.ou-reviews-lbl{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.14em;text-transform:uppercase;color:var(--ou-ink);}
.ou-reviews-link a{font-family:var(--wp--preset--font-family--mono);font-size:.72rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ou-ink-2);text-decoration:none;
  border-bottom:2px solid var(--ou-accent);padding-bottom:2px;}
.ou-reviews-link a:hover{color:var(--ou-accent);}
.ou-review{background:var(--ou-cream);padding:1.5rem 1.6rem;height:100%;}
.ou-review-stars{color:var(--ou-accent);font-size:.85rem;letter-spacing:.18em;margin-bottom:.7rem;}
.ou-review-text{font-family:var(--wp--preset--font-family--serif);font-style:italic;
  font-size:.98rem;line-height:1.55;color:var(--ou-ink);margin-bottom:1rem;}
.ou-review-meta{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ou-ink-2);}
/* ============ page du livre (lot 4) ============ */
.ou-btnrow{display:flex;gap:12px;flex-wrap:wrap;}
.ou-btn-line{background:transparent;color:var(--ou-ink);border:1px solid var(--ou-ink);}
.ou-btn-line:hover{background:transparent;color:var(--ou-accent);border-color:var(--ou-accent);}
.ou-bookhero-img{margin:0 auto;}
.ou-bookfig img{width:100%;height:auto;display:block;border-radius:2px;}
.ou-bookfig figcaption{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ou-ink-2);margin-top:10px;}
.ou-toc-meta{font-family:var(--wp--preset--font-family--mono);font-size:.74rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ou-ink-2);margin:.4rem 0 1.6rem;}
.ou-toc-sec{border-top:1px solid var(--ou-line);padding:1.05rem 0;margin:0;}
.ou-toc-sec:last-of-type{border-bottom:1px solid var(--ou-line);}
.ou-toc-sec summary{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:1.18rem;cursor:pointer;list-style:none;position:relative;padding-right:2rem;}
.ou-toc-sec summary::-webkit-details-marker{display:none;}
.ou-toc-sec summary::after{content:"+";position:absolute;right:6px;top:0;
  font-family:var(--wp--preset--font-family--mono);color:var(--ou-accent);font-size:1.1rem;}
.ou-toc-sec[open] summary::after{content:"\2212";}
.ou-toc-list{margin:1rem 0 .3rem;padding-left:1.2rem;color:var(--ou-ink-2);
  font-size:.95rem;line-height:1.75;}
.ou-toc-list em{color:var(--ou-ink);}

/* ============ cartouche auteur d'article ============ */
.ou-authorbox-photo img{border-radius:50%;display:block;}
.ou-authorbox .ou-authorbox-name{font-family:var(--wp--preset--font-family--serif);
  font-weight:500;font-size:1.6rem;line-height:1.15;letter-spacing:-.01em;
  color:#fff;margin:0 0 .7rem;}
.ou-authorbox .ou-authorbox-bio{font-size:.92rem;line-height:1.65;color:#C6D3DE;}
.ou-authorbox .ou-authorbox-bio b,.ou-authorbox .ou-authorbox-bio strong{color:var(--ou-panel-text);}
.ou-authorbox .ou-authorbox-bio a{color:#fff;text-decoration:underline;
  text-decoration-color:var(--ou-accent);text-underline-offset:3px;}
.ou-authorbox .ou-authorbox-bio a:hover{color:var(--ou-accent);}

/* ============ commentaires d'article ============ */
.ou-comments{margin-top:3.4rem;border-top:2px solid var(--ou-ink);padding-top:1.5rem;}
.ou-comments .wp-block-comments-title{font-family:var(--wp--preset--font-family--mono);
  font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ou-ink);
  margin:0 0 .6rem;font-weight:500;}
.ou-comments .wp-block-comment-template{list-style:none;padding:0;margin:0;}
.ou-comments .wp-block-comment-template > li{border-top:1px solid var(--ou-line);}
.ou-comments .wp-block-comment-template > li:first-child{border-top:0;}
.ou-comment{padding:1.35rem 0 1.1rem;}
.ou-comment-meta{gap:14px;}
.ou-comments .wp-block-comment-author-name{font-weight:600;font-size:.95rem;color:var(--ou-ink);}
.ou-comments .wp-block-comment-author-name a{color:var(--ou-ink);text-decoration:none;}
.ou-comments .wp-block-comment-date{font-family:var(--wp--preset--font-family--mono);
  font-size:.72rem;letter-spacing:.04em;color:var(--ou-ink-2);}
.ou-comments .wp-block-comment-content{font-size:.95rem;line-height:1.65;color:var(--ou-ink-2);
  margin-top:.55rem;}
.ou-comments .wp-block-comment-content p{margin:0 0 .7rem;}
.ou-comments .wp-block-comment-reply-link{margin-top:.5rem;}
.ou-comments .wp-block-comment-reply-link a{font-family:var(--wp--preset--font-family--mono);
  font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--ou-ink-2);
  text-decoration:none;border-bottom:2px solid var(--ou-accent);padding-bottom:2px;}
.ou-comments .wp-block-comment-reply-link a:hover{color:var(--ou-accent);}
/* réponses imbriquées (profondeur 2) */
.ou-comments .wp-block-comment-template ol{list-style:none;margin:0 0 0 1.5rem;padding:0 0 0 1.4rem;
  border-left:2px solid var(--ou-cream);}
/* formulaire de commentaire, aligné sur .ou-form */
.ou-comments .wp-block-post-comments-form{margin-top:2.6rem;}
.ou-comments .comment-reply-title{font-family:var(--wp--preset--font-family--mono);
  font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;color:var(--ou-ink);
  font-weight:500;margin:0 0 1rem;}
.ou-comments .comment-form label{display:block;font-family:var(--wp--preset--font-family--mono);
  font-size:.7rem;letter-spacing:.14em;text-transform:uppercase;color:var(--ou-ink-2);
  margin-bottom:6px;}
.ou-comments .comment-form input[type="text"],
.ou-comments .comment-form input[type="email"],
.ou-comments .comment-form input[type="url"],
.ou-comments .comment-form textarea{width:100%;border:1px solid var(--ou-line);background:#fff;
  border-radius:2px;padding:11px 13px;font:inherit;font-size:.95rem;color:var(--ou-ink);}
.ou-comments .comment-form input:focus,
.ou-comments .comment-form textarea:focus{outline:none;border-color:var(--ou-ink);}
.ou-comments .comment-form p{margin:0 0 1.15rem;}
.ou-comments .comment-form .comment-notes,
.ou-comments .comment-form .logged-in-as{font-size:.85rem;color:var(--ou-ink-2);}
.ou-comments .comment-form input[type="submit"]{font-family:var(--wp--preset--font-family--mono);
  font-size:.76rem;letter-spacing:.14em;text-transform:uppercase;background:var(--ou-ink);
  color:#fff;border:0;border-radius:2px;padding:13px 24px;cursor:pointer;transition:background .15s;}
.ou-comments .comment-form input[type="submit"]:hover{background:var(--ou-accent);}
.ou-comments .comment-form .comment-form-cookies-consent{display:flex;gap:10px;align-items:flex-start;}
.ou-comments .comment-form .comment-form-cookies-consent label{text-transform:none;letter-spacing:0;
  font-family:inherit;font-size:.85rem;margin:0;}
.ou-comments .comment-form .comment-form-cookies-consent input{width:auto;margin-top:3px;}

/* ============ enrichissements d'article (visa-e2 et suivants) ============ */
.ou-tocbox{background:var(--ou-cream);padding:1.6rem 1.9rem;margin:2.4rem 0;}
.ou-tocbox-lbl{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ou-accent);margin:0 0 1rem;}
.ou-tocbox-list{list-style:none;padding:0;margin:0;columns:2;column-gap:2.6rem;
  counter-reset:outoc;}
.ou-tocbox-list li{counter-increment:outoc;padding:.32rem 0;font-size:.92rem;
  break-inside:avoid;}
.ou-tocbox-list li::before{content:counter(outoc,decimal-leading-zero);
  font-family:var(--wp--preset--font-family--mono);font-size:.72rem;
  color:var(--ou-accent);margin-right:9px;}
.ou-prose .ou-tocbox-list a{text-decoration:none;color:var(--ou-ink);}
.ou-prose .ou-tocbox-list a:hover{color:var(--ou-accent);}
.ou-prose .ou-callout{border-left:3px solid var(--ou-accent);background:var(--ou-cream);
  padding:1.2rem 1.5rem;font-size:.96rem;}
.ou-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1.4rem;margin:1.8rem 0 2.2rem;}
.ou-stat{border-top:2px solid var(--ou-ink);padding-top:.7rem;}
.ou-stat-num{display:block;font-family:var(--wp--preset--font-family--serif);
  font-weight:340;font-size:1.9rem;line-height:1.1;letter-spacing:-.01em;color:var(--ou-ink);}
.ou-stat-lbl{display:block;font-family:var(--wp--preset--font-family--mono);font-size:.66rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ou-ink-2);margin-top:.45rem;line-height:1.5;}
.ou-prose .ou-btn{color:#fff;text-decoration:none;}
.ou-prose .ou-btn:hover{color:#fff;}
.ou-prose .ou-book-img{max-width:290px;}
@media (max-width:880px){
  .ou-tocbox-list{columns:1;}
  .ou-stats{grid-template-columns:repeat(2,1fr);}
}

/* ============ page a propos (lots 4-5) ============ */
.ou-profile{background:var(--ou-cream);padding:2rem 2.1rem;height:100%;}
.ou-profile-photo img{border-radius:50%;display:block;}
.ou-profile h2{font-size:1.5rem;margin:1.1rem 0 .3rem;}
.ou-profile-role{font-family:var(--wp--preset--font-family--mono);font-size:.7rem;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ou-accent);margin-bottom:1rem;}
.ou-profile p{font-size:.96rem;color:var(--ou-ink-2);margin-bottom:.8rem;}
.ou-creds-light .ou-cred{color:var(--ou-ink-2);border-color:var(--ou-line);background:#fff;}
.ou-tl{margin:1.4rem 0 0;}
.ou-tl-row{display:grid;grid-template-columns:110px 1fr;gap:1.6rem;
  padding:.95rem 0;border-top:1px solid var(--ou-line);}
.ou-tl dt{font-family:var(--wp--preset--font-family--mono);font-size:.82rem;
  letter-spacing:.1em;color:var(--ou-accent);}
.ou-tl dd{margin:0;font-size:.97rem;color:var(--ou-ink-2);max-width:44em;}
.ou-cbi-badge img{max-width:180px;height:auto;display:block;margin:0 auto;border-radius:2px;}
.ou-val{background:var(--ou-cream);padding:1.5rem 1.6rem;height:100%;}
.ou-val-lbl{font-family:var(--wp--preset--font-family--mono);font-size:.66rem;
  letter-spacing:.15em;text-transform:uppercase;color:var(--ou-accent);margin-bottom:.9rem;}
.ou-val-list{list-style:none;padding:0;margin:0;}
.ou-val-list li{font-size:.9rem;line-height:1.55;color:var(--ou-ink-2);
  padding:.55rem 0;border-top:1px solid var(--ou-line);}
.ou-val-list li:first-child{border-top:0;padding-top:0;}
@media (max-width:880px){
  .ou-tl-row{grid-template-columns:1fr;gap:.2rem;}
}

.ou-svcnote{border-left:3px solid var(--ou-accent);background:var(--ou-cream);
  padding:1.4rem 1.7rem;margin-top:1.4rem;font-family:var(--wp--preset--font-family--serif);
  font-style:italic;font-size:1.08rem;line-height:1.55;max-width:44em;}
.ou-svccta{border-top:1px solid var(--ou-line);margin-top:3.4rem;padding-top:2.4rem;
  display:flex;justify-content:space-between;align-items:center;gap:2rem;flex-wrap:wrap;}
.ou-svccta h2{font-size:1.5rem;margin:0;}
.ou-btn{display:inline-block;background:var(--ou-ink);color:#fff;text-decoration:none;
  font-family:var(--wp--preset--font-family--mono);font-size:.76rem;letter-spacing:.12em;
  text-transform:uppercase;padding:14px 26px;transition:background .15s;}
.ou-btn:hover{background:var(--ou-accent);color:#fff;}
@media (max-width:880px){
  .ou-svc{grid-template-columns:1fr;gap:1rem;}
  .ou-svcnum{padding-top:0;}
  .ou-terms{max-width:26rem;}
}

.ou-fbase{border-top:1px solid var(--ou-line);margin-top:2.8rem;padding:1.1rem 0;}
.ou-fmeta{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ou-ink-2);}
.ou-flegal{display:flex;flex-wrap:wrap;gap:.55rem 1.5rem;margin-bottom:.95rem;}
.ou-flegal a{font-family:var(--wp--preset--font-family--mono);font-size:.68rem;
  letter-spacing:.1em;text-transform:uppercase;color:var(--ou-ink-2);text-decoration:none;}
.ou-flegal a:hover{color:var(--ou-accent);}

/* ============ facade video (RGPD) ============ */
.ou-yt-facade{position:relative;aspect-ratio:16/9;margin:1.6rem 0;background:#000 center/cover no-repeat;
  border-radius:2px;overflow:hidden;cursor:pointer;border:0;padding:0;width:100%;display:block;}
.ou-yt-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:.85;}
.ou-yt-facade .ou-yt-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);
  width:64px;height:64px;border-radius:50%;background:var(--ou-accent);display:flex;
  align-items:center;justify-content:center;transition:transform .15s;}
.ou-yt-facade .ou-yt-play svg{width:22px;height:22px;fill:#fff;margin-left:3px;}
.ou-yt-facade:hover .ou-yt-play{transform:translate(-50%,-50%) scale(1.08);}

/* ============ lightbox video (facade RGPD, lecture en grand) ============ */
.ou-yt-lightbox{position:fixed;inset:0;background:rgba(10,14,20,.92);z-index:2000;
  display:none;align-items:center;justify-content:center;padding:3rem 1.5rem;}
.ou-yt-lightbox.is-open{display:flex;}
.ou-yt-lightbox-inner{position:relative;width:100%;max-width:1040px;aspect-ratio:16/9;}
.ou-yt-lightbox-frame{width:100%;height:100%;}
.ou-yt-lightbox-frame iframe{width:100%;height:100%;border:0;display:block;}
.ou-yt-lightbox-close{position:absolute;top:-2.6rem;right:0;background:none;border:0;
  color:#fff;font-size:2rem;line-height:1;cursor:pointer;padding:.3rem .6rem;}
.ou-yt-lightbox-close:hover{color:var(--ou-accent);}
@media(max-width:600px){
  .ou-yt-lightbox{padding:1rem;}
  .ou-yt-lightbox-close{top:-2.2rem;font-size:1.6rem;}
}

/* ============ bandeau cookies (informatif) ============ */
.ou-cookie-notice{position:fixed;left:1rem;right:1rem;bottom:1rem;z-index:1000;
  max-width:640px;margin:0 auto;background:var(--ou-panel);color:var(--ou-panel-text);
  border-radius:2px;box-shadow:0 12px 30px -10px rgba(0,0,0,.4);
  padding:1.1rem 1.3rem;display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.4rem;}
.ou-cookie-notice[hidden]{display:none;}
.ou-cookie-notice p{margin:0;font-size:.86rem;line-height:1.5;flex:1 1 320px;}
.ou-cookie-notice a{color:#fff;text-decoration:underline;text-decoration-color:var(--ou-accent);}
.ou-cookie-notice a:hover{color:var(--ou-accent);}
#ou-cookie-notice-close{flex:0 0 auto;background:var(--ou-accent);color:#fff;border:0;
  font-family:var(--wp--preset--font-family--mono);font-size:.76rem;letter-spacing:.1em;
  text-transform:uppercase;padding:.6rem 1.3rem;border-radius:2px;cursor:pointer;transition:background .15s;}
#ou-cookie-notice-close:hover{background:#a80d26;}
@media(max-width:480px){
  .ou-cookie-notice{padding:1rem;}
  #ou-cookie-notice-close{width:100%;}
}

/* ============ filtre par categorie (page des publications) ============ */
.ou-catfilter{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 1.8rem;}
.ou-catfilter a{font-family:var(--wp--preset--font-family--mono);font-size:.76rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ou-ink-2);text-decoration:none;
  border:1px solid var(--ou-line);border-radius:2px;padding:.5rem 1rem;transition:.15s;}
.ou-catfilter a:hover{border-color:var(--ou-ink);color:var(--ou-ink);}
.ou-catfilter a.is-active{background:var(--ou-ink);border-color:var(--ou-ink);color:#fff;}

/* ============ page videos ============ */
.ou-videos-head{margin-bottom:2.4rem;}
.ou-videos-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:32px 28px;}
.ou-video-card{display:flex;flex-direction:column;}
.ou-video-title{font-family:var(--wp--preset--font-family--serif);font-weight:500;
  font-size:1.02rem;line-height:1.3;margin:.8rem 0 4px;
  height:calc(1.3em * 2);overflow:hidden;}
.ou-video-date{font-family:var(--wp--preset--font-family--mono);font-size:.72rem;
  color:var(--ou-ink-2);margin:0;}
@media(max-width:880px){ .ou-videos-grid{grid-template-columns:repeat(2,1fr);} }
@media(max-width:560px){ .ou-videos-grid{grid-template-columns:1fr;} }
