:root{--bg:#02060b;--panel:#07111d;--line:#0d66ae;--blue:#168cff;--cyan:#18d5ff;--text:#f4f8ff;--muted:#8fa2bc}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 50% 10%,#052143 0,#02060b 35%,#010306 100%);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,Arial,sans-serif;padding-bottom:92px}.ambient{position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 35%,#0879ff1a,transparent 25%),radial-gradient(circle at 85% 25%,#00d9ff12,transparent 22%);z-index:-1}.wrap{width:min(1440px,94%);margin:auto}.nav{height:78px;display:flex;align-items:center;gap:32px;border-bottom:1px solid #12304a}.brand img{width:230px;height:58px;object-fit:cover;object-position:center}.nav nav{display:flex;gap:30px;margin:auto}.nav a{color:#fff;text-decoration:none;text-transform:uppercase;font-size:13px;font-weight:800}.nav nav a:hover{color:var(--cyan)}button,.cta,.plan a{cursor:pointer}.listen,.cta,.hero-play,.plan a{border:1px solid var(--cyan);color:#fff;background:linear-gradient(90deg,#079eff,#0969ff);box-shadow:0 0 25px #009dff55;border-radius:999px;font-weight:900;text-decoration:none}.listen{padding:14px 24px}.menu{display:none;background:none;border:0;color:white;font-size:25px}.hero{min-height:550px;display:grid;grid-template-columns:1.6fr .8fr;gap:30px;align-items:center;padding:35px 0}.hero-main{text-align:center;position:relative}.logo-stage{position:relative;display:grid;place-items:center;min-height:330px}.logo-stage img{width:min(660px,85%);position:relative;z-index:2;filter:drop-shadow(0 0 22px #087cff66)}.radio-wave{position:absolute;width:260px;height:260px;border:3px solid var(--cyan);border-top-color:transparent;border-bottom-color:transparent;border-radius:50%;opacity:0;animation:pulse 2.4s infinite ease-out}.w2{animation-delay:.7s}.w3{animation-delay:1.4s}@keyframes pulse{0%{transform:scale(.55);opacity:.8}100%{transform:scale(1.9);opacity:0}}.eyebrow{font-size:18px;letter-spacing:8px;color:#d7e8ff}.hero-play{padding:12px 24px 12px 12px;font-size:22px;display:inline-flex;align-items:center;gap:18px}.play-icon{display:grid;place-items:center;width:54px;height:54px;border-radius:50%;background:#1fdcff}.hero-main small{display:block;margin-top:14px;letter-spacing:6px;color:#b8c9dd}.eq{display:flex;align-items:end;gap:3px;height:28px}.eq i,.bars i,.waveform i{display:block;width:4px;background:var(--cyan);animation:eq 1s infinite alternate}.eq i:nth-child(2n),.bars i:nth-child(2n),.waveform i:nth-child(2n){animation-delay:.3s}@keyframes eq{from{height:20%}to{height:100%}}.card,.quick-card,.plan{background:linear-gradient(145deg,#07121fe8,#02070dd9);border:1px solid #145a94;border-radius:18px;box-shadow:inset 0 0 30px #0088ff08}.now{padding:24px}.section-title{display:flex;align-items:center;justify-content:space-between}.section-title h2{margin:0}.section-title b{color:var(--cyan)}.live-dot{color:#ff3157;font-size:12px;font-weight:900}.now-track{display:flex;gap:18px;align-items:center;margin:22px 0}.cover{width:125px;height:125px;border:1px solid var(--cyan);border-radius:12px;overflow:hidden}.cover img{width:100%;height:100%;object-fit:cover}.now-track h3{font-size:24px;margin:0 0 5px}.now-track p,.recent p{color:var(--muted)}.bars{display:flex;gap:5px;height:40px;align-items:end}.bars i{width:5px}.now hr{border:0;border-top:1px solid #17334b}.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.quick-card{padding:20px;display:flex;align-items:center;gap:16px;text-decoration:none;color:#fff}.quick-card>span{font-size:35px}.quick-card h3{margin:0}.quick-card p{margin:4px 0 0;color:#b9c7d8;text-transform:uppercase;font-size:12px}.quick-card>b{margin-left:auto;font-size:34px}.grid{display:grid;grid-template-columns:1.05fr .95fr;gap:20px;margin-top:20px}.schedule,.ads{padding:25px}.days{display:flex;justify-content:space-between;border-bottom:1px solid #17334b;margin:18px 0}.days button{background:none;color:#8fa2bc;border:0;padding:10px 14px}.days .active{color:var(--cyan);border-bottom:2px solid var(--cyan)}.show{display:grid;grid-template-columns:150px 1fr auto;gap:20px;align-items:center;padding:15px;border-bottom:1px solid #12283a;color:#9fb0c6}.show b{display:block;color:#fff}.show small{display:block;margin-top:4px}.show.live{background:#08213b;border-radius:12px}.show em{color:#fff;background:#ff3157;border-radius:30px;padding:5px 9px;font-size:10px}.ads{display:grid;grid-template-columns:1.3fr .8fr;gap:30px;align-items:center;background:linear-gradient(100deg,#06111e,#041629 60%,#07233d)}.ads .kicker{font-weight:900;color:var(--cyan)}.ads h2{font-size:31px}.ads p{color:#b5c5d8;line-height:1.7}.ads ul{line-height:2.3;color:#d5e7f8}.cta{display:inline-block;padding:14px 22px;margin-top:12px}.plans{padding:90px 0}.heading{text-align:center}.heading p{color:var(--cyan);letter-spacing:5px}.heading h2{font-size:38px}.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.plan{padding:28px}.plan>span{color:var(--cyan);font-weight:900}.plan h3{font-size:28px}.plan p,.plan li{color:#aebed1}.plan li{margin:10px 0}.plan a{display:inline-block;padding:12px 18px;margin-top:15px}.plan.featured{transform:translateY(-10px);box-shadow:0 0 40px #008cff25}.contact{text-align:center;padding:30px 0 90px;font-size:22px}.contact a{color:var(--cyan)}footer{border-top:1px solid #12304a;padding:28px 0}footer .wrap{display:flex;align-items:center;justify-content:space-between;color:#70859f}footer img{width:180px;height:55px;object-fit:cover}.player{position:fixed;z-index:20;left:0;right:0;bottom:0;height:86px;background:#020812f5;border-top:1px solid #1776bd;display:grid;grid-template-columns:70px 230px 1fr 68px 220px;gap:16px;align-items:center;padding:10px 3%;backdrop-filter:blur(18px)}.player>img{width:64px;height:64px;object-fit:cover;border-radius:10px}.player-info b,.player-info small{display:block}.player-info small{color:#8fa2bc}.waveform{display:flex;align-items:center;justify-content:center;gap:5px;height:40px}.waveform i{width:3px}.round{width:58px;height:58px;border-radius:50%;border:3px solid var(--cyan);background:#061523;color:#fff;font-size:22px;box-shadow:0 0 20px #00cfff55}.volume{display:flex;align-items:center;gap:10px}.volume input{width:100%}@media(max-width:950px){.nav nav{display:none;position:absolute;top:78px;left:3%;right:3%;padding:20px;background:#020812;flex-direction:column;z-index:30}.nav nav.open{display:flex}.menu{display:block;margin-left:auto}.listen{display:none}.brand img{width:190px}.hero{grid-template-columns:1fr}.quick{grid-template-columns:1fr 1fr}.grid,.ads{grid-template-columns:1fr}.player{grid-template-columns:55px 1fr 58px}.waveform,.volume{display:none}.plan-grid{grid-template-columns:1fr}.plan.featured{transform:none}}@media(max-width:600px){.quick{grid-template-columns:1fr}.hero{padding-top:5px}.logo-stage{min-height:260px}.eyebrow{font-size:12px;letter-spacing:4px}.hero-play{font-size:16px}.show{grid-template-columns:100px 1fr}.show>span,.show>em{grid-column:2}.heading h2{font-size:29px}}
/* Nexus FM v3 — integración AzuraCast */
.recent{display:grid;gap:4px}.recent-row{display:grid;grid-template-columns:42px 1fr auto;gap:12px;align-items:center;padding:9px 0;border-bottom:1px solid #10283a}.recent-row img{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1px solid #145a94}.recent-row b,.recent-row small{display:block}.recent-row small{color:var(--muted);margin-top:2px}.recent-row time{font-size:12px;color:#7f93aa}.loading-data,.api-note{color:var(--muted)}.api-note a,.schedule-fallback a{color:var(--cyan)}.schedule-list{min-height:150px}.schedule-fallback{display:flex;flex-direction:column;gap:10px;padding:28px 12px;color:#9fb0c6}.schedule-fallback b{color:#fff;font-size:18px}.schedule-fallback a{font-weight:900;text-decoration:none;margin-top:6px}.cover{border-radius:50%;width:112px;height:112px}.cover img{border-radius:50%}

/* Nexus FM v4 — ajustes visuales */
.nav{overflow:visible}
.brand{width:150px;height:58px;display:flex;align-items:center;justify-content:center;flex:0 0 150px;overflow:hidden;border-radius:999px;background:#02060b}
.brand img{width:138px;height:46px;object-fit:contain;object-position:center;border-radius:999px;display:block}
.hero-main .logo-stage img{width:min(540px,76%);height:auto;object-fit:contain}
.grid{align-items:start}
.ads{align-self:start;min-height:0;padding:34px 30px}
footer .wrap{justify-content:center;text-align:center;min-height:48px}
.days button{flex:1;transition:.2s ease}
.days button:hover{color:#fff;background:#0b2033}
.days button.active{color:var(--cyan);border-bottom:2px solid var(--cyan);background:#071827}
.schedule-empty{padding:28px 14px;color:var(--muted);text-align:center}
@media(max-width:950px){.brand{width:124px;flex-basis:124px}.brand img{width:116px;height:42px}.ads{padding:28px 24px}}
/* Estilos para el Botón y Modal de Encuesta Flotante */
.poll-float-btn {
  position: fixed;
  bottom: 95px;
  right: 20px;
  background: linear-gradient(135deg, #00c6ff, #0072ff);
  color: #fff;
  border: none;
  border-radius: 50px;
  padding: 12px 20px;
  font-weight: bold;
  font-size: 14px;
  cursor: pointer;
  box-shadow: 0 4px 15px rgba(0, 198, 255, 0.4);
  z-index: 999;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: transform 0.2s ease;
}
.poll-float-btn:hover {
  transform: scale(1.05);
}

.poll-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(5px);
  display: none;
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.poll-modal {
  background: #121826;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 16px;
  width: 90%;
  max-width: 450px;
  padding: 25px;
  color: #fff;
  box-shadow: 0 10px 30px rgba(0,0,0,0.5);
  position: relative;
  animation: fadeInPoll 0.3s ease;
}

@keyframes fadeInPoll {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

.poll-modal h3 {
  margin-top: 0;
  color: #00c6ff;
  font-size: 20px;
}

.poll-close {
  position: absolute;
  top: 15px;
  right: 20px;
  background: none;
  border: none;
  color: #aaa;
  font-size: 22px;
  cursor: pointer;
}
.poll-close:hover { color: #fff; }

.poll-group {
  margin-bottom: 15px;
}

.poll-group label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #cbd5e1;
}

.poll-group select, .poll-group input {
  width: 100%;
  padding: 10px;
  border-radius: 8px;
  border: 1px solid rgba(255,255,255,0.2);
  background: #1e293b;
  color: #fff;
  font-size: 14px;
}

.poll-submit {
  width: 100%;
  background: #00c6ff;
  color: #0b0f19;
  border: none;
  padding: 12px;
  border-radius: 8px;
  font-weight: bold;
  cursor: pointer;
  transition: background 0.2s;
}
.poll-submit:hover {
  background: #38bdf8;
}

.poll-success {
  text-align: center;
  display: none;
}

/* Nexus FM: mejoras de accesibilidad, móvil y estados de la encuesta */
.poll-modal-overlay[hidden], .poll-success[hidden], #pollFormContainer[hidden], .poll-status[hidden] {display:none !important}
.poll-modal-overlay:not([hidden]) {display:flex}
.poll-modal-overlay {padding:18px;overscroll-behavior:contain}
.poll-modal {width:min(100%,485px);max-height:min(90dvh,780px);overflow-y:auto;border:1px solid #148cdb;background:linear-gradient(155deg,#0c2036,#09111e 64%,#06101b);box-shadow:0 20px 75px #000b,0 0 40px #008cff22;padding:28px;scrollbar-width:thin}
.poll-heading {padding-right:22px;margin-bottom:20px}
.poll-tag {display:inline-block;font-size:10px;letter-spacing:1.6px;font-weight:900;color:#18d5ff;margin:0 0 12px}
.poll-modal h2 {font-size:26px;line-height:1.2;color:#fff;margin:0 0 9px}
.poll-heading p {color:#b8c9dd;line-height:1.55;font-size:13px;margin:0}
.poll-close {font-size:28px;line-height:1;top:16px;right:17px}
.poll-group {margin:0 0 16px}
.poll-group label {font-size:13px;font-weight:750;color:#e3f3ff;margin-bottom:8px}
.poll-group label span {font-weight:400;color:#8fa2bc}
.poll-group select,.poll-group input,.poll-group textarea {width:100%;background:#10273d;color:#fff;border:1px solid #31536d;border-radius:10px;outline:0;padding:12px;font:inherit;font-size:14px;transition:border-color .2s,box-shadow .2s}
.poll-group textarea {resize:vertical;min-height:70px}
.poll-group select:focus,.poll-group input:focus,.poll-group textarea:focus {border-color:#18d5ff;box-shadow:0 0 0 3px #18d5ff33}
.poll-group ::placeholder {color:#8fa2bc}
.poll-privacy {font-size:11px;color:#9ab0c7;line-height:1.5;margin:6px 0 14px}
.poll-status {border-radius:10px;padding:12px;margin:0 0 12px;font-size:13px;line-height:1.45;background:#112c44;color:#d9edff;border:1px solid #2b5572}
.poll-status[data-kind="error"] {background:#3d1823;color:#ffd6db;border-color:#a34254}
.poll-submit {font-size:14px;padding:14px 16px;transition:opacity .2s, transform .2s;background:linear-gradient(100deg,#18d5ff,#168cff)}
.poll-submit:hover {background:linear-gradient(100deg,#4ae4ff,#348fff);transform:translateY(-1px)}
.poll-submit:disabled {opacity:.65;cursor:wait;transform:none}
.poll-success:not([hidden]) {display:block;padding:24px 4px 6px}
.poll-success h3 {color:#e4faff;margin:14px 0 8px}
.poll-success p {color:#b8c9dd;font-size:14px;line-height:1.6;margin-bottom:24px}
.poll-success-icon {display:inline-grid;place-items:center;background:#174c40;color:#70ffce;border:1px solid #35bd91;border-radius:50%;width:64px;height:64px;font-size:38px}
.poll-float-btn {font-family:inherit;bottom:102px;right:20px;animation:pollFloatGlow 3s infinite alternate}
.poll-float-btn:focus-visible,.poll-close:focus-visible,.poll-submit:focus-visible {outline:3px solid #fff;outline-offset:3px}
.poll-honeypot {position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden}
@keyframes pollFloatGlow {from{box-shadow:0 4px 15px #00c6ff55}to{box-shadow:0 4px 23px #00c6ff9c}}
@media(max-width:600px) {.poll-float-btn {right:12px;bottom:98px;padding:11px 14px;font-size:12px}.poll-modal-overlay {padding:8px}.poll-modal {width:100%;max-height:92dvh;padding:22px 18px}.poll-modal h2 {font-size:23px}}
@media(prefers-reduced-motion:reduce) {.poll-float-btn,.poll-modal {animation:none}}
