/*
Theme Name: Justice Infos Burkina
Theme URI: https://justiceinfos.bf/
Author: Justice Infos Burkina
Description: Thème WordPress professionnel pour Justice Infos Burkina - site d'actualités juridiques et judiciaires du Burkina Faso. Design sobre et élégant inspiré de leFaso.net, aux couleurs or, bleu marine et crème du logo.
Version: 1.0.0
Requires at least: 5.8
Tested up to: 6.5
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: justiceinfos
Tags: blog, news, magazine, custom-logo, custom-menu, featured-images, footer-widgets, translation-ready
*/

/* ============================================================
   VARIABLES — Couleurs du logo Justice Infos Burkina
   Or/Doré : #B8860B / #C9941A / #D4A017
   Bleu marine : #2C3354 / #1E2444
   Crème/Beige : #F5F0E8 / #EDE8D8
   ============================================================ */
:root {
  --ji-or:         #C9941A;
  --ji-or-light:   #D4A82A;
  --ji-or-dark:    #9A6E0E;
  --ji-marine: #003aa0;
  --ji-marine-dark: #002a7a;
  --ji-marine-mid: #1a55c8;
  --ji-creme:      #F5F0E8;
  --ji-creme2:     #EDE8D8;
  --ji-dark:       #1A1A1A;
  --ji-mid:        #333333;
  --ji-muted:      #666666;
  --ji-light:      #F8F6F0;
  --ji-white:      #FFFFFF;
  --ji-border:     #D8D0C0;
  --ji-border2:    #C8C0B0;
  --ji-rouge:      #8B1A1A;
  --ji-font-title: 'Georgia', 'Times New Roman', serif;
  --ji-font-body:  'Arial', 'Helvetica Neue', sans-serif;
  --ji-font-ui:    'Arial', sans-serif;
  --ji-shadow:     0 2px 6px rgba(44,51,84,0.12);
  --ji-container:  100%;
}

/* ============================================================
   RESET & BASE
   ============================================================ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html, body { font-size: 16px; scroll-behavior: smooth; width: 100%; margin: 0; padding: 0; overflow-x: hidden; }
body { font-family: var(--ji-font-body); background: var(--ji-white); color: var(--ji-dark); line-height: 1.55; margin: 0 !important; padding: 0 !important; width: 100% !important; }
a { color: var(--ji-marine); text-decoration: none; transition: color 0.2s; }
a:hover { color: var(--ji-or); }
img { max-width: 100%; height: auto; display: block; }
ul, ol { list-style: none; }
p { margin-bottom: 0.85rem; }
h1,h2,h3,h4,h5,h6 { font-family: var(--ji-font-title); color: var(--ji-marine); line-height: 1.3; }

/* ============================================================
   LAYOUT
   ============================================================ */
