:root {
  --j360-radio-accent: #e63946;
  --j360-radio-bg: #101217;
  --j360-radio-panel: #171a21;
  --j360-radio-text: #f6f7f9;
  --j360-radio-muted: #aeb4c0;
  --j360-radio-line: rgba(255, 255, 255, 0.12);
  --j360-radio-radius: 18px;
  --j360-radio-shadow: 0 18px 50px rgba(0, 0, 0, 0.36);
}

.j360-radio-mounted {
  position: fixed;
  z-index: 999999;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  color: var(--j360-radio-text);
}

.j360-radio-bottom-right { right: 18px; bottom: 18px; }
.j360-radio-bottom-left { left: 18px; bottom: 18px; }
.j360-radio-top-right { right: 18px; top: 18px; }
.j360-radio-top-left { left: 18px; top: 18px; }

.j360-radio-widget {
  position: relative;
}

.j360-radio-toggle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 0;
  border-radius: 999px;
  padding: 12px 16px;
  background: var(--j360-radio-accent);
  color: #fff;
  font-weight: 800;
  line-height: 1;
  box-shadow: var(--j360-radio-shadow);
  cursor: pointer;
}

.j360-radio-toggle-icon {
  font-size: 18px;
}

.j360-radio-panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 12px);
  width: min(380px, calc(100vw - 28px));
  max-height: min(680px, calc(100vh - 96px));
  overflow: hidden;
  display: none;
  flex-direction: column;
  border: 1px solid var(--j360-radio-line);
  border-radius: var(--j360-radio-radius);
  background: linear-gradient(180deg, #1e222c, var(--j360-radio-panel));
  box-shadow: var(--j360-radio-shadow);
}

.j360-radio-top-right .j360-radio-panel,
.j360-radio-top-left .j360-radio-panel {
  top: calc(100% + 12px);
  bottom: auto;
}

.j360-radio-bottom-left .j360-radio-panel,
.j360-radio-top-left .j360-radio-panel {
  left: 0;
  right: auto;
}

.j360-radio-widget[data-open="1"] .j360-radio-panel {
  display: flex;
}

.j360-radio-head,
.j360-radio-now,
.j360-radio-controls,
.j360-radio-filters {
  padding: 14px;
  border-bottom: 1px solid var(--j360-radio-line);
}

.j360-radio-head {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
}

.j360-radio-head strong,
.j360-radio-now strong {
  display: block;
  font-size: 15px;
}

.j360-radio-head small,
.j360-radio-now small,
.j360-radio-item small,
.j360-radio-item em {
  display: block;
  color: var(--j360-radio-muted);
  font-size: 12px;
  font-style: normal;
  margin-top: 2px;
}

.j360-radio-close {
  width: 32px;
  height: 32px;
  border: 1px solid var(--j360-radio-line);
  border-radius: 50%;
  background: rgba(255,255,255,0.06);
  color: var(--j360-radio-text);
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
}

.j360-radio-now {
  display: flex;
  align-items: center;
  gap: 12px;
}

.j360-radio-avatar {
  width: 44px;
  height: 44px;
  border-radius: 14px;
  display: grid;
  place-items: center;
  background: rgba(230,57,70,0.16);
  color: #fff;
  font-size: 12px;
  font-weight: 900;
  border: 1px solid rgba(230,57,70,0.35);
}

.j360-radio-controls {
  display: grid;
  grid-template-columns: 1fr 130px;
  gap: 10px;
  align-items: center;
}

