/* ===== GACETA — periódico digital sobrio (mobile-first) ===== */
:root {
    --bg-body: #faf7f2; --surface: #ffffff; --surface-subtle: #f3eee4; --surface-hover: #efe8da;
    --border: #d9d2c5; --border-subtle: #e7e0d2;
    --text-primary: #16130f; --text-main: #16130f; --text-headline: #16130f; --text-body: #2b2620; --text-muted: #6f675a; --text-light: #a39a89;
    --font-serif: 'Newsreader', 'Iowan Old Style', Georgia, 'Times New Roman', serif;
    --font-headline: var(--font-serif); --font-body: var(--font-serif);
    --font-sans: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
    --radius-sm: 2px; --radius-md: 3px; --radius-lg: 4px; --radius-full: 999px;
    --shadow-card: none; --transition: all .15s ease;
    --accent-orange: var(--accent); --primary-dark: var(--accent);
}
html { -webkit-text-size-adjust: 100%; }
body.gz { background: var(--bg-body); color: var(--text-body); font-family: var(--font-serif); font-size: 17px; line-height: 1.6; margin: 0; padding-bottom: env(safe-area-inset-bottom); }
:where(body.gz) a { color: inherit; text-decoration: none; }
:where(body.gz) img { max-width: 100%; height: auto; display: block; }
.gz-wrap { width: 100%; max-width: 1120px; margin: 0 auto; padding: 0 16px; box-sizing: border-box; }