.ji-wrap        { background: var(--ji-white); width: 100% !important; max-width: 100% !important; min-height: 100vh; margin: 0 !important; padding: 0 !important; }
.ji-inner       { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.ji-row         { display: flex; flex-wrap: wrap; }
.ji-col-main    { flex: 1; min-width: 0; padding-right: 14px; }
.ji-col-sidebar { width: 230px; flex-shrink: 0; }

/* ============================================================
   TOP BAR
   ============================================================ */
.ji-topbar {
  background: #002a7a;
  border-bottom: 3px solid var(--ji-or);
  padding: 6px 0;
  font-size: 13px;
  width: 100%;
}
.ji-topbar-inner { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 6px; }
.ji-topbar-left  { display: flex; align-items: center; gap: 14px; color: #aab0c8; }
.ji-topbar-date  { color: #aab0c8; font-size: 13px; }
.ji-topbar-date i { margin-right: 4px; color: var(--ji-or); }
.ji-topbar-slogan { color: var(--ji-or); font-style: italic; font-size: 13px; }
.ji-topbar-social { display: flex; gap: 6px; }
.ji-topbar-social a {
  display: inline-flex; align-items: center; justify-content: center;
  width: 23px; height: 23px; border-radius: 3px;
  color: #fff; font-size: 11px; font-weight: bold; transition: opacity 0.2s;
}
.ji-topbar-social a:hover { opacity: 0.8; }
.ji-soc-fb { background: #1877f2; }
.ji-soc-tw { background: #111; }
.ji-soc-yt { background: #ff0000; }
.ji-soc-wa { background: #25d366; }
.ji-soc-ig { background: linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888); }

/* ============================================================
   HEADER
   ============================================================ */
.ji-header {
  background: #003aa0;
  padding: 14px 0;
  border-bottom: 4px solid var(--ji-or);
  width: 100%;
}
.ji-header-inner { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.ji-logo-wrap    { display: flex; align-items: center; gap: 14px; }
.ji-logo-img img { height: 80px; width: auto; border-radius: 50%; border: 3px solid var(--ji-or); background: var(--ji-creme); }
.ji-logo-text    { color: var(--ji-white); }
.ji-logo-title   { font-family: var(--ji-font-title); font-size: 38px; font-weight: bold; letter-spacing: 1px; color: var(--ji-or); line-height: 1; }
.ji-logo-title a { color: inherit; }
.ji-logo-title a:hover { color: var(--ji-or-light); }
.ji-logo-sub     { font-size: 14px; color: #a0a8c0; margin-top: 4px; font-style: italic; }
.ji-logo-badge   {
  display: inline-block; background: var(--ji-or); color: var(--ji-marine-dark);
  font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1px;
  padding: 2px 8px; border-radius: 10px; margin-top: 5px;
}
.ji-header-right { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; }
.ji-header-search form { display: flex; }
.ji-header-search input[type="search"] {
  padding: 7px 12px; border: 2px solid var(--ji-or-dark);
  border-right: none; font-size: 13px; width: 200px; outline: none;
  background: rgba(255,255,255,0.1); color: #fff;
  border-radius: 3px 0 0 3px; transition: border-color 0.2s;
}
.ji-header-search input::placeholder { color: rgba(255,255,255,0.5); }
.ji-header-search input:focus { border-color: var(--ji-or); background: rgba(255,255,255,0.15); }
.ji-header-search button {
  padding: 7px 14px; background: var(--ji-or); color: var(--ji-marine-dark);
  border: 2px solid var(--ji-or); border-radius: 0 3px 3px 0;
  cursor: pointer; font-size: 14px; font-weight: bold; transition: background 0.2s;
}
.ji-header-search button:hover { background: var(--ji-or-light); border-color: var(--ji-or-light); }

/* ============================================================
   NAVBAR PRINCIPALE
   ============================================================ */
.ji-navbar { background: #1a55c8; border-bottom: 3px solid var(--ji-or-dark); width: 100%; }
.ji-nav-inner { display: flex; align-items: stretch; position: relative; }
.ji-nav-menu { display: flex; flex-wrap: wrap; list-style: none; }
.ji-nav-menu > li { position: relative; }
.ji-nav-menu > li > a {
  display: block; padding: 11px 18px; color: #d8dce8;
  font-size: 15px; font-weight: bold; font-family: var(--ji-font-ui);
  text-transform: uppercase; letter-spacing: 0.4px; white-space: nowrap;
  border-right: 1px solid rgba(255,255,255,0.1);
  border-bottom: 3px solid transparent;
  transition: all 0.15s;
}
.ji-nav-menu > li > a:hover,
.ji-nav-menu > li.current-menu-item > a {
  color: var(--ji-or); border-bottom-color: var(--ji-or);
  background: rgba(0,0,0,0.15);
}
.ji-nav-menu .sub-menu {
  position: absolute; top: 100%; left: 0; min-width: 200px;
  background: var(--ji-marine-dark); z-index: 200;
  display: none; border-top: 2px solid var(--ji-or);
  box-shadow: 0 4px 10px rgba(0,0,0,0.4);
}
.ji-nav-menu > li:hover > .sub-menu { display: block; }
.ji-nav-menu .sub-menu li a {
  display: block; padding: 10px 16px; color: #c0c8e0; font-size: 14px;
  border-bottom: 1px solid rgba(255,255,255,0.08); transition: all 0.15s;
}
.ji-nav-menu .sub-menu li a:hover { color: var(--ji-or); background: rgba(255,255,255,0.06); padding-left: 20px; }
.ji-menu-toggle {
  display: none; background: rgba(0,0,0,0.2); border: none;
  color: #fff; padding: 10px 16px; cursor: pointer; font-size: 18px;
}

/* ============================================================
   SOUS-NAVIGATION (catégories secondaires)
   ============================================================ */
.ji-subnav { background: var(--ji-creme2); border-bottom: 2px solid var(--ji-border); width: 100%; }
.ji-subnav-menu { display: flex; flex-wrap: wrap; list-style: none; }
.ji-subnav-menu li a {
  display: block; padding: 7px 14px; color: var(--ji-marine);
  font-size: 13px; font-weight: bold; border-right: 1px solid var(--ji-border);
  text-transform: uppercase; letter-spacing: 0.3px; transition: all 0.15s;
}
.ji-subnav-menu li a:hover { color: var(--ji-or-dark); background: var(--ji-creme); }

/* ============================================================
   TICKER
   ============================================================ */
.ji-ticker {
  background: var(--ji-or); padding: 6px 0; overflow: hidden;
  border-bottom: 1px solid var(--ji-or-dark);
  width: 100%;
}
.ji-ticker-inner { display: flex; align-items: center; }
.ji-ticker-label {
  background: var(--ji-marine-dark); color: var(--ji-or);
  padding: 3px 12px; font-size: 11px; font-weight: bold;
  text-transform: uppercase; letter-spacing: 1px; white-space: nowrap;
  flex-shrink: 0; margin-right: 12px; border-right: 2px solid var(--ji-or);
}
.ji-ticker-track { overflow: hidden; flex: 1; }
.ji-ticker-items { display: flex; white-space: nowrap; animation: ji-scroll 38s linear infinite; }
.ji-ticker-items span { padding: 0 32px; font-size: 14px; color: var(--ji-marine-dark); font-weight: bold; }
.ji-ticker-items span a { color: var(--ji-marine-dark); }
.ji-ticker-items span::after { content: ' ⚖'; margin-left: 16px; color: var(--ji-marine); font-size: 10px; }
@keyframes ji-scroll { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }

/* ============================================================
   SECTION TITLES
   ============================================================ */
.ji-section-title {
  display: flex; align-items: center; justify-content: space-between;
  background: var(--ji-marine); color: var(--ji-white);
  padding: 9px 14px; margin-bottom: 12px;
  border-left: 5px solid var(--ji-or);
  font-family: var(--ji-font-title); font-size: 17px; font-weight: bold;
  text-transform: uppercase; letter-spacing: 0.5px;
}
.ji-section-title a { color: var(--ji-or); font-size: 13px; font-weight: normal; text-transform: none; letter-spacing: 0; }
.ji-section-title a:hover { color: var(--ji-or-light); }
.ji-section-title.or   { background: var(--ji-or); color: var(--ji-marine-dark); border-left-color: var(--ji-marine); }
.ji-section-title.or a { color: var(--ji-marine-dark); }
.ji-section-title.creme { background: var(--ji-creme2); color: var(--ji-marine); border-left-color: var(--ji-or); }
.ji-section-title.creme a { color: var(--ji-or-dark); }
.ji-section-title.dark { background: var(--ji-dark); border-left-color: var(--ji-or); }

/* ============================================================
   CONTENT AREA
   ============================================================ */
.ji-content-wrap { padding: 14px; }

/* ============================================================
   FEATURED ARTICLE (grand format)
   ============================================================ */
.ji-featured-box { border: 1px solid var(--ji-border); background: #fff; margin-bottom: 12px; }
.ji-featured-img { overflow: hidden; position: relative; }
.ji-featured-img img { width: 100%; height: 240px; object-fit: cover; transition: opacity 0.25s; }
.ji-featured-img:hover img { opacity: 0.93; }
.ji-featured-body { padding: 12px 14px; }
.ji-featured-cat {
  display: inline-block; background: var(--ji-or); color: var(--ji-marine-dark);
  font-size: 12px; font-weight: bold; text-transform: uppercase;
  letter-spacing: 0.5px; padding: 2px 8px; border-radius: 2px; margin-bottom: 7px;
}
.ji-featured-title { font-family: var(--ji-font-title); font-size: 21px; font-weight: bold; line-height: 1.4; margin-bottom: 7px; }
.ji-featured-title a { color: var(--ji-marine); }
.ji-featured-title a:hover { color: var(--ji-or-dark); }
.ji-featured-meta { font-size: 13px; color: var(--ji-muted); margin-bottom: 7px; display: flex; gap: 12px; flex-wrap: wrap; }
.ji-featured-meta i { color: var(--ji-or-dark); margin-right: 3px; }
.ji-featured-excerpt { font-size: 15px; color: var(--ji-mid); line-height: 1.55; }
.ji-lire-suite { display: inline-block; margin-top: 8px; font-size: 13px; font-weight: bold; color: var(--ji-marine); border-bottom: 1px solid var(--ji-or); padding-bottom: 1px; }
.ji-lire-suite:hover { color: var(--ji-or-dark); }

/* ============================================================
   ARTICLE LISTE
   ============================================================ */
.ji-article-list { border: 1px solid var(--ji-border); background: #fff; margin-bottom: 12px; }
.ji-article-item { display: flex; gap: 10px; padding: 9px 12px; border-bottom: 1px dotted var(--ji-border); }
.ji-article-item:last-child { border-bottom: none; }
.ji-article-item:hover { background: var(--ji-creme); }
.ji-article-thumb { width: 85px; height: 64px; flex-shrink: 0; overflow: hidden; background: var(--ji-creme2); border: 1px solid var(--ji-border); }
.ji-article-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ji-article-info { flex: 1; min-width: 0; }
.ji-article-cat { font-size: 12px; font-weight: bold; text-transform: uppercase; color: var(--ji-or-dark); display: inline-block; margin-bottom: 3px; }
.ji-article-title { font-family: var(--ji-font-title); font-size: 17px; font-weight: bold; line-height: 1.4; margin-bottom: 3px; }
.ji-article-title a { color: var(--ji-marine); }
.ji-article-title a:hover { color: var(--ji-or-dark); }
.ji-article-meta { font-size: 13px; color: var(--ji-muted); }
.ji-article-excerpt { font-size: 14px; color: var(--ji-muted); margin-top: 3px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }

/* ============================================================
   MINI CARDS (grille)
   ============================================================ */
.ji-grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-bottom: 12px; }
.ji-grid-3 { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-bottom: 12px; }
.ji-mini-card { border: 1px solid var(--ji-border); background: #fff; transition: box-shadow 0.2s; }
.ji-mini-card:hover { box-shadow: 0 3px 10px rgba(44,51,84,0.12); }
.ji-mini-card-img { overflow: hidden; height: 120px; background: var(--ji-creme2); }
.ji-mini-card-img img { width: 100%; height: 100%; object-fit: cover; transition: opacity 0.2s; }
.ji-mini-card:hover .ji-mini-card-img img { opacity: 0.92; }
.ji-mini-card-body { padding: 8px 10px; }
.ji-mini-card-cat { font-size: 12px; font-weight: bold; color: var(--ji-or-dark); text-transform: uppercase; display: inline-block; margin-bottom: 4px; }
.ji-mini-card-title { font-family: var(--ji-font-title); font-size: 15px; font-weight: bold; line-height: 1.4; }
.ji-mini-card-title a { color: var(--ji-marine); }
.ji-mini-card-title a:hover { color: var(--ji-or-dark); }
.ji-mini-card-meta { font-size: 12px; color: var(--ji-muted); margin-top: 4px; }

/* ============================================================
   SIDEBAR
   ============================================================ */
.ji-sidebar { padding-left: 14px; }
.ji-widget { background: #fff; border: 1px solid var(--ji-border); margin-bottom: 14px; }
.ji-widget-title {
  background: var(--ji-marine); color: var(--ji-or);
  padding: 8px 12px; font-size: 13px; font-weight: bold;
  text-transform: uppercase; letter-spacing: 0.8px; font-family: var(--ji-font-ui);
  border-left: 4px solid var(--ji-or);
}
.ji-widget-title.or   { background: var(--ji-or); color: var(--ji-marine-dark); border-left-color: var(--ji-marine); }
.ji-widget-title.creme{ background: var(--ji-creme2); color: var(--ji-marine); border-left-color: var(--ji-or); }
.ji-widget-body { padding: 8px 10px; }
.ji-side-item { display: flex; gap: 8px; padding: 6px 0; border-bottom: 1px dotted var(--ji-border); }
.ji-side-item:last-child { border-bottom: none; }
.ji-side-thumb { width: 62px; height: 46px; flex-shrink: 0; overflow: hidden; background: var(--ji-creme2); }
.ji-side-thumb img { width: 100%; height: 100%; object-fit: cover; }
.ji-side-title { font-size: 13px; font-weight: bold; line-height: 1.4; font-family: var(--ji-font-title); }
.ji-side-title a { color: var(--ji-marine); }
.ji-side-title a:hover { color: var(--ji-or-dark); }
.ji-side-meta { font-size: 12px; color: var(--ji-muted); margin-top: 2px; }
.ji-side-list { list-style: none; }
.ji-side-list li { padding: 6px 0; border-bottom: 1px dotted var(--ji-border); font-size: 13px; display: flex; align-items: flex-start; gap: 5px; }
.ji-side-list li:last-child { border-bottom: none; }
.ji-side-list li::before { content: '⚖'; color: var(--ji-or); font-size: 10px; flex-shrink: 0; margin-top: 1px; }
.ji-side-list li a { color: var(--ji-marine); }
.ji-side-list li a:hover { color: var(--ji-or-dark); }

/* Newsletter sidebar */
.ji-newsletter { padding: 10px; }
.ji-newsletter p { font-size: 13px; color: var(--ji-muted); margin-bottom: 8px; line-height: 1.5; }
.ji-newsletter input[type="email"] {
  width: 100%; padding: 6px 9px; border: 1px solid var(--ji-border2);
  font-size: 12px; margin-bottom: 6px; outline: none; border-radius: 2px;
  transition: border-color 0.2s;
}
.ji-newsletter input:focus { border-color: var(--ji-or); }
.ji-newsletter button {
  width: 100%; padding: 9px; background: var(--ji-marine); color: var(--ji-or);
  border: none; font-size: 14px; font-weight: bold; cursor: pointer;
  text-transform: uppercase; letter-spacing: 0.5px; border-radius: 2px;
  transition: background 0.2s;
}
.ji-newsletter button:hover { background: var(--ji-marine-mid); }

/* Encadré juridique / citation */
.ji-quote-box {
  background: var(--ji-creme); border: 1px solid var(--ji-border);
  border-left: 4px solid var(--ji-or); padding: 10px 12px; margin-bottom: 14px;
  font-style: italic; font-size: 12px; color: var(--ji-mid); line-height: 1.6;
}
.ji-quote-box::before { content: '⚖ '; color: var(--ji-or); font-style: normal; }

/* Météo / Infos pratiques */
.ji-info-box { background: var(--ji-marine); padding: 10px; text-align: center; color: #fff; margin-bottom: 14px; }
.ji-info-box h4 { font-size: 11px; text-transform: uppercase; color: var(--ji-or); margin-bottom: 8px; letter-spacing: 1px; }
.ji-info-box p { font-size: 12px; color: #c0c8e0; margin: 0; }

/* ============================================================
   SINGLE ARTICLE
   ============================================================ */
.ji-single-wrap { background: #fff; border: 1px solid var(--ji-border); padding: 16px 20px; }
.ji-single-cat { display: inline-block; background: var(--ji-or); color: var(--ji-marine-dark); font-size: 10px; font-weight: bold; text-transform: uppercase; letter-spacing: 0.5px; padding: 3px 10px; border-radius: 2px; margin-bottom: 10px; }
.ji-single-title { font-family: var(--ji-font-title); font-size: 30px; font-weight: bold; line-height: 1.35; margin-bottom: 12px; color: var(--ji-marine); }
.ji-single-meta { font-size: 14px; color: var(--ji-muted); padding: 8px 0; border-top: 1px solid var(--ji-border); border-bottom: 1px solid var(--ji-border); margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 14px; }
.ji-single-meta i { color: var(--ji-or); margin-right: 4px; }
.ji-single-meta a { color: var(--ji-marine); font-weight: bold; }
.ji-single-hero { margin-bottom: 16px; border: 1px solid var(--ji-border); }
.ji-single-hero img { width: 100%; max-height: 400px; object-fit: cover; }
.ji-single-content { font-size: 17px; line-height: 1.75; color: var(--ji-mid); }
.ji-single-content p { margin-bottom: 1.1rem; }
.ji-single-content h2 { font-size: 19px; color: var(--ji-marine); margin: 1.5rem 0 0.7rem; padding-left: 10px; border-left: 3px solid var(--ji-or); }
.ji-single-content h3 { font-size: 16px; color: var(--ji-marine); margin: 1.2rem 0 0.6rem; }
.ji-single-content blockquote { border-left: 4px solid var(--ji-or); padding: 10px 16px; background: var(--ji-creme); margin: 1.2rem 0; font-style: italic; color: var(--ji-marine-mid); }
.ji-single-content blockquote::before { content: '⚖ '; color: var(--ji-or); }
.ji-single-content a { color: var(--ji-marine); text-decoration: underline; }
.ji-single-content ul { list-style: none; padding-left: 0; margin-bottom: 1rem; }
.ji-single-content ul li { padding: 3px 0 3px 18px; position: relative; }
.ji-single-content ul li::before { content: '⚖'; position: absolute; left: 0; color: var(--ji-or); font-size: 10px; top: 5px; }
.ji-single-content ol { list-style: decimal; padding-left: 20px; margin-bottom: 1rem; }
.ji-single-content img { margin: 1rem 0; border: 1px solid var(--ji-border); max-width: 100%; }

/* Partage */
.ji-share { display: flex; align-items: center; gap: 8px; padding: 12px 0; border-top: 1px solid var(--ji-border); margin-top: 18px; flex-wrap: wrap; }
.ji-share > span { font-size: 11px; font-weight: bold; color: var(--ji-muted); text-transform: uppercase; letter-spacing: 0.5px; }
.ji-share a { display: inline-flex; align-items: center; gap: 5px; padding: 5px 12px; font-size: 12px; color: #fff; border-radius: 3px; font-weight: bold; transition: opacity 0.2s; }
.ji-share a:hover { opacity: 0.85; }
.ji-share-fb { background: #1877f2; }
.ji-share-tw { background: #111; }
.ji-share-wa { background: #25d366; }
.ji-share-li { background: #0077b5; }

/* Auteur */
.ji-author-bio { display: flex; gap: 16px; padding: 16px; background: var(--ji-creme); border: 1px solid var(--ji-border); margin: 20px 0; }
.ji-author-bio img { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; border: 3px solid var(--ji-or); flex-shrink: 0; }
.ji-author-bio h4 { font-size: 15px; color: var(--ji-marine); margin-bottom: 4px; }
.ji-author-bio p { font-size: 12px; color: var(--ji-muted); margin: 0; }

/* Related */
.ji-related { margin-top: 20px; }
.ji-related-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 10px; margin-top: 8px; }

/* Tags */
.ji-tags { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--ji-border); }
.ji-tag { display: inline-block; padding: 5px 12px; background: var(--ji-creme2); border: 1px solid var(--ji-border); color: var(--ji-marine); font-size: 11px; border-radius: 2px; margin: 3px; transition: all 0.2s; }
.ji-tag:hover { background: var(--ji-marine); color: var(--ji-or); border-color: var(--ji-marine); }

/* ============================================================
   PAGINATION
   ============================================================ */
.ji-pagination { display: flex; justify-content: center; gap: 4px; padding: 14px 0; flex-wrap: wrap; }
.ji-pagination a, .ji-pagination span {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border: 1px solid var(--ji-border2);
  font-size: 12px; color: var(--ji-marine); border-radius: 3px;
  background: #fff; transition: all 0.15s;
}
.ji-pagination a:hover, .ji-pagination .current { background: var(--ji-marine); color: var(--ji-or); border-color: var(--ji-marine); }

/* ============================================================
   BREADCRUMB
   ============================================================ */
.ji-breadcrumb { background: var(--ji-creme2); padding: 8px 14px; border-bottom: 1px solid var(--ji-border); font-size: 13px; color: var(--ji-muted); }
.ji-breadcrumb span::after { content: ' › '; color: var(--ji-border2); }
.ji-breadcrumb a { color: var(--ji-marine); }
.ji-breadcrumb a:hover { color: var(--ji-or-dark); }

/* ============================================================
   ARCHIVE/SEARCH
   ============================================================ */
.ji-archive-header { background: #fff; border: 1px solid var(--ji-border); padding: 12px 16px; margin-bottom: 12px; border-left: 4px solid var(--ji-or); }
.ji-archive-header h1 { font-size: 20px; color: var(--ji-marine); margin-bottom: 4px; }
.ji-archive-header p { font-size: 12px; color: var(--ji-muted); margin: 0; }

/* ============================================================
   FOOTER
   ============================================================ */
.ji-footer { background: var(--ji-marine-dark); color: #c0c8e0; width: 100%; }
.ji-footer-top { padding: 30px 14px 24px; }
.ji-footer-grid { display: grid; grid-template-columns: 1.5fr 1fr 1fr 1fr; gap: 28px; }
.ji-footer-widget h3 { font-size: 14px; font-weight: bold; color: var(--ji-or); text-transform: uppercase; letter-spacing: 1.5px; margin-bottom: 14px; padding-bottom: 7px; border-bottom: 1px solid rgba(201,148,26,0.3); }
.ji-footer-logo-wrap { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.ji-footer-logo-img img { width: 56px; height: 56px; border-radius: 50%; border: 2px solid var(--ji-or); background: var(--ji-creme); }
.ji-footer-logo-name { font-family: var(--ji-font-title); font-size: 22px; font-weight: bold; color: var(--ji-or); line-height: 1.2; }
.ji-footer-logo-sub { font-size: 10px; color: #909ab8; }
.ji-footer-desc { font-size: 14px; color: #909ab8; line-height: 1.65; margin-bottom: 14px; }
.ji-footer-social { display: flex; gap: 7px; }
.ji-footer-social a { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border-radius: 3px; color: #fff; font-size: 12px; font-weight: bold; transition: opacity 0.2s; }
.ji-footer-social a:hover { opacity: 0.8; }
.ji-footer-links { list-style: none; }
.ji-footer-links li { padding: 4px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.ji-footer-links li a { font-size: 14px; color: #909ab8; display: flex; align-items: center; gap: 6px; transition: color 0.2s; }
.ji-footer-links li a::before { content: '⚖'; color: var(--ji-or); font-size: 9px; }
.ji-footer-links li a:hover { color: var(--ji-or); }
.ji-footer-news-item { display: flex; gap: 9px; padding: 6px 0; border-bottom: 1px solid rgba(255,255,255,0.05); }
.ji-footer-news-item img { width: 52px; height: 40px; object-fit: cover; border-radius: 2px; flex-shrink: 0; border: 1px solid rgba(201,148,26,0.3); }
.ji-footer-news-item h5 { font-size: 13px; color: #c0c8e0; line-height: 1.45; font-family: var(--ji-font-title); }
.ji-footer-news-item h5 a { color: inherit; }
.ji-footer-news-item h5 a:hover { color: var(--ji-or); }
.ji-footer-news-item .ji-date { font-size: 10px; color: #606880; margin-top: 3px; }
.ji-footer-bottom { background: rgba(0,0,0,0.4); padding: 10px 14px; border-top: 1px solid rgba(201,148,26,0.2); }
.ji-footer-bottom-inner { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 8px; }
.ji-footer-bottom p { font-size: 13px; color: #606880; }
.ji-footer-bottom a { font-size: 13px; color: #606880; margin-left: 14px; transition: color 0.2s; }
.ji-footer-bottom a:hover { color: var(--ji-or); }

/* ============================================================
   BACK TO TOP
   ============================================================ */
.ji-back-top { position: fixed; bottom: 22px; right: 22px; width: 38px; height: 38px; background: var(--ji-marine); color: var(--ji-or); border: 2px solid var(--ji-or); border-radius: 3px; cursor: pointer; font-size: 16px; display: flex; align-items: center; justify-content: center; opacity: 0; visibility: hidden; transition: all 0.25s; z-index: 500; }
.ji-back-top.ji-visible { opacity: 1; visibility: visible; }
.ji-back-top:hover { background: var(--ji-or); color: var(--ji-marine-dark); }

/* ============================================================
   WORDPRESS CORE
   ============================================================ */
.screen-reader-text { position: absolute; width: 1px; height: 1px; clip: rect(1px,1px,1px,1px); overflow: hidden; }
.alignleft  { float: left; margin-right: 1rem; margin-bottom: 0.5rem; }
.alignright { float: right; margin-left: 1rem; margin-bottom: 0.5rem; }
.aligncenter { display: block; margin: 0 auto 1rem; }
.wp-caption { max-width: 100%; }
.wp-caption-text { font-size: 11px; color: var(--ji-muted); text-align: center; margin-top: 4px; font-style: italic; }

/* ============================================================
   RESPONSIVE
   ============================================================ */
@media (max-width: 900px) {
  .ji-footer-grid { grid-template-columns: 1fr 1fr; gap: 20px; }
  .ji-grid-3 { grid-template-columns: 1fr 1fr; }
  .ji-related-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 700px) {
  .ji-col-main    { width: 100%; padding-right: 0; }
  .ji-col-sidebar { width: 100%; padding-left: 0; }
  .ji-row { flex-direction: column; }
  .ji-header-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
  .ji-header-right { align-items: flex-start; width: 100%; }
  .ji-header-search input[type="search"] { width: 100%; }
  .ji-menu-toggle { display: block; }
  .ji-nav-menu { display: none; flex-direction: column; width: 100%; }
  .ji-nav-menu.ji-open { display: flex; }
  .ji-nav-menu > li > a { border-right: none; border-bottom: 1px solid rgba(255,255,255,0.1); }
  .ji-nav-menu .sub-menu { position: static; display: none; box-shadow: none; }
  .ji-grid-2, .ji-grid-3 { grid-template-columns: 1fr; }
  .ji-related-grid { grid-template-columns: 1fr; }
  .ji-footer-grid { grid-template-columns: 1fr; }
  .ji-subnav { display: none; }
  .ji-logo-title { font-size: 22px; }
}
@media (max-width: 480px) {
  .ji-topbar-social { display: none; }
  .ji-footer-bottom-inner { flex-direction: column; text-align: center; }
  .ji-footer-bottom a { margin: 0 6px; }
}

/* ============================================================
   ZONES PUBLICITAIRES
   ============================================================ */

/* Bannière générique */
.ji-pub-zone {
  display: block;
  width: 100%;
  margin: 0 0 16px;
  position: relative;
  overflow: hidden;
  border: 2px solid var(--ji-or);
  border-radius: 3px;
  background: var(--ji-creme2);
  transition: opacity 0.2s, box-shadow 0.2s;
  line-height: 0; /* Pas d'espace sous l'image */
}
.ji-pub-zone:hover {
  opacity: 0.95;
  box-shadow: 0 4px 16px rgba(201,148,26,0.35);
}
.ji-pub-zone img {
  width: 100%;
  height: auto;
  display: block;
  object-fit: cover;
}

/* Étiquette "Publicité" discrète */
.ji-pub-zone::before {
  content: 'PUB';
  position: absolute;
  top: 4px;
  right: 6px;
  font-size: 9px;
  font-weight: bold;
  font-family: var(--ji-font-ui);
  color: rgba(44,51,84,0.55);
  letter-spacing: 1px;
  background: rgba(245,240,232,0.85);
  padding: 1px 5px;
  border-radius: 2px;
  z-index: 2;
}

/* Placeholder quand pas d'image configurée */
.ji-pub-placeholder {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 20px 14px;
  background: repeating-linear-gradient(
    45deg,
    var(--ji-creme2),
    var(--ji-creme2) 8px,
    var(--ji-creme) 8px,
    var(--ji-creme) 16px
  );
  border: 2px dashed var(--ji-or-dark);
  border-radius: 3px;
  margin-bottom: 16px;
  text-align: center;
  color: var(--ji-muted);
}
.ji-pub-placeholder .ji-pub-icon { font-size: 28px; color: var(--ji-or); }
.ji-pub-placeholder .ji-pub-label { font-size: 11px; font-weight: bold; text-transform: uppercase; letter-spacing: 1px; color: var(--ji-marine); }
.ji-pub-placeholder .ji-pub-size { font-size: 10px; color: var(--ji-muted); }

/* Bannière horizontale (header / entre sections) */
.ji-pub-banner { margin: 10px 0 16px; }
.ji-pub-banner .ji-pub-zone img { height: 90px; object-fit: cover; }
.ji-pub-banner .ji-pub-placeholder { padding: 18px 14px; }

/* Bannière leaderboard pleine largeur */
.ji-pub-leaderboard {
  background: transparent;
  padding: 10px 0;
  border-top: none;
  border-bottom: none;
  margin-bottom: 0;
  width: 100%;
}
/* Le .ji-inner de la pub suit la largeur du contenu */
.ji-pub-leaderboard .ji-inner {
  max-width: 1200px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
}
/* La zone pub prend toute la largeur disponible */
.ji-pub-leaderboard .ji-pub-zone {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border: 2px solid var(--ji-or);
  border-radius: 4px;
  overflow: hidden;
}
.ji-pub-leaderboard .ji-pub-zone img {
  width: 100% !important;
  height: auto !important;
  max-height: 130px !important;
  object-fit: cover !important;
  display: block !important;
}
/* Widget dans la zone leaderboard */
.ji-pub-leaderboard .ji-widget {
  background: transparent !important;
  border: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.ji-pub-leaderboard .ji-widget a.ji-pub-zone {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
.ji-pub-leaderboard .ji-widget a.ji-pub-zone img {
  width: 100% !important;
  height: auto !important;
  max-height: 130px !important;
  object-fit: cover !important;
}
.ji-pub-leaderboard .ji-pub-placeholder { width: 100%; margin: 0 auto; padding: 14px; }

/* Quand un widget est dans la zone leaderboard */
.ji-pub-leaderboard .ji-widget { background: transparent; border: none; margin: 0; padding: 0; text-align: center; }
.ji-pub-leaderboard .ji-widget .ji-pub-zone { display: inline-block; }

/* Carré sidebar */
.ji-pub-square .ji-pub-zone img { height: 180px; }
.ji-pub-square .ji-pub-placeholder { height: 150px; }

/* Rectangle medium (entre catégories) */
.ji-pub-medium .ji-pub-zone img { height: 120px; }
.ji-pub-medium .ji-pub-placeholder { height: 100px; }

/* Animation pulse quand admin est connecté et pub vide */
@media (min-width: 1px) {
  .ji-pub-placeholder.admin-visible {
    animation: ji-pub-pulse 2s ease-in-out infinite;
  }
}
@keyframes ji-pub-pulse {
  0%,100% { border-color: var(--ji-or-dark); }
  50% { border-color: var(--ji-or); box-shadow: 0 0 8px rgba(201,148,26,0.3); }
}

/* ── PLEIN ÉCRAN FORCÉ ─────────────────────────── */
html, body, .ji-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}
/* Supprimer fond crème sur les côtés */
body {
  background-color: #ffffff !important;
}
/* Barres pleine largeur */
.ji-topbar, .ji-header, .ji-navbar, .ji-subnav,
.ji-ticker, .ji-pub-leaderboard, .ji-footer,
.ji-footer-bottom, .ji-content-wrap {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* ── NEUTRALISER PLUGINS EXTERNES ─────────────── */
/* Elementor peut ajouter des marges */
.elementor-section-wrap,
.elementor-container,
#page, #content, #primary, #main-content,
.site, .site-content {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* Admin bar WordPress : décaler le contenu sticky */
.admin-bar .ji-header {
  top: 32px;
}
@media screen and (max-width: 782px) {
  .admin-bar .ji-header { top: 46px; }
}

/* ══════════════════════════════════════════════════
   BADGES CATÉGORIE — Bien visibles sur chaque article
   ══════════════════════════════════════════════════ */

/* Badge catégorie dans la liste d'articles */
.ji-article-cat {
  display: inline-block !important;
  background: var(--ji-marine) !important;
  color: var(--ji-or) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  font-family: var(--ji-font-ui) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 3px 9px !important;
  border-radius: 2px !important;
  margin-bottom: 5px !important;
  white-space: nowrap !important;
  border-left: 3px solid var(--ji-or) !important;
}
.ji-article-cat:hover { background: var(--ji-or) !important; color: var(--ji-marine) !important; }

/* Badge catégorie dans les mini cartes */
.ji-mini-card-cat {
  display: inline-block !important;
  background: var(--ji-marine) !important;
  color: var(--ji-or) !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  font-family: var(--ji-font-ui) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 3px 9px !important;
  border-radius: 2px !important;
  margin-bottom: 5px !important;
  white-space: nowrap !important;
}
.ji-mini-card-cat:hover { background: var(--ji-or) !important; color: var(--ji-marine) !important; }

/* Badge catégorie dans les articles featured */
.ji-featured-cat {
  display: inline-block !important;
  background: var(--ji-or) !important;
  color: var(--ji-marine-dark) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  font-family: var(--ji-font-ui) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 4px 12px !important;
  border-radius: 2px !important;
  margin-bottom: 8px !important;
  white-space: nowrap !important;
}

/* Badge catégorie dans la sidebar */
.ji-side-cat {
  display: inline-block;
  background: var(--ji-marine);
  color: var(--ji-or);
  font-size: 9px;
  font-weight: 700;
  font-family: var(--ji-font-ui);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  padding: 2px 7px;
  border-radius: 2px;
  margin-bottom: 3px;
  white-space: nowrap;
}

/* Titre article + badge sur la même ligne dans la liste */
.ji-article-header {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.ji-article-header .ji-article-cat { margin-bottom: 0 !important; flex-shrink: 0; margin-top: 2px; }
.ji-article-header .ji-article-title { margin-bottom: 0; flex: 1; }

/* Couleurs différentes par catégorie (via attribut data) */
.ji-article-cat[data-cat="actualite-judiciaire"],
.ji-mini-card-cat[data-cat="actualite-judiciaire"] {
  background: #1a4a7a !important; color: #fff !important;
}
.ji-article-cat[data-cat="recits-de-proces"],
.ji-mini-card-cat[data-cat="recits-de-proces"] {
  background: #7a1a1a !important; color: #fff !important;
}
.ji-article-cat[data-cat="enquetes"],
.ji-mini-card-cat[data-cat="enquetes"] {
  background: #1a5c1a !important; color: #fff !important;
}
.ji-article-cat[data-cat="notions-juridiques"],
.ji-mini-card-cat[data-cat="notions-juridiques"] {
  background: #4a1a7a !important; color: #fff !important;
}
.ji-article-cat[data-cat="interviews"],
.ji-mini-card-cat[data-cat="interviews"] {
  background: #7a4a1a !important; color: #fff !important;
}
.ji-article-cat[data-cat="institutions-judiciaires"],
.ji-mini-card-cat[data-cat="institutions-judiciaires"] {
  background: #1a5a5a !important; color: #fff !important;
}
.ji-article-cat[data-cat="justice-et-societe"],
.ji-mini-card-cat[data-cat="justice-et-societe"] {
  background: #5a5a1a !important; color: #fff !important;
}

/* ═══════════ STYLE BURKINA24 ═══════════ */
.b24-home{width:100%;background:#f7f7f7}
.b24-section{background:#fff;padding:20px 0;margin-bottom:6px}
.b24-section-grey{background:#f7f7f7}
.b24-inner{max-width:1200px;margin:0 auto;padding:0 20px}
.b24-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;padding-bottom:10px;border-bottom:3px solid #C9941A}
.b24-section-title{font-family:Georgia,serif;font-size:20px;font-weight:bold;color:#2C3354;text-transform:uppercase;border-left:4px solid #C9941A;padding-left:12px;display:flex;align-items:center;gap:8px;margin:0}
.b24-voir-plus{font-size:13px;color:#2C3354;font-weight:bold;border-bottom:1px solid #C9941A;padding-bottom:1px}
.b24-une-grid{display:grid;grid-template-columns:2fr 1fr;gap:16px}
.b24-une-main-img{position:relative;overflow:hidden;border-radius:3px;background:#EDE8D8}
.b24-une-main-img img{width:100%;height:440px;object-fit:cover;display:block;transition:transform .3s}
.b24-une-main-img:hover img{transform:scale(1.02)}
.b24-une-main-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,0.88));padding:60px 18px 20px}
.b24-une-main-title{font-family:Georgia,serif;font-size:24px;color:#fff;line-height:1.35;margin:10px 0 8px}
.b24-une-main-title a{color:inherit}
.b24-une-main-title a:hover{color:#C9941A}
.b24-une-main-meta{font-size:13px;color:rgba(255,255,255,.8);display:flex;gap:14px}
.b24-une-sides{display:flex;flex-direction:column;gap:0}
.b24-une-side-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid #D8D0C0}
.b24-une-side-item:last-child{border-bottom:none}
.b24-une-side-img{width:120px;height:90px;flex-shrink:0;overflow:hidden;border-radius:2px;background:#EDE8D8}
.b24-une-side-img img{width:100%;height:100%;object-fit:cover}
.b24-une-side-title{font-family:Georgia,serif;font-size:15px;font-weight:bold;line-height:1.4;margin:6px 0 5px}
.b24-une-side-title a{color:#2C3354}
.b24-une-side-title a:hover{color:#9A6E0E}
.b24-cat-badge{display:inline-block;background:#2C3354;color:#fff!important;font-size:10px;font-weight:700;font-family:Arial,sans-serif;text-transform:uppercase;letter-spacing:.8px;padding:3px 10px;border-radius:2px;margin-bottom:6px;white-space:nowrap}
.b24-cat-sm{font-size:9px;padding:2px 7px;margin-bottom:4px}
.b24-meta{font-size:12px;color:#666}
.b24-meta i{color:#9A6E0E;margin-right:3px}
.b24-meta-white{color:rgba(255,255,255,.8)}
.b24-pub-bar{padding:10px 0;background:#f0ede5;border-top:2px solid #C9941A;border-bottom:2px solid #C9941A;margin-bottom:6px}
.b24-content-sidebar{display:grid;grid-template-columns:1fr 280px;gap:24px}
.b24-main-col,.b24-sidebar-col{min-width:0}
.b24-article-featured{margin-bottom:20px}
.b24-article-featured-img{overflow:hidden;border-radius:3px;margin-bottom:14px}
.b24-article-featured-img img{width:100%;height:280px;object-fit:cover;transition:transform .3s}
.b24-article-featured-img:hover img{transform:scale(1.02)}
.b24-article-title-lg{font-family:Georgia,serif;font-size:22px;font-weight:bold;line-height:1.4;margin:8px 0}
.b24-article-title-lg a{color:#2C3354}
.b24-article-title-lg a:hover{color:#9A6E0E}
.b24-excerpt{font-size:14px;color:#666;line-height:1.6;margin:8px 0}
.b24-lire-suite{display:inline-block;font-size:13px;font-weight:bold;color:#2C3354;border-bottom:1px solid #C9941A}
.b24-lire-suite:hover{color:#9A6E0E}
.b24-articles-list{display:flex;flex-direction:column}
.b24-list-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid #D8D0C0}
.b24-list-item:last-child{border-bottom:none}
.b24-list-img{width:110px;height:82px;flex-shrink:0;overflow:hidden;border-radius:2px;background:#EDE8D8}
.b24-list-img img{width:100%;height:100%;object-fit:cover}
.b24-list-item-sm .b24-list-img{width:100px;height:75px}
.b24-list-info{flex:1;min-width:0}
.b24-list-title{font-family:Georgia,serif;font-size:15px;font-weight:bold;line-height:1.4;display:block;margin-top:4px}
.b24-list-title a{color:#2C3354}
.b24-list-title a:hover{color:#9A6E0E}
.b24-cat-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.b24-cat-main-img{position:relative;overflow:hidden;border-radius:3px;background:#EDE8D8}
.b24-cat-main-img img{width:100%;height:300px;object-fit:cover;display:block;transition:transform .3s}
.b24-cat-main-img:hover img{transform:scale(1.02)}
.b24-cat-overlay{position:absolute;bottom:0;left:0;right:0;padding:50px 16px 16px}
.b24-cat-main-title{font-family:Georgia,serif;font-size:20px;color:#fff;line-height:1.35;margin:8px 0 6px}
.b24-cat-main-title a{color:inherit}
.b24-cat-main-title a:hover{color:#C9941A}
.b24-cat-list{display:flex;flex-direction:column}
@media(max-width:960px){.b24-une-grid,.b24-content-sidebar,.b24-cat-grid{grid-template-columns:1fr}}
@media(max-width:600px){.b24-une-main-img img{height:260px}.b24-une-sides{display:none}}
/* Cache bust: 1776417420923 */