*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#030403;color:#f4f4f4;font-family:Arial,Helvetica,sans-serif}.header{height:76px;background:#030303;border-bottom:1px solid #283820;position:sticky;top:0;z-index:50}.header-inner{width:min(1180px,94%);height:100%;margin:auto;display:flex;align-items:center}.logo{width:138px;align-self:flex-start;z-index:5}.logo img{width:138px;height:138px;object-fit:contain;border-radius:50%;display:block}.header nav{display:flex;gap:28px;margin-left:32px}.header nav a,.footer-nav a{color:#ddd;text-decoration:none;font-size:12px}.header nav a.active,.header nav a:hover{color:#7cff00}.header nav a.active{padding-bottom:22px;border-bottom:2px solid #7cff00}.header-social{margin-left:auto;display:flex;gap:16px}.header-social a{width:25px;height:25px;border-radius:5px;color:#7cff00;border:2px solid #7cff00;text-decoration:none;display:grid;place-items:center;font-weight:bold}.menu-btn{display:none}.hero{height:420px;background:#030403;position:relative;overflow:hidden}
.hero-image{position:absolute;right:0;top:0;width:57%;height:100%;overflow:hidden;opacity:.9}
.hero-image img{width:100%;height:100%;object-fit:cover;display:block}
.hero-image:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#030403 0%,rgba(3,4,3,.65) 25%,rgba(3,4,3,.08) 70%,rgba(3,4,3,.2) 100%)}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.25));pointer-events:none}.hero-content{width:min(1180px,94%);margin:auto;padding-top:74px;position:relative;z-index:2}.eyebrow{font-size:11px;letter-spacing:2px;color:#7cff00}.hero h1{font-weight:300;font-size:82px;line-height:.9;margin:18px 0;color:#fff}.hero h1 b{color:#7cff00}.hero-wave,.player-wave,.footer-wave{width:min(760px,90%);height:55px;margin:0 auto;background:url("../img/onda-verde-footer.png") center center / contain no-repeat;opacity:1}.hero-wave{width:420px}.hero p{font-size:17px;line-height:1.45;color:#ddd}.player-wrap{width:min(1080px,90%);margin:-35px auto 16px;position:relative;z-index:4}.player{min-height:104px;background:linear-gradient(135deg,#111411,#080908);border:1px solid #3d4939;border-radius:14px;display:grid;grid-template-columns:72px 68px 150px 1fr 330px 145px;gap:16px;align-items:center;padding:14px 20px;box-shadow:0 18px 45px #000,0 0 28px rgba(124,255,0,.05);position:relative;overflow:hidden}.player:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:#7cff00;box-shadow:0 0 18px #7cff00}.player .now{min-width:0}.player .now strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.live-label{grid-column:1/-1;color:#7cff00;font-size:11px;font-weight:bold;margin-bottom:-8px}.live-label i{display:inline-block;width:8px;height:8px;border-radius:50%;background:#7cff00;margin-right:5px}.play{width:58px;height:58px;border:2px solid #7cff00;border-radius:50%;background:#070707;color:#fff;font-size:22px}.now small{display:block;color:#7cff00;font-size:12px}.now strong{display:block;font-size:24px;font-weight:400}.now span{color:#aaa;font-size:13px}.vol{display:flex;gap:8px;align-items:center}.vol input{accent-color:#7cff00;width:120px}.content{width:min(1180px,94%);margin:0 auto 16px}.top-content{display:grid;grid-template-columns:270px 1fr 300px;gap:14px}.left-col{display:grid;gap:14px}.box{background:#0a0b0a;border:1px solid #2f302f;border-radius:6px;padding:14px}.nube{border-color:#5a8d35}.nube h3{font-size:12px;color:#7cff00;margin:0 0 12px}.nube img{display:block;width:100%;height:auto}.title-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.title-row h2{font-size:15px;margin:0;font-weight:500}.title-row a,.green{color:#7cff00;text-decoration:none;font-size:11px}.program{display:grid;grid-template-columns:48px 1fr 24px;gap:8px;padding:10px 0;border-bottom:1px solid #292929}.program time{color:#ddd;font-size:11px}.program b{font-size:12px}.program small{display:block;color:#999;font-size:10px;margin-top:3px}.program .play-mini{width:23px;height:23px;border:1px solid #888;border-radius:50%;background:none;color:#fff;font-size:9px}.btn-outline{display:inline-block;margin-top:13px;border:1px solid #7cff00;color:#7cff00;padding:8px 12px;text-decoration:none;font-size:10px;border-radius:3px}.featured-news{margin-top:12px}.image-frame{background:#101310;border:1px solid #2e3f2a;overflow:hidden}
.image-frame img{width:100%;height:100%;object-fit:cover;display:block}
.image-frame.large{height:205px}
.image-frame.small{height:58px}
.featured-news h3{font-size:22px;margin:12px 0 5px}.featured-news p{color:#aaa;margin:0;font-size:13px}.news-list{padding:0}.news-list article{display:grid;grid-template-columns:75px 1fr 15px;gap:10px;padding:11px;border-bottom:1px solid #292929;align-items:center}.news-list article:last-child{border-bottom:0}.news-list h3{font-size:13px;margin:0 0 4px}.news-list p{font-size:10px;color:#999;margin:0}.news-list span{color:#7cff00;font-size:25px}.gallery-row{display:grid;grid-template-columns:1fr 300px;gap:14px}.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:13px}.gallery-photo{height:105px;background:#0a0d0a;border:1px solid #283d24;overflow:hidden}
.gallery-photo img{width:100%;height:100%;object-fit:cover;display:block}.social-box p{font-size:12px;color:#aaa}.social-box a{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #292929;color:#eee;text-decoration:none;font-size:12px}.social-box b{color:#7cff00;font-weight:400}.concerts{padding:16px;margin-top:16px;border-color:#38552b}.concert-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:12px;margin-top:13px}.concert{min-height:210px;border:1px solid #3c5035;background:linear-gradient(180deg,#101610,#080908);border-radius:4px;padding:0 10px 10px;position:relative;overflow:hidden}
.concert>img{width:calc(100% + 20px);height:92px;object-fit:cover;display:block;margin:0 -10px 8px;opacity:.82}.concert:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,transparent,#182615);opacity:.5}.concert>*{position:relative}.concert .date{font-size:19px;color:#7cff00;font-weight:bold}.concert .month{font-size:10px;color:#7cff00}.concert h3{font-size:14px;margin:22px 0 6px}.concert p{font-size:10px;color:#aaa;margin:2px 0}.bottom-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;margin-bottom:35px}.onair{display:grid;grid-template-columns:180px 1fr;align-items:center;gap:18px;background:linear-gradient(135deg,#101b0e,#090909)}.onair-art{height:145px;background:#080b08;border:1px solid #31472b;overflow:hidden}.onair-art img{width:100%;height:100%;object-fit:cover;display:block;opacity:.78}.onair h2{font-size:20px;font-weight:400;margin:0}.onair h2 span{color:#7cff00}.onair p{font-size:12px;color:#aaa}.btn-green{border:0;background:#7cff00;color:#061005;padding:10px 15px;font-size:10px;font-weight:bold;border-radius:3px;cursor:pointer}.contact form{display:grid;gap:9px;margin-top:12px}.contact input,.contact textarea{background:#050505;border:1px solid #333;color:#fff;padding:10px;font:inherit;font-size:12px}.contact textarea{resize:vertical}.contact small{color:#7cff00}.footer{padding:15px 0 28px}.footer-inner{width:min(1180px,94%);margin:15px auto 0;display:grid;grid-template-columns:1fr 2fr auto;gap:18px;align-items:center;color:#aaa;font-size:11px}.footer-inner b,.domain{color:#7cff00}.footer-nav{display:flex;gap:14px;flex-wrap:wrap}.domain{font-size:16px}@media(max-width:950px){.header nav{display:none}.menu-btn{display:block;margin-left:auto;background:none;border:0;color:#7cff00;font-size:26px}.header-social{margin-left:15px}.top-content{grid-template-columns:1fr 1.4fr}.news-list{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr)}.concert-grid{grid-template-columns:repeat(3,1fr)}.gallery-row{grid-template-columns:1fr}.bottom-row{grid-template-columns:1fr}.footer-inner{grid-template-columns:1fr}.player{grid-template-columns:65px 65px 1fr}.vol{grid-column:3}.hero h1{font-size:66px}}@media(max-width:600px){.header{height:64px}.logo{width:85px}.logo img{width:85px;height:85px}.hero{height:430px}.hero-content{padding-top:80px}.hero h1{font-size:54px}.hero p{font-size:15px}.player{grid-template-columns:60px 1fr;gap:12px}.player .live-label{grid-column:1/-1}.player-wave{display:none}.now{grid-column:2}.vol{grid-column:1/-1}.top-content{grid-template-columns:1fr}.news-list{grid-template-columns:1fr}.gallery-grid{grid-template-columns:repeat(2,1fr)}.concert-grid{grid-template-columns:repeat(2,1fr)}.onair{grid-template-columns:1fr}.onair-art{height:100px}.footer-nav{display:grid;grid-template-columns:1fr 1fr}.header nav.open{position:absolute;display:grid;top:64px;right:3%;background:#080908;border:1px solid #333;padding:15px;gap:15px}.header nav.open a.active{padding-bottom:0;border:0}}

/* Fotografía integrada en la interfaz */
.hero{background-image:linear-gradient(90deg,rgba(0,0,0,.93) 0%,rgba(0,0,0,.70) 42%,rgba(0,0,0,.18) 100%),url("../img/hero.jpg");background-size:cover;background-position:center right}
.real-photo{display:block;object-fit:cover;width:100%}.real-photo.large{height:205px}.real-photo.small{width:75px;height:58px;flex:none}.gallery-photo{width:100%;object-fit:cover}.concert{padding:0 0 10px}.concert img{width:100%;height:88px;object-fit:cover;display:block;margin-bottom:8px}.onair{background-image:linear-gradient(90deg,rgba(7,12,7,.88),rgba(7,12,7,.45)),url("../img/onair.jpg");background-size:cover;background-position:center}.onair-art{background:transparent;border:0}.featured-news .btn-outline{margin-top:12px}

/* reproductor moderno */
.play{box-shadow:0 0 0 5px rgba(124,255,0,.04);transition:.2s}.play:hover{transform:scale(1.05);box-shadow:0 0 20px rgba(124,255,0,.22)}
.player-wave{height:28px;border-radius:5px;opacity:.55;background:repeating-linear-gradient(90deg,transparent 0 3px,#7cff00 3px 5px,transparent 5px 9px);mask-image:linear-gradient(90deg,transparent,#000 12%,#000 88%,transparent)}
.track-display{height:58px;min-width:0;border-left:1px solid #34452e;padding-left:18px;display:flex;flex-direction:column;justify-content:center}.track-display small{font-size:9px;letter-spacing:1.8px;color:#7cff00;font-weight:bold}.track-display strong{font-size:18px;font-weight:500;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.track-display span{font-size:10px;color:#777;margin-top:2px}.vol{justify-content:flex-end}.vol input{accent-color:#7cff00}
@media(max-width:950px){.player{grid-template-columns:65px 65px 1fr 250px}.player .vol{grid-column:auto}.player-wave{display:none}}
@media(max-width:600px){.player{grid-template-columns:60px 1fr;gap:12px}.player .track-display{grid-column:1/-1;border-left:0;border-top:1px solid #263224;padding:10px 0 0}.player .vol{grid-column:1/-1}.player .now{display:none}}

/* RADIO ESTAMBUL V18 — nombre del tema realmente visible */
.track-display #trackTitle.track-live-title {
  display: block !important;
  color: #ff1744 !important;
  font-size: 22px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
  opacity: 1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  text-shadow: 0 0 10px rgba(255,23,68,.25) !important;
}

.track-display #trackTitle.track-live-title .cc_streaminfo {
  display: inline !important;
  color: #ff1744 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  opacity: 1 !important;
}

@media (max-width: 950px) {
  .track-display #trackTitle.track-live-title {
    font-size: 20px !important;
  }
}

@media (max-width: 600px) {
  .track-display #trackTitle.track-live-title {
    font-size: 18px !important;
  }
}

/* RADIO ESTAMBUL V19 — título más compacto para mostrarlo completo */
.track-display #trackTitle.track-live-title {
  font-size: 16px !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  max-width: 100% !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.track-display #trackTitle.track-live-title .cc_streaminfo {
  font-size: inherit !important;
}

/* Un poco más de espacio para el título */
.track-display {
  min-width: 0 !important;
}

@media (min-width: 1000px) {
  .track-display #trackTitle.track-live-title {
    font-size: 17px !important;
  }
}

/* RADIO ESTAMBUL V20 — más espacio para el tema + volumen desplazado a la izquierda */
.player-modern {
  grid-template-columns: 58px 78px 140px minmax(360px, 1fr) 125px !important;
  gap: 10px !important;
}

.track-display #trackTitle.track-live-title {
  font-size: 16px !important;
  line-height: 1.25 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
}

