.elementor-kit-5{--e-global-color-primary:#F1F5EE;--e-global-color-secondary:#8AA394;--e-global-color-text:#F1F5EE;--e-global-color-accent:#13BB15;--e-global-color-void:#05120A;--e-global-color-booth:#0B2114;--e-global-color-booth2:#10301D;--e-global-color-signal:#13BB15;--e-global-color-emerald:#13BB65;--e-global-color-lime:#7CF04A;--e-global-color-bone:#F1F5EE;--e-global-color-ash:#8AA394;--e-global-color-ashdim:#74907D;--e-global-color-ink:#06170C;--e-global-color-line:#7CF04A29;--e-global-color-daymuted:#4A5C50;--e-global-color-alert:#FF3B30;--e-global-color-whatsapp:#25D366;--e-global-color-p_negocio:#2A56D6;--e-global-color-p_vibra:#3D6BF5;--e-global-color-p_espejos:#F0900B;--e-global-color-p_voces:#A233D6;--e-global-typography-primary-font-family:"League Spartan";--e-global-typography-primary-font-weight:800;--e-global-typography-secondary-font-family:"Outfit";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Outfit";--e-global-typography-accent-font-family:"Outfit";--e-global-typography-accent-font-weight:600;--e-global-typography-timecode-font-family:"Azeret Mono";--e-global-typography-timecode-font-size:0.72rem;--e-global-typography-timecode-font-weight:500;--e-global-typography-timecode-text-transform:uppercase;--e-global-typography-timecode-line-height:1.4em;--e-global-typography-timecode-letter-spacing:0.18em;--e-global-typography-lede-font-family:"Outfit";--e-global-typography-lede-font-size:clamp(1.2rem, 1.1rem + 0.5vw, 1.45rem);--e-global-typography-lede-font-weight:300;--e-global-typography-lede-line-height:1.45em;--e-global-typography-mono-font-family:"Azeret Mono";--e-global-typography-mono-font-size:0.66rem;--e-global-typography-mono-font-weight:400;--e-global-typography-mono-text-transform:uppercase;--e-global-typography-mono-line-height:1.4em;--e-global-typography-mono-letter-spacing:0.12em;--e-global-typography-monohead-font-family:"Azeret Mono";--e-global-typography-monohead-font-size:0.66rem;--e-global-typography-monohead-font-weight:500;--e-global-typography-monohead-text-transform:uppercase;--e-global-typography-monohead-line-height:1.4em;--e-global-typography-monohead-letter-spacing:0.16em;--e-global-typography-nowtitle-font-family:"League Spartan";--e-global-typography-nowtitle-font-size:clamp(3.2rem, 1.9rem + 6vw, 7.5rem);--e-global-typography-nowtitle-font-weight:800;--e-global-typography-nowtitle-text-transform:uppercase;--e-global-typography-nowtitle-line-height:0.86em;--e-global-typography-nowtitle-letter-spacing:-0.045em;--e-global-typography-claim-font-family:"League Spartan";--e-global-typography-claim-font-size:clamp(2rem, 1.6rem + 2vw, 3.1rem);--e-global-typography-claim-font-weight:800;--e-global-typography-claim-line-height:0.98em;--e-global-typography-claim-letter-spacing:-0.03em;--e-global-typography-meta-font-family:"Azeret Mono";--e-global-typography-meta-font-size:0.76rem;--e-global-typography-meta-font-weight:400;--e-global-typography-meta-line-height:1.5em;--e-global-typography-meta-letter-spacing:0.02em;--e-global-typography-next-font-family:"Azeret Mono";--e-global-typography-next-font-size:0.72rem;--e-global-typography-next-font-weight:400;--e-global-typography-next-text-transform:uppercase;--e-global-typography-next-line-height:1.5em;--e-global-typography-next-letter-spacing:0.06em;--e-global-typography-onair-font-family:"Azeret Mono";--e-global-typography-onair-font-size:0.68rem;--e-global-typography-onair-font-weight:500;--e-global-typography-onair-text-transform:uppercase;--e-global-typography-onair-line-height:1.4em;--e-global-typography-onair-letter-spacing:0.2em;--e-global-typography-pill-font-family:"Azeret Mono";--e-global-typography-pill-font-size:0.64rem;--e-global-typography-pill-font-weight:400;--e-global-typography-pill-text-transform:uppercase;--e-global-typography-pill-line-height:1.4em;--e-global-typography-pill-letter-spacing:0.1em;--e-global-typography-stationid-font-family:"Azeret Mono";--e-global-typography-stationid-font-size:0.68rem;--e-global-typography-stationid-font-weight:400;--e-global-typography-stationid-text-transform:uppercase;--e-global-typography-stationid-line-height:1.5em;--e-global-typography-stationid-letter-spacing:0.16em;--e-global-typography-cardtitle-font-family:"League Spartan";--e-global-typography-cardtitle-font-size:1.28rem;--e-global-typography-cardtitle-font-weight:800;--e-global-typography-cardtitle-line-height:0.94em;--e-global-typography-cardtitle-letter-spacing:-0.03em;--e-global-typography-progtitle-font-family:"League Spartan";--e-global-typography-progtitle-font-size:1.35rem;--e-global-typography-progtitle-font-weight:800;--e-global-typography-progtitle-line-height:1em;--e-global-typography-progtitle-letter-spacing:-0.025em;--e-global-typography-slot-font-family:"Azeret Mono";--e-global-typography-slot-font-size:0.62rem;--e-global-typography-slot-font-weight:500;--e-global-typography-slot-text-transform:uppercase;--e-global-typography-slot-line-height:1.4em;--e-global-typography-slot-letter-spacing:0.12em;--e-global-typography-factn-font-family:"League Spartan";--e-global-typography-factn-font-size:clamp(1.9rem, 5vw, 2.7rem);--e-global-typography-factn-font-weight:800;--e-global-typography-factn-line-height:1em;--e-global-typography-factn-letter-spacing:-0.04em;--e-global-typography-ticker-font-family:"League Spartan";--e-global-typography-ticker-font-size:1.15rem;--e-global-typography-ticker-font-weight:700;--e-global-typography-ticker-text-transform:uppercase;--e-global-typography-ticker-line-height:1.2em;--e-global-typography-ticker-letter-spacing:-0.02em;--e-global-typography-small-font-family:"Outfit";--e-global-typography-small-font-size:0.92rem;--e-global-typography-small-font-weight:400;--e-global-typography-small-line-height:1.4em;--e-global-typography-consoletitle-font-family:"League Spartan";--e-global-typography-consoletitle-font-size:1rem;--e-global-typography-consoletitle-font-weight:700;--e-global-typography-consoletitle-line-height:1.15em;--e-global-typography-consoletitle-letter-spacing:-0.02em;--e-global-typography-eptitle-font-family:"League Spartan";--e-global-typography-eptitle-font-size:1.02rem;--e-global-typography-eptitle-font-weight:700;--e-global-typography-eptitle-line-height:1.2em;--e-global-typography-eptitle-letter-spacing:-0.02em;--e-global-typography-menu-font-family:"Outfit";--e-global-typography-menu-font-size:0.95rem;--e-global-typography-menu-font-weight:450;--e-global-typography-menu-line-height:1.2em;--e-global-typography-h3sm-font-family:"League Spartan";--e-global-typography-h3sm-font-size:1.15rem;--e-global-typography-h3sm-font-weight:800;--e-global-typography-h3sm-line-height:0.94em;--e-global-typography-h3sm-letter-spacing:-0.03em;--e-global-typography-legal-font-family:"Azeret Mono";--e-global-typography-legal-font-size:0.66rem;--e-global-typography-legal-font-weight:400;--e-global-typography-legal-line-height:1.5em;--e-global-typography-legal-letter-spacing:0.06em;--e-global-typography-tab-font-family:"Azeret Mono";--e-global-typography-tab-font-size:0.56rem;--e-global-typography-tab-font-weight:400;--e-global-typography-tab-text-transform:uppercase;--e-global-typography-tab-line-height:1.2em;--e-global-typography-tab-letter-spacing:0.08em;color:#F1F5EE;font-family:"Outfit", Sans-serif;font-size:clamp(1rem, 0.96rem + 0.2vw, 1.09rem);line-height:1.6em;background-color:#05120A;}.elementor-kit-5 p{margin-block-end:0px;}.elementor-kit-5 a{color:#13BB15;}.elementor-kit-5 a:hover{color:#7CF04A;}.elementor-kit-5 h1{color:#F1F5EE;font-family:"League Spartan", Sans-serif;font-size:clamp(2.6rem, 1.8rem + 3.8vw, 5rem);font-weight:800;line-height:0.94em;letter-spacing:-0.03em;}.elementor-kit-5 h2{color:#F1F5EE;font-family:"League Spartan", Sans-serif;font-size:clamp(2rem, 1.6rem + 2vw, 3.1rem);font-weight:800;line-height:0.94em;letter-spacing:-0.03em;}.elementor-kit-5 h3{color:#F1F5EE;font-family:"League Spartan", Sans-serif;font-size:clamp(1.5rem, 1.3rem + 1vw, 2.1rem);font-weight:800;line-height:0.94em;letter-spacing:-0.03em;}.elementor-kit-5 h4{color:#F1F5EE;font-family:"League Spartan", Sans-serif;font-size:clamp(1.2rem, 1.1rem + 0.5vw, 1.45rem);font-weight:800;line-height:0.94em;letter-spacing:-0.02em;}.elementor-kit-5 button,.elementor-kit-5 input[type="button"],.elementor-kit-5 input[type="submit"],.elementor-kit-5 .elementor-button{font-family:"Outfit", Sans-serif;font-size:0.97rem;font-weight:600;color:#06170C;background-color:#13BB15;border-radius:100px 100px 100px 100px;padding:0.85rem 1.5rem 0.85rem 1.5rem;}.elementor-kit-5 button:hover,.elementor-kit-5 button:focus,.elementor-kit-5 input[type="button"]:hover,.elementor-kit-5 input[type="button"]:focus,.elementor-kit-5 input[type="submit"]:hover,.elementor-kit-5 input[type="submit"]:focus,.elementor-kit-5 .elementor-button:hover,.elementor-kit-5 .elementor-button:focus{color:#06170C;background-color:#7CF04A;}.elementor-kit-5 label{color:#8AA394;font-family:"Azeret Mono", Sans-serif;font-size:0.66rem;text-transform:uppercase;letter-spacing:0.12em;}.elementor-kit-5 input:not([type="button"]):not([type="submit"]),.elementor-kit-5 textarea,.elementor-kit-5 .elementor-field-textual{color:#F1F5EE;background-color:#0B2114;border-style:solid;border-width:1px 1px 1px 1px;border-color:#7CF04A29;border-radius:12px 12px 12px 12px;padding:0.85rem 1rem 0.85rem 1rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1440px;}.e-con{--container-max-width:1440px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}h1.entry-title{display:var(--page-title-display);}.elementor-kit-5 e-page-transition{background-color:#FFBC7D;}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* ==========================================================================
   Kingdom House Radio — estilos globales del sitio (Kit de Elementor)
   "La cabina": verde-negro de estudio, verde marca en bloques inundados,
   color propio por programa y bloques claros para las páginas comerciales.
   Los colores y tipografías viven en los Globales del Kit; aquí solo va lo
   que los controles de Elementor no pueden expresar: pseudo-elementos,
   animaciones, estados y el contexto de cada banda.
   ========================================================================== */

body {
  --beam: var(--e-global-color-signal);
  --line: rgba(124, 240, 74, 0.16);
  --line-soft: rgba(124, 240, 74, 0.08);
  --console-h: 72px;
  --tabbar-h: 62px;
  font-weight: 350;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  padding-bottom: calc(var(--console-h) + var(--tabbar-h) + env(safe-area-inset-bottom, 0px));
}
@media (min-width: 1025px) { body { --tabbar-h: 0px; } }
html { scroll-behavior: smooth; scroll-padding-top: 6.5rem; }
::selection { background: var(--e-global-color-signal); color: var(--e-global-color-ink); }
:focus-visible { outline: 2px solid var(--e-global-color-lime); outline-offset: 3px; border-radius: 4px; }
.elementor-heading-title { text-wrap: balance; }
.elementor-widget-text-editor p { text-wrap: pretty; }
.elementor-widget-text-editor p:last-child { margin-bottom: 0; }
.elementor-widget-text-editor a:not(.khr-inline-btn) { color: var(--beam); }

/* Espaciado del sistema (equivale a los margin del diseño original) */
.khr-mt { margin-top: 0.9rem !important; }
.khr-mb { margin-bottom: 1rem !important; }
.khr-mb-lg { margin-bottom: 1.5rem !important; }
.khr-mb-xl { margin-bottom: 2rem !important; }
.khr-mb-cta { margin-bottom: 1.75rem !important; }
.khr-mt-xl { margin-top: 2rem !important; }

/* --- Código de tiempo: el marcador de cada sección ---------------------- */
.khr-tc .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 0.6em;
  color: var(--beam);
}
.khr-tc .elementor-heading-title::before {
  content: "";
  width: 1.6rem;
  height: 1px;
  background: currentColor;
  opacity: 0.6;
}
.khr-tc--plain .elementor-heading-title::before { display: none; }

