/*
Theme Name: Pregonero
Theme URI: https://pregonero.org
Author: Ministerio Pregonero
Description: Tema del ministerio Pregonero: secciones por edad y grupo, alimentación, juegos bíblicos, biblioteca, artículos, video, radio, podcast y donaciones.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: pregonero
*/
/* Layout: cabecera fija con menu, portada con versiculo, franja "En vivo", secciones por publico, juegos, biblioteca, medios. */
:root{
  --bg:#f6f7f4; --surface:#ffffff; --ink:#14232b; --muted:#53656d;
  --line:#d9e0dd; --brand:#12485a; --brand-ink:#ffffff; --gold:#b9801a; --gold-soft:#f5e7c8;
  --live:#c0392b; --ok:#2d7a4b; --bad:#b3402f;
  --font-display:'Alegreya',Georgia,serif; --font-body:'Source Sans 3',system-ui,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --bg:#0f1a20; --surface:#17262e; --ink:#e9efed; --muted:#9fb3ba;
  --line:#2a3d46; --brand:#7fc3d6; --brand-ink:#0f1a20; --gold:#e3b04b; --gold-soft:#2f2a1a;
  --live:#ff7a68; --ok:#6cc58b; --bad:#ff8f7d; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#0f1a20; --surface:#17262e; --ink:#e9efed; --muted:#9fb3ba;
  --line:#2a3d46; --brand:#7fc3d6; --brand-ink:#0f1a20; --gold:#e3b04b; --gold-soft:#2f2a1a;
  --live:#ff7a68; --ok:#6cc58b; --bad:#ff8f7d; color-scheme:dark}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--bg);color:var(--ink);font:17px/1.6 var(--font-body);padding-inline:16px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
h1,h2,h3{font-family:var(--font-display);line-height:1.15;text-wrap:balance;margin:0}
h2{font-size:clamp(1.8rem,4vw,2.4rem);font-weight:800}
h3{font-size:1.3rem;font-weight:700}
p{margin:0}
a{color:var(--brand)}
:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.wrap{max-width:1080px;margin-inline:auto}
.eyebrow{font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;font-weight:700;color:var(--gold)}
header.top{position:sticky;top:env(safe-area-inset-top,0px);z-index:10;background:var(--bg);border-bottom:1px solid var(--line);margin-inline:-16px;padding-inline:16px}
header.top .wrap{position:relative;display:flex;align-items:center;gap:12px;min-height:60px}
.brand{font-family:var(--font-display);font-weight:800;font-size:1.25rem;color:var(--ink);text-decoration:none;white-space:nowrap}
nav{margin-left:auto}
nav>ul{display:flex;gap:4px;list-style:none;margin:0;padding:0}
nav li{position:relative}
nav a,.navbtn{display:block;padding:8px 14px;border-radius:6px;text-decoration:none;color:var(--ink);font:600 .98rem var(--font-body);white-space:nowrap;background:none;border:0;cursor:pointer;width:100%;text-align:left}
nav a:hover,.navbtn:hover,li.open>.navbtn{background:var(--surface)}
.navbtn::after{content:"";display:inline-block;width:6px;height:6px;margin-left:8px;border:solid currentColor;border-width:0 2px 2px 0;transform:translateY(-3px) rotate(45deg)}
.sub{display:none;position:absolute;top:100%;left:0;min-width:220px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:6px;list-style:none;margin:4px 0 0;z-index:20}
li.open>.sub{display:block}
.sub a:hover{background:var(--bg)}
.hero{padding-block:64px 40px;display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:center}
.hero h1{font-size:clamp(2.4rem,6vw,4rem);font-weight:800;margin-block:12px 18px}
.hero p.lead{font-size:1.2rem;color:var(--muted);max-width:52ch}
.verse{background:var(--brand);color:var(--brand-ink);padding:28px;border-radius:4px}
.verse q{font-family:var(--font-display);font-size:1.5rem;line-height:1.35;display:block;quotes:"“" "”"}
.verse cite{display:block;margin-top:14px;font-size:.9rem;letter-spacing:.08em;text-transform:uppercase;font-style:normal;opacity:.85}
.btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:26px}
.btn{display:inline-block;padding:12px 20px;border-radius:6px;font-weight:700;text-decoration:none;border:2px solid var(--brand);color:var(--brand);background:transparent;font:inherit;font-weight:700;cursor:pointer}
.btn.fill{background:var(--brand);color:var(--brand-ink)}
.btn:hover{filter:brightness(1.1)}
.live{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:20px;display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.live div{min-width:0}
.dot{display:inline-block;width:10px;height:10px;border-radius:50%;background:var(--live);margin-right:8px;animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.35}}
@media (prefers-reduced-motion:reduce){.dot{animation:none}}
.live small{color:var(--muted);display:block}
section{padding-block:64px 8px}
section>.wrap>header{display:grid;gap:8px;margin-bottom:28px;max-width:60ch}
section>.wrap>header p{color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:22px;display:grid;gap:10px;align-content:start;min-width:0}
.card p{color:var(--muted);font-size:.98rem}
.card ul{margin:0;padding-left:18px;color:var(--muted);font-size:.95rem}
.tag{justify-self:start;font-size:.72rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;background:var(--gold-soft);color:var(--gold);padding:3px 8px;border-radius:3px}
.two{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:22px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:24px;min-width:0}
.panel h3{margin-bottom:6px}
.panel>p{color:var(--muted);margin-bottom:16px}
/* memoria */
.mem{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.mem button{aspect-ratio:1/1;border:2px solid var(--line);border-radius:6px;background:var(--brand);color:var(--brand-ink);font:700 .85rem/1.2 var(--font-body);cursor:pointer;padding:4px;overflow-wrap:anywhere}
.mem button.up{background:var(--surface);color:var(--ink)}
.mem button.done{background:var(--gold-soft);color:var(--ink);border-color:var(--gold)}
.status{margin-top:14px;display:flex;flex-wrap:wrap;gap:12px;align-items:center;color:var(--muted);font-weight:600}
/* trivia */
.q{font-family:var(--font-display);font-size:1.35rem;margin-bottom:14px}
.opts{display:grid;gap:8px}
.opts button{text-align:left;padding:12px 14px;border:2px solid var(--line);border-radius:6px;background:var(--bg);color:var(--ink);font:inherit;cursor:pointer}
.opts button:hover:not(:disabled){border-color:var(--brand)}
.opts button.ok{border-color:var(--ok);background:color-mix(in srgb,var(--ok) 18%,var(--bg))}
.opts button.bad{border-color:var(--bad);background:color-mix(in srgb,var(--bad) 18%,var(--bg))}
.bar{height:6px;background:var(--line);border-radius:3px;margin-bottom:16px;overflow:hidden}
.bar i{display:block;height:100%;background:var(--gold);width:0;transition:width .3s}
/* biblioteca */
.tools{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:18px}
.chip{padding:7px 14px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--ink);font:600 .9rem var(--font-body);cursor:pointer}
.chip[aria-pressed="true"]{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
input[type=search],input[type=text],input[type=url],textarea{font:inherit;color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:6px;padding:9px 12px;width:100%;max-width:100%}
.tools input{max-width:280px}
.list{display:grid;gap:10px}
.item{display:grid;grid-template-columns:1fr auto;gap:6px 16px;background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:14px 18px;align-items:center}
.item b{font-size:1.02rem}
.item span{color:var(--muted);font-size:.9rem}
.item .meta{grid-column:1;display:flex;gap:10px;flex-wrap:wrap}
.item .kind{grid-row:1/3;grid-column:2;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;font-weight:700;color:var(--gold)}
/* medios */
.player{background:var(--ink);color:var(--bg);border-radius:6px;padding:22px;display:grid;gap:12px}
.player audio{width:100%}
.player small{opacity:.8}
.eps{display:grid;gap:8px;margin-top:6px}
.ep{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;padding:10px 0;border-top:1px solid var(--line)}
.ep time{color:var(--muted);font-size:.85rem;font-variant-numeric:tabular-nums;grid-row:1/3;align-self:center}
.ep span{color:var(--muted);font-size:.9rem}
.note{font-size:.85rem;color:var(--muted);margin-top:10px}
.sched{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}
.sched th,.sched td{padding:9px 6px;border-top:1px solid var(--line);text-align:left;font-size:.95rem}
.sched th{color:var(--muted);font-weight:600;width:40%}
.scroll{overflow-x:auto}
.btn.sm{padding:7px 14px;font-size:.9rem;white-space:nowrap;flex:none}
.give{background:var(--brand);color:var(--brand-ink);border-radius:6px;padding:clamp(22px,4vw,40px);display:grid;grid-template-columns:1.2fr 1fr;gap:28px;align-items:center}
.give h2{margin-block:6px 10px}
.give p{opacity:.9}
.give .btn{border-color:var(--brand-ink);color:var(--brand-ink)}
.give .btn.fill{background:var(--brand-ink);color:var(--brand)}
.bank{background:color-mix(in srgb,var(--brand-ink) 12%,transparent);border-radius:6px;padding:18px;display:grid;gap:10px;min-width:0}
.bank div{display:grid;gap:2px;min-width:0}
.bank small{opacity:.8;text-transform:uppercase;letter-spacing:.1em;font-size:.72rem;font-weight:700}
.bank code{font:600 1.05rem var(--font-body);font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
@media (max-width:760px){.give{grid-template-columns:1fr}}
@media (min-width:1280px){body{font-size:18px}.wrap{max-width:1180px}}
footer{margin-top:80px;border-top:1px solid var(--line);padding-block:32px 48px;color:var(--muted);font-size:.95rem;display:grid;gap:8px}
@media (max-width:760px){
  .hero{grid-template-columns:1fr;padding-block:40px 24px}
  .live{grid-template-columns:1fr}
  header.top .wrap{flex-wrap:wrap;padding-block:8px}
  .brand{order:1}
  header.top .btn.sm{order:2;margin-left:auto}
  nav{order:3;width:100%;margin-left:0}
  nav>ul{justify-content:space-between}
  nav li{position:static}
  .sub{left:0;right:0;margin-top:0}
  .brand{font-size:1.05rem}
}

/* ---- Añadidos para WordPress ---- */
.hero .cita{font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);font-size:.9rem;margin-bottom:14px}
.page{padding-block:48px}
.page-head{margin-bottom:28px;max-width:60ch;display:grid;gap:10px}
.page-head h1,.entry h1{font-size:clamp(2rem,5vw,3rem);font-weight:800}
.entry{max-width:70ch;margin-inline:auto;display:grid;gap:14px}
.entry .byline{color:var(--muted);font-size:.95rem}
.entry-content{font-size:1.08rem}
.entry-content p,.entry-content ul,.entry-content ol{margin:0 0 1.1em}
.entry-content h2,.entry-content h3{margin:1.4em 0 .5em}
.entry-content img{height:auto;border-radius:6px}
.entry-content a,.card h3 a,.item b a{color:inherit}
.entry-content a{color:var(--brand)}
.card h3 a{text-decoration:none}
.card h3 a:hover,.item b a:hover{text-decoration:underline}
.more{margin-top:18px;font-weight:600}
.pager{margin-top:28px}
.pager .nav-links{display:flex;gap:10px;flex-wrap:wrap}
.pager a,.pager span{padding:7px 14px;border:1.5px solid var(--line);border-radius:6px;text-decoration:none;color:var(--ink)}
.pager .current{background:var(--brand);color:var(--brand-ink);border-color:var(--brand)}
.screen-reader-text{position:absolute;left:-9999px}
.admin-bar header.top{top:32px}
@media (max-width:782px){.admin-bar header.top{top:46px}}
nav ul{list-style:none}
