/*
Theme Name: AGP WebTV
Theme URI: https://agp.gov.gn
Author: Agence Guinéenne de Presse
Author URI: https://agp.gov.gn
Description: Thème WordPress officiel pour AGP WebTV — La télévision en ligne de l'Agence Guinéenne de Presse. Design sombre inspiré des grandes chaînes d'information, avec lecteur live, grille vidéos, programmes et dépêches.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Tags: news, video, dark, tv, custom-colors, custom-logo, custom-menu, featured-images, full-width-template, translation-ready
Text Domain: agp-webtv
*/

/* ==========================================================================
   RESET & VARIABLES
   ========================================================================== */
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box}
:root{
  --rouge:#D0102E;--or:#F5A800;--vert:#009A44;
  --noir:#080808;--noir2:#111;--noir3:#181818;
  --blanc:rgba(255,255,255,1);--blanc2:rgba(255,255,255,.85);
  --blanc3:rgba(255,255,255,.45);--blanc4:rgba(255,255,255,.1);
}
html{scroll-behavior:smooth}
body{font-family:'Montserrat',sans-serif;background:var(--noir);color:var(--blanc);overflow-x:hidden}

/* ==========================================================================
   TICKER
   ========================================================================== */
.ticker-wrap{padding-bottom:0}
.ticker{background:var(--rouge);height:34px;display:flex;align-items:center;overflow:hidden;width:100%}
.ticker-label{flex-shrink:0;background:#000;height:100%;padding:0 16px;display:flex;align-items:center;gap:7px;font-family:'Bebas Neue',cursive;font-size:14px;letter-spacing:.15em;color:var(--rouge);z-index:2}
.tdot{width:7px;height:7px;background:var(--rouge);border-radius:50%;animation:pulse 1.2s ease-in-out infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.ticker-scroll{display:flex;white-space:nowrap;animation:scroll 42s linear infinite}
.ticker-scroll span{font-size:11px;font-weight:600;letter-spacing:.06em;padding:0 56px 0 0;color:#fff}
.ticker-scroll span::before{content:'▸  ';opacity:.7}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ==========================================================================
   HEADER
   ========================================================================== */
header{background:var(--noir);border-bottom:1px solid var(--blanc4);position:sticky;top:0;z-index:100}
.hinner{max-width:1400px;margin:0 auto;padding:0 32px;display:flex;align-items:center;height:66px;gap:28px}
.logo img,.custom-logo{height:52px;width:auto;display:block}
.logo a{display:flex;align-items:center;text-decoration:none}
.logo-text{font-family:'Bebas Neue',cursive;font-size:26px;letter-spacing:.12em;color:#fff}
.logo-sub{font-size:8px;font-weight:700;letter-spacing:.25em;text-transform:uppercase;color:var(--rouge)}
.hdiv{width:1px;height:32px;background:var(--blanc4)}
nav{display:flex;flex:1}
nav a{display:flex;align-items:center;height:66px;padding:0 13px;font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--blanc3);text-decoration:none;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
nav a:hover,nav a.active,nav a.current-menu-item{color:var(--blanc);border-bottom-color:var(--rouge)}
.nav-r{margin-left:auto;display:flex;align-items:center;gap:12px}
.btn-live{display:flex;align-items:center;gap:7px;background:var(--rouge);color:#fff;padding:8px 15px;font-family:'Bebas Neue',cursive;font-size:15px;letter-spacing:.14em;border:none;cursor:pointer;text-decoration:none;transition:background .2s}
.btn-live:hover{background:#a80d24;color:#fff}
.btn-live .ldot{background:#fff}

/* Mobile menu toggle */
.menu-toggle{display:none;background:none;border:none;color:#fff;cursor:pointer;padding:8px;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:22px;height:2px;background:#fff;border-radius:1px}

/* ==========================================================================
   HERO SECTION
   ========================================================================== */
.hero{max-width:1400px;margin:0 auto;padding:26px 32px;display:grid;grid-template-columns:1fr 330px;gap:20px;align-items:stretch}

/* --- PLAYER CARD --- */
.player-card{background:#000;border-radius:4px;overflow:hidden}
.pw{position:relative;aspect-ratio:16/9;background:#000;overflow:hidden}

#vid{width:100%;height:100%;display:block;object-fit:contain;background:#000}

.splash{position:absolute;inset:0;background:radial-gradient(ellipse at 25% 35%,rgba(208,16,46,.28),transparent 55%),radial-gradient(ellipse at 75% 65%,rgba(0,154,68,.18),transparent 55%),linear-gradient(145deg,#040408,#0a0a0a);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;z-index:10}
.splash.hidden{display:none}

/* BOUTON ACTIVER LE SON (dans la barre ibar) */
#unmuteBtn{
  margin-left:auto;flex-shrink:0;
  display:flex;align-items:center;gap:6px;
  background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);
  color:#fff;padding:5px 12px;font-family:'Montserrat',sans-serif;
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  cursor:pointer;border-radius:2px;
  transition:background .2s,border-color .2s;
}
#unmuteBtn:hover{background:var(--rouge);border-color:var(--rouge)}
#unmuteBtn.hidden{display:none!important}
.sp-btn{width:74px;height:74px;border-radius:50%;background:rgba(208,16,46,.92);border:3px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .18s,background .18s;box-shadow:0 0 48px rgba(208,16,46,.55)}
.sp-btn:hover{transform:scale(1.1);background:var(--rouge)}
.sp-btn svg{margin-left:5px}
.sp-txt{font-family:'Bebas Neue',cursive;font-size:13px;letter-spacing:.22em;color:rgba(255,255,255,.5)}

.ptop{position:absolute;top:0;left:0;right:0;padding:13px 17px;background:linear-gradient(to bottom,rgba(0,0,0,.75),transparent);display:flex;align-items:center;justify-content:space-between;z-index:8;pointer-events:none}
.live-badge{display:flex;align-items:center;gap:6px;background:var(--rouge);padding:4px 10px;font-family:'Bebas Neue',cursive;font-size:13px;letter-spacing:.18em}
.ldot{width:7px;height:7px;background:#fff;border-radius:50%;animation:pulse 1s ease-in-out infinite}
.ch-tag{font-size:10px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.7);display:flex;align-items:center;gap:8px}
.flag{display:inline-flex;height:9px;width:21px;border-radius:1px;overflow:hidden}
.flag span{flex:1}
.fr{background:var(--rouge)}.fy{background:var(--or)}.fg{background:var(--vert)}

.ctrls{position:absolute;bottom:0;left:0;right:0;padding:28px 14px 11px;background:linear-gradient(to top,rgba(0,0,0,.92),transparent);z-index:9;opacity:0;transition:opacity .22s}
.pw:hover .ctrls{opacity:1}
.pw.paused .ctrls{opacity:1}

.seek{width:100%;height:4px;background:rgba(255,255,255,.2);border-radius:2px;position:relative;cursor:pointer;margin-bottom:10px}
.seek-f{height:100%;background:var(--rouge);border-radius:2px;width:0%;pointer-events:none}
.seek-th{position:absolute;top:50%;left:0%;transform:translate(-50%,-50%);width:13px;height:13px;background:#fff;border-radius:50%;pointer-events:none;opacity:0;transition:opacity .15s}
.seek:hover .seek-th{opacity:1}

.crow{display:flex;align-items:center;gap:9px}
.cb{background:none;border:none;color:#fff;cursor:pointer;padding:4px;display:flex;align-items:center;opacity:.82;transition:opacity .15s,transform .1s;flex-shrink:0}
.cb:hover{opacity:1;transform:scale(1.12)}
.ct{font-size:11px;font-weight:600;color:rgba(255,255,255,.72);white-space:nowrap;min-width:86px}
.sp{flex:1}
.vw{display:flex;align-items:center;gap:5px}
input[type=range].vr{-webkit-appearance:none;width:60px;height:3px;background:rgba(255,255,255,.25);border-radius:2px;outline:none;cursor:pointer}
input[type=range].vr::-webkit-slider-thumb{-webkit-appearance:none;width:11px;height:11px;border-radius:50%;background:#fff;cursor:pointer}

.ibar{background:var(--noir2);padding:9px 17px;display:flex;align-items:center;gap:11px;border-top:1px solid rgba(255,255,255,.06)}
.ilabel{font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--or);white-space:nowrap}
.ititle{font-size:12px;font-weight:600;color:var(--blanc2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* --- PLAYLIST --- */
.playlist{background:var(--noir2);border:1px solid var(--blanc4);border-radius:4px;overflow:hidden;display:flex;flex-direction:column;height:100%}
.plh{padding:13px 17px;border-bottom:1px solid var(--blanc4);display:flex;align-items:center;justify-content:space-between}
.plh h3{font-family:'Bebas Neue',cursive;font-size:16px;letter-spacing:.12em}
.plh span{font-size:9.5px;color:var(--blanc3)}
.plb{overflow-y:auto;max-height:560px;flex:1}
.plb::-webkit-scrollbar{width:3px}
.plb::-webkit-scrollbar-thumb{background:var(--blanc4);border-radius:2px}
.pli{display:flex;align-items:center;gap:11px;padding:10px 17px;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer;transition:background .15s}
.pli:hover{background:rgba(255,255,255,.04)}
.pli.active{background:rgba(208,16,46,.1);border-left:3px solid var(--rouge)}
.pt{width:74px;height:48px;border-radius:2px;flex-shrink:0;position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.pp{position:absolute;width:21px;height:21px;border-radius:50%;background:rgba(208,16,46,.85);display:flex;align-items:center;justify-content:center}
.pp svg{margin-left:2px}
.pd{position:absolute;bottom:3px;right:3px;background:rgba(0,0,0,.78);font-size:8.5px;font-weight:700;color:#fff;padding:1px 4px}
.pi{flex:1;min-width:0}
.pc{font-size:8.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--rouge);margin-bottom:3px}
.ptitle{font-size:11px;font-weight:600;line-height:1.38;color:var(--blanc2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pli.active .ptitle{color:#fff}
.pdt{font-size:9px;color:var(--blanc3);margin-top:2px}
.c1{background:linear-gradient(135deg,#1a0d1a,#5A1A7A)}
.c2{background:linear-gradient(135deg,#1a0808,#7A1A1A)}
.c3{background:linear-gradient(135deg,#081a08,#1A5A1A)}
.c4{background:linear-gradient(135deg,#08081a,#1A2A7A)}
.c5{background:linear-gradient(135deg,#1a1808,#7A6A1A)}
.c6{background:linear-gradient(135deg,#081a1a,#1A5A5A)}
.c7{background:linear-gradient(135deg,#1a081a,#7A1A4A)}

/* ==========================================================================
   FILTRES
   ========================================================================== */
.filters{max-width:1400px;margin:0 auto;padding:0 32px 22px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.flbl{font-size:9.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--blanc3);margin-right:5px}
.fb{background:transparent;border:1px solid var(--blanc4);color:var(--blanc3);padding:6px 14px;font-family:'Montserrat',sans-serif;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;border-radius:2px;transition:all .15s;text-decoration:none;display:inline-block}
.fb:hover{border-color:var(--blanc3);color:var(--blanc)}
.fb.active{background:var(--rouge);border-color:var(--rouge);color:#fff}

/* ==========================================================================
   GRILLE VIDÉOS
   ========================================================================== */
.vs{max-width:1400px;margin:0 auto;padding:0 32px 48px}
.sh{display:flex;align-items:center;margin-bottom:20px;gap:13px}
.sh h2{font-family:'Bebas Neue',cursive;font-size:23px;letter-spacing:.1em}
.sl{flex:1;height:1px;background:var(--blanc4)}
.sh a{font-size:9.5px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--rouge);text-decoration:none}
.sh a:hover{color:var(--blanc)}
.vg{display:grid;grid-template-columns:repeat(4,1fr);gap:17px}
.vc{cursor:pointer;text-decoration:none;display:block;color:inherit}
.vth{aspect-ratio:16/10;position:relative;border-radius:3px;overflow:hidden;margin-bottom:9px}
.vtbg{position:absolute;inset:0;transition:transform .4s;background-size:cover;background-position:center}
.vc:hover .vtbg{transform:scale(1.05)}
.vtov{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.6),transparent 50%);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s}
.vc:hover .vtov{opacity:1}
.vpl{width:42px;height:42px;border-radius:50%;background:rgba(208,16,46,.9);display:flex;align-items:center;justify-content:center}
.vpl svg{margin-left:4px}
.vdu{position:absolute;bottom:6px;right:6px;background:rgba(0,0,0,.82);font-size:9px;font-weight:700;color:#fff;padding:2px 5px;border-radius:2px}
.vca{font-size:8.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge);margin-bottom:4px}
.vti{font-size:12px;font-weight:600;line-height:1.4;color:var(--blanc2);margin-bottom:5px;transition:color .15s}
.vc:hover .vti{color:#fff}
.vme{font-size:9px;color:var(--blanc3)}

/* Vidéos cachées par filtre */
.vc.hidden-filter{display:none}

/* ==========================================================================
   PROGRAMMES
   ========================================================================== */
.ps{background:var(--noir2);border-top:1px solid var(--blanc4);border-bottom:1px solid var(--blanc4);padding:42px 0}
.pi2{max-width:1400px;margin:0 auto;padding:0 32px}
.pg{display:grid;grid-template-columns:repeat(3,1fr);gap:2px;background:var(--blanc4);margin-top:22px}
.pcard{background:var(--noir2);padding:26px;position:relative;cursor:pointer;transition:background .2s}
.pcard:hover{background:var(--noir3)}
.pacc{position:absolute;top:0;left:0;width:100%;height:3px}
.par{background:var(--rouge)}.pay{background:var(--or)}.pag{background:var(--vert)}
.paw{background:#FFFFFF}.pagr{background:#888888}.pab{background:#1A6FD4}.pday{font-size:8.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--blanc3);margin-bottom:13px}
.ptit{font-size:16px;font-weight:700;line-height:1.3;color:var(--blanc2);margin-bottom:7px}
.pdsc{font-size:11px;line-height:1.65;color:var(--blanc3)}
.pbadge{display:inline-flex;align-items:center;gap:5px;margin-top:13px;font-size:8.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;padding:4px 9px;border-radius:1px}
.pbl{background:rgba(208,16,46,.15);color:var(--rouge);border:1px solid rgba(208,16,46,.3)}
.pby{background:rgba(245,168,0,.1);color:var(--or);border:1px solid rgba(245,168,0,.25)}
.pbg{background:rgba(0,154,68,.1);color:var(--vert);border:1px solid rgba(0,154,68,.25)}
a.pcard{text-decoration:none!important;display:block;color:inherit}
.pcard-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:13px}
.pcard-foot .pbadge{margin-top:0}
.pcard-count{font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--blanc3);opacity:.7}


/* --- Layout programmes à deux colonnes --- */
.prg-wrap{display:grid;grid-template-columns:290px 1fr;gap:0;border:1px solid var(--blanc4);margin-top:22px;min-height:420px}
.prg-tabs{display:flex;flex-direction:column;gap:1px;background:var(--blanc4)}
.ptab{background:var(--noir2);padding:18px 20px 16px;position:relative;cursor:pointer;transition:background .18s;border-right:3px solid transparent;outline:none}
.ptab:hover{background:var(--noir3)}
.ptab.is-active{background:var(--noir3);border-right-color:var(--rouge)}
.ptab .pday{font-size:8px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--blanc3);margin-bottom:7px}
.ptab .ptit{font-size:13px;font-weight:700;color:var(--blanc2);line-height:1.3;transition:color .18s;margin-bottom:0}
.ptab.is-active .ptit,.ptab:hover .ptit{color:#fff}
.ptab-arrow{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:18px;color:var(--blanc4);transition:color .18s}
.ptab.is-active .ptab-arrow{color:var(--rouge)}
.prg-panels{background:var(--noir3);overflow:hidden}
.prg-panel{display:none;flex-direction:column}
.prg-panel.is-active{display:flex}
.prg-panel-head{padding:20px 24px 16px;border-bottom:1px solid var(--blanc4)}
.prg-panel-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:5px}
.prg-panel-desc{font-size:11px;line-height:1.6;color:var(--blanc3);margin-bottom:10px}
.prg-vgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--blanc4);flex:1}
.prg-vgrid .vc{background:var(--noir2);border:none;margin:0;cursor:pointer}
.prg-vgrid .vc:hover{background:var(--noir3)}
.prg-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:56px 24px;color:var(--blanc3);text-align:center;flex:1}
.prg-empty svg{opacity:.3}
.prg-empty span{font-size:13px;font-weight:600;color:var(--blanc2)}
.prg-empty small{font-size:11px;line-height:1.6;max-width:300px;opacity:.7}

/* ==========================================================================
   NEWS / DÉPÊCHES
   ========================================================================== */
.ns{max-width:1400px;margin:0 auto;padding:42px 32px}
.ng{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:22px}
.nc{display:flex;gap:11px;cursor:pointer;padding:13px;border:1px solid transparent;transition:border-color .15s,background .15s;text-decoration:none;color:inherit}
.nc:hover{border-color:var(--blanc4);background:rgba(255,255,255,.02)}
.nn{font-family:'Bebas Neue',cursive;font-size:34px;color:rgba(255,255,255,.07);line-height:1;flex-shrink:0;width:32px}
.ncat{font-size:8.5px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge);margin-bottom:5px}
.ntit{font-size:12.5px;font-weight:600;line-height:1.45;color:var(--blanc2);transition:color .15s}
.nc:hover .ntit{color:#fff}
.ntm{font-size:9px;color:var(--blanc3);margin-top:5px}

/* ==========================================================================
   FOOTER
   ========================================================================== */
footer{background:#000000;border-top:1px solid var(--blanc4)}
.fi{max-width:1400px;margin:0 auto;padding:46px 32px 26px}
.foot-grid{display:grid;grid-template-columns:220px 1fr 1fr 1fr;gap:48px;margin-bottom:40px}
.fn{font-family:'Bebas Neue',cursive;font-size:21px;letter-spacing:.1em;color:#fff;margin-bottom:3px}
.fsub{font-size:8px;font-weight:600;letter-spacing:.25em;text-transform:uppercase;color:var(--rouge);margin-bottom:12px}
.fp{font-size:11px;line-height:1.72;color:var(--blanc3)}
.fbar{display:flex;height:3px;margin-top:18px;border-radius:1px;overflow:hidden}
.fbar span{flex:1}
.fcol h4{font-family:'Bebas Neue',cursive;font-size:14px;letter-spacing:.14em;color:#fff;margin-bottom:14px}
.fcol ul{list-style:none}
.fcol ul li{margin-bottom:8px}
.fcol ul li a{font-size:11px;color:var(--blanc3);text-decoration:none;transition:color .15s}
.fcol ul li a:hover{color:#fff}
.fb2{border-top:1px solid var(--blanc4);padding-top:18px;display:flex;justify-content:space-between;align-items:center}
.fb2 p{font-size:10px;color:rgba(255,255,255,.2)}
.soc{display:flex;gap:7px}
.sc{width:28px;height:28px;background:var(--blanc4);border:1px solid rgba(255,255,255,.1);display:flex;align-items:center;justify-content:center;border-radius:2px;cursor:pointer;font-size:10px;font-weight:700;color:var(--blanc3);transition:background .15s,color .15s;text-decoration:none}
.sc:hover{background:var(--rouge);color:#fff}

/* ==========================================================================
   MODALE YOUTUBE
   ========================================================================== */
.yt-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:9999;align-items:center;justify-content:center}
.yt-modal.open{display:flex}
.yt-modal-box{position:relative;width:88%;max-width:960px;aspect-ratio:16/9;background:#000;border-radius:4px;overflow:hidden;box-shadow:0 0 80px rgba(0,0,0,.9)}
.yt-modal-box iframe{width:100%;height:100%;border:none}
.yt-close{position:absolute;top:-44px;right:0;background:none;border:none;color:#fff;font-size:32px;cursor:pointer;line-height:1;opacity:.85}
.yt-close:hover{opacity:1}

/* MODALE LECTEUR PRINCIPAL */
#mainModal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.95);z-index:10000;align-items:center;justify-content:center;flex-direction:column;gap:0}
.main-modal-inner{position:relative;width:92%;max-width:1100px}
.main-modal-close{position:absolute;top:-48px;right:0;background:none;border:none;color:#fff;font-size:34px;cursor:pointer;line-height:1;opacity:.8;transition:opacity .2s}
.main-modal-close:hover{opacity:1}
.main-modal-video{position:relative;aspect-ratio:16/9;background:#000;border-radius:6px;overflow:hidden;box-shadow:0 0 100px rgba(0,0,0,.9)}
.main-modal-video iframe{position:absolute;inset:0;width:100%;height:100%;border:none}
.main-modal-footer{margin-top:14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px}
#mainModalTitle{color:#fff;font-family:'Bebas Neue',cursive;font-size:18px;letter-spacing:.12em}
.main-modal-yt-link{color:var(--rouge);font-size:11px;text-decoration:none;display:flex;align-items:center;gap:6px;opacity:.85;transition:opacity .2s}
.main-modal-yt-link:hover{opacity:1;color:var(--rouge)}

/* ==========================================================================
   SINGLE VIDEO
   ========================================================================== */
/* --- Page programme single --- */
.prg-hero{background:var(--noir2);border-bottom:1px solid var(--blanc4);padding:36px 0 40px}
.prg-breadcrumb{display:flex;align-items:center;gap:8px;font-size:11px;color:var(--blanc3);margin-bottom:24px}
.prg-breadcrumb a{color:var(--blanc3);text-decoration:none}.prg-breadcrumb a:hover{color:#fff}
.prg-breadcrumb span{color:var(--blanc4)}
.prg-hero-body{display:flex;align-items:flex-start;justify-content:space-between;gap:40px}
.prg-hero-info{flex:1;min-width:0}
.prg-hero-title{font-family:'Bebas Neue',sans-serif;font-size:clamp(28px,4vw,48px);color:#fff;margin:0 0 14px;letter-spacing:.04em;line-height:1.1}
.prg-hero-desc{font-size:14px;line-height:1.7;color:var(--blanc2);max-width:640px;margin:0}
.prg-hero-thumb{flex-shrink:0;width:280px;border-radius:4px;overflow:hidden}
.prg-hero-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.prg-videos-section{padding:42px 0}
.prg-no-videos{display:flex;flex-direction:column;align-items:center;gap:12px;padding:72px 0;color:var(--blanc3);text-align:center}
.prg-no-videos svg{opacity:.25}
.prg-no-videos p{font-size:15px;font-weight:600;color:var(--blanc2);margin:0}
.prg-no-videos small{font-size:12px;max-width:380px;line-height:1.6;opacity:.7}
.prg-pagination{display:flex;justify-content:center;gap:6px;padding:32px 0 0;flex-wrap:wrap}
.prg-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;background:var(--noir3);border:1px solid var(--blanc4);color:var(--blanc2);font-size:13px;font-weight:600;text-decoration:none;border-radius:2px;transition:background .2s,color .2s}
.prg-pagination .page-numbers:hover,.prg-pagination .page-numbers.current{background:var(--rouge);border-color:var(--rouge);color:#fff}
.prg-pagination .page-numbers.prev,.prg-pagination .page-numbers.next{width:auto;padding:0 16px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}

.single-video-wrap{max-width:1400px;margin:0 auto;padding:32px}
.single-video-frame{position:relative;aspect-ratio:16/9;background:#000;border-radius:4px;overflow:hidden;margin-bottom:24px}
.single-video-frame iframe{width:100%;height:100%;border:none}
.single-video-meta{display:flex;align-items:center;gap:16px;margin-bottom:12px}
.single-video-cat{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge)}
.single-video-title{font-family:'Bebas Neue',cursive;font-size:32px;letter-spacing:.08em;line-height:1.2;margin-bottom:12px}
.single-video-views{font-size:11px;color:var(--blanc3)}
.single-video-desc{font-size:14px;line-height:1.75;color:var(--blanc2);margin-top:16px}

/* ==========================================================================
   ARCHIVE / BLOG
   ========================================================================== */
.archive-wrap{max-width:1400px;margin:0 auto;padding:42px 32px}
.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
.post-card{background:var(--noir2);border:1px solid var(--blanc4);border-radius:4px;overflow:hidden;transition:border-color .2s}
.post-card:hover{border-color:rgba(208,16,46,.4)}
.post-card-thumb{aspect-ratio:16/9;overflow:hidden}
.post-card-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s}
.post-card:hover .post-card-thumb img{transform:scale(1.05)}
.post-card-body{padding:18px}
.post-card-cat{font-size:9px;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--rouge);margin-bottom:8px}
.post-card-title{font-size:14px;font-weight:700;line-height:1.4;color:var(--blanc2);margin-bottom:8px}
.post-card-title a{color:inherit;text-decoration:none;transition:color .15s}
.post-card-title a:hover{color:#fff}
.post-card-excerpt{font-size:12px;line-height:1.65;color:var(--blanc3)}
.post-card-date{font-size:10px;color:var(--blanc3);margin-top:12px}

/* SINGLE POST */
.single-wrap{max-width:860px;margin:0 auto;padding:42px 32px}
.single-header{margin-bottom:28px}
.single-cat{font-size:9px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--rouge);margin-bottom:10px}
.single-title{font-family:'Bebas Neue',cursive;font-size:42px;letter-spacing:.06em;line-height:1.15;margin-bottom:16px}
.single-date{font-size:11px;color:var(--blanc3)}
.single-featured{aspect-ratio:16/9;border-radius:4px;overflow:hidden;margin-bottom:28px}
.single-featured img{width:100%;height:100%;object-fit:cover}
.single-content{font-size:15px;line-height:1.85;color:var(--blanc2)}
.single-content h2,.single-content h3{font-family:'Bebas Neue',cursive;letter-spacing:.08em;color:#fff;margin:28px 0 12px}
.single-content h2{font-size:28px}
.single-content h3{font-size:22px}
.single-content p{margin-bottom:18px}
.single-content a{color:var(--rouge);text-decoration:none}
.single-content a:hover{text-decoration:underline}

/* ==========================================================================
   PAGE 404
   ========================================================================== */
.not-found-wrap{max-width:600px;margin:0 auto;padding:120px 32px;text-align:center}
.not-found-code{font-family:'Bebas Neue',cursive;font-size:120px;line-height:1;color:var(--rouge);opacity:.4;margin-bottom:16px}
.not-found-title{font-family:'Bebas Neue',cursive;font-size:32px;letter-spacing:.1em;margin-bottom:12px}
.not-found-text{font-size:14px;color:var(--blanc3);margin-bottom:28px;line-height:1.7}
.btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--rouge);color:#fff;padding:12px 24px;font-family:'Bebas Neue',cursive;font-size:16px;letter-spacing:.14em;text-decoration:none;transition:background .2s}
.btn-primary:hover{background:#a80d24;color:#fff}

/* ==========================================================================
   PAGINATION
   ========================================================================== */
.agp-pagination{display:flex;justify-content:center;gap:6px;padding:32px 0}
.agp-pagination a,.agp-pagination span{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--blanc4);font-size:12px;font-weight:600;color:var(--blanc3);text-decoration:none;border-radius:2px;transition:all .15s}
.agp-pagination a:hover,.agp-pagination .current{background:var(--rouge);border-color:var(--rouge);color:#fff}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media(max-width:1200px){
  .vg{grid-template-columns:repeat(3,1fr)}
  .foot-grid{grid-template-columns:180px 1fr 1fr}
}
@media(max-width:1024px){
  .hero{grid-template-columns:1fr;grid-template-rows:auto auto}
  .playlist{height:auto;max-height:320px}
  .plb{max-height:240px}
  .vg{grid-template-columns:repeat(2,1fr)}
  .pg{grid-template-columns:repeat(2,1fr)}
  .foot-grid{grid-template-columns:1fr 1fr;gap:32px}
  .prg-wrap{grid-template-columns:240px 1fr}
  .prg-vgrid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .hinner{padding:0 16px}
  nav{display:none;position:absolute;top:66px;left:0;right:0;background:var(--noir2);flex-direction:column;border-top:1px solid var(--blanc4);padding:8px 0}
  nav.open{display:flex}
  nav a{height:44px;padding:0 20px;border-bottom:1px solid var(--blanc4);border-left:none}
  .menu-toggle{display:flex}
  .hero{padding:16px}
  .filters,.vs,.ns,.pi2{padding-left:16px;padding-right:16px}
  .vg{grid-template-columns:repeat(2,1fr);gap:12px}
  .ng,.pg{grid-template-columns:1fr}
  .prg-wrap{grid-template-columns:1fr}
  .prg-tabs{flex-direction:row;overflow-x:auto;gap:1px}
  .ptab{min-width:160px;border-right:none;border-bottom:3px solid transparent;padding:14px 16px}
  .ptab.is-active{border-bottom-color:var(--rouge);border-right-color:transparent}
  .ptab-arrow{display:none}
  .prg-vgrid{grid-template-columns:repeat(2,1fr)}
  .archive-grid{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr;gap:28px}
}
@media(max-width:480px){
  .vg{grid-template-columns:1fr}
  .hinner{gap:12px}
}
