/* ==========================================================================
   ZARZA Corp - el tema.
   Depende de tokens.css y zarza-brand.css, en ese orden. Aqui NO se define
   ni un color a mano: todo sale de las variables --zz-*.
   Indice:
     01 base y suelo          06 fichas de catalogo
     02 tipografia            07 directorio y filtros
     03 medida y rejilla      08 reproductor
     04 cabecera              09 comentarios y formularios
     05 contenido en ficha    10 pie
                              11 widgets, utilidades y Elementor
   ========================================================================== */

/* ============ 01 · base y suelo ========================================== */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

body{
  margin:0;
  min-height:100vh;
  font-family:var(--zz-mono);
  font-size:15px;
  line-height:1.75;
  background:var(--zz-rojo);
  background-image:linear-gradient(176deg,var(--zz-rojo-alto) 0%,var(--zz-rojo) 45%,#980000 100%);
  background-attachment:fixed;
  color:var(--zz-sobre-rojo);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
/* el grano va en un hijo fijo, nunca en el body */
.zz-grano{z-index:0}
.zz-envoltorio{position:relative;z-index:2;display:flex;flex-direction:column;min-height:100vh}
.zz-principal{flex:1 0 auto;padding:clamp(28px,4vw,56px) 0 clamp(48px,7vw,88px)}

img,svg,video,canvas,audio,iframe,embed,object{display:block;max-width:100%}
img{height:auto}

/* saltar al contenido: primera parada del teclado */
/* Oculto por ARRIBA, no por el canto: -9999px por inline-start en RTL es la
   DERECHA, y el skip-link empujaba 7px de scroll horizontal en arabe. */
.zz-saltar{position:absolute;inset-inline-start:0;top:-120px;z-index:999;
  background:var(--zz-crema);color:var(--zz-rojo);font-family:var(--zz-mono);font-size:12px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:12px 18px;
  border-radius:0 0 var(--zz-radio-chico) 0;text-decoration:none}
.zz-saltar:focus{top:0}

:focus-visible{outline:2px solid var(--zz-sobre-rojo);outline-offset:3px}
.zz-ficha :focus-visible{outline-color:var(--zz-rojo)}

::selection{background:var(--zz-tinta);color:var(--zz-crema)}
.zz-ficha ::selection{background:var(--zz-rojo);color:var(--zz-crema)}

/* solo para lectores de pantalla */
.zz-oculto{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}
.zz-oculto:focus{position:static!important;width:auto;height:auto;clip:auto;clip-path:none}

/* ============ 02 · tipografia =========================================== */
h1,h2,h3,h4,h5,h6{
  font-family:var(--zz-display);font-weight:800;text-transform:lowercase;
  letter-spacing:var(--zz-tracking-titular);line-height:1.06;margin:0 0 .5em;
  text-wrap:balance;
}
h1{font-size:clamp(34px,6vw,72px);letter-spacing:-.05em;line-height:.98}
h2{font-size:clamp(26px,3.4vw,42px)}
h3{font-size:clamp(21px,2.2vw,27px)}
h4{font-size:18px;letter-spacing:-.02em}
h5{font-size:15px}
h6{font-family:var(--zz-mono);font-weight:600;font-size:11px;letter-spacing:var(--zz-tracking-rotulo);
  text-transform:uppercase}

p{margin:0 0 1.15em}
p:last-child{margin-bottom:0}

a{color:inherit;text-decoration-thickness:1px;text-underline-offset:3px}
a:hover{text-decoration-thickness:2px}

/* enlaces sobre el rojo: crema; dentro de una ficha: rojo vivo */
.zz-sobre a{color:var(--zz-sobre-rojo)}
.zz-ficha a{color:var(--zz-rojo-vivo)}

small{font-size:12px}
sup,sub{font-size:.72em;line-height:0}
hr{border:0;border-top:1px solid var(--zz-linea);margin:2em 0}
.zz-sobre hr{border-top-color:var(--zz-borde-sobre-rojo)}

code,kbd,samp{font-family:var(--zz-mono);font-size:.92em}

/* la rotulacion tecnica: dice hechos, no vende nada */
.zz-rotulo{display:inline-block;font-weight:500}
.zz-sobre .zz-rotulo{color:var(--zz-sobre-rojo-3)}

.zz-bajada{font-size:clamp(15px,1.5vw,17px);line-height:1.7;color:var(--zz-sobre-rojo-2);
  max-width:62ch;margin:0}

/* ============ 03 · medida y rejilla ===================================== */
.zz-medida{width:min(100% - 44px,var(--zz-ancho));margin-inline:auto}
@media (max-width:600px){.zz-medida{width:min(100% - 28px,var(--zz-ancho))}}

.zz-rejilla{display:grid;gap:22px}
.zz-rejilla[data-cols="2"]{grid-template-columns:repeat(2,1fr)}
.zz-rejilla[data-cols="3"]{grid-template-columns:repeat(3,1fr)}
.zz-rejilla[data-cols="4"]{grid-template-columns:repeat(4,1fr)}
@media (max-width:960px){
  .zz-rejilla[data-cols="3"],.zz-rejilla[data-cols="4"]{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .zz-rejilla[data-cols]{grid-template-columns:1fr}
}

/* El sistema de laterales: derecha, izquierda o los dos.
   Columnas de GRID en orden del documento (izq, contenido, der): en RTL el
   navegador voltea las columnas solo — nada de left/right en px, que ya
   mordieron una vez en arabe. */
.zz-con-lateral{display:grid;gap:26px;grid-template-columns:minmax(0,1fr) 320px;align-items:start}
.zz-con-lateral-izq{display:grid;gap:26px;grid-template-columns:300px minmax(0,1fr);align-items:start}
.zz-con-laterales{display:grid;gap:24px;grid-template-columns:280px minmax(0,1fr) 320px;align-items:start}
@media (max-width:1240px){
  /* con los dos laterales y poco ancho, la izquierda baja al final */
  .zz-con-laterales{grid-template-columns:minmax(0,1fr) 320px}
  .zz-con-laterales > .zz-lateral-izq{grid-column:1 / -1;order:9;position:static;
    display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));align-items:start}
}
@media (max-width:1000px){
  .zz-con-lateral{grid-template-columns:1fr}
  .zz-con-lateral-izq{grid-template-columns:1fr}
  .zz-con-laterales{grid-template-columns:1fr}
  .zz-con-laterales > .zz-lateral-izq{grid-template-columns:1fr}
}

/* la cabecera de una vista, sobre el rojo */
.zz-encabezado{margin:0 0 clamp(22px,3vw,34px)}
.zz-encabezado .zz-rotulo{margin-bottom:10px}
.zz-encabezado h1{margin-bottom:.35em}

/* ============ 04 · cabecera ============================================= */
.zz-cabecera{position:relative;z-index:20;padding:18px 0;
  border-bottom:1px solid var(--zz-borde-sobre-rojo)}
.zz-cabecera.zz-pegada{position:sticky;top:0;
  background:linear-gradient(180deg,var(--zz-rojo-alto),var(--zz-rojo));
  box-shadow:0 10px 30px -18px rgba(20,0,0,.9)}
.zz-cab-fila{display:flex;align-items:center;gap:24px}

/* el logotipo: 128x46 es donde vive casi siempre. Por debajo de 76px va el simbolo */
.zz-marca{display:inline-flex;align-items:center;gap:12px;flex:none;text-decoration:none;
  line-height:0}
.zz-marca img,.zz-marca svg{width:128px;height:46px;object-fit:contain}
.zz-marca .zz-simbolo{display:none;width:38px;height:38px}
@media (max-width:420px){
  .zz-marca img,.zz-marca svg:not(.zz-simbolo){display:none}
  .zz-marca .zz-simbolo{display:block}
}

/* el menu de zonas */
.zz-menu{margin-inline-start:auto}
.zz-menu ul{display:flex;align-items:center;gap:4px;list-style:none;margin:0;padding:0}
.zz-menu li{position:relative}
.zz-menu a{display:block;font-family:var(--zz-mono);font-size:11px;font-weight:600;
  letter-spacing:.14em;text-transform:uppercase;text-decoration:none;padding:9px 12px;
  border-radius:var(--zz-radio-chico);color:var(--zz-sobre-rojo-2);transition:background .15s,color .15s}
.zz-menu a:hover,.zz-menu a:focus-visible{background:rgba(255,240,230,.12);color:var(--zz-sobre-rojo)}
.zz-menu .current-menu-item > a,.zz-menu .current_page_item > a,
.zz-menu .current-menu-ancestor > a,.zz-menu .current-menu-parent > a{
  background:var(--zz-crema);color:var(--zz-rojo)}

/* submenus */
.zz-menu .sub-menu{position:absolute;inset-inline-start:0;top:calc(100% + 8px);min-width:210px;display:block;
  flex-direction:column;gap:0;background:var(--zz-crema);border-radius:var(--zz-radio-chico);
  padding:6px;box-shadow:var(--zz-sombra-ficha);opacity:0;visibility:hidden;transform:translateY(-4px);
  transition:opacity .15s,transform .15s,visibility .15s;z-index:30}
.zz-menu li:hover > .sub-menu,.zz-menu li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.zz-menu .sub-menu a{color:var(--zz-tinta-2);letter-spacing:.08em}
.zz-menu .sub-menu a:hover{background:var(--zz-crema-2);color:var(--zz-rojo)}

/* 🔴 Los submenus de los ultimos elementos se abren HACIA DENTRO.
   Un submenu de 210 px anclado al borde izquierdo de su padre se sale de la
   pantalla cuando el padre esta a la derecha del todo: medido en de.zarza.com,
   el documento se iba a 1313 px con la ventana en 1280 y aparecia barra
   horizontal en TODO el sitio. Con la navegacion de prueba no se veia porque
   no tenia submenus; salio al poner el menu real, que tiene 39 elementos.
   Se alinean por el otro canto, que es lo que hace cualquier menu de sistema. */
/*   ⚠️ El `>` de primer nivel NO vale: la lista que WordPress imprime lleva la
   clase `menu`, no `zz-menu` --esta va en el <nav> de fuera-- asi que
   `.zz-menu > li` no casa con nada. Se comprobo mirando el DOM: el submenu
   que se salia colgaba de `ul.menu > li` (el 4 de 4). Sin bajar a mirar,
   la regla parecia escrita y no hacia nada. */
.zz-menu li:nth-last-child(-n+2) > .sub-menu{inset-inline-start:auto;inset-inline-end:0}
.zz-menu .sub-menu .current-menu-item > a{background:var(--zz-rojo);color:var(--zz-crema)}

/* acciones de la derecha */
.zz-cab-acciones{display:flex;align-items:center;gap:10px;flex:none}
.zz-icono-btn{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;
  border:1px solid var(--zz-borde-sobre-rojo);border-radius:var(--zz-radio-chico);background:transparent;
  color:var(--zz-sobre-rojo);cursor:pointer;padding:0;transition:background .15s}
.zz-icono-btn:hover{background:rgba(255,240,230,.12)}
.zz-icono-btn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;
  stroke-linecap:round;stroke-linejoin:round}

/* buscador desplegable de la cabecera */
.zz-cab-buscar{display:none;padding-top:14px}
.zz-cab-buscar.zz-abierto{display:block}

/* menu movil */
.zz-hamburguesa{display:none}
.zz-menu-movil{display:none;position:relative;z-index:19;padding:0 0 18px}
.zz-menu-movil.zz-abierto{display:block}
.zz-menu-movil ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.zz-menu-movil a{display:block;font-family:var(--zz-mono);font-size:13px;font-weight:600;
  letter-spacing:.1em;text-transform:uppercase;text-decoration:none;padding:12px 14px;
  border-radius:var(--zz-radio-chico);color:var(--zz-sobre-rojo-2)}