.track-display #trackTitle.track-live-title .cc_streaminfo {
  white-space: normal !important;
}

.volume-modern {
  justify-content: flex-start !important;
  padding-left: 0 !important;
  gap: 7px !important;
}

.volume-modern input {
  width: 92px !important;
}

@media (max-width: 1000px) {
  .player-modern {
    grid-template-columns: 58px 72px 130px minmax(280px, 1fr) 115px !important;
    gap: 8px !important;
  }
}

@media (max-width: 850px) {
  .player-modern {
    grid-template-columns: 60px 76px 1fr !important;
  }
}

/* RADIO ESTAMBUL V21 — separación definitiva de título y volumen */
.player-modern {
  grid-template-columns: 58px 72px 135px minmax(360px, 1fr) 145px !important;
  gap: 12px !important;
  align-items: center !important;
}

.track-display {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
  padding-right: 8px !important;
}

.track-display #trackTitle.track-live-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  overflow: hidden !important;
  max-height: 40px !important;
  min-height: 19px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 19px !important;
  color: #ff1744 !important;
  font-weight: 800 !important;
  white-space: normal !important;
  text-overflow: clip !important;
}

.track-display #trackTitle.track-live-title .cc_streaminfo {
  display: inline !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: #ff1744 !important;
  font-weight: 800 !important;
  white-space: normal !important;
}

