/* EXYTOSA: ajuste aislado de cabecera y visualización ligera de la radio.
   No modifica menús, carrusel, tamaños del reproductor ni lógica de audio. */
@media (min-width:760px){
  /* Evita una segunda fila vacía en el encabezado cuando sus controles caben. */
  body:not(.user-panel-mode) > .navbar {flex-wrap:nowrap!important;row-gap:0!important;}
  body:not(.user-panel-mode) > .navbar .nav-links {flex-shrink:1;min-width:0;}
}
/* La barra de categorías debe seguir inmediatamente a la cabecera. */
body:not(.user-panel-mode) #exyTopNav {margin-top:0!important;margin-bottom:0!important;}
/* Ondas discretas: solo animar durante reproducción; sin canvas ni nuevas peticiones. */
#wilyRadioMount .wily-radio-eq {display:flex!important;align-items:flex-end;gap:2px;height:13px;min-width:29px;overflow:hidden;}
#wilyRadioMount .wily-radio-eq i {display:block!important;width:3px;min-width:3px;height:11px!important;transform-origin:center bottom;transform:scaleY(.3);animation:exyLightRadioBars .8s ease-in-out infinite alternate;animation-play-state:paused;will-change:transform;}
#wilyRadioMount .wily-radio.is-playing .wily-radio-eq i {animation-play-state:running;}
#wilyRadioMount .wily-radio-eq i:nth-child(2n){animation-duration:.65s;animation-delay:-.35s;}
#wilyRadioMount .wily-radio-eq i:nth-child(3n){animation-duration:1s;animation-delay:-.5s;}
@keyframes exyLightRadioBars {from{transform:scaleY(.25)}to{transform:scaleY(1)}}
@media (prefers-reduced-motion:reduce){#wilyRadioMount .wily-radio-eq i {animation:none!important;will-change:auto;transform:scaleY(.35)}}

/* EXYTOSA 2026-11-08: elimina fila fantasma de la cabecera en escritorio.
   Versiones previas asignaban un grid con dos filas o permitían flex-wrap.
   Corregir en el elemento de cabecera, no mediante márgenes negativos del menú. */
@media (min-width:1101px) {
  body:not(.user-panel-mode) .navbar {
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    row-gap:0!important;
    min-height:56px!important;
    height:56px!important;
    box-sizing:border-box!important;
    padding-top:4px!important;
    padding-bottom:4px!important;
    grid-template-rows:none!important;
    grid-template-areas:none!important;
  }
  body:not(.user-panel-mode) .navbar .logo,
  body:not(.user-panel-mode) .navbar .nav-actions,
  body:not(.user-panel-mode) .navbar .exy-nav-main,
  body:not(.user-panel-mode) .navbar .exy-nav-tools {flex-shrink:0!important;}
  body:not(.user-panel-mode) .navbar .nav-links {min-width:0!important;flex:0 1 auto!important;}
  body:not(.user-panel-mode) #exyTopNav {margin:0!important;}
}

/* 2026-11-08 - parche estructural: solo escritorio ancho; eliminar fila fantasma. */
@media(min-width:1181px){
  body:not(.user-panel-mode) > .navbar{
    display:flex!important; flex-direction:row!important; flex-wrap:nowrap!important;
    align-items:center!important; justify-content:flex-start!important;
    height:56px!important; min-height:56px!important; max-height:56px!important;
    padding-top:4px!important; padding-bottom:4px!important;
    column-gap:8px!important; row-gap:0!important;
    grid-template-areas:none!important; grid-template-rows:none!important;
  }
  body:not(.user-panel-mode) > .navbar .nav-links{
    display:flex!important; width:auto!important; height:auto!important;
    flex:0 1 auto!important; min-width:0!important; margin:0!important;
    padding:0!important; border-top:0!important; overflow:hidden!important;
    align-items:center!important; justify-content:flex-start!important;
  }
  body:not(.user-panel-mode) > .navbar .logo,
  body:not(.user-panel-mode) > .navbar .exy-side,
  body:not(.user-panel-mode) > .navbar .exy-nav-tools{flex-shrink:0!important}
  body:not(.user-panel-mode) > .navbar .exy-side-right{margin-left:auto!important}
}
/* La lista de idiomas flota sobre categorías: no ocupa una fila del navbar. */
.navbar .lang-switch{position:relative!important;overflow:visible!important}
.navbar .lang-switch .lang-menu{
  position:absolute!important;top:calc(100% + 7px)!important;
  left:0!important;z-index:1500!important;overflow:visible!important;
  background:#101a2b!important;color:#f7faff!important;
  border:1px solid #3c526f!important;box-shadow:0 14px 28px rgba(0,0,0,.3)!important;
}
.navbar .lang-switch .lang-menu button{color:#f7faff!important;text-shadow:none!important}
.navbar .lang-switch .lang-menu button:hover,
.navbar .lang-switch .lang-menu button.active{background:#1665e7!important;color:white!important}
html[data-theme="light"] .navbar .lang-switch .lang-menu{
  background:#fff!important;color:#14263e!important;border:1px solid #b5c4dd!important;
  box-shadow:0 14px 28px rgba(20,40,80,.22)!important;
}
html[data-theme="light"] .navbar .lang-switch .lang-menu button{color:#14263e!important}
html[data-theme="light"] .navbar .lang-switch .lang-menu button:hover,
html[data-theme="light"] .navbar .lang-switch .lang-menu button.active{background:#1764df!important;color:white!important}
/* El menú del idioma ha de sobresalir de la segunda barra sin quedar tapado. */
.navbar:has(.lang-switch.open){z-index:1205!important;overflow:visible!important}
.navbar:has(.lang-switch.open) .exy-side-left{z-index:1206!important}
@media(max-width:759px){.navbar:has(.lang-switch.open){z-index:1205!important}}

/* 2026-11-08: corrección real del hueco de 56px.
   La barra de categorías ya se coloca inmediatamente DESPUÉS de .navbar mediante JS.
   Las reglas heredadas position:sticky + top:var(--exy-nav-h) desplazaban la
   barra en determinadas combinaciones de navegador, viewport y scroll.
   Mantenerla en flujo normal elimina esa reserva sin ocultar contenido. */
body:not(.user-panel-mode) > #exyTopNav.exy-topnav,
body:not(.user-panel-mode) > .navbar + #exyTopNav.exy-topnav{
  position:relative!important;
  top:auto!important;
  inset-block-start:auto!important;
  transform:none!important;
  translate:none!important;
  margin-block-start:0!important;
  margin-block-end:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  clear:none!important;
}
/* El selector de idioma conserva su menú flotante por delante de categorías */
.navbar:has(.lang-switch.open){z-index:2100!important;overflow:visible!important}


/* 2026-11-09 · AJUSTE RESPONSIVE MÓVIL EXYTOSA
   Solo presentación móvil / PWA. No modifica lógica ni estructura funcional. */
@media(max-width:759px){
  /* Cabecera móvil: verde moderno con negro */
  body:not(.user-panel-mode) > .navbar,
  body:not(.user-panel-mode) .navbar{
    background:
      radial-gradient(circle at 16% 18%,rgba(0,230,118,.20),transparent 26%),
      linear-gradient(135deg,#06110a 0%,#081b11 24%,#0b2c1a 52%,#07110c 74%,#030506 100%)!important;
    border-bottom:1px solid rgba(0,230,118,.20)!important;
    box-shadow:0 10px 26px rgba(0,0,0,.34),inset 0 -1px 0 rgba(0,230,118,.08)!important;
    padding-left:10px!important;
    padding-right:10px!important;
    gap:7px!important;
  }

  /* El menú drawer móvil: cabecera verde / cuerpo azulino con negro */
  body:not(.user-panel-mode) .navbar .nav-links{
    background:
      linear-gradient(180deg,#07111f 0%,#09172a 22%,#0b1830 48%,#09111d 72%,#04070d 100%)!important;
    border-right:1px solid rgba(54,162,255,.24)!important;
    box-shadow:14px 0 40px rgba(0,0,0,.56),0 0 24px rgba(26,115,232,.12)!important;
  }
  body:not(.user-panel-mode) .navbar .nav-links .exy-drawer-head{
    background:
      radial-gradient(circle at 14% 20%,rgba(0,230,118,.22),transparent 24%),
      linear-gradient(135deg,#07110a 0%,#0a2416 50%,#05080d 100%)!important;
    color:#57ff9b!important;
    border-bottom:1px solid rgba(0,230,118,.22)!important;
    box-shadow:inset 0 -1px 0 rgba(255,255,255,.03)!important;
  }
  body:not(.user-panel-mode) .navbar .nav-links .exy-drawer-head button{
    border-color:rgba(87,255,155,.20)!important;
    background:rgba(255,255,255,.04)!important;
    color:#78ffb0!important;
  }
  body:not(.user-panel-mode) .navbar .nav-links .exy-nav-item:not(.exy-pill){
    background:linear-gradient(135deg,rgba(255,255,255,.04),rgba(64,137,255,.06))!important;
    border-color:rgba(120,174,255,.11)!important;
    color:#e6eef8!important;
  }
  body:not(.user-panel-mode) .navbar .nav-links .exy-nav-item.exy-pill{
    box-shadow:0 6px 18px rgba(0,0,0,.18)!important;
  }

  /* Logo y acciones superiores más compactos para evitar traslapes */
  body:not(.user-panel-mode) .navbar > *{min-width:0}
  body:not(.user-panel-mode) .navbar .logo{
    max-width:calc(100vw - 214px)!important;
    gap:8px!important;
    min-width:0!important;
  }
  body:not(.user-panel-mode) .navbar .logo .logo-icon,
  body:not(.user-panel-mode) .navbar .logo .logo-icon img{
    width:31px!important;height:31px!important;
  }
  body:not(.user-panel-mode) .navbar .logo .logo-txt{
    display:block!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
    white-space:nowrap!important;
    font-size:15px!important;
    letter-spacing:-.02em!important;
  }
  body:not(.user-panel-mode) .navbar .logo .logo-com{font-size:.98em}

  body:not(.user-panel-mode) .navbar .exy-side-left,
  body:not(.user-panel-mode) .navbar .exy-side-right,
  body:not(.user-panel-mode) .navbar .nav-actions,
  body:not(.user-panel-mode) .navbar .nav-right{
    gap:4px!important;
  }

  body:not(.user-panel-mode) .navbar .exy-menu-btn,
  body:not(.user-panel-mode) .navbar .theme-toggle-btn,
  body:not(.user-panel-mode) .navbar .nav-login-btn,
  body:not(.user-panel-mode) .navbar .live-toggle-btn,
  body:not(.user-panel-mode) .navbar .pwa-install-nav,
  body:not(.user-panel-mode) .navbar .exy-cart-btn,
  body:not(.user-panel-mode) .navbar .nav-status{
    height:34px!important;
    min-height:34px!important;
    border-radius:11px!important;
  }
  body:not(.user-panel-mode) .navbar .theme-toggle-btn,
  body:not(.user-panel-mode) .navbar .nav-login-btn,
  body:not(.user-panel-mode) .navbar .exy-cart-btn,
  body:not(.user-panel-mode) .navbar .nav-status,
  body:not(.user-panel-mode) .navbar .exy-menu-btn{
    width:34px!important;
    min-width:34px!important;
    padding:0!important;
    display:grid!important;
    place-items:center!important;
  }
  body:not(.user-panel-mode) .navbar .pwa-install-nav,
  body:not(.user-panel-mode) .navbar .live-toggle-btn{
    min-width:36px!important;
    padding:0 8px!important;
    font-size:8px!important;
  }
  body:not(.user-panel-mode) .navbar .theme-toggle-btn svg,
  body:not(.user-panel-mode) .navbar .nav-login-btn svg,
  body:not(.user-panel-mode) .navbar .exy-cart-btn svg,
  body:not(.user-panel-mode) .navbar .exy-menu-btn svg,
  body:not(.user-panel-mode) .navbar .pwa-install-nav svg,
  body:not(.user-panel-mode) .navbar .live-toggle-btn svg{
    width:17px!important;height:17px!important;
  }

  /* Comunidad: BOT y Exytosa TV dentro del ancho */
  .join-community{padding-left:12px!important;padding-right:12px!important}
  .join-community-btns{gap:14px!important}
  .join-btn{
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    padding:16px 18px!important;
    font-size:15px!important;
    box-sizing:border-box!important;
  }
  .join-bot-row{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
    gap:12px!important;
    margin:14px 0 0!important;
    align-items:stretch!important;
  }
  .join-bot-row .join-btn{
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    padding:14px 14px!important;
    font-size:14px!important;
    line-height:1.25!important;
  }
  .join-bot-row .join-btn span,
  .join-bot-row .join-btn b,
  .join-bot-row .join-btn strong{
    white-space:normal!important;
    word-break:break-word!important;
  }

  /* Radio ligeramente más compacta en móvil */
  #wilyRadioMount:not(.is-compact):not(.is-floating){
    max-width:390px!important;
    gap:6px!important;
  }
  #wilyRadioMount:not(.is-compact) .wily-radio{
    width:auto!important;
    flex:1 1 0!important;
    padding:10px 10px!important;
    gap:7px!important;
    grid-template-columns:minmax(0,1fr) 46px 30px!important;
  }
  #wilyRadioMount:not(.is-compact) .wily-radio-play{
    width:46px!important;height:46px!important;font-size:18px!important;
  }
  #wilyRadioMount:not(.is-compact) .wily-radio-screen{padding:6px 7px!important}
  #wilyRadioMount:not(.is-compact) .wily-radio-brand{font-size:6px!important;letter-spacing:.04em!important}
  #wilyRadioMount:not(.is-compact) .wily-radio-title,
  #wilyRadioMount:not(.is-compact) .wily-radio-song{font-size:10px!important}
  #wilyRadioMount:not(.is-compact) .wily-radio-state{font-size:7.6px!important}
  #wilyRadioMount:not(.is-compact) .wily-radio-volume{width:30px!important}
  #wilyRadioMount:not(.is-compact) .wily-speaker{width:40px!important;flex-basis:40px!important}
  #wilyRadioMount:not(.is-compact) .wily-speaker-case{height:72px!important;padding:4px 2px!important}
  #wilyRadioMount:not(.is-compact) .wily-speaker-cone{width:28px!important;height:28px!important}
  #wilyRadioMount:not(.is-compact) .wily-speaker-cone i{width:18px!important;height:18px!important}
  #wilyRadioMount:not(.is-compact) .wily-speaker-wire{width:16px!important;top:44px!important}
  #wilyRadioMount .exy-radio-station{width:52px!important;min-width:52px!important;min-height:71px!important}
  #wilyRadioMount .exy-radio-station img{width:38px!important;height:38px!important}
  #wilyRadioMount .exy-radio-station span{font-size:7.4px!important}
}

@media(max-width:430px){
  body:not(.user-panel-mode) .navbar .logo{max-width:calc(100vw - 198px)!important}
  body:not(.user-panel-mode) .navbar .logo .logo-txt{font-size:14px!important}
  body:not(.user-panel-mode) .navbar .logo .logo-com{display:none!important}
  body:not(.user-panel-mode) .navbar .pwa-install-nav,
  body:not(.user-panel-mode) .navbar .live-toggle-btn{min-width:32px!important;padding:0 6px!important}
  body:not(.user-panel-mode) .navbar .pwa-install-nav span,
  body:not(.user-panel-mode) .navbar .live-toggle-btn .live-label{display:none!important}
  .join-bot-row{grid-template-columns:1fr 1fr!important;gap:10px!important}
  .join-bot-row .join-btn{padding:13px 10px!important;font-size:13px!important}
}

@media(max-width:350px){
  .join-bot-row{grid-template-columns:1fr!important}
}
