/* ===========================================================
   NRJ Players — lecteur LIVE + lecteur PODCAST
   Style conforme à la maquette (dégradé noir → rouge NRJ)
   =========================================================== */
:root{
  --nrjp-red:#E2001A;
  --nrjp-grad:linear-gradient(90deg,#0e0e0e 0%,#1a1110 32%,#9c0014 72%,var(--nrjp-red) 100%);
}

/* Conteneurs communs */
.nrj-live,.nrj-pod{
  position:relative;display:flex;align-items:center;gap:16px;
  background:var(--nrjp-grad);color:#fff;border-radius:12px;
  padding:12px 20px;font-family:"Lato",Arial,sans-serif;
  box-shadow:0 10px 30px rgba(0,0,0,.18);
}
.nrj-pod{ overflow:hidden; } /* le lecteur live NE doit PAS clipper son menu de stations */
.nrj-live *,.nrj-pod *{box-sizing:border-box;}
.nrj-live audio,.nrj-pod audio{display:none;}

/* Boutons ronds génériques */
.nrj-live button,.nrj-pod button{
  background:none;border:0;color:#fff;cursor:pointer;display:inline-flex;
  align-items:center;justify-content:center;padding:0;line-height:0;
}
.nrj-live__play,.nrj-pod__play{
  width:54px;height:54px;border-radius:50%;background:#fff;flex:0 0 auto;
  box-shadow:0 4px 14px rgba(0,0,0,.25);transition:transform .15s;
}
.nrj-live__play:hover,.nrj-pod__play:hover{transform:scale(1.06);}

/* Icônes (pseudo-éléments) */
.nrj-ico-play{width:0;height:0;border-style:solid;border-width:9px 0 9px 15px;
  border-color:transparent transparent transparent var(--nrjp-red);margin-left:3px;}
.is-playing .nrj-live__play .nrj-ico-play,
.is-playing .nrj-pod__play .nrj-ico-play{
  border:0;width:14px;height:16px;margin:0;position:relative;}
.is-playing .nrj-live__play .nrj-ico-play:before,
.is-playing .nrj-live__play .nrj-ico-play:after,
.is-playing .nrj-pod__play .nrj-ico-play:before,
.is-playing .nrj-pod__play .nrj-ico-play:after{
  content:"";position:absolute;top:0;width:5px;height:16px;background:var(--nrjp-red);border-radius:1px;}
.is-playing .nrj-live__play .nrj-ico-play:before,
.is-playing .nrj-pod__play .nrj-ico-play:before{left:0;}
.is-playing .nrj-live__play .nrj-ico-play:after,
.is-playing .nrj-pod__play .nrj-ico-play:after{right:0;}

.nrj-ico-vol{width:18px;height:18px;display:inline-block;
  background:no-repeat center/contain;
  -webkit-mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 9v6h4l5 5V4L7 9H3zm13.5 3a4.5 4.5 0 00-2.5-4v8a4.5 4.5 0 002.5-4zM14 3.2v2.1a7 7 0 010 13.4v2.1a9 9 0 000-17.6z'/></svg>") center/contain no-repeat;
  mask:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M3 9v6h4l5 5V4L7 9H3zm13.5 3a4.5 4.5 0 00-2.5-4v8a4.5 4.5 0 002.5-4zM14 3.2v2.1a7 7 0 010 13.4v2.1a9 9 0 000-17.6z'/></svg>") center/contain no-repeat;
  background-color:#fff;}
.is-muted .nrj-ico-vol{opacity:.45;}

.nrj-ico-15,.nrj-ico-30{font-family:"Montserrat",Arial,sans-serif;font-weight:700;font-size:11px;
  width:30px;height:30px;border:1.5px solid rgba(255,255,255,.6);border-radius:50%;line-height:0;}
.nrj-ico-15:after{content:"-15";}
.nrj-ico-30:after{content:"+30";}

/* ---------- LECTEUR LIVE ---------- */
.nrj-live__logo{flex:0 0 auto;display:flex;}
.nrj-live__meta{display:flex;flex-direction:column;min-width:0;}
.nrj-live__title{font-family:"Montserrat",Arial,sans-serif;font-weight:800;font-size:15px;
  text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nrj-live__sub{font-size:12px;opacity:.8;letter-spacing:1px;text-transform:uppercase;}
.nrj-live__spacer{flex:1 1 auto;}
.nrj-live__controls{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.nrj-live__vol{width:80px;accent-color:#fff;}
.nrj-live__hd{font-family:"Montserrat",Arial,sans-serif;font-weight:700;font-size:11px;
  border:1.5px solid rgba(255,255,255,.6);border-radius:5px;padding:2px 6px;}
.nrj-live__station{position:relative;}
.nrj-live__station-btn{display:inline-flex;gap:8px;align-items:center;border:1px solid rgba(255,255,255,.6);
  border-radius:30px;padding:7px 14px;font-family:"Montserrat",Arial,sans-serif;font-weight:700;
  font-size:12px;text-transform:uppercase;white-space:nowrap;}
.nrj-caret{width:0;height:0;border-style:solid;border-width:5px 4px 0 4px;border-color:#fff transparent transparent transparent;}
.nrj-live__station-list{position:absolute;right:0;bottom:calc(100% + 10px);margin:0;padding:6px;list-style:none;
  background:#fff;color:#111;border-radius:10px;min-width:200px;box-shadow:0 12px 30px rgba(0,0,0,.3);
  display:none;z-index:10001;}
.nrj-live__station.is-open .nrj-live__station-list{display:block;}
.nrj-live__station-list li{padding:9px 12px;border-radius:7px;cursor:pointer;font-family:"Montserrat",Arial,sans-serif;
  font-weight:700;font-size:13px;}
.nrj-live__station-list li:hover,.nrj-live__station-list li[aria-selected="true"]{background:var(--nrjp-red);color:#fff;}

/* état chargement */
.nrj-live.is-loading .nrj-live__play{opacity:.6;}

/* ---------- LECTEUR PODCAST ---------- */
.nrj-pod{padding-bottom:16px;}
.nrj-pod__thumb{width:54px;height:54px;border-radius:8px;object-fit:cover;flex:0 0 auto;}
.nrj-pod__thumb--ph{display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.1);}
.nrj-pod__info{display:flex;flex-direction:column;min-width:0;flex:1 1 auto;}
.nrj-pod__time{font-size:11px;opacity:.75;font-variant-numeric:tabular-nums;}
.nrj-pod__title{font-family:"Montserrat",Arial,sans-serif;font-weight:800;font-size:15px;text-transform:uppercase;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nrj-pod__sub{font-size:11px;opacity:.75;text-transform:uppercase;letter-spacing:.5px;}
.nrj-pod__controls{display:flex;align-items:center;gap:14px;flex:0 0 auto;}
.nrj-pod__speed{font-family:"Montserrat",Arial,sans-serif;font-weight:700;font-size:12px;
  border:1.5px solid rgba(255,255,255,.6);border-radius:14px;padding:4px 10px;min-width:34px;}
.nrj-pod__right{display:flex;align-items:center;gap:10px;flex:0 0 auto;}
.nrj-pod__vol{width:70px;accent-color:#fff;}
.nrj-pod__progress{position:absolute;left:0;right:0;bottom:0;height:5px;background:rgba(255,255,255,.18);cursor:pointer;}
.nrj-pod__bar{height:100%;width:0;background:#fff;}

/* ===========================================================
   BARRE LIVE FLOTTANTE (fixée en bas, tout le site)
   =========================================================== */
.nrj-livebar{
  position:fixed; left:0; right:0; bottom:0; z-index:9998;
  padding:0; pointer-events:none;
}
.nrj-livebar .nrj-live{
  pointer-events:auto;
  width:100%; max-width:none; margin:0;
  border-radius:0; box-shadow:0 -6px 24px rgba(0,0,0,.28);
  padding:10px clamp(14px,4vw,40px);
}
/* Espace en bas du site pour ne pas masquer le contenu/footer */
body{ padding-bottom:78px; }

/* ---------- PODCAST : responsive ---------- */
@media (max-width:782px){
  .nrj-pod{flex-wrap:wrap;gap:12px;padding:14px;}
  .nrj-pod__info{order:3;flex:1 1 100%;}
  .nrj-pod__controls{order:4;}
  .nrj-pod__right{order:5;}
  .nrj-pod__vol{width:60px;}
}

/* ---------- BARRE LIVE : version mobile compacte ---------- */
@media (max-width:782px){
  body{ padding-bottom:64px; }
  .nrj-livebar .nrj-live{
    gap:10px; padding:8px 12px; flex-wrap:nowrap;
  }
  .nrj-livebar .nrj-live__play{ width:42px; height:42px; }
  .nrj-livebar .nrj-live__sub{ display:none; }            /* compact */
  .nrj-livebar .nrj-live__title{ font-size:13px; }
  .nrj-livebar .nrj-live__spacer{ display:none; }
  .nrj-livebar .nrj-live__hd{ display:none; }             /* gain de place */
  .nrj-livebar .nrj-live__mute{ display:none; }
  .nrj-livebar .nrj-live__vol{ display:none; }            /* selection simple : station + play */
  .nrj-livebar .nrj-live__controls{ gap:8px; margin-left:auto; }
  .nrj-livebar .nrj-live__station-btn{ padding:6px 10px; font-size:11px; }
  .nrj-livebar .nrj-live__station-label{ max-width:90px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .nrj-livebar .nrj-live__station-list{ left:auto; right:0; min-width:170px; }
}

/* ---------- ONGLETS DE CATÉGORIES ([nrj_podcasts]) ---------- */
.nrj-pctabs{ display:flex; gap:8px; flex-wrap:wrap; margin:0 0 24px; }
.nrj-pctab{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; text-transform:uppercase;
  font-size:13px; letter-spacing:.5px; padding:9px 18px; border-radius:30px; border:1px solid #e6e6e6;
  background:#fff; color:#333; cursor:pointer; transition:.15s; }
.nrj-pctab:hover{ border-color:var(--nrjp-red); color:var(--nrjp-red); }
.nrj-pctab.is-active{ background:#111; color:#fff; border-color:#111; }
/* Sélecteur déroulant : masqué sur desktop, remplace les boutons sur mobile */
.nrj-pcselect{ display:none; }
@media (max-width:768px){
  .nrj-pctabs .nrj-pctab{ display:none !important; }
  .nrj-pctabs{ margin:0 0 20px; }
  .nrj-pcselect{
    display:block; width:100%; box-sizing:border-box;
    font-family:"Montserrat",Arial,sans-serif; font-weight:700; text-transform:uppercase;
    letter-spacing:.5px; font-size:14px; color:#111;
    padding:14px 44px 14px 16px; border:2px solid #111; border-radius:12px;
    background:#fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E2001A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M6 9l6 6 6-6'/></svg>") no-repeat right 14px center;
    background-size:18px; -webkit-appearance:none; appearance:none; cursor:pointer;
  }
  .nrj-pcselect:focus{ outline:none; border-color:var(--nrjp-red); }
}
.nrj-podrow{ transition:opacity .2s; }

/* ---------- LISTE DE PODCASTS ([nrj_podcast_list]) ---------- */
.nrj-podlist{ display:flex; flex-direction:column; gap:18px; }
.nrj-podrow__cat{ display:inline-block; background:var(--nrjp-red); color:#fff;
  font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:11px;
  text-transform:uppercase; letter-spacing:1px; padding:3px 10px; border-radius:4px; margin-bottom:8px; }
.nrj-podrow__note{ font-size:12px; color:#b00016; margin-top:6px; font-style:italic; }
.nrj-podrow--missing .nrj-pod{ opacity:.55; }

/* ===========================================================
   ÉVÉNEMENTS (grille, sidebar, liés)
   =========================================================== */
.nrj-events__grid{ display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.nrj-evcard{ display:block; background:#fff; border:1px solid #ececec; border-radius:6px; overflow:hidden; text-decoration:none; color:inherit; transition:.2s; }
.nrj-evcard:hover{ box-shadow:0 14px 32px rgba(0,0,0,.12); transform:translateY(-3px); }
.nrj-evcard__media{ position:relative; height:280px; background-size:cover; background-position:center; background-color:#E2001A; }
.nrj-evcard__badge{ position:absolute; left:0; bottom:0; background:#E2001A; color:#fff; font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:13px; letter-spacing:1px; padding:8px 18px; }
.nrj-evcard__body{ padding:20px 22px 26px; }
.nrj-evcard__date{ color:#E2001A; font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:18px; }
.nrj-evcard__title{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:20px; margin:6px 0 10px; color:#111; }
.nrj-evcard__excerpt{ color:#666; font-size:15px; line-height:1.5; margin:0; }
.nrj-evpag{ display:flex; gap:14px; justify-content:center; margin:34px 0 0; }
.nrj-evpag a{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; color:#333; text-decoration:none; padding:4px 8px; }
.nrj-evpag a.is-active{ color:#E2001A; border-bottom:2px solid #E2001A; }

.nrj-evside__title,.nrj-pside__title{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:18px; margin:0 0 16px; color:#111; }
.nrj-evside__item{ display:flex; gap:12px; align-items:center; text-decoration:none; color:inherit; margin-bottom:14px; }
.nrj-evside__thumb{ width:90px; height:60px; border-radius:6px; background-size:cover; background-position:center; background-color:#E2001A; flex:0 0 auto; }
.nrj-evside__meta{ display:flex; flex-direction:column; }
.nrj-evside__meta strong{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:14px; color:#111; }
.nrj-evside__meta em{ font-style:normal; color:#888; font-size:12px; }

.nrj-related__title{ color:#E2001A; font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:22px; margin:0 0 18px; }
.nrj-related__grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:20px; max-width:660px; }
.nrj-related__cat{ display:block; font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:11px; letter-spacing:.5px; color:#E2001A; margin-top:3px; }
.nrj-related__card{ text-decoration:none; color:inherit; }
.nrj-related__thumb{ display:block; height:130px; border-radius:6px; background-size:cover; background-position:center; background-color:#E2001A; }
.nrj-related__name{ display:block; font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:13px; margin-top:8px; color:#111; text-transform:uppercase; }

/* ===========================================================
   PODCASTS EN PLAYLISTS (cartes séries + page FOCUS)
   =========================================================== */
.nrj-series{ display:flex; flex-direction:column; gap:30px; }
.nrj-scard{ display:grid; grid-template-columns:340px 1fr; gap:28px; align-items:center; }
.nrj-scard__media{ position:relative; display:block; height:230px; border-radius:8px; background-size:cover; background-position:center; background-color:#E2001A; }
.nrj-scard__count{ position:absolute; left:12px; bottom:12px; background:rgba(0,0,0,.55); color:#fff; font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:12px; padding:5px 12px; border-radius:30px; }
.nrj-scard__title{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:26px; text-transform:uppercase; margin:0; color:#111; }
.nrj-scard__pres{ color:#E2001A; font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:14px; margin:4px 0 12px; }
.nrj-scard__desc{ color:#555; font-size:15px; line-height:1.6; margin:0 0 16px; }
.nrj-scard__btn{ display:inline-flex; align-items:center; gap:8px; background:#E2001A; color:#fff; font-family:"Montserrat",Arial,sans-serif; font-weight:700; text-transform:uppercase; font-size:13px; padding:11px 22px; border-radius:30px; text-decoration:none; }
.nrj-scard__btn .nrj-ico-play{ border-color:transparent transparent transparent #fff; }

.nrj-focus__head{ position:relative; overflow:hidden; height:220px; border-radius:10px; background-size:cover; background-position:center; background-color:#E2001A; display:flex; align-items:flex-end; }
/* Bannière sans texte : le titre/sous-titre étaient un doublon avec le titre
   et la description affichés juste à côté → on masque l'incrustation + le voile. */
.nrj-focus__head::before{ display:none; }
.nrj-focus__headin{ display:none !important; }
.nrj-focus__desc{ color:#555; font-size:16px; line-height:1.6; margin:18px 0; }
/* Page playlist (focus) : sur mobile, on supprime la colonne latérale pour que
   le contenu occupe toute la largeur, avec des marges gauche/droite identiques. */
@media (max-width:820px){
  .nrj-focuspage{ display:block !important; grid-template-columns:none !important; }
  .nrj-focuspage__side{ display:none !important; }
  .nrj-focuspage__main{ width:auto !important; max-width:none !important; }
}
.nrj-flist{ list-style:none; margin:18px 0 0; padding:0; }
.nrj-flrow{ display:flex; align-items:center; gap:14px; padding:12px 14px; border-radius:8px; cursor:pointer; border:1px solid #ececec; margin-bottom:8px; transition:.15s; }
.nrj-flrow:hover{ border-color:#E2001A; }
.nrj-flrow.is-active{ background:#E2001A; border-color:#E2001A; }
.nrj-flrow.is-active .nrj-flmeta strong,.nrj-flrow.is-active .nrj-flnum{ color:#fff; }
.nrj-flrow.is-active .nrj-flmeta em{ color:rgba(255,255,255,.8); }
.nrj-flrow.is-active .nrj-flplay{ background:#fff; }
.nrj-flrow.is-active .nrj-flplay .nrj-ico-play{ border-color:transparent transparent transparent #E2001A; }
.nrj-flrow.is-missing{ opacity:.5; }
.nrj-flplay{ width:40px; height:40px; border-radius:50%; background:#E2001A; border:0; display:flex; align-items:center; justify-content:center; flex:0 0 auto; cursor:pointer; }
.nrj-flplay .nrj-ico-play{ border-color:transparent transparent transparent #fff; }
.nrj-flnum{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; color:#bbb; width:22px; text-align:center; }
.nrj-flmeta{ display:flex; flex-direction:column; }
.nrj-flmeta strong{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:15px; color:#111; text-transform:uppercase; }
.nrj-flmeta em{ font-style:normal; color:#888; font-size:13px; }

.nrj-pside__item{ display:flex; gap:12px; align-items:center; text-decoration:none; color:inherit; background:#f6f6f6; border-radius:10px; padding:10px; margin-bottom:12px; }
.nrj-pside__thumb{ width:64px; height:64px; border-radius:8px; background-size:cover; background-position:center; background-color:#E2001A; flex:0 0 auto; }
.nrj-pside__meta{ display:flex; flex-direction:column; }
.nrj-pside__meta strong{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:14px; color:#111; text-transform:uppercase; }
.nrj-pside__meta em{ font-style:normal; color:#E2001A; font-size:11px; font-weight:700; }

@media(max-width:782px){
  .nrj-events__grid,.nrj-related__grid{ grid-template-columns:1fr; }
  .nrj-evcard__media{ height:210px; }
  .nrj-scard{ grid-template-columns:1fr; }
  .nrj-scard__media{ height:200px; }
}

/* ===========================================================
   BLOC « L'ACTU DE NOS RÉSEAUX » — Instagram (shortcode [nrj_social])
   =========================================================== */
.nrj-social{ max-width:1180px; margin:0 auto; }
.nrj-social__head{ display:flex; align-items:center; gap:16px; margin:0 0 22px; }
.nrj-social__acc{ display:inline-flex; align-items:center; gap:12px; text-decoration:none; }
.nrj-social__logo{ width:46px; height:46px; border-radius:50%; background:#E2001A; color:#fff;
  display:flex; flex-direction:column; align-items:center; justify-content:center; line-height:1; flex:0 0 auto; }
.nrj-social__logo b{ font-size:15px; font-weight:800; letter-spacing:.5px; }
.nrj-social__logo i{ font-size:8px; font-style:normal; font-weight:700; letter-spacing:1px; }
.nrj-social__handle{ font-size:20px; font-weight:700; color:#111; }
.nrj-social__btn{ background:#E2001A; color:#fff; font-weight:800; font-size:13px; letter-spacing:.5px;
  text-transform:uppercase; padding:11px 22px; border-radius:30px; text-decoration:none;
  transition:transform .15s ease, background .15s ease; }
.nrj-social__btn:hover{ background:#b00016; transform:translateY(-1px); color:#fff; }

.nrj-social__grid{ display:grid; grid-template-columns:2fr 1fr 1fr; grid-auto-rows:1fr; gap:14px; }
.nrj-social__tile{ position:relative; display:block; border-radius:10px; overflow:hidden;
  background-size:cover; background-position:center; min-height:200px; text-decoration:none;
  box-shadow:0 2px 10px rgba(0,0,0,.08); transition:transform .18s ease, box-shadow .18s ease; }
.nrj-social__tile.is-big{ grid-column:1; grid-row:span 2; }
.nrj-social__tile:hover{ transform:translateY(-3px); box-shadow:0 8px 22px rgba(0,0,0,.18); }
.nrj-social__tile::after{ content:""; position:absolute; inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.55) 0%, rgba(0,0,0,0) 45%); opacity:.9; }
.nrj-social__ig{ position:absolute; top:12px; right:12px; width:26px; height:26px; z-index:2;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2'%3E%3Crect x='2' y='2' width='20' height='20' rx='5'/%3E%3Ccircle cx='12' cy='12' r='4.2'/%3E%3Ccircle cx='17.5' cy='6.5' r='1.3' fill='white' stroke='none'/%3E%3C/svg%3E");
  filter:drop-shadow(0 1px 2px rgba(0,0,0,.5)); }
.nrj-social__label{ position:absolute; left:14px; right:14px; bottom:12px; z-index:2;
  color:#fff; font-weight:700; font-size:14px; line-height:1.25; }
.nrj-social__tile.is-big .nrj-social__label{ font-size:18px; }

@media (max-width:880px){
  .nrj-social__grid{ grid-template-columns:1fr 1fr; }
  .nrj-social__tile.is-big{ grid-column:1 / -1; grid-row:auto; min-height:240px; }
}
@media (max-width:520px){
  .nrj-social__grid{ grid-template-columns:1fr; }
  .nrj-social__head{ flex-wrap:wrap; }
}

/* ===========================================================
   HERO SLIDER pleine page (shortcode [nrj_hero_slider])
   =========================================================== */
/* Hauteur calée sur le ratio des visuels (2560×1000 = 2.56:1) : affiche la composition entière, aucun rognage. */
.nrj-hero{ position:relative; width:100%; aspect-ratio:256/100; min-height:0 !important; height:auto !important; overflow:hidden; background:#E2001A; }
.nrj-hero__slides{ position:absolute; inset:0; }
.nrj-hero__slide{ position:absolute; inset:0; display:flex; align-items:center;
  background-size:cover; background-position:center; opacity:0; visibility:hidden;
  transition:opacity .9s ease, visibility .9s ease; }
.nrj-hero__slide.is-active{ opacity:1; visibility:visible; }
/* Voile dégradé pour la lisibilité du texte (sombre à gauche, transparent à droite). */
.nrj-hero__slide::before{ content:""; position:absolute; inset:0; z-index:1; pointer-events:none;
  background:linear-gradient(90deg, rgba(0,0,0,.62) 0%, rgba(0,0,0,.40) 34%, rgba(0,0,0,0) 62%); }
.nrj-hero__inner{ position:relative; z-index:2; width:100%; max-width:1180px; margin:0 auto; padding:0 48px; }
/* Logo d'émission (au-dessus du texte) : visible UNIQUEMENT sur mobile. */
.nrj-hero__logo{ display:none; height:66px; width:auto; max-width:230px; margin:0 0 20px;
  transform:translateY(14px); opacity:0; transition:all .7s ease .1s; }
.nrj-hero__slide.is-active .nrj-hero__logo{ transform:translateY(0); opacity:1; }
.nrj-hero__eyebrow{ display:block; color:#fff; font-weight:700; font-size:15px;
  letter-spacing:3px; text-transform:uppercase; opacity:.92; margin:0 0 18px;
  transform:translateY(14px); opacity:0; transition:all .7s ease .2s; }
.nrj-hero__title{ color:#fff; font-weight:800; line-height:1.02; text-transform:uppercase;
  font-size:clamp(23px, 5.2vw, 71px); margin:0 0 34px; max-width:14ch;
  transform:translateY(18px); opacity:0; transition:all .7s ease .32s; }
.nrj-hero__btn{ display:inline-block; background:#fff; color:#E2001A; font-weight:800;
  font-size:14px; letter-spacing:.6px; text-transform:uppercase; text-decoration:none;
  padding:15px 34px; border-radius:32px; transition:transform .15s ease, box-shadow .15s ease;
  transform:translateY(18px); opacity:0; transition:all .7s ease .44s, transform .15s ease; }
.nrj-hero__btn:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(0,0,0,.22); color:#E2001A; }
.nrj-hero__slide.is-active .nrj-hero__eyebrow,
.nrj-hero__slide.is-active .nrj-hero__title,
.nrj-hero__slide.is-active .nrj-hero__btn{ transform:translateY(0); opacity:1; }
.nrj-hero__slide.is-active .nrj-hero__eyebrow{ opacity:.92; }

/* Flèches */
.nrj-hero__arrow{ position:absolute; top:50%; transform:translateY(-50%); z-index:5;
  width:52px; height:52px; border:none; border-radius:50%; cursor:pointer;
  background:rgba(255,255,255,.16); backdrop-filter:blur(2px); transition:background .15s ease; }
.nrj-hero__arrow:hover{ background:rgba(255,255,255,.32); }
.nrj-hero__arrow::before{ content:""; position:absolute; top:50%; left:50%; width:13px; height:13px;
  border-top:3px solid #fff; border-right:3px solid #fff; }
.nrj-hero__arrow--prev{ left:24px; }
.nrj-hero__arrow--prev::before{ transform:translate(-30%,-50%) rotate(-135deg); }
.nrj-hero__arrow--next{ right:24px; }
.nrj-hero__arrow--next::before{ transform:translate(-70%,-50%) rotate(45deg); }

/* Points */
.nrj-hero__dots{ position:absolute; left:0; right:0; bottom:84px; z-index:5;
  display:flex; gap:12px; justify-content:center; }
.nrj-hero__dot{ width:12px; height:12px; border-radius:50%; border:2px solid #fff;
  background:transparent; cursor:pointer; padding:0; transition:background .15s ease, transform .15s ease; }
.nrj-hero__dot.is-active{ background:#fff; transform:scale(1.15); }

@media (max-width:768px){
  /* Hauteur forcée (l'aspect-ratio ne tenait pas face aux réglages Elementor) :
     box haute pour que logo + texte + bouton tiennent, sans rien couper. */
  .nrj-hero{ aspect-ratio:auto !important; height:auto !important; min-height:640px !important; }
  /* Contenu centré verticalement, avec de la place en bas pour les bulles. */
  .nrj-hero__inner{ padding:32px 24px 84px; text-align:center; display:flex; flex-direction:column; align-items:center; justify-content:center; }
  .nrj-hero__logo{ display:block; height:36px; max-width:150px; margin:0 auto 16px; }
  .nrj-hero__eyebrow{ margin-bottom:12px; }
  .nrj-hero__title{ max-width:none; margin-bottom:26px; }
  .nrj-hero__btn{ align-self:center; }
  /* Flèches masquées sur mobile (gênent le visuel) */
  .nrj-hero__arrow{ display:none !important; }
  /* Bulles tout en bas, dégagées du bouton */
  .nrj-hero__dots{ bottom:20px; gap:8px; }
  .nrj-hero__dot{ width:8px; height:8px; border-width:1.5px; }
}

/* Événements : nombre de colonnes configurable ([nrj_events columns="3"]) */
.nrj-events__grid--c1{ grid-template-columns:1fr; }
.nrj-events__grid--c2{ grid-template-columns:repeat(2,1fr); }
.nrj-events__grid--c3{ grid-template-columns:repeat(3,1fr); }
.nrj-events__grid--c4{ grid-template-columns:repeat(4,1fr); }
@media (max-width:900px){
  .nrj-events__grid--c3,.nrj-events__grid--c4{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:560px){
  .nrj-events__grid--c2,.nrj-events__grid--c3,.nrj-events__grid--c4{ grid-template-columns:1fr; }
}

/* ===========================================================
   TITRES DIFFUSÉS (shortcode [nrj_titres])
   =========================================================== */
.nrj-titres{ width:100%; }
.nrj-titres__row{ display:grid; grid-auto-flow:column; grid-auto-columns:158px; justify-content:start;
  gap:22px; overflow-x:auto; padding:4px 2px 10px; scroll-snap-type:x mandatory; }
.nrj-titres__row::-webkit-scrollbar{ height:6px; }
.nrj-titres__row::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.2); border-radius:6px; }
.nrj-titres__card{ scroll-snap-align:start; }
.nrj-titres__cover{ width:100%; aspect-ratio:1/1; border-radius:14px; background:#eee center/cover no-repeat;
  box-shadow:0 4px 14px rgba(0,0,0,.14); }
.nrj-titres__title{ margin:12px 0 2px; font-weight:800; font-size:15px; color:#fff;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.nrj-titres__artist{ font-size:13px; color:rgba(255,255,255,.6); opacity:1; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
@media (max-width:768px){
  .nrj-titres__row{ grid-auto-columns:132px; gap:16px; }
}

/* ===========================================================
   MÉTÉO (bouton flottant)
   =========================================================== */
.nrj-weather{ position:fixed; left:18px; bottom:74px; z-index:9998; font-family:inherit; }
.nrj-weather__btn{ display:flex; align-items:center; gap:6px; background:#fff; color:#111;
  border:none; border-radius:30px; padding:9px 14px; cursor:pointer; box-shadow:0 6px 20px rgba(0,0,0,.22);
  font-weight:800; font-size:15px; }
.nrj-weather__btn:hover{ transform:translateY(-1px); }
.nrj-weather__ico{ font-size:18px; line-height:1; }
.nrj-weather__panel{ position:absolute; left:0; bottom:calc(100% + 10px); width:280px; background:#fff;
  border-radius:14px; box-shadow:0 12px 34px rgba(0,0,0,.25); padding:14px 16px; display:none; }
.nrj-weather.is-open .nrj-weather__panel{ display:block; }
.nrj-weather__title{ font-weight:800; color:#E2001A; text-transform:uppercase; letter-spacing:.5px;
  font-size:13px; margin-bottom:10px; }
.nrj-weather__row{ display:flex; align-items:center; justify-content:space-between; gap:8px; padding:7px 0;
  border-top:1px solid #f0f0f0; }
.nrj-weather__row:first-of-type{ border-top:none; }
.nrj-weather__city{ font-weight:700; color:#111; font-size:14px; flex:1; }
.nrj-weather__cond{ font-size:13px; color:#777; }
.nrj-weather__cond em{ font-style:normal; }
.nrj-weather__deg{ font-weight:800; color:#111; font-size:15px; min-width:44px; text-align:right; }
.nrj-weather__src{ margin-top:8px; font-size:11px; color:#aaa; text-align:right; }
@media (max-width:600px){ .nrj-weather{ bottom:70px; left:12px; } .nrj-weather__panel{ width:250px; } }

/* ===========================================================
   PARTAGE PODCAST (menu réseaux + copier)
   =========================================================== */
.nrj-ico-share{ display:inline-block; width:16px; height:16px; position:relative; }
.nrj-ico-share::before{ content:""; position:absolute; inset:0;
  background:no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='18' cy='5' r='3'/%3E%3Ccircle cx='6' cy='12' r='3'/%3E%3Ccircle cx='18' cy='19' r='3'/%3E%3Cline x1='8.6' y1='13.5' x2='15.4' y2='17.5'/%3E%3Cline x1='15.4' y1='6.5' x2='8.6' y2='10.5'/%3E%3C/svg%3E"); }
.nrj-pod__share{ position:relative; }
.nrj-pod__sharebtn{ background:transparent; border:none; cursor:pointer; width:34px; height:34px;
  display:flex; align-items:center; justify-content:center; border-radius:50%; }
.nrj-pod__sharebtn:hover{ background:rgba(255,255,255,.15); }
.nrj-pod__sharemenu{ position:absolute; right:0; bottom:calc(100% + 8px); background:#fff; border-radius:12px;
  box-shadow:0 12px 30px rgba(0,0,0,.28); padding:6px; min-width:170px; display:none; z-index:20; }
.nrj-pod__share.is-open .nrj-pod__sharemenu{ display:block; }
.nrj-share{ display:block; width:100%; text-align:left; background:none; border:none; cursor:pointer;
  padding:9px 12px; border-radius:8px; font-size:14px; color:#111; text-decoration:none; font-weight:600; }
.nrj-share:hover{ background:#f4f4f4; color:#111; }
.nrj-pod__copy{ border-top:1px solid #eee; color:#E2001A; }

/* ===========================================================
   FOCUS : horaires / moments phares / à venir + carte horaires
   =========================================================== */
.nrj-focus__sched{ display:block; margin-top:4px; font-size:14px; font-weight:600; opacity:.9; }
.nrj-scard__sched{ font-size:13px; color:#E2001A; font-weight:700; margin:2px 0 6px; }
.nrj-focus__phares{ margin:6px 0 22px; }
.nrj-focus__phares-t{ font-size:16px; font-weight:800; text-transform:uppercase; letter-spacing:.5px; color:#111; margin:0 0 10px; }
.nrj-phares{ list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:10px; }
.nrj-phares__item a, .nrj-phares__label{ display:inline-flex; align-items:center; gap:8px;
  background:#fff; border:1px solid #eee; border-radius:30px; padding:9px 16px; font-weight:700; font-size:14px;
  color:#111; text-decoration:none; box-shadow:0 2px 8px rgba(0,0,0,.06); }
.nrj-phares__item a:hover{ border-color:#E2001A; color:#E2001A; }
.nrj-phares .nrj-ico-play{ width:16px; height:16px; }
.nrj-focus__soon{ background:#fff5f5; border:1px dashed #E2001A; color:#8a0010; border-radius:12px;
  padding:18px 20px; font-weight:600; text-align:center; }

/* ===========================================================
   FORMULAIRE (recrutement groupe Backline)
   =========================================================== */
.nrj-form{ background:#fff; border-radius:16px; box-shadow:0 6px 24px rgba(0,0,0,.10); padding:26px 26px 30px;
  margin:28px 0; border-top:4px solid #E2001A; }
.nrj-form__title{ font-size:22px; font-weight:800; color:#111; margin:0 0 6px; }
.nrj-form__sub{ color:#777; margin:0 0 18px; }
.nrj-field{ display:block; margin-bottom:16px; }
.nrj-field__lab{ display:block; font-weight:700; font-size:14px; color:#111; margin-bottom:6px; }
.nrj-field input, .nrj-field textarea{ width:100%; border:1px solid #dcdcde; border-radius:10px;
  padding:12px 14px; font-size:15px; font-family:inherit; box-sizing:border-box; }
.nrj-field input:focus, .nrj-field textarea:focus{ outline:none; border-color:#E2001A; box-shadow:0 0 0 3px rgba(226,0,26,.12); }
.nrj-form__submit{ background:#E2001A; color:#fff; font-weight:800; font-size:15px; text-transform:uppercase;
  letter-spacing:.5px; border:none; border-radius:30px; padding:14px 30px; cursor:pointer; transition:background .15s; }
.nrj-form__submit:hover{ background:#b00016; }
.nrj-form__submit[disabled]{ opacity:.6; cursor:default; }
.nrj-form__msg{ margin:14px 0 0; font-weight:600; }
.nrj-form__msg.is-ok{ color:#1a7f37; }
.nrj-form__msg.is-err{ color:#E2001A; }

/* ===== Fil info local (bandeau défilant) ===== */
.nrj-infos-bar{ width:100%; background:#fff; border-bottom:1px solid #ececec; }
.nrj-infos{ display:flex; align-items:stretch; height:40px; overflow:hidden;
  font-family:inherit; }
.nrj-infos__label{ flex:0 0 auto; display:flex; align-items:center; gap:6px;
  background:#E2001A; color:#fff; font-weight:800; font-size:12px; letter-spacing:.06em;
  padding:0 14px; text-transform:uppercase; white-space:nowrap; }
.nrj-infos__label::before{ content:""; width:8px; height:8px; border-radius:50%;
  background:#fff; box-shadow:0 0 0 0 rgba(255,255,255,.7); animation:nrj-infos-pulse 1.6s infinite; }
.nrj-infos__viewport{ position:relative; flex:1 1 auto; overflow:hidden; }
.nrj-infos__viewport::after{ content:""; position:absolute; top:0; right:0; width:40px; height:100%;
  background:linear-gradient(90deg, rgba(255,255,255,0), #fff); pointer-events:none; }
.nrj-infos__track{ display:inline-flex; align-items:center; height:40px; white-space:nowrap;
  will-change:transform; animation:nrj-infos-scroll 110s linear infinite; }
.nrj-infos__dup{ display:inline-flex; align-items:center; }
.nrj-infos:hover .nrj-infos__track{ animation-play-state:paused; }
.nrj-infos__item{ display:inline-flex; align-items:center; gap:9px; padding:0 22px;
  color:#1a1a1a; text-decoration:none; font-size:14px; font-weight:500; }
.nrj-infos__item:hover{ color:#E2001A; text-decoration:underline; }
.nrj-infos__dot{ width:6px; height:6px; border-radius:50%; background:#E2001A; flex:0 0 auto; }
@keyframes nrj-infos-scroll{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
@keyframes nrj-infos-pulse{ 0%{ box-shadow:0 0 0 0 rgba(255,255,255,.7);} 70%{ box-shadow:0 0 0 6px rgba(255,255,255,0);} 100%{ box-shadow:0 0 0 0 rgba(255,255,255,0);} }
@media (prefers-reduced-motion: reduce){
  .nrj-infos__viewport{ overflow-x:auto; }
  .nrj-infos__track{ animation:none; }
  .nrj-infos__dup{ display:none; }
  .nrj-infos__label::before{ animation:none; }
}
@media (max-width:600px){
  .nrj-infos{ height:36px; }
  .nrj-infos__track{ height:36px; }
  .nrj-infos__label{ font-size:11px; padding:0 10px; }
  .nrj-infos__item{ font-size:13px; padding:0 16px; }
}

/* ===== Événement « à la une » (vedette en grand + petits en dessous) ===== */
.nrj-events--featured{ display:block; }
.nrj-evfeat{ display:grid; grid-template-columns:1.35fr 1fr; gap:0; margin:0 0 26px;
  border-radius:16px; overflow:hidden; background:#fff; text-decoration:none; border:2px solid #E2001A;
  box-shadow:0 12px 34px rgba(0,0,0,.10); transition:transform .18s, box-shadow .18s; }
.nrj-evfeat:hover{ transform:translateY(-3px); box-shadow:0 18px 44px rgba(0,0,0,.16); }
.nrj-evfeat__media{ position:relative; min-height:360px; background-size:cover; background-position:center; }
.nrj-evfeat__badge{ position:absolute; top:18px; left:18px; background:#E2001A; color:#fff;
  font-weight:800; font-size:12px; letter-spacing:.5px; padding:7px 14px; border-radius:6px; text-transform:uppercase; }
.nrj-evfeat__star{ position:absolute; top:16px; right:18px; background:#fff; color:#E2001A;
  font-weight:800; font-size:12px; letter-spacing:.4px; padding:7px 14px; border-radius:30px;
  box-shadow:0 4px 12px rgba(0,0,0,.18); }
.nrj-evfeat__body{ padding:34px 40px; display:flex; flex-direction:column; justify-content:center; }
.nrj-evfeat__date{ color:#E2001A; font-weight:800; text-transform:uppercase; letter-spacing:.5px;
  font-size:15px; margin-bottom:10px; }
.nrj-evfeat__title{ font-size:30px; font-weight:800; line-height:1.12; margin:0 0 14px; color:#111; }
.nrj-evfeat__excerpt{ color:#555; font-size:16px; line-height:1.6; margin:0 0 22px; }
.nrj-evfeat__cta{ align-self:flex-start; background:#E2001A; color:#fff; font-weight:800;
  text-transform:uppercase; letter-spacing:.5px; font-size:13px; padding:12px 26px; border-radius:30px; }
.nrj-evfeat:hover .nrj-evfeat__cta{ background:#b00016; }
@media (max-width:820px){
  .nrj-evfeat{ grid-template-columns:1fr; }
  .nrj-evfeat__media{ min-height:210px; }
  .nrj-evfeat__body{ padding:26px 24px; }
  .nrj-evfeat__title{ font-size:24px; }
}

/* ===== Bloc DAB+ du footer (lisible sur fond sombre) ===== */
.nrj-dab{ line-height:1.5; }
.nrj-dab__logo{ height:50px !important; width:auto !important; max-width:none !important; display:block; margin:0 0 14px; }
.nrj-dab__txt{ color:#fff; opacity:.85; font-size:14px; line-height:1.4; margin:0 0 16px; }
.nrj-dab__btn{ display:inline-flex; align-items:center; gap:8px; background:#E2001A; color:#fff !important;
  font-weight:700; font-size:14px; text-decoration:none !important; padding:11px 20px; border-radius:30px;
  transition:background .15s, transform .15s; }
.nrj-dab__btn:hover{ background:#b00016; color:#fff !important; transform:translateY(-1px); }

/* ===== Fil d'ariane ===== */
.nrj-crumb{ display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  font-family:"Montserrat",Arial,sans-serif; font-size:13px; letter-spacing:1px;
  text-transform:uppercase; color:#9a9a9a; padding:6px 0; }
.nrj-crumb__home{ color:#9a9a9a; text-decoration:none; transition:color .15s; }
.nrj-crumb__home:hover{ color:#E2001A; }
.nrj-crumb__sep{ color:#c9c9c9; font-size:16px; line-height:1; }
.nrj-crumb__cur{ color:#111; font-weight:700; }

/* ===================== PARTENAIRES ===================== */
/* Liste (page Partenaires) */
.nrj-partners__list{ display:flex; flex-direction:column; gap:18px; }
.nrj-pcard{ display:flex; align-items:center; gap:26px; text-decoration:none; color:inherit;
  border:1px solid #ececec; border-radius:10px; padding:14px 22px; background:#fff; transition:box-shadow .15s, transform .15s; }
.nrj-pcard:hover{ box-shadow:0 10px 26px rgba(0,0,0,.10); transform:translateY(-2px); }
.nrj-pcard__logo{ flex:0 0 150px; height:96px; background-size:contain; background-position:center; background-repeat:no-repeat; }
.nrj-pcard__meta{ display:flex; flex-direction:column; gap:4px; }
.nrj-pcard__name{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:24px; color:#111; text-transform:uppercase; }
.nrj-pcard__since{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:13px; letter-spacing:.5px; color:#E2001A; font-style:normal; }
.nrj-ppager{ display:flex; gap:16px; justify-content:center; margin:34px 0 0; }
.nrj-ppager a{ color:#111; text-decoration:none; font-weight:700; }
.nrj-ppager a.is-active{ color:#E2001A; text-decoration:underline; }

/* Fiche partenaire (single) */
.nrj-pfocus{ max-width:1120px; margin:0 auto; padding:8px 0 10px; }
.nrj-pfocus__head{ display:flex; align-items:center; gap:34px; padding:26px 0 30px; }
.nrj-pfocus__logo{ flex:0 0 200px; height:150px; background-size:contain; background-position:center; background-repeat:no-repeat; }
.nrj-pfocus__hmeta{ border-left:4px solid #E2001A; padding-left:26px; }
.nrj-pfocus__name{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:34px; color:#111; text-transform:uppercase; margin:0; }
.nrj-pfocus__since{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:15px; letter-spacing:.5px; color:#E2001A; margin-top:6px; }
.nrj-pfocus__desc{ color:#444; font-size:16px; line-height:1.7; margin:0 0 26px; }
.nrj-pfocus__soon{ color:#777; font-size:16px; background:#f6f6f6; border-radius:10px; padding:22px; text-align:center; }
.nrj-adcat{ display:block; font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:12px; letter-spacing:.5px; color:#E2001A; font-style:normal; text-transform:uppercase; }
.nrj-adsub{ font-size:12px; color:#888; }

/* CTA « Devenez partenaire » (vertical) */
.nrj-pcta--v{ display:flex; flex-direction:column; justify-content:center; align-items:flex-start; gap:18px;
  background-color:#E2001A; background-size:cover; background-position:center; color:#fff; border-radius:12px; padding:44px 34px;
  /* Format portrait (comme un visuel) + fixe au scroll */
  aspect-ratio:3/4; min-height:0; height:auto; align-self:flex-start; position:sticky; top:24px; }
.nrj-pcta--v .nrj-pcta__title{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:38px; line-height:1.05; text-transform:uppercase; }
/* CTA « Communiquez » (horizontal, PLEINE LARGEUR comme l'accueil) */
.nrj-pcta--h{ position:relative; width:100vw; margin-left:calc(50% - 50vw); margin-top:40px;
  background-color:#E2001A; background-size:cover; background-position:center; color:#fff; padding:70px clamp(20px,6vw,80px); }
.nrj-pcta--h .nrj-pcta__in{ max-width:1180px; margin:0 auto; text-align:right; display:flex; flex-direction:column; align-items:flex-end; gap:16px; }
.nrj-pcta--h .nrj-pcta__title{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:clamp(28px,4vw,52px); line-height:1.05; text-transform:uppercase; max-width:16ch; }
.nrj-pcta__eyebrow{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:14px; letter-spacing:2px; text-transform:uppercase; opacity:.9; }
.nrj-pcta__btn{ display:inline-block; background:#fff; color:#E2001A; font-family:"Montserrat",Arial,sans-serif; font-weight:800;
  text-transform:uppercase; letter-spacing:.5px; font-size:14px; text-decoration:none; padding:13px 30px; border-radius:30px; }
.nrj-pcta__btn:hover{ background:#111; color:#fff; }
@media (max-width:820px){
  .nrj-pcard{ flex-direction:column; text-align:center; }
  .nrj-pfocus__head{ flex-direction:column; text-align:center; align-items:center; }
  .nrj-pfocus__hmeta{ border-left:0; border-top:4px solid #E2001A; padding:14px 0 0; }
  .nrj-pcta--h .nrj-pcta__in{ text-align:center; align-items:center; }
  .nrj-pcta--v{ min-height:auto; aspect-ratio:auto; position:static; }
  /* En colonne, flex-basis pilote la HAUTEUR : il faut redonner une largeur
     explicite au logo (sinon largeur=0 → logo invisible). */
  .nrj-pcard__logo{ flex:0 0 auto !important; width:200px; max-width:70%; height:88px; margin:0 auto; }
  .nrj-pfocus__logo{ flex:0 0 auto !important; width:220px; max-width:70%; height:130px; margin:0 auto; }
}

/* ===== Carte événement : « Lire la suite » ===== */
.nrj-evcard__more{ display:inline-block; margin-top:12px; font-family:"Montserrat",Arial,sans-serif;
  font-weight:800; font-size:13px; letter-spacing:.5px; text-transform:uppercase; color:#E2001A; }
.nrj-evcard__more em{ font-style:normal; transition:transform .15s; display:inline-block; }
.nrj-evcard:hover .nrj-evcard__more em{ transform:translateX(4px); }

/* ===== Partage article (sidebar) ===== */
.nrj-share2__t{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:20px; color:#111; margin:0 0 14px; }
.nrj-share2__row{ display:flex; gap:12px; flex-wrap:wrap; }
.nrj-share2__b{ display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px;
  border-radius:50%; background:#E2001A; color:#fff; border:0; cursor:pointer; text-decoration:none; transition:transform .15s, background .15s; }
.nrj-share2__b:hover{ transform:translateY(-2px); background:#b00016; color:#fff; }
.nrj-share2__copy.is-copied{ background:#1a7f37; }
.nrj-readtime{ font-family:"Montserrat",Arial,sans-serif; font-weight:700; font-size:14px; letter-spacing:.5px; }

/* ===== Footer « Passer à la radio » + modale ===== */
.nrj-radiocta__t{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:16px; letter-spacing:.06em; text-transform:uppercase; color:#fff; margin:0 0 12px; }
.nrj-radiocta__p{ color:rgba(255,255,255,.8); font-size:14px; line-height:1.5; margin:0 0 16px; }
.nrj-radiocta__btn{ display:inline-flex; align-items:center; gap:8px; background:#E2001A !important; color:#fff !important; border:0 !important; cursor:pointer;
  font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:14px; text-transform:uppercase; letter-spacing:.5px;
  padding:12px 22px; border-radius:30px; transition:background .15s, transform .15s; }
.nrj-radiocta__btn svg, .nrj-radiocta__btn path{ fill:#fff; }
.nrj-radiocta__btn:hover{ background:#b00016; transform:translateY(-1px); }
.nrj-modal{ position:fixed; inset:0; z-index:100000; display:none; }
.nrj-modal.is-open{ display:block; }
.nrj-modal__ov{ position:absolute; inset:0; background:rgba(0,0,0,.6); }
.nrj-modal__box{ position:relative; z-index:1; width:min(520px,92vw); max-height:88vh; overflow:auto; margin:6vh auto 0;
  background:#fff; border-radius:16px; padding:34px 34px 30px; box-shadow:0 30px 80px rgba(0,0,0,.4); text-align:left; }
.nrj-modal__x{ position:absolute; top:12px; right:16px; background:none; border:0; font-size:30px; line-height:1; color:#999; cursor:pointer; }
.nrj-modal__x:hover{ color:#E2001A; }
.nrj-modal__title{ font-family:"Montserrat",Arial,sans-serif; font-weight:800; font-size:26px; color:#111; margin:0 0 8px; }
.nrj-modal__sub{ color:#666; font-size:15px; margin:0 0 22px; }

/* ===== Article (single) : texte NOIR ===== */
.single-post .elementor-widget-theme-post-content,
.single-post .elementor-widget-theme-post-content p,
.single-post .elementor-widget-theme-post-content li,
.single-post .elementor-widget-theme-post-content span{ color:#111 !important; }
.single-post .elementor-widget-theme-post-content h1,
.single-post .elementor-widget-theme-post-content h2,
.single-post .elementor-widget-theme-post-content h3,
.single-post .elementor-widget-theme-post-content h4{ color:#000 !important; }

/* Affiches d'événement : cadrage en haut (infos importantes en haut) */
.nrj-evfeat__media, .nrj-evcard__media{ background-position:center top; }

/* ===================== HEADER / MENU MOBILE (sombre & chic) ===================== */
@media (max-width:1024px){
  /* --- Disposition : logo À GAUCHE, hamburger À DROITE, sur une seule ligne --- */
  .elementor-location-header .elementor-section > .elementor-container{
    display:flex !important; flex-direction:row !important; flex-wrap:nowrap !important;
    align-items:center !important; justify-content:space-between !important;
    padding:6px 16px !important;
  }
  /* colonne contenant le logo → à gauche */
  .elementor-location-header .elementor-column:has(.elementor-widget-image){
    order:1 !important; width:auto !important; flex:0 0 auto !important; margin:0 !important;
  }
  .elementor-location-header .elementor-column:has(.elementor-widget-image) .elementor-widget-image img{
    max-width:118px !important; height:auto !important;
  }
  /* colonne contenant le menu / hamburger → poussée à droite */
  .elementor-location-header .elementor-column:has(.elementor-nav-menu--dropdown-mobile),
  .elementor-location-header .elementor-column:has(.elementor-menu-toggle){
    order:2 !important; width:auto !important; flex:0 0 auto !important; margin-left:auto !important;
  }
  /* toute autre colonne (CTA…) masquée sur mobile pour garder un header net */
  .elementor-location-header .elementor-column:not(:has(.elementor-widget-image)):not(:has(.elementor-nav-menu--dropdown-mobile)):not(:has(.elementor-menu-toggle)){
    display:none !important;
  }
  .elementor-location-header .elementor-nav-menu__align-center{ text-align:right !important; }
  /* Bouton hamburger : vrai noir, sans fond gris, réduit de 30%, calé à droite */
  .elementor-location-header .elementor-menu-toggle{
    color:#000 !important; background:transparent !important; border:0 !important; box-shadow:none !important;
    padding:4px !important; margin:0 0 0 auto !important;
  }
  .elementor-location-header .elementor-menu-toggle svg,
  .elementor-location-header .elementor-menu-toggle i{ width:22px !important; height:22px !important; font-size:22px !important; }
  /* ===== Menu mobile : OVERLAY PLEIN ÉCRAN (style renovrc) ===== */
  .elementor-nav-menu__container.elementor-nav-menu--dropdown{
    background:#0e0e0e !important; border:0 !important; box-shadow:none !important;
    margin:0 !important; border-radius:0 !important;
  }
  /* Ouvert : recouvre tout l'écran, aucun agrandissement du header. */
  .elementor-nav-menu__container.elementor-nav-menu--dropdown[aria-hidden="false"]{
    position:fixed !important; inset:0 !important; z-index:99990 !important;
    width:100vw !important; height:100dvh !important; max-height:100dvh !important;
    overflow-y:auto !important;
    display:flex !important; flex-direction:column !important; justify-content:center !important;
    padding:96px 26px calc(90px + env(safe-area-inset-bottom)) !important;
  }
  .elementor-nav-menu__container.elementor-nav-menu--dropdown[aria-hidden="false"] > ul{
    width:100% !important; max-width:520px !important; margin:0 auto !important;
  }
  /* Items empilés, centrés, grands, séparateurs fins. */
  .elementor-nav-menu--dropdown a.elementor-item{
    color:#fff !important; text-align:center !important;
    font-family:"Montserrat",Arial,sans-serif !important; font-weight:800 !important;
    text-transform:uppercase !important; letter-spacing:2px !important; font-size:20px !important;
    padding:22px 16px !important;
    border:0 !important; border-bottom:1px solid rgba(255,255,255,.10) !important;
    transition:color .15s;
  }
  .elementor-nav-menu--dropdown li:last-child a.elementor-item{ border-bottom:0 !important; }
  .elementor-nav-menu--dropdown a.elementor-item:hover,
  .elementor-nav-menu--dropdown a.elementor-item.elementor-item-active{
    color:#E2001A !important; background:transparent !important;
  }
  /* Le bouton devient une croix « × » ROUGE fixe au-dessus de l'overlay. */
  .elementor-location-header .elementor-menu-toggle.elementor-active{
    position:fixed !important; top:14px !important; right:16px !important; z-index:100000 !important;
    color:#E2001A !important; background:transparent !important; margin:0 !important;
  }
  .elementor-location-header .elementor-menu-toggle.elementor-active svg,
  .elementor-location-header .elementor-menu-toggle.elementor-active i{ color:#E2001A !important; fill:#E2001A !important; }
  .elementor-location-header .elementor-menu-toggle.elementor-active svg *{ fill:#E2001A !important; stroke:#E2001A !important; }
}

/* ============ CORRECTIFS UI (charte + finitions) ============ */

/* Slider accueil : bulles de navigation en BLANC (le magenta était hors charte) */
.nrj-hero__dot{ border-color:#fff !important; background:transparent !important; }
.nrj-hero__dot.is-active{ background:#fff !important; border-color:#fff !important; }

/* Bannière playlist (focus) : aucun fond rouge sous l'image → plus de coins rouges */
.nrj-focus__head{ background-color:transparent !important; }

/* Player podcast : plus d'« écran rouge ». Si la vignette manque/casse,
   on affiche une tuile sombre avec un picto play blanc. */
.nrj-pod__thumb{
  background:#0e0e0e url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23ffffff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") center/22px no-repeat !important;
  object-fit:cover;
}
.nrj-pod__thumb--ph{ background:#0e0e0e !important; }

/* Marge de respiration en bas de page avant le CTA / le footer */
.nrj-events{ margin-bottom:64px; }
.nrj-related{ margin-bottom:64px; }

/* Page Équipe (id 358) : encadré LÉGER autour du seul bloc texte (sous l'image),
   pour TOUTES les lignes de l'équipe. Cible générique via :has(). */
/* Pas de cadre plein autour de la carte entière (image comprise). */
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading){
  border:0 !important;
}
/* Image collée au cadre (aucune marge basse) et alignée sur la largeur du cadre. */
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget-image{
  margin:0 !important;
}
/* Bords fins gris clair sur les widgets texte → cadre continu sous la photo. */
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget-heading,
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget-text-editor{
  border-left:1px solid #dcdcdc !important;
  border-right:1px solid #dcdcdc !important;
  margin:0 !important;
  padding-left:30px !important;
  padding-right:30px !important;
}
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget-image + .elementor-widget-heading{
  border-top:1px solid #dcdcdc !important;
}
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget:last-child{
  border-bottom:1px solid #dcdcdc !important;
}
/* Rythme vertical (marges mises à 0 pour des bords continus). */
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget-heading{ padding-top:14px !important; padding-bottom:0 !important; }
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget-image + .elementor-widget-heading{ padding-top:22px !important; }
body.page-id-358 .elementor-widget-wrap:has(> .elementor-widget-image + .elementor-widget-heading) > .elementor-widget-text-editor{ padding-top:8px !important; padding-bottom:24px !important; }