.track-display > span,
.track-display .track-meta,
.track-display small {
  display: block !important;
  height: 13px !important;
  line-height: 13px !important;
  margin-top: 3px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.volume-modern {
  justify-self: end !important;
  width: 140px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  margin-left: auto !important;
}

.volume-modern input {
  width: 100px !important;
}

@media (max-width: 1000px) {
  .player-modern {
    grid-template-columns: 58px 70px 125px minmax(300px, 1fr) 130px !important;
    gap: 8px !important;
  }
}

@media (max-width: 850px) {
  .player-modern {
    grid-template-columns: 58px 76px 1fr !important;
  }
  .volume-modern {
    justify-self: end !important;
  }
}

/* RADIO ESTAMBUL V22 — título en una sola línea, sin superposición */
.track-display {
  min-width: 0 !important;
  overflow: hidden !important;
  height: 54px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

.track-display #trackTitle.track-live-title {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 22px !important;
  min-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 15px !important;
  line-height: 22px !important;
  color: #ff1744 !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.track-display #trackTitle.track-live-title .cc_streaminfo {
  display: inline !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  line-height: inherit !important;
  color: #ff1744 !important;
  font-weight: 800 !important;
}

.track-display > span,
.track-display .track-meta,
.track-display small {
  display: block !important;
  height: 14px !important;
  min-height: 14px !important;
  margin-top: 2px !important;
  line-height: 14px !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

.volume-modern {
  justify-self: end !important;
  margin-left: auto !important;
  width: 140px !important;
  flex-shrink: 0 !important;
}

@media (max-width: 850px) {
  .track-display {
    height: 52px !important;
  }
  .track-display #trackTitle.track-live-title {
    font-size: 14px !important;
  }
}

/* RADIO ESTAMBUL V23 — volumen más a la derecha */
.player-modern {
  grid-template-columns: 58px 72px 135px minmax(360px, 1fr) 155px !important;
}

.volume-modern {
  justify-self: end !important;
  width: 145px !important;
  margin-left: auto !important;
  margin-right: -8px !important;
  padding-right: 0 !important;
}

.volume-modern input {
  width: 105px !important;
}

/* RADIO ESTAMBUL V24 — volumen realmente pegado a la derecha */
.player-modern {
  position: relative !important;
  padding-right: 175px !important;
}

.player-modern .volume-modern {
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 135px !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-end !important;
  display: flex !important;
  z-index: 5 !important;
}

.player-modern .volume-modern input {
  width: 105px !important;
  margin: 0 !important;
}

@media (max-width: 850px) {
  .player-modern {
    padding-right: 160px !important;
  }
  .player-modern .volume-modern {
    right: 14px !important;
    width: 125px !important;
  }
  .player-modern .volume-modern input {
    width: 92px !important;
  }
}

/* RADIO ESTAMBUL V25 — posicionamiento directo del control real */
.player-modern {
  position: relative !important;
  padding-right: 155px !important;
}

/* El control real es el range: se ancla directamente al borde derecho */
.player-modern input[type="range"] {
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 105px !important;
  margin: 0 !important;
  z-index: 20 !important;
}

/* Icono de volumen, si existe, queda inmediatamente a la izquierda */
.player-modern .volume-modern,
.player-modern .volume-control {
  position: absolute !important;
  right: 18px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 135px !important;
  margin: 0 !important;
  padding: 0 !important;
  justify-content: flex-end !important;
  z-index: 19 !important;
  pointer-events: none !important;
}

.player-modern .volume-modern input[type="range"],
.player-modern .volume-control input[type="range"] {
  position: relative !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  pointer-events: auto !important;
}

@media (max-width: 850px) {
  .player-modern {
    padding-right: 145px !important;
  }
  .player-modern input[type="range"] {
    right: 14px !important;
    width: 92px !important;
  }
}

/* RADIO ESTAMBUL V26 — CORRECCIÓN: el control real usa .vol */
.player {
  position: relative !important;
  padding-right: 155px !important;
}

.player > .vol {
  position: absolute !important;
  right: 16px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 125px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 7px !important;
  z-index: 50 !important;
}

.player > .vol input[type="range"] {
  width: 95px !important;
  margin: 0 !important;
  flex: 0 0 95px !important;
}

@media (max-width: 850px) {
  .player {
    padding-right: 140px !important;
  }
  .player > .vol {
    right: 12px !important;
    width: 115px !important;
  }
  .player > .vol input[type="range"] {
    width: 85px !important;
    flex-basis: 85px !important;
  }
}

/* RADIO ESTAMBUL V29 — distribución limpia del reproductor */
.player {
  position: relative !important;
  display: grid !important;
  grid-template-columns: 58px 64px 130px minmax(300px, 1fr) 130px !important;
  column-gap: 14px !important;
  row-gap: 0 !important;
  align-items: center !important;
  min-height: 104px !important;
  padding: 24px 16px 10px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* EN VIVO ya no consume una fila de la grilla */
.player > .live-label {
  position: absolute !important;
  left: 18px !important;
  top: 9px !important;
  z-index: 10 !important;
  margin: 0 !important;
}

/* PLAY */
.player > .play {
  grid-column: 1 !important;
  grid-row: 1 !important;
  justify-self: start !important;
}

/* Onda */
.player > .player-wave {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 64px !important;
}

/* Identidad de la radio */
.player > .now {
  grid-column: 3 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 130px !important;
  overflow: hidden !important;
}

/* AHORA SUENA: columna amplia e independiente */
.player > .track-display {
  grid-column: 4 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  height: 58px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-left: 1px solid #34452e !important;
  padding: 0 12px 0 16px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
}

/* Etiqueta */
.player > .track-display > small {
  display: block !important;
  flex: 0 0 auto !important;
  height: 12px !important;
  line-height: 12px !important;
  margin: 0 0 3px !important;
}

/* Nombre real del tema */
.player > .track-display > #trackTitle {
  display: block !important;
  flex: 0 0 22px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 22px !important;
  line-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #ff1744 !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.player > .track-display > #trackTitle .cc_streaminfo {
  display: inline !important;
  color: #ff1744 !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  white-space: nowrap !important;
}

/* Texto inferior */
.player > .track-display > span {
  display: block !important;
  flex: 0 0 13px !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 13px !important;
  line-height: 13px !important;
  margin: 2px 0 0 !important;
  overflow: hidden !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
}

/* Volumen: última columna, completamente independiente */
.player > .vol {
  grid-column: 5 !important;
  grid-row: 1 !important;
  position: static !important;
  width: 130px !important;
  min-width: 130px !important;
  justify-self: end !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  margin: 0 !important;
  padding: 0 !important;
}

.player > .vol input[type="range"] {
  width: 95px !important;
  flex: 0 0 95px !important;
}

/* No activar las reglas antiguas de <=950 que comprimían el título */
@media (max-width: 1100px) {
  .player {
    grid-template-columns: 54px 58px 120px minmax(300px, 1fr) 125px !important;
    column-gap: 10px !important;
    padding-left: 14px !important;
    padding-right: 14px !important;
  }
  .player > .now {
    width: 120px !important;
  }
  .player > .track-display {
    grid-column: 4 !important;
    grid-row: 1 !important;
  }
  .player > .vol {
    grid-column: 5 !important;
    grid-row: 1 !important;
    width: 125px !important;
    min-width: 125px !important;
  }
  .player > .vol input[type="range"] {
    width: 88px !important;
    flex-basis: 88px !important;
  }
}

@media (max-width: 700px) {
  .player {
    grid-template-columns: 58px 1fr !important;
    row-gap: 8px !important;
    padding-top: 26px !important;
  }
  .player > .player-wave {
    display: none !important;
  }
  .player > .now {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
  }
  .player > .track-display {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    border-left: 0 !important;
    border-top: 1px solid #263224 !important;
    padding: 8px 0 0 !important;
  }
  .player > .vol {
    grid-column: 1 / -1 !important;
    grid-row: 3 !important;
    justify-self: start !important;
  }
}

/* RADIO ESTAMBUL V35 — base V29, solo ajustes solicitados */
.player {
  display: grid !important;
  grid-template-columns: 58px 70px minmax(0, 1fr) 150px !important;
  gap: 16px !important;
  align-items: center !important;
  position: relative !important;
  min-height: 92px !important;
  padding: 24px 16px 10px !important;
  box-sizing: border-box !important;
}

/* Play y onda */
.player > .play { grid-column: 1 !important; grid-row: 1 !important; }
.player > .player-wave { grid-column: 2 !important; grid-row: 1 !important; }

/* Bloque "Estás escuchando" + tema */
.player > .track-display {
  grid-column: 3 !important;
  grid-row: 1 !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 46px !important;
  border-left: 1px solid #34452e !important;
  padding-left: 16px !important;
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  overflow: hidden !important;
}

.player > .track-display .listening-label {
  display: block !important;
  width: 100% !important;
  height: 15px !important;
  line-height: 15px !important;
  margin: 0 0 2px !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

.player > .track-display #trackTitle {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 22px !important;
  line-height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #37ff33 !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.player > .track-display #trackTitle .cc_streaminfo {
  display: inline !important;
  color: #37ff33 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  white-space: nowrap !important;
}

/* Volumen: columna propia, una línea más abajo */
.player > .vol {
  grid-column: 4 !important;
  grid-row: 1 !important;
  position: static !important;
  width: 150px !important;
  min-width: 150px !important;
  height: 46px !important;
  margin: 12px 0 0 !important;
  padding: 0 !important;
  align-self: center !important;
  justify-self: end !important;
  display: flex !important;
  align-items: flex-end !important;
  justify-content: flex-end !important;
  gap: 7px !important;
}

.player > .vol input[type="range"] {
  width: 95px !important;
  flex: 0 0 95px !important;
}

@media (max-width: 850px) {
  .player {
    grid-template-columns: 58px 60px minmax(0,1fr) 125px !important;
    gap: 10px !important;
  }
  .player > .vol {
    width: 125px !important;
    min-width: 125px !important;
  }
}

/* RADIO ESTAMBUL V36 — recuadro independiente para el tema */
.player > .track-display {
  grid-column: 3 !important;
  grid-row: 1 !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 58px !important;
  padding: 7px 14px 7px 16px !important;
  border: 1px solid rgba(55,255,51,.55) !important;
  border-radius: 7px !important;
  border-left: 2px solid #37ff33 !important;
  background: rgba(12,16,13,.92) !important;
  box-shadow: inset 0 0 18px rgba(55,255,51,.035) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  overflow: hidden !important;
}

.player > .track-display .listening-label {
  display: block !important;
  width: 100% !important;
  height: 15px !important;
  margin: 0 0 2px !important;
  padding: 0 !important;
  color: #ffffff !important;
  font-size: 11px !important;
  line-height: 15px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
}

.player > .track-display #trackTitle {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #37ff33 !important;
  font-size: 16px !important;
  line-height: 22px !important;
  font-weight: 800 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}

