/* ═══════════════════════════════════════════════════════════════════════════
   ESTADO DIARIO · stylesheet
   Extracted from EstadoDiario.dc.html / NotaBarometro.dc.html design bundles.
   Font assets served from /fonts/. No @font-face for IBM Plex Mono.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── FRAUNCES (serif display) ─────────────────────────────────────────────── */
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/fraunces-italic-400-600-1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: italic;
  font-weight: 400 600;
  font-display: swap;
  src: url("/fonts/fraunces-italic-400-600-2.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/fraunces-normal-400-700-1.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Fraunces';
  font-style: normal;
  font-weight: 400 700;
  font-display: swap;
  src: url("/fonts/fraunces-normal-400-700-2.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── NUNITO (brand wordmark) ──────────────────────────────────────────────── */
/* vietnamese */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/nunito-normal-800-2.woff2") format('woff2');
  unicode-range: U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+0300-0301, U+0303-0304, U+0308-0309, U+0323, U+0329, U+1EA0-1EF9, U+20AB;
}
/* latin-ext */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/nunito-normal-800-3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("/fonts/nunito-normal-800-4.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext 700 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/nunito-normal-800-3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 700 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("/fonts/nunito-normal-800-4.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext 800 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/nunito-normal-800-3.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 800 */
@font-face {
  font-family: 'Nunito';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url("/fonts/nunito-normal-800-4.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── INTER (UI + body) ────────────────────────────────────────────────────── */
/* latin-ext 400 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 400 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("/fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext 500 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url("/fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 500 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: block;
  src: url("/fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext 600 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url("/fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 600 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: block;
  src: url("/fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
/* latin-ext 700 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url("/fonts/inter-latin-ext.woff2") format('woff2');
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
/* latin 700 */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: block;
  src: url("/fonts/inter-latin.woff2") format('woff2');
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── DESIGN TOKENS ────────────────────────────────────────────────────────── */
:root {
  --g: max(clamp(18px, 4vw, 44px), calc((100vw - 1200px) / 2));
  --mono: 'Inter', ui-monospace, monospace;
  --serif: 'Fraunces', Georgia, serif;
}

/* ── BASE RESET ───────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: #FFFFFF;
  color: #16140F;
  font-family: 'Inter', system-ui, sans-serif;
  font-size: 14px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  font-variant-numeric: tabular-nums;
}

h1, h2, h3, h4, p, figure { margin: 0; }
a { color: #74563C; text-decoration: none; }
a:hover { color: #4F3A28; text-decoration: none; }
::selection { background: #EFE6DD; }
h1, h2, h3, [data-serif] { font-family: var(--serif); font-optical-sizing: auto; }

/* ── NAVIGATION LINKS ─────────────────────────────────────────────────────── */
[data-nav-link] {
  position: relative;
  padding: 18px 0;
  color: #16140F;
  font-size: 13.5px;
  letter-spacing: 0.02em;
}
[data-nav-link]::after {
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: -1px;
  height: 2px;
  background: #74563C;
  transform: scaleX(0);
  transform-origin: left;
  transition: transform 160ms ease;
}
[data-pill] {
  padding: 7px 13px !important;
  border: 1px solid #D8C9B8;
  border-radius: 99px;
  background: #EFE6DD;
  color: #4F3A28 !important;
  font-weight: 600;
}
[data-pill]::after { display: none; }
[data-pill]:hover { background: #E4D5C3; color: #4F3A28 !important; }
[data-nav-link]:hover { color: #74563C; }
[data-nav-link][aria-current="page"]::after { transform: scaleX(1); }

/* ── ARTICLE BODY ─────────────────────────────────────────────────────────── */
[data-body] p { margin: 0 0 24px; font-size: 18px; line-height: 1.7; color: #16140F; text-wrap: pretty; }
[data-body] h2 { margin: 48px 0 16px; font-size: 27px; line-height: 1.2; letter-spacing: -0.02em; color: #4F3A28; font-weight: 600; scroll-margin-top: 82px; }
[data-body] strong { font-weight: 600; }
[data-body] a { color: #74563C; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: #C4A88E; transition: text-decoration-color 160ms; }
[data-body] a:hover { text-decoration-color: #74563C; }
[data-body] blockquote { margin: 32px 0; padding: 4px 0 4px 24px; border-left: 3px solid #74563C; }
[data-body] blockquote p { margin: 0; font-style: italic; font-size: 19px; line-height: 1.6; color: #4F3A28; }

/* Q&A for Comparendo format */
[data-body] .ed-pregunta { margin: 0 0 10px; font-size: 17px; line-height: 1.55; font-weight: 600; color: #4F3A28; }
[data-body] .ed-respuesta { } /* inherits default [data-body] p styles */

/* ── CARD HOVER ───────────────────────────────────────────────────────────── */
[data-card] [data-t] { transition: color 140ms; }
[data-card]:hover,
[data-card]:hover span,
[data-card]:hover p,
[data-card]:hover h1,
[data-card]:hover h2,
[data-card]:hover h3 { color: #74563C !important; }
[data-card] [data-t]::after { content: " \2192"; display: inline; opacity: 0; color: #74563C; transition: opacity 160ms ease; }
[data-card]:hover [data-t]::after { opacity: 1; }
[data-card] [data-pic] { position: relative; }
[data-card] [data-pic]::after {
  content: "";
  position: absolute; inset: 0;
  background: #74563C;
  opacity: 0;
  transition: opacity 260ms ease;
  mix-blend-mode: multiply;
}
[data-card]:hover [data-pic]::after { opacity: 0.14; }
[data-card] p, [data-card] span,
[data-card] h1, [data-card] h2, [data-card] h3 { transition: color 140ms; }

/* ── IMAGE CONTAINERS ─────────────────────────────────────────────────────── */
[data-pic] { overflow: hidden; background: #EFE6DD; }
[data-pic] img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 700ms cubic-bezier(0.2,0,0,1); }
[data-card]:hover [data-pic] img { transform: scale(1.045); }
[data-k] { line-height: 18px; }

/* ── HIGHLIGHT / MARK UNDERLINE ───────────────────────────────────────────── */
[data-mark] { position: relative; white-space: nowrap; isolation: isolate; z-index: 0; }
[data-mark] img { position: absolute; left: -3%; bottom: -14%; width: 106%; height: 26%; object-fit: fill; z-index: -1; pointer-events: none; }

/* ── FOCUS STYLES ─────────────────────────────────────────────────────────── */
a:focus-visible, button:focus-visible, input:focus-visible { outline: 2px solid #74563C; outline-offset: 2px; }

/* ── RESPONSIVE: ARTICLE LAYOUT ──────────────────────────────────────────── */
@media (max-width: 1040px) {
  [data-article] { grid-template-columns: minmax(0,1fr) !important; }
  [data-toc] { display: none !important; }
}
@media (max-width: 720px) {
  [data-rel] { grid-template-columns: minmax(0,1fr) !important; }
  [data-rel] > a { border-left: none !important; padding-left: 0 !important; padding-bottom: 18px; border-bottom: 1px solid #EDEAE4; }
  [data-bio] { flex-direction: column; }
}
@media (max-width: 980px) {
  [data-lede] { grid-template-columns: minmax(0,1fr) !important; }
  [data-lede] > div:last-child { border-left: none !important; padding-left: 0 !important; border-top: 1px solid #E7E2DB; padding-top: 22px !important; }
  [data-quad] { grid-template-columns: repeat(2, minmax(0,1fr)) !important; }
  [data-quad] > a { padding: 22px 0 !important; border-left: none !important; border-top: 1px solid #EDEAE4; }
  [data-quad] > a:nth-child(2n) { padding-left: 26px !important; border-left: 1px solid #EDEAE4 !important; }
  [data-quad] > a:nth-child(2n+1) { padding-right: 26px !important; }
  [data-quad] > a:nth-child(1), [data-quad] > a:nth-child(2) { border-top: none; padding-top: 0 !important; }
  [data-quad] { margin: 0 !important; }
  [data-quad] > a > span:last-child { margin-top: 10px !important; }
  [data-quad] [data-pic] { display: none !important; }
  [data-most-grid] { grid-template-columns: minmax(0,1fr) !important; grid-auto-flow: row !important; grid-template-rows: auto !important; }
  [data-most-grid] [data-most] { border-bottom: 1px solid #EDEAE4 !important; }
  [data-most-grid] li:last-child [data-most] { border-bottom: none !important; }
  [data-navbar] { overflow-x: auto; -webkit-overflow-scrolling: touch; }
  [data-tools] { display: none !important; }
  [data-hero] { grid-template-columns: minmax(0,1fr) !important; }
  [data-hero] > div:last-child { border-left: none !important; padding-left: 0 !important; }
  [data-datos] { grid-template-columns: minmax(0,1fr) !important; gap: 22px !important; }
}
@media (max-width: 620px) {
  [data-quad] { grid-template-columns: minmax(0,1fr) !important; }
  [data-quad] > a:nth-child(n) { border-left: none !important; padding: 20px 0 !important; border-top: 1px solid #EDEAE4; }
  [data-quad] > a:nth-child(1) { border-top: none; padding-top: 0 !important; }
  [data-news] { flex-direction: column; align-items: stretch !important; }
  [data-grid] { grid-template-columns: minmax(0,1fr) !important; }
}

/* ── MOST-READ / HOVER ROW ────────────────────────────────────────────────── */
[data-most] { transition: background 120ms; }
[data-most]:hover { background: #FFFFFF; }
[data-most]:hover [data-t] { color: #4F3A28; }

/* ── AUTHOR SUB LINKS ─────────────────────────────────────────────────────── */
[data-sub] { padding: 5px 11px; border: 1px solid #E7E2DB; font-family: var(--mono); font-size: 11px; letter-spacing: 0.08em; color: #4F3A28; transition: background 120ms, border-color 120ms; }
[data-sub]:hover { background: #EFE6DD; border-color: #D8C9B8; color: #4F3A28; }
[data-foja]:hover { background: #EFE6DD; border-color: #D8C9B8; }

/* ── LOGOS EN TABLAS Y FICHAS ─────────────────────────────────────────────── */
.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}
.logo-celda{display:block;margin:0 auto;width:128px;height:36px;object-fit:contain;object-position:center center;filter:grayscale(1);opacity:.85}
.logo-celda.logo-propio{filter:none;opacity:1}
.logo-celda.logo-alto{height:44px;width:128px}
.ficha-empresa .logo-ficha-grande.logo-alto{height:56px}
.tabla-comparativa{overflow-x:auto;margin:20px 0 8px}
.tabla-comparativa table{min-width:0;width:100%;font-size:13.5px;line-height:1.35}
.tabla-comparativa th{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:#6B655E;vertical-align:bottom;padding:10px 12px 12px}
.tabla-comparativa td{vertical-align:middle;padding:14px 12px}
.tabla-comparativa td:first-child,.tabla-comparativa th:first-child{width:140px;white-space:nowrap;font-weight:600;text-align:center;padding-left:14px;padding-right:16px}
.tabla-comparativa th:first-child{text-align:center}
.tabla-comparativa tr:has(.logo-propio) td{background:#F0E9E1;font-weight:600;color:#4F3A28}
.tabla-comparativa tr:has(.logo-propio) td:first-child{border-left:3px solid #74563C}
.tabla-comparativa tbody tr:first-child td{background:#F0E9E1;font-weight:600;color:#4F3A28}
.tabla-comparativa tbody tr:first-child td:first-child{border-left:3px solid #74563C}
.tabla-comparativa tbody tr{transition:background .15s}
.tabla-comparativa tbody tr:hover td{background:#F1EFEC}
.tabla-comparativa tbody tr:hover .logo-celda{filter:none;opacity:1}
.tabla-comparativa tr:has(.logo-propio):hover td{background:#E6DACB}
.tabla-etapas td:not(:first-child){text-align:center}
.tabla-etapas .si{color:#2E9E5B;font-size:18px}
.tabla-etapas .parcial{color:#E3B23C;font-size:18px}
.tabla-etapas .no{color:#B8B2A9;font-size:18px}
.tabla-etapas small{display:block;font-size:11px;color:#8A837A;line-height:1.3;margin-top:4px}
.leyenda-etapas{font-family:var(--mono);font-size:11px;letter-spacing:.06em;color:#8A837A;margin:16px 0 8px}
.ficha-empresa{margin:32px 0;padding-top:24px;border-top:1px solid #E7E2DB}
.ficha-empresa .logo-ficha-grande{display:block;height:44px;width:auto;max-width:180px;margin:0 0 10px;filter:grayscale(1);opacity:.85}
.ficha-empresa .logo-ficha-grande.logo-propio{filter:none;opacity:1}
.ficha-empresa h3{margin:0 0 8px}
@media (max-width:780px){.logo-celda{width:96px;height:30px}.tabla-comparativa table{font-size:12.5px}.tabla-comparativa td{padding:10px 8px}.tabla-comparativa td:first-child{white-space:normal}}
