/* =========================================================
   Radio Djawoampo — layout.css
   Barre du haut, en-tête, menu (desktop + tiroir mobile),
   bandeau défilant, pied de page.
   ========================================================= */

/* ---------- Barre du haut ---------- */
.topbar{background:var(--vert-nuit);color:#d9efe1;font-size:.8rem}
.topbar .container{display:flex;justify-content:space-between;padding:.35rem 0;gap:.5rem;flex-wrap:wrap}
.topbar b{color:var(--orange)}
@media (max-width:699px){.topbar{display:none}}

/* ---------- En-tête ---------- */
.site-header{background:#fff;box-shadow:0 1px 0 var(--bord),0 4px 14px rgba(0,0,0,.04);position:sticky;top:0;z-index:500}
.header-in{display:flex;align-items:center;gap:1rem;min-height:var(--header-h)}
.logo-zone{display:flex;align-items:center;gap:.6rem;flex-shrink:0;min-width:0;color:var(--noir)}
.logo-img{height:50px;width:auto;max-width:92px;object-fit:contain;border-radius:8px;background:#fff}
.logo-txt{display:flex;flex-direction:column;min-width:0}
.logo-txt strong{font-size:1rem;letter-spacing:.02em;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.logo-txt span{font-size:.7rem;color:var(--orange-fonce);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

.main-nav{flex:1;display:flex;justify-content:center;min-width:0}
.nav-list{display:flex;list-style:none;gap:.2rem;align-items:center}
.nav-list a{display:flex;align-items:center;gap:.35rem;font-weight:700;color:var(--texte);font-size:.9rem;padding:.5rem .65rem;border-radius:8px;white-space:nowrap;position:relative}
.nav-list a:hover{background:var(--gris-clair)}
.nav-list a.active{color:var(--vert-fonce)}
.nav-list a.active::after{content:"";position:absolute;left:.65rem;right:.65rem;bottom:.1rem;height:3px;background:var(--orange);border-radius:2px}
.nav-ico{display:none}
.drawer-head,.drawer-extra{display:none}

.header-ctrl{display:flex;align-items:center;gap:.5rem;flex-shrink:0}
.lang-drop{position:relative}
.lang-toggle{background:#fff;border:1px solid var(--bord);border-radius:50px;padding:.5rem .8rem;font-weight:700;font-size:.8rem;white-space:nowrap}
.lang-menu{display:none;position:absolute;right:0;top:calc(100% + 6px);background:#fff;border-radius:12px;box-shadow:var(--ombre-forte);min-width:170px;flex-direction:column;overflow:hidden;z-index:600}
.lang-drop.open .lang-menu{display:flex}
.lang-menu button{background:#fff;border:none;padding:.65rem .9rem;text-align:left;font-size:.88rem;font-weight:600}
.lang-menu button:hover,.lang-menu button.active{background:var(--vert-pale)}
.btn-live{background:var(--orange);color:#fff;border:none;padding:.55rem 1rem;border-radius:50px;font-weight:800;font-size:.85rem;display:flex;align-items:center;gap:.45rem;white-space:nowrap;animation:pulse 2.2s infinite}
.btn-live .dot,.gp-live .dot{width:8px;height:8px;background:#fff;border-radius:50%;flex-shrink:0}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(240,130,30,.5)}70%{box-shadow:0 0 0 10px rgba(240,130,30,0)}100%{box-shadow:0 0 0 0 rgba(240,130,30,0)}}
.burger{display:none}
.nav-overlay{display:none}

/* ---------- Tiroir mobile (≤ 1199px) ---------- */
@media (max-width:1199px){
  .header-in{gap:.6rem}
  .main-nav{
    position:fixed;top:0;right:0;bottom:0;width:min(330px,88vw);z-index:900;
    background:#fff;flex-direction:column;justify-content:flex-start;overflow-y:auto;
    transform:translateX(105%);transition:transform .28s ease;box-shadow:-10px 0 30px rgba(0,0,0,.18);
    padding-bottom:calc(1rem + var(--safe-b));
  }
  .main-nav.open{transform:none}
  .drawer-head{display:flex;align-items:center;justify-content:space-between;padding:.8rem 1rem;border-bottom:1px solid var(--bord);position:sticky;top:0;background:#fff;z-index:1}
  .drawer-head strong{font-size:1.05rem;color:var(--vert-fonce)}
  .nav-list{flex-direction:column;align-items:stretch;gap:0;padding:.4rem 0}
  .nav-list a{padding:.85rem 1.2rem;border-radius:0;font-size:1rem;gap:.8rem;border-left:4px solid transparent}
  .nav-list a.active{background:var(--vert-pale);border-left-color:var(--orange)}
  .nav-list a.active::after{display:none}
  .nav-ico{display:inline-block;width:1.4rem;text-align:center}
  .drawer-extra{display:block;padding:.6rem 1.2rem 1rem;border-top:1px solid var(--bord)}
  .drawer-search{display:flex;align-items:center;gap:.6rem;padding:.7rem 0;font-weight:700;color:var(--texte)}
  .drawer-contact{display:flex;gap:.5rem;margin-top:1rem}
  .drawer-contact .btn{flex:1}
  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:850;opacity:0;pointer-events:none;transition:opacity .25s}
  .nav-overlay.show{opacity:1;pointer-events:auto}
  .burger{display:inline-flex}
  .header-ctrl{margin-left:auto}
}
@media (max-width:699px){
  .logo-img{height:40px;max-width:70px}
  .logo-txt strong{font-size:.9rem}
  .logo-txt span{font-size:.64rem;max-width:44vw}
  .btn-search{display:none}
  .btn-live{padding:.5rem .75rem;font-size:.78rem}
}
@media (max-width:480px){
  .logo-txt span{display:none}
  .logo-txt strong{font-size:.82rem}
  .header-ctrl{gap:.3rem}
  .lang-toggle{padding:.45rem .55rem;font-size:.75rem}
  .btn-live [data-i18n]{display:none}
  .btn-live{width:40px;height:40px;padding:0;justify-content:center}
  .btn-live .dot{width:10px;height:10px}
  .header-in{gap:.4rem}
}
@media (max-width:340px){
  .btn-live [data-i18n]{display:none}
  .btn-live{width:40px;height:40px;padding:0;justify-content:center}
}

/* ---------- Bandeau défilant ---------- */
.ticker{background:var(--orange);color:#fff;overflow:hidden;font-weight:600;font-size:.88rem}
.ticker .container{display:flex;gap:.8rem;align-items:center;padding:.4rem 0}
.ticker-label{background:var(--vert-fonce);padding:.15rem .6rem;border-radius:4px;font-size:.72rem;white-space:nowrap;font-weight:800}
.ticker-track{white-space:nowrap;overflow:hidden;flex:1;min-width:0}
.ticker-track span{display:inline-block;padding-left:100%;animation:defile 28s linear infinite}
@keyframes defile{to{transform:translateX(-100%)}}
@media (max-width:699px){.ticker{font-size:.8rem}.ticker-label{font-size:.65rem}}

/* ---------- Réseaux sociaux ---------- */
.social-row{display:flex;gap:.5rem;margin-top:1rem}
.social-row a{width:38px;height:38px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff;font-size:.85rem;transition:transform .15s}
.social-row a:hover{transform:translateY(-2px)}
.social-light{margin-top:0}

/* ---------- Pied de page ---------- */
.site-footer{background:var(--vert-nuit);color:#cfe8da;padding:2.8rem 0 0;font-size:.9rem}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1.2fr;gap:2rem;padding-bottom:2rem}
.foot-brand{display:flex;align-items:center;gap:.6rem;margin-bottom:.5rem}
.foot-brand img{height:46px;width:auto;max-width:84px;object-fit:contain;border-radius:8px;padding:2px}
.foot-brand strong{color:#fff}
.foot-slogan{color:var(--orange);font-weight:700}
.foot-col h5{color:#fff;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:1rem;position:relative;padding-bottom:.5rem}
.foot-col h5::after{content:"";position:absolute;left:0;bottom:0;width:32px;height:3px;background:var(--orange);border-radius:2px}
.foot-col p,.foot-col li{font-size:.85rem;color:#a8cbb8}
.foot-col ul{list-style:none}.foot-col li{margin-bottom:.5rem}
.foot-col ul a{color:#cfe8da}
.foot-col ul a:hover{color:#fff}
.foot-partners a{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);padding:.42rem .7rem;border-radius:8px;display:flex;justify-content:space-between;font-size:.8rem}
.foot-subscribe{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:1.4rem;margin-bottom:1.5rem}
.foot-sub-box h5{color:#fff;margin-bottom:.7rem}
.foot-sub-box form{display:flex;flex-direction:column;gap:.55rem}
.foot-sub-box input,.foot-sub-box select{padding:.65rem .8rem;border:1px solid rgba(255,255,255,.2);border-radius:8px;background:rgba(255,255,255,.08);color:#fff}
.foot-sub-box select option{color:#111}
.foot-sub-box input::placeholder{color:#8fb8a2}
.foot-bottom{border-top:1px solid rgba(255,255,255,.12);padding:1rem 0 1.2rem;display:flex;justify-content:space-between;flex-wrap:wrap;gap:.6rem;font-size:.78rem;color:#8fb8a2}
.foot-bottom a{color:#b9d8c7;text-decoration:underline}
@media (max-width:999px){.foot-grid{grid-template-columns:1fr 1fr}.foot-subscribe{grid-template-columns:1fr}}
@media (max-width:599px){.foot-grid{grid-template-columns:1fr;gap:1.6rem}.site-footer{padding-top:2rem}.foot-bottom{flex-direction:column}}
body.nav-open .site-header{z-index:950}

.foot-brand img{background:#fff}

/* Le logo contient déjà le nom : on allège le texte quand la place manque */
@media (max-width:1439px){.logo-txt span{display:none}.nav-list a{padding:.5rem .55rem;font-size:.88rem}}
@media (min-width:1200px) and (max-width:1299px){.logo-txt{display:none}}
@media (max-width:480px){.logo-txt{display:none}.header-in{justify-content:space-between}}
@media (min-width:341px) and (max-width:480px){.btn-live [data-i18n]{display:inline}.btn-live{width:auto;height:auto;padding:.5rem .8rem}}

/* Accès administration : discret, sous la liste « Partenaires & institutions » */
.foot-col .admin-key{display:inline-flex;margin-top:.5rem;color:#cfe8da;opacity:.15;transition:opacity .2s;padding:2px}
.foot-col .admin-key:hover,.foot-col .admin-key:focus-visible{opacity:.8}
.foot-col .admin-key .ico{width:12px;height:12px}
/* 9 rubriques dans le menu : sur écran moyen, seul le logo (qui contient déjà le nom) reste */
@media (min-width:1200px){.logo-txt{display:none}.nav-list a{padding:.5rem .5rem;font-size:.87rem}}