.player > .track-display #trackTitle .cc_streaminfo {
  color: #37ff33 !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: inherit !important;
  white-space: nowrap !important;
}

.player > .vol {
  grid-column: 4 !important;
  grid-row: 1 !important;
}

/* RADIO ESTAMBUL V43 — HERO con estudio + consola iluminada */
.hero {
  background-image:
    linear-gradient(90deg,
      rgba(2,3,2,1) 0%,
      rgba(2,3,2,.98) 25%,
      rgba(2,3,2,.72) 43%,
      rgba(2,3,2,.18) 70%,
      rgba(2,3,2,.08) 100%),
    url("../img/hero-estudio-consola.jpg") !important;
  background-size: auto 100%, auto 100% !important;
  background-position: center, right center !important;
  background-repeat: no-repeat !important;
  background-color: #020302 !important;
}

/* Evitar cualquier capa gráfica antigua encima del nuevo fondo */
.hero .hero-image {
  display: none !important;
}

/* RADIO ESTAMBUL V44 — nuevo logo circular rojo */
.site-header .logo img,
header .logo img,
.logo-estambul {
  content: url("../img/logo-estambul.png") !important;
  object-fit: contain !important;
}

/* RADIO ESTAMBUL V45 — título moderno + onda de radio */
.hero-title-art {
  width: min(660px, 100%);
  margin: 0 0 8px;
  line-height: 0;
}