.zz-menu-movil a:hover{background:rgba(255,240,230,.12);color:var(--zz-sobre-rojo)}
.zz-menu-movil .sub-menu{padding-inline-start:16px;margin-top:2px}
.zz-menu-movil .sub-menu a{font-size:12px;opacity:.85}
@media (max-width:900px){
  .zz-menu{display:none}
  .zz-hamburguesa{display:inline-flex}
}

/* ============ 05 · el contenido, siempre dentro de una ficha ============ */
/* La regla del manual: el rojo es el suelo, la crema es la ficha.
   Ningun texto corrido toca el rojo. */
.zz-ficha-contenido{padding:clamp(26px,4vw,48px) clamp(22px,3.4vw,44px)}
.zz-ficha-contenido > *{position:relative;z-index:1}

.zz-texto{max-width:66ch}                 /* la medida del manual */
.zz-texto.zz-ancho{max-width:none}

.zz-texto > *:first-child{margin-top:0}
.zz-texto > *:last-child{margin-bottom:0}
.zz-texto h2{margin:1.5em 0 .5em;font-size:clamp(24px,2.8vw,32px);color:var(--zz-tinta)}
.zz-texto h3{margin:1.4em 0 .45em;color:var(--zz-tinta)}
.zz-texto h4,.zz-texto h5{margin:1.3em 0 .4em;color:var(--zz-tinta)}
.zz-texto h6{margin:1.5em 0 .6em;color:var(--zz-rotulo-txt,#7D6E65)}
.zz-texto p,.zz-texto li{color:var(--zz-tinta-2)}
.zz-texto strong,.zz-texto b{color:var(--zz-tinta);font-weight:600}
.zz-texto ul,.zz-texto ol{margin:0 0 1.15em;padding-inline-start:1.4em}
.zz-texto li{margin-bottom:.4em}
.zz-texto ul{list-style:none;padding-inline-start:0}
.zz-texto ul li{position:relative;padding-inline-start:22px}
.zz-texto ul li::before{content:"";position:absolute;inset-inline-start:4px;top:.72em;width:7px;height:7px;
  background:var(--zz-rojo);border-radius:1px;transform:rotate(45deg)}
.zz-texto ol{counter-reset:zz;list-style:none;padding-inline-start:0}
.zz-texto ol > li{counter-increment:zz;position:relative;padding-inline-start:30px}
.zz-texto ol > li::before{content:counter(zz,decimal-leading-zero);position:absolute;inset-inline-start:0;top:0;
  font-size:11px;font-weight:600;color:var(--zz-rojo);letter-spacing:.06em}

/* la cita: Cormorant cursiva, la unica serif del sistema */
.zz-texto blockquote{margin:1.8em 0;padding:0 0 0 22px;border-inline-start:2px solid var(--zz-rojo);
  font-family:var(--zz-serif);font-style:italic;font-size:clamp(20px,2.2vw,26px);line-height:1.4;
  color:var(--zz-tinta);max-width:34ch}
.zz-texto blockquote p{color:inherit;font-family:inherit}
.zz-texto blockquote cite{display:block;margin-top:12px;font-family:var(--zz-mono);font-style:normal;
  font-size:10.5px;letter-spacing:var(--zz-tracking-rotulo);text-transform:uppercase;color:var(--zz-rotulo-txt,#7D6E65)}

.zz-texto img,.zz-texto figure{border-radius:var(--zz-radio-chico)}
.zz-texto figure{margin:1.8em 0}
.zz-texto figcaption{margin-top:9px;font-size:10.5px;letter-spacing:var(--zz-tracking-rotulo);
  text-transform:uppercase;color:var(--zz-rotulo-txt,#7D6E65)}

.zz-texto pre{background:var(--zz-tinta);color:#E8DCD2;padding:18px 20px;
  border-radius:var(--zz-radio-chico);overflow-x:auto;font-size:12.5px;line-height:1.6}
.zz-texto :not(pre) > code{background:var(--zz-crema-2);border:1px solid var(--zz-linea);
  border-radius:3px;padding:1px 5px;color:var(--zz-rojo)}

.zz-texto table{width:100%;border-collapse:collapse;margin:1.6em 0;font-size:13px}
.zz-texto th,.zz-texto td{padding:9px 12px;border-bottom:1px solid var(--zz-linea);text-align:start}
.zz-texto th{font-size:10.5px;letter-spacing:var(--zz-tracking-rotulo);text-transform:uppercase;
  color:var(--zz-rotulo-txt,#7D6E65);font-weight:500}
.zz-texto td{color:var(--zz-tinta-2)}
.zz-tabla-scroll{overflow-x:auto}

/* imagen destacada de la entrada, dentro de la ficha */
.zz-portada{margin:0 0 clamp(20px,3vw,30px);border-radius:var(--zz-radio-chico);overflow:hidden;
  background:var(--zz-crema-2);aspect-ratio:16/9}
.zz-portada img{width:100%;height:100%;object-fit:cover}

/* pie de la entrada: etiquetas, autor, compartir */
.zz-pie-entrada{margin-top:clamp(24px,3vw,34px);padding-top:18px;border-top:1px solid var(--zz-linea);
  display:flex;flex-wrap:wrap;gap:14px;align-items:center;justify-content:space-between}
.zz-etiquetas{display:flex;flex-wrap:wrap;gap:6px}
.zz-etq{text-decoration:none;transition:border-color .15s,color .15s}
a.zz-etq:hover{border-color:var(--zz-rojo);color:var(--zz-rojo)}

/* ============ 06 · fichas de catalogo =================================== */
/* Una entrada es una ficha, una emisora es una ficha, un disco es una ficha.
   Todas comparten .zz-ficha; lo que cambia es lo que se rotula en el canto. */
.zz-tarjeta{display:flex;flex-direction:column;text-decoration:none;height:100%;
  transition:transform .18s ease,box-shadow .18s ease}
.zz-tarjeta:hover{transform:translateY(-3px);
  box-shadow:0 1px 0 #fff inset,0 26px 52px -24px rgba(30,0,0,.9),0 2px 0 rgba(120,0,0,.22)}
@media (prefers-reduced-motion:reduce){.zz-tarjeta,.zz-tarjeta:hover{transform:none;transition:none}}

.zz-tarjeta .zz-t-img{margin:-26px -24px 16px;border-radius:var(--zz-radio) var(--zz-radio) 0 0;
  overflow:hidden;background:var(--zz-crema-2);aspect-ratio:16/10}
.zz-tarjeta .zz-t-img img{width:100%;height:100%;object-fit:cover}
.zz-tarjeta .zz-t-img + .zz-canto{margin-top:0}

.zz-tarjeta h3,.zz-tarjeta .zz-t-titulo{font-family:var(--zz-display);font-weight:800;
  text-transform:lowercase;letter-spacing:-.03em;line-height:1.08;font-size:21px;
  color:var(--zz-tinta);margin:0 0 8px}
.zz-tarjeta:hover .zz-t-titulo,.zz-tarjeta:hover h3{color:var(--zz-rojo)}
.zz-t-extracto{font-size:13px;line-height:1.65;color:var(--zz-tinta-2);margin:0 0 14px}
.zz-t-pie{margin-top:auto;padding-top:14px;border-top:1px solid var(--zz-linea);
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  font-family:var(--zz-mono);font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--zz-rotulo-txt,#7D6E65)}

/* ficha de emisora: el vinilo a la izquierda, el dato a la derecha */
.zz-emisora{display:flex;gap:16px;align-items:center}
.zz-emisora .zz-vinilo{--d:78px}
.zz-emisora-datos{min-width:0;flex:1}
.zz-emisora-nombre{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  font-family:var(--zz-display);font-weight:800;text-transform:lowercase;letter-spacing:-.03em;
  font-size:19px;line-height:1.12;color:var(--zz-tinta);overflow:hidden;overflow-wrap:break-word}
.zz-emisora-meta{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
  font-size:12px;line-height:1.45;color:var(--zz-tinta-2);overflow:hidden;overflow-wrap:break-word}
.zz-emisora-oyentes{display:block;margin-top:6px;font-size:11px;color:var(--zz-rotulo-txt,#7D6E65)}

/* ficha de disco: la funda con el vinilo asomando */
.zz-funda{position:relative;aspect-ratio:1;background:var(--zz-rojo);border-radius:2px;
  display:grid;place-items:center;overflow:hidden;box-shadow:var(--zz-sombra-disco)}
.zz-funda img{width:100%;height:100%;object-fit:cover}
.zz-funda .zz-vinilo{position:absolute;inset-inline-end:-22%;top:50%;transform:translateY(-50%);
  --d:82%;z-index:-1}
.zz-funda-envoltorio{position:relative;padding-inline-end:14%}

/* linea de cortes (tracklist) */
.zz-cortes{list-style:none;margin:0;padding:0;counter-reset:corte}
.zz-cortes li{counter-increment:corte;display:flex;align-items:baseline;gap:12px;padding:8px 0;
  border-bottom:1px solid var(--zz-linea);font-size:13px;color:var(--zz-tinta-2)}
.zz-cortes li:last-child{border-bottom:0}
.zz-cortes li::before{content:counter(corte,decimal-leading-zero);font-family:var(--zz-mono);
  font-size:10.5px;letter-spacing:.1em;color:var(--zz-rotulo-txt,#7D6E65);flex:none;width:22px}
.zz-cortes .zz-dur{margin-inline-start:auto;font-size:11px;color:var(--zz-rotulo-txt,#7D6E65);font-variant-numeric:tabular-nums}

/* dato grande (cifras) */
.zz-dato{display:block}
.zz-dato-cifra{display:block;font-family:var(--zz-display);font-weight:800;letter-spacing:-.04em;
  font-size:clamp(30px,4vw,46px);line-height:1;font-variant-numeric:tabular-nums}
.zz-dato-pie{display:block;margin-top:7px;font-family:var(--zz-mono);font-size:10px;
  letter-spacing:var(--zz-tracking-rotulo);text-transform:uppercase}
.zz-ficha .zz-dato-cifra{color:var(--zz-rojo)}
.zz-ficha .zz-dato-pie{color:var(--zz-rotulo-txt,#7D6E65)}
.zz-sobre .zz-dato-cifra{color:var(--zz-sobre-rojo)}
.zz-sobre .zz-dato-pie{color:var(--zz-sobre-rojo-3)}

/* linea de tiempo: la casa lleva desde 1998 */
.zz-tiempo{list-style:none;margin:0;padding:0 0 0 26px;border-inline-start:1px solid var(--zz-linea)}
.zz-tiempo li{position:relative;padding:0 0 26px}
.zz-tiempo li:last-child{padding-bottom:0}
.zz-tiempo li::before{content:"";position:absolute;inset-inline-start:-31px;top:6px;width:9px;height:9px;
  background:var(--zz-rojo);border-radius:50%;box-shadow:0 0 0 4px var(--zz-crema)}
.zz-tiempo .zz-ano{display:block;font-family:var(--zz-mono);font-size:11px;font-weight:600;
  letter-spacing:var(--zz-tracking-rotulo);color:var(--zz-rojo);margin-bottom:4px}
.zz-tiempo h4{margin:0 0 5px;color:var(--zz-tinta)}
.zz-tiempo p{font-size:13px;color:var(--zz-tinta-2);margin:0}

/* acordeon (preguntas frecuentes) */
.zz-acordeon details{border-bottom:1px solid var(--zz-linea)}
.zz-acordeon details:last-child{border-bottom:0}
.zz-acordeon summary{cursor:pointer;list-style:none;padding:15px 30px 15px 0;position:relative;
  font-family:var(--zz-display);font-weight:800;text-transform:lowercase;letter-spacing:-.02em;
  font-size:17px;color:var(--zz-tinta)}
.zz-acordeon summary::-webkit-details-marker{display:none}
.zz-acordeon summary::after{content:"";position:absolute;inset-inline-end:6px;top:50%;width:9px;height:9px;
  border-inline-end:2px solid var(--zz-rojo);border-bottom:2px solid var(--zz-rojo);
  transform:translateY(-70%) rotate(45deg);transition:transform .18s}
.zz-acordeon details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.zz-acordeon .zz-respuesta{padding:0 0 16px;font-size:14px;line-height:1.7;color:var(--zz-tinta-2)}

/* paginacion */
.zz-paginacion{margin-top:clamp(28px,4vw,44px);display:flex;flex-wrap:wrap;gap:6px;
  align-items:center;justify-content:center}
.zz-paginacion .page-numbers{display:inline-flex;align-items:center;justify-content:center;
  min-width:38px;height:38px;padding:0 11px;border-radius:var(--zz-radio-chico);
  border:1px solid var(--zz-borde-sobre-rojo);color:var(--zz-sobre-rojo-2);text-decoration:none;
  font-family:var(--zz-mono);font-size:12px;font-variant-numeric:tabular-nums;transition:background .15s}
.zz-paginacion .page-numbers:hover{background:rgba(255,240,230,.12);color:var(--zz-sobre-rojo)}
.zz-paginacion .page-numbers.current{background:var(--zz-crema);color:var(--zz-rojo);
  border-color:var(--zz-crema);font-weight:600}
.zz-paginacion .dots{border-color:transparent}

/* mas de lo mismo: el enlazado interno que convierte una ficha en un camino */
.zz-relacionado{margin-top:clamp(30px,4vw,48px)}
.zz-relacionado > .zz-rotulo{display:block;margin-bottom:14px;color:var(--zz-sobre-rojo-3)}

/* ============ 07 · directorio y filtros ================================= */
.zz-buscador{display:flex;gap:8px;align-items:stretch}
.zz-buscador input[type="search"],.zz-buscador input[type="text"]{
  flex:1;min-width:0;font-family:var(--zz-mono);font-size:14px;padding:12px 15px;
  border:1px solid var(--zz-borde-sobre-rojo);border-radius:var(--zz-radio-chico);
  background:rgba(255,240,230,.08);color:var(--zz-sobre-rojo)}
.zz-buscador input::placeholder{color:var(--zz-sobre-rojo-3)}
.zz-buscador input:focus{outline:none;border-color:var(--zz-sobre-rojo);background:rgba(255,240,230,.14)}
.zz-ficha .zz-buscador input[type="search"],.zz-ficha .zz-buscador input[type="text"]{
  background:var(--zz-crema-2);border-color:var(--zz-linea);color:var(--zz-tinta)}
.zz-ficha .zz-buscador input::placeholder{color:var(--zz-tinta-3)}

.zz-filtros{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.zz-filtros select{font-family:var(--zz-mono);font-size:11px;font-weight:600;letter-spacing:.1em;
  text-transform:uppercase;padding:10px 30px 10px 12px;border:1px solid var(--zz-linea);
  border-radius:var(--zz-radio-chico);background:var(--zz-crema-2);color:var(--zz-tinta-2);
  appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236E5C52' stroke-width='1.6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 11px center;background-size:10px 6px}
.zz-filtros select:focus{outline:none;border-color:var(--zz-rojo)}

/* 🔴 La UNICA regla por direccion de todo el tema, y hace falta.
   La flecha del desplegable es una imagen de fondo, y background-position no
   tiene keywords logicas: en arabe se quedaria pegada al lado equivocado,
   encima del texto. El hueco que la deja libre si es logico
   (padding-inline-end), asi que solo hay que mover la imagen. */
[dir="rtl"] .zz-filtros select{background-position:left 11px center}

/* pastillas de filtro rapido */
.zz-pastillas{display:flex;flex-wrap:wrap;gap:6px}
.zz-pastilla{display:inline-flex;align-items:center;gap:6px;font-family:var(--zz-mono);font-size:10px;
  font-weight:600;letter-spacing:.12em;text-transform:uppercase;padding:6px 11px;border-radius:99px;
  border:1px solid var(--zz-borde-sobre-rojo);color:var(--zz-sobre-rojo-2);text-decoration:none;
  transition:background .15s,color .15s,border-color .15s}
.zz-pastilla:hover{background:rgba(255,240,230,.14);color:var(--zz-sobre-rojo)}
.zz-pastilla.zz-activa{background:var(--zz-crema);border-color:var(--zz-crema);color:var(--zz-rojo)}
.zz-pastilla .zz-n{font-variant-numeric:tabular-nums;opacity:.7}

/* barra de resultados */
.zz-resultados{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;
  margin:0 0 18px;font-family:var(--zz-mono);font-size:11px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--zz-sobre-rojo-3)}
.zz-resultados b{color:var(--zz-sobre-rojo);font-weight:600;font-variant-numeric:tabular-nums}

/* estado de carga del directorio */
.zz-cargando{opacity:.45;pointer-events:none;transition:opacity .15s}

/* nada encontrado */
.zz-vacio{text-align:center;padding:clamp(30px,5vw,54px) 24px}
.zz-vacio .zz-vinilo{margin:0 auto 20px;--d:90px}
.zz-vacio h2{color:var(--zz-tinta)}
.zz-vacio p{color:var(--zz-tinta-2);max-width:44ch;margin-inline:auto}

/* ============ 08 · el reproductor ======================================= */
/* Barra fija abajo. Solo aparece cuando algo suena de verdad. */
.zz-reproductor{position:fixed;inset-inline-start:0;inset-inline-end:0;bottom:0;z-index:900;transform:translateY(100%);
  transition:transform .28s ease;background:linear-gradient(180deg,var(--zz-rojo),var(--zz-rojo-hondo));
  border-top:1px solid var(--zz-borde-sobre-rojo);
  box-shadow:0 -14px 40px -22px rgba(20,0,0,.95);
  padding-bottom:env(safe-area-inset-bottom)}
.zz-reproductor.zz-visible{transform:none}
@media (prefers-reduced-motion:reduce){.zz-reproductor{transition:none}}
body.zz-sonando{padding-bottom:88px}

.zz-rep-fila{display:flex;align-items:center;gap:16px;padding:12px 0}
.zz-rep-disco{--d:52px;flex:none}
.zz-rep-datos{min-width:0;flex:1}
.zz-rep-nombre{display:block;font-family:var(--zz-display);font-weight:800;text-transform:lowercase;
  letter-spacing:-.03em;font-size:17px;line-height:1.15;color:var(--zz-sobre-rojo);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-rep-meta{display:block;font-family:var(--zz-mono);font-size:10px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--zz-sobre-rojo-3);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-rep-vu{width:74px;flex:none}
.zz-rep-vu .zz-vu i{background:var(--zz-sobre-rojo-3)}
.zz-rep-vu .zz-vu i.zz-pico{background:var(--zz-ambar)}
.zz-rep-acciones{display:flex;align-items:center;gap:8px;flex:none}

.zz-rep-play{width:46px;height:46px;border-radius:50%;border:0;cursor:pointer;flex:none;
  background:var(--zz-crema);color:var(--zz-rojo);display:grid;place-items:center;
  transition:transform .15s}
.zz-rep-play:hover{transform:scale(1.06)}
.zz-rep-play svg{width:17px;height:17px;fill:currentColor}
.zz-rep-play .zz-i-pausa{display:none}
.zz-reproductor.zz-activo .zz-rep-play .zz-i-pausa{display:block}
.zz-reproductor.zz-activo .zz-rep-play .zz-i-play{display:none}

.zz-rep-vol{width:88px;accent-color:var(--zz-crema);cursor:pointer}
.zz-rep-cerrar{background:transparent;border:0;color:var(--zz-sobre-rojo-3);cursor:pointer;
  padding:6px;line-height:0}
.zz-rep-cerrar:hover{color:var(--zz-sobre-rojo)}
.zz-rep-cerrar svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}

/* reconectando: el aire se cayo pero no mentimos diciendo que suena */
.zz-reproductor.zz-reconectando .zz-rep-meta{color:var(--zz-ambar)}
.zz-reproductor.zz-reconectando .zz-rep-disco{animation:none;filter:grayscale(1);opacity:.6}

@media (max-width:720px){
  .zz-rep-vu,.zz-rep-vol{display:none}
  .zz-rep-fila{gap:12px}
  .zz-rep-disco{--d:42px}
}

/* boton de escuchar dentro de una ficha */
.zz-escuchar{display:inline-flex;align-items:center;gap:8px}
.zz-escuchar svg{width:13px;height:13px;fill:currentColor}

/* ============ 09 · comentarios y formularios ============================ */
.zz-campo{display:block;margin-bottom:16px}
.zz-campo > label,.zz-etiqueta-campo{display:block;font-family:var(--zz-mono);font-size:10px;
  letter-spacing:var(--zz-tracking-rotulo);text-transform:uppercase;color:var(--zz-rotulo-txt,#7D6E65);
  margin-bottom:7px}
.zz-campo input,.zz-campo textarea,.zz-campo select,
.zz-ficha input[type="text"],.zz-ficha input[type="email"],.zz-ficha input[type="url"],
.zz-ficha input[type="tel"],.zz-ficha input[type="number"],.zz-ficha input[type="password"],
.zz-ficha textarea{
  width:100%;font-family:var(--zz-mono);font-size:14px;line-height:1.6;padding:11px 14px;
  border:1px solid var(--zz-linea);border-radius:var(--zz-radio-chico);background:var(--zz-crema-2);
  color:var(--zz-tinta)}
.zz-campo textarea,.zz-ficha textarea{min-height:150px;resize:vertical}
.zz-campo input:focus,.zz-campo textarea:focus,.zz-ficha input:focus,.zz-ficha textarea:focus{
  outline:none;border-color:var(--zz-rojo);background:var(--zz-crema)}
.zz-campo ::placeholder{color:var(--zz-tinta-3)}
.zz-ayuda{display:block;margin-top:6px;font-size:11px;color:var(--zz-rotulo-txt,#7D6E65)}

.zz-comentarios{margin-top:22px}
.zz-comentarios .zz-rotulo{color:var(--zz-rotulo-txt,#7D6E65)}
.zz-lista-comentarios,.zz-lista-comentarios .children{list-style:none;margin:0;padding:0}
.zz-lista-comentarios .children{margin-inline-start:clamp(14px,3vw,34px);padding-inline-start:16px;
  border-inline-start:1px solid var(--zz-linea)}
.zz-comentario{padding:16px 0;border-bottom:1px solid var(--zz-linea)}
.zz-com-cab{display:flex;align-items:center;gap:11px;margin-bottom:9px}
.zz-com-cab img{border-radius:50%;flex:none}
.zz-com-autor{font-family:var(--zz-display);font-weight:800;text-transform:lowercase;
  letter-spacing:-.02em;font-size:15px;color:var(--zz-tinta)}
.zz-com-fecha{font-family:var(--zz-mono);font-size:10px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--zz-rotulo-txt,#7D6E65);margin-inline-start:auto}
.zz-comentario p{font-size:14px;color:var(--zz-tinta-2)}
.zz-com-responder a{font-family:var(--zz-mono);font-size:10px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--zz-rojo);text-decoration:none}
.zz-com-espera{font-size:11px;color:var(--zz-ambar-txt);font-style:italic}
.comment-form-cookies-consent{display:flex;align-items:flex-start;gap:8px;font-size:12px;
  color:var(--zz-tinta-2)}
.comment-form-cookies-consent input{width:auto;margin-top:3px}

/* ============ 10 · el pie ============================================== */
.zz-pie{position:relative;z-index:2;flex:none;
  border-top:1px solid var(--zz-borde-sobre-rojo);
  background:linear-gradient(180deg,rgba(138,0,0,.35),rgba(138,0,0,.75));
  padding:clamp(40px,5vw,62px) 0 34px;margin-top:auto}

.zz-pie-alto{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:40px}
@media (max-width:860px){.zz-pie-alto{grid-template-columns:1fr 1fr;row-gap:32px}}
@media (max-width:520px){.zz-pie-alto{grid-template-columns:1fr}}

.zz-pie-marca .zz-marca{margin-bottom:15px}
.zz-pie-marca p{font-size:13px;line-height:1.65;max-width:38ch;color:var(--zz-sobre-rojo-3);margin:0}
.zz-pie-col h4{font-family:var(--zz-mono);font-weight:500;font-size:10.5px;
  letter-spacing:var(--zz-tracking-rotulo);text-transform:uppercase;color:var(--zz-sobre-rojo-3);
  margin:0 0 14px}
.zz-pie-col ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;
  font-size:13px}
.zz-pie-col a{color:var(--zz-sobre-rojo-2);text-decoration:none;transition:color .15s}
.zz-pie-col a:hover{color:var(--zz-sobre-rojo);text-decoration:underline;text-underline-offset:3px}

.zz-tarjeta-humana{display:flex;align-items:center;gap:18px;flex-wrap:wrap;
  margin:38px 0 6px;padding:18px 24px;border:1px solid var(--zz-borde-sobre-rojo);
  border-radius:var(--zz-radio-chico);background:rgba(255,240,230,.05);text-decoration:none;
  transition:background .15s,transform .15s}
.zz-tarjeta-humana:hover{background:rgba(255,240,230,.1);transform:translateY(-1px)}
.zz-th-ico{font-size:29px;line-height:1;flex:none}
.zz-th-cuerpo{display:flex;flex-direction:column;gap:3px;flex:1;min-width:200px}
.zz-th-titulo{color:var(--zz-sobre-rojo);font-weight:600;font-size:16px}
.zz-th-sub{color:var(--zz-sobre-rojo-3);font-size:13px}
.zz-th-correo{font-family:var(--zz-mono);font-weight:600;font-size:15px;color:var(--zz-crema);
  white-space:nowrap}
@media (max-width:560px){.zz-th-correo{white-space:normal;word-break:break-all}}

.zz-idiomas{margin:26px 0 0;text-align:center;font-family:var(--zz-mono);font-size:11px;
  letter-spacing:.1em;color:var(--zz-sobre-rojo-3)}
.zz-idiomas a{color:var(--zz-sobre-rojo-3);text-decoration:none;padding:0 3px}
.zz-idiomas a:hover,.zz-idiomas .zz-idioma-actual{color:var(--zz-crema)}
.zz-idiomas .zz-sep{opacity:.45;padding:0 4px}

.zz-firma{text-align:center;border-top:1px solid var(--zz-borde-sobre-rojo);
  padding-top:28px;margin-top:24px}
.zz-firma-tag{display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;
  font-family:var(--zz-mono);text-transform:uppercase;letter-spacing:.08em;font-weight:600;
  font-size:11.5px;color:var(--zz-sobre-rojo-3)}
.zz-firma-tag .zz-rayo{width:15px;height:15px;flex:none;fill:var(--zz-crema)}

/* el credito de Silicon Valley: dos estados en la misma celda, crossfade al pasar por encima.
   El tachado va en ambar y no en rojo: sobre el rojo de la casa un tachado rojo no se veria. */
.zz-creditos-fila{display:block;margin-top:16px;line-height:1}
.zz-creditos{position:relative;display:inline-grid;place-items:center;font-family:var(--zz-mono);
  font-size:11.5px;letter-spacing:.04em;color:var(--zz-sobre-rojo-3);cursor:default}
.zz-cred-estado{grid-area:1/1;display:inline-flex;align-items:center;justify-content:center;gap:.4em;
  white-space:nowrap;transition:opacity .28s ease}
.zz-cred-b{opacity:0}
.zz-creditos:hover .zz-cred-a,.zz-creditos:focus-within .zz-cred-a{opacity:0}
.zz-creditos:hover .zz-cred-b,.zz-creditos:focus-within .zz-cred-b{opacity:1}
.zz-cred-sv{unicode-bidi:isolate;color:var(--zz-sobre-rojo-3);text-decoration:line-through;
  text-decoration-color:var(--zz-ambar);text-decoration-thickness:2px}
.zz-cred-cr{unicode-bidi:isolate;color:var(--zz-crema);font-weight:600}
.zz-cred-emo{font-size:1.05em;line-height:1}
.zz-cred-taza{position:relative;display:inline-block}
.zz-cred-taza::before,.zz-cred-taza::after{content:"";position:absolute;bottom:100%;width:2px;height:6px;
  border-radius:2px;background:rgba(255,246,238,.65);opacity:0}
.zz-cred-taza::before{inset-inline-start:32%}
.zz-cred-taza::after{inset-inline-start:62%}
@keyframes zz-vapor{0%{opacity:0;transform:translateY(3px) scaleY(.6)}
  35%{opacity:.85}
  100%{opacity:0;transform:translateY(-7px) scaleY(1.3)}}
.zz-creditos:hover .zz-cred-taza::before,.zz-creditos:focus-within .zz-cred-taza::before{
  animation:zz-vapor 1.6s ease-out infinite}
.zz-creditos:hover .zz-cred-taza::after,.zz-creditos:focus-within .zz-cred-taza::after{
  animation:zz-vapor 1.6s ease-out .55s infinite}
/* Centrado FISICO (left + translateX): mezclar inset-inline-start logico con
   un translateX fisico descuadra en RTL y el tooltip empujaba 7px de scroll. */
.zz-cred-tip{position:absolute;bottom:calc(100% + 9px);left:50%;transform:translateX(-50%) translateY(3px);
  z-index:3;pointer-events:none;opacity:0;transition:opacity .2s ease,transform .2s ease;
  background:var(--zz-crema);color:var(--zz-tinta);border:1px solid var(--zz-linea);padding:5px 10px;
  border-radius:var(--zz-radio-chico);font-size:10px;font-weight:600;letter-spacing:.03em;
  line-height:1.35;max-width:min(78vw,300px);text-align:center;
  box-shadow:0 10px 26px -12px rgba(20,0,0,.8)}
.zz-creditos:hover .zz-cred-tip,.zz-creditos:focus-within .zz-cred-tip{opacity:1;
  transform:translateX(-50%) translateY(0)}

/* la raiz y la hoja: ZARZA e iNTELIGENCIA VIVA son la misma planta */
.zz-iv{margin:22px auto 0;font-family:var(--zz-mono);font-size:11.5px;letter-spacing:.06em;
  color:var(--zz-sobre-rojo-2)}
.zz-iv b{color:var(--zz-crema);font-weight:600}
.zz-iv-hoja{margin-inline-end:4px}
/* .zz-sobre a (0,1,1) es el enemigo estructural: reafirmar color y subrayado */
.zz-firma .zz-iv a{color:var(--zz-crema);text-decoration:underline;
  text-underline-offset:3px;text-decoration-color:var(--zz-sobre-rojo-3)}
.zz-firma .zz-iv a:hover{text-decoration-color:var(--zz-crema)}

/* la cita del Exodo: el origen del nombre */
.zz-cita-pie{margin:20px auto 0;max-width:34ch;font-family:var(--zz-serif);font-style:italic;
  font-size:clamp(17px,2vw,21px);line-height:1.4;color:var(--zz-sobre-rojo-2)}
.zz-cita-pie cite{display:block;margin-top:9px;font-family:var(--zz-mono);font-style:normal;
  font-size:9.5px;letter-spacing:var(--zz-tracking-rotulo);text-transform:uppercase;
  color:var(--zz-sobre-rojo-3)}

.zz-copia{display:block;margin-top:18px;font-family:var(--zz-mono);font-size:10px;
  letter-spacing:.1em;text-transform:uppercase;color:var(--zz-sobre-rojo-3)}
.zz-copia a{color:inherit;text-decoration:none}
.zz-copia a:hover{color:var(--zz-crema)}

@media (max-width:360px){
  .zz-creditos{width:100%;max-width:100%}
  .zz-cred-estado{white-space:normal;flex-wrap:wrap;line-height:1.5}
}

/* la pila de emoji, para que el corazon y la taza salgan a color en todos los sistemas */
.zz-cred-emo{font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",monospace}

/* ============ 11 · widgets, utilidades y Elementor ====================== */
.zz-lateral{display:flex;flex-direction:column;gap:18px;position:sticky;top:88px}
@media (max-width:1000px){.zz-lateral{position:static}}
.zz-widget h2,.zz-widget .widget-title{font-family:var(--zz-mono);font-weight:500;font-size:10.5px;
  letter-spacing:var(--zz-tracking-rotulo);text-transform:uppercase;color:var(--zz-rotulo-txt,#7D6E65);
  margin:0 0 14px;padding-bottom:9px;border-bottom:1px solid var(--zz-linea)}
.zz-widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:9px;
  font-size:13px}
.zz-widget li{color:var(--zz-tinta-2)}
.zz-widget a{color:var(--zz-tinta-2);text-decoration:none}
.zz-widget a:hover{color:var(--zz-rojo)}
.zz-widget .children,.zz-widget .sub-menu{padding-inline-start:14px;margin-top:9px}
.zz-widget .post-date,.zz-widget .rss-date{display:block;font-family:var(--zz-mono);font-size:10px;
  letter-spacing:.12em;text-transform:uppercase;color:var(--zz-rotulo-txt,#7D6E65)}
.zz-widget select{width:100%}
.zz-widget-nube{display:flex;flex-wrap:wrap;gap:6px}
.zz-widget-nube a{font-family:var(--zz-mono);font-size:10px!important;letter-spacing:.1em;
  text-transform:uppercase;padding:4px 9px;border:1px solid var(--zz-linea);border-radius:3px}
.zz-widget-nube a:hover{border-color:var(--zz-rojo)}

/* zonas de widgets sobre el rojo (bajo la cabecera y antes del pie) */
/* 🔴 Estas reglas suponian que el widget iba DESNUDO sobre el rojo, pero el
   wrapper de la zona le pone tarjeta crema (.zz-ficha): el titulo del carrusel
   salia crema sobre crema, 1,03:1. Dentro de la tarjeta manda la tinta. */
.zz-zona-sobre .zz-widget h2{color:var(--zz-rotulo-txt,#7D6E65);border-bottom-color:var(--zz-linea)}
.zz-zona-sobre .zz-widget a,.zz-zona-sobre .zz-widget li{color:var(--zz-tinta)}
.zz-zona-sobre .zz-widget a:hover{color:var(--zz-rojo)}

/* utilidades cortas, todas con prefijo */
.zz-centro{text-align:center}
.zz-flex{display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.zz-entre{display:flex;gap:14px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.zz-mt0{margin-top:0}.zz-mt1{margin-top:10px}.zz-mt2{margin-top:20px}.zz-mt3{margin-top:32px}
.zz-mb0{margin-bottom:0}.zz-mb1{margin-bottom:10px}.zz-mb2{margin-bottom:20px}.zz-mb3{margin-bottom:32px}
.zz-seccion{padding:clamp(38px,6vw,80px) 0}
.zz-seccion-crema{background:var(--zz-crema);color:var(--zz-tinta)}
.zz-seccion-crema h1,.zz-seccion-crema h2,.zz-seccion-crema h3{color:var(--zz-tinta)}

/* Elementor: que la maqueta ocupe todo el ancho y que el editor vea la misma piel */
.elementor-section.elementor-section-boxed > .elementor-container,
.e-con{max-width:var(--zz-ancho)}
.elementor-widget-container > *:first-child{margin-top:0}
body.elementor-page .zz-principal{padding-top:0;padding-bottom:0}
body.elementor-editor-active .zz-grano{display:none}
/* dentro de un contenedor claro de Elementor, el texto vuelve a ser tinta */
.zz-sobre-crema{color:var(--zz-tinta)}
.zz-sobre-crema a{color:var(--zz-rojo-vivo)}

/* impresion: el rojo se va, queda el documento */
@media print{
  body{background:#fff!important;color:#000}
  .zz-grano,.zz-reproductor,.zz-cabecera,.zz-pie,.zz-lateral,.zz-paginacion{display:none!important}
  .zz-ficha{box-shadow:none;border:1px solid #ccc}
  .zz-ficha::before{display:none}
}

/* El logotipo con bajada necesita mas ancho: a 128 px la linea
   RADIOS · PODCASTS · AL AIRE queda por debajo de lo legible. */
.zz-pie-marca .zz-marca img,.zz-pie-marca .zz-marca svg:not(.zz-simbolo){width:176px;height:75px}
.zz-cabecera.zz-con-sombra{box-shadow:0 14px 34px -20px rgba(20,0,0,.95)}

/* Las migas son una linea propia: sin display:block el rotulo que va debajo se
   les pega detras y las dos cosas se leen como una sola frase. */
.zz-migas{display:block;margin:0 0 14px;color:var(--zz-sobre-rojo-3);line-height:1.6}
.zz-migas a{color:var(--zz-sobre-rojo-3);text-decoration:none}
.zz-migas a:hover{color:var(--zz-sobre-rojo);text-decoration:underline;text-underline-offset:3px}
.zz-migas span[aria-current],.zz-migas .breadcrumb_last{color:var(--zz-sobre-rojo-2)}
.zz-ficha .zz-migas{color:var(--zz-rotulo-txt,#7D6E65)}
.zz-ficha .zz-migas a{color:var(--zz-rotulo-txt,#7D6E65)}
.zz-ficha .zz-migas a:hover{color:var(--zz-rojo)}
/* El rotulo de categoria que va sobre el titular tambien es su propia linea. */
.zz-encabezado > .zz-rotulo{display:block;margin-bottom:10px}

/* 🔴 Los hijos de una rejilla (y de un flex) tienen min-width:auto de serie, o
   sea que NO bajan del ancho de su propio contenido. Con una ficha que lleva
   dentro un nombre largo, la columna se ensancha y la pagina entera se desplaza
   en horizontal. Es la causa numero uno de un movil roto y no da ningun error. */
.zz-rejilla > *{min-width:0}
.zz-canto > span:first-child{flex:none}
.zz-canto > span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-emisora > *{min-width:0}


/* La ficha de emisora se reordena cuando la columna es estrecha: con el boton
   al lado, el nombre se queda sin sitio y hay que cortarlo, que es justo lo que
   una ficha no puede hacer. */
.zzc-emisora-ficha .zz-emisora{flex-wrap:wrap;row-gap:14px}
.zzc-emisora-ficha .zz-emisora-datos{flex:1 1 150px}
@container (max-width:400px){
  .zzc-emisora-ficha .zz-escuchar{flex:1 1 100%;justify-content:center}
}
.zz-rejilla[data-cols="3"] .zzc-emisora-ficha .zz-escuchar,
.zz-rejilla[data-cols="4"] .zzc-emisora-ficha .zz-escuchar{flex:1 1 100%;justify-content:center}

/* El vumetro es un instrumento, no una banda decorativa: en un contenedor ancho
   sus barras se estiran y acaba pareciendo un codigo de barras. */
.zz-vu{max-width:280px;gap:3px}
.zz-vu i{max-width:9px}

/* ============ 12 · capa de accesibilidad ================================
   🔴 Dos colores del manual NO llegan a AA cuando son texto pequeno, y la
   tabla de contraste del manual no recoge esas dos combinaciones:

     tinta-3   #9C8A7E sobre crema #FAF6EF  ->  3,07 : 1   (hace falta 4,5)
     sobre-rojo-3  crema al 78% sobre rojo  ->  4,26 : 1   (hace falta 4,5)

   Los ficheros de marca NO se tocan: tokens.css es la entrega y editarlo seria
   bifurcar la marca en silencio. Se anaden aqui DOS tokens nuevos, solo para
   texto, medidos hasta pasar el umbral. Los originales siguen valiendo para lo
   que son —bordes, tornillos, adornos—, que es donde el contraste no aplica.
   ======================================================================== */
/* Los dos tokens ya viven en tokens.css desde el manual 1.1 (20-ago-2026).
   Aqui NO se redeclaran: una variable que se referencia a si misma forma un
   ciclo y CSS la deja sin valor. Si el sitio corriera con un tokens.css
   anterior, cada uso lleva su propia reserva. */

/* --- rotulos y datos menores, cuando son TEXTO --- */
.zz-canto,
.zz-emisora-oyentes,
.zz-t-pie,
.zz-widget .post-date,
.zz-widget .rss-date,
.zz-texto figcaption,
.zz-com-fecha,
.zz-cortes .zz-dur,
.zz-texto th,
.zz-widget h2,
.zz-widget .widget-title,
.zzc-calendario i{color:var(--zz-rotulo-txt,#7D6E65)}

.zz-etq{color:var(--zz-rotulo-txt,#7D6E65)}
.zz-tiempo p{color:var(--zz-tinta-2)}

/* --- sobre el rojo --- */
.zz-sobre .zz-rotulo,
.zz-migas,
.zz-migas a,
.zz-resultados,
.zz-pie-marca p,
.zz-pie-col h4,
.zz-idiomas,
.zz-idiomas a,
.zz-firma-tag,
.zz-creditos,
.zz-cred-sv,
.zz-copia,
.zz-th-sub,
.zz-cita-pie cite,
.zz-paginacion .page-numbers{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}

/* 🔴 Dentro de una ficha clara, un rotulo NO puede seguir siendo crema.
   `.zz-sobre .zz-rotulo` y `.zz-ficha .zz-rotulo` tienen la misma
   especificidad, asi que gana el que va despues: este. Sin esta regla, el
   rotulo del 404 salia en crema sobre crema — 1,03:1, invisible. */
.zz-ficha .zz-rotulo,
.zz-ficha .zz-migas,
.zz-ficha .zz-migas a{color:var(--zz-rotulo-txt,#7D6E65)}

/* 🔴 `.zz-ficha a` (0,1,1) gana a `.zz-btn-rojo` (0,1,0), asi que dentro de una
   ficha TODOS los botones se pintaban de rojo-vivo: texto rojo sobre boton
   rojo, 1,41:1. Se excluyen los que llevan su propio color. */
/* 🔴 Y LAS EXCLUSIONES VAN DENTRO DE :where(). Escritas como cuatro `:not()`
   sueltos sumaban cuatro clases: la regla quedaba en 0,5,1 y se convertia en
   una bomba de especificidad --cualquier componente que quisiera un enlace no
   rojo dentro de una ficha tenia que escribir algo mas raro todavia--. Paso de
   verdad con los titulos del bloque de ultimos episodios: salian rojos y una
   regla de dos clases no podia con ellos.
   `:where()` no aporta especificidad: la exclusion sigue funcionando igual y la
   regla vuelve a valer 0,1,1, que es lo que siempre debio valer. Los botones
   siguen a salvo por sus propias reglas de 0,2,1, mas especificas que esta. */
.zz-ficha a:not(:where(.zz-btn,.zz-etq,.zz-emisora-nombre,.zz-t-titulo)){color:var(--zz-rojo-vivo)}
.zz-ficha a.zz-btn-claro{color:var(--zz-rojo)}
.zz-ficha a.zz-btn-rojo,
.zz-ficha a.zz-btn-tinta{color:var(--zz-crema)}
.zz-ficha a.zz-btn-hueco,
.zz-ficha button.zz-btn-hueco{color:var(--zz-tinta-2);border-color:var(--zz-linea-2)}

/* La ficha de un disco se apila cuando no cabe: con la funda a 250 px fija y
   el tracklist al lado, a 390 px la pagina se desplazaba 57 px en horizontal. */
@media (max-width:640px){
  .zz-ficha-contenido .zz-flex{flex-wrap:wrap}
  .zzc-funda-envoltorio[style]{width:100%!important}
}

/* ---- la ficha clara CORTA la herencia del rojo --------------------------
   🔴 La causa raiz de casi todos los fallos de contraste de esta tanda:
   `.zz-sobre a` tiene especificidad (0,1,1) y `.zz-ficha` solo (0,1,0). Como
   una tarjeta de catalogo ES un enlace y vive dentro de `main.zz-sobre`, toda
   la tarjeta heredaba el color crema del fondo rojo... sobre fondo crema. Y
   `.zz-ficha b{color:inherit}` propagaba ese crema hacia dentro: el numero del
   dia de la agenda salia crema sobre crema, 1,13:1, invisible.

   No da ningun error y solo se ve mirando. Aqui se re-declara, con la
   especificidad suficiente, que dentro de una ficha manda la tinta. */
.zz-sobre a.zz-ficha,
.zz-sobre .zz-ficha{color:var(--zz-tinta)}
.zz-sobre a.zz-ficha .zz-t-titulo,
.zz-sobre .zz-ficha .zz-t-titulo{color:var(--zz-tinta)}
.zz-sobre a.zz-ficha:hover .zz-t-titulo{color:var(--zz-rojo)}
.zz-sobre .zz-ficha .zz-t-extracto{color:var(--zz-tinta-2)}
.zz-sobre .zz-ficha .zz-dato-cifra{color:var(--zz-rojo)}
.zz-sobre .zz-ficha .zz-dato-pie{color:var(--zz-rotulo-txt,#7D6E65)}
.zz-sobre .zz-ficha .zz-cita{color:var(--zz-tinta)}
.zz-sobre .zz-ficha .zz-titular{color:var(--zz-tinta)}
.zz-sobre .zz-ficha .zz-aire{color:#fff}
.zz-sobre .zz-ficha .zz-frio{color:var(--zz-rotulo-txt,#7D6E65)}
.zz-sobre .zz-ficha .zz-tibio{color:var(--zz-ambar-txt)}
.zzc-calendario b{color:var(--zz-rojo)}

/* la fuente de una cita es un rotulo, no texto corrido */
.zz-texto blockquote cite,
.zz-cita cite{color:var(--zz-rotulo-txt,#7D6E65)}

/* La ventana del casete y los campos van sobre crema-2 (#F1E9DD), que es algo
   mas oscura que la crema de la ficha: el rotulo accesible se queda ahi en
   4,06:1. Sobre ese fondo manda la tinta-2. */
.zz-ventana .zz-rotulo,
.zz-ventana{color:var(--zz-tinta-2)}

/* ============ 13 · la guia de estilo ==================================== */
.zz-guia-indice{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 clamp(30px,4vw,50px);
  padding:16px 18px;border:1px solid var(--zz-borde-sobre-rojo);border-radius:var(--zz-radio)}
.zz-guia-indice a{font-family:var(--zz-mono);font-size:10.5px;font-weight:600;
  letter-spacing:.12em;text-transform:uppercase;text-decoration:none;padding:6px 11px;
  border-radius:99px;border:1px solid var(--zz-borde-sobre-rojo);
  color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84));transition:background .15s,color .15s}
.zz-guia-indice a:hover{background:var(--zz-crema);color:var(--zz-rojo);border-color:var(--zz-crema)}

.zz-guia-bloque{padding:clamp(34px,5vw,64px) 0;border-top:1px solid var(--zz-borde-sobre-rojo)}
.zz-guia-bloque:first-of-type{border-top:0;padding-top:0}
.zz-guia-cab{margin:0 0 clamp(20px,3vw,32px)}
.zz-guia-cab .zz-rotulo{display:block;margin-bottom:10px}
.zz-guia-cab h2{margin:0 0 .35em}
.zz-guia-cab code{background:rgba(255,240,230,.14);border-radius:3px;padding:1px 5px;font-size:.92em}

.zz-guia-codigo{margin-top:18px}
.zz-guia-codigo .zz-rotulo{display:block;margin-bottom:8px;color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-guia-codigo pre{margin:0;background:var(--zz-tinta);color:#E8DCD2;padding:16px 18px;
  border-radius:var(--zz-radio-chico);overflow-x:auto;font-family:var(--zz-mono);
  font-size:12.5px;line-height:1.65;border:1px solid rgba(255,240,230,.14)}
.zz-guia-codigo code{font-family:inherit;background:none;border:0;padding:0;color:inherit}

/* la parrilla de color */
.zz-guia-colores{display:grid;grid-template-columns:repeat(auto-fill,minmax(168px,1fr));gap:10px}
.zz-guia-color{display:flex;flex-direction:column;gap:3px;padding:16px 15px;
  border-radius:var(--zz-radio-chico);border:1px solid rgba(0,0,0,.12);min-height:104px}
.zz-guia-color b{font-family:var(--zz-display);font-weight:800;text-transform:lowercase;
  letter-spacing:-.02em;font-size:16px}
.zz-guia-color i{font-family:var(--zz-mono);font-style:normal;font-size:11px;letter-spacing:.08em}
.zz-guia-color em{font-family:var(--zz-mono);font-style:normal;font-size:9.5px;letter-spacing:.1em;
  text-transform:uppercase;opacity:.72;margin-top:auto}

.zz-guia-fila{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.zz-guia-widgets{display:flex;flex-direction:column;gap:18px}

/* la tabla de referencia de atajos */
.zz-guia-tabla{width:100%;border-collapse:collapse;font-size:13px}
.zz-guia-tabla td{padding:9px 0;border-bottom:1px solid var(--zz-linea);vertical-align:top;
  color:var(--zz-tinta-2)}
.zz-guia-tabla tr:last-child td{border-bottom:0}
.zz-guia-tabla td:first-child{width:47%;padding-inline-end:20px}
.zz-guia-tabla code{display:inline-block;background:var(--zz-crema-2);border:1px solid var(--zz-linea);
  border-radius:3px;padding:2px 7px;color:var(--zz-rojo);font-size:11.5px;line-height:1.5;
  word-break:break-word}
@media (max-width:720px){
  .zz-guia-tabla td:first-child{width:auto;display:block;padding-bottom:4px;border:0}
  .zz-guia-tabla td:last-child{display:block;padding-top:0}
}

/* Al saltar a un ancla, la cabecera pegada tapaba el titulo de la seccion. */
.zz-guia-bloque{scroll-margin-top:88px}

/* La ventana del casete a todo el ancho parece un filete, no una cinta: se
   acota al ancho de un casete de verdad. */
.zzc-casete .zz-ventana{max-width:420px}
.zz-guia-zona{display:block;margin-bottom:2px}
.zz-guia-zona b{color:var(--zz-sobre-rojo);font-weight:600}


/* 🔴 El mismo animal que la ficha, otra vez: `.zz-sobre a` tiene especificidad
   (0,1,1) y `.zz-btn-claro` solo (0,1,0). Un boton claro sobre el rojo salia con
   texto crema sobre fondo crema — 1,01:1, un boton en blanco. Vale para
   CUALQUIER boton del sitio, no solo para el de la guia. */
.zz-sobre a.zz-btn-claro{color:var(--zz-rojo)}
.zz-sobre a.zz-btn-hueco{color:var(--zz-sobre-rojo)}
.zz-sobre a.zz-btn-rojo,
.zz-sobre a.zz-btn-tinta{color:var(--zz-crema)}

/* 🔴 Tercera vez que aparece lo mismo, asi que se cierra para todas las
   rejillas del tema de golpe: los hijos de un grid tienen min-width:auto y NO
   bajan del ancho de su contenido. Aqui era la columna de contenido junto al
   lateral: 399 px dentro de una ventana de 390. */
.zz-con-lateral > *,
.zz-con-lateral-izq > *,
.zz-con-laterales > *,
.zz-pie-alto > *,
.zz-guia-colores > *{min-width:0}
.zz-widget-nube a{max-width:100%;overflow-wrap:anywhere}

/* El logotipo de una emisora heredada del sitio viejo: viene como URL, no como
   imagen destacada, y suele ser cuadrado y pequeno. Se le da un marco de ficha
   en vez de estirarlo a lo ancho como si fuera una portada. */
.zz-portada-logo{max-inline-size:280px;background:var(--zz-crema-2);border:1px solid var(--zz-linea);
  border-radius:var(--zz-radio);padding:18px;margin-inline:0}
.zz-portada-logo img{inline-size:100%;block-size:auto;display:block}

/* =========================================================================
   EL SELECTOR DE IDIOMA DE LA CABECERA

   ZARZA son ocho sitios, uno por idioma, y saltar entre ellos es una accion de
   primer nivel: estaba solo en el pie, donde no la ve nadie.

   Es un <details> nativo: se abre, se cierra y se recorre con el teclado sin
   una linea de JavaScript. En una cabecera que ya lleva buscador y menu movil,
   una pieza menos que dependa de un script es una pieza menos que se rompe.
   ========================================================================= */
.zz-idiomas{position:relative}
.zz-idiomas > summary{
  display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;
  padding:7px 10px;border-radius:var(--zz-radio-chico);
  border:1px solid var(--zz-borde-sobre-rojo);color:var(--zz-sobre-rojo-2);
  font-family:var(--zz-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;
}
.zz-idiomas > summary::-webkit-details-marker{display:none}
.zz-idiomas > summary:hover{background:rgba(255,240,230,.10);color:var(--zz-sobre-rojo)}
.zz-idiomas > summary:focus-visible{outline:2px solid var(--zz-crema);outline-offset:2px}
.zz-idiomas-globo{inline-size:15px;block-size:15px;fill:none;stroke:currentColor;stroke-width:1.6}

.zz-idiomas-lista{
  position:absolute;z-index:40;top:calc(100% + 8px);
  /* 🔴 Anclado por el canto FINAL: el selector va a la derecha del todo en LTR,
     asi que una lista anclada al principio se saldria de la pantalla. En arabe
     el canto final es el izquierdo y se resuelve solo. */
  inset-inline-end:0;
  min-inline-size:186px;margin:0;padding:6px;list-style:none;
  background:var(--zz-crema);border:1px solid var(--zz-linea);
  border-radius:var(--zz-radio);box-shadow:0 10px 26px rgba(36,26,21,.28);
}
.zz-idiomas-lista a{
  display:flex;align-items:baseline;gap:9px;padding:7px 9px;
  border-radius:var(--zz-radio-chico);color:var(--zz-tinta-2);text-decoration:none;
}
.zz-idiomas-lista a:hover{background:var(--zz-crema-2);color:var(--zz-rojo)}
.zz-idiomas-lista a[aria-current]{background:var(--zz-rojo);color:var(--zz-sobre-rojo)}
.zz-idiomas-cod{
  font-family:var(--zz-mono);font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  min-inline-size:20px;opacity:.75;
}
.zz-idiomas-nombre{font-size:13px}
/* 🔴 A6: el grupo "sobre el rojo" pinta `.zz-idiomas` entera en crema y los
   <li> de la lista desplegada lo HEREDAN sobre fondo crema. Los enlaces ya se
   reafirman en tinta, pero el li quedaba crema (1,03:1 si algun dia lleva
   texto propio, y ruido en toda auditoria). Dentro de la lista manda la tinta. */
.zz-idiomas-lista li{color:var(--zz-tinta-2)}

@media (max-width:600px){
  .zz-idiomas-nombre{font-size:12px}
  .zz-idiomas > summary{padding:6px 8px}
}

/* ==========================================================================
   EL MEGAMENU
   --------------------------------------------------------------------------
   El menu tiene una seccion con la A-Z de podcasts: VEINTISEIS enlaces. En el
   desplegable de 210 px de una sola columna que habia antes, esa lista se
   salia del alto de la pantalla y habia que leerla en versalita de 11 px.
   Y era justo la seccion que lleva al catalogo que trae el trafico.

   🔴 `.zz-mega{position:static}` es lo que hace que el panel sea ancho. Los
      demas `li` estan en `relative` y con eso el panel se pegaria al ancho de
      su enlace: no seria un megamenu, seria un desplegable raro.
   ========================================================================== */
.zz-menu a{font-size:12.5px}
/* 🔴 `display:inline-block` NO sobra: el reset del tema pone TODO svg en
   `block` (linea ~37) y el galon caia a una SEGUNDA LINEA — los items con
   submenu median 51px y los planos 40px, y la fila entera salia desalineada
   (V0b, avisado por Lawrence el 20-ago). */
.zz-menu .zz-chevron{display:inline-block;width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2.4;
  stroke-linecap:round;stroke-linejoin:round;margin-inline-start:5px;vertical-align:-1px;opacity:.62}
.zz-menu li.zz-mega:hover > a .zz-chevron{opacity:1;transform:rotate(180deg);transition:transform .16s}

.zz-menu li.zz-mega{position:static}
.zz-mega-panel{position:absolute;inset-inline:0;top:100%;z-index:30;
  background:var(--zz-crema);color:var(--zz-tinta);
  border-block-start:3px solid var(--zz-rojo-hondo);
  box-shadow:0 26px 46px -24px rgba(30,0,0,.78);
  opacity:0;visibility:hidden;transform:translateY(-7px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s}
.zz-menu li.zz-mega:hover > .zz-mega-panel,
.zz-menu li.zz-mega:focus-within > .zz-mega-panel{opacity:1;visibility:visible;transform:none}

.zz-mega-caja{display:grid;grid-template-columns:minmax(0,1fr) 290px;
  gap:34px;padding:26px 0 30px;align-items:start}
.zz-mega-caja.zz-sin-lado{grid-template-columns:minmax(0,1fr)}

/* 🔴 EL PREFIJO `.zz-menu` NO SOBRA. `.zz-menu ul{display:flex}` mide (0,1,1) y
   le gana a `.zz-mega-lista` (0,1,0): sin el, la rejilla no se aplica y las 26
   letras de la A-Z salen en UNA fila estirada de lado a lado. Pasado y medido
   el 20-ago-2026, y es la tercera vez que la especificidad de este tema muerde
   en el mismo sitio. Toda pieza nueva dentro de `.zz-menu` va prefijada. */
.zz-menu .zz-mega-lista{list-style:none;margin:0;padding:0;display:grid;gap:1px 20px;
  align-items:start}
.zz-menu .zz-mega-lista[data-cols="1"]{grid-template-columns:minmax(0,1fr)}
.zz-menu .zz-mega-lista[data-cols="2"]{grid-template-columns:repeat(2,minmax(0,1fr))}
.zz-menu .zz-mega-lista[data-cols="4"]{grid-template-columns:repeat(4,minmax(0,1fr))}
.zz-menu .zz-mega-lista[data-cols="6"]{grid-template-columns:repeat(6,minmax(0,1fr))}
/* 🔴 Los hijos de una rejilla traen `min-width:auto` y no bajan del ancho de su
   contenido: un nombre largo ensancharia la columna y desplazaria la pagina.
   Ya paso tres veces en este tema; se cierra de una vez para toda la familia. */
.zz-menu .zz-mega-lista > li{min-width:0;position:static}
.zz-menu .zz-mega-lista a{display:block;min-width:0;
  font-family:var(--zz-display);font-weight:600;font-size:13.5px;
  letter-spacing:0;text-transform:none;color:var(--zz-tinta-2);
  padding:7px 10px;border-radius:var(--zz-radio-chico);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zz-menu .zz-mega-lista a:hover,
.zz-menu .zz-mega-lista a:focus-visible{background:var(--zz-crema-2);color:var(--zz-rojo)}
.zz-menu .zz-mega-lista .current-menu-item > a{background:var(--zz-rojo);color:var(--zz-crema)}

.zz-mega-lado{border-inline-start:1px solid var(--zz-linea);padding-inline-start:26px;min-width:0}
.zz-mega-caja.zz-sin-lado .zz-mega-lado{display:none}
.zz-mega-lado .zz-rotulo{color:var(--zz-rotulo-txt);display:block;margin-bottom:10px}
.zz-mega-titulo{font-family:var(--zz-display);font-weight:800;font-size:19px;
  letter-spacing:var(--zz-tracking-titular);color:var(--zz-tinta);margin:0 0 8px;text-transform:lowercase}
.zz-mega-titulo em{font-style:normal;color:var(--zz-rojo)}
.zz-mega-cifra{display:flex;align-items:baseline;gap:9px;margin:0 0 8px}
.zz-mega-cifra b{font-family:var(--zz-display);font-weight:800;font-size:34px;
  line-height:1;color:var(--zz-rojo)}
.zz-mega-cifra span{font-size:12.5px;color:var(--zz-tinta-2);min-width:0}
.zz-mega-nota{font-size:12.5px;line-height:1.55;color:var(--zz-tinta-2);margin:0 0 14px}
/* 🔴 `.zz-mega-lado` vive dentro de la cabecera, que NO es `.zz-sobre`; pero el
   boton se reafirma igual porque esta pieza acabara reusandose sobre el rojo y
   ahi `.zz-sobre a` (0,1,1) le ganaria a `.zz-btn-rojo` (0,1,0) y lo dejaria
   con texto crema sobre crema. Ha pasado dos veces en este tema. */
.zz-mega-lado .zz-btn-rojo{color:var(--zz-crema)}

@media (max-width:900px){.zz-mega-panel{display:none}}

/* La nota de carga del hueco del panel ([data-zz-app]) vive SOBRE EL ROJO
   hasta que el JS pinta la cuenta: en tinta-2 daba 1,14 durante ese primer
   segundo (y para siempre si el JS no llegara). */
[data-zz-app] > .zz-studio-nota{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}

/* ==========================================================================
   LA BANDA DE VENTA Y LA BANDA DE DATOS, ANTES DEL PIE
   La primera vende Studio en todas las paginas (menos la suya); la segunda
   dice lo que el directorio ES ahora: al aire, catalogo, podcasts, paises.
   Tres cifras se hidratan del portal; hasta entonces, raya (la verdad).
   ========================================================================== */
.zz-pie-venta{background:var(--zz-rojo-hondo);border-block-start:1px solid var(--zz-borde-sobre-rojo)}
.zz-pie-venta-fila{display:flex;align-items:center;justify-content:space-between;gap:22px;
  padding:20px 0;flex-wrap:wrap}
.zz-pie-venta-txt{margin:0;font-size:13.5px;color:var(--zz-sobre-rojo-2);min-width:0}
.zz-pie-venta-txt b{font-family:var(--zz-display);font-weight:800;text-transform:lowercase;
  letter-spacing:-.02em;color:var(--zz-sobre-rojo)}
.zz-pie-venta-precio:not(:empty){margin-inline-start:7px;font-weight:700}
.zz-pie-datos{padding:15px 0;border-block-start:1px solid var(--zz-borde-sobre-rojo)}
.zz-pie-datos-fila{display:flex;gap:clamp(16px,4vw,44px);flex-wrap:wrap;align-items:baseline}
.zz-pie-dato{display:flex;align-items:baseline;gap:7px;min-width:0}
.zz-pie-dato b{font-family:var(--zz-display);font-weight:800;font-size:21px;line-height:1;
  color:var(--zz-sobre-rojo);transition:opacity .35s}
.zz-pie-dato b.zz-cambia{opacity:.25}
.zz-pie-dato i{font-style:normal;font-family:var(--zz-mono);font-size:9.5px;
  letter-spacing:.14em;text-transform:uppercase;
  color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}

/* ==========================================================================
   EL PIE, CON SUS CUATRO COLUMNAS
   El CSS ya repartia en columnas desde el primer dia; lo que faltaba era que
   el pie las RECORRIERA (se quedaba en tres habiendo cuatro zonas) y que
   alguien las llenara. Ver `feedback_construido_pero_inalcanzable`.
   ========================================================================== */
.zz-pie-alto{grid-template-columns:1.25fr repeat(4,minmax(0,1fr));gap:30px}
@media (max-width:1040px){.zz-pie-alto{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:860px){.zz-pie-alto{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.zz-pie-alto{grid-template-columns:minmax(0,1fr)}}
.zz-pie-alto > *{min-width:0}

/* ==========================================================================
   ZARZA STUDIO — la tienda y la casa del cliente
   Vive sobre el rojo (`main.zz-sobre`), asi que TODA pieza que ponga su propio
   color tiene que reafirmarlo: `.zz-sobre a` (0,1,1) le gana a `.zz-ficha`
   (0,1,0) y a `.zz-btn-claro`, y eso ya dejo dos veces texto crema sobre crema.
   ========================================================================== */
.zz-studio-hero .zz-titular em{font-style:normal;color:var(--zz-sobre-rojo);opacity:.72}
.zz-bajada{font-size:clamp(15px,1.6vw,17px);line-height:1.6;max-width:62ch;
  color:var(--zz-sobre-rojo-2);margin:14px 0 0}
.zz-studio-acciones{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
/* La captura real de la consola: una ficha mas (papel sobre rojo), sin
   retoques. width/height van en el HTML para que no salte el layout. */
.zz-studio-captura{margin:34px 0 0;padding:10px;max-width:980px}
.zz-studio-captura img{display:block;width:100%;height:auto;border-radius:var(--zz-radio-chico)}
.zz-studio-captura figcaption{font-family:var(--zz-mono);font-size:9.5px;letter-spacing:.14em;
  text-transform:uppercase;color:var(--zz-rotulo-txt,#7D6E65);padding:9px 4px 2px}
/* El renglon de venta dentro de la ficha de una emisora. Reafirma color:
   dentro de .zz-ficha los enlaces ya van en rojo-vivo, y eso es lo que quiere. */
.zz-emisora-studio{margin:14px 0 0;padding-top:12px;border-top:1px solid var(--zz-linea);
  font-size:12.5px;color:var(--zz-tinta-2)}
.zz-emisora-studio a{font-weight:600}

.zz-studio-piezas{margin-top:clamp(28px,4vw,44px)}
.zz-studio-pieza h3{font-family:var(--zz-display);font-weight:800;font-size:17px;
  letter-spacing:var(--zz-tracking-titular);color:var(--zz-tinta);margin:12px 0 8px}
.zz-studio-pieza p{font-size:13.5px;line-height:1.6;color:var(--zz-tinta-2);margin:0}

.zz-studio-planos{margin-top:clamp(34px,5vw,58px)}
.zz-planos{margin-top:22px}
/* Cinco planos: en pantallas medianas bajan a tres y luego a uno. Los hijos con
   `min-width:0` para que un nombre largo no ensanche la columna. */
.zz-rejilla[data-cols="5"]{grid-template-columns:repeat(5,minmax(0,1fr))}
@media (max-width:1100px){.zz-rejilla[data-cols="5"]{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width:760px){.zz-rejilla[data-cols="5"]{grid-template-columns:minmax(0,1fr)}}
.zz-plano{display:flex;flex-direction:column;min-width:0}
.zz-plano-alto{outline:2px solid var(--zz-ambar);outline-offset:3px}
.zz-plano-precio{display:flex;align-items:baseline;gap:6px;margin:14px 0 10px}
.zz-plano-precio b{font-family:var(--zz-display);font-weight:800;font-size:32px;
  line-height:1;color:var(--zz-rojo)}
.zz-plano-precio span{font-size:12px;color:var(--zz-rotulo-txt);
  font-family:var(--zz-mono);text-transform:uppercase;letter-spacing:.1em}
.zz-plano-lista{list-style:none;margin:0 0 16px;padding:0;display:flex;
  flex-direction:column;gap:7px;font-size:13px;color:var(--zz-tinta-2);flex:1}
.zz-plano-lista li{padding-block-end:7px;border-block-end:1px solid var(--zz-linea)}
.zz-plano-lista li:last-child{border:0}
.zz-plano-lista b{color:var(--zz-tinta)}
.zz-planos-cargando{grid-column:1/-1;color:var(--zz-sobre-rojo-2);font-size:14px}

.zz-studio-eter{margin-top:clamp(30px,4vw,48px)}
.zz-studio-eter h2{font-family:var(--zz-display);font-weight:800;
  font-size:clamp(19px,2.4vw,26px);letter-spacing:var(--zz-tracking-titular);
  color:var(--zz-tinta);margin:14px 0 12px;max-width:48ch}
.zz-studio-eter p{font-size:14.5px;line-height:1.65;color:var(--zz-tinta-2);
  margin:0 0 10px;max-width:70ch}

.zz-studio-reclamar,.zz-studio-panel{margin-top:clamp(34px,5vw,58px)}
.zz-studio-buscar{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.zz-studio-buscar input{flex:1;min-width:220px;padding:12px 14px;
  border:1px solid var(--zz-borde-sobre-rojo);border-radius:var(--zz-radio-chico);
  background:rgba(255,246,238,.10);color:var(--zz-sobre-rojo);
  font-family:var(--zz-mono);font-size:14px}
.zz-studio-buscar input::placeholder{color:var(--zz-sobre-rojo-3)}

.zz-studio-cuenta{max-width:560px}
.zz-studio-tabs{display:flex;gap:10px;margin:14px 0 16px}
.zz-studio-cuenta form,.zz-studio-editar{display:flex;flex-direction:column;gap:12px}
.zz-studio-cuenta label,.zz-studio-editar label{display:flex;flex-direction:column;gap:5px;
  font-family:var(--zz-mono);font-size:10.5px;text-transform:uppercase;
  letter-spacing:var(--zz-tracking-rotulo);color:var(--zz-rotulo-txt);min-width:0}
.zz-studio-cuenta input,.zz-studio-editar input{padding:10px 12px;border:1px solid var(--zz-linea);
  border-radius:var(--zz-radio-chico);background:#fff;color:var(--zz-tinta);
  font-family:var(--zz-display);font-size:14px;text-transform:none;letter-spacing:0;min-width:0}
.zz-studio-editar{margin-top:14px;padding-top:14px;border-top:1px solid var(--zz-linea)}
.zz-studio-nota{font-size:12.5px;line-height:1.55;color:var(--zz-tinta-2);margin:8px 0 0}
/* Dentro de una ficha clara el enlace tiene que reafirmar su color: sobre el
   rojo lo hereda de `.zz-sobre a` y saldria crema sobre crema. */
.zz-ficha .zz-studio-nota a{color:var(--zz-rojo-vivo)}
.zz-enlace{background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--zz-mono);font-size:9.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--zz-rotulo-txt);text-decoration:underline}
.zz-studio-mia h3,.zz-studio-hallada h3{font-family:var(--zz-display);font-weight:800;
  font-size:16px;color:var(--zz-tinta);margin:12px 0 10px;letter-spacing:var(--zz-tracking-titular)}

/* ==========================================================================
   LA CABECERA EN MOVIL — el hueco de medio ancho a la derecha
   --------------------------------------------------------------------------
   🔴 El `margin-inline-start:auto` que empuja las acciones al borde vive en
      `.zz-menu`, y `.zz-menu` esta en `display:none` por debajo de 900 px: sin
      nada que empuje, idioma, lupa y hamburguesa se quedan pegados al
      logotipo. Medido antes de arreglarlo: sobraban 549 px a 900, 417 a 768 y
      149 a 390. No daba ningun error — solo se veia mal, que es peor.
   ========================================================================== */
@media (max-width:900px){
  .zz-cab-acciones{margin-inline-start:auto}
}

/* El desplegable de idiomas de la cabecera se salia por la izquierda (medido
   de -55 a 131 en un movil de 390). Se ancla al borde de su boton y se le
   pone techo: nunca mas ancho que la pantalla menos los margenes. */
.zz-idiomas-lista{max-width:calc(100vw - 28px)}
@media (max-width:520px){
  .zz-idiomas-lista{inset-inline-start:auto;inset-inline-end:0}
}

/* ==========================================================================
   LA TIRA DE IDIOMAS DEL PIE — el scroll horizontal del movil venia de AQUI
   --------------------------------------------------------------------------
   🔴 Ocho idiomas en una sola linea miden 484 px dentro de un contenedor de
      362: el documento se iba a 498 px de ancho en una pantalla de 390. Se
      buscaba en la cabecera y estaba en el pie.
   ========================================================================== */
.zz-idiomas{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;
  row-gap:7px;column-gap:2px;max-width:100%}
.zz-idiomas .zz-sep{flex:none}

/* ==========================================================================
   LOS WIDGETS DEL MOTOR DE PODCASTS, VESTIDOS DE LA CASA
   --------------------------------------------------------------------------
   `[podcast_ultimos]`, `[podcast_stats]` y `[podcast_carousel_logos]` los pinta
   `podcast-showcase-pro` con su propia paleta. Son el dato de podcast de la
   casa —618.651 programas— y hasta hoy vivian en una zona de widgets del tema
   VIEJO (`cs-1`), que este tema no pinta: configurados, poblados e invisibles.
   ========================================================================== */

/* --- dentro de una ficha clara (los laterales) --- */
.zz-widget .psp-widget,
.zz-widget .psp-stats{background:none;border:0;box-shadow:none;padding:0;margin:0}
.zz-widget .psp-widget-title{display:none} /* el titulo ya lo pone el widget */
.zz-widget .psp-mini-list{display:flex;flex-direction:column;gap:2px}
.zz-widget .psp-mini-item{display:flex;align-items:center;gap:10px;min-width:0;
  padding:7px 0;border-block-end:1px solid var(--zz-linea)}
.zz-widget .psp-mini-item:last-child{border:0}
.zz-widget .psp-number{flex:none;width:20px;font-family:var(--zz-mono);font-size:11px;
  color:var(--zz-rotulo-txt);text-align:center}
.zz-widget .psp-mini-content{min-width:0;flex:1}
.zz-widget .psp-mini-content a,
.zz-widget .psp-mini-content strong{display:block;min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;
  font-family:var(--zz-display);font-weight:600;font-size:13px;
  color:var(--zz-tinta);text-decoration:none}
.zz-widget .psp-mini-content a:hover{color:var(--zz-rojo)}
.zz-widget .psp-mini-podcast{display:block;min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;
  /* tinta-2 y no tinta-3: el item lleva fondo crema-2 y ahi tinta-3 da 2,75 */
  font-family:var(--zz-mono);font-size:10.5px;color:var(--zz-tinta-2)}
.zz-widget .psp-mini-play,.zz-widget .cpp-play-inline{flex:none;
  width:26px;height:26px;display:grid;place-items:center;border-radius:50%;
  background:var(--zz-rojo);color:var(--zz-crema);font-size:9px;border:0;cursor:pointer}

/* Las cifras del catalogo. `data-count` lo anima el JS del plugin; si ese JS no
   llegara, el numero se queda en 0 -- por eso el rotulo dice de que es. */
.zz-widget .psp-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px}
.zz-widget .psp-stat-item{min-width:0;text-align:center;padding:9px 4px;
  background:var(--zz-crema-2);border-radius:var(--zz-radio-chico)}
.zz-widget .psp-stat-number{font-family:var(--zz-display);font-weight:800;
  font-size:19px;line-height:1;color:var(--zz-rojo)}
.zz-widget .psp-stat-label{font-family:var(--zz-mono);font-size:9.5px;
  /* tinta-2 y no rotulo-txt: la celda lleva fondo crema-2 y ahi rotulo da 4,06 */
  text-transform:uppercase;letter-spacing:.12em;color:var(--zz-tinta-2);margin-top:4px}

/* --- dentro de una columna del pie (sobre el rojo) --- */
/* 🔴 Aqui manda `.zz-sobre a` (0,1,1): toda pieza que ponga su propio color
      tiene que reafirmarlo o sale crema sobre crema. Ha pasado dos veces. */
.zz-pie-col .psp-widget{background:none;border:0;box-shadow:none;padding:0;margin:0}
.zz-pie-col .psp-widget-title{display:none}
.zz-pie-col .psp-mini-item{display:flex;align-items:center;gap:8px;min-width:0;
  padding:6px 0;border-block-end:1px solid var(--zz-borde-sobre-rojo)}
.zz-pie-col .psp-mini-item:last-child{border:0}
.zz-pie-col .psp-number{flex:none;width:16px;font-family:var(--zz-mono);
  font-size:10px;color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .psp-mini-content{min-width:0;flex:1}
.zz-pie-col .psp-mini-content a,
.zz-pie-col .psp-mini-content strong{display:block;min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;
  color:var(--zz-sobre-rojo-2);text-decoration:none;font-weight:500}
.zz-pie-col .psp-mini-content a:hover{color:var(--zz-sobre-rojo);text-decoration:underline}
.zz-pie-col .psp-mini-podcast{display:block;min-width:0;overflow:hidden;
  text-overflow:ellipsis;white-space:nowrap;font-family:var(--zz-mono);
  font-size:10px;color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .psp-mini-play,.zz-pie-col .cpp-play-inline{display:none}

/* La ficha de emisora, encogida para una columna de pie de ~200 px. */
.zz-pie-col .zz-emisora{gap:9px}
.zz-pie-col .zz-ficha{padding:0;background:none;box-shadow:none;border:0}
.zz-pie-col .zz-ficha::before{display:none}
.zz-pie-col .zz-canto{display:none}
.zz-pie-col .zz-emisora-nombre{font-size:12.5px;color:var(--zz-sobre-rojo-2)}
.zz-pie-col .zz-emisora-meta{font-size:10px;color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .zz-escuchar{display:none}
.zz-pie-col .zz-widget > h4 + *{margin-top:10px}

/* --- la franja de logos antes del pie --- */
.zz-widget .psp-carousel-section{background:none;padding:0;margin:0}
.zz-widget .psp-carousel-header{margin-bottom:14px}
.zz-widget .psp-carousel-title{font-family:var(--zz-display);font-weight:800;
  font-size:clamp(17px,2vw,21px);letter-spacing:var(--zz-tracking-titular);
  color:var(--zz-tinta);margin:0;text-transform:lowercase}
.zz-widget .psp-logo-item{min-width:0}
.zz-widget .psp-logo-title{min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font-family:var(--zz-mono);font-size:10.5px;
  color:var(--zz-tinta-2)}

/* --- «Sonando ahora»: la lista que llena el navegador --- */
.zzc-w-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.zzc-w-emisora{display:flex;align-items:center;gap:8px;min-width:0;flex-wrap:wrap;
  padding:7px 0;border-block-end:1px solid var(--zz-linea)}
.zzc-w-emisora:last-child{border:0}
.zzc-w-emisora > a{min-width:0;flex:1;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font-family:var(--zz-display);font-weight:600;font-size:13px;
  color:var(--zz-tinta);text-decoration:none}
.zzc-w-emisora > a:hover{color:var(--zz-rojo)}
.zzc-w-pais{flex:none;font-family:var(--zz-mono);font-size:10px;color:var(--zz-rotulo-txt,#7D6E65)}
.zzc-w-cargando{font-family:var(--zz-mono);font-size:11px;color:var(--zz-rotulo-txt,#7D6E65);
  text-transform:uppercase;letter-spacing:.1em;padding:6px 0}
/* En el pie vive sobre el rojo: hay que reafirmar TODO color, porque
   `.zz-sobre a` (0,1,1) gana a estas reglas de una sola clase. */
.zz-pie-col .zzc-w-emisora{border-block-end-color:var(--zz-borde-sobre-rojo);padding:6px 0;
  color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .zzc-w-lista a{color:var(--zz-sobre-rojo-2);font-weight:500;font-size:12.5px}
.zz-pie-col .zzc-w-lista a:hover{color:var(--zz-sobre-rojo);text-decoration:underline}
.zz-pie-col .zzc-w-pais{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .zzc-w-cargando{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
/* La pildora verde encoge en las listas: es un punto, no una etiqueta. */
.zzc-w-lista .zz-aire{flex:none;font-size:8.5px;padding:2px 6px}

/* --- El TOP de podcasts (actividad real: episodios en 30 dias) ------------ */
.zzc-top-lista{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1px}
.zzc-top-item{display:flex;align-items:center;gap:10px;min-width:0;padding:8px 0;
  border-block-end:1px solid var(--zz-linea)}
.zzc-top-item:last-child{border-block-end:0}
.zzc-top-num{flex:none;width:22px;height:22px;display:grid;place-items:center;
  background:var(--zz-rojo);color:var(--zz-sobre-rojo);border-radius:var(--zz-radio-chico);
  font-family:var(--zz-mono);font-size:11px;font-weight:600}
.zzc-top-img{flex:none;width:40px;height:40px;object-fit:cover;
  border-radius:var(--zz-radio-chico);border:1px solid var(--zz-linea)}
.zzc-top-cuerpo{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}
a.zzc-top-titulo{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;font-family:var(--zz-display);font-weight:600;font-size:13px;
  color:var(--zz-tinta);text-decoration:none}
a.zzc-top-titulo:hover,a.zzc-top-titulo:focus-visible{color:var(--zz-rojo)}
.zzc-top-n{font-family:var(--zz-mono);font-size:10px;letter-spacing:.06em;
  color:var(--zz-rotulo-txt,#7D6E65)}
.zzc-top-espera{font-family:var(--zz-mono);font-size:11px;text-transform:uppercase;
  letter-spacing:.1em;color:var(--zz-rotulo-txt,#7D6E65)}
/* En el pie vive sobre el rojo: se reafirma TODO color (.zz-sobre a, 0,1,1). */
.zz-pie-col .zzc-top-item{border-block-end-color:var(--zz-borde-sobre-rojo);padding:6px 0;
  color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
/* El contenedor tambien: sin color propio hereda tinta y toda auditoria de
   agregados lo canta a 1,14 aunque sus hijos vayan bien. */
.zz-pie-col .zzc-top-cuerpo{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col a.zzc-top-titulo{color:var(--zz-sobre-rojo-2);font-size:12.5px;font-weight:500}
.zz-pie-col a.zzc-top-titulo:hover,
.zz-pie-col a.zzc-top-titulo:focus-visible{color:var(--zz-sobre-rojo);text-decoration:underline}
.zz-pie-col .zzc-top-n{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .zzc-top-espera{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .zzc-top-num{background:none;width:16px;height:auto;
  color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84));font-size:10px}
.zz-pie-col .zzc-top-img{display:none}

/* 🔴 Los episodios del pie salian en CAJAS BLANCAS CON EL TEXTO INVISIBLE.
   `podcast-showcase-pro` pinta `.psp-mini-item` con su propio fondo claro y su
   propio color, y mis reglas de una sola clase perdian. Se sube la
   especificidad al mismo sitio donde el plugin la pone y se apaga su fondo. */
.zz-pie-col .psp-widget .psp-mini-item,
.zz-pie-col .psp-mini-list .psp-mini-item{background:none!important;border:0;
  border-radius:0;box-shadow:none;padding:6px 0;
  border-block-end:1px solid var(--zz-borde-sobre-rojo)}
.zz-pie-col .psp-widget .psp-mini-item:last-child{border-block-end:0}
.zz-pie-col .psp-widget .psp-mini-item *{color:var(--zz-sobre-rojo-2)}
.zz-pie-col .psp-widget .psp-mini-content a,
.zz-pie-col .psp-widget .psp-mini-content strong,
.zz-pie-col .psp-widget .psp-mini-content > *{color:var(--zz-sobre-rojo-2)}
.zz-pie-col .psp-widget .psp-mini-podcast{color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84))}
.zz-pie-col .psp-widget .psp-number{background:none;color:var(--zz-sobre-rojo-rot,rgba(255,240,230,.84));
  box-shadow:none;width:16px;min-width:16px}
