/* Estilos compartidos de las páginas de contenido — paleta «Río vivo» */
:root{
  --camalote:#6c4fd1; --camalote-d:#4b33a3; --camalote-l:#b9a8f2;
  --ceibo:#ef4b3c; --loro:#2fb457; --sol:#ffc83d; --rio:#a8662f; --agua:#2aa7c9;
  --crema:#fff6e6; --ink:#1d1340; --ink-2:#4a4166;
  --bd:3px solid var(--ink); --sh:5px 5px 0 var(--ink); --sh-s:3px 3px 0 var(--ink);
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html,body{margin:0}
body{min-height:100vh;background:var(--camalote);color:var(--ink);font-family:Nunito,system-ui,sans-serif;font-weight:600;-webkit-font-smoothing:antialiased;overflow-x:hidden;
  background-image:radial-gradient(rgba(255,255,255,.10) 1.5px,transparent 1.6px);background-size:22px 22px}
a{color:var(--camalote-d)}
h1,h2,h3{font-family:Fredoka,Nunito,sans-serif;font-weight:700;line-height:1.1}
.wrap{max-width:720px;margin:0 auto;padding:14px 16px 40px}
.top{display:flex;align-items:center;gap:10px;background:var(--crema);border:var(--bd);border-radius:18px;box-shadow:var(--sh);padding:8px 10px 8px 14px}
.word{font-family:Fredoka;font-weight:700;font-size:21px;color:var(--ink);text-decoration:none}
.word b{color:var(--ceibo)}
.play{margin-left:auto;font-family:Fredoka;font-weight:700;font-size:15px;background:var(--ceibo);color:#fff;border:2px solid var(--ink);border-radius:12px;padding:7px 12px;text-decoration:none;box-shadow:2px 2px 0 var(--ink)}
.card{margin-top:18px;background:var(--crema);border:var(--bd);border-radius:24px;box-shadow:var(--sh);padding:24px 22px}
.card h1{font-size:36px;margin:0 0 6px}
.kicker{display:inline-block;font-family:Fredoka;font-weight:600;font-size:13px;background:var(--sol);border:2px solid var(--ink);border-radius:8px;padding:2px 9px;transform:rotate(-2deg);margin-bottom:10px}
.lead{font-size:19px;line-height:1.5;color:var(--ink-2)}
.prose{font-size:17px;line-height:1.65;font-weight:500}
.prose h2{font-size:24px;margin:28px 0 8px}
.prose h3{font-size:19px;margin:20px 0 6px}
.prose p,.prose li{max-width:65ch}
.prose blockquote{margin:18px 0;padding:14px 16px;background:#fff;border:2px solid var(--ink);border-left:8px solid var(--loro);border-radius:12px;font-family:Fredoka;font-weight:500;font-size:19px}
.note{background:#fff1c7;border:2px dashed var(--ink);border-radius:12px;padding:12px 14px;font-size:14px;margin:14px 0}
.photo-slot{display:grid;place-items:center;text-align:center;min-height:220px;margin:18px 0;border:3px dashed var(--camalote);border-radius:22px;background:#efe9ff;color:var(--camalote-d);font-family:Fredoka;padding:16px}
.photo-slot small{display:block;font-family:Nunito;font-weight:600;color:var(--ink-2);margin-top:6px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px;margin:14px 0}
.tile{background:#fff;border:2px solid var(--ink);border-radius:16px;padding:14px;box-shadow:var(--sh-s)}
.tile b{font-family:Fredoka;font-size:18px;display:block;margin-bottom:4px}
.tile:nth-child(4n+1){background:#ffe0da}.tile:nth-child(4n+2){background:#d8f5df}.tile:nth-child(4n+3){background:#fff1c7}.tile:nth-child(4n+4){background:#e6defc}
.btn{display:inline-flex;align-items:center;gap:8px;font-family:Fredoka;font-weight:700;font-size:17px;border:var(--bd);border-radius:14px;padding:12px 18px;box-shadow:var(--sh-s);text-decoration:none;color:var(--ink);background:var(--sol)}
.btn.red{background:var(--ceibo);color:#fff}
.src{list-style:none;padding:0;margin:0}
.src li{padding:12px 0;border-bottom:2px dashed rgba(29,19,64,.15)}
.src li b{font-family:Fredoka}
.src .n{display:inline-block;font-size:12px;background:var(--camalote-l);border:2px solid var(--ink);border-radius:999px;padding:1px 8px;margin-left:6px}
footer.pie{margin-top:26px;color:#fff;font-size:14px}
footer.pie nav{display:flex;flex-wrap:wrap;gap:8px 16px;justify-content:center;margin-bottom:10px}
footer.pie a{color:#fff;text-decoration:none;font-family:Fredoka;font-weight:600}
footer.pie a:hover{text-decoration:underline}
footer.pie p{text-align:center;opacity:.8;margin:4px 0}
@media (max-width:480px){.card{padding:20px 16px}.card h1{font-size:30px}.prose{font-size:16px}}
/* Datos con fuente en "Sobre el proyecto" */
.facts{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.facts li{background:#fff;border:2px solid var(--ink);border-radius:14px;padding:12px 14px;box-shadow:3px 3px 0 var(--ink)}
.facts li b{font-family:Fredoka;font-weight:600}
.facts .cita{display:block;font-size:12px;color:var(--ink-2);margin-top:4px}
.hero-photo{margin:18px 0;border:3px solid var(--ink);border-radius:22px;overflow:hidden;box-shadow:var(--sh, 5px 5px 0 var(--ink))}
.hero-photo img{display:block;width:100%;height:auto}
.hero-photo figcaption{font-size:12px;color:var(--ink-2);padding:6px 10px;background:#fff}
/* Patrocinar */
.btn.cta{text-transform:uppercase;letter-spacing:.02em}
.excl{margin:18px 0;padding:16px;border:3px solid var(--ink);border-radius:18px;background:var(--sol);box-shadow:var(--sh);font-family:Fredoka;font-weight:600;font-size:19px;line-height:1.25}
.excl small{display:block;font-family:Nunito;font-weight:700;font-size:14px;margin-top:6px;color:var(--ink)}
.fechas{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}
.fechas a{font-family:Fredoka;font-weight:600;font-size:15px;text-decoration:none;color:var(--ink);background:#fff;border:2px solid var(--ink);border-radius:12px;padding:7px 11px;box-shadow:2px 2px 0 var(--ink)}
.fechas a:hover{background:var(--loro);color:#fff}
.sello{display:flex;gap:12px;align-items:flex-start;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:12px 14px;margin:14px 0}
.sello .i{font-size:26px;line-height:1}
.informe{width:100%;border-collapse:collapse;margin:10px 0;font-size:15px}
.informe td{padding:8px 6px;border-bottom:2px dashed rgba(29,19,64,.15)}
.informe td:first-child{font-size:20px;width:34px}
/* Formulario de solicitud */
.form{display:grid;gap:12px;margin:14px 0}
.form label{display:grid;gap:5px;font-family:Fredoka;font-weight:600;font-size:15px}
.form input,.form select,.form textarea{font:inherit;font-family:Nunito;font-weight:600;padding:11px 12px;border-radius:12px;border:3px solid var(--ink);background:#fff;width:100%;box-sizing:border-box}
.form textarea{min-height:90px;resize:vertical}
.form .dos{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.form .dos{grid-template-columns:1fr}}
.form .hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.form .err{color:var(--ceibo);font-weight:800;min-height:20px}
.fechas a.sel{background:var(--loro);color:#fff}
.ok-box{background:#d8f5df;border:3px solid var(--ink);border-radius:18px;padding:18px;box-shadow:var(--sh)}
.ok-box h3{margin:0 0 6px;font-family:Fredoka}

/* Contacto */
.bloque{margin:22px 0 6px}
.bloque > h2{margin:0 0 4px}
.bloque > p{margin:0 0 10px;color:var(--ink-2)}
.tile .btn{margin-top:12px}
.tile p{margin:6px 0 0;font-size:15px;line-height:1.4}
.btn.cta{text-transform:uppercase;letter-spacing:.02em}
.btn.sm{font-size:15px;padding:9px 13px}
.grid.alto .tile{border-width:3px;box-shadow:var(--sh)}
.soporte{margin-top:24px;padding-top:16px;border-top:2px dashed rgba(29,19,64,.2);display:grid;gap:10px;font-size:15px}
.soporte .fila{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
/* Ventana de formulario (Contacto) */
.sheet-bg{position:fixed;inset:0;background:rgba(29,19,64,.55);display:none;align-items:flex-end;justify-content:center;z-index:50;padding:12px}
.sheet-bg.on{display:flex}
@media(min-width:600px){.sheet-bg{align-items:center}}
.sheet{width:100%;max-width:520px;max-height:92vh;overflow:auto;background:var(--crema);border:var(--bd);border-radius:24px;box-shadow:var(--sh);padding:18px}
.sheet h2{margin:0 0 4px}
.sheet .x{float:right;font:700 20px Fredoka;background:none;border:0;cursor:pointer;color:var(--ink)}
.form .check{display:flex;gap:10px;align-items:flex-start;font-family:Nunito;font-weight:700;font-size:14px}
.form .check input{width:22px;height:22px;flex:none;margin-top:2px}
.form small{font-family:Nunito;font-weight:600;color:var(--ink-2);font-size:13px}

.acts-sobre{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0}
.acts-sobre button{cursor:pointer;font:inherit;font-family:Fredoka;font-weight:700;font-size:17px}

/* Bibliografía plegable */
.biblio{margin:14px 0;background:#fff;border:2px solid var(--ink);border-radius:14px;padding:10px 14px}
.biblio summary{cursor:pointer;font-family:Fredoka;font-weight:700;color:var(--camalote-d)}
.biblio h3{font-size:17px;margin:14px 0 4px}
.biblio .src li{font-size:14px;padding:8px 0}

footer.pie p.legal{font-size:12.5px}
footer.pie p.legal a{font-family:Nunito;font-weight:700;opacity:.95}
/* Lista con imagen (Sobre el proyecto) */
.facts-img li{display:flex;align-items:center;gap:14px}
.facts-img .fx{position:relative;flex:none;width:64px;height:64px;border-radius:50% 46% 52% 48%/48% 54% 46% 52%;border:2px solid var(--ink);background:var(--bg,var(--crema));display:grid;place-items:center;font-size:32px;overflow:hidden;box-shadow:2px 2px 0 var(--ink)}
.facts-img .fx img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
@media(max-width:420px){.facts-img .fx{width:54px;height:54px;font-size:27px}}