.hero-title-art img {
  display: block;
  width: 100%;
  height: auto;
  max-height: 285px;
  object-fit: contain;
  object-position: left center;
}

/* En pantallas pequeñas, reducir el arte sin deformarlo */
@media (max-width: 700px) {
  .hero-title-art {
    width: min(520px, 100%);
  }
  .hero-title-art img {
    max-height: 230px;
  }
}

/* RADIO ESTAMBUL V46 — centrar la composición superior */
.hero {
  background-position: center center !important;
}

/* Alinear el contenido del HERO con el ancho visual de las secciones inferiores */
.hero-content {
  width: min(1060px, 94%) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/* Mantener el título moderno centrado dentro de su zona */
.hero-title-art {
  margin-left: 0 !important;
}

/* RADIO ESTAMBUL V47 — composición del HERO como la referencia aprobada */
.hero {
  height: 430px !important;
  background-image:
    linear-gradient(90deg,
      rgba(2,3,2,.18) 0%,
      rgba(2,3,2,.08) 100%),
    url("../img/hero-estudio-consola.jpg") !important;
  background-size: auto 100%, auto 100% !important;
  background-position: center center, center center !important;
  background-repeat: no-repeat !important;
  background-color: #020302 !important;
}

/* El micrófono queda a la izquierda; LA OTRA MÚSICA y la onda quedan a su derecha */
.hero-content {
  position: absolute !important;
  left: 57% !important;
  top: 66px !important;
  width: min(610px, 40vw) !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 4 !important;
}

.hero-content > .eyebrow {
  margin-bottom: 8px !important;
}

.hero-title-art {
  width: 100% !important;
  max-width: 610px !important;
  margin: 0 !important;
}

.hero-title-art img {
  width: 100% !important;
  max-height: none !important;
  height: auto !important;
  object-fit: contain !important;
  object-position: left center !important;
}

/* Evitar cualquier gráfico antiguo superpuesto */
.hero .hero-image {
  display: none !important;
}

@media (max-width: 1000px) {
  .hero-content {
    left: 52% !important;
    width: 48vw !important;
  }
}

@media (max-width: 700px) {
  .hero-content {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 94% !important;
    margin: 0 auto !important;
    padding-top: 60px !important;
  }
}

/* RADIO ESTAMBUL V48 — HERO basado en la imagen aprobada */
.hero {
  height: 430px !important;
  background-image: url("../img/hero-final.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #020302 !important;
}

/* La nueva imagen ya contiene el título, la onda y el texto.
   Se oculta el contenido anterior para evitar duplicaciones. */
.hero-content {
  display: none !important;
}

.hero .hero-image {
  display: none !important;
}

/* RADIO ESTAMBUL V49 — HERO basado en la imagen aprobada */
.hero {
  height: 460px !important;
  background-image: url("../img/hero-aprobado-v49.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #020302 !important;
}

/* La composición gráfica ya está integrada en la imagen */
.hero-content,
.hero .hero-image {
  display: none !important;
}

/* V56 — quitar completamente la imagen/onda del pie de página */
.footer-wave {
  display: none !important;
}

/* RADIO ESTAMBUL V57 — HERO azul */
.hero {
  background-image: url("../img/hero-azul-v57.jpg") !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  background-color: #020a16 !important;
}

/* V61 — basado nuevamente en V59: recuadro de novedad destacada más largo */
.image-frame.large {
  height: 280px;
}
.featured-news .image-frame.large img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  display: block;
}

/* V65 — GALERÍA A TODO EL ANCHO + SLIDER HORIZONTAL */
.gallery-row{
  display:block !important;
  width:min(1180px,94%);
}
.gallery-row .gallery{
  width:100%;
  box-sizing:border-box;
  padding:14px;
}
.gallery-slider{
  width:100%;
  overflow:hidden;
  margin-top:13px;
  position:relative;
  border:1px solid #283d24;
  background:#080a08;
  box-sizing:border-box;
}
.gallery-track{
  display:flex;
  width:max-content;
  gap:10px;
  animation:radioGallerySlide 28s linear infinite;
  will-change:transform;
}
.gallery-photo{
  flex:0 0 245px;
  width:245px;
  height:145px;
  background:#0a0d0a;
  border:0;
  overflow:hidden;
}
.gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.gallery-slider:hover .gallery-track{
  animation-play-state:paused;
}
@keyframes radioGallerySlide{
  from{transform:translateX(0)}
  to{transform:translateX(calc(-50% - 5px))}
}
@media(max-width:700px){
  .gallery-photo{flex-basis:190px;width:190px;height:120px}
  .gallery-track{animation-duration:24s}
}

/* V66 — galería: tarjetas un poco más chicas y más altas para mostrar mejor las fotos */
.gallery-row .gallery{
  padding:14px;
}
.gallery-slider{
  height:174px;
}
.gallery-track{
  gap:10px;
}
.gallery-photo{
  flex:0 0 220px;
  width:220px;
  height:168px;
}
.gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}

/* V67 — slider de galería un poco más grande */
.gallery-row{
  width:min(1240px,96%);
}
.gallery-row .gallery{
  padding:16px;
}
.gallery-slider{
  min-height:180px;
}
.gallery-photo{
  flex-basis:265px;
  width:265px;
  height:165px;
}

/* V68 — GALERÍA: solo JPG/JPEG */
.gallery-slider img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

/* V71 — GRILLA DE PROGRAMACIÓN */
.programming-grid-box{
  width:min(1040px,90%);
  box-sizing:border-box;
  margin:0 auto 18px;
  padding:14px;
}
.programming-grid-image{
  width:100%;
  overflow:hidden;
  border:1px solid #283d24;
  background:#080a08;
  margin-top:10px;
}
.programming-grid-image img{
  display:block;
  width:100%;
  height:auto;
  max-height:500px;
  object-fit:contain;
  object-position:center;
}

/* V73 — PRÓXIMOS RECITALES: slider con flechas */
.concert-slider{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
}
.concert-viewport{
  overflow:hidden;
  flex:1;
  min-width:0;
}
.concert-track{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:12px;
  transition:transform .4s ease;
  width:max-content;
}
.concert-track .concert{
  flex:0 0 calc((100vw - 170px) / 5);
  width:calc((100vw - 170px) / 5);
  max-width:none;
  box-sizing:border-box;
}
.concert-arrow{
  flex:0 0 38px;
  width:38px;
  height:54px;
  border:1px solid #65ff00;
  border-radius:4px;
  background:#070907;
  color:#65ff00;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:2;
}
.concert-arrow:hover:not(:disabled){
  background:#65ff00;
  color:#050805;
}
.concert-arrow:disabled{
  opacity:.28;
  cursor:default;
}
@media(max-width:1100px){
  .concert-track .concert{
    flex-basis:calc((100vw - 135px) / 3);
    width:calc((100vw - 135px) / 3);
  }
}
@media(max-width:700px){
  .concert-track .concert{
    flex-basis:100%;
    width:100%;
  }
  .concert-arrow{flex-basis:32px;width:32px;height:46px}
}

/* V73 FIX — SOLO PRÓXIMOS RECITALES EN ARGENTINA */
#recitales .concert-slider{
  position:relative;
  width:100%;
  display:flex;
  align-items:center;
  gap:10px;
}
#recitales .concert-viewport{
  flex:1 1 auto;
  min-width:0;
  overflow:hidden;
}
#recitales #concertGrid{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:12px;
  width:max-content !important;
  transition:transform .35s ease;
  will-change:transform;
}
#recitales #concertGrid .concert{
  flex:0 0 250px;
  width:250px;
  max-width:none;
  box-sizing:border-box;
}
#recitales .concert-arrow{
  flex:0 0 38px;
  width:38px;
  height:54px;
  padding:0;
  border:1px solid #65ff00;
  border-radius:4px;
  background:#070907;
  color:#65ff00;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:5;
}
#recitales .concert-arrow:hover:not(:disabled){
  background:#65ff00;
  color:#050805;
}
#recitales .concert-arrow:disabled{
  opacity:.28;
  cursor:default;
}
@media(max-width:700px){
  #recitales #concertGrid .concert{
    flex-basis:100%;
    width:100%;
  }
  #recitales .concert-arrow{
    flex-basis:32px;
    width:32px;
    height:46px;
  }
}