.khr-lede { max-width: 46ch !important; color: var(--e-global-color-ash); }
.khr-lede p { color: inherit; }
.khr-center .khr-lede { margin-inline: auto; }
.khr-center { text-align: center; }

/* --- Bandas --------------------------------------------------------------- */
.khr-band { position: relative; }
.khr-band--booth { background: var(--e-global-color-booth); }

.khr-band--flood { background: var(--e-global-color-signal); color: var(--e-global-color-ink); }
body .khr-band--flood .elementor-heading-title { color: var(--e-global-color-ink); }
body .khr-band--flood .khr-tc .elementor-heading-title,
body .khr-band--flood .khr-lede { color: rgba(6, 23, 12, 0.82); }

.khr-band--day { background: var(--e-global-color-bone); color: var(--e-global-color-ink); }
body .khr-band--day .elementor-heading-title { color: var(--e-global-color-ink); }
body .khr-band--day .khr-tc .elementor-heading-title { color: #2c7a2d; }
body .khr-band--day .khr-lede,
body .khr-band--day .elementor-widget-text-editor { color: #4a5c50; }

/* Cabecera de sección */
.khr-head { gap: 0.9rem; margin-bottom: clamp(2rem, 5vw, 3.5rem); }
.khr-head__row { gap: 1rem 1.5rem; }
.khr-head__row > .khr-head__left { --width: auto; flex: 1 1 auto; width: auto; }
@media (max-width: 767px) { .khr-head__row { flex-direction: column; align-items: flex-start !important; } }

/* --- Botones ------------------------------------------------------------- */
.khr-btn .elementor-button {
  transition: transform 0.18s cubic-bezier(.2,.8,.3,1), background 0.18s, color 0.18s, border-color 0.18s;
  white-space: nowrap;
}
.khr-btn .elementor-button:active { transform: scale(0.97); }
.khr-btn .elementor-button-icon svg { width: 18px; height: 18px; }
.khr-btn--ghost .elementor-button:hover { border-color: var(--e-global-color-lime) !important; }
.khr-btn--block .elementor-button { width: 100%; justify-content: center; }
.khr-btn--small .elementor-button { padding: 0.55rem 1.05rem !important; font-size: 0.88rem !important; }

/* Enlace con subrayado que crece */
.khr-ulink .elementor-button {
  color: var(--beam) !important;
  background: linear-gradient(currentColor, currentColor) 0 100% / 0% 1px no-repeat !important;
  transition: background-size 0.3s cubic-bezier(.2,.8,.3,1);
  white-space: nowrap;
}
.khr-ulink .elementor-button:hover { background-size: 100% 1px !important; }
.khr-ulink .elementor-button-icon svg { width: 1.15em; height: 1.15em; }

/* Iconos SVG propios: son de trazo, no de relleno */
.elementor-element svg[fill="none"] { fill: none !important; }
.elementor-element svg[stroke="currentColor"] { stroke: currentColor; }
.khr-solid svg, .khr-play .elementor-button-icon svg { fill: currentColor; }

/* --- Indicador "al aire" -------------------------------------------------- */
.khr-onair .elementor-heading-title {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--e-global-color-lime);
}
.khr-onair .elementor-heading-title::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  animation: khrBlip 2s ease-out infinite;
}
@keyframes khrBlip {
  0% { box-shadow: 0 0 0 0 color-mix(in srgb, currentColor 70%, transparent); }
  70%, 100% { box-shadow: 0 0 0 9px transparent; }
}

