*{margin:0;padding:0;box-sizing:border-box}
body{font-family:Georgia,'Times New Roman',serif;line-height:1.8;color:#222;background:#f4f1eb}
.astro-RoqcNueI{max-width:1100px;margin:0 auto;padding:0 24px}
.astro-LJfivwcb{background:linear-gradient(135deg,#2c3e50,#34495e);color:#fff;padding:48px 0;text-align:center;margin-bottom:48px}
.astro-LJfivwcb h1{font-size:36px;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px}
.astro-LJfivwcb p{font-size:16px;opacity:.8;font-style:italic}
.astro-LJfivwcb .astro-SUVFC0Nc{color:#fff;text-decoration:none;font-size:20px;letter-spacing:1px;text-transform:uppercase}
.astro-H4kcopSZ{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:28px}
.astro-yKb9viAC{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:28px;transition:box-shadow .2s}
.astro-yKb9viAC:hover{box-shadow:0 4px 20px rgba(0,0,0,.14)}
.astro-yKb9viAC h2{font-size:22px;margin-bottom:10px;line-height:1.3}
.astro-yKb9viAC h2 a{color:#2c3e50;text-decoration:none}
.astro-yKb9viAC .astro-8hdgFxzV{font-size:12px;color:#888;margin-bottom:10px;text-transform:uppercase;letter-spacing:1px}
.astro-yKb9viAC p{font-size:15px;color:#555;margin-bottom:14px}
.astro-Vxm3DtsF{color:#e74c3c;text-decoration:none;font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.5px}
.astro-wxDxFEnm{max-width:780px;margin:0 auto;padding:0 24px 60px}
.astro-wxDxFEnm h1{font-size:36px;margin-bottom:10px;line-height:1.2}
.astro-wxDxFEnm .astro-8hdgFxzV{font-size:13px;color:#888;display:block;margin-bottom:28px;text-transform:uppercase;letter-spacing:1px}
.astro-wxDxFEnm h2{font-size:24px;margin:36px 0 14px}
.astro-wxDxFEnm h3{font-size:19px;margin:28px 0 10px}
.astro-wxDxFEnm p{margin-bottom:18px;font-size:17px}
.astro-wxDxFEnm ul,.astro-wxDxFEnm ol{margin:0 0 18px 28px}
.astro-wxDxFEnm a{color:#e74c3c}
.astro-wxDxFEnm img{max-width:100%;height:auto;border-radius:4px;margin:20px 0}
.astro-YrIJ3zK3{border-top:2px solid #ddd;padding:28px 0;margin-top:48px;text-align:center;font-size:13px;color:#888}
.astro-YrIJ3zK3 a{color:#888}
.astro-Jwpcv9vo{border-top:1px solid #ccc;border-bottom:1px solid #ccc;padding:14px 0;margin-bottom:28px;font-size:14px;color:#888;font-style:italic;text-align:center}
.astro-dsAXrJlE{background:#f9f3e3;padding:16px 20px;margin-top:28px;font-size:13px;color:#7a6230;border-radius:4px}
.astro-jKuvtklr{font-size:11px;color:#888;margin:-22px 0 28px;text-transform:uppercase;letter-spacing:1.5px}
.astro-RmrILyzc{margin:0 0 28px}
.astro-1mAAUbQd{width:100%;height:auto;border-radius:4px}
.astro-XGpOUIqr{border-top:2px solid #ddd;margin-top:40px;padding-top:24px}
.astro-XGpOUIqr h4{font-size:16px;text-transform:uppercase;letter-spacing:1px;margin-bottom:16px;color:#888}
.mag-related-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.mag-related-item a{color:#2c3e50;text-decoration:none;font-size:15px}
.mag-related-item a:hover{color:#e74c3c}
.astro-ulbKL3Fz{background:#fff;border-radius:4px;box-shadow:0 2px 12px rgba(0,0,0,.08);padding:22px 28px;margin-top:28px}
.astro-ulbKL3Fz p{font-size:15px;padding:4px 0;margin:0}
.astro-ulbKL3Fz .astro-8hdgFxzV{margin:0 8px 0 0;display:inline}
.astro-ulbKL3Fz a{color:#2c3e50;text-decoration:none}
.astro-ulbKL3Fz a:hover{color:#e74c3c}
/* === Theme === */
:root{--primary:#4A2060;--accent:#C8960C;--bg:#F0EAD6;--fg:#1E1620;--border:#9E7A3A;--r:0px;--fb:'Vollkorn';--fh:'Rozha One'}
/* === Custom === */
/* =======================================================================
   ef-mujer-es — diseño inspirado en los afiches de la Fiesta Nacional
   de la Vendimia, Mendoza, años 1980. Serigrafía a tres tintas:
   violeta Malbec (#4A2060), dorado cosecha (#C8960C), crema offset
   (#F0EAD6). Tipografía romana de titular de fiesta popular argentina
   (Rozha One) + cuerpo con peso y calidez (Vollkorn). Composición
   centrada, rectángulos de serigrafía — border-radius 0 en todo.
   ======================================================================= */

@import url('https://fonts.googleapis.com/css2?family=Rozha+One&family=Vollkorn:ital,wght@0,400;0,600;0,700;1,400;1,600&family=PT+Sans:wght@400;700&display=swap');

/* Sans companion for UI/meta (buttons, dates, kickers) — pairs with the serif
   display+body without softening the serigraphy DNA (header, buttons, hero
   strips retain rectangular vintage cues). */
:root { --fs: "PT Sans", system-ui, -apple-system, sans-serif; }

/* --- Base ---------------------------------------------------------------- */

:root body {
  font-family: var(--fb), Georgia, serif;
  color: var(--fg);
  background: var(--bg);
  line-height: 1.75;
  font-size: 19px;
}

::selection {
  background: var(--primary);
  color: var(--bg);
}

:root hr {
  border: 0;
  border-top: 2px solid var(--border);
  margin: 36px 0;
}

/* --- Header / Hero full-bleed ------------------------------------------- */

:root > body > div:first-child {
  background: var(--primary);
  color: var(--bg);
  padding: 72px 0 52px;
  margin-bottom: 56px;
  border-bottom: 6px solid var(--accent);
  text-align: center;
  position: relative;
}

:root > body > div:first-child::before {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: var(--accent);
}

:root > body > div:first-child a {
  font-family: var(--fh), Georgia, serif;
  font-size: 52px;
  color: var(--bg);
  text-decoration: none;
  line-height: 1.05;
  letter-spacing: 0.01em;
  display: block;
  margin-bottom: 14px;
}

:root > body > div:first-child h1 {
  font-family: var(--fh), Georgia, serif;
  font-size: 52px;
  font-weight: 400;
  color: var(--bg);
  letter-spacing: 0.01em;
  line-height: 1.05;
  margin: 0 0 14px;
}

:root > body > div:first-child p {
  font-family: var(--fs);
  font-size: 13px;
  color: var(--accent);
  font-style: normal;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  line-height: 1.7;
  margin: 0;
  max-width: 640px;
  padding: 0 24px;
  margin-left: auto;
  margin-right: auto;
}

/* --- Navigation strip --------------------------------------------------- */

:root nav {
  background: var(--fg);
  padding: 0;
  display: flex;
  justify-content: center;
  gap: 0;
  flex-wrap: wrap;
}

:root nav a {
  font-family: var(--fs);
  font-size: 13px;
  color: var(--bg);
  text-decoration: none;
  padding: 14px 26px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 700;
  border-right: 1px solid rgba(240, 234, 214, 0.15);
  transition: background 0.12s ease, color 0.12s ease;
}

:root nav a:last-child {
  border-right: 0;
}

:root nav a:hover {
  background: var(--primary);
  color: var(--accent);
}

/* --- Homepage: magazine grid cards -------------------------------------- */

:root main {
  padding-bottom: 80px;
}

:root main > div:has(> h2) {
  background: var(--bg);
  border: 2px solid var(--primary);
  padding: 26px 28px;
  margin-bottom: 24px;
  transition: box-shadow 0.14s ease;
}

:root main > div:has(> h2):hover {
  box-shadow: 4px 4px 0 var(--primary);
}

:root main > div:has(> h2) > p:first-child {
  font-family: var(--fs);
  font-size: 11px;
  color: var(--accent);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  margin-bottom: 10px;
  font-weight: 700;
}

:root main > div:has(> h2) > h2 {
  font-family: var(--fh), Georgia, serif;
  font-size: 26px;
  font-weight: 400;
  color: var(--primary);
  margin: 0 0 10px;
  line-height: 1.18;
  letter-spacing: 0.01em;
}

:root main > div:has(> h2) > h2 a {
  color: var(--primary);
  text-decoration: none;
}

:root main > div:has(> h2) > h2 a:hover {
  color: var(--accent);
}

:root main > div:has(> h2) > p:not(:first-child) {
  font-family: var(--fb), Georgia, serif;
  font-size: 16px;
  color: var(--fg);
  opacity: 0.82;
  margin-bottom: 16px;
  line-height: 1.6;
}

:root main > div:has(> h2) > a:last-child {
  font-family: var(--fs);
  font-size: 12px;
  color: var(--bg);
  background: var(--primary);
  padding: 12px 26px;
  text-decoration: none;
  letter-spacing: 0.14em;
  font-weight: 700;
  display: inline-block;
  text-transform: uppercase;
  border: 2px solid var(--primary);
  transition: background 0.12s ease, color 0.12s ease;
}

:root main > div:has(> h2) > a:last-child:hover {
  background: var(--accent);
  color: var(--fg);
  border-color: var(--accent);
}

/* Featured first card ---------------------------------------------------- */
/* PREMIUM 2026-08-26: was full-purple block (dark on cream = heavy).
   Now cream card w/ thick purple frame — accent power to typography,
   not to fill. Keeps hairline gold accent for serigraphy DNA. */

:root main > div:has(> h2):first-of-type {
  background: var(--bg);
  border: 3px solid var(--primary);
  padding: 40px 44px;
  position: relative;
}

:root main > div:has(> h2):first-of-type::before {
  content: "";
  position: absolute;
  top: -3px; left: -3px; right: -3px;
  height: 6px;
  background: var(--accent);
}

:root main > div:has(> h2):first-of-type > p:first-child {
  color: var(--accent);
  font-weight: 700;
}

:root main > div:has(> h2):first-of-type > h2 {
  font-size: 40px;
  color: var(--primary);
  line-height: 1.08;
}

:root main > div:has(> h2):first-of-type > h2 a {
  color: var(--primary);
}

:root main > div:has(> h2):first-of-type > h2 a:hover {
  color: var(--accent);
}

:root main > div:has(> h2):first-of-type > p:not(:first-child) {
  color: var(--fg);
  opacity: 0.85;
  font-size: 17px;
}

:root main > div:has(> h2):first-of-type > a:last-child {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--bg);
}

:root main > div:has(> h2):first-of-type > a:last-child:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--fg);
}

/* --- Article page ------------------------------------------------------- */

:root main > hgroup > h1,
:root main > h1 {
  font-family: var(--fh), Georgia, serif;
  font-size: 42px;
  font-weight: 400;
  color: var(--primary);
  line-height: 1.1;
  margin: 0 0 12px;
  letter-spacing: 0.01em;
}

:root main > hgroup > time,
:root main > time {
  display: block;
  font-family: var(--fb), Georgia, serif;
  font-size: 12px;
  color: var(--accent);
  margin-bottom: 36px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
}

:root main > article > p {
  margin-bottom: 20px;
  font-size: 19px;
  max-width: 66ch;
}

:root main > article > h2 {
  font-family: var(--fh), Georgia, serif;
  font-size: 28px;
  font-weight: 400;
  color: var(--primary);
  margin: 44px 0 16px;
  padding-top: 16px;
  border-top: 3px solid var(--accent);
  letter-spacing: 0.01em;
  max-width: 66ch;
}

:root main > article > h3 {
  font-family: var(--fb), Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  color: var(--accent);
  margin: 28px 0 10px;
  font-style: italic;
  max-width: 66ch;
}

:root main > article ul,
:root main > article ol {
  margin: 0 0 20px 28px;
  max-width: 64ch;
}

:root main > article li {
  margin-bottom: 8px;
  font-size: 19px;
}

:root main > article blockquote {
  border-left: 5px solid var(--primary);
  border-right: 5px solid var(--primary);
  padding: 20px 28px;
  margin: 36px 0;
  font-style: italic;
  color: var(--primary);
  background: rgba(74, 32, 96, 0.06);
  font-size: 21px;
  line-height: 1.6;
  max-width: 60ch;
}

:root main > article > p a,
:root main > article > p a:visited {
  color: var(--primary);
  text-decoration: underline;
  text-decoration-color: var(--accent);
  text-underline-offset: 3px;
  text-decoration-thickness: 2px;
  font-weight: 600;
}

:root main > article > p a:hover {
  color: var(--accent);
  text-decoration-color: var(--primary);
}

/* --- Sidebar / related articles list ------------------------------------ */

:root main > div:has(> ul) {
  margin-top: 52px;
  padding-top: 28px;
  border-top: 3px solid var(--primary);
}

:root main > div:has(> ul) > h3 {
  font-family: var(--fb), Georgia, serif;
  font-size: 11px;
  color: var(--primary);
  margin-bottom: 18px;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}

:root main > div:has(> ul) > ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

:root main > div:has(> ul) > ul > li {
  padding: 12px 0;
  border-bottom: 1px solid var(--border);
}

:root main > div:has(> ul) > ul > li:last-child {
  border-bottom: 0;
}

:root main > div:has(> ul) > ul > li > a {
  color: var(--fg);
  text-decoration: none;
  font-family: var(--fb), Georgia, serif;
  font-size: 16px;
  line-height: 1.4;
}

:root main > div:has(> ul) > ul > li > a:hover {
  color: var(--primary);
}

/* --- Footer ------------------------------------------------------------- */

:root footer {
  background: var(--fg);
  border-top: 4px solid var(--accent);
  padding: 32px 0 40px;
  margin-top: 60px;
  text-align: center;
  font-family: var(--fb), Georgia, serif;
  font-size: 13px;
  color: var(--bg);
  letter-spacing: 0.05em;
}

:root footer p {
  color: var(--bg);
  opacity: 0.75;
  margin: 4px 0;
}

:root footer a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid rgba(200, 150, 12, 0.45);
}

:root footer a:hover {
  color: var(--bg);
  border-bottom-color: var(--bg);
}

/* --- Typography hierarchy ----------------------------------------------- */

h1 { font-family: var(--fh), Georgia, serif; font-weight: 400; }
h2 { font-family: var(--fh), Georgia, serif; font-weight: 400; }
h3 { font-family: var(--fb), Georgia, serif; font-weight: 700; }
h4 { font-family: var(--fb), Georgia, serif; font-weight: 600; font-style: italic; }
h5, h6 { font-family: var(--fb), Georgia, serif; font-weight: 600; font-size: 14px; letter-spacing: 0.10em; text-transform: uppercase; }

p { font-family: var(--fb), Georgia, serif; }

a { color: var(--primary); }

/* --- Accent rule / ornament --------------------------------------------- */

:root main > article > hr {
  border: 0;
  border-top: 2px solid var(--accent);
  margin: 40px 0;
  max-width: 120px;
}

/* === R2 fixes (2026-06-22T04:30:20.196078+00:00) === */

/* Increase body text size and leading for sustained desktop reading */
:root main > article > p {
  font-size: 16.5px;
  line-height: 1.8;
}

:root main > article li {
  font-size: 16.5px;
  line-height: 1.8;
}

/* More breathing room above H2 so section breaks are visible on scan */
:root main > article > h2 {
  margin-top: 2.8em;
  margin-bottom: 0.6em;
}

/* More breathing room above H3 so subtitles don't blend into prior paragraph */
:root main > article > h3 {
  margin-top: 2em;
  margin-bottom: 0.4em;
}

/* Warm dark-brown nav — Mendoza earth tone instead of cold black */
:root nav {
  background: #2C1A0E;
}

/* === R3 fixes (2026-06-22T05:10:20.015129+00:00) === */

/* Restore body text to 19px — R2 override inadvertently dropped it from R1's 19px */
:root main > article > p {
  font-size: 19px;
  line-height: 1.8;
}

:root main > article li {
  font-size: 19px;
  line-height: 1.8;
}

/* H3: violeta (#4A2060) en lugar de dorado — más contraste sobre crema, reconocible como jerarquía */
:root main > article > h3 {
  color: var(--primary);
  font-style: italic;
}

/* Último párrafo del artículo: tratamiento de veredicto — línea dorada + semi-bold violeta */
:root main > article > p:last-of-type {
  font-weight: 600;
  color: var(--primary);
  border-top: 2px solid var(--accent);
  padding-top: 16px;
  margin-top: 36px;
}

/* === R4 fixes (2026-06-22T06:00:06.111426+00:00) === */

/* Link afiliado en párrafo de veredicto: dorado sobre crema, subrayado violeta — salta a la vista sin competir con el cuerpo violeta */
:root main > article > p:last-of-type a,
:root main > article > p:last-of-type a:visited {
  color: var(--accent);
  text-decoration-color: var(--primary);
}

/* H3: bajar peso de 700 a 600 — la cursiva fluye mejor y la distinción H2 roman / H3 italic se hace más nítida */
:root main > article > h3 {
  font-weight: 600;
}

/* === QA refix iter1 (2026-08-23) ==========================================
   El CSS anterior apuntaba a un DOM que ya no existe: los selectores de
   tarjetas (main > div:has(> h2)) no coincidían con NADA en producción, por
   lo que el tema base mostraba tarjetas y cola de archivo en blanco puro.
   DOM real (curl en vivo, 2026-08-23):
     - masthead  = <nav> (ya estilado arriba por :root nav)
     - home main = <main> SIN > h1
         · grid de tarjetas  = main > div (hijo: <div> tarjeta con > h2)
         · cola de archivo   = main > div (hijos directos: <p> con <span>+<a>)
     - article main = <main> CON > h1  (>h1, >time, >article, >aside)
   Alcance homepage: main:not(:has(> h1))   |  artículo: main:has(> h1)
   Arregla M1, M2, M6, M7 (home) y M10 (article); S1/S2/S6 donde es trivial.
   ========================================================================= */

/* ---- M1: tarjetas destacadas → papel crema + marco serigrafía ---------- */
/* base .astro-yKb9viAC es background:#fff — override de blanco permite !important */
/* iter2 M5: marcos suaves — hairline dorado, radio 8px, sombra sutil
   (antes: 2px violeta duro, radio 0, sombra offset 3px)
   PREMIUM UPGRADE 2026-08-26 (A+B+C): +padding, +shadow token 2-layer, +transition curve */
:root main:not(:has(> h1)) > div > div {
  background: var(--bg) !important;
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow:
    0 1px 2px rgba(0, 0, 0, 0.04),
    0 8px 24px rgba(0, 0, 0, 0.05);
  padding: 32px 40px;
  transition:
    box-shadow 0.22s cubic-bezier(.2,.8,.2,1),
    transform 0.22s cubic-bezier(.2,.8,.2,1),
    border-color 0.22s ease;
}

:root main:not(:has(> h1)) > div > div:hover {
  box-shadow:
    0 2px 4px rgba(0, 0, 0, 0.05),
    0 16px 40px rgba(0, 0, 0, 0.10);
  transform: translateY(-3px);
  border-color: var(--accent);
}

:root main:not(:has(> h1)) > div > div > p:first-child {
  font-family: var(--fs);
  font-size: 11px;
  color: var(--accent);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  font-weight: 700;
  margin: 0 0 10px;
}

:root main:not(:has(> h1)) > div > div > h2 {
  font-family: var(--fh), Georgia, serif;
  font-size: 24px;
  font-weight: 400;
  line-height: 1.2;
  margin: 0 0 10px;
  letter-spacing: 0.01em;
}

:root main:not(:has(> h1)) > div > div > h2 a {
  color: var(--primary);
  text-decoration: none;
}

:root main:not(:has(> h1)) > div > div > h2 a:hover {
  color: var(--accent);
}

:root main:not(:has(> h1)) > div > div > p:not(:first-child) {
  font-family: var(--fb), Georgia, serif;
  font-size: 16px;
  color: var(--fg);
  opacity: 0.82;
  line-height: 1.6;
  margin: 0 0 16px;
}

/* "Continue Reading" → botón violeta (base .astro-Vxm3DtsF es rojo #e74c3c)
   PREMIUM 2026-08-27: sans font + more padding + tighter tracking */
:root main:not(:has(> h1)) > div > div > a {
  display: inline-block;
  font-family: var(--fs);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--bg);
  background: var(--primary);
  border: 2px solid var(--primary);
  padding: 12px 26px;
  transition: background 0.12s ease, color 0.12s ease;
}

:root main:not(:has(> h1)) > div > div > a:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--fg);
}

/* ---- Featured card: 1st article ------------------------------------------
   PREMIUM 2026-08-26: was S1/S2 "portada" deep purple block — visually heavy.
   Now cream card w/ big photo above (see magazine-rhythm block near EOF).
   Kept selector for compatibility but background/colors match cream cards. */
:root main:not(:has(> h1)) > div > div:first-child {
  grid-column: 1 / -1;
  background: var(--bg) !important;
  border-color: var(--primary);
}
/* text colors match the cream-card system (dark on cream) — overrides upstream white-on-purple */
:root main:not(:has(> h1)) > div > div:first-child > h2 a {
  color: var(--primary);
}
:root main:not(:has(> h1)) > div > div:first-child > h2 a:hover {
  color: var(--accent);
}
:root main:not(:has(> h1)) > div > div:first-child > p:not(:first-child) {
  color: var(--fg);
  opacity: 0.88;
}
:root main:not(:has(> h1)) > div > div:first-child > a {
  background: var(--primary);
  border-color: var(--primary);
  color: var(--bg);
}
:root main:not(:has(> h1)) > div > div:first-child > a:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--fg);
}

/* ---- M2 iter4: banda-etiqueta a todo el ancho arriba de main ----------- */
/* iter3 la tenía en grid::before, y la franja "DESDE MENDOZA" en main::before —
   así la franja renderizaba SOBRE la etiqueta (top de main), lo cual codex
   rechazó como M6 (franja no está entre Editor's Picks y grilla). Ahora la
   etiqueta va en main::before (top de main = banda Editor's Picks-band) y
   la franja baja a grid::before (arriba de las tarjetas, después de la banda). */
:root main:not(:has(> h1))::before {
  content: "NOTAS RECIENTES";
  display: block;
  font-family: var(--fb), Georgia, serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 0 0 12px;
  margin: 0 0 24px;
  border-bottom: 2px solid var(--border);
}

/* ---- M6 iter5 PREMIUM 2026-08-26: hero strip #1 con foto editorial dedicada
   The-Sill botanical structure + Mendoza tasting-bar vocabulary. Photo hecha
   con codex image_gen 1792x1024, guardada en /theme-assets/. Overlay 40%
   (anti-fingerprint pool) — protege texto sin sofocar la foto. */
:root main:not(:has(> h1)) > div:has(> div)::before {
  content: "DESDE MENDOZA";
  grid-column: 1 / -1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 26px;
  text-align: center;
  min-height: 340px;
  margin-bottom: 48px;
  font-family: var(--fh), Georgia, serif;
  font-size: 28px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0,0,0,0.55);
  background:
    linear-gradient(to bottom, rgba(30,22,32,0) 0%, rgba(30,22,32,0) 45%, rgba(30,22,32,0.40) 100%),
    url("/theme-assets/premium-hero-strip-1.webp") center 40% / cover no-repeat;
  border-top: 4px solid var(--accent);
  border-bottom: 4px solid var(--accent);
}

/* ---- M6 iter2: franja hero #2 → ENTRE la grilla y la cola de archivo ---- */
/* iter1 la ubicaba en tail::after (bajo el archivo); ahora en grid::after
   para caer ANTES de la cola. */
:root main:not(:has(> h1)) > div:has(> div)::after {
  content: "DESDE LAS BODEGAS";
  grid-column: 1 / -1;
  min-height: 340px;
  margin-top: 40px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding-bottom: 26px;
  text-align: center;
  font-family: var(--fh), Georgia, serif;
  font-size: 26px;
  letter-spacing: 0.20em;
  text-transform: uppercase;
  color: #fff;
  text-shadow: 0 1px 12px rgba(0,0,0,0.55);
  background:
    linear-gradient(to bottom, rgba(30,22,32,0) 0%, rgba(30,22,32,0) 45%, rgba(30,22,32,0.40) 100%),
    url("/theme-assets/premium-hero-strip-2.webp") center 45% / cover no-repeat;
  border-top: 4px solid var(--accent);
  border-bottom: 4px solid var(--accent);
}

/* ---- M1 + M7: cola de archivo → índice de celdas crema a todo el ancho -- */
/* base .astro-ulbKL3Fz es un panel único #fff — se convierte en grid crema */
:root main:not(:has(> h1)) > div:has(> p) {
  background: transparent !important;
  box-shadow: none;
  border-radius: 0;
  padding: 0;
  margin-top: 44px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 12px 16px;
}

:root main:not(:has(> h1)) > div:has(> p)::before {
  content: "ENTRADAS ANTERIORES";
  grid-column: 1 / -1;
  font-family: var(--fb), Georgia, serif;
  font-size: 13px;
  font-weight: 700;
  color: var(--primary);
  letter-spacing: 0.22em;
  text-transform: uppercase;
  padding: 0 0 12px;
  border-bottom: 2px solid var(--border);
}

/* iter2 M5/M7: la cola comparte el mismo sistema suave que las tarjetas de arriba */
:root main:not(:has(> h1)) > div:has(> p) > p {
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 8px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.05);
  padding: 18px 20px;
  margin: 0;
  transition: box-shadow 0.14s ease, transform 0.14s ease;
}

:root main:not(:has(> h1)) > div:has(> p) > p:hover {
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.10);
  transform: translateY(-2px);
}

:root main:not(:has(> h1)) > div:has(> p) > p > span {
  display: block;
  font-family: var(--fb), Georgia, serif;
  font-size: 10.5px;
  color: var(--accent);
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 6px;
}

:root main:not(:has(> h1)) > div:has(> p) > p > a {
  font-family: var(--fh), Georgia, serif;
  font-size: 16px;
  line-height: 1.3;
  color: var(--primary);
  text-decoration: none;
}

:root main:not(:has(> h1)) > div:has(> p) > p > a:hover {
  color: var(--accent);
}

/* ---- M6 iter2: la franja #2 "DESDE LAS BODEGAS" se movió arriba,
   a grid::after (entre grilla y cola). La cola ya no lleva franja al pie. */

/* ---- M10: enlaces del cuerpo del artículo → píldora/botón CTA visible --- */
/* base .astro-wxDxFEnm a es rojo en línea; el review pedía un botón distinto */
:root main:has(> h1) > article > p a,
:root main:has(> h1) > article > p a:visited {
  display: inline-block;
  background: var(--primary);
  color: var(--bg);
  border: 2px solid var(--primary);
  padding: 2px 12px;
  margin: 2px 0;
  font-weight: 600;
  text-decoration: none;
  line-height: 1.5;
  letter-spacing: 0.01em;
}

:root main:has(> h1) > article > p a:hover {
  background: var(--accent);
  border-color: var(--accent);
  color: var(--fg);
}

/* ---- S6: ancla de persona — firma/ubicación antes de la fecha ---------- */
:root main:has(> h1) > time::before {
  content: "Por Constanza Olivares \0000B7 Mendoza \0000B7 ";
}

/* ========== PREMIUM UPGRADE 2026-08-26 (D): CSS-only page-load fade-in ==========
   Uses @starting-style — Chrome/Safari 117+ animate; Firefox degrades to no-anim
   but layout is identical. No JS. Only main's direct children (grid + tail). */
@supports (transition-behavior: allow-discrete) {
  :root main:not(:has(> h1)) > div,
  :root main:has(> h1) > article,
  :root main:has(> h1) > time {
    animation: premium-fade-in 0.6s cubic-bezier(.2, .8, .2, 1) both;
  }
  :root main:has(> h1) > article { animation-delay: 0.08s; }
  :root main:has(> h1) > time { animation-delay: 0.02s; }
}
@keyframes premium-fade-in {
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ========== PREMIUM UPGRADE 2026-08-26 (B extension): buttons + inline links ========== */
:root a,
:root button,
:root input[type="submit"] {
  transition:
    color 0.22s cubic-bezier(.2,.8,.2,1),
    background-color 0.22s cubic-bezier(.2,.8,.2,1),
    border-color 0.22s ease,
    transform 0.22s cubic-bezier(.2,.8,.2,1);
}

/* ========== PREMIUM UPGRADE 2026-08-26 · magazine-rhythm cards ==========
   Anti-fingerprint pool pick: The-Sill-botanical + 40% overlay + equal grid + balanced scale.
   Site palette kept (malbec/gold/cream) for brand consistency.
   Cards 1-4 get generative hero photos above content.
   Card 1 = full-row featured (span-3), cards 2-4 = medium (single-col with photo).
   Card 5+ = existing text-only treatment (no override needed).
==================================================================== */

/* --- Card 1: featured hero (full-row, big photo above) --- */
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(1) {
  grid-column: 1 / -1;
  position: relative;
  padding: 320px 44px 40px !important;
  overflow: hidden;
}
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(1)::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 300px;
  background: url("/theme-assets/premium-hero-card-1.webp") center 40% / cover no-repeat;
  border-radius: 8px 8px 0 0;
}
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(1) > h2 {
  font-size: 34px !important;
  line-height: 1.14 !important;
  margin-top: 4px !important;
}
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(1) > p:not(:first-child) {
  font-size: 17px !important;
  line-height: 1.7;
  max-width: 62ch;
  margin-bottom: 20px;
}

/* --- Cards 2, 3, 4: medium editorial cards with thumbnail photo --- */
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(2),
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(3),
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(4) {
  position: relative;
  padding: 200px 32px 32px !important;
  overflow: hidden;
}
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(2)::before,
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(3)::before,
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(4)::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 180px;
  background-size: cover;
  background-position: center 45%;
  background-repeat: no-repeat;
  border-radius: 8px 8px 0 0;
}
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(2)::before {
  background-image: url("/theme-assets/premium-hero-card-2.webp");
}
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(3)::before {
  background-image: url("/theme-assets/premium-hero-card-3.webp");
}
:root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(4)::before {
  background-image: url("/theme-assets/premium-hero-card-4.webp");
}

/* --- Article page premium: typography scale drama + drop cap --- */
:root main > hgroup > h1,
:root main:has(> h1) > h1 {
  font-size: 56px !important;
  line-height: 1.06;
  letter-spacing: -0.005em;
  margin-bottom: 16px;
}
/* drop cap on the FIRST paragraph of article body */
:root main:has(> h1) > article > p:first-of-type::first-letter {
  font-family: var(--fh), Georgia, serif;
  font-size: 76px;
  line-height: 0.9;
  color: var(--primary);
  float: left;
  margin: 6px 12px 0 0;
  padding: 0;
  font-weight: 400;
}
/* dinkus divider on h2 (subtle serigraphy triple-mark) */
:root main:has(> h1) > article > h2::before {
  content: "✦ ✦ ✦";
  display: block;
  text-align: center;
  color: var(--accent);
  font-size: 12px;
  letter-spacing: 0.3em;
  margin-bottom: 24px;
  font-weight: 400;
  border-top: 0;
}
/* remove existing h2 border-top since dinkus takes over */
:root main:has(> h1) > article > h2:first-of-type::before {
  display: none;
}

/* --- Mobile responsive for premium cards --- */
@media (max-width: 720px) {
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(1) {
    padding: 240px 24px 28px !important;
  }
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(1)::before {
    height: 220px;
  }
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(1) > h2 { font-size: 26px !important; }
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(2),
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(3),
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(4) {
    padding: 180px 24px 28px !important;
  }
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(2)::before,
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(3)::before,
  :root main:not(:has(> h1)) > div:has(> div) > div:nth-of-type(4)::before {
    height: 160px;
  }
  :root main > hgroup > h1,
  :root main:has(> h1) > h1 { font-size: 40px !important; }
  :root main:has(> h1) > article > p:first-of-type::first-letter { font-size: 60px; }
  :root main:not(:has(> h1)) > div:has(> div)::before,
  :root main:not(:has(> h1)) > div:has(> div)::after { min-height: 240px; font-size: 22px; }
}