/* V75 — GALERÍA: las imágenes se generan exclusivamente desde
   IMAGENES.galeria, en el mismo orden, sin mezclar archivos del HTML. */
#galeria .gallery-track{
  animation-name:radioGallerySlideV75;
}
@keyframes radioGallerySlideV75{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 5px));}
}

/* V76 — GALERÍA VARIABLE */
#galeria .gallery-track{
  width:max-content;
  display:flex;
  flex-wrap:nowrap;
}
#galeria .gallery-photo{
  flex:0 0 auto;
}

/* Acceso directo a NOTICIAS */
.news-access{padding:0;min-height:100%;overflow:hidden}
.news-access-link{min-height:100%;display:flex;flex-direction:column;justify-content:center;position:relative;padding:24px 34px 24px 18px;color:#f4f4f4;text-decoration:none;border:1px solid transparent;border-radius:6px;transition:.2s ease}
.news-access-link:hover{background:#0f120f;border-color:#38552b}
.news-access-title{font-size:18px;letter-spacing:1px;font-weight:600;color:#7cff00;margin-bottom:8px}
.news-access-desc{font-size:11px;line-height:1.5;color:#aaa;max-width:190px}
.news-access-arrow{position:absolute;right:16px;top:50%;transform:translateY(-50%);font-size:32px;line-height:1;color:#7cff00}
@media(max-width:950px){.news-access{grid-column:1/-1;min-height:120px}.news-access-link{min-height:120px}}

/* V83 — Noticias divididas en tres partes con imagen */
.news-access{padding:0;overflow:hidden;min-height:100%;}
.news-access-heading{font-size:18px;letter-spacing:1px;font-weight:600;color:#7cff00;padding:14px 14px 10px;border-bottom:1px solid #292929;}
.news-access-grid{display:grid;grid-template-columns:1fr;}
.news-access-card{display:grid;grid-template-columns:62px 1fr 16px;gap:10px;align-items:center;padding:10px 12px;text-decoration:none;color:#fff;border-bottom:1px solid #292929;min-height:78px;transition:.2s ease;}
.news-access-card:last-child{border-bottom:0;}
.news-access-card:hover{background:#0f120f;}
.news-access-card img{width:62px;height:54px;object-fit:cover;border:1px solid #33432e;display:block;}
.news-access-card-body{min-width:0;}
.news-access-card-body strong{display:block;font-size:12px;color:#f5f5f5;margin-bottom:4px;}
.news-access-card-body span{display:block;font-size:9px;line-height:1.35;color:#999;}
.news-access-card>b{color:#7cff00;font-size:25px;font-weight:400;text-align:right;}
@media(max-width:950px){.news-access{grid-column:1/-1;min-height:0;}.news-access-grid{grid-template-columns:repeat(3,1fr);}.news-access-card{grid-template-columns:1fr;gap:7px;}.news-access-card img{width:100%;height:90px;}.news-access-card>b{display:none;}}
@media(max-width:600px){.news-access-grid{grid-template-columns:1fr;}.news-access-card{grid-template-columns:62px 1fr 16px;}.news-access-card img{width:62px;height:54px;}.news-access-card>b{display:block;}}

/* V84: recitales muestran únicamente la imagen */
#recitales .concert { padding: 0 !important; overflow: hidden; }
#recitales .concert img { display:block; width:100%; height:100%; min-height:194px; object-fit:cover; margin:0; }

/* V85 — Disco del mes en una sola división */
.news-access-single{display:block;}
.news-access-single .news-access-card{min-height:112px;grid-template-columns:88px 1fr 16px;padding:14px 12px;}
.news-access-single .news-access-card img{width:88px;height:82px;object-fit:cover;}
@media(max-width:950px){
  .news-access-single .news-access-card{grid-template-columns:88px 1fr 16px;}
  .news-access-single .news-access-card img{width:88px;height:82px;}
}

/* V87 — Encabezado FLASHES DE NOTICIAS centrado y verde */
#programacion .title-row{
  justify-content:center;
  text-align:center;
}
#programacion .title-row h2,
#txtProgramsHeading{
  color:#7CFF00;
  text-align:center;
  width:100%;
}

/* V90 — Títulos de recuadros en verde fluor */
.box .title-row h2,
#recitales .title-row h2,
#grilla-programacion .title-row h2 { color:#7CFF00; }

/* V91 — Flashes de noticias sin flechas y con tipografía mayor */
#programacion .play-mini{display:none !important;}
#programacion .program{grid-template-columns:42px minmax(0,1fr);}
#programacion .program time{font-size:12px;}
#programacion .program b{font-size:14px;}
#programacion .program small{font-size:11px;}

/* V92 — Disco del mes con título centrado y sin flecha */
#noticias .news-access-heading{text-align:center;}
#noticias .news-access-card > b{display:none !important;}

/* V93 — Imagen cuadrada arriba y reseña larga debajo */
#noticias .news-access-single .news-access-card{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:14px;
  padding:16px 18px 22px;
  min-height:0;
  text-align:left;
}
#noticias .news-access-single .news-access-card img{
  display:block;
  width:176px;
  height:176px;
  max-width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  margin:0 auto;
}
#noticias .news-access-single .news-access-card-body{
  width:100%;
  min-width:0;
}
#noticias .news-access-single .news-access-card-body strong{
  display:block;
  font-size:15px;
  margin:0 0 8px;
}
#noticias .news-access-single .news-access-card-body span{
  display:block;
  font-size:14px;
  line-height:1.65;
  color:#c2c2c2;
  white-space:pre-line;
}

/* V94 — Slider PROGRAMAS */
.programs-slider-section{
  margin-top:16px;
  padding:16px;
  border-color:#38552b;
}
.programs-slider-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:13px;
}
.programs-slider-heading h2{
  color:#7cff00;
  font-size:15px;
  font-weight:500;
  margin:0;
  letter-spacing:.4px;
}
.programs-slider-controls{display:flex;gap:8px;}
.programs-arrow{
  width:34px;
  height:34px;
  border:1px solid #7cff00;
  border-radius:4px;
  background:#080b07;
  color:#7cff00;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.programs-arrow:hover{background:#7cff00;color:#071000;}
.programs-viewport{overflow:hidden;width:100%;}
.programs-slider-track{
  display:flex;
  gap:14px;
  transition:transform .35s ease;
  will-change:transform;
}
.program-slide-card{
  flex:0 0 calc((100% - 28px)/3);
  min-width:0;
  overflow:hidden;
  border:1px solid #34452e;
  border-radius:4px;
  background:linear-gradient(145deg,#111610,#080908);
}
.program-slide-card img{
  display:block;
  width:100%;
  height:150px;
  object-fit:cover;
}
.program-slide-copy{padding:12px 13px 14px;}
.program-slide-copy h3{
  color:#7cff00;
  font-size:15px;
  margin:0 0 6px;
  font-weight:600;
}
.program-slide-copy p{
  color:#b8b8b8;
  font-size:12px;
  line-height:1.5;
  margin:0;
}
@media(max-width:950px){
  .program-slide-card{flex-basis:calc((100% - 14px)/2);}
}
@media(max-width:600px){
  .programs-slider-section{padding:13px;}
  .program-slide-card{flex-basis:88%;}
  .program-slide-card img{height:165px;}
}

/* V96 — Diez tarjetas disponibles e imágenes cuadradas en PROGRAMAS */
#slider-programas .program-slide-card img{
  width:100%;
  height:auto;
  aspect-ratio:1 / 1;
  object-fit:cover;
}
@media(max-width:600px){
  #slider-programas .program-slide-card img{height:auto;aspect-ratio:1 / 1;}
}


/* V97 — PROGRAMAS: desplazamiento automático continuo, como GALERÍA */
#slider-programas .programs-viewport{
  overflow:hidden;
  width:100%;
}
#slider-programas .programs-slider-track{
  display:flex;
  flex-wrap:nowrap;
  width:max-content;
  gap:14px;
  animation:radioProgramsSlideV97 36s linear infinite;
  will-change:transform;
}
#slider-programas .program-slide-card{
  /* Cuatro tarjetas visibles simultáneamente en pantallas grandes. */
  flex:0 0 calc((min(100vw - 80px, 1100px) - 42px) / 4);
}
#slider-programas .programs-viewport:hover .programs-slider-track,
#slider-programas .programs-viewport:focus-within .programs-slider-track{
  animation-play-state:paused;
}
@keyframes radioProgramsSlideV97{
  from{transform:translateX(0);}
  to{transform:translateX(calc(-50% - 7px));}
}
@media(max-width:950px){
  #slider-programas .program-slide-card{flex-basis:calc((min(100vw - 50px, 900px) - 14px) / 2);}
}
@media(max-width:600px){
  #slider-programas .program-slide-card{flex-basis:88vw;}
  #slider-programas .programs-slider-track{animation-duration:36s;}
}
@media(prefers-reduced-motion:reduce){
  #slider-programas .programs-slider-track{animation:none;}
}


/* V100 — Tres cuadrados promocionales entre GRILLA y PROGRAMAS */
.promo-images-section{width:min(1040px,90%);box-sizing:border-box;margin:0 auto 18px;padding:12px;border-color:#38552b}
.promo-images-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.promo-image-item{display:flex;flex-direction:column;align-items:stretch;min-width:0;gap:9px}
.promo-image-title{display:flex;align-items:center;justify-content:center;min-height:34px;margin:0;padding:0 5px;color:#7cff00;font-size:clamp(11px,1.15vw,15px);font-weight:700;letter-spacing:.55px;line-height:1.3;text-align:center;text-wrap:balance}
.promo-image-card{position:relative;display:block;aspect-ratio:1 / 1;width:100%;min-width:0;overflow:hidden;border:1px solid #4b653e;border-radius:6px;background:linear-gradient(145deg,#171c17,#070807);color:#7cff00;text-decoration:none;text-align:center}
.promo-image-card img{position:absolute;inset:0;display:block;width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.promo-image-card:hover img{transform:scale(1.025)}
@media(max-width:700px){.promo-images-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.promo-image-item{gap:6px}.promo-image-title{font-size:10px;letter-spacing:.2px;min-height:30px;padding:0 2px}}
@media(max-width:420px){.promo-images-grid{grid-template-columns:1fr;gap:14px}.promo-image-item{gap:6px}.promo-image-title{font-size:13px;min-height:24px}.promo-image-card{max-width:100%}}


/* V104 — GALERÍA: imágenes cuadradas y con separación */
#galeria .gallery-slider{
  height:auto;
  min-height:0;
}
#galeria .gallery-track{
  align-items:stretch;
  gap:14px;
}
#galeria .gallery-photo{
  flex:0 0 190px;
  width:190px;
  height:190px;
  aspect-ratio:1 / 1;
  margin:0;
  border:1px solid #283d24;
  border-radius:4px;
  overflow:hidden;
}
#galeria .gallery-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
@media(max-width:700px){
  #galeria .gallery-photo{
    flex-basis:160px;
    width:160px;
    height:160px;
  }
  #galeria .gallery-track{gap:12px}
}


/* V105 — PROGRAMAS: desplazamiento automático más lento */
#slider-programas .programs-slider-track{
  animation-duration:60s;
}
@media(max-width:600px){
  #slider-programas .programs-slider-track{
    animation-duration:60s;
  }
}


