/* CDMX Radio • edición amatista / obsidiana • preview WPVibe */
html.cdmx-dark {
  --radio-bg:#0c0912; --radio-bg-alt:#15101e; --radio-card:#1d1628;
  --radio-ink:#f5f1fb; --radio-muted:#c3b9d4; --radio-violet:#b188ef;
  --radio-violet-deep:#7550b5; --radio-spark:#68cec7;
  --radio-outline:rgba(196,158,235,.24);
  --radio-glow:0 12px 35px rgba(94,52,136,.20);
  color-scheme:dark;
}
html.cdmx-light {
  --radio-bg:#f7f4fa; --radio-bg-alt:#f0eaf6; --radio-card:#fff;
  --radio-ink:#272032; --radio-muted:#675b72; --radio-violet:#693da3;
  --radio-violet-deep:#552e88; --radio-spark:#207d82;
  --radio-outline:rgba(95,65,135,.22);
  --radio-glow:0 12px 35px rgba(66,45,88,.09);
  color-scheme:light;
}
html.cdmx-dark body,html.cdmx-light body {
  background-color:var(--radio-bg)!important;
  color:var(--radio-ink);
}
html:is(.cdmx-dark,.cdmx-light) :is(.site-content,.site-main,.qw-content,.elementor-location-header,.elementor-location-footer,footer.site-footer,.qw-footer) {
  color:var(--radio-ink);
  background-color:var(--radio-bg);
}
html:is(.cdmx-dark,.cdmx-light) :is(.site-content,.site-main,.entry-content,.elementor-widget-text-editor) :is(p,h1,h2,h3,h4,h5,h6,li):not(.has-text-color) {
  color:var(--radio-ink);
}
html:is(.cdmx-dark,.cdmx-light) :is(.site-content,.site-main,.entry-content) a:not(.elementor-button):not(.wp-block-button__link) {
  color:var(--radio-violet);
}
html:is(.cdmx-dark,.cdmx-light) :is(input[type=text],input[type=email],input[type=search],input[type=tel],textarea,select) {
  background:var(--radio-card);color:var(--radio-ink);border:1px solid var(--radio-outline);
}
html:is(.cdmx-dark,.cdmx-light) :is(.elementor-button,.wp-block-button__link):not([class*="transparent"]) {
  background:var(--radio-violet-deep);color:#fff;
}
/* Portada Elementor: está hecha con su propio bloque CSS y variables cdmxr */
html.cdmx-dark body #cdmxr-app {
  --cdmxr-black:#0c0912;
  --cdmxr-black-soft:#15101e;
  --cdmxr-panel:rgba(22,16,31,.93);
  --cdmxr-panel-light:rgba(33,24,48,.90);
  --cdmxr-gold:#b188ef;
  --cdmxr-gold-light:#dfc8ff;
  --cdmxr-gold-dark:#69419d;
  --cdmxr-blue:#68cec7;
  --cdmxr-blue-dark:#247b7c;
  --cdmxr-red:#e978a5;
  --cdmxr-white:#f5f1fb;
  --cdmxr-gray:#c3b9d4;
  --cdmxr-border:rgba(185,148,238,.32);
  --cdmxr-shadow:0 14px 38px rgba(0,0,0,.52),0 0 32px rgba(123,78,188,.15);
  color:var(--radio-ink);
  background:radial-gradient(circle at 80% 6%,rgba(151,80,228,.17),transparent 36%),radial-gradient(circle at 5% 80%,rgba(72,173,176,.085),transparent 40%),linear-gradient(180deg,#0c0912,#110d19 45%,#090711)!important;
}
html.cdmx-light body #cdmxr-app {
  --cdmxr-black:#f7f4fa;
  --cdmxr-black-soft:#eee8f5;
  --cdmxr-panel:rgba(255,255,255,.96);
  --cdmxr-panel-light:rgba(249,246,253,.96);
  --cdmxr-gold:#693da3;
  --cdmxr-gold-light:#552e88;
  --cdmxr-gold-dark:#512b80;
  --cdmxr-blue:#207d82;
  --cdmxr-blue-dark:#165b5e;
  --cdmxr-red:#ac3263;
  --cdmxr-white:#272032;
  --cdmxr-gray:#675b72;
  --cdmxr-border:rgba(105,61,163,.24);
  --cdmxr-shadow:0 14px 34px rgba(62,35,91,.10);
  color:var(--radio-ink);
  background:radial-gradient(circle at 80% 6%,rgba(151,90,218,.08),transparent 37%),linear-gradient(180deg,#faf8fd,#f1edf7 55%,#f7f4fa)!important;
}
html:is(.cdmx-dark,.cdmx-light) body #cdmxr-app .cdmxr-header {
  border-color:var(--cdmxr-border)!important;
  box-shadow:var(--cdmxr-shadow)!important;
}
html.cdmx-dark body #cdmxr-app .cdmxr-header {
  background:rgba(17,12,27,.93)!important;
}
html.cdmx-light body #cdmxr-app .cdmxr-header {
  background:rgba(255,255,255,.94)!important;
}
html:is(.cdmx-dark,.cdmx-light) body #cdmxr-app .cdmxr-brand-icon {
  border-color:var(--cdmxr-gold)!important;
  box-shadow:0 0 14px color-mix(in srgb,var(--cdmxr-gold) 34%,transparent)!important;
}
html:is(.cdmx-dark,.cdmx-light) body #cdmxr-app .cdmxr-brand-copy strong,
html:is(.cdmx-dark,.cdmx-light) body #cdmxr-app .cdmxr-nav a {
  color:var(--radio-ink)!important;
}
html:is(.cdmx-dark,.cdmx-light) body #cdmxr-app .cdmxr-brand-copy strong em {
  color:var(--cdmxr-gold)!important;
}
html:is(.cdmx-dark,.cdmx-light) body #cdmxr-app .cdmxr-live-button {
  background:linear-gradient(135deg,var(--radio-violet-deep),var(--radio-violet))!important;
  color:#fff!important;border-color:var(--radio-outline)!important;
}
html.cdmx-dark body #cdmxr-app .cdmxr-hero {
  background:radial-gradient(circle at 50% 35%,rgba(143,73,209,.26),transparent 30%),linear-gradient(180deg,rgba(19,13,29,.60),rgba(8,7,15,.94))!important;
}
html.cdmx-light body #cdmxr-app .cdmxr-hero {
  background:radial-gradient(circle at 50% 35%,rgba(132,81,188,.10),transparent 34%),linear-gradient(180deg,#fff,#eee8f6)!important;
}
html.cdmx-light body #cdmxr-app .cdmxr-city {
  opacity:.17!important;
}
html.cdmx-light body #cdmxr-app .cdmxr-background::before {
  background:linear-gradient(rgba(255,255,255,.08),rgba(249,246,254,.5))!important;
}
html.cdmx-light body #cdmxr-app .cdmxr-grid {
  opacity:.2!important;
}
html.cdmx-light body #cdmxr-app .cdmxr-hero-title,
html.cdmx-light body #cdmxr-app .cdmxr-brand-copy strong,
html.cdmx-light body #cdmxr-app .cdmxr-hero-content :is(h2,h3,p):not(.cdmxr-hero-title) {
  color:var(--radio-ink)!important;text-shadow:none!important;
}
html:is(.cdmx-dark,.cdmx-light) body #cdmxr-app .cdmxr-hero-title span {
  color:var(--cdmxr-gold)!important;
  text-shadow:0 0 25px color-mix(in srgb,var(--cdmxr-gold) 32%,transparent)!important;
}
html.cdmx-light body #cdmxr-app :is(.cdmxr-hero,.cdmxr-header,.cdmxr-shell)
  :is(h1,h2,h3,h4,h5,h6,p,small,li):not(.cdmxr-intro-logo):not(.cdmxr-live-button):not(.cdmxr-hero-title) {
  color:var(--radio-ink);
}
html.cdmx-light body #cdmxr-app :is(.cdmxr-card,.cdmxr-panel,.cdmxr-station-card,.cdmxr-news-card,.cdmxr-section,.cdmxr-feature,.cdmxr-player,.cdmxr-tile) {
  background-color:var(--radio-card)!important;color:var(--radio-ink)!important;
  border-color:var(--radio-outline)!important;
}
/* Mantener la secuencia de intro oscura para que el efecto cinemático no pierda contraste. */
html.cdmx-light body #cdmxr-app .cdmxr-intro,
html.cdmx-dark body #cdmxr-app .cdmxr-intro {
  --cdmxr-gold:#b188ef;--cdmxr-blue:#68cec7;--cdmxr-white:#fff;
}
html.cdmx-light body #cdmxr-app .cdmxr-intro :is(h1,h2,h3,p,small,span) {
  color:#fff;
}
/* Control a nivel de sitio, visible sobre el diseño en modo normal */
.cdmx-mode-control,.cdmx-mode-control *{box-sizing:border-box}
.cdmx-mode-control{
 position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));
 z-index:2147483000;display:flex;align-items:center;gap:10px;padding:8px 9px 8px 16px;
 border:1px solid var(--radio-outline);border-radius:999px;
 background:var(--radio-card);color:var(--radio-ink);box-shadow:var(--radio-glow);
 font:600 12px/1.2 system-ui,-apple-system,"Segoe UI",sans-serif;
 letter-spacing:.02em;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);
}
.cdmx-mode-control::before{
 content:"";position:absolute;right:15px;top:-2px;width:50px;height:10px;
 background:var(--radio-spark);border-radius:50%;filter:blur(11px);opacity:.38;pointer-events:none;
}
.cdmx-mode-label{white-space:nowrap}
.cdmx-mode-switch{
 display:inline-block;position:relative;width:62px;height:34px;padding:0;border:0;
 background:linear-gradient(110deg,#493268,#21172d);color:#dbd1ee;
 border-radius:50px;cursor:pointer;box-shadow:inset 0 2px 6px #0004;
 -webkit-tap-highlight-color:transparent;
}
.cdmx-mode-switch svg{position:absolute;top:9px;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}
.cdmx-mode-icon-moon{left:9px}
.cdmx-mode-icon-sun{right:9px}
.cdmx-mode-knob{position:absolute;left:32px;top:4px;width:26px;height:26px;border-radius:50%;
 background:linear-gradient(140deg,#e8d5ff,#ab78f0);box-shadow:0 0 0 1px #fff4,0 0 18px #a980fa77;transition:transform .22s ease,background .22s ease}
html.cdmx-light .cdmx-mode-switch{background:linear-gradient(110deg,#e8dff1,#dcd0ec);color:#5a347f}
html.cdmx-light .cdmx-mode-knob{transform:translateX(-28px);background:linear-gradient(140deg,#fff,#eee0ff);box-shadow:0 0 0 1px #613d8333,0 0 12px #ac87cf66}
.cdmx-mode-switch:focus-visible{outline:3px solid var(--radio-spark);outline-offset:4px}
@media(max-width:440px){.cdmx-mode-control{left:12px;bottom:12px;padding:7px 7px 7px 11px;gap:7px}.cdmx-mode-label{font-size:11px}}
@media(prefers-reduced-motion:reduce){.cdmx-mode-knob{transition:none!important}}
