/* R10 CMS-connected public states. Kept separate from the frozen player styles. */
.site-topbar {
  padding: .45rem clamp(1rem, 4vw, 4rem);
  border-bottom: 1px solid rgba(214, 154, 39, .28);
  background: #120b06;
  color: #e8c77e;
  font-size: .82rem;
  letter-spacing: .03em;
  text-align: center;
}

.public-admin-toolbar {
  position: sticky;
  top: 0;
  z-index: 120;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .75rem;
  padding: .45rem 1rem;
  border-bottom: 1px solid rgba(214, 154, 39, .35);
  background: linear-gradient(90deg, #080604, #1b1007, #080604);
  color: #f4dfb0;
  font-size: .86rem;
}

.public-admin-toolbar a,
.public-edit-btn {
  display: inline-flex;
  align-items: center;
  gap: .35rem;
  border: 1px solid rgba(214, 154, 39, .65);
  border-radius: 999px;
  background: rgba(8, 6, 4, .88);
  color: #ffd37a;
  text-decoration: none;
  box-shadow: 0 12px 28px rgba(0, 0, 0, .32);
}

.public-admin-toolbar a {
  padding: .34rem .72rem;
}

.header-login {
  padding-inline: 1.05rem;
}

.public-edit-wrap {
  position: relative;
}

.public-edit-btn {
  position: absolute;
  top: .65rem;
  right: .65rem;
  z-index: 25;
  padding: .42rem .7rem;
  font-size: .78rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .03em;
  backdrop-filter: blur(10px);
}

.public-edit-btn:hover,
.public-admin-toolbar a:hover {
  background: #d69a27;
  color: #160b02;
}

.banner-slide .public-edit-btn,
.banner-rotation .public-edit-btn {
  width: auto !important;
  height: auto !important;
  display: inline-flex !important;
  inset: auto .65rem auto auto;
  top: .65rem;
  left: auto;
  bottom: auto;
  max-width: calc(100% - 1.3rem);
  border-radius: 999px;
  object-fit: initial;
}

.public-edit-banner-btn {
  cursor: pointer;
  font: inherit;
  line-height: 1.1;
}

.hero-banner-split {
  width: min(1460px, calc(100% - 40px));
  margin: 18px auto 22px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: .55rem;
}

.hero-banner-split .banner-rotation {
  width: 100%;
  margin: 0;
  aspect-ratio: 2.15 / 1;
}

.section-ads .banner-rotation[data-position="home_bottom_scroll"] {
  width: min(1500px, calc(100% - 40px));
  aspect-ratio: 6.1 / 1;
}

.public-empty {
  grid-column: 1 / -1;
  display: grid;
  place-items: center;
  min-height: 9rem;
  padding: 2rem;
  border: 1px dashed rgba(214, 154, 39, .42);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(214, 154, 39, .055), rgba(79, 25, 12, .08));
  color: #d9c8aa;
  text-align: center;
}

