/* =========================================================================
   CRJ — Canal Radio des Jeunes · 90.0 FM
   Système de design "sunshine" — lumineux, coloré, jeune
   Signature : rouge #8c1304 + vert #4f7a27 du logo, réveillés par du corail,
   du soleil, du turquoise et du violet. Fonds clairs, formes rondes.
   ========================================================================= */

:root{
  --red:        #e8402a;
  --red-brand:  #8c1304;
  --red-dk:     #c22a15;
  --green:      #2fa84f;
  --green-brt:  #46c765;
  --green-dk:   #1f7a3a;
  --sun:        #ffb92e;
  --coral:      #ff6b57;
  --teal:       #10b6b0;
  --violet:     #8b5cf6;
  --sky:        #38a1ff;
  --pink:       #ff5d8f;
  --cream:      #fffdf8;
  --white:      #ffffff;
  --wash:       #fff6ec;
  --mint:       #f0fbf3;
  --line:       #ece6dc;
  --line-soft:  #f2ede4;
  --ink:        #211f2e;
  --mut:        #6f6b7d;
  --live: #ff2d1a;
  --radius:     22px;
  --radius-sm:  14px;
  --radius-lg:  30px;
  --shadow:     0 14px 34px -14px rgba(90,60,20,.28);
  --shadow-lg:  0 26px 60px -20px rgba(90,60,20,.34);
  --shadow-color: 0 16px 40px -16px rgba(232,64,42,.4);
  --maxw: 1200px;
  --player-h: 86px;
  --font-display: "Archivo", "Arial Narrow", sans-serif;
  --font-body: "Figtree", system-ui, -apple-system, sans-serif;
  --font-mono: "Space Mono", ui-monospace, monospace;
}

*,*::before,*::after{ box-sizing:border-box; }
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0; font-family:var(--font-body); color:var(--ink); background:var(--cream);
  line-height:1.6; font-size:17px; padding-bottom:var(--player-h); overflow-x:hidden;
}
img{ max-width:100%; height:auto; display:block; }
a{ color:inherit; text-decoration:none; }
button{ font-family:inherit; cursor:pointer; }
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:800; line-height:1.03; letter-spacing:-.015em; margin:0; }
.wrap{ max-width:var(--maxw); margin:0 auto; padding:0 22px; }
.eyebrow{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.2em; text-transform:uppercase; color:var(--red); font-weight:700; }