.j360-radio-play {
  border: 0;
  border-radius: 12px;
  padding: 11px 14px;
  background: var(--j360-radio-accent);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.j360-radio-volume {
  width: 100%;
}

.j360-radio-filters {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.j360-radio-search,
.j360-radio-city {
  width: 100%;
  border: 1px solid var(--j360-radio-line);
  border-radius: 12px;
  padding: 10px 11px;
  background: rgba(255,255,255,0.07);
  color: var(--j360-radio-text);
  outline: none;
}

.j360-radio-search::placeholder { color: rgba(246,247,249,0.55); }
.j360-radio-city option { color: #111; }

.j360-radio-list {
  overflow: auto;
  padding: 8px;
  max-height: 330px;
}

.j360-radio-item {
  width: 100%;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  text-align: left;
  border: 1px solid transparent;
  border-radius: 14px;
  padding: 10px;
  background: transparent;
  color: var(--j360-radio-text);
  cursor: pointer;
}

.j360-radio-item:hover,
.j360-radio-item[aria-selected="true"] {
  background: rgba(255,255,255,0.07);
  border-color: var(--j360-radio-line);
}

.j360-radio-item[data-playable="0"] {
  opacity: 0.72;
}

.j360-radio-badge {
  align-self: start;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(255,255,255,0.09);
  color: var(--j360-radio-muted);
  font-size: 11px;
  font-weight: 700;
}

.j360-radio-item[data-playable="1"] .j360-radio-badge {
  color: #fff;
  background: rgba(230,57,70,0.3);
}

/* ── Estrella de FAVORITA (solo registrados). Va en la esquina sup. derecha;
 *    el badge "Escuchar" se corre a la izquierda para no solaparse. */
.j360-radio-item { position: relative; }
.j360-radio-item .j360-radio-badge { margin-right: 30px; }
.j360-radio-fav {
  position: absolute;
  top: 7px;
  right: 7px;
  width: 30px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font-size: 17px;
  line-height: 1;
  color: #cdb061;
  -webkit-text-fill-color: #cdb061;
  background: rgba(0,0,0,0.22);
  cursor: pointer;
  z-index: 4;
  transition: transform .12s ease, background .12s ease, color .12s ease;
}
.j360-radio-fav:hover { transform: scale(1.15); background: rgba(0,0,0,0.36); color: #ffcf3f; -webkit-text-fill-color: #ffcf3f; }
.j360-radio-fav.is-fav { color: #ffcb2e; -webkit-text-fill-color: #ffcb2e; }
.j360-radio-login-hint {
  display: none;
  margin-top: 7px;
  font-weight: 800;
  font-size: 13px;
  color: #ffd166;
  text-decoration: none;
}
.j360-radio-login-hint:hover { text-decoration: underline; }



.j360-radio-external-wrap {
  margin: 10px 14px 12px;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,0.12);
  background: #111827;
}

.j360-radio-external-frame {
  display: block;
  width: 100%;
  height: 152px;
  border: 0;
  background: #111827;
}
.j360-radio-status {
  min-height: 18px;
  padding: 0 14px 14px;
  margin: 0;
  color: var(--j360-radio-muted);
  font-size: 12px;
}

.j360-radio-seo {
  max-width: 1060px;
  margin: 24px auto;
  padding: 0 16px;
}

.j360-radio-seo-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(230px, 1fr));
  gap: 14px;
  margin: 12px 0 24px;
}

.j360-radio-seo-card {
  border: 1px solid rgba(0,0,0,0.12);
  border-radius: 14px;
  padding: 14px;
  background: #fff;
}

.j360-radio-seo-card h3 {
  margin: 0 0 8px;
}

@media (max-width: 520px) {
  .j360-radio-mounted {
    left: 12px;
    right: 12px;
    bottom: 12px;
    top: auto;
  }
  .j360-radio-toggle {
    width: 100%;
    justify-content: center;
  }
  .j360-radio-panel {
    position: fixed;
    left: 10px;
    right: 10px;
    bottom: 70px;
    top: auto;
    width: auto;
    max-height: calc(100vh - 90px);
  }
  .j360-radio-controls {
    grid-template-columns: 1fr;
  }
}

/* v1.10.0: página SEO + reproductor inline + mini widget para banner */
.j360-radio-inline {
  position: relative;
  z-index: 10;
  margin: 18px auto;
  max-width: 1060px;
  color: var(--j360-radio-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.j360-radio-inline .j360-radio-panel {
  position: static;
  display: flex;
  width: 100%;
  max-height: none;
  margin: 0 auto 20px;
}

.j360-radio-inline .j360-radio-toggle,
.j360-radio-inline .j360-radio-close {
  display: none;
}

.j360-radio-variant-page .j360-radio-list,
.j360-radio-variant-inline .j360-radio-list {
  max-height: 460px;
}

.j360-radio-root-mini,
.j360-radio-mini-root {
  width: 100%;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.j360-radio-mini {
  display: grid;
  grid-template-columns: 42px minmax(160px, 280px) 1fr;
  gap: 8px;
  align-items: center;
  width: 100%;
  min-height: 44px;
  padding: 6px 10px;
  border: 1px solid var(--j360-radio-line);
  border-radius: 999px;
  background: #101217;
  color: var(--j360-radio-text);
  box-shadow: 0 6px 20px rgba(0,0,0,.22);
}

.j360-radio-mini-play {
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: var(--j360-radio-accent);
  color: #fff;
  cursor: pointer;
  font-weight: 900;
}

.j360-radio-mini-select {
  width: 100%;
  border: 1px solid var(--j360-radio-line);
  border-radius: 999px;
  padding: 7px 10px;
  background: rgba(255,255,255,.08);
  color: var(--j360-radio-text);
  font-weight: 700;
}

.j360-radio-mini-select option { color: #111; }

.j360-radio-mini-now {
  color: var(--j360-radio-muted);
  font-size: 12px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.j360-radio-mini .j360-radio-status {
  display: none;
}

.j360-radio-mini .j360-radio-external-wrap {
  grid-column: 1 / -1;
  width: 100%;
  margin: 6px 0 0;
  border-radius: 12px;
}

.j360-radio-page-wrap {
  max-width: 1120px;
  margin: 0 auto;
}

.j360-radio-seo-hero {
  padding: 26px 22px;
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(230,57,70,.13), rgba(16,18,23,.05));
  border: 1px solid rgba(230,57,70,.18);
}

.j360-radio-kicker {
  margin: 0 0 8px;
  color: var(--j360-radio-accent);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .04em;
  font-size: 12px;
}

.j360-radio-seo-toc {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 18px 0 24px;
}

.j360-radio-seo-toc a {
  display: inline-flex;
  padding: 9px 12px;
  border-radius: 999px;
  background: #f2f3f5;
  color: #111827;
  font-weight: 800;
  text-decoration: none;
}

.j360-radio-seo-block {
  margin: 28px 0;
}

.j360-radio-directory-table-wrap {
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 16px;
}

.j360-radio-directory-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
  background: #fff;
}

.j360-radio-directory-table th,
.j360-radio-directory-table td {
  padding: 10px 12px;
  border-bottom: 1px solid #e5e7eb;
  vertical-align: top;
}

.j360-radio-directory-table th {
  text-align: left;
  background: #f8fafc;
  color: #111827;
}

.j360-radio-sites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 12px;
}

.j360-radio-site-card {
  border: 1px solid #e5e7eb;
  border-radius: 16px;
  padding: 14px;
  background: #fff;
}

.j360-radio-site-card h3 {
  margin-top: 0;
  font-size: 16px;
}

@media (max-width: 640px) {
  .j360-radio-mini {
    grid-template-columns: 38px 1fr;
    border-radius: 18px;
  }
  .j360-radio-mini-now {
    grid-column: 1 / -1;
    padding-left: 46px;
  }
  .j360-radio-controls {
    grid-template-columns: 1fr;
  }
}

/* v1.17.0: mini widget banner premium + datos municipales para geolocalización */
.j360-radio-mini-root {
  max-width: 100%;
}

.j360-radio-mini {
  min-height: 36px;
  padding: 4px 8px;
  grid-template-columns: 32px minmax(150px, 260px) 32px minmax(110px, 1fr);
  border-radius: 999px;
  background: linear-gradient(90deg, #101217, #171a22);
  border-color: rgba(255,255,255,.14);
  box-shadow: 0 4px 14px rgba(0,0,0,.18);
}

.j360-radio-mini::before {
  content: "Radios de Jujuy";
  display: none;
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.j360-radio-mini-play,
.j360-radio-mini-nearby {
  width: 28px;
  height: 28px;
  min-width: 28px;
  border: 0;
  border-radius: 50%;
  cursor: pointer;
  font-weight: 900;
  line-height: 1;
}

.j360-radio-mini-play {
  background: var(--j360-radio-accent);
  color: #fff;
}

.j360-radio-mini-nearby {
  background: rgba(255,255,255,.10);
  color: #fff;
}

.j360-radio-mini-nearby:disabled,
.j360-radio-nearby:disabled {
  opacity: .55;
  cursor: progress;
}

.j360-radio-mini-select {
  min-height: 28px;
  padding: 4px 9px;
  font-size: 12px;
  background: rgba(255,255,255,.075);
}

.j360-radio-mini-now {
  font-size: 11px;
}

.j360-radio-nearby {
  width: 100%;
  border: 1px solid var(--j360-radio-line);
  border-radius: 12px;
  padding: 9px 11px;
  background: rgba(230,57,70,.22);
  color: #fff;
  font-weight: 800;
  cursor: pointer;
}

.j360-radio-filters {
  grid-template-columns: 1fr 1fr;
}

.j360-radio-filters .j360-radio-nearby {
  grid-column: 1 / -1;
}

.j360-radio-directory-table th:nth-child(4),
.j360-radio-directory-table td:nth-child(4),
.j360-radio-directory-table th:nth-child(5),
.j360-radio-directory-table td:nth-child(5) {
  white-space: nowrap;
}

@media (min-width: 900px) {
  .j360-radio-mini::before {
    display: inline-flex;
    align-items: center;
    padding: 0 6px;
  }
  .j360-radio-mini {
    grid-template-columns: auto 32px minmax(180px, 280px) 32px minmax(130px, 1fr);
  }
}

@media (max-width: 640px) {
  .j360-radio-mini {
    grid-template-columns: 32px 1fr 32px;
    border-radius: 16px;
  }
  .j360-radio-mini-now {
    grid-column: 1 / -1;
    padding-left: 40px;
  }
  .j360-radio-filters {
    grid-template-columns: 1fr;
  }
}

/* v1.18.0: fichas SEO individuales por radio */
.j360-radio-detail-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 14px;
  margin: 16px 0 28px;
}

.j360-radio-detail-card {
  border: 1px solid #e5e7eb;
  border-radius: 18px;
  background: #fff;
  padding: 16px;
  box-shadow: 0 8px 24px rgba(15, 23, 42, .05);
}

.j360-radio-detail-card h3 {
  margin: 0 0 8px;
  font-size: 18px;
  line-height: 1.25;
}

.j360-radio-detail-meta {
  margin: 0 0 10px;
  color: #4b5563;
  font-size: 13px;
}

.j360-radio-detail-list {
  margin: 10px 0 12px;
  padding-left: 18px;
  color: #374151;
}

.j360-radio-detail-actions a {
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border-radius: 999px;
  background: #111827;
  color: #fff;
  text-decoration: none;
  font-weight: 800;
  font-size: 13px;
}

/* Jujuy360 Radios PWA / app shell */
.j360-radio-app-shell{max-width:1120px;margin:0 auto;padding:18px 14px 34px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827}
.j360-radio-app-hero{border-radius:24px;padding:22px;background:linear-gradient(135deg,#111827,#1f2937);color:#fff;box-shadow:0 18px 50px rgba(17,24,39,.22);margin-bottom:16px}
.j360-radio-kicker{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.12em;font-weight:800;color:#fca5a5}
.j360-radio-app-hero h1{margin:0 0 8px;font-size:clamp(26px,5vw,46px);line-height:1.05;color:#fff}
.j360-radio-app-hero p{max-width:780px;margin:0;color:#e5e7eb;font-size:16px;line-height:1.55}
.j360-radio-app-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px;align-items:center}
.j360-radio-install-btn,.j360-radio-app-link{border:0;border-radius:999px;padding:11px 16px;font-weight:800;font-size:14px;text-decoration:none;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;min-height:42px}
.j360-radio-install-btn{background:var(--j360-radio-accent,#e63946);color:#fff;box-shadow:0 12px 28px rgba(230,57,70,.28)}
.j360-radio-app-link{background:#fff;color:#111827}
.j360-radio-root-app{position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;margin:0 0 16px!important;z-index:auto!important}
.j360-radio-app-notes{background:#fff;border:1px solid rgba(17,24,39,.08);border-radius:18px;padding:16px;box-shadow:0 10px 28px rgba(17,24,39,.08)}
.j360-radio-app-notes h2{margin:0 0 8px;font-size:22px;color:#111827}.j360-radio-app-notes p{margin:0;color:#374151;line-height:1.55}
@media (display-mode:standalone){.j360-radio-app-shell{padding-top:calc(18px + env(safe-area-inset-top));padding-bottom:calc(34px + env(safe-area-inset-bottom))}.j360-radio-app-hero{border-radius:0 0 24px 24px;margin-left:-14px;margin-right:-14px;margin-top:-18px}}
@media (max-width:640px){.j360-radio-app-shell{padding-left:10px;padding-right:10px}.j360-radio-app-hero{padding:18px;border-radius:20px}.j360-radio-app-actions{gap:8px}.j360-radio-install-btn,.j360-radio-app-link{width:100%}}


/* v1.22.0 - Frontend PWA/App Store polish */
.j360-radio-app-shell{max-width:1120px;margin:0 auto;padding:18px 14px 42px;color:#111827}
.j360-radio-app-hero{position:relative;overflow:hidden;border-radius:28px;padding:28px;background:linear-gradient(135deg,#111827,#1f2937 56%,#e63946);color:#fff;box-shadow:0 20px 55px rgba(17,24,39,.22)}
.j360-radio-app-hero h1{max-width:860px;margin:.25rem 0 .85rem;font-size:clamp(2rem,5vw,4.25rem);line-height:.95;letter-spacing:-.055em;color:#fff !important;-webkit-text-fill-color:#fff !important}
.j360-radio-app-hero p{max-width:820px;font-size:1.06rem;line-height:1.58;color:rgba(255,255,255,.92) !important;-webkit-text-fill-color:rgba(255,255,255,.92) !important}
/* el theme TagDiv pisa h1..h6{color:#111}; sin !important el título de la app
   queda negro sobre fondo oscuro (gotcha §1.20 del sitio). Ocultar además el
   breadcrumb + H1 duplicado del theme en la página de la app. */
body.radios-de-jujuy-app .td-crumb-container,
body.radios-de-jujuy-app .td-page-header,
body.radios-de-jujuy-app .entry-title.td-page-title,
body.radios-de-jujuy-app .tdb-title-text{display:none !important}
body.radios-de-jujuy-app .td-main-content,
body.radios-de-jujuy-app .td-page-content,
body.radios-de-jujuy-app .td-ss-main-content{padding-top:0 !important}
.j360-radio-app-notes h2{color:#111827}
.j360-radio-app-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}.j360-radio-app-actions .j360-radio-install-btn,.j360-radio-app-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;border-radius:999px;padding:0 18px;border:1px solid rgba(255,255,255,.42);background:#fff;color:#111827;font-weight:800;text-decoration:none;box-shadow:0 12px 28px rgba(0,0,0,.18)}.j360-radio-app-link-soft{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.36)}
.j360-radio-app-keywords{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}.j360-radio-app-keywords span{border:1px solid rgba(255,255,255,.22);background:rgba(255,255,255,.12);color:#fff;border-radius:999px;padding:7px 10px;font-size:.82rem;font-weight:700}
.j360-radio-app-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:14px 0}.j360-radio-app-stats article{border:1px solid rgba(17,24,39,.1);border-radius:18px;padding:15px;background:#fff;box-shadow:0 8px 24px rgba(17,24,39,.06)}.j360-radio-app-stats strong{display:block;font-size:1rem}.j360-radio-app-stats span{display:block;margin-top:5px;color:#4b5563;font-size:.92rem;line-height:1.42}
.j360-radio-root-app .j360-radio-widget{border-radius:24px}.j360-radio-app-notes{border:1px solid rgba(17,24,39,.1);border-radius:22px;padding:18px;margin-top:16px;background:#f9fafb}.j360-radio-app-notes h2{margin-top:0}.j360-radio-app-notes p{line-height:1.62}
@media (max-width:760px){.j360-radio-app-shell{padding:10px 8px 30px}.j360-radio-app-hero{border-radius:22px;padding:22px}.j360-radio-app-stats{grid-template-columns:1fr}.j360-radio-app-actions .j360-radio-install-btn,.j360-radio-app-link{width:100%}.j360-radio-app-keywords span{font-size:.78rem}.j360-radio-mini{min-height:42px;gap:5px}.j360-radio-mini-now{display:none}.j360-radio-mini-select{max-width:100%;font-size:.78rem}}


/* v1.23.0 - radio artwork, app polish and SEO imagery */
.j360-radio-avatar{overflow:hidden;position:relative;background:rgba(230,57,70,0.14)}
.j360-radio-avatar-image{display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.j360-radio-avatar-fallback{position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-weight:900}
.j360-radio-item{grid-template-columns:64px 1fr auto;min-height:74px}
.j360-radio-item-media{display:block;width:64px;height:64px}
.j360-radio-item-image{display:block;width:64px;height:64px;object-fit:cover;border-radius:14px;border:1px solid rgba(255,255,255,.12);background:#111827}
.j360-radio-item-content{min-width:0}
.j360-radio-item-content strong{display:block;font-size:14px;line-height:1.24}
.j360-radio-root-app .j360-radio-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:10px;max-height:none;padding:10px}
.j360-radio-root-app .j360-radio-item{height:100%;align-items:flex-start;background:rgba(255,255,255,.02);border-color:rgba(255,255,255,.08);padding:12px}
.j360-radio-root-app .j360-radio-item:hover,.j360-radio-root-app .j360-radio-item[aria-selected="true"]{background:rgba(255,255,255,.08)}
.j360-radio-root-app .j360-radio-item-media,.j360-radio-root-app .j360-radio-item-image{width:80px;height:80px;border-radius:18px}
.j360-radio-seo-image,.j360-radio-site-image,.j360-radio-detail-image{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;border-radius:14px;border:1px solid #e5e7eb;background:#f3f4f6;margin-bottom:12px}
.j360-radio-detail-image{border-radius:18px}
.j360-radio-seo-card h4{margin:.25rem 0 .5rem}
.j360-radio-app-store-copy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}.j360-radio-app-store-copy article{border:1px solid rgba(17,24,39,.1);border-radius:18px;padding:14px;background:linear-gradient(180deg,#ffffff,#f8fafc);box-shadow:0 8px 24px rgba(17,24,39,.05)}.j360-radio-app-store-copy strong{display:block;font-size:.95rem}.j360-radio-app-store-copy span{display:block;margin-top:4px;color:#4b5563;font-weight:700}
@media (max-width:760px){.j360-radio-item{grid-template-columns:56px 1fr auto;min-height:68px}.j360-radio-item-media,.j360-radio-item-image{width:56px;height:56px;border-radius:12px}.j360-radio-root-app .j360-radio-list{grid-template-columns:1fr}.j360-radio-app-store-copy{grid-template-columns:1fr}.j360-radio-site-image,.j360-radio-detail-image,.j360-radio-seo-image{aspect-ratio:4/3}}


/* v1.25.0 - sección especial Radios de Jujuy para Jujuy360.com */
.j360-radio-special-section{max-width:1180px;margin:0 auto;padding:0 14px 42px;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#111827}
.j360-radio-special-hero{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:18px;margin:16px 0 22px;align-items:stretch}
.j360-radio-special-copy{position:relative;overflow:hidden;border-radius:30px;padding:clamp(22px,4vw,44px);background:radial-gradient(circle at 82% 12%,rgba(230,57,70,.42),transparent 28%),linear-gradient(135deg,#0f172a,#111827 52%,#1f2937);color:#fff;box-shadow:0 24px 70px rgba(15,23,42,.26)}
.j360-radio-special-copy::after{content:"";position:absolute;right:-70px;bottom:-90px;width:270px;height:270px;border-radius:50%;background:rgba(230,57,70,.18);border:1px solid rgba(255,255,255,.14)}
.j360-radio-special-copy h1{max-width:760px;margin:.1rem 0 .75rem;font-size:clamp(2.5rem,7vw,5.8rem);line-height:.88;letter-spacing:-.075em;color:#fff}
.j360-radio-special-lead{max-width:760px;margin:0;color:rgba(255,255,255,.9);font-size:clamp(1rem,2vw,1.22rem);line-height:1.55}
.j360-radio-special-search{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;max-width:780px;margin:24px 0 0;position:relative;z-index:2}
.j360-radio-special-search input{width:100%;min-height:50px;border:1px solid rgba(255,255,255,.24);border-radius:999px;background:rgba(255,255,255,.11);color:#fff;padding:0 18px;font-weight:800;outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.j360-radio-special-search input::placeholder{color:rgba(255,255,255,.72);font-weight:700}
.j360-radio-special-search a,.j360-radio-special-actions a{display:inline-flex;align-items:center;justify-content:center;min-height:50px;border-radius:999px;padding:0 18px;background:#fff;color:#111827;font-weight:900;text-decoration:none;white-space:nowrap}
.j360-radio-special-actions{display:flex;flex-wrap:wrap;gap:9px;margin-top:14px;position:relative;z-index:2}.j360-radio-special-actions a{min-height:38px;background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.24);font-size:.88rem}
.j360-radio-special-live{border-radius:30px;padding:24px;background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid rgba(17,24,39,.08);box-shadow:0 18px 44px rgba(17,24,39,.1);display:flex;flex-direction:column;justify-content:space-between;min-height:320px}
.j360-radio-live-dot{align-self:flex-start;border-radius:999px;background:#e63946;color:#fff;font-size:.78rem;font-weight:900;padding:7px 10px;text-transform:uppercase;letter-spacing:.04em}.j360-radio-special-live strong{display:block;font-size:clamp(2.2rem,4vw,4rem);line-height:.9;letter-spacing:-.06em;margin:14px 0 8px}.j360-radio-special-live p{margin:0;color:#4b5563;line-height:1.5}.j360-radio-special-live small{display:block;color:#6b7280;font-weight:800;margin-top:12px}
.j360-radio-special-eq{height:82px;display:flex;align-items:end;gap:7px;margin:18px 0}.j360-radio-special-eq i{display:block;width:100%;border-radius:999px 999px 8px 8px;background:linear-gradient(180deg,#e63946,#111827)}.j360-radio-special-eq i:nth-child(1){height:28%}.j360-radio-special-eq i:nth-child(2){height:72%}.j360-radio-special-eq i:nth-child(3){height:46%}.j360-radio-special-eq i:nth-child(4){height:92%}.j360-radio-special-eq i:nth-child(5){height:54%}.j360-radio-special-eq i:nth-child(6){height:78%}.j360-radio-special-eq i:nth-child(7){height:36%}
.j360-radio-special-player,.j360-radio-special-municipios,.j360-radio-special-featured{margin:22px 0;padding:20px;border-radius:28px;border:1px solid rgba(17,24,39,.08);background:#fff;box-shadow:0 14px 36px rgba(17,24,39,.07)}
.j360-radio-special-player>header,.j360-radio-special-municipios>header,.j360-radio-special-featured>header{margin:0 0 14px}.j360-radio-special-player h2,.j360-radio-special-municipios h2,.j360-radio-special-featured h2{margin:.1rem 0 .35rem;font-size:clamp(1.7rem,3vw,2.6rem);letter-spacing:-.04em}.j360-radio-special-player p,.j360-radio-special-municipios p,.j360-radio-special-featured p{margin:0;color:#4b5563;line-height:1.55}
.j360-radio-root-large.j360-radio-inline{max-width:none;margin:0}.j360-radio-root-large .j360-radio-panel{border-radius:26px;background:linear-gradient(180deg,#151923,#0f172a);box-shadow:0 22px 64px rgba(15,23,42,.22)}.j360-radio-root-large .j360-radio-head,.j360-radio-root-large .j360-radio-now,.j360-radio-root-large .j360-radio-controls,.j360-radio-root-large .j360-radio-filters{padding:18px}.j360-radio-root-large .j360-radio-now{align-items:center}.j360-radio-root-large .j360-radio-avatar{width:92px;height:92px;border-radius:24px}.j360-radio-root-large .j360-radio-current-name{font-size:1.35rem}.j360-radio-root-large .j360-radio-controls{grid-template-columns:minmax(180px,.7fr) minmax(120px,.3fr)}.j360-radio-root-large .j360-radio-play{min-height:48px;border-radius:16px;font-size:1rem}.j360-radio-root-large .j360-radio-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(285px,1fr));gap:10px;max-height:620px}.j360-radio-root-large .j360-radio-item{height:100%;background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.08)}.j360-radio-root-large .j360-radio-item:hover,.j360-radio-root-large .j360-radio-item[aria-selected="true"]{background:rgba(255,255,255,.08)}
.j360-radio-municipio-pills{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px}.j360-radio-municipio-pill{display:block;border:1px solid #e5e7eb;border-radius:18px;padding:14px;background:linear-gradient(180deg,#fff,#f9fafb);text-decoration:none;color:#111827}.j360-radio-municipio-pill strong{display:block;font-size:1rem}.j360-radio-municipio-pill span{display:block;margin-top:4px;color:#6b7280;font-size:.86rem;font-weight:700}
.j360-radio-featured-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.j360-radio-featured-card{overflow:hidden;border:1px solid #e5e7eb;border-radius:20px;background:#fff;box-shadow:0 10px 28px rgba(17,24,39,.06)}.j360-radio-featured-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:#111827}.j360-radio-featured-card div{padding:13px}.j360-radio-featured-card h3{margin:0 0 6px;font-size:1rem;line-height:1.25}.j360-radio-featured-card p{margin:0 0 10px;color:#4b5563;font-size:.9rem}.j360-radio-featured-card a{display:inline-flex;border-radius:999px;background:#111827;color:#fff;text-decoration:none;font-weight:800;font-size:.82rem;padding:8px 11px}
@media (max-width:820px){.j360-radio-special-hero{grid-template-columns:1fr}.j360-radio-special-live{min-height:230px}.j360-radio-special-search{grid-template-columns:1fr}.j360-radio-root-large .j360-radio-avatar{width:72px;height:72px}.j360-radio-root-large .j360-radio-controls{grid-template-columns:1fr}.j360-radio-special-player,.j360-radio-special-municipios,.j360-radio-special-featured{padding:14px;border-radius:22px}.j360-radio-root-large .j360-radio-list{grid-template-columns:1fr;max-height:540px}}


/* v1.26.0 final - minimalista, sutil, sección especial Jujuy360 */
/* v1.27.0 enterprise hardening applied */
.j360-radio-special-section{max-width:1160px;padding:0 14px 38px;background:transparent}
.j360-radio-special-hero{grid-template-columns:minmax(0,1.45fr) minmax(280px,.72fr);gap:16px;margin:14px 0 20px}
.j360-radio-special-copy{background:linear-gradient(180deg,#ffffff,#fbfbf9);color:#111827;border:1px solid rgba(17,24,39,.08);box-shadow:0 14px 38px rgba(17,24,39,.06);border-radius:26px}
.j360-radio-special-copy::after{right:-110px;bottom:-120px;width:290px;height:290px;background:rgba(210,78,62,.06);border:1px solid rgba(17,24,39,.05)}
.j360-radio-special-copy h1{color:#111827;font-size:clamp(2.15rem,5.6vw,4.8rem);letter-spacing:-.065em;line-height:.92;max-width:720px}
.j360-radio-special-lead{color:#4b5563;max-width:700px;font-size:clamp(1rem,1.55vw,1.13rem)}
.j360-radio-regional-line{display:flex;flex-wrap:wrap;gap:7px;margin:16px 0 0;position:relative;z-index:2}.j360-radio-regional-line span{border:1px solid rgba(17,24,39,.10);background:#f8fafc;color:#374151;border-radius:999px;padding:6px 10px;font-size:.78rem;font-weight:800}
.j360-radio-special-search{max-width:760px;margin-top:20px}.j360-radio-special-search input{background:#fff;color:#111827;border-color:rgba(17,24,39,.12);box-shadow:0 6px 18px rgba(17,24,39,.05);min-height:48px}.j360-radio-special-search input::placeholder{color:#6b7280}.j360-radio-special-search a{background:#111827;color:#fff;box-shadow:0 8px 20px rgba(17,24,39,.12);min-height:48px}.j360-radio-special-actions a{background:#f3f4f6;color:#111827;border:1px solid rgba(17,24,39,.08);min-height:36px}.j360-radio-special-actions a:hover,.j360-radio-special-search a:hover{transform:translateY(-1px)}
.j360-radio-special-live{background:#ffffff;border:1px solid rgba(17,24,39,.08);box-shadow:0 12px 32px rgba(17,24,39,.06);min-height:295px}.j360-radio-live-dot{background:#f3f4f6;color:#111827;border:1px solid rgba(17,24,39,.08);letter-spacing:.03em}.j360-radio-special-live strong{font-size:clamp(2rem,3.7vw,3.4rem);letter-spacing:-.055em}.j360-radio-special-eq{height:64px;gap:6px}.j360-radio-special-eq i{background:linear-gradient(180deg,#d24e3e,#374151);opacity:.82}
.j360-radio-special-player,.j360-radio-special-municipios,.j360-radio-special-featured{border-radius:24px;border:1px solid rgba(17,24,39,.08);box-shadow:0 12px 30px rgba(17,24,39,.05);background:#fff}.j360-radio-special-player h2,.j360-radio-special-municipios h2,.j360-radio-special-featured h2{font-size:clamp(1.55rem,2.7vw,2.3rem)}
.j360-radio-root-large .j360-radio-panel{border-radius:22px;background:linear-gradient(180deg,#151922,#101217);box-shadow:0 18px 42px rgba(17,24,39,.18)}.j360-radio-root-large .j360-radio-list{background:rgba(255,255,255,.015)}.j360-radio-root-large .j360-radio-item{border-radius:16px}.j360-radio-root-large .j360-radio-item-image{border-radius:14px}.j360-radio-root-large .j360-radio-now{padding:18px}.j360-radio-root-large .j360-radio-controls{padding:16px 18px}.j360-radio-root-large .j360-radio-avatar{width:78px;height:78px;border-radius:18px}
.j360-radio-municipio-pill,.j360-radio-featured-card{box-shadow:none;border-color:rgba(17,24,39,.08);background:#fff}.j360-radio-municipio-pill:hover,.j360-radio-featured-card:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(17,24,39,.08)}.j360-radio-featured-card img{border-radius:16px}.j360-radio-featured-card a{background:#111827;color:#fff}.j360-radio-kicker{color:#b84035;letter-spacing:.08em}
.j360-radio-seo-hero{background:#fff;border:1px solid rgba(17,24,39,.08);box-shadow:0 10px 26px rgba(17,24,39,.04)}.j360-radio-seo-toc a{background:#f8fafc;border:1px solid #e5e7eb;color:#111827}.j360-radio-detail-card,.j360-radio-site-card,.j360-radio-seo-card{box-shadow:0 8px 22px rgba(17,24,39,.04);border-color:#e5e7eb}
@media (max-width:820px){.j360-radio-special-copy{border-radius:22px;padding:22px}.j360-radio-special-live{min-height:220px}.j360-radio-special-search{grid-template-columns:1fr}.j360-radio-root-large .j360-radio-avatar{width:64px;height:64px}.j360-radio-regional-line{gap:6px}.j360-radio-special-copy h1{font-size:clamp(2.1rem,12vw,3.7rem)}}

/* v1.27.0 - enterprise hardening: active-first player, focus states, reduced motion */
.j360-radio-results{margin:0;padding:10px 14px 0;color:var(--j360-radio-muted);font-size:12px;font-weight:700}
.j360-radio-empty{margin:0;padding:16px;color:var(--j360-radio-muted);font-size:13px;line-height:1.45}
.j360-radio-toggle:focus-visible,.j360-radio-close:focus-visible,.j360-radio-play:focus-visible,.j360-radio-nearby:focus-visible,.j360-radio-mini-play:focus-visible,.j360-radio-mini-nearby:focus-visible,.j360-radio-item:focus-visible,.j360-radio-search:focus-visible,.j360-radio-city:focus-visible,.j360-radio-mini-select:focus-visible{outline:3px solid rgba(230,57,70,.38);outline-offset:2px}
.j360-radio-item-image[hidden],.j360-radio-avatar-image[hidden]{display:none!important}
.j360-radio-item[data-playable="0"]{display:none}
@media (prefers-reduced-motion: reduce){.j360-radio-widget,.j360-radio-panel,.j360-radio-item,.j360-radio-toggle,.j360-radio-play,.j360-radio-mini-play{transition:none!important;animation:none!important;scroll-behavior:auto!important}}
@media (forced-colors: active){.j360-radio-panel,.j360-radio-mini,.j360-radio-item,.j360-radio-detail-card,.j360-radio-site-card{border:1px solid CanvasText}.j360-radio-play,.j360-radio-toggle,.j360-radio-mini-play{forced-color-adjust:auto}}


/* v1.28.0 - logos reales / caché dinámica */
.j360-radio-avatar{background:#fff;border:1px solid rgba(0,0,0,.06)}
.j360-radio-avatar-image,.j360-radio-item-image,.j360-radio-site-image,.j360-radio-detail-image,.j360-radio-seo-image{object-fit:contain!important;background:#fff;padding:6px}
.j360-radio-item-image{box-shadow:none}
.j360-radio-site-image,.j360-radio-detail-image,.j360-radio-seo-image{background:linear-gradient(180deg,#fff,#f8fafc)}

/* v1.34.0 - logo real en mini widget + grid actualizado */
.j360-radio-mini {
  grid-template-columns: 30px 32px minmax(140px, 250px) 32px minmax(100px, 1fr);
}

.j360-radio-mini-logo-wrap {
  width: 30px;
  height: 30px;
  min-width: 30px;
  border-radius: 50%;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(255,255,255,.18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.j360-radio-mini-logo {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #fff;
  padding: 2px;
  display: block;
}

.j360-radio-mini-logo[hidden],
.j360-radio-mini-logo:not([src]),
.j360-radio-mini-logo[src=""] {
  display: none;
}

@media (max-width: 640px) {
  .j360-radio-mini {
    grid-template-columns: 30px 34px 1fr 30px;
  }
  .j360-radio-mini-now {
    grid-column: 1 / -1;
    padding-left: 40px;
  }
}

/* ════════════════════════════════════════════════════════════════════════
 * v1.39 — Estados del reproductor (feedback humano) + estética de radio 2026
 * Spinner al conectar · ondas en vivo cuando suena · error claro con reintento ·
 * saltar de una radio a otra (prev/next) · municipio como filtro discreto.
 * ════════════════════════════════════════════════════════════════════════ */
.j360-radio-now { position: relative; }
.j360-radio-nowtext { display: flex; flex-direction: column; gap: 2px; min-width: 0; }

/* — Chip de estado (puntito + texto) — */
.j360-radio-statechip { display: inline-flex; align-items: center; gap: 6px; font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; line-height: 1; margin-bottom: 1px; }
.j360-radio-statechip[hidden] { display: none; }
.j360-radio-statedot { width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.j360-radio-statechip[data-state="loading"] { color: #f5b73d; }
.j360-radio-statechip[data-state="playing"] { color: #34d399; }
.j360-radio-statechip[data-state="playing"] .j360-radio-statedot { animation: j360RadDotPulse 1.4s infinite; }
.j360-radio-statechip[data-state="paused"] { color: #94a3b8; }
.j360-radio-statechip[data-state="error"] { color: #f87171; }
.j360-radio-statechip[data-state="external"] { color: #a5b4fc; }
@keyframes j360RadDotPulse { 0%,100% { box-shadow: 0 0 0 0 rgba(52,211,153,.55) } 60% { box-shadow: 0 0 0 6px rgba(52,211,153,0) } }

/* — Avatar: spinner (conectando) + visualizador (en vivo) + error — */
.j360-radio-spinner { position: absolute; inset: -3px; border-radius: inherit; border: 3px solid transparent; border-top-color: #f5b73d; border-right-color: rgba(245,183,61,.35); opacity: 0; pointer-events: none; }
.j360-radio-now[data-state="loading"] .j360-radio-spinner { opacity: 1; animation: j360RadSpin .85s linear infinite; }
@keyframes j360RadSpin { to { transform: rotate(360deg) } }
.j360-radio-nowfx { position: absolute; left: 0; right: 0; bottom: 0; height: 48%; display: flex; align-items: flex-end; justify-content: center; gap: 3px; padding: 0 7px 5px; opacity: 0; transition: opacity .25s ease; background: linear-gradient(180deg, transparent, rgba(0,0,0,.6)); border-radius: 0 0 inherit inherit; pointer-events: none; }
.j360-radio-nowfx i { width: 5px; border-radius: 3px 3px 0 0; background: linear-gradient(180deg, #fff, #34d399); transform-origin: bottom; }
.j360-radio-now[data-state="playing"] .j360-radio-nowfx { opacity: 1; }
.j360-radio-now[data-state="playing"] .j360-radio-nowfx i { animation: j360RadBars 1s ease-in-out infinite; }
.j360-radio-nowfx i:nth-child(1) { height: 40%; animation-delay: -.2s } .j360-radio-nowfx i:nth-child(2) { height: 82%; animation-delay: -.5s } .j360-radio-nowfx i:nth-child(3) { height: 56%; animation-delay: -.1s } .j360-radio-nowfx i:nth-child(4) { height: 92%; animation-delay: -.7s } .j360-radio-nowfx i:nth-child(5) { height: 48%; animation-delay: -.35s }
@keyframes j360RadBars { 0%,100% { transform: scaleY(.28) } 50% { transform: scaleY(1) } }
.j360-radio-now[data-state="error"] .j360-radio-avatar { filter: grayscale(.7); }
.j360-radio-now[data-state="error"] .j360-radio-avatar::after { content: "⚠"; position: absolute; inset: 0; display: grid; place-items: center; font-size: 1.6rem; color: #f87171; background: rgba(15,23,42,.5); border-radius: inherit; }

/* — Botón play con estados — */
.j360-radio-play[data-state="error"] { background: linear-gradient(135deg, #ef4444, #b91c1c) !important; color: #fff !important; }
.j360-radio-pbspin { display: inline-block; width: 13px; height: 13px; margin-right: 7px; vertical-align: -2px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: j360RadSpin .8s linear infinite; }

/* — Controles: prev / play / next / volumen (flex, no grid) — */
.j360-radio-inline .j360-radio-controls,
.j360-radio-root-large .j360-radio-controls { display: flex !important; align-items: center; gap: 9px; flex-wrap: wrap; grid-template-columns: none !important; }
.j360-radio-prev, .j360-radio-next { appearance: none; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.06); color: #fff; width: 46px; min-width: 46px; height: 46px; border-radius: 14px; font-size: 15px; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; transition: background .15s ease, transform .12s ease; flex: 0 0 auto; }
.j360-radio-prev:hover, .j360-radio-next:hover { background: rgba(255,255,255,.14); }
.j360-radio-prev:active, .j360-radio-next:active { transform: scale(.92); }
.j360-radio-inline .j360-radio-play, .j360-radio-root-large .j360-radio-play { flex: 1 1 130px; min-width: 120px; }
.j360-radio-inline .j360-radio-volume, .j360-radio-root-large .j360-radio-volume { flex: 1 1 110px; min-width: 90px; }

/* — Filtros: buscador prominente, municipio como fila secundaria discreta — */
.j360-radio-inline .j360-radio-filters,
.j360-radio-root-large .j360-radio-filters { display: flex !important; flex-direction: column; gap: 8px; grid-template-columns: none !important; }
.j360-radio-filters-sec { display: flex; gap: 8px; align-items: center; }
.j360-radio-filters-sec .j360-radio-city { flex: 1 1 auto; opacity: .9; }
.j360-radio-filters-sec .j360-radio-nearby { width: 44px; min-width: 44px; height: 42px; padding: 0; font-size: 17px; border-radius: 12px; flex: 0 0 auto; }
.j360-radio-nearby.is-loading { opacity: .55; }

/* — Indicador en la lista: la radio que suena/carga — */
.j360-radio-item[data-state="loading"], .j360-radio-item[data-state="playing"] { position: relative; }
.j360-radio-item[data-state="loading"] .j360-radio-badge, .j360-radio-item[data-state="playing"] .j360-radio-badge { visibility: hidden; }
.j360-radio-item[data-state="loading"]::after { content: ""; position: absolute; top: 50%; right: 16px; margin-top: -8px; width: 16px; height: 16px; border: 2px solid rgba(245,183,61,.3); border-top-color: #f5b73d; border-radius: 50%; animation: j360RadSpin .8s linear infinite; }
.j360-radio-item[data-state="playing"]::after { content: ""; position: absolute; top: 50%; right: 19px; margin-top: -5px; width: 10px; height: 10px; border-radius: 50%; background: #34d399; animation: j360RadDotPulse 1.4s infinite; }

/* — Mini-player del header: spinner al conectar — */
.j360-radio-mini-play[data-state="loading"] { position: relative; color: transparent !important; }
.j360-radio-mini-play[data-state="loading"]::after { content: ""; position: absolute; inset: 0; margin: auto; width: 14px; height: 14px; border: 2px solid rgba(255,255,255,.35); border-top-color: #fff; border-radius: 50%; animation: j360RadSpin .8s linear infinite; }

@media (prefers-reduced-motion: reduce) {
  .j360-radio-nowfx i, .j360-radio-statedot, .j360-radio-spinner, .j360-radio-pbspin,
  .j360-radio-item[data-state]::after, .j360-radio-mini-play[data-state="loading"]::after { animation: none !important; }
  .j360-radio-nowfx i { transform: scaleY(.6); }
}

/* ── Valoración 👍/👎 + reporte "No anda" (al lado de cada radio en la lista) ──
 *    Va dentro del contenido del item (fondo oscuro del player de sección), debajo
 *    del nombre/frecuencia. display:flex (bloque) → cae a su propia línea. */
.j360-radio-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 8px; }
.j360-radio-vote, .j360-radio-report {
  display: inline-flex; align-items: center; justify-content: center; gap: 4px;
  height: 28px; border-radius: 999px; line-height: 1; cursor: pointer;
  background: rgba(255,255,255,0.08); color: #e5e7eb; -webkit-text-fill-color: #e5e7eb;
  border: 1px solid rgba(255,255,255,0.16);
  transition: transform .12s ease, background .12s ease, border-color .12s ease;
  -webkit-user-select: none; user-select: none;
}
.j360-radio-vote { width: 32px; padding: 0; font-size: 15px; }
.j360-radio-report { padding: 0 10px; font-size: 12px; font-weight: 800; color: #fca5a5; -webkit-text-fill-color: #fca5a5; border-color: rgba(248,113,113,0.4); background: rgba(239,68,68,0.12); }
.j360-radio-vote:hover, .j360-radio-report:hover { transform: scale(1.08); }
.j360-radio-vote:focus-visible, .j360-radio-report:focus-visible { outline: 2px solid #93c5fd; outline-offset: 2px; }
.j360-radio-vote.up.is-on { background: rgba(34,197,94,0.24); border-color: rgba(34,197,94,0.65); }
.j360-radio-vote.down.is-on { background: rgba(239,68,68,0.22); border-color: rgba(239,68,68,0.6); }
.j360-radio-report.is-done { color: #86efac; -webkit-text-fill-color: #86efac; border-color: rgba(34,197,94,0.5); background: rgba(34,197,94,0.16); cursor: default; }
@media (max-width: 760px) {
  /* targets más grandes en mobile: menos toques accidentales que arrancan el play del item */
  .j360-radio-actions { gap: 7px; margin-top: 10px; }
  .j360-radio-vote { width: 38px; height: 32px; font-size: 15px; }
  .j360-radio-report { height: 32px; padding: 0 12px; font-size: 12px; }
}

/* Reporte "no anda" CONTEXTUAL (v1.34.7): NO es un botón permanente por radio (eso invitaba a
   apretarlo aunque la radio ande). Solo aparece cuando la radio actual falla al sonar (estado error),
   debajo del "↻ Reintentar". Discreto/secundario: gris apagado por defecto, se tiñe de rojo solo al
   pasar el mouse (cuando el usuario realmente quiere reportar), verde al confirmar. */
.j360-radio-report-row { display: flex; justify-content: center; padding: 4px 14px 2px; }
.j360-radio-report-row[hidden] { display: none !important; }
.j360-radio-report-ctx { appearance: none; cursor: pointer; border: 1px solid rgba(255,255,255,0.16); background: rgba(255,255,255,0.05); color: rgba(255,255,255,0.62); -webkit-text-fill-color: rgba(255,255,255,0.62); font: inherit; font-size: 12px; font-weight: 700; padding: 7px 14px; border-radius: 999px; transition: transform .09s ease, background .15s ease, color .15s ease, border-color .15s ease; }
.j360-radio-report-ctx:hover { background: rgba(239,68,68,0.14); border-color: rgba(239,68,68,0.4); color: #fca5a5; -webkit-text-fill-color: #fca5a5; }
.j360-radio-report-ctx:active { transform: translateY(1px) scale(.96); }
.j360-radio-report-ctx:focus-visible { outline: 2px solid rgba(239,68,68,0.45); outline-offset: 2px; }
.j360-radio-report-ctx.is-done, .j360-radio-report-ctx:disabled { color: #86efac; -webkit-text-fill-color: #86efac; border-color: rgba(34,197,94,0.45); background: rgba(34,197,94,0.14); cursor: default; }
.j360-radio-report-ctx.is-done:hover { color: #86efac; -webkit-text-fill-color: #86efac; border-color: rgba(34,197,94,0.45); background: rgba(34,197,94,0.14); }
