/* Refugio V5.0.0 · Normalización del sitio público */
.public-v500{
 --public-max:1120px;--public-card:#111116;--public-card-2:#17171d;--public-border:#34343e;
 --public-text:#f7f7f8;--public-muted:#aaaab3;--public-radius:18px;
 color:var(--public-text);
}
.public-v500 *{box-sizing:border-box}
.public-v500 .public-wrap{width:min(var(--public-max),calc(100% - 36px));margin-inline:auto}
.public-v500 .hero{position:relative;overflow:hidden}
.public-v500 .hero img{display:block;width:100%;height:auto}
.public-v500 .menu{border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.public-v500 .menu-container{width:min(var(--public-max),calc(100% - 36px));margin:auto}
.public-v500 .public-section{width:min(var(--public-max),calc(100% - 36px));margin:42px auto}
.public-v500 .public-section-head{margin-bottom:18px}
.public-v500 .public-kicker{display:block;color:var(--color-neon,#b026ff);font-size:.76rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase;margin-bottom:6px}
.public-v500 .public-section h2{margin:0;font-size:clamp(1.55rem,4vw,2.2rem);letter-spacing:-.025em}
.public-v500 .public-section-head p{max-width:700px;margin:8px 0 0;color:var(--public-muted);line-height:1.55}
.public-v500 .videos{width:100%;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.public-v500 .video-card{margin:0;border:1px solid var(--public-border);border-radius:var(--public-radius);overflow:hidden;background:var(--public-card);box-shadow:0 12px 30px rgba(0,0,0,.18)}
.public-v500 .video-card a{display:block;text-decoration:none;color:inherit}
.public-v500 .video-card img{display:block;width:100%;aspect-ratio:16/9;object-fit:cover}
.public-v500 .video-card p{margin:0;padding:14px 16px;font-size:1.04rem;font-weight:800}
.public-v500 .categorias{width:100%;margin:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.public-v500 .card-seccion{min-height:260px;border:1px solid var(--public-border);border-radius:var(--public-radius);overflow:hidden;background:var(--public-card);position:relative}
.public-v500 .card-seccion img{width:100%;height:100%;min-height:260px;object-fit:cover}
.public-v500 .card-seccion span{left:18px;right:18px;bottom:16px;width:auto;padding:12px 14px;border-radius:12px;background:rgba(0,0,0,.72);backdrop-filter:blur(7px);font-size:1.15rem}
.public-v500 .public-links-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.public-v500 .public-link-card{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border:1px solid var(--public-border);border-radius:14px;background:linear-gradient(145deg,var(--public-card-2),var(--public-card));color:var(--public-text);text-decoration:none;transition:.18s ease}
.public-v500 .public-link-card:hover{transform:translateY(-2px);border-color:var(--color-neon,#b026ff)}
.public-v500 .public-link-card span{display:grid;gap:3px}
.public-v500 .public-link-card b{font-size:1rem}
.public-v500 .public-link-card small{color:var(--public-muted);line-height:1.35}
.public-v500 .public-link-card i{font-style:normal;color:var(--color-neon,#b026ff);font-size:1.3rem}
.public-v500 .parent-access{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px;border:1px solid color-mix(in srgb,var(--color-neon,#b026ff) 45%,#34343e);border-radius:18px;background:linear-gradient(135deg,rgba(176,38,255,.11),#111116)}
.public-v500 .parent-access h2{margin:0 0 5px}
.public-v500 .parent-access p{margin:0;color:var(--public-muted)}
.public-v500 .parent-access a{flex:0 0 auto;padding:12px 16px;border-radius:11px;background:var(--color-neon-strong,#7a00cc);color:white;text-decoration:none;font-weight:800}
.public-v500 .public-footer{width:min(var(--public-max),calc(100% - 36px));margin:44px auto 0;padding:22px 0 34px;border-top:1px solid #2b2b33;color:#888894;font-size:.88rem;text-align:center}
@media(max-width:700px){
 .public-v500 .public-section{margin:30px auto}
 .public-v500 .videos,.public-v500 .categorias,.public-v500 .public-links-grid{grid-template-columns:1fr}
 .public-v500 .card-seccion,.public-v500 .card-seccion img{min-height:210px}
 .public-v500 .parent-access{display:grid}
 .public-v500 .parent-access a{text-align:center}
}


/* =========================================================
   V5.0.1 · Responsive + legibilidad del sitio público
   ========================================================= */

/* Evitar cualquier desbordamiento horizontal en páginas públicas. */
html,body{max-width:100%;overflow-x:hidden}
.public-v500 img,.public-v500 video,.public-v500 iframe{max-width:100%;height:auto}
.public-v500 main,.public-v500 section,.public-v500 article,.public-v500 div{min-width:0}

/* Los encabezados deben conservar legibilidad aun sobre el fondo vikingo. */
.public-v500 .public-section-head{
  position:relative;
  padding:18px 20px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:16px;
  background:linear-gradient(135deg,rgba(7,7,10,.90),rgba(18,12,20,.78));
  box-shadow:0 10px 28px rgba(0,0,0,.25);
  backdrop-filter:blur(6px);
}
.public-v500 .public-section-head h1,
.public-v500 .public-section-head h2,
.public-v500 .public-section-head h3{
  color:#fff;
  text-shadow:0 2px 10px rgba(0,0,0,.88);
  overflow-wrap:anywhere;
}
.public-v500 .public-kicker{
  text-shadow:0 1px 8px rgba(0,0,0,.95);
}
.public-v500 .public-section-head p{
  color:#d0d0d6;
  text-shadow:0 1px 7px rgba(0,0,0,.9);
}

/* Capa reutilizable para títulos heredados de páginas interiores. */
.public-v500 .titulo-seccion,
.public-v500 .section-title,
.public-v500 .titulo,
.public-v500 h1.titulo,
.public-v500 h2.titulo{
  max-width:calc(100vw - 32px);
  margin-left:auto;
  margin-right:auto;
  padding:12px 18px;
  border-radius:14px;
  background:rgba(5,5,8,.78);
  box-shadow:0 8px 25px rgba(0,0,0,.30);
  color:#fff;
  text-shadow:0 2px 12px rgba(0,0,0,.95);
  overflow-wrap:anywhere;
}

/* Carruseles y tarjetas heredadas: nunca superar el viewport. */
.public-v500 .carousel,
.public-v500 .carrusel,
.public-v500 .slider,
.public-v500 .testimonios,
.public-v500 .tareas,
.public-v500 .contenedor,
.public-v500 .container{
  max-width:100%;
}
.public-v500 .card,
.public-v500 .tarjeta,
.public-v500 .slide,
.public-v500 .testimonio-card{
  max-width:100%;
}

/* Corrección general de títulos muy grandes. */
.public-v500 h1{font-size:clamp(2rem,7vw,4.5rem);line-height:1.05}
.public-v500 h2{font-size:clamp(1.55rem,5vw,2.6rem);line-height:1.12}
.public-v500 h3{font-size:clamp(1.15rem,4vw,1.7rem);line-height:1.2}

/* Mejor lectura de tarjetas sobre fondos muy activos. */
.public-v500 .video-card,
.public-v500 .card-seccion,
.public-v500 .public-link-card,
.public-v500 .parent-access{
  box-shadow:0 14px 32px rgba(0,0,0,.34);
}

/* Páginas heredadas que aún usan estilos propios. */
body.public-readable-v501{
  overflow-x:hidden!important;
}
body.public-readable-v501 h1,
body.public-readable-v501 h2,
body.public-readable-v501 h3{
  overflow-wrap:anywhere;
}
body.public-readable-v501 .legacy-readable-title{
  width:min(92vw,980px)!important;
  max-width:92vw!important;
  margin:18px auto!important;
  padding:14px 18px!important;
  border-radius:16px!important;
  background:rgba(4,4,8,.80)!important;
  color:#fff!important;
  text-align:center!important;
  text-shadow:0 2px 12px #000!important;
  box-sizing:border-box!important;
  font-size:clamp(1.8rem,7vw,4rem)!important;
  line-height:1.05!important;
  letter-spacing:.04em!important;
  overflow-wrap:anywhere!important;
}
body.public-readable-v501 img,
body.public-readable-v501 video,
body.public-readable-v501 iframe{
  max-width:100%!important;
  height:auto;
}
body.public-readable-v501 .responsive-shell-v501{
  width:min(94vw,1100px)!important;
  max-width:94vw!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Móvil: margen seguro y tarjetas/carruseles contenidos. */
@media(max-width:700px){
  .public-v500 .public-wrap,
  .public-v500 .menu-container,
  .public-v500 .public-section,
  .public-v500 .public-footer{
    width:calc(100% - 28px);
  }
  .public-v500 .public-section-head{
    padding:16px;
    border-radius:14px;
  }
  .public-v500 .public-section-head h2{
    font-size:clamp(1.55rem,7vw,2rem);
  }
  .public-v500 .video-card,
  .public-v500 .card-seccion,
  .public-v500 .public-link-card,
  .public-v500 .parent-access{
    width:100%;
    max-width:100%;
  }
  .public-v500 .card-seccion img{
    width:100%;
    object-position:center;
  }
  body.public-readable-v501 .legacy-readable-title{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    font-size:clamp(1.65rem,8vw,2.45rem)!important;
    letter-spacing:.02em!important;
  }
  body.public-readable-v501 .responsive-shell-v501{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
  }
}


/* =========================================================
   V5.0.2 · Tipografía, alineación y carruseles legibles
   ========================================================= */

/* Nunca partir palabras por la mitad. */
.public-v500 h1,.public-v500 h2,.public-v500 h3,
.public-readable-v501 h1,.public-readable-v501 h2,.public-readable-v501 h3,
.legacy-readable-title{
  overflow-wrap:normal!important;
  word-break:normal!important;
  hyphens:none!important;
}

/* Títulos y textos cortos centrados. */
.public-v500 h1,.public-v500 h2,.public-v500 h3,
.public-v500 .public-kicker,
.public-v500 .video-card p,
.public-v500 .card-seccion span,
.public-v500 .public-link-card b{
  text-align:center;
}

/* Párrafos de lectura: justificados, con una caja tipográfica cómoda. */
.public-v500 .public-section-head p,
.public-v500 .parent-access p,
.public-v500 article p,
.public-v500 .card p,
.public-readable-v501 main p,
.public-readable-v501 section p{
  text-align:justify;
  text-justify:inter-word;
  line-height:1.65;
}

/* Los textos muy breves se ven mejor centrados. */
.public-v500 .public-link-card small{line-height:1.5}
.public-v500 .parent-access .public-kicker,
.public-v500 .parent-access h2{text-align:left}

/* Encabezados heredados: ancho suficiente y tamaño que no obliga a cortar palabras. */
body.public-readable-v501 .legacy-readable-title{
  width:min(94vw,1050px)!important;
  max-width:94vw!important;
  padding:14px 22px!important;
  font-size:clamp(1.65rem,5.8vw,3.7rem)!important;
  line-height:1.08!important;
  white-space:normal!important;
}

/* Taller para padres: carrusel ancho, pensado para lectura. */
body.tallerpadres-v502 .seccion-carrusel{
  width:min(94%,1180px)!important;
  max-width:1180px!important;
  padding:clamp(18px,3vw,38px)!important;
}
body.tallerpadres-v502 .seccion-carrusel>h1{
  width:auto!important;
  max-width:100%!important;
  margin:0 auto 24px!important;
  padding:12px 18px!important;
  font-size:clamp(1.9rem,5vw,3.4rem)!important;
  line-height:1.08!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
}
body.tallerpadres-v502 .carrusel{
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  padding:8px 0 16px!important;
}
body.tallerpadres-v502 .carrusel-track{
  min-height:620px;
}
body.tallerpadres-v502 .card{
  width:min(760px,76vw)!important;
  max-width:760px!important;
  padding:24px!important;
}
body.tallerpadres-v502 .card img{
  display:block;
  width:100%!important;
  max-height:390px;
  object-fit:contain;
  margin:0 auto 20px!important;
}
body.tallerpadres-v502 .card h3{
  margin:0 auto 12px!important;
  text-align:center!important;
  font-size:clamp(1.25rem,2.5vw,1.7rem)!important;
  line-height:1.3!important;
}
body.tallerpadres-v502 .card p{
  max-width:680px;
  margin:0 auto!important;
  text-align:justify!important;
  text-justify:inter-word;
  font-size:clamp(1rem,1.6vw,1.12rem)!important;
  line-height:1.72!important;
  color:#e0e0e4!important;
}
body.tallerpadres-v502 .carrusel .btn{
  z-index:30!important;
}

/* Colaboraciones: una sola palabra debe reducirse, no romperse. */
body.colaboraciones-v502 .legacy-readable-title{
  font-size:clamp(1.45rem,6.2vw,3.6rem)!important;
  letter-spacing:.025em!important;
  padding-left:10px!important;
  padding-right:10px!important;
}

/* Acceso de padres: mejorar contraste del texto. */
.public-v500 .parent-access p{
  color:#e0e0e5!important;
  text-shadow:0 1px 7px rgba(0,0,0,.95);
}

@media(max-width:700px){
  .public-v500 .parent-access .public-kicker,
  .public-v500 .parent-access h2,
  .public-v500 .parent-access p{text-align:center!important}

  body.public-readable-v501 .legacy-readable-title{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    font-size:clamp(1.55rem,7vw,2.35rem)!important;
  }

  body.tallerpadres-v502 .seccion-carrusel{
    width:calc(100% - 24px)!important;
    padding:18px 12px 22px!important;
    border-radius:20px!important;
  }
  body.tallerpadres-v502 .seccion-carrusel>h1{
    font-size:clamp(1.7rem,8vw,2.25rem)!important;
    padding:11px 8px!important;
    margin-bottom:16px!important;
  }
  body.tallerpadres-v502 .carrusel-track{
    display:flex!important;
    gap:16px!important;
    height:auto!important;
    min-height:0!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory!important;
    justify-content:flex-start!important;
    padding:4px 7px 12px!important;
  }
  body.tallerpadres-v502 .card{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    opacity:1!important;
    width:calc(100vw - 68px)!important;
    min-width:calc(100vw - 68px)!important;
    max-width:520px!important;
    padding:16px!important;
    flex:0 0 auto!important;
    scroll-snap-align:center!important;
  }
  body.tallerpadres-v502 .card img{
    width:100%!important;
    max-height:none!important;
    object-fit:contain!important;
    margin-bottom:16px!important;
  }
  body.tallerpadres-v502 .card h3{
    font-size:1.28rem!important;
    margin-bottom:10px!important;
  }
  body.tallerpadres-v502 .card p{
    font-size:1rem!important;
    line-height:1.65!important;
    padding:0 3px;
  }
  body.tallerpadres-v502 .carrusel .btn{
    width:50px!important;
    height:50px!important;
    font-size:25px!important;
  }

  body.colaboraciones-v502 .legacy-readable-title{
    font-size:clamp(1.35rem,6.7vw,2.15rem)!important;
    letter-spacing:0!important;
  }
}

/* V5.0.3 · ajuste visual móvil */
.public-v500 .public-section-head,.public-v500 .public-section-head h1,.public-v500 .public-section-head h2,.public-v500 .public-section-head h3,.public-v500 .public-kicker,body.public-readable-v501 .legacy-readable-title,body.tallerpadres-v502 .seccion-carrusel>h1{text-align:center!important}
.public-v500 .public-section-head p,.public-readable-v501 main p,.public-readable-v501 section p{text-align:justify!important;text-justify:inter-word}
.public-v500 .public-kicker{color:#dc9cff!important;text-shadow:0 0 4px rgba(176,38,255,.25)!important}
body.public-readable-v501 .legacy-readable-title{text-shadow:0 2px 7px rgba(0,0,0,.95)!important;box-shadow:0 7px 18px rgba(0,0,0,.25)!important}
.public-v500 .categorias,.public-v500 .card-seccion{width:100%!important;max-width:100%!important;box-sizing:border-box!important}
.public-v500 .card-seccion{overflow:hidden!important}
.public-v500 .card-seccion img{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;box-sizing:border-box!important}
body.tallerpadres-v502 .carrusel{position:relative!important;padding:8px 0 74px!important;overflow:visible!important}
body.tallerpadres-v502 .carrusel .btn{position:absolute!important;top:auto!important;bottom:10px!important;transform:none!important;width:48px!important;height:48px!important;border-radius:50%!important;font-size:24px!important;background:#09090c!important;border:2px solid rgba(190,70,255,.65)!important;box-shadow:0 0 7px rgba(176,38,255,.20)!important;z-index:50!important}
body.tallerpadres-v502 .carrusel .prev{left:calc(50% - 62px)!important}
body.tallerpadres-v502 .carrusel .next{right:calc(50% - 62px)!important}
body.tallerpadres-v502 .card h3{display:block!important;width:100%!important;padding:0 8px!important;margin:14px auto 12px!important;text-align:center!important;word-break:normal!important;overflow-wrap:normal!important}
body.tallerpadres-v502 .card p{padding:0 10px!important;text-align:justify!important;text-justify:inter-word!important}
body.public-readable-v501 main,body.public-readable-v501 section,body.public-readable-v501 article{max-width:100%!important;box-sizing:border-box!important}
@media(max-width:700px){
 .public-v500 .public-section,.public-v500 .public-footer,.public-v500 .menu-container{width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;margin-left:auto!important;margin-right:auto!important}
 .public-v500 .categorias{width:100%!important;padding:0!important;gap:22px!important}
 .public-v500 .card-seccion{width:100%!important;max-width:100%!important;margin:0!important}
 body.public-readable-v501 .responsive-shell-v501{width:calc(100% - 32px)!important;max-width:calc(100% - 32px)!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
 body.tallerpadres-v502 .seccion-carrusel{width:calc(100% - 28px)!important;max-width:calc(100% - 28px)!important;margin-left:auto!important;margin-right:auto!important;padding:16px 12px 20px!important;overflow:hidden!important}
 body.tallerpadres-v502 .carrusel{width:100%!important;max-width:100%!important;padding-bottom:74px!important}
 body.tallerpadres-v502 .carrusel-track{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;padding:4px 4px 12px!important;box-sizing:border-box!important}
 body.tallerpadres-v502 .card{width:calc(100vw - 76px)!important;min-width:calc(100vw - 76px)!important;max-width:500px!important;box-sizing:border-box!important;margin:0!important}
 body.tallerpadres-v502 .card img{width:100%!important;max-width:100%!important;height:auto!important}
 body.tallerpadres-v502 .card,body.public-readable-v501 .responsive-shell-v501{box-shadow:0 0 9px rgba(176,38,255,.14)!important}
}
@media(max-width:390px){
 body.tallerpadres-v502 .card{width:calc(100vw - 66px)!important;min-width:calc(100vw - 66px)!important}
 .public-v500 .public-section{width:calc(100% - 24px)!important;max-width:calc(100% - 24px)!important}
}


/* =========================================================
   V5.0.4 · Cierre visual del sitio público
   Alineación de textos cortos + reducción final del neón
   ========================================================= */

/* Encabezados: títulos, kicker y descripciones breves centrados */
.public-v500 .public-section-head,
.public-v500 .public-section-head h1,
.public-v500 .public-section-head h2,
.public-v500 .public-section-head h3,
.public-v500 .public-section-head .public-kicker,
.public-v500 .public-section-head p{
    text-align:center!important;
}

.public-v500 .public-section-head p{
    max-width:760px!important;
    margin:8px auto 0!important;
    line-height:1.55!important;
}

/* Te puede interesar: composición centrada y uniforme */
.public-v500 .public-link-card{
    position:relative!important;
    display:flex!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
    padding:16px 48px!important;
}

.public-v500 .public-link-card span{
    display:block!important;
    width:100%!important;
    text-align:center!important;
}

.public-v500 .public-link-card b,
.public-v500 .public-link-card small{
    display:block!important;
    width:100%!important;
    text-align:center!important;
}

.public-v500 .public-link-card small{
    margin-top:5px!important;
    line-height:1.45!important;
}

.public-v500 .public-link-card i{
    position:absolute!important;
    right:17px!important;
    top:50%!important;
    transform:translateY(-50%)!important;
}

/* Área privada Padres: bloque completamente centrado */
.public-v500 .parent-access{
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
    align-items:center!important;
    text-align:center!important;
}

.public-v500 .parent-access > div{
    width:100%!important;
    text-align:center!important;
}

.public-v500 .parent-access .public-kicker,
.public-v500 .parent-access h2,
.public-v500 .parent-access p{
    text-align:center!important;
}

.public-v500 .parent-access p{
    max-width:720px!important;
    margin:5px auto 0!important;
    line-height:1.55!important;
}

.public-v500 .parent-access a{
    width:min(100%,460px)!important;
    text-align:center!important;
    margin-top:5px!important;
}

/* El justificado queda reservado para contenido largo real */
.public-v500 article p,
body.tallerpadres-v502 .card p,
.public-readable-v501 article p{
    text-align:justify!important;
    text-justify:inter-word!important;
}

/* Menú flotante: neón más discreto */
.public-v500 .menu-toggle,
.public-v500 .hamburger,
.public-v500 .menu-btn,
body.public-readable-v501 .menu-toggle,
body.public-readable-v501 .hamburger,
body.public-readable-v501 .menu-btn{
    box-shadow:0 0 8px rgba(176,38,255,.28)!important;
    text-shadow:none!important;
}

/* Reducir halos heredados en botones circulares sin perder identidad */
.public-v500 button,
.public-readable-v501 button{
    text-shadow:none;
}

/* Seguridad móvil */
@media(max-width:700px){
    .public-v500 .public-link-card{
        padding:15px 42px 15px 18px!important;
    }

    .public-v500 .public-link-card span,
    .public-v500 .public-link-card b,
    .public-v500 .public-link-card small{
        text-align:center!important;
    }

    .public-v500 .parent-access{
        padding:20px 16px!important;
    }

    .public-v500 .parent-access a{
        width:100%!important;
        max-width:460px!important;
    }
}


/* =========================================================
   V5.0.5 · Normalización responsive de TESTIMONIOS
   Varonil / Femenil
   ========================================================= */

/* Evita que TESTIMONIOS o los nombres se rompan letra por letra */
body.public-readable-v501 .testimonios h1,
body.public-readable-v501 .testimonios h2,
body.public-readable-v501 .testimonios h3,
body.public-readable-v501 [class*="testimonio"] h1,
body.public-readable-v501 [class*="testimonio"] h2,
body.public-readable-v501 [class*="testimonio"] h3{
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* El contenedor de testimonios debe usar el ancho disponible */
body.public-readable-v501 .testimonios,
body.public-readable-v501 .testimonios-container,
body.public-readable-v501 .testimonios-contenedor,
body.public-readable-v501 .testimonios-section,
body.public-readable-v501 .seccion-testimonios,
body.public-readable-v501 [class*="testimonios"]{
  width:min(94%,1050px)!important;
  max-width:1050px!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}

/* Título TESTIMONIOS: centrado y sin caja angosta */
body.public-readable-v501 .testimonios > h1,
body.public-readable-v501 .testimonios > h2,
body.public-readable-v501 .testimonios-container > h1,
body.public-readable-v501 .testimonios-container > h2,
body.public-readable-v501 .seccion-testimonios > h1,
body.public-readable-v501 .seccion-testimonios > h2{
  width:100%!important;
  max-width:100%!important;
  text-align:center!important;
  white-space:normal!important;
  font-size:clamp(1.8rem,5.5vw,3.4rem)!important;
  line-height:1.05!important;
  padding:12px 10px!important;
  margin:0 auto 18px!important;
  box-sizing:border-box!important;
}

/* Tarjeta: imagen protagonista + texto con espacio real */
body.public-readable-v501 .testimonio-card,
body.public-readable-v501 .card-testimonio,
body.public-readable-v501 [class*="testimonio-card"]{
  width:min(100%,760px)!important;
  max-width:760px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:18px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

body.public-readable-v501 .testimonio-card img,
body.public-readable-v501 .card-testimonio img,
body.public-readable-v501 [class*="testimonio-card"] img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:520px!important;
  object-fit:contain!important;
  margin:0 auto 16px!important;
}

/* Nombre y descripción */
body.public-readable-v501 .testimonio-card h3,
body.public-readable-v501 .testimonio-card h4,
body.public-readable-v501 .card-testimonio h3,
body.public-readable-v501 .card-testimonio h4,
body.public-readable-v501 [class*="testimonio-card"] h3,
body.public-readable-v501 [class*="testimonio-card"] h4{
  width:100%!important;
  max-width:100%!important;
  margin:10px auto!important;
  padding:0 8px!important;
  text-align:center!important;
  line-height:1.25!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  box-sizing:border-box!important;
}

body.public-readable-v501 .testimonio-card p,
body.public-readable-v501 .card-testimonio p,
body.public-readable-v501 [class*="testimonio-card"] p{
  width:100%!important;
  max-width:650px!important;
  margin:10px auto!important;
  padding:0 10px!important;
  text-align:center!important;
  line-height:1.6!important;
  box-sizing:border-box!important;
}

/* Botón Leer más separado del texto */
body.public-readable-v501 .testimonio-card a,
body.public-readable-v501 .card-testimonio a,
body.public-readable-v501 [class*="testimonio-card"] a{
  margin-top:16px!important;
}

/* Navegación: controles compactos y nunca encima del nombre/descripción */
body.public-readable-v501 .testimonios .prev,
body.public-readable-v501 .testimonios .next,
body.public-readable-v501 [class*="testimonio"] .prev,
body.public-readable-v501 [class*="testimonio"] .next{
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:50%!important;
  font-size:24px!important;
  line-height:1!important;
  background:#08090b!important;
  box-shadow:0 0 7px rgba(0,180,255,.20)!important;
}

/* Cabecera VARONIL/FEMENIL: neón de acento, no de lectura */
body.public-readable-v501 .logo-text,
body.public-readable-v501 .titulo-logo,
body.public-readable-v501 header h1,
body.public-readable-v501 header h2{
  text-shadow:0 0 5px currentColor!important;
  filter:none!important;
}

/* Móvil */
@media(max-width:700px){
  body.public-readable-v501 .testimonios,
  body.public-readable-v501 .testimonios-container,
  body.public-readable-v501 .testimonios-contenedor,
  body.public-readable-v501 .testimonios-section,
  body.public-readable-v501 .seccion-testimonios,
  body.public-readable-v501 [class*="testimonios"]{
    width:calc(100% - 24px)!important;
    max-width:calc(100% - 24px)!important;
    padding-left:10px!important;
    padding-right:10px!important;
  }

  body.public-readable-v501 .testimonios > h1,
  body.public-readable-v501 .testimonios > h2,
  body.public-readable-v501 .testimonios-container > h1,
  body.public-readable-v501 .testimonios-container > h2,
  body.public-readable-v501 .seccion-testimonios > h1,
  body.public-readable-v501 .seccion-testimonios > h2{
    font-size:clamp(1.65rem,8vw,2.35rem)!important;
    letter-spacing:.015em!important;
    white-space:nowrap!important;
  }

  body.public-readable-v501 .testimonio-card,
  body.public-readable-v501 .card-testimonio,
  body.public-readable-v501 [class*="testimonio-card"]{
    width:100%!important;
    max-width:100%!important;
    padding:14px!important;
  }

  body.public-readable-v501 .testimonio-card img,
  body.public-readable-v501 .card-testimonio img,
  body.public-readable-v501 [class*="testimonio-card"] img{
    width:100%!important;
    max-height:none!important;
  }

  body.public-readable-v501 .testimonio-card h3,
  body.public-readable-v501 .testimonio-card h4,
  body.public-readable-v501 .card-testimonio h3,
  body.public-readable-v501 .card-testimonio h4,
  body.public-readable-v501 [class*="testimonio-card"] h3,
  body.public-readable-v501 [class*="testimonio-card"] h4{
    font-size:clamp(1.15rem,5.5vw,1.5rem)!important;
  }

  body.public-readable-v501 .testimonio-card p,
  body.public-readable-v501 .card-testimonio p,
  body.public-readable-v501 [class*="testimonio-card"] p{
    font-size:1rem!important;
    line-height:1.55!important;
  }
}

/* Pantallas pequeñas: permitir dos líneas completas, nunca letras apiladas */
@media(max-width:360px){
  body.public-readable-v501 .testimonios > h1,
  body.public-readable-v501 .testimonios > h2,
  body.public-readable-v501 .testimonios-container > h1,
  body.public-readable-v501 .testimonios-container > h2,
  body.public-readable-v501 .seccion-testimonios > h1,
  body.public-readable-v501 .seccion-testimonios > h2{
    white-space:normal!important;
    font-size:1.6rem!important;
  }
}


/* =========================================================
   V5.0.6 · Femenil / Varonil = estructura Escuela para padres
   ========================================================= */

body.testimonios-v506{
  overflow-x:hidden!important;
}

/* Cabecera: neón reducido para priorizar lectura. */
body.testimonios-v506 .titulo-vikingo{
  text-align:center!important;
}
body.testimonios-v506 .titulo-vikingo span{
  text-shadow:0 0 6px currentColor!important;
  filter:none!important;
}

/* Cada apartado adopta el ancho y respiración de Escuela para padres. */
body.testimonios-v506 .seccion-carrusel{
  width:min(94%,1180px)!important;
  max-width:1180px!important;
  margin:28px auto!important;
  padding:clamp(18px,3vw,38px)!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

/* TESTIMONIOS / ACTIVIDADES: caja ancha, nunca columna estrecha. */
body.testimonios-v506 .seccion-carrusel>h1{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto 24px!important;
  padding:12px 18px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  font-size:clamp(1.9rem,5vw,3.4rem)!important;
  line-height:1.08!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

/* Carrusel con la misma lógica de ancho de Tareas diarias. */
body.testimonios-v506 .carrusel{
  position:relative!important;
  width:100%!important;
  max-width:100%!important;
  margin:0 auto!important;
  padding:8px 0 74px!important;
  box-sizing:border-box!important;
  overflow:visible!important;
}

body.testimonios-v506 .carrusel-track{
  width:100%!important;
  max-width:100%!important;
  min-height:0!important;
  box-sizing:border-box!important;
}

/* Tarjeta protagonista, ancha y legible. */
body.testimonios-v506 .card{
  width:min(760px,76vw)!important;
  max-width:760px!important;
  min-width:0!important;
  margin:0 auto!important;
  padding:24px!important;
  box-sizing:border-box!important;
  overflow:hidden!important;
}

body.testimonios-v506 .card img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  max-height:560px!important;
  object-fit:contain!important;
  margin:0 auto 20px!important;
  box-sizing:border-box!important;
}

body.testimonios-v506 .card h3{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  margin:12px auto 10px!important;
  padding:0 8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  font-size:clamp(1.25rem,2.5vw,1.7rem)!important;
  line-height:1.3!important;
  word-break:normal!important;
  overflow-wrap:normal!important;
  hyphens:none!important;
}

body.testimonios-v506 .card p{
  width:100%!important;
  max-width:680px!important;
  margin:0 auto 16px!important;
  padding:0 8px!important;
  box-sizing:border-box!important;
  text-align:center!important;
  font-size:clamp(1rem,1.6vw,1.12rem)!important;
  line-height:1.65!important;
}

/* Leer más tiene su propio espacio. */
body.testimonios-v506 .card .leer-mas{
  display:block!important;
  width:auto!important;
  min-width:132px!important;
  margin:18px auto 0!important;
}

/* Flechas fuera de imagen, nombre y descripción: patrón de Escuela para padres. */
body.testimonios-v506 .carrusel>.btn{
  position:absolute!important;
  top:auto!important;
  bottom:10px!important;
  transform:none!important;
  width:48px!important;
  height:48px!important;
  min-width:48px!important;
  border-radius:50%!important;
  font-size:24px!important;
  line-height:1!important;
  background:#09090c!important;
  z-index:50!important;
}
body.testimonios-v506 .carrusel>.prev{left:calc(50% - 62px)!important}
body.testimonios-v506 .carrusel>.next{right:calc(50% - 62px)!important}

/* Indicadores independientes de los controles. */
body.testimonios-v506 .indicadores{
  position:relative!important;
  margin:10px auto 0!important;
  text-align:center!important;
}

/* MÓVIL: réplica del comportamiento ya aprobado en Escuela para padres. */
@media(max-width:700px){
  body.testimonios-v506 .seccion-carrusel{
    width:calc(100% - 28px)!important;
    max-width:calc(100% - 28px)!important;
    margin:24px auto!important;
    padding:18px 12px 20px!important;
    border-radius:20px!important;
    overflow:hidden!important;
  }

  body.testimonios-v506 .seccion-carrusel>h1{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 16px!important;
    padding:11px 8px!important;
    font-size:clamp(1.7rem,8vw,2.25rem)!important;
    line-height:1.08!important;
    white-space:normal!important;
  }

  body.testimonios-v506 .carrusel{
    width:100%!important;
    max-width:100%!important;
    padding:8px 0 74px!important;
  }

  body.testimonios-v506 .carrusel-track{
    display:flex!important;
    gap:16px!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
    min-height:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x mandatory!important;
    justify-content:flex-start!important;
    padding:4px 4px 12px!important;
    box-sizing:border-box!important;
    -webkit-overflow-scrolling:touch;
  }

  body.testimonios-v506 .card{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    opacity:1!important;
    flex:0 0 auto!important;
    width:calc(100vw - 76px)!important;
    min-width:calc(100vw - 76px)!important;
    max-width:520px!important;
    margin:0!important;
    padding:16px!important;
    scroll-snap-align:center!important;
  }

  body.testimonios-v506 .card img{
    width:100%!important;
    max-width:100%!important;
    max-height:none!important;
    height:auto!important;
    object-fit:contain!important;
    margin:0 auto 16px!important;
  }

  body.testimonios-v506 .card h3{
    font-size:1.28rem!important;
    line-height:1.3!important;
    margin:12px auto 10px!important;
    padding:0 4px!important;
  }

  body.testimonios-v506 .card p{
    width:100%!important;
    max-width:100%!important;
    padding:0 4px!important;
    margin:0 auto 14px!important;
    font-size:1rem!important;
    line-height:1.6!important;
    text-align:center!important;
  }

  body.testimonios-v506 .card .leer-mas{
    margin:16px auto 0!important;
  }

  body.testimonios-v506 .carrusel>.prev{left:calc(50% - 60px)!important}
  body.testimonios-v506 .carrusel>.next{right:calc(50% - 60px)!important}

  /* Elimina halos excesivos de las tarjetas antiguas. */
  body.testimonios-v506 .card,
  body.testimonios-v506 .seccion-carrusel{
    box-shadow:0 0 9px rgba(176,38,255,.14)!important;
  }
}

@media(max-width:390px){
  body.testimonios-v506 .card{
    width:calc(100vw - 66px)!important;
    min-width:calc(100vw - 66px)!important;
  }
}
