/*
Theme Name: BJJ-Rules Broadsheet
Theme URI: https://bjj-rules.com
Description: Thème enfant GeneratePress pour BJJ-Rules.com. Style broadsheet (réf. maquettes validées le 06/08/2026) : Newsreader + Inter, manchette typographique avec katakana, liseré ceintures, mode nuit.
Author: Dylan Galea
Template: generatepress
Version: 1.4.9
Text Domain: bjj-rules-child
*/

/* ==========================================================================
   1. Variables (palette validée : encre, filets, accent unique)
   ========================================================================== */
:root{
  --ink:#121212;
  --paper:#ffffff;
  --muted:#5a5a5a;
  --faint:#6e6e6e; /* 5.0:1 sur blanc : conforme WCAG AA */
  --hair:#e2e2e2;
  --accent:#4B7DA0;
  --accent-dark:#38607e;
  --red:#a31f1f;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Inter", -apple-system, "Segoe UI", sans-serif;
}
/* Mode nuit : palette sombre chaude validée */
html.dark{
  --ink:#e8e6e1;
  --paper:#151412;
  --muted:#a8a5a0;
  --faint:#93908a;
  --hair:#2f2d2a;
  --accent:#7ba7c9;
  --accent-dark:#9cc0da;
}
html.dark img{filter:brightness(.9);}
/* Mode nuit : neutralise les couleurs de texte codées en dur dans les
   contenus (anciens articles, couleurs choisies dans l'éditeur) qui
   rendaient le texte illisible sur fond sombre */
