/*
Theme Name: NaïlaFM Radio
Theme URI: https://nailafm.xmove-production.fr/
Author: NaïlaFM
Description: Thème officiel léger et responsive pour NaïlaFM, 100% Arabic.
Version: 1.4.4
Text Domain: nailafm
*/

:root {
  --nf-bg: #07130d;
  --nf-bg-soft: #0e2117;
  --nf-card: #132a1d;
  --nf-green: #188a3c;
  --nf-green-light: #34b65d;
  --nf-red: #d9232e;
  --nf-gold: #e8bd58;
  --nf-white: #f8faf8;
  --nf-muted: #a9b9ae;
  --nf-border: rgba(255,255,255,.12);
  --nf-radius: 22px;
  --nf-shadow: 0 22px 60px rgba(0,0,0,.32);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--nf-white);
  background:
    radial-gradient(circle at 15% -10%, rgba(24,138,60,.28), transparent 36rem),
    radial-gradient(circle at 90% 10%, rgba(217,35,46,.18), transparent 32rem),
    var(--nf-bg);
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  line-height: 1.6;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; height: auto; }
.nf-shell { width: min(1180px, calc(100% - 36px)); margin-inline: auto; }

.nf-header {
  position: sticky; top: 0; z-index: 50;
  background: rgba(7,19,13,.88);
  border-bottom: 1px solid var(--nf-border);
  backdrop-filter: blur(18px);
}
.admin-bar .nf-header { top: 32px; }
.nf-header-row { min-height: 126px; display: flex; align-items: center; gap: 28px; transition: min-height .24s ease; }
.nf-brand {
  width: 300px; height: 124px; flex: 0 0 auto;
  background: url('assets/images/logo-nailafm-cropped.png') center / contain no-repeat;
  transition: width .24s ease, height .24s ease;
}
.nf-header.is-compact .nf-header-row { min-height: 84px; }
.nf-header.is-compact .nf-brand { width: 220px; height: 82px; }
.nf-nav { margin-left: auto; }
.nf-nav ul { display: flex; align-items: center; gap: 24px; margin: 0; padding: 0; list-style: none; }
.nf-nav a { color: #dbe6de; font-weight: 700; font-size: .94rem; }
.nf-nav a:hover { color: var(--nf-gold); }
.nf-listen-link { padding: 11px 18px; border-radius: 999px; background: var(--nf-red); color: white !important; }
.nf-menu-toggle { display: none; margin-left: auto; width: 46px; height: 42px; padding: 9px; border: 1px solid var(--nf-border); border-radius: 12px; background: rgba(255,255,255,.04); cursor: pointer; }
.nf-menu-toggle span { display: block; height: 2px; margin: 5px 0; border-radius: 2px; background: white; }

.nf-hero { padding: 62px 0 42px; }
.nf-hero-grid { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(300px,.75fr); gap: 54px; align-items: center; }
.nf-kicker { color: var(--nf-gold); font-size: .78rem; letter-spacing: .18em; text-transform: uppercase; font-weight: 900; }
.nf-hero h1 { margin: 12px 0 20px; max-width: 720px; font-size: clamp(2.55rem,4.5vw,4.65rem); line-height: 1; letter-spacing: -.04em; }
.nf-hero h1 span { display: inline-block; margin-top: 8px; color: var(--nf-green-light); font-size: .76em; line-height: 1.06; }
.nf-hero-copy { max-width: 690px; color: #c6d2c9; font-size: clamp(1.02rem,1.8vw,1.22rem); }
.nf-actions { display: flex; flex-wrap: wrap; gap: 14px; margin-top: 30px; }
.nf-button { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 0 23px; border-radius: 999px; font-weight: 900; border: 1px solid var(--nf-border); }
.nf-button-primary { background: var(--nf-red); border-color: var(--nf-red); }
.nf-button-secondary { background: rgba(255,255,255,.05); }

.nf-live-card { position: relative; width: min(100%,340px); justify-self: end; padding: 16px 18px 15px; overflow: hidden; border: 1px solid rgba(255,255,255,.16); border-radius: 22px; background: linear-gradient(150deg, rgba(27,91,48,.76), rgba(11,29,20,.96)); box-shadow: var(--nf-shadow); }
.nf-live-card::after { content: ""; position: absolute; width: 150px; height: 150px; right: -64px; top: -64px; border-radius: 50%; background: rgba(217,35,46,.22); }
.nf-live-label { display: inline-flex; align-items: center; gap: 9px; font-weight: 900; font-size: .82rem; letter-spacing: .08em; text-transform: uppercase; }
.nf-live-label::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #ff414d; box-shadow: 0 0 0 7px rgba(255,65,77,.13); }
.nf-cover { width: 170px; aspect-ratio: 1; margin: 12px auto 10px; padding: 0; overflow: hidden; border: 2px solid rgba(255,255,255,.2); border-radius: 20px; display: grid; place-items: center; background: linear-gradient(135deg,#f7f7f4,#d8e6da); box-shadow: 0 14px 30px rgba(0,0,0,.28); cursor: pointer; transition: transform .18s ease, border-color .18s ease; }
.nf-cover:hover { transform: translateY(-3px); border-color: var(--nf-gold); }
.nf-cover.is-playing { border-color: var(--nf-green-light); box-shadow: 0 18px 44px rgba(52,182,93,.28); }
.nf-current-cover { width: 100%; height: 100%; padding: 12px; object-fit: contain; background: linear-gradient(135deg,#f7f7f4,#d8e6da); }
.nf-now { text-align: center; }
.nf-now small { color: #b7c8bc; text-transform: uppercase; letter-spacing: .12em; font-weight: 800; }
.nf-now strong { display: block; margin-top: 3px; font-size: 1.05rem; }
.nf-now-track { display: block; color: #d7e0d9; font-size: .94rem; }
.nf-cover-action { display: block; margin-top: 3px; color: var(--nf-muted); font-size: .74rem; }
.nf-main-play { width: 68px; height: 68px; margin: 22px auto 0; border: 0; border-radius: 50%; color: white; background: var(--nf-red); font-size: 1.5rem; cursor: pointer; box-shadow: 0 12px 28px rgba(217,35,46,.35); }

.nf-section { padding: 62px 0; }
.nf-section-head { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 28px; }
.nf-section h2 { margin: 6px 0 0; font-size: clamp(2rem,3.2vw,3rem); line-height: 1.05; }
.nf-section-link { color: var(--nf-gold); font-weight: 800; }
.nf-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.nf-card { overflow: hidden; border: 1px solid var(--nf-border); border-radius: var(--nf-radius); background: rgba(19,42,29,.82); box-shadow: 0 12px 35px rgba(0,0,0,.16); }
.nf-card-media { display: block; width: 100%; height: 230px; overflow: hidden; background: linear-gradient(135deg,#1f4e31,#9f2028); }
.nf-card-media img { width: 100%; height: 100%; object-fit: cover; }
.nf-card-body { padding: 20px; }
.nf-card-meta { color: var(--nf-gold); font-size: .76rem; text-transform: uppercase; letter-spacing: .1em; font-weight: 900; }
.nf-card h3 { margin: 8px 0; font-size: 1.24rem; line-height: 1.3; }
.nf-card p { margin: 0; color: var(--nf-muted); display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 4; }
.nf-card-news { display: flex; min-height: 470px; flex-direction: column; }
.nf-card-news .nf-card-body { display: flex; flex: 1; flex-direction: column; }
.nf-read-more { margin-top: auto; padding-top: 17px; color: var(--nf-gold); font-size: .88rem; font-weight: 900; }
.nf-empty { grid-column: 1/-1; padding: 38px; border: 1px dashed var(--nf-border); border-radius: var(--nf-radius); color: var(--nf-muted); text-align: center; }

.nf-ctkoi-section { padding-top: 48px; background: rgba(255,255,255,.018); border-top: 1px solid rgba(255,255,255,.05); border-bottom: 1px solid rgba(255,255,255,.05); }
.nf-ctkoi-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.nf-ctkoi-card { overflow: hidden; border: 1px solid var(--nf-border); border-radius: 20px; background: rgba(14,33,23,.88); box-shadow: 0 14px 35px rgba(0,0,0,.18); }
.nf-ctkoi-cover { display: block; width: 100%; aspect-ratio: 1; object-fit: cover; background: #dfe8e1; }
.nf-ctkoi-copy { padding: 17px 18px 20px; }
.nf-ctkoi-time { color: var(--nf-gold); font-size: .74rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.nf-ctkoi-artist { margin: 5px 0 0; font-size: 1.04rem; line-height: 1.25; }
.nf-ctkoi-title { margin-top: 4px; color: var(--nf-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nf-ctkoi-loading { grid-column: 1/-1; padding: 34px; border: 1px dashed var(--nf-border); border-radius: 18px; color: var(--nf-muted); text-align: center; }
.nf-ctkoi-full { grid-template-columns: repeat(4,minmax(0,1fr)); }

.nf-discovery { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.nf-pill { min-height: 118px; padding: 22px; display: flex; flex-direction: column; justify-content: flex-end; border-radius: 18px; border: 1px solid var(--nf-border); background: linear-gradient(145deg, rgba(24,138,60,.24), rgba(255,255,255,.035)); font-weight: 900; }
.nf-pill small { color: var(--nf-gold); font-weight: 700; }

.nf-content { min-height: 55vh; padding: 70px 0 120px; }
.nf-content article { max-width: 850px; }
.nf-content h1 { font-size: clamp(2.5rem,5vw,4.7rem); line-height: 1; }
.nf-content .entry-content { color: #d3ddd6; font-size: 1.05rem; }
.nf-archive-intro { max-width: 720px; margin: -18px 0 32px; color: var(--nf-muted); }
.nf-pagination { margin-top: 34px; display: flex; gap: 8px; }
.nf-pagination .page-numbers { padding: 8px 12px; border: 1px solid var(--nf-border); border-radius: 9px; }
.nf-pagination .current { background: var(--nf-green); color: white; }

.nf-footer { padding: 48px 0 120px; color: var(--nf-muted); border-top: 1px solid var(--nf-border); background: rgba(5,15,10,.42); }
.nf-footer-grid { display: grid; grid-template-columns: minmax(230px,1.5fr) repeat(2,minmax(160px,.75fr)); gap: 38px; align-items: start; }
.nf-footer strong { display: block; margin-bottom: 7px; color: white; font-size: 1rem; }
.nf-footer-brand strong { font-size: 1.2rem; }
.nf-footer-brand span { display: block; }
.nf-footer-column { min-width: 0; }
.nf-footer-links { display: flex; flex-wrap: wrap; gap: 7px 14px; }
.nf-footer-links a, .nf-footer-legal a { color: #c8d6cc; }
.nf-footer-links a:hover, .nf-footer-legal a:hover { color: var(--nf-gold); }
.nf-footer-bottom { margin-top: 34px; padding-top: 20px; display: flex; align-items: center; justify-content: space-between; gap: 22px; border-top: 1px solid var(--nf-border); font-size: .86rem; }
.nf-footer-legal { display: flex; flex-wrap: wrap; gap: 9px 18px; }

.nf-player { position: fixed; left: 0; right: 0; bottom: 0; z-index: 80; background: rgba(10,25,17,.96); border-top: 1px solid rgba(255,255,255,.16); backdrop-filter: blur(18px); }
.nf-player-row { min-height: 86px; display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 18px; }
.nf-player-button { width: 54px; height: 54px; border: 0; border-radius: 50%; background: var(--nf-red); color: white; font-size: 1.2rem; cursor: pointer; }
.nf-player-copy { min-width: 0; }
.nf-player-copy small { display: block; color: var(--nf-green-light); font-weight: 900; text-transform: uppercase; letter-spacing: .1em; }
.nf-player-title { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 800; }
.nf-volume { accent-color: var(--nf-green-light); width: 120px; }
.nf-player-status { color: var(--nf-muted); font-size: .82rem; }
.nf-loading #nf-page-content { opacity: .62; transition: opacity .15s ease; }

@media (max-width: 900px) {
  .nf-menu-toggle { display: block; }
  .nf-nav { position: absolute; top: 100%; left: 18px; right: 18px; display: none; margin: 0; padding: 16px; border: 1px solid var(--nf-border); border-radius: 16px; background: rgba(7,19,13,.98); box-shadow: var(--nf-shadow); }
  .nf-nav-open .nf-nav { display: block; }
  .nf-nav ul { align-items: stretch; flex-direction: column; gap: 2px; }
  .nf-nav a { display: block; padding: 11px 12px; border-radius: 10px; }
  .nf-nav a:hover { background: rgba(255,255,255,.06); }
  .nf-hero-grid { grid-template-columns: 1fr; }
  .nf-live-card { width: min(100%,340px); max-width: none; justify-self: start; }
  .nf-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nf-ctkoi-grid, .nf-ctkoi-full { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .nf-discovery { grid-template-columns: repeat(2,1fr); }
  .nf-footer-grid { grid-template-columns: 1fr 1fr; }
  .nf-footer-brand { grid-column: 1/-1; }
  .nf-footer-bottom { align-items: flex-start; flex-direction: column; }
}
@media (max-width: 600px) {
  .admin-bar .nf-header { top: 46px; }
  .nf-shell { width: min(100% - 24px,1180px); }
  .nf-header-row { min-height: 88px; }
  .nf-brand { width: 205px; height: 84px; background-size: contain; }
  .nf-header.is-compact .nf-header-row { min-height: 64px; }
  .nf-header.is-compact .nf-brand { width: 170px; height: 62px; }
  .nf-hero { padding-top: 48px; }
  .nf-hero-grid { gap: 34px; }
  .nf-live-card { width: min(100%,340px); padding: 16px 18px; border-radius: 22px; }
  .nf-cover { width: 170px; }
  .nf-card-media { height: 215px; }
  .nf-card-news { min-height: 450px; }
  .nf-grid, .nf-discovery, .nf-ctkoi-grid, .nf-ctkoi-full { grid-template-columns: 1fr; }
  .nf-section-head { align-items: start; flex-direction: column; }
  .nf-footer-grid { grid-template-columns: 1fr; }
  .nf-footer-brand { grid-column: auto; }
  .nf-player-row { grid-template-columns: auto minmax(0,1fr); min-height: 80px; }
  .nf-volume { display: none; }
  .nf-player-status { display: none; }
}


/* === NaïlaFM v1.4.0 === */
.nf-header-socials{display:flex;align-items:center;gap:8px;margin-left:2px}
.nf-social-icon{width:38px;height:38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#dfe9e2;background:rgba(255,255,255,.035);transition:transform .18s ease,border-color .18s ease,background .18s ease,color .18s ease}
.nf-social-icon:hover{transform:translateY(-2px);border-color:var(--nf-green-light);background:rgba(52,182,93,.13);color:var(--nf-green-light)}
.nf-social-icon svg{width:18px;height:18px;fill:currentColor}
.nf-social-icon.nf-social-app{border-color:rgba(232,189,88,.38)}
.nf-brand img{width:100%;height:100%;object-fit:contain;display:block}

.nf-ctkoi-full{display:flex!important;flex-direction:column;gap:12px;max-width:980px}
.nf-ctkoi-full .nf-ctkoi-card{display:grid;grid-template-columns:118px minmax(0,1fr);min-height:106px;border-radius:16px;overflow:hidden;background:rgba(18,30,37,.88);border:1px solid rgba(255,255,255,.11);box-shadow:none}
.nf-ctkoi-full .nf-ctkoi-media{position:relative;width:118px;height:106px;overflow:hidden;background:#121d18}
.nf-ctkoi-full .nf-ctkoi-cover{width:100%;height:100%;object-fit:cover}
.nf-ctkoi-full .nf-ctkoi-time{position:absolute;left:10px;bottom:8px;color:white;font-size:1rem;font-weight:950;letter-spacing:0;text-transform:none;text-shadow:0 2px 9px #000;background:rgba(0,0,0,.45);padding:2px 7px;border-radius:8px;backdrop-filter:blur(3px)}
.nf-ctkoi-full .nf-ctkoi-copy{padding:17px 22px;display:flex;flex-direction:column;justify-content:center;min-width:0}
.nf-ctkoi-full .nf-ctkoi-title{order:1;margin:0;color:var(--nf-white);font-size:1.14rem;font-weight:850;white-space:normal}
.nf-ctkoi-full .nf-ctkoi-artist{order:2;margin:4px 0 0;color:var(--nf-muted);font-size:.9rem;font-weight:550}
.nf-ctkoi-more-wrap{max-width:980px;text-align:center;margin-top:24px}
.nf-ctkoi-more{cursor:pointer;background:rgba(255,255,255,.05);color:white}
.nf-ctkoi-note{max-width:980px;color:var(--nf-muted);font-size:.86rem;margin-top:12px}

.nf-engagement{display:flex;align-items:center;gap:13px;margin:22px 0 30px;padding:12px 0;border-top:1px solid var(--nf-border);border-bottom:1px solid var(--nf-border);color:var(--nf-muted);font-size:.9rem}
.nf-engagement-item,.nf-like-button,.nf-share-button{display:inline-flex;align-items:center;gap:6px;border:0;background:transparent;color:inherit;font:inherit;padding:5px 2px;cursor:default}
.nf-like-button,.nf-share-button{cursor:pointer}.nf-like-button:hover,.nf-share-button:hover,.nf-like-button.is-liked{color:var(--nf-green-light)}
.nf-engagement svg{width:17px;height:17px;fill:currentColor}
.nf-share-menu{display:none;flex-wrap:wrap;gap:8px;margin:-18px 0 28px}.nf-share-menu.is-open{display:flex}
.nf-share-menu a,.nf-share-menu button{border:1px solid var(--nf-border);border-radius:999px;padding:7px 12px;background:rgba(255,255,255,.045);color:#d9e5dc;cursor:pointer;font:inherit;font-size:.84rem}

.nf-cookie-banner{position:fixed;z-index:10000;left:18px;right:18px;bottom:18px;max-width:720px;margin:auto;padding:18px 20px;border:1px solid rgba(255,255,255,.16);border-radius:18px;background:rgba(7,19,13,.98);box-shadow:0 22px 70px rgba(0,0,0,.55);color:#dce7df;display:none}
.nf-cookie-banner.is-visible{display:block}.nf-cookie-banner strong{display:block;color:white;font-size:1.05rem;margin-bottom:5px}.nf-cookie-banner p{margin:0;color:var(--nf-muted);font-size:.9rem}.nf-cookie-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px}.nf-cookie-actions button{min-height:40px;padding:0 15px;border-radius:999px;border:1px solid var(--nf-border);background:rgba(255,255,255,.05);color:white;font-weight:800;cursor:pointer}.nf-cookie-actions .nf-cookie-accept{background:var(--nf-green);border-color:var(--nf-green)}
.nf-cookie-panel{display:none;margin-top:13px;padding-top:12px;border-top:1px solid var(--nf-border)}.nf-cookie-panel.is-open{display:block}.nf-cookie-row{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin:10px 0}.nf-cookie-row small{display:block;color:var(--nf-muted)}.nf-cookie-toggle{accent-color:var(--nf-green-light)}
.nf-manage-cookies{border:0;background:none;color:#c8d6cc;padding:0;cursor:pointer;font:inherit}.nf-manage-cookies:hover{color:var(--nf-gold)}

.nf-legal-box{padding:18px 20px;margin:22px 0;border:1px solid var(--nf-border);border-radius:16px;background:rgba(255,255,255,.03)}
.nf-legal-box h2{margin-top:0}.nf-legal-table{display:grid;grid-template-columns:minmax(140px,.35fr) minmax(0,1fr);gap:8px 18px}.nf-legal-table dt{font-weight:850;color:white}.nf-legal-table dd{margin:0;color:#cfdbd2}
.nf-placeholder-page{max-width:780px;padding:28px;border:1px dashed var(--nf-border);border-radius:18px;color:var(--nf-muted)}

@media(max-width:1080px){.nf-header-socials{display:none}}
@media(max-width:600px){.nf-ctkoi-full .nf-ctkoi-card{grid-template-columns:92px minmax(0,1fr);min-height:88px}.nf-ctkoi-full .nf-ctkoi-media{width:92px;height:88px}.nf-ctkoi-full .nf-ctkoi-copy{padding:12px 14px}.nf-ctkoi-full .nf-ctkoi-title{font-size:1rem}.nf-cookie-banner{left:10px;right:10px;bottom:10px;padding:16px}.nf-legal-table{grid-template-columns:1fr}.nf-legal-table dd{margin-bottom:9px}}

/* === NaïlaFM v1.4.1 === */
.nf-featured-section{padding-top:18px}.nf-slider{position:relative;overflow:hidden;border:1px solid var(--nf-border);border-radius:22px;background:#0b1810}.nf-slider-track{position:relative;min-height:390px}.nf-slide{position:absolute;inset:0;opacity:0;pointer-events:none;transition:opacity .45s ease}.nf-slide.is-active{opacity:1;pointer-events:auto}.nf-slide a{display:block;position:relative;height:390px}.nf-slide-image,.nf-slide-image img{width:100%;height:100%;object-fit:cover}.nf-slide-overlay{position:absolute;inset:auto 0 0;padding:70px 34px 30px;background:linear-gradient(transparent,rgba(4,12,8,.96));}.nf-slide-overlay small{color:var(--nf-gold);font-weight:800}.nf-slide-overlay h3{max-width:800px;margin:4px 0 8px;font-size:clamp(1.55rem,3vw,2.6rem);line-height:1.08}.nf-slide-overlay span{font-weight:850;color:var(--nf-green-light)}.nf-slider-prev,.nf-slider-next{position:absolute;top:50%;transform:translateY(-50%);width:46px;height:46px;border:1px solid rgba(255,255,255,.25);border-radius:50%;background:rgba(5,15,10,.7);color:white;font-size:2rem;cursor:pointer}.nf-slider-prev{left:16px}.nf-slider-next{right:16px}.nf-slider-dots{position:absolute;right:22px;bottom:22px;display:flex;gap:7px}.nf-slider-dot{width:9px;height:9px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer}.nf-slider-dot.is-active{background:var(--nf-green-light)}
.nf-player-row{grid-template-columns:auto 58px minmax(0,1fr) auto auto}.nf-player-cover{width:52px;height:52px;border-radius:10px;object-fit:cover;background:#132a1d}.nf-popout{width:42px;height:42px;border:1px solid var(--nf-border);border-radius:12px;background:rgba(255,255,255,.05);color:white;font-size:1.2rem;cursor:pointer}.nf-popout:hover{border-color:var(--nf-green-light);color:var(--nf-green-light)}
.nf-popup-body{min-height:100vh;margin:0;padding:20px;background:#07130d;display:grid;place-items:center}.nf-popup-player{width:min(460px,100%);padding:24px;border:1px solid var(--nf-border);border-radius:24px;background:linear-gradient(145deg,rgba(24,138,60,.2),rgba(255,255,255,.04));display:grid;grid-template-columns:120px minmax(0,1fr);gap:18px;align-items:center}.nf-popup-brand{grid-column:1/-1;font-size:1.7rem;font-weight:950}.nf-popup-brand span{color:var(--nf-green-light);font-size:.75rem;margin-left:8px}.nf-popup-cover{width:120px;height:120px;border-radius:16px;object-fit:cover}.nf-popup-player strong,.nf-popup-player span,.nf-popup-player small{display:block}.nf-popup-player small{color:var(--nf-green-light);font-weight:900}.nf-popup-play{grid-column:1/-1;min-height:48px;border:0;border-radius:999px;background:var(--nf-red);color:white;font-weight:900;cursor:pointer}.nf-popup-player .nf-volume{grid-column:1/-1;width:100%}
@media(max-width:600px){.nf-slider-track,.nf-slide a{min-height:300px;height:300px}.nf-slide-overlay{padding:55px 20px 20px}.nf-slider-prev,.nf-slider-next{width:40px;height:40px}.nf-player-row{grid-template-columns:auto 46px minmax(0,1fr) auto}.nf-player-cover{width:44px;height:44px}.nf-popout{width:38px;height:38px}.nf-popup-player{grid-template-columns:92px minmax(0,1fr)}.nf-popup-cover{width:92px;height:92px}}
.nf-footer .nf-store-badge{display:inline-flex;align-items:center;gap:9px;min-width:148px;padding:7px 11px;border:1px solid rgba(255,255,255,.3);border-radius:9px;background:#050505;color:#fff!important;line-height:1.05}.nf-store-badge small{display:block;font-size:.57rem;letter-spacing:.04em}.nf-store-badge strong{display:block!important;margin:2px 0 0!important;font-size:.98rem!important}.nf-store-icon,.nf-play-icon{font-size:1.25rem}.nf-store-badge.is-disabled{opacity:.55;cursor:not-allowed}.nf-footer-column .nf-footer-links:has(.nf-store-badge){flex-direction:column;align-items:flex-start}


/* === NaïlaFM v1.4.2 — StationPlaylist / responsive / slider / mini-player === */
@media (min-width: 721px) and (max-width: 1120px){
  .nf-hero-grid{grid-template-columns:1fr;justify-items:center;text-align:center}
  .nf-hero-grid>div:first-child{max-width:820px}
  .nf-hero h1,.nf-hero-copy{margin-left:auto;margin-right:auto}
  .nf-live-card{justify-self:center;width:min(100%,360px)}
}
@media (max-width:720px){
  .nf-hero-grid{grid-template-columns:1fr;justify-items:center}
  .nf-live-card{justify-self:center;margin-inline:auto;width:min(100%,360px)}
}
.nf-slider[data-transition="fade"] .nf-slide{transition:opacity var(--nf-slider-speed,.55s) ease}
.nf-slider[data-transition="slide"] .nf-slide{opacity:1;transform:translateX(105%);transition:transform var(--nf-slider-speed,.55s) cubic-bezier(.22,.61,.36,1);will-change:transform}
.nf-slider[data-transition="slide"] .nf-slide.is-active{transform:translateX(0)}
.nf-slider[data-transition="slide"] .nf-slide.is-before{transform:translateX(-105%)}
@media(min-width:900px){
  .nf-slider-track,.nf-slide a{height:clamp(390px,31vw,520px);min-height:390px}
  .nf-slide-image img{object-fit:cover}
}
.nf-player-copy{min-width:0;text-align:left}
.nf-player-title{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){
  .nf-player{padding-inline:0}
  .nf-player-row{grid-template-columns:56px 48px minmax(0,1fr) 42px;gap:10px;align-items:center;min-height:82px}
  .nf-player-button{width:56px;height:56px}
  .nf-player-cover{width:48px;height:48px}
  .nf-player-copy{align-self:center;text-align:left}
  .nf-player-copy small{font-size:.72rem;letter-spacing:.08em}
  .nf-player-title{font-size:.95rem;line-height:1.2}
  .nf-popout{width:42px;height:42px}
}
@media(max-width:420px){
  .nf-shell.nf-player-row{width:calc(100% - 16px)}
  .nf-player-row{grid-template-columns:50px 42px minmax(0,1fr) 38px;gap:8px}
  .nf-player-button{width:50px;height:50px}
  .nf-player-cover{width:42px;height:42px}
  .nf-popout{width:38px;height:38px}
  .nf-player-title{font-size:.88rem}
}
.nf-popup-body{margin:0;padding:12px;background:radial-gradient(circle at 50% 0,rgba(24,138,60,.26),transparent 45%),#06110b;display:grid;place-items:center;min-height:100vh}
.nf-popup-player{width:min(390px,100%);padding:18px 20px 20px;border:1px solid rgba(255,255,255,.15);border-radius:26px;background:linear-gradient(180deg,rgba(22,64,38,.94),rgba(7,23,14,.98));display:flex;flex-direction:column;align-items:center;gap:12px;box-shadow:0 24px 70px rgba(0,0,0,.45);overflow:hidden}
.nf-popup-brand{width:100%;display:flex;align-items:baseline;justify-content:center;gap:8px;font-size:1rem;font-weight:900}.nf-popup-brand-main{font-size:1.45rem}.nf-popup-brand>span:last-child{color:var(--nf-green-light);font-size:.72rem}
.nf-popup-art{width:min(270px,78vw);aspect-ratio:1;border-radius:22px;overflow:hidden;border:1px solid rgba(255,255,255,.16);background:#132a1d;box-shadow:0 18px 42px rgba(0,0,0,.35)}
.nf-popup-cover{width:100%;height:100%;object-fit:cover;border-radius:0}
.nf-popup-meta{text-align:center;min-width:0;width:100%}.nf-popup-meta small{color:var(--nf-green-light);font-weight:950;letter-spacing:.09em}.nf-popup-meta strong{display:block;margin-top:4px;font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nf-popup-meta span{display:block;color:#d7e2da;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nf-popup-play{width:72px;height:72px;min-height:0;border-radius:50%;border:3px solid rgba(255,255,255,.9);background:var(--nf-red);color:#fff;font-size:1.55rem;display:grid;place-items:center;cursor:pointer;box-shadow:0 12px 32px rgba(217,35,46,.3)}
.nf-popup-volume{width:min(260px,85%);display:flex;align-items:center;gap:9px}.nf-popup-volume .nf-volume{display:block!important;width:100%}
.nf-popup-status{font-size:.78rem;color:var(--nf-muted)}.nf-popup-site{font-size:.82rem;color:var(--nf-gold);font-weight:800}


/* === NaïlaFM v1.4.3 — slider multi-cartes, responsive et rédaction === */
.nf-slider{overflow:visible;background:transparent;border:0;border-radius:0}
.nf-slider-viewport{overflow:hidden;border-radius:22px}
.nf-slider-track{position:relative;display:flex;gap:18px;min-height:0;transform:translateX(0);transition-property:transform;transition-timing-function:cubic-bezier(.22,.61,.36,1);will-change:transform}
.nf-slide{position:relative;inset:auto;opacity:1;pointer-events:auto;flex:0 0 calc((100% - (var(--nf-visible,1) - 1)*18px)/var(--nf-visible,1));min-width:0;transition:none}
.nf-slide.is-active,.nf-slider[data-transition="slide"] .nf-slide,.nf-slider[data-transition="fade"] .nf-slide{opacity:1;transform:none}
.nf-slide a{height:330px;border-radius:20px;overflow:hidden;border:1px solid var(--nf-border);background:#0b1810}
.nf-slide-overlay{padding:58px 22px 20px}
.nf-slide-overlay h3{font-size:clamp(1.18rem,1.65vw,1.75rem);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.nf-slider-prev,.nf-slider-next{z-index:4;top:50%;box-shadow:0 8px 25px rgba(0,0,0,.35)}
.nf-slider-prev{left:-18px}.nf-slider-next{right:-18px}
.nf-slider-prev:disabled,.nf-slider-next:disabled{opacity:.32;cursor:default}
.nf-slider-dots{position:relative;right:auto;bottom:auto;justify-content:center;margin-top:14px}
@media(min-width:1480px){.nf-slide a{height:300px}}
@media(max-width:1049px){.nf-slide a{height:320px}.nf-slider-prev{left:8px}.nf-slider-next{right:8px}}
@media(max-width:699px){.nf-slider-track{gap:0}.nf-slide{flex-basis:100%}.nf-slide a{height:300px;border-radius:18px}.nf-slider-viewport{border-radius:18px}.nf-slider-prev{left:8px}.nf-slider-next{right:8px}}
@media(max-width:1120px){.nf-hero-grid{grid-template-columns:1fr!important;justify-items:center!important;text-align:center}.nf-live-card{justify-self:center!important;margin-left:auto!important;margin-right:auto!important;width:min(100%,360px)!important}}
@media(max-width:760px){.nf-player-row{width:100%;justify-content:center}.nf-player-meta{text-align:left;min-width:0}.nf-player{padding-left:10px;padding-right:10px}}
.nf-article-sources{margin-top:32px;padding:20px;border:1px solid var(--nf-border);border-radius:16px;background:rgba(255,255,255,.035)}
.nf-article-sources h2{margin-top:0}.nf-article-sources a{overflow-wrap:anywhere}


/* Pages juridiques : colonne d'accompagnement */
.nf-legal-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 300px;
  gap: 30px;
  align-items: start;
}
.nf-legal-sidebar {
  display: grid;
  gap: 18px;
  position: sticky;
  top: 106px;
}
.nf-legal-side-card {
  padding: 24px;
  border: 1px solid var(--nf-border);
  border-radius: 18px;
  background: linear-gradient(145deg, rgba(19,42,29,.96), rgba(9,28,18,.96));
  box-shadow: 0 14px 38px rgba(0,0,0,.2);
}
.nf-legal-side-card h2 {
  margin: 8px 0 8px;
  font-size: 1.22rem;
  line-height: 1.25;
}
.nf-legal-side-card p {
  margin: 0 0 18px;
  color: var(--nf-muted);
  font-size: .93rem;
}
.nf-legal-side-kicker {
  color: var(--nf-green-light);
  font-size: .75rem;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.nf-legal-side-kicker.is-gold { color: var(--nf-gold); }
.nf-legal-side-kicker span {
  display: inline-block;
  width: 9px;
  height: 9px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--nf-green-light);
  box-shadow: 0 0 0 6px rgba(52,182,93,.12);
}
.nf-legal-live-link {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 46px;
  padding: 11px 16px;
  border-radius: 999px;
  background: var(--nf-green);
  color: var(--nf-white);
  font-weight: 800;
  transition: transform .18s ease, background .18s ease;
}
.nf-legal-live-link:hover,
.nf-legal-live-link:focus-visible {
  background: var(--nf-green-light);
  transform: translateY(-1px);
}
.nf-legal-latest {
  list-style: none;
  margin: 14px 0 16px;
  padding: 0;
}
.nf-legal-latest li {
  padding: 11px 0;
  border-bottom: 1px solid var(--nf-border);
}
.nf-legal-latest li:first-child { padding-top: 0; }
.nf-legal-latest a {
  display: block;
  font-size: .9rem;
  font-weight: 700;
  line-height: 1.35;
}
.nf-legal-latest a:hover,
.nf-legal-latest a:focus-visible,
.nf-legal-text-link:hover,
.nf-legal-text-link:focus-visible { color: var(--nf-green-light); }
.nf-legal-text-link {
  color: var(--nf-gold);
  font-size: .88rem;
  font-weight: 800;
}
.nf-legal-quick-links {
  display: grid;
  gap: 9px;
  margin-top: 14px;
}
.nf-legal-quick-links a {
  padding: 10px 12px;
  border: 1px solid var(--nf-border);
  border-radius: 10px;
  background: rgba(255,255,255,.025);
  font-size: .9rem;
  font-weight: 700;
}
.nf-legal-quick-links a:hover,
.nf-legal-quick-links a:focus-visible {
  border-color: rgba(52,182,93,.55);
  background: rgba(52,182,93,.08);
}
@media (max-width: 900px) {
  .nf-legal-layout { grid-template-columns: 1fr; }
  .nf-legal-sidebar {
    position: static;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .nf-legal-sidebar .nf-legal-side-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 620px) {
  .nf-legal-sidebar { grid-template-columns: 1fr; }
  .nf-legal-sidebar .nf-legal-side-card:last-child { grid-column: auto; }
}
