/* Sister Stations cross-promo — Kent Radio / London Radio / Sussex Radio */
.rn-xpromo{
  /* Picks up each theme's own accent/panel colours (Kent, London, Sussex), incl. Customizer changes */
  --accent:var(--kr-red, var(--lr-accent, var(--sr-blue, #ef1c27)));
  --rn-bg:#0b0909; --rn-card:var(--sr-navy, #14110f); --rn-text:#fff; --rn-muted:#b4bcc5;
  background:var(--rn-bg); border-top:1px solid rgba(255,255,255,.08); color:var(--rn-text);
  padding:48px 16px; font-family:inherit;
}
.rn-xpromo *,.rn-xpromo *::before,.rn-xpromo *::after{box-sizing:border-box}
.rn-xpromo__inner{max-width:1140px;margin:0 auto}
.rn-xpromo__eyebrow{margin:0 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rn-muted)}
.rn-xpromo__title{margin:0 0 6px;font-size:clamp(22px,3vw,30px);line-height:1.2;font-weight:800;color:var(--rn-text)}
.rn-xpromo__lede{margin:0 0 28px;color:var(--rn-muted);font-size:15px;max-width:620px}

.rn-xpromo__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;list-style:none;margin:0;padding:0}
.rn-xpromo__grid > li{margin:0;padding:0}
@media (max-width:820px){.rn-xpromo__grid{grid-template-columns:1fr}}

.rn-xpromo__card{display:flex;flex-direction:column;height:100%;overflow:hidden;
  border-radius:16px;background:var(--rn-card);color:var(--rn-text);text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease}
a.rn-xpromo__card:hover,a.rn-xpromo__card:focus-visible{transform:translateY(-4px);
  box-shadow:0 14px 30px rgba(0,0,0,.4);outline:none;color:var(--rn-text)}
a.rn-xpromo__card:focus-visible{box-shadow:0 0 0 3px var(--accent)}

/* Photo area: falls back to an accent gradient if no image is present */
.rn-xpromo__media{position:relative;display:block;aspect-ratio:3/2;overflow:hidden;
  background:linear-gradient(135deg,var(--accent),#111 85%)}
.rn-xpromo__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .5s ease; color:transparent; font-size:0}
a.rn-xpromo__card:hover .rn-xpromo__media img{transform:scale(1.05)}
.rn-xpromo__shade{position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.75) 0%,rgba(0,0,0,.15) 55%,rgba(0,0,0,0) 100%)}
.rn-xpromo__name{position:absolute;left:18px;bottom:14px;display:flex;align-items:center;gap:10px;
  font-size:22px;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.5)}
.rn-xpromo__dot{width:10px;height:10px;border-radius:50%;background:var(--accent);animation:rn-pulse 2s infinite}
@keyframes rn-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.55)}70%{box-shadow:0 0 0 9px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

.rn-xpromo__credit{position:absolute;left:12px;top:10px;font-size:10px;line-height:1;
  color:rgba(255,255,255,.7);text-shadow:0 1px 3px rgba(0,0,0,.6)}
.rn-xpromo__here{position:absolute;top:12px;right:12px;font-size:11px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:5px 9px;border-radius:999px;
  background:rgba(0,0,0,.6);color:#fff;border:1px solid var(--accent)}

.rn-xpromo__body{display:flex;flex-direction:column;gap:6px;flex:1;padding:16px 18px 18px;border-top:4px solid var(--accent)}
.rn-xpromo__domain{font-size:13px;color:var(--rn-muted)}
.rn-xpromo__tag{font-size:15px;line-height:1.45;opacity:.92;flex:1}
.rn-xpromo__cta{margin-top:6px;font-weight:700;font-size:14px;color:var(--accent)}

.rn-xpromo__card.is-current{opacity:.75}
.rn-xpromo__card.is-current .rn-xpromo__media img{filter:saturate(.7)}

@media (prefers-reduced-motion:reduce){
  .rn-xpromo__dot{animation:none}
  .rn-xpromo__card,.rn-xpromo__media img{transition:none}
}