html.dark .entry-content :is(p, li, td, th, h2, h3, h4, h5, h6, blockquote, figcaption, em, strong, b, i){color:var(--ink) !important;}
html.dark .entry-content span[style*="color"]{color:var(--ink) !important;}
html.dark .entry-content a:not(.bjjr-cta):not(.bjjr-quiz-btn):not(.wp-block-button__link){color:var(--accent-dark) !important;}
html.dark .bjjr-idcard{background:#1d1c1a;}
body, body *{transition:background-color .25s, color .25s, border-color .25s;}
@media (prefers-reduced-motion: reduce){ *{transition:none !important;} }

/* ==========================================================================
   2. Base
   ========================================================================== */
body{
  background:var(--paper) !important;
  color:var(--ink);
  font-family:var(--serif);
  font-size:17px;
  line-height:1.55;
}
/* GP pose des fonds blancs en dur sur ses conteneurs : on les neutralise
   pour que le mode nuit s'applique partout (articles, catégories, pages) */
.site, .site-content, .content-area, .site-main,
.inside-article, .separate-containers .inside-article,
.one-container .site-content, .separate-containers .site-main > *,
.separate-containers .paging-navigation, .inside-page-header,
.entry-content, .page-header{
  background-color:transparent !important;
  color:inherit;
}
/* Sécurité : si l'en-tête GP par défaut réapparaît, on le masque */
.site-header{display:none;}
.grid-container{max-width:1200px;}
h1,h2,h3,h4,h5,h6, .entry-title{font-family:var(--serif); color:var(--ink);}
a{color:inherit;}

/* Liens dans le corps des articles : accent + soulignement fin */
.entry-content a:not(.bjjr-cta):not(.wp-block-button__link){
  color:var(--accent-dark);
  text-decoration:underline;
  text-underline-offset:3px;
  text-decoration-thickness:1px;
}
.entry-content a:hover{color:var(--accent);}

/* Utilitaires éditoriaux (utilisables dans les compos Gutenberg) */
.bjjr-eyebrow{font-family:var(--sans); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; color:var(--accent-dark);}
.bjjr-meta{font-family:var(--sans); font-size:12px; color:var(--faint);}
.bjjr-rule{border:0; border-top:1px solid var(--hair); margin:0;}
.bjjr-rule-dark{border:0; border-top:1px solid var(--ink); margin:0;}

/* ==========================================================================
   3. Barre haute (date · langues · bascule jour/nuit)
   ========================================================================== */
.bjjr-topwrap{border-bottom:0;}
.bjjr-topbar{
  font-family:var(--sans); font-size:12px; color:var(--muted);
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 0;
}
.bjjr-langs a{display:inline-block; margin-left:8px; padding:8px 5px; font-weight:500; text-decoration:none; color:var(--muted);}
.bjjr-langs a:hover{color:var(--ink);}
.bjjr-langs a.active{color:var(--ink); border-bottom:2px solid var(--accent); padding-bottom:2px;}
.bjjr-theme-toggle{
  background:none; border:1px solid var(--hair); color:var(--muted);
  font-size:15px; line-height:1; padding:9px 12px; margin-left:10px;
  cursor:pointer; font-family:var(--sans); vertical-align:middle;
}
.bjjr-theme-toggle:hover{border-color:var(--ink); color:var(--ink);}

/* ==========================================================================
   4. Manchette (logo texte + katakana + liseré ceintures)
   ========================================================================== */
.bjjr-masthead{text-align:center; padding:18px 0 14px;}
.bjjr-title{
  font-family:var(--serif); font-weight:700; font-size:56px;
  letter-spacing:.5px; line-height:1; margin:0;
}
.bjjr-title a{text-decoration:none; color:var(--ink);}
.bjjr-katakana{
  font-size:31px; letter-spacing:.35em; margin:4px 0 0;
  color:var(--ink); font-weight:700;
}
.bjjr-katakana span{color:var(--red);}
html.dark .bjjr-katakana span{color:#c94f4f;}
.bjjr-tagline{font-style:italic; font-size:14px; color:var(--muted); margin:8px 0 0;}
.bjjr-belt{
  height:5px; max-width:340px; margin:14px auto 0;
  background:linear-gradient(90deg,
    #f2f2f2 0 20%, #2e6da4 20% 40%, #7b5ea7 40% 60%, #8a5a2b 60% 80%, #1a1a1a 80% 100%);
}

/* ==========================================================================
   5. Navigation principale (filets doubles, centrée, Inter)
   ========================================================================== */
.main-navigation{
  background:transparent;
  border-top:1px solid var(--ink);
  border-bottom:1px solid var(--ink);
  position:relative;
}
.main-navigation::after{
  content:""; position:absolute; left:0; right:0; bottom:-4px;
  border-bottom:1px solid var(--ink);
}
.main-navigation .main-nav ul li a{
  font-family:var(--sans); font-size:13.5px; font-weight:500;
  color:var(--ink); padding:11px 16px; line-height:normal;
}
.main-navigation .main-nav ul li a:hover,
.main-navigation .main-nav ul li[class*="current-menu-"] > a{color:var(--accent-dark);}
/* Sous-menus */
.main-navigation ul ul{background:var(--paper); border:1px solid var(--hair); box-shadow:none; width:230px;}
.main-navigation ul ul li a{font-size:13px; padding:9px 14px;}
/* Recherche de navigation GP */
.main-navigation .menu-bar-item:hover > a{background:transparent; color:var(--accent-dark);}
.navigation-search input[type="search"]{
  font-family:var(--sans); font-size:14px;
  background:var(--paper); color:var(--ink); border:1px solid var(--ink);
}
/* Menu mobile : bouton toujours visible (clair ET nuit) */
button.menu-toggle,
.main-navigation .menu-toggle,
.main-navigation .mobile-bar-items a,
.main-navigation.toggled .menu-toggle{
  color:var(--ink) !important; background:transparent !important; font-family:var(--sans);
}
button.menu-toggle:hover, button.menu-toggle:focus{background:transparent !important; color:var(--accent-dark) !important;}
.menu-toggle .gp-icon svg{fill:currentColor;}

/* ==========================================================================
   6. Contenu des articles
   ========================================================================== */
.entry-title{letter-spacing:-.3px; line-height:1.12;}
.single .entry-title{font-size:42px; font-weight:700;}
.entry-content{font-size:17.5px;}
.entry-content h2{font-size:28px; font-weight:700; margin-top:1.6em;}
.entry-content h3{font-size:22px; font-weight:500; margin-top:1.4em;}

/* Chapô italique */
.bjjr-chapo{font-style:italic; font-size:19px; color:var(--muted); line-height:1.5;}

/* Lettrine Gutenberg (bloc paragraphe > lettrine) */
.has-drop-cap:not(:focus)::first-letter{
  font-family:var(--serif); font-weight:700; color:var(--ink);
  font-size:3.4em; padding:0 .08em 0 0;
}

/* Byline + méta d'article */
.entry-meta, .bjjr-byline{font-family:var(--sans); font-size:12px; color:var(--faint);}
.entry-meta a{color:var(--faint); text-decoration:none;}
.entry-meta a:hover{color:var(--ink);}

/* Légendes d'images */
.wp-block-image figcaption, figcaption{
  font-family:var(--sans); font-size:11.5px; color:var(--faint); margin-top:7px; text-align:left;
}

/* Citations */
.entry-content blockquote{
  border-left:3px solid var(--ink); padding-left:20px; margin-left:0;
  font-style:italic; color:var(--muted);
}

/* Séparateur Gutenberg = filet fin */
hr.wp-block-separator{border:0; border-top:1px solid var(--hair); max-width:100%;}
hr.wp-block-separator.is-style-wide{border-top:1px solid var(--ink);}

/* Tableaux (fiches, palmarès) */
.entry-content table{border-collapse:collapse; font-size:15px;}
.entry-content td, .entry-content th{border:1px solid var(--hair); padding:8px 12px;}
.entry-content th{font-family:var(--sans); font-size:12px; letter-spacing:.06em; text-transform:uppercase;}

/* ==========================================================================
   7. Encadrés éditoriaux (patterns)
   ========================================================================== */
/* Fiche d'identité (filaire, fond légèrement teinté) */
.bjjr-idcard{
  background:#fafafa; border:1px solid var(--hair); padding:22px 24px; margin:28px 0;
}
.bjjr-idcard h3, .bjjr-idcard h4{
  font-family:var(--sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:600; margin:0 0 12px; padding-bottom:8px; border-bottom:1px solid var(--ink);
}
.bjjr-idcard ul{list-style:none; margin:0; padding:0;}
.bjjr-idcard li{padding:6px 0; border-bottom:1px solid var(--hair); font-size:15px;}
.bjjr-idcard li:last-child{border-bottom:0;}
.bjjr-idcard .sources{font-family:var(--sans); font-size:11px; color:var(--faint); margin-top:10px;}

/* Encadré affilié restylé (liseré bleu + label transparence) */
.bjjr-affilie{
  border:1px solid var(--hair); border-left:4px solid var(--accent);
  padding:20px 22px; margin:30px 0;
  display:grid; grid-template-columns:110px minmax(0,1fr); gap:20px; align-items:center;
}
.bjjr-affilie .label{
  grid-column:1 / -1; font-family:var(--sans); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint);
}
.bjjr-affilie img{width:110px; height:auto; display:block;}
.bjjr-affilie h4{font-size:19px; font-weight:700; margin:0 0 6px;}
.bjjr-affilie p{font-size:14.5px; color:var(--muted); margin:0 0 10px;}
.bjjr-cta{
  display:inline-block; font-family:var(--sans); font-size:13px; font-weight:600;
  letter-spacing:.03em; padding:10px 18px; background:#38607e; color:#fff !important;
  text-decoration:none !important;
}
.bjjr-cta:hover{background:#2c4d66; color:#fff;}
@media (max-width:560px){
  .bjjr-affilie{grid-template-columns:1fr;}
  .bjjr-affilie img{margin:0 auto;}
}

/* Bloc newsletter entre filets */
.bjjr-newsletter{
  border-top:1px solid var(--ink); border-bottom:1px solid var(--ink);
  padding:30px 0; margin:40px 0;
}
.bjjr-newsletter h2, .bjjr-newsletter h3{font-size:26px; font-weight:700; line-height:1.2; margin:0 0 8px;}
.bjjr-newsletter p{color:var(--muted); font-size:15.5px; margin:0 0 14px;}
.bjjr-newsletter .privacy{font-family:var(--sans); font-size:11px; color:var(--faint); margin-top:8px;}
/* Styles MailPoet */
.mailpoet_form{padding:0 !important; background:transparent !important;}
.mailpoet_paragraph{margin-bottom:10px !important;}
.mailpoet_text, .mailpoet_text_input, .mailpoet_form input[type="email"], .mailpoet_form input[type="text"]{
  font-family:var(--sans) !important; font-size:14px !important; padding:12px 14px !important;
  border:1px solid var(--ink) !important; border-radius:0 !important;
  background:var(--paper) !important; color:var(--ink) !important; width:100%;
}
.mailpoet_submit, .mailpoet_form input[type="submit"]{
  font-family:var(--sans) !important; font-size:13px !important; font-weight:600 !important;
  letter-spacing:.03em !important; padding:12px 22px !important;
  background:#38607e !important; color:#fff !important; border:0 !important; border-radius:0 !important;
  cursor:pointer;
}
.mailpoet_submit:hover{background:#2c4d66 !important;}

/* Encart marques du fondateur (ex-« PARTENAIRE ») */
.bjjr-partner{text-align:center; margin:36px 0;}
.bjjr-partner .label{
  font-family:var(--sans); font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--faint); display:block; margin-bottom:8px;
}
.bjjr-partner img{margin:0 auto; max-width:520px; height:auto;}

/* ==========================================================================
   8. Grilles de la une / rubriques (patterns home et catégorie)
   ========================================================================== */
.bjjr-section-head{display:flex; align-items:baseline; gap:14px; padding-bottom:8px; border-bottom:1px solid var(--ink);}
.bjjr-section-head h2{font-size:22px; font-weight:700; margin:0;}
.bjjr-section-head .more{margin-left:auto; font-family:var(--sans); font-size:12.5px; font-weight:500; color:var(--accent-dark); text-decoration:none; white-space:nowrap;}

/* Cartes règles (filet épais + bouton quiz) */
.bjjr-rules-grid article, .bjjr-rule-card{border-top:3px solid var(--ink); padding-top:10px;}
.bjjr-quiz-btn{
  display:inline-block; margin-top:9px; font-family:var(--sans); font-size:11px;
  font-weight:600; letter-spacing:.05em; color:var(--accent-dark);
  border:1px solid var(--accent); padding:3px 9px; text-decoration:none !important;
}
.bjjr-quiz-btn:hover{background:var(--accent); color:#fff;}

/* Portraits N&B → couleur au survol */
.bjjr-portraits img{filter:grayscale(35%); transition:filter .25s; aspect-ratio:4/3; object-fit:cover;}
.bjjr-portraits a:hover img{filter:grayscale(0%);}

/* ==========================================================================
   8 bis. Pages d'archives (catégories, étiquettes, recherche) : rivière
   broadsheet, vignettes uniformes 3:2 recadrées
   ========================================================================== */
.archive .page-header, .search .page-header{
  padding:30px 0 20px; border-bottom:1px solid var(--ink); margin-bottom:4px;
}
.archive .page-header h1, .search .page-header h1{
  font-size:42px; font-weight:700; letter-spacing:-.3px; line-height:1.05; margin:0;
}
.archive .page-header .taxonomy-description{margin-top:12px;}
.archive .page-header .taxonomy-description p{font-size:16px; color:var(--muted); margin:0;}

.archive .site-main article .inside-article,
.blog .site-main article .inside-article,
.search .site-main article .inside-article{
  display:grid;
  grid-template-columns:minmax(0,1fr) 280px;
  column-gap:28px;
  align-items:center;
  padding:26px 0;
  border-bottom:1px solid var(--hair);
}
.archive .site-main article, .blog .site-main article, .search .site-main article{
  margin-bottom:0;
}
.archive .inside-article .post-image,
.blog .inside-article .post-image,
.search .inside-article .post-image{
  grid-column:2; grid-row:1 / span 4; margin:0;
}
.archive .inside-article .post-image img,
.blog .inside-article .post-image img,
.search .inside-article .post-image img{
  width:100%; height:auto; aspect-ratio:4/3; object-fit:cover;
  object-position:50% 18%; /* cadrage haut : ne coupe pas les têtes */
}
.archive .inside-article > *:not(.post-image),
.blog .inside-article > *:not(.post-image),
.search .inside-article > *:not(.post-image){
  grid-column:1;
}
.archive .inside-article .entry-title, .blog .inside-article .entry-title, .search .inside-article .entry-title{
  font-size:22px; line-height:1.25; font-weight:500; margin:0 0 6px;
}
.archive .inside-article .entry-title a{color:var(--ink); text-decoration:none;}
.archive .inside-article .entry-title a:hover{color:var(--accent-dark);}
.archive .entry-summary p, .blog .entry-summary p, .search .entry-summary p{
  font-size:15px; color:var(--muted); margin:0 0 8px;
}
@media (max-width:640px){
  .archive .site-main article .inside-article,
  .blog .site-main article .inside-article,
  .search .site-main article .inside-article{grid-template-columns:1fr;}
  .archive .inside-article .post-image,
  .blog .inside-article .post-image,
  .search .inside-article .post-image{grid-column:1; grid-row:auto; margin-bottom:12px;}
}

/* Image mise en avant des articles : centrée
   (GP utilise .post-image en archive mais .featured-image en article) */
.single .post-image, .page .post-image,
.single .featured-image, .page .featured-image{margin:0 0 24px; text-align:center;}
.single .post-image img, .page .post-image img,
.single .featured-image img, .page .featured-image img{margin-left:auto; margin-right:auto;}

/* Byline : ne montrer que la date de publication (la date de mise à jour
   s'affichait collée à la première, ex. « 24 juillet 202620 novembre 2025 ») */
.single .entry-meta time.updated:not(.published){display:none;}

/* Images DANS le contenu des articles : centrées aussi (sauf alignement
   gauche/droite explicite), pour rattraper les anciens contenus */
.single .entry-content img:not(.alignleft):not(.alignright),
.single .entry-content figure:not(.alignleft):not(.alignright) > img{
  display:block; margin-left:auto; margin-right:auto;
}
.single .entry-content .wp-block-image:not(.alignleft):not(.alignright){text-align:center;}

/* Loupe et icônes de navigation : suivent la couleur d'encre (visibles en mode nuit) */
.main-navigation .menu-bar-items,
.main-navigation .menu-bar-item > a,
.main-navigation .menu-bar-item > a:hover,
.main-navigation .search-item a{color:var(--ink);}
.main-navigation .menu-bar-item > a:hover{color:var(--accent-dark);}

/* Icônes sociales : magenta Instagram pour attirer l'œil */
.bjjr-social{display:inline-flex; align-items:center; vertical-align:middle;}
.bjjr-social a{display:inline-flex; align-items:center; padding:8px 6px; color:#C13584;}
.bjjr-social a:hover{color:#E4405F;}
html.dark .bjjr-social a{color:#e0669f;}
html.dark .bjjr-social a:hover{color:#f08cba;}
.bjjr-social svg{width:19px; height:19px;}
.bjjr-topbar .bjjr-social{margin-left:8px;}
.bjjr-foot-brand .bjjr-social{margin-top:10px; margin-left:-6px;}
.bjjr-foot-brand .bjjr-social svg{width:22px; height:22px;}

/* Mini drapeaux du sélecteur de langues */
.bjjr-langs img{
  width:16px; height:auto; display:inline-block;
  margin-right:5px; vertical-align:-1px; border-radius:1px;
}

/* ==========================================================================
   9 bis. Pied de page trilingue (généré par le thème enfant)
   ========================================================================== */
.bjjr-footer{
  margin-top:44px; border-top:3px double var(--ink);
  padding:30px 0 10px; font-family:var(--sans);
}
.bjjr-footgrid{display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px;}
.bjjr-foot-brand .name{font-family:var(--serif); font-weight:700; font-size:24px; color:var(--ink); display:block;}
.bjjr-foot-katakana{
  font-family:var(--serif); font-size:20px; letter-spacing:.35em; font-weight:700;
  color:var(--ink); display:block; margin-top:4px;
}
.bjjr-foot-katakana span{color:var(--red);}
html.dark .bjjr-foot-katakana span{color:#c94f4f;}
.bjjr-foot-brand p{font-size:13.5px; color:var(--muted); margin-top:8px; line-height:1.5;}
.bjjr-foot-col h4, .bjjr-foot-col .bjjr-foot-title{
  font-family:var(--sans); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:600; color:var(--ink); margin:0 0 12px;
}
.bjjr-foot-col ul{list-style:none; margin:0; padding:0;}
.bjjr-foot-col li{padding:4px 0;}
.bjjr-foot-col a{color:var(--muted); font-size:13.5px; text-decoration:none;}
.bjjr-foot-col a:hover{color:var(--ink);}
@media (max-width:768px){ .bjjr-footgrid{grid-template-columns:1fr 1fr;} }
@media (max-width:480px){ .bjjr-footgrid{grid-template-columns:1fr;} }
/* Le footer GP ne garde que la ligne © : plus de double filet ni de marge */
.site-footer{border-top:0; margin-top:0;}

/* ==========================================================================
   8 ter. HOME broadsheet (classes des gabarits Gutenberg)
   ========================================================================== */
/* Masque le titre de page et colle la une en haut sur la page d'accueil */
.page:has(.bjjr-front) .entry-header{display:none;}
.page:has(.bjjr-front) .site-main{margin-top:0;}

/* Les liens éditoriaux de la home ne doivent PAS hériter du style des liens
   d'article (soulignement + couleur accent) : override à spécificité supérieure */
.entry-content .bjjr-front a,
.entry-content .bjjr-rules-grid a,
.entry-content .bjjr-portraits a,
.entry-content .bjjr-lists a,
.entry-content .bjjr-partner a,
.entry-content .bjjr-side-item{
  text-decoration:none !important;
  color:inherit;
}
.entry-content .bjjr-front a:hover h2,
.entry-content .bjjr-front a:hover h3,
.entry-content .bjjr-rules-grid a:hover h3,
.entry-content .bjjr-portraits a:hover h3,
.entry-content .bjjr-lists a:hover{color:var(--accent-dark);}
.entry-content .bjjr-section-head a.more{text-decoration:none !important; color:var(--accent-dark);}
.entry-content .bjjr-quiz-btn{color:var(--accent-dark);}
.entry-content .bjjr-quiz-btn:hover{color:#fff;}
.entry-content .bjjr-meta, .entry-content .bjjr-front p{color:var(--muted);}
.entry-content .bjjr-meta{color:var(--faint);}

/* Filet double d'ouverture de section */
.bjjr-rule-double{border:0; border-top:1px solid var(--ink); position:relative; margin:44px 0 0;}
.bjjr-rule-double::before{content:""; position:absolute; left:0; right:0; top:-4px; border-top:1px solid var(--ink);}

/* Une en 3 colonnes */
.bjjr-front{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.9fr) minmax(0,1fr); gap:0; margin-top:26px;}
.bjjr-front > div{padding:0 26px;}
.bjjr-front > div:first-child{padding-left:0; border-right:1px solid var(--hair);}
.bjjr-front > div:last-child{padding-right:0; border-left:1px solid var(--hair);}
.bjjr-front a{text-decoration:none; color:inherit;}
.bjjr-front h2, .bjjr-front h3, .bjjr-front p{margin:0;}
.bjjr-front a:hover h2, .bjjr-front a:hover h3{color:var(--accent-dark);}

.bjjr-lead .bjjr-eyebrow{display:block;}
.bjjr-lead h2{font-size:33px; line-height:1.16; font-weight:700; margin:10px 0 12px; letter-spacing:-.2px;}
.bjjr-lead .standfirst{font-size:16.5px; color:var(--muted); margin:0 0 16px;}
.bjjr-lead figure{margin:0;}
.bjjr-lead img{width:100%; height:auto; aspect-ratio:16/10; object-fit:cover; display:block;}

.bjjr-side-item{display:block; padding:16px 0;}
.bjjr-side-item + .bjjr-side-item{border-top:1px solid var(--hair);}
.bjjr-side-item h3{font-size:18.5px; line-height:1.28; font-weight:500;}
.bjjr-side-item p{font-size:14.5px; color:var(--muted); margin-top:6px;}
.bjjr-side-item .bjjr-meta{display:block; margin-top:8px;}
.bjjr-side-item .bjjr-eyebrow{display:block; margin-bottom:6px;}

.bjjr-thumb-item{display:grid; grid-template-columns:1fr 96px; gap:14px; align-items:start;}
.bjjr-thumb-item img{width:100%; height:auto; aspect-ratio:1; object-fit:cover; display:block;}
.bjjr-thumb-item .bjjr-meta{margin-top:6px;}

/* Têtes de section */
.bjjr-section-head{display:flex; align-items:baseline; gap:14px; margin-top:14px; padding-bottom:8px; flex-wrap:wrap;}
.bjjr-section-head h2{font-size:22px; font-weight:700; margin:0;}
.bjjr-section-head .sub{font-family:var(--sans); font-size:12.5px; color:var(--faint);}
.bjjr-section-head .more{margin-left:auto; font-family:var(--sans); font-size:12.5px; font-weight:500; color:var(--accent-dark); text-decoration:none; white-space:nowrap;}

/* Cartes règles + quiz */
.bjjr-rules-grid{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding-top:18px;}
.bjjr-rules-grid article{border-top:3px solid var(--ink); padding-top:10px;}
.bjjr-rules-grid a{text-decoration:none; color:inherit;}
.bjjr-rules-grid h3{font-size:17.5px; line-height:1.3; font-weight:500; margin:0;}
.bjjr-rules-grid a:hover h3{color:var(--accent-dark);}
.bjjr-rules-grid .bjjr-meta{display:block; margin-top:6px;}

/* Portraits N&B → couleur */
.bjjr-portraits{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding-top:18px;}
.bjjr-portraits a{display:block; text-decoration:none; color:inherit;}
.bjjr-portraits img{width:100%; height:auto; display:block;}
.bjjr-portraits .bjjr-eyebrow{display:block; margin-top:10px;}
.bjjr-portraits h3{font-size:17.5px; line-height:1.3; font-weight:500; margin:4px 0 0;}
.bjjr-portraits a:hover h3{color:var(--accent-dark);}

/* Bande 3 colonnes de listes */
.bjjr-lists{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; padding-top:6px; margin-top:12px;}
.bjjr-lists > div{padding:14px 26px 0;}
.bjjr-lists > div:first-child{padding-left:0;}
.bjjr-lists > div:last-child{padding-right:0;}
.bjjr-lists > div + div{border-left:1px solid var(--hair);}
.bjjr-lists h3{font-family:var(--sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; padding-bottom:10px; border-bottom:1px solid var(--ink); margin:0 0 4px;}
.bjjr-lists ul{list-style:none; margin:0; padding:0;}
.bjjr-lists li{padding:11px 0; border-bottom:1px solid var(--hair);}
.bjjr-lists li:last-child{border-bottom:0;}
.bjjr-lists li a{font-size:15.5px; line-height:1.35; font-weight:500; text-decoration:none; color:inherit;}
.bjjr-lists li a:hover{color:var(--accent-dark);}
.bjjr-lists .bjjr-meta{display:block; margin-top:4px;}

/* Newsletter de la home : 2 colonnes */
.bjjr-newsletter-grid{display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); gap:40px; align-items:center;}

/* Encart marques */
.bjjr-partner .partner-frame{display:block; max-width:620px; margin:10px auto 0; border:1px solid var(--hair);}
.bjjr-partner .partner-frame img{width:100%; height:auto; display:block;}
.bjjr-partner .bjjr-meta{display:block; margin-top:7px;}

/* Responsive home */
@media (max-width:980px){
  .bjjr-front{grid-template-columns:1fr;}
  .bjjr-front > div{padding:0 !important; border:0 !important;}
  .bjjr-front > div:first-child{order:2; margin-top:20px; border-top:1px solid var(--hair) !important; padding-top:6px !important;}
  .bjjr-front > div:last-child{order:3; margin-top:20px; border-top:1px solid var(--hair) !important; padding-top:6px !important;}
  .bjjr-lead h2{font-size:27px;}
  .bjjr-rules-grid, .bjjr-portraits{grid-template-columns:repeat(2,minmax(0,1fr));}
  .bjjr-lists{grid-template-columns:1fr;}
  .bjjr-lists > div{padding:14px 0 0; border-left:0 !important;}
  .bjjr-lists > div + div{border-top:1px solid var(--hair);}
  .bjjr-newsletter-grid{grid-template-columns:1fr; gap:18px;}
}
@media (max-width:560px){
  .bjjr-rules-grid, .bjjr-portraits{grid-template-columns:1fr;}
}

/* ==========================================================================
   8 quater. HOME DYNAMIQUE (blocs Query Loop : la une se met à jour seule)
   ========================================================================== */
.page:has(.bjjr-front-dyn) .entry-header, .page:has(.bjjr-front-cols) .entry-header{display:none;}
.page:has(.bjjr-front-dyn) .site-main, .page:has(.bjjr-front-cols) .site-main{margin-top:0;}

/* Une sur bloc Colonnes natif (robuste à la re-sauvegarde de l'éditeur) */
.bjjr-front-cols{margin-top:26px; gap:0 !important;}
.bjjr-front-cols > .wp-block-column:first-child{padding-right:26px; border-right:1px solid var(--hair);}
.bjjr-front-cols > .wp-block-column:nth-child(2){padding:0 26px;}
.bjjr-front-cols > .wp-block-column:last-child{padding-left:26px; border-left:1px solid var(--hair);}
@media (max-width:781px){
  .bjjr-front-cols > .wp-block-column{padding:0 !important; border:0 !important;}
  .bjjr-front-cols > .wp-block-column:nth-child(2){order:-1;}
  .bjjr-front-cols > .wp-block-column:first-child{margin-top:20px; border-top:1px solid var(--hair) !important; padding-top:6px !important;}
  .bjjr-front-cols > .wp-block-column:last-child{margin-top:20px; border-top:1px solid var(--hair) !important; padding-top:6px !important;}
}

.bjjr-front-dyn{display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.9fr) minmax(0,1fr); gap:0; margin-top:26px;}
.bjjr-front-dyn > .bjjr-q-left{padding-right:26px; border-right:1px solid var(--hair);}
.bjjr-front-dyn > .bjjr-q-lead{padding:0 26px;}
.bjjr-front-dyn > .bjjr-q-right{padding-left:26px; border-left:1px solid var(--hair);}

/* Blocs communs des requêtes (ciblés directement : indépendants du conteneur) */
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right,.bjjr-q-portraits){margin:0;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right,.bjjr-q-portraits) .wp-block-post-template{list-style:none; margin:0; padding:0;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right,.bjjr-q-portraits) .wp-block-post-title{font-family:var(--serif); margin:0;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right,.bjjr-q-portraits) .wp-block-post-title a{text-decoration:none !important; color:inherit;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right,.bjjr-q-portraits) .wp-block-post-title a:hover{color:var(--accent-dark);}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right) .wp-block-post-excerpt{margin:0;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right) .wp-block-post-excerpt p{margin:6px 0 0; color:var(--muted);}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right) .wp-block-post-date{display:block; font-family:var(--sans); font-size:12px; color:var(--faint); margin-top:8px;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right) .wp-block-post-date a{color:var(--faint); text-decoration:none !important;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right) .wp-block-post-terms{display:block; font-family:var(--sans); font-size:11px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; margin-bottom:6px;}
:is(.bjjr-q-left,.bjjr-q-lead,.bjjr-q-right) .wp-block-post-terms a{color:var(--accent-dark); text-decoration:none !important;}

/* Colonne gauche : analyses */
.bjjr-q-left li.wp-block-post{padding:16px 0;}
.bjjr-q-left li.wp-block-post:first-child{padding-top:0;}
.bjjr-q-left li.wp-block-post + li.wp-block-post{border-top:1px solid var(--hair);}
.bjjr-q-left .wp-block-post-title{font-size:18.5px; line-height:1.28; font-weight:500;}
.bjjr-q-left .wp-block-post-excerpt p{font-size:14.5px;}

/* Lead central */
.bjjr-q-lead .wp-block-post-title{font-size:33px; line-height:1.16; font-weight:700; letter-spacing:-.2px; margin:6px 0 12px;}
.bjjr-q-lead .wp-block-post-excerpt p{font-size:16.5px; margin:0 0 16px;}
.bjjr-q-lead .wp-block-post-featured-image{margin:0;}
.bjjr-q-lead .wp-block-post-featured-image img{width:100%; height:auto; aspect-ratio:3/2; object-fit:cover; object-position:50% 25%;}
.bjjr-q-lead .wp-block-post-featured-image a{display:block;}

/* Colonne droite : brèves à vignettes */
.bjjr-q-right li.wp-block-post{display:grid; grid-template-columns:1fr 80px; gap:12px; align-items:start; padding:14px 0;}
.bjjr-q-right li.wp-block-post:first-child{padding-top:0;}
.bjjr-q-right li.wp-block-post + li.wp-block-post{border-top:1px solid var(--hair);}
.bjjr-q-right .wp-block-post-featured-image{grid-column:2; grid-row:1 / span 3; margin:0;}
.bjjr-q-right .wp-block-post-featured-image img{width:100%; height:auto; aspect-ratio:1; object-fit:cover; object-position:50% 20%;}
.bjjr-q-right .wp-block-post-title{grid-column:1; font-size:16.5px; line-height:1.3; font-weight:500;}
.bjjr-q-right .wp-block-post-date{grid-column:1; margin-top:6px;}
.bjjr-q-right .wp-block-post-terms{grid-column:1; margin-bottom:0;}

/* Rangée portraits automatique */
.bjjr-q-portraits .wp-block-post-template{display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:26px; padding-top:18px;}
.bjjr-q-portraits .wp-block-post-featured-image{margin:0;}
.bjjr-q-portraits .wp-block-post-featured-image img{width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; object-position:50% 18%; filter:grayscale(35%); transition:filter .25s;}
.bjjr-q-portraits li.wp-block-post:hover .wp-block-post-featured-image img{filter:grayscale(0%);}
.bjjr-q-portraits .wp-block-post-title{font-family:var(--serif); font-size:17.5px; line-height:1.3; font-weight:500; margin:10px 0 0;}
.bjjr-q-portraits .wp-block-post-title a{text-decoration:none !important; color:inherit;}
.bjjr-q-portraits .wp-block-post-title a:hover{color:var(--accent-dark);}

/* Colonnes de listes dynamiques (boucles par catégorie) */
.bjjr-q-list{margin:0;}
.bjjr-q-list .wp-block-post-template{list-style:none; margin:0; padding:0;}
.bjjr-q-list li.wp-block-post{padding:11px 0; border-bottom:1px solid var(--hair);}
.bjjr-q-list li.wp-block-post:last-child{border-bottom:0;}
.bjjr-q-list .wp-block-post-title{font-family:var(--serif); font-size:15.5px; line-height:1.35; font-weight:500; margin:0;}
.bjjr-q-list .wp-block-post-title a{text-decoration:none !important; color:inherit;}
.bjjr-q-list .wp-block-post-title a:hover{color:var(--accent-dark);}
.bjjr-q-list .wp-block-post-date{display:block; font-family:var(--sans); font-size:12px; color:var(--faint); margin-top:4px;}
.bjjr-q-list .wp-block-post-date a{color:var(--faint); text-decoration:none !important;}
.bjjr-lists-cols{gap:0 !important; margin-top:12px;}
.bjjr-lists-cols > .wp-block-column{padding:14px 26px 0;}
.bjjr-lists-cols > .wp-block-column:first-child{padding-left:0;}
.bjjr-lists-cols > .wp-block-column:last-child{padding-right:0;}
.bjjr-lists-cols > .wp-block-column + .wp-block-column{border-left:1px solid var(--hair);}
.bjjr-lists-cols h3{font-family:var(--sans); font-size:12px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; padding-bottom:10px; border-bottom:1px solid var(--ink); margin:0 0 4px;}
@media (max-width:781px){
  .bjjr-lists-cols > .wp-block-column{padding:14px 0 0 !important; border-left:0 !important;}
  .bjjr-lists-cols > .wp-block-column + .wp-block-column{border-top:1px solid var(--hair);}
}

/* Responsive une dynamique */
@media (max-width:980px){
  .bjjr-front-dyn{grid-template-columns:1fr;}
  .bjjr-front-dyn > .bjjr-q-lead{order:1; padding:0;}
  .bjjr-front-dyn > .bjjr-q-left{order:2; padding:6px 0 0; border-right:0; border-top:1px solid var(--hair); margin-top:20px;}
  .bjjr-front-dyn > .bjjr-q-right{order:3; padding:6px 0 0; border-left:0; border-top:1px solid var(--hair); margin-top:20px;}
  .bjjr-q-lead .wp-block-post-title{font-size:27px;}
  .bjjr-q-portraits .wp-block-post-template{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:560px){
  .bjjr-q-portraits .wp-block-post-template{grid-template-columns:1fr;}
}

/* ==========================================================================
   9. Pied de page
   ========================================================================== */
.site-footer{background:var(--paper); color:var(--muted); margin-top:44px; border-top:3px double var(--ink);}
.footer-widgets{background:transparent; padding:30px 0 10px; font-family:var(--sans); font-size:13.5px;}
.footer-widgets .widget-title{
  font-family:var(--sans); font-size:11px; letter-spacing:.12em; text-transform:uppercase;
  font-weight:600; color:var(--ink); margin-bottom:12px;
}
.footer-widgets a{color:var(--muted); text-decoration:none;}
.footer-widgets a:hover{color:var(--ink);}
.footer-widgets ul li{padding:4px 0; border:0;}
.site-info{
  background:transparent; color:var(--faint);
  font-family:var(--sans); font-size:11.5px;
  border-top:1px solid var(--hair); padding:14px 0 30px;
}

/* ==========================================================================
   10. Divers
   ========================================================================== */
/* Boutons Gutenberg alignés sur le CTA maison */
.wp-block-button__link{
  font-family:var(--sans); font-size:13px; font-weight:600; letter-spacing:.03em;
  background:#38607e; color:#fff; border-radius:0; padding:12px 22px;
}
.wp-block-button__link:hover{background:#2c4d66;}

/* Pagination archives */
.paging-navigation, .page-numbers{font-family:var(--sans); font-size:13px;}

/* Champ de recherche */
input[type="search"], .search-field{
  font-family:var(--sans); font-size:14px; padding:10px 14px;
  border:1px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink);
}
.search-form .search-submit{
  font-family:var(--sans); font-size:13px; font-weight:600;
  background:#38607e; color:#fff; border:0; border-radius:0; padding:10px 18px;
}

/* Responsive manchette */
@media (max-width:768px){
  .bjjr-title{font-size:40px;}
  .bjjr-katakana{font-size:24px;}
  .single .entry-title{font-size:30px;}
}
