/* Thème Capsa — direction D « Clair » (migration/maquettes/d-clair/). Arabe RTL natif, un seul accent bordeaux. */

/* ---------------------------------------------------------------- polices (OFL 1.1, hébergées dans le thème) */
@font-face{font-family:'Markazi Text';src:url(../fonts/markazi-text-arabic-wght-normal.woff2) format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Markazi Text';src:url(../fonts/markazi-text-latin-wght-normal.woff2) format('woff2');font-weight:400 700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Sans Arabic';src:url(../fonts/noto-sans-arabic-arabic-400-normal.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Noto Sans Arabic';src:url(../fonts/noto-sans-arabic-latin-400-normal.woff2) format('woff2');font-weight:400;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Noto Sans Arabic';src:url(../fonts/noto-sans-arabic-arabic-700-normal.woff2) format('woff2');font-weight:700;font-display:swap;unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:'Noto Sans Arabic';src:url(../fonts/noto-sans-arabic-latin-700-normal.woff2) format('woff2');font-weight:700;font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

:root{
 --police-titres:'Markazi Text','Noto Sans Arabic',Tahoma,serif; /* titres et texte des articles */
 --police-texte:'Markazi Text','Noto Sans Arabic',Tahoma,serif;
 --police-ui:'Noto Sans Arabic',Tahoma,sans-serif; /* menu, boutons, étiquettes, barre de lecture */
 --bordeaux:#8b1116;--bordeaux-fonce:#6e0d11;--encre:#141414;--gris:#5c5c5c;--filet:#e3e3e3;--clair:#f5f5f5;--rose:#f6e3e4;
 --hauteur-lecteur:68px;
 --bas-page:calc(var(--hauteur-lecteur) + env(safe-area-inset-bottom,0px)); /* espace réservé sous le pied de page = barre de lecture fixe (+ zone de sécurité des téléphones) */
}

/* ---------------------------------------------------------------- base */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-padding-top:60px}
body{margin:0;background:#fff;color:var(--encre);font:400 17px/1.75 var(--police-ui);padding-bottom:var(--bas-page)}
h1,h2,h3,h4,h5,h6,.titre,.resume,.contenu,.arch-tete .description,.sous-titre{font-family:var(--police-titres)}
.nom,.btn-ecoute,.meta,.etiq,.rubrique,.ariane,.partage,.pagination,.etiquettes,.puces,.rubriques,.btn,.pied,.note,.compte,.auditeurs,.options,.prog,input,button{font-family:var(--police-ui)}
img{max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input{font:inherit;color:inherit}
button{cursor:pointer}
h1,h2,h3,h4,p,figure{margin:0}
svg{width:1em;height:1em;fill:currentColor;flex:none}
:focus-visible{outline:3px solid var(--bordeaux);outline-offset:3px}
.sr,.screen-reader-text{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.evitement:focus{position:fixed!important;top:8px;inset-inline-start:8px;width:auto;height:auto;clip:auto;z-index:100;background:#fff;color:var(--bordeaux);padding:8px 14px;font-weight:700}
.cont{max-width:1248px;margin:0 auto;padding:0 32px}
ul.niv1,.sous,.rubriques,.reseaux,.haut-pied ul,.lateral ol,.options,.puces,.pagination ul{list-style:none;margin:0;padding:0}
mark{background:var(--rose);color:inherit;padding:0 2px}

/* lecture / pause : état porté par <html class="en-ecoute"> (ne change pas pendant la navigation) */
.i-pause,.t-pause,.en-ecoute .i-play,.en-ecoute .t-play{display:none}
.en-ecoute .i-pause,.en-ecoute .t-pause{display:inline-flex}
.attente [data-ecouter] .i-play svg,.attente [data-ecouter] .i-pause svg{animation:pulse 1s infinite alternate}
@keyframes pulse{to{opacity:.35}}

/* image par défaut (logo) */
.img-defaut{display:grid;place-items:center;background:var(--bordeaux);aspect-ratio:16/9;width:100%}
.img-defaut img{width:34%;max-width:120px;height:auto;aspect-ratio:1!important;object-fit:contain!important}

/* ---------------------------------------------------------------- bandeau */
.bandeau{background:var(--bordeaux);color:#fff}
.bandeau>.cont{display:flex;align-items:center;gap:16px;min-height:96px}
.logo{display:flex;align-items:center;gap:16px}
.logo img{width:76px;height:76px;filter:drop-shadow(0 2px 6px rgba(0,0,0,.25))}
.logo .nom{font-weight:700;font-size:26px;line-height:1.25}
.logo small{display:block;font-weight:400;font-size:14px;opacity:.88;font-family:var(--police-ui)}
.actions{margin-inline-start:auto;display:flex;align-items:center;gap:10px}
.icone{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.35);background:none;color:#fff;font-size:20px}
.icone:hover{background:rgba(255,255,255,.12)}
.btn-ecoute{display:inline-flex;align-items:center;gap:10px;border:0;border-radius:999px;background:#fff;color:var(--bordeaux);font-weight:700;font-size:16px;padding:6px 20px 6px 6px;white-space:nowrap}
.btn-ecoute .i-play,.btn-ecoute .i-pause{place-items:center;width:36px;height:36px;border-radius:50%;background:var(--bordeaux);color:#fff;font-size:17px}
.btn-ecoute .i-play,.en-ecoute .btn-ecoute .i-pause{display:grid}
.en-ecoute .btn-ecoute .i-play{display:none}
.bascule{display:none}
.recherche-entete{background:var(--bordeaux-fonce);padding:12px 0}
.recherche-entete .form-recherche{margin:0 auto;border-color:#fff}

/* ---------------------------------------------------------------- menu */
.nav{border-bottom:1px solid var(--filet);background:#fff;position:sticky;top:0;z-index:15}
.admin-bar .nav{top:32px}
.niv1{display:flex;flex-wrap:wrap}
.niv1>li{position:relative;display:flex;align-items:center}
.niv1>li>a{display:block;padding:13px 14px;font-weight:700;font-size:15.5px;border-bottom:4px solid transparent;font-family:var(--police-ui)}
.niv1>li>a:hover,.niv1>li:focus-within>a,.niv1>li>a[aria-current]{border-bottom-color:var(--bordeaux);color:var(--bordeaux)}
.niv1>li:first-child>a{padding-inline-start:0}
.ouvrir{border:0;background:none;padding:4px;margin-inline-start:-10px;color:var(--gris);font-size:14px;transform:rotate(-90deg)}
.sous{display:none;position:absolute;top:100%;inset-inline-start:0;min-width:260px;background:#fff;border:1px solid var(--filet);border-top:3px solid var(--bordeaux);box-shadow:0 12px 30px rgba(0,0,0,.1);padding:8px 0;z-index:20}
.sous.large{columns:3;column-gap:0;min-width:640px}
.sous a{display:block;padding:7px 18px;font-size:14.5px;break-inside:avoid}
.sous a:hover,.sous a[aria-current]{background:var(--clair);color:var(--bordeaux)}
.niv1>li:hover>.sous,.niv1>li:focus-within>.sous{display:block}
.niv1>li:nth-last-child(-n+3)>.sous{inset-inline-start:auto;inset-inline-end:0}
.navigation .niv1>li>.sous{display:none!important} /* referme les sous-menus après un clic */

/* ---------------------------------------------------------------- éléments communs */
.vignette{position:relative;display:block;margin-bottom:10px;background:var(--clair)}
.vignette img,.vignette .img-defaut{display:block;aspect-ratio:16/9;object-fit:cover;object-position:50% 0;width:100%;height:auto}
.etiq{position:absolute;bottom:0;inset-inline-start:0;display:inline-flex;align-items:center;gap:5px;background:rgba(20,20,20,.85);color:#fff;font-size:12.5px;font-weight:700;padding:3px 9px;line-height:1.6}
.etiq svg{font-size:13px}
.etiq.direct{position:static;background:var(--bordeaux)}
.etiq.direct::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:clig 1.4s infinite}
@keyframes clig{50%{opacity:.25}}
.titre{font-weight:700;font-size:23px;line-height:1.45}
.titre a:hover{color:var(--bordeaux);text-decoration:underline;text-underline-offset:4px}
.meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:13px;color:var(--gris);margin-top:6px}
.meta a{border-inline-start:1px solid var(--filet);padding-inline-start:10px}
.meta a:hover{color:var(--bordeaux)}
.resume{color:#333;font-size:19px;line-height:1.6;margin-top:6px}

/* ---------------------------------------------------------------- accueil */
.une{padding-top:28px}
.principal{display:grid;grid-template-columns:1.6fr 1fr;gap:28px;align-items:center;padding-bottom:28px;border-bottom:1px solid var(--filet)}
.principal .vignette{margin:0;background:#fff}
.principal .vignette img{aspect-ratio:auto;object-fit:contain;max-height:640px;margin:0 auto}
.principal .titre{font-size:40px;line-height:1.35}
.principal .resume{font-size:22px;margin-top:12px}
.grille{display:grid;grid-template-columns:repeat(4,1fr);gap:28px 24px;padding:28px 0}
.direct-promo{display:flex;align-items:center;gap:18px;border:1px solid var(--filet);border-inline-start:5px solid var(--bordeaux);padding:16px 20px;margin-bottom:8px}
.direct-promo>img{width:56px;height:56px}
.direct-promo strong{display:block;font-size:18px;font-family:var(--police-ui)}
.direct-promo strong a:hover{color:var(--bordeaux)}
.direct-promo>div>span:not(.etiq){display:block;color:var(--gris);font-size:14.5px}
.direct-promo .btn-ecoute{margin-inline-start:auto;background:var(--bordeaux);color:#fff}
.direct-promo .btn-ecoute .i-play,.direct-promo .btn-ecoute .i-pause{background:#fff;color:var(--bordeaux)}
.direct-promo.compact{flex-wrap:wrap;gap:10px;margin-bottom:24px}
.direct-promo.compact>img{width:44px;height:44px}
.direct-promo.compact .btn-ecoute{margin:0}
.encarts{display:grid;grid-template-columns:1.5fr 1fr;gap:20px;margin-bottom:8px}
.encarts .direct-promo{margin:0}
.jti{display:flex;align-items:center;gap:18px;border:2px solid var(--encre);padding:14px 18px;background:#fff}
.jti a{flex:none;display:block}
.jti img{width:180px;height:auto;display:block}
.jti p{font-size:14px;line-height:1.55;text-align:left}
.jti a:focus-visible{outline-offset:4px}
.section{padding:30px 0 6px}
.sec-tete{display:flex;align-items:center;gap:14px;margin-bottom:18px;border-top:1px solid var(--encre);padding-top:12px}
.sec-tete h2{font-size:28px;font-weight:700;display:flex;align-items:center;gap:10px}
.sec-tete h2::before{content:"";width:6px;height:22px;background:var(--bordeaux)}
.sec-tete .plus{margin-inline-start:auto;display:inline-flex;align-items:center;gap:4px;font-weight:700;font-size:14.5px;color:var(--bordeaux)}
.sec-tete .plus:hover{text-decoration:underline}
.section .grille{padding:0 0 18px}
.grille.trois{grid-template-columns:2fr 1fr 1fr}
.grille.trois article:first-child .titre{font-size:29px}

/* ---------------------------------------------------------------- barre de lecture (hors zone remplacée : ne se recharge jamais) */
.lecteur{position:fixed;inset:auto 0 0 0;z-index:30;padding-bottom:env(safe-area-inset-bottom,0px);background:#1b1b1b;color:#fff;box-shadow:0 -6px 20px rgba(0,0,0,.18)}
.lecteur .cont{display:flex;align-items:center;gap:14px;height:var(--hauteur-lecteur)}
.lecteur-play{display:grid;place-items:center;width:48px;height:48px;border:0;border-radius:50%;background:var(--bordeaux);color:#fff;font-size:22px;flex:none}
.lecteur-play:hover{background:#a3161c}
.lecteur .id{flex:1;min-width:0;display:flex;align-items:center;gap:12px}
.lecteur .id img{width:40px;height:40px;flex:none}
.lecteur .id strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--police-ui)}
.lecteur .id:hover strong{text-decoration:underline;text-underline-offset:4px}
.lecteur .vol{display:flex;align-items:center;gap:8px;color:#c9c9c9;font-size:20px}
.lecteur .vol input{width:110px;accent-color:#fff}
.lecteur audio{height:36px;max-width:260px}

/* ---------------------------------------------------------------- bouton « remonter en haut » */
.haut{position:fixed;z-index:25;inset-inline-end:16px;bottom:calc(var(--bas-page) + 14px);display:grid;place-items:center;width:40px;height:40px;padding:0;border:1px solid var(--filet);border-radius:50%;background:rgba(255,255,255,.94);color:var(--encre);font-size:22px;box-shadow:0 2px 8px rgba(0,0,0,.12);opacity:0;transform:translateY(8px);transition:opacity .2s,transform .2s}
.haut[hidden]{display:none}
.haut:not(.visible){pointer-events:none}
.haut.visible{opacity:1;transform:none}
.haut:hover,.haut:focus-visible{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}
@media (prefers-reduced-motion:reduce){.haut{transition:none}}

/* ---------------------------------------------------------------- pied */
.pied{background:var(--clair);margin-top:40px;padding:34px 0 26px;font-size:14px;color:var(--gris)}
.pied .haut-pied{display:flex;flex-wrap:wrap;align-items:center;gap:20px;padding-bottom:20px;border-bottom:1px solid var(--filet)}
.pied .haut-pied img{width:48px;height:48px}
.pied .haut-pied ul{display:flex;flex-wrap:wrap;gap:6px 22px;font-weight:700;color:var(--encre)}
.pied .reseaux{display:flex;gap:8px;margin-inline-start:auto}
.pied .reseaux a{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--encre);font-size:17px}
.pied .reseaux a:hover{background:var(--bordeaux);color:#fff}
.pied .haut-pied .reseaux{gap:14px;flex-wrap:nowrap}
.pied .bas-pied{display:flex;flex-wrap:wrap;align-items:center;gap:16px;padding-top:20px}
.pied .asso{width:96px;height:auto;opacity:.75;mix-blend-mode:multiply}
.pied a:hover{color:var(--bordeaux)}

/* ---------------------------------------------------------------- fil d'Ariane (Rank Math) */
.ariane{font-size:13.5px;color:var(--gris);padding:18px 0 4px}
.ariane a,.ariane .last{unicode-bidi:plaintext} /* maillons en français : sens et ponctuation selon leur propre langue */
.ariane a:hover{color:var(--bordeaux);text-decoration:underline}
.ariane .separator{margin:0 6px}
.ariane .last{display:inline-block;max-width:40ch;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:bottom}
.art-tete .ariane{padding-top:0;margin-bottom:10px}

/* ---------------------------------------------------------------- article */
.art{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:56px;padding-top:30px}
.art-tete .titre-art{font-size:34px;font-weight:700;line-height:1.55;margin:8px 0 12px}
.art-tete .rubrique{font-weight:700;color:var(--bordeaux);font-size:15px}
.art-tete .meta{font-size:14px;padding-bottom:14px;border-bottom:1px solid var(--filet);margin-bottom:22px}
.partage{display:flex;align-items:center;gap:6px;margin-inline-start:auto}
.partage span{font-size:13px}
.partage a,.partage button{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;border:1px solid var(--filet);background:none;font-size:15px;color:var(--encre);padding:0}
.partage a:hover,.partage button:hover,.partage .copie{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}
.art-image img{display:block;width:100%;height:auto;object-fit:contain;max-height:640px;margin:0 auto}
.art-image figcaption{font-size:13px;color:var(--gris);padding:6px 0}
.etiquettes{display:flex;flex-wrap:wrap;gap:8px;margin:24px 0;max-width:720px}
.etiquettes a{background:var(--clair);padding:5px 14px;font-size:14px}
.etiquettes a:hover{background:var(--bordeaux);color:#fff}
.lateral{align-self:start;position:sticky;top:70px}
.lateral h2{font-size:24px;font-weight:700;border-top:1px solid var(--encre);padding-top:10px;margin-bottom:8px}
.lateral ol{counter-reset:n}
.lateral ol li{counter-increment:n;display:grid;grid-template-columns:36px 1fr;gap:8px;padding:12px 0;border-bottom:1px solid var(--filet)}
.lateral ol li::before{content:counter(n);font-weight:700;font-size:28px;line-height:1;color:var(--bordeaux)}
.lateral .titre{font-size:20px}

/* contenu (blocs Gutenberg du cœur) */
.contenu{font-size:21px;line-height:1.6;max-width:720px;margin-top:18px;overflow-wrap:anywhere}
.contenu>*{max-width:100%}
.contenu p{margin:0 0 1.15em}
.contenu a{color:var(--bordeaux);text-decoration:underline;text-underline-offset:3px}
.contenu strong,.contenu b{font-weight:700}
.contenu ul,.contenu ol{padding-inline-start:1.4em;margin:0 0 1.2em}
.contenu ul{list-style:disc}
.contenu li::marker{color:var(--bordeaux)}
.contenu figure{margin:1.6em 0}
.contenu img{height:auto}
.contenu figcaption,.contenu .wp-element-caption{font-size:16px;color:var(--gris);line-height:1.6;margin-top:6px;text-align:center}
.contenu h2,.contenu h3,.contenu h4{font-weight:700;line-height:1.5;margin:1.4em 0 .5em}
.contenu h2{font-size:31px}
.contenu h3{font-size:27px;display:flex;align-items:center;gap:10px}
.contenu h3::before{content:"";width:5px;height:22px;background:var(--bordeaux);flex:none}
.contenu h4{font-size:23px}
.contenu blockquote,.contenu .wp-block-quote{margin:1.4em 0;padding:4px 20px;border-inline-start:4px solid var(--bordeaux);color:#333}
.contenu .wp-block-pullquote{border-top:3px solid var(--bordeaux);border-bottom:3px solid var(--bordeaux);padding:1em 0;text-align:center;font-size:26px}
.contenu .wp-block-pullquote blockquote{border:0;padding:0}
.contenu table{border-collapse:collapse;width:100%;font-size:18px}
.contenu th,.contenu td{border:1px solid var(--filet);padding:6px 10px}
.contenu hr,.contenu .wp-block-separator{border:0;border-top:1px solid var(--filet);margin:2em 0}
.contenu pre,.contenu code{direction:ltr;text-align:left;font-size:14px;overflow:auto}
.contenu .aligncenter{margin-inline:auto;text-align:center}
.contenu .wp-block-gallery{margin:1.6em 0;gap:8px}
.contenu .wp-block-gallery figure{margin:0}
.contenu .wp-block-embed iframe,.contenu iframe[data-proportions]{display:block;width:100%;height:auto;margin-inline:auto;border:0}
.contenu iframe{max-width:100%}
.contenu video,.contenu audio{width:100%}
.contenu [dir=ltr],.contenu [lang=fr]{text-align:left}
/* YouTube en façade légère */
.yt-facade a{position:relative;display:grid;place-items:center;aspect-ratio:16/9;background:#111;overflow:hidden;text-decoration:none}
.yt-facade img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.yt-bouton{position:relative;display:grid;place-items:center;width:68px;height:48px;border-radius:12px;background:var(--bordeaux);color:#fff;font-size:28px;transition:transform .15s}
.yt-facade a:hover .yt-bouton{transform:scale(1.08)}
.yt-facade iframe{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}
/* Facebook (iframes, sans SDK) */
.fb-iframe iframe{display:block;width:100%;height:auto;border:0;background:var(--clair)}
.fb-iframe figcaption{text-align:start}
/* Rapports PDF */
.capsa-pdf{margin:1em 0;min-height:120px;background:var(--clair);padding:12px}
.capsa-pdf canvas{display:block;width:100%;height:auto;margin:0 0 12px;background:#fff;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.pdf-etat{text-align:center;color:var(--gris);padding:30px 0}
.pdf-etat:empty::before{content:'جاري تحميل التقرير…'} /* en CSS : le texte ne doit pas devenir la description Rank Math du rapport */
.contenu .pdf-liens a{display:inline-flex;align-items:center;gap:8px;font-weight:700;text-decoration:none;border:1px solid var(--bordeaux);padding:6px 16px}
.contenu .pdf-liens a:hover{background:var(--bordeaux);color:#fff}

/* ---------------------------------------------------------------- archives et recherche */
.arch-tete{padding:6px 0 18px;border-bottom:1px solid var(--encre);margin-bottom:6px}
.arch-tete h1{font-size:40px;font-weight:700;display:flex;align-items:center;gap:12px}
.arch-tete h1::before{content:"";width:7px;height:32px;background:var(--bordeaux);flex:none}
.arch-tete .description{color:#333;font-size:21px;line-height:1.6;max-width:860px;margin-top:8px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.recherche-tete{padding-top:24px}
.compte{color:var(--gris);font-size:14px;margin-top:6px}
.arch{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:56px}
.ligne{display:grid;grid-template-columns:240px minmax(0,1fr);gap:22px;padding:20px 0;border-bottom:1px solid var(--filet)}
.ligne .vignette{margin:0}
.ligne .titre{font-size:25px}
.pagination ul{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:26px 0 10px}
.pagination a,.pagination span{display:inline-flex;align-items:center;gap:6px;min-width:42px;height:42px;justify-content:center;padding:0 12px;border:1px solid var(--filet);font-weight:700;font-size:15px}
.pagination a:hover{border-color:var(--bordeaux);color:var(--bordeaux)}
.pagination a[aria-current]{background:var(--bordeaux);border-color:var(--bordeaux);color:#fff}
.pagination span[aria-disabled]{color:#b5b5b5}
.pagination .prec svg{transform:scaleX(-1)}
.pagination .trou{padding:0 4px;color:var(--gris)}
.pagination .suiv{margin-inline-start:auto}
.rubriques{border-top:1px solid var(--filet);margin-bottom:22px}
.rubriques a{display:block;padding:10px 4px;border-bottom:1px solid var(--filet);font-weight:700;font-size:15px}
.rubriques a:hover,.rubriques a[aria-current]{color:var(--bordeaux)}
.rubriques a[aria-current]{border-inline-start:4px solid var(--bordeaux);padding-inline-start:12px}
.form-recherche{display:flex;max-width:620px;margin-top:14px;border:2px solid var(--encre);background:#fff}
.form-recherche input{flex:1;min-width:0;border:0;padding:10px 14px;font-size:17px;background:#fff;color:var(--encre)}
.form-recherche input:focus{outline:none}
.form-recherche:focus-within{outline:3px solid var(--bordeaux);outline-offset:2px}
.form-recherche button{border:0;background:var(--bordeaux);color:#fff;width:54px;font-size:20px;display:grid;place-items:center}

/* ---------------------------------------------------------------- page simple */
.page-simple{padding-top:6px}
.page-simple .titre-art{font-size:42px;font-weight:700;line-height:1.4;margin-bottom:18px;padding-bottom:14px;border-bottom:1px solid var(--filet)}

/* ---------------------------------------------------------------- page du direct */
.scene{display:grid;grid-template-columns:400px minmax(0,1fr);gap:56px;align-items:center;padding:30px 0 34px;border-bottom:1px solid var(--filet)}
.cadran{position:relative;width:360px;height:360px;margin:0 auto}
.cadran img{position:absolute;inset:0;margin:auto;width:220px;height:220px;filter:drop-shadow(0 10px 24px rgba(0,0,0,.18))}
.anneau b{position:absolute;left:50%;top:50%;width:5px;height:24px;margin:-12px 0 0 -2.5px;border-radius:3px;background:#e2d3d4;transform:rotate(var(--a)) translateY(-160px);transform-origin:center}
.en-ecoute .anneau b{background:var(--bordeaux);animation:barre var(--d) ease-in-out infinite alternate}
@keyframes barre{from{height:10px;margin-top:-5px}to{height:calc(24px * var(--s));margin-top:calc(-12px * var(--s))}}
.scene-txt h1{font-size:50px;font-weight:700;line-height:1.3;margin:12px 0 4px}
.sous-titre{font-size:22px;color:var(--gris)}
.etat{margin-top:18px;font-weight:700;font-size:17px}
.etat-on,.en-ecoute .etat-off{display:none}.en-ecoute .etat-on{display:inline}
.auditeurs{color:var(--gris);font-size:15px;margin-top:4px}
.commandes{display:flex;flex-wrap:wrap;align-items:center;gap:22px;margin-top:16px}
.btn-ecoute.grand{background:var(--bordeaux);color:#fff;font-size:20px;padding:8px 30px 8px 8px}
.btn-ecoute.grand .i-play,.btn-ecoute.grand .i-pause{width:56px;height:56px;font-size:26px;background:#fff;color:var(--bordeaux)}
.vol-grand{display:flex;align-items:center;gap:10px;color:var(--gris);font-size:22px}
.vol-grand input{width:160px;accent-color:var(--bordeaux)}
.audio-secours{margin-top:14px;width:100%;max-width:420px}
.note{margin-top:18px;font-size:14px;color:var(--gris);border-inline-start:3px solid var(--bordeaux);padding-inline-start:10px}
.options{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;padding:26px 0 8px}
.options a,.options button{display:flex;align-items:center;gap:14px;width:100%;height:100%;text-align:start;border:1px solid var(--filet);background:#fff;padding:16px 18px}
.options a:hover,.options button:hover{border-color:var(--bordeaux)}
.options svg{width:42px;height:42px;padding:10px;border-radius:50%;background:var(--rose);color:var(--bordeaux)}
.options strong{display:block;color:var(--bordeaux)}.options small{display:block;color:var(--gris);font-size:13.5px}
.partage-direct{margin:10px 0 0}
.progs{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.prog strong{display:block;font-weight:700;font-size:16px}.prog small{color:var(--gris);font-size:13px}
.prog:hover strong{color:var(--bordeaux)}

/* ---------------------------------------------------------------- 404 */
.introuvable{text-align:center;padding:40px 0 20px;max-width:760px}
.introuvable .code{font-size:120px;font-weight:700;line-height:1;color:var(--bordeaux);font-family:var(--police-ui)}
.introuvable h1{font-size:40px;font-weight:700;margin:10px 0}
.introuvable>p{color:#333}
.introuvable .form-recherche{margin:22px auto 0}
.boutons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin-top:22px}
.btn{display:inline-block;padding:10px 22px;background:var(--bordeaux);color:#fff;font-weight:700;border:2px solid var(--bordeaux)}
.btn.secondaire{background:#fff;color:var(--bordeaux)}
.puces{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-top:26px}
.puces a{display:block;padding:5px 14px;background:var(--clair);font-size:14.5px;font-weight:700}
.puces a:hover{background:var(--bordeaux);color:#fff}

/* ---------------------------------------------------------------- navigation sans rechargement */
.chargement-barre{position:fixed;top:0;inset-inline:0;height:3px;z-index:200;background:var(--bordeaux);transform-origin:right;transform:scaleX(0);opacity:0;transition:transform 8s cubic-bezier(.1,.7,.2,1),opacity .3s}
.chargement .chargement-barre{opacity:1;transform:scaleX(.9)}

/* ---------------------------------------------------------------- adaptations */
@media (max-width:1000px){
 .grille{grid-template-columns:repeat(2,1fr)}.grille.trois{grid-template-columns:1fr 1fr}.grille.trois article:first-child{grid-column:1/-1}
 .principal,.encarts{grid-template-columns:1fr}.art,.arch{grid-template-columns:minmax(0,1fr)}.lateral{position:static}
 .scene{grid-template-columns:1fr;gap:10px;text-align:center}.commandes{justify-content:center}.note{text-align:start}
 .options{grid-template-columns:1fr}.progs{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
 .bascule{display:grid}
 .nav{display:none;position:static}.nav.ouvert{display:block}
 .nav .cont{padding:0}
 .niv1{display:block}
 .niv1>li{flex-wrap:wrap;border-bottom:1px solid var(--filet)}
 .niv1>li>a{flex:1;padding:13px 16px;border:0}
 .niv1>li:first-child>a{padding-inline-start:16px}
 .ouvrir{margin:0;padding:13px 18px;transform:none;transition:transform .2s}
 .deplie>.ouvrir{transform:rotate(-90deg)}
 .sous,.sous.large{position:static;display:none;columns:1;min-width:0;width:100%;border:0;box-shadow:none;background:var(--clair);padding:4px 0}
 .niv1>li:hover>.sous,.niv1>li:focus-within>.sous{display:none}
 .niv1>li.deplie>.sous{display:block}
 .sous a{padding:9px 32px}
}
@media (max-width:640px){
 body{font-size:16px}.cont{padding:0 16px}
 :root{--hauteur-lecteur:62px}
 .bandeau>.cont{min-height:72px;gap:10px}
 .logo{gap:8px;min-width:0}.logo img{width:52px;height:52px;flex:none}.logo .nom{font-size:14px;white-space:nowrap;min-width:0;overflow:hidden;text-overflow:ellipsis}.logo small{font-size:12.5px}
 .actions{gap:6px}.icone{width:40px;height:40px}.actions .cherche{display:none}
 .btn-ecoute{font-size:14px;padding:5px 14px 5px 5px}.btn-ecoute .i-play,.btn-ecoute .i-pause{width:30px;height:30px;font-size:15px}
 .une{padding-top:0}.principal{gap:12px;margin:0 -16px;padding:0 0 22px}.principal>div{padding:0 16px}
 .principal .titre{font-size:30px}.principal .resume{font-size:19px}
 .grille,.grille.trois{grid-template-columns:1fr;gap:0;padding:8px 0}
 .grille article{display:grid;grid-template-columns:1fr 132px;gap:12px;padding:14px 0;border-bottom:1px solid var(--filet)}
 .grille article .vignette{grid-column:2;grid-row:1/span 3;margin:0;align-self:start}
 .grille article .etiq,.ligne .etiq{font-size:0;padding:4px 6px;gap:0}.grille article .etiq svg,.ligne .etiq svg{font-size:13px}
 .grille article>*:not(.vignette){grid-column:1}
 .grille article .resume{display:none}
 .grille.trois article:first-child{display:block}.grille.trois article:first-child .vignette{margin-bottom:10px}
 .titre,.grille.trois article:first-child .titre{font-size:20px}
 .direct-promo{flex-wrap:wrap;padding:14px}.direct-promo .btn-ecoute{margin:0}
 .jti{flex-direction:column;align-items:flex-start;gap:10px}.jti img{width:160px}
 .lecteur .cont{gap:10px}.lecteur .vol{display:none}.lecteur .id img{width:34px;height:34px}.lecteur .id strong{font-size:14px}
 .art{padding-top:18px;gap:24px}.art-tete .titre-art{font-size:28px}.art-image{margin:0 -16px}.contenu{font-size:20px;line-height:1.6}
 .partage{margin:6px 0 0;width:100%}
 .contenu table{display:block;overflow-x:auto}
 .pied .reseaux{margin:0}.pied .haut-pied .reseaux{gap:8px}
 .ariane{padding-top:12px}
 .arch-tete h1{font-size:32px}.arch-tete .description{font-size:18px}
 .ligne{grid-template-columns:110px minmax(0,1fr);gap:12px;padding:14px 0}.ligne .titre{font-size:20px}.ligne .resume{display:none}
 .pagination ul{gap:4px}.pagination a,.pagination span{min-width:38px;height:38px;padding:0 9px;font-size:14px}
 .pagination .trou{display:none}
 .page-simple .titre-art{font-size:32px}.contenu h3{font-size:24px}
 .cadran{width:260px;height:260px}.cadran img{width:160px;height:160px}.anneau b{transform:rotate(var(--a)) translateY(-116px)}
 .scene-txt h1{font-size:36px}.sous-titre{font-size:19px}
 .btn-ecoute.grand{font-size:17px}.btn-ecoute.grand .i-play,.btn-ecoute.grand .i-pause{width:46px;height:46px;font-size:22px}
 .vol-grand{display:none}
 .progs{gap:14px}
 .introuvable .code{font-size:84px}.introuvable h1{font-size:32px}
}
@media (max-width:782px){.admin-bar .nav{top:0}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ---------------------------------------------------------------- cibles tactiles : 44 px au moins (liens dans une phrase exceptés) */
main:focus{outline:none} /* le lien « انتقل إلى المحتوى » y place le focus, sans cadre */
.actions .icone,.haut{width:44px;height:44px}
.btn-ecoute{min-height:44px}
.lecteur .vol{min-height:44px}.lecteur .vol input{height:44px}
.pied .haut-pied ul a{display:inline-flex;align-items:center;min-height:44px}
.pied .reseaux a,.partage a,.partage button{width:44px;height:44px}
.etiquettes a,.puces a,.sec-tete .plus,.sous a,.ariane a{display:inline-flex;align-items:center;min-height:44px}
.sous a{display:flex}
.ouvrir{min-width:44px;min-height:44px}
.pagination a,.pagination span{min-width:44px;height:44px}
.rubriques a{min-height:44px;display:flex;align-items:center}
.ariane{padding-top:6px;padding-bottom:0}
.form-recherche button{min-width:54px;min-height:44px}

/* liens courts : la zone cliquable atteint 44 px sans changer la mise en page (marge négative = padding) */
.pied .bas-pied span a,.direct-promo strong a{display:inline-block;padding:11px 0;margin:-11px 0}
.meta a{display:inline-block;padding-block:11px;padding-inline:10px 8px;margin-block:-11px;margin-inline-end:-8px}
.titre a{display:block;padding:7px 0;margin:-7px 0}
a.rubrique{display:inline-flex;align-items:center;min-height:44px;margin-block:-8px}
.lecteur .id{min-height:44px}
.vol-grand input{height:44px}