/* Ajuste solicitado: NOVEDADES DESTACADAS, +2 puntos de tipografía */
.featured-news .title-row h2 {
  font-size: 17px;
}
.featured-news h3 {
  font-size: 24px;
}
.featured-news p {
  font-size: 15px;
}


/* Ajuste solicitado: imágenes de PRÓXIMOS RECITALES en proporción vertical 3:4 */
#recitales .concert img {
  width: 100%;
  height: auto;
  min-height: 0;
  aspect-ratio: 3 / 4;
  object-fit: cover;
  display: block;
  margin: 0;
}


/* CONTACTANOS junto a la grilla de programación */
.programming-layout{
  width:min(1040px,90%);
  margin:0 auto 18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  gap:14px;
  align-items:stretch;
}
.programming-layout .programming-grid-box{
  width:100%;
  margin:0;
}
.programming-contact-box{
  min-width:0;
  padding:18px 12px;
  background:#0a0b0a;
  border:1px solid #38552b;
  border-radius:6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:20px;
}
.programming-contact-box h2{
  margin:2px 0 12px;
  color:#7cff00;
  font-size:15px;
  font-weight:600;
  letter-spacing:1px;
  text-align:center;
}
.programming-social-link{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  padding:10px 4px;
  color:#ddd;
  text-decoration:none;
  font-size:13px;
  border-bottom:1px solid #292929;
  transition:color .2s ease;
}
.programming-social-link:hover{color:#7cff00}
.programming-social-link svg{
  width:36px;
  height:36px;
  fill:none;
  stroke:#7cff00;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.programming-social-link[aria-label^="Facebook"] svg{
  fill:#7cff00;
  stroke:none;
}
@media(max-width:700px){
  .programming-layout{grid-template-columns:1fr;gap:10px}
  .programming-contact-box{flex-direction:row;flex-wrap:wrap;justify-content:center;gap:12px;padding:12px}
  .programming-contact-box h2{width:100%;margin:0 0 4px}
  .programming-social-link{width:42%;border-bottom:0}
}


/* Íconos adicionales de CONTACTANOS */
.programming-social-link[aria-label^="Enviar mensaje por WhatsApp"] svg{
  stroke:#7cff00;
  fill:none;
}
.programming-social-link[aria-label^="Ir al formulario"] svg{
  stroke:#7cff00;
  fill:none;
}




/* CONTACTANOS: unificar el color sin alterar la forma de los íconos */
.programming-social-link svg {
  color: #168BFF !important;
  fill: none !important;
  stroke: #168BFF !important;
}
.programming-social-link svg path,
.programming-social-link svg circle,
.programming-social-link svg rect,
.programming-social-link svg line,
.programming-social-link svg polyline,
.programming-social-link svg polygon {
  fill: none !important;
  stroke: #168BFF !important;
}
.programming-social-link[aria-label*="Facebook"] svg path {
  fill: #168BFF !important;
  stroke: none !important;
}


/* Ajuste solicitado: GALERÍA un poco más grande y con desplazamiento más lento */
#galeria .gallery-photo{
  flex-basis:210px;
  width:210px;
  height:210px;
}
#galeria .gallery-track{
  animation-duration:36s;
}
@media(max-width:700px){
  #galeria .gallery-photo{
    flex-basis:175px;
    width:175px;
    height:175px;
  }
  #galeria .gallery-track{
    animation-duration:30s;
  }
}
