/* Sonariva Radio · portada y componentes; el contenido sigue siendo editable. */
:root {
  --sr-ink: #07384D;
  --sr-night: #001d2b;
  --sr-deep: #001620;
  --sr-paper: #fff8ea;
  --sr-cream: #F6E9CC;
  --sr-coral: #F47A5C;
  --sr-sky: #69B2D3;
  --sr-slate: #b7cdd5;
  --sr-width: 1280px;
  --sr-radius: 1.35rem;
  --sr-radius-small: .85rem;
  --sr-header-offset: 6.5rem;
  --sr-hero-player-radius: var(--sr-radius);
}
html { scroll-behavior: smooth; }
body { overflow-x: clip; }
a, button, input, select, textarea { -webkit-tap-highlight-color: transparent; }
:where(a, button, input, select, textarea, summary):focus-visible { outline: 3px solid var(--sr-sky); outline-offset: 4px; }
:where(h1,h2,h3,h4) em { font-style: normal; }
.sr-site-header { position: sticky; top: 0; z-index: 30; background: rgba(0, 25, 38, .95); border-bottom: 1px solid rgba(255,255,255,.11); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); color: var(--sr-paper); }
.sr-site-header .sr-header-inner { max-width: var(--sr-width); min-height: 72px; padding: 12px clamp(1.25rem,4vw,3rem); gap: 1rem; }
.sr-site-header .sr-brand { min-width: 0; flex: 0 0 auto; gap: .5rem; }
.sr-site-header .wp-block-site-logo { margin: 0; }
.sr-site-header .wp-block-site-logo img { display: block; width: 145px; max-height: 49px; object-fit: contain; }
.sr-brand .wp-block-site-logo + .sr-brand-name { display: none; }
.sr-brand-name { font: 800 1.5rem/1 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.06em; margin: 0; }
.sr-site-header .sr-nav { font: 700 .9rem/1.2 var(--wp--preset--font-family--display, Outfit, sans-serif); gap: clamp(.75rem,1.7vw,1.8rem); }
.sr-site-header .wp-block-navigation-item__content:hover, .sr-footer-nav a:hover { color: var(--sr-sky); }
.sr-site-header .wp-block-navigation__responsive-container.is-menu-open { color: var(--sr-paper); background: var(--sr-night); padding: 1.5rem; }
.sr-site-header .wp-block-navigation__responsive-container-close { color: var(--sr-paper); }
.sr-header-actions { gap: 1.25rem; }
.sr-live-indicator { display: none; align-items: center; gap: .5rem; font-family: var(--wp--preset--font-family--display, Outfit, sans-serif); font-weight: 800; letter-spacing: .1em; font-size: .68rem !important; white-space: nowrap; }
.sr-live-indicator::before, .sr-live-kicker span { content: ''; display: inline-block; width: 7px; height: 7px; background: var(--sr-coral); border-radius: 50%; color: transparent; box-shadow: 0 0 0 5px rgba(245,122,96,.15); }
.sr-header-cta .wp-block-button__link { padding: .72rem 1rem; font-size: .78rem; white-space: nowrap; }
.sr-home > .wp-block-group { margin-block: 0; }
.sr-hero { position: relative; overflow: hidden; min-height: min(850px,calc(100svh - 72px)); display: flex; align-items: end; background: linear-gradient(90deg,rgba(0,20,31,.98) 1%,rgba(0,24,36,.90) 38%,rgba(0,25,38,.40) 100%), linear-gradient(0deg,#001d2b 0%,transparent 47%), url('../images/estudio-editorial.webp') center 43% / cover no-repeat; color: var(--sr-paper); }
.sr-hero::after { content: ''; pointer-events: none; position: absolute; inset: auto -15% -36% 25%; height: 60%; background: radial-gradient(ellipse,rgba(64,153,187,.15),transparent 65%); }
.sr-hero-inner { z-index: 1; position: relative; width: 100%; max-width: var(--sr-width) !important; padding: clamp(4rem,10vw,9rem) clamp(1.25rem,4vw,3rem) 1.5rem; margin-inline: auto; }
.sr-hero-inner > * { max-width: none !important; }
.sr-kicker { margin: 0 0 1.15rem; color: var(--sr-sky); font: 800 .7rem/1.3 var(--wp--preset--font-family--display, Outfit, sans-serif); text-transform: uppercase; letter-spacing: .18em; }
.sr-live-kicker { display: flex; align-items: center; gap: .65rem; color: var(--sr-cream); }
.sr-hero-title { margin: 0; max-width: 940px !important; font: 880 clamp(3.6rem,8.2vw,8.15rem)/.96 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.055em; text-wrap: balance; }
.sr-hero-title em { color: #9cdbef; }
.sr-section-title em, .sr-connect-title em { color: var(--sr-sky); }
.sr-hero-intro { margin: 1.25rem 0 1.9rem; color: #d9e7e9; font-size: clamp(1rem,1.5vw,1.22rem); }
.sr-hero-bottom { display: flex; justify-content: space-between; gap: .75rem; margin-top: 1.5rem; padding-top: 1.1rem; border-top: 1px solid rgba(255,255,255,.18); font-size: .84rem; color: #c1d4db; }
.sr-hero-bottom p { margin: 0; }
.sr-hero-bottom a { color: var(--sr-paper); font-weight: 700; }
.sr-hero-bottom a:hover { color: var(--sr-sky); }
/* Player: el control nativo se conserva y es operable con teclado. */
.sr-player { width: min(100%,1200px); min-height: clamp(260px, 25vw, 315px); box-sizing: border-box; position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: clamp(1.7rem,3.5vw,3rem); padding: clamp(2.15rem,4vw,4rem); background: rgba(3,49,69,.95); border: 1px solid rgba(183,205,213,.32); border-radius: var(--sr-hero-player-radius); box-shadow: 0 24px 56px rgba(0,0,0,.25); }
.sr-player-top { flex: 1 1 260px; min-width: 0; }
.sr-player-label { color: var(--sr-sky); font: 800 .7rem/1.3 var(--wp--preset--font-family--display, Outfit, sans-serif); text-transform: uppercase; letter-spacing: .14em; margin: 0 0 .4rem; }
.sr-player-name { color: var(--sr-paper); font: 800 clamp(1.4rem,2.2vw,2.15rem)/1.08 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.04em; margin: 0; }
.sr-player-controls { display: flex; align-items: center; flex: 1 1 240px; gap: .9rem; min-width: 0; }
.sr-player-btn { border: 0; border-radius: 50%; width: clamp(5.5rem,6.7vw,6.3rem); height: clamp(5.5rem,6.7vw,6.3rem); display: inline-grid; place-items: center; flex: 0 0 auto; background: var(--sr-coral); color: var(--sr-night); cursor: pointer; transition: transform .2s ease,background .2s ease; }
.sr-player-btn:hover { background: #ffad99; transform: scale(1.045); }
.sr-player-btn svg { width: 1.35rem; height: 1.35rem; }
.sr-player-status { color: #d5e4e8; font-size: .85rem; margin: 0; }
.sr-player-audio { width: 100%; max-width: 100%; min-width: 180px; accent-color: var(--sr-coral); }
.sr-wave { display: flex; align-items: center; gap: 4px; height: 2rem; color: var(--sr-sky); }
.sr-wave > * { display: block; width: 3px; height: 40%; background: currentColor; border-radius: 999px; }
.sr-wave > :nth-child(3n+1) { height: 82%; }
.sr-wave > :nth-child(3n+2) { height: 55%; }
.sr-section { padding: clamp(6.5rem,11vw,11rem) clamp(1.25rem,4vw,3rem); }
.sr-section > * { max-width: var(--sr-width) !important; margin-left: auto !important; margin-right: auto !important; }
.sr-section-heading { margin: 0 0 clamp(2rem,4vw,3.4rem) !important; }
.sr-section-title { margin: 0; font: 800 clamp(2.4rem,5vw,4.9rem)/1.02 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.055em; text-wrap: balance; }
.sr-section-intro { color: inherit; opacity: .8; font-size: 1.05rem; }
.sr-section-link { margin-top: 2rem !important; font: 700 1rem/1.4 var(--wp--preset--font-family--display, Outfit, sans-serif); }
.sr-section-link a { display: inline-block; padding-bottom: .28rem; border-bottom: 1px solid currentColor; text-decoration: none; }
.sr-section-link a:hover { color: var(--sr-coral); }
.sr-on-air, .sr-magazine { background: var(--sr-paper); color: var(--sr-ink); }
.sr-on-air .sr-kicker, .sr-magazine .sr-kicker { color: #1d789e; }
.sr-on-air .sr-section-title em, .sr-magazine .sr-section-title em { color: #287da2; }
.sr-programs { background: var(--sr-night); color: var(--sr-paper); padding-bottom: clamp(8rem,13vw,13rem); }
.sr-episodes { background: #062c3d; color: var(--sr-paper); padding-top: clamp(8rem,13vw,13rem); }
.sr-data-grid, .sr-mag-grid { display: grid; grid-template-columns: repeat(1,minmax(0,1fr)); gap: 1rem; }
.sr-data-card { min-width: 0; overflow: hidden; border: 1px solid rgba(105,181,216,.22); border-radius: var(--sr-radius); background: #07384d; color: var(--sr-paper); }
.sr-data-card a { color: inherit; }
.sr-data-card a:hover .sr-data-title { color: var(--sr-sky); }
.sr-data-image { position: relative; overflow: hidden; aspect-ratio: 16 / 10; background: linear-gradient(135deg,#075271,#0a3142); }
.sr-data-image img, img.sr-data-image { display: block; width: 100%; height: 100%; object-fit: cover; }
.sr-data-body { padding: 1.3rem; }
.sr-data-kicker { display: block; color: var(--sr-sky); font: 800 .68rem/1.3 var(--wp--preset--font-family--display, Outfit, sans-serif); text-transform: uppercase; letter-spacing: .12em; }
.sr-data-title { margin: .45rem 0; font: 750 clamp(1.2rem,2vw,1.65rem)/1.1 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.025em; }
.sr-data-meta { color: #b9d2da; font-size: .85rem; }
.sr-on-air .sr-data-card, .sr-magazine .sr-data-card { background: #fff; border-color: #ddd8ca; color: var(--sr-ink); box-shadow: 0 8px 32px rgba(0,32,48,.06); }
.sr-on-air .sr-data-kicker, .sr-magazine .sr-data-kicker { color: #277b9f; }
.sr-on-air .sr-data-meta, .sr-magazine .sr-data-meta { color: #4e7180; }
.sr-empty { padding: 1.2rem 1.4rem; border: 1px solid currentColor; border-radius: var(--sr-radius); opacity: .8; }
.sr-tv { background: var(--sr-night); color: var(--sr-paper); }
.sr-tv-card { position: relative; overflow: hidden; isolation: isolate; padding: clamp(2rem,6vw,5rem); border-radius: var(--sr-radius); background: linear-gradient(120deg,rgba(0,43,64,.98),rgba(0,43,64,.7)), url('../images/estudio-editorial.webp') center / cover; border: 1px solid rgba(105,181,216,.25); }
.sr-tv-card::after { content: 'TV'; position: absolute; z-index: -1; right: clamp(1rem,4vw,4rem); bottom: -2rem; font: 900 clamp(7rem,22vw,18rem)/1 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.1em; color: rgba(105,181,216,.13); }
.sr-tv-card .sr-section-title { font-size: clamp(3rem,7vw,6.5rem); }
.sr-tv-intro { color: #d5e4e8; font-size: 1.15rem; }
.sr-tv-actions { margin-top: 2rem; }
.sr-button-light .wp-block-button__link { background: var(--sr-cream); color: var(--sr-ink); }
.sr-button-dark .wp-block-button__link { background: var(--sr-ink); color: var(--sr-paper); }
.sr-button-light .wp-block-button__link:hover, .sr-button-dark .wp-block-button__link:hover, .sr-header-cta .wp-block-button__link:hover { background: var(--sr-sky); color: var(--sr-night); }
.sr-connect { background: var(--sr-cream); color: var(--sr-ink); }
.sr-connect-columns { gap: 1rem; }
.sr-connect-card { box-sizing: border-box; padding: clamp(1.75rem,4vw,3.5rem); border-radius: var(--sr-radius); }
.sr-connect-newsletter { background: var(--sr-paper); }
.sr-connect-app { background: var(--sr-ink); color: var(--sr-paper); }
.sr-connect-title { margin: 0; font: 800 clamp(2rem,3.5vw,3.5rem)/1.02 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.045em; }
.sr-connect-newsletter .sr-kicker { color: #24799d; }
.sr-connect-newsletter .sr-connect-title em { color: #24799d; }
.sr-connect-card .wp-block-buttons { margin-top: 1.8rem; }
.sr-site-footer { background: var(--sr-deep); color: var(--sr-paper); padding: clamp(3rem,6vw,5rem) clamp(1.25rem,4vw,3rem) 1.5rem; }
.sr-footer-inner, .sr-footer-bottom { max-width: var(--sr-width); margin-inline: auto; }
.sr-footer-brand > .wp-block-site-title { margin: 0; font-family: var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.05em; }
.sr-footer-brand > p { color: var(--sr-slate); }
.sr-footer-nav { font-family: var(--wp--preset--font-family--display, Outfit, sans-serif); font-weight: 700; }
.sr-footer-bottom { margin-top: 3rem; padding-top: 1.2rem; border-top: 1px solid rgba(255,255,255,.14); color: var(--sr-slate); }
.sr-footer-bottom p { margin: 0; }
@media (min-width: 600px) {
  .sr-data-grid, .sr-mag-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (min-width: 960px) {
  .sr-live-indicator { display: flex; }
  .sr-data-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .sr-mag-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
}
@media (max-width: 781px) {
  .sr-site-header .sr-header-inner { min-height: 64px; }
  .sr-header-actions { margin-left: auto; }
  .sr-header-cta .wp-block-button__link { padding: .65rem .8rem; font-size: .72rem; }
  .sr-site-header .wp-block-site-logo img { width: 120px; }
  .sr-hero { min-height: 0; background-position: 58% center; }
  .sr-hero-inner { padding-top: 5rem; padding-bottom: 1.5rem; }
  .sr-player { gap: .9rem; }
  .sr-connect-columns { gap: 1rem; }
}
@media (max-width: 400px) {
  .sr-header-cta { display: none; }
  .sr-hero-title { font-size: 3.05rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Mantener la cabecera fija y las etiquetas del botón disponibles para lectores de pantalla. */
.wp-site-blocks > .wp-block-template-part:first-child:has(.sr-site-header) { position: sticky; top: 0; z-index: 30; }
.sr-player-btn b { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.sr-player-btn > span { font-size: 1.35rem; }

.sr-has-js .sr-player-audio { display: none; }
.sr-volume { flex: 1; min-width: 130px; display: grid; gap: .55rem; }
.sr-volume[hidden] { display: none; }
.sr-volume-title { font: 800 .72rem/1 var(--wp--preset--font-family--display, Outfit, sans-serif); color: var(--sr-paper); letter-spacing: .12em; }
.sr-volume label { display: flex; align-items: center; gap: .65rem; font-size: .75rem; color: #d5e4e8; }
.sr-volume input { flex: 1; min-width: 0; max-width: 170px; accent-color: var(--sr-coral); }
/* Las secciones de portada alcanzan los bordes y los títulos conservan su alineación. */
.wp-site-blocks { padding: 0 !important; }
.sr-hero-inner > * { margin-left: 0 !important; margin-right: 0 !important; }

/* Ritmo, navegación y señal. */
:where(#directo, #programacion, #programas, #a-la-carta, #tv, #magazine, #conecta) { scroll-margin-top: var(--sr-header-offset); }
.sr-live-indicator { padding: .48rem .72rem; border: 1px solid rgba(244,122,92,.45); border-radius: 999px; background: rgba(244,122,92,.1); color: var(--sr-paper); }
.sr-live-indicator::before, .sr-live-kicker span { width: 8px; height: 8px; animation: sr-live-pulse 2.4s ease-in-out infinite; }
@keyframes sr-live-pulse { 0%, 100% { box-shadow: 0 0 0 3px rgba(244,122,92,.14); } 50% { box-shadow: 0 0 0 7px rgba(244,122,92,.08); } }
.sr-live-kicker { color: var(--sr-paper); font-size: .78rem; }
.sr-player { isolation: isolate; border-color: rgba(156,219,239,.4); }
.sr-player-label { color: #b2e8f5; font-size: .76rem; }
.sr-player-name { font-size: clamp(1.7rem, 2.8vw, 2.65rem); }
.sr-player-status { margin-top: .35rem; font-size: 1rem; }
.sr-player-controls { gap: clamp(1rem,2.5vw,2rem); }
.sr-volume-title { font-size: .8rem; color: #fff8ea; }
.sr-volume label { font-size: .86rem; }
.sr-player-btn { box-shadow: 0 8px 24px rgba(0,0,0,.17); }
.sr-player-btn > span { font-size: 1.6rem; }

/* Todas las tarjetas comparten altura y una acción que permanece visible. */
.sr-program-grid { align-items: stretch; }
.sr-program-card { height: 100%; transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.sr-program-card > a { height: 100%; display: flex; flex-direction: column; text-decoration: none; }
.sr-program-card .sr-data-body { display: flex; flex: 1; flex-direction: column; }
.sr-program-card .sr-data-body::after { content: 'Descubrir programa'; align-self: flex-start; margin-top: auto; padding: .75rem 0 .15rem; color: #b4e3f2; font-size: .85rem; font-weight: 700; }
.sr-program-card:hover, .sr-program-card:focus-within { transform: translateY(-8px); box-shadow: 0 24px 48px rgba(0,0,0,.24); border-color: #b2e8f5; }
.sr-program-card:hover .sr-data-body::after, .sr-program-card:focus-within .sr-data-body::after { color: #fff8ea; text-decoration: underline; text-underline-offset: .25em; }

/* A la carta: una portada amplia y una jerarquía clara para el episodio principal. */
.sr-episode-feature { display: grid; overflow: hidden; border-radius: var(--sr-radius); border: 1px solid rgba(156,219,239,.28); background: #07384d; box-shadow: 0 20px 45px rgba(0,0,0,.15); }
.sr-episode-feature__art { position: relative; min-height: 220px; aspect-ratio: 16/10; display: grid; place-items: center; overflow: hidden; background: linear-gradient(135deg, #0b5b78, #00293c); }
.sr-episode-feature__art img { width: 100%; height: 100%; position: absolute; inset: 0; object-fit: cover; }
.sr-episode-feature__art img.sr-episode-feature__logo, .sr-episode-feature__art img.sr-episode-feature__fallback { object-fit: contain; padding: 20%; }
.sr-episode-feature__content { min-width: 0; display: flex; flex-direction: column; justify-content: center; gap: 1rem; padding: clamp(1.75rem,4vw,3.5rem); }
.sr-episode-feature__eyebrow { margin: 0; color: #b2e8f5; font: 800 .76rem/1.3 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: .12em; text-transform: uppercase; }
.sr-episode-feature__title { margin: 0; color: var(--sr-paper); font: 800 clamp(2rem,4vw,3.6rem)/1.03 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.045em; text-wrap: balance; }
.sr-episode-feature__meta { color: #d5e4e8; display: flex; flex-wrap: wrap; align-items: center; gap: .65rem; font-size: .95rem; }
.sr-episode-feature__duration { color: var(--sr-paper); padding: .28rem .55rem; border-radius: 999px; background: rgba(255,255,255,.09); }
.sr-episode-feature__audio { width: 100%; margin-top: .5rem; min-height: 54px; accent-color: var(--sr-coral); }
.sr-episode-list { display: grid; gap: 1rem; margin-top: 1rem; }
.sr-episode-list__item { min-width: 0; padding: 1.4rem; border-radius: var(--sr-radius); background: #07384d; border: 1px solid rgba(156,219,239,.2); }
.sr-episode-list__item audio { width: 100%; margin-top: .75rem; }

/* Bloque TV como pieza editorial y llamada a la acción de alto contraste. */
.sr-tv-card { min-height: clamp(380px,45vw,540px); display: flex; flex-direction: column; justify-content: center; align-items: flex-start; border-radius: var(--sr-radius); background: radial-gradient(ellipse at 85% 40%,rgba(105,178,211,.30),transparent 42%), linear-gradient(115deg,#063e55 0%,#001d2b 85%); box-shadow: 0 22px 50px rgba(0,0,0,.22); }
.sr-tv-card::before { content: ''; position: absolute; z-index: -1; right: clamp(1rem,6vw,6rem); top: 12%; width: 42%; aspect-ratio: 16/10; border: 2px solid rgba(156,219,239,.35); border-radius: var(--sr-radius); background: url('../images/logo-tv-inverso.svg') center / 55% auto no-repeat, linear-gradient(rgba(0,30,45,.56),rgba(0,30,45,.56)), url('../images/tv-editorial.webp') center / cover no-repeat; box-shadow: 0 35px 70px rgba(0,0,0,.3); transform: rotate(-3deg); }
.sr-tv-card::after { right: clamp(2rem,8vw,7rem); bottom: 0; color: rgba(156,219,239,.14); }
.sr-tv-actions .wp-block-button__link { display: inline-block; padding: 1.05rem 1.55rem; background: var(--sr-coral); color: var(--sr-night); font-size: 1rem; font-weight: 800; box-shadow: 0 8px 25px rgba(0,0,0,.18); }
.sr-tv-actions .wp-block-button__link:hover { background: #ffad99; color: var(--sr-night); }

/* La imagen acompaña al titular real; el recorte visual no modifica el título original. */
.sr-mag-card .sr-data-image::after { content: ''; pointer-events: none; position: absolute; inset: 0; background: rgba(0,29,43,.12); opacity: 0; transition: opacity .3s ease; }
.sr-mag-card { transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease; }
.sr-mag-card:hover, .sr-mag-card:focus-within { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0,32,48,.16); border-color: #69b2d3; }
.sr-mag-card .sr-data-image img { transition: transform .4s ease; }
.sr-mag-card:hover .sr-data-image img, .sr-mag-card:focus-within .sr-data-image img { transform: scale(1.05); }
.sr-mag-card:hover .sr-data-image::after, .sr-mag-card:focus-within .sr-data-image::after { opacity: 1; }
.sr-mag-card .sr-data-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden; }

@media (min-width: 760px) {
  .sr-episode-feature { grid-template-columns: 46% 54%; }
  .sr-episode-feature__art { min-height: 100%; aspect-ratio: auto; }
  .sr-episode-list { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 781px) {
  .sr-hero-inner { padding-top: 4.5rem; }
  .sr-player { min-height: 285px; padding: clamp(1.8rem,6vw,2.4rem); }
  .sr-player-controls { flex-basis: 100%; }
  .sr-tv-card { min-height: 450px; justify-content: flex-end; }
  .sr-tv-card::before { width: 70%; top: 6%; right: 6%; opacity: .72; }
  .sr-tv-card > * { position: relative; z-index: 1; }
}
@media (max-width: 400px) {
  .sr-player { min-height: 270px; padding: 1.65rem; }
  .sr-player-btn { width: 5.15rem; height: 5.15rem; }
  .sr-hero-title { font-size: clamp(2.55rem,12.4vw,3.3rem); }
}
@media (prefers-reduced-motion: reduce) {
  .sr-live-indicator::before, .sr-live-kicker span { animation: none; }
  .sr-program-card:hover, .sr-program-card:focus-within, .sr-mag-card:hover, .sr-mag-card:focus-within, .sr-mag-card:hover .sr-data-image img, .sr-mag-card:focus-within .sr-data-image img { transform: none; }
}
.sr-program-card .sr-data-body::after { margin-top: 1rem; padding: .6rem .9rem; border-radius: 999px; border: 1px solid rgba(156,219,239,.4); background: rgba(105,178,211,.08); }
.sr-program-card:hover .sr-data-body::after, .sr-program-card:focus-within .sr-data-body::after { color: var(--sr-night); background: var(--sr-cream); border-color: var(--sr-cream); text-decoration: none; }
.sr-episode-feature__audio span { display: block; margin-bottom: .6rem; font-size: .85rem; font-weight: 700; color: #d5e4e8; }
.sr-episode-feature__audio audio { display: block; width: 100%; min-height: 54px; accent-color: var(--sr-coral); }
.sr-episode-list__title { margin: .4rem 0; font: 800 1.2rem/1.15 var(--wp--preset--font-family--display, Outfit, sans-serif); color: var(--sr-paper); }

/* En pantallas de escritorio poco altas, el directo permanece visible al entrar. */
@media (min-width: 901px) and (max-height: 850px) {
  .sr-hero { align-items: flex-start; }
  .sr-hero-inner { padding-top: 2.5rem; }
  .sr-hero-title { font-size: clamp(3.6rem, 6.9vw, 6rem); }
  .sr-hero-intro { margin: .9rem 0 1.2rem; }
  .sr-player { min-height: 260px; }
}

/* Radio en directo: la señal es continua; la onda es decorativa, no una barra de progreso. */
.sr-player {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) 64px minmax(0, 1fr);
  align-items: center;
  column-gap: clamp(1.25rem, 3vw, 3rem);
  row-gap: .75rem;
  width: min(100%, 1200px);
  min-height: 128px;
  padding: 20px clamp(22px, 3vw, 36px);
  border-radius: 20px;
  background: rgba(0, 28, 41, .94);
  border: 1px solid rgba(156, 219, 239, .32);
  box-shadow: 0 20px 42px rgba(0, 0, 0, .34);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}
.sr-player:not(.sr-has-js) { grid-template-columns: minmax(0, 1fr) minmax(220px, 1fr); }
.sr-player:not(.sr-has-js) .sr-player-center { display: none; }
.sr-player-btn[hidden] { display: none !important; }
.sr-player-identity { min-width: 0; display: flex; align-items: center; gap: 1rem; }
.sr-player-logo { display: grid; place-items: center; flex: 0 0 72px; width: 72px; height: 58px; border-radius: 14px; background: rgba(105, 178, 211, .1); }
.sr-player-logo img { display: block; width: 62px; height: auto; max-height: 38px; object-fit: contain; }
.sr-player-copy { min-width: 0; }
.sr-station-name { margin: 0; color: var(--sr-paper); font: 800 clamp(1.15rem, 1.7vw, 1.55rem)/1.08 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: -.035em; }
.sr-player-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: .24rem 0 0; color: #c0e7f1; font: 700 .82rem/1.2 var(--wp--preset--font-family--body, Inter, sans-serif); }
.sr-player-status { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; margin: .22rem 0 0; color: #c9dbe0; font-size: .72rem; line-height: 1.2; }
.sr-player-center { display: grid; place-items: center; }
.sr-player-btn { width: 64px; height: 64px; min-width: 64px; min-height: 64px; }
.sr-player-signal { min-width: 0; display: grid; gap: .45rem; }
.sr-signal-row { display: flex; align-items: center; gap: 1rem; }
.sr-wave { flex: 1 1 0; min-width: 50px; height: 32px; gap: clamp(2px, .26vw, 3px); overflow: hidden; color: #9bd9ef; }
.sr-wave > * { flex: 1 1 5px; width: auto; min-width: 3px; max-width: 9px; }
.sr-onair-label { display: inline-flex; align-items: center; gap: .55rem; flex: 0 0 auto; padding: .55rem .7rem; border: 1px solid rgba(244,122,92,.48); border-radius: 999px; background: rgba(244,122,92,.11); color: var(--sr-paper); font: 800 .72rem/1 var(--wp--preset--font-family--display, Outfit, sans-serif); letter-spacing: .11em; white-space: nowrap; }
.sr-onair-label > span { width: 9px; height: 9px; border-radius: 50%; background: var(--sr-coral); box-shadow: 0 0 0 4px rgba(244, 122, 92, .14); }
.sr-player-signal .sr-volume { min-width: 0; }
.sr-player-signal .sr-volume label { gap: .6rem; font-size: .72rem; line-height: 1; }
.sr-player-signal .sr-volume input { max-width: none; width: 100%; }
.sr-player-signal .sr-player-audio { min-width: 0; max-width: 100%; height: 38px; }
.sr-programs { padding-bottom: clamp(8.5rem, 13.5vw, 13.5rem); }
.sr-episodes { padding-top: clamp(8.5rem, 13.5vw, 13.5rem); }
@media (max-width: 720px) {
  .sr-player, .sr-player:not(.sr-has-js) { grid-template-columns: minmax(0, 1fr) 64px; grid-template-areas: 'identity play' 'signal signal'; min-height: 0; padding: 20px; gap: 1rem; }
  .sr-player-identity { grid-area: identity; gap: .8rem; }
  .sr-player-center { grid-area: play; }
  .sr-player-signal { grid-area: signal; }
  .sr-player:not(.sr-has-js) { grid-template-areas: 'identity identity' 'signal signal'; }
  .sr-player-logo { flex-basis: 62px; width: 62px; height: 54px; }
  .sr-player-logo img { width: 54px; }
  .sr-player-btn { width: 64px; height: 64px; }
  .sr-wave { min-width: 100px; }
}
@media (prefers-reduced-motion: no-preference) {
  .sr-player.is-playing .sr-onair-label > span { animation: sr-player-pulse 2.4s ease-in-out infinite; }
  @keyframes sr-player-pulse { 50% { box-shadow: 0 0 0 7px rgba(244, 122, 92, .05); } }
}

/* Si falla la señal, los controles nativos siguen disponibles. */
.sr-has-js.has-player-error .sr-player-audio { display: block; }
.sr-has-js.has-player-error .sr-volume { display: none; }

/* La portada del tema hijo conserva sus bordes completos con el tema padre. */
body.home.wp-child-theme-sonariva-radio { padding-left: 0 !important; padding-right: 0 !important; }
.wp-site-blocks > .sr-home { margin-block-start: 0 !important; }

/* En navegación continua, la página clásica aporta su propia cabecera y pie. */
html.sr-hybrid-legacy-view .wp-site-blocks > .wp-block-template-part { display: none; }

/* The whole home shell travels with the persistent player between radio pages. */
.sr-home > .wp-block-template-part:has(.sr-site-header) { position: sticky; top: 0; z-index: 30; }
/* Baseline for the home when it is inserted into a previously loaded classic page. */
.sr-home { color: var(--sr-paper); background: var(--sr-night); font-family: var(--wp--preset--font-family--body, Inter, sans-serif); font-size: 1rem; line-height: 1.6; }
.sr-home :where(h1,h2,h3,h4,h5,h6) { font-family: var(--wp--preset--font-family--display, Outfit, sans-serif); font-weight: 800; line-height: 1.05; letter-spacing: -.035em; }
.sr-home :where(.wp-block-button__link) { background: var(--sr-coral); color: var(--sr-night); border-radius: 999px; font-family: var(--wp--preset--font-family--display, Outfit, sans-serif); font-weight: 700; padding: .8rem 1.4rem; }
.sr-home .sr-header-inner { flex-wrap: nowrap; justify-content: space-between; align-items: center; }
.sr-home .sr-brand, .sr-home .sr-header-actions { flex-wrap: nowrap; align-items: center; }
.sr-home .sr-nav { justify-content: center; }
.sr-home .sr-footer-inner { justify-content: space-between; align-items: flex-start; }
.sr-home .sr-footer-bottom, .sr-home .sr-hero-bottom { justify-content: space-between; }
.sr-home .sr-footer-nav { flex-direction: column; align-items: flex-start; }
.sr-home :where(a) { color: inherit; text-decoration: none; }
.sr-program-card .sr-data-image .sr-program-logo { object-fit: contain; padding: 1.5rem; box-sizing: border-box; }
/* Aísla el pie de bloques de las reglas generales del tema clásico. */
.sr-home footer.sr-site-footer {
  display: block;
  box-sizing: border-box;
  width: 100%;
  max-width: none;
  min-height: 0;
  margin: 0;
  padding: clamp(3rem, 6vw, 5rem) clamp(1.25rem, 4vw, 3rem) 1.5rem;
}
.sr-home footer.sr-site-footer > .sr-footer-inner,
.sr-home footer.sr-site-footer > .sr-footer-bottom {
  box-sizing: border-box;
  width: 100%;
  max-width: var(--sr-width, 1280px);
  margin-left: auto;
  margin-right: auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 1.5rem 3rem;
  font-size: inherit;
  font-weight: inherit;
}
.sr-home footer.sr-site-footer > .sr-footer-inner {
  align-items: flex-start;
}
.sr-home footer.sr-site-footer > .sr-footer-bottom {
  margin-top: 3rem;
  align-items: center;
}
.sr-home .sr-footer-brand { min-width: 0; }
.sr-home .sr-footer-nav { flex-shrink: 0; }
@media (max-width: 600px) {
  .sr-home footer.sr-site-footer > .sr-footer-inner,
  .sr-home footer.sr-site-footer > .sr-footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }
}
main.sr-home > footer.wp-block-template-part:not(.delivery-footer):not(.tv-footer) { display: block; width: 100%; max-width: none; min-height: 0; margin: 0; padding: 0; border: 0; }
.sr-home footer.sr-site-footer > .sr-footer-inner, .sr-home footer.sr-site-footer > .sr-footer-bottom { justify-content: flex-start; column-gap: clamp(3rem, 12vw, 10rem); }