/* --- Encabezado con fotos y ondas ---------------------------------------- */
.khr-hero { position: relative; overflow: hidden; isolation: isolate; }
.khr-hero .elementor-background-slideshow { filter: grayscale(0.3) contrast(1.08) brightness(0.95); }
/* Velo vertical y halo de señal, encima de las fotos y debajo del texto */
.khr-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(180deg, color-mix(in srgb, #05120a 45%, transparent) 0%, transparent 26%, transparent 58%, color-mix(in srgb, #05120a 72%, transparent) 86%, #05120a 100%),
    radial-gradient(110% 85% at 6% 22%, color-mix(in srgb, #13bb15 16%, transparent), transparent 58%);
}
@media (max-width: 1024px) {
  .khr-hero::before { background: rgba(5, 18, 10, 0.62) !important; opacity: 1 !important; }
  .khr-hero::after {
    background:
      linear-gradient(180deg, color-mix(in srgb, #05120a 58%, transparent) 0%, color-mix(in srgb, #05120a 34%, transparent) 26%, color-mix(in srgb, #05120a 42%, transparent) 60%, color-mix(in srgb, #05120a 88%, transparent) 88%, #05120a 100%),
      radial-gradient(120% 90% at 10% 20%, color-mix(in srgb, #13bb15 14%, transparent), transparent 62%);
  }
}
.khr-hero > .e-con-inner, .khr-hero > .elementor-element { position: relative; z-index: 3; }

/* Las ondas: lienzo que añade el código del sitio, anclado abajo */
.khr-waves {
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: min(100%, 420px);
  z-index: 2;
  pointer-events: none;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent), linear-gradient(180deg, transparent 46%, #000 74%);
  mask-image: linear-gradient(90deg, transparent, #000 10%, #000 90%, transparent), linear-gradient(180deg, transparent 46%, #000 74%);
  -webkit-mask-composite: source-in;
  mask-composite: intersect;
}
.khr-waves canvas { display: block; width: 100%; height: 100%; }

/* Textos apagados del encabezado: más claros, porque hay foto debajo */
.khr-hero .khr-now-meta .elementor-heading-title,
.khr-hero .khr-next .elementor-heading-title,
.khr-hero .khr-claim-sub,
.khr-hero .khr-listeners .elementor-heading-title,
.khr-hero .khr-now-kind .elementor-heading-title { color: #b5c7bb !important; }
.khr-hero .khr-now-meta strong, .khr-hero .khr-next strong { color: var(--e-global-color-bone); font-weight: 500; }

/* Título del programa al aire */
.khr-now-title .elementor-heading-title { margin-bottom: 0.8rem; }
.khr-now-title .hero__title-main { display: block; }
.khr-now-title .hero__title-sub {
  display: block;
  font-size: 0.4em;
  line-height: 1.05;
  letter-spacing: -0.02em;
  color: var(--e-global-color-ash);
  margin-top: 0.3em;
  text-transform: none;
}

.khr-now-meta .elementor-heading-title { display: flex; flex-wrap: wrap; gap: 0.35rem 1rem; margin-bottom: 0.5rem; }
.khr-next .elementor-heading-title { margin-bottom: 1.6rem; }
.khr-next strong { text-transform: none; letter-spacing: 0; }

.khr-track .elementor-heading-title { display: flex; align-items: center; gap: 0.6rem; margin-bottom: 0.9rem; }
.khr-track strong { font-weight: 600; }

/* Píldora de oyentes */
.khr-listeners .elementor-heading-title {
  display: inline-flex; align-items: center; gap: 0.4rem;
  padding: 0.3rem 0.75rem; border-radius: 100px; border: 1px solid var(--line);
}
.khr-listeners b { color: var(--e-global-color-lime); font-weight: 500; }

/* Lo que solo existe cuando hay datos en vivo (fuera del editor) */
body:not(.elementor-editor-active) .khr-track:not(.is-on),
body:not(.elementor-editor-active) .khr-listeners:not(.is-on),
body:not(.elementor-editor-active) .khr-now-link:not(.is-on) { display: none; }
html:not(.js) .khr-airline, html:not(.js) .khr-upnext, html:not(.js) .khr-next,
html:not(.js) .khr-listeners, html:not(.js) .khr-track, html:not(.js) .khr-daytabs { display: none; }

/* Frase de la emisora */
.khr-claim .claim__main { display: block; max-width: 17ch; }
.khr-claim .claim__lift { color: var(--e-global-color-signal); }
.khr-claim-sub { max-width: 44ch; color: var(--e-global-color-ash); }

/* Identificación de emisora en las cabeceras internas */
.khr-stationid .elementor-heading-title { display: inline-flex; align-items: center; gap: 0.55rem; }
.khr-stationid .elementor-heading-title::before { content: ""; width: 1.6rem; height: 1px; background: var(--e-global-color-signal); opacity: 0.7; }
.khr-stationid b { color: var(--e-global-color-ash); font-weight: 500; }

/* Botón grande de reproducción con disco y arcos */
.khr-bigplay .elementor-button { padding: 0.9rem 1.8rem 0.9rem 0.9rem !important; gap: 0.9rem; font-weight: 700 !important; }
.khr-bigplay .elementor-button-content-wrapper { gap: 0.9rem; align-items: center; }
.khr-bigplay .elementor-button-icon {
  position: relative;
  display: grid; place-items: center;
  width: 44px; height: 44px; border-radius: 50%;
  background: var(--e-global-color-ink); color: var(--e-global-color-signal);
  flex: none; margin: 0 !important;
}
.khr-bigplay .elementor-button-icon svg { width: 18px; height: 18px; fill: var(--e-global-color-signal); }
.khr-bigplay .elementor-button:hover { background: var(--e-global-color-lime) !important; }

.arcs { position: absolute; inset: 0; pointer-events: none; display: grid; place-items: center; }
.arcs i { position: absolute; border: 1.5px solid var(--beam); border-radius: 50%; width: 100%; aspect-ratio: 1; opacity: 0; }
body[data-playing="true"] .arcs i { animation: khrEmit 2.8s cubic-bezier(.2,.6,.4,1) infinite; }
body[data-playing="true"] .arcs i:nth-child(2) { animation-delay: 0.9s; }
body[data-playing="true"] .arcs i:nth-child(3) { animation-delay: 1.8s; }
@keyframes khrEmit { 0% { transform: scale(0.55); opacity: 0.55; } 100% { transform: scale(2.4); opacity: 0; } }

/* Lo que viene */
.khr-upnext {
  border: 1px solid var(--line-soft);
  border-radius: 22px;
  background: color-mix(in srgb, var(--e-global-color-booth) 88%, transparent);
  -webkit-backdrop-filter: blur(10px) saturate(1.2);
  backdrop-filter: blur(10px) saturate(1.2);
}
.khr-upnext-list ol { list-style: none; padding: 0; margin: 0 0 1.1rem; }
.khr-upnext-list li {
  display: grid; grid-template-columns: 4.2rem 1fr; gap: 0.85rem; align-items: baseline;
  padding: 0.8rem 0; border-bottom: 1px solid var(--line-soft);
}
.khr-upnext-list time { font-family: "Azeret Mono", monospace; font-size: 0.78rem; font-weight: 500; color: var(--beam); font-variant-numeric: tabular-nums; }
.khr-upnext-list b { font-family: "League Spartan", sans-serif; font-size: 1rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; color: var(--e-global-color-bone); }
.khr-upnext-list small { display: block; font-family: "Azeret Mono", monospace; font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--e-global-color-ashdim); margin-top: 3px; }

/* Ecualizador */
.eq { display: inline-flex; align-items: flex-end; gap: 2.5px; height: 20px; flex: none; }
.eq i { width: 2.5px; height: 4px; background: var(--e-global-color-lime); border-radius: 2px; }
body[data-playing="true"] .eq i { animation: khrBounce 0.9s ease-in-out infinite; }
body[data-playing="true"] .eq i:nth-child(2) { animation-delay: 0.15s; }
body[data-playing="true"] .eq i:nth-child(3) { animation-delay: 0.3s; }
body[data-playing="true"] .eq i:nth-child(4) { animation-delay: 0.45s; }
@keyframes khrBounce { 0%, 100% { height: 4px; } 50% { height: 18px; } }

/* --- La Línea del Aire ------------------------------------------------- */
.khr-airline {
  position: relative;
  border-top: 1px solid var(--line); border-bottom: 1px solid var(--line);
  background: linear-gradient(180deg, var(--e-global-color-booth) 0%, var(--e-global-color-void) 100%);
  overflow: hidden; cursor: grab; touch-action: pan-y; user-select: none;
}
.khr-airline:active { cursor: grabbing; }
.airline__viewport { position: relative; height: 118px; overflow: hidden; }
.airline__track { position: absolute; top: 0; left: 0; height: 100%; will-change: transform; }
.airline__block {
  position: absolute; top: 26px; bottom: 22px;
  border-left: 1px solid color-mix(in srgb, var(--blk, #13bb65) 55%, transparent);
  background: linear-gradient(180deg, color-mix(in srgb, var(--blk, #13bb65) 22%, transparent), color-mix(in srgb, var(--blk, #13bb65) 5%, transparent));
  padding: 0.45rem 0.7rem; overflow: hidden;
  display: flex; flex-direction: column; justify-content: flex-end; gap: 2px;
  color: var(--e-global-color-bone); transition: background 0.2s;
}
.airline__block:hover { background: color-mix(in srgb, var(--blk, #13bb65) 30%, transparent); color: var(--e-global-color-bone); }
.airline__block b { font-family: "League Spartan", sans-serif; font-size: 0.86rem; font-weight: 700; letter-spacing: -0.015em; line-height: 1.05; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; }
.airline__block i { font-family: "Azeret Mono", monospace; font-style: normal; font-size: 0.62rem; letter-spacing: 0.1em; color: var(--e-global-color-ash); white-space: nowrap; }
.airline__tick {
  position: absolute; top: 0; height: 22px; border-left: 1px solid var(--line-soft); padding-left: 5px;
  font-family: "Azeret Mono", monospace; font-size: 0.6rem; letter-spacing: 0.06em; color: var(--e-global-color-ashdim);
  font-variant-numeric: tabular-nums; white-space: nowrap;
}
.airline__tick--day { color: var(--beam); border-left-color: var(--beam); }
.airline__head { position: absolute; top: 0; bottom: 0; width: 2px; background: var(--e-global-color-lime); z-index: 3; pointer-events: none; box-shadow: 0 0 16px color-mix(in srgb, #7cf04a 60%, transparent); }
.airline__head::after { content: ""; position: absolute; top: 16px; left: 50%; translate: -50% 0; width: 9px; height: 9px; background: var(--e-global-color-lime); border-radius: 50%; }
.airline__foot {
  display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1.25rem;
  padding: 0.7rem 20px; border-top: 1px solid var(--line-soft);
  font-family: "Azeret Mono", monospace; font-size: 0.68rem; letter-spacing: 0.08em;
  color: var(--e-global-color-ashdim); text-transform: uppercase; font-variant-numeric: tabular-nums;
}
.airline__foot b { color: var(--e-global-color-bone); font-weight: 500; }
.airline__hint { display: inline-flex; align-items: center; gap: 0.4rem; }
.airline__hint svg { width: 1.15em; height: 1.15em; }
@media (min-width: 768px) { .airline__viewport { height: 136px; } .airline__block b { font-size: 0.95rem; } }
@media (min-width: 1025px) { .airline__foot { padding-inline: 40px; } }

/* --- Cinta de programas -------------------------------------------------- */
.khr-ticker {
  border-block: 1px solid var(--line-soft);
  overflow: hidden; white-space: nowrap;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
  mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.khr-ticker > .e-con-inner, .khr-ticker .khr-ticker__row { flex-wrap: nowrap !important; width: max-content !important; }
.khr-ticker__row { animation: khrRoll 42s linear infinite; }
.khr-ticker .elementor-heading-title { display: inline-flex; align-items: center; gap: 2.5rem; white-space: nowrap; }
.khr-ticker .elementor-heading-title::after { content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--e-global-color-signal); }
@keyframes khrRoll { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* --- Cifras ------------------------------------------------------------- */
.khr-facts { gap: 1px !important; background: var(--line-soft); border: 1px solid var(--line-soft); border-radius: 14px; overflow: hidden; }
.khr-fact { background: var(--e-global-color-void); padding: 1.4rem 1.15rem !important; }
.khr-band--flood .khr-fact { background: var(--e-global-color-signal); }
.khr-band--day .khr-fact { background: var(--e-global-color-bone); }
.khr-fact__n .elementor-heading-title { color: var(--beam); margin-bottom: 0.35rem; }
.khr-band--flood .khr-fact__n .elementor-heading-title, .khr-band--flood .khr-fact__n .elementor-icon { color: var(--e-global-color-ink) !important; }
.khr-fact__n .elementor-icon svg { width: 32px; height: 32px; margin-bottom: 0.55rem; }
.khr-fact__l .elementor-heading-title { color: var(--e-global-color-ash); }
body .khr-band--flood .khr-fact__l .elementor-heading-title { color: rgba(6, 23, 12, 0.82); }

/* --- Tarjetas de programa --------------------------------------------- */
.khr-prog {
  position: relative; border-radius: 22px; overflow: hidden;
  background: var(--e-global-color-booth); border: 1px solid var(--line-soft);
  transition: border-color 0.25s, transform 0.25s cubic-bezier(.2,.8,.3,1);
  color: var(--e-global-color-bone);
}
.khr-prog:hover { border-color: color-mix(in srgb, var(--beam) 60%, transparent); transform: translateY(-3px); }
.khr-prog__art { position: relative; aspect-ratio: 3 / 1; overflow: hidden; background: var(--e-global-color-booth2); }
.khr-prog__art .elementor-widget-image, .khr-prog__art img { width: 100%; height: 100%; }
.khr-prog__art img { object-fit: cover; object-position: center; transition: scale 0.5s cubic-bezier(.2,.8,.3,1); }
.khr-prog:hover .khr-prog__art img { scale: 1.03; }
.khr-prog__slot { position: absolute !important; top: 0.75rem; left: 0.75rem; z-index: 2; width: auto !important; }
.khr-prog__slot .elementor-heading-title {
  display: inline-flex; align-items: center; gap: 0.45rem;
  padding: 0.35rem 0.7rem; border-radius: 100px;
  background: rgba(5, 18, 10, 0.78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
  color: var(--e-global-color-bone);
}
.khr-prog__body { padding: 1.1rem 1.15rem 1.25rem !important; }
.khr-prog__tag { color: var(--e-global-color-ash); font-size: 0.92rem; line-height: 1.4; }
.khr-prog__foot .elementor-heading-title { color: var(--e-global-color-ashdim); }
.khr-prog__foot .khr-prog__go .elementor-heading-title { color: var(--beam); }

/* --- Tarjetas genéricas ---------------------------------------------- */
.khr-card {
  padding: 1.5rem 1.35rem !important; border-radius: 22px;
  border: 1px solid var(--line-soft); background: var(--e-global-color-booth);
  gap: 0.6rem !important; transition: border-color 0.22s, transform 0.22s;
  color: var(--e-global-color-bone);
}
a.khr-card:hover { border-color: color-mix(in srgb, var(--beam) 55%, transparent); transform: translateY(-3px); color: var(--e-global-color-bone); }
.khr-card .elementor-widget-text-editor { color: var(--e-global-color-ash); font-size: 0.95rem; }
.khr-band--day .khr-card { background: #fff; border-color: #dbe3d8; }
body .khr-band--day .khr-card .elementor-widget-text-editor { color: #4a5c50; }
.khr-band--flood .khr-card { background: rgba(6, 23, 12, 0.08); border-color: rgba(6, 23, 12, 0.14); }
body .khr-band--flood .khr-card .elementor-widget-text-editor { color: rgba(6, 23, 12, 0.82); }
.khr-card__ico .elementor-icon {
  width: 38px; height: 38px; display: grid; place-items: center; border-radius: 11px;
  background: color-mix(in srgb, var(--beam) 16%, transparent); color: var(--beam); margin-bottom: 0.3rem;
}
.khr-card__ico .elementor-icon svg { width: 19px; height: 19px; }
.khr-card .khr-ulink { margin-top: auto; }

/* Lista con guiones de código de tiempo */
.khr-ticks .elementor-icon-list-item { display: grid !important; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: start; font-size: 0.97rem; }
.khr-ticks .elementor-icon-list-item::before {
  content: ""; width: 7px; height: 7px; margin-top: 0.55em; border-radius: 2px; background: var(--beam);
  position: static !important; border: 0 !important;
}
.khr-ticks .elementor-icon-list-icon { display: none; }
.khr-ticks .elementor-icon-list-text { color: inherit; padding: 0 !important; }
.khr-ticks a { color: var(--beam); }

/* --- Preguntas frecuentes ----------------------------------------------- */
.khr-faq .e-n-accordion { border-top: 1px solid var(--line-soft); }
.khr-faq .e-n-accordion-item { border-bottom: 1px solid var(--line-soft); }
.khr-band--day .khr-faq .e-n-accordion, .khr-band--day .khr-faq .e-n-accordion-item { border-color: #dbe3d8; }
.khr-faq .e-n-accordion-item-title { padding: 1.15rem 0 !important; border: 0 !important; background: none !important; gap: 1.25rem; justify-content: space-between; }
.khr-faq .e-n-accordion-item-title-icon { color: var(--beam); font-size: 0.8rem; }
.khr-faq .e-n-accordion-item-title-icon svg { fill: currentColor; width: 0.8rem; }
.khr-faq .e-n-accordion-item > .e-con { padding: 0 0 1.2rem !important; border: 0 !important; background: none !important; }
.khr-faq .e-n-accordion-item[open] > .e-con { animation: khrFaqIn 0.28s cubic-bezier(.2,.8,.3,1); }
@keyframes khrFaqIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.khr-faq__a .elementor-widget-text-editor { color: var(--e-global-color-ash); max-width: 62ch; }
body .khr-band--day .khr-faq__a .elementor-widget-text-editor { color: #4a5c50; }

/* --- Episodios -------------------------------------------------------- */
.khr-ep {
  padding: 0.85rem 1rem !important; border-radius: 14px; border: 1px solid var(--line-soft);
  background: var(--e-global-color-booth); gap: 0.9rem !important; transition: border-color 0.2s;
}
.khr-ep:hover { border-color: color-mix(in srgb, var(--beam) 55%, transparent); }
.khr-ep__n .elementor-heading-title { width: 2.2rem; color: var(--e-global-color-ashdim); }
.khr-ep__go .elementor-icon {
  display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%;
  border: 1px solid var(--line); color: var(--beam); transition: background 0.18s, color 0.18s;
}
.khr-ep:hover .khr-ep__go .elementor-icon { background: var(--e-global-color-signal); color: var(--e-global-color-ink); border-color: var(--e-global-color-signal); }
.khr-ep__go .elementor-icon svg { width: 14px; height: 14px; fill: currentColor; }

/* --- Formularios ------------------------------------------------------ */
.khr-form .elementor-field-label {
  font-family: "Azeret Mono", monospace; font-size: 0.66rem; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--e-global-color-ash); margin-bottom: 0.4rem;
}
.khr-form .elementor-field-textual, .khr-form select.elementor-field {
  padding: 0.85rem 1rem !important; border-radius: 12px !important; border: 1px solid var(--line) !important;
  background: var(--e-global-color-booth) !important; color: var(--e-global-color-bone) !important; font-size: 1rem !important;
  transition: border-color 0.18s;
}
.khr-form .elementor-field-textual:focus, .khr-form select.elementor-field:focus { outline: none; border-color: var(--e-global-color-signal) !important; }
.khr-form textarea.elementor-field-textual { min-height: 130px; resize: vertical; }
.khr-form .elementor-field-type-acceptance label, .khr-form .elementor-field-subgroup label { font-size: 0.86rem; color: var(--e-global-color-ash); line-height: 1.45; }
.khr-form input[type="checkbox"] { width: 18px; height: 18px; accent-color: var(--e-global-color-signal); }
.khr-band--day .khr-form .elementor-field-textual, .khr-band--day .khr-form select.elementor-field { background: #fff !important; border-color: #d7e0d5 !important; color: var(--e-global-color-ink) !important; }
.khr-band--day .khr-form .elementor-field-label, .khr-band--day .khr-form .elementor-field-subgroup label { color: #4a5c50; }
.khr-form .elementor-button { border-radius: 100px; padding: 1.1rem 2rem; font-size: 1.05rem; font-weight: 600; }
.khr-form .elementor-button:hover { background: var(--e-global-color-lime) !important; }
.khr-help { font-size: 0.8rem; color: var(--e-global-color-ashdim); }

/* --- Aviso -------------------------------------------------------------- */
.khr-note {
  padding: 1.1rem 1.25rem !important; border-radius: 14px; gap: 0.85rem !important;
  border: 1px solid color-mix(in srgb, var(--beam) 35%, transparent);
  background: color-mix(in srgb, var(--beam) 8%, transparent);
  font-size: 0.93rem; line-height: 1.5;
}
.khr-note .elementor-icon { color: var(--beam); }

/* Cabecera de programa */
.khr-phero img { width: 100%; aspect-ratio: 3 / 1; object-fit: cover; border-radius: 22px; border: 1px solid var(--line-soft); }
@media (max-width: 640px) { .khr-phero img { aspect-ratio: 16 / 10; object-position: 70% center; } }

/* Logos de pago sobre fondo claro */
.khr-paychip { align-self: flex-start; }
.khr-paychip img { height: 24px; width: auto; background: #fff; padding: 0.6rem 1rem; box-sizing: content-box; border-radius: 10px; }
.khr-store img { height: 46px !important; width: auto !important; border-radius: 8px; }

/* Migas de pan */
.khr-crumbs p { font-family: "Azeret Mono", monospace; font-size: 0.66rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--e-global-color-ashdim); padding-block: 1.25rem; margin: 0; }
.khr-crumbs a { color: var(--e-global-color-ash) !important; }
.khr-crumbs a:hover { color: var(--e-global-color-bone) !important; }
.khr-crumbs b { font-weight: 400; }
.khr-crumbs span { margin-inline: 0.5rem; opacity: 0.5; }

/* --- Cabecera del sitio ------------------------------------------------- */
.khr-topbar {
  background: color-mix(in srgb, var(--e-global-color-void) 88%, transparent) !important;
  -webkit-backdrop-filter: blur(14px) saturate(1.4); backdrop-filter: blur(14px) saturate(1.4);
  border-bottom: 1px solid var(--line-soft);
}
.khr-topbar .elementor-widget-theme-site-logo img, .khr-topbar .khr-logo img { height: 52px; width: auto; }
@media (min-width: 1025px) { .khr-topbar .elementor-widget-theme-site-logo img, .khr-topbar .khr-logo img { height: 64px; } }
.khr-lang { border: 1px solid var(--line); border-radius: 100px; overflow: hidden; gap: 0 !important; flex-wrap: nowrap !important; align-items: stretch !important; }
.khr-lang .elementor-widget-button { width: auto; }
.khr-lang .elementor-button { display: block; border: 0 !important; box-shadow: none !important; transition: background 0.18s, color 0.18s; }
.khr-lang .khr-lang--en a[aria-disabled="true"] { cursor: default; }
.khr-nav .elementor-nav-menu--main .elementor-item { border-radius: 100px; transition: color 0.18s, background 0.18s; }
.khr-nav .elementor-nav-menu--main .elementor-item:hover { background: var(--e-global-color-booth); }
.khr-nav .elementor-nav-menu--main .elementor-item.elementor-item-active { background: var(--e-global-color-booth2); }
.khr-burger .elementor-menu-toggle { border: 1px solid var(--line); border-radius: 12px; width: 42px; height: 42px; }
.khr-burger .elementor-nav-menu--dropdown { background: var(--e-global-color-void) !important; padding: 1rem 20px 2rem; min-height: calc(100vh - 72px); }
.khr-burger .elementor-nav-menu--dropdown .elementor-item {
  display: flex !important; align-items: baseline; justify-content: space-between; gap: 1rem;
  padding: 0.9rem 0 !important; border-bottom: 1px solid var(--line-soft);
  font-family: "League Spartan", sans-serif !important; font-size: 1.35rem !important; font-weight: 500 !important; letter-spacing: -0.02em !important;
  color: var(--e-global-color-bone) !important; background: none !important;
}
/* La pista corta de cada enlace sale del "atributo de título" del menú */
.khr-burger .elementor-nav-menu--dropdown .elementor-item[title]::after,
.khr-burger .elementor-nav-menu--dropdown .elementor-item[title]:not(:hover):not(:focus)::after {
  content: attr(title);
  position: static !important; display: inline !important; opacity: 1 !important; transform: none !important;
  width: auto !important; height: auto !important; background: none !important; transition: none !important;
  flex: none; white-space: nowrap;
  font-family: "Azeret Mono", monospace; font-size: 0.66rem; font-weight: 400; letter-spacing: 0.14em;
  color: var(--e-global-color-ashdim); text-transform: uppercase;
}

/* --- Consola persistente, barra de pestañas y WhatsApp --------------- */
.khr-console {
  position: fixed !important; left: 0; right: 0; bottom: calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px));
  z-index: 70; height: var(--console-h);
  background: color-mix(in srgb, var(--e-global-color-booth) 94%, transparent) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.5); backdrop-filter: blur(18px) saturate(1.5);
  border-top: 1px solid var(--line);
}
.khr-console .khr-play-round .elementor-button {
  position: relative; display: grid; place-items: center; width: 46px; height: 46px; padding: 0 !important; border-radius: 50%;
}
.khr-console .khr-play-round .elementor-button-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.khr-console .khr-play-round .elementor-button-icon { margin: 0 !important; position: relative; }
.khr-console .khr-play-round .elementor-button-icon svg { width: 17px; height: 17px; fill: var(--e-global-color-ink); }
.khr-console__body { min-width: 0; flex: 1 1 0 !important; }
.khr-console__title .elementor-heading-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; }
.khr-console__time { display: none; }
@media (min-width: 768px) { .khr-console__time { display: block; } }
.khr-vol { display: none !important; width: 150px; }
@media (min-width: 1025px) { .khr-vol { display: flex !important; } }
.khr-vol input {
  -webkit-appearance: none; appearance: none; width: 100%; height: 3px; border-radius: 3px; background: var(--e-global-color-booth2);
}
.khr-vol input::-webkit-slider-thumb { -webkit-appearance: none; width: 13px; height: 13px; border-radius: 50%; background: var(--e-global-color-bone); cursor: pointer; }
.khr-vol input::-moz-range-thumb { width: 13px; height: 13px; border: 0; border-radius: 50%; background: var(--e-global-color-bone); cursor: pointer; }

.khr-tabbar {
  position: fixed !important; left: 0; right: 0; bottom: 0; z-index: 71;
  height: calc(var(--tabbar-h) + env(safe-area-inset-bottom, 0px)); padding-bottom: env(safe-area-inset-bottom, 0px) !important;
  background: var(--e-global-color-void) !important; border-top: 1px solid var(--line-soft);
}
.khr-tabbar .elementor-icon-box-wrapper { display: flex; flex-direction: column; align-items: center; gap: 4px; }
.khr-tabbar .elementor-icon-box-icon { margin: 0 !important; }
.khr-tabbar .elementor-icon svg { width: 20px; height: 20px; }
.khr-tabbar .elementor-icon-box-title, .khr-tabbar .elementor-icon-box-title a { margin: 0 !important; color: inherit !important; }
.khr-tabbar .khr-tab { color: var(--e-global-color-ashdim); transition: color 0.18s; }
.khr-tabbar .khr-tab.is-current, .khr-tabbar .khr-tab.is-current .elementor-icon { color: var(--e-global-color-lime) !important; }
@media (min-width: 1025px) { .khr-tabbar { display: none !important; } }

.khr-wa {
  position: fixed !important; right: 1rem; z-index: 65; width: auto !important;
  bottom: calc(var(--console-h) + var(--tabbar-h) + env(safe-area-inset-bottom, 0px) + 1rem);
}
.khr-wa .elementor-icon { box-shadow: 0 8px 26px rgba(0, 0, 0, 0.45); transition: transform 0.2s; }
.khr-wa .elementor-icon:hover { transform: scale(1.06); }
.khr-wa .elementor-icon svg { fill: currentColor; }
@media (min-width: 1025px) { .khr-wa { right: 1.75rem; } }

/* --- Pie ---------------------------------------------------------------- */
.khr-foot { border-top: 1px solid var(--line-soft); }
.khr-foot .khr-foot-menu .elementor-item { padding: 0 !important; }
.khr-foot .khr-foot-menu .elementor-nav-menu li + li { margin-top: 0.6rem; }
.khr-socials .elementor-social-icon { border: 1px solid var(--line); transition: background 0.18s, color 0.18s, border-color 0.18s; }
.khr-socials .elementor-social-icon { color: var(--e-global-color-ash); }
.khr-socials .elementor-social-icon:hover { color: var(--e-global-color-ink); }
.khr-socials .elementor-social-icon:hover { background: var(--e-global-color-signal) !important; border-color: var(--e-global-color-signal); }
.khr-socials .elementor-social-icon:hover svg { fill: var(--e-global-color-ink) !important; }
.khr-foot__legal { border-top: 1px solid var(--line-soft); }

/* --- Parrilla semanal (la pinta el código del sitio) ------------------- */
.khr-daytabs { display: flex; gap: 0.45rem; overflow-x: auto; padding-bottom: 0.6rem; margin-bottom: 1.5rem; scrollbar-width: none; }
.khr-daytabs::-webkit-scrollbar { display: none; }
.daytab {
  flex: none; display: flex; flex-direction: column; align-items: center; gap: 2px; min-width: 62px;
  padding: 0.6rem 0.75rem; border-radius: 12px; border: 1px solid var(--line-soft); background: none;
  font-family: "Azeret Mono", monospace; font-size: 0.64rem; letter-spacing: 0.1em; text-transform: uppercase;
  color: var(--e-global-color-ash); cursor: pointer; transition: background 0.18s, color 0.18s, border-color 0.18s;
}
.daytab b { font-family: "League Spartan", sans-serif; font-size: 1.1rem; letter-spacing: -0.02em; color: var(--e-global-color-bone); font-weight: 700; }
.daytab:hover { border-color: var(--line); background: var(--e-global-color-booth); }
.daytab[aria-selected="true"] { background: var(--e-global-color-signal); border-color: var(--e-global-color-signal); color: rgba(6, 23, 12, 0.82); }
.daytab[aria-selected="true"] b { color: var(--e-global-color-ink); }
.khr-slots { border-top: 1px solid var(--line-soft); }
.slot {
  display: grid; grid-template-columns: 4.4rem 1fr auto; align-items: center; gap: 0.9rem;
  padding: 0.95rem 0.5rem; border-bottom: 1px solid var(--line-soft); border-left: 2px solid transparent;
  color: var(--e-global-color-bone); transition: background 0.2s, border-left-color 0.2s;
}
.slot:hover { background: var(--e-global-color-booth); color: var(--e-global-color-bone); }
.slot[data-live="true"] { background: color-mix(in srgb, #13bb15 9%, transparent); border-left-color: var(--e-global-color-lime); }
.slot__time { font-family: "Azeret Mono", monospace; font-size: 0.78rem; font-weight: 500; font-variant-numeric: tabular-nums; line-height: 1.3; }
.slot__time small { display: block; font-size: 0.64rem; color: var(--e-global-color-ashdim); letter-spacing: 0.04em; }
.slot__name { font-family: "League Spartan", sans-serif; font-size: 1.05rem; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; min-width: 0; }
.slot__kind { display: block; font-family: "Azeret Mono", monospace; font-size: 0.6rem; font-weight: 400; letter-spacing: 0.14em; text-transform: uppercase; color: var(--e-global-color-ashdim); margin-top: 3px; }
.slot__end { justify-self: end; }
.slot__end .onair { display: inline-flex; align-items: center; gap: 0.5rem; font-family: "Azeret Mono", monospace; font-size: 0.68rem; letter-spacing: 0.2em; text-transform: uppercase; color: var(--e-global-color-lime); }
.slot__end .onair::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; animation: khrBlip 2s ease-out infinite; }
.slot__end .arrow { font-family: "Azeret Mono", monospace; color: var(--beam); }
@media (min-width: 768px) { .slot { grid-template-columns: 6.5rem 1fr auto; padding-inline: 1rem; } .slot__name { font-size: 1.25rem; } }

/* --- Apariciones al hacer scroll: más cortas que las de serie ------------ */
@keyframes fadeInUp { from { opacity: 0; transform: translate3d(0, 18px, 0); } to { opacity: 1; transform: none; } }

/* --- Movimiento reducido ------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .khr-ticker__row, .khr-onair .elementor-heading-title::before { animation: none !important; }
  .khr-hero .elementor-background-slideshow__slide__image { animation: none !important; }
}

/* --- Piezas sobre listas de iconos (sin enlaces anidados) ---------------- */
.khr-card__link .elementor-icon-list-item { flex-direction: row-reverse; gap: 0.45rem; font-weight: 500; color: var(--beam); }
.khr-card__link .elementor-icon-list-text { color: var(--beam) !important; padding: 0 !important; }
.khr-card__link .elementor-icon-list-icon svg { width: 1.15em; height: 1.15em; stroke: var(--beam); }
.khr-band--flood .khr-card__link .elementor-icon-list-text { color: var(--e-global-color-ink) !important; }
.khr-prog__slot .elementor-icon-list-item {
  display: inline-flex !important; align-items: center; gap: 0.45rem; margin: 0 !important;
  padding: 0.35rem 0.7rem; border-radius: 100px;
  background: rgba(5, 18, 10, 0.78); -webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
}
.khr-prog__slot .elementor-icon-list-text {
  font-family: "Azeret Mono", monospace; font-size: 0.62rem; font-weight: 500; letter-spacing: 0.12em; text-transform: uppercase;
  color: var(--e-global-color-bone) !important; padding: 0 !important;
}
.khr-prog__slot .elementor-icon-list-icon svg { width: 1.15em; height: 1.15em; stroke: var(--e-global-color-bone); }
.khr-prog__art--empty { display: grid !important; place-items: center; background: linear-gradient(135deg, color-mix(in srgb, var(--beam) 13%, transparent), transparent); }
.khr-prog__art--empty .khr-prog__slot { position: static !important; }

.khr-foot-logo img { height: 86px; width: auto; }
.khr-storefront .elementor-widget-image { width: auto; }
.khr-claim .elementor-heading-title { max-width: 17ch; }
.khr-claim-sub { color: #b5c7bb; }
.khr-split img { width: 100%; }

/* Contenedores en fila que deben medir lo que su contenido */
.khr-topbar__end, .khr-lang, .khr-storefront, .khr-hero__now, .khr-hero__cta { --width: auto; }
.khr-topbar__end, .khr-lang { flex: 0 0 auto !important; width: auto !important; }
.khr-nav { flex: 0 0 auto; }
.khr-vol input[type="range"] { padding: 0 !important; border: 0 !important; margin: 0; background: var(--e-global-color-booth2) !important; height: 3px; box-shadow: none; }

/* Consola: en móvil Elementor da 100 % de ancho a los contenedores */
.khr-console .khr-eq-host { --width: 20px !important; width: 20px !important; flex: 0 0 20px !important; }
.khr-console .khr-vol { --width: 150px; flex: 0 0 150px; }
.khr-console .khr-play-round { flex: 0 0 46px !important; width: 46px !important; }
.khr-console .khr-console__body { --width: auto !important; flex: 1 1 0 !important; min-width: 0; }
.khr-console .khr-console__time { flex: 0 0 auto; }
html:not(.js) .khr-now-kind { display: none; }

/* Pestañas móviles: ícono y rótulo centrados en la altura de la barra */
.khr-tabbar { align-items: center !important; align-content: center !important; }
.khr-tabbar .khr-tab { align-self: center; }
.khr-tabbar .elementor-icon-box-icon { display: flex; line-height: 0; }
.khr-tabbar .elementor-icon { display: block; line-height: 0; }
.khr-tabbar .elementor-icon-box-title { line-height: 1.2 !important; }
.khr-tabbar .elementor-icon-box-icon { justify-content: center; }
.khr-tabbar .elementor-icon-box-content { display: flex; justify-content: center; line-height: 0; }
.khr-tabbar .elementor-icon-box-title { display: block; }

/* Consola: ícono de reproducir centrado y algo mayor */
.khr-console .khr-play-round [data-play-icon] { display: grid; place-items: center; line-height: 0; }
.khr-console .khr-play-round .elementor-button-icon svg { width: 20px !important; height: 20px !important; display: block; }
.khr-console .khr-play-round .elementor-button-icon { display: grid; place-items: center; }
/* Ecualizador centrado en la altura de la consola */
.khr-console .khr-eq-host { align-self: center; justify-content: center; }
.khr-console .eq { align-items: center; height: 20px; }
/* Volumen: visible también en móvil, más grande y con su altavoz */
.khr-console .khr-vol { display: flex !important; align-items: center; gap: 0.5rem; flex: 0 0 auto !important; width: auto !important; --width: auto; }
.khr-vol__ico { display: grid; place-items: center; color: var(--e-global-color-ash); flex: none; }
.khr-vol__ico svg { width: 20px; height: 20px; }
.khr-console .khr-vol input[type="range"] { width: 92px; height: 4px; border-radius: 4px; cursor: pointer; }
.khr-console .khr-vol input[type="range"]::-webkit-slider-thumb { width: 18px; height: 18px; box-shadow: 0 0 0 3px rgba(124, 240, 74, 0.18); }
.khr-console .khr-vol input[type="range"]::-moz-range-thumb { width: 18px; height: 18px; box-shadow: 0 0 0 3px rgba(124, 240, 74, 0.18); }
@media (min-width: 1025px) { .khr-console .khr-vol input[type="range"] { width: 140px; } }
.khr-vol-fijo .khr-console .khr-vol { display: none !important; }
.khr-console .khr-vol { flex-direction: row !important; }
.khr-console .khr-vol input[type="range"] { background: rgba(138, 163, 148, 0.4) !important; }
.khr-console > .e-con-inner { height: 100%; align-items: center; }

/* FAQ: el color del h3 global del Kit no debe ganarle al del acordeón */
.khr-faq .e-n-accordion-item-title-text { color: var(--n-accordion-title-normal-color) !important; }
.khr-faq .e-n-accordion-item-title:hover .e-n-accordion-item-title-text { color: var(--n-accordion-title-hover-color, var(--n-accordion-title-normal-color)) !important; }
.khr-faq .e-n-accordion-item[open] > .e-n-accordion-item-title .e-n-accordion-item-title-text { color: var(--n-accordion-title-active-color, var(--n-accordion-title-normal-color)) !important; }
.khr-faq .e-n-accordion-item-title-header { flex: 1 1 auto; }

/* FAQ: flecha de trazo fino que gira al abrir, como en el original */
.khr-faq .e-n-accordion-item-title-icon { display: none !important; }
.khr-faq .e-n-accordion-item-title::after {
  content: ""; flex: none; width: 11px; height: 11px;
  border-right: 1.5px solid var(--beam); border-bottom: 1.5px solid var(--beam);
  rotate: 45deg; translate: 0 -3px; transition: rotate 0.25s, translate 0.25s;
}
.khr-faq .e-n-accordion-item[open] > .e-n-accordion-item-title::after { rotate: -135deg; translate: 0 2px; }

/* Píldora de horario en las tarjetas: sin el margen negativo de las listas en
   línea de Elementor y con aire a los lados para el reloj y la hora */
.khr-prog__slot .elementor-icon-list-items { margin: 0 !important; padding: 0 !important; }
.khr-prog__slot .elementor-icon-list-item { padding: 0.38rem 0.8rem 0.38rem 0.65rem !important; margin: 0 !important; white-space: nowrap; }
.khr-prog__slot .elementor-icon-list-item::after { display: none !important; }
.khr-prog__slot .elementor-icon-list-icon { margin: 0 !important; padding: 0 !important; }

/* Móvil: "Escuchar en vivo" y "Programación" en la misma línea, mismo tamaño */
@media (max-width: 767px) {
  .khr-hero__cta { flex-wrap: wrap !important; gap: 10px !important; }
  .khr-hero__cta > .khr-play,
  .khr-hero__cta > .khr-btn--ghost:not(.khr-now-link) { flex: 1 1 0 !important; min-width: 0 !important; width: auto !important; max-width: none !important; }
  .khr-hero__cta > .khr-now-link { flex: 1 1 100% !important; }
  .khr-hero__cta .elementor-button-wrapper { width: 100%; }
  .khr-hero__cta .elementor-button {
    width: 100% !important; height: 52px !important; padding: 0 12px !important;
    font-size: min(0.82rem, 3.4vw) !important; justify-content: center;
  }
  .khr-hero__cta .elementor-button-content-wrapper { justify-content: center; white-space: nowrap; }
  .khr-hero__cta .khr-bigplay .elementor-button { padding: 0 12px 0 7px !important; }
  .khr-hero__cta .khr-bigplay .elementor-button-content-wrapper { gap: 8px !important; }
  .khr-hero__cta .khr-bigplay .elementor-button-icon { width: 38px !important; height: 38px !important; }
  .khr-hero__cta .khr-bigplay .elementor-button-icon svg { width: 16px !important; height: 16px !important; }
  .khr-hero__cta .khr-btn--ghost .elementor-button-icon svg { width: 16px; height: 16px; }
}
@media (max-width: 767px) {
  .khr-hero__cta .elementor-button { display: flex !important; align-items: center !important; box-sizing: border-box; line-height: 1 !important; }
  .khr-hero__cta .elementor-button-content-wrapper { align-items: center !important; height: 100%; }
  .khr-hero__cta .elementor-button-icon { display: grid; place-items: center; }
}

/* Migas de pan dentro del encabezado: sin el margen lateral propio */
.khr-hero .khr-crumbs p { padding-block: 1.25rem; }
.khr-tz-note b { font-weight: 500; }

/* Pestañas de días: el estilo de botones del tema y del Kit no aplica aquí */
.khr-daytabs .daytab {
  background: transparent !important; color: var(--e-global-color-ash) !important;
  border: 1px solid var(--line-soft) !important; border-radius: 12px !important;
  padding: 0.6rem 0.75rem !important; min-width: 62px; line-height: 1.2 !important;
  font-family: "Azeret Mono", monospace !important; font-size: 0.64rem !important; font-weight: 400 !important;
  letter-spacing: 0.1em !important; text-transform: uppercase !important; box-shadow: none !important;
}
.khr-daytabs .daytab:hover { background: var(--e-global-color-booth) !important; border-color: var(--line) !important; }
.khr-daytabs .daytab[aria-selected="true"] { background: var(--e-global-color-signal) !important; border-color: var(--e-global-color-signal) !important; color: rgba(6, 23, 12, 0.82) !important; }
.khr-daytabs .daytab b { font-size: 1.1rem; }

/* Lo que pinta el motor en vivo hereda el color, como en el original:
   el color de enlace del Kit es para los enlaces dentro de los textos */
a.slot, a.slot:hover, a.airline__block, a.airline__block:hover, .khr-upnext-list a { color: var(--e-global-color-bone) !important; }
.khr-upnext-list a:hover { color: var(--e-global-color-lime) !important; }
.slot .timecode { font-family: "Azeret Mono", monospace; font-size: 0.9rem; color: var(--beam); }

/* ID de emisora: una sola línea de texto que puede partirse, con su guion */
.khr-stationid .elementor-heading-title { display: block !important; }
.khr-stationid .elementor-heading-title::before { display: inline-block; vertical-align: middle; margin: -0.2em 0.55rem 0 0; }

/* Parrilla: la fila de días se desplaza dentro de su caja, sin ensanchar la página */
.khr-grid { min-width: 0; max-width: 100%; overflow: hidden; }
.khr-grid > .khr-daytabs, .khr-grid > .khr-slots { min-width: 0; max-width: 100%; width: 100%; }
.khr-grid .slot { min-width: 0; }
.khr-grid .slot__name { overflow-wrap: anywhere; }

/* Escritorio y tableta: los botones del encabezado al aire, todos del mismo tamaño */
@media (min-width: 768px) {
  .khr-hero__cta > .elementor-widget-button { flex: 0 0 240px !important; width: 240px !important; max-width: none !important; }
  .khr-hero__cta .elementor-button {
    width: 100% !important; height: 64px !important; box-sizing: border-box;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 0 22px !important; line-height: 1 !important; font-size: 1.02rem !important;
  }
  .khr-hero__cta .elementor-button-content-wrapper { align-items: center; justify-content: center; white-space: nowrap; }
  .khr-hero__cta .khr-bigplay .elementor-button { padding: 0 22px 0 10px !important; }
}

/* Bandas centradas: el código de tiempo también se centra */
.khr-center .khr-tc .elementor-heading-title { justify-content: center; }
.khr-center .khr-tc { align-self: center; }

/* "Ver programa →" nunca se parte; el conductor se ajusta en su espacio */
.khr-prog__foot > .khr-prog__go { flex: 0 0 auto !important; width: auto !important; }
.khr-prog__foot > .khr-prog__go .elementor-heading-title { white-space: nowrap; }
.khr-prog__foot > .elementor-widget:first-child { flex: 1 1 auto; min-width: 0; width: auto !important; }

/* --- Ficha de programa ------------------------------------------------ */
.khr-stack p + p { margin-top: 1.1rem; }
.khr-stack p { margin-bottom: 0; }
.khr-show__card { position: sticky; top: 6rem; align-self: start; }
body .khr-card .khr-tickslist, body .khr-tickslist { color: var(--e-global-color-bone); font-size: 0.97rem; }
.khr-tickslist ul { list-style: none; padding: 0; margin: 0.5rem 0 0; display: grid; gap: 0.75rem; }
.khr-tickslist li { display: grid; grid-template-columns: auto 1fr; gap: 0.75rem; align-items: start; }
.khr-tickslist li::before { content: ""; width: 7px; height: 7px; margin-top: 0.55em; border-radius: 2px; background: var(--beam); }
.khr-tickslist b { font-weight: 600; }
.khr-rule { margin-block: 0.65rem !important; }
.khr-show__cta .khr-play .elementor-button-icon svg { width: 18px; height: 18px; fill: currentColor; }
.khr-tickslist li { display: block !important; position: relative; padding-left: 1.2rem; }
.khr-tickslist li::before { position: absolute; left: 0; top: 0; }

/* --- Episodios: fila clicable y estado sonando ------------------------ */
.khr-eps { gap: 0.5rem !important; }
.khr-ep { align-items: center !important; cursor: pointer; }
.khr-ep__t { flex: 1 1 0 !important; min-width: 0; gap: 2px !important; }
.khr-ep__title .elementor-heading-title { color: var(--e-global-color-bone); }
.khr-ep__go { flex: none !important; width: auto !important; }
.khr-ep.is-playing { border-color: color-mix(in srgb, var(--beam) 70%, transparent); background: color-mix(in srgb, var(--beam) 10%, var(--e-global-color-booth)); }
.khr-ep.is-playing .khr-ep__go .elementor-icon { background: var(--e-global-color-signal); color: var(--e-global-color-ink); border-color: var(--e-global-color-signal); }
.khr-ep.is-playing .khr-ep__title .elementor-heading-title { color: var(--e-global-color-lime); }

/* A la carta: el aviso ocupa todo el ancho y su texto se lee claro */
.khr-note .elementor-widget-text-editor { color: var(--e-global-color-bone); font-size: 0.93rem; flex: 1 1 0; min-width: 0; }
.khr-note .elementor-icon svg { width: 19px; height: 19px; }
.khr-note .elementor-widget-icon { flex: none !important; width: auto !important; margin-top: 2px; }

/* Elementor no carga el CSS de las listas de íconos cuando la lista solo
   vive dentro de una plantilla insertada (las tres puertas): lo básico va aquí */
.khr-card__link .elementor-icon-list-items { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; }
.khr-card__link .elementor-icon-list-item { display: flex !important; align-items: center; margin: 0 !important; }
.khr-card__link .elementor-icon-list-icon { display: flex; align-items: center; }
.khr-card__link .elementor-icon-list-icon svg { display: block; }

/* --- Pauta y formularios --------------------------------------------- */
.khr-h-18ch .elementor-heading-title { max-width: 18ch; }
.khr-solid-ico .elementor-button-icon svg { fill: currentColor; }
.khr-form .elementor-field-group { margin-bottom: 0; }
.khr-form .elementor-field-type-acceptance .elementor-field-subgroup { display: flex; gap: 0.65rem; align-items: flex-start; }
.khr-form .elementor-field-type-acceptance label { font-family: "Outfit", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 0.86rem !important; }
.khr-form .elementor-button { display: flex; justify-content: center; gap: 0.6rem; border-radius: 100px !important; }
.khr-form .elementor-button svg { width: 18px; height: 18px; fill: none; stroke: currentColor; }
.khr-help a { color: var(--beam) !important; }

/* --- Apóyanos -------------------------------------------------------- */
.khr-paychip { width: auto !important; }
.khr-qr img { width: 180px !important; height: auto; border-radius: 12px; background: #fff; padding: 8px; }
.khr-card .khr-card__push { margin-top: auto; }
.khr-fact__n.elementor-widget-icon { text-align: left; }
.khr-fact__n .elementor-icon-wrapper { text-align: left; line-height: 0; }
.khr-fact__n .elementor-icon { color: var(--beam); }

/* Móvil: "Escuchar en vivo" nunca se monta sobre el disco del ícono.
   El disco se encoge un poco en pantallas angostas y, si el texto no cabe
   (p. ej. "Pausar transmisión"), pasa a dos líneas dentro del botón. */
@media (max-width: 767px) {
  .khr-hero__cta .khr-bigplay .elementor-button { padding: 0 8px 0 6px !important; }
  .khr-hero__cta .khr-bigplay .elementor-button-content-wrapper { justify-content: flex-start !important; gap: 7px !important; width: 100%; min-width: 0; }
  .khr-hero__cta .khr-bigplay .elementor-button-icon { width: clamp(28px, 9.5vw, 38px) !important; height: clamp(28px, 9.5vw, 38px) !important; flex: none !important; }
  .khr-hero__cta .khr-bigplay .elementor-button-icon svg { width: 15px !important; height: 15px !important; }
  .khr-hero__cta .elementor-button-text { flex: 1 1 auto; min-width: 0; white-space: normal !important; text-align: center; line-height: 1.15 !important; overflow-wrap: normal; }
  .khr-hero__cta .khr-btn--ghost .elementor-button-content-wrapper { min-width: 0; gap: 6px; }
  .khr-hero__cta .khr-btn--ghost .elementor-button-icon { flex: none; }
}

/* Episodios: barra de avance con la duración completa (la crea el motor).
   Se toca o arrastra para ir a un punto; el relleno usa el color del programa. */
.khr-ep__prog { display: flex; align-items: center; gap: 12px; width: 100%; margin-top: 8px; }
.khr-ep__bar {
  --p: 0%;
  position: relative; flex: 1 1 auto; min-width: 0; height: 4px; border-radius: 4px;
  background: rgba(241, 245, 238, 0.12); cursor: pointer; touch-action: none; outline: none;
}
.khr-ep__bar::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; bottom: -10px; } /* área táctil */
.khr-ep__fill { position: absolute; left: 0; top: 0; bottom: 0; width: var(--p); border-radius: inherit; background: var(--beam, var(--e-global-color-signal)); opacity: 0.55; }
.khr-ep__knob {
  position: absolute; top: 50%; left: var(--p); width: 12px; height: 12px; border-radius: 50%;
  background: var(--beam, var(--e-global-color-signal)); transform: translate(-50%, -50%) scale(0); transition: transform 0.15s ease;
  box-shadow: 0 0 0 3px rgba(5, 18, 10, 0.6);
}
.khr-ep.is-current .khr-ep__fill, .khr-ep__bar[data-drag] .khr-ep__fill { opacity: 1; }
.khr-ep.is-current .khr-ep__knob, .khr-ep__bar:hover .khr-ep__knob, .khr-ep__bar:focus-visible .khr-ep__knob, .khr-ep__bar[data-drag] .khr-ep__knob { transform: translate(-50%, -50%) scale(1); }
.khr-ep__bar:focus-visible { box-shadow: 0 0 0 2px var(--e-global-color-lime); }
.khr-ep__time {
  flex: none; font-family: "Azeret Mono", monospace; font-size: 0.64rem; letter-spacing: 0.04em;
  color: var(--e-global-color-ashdim); font-variant-numeric: tabular-nums; white-space: nowrap;
}
.khr-ep.is-current .khr-ep__time { color: var(--e-global-color-bone); }
@media (max-width: 767px) {
  .khr-ep__prog { gap: 8px; margin-top: 10px; }
  .khr-ep__time { font-size: 0.6rem; }
  .khr-ep__knob { width: 14px; height: 14px; }
}

/* ---------- Chat en vivo ------------------------------------------------ */
.khr-chat { border: 1px solid var(--e-global-color-line); border-radius: 18px; background: var(--e-global-color-booth); overflow: hidden; min-height: 120px; }
.khr-chat:not(.is-ready) { display: none; }
.khr-chat__bar { display: flex; align-items: center; gap: 10px; padding: 14px 18px; border-bottom: 1px solid var(--e-global-color-line); }
.khr-chat__dot { width: 9px; height: 9px; border-radius: 50%; background: var(--e-global-color-ashdim); flex: none; }
.khr-chat.is-open .khr-chat__dot { background: var(--e-global-color-signal); box-shadow: 0 0 0 0 rgba(19, 187, 21, 0.6); animation: khrChatPulse 1.8s infinite; }
@keyframes khrChatPulse { 70% { box-shadow: 0 0 0 9px rgba(19, 187, 21, 0); } 100% { box-shadow: 0 0 0 0 rgba(19, 187, 21, 0); } }
.khr-chat__status { font-family: "Azeret Mono", monospace; font-size: 0.68rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--e-global-color-bone); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.khr-chat__who { margin-left: auto; font-family: "Azeret Mono", monospace; font-size: 0.62rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--e-global-color-ink); background: var(--e-global-color-lime); border-radius: 99px; padding: 3px 9px; }
.khr-chat__closed { padding: 22px 18px 24px; }
.khr-chat__next { margin: 0; color: var(--e-global-color-ash); font-size: 0.98rem; line-height: 1.55; }
.khr-chat__next a { color: var(--e-global-color-lime); font-weight: 600; text-decoration: none; }
.khr-chat__in { color: var(--e-global-color-ashdim); white-space: nowrap; }
.khr-chat__pin { display: block; padding: 10px 18px; background: color-mix(in srgb, var(--e-global-color-signal) 12%, transparent); border-bottom: 1px solid var(--e-global-color-line); color: var(--e-global-color-bone); font-size: 0.9rem; }
.khr-chat__pinlabel { font-family: "Azeret Mono", monospace; font-size: 0.6rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--e-global-color-lime); margin-right: 8px; }
.khr-chat__list { list-style: none; margin: 0; padding: 14px 18px; height: 380px; overflow-y: auto; display: flex; flex-direction: column; gap: 12px; overscroll-behavior: contain; }
.khr-chat__empty { margin: auto; color: var(--e-global-color-ashdim); font-size: 0.92rem; text-align: center; }
.khr-chat__msg { padding: 2px 0 2px 12px; border-left: 2px solid transparent; }
.khr-chat__msg.is-mine { border-left-color: color-mix(in srgb, var(--e-global-color-signal) 50%, transparent); }
.khr-chat__msg.is-host { border-left-color: var(--e-global-color-lime); background: color-mix(in srgb, var(--e-global-color-lime) 7%, transparent); border-radius: 0 10px 10px 0; padding: 8px 10px 8px 12px; }
.khr-chat__meta { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 0.82rem; color: var(--e-global-color-bone); }
.khr-chat__meta b { font-weight: 600; }
.khr-chat__meta time { font-family: "Azeret Mono", monospace; font-size: 0.62rem; color: var(--e-global-color-ashdim); }
.khr-chat__badge { font-family: "Azeret Mono", monospace; font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; color: var(--e-global-color-ink); background: var(--e-global-color-lime); border-radius: 99px; padding: 2px 7px; }
.khr-chat__text { margin: 3px 0 0; color: var(--e-global-color-ash); font-size: 0.95rem; line-height: 1.45; overflow-wrap: anywhere; }
.khr-chat__tools { margin-left: auto; display: inline-flex; gap: 4px; }
.khr-chat__tools button, .khr-chat__pin button, .khr-chat__mod button {
  background: transparent !important; border: 1px solid var(--e-global-color-line) !important; color: var(--e-global-color-bone) !important;
  border-radius: 8px !important; padding: 2px 8px !important; font-size: 0.75rem !important; line-height: 1.4 !important; cursor: pointer; min-height: 0 !important;
}
.khr-chat__tools button:hover, .khr-chat__pin button:hover, .khr-chat__mod button:hover { border-color: var(--e-global-color-signal) !important; }
.khr-chat__form { padding: 12px 18px 14px; border-top: 1px solid var(--e-global-color-line); display: grid; gap: 8px; margin: 0; }
.khr-chat__line { display: flex; gap: 8px; align-items: center; }
.khr-chat__name, .khr-chat__input {
  width: 100%; min-width: 0; height: 46px; padding: 0 14px !important; border-radius: 12px !important;
  background: var(--e-global-color-void) !important; border: 1px solid var(--e-global-color-line) !important; color: var(--e-global-color-bone) !important; font-size: 16px !important;
}
.khr-chat__name { height: 40px; font-size: 15px !important; }
.khr-chat__name[hidden] { display: none; }
.khr-chat__name:focus, .khr-chat__input:focus { outline: none; border-color: var(--e-global-color-signal) !important; }
.khr-chat__send {
  flex: none; width: 46px; height: 46px; padding: 0 !important; border-radius: 50% !important; border: 0 !important; cursor: pointer;
  background: var(--e-global-color-signal) !important; color: var(--e-global-color-ink) !important; display: grid; place-items: center;
}
.khr-chat__send svg { width: 19px; height: 19px; }
.khr-chat__send:hover { background: var(--e-global-color-lime) !important; }
.khr-chat__send:disabled { opacity: 0.5; cursor: default; }
.khr-chat__hint { margin: 0; min-height: 1em; font-size: 0.78rem; color: var(--e-global-color-ashdim); }
.khr-chat__hint.is-bad { color: var(--e-global-color-alert); }
.khr-chat__mod { padding: 10px 18px; border-top: 1px dashed var(--e-global-color-line); display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 0.8rem; color: var(--e-global-color-ashdim); }
.khr-chat__mod[hidden], .khr-chat__room[hidden], .khr-chat__closed[hidden], .khr-chat__pin[hidden] { display: none; }
@media (max-width: 767px) {
  .khr-chat__list { height: 320px; padding: 12px 14px; }
  .khr-chat__bar, .khr-chat__closed, .khr-chat__form, .khr-chat__pin, .khr-chat__mod { padding-left: 14px; padding-right: 14px; }
}
.khr-chat__badge, .khr-chat__who { display: inline-block; line-height: 1.5 !important; height: auto !important; }
.khr-chat__who[hidden] { display: none !important; }
/* El contenedor nativo del chat no debe ensancharse con su contenido (móvil) */
.e-con.khr-chat { display: block !important; }
.khr-chat > * { width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box; }
/* Con el chat a la vista, el WhatsApp flotante se oculta para no tapar "enviar" */
body.khr-chat-near .khr-wa { opacity: 0; pointer-events: none; transform: translateY(12px); }
.khr-wa { transition: opacity 0.2s, transform 0.2s; }

/* ---------- 88.8 FM -------------------------------------------------------- */
/* Encabezado del inicio: aviso destacado sobre el carrusel */
.khr-fm-badge { align-self: flex-start; width: auto !important; max-width: 100%; --width: auto; }
.khr-fm-badge .elementor-heading-title {
  display: inline-flex; align-items: center; flex-wrap: wrap; gap: 4px 10px;
  padding: 6px 16px 6px 6px; border-radius: 99px;
  border: 1px solid color-mix(in srgb, var(--e-global-color-signal) 60%, transparent);
  background: rgba(5, 18, 10, 0.62); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
  color: var(--e-global-color-bone); font-family: "Outfit", sans-serif; font-size: 0.95rem; font-weight: 400; line-height: 1.3;
}
.khr-fm-badge b { color: var(--e-global-color-lime); font-weight: 700; }
.khr-fm__tag {
  font-family: "Azeret Mono", monospace; font-size: 0.6rem; letter-spacing: 0.14em; text-transform: uppercase; font-weight: 600;
  background: var(--e-global-color-signal); color: var(--e-global-color-ink); border-radius: 99px; padding: 5px 10px;
}
@media (max-width: 767px) {
  .khr-fm-badge .elementor-heading-title { font-size: 0.82rem; padding: 6px 12px 6px 6px; border-radius: 18px; }
}

/* Reproductor fijo: chip de la frecuencia junto a "Al aire" */
.khr-console__labels { align-items: center !important; width: auto !important; --width: auto; min-width: 0; }
.khr-console__labels > .elementor-widget { width: auto !important; flex: none !important; }
.khr-console__fm .elementor-heading-title {
  font-family: "Azeret Mono", monospace; font-size: 0.58rem; letter-spacing: 0.1em; text-transform: uppercase; white-space: nowrap;
  color: var(--e-global-color-lime); border: 1px solid color-mix(in srgb, var(--e-global-color-lime) 45%, transparent);
  border-radius: 99px; padding: 1px 7px; line-height: 1.5;
}
@media (max-width: 767px) { .khr-console__fm-place { display: none; } }
.khr-fm-badge .elementor-heading-title { flex-wrap: nowrap; }
.khr-fm__txt { min-width: 0; }
@media (max-width: 767px) {
  .khr-fm__sep { display: none; }
  .khr-fm__sub { display: block; color: var(--e-global-color-ash); font-size: 0.92em; }
  /* Reproductor: "Al aire" y "88.8 FM" se alternan en el mismo lugar (no cabe uno al lado del otro) */
  .khr-console__labels { position: relative; }
  .khr-console__fm { position: absolute !important; left: 0; top: 50%; transform: translateY(-50%); animation: khrFmB 8s infinite; }
  .khr-console__labels .khr-console__label { animation: khrFmA 8s infinite; }
}
@keyframes khrFmA { 0%, 42% { opacity: 1; } 50%, 92% { opacity: 0; } 100% { opacity: 1; } }
@keyframes khrFmB { 0%, 42% { opacity: 0; } 50%, 92% { opacity: 1; } 100% { opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
  .khr-console__fm, .khr-console__labels .khr-console__label { animation: none; }
  .khr-console__fm { display: none; }
}
/* Aviso 88.8 FM más grande (pedido del cliente) */
.khr-fm-badge .elementor-heading-title { font-size: 1.15rem; padding: 8px 20px 8px 8px; gap: 4px 12px; }
.khr-fm__tag { font-size: 0.68rem; padding: 6px 12px; }
@media (max-width: 767px) {
  .khr-fm-badge .elementor-heading-title { font-size: 0.95rem; padding: 7px 14px 7px 7px; }
  .khr-fm__tag { font-size: 0.62rem; padding: 5px 10px; }
}
/* Aviso 88.8 FM, segunda ampliación */
.khr-fm-badge .elementor-heading-title { font-size: 1.35rem; padding: 9px 24px 9px 9px; gap: 4px 14px; }
.khr-fm__tag { font-size: 0.74rem; padding: 7px 14px; }
@media (max-width: 767px) {
  /* En celular: "NUEVO" + "Ya estamos en 88.8 FM" arriba y la línea de Barrancas abajo, a todo el ancho */
  .khr-fm-badge .elementor-heading-title { display: block; font-size: min(1.08rem, 4.6vw); padding: 10px 16px 11px 10px; border-radius: 20px; line-height: 1.35; }
  .khr-fm__tag { display: inline-block; vertical-align: 2px; margin-right: 8px; font-size: 0.66rem; padding: 5px 11px; }
  .khr-fm__sub { margin-top: 4px; padding-left: 2px; }
}/* End custom CSS */