.public-empty b { color: #efc86f; font-size: 1.05rem; }
.public-empty span { margin-top: .3rem; color: #9d8d77; }

.section-boxed {
  width: min(1180px, calc(100% - 2rem));
  margin-inline: auto;
  border-radius: 18px;
  overflow: clip;
}

.schedule-day {
  margin: 1.25rem 0 .45rem;
  padding-bottom: .45rem;
  border-bottom: 1px solid rgba(214, 154, 39, .26);
  color: #e9bd5d;
  font-size: 1rem;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.schedule-all .schedule-day:first-of-type { margin-top: .5rem; }

.article-categories {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: .5rem;
  margin: .85rem 0 0;
}

.article-categories a {
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(214, 154, 39, .46);
  border-radius: 999px;
  padding: .38rem .75rem;
  background: rgba(214, 154, 39, .08);
  color: #efc86f;
  font-size: .82rem;
  text-decoration: none;
}

.article-categories a:hover {
  background: rgba(214, 154, 39, .16);
}

@media (max-width: 720px) {
  .site-topbar { font-size: .74rem; }
  .public-admin-toolbar { flex-wrap: wrap; gap: .45rem; font-size: .78rem; }
  .header-login { display: inline-flex; padding: .65rem .85rem; }
  .public-edit-btn { top: .45rem; right: .45rem; font-size: .7rem; }
  .hero-banner-split { width: calc(100% - 20px); grid-template-columns: 1fr; gap: .75rem; }
  .hero-banner-split .banner-rotation { aspect-ratio: 2.2 / 1; }
  .section-ads .banner-rotation[data-position="home_bottom_scroll"] { width: calc(100% - 20px); aspect-ratio: 2.2 / 1; }
  .section-boxed { width: calc(100% - 1rem); border-radius: 12px; }
  .public-empty { min-height: 7rem; padding: 1.25rem; }
}

/* R14: top banners and weekly schedule requested on the public homepage. */
.banner-rotation,
.banner-slide,
.banner-slide a,
.banner-slide picture,
.banner-slide img {
  min-width: 0;
}

.banner-rotation {
  isolation: isolate;
}

.banner-slide a,
.banner-slide picture,
.banner-slide img {
  width: 100% !important;
  height: 100% !important;
}

.banner-slide img {
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #080604;
}

.hero-banner-split .banner-rotation {
  border-radius: 8px;
}

.banner-rotation[data-position="home_top_right"] .banner-slide,
.banner-rotation[data-position="home_bottom_scroll"] .banner-slide {
  opacity: 0;
  visibility: visible;
  pointer-events: none;
  transform: translateX(105%);
  transition: transform .75s ease, opacity .75s ease;
}

.banner-rotation[data-position="home_top_right"] .banner-slide.active,
.banner-rotation[data-position="home_bottom_scroll"] .banner-slide.active {
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.schedule-week-panel {
  width: 100%;
  min-height: 0;
  overflow: hidden;
}

.schedule-week-panel header {
  position: sticky;
  left: 0;
  z-index: 2;
}

.schedule-week-intro {
  padding: .7rem 1rem .25rem;
  border-bottom: 1px solid rgba(214, 154, 39, .16);
  color: #d9c8aa;
}

.schedule-week-intro p {
  margin: 0;
  font: .94rem/1.45 var(--serif, Georgia, serif);
}

.schedule-week-intro em {
  display: block;
  margin-top: .25rem;
  color: #e8bd62;
  font: italic .9rem/1.35 var(--serif, Georgia, serif);
}

.schedule-week {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 0;
  padding: .55rem;
}

.schedule-day-card {
  min-width: 0;
  padding: .7rem .75rem .85rem;
  border-right: 1px solid rgba(214, 154, 39, .22);
}

.schedule-day-card:last-child {
  border-right: 0;
}

.schedule-day-card h3 {
  margin: 0 0 .55rem;
  color: #f0c66f;
  font: 800 .78rem/1.2 var(--sans, Arial, sans-serif);
  letter-spacing: .04em;
  text-transform: uppercase;
}

.schedule-week-row {
  grid-template-columns: 4.6rem minmax(0, 1fr);
  gap: .55rem;
  padding: .35rem 0;
  border-top: 1px solid rgba(214, 154, 39, .12);
}

.schedule-week-row:first-of-type {
  border-top: 0;
}

.schedule-week-row time {
  font-size: .76rem;
  line-height: 1.25;
}

.schedule-week-row time span {
  display: block;
  margin-bottom: .1rem;
  color: #d9b366;
  font-size: .68rem;
  text-transform: uppercase;
}

.schedule-week-row b {
  font-size: .9rem;
  line-height: 1.18;
}

.schedule-week-row small {
  display: -webkit-box;
  overflow: hidden;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.schedule-empty-day {
  margin: .45rem 0 0;
  color: #9d8d77;
  font: .78rem/1.35 var(--serif, Georgia, serif);
}

@media (max-width: 1180px) {
  .schedule-week {
    grid-template-columns: repeat(6, minmax(230px, 1fr));
    overflow-x: auto;
    scroll-snap-type: x proximity;
    -webkit-overflow-scrolling: touch;
  }

  .schedule-day-card {
    scroll-snap-align: start;
  }
}

@media (max-width: 720px) {
  .schedule-week {
    grid-template-columns: repeat(6, minmax(82vw, 1fr));
    padding: .45rem;
  }

  .schedule-week-row {
    grid-template-columns: 5.1rem minmax(0, 1fr);
  }
}

/* R20 target public UI skin — visual layer only, keeps player/stream JS intact. */
body {
  background:
    radial-gradient(circle at 50% 3%, rgba(126, 55, 12, .34), transparent 25rem),
    linear-gradient(180deg, #050403 0, #100703 42%, #050403 100%);
}

body::before,
body::after {
  width: clamp(28px, 4vw, 70px);
  opacity: .42;
}

.site-header {
  width: min(1540px, calc(100% - 44px));
  max-width: none;
  height: 108px;
  padding: 12px 22px 8px;
  border-bottom: 1px solid rgba(213, 145, 32, .12);
  background:
    linear-gradient(90deg, rgba(0, 0, 0, .18), rgba(21, 10, 4, .42), rgba(0, 0, 0, .18));
}

.site-header.sticky {
  background:
    linear-gradient(90deg, rgba(4, 3, 2, .97), rgba(19, 9, 4, .96), rgba(4, 3, 2, .97));
}

.brand img {
  width: 300px;
  height: 88px;
  object-fit: contain;
  filter: drop-shadow(0 8px 16px rgba(0, 0, 0, .55));
}

.main-nav {
  gap: clamp(16px, 1.6vw, 36px);
}

.main-nav a {
  padding-top: 30px;
  padding-bottom: 20px;
  color: #f0e0c2;
  font-size: 13px;
  font-weight: 800;
  text-shadow: 0 1px 7px rgba(0, 0, 0, .8);
}

.main-nav .nav-icon {
  flex: 0 0 auto !important;
  color: var(--link-color, #f2bd58) !important;
  font-size: 1em !important;
  line-height: 1 !important;
}

.main-nav .nav-label { min-width: 0 !important; }

.main-nav a:hover,
.main-nav a.active {
  color: #f1bd58;
  border-color: #d79425;
}

.outline-btn {
  min-height: 46px;
  padding: 13px 24px;
  border-color: #c98921;
  background: linear-gradient(180deg, rgba(18, 10, 4, .88), rgba(5, 4, 3, .88));
  box-shadow: inset 0 1px rgba(255, 223, 145, .1);
}

.hero {
  height: 182px;
  border-top: 1px solid rgba(213, 145, 32, .16);
  border-bottom-color: rgba(213, 145, 32, .65);
  background:
    linear-gradient(180deg, rgba(5, 4, 3, .25), rgba(7, 4, 2, .62)),
    radial-gradient(ellipse at 50% 100%, rgba(190, 82, 14, .45), transparent 62%),
    linear-gradient(90deg, rgba(36, 16, 6, .12), rgba(117, 45, 8, .24), rgba(36, 16, 6, .12));
}

.hero::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .32;
  background:
    linear-gradient(180deg, transparent 43%, rgba(0, 0, 0, .36) 100%),
    repeating-linear-gradient(90deg, transparent 0 44px, rgba(235, 151, 39, .16) 45px 47px, transparent 48px 94px);
  mask-image: linear-gradient(transparent 0 42%, #000 56% 100%);
}

.hero-copy {
  padding-top: 18px;
}

.hero h1 {
  font-size: clamp(42px, 4vw, 66px);
  letter-spacing: -.02em;
  color: #f5dca7;
  text-shadow: 0 4px 16px rgba(0, 0, 0, .88), 0 0 22px rgba(214, 142, 30, .14);
}

.hero p {
  color: #fff0d7;
  font-size: clamp(17px, 1.45vw, 22px);
}

.hero em {
  margin-top: 11px;
  color: #efbd61;
  font-size: clamp(17px, 1.4vw, 21px);
}

.hero-banner-split {
  width: min(1320px, calc(100% - 44px));
  gap: 10px;
  margin: 18px auto 18px;
}

.hero-banner-split .banner-rotation {
  border-radius: 12px;
  border-color: rgba(216, 151, 36, .85);
  box-shadow: 0 18px 42px rgba(0, 0, 0, .52), inset 0 1px rgba(255, 211, 122, .12);
}

.banner-slide img {
  filter: saturate(1.05) contrast(1.04);
}

.player-shell {
  width: min(1280px, calc(100% - 42px));
  max-width: none;
  margin: 0 auto 18px;
  border-radius: 22px;
  border-color: rgba(218, 151, 35, .9);
  background:
    radial-gradient(circle at 28% 18%, rgba(143, 75, 14, .15), transparent 22rem),
    linear-gradient(115deg, rgba(18, 12, 7, .98), rgba(7, 5, 4, .97));
  box-shadow:
    0 22px 70px rgba(0, 0, 0, .66),
    inset 0 1px rgba(255, 220, 140, .12);
}

.cover-block img {
  border-color: rgba(217, 151, 37, .48);
  box-shadow: 0 16px 35px rgba(0, 0, 0, .34);
}

.main-play {
  border-color: rgba(237, 178, 78, .62);
  background: radial-gradient(circle, #5d320b 0, #211108 45%, #080504 68%);
}

.track-block h2 {
  color: #fff1d4;
  font-size: clamp(25px, 2.2vw, 34px);
}

.track-block h3 {
  color: #f3dfbf;
}

.listeners,
.action-grid button,
.action-grid a,
.wide-action,
.next-track button {
  border-color: rgba(217, 151, 37, .36);
  background: rgba(12, 8, 5, .86);
}

.content-grid {
  width: min(1460px, calc(100% - 44px));
  max-width: none;
  gap: 14px;
}

.panel {
  border-color: rgba(217, 151, 37, .64);
  border-radius: 14px;
  background:
    radial-gradient(circle at 90% 0, rgba(120, 55, 13, .18), transparent 15rem),
    linear-gradient(145deg, rgba(18, 13, 8, .96), rgba(7, 5, 4, .96));
}

.panel header {
  border-bottom-color: rgba(217, 151, 37, .2);
}

.panel header h2,
.eyebrow {
  color: #efbd58;
}

.request-card,
.advertising {
  border-radius: 14px;
}

.news-home,
.text-feature,
.partners,
.article-grid,
.page-content,
.legal-page {
  width: min(1460px, calc(100% - 44px));
}

.site-footer,
footer {
  width: min(1500px, calc(100% - 44px));
  max-width: none;
  border-top-color: rgba(217, 151, 37, .22);
}

@media (max-width: 1200px) {
  .site-header {
    width: 100%;
    height: 86px;
    padding-inline: 18px;
  }

  .brand img {
    width: 230px;
    height: 70px;
  }

  .player-shell,
  .content-grid,
  .hero-banner-split {
    width: calc(100% - 34px);
  }
}

@media (max-width: 760px) {
  .site-header {
    height: 78px;
    padding: 7px 14px;
  }

  .brand img {
    width: 204px;
    height: 62px;
  }

  .hero {
    height: 184px;
  }

  .hero-copy {
    padding-top: 20px;
  }

  .player-shell,
  .content-grid,
  .hero-banner-split,
  .news-home,
  .text-feature,
  .partners,
  .article-grid,
  .page-content,
  .legal-page {
    width: calc(100% - 20px);
  }
}

/* R21: vidljiv front pass ka dostavljenom mockupu, bez izmene JS plejera. */
.site-header {
  width: min(1580px, calc(100% - 36px));
  min-height: 104px;
  border-radius: 0 0 18px 18px;
}

.hero {
  height: clamp(170px, 13vw, 230px);
  display: grid;
  place-items: center;
}

.hero h1 {
  max-width: 980px;
  margin-inline: auto;
  font-size: clamp(46px, 4.6vw, 74px);
}

.hero-banner-split {
  width: min(1450px, calc(100% - 44px));
  margin-top: 22px;
  margin-bottom: 18px;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.hero-banner-split .banner-rotation {
  aspect-ratio: 2.55 / 1;
  border-radius: 12px;
  background: #070503;
}

.hero-banner-split .banner-slide a,
.hero-banner-split .banner-slide picture,
.hero-banner-split .banner-slide img,
.section-ads .banner-slide a,
.section-ads .banner-slide picture,
.section-ads .banner-slide img {
  width: 100% !important;
  height: 100% !important;
}

.hero-banner-split .banner-slide img,
.section-ads .banner-slide img {
  object-fit: contain !important;
  object-position: center center !important;
}

.section-ads .banner-rotation[data-position="home_bottom_scroll"] {
  width: min(1500px, calc(100% - 44px));
  min-height: 120px;
  aspect-ratio: 6.4 / 1;
}

.player-shell {
  margin-top: 18px;
}

.public-edit-btn {
  max-width: max-content;
  white-space: nowrap;
}

.banner-rotation .public-edit-btn,
.banner-slide .public-edit-btn {
  position: absolute !important;
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 8px 12px !important;
  font-size: 12px !important;
  line-height: 1 !important;
}

@media (max-width: 760px) {
  .site-header {
    width: 100%;
    min-height: 78px;
    border-radius: 0;
  }

  .hero {
    height: 190px;
  }

  .hero h1 {
    font-size: clamp(34px, 9vw, 46px);
  }

  .hero-banner-split {
    grid-template-columns: 1fr;
    width: calc(100% - 20px);
  }

  .hero-banner-split .banner-rotation,
  .section-ads .banner-rotation[data-position="home_bottom_scroll"] {
    aspect-ratio: 2.15 / 1;
    min-height: 0;
  }
}

/* R22 real homepage template layer */
.home-template-v2{max-width:1720px;margin:0 auto 46px;padding:0 clamp(18px,5vw,110px);display:flex;flex-direction:column;gap:22px}
.home-hero-block{position:relative;min-height:188px;display:grid;place-items:center;text-align:center;margin-top:0;padding:38px 20px 26px;border-bottom:1px solid rgba(225,166,55,.35);background:radial-gradient(circle at 50% 0,rgba(126,61,18,.46),rgba(10,6,3,0) 58%),linear-gradient(180deg,rgba(16,8,4,.92),rgba(34,14,5,.8))}
.home-hero-block:before{content:"";position:absolute;inset:auto 0 0;height:74px;opacity:.2;background:repeating-linear-gradient(135deg,transparent 0 34px,rgba(224,146,42,.35) 35px 48px),linear-gradient(90deg,rgba(224,146,42,.26),transparent)}
.home-hero-block .hero-copy{position:relative;z-index:1}
.home-hero-block h1{margin:0;color:#ffe3ad;font-family:Georgia,serif;font-size:clamp(44px,6vw,86px);line-height:1;text-shadow:0 4px 18px #000}
.home-hero-block p{margin:12px 0 6px;color:#fff3df;font-family:Georgia,serif;font-size:clamp(18px,2vw,27px)}
.home-hero-block em{display:block;color:#e2ad54;font-family:Georgia,serif;font-size:clamp(18px,1.7vw,26px)}
.home-banner-zone{width:min(1480px,100%);margin:0 auto;position:relative}
.home-banner-zone-top{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.home-banner-cell,.home-banner-zone-single,.home-bottom-banner-zone{min-height:118px;border:1px solid rgba(223,154,27,.82);border-radius:12px;overflow:hidden;background:rgba(9,5,2,.72);box-shadow:0 16px 42px rgba(0,0,0,.42)}
.home-banner-cell .banner-slot,.home-banner-zone-single .banner-slot,.home-bottom-banner-zone .banner-slot{height:100%;min-height:118px;margin:0;border:0;border-radius:0;background:transparent}
.home-banner-cell .banner-img,.home-banner-zone-single .banner-img,.home-bottom-banner-zone .banner-img{width:100%;height:100%;min-height:118px;object-fit:cover;display:block}
.home-player-zone{width:min(1410px,100%);margin:0 auto}
.home-player-zone .player-shell{margin-top:0}
.home-main-grid{width:min(1540px,100%);margin:0 auto;grid-template-columns:minmax(310px,.95fr) minmax(300px,.85fr) minmax(360px,1fr) minmax(330px,1fr);align-items:stretch}
.home-main-grid>.panel,.home-main-grid>.home-panel-slot{min-height:250px}
.home-panel-slot>.panel{height:100%;margin:0}
.request-panel,.ads-panel{position:relative;overflow:hidden;display:flex;justify-content:space-between;gap:18px;align-items:center}
.request-panel{background:radial-gradient(circle at 100% 45%,rgba(166,43,18,.42),transparent 42%),linear-gradient(135deg,rgba(78,9,4,.88),rgba(21,9,5,.96))}
.request-panel h2,.ads-panel h2{font-family:Georgia,serif;color:#f4c76b;text-transform:uppercase;font-size:clamp(28px,2.2vw,40px);line-height:1.08}
.request-panel p,.ads-panel p{font-family:Georgia,serif;font-size:18px;color:#f7dec0}
.panel-art{width:42%;max-height:230px;object-fit:contain;filter:drop-shadow(0 20px 30px #000)}
.news-panel .panel-title,.ads-panel .panel-title{display:flex;justify-content:space-between;align-items:center;color:#e6aa3c;text-transform:uppercase;font-weight:900;border-bottom:1px solid rgba(226,154,35,.22);padding-bottom:10px;margin-bottom:12px}
.news-panel .panel-title a{color:#f2c56d;font-size:13px;text-transform:none}
.news-list{display:flex;flex-direction:column;gap:10px}
.news-row{display:grid;grid-template-columns:86px 1fr;gap:14px;align-items:center;color:#fff;text-decoration:none}
.news-row img,.news-date-badge{width:86px;height:62px;border-radius:8px;border:1px solid rgba(226,154,35,.5);object-fit:cover;background:linear-gradient(135deg,#4b1806,#0a0502);display:grid;place-items:center;color:#f0c35b;font-family:Georgia,serif;font-size:28px;font-weight:900}
.news-row strong{display:block;font-family:Georgia,serif;font-size:17px;line-height:1.15}
.news-row small{display:block;color:#d5b387;margin-top:4px}
.ads-panel{background:radial-gradient(circle at 100% 50%,rgba(219,143,50,.18),transparent 35%),linear-gradient(135deg,rgba(47,14,5,.96),rgba(18,8,4,.96))}
.home-bottom-banner-zone{width:min(1480px,100%);margin:0 auto;min-height:108px;border-radius:18px}
.home-extra-section{width:min(1480px,100%);margin:0 auto}
.home-extra-section .panel{margin:0}

@media(max-width:1180px){
  .home-template-v2{padding:0 18px;gap:16px}
  .home-main-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .home-template-v2{padding:0 12px}
  .home-hero-block{min-height:210px;padding:44px 14px 28px}
  .home-hero-block h1{font-size:clamp(38px,12vw,62px)}
  .home-banner-zone-top,.home-main-grid{grid-template-columns:1fr}
  .home-banner-cell,.home-banner-zone-single,.home-bottom-banner-zone{min-height:92px}
  .home-banner-cell .banner-slot,.home-banner-zone-single .banner-slot,.home-bottom-banner-zone .banner-slot{min-height:92px}
  .request-panel,.ads-panel{min-height:220px}
  .panel-art{width:36%;opacity:.82}
  .news-row{grid-template-columns:72px 1fr}
  .news-row img,.news-date-badge{width:72px;height:54px}
}

/* R23: stabilizacija javne naslovne — postojece sekcije, bez diranja player/logike. */
.home-template-v2 {
  max-width: 1600px;
  padding-inline: clamp(14px, 3.2vw, 64px);
  gap: clamp(16px, 2vw, 24px);
}

.home-main-grid {
  width: min(1460px, 100%);
  display: grid;
  grid-template-columns: minmax(270px, 1.05fr) minmax(260px, .95fr) minmax(300px, 1.05fr) minmax(280px, 1fr);
  gap: 14px;
  align-items: stretch;
  margin: 0 auto;
}

.home-main-grid > .home-panel-slot,
.home-main-grid > .panel {
  min-height: 0 !important;
  height: auto !important;
}

.home-main-grid .panel {
  min-height: 0 !important;
  height: 100%;
  padding: 0;
  border-radius: 14px;
  overflow: hidden;
}

.home-main-grid .schedule {
  display: flex;
  flex-direction: column;
  padding-bottom: 10px;
}

.home-main-grid .schedule header,
.home-main-grid .panel-title {
  min-height: 40px;
  padding: 0 16px;
}

.home-main-grid .schedule-row {
  grid-template-columns: 92px minmax(0, 1fr);
  gap: 10px;
  padding: 7px 16px 0;
}

.home-main-grid .schedule-row time {
  white-space: nowrap;
  font-size: 12px;
  line-height: 1.25;
}

.home-main-grid .schedule-row b {
  font-size: 15px;
  line-height: 1.13;
}

.home-main-grid .schedule-row small {
  font-size: 11px;
  line-height: 1.2;
}

.request-panel,
.ads-panel {
  min-height: 248px !important;
  padding: 22px 18px 18px !important;
  align-items: center;
  gap: 16px;
}

.request-panel > div,
.ads-panel > div {
  min-width: 0;
  max-width: calc(100% - 96px);
  position: relative;
  z-index: 2;
}

.request-panel h2,
.ads-panel h2 {
  margin: 0 0 12px;
  font-size: clamp(26px, 2.15vw, 38px);
  line-height: .98;
  letter-spacing: .01em;
}

.request-panel p,
.ads-panel p {
  margin: 0 0 12px;
  max-width: 27ch;
  font-size: clamp(15px, 1.05vw, 18px);
  line-height: 1.34;
}

.request-panel .btn,
.ads-panel .btn,
.request-card .gold-btn,
.advertising .gold-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: auto;
  max-width: 100%;
  margin: 2px 0 0;
  padding: 10px 14px;
  border: 1px solid rgba(234, 166, 53, .72);
  border-radius: 999px;
  background: rgba(9, 6, 3, .7);
  color: #ffd67a;
  text-decoration: none;
  font-weight: 800;
}

.panel-art,
.request-panel .panel-art,
.ads-panel .panel-art,
.request-card img,
.advertising img {
  position: static !important;
  flex: 0 0 auto;
  width: clamp(64px, 7vw, 118px) !important;
  height: auto !important;
  max-height: 168px !important;
  object-fit: contain !important;
  opacity: .9;
  transform: none !important;
}

.ads-panel .panel-art {
  width: clamp(74px, 8vw, 130px) !important;
}

.news-panel {
  min-height: 248px !important;
  padding-bottom: 12px !important;
}

.news-list {
  padding: 0 14px 0;
  gap: 9px;
}

.news-row {
  grid-template-columns: 78px minmax(0, 1fr);
  min-height: 64px;
  gap: 12px;
  padding: 0;
}

.news-row img,
.news-date-badge {
  width: 78px;
  height: 58px;
  object-fit: cover;
}

.news-row strong {
  font-size: 17px;
  line-height: 1.16;
}

.news-row small {
  font-size: 12px;
}

.home-bottom-banner-zone {
  width: min(1460px, 100%);
  min-height: 0 !important;
  height: auto !important;
  margin: 0 auto;
  padding: clamp(10px, 1.3vw, 18px);
  border-radius: 18px;
  overflow: hidden;
}

.home-bottom-banner-zone .banner-rotation,
.section-ads .banner-rotation[data-position="home_bottom_scroll"] {
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 4.85 / 1 !important;
  min-height: 0 !important;
  max-height: 360px;
  border: 0;
  border-radius: 14px;
  background: #070403;
  box-shadow: none;
}

.home-bottom-banner-zone .banner-slide a,
.home-bottom-banner-zone .banner-slide picture,
.home-bottom-banner-zone .banner-slide img,
.section-ads .banner-rotation[data-position="home_bottom_scroll"] .banner-slide a,
.section-ads .banner-rotation[data-position="home_bottom_scroll"] .banner-slide picture,
.section-ads .banner-rotation[data-position="home_bottom_scroll"] .banner-slide img {
  width: 100% !important;
  height: 100% !important;
}

.home-bottom-banner-zone .banner-slide img,
.section-ads .banner-rotation[data-position="home_bottom_scroll"] .banner-slide img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #070403;
}

.home-extra-section {
  width: min(1460px, 100%) !important;
  margin: 0 auto !important;
}

.home-extra-section .panel,
.home-extra-section .text-panel,
.home-extra-section .contact-panel {
  min-height: 0 !important;
  height: auto !important;
  padding: clamp(20px, 2.2vw, 32px) !important;
  border-radius: 16px;
}

.home-extra-section h2 {
  margin: 0 0 10px;
  font-size: clamp(21px, 1.8vw, 30px);
}

.home-extra-section p {
  max-width: 1120px;
  margin: 0 0 14px;
  font: clamp(15px, 1.05vw, 18px)/1.55 Georgia, "Times New Roman", serif;
}

.home-extra-section img {
  max-width: 100%;
  height: auto;
}

.site-footer,
footer.site-footer {
  width: min(1460px, calc(100% - 28px)) !important;
  margin: 30px auto 0 !important;
  padding: 24px 24px 92px !important;
  display: grid !important;
  grid-template-columns: 170px minmax(220px, 1.2fr) minmax(170px, .85fr) minmax(145px, .7fr) minmax(160px, .75fr) !important;
  gap: clamp(18px, 2.4vw, 34px) !important;
  align-items: start !important;
  min-height: 0 !important;
  background: linear-gradient(180deg, rgba(9, 6, 3, .82), rgba(5, 4, 3, .96));
  color: #e9d7bb;
  border-top: 1px solid rgba(217, 151, 37, .35);
}

.site-footer img {
  width: 150px !important;
  max-width: 100%;
  height: auto !important;
  object-fit: contain;
}

.site-footer b {
  color: #f0c56b;
}

.site-footer p {
  margin: 6px 0;
  line-height: 1.35;
}

.site-footer a {
  color: #f0b449;
  text-decoration: none;
}

.site-footer a:hover {
  text-decoration: underline;
}

.public-edit-btn {
  top: 10px !important;
  right: 10px !important;
  left: auto !important;
  bottom: auto !important;
  width: auto !important;
  height: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: max-content !important;
  padding: 7px 10px !important;
  font-size: 0 !important;
  line-height: 1 !important;
  opacity: .78;
}

.public-edit-btn::after {
  content: "Izmeni";
  font-size: 11px;
  letter-spacing: .02em;
}

.public-edit-btn:hover,
.public-edit-btn:focus-visible {
  opacity: 1;
}

.banner-rotation > .public-edit-btn::after { content: "Rotacija"; }
.banner-slide .public-edit-banner-btn::after { content: "Baner"; }
.home-hero-block > .public-edit-btn::after { content: "Hero"; }
.home-player-zone > .public-edit-btn::after { content: "Plejer"; }
.home-panel-slot > .public-edit-btn::after { content: "Sema"; }

@media (max-width: 1260px) {
  .home-main-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .request-panel,
  .ads-panel,
  .news-panel {
    min-height: 230px !important;
  }
}

@media (max-width: 760px) {
  .home-template-v2 {
    padding-inline: 10px;
    gap: 14px;
  }

  .home-main-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .home-main-grid .panel,
  .request-panel,
  .ads-panel,
  .news-panel {
    min-height: 0 !important;
  }

  .request-panel,
  .ads-panel {
    padding: 18px 16px !important;
  }

  .request-panel > div,
  .ads-panel > div {
    max-width: calc(100% - 76px);
  }

  .request-panel h2,
  .ads-panel h2 {
    font-size: clamp(26px, 9vw, 38px);
  }

  .request-panel p,
  .ads-panel p {
    max-width: none;
    font-size: 16px;
  }

  .panel-art,
  .request-panel .panel-art,
  .ads-panel .panel-art {
    width: 68px !important;
    max-height: 112px !important;
  }

  .home-main-grid .schedule-row {
    grid-template-columns: 88px minmax(0, 1fr);
    padding-inline: 14px;
  }

  .news-list {
    padding-inline: 12px;
  }

  .home-bottom-banner-zone {
    width: 100%;
    padding: 8px;
    border-radius: 14px;
  }

  .home-bottom-banner-zone .banner-rotation,
  .section-ads .banner-rotation[data-position="home_bottom_scroll"] {
    aspect-ratio: 2.25 / 1 !important;
    max-height: none;
  }

  .home-extra-section {
    width: 100% !important;
  }

  .home-extra-section .panel,
  .home-extra-section .text-panel,
  .home-extra-section .contact-panel {
    padding: 18px 16px !important;
  }

  .site-footer,
  footer.site-footer {
    width: calc(100% - 20px) !important;
    grid-template-columns: 1fr !important;
    padding: 22px 18px 96px !important;
  }

  .site-footer img {
    width: 138px !important;
  }
}

/* R24: slike i banneri moraju ostati celi u okviru; sekcije ostaju postojece. */
.banner-rotation,
.home-banner-cell,
.home-banner-zone-single,
.home-bottom-banner-zone {
  max-width: 100% !important;
  overflow: hidden !important;
}

.home-banner-cell .banner-rotation,
.hero-banner-split .banner-rotation,
.home-banner-zone-top .banner-rotation {
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 3 / 1 !important;
  min-height: 0 !important;
  max-height: 260px !important;
  border-radius: 12px;
  background: #070403 !important;
}

.home-bottom-banner-zone .banner-rotation,
.section-ads .banner-rotation[data-position="home_bottom_scroll"],
.banner-rotation[data-position="home_bottom_scroll"] {
  width: 100% !important;
  margin: 0 !important;
  aspect-ratio: 3 / 1 !important;
  min-height: 0 !important;
  max-height: 420px !important;
  border-radius: 14px;
  background: #070403 !important;
}

.banner-slide,
.banner-slide.active {
  inset: 0 !important;
  overflow: hidden !important;
}

.banner-slide a,
.banner-slide picture,
.banner-slide img,
.html-banner,
.home-banner-cell .banner-slide a,
.home-banner-cell .banner-slide picture,
.home-banner-cell .banner-slide img,
.home-bottom-banner-zone .banner-slide a,
.home-bottom-banner-zone .banner-slide picture,
.home-bottom-banner-zone .banner-slide img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

.banner-slide img,
.home-banner-cell .banner-slide img,
.hero-banner-split .banner-slide img,
.section-ads .banner-slide img,
.home-bottom-banner-zone .banner-slide img,
.banner-rotation[data-position="home_top_left"] img,
.banner-rotation[data-position="home_top_right"] img,
.banner-rotation[data-position="home_bottom_scroll"] img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #070403 !important;
}

.banner-dots {
  bottom: 8px !important;
  z-index: 8 !important;
}

.home-main-grid .schedule-week {
  display: flex !important;
  grid-template-columns: none !important;
  gap: 0 !important;
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-snap-type: x mandatory;
  scrollbar-width: thin;
  padding: 10px 12px 14px;
}

.home-main-grid .schedule-day-card {
  flex: 0 0 100%;
  min-width: 100%;
  max-width: 100%;
  scroll-snap-align: start;
  border-right: 0 !important;
  padding: 0 4px 4px !important;
}

.home-main-grid .schedule-day-card h3 {
  position: sticky;
  left: 0;
  margin: 0 0 8px;
  padding: 7px 10px;
  border: 1px solid rgba(226, 154, 35, .24);
  border-radius: 999px;
  background: rgba(12, 8, 4, .86);
  color: #f2c56d;
  width: max-content;
}

.home-main-grid .schedule-week-row {
  grid-template-columns: 96px minmax(0, 1fr) !important;
  padding: 7px 4px !important;
}

.home-main-grid .news-panel {
  overflow: hidden;
}

.home-main-grid .news-list {
  max-height: 318px;
  overflow-y: auto;
  padding-right: 8px;
  scrollbar-width: thin;
}

.home-main-grid .news-row {
  min-height: 70px;
}

.home-main-grid .news-row img,
.home-main-grid .news-date-badge,
.article-grid img,
.page-content > .featured,
.prose img,
.gallery-grid img,
.media-item img {
  object-fit: contain !important;
  object-position: center center !important;
  background: #080604 !important;
}

.article-grid img {
  aspect-ratio: 16 / 9;
}

.page-content > .featured {
  width: 100%;
  max-height: 620px;
}

.request-panel,
.ads-panel,
.news-panel,
.home-main-grid .schedule-week-panel {
  max-height: none !important;
}

@media (max-width: 760px) {
  .home-banner-cell .banner-rotation,
  .hero-banner-split .banner-rotation,
  .home-banner-zone-top .banner-rotation,
  .home-bottom-banner-zone .banner-rotation,
  .section-ads .banner-rotation[data-position="home_bottom_scroll"],
  .banner-rotation[data-position="home_bottom_scroll"] {
    aspect-ratio: 3 / 1 !important;
    max-height: 170px !important;
  }

  .home-bottom-banner-zone {
    padding: 7px !important;
  }

  .home-main-grid .schedule-week {
    padding: 8px 10px 12px;
  }

  .home-main-grid .schedule-day-card {
    flex-basis: 100%;
  }

  .home-main-grid .news-list {
    max-height: 286px;
  }
}

/* R25: final front layout corrections requested on 2026-07-08 */
.home-main-grid {
  align-items: stretch !important;
}

.home-main-grid > .panel,
.home-main-grid > .home-panel-slot,
.home-main-grid .request-panel,
.home-main-grid .news-panel,
.home-main-grid .ads-panel {
  height: 100% !important;
}

.home-main-grid .schedule-week-intro {
  display: none !important;
}

.home-main-grid .schedule-week-panel {
  display: flex !important;
  flex-direction: column !important;
}

.home-main-grid .schedule-week {
  flex: 1 1 auto !important;
  min-height: 248px !important;
  max-height: 318px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x mandatory !important;
  scrollbar-width: thin !important;
}

.home-main-grid .schedule-day-card {
  flex: 0 0 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  scroll-snap-align: start !important;
}

.home-main-grid .schedule-day-card h3 {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 28px !important;
  margin-bottom: 10px !important;
}

.home-info-grid {
  width: min(1460px, 100%) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 16px !important;
  align-items: stretch !important;
}

.home-info-grid .home-extra-section {
  width: 100% !important;
  margin: 0 !important;
  height: 100% !important;
}

.home-info-grid .home-extra-section .panel,
.home-info-grid .home-extra-section .text-panel,
.home-info-grid .home-extra-section .contact-panel {
  height: 100% !important;
  min-height: 0 !important;
  padding: clamp(22px, 2.1vw, 34px) !important;
}

.home-info-grid .home-extra-section p {
  max-width: none !important;
}

.home-bottom-banner-zone .banner-slide img,
.home-banner-zone .banner-slide img,
.banner-rotation .banner-slide img,
.article-grid img,
.news-row img,
.gallery-grid img,
.page-content > .featured,
.prose img {
  object-fit: contain !important;
  object-position: center center !important;
}

@media (max-width: 900px) {
  .home-info-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
  }
}

@media (max-width: 760px) {
  .player-shell .meters-block {
    display: none !important;
  }

  .player-shell .actions-block {
    order: 4 !important;
  }

  .player-shell .next-track {
    order: 5 !important;
  }

  .home-main-grid .schedule-week {
    max-height: none !important;
    min-height: 230px !important;
  }

  .home-bottom-banner-zone .banner-rotation,
  .home-banner-zone .banner-rotation,
  .banner-rotation {
    max-width: 100% !important;
  }
}

/* R26: central typography, admin-driven ticker and dynamic front slots. */
:root {
  --sans: var(--font-body, 'Segoe UI', Arial, sans-serif);
  --serif: var(--font-heading, Georgia, 'Times New Roman', serif);
  --gold: var(--button-accent, #d79224);
  --gold2: var(--link-color, #f3c467);
  --cream: var(--heading-color, #f4dfb0);
}

body {
  font-family: var(--font-body, var(--sans)) !important;
  font-size: var(--text-size-base, 16px);
  line-height: var(--line-height-base, 1.55);
  color: var(--text-color, #f8eddc);
}

h1,
h2,
h3,
.hero h1,
.track-block h2,
.track-block h3,
.page-hero h1,
.news-home > header h2,
.text-feature h2,
.partners h2 {
  font-family: var(--font-heading, var(--serif)) !important;
  color: var(--heading-color, #f4dfb0);
}

.hero h1,
.page-hero h1 { font-size: var(--h1-size, clamp(40px,6vw,82px)) !important; }
.panel h2,
.home-extra-section h2,
.news-home > header h2,
.text-feature h2,
.partners h2 { font-size: var(--h2-size, clamp(26px,3vw,42px)) !important; }

a { color: var(--link-color, #f3c467); }
button,
.outline-btn,
.gold-btn,
.btn { font-family: var(--font-button, var(--font-body, var(--sans))) !important; }
.player-shell,
.player-dock { font-family: var(--font-player, var(--font-body, var(--sans))) !important; }

.radio-ticker {
  width: 100%;
  overflow: hidden;
  border-block: 1px solid rgba(0,0,0,.18);
  background: var(--ticker-bg, #d89422);
  color: var(--ticker-color, #170c04);
  font-size: var(--ticker-size, 16px);
  font-weight: var(--ticker-weight, 800);
  line-height: 1.2;
  white-space: nowrap;
  box-shadow: inset 0 1px rgba(255,255,255,.18), 0 10px 30px rgba(0,0,0,.18);
}

.radio-ticker-track {
  display: inline-flex;
  min-width: max-content;
  gap: 3rem;
  padding: .62rem 0;
  animation: civijasTicker var(--ticker-speed, 32s) linear infinite;
}

.radio-ticker:hover .radio-ticker-track { animation-play-state: paused; }
.radio-ticker span { display: inline-flex; padding-left: 3rem; }
.radio-ticker a { color: inherit; text-decoration: none; }
.radio-ticker a:hover { text-decoration: underline; }

@keyframes civijasTicker {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

.home-extra-section.slot-before_hero,
.home-extra-section.slot-after_hero,
.home-extra-section.slot-before_player,
.home-extra-section.slot-after_player,
.home-extra-section.slot-after_schedule,
.home-extra-section.slot-after_requests,
.home-extra-section.slot-after_news,
.home-extra-section.slot-after_ads,
.home-extra-section.slot-before_footer {
  width: min(1460px, calc(100% - 44px));
  margin: 18px auto;
}

.custom-html-block,
.responsive-iframe {
  width: 100%;
  max-width: 100%;
}

.responsive-iframe {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(217,151,37,.38);
  border-radius: 14px;
  background: #080604;
  aspect-ratio: 16 / 9;
}

.responsive-iframe iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.section-html .text-panel,
.section-iframe .text-panel,
.section-notice .text-panel,
.section-cta .text-panel,
.section-image .text-panel {
  min-height: auto !important;
}

@media (max-width: 720px) {
  .radio-ticker { font-size: calc(var(--ticker-size, 16px) * .88); }
  .radio-ticker-track { padding: .52rem 0; gap: 2rem; }
  .home-extra-section.slot-before_hero,
  .home-extra-section.slot-after_hero,
  .home-extra-section.slot-before_player,
  .home-extra-section.slot-after_player,
  .home-extra-section.slot-after_schedule,
  .home-extra-section.slot-after_requests,
  .home-extra-section.slot-after_news,
  .home-extra-section.slot-after_ads,
  .home-extra-section.slot-before_footer { width: calc(100% - 20px); margin: 12px auto; }
}

/* UI01: Čivijaš Radio CMS visual baseline — public front. */
:root {
  --ui01-bg: #050302;
  --ui01-panel: rgba(18, 12, 7, .94);
  --ui01-panel-2: rgba(28, 17, 8, .88);
  --ui01-line: rgba(215, 146, 36, .42);
  --ui01-line-strong: rgba(245, 197, 103, .68);
  --ui01-gold: #d79224;
  --ui01-gold-soft: #f3c467;
  --ui01-cream: #f4dfb0;
  --ui01-text: #f2e5cf;
  --ui01-muted: #bba88c;
  --ui01-radius: 18px;
  --ui01-radius-sm: 12px;
  --ui01-shadow: 0 24px 70px rgba(0, 0, 0, .52);
  --ui01-inset: inset 0 1px 0 rgba(255, 222, 148, .08);
}

html,
body {
  max-width: 100%;
  overflow-x: hidden;
}

body {
  background:
    radial-gradient(ellipse at 50% -4%, rgba(121, 55, 12, .42), transparent 38rem),
    radial-gradient(circle at 82% 8%, rgba(217,146,36,.12), transparent 28rem),
    linear-gradient(180deg, #090604 0%, #050302 62%, #030202 100%) !important;
  color: var(--text-color, var(--ui01-text));
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}

body::before,
body::after {
  width: clamp(34px, 4vw, 70px);
  opacity: .22;
  pointer-events: none;
}

img,
svg,
video,
iframe {
  max-width: 100%;
}

.site-header {
  width: min(1500px, calc(100% - 28px));
  height: auto;
  min-height: 92px;
  margin: 0 auto;
  padding: 10px clamp(14px, 2.4vw, 34px);
  border-bottom: 1px solid rgba(215,146,36,.18);
  background: rgba(5, 4, 3, .62);
  backdrop-filter: blur(10px);
}

.site-header.sticky {
  width: 100%;
  max-width: none;
  border-bottom-color: rgba(215,146,36,.26);
  background: rgba(5, 4, 3, .9);
  box-shadow: 0 14px 42px rgba(0,0,0,.28);
}

.brand img {
  width: clamp(196px, 17vw, 280px);
  height: auto;
  max-height: 86px;
  object-fit: contain;
  filter: drop-shadow(0 10px 24px rgba(0,0,0,.55));
}

.main-nav {
  gap: clamp(12px, 1.6vw, 28px);
}

.main-nav a {
  color: #f3e6cf;
  letter-spacing: .035em;
  transition: color .18s ease, border-color .18s ease, text-shadow .18s ease;
}

.main-nav a:hover,
.main-nav a.active {
  color: var(--ui01-gold-soft);
  text-shadow: 0 0 18px rgba(215,146,36,.28);
}

.outline-btn,
.gold-btn,
.btn,
.action-grid button,
.action-grid a,
.wide-action,
.next-track button {
  border-radius: 999px;
  border-color: rgba(215,146,36,.72);
  background: linear-gradient(180deg, rgba(33,22,10,.88), rgba(10,7,4,.9));
  color: var(--ui01-gold-soft);
  box-shadow: var(--ui01-inset);
}

.gold-btn,
.btn:hover,
.outline-btn:hover {
  border-color: var(--ui01-gold-soft);
}

.home-template-v2 {
  width: min(1540px, 100%);
  max-width: 1540px;
  padding-inline: clamp(10px, 2.7vw, 42px) !important;
  gap: clamp(14px, 1.7vw, 22px) !important;
}

.home-hero-block {
  width: min(1500px, 100%);
  min-height: clamp(210px, 20vw, 335px) !important;
  margin: 0 auto !important;
  border: 1px solid rgba(215,146,36,.28);
  border-radius: 0 0 22px 22px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(3, 2, 1, .35), rgba(5, 3, 2, .72)),
    radial-gradient(ellipse at 50% 92%, rgba(206, 107, 24, .38), transparent 50%),
    linear-gradient(135deg, rgba(55, 24, 8, .72), rgba(5, 3, 2, .88)) !important;
  box-shadow: 0 28px 80px rgba(0,0,0,.44);
}

.home-hero-block::before {
  opacity: .18 !important;
}

.home-hero-block .hero-copy {
  width: min(1080px, 100%);
  padding: 14px;
}

.home-hero-block h1 {
  color: var(--heading-color, var(--ui01-cream)) !important;
  font-size: clamp(42px, 5.2vw, 78px) !important;
  letter-spacing: -.03em;
  text-shadow: 0 4px 26px rgba(0,0,0,.72);
}

.home-hero-block p {
  color: #f7ead4;
  font-size: clamp(18px, 1.65vw, 25px) !important;
  line-height: 1.28;
}

.home-hero-block em {
  color: var(--ui01-gold-soft);
  text-shadow: 0 2px 16px rgba(0,0,0,.58);
}

.home-player-zone {
  width: min(1460px, 100%) !important;
}

.player-shell {
  width: min(1460px, calc(100% - 0px));
  max-width: 1460px;
  border-color: rgba(239, 180, 72, .76);
  background:
    radial-gradient(circle at 42% 20%, rgba(217,146,36,.12), transparent 36%),
    linear-gradient(115deg, rgba(18, 12, 7, .97), rgba(8, 6, 4, .98)) !important;
  box-shadow: var(--ui01-shadow), var(--ui01-inset) !important;
}

.cover-block img,
.player-dock img {
  object-fit: cover;
}

.main-play {
  box-shadow: inset 0 0 0 10px rgba(37,21,10,.96), inset 0 0 0 12px rgba(221,164,71,.78), 0 0 38px rgba(217,146,36,.32) !important;
}

.content-grid,
.home-main-grid,
.home-banner-zone,
.home-bottom-banner-zone,
.home-extra-section,
.home-info-grid,
.news-home,
.text-feature,
.partners,
.article-grid,
.page-content,
.legal-page,
.site-footer,
footer.site-footer {
  max-width: 1460px;
}

.home-main-grid {
  grid-template-columns: minmax(260px, .96fr) minmax(260px, .88fr) minmax(320px, 1.06fr) minmax(280px, .98fr) !important;
  gap: clamp(12px, 1.2vw, 16px) !important;
}

.panel,
.home-main-grid .panel,
.home-extra-section .panel,
.home-extra-section .text-panel,
.text-feature,
.partners,
.article-grid article,
.card-form,
.prose,
.public-empty,
.banner-rotation,
.home-banner-cell,
.home-bottom-banner-zone,
.player-dock,
.cookie-panel {
  border-color: var(--ui01-line) !important;
  border-radius: var(--ui01-radius-sm) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(215,146,36,.1), transparent 38%),
    linear-gradient(145deg, rgba(20, 14, 8, .96), rgba(8, 6, 4, .97)) !important;
  box-shadow: var(--ui01-inset), 0 18px 50px rgba(0,0,0,.34);
}

.panel header,
.home-main-grid .schedule header,
.home-main-grid .panel-title,
.news-panel .panel-title,
.ads-panel .panel-title {
  border-bottom-color: rgba(215,146,36,.22) !important;
}

.panel h2,
.panel header h2,
.news-panel .panel-title,
.ads-panel .panel-title,
.home-extra-section h2,
.text-feature h2,
.partners h2,
.news-home > header h2 {
  color: var(--ui01-gold-soft) !important;
  letter-spacing: .025em;
}

.schedule-row,
.home-main-grid .schedule-week-row,
.news-row {
  border-radius: 10px;
  transition: background .18s ease, transform .18s ease;
}

.schedule-row:hover,
.home-main-grid .schedule-week-row:hover,
.news-row:hover {
  background: rgba(215,146,36,.06);
  transform: translateY(-1px);
}

.news-row img,
.news-date-badge,
.article-grid img,
.gallery-grid img,
.page-content > .featured,
.prose img {
  border-color: rgba(215,146,36,.45) !important;
  background: #080604 !important;
}

.request-panel,
.ads-panel {
  background:
    radial-gradient(circle at 82% 34%, rgba(160,48,18,.36), transparent 42%),
    linear-gradient(135deg, rgba(60, 13, 6, .9), rgba(16, 9, 5, .98)) !important;
}

.request-panel h2,
.ads-panel h2 {
  color: var(--ui01-gold-soft) !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.48);
}

.home-extra-section .text-panel,
.home-extra-section .contact-panel {
  color: var(--ui01-text);
}

.custom-html-block {
  overflow-wrap: anywhere;
}

.custom-html-block > *:first-child { margin-top: 0; }
.custom-html-block > *:last-child { margin-bottom: 0; }

.responsive-iframe {
  border-radius: 14px;
  border-color: rgba(215,146,36,.38);
}

.site-footer,
footer.site-footer {
  width: min(1460px, calc(100% - 28px)) !important;
  margin-top: 24px !important;
  border: 1px solid rgba(215,146,36,.24) !important;
  border-radius: 18px 18px 0 0 !important;
  background:
    radial-gradient(circle at 0 0, rgba(215,146,36,.10), transparent 36%),
    linear-gradient(180deg, rgba(14, 10, 6, .94), rgba(4, 3, 2, .98)) !important;
}

.player-dock {
  border-radius: 14px !important;
  backdrop-filter: blur(14px);
}

.public-empty {
  color: #d8c5a7;
}

.public-empty b {
  color: var(--ui01-gold-soft);
}

@media (max-width: 1260px) {
  .home-main-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .player-shell {
    width: calc(100% - 20px);
  }
}

@media (max-width: 900px) {
  .site-header {
    width: 100%;
    padding-inline: 12px;
  }

  .brand img {
    width: clamp(176px, 46vw, 230px);
  }

  .home-template-v2 {
    padding-inline: 10px !important;
  }
}

@media (max-width: 760px) {
  body::before,
  body::after {
    display: none;
  }

  .home-hero-block {
    min-height: 215px !important;
    border-radius: 0 0 16px 16px;
  }

  .home-hero-block h1 {
    font-size: clamp(35px, 11vw, 54px) !important;
  }

  .home-main-grid,
  .home-info-grid,
  .article-grid {
    grid-template-columns: 1fr !important;
  }

  .player-shell {
    width: 100%;
    border-radius: 16px;
  }

  .panel,
  .home-main-grid .panel,
  .home-extra-section .panel,
  .home-extra-section .text-panel,
  .text-feature,
  .partners,
  .article-grid article,
  .prose,
  .banner-rotation,
  .home-banner-cell,
  .home-bottom-banner-zone {
    border-radius: 13px !important;
  }

  .site-footer,
  footer.site-footer {
    width: calc(100% - 20px) !important;
  }

  .player-dock {
    right: 10px;
    bottom: 10px;
    width: calc(100% - 20px);
  }
}

@media (max-width: 420px) {
  .home-template-v2 { padding-inline: 8px !important; }
  .home-main-grid .schedule-week-row { grid-template-columns: 78px minmax(0,1fr) !important; }
  .news-row { grid-template-columns: 68px minmax(0,1fr) !important; }
  .news-row img,
  .news-date-badge { width: 68px !important; height: 52px !important; }
}

/* UI02: visual matching pass — closer to supplied Čivijaš Radio public mockup. CSS only, no logic changes. */
:root {
  --ui02-bg: #030201;
  --ui02-panel: rgba(17, 11, 6, .965);
  --ui02-panel-2: rgba(29, 17, 8, .92);
  --ui02-gold: #d79224;
  --ui02-gold-2: #f3c467;
  --ui02-cream: #f4dfb0;
  --ui02-text: #f1e2ca;
  --ui02-muted: #b9a283;
  --ui02-line: rgba(215, 146, 36, .44);
  --ui02-line-hot: rgba(243, 196, 103, .72);
  --ui02-radius: 16px;
  --ui02-radius-sm: 11px;
  --ui02-shadow: 0 26px 76px rgba(0,0,0,.56);
  --ui02-glow: inset 0 1px 0 rgba(255,226,155,.08), 0 18px 52px rgba(0,0,0,.36);
}

html,
body {
  overflow-x: hidden !important;
}

body {
  background:
    radial-gradient(ellipse at 50% -8%, rgba(132, 57, 11, .42), transparent 39rem),
    radial-gradient(circle at 88% 16%, rgba(215,146,36,.12), transparent 30rem),
    linear-gradient(180deg, #090604 0%, #050302 54%, #030201 100%) !important;
}

.site-header {
  width: min(1500px, calc(100% - 28px)) !important;
  min-height: 90px !important;
  padding: 9px clamp(14px, 2.4vw, 34px) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(215,146,36,.25) !important;
  background: linear-gradient(180deg, rgba(5,4,3,.88), rgba(5,4,3,.62)) !important;
  backdrop-filter: blur(12px);
}

.site-header.sticky {
  width: 100% !important;
  background: rgba(5,4,3,.94) !important;
  border-bottom-color: rgba(215,146,36,.34) !important;
}

.brand img {
  width: clamp(210px, 18vw, 310px) !important;
  max-height: 86px !important;
  object-fit: contain !important;
}

.main-nav a {
  position: relative;
  padding-block: 8px;
  color: #f4e6cf !important;
  font-size: clamp(13px, .86vw, 16px);
  font-weight: 850;
  text-transform: uppercase;
}

.main-nav a::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -7px;
  height: 2px;
  transform: scaleX(0);
  transform-origin: center;
  background: linear-gradient(90deg, transparent, var(--ui02-gold-2), transparent);
  transition: transform .2s ease;
}

.main-nav a:hover::after,
.main-nav a.active::after {
  transform: scaleX(1);
}

.outline-btn,
.gold-btn,
.btn,
.action-grid button,
.action-grid a,
.wide-action,
.next-track button {
  border: 1px solid rgba(215,146,36,.68) !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, rgba(34,22,10,.92), rgba(9,6,3,.95)) !important;
  color: #f5ca70 !important;
  font-weight: 850;
  box-shadow: inset 0 1px 0 rgba(255,226,155,.08) !important;
}

.gold-btn,
.btn.primary,
button.primary {
  background: linear-gradient(135deg, #f2bd4f, #b56c1a) !important;
  color: #1c0e04 !important;
  border-color: #f3cc72 !important;
}

.home-template-v2 {
  width: min(1600px, 100%) !important;
  max-width: 1600px !important;
  padding-inline: clamp(12px, 4.2vw, 86px) !important;
  gap: clamp(14px, 1.45vw, 22px) !important;
}

.home-hero-block {
  width: min(1520px, 100%) !important;
  min-height: clamp(245px, 23vw, 390px) !important;
  padding: clamp(36px, 4.3vw, 72px) 18px clamp(28px, 3vw, 46px) !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(215,146,36,.33) !important;
  border-radius: 0 0 24px 24px !important;
  background:
    linear-gradient(180deg, rgba(4,3,2,.20), rgba(5,3,2,.84)),
    radial-gradient(ellipse at 50% 86%, rgba(216,119,30,.36), transparent 48%),
    linear-gradient(110deg, rgba(39,16,5,.86), rgba(7,4,2,.94)) !important;
  box-shadow: 0 34px 86px rgba(0,0,0,.48) !important;
}

.home-hero-block::before {
  height: 90px !important;
  opacity: .20 !important;
}

.home-hero-block .hero-copy {
  width: min(1160px, 100%) !important;
}

.home-hero-block h1 {
  color: #f4dfb0 !important;
  font-size: clamp(48px, 5.35vw, 86px) !important;
  line-height: .97 !important;
  letter-spacing: -.038em !important;
  text-shadow: 0 5px 28px rgba(0,0,0,.82), 0 0 22px rgba(215,146,36,.17) !important;
}

.home-hero-block p {
  color: #f8ead4 !important;
  margin-top: 12px !important;
  font-size: clamp(18px, 1.6vw, 26px) !important;
}

.home-hero-block em {
  margin-top: 8px !important;
  color: #f3c467 !important;
  font-size: clamp(18px, 1.55vw, 25px) !important;
}

.home-player-zone {
  width: min(1480px, 100%) !important;
  margin-top: -6px !important;
}

.player-shell {
  width: min(1480px, 100%) !important;
  border: 1px solid rgba(243,196,103,.76) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 38% 10%, rgba(215,146,36,.13), transparent 36%),
    radial-gradient(circle at 85% 30%, rgba(111,45,10,.20), transparent 28%),
    linear-gradient(115deg, rgba(18,12,7,.985), rgba(7,5,4,.985)) !important;
  box-shadow: var(--ui02-shadow), inset 0 1px 0 rgba(255,226,155,.10) !important;
}

.cover-block img,
.player-dock img {
  border: 1px solid rgba(215,146,36,.42) !important;
  border-radius: 9px !important;
  box-shadow: 0 18px 40px rgba(0,0,0,.45) !important;
}

.main-play {
  background: radial-gradient(circle, #f7ca68 0 9%, #714211 25%, #211108 58%, #080503 100%) !important;
  box-shadow: inset 0 0 0 10px rgba(27,15,7,.98), inset 0 0 0 12px rgba(243,196,103,.74), 0 0 44px rgba(215,146,36,.35) !important;
}

.track-block h2 {
  color: #fff0d0 !important;
  font-size: clamp(27px, 2.3vw, 38px) !important;
  letter-spacing: -.02em;
}

.track-block h3 {
  color: #dac5a8 !important;
}

.listeners,
.action-grid button,
.action-grid a,
.wide-action,
.next-track button {
  background: rgba(13, 8, 4, .74) !important;
}

.content-grid,
.home-main-grid,
.home-banner-zone,
.home-bottom-banner-zone,
.home-extra-section,
.home-info-grid,
.news-home,
.text-feature,
.partners,
.article-grid,
.page-content,
.legal-page,
.site-footer,
footer.site-footer {
  max-width: 1480px !important;
}

.home-main-grid {
  grid-template-columns: minmax(280px, .95fr) minmax(280px, .86fr) minmax(330px, 1.03fr) minmax(300px, .98fr) !important;
  gap: clamp(13px, 1.25vw, 18px) !important;
}

.panel,
.home-main-grid .panel,
.home-extra-section .panel,
.home-extra-section .text-panel,
.text-feature,
.partners,
.article-grid article,
.card-form,
.prose,
.public-empty,
.banner-rotation,
.home-banner-cell,
.home-bottom-banner-zone,
.player-dock,
.cookie-panel {
  border: 1px solid rgba(215,146,36,.46) !important;
  border-radius: var(--ui02-radius) !important;
  background:
    radial-gradient(circle at 100% 0, rgba(215,146,36,.10), transparent 36%),
    linear-gradient(145deg, rgba(18,12,7,.97), rgba(7,5,4,.98)) !important;
  box-shadow: var(--ui02-glow) !important;
}

.panel {
  padding: clamp(17px, 1.4vw, 24px) !important;
}

.panel header,
.home-main-grid .schedule header,
.home-main-grid .panel-title,
.news-panel .panel-title,
.ads-panel .panel-title {
  border-bottom: 1px solid rgba(215,146,36,.23) !important;
  padding-bottom: 11px !important;
}

.panel h2,
.panel header h2,
.news-panel .panel-title,
.ads-panel .panel-title,
.home-extra-section h2,
.text-feature h2,
.partners h2,
.news-home > header h2,
.eyebrow {
  color: #f3c467 !important;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .035em !important;
}

.schedule-row,
.home-main-grid .schedule-week-row,
.news-row {
  border-radius: 10px !important;
  padding: 7px 8px;
}

.schedule-row:hover,
.home-main-grid .schedule-week-row:hover,
.news-row:hover {
  background: rgba(215,146,36,.07) !important;
  transform: translateY(-1px);
}

.request-panel,
.ads-panel {
  border-color: rgba(215,146,36,.58) !important;
  background:
    radial-gradient(circle at 82% 34%, rgba(155,48,17,.39), transparent 42%),
    linear-gradient(135deg, rgba(58,13,6,.93), rgba(14,8,5,.985)) !important;
}

.request-panel h2,
.ads-panel h2 {
  color: #f3c467 !important;
  text-shadow: 0 3px 16px rgba(0,0,0,.54) !important;
}

.news-row img,
.news-date-badge,
.article-grid img,
.gallery-grid img,
.page-content > .featured,
.prose img {
  border: 1px solid rgba(215,146,36,.46) !important;
  border-radius: 9px !important;
  background: #090604 !important;
}

.home-info-grid {
  gap: clamp(14px, 1.2vw, 18px) !important;
}

.custom-html-block {
  width: 100% !important;
  overflow: hidden;
}

.custom-html-block iframe,
.responsive-iframe iframe {
  max-width: 100% !important;
}

.site-footer,
footer.site-footer {
  width: min(1480px, calc(100% - 28px)) !important;
  margin: 28px auto 0 !important;
  padding: clamp(18px, 2vw, 30px) !important;
  border: 1px solid rgba(215,146,36,.26) !important;
  border-radius: 18px 18px 0 0 !important;
  background:
    radial-gradient(circle at 0 0, rgba(215,146,36,.11), transparent 34%),
    linear-gradient(180deg, rgba(14,9,5,.96), rgba(4,3,2,.99)) !important;
}

.player-dock {
  border-radius: 14px !important;
  backdrop-filter: blur(14px);
}

@media (max-width: 1280px) {
  .home-template-v2 { padding-inline: clamp(12px, 2vw, 26px) !important; }
  .home-main-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 900px) {
  .site-header { width: 100% !important; min-height: 78px !important; }
  .brand img { width: clamp(170px, 44vw, 235px) !important; }
  .home-template-v2 { padding-inline: 10px !important; }
  .home-hero-block { min-height: 230px !important; }
}

@media (max-width: 760px) {
  .home-hero-block {
    min-height: 210px !important;
    padding: 34px 12px 25px !important;
    border-radius: 0 0 16px 16px !important;
  }

  .home-hero-block h1 {
    font-size: clamp(34px, 10.8vw, 54px) !important;
  }

  .home-hero-block p,
  .home-hero-block em {
    font-size: clamp(16px, 4.2vw, 20px) !important;
  }

  .home-main-grid,
  .home-info-grid,
  .article-grid {
    grid-template-columns: 1fr !important;
  }

  .player-shell {
    border-radius: 16px !important;
  }

  .panel,
  .home-main-grid .panel,
  .home-extra-section .panel,
  .home-extra-section .text-panel,
  .text-feature,
  .partners,
  .article-grid article,
  .prose,
  .banner-rotation,
  .home-banner-cell,
  .home-bottom-banner-zone {
    border-radius: 13px !important;
  }

  .site-footer,
  footer.site-footer {
    width: calc(100% - 20px) !important;
  }
}

@media (max-width: 430px) {
  .home-template-v2 { padding-inline: 8px !important; }
  .panel { padding: 14px !important; }
  .home-main-grid .schedule-week-row { grid-template-columns: 76px minmax(0,1fr) !important; }
  .news-row { grid-template-columns: 66px minmax(0,1fr) !important; gap: 10px !important; }
  .news-row img,
  .news-date-badge { width: 66px !important; height: 50px !important; }
}

/* =========================================================

/* =========================================================
   UI04 — Čivijaš CMS public visual push
   Samo vizuelni sloj: bez PHP/SQL/player logike.
   ========================================================= */
:root {
  --cr-bg: #050302;
  --cr-bg-soft: #0b0704;
  --cr-panel: #130d07;
  --cr-panel-deep: #090604;
  --cr-gold: #d69a27;
  --cr-gold-soft: #f5d782;
  --cr-cream: #fff0d2;
  --cr-muted: #b9a78e;
  --cr-line: rgba(214,154,39,.40);
  --cr-line-strong: rgba(245,215,130,.68);
}

html,
body {
  max-width: 100% !important;
  overflow-x: hidden !important;
}

body:not(.admin-ui) {
  background:
    radial-gradient(circle at 50% -5%, rgba(166,83,18,.34), transparent 34rem),
    radial-gradient(circle at 13% 18%, rgba(214,154,39,.12), transparent 24rem),
    linear-gradient(180deg, #080503 0%, #040302 100%) !important;
  color: var(--cr-cream) !important;
}

body:not(.admin-ui)::before,
body:not(.admin-ui)::after {
  width: 54px !important;
  opacity: .20 !important;
}

.site-header {
  width: min(1540px, calc(100% - 34px)) !important;
  min-height: 98px !important;
  margin: 0 auto 8px !important;
  padding: 10px 24px !important;
  border: 1px solid rgba(214,154,39,.22) !important;
  border-top: 0 !important;
  border-radius: 0 0 24px 24px !important;
  background:
    radial-gradient(circle at 18% 0%, rgba(214,154,39,.12), transparent 22rem),
    linear-gradient(180deg, rgba(13,9,5,.96), rgba(5,4,3,.92)) !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.45), inset 0 1px rgba(255,255,255,.05) !important;
  backdrop-filter: blur(14px) !important;
}

.site-header.sticky {
  top: 0 !important;
  z-index: 100 !important;
}

.brand img {
  width: clamp(210px, 17vw, 310px) !important;
  height: auto !important;
  max-height: 82px !important;
  object-fit: contain !important;
}

.main-nav {
  gap: 10px !important;
}

.main-nav a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 40px !important;
  padding: 10px 13px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: #eadcc4 !important;
  background: rgba(255,255,255,.018) !important;
}

.main-nav a:hover,
.main-nav a.active {
  border-color: rgba(245,215,130,.50) !important;
  color: #ffe0a0 !important;
  background: linear-gradient(180deg, rgba(70,44,14,.74), rgba(13,9,5,.72)) !important;
  box-shadow: 0 10px 24px rgba(0,0,0,.25) !important;
}

.outline-btn,
.gold-btn,
.header-login,
.header-listen,
.action-grid button,
.action-grid a,
.wide-action,
.next-track button,
.panel .btn,
.text-panel .btn {
  border-radius: 999px !important;
  border-color: rgba(245,215,130,.48) !important;
  background: linear-gradient(180deg, rgba(26,18,9,.92), rgba(8,5,3,.94)) !important;
  color: #f5d782 !important;
  box-shadow: inset 0 1px rgba(255,255,255,.05) !important;
}

.gold-btn,
.header-listen {
  background: linear-gradient(135deg, #ffe19a, #d69a27 48%, #8d520e) !important;
  color: #130902 !important;
  font-weight: 900 !important;
}

.home-template-v2 {
  width: min(1540px, calc(100% - 36px)) !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 18px !important;
}

.home-hero-block,
.hero,
.page-hero {
  width: 100% !important;
  min-height: clamp(260px, 26vw, 420px) !important;
  display: grid !important;
  place-items: center !important;
  padding: clamp(34px, 5vw, 76px) 18px !important;
  border: 1px solid rgba(214,154,39,.34) !important;
  border-radius: 26px !important;
  overflow: hidden !important;
  background-color: #090604 !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: 0 26px 78px rgba(0,0,0,.55), inset 0 1px rgba(255,255,255,.06) !important;
}

.home-hero-block::before,
.hero::before,
.page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  background:
    radial-gradient(circle at 50% 30%, rgba(245,215,130,.12), transparent 27rem),
    linear-gradient(180deg, rgba(5,3,2,.26), rgba(5,3,2,.76)) !important;
}

.home-hero-block .hero-copy,
.hero .hero-copy,
.page-hero > * {
  position: relative !important;
  z-index: 1 !important;
}

.home-hero-block h1,
.hero h1,
.page-hero h1 {
  max-width: 1040px !important;
  margin: 0 auto 12px !important;
  color: #fff1d4 !important;
  font-size: clamp(48px, 6.2vw, 96px) !important;
  line-height: .96 !important;
  letter-spacing: -.045em !important;
  text-align: center !important;
  text-shadow: 0 3px 30px rgba(0,0,0,.70), 0 0 30px rgba(214,154,39,.22) !important;
}

.home-hero-block p,
.home-hero-block em,
.hero p,
.hero em,
.page-hero p {
  max-width: 840px !important;
  margin-inline: auto !important;
  color: #f3d7a5 !important;
  font-size: clamp(17px, 1.7vw, 25px) !important;
  line-height: 1.38 !important;
  text-align: center !important;
}

.home-player-zone,
.player-shell {
  width: 100% !important;
  max-width: 1540px !important;
  margin-inline: auto !important;
}

.player-shell {
  border-radius: 26px !important;
  border-color: rgba(245,215,130,.68) !important;
  background:
    radial-gradient(circle at 20% 20%, rgba(214,154,39,.16), transparent 22rem),
    linear-gradient(115deg, rgba(19,13,7,.98), rgba(6,4,3,.98)) !important;
  box-shadow: 0 26px 86px rgba(0,0,0,.62), inset 0 1px rgba(255,255,255,.08) !important;
}

.live-pill {
  border: 1px solid rgba(255,255,255,.20) !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #ff4037, #8e110b) !important;
}

.cover-block img {
  border-radius: 18px !important;
  border-color: rgba(245,215,130,.48) !important;
  box-shadow: 0 16px 40px rgba(0,0,0,.36) !important;
}

.main-play {
  border-color: rgba(245,215,130,.65) !important;
  background: radial-gradient(circle, #6c3a0c 0%, #241208 46%, #070403 70%) !important;
}

.track-block h2 {
  color: #fff4d9 !important;
  font-size: clamp(28px, 2.5vw, 40px) !important;
}

.track-block h3 {
  color: #f3d49a !important;
  font-size: clamp(20px, 1.7vw, 28px) !important;
}

.listeners,
.action-grid button,
.action-grid a,
.wide-action,
.next-track button {
  border-color: rgba(214,154,39,.34) !important;
  background: rgba(8,5,3,.72) !important;
}

.content-grid,
.home-main-grid,
.home-info-grid,
.article-grid,
.news-home,
.text-feature,
.partners,
.page-content,
.legal-page,
.section-boxed {
  width: min(1540px, calc(100% - 36px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.content-grid,
.home-main-grid {
  gap: 18px !important;
}

.panel,
.home-extra-section .panel,
.home-extra-section .text-panel,
.text-feature,
.partners,
.article-grid article,
.page-content,
.prose,
.comments,
.legal-page,
.banner-rotation,
.home-banner-cell,
.home-bottom-banner-zone {
  border: 1px solid rgba(214,154,39,.38) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 92% 0%, rgba(214,154,39,.13), transparent 15rem),
    linear-gradient(145deg, rgba(19,13,7,.97), rgba(7,5,4,.98)) !important;
  box-shadow: inset 0 1px rgba(255,255,255,.055), 0 20px 58px rgba(0,0,0,.30) !important;
}

.panel header,
.schedule-week-panel header {
  min-height: 52px !important;
  border-bottom-color: rgba(214,154,39,.20) !important;
  background: rgba(0,0,0,.16) !important;
}

.panel header h2,
.panel-title span,
.eyebrow {
  color: #f5d782 !important;
  letter-spacing: .075em !important;
}

.news-row,
.schedule-row,
.schedule-week-row,
.sort-item {
  border-color: rgba(214,154,39,.16) !important;
}

.news-row:hover,
.schedule-row:hover,
.schedule-week-row:hover {
  background: rgba(214,154,39,.055) !important;
}

.banner-rotation img,
.banner-slide img,
.panel-art,
.article-grid article img,
.featured {
  border-radius: 16px !important;
}

.custom-html-block,
.responsive-iframe {
  max-width: 100% !important;
  overflow: hidden !important;
}

.responsive-iframe iframe {
  width: 100% !important;
  border-radius: 18px !important;
  border: 0 !important;
}

.site-footer,
footer.site-footer,
footer {
  width: min(1540px, calc(100% - 36px)) !important;
  max-width: none !important;
  margin: 22px auto !important;
  padding: 20px 24px !important;
  border: 1px solid rgba(214,154,39,.28) !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at 10% 10%, rgba(214,154,39,.12), transparent 18rem),
    linear-gradient(145deg, rgba(18,13,8,.94), rgba(5,4,3,.96)) !important;
  color: #cab89b !important;
  box-shadow: 0 18px 50px rgba(0,0,0,.32) !important;
}

.player-dock {
  border: 1px solid rgba(245,215,130,.38) !important;
  border-radius: 999px !important;
  background: rgba(8,5,3,.88) !important;
  box-shadow: 0 18px 44px rgba(0,0,0,.45) !important;
  backdrop-filter: blur(12px) !important;
}

@media (max-width: 1280px) {
  .site-header,
  .home-template-v2,
  .content-grid,
  .home-main-grid,
  .home-info-grid,
  .article-grid,
  .news-home,
  .text-feature,
  .partners,
  .page-content,
  .legal-page,
  .section-boxed,
  .site-footer,
  footer.site-footer,
  footer {
    width: calc(100% - 28px) !important;
  }
  .main-nav { gap: 6px !important; }
  .main-nav a { padding-inline: 10px !important; font-size: 12px !important; }
}

@media (max-width: 920px) {
  .site-header {
    min-height: 78px !important;
    padding: 8px 12px !important;
  }
  .menu-toggle { display: inline-flex !important; }
  .main-nav {
    position: absolute !important;
    left: 12px !important;
    right: 12px !important;
    top: calc(100% + 8px) !important;
    display: none !important;
    flex-direction: column !important;
    align-items: stretch !important;
    padding: 12px !important;
    border: 1px solid rgba(214,154,39,.32) !important;
    border-radius: 18px !important;
    background: rgba(8,5,3,.98) !important;
    box-shadow: 0 20px 50px rgba(0,0,0,.50) !important;
  }
  .main-nav.open,
  .main-nav[aria-expanded="true"] { display: flex !important; }
  .main-nav a { justify-content: center !important; width: 100% !important; }
  .home-hero-block,
  .hero,
  .page-hero { min-height: 240px !important; border-radius: 20px !important; }
  .home-hero-block h1,
  .hero h1,
  .page-hero h1 { font-size: clamp(38px, 10vw, 66px) !important; }
  .content-grid,
  .home-main-grid,
  .home-info-grid { grid-template-columns: 1fr !important; }
}

@media (max-width: 560px) {
  .site-header,
  .home-template-v2,
  .content-grid,
  .home-main-grid,
  .home-info-grid,
  .article-grid,
  .news-home,
  .text-feature,
  .partners,
  .page-content,
  .legal-page,
  .section-boxed,
  .site-footer,
  footer.site-footer,
  footer {
    width: calc(100% - 16px) !important;
  }
  .brand img { width: 190px !important; max-height: 58px !important; }
  .outline-btn.header-login { display: none !important; }
  .home-hero-block,
  .hero,
  .page-hero { min-height: 210px !important; padding: 28px 12px !important; border-radius: 17px !important; }
  .home-hero-block h1,
  .hero h1,
  .page-hero h1 { font-size: clamp(34px, 12vw, 52px) !important; }
  .home-hero-block p,
  .hero p,
  .page-hero p { font-size: 16px !important; }
  .panel,
  .home-extra-section .panel,
  .home-extra-section .text-panel,
  .text-feature,
  .partners,
  .article-grid article,
  .page-content,
  .prose,
  .comments,
  .legal-page,
  .banner-rotation,
  .home-banner-cell,
  .home-bottom-banner-zone,
  .site-footer,
  footer.site-footer,
  footer { border-radius: 16px !important; }
}

/* ==========================================================
   UI05 — stronger public visual push, CSS only.
   Goal: closer to reference front screenshot without touching player logic.
   ========================================================== */
:root {
  --ui05-black: #030201;
  --ui05-brown: #100804;
  --ui05-panel: rgba(18, 12, 7, .97);
  --ui05-gold: #d99c2a;
  --ui05-gold2: #ffe09a;
  --ui05-cream: #fff0d2;
  --ui05-muted: #c9b596;
  --ui05-line: rgba(217, 156, 42, .40);
}

html {
  background: #030201 !important;
  overflow-x: hidden !important;
}

body:not(.admin-ui) {
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(217,156,42,.18), transparent 24rem),
    radial-gradient(circle at 12% 18%, rgba(100,21,14,.28), transparent 31rem),
    radial-gradient(circle at 88% 18%, rgba(100,57,13,.20), transparent 31rem),
    linear-gradient(180deg, #030201 0%, #080604 48%, #040302 100%) !important;
  color: #fff0d2 !important;
}

body:not(.admin-ui)::before,
body:not(.admin-ui)::after {
  width: 92px !important;
  opacity: .28 !important;
}

.site-topbar {
  border-bottom: 1px solid rgba(217,156,42,.28) !important;
  background: linear-gradient(90deg, #080503, #2a1508, #080503) !important;
  color: #ffda82 !important;
}

.site-header {
  width: min(1580px, calc(100% - 34px)) !important;
  max-width: none !important;
  min-height: 96px !important;
  height: auto !important;
  margin: 14px auto 16px !important;
  padding: 12px 18px !important;
  border: 1px solid rgba(217,156,42,.28) !important;
  border-radius: 28px !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(217,156,42,.16), transparent 14rem),
    linear-gradient(135deg, rgba(15,9,5,.94), rgba(5,4,3,.94)) !important;
  box-shadow: 0 24px 70px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.055) !important;
  backdrop-filter: blur(14px) !important;
}

.site-header.sticky {
  top: 10px !important;
}

.brand {
  display: grid !important;
  place-items: center !important;
  min-width: 238px !important;
  min-height: 72px !important;
  border: 1px solid rgba(217,156,42,.18) !important;
  border-radius: 22px !important;
  background: rgba(255,255,255,.018) !important;
}

.brand img {
  width: 245px !important;
  max-width: 94% !important;
  height: auto !important;
  max-height: 76px !important;
  object-fit: contain !important;
  filter: drop-shadow(0 12px 24px rgba(0,0,0,.48)) !important;
}

.main-nav {
  gap: 8px !important;
  justify-content: center !important;
}

.main-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  padding: 10px 13px !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: #e8d9bf !important;
  font-weight: 800 !important;
  letter-spacing: .035em !important;
}

.main-nav a:hover,
.main-nav a.active {
  border-color: rgba(255,224,154,.48) !important;
  background: rgba(217,156,42,.14) !important;
  color: #ffe09a !important;
  box-shadow: 0 10px 28px rgba(0,0,0,.20) !important;
}

.outline-btn,
.gold-btn,
.header-listen,
.header-login {
  border-radius: 999px !important;
  min-height: 44px !important;
  border-color: rgba(255,224,154,.50) !important;
  background: rgba(7,4,2,.72) !important;
  color: #ffe09a !important;
  box-shadow: inset 0 1px rgba(255,255,255,.06) !important;
}

.gold-btn,
.header-listen:hover,
.outline-btn:hover {
  background: linear-gradient(135deg, #ffe09a, #d99c2a 48%, #90550f) !important;
  color: #120802 !important;
}

.home-template-v2 {
  width: min(1580px, calc(100% - 34px)) !important;
  max-width: none !important;
  margin: 0 auto !important;
  display: grid !important;
  gap: 22px !important;
}

.home-hero-block,
.hero,
.page-hero {
  position: relative !important;
  width: 100% !important;
  min-height: clamp(360px, 38vw, 560px) !important;
  margin: 0 auto !important;
  padding: clamp(36px, 6vw, 86px) 26px !important;
  display: grid !important;
  place-items: center !important;
  overflow: hidden !important;
  border: 1px solid rgba(217,156,42,.38) !important;
  border-radius: 34px !important;
  background:
    linear-gradient(180deg, rgba(0,0,0,.12), rgba(0,0,0,.55)),
    radial-gradient(circle at 50% 100%, rgba(217,156,42,.22), transparent 28rem),
    radial-gradient(circle at 22% 20%, rgba(120,30,18,.30), transparent 24rem),
    linear-gradient(135deg, rgba(20,11,5,.98), rgba(5,4,3,.98)) !important;
  background-size: cover !important;
  background-position: center !important;
  box-shadow: 0 30px 90px rgba(0,0,0,.38), inset 0 1px rgba(255,255,255,.07) !important;
}

.home-hero-block::before,
.hero::before,
.page-hero::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  pointer-events: none !important;
  opacity: .34 !important;
  background:
    linear-gradient(110deg, transparent 0 46%, rgba(217,156,42,.10) 46% 47%, transparent 47% 100%),
    repeating-linear-gradient(90deg, rgba(255,224,154,.08) 0 1px, transparent 1px 90px) !important;
}

.hero-copy {
  max-width: 970px !important;
  padding: clamp(22px, 4vw, 46px) !important;
  border: 1px solid rgba(217,156,42,.22) !important;
  border-radius: 30px !important;
  background: rgba(5,4,3,.42) !important;
  box-shadow: 0 18px 60px rgba(0,0,0,.26), inset 0 1px rgba(255,255,255,.055) !important;
  backdrop-filter: blur(5px) !important;
}

.home-hero-block h1,
.hero h1,
.page-hero h1 {
  margin: 0 0 16px !important;
  font-size: clamp(48px, 7vw, 100px) !important;
  line-height: .95 !important;
  color: #fff2d4 !important;
  letter-spacing: -.045em !important;
  text-shadow: 0 18px 45px rgba(0,0,0,.72) !important;
}

.home-hero-block p,
.hero p,
.page-hero p {
  max-width: 820px !important;
  margin: 0 auto 15px !important;
  color: #e7d1ad !important;
  font-size: clamp(18px, 2vw, 28px) !important;
  line-height: 1.38 !important;
}

.home-hero-block em,
.hero em {
  color: #ffe09a !important;
  font-size: clamp(17px, 1.6vw, 23px) !important;
}

.home-player-zone {
  width: 100% !important;
  margin: -8px auto 0 !important;
}

.player-shell {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  border-radius: 34px !important;
  border-width: 1px !important;
  border-color: rgba(255,224,154,.72) !important;
  background:
    radial-gradient(circle at 16% 22%, rgba(217,156,42,.20), transparent 20rem),
    radial-gradient(circle at 92% 0%, rgba(120,30,18,.24), transparent 25rem),
    linear-gradient(115deg, rgba(21,13,7,.99), rgba(5,4,3,.99)) !important;
  box-shadow: 0 32px 92px rgba(0,0,0,.52), 0 0 0 1px rgba(255,255,255,.025) inset !important;
}

.live-pill {
  padding: 9px 16px !important;
  letter-spacing: .06em !important;
}

.cover-block img {
  border-radius: 24px !important;
  border: 1px solid rgba(255,224,154,.54) !important;
}

.main-play {
  border: 1px solid rgba(255,224,154,.78) !important;
  box-shadow:
    inset 0 0 0 10px #221108,
    inset 0 0 0 13px rgba(217,156,42,.92),
    0 0 38px rgba(217,156,42,.46) !important;
}

.track-block h2 {
  font-size: clamp(34px, 3vw, 50px) !important;
  line-height: 1.02 !important;
}

.content-grid,
.home-main-grid {
  width: 100% !important;
  max-width: none !important;
  margin: 0 auto !important;
  gap: 20px !important;
  grid-template-columns: 1.08fr .92fr 1.04fr 1.04fr !important;
}

.panel,
.home-extra-section .panel,
.home-extra-section .text-panel,
.text-feature,
.partners,
.article-grid article,
.prose,
.comments,
.legal-page,
.banner-rotation,
.home-banner-cell,
.home-bottom-banner-zone,
.card-form,
.public-form,
.schedule-week-panel {
  border-radius: 28px !important;
  border-color: rgba(217,156,42,.44) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(217,156,42,.16), transparent 14rem),
    linear-gradient(145deg, rgba(20,13,7,.98), rgba(6,5,4,.99)) !important;
  box-shadow: 0 25px 72px rgba(0,0,0,.34), inset 0 1px rgba(255,255,255,.07) !important;
}

.panel {
  min-height: 285px !important;
}

.panel header,
.schedule-week-panel header {
  min-height: 58px !important;
  padding-inline: 20px !important;
  border-bottom: 1px solid rgba(217,156,42,.24) !important;
  background: rgba(0,0,0,.22) !important;
}

.panel header h2,
.panel-title span,
.home-extra-section h2,
.news-home>header h2,
.text-feature h2,
.partners h2,
.schedule-day {
  color: #ffe09a !important;
  letter-spacing: .075em !important;
  text-shadow: 0 10px 25px rgba(0,0,0,.38) !important;
}

.schedule-row,
.schedule-week-row,
.news-row {
  padding: 10px 18px !important;
  border-bottom: 1px solid rgba(217,156,42,.12) !important;
}

.news-row img,
.news-item .thumb,
.panel-art,
.article-grid img,
.featured,
.banner-slide img {
  border-radius: 20px !important;
  border: 1px solid rgba(217,156,42,.22) !important;
}

.home-extra-section {
  width: 100% !important;
  margin: 0 !important;
}

.home-extra-section .text-panel {
  padding: clamp(24px, 4vw, 46px) !important;
}

.custom-html-block {
  width: 100% !important;
  max-width: 100% !important;
}

.home-banner-zone,
.home-banner-zone-top {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  gap: 20px !important;
  width: 100% !important;
  margin: 0 !important;
}

.banner-rotation {
  width: 100% !important;
  margin: 0 auto !important;
  border-radius: 28px !important;
}

.site-footer,
footer.site-footer,
footer {
  width: min(1580px, calc(100% - 34px)) !important;
  margin: 26px auto 120px !important;
  padding: 28px !important;
  border-radius: 30px !important;
  border-color: rgba(217,156,42,.36) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(217,156,42,.17), transparent 18rem),
    linear-gradient(145deg, rgba(18,12,7,.97), rgba(5,4,3,.985)) !important;
}

.player-dock {
  height: 78px !important;
  border-radius: 24px !important;
  border-color: rgba(255,224,154,.52) !important;
}

@media (max-width: 1340px) {
  .content-grid,
  .home-main-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
  .player-shell {
    width: 100% !important;
  }
}

@media (max-width: 920px) {
  .site-header,
  .home-template-v2,
  .site-footer,
  footer.site-footer,
  footer {
    width: calc(100% - 20px) !important;
  }
  .site-header {
    border-radius: 22px !important;
  }
  .brand {
    min-width: 170px !important;
  }
  .brand img {
    width: 190px !important;
  }
  .home-hero-block,
  .hero,
  .page-hero {
    min-height: 300px !important;
    border-radius: 24px !important;
  }
  .hero-copy {
    border-radius: 22px !important;
  }
  .content-grid,
  .home-main-grid,
  .home-banner-zone,
  .home-banner-zone-top {
    grid-template-columns: 1fr !important;
  }
  .panel {
    min-height: 0 !important;
  }
}

@media (max-width: 560px) {
  .site-header,
  .home-template-v2,
  .site-footer,
  footer.site-footer,
  footer {
    width: calc(100% - 14px) !important;
  }
  .site-header {
    margin-top: 8px !important;
    padding: 9px !important;
  }
  .header-listen {
    display: none !important;
  }
  .home-hero-block,
  .hero,
  .page-hero {
    min-height: 250px !important;
    padding: 18px 10px !important;
    border-radius: 20px !important;
  }
  .hero-copy {
    padding: 20px 14px !important;
  }
  .home-hero-block h1,
  .hero h1,
  .page-hero h1 {
    font-size: clamp(37px, 13vw, 56px) !important;
  }
  .player-shell {
    border-radius: 22px !important;
  }
  .panel,
  .home-extra-section .panel,
  .home-extra-section .text-panel,
  .banner-rotation,
  .site-footer,
  footer.site-footer,
  footer {
    border-radius: 18px !important;
  }
}

/* =========================================================
   UI06 SCALE NORMALIZE - vracanje mere posle UI05
   Cilj: zadrzati crno/zlatni stil, ali smanjiti prevelik
   hero, naslove, player i prazne visine.
   Samo CSS, bez funkcionalnih izmena.
   ========================================================= */

html,
body {
  font-size: 16px !important;
  overflow-x: hidden !important;
}

.site-header,
.home-template-v2,
.site-footer,
footer.site-footer,
footer {
  width: min(1440px, calc(100% - 32px)) !important;
}

.site-header,
.header-inner,
.public-header,
.main-header {
  min-height: 76px !important;
  margin-top: 12px !important;
  padding: 12px 18px !important;
  border-radius: 22px !important;
}

.site-header .brand,
.brand {
  min-width: 190px !important;
}

.site-header .brand img,
.brand img,
.site-logo img {
  max-width: 215px !important;
  width: auto !important;
  max-height: 68px !important;
  object-fit: contain !important;
}

.site-nav,
.main-nav,
.public-nav {
  gap: 8px !important;
}

.site-nav a,
.main-nav a,
.public-nav a,
.header-listen,
.login-pill {
  min-height: 40px !important;
  padding: 9px 15px !important;
  font-size: 14px !important;
  line-height: 1.15 !important;
  border-radius: 999px !important;
}

.home-template-v2 {
  gap: 18px !important;
  padding-top: 18px !important;
}

.home-hero-block,
.hero,
.page-hero {
  min-height: clamp(380px, 42vw, 560px) !important;
  padding: clamp(38px, 5vw, 70px) 28px !important;
  border-radius: 28px !important;
}

.hero-copy,
.home-hero-block .hero-copy,
.hero .hero-copy,
.page-hero .hero-copy {
  max-width: 820px !important;
  padding: clamp(28px, 4.2vw, 46px) clamp(24px, 4vw, 52px) !important;
  border-radius: 24px !important;
}

.home-hero-block h1,
.hero h1,
.page-hero h1 {
  font-size: clamp(42px, 4.5vw, 72px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.025em !important;
  max-width: 100% !important;
}

.home-hero-block p,
.hero p,
.page-hero p,
.hero-copy p {
  font-size: clamp(17px, 1.25vw, 21px) !important;
  line-height: 1.42 !important;
}

.home-hero-block em,
.hero em,
.page-hero em {
  font-size: clamp(16px, 1.15vw, 20px) !important;
  line-height: 1.35 !important;
}

.home-player-zone {
  margin-top: 0 !important;
}

.player-shell,
.radio-player,
.player-card {
  border-radius: 26px !important;
  padding: clamp(16px, 2.3vw, 28px) !important;
}

.track-block h2,
.now-playing h2,
.player-title {
  font-size: clamp(24px, 2.1vw, 36px) !important;
  line-height: 1.12 !important;
}

.main-play,
.play-button-main,
.big-play {
  transform: scale(.86) !important;
  transform-origin: center !important;
}

.content-grid,
.home-main-grid {
  gap: 16px !important;
  grid-template-columns: repeat(4, minmax(0,1fr)) !important;
}

.panel,
.home-extra-section .panel,
.home-extra-section .text-panel,
.text-feature,
.partners,
.article-grid article,
.prose,
.comments,
.legal-page,
.banner-rotation,
.home-banner-cell,
.home-bottom-banner-zone,
.card-form,
.public-form,
.schedule-week-panel {
  border-radius: 20px !important;
}

.panel {
  min-height: 0 !important;
}

.panel header,
.schedule-week-panel header {
  min-height: 48px !important;
  padding-inline: 16px !important;
}

.panel header h2,
.panel-title span,
.home-extra-section h2,
.news-home>header h2,
.text-feature h2,
.partners h2,
.schedule-day {
  font-size: clamp(15px, 1vw, 18px) !important;
  letter-spacing: .045em !important;
}

.schedule-row,
.schedule-week-row,
.news-row {
  padding: 9px 14px !important;
}

.home-banner-zone,
.home-banner-zone-top {
  gap: 16px !important;
}

.home-extra-section .text-panel {
  padding: clamp(18px, 3vw, 32px) !important;
}

.site-footer,
footer.site-footer,
footer {
  margin: 22px auto 92px !important;
  padding: 22px !important;
  border-radius: 22px !important;
}

.player-dock {
  height: 66px !important;
  border-radius: 20px !important;
}

@media (max-width: 1340px) {
  .content-grid,
  .home-main-grid {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 920px) {
  .site-header,
  .home-template-v2,
  .site-footer,
  footer.site-footer,
  footer {
    width: calc(100% - 20px) !important;
  }
  .home-hero-block,
  .hero,
  .page-hero {
    min-height: 320px !important;
    padding: 28px 14px !important;
    border-radius: 22px !important;
  }
  .home-hero-block h1,
  .hero h1,
  .page-hero h1 {
    font-size: clamp(34px, 8.8vw, 54px) !important;
  }
  .content-grid,
  .home-main-grid,
  .home-banner-zone,
  .home-banner-zone-top {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 560px) {
  .site-header,
  .home-template-v2,
  .site-footer,
  footer.site-footer,
  footer {
    width: calc(100% - 14px) !important;
  }
  .site-header .brand img,
  .brand img,
  .site-logo img {
    max-width: 165px !important;
    max-height: 54px !important;
  }
  .home-hero-block,
  .hero,
  .page-hero {
    min-height: 260px !important;
    padding: 20px 10px !important;
  }
  .hero-copy,
  .home-hero-block .hero-copy,
  .hero .hero-copy,
  .page-hero .hero-copy {
    padding: 20px 14px !important;
  }
  .home-hero-block h1,
  .hero h1,
  .page-hero h1 {
    font-size: clamp(31px, 10.5vw, 44px) !important;
    line-height: 1.08 !important;
  }
  .home-hero-block p,
  .hero p,
  .page-hero p,
  .hero-copy p {
    font-size: 15px !important;
  }
}

/* =========================================================
   R37 FINAL PUBLIC FRAMEWORK
   Authoritative header, navigation, hero, global type and footer.
   Player internals remain governed by the proven player rules above.
   ========================================================= */

body:not(.admin-ui),
body:not(.admin-ui) * {
  box-sizing: border-box !important;
}

html,
body:not(.admin-ui) {
  overflow-x: hidden !important;
}

body:not(.admin-ui) {
  margin: 0 !important;
  min-width: 320px !important;
  color: var(--text-color, #f3ead9) !important;
  font-family: var(--font-body, var(--font-fallback, Arial, sans-serif)) !important;
  font-size: var(--text-size-base, 16px) !important;
  font-weight: var(--body-weight, 400) !important;
  line-height: var(--line-height-base, 1.55) !important;
  letter-spacing: var(--letter-spacing, 0) !important;
  background:
    radial-gradient(circle at 50% -8rem, rgba(127, 55, 16, .24), transparent 42rem),
    linear-gradient(180deg, #050302 0%, #090504 48%, #050302 100%) !important;
}

body.cms-preview .public-admin-toolbar,
body.cms-preview .public-edit-btn,
body.cms-preview .player-dock,
body.cms-preview .cookie-panel,
body.cms-preview .skip-link {
  display: none !important;
}

body.cms-preview {
  padding-bottom: 0 !important;
}

body.cms-preview .site-footer,
body.cms-preview footer.site-footer {
  margin-bottom: 22px !important;
}

body.cms-preview .banner-slide > a,
body.cms-preview .public-form,
body.cms-preview .card-form,
body.cms-preview form[action*="api/"] {
  pointer-events: none !important;
}

body:not(.admin-ui) h1,
body:not(.admin-ui) h2,
body:not(.admin-ui) h3,
body:not(.admin-ui) h4 {
  color: var(--heading-color, #fff4d8) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-weight: var(--heading-weight, 700) !important;
  letter-spacing: var(--heading-letter-spacing, 0) !important;
}

body:not(.admin-ui) h1 { font-size: var(--h1-size, clamp(40px, 6vw, 82px)) !important; }
body:not(.admin-ui) h2 { font-size: var(--h2-size, clamp(26px, 3vw, 42px)) !important; }
body:not(.admin-ui) h3 { font-size: var(--h3-size, 22px) !important; }
body:not(.admin-ui) a { color: var(--link-color, #f2bd58); }
body:not(.admin-ui) button,
body:not(.admin-ui) .btn,
body:not(.admin-ui) .gold-btn,
body:not(.admin-ui) .outline-btn {
  font-family: var(--font-button, var(--font-body, Arial, sans-serif)) !important;
  font-weight: var(--button-weight, 800) !important;
}

.site-topbar {
  width: 100% !important;
  min-height: 30px !important;
  padding: 6px 18px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
}

.site-header {
  width: min(1500px, calc(100% - 36px)) !important;
  max-width: 1500px !important;
  min-height: 94px !important;
  height: auto !important;
  margin: 0 auto !important;
  padding: 10px 20px !important;
  display: flex !important;
  align-items: center !important;
  gap: clamp(18px, 2.2vw, 38px) !important;
  position: relative !important;
  z-index: 80 !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(215, 146, 36, .28) !important;
  border-radius: 0 !important;
  background: rgba(5, 3, 2, .78) !important;
  box-shadow: none !important;
}

.site-header.header-layout-boxed {
  width: min(1320px, calc(100% - 36px)) !important;
  max-width: 1320px !important;
}

.site-header.sticky {
  position: sticky !important;
  top: 0 !important;
  backdrop-filter: blur(16px) !important;
}

.site-header .brand {
  flex: 0 0 auto !important;
  min-width: 170px !important;
  max-width: 300px !important;
  color: var(--heading-color, #fff4d8) !important;
  text-decoration: none !important;
}

.site-header .brand img {
  display: block !important;
  width: auto !important;
  max-width: min(285px, 21vw) !important;
  max-height: 76px !important;
  object-fit: contain !important;
}

.site-header .brand > span {
  display: block !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 22px !important;
  font-weight: 700 !important;
}

.main-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: clamp(14px, 1.8vw, 32px) !important;
  font-family: var(--font-menu, var(--font-body, Arial, sans-serif)) !important;
  font-weight: var(--menu-weight, 700) !important;
  letter-spacing: var(--menu-letter-spacing, .02em) !important;
}

.mobile-nav { display: none !important; }

.main-nav .nav-group {
  position: relative !important;
  display: inline-flex !important;
  flex: 0 0 auto !important;
}

.main-nav a {
  min-height: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  padding: 13px 0 10px !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--text-color, #f3ead9) !important;
  background: transparent !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  font: inherit !important;
  font-size: clamp(11px, .82vw, 13px) !important;
  line-height: 1.15 !important;
  white-space: nowrap !important;
}

.main-nav a:hover,
.main-nav a:focus-visible,
.main-nav a.active {
  color: var(--link-color, #f2bd58) !important;
  border-bottom-color: var(--button-accent, #f0b74b) !important;
}

.main-nav .submenu {
  top: calc(100% + 2px) !important;
  min-width: 220px !important;
  padding: 8px !important;
  border: 1px solid rgba(215, 146, 36, .42) !important;
  border-radius: 8px !important;
  background: #0c0805 !important;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .72) !important;
}

.main-nav .submenu a {
  width: 100% !important;
  min-height: 36px !important;
  padding: 10px 12px !important;
  border: 0 !important;
  text-transform: none !important;
}

.menu-toggle { display: none !important; }

.header-login,
.header-listen {
  flex: 0 0 auto !important;
  min-height: 44px !important;
  padding: 11px 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border: 1px solid var(--button-accent, #f0b74b) !important;
  border-radius: 999px !important;
  background: rgba(8, 5, 2, .66) !important;
  color: var(--link-color, #f2bd58) !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

#site-content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

.home-template-v2 {
  width: min(1500px, calc(100% - 36px)) !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
}

.home-hero-block {
  --hero-image: linear-gradient(115deg, #291208, #090503 58%, #150b06);
  width: 100% !important;
  min-height: var(--hero-min-height, 420px) !important;
  margin: 0 auto !important;
  padding: clamp(38px, 6vw, 92px) clamp(24px, 5vw, 78px) !important;
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(215, 146, 36, .54) !important;
  border-radius: 0 !important;
  background-image: var(--hero-image) !important;
  background-size: cover !important;
  background-position: var(--hero-position, center center) !important;
  box-shadow: inset 0 -80px 90px rgba(0, 0, 0, .38) !important;
}

.home-hero-block::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  background: var(--hero-overlay, #080604) !important;
  opacity: var(--hero-overlay-opacity, .70) !important;
  pointer-events: none !important;
}

.home-hero-block::after { content: none !important; }

.home-hero-block .hero-copy {
  position: relative !important;
  z-index: 1 !important;
  width: min(var(--hero-copy-width, 820px), 100%) !important;
  max-width: var(--hero-copy-width, 820px) !important;
  margin: 0 auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  text-align: center !important;
}

.home-hero-block.hero-align-left { justify-content: flex-start !important; }
.home-hero-block.hero-align-left .hero-copy { margin-left: 0 !important; margin-right: auto !important; text-align: left !important; }
.home-hero-block.hero-align-right { justify-content: flex-end !important; }
.home-hero-block.hero-align-right .hero-copy { margin-left: auto !important; margin-right: 0 !important; text-align: right !important; }

.home-hero-block h1 {
  max-width: 100% !important;
  margin: 0 !important;
  color: var(--heading-color, #fff4d8) !important;
  font-size: var(--h1-size, clamp(40px, 6vw, 82px)) !important;
  line-height: 1.04 !important;
  text-shadow: 0 3px 22px rgba(0, 0, 0, .9) !important;
  text-wrap: balance !important;
}

.home-hero-block p {
  max-width: 900px !important;
  margin: 14px 0 0 !important;
  color: var(--text-color, #f3ead9) !important;
  font-size: clamp(16px, 1.35vw, 21px) !important;
  line-height: 1.48 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .95) !important;
  text-wrap: pretty !important;
}

.hero-align-center .hero-copy p { margin-left: auto !important; margin-right: auto !important; }
.hero-align-right .hero-copy p { margin-left: auto !important; }

.home-hero-block em {
  display: block !important;
  margin-top: 14px !important;
  color: var(--link-color, #f2bd58) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(16px, 1.2vw, 21px) !important;
  line-height: 1.35 !important;
  text-shadow: 0 2px 12px rgba(0, 0, 0, .95) !important;
}

.hero-actions {
  margin-top: 24px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.hero-align-left .hero-actions { justify-content: flex-start !important; }
.hero-align-right .hero-actions { justify-content: flex-end !important; }
.hero-actions .gold-btn,
.hero-actions .outline-btn {
  min-height: 46px !important;
  padding: 12px 22px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  text-decoration: none !important;
}

.home-player-zone,
.player-shell,
.radio-player,
.player-card,
.content-grid,
.home-main-grid,
.home-banner-zone,
.home-banner-zone-top,
.home-bottom-banner-zone {
  width: 100% !important;
  max-width: 1500px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.player-shell {
  margin-top: 0 !important;
  border-radius: 14px !important;
  font-family: var(--font-player, var(--font-body, Arial, sans-serif)) !important;
}

.player-shell h1,
.player-shell h2,
.player-shell h3,
.player-shell h4,
.player-shell p,
.player-shell span,
.player-shell small,
.player-shell strong,
.player-shell em,
.player-shell button,
.player-shell a,
.player-dock,
.player-dock * {
  font-family: var(--font-player, var(--font-body, Arial, sans-serif)) !important;
}

.content-grid,
.home-main-grid,
.home-banner-zone,
.home-banner-zone-top {
  gap: 14px !important;
}

.panel,
.home-extra-section .panel,
.home-extra-section .text-panel,
.text-feature,
.partners,
.article-grid article,
.prose,
.comments,
.legal-page,
.banner-rotation,
.home-banner-cell,
.home-bottom-banner-zone,
.card-form,
.public-form,
.schedule-week-panel {
  border-radius: 11px !important;
  border-color: rgba(215, 146, 36, .38) !important;
}

.site-footer,
footer.site-footer {
  width: min(1500px, calc(100% - 36px)) !important;
  max-width: 1500px !important;
  min-height: 116px !important;
  margin: 22px auto 90px !important;
  padding: 18px 22px !important;
  display: grid !important;
  grid-template-columns: minmax(130px, 190px) minmax(220px, 1.35fr) repeat(3, minmax(160px, .8fr)) !important;
  align-items: start !important;
  gap: 22px !important;
  border: 1px solid rgba(215, 146, 36, .34) !important;
  border-radius: 12px !important;
  background: linear-gradient(145deg, rgba(24, 15, 8, .94), rgba(8, 5, 3, .96)) !important;
  color: var(--text-color, #f3ead9) !important;
  font-family: var(--font-body, Arial, sans-serif) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.site-footer > img {
  width: 100% !important;
  max-width: 180px !important;
  height: auto !important;
  max-height: 88px !important;
  object-fit: contain !important;
}

.site-footer b { color: var(--heading-color, #fff4d8) !important; }
.site-footer p { margin: 6px 0 !important; }
.site-footer a { color: var(--link-color, #f2bd58) !important; text-decoration: none !important; }
.site-footer a:hover { text-decoration: underline !important; }
.site-footer .footer-link-icon { display: inline-block !important; min-width: 1.4em !important; margin-right: 3px !important; color: var(--link-color, #f2bd58) !important; text-align: center !important; }
.site-footer .footer-legal { margin-top: 14px !important; color: rgba(243, 234, 217, .72) !important; }

.player-dock {
  max-width: min(520px, calc(100% - 24px)) !important;
  right: 12px !important;
  bottom: 12px !important;
}

@media (max-width: 1180px) {
  .site-header { gap: 14px !important; }
  .site-header .brand img { max-width: 220px !important; }
  .desktop-nav { gap: 12px !important; }
  .desktop-nav a { font-size: 11px !important; }
  .header-login { display: none !important; }
  .site-footer,
  footer.site-footer { grid-template-columns: 160px 1.2fr 1fr 1fr !important; }
  .footer-social-and-legal { grid-column: span 2 !important; }
}

@media (max-width: 900px) {
  .site-header,
  .site-header.header-layout-boxed,
  .home-template-v2,
  .site-footer,
  footer.site-footer {
    width: calc(100% - 20px) !important;
  }

  .site-header {
    min-height: 76px !important;
    padding: 8px 12px !important;
    flex-wrap: nowrap !important;
  }

  .site-header .brand img { max-width: 205px !important; max-height: 60px !important; }
  .desktop-nav { display: none !important; }
  .menu-toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    order: 20 !important;
    margin-left: auto !important;
    min-width: 42px !important;
    min-height: 42px !important;
    padding: 8px 11px !important;
    border: 1px solid rgba(215, 146, 36, .62) !important;
    border-radius: 7px !important;
    background: #0d0805 !important;
    color: var(--link-color, #f2bd58) !important;
  }

  .mobile-nav {
    display: none !important;
    position: absolute !important;
    top: calc(100% + 1px) !important;
    left: 0 !important;
    right: 0 !important;
    padding: 10px !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 2px !important;
    border: 1px solid rgba(215, 146, 36, .42) !important;
    background: rgba(10, 6, 4, .98) !important;
    box-shadow: 0 24px 60px rgba(0, 0, 0, .78) !important;
  }

  .mobile-nav.open { display: flex !important; }
  .mobile-nav .nav-group { display: grid !important; width: 100% !important; }
  .mobile-nav a { width: 100% !important; padding: 12px !important; text-align: left !important; border: 0 !important; }
  .mobile-nav .submenu { position: static !important; display: grid !important; margin-left: 14px !important; box-shadow: none !important; }
  .header-listen { margin-left: auto !important; }

  .home-hero-block {
    min-height: min(var(--hero-min-height, 380px), 72vh) !important;
    padding: 42px 22px !important;
  }

  .site-footer,
  footer.site-footer { grid-template-columns: 150px 1fr 1fr !important; }
  .footer-social-and-legal { grid-column: auto !important; }
}

@media (max-width: 620px) {
  .site-header,
  .site-header.header-layout-boxed,
  .home-template-v2,
  .site-footer,
  footer.site-footer {
    width: calc(100% - 14px) !important;
  }

  .site-header { min-height: 68px !important; padding: 7px 9px !important; }
  .site-header .brand { min-width: 0 !important; }
  .site-header .brand img { max-width: 155px !important; max-height: 50px !important; }
  .header-listen { display: none !important; }

  .home-hero-block {
    min-height: min(var(--hero-min-height, 330px), 68vh) !important;
    padding: 34px 16px !important;
    background-position: var(--hero-position, center center) !important;
  }

  .home-hero-block h1 { font-size: clamp(32px, 10vw, 48px) !important; }
  .home-hero-block p { font-size: 15px !important; }
  .home-hero-block em { font-size: 15px !important; }
  .hero-actions { align-items: stretch !important; }
  .hero-actions .gold-btn,
  .hero-actions .outline-btn { width: 100% !important; }

  .site-footer,
  footer.site-footer {
    grid-template-columns: 1fr !important;
    padding: 18px !important;
  }
  .site-footer > img { max-width: 150px !important; }
}

/* R39 FINAL HOMEPAGE SEGMENT
   Authoritative layout for: cards below player, story/network/contact,
   player status strip and banner sizing. Banner positions and rotation logic stay unchanged. */
.home-template-v2 .home-main-grid {
  display: grid !important;
  width: 100% !important;
  max-width: 1500px !important;
  margin: 0 auto !important;
  gap: 14px !important;
  align-items: stretch !important;
}
.home-template-v2 .home-main-grid-count-1 { grid-template-columns: minmax(0, 1fr) !important; }
.home-template-v2 .home-main-grid-count-2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
.home-template-v2 .home-main-grid-count-3 { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
.home-template-v2 .home-main-grid-count-4 { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
.home-template-v2 .home-main-grid > * { min-width: 0 !important; }

.home-template-v2 .home-feature-card,
.home-template-v2 .home-news-card,
.home-template-v2 .schedule-week-panel {
  position: relative !important;
  min-height: 285px !important;
  height: 100% !important;
  overflow: hidden !important;
  border: 1px solid rgba(215, 146, 36, .48) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, rgba(22, 14, 8, .98), rgba(7, 5, 3, .99)) !important;
  box-shadow: 0 18px 42px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .045) !important;
}

.home-template-v2 .home-feature-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  padding: 28px 24px !important;
  isolation: isolate !important;
}
.home-template-v2 .home-feature-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -2 !important;
  background-image: linear-gradient(90deg, rgba(9, 5, 3, .96) 0%, rgba(9, 5, 3, .84) 58%, rgba(9, 5, 3, .42) 100%), var(--home-card-background, none) !important;
  background-position: center !important;
  background-size: cover !important;
  opacity: .95 !important;
}
.home-template-v2 .home-feature-card::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: -1 !important;
  pointer-events: none !important;
  background: radial-gradient(circle at 88% 50%, rgba(215, 146, 36, .18), transparent 36%) !important;
}
.home-template-v2 .home-requests-card::after {
  background: radial-gradient(circle at 88% 48%, rgba(143, 30, 14, .42), transparent 40%) !important;
}
.home-template-v2 .home-feature-copy { min-width: 0 !important; position: relative !important; z-index: 2 !important; }
.home-template-v2 .home-feature-kicker,
.home-template-v2 .home-section-kicker {
  display: block !important;
  margin: 0 0 8px !important;
  color: var(--link-color, #f2bd58) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
}
.home-template-v2 .home-feature-card h2 {
  max-width: 12ch !important;
  margin: 0 0 18px !important;
  color: var(--heading-color, #fff4d8) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(31px, 2.3vw, 48px) !important;
  line-height: 1.02 !important;
  letter-spacing: -.02em !important;
  text-transform: uppercase !important;
  overflow-wrap: anywhere !important;
}
.home-template-v2 .home-feature-card .home-section-copy { max-width: 34ch !important; }
.home-template-v2 .home-feature-card .home-section-copy p {
  margin: 0 0 18px !important;
  color: var(--text-color, #f3ead9) !important;
  font-size: 16px !important;
  line-height: 1.52 !important;
}
.home-template-v2 .home-feature-card .btn,
.home-template-v2 .home-story-card .btn,
.home-template-v2 .home-contact-card .btn,
.home-template-v2 .home-partners-card .btn {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 42px !important;
  width: auto !important;
  margin-top: 4px !important;
  padding: 10px 17px !important;
  border: 1px solid rgba(226, 162, 56, .82) !important;
  border-radius: 8px !important;
  background: rgba(13, 8, 4, .88) !important;
  color: #f5c96f !important;
  text-decoration: none !important;
  font-weight: 800 !important;
}
.home-template-v2 .home-feature-card .panel-art {
  position: relative !important;
  right: auto !important;
  bottom: auto !important;
  z-index: 1 !important;
  width: clamp(108px, 12vw, 190px) !important;
  max-width: 42% !important;
  height: auto !important;
  max-height: 235px !important;
  object-fit: contain !important;
  opacity: .96 !important;
  filter: drop-shadow(0 18px 28px rgba(0, 0, 0, .72)) !important;
}

.home-template-v2 .home-news-card { padding: 0 18px 14px !important; }
.home-template-v2 .home-news-card .panel-title {
  min-height: 58px !important;
  margin: 0 0 10px !important;
  padding: 0 2px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  border-bottom: 1px solid rgba(215, 146, 36, .26) !important;
}
.home-template-v2 .home-news-card .panel-title span {
  min-width: 0 !important;
  color: var(--link-color, #f2bd58) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
}
.home-template-v2 .home-news-card .news-list { display: grid !important; gap: 6px !important; padding: 0 !important; }
.home-template-v2 .home-news-card .news-row {
  min-height: 58px !important;
  display: grid !important;
  grid-template-columns: 74px minmax(0, 1fr) !important;
  gap: 12px !important;
  align-items: center !important;
  padding: 5px 0 !important;
  color: var(--text-color, #f3ead9) !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(215, 146, 36, .12) !important;
}
.home-template-v2 .home-news-card .news-row:last-child { border-bottom: 0 !important; }
.home-template-v2 .home-news-card .news-row img,
.home-template-v2 .home-news-card .news-date-badge {
  width: 74px !important;
  height: 52px !important;
  border: 1px solid rgba(215, 146, 36, .48) !important;
  border-radius: 9px !important;
  object-fit: cover !important;
  background: linear-gradient(145deg, #4d1c09, #100805) !important;
}
.home-template-v2 .home-news-card .news-date-badge {
  display: grid !important;
  place-content: center !important;
  text-align: center !important;
  color: #f2bd58 !important;
}
.home-template-v2 .home-news-card .news-date-badge b { font: 800 22px/1 var(--font-heading, Georgia, serif) !important; }
.home-template-v2 .home-news-card .news-date-badge small { margin: 2px 0 0 !important; font-size: 10px !important; }
.home-template-v2 .home-news-card .news-row strong {
  display: block !important;
  color: #fff0d4 !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 16px !important;
  line-height: 1.15 !important;
}
.home-template-v2 .home-news-card .news-row small { display: block !important; margin-top: 4px !important; color: #cdb28a !important; font-size: 11px !important; }

.home-template-v2 .home-extra-section { width: 100% !important; max-width: 1500px !important; margin: 0 auto !important; }
.home-template-v2 .home-story-card,
.home-template-v2 .home-partners-card,
.home-template-v2 .home-contact-card {
  position: relative !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: clamp(24px, 3vw, 42px) !important;
  border: 1px solid rgba(215, 146, 36, .42) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, rgba(20, 13, 7, .97), rgba(7, 5, 3, .99)) !important;
  box-shadow: 0 16px 42px rgba(0, 0, 0, .25), inset 0 1px rgba(255, 255, 255, .04) !important;
}
.home-template-v2 .home-story-card,
.home-template-v2 .home-contact-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: clamp(24px, 4vw, 58px) !important;
  align-items: center !important;
}
.home-template-v2 .home-story-card > img,
.home-template-v2 .home-contact-card > img {
  width: clamp(180px, 25vw, 360px) !important;
  max-height: 260px !important;
  object-fit: contain !important;
  border-radius: 12px !important;
}
.home-template-v2 .home-story-card h2,
.home-template-v2 .home-partners-card h2,
.home-template-v2 .home-contact-card h2 {
  margin: 0 0 18px !important;
  color: var(--heading-color, #fff4d8) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(32px, 3.1vw, 52px) !important;
  line-height: 1.04 !important;
  text-transform: uppercase !important;
  letter-spacing: -.015em !important;
}
.home-template-v2 .home-section-copy { color: var(--text-color, #f3ead9) !important; }
.home-template-v2 .home-section-copy p {
  margin: 0 0 12px !important;
  color: inherit !important;
  font-size: 16px !important;
  line-height: 1.65 !important;
}
.home-template-v2 .home-section-copy p:last-child { margin-bottom: 0 !important; }

.home-template-v2 .home-partners-card .partner-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin-top: 22px !important;
}
.home-template-v2 .home-partners-card .partner-card {
  min-width: 0 !important;
  min-height: 112px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 20px !important;
  border: 1px solid rgba(215, 146, 36, .38) !important;
  border-radius: 11px !important;
  background: radial-gradient(circle at 100% 0, rgba(215, 146, 36, .12), transparent 55%), rgba(8, 5, 3, .72) !important;
  color: var(--text-color, #f3ead9) !important;
  text-decoration: none !important;
}
.home-template-v2 .home-partners-card .partner-card strong {
  color: #f4c86f !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: 20px !important;
}
.home-template-v2 .home-partners-card .partner-card span { color: #ccb99c !important; font-size: 14px !important; line-height: 1.45 !important; }

/* Player bottom strip: keep useful data, remove decorative waveform lines. */
.player-shell .next-track {
  grid-column: 1 / -1 !important;
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(250px, 1.5fr) minmax(330px, 1fr) auto !important;
  align-items: center !important;
  gap: 18px !important;
  min-height: 44px !important;
  padding: 7px 0 !important;
  border-top: 1px solid rgba(215, 146, 36, .22) !important;
  color: #d7c5aa !important;
}
.player-shell .previous-track-copy {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  overflow: hidden !important;
}
.player-shell .previous-track-copy b { flex: 0 0 auto !important; color: var(--link-color, #f2bd58) !important; text-transform: uppercase !important; }
.player-shell .previous-track-copy span {
  min-width: 0 !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
.player-shell .player-bottom-meta {
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0 !important;
  color: #ead9bb !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}
.player-shell .player-bottom-meta span { padding: 0 13px !important; border-left: 1px solid rgba(215, 146, 36, .28) !important; }
.player-shell .player-bottom-meta span:first-child { border-left: 0 !important; }
.player-shell .next-track button { justify-self: end !important; white-space: nowrap !important; }
.player-shell .mini-wave { display: none !important; }

/* Banner rendering only: position names, rotation, targeting, tracking and schedules remain unchanged. */
.home-template-v2 .home-banner-zone-top {
  width: 100% !important;
  max-width: 1500px !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  margin: 0 auto !important;
}
.home-template-v2 .home-banner-cell {
  min-width: 0 !important;
  min-height: 0 !important;
  aspect-ratio: 728 / 180 !important;
  overflow: hidden !important;
  border: 1px solid rgba(215, 146, 36, .48) !important;
  border-radius: 12px !important;
  background: #080604 !important;
}
.home-template-v2 .home-banner-cell .banner-rotation,
.home-template-v2 .home-banner-cell .banner-slide,
.home-template-v2 .home-banner-cell .banner-slide a,
.home-template-v2 .home-banner-cell .banner-slide picture,
.home-template-v2 .home-banner-cell .banner-slide img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}
.home-template-v2 .home-banner-cell .banner-slide img {
  display: block !important;
  object-fit: cover !important;
  object-position: center !important;
  background: #080604 !important;
}
.home-template-v2 .home-bottom-banner-zone {
  width: 100% !important;
  max-width: 1500px !important;
  min-height: 0 !important;
  aspect-ratio: 1460 / 320 !important;
  overflow: hidden !important;
  margin: 0 auto !important;
  border-radius: 12px !important;
}
.home-template-v2 .home-bottom-banner-zone .banner-rotation,
.home-template-v2 .home-bottom-banner-zone .banner-slide,
.home-template-v2 .home-bottom-banner-zone .banner-slide a,
.home-template-v2 .home-bottom-banner-zone .banner-slide picture,
.home-template-v2 .home-bottom-banner-zone .banner-slide img {
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
}
.home-template-v2 .home-bottom-banner-zone .banner-slide img { object-fit: cover !important; object-position: center !important; }

@media (max-width: 1180px) {
  .home-template-v2 .home-main-grid-count-3,
  .home-template-v2 .home-main-grid-count-4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .player-shell .next-track { grid-template-columns: minmax(220px, 1fr) auto !important; }
  .player-shell .player-bottom-meta { justify-content: flex-start !important; }
  .player-shell .next-track button { grid-column: 1 / -1 !important; justify-self: stretch !important; }
}

@media (max-width: 760px) {
  .home-template-v2 .home-main-grid-count-2,
  .home-template-v2 .home-main-grid-count-3,
  .home-template-v2 .home-main-grid-count-4,
  .home-template-v2 .home-banner-zone-top { grid-template-columns: 1fr !important; }
  .home-template-v2 .home-feature-card { grid-template-columns: minmax(0, 1fr) !important; min-height: 260px !important; padding: 24px 20px !important; }
  .home-template-v2 .home-feature-card .panel-art { position: absolute !important; right: -8px !important; bottom: -12px !important; width: 42% !important; max-width: 180px !important; opacity: .48 !important; }
  .home-template-v2 .home-feature-copy { max-width: 76% !important; }
  .home-template-v2 .home-feature-card h2 { font-size: clamp(30px, 10vw, 43px) !important; }
  .home-template-v2 .home-story-card,
  .home-template-v2 .home-contact-card { grid-template-columns: 1fr !important; }
  .home-template-v2 .home-story-card > img,
  .home-template-v2 .home-contact-card > img { width: 100% !important; max-height: 220px !important; }
  .home-template-v2 .home-partners-card .partner-grid { grid-template-columns: 1fr !important; }
  .player-shell .next-track { display: flex !important; flex-wrap: wrap !important; gap: 9px !important; padding: 10px 0 !important; }
  .player-shell .previous-track-copy { width: 100% !important; }
  .player-shell .player-bottom-meta { width: 100% !important; justify-content: flex-start !important; overflow-x: auto !important; }
  .player-shell .player-bottom-meta span { padding: 0 9px !important; }
  .player-shell .next-track button { width: 100% !important; }
  .home-template-v2 .home-banner-cell { aspect-ratio: 728 / 180 !important; }
  .home-template-v2 .home-bottom-banner-zone { aspect-ratio: 728 / 180 !important; }
}
.player-shell .next-track > .player-bottom-meta:first-child:last-child {
  grid-column: 1 / -1 !important;
  justify-content: center !important;
}

/* R40 — final homepage schedule card.
   Homepage shows today's programme only; the full weekly schedule stays on its dedicated page. */
.home-template-v2 .home-main-grid .home-schedule-card {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
  min-height: 285px !important;
  overflow: hidden !important;
}
.home-template-v2 .home-main-grid .home-schedule-card > header {
  position: static !important;
  min-height: 58px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  padding: 0 16px !important;
  border-bottom: 1px solid rgba(215,146,36,.26) !important;
  background: transparent !important;
}
.home-template-v2 .home-main-grid .home-schedule-card > header h2 {
  min-width: 0 !important;
  margin: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: var(--link-color,#f2bd58) !important;
  font-family: var(--font-body,Arial,sans-serif) !important;
  font-size: 16px !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: .055em !important;
  text-transform: uppercase !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
}
.home-template-v2 .home-main-grid .home-schedule-card > header h2 > span:last-child {
  min-width: 0 !important;
  overflow-wrap: anywhere !important;
}
.home-template-v2 .home-main-grid .home-schedule-card > header > a {
  flex: 0 0 auto !important;
  color: var(--link-color,#f2bd58) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
.schedule-title-icon {
  position: relative !important;
  flex: 0 0 18px !important;
  width: 18px !important;
  height: 17px !important;
  border: 1.5px solid currentColor !important;
  border-radius: 3px !important;
  box-sizing: border-box !important;
}
.schedule-title-icon::before {
  content: "" !important;
  position: absolute !important;
  left: 2px !important;
  right: 2px !important;
  top: 4px !important;
  border-top: 1.5px solid currentColor !important;
}
.schedule-title-icon::after {
  content: "" !important;
  position: absolute !important;
  left: 4px !important;
  top: -3px !important;
  width: 7px !important;
  height: 5px !important;
  border-left: 1.5px solid currentColor !important;
  border-right: 1.5px solid currentColor !important;
}
.home-template-v2 .home-main-grid .home-schedule-card .schedule-week-intro {
  padding: 10px 16px 0 !important;
  border: 0 !important;
}
.home-template-v2 .home-main-grid .schedule-today {
  min-width: 0 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 11px 16px 14px !important;
  overflow: hidden !important;
}
.home-template-v2 .home-main-grid .schedule-current-day {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 0 6px !important;
  padding: 0 0 8px !important;
  border-bottom: 1px solid rgba(215,146,36,.18) !important;
}
.home-template-v2 .home-main-grid .schedule-current-day strong {
  color: #fff0d4 !important;
  font-family: var(--font-heading,Georgia,serif) !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  text-transform: uppercase !important;
}
.home-template-v2 .home-main-grid .schedule-current-day span {
  color: #bfa884 !important;
  font-size: 11px !important;
  white-space: nowrap !important;
}
.home-template-v2 .home-main-grid .schedule-today-list {
  min-width: 0 !important;
  display: grid !important;
  gap: 0 !important;
  overflow: hidden !important;
}
.home-template-v2 .home-main-grid .schedule-today .schedule-week-row {
  min-width: 0 !important;
  display: grid !important;
  grid-template-columns: 94px minmax(0,1fr) !important;
  align-items: start !important;
  gap: 10px !important;
  padding: 8px 0 !important;
  border-top: 0 !important;
  border-bottom: 1px solid rgba(215,146,36,.13) !important;
}
.home-template-v2 .home-main-grid .schedule-today .schedule-week-row:last-child {
  border-bottom: 0 !important;
}
.home-template-v2 .home-main-grid .schedule-today .schedule-week-row time {
  color: var(--link-color,#f2bd58) !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
  white-space: nowrap !important;
}
.home-template-v2 .home-main-grid .schedule-today .schedule-week-row p {
  min-width: 0 !important;
  margin: 0 !important;
}
.home-template-v2 .home-main-grid .schedule-today .schedule-week-row b {
  display: block !important;
  color: #fff0d4 !important;
  font-size: 15px !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere !important;
}
.home-template-v2 .home-main-grid .schedule-today .schedule-week-row small {
  display: -webkit-box !important;
  margin-top: 2px !important;
  overflow: hidden !important;
  color: #cdbb9f !important;
  font-size: 11px !important;
  line-height: 1.3 !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
}
.home-template-v2 .home-main-grid .schedule-today-empty {
  min-height: 160px !important;
  display: grid !important;
  place-content: center !important;
  text-align: center !important;
}
@media (max-width: 1280px) {
  .home-template-v2 .home-main-grid-count-4 { grid-template-columns: repeat(2,minmax(0,1fr)) !important; }
}
@media (max-width: 720px) {
  .home-template-v2 .home-main-grid-count-4,
  .home-template-v2 .home-main-grid-count-3,
  .home-template-v2 .home-main-grid-count-2 { grid-template-columns: minmax(0,1fr) !important; }
  .home-template-v2 .home-main-grid .schedule-today .schedule-week-row { grid-template-columns: 88px minmax(0,1fr) !important; }
}

/* =========================================================
   R41 FINAL RESPONSIVE CONTRACT
   Viewport safety, device-specific hero controls, stable banner frames,
   mobile navigation/ticker and safe floating player placement.
   Banner positions, targeting, rotation and tracking are unchanged.
   ========================================================= */

html {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  -webkit-text-size-adjust: 100% !important;
}

body:not(.admin-ui) {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  padding-bottom: calc(98px + env(safe-area-inset-bottom, 0px)) !important;
}

body:not(.admin-ui) :where(img, picture, video, canvas, svg, iframe) {
  max-width: 100% !important;
}

#site-content,
.home-template-v2,
.home-template-v2 > *,
.home-template-v2 :where(section, article, aside, header, footer, div),
.site-header,
.site-footer,
footer.site-footer,
.player-shell,
.player-shell > *,
.content-grid,
.home-main-grid,
.home-banner-zone,
.home-banner-zone-top,
.home-banner-cell,
.home-bottom-banner-zone,
.banner-rotation,
.banner-slide,
.banner-slide > a,
.banner-slide picture {
  min-width: 0 !important;
  max-width: 100% !important;
}

#site-content {
  overflow-x: clip !important;
}

.home-template-v2 {
  width: 100% !important;
  max-width: 1536px !important;
  margin-inline: auto !important;
  padding-inline: 18px !important;
  overflow: visible !important;
}

/* Hero uses values saved in the hero editor, independently per device. */
.home-hero-block {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: var(--hero-height-desktop, 420px) !important;
  padding: clamp(34px, 5vw, 76px) clamp(22px, 4.5vw, 68px) !important;
  overflow: hidden !important;
  contain: paint !important;
}

.home-hero-block .hero-copy {
  width: min(100%, var(--hero-copy-width, 820px)) !important;
  max-width: min(100%, var(--hero-copy-width, 820px)) !important;
  min-width: 0 !important;
  padding-inline: 0 !important;
}

body:not(.admin-ui) .home-hero-block h1 {
  width: 100% !important;
  max-width: 100% !important;
  font-size: var(--hero-title-desktop, clamp(38px, 4.8vw, 68px)) !important;
  line-height: var(--hero-title-line-height, 1.08) !important;
  white-space: normal !important;
  overflow: visible !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: auto !important;
}

.home-hero-block p,
.home-hero-block em,
.hero-actions {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
}

/* The animated track may be wider than the viewport; its outer rail never is. */
.radio-ticker {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  contain: inline-size paint !important;
}

.radio-ticker-track {
  width: max-content !important;
  min-width: 100% !important;
  max-width: none !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  will-change: transform !important;
}

.radio-ticker-track > span {
  flex: 0 0 auto !important;
  max-width: none !important;
  white-space: nowrap !important;
}

/* Stable banner viewport; images are always fully visible without cropping. */
.home-template-v2 .home-banner-zone-top {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.home-template-v2 .home-banner-cell,
.home-template-v2 .home-bottom-banner-zone {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #080604 !important;
}

.home-template-v2 .home-banner-cell {
  aspect-ratio: 728 / 180 !important;
}

.home-template-v2 .home-bottom-banner-zone {
  aspect-ratio: 1460 / 320 !important;
}

.home-template-v2 .home-banner-cell :where(.banner-rotation, .banner-slide, a, picture, img),
.home-template-v2 .home-bottom-banner-zone :where(.banner-rotation, .banner-slide, a, picture, img) {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}

.home-template-v2 .home-banner-cell .banner-slide img,
.home-template-v2 .home-bottom-banner-zone .banner-slide img {
  display: block !important;
  object-fit: contain !important;
  object-position: center center !important;
  background: #080604 !important;
  transform: none !important;
}

/* Player content may shrink, but its controls and audio logic are untouched. */
.player-shell {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

.player-shell :where(.cover-block, .play-block, .track-block, .meters-block, .actions-block, .next-track, .previous-track-copy, .player-bottom-meta) {
  min-width: 0 !important;
  max-width: 100% !important;
}

.player-shell .track-block h2,
.player-shell .track-block h3,
.player-shell .track-block p {
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

.player-dock {
  box-sizing: border-box !important;
  width: min(520px, calc(100% - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px))) !important;
  max-width: calc(100% - 24px - env(safe-area-inset-left, 0px) - env(safe-area-inset-right, 0px)) !important;
  right: max(12px, env(safe-area-inset-right, 0px)) !important;
  bottom: max(12px, env(safe-area-inset-bottom, 0px)) !important;
  left: auto !important;
  overflow: hidden !important;
}

.player-dock > div {
  min-width: 0 !important;
}

.player-dock b {
  max-width: 100% !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

/* Header and mobile menu must remain inside the viewport. */
.site-header,
.site-header.header-layout-boxed {
  max-width: min(1500px, 100%) !important;
}

.site-header .brand,
.site-header .brand img,
.main-nav,
.mobile-nav {
  min-width: 0 !important;
  max-width: 100% !important;
}

.mobile-nav a,
.mobile-nav .submenu a {
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

@media (max-width: 900px) {
  .home-template-v2 {
    padding-inline: 10px !important;
  }

  .site-header,
  .site-header.header-layout-boxed,
  .site-footer,
  footer.site-footer {
    width: calc(100% - 20px) !important;
    max-width: calc(100% - 20px) !important;
  }

  .site-header {
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }

  .site-header .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 58px) !important;
  }

  .site-header .brand img {
    width: auto !important;
    max-width: min(205px, 100%) !important;
    height: auto !important;
  }

  .menu-toggle {
    flex: 0 0 46px !important;
    width: 46px !important;
    max-width: 46px !important;
    margin-left: auto !important;
  }

  .mobile-nav {
    box-sizing: border-box !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    max-height: min(72vh, 620px) !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
  }

  .home-hero-block {
    min-height: var(--hero-height-tablet, 340px) !important;
    padding: 38px 24px !important;
  }

  body:not(.admin-ui) .home-hero-block h1 {
    font-size: var(--hero-title-tablet, clamp(34px, 6vw, 54px)) !important;
  }

  .home-template-v2 .home-banner-zone-top {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  body:not(.admin-ui) {
    padding-bottom: calc(88px + env(safe-area-inset-bottom, 0px)) !important;
  }

  .home-template-v2 {
    padding-inline: 8px !important;
  }

  .site-header,
  .site-header.header-layout-boxed,
  .site-footer,
  footer.site-footer {
    width: calc(100% - 16px) !important;
    max-width: calc(100% - 16px) !important;
  }

  .site-header {
    min-height: 68px !important;
    padding: 8px 10px !important;
  }

  .site-header .brand {
    max-width: calc(100% - 56px) !important;
  }

  .site-header .brand img {
    max-width: min(168px, 100%) !important;
    max-height: 50px !important;
  }

  .radio-ticker {
    font-size: min(var(--ticker-size, 16px), 14px) !important;
  }

  .radio-ticker-track {
    padding-block: 7px !important;
    gap: 24px !important;
  }

  .radio-ticker-track > span {
    padding-left: 24px !important;
  }

  .home-hero-block {
    min-height: var(--hero-height-mobile, 300px) !important;
    padding: 30px 16px !important;
    background-position: var(--hero-position, center center) !important;
  }

  .home-hero-block .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  body:not(.admin-ui) .home-hero-block h1 {
    font-size: var(--hero-title-mobile, clamp(28px, 8.5vw, 40px)) !important;
    line-height: var(--hero-title-line-height, 1.08) !important;
  }

  .home-hero-block p {
    font-size: clamp(14px, 3.8vw, 16px) !important;
    line-height: 1.45 !important;
  }

  .home-hero-block em {
    font-size: clamp(14px, 3.8vw, 16px) !important;
  }

  .hero-actions {
    width: 100% !important;
  }

  .home-template-v2 .home-banner-cell,
  .home-template-v2 .home-bottom-banner-zone {
    width: 100% !important;
    max-width: 100% !important;
  }

  .home-template-v2 .home-bottom-banner-zone {
    aspect-ratio: 728 / 180 !important;
  }

  .player-shell .next-track {
    width: 100% !important;
    max-width: 100% !important;
  }

  .player-shell .player-bottom-meta {
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    overflow: visible !important;
    white-space: normal !important;
    row-gap: 6px !important;
  }

  .player-shell .player-bottom-meta span {
    white-space: nowrap !important;
  }

  .player-dock {
    width: auto !important;
    max-width: none !important;
    height: 68px !important;
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    right: max(10px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    padding: 7px 9px !important;
    gap: 9px !important;
    border-radius: 18px !important;
  }

  .player-dock img {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
  }

  .player-dock b {
    font-size: 14px !important;
  }

  .player-dock button {
    flex: 0 0 48px !important;
    width: 48px !important;
    height: 48px !important;
  }
}

@media (max-width: 380px) {
  .home-template-v2 {
    padding-inline: 6px !important;
  }

  .site-header,
  .site-header.header-layout-boxed,
  .site-footer,
  footer.site-footer {
    width: calc(100% - 12px) !important;
    max-width: calc(100% - 12px) !important;
  }

  .site-header .brand img {
    max-width: min(148px, 100%) !important;
  }

  .home-hero-block {
    padding-inline: 13px !important;
  }

  .player-dock {
    left: max(6px, env(safe-area-inset-left, 0px)) !important;
    right: max(6px, env(safe-area-inset-right, 0px)) !important;
  }
}

@media (max-width: 900px) {
  body.mobile-menu-open:not(.admin-ui) {
    overflow-y: hidden !important;
  }
}

/* =========================================================
   R43 STABLE HERO + BANNER CONTRACT
   Stable slot dimensions, admin controls outside images,
   and hero sizing controlled from the admin editor.
   ========================================================= */

/* Header identity: keep the configured media asset visible without clipping. */
.site-header .brand {
  display: flex !important;
  align-items: center !important;
  align-self: stretch !important;
  overflow: visible !important;
}

.site-header .brand img {
  width: auto !important;
  height: auto !important;
  max-width: min(285px, 21vw) !important;
  max-height: 76px !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Hero container values are written by the hero editor. */
.home-hero-block {
  width: min(100%, var(--hero-container-width, 100%)) !important;
  max-width: min(100%, var(--hero-container-width, 100%)) !important;
  min-height: var(--hero-height-desktop, 420px) !important;
  margin-inline: auto !important;
  padding: var(--hero-padding-y-desktop, 54px) var(--hero-padding-x-desktop, 48px) !important;
  background-size: var(--hero-background-size, cover) !important;
  background-repeat: no-repeat !important;
  background-position: var(--hero-position, center center) !important;
}

.home-hero-block .hero-copy {
  width: min(100%, var(--hero-copy-width, 820px)) !important;
  max-width: min(100%, var(--hero-copy-width, 820px)) !important;
}

body:not(.admin-ui) .home-hero-block h1 {
  width: min(100%, var(--hero-title-max-width, 1100px)) !important;
  max-width: min(100%, var(--hero-title-max-width, 1100px)) !important;
  margin-inline: auto !important;
  font-size: var(--hero-title-desktop, clamp(38px, 4.8vw, 68px)) !important;
  line-height: var(--hero-title-line-height, 1.08) !important;
}

.home-hero-block.hero-align-left h1 { margin-left: 0 !important; margin-right: auto !important; }
.home-hero-block.hero-align-right h1 { margin-left: auto !important; margin-right: 0 !important; }

/* Stable banner shell. The stage ratio never follows the active slide. */
.home-template-v2 .home-banner-zone-top {
  align-items: start !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.home-template-v2 .home-banner-cell,
.home-template-v2 .home-bottom-banner-zone {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 0 !important;
  height: auto !important;
  aspect-ratio: auto !important;
  padding: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

.home-template-v2 .banner-rotation {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  aspect-ratio: auto !important;
}

.banner-admin-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
  min-height: 34px !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  position: static !important;
  z-index: auto !important;
}

.banner-admin-bar a {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 30px !important;
  padding: 5px 11px !important;
  border: 1px solid rgba(215, 146, 36, .72) !important;
  border-radius: 999px !important;
  background: #0b0805 !important;
  color: #f2bd58 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}

.banner-stage {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: var(--banner-ratio-desktop, 3 / 1) !important;
  overflow: hidden !important;
  border: 1px solid rgba(215, 146, 36, .78) !important;
  border-radius: 12px !important;
  background: #080604 !important;
}

.banner-stage .banner-slide {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.banner-stage .banner-slide > a,
.banner-stage .banner-slide picture,
.banner-stage .banner-slide img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

.banner-stage .banner-slide img {
  object-fit: var(--banner-fit, cover) !important;
  object-position: center center !important;
  background: #080604 !important;
  transform: none !important;
}

.banner-stage .banner-dots {
  position: absolute !important;
  left: 50% !important;
  bottom: 8px !important;
  z-index: 6 !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
}

.banner-stage .public-edit-btn,
.banner-stage .public-edit-banner-btn {
  display: none !important;
}

@media (max-width: 900px) {
  .home-hero-block {
    min-height: var(--hero-height-tablet, 340px) !important;
    padding: var(--hero-padding-y-tablet, 38px) var(--hero-padding-x-tablet, 24px) !important;
  }

  body:not(.admin-ui) .home-hero-block h1 {
    font-size: var(--hero-title-tablet, clamp(34px, 6vw, 54px)) !important;
  }

  .home-template-v2 .home-banner-zone-top {
    grid-template-columns: 1fr !important;
  }

  .banner-stage {
    aspect-ratio: var(--banner-ratio-tablet, 3 / 1) !important;
  }
}

@media (max-width: 620px) {
  .site-header .brand img {
    max-width: min(168px, 100%) !important;
    max-height: 50px !important;
  }

  .home-hero-block {
    min-height: var(--hero-height-mobile, 300px) !important;
    padding: var(--hero-padding-y-mobile, 30px) var(--hero-padding-x-mobile, 16px) !important;
  }

  body:not(.admin-ui) .home-hero-block h1 {
    font-size: var(--hero-title-mobile, clamp(28px, 8.5vw, 40px)) !important;
  }

  .banner-admin-bar {
    justify-content: stretch !important;
    flex-wrap: wrap !important;
  }

  .banner-admin-bar a {
    flex: 1 1 auto !important;
    justify-content: center !important;
  }

  .banner-stage {
    aspect-ratio: var(--banner-ratio-mobile, 2.2 / 1) !important;
  }
}

/* =========================================================
   R44 FINAL FRONT MOCKUP ALIGNMENT
   One authoritative public-front layer for the approved mockup:
   stable smart banners, compact hierarchy, centered player,
   four-card information row and responsive no-overflow contract.
   ========================================================= */

body:not(.admin-ui) {
  --front-max: 1500px;
  --front-gap: 14px;
  --front-side: clamp(10px, 2.2vw, 24px);
}

body:not(.admin-ui) #site-content {
  width: 100% !important;
  max-width: 100% !important;
}

body:not(.admin-ui) .site-header {
  width: min(var(--front-max), calc(100% - (var(--front-side) * 2))) !important;
  max-width: var(--front-max) !important;
  min-height: 96px !important;
  height: auto !important;
  margin-inline: auto !important;
  padding: 8px 18px !important;
  gap: clamp(16px, 2vw, 34px) !important;
  border-bottom: 1px solid rgba(215, 146, 36, .22) !important;
  background: rgba(5, 4, 3, .92) !important;
}

body:not(.admin-ui) .site-header .brand {
  flex: 0 1 300px !important;
  min-width: 180px !important;
  max-width: 300px !important;
}

body:not(.admin-ui) .site-header .brand img {
  width: auto !important;
  max-width: 100% !important;
  max-height: 82px !important;
}

body:not(.admin-ui) .site-header .main-nav {
  min-width: 0 !important;
  gap: clamp(13px, 1.45vw, 28px) !important;
}

body:not(.admin-ui) .site-header .main-nav > a,
body:not(.admin-ui) .site-header .nav-group > a {
  padding-block: 24px 17px !important;
  font-size: clamp(11px, .78vw, 13px) !important;
  line-height: 1 !important;
}

body:not(.admin-ui) .home-template-v2 {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: var(--front-max) !important;
  margin: 0 auto 32px !important;
  padding-inline: var(--front-side) !important;
  gap: var(--front-gap) !important;
}

/* Hero is a scene, not a card. Its size remains fully controlled in admin. */
body:not(.admin-ui) .home-hero-block {
  margin: 0 auto !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(215, 146, 36, .52) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  isolation: isolate !important;
}

body:not(.admin-ui) .home-hero-block::before {
  inset: 0 !important;
  height: auto !important;
  opacity: var(--hero-overlay-opacity, .58) !important;
  z-index: 0 !important;
  background: var(--hero-overlay, #080604) !important;
  pointer-events: none !important;
}

body:not(.admin-ui) .home-hero-block .hero-copy {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: inherit !important;
  min-width: 0 !important;
}

body:not(.admin-ui) .home-hero-block h1 {
  margin-top: 0 !important;
  margin-bottom: 10px !important;
  color: #f7e5bd !important;
  text-wrap: balance !important;
  text-shadow: 0 3px 20px rgba(0,0,0,.9) !important;
}

body:not(.admin-ui) .home-hero-block p {
  max-width: 900px !important;
  margin: 0 auto 8px !important;
  color: #f6ebda !important;
  text-wrap: balance !important;
}

body:not(.admin-ui) .home-hero-block em {
  margin-top: 2px !important;
  color: #e7b458 !important;
  text-shadow: 0 2px 12px #000 !important;
}

/* Top advertisements keep their positions, but no longer dominate the page. */
body:not(.admin-ui) .home-banner-zone-top {
  width: 100% !important;
  max-width: var(--front-max) !important;
  margin: 0 auto !important;
  gap: var(--front-gap) !important;
  align-items: start !important;
}

body:not(.admin-ui) .home-banner-cell,
body:not(.admin-ui) .home-bottom-banner-zone {
  min-width: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body:not(.admin-ui) .banner-rotation {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Logged-in tools are outside the artwork and never reserve half a row. */
body:not(.admin-ui) .banner-admin-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  min-height: 0 !important;
  margin: 0 0 6px !important;
  padding: 0 !important;
  background: transparent !important;
}

body:not(.admin-ui) .banner-admin-bar a {
  flex: 0 0 auto !important;
  width: auto !important;
  min-width: 0 !important;
  min-height: 26px !important;
  padding: 5px 10px !important;
  border-radius: 7px !important;
  font-size: 10px !important;
  line-height: 1 !important;
}

body:not(.admin-ui) .banner-stage {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  aspect-ratio: var(--banner-ratio-desktop, 3 / 1) !important;
  overflow: hidden !important;
  border: 1px solid rgba(215, 146, 36, .68) !important;
  border-radius: 11px !important;
  background: #080604 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.018) !important;
}

body:not(.admin-ui) .banner-stage .banner-slide,
body:not(.admin-ui) .banner-stage .banner-media,
body:not(.admin-ui) .banner-stage .banner-picture,
body:not(.admin-ui) .banner-stage .banner-picture img {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
}

body:not(.admin-ui) .banner-stage .banner-slide {
  opacity: 0 !important;
  visibility: hidden !important;
  transition: opacity .55s ease !important;
  transform: none !important;
}

body:not(.admin-ui) .banner-stage .banner-slide.active {
  opacity: 1 !important;
  visibility: visible !important;
}

body:not(.admin-ui) .banner-stage .banner-media {
  overflow: hidden !important;
}

body:not(.admin-ui) .banner-stage .banner-picture-main {
  z-index: 2 !important;
}

body:not(.admin-ui) .banner-fit-smart .banner-picture-backdrop {
  z-index: 1 !important;
  overflow: hidden !important;
  transform: scale(1.08) !important;
  opacity: .8 !important;
}

body:not(.admin-ui) .banner-fit-smart .banner-picture-backdrop img {
  object-fit: cover !important;
  object-position: center !important;
  filter: blur(18px) brightness(.42) saturate(.92) !important;
}

body:not(.admin-ui) .banner-fit-smart .banner-picture-main img {
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}

body:not(.admin-ui) .banner-fit-cover .banner-picture-main img {
  object-fit: cover !important;
  object-position: center !important;
}

body:not(.admin-ui) .banner-fit-contain .banner-picture-main img {
  object-fit: contain !important;
  object-position: center !important;
  background: #080604 !important;
}

body:not(.admin-ui) .banner-stage .banner-dots {
  bottom: 7px !important;
  z-index: 7 !important;
}

body:not(.admin-ui) .banner-stage .banner-dots button {
  width: 8px !important;
  height: 8px !important;
}

/* The player is deliberately narrower than the information grid, as in the mockup. */
body:not(.admin-ui) .home-player-zone {
  width: 100% !important;
  max-width: 1310px !important;
  margin: 0 auto !important;
}

body:not(.admin-ui) .home-player-zone .player-shell {
  width: 100% !important;
  max-width: 1310px !important;
  margin: 0 auto !important;
  border-radius: 15px !important;
  box-shadow: 0 18px 42px rgba(0,0,0,.42), inset 0 1px rgba(255,255,255,.035) !important;
}

/* Four functional cards form a single compact row under the player. */
body:not(.admin-ui) .home-main-grid {
  width: 100% !important;
  max-width: var(--front-max) !important;
  margin: 0 auto !important;
  gap: var(--front-gap) !important;
}

body:not(.admin-ui) .home-main-grid-count-4 {
  grid-template-columns: 1.08fr .92fr 1.04fr 1.08fr !important;
}

body:not(.admin-ui) .home-main-grid-count-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body:not(.admin-ui) .home-main-grid .panel,
body:not(.admin-ui) .home-main-grid .home-feature-card,
body:not(.admin-ui) .home-main-grid .home-schedule-card,
body:not(.admin-ui) .home-main-grid .home-news-card {
  min-height: 242px !important;
  border-radius: 11px !important;
}

body:not(.admin-ui) .home-main-grid .home-feature-card {
  padding: 22px 18px !important;
}

body:not(.admin-ui) .home-main-grid .home-feature-card h2 {
  font-size: clamp(27px, 2vw, 39px) !important;
  margin-bottom: 14px !important;
}

body:not(.admin-ui) .home-main-grid .home-feature-card .home-section-copy p {
  font-size: 15px !important;
  line-height: 1.48 !important;
}

body:not(.admin-ui) .home-main-grid .home-feature-card .panel-art {
  width: clamp(90px, 9vw, 150px) !important;
  max-height: 205px !important;
}

body:not(.admin-ui) .home-main-grid .home-news-card {
  padding: 0 14px 10px !important;
}

body:not(.admin-ui) .home-main-grid .home-news-card .panel-title {
  min-height: 47px !important;
  margin-bottom: 6px !important;
}

body:not(.admin-ui) .home-main-grid .home-news-card .news-row {
  min-height: 48px !important;
  grid-template-columns: 62px minmax(0,1fr) !important;
  gap: 9px !important;
}

body:not(.admin-ui) .home-main-grid .home-news-card .news-row img,
body:not(.admin-ui) .home-main-grid .home-news-card .news-date-badge {
  width: 62px !important;
  height: 44px !important;
}

/* Story, network and contact remain editable sections, but share one visual system. */
body:not(.admin-ui) .home-extra-section {
  width: 100% !important;
  max-width: var(--front-max) !important;
  margin: 0 auto !important;
}

body:not(.admin-ui) .home-story-card,
body:not(.admin-ui) .home-partners-card,
body:not(.admin-ui) .home-contact-card {
  border-radius: 11px !important;
  padding: clamp(22px, 2.3vw, 34px) !important;
}

body:not(.admin-ui) .home-story-card h2,
body:not(.admin-ui) .home-partners-card h2,
body:not(.admin-ui) .home-contact-card h2 {
  font-size: clamp(30px, 2.5vw, 44px) !important;
}

body:not(.admin-ui) .home-partners-card .partner-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body:not(.admin-ui) .home-partners-card .partner-card {
  min-height: 96px !important;
  padding: 17px !important;
}

/* Compact footer from the approved mockup. */
body:not(.admin-ui) .site-footer {
  width: min(var(--front-max), calc(100% - (var(--front-side) * 2))) !important;
  max-width: var(--front-max) !important;
  min-height: 102px !important;
  margin: 14px auto 0 !important;
  padding: 12px 20px calc(92px + env(safe-area-inset-bottom,0px)) !important;
  grid-template-columns: minmax(140px, .75fr) minmax(180px, 1.15fr) minmax(170px, .9fr) minmax(150px, .8fr) minmax(180px, .95fr) !important;
  gap: clamp(14px, 2vw, 28px) !important;
  border: 1px solid rgba(215,146,36,.34) !important;
  border-radius: 11px !important;
  background: rgba(10,7,4,.88) !important;
}

body:not(.admin-ui) .site-footer > img {
  width: 100% !important;
  max-width: 180px !important;
  height: auto !important;
  max-height: 82px !important;
  object-fit: contain !important;
}

body:not(.admin-ui) .site-footer b {
  color: #f1bd58 !important;
}

body:not(.admin-ui) .site-footer a {
  color: #e6b04b !important;
}

@media (max-width: 1240px) {
  body:not(.admin-ui) .site-header {
    gap: 15px !important;
  }
  body:not(.admin-ui) .site-header .brand {
    flex-basis: 245px !important;
    max-width: 245px !important;
  }
  body:not(.admin-ui) .site-header .main-nav {
    gap: 12px !important;
  }
  body:not(.admin-ui) .home-main-grid-count-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body:not(.admin-ui) .site-footer {
    grid-template-columns: repeat(3, minmax(0,1fr)) !important;
  }
}

@media (max-width: 900px) {
  body:not(.admin-ui) .site-header {
    width: calc(100% - 20px) !important;
    min-height: 72px !important;
    padding: 8px 10px !important;
  }
  body:not(.admin-ui) .site-header .brand {
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: calc(100% - 58px) !important;
  }
  body:not(.admin-ui) .home-banner-zone-top {
    grid-template-columns: 1fr !important;
  }
  body:not(.admin-ui) .banner-stage {
    aspect-ratio: var(--banner-ratio-tablet, 3 / 1) !important;
  }
  body:not(.admin-ui) .home-player-zone {
    max-width: 100% !important;
  }
  body:not(.admin-ui) .home-player-zone .player-shell {
    max-width: 100% !important;
  }
  body:not(.admin-ui) .home-main-grid-count-3,
  body:not(.admin-ui) .home-main-grid-count-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  body:not(.admin-ui) .site-footer {
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
  }
}

@media (max-width: 620px) {
  body:not(.admin-ui) {
    --front-side: 8px;
  }
  body:not(.admin-ui) .home-template-v2 {
    gap: 10px !important;
  }
  body:not(.admin-ui) .home-hero-block h1 {
    text-wrap: pretty !important;
  }
  body:not(.admin-ui) .banner-admin-bar {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }
  body:not(.admin-ui) .banner-admin-bar a {
    width: 100% !important;
    justify-content: center !important;
  }
  body:not(.admin-ui) .banner-stage {
    aspect-ratio: var(--banner-ratio-mobile, 2 / 1) !important;
  }
  body:not(.admin-ui) .home-main-grid-count-2,
  body:not(.admin-ui) .home-main-grid-count-3,
  body:not(.admin-ui) .home-main-grid-count-4 {
    grid-template-columns: 1fr !important;
  }
  body:not(.admin-ui) .home-main-grid .panel,
  body:not(.admin-ui) .home-main-grid .home-feature-card,
  body:not(.admin-ui) .home-main-grid .home-schedule-card,
  body:not(.admin-ui) .home-main-grid .home-news-card {
    min-height: 0 !important;
  }
  body:not(.admin-ui) .home-partners-card .partner-grid,
  body:not(.admin-ui) .site-footer {
    grid-template-columns: 1fr !important;
  }
  body:not(.admin-ui) .site-footer {
    text-align: left !important;
    padding-bottom: calc(88px + env(safe-area-inset-bottom,0px)) !important;
  }
}

/* R45 — final layout corrections from public test.
   Keeps CMS ordering/data logic intact; fixes schedule page duplication,
   logged-in desktop header stacking, homepage information grid, news overflow,
   and authoritative player typography. */

/* Logged-in toolbar must never cover the desktop navigation. */
body.public-admin-active .public-admin-toolbar {
  position: sticky !important;
  top: 0 !important;
  z-index: 500 !important;
  min-height: 48px !important;
}
body.public-admin-active .site-header.sticky {
  top: 48px !important;
  z-index: 480 !important;
}

/* Dedicated programme page: no generic category/hero box and no duplicate title block. */
.schedule-page-shell {
  width: min(var(--front-max, 1500px), calc(100% - 32px)) !important;
  max-width: 100% !important;
  margin: 24px auto 0 !important;
  padding: 0 !important;
}
.schedule-page-shell .public-breadcrumb {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
  padding: 0 2px 12px !important;
  border-bottom: 1px solid rgba(215,146,36,.32) !important;
  color: var(--text-color, #f3ead9) !important;
  font-family: var(--font-body, Arial, sans-serif) !important;
  font-size: 14px !important;
}
.schedule-page-shell .public-breadcrumb a {
  color: var(--link-color, #f2bd58) !important;
  text-decoration: none !important;
}
.schedule-page-shell > .schedule {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: clamp(18px, 2.2vw, 30px) !important;
}
.schedule-page-shell > .schedule > header { display: none !important; }

/* Four editable information sections in one reorderable row.
   DOM order still comes directly from home_sections.sort_order. */
.home-info-grid {
  width: 100% !important;
  max-width: var(--front-max, 1500px) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  align-items: stretch !important;
  gap: var(--front-gap, 14px) !important;
}
.home-info-grid > .home-extra-section {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
}
.home-info-grid .home-story-card,
.home-info-grid .home-partners-card,
.home-info-grid .home-contact-card {
  height: 100% !important;
  min-height: 250px !important;
  padding: 22px !important;
  overflow: hidden !important;
}
.home-info-grid .home-story-card,
.home-info-grid .home-contact-card {
  display: flex !important;
  flex-direction: column !important;
}
.home-info-grid .home-story-card img,
.home-info-grid .home-contact-card img {
  width: 100% !important;
  max-height: 150px !important;
  object-fit: cover !important;
  border-radius: 8px !important;
}
.home-info-grid h2 {
  font-size: clamp(26px, 2vw, 38px) !important;
  line-height: 1.08 !important;
  overflow-wrap: anywhere !important;
}
.home-info-grid .partner-grid {
  grid-template-columns: 1fr !important;
  align-content: start !important;
  max-height: 300px !important;
  overflow-y: auto !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(215,146,36,.7) rgba(255,255,255,.04) !important;
}

/* News count is data-driven; long lists remain inside their card. */
.home-main-grid .home-news-card {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}
.home-main-grid .home-news-card .news-list {
  flex: 1 1 auto !important;
  max-height: 330px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  padding-right: 4px !important;
  scrollbar-width: thin !important;
  scrollbar-color: rgba(215,146,36,.7) rgba(255,255,255,.04) !important;
}
.home-main-grid .home-news-card .news-list::-webkit-scrollbar,
.home-info-grid .partner-grid::-webkit-scrollbar { width: 7px !important; }
.home-main-grid .home-news-card .news-list::-webkit-scrollbar-thumb,
.home-info-grid .partner-grid::-webkit-scrollbar-thumb {
  background: rgba(215,146,36,.66) !important;
  border-radius: 999px !important;
}

/* Player typography: one authoritative font system, independent of global H1/H2 styles. */
body:not(.admin-ui) .player-shell,
body:not(.admin-ui) .player-shell *,
body:not(.admin-ui) .player-dock,
body:not(.admin-ui) .player-dock * {
  font-family: var(--font-player, var(--font-body, Arial, sans-serif)) !important;
  font-variant-ligatures: none !important;
  text-rendering: optimizeLegibility !important;
}
body:not(.admin-ui) .player-shell .track-block h2 {
  margin: 4px 0 2px !important;
  font-size: clamp(28px, 2.25vw, 42px) !important;
  font-weight: 700 !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
}
body:not(.admin-ui) .player-shell .track-block h3 {
  margin: 0 0 5px !important;
  font-size: clamp(14px, 1.15vw, 18px) !important;
  font-weight: 600 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  overflow-wrap: anywhere !important;
}
body:not(.admin-ui) .player-shell .track-block p,
body:not(.admin-ui) .player-shell .eyebrow,
body:not(.admin-ui) .player-shell .listeners,
body:not(.admin-ui) .player-shell .action-grid,
body:not(.admin-ui) .player-shell .next-track {
  letter-spacing: 0 !important;
}

@media (max-width: 1240px) {
  .home-info-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 720px) {
  body.public-admin-active .public-admin-toolbar {
    position: relative !important;
    min-height: 0 !important;
  }
  body.public-admin-active .site-header.sticky { top: 0 !important; }
  .schedule-page-shell { width: calc(100% - 16px) !important; margin-top: 12px !important; }
  .home-info-grid { grid-template-columns: 1fr !important; }
  .home-info-grid .home-story-card,
  .home-info-grid .home-partners-card,
  .home-info-grid .home-contact-card { min-height: 0 !important; }
  body:not(.admin-ui) .player-shell .track-block h2 {
    font-size: clamp(25px, 8vw, 34px) !important;
  }
  body:not(.admin-ui) .player-shell .track-block h3 {
    font-size: 14px !important;
  }
}

/* R46: editable section headings, balanced info cards, four banner positions */
.home-info-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  align-items:stretch;
  gap:16px;
}
.home-info-grid>section{min-width:0;display:flex}
.home-info-grid>section>.panel,
.home-info-grid>section>article{width:100%;height:100%;display:flex;flex-direction:column;min-width:0}
.home-info-grid .home-section-copy{min-width:0;overflow-wrap:anywhere}
.home-info-grid .home-more-link{margin-top:auto;align-self:flex-start}
.home-info-grid h2,
.home-main-grid h2,
.home-section h2,
.home-feature-card h2,
.home-news-card .panel-title>span{
  font-family:var(--section-heading-font,var(--font-heading));
  font-size:var(--section-heading-size,var(--h2-size));
  font-weight:var(--section-heading-weight,var(--heading-weight));
  color:var(--section-heading-color,var(--heading-color));
  letter-spacing:var(--section-heading-letter,var(--heading-letter-spacing));
  line-height:var(--section-heading-line,1.12);
  text-align:var(--section-heading-align,left);
  margin-bottom:var(--section-heading-margin,18px);
  max-width:100%;
  overflow-wrap:anywhere;
}
.home-more-link{display:inline-flex;margin-top:14px}
.home-banner-zone-bottom{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
  width:100%;
  max-width:100%;
  margin-top:18px;
}
.home-banner-zone-bottom .home-banner-cell{min-width:0}
@media(max-width:1100px){
  .home-info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .home-info-grid,.home-banner-zone-bottom{grid-template-columns:1fr}
}

/* R47: adaptive information rows, compact article header and single-banner expansion */
.home-info-grid.home-info-grid-count-1{grid-template-columns:minmax(0,1fr)!important}
.home-info-grid.home-info-grid-count-2{grid-template-columns:repeat(2,minmax(0,1fr))!important}
.home-info-grid.home-info-grid-count-3{grid-template-columns:repeat(3,minmax(0,1fr))!important}
.home-info-grid.home-info-grid-count-4{grid-template-columns:repeat(4,minmax(0,1fr))!important}
.home-banner-zone.home-banner-count-1{grid-template-columns:minmax(0,1fr)!important}
.home-banner-zone.home-banner-count-1>.home-banner-cell{grid-column:1/-1;width:100%;max-width:100%}
.home-section-copy-limited p{margin:0;overflow-wrap:anywhere}
.article-single{padding-top:clamp(18px,3vw,38px)!important}
.article-header-compact{max-width:980px;margin:0 auto clamp(20px,3vw,34px);padding:0 0 clamp(16px,2vw,24px);border-bottom:1px solid rgba(216,148,34,.32)}
.article-header-compact h1{margin:10px 0 12px;font-size:clamp(34px,5vw,64px);line-height:1.06;overflow-wrap:anywhere}
.article-header-compact .article-lead{max-width:850px;margin:12px 0 0;font-size:clamp(16px,1.4vw,20px);line-height:1.55;color:var(--text-color)}
.article-header-compact .public-breadcrumb{margin:0 0 8px}
@media(max-width:1100px){
 .home-info-grid.home-info-grid-count-3,.home-info-grid.home-info-grid-count-4{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:760px){
 .home-info-grid.home-info-grid-count-1,.home-info-grid.home-info-grid-count-2,.home-info-grid.home-info-grid-count-3,.home-info-grid.home-info-grid-count-4{grid-template-columns:1fr!important}
 .article-header-compact h1{font-size:clamp(28px,9vw,42px)}
}

/* R48 — Unified section backgrounds from CMS settings */
body:not(.admin-ui) .has-section-background {
  position: relative !important;
  isolation: isolate;
  overflow: hidden !important;
  background-color: #090503 !important;
  background-image:
    linear-gradient(var(--section-bg-overlay, rgba(9,5,3,.55)), var(--section-bg-overlay, rgba(9,5,3,.55))),
    var(--section-bg-desktop, none) !important;
  background-repeat: no-repeat, no-repeat !important;
  background-position: center, var(--section-bg-position, center center) !important;
  background-size: 100% 100%, var(--section-bg-fit, cover) !important;
}
body:not(.admin-ui) .has-section-background > * {
  position: relative;
  z-index: 1;
}
@media (max-width: 900px) {
  body:not(.admin-ui) .has-section-background {
    background-image:
      linear-gradient(var(--section-bg-overlay, rgba(9,5,3,.55)), var(--section-bg-overlay, rgba(9,5,3,.55))),
      var(--section-bg-tablet, var(--section-bg-desktop, none)) !important;
  }
}
@media (max-width: 600px) {
  body:not(.admin-ui) .has-section-background {
    background-image:
      linear-gradient(var(--section-bg-overlay, rgba(9,5,3,.55)), var(--section-bg-overlay, rgba(9,5,3,.55))),
      var(--section-bg-mobile, var(--section-bg-tablet, var(--section-bg-desktop, none))) !important;
  }
}
.home-section-copy .text-align-left { text-align: left !important; }
.home-section-copy .text-align-center { text-align: center !important; }
.home-section-copy .text-align-right { text-align: right !important; }

/* R49 — final flat hero/page-heading contract
   Public content pages use a compact heading, while the homepage hero keeps its
   CMS-managed background without a second framed card inside it. */
body:not(.admin-ui) .home-hero-block .hero-copy,
body:not(.admin-ui) .hero .hero-copy {
  width: min(100%, var(--hero-copy-width, 820px)) !important;
  max-width: var(--hero-copy-width, 820px) !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

body:not(.admin-ui) .page-hero,
body:not(.admin-ui) .page-hero.page-hero-compact {
  position: relative !important;
  width: min(100%, 1500px) !important;
  min-height: 0 !important;
  margin: clamp(20px, 3vw, 42px) auto clamp(18px, 2.5vw, 34px) !important;
  padding: clamp(18px, 2.2vw, 30px) 0 clamp(16px, 2vw, 26px) !important;
  display: block !important;
  overflow: visible !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(216,148,34,.34) !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  text-align: left !important;
}
body:not(.admin-ui) .page-hero::before,
body:not(.admin-ui) .page-hero::after {
  content: none !important;
  display: none !important;
}
body:not(.admin-ui) .page-hero > * {
  position: static !important;
  z-index: auto !important;
  max-width: 980px !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body:not(.admin-ui) .page-hero h1 {
  margin: 0 0 10px !important;
  max-width: 100% !important;
  font-family: var(--font-heading) !important;
  font-size: clamp(32px, 4.3vw, 58px) !important;
  line-height: 1.06 !important;
  letter-spacing: -.02em !important;
  text-align: left !important;
  color: var(--heading-color, #fff1d4) !important;
  text-shadow: none !important;
  overflow-wrap: anywhere !important;
}
body:not(.admin-ui) .page-hero p {
  margin: 0 !important;
  max-width: 820px !important;
  font-size: clamp(16px, 1.35vw, 20px) !important;
  line-height: 1.55 !important;
  text-align: left !important;
  color: var(--text-color, #e7d1ad) !important;
}
body:not(.admin-ui) .page-hero .eyebrow { display: none !important; }

@media (max-width: 760px) {
  body:not(.admin-ui) .home-hero-block .hero-copy,
  body:not(.admin-ui) .hero .hero-copy {
    width: 100% !important;
    max-width: 100% !important;
  }
  body:not(.admin-ui) .page-hero,
  body:not(.admin-ui) .page-hero.page-hero-compact {
    margin-top: 16px !important;
    padding: 16px 0 18px !important;
  }
  body:not(.admin-ui) .page-hero h1 {
    font-size: clamp(29px, 9vw, 42px) !important;
  }
}

/* R50 — dedicated programme page: six cards in a stable 2 × 3 grid. */
.schedule-page-shell > .schedule.schedule-six-cards {
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.schedule-six-grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: clamp(14px, 1.5vw, 22px) !important;
  width: 100% !important;
  max-width: 100% !important;
  align-items: stretch !important;
}
.schedule-six-grid .schedule-full-day-card {
  min-width: 0 !important;
  min-height: 360px !important;
  padding: clamp(18px, 2vw, 28px) !important;
  border: 1px solid rgba(215,146,36,.45) !important;
  border-radius: 14px !important;
  background: linear-gradient(145deg, rgba(29,17,8,.94), rgba(7,6,5,.98)) !important;
  overflow: hidden !important;
}
.schedule-six-grid .schedule-full-day-card h3 {
  margin: 0 0 14px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid rgba(215,146,36,.28) !important;
  color: var(--heading-color, #fff4d8) !important;
  font-family: var(--font-heading, Georgia, serif) !important;
  font-size: clamp(22px, 2vw, 32px) !important;
  line-height: 1.1 !important;
  text-transform: none !important;
}
.schedule-six-grid .schedule-row {
  grid-template-columns: minmax(94px, auto) minmax(0, 1fr) !important;
  gap: 14px !important;
  padding: 11px 0 !important;
}
.schedule-six-grid .schedule-row time {
  white-space: nowrap !important;
}
.schedule-six-grid .schedule-empty-day {
  margin: 18px 0 0 !important;
  color: rgba(243,234,217,.68) !important;
}
@media (max-width: 720px) {
  .schedule-six-grid { grid-template-columns: 1fr !important; }
  .schedule-six-grid .schedule-full-day-card { min-height: 0 !important; }
}
@media (max-width: 430px) {
  .schedule-page-shell { width: calc(100% - 20px) !important; }
  .schedule-six-grid .schedule-row {
    grid-template-columns: 1fr !important;
    gap: 4px !important;
  }
}

/* R54: visible, platform-specific sharing controls */
.share-tools{
  width:min(1180px,calc(100% - 40px));
  margin:clamp(16px,2.5vw,28px) auto;
  padding:clamp(14px,2vw,20px);
  border:1px solid rgba(216,148,34,.42);
  border-radius:14px;
  background:linear-gradient(145deg,rgba(25,17,10,.96),rgba(9,7,5,.98));
  box-shadow:0 16px 42px rgba(0,0,0,.24);
}
.page-content>.share-tools,
.schedule-page-shell>.share-tools{
  width:100%;
}
.share-tools-player{
  margin-top:12px;
  margin-bottom:22px;
}
.share-tools-heading{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.share-tools-heading strong{
  color:var(--heading-color,#fff4d8);
  font-family:var(--font-heading,Georgia,serif);
  font-size:clamp(20px,2vw,26px);
}
.share-tools-heading span{
  color:rgba(243,234,217,.72);
  font-size:13px;
}
.share-tools-grid{
  display:grid;
  grid-template-columns:repeat(7,minmax(0,1fr));
  gap:9px;
}
.share-button{
  min-width:0;
  min-height:50px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  padding:10px 8px;
  border:1px solid rgba(234,177,74,.34);
  border-radius:10px;
  background:rgba(255,255,255,.035);
  color:#fff4df;
  font:700 13px/1.2 var(--font-button,var(--font-body,Arial,sans-serif));
  text-align:center;
  text-decoration:none;
  cursor:pointer;
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.share-button:hover,
.share-button:focus-visible{
  transform:translateY(-2px);
  border-color:rgba(242,189,88,.92);
  background:rgba(216,148,34,.14);
  outline:none;
}
.share-mark{
  width:27px;
  height:27px;
  flex:0 0 27px;
  display:grid;
  place-items:center;
  border:1px solid currentColor;
  border-radius:50%;
  font:800 14px/1 Arial,sans-serif;
}
.share-facebook .share-mark{font-size:18px}
.share-x .share-mark{font-size:13px}
.share-email .share-mark{font-size:12px}
.share-copy .share-mark{font-size:15px}
@media(max-width:1000px){
  .share-tools-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media(max-width:650px){
  .share-tools{width:calc(100% - 20px);padding:13px}
  .page-content>.share-tools,.schedule-page-shell>.share-tools{width:100%}
  .share-tools-heading{display:block}
  .share-tools-heading span{display:block;margin-top:3px}
  .share-tools-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .share-button{justify-content:flex-start;padding:10px 12px}
}


/* R58N — inline admin controls never cover public cards by default. */
body:not(.cms-preview) .public-edit-wrap .public-edit-btn {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateY(-6px) !important;
  transition: opacity .14s ease, transform .14s ease, visibility .14s ease !important;
}
@media (hover: hover) and (pointer: fine) {
  body:not(.cms-preview) .public-edit-wrap:hover .public-edit-btn {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transform: translateY(0) !important;
  }
}
@media (hover: none), (pointer: coarse), (max-width: 900px) {
  body:not(.cms-preview) .public-edit-wrap .public-edit-btn {
    display: none !important;
  }
}

/* R60: real discoverable LCP image; preserves the existing hero composition. */
.home-hero-block > .hero-lcp-image {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  display: block !important;
  pointer-events: none !important;
}
.home-hero-block::before { z-index: 1 !important; }
.home-hero-block > .hero-copy { position: relative !important; z-index: 2 !important; }
.home-hero-block > .public-edit-btn { z-index: 4 !important; }
