/* Seasonal, centered portrait announcement. */
:root{--promo-neon:#00e689}html[data-seasonal-theme="halloween"]{--promo-neon:#ff962e}html[data-seasonal-theme="patrias"]{--promo-neon:#ff526a}html[data-seasonal-theme="primavera"]{--promo-neon:#64e9b1}html[data-seasonal-theme="navidad"]{--promo-neon:#efc568}html[data-seasonal-theme="anio-nuevo"]{--promo-neon:#ffdd73}html[data-seasonal-theme="valentin"]{--promo-neon:#ff70b7}html[data-seasonal-theme="carnavales"]{--promo-neon:#be8aff}html[data-seasonal-theme="madre"]{--promo-neon:#ef9fc6}html[data-seasonal-theme="padre"]{--promo-neon:#66c6ff}
#promoPopup{padding:18px;align-items:center;justify-content:center;height:100dvh;box-sizing:border-box}
#promoPopup .promo-popup-card,#promoPopup .promo-popup-card.has-media{display:flex;flex-direction:column;width:min(420px,100%);max-height:88dvh;margin:0;border:2px solid var(--promo-neon);border-radius:22px;background:var(--bg2,#101923);box-shadow:0 0 9px color-mix(in srgb,var(--promo-neon) 70%,transparent),0 0 30px color-mix(in srgb,var(--promo-neon) 30%,transparent),0 24px 90px #0009;overflow:auto;overscroll-behavior:contain;isolation:isolate;padding-top:58px}
#promoPopup .promo-popup-close{position:absolute;top:10px;right:10px;width:44px;height:40px;border-radius:12px;font-size:30px;background:#f5f7fa;color:#111827;border:2px solid var(--promo-neon);box-shadow:0 0 14px #0008;z-index:5}
#promoPopup .promo-popup-media{width:100%;height:auto;min-height:0;max-height:48dvh;object-fit:contain;flex-shrink:0;background:#050507}
#promoPopup video.promo-popup-media{min-height:200px}#promoPopup iframe.promo-popup-media{height:auto;aspect-ratio:16/9;min-height:200px;border:0;max-height:52dvh}#promoPopup iframe.promo-popup-media.is-short{aspect-ratio:9/16;height:50dvh}
#promoPopup .promo-popup-body,#promoPopup .promo-popup-card.has-media .promo-popup-body{padding:22px;max-height:none;overflow:visible;text-align:center}#promoPopup .promo-popup-title{font-size:21px;max-width:none;padding:0;color:var(--txt)}#promoPopup .promo-popup-msg,#promoPopup .text-only .promo-popup-msg{columns:1;column-rule:0;font-size:13px;line-height:1.65;color:var(--txt2)}#promoPopup .promo-popup-action{background:var(--promo-neon);color:#09151e;font-size:13px;padding:11px 20px}
/* CSS-built skin inspired by the pocket MP3 players. No external player scripts. */
.wily-radio-mount{display:flex;justify-content:center;padding:8px 0 14px}
.wily-radio{width:min(560px,100%);box-sizing:border-box;display:grid;grid-template-columns:66px minmax(0,1fr) 90px;align-items:center;gap:13px;padding:15px 21px;border:1px solid #768499;border-radius:66px;background:linear-gradient(165deg,#626b7d 0%,#202633 19%,#0c1019 52%,#343c4b 90%,#111822 100%);box-shadow:inset 0 2px 2px #ffffff66,inset 0 -4px 5px #000b,0 8px 20px #0005;color:#eef3fb;font-family:system-ui,sans-serif}
.wily-radio-play{border:3px solid #778493;box-shadow:inset 0 2px 4px #fff,0 0 0 3px #0a0d13,0 4px 8px #000a;background:linear-gradient(145deg,#f7f9fc,#8b9aa9);color:#25303a;border-radius:50%;width:59px;height:59px;font-size:23px;font-weight:800;cursor:pointer}.wily-radio-play:focus-visible{outline:3px solid #00efac;outline-offset:4px}
.wily-radio-center{min-width:0}.wily-radio-brand{font-size:8px;font-weight:850;letter-spacing:.17em;margin:0 4px 5px;color:#e8eaf0}.wily-radio-screen{border:3px solid #050b0a;border-radius:7px;background:linear-gradient(135deg,#b8d399,#7a9a67);box-shadow:inset 0 2px 7px #294032aa;padding:7px 9px;color:#1b341e}.wily-radio-title{font-size:11px;font-weight:850;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wily-radio-bottom{display:flex;align-items:center;justify-content:space-between;gap:4px;margin-top:4px}.wily-radio-state{font:700 9px monospace;line-height:1.2}.wily-radio-eq{height:15px;display:flex;align-items:flex-end;gap:2px}.wily-radio-eq i{height:4px;width:3px;background:#1d4725;animation:wilyEqualizer .8s ease-in-out infinite alternate;animation-play-state:paused}.wily-radio.is-playing .wily-radio-eq i{animation-play-state:running}.wily-radio-eq i:nth-child(2n){animation-delay:-.4s}.wily-radio-eq i:nth-child(3n){animation-delay:-.6s}.wily-radio-volume{display:grid;gap:6px;font-size:9px;text-align:center;font-weight:700}.wily-radio-volume input{width:100%;accent-color:#93d791;min-width:0}.wily-radio-volume output{color:#b0dca6}.wily-radio audio{display:none}
body:not([data-store-page="home"]) .wily-radio-mount{display:none}
body:not([data-store-page="home"]) .wily-radio-mount.has-started{display:flex;position:fixed;right:12px;bottom:18px;z-index:350;max-width:min(440px,calc(100vw - 24px));padding:0}
body:not([data-store-page="home"]) .wily-radio{padding:9px 15px;grid-template-columns:48px minmax(0,1fr) 70px;gap:10px}body:not([data-store-page="home"]) .wily-radio-play{width:43px;height:43px;font-size:18px}
@keyframes wilyEqualizer{to{height:15px}}
@media(max-width:520px){.wily-radio{grid-template-columns:47px minmax(0,1fr) 65px;padding:12px 14px;gap:9px}.wily-radio-play{width:44px;height:44px;font-size:18px}.wily-radio-title{font-size:10px}.wily-radio-brand{font-size:7px;letter-spacing:.08em}.wily-radio-screen{padding:7px}.wily-radio-volume{font-size:8px}#promoPopup .promo-popup-body{padding:18px}body:not([data-store-page="home"]) .wily-radio-mount.has-started{bottom:100px}}
@media(prefers-reduced-motion:reduce){.wily-radio-eq i{animation:none!important}}

.wily-radio{--radio-shell:#303c52;background:linear-gradient(165deg,color-mix(in srgb,var(--radio-shell) 65%,white) 0%,var(--radio-shell) 19%,color-mix(in srgb,var(--radio-shell) 25%,#060910) 52%,var(--radio-shell) 90%,#111822 100%)}
.navbar .nav-vip-persistent{display:inline-flex!important;color:#f2c76f!important;font-weight:900;letter-spacing:.04em;padding:8px;border:1px solid #c6a55b66;border-radius:9px;text-decoration:none}
.radio-admin-layout{display:grid;grid-template-columns:1fr 1fr;gap:18px}.radio-admin-preview{padding:28px 14px;border:1px solid var(--border);border-radius:16px;background:var(--bg3);display:grid;place-items:center}.radio-admin-options{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0;color:var(--txt);font-size:12px}.radio-admin-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}.radio-admin-presets button{padding:8px 12px;border:1px solid var(--border);border-radius:8px;background:var(--bg3);color:var(--txt);cursor:pointer}
@media(max-width:850px){.radio-admin-layout{grid-template-columns:1fr}}@media(max-width:430px){.navbar .nav-vip-persistent{font-size:10px;padding:6px}}

/* Visitor skin selection; keeps the MP3 footprint above the cover. */
.wily-radio-controls{display:grid;gap:5px;min-width:0}
.wily-radio-color{min-height:28px;width:100%;padding:3px 5px;border:1px solid #a5b2c4;border-radius:12px;background:#101827;color:#fff;font:600 10px/1.2 system-ui,sans-serif;cursor:pointer}
.wily-radio-color:hover{background:#26364d}.wily-radio-color:focus-visible{outline:3px solid #b8edb3;outline-offset:2px}

/* v16: unlabeled tactile button, 24 colors, keyboard accessible. */
.wily-radio-color{justify-self:center;width:30px;height:30px;min-height:30px;padding:0;border:2px solid #aab2bd;border-radius:50%;background:conic-gradient(#59606a,#151922,#868d95,#252b34,#59606a);box-shadow:0 0 0 2px #090e17,inset 0 1px 2px #ffffff80,0 2px 4px #0008}
.wily-radio-color:hover{background:conic-gradient(#707985,#252b35,#a3aab2,#343b46,#707985)}
.wily-radio-color:active{transform:translateY(1px);box-shadow:0 0 0 2px #090e17,inset 0 2px 4px #000a}

/* Retro wired stereo speakers, inspired by portable phone accessories. */
.wily-radio-mount{--speaker-level:0;--speaker-scale:1;gap:22px;align-items:center;isolation:isolate}
.wily-radio{position:relative;z-index:2;flex:0 1 560px;min-width:0}
.wily-speaker{position:relative;width:68px;flex:0 0 68px;align-self:center}
.wily-speaker-case{position:relative;z-index:1;height:108px;padding:10px 6px;box-sizing:border-box;border:1px solid #7a8593;border-radius:16px;background:linear-gradient(125deg,#6b7480,#151b23 18%,#090e16 65%,#414d5c);box-shadow:inset 1px 1px 2px #ffffff88,0 7px 13px #0008;display:grid;justify-items:center;align-content:space-between}
.wily-speaker-tweeter{width:19px;height:19px;border:2px solid #6b7582;border-radius:50%;background:radial-gradient(circle,#202d38 25%,#090d13 28%,#455361 55%,#111822 60%)}
.wily-speaker-cone{width:46px;height:46px;border:3px solid #75808a;border-radius:50%;box-sizing:border-box;background:repeating-radial-gradient(circle,#1d2733 0 3px,#0b1017 4px 6px);display:grid;place-items:center;transform:scale(var(--speaker-scale));box-shadow:0 0 calc(var(--speaker-level)*18px) var(--radio-shell,#326cce)}
.wily-speaker-cone i{width:22px;height:22px;border-radius:50%;background:radial-gradient(circle at 35% 25%,#818b99,#202934 60%,#080d15);border:1px solid #8794a1}
.wily-speaker-led{width:12px;height:3px;border-radius:4px;background:#79b99b;opacity:calc(.3 + var(--speaker-level)*.7)}
.wily-speaker-wire{position:absolute;z-index:0;width:45px;height:40px;top:65px;left:calc(100% - 8px);overflow:visible}
.wily-speaker-wire path{fill:none;stroke:#747f8e;stroke-width:5;filter:drop-shadow(0 2px 1px #000)}
.wily-speaker-right .wily-speaker-wire{left:auto;right:calc(100% - 8px);transform:scaleX(-1)}
.wily-radio-mount.without-speakers .wily-speaker{display:none}
@media(max-width:600px){.wily-radio-mount{gap:9px}.wily-speaker{width:35px;flex-basis:35px}.wily-speaker-case{height:76px;padding:6px 2px;border-radius:10px}.wily-speaker-tweeter{width:12px;height:12px}.wily-speaker-cone{width:29px;height:29px;border-width:2px}.wily-speaker-cone i{width:14px;height:14px}.wily-speaker-wire{width:24px;height:30px;top:44px}.wily-radio-mount .wily-radio{grid-template-columns:30px minmax(0,1fr) 36px;padding:10px 8px;gap:5px;border-radius:35px}.wily-radio-mount .wily-radio-play{width:29px;height:29px;font-size:14px;border-width:2px}.wily-radio-brand{font-size:6px;letter-spacing:0}.wily-radio-screen{padding:5px 3px;border-width:2px}.wily-radio-title{font-size:9px}.wily-radio-state{font-size:7px}.wily-radio-eq{display:none}.wily-radio-volume-label{font-size:6px}.wily-radio-color{width:25px;height:25px;min-height:25px}}
@media(prefers-reduced-motion:reduce){.wily-speaker-cone{transform:none!important}}

/* v19: compact silver speakers with warm metallic rim. Audio drives the cone and air rings. */
.wily-speaker-case{height:100px;border:3px solid #b98045;border-radius:15px;background:linear-gradient(125deg,#fff,#edf0f1 55%,#bac1c6);box-shadow:inset 0 0 0 2px #fff9,2px 5px 8px #0006;align-content:center;overflow:visible}
.wily-speaker-left .wily-speaker-case{rotate:-5deg}.wily-speaker-right .wily-speaker-case{rotate:5deg}
.wily-speaker-tweeter{display:none}
.wily-speaker-cone{position:relative;width:48px;height:48px;border:4px solid #a6acb0;background:radial-gradient(circle,#c7cccf 20%,#727b82 55%,#f1f3f4 60%,#70777d 72%);box-shadow:0 2px 4px #0005}
.wily-speaker-cone i{width:30px;height:30px;background:radial-gradient(circle at 35% 25%,#fcfcfc,#b5bbc0 45%,#747d84);border:1px solid #dce1e4}
.wily-speaker-cone::before,.wily-speaker-cone::after{content:'';position:absolute;inset:-9px;border:2px solid #c9e7fa;border-radius:50%;pointer-events:none;opacity:calc(var(--speaker-level)*.85);transform:scale(calc(1 + var(--speaker-level)*1.7));box-shadow:0 0 7px #c4e8ff88}
.wily-speaker-cone::after{inset:-16px;border-width:1px;opacity:calc(var(--speaker-level)*.55);transform:scale(calc(1 + var(--speaker-level)*2.2))}
.wily-speaker-led{position:absolute;bottom:10px;left:calc(50% - 6px);background:#bb803c}
.wily-speaker-wire path{stroke:#ce9c59;stroke-width:4}
@media(max-width:600px){.wily-speaker-case{height:72px;border-width:2px;border-radius:9px}.wily-speaker-cone{width:27px;height:27px;border-width:2px}.wily-speaker-cone i{width:18px;height:18px}.wily-speaker-cone::before{inset:-5px}.wily-speaker-cone::after{inset:-9px}.wily-speaker-led{bottom:6px}}
@media(prefers-reduced-motion:reduce){.wily-speaker-cone::before,.wily-speaker-cone::after{display:none}}

/* v20 · Exytosa pocket player: glossy face, metallic wheel and coordinated stereo. */
.wily-radio-mount{width:100%;max-width:480px;margin-inline:auto;gap:16px;padding:9px 4px 14px;box-sizing:border-box}
.wily-radio-mount .wily-radio{width:332px;min-width:0;flex:1 1 332px;grid-template-columns:minmax(0,1fr) 48px 38px;gap:10px;padding:10px 14px;border-radius:30px 22px 22px 30px;border:1px solid #79818a;position:relative;background:linear-gradient(174deg,#ffffff55 0%,#ffffff08 35%,transparent 36%),linear-gradient(90deg,#080b10 0%,#171c24 62%,var(--radio-shell) 64%,var(--radio-shell) 100%);box-shadow:inset 0 2px 2px #fff7,inset 0 -5px 3px #0009,0 5px 12px #0005;isolation:isolate}
.wily-radio-mount .wily-radio-center{grid-column:1;grid-row:1}
.wily-radio-mount .wily-radio-play{grid-column:2;grid-row:1;width:48px;height:48px;font-size:18px;border:3px solid color-mix(in srgb,var(--radio-shell) 55%,#e7edf2);color:#fff;background:conic-gradient(from 20deg,var(--radio-shell),#ffffffaa,var(--radio-shell),#0009,var(--radio-shell),#ffffffaa,var(--radio-shell));box-shadow:inset 0 0 0 5px #0004,0 0 0 2px #080b10,0 0 11px color-mix(in srgb,var(--radio-shell) 55%,transparent);text-shadow:0 1px 3px #000}
.wily-radio-mount .wily-radio-controls{grid-column:3;grid-row:1;display:grid;gap:2px;justify-items:center}
.wily-radio-emblem{font:bold italic 23px/1 system-ui;color:#fff;text-shadow:0 1px 2px #0009;letter-spacing:-3px;padding-right:3px}.wily-radio-emblem span{color:#ffc77d}
.wily-radio-mount .wily-radio-brand{font-size:6px;letter-spacing:.08em;margin:0 3px 4px;color:#d6dce3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.wily-radio-mount .wily-radio-screen{padding:5px 7px;border:2px solid #17110b;border-radius:5px;background:linear-gradient(135deg,#302318,#100e0b);color:#ffd49a;box-shadow:inset 0 0 12px #ed9e3020,0 0 7px #ffb55e25}
.wily-radio-mount .is-playing .wily-radio-screen{box-shadow:inset 0 0 12px #ed9e3038,0 0 9px #ffb55e40}
.wily-radio-mount .wily-radio-title{font-size:9px;line-height:1.4;color:#ffdda9;text-shadow:0 0 4px #ffb25655}
.wily-radio-song{font:600 10px/1.5 monospace;color:#ffe9c9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wily-radio-song[hidden]{display:none}
.wily-radio-mount .wily-radio-state{font-size:7px;color:#dfb882}.wily-radio-mount .wily-radio-bottom{margin-top:2px}.wily-radio-mount .wily-radio-eq{height:9px}.wily-radio-mount .wily-radio-eq i{background:#ffca7d;max-height:9px;width:2px}
.wily-radio-mount .wily-radio-volume{gap:0;width:36px}.wily-radio-mount .wily-radio-volume-label{display:none}.wily-radio-mount .wily-radio-volume input{height:12px;accent-color:#ffe1ac;margin:0}.wily-radio-mount .wily-radio-volume output{font-size:7px;color:#fff}
.wily-radio-mount .wily-radio-color{width:24px;height:12px;min-height:12px;border-radius:8px;background:linear-gradient(#ffffff66,#0007);border:1px solid #ffffff88;margin:2px;box-shadow:0 1px 3px #0008;cursor:pointer}
.wily-radio-mount .wily-radio-color:focus-visible{outline:2px solid #ffe1ac;outline-offset:3px}
.wily-radio-mount .wily-speaker{width:48px;flex-basis:48px}.wily-radio-mount .wily-speaker-case{height:76px;padding:5px 2px;border-color:var(--radio-shell);background:linear-gradient(125deg,#fff,color-mix(in srgb,var(--radio-shell) 15%,#eef0f2) 60%,color-mix(in srgb,var(--radio-shell) 45%,#a7b0b8));box-shadow:inset 0 0 0 1px #fff9,2px 4px 7px #0006,0 0 6px color-mix(in srgb,var(--radio-shell) 25%,transparent)}
.wily-radio-mount .wily-speaker-cone{width:35px;height:35px;border:3px solid color-mix(in srgb,var(--radio-shell) 50%,#bdc5cc)}.wily-radio-mount .wily-speaker-cone i{width:22px;height:22px}.wily-radio-mount .wily-speaker-led{background:var(--radio-shell);bottom:7px}.wily-radio-mount .wily-speaker-wire{width:30px;top:44px}.wily-radio-mount .wily-speaker-wire path{stroke:color-mix(in srgb,var(--radio-shell) 65%,#e0b16e)}
@media(max-width:440px){.wily-radio-mount{gap:8px;padding-inline:0;max-width:360px}.wily-radio-mount .wily-radio{grid-template-columns:minmax(0,1fr) 40px 30px;gap:6px;padding:9px 10px}.wily-radio-mount .wily-radio-play{width:40px;height:40px;font-size:15px}.wily-radio-mount .wily-speaker{width:34px;flex-basis:34px}.wily-radio-mount .wily-speaker-case{height:64px;border-width:2px}.wily-radio-mount .wily-speaker-cone{width:25px;height:25px;border-width:2px}.wily-radio-mount .wily-speaker-cone i{width:16px;height:16px}.wily-radio-mount .wily-speaker-wire{width:21px;top:36px}.wily-radio-mount .wily-radio-screen{padding:4px}.wily-radio-mount .wily-radio-volume{width:28px}.wily-radio-emblem{font-size:20px}}

/* v21: secondary pages keep an inline control after navigation, never a floating player. */
.wily-radio-compact-label{display:none}
#wilyRadioMount.is-compact{display:flex;position:relative;inset:auto;z-index:1;width:100%;max-width:none;margin:0;padding:6px 14px;justify-content:center;box-sizing:border-box;background:var(--bg2,#101923);border-bottom:1px solid var(--border,#ffffff18)}
#wilyRadioMount.is-compact .wily-speaker,#wilyRadioMount.is-compact .wily-radio-center,#wilyRadioMount.is-compact .wily-radio-controls{display:none}
#wilyRadioMount.is-compact .wily-radio{display:flex;flex:0 1 auto;align-items:center;justify-content:space-between;gap:12px;width:220px;max-width:100%;min-height:40px;padding:2px 5px 2px 11px;border:1px solid var(--border,#ffffff25);border-radius:24px;background:var(--bg,#080d18);box-shadow:none;color:var(--txt,#e7eef8)}
#wilyRadioMount.is-compact .wily-radio-compact-label{display:flex;align-items:center;gap:8px;min-width:0;font:600 11px/1.2 system-ui;color:inherit}
#wilyRadioMount.is-compact .wily-radio-compact-label svg{width:20px;height:20px;flex:none;color:var(--green,#67dda6)}
#wilyRadioMount.is-compact .wily-radio-compact-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#wilyRadioMount.is-compact .wily-radio-play{width:36px;height:36px;flex:0 0 36px;border:1px solid #ffffff40;font-size:13px;box-shadow:none;background:var(--radio-shell,#303c52);color:#fff;text-shadow:0 1px 2px #000}

/* Optional draggable mini radio. Home always keeps the full player. */
.wily-radio-mode,.wily-radio-drag{display:none}
#wilyRadioMount.is-compact .wily-radio{width:270px;gap:8px}
#wilyRadioMount.is-compact .wily-radio-mode{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;padding:0;border:1px solid var(--border,#ffffff30);border-radius:50%;background:var(--bg2,#192331);color:var(--txt,#e7eef8);font-size:20px;cursor:pointer}
#wilyRadioMount.is-compact.is-floating{position:fixed;inset:auto;z-index:190;width:210px;max-width:calc(100vw - 16px);padding:0;border:0;border-radius:28px;background:transparent;box-shadow:0 4px 18px #0005}
#wilyRadioMount.is-floating .wily-radio{width:100%;padding:4px;gap:4px}
#wilyRadioMount.is-floating .wily-radio-compact-label{flex:1;justify-content:center}
#wilyRadioMount.is-floating .wily-radio-compact-name{display:none}
#wilyRadioMount.is-floating .wily-radio-drag{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border:0;border-radius:50%;background:transparent;color:var(--txt,#d9e3ee);font-size:24px;touch-action:none;cursor:grab;user-select:none}
#wilyRadioMount.is-floating .wily-radio-drag:active{cursor:grabbing}
#wilyRadioMount.is-compact button:focus-visible{outline:2px solid var(--green,#67dda6);outline-offset:2px}
