{"id":247,"date":"2026-08-06T20:08:40","date_gmt":"2026-08-06T20:08:40","guid":{"rendered":"https:\/\/ormusiclive.com\/?page_id=247"},"modified":"2026-09-16T03:38:25","modified_gmt":"2026-09-16T03:38:25","slug":"inicio-ormusiclive-com","status":"publish","type":"page","link":"https:\/\/ormusiclive.com\/","title":{"rendered":"INICIO ORMUSICLIVE.COM"},"content":{"rendered":"\n<style>\n\n\/* =========================================================\n   OR MUSIC LIVE \u00b7 PORTADA\n========================================================= *\/\n\nhtml,\nbody{\n  margin:0!important;\n  padding:0!important;\n  overflow-x:hidden!important;\n  background:#000!important;\n}\n\n.entry-title,\n.page-title,\nh1.entry-title,\nh1.page-title,\n.wp-block-post-title,\n.page-header,\n.entry-header,\nheader,\n.site-header,\n.wp-block-template-part,\n.wp-block-navigation,\n.main-navigation,\n.primary-menu,\n.menu:not(.or-menu-hero),\nnav:not(.or-menu-hero),\nfooter.site-footer{\n  display:none!important;\n}\n\n.wp-site-blocks,\n.site,\n.site-content,\n.content-area,\n.site-main,\n.entry-content,\n.page-content,\nmain,\narticle{\n  width:100%!important;\n  max-width:100%!important;\n  margin:0!important;\n  padding:0!important;\n}\n\n.entry-content>*,\n.wp-block-post-content>*{\n  max-width:none!important;\n  margin-left:0!important;\n  margin-right:0!important;\n}\n\n.or-wrap,\n.or-wrap *{\n  box-sizing:border-box!important;\n  font-family:Arial,Helvetica,sans-serif!important;\n}\n\n.or-wrap{\n  width:100%!important;\n  background:#000!important;\n  color:#fff!important;\n}\n\n\n\/* =========================================================\n   HERO\n========================================================= *\/\n\n.or-hero{\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  position:relative!important;\n  overflow:hidden!important;\n  background:#000!important;\n}\n\n.or-hero>img{\n  display:block!important;\n  width:100%!important;\n  height:auto!important;\n  min-height:300px!important;\n  object-fit:cover!important;\n}\n\n.or-hero-overlay{\n  position:absolute!important;\n  top:0!important;\n  left:0!important;\n  right:0!important;\n  z-index:20!important;\n  padding:6px 18px 15px!important;\n  text-align:center!important;\n\n  background:\n    linear-gradient(\n      to bottom,\n      rgba(0,0,0,.84) 0%,\n      rgba(0,0,0,.50) 52%,\n      rgba(0,0,0,.02) 100%\n    )!important;\n}\n\n.or-hero-title{\n  margin:0 0 8px!important;\n  color:#fff!important;\n  font-size:clamp(28px,4vw,58px)!important;\n  font-weight:900!important;\n  letter-spacing:3px!important;\n  line-height:1!important;\n  text-transform:uppercase!important;\n\n  text-shadow:\n    0 3px 12px rgba(0,0,0,.95),\n    0 0 18px rgba(37,99,235,.30)!important;\n}\n\n\n\/* =========================================================\n   MEN\u00da ESCRITORIO\n========================================================= *\/\n\n.or-menu-hero{\n  pointer-events:auto!important;\n  width:auto!important;\n  max-width:98%!important;\n  margin:0 auto!important;\n\n  display:flex!important;\n  flex-wrap:wrap!important;\n  justify-content:center!important;\n  align-items:center!important;\n\n  gap:8px 17px!important;\n  padding:9px 14px!important;\n\n  background:rgba(5,10,22,.48)!important;\n  backdrop-filter:blur(6px)!important;\n\n  border:1px solid rgba(255,255,255,.09)!important;\n  border-radius:14px!important;\n}\n\n.or-menu-hero a{\n  color:#fff!important;\n  text-decoration:none!important;\n\n  font-size:12px!important;\n  font-weight:900!important;\n  letter-spacing:.6px!important;\n\n  text-transform:uppercase!important;\n\n  padding:6px 2px!important;\n\n  border-bottom:\n    2px solid transparent!important;\n\n  white-space:nowrap!important;\n\n  transition:.2s ease!important;\n}\n\n.or-menu-hero a:hover,\n.or-menu-hero a.or-activo{\n  color:#74dfff!important;\n  border-bottom-color:#74dfff!important;\n}\n\n\n\/* =========================================================\n   MEN\u00da M\u00d3VIL\n========================================================= *\/\n\n.or-menu-mobile{\n  display:none!important;\n  pointer-events:auto!important;\n\n  width:92%!important;\n  max-width:380px!important;\n\n  margin:0 auto!important;\n}\n\n.or-menu-mobile summary{\n  list-style:none!important;\n  cursor:pointer!important;\n\n  color:#fff!important;\n\n  font-size:16px!important;\n  font-weight:900!important;\n  letter-spacing:2.5px!important;\n\n  text-transform:uppercase!important;\n\n  text-shadow:\n    0 3px 10px rgba(0,0,0,.95),\n    0 0 16px rgba(37,99,235,.45)!important;\n}\n\n.or-menu-mobile summary::-webkit-details-marker{\n  display:none!important;\n}\n\n.or-menu-mobile-links{\n  margin-top:8px!important;\n  padding:12px!important;\n\n  display:grid!important;\n  grid-template-columns:1fr 1fr!important;\n  gap:8px!important;\n\n  background:\n    rgba(5,10,22,.94)!important;\n\n  border:\n    1px solid rgba(255,255,255,.12)!important;\n\n  border-radius:16px!important;\n\n  backdrop-filter:blur(8px)!important;\n}\n\n.or-menu-mobile-links a{\n  color:#fff!important;\n  text-decoration:none!important;\n\n  text-align:center!important;\n\n  font-size:10px!important;\n  font-weight:900!important;\n\n  text-transform:uppercase!important;\n\n  padding:10px 6px!important;\n\n  border-radius:10px!important;\n\n  background:\n    rgba(255,255,255,.055)!important;\n}\n\n\n\/* =========================================================\n   ZONA RADIO\n========================================================= *\/\n\n.or-radio-section{\n  position:relative!important;\n\n  width:100vw!important;\n\n  margin-left:\n    calc(50% - 50vw)!important;\n\n  margin-right:\n    calc(50% - 50vw)!important;\n\n  padding:\n    58px 30px 72px!important;\n\n  background:\n\n    radial-gradient(\n      circle at 15% 18%,\n      rgba(0,164,255,.23),\n      transparent 29%\n    ),\n\n    radial-gradient(\n      circle at 83% 16%,\n      rgba(255,0,210,.20),\n      transparent 31%\n    ),\n\n    linear-gradient(\n      135deg,\n      #020617 0%,\n      #050816 52%,\n      #13011e 100%\n    )!important;\n}\n\n.or-radio-section::before{\n  content:\"\"!important;\n\n  position:absolute!important;\n  inset:0!important;\n\n  pointer-events:none!important;\n\n  background-image:\n\n    linear-gradient(\n      rgba(95,145,255,.04) 1px,\n      transparent 1px\n    ),\n\n    linear-gradient(\n      90deg,\n      rgba(95,145,255,.04) 1px,\n      transparent 1px\n    )!important;\n\n  background-size:42px 42px!important;\n\n  opacity:.35!important;\n}\n\n.or-radio-layout{\n  position:relative!important;\n  z-index:2!important;\n\n  max-width:1450px!important;\n\n  margin:0 auto!important;\n\n  display:grid!important;\n\n  grid-template-columns:\n    minmax(0,1.2fr)\n    minmax(360px,.8fr)!important;\n\n  gap:34px!important;\n\n  align-items:start!important;\n}\n\n\n\/* =========================================================\n   HUB\n========================================================= *\/\n\n.or-listen-hub{\n  position:relative!important;\n\n  overflow:hidden!important;\n\n  padding:\n    34px 28px 28px!important;\n\n  border-radius:30px!important;\n\n  background:\n\n    radial-gradient(\n      circle at 12% 18%,\n      rgba(0,181,255,.17),\n      transparent 30%\n    ),\n\n    radial-gradient(\n      circle at 88% 18%,\n      rgba(255,0,210,.15),\n      transparent 30%\n    ),\n\n    linear-gradient(\n      145deg,\n      rgba(6,11,27,.98),\n      rgba(8,7,24,.98)\n    )!important;\n\n  border:\n    1px solid rgba(255,255,255,.12)!important;\n\n  box-shadow:\n    0 25px 70px rgba(0,0,0,.42),\n    inset 0 0 55px rgba(76,112,255,.05)!important;\n\n  text-align:center!important;\n}\n\n.or-listen-hub::after{\n  content:\"\"!important;\n\n  position:absolute!important;\n\n  left:50%!important;\n  top:50%!important;\n\n  width:min(630px,78%)!important;\n  height:min(630px,78%)!important;\n\n  transform:\n    translate(-50%,-50%)!important;\n\n  background:\n    url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\")\n    center\/contain no-repeat!important;\n\n  opacity:.035!important;\n\n  pointer-events:none!important;\n}\n\n.or-listen-hub>*{\n  position:relative!important;\n  z-index:2!important;\n}\n\n.or-listen-kicker{\n  color:#78e2ff!important;\n\n  font-size:10px!important;\n  font-weight:900!important;\n\n  letter-spacing:2.8px!important;\n\n  text-transform:uppercase!important;\n}\n\n.or-listen-hub h2{\n  margin:\n    8px 0 11px!important;\n\n  color:#fff!important;\n\n  font-size:\n    clamp(34px,3.5vw,54px)!important;\n\n  line-height:1!important;\n\n  font-weight:900!important;\n\n  letter-spacing:1px!important;\n}\n\n.or-listen-intro{\n  max-width:760px!important;\n\n  margin:\n    0 auto 27px!important;\n\n  color:#c8d3e3!important;\n\n  font-size:14px!important;\n\n  line-height:1.65!important;\n}\n\n\n\/* =========================================================\n   TRES OPCIONES\n========================================================= *\/\n\n.or-listen-grid{\n  display:grid!important;\n\n  grid-template-columns:\n    repeat(3,minmax(0,1fr))!important;\n\n  gap:15px!important;\n}\n\n.or-listen-card{\n  position:relative!important;\n\n  min-height:340px!important;\n\n  overflow:hidden!important;\n\n  padding:\n    25px 20px 20px!important;\n\n  display:flex!important;\n  flex-direction:column!important;\n\n  align-items:flex-start!important;\n  justify-content:flex-end!important;\n\n  border-radius:24px!important;\n\n  color:#fff!important;\n  text-decoration:none!important;\n\n  text-align:left!important;\n\n  background:\n\n    linear-gradient(\n      180deg,\n      rgba(8,14,31,.97),\n      rgba(3,6,15,.99)\n    )!important;\n\n  border:\n    1px solid rgba(255,255,255,.12)!important;\n\n  box-shadow:\n    0 18px 42px rgba(0,0,0,.33)!important;\n\n  transition:\n    transform .25s ease,\n    filter .25s ease,\n    opacity .25s ease,\n    border-color .25s ease,\n    box-shadow .25s ease!important;\n}\n\n.or-listen-card:hover{\n  transform:\n    translateY(-5px)!important;\n}\n\n\n\/* =========================================================\n   GLOW\n========================================================= *\/\n\n.or-listen-glow{\n  position:absolute!important;\n\n  z-index:0!important;\n\n  left:-18%!important;\n  right:-18%!important;\n\n  top:-90px!important;\n\n  height:210px!important;\n\n  filter:\n    blur(45px)!important;\n\n  opacity:.55!important;\n\n  pointer-events:none!important;\n}\n\n.or-listen-247 .or-listen-glow{\n  background:#00b9ff!important;\n}\n\n.or-listen-mixes .or-listen-glow{\n  background:#ff21d7!important;\n}\n\n.or-listen-live .or-listen-glow{\n  background:#805aff!important;\n}\n\n\n\/* =========================================================\n   LED\n========================================================= *\/\n\n.or-listen-led{\n  position:absolute!important;\n\n  z-index:3!important;\n\n  top:18px!important;\n  right:18px!important;\n\n  width:11px!important;\n  height:11px!important;\n\n  border-radius:50%!important;\n}\n\n.or-listen-247 .or-listen-led{\n  background:#4bddff!important;\n\n  box-shadow:\n    0 0 7px #4bddff,\n    0 0 18px rgba(75,221,255,.8)!important;\n}\n\n.or-listen-mixes .or-listen-led{\n  background:#ff5de3!important;\n\n  box-shadow:\n    0 0 7px #ff5de3,\n    0 0 18px rgba(255,93,227,.8)!important;\n}\n\n.or-listen-live .or-listen-led{\n  background:#7c5cff!important;\n\n  box-shadow:\n    0 0 6px rgba(124,92,255,.75),\n    0 0 15px rgba(124,92,255,.45)!important;\n}\n\n\n\/* =========================================================\n   TEXTO\n========================================================= *\/\n\n.or-listen-eyebrow{\n  position:relative!important;\n  z-index:2!important;\n\n  display:block!important;\n\n  margin-bottom:8px!important;\n\n  color:#91a3bb!important;\n\n  font-size:9px!important;\n  font-weight:900!important;\n\n  letter-spacing:1.5px!important;\n\n  text-transform:uppercase!important;\n}\n\n.or-listen-card strong{\n  position:relative!important;\n  z-index:2!important;\n\n  display:block!important;\n\n  margin-bottom:11px!important;\n\n  color:#fff!important;\n\n  font-size:\n    clamp(24px,2vw,34px)!important;\n\n  font-weight:900!important;\n\n  line-height:1!important;\n}\n\n.or-listen-copy{\n  position:relative!important;\n  z-index:2!important;\n\n  display:block!important;\n\n  min-height:75px!important;\n\n  color:#cbd5e1!important;\n\n  font-size:12px!important;\n\n  line-height:1.55!important;\n}\n\n.or-listen-button{\n  position:relative!important;\n  z-index:2!important;\n\n  display:flex!important;\n\n  width:100%!important;\n  min-height:46px!important;\n\n  margin-top:17px!important;\n\n  padding:10px!important;\n\n  align-items:center!important;\n  justify-content:center!important;\n\n  border-radius:999px!important;\n\n  color:#fff!important;\n\n  background:\n    rgba(255,255,255,.055)!important;\n\n  border:\n    1px solid rgba(255,255,255,.13)!important;\n\n  font-size:9px!important;\n  font-weight:900!important;\n\n  letter-spacing:.8px!important;\n}\n\n.or-listen-247 .or-listen-button{\n  border-color:\n    rgba(73,220,255,.42)!important;\n}\n\n.or-listen-mixes .or-listen-button{\n  border-color:\n    rgba(255,92,227,.42)!important;\n}\n\n.or-listen-live .or-listen-button{\n  border-color:\n    rgba(160,130,255,.42)!important;\n}\n\n\n\/* =========================================================\n   EN VIVO EN ESPERA\n========================================================= *\/\n\n.or-listen-live.is-standby{\n  opacity:1!important;\n  filter:none!important;\n  border-color:rgba(145,120,255,.22)!important;\n}\n\n.or-listen-live.is-standby:hover{\n  opacity:1!important;\n  filter:none!important;\n}\n\n\n\/* =========================================================\n   EN VIVO ACTIVO\n========================================================= *\/\n\n.or-listen-live.is-live-active{\n  opacity:1!important;\n\n  filter:none!important;\n\n  transform:\n    translateY(-4px)\n    scale(1.018)!important;\n\n  border-color:\n    rgba(255,57,94,.78)!important;\n\n  box-shadow:\n    0 0 0 1px rgba(255,57,94,.30),\n    0 0 38px rgba(255,35,95,.34),\n    0 20px 45px rgba(0,0,0,.40)!important;\n\n  animation:\n    orLiveCardPulse\n    1.65s ease-in-out infinite!important;\n}\n\n.or-listen-live.is-live-active .or-listen-glow{\n  background:#ff225e!important;\n  opacity:.80!important;\n}\n\n.or-listen-live.is-live-active .or-listen-led{\n  background:#ff315d!important;\n\n  box-shadow:\n    0 0 8px #ff315d,\n    0 0 22px rgba(255,49,93,.95)!important;\n\n  animation:\n    orLiveLedPulse\n    .85s ease-in-out infinite!important;\n}\n\n.or-listen-live.is-live-active .or-listen-button{\n  background:\n\n    linear-gradient(\n      135deg,\n      #d91f55,\n      #8b2cff\n    )!important;\n\n  border-color:\n    rgba(255,255,255,.30)!important;\n\n  box-shadow:\n    0 0 25px rgba(255,42,101,.25)!important;\n}\n\n\n\/* =========================================================\n   ESTADO GENERAL\n========================================================= *\/\n\n.or-live-priority{\n  margin-top:18px!important;\n\n  padding:12px 14px!important;\n\n  display:flex!important;\n\n  align-items:center!important;\n  justify-content:center!important;\n\n  gap:9px!important;\n\n  border-radius:14px!important;\n\n  color:#bdcadd!important;\n\n  background:\n    rgba(2,6,15,.75)!important;\n\n  border:\n    1px solid rgba(255,255,255,.08)!important;\n\n  font-size:10px!important;\n  font-weight:900!important;\n\n  letter-spacing:.5px!important;\n}\n\n.or-live-priority-dot{\n  width:9px!important;\n  height:9px!important;\n\n  flex:0 0 9px!important;\n\n  border-radius:50%!important;\n\n  background:#5ce79e!important;\n\n  box-shadow:\n    0 0 11px rgba(92,231,158,.70)!important;\n}\n\n.or-listen-hub.is-live-now .or-live-priority{\n  color:#fff!important;\n\n  background:\n    rgba(101,8,30,.34)!important;\n\n  border-color:\n    rgba(255,55,98,.30)!important;\n}\n\n.or-listen-hub.is-live-now .or-live-priority-dot{\n  background:#ff315d!important;\n\n  box-shadow:\n    0 0 13px rgba(255,49,93,.90)!important;\n\n  animation:\n    orLiveLedPulse\n    .85s ease-in-out infinite!important;\n}\n\n.or-listen-note{\n  margin-top:13px!important;\n\n  color:#7f8da0!important;\n\n  font-size:10px!important;\n\n  line-height:1.5!important;\n}\n\n\n\/* =========================================================\n   ANIMACIONES\n========================================================= *\/\n\n@keyframes orLiveLedPulse{\n\n  0%,\n  100%{\n    transform:scale(.82);\n    opacity:.65;\n  }\n\n  50%{\n    transform:scale(1.32);\n    opacity:1;\n  }\n\n}\n\n@keyframes orLiveCardPulse{\n\n  0%,\n  100%{\n\n    box-shadow:\n      0 0 0 1px rgba(255,61,91,.28),\n      0 0 28px rgba(255,34,97,.22),\n      0 20px 45px rgba(0,0,0,.40);\n\n  }\n\n  50%{\n\n    box-shadow:\n      0 0 0 1px rgba(255,61,91,.50),\n      0 0 52px rgba(255,34,97,.45),\n      0 20px 45px rgba(0,0,0,.40);\n\n  }\n\n}\n\n\n\/* =========================================================\n   PATROCINANTES\n========================================================= *\/\n\n.or-sponsors{\n  position:relative!important;\n\n  padding:\n    29px 21px!important;\n\n  background:\n    rgba(8,13,32,.78)!important;\n\n  border:\n    1px solid rgba(255,255,255,.13)!important;\n\n  border-radius:30px!important;\n\n  box-shadow:\n    0 25px 70px rgba(0,0,0,.40),\n    0 0 34px rgba(217,70,239,.14)!important;\n\n  text-align:center!important;\n}\n\n.or-sponsors h2{\n  margin:\n    0 0 8px!important;\n\n  color:#fff!important;\n\n  font-size:33px!important;\n  font-weight:900!important;\n\n  letter-spacing:2px!important;\n\n  text-transform:uppercase!important;\n}\n\n.or-sponsors-subtitle{\n  margin:\n    0 auto 24px!important;\n\n  color:#dbeafe!important;\n\n  font-size:14px!important;\n\n  line-height:1.5!important;\n}\n\n.or-sponsor-grid{\n  display:grid!important;\n\n  grid-template-columns:\n    repeat(2,minmax(0,1fr))!important;\n\n  gap:16px!important;\n}\n\n.or-sponsor-card{\n  min-width:0!important;\n\n  padding:9px!important;\n\n  background:\n    rgba(5,8,22,.90)!important;\n\n  border:\n    1px solid rgba(255,255,255,.10)!important;\n\n  border-radius:21px!important;\n\n  overflow:hidden!important;\n}\n\n.or-deck-stage{\n  position:relative!important;\n\n  width:100%!important;\n\n  aspect-ratio:1\/1!important;\n\n  overflow:hidden!important;\n\n  border-radius:17px!important;\n\n  background:#050816!important;\n}\n\n.or-deck-base{\n  position:absolute!important;\n\n  inset:0!important;\n\n  z-index:1!important;\n\n  display:block!important;\n\n  width:100%!important;\n  height:100%!important;\n\n  object-fit:cover!important;\n\n  pointer-events:none!important;\n}\n\n.or-deck-active .or-rotating-platter{\n  position:absolute!important;\n\n  left:47.8%!important;\n  top:47.4%!important;\n\n  width:74%!important;\n\n  aspect-ratio:1\/1!important;\n\n  transform:\n    translate(-50%,-50%)!important;\n\n  border-radius:50%!important;\n\n  z-index:5!important;\n\n  pointer-events:none!important;\n}\n\n.or-rotating-platter::before{\n  content:\"\"!important;\n\n  position:absolute!important;\n\n  inset:6.5%!important;\n\n  border-radius:50%!important;\n\n  background:\n\n    repeating-radial-gradient(\n      circle at center,\n      rgba(255,255,255,.055) 0 1px,\n      rgba(0,0,0,.10) 1px 2px,\n      rgba(255,255,255,.025) 2px 3.5px\n    ),\n\n    conic-gradient(\n      from 0deg,\n      transparent 0deg 18deg,\n      rgba(255,255,255,.26) 28deg,\n      transparent 42deg 108deg,\n      rgba(116,184,255,.22) 120deg,\n      transparent 140deg 205deg,\n      rgba(255,255,255,.18) 220deg,\n      transparent 240deg 296deg,\n      rgba(217,70,239,.15) 314deg,\n      transparent 334deg 360deg\n    )!important;\n\n  mix-blend-mode:screen!important;\n\n  opacity:.82!important;\n\n  animation:\n    orVinylSpin\n    5.5s linear infinite!important;\n}\n\n.or-rotating-platter::after{\n  content:\"\"!important;\n\n  position:absolute!important;\n\n  inset:0!important;\n\n  border-radius:50%!important;\n\n  background:\n\n    repeating-conic-gradient(\n      from 0deg,\n      rgba(248,250,252,1) 0deg .48deg,\n      rgba(150,157,168,.95) .48deg .82deg,\n      transparent .82deg 1.78deg,\n      rgba(240,242,245,.82) 1.78deg 2.04deg,\n      transparent 2.04deg 3deg\n    )!important;\n\n  -webkit-mask:\n\n    radial-gradient(\n      circle,\n      transparent 0 86.5%,\n      #000 87% 94.5%,\n      transparent 95%\n    )!important;\n\n  mask:\n\n    radial-gradient(\n      circle,\n      transparent 0 86.5%,\n      #000 87% 94.5%,\n      transparent 95%\n    )!important;\n\n  animation:\n    orVinylSpin\n    5.5s linear infinite!important;\n}\n\n@keyframes orVinylSpin{\n\n  from{\n    transform:rotate(0deg);\n  }\n\n  to{\n    transform:rotate(360deg);\n  }\n\n}\n\n.or-sponsor-logo{\n  position:absolute!important;\n\n  left:47.8%!important;\n  top:47.4%!important;\n\n  width:48%!important;\n\n  aspect-ratio:1\/1!important;\n\n  transform:\n    translate(-50%,-50%)!important;\n\n  z-index:12!important;\n\n  display:flex!important;\n\n  align-items:center!important;\n  justify-content:center!important;\n\n  border-radius:50%!important;\n\n  overflow:hidden!important;\n\n  background:#05070b!important;\n\n  border:\n    2px solid rgba(255,255,255,.28)!important;\n\n  box-shadow:\n    0 0 0 4px rgba(0,0,0,.48),\n    0 0 18px rgba(37,99,235,.20)!important;\n}\n\n.or-sponsor-logo img{\n  display:block!important;\n\n  width:100%!important;\n  height:100%!important;\n\n  object-fit:cover!important;\n\n  border-radius:50%!important;\n}\n\n.or-deck-empty .or-rotating-platter,\n.or-deck-empty .or-sponsor-logo{\n  display:none!important;\n}\n\n.or-sponsor-name{\n  padding:\n    11px 4px 3px!important;\n\n  color:#fff!important;\n\n  font-size:11px!important;\n  font-weight:900!important;\n\n  letter-spacing:.7px!important;\n\n  text-transform:uppercase!important;\n}\n\n.or-sponsor-name.or-disponible{\n  color:#74b8ff!important;\n}\n\n\n\/* =========================================================\n   SECCIONES INFERIORES\n========================================================= *\/\n\n.or-simple-sections{\n  position:relative!important;\n\n  width:100vw!important;\n\n  margin-left:\n    calc(50% - 50vw)!important;\n\n  margin-right:\n    calc(50% - 50vw)!important;\n\n  padding:\n    54px 24px 65px!important;\n\n  background:\n\n    radial-gradient(\n      circle at 10% 30%,\n      rgba(37,99,235,.09),\n      transparent 27%\n    ),\n\n    radial-gradient(\n      circle at 88% 35%,\n      rgba(217,70,239,.07),\n      transparent 27%\n    ),\n\n    linear-gradient(\n      180deg,\n      #030712,\n      #020617\n    )!important;\n}\n\n.or-simple-grid{\n  position:relative!important;\n\n  z-index:2!important;\n\n  max-width:1320px!important;\n\n  margin:0 auto!important;\n\n  display:grid!important;\n\n  grid-template-columns:\n    repeat(3,minmax(0,1fr))!important;\n\n  gap:20px!important;\n}\n\n.or-simple-card{\n  padding:24px!important;\n\n  background:\n    rgba(8,13,32,.82)!important;\n\n  border:\n    1px solid rgba(255,255,255,.10)!important;\n\n  border-radius:23px!important;\n}\n\n.or-simple-card h3{\n  margin:\n    0 0 10px!important;\n\n  color:#fff!important;\n\n  font-size:21px!important;\n  font-weight:900!important;\n\n  text-transform:uppercase!important;\n}\n\n.or-simple-card p{\n  margin:0!important;\n\n  color:#dbeafe!important;\n\n  font-size:14px!important;\n\n  line-height:1.6!important;\n}\n\n.or-footer-note{\n  max-width:1320px!important;\n\n  margin:\n    27px auto 0!important;\n\n  color:#8190a4!important;\n\n  text-align:center!important;\n\n  font-size:11px!important;\n  font-weight:900!important;\n\n  letter-spacing:1.7px!important;\n\n  text-transform:uppercase!important;\n}\n\n\n\/* =========================================================\n   REDES\n========================================================= *\/\n\n.or-social-info{\n  width:100vw!important;\n\n  margin-left:\n    calc(50% - 50vw)!important;\n\n  margin-right:\n    calc(50% - 50vw)!important;\n\n  padding:\n    48px 22px!important;\n\n  background:\n    linear-gradient(\n      180deg,\n      #020617,\n      #040713\n    )!important;\n}\n\n.or-social-info-inner{\n  max-width:1050px!important;\n\n  margin:0 auto!important;\n\n  display:grid!important;\n\n  grid-template-columns:\n    repeat(3,minmax(0,1fr))!important;\n\n  gap:14px!important;\n}\n\n.or-social-title,\n.or-social-subtitle{\n  grid-column:1\/-1!important;\n\n  text-align:center!important;\n}\n\n.or-social-title{\n  color:#fff!important;\n\n  font-size:23px!important;\n  font-weight:900!important;\n\n  letter-spacing:1.8px!important;\n}\n\n.or-social-subtitle{\n  margin-bottom:15px!important;\n\n  color:#8392a6!important;\n\n  font-size:11px!important;\n}\n\n.or-social-card{\n  padding:17px!important;\n\n  display:flex!important;\n\n  align-items:center!important;\n\n  gap:13px!important;\n\n  border-radius:18px!important;\n\n  background:\n    rgba(8,13,30,.90)!important;\n\n  border:\n    1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-social-logo{\n  width:42px!important;\n  height:42px!important;\n\n  display:flex!important;\n\n  align-items:center!important;\n  justify-content:center!important;\n}\n\n.or-social-logo svg{\n  width:30px!important;\n  height:30px!important;\n\n  fill:none!important;\n  stroke:#fff!important;\n\n  stroke-width:1.6!important;\n}\n\n.or-social-logo path{\n  fill:#fff!important;\n  stroke:none!important;\n}\n\n.or-social-card.tiktok .or-tiktok-mark{\n  width:31px!important;\n  height:31px!important;\n  overflow:visible!important;\n}\n\n.or-social-card.tiktok .or-tiktok-mark path{\n  stroke:none!important;\n}\n\n.or-social-card.tiktok .or-tiktok-mark .tk-cyan{\n  fill:#25F4EE!important;\n  opacity:.92!important;\n}\n\n.or-social-card.tiktok .or-tiktok-mark .tk-pink{\n  fill:#FE2C55!important;\n  opacity:.92!important;\n}\n\n.or-social-card.tiktok .or-tiktok-mark .tk-white{\n  fill:#ffffff!important;\n}\n\n.or-social-copy span{\n  display:block!important;\n\n  color:#7f8da2!important;\n\n  font-size:9px!important;\n  font-weight:900!important;\n\n  text-transform:uppercase!important;\n}\n\n.or-social-copy strong{\n  display:block!important;\n\n  margin-top:3px!important;\n\n  color:#fff!important;\n\n  font-size:13px!important;\n}\n\n\n\/* =========================================================\n   FOOTER\n========================================================= *\/\n\n.or-legal-footer{\n  display:block!important;\n\n  position:relative!important;\n\n  width:100vw!important;\n\n  margin-left:\n    calc(50% - 50vw)!important;\n\n  margin-right:\n    calc(50% - 50vw)!important;\n\n  padding:\n    35px 22px 42px!important;\n\n  background:#01030a!important;\n\n  border-top:\n    1px solid rgba(255,255,255,.07)!important;\n}\n\n.or-legal-footer-inner{\n  max-width:1100px!important;\n\n  margin:0 auto!important;\n\n  text-align:center!important;\n}\n\n.or-legal-links{\n  display:flex!important;\n\n  flex-wrap:wrap!important;\n  justify-content:center!important;\n\n  gap:11px 20px!important;\n\n  color:#9aa8ba!important;\n\n  font-size:10px!important;\n  font-weight:900!important;\n\n  text-transform:uppercase!important;\n}\n\n.or-copyright-main{\n  margin-top:20px!important;\n\n  color:#fff!important;\n\n  font-size:12px!important;\n  font-weight:900!important;\n}\n\n.or-copyright-copy{\n  max-width:900px!important;\n\n  margin:\n    12px auto 0!important;\n\n  color:#738195!important;\n\n  font-size:10px!important;\n\n  line-height:1.6!important;\n}\n\n.or-creation-line{\n  margin-top:15px!important;\n\n  color:#8898ad!important;\n\n  font-size:10px!important;\n}\n\n.or-creation-line strong{\n  color:#72dcff!important;\n}\n\n\n\/* =========================================================\n   TABLET\n========================================================= *\/\n\n@media(max-width:1100px){\n\n  .or-radio-layout{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-listen-grid{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-listen-card{\n    min-height:215px!important;\n  }\n\n  .or-listen-copy{\n    min-height:0!important;\n  }\n\n  .or-sponsor-grid{\n    grid-template-columns:\n      repeat(3,minmax(0,1fr))!important;\n  }\n\n  .or-simple-grid{\n    grid-template-columns:\n      1fr 1fr!important;\n  }\n\n}\n\n\n\/* =========================================================\n   TEL\u00c9FONO\n========================================================= *\/\n\n@media(max-width:820px){\n\n  .or-menu-hero{\n    display:none!important;\n  }\n\n  .or-menu-mobile{\n    display:block!important;\n  }\n\n  .or-hero>img{\n    min-height:260px!important;\n  }\n\n  .or-hero:has(.or-menu-mobile[open])>img{\n    min-height:360px!important;\n  }\n\n  .or-hero-title{\n    font-size:27px!important;\n  }\n\n  .or-radio-section{\n    padding:\n      34px 12px 47px!important;\n  }\n\n  .or-listen-hub{\n    padding:\n      25px 14px 20px!important;\n\n    border-radius:22px!important;\n  }\n\n  .or-listen-kicker{\n    font-size:8px!important;\n    letter-spacing:1.8px!important;\n  }\n\n  .or-listen-hub h2{\n    font-size:30px!important;\n  }\n\n  .or-listen-intro{\n    font-size:13px!important;\n\n    margin-bottom:18px!important;\n  }\n\n  .or-listen-grid{\n    display:flex!important;\n\n    flex-direction:column!important;\n\n    gap:11px!important;\n  }\n\n  .or-listen-card{\n    min-height:175px!important;\n\n    padding:\n      19px 17px 16px!important;\n\n    border-radius:19px!important;\n  }\n\n  .or-listen-card strong{\n    font-size:27px!important;\n  }\n\n  .or-listen-copy{\n    font-size:12px!important;\n  }\n\n  .or-listen-button{\n    min-height:42px!important;\n\n    margin-top:13px!important;\n  }\n\n  .or-live-priority{\n    font-size:9px!important;\n\n    line-height:1.4!important;\n  }\n\n  .or-sponsors{\n    border-radius:22px!important;\n\n    padding:\n      24px 14px!important;\n  }\n\n  .or-sponsor-grid{\n    grid-template-columns:\n      1fr 1fr!important;\n\n    gap:10px!important;\n  }\n\n  .or-simple-grid{\n    grid-template-columns:\n      1fr!important;\n  }\n\n  .or-social-info-inner{\n    grid-template-columns:\n      1fr!important;\n  }\n\n}\n\n\n\/* =========================================================\n   TEL\u00c9FONO PEQUE\u00d1O\n========================================================= *\/\n\n@media(max-width:480px){\n\n  .or-hero:has(.or-menu-mobile[open])>img{\n    min-height:385px!important;\n  }\n\n  .or-menu-mobile-links{\n    grid-template-columns:\n      1fr 1fr!important;\n  }\n\n  .or-sponsor-grid{\n    grid-template-columns:\n      1fr 1fr!important;\n  }\n\n  .or-sponsor-name{\n    font-size:9px!important;\n  }\n\n}\n\n\n\n\/* =========================================================\n   NUEVA IDENTIDAD DE FONDO \u00b7 LOGO EN TODA LA PORTADA\n========================================================= *\/\n\n.or-wrap{\n  position:relative!important;\n  isolation:isolate!important;\n\n  background:\n    radial-gradient(\n      circle at 12% 18%,\n      rgba(0,181,255,.13),\n      transparent 30%\n    ),\n    radial-gradient(\n      circle at 88% 28%,\n      rgba(255,0,211,.12),\n      transparent 31%\n    ),\n    radial-gradient(\n      circle at 50% 70%,\n      rgba(112,67,255,.10),\n      transparent 34%\n    ),\n    linear-gradient(\n      180deg,\n      #02030a 0%,\n      #070713 42%,\n      #09051a 72%,\n      #03040c 100%\n    )!important;\n}\n\n.or-wrap::before{\n  content:\"\"!important;\n\n  position:absolute!important;\n  inset:0!important;\n\n  z-index:0!important;\n\n  pointer-events:none!important;\n\n  background-image:\n    url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\")!important;\n\n  background-repeat:repeat-y!important;\n  background-position:center 340px!important;\n  background-size:min(88vw,980px) auto!important;\n\n  opacity:.105!important;\n\n  filter:\n    saturate(.90)\n    brightness(1.06)!important;\n\n  mix-blend-mode:screen!important;\n}\n\n.or-wrap > section,\n.or-wrap > footer{\n  position:relative!important;\n  z-index:1!important;\n}\n\n\n\/* PERMITIR QUE EL LOGO GENERAL SE VEA A TRAV\u00c9S DE LAS SECCIONES *\/\n\n.or-radio-section{\n  background:\n    radial-gradient(\n      circle at 15% 18%,\n      rgba(0,164,255,.15),\n      transparent 29%\n    ),\n    radial-gradient(\n      circle at 83% 16%,\n      rgba(255,0,210,.13),\n      transparent 31%\n    ),\n    linear-gradient(\n      135deg,\n      rgba(2,6,23,.80) 0%,\n      rgba(5,8,22,.76) 52%,\n      rgba(19,1,30,.76) 100%\n    )!important;\n}\n\n.or-social-info{\n  background:\n    linear-gradient(\n      180deg,\n      rgba(2,6,23,.78),\n      rgba(4,7,19,.82)\n    )!important;\n}\n\n.or-legal-footer{\n  background:\n    rgba(1,3,10,.92)!important;\n}\n\n\n\/* =========================================================\n   VIVE OR MUSIC LIVE\n========================================================= *\/\n\n.or-vive-section{\n  width:100vw!important;\n\n  margin-left:\n    calc(50% - 50vw)!important;\n\n  margin-right:\n    calc(50% - 50vw)!important;\n\n  padding:\n    70px 24px 66px!important;\n\n  background:\n    radial-gradient(\n      circle at 10% 20%,\n      rgba(0,183,255,.11),\n      transparent 27%\n    ),\n    radial-gradient(\n      circle at 90% 32%,\n      rgba(255,0,211,.10),\n      transparent 28%\n    ),\n    linear-gradient(\n      180deg,\n      rgba(3,7,18,.72),\n      rgba(5,5,20,.74)\n    )!important;\n\n  border-top:\n    1px solid rgba(255,255,255,.055)!important;\n\n  border-bottom:\n    1px solid rgba(255,255,255,.055)!important;\n}\n\n.or-vive-inner{\n  max-width:1320px!important;\n  margin:0 auto!important;\n  text-align:center!important;\n}\n\n.or-vive-kicker{\n  color:#74dfff!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:3px!important;\n  text-transform:uppercase!important;\n}\n\n.or-vive-inner > h2{\n  margin:\n    9px 0 12px!important;\n\n  color:#fff!important;\n\n  font-size:\n    clamp(35px,4vw,58px)!important;\n\n  line-height:1!important;\n  font-weight:900!important;\n\n  letter-spacing:1px!important;\n\n  text-shadow:\n    0 0 28px rgba(64,211,255,.10),\n    0 0 42px rgba(255,65,215,.08)!important;\n}\n\n.or-vive-intro{\n  max-width:780px!important;\n\n  margin:\n    0 auto 31px!important;\n\n  color:#b9c5d4!important;\n\n  font-size:14px!important;\n  line-height:1.7!important;\n}\n\n.or-vive-grid{\n  display:grid!important;\n\n  grid-template-columns:\n    repeat(3,minmax(0,1fr))!important;\n\n  gap:18px!important;\n}\n\n.or-vive-card{\n  position:relative!important;\n  overflow:hidden!important;\n\n  min-height:310px!important;\n\n  padding:\n    28px 25px 25px!important;\n\n  display:flex!important;\n  flex-direction:column!important;\n  align-items:flex-start!important;\n\n  text-align:left!important;\n\n  border-radius:25px!important;\n\n  background:\n    radial-gradient(\n      circle at 88% 0%,\n      rgba(255,255,255,.05),\n      transparent 28%\n    ),\n    linear-gradient(\n      145deg,\n      rgba(8,13,30,.92),\n      rgba(7,6,22,.91)\n    )!important;\n\n  border:\n    1px solid rgba(255,255,255,.10)!important;\n\n  box-shadow:\n    0 20px 50px rgba(0,0,0,.28)!important;\n\n  transition:\n    transform .25s ease,\n    border-color .25s ease,\n    box-shadow .25s ease!important;\n}\n\n.or-vive-card:hover{\n  transform:\n    translateY(-4px)!important;\n\n  border-color:\n    rgba(116,223,255,.26)!important;\n}\n\n.or-vive-card::after{\n  content:\"\"!important;\n\n  position:absolute!important;\n\n  left:-15%!important;\n  right:-15%!important;\n  top:-110px!important;\n\n  height:210px!important;\n\n  pointer-events:none!important;\n\n  filter:\n    blur(44px)!important;\n\n  opacity:.36!important;\n}\n\n.or-vive-next::after{\n  background:#00b7ff!important;\n}\n\n.or-vive-talent::after{\n  background:#7a5cff!important;\n}\n\n.or-vive-join::after{\n  background:#ff35cf!important;\n}\n\n.or-vive-card > *{\n  position:relative!important;\n  z-index:2!important;\n}\n\n.or-vive-icon{\n  min-height:34px!important;\n\n  display:inline-flex!important;\n\n  align-items:center!important;\n\n  gap:8px!important;\n\n  margin-bottom:18px!important;\n\n  padding:\n    8px 11px!important;\n\n  border-radius:999px!important;\n\n  color:#dce9f7!important;\n\n  background:\n    rgba(255,255,255,.055)!important;\n\n  border:\n    1px solid rgba(255,255,255,.10)!important;\n\n  font-size:8px!important;\n  font-weight:900!important;\n\n  letter-spacing:1.4px!important;\n}\n\n.or-vive-dot{\n  width:8px!important;\n  height:8px!important;\n\n  border-radius:50%!important;\n\n  background:#64dfff!important;\n\n  box-shadow:\n    0 0 8px #64dfff,\n    0 0 16px rgba(100,223,255,.55)!important;\n\n  animation:\n    orViveDotPulse\n    1.35s ease-in-out infinite!important;\n}\n\n.or-vive-card h3{\n  margin:\n    0 0 12px!important;\n\n  color:#fff!important;\n\n  font-size:\n    clamp(22px,2vw,30px)!important;\n\n  line-height:1.1!important;\n  font-weight:900!important;\n}\n\n.or-vive-card p{\n  margin:\n    0 0 20px!important;\n\n  color:#aebaca!important;\n\n  font-size:13px!important;\n  line-height:1.7!important;\n}\n\n.or-vive-tags{\n  margin-top:auto!important;\n\n  display:flex!important;\n  flex-wrap:wrap!important;\n\n  gap:7px!important;\n}\n\n.or-vive-tags span{\n  padding:\n    7px 10px!important;\n\n  border-radius:999px!important;\n\n  color:#9eb1c8!important;\n\n  background:\n    rgba(255,255,255,.035)!important;\n\n  border:\n    1px solid rgba(255,255,255,.07)!important;\n\n  font-size:7px!important;\n  font-weight:900!important;\n}\n\n.or-vive-action{\n  margin-top:auto!important;\n\n  min-height:43px!important;\n\n  display:inline-flex!important;\n\n  align-items:center!important;\n  justify-content:center!important;\n\n  padding:\n    10px 16px!important;\n\n  border-radius:999px!important;\n\n  color:#fff!important;\n  text-decoration:none!important;\n\n  background:\n    linear-gradient(\n      135deg,\n      rgba(63,91,210,.35),\n      rgba(202,42,171,.30)\n    )!important;\n\n  border:\n    1px solid rgba(126,170,255,.24)!important;\n\n  font-size:8px!important;\n  font-weight:900!important;\n\n  letter-spacing:.7px!important;\n}\n\n.or-vive-ticker{\n  position:relative!important;\n\n  overflow:hidden!important;\n\n  margin-top:24px!important;\n\n  min-height:47px!important;\n\n  display:flex!important;\n  align-items:center!important;\n\n  border-radius:14px!important;\n\n  background:\n    rgba(2,6,15,.68)!important;\n\n  border:\n    1px solid rgba(255,255,255,.075)!important;\n}\n\n.or-vive-ticker::before,\n.or-vive-ticker::after{\n  content:\"\"!important;\n\n  position:absolute!important;\n  z-index:3!important;\n\n  top:0!important;\n  bottom:0!important;\n\n  width:70px!important;\n\n  pointer-events:none!important;\n}\n\n.or-vive-ticker::before{\n  left:0!important;\n\n  background:\n    linear-gradient(\n      90deg,\n      rgba(3,6,16,1),\n      transparent\n    )!important;\n}\n\n.or-vive-ticker::after{\n  right:0!important;\n\n  background:\n    linear-gradient(\n      -90deg,\n      rgba(3,6,16,1),\n      transparent\n    )!important;\n}\n\n.or-vive-ticker-track{\n  width:max-content!important;\n\n  display:flex!important;\n  align-items:center!important;\n\n  gap:17px!important;\n\n  white-space:nowrap!important;\n\n  animation:\n    orViveTicker\n    24s linear infinite!important;\n}\n\n.or-vive-ticker-track span{\n  color:#dbe7f5!important;\n\n  font-size:9px!important;\n  font-weight:900!important;\n\n  letter-spacing:1.8px!important;\n}\n\n.or-vive-ticker-track i{\n  color:#ff5adb!important;\n  font-style:normal!important;\n}\n\n@keyframes orViveTicker{\n  from{\n    transform:\n      translateX(0)!important;\n  }\n\n  to{\n    transform:\n      translateX(-50%)!important;\n  }\n}\n\n@keyframes orViveDotPulse{\n  0%,\n  100%{\n    transform:\n      scale(.82)!important;\n\n    opacity:.70!important;\n  }\n\n  50%{\n    transform:\n      scale(1.25)!important;\n\n    opacity:1!important;\n  }\n}\n\n\n\/* =========================================================\n   RESPONSIVE NUEVA PROPUESTA\n========================================================= *\/\n\n@media(max-width:900px){\n\n  .or-vive-grid{\n    grid-template-columns:\n      1fr!important;\n  }\n\n  .or-vive-card{\n    min-height:245px!important;\n  }\n\n}\n\n\n@media(max-width:820px){\n\n  .or-wrap::before{\n    background-position:\n      center 250px!important;\n\n    background-size:\n      145vw auto!important;\n\n    opacity:.09!important;\n  }\n\n  .or-vive-section{\n    padding:\n      50px 12px 48px!important;\n  }\n\n}\n\n\n@media(max-width:480px){\n\n  .or-wrap::before{\n    background-size:\n      160vw auto!important;\n\n    opacity:.085!important;\n  }\n\n  .or-vive-card{\n    min-height:225px!important;\n\n    padding:\n      22px 18px!important;\n\n    border-radius:20px!important;\n  }\n\n  .or-vive-intro{\n    font-size:13px!important;\n  }\n\n}\n\n\n@media(prefers-reduced-motion:reduce){\n\n  .or-vive-ticker-track,\n  .or-vive-dot{\n    animation:none!important;\n  }\n\n}\n\n\n\n\/* =========================================================\n   EVENTO DESTACADO \u00b7 OR MUSIC LIVE\n   INSERTADO ENTRE HERO Y SELECTOR DE EXPERIENCIAS\n========================================================= *\/\n\n.or-featured-events-section{\n  position:relative!important;\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  padding:46px 24px 34px!important;\n  background:\n    radial-gradient(circle at 13% 18%,rgba(0,181,255,.12),transparent 28%),\n    radial-gradient(circle at 87% 22%,rgba(255,0,211,.11),transparent 29%),\n    linear-gradient(180deg,rgba(2,3,10,.98),rgba(5,6,19,.98))!important;\n  border-bottom:1px solid rgba(255,255,255,.055)!important;\n}\n\n.or-featured-events-inner{\n  max-width:1450px!important;\n  margin:0 auto!important;\n}\n\n.or-featured-event{\n  position:relative!important;\n  overflow:hidden!important;\n  display:grid!important;\n  grid-template-columns:minmax(0,1.42fr) minmax(330px,.68fr)!important;\n  border-radius:28px!important;\n  border:1px solid rgba(113,220,255,.23)!important;\n  background:\n    radial-gradient(circle at 9% 14%,rgba(0,190,255,.10),transparent 28%),\n    radial-gradient(circle at 91% 16%,rgba(255,0,211,.10),transparent 29%),\n    linear-gradient(145deg,rgba(6,10,25,.98),rgba(9,6,23,.98))!important;\n  box-shadow:0 26px 70px rgba(0,0,0,.42),0 0 40px rgba(89,83,255,.07)!important;\n}\n\n.or-featured-media{\n  position:relative!important;\n  min-height:500px!important;\n  overflow:hidden!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  padding:34px!important;\n  background:\n    radial-gradient(circle at 52% 42%,rgba(109,72,255,.21),transparent 24%),\n    radial-gradient(circle at 24% 72%,rgba(255,36,196,.16),transparent 26%),\n    linear-gradient(145deg,#09071c,#030711)!important;\n  border-right:1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-featured-media.is-clickable{\n  cursor:pointer!important;\n}\n\n.or-featured-media-frame{\n  position:relative!important;\n  width:min(810px,94%)!important;\n  aspect-ratio:16\/9!important;\n  overflow:hidden!important;\n  border-radius:22px!important;\n  border:1px solid rgba(255,255,255,.13)!important;\n  background:linear-gradient(145deg,rgba(8,12,30,.98),rgba(4,7,17,.98))!important;\n  box-shadow:0 22px 60px rgba(0,0,0,.38)!important;\n}\n\n.or-featured-media-frame>img,\n.or-featured-media-frame>video{\n  display:block!important;\n  width:100%!important;\n  height:100%!important;\n  object-fit:contain!important;\n  background:#02040a!important;\n}\n\n.or-featured-placeholder{\n  position:absolute!important;\n  inset:0!important;\n  display:flex!important;\n  flex-direction:column!important;\n  align-items:center!important;\n  justify-content:center!important;\n  gap:17px!important;\n  padding:26px!important;\n  text-align:center!important;\n}\n\n.or-featured-placeholder img{\n  display:block!important;\n  width:min(380px,64%)!important;\n  height:auto!important;\n  object-fit:contain!important;\n  filter:drop-shadow(0 0 20px rgba(94,148,255,.16))!important;\n}\n\n.or-featured-placeholder strong{\n  color:#fff!important;\n  font-size:clamp(18px,2vw,29px)!important;\n  font-weight:900!important;\n  line-height:1.08!important;\n  letter-spacing:1.5px!important;\n  text-transform:uppercase!important;\n}\n\n.or-featured-placeholder span{\n  max-width:620px!important;\n  color:#94a3b8!important;\n  font-size:12px!important;\n  font-weight:800!important;\n  line-height:1.55!important;\n  letter-spacing:.5px!important;\n}\n\n.or-featured-badge{\n  position:absolute!important;\n  z-index:5!important;\n  top:20px!important;\n  left:20px!important;\n  display:inline-flex!important;\n  align-items:center!important;\n  gap:8px!important;\n  padding:8px 12px!important;\n  border-radius:999px!important;\n  color:#fff!important;\n  background:rgba(4,8,20,.80)!important;\n  border:1px solid rgba(255,255,255,.12)!important;\n  backdrop-filter:blur(8px)!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1.3px!important;\n  text-transform:uppercase!important;\n}\n\n.or-featured-badge-dot{\n  width:8px!important;\n  height:8px!important;\n  border-radius:50%!important;\n  background:#ff4fd8!important;\n  box-shadow:0 0 12px rgba(255,79,216,.9)!important;\n}\n\n.or-featured-info{\n  min-width:0!important;\n  padding:35px 32px 31px!important;\n  display:flex!important;\n  flex-direction:column!important;\n  justify-content:center!important;\n}\n\n.or-featured-brand{\n  display:flex!important;\n  align-items:center!important;\n  gap:11px!important;\n  margin-bottom:22px!important;\n  padding-bottom:16px!important;\n  border-bottom:1px solid rgba(255,255,255,.08)!important;\n}\n\n.or-featured-brand img{\n  width:72px!important;\n  height:50px!important;\n  object-fit:contain!important;\n}\n\n.or-featured-brand-copy small{\n  display:block!important;\n  color:#72dcff!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:2px!important;\n  text-transform:uppercase!important;\n}\n\n.or-featured-brand-copy strong{\n  display:block!important;\n  margin-top:4px!important;\n  color:#fff!important;\n  font-size:14px!important;\n  font-weight:900!important;\n  letter-spacing:1.2px!important;\n  text-transform:uppercase!important;\n}\n\n.or-featured-data{\n  display:none!important;\n}\n\n.or-featured-data.has-event{\n  display:block!important;\n}\n\n.or-featured-kicker{\n  color:#ff56d7!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:2px!important;\n  text-transform:uppercase!important;\n}\n\n.or-featured-title{\n  margin:8px 0 17px!important;\n  color:#fff!important;\n  font-size:clamp(33px,3.4vw,54px)!important;\n  font-weight:900!important;\n  line-height:.98!important;\n}\n\n.or-featured-title:empty,\n.or-featured-description:empty,\n.or-featured-note:empty{\n  display:none!important;\n}\n\n.or-featured-meta{\n  display:grid!important;\n  gap:9px!important;\n  margin:0 0 19px!important;\n}\n\n.or-featured-meta-row{\n  display:grid!important;\n  grid-template-columns:82px 1fr!important;\n  gap:11px!important;\n  align-items:start!important;\n}\n\n.or-featured-meta-row[hidden]{\n  display:none!important;\n}\n\n.or-featured-meta-row span{\n  padding-top:2px!important;\n  color:#718097!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1.1px!important;\n  text-transform:uppercase!important;\n}\n\n.or-featured-meta-row strong{\n  color:#fff!important;\n  font-size:14px!important;\n  line-height:1.4!important;\n}\n\n.or-featured-description{\n  margin:0!important;\n  color:#c7d2df!important;\n  font-size:14px!important;\n  line-height:1.7!important;\n}\n\n.or-featured-note{\n  margin-top:18px!important;\n  padding:13px 14px!important;\n  border-radius:14px!important;\n  color:#aebccd!important;\n  background:rgba(255,255,255,.035)!important;\n  border:1px solid rgba(255,255,255,.075)!important;\n  font-size:12px!important;\n  line-height:1.55!important;\n}\n\n.or-featured-action{\n  display:none!important;\n  min-height:45px!important;\n  margin-top:17px!important;\n  align-items:center!important;\n  justify-content:center!important;\n  padding:10px 17px!important;\n  border-radius:999px!important;\n  color:#fff!important;\n  text-decoration:none!important;\n  background:linear-gradient(135deg,#733cff,#d21a9b)!important;\n  border:1px solid rgba(255,255,255,.18)!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:.8px!important;\n  text-transform:uppercase!important;\n}\n\n.or-featured-action.is-visible{\n  display:inline-flex!important;\n}\n\n\/* HASTA 3 PR\u00d3XIMOS EVENTOS *\/\n.or-upcoming-events{\n  margin-top:20px!important;\n  padding:22px!important;\n  border-radius:22px!important;\n  background:rgba(7,10,24,.82)!important;\n  border:1px solid rgba(255,255,255,.085)!important;\n}\n\n.or-upcoming-events[hidden]{\n  display:none!important;\n}\n\n.or-upcoming-events-head{\n  display:flex!important;\n  align-items:center!important;\n  justify-content:space-between!important;\n  gap:14px!important;\n  margin-bottom:14px!important;\n}\n\n.or-upcoming-events-head h3{\n  margin:0!important;\n  color:#fff!important;\n  font-size:15px!important;\n  font-weight:900!important;\n  letter-spacing:1.5px!important;\n  text-transform:uppercase!important;\n}\n\n.or-upcoming-events-head span{\n  color:#75849a!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1px!important;\n  text-transform:uppercase!important;\n}\n\n.or-upcoming-events-grid{\n  display:grid!important;\n  grid-template-columns:repeat(3,minmax(0,1fr))!important;\n  gap:13px!important;\n}\n\n.or-upcoming-event-card{\n  appearance:none!important;\n  width:100%!important;\n  min-width:0!important;\n  padding:0!important;\n  overflow:hidden!important;\n  cursor:pointer!important;\n  text-align:left!important;\n  color:#fff!important;\n  border-radius:17px!important;\n  border:1px solid rgba(255,255,255,.095)!important;\n  background:linear-gradient(145deg,rgba(10,14,31,.97),rgba(5,7,17,.99))!important;\n  transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease!important;\n}\n\n.or-upcoming-event-card:hover{\n  transform:translateY(-3px)!important;\n  border-color:rgba(105,221,255,.30)!important;\n  box-shadow:0 15px 32px rgba(0,0,0,.27)!important;\n}\n\n.or-upcoming-event-thumb{\n  position:relative!important;\n  width:100%!important;\n  aspect-ratio:16\/8.5!important;\n  overflow:hidden!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  background:\n    radial-gradient(circle at 35% 35%,rgba(255,50,207,.16),transparent 30%),\n    linear-gradient(145deg,#0c0a22,#040713)!important;\n}\n\n.or-upcoming-event-thumb img{\n  width:100%!important;\n  height:100%!important;\n  object-fit:cover!important;\n}\n\n.or-upcoming-event-thumb img.or-upcoming-logo{\n  width:45%!important;\n  height:auto!important;\n  object-fit:contain!important;\n}\n\n.or-upcoming-event-body{\n  padding:13px 14px 14px!important;\n}\n\n.or-upcoming-event-date{\n  color:#ff56d7!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1.1px!important;\n  text-transform:uppercase!important;\n}\n\n.or-upcoming-event-title{\n  margin-top:6px!important;\n  color:#fff!important;\n  font-size:16px!important;\n  font-weight:900!important;\n  line-height:1.12!important;\n}\n\n.or-upcoming-event-time{\n  margin-top:7px!important;\n  color:#8d9bad!important;\n  font-size:10px!important;\n  font-weight:800!important;\n}\n\n\/* VISOR GRANDE *\/\n.or-event-modal{\n  position:fixed!important;\n  inset:0!important;\n  z-index:999999!important;\n  display:none!important;\n  align-items:center!important;\n  justify-content:center!important;\n  padding:26px!important;\n  background:rgba(0,0,0,.89)!important;\n  backdrop-filter:blur(10px)!important;\n}\n\n.or-event-modal.is-open{\n  display:flex!important;\n}\n\n.or-event-modal-card{\n  position:relative!important;\n  width:min(1180px,96vw)!important;\n  max-height:92vh!important;\n  overflow:auto!important;\n  border-radius:25px!important;\n  border:1px solid rgba(117,221,255,.24)!important;\n  background:linear-gradient(145deg,#070b18,#090617)!important;\n  box-shadow:0 35px 100px rgba(0,0,0,.65)!important;\n}\n\n.or-event-modal-close{\n  position:absolute!important;\n  z-index:5!important;\n  top:13px!important;\n  right:13px!important;\n  width:42px!important;\n  height:42px!important;\n  border-radius:50%!important;\n  cursor:pointer!important;\n  color:#fff!important;\n  background:rgba(0,0,0,.70)!important;\n  border:1px solid rgba(255,255,255,.18)!important;\n  font-size:22px!important;\n  line-height:1!important;\n}\n\n.or-event-modal-layout{\n  display:grid!important;\n  grid-template-columns:minmax(0,1.35fr) minmax(310px,.65fr)!important;\n}\n\n.or-event-modal-media{\n  min-height:555px!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  padding:29px!important;\n  background:#03050d!important;\n  border-right:1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-event-modal-media img,\n.or-event-modal-media video{\n  display:block!important;\n  width:100%!important;\n  max-height:78vh!important;\n  object-fit:contain!important;\n  border-radius:17px!important;\n}\n\n.or-event-modal-fallback{\n  width:72%!important;\n  text-align:center!important;\n  color:#97a6b9!important;\n  font-size:13px!important;\n}\n\n.or-event-modal-fallback img{\n  width:min(360px,80%)!important;\n  margin:0 auto 18px!important;\n}\n\n.or-event-modal-info{\n  padding:41px 31px 33px!important;\n  display:flex!important;\n  flex-direction:column!important;\n  justify-content:center!important;\n}\n\n.or-event-modal-info h2{\n  margin:7px 0 19px!important;\n  color:#fff!important;\n  font-size:clamp(31px,3vw,47px)!important;\n  font-weight:900!important;\n  line-height:1!important;\n}\n\n.or-event-modal-description{\n  color:#c5d0dd!important;\n  font-size:14px!important;\n  line-height:1.7!important;\n}\n\n.or-event-modal-note{\n  margin-top:17px!important;\n  color:#9eacbc!important;\n  font-size:12px!important;\n  line-height:1.55!important;\n}\n\n.or-event-modal-action{\n  display:none!important;\n  min-height:45px!important;\n  margin-top:17px!important;\n  align-items:center!important;\n  justify-content:center!important;\n  border-radius:999px!important;\n  color:#fff!important;\n  text-decoration:none!important;\n  background:linear-gradient(135deg,#733cff,#d21a9b)!important;\n  border:1px solid rgba(255,255,255,.18)!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:.8px!important;\n  text-transform:uppercase!important;\n}\n\n.or-event-modal-action.is-visible{\n  display:flex!important;\n}\n\n@media(max-width:980px){\n  .or-featured-event{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-featured-media{\n    min-height:auto!important;\n    aspect-ratio:16\/9!important;\n    border-right:0!important;\n    border-bottom:1px solid rgba(255,255,255,.09)!important;\n  }\n\n  .or-featured-info{\n    padding:29px 25px!important;\n  }\n\n  .or-upcoming-events-grid{\n    grid-template-columns:1fr 1fr!important;\n  }\n\n  .or-event-modal-layout{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-event-modal-media{\n    min-height:auto!important;\n    border-right:0!important;\n    border-bottom:1px solid rgba(255,255,255,.09)!important;\n  }\n}\n\n@media(max-width:620px){\n  .or-featured-events-section{\n    padding:28px 12px 25px!important;\n  }\n\n  .or-featured-event{\n    border-radius:21px!important;\n  }\n\n  .or-featured-media{\n    aspect-ratio:4\/3!important;\n    padding:17px!important;\n  }\n\n  .or-featured-media-frame{\n    width:95%!important;\n    aspect-ratio:4\/3!important;\n    border-radius:17px!important;\n  }\n\n  .or-featured-badge{\n    top:13px!important;\n    left:13px!important;\n  }\n\n  .or-featured-info{\n    padding:23px 18px 21px!important;\n  }\n\n  .or-featured-brand{\n    margin-bottom:18px!important;\n  }\n\n  .or-featured-brand img{\n    width:61px!important;\n    height:44px!important;\n  }\n\n  .or-featured-title{\n    font-size:35px!important;\n  }\n\n  .or-featured-meta-row{\n    grid-template-columns:68px 1fr!important;\n  }\n\n  .or-featured-description{\n    font-size:13px!important;\n  }\n\n  .or-upcoming-events{\n    padding:16px 12px!important;\n  }\n\n  .or-upcoming-events-head{\n    align-items:flex-start!important;\n    flex-direction:column!important;\n    gap:5px!important;\n  }\n\n  .or-upcoming-events-grid{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-upcoming-event-card{\n    display:grid!important;\n    grid-template-columns:124px 1fr!important;\n  }\n\n  .or-upcoming-event-thumb{\n    aspect-ratio:auto!important;\n    min-height:118px!important;\n  }\n\n  .or-event-modal{\n    padding:9px!important;\n  }\n\n  .or-event-modal-card{\n    width:100%!important;\n    max-height:96vh!important;\n    border-radius:19px!important;\n  }\n\n  .or-event-modal-media{\n    min-height:290px!important;\n    padding:16px!important;\n  }\n\n  .or-event-modal-info{\n    padding:26px 18px 23px!important;\n  }\n}\n\n\n\n\/* =========================================================\n   PORTAL OR MUSIC LIVE \u00b7 EXPANSI\u00d3N EDITORIAL\n   Prototipo integrado: contenido propio + actualidad +\n   OR MUSIC XPERIENCE + industria\/escena\n========================================================= *\/\n\n.or-portal-section{\n  position:relative!important;\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  padding:64px 24px!important;\n  overflow:hidden!important;\n  background:\n    radial-gradient(circle at 12% 18%,rgba(0,183,255,.10),transparent 30%),\n    radial-gradient(circle at 88% 28%,rgba(255,0,211,.08),transparent 30%),\n    linear-gradient(180deg,rgba(3,7,18,.78),rgba(6,7,22,.82))!important;\n  border-top:1px solid rgba(255,255,255,.055)!important;\n}\n\n.or-portal-inner{\n  position:relative!important;\n  z-index:2!important;\n  max-width:1320px!important;\n  margin:0 auto!important;\n}\n\n.or-portal-head{\n  max-width:900px!important;\n  margin:0 auto 29px!important;\n  text-align:center!important;\n}\n\n.or-portal-kicker{\n  color:#74dfff!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:2.8px!important;\n  text-transform:uppercase!important;\n}\n\n.or-portal-head h2{\n  margin:8px 0 11px!important;\n  color:#fff!important;\n  font-size:clamp(34px,4vw,58px)!important;\n  line-height:1!important;\n  font-weight:900!important;\n}\n\n.or-portal-head p{\n  max-width:800px!important;\n  margin:0 auto!important;\n  color:#b8c5d5!important;\n  font-size:14px!important;\n  line-height:1.7!important;\n}\n\n.or-portal-note{\n  margin-top:22px!important;\n  padding:13px 15px!important;\n  color:#8290a3!important;\n  background:rgba(3,7,18,.56)!important;\n  border:1px solid rgba(255,255,255,.07)!important;\n  border-radius:14px!important;\n  font-size:10px!important;\n  line-height:1.55!important;\n  text-align:center!important;\n}\n\n\n\/* =========================================================\n   CONTENIDO PROPIO\n========================================================= *\/\n\n.or-own-grid{\n  display:grid!important;\n  grid-template-columns:1.15fr .85fr!important;\n  gap:18px!important;\n}\n\n.or-own-main,\n.or-own-side{\n  position:relative!important;\n  overflow:hidden!important;\n  border-radius:27px!important;\n  background:\n    radial-gradient(circle at 85% 5%,rgba(255,255,255,.055),transparent 28%),\n    linear-gradient(145deg,rgba(8,14,31,.97),rgba(5,7,18,.98))!important;\n  border:1px solid rgba(255,255,255,.10)!important;\n  box-shadow:0 22px 54px rgba(0,0,0,.30)!important;\n}\n\n.or-own-main{\n  min-height:430px!important;\n  padding:31px!important;\n  display:flex!important;\n  flex-direction:column!important;\n  justify-content:flex-end!important;\n}\n\n.or-own-main::before{\n  content:\"\"!important;\n  position:absolute!important;\n  inset:0!important;\n  background:\n    radial-gradient(circle at 30% 25%,rgba(116,223,255,.14),transparent 30%),\n    radial-gradient(circle at 75% 70%,rgba(255,55,213,.12),transparent 31%)!important;\n  pointer-events:none!important;\n}\n\n.or-own-main>*,\n.or-own-side>*{\n  position:relative!important;\n  z-index:2!important;\n}\n\n.or-own-label{\n  display:inline-flex!important;\n  width:max-content!important;\n  padding:8px 11px!important;\n  margin-bottom:15px!important;\n  border-radius:999px!important;\n  color:#c9f6ff!important;\n  background:rgba(0,183,255,.07)!important;\n  border:1px solid rgba(116,223,255,.20)!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1.3px!important;\n  text-transform:uppercase!important;\n}\n\n.or-own-main h3{\n  max-width:720px!important;\n  margin:0 0 13px!important;\n  color:#fff!important;\n  font-size:clamp(30px,3.5vw,52px)!important;\n  line-height:1!important;\n  font-weight:900!important;\n}\n\n.or-own-main p,\n.or-own-side p{\n  margin:0!important;\n  color:#aebaca!important;\n  font-size:13px!important;\n  line-height:1.7!important;\n}\n\n.or-own-actions{\n  display:flex!important;\n  flex-wrap:wrap!important;\n  gap:9px!important;\n  margin-top:22px!important;\n}\n\n.or-own-actions a{\n  min-height:43px!important;\n  display:inline-flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  padding:10px 16px!important;\n  border-radius:999px!important;\n  color:#fff!important;\n  text-decoration:none!important;\n  background:linear-gradient(135deg,rgba(63,91,210,.42),rgba(202,42,171,.34))!important;\n  border:1px solid rgba(126,170,255,.25)!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:.8px!important;\n  text-transform:uppercase!important;\n}\n\n.or-own-stack{\n  display:grid!important;\n  gap:18px!important;\n}\n\n.or-own-side{\n  min-height:206px!important;\n  padding:25px!important;\n}\n\n.or-own-side h3{\n  margin:0 0 10px!important;\n  color:#fff!important;\n  font-size:25px!important;\n  line-height:1.05!important;\n  font-weight:900!important;\n}\n\n\n\/* =========================================================\n   ACTUALIDAD\n========================================================= *\/\n\n.or-news-filters{\n  display:flex!important;\n  flex-wrap:wrap!important;\n  justify-content:center!important;\n  gap:8px!important;\n  margin-bottom:22px!important;\n}\n\n.or-news-filter{\n  appearance:none!important;\n  cursor:pointer!important;\n  padding:9px 13px!important;\n  border-radius:999px!important;\n  color:#aebaca!important;\n  background:rgba(255,255,255,.035)!important;\n  border:1px solid rgba(255,255,255,.10)!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:.9px!important;\n  text-transform:uppercase!important;\n}\n\n.or-news-filter.is-active{\n  color:#fff!important;\n  border-color:rgba(116,223,255,.30)!important;\n  background:linear-gradient(135deg,rgba(48,97,205,.28),rgba(179,35,161,.22))!important;\n}\n\n.or-news-portal-grid{\n  display:grid!important;\n  grid-template-columns:1.2fr .8fr .8fr!important;\n  gap:15px!important;\n}\n\n.or-news-item{\n  position:relative!important;\n  min-height:286px!important;\n  padding:23px!important;\n  display:flex!important;\n  flex-direction:column!important;\n  border-radius:22px!important;\n  color:#fff!important;\n  text-decoration:none!important;\n  background:\n    radial-gradient(circle at 88% 5%,rgba(255,255,255,.055),transparent 28%),\n    linear-gradient(145deg,rgba(10,15,33,.97),rgba(5,7,18,.98))!important;\n  border:1px solid rgba(255,255,255,.095)!important;\n  box-shadow:0 18px 42px rgba(0,0,0,.25)!important;\n}\n\n.or-news-item.or-news-feature{\n  grid-row:span 2!important;\n  min-height:587px!important;\n  padding:29px!important;\n  background:\n    radial-gradient(circle at 18% 14%,rgba(0,190,255,.14),transparent 30%),\n    radial-gradient(circle at 90% 75%,rgba(255,41,205,.12),transparent 32%),\n    linear-gradient(145deg,rgba(8,15,35,.98),rgba(8,6,23,.99))!important;\n}\n\n.or-news-item[hidden]{\n  display:none!important;\n}\n\n.or-news-topline{\n  display:flex!important;\n  justify-content:space-between!important;\n  align-items:center!important;\n  gap:12px!important;\n  margin-bottom:23px!important;\n}\n\n.or-news-cat{\n  color:#74dfff!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1.2px!important;\n  text-transform:uppercase!important;\n}\n\n.or-news-time{\n  color:#64748b!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  text-transform:uppercase!important;\n}\n\n.or-news-item h3{\n  margin:0 0 12px!important;\n  color:#fff!important;\n  font-size:21px!important;\n  line-height:1.08!important;\n  font-weight:900!important;\n}\n\n.or-news-feature h3{\n  font-size:clamp(31px,3vw,48px)!important;\n}\n\n.or-news-item p{\n  margin:0 0 19px!important;\n  color:#aebaca!important;\n  font-size:12px!important;\n  line-height:1.65!important;\n}\n\n.or-news-feature p{\n  font-size:14px!important;\n  line-height:1.75!important;\n}\n\n.or-news-source{\n  margin-top:auto!important;\n  padding-top:18px!important;\n  display:flex!important;\n  justify-content:space-between!important;\n  gap:10px!important;\n  border-top:1px solid rgba(255,255,255,.07)!important;\n  color:#8fa0b5!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:.8px!important;\n  text-transform:uppercase!important;\n}\n\n.or-news-source strong{\n  color:#fff!important;\n}\n\n\n\/* =========================================================\n   XPERIENCE\n========================================================= *\/\n\n.or-xp-section{\n  background:\n    radial-gradient(circle at 12% 18%,rgba(129,92,255,.12),transparent 29%),\n    radial-gradient(circle at 87% 22%,rgba(0,190,255,.10),transparent 30%),\n    linear-gradient(180deg,rgba(6,5,22,.84),rgba(3,7,18,.84))!important;\n}\n\n.or-xp-brand{\n  display:inline-block!important;\n  margin-bottom:6px!important;\n  color:#ff63dc!important;\n  font-size:11px!important;\n  font-weight:900!important;\n  letter-spacing:3px!important;\n  text-transform:uppercase!important;\n}\n\n.or-xp-grid{\n  display:grid!important;\n  grid-template-columns:repeat(4,minmax(0,1fr))!important;\n  gap:14px!important;\n}\n\n.or-xp-card{\n  position:relative!important;\n  min-height:225px!important;\n  padding:23px!important;\n  overflow:hidden!important;\n  border-radius:22px!important;\n  background:\n    radial-gradient(circle at 92% 5%,rgba(255,255,255,.045),transparent 30%),\n    linear-gradient(145deg,rgba(10,14,32,.95),rgba(6,7,19,.98))!important;\n  border:1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-xp-num{\n  color:#5f6e83!important;\n  font-size:10px!important;\n  font-weight:900!important;\n  letter-spacing:1.5px!important;\n}\n\n.or-xp-card h3{\n  margin:23px 0 9px!important;\n  color:#fff!important;\n  font-size:21px!important;\n  line-height:1.05!important;\n  font-weight:900!important;\n}\n\n.or-xp-card p{\n  margin:0!important;\n  color:#9eacbd!important;\n  font-size:12px!important;\n  line-height:1.6!important;\n}\n\n.or-xp-levels{\n  display:flex!important;\n  flex-wrap:wrap!important;\n  justify-content:center!important;\n  gap:7px!important;\n  margin-top:23px!important;\n}\n\n.or-xp-levels span{\n  padding:7px 10px!important;\n  border-radius:999px!important;\n  color:#96a6ba!important;\n  background:rgba(255,255,255,.035)!important;\n  border:1px solid rgba(255,255,255,.07)!important;\n  font-size:7px!important;\n  font-weight:900!important;\n  letter-spacing:.9px!important;\n  text-transform:uppercase!important;\n}\n\n\n\/* =========================================================\n   INDUSTRIA + ESCENA\n========================================================= *\/\n\n.or-industry-layout{\n  display:grid!important;\n  grid-template-columns:1fr 1fr!important;\n  gap:18px!important;\n}\n\n.or-industry-box{\n  padding:27px!important;\n  border-radius:24px!important;\n  background:rgba(7,11,27,.88)!important;\n  border:1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-industry-box h3{\n  margin:0 0 8px!important;\n  color:#fff!important;\n  font-size:26px!important;\n  font-weight:900!important;\n}\n\n.or-industry-box p{\n  margin:0 0 20px!important;\n  color:#9eacbd!important;\n  font-size:12px!important;\n  line-height:1.65!important;\n}\n\n.or-brand-cloud{\n  display:flex!important;\n  flex-wrap:wrap!important;\n  gap:8px!important;\n}\n\n.or-brand-cloud span{\n  padding:8px 10px!important;\n  border-radius:999px!important;\n  color:#c1cede!important;\n  background:rgba(255,255,255,.035)!important;\n  border:1px solid rgba(255,255,255,.075)!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:.5px!important;\n}\n\n.or-scene-list{\n  display:grid!important;\n  gap:10px!important;\n}\n\n.or-scene-row{\n  padding:14px!important;\n  border-radius:15px!important;\n  background:rgba(255,255,255,.03)!important;\n  border:1px solid rgba(255,255,255,.07)!important;\n}\n\n.or-scene-row strong{\n  display:block!important;\n  color:#fff!important;\n  font-size:13px!important;\n  margin-bottom:4px!important;\n}\n\n.or-scene-row span{\n  color:#8796a9!important;\n  font-size:10px!important;\n  line-height:1.5!important;\n}\n\n\n\/* =========================================================\n   RESPONSIVE PORTAL\n========================================================= *\/\n\n@media(max-width:1050px){\n  .or-own-grid,\n  .or-industry-layout{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-news-portal-grid{\n    grid-template-columns:1fr 1fr!important;\n  }\n\n  .or-news-item.or-news-feature{\n    grid-column:1\/-1!important;\n    grid-row:auto!important;\n    min-height:420px!important;\n  }\n\n  .or-xp-grid{\n    grid-template-columns:repeat(2,minmax(0,1fr))!important;\n  }\n}\n\n@media(max-width:720px){\n  .or-portal-section{\n    padding:48px 12px!important;\n  }\n\n  .or-own-main{\n    min-height:360px!important;\n    padding:24px 19px!important;\n  }\n\n  .or-own-side{\n    min-height:190px!important;\n    padding:21px 18px!important;\n  }\n\n  .or-news-portal-grid,\n  .or-xp-grid{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-news-item.or-news-feature{\n    min-height:365px!important;\n  }\n\n  .or-news-item{\n    min-height:245px!important;\n  }\n\n  .or-industry-box{\n    padding:22px 17px!important;\n  }\n}\n\n\n\/* =========================================================\n   EXPLORA LA INDUSTRIA \u00b7 VERSI\u00d3N SIMPLIFICADA\n========================================================= *\/\n\n.or-industry-new-section{\n  background:\n    radial-gradient(circle at 12% 18%,rgba(0,183,255,.08),transparent 30%),\n    radial-gradient(circle at 88% 20%,rgba(255,0,211,.07),transparent 30%),\n    linear-gradient(180deg,rgba(3,7,18,.80),rgba(5,7,20,.84))!important;\n}\n\n.or-industry-category-grid{\n  display:grid!important;\n  grid-template-columns:repeat(3,minmax(0,1fr))!important;\n  gap:14px!important;\n}\n\n.or-industry-category{\n  min-height:230px!important;\n  padding:24px!important;\n  border-radius:22px!important;\n  background:\n    radial-gradient(circle at 90% 5%,rgba(255,255,255,.045),transparent 28%),\n    linear-gradient(145deg,rgba(9,14,31,.94),rgba(5,7,18,.97))!important;\n  border:1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-industry-category > span{\n  color:#5f7085!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:1.4px!important;\n}\n\n.or-industry-category h3{\n  margin:22px 0 10px!important;\n  color:#fff!important;\n  font-size:22px!important;\n  line-height:1.08!important;\n  font-weight:900!important;\n}\n\n.or-industry-category p{\n  margin:0!important;\n  color:#9eacbd!important;\n  font-size:12px!important;\n  line-height:1.68!important;\n}\n\n\n\/* =========================================================\n   VIVE OR MUSIC LIVE \u00b7 CONTACTO COMERCIAL\n========================================================= *\/\n\n.or-vive-contact-section{\n  position:relative!important;\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  padding:72px 24px!important;\n  overflow:hidden!important;\n  background:\n    radial-gradient(circle at 18% 20%,rgba(0,188,255,.15),transparent 31%),\n    radial-gradient(circle at 82% 28%,rgba(255,0,211,.13),transparent 31%),\n    radial-gradient(circle at 50% 100%,rgba(120,70,255,.11),transparent 36%),\n    linear-gradient(145deg,#020713 0%,#08071b 55%,#120317 100%)!important;\n  border-top:1px solid rgba(255,255,255,.07)!important;\n  border-bottom:1px solid rgba(255,255,255,.07)!important;\n}\n\n.or-vive-contact-section::before{\n  content:\"\"!important;\n  position:absolute!important;\n  inset:0!important;\n  pointer-events:none!important;\n  background-image:\n    linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),\n    linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px)!important;\n  background-size:40px 40px!important;\n  opacity:.35!important;\n}\n\n.or-vive-contact-inner{\n  position:relative!important;\n  z-index:2!important;\n  max-width:1040px!important;\n  margin:0 auto!important;\n  text-align:center!important;\n}\n\n.or-vive-contact-logo{\n  display:block!important;\n  width:min(270px,58vw)!important;\n  height:auto!important;\n  margin:0 auto 20px!important;\n  filter:drop-shadow(0 0 28px rgba(76,163,255,.16))!important;\n}\n\n.or-vive-contact-kicker{\n  color:#74dfff!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:3px!important;\n  text-transform:uppercase!important;\n}\n\n.or-vive-contact-inner h2{\n  margin:9px 0 13px!important;\n  color:#fff!important;\n  font-size:clamp(38px,5vw,66px)!important;\n  line-height:.95!important;\n  font-weight:900!important;\n  letter-spacing:.5px!important;\n}\n\n.or-vive-contact-intro{\n  max-width:760px!important;\n  margin:0 auto!important;\n  color:#c3cfdd!important;\n  font-size:15px!important;\n  line-height:1.7!important;\n}\n\n.or-vive-contact-topics{\n  display:flex!important;\n  flex-wrap:wrap!important;\n  justify-content:center!important;\n  gap:8px!important;\n  margin:25px 0!important;\n}\n\n.or-vive-contact-topics span{\n  padding:8px 11px!important;\n  border-radius:999px!important;\n  color:#a8b7c8!important;\n  background:rgba(255,255,255,.04)!important;\n  border:1px solid rgba(255,255,255,.08)!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:.8px!important;\n}\n\n.or-vive-contact-card{\n  max-width:830px!important;\n  margin:0 auto!important;\n  padding:23px 25px!important;\n  display:grid!important;\n  grid-template-columns:1fr 1px 1fr!important;\n  align-items:center!important;\n  gap:24px!important;\n  border-radius:22px!important;\n  background:rgba(5,9,23,.72)!important;\n  border:1px solid rgba(255,255,255,.10)!important;\n  box-shadow:0 24px 60px rgba(0,0,0,.28)!important;\n}\n\n.or-vive-contact-divider{\n  width:1px!important;\n  height:80px!important;\n  background:rgba(255,255,255,.09)!important;\n}\n\n.or-vive-contact-block small{\n  display:block!important;\n  margin-bottom:8px!important;\n  color:#728299!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1.4px!important;\n  text-transform:uppercase!important;\n}\n\n.or-vive-contact-block a,\n.or-vive-contact-block strong{\n  display:block!important;\n  color:#fff!important;\n  font-size:18px!important;\n  font-weight:900!important;\n  text-decoration:none!important;\n}\n\n.or-vive-contact-block a:hover{\n  color:#74dfff!important;\n}\n\n.or-vive-contact-block p{\n  max-width:340px!important;\n  margin:7px auto 0!important;\n  color:#8e9caf!important;\n  font-size:10px!important;\n  line-height:1.55!important;\n}\n\n@media(max-width:1000px){\n  .or-industry-category-grid{\n    grid-template-columns:1fr 1fr!important;\n  }\n}\n\n@media(max-width:720px){\n  .or-industry-category-grid{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-industry-category{\n    min-height:auto!important;\n    padding:21px 18px!important;\n  }\n\n  .or-vive-contact-section{\n    padding:55px 12px!important;\n  }\n\n  .or-vive-contact-card{\n    grid-template-columns:1fr!important;\n    gap:18px!important;\n    padding:21px 16px!important;\n  }\n\n  .or-vive-contact-divider{\n    width:100%!important;\n    height:1px!important;\n  }\n\n  .or-vive-contact-intro{\n    font-size:13px!important;\n  }\n}\n\n\n\/* =========================================================\n   V4 \u00b7 TAPIZ GENERAL CON LOGO OR MUSIC LIVE\n========================================================= *\/\n\n.or-wrap{\n  position:relative!important;\n  isolation:isolate!important;\n  background:\n    linear-gradient(rgba(2,4,12,.86),rgba(3,5,15,.88)),\n    #02030a!important;\n}\n\n.or-wrap::before{\n  content:\"\"!important;\n  position:absolute!important;\n  inset:0!important;\n  z-index:0!important;\n  pointer-events:none!important;\n  background-image:\n    url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\")!important;\n  background-repeat:repeat-y!important;\n  background-position:center 300px!important;\n  background-size:min(78vw,850px) auto!important;\n  opacity:.065!important;\n  filter:saturate(.8) brightness(1.05)!important;\n  mix-blend-mode:screen!important;\n}\n\n.or-wrap > section,\n.or-wrap > footer{\n  position:relative!important;\n  z-index:1!important;\n}\n\n\/* Dejar que el tapiz se perciba detr\u00e1s sin afectar lectura *\/\n.or-portal-section,\n.or-top-experience-section,\n.or-connect-section,\n.or-sponsors-horizontal-section{\n  background-color:transparent!important;\n}\n\n\n\/* =========================================================\n   ARRIBA: PUBLICIDAD + SELECTOR\n========================================================= *\/\n\n.or-top-experience-section{\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  padding:46px 24px 58px!important;\n  background:\n    radial-gradient(circle at 12% 18%,rgba(0,183,255,.10),transparent 30%),\n    radial-gradient(circle at 88% 22%,rgba(255,0,211,.09),transparent 30%),\n    linear-gradient(180deg,rgba(3,7,18,.72),rgba(6,7,22,.76))!important;\n  border-bottom:1px solid rgba(255,255,255,.055)!important;\n}\n\n.or-top-experience-inner{\n  max-width:1450px!important;\n  margin:0 auto!important;\n  display:grid!important;\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;\n  gap:22px!important;\n  align-items:start!important;\n}\n\n.or-top-event-column,\n.or-top-listen-column{\n  min-width:0!important;\n}\n\n.or-top-column-label{\n  margin-bottom:10px!important;\n  color:#8edfff!important;\n  font-size:9px!important;\n  font-weight:900!important;\n  letter-spacing:1.8px!important;\n  text-transform:uppercase!important;\n}\n\n\/* El evento deja de ser dos columnas: anuncio arriba \/ datos debajo *\/\n.or-top-event-column .or-featured-event{\n  display:block!important;\n  overflow:hidden!important;\n}\n\n.or-top-event-column .or-featured-media{\n  min-height:0!important;\n  aspect-ratio:16\/9!important;\n  border-right:0!important;\n  border-bottom:1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-top-event-column .or-featured-info{\n  padding:20px 22px!important;\n  min-height:150px!important;\n  display:block!important;\n}\n\n.or-top-event-column .or-featured-brand{\n  margin:0 0 12px!important;\n  padding:0 0 10px!important;\n}\n\n.or-top-event-column .or-featured-brand img{\n  display:none!important;\n}\n\n.or-top-event-column .or-featured-brand-copy small{\n  color:#7f8ea2!important;\n}\n\n.or-top-event-column .or-featured-brand-copy strong{\n  font-size:18px!important;\n  color:#fff!important;\n}\n\n.or-top-event-column .or-featured-title:empty,\n.or-top-event-column .or-featured-description:empty,\n.or-top-event-column .or-featured-note:empty{\n  display:none!important;\n}\n\n.or-top-event-column .or-upcoming-events{\n  margin-top:13px!important;\n}\n\n\/* Selector compacto para convivir al lado *\/\n.or-top-listen-column .or-listen-hub{\n  padding:25px 20px 20px!important;\n  min-height:100%!important;\n}\n\n.or-top-listen-column .or-listen-hub h2{\n  font-size:clamp(30px,2.8vw,44px)!important;\n}\n\n.or-top-listen-column .or-listen-intro{\n  margin-bottom:18px!important;\n  font-size:12px!important;\n}\n\n.or-top-listen-column .or-listen-grid{\n  gap:10px!important;\n}\n\n.or-top-listen-column .or-listen-card{\n  min-height:285px!important;\n  padding:20px 15px 16px!important;\n  border-radius:20px!important;\n}\n\n.or-top-listen-column .or-listen-card strong{\n  font-size:clamp(20px,1.55vw,27px)!important;\n}\n\n.or-top-listen-column .or-listen-copy{\n  min-height:82px!important;\n  font-size:10.5px!important;\n}\n\n.or-top-listen-column .or-listen-button{\n  font-size:8px!important;\n  min-height:42px!important;\n}\n\n\n\/* =========================================================\n   OR MUSIC RADAR\n========================================================= *\/\n\n#actualidad .or-portal-head h2{\n  letter-spacing:1px!important;\n}\n\n#actualidad .or-portal-kicker{\n  color:#ff68dc!important;\n}\n\n\n\/* =========================================================\n   OR MUSIC XPERIENCE M\u00c1S GRANDE\n========================================================= *\/\n\n.or-xp-main-title{\n  margin:0 0 14px!important;\n  font-size:clamp(46px,6vw,82px)!important;\n  line-height:.92!important;\n  letter-spacing:1px!important;\n  text-transform:uppercase!important;\n  text-shadow:\n    0 0 30px rgba(99,217,255,.12),\n    0 0 45px rgba(255,61,211,.10)!important;\n}\n\n#xperience .or-portal-head{\n  max-width:980px!important;\n}\n\n\n\/* =========================================================\n   CONECTA CON OR MUSIC LIVE\n========================================================= *\/\n\n.or-connect-section{\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  padding:66px 24px!important;\n  background:\n    radial-gradient(circle at 17% 25%,rgba(0,188,255,.13),transparent 31%),\n    radial-gradient(circle at 83% 30%,rgba(255,0,211,.11),transparent 31%),\n    linear-gradient(145deg,rgba(2,7,19,.75),rgba(11,4,20,.79))!important;\n  border-top:1px solid rgba(255,255,255,.06)!important;\n}\n\n.or-connect-inner{\n  max-width:1100px!important;\n  margin:0 auto!important;\n  text-align:center!important;\n}\n\n.or-connect-kicker{\n  color:#74dfff!important;\n  font-size:13px!important;\n  font-weight:900!important;\n  letter-spacing:4px!important;\n  text-transform:uppercase!important;\n}\n\n.or-connect-inner > h2{\n  margin:8px 0 14px!important;\n  color:#fff!important;\n  font-size:clamp(52px,7vw,92px)!important;\n  line-height:.9!important;\n  font-weight:900!important;\n  letter-spacing:1px!important;\n}\n\n.or-connect-intro{\n  max-width:760px!important;\n  margin:0 auto!important;\n  color:#c5d0dd!important;\n  font-size:15px!important;\n  line-height:1.7!important;\n}\n\n.or-connect-topics{\n  display:flex!important;\n  flex-wrap:wrap!important;\n  justify-content:center!important;\n  gap:8px!important;\n  margin:23px 0 25px!important;\n}\n\n.or-connect-topics span{\n  padding:8px 11px!important;\n  border-radius:999px!important;\n  color:#a6b5c7!important;\n  background:rgba(255,255,255,.04)!important;\n  border:1px solid rgba(255,255,255,.08)!important;\n  font-size:8px!important;\n  font-weight:900!important;\n}\n\n.or-connect-grid{\n  display:grid!important;\n  grid-template-columns:repeat(3,minmax(0,1fr))!important;\n  gap:12px!important;\n}\n\n.or-connect-card{\n  min-height:125px!important;\n  padding:20px!important;\n  display:flex!important;\n  flex-direction:column!important;\n  justify-content:center!important;\n  border-radius:18px!important;\n  color:#fff!important;\n  text-decoration:none!important;\n  background:rgba(5,9,23,.73)!important;\n  border:1px solid rgba(255,255,255,.09)!important;\n}\n\n.or-connect-card small{\n  color:#718197!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:1.3px!important;\n}\n\n.or-connect-card strong{\n  margin:7px 0!important;\n  color:#fff!important;\n  font-size:16px!important;\n  font-weight:900!important;\n}\n\n.or-connect-card span{\n  color:#8f9caf!important;\n  font-size:10px!important;\n  line-height:1.5!important;\n}\n\n\n\/* =========================================================\n   PATROCINANTES HORIZONTAL\n========================================================= *\/\n\n.or-sponsors-horizontal-section{\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  padding:34px 24px 42px!important;\n  background:rgba(2,5,14,.82)!important;\n  border-top:1px solid rgba(255,255,255,.06)!important;\n}\n\n.or-sponsors-horizontal-inner{\n  max-width:1450px!important;\n  margin:0 auto!important;\n}\n\n.or-sponsors-horizontal-head{\n  margin-bottom:15px!important;\n}\n\n.or-sponsors-horizontal-head span{\n  color:#ff68dc!important;\n  font-size:8px!important;\n  font-weight:900!important;\n  letter-spacing:2px!important;\n}\n\n.or-sponsors-horizontal-head h2{\n  margin:5px 0 0!important;\n  color:#fff!important;\n  font-size:22px!important;\n  font-weight:900!important;\n}\n\n.or-sponsors-horizontal-row{\n  display:grid!important;\n  grid-template-columns:repeat(6,minmax(0,1fr))!important;\n  gap:10px!important;\n}\n\n.or-sponsor-horizontal-card{\n  min-width:0!important;\n  min-height:105px!important;\n  padding:13px 10px!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  flex-direction:column!important;\n  gap:9px!important;\n  text-align:center!important;\n  border-radius:16px!important;\n  background:rgba(8,13,30,.80)!important;\n  border:1px solid rgba(255,255,255,.08)!important;\n}\n\n.or-sponsor-horizontal-card img{\n  width:58px!important;\n  height:58px!important;\n  object-fit:cover!important;\n  border-radius:50%!important;\n  border:1px solid rgba(255,255,255,.18)!important;\n}\n\n.or-sponsor-horizontal-card strong{\n  color:#fff!important;\n  font-size:9px!important;\n  line-height:1.25!important;\n  font-weight:900!important;\n}\n\n.or-sponsor-horizontal-open{\n  border-style:dashed!important;\n}\n\n.or-sponsor-open-mark{\n  width:58px!important;\n  height:58px!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  border-radius:50%!important;\n  color:#74dfff!important;\n  border:1px dashed rgba(116,223,255,.35)!important;\n  font-size:28px!important;\n}\n\n\n\/* =========================================================\n   RESPONSIVE V4\n========================================================= *\/\n\n@media(max-width:1180px){\n  .or-top-experience-inner{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-top-listen-column .or-listen-card{\n    min-height:220px!important;\n  }\n\n  .or-sponsors-horizontal-row{\n    grid-template-columns:repeat(3,minmax(0,1fr))!important;\n  }\n}\n\n@media(max-width:820px){\n  .or-top-experience-section{\n    padding:32px 12px 44px!important;\n  }\n\n  .or-top-listen-column .or-listen-grid{\n    display:flex!important;\n    flex-direction:column!important;\n  }\n\n  .or-top-listen-column .or-listen-card{\n    min-height:175px!important;\n  }\n\n  .or-top-listen-column .or-listen-copy{\n    min-height:0!important;\n  }\n\n  .or-connect-grid{\n    grid-template-columns:1fr!important;\n  }\n\n  .or-sponsors-horizontal-row{\n    grid-template-columns:repeat(2,minmax(0,1fr))!important;\n  }\n\n  .or-wrap::before{\n    background-size:145vw auto!important;\n    opacity:.055!important;\n  }\n}\n\n@media(max-width:480px){\n  .or-xp-main-title{\n    font-size:44px!important;\n  }\n\n  .or-connect-inner > h2{\n    font-size:48px!important;\n  }\n\n  .or-sponsors-horizontal-row{\n    grid-template-columns:1fr 1fr!important;\n  }\n}\n\n\n\/* =========================================================\n   PATROCINANTES \u00b7 PLATO ORIGINAL + DISTRIBUCI\u00d3N HORIZONTAL\n========================================================= *\/\n\n.or-sponsors-strip-section{\n  position:relative!important;\n  width:100vw!important;\n  margin-left:calc(50% - 50vw)!important;\n  margin-right:calc(50% - 50vw)!important;\n  padding:48px 24px 50px!important;\n  background:rgba(2,5,14,.82)!important;\n  border-top:1px solid rgba(255,255,255,.06)!important;\n}\n\n.or-sponsors-strip-inner{\n  max-width:1450px!important;\n  margin:0 auto!important;\n}\n\n.or-sponsors-strip-head{\n  margin-bottom:24px!important;\n  text-align:center!important;\n}\n\n.or-sponsors-strip-head h2{\n  margin:0!important;\n  color:#fff!important;\n  font-size:clamp(35px,4vw,58px)!important;\n  line-height:1!important;\n  font-weight:900!important;\n  letter-spacing:2px!important;\n  text-transform:uppercase!important;\n}\n\n.or-sponsors-strip{\n  display:flex!important;\n  align-items:flex-start!important;\n  gap:16px!important;\n  overflow-x:auto!important;\n  padding:3px 2px 15px!important;\n  scroll-snap-type:x proximity!important;\n  scrollbar-width:thin!important;\n}\n\n.or-sponsor-strip-card{\n  flex:0 0 245px!important;\n  width:245px!important;\n  min-width:245px!important;\n  scroll-snap-align:start!important;\n}\n\n\/* Mantener exactamente el concepto visual original *\/\n.or-sponsor-strip-card .or-deck-stage{\n  width:100%!important;\n  aspect-ratio:1\/1!important;\n}\n\n.or-sponsor-strip-card .or-sponsor-name{\n  min-height:39px!important;\n  display:flex!important;\n  align-items:center!important;\n  justify-content:center!important;\n  padding:11px 5px 3px!important;\n  text-align:center!important;\n  font-size:11px!important;\n}\n\n@media(max-width:820px){\n  .or-sponsors-strip-section{\n    padding:40px 12px 42px!important;\n  }\n\n  .or-sponsor-strip-card{\n    flex-basis:220px!important;\n    width:220px!important;\n    min-width:220px!important;\n  }\n}\n\n@media(max-width:480px){\n  .or-sponsor-strip-card{\n    flex-basis:205px!important;\n    width:205px!important;\n    min-width:205px!important;\n  }\n}\n\n\n\/* =========================================================\n   V6 \u00b7 AJUSTES DE POSICI\u00d3N SUPERIOR\n========================================================= *\/\n\n\/* Izquierda: Qu\u00e9 quieres escuchar o ver\n   Derecha: Espacio publicitario *\/\n.or-top-experience-inner{\n  grid-template-areas:\"listen event\"!important;\n}\n\n.or-top-listen-column{\n  grid-area:listen!important;\n}\n\n.or-top-event-column{\n  grid-area:event!important;\n}\n\n\n\/* =========================================================\n   V6 \u00b7 PATROCINANTES: MOSTRAR LOS 6 COMPLETOS\n   Conservando plato giratorio y dise\u00f1o original\n========================================================= *\/\n\n.or-sponsors-strip{\n  display:grid!important;\n  grid-template-columns:repeat(6,minmax(0,1fr))!important;\n  gap:14px!important;\n  overflow:visible!important;\n  padding:3px 2px 15px!important;\n}\n\n.or-sponsor-strip-card{\n  width:100%!important;\n  min-width:0!important;\n  max-width:none!important;\n  flex:none!important;\n}\n\n@media(max-width:1180px){\n  .or-top-experience-inner{\n    grid-template-areas:\n      \"listen\"\n      \"event\"!important;\n  }\n\n  .or-sponsors-strip{\n    grid-template-columns:repeat(3,minmax(0,1fr))!important;\n  }\n}\n\n@media(max-width:720px){\n  .or-sponsors-strip{\n    grid-template-columns:repeat(2,minmax(0,1fr))!important;\n    gap:10px!important;\n  }\n}\n\n@media(max-width:420px){\n  .or-sponsors-strip{\n    grid-template-columns:1fr 1fr!important;\n  }\n}\n\n<\/style>\n\n\n<div class=\"or-wrap\">\n\n\n<!-- =========================================================\n     HERO\n========================================================= -->\n\n<section class=\"or-hero\" id=\"inicio\">\n\n  <img decoding=\"async\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\" alt=\"OR Music Live\">\n\n\n  <div class=\"or-hero-overlay\">\n\n\n    <div class=\"or-hero-title\">\n      ORMUSICLIVE.COM\n    <\/div>\n\n\n\n    <!-- =====================================================\n         MEN\u00da COMPUTADORA\n    ====================================================== -->\n\n        <nav class=\"or-menu-hero\">\n\n      <a href=\"#inicio\" class=\"or-activo\">\n        Inicio\n      <\/a>\n\n      <a href=\"https:\/\/ormusiclive.com\/?page_id=10\">\n        Radio 24\/7\n      <\/a>\n\n      <a href=\"https:\/\/ormusiclive.com\/?page_id=409\">\n        Mixes &amp; DJs\n      <\/a>\n\n      <a href=\"https:\/\/ormusiclive.com\/?page_id=411\">\n        Live TV\n      <\/a>\n\n      <a href=\"#patrocinantes\">\n        Patrocinantes\n      <\/a>\n\n      <a href=\"#actualidad\">Radar<\/a>\n      <a href=\"#xperience\">Experience<\/a>\n      <a href=\"#industria\">Industria<\/a>\n      <a href=\"#vive\">Cont\u00e1ctanos<\/a>\n\n    <\/nav>\n\n\n\n    <!-- =====================================================\n         MEN\u00da TEL\u00c9FONO\n    ====================================================== -->\n\n        <details class=\"or-menu-mobile\">\n\n      <summary>\n        MEN\u00da\n      <\/summary>\n\n      <div class=\"or-menu-mobile-links\">\n\n        <a href=\"#inicio\">\n          Inicio\n        <\/a>\n\n        <a href=\"https:\/\/ormusiclive.com\/?page_id=10\">\n          Radio 24\/7\n        <\/a>\n\n        <a href=\"https:\/\/ormusiclive.com\/?page_id=409\">\n          Mixes &amp; DJs\n        <\/a>\n\n        <a href=\"https:\/\/ormusiclive.com\/?page_id=411\">\n          Live TV\n        <\/a>\n\n        <a href=\"#patrocinantes\">\n          Patrocinantes\n        <\/a>\n\n        <a href=\"#actualidad\">Radar<\/a>\n        <a href=\"#xperience\">Experience<\/a>\n        <a href=\"#industria\">Industria<\/a>\n        <a href=\"#vive\">Cont\u00e1ctanos<\/a>\n\n      <\/div>\n\n    <\/details>\n\n\n  <\/div>\n\n\n<\/section>\n\n\n\n\n\n<!-- =========================================================\n     PUBLICIDAD + RADIO \/ MIXES \/ TV\n========================================================= -->\n\n<section class=\"or-top-experience-section\" id=\"eventos-destacados\">\n\n  <div class=\"or-top-experience-inner\">\n\n    <!-- COLUMNA IZQUIERDA \u00b7 PUBLICIDAD \/ EVENTO -->\n    <div class=\"or-top-event-column\">\n\n      <div class=\"or-top-column-label\">\n        ESPACIO PUBLICITARIO \u00b7 EVENTOS Y ESPECT\u00c1CULOS\n      <\/div>\n\n      <div class=\"or-featured-event\" id=\"orFeaturedEvent\">\n\n        <div class=\"or-featured-media\" id=\"orFeaturedMedia\">\n\n          <div class=\"or-featured-badge\">\n            <span class=\"or-featured-badge-dot\"><\/span>\n            ESPACIO DESTACADO\n          <\/div>\n\n          <div class=\"or-featured-media-frame\" id=\"orFeaturedMediaFrame\">\n\n            <div class=\"or-featured-placeholder\" id=\"orFeaturedPlaceholder\">\n              <img decoding=\"async\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\" alt=\"OR Music Live\">\n\n              <strong>\n                ESPACIO PUBLICITARIO PARA EVENTOS Y ESPECT\u00c1CULOS\n              <\/strong>\n\n              <span>\n                Promociona aqu\u00ed tu pr\u00f3ximo evento, show, fiesta,\n                presentaci\u00f3n o transmisi\u00f3n.\n              <\/span>\n            <\/div>\n\n          <\/div>\n\n        <\/div>\n\n        <!-- PR\u00d3XIMO EVENTO VA DEBAJO DEL ESPACIO PUBLICITARIO -->\n        <div class=\"or-featured-info\">\n\n          <div class=\"or-featured-brand\">\n            <div class=\"or-featured-brand-copy\">\n              <small>OR MUSIC LIVE<\/small>\n              <strong>PR\u00d3XIMO EVENTO<\/strong>\n            <\/div>\n          <\/div>\n\n          <div class=\"or-featured-data\" id=\"orFeaturedData\">\n\n            <h2 class=\"or-featured-title\" id=\"orFeaturedTitle\"><\/h2>\n\n            <div class=\"or-featured-meta\">\n\n              <div class=\"or-featured-meta-row\" id=\"orFeaturedDateRow\" hidden=\"\">\n                <span>Fecha<\/span>\n                <strong id=\"orFeaturedDate\"><\/strong>\n              <\/div>\n\n              <div class=\"or-featured-meta-row\" id=\"orFeaturedTimeRow\" hidden=\"\">\n                <span>Hora<\/span>\n                <strong id=\"orFeaturedTime\"><\/strong>\n              <\/div>\n\n              <div class=\"or-featured-meta-row\" id=\"orFeaturedLocationRow\" hidden=\"\">\n                <span>Lugar<\/span>\n                <strong id=\"orFeaturedLocation\"><\/strong>\n              <\/div>\n\n            <\/div>\n\n            <p class=\"or-featured-description\" id=\"orFeaturedDescription\"><\/p>\n\n            <div class=\"or-featured-note\" id=\"orFeaturedNote\"><\/div>\n\n            <a class=\"or-featured-action\" id=\"orFeaturedAction\" target=\"_blank\" rel=\"noopener\">\n              INFORMACI\u00d3N \/ ENTRADAS\n            <\/a>\n\n          <\/div>\n\n        <\/div>\n\n      <\/div>\n\n      <!-- HASTA 3 PR\u00d3XIMOS EVENTOS \u00b7 SOLO SI EXISTEN -->\n      <div class=\"or-upcoming-events\" id=\"orUpcomingEvents\" hidden=\"\">\n\n        <div class=\"or-upcoming-events-head\">\n          <h3>PR\u00d3XIMOS EVENTOS<\/h3>\n          <span>TOCA O HAZ CLIC PARA AMPLIAR<\/span>\n        <\/div>\n\n        <div class=\"or-upcoming-events-grid\" id=\"orUpcomingEventsGrid\"><\/div>\n\n      <\/div>\n\n    <\/div>\n\n\n    <!-- COLUMNA DERECHA \u00b7 SELECTOR -->\n    <div class=\"or-top-listen-column\">\n\n      <div class=\"or-listen-hub\" id=\"orListenHub\">\n\n        <div class=\"or-listen-kicker\">\n          OR MUSIC LIVE \u00b7 ELIGE TU EXPERIENCIA\n        <\/div>\n\n        <h2>\n          \u00bfQU\u00c9 QUIERES ESCUCHAR O VER?\n        <\/h2>\n\n        <p class=\"or-listen-intro\">\n          Radio 24\/7, Mixes &amp; DJs y OR Music Live TV.\n          T\u00fa decides c\u00f3mo quieres vivir OR Music Live.\n        <\/p>\n\n        <div class=\"or-listen-grid\">\n\n          <a class=\"or-listen-card or-listen-247\" id=\"orHome247\" href=\"https:\/\/ormusiclive.com\/?page_id=10\">\n            <span class=\"or-listen-glow\"><\/span>\n            <span class=\"or-listen-led\"><\/span>\n            <span class=\"or-listen-eyebrow\">M\u00daSICA CONTINUA<\/span>\n            <strong>RADIO 24\/7<\/strong>\n            <span class=\"or-listen-copy\">\n              Cl\u00e1sicos, actualidad, pop, rock, dance,\n              ritmos latinos y m\u00fasica en espa\u00f1ol e ingl\u00e9s.\n            <\/span>\n            <span class=\"or-listen-button\">ENTRAR A RADIO 24\/7<\/span>\n          <\/a>\n\n          <a class=\"or-listen-card or-listen-mixes\" id=\"orHomeMixes\" href=\"https:\/\/ormusiclive.com\/?page_id=409\">\n            <span class=\"or-listen-glow\"><\/span>\n            <span class=\"or-listen-led\"><\/span>\n            <span class=\"or-listen-eyebrow\">SETS \u00b7 SESIONES \u00b7 DJS<\/span>\n            <strong>MIXES &amp; DJS<\/strong>\n            <span class=\"or-listen-copy\">\n              DJs, sesiones especiales, mezclas tem\u00e1ticas\n              y contenidos vinculados al entretenimiento.\n            <\/span>\n            <span class=\"or-listen-button\">ENTRAR A MIXES<\/span>\n          <\/a>\n\n          <a class=\"or-listen-card or-listen-live is-standby\" id=\"orHomeLive\" href=\"https:\/\/ormusiclive.com\/?page_id=411\">\n            <span class=\"or-listen-glow\"><\/span>\n            <span class=\"or-listen-led\"><\/span>\n            <span class=\"or-listen-eyebrow\" id=\"orHomeLiveEyebrow\">SALA AUDIOVISUAL<\/span>\n            <strong id=\"orHomeLiveTitle\">OR MUSIC LIVE TV<\/strong>\n            <span class=\"or-listen-copy\" id=\"orHomeLiveCopy\">\n              Transmisiones, programas, entrevistas,\n              videos y contenido audiovisual.\n            <\/span>\n            <span class=\"or-listen-button\" id=\"orHomeLiveButton\">ENTRAR A OR MUSIC LIVE TV<\/span>\n          <\/a>\n\n        <\/div>\n\n        <div class=\"or-live-priority\" id=\"orLivePriority\" aria-live=\"polite\">\n          <span class=\"or-live-priority-dot\"><\/span>\n          <span id=\"orLivePriorityText\">\n            Radio 24\/7 y Mixes &amp; DJs disponibles \u00b7\n            OR Music Live TV lista para cuando haya contenido al aire.\n          <\/span>\n        <\/div>\n\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n<\/section>\n\n\n<!-- VISOR GRANDE DE EVENTOS -->\n<div class=\"or-event-modal\" id=\"orEventModal\" aria-hidden=\"true\">\n\n  <div class=\"or-event-modal-card\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"orEventModalTitle\">\n\n    <button class=\"or-event-modal-close\" id=\"orEventModalClose\" type=\"button\" aria-label=\"Cerrar\">\u00d7<\/button>\n\n    <div class=\"or-event-modal-layout\">\n\n      <div class=\"or-event-modal-media\" id=\"orEventModalMedia\"><\/div>\n\n      <div class=\"or-event-modal-info\">\n\n        <div class=\"or-featured-kicker\">PR\u00d3XIMO EVENTO<\/div>\n        <h2 id=\"orEventModalTitle\"><\/h2>\n\n        <div class=\"or-featured-meta\">\n\n          <div class=\"or-featured-meta-row\" id=\"orEventModalDateRow\" hidden=\"\">\n            <span>Fecha<\/span>\n            <strong id=\"orEventModalDate\"><\/strong>\n          <\/div>\n\n          <div class=\"or-featured-meta-row\" id=\"orEventModalTimeRow\" hidden=\"\">\n            <span>Hora<\/span>\n            <strong id=\"orEventModalTime\"><\/strong>\n          <\/div>\n\n          <div class=\"or-featured-meta-row\" id=\"orEventModalLocationRow\" hidden=\"\">\n            <span>Lugar<\/span>\n            <strong id=\"orEventModalLocation\"><\/strong>\n          <\/div>\n\n        <\/div>\n\n        <div class=\"or-event-modal-description\" id=\"orEventModalDescription\"><\/div>\n        <div class=\"or-event-modal-note\" id=\"orEventModalNote\"><\/div>\n\n        <a class=\"or-event-modal-action\" id=\"orEventModalAction\" target=\"_blank\" rel=\"noopener\">\n          INFORMACI\u00d3N \/ ENTRADAS\n        <\/a>\n\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n<\/div>\n\n\n<!-- =========================================================\n     PATROCINANTES \u00b7 DISE\u00d1O ORIGINAL EN FRANJA HORIZONTAL\n========================================================= -->\n\n<section class=\"or-sponsors-strip-section\" id=\"patrocinantes\">\n\n  <div class=\"or-sponsors-strip-inner\">\n\n    <div class=\"or-sponsors-strip-head\">\n      <h2>PATROCINANTES<\/h2>\n    <\/div>\n\n    <div class=\"or-sponsors-strip\">\n\n      <!-- DJ NI\u00d1O -->\n      <div class=\"or-sponsor-card or-sponsor-strip-card\">\n        <div class=\"or-deck-stage or-deck-active\">\n          <img decoding=\"async\" class=\"or-deck-base\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Plato-base-patrocinante-2.png\" alt=\"Tocadisco DJ Ni\u00f1o\">\n          <div class=\"or-rotating-platter\"><\/div>\n          <div class=\"or-sponsor-logo\">\n            <img decoding=\"async\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-11-ago-2026-12_19_47-5.png\" alt=\"DJ Ni\u00f1o\">\n          <\/div>\n        <\/div>\n        <div class=\"or-sponsor-name\">DJ Ni\u00f1o<\/div>\n      <\/div>\n\n      <!-- MARTELL -->\n      <div class=\"or-sponsor-card or-sponsor-strip-card\">\n        <div class=\"or-deck-stage or-deck-active\">\n          <img decoding=\"async\" class=\"or-deck-base\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Plato-base-patrocinante-2.png\" alt=\"Tocadisco Multiservicios Martell\">\n          <div class=\"or-rotating-platter\"><\/div>\n          <div class=\"or-sponsor-logo\">\n            <img decoding=\"async\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Martell_CIRCULAR_SIN_MODIFICAR.png\" alt=\"Multiservicios Martell\">\n          <\/div>\n        <\/div>\n        <div class=\"or-sponsor-name\">Multiservicios Martell<\/div>\n      <\/div>\n\n      <!-- JOS\u00c9 LUIS -->\n      <div class=\"or-sponsor-card or-sponsor-strip-card\">\n        <div class=\"or-deck-stage or-deck-active\">\n          <img decoding=\"async\" class=\"or-deck-base\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Plato-base-patrocinante-2.png\" alt=\"Tocadisco Jos\u00e9 Luis Jim\u00e9nez\">\n          <div class=\"or-rotating-platter\"><\/div>\n          <div class=\"or-sponsor-logo\">\n            <img decoding=\"async\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Jose_Luis_Jimenez_CIRCULAR_SIN_MODIFICAR.png\" alt=\"Jos\u00e9 Luis Jim\u00e9nez\">\n          <\/div>\n        <\/div>\n        <div class=\"or-sponsor-name\">Jos\u00e9 Luis Jim\u00e9nez \u00b7 El Gato<\/div>\n      <\/div>\n\n      <!-- OSMER -->\n      <div class=\"or-sponsor-card or-sponsor-strip-card\">\n        <div class=\"or-deck-stage or-deck-active\">\n          <img decoding=\"async\" class=\"or-deck-base\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Plato-base-patrocinante-2.png\" alt=\"Tocadisco Osmer Morros\">\n          <div class=\"or-rotating-platter\"><\/div>\n          <div class=\"or-sponsor-logo\">\n            <img decoding=\"async\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/ChatGPT-Image-11-ago-2026-12_19_47-4.png\" alt=\"Osmer Morros\">\n          <\/div>\n        <\/div>\n        <div class=\"or-sponsor-name\">Osmer Morros<\/div>\n      <\/div>\n\n      <!-- FAHRENHEIT -->\n      <div class=\"or-sponsor-card or-sponsor-strip-card\">\n        <div class=\"or-deck-stage or-deck-active\">\n          <img decoding=\"async\" class=\"or-deck-base\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Plato-base-patrocinante-2.png\" alt=\"Tocadisco Fahrenheit\">\n          <div class=\"or-rotating-platter\"><\/div>\n          <div class=\"or-sponsor-logo\">\n            <img decoding=\"async\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Fahrenheit_CIRCULAR_SIN_MODIFICAR.png\" alt=\"Fahrenheit\">\n          <\/div>\n        <\/div>\n        <div class=\"or-sponsor-name\">Fahrenheit<\/div>\n      <\/div>\n\n      <!-- NUEVO -->\n      <div class=\"or-sponsor-card or-sponsor-strip-card\">\n        <div class=\"or-deck-stage or-deck-empty\">\n          <img decoding=\"async\" class=\"or-deck-base\" src=\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/Brazoi-en-reposo-par-nuevo-patrocinio.png\" alt=\"Nuevo patrocinante\">\n        <\/div>\n        <div class=\"or-sponsor-name or-disponible\">Nuevo patrocinante<\/div>\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n<\/section>\n\n\n\n\n<!-- =========================================================\n     ACTUALIDAD DE LA INDUSTRIA\n========================================================= -->\n\n\n\n<section id=\"actualidad\" style=\"\nwidth:100vw;\nmargin-left:calc(50% - 50vw);\nmargin-right:calc(50% - 50vw);\npadding:0;\nbackground:#050607;\noverflow:hidden;\n\">\n\n<iframe id=\"orMusicRadarFrame\" src=\"\/?page_id=485\" title=\"OR MUSIC RADAR\" loading=\"lazy\" scrolling=\"no\" style=\"\n        display:block;\n        width:100%;\n        height:2200px;\n        border:0;\n        margin:0;\n        padding:0;\n        background:#050607;\n        overflow:hidden;\n    \">\n<\/iframe>\n\n<script>\n(function(){\n    const frame = document.getElementById('orMusicRadarFrame');\n\n    function resizeRadar(){\n        try{\n            const doc = frame.contentDocument || frame.contentWindow.document;\n            if(!doc) return;\n\n            const h = Math.max(\n                doc.body ? doc.body.scrollHeight : 0,\n                doc.documentElement ? doc.documentElement.scrollHeight : 0\n            );\n\n            if(h > 500){\n                frame.style.height = h + 'px';\n            }\n        }catch(e){}\n    }\n\n    frame.addEventListener('load', function(){\n        resizeRadar();\n        setTimeout(resizeRadar, 500);\n        setTimeout(resizeRadar, 1500);\n        setTimeout(resizeRadar, 3000);\n    });\n\n    window.addEventListener('resize', function(){\n        setTimeout(resizeRadar, 150);\n    });\n})();\n<\/script>\n\n<\/section>\n\n\n\n\n<!-- =========================================================\n     OR MUSIC XPERIENCE\n========================================================= -->\n\n<section class=\"or-portal-section or-xp-section\" id=\"xperience\">\n\n  <div class=\"or-portal-inner\">\n\n    <div class=\"or-portal-head or-xp-head\" id=\"xperience-inicio\">\n\n      <span class=\"or-xp-brand\">\n        APRENDE AUDIO DESDE CERO\n      <\/span>\n\n      <h2 class=\"or-xp-main-title\">\n        OR MUSIC XPERIENCE\n      <\/h2>\n\n      <p class=\"or-xp-intro\">\n        No necesitas saber de audio.\n        Aqu\u00ed comenzamos por lo m\u00e1s sencillo y avanzamos paso a paso,\n        con explicaciones claras, ejemplos cotidianos y gr\u00e1ficos propios\n        de OR Music Live.\n      <\/p>\n\n      <div class=\"or-xp-levels\">\n        <span>F\u00c1CIL DE ENTENDER<\/span>\n        <span>PASO A PASO<\/span>\n        <span>DE CERO A AVANZADO<\/span>\n      <\/div>\n\n    <\/div>\n\n\n    <div class=\"or-xp-grid\">\n\n\n      <a class=\"or-xp-card or-xp-card-first\" href=\"https:\/\/ormusiclive.com\/?page_id=514\" aria-label=\"Abrir gu\u00eda Conexiones sin complicaciones\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">01<\/span>\n          <span class=\"or-xp-step\">EMPIEZA AQU\u00cd<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini\">\n          <span>XLR<\/span>\n          <i>\u2192<\/i>\n          <span>TRS<\/span>\n          <i>\u2192<\/i>\n          <span>RCA<\/span>\n        <\/div>\n\n        <h3>Conexiones sin complicaciones<\/h3>\n\n        <strong class=\"or-xp-question\">\n          \u00bfQu\u00e9 cable va d\u00f3nde?\n        <\/strong>\n\n        <p>\n          Un cable lleva la se\u00f1al de un equipo a otro.\n          XLR, TRS, TS y RCA pueden parecer parecidos,\n          pero no siempre hacen el mismo trabajo.\n          Aprender\u00e1s a reconocerlos y a saber cu\u00e1ndo usar cada uno.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          BASE T\u00c9CNICA \u00b7 FOCUSRITE\n        <\/small>\n\n      <\/a>\n\n\n      <a class=\"or-xp-card\" href=\"https:\/\/ormusiclive.com\/?page_id=516\" aria-label=\"Abrir gu\u00eda Ganancia y volumen\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">02<\/span>\n          <span class=\"or-xp-step\">NIVEL B\u00c1SICO<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini\">\n          <span>ENTRADA<\/span>\n          <i>\u2192<\/i>\n          <span>GAIN<\/span>\n          <i>\u2192<\/i>\n          <span>NIVEL<\/span>\n        <\/div>\n\n        <h3>Ganancia y volumen<\/h3>\n\n        <strong class=\"or-xp-question\">\n          \u00bfPor qu\u00e9 no son lo mismo?\n        <\/strong>\n\n        <p>\n          La ganancia controla con cu\u00e1nta fuerza entra una se\u00f1al\n          al equipo. El volumen controla cu\u00e1nto escuchamos despu\u00e9s.\n          Si la se\u00f1al entra demasiado fuerte, puede distorsionarse.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          BASE T\u00c9CNICA \u00b7 YAMAHA\n        <\/small>\n\n      <\/a>\n\n\n      <a class=\"or-xp-card\" href=\"https:\/\/ormusiclive.com\/?page_id=517\" aria-label=\"Abrir gu\u00eda C\u00f3mo sale el sonido de un DJ\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">03<\/span>\n          <span class=\"or-xp-step\">NIVEL B\u00c1SICO<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini\">\n          <span>DJ<\/span>\n          <i>\u2192<\/i>\n          <span>MIXER<\/span>\n          <i>\u2192<\/i>\n          <span>SONIDO<\/span>\n        <\/div>\n\n        <h3>C\u00f3mo sale el sonido de un DJ<\/h3>\n\n        <strong class=\"or-xp-question\">\n          Del equipo hasta los altavoces\n        <\/strong>\n\n        <p>\n          El controlador o mixer del DJ env\u00eda el audio hacia\n          el sistema de sonido. Aprender\u00e1s el recorrido de la se\u00f1al\n          y por qu\u00e9 debemos cuidar los niveles para que suene limpio.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          BASE T\u00c9CNICA \u00b7 YAMAHA\n        <\/small>\n\n      <\/a>\n\n\n      <a class=\"or-xp-card\" href=\"https:\/\/ormusiclive.com\/?page_id=518\" aria-label=\"Abrir gu\u00eda Micr\u00f3fonos\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">04<\/span>\n          <span class=\"or-xp-step\">NIVEL B\u00c1SICO<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini\">\n          <span>VOZ<\/span>\n          <i>\u2192<\/i>\n          <span>MIC<\/span>\n          <i>\u2192<\/i>\n          <span>MIXER<\/span>\n        <\/div>\n\n        <h3>Micr\u00f3fonos<\/h3>\n\n        <strong class=\"or-xp-question\">\n          \u00bfC\u00f3mo una voz entra al sistema?\n        <\/strong>\n\n        <p>\n          Un micr\u00f3fono convierte el sonido en una se\u00f1al que los\n          equipos pueden manejar. Conoceremos din\u00e1micos,\n          condensadores y cu\u00e1ndo un micr\u00f3fono necesita alimentaci\u00f3n.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          BASE T\u00c9CNICA \u00b7 SHURE\n        <\/small>\n\n      <\/a>\n\n\n      <a class=\"or-xp-card\" href=\"https:\/\/ormusiclive.com\/?page_id=519\" aria-label=\"Abrir gu\u00eda Iluminaci\u00f3n y DMX\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">05<\/span>\n          <span class=\"or-xp-step\">NIVEL B\u00c1SICO<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini\">\n          <span>CONTROL<\/span>\n          <i>\u2192<\/i>\n          <span>DMX<\/span>\n          <i>\u2192<\/i>\n          <span>LUCES<\/span>\n        <\/div>\n\n        <h3>Iluminaci\u00f3n y DMX<\/h3>\n\n        <strong class=\"or-xp-question\">\n          \u00bfC\u00f3mo sabe una luz qu\u00e9 debe hacer?\n        <\/strong>\n\n        <p>\n          DMX es un sistema de control para iluminaci\u00f3n.\n          Permite enviar \u00f3rdenes a las luminarias para controlar\n          funciones como intensidad, color o movimiento.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          DOCUMENTACI\u00d3N T\u00c9CNICA \u00b7 DMX512\n        <\/small>\n\n      <\/a>\n\n\n      <a class=\"or-xp-card\" href=\"https:\/\/ormusiclive.com\/?page_id=520\" aria-label=\"Abrir gu\u00eda Estudio desde cero\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">06<\/span>\n          <span class=\"or-xp-step\">NIVEL B\u00c1SICO<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini\">\n          <span>MIC<\/span>\n          <i>\u2192<\/i>\n          <span>INTERFAZ<\/span>\n          <i>\u2192<\/i>\n          <span>PC<\/span>\n        <\/div>\n\n        <h3>Estudio desde cero<\/h3>\n\n        <strong class=\"or-xp-question\">\n          \u00bfPara qu\u00e9 sirve una interfaz?\n        <\/strong>\n\n        <p>\n          La interfaz permite que una computadora reciba\n          se\u00f1ales de micr\u00f3fonos e instrumentos y tambi\u00e9n\n          convierte el audio digital para poder escucharlo.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          BASE T\u00c9CNICA \u00b7 FOCUSRITE\n        <\/small>\n\n      <\/a>\n\n\n      <a class=\"or-xp-card\" href=\"https:\/\/ormusiclive.com\/?page_id=521\" aria-label=\"Abrir gu\u00eda Streaming\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">07<\/span>\n          <span class=\"or-xp-step\">NIVEL B\u00c1SICO<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini\">\n          <span>MIC + CAM<\/span>\n          <i>\u2192<\/i>\n          <span>OBS<\/span>\n          <i>\u2192<\/i>\n          <span>INTERNET<\/span>\n        <\/div>\n\n        <h3>Streaming<\/h3>\n\n        <strong class=\"or-xp-question\">\n          \u00bfC\u00f3mo llega una transmisi\u00f3n a Internet?\n        <\/strong>\n\n        <p>\n          Micr\u00f3fono, m\u00fasica y video pueden reunirse en un programa\n          de transmisi\u00f3n. All\u00ed controlamos las fuentes y sus niveles\n          antes de enviar el contenido a Internet.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          BASE T\u00c9CNICA \u00b7 OBS PROJECT\n        <\/small>\n\n      <\/a>\n\n\n      <a class=\"or-xp-card\" href=\"https:\/\/ormusiclive.com\/?page_id=522\" aria-label=\"Abrir gu\u00eda Glosario f\u00e1cil\">\n\n        <div class=\"or-xp-card-top\">\n          <span class=\"or-xp-num\">08<\/span>\n          <span class=\"or-xp-step\">TU DICCIONARIO<\/span>\n        <\/div>\n\n        <div class=\"or-xp-mini or-xp-mini-terms\">\n          <span>dB<\/span>\n          <span>Hz<\/span>\n          <span>CLIP<\/span>\n          <span>DSP<\/span>\n        <\/div>\n\n        <h3>Glosario f\u00e1cil<\/h3>\n\n        <strong class=\"or-xp-question\">\n          Las palabras del audio, en espa\u00f1ol sencillo\n        <\/strong>\n\n        <p>\n          dB, frecuencia, clipping, headroom, impedancia,\n          fase, crossover y DSP dejar\u00e1n de sonar complicados.\n          Cada t\u00e9rmino tendr\u00e1 una explicaci\u00f3n corta y un ejemplo.\n        <\/p>\n\n        <small class=\"or-xp-source\">\n          REFERENCIA T\u00c9CNICA \u00b7 OR MUSIC XPERIENCE\n        <\/small>\n\n      <\/a>\n\n\n    <\/div>\n\n    <div class=\"or-xp-trust\">\n      <strong>INFORMACI\u00d3N T\u00c9CNICA VERIFICADA<\/strong>\n      <span>\n        OR Music Live consulta documentaci\u00f3n oficial y fuentes t\u00e9cnicas\n        reconocidas antes de publicar cada explicaci\u00f3n.\n      <\/span>\n    <\/div>\n\n  <\/div>\n\n<\/section>\n\n<!-- =========================================================\n     EXPLORA LA INDUSTRIA\n========================================================= -->\n\n<section class=\"or-portal-section or-industry-new-section\" id=\"industria\">\n\n  <div class=\"or-portal-inner\">\n\n    <div class=\"or-portal-head\">\n      <div class=\"or-portal-kicker\">FABRICANTES \u00b7 TECNOLOG\u00cdA \u00b7 REFERENCIAS<\/div>\n      <h2>EXPLORA LA INDUSTRIA<\/h2>\n      <p>\n        Una gu\u00eda sencilla para conocer las principales \u00e1reas, fabricantes y tecnolog\u00edas\n        que forman parte del sonido y del espect\u00e1culo profesional. No es publicidad:\n        es una referencia editorial para descubrir qui\u00e9n fabrica qu\u00e9 y, cuando corresponda,\n        acceder a sus sitios oficiales.\n      <\/p>\n    <\/div>\n\n    <div class=\"or-industry-category-grid\">\n\n      <article class=\"or-industry-category\">\n        <span>01<\/span>\n        <h3>Sonido &amp; PA<\/h3>\n        <p>\n          Sistemas de sonido, altavoces, amplificaci\u00f3n, procesamiento y consolas.\n          Meyer Sound, L-Acoustics, d&amp;b audiotechnik, JBL Professional, Yamaha,\n          Allen &amp; Heath y otros fabricantes relevantes.\n        <\/p>\n      <\/article>\n\n      <article class=\"or-industry-category\">\n        <span>02<\/span>\n        <h3>DJ &amp; Producci\u00f3n<\/h3>\n        <p>\n          Reproductores, mixers, controladores, software y herramientas de producci\u00f3n.\n          Pioneer DJ \/ AlphaTheta, Denon DJ, Rane, Serato, rekordbox y m\u00e1s.\n        <\/p>\n      <\/article>\n\n      <article class=\"or-industry-category\">\n        <span>03<\/span>\n        <h3>Micr\u00f3fonos &amp; Estudio<\/h3>\n        <p>\n          Micr\u00f3fonos, interfaces, monitoreo y herramientas de grabaci\u00f3n.\n          Shure, Sennheiser, Neumann, R\u00d8DE, Audio-Technica, Focusrite y otros.\n        <\/p>\n      <\/article>\n\n      <article class=\"or-industry-category\">\n        <span>04<\/span>\n        <h3>Iluminaci\u00f3n<\/h3>\n        <p>\n          Luminarias, consolas, DMX, control y tecnolog\u00eda para conciertos y eventos.\n          Robe, Martin Professional, Chauvet Professional, Claypaky, MA Lighting y ETC.\n        <\/p>\n      <\/article>\n\n      <article class=\"or-industry-category\">\n        <span>05<\/span>\n        <h3>Escenarios &amp; Rigging<\/h3>\n        <p>\n          Truss, estructuras, sistemas de escenario y soluciones profesionales de montaje.\n          Prolyte, Global Truss, Layher y otros referentes del sector.\n        <\/p>\n      <\/article>\n\n      <article class=\"or-industry-category\">\n        <span>06<\/span>\n        <h3>Broadcast \u00b7 Streaming \u00b7 Software<\/h3>\n        <p>\n          Producci\u00f3n audiovisual, transmisi\u00f3n, redes de audio, software y herramientas\n          que conectan radio, video, estudio y eventos en vivo.\n        <\/p>\n      <\/article>\n\n    <\/div>\n\n    <div class=\"or-portal-note\">\n      OR Music Live es un medio independiente. La inclusi\u00f3n de fabricantes, marcas,\n      artistas o empresas tiene fines informativos y no implica patrocinio,\n      asociaci\u00f3n, representaci\u00f3n ni v\u00ednculo comercial.\n    <\/div>\n\n  <\/div>\n\n<\/section>\n\n<script>\n(function(){\n  const buttons = document.querySelectorAll(\".or-news-filter\");\n  const items = document.querySelectorAll(\".or-news-item\");\n\n  buttons.forEach(function(button){\n    button.addEventListener(\"click\",function(){\n      buttons.forEach(function(b){ b.classList.remove(\"is-active\"); });\n      button.classList.add(\"is-active\");\n\n      const wanted = button.getAttribute(\"data-or-news\");\n\n      items.forEach(function(item){\n        const category = item.getAttribute(\"data-or-category\");\n        item.hidden = !(wanted === \"all\" || wanted === category);\n      });\n    });\n  });\n})();\n<\/script>\n\n\n<!-- =========================================================\n     CONECTA CON OR MUSIC LIVE\n========================================================= -->\n\n<section class=\"or-connect-section\" id=\"vive\">\n\n  <div class=\"or-connect-inner\">\n\n    <div class=\"or-connect-kicker\">CONECTA CON<\/div>\n    <h2>OR MUSIC LIVE<\/h2>\n\n    <p class=\"or-connect-intro\">\n      Publicidad, patrocinios, promoci\u00f3n de eventos, colaboraciones\n      y propuestas comerciales.\n    <\/p>\n\n    <div class=\"or-connect-topics\">\n      <span>PUBLICIDAD<\/span>\n      <span>PATROCINIOS<\/span>\n      <span>EVENTOS<\/span>\n      <span>PROMOCIONES<\/span>\n      <span>COLABORACIONES<\/span>\n      <span>PROPUESTAS COMERCIALES<\/span>\n    <\/div>\n\n    <div class=\"or-connect-grid\">\n\n      <a class=\"or-connect-card\" href=\"mailto:ormusiclive@gmail.com\">\n        <small>CORREO OFICIAL<\/small>\n        <strong>ormusiclive@gmail.com<\/strong>\n        <span>Escr\u00edbenos para informaci\u00f3n comercial y propuestas.<\/span>\n      <\/a>\n\n      <div class=\"or-connect-card\">\n        <small>INSTAGRAM<\/small>\n        <strong>@ormusiclive<\/strong>\n        <span>Tambi\u00e9n puedes escribirnos por mensaje directo.<\/span>\n      <\/div>\n\n      <div class=\"or-connect-card\">\n        <small>TIKTOK<\/small>\n        <strong>@or.music.live<\/strong>\n        <span>Cont\u00e1ctanos por mensaje directo en nuestra cuenta oficial.<\/span>\n      <\/div>\n\n    <\/div>\n\n  <\/div>\n\n<\/section>\n\n\n<!-- =========================================================\n     FOOTER\n========================================================= -->\n\n<footer class=\"or-legal-footer\">\n\n\n  <div class=\"or-legal-footer-inner\">\n\n\n    <div class=\"or-legal-links\">\n\n\n      <span>\n        Derechos de Autor\n      <\/span>\n\n\n      <span>\n        Pol\u00edtica de Privacidad\n      <\/span>\n\n\n      <span>\n        Aviso Legal\n      <\/span>\n\n\n      <span>\n        Contacto\n      <\/span>\n\n\n    <\/div>\n\n\n\n    <div class=\"or-copyright-main\">\n\n      \u00a9 2026 OR Music Live \u00b7\n      Todos los derechos reservados.\n\n    <\/div>\n\n\n\n    <div class=\"or-copyright-copy\">\n\n      El nombre OR Music Live,\n      su identidad visual,\n      dise\u00f1o,\n      contenidos originales,\n      producciones\n      y elementos gr\u00e1ficos\n      est\u00e1n protegidos\n      por las normas aplicables\n      de propiedad intelectual.\n\n      Las marcas,\n      nombres comerciales,\n      im\u00e1genes,\n      composiciones\n      y grabaciones musicales\n      pertenecientes a terceros\n      son propiedad\n      de sus respectivos titulares.\n\n    <\/div>\n\n\n\n    <div class=\"or-creation-line\">\n\n      Concepto y creaci\u00f3n \u00b7\n      <strong>Rances Olivero<\/strong> \u00b7\n      OR Music Live\n\n    <\/div>\n\n\n  <\/div>\n\n\n<\/footer>\n\n\n<\/div>\n\n\n\n<script>\n\ndocument.addEventListener(\n\"DOMContentLoaded\",\nfunction(){\n\n\n\/* =========================================================\n   SE\u00d1AL REAL DE VIDEO \u00b7 MEDIAMTX\n========================================================= *\/\n\nconst VIDEO_STATUS_URL =\n\"https:\/\/video.ormusiclive.com:8888\/live\/index.m3u8\";\n\n\n\n\/* =========================================================\n   ELEMENTOS\n========================================================= *\/\n\nconst hub =\ndocument.getElementById(\n\"orListenHub\"\n);\n\n\nconst live =\ndocument.getElementById(\n\"orHomeLive\"\n);\n\n\nconst liveEyebrow =\ndocument.getElementById(\n\"orHomeLiveEyebrow\"\n);\n\n\nconst liveTitle =\ndocument.getElementById(\n\"orHomeLiveTitle\"\n);\n\n\nconst liveCopy =\ndocument.getElementById(\n\"orHomeLiveCopy\"\n);\n\n\nconst liveButton =\ndocument.getElementById(\n\"orHomeLiveButton\"\n);\n\n\nconst priorityText =\ndocument.getElementById(\n\"orLivePriorityText\"\n);\n\n\nif(\n!hub ||\n!live\n){\n\nreturn;\n\n}\n\n\n\n\/* =========================================================\n   CAMBIAR ESTADO VISUAL\n========================================================= *\/\n\nfunction setLiveState(\nactive\n){\n\n\nconst isLiveNow =\nBoolean(\nactive\n);\n\n\nhub.classList.toggle(\n\"is-live-now\",\nisLiveNow\n);\n\n\nlive.classList.toggle(\n\"is-live-active\",\nisLiveNow\n);\n\n\nlive.classList.toggle(\n\"is-standby\",\n!isLiveNow\n);\n\n\n\n\/* =========================================================\n   ESTAMOS EN VIVO\n========================================================= *\/\n\nif(\nisLiveNow\n){\n\n\nliveEyebrow.textContent =\n\"TRANSMISI\u00d3N ACTIVA\";\n\n\nliveTitle.textContent =\n\"\u25cf AL AIRE AHORA\";\n\n\nliveCopy.textContent =\n\"OR Music Live TV tiene contenido audiovisual al aire en este momento. Puedes entrar a la se\u00f1al o seguir usando Radio 24\/7 y Mixes & DJs.\";\n\n\nliveButton.textContent =\n\"VER OR MUSIC LIVE TV\";\n\n\npriorityText.textContent =\n\"\u25cf OR MUSIC LIVE TV al aire \u00b7 Radio 24\/7 y Mixes & DJs siguen disponibles.\";\n\n\n}\n\n\n\n\/* =========================================================\n   NO ESTAMOS EN VIVO\n========================================================= *\/\n\nelse{\n\n\nliveEyebrow.textContent =\n\"SALA AUDIOVISUAL\";\n\n\nliveTitle.textContent =\n\"OR MUSIC LIVE TV\";\n\n\nliveCopy.textContent =\n\"Transmisiones en vivo, programas pregrabados, entrevistas, videos y contenido audiovisual para tu disfrute.\";\n\n\nliveButton.textContent =\n\"ENTRAR A OR MUSIC LIVE TV\";\n\n\npriorityText.textContent =\n\"Radio 24\/7 y Mixes & DJs disponibles \u00b7 OR Music Live TV lista para cuando haya contenido al aire.\";\n\n\n}\n\n\n}\n\n\n\n\/* =========================================================\n   CONSULTAR MEDIAMTX\n========================================================= *\/\n\nasync function checkLive(){\n\n\ntry{\n\n\nconst response =\nawait fetch(\nVIDEO_STATUS_URL,\n{\ncache:\n\"no-store\"\n}\n);\n\n\nif(\n!response.ok\n){\n\n\nsetLiveState(\nfalse\n);\n\n\nreturn;\n\n\n}\n\n\nconst text =\nawait response.text();\n\n\n\nconst active =\ntext.includes(\n\"#EXTM3U\"\n);\n\n\nsetLiveState(\nactive\n);\n\n\n}\n\n\n\n\/* =========================================================\n   SI FALLA LA CONSULTA\n========================================================= *\/\n\ncatch(\nerror\n){\n\n\nsetLiveState(\nfalse\n);\n\n\n}\n\n\n}\n\n\n\n\/* =========================================================\n   INICIO\n========================================================= *\/\n\ncheckLive();\n\n\n\n\/* =========================================================\n   REVISAR CADA 8 SEGUNDOS\n========================================================= *\/\n\nsetInterval(\ncheckLive,\n8000\n);\n\n\n});\n\n<\/script>\n\n\n\n<script>\n\/* =========================================================\n   EVENTOS DESTACADOS \u00b7 CONFIGURACI\u00d3N INICIAL\n\n   IMPORTANTE:\n   - Si no hay evento principal, queda el espacio publicitario.\n   - Si un campo est\u00e1 vac\u00edo, no aparece.\n   - \"proximos\" puede tener 0, 1, 2 o 3 eventos.\n   - El enlace es opcional. Si est\u00e1 vac\u00edo, no aparece bot\u00f3n.\n   - M\u00e1s adelante estos datos se alimentar\u00e1n desde el panel.\n========================================================= *\/\n\n(function(){\n\n  const OR_EVENT_LOGO =\n  \"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\";\n\n\n  const OR_EVENTOS = {\n\n    principal: {\n      titulo: \"\",\n      fecha: \"\",\n      hora: \"\",\n      lugar: \"\",\n      descripcion: \"\",\n      nota: \"\",\n      imagen: \"\",\n      video: \"\",\n      enlace: \"\"\n    },\n\n    proximos: [\n      \/*\n      EJEMPLO PARA CUANDO CARGUEMOS EVENTOS:\n\n      {\n        titulo: \"Nombre del evento\",\n        fecha: \"29 de agosto de 2026\",\n        hora: \"9:00 PM\",\n        lugar: \"\",\n        descripcion: \"Descripci\u00f3n breve.\",\n        nota: \"Para informaci\u00f3n visite las redes oficiales del evento.\",\n        imagen: \"URL_DEL_FLYER\",\n        video: \"\",\n        enlace: \"\"\n      }\n      *\/\n    ]\n\n  };\n\n\n  function clean(value){\n    return typeof value === \"string\" ? value.trim() : \"\";\n  }\n\n\n  function hasAnyEventData(event){\n    if(!event) return false;\n\n    return [\n      event.titulo,\n      event.fecha,\n      event.hora,\n      event.lugar,\n      event.descripcion,\n      event.nota,\n      event.imagen,\n      event.video,\n      event.enlace\n    ].some(value => clean(value));\n  }\n\n\n  function setOptionalRow(rowId,valueId,value){\n    const row = document.getElementById(rowId);\n    const field = document.getElementById(valueId);\n\n    if(!row || !field) return;\n\n    const finalValue = clean(value);\n\n    if(finalValue){\n      field.textContent = finalValue;\n      row.hidden = false;\n    }else{\n      field.textContent = \"\";\n      row.hidden = true;\n    }\n  }\n\n\n  \/* =======================================================\n     EVENTO PRINCIPAL\n  ======================================================= *\/\n\n  const principal = OR_EVENTOS.principal;\n  const principalExists = hasAnyEventData(principal);\n\n  const principalData = document.getElementById(\"orFeaturedData\");\n  const principalMedia = document.getElementById(\"orFeaturedMedia\");\n  const principalFrame = document.getElementById(\"orFeaturedMediaFrame\");\n  const principalPlaceholder = document.getElementById(\"orFeaturedPlaceholder\");\n\n  if(principalExists){\n\n    principalData.classList.add(\"has-event\");\n\n    document.getElementById(\"orFeaturedTitle\").textContent =\n    clean(principal.titulo);\n\n    document.getElementById(\"orFeaturedDescription\").textContent =\n    clean(principal.descripcion);\n\n    const principalNote = document.getElementById(\"orFeaturedNote\");\n    principalNote.textContent = clean(principal.nota);\n    principalNote.style.display = clean(principal.nota) ? \"block\" : \"none\";\n\n    setOptionalRow(\n      \"orFeaturedDateRow\",\n      \"orFeaturedDate\",\n      principal.fecha\n    );\n\n    setOptionalRow(\n      \"orFeaturedTimeRow\",\n      \"orFeaturedTime\",\n      principal.hora\n    );\n\n    setOptionalRow(\n      \"orFeaturedLocationRow\",\n      \"orFeaturedLocation\",\n      principal.lugar\n    );\n\n\n    const principalAction =\n    document.getElementById(\"orFeaturedAction\");\n\n    if(clean(principal.enlace)){\n      principalAction.href = clean(principal.enlace);\n      principalAction.classList.add(\"is-visible\");\n    }\n\n\n    if(clean(principal.video)){\n\n      principalPlaceholder.style.display = \"none\";\n\n      const video = document.createElement(\"video\");\n      video.src = clean(principal.video);\n      video.controls = true;\n      video.playsInline = true;\n      video.preload = \"metadata\";\n\n      principalFrame.appendChild(video);\n\n    }else if(clean(principal.imagen)){\n\n      principalPlaceholder.style.display = \"none\";\n\n      const img = document.createElement(\"img\");\n      img.src = clean(principal.imagen);\n      img.alt = clean(principal.titulo) || \"Evento OR Music Live\";\n\n      principalFrame.appendChild(img);\n\n    }\n\n\n    principalMedia.classList.add(\"is-clickable\");\n    principalMedia.setAttribute(\n      \"title\",\n      \"Haz clic para ampliar el evento\"\n    );\n\n    principalMedia.addEventListener(\n      \"click\",\n      function(event){\n        if(event.target.closest(\"video\")) return;\n        openEventModal(principal);\n      }\n    );\n\n  }\n\n\n  \/* =======================================================\n     PR\u00d3XIMOS EVENTOS \u00b7 M\u00c1XIMO 3\n  ======================================================= *\/\n\n  \n\/* OR HOME AD V2 *\/\nasync function orLoadHomeAd(){\nreturn false;\n}\n\n\/* =======================================================\n   OR HOME LIVE MEDIA CONTROLLER V1 \u00b7 20260901\n   PROMO \/ DJ \/ PROMO + DJ\n======================================================= *\/\n\nconst OR_HOME_LIVE_NOWPLAYING =\n  \"https:\/\/radio.ormusiclive.com\/api\/nowplaying\/ormusiclive-mixes\";\n\nconst OR_HOME_CURRENT_DJ =\n  \"https:\/\/video.ormusiclive.com:9443\/api\/mixes-current-dj\";\n\nconst OR_HOME_DJ_PUBLIC =\n  \"https:\/\/video.ormusiclive.com:9443\/dj-public\/\";\n\nconst OR_HOME_AD_PUBLIC = \"\";\n\nlet orHomeLiveMediaToken = 0;\nlet orHomeLiveMediaSignature = \"\";\nlet orHomeLiveMediaTimer = null;\n\nfunction orHomeDelay(ms){\n  return new Promise(function(resolve){\n    setTimeout(resolve, ms);\n  });\n}\n\nasync function orHomeFetchJSON(url){\n\n  const controller =\n    new AbortController();\n\n  const timeout =\n    setTimeout(\n      function(){\n        controller.abort();\n      },\n      4500\n    );\n\n  try{\n\n    const response =\n      await fetch(\n        url +\n        (url.includes(\"?\") ? \"&\" : \"?\") +\n        \"t=\" +\n        Date.now(),\n        {\n          cache:\"no-store\",\n          signal:controller.signal\n        }\n      );\n\n    if(!response.ok){\n      throw new Error(\n        \"HTTP \" +\n        response.status\n      );\n    }\n\n    return await response.json();\n\n  }finally{\n\n    clearTimeout(timeout);\n\n  }\n\n}\n\n\nfunction orHomePrepareLiveFrame(title){\n  const media =\n    document.getElementById(\"orFeaturedMedia\");\n\n  const frame =\n    document.getElementById(\"orFeaturedMediaFrame\");\n\n  const ph =\n    document.getElementById(\"orFeaturedPlaceholder\");\n\n  const badge =\n    media\n    ? media.querySelector(\".or-featured-badge\")\n    : null;\n\n  if(!media || !frame || !ph){\n    return null;\n  }\n\n  media.classList.remove(\"is-clickable\");\n\n  if(title){\n    media.title = title;\n  }\n\n  if(badge){\n    badge.style.display = \"none\";\n  }\n\n  ph.hidden = true;\n  ph.style.display = \"none\";\n\n  frame.innerHTML = \"\";\n  frame.style.position = \"relative\";\n\n  return {\n    media:media,\n    frame:frame,\n    ph:ph\n  };\n}\n\nfunction orHomeAddSoundButton(frame,video){\n  const btn =\n    document.createElement(\"button\");\n\n  btn.type = \"button\";\n  btn.className = \"or-home-ad-sound\";\n  btn.textContent = \"Activar sonido\";\n\n  btn.style.cssText =\n    \"position:absolute;right:12px;bottom:12px;z-index:8;\" +\n    \"border:1px solid rgba(255,255,255,.28);\" +\n    \"border-radius:999px;padding:8px 12px;\" +\n    \"background:rgba(5,9,18,.82);color:#fff;\" +\n    \"font-size:11px;font-weight:800;cursor:pointer;\";\n\n  btn.addEventListener(\n    \"click\",\n    function(e){\n      e.preventDefault();\n      e.stopPropagation();\n\n      video.muted = !video.muted;\n\n      btn.textContent =\n        video.muted\n        ? \"Activar sonido\"\n        : \"Silenciar\";\n\n      if(!video.muted){\n        video.play().catch(function(){});\n      }\n    }\n  );\n\n  frame.appendChild(btn);\n}\n\nfunction orHomeRenderImage(url,title){\n  const ui =\n    orHomePrepareLiveFrame(title);\n\n  if(!ui || !url){\n    return false;\n  }\n\n  const img =\n    document.createElement(\"img\");\n\n  img.src = url;\n  img.alt = title || \"OR Music Live\";\n\n  img.style.cssText =\n    \"display:block;width:100%;height:100%;object-fit:cover;\";\n\n  ui.frame.appendChild(img);\n\n  return true;\n}\n\nfunction orHomeRenderVideo(\n  url,\n  title,\n  loop,\n  allowSound\n){\n\n  return new Promise(function(resolve){\n\n    const ui =\n      orHomePrepareLiveFrame(title);\n\n    if(!ui || !url){\n      resolve(false);\n      return;\n    }\n\n    const video =\n      document.createElement(\"video\");\n\n    video.src = url;\n    video.autoplay = true;\n    video.loop = !!loop;\n    video.muted = true;\n    video.defaultMuted = true;\n    video.playsInline = true;\n    video.preload = \"metadata\";\n    video.controls = false;\n\n    video.style.cssText =\n      \"display:block;width:100%;height:100%;object-fit:cover;\";\n\n    ui.frame.appendChild(video);\n\n    if(allowSound){\n      orHomeAddSoundButton(\n        ui.frame,\n        video\n      );\n    }\n\n    if(loop){\n\n      video.play()\n      .then(function(){\n        resolve(true);\n      })\n      .catch(function(){\n        resolve(false);\n      });\n\n      return;\n    }\n\n    let finished = false;\n    let safetyTimer = null;\n\n    function finish(ok){\n\n      if(finished){\n        return;\n      }\n\n      finished = true;\n\n      if(safetyTimer){\n        clearTimeout(safetyTimer);\n      }\n\n      resolve(ok);\n    }\n\n    function armDurationFallback(){\n\n      const duration =\n        Number(video.duration);\n\n      if(\n        Number.isFinite(duration) &&\n        duration > 0\n      ){\n\n        if(safetyTimer){\n          clearTimeout(safetyTimer);\n        }\n\n        safetyTimer =\n          setTimeout(\n            function(){\n              finish(true);\n            },\n            Math.ceil(duration * 1000) + 1800\n          );\n      }\n    }\n\n    video.addEventListener(\n      \"loadedmetadata\",\n      armDurationFallback,\n      {once:true}\n    );\n\n    video.addEventListener(\n      \"ended\",\n      function(){\n        finish(true);\n      },\n      {once:true}\n    );\n\n    video.addEventListener(\n      \"error\",\n      function(){\n        finish(false);\n      },\n      {once:true}\n    );\n\n    \/*\n      Respaldo extremo:\n      evita que una fase quede atrapada indefinidamente\n      si el navegador no dispara ended ni loadedmetadata.\n    *\/\n    safetyTimer =\n      setTimeout(\n        function(){\n          finish(true);\n        },\n        600000\n      );\n\n    video.play()\n    .then(function(){\n\n      if(video.readyState >= 1){\n        armDurationFallback();\n      }\n\n    })\n    .catch(function(){\n      finish(false);\n    });\n\n  });\n\n}\n\nasync function orHomeGetPromo(){\nreturn null;\n}\n\nasync function orHomeShowPromoPhase(token){\n\n  const ad =\n    await orHomeGetPromo();\n\n  if(token !== orHomeLiveMediaToken){\n    return false;\n  }\n\n  if(\n    !ad ||\n    !ad.enabled ||\n    !ad.media_url\n  ){\n    return false;\n  }\n\n  if(ad.media_type === \"video\"){\n    return await orHomeRenderVideo(\n      ad.media_url,\n      ad.title || \"Publicidad OR Music Live\",\n      false,\n      true\n    );\n  }\n\n  if(ad.media_type === \"image\"){\n    const ok =\n      orHomeRenderImage(\n        ad.media_url,\n        ad.title || \"Publicidad OR Music Live\"\n      );\n\n    if(ok){\n      await orHomeDelay(12000);\n    }\n\n    return ok;\n  }\n\n  return false;\n}\n\nasync function orHomeShowDJPhase(\n  profile,\n  djName,\n  token,\n  loop\n){\n  if(token !== orHomeLiveMediaToken){\n    return false;\n  }\n\n  if(\n    profile &&\n    profile.has_home_video &&\n    profile.home_video_url\n  ){\n    return await orHomeRenderVideo(\n      profile.home_video_url,\n      (djName || \"DJ\") + \" \u00b7 EN VIVO\",\n      loop,\n      false\n    );\n  }\n\n  if(\n    profile &&\n    profile.has_home_image &&\n    profile.home_image_url\n  ){\n    const ok =\n      orHomeRenderImage(\n        profile.home_image_url,\n        (djName || \"DJ\") + \" \u00b7 EN VIVO\"\n      );\n\n    if(ok && !loop){\n      await orHomeDelay(12000);\n    }\n\n    return ok;\n  }\n\n  return false;\n}\n\nlet orHomeAlternateTimer = null;\n\n\nfunction orHomeAlternateClearTimer(){\n\n  if(orHomeAlternateTimer){\n    clearTimeout(orHomeAlternateTimer);\n    orHomeAlternateTimer = null;\n  }\n\n}\n\n\nfunction orHomeAlternateSchedule(\n  ms,\n  token,\n  callback\n){\n\n  orHomeAlternateClearTimer();\n\n  orHomeAlternateTimer =\n    setTimeout(\n      function(){\n\n        orHomeAlternateTimer = null;\n\n        if(\n          token !==\n          orHomeLiveMediaToken\n        ){\n          return;\n        }\n\n        callback();\n\n      },\n      Math.max(1000, ms) + 250\n    );\n\n}\n\n\nfunction orHomeAlternateVideo(\n  url,\n  title,\n  token,\n  allowSound,\n  nextPhase\n){\n\n  const ui =\n    orHomePrepareLiveFrame(title);\n\n  if(!ui || !url){\n    return false;\n  }\n\n  const video =\n    document.createElement(\"video\");\n\n  video.src = url;\n  video.autoplay = true;\n  video.loop = true;\n  video.muted = true;\n  video.defaultMuted = true;\n  video.playsInline = true;\n  video.preload = \"metadata\";\n  video.controls = false;\n\n  video.style.cssText =\n    \"display:block;width:100%;height:100%;object-fit:cover;\";\n\n  ui.frame.appendChild(video);\n\n  if(allowSound){\n    orHomeAddSoundButton(\n      ui.frame,\n      video\n    );\n  }\n\n  let scheduled = false;\n\n  function scheduleByDuration(){\n\n    if(scheduled){\n      return;\n    }\n\n    const duration =\n      Number(video.duration);\n\n    if(\n      Number.isFinite(duration) &&\n      duration > 0\n    ){\n\n      scheduled = true;\n\n      orHomeAlternateSchedule(\n        Math.ceil(duration * 1000),\n        token,\n        nextPhase\n      );\n\n    }\n\n  }\n\n  video.addEventListener(\n    \"loadedmetadata\",\n    scheduleByDuration,\n    {once:true}\n  );\n\n  video.play()\n  .then(function(){\n\n    if(\n      token !==\n      orHomeLiveMediaToken\n    ){\n      return;\n    }\n\n    if(video.readyState >= 1){\n      scheduleByDuration();\n    }\n\n  })\n  .catch(function(){\n\n    if(\n      token ===\n      orHomeLiveMediaToken\n    ){\n      orHomeAlternateSchedule(\n        1500,\n        token,\n        nextPhase\n      );\n    }\n\n  });\n\n  \/*\n    Solo respaldo si el navegador no logra\n    leer la duraci\u00f3n del MP4.\n  *\/\n  setTimeout(\n    function(){\n\n      if(\n        !scheduled &&\n        token ===\n        orHomeLiveMediaToken\n      ){\n\n        scheduled = true;\n\n        orHomeAlternateSchedule(\n          30000,\n          token,\n          nextPhase\n        );\n\n      }\n\n    },\n    4000\n  );\n\n  return true;\n\n}\n\n\nfunction orHomeAlternateDJ(\n  profile,\n  djName,\n  ad,\n  token\n){\n\n  if(\n    token !==\n    orHomeLiveMediaToken\n  ){\n    return;\n  }\n\n  const goPromo =\n    function(){\n      orHomeAlternatePromo(\n        profile,\n        djName,\n        ad,\n        token\n      );\n    };\n\n  if(\n    profile &&\n    profile.has_home_video &&\n    profile.home_video_url\n  ){\n\n    const ok =\n      orHomeAlternateVideo(\n        profile.home_video_url,\n        (djName || \"DJ\") + \" \u00b7 EN VIVO\",\n        token,\n        false,\n        goPromo\n      );\n\n    if(ok){\n      return;\n    }\n\n  }\n\n  if(\n    profile &&\n    profile.has_home_image &&\n    profile.home_image_url\n  ){\n\n    const ok =\n      orHomeRenderImage(\n        profile.home_image_url,\n        (djName || \"DJ\") + \" \u00b7 EN VIVO\"\n      );\n\n    if(ok){\n\n      orHomeAlternateSchedule(\n        12000,\n        token,\n        goPromo\n      );\n\n      return;\n    }\n\n  }\n\n  orLoadHomeAd();\n\n}\n\n\nfunction orHomeAlternatePromo(\n  profile,\n  djName,\n  ad,\n  token\n){\n\n  if(\n    token !==\n    orHomeLiveMediaToken\n  ){\n    return;\n  }\n\n  const goDJ =\n    function(){\n      orHomeAlternateDJ(\n        profile,\n        djName,\n        ad,\n        token\n      );\n    };\n\n  if(\n    ad &&\n    ad.enabled &&\n    ad.media_url\n  ){\n\n    if(ad.media_type === \"video\"){\n\n      const ok =\n        orHomeAlternateVideo(\n          ad.media_url,\n          ad.title ||\n            \"Publicidad OR Music Live\",\n          token,\n          true,\n          goDJ\n        );\n\n      if(ok){\n        return;\n      }\n\n    }\n\n    if(ad.media_type === \"image\"){\n\n      const ok =\n        orHomeRenderImage(\n          ad.media_url,\n          ad.title ||\n            \"Publicidad OR Music Live\"\n        );\n\n      if(ok){\n\n        orHomeAlternateSchedule(\n          12000,\n          token,\n          goDJ\n        );\n\n        return;\n      }\n\n    }\n\n  }\n\n  orHomeAlternateSchedule(\n    1500,\n    token,\n    goDJ\n  );\n\n}\n\n\nfunction orHomeStartAlternate(\n  profile,\n  djName,\n  ad,\n  token\n){\n\n  orHomeAlternateClearTimer();\n\n  orHomeAlternateDJ(\n    profile,\n    djName,\n    ad,\n    token\n  );\n\n}\n\n\nasync function orHomeEvaluateLiveMedia(){\nreturn false;\n}\n\nasync function orHomeLiveMediaLoop(){\n\n  try{\n\n    await orHomeEvaluateLiveMedia();\n\n  }catch(e){\n\n    \/*\n      Una consulta fallida nunca debe detener\n      las siguientes comprobaciones.\n    *\/\n\n  }finally{\n\n    orHomeLiveMediaTimer =\n      setTimeout(\n        orHomeLiveMediaLoop,\n        5000\n      );\n\n  }\n\n}\n\n\norHomeLiveMediaLoop();\n\n\nconst upcoming = Array.isArray(OR_EVENTOS.proximos)\n    ? OR_EVENTOS.proximos.filter(hasAnyEventData).slice(0,3)\n    : [];\n\n  const upcomingSection =\n  document.getElementById(\"orUpcomingEvents\");\n\n  const upcomingGrid =\n  document.getElementById(\"orUpcomingEventsGrid\");\n\n\n  if(upcoming.length){\n\n    upcomingSection.hidden = false;\n\n    upcoming.forEach(function(event){\n\n      const card = document.createElement(\"button\");\n      card.type = \"button\";\n      card.className = \"or-upcoming-event-card\";\n\n      card.setAttribute(\n        \"aria-label\",\n        \"Ampliar \" + (clean(event.titulo) || \"pr\u00f3ximo evento\")\n      );\n\n\n      const thumb = document.createElement(\"div\");\n      thumb.className = \"or-upcoming-event-thumb\";\n\n      const thumbImage = document.createElement(\"img\");\n\n      if(clean(event.imagen)){\n        thumbImage.src = clean(event.imagen);\n        thumbImage.alt = clean(event.titulo) || \"Evento\";\n      }else{\n        thumbImage.src = OR_EVENT_LOGO;\n        thumbImage.alt = \"OR Music Live\";\n        thumbImage.className = \"or-upcoming-logo\";\n      }\n\n      thumb.appendChild(thumbImage);\n\n\n      const body = document.createElement(\"div\");\n      body.className = \"or-upcoming-event-body\";\n\n      if(clean(event.fecha)){\n        const date = document.createElement(\"div\");\n        date.className = \"or-upcoming-event-date\";\n        date.textContent = clean(event.fecha);\n        body.appendChild(date);\n      }\n\n      if(clean(event.titulo)){\n        const title = document.createElement(\"div\");\n        title.className = \"or-upcoming-event-title\";\n        title.textContent = clean(event.titulo);\n        body.appendChild(title);\n      }\n\n      if(clean(event.hora)){\n        const time = document.createElement(\"div\");\n        time.className = \"or-upcoming-event-time\";\n        time.textContent = clean(event.hora);\n        body.appendChild(time);\n      }\n\n      card.appendChild(thumb);\n      card.appendChild(body);\n\n      card.addEventListener(\n        \"click\",\n        function(){\n          openEventModal(event);\n        }\n      );\n\n      upcomingGrid.appendChild(card);\n\n    });\n\n  }\n\n\n  \/* =======================================================\n     VISOR GRANDE\n  ======================================================= *\/\n\n  const modal = document.getElementById(\"orEventModal\");\n  const modalClose = document.getElementById(\"orEventModalClose\");\n\n\n  function openEventModal(event){\n\n    const modalTitle = document.getElementById(\"orEventModalTitle\");\n    modalTitle.textContent = clean(event.titulo);\n    modalTitle.style.display = clean(event.titulo) ? \"block\" : \"none\";\n\n    setOptionalRow(\n      \"orEventModalDateRow\",\n      \"orEventModalDate\",\n      event.fecha\n    );\n\n    setOptionalRow(\n      \"orEventModalTimeRow\",\n      \"orEventModalTime\",\n      event.hora\n    );\n\n    setOptionalRow(\n      \"orEventModalLocationRow\",\n      \"orEventModalLocation\",\n      event.lugar\n    );\n\n\n    const modalDescription =\n    document.getElementById(\"orEventModalDescription\");\n\n    modalDescription.textContent = clean(event.descripcion);\n    modalDescription.style.display =\n    clean(event.descripcion) ? \"block\" : \"none\";\n\n\n    const modalNote =\n    document.getElementById(\"orEventModalNote\");\n\n    modalNote.textContent = clean(event.nota);\n    modalNote.style.display =\n    clean(event.nota) ? \"block\" : \"none\";\n\n\n    const modalMedia =\n    document.getElementById(\"orEventModalMedia\");\n\n    modalMedia.innerHTML = \"\";\n\n\n    if(clean(event.video)){\n\n      const video = document.createElement(\"video\");\n      video.src = clean(event.video);\n      video.controls = true;\n      video.playsInline = true;\n      video.preload = \"metadata\";\n\n      modalMedia.appendChild(video);\n\n    }else if(clean(event.imagen)){\n\n      const img = document.createElement(\"img\");\n      img.src = clean(event.imagen);\n      img.alt = clean(event.titulo) || \"Evento OR Music Live\";\n\n      modalMedia.appendChild(img);\n\n    }else{\n\n      const fallback = document.createElement(\"div\");\n      fallback.className = \"or-event-modal-fallback\";\n\n      const logo = document.createElement(\"img\");\n      logo.src = OR_EVENT_LOGO;\n      logo.alt = \"OR Music Live\";\n\n      const copy = document.createElement(\"div\");\n      copy.textContent =\n      \"ESPACIO PUBLICITARIO PARA EVENTOS Y ESPECT\u00c1CULOS\";\n\n      fallback.appendChild(logo);\n      fallback.appendChild(copy);\n      modalMedia.appendChild(fallback);\n\n    }\n\n\n    const modalAction =\n    document.getElementById(\"orEventModalAction\");\n\n    modalAction.classList.remove(\"is-visible\");\n    modalAction.removeAttribute(\"href\");\n\n    if(clean(event.enlace)){\n      modalAction.href = clean(event.enlace);\n      modalAction.classList.add(\"is-visible\");\n    }\n\n\n    modal.classList.add(\"is-open\");\n    modal.setAttribute(\"aria-hidden\",\"false\");\n    document.body.style.overflow = \"hidden\";\n\n  }\n\n\n  function closeEventModal(){\n\n    modal.classList.remove(\"is-open\");\n    modal.setAttribute(\"aria-hidden\",\"true\");\n    document.body.style.overflow = \"\";\n\n    const modalVideo = modal.querySelector(\"video\");\n\n    if(modalVideo){\n      modalVideo.pause();\n    }\n\n  }\n\n\n  modalClose.addEventListener(\n    \"click\",\n    closeEventModal\n  );\n\n\n  modal.addEventListener(\n    \"click\",\n    function(event){\n      if(event.target === modal){\n        closeEventModal();\n      }\n    }\n  );\n\n\n  document.addEventListener(\n    \"keydown\",\n    function(event){\n      if(\n        event.key === \"Escape\" &&\n        modal.classList.contains(\"is-open\")\n      ){\n        closeEventModal();\n      }\n    }\n  );\n\n})();\n<\/script>\n\n<!-- =========================================================\n     OR HOME \u00b7 AVISO \u00daNICO DJ \/ LIVE TV \u00b7 20260907\n     SOLO AFECTA LA FRANJA DEBAJO DE LA PUBLICIDAD\n========================================================= -->\n<style id=\"orUnifiedLiveBannerStyle\">\n\/* Oculta cualquier panel viejo de DJ para que nunca haya dos avisos. *\/\n#orFeaturedEvent .or-home-dj-event-live:not(#orUnifiedLiveBanner){\n  display:none!important;\n}\n\n\/* Misma zona donde hoy aparece PR\u00d3XIMO EVENTO. *\/\n#orFeaturedEvent .or-featured-info{\n  position:relative!important;\n  overflow:hidden!important;\n}\n\n\/* Mismo dise\u00f1o del aviso rojo de DJ. *\/\n#orUnifiedLiveBanner{\n  display:none;\n  position:absolute;\n  inset:0;\n  z-index:30;\n  padding:18px 22px;\n  background:\n    linear-gradient(\n      115deg,\n      rgba(126,10,25,.98),\n      rgba(71,4,15,.98) 55%,\n      rgba(25,8,13,.98)\n    );\n  border:1px solid rgba(255,87,105,.55);\n  color:#fff;\n}\n\n#orUnifiedLiveBanner.is-visible{\n  display:flex;\n  align-items:center;\n  justify-content:space-between;\n  gap:22px;\n}\n\n#orUnifiedLiveBanner .or-home-dj-event-copy{\n  min-width:0;\n}\n\n#orUnifiedLiveBanner .or-home-dj-event-kicker{\n  display:flex;\n  align-items:center;\n  gap:9px;\n  margin-bottom:7px;\n  color:#ffd8de;\n  font-size:10px;\n  font-weight:950;\n  letter-spacing:1.4px;\n  text-transform:uppercase;\n}\n\n#orUnifiedLiveBanner .or-home-dj-event-dot{\n  width:10px;\n  height:10px;\n  min-width:10px;\n  border-radius:50%;\n  background:#ff4058;\n  box-shadow:\n    0 0 0 5px rgba(255,64,88,.15),\n    0 0 14px rgba(255,64,88,.95);\n  animation:orUnifiedLivePulse 1.2s ease-in-out infinite;\n}\n\n#orUnifiedLiveBanner .or-home-dj-event-name{\n  margin:0;\n  color:#fff;\n  font-size:22px;\n  font-weight:950;\n  line-height:1.12;\n  letter-spacing:.2px;\n}\n\n#orUnifiedLiveBanner .or-home-dj-event-description{\n  margin-top:7px;\n  color:#f4cdd3;\n  font-size:12px;\n  font-weight:700;\n}\n\n#orUnifiedLiveBanner .or-home-dj-event-button{\n  flex:none;\n  display:inline-flex;\n  align-items:center;\n  justify-content:center;\n  min-height:42px;\n  padding:10px 17px;\n  border-radius:11px;\n  background:#fff;\n  color:#6f0819!important;\n  text-decoration:none!important;\n  font-size:10px;\n  font-weight:950;\n  letter-spacing:.5px;\n  box-shadow:0 5px 18px rgba(0,0,0,.18);\n}\n\n#orUnifiedLiveBanner .or-home-dj-event-button:hover{\n  transform:translateY(-1px);\n}\n\n@keyframes orUnifiedLivePulse{\n  0%,100%{\n    transform:scale(.85);\n    opacity:.76;\n  }\n  50%{\n    transform:scale(1.18);\n    opacity:1;\n  }\n}\n\n@media(max-width:650px){\n  #orUnifiedLiveBanner{\n    padding:14px 15px;\n  }\n\n  #orUnifiedLiveBanner.is-visible{\n    flex-direction:column;\n    align-items:stretch;\n    justify-content:center;\n    gap:11px;\n  }\n\n  #orUnifiedLiveBanner .or-home-dj-event-name{\n    font-size:17px;\n  }\n\n  #orUnifiedLiveBanner .or-home-dj-event-description{\n    font-size:10px;\n  }\n\n  #orUnifiedLiveBanner .or-home-dj-event-button{\n    width:100%;\n    min-height:36px;\n    padding:8px 12px;\n  }\n}\n<\/style>\n\n<script id=\"orUnifiedLiveBannerScript\">\ndocument.addEventListener(\"DOMContentLoaded\",function(){\n  const featuredEvent = document.getElementById(\"orFeaturedEvent\");\n  if(!featuredEvent){\n    return;\n  }\n\n  const eventInfo = featuredEvent.querySelector(\".or-featured-info\");\n  if(!eventInfo){\n    return;\n  }\n\n  const panel = document.createElement(\"div\");\n  panel.id = \"orUnifiedLiveBanner\";\n  panel.className = \"or-home-dj-event-live\";\n  panel.setAttribute(\"aria-live\",\"polite\");\n  panel.innerHTML = `\n    <div class=\"or-home-dj-event-copy\">\n      <div class=\"or-home-dj-event-kicker\" id=\"orUnifiedLiveKicker\">\n        <span class=\"or-home-dj-event-dot\"><\/span>\n        TRANSMISI\u00d3N EN VIVO\n      <\/div>\n\n      <h2 class=\"or-home-dj-event-name\" id=\"orUnifiedLiveName\">\n        EN VIVO AHORA\n      <\/h2>\n\n      <div class=\"or-home-dj-event-description\" id=\"orUnifiedLiveDescription\"><\/div>\n    <\/div>\n\n    <a class=\"or-home-dj-event-button\" id=\"orUnifiedLiveButton\" href=\"#\">\n      ENTRAR \u2192\n    <\/a>\n  `;\n\n  eventInfo.appendChild(panel);\n\n  const kicker = document.getElementById(\"orUnifiedLiveKicker\");\n  const name = document.getElementById(\"orUnifiedLiveName\");\n  const description = document.getElementById(\"orUnifiedLiveDescription\");\n  const button = document.getElementById(\"orUnifiedLiveButton\");\n\n  const NOWPLAYING_URL =\n    \"https:\/\/radio.ormusiclive.com\/api\/nowplaying\/ormusiclive-mixes\";\n\n  const SELECTED_DJ_URL =\n    \"https:\/\/video.ormusiclive.com:9443\/api\/mixes-current-dj\";\n\n  let offChecks = 0;\n\n  async function fetchJson(url){\n    const response = await fetch(\n      url + (url.includes(\"?\") ? \"&\" : \"?\") + \"t=\" + Date.now(),\n      {cache:\"no-store\"}\n    );\n\n    if(!response.ok){\n      throw new Error(\"HTTP \" + response.status);\n    }\n\n    return await response.json();\n  }\n\n  function showDj(djName){\n    offChecks = 0;\n\n    const cleanName =\n      djName && String(djName).trim()\n      ? String(djName).trim()\n      : \"DJ\";\n\n    kicker.innerHTML =\n      '<span class=\"or-home-dj-event-dot\"><\/span>' +\n      'MIXES &amp; DJS \u00b7 TRANSMISI\u00d3N EN VIVO';\n\n    name.textContent =\n      cleanName.toUpperCase() + \" \u00b7 EN VIVO\";\n\n    description.textContent =\n      \"Est\u00e1 transmitiendo ahora en OR Music Live. \" +\n      \"Escucha la sesi\u00f3n completa en Mixes & DJs.\";\n\n    button.textContent =\n      \"ESCUCHAR EN MIXES & DJS \u2192\";\n\n    button.href =\n      \"https:\/\/ormusiclive.com\/?page_id=409\";\n\n    panel.classList.add(\"is-visible\");\n  }\n\n  function showTv(){\n    offChecks = 0;\n\n    kicker.innerHTML =\n      '<span class=\"or-home-dj-event-dot\"><\/span>' +\n      'OR MUSIC LIVE TV \u00b7 TRANSMISI\u00d3N EN VIVO';\n\n    name.textContent =\n      \"TRANSMISI\u00d3N EN VIVO AHORA\";\n\n    description.textContent =\n      \"OR Music Live TV est\u00e1 transmitiendo en este momento. \" +\n      \"Entra para ver la se\u00f1al.\";\n\n    button.textContent =\n      \"VER OR MUSIC LIVE TV \u2192\";\n\n    button.href =\n      \"https:\/\/ormusiclive.com\/?page_id=411\";\n\n    panel.classList.add(\"is-visible\");\n  }\n\n  function showNextEvent(){\n    offChecks += 1;\n\n    if(offChecks >= 2){\n      panel.classList.remove(\"is-visible\");\n    }\n  }\n\n  async function checkUnifiedLive(){\n    let djLive = false;\n    let djName = \"\";\n\n    try{\n      const nowPlaying = await fetchJson(NOWPLAYING_URL);\n      const live = nowPlaying && nowPlaying.live ? nowPlaying.live : {};\n\n      djLive = Boolean(\n        live.is_live === true ||\n        live.is_live === 1\n      );\n\n      if(djLive){\n        try{\n          const selected = await fetchJson(SELECTED_DJ_URL);\n          djName =\n            selected && selected.name\n            ? String(selected.name).trim()\n            : \"\";\n        }catch(e){}\n      }\n    }catch(e){}\n\n    \/* DJ tiene prioridad si coinciden DJ y LIVE TV. *\/\n    if(djLive){\n      showDj(djName);\n      return;\n    }\n\n    \/* Reutiliza la detecci\u00f3n LIVE TV que ya funciona en la portada. *\/\n    const liveTvCard = document.getElementById(\"orHomeLive\");\n    const tvLive = Boolean(\n      liveTvCard &&\n      liveTvCard.classList.contains(\"is-live-active\")\n    );\n\n    if(tvLive){\n      showTv();\n      return;\n    }\n\n    showNextEvent();\n  }\n\n  checkUnifiedLive();\n  setInterval(checkUnifiedLive,5000);\n});\n<\/script>\n\n\n<style id=\"or-menu-scroll-suave-final\">\n\/* OR-MENU-SCROLL-SUAVE-FINAL *\/<br \/>\nhtml{<br \/>\n  scroll-behavior:smooth!important;<br \/>\n}<br \/>\n#patrocinantes,<br \/>\n#actualidad,<br \/>\n#xperience,<br \/>\n#industria,<br \/>\n#vive{<br \/>\n  scroll-margin-top:90px;<br \/>\n}<br \/>\n<\/style>\n<p><!-- OR-EQUAL-HEIGHT-BACKTOP-FINAL --><\/p>\n<style id=\"or-equal-height-backtop-final\">\n<p>\/* Mantener las dos columnas del mismo ancho *\/<br \/>\n.or-top-experience-inner{<br \/>\n  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;<br \/>\n}<\/p>\n<p>\/* Bot\u00f3n flotante para volver arriba *\/<br \/>\n#orBackToTop{<br \/>\n  position:fixed;<br \/>\n  right:22px;<br \/>\n  bottom:24px;<br \/>\n  width:48px;<br \/>\n  height:48px;<br \/>\n  border-radius:50%;<br \/>\n  border:1px solid rgba(255,255,255,.30);<br \/>\n  background:rgba(5,8,18,.88);<br \/>\n  color:#fff;<br \/>\n  font-size:25px;<br \/>\n  font-weight:700;<br \/>\n  line-height:1;<br \/>\n  display:flex;<br \/>\n  align-items:center;<br \/>\n  justify-content:center;<br \/>\n  cursor:pointer;<br \/>\n  z-index:99999;<br \/>\n  opacity:0;<br \/>\n  visibility:hidden;<br \/>\n  pointer-events:none;<br \/>\n  transform:translateY(10px);<br \/>\n  transition:opacity .22s ease, transform .22s ease, visibility .22s ease;<br \/>\n  box-shadow:0 8px 25px rgba(0,0,0,.35);<br \/>\n  backdrop-filter:blur(8px);<br \/>\n  -webkit-backdrop-filter:blur(8px);<br \/>\n}<\/p>\n<p>#orBackToTop.or-visible{<br \/>\n  opacity:1;<br \/>\n  visibility:visible;<br \/>\n  pointer-events:auto;<br \/>\n  transform:translateY(0);<br \/>\n}<\/p>\n<p>#orBackToTop:hover{<br \/>\n  transform:translateY(-2px);<br \/>\n}<\/p>\n<p>@media (max-width:768px){<br \/>\n  #orBackToTop{<br \/>\n    right:14px;<br \/>\n    bottom:18px;<br \/>\n    width:43px;<br \/>\n    height:43px;<br \/>\n    font-size:22px;<br \/>\n  }<br \/>\n}<\/p>\n<\/style>\n<p><button\n  id=\"orBackToTop\"\n  type=\"button\"\n  aria-label=\"Volver al inicio\"\n  title=\"Volver al inicio\"\n><br \/>\n  <svg class=\"or-home-icon\"\n       viewBox=\"0 0 24 24\"\n       aria-hidden=\"true\"\n       fill=\"none\"\n       stroke=\"currentColor\"\n       stroke-width=\"1.9\"\n       stroke-linecap=\"round\"\n       stroke-linejoin=\"round\">\n    <path d=\"M3 11.5 12 4l9 7.5\"\/>\n    <path d=\"M5.5 10.5V20h13v-9.5\"\/>\n    <path d=\"M9.5 20v-6h5v6\"\/>\n  <\/svg><br \/>\n  <span class=\"or-home-label\">INICIO<\/span><br \/>\n<\/button><\/p>\n<p><script><br \/>\n(function(){<\/p>\n<p>  function igualarCajas(){<br \/>\n    var publicidad = document.querySelector(<br \/>\n      '.or-top-event-column .or-featured-event'<br \/>\n    );<\/p>\n<p>    var selector = document.querySelector(<br \/>\n      '.or-top-listen-column .or-listen-hub'<br \/>\n    );<\/p>\n<p>    if(!publicidad || !selector){<br \/>\n      return;<br \/>\n    }<\/p>\n<p>    if(window.innerWidth >= 900){<br \/>\n      var etiqueta = document.querySelector(<br \/>\n        '.or-top-event-column .or-top-column-label'<br \/>\n      );<\/p>\n<p>      var extra = 0;<\/p>\n<p>      if(etiqueta){<br \/>\n        var cssEtiqueta = window.getComputedStyle(etiqueta);<br \/>\n        extra =<br \/>\n          etiqueta.getBoundingClientRect().height +<br \/>\n          parseFloat(cssEtiqueta.marginBottom || 0);<br \/>\n      }<\/p>\n<p>      var alturaPublicidad =<br \/>\n        Math.ceil(publicidad.getBoundingClientRect().height);<\/p>\n<p>      var alturaFinal = alturaPublicidad + Math.ceil(extra);<\/p>\n<p>      \/*<br \/>\n       * El borde inferior ya estaba correcto.<br \/>\n       * Extendemos SOLO el cuadro publicitario hacia arriba<br \/>\n       * la misma distancia ocupada por su etiqueta.<br \/>\n       *\/<br \/>\n      publicidad.style.setProperty(<br \/>\n        'height',<br \/>\n        alturaFinal + 'px',<br \/>\n        'important'<br \/>\n      );<\/p>\n<p>      publicidad.style.setProperty(<br \/>\n        'margin-top',<br \/>\n        (-Math.ceil(extra)) + 'px',<br \/>\n        'important'<br \/>\n      );<\/p>\n<p>      selector.style.setProperty(<br \/>\n        'height',<br \/>\n        alturaFinal + 'px',<br \/>\n        'important'<br \/>\n      );<\/p>\n<p>      selector.style.setProperty(<br \/>\n        'min-height',<br \/>\n        alturaFinal + 'px',<br \/>\n        'important'<br \/>\n      );<\/p>\n<p>    }else{<br \/>\n      selector.style.removeProperty('height');<br \/>\n      selector.style.removeProperty('min-height');<br \/>\n    }<br \/>\n  }<\/p>\n<p>  function iniciar(){<br \/>\n    var boton = document.getElementById('orBackToTop');<\/p>\n<p>    if(boton){<br \/>\n      function controlarBoton(){<br \/>\n        if(window.scrollY > 500){<br \/>\n          boton.classList.add('or-visible');<br \/>\n        }else{<br \/>\n          boton.classList.remove('or-visible');<br \/>\n        }<br \/>\n      }<\/p>\n<p>      boton.addEventListener('click', function(){<br \/>\n        window.scrollTo({<br \/>\n          top:0,<br \/>\n          behavior:'smooth'<br \/>\n        });<br \/>\n      });<\/p>\n<p>      window.addEventListener('scroll', controlarBoton, {passive:true});<br \/>\n      controlarBoton();<br \/>\n    }<\/p>\n<p>    igualarCajas();<\/p>\n<p>    setTimeout(igualarCajas, 500);<br \/>\n    setTimeout(igualarCajas, 1500);<br \/>\n    setTimeout(igualarCajas, 3000);<\/p>\n<p>    window.addEventListener('resize', function(){<br \/>\n      clearTimeout(window.orEqualTimer);<br \/>\n      window.orEqualTimer = setTimeout(igualarCajas, 150);<br \/>\n    });<br \/>\n  }<\/p>\n<p>  if(document.readyState === 'loading'){<br \/>\n    document.addEventListener('DOMContentLoaded', iniciar);<br \/>\n  }else{<br \/>\n    iniciar();<br \/>\n  }<\/p>\n<p>})();<br \/>\n<\/script><\/p>\n<style id=\"or-ocultar-espacio-destacado\">\n\/* OR-OCULTAR-ESPACIO-DESTACADO *\/<br \/>\n.or-featured-badge{<br \/>\n    display:none!important;<br \/>\n}<br \/>\n<\/style>\n<style id=\"or-remove-ad-top-label\">\n\/* OR-REMOVE-AD-TOP-LABEL *\/<br \/>\n.or-top-event-column .or-top-column-label{<br \/>\n    display:none!important;<br \/>\n    height:0!important;<br \/>\n    margin:0!important;<br \/>\n    padding:0!important;<br \/>\n}<br \/>\n<\/style>\n<style id=\"or-global-site-background-logo\">\n\/* OR-GLOBAL-SITE-BACKGROUND-LOGO *\/<\/p>\n<p>body{<br \/>\n  background-color:#050607!important;<br \/>\n}<\/p>\n<p>body::before{<br \/>\n  content:\"\";<br \/>\n  position:fixed;<br \/>\n  inset:0;<br \/>\n  background-image:url('https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png');<br \/>\n  background-repeat:no-repeat;<br \/>\n  background-position:center 140px;<br \/>\n  background-size:min(1400px, 92vw);<br \/>\n  opacity:0.18;<br \/>\n  pointer-events:none;<br \/>\n  z-index:0;<br \/>\n}<\/p>\n<p>.wp-site-blocks,<br \/>\n.wp-block-post-content,<br \/>\n.entry-content,<br \/>\nmain,<br \/>\n.site-main,<br \/>\n.site-content,<br \/>\n.site,<br \/>\nheader,<br \/>\nfooter{<br \/>\n  position:relative;<br \/>\n  z-index:1;<br \/>\n}<\/p>\n<p>@media (max-width: 768px){<br \/>\n  body::before{<br \/>\n    background-size:115vw;<br \/>\n    background-position:center 100px;<br \/>\n    opacity:0.14;<br \/>\n  }<br \/>\n}<br \/>\n<\/style>\n<style id=\"or-mobile-promo-first-final\">\n\/* OR-MOBILE-PROMO-FIRST-FINAL *\/<\/p>\n<p>@media (max-width:820px){<\/p>\n<p>  \/* Una sola columna real en tel\u00e9fono *\/<br \/>\n  .or-top-experience-inner{<br \/>\n    display:grid!important;<br \/>\n    grid-template-columns:minmax(0,1fr)!important;<br \/>\n    grid-template-areas:<br \/>\n      \"event\"<br \/>\n      \"listen\"!important;<br \/>\n    gap:18px!important;<br \/>\n    align-items:start!important;<br \/>\n  }<\/p>\n<p>  \/* Publicidad primero *\/<br \/>\n  .or-top-event-column{<br \/>\n    grid-area:event!important;<br \/>\n    width:100%!important;<br \/>\n    max-width:none!important;<br \/>\n    min-width:0!important;<br \/>\n  }<\/p>\n<p>  \/* Selector de radios debajo *\/<br \/>\n  .or-top-listen-column{<br \/>\n    grid-area:listen!important;<br \/>\n    width:100%!important;<br \/>\n    max-width:none!important;<br \/>\n    min-width:0!important;<br \/>\n  }<\/p>\n<p>  \/* Ambos bloques ocupan todo el ancho disponible *\/<br \/>\n  .or-top-event-column .or-featured-event,<br \/>\n  .or-top-listen-column .or-listen-hub{<br \/>\n    width:100%!important;<br \/>\n    max-width:none!important;<br \/>\n    box-sizing:border-box!important;<br \/>\n  }<\/p>\n<p>  \/* En m\u00f3vil no usar alturas de escritorio *\/<br \/>\n  .or-top-event-column .or-featured-event{<br \/>\n    height:auto!important;<br \/>\n    min-height:0!important;<br \/>\n    margin-top:0!important;<br \/>\n  }<\/p>\n<p>  .or-top-listen-column .or-listen-hub{<br \/>\n    height:auto!important;<br \/>\n    min-height:0!important;<br \/>\n  }<\/p>\n<p>  \/* Las tres opciones usan todo el ancho *\/<br \/>\n  .or-top-listen-column .or-listen-card{<br \/>\n    width:100%!important;<br \/>\n    max-width:none!important;<br \/>\n    box-sizing:border-box!important;<br \/>\n  }<br \/>\n}<\/p>\n<p>\/* =========================================================<br \/>\n   OR MUSIC XPERIENCE \u00b7 V1 EDUCATIVA<br \/>\n========================================================= *\/<\/p>\n<p>#xperience .or-xp-head{<br \/>\n  margin-bottom:32px!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-intro{<br \/>\n  max-width:850px!important;<br \/>\n  color:#c3cfdd!important;<br \/>\n  font-size:15px!important;<br \/>\n  line-height:1.75!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-levels{<br \/>\n  justify-content:flex-start!important;<br \/>\n  margin-top:20px!important;<br \/>\n  margin-bottom:0!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-levels span{<br \/>\n  font-size:8px!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card{<br \/>\n  min-height:350px!important;<br \/>\n  padding:22px!important;<br \/>\n  display:flex!important;<br \/>\n  flex-direction:column!important;<br \/>\n  transition:<br \/>\n    transform .22s ease,<br \/>\n    border-color .22s ease,<br \/>\n    box-shadow .22s ease!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:hover{<br \/>\n  transform:translateY(-4px)!important;<br \/>\n  border-color:rgba(112,211,255,.22)!important;<br \/>\n  box-shadow:0 18px 45px rgba(0,0,0,.24)!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card-first{<br \/>\n  border-color:rgba(103,211,255,.24)!important;<br \/>\n  box-shadow:<br \/>\n    inset 0 0 36px rgba(81,177,255,.035),<br \/>\n    0 18px 45px rgba(0,0,0,.16)!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card-top{<br \/>\n  display:flex!important;<br \/>\n  align-items:center!important;<br \/>\n  justify-content:space-between!important;<br \/>\n  gap:10px!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-step{<br \/>\n  color:#75dfff!important;<br \/>\n  font-size:7px!important;<br \/>\n  font-weight:900!important;<br \/>\n  letter-spacing:1.1px!important;<br \/>\n  text-transform:uppercase!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-mini{<br \/>\n  min-height:68px!important;<br \/>\n  margin:22px 0 4px!important;<br \/>\n  padding:13px!important;<br \/>\n  display:flex!important;<br \/>\n  align-items:center!important;<br \/>\n  justify-content:center!important;<br \/>\n  gap:7px!important;<br \/>\n  border-radius:15px!important;<br \/>\n  background:<br \/>\n    linear-gradient(<br \/>\n      135deg,<br \/>\n      rgba(55,183,255,.055),<br \/>\n      rgba(255,72,211,.035)<br \/>\n    )!important;<br \/>\n  border:1px solid rgba(255,255,255,.07)!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-mini span{<br \/>\n  min-width:0!important;<br \/>\n  padding:7px 8px!important;<br \/>\n  border-radius:8px!important;<br \/>\n  color:#e8f6ff!important;<br \/>\n  background:rgba(255,255,255,.055)!important;<br \/>\n  border:1px solid rgba(255,255,255,.075)!important;<br \/>\n  font-size:8px!important;<br \/>\n  line-height:1!important;<br \/>\n  font-weight:900!important;<br \/>\n  letter-spacing:.6px!important;<br \/>\n  text-align:center!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-mini i{<br \/>\n  color:#63758b!important;<br \/>\n  font-size:12px!important;<br \/>\n  font-style:normal!important;<br \/>\n  font-weight:900!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-mini-terms{<br \/>\n  flex-wrap:wrap!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card h3{<br \/>\n  margin:17px 0 7px!important;<br \/>\n  font-size:21px!important;<br \/>\n  line-height:1.08!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-question{<br \/>\n  display:block!important;<br \/>\n  margin-bottom:9px!important;<br \/>\n  color:#dce7f3!important;<br \/>\n  font-size:11px!important;<br \/>\n  line-height:1.4!important;<br \/>\n  font-weight:800!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card p{<br \/>\n  margin:0!important;<br \/>\n  color:#9eacbd!important;<br \/>\n  font-size:12px!important;<br \/>\n  line-height:1.7!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-source{<br \/>\n  margin-top:auto!important;<br \/>\n  padding-top:16px!important;<br \/>\n  color:#66788e!important;<br \/>\n  font-size:6.5px!important;<br \/>\n  font-weight:900!important;<br \/>\n  letter-spacing:1px!important;<br \/>\n  text-transform:uppercase!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-trust{<br \/>\n  margin-top:18px!important;<br \/>\n  padding:16px 18px!important;<br \/>\n  display:flex!important;<br \/>\n  align-items:center!important;<br \/>\n  justify-content:center!important;<br \/>\n  flex-wrap:wrap!important;<br \/>\n  gap:8px 14px!important;<br \/>\n  border-radius:15px!important;<br \/>\n  background:rgba(5,10,24,.66)!important;<br \/>\n  border:1px solid rgba(255,255,255,.07)!important;<br \/>\n  text-align:center!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-trust strong{<br \/>\n  color:#75dfff!important;<br \/>\n  font-size:8px!important;<br \/>\n  font-weight:900!important;<br \/>\n  letter-spacing:1.3px!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-trust span{<br \/>\n  color:#8495a9!important;<br \/>\n  font-size:9px!important;<br \/>\n  line-height:1.5!important;<br \/>\n}<\/p>\n<p>@media(max-width:720px){<\/p>\n<p>  #xperience .or-xp-head{<br \/>\n    margin-bottom:24px!important;<br \/>\n  }<\/p>\n<p>  #xperience .or-xp-main-title{<br \/>\n    font-size:42px!important;<br \/>\n  }<\/p>\n<p>  #xperience .or-xp-intro{<br \/>\n    font-size:13px!important;<br \/>\n    line-height:1.7!important;<br \/>\n  }<\/p>\n<p>  #xperience .or-xp-levels{<br \/>\n    justify-content:flex-start!important;<br \/>\n  }<\/p>\n<p>  #xperience .or-xp-card{<br \/>\n    min-height:330px!important;<br \/>\n    padding:20px!important;<br \/>\n  }<\/p>\n<p>  #xperience .or-xp-mini{<br \/>\n    min-height:64px!important;<br \/>\n  }<\/p>\n<p>}<\/p>\n<p>#xperience a.or-xp-card{<br \/>\n  color:inherit!important;<br \/>\n  text-decoration:none!important;<br \/>\n  cursor:pointer!important;<br \/>\n}<\/p>\n<p>#xperience a.or-xp-card:focus-visible{<br \/>\n  outline:2px solid #75dfff!important;<br \/>\n  outline-offset:3px!important;<br \/>\n}<\/p>\n<p>\/* =========================================================<br \/>\n   OR XPERIENCE \u00b7 COLOR PROFESIONAL V1<br \/>\n========================================================= *\/<\/p>\n<p>#xperience .or-xp-card{<br \/>\n  --xp-rgb:93,221,255;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(1){<br \/>\n  --xp-rgb:83,220,255;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(2){<br \/>\n  --xp-rgb:155,116,255;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(3){<br \/>\n  --xp-rgb:74,153,255;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(4){<br \/>\n  --xp-rgb:255,91,190;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(5){<br \/>\n  --xp-rgb:255,187,82;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(6){<br \/>\n  --xp-rgb:73,220,184;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(7){<br \/>\n  --xp-rgb:68,196,255;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:nth-child(8){<br \/>\n  --xp-rgb:218,100,255;<br \/>\n}<\/p>\n<p>\/* L\u00ednea luminosa superior *\/<\/p>\n<p>#xperience .or-xp-card::before{<br \/>\n  content:\"\"!important;<br \/>\n  position:absolute!important;<br \/>\n  top:0!important;<br \/>\n  left:18px!important;<br \/>\n  right:18px!important;<br \/>\n  height:2px!important;<br \/>\n  border-radius:0 0 4px 4px!important;<br \/>\n  background:<br \/>\n    linear-gradient(<br \/>\n      90deg,<br \/>\n      transparent,<br \/>\n      rgba(var(--xp-rgb),.92),<br \/>\n      transparent<br \/>\n    )!important;<br \/>\n  box-shadow:<br \/>\n    0 0 18px rgba(var(--xp-rgb),.32)!important;<br \/>\n}<\/p>\n<p>\/* Brillo ambiental muy suave *\/<\/p>\n<p>#xperience .or-xp-card::after{<br \/>\n  content:\"\"!important;<br \/>\n  position:absolute!important;<br \/>\n  width:170px!important;<br \/>\n  height:170px!important;<br \/>\n  top:-100px!important;<br \/>\n  right:-80px!important;<br \/>\n  border-radius:50%!important;<br \/>\n  background:<br \/>\n    radial-gradient(<br \/>\n      circle,<br \/>\n      rgba(var(--xp-rgb),.10),<br \/>\n      transparent 68%<br \/>\n    )!important;<br \/>\n  pointer-events:none!important;<br \/>\n}<\/p>\n<p>\/* N\u00famero *\/<\/p>\n<p>#xperience .or-xp-num{<br \/>\n  color:rgba(var(--xp-rgb),.70)!important;<br \/>\n}<\/p>\n<p>\/* Etiqueta superior *\/<\/p>\n<p>#xperience .or-xp-step{<br \/>\n  color:rgb(var(--xp-rgb))!important;<br \/>\n  text-shadow:<br \/>\n    0 0 14px rgba(var(--xp-rgb),.20)!important;<br \/>\n}<\/p>\n<p>\/* Mini gr\u00e1fico *\/<\/p>\n<p>#xperience .or-xp-mini{<br \/>\n  background:<br \/>\n    radial-gradient(<br \/>\n      circle at 50% 120%,<br \/>\n      rgba(var(--xp-rgb),.14),<br \/>\n      transparent 62%<br \/>\n    ),<br \/>\n    rgba(8,12,28,.72)!important;<\/p>\n<p>  border-color:<br \/>\n    rgba(var(--xp-rgb),.17)!important;<\/p>\n<p>  box-shadow:<br \/>\n    inset 0 0 25px rgba(var(--xp-rgb),.025)!important;<br \/>\n}<\/p>\n<p>\/* Elementos dentro del gr\u00e1fico *\/<\/p>\n<p>#xperience .or-xp-mini span{<br \/>\n  border-color:<br \/>\n    rgba(var(--xp-rgb),.20)!important;<\/p>\n<p>  background:<br \/>\n    rgba(var(--xp-rgb),.075)!important;<\/p>\n<p>  color:#f4fbff!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-mini i{<br \/>\n  color:<br \/>\n    rgba(var(--xp-rgb),.72)!important;<br \/>\n}<\/p>\n<p>\/* Hover elegante *\/<\/p>\n<p>#xperience a.or-xp-card:hover{<br \/>\n  border-color:<br \/>\n    rgba(var(--xp-rgb),.35)!important;<\/p>\n<p>  box-shadow:<br \/>\n    0 18px 48px rgba(0,0,0,.30),<br \/>\n    0 0 30px rgba(var(--xp-rgb),.075)!important;<br \/>\n}<\/p>\n<p>\/* Barra inferior de verificaci\u00f3n *\/<\/p>\n<p>#xperience .or-xp-trust{<br \/>\n  background:<br \/>\n    linear-gradient(<br \/>\n      90deg,<br \/>\n      rgba(65,205,255,.035),<br \/>\n      rgba(134,92,255,.035),<br \/>\n      rgba(255,75,200,.035)<br \/>\n    ),<br \/>\n    rgba(5,10,24,.72)!important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-trust strong{<br \/>\n  color:#73e5ff!important;<br \/>\n  text-shadow:<br \/>\n    0 0 13px rgba(76,215,255,.16)!important;<br \/>\n}<\/p>\n<p>\/* ORX WATERMARK SYSTEM V2 START *\/<\/p>\n<p>#xperience .or-xp-card {<br \/>\n    overflow:hidden !important;<br \/>\n    isolation:isolate !important;<br \/>\n    min-height:350px !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-card > * {<br \/>\n    position:relative !important;<br \/>\n    z-index:2 !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-mini {<br \/>\n    background:rgba(5,9,23,.47) !important;<br \/>\n    border-color:rgba(var(--xp-rgb),.20) !important;<br \/>\n    backdrop-filter:blur(5px);<br \/>\n    -webkit-backdrop-filter:blur(5px);<br \/>\n}<\/p>\n<p>#xperience .or-xp-card:hover {<br \/>\n    background-size:105% auto !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(1) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/01_conexiones_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(2) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/02_ganancia_volumen_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(3) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/03_dj_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(4) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/04_microfonos_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(5) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/05_iluminacion_dmx_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(6) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/06_estudio_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(7) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/07_streaming_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>#xperience .or-xp-grid > .or-xp-card:nth-child(8) {<br \/>\n    background-image:<br \/>\n        linear-gradient(<br \/>\n            180deg,<br \/>\n            rgba(5,8,22,.12) 0%,<br \/>\n            rgba(5,8,22,.34) 32%,<br \/>\n            rgba(5,8,22,.74) 64%,<br \/>\n            rgba(5,8,22,.95) 100%<br \/>\n        ),<br \/>\n        url(\"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/08_glosario_marca_agua.webp\") !important;<br \/>\n    background-size:cover !important;<br \/>\n    background-position:center 30% !important;<br \/>\n    background-repeat:no-repeat !important;<br \/>\n}<\/p>\n<p>\/* ORX WATERMARK SYSTEM V2 END *\/<\/p>\n<p>\/* OR XPERIENCE RETURN POSITION V1 *\/<br \/>\n#xperience{<br \/>\n    scroll-margin-top:-95px !important;<br \/>\n}<\/p>\n<p>@media(max-width:700px){<br \/>\n    #xperience{<br \/>\n        scroll-margin-top:-55px !important;<br \/>\n    }<br \/>\n}<\/p>\n<p>\/* OR XPERIENCE EXACT RETURN V1 *\/<br \/>\n#xperience-inicio{<br \/>\n    scroll-margin-top:24px !important;<br \/>\n}<\/p>\n<p>\/* OR BACKTOP PREMIUM V2 START *\/<\/p>\n<p>#orBackToTop{<br \/>\n    width:auto !important;<br \/>\n    min-width:126px !important;<br \/>\n    height:56px !important;<\/p>\n<p>    right:24px !important;<br \/>\n    bottom:26px !important;<\/p>\n<p>    padding:0 21px !important;<br \/>\n    gap:10px !important;<\/p>\n<p>    border-radius:18px !important;<br \/>\n    border:1px solid rgba(99,220,255,.42) !important;<\/p>\n<p>    background:<br \/>\n      linear-gradient(<br \/>\n        135deg,<br \/>\n        rgba(10,16,34,.96),<br \/>\n        rgba(17,12,35,.94)<br \/>\n      ) !important;<\/p>\n<p>    color:#f7fbff !important;<\/p>\n<p>    display:flex !important;<br \/>\n    align-items:center !important;<br \/>\n    justify-content:center !important;<\/p>\n<p>    box-shadow:<br \/>\n      0 14px 38px rgba(0,0,0,.42),<br \/>\n      0 0 22px rgba(76,198,255,.10),<br \/>\n      inset 0 1px 0 rgba(255,255,255,.08) !important;<\/p>\n<p>    backdrop-filter:blur(12px);<br \/>\n    -webkit-backdrop-filter:blur(12px);<\/p>\n<p>    transition:<br \/>\n      transform .22s ease,<br \/>\n      border-color .22s ease,<br \/>\n      box-shadow .22s ease,<br \/>\n      background .22s ease !important;<br \/>\n}<\/p>\n<p>#orBackToTop::before{<br \/>\n    content:\"\";<br \/>\n    position:absolute;<br \/>\n    inset:-1px;<br \/>\n    border-radius:18px;<br \/>\n    padding:1px;<\/p>\n<p>    background:<br \/>\n      linear-gradient(<br \/>\n        110deg,<br \/>\n        rgba(60,220,255,.70),<br \/>\n        rgba(123,93,255,.42),<br \/>\n        rgba(241,82,255,.50)<br \/>\n      );<\/p>\n<p>    -webkit-mask:<br \/>\n      linear-gradient(#fff 0 0) content-box,<br \/>\n      linear-gradient(#fff 0 0);<\/p>\n<p>    -webkit-mask-composite:xor;<br \/>\n    mask-composite:exclude;<\/p>\n<p>    pointer-events:none;<br \/>\n}<\/p>\n<p>#orBackToTop .or-home-icon{<br \/>\n    width:20px;<br \/>\n    height:20px;<br \/>\n    display:block;<br \/>\n    flex:0 0 20px;<br \/>\n    color:#75e8ff;<br \/>\n    filter:drop-shadow(0 0 7px rgba(78,219,255,.28));<br \/>\n}<\/p>\n<p>#orBackToTop .or-home-label{<br \/>\n    font-size:12px;<br \/>\n    line-height:1;<br \/>\n    font-weight:900;<br \/>\n    letter-spacing:.13em;<br \/>\n    color:#ffffff;<br \/>\n}<\/p>\n<p>#orBackToTop:hover{<br \/>\n    transform:translateY(-3px) !important;<\/p>\n<p>    border-color:rgba(117,232,255,.72) !important;<\/p>\n<p>    background:<br \/>\n      linear-gradient(<br \/>\n        135deg,<br \/>\n        rgba(13,23,46,.98),<br \/>\n        rgba(28,15,48,.97)<br \/>\n      ) !important;<\/p>\n<p>    box-shadow:<br \/>\n      0 18px 45px rgba(0,0,0,.48),<br \/>\n      0 0 30px rgba(79,209,255,.17),<br \/>\n      0 0 42px rgba(177,75,255,.08) !important;<br \/>\n}<\/p>\n<p>#orBackToTop:active{<br \/>\n    transform:translateY(0) scale(.97) !important;<br \/>\n}<\/p>\n<p>@media(max-width:768px){<\/p>\n<p>    #orBackToTop{<br \/>\n        min-width:108px !important;<br \/>\n        height:50px !important;<br \/>\n        right:14px !important;<br \/>\n        bottom:18px !important;<br \/>\n        padding:0 16px !important;<br \/>\n        gap:8px !important;<br \/>\n        border-radius:16px !important;<br \/>\n    }<\/p>\n<p>    #orBackToTop::before{<br \/>\n        border-radius:16px;<br \/>\n    }<\/p>\n<p>    #orBackToTop .or-home-icon{<br \/>\n        width:18px;<br \/>\n        height:18px;<br \/>\n        flex-basis:18px;<br \/>\n    }<\/p>\n<p>    #orBackToTop .or-home-label{<br \/>\n        font-size:11px;<br \/>\n    }<br \/>\n}<\/p>\n<p>\/* OR BACKTOP PREMIUM V2 END *\/<\/p>\n<\/style>\n<p><!-- =========================================================\n     OR HOME MIXES \u00b7 DJ EN VIVO \u00b7 20260829\n========================================================= --><\/p>\n<style>\n<p>#orHomeMixes.is-dj-live{<br \/>\n  border-color:rgba(255,70,90,.78)!important;<br \/>\n  box-shadow:<br \/>\n    0 0 0 1px rgba(255,70,90,.15),<br \/>\n    0 0 24px rgba(255,45,70,.22),<br \/>\n    inset 0 0 25px rgba(255,45,70,.05)!important;<br \/>\n}<\/p>\n<p>#orHomeMixes.is-dj-live .or-listen-led{<br \/>\n  background:#ff405a!important;<br \/>\n  box-shadow:<br \/>\n    0 0 0 5px rgba(255,64,90,.12),<br \/>\n    0 0 14px rgba(255,64,90,.9)!important;<br \/>\n  animation:orHomeDjLivePulse 1.5s ease-in-out infinite;<br \/>\n}<\/p>\n<p>#orHomeMixes.is-dj-live .or-listen-eyebrow{<br \/>\n  color:#ff7588!important;<br \/>\n  font-weight:900!important;<br \/>\n}<\/p>\n<p>#orHomeMixes.is-dj-live .or-listen-button{<br \/>\n  border-color:rgba(255,70,90,.62)!important;<br \/>\n  box-shadow:0 0 14px rgba(255,45,70,.15)!important;<br \/>\n}<\/p>\n<p>@keyframes orHomeDjLivePulse{<br \/>\n  0%,100%{<br \/>\n    transform:scale(1);<br \/>\n    opacity:1;<br \/>\n  }<br \/>\n  50%{<br \/>\n    transform:scale(1.22);<br \/>\n    opacity:.72;<br \/>\n  }<br \/>\n}<\/p>\n<\/style>\n<p><script><\/p>\n<p>document.addEventListener(\"DOMContentLoaded\", function(){<\/p>\n<p>  const card =<br \/>\n    document.getElementById(\"orHomeMixes\");<\/p>\n<p>  if(!card) return;<\/p>\n<p>  const eyebrow =<br \/>\n    card.querySelector(\".or-listen-eyebrow\");<\/p>\n<p>  const title =<br \/>\n    card.querySelector(\"strong\");<\/p>\n<p>  const copy =<br \/>\n    card.querySelector(\".or-listen-copy\");<\/p>\n<p>  const button =<br \/>\n    card.querySelector(\".or-listen-button\");<\/p>\n<p>  const MIXES_NOW =<br \/>\n    \"https:\/\/radio.ormusiclive.com\/api\/nowplaying\/ormusiclive-mixes\";<\/p>\n<p>  let misses = 0;<\/p>\n<p>  function setDjLive(active){<\/p>\n<p>    if(active){<\/p>\n<p>      misses = 0;<\/p>\n<p>      card.classList.add(\"is-dj-live\");<\/p>\n<p>      if(eyebrow)<br \/>\n        eyebrow.textContent = \"\u25cf DJ EN VIVO\";<\/p>\n<p>      if(title)<br \/>\n        title.textContent = \"MIXES & DJS\";<\/p>\n<p>      if(copy)<br \/>\n        copy.textContent =<br \/>\n          \"Tenemos un DJ transmitiendo en vivo en este momento.\";<\/p>\n<p>      if(button)<br \/>\n        button.textContent =<br \/>\n          \"ESCUCHAR DJ EN VIVO\";<\/p>\n<p>      return;<br \/>\n    }<\/p>\n<p>    misses++;<\/p>\n<p>    if(misses < 2) return;\n\n    card.classList.remove(\"is-dj-live\");\n\n    if(eyebrow)\n      eyebrow.textContent =\n        \"SETS \u00b7 SESIONES \u00b7 DJS\";\n\n    if(title)\n      title.textContent =\n        \"MIXES &#038; DJS\";\n\n    if(copy)\n      copy.textContent =\n        \"DJs, sesiones especiales, mezclas tem\u00e1ticas y contenidos vinculados al entretenimiento.\";\n\n    if(button)\n      button.textContent =\n        \"ENTRAR A MIXES\";\n  }\n\n  async function checkDjLive(){\n\n    try{\n\n      const r =\n        await fetch(\n          MIXES_NOW + \"?t=\" + Date.now(),\n          {cache:\"no-store\"}\n        );\n\n      if(!r.ok)\n        throw new Error(\"Now Playing no disponible\");\n\n      const data =\n        await r.json();\n\n      const live =\n        data &#038;&#038; data.live\n          ? data.live\n          : {};\n\n      const now =\n        data &#038;&#038; data.now_playing\n          ? data.now_playing\n          : {};\n\n      const active =\n        Boolean(\n          live.is_live === true ||\n          live.is_live === 1 ||\n          now.is_live === true ||\n          now.is_live === 1 ||\n          (\n            now.streamer &#038;&#038;\n            String(now.streamer).trim() !== \"\"\n          )\n        );\n\n      setDjLive(active);\n\n    }\n    catch(error){\n      setDjLive(false);\n    }\n  }\n\n  checkDjLive();\n\n  setInterval(\n    checkDjLive,\n    5000\n  );\n\n});\n\n<\/script><\/p>\n<p><!-- =========================================================\n     OR HOME \u00b7 DJ LIVE BANNER \u00b7 20260829\n========================================================= --><\/p>\n<style>\n<p>.or-home-dj-live-banner{<br \/>\n  display:none;<br \/>\n  margin:12px 0 0;<br \/>\n  padding:14px 16px;<br \/>\n  border-radius:15px;<\/p>\n<p>  background:<br \/>\n    linear-gradient(<br \/>\n      135deg,<br \/>\n      rgba(28,8,13,.96),<br \/>\n      rgba(11,13,20,.96)<br \/>\n    );<\/p>\n<p>  border:<br \/>\n    1px solid rgba(255,66,86,.48);<\/p>\n<p>  box-shadow:<br \/>\n    0 0 22px rgba(255,45,70,.12);<\/p>\n<p>  color:#fff;<br \/>\n}<\/p>\n<p>.or-home-dj-live-banner.is-visible{<br \/>\n  display:flex;<br \/>\n  align-items:center;<br \/>\n  justify-content:space-between;<br \/>\n  gap:16px;<br \/>\n}<\/p>\n<p>.or-home-dj-live-main{<br \/>\n  min-width:0;<br \/>\n}<\/p>\n<p>.or-home-dj-live-title{<br \/>\n  display:flex;<br \/>\n  align-items:center;<br \/>\n  gap:9px;<\/p>\n<p>  font-size:15px;<br \/>\n  font-weight:950;<br \/>\n  letter-spacing:.4px;<br \/>\n  line-height:1.25;<br \/>\n}<\/p>\n<p>.or-home-dj-live-dot{<br \/>\n  width:10px;<br \/>\n  height:10px;<br \/>\n  min-width:10px;<\/p>\n<p>  border-radius:50%;<\/p>\n<p>  background:#ff4058;<\/p>\n<p>  box-shadow:<br \/>\n    0 0 0 5px rgba(255,64,88,.12),<br \/>\n    0 0 13px rgba(255,64,88,.95);<\/p>\n<p>  animation:<br \/>\n    orHomeDjBannerPulse<br \/>\n    1.25s ease-in-out infinite;<br \/>\n}<\/p>\n<p>.or-home-dj-live-copy{<br \/>\n  margin-top:5px;<\/p>\n<p>  color:#b9c1cf;<\/p>\n<p>  font-size:11px;<br \/>\n  font-weight:700;<br \/>\n}<\/p>\n<p>.or-home-dj-live-button{<br \/>\n  flex:none;<\/p>\n<p>  display:inline-flex;<br \/>\n  align-items:center;<br \/>\n  justify-content:center;<\/p>\n<p>  min-height:40px;<\/p>\n<p>  padding:<br \/>\n    9px 14px;<\/p>\n<p>  border-radius:11px;<\/p>\n<p>  border:<br \/>\n    1px solid rgba(255,73,94,.48);<\/p>\n<p>  background:<br \/>\n    rgba(255,50,75,.10);<\/p>\n<p>  color:#fff!important;<\/p>\n<p>  text-decoration:none!important;<\/p>\n<p>  font-size:10px;<br \/>\n  font-weight:950;<\/p>\n<p>  letter-spacing:.4px;<\/p>\n<p>  white-space:nowrap;<br \/>\n}<\/p>\n<p>.or-home-dj-live-button:hover{<br \/>\n  background:<br \/>\n    rgba(255,50,75,.18);<br \/>\n}<\/p>\n<p>@keyframes orHomeDjBannerPulse{<\/p>\n<p>  0%,100%{<br \/>\n    transform:scale(.88);<br \/>\n    opacity:.78;<br \/>\n  }<\/p>\n<p>  50%{<br \/>\n    transform:scale(1.16);<br \/>\n    opacity:1;<br \/>\n  }<\/p>\n<p>}<\/p>\n<p>@media(max-width:650px){<\/p>\n<p>  .or-home-dj-live-banner.is-visible{<br \/>\n    flex-direction:column;<br \/>\n    align-items:stretch;<br \/>\n  }<\/p>\n<p>  .or-home-dj-live-button{<br \/>\n    width:100%;<br \/>\n  }<\/p>\n<p>}<\/p>\n<\/style>\n<p><script><\/p>\n<p>document.addEventListener(<br \/>\n\"DOMContentLoaded\",<br \/>\nfunction(){<\/p>\n<p>  const mediaFrame =<br \/>\n    document.getElementById(<br \/>\n      \"orFeaturedMediaFrame\"<br \/>\n    );<\/p>\n<p>  if(!mediaFrame){<br \/>\n    return;<br \/>\n  }<\/p>\n<p>  \/* =========================================================<br \/>\n     CREAR FRANJA<br \/>\n  ========================================================= *\/<\/p>\n<p>  const banner =<br \/>\n    document.createElement(\"div\");<\/p>\n<p>  banner.className =<br \/>\n    \"or-home-dj-live-banner\";<\/p>\n<p>  banner.setAttribute(<br \/>\n    \"aria-live\",<br \/>\n    \"polite\"<br \/>\n  );<\/p>\n<p>  banner.innerHTML = `<\/p>\n<div class=\"or-home-dj-live-main\">\n<div class=\"or-home-dj-live-title\">\n<p>        <span\n          class=\"or-home-dj-live-dot\"\n        ><\/span><\/p>\n<p>        <span\n          id=\"orHomeDjLiveName\"\n        ><br \/>\n          DJ EN VIVO<br \/>\n        <\/span><\/p><\/div>\n<div\n        class=\"or-home-dj-live-copy\"\n      ><br \/>\n        Transmitiendo ahora en Mixes &amp; DJs.\n      <\/div>\n<\/p><\/div>\n<p>    <a\n      class=\"or-home-dj-live-button\"\n      href=\"https:\/\/ormusiclive.com\/?page_id=409\"\n    ><br \/>\n      ESCUCHAR EN MIXES &amp; DJS \u2192<br \/>\n    <\/a><br \/>\n  `;<\/p>\n<p>  mediaFrame.insertAdjacentElement(<br \/>\n    \"afterend\",<br \/>\n    banner<br \/>\n  );<\/p>\n<p>  const nameElement =<br \/>\n    document.getElementById(<br \/>\n      \"orHomeDjLiveName\"<br \/>\n    );<\/p>\n<p>  const NOWPLAYING_URL =<br \/>\n    \"https:\/\/radio.ormusiclive.com\/api\/nowplaying\/ormusiclive-mixes\";<\/p>\n<p>  let offChecks = 0;<\/p>\n<p>  function showDjLive(<br \/>\n    active,<br \/>\n    streamerName<br \/>\n  ){<\/p>\n<p>    if(active){<\/p>\n<p>      offChecks = 0;<\/p>\n<p>      const cleanName =<br \/>\n        streamerName &&<br \/>\n        String(streamerName).trim()<br \/>\n        ? String(streamerName).trim()<br \/>\n        : \"DJ\";<\/p>\n<p>      if(nameElement){<\/p>\n<p>        nameElement.textContent =<br \/>\n          cleanName.toUpperCase() +<br \/>\n          \" \u00b7 EN VIVO\";<\/p>\n<p>      }<\/p>\n<p>      banner.classList.add(<br \/>\n        \"is-visible\"<br \/>\n      );<\/p>\n<p>      return;<\/p>\n<p>    }<\/p>\n<p>    offChecks += 1;<\/p>\n<p>    \/*<br \/>\n      Dos lecturas seguidas sin DJ<br \/>\n      antes de ocultar.<br \/>\n    *\/<\/p>\n<p>    if(offChecks >= 2){<\/p>\n<p>      banner.classList.remove(<br \/>\n        \"is-visible\"<br \/>\n      );<\/p>\n<p>    }<\/p>\n<p>  }<\/p>\n<p>  async function checkDjLive(){<\/p>\n<p>    try{<\/p>\n<p>      const response =<br \/>\n        await fetch(<br \/>\n          NOWPLAYING_URL +<br \/>\n          \"?t=\" +<br \/>\n          Date.now(),<br \/>\n          {<br \/>\n            cache:\"no-store\"<br \/>\n          }<br \/>\n        );<\/p>\n<p>      if(!response.ok){<\/p>\n<p>        throw new Error(<br \/>\n          \"Now Playing no disponible\"<br \/>\n        );<\/p>\n<p>      }<\/p>\n<p>      const data =<br \/>\n        await response.json();<\/p>\n<p>      const live =<br \/>\n        data && data.live<br \/>\n        ? data.live<br \/>\n        : {};<\/p>\n<p>      const isLive =<br \/>\n        Boolean(<br \/>\n          live.is_live === true ||<br \/>\n          live.is_live === 1<br \/>\n        );<\/p>\n<p>      const streamerName =<br \/>\n        live.streamer_name || \"\";<\/p>\n<p>      showDjLive(<br \/>\n        isLive,<br \/>\n        streamerName<br \/>\n      );<\/p>\n<p>    }<br \/>\n    catch(error){<\/p>\n<p>      \/*<br \/>\n        Si falla una consulta aislada,<br \/>\n        no apagamos inmediatamente.<br \/>\n      *\/<\/p>\n<p>      showDjLive(<br \/>\n        false,<br \/>\n        \"\"<br \/>\n      );<\/p>\n<p>    }<\/p>\n<p>  }<\/p>\n<p>  checkDjLive();<\/p>\n<p>  setInterval(<br \/>\n    checkDjLive,<br \/>\n    5000<br \/>\n  );<\/p>\n<p>});<\/p>\n<p><\/script><\/p>\n<p><!-- =========================================================\n     OR HOME \u00b7 DJ SOBRE PROXIMO EVENTO \u00b7 20260829\n========================================================= --><\/p>\n<style>\n<p>\/* La franja anterior que a\u00f1adimos debajo del video ya no se usa *\/<br \/>\n.or-home-dj-live-banner{<br \/>\n  display:none!important;<br \/>\n}<\/p>\n<p>\/* Zona original de PR\u00d3XIMO EVENTO *\/<br \/>\n#orFeaturedEvent .or-featured-info{<br \/>\n  position:relative!important;<br \/>\n  overflow:hidden!important;<br \/>\n}<\/p>\n<p>\/* Panel que aparece solamente cuando hay DJ *\/<br \/>\n.or-home-dj-event-live{<br \/>\n  display:none;<\/p>\n<p>  position:absolute;<br \/>\n  inset:0;<br \/>\n  z-index:20;<\/p>\n<p>  padding:18px 22px;<\/p>\n<p>  background:<br \/>\n    linear-gradient(<br \/>\n      115deg,<br \/>\n      rgba(126,10,25,.98),<br \/>\n      rgba(71,4,15,.98) 55%,<br \/>\n      rgba(25,8,13,.98)<br \/>\n    );<\/p>\n<p>  border:<br \/>\n    1px solid rgba(255,87,105,.55);<\/p>\n<p>  color:#fff;<br \/>\n}<\/p>\n<p>.or-home-dj-event-live.is-visible{<br \/>\n  display:flex;<br \/>\n  align-items:center;<br \/>\n  justify-content:space-between;<br \/>\n  gap:22px;<br \/>\n}<\/p>\n<p>.or-home-dj-event-copy{<br \/>\n  min-width:0;<br \/>\n}<\/p>\n<p>.or-home-dj-event-kicker{<br \/>\n  display:flex;<br \/>\n  align-items:center;<br \/>\n  gap:9px;<\/p>\n<p>  margin-bottom:7px;<\/p>\n<p>  color:#ffd8de;<\/p>\n<p>  font-size:10px;<br \/>\n  font-weight:950;<br \/>\n  letter-spacing:1.4px;<br \/>\n  text-transform:uppercase;<br \/>\n}<\/p>\n<p>.or-home-dj-event-dot{<br \/>\n  width:10px;<br \/>\n  height:10px;<br \/>\n  min-width:10px;<\/p>\n<p>  border-radius:50%;<\/p>\n<p>  background:#ff4058;<\/p>\n<p>  box-shadow:<br \/>\n    0 0 0 5px rgba(255,64,88,.15),<br \/>\n    0 0 14px rgba(255,64,88,.95);<\/p>\n<p>  animation:<br \/>\n    orDjEventPulse<br \/>\n    1.2s ease-in-out infinite;<br \/>\n}<\/p>\n<p>.or-home-dj-event-name{<br \/>\n  margin:0;<\/p>\n<p>  color:#fff;<\/p>\n<p>  font-size:22px;<br \/>\n  font-weight:950;<br \/>\n  line-height:1.12;<\/p>\n<p>  letter-spacing:.2px;<br \/>\n}<\/p>\n<p>.or-home-dj-event-description{<br \/>\n  margin-top:7px;<\/p>\n<p>  color:#f4cdd3;<\/p>\n<p>  font-size:12px;<br \/>\n  font-weight:700;<br \/>\n}<\/p>\n<p>.or-home-dj-event-button{<br \/>\n  flex:none;<\/p>\n<p>  display:inline-flex;<br \/>\n  align-items:center;<br \/>\n  justify-content:center;<\/p>\n<p>  min-height:42px;<\/p>\n<p>  padding:10px 17px;<\/p>\n<p>  border-radius:11px;<\/p>\n<p>  background:#fff;<\/p>\n<p>  color:#6f0819!important;<\/p>\n<p>  text-decoration:none!important;<\/p>\n<p>  font-size:10px;<br \/>\n  font-weight:950;<\/p>\n<p>  letter-spacing:.5px;<\/p>\n<p>  box-shadow:<br \/>\n    0 5px 18px rgba(0,0,0,.18);<br \/>\n}<\/p>\n<p>.or-home-dj-event-button:hover{<br \/>\n  transform:translateY(-1px);<br \/>\n}<\/p>\n<p>@keyframes orDjEventPulse{<\/p>\n<p>  0%,100%{<br \/>\n    transform:scale(.85);<br \/>\n    opacity:.76;<br \/>\n  }<\/p>\n<p>  50%{<br \/>\n    transform:scale(1.18);<br \/>\n    opacity:1;<br \/>\n  }<\/p>\n<p>}<\/p>\n<p>@media(max-width:650px){<\/p>\n<p>  .or-home-dj-event-live{<br \/>\n    padding:14px 15px;<br \/>\n  }<\/p>\n<p>  .or-home-dj-event-live.is-visible{<br \/>\n    flex-direction:column;<br \/>\n    align-items:stretch;<br \/>\n    justify-content:center;<br \/>\n    gap:11px;<br \/>\n  }<\/p>\n<p>  .or-home-dj-event-name{<br \/>\n    font-size:17px;<br \/>\n  }<\/p>\n<p>  .or-home-dj-event-description{<br \/>\n    font-size:10px;<br \/>\n  }<\/p>\n<p>  .or-home-dj-event-button{<br \/>\n    width:100%;<br \/>\n    min-height:36px;<br \/>\n    padding:8px 12px;<br \/>\n  }<\/p>\n<p>}<\/p>\n<\/style>\n<p><script><\/p>\n<p>document.addEventListener(<br \/>\n\"DOMContentLoaded\",<br \/>\nfunction(){<\/p>\n<p>  \/*<br \/>\n    Quitar f\u00edsicamente la franja peque\u00f1a anterior<br \/>\n    para recuperar el espacio debajo del video.<br \/>\n  *\/<\/p>\n<p>  document<br \/>\n    .querySelectorAll(<br \/>\n      \".or-home-dj-live-banner\"<br \/>\n    )<br \/>\n    .forEach(function(el){<br \/>\n      el.remove();<br \/>\n    });<\/p>\n<p>  const featuredEvent =<br \/>\n    document.getElementById(<br \/>\n      \"orFeaturedEvent\"<br \/>\n    );<\/p>\n<p>  if(!featuredEvent){<br \/>\n    return;<br \/>\n  }<\/p>\n<p>  const eventInfo =<br \/>\n    featuredEvent.querySelector(<br \/>\n      \".or-featured-info\"<br \/>\n    );<\/p>\n<p>  if(!eventInfo){<br \/>\n    return;<br \/>\n  }<\/p>\n<p>  \/* =========================================================<br \/>\n     CREAR PANEL ROJO DENTRO DE PR\u00d3XIMO EVENTO<br \/>\n  ========================================================= *\/<\/p>\n<p>  const livePanel =<br \/>\n    document.createElement(\"div\");<\/p>\n<p>  livePanel.className =<br \/>\n    \"or-home-dj-event-live\";<\/p>\n<p>  livePanel.setAttribute(<br \/>\n    \"aria-live\",<br \/>\n    \"polite\"<br \/>\n  );<\/p>\n<p>  livePanel.innerHTML = `<\/p>\n<div class=\"or-home-dj-event-copy\">\n<div class=\"or-home-dj-event-kicker\">\n<p>        <span\n          class=\"or-home-dj-event-dot\"\n        ><\/span><\/p>\n<p>        MIXES &amp; DJS \u00b7 TRANSMISI\u00d3N EN VIVO<\/p><\/div>\n<h2\n        class=\"or-home-dj-event-name\"\n        id=\"orDjEventLiveName\"\n      ><br \/>\n        DJ EN VIVO<br \/>\n      <\/h2>\n<div\n        class=\"or-home-dj-event-description\"\n      ><br \/>\n        Est\u00e1 transmitiendo ahora en OR Music Live.<br \/>\n        Escucha la sesi\u00f3n completa en Mixes &amp; DJs.\n      <\/div>\n<\/p><\/div>\n<p>    <a\n      class=\"or-home-dj-event-button\"\n      href=\"https:\/\/ormusiclive.com\/?page_id=409\"\n    ><br \/>\n      ESCUCHAR EN MIXES &amp; DJS \u2192<br \/>\n    <\/a><\/p>\n<p>  `;<\/p>\n<p>  eventInfo.appendChild(<br \/>\n    livePanel<br \/>\n  );<\/p>\n<p>  const nameElement =<br \/>\n    document.getElementById(<br \/>\n      \"orDjEventLiveName\"<br \/>\n    );<\/p>\n<p>  const NOWPLAYING_URL =<br \/>\n    \"https:\/\/radio.ormusiclive.com\/api\/nowplaying\/ormusiclive-mixes\";<\/p>\n<p>  const SELECTED_DJ_URL =<br \/>\n    \"https:\/\/video.ormusiclive.com:9443\/api\/mixes-current-dj\";<\/p>\n<p>  let offChecks = 0;<\/p>\n<p>  function setDjState(<br \/>\n    active,<br \/>\n    streamerName<br \/>\n  ){<\/p>\n<p>    if(active){<\/p>\n<p>      offChecks = 0;<\/p>\n<p>      const cleanName =<br \/>\n        streamerName &&<br \/>\n        String(streamerName).trim()<br \/>\n        ? String(streamerName).trim()<br \/>\n        : \"DJ\";<\/p>\n<p>      if(nameElement){<\/p>\n<p>        nameElement.textContent =<br \/>\n          cleanName.toUpperCase() +<br \/>\n          \" \u00b7 EN VIVO\";<\/p>\n<p>      }<\/p>\n<p>      livePanel.classList.add(<br \/>\n        \"is-visible\"<br \/>\n      );<\/p>\n<p>      return;<\/p>\n<p>    }<\/p>\n<p>    offChecks += 1;<\/p>\n<p>    \/*<br \/>\n      Esperamos dos lecturas sin DJ<br \/>\n      antes de volver a PR\u00d3XIMO EVENTO.<br \/>\n    *\/<\/p>\n<p>    if(offChecks >= 2){<\/p>\n<p>      livePanel.classList.remove(<br \/>\n        \"is-visible\"<br \/>\n      );<\/p>\n<p>    }<\/p>\n<p>  }<\/p>\n<p>  async function checkDjLive(){<\/p>\n<p>    try{<\/p>\n<p>      const response =<br \/>\n        await fetch(<br \/>\n          NOWPLAYING_URL +<br \/>\n          \"?t=\" +<br \/>\n          Date.now(),<br \/>\n          {<br \/>\n            cache:\"no-store\"<br \/>\n          }<br \/>\n        );<\/p>\n<p>      if(!response.ok){<\/p>\n<p>        throw new Error(<br \/>\n          \"Now Playing no disponible\"<br \/>\n        );<\/p>\n<p>      }<\/p>\n<p>      const data =<br \/>\n        await response.json();<\/p>\n<p>      const live =<br \/>\n        data && data.live<br \/>\n        ? data.live<br \/>\n        : {};<\/p>\n<p>      const isLive =<br \/>\n        Boolean(<br \/>\n          live.is_live === true ||<br \/>\n          live.is_live === 1<br \/>\n        );<\/p>\n<p>      let selectedDjName = \"\";<\/p>\n<p>      if(isLive){<br \/>\n        try{<br \/>\n          const djResponse =<br \/>\n            await fetch(<br \/>\n              SELECTED_DJ_URL +<br \/>\n              \"?t=\" +<br \/>\n              Date.now(),<br \/>\n              {<br \/>\n                cache:\"no-store\"<br \/>\n              }<br \/>\n            );<\/p>\n<p>          if(djResponse.ok){<br \/>\n            const djData =<br \/>\n              await djResponse.json();<\/p>\n<p>            selectedDjName =<br \/>\n              djData &&<br \/>\n              djData.name<br \/>\n              ? String(djData.name).trim()<br \/>\n              : \"\";<br \/>\n          }<br \/>\n        }<br \/>\n        catch(djError){<br \/>\n          selectedDjName = \"\";<br \/>\n        }<br \/>\n      }<\/p>\n<p>      setDjState(<br \/>\n        isLive,<br \/>\n        selectedDjName || \"DJ\"<br \/>\n      );<\/p>\n<p>    }<br \/>\n    catch(error){<\/p>\n<p>      setDjState(<br \/>\n        false,<br \/>\n        \"\"<br \/>\n      );<\/p>\n<p>    }<\/p>\n<p>  }<\/p>\n<p>  checkDjLive();<\/p>\n<p>  setInterval(<br \/>\n    checkDjLive,<br \/>\n    5000<br \/>\n  );<\/p>\n<p>});<\/p>\n<p><\/script><\/p>\n<p><!-- =========================================================\n     OR HOME \u00b7 DJ LIVE PULSO SUAVE \u00b7 20260829\n========================================================= --><\/p>\n<style>\n<p>\/*<br \/>\n  ROJO M\u00c1S TENUE \/ VINO<br \/>\n  + PULSO DE TODA LA FRANJA<br \/>\n*\/<\/p>\n<p>.or-home-dj-event-live{<\/p>\n<p>  background:<br \/>\n    linear-gradient(<br \/>\n      115deg,<br \/>\n      rgba(82,18,28,.97),<br \/>\n      rgba(58,13,22,.98) 55%,<br \/>\n      rgba(28,12,17,.98)<br \/>\n    )!important;<\/p>\n<p>  border-color:<br \/>\n    rgba(210,78,94,.40)!important;<\/p>\n<p>}<\/p>\n<p>\/* SOLO CUANDO EL DJ EST\u00c1 EN VIVO *\/<\/p>\n<p>.or-home-dj-event-live.is-visible{<\/p>\n<p>  animation:<br \/>\n    orDjWholeBannerPulse<br \/>\n    1.15s<br \/>\n    ease-in-out<br \/>\n    infinite!important;<\/p>\n<p>}<\/p>\n<p>\/*<br \/>\n  TITILEO \/ RESPIRACI\u00d3N DEL RECT\u00c1NGULO COMPLETO<br \/>\n*\/<\/p>\n<p>@keyframes orDjWholeBannerPulse{<\/p>\n<p>  0%,100%{<\/p>\n<p>    filter:<br \/>\n      brightness(.96);<\/p>\n<p>    box-shadow:<br \/>\n      inset 0 0 24px rgba(210,45,65,.16),<br \/>\n      0 0 12px rgba(210,45,65,.24);<\/p>\n<p>  }<\/p>\n<p>  50%{<\/p>\n<p>    filter:<br \/>\n      brightness(1.32);<\/p>\n<p>    box-shadow:<br \/>\n      inset 0 0 42px rgba(255,78,100,.30),<br \/>\n      0 0 34px rgba(235,55,78,.58);<\/p>\n<p>  }<\/p>\n<p>}<\/p>\n<p>\/* PUNTO ROJO \u00b7 UN POCO M\u00c1S VIVO QUE EL FONDO *\/<\/p>\n<p>.or-home-dj-event-dot{<\/p>\n<p>  background:#e64c61!important;<\/p>\n<p>  box-shadow:<br \/>\n    0 0 0 5px rgba(230,76,97,.12),<br \/>\n    0 0 13px rgba(230,76,97,.70)!important;<\/p>\n<p>}<\/p>\n<p>\/* TEXTO PRINCIPAL *\/<\/p>\n<p>.or-home-dj-event-kicker{<br \/>\n  color:#efc5cb!important;<br \/>\n}<\/p>\n<p>.or-home-dj-event-description{<br \/>\n  color:#dfbcc2!important;<br \/>\n}<\/p>\n<p>\/* BOT\u00d3N: BLANCO MENOS FUERTE *\/<\/p>\n<p>.or-home-dj-event-button{<\/p>\n<p>  background:<br \/>\n    rgba(255,255,255,.92)!important;<\/p>\n<p>  color:<br \/>\n    #641522!important;<\/p>\n<p>}<\/p>\n<\/style>\n\n\n<style id=\"or-home-multimedia-v2-style\">\n\n#orFeaturedMediaFrame{\n    aspect-ratio:16\/9 !important;\n    overflow:hidden !important;\n    background:#05070b !important;\n}\n\n#orFeaturedMediaFrame .or-v2-home-media{\n    display:block;\n    width:100%;\n    height:100%;\n    object-fit:contain;\n    background:#05070b;\n}\n\n#orFeaturedMediaFrame .or-v2-home-logo-wrap{\n    width:100%;\n    height:100%;\n    display:flex;\n    align-items:center;\n    justify-content:center;\n    background:#05070b;\n}\n\n#orFeaturedMediaFrame .or-v2-home-logo{\n    width:60%;\n    height:60%;\n    object-fit:contain;\n}\n\n.or-v2-home-sound{\n    position:absolute;\n    right:12px;\n    bottom:12px;\n    z-index:20;\n    border:1px solid rgba(255,255,255,.28);\n    border-radius:999px;\n    padding:8px 12px;\n    background:rgba(5,9,18,.84);\n    color:#fff;\n    font-size:11px;\n    font-weight:800;\n    cursor:pointer;\n}\n\n<\/style>\n\n<script>\n\n\/* OR_HOME_MULTIMEDIA_V2_PORTADA_20260915 *\/\n\n(function(){\n\n    const API =\n        \"https:\/\/video.ormusiclive.com:9444\/api\/multimedia\/output?platform=web&screen=home\";\n\n    const V2_BASE =\n        \"https:\/\/video.ormusiclive.com:9444\";\n\n    const LOGO =\n        \"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\";\n\n    const HLS_SRC =\n        \"https:\/\/cdn.jsdelivr.net\/npm\/hls.js@1.6.19\/dist\/hls.min.js\";\n\n    let currentSignature = \"\";\n\n    let token = 0;\n\n    let timer = null;\n\n    let activeHls = null;\n\n    let hlsPromise = null;\n\n\n    function getFrame(){\n\n        return document.getElementById(\n            \"orFeaturedMediaFrame\"\n        );\n    }\n\n\n    function stopCurrent(){\n\n        if(timer){\n\n            clearTimeout(\n                timer\n            );\n\n            timer = null;\n        }\n\n        const frame =\n            getFrame();\n\n        if(frame){\n\n            const video =\n                frame.querySelector(\n                    \"video\"\n                );\n\n            if(video){\n\n                try{\n                    video.pause();\n                }catch(e){}\n            }\n        }\n\n        if(activeHls){\n\n            try{\n                activeHls.destroy();\n            }catch(e){}\n\n            activeHls = null;\n        }\n    }\n\n\n    function prepare(){\n\n        const frame =\n            getFrame();\n\n        if(!frame){\n            return null;\n        }\n\n        stopCurrent();\n\n        frame.innerHTML = \"\";\n\n        frame.style.position =\n            \"relative\";\n\n        frame.style.background =\n            \"#05070b\";\n\n        const ph =\n            document.getElementById(\n                \"orFeaturedPlaceholder\"\n            );\n\n        if(ph){\n\n            ph.hidden = true;\n\n            ph.style.display =\n                \"none\";\n        }\n\n        const media =\n            document.getElementById(\n                \"orFeaturedMedia\"\n            );\n\n        if(media){\n\n            media.classList.remove(\n                \"is-clickable\"\n            );\n\n            media.removeAttribute(\n                \"title\"\n            );\n\n            const badge =\n                media.querySelector(\n                    \".or-featured-badge\"\n                );\n\n            if(badge){\n\n                badge.style.display =\n                    \"none\";\n            }\n        }\n\n        return frame;\n    }\n\n\n    function showLogo(){\n\n        token += 1;\n\n        const frame =\n            prepare();\n\n        if(!frame){\n            return;\n        }\n\n        const wrap =\n            document.createElement(\n                \"div\"\n            );\n\n        wrap.className =\n            \"or-v2-home-logo-wrap\";\n\n        const img =\n            document.createElement(\n                \"img\"\n            );\n\n        img.className =\n            \"or-v2-home-logo\";\n\n        img.src =\n            \"https:\/\/ormusiclive.com\/wp-content\/uploads\/2026\/08\/or-music-logo-final.png\";\n\n        img.alt =\n            \"OR Music Live\";\n\n        wrap.appendChild(\n            img\n        );\n\n        frame.appendChild(\n            wrap\n        );\n    }\n\n\n    function absoluteUrl(\n        value\n    ){\n\n        try{\n\n            return new URL(\n                value,\n                V2_BASE\n            ).href;\n\n        }catch(e){\n\n            return \"\";\n        }\n    }\n\n\n    function loadHls(){\n\n        if(window.Hls){\n\n            return Promise.resolve(\n                window.Hls\n            );\n        }\n\n        if(hlsPromise){\n\n            return hlsPromise;\n        }\n\n        hlsPromise =\n            new Promise(\n                function(\n                    resolve,\n                    reject\n                ){\n\n                    const script =\n                        document.createElement(\n                            \"script\"\n                        );\n\n                    script.src =\n                        HLS_SRC;\n\n                    script.async =\n                        true;\n\n                    script.onload =\n                        function(){\n\n                            if(window.Hls){\n\n                                resolve(\n                                    window.Hls\n                                );\n\n                            }else{\n\n                                reject(\n                                    new Error(\n                                        \"HLS no disponible\"\n                                    )\n                                );\n                            }\n                        };\n\n                    script.onerror =\n                        reject;\n\n                    document.head.appendChild(\n                        script\n                    );\n                }\n            );\n\n        return hlsPromise;\n    }\n\n\n    function addSoundButton(\n        frame,\n        video\n    ){\n\n        const button =\n            document.createElement(\n                \"button\"\n            );\n\n        button.type =\n            \"button\";\n\n        button.className =\n            \"or-v2-home-sound\";\n\n        button.textContent =\n            \"Activar sonido\";\n\n\n        button.addEventListener(\n            \"click\",\n            function(event){\n\n                event.preventDefault();\n\n                event.stopPropagation();\n\n                video.muted =\n                    !video.muted;\n\n                button.textContent =\n                    video.muted\n                    ? \"Activar sonido\"\n                    : \"Silenciar\";\n\n                video.play()\n                .catch(\n                    function(){}\n                );\n            }\n        );\n\n        frame.appendChild(\n            button\n        );\n    }\n\n\n    function showImage(\n        item,\n        duration,\n        sequenceToken,\n        next\n    ){\n\n        if(\n            sequenceToken !== token\n        ){\n            return;\n        }\n\n        const frame =\n            prepare();\n\n        if(!frame){\n            return;\n        }\n\n        const image =\n            document.createElement(\n                \"img\"\n            );\n\n        image.className =\n            \"or-v2-home-media\";\n\n        image.src =\n            absoluteUrl(\n                item.media_url\n            );\n\n        image.alt =\n            \"OR Music Live\";\n\n        image.onerror =\n            next;\n\n        frame.appendChild(\n            image\n        );\n\n        timer =\n            setTimeout(\n                next,\n                Math.max(\n                    1,\n                    Number(duration) || 10\n                ) * 1000\n            );\n    }\n\n\n    \/* OR_HOME_MUX_PLAYER_V2_20260916 *\/\n\n    let orHomeMuxPlayerPromise = null;\n\n\n    function loadMuxPlayer(){\n\n        if(\n            window.customElements\n            &&\n            customElements.get(\n                \"mux-player\"\n            )\n        ){\n\n            return Promise.resolve();\n\n        }\n\n\n        if(orHomeMuxPlayerPromise){\n\n            return orHomeMuxPlayerPromise;\n\n        }\n\n\n        orHomeMuxPlayerPromise =\n            new Promise(\n                function(\n                    resolve,\n                    reject\n                ){\n\n                    const existing =\n                        document.querySelector(\n                            \"script[data-or-home-mux-player]\"\n                        );\n\n\n                    if(existing){\n\n                        if(\n                            window.customElements\n                        ){\n\n                            customElements\n                            .whenDefined(\n                                \"mux-player\"\n                            )\n                            .then(resolve)\n                            .catch(reject);\n\n                            return;\n                        }\n\n                    }\n\n\n                    const script =\n                        existing\n                        ||\n                        document.createElement(\n                            \"script\"\n                        );\n\n\n                    if(!existing){\n\n                        script.src =\n                            \"https:\/\/cdn.jsdelivr.net\/npm\/@mux\/mux-player@3.13.3\";\n\n                        script.defer =\n                            true;\n\n                        script.dataset.orHomeMuxPlayer =\n                            \"1\";\n\n                        document.head.appendChild(\n                            script\n                        );\n\n                    }\n\n\n                    script.addEventListener(\n                        \"load\",\n                        function(){\n\n                            if(\n                                window.customElements\n                            ){\n\n                                customElements\n                                .whenDefined(\n                                    \"mux-player\"\n                                )\n                                .then(resolve)\n                                .catch(reject);\n\n                            }else{\n\n                                reject(\n                                    new Error(\n                                        \"Custom Elements no disponible\"\n                                    )\n                                );\n\n                            }\n\n                        },\n                        {\n                            once:true\n                        }\n                    );\n\n\n                    script.addEventListener(\n                        \"error\",\n                        reject,\n                        {\n                            once:true\n                        }\n                    );\n\n                }\n            );\n\n\n        return orHomeMuxPlayerPromise;\n\n    }\n\n\n    async function showVideo(\n        item,\n        sequenceToken,\n        next\n    ){\n\n        if(\n            sequenceToken !== token\n        ){\n            return;\n        }\n\n\n        const frame =\n            prepare();\n\n\n        if(!frame){\n            return;\n        }\n\n\n        let finished = false;\n\n\n        function finish(){\n\n            if(finished){\n                return;\n            }\n\n            finished = true;\n\n            if(\n                sequenceToken === token\n            ){\n                next();\n            }\n\n        }\n\n\n        try{\n\n            await loadMuxPlayer();\n\n        }catch(error){\n\n            finish();\n\n            return;\n        }\n\n\n        if(\n            sequenceToken !== token\n        ){\n            return;\n        }\n\n\n        const playbackId =\n            String(\n                item.playback_id\n                || \"\"\n            ).trim();\n\n\n        if(!playbackId){\n\n            finish();\n\n            return;\n        }\n\n\n        const player =\n            document.createElement(\n                \"mux-player\"\n            );\n\n\n        player.className =\n            \"or-v2-home-media\";\n\n\n        player.setAttribute(\n            \"playback-id\",\n            playbackId\n        );\n\n\n        player.setAttribute(\n            \"stream-type\",\n            \"on-demand\"\n        );\n\n\n        player.setAttribute(\n            \"autoplay\",\n            \"muted\"\n        );\n\n\n        player.setAttribute(\n            \"muted\",\n            \"\"\n        );\n\n\n        player.setAttribute(\n            \"playsinline\",\n            \"\"\n        );\n\n\n        player.setAttribute(\n            \"preload\",\n            \"auto\"\n        );\n\n\n        player.setAttribute(\n            \"disable-cookies\",\n            \"\"\n        );\n\n\n        player.setAttribute(\n            \"nohotkeys\",\n            \"\"\n        );\n\n\n        player.style.display =\n            \"block\";\n\n        player.style.width =\n            \"100%\";\n\n        player.style.height =\n            \"100%\";\n\n        player.style.background =\n            \"#000\";\n\n        player.style.setProperty(\n            \"--controls\",\n            \"none\"\n        );\n\n        player.style.setProperty(\n            \"--media-object-fit\",\n            \"cover\"\n        );\n\n        player.style.setProperty(\n            \"--media-object-position\",\n            \"center\"\n        );\n\n\n        player.addEventListener(\n            \"ended\",\n            finish,\n            {\n                once:true\n            }\n        );\n\n\n        player.addEventListener(\n            \"error\",\n            function(){\n\n                setTimeout(\n                    finish,\n                    1200\n                );\n\n            },\n            {\n                once:true\n            }\n        );\n\n\n        frame.appendChild(\n            player\n        );\n\n\n        try{\n\n            addSoundButton(\n                frame,\n                player\n            );\n\n        }catch(error){}\n\n\n        try{\n\n            const playResult =\n                player.play();\n\n\n            if(\n                playResult\n                &&\n                typeof playResult.catch\n                === \"function\"\n            ){\n\n                playResult.catch(\n                    function(){}\n                );\n\n            }\n\n        }catch(error){}\n\n    }\n\n\n    function startSequence(\n        data\n    ){\n\n        const items =\n            Array.isArray(\n                data.items\n            )\n            ? data.items\n            : [];\n\n\n        if(\n            !data.enabled\n            ||\n            !items.length\n        ){\n\n            showLogo();\n\n            return;\n        }\n\n\n        token += 1;\n\n        const sequenceToken =\n            token;\n\n        let index =\n            0;\n\n        const imageDuration =\n            Math.max(\n                1,\n                Number(\n                    data.image_duration_seconds\n                ) || 10\n            );\n\n\n        function next(){\n\n            if(\n                sequenceToken !== token\n            ){\n                return;\n            }\n\n            stopCurrent();\n\n            const item =\n                items[\n                    index %\n                    items.length\n                ];\n\n            index =\n                (\n                    index + 1\n                )\n                % items.length;\n\n\n            if(\n                item.kind ===\n                \"video\"\n            ){\n\n                showVideo(\n                    item,\n                    sequenceToken,\n                    next\n                );\n\n                return;\n            }\n\n\n            if(\n                item.kind ===\n                \"image\"\n            ){\n\n                showImage(\n                    item,\n                    imageDuration,\n                    sequenceToken,\n                    next\n                );\n\n                return;\n            }\n\n\n            next();\n        }\n\n\n        next();\n    }\n\n\n    function makeSignature(\n        data\n    ){\n\n        return JSON.stringify({\n            enabled:\n                !!data.enabled,\n\n            duration:\n                Number(\n                    data.image_duration_seconds\n                ) || 10,\n\n            items:\n                Array.isArray(\n                    data.items\n                )\n                ? data.items\n                : []\n        });\n    }\n\n\n    async function refresh(){\n\n        try{\n\n            const response =\n                await fetch(\n                    \"https:\/\/video.ormusiclive.com:9444\/api\/multimedia\/output?platform=web&screen=home&t=\"\n                    + Date.now(),\n                    {\n                        cache:\n                            \"no-store\"\n                    }\n                );\n\n\n            if(!response.ok){\n\n                throw new Error(\n                    \"HTTP \"\n                    + response.status\n                );\n            }\n\n\n            const data =\n                await response.json();\n\n            const sig =\n                makeSignature(\n                    data\n                );\n\n\n            if(\n                sig !==\n                currentSignature\n            ){\n\n                currentSignature =\n                    sig;\n\n                startSequence(\n                    data\n                );\n            }\n\n        }catch(e){\n\n            if(\n                currentSignature !==\n                \"FALLBACK_LOGO\"\n            ){\n\n                currentSignature =\n                    \"FALLBACK_LOGO\";\n\n                showLogo();\n            }\n        }\n    }\n\n\n    showLogo();\n\n    refresh();\n\n    setInterval(\n        refresh,\n        5000\n    );\n\n})();\n\n<\/script>\n\n\n\n\n<style id=\"or-home-texts-v2-style\">\n\n\/* OR_HOME_TEXTS_V2_20260916 *\/\n\n\n\/*\n ZONA GRANDE DE TEXTO\n Debajo de la pantalla de Portada.\n*\/\n\n#orHomeTextV2{\n\n    display:none;\n\n    width:100%;\n\n    min-height:150px;\n\n    padding:24px 28px;\n\n    align-items:center;\n\n    justify-content:center;\n\n    text-align:center;\n\n    white-space:pre-wrap;\n\n    overflow-wrap:anywhere;\n\n    border-radius:18px;\n\n    border:\n        1px solid rgba(\n            255,\n            255,\n            255,\n            .14\n        );\n\n    background:\n        linear-gradient(\n            145deg,\n            rgba(8,12,20,.96),\n            rgba(12,19,31,.96)\n        );\n\n    font-size:\n        clamp(\n            18px,\n            2.1vw,\n            32px\n        );\n\n    line-height:1.35;\n\n    font-weight:900;\n\n    letter-spacing:.3px;\n\n    box-sizing:border-box;\n\n    transition:\n        border-color .25s ease,\n        box-shadow .25s ease,\n        opacity .25s ease;\n}\n\n\n#orHomeTextV2.is-active{\n\n    display:flex;\n}\n\n\n\/*\n EFECTO ILUMINADO\n*\/\n\n#orHomeTextV2.effect-glow{\n\n    box-shadow:\n        0 0 20px\n        rgba(255,255,255,.12);\n}\n\n\n\/*\n EFECTO PULSANTE \/ EN VIVO\n Ligero: solo opacidad y brillo.\n*\/\n\n#orHomeTextV2.effect-pulse{\n\n    animation:\n        orHomeTextPulse\n        1.25s\n        ease-in-out\n        infinite;\n}\n\n\n@keyframes orHomeTextPulse{\n\n    0%,\n    100%{\n\n        opacity:.82;\n    }\n\n    50%{\n\n        opacity:1;\n    }\n}\n\n\n\/*\n Cuando no existe evento real\n ni aviso manual, quitamos el\n r\u00f3tulo fijo PR\u00d3XIMO EVENTO.\n*\/\n\n.or-featured-info.or-texts-empty\n.or-featured-brand{\n\n    display:none !important;\n}\n\n\n@media(max-width:700px){\n\n    #orHomeTextV2{\n\n        min-height:120px;\n\n        padding:19px 17px;\n\n        font-size:\n            clamp(\n                17px,\n                5.3vw,\n                24px\n            );\n    }\n}\n\n\n\n\/* OR_HOME_TEXTS_HIDE_FIXED_EVENT_LABEL_20260916 *\/\n\n\/*\n El texto de esta zona queda\n completamente bajo control\n de TEXTOS \/ AVISOS.\n No mostramos encabezados\n fijos como \"PR\u00d3XIMO EVENTO\".\n*\/\n\n#eventos-destacados\n.or-featured-info\n.or-featured-brand{\n\n    display:none !important;\n\n    margin:0 !important;\n    padding:0 !important;\n\n    height:0 !important;\n    min-height:0 !important;\n\n    overflow:hidden !important;\n}\n\n\n\n\/* OR_HOME_TEXT_EFFECTS_STRONG_20260916 *\/\n\n\n\/* =========================================\n   ILUMINADO\n   Luz fija, fuerte y claramente visible\n========================================= *\/\n\n#orHomeTextV2.effect-glow{\n\n    border:\n        2px solid\n        currentColor !important;\n\n    box-shadow:\n        0 0 10px currentColor,\n        0 0 28px currentColor,\n        0 0 52px currentColor,\n        inset 0 0 24px\n        rgba(255,255,255,.10)\n        !important;\n\n    text-shadow:\n        0 0 5px currentColor,\n        0 0 12px currentColor,\n        0 0 25px currentColor\n        !important;\n\n    filter:\n        brightness(1.35)\n        saturate(1.35);\n\n}\n\n\n\/* =========================================\n   PULSANTE \/ EN VIVO\n   Pulso fuerte y claramente perceptible\n========================================= *\/\n\n#orHomeTextV2.effect-pulse{\n\n    border:\n        2px solid\n        currentColor !important;\n\n    animation:\n        orHomeTextPulseStrong\n        .90s\n        ease-in-out\n        infinite\n        !important;\n\n    transform-origin:center;\n\n}\n\n\n@keyframes orHomeTextPulseStrong{\n\n    0%,\n    100%{\n\n        opacity:1;\n\n        transform:\n            scale(1.018);\n\n        filter:\n            brightness(1.65)\n            saturate(1.55);\n\n        box-shadow:\n            0 0 12px currentColor,\n            0 0 32px currentColor,\n            0 0 68px currentColor,\n            inset 0 0 26px\n            rgba(255,255,255,.13);\n\n        text-shadow:\n            0 0 6px currentColor,\n            0 0 16px currentColor,\n            0 0 32px currentColor;\n\n    }\n\n\n    50%{\n\n        opacity:.38;\n\n        transform:\n            scale(.985);\n\n        filter:\n            brightness(.58)\n            saturate(.8);\n\n        box-shadow:\n            0 0 3px currentColor,\n            0 0 8px currentColor;\n\n        text-shadow:\n            0 0 2px currentColor;\n\n    }\n\n}\n\n\n\n\/* OR_HOME_TEXT_EFFECTS_BALANCED_20260916 *\/\n\n\n\/* ILUMINADO \u00b7 M\u00c1S LIMPIO *\/\n\n#orHomeTextV2.effect-glow{\n\n    border:\n        1px solid\n        currentColor !important;\n\n    box-shadow:\n        0 0 6px currentColor,\n        0 0 16px currentColor,\n        0 0 30px currentColor\n        !important;\n\n    text-shadow:\n        0 0 3px currentColor,\n        0 0 8px currentColor,\n        0 0 14px currentColor\n        !important;\n\n    filter:\n        brightness(1.12)\n        saturate(1.15)\n        !important;\n}\n\n\n\/* PULSANTE \u00b7 VISIBLE PERO M\u00c1S SUAVE *\/\n\n#orHomeTextV2.effect-pulse{\n\n    animation:\n        orHomeTextPulseBalanced\n        1.05s\n        ease-in-out\n        infinite\n        !important;\n\n    border:\n        1px solid\n        currentColor !important;\n}\n\n\n@keyframes orHomeTextPulseBalanced{\n\n    0%,\n    100%{\n\n        opacity:1;\n\n        transform:\n            scale(1.008);\n\n        filter:\n            brightness(1.30)\n            saturate(1.25);\n\n        box-shadow:\n            0 0 7px currentColor,\n            0 0 18px currentColor,\n            0 0 34px currentColor;\n\n        text-shadow:\n            0 0 4px currentColor,\n            0 0 10px currentColor,\n            0 0 18px currentColor;\n    }\n\n\n    50%{\n\n        opacity:.58;\n\n        transform:\n            scale(.995);\n\n        filter:\n            brightness(.78)\n            saturate(.95);\n\n        box-shadow:\n            0 0 3px currentColor,\n            0 0 8px currentColor;\n\n        text-shadow:\n            0 0 3px currentColor;\n    }\n\n}\n\n\n\n\/* OR_HOME_TEXT_EFFECT_CONTROLS_DYNAMIC_20260916 *\/\n\n\n\/* =========================================\n   ILUMINADO REGULABLE 0\u2013100\n========================================= *\/\n\n#orHomeTextV2.effect-glow{\n\n    border:\n        1px solid\n        currentColor !important;\n\n    box-shadow:\n        0 0\n        var(--or-text-glow-1,4px)\n        currentColor,\n\n        0 0\n        var(--or-text-glow-2,14px)\n        currentColor,\n\n        0 0\n        var(--or-text-glow-3,24px)\n        currentColor\n        !important;\n\n    text-shadow:\n        0 0\n        var(--or-text-glow-1,4px)\n        currentColor,\n\n        0 0\n        var(--or-text-glow-2,12px)\n        currentColor\n        !important;\n\n    filter:\n        brightness(\n            var(\n                --or-text-brightness,\n                1.15\n            )\n        )\n\n        saturate(\n            var(\n                --or-text-saturation,\n                1.12\n            )\n        )\n        !important;\n\n    animation:none !important;\n}\n\n\n\/* =========================================\n   PULSANTE REGULABLE\n========================================= *\/\n\n#orHomeTextV2.effect-pulse{\n\n    border:\n        1px solid\n        currentColor !important;\n\n    animation:\n        orHomeTextPulseUser\n        var(\n            --or-text-pulse-duration,\n            1.05s\n        )\n        ease-in-out\n        infinite\n        !important;\n\n    transform-origin:center;\n}\n\n\n@keyframes orHomeTextPulseUser{\n\n    0%,\n    100%{\n\n        opacity:1;\n\n        transform:\n            scale(\n                var(\n                    --or-pulse-high-scale,\n                    1.006\n                )\n            );\n\n        filter:\n            brightness(\n                var(\n                    --or-text-brightness,\n                    1.18\n                )\n            )\n\n            saturate(\n                var(\n                    --or-text-saturation,\n                    1.12\n                )\n            );\n\n        box-shadow:\n            0 0\n            var(--or-text-glow-1,4px)\n            currentColor,\n\n            0 0\n            var(--or-text-glow-2,14px)\n            currentColor,\n\n            0 0\n            var(--or-text-glow-3,24px)\n            currentColor;\n\n        text-shadow:\n            0 0\n            var(--or-text-glow-1,4px)\n            currentColor,\n\n            0 0\n            var(--or-text-glow-2,12px)\n            currentColor;\n    }\n\n\n    50%{\n\n        opacity:\n            var(\n                --or-pulse-low-opacity,\n                .60\n            );\n\n        transform:\n            scale(\n                var(\n                    --or-pulse-low-scale,\n                    .997\n                )\n            );\n\n        filter:\n            brightness(.82)\n            saturate(.92);\n\n        box-shadow:\n            0 0 2px\n            currentColor;\n\n        text-shadow:\n            0 0 2px\n            currentColor;\n    }\n\n}\n\n\n\n\/* OR_HOME_TEXT_INNER_FIX_20260916 *\/\n\n#orHomeTextV2{\n\n    width:100% !important;\n\n    max-width:none !important;\n\n    min-width:0 !important;\n\n    box-sizing:border-box !important;\n}\n\n\n#orHomeTextV2Inner{\n\n    display:block !important;\n\n    width:100% !important;\n\n    max-width:100% !important;\n\n    min-width:0 !important;\n\n    white-space:pre-wrap !important;\n\n    word-break:normal !important;\n\n    overflow-wrap:break-word !important;\n\n    text-align:inherit !important;\n\n    box-sizing:border-box !important;\n}\n\n<\/style>\n\n\n<script>\n\n\/* OR_HOME_TEXTS_V2_20260916 *\/\n\n(function(){\n\n    const API =\n        \"https:\/\/video.ormusiclive.com:9444\/api\/texts\/output?platform=web&screen=home\";\n\n\n    let signature =\n        \"\";\n\n\n    function info(){\n\n        return document.querySelector(\n            \".or-featured-info\"\n        );\n    }\n\n\n    function brand(){\n\n        return document.querySelector(\n            \".or-featured-info \"\n            + \".or-featured-brand\"\n        );\n    }\n\n\n    function eventData(){\n\n        return document.getElementById(\n            \"orFeaturedData\"\n        );\n    }\n\n\n    function ensureBox(){\n\n        const container =\n            info();\n\n\n        if(!container){\n\n            return null;\n        }\n\n\n        let box =\n            document.getElementById(\n                \"orHomeTextV2\"\n            );\n\n\n        if(box){\n\n            return box;\n        }\n\n\n        box =\n            document.createElement(\n                \"div\"\n            );\n\n\n        box.id =\n            \"orHomeTextV2\";\n\n\n        box.setAttribute(\n            \"aria-live\",\n            \"polite\"\n        );\n\n\n        const inner =\n            document.createElement(\n                \"div\"\n            );\n\n        inner.id =\n            \"orHomeTextV2Inner\";\n\n        box.appendChild(\n            inner\n        );\n\n\n        container.appendChild(\n            box\n        );\n\n\n        return box;\n    }\n\n\n    function hasRealEvent(){\n\n        const data =\n            eventData();\n\n\n        if(!data){\n\n            return false;\n        }\n\n\n        \/*\n         El sistema actual a\u00f1ade\n         has-event cuando existen\n         datos reales de evento.\n        *\/\n\n        if(\n            data.classList.contains(\n                \"has-event\"\n            )\n        ){\n\n            return true;\n        }\n\n\n        \/*\n         Respaldo adicional:\n         si el t\u00edtulo del evento\n         tiene contenido, tambi\u00e9n\n         lo consideramos evento real.\n        *\/\n\n        const title =\n            document.getElementById(\n                \"orFeaturedTitle\"\n            );\n\n\n        return !!(\n            title\n            &&\n            String(\n                title.textContent || \"\"\n            ).trim()\n        );\n    }\n\n\n    function rgba(\n        hex,\n        alpha\n    ){\n\n        const value =\n            String(\n                hex || \"\"\n            ).replace(\n                \"#\",\n                \"\"\n            );\n\n\n        if(value.length !== 6){\n\n            return (\n                \"rgba(255,255,255,\"\n                + alpha\n                + \")\"\n            );\n        }\n\n\n        const r =\n            parseInt(\n                value.slice(0,2),\n                16\n            );\n\n        const g =\n            parseInt(\n                value.slice(2,4),\n                16\n            );\n\n        const b =\n            parseInt(\n                value.slice(4,6),\n                16\n            );\n\n\n        if(\n            Number.isNaN(r)\n            ||\n            Number.isNaN(g)\n            ||\n            Number.isNaN(b)\n        ){\n\n            return (\n                \"rgba(255,255,255,\"\n                + alpha\n                + \")\"\n            );\n        }\n\n\n        return (\n            \"rgba(\"\n            + r\n            + \",\"\n            + g\n            + \",\"\n            + b\n            + \",\"\n            + alpha\n            + \")\"\n        );\n    }\n\n\n    function normalMode(){\n\n        const container =\n            info();\n\n        const box =\n            ensureBox();\n\n        const brandBox =\n            brand();\n\n        const data =\n            eventData();\n\n\n        if(box){\n\n            box.className =\n                \"\";\n\n            const inner =\n                document.getElementById(\n                    \"orHomeTextV2Inner\"\n                );\n\n            if(inner){\n\n                inner.textContent =\n                    \"\";\n            }\n\n            box.removeAttribute(\n                \"style\"\n            );\n        }\n\n\n        if(data){\n\n            data.style.removeProperty(\n                \"display\"\n            );\n        }\n\n\n        const realEvent =\n            hasRealEvent();\n\n\n        if(container){\n\n            container.classList.toggle(\n                \"or-texts-empty\",\n                !realEvent\n            );\n        }\n\n\n        if(brandBox){\n\n            if(realEvent){\n\n                brandBox.style.removeProperty(\n                    \"display\"\n                );\n\n            }else{\n\n                brandBox.style.display =\n                    \"none\";\n            }\n        }\n    }\n\n\n    function textMode(\n        message\n    ){\n\n        const container =\n            info();\n\n        const box =\n            ensureBox();\n\n        const brandBox =\n            brand();\n\n        const data =\n            eventData();\n\n\n        if(\n            !container\n            ||\n            !box\n            ||\n            !message\n        ){\n\n            normalMode();\n\n            return;\n        }\n\n\n        container.classList.remove(\n            \"or-texts-empty\"\n        );\n\n\n        if(brandBox){\n\n            brandBox.style.display =\n                \"none\";\n        }\n\n\n        if(data){\n\n            data.style.display =\n                \"none\";\n        }\n\n\n        const color =\n            String(\n                message.color\n                || \"#ffffff\"\n            );\n\n\n        const effect =\n            String(\n                message.effect\n                || \"normal\"\n            );\n\n\n        box.className =\n            \"is-active effect-\"\n            + effect;\n\n\n        let inner =\n            document.getElementById(\n                \"orHomeTextV2Inner\"\n            );\n\n\n        if(!inner){\n\n            inner =\n                document.createElement(\n                    \"div\"\n                );\n\n            inner.id =\n                \"orHomeTextV2Inner\";\n\n            box.appendChild(\n                inner\n            );\n        }\n\n\n        \/*\n         OR_HOME_TEXT_ALIGNMENT_CLEAN_20260916\n\n         La alineacion manda.\n         No usamos espacios manuales\n         para mover las lineas.\n        *\/\n\n        inner.textContent =\n            String(\n                message.text\n                || \"\"\n            )\n            .split(\/\\r?\\n\/)\n            .map(\n                function(line){\n                    return line.trim();\n                }\n            )\n            .join(\"\\n\");\n\n\n        \/*\n         OR_HOME_TEXT_ALIGNMENT_20260916\n        *\/\n\n        const alignment =\n            [\n                \"left\",\n                \"center\",\n                \"right\"\n            ].includes(\n                String(\n                    message.align\n                    || \"center\"\n                )\n            )\n            ? String(\n                message.align\n                || \"center\"\n            )\n            : \"center\";\n\n\n        inner.style.textAlign =\n            alignment;\n\n\n        box.style.textAlign =\n            alignment;\n\n\n        box.style.color =\n            color;\n\n\n        \/*\n         OR_HOME_TEXT_EFFECT_CONTROLS_DYNAMIC_20260916\n         Intensidad y velocidad controladas\n         directamente desde el Panel V2.\n        *\/\n\n        const intensity =\n            Math.max(\n                0,\n                Math.min(\n                    100,\n                    Number(\n                        message.intensity\n                        ?? 55\n                    )\n                )\n            );\n\n        const level =\n            intensity \/ 100;\n\n\n        const speeds = {\n            slow: \"1.55s\",\n            medium: \"1.05s\",\n            fast: \".72s\"\n        };\n\n\n        const speed =\n            speeds[\n                String(\n                    message.pulse_speed\n                    || \"medium\"\n                )\n            ]\n            || \"1.05s\";\n\n\n        box.style.setProperty(\n            \"--or-text-pulse-duration\",\n            speed\n        );\n\n\n        box.style.setProperty(\n            \"--or-text-glow-1\",\n            Math.round(\n                level * 7\n            ) + \"px\"\n        );\n\n        box.style.setProperty(\n            \"--or-text-glow-2\",\n            Math.round(\n                level * 22\n            ) + \"px\"\n        );\n\n        box.style.setProperty(\n            \"--or-text-glow-3\",\n            Math.round(\n                level * 38\n            ) + \"px\"\n        );\n\n\n        box.style.setProperty(\n            \"--or-text-brightness\",\n            String(\n                1\n                + level * .28\n            )\n        );\n\n\n        box.style.setProperty(\n            \"--or-text-saturation\",\n            String(\n                1\n                + level * .25\n            )\n        );\n\n\n        box.style.setProperty(\n            \"--or-pulse-low-opacity\",\n            String(\n                .88\n                - level * .50\n            )\n        );\n\n\n        box.style.setProperty(\n            \"--or-pulse-high-scale\",\n            String(\n                1\n                + level * .010\n            )\n        );\n\n\n        box.style.setProperty(\n            \"--or-pulse-low-scale\",\n            String(\n                1\n                - level * .005\n            )\n        );\n\n\n        box.style.borderColor =\n            rgba(\n                color,\n                .48\n            );\n\n\n        if(\n            effect === \"glow\"\n            ||\n            effect === \"pulse\"\n        ){\n\n            box.style.boxShadow =\n                \"0 0 24px \"\n                + rgba(\n                    color,\n                    .24\n                );\n\n            box.style.textShadow =\n                \"0 0 14px \"\n                + rgba(\n                    color,\n                    .34\n                );\n\n        }else{\n\n            box.style.boxShadow =\n                \"none\";\n\n            box.style.textShadow =\n                \"none\";\n        }\n    }\n\n\n    function stateSignature(\n        data\n    ){\n\n        return JSON.stringify({\n            enabled:\n                !!(\n                    data\n                    &&\n                    data.enabled\n                ),\n\n            message:\n                data\n                ? data.message\n                : null\n        });\n    }\n\n\n    async function refresh(){\n\n        try{\n\n            const response =\n                await fetch(\n                    API\n                    + \"&t=\"\n                    + Date.now(),\n                    {\n                        cache:\n                            \"no-store\"\n                    }\n                );\n\n\n            if(!response.ok){\n\n                throw new Error(\n                    \"HTTP \"\n                    + response.status\n                );\n            }\n\n\n            const data =\n                await response.json();\n\n\n            const next =\n                stateSignature(\n                    data\n                );\n\n\n            \/*\n             Aunque no cambie la API,\n             volvemos a comprobar el\n             estado del evento porque\n             su sistema puede actualizar\n             independientemente.\n            *\/\n\n            if(\n                next !== signature\n            ){\n\n                signature =\n                    next;\n            }\n\n\n            if(\n                data.enabled\n                &&\n                data.message\n                &&\n                String(\n                    data.message.text\n                    || \"\"\n                ).trim()\n            ){\n\n                textMode(\n                    data.message\n                );\n\n            }else{\n\n                normalMode();\n            }\n\n        }catch(error){\n\n            \/*\n             Ante cualquier problema\n             del Panel V2, nunca rompemos\n             la Portada ni los eventos.\n            *\/\n\n            normalMode();\n        }\n    }\n\n\n    \/*\n     Esperamos a que la estructura\n     y el sistema de eventos ya est\u00e9n\n     disponibles.\n    *\/\n\n    setTimeout(\n        refresh,\n        600\n    );\n\n\n    setInterval(\n        refresh,\n        5000\n    );\n\n})();\n\n<\/script>\n\n","protected":false},"excerpt":{"rendered":"<p>ORMUSICLIVE.COM Inicio Radio 24\/7 Mixes &amp; DJs Live TV Patrocinantes Radar Experience Industria Cont\u00e1ctanos MEN\u00da Inicio Radio 24\/7 Mixes &amp; DJs Live TV Patrocinantes Radar Experience Industria Cont\u00e1ctanos ESPACIO PUBLICITARIO \u00b7 EVENTOS Y ESPECT\u00c1CULOS ESPACIO DESTACADO ESPACIO PUBLICITARIO PARA EVENTOS Y ESPECT\u00c1CULOS Promociona aqu\u00ed tu pr\u00f3ximo evento, show, fiesta, presentaci\u00f3n o transmisi\u00f3n. OR MUSIC LIVE [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-247","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/ormusiclive.com\/index.php?rest_route=\/wp\/v2\/pages\/247","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ormusiclive.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/ormusiclive.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/ormusiclive.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ormusiclive.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=247"}],"version-history":[{"count":5,"href":"https:\/\/ormusiclive.com\/index.php?rest_route=\/wp\/v2\/pages\/247\/revisions"}],"predecessor-version":[{"id":644,"href":"https:\/\/ormusiclive.com\/index.php?rest_route=\/wp\/v2\/pages\/247\/revisions\/644"}],"wp:attachment":[{"href":"https:\/\/ormusiclive.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=247"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}