/*
Theme Name: Al Toque MVP
Theme URI: https://altoquenoticias.com
Author: Al Toque
Description: v0.8 — Slide-over menu with dynamic categories; archives already supported; cover links + chips preserved.
Version: 0.8.0
Text Domain: altoque-mvp
*/

:root{
  --yellow:#ffd300; --red:#e30613; --ink:#111; --bg:#f3f4f6; --white:#fff; --green:#23a36f; --black:#000;
  --muted:#6b7280;
  --wrap:1200px; --radius:20px; --card-gap:22px;
  --h-hero: clamp(34px, 6.2vw, 86px);
  --h-sub: clamp(20px, 3.6vw, 42px);
  --strap-h: 44px;
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
a:focus{outline:none}
a:focus-visible{outline:3px solid #111; outline-offset:3px; border-radius:8px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 16px}

/* Header */
header.site-header{position:sticky;top:0;z-index:30;background:var(--white);border-bottom:1px solid #e5e7eb}
.header-row{min-height:64px;display:flex;align-items:center;gap:16px}
.logo{font-weight:900;font-size:22px;letter-spacing:.2px}
.menu-btn{margin-left:auto;display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:#f3f4f6;border:none;cursor:pointer}

/* Slide-over menu */
.menu-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);opacity:0;visibility:hidden;transition:.2s;z-index:39}
.menu-backdrop.is-open{opacity:1;visibility:visible}
.site-menu{position:fixed;top:0;right:0;height:100%;width:min(92vw,360px);background:#fff;border-left:1px solid #e5e7eb;box-shadow:-8px 0 30px rgba(0,0,0,.08);transform:translateX(100%);transition:transform .25s;z-index:40;display:flex;flex-direction:column}
.site-menu.is-open{transform:translateX(0)}
.site-menu__head{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #eee}
.site-menu__title{font-weight:900}
.menu-close{background:#f3f4f6;border:none;border-radius:10px;padding:8px 10px;cursor:pointer}
.site-menu__body{padding:12px 8px 18px 16px;overflow:auto}
.cat-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.cat-list a{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:12px;border:1px solid #e5e7eb;background:#fff;font-weight:800}
.cat-list a:hover{background:#f9fafb}
.cat-list .count{color:#6b7280;font-weight:700;font-size:12px}

/* Stack */
main{padding:18px 0}
.stack{display:flex;flex-direction:column;gap:var(--card-gap)}

/* Heroes */
.hero{position:relative;border-radius:var(--radius);overflow:hidden;background:var(--yellow);color:var(--black);border:1px solid #e5e7eb}
.hero__strap{height:var(--strap-h);background:var(--yellow);display:flex;align-items:center;gap:10px;padding:0 14px;border-bottom:1px solid rgba(0,0,0,.08)}
.pill{background:var(--red);color:#fff;font-weight:900;font-size:12px;letter-spacing:.3px;padding:6px 10px;border-radius:999px}
.chip{display:inline-block;font-weight:900;font-size:12px;letter-spacing:.2px;padding:5px 10px;border-radius:999px;background:#eee;color:#111}
.chip.is-body{margin-bottom:10px}
.marquee{flex:1;overflow:hidden;white-space:nowrap}
.marquee__track{display:inline-flex;gap:28px;will-change:transform;animation:scroll 28s linear infinite}
.marquee__track span{font-weight:900;letter-spacing:.2px}
.marquee__track span::after{content:"•";margin:0 8px;color:rgba(0,0,0,.45)}
.hero__body{padding:16px}
.hero__title{font-weight:900;line-height:1;letter-spacing:-.5px;font-size:var(--h-hero)}
.hero__title em{font-style:normal;color:var(--red)}
.hero__sub{font-weight:900;font-size:var(--h-sub);line-height:1.05;margin-top:8px}
.hero--white{background:var(--white)}
.hero--white .hero__strap{background:var(--white)}
.hero--white .hero__title{color:var(--green)}
.hero--black{background:var(--black);color:#fff}
.hero--black .hero__strap{background:var(--black);color:#fff;border-bottom-color:rgba(255,255,255,.12)}

/* Image-led hero */
.hero--image{display:grid;grid-template-columns:1fr 1.1fr}
.hero__media{min-height:260px;background:#ddd}
.hero__media img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:16/9}
@media (max-width:900px){ .hero--image{grid-template-columns:1fr} }

/* Cover link */
.cover-link{position:absolute; inset:0; z-index:12; background:transparent; text-indent:-9999px}
.cover-link:focus-visible{outline:4px solid #111; outline-offset:3px; border-radius:var(--radius)}

/* Cards */
.mix{display:grid;grid-template-columns:1.4fr .8fr;gap:var(--card-gap)}
.mix__right{display:grid;grid-template-rows:1fr 1fr;gap:var(--card-gap)}
@media (max-width:980px){ .mix{grid-template-columns:1fr} .mix__right{grid-template-rows:auto;grid-auto-rows:minmax(0,1fr)} }
.card{position:relative;border-radius:var(--radius);overflow:hidden;background:#fff;border:1px solid #e5e7eb}
.card__body{padding:14px}
.kicker{display:inline-block;font-weight:900;font-size:12px;letter-spacing:.2px;margin-bottom:8px;padding:4px 8px;border-radius:999px;background:#eee}
.title{font-weight:900;font-size:clamp(22px,3.2vw,36px);line-height:1.05}
.title em{font-style:normal;color:var(--red)}
.video{position:relative;background:#000}
.video::after{content:"01:06";position:absolute;right:10px;bottom:10px;background:rgba(0,0,0,.7);color:#fff;font-weight:700;padding:6px 8px;border-radius:8px;font-size:12px}
.video img{opacity:.78}

/* Category color classes */
.k--politica{background:#e30613!important;color:#fff!important}
.k--economia{background:#ffd300!important;color:#000!important}
.k--el-mundo{background:#2563eb!important;color:#fff!important}
.k--sociedad{background:#374151!important;color:#fff!important}
.k--deportes{background:#23a36f!important;color:#fff!important}
.k--espectaculos{background:#6b3fa0!important;color:#fff!important}

/* Article */
.article{background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);overflow:hidden}
.article__head{padding:16px;border-bottom:1px solid #eee}
.article__meta{display:flex;flex-wrap:wrap;gap:10px;align-items:center;color:#374151;font-size:14px;margin-top:6px}
.article__title{font-weight:900;letter-spacing:-.4px;line-height:1.05;font-size:clamp(28px,5vw,56px);margin:0}
.article__lead{font-weight:700;margin:10px 0 0;font-size:clamp(18px,2.5vw,22px)}
.article__media img{width:100%;height:auto;display:block;aspect-ratio:16/9;object-fit:cover}
.article__body{padding:18px}
.article__body p{margin:1em 0;font-size:19px}
.article__body a{text-decoration:underline}
.article__footer{padding:14px 18px;border-top:1px solid #eee;display:flex;justify-content:space-between;gap:10px;align-items:center;color:#4b5563;font-size:14px}

/* Archive */
.archive-list{display:grid;grid-template-columns:1fr 1fr;gap:var(--card-gap)}
@media (max-width:800px){ .archive-list{grid-template-columns:1fr} }
.archive-card{position:relative;background:#fff;border:1px solid #e5e7eb;border-radius:var(--radius);overflow:hidden}
.archive-card__body{padding:14px}
.archive-card__title{font-weight:900;font-size:clamp(20px,2.8vw,30px);line-height:1.05}
.archive-card__meta{color:#6b7280;font-size:13px;margin-top:6px}

/* Footer */
footer.site-footer{border-top:1px solid #e5e7eb;padding:24px 0;color:#4b5563;font-size:14px;background:#fff}