.onair{ display:inline-flex; align-items:center; gap:.5em; font-family:var(--font-mono); font-weight:700; font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; padding:.36em .75em; border-radius:999px; background:rgba(255,45,26,.12); color:var(--live); border:1px solid rgba(255,45,26,.35); }
.onair.is-off{ background:#f1eee7; color:var(--mut); border-color:var(--line); }
.dot{ width:8px; height:8px; border-radius:50%; background:var(--live); box-shadow:0 0 0 0 rgba(255,45,26,.6); }
.onair:not(.is-off) .dot{ animation:pulse 1.6s infinite; }
@keyframes pulse{ 0%{ box-shadow:0 0 0 0 rgba(255,45,26,.55); } 70%{ box-shadow:0 0 0 9px rgba(255,45,26,0); } 100%{ box-shadow:0 0 0 0 rgba(255,45,26,0); } }

.eq{ display:inline-flex; align-items:flex-end; gap:2px; height:14px; }
.eq span{ width:3px; height:30%; background:currentColor; border-radius:2px; animation:eq 1s ease-in-out infinite; }
.eq span:nth-child(2){ animation-delay:.2s; } .eq span:nth-child(3){ animation-delay:.4s; }
.eq span:nth-child(4){ animation-delay:.15s; } .eq span:nth-child(5){ animation-delay:.35s; }
.eq.paused span{ animation-play-state:paused; height:30%; }
@keyframes eq{ 0%,100%{ height:25%; } 50%{ height:100%; } }

/* HEADER */
.site-header{ position:sticky; top:0; z-index:60; background:rgba(255,253,248,.9); backdrop-filter:saturate(1.4) blur(10px); color:var(--ink); border-bottom:1px solid var(--line); }
.header-bar{ display:flex; align-items:center; gap:22px; height:76px; }
.brand{ display:flex; align-items:center; gap:12px; margin-right:auto; }
.brand img{ height:52px; width:52px; border-radius:50%; box-shadow:0 6px 16px -6px rgba(140,19,4,.5); }
.brand .bt{ display:flex; flex-direction:column; line-height:1; }
.brand .bt strong{ font-family:var(--font-display); font-size:1.3rem; letter-spacing:.01em; color:var(--ink); }
.brand .bt small{ font-family:var(--font-mono); font-size:.62rem; letter-spacing:.18em; color:var(--green-dk); text-transform:uppercase; margin-top:4px; }
.nav{ display:flex; align-items:center; gap:4px; }
.nav a{ padding:.55em .9em; border-radius:999px; font-weight:600; font-size:.95rem; color:var(--ink); transition:background .15s, color .15s; }
.nav a:hover{ background:var(--mint); color:var(--green-dk); }
.nav a.current{ background:var(--green); color:#fff; }
.header-live{ display:flex; align-items:center; gap:10px; }
.freq-chip{ font-family:var(--font-mono); font-weight:700; font-size:.8rem; letter-spacing:.04em; color:var(--ink); background:#fff; border:1px solid var(--line); padding:.42em .65em; border-radius:999px; white-space:nowrap; }
.freq-chip b{ color:var(--red); }
.burger{ display:none; background:none; border:0; color:var(--ink); padding:8px; }

/* HERO */
.hero{ position:relative; color:var(--ink); overflow:hidden;
  background:
    radial-gradient(680px 460px at 88% -8%, rgba(255,185,46,.5), transparent 62%),
    radial-gradient(620px 520px at 6% 6%, rgba(16,182,176,.32), transparent 60%),
    radial-gradient(760px 560px at 60% 118%, rgba(232,64,42,.24), transparent 58%),
    linear-gradient(180deg,var(--cream),var(--wash)); }
.hero::after{ content:""; position:absolute; inset:0; pointer-events:none; opacity:.5; background-image:radial-gradient(circle, rgba(33,31,46,.06) 1px, transparent 1.4px); background-size:26px 26px; }
.hero .wrap{ position:relative; z-index:2; display:grid; grid-template-columns:1.15fr .85fr; gap:44px; align-items:center; padding-top:64px; padding-bottom:64px; }
.hero h1{ font-size:clamp(2.5rem,6.2vw,4.8rem); text-transform:uppercase; letter-spacing:-.025em; color:var(--ink); }
.hero h1 .g{ background:linear-gradient(120deg,var(--red),var(--coral) 55%,var(--sun)); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:var(--red); }
.hero p.lede{ color:var(--mut); font-size:1.14rem; max-width:46ch; margin:18px 0 26px; }
.hero-cta{ display:flex; flex-wrap:wrap; gap:12px; }
.btn{ display:inline-flex; align-items:center; gap:.55em; font-weight:800; padding:.85em 1.4em; border-radius:999px; border:0; font-size:.98rem; transition:transform .12s, box-shadow .18s, background .15s, filter .15s; }
.btn:hover{ transform:translateY(-2px); }
.btn:active{ transform:translateY(0); }
.btn-primary{ background:linear-gradient(120deg,var(--red),var(--coral)); color:#fff; box-shadow:var(--shadow-color); }
.btn-primary:hover{ filter:brightness(1.05); box-shadow:0 20px 44px -16px rgba(232,64,42,.6); }
.btn-ghost{ background:#fff; color:var(--ink); border:1px solid var(--line); box-shadow:0 6px 18px -12px rgba(0,0,0,.3); }
.btn-ghost:hover{ background:var(--mint); border-color:var(--green); color:var(--green-dk); }
.btn-green{ background:linear-gradient(120deg,var(--green),var(--teal)); color:#fff; box-shadow:0 12px 30px -14px rgba(47,168,79,.6); }
.btn-green:hover{ filter:brightness(1.05); }

.now-card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius-lg); padding:20px; box-shadow:var(--shadow-lg); }
.now-card .nc-top{ display:flex; align-items:center; justify-content:space-between; margin-bottom:14px; }
.now-cover{ aspect-ratio:16/9; border-radius:var(--radius); overflow:hidden; position:relative; background:linear-gradient(135deg,var(--coral),var(--sun)); display:grid; place-items:center; }
.now-cover .frame{ position:absolute; inset:0; display:none; }
.now-cover video, .now-cover .frame iframe{ width:100%; height:100%; object-fit:cover; }
.now-cover .badge-tv{ position:absolute; top:10px; left:10px; z-index:3; }
.now-cover .cover-mic{ font-size:3rem; filter:drop-shadow(0 6px 10px rgba(0,0,0,.18)); }
.now-meta{ margin-top:14px; }
.now-meta .show{ font-family:var(--font-display); font-size:1.35rem; font-weight:800; color:var(--ink); }
.now-meta .host{ color:var(--mut); font-size:.92rem; margin-top:2px; }
.now-meta .prog{ margin-top:14px; height:6px; background:#eee6da; border-radius:999px; overflow:hidden; }
.now-meta .prog i{ display:block; height:100%; width:42%; background:linear-gradient(90deg,var(--green),var(--teal)); border-radius:999px; }
.mode-toggle{ display:inline-flex; background:#f1eee7; border-radius:999px; padding:3px; }
.mode-toggle button{ border:0; background:none; color:var(--mut); font-weight:800; font-size:.78rem; padding:.4em .95em; border-radius:999px; }
.mode-toggle button.active{ background:var(--green); color:#fff; }

/* TICKER */
.ticker{ background:linear-gradient(90deg,var(--red),var(--coral),var(--sun),var(--green),var(--teal),var(--violet)); color:#fff; overflow:hidden; white-space:nowrap; }
.ticker .track{ display:inline-flex; gap:40px; padding:12px 0; animation:ticker 28s linear infinite; font-family:var(--font-mono); font-weight:700; font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.ticker .track span{ text-shadow:0 1px 6px rgba(0,0,0,.18); }
.ticker .track span b{ color:#fff; }
@keyframes ticker{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }

/* SECTIONS */
.section{ padding:66px 0; }
.section.alt{ background:var(--mint); }
.section-head{ display:flex; align-items:flex-end; justify-content:space-between; gap:20px; margin-bottom:30px; flex-wrap:wrap; }
.section-head h2{ font-size:clamp(1.8rem,3.6vw,2.7rem); text-transform:uppercase; position:relative; }
.section-head h2::after{ content:""; display:block; width:58px; height:5px; margin-top:10px; border-radius:999px; background:linear-gradient(90deg,var(--red),var(--sun)); }
.section-head .link{ font-weight:800; color:var(--red); font-family:var(--font-mono); font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; }
.section-head .link:hover{ color:var(--red-dk); }

.grid{ display:grid; gap:24px; }
.grid.g3{ grid-template-columns:repeat(3,1fr); }
.grid.g4{ grid-template-columns:repeat(4,1fr); }
.grid.feature{ grid-template-columns:1.4fr 1fr 1fr; grid-auto-rows:1fr; }

.card{ background:var(--white); border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; display:flex; flex-direction:column; transition:transform .18s, box-shadow .2s, border-color .2s; }
.card:hover{ transform:translateY(-6px); box-shadow:var(--shadow); border-color:transparent; }
.card .thumb{ aspect-ratio:16/10; background:var(--wash); position:relative; overflow:hidden; display:block; }
.card .thumb.culture{ background:linear-gradient(135deg,var(--red),var(--coral)); }
.card .thumb.entrep{ background:linear-gradient(135deg,var(--sun),#ff9f1c); }
.card .thumb.commu{ background:linear-gradient(135deg,var(--green),var(--teal)); }
.card .thumb.tech{ background:linear-gradient(135deg,var(--teal),var(--sky)); }
.card .thumb.societe{ background:linear-gradient(135deg,var(--violet),var(--pink)); }
.card .thumb img{ width:100%; height:100%; object-fit:cover; transition:transform .4s; }
.card:hover .thumb img{ transform:scale(1.06); }
.card .rub{ position:absolute; top:12px; left:12px; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:#fff; padding:.36em .7em; border-radius:999px; background:var(--red); box-shadow:0 6px 16px -8px rgba(0,0,0,.5); }
.rub.culture{ background:var(--red); } .rub.entrep{ background:#ef9a1b; }
.rub.commu{ background:var(--green); } .rub.tech{ background:var(--teal); }
.rub.societe{ background:var(--violet); }
.card .body{ padding:18px 20px 22px; display:flex; flex-direction:column; gap:8px; flex:1; }
.card h3{ font-size:1.2rem; line-height:1.14; }
.card h3 a:hover{ color:var(--red); }
.card.big h3{ font-size:1.8rem; }
.card .excerpt{ color:var(--mut); font-size:.95rem; }
.card .meta{ margin-top:auto; padding-top:12px; font-family:var(--font-mono); font-size:.7rem; letter-spacing:.05em; color:var(--mut); text-transform:uppercase; display:flex; gap:10px; align-items:center; }
.card.big{ grid-row:span 2; }
.card.big .thumb{ aspect-ratio:16/11; }

/* GRILLE */
.schedule{ display:grid; gap:12px; }
.slot{ display:grid; grid-template-columns:120px 1fr auto; align-items:center; gap:16px; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-sm); padding:15px 18px; transition:border-color .15s, transform .12s, box-shadow .18s; }
.slot:hover{ transform:translateX(4px); box-shadow:var(--shadow); border-color:transparent; }
.slot.live{ border-color:transparent; background:linear-gradient(100deg,rgba(232,64,42,.1),rgba(255,185,46,.12)); box-shadow:0 12px 30px -16px rgba(232,64,42,.5); }
.slot .time{ font-family:var(--font-mono); font-weight:700; color:var(--red); font-size:.98rem; }
.slot .info strong{ font-family:var(--font-display); font-size:1.14rem; display:block; }
.slot .info span{ color:var(--mut); font-size:.88rem; }
.slot .tags{ display:flex; gap:6px; }
.tag{ font-family:var(--font-mono); font-size:.62rem; letter-spacing:.08em; text-transform:uppercase; padding:.34em .6em; border-radius:999px; background:var(--mint); color:var(--green-dk); font-weight:700; }
.day-tabs{ display:flex; gap:8px; flex-wrap:wrap; margin-bottom:24px; }
.day-tabs button{ border:1px solid var(--line); background:#fff; padding:.55em 1.1em; border-radius:999px; font-weight:800; font-size:.85rem; color:var(--mut); transition:all .15s; }
.day-tabs button:hover{ border-color:var(--green); color:var(--green-dk); }
.day-tabs button.active{ background:linear-gradient(120deg,var(--green),var(--teal)); color:#fff; border-color:transparent; }

/* TV */
.tv-stage{ background:var(--white); border-radius:var(--radius-lg); overflow:hidden; border:1px solid var(--line); box-shadow:var(--shadow-lg); }
.tv-screen{ position:relative; aspect-ratio:16/9; background:#0e0d16; display:grid; place-items:center; color:#c9c5d6; }
.tv-screen video{ width:100%; height:100%; object-fit:contain; background:#000; }
.tv-offline{ text-align:center; padding:32px; }
.tv-offline .big{ font-family:var(--font-display); font-size:2rem; color:#fff; text-transform:uppercase; }
.tv-offline p{ color:#b7b3c6; }
.tv-bar{ display:flex; align-items:center; gap:14px; padding:16px 18px; background:var(--white); color:var(--ink); flex-wrap:wrap; border-top:1px solid var(--line); }

/* PODCASTS */
.pod{ display:flex; gap:14px; align-items:center; background:var(--white); border:1px solid var(--line); border-radius:var(--radius-sm); padding:13px; transition:border-color .15s, transform .12s, box-shadow .18s; }
.pod:hover{ border-color:transparent; transform:translateY(-3px); box-shadow:var(--shadow); }
.pod .pc{ width:64px; height:64px; border-radius:var(--radius-sm); flex:none; background:linear-gradient(135deg,var(--green),var(--teal)); display:grid; place-items:center; color:#fff; font-size:1.6rem; }
.pod .pi{ flex:1; min-width:0; }
.pod .pi strong{ display:block; font-family:var(--font-display); font-size:1.04rem; }
.pod .pi strong a:hover{ color:var(--green-dk); }
.pod .pi span{ color:var(--mut); font-size:.82rem; }
.pod .play{ width:44px; height:44px; border-radius:50%; background:linear-gradient(120deg,var(--red),var(--coral)); color:#fff; border:0; display:grid; place-items:center; flex:none; box-shadow:0 10px 22px -10px rgba(232,64,42,.7); transition:transform .12s, filter .15s; }
.pod .play:hover{ filter:brightness(1.06); transform:scale(1.06); }

/* CTA */
.cta-band{ background:linear-gradient(125deg,var(--red),var(--coral) 55%,var(--sun)); color:#fff; border-radius:var(--radius-lg); padding:46px; display:grid; grid-template-columns:1.4fr 1fr; gap:30px; align-items:center; box-shadow:var(--shadow-lg); position:relative; overflow:hidden; }
.cta-band::before{ content:""; position:absolute; right:-60px; top:-60px; width:220px; height:220px; border-radius:50%; background:rgba(255,255,255,.16); }
.cta-band h2{ font-size:2.1rem; text-transform:uppercase; position:relative; }
.cta-band p{ opacity:.95; margin:.6em 0 0; position:relative; }
.field{ display:flex; gap:8px; margin-top:14px; position:relative; }
.field input{ flex:1; padding:.9em 1.1em; border-radius:999px; border:0; font-family:inherit; font-size:1rem; box-shadow:0 8px 20px -12px rgba(0,0,0,.4); }
.field .btn{ white-space:nowrap; }
.cta-band .btn-green{ background:var(--green-dk); box-shadow:none; }
.cta-band .btn-green:hover{ background:var(--ink); }

/* FOOTER */
.site-footer{ background:linear-gradient(155deg,var(--green-dk),var(--green) 60%,var(--teal)); color:rgba(255,255,255,.86); padding:56px 0 30px; margin-top:24px; }
.foot-grid{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:34px; }
.site-footer h4{ color:#fff; font-size:1rem; text-transform:uppercase; letter-spacing:.04em; margin-bottom:14px; }
.site-footer a{ color:rgba(255,255,255,.86); display:block; padding:4px 0; transition:color .15s, transform .15s; }
.site-footer a:hover{ color:var(--sun); transform:translateX(3px); }
.foot-brand p{ font-size:.92rem; margin-top:10px; color:rgba(255,255,255,.82); }
.foot-brand .brand .bt small{ color:#eaffe6; }
.foot-bottom{ margin-top:42px; padding-top:22px; border-top:1px solid rgba(255,255,255,.22); display:flex; justify-content:space-between; gap:14px; flex-wrap:wrap; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.05em; color:rgba(255,255,255,.8); }
.socials{ display:flex; gap:10px; margin-top:14px; }
.socials a{ width:40px; height:40px; border-radius:50%; background:rgba(255,255,255,.16); display:grid; place-items:center; color:#fff; padding:0; transition:background .15s, transform .15s; }
.socials a:hover{ background:var(--sun); color:var(--ink); transform:translateY(-2px); }

/* LECTEUR */
.player{ position:fixed; left:0; right:0; bottom:0; z-index:80; height:var(--player-h); background:rgba(255,255,255,.94); backdrop-filter:saturate(1.5) blur(12px); color:var(--ink); border-top:1px solid var(--line); display:flex; align-items:center; gap:18px; padding:0 18px; box-shadow:0 -14px 40px -22px rgba(0,0,0,.3); }
.player::before{ content:""; position:absolute; top:0; left:0; right:0; height:3px; background:linear-gradient(90deg,var(--red),var(--sun),var(--green),var(--teal)); }
.player .pl-left{ display:flex; align-items:center; gap:14px; min-width:0; flex:1; }
.player .pl-play{ width:54px; height:54px; border-radius:50%; background:linear-gradient(120deg,var(--red),var(--coral)); color:#fff; border:0; display:grid; place-items:center; flex:none; box-shadow:0 12px 26px -10px rgba(232,64,42,.7); transition:filter .15s, transform .1s; }
.player .pl-play:hover{ filter:brightness(1.06); }
.player .pl-play:active{ transform:scale(.94); }
.player .pl-info{ min-width:0; }
.player .pl-info .t{ font-family:var(--font-display); font-weight:800; font-size:1.02rem; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; color:var(--ink); }
.player .pl-info .s{ font-family:var(--font-mono); font-size:.68rem; letter-spacing:.08em; color:var(--mut); text-transform:uppercase; display:flex; gap:8px; align-items:center; margin-top:3px; }
.player .pl-center{ display:flex; align-items:center; gap:12px; }
.player .pl-mode{ display:inline-flex; background:#f1eee7; border-radius:999px; padding:3px; }
.player .pl-mode button{ border:0; background:none; color:var(--mut); font-weight:800; font-size:.72rem; letter-spacing:.06em; padding:.44em .85em; border-radius:999px; font-family:var(--font-mono); }
.player .pl-mode button.active{ background:linear-gradient(120deg,var(--green),var(--teal)); color:#fff; }
.player .pl-mode button:disabled{ opacity:.4; cursor:not-allowed; }
.player .pl-right{ display:flex; align-items:center; gap:14px; }
.player .vol{ display:flex; align-items:center; gap:8px; color:var(--mut); }
.player .vol input{ width:96px; accent-color:var(--green); }
.player .pl-eq{ color:var(--green); }

.tv-flyout{ position:fixed; right:18px; bottom:calc(var(--player-h) + 14px); z-index:79; width:340px; max-width:calc(100vw - 36px); background:#0e0d16; border:1px solid rgba(255,255,255,.12); border-radius:var(--radius-sm); overflow:hidden; box-shadow:var(--shadow-lg); transform:translateY(20px); opacity:0; pointer-events:none; transition:opacity .2s, transform .2s; }
.tv-flyout.open{ opacity:1; transform:none; pointer-events:auto; }
.tv-flyout video{ width:100%; aspect-ratio:16/9; background:#000; object-fit:contain; display:block; }
.tv-flyout .tf-head{ display:flex; align-items:center; justify-content:space-between; padding:9px 12px; color:#fff; background:linear-gradient(120deg,var(--red),var(--coral)); font-family:var(--font-mono); font-size:.7rem; letter-spacing:.08em; }
.tv-flyout .tf-head button{ background:none; border:0; color:#fff; font-size:1.1rem; }

/* ARTICLE */
.article{ max-width:760px; margin:0 auto; padding:52px 22px; }
.article .a-rub{ margin-bottom:14px; }
.article h1{ font-size:clamp(2.1rem,5vw,3.1rem); line-height:1.06; margin-bottom:14px; }
.article .a-meta{ font-family:var(--font-mono); font-size:.75rem; letter-spacing:.05em; color:var(--mut); text-transform:uppercase; margin-bottom:24px; }
.article .a-hero{ border-radius:var(--radius); overflow:hidden; margin-bottom:28px; }
.article p{ margin:0 0 1.2em; }
.article h2{ font-size:1.65rem; margin:1.6em 0 .5em; }
.article blockquote{ border-left:5px solid var(--green); margin:1.4em 0; padding:.5em 0 .5em 1.2em; font-size:1.2rem; color:var(--ink); font-style:italic; background:linear-gradient(90deg,var(--mint),transparent); border-radius:0 12px 12px 0; }

/* UTILITAIRES / RESPONSIVE */
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
:focus-visible{ outline:3px solid var(--green); outline-offset:2px; border-radius:6px; }

@media (max-width:960px){
  .hero .wrap{ grid-template-columns:1fr; gap:30px; }
  .grid.g4{ grid-template-columns:repeat(2,1fr); }
  .grid.feature{ grid-template-columns:1fr 1fr; }
  .card.big{ grid-column:span 2; grid-row:auto; }
  .cta-band{ grid-template-columns:1fr; }
  .foot-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:720px){
  body{ font-size:16px; }
  .nav{ position:fixed; inset:76px 0 auto 0; background:var(--white); flex-direction:column; align-items:stretch; padding:12px; gap:4px; box-shadow:var(--shadow); transform:translateY(-140%); transition:transform .25s; z-index:59; }
  .nav.open{ transform:none; }
  .nav a.current{ border-radius:999px; }
  .burger{ display:block; }
  .header-live .freq-chip{ display:none; }
  .grid.g3,.grid.g4,.grid.feature{ grid-template-columns:1fr; }
  .card.big{ grid-column:auto; }
  .schedule .slot{ grid-template-columns:80px 1fr; }
  .slot .tags{ display:none; }
  .player .pl-center{ display:none; }
  .player .vol{ display:none; }
  .foot-grid{ grid-template-columns:1fr; }
  .cta-band{ padding:30px; }
  .section{ padding:46px 0; }
}
@media (prefers-reduced-motion:reduce){
  *{ animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important; }
  .ticker .track{ animation:none; }
}

/* COMPLÉMENTS */
.article .a-tags{ margin:28px 0 0; display:flex; flex-wrap:wrap; gap:8px; }
.article .a-tags a{ font-family:var(--font-mono); font-size:.72rem; text-transform:uppercase; letter-spacing:.05em; background:var(--mint); color:var(--green-dk); padding:6px 12px; border-radius:999px; text-decoration:none; font-weight:700; }
.article .a-nav{ display:flex; justify-content:space-between; gap:16px; flex-wrap:wrap; margin:34px 0 0; padding-top:22px; border-top:1px solid var(--line); }
.article .page-links{ margin:1.4em 0; font-family:var(--font-mono); font-size:.8rem; }
.crj-pagination{ margin:40px auto 0; text-align:center; }
.crj-pagination .nav-links{ display:inline-flex; flex-wrap:wrap; gap:6px; align-items:center; }
.crj-pagination .page-numbers{ display:inline-flex; align-items:center; justify-content:center; min-width:42px; height:42px; padding:0 12px; border-radius:999px; background:#fff; border:1px solid var(--line); color:var(--ink); text-decoration:none; font-family:var(--font-mono); font-size:.85rem; font-weight:700; }
.crj-pagination .page-numbers.current{ background:linear-gradient(120deg,var(--red),var(--coral)); color:#fff; border-color:transparent; }
.crj-pagination .page-numbers:hover:not(.current){ border-color:var(--green); color:var(--green-dk); }
.crj-search{ display:flex; gap:8px; }
.crj-search .search-field{ flex:1; padding:12px 16px; border-radius:999px; border:1px solid var(--line); font:inherit; background:#fff; }
.crj-search .search-field:focus{ outline:none; border-color:var(--green); }
.crj-searchbar{ max-width:520px; margin:0 auto 20px; }
.screen-reader-text{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