/* Cabezal */
.gz-topline { border-bottom: 1px solid var(--border); font: 600 .72rem/1 var(--font-sans); letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.gz-topline .gz-wrap { display: flex; justify-content: space-between; gap: 12px; padding-top: 9px; padding-bottom: 9px; }
.gz-masthead { text-align: center; padding: 18px 16px 10px; border-bottom: 3px double var(--text-primary); max-width: 1120px; margin: 0 auto; box-sizing: border-box; }
.gz-brand { display: inline-block; font: 800 clamp(1.7rem, 7.5vw, 3rem)/1.05 var(--font-serif); letter-spacing: -.02em; color: var(--text-primary); }
.gz-brand img { max-height: 56px; margin: 0 auto; }
.gz-tagline { margin: 6px 0 0; font: italic 400 .95rem/1.3 var(--font-serif); color: var(--text-muted); }
.gz-nav { position: sticky; top: 0; z-index: 50; background: var(--bg-body); border-bottom: 1px solid var(--border); }
.gz-nav .gz-wrap { display: flex; gap: 2px; overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.gz-nav .gz-wrap::-webkit-scrollbar { display: none; }
.gz-nav a { flex: 0 0 auto; padding: 13px 12px; font: 700 .78rem/1 var(--font-sans); letter-spacing: .05em; text-transform: uppercase; color: var(--text-primary); border-bottom: 3px solid transparent; min-height: 44px; box-sizing: border-box; }
.gz-nav a:hover, .gz-nav a.is-active { border-bottom-color: var(--accent); color: var(--accent); }

/* Etiquetas, metadatos */
.gz-kicker { display: inline-block; font: 800 .7rem/1 var(--font-sans); letter-spacing: .09em; text-transform: uppercase; color: var(--accent); margin-bottom: 6px; }
.gz-meta { font: 500 .78rem/1.3 var(--font-sans); color: var(--text-muted); }
.gz-meta b { color: var(--text-primary); font-weight: 700; }
.gz-badge { display: inline-block; font: 700 .66rem/1 var(--font-sans); letter-spacing: .05em; text-transform: uppercase; padding: 3px 6px; border: 1px solid var(--border); color: var(--text-muted); margin-left: 6px; vertical-align: middle; }

/* Nota principal */
.gz-lead { padding: 18px 0 20px; border-bottom: 1px solid var(--border); }
.gz-lead__img { margin: 0 -16px 14px; background: var(--surface-subtle); }
.gz-lead__img img { width: 100%; aspect-ratio: 16/10; object-fit: cover; }
.gz-lead h1 { font: 800 clamp(1.7rem, 6.4vw, 2.7rem)/1.1 var(--font-serif); letter-spacing: -.015em; margin: 0 0 10px; color: var(--text-primary); }
.gz-lead h1 a:hover { color: var(--accent); }
.gz-lead__deck { font-size: 1.08rem; line-height: 1.5; color: var(--text-body); margin: 0 0 10px; }

/* Lista de notas (texto + miniatura) */
.gz-sec-title { display: flex; align-items: baseline; justify-content: space-between; margin: 24px 0 0; padding-bottom: 8px; border-bottom: 2px solid var(--text-primary); }
.gz-sec-title h2 { font: 800 .86rem/1 var(--font-sans); letter-spacing: .1em; text-transform: uppercase; margin: 0; color: var(--text-primary); }
.gz-sec-title a { font: 700 .74rem/1 var(--font-sans); color: var(--accent); }
.gz-row { display: grid; grid-template-columns: 1fr 96px; gap: 14px; padding: 15px 0; border-bottom: 1px solid var(--border-subtle); align-items: start; }
.gz-row--noimg { grid-template-columns: 1fr; }
.gz-row h3 { font: 700 1.14rem/1.22 var(--font-serif); margin: 0 0 6px; color: var(--text-primary); letter-spacing: -.005em; }
.gz-row a:hover h3 { color: var(--accent); }
.gz-row__thumb { aspect-ratio: 1; background: var(--surface-subtle); overflow: hidden; }
.gz-row__thumb img { width: 100%; height: 100%; object-fit: cover; }
.gz-brief { padding: 11px 0; border-bottom: 1px solid var(--border-subtle); }
.gz-brief h3 { font: 700 1.02rem/1.25 var(--font-serif); margin: 0 0 3px; color: var(--text-primary); }
.gz-brief a:hover h3 { color: var(--accent); }

/* Estructura de portada */
.gz-grid { display: block; }
.gz-aside { margin-top: 8px; }
.gz-top-viewed { padding: 0; margin: 0; }
.gz-top-viewed li { list-style: none; counter-increment: top; display: grid; grid-template-columns: 30px 1fr; gap: 8px; padding: 12px 0; border-bottom: 1px solid var(--border-subtle); font: 700 1rem/1.25 var(--font-serif); }
.gz-top-viewed li::before { content: counter(top); font: 800 1.5rem/1 var(--font-serif); color: var(--accent); }
.gz-top-viewed { counter-reset: top; }

/* Paginación */
.nn-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 26px 0 8px; font-family: var(--font-sans); }
.nn-page { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 0 12px; border: 1px solid var(--border); font-weight: 700; font-size: .85rem; background: var(--surface); box-sizing: border-box; }
.nn-page--current { background: var(--text-primary); color: #fff; border-color: var(--text-primary); }
.nn-page--nav { color: var(--accent); }

/* Publicidad */
.nn-ad { margin: 18px 0; text-align: center; overflow: hidden; }
.nn-ad__label { display: block; font: 600 .62rem/1 var(--font-sans); letter-spacing: .12em; text-transform: uppercase; color: var(--text-light); margin-bottom: 4px; }
.nn-ad--empty { border: 1px dashed var(--accent); color: var(--accent); font: 600 .75rem/1.3 var(--font-sans); padding: 14px 10px; background: rgba(155,28,28,.04); }
.nn-sticky-ad { position: fixed; left: 0; right: 0; bottom: 0; z-index: 90; background: var(--surface); border-top: 1px solid var(--border); padding: 4px 8px calc(4px + env(safe-area-inset-bottom)); text-align: center; }
.nn-sticky-ad .nn-ad { margin: 0; }
.nn-sticky-ad__close { position: absolute; top: -26px; right: 8px; width: 26px; height: 26px; border: 1px solid var(--border); background: var(--surface); border-radius: 50% 50% 0 0; font-size: .7rem; cursor: pointer; }
.gz-aside .nn-ad--sidebar { margin-top: 20px; }

/* Pie */
.gz-footer { margin-top: 40px; background: var(--text-primary); color: #d8d1c2; font-family: var(--font-sans); }
.gz-footer .gz-wrap { padding-top: 28px; padding-bottom: 28px; display: grid; gap: 18px; }
.gz-footer h4 { margin: 0 0 6px; font: 800 1.2rem/1.1 var(--font-serif); color: #fff; }
.gz-footer nav { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: .85rem; }
.gz-footer a:hover { color: #fff; text-decoration: underline; }
.gz-footer small { color: #9a917f; line-height: 1.5; }

/* Escritorio */
@media (min-width: 768px) {
    .gz-wrap { padding: 0 24px; }
    .gz-lead { display: grid; grid-template-columns: 1.15fr 1fr; gap: 28px; align-items: center; }
    .gz-lead__img { margin: 0; }
    .gz-row { grid-template-columns: 1fr 140px; }
    .gz-row h3 { font-size: 1.28rem; }
}
@media (min-width: 1024px) {
    .gz-grid { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 40px; }
    .gz-lead { grid-template-columns: 1fr; gap: 16px; }
    .gz-lead__img img { aspect-ratio: 16/9; }
    .gz-lead h1 { font-size: clamp(2rem, 2.8vw, 2.5rem); }
    .gz-aside { margin-top: 0; border-left: 1px solid var(--border); padding-left: 28px; }
    .gz-secs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 28px; }
    .nn-sticky-ad { display: none; }
}
