/* Pulso Peru UI — mobile first, compatible con Bootstrap 5 */
:root {
  --pp-red: #dc3545;
  --pp-red-dark: #bb2d3b;
  --pp-ivory: #f8f9fa;
  --pp-night: #212529;
  --pp-night-soft: #343a40;
  --pp-gold: #ffc107;
  --pp-turquoise: #0dcaf0;
  --pp-ink: #212529;
  --pp-muted: #6c757d;
  --pp-surface: #ffffff;
  --pp-line: #dee2e6;
  --pp-success: #198754;
  --pp-danger: #dc3545;
  --pp-radius-sm: .65rem;
  --pp-radius: 1rem;
  --pp-radius-lg: 1.5rem;
  --pp-shadow-sm: 0 5px 18px rgba(16, 29, 54, .08);
  --pp-shadow: 0 18px 45px rgba(16, 29, 54, .13);
  --pp-container: 1240px;
  --pp-player-height: 5.25rem;
  --pp-transition: 180ms ease;
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  color: var(--pp-ink);
  background: var(--pp-ivory);
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif;
  line-height: 1.55;
  padding-bottom: var(--pp-player-offset, 0);
}
body.has-radio-player { --pp-player-offset: calc(var(--pp-player-height) + .75rem); }
img { max-width: 100%; height: auto; }
a { color: var(--pp-red); text-decoration: none; }
a:hover { color: var(--pp-red-dark); }
button, input, select, textarea { font: inherit; }
:focus-visible { outline: 3px solid rgba(16, 169, 161, .42); outline-offset: 2px; }
.pp-container { width: min(100% - 2rem, var(--pp-container)); margin-inline: auto; }
.pp-section { padding-block: 4rem; }
.pp-section + .pp-section { border-top: 1px solid var(--pp-line); }
.pp-section--white { background: var(--pp-surface); }
.pp-kicker { color: var(--pp-red); font-size: .75rem; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.pp-title { margin: .35rem 0 1rem; color: var(--pp-night); font-size: clamp(1.75rem, 5vw, 3rem); line-height: 1.08; font-weight: 850; }
.pp-muted { color: var(--pp-muted); }

/* Header */
.pp-header { position: sticky; z-index: 1030; top: 0; color: var(--pp-ink); background: #fff; border-bottom: 1px solid var(--pp-line); box-shadow: 0 .25rem .75rem rgba(0,0,0,.06); }
.pp-header__inner { min-height: 4.5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; }
.pp-brand { display: inline-flex; align-items: center; gap: .65rem; color: var(--pp-red); font-size: 1.15rem; font-weight: 900; letter-spacing: -.02em; }
.pp-brand:hover { color: var(--pp-red-dark); }
.pp-brand__mark { width: 2.4rem; aspect-ratio: 1; display: grid; place-items: center; border-radius: 50%; background: var(--pp-red); box-shadow: inset 0 0 0 4px rgba(255,255,255,.15); }
.pp-nav { display: none; align-items: center; gap: .25rem; }
.pp-nav a { padding: .55rem .8rem; border-radius: 99px; color: var(--pp-muted); font-size: .9rem; font-weight: 700; }
.pp-nav a:hover, .pp-nav a.active, .pp-nav a[aria-current="page"] { color: var(--pp-red); background: #f8d7da; }
.pp-menu-toggle { width: 2.75rem; height: 2.75rem; border: 1px solid var(--pp-line); border-radius: .7rem; color: var(--pp-ink); background: #fff; }
.pp-nav.is-open { position: absolute; inset: 100% 1rem auto; display: grid; padding: .75rem; border: 1px solid var(--pp-line); border-radius: 0 0 1rem 1rem; background: #fff; box-shadow: var(--pp-shadow); }

/* Hero */
.pp-hero { position: relative; isolation: isolate; overflow: hidden; color: #fff; background: var(--pp-red); }
.pp-hero::before { content: ""; position: absolute; z-index: -2; inset: 0; background: var(--pp-red); }
.pp-hero::after { display: none; }
.pp-hero__inner { min-height: 32rem; display: grid; align-items: center; gap: 2rem; padding-block: 4.25rem; }
.pp-hero h1 { max-width: 13ch; margin: .5rem 0 1rem; font-size: clamp(2.5rem, 10vw, 5.6rem); line-height: .94; letter-spacing: -.055em; }
.pp-hero p { max-width: 42rem; color: rgba(255,255,255,.78); font-size: 1.05rem; }
.pp-hero__search { max-width: 42rem; display: flex; padding: .4rem; border: 1px solid rgba(255,255,255,.18); border-radius: 999px; background: #fff; box-shadow: var(--pp-shadow); }
.pp-hero__search input { min-width: 0; flex: 1; padding: .7rem 1rem; border: 0; outline: 0; background: transparent; }

/* Buttons and chips */
.pp-btn { display: inline-flex; min-height: 2.75rem; align-items: center; justify-content: center; gap: .5rem; padding: .7rem 1.1rem; border: 1px solid transparent; border-radius: 999px; font-weight: 800; cursor: pointer; transition: transform var(--pp-transition), background var(--pp-transition), box-shadow var(--pp-transition); }
.pp-btn:hover { transform: translateY(-1px); }
.pp-btn--primary { color: #fff; background: var(--pp-red); box-shadow: 0 8px 20px rgba(215,25,32,.28); }
.pp-btn--primary:hover { color: #fff; background: var(--pp-red-dark); }
.pp-btn--turquoise { color: #fff; background: var(--pp-turquoise); }
.pp-btn--ghost { color: var(--pp-night); border-color: var(--pp-line); background: #fff; }
.pp-chip { display: inline-flex; align-items: center; gap: .35rem; padding: .38rem .7rem; border-radius: 99px; color: var(--pp-night); background: #fff; box-shadow: var(--pp-shadow-sm); font-size: .78rem; font-weight: 800; }
.pp-live { color: #fff; background: var(--pp-red); }
.pp-live::before { content: ""; width: .45rem; aspect-ratio: 1; border-radius: 50%; background: #fff; animation: pp-pulse 1.4s infinite; }
@keyframes pp-pulse { 50% { opacity: .35; transform: scale(.75); } }

/* Search and filters */
.pp-filterbar { display: grid; gap: .75rem; margin-bottom: 1.5rem; padding: 1rem; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); background: rgba(255,255,255,.88); box-shadow: var(--pp-shadow-sm); }
.pp-field { width: 100%; min-height: 2.8rem; padding: .65rem .85rem; border: 1px solid #d7dce4; border-radius: .75rem; color: var(--pp-ink); background: #fff; }
.pp-field:focus { border-color: var(--pp-turquoise); box-shadow: 0 0 0 .2rem rgba(16,169,161,.14); outline: 0; }
.pp-filter-pills { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: thin; padding-bottom: .25rem; }
.pp-filter { flex: 0 0 auto; padding: .55rem .85rem; border: 1px solid var(--pp-line); border-radius: 99px; color: var(--pp-muted); background: #fff; font-weight: 750; cursor: pointer; }
.pp-filter.is-active, .pp-filter[aria-pressed="true"] { color: #fff; border-color: var(--pp-red); background: var(--pp-red); }
.pp-empty { grid-column: 1 / -1; padding: 2rem; text-align: center; color: var(--pp-muted); }

/* Radio and content cards */
.pp-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.pp-card { position: relative; overflow: hidden; border: 1px solid var(--pp-line); border-radius: var(--pp-radius); background: var(--pp-surface); box-shadow: var(--pp-shadow-sm); transition: transform var(--pp-transition), box-shadow var(--pp-transition); }
.pp-card:hover { transform: translateY(-4px); box-shadow: var(--pp-shadow); }
.pp-card__media { position: relative; aspect-ratio: 16 / 11; display: grid; place-items: center; overflow: hidden; background: #f8f9fa; }
.pp-card__media img { width: 100%; height: 100%; object-fit: cover; }
.pp-radio-logo { display: block; width: 100%; height: auto; object-fit: contain; background: #fff; }
.pp-radio-placeholder { min-height: 12rem; display: grid; place-items: center; color: var(--pp-ink); background: #f8f9fa; font-size: 3.5rem; }
.pp-card__body { padding: 1rem; }
.pp-card__title { margin: 0 0 .35rem; color: var(--pp-night); font-size: 1.06rem; font-weight: 850; }
.pp-card__meta { display: flex; flex-wrap: wrap; gap: .45rem; color: var(--pp-muted); font-size: .82rem; }
.pp-card__actions { display: flex; align-items: center; justify-content: space-between; gap: .6rem; margin-top: .9rem; }
.pp-play { width: 3rem; aspect-ratio: 1; display: grid; place-items: center; border: 0; border-radius: 50%; color: #fff; background: var(--pp-red); box-shadow: 0 8px 16px rgba(215,25,32,.25); cursor: pointer; }
.pp-play::before { content: ""; margin-left: .18rem; border-width: .38rem 0 .38rem .58rem; border-style: solid; border-color: transparent transparent transparent currentColor; }
.pp-play.is-playing::before { width: .62rem; height: .75rem; margin: 0; border: 0; background: linear-gradient(90deg, currentColor 0 33%, transparent 33% 66%, currentColor 66%); }
.pp-card[hidden], [data-filter-item][hidden] { display: none !important; }

/* Feature blocks and footer */
.pp-feature { padding: 1.5rem; border: 1px solid rgba(255,255,255,.2); border-radius: var(--pp-radius); color: #fff; background: var(--pp-night-soft); }
.pp-feature--gold { color: var(--pp-night); background: var(--pp-gold); }
.pp-hero .pp-feature { color: var(--pp-ink); border-color: var(--pp-line); background: #fff; box-shadow: var(--pp-shadow); }
.pp-hero .pp-feature p { color: var(--pp-muted); }
.pp-footer { padding: 3.5rem 0 calc(2rem + var(--pp-player-offset, 0)); color: rgba(255,255,255,.72); background: var(--pp-night); }
.pp-footer__grid { display: grid; gap: 2rem; }
.pp-footer h2, .pp-footer h3 { color: #fff; }
.pp-footer a { color: rgba(255,255,255,.76); }
.pp-footer a:hover { color: var(--pp-gold); }
.pp-footer__bottom { margin-top: 2rem; padding-top: 1.25rem; border-top: 1px solid rgba(255,255,255,.12); font-size: .83rem; }

/* Persistent player */
.pp-player { position: fixed; z-index: 1050; right: 0; bottom: 0; left: 0; width: 100%; min-height: var(--pp-player-height); display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: .85rem; padding: .75rem max(1rem,calc((100% - var(--pp-container))/2)); border: 0; border-top: 4px solid var(--pp-red); border-radius: 0; color: var(--pp-ink); background: #fff; box-shadow: 0 -.5rem 1.5rem rgba(0,0,0,.12); transform: translateY(calc(100% + 2rem)); opacity: 0; pointer-events: none; transition: transform 240ms ease, opacity 240ms ease; }
.pp-player.is-visible { transform: translateY(0); opacity: 1; pointer-events: auto; }
.pp-player__cover { width: 3.5rem; aspect-ratio: 1; border-radius: .75rem; object-fit: cover; background: #fff; }
.pp-player__info { min-width: 0; }
.pp-player__name, .pp-player__now { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pp-player__name { font-weight: 850; }
.pp-player__now { color: var(--pp-muted); font-size: .78rem; }
.pp-player__controls { display: flex; align-items: center; gap: .35rem; }
.pp-player button { color: #fff; }
.pp-player__toggle, .pp-player__close, .pp-player__mute { border: 0; cursor: pointer; }
.pp-player__toggle { width: 3rem; aspect-ratio: 1; border-radius: 50%; background: var(--pp-red); }
.pp-player__close, .pp-player__mute { width: 2.25rem; height: 2.25rem; border-radius: .5rem; color: var(--pp-ink) !important; background: #e9ecef; }
.pp-player__volume { display: none; width: 5.5rem; accent-color: var(--pp-red); }
.pp-player__status { position: absolute; right: 0; bottom: 0; left: 0; height: 3px; overflow: hidden; background: #e9ecef; }
.pp-player.is-loading .pp-player__status::after { content: ""; position: absolute; width: 35%; height: 100%; background: var(--pp-turquoise); animation: pp-load 1s linear infinite; }
@keyframes pp-load { from { transform: translateX(-100%); } to { transform: translateX(300%); } }

/* Admin */
.pp-admin { min-height: 100vh; background: #f4f6f9; }
.pp-admin__sidebar { color: #fff; background: var(--pp-night); }
.pp-admin__sidebar a { display: flex; gap: .65rem; padding: .75rem 1rem; border-radius: .65rem; color: rgba(255,255,255,.74); font-weight: 700; }
.pp-admin__sidebar a:hover, .pp-admin__sidebar a.active { color: #fff; background: rgba(255,255,255,.1); }
.pp-admin__main { min-width: 0; padding: 1rem; }
.pp-panel { padding: 1rem; border: 1px solid #e2e6ec; border-radius: var(--pp-radius); background: #fff; box-shadow: var(--pp-shadow-sm); }
.pp-table-wrap { overflow-x: auto; }
.pp-table { width: 100%; border-collapse: collapse; }
.pp-table th, .pp-table td { padding: .8rem; border-bottom: 1px solid #edf0f4; text-align: left; vertical-align: middle; }
.pp-table th { color: var(--pp-muted); font-size: .76rem; letter-spacing: .05em; text-transform: uppercase; }
.pp-badge { display: inline-flex; padding: .25rem .55rem; border-radius: 99px; color: var(--pp-success); background: #e8f7f2; font-size: .75rem; font-weight: 800; }
.pp-badge--off { color: var(--pp-danger); background: #fdebed; }
.pp-toast { position: fixed; z-index: 1090; right: 1rem; bottom: calc(var(--pp-player-offset, 0) + 1rem); max-width: min(22rem, calc(100% - 2rem)); padding: .8rem 1rem; border-radius: .75rem; color: #fff; background: var(--pp-night); box-shadow: var(--pp-shadow); }

@media (min-width: 576px) {
  .pp-filterbar { grid-template-columns: minmax(14rem, 1fr) auto; align-items: center; }
  .pp-player__volume { display: block; }
}
@media (min-width: 768px) {
  .pp-section { padding-block: 5rem; }
  .pp-menu-toggle { display: none; }
  .pp-nav { display: flex; }
  .pp-hero__inner { grid-template-columns: minmax(0, 1.15fr) minmax(18rem, .85fr); }
  .pp-footer__grid { grid-template-columns: 1.4fr repeat(3, 1fr); }
  .pp-player { right: 0; bottom: 0; left: 0; grid-template-columns: auto minmax(10rem, 1fr) auto; }
  .pp-admin { display: grid; grid-template-columns: 16rem 1fr; }
  .pp-admin__sidebar { position: sticky; top: 0; height: 100vh; padding: 1rem; }
  .pp-admin__main { padding: 1.5rem 2rem; }
}
@media (min-width: 1200px) { .pp-container { width: min(100% - 3rem, var(--pp-container)); } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

.pp-form-section { overflow: hidden; border: 1px solid var(--pp-line); border-radius: 1rem; background: #fff; box-shadow: 0 .25rem .75rem rgba(0,0,0,.04); }
.pp-form-section__head { display: flex; gap: 1rem; align-items: flex-start; padding: 1.25rem 1.5rem; border-bottom: 1px solid var(--pp-line); background: #f8f9fa; }
.pp-form-section__head h2 { margin: 0 0 .2rem; font-size: 1.08rem; font-weight: 750; }
.pp-form-section__head p { margin: 0; color: var(--pp-muted); font-size: .88rem; }
.pp-form-section__icon { width: 2.6rem; height: 2.6rem; display: grid; flex: 0 0 auto; place-items: center; border-radius: .75rem; color: var(--pp-red); background: #f8d7da; }
.pp-form-section__body { padding: 1.5rem; }
.pp-upload-box { padding: 1.5rem; border: 2px dashed #ced4da; border-radius: .85rem; text-align: center; background: #f8f9fa; }
.pp-upload-preview { width: 140px; height: 140px; object-fit: contain; border: 1px solid var(--pp-line); border-radius: .75rem; background: #fff; }
.pp-switch-card { min-height: 5rem; display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--pp-line); border-radius: .8rem; background: #f8f9fa; }
.pp-form-actions { position: sticky; z-index: 10; bottom: 0; display: flex; justify-content: flex-end; gap: .75rem; padding: 1rem; border: 1px solid var(--pp-line); border-radius: .85rem .85rem 0 0; background: rgba(255,255,255,.96); box-shadow: 0 -.5rem 1.25rem rgba(0,0,0,.06); }
.pp-home-shell { display: grid; align-items: start; gap: 1rem; padding-top: 1rem; }
.pp-home-content { min-width: 0; overflow: hidden; border-radius: 1rem; background: #fff; }
.pp-site-shell { display:grid;align-items:start;gap:1rem;padding-top:1rem;padding-bottom:1rem }
.pp-site-content { min-width:0;overflow:hidden;border-radius:1rem;background:#fff }
.pp-region-sidebar { display: none; overflow: hidden; border: 1px solid var(--pp-line); border-radius: .85rem; background: #fff; box-shadow: var(--pp-shadow-sm); }
.pp-region-sidebar__title { padding: 1rem; border-bottom: 4px solid var(--pp-red); text-align: center; font-weight: 700; background: #f8f9fa; }
.pp-region-list { display: grid; }
.pp-region-item { min-height: 3rem; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .7rem 1rem; border-bottom: 1px solid var(--pp-line); color: var(--pp-ink); font-size: .88rem; font-weight: 600; text-transform: uppercase; }
.pp-region-item:last-child { border-bottom: 0; }
.pp-region-item:hover, .pp-region-item.active { color: var(--pp-red); background: #fff5f5; }
.pp-home-mobile-regions { padding-top: 1rem; }
.pp-home-mobile-regions details { overflow: hidden; border: 1px solid var(--pp-line); border-radius: .75rem; background: #fff; }
.pp-home-mobile-regions summary { padding: .85rem 1rem; text-align: center; font-weight: 700; cursor: pointer; }
@media (min-width: 992px) {
  .pp-home-shell { grid-template-columns: 17rem minmax(0,1fr); }
  .pp-site-shell { grid-template-columns:17rem minmax(0,1fr) }
  .pp-region-sidebar { position: sticky; top: 5.5rem; display: block; max-height: calc(100vh - 6.5rem); overflow-y: auto; }
  .pp-home-mobile-regions { display: none; }
}
.pp-admin-radio-logo{width:52px;height:52px;display:inline-flex;align-items:center;justify-content:center;object-fit:contain;border:1px solid var(--bs-border-color);border-radius:.75rem;background:#fff;padding:.25rem}.pp-admin-radio-logo--empty{font-size:1.35rem;color:var(--bs-secondary-color);background:var(--bs-tertiary-bg)}
.is-pjax-loading [data-pjax-main]{opacity:.55;transition:opacity .15s ease;pointer-events:none}
.pp-explore{padding:1rem 0 2rem}.pp-explore-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.65rem;margin-bottom:1rem}.pp-explore-search .pp-field{min-height:3rem}.pp-explore-search .pp-btn{min-width:8rem}@media(max-width:575.98px){.pp-explore-search{grid-template-columns:1fr}.pp-explore-search .pp-btn{width:100%}}
.pp-now-playing{background:var(--pp-red);color:#fff;box-shadow:0 .35rem 1rem rgba(214,40,40,.3)}.pp-card.is-playing{border-color:var(--pp-red);box-shadow:0 0 0 2px rgba(214,40,40,.12),var(--pp-shadow)}.pp-card.is-playing .pp-play{transform:scale(1.06)}
.pp-radio-hero{position:relative;isolation:isolate;overflow:hidden;min-height:30rem;padding:3rem clamp(1.25rem,4vw,3.5rem);color:#fff;background:#d62828}.pp-radio-hero::before{content:"";position:absolute;z-index:-2;inset:0;background:radial-gradient(circle at 15% 30%,rgba(255,255,255,.16),transparent 30%),linear-gradient(135deg,#b61624 0%,#d62828 55%,#9f101b 100%)}.pp-radio-hero__inner{position:relative;z-index:2;min-height:24rem;display:grid;align-items:center;gap:2.5rem}.pp-radio-hero__cover-wrap{position:relative;width:min(15rem,65vw);aspect-ratio:1;margin:auto}.pp-radio-hero__cover{width:100%;height:100%;display:grid;place-items:center;object-fit:contain;padding:.75rem;border:6px solid rgba(255,255,255,.92);border-radius:50%;background:#fff;box-shadow:0 1.5rem 3rem rgba(68,0,8,.35)}.pp-radio-hero__cover--empty{color:#d62828;font-size:5rem}.pp-radio-hero__signal{position:absolute;inset:-.65rem;border:2px solid rgba(255,255,255,.35);border-radius:50%;opacity:0}.pp-radio-hero__content h1{max-width:14ch;margin:.8rem 0 .45rem;font-size:clamp(2.3rem,6vw,4.5rem);line-height:.95;letter-spacing:-.045em}.pp-radio-hero__slogan{margin:0 0 1.2rem;color:rgba(255,255,255,.82);font-size:1.08rem}.pp-radio-outline-pill,.pp-radio-hero__meta span{display:inline-flex;align-items:center;padding:.42rem .8rem;border:1px solid rgba(255,255,255,.75);border-radius:999px;color:#fff;font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.pp-radio-now{max-width:36rem;display:grid;gap:.15rem;margin-bottom:1rem;padding:.8rem 1rem;border:1px solid rgba(255,255,255,.55);border-radius:.85rem;background:rgba(98,0,10,.18);backdrop-filter:blur(8px)}.pp-radio-now small{font-size:.65rem;font-weight:900;letter-spacing:.13em}.pp-radio-now strong{font-size:1.05rem}.pp-radio-now span{color:rgba(255,255,255,.75);font-size:.85rem}.pp-radio-hero__meta{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem}.pp-radio-hero__play{display:inline-flex;align-items:center;gap:.7rem;padding:.82rem 1.25rem;border:0;border-radius:999px;color:#c41927;background:#fff;font-weight:900;box-shadow:0 .8rem 1.8rem rgba(77,0,7,.25)}.pp-radio-hero__play-icon{display:grid;place-items:center;width:1.8rem;height:1.8rem;border-radius:50%;color:#fff;background:#d62828}.pp-radio-visualizer{position:absolute;z-index:-1;inset:auto 0 0;height:38%;display:flex;align-items:end;gap:clamp(3px,.45vw,7px);padding:0 2%;opacity:.25}.pp-radio-visualizer i{flex:1;height:calc(12% + (var(--i) % 7)*8%);border-radius:999px 999px 0 0;background:#fff;transform-origin:bottom}.pp-radio-hero.is-playing .pp-radio-visualizer i{animation:pp-radio-wave .75s ease-in-out infinite alternate;animation-delay:calc(var(--i)*-45ms)}.pp-radio-hero.is-playing .pp-radio-hero__cover{animation:pp-radio-float 2.4s ease-in-out infinite}.pp-radio-hero.is-playing .pp-radio-hero__signal{animation:pp-radio-pulse 1.6s ease-out infinite}@keyframes pp-radio-wave{to{height:calc(28% + (var(--i) % 8)*9%)}}@keyframes pp-radio-float{50%{transform:translateY(-7px)}}@keyframes pp-radio-pulse{0%{opacity:.7;transform:scale(.96)}100%{opacity:0;transform:scale(1.15)}}@media(min-width:768px){.pp-radio-hero__inner{grid-template-columns:minmax(12rem,16rem) minmax(0,1fr)}}@media(max-width:767.98px){.pp-radio-hero{text-align:center;padding-block:2rem}.pp-radio-hero__inner{gap:1.5rem}.pp-radio-hero__meta{justify-content:center}.pp-radio-now{margin-inline:auto}.pp-radio-hero__content h1{margin-inline:auto}.pp-radio-hero__cover-wrap{width:min(11rem,55vw)}}
.pp-radio-visualizer i{height:var(--h)}@keyframes pp-radio-wave{to{height:var(--h2)}}
.pp-banner-section{overflow:hidden;background:#b61624}.pp-banner-section .carousel-item{position:relative;height:clamp(19rem,38vw,31rem)}.pp-banner-image{width:100%;height:100%;display:block;object-fit:cover}.pp-banner-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(24,10,12,.86) 0%,rgba(24,10,12,.48) 48%,rgba(24,10,12,.08) 100%)}.pp-banner-caption{position:absolute;z-index:2;left:clamp(1.4rem,5vw,4rem);right:clamp(1.4rem,8vw,6rem);bottom:clamp(2rem,7vw,4.5rem);max-width:38rem;color:#fff}.pp-banner-caption h1{margin:.25rem 0 .8rem;font-size:clamp(2rem,5vw,4.4rem);line-height:.95;letter-spacing:-.045em}.pp-banner-caption p{max-width:34rem;margin-bottom:1.25rem;color:rgba(255,255,255,.85);font-size:clamp(.95rem,1.8vw,1.15rem)}.pp-banner-button{display:inline-flex;padding:.78rem 1.2rem;border:1px solid #fff;border-radius:999px;color:#b61624;background:#fff;font-weight:900}.pp-banner-button:hover{color:#fff;background:transparent}.pp-banner-fallback{background:radial-gradient(circle at 80% 25%,#ef5260,transparent 28%),linear-gradient(135deg,#a9101d,#d62828)}.pp-banner-section .carousel-indicators{z-index:4}.pp-banner-section .carousel-control-prev,.pp-banner-section .carousel-control-next{width:8%}
.pp-brand__logo{display:block;width:auto;max-width:180px;height:42px;object-fit:contain}.pp-admin__sidebar .pp-brand__logo{max-width:150px;height:38px}
.pp-radio-hero{background:var(--pp-red)}.pp-radio-hero::before{background:radial-gradient(circle at 15% 30%,rgba(255,255,255,.16),transparent 30%),linear-gradient(135deg,var(--pp-red-dark) 0%,var(--pp-red) 58%,var(--pp-red-dark) 100%)}.pp-radio-hero__play{color:var(--pp-red-dark)}.pp-radio-hero__play-icon{background:var(--pp-red)}
