@charset "UTF-8";
/*
 * DeportesDO — Design System principal
 * Importado después del CSS de GeneratePress y del style.css del tema hijo.
 * Mobile-first. Dark mode por defecto.
 */

/* ── FUENTES (self-hosted) ───────────────────────────────────────────────
   Archivo, Inter y Roboto Mono, subset "latin" de Google Fonts (cubre
   español completo: acentos, ñ, ¿¡) servidas localmente en vez de
   fonts.googleapis.com — elimina la conexión cross-origin en la ruta
   crítica de LCP/FCP. Archivos reales en assets/fonts/*.woff2 (ver
   dd_child_enqueue_assets en functions.php para el preload). */
@font-face {
  font-family: 'Archivo';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/Archivo-VF.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url('../fonts/Inter-VF.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/RobotoMono-VF.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/RobotoMono-VF.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: 'Roboto Mono';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/RobotoMono-VF.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+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ── TOKENS ───────────────────────────────────────────────────────────── */
:root {
  /* Colores — dark mode por defecto */
  --dd-primary:    #E40521;
  --dd-secondary:  #0050B3;
  --dd-bg:         #0F1420;
  --dd-surface-1:  #19202E;
  --dd-surface-2:  #222C3C;
  --dd-border:     #2A3347;
  --dd-text:       #D8DEEB;
  --dd-muted:      #9AA3B5;
  --dd-live:       #22C55E;
  --dd-gold:       #F2B705;
  --dd-error:      #EF4444;

  /* Variantes "-text" — para usar color de marca en texto pequeño (≤14px).
     --dd-primary/--dd-gold/--dd-secondary puros no siempre pasan WCAG AA
     (4.5:1) como color de texto en ambos temas; estas variantes sí. */
  --dd-primary-text:   #FF5A6E;
  --dd-gold-text:      var(--dd-gold);
  --dd-secondary-text: #4C8DFF;

  /* Tipografía */
  --dd-font-display: 'Archivo', system-ui, sans-serif;
  --dd-font-body:    'Inter', system-ui, sans-serif;
  --dd-font-mono:    'Roboto Mono', 'Courier New', monospace;

  /* Espaciado */
  --dd-space-1: 4px;
  --dd-space-2: 8px;
  --dd-space-3: 12px;
  --dd-space-4: 16px;
  --dd-space-6: 24px;
  --dd-space-8: 32px;
  --dd-space-10: 40px;

  /* Radios */
  --dd-radius-sm:  4px;
  --dd-radius-md:  8px;
  --dd-radius-lg:  12px;

  /* Anchos */
  --dd-max-prose: 720px;
  --dd-max-grid:  1200px;

  /* Header */
  --dd-header-h: 60px;

  /* Transiciones */
  --dd-transition: 140ms ease;
}

/* Modo claro */
[data-theme="light"],
body.theme-light {
  --dd-bg:        #FFFFFF;
  --dd-surface-1: #F4F6F9;
  --dd-surface-2: #E8ECF2;
  --dd-border:    #D1D9E6;
  --dd-text:      #0B0F1A;
  --dd-muted:     #5A6478;
  --dd-primary-text:   var(--dd-primary);
  --dd-gold-text:      #B45309;
  --dd-secondary-text: var(--dd-secondary);
}

/* ── BASE ─────────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }

html { scroll-behavior: smooth; }

body {
  font-family: var(--dd-font-body);
  font-size: 17px;
  line-height: 1.8;
  letter-spacing: 0.01em;
  background: var(--dd-bg);
  color: var(--dd-text);
  -webkit-font-smoothing: antialiased;
}

img, video { max-width: 100%; display: block; }
a { color: inherit; text-decoration: none; }
ul { list-style: none; }
button { font: inherit; cursor: pointer; }

/* ── LAYOUT ───────────────────────────────────────────────────────────── */
.dd-container {
  width: 100%;
  max-width: var(--dd-max-grid);
  margin-inline: auto;
  padding-inline: var(--dd-space-4);
}

.dd-prose {
  max-width: var(--dd-max-prose);
}

.dd-grid-cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: var(--dd-space-3);
}

/* ── SECCIÓN TÍTULO ───────────────────────────────────────────────────── */
.dd-section-title {
  font-family: var(--dd-font-display);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .1em;
  color: var(--dd-muted);
  margin-bottom: var(--dd-space-4);
  display: flex;
  align-items: center;
  gap: var(--dd-space-3);
}
.dd-section-title::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--dd-border);
}

/* ── TARJETA ARTÍCULO ─────────────────────────────────────────────────── */
.dd-card {
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: border-color var(--dd-transition), transform var(--dd-transition);
}
.dd-card:hover {
  border-color: rgba(228, 5, 33, .4);
  transform: translateY(-2px);
}
.dd-card__img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
}
.dd-card__body {
  padding: var(--dd-space-4);
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: var(--dd-space-2);
}
.dd-card__title {
  font-family: var(--dd-font-display);
  font-weight: 800;
  font-size: 15px;
  line-height: 1.3;
}
.dd-card__title a {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dd-card__excerpt {
  font-size: 12.5px;
  line-height: 1.55;
  color: var(--dd-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.dd-card__meta {
  font-size: 11px;
  color: var(--dd-muted);
  margin-top: auto;
}

/* ── CARD EVENTO (archivo/single de evento_deportivo) ───────────────────── */
.card-evento {
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg);
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: var(--dd-space-4);
}
.card-evento__status {
  flex-shrink: 0;
  min-width: 80px;
  text-align: center;
}
.card-evento__date {
  font-size: 11px;
  color: var(--dd-muted);
  margin-top: 4px;
}
.card-evento__info { flex: 1; min-width: 0; }
.card-evento__title {
  font-weight: 600;
  font-size: 14px;
  color: var(--dd-text);
  display: block;
  margin-bottom: 2px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.card-evento__meta {
  display: flex;
  gap: var(--dd-space-2);
  font-size: 11px;
  color: var(--dd-muted);
  flex-wrap: wrap;
}
.card-evento__sede {
  display: inline-flex;
  align-items: center;
  gap: 3px;
}
.card-evento__resultado {
  flex-shrink: 0;
  font-size: 18px;
  font-weight: 700;
  font-family: var(--dd-font-mono);
  color: var(--dd-text);
}

/* ── BADGES ───────────────────────────────────────────────────────────── */
.dd-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 2px 7px;
  border-radius: var(--dd-radius-sm);
  width: fit-content;
  background: rgba(228, 5, 33, .12);
  color: var(--dd-primary-text);
}
.dd-badge--live {
  background: rgba(34, 197, 94, .1);
  color: var(--dd-live);
  border: 1px solid rgba(34, 197, 94, .25);
}
.dd-badge--live::before {
  content: '';
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: var(--dd-live);
  animation: dd-pulse 1.5s ease-in-out infinite;
}
.dd-badge--scheduled {
  background: rgba(242, 183, 5, .1);
  color: var(--dd-gold);
  border: 1px solid rgba(242, 183, 5, .25);
}
.dd-badge--finalizado {
  background: var(--dd-surface-2);
  color: var(--dd-muted);
  border: 1px solid var(--dd-border);
}
@keyframes dd-pulse {
  0%, 100% { opacity: 1; }
  50%       { opacity: .35; }
}

/* ── BOTONES ──────────────────────────────────────────────────────────── */
.dd-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 9px 20px;
  border-radius: var(--dd-radius-md);
  font-size: 13px;
  font-weight: 600;
  border: none;
  cursor: pointer;
  transition: opacity var(--dd-transition), transform var(--dd-transition);
  text-decoration: none;
}
.dd-btn:active { transform: scale(.98); }

.dd-btn--primary { background: var(--dd-primary); color: #fff; }
.dd-btn--primary:hover { opacity: .88; }

.dd-btn--ghost {
  background: transparent;
  color: var(--dd-text);
  border: 1px solid var(--dd-border);
}
.dd-btn--ghost:hover { background: var(--dd-surface-1); border-color: var(--dd-muted); }

/* ── PROSA (single.php / CPTs) ────────────────────────────────────────── */
.dd-prose h2 {
  font-family: var(--dd-font-display);
  font-size: 1.5rem;
  font-weight: 800;
  margin: 2rem 0 .75rem;
}
.dd-prose h3 {
  font-family: var(--dd-font-display);
  font-size: 1.2rem;
  font-weight: 700;
  margin: 1.5rem 0 .5rem;
}
.dd-prose p { margin-bottom: 1.2rem; }
.dd-prose a { color: var(--dd-primary); text-decoration: underline; text-underline-offset: 3px; }
.dd-prose ul, .dd-prose ol { padding-left: 1.5rem; margin-bottom: 1.2rem; }
.dd-prose li { margin-bottom: .4rem; }
.dd-prose blockquote {
  position: relative;
  margin: 2rem 0;
  padding: 1.25rem 1.5rem 1.25rem 1.75rem;
  background: var(--dd-surface-1);
  border-left: 4px solid var(--dd-primary);
  border-radius: 0 var(--dd-radius-md) var(--dd-radius-md) 0;
}
.dd-prose blockquote::before {
  content: '\201C';
  position: absolute;
  top: -6px; left: 14px;
  font-size: 5rem; line-height: 1;
  font-family: Georgia, serif;
  color: var(--dd-primary); opacity: 0.25;
  pointer-events: none;
}
.dd-prose blockquote p {
  font-size: 1.1rem; font-style: italic;
  line-height: 1.7; color: var(--dd-text);
  margin: 0; position: relative;
}
.dd-prose blockquote cite {
  display: block; margin-top: .75rem;
  font-size: 12px; color: var(--dd-muted);
  font-style: normal; font-weight: 600;
  text-transform: uppercase; letter-spacing: .04em;
}
.dd-prose img { border-radius: var(--dd-radius-md); margin: 1.5rem 0; max-width: 100%; height: auto; }
.dd-prose figure { margin: 1.5rem 0; }
.dd-prose figcaption { font-size: 12px; color: var(--dd-muted); margin-top: 6px; text-align: center; }

/* Tablas */
.dd-prose table {
  width: 100%;
  border-collapse: collapse;
  margin: 1.5rem 0;
  font-size: 14px;
  border-radius: var(--dd-radius-md);
  overflow: hidden;
}
.dd-prose thead th {
  background: var(--dd-surface-2);
  color: var(--dd-muted);
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .06em;
  padding: 10px 14px;
  text-align: left;
  border-bottom: 2px solid var(--dd-primary);
  white-space: nowrap;
}
.dd-prose tbody tr {
  border-bottom: 1px solid var(--dd-border);
  transition: background var(--dd-transition);
}
.dd-prose tbody tr:last-child { border-bottom: none; }
.dd-prose tbody tr:hover { background: var(--dd-surface-1); }
.dd-prose td {
  padding: 9px 14px;
  color: var(--dd-text);
  vertical-align: middle;
  line-height: 1.4;
}
.dd-prose td:first-child {
  color: var(--dd-muted);
  font-size: 12px;
  font-weight: 500;
}
.dd-prose td:not(:first-child) {
  font-family: var(--dd-font-mono);
  font-variant-numeric: tabular-nums;
}

/* Extracto destacado */
.article-excerpt {
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--dd-muted);
  border-left: 3px solid var(--dd-primary);
  padding: var(--dd-space-3) var(--dd-space-4);
  background: var(--dd-surface-1);
  border-radius: 0 var(--dd-radius-md) var(--dd-radius-md) 0;
  margin-bottom: var(--dd-space-6);
  font-style: italic;
}

/* ── FORMS ────────────────────────────────────────────────────────────── */
.dd-input {
  width: 100%;
  padding: 9px 12px;
  border-radius: var(--dd-radius-md);
  border: 1px solid var(--dd-border);
  background: var(--dd-surface-2);
  color: var(--dd-text);
  font: inherit;
  font-size: 14px;
  transition: border-color var(--dd-transition);
  outline: none;
}
.dd-input:focus { border-color: var(--dd-primary); }
.dd-input::placeholder { color: var(--dd-muted); }

/* ── UTILIDADES ───────────────────────────────────────────────────────── */
.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;
}
.dd-text-muted  { color: var(--dd-muted); }
.dd-text-live   { color: var(--dd-live); }
.dd-text-gold   { color: var(--dd-gold); }
.dd-text-primary{ color: var(--dd-primary); }
.dd-font-mono   { font-family: var(--dd-font-mono); }

/* ── ALIAS SIN PREFIJO (usado en templates PHP) ───────────────────────────── */
.container  { width: 100%; max-width: var(--dd-max-grid); margin-inline: auto; padding-inline: var(--dd-space-4); }
.grid-cards { display: grid; grid-template-columns: 1fr; gap: var(--dd-space-3); }

/* === Paginación de archivos (deporte, competición, etc.) === */
.pagination .nav-links,
.nav-links {
  display: flex; align-items: center; justify-content: center;
  flex-wrap: wrap; gap: 8px;
}
.pagination .page-numbers,
.nav-links .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 40px; height: 40px; padding: 0 14px;
  border-radius: 10px; border: 1px solid var(--dd-border, #2A3347);
  background: var(--dd-surface-1, #19202E); color: var(--dd-text, #F5F7FA);
  font-family: 'Roboto Mono', monospace; font-size: 13.5px; font-weight: 700;
  text-decoration: none; transition: all .18s ease;
}
.pagination .page-numbers:hover,
.nav-links .page-numbers:hover {
  border-color: var(--dd-primary, #E40521); color: var(--dd-primary, #E40521);
  transform: translateY(-2px);
}
.pagination .page-numbers.current,
.nav-links .page-numbers.current {
  background: var(--dd-primary, #E40521); border-color: var(--dd-primary, #E40521);
  color: #fff; cursor: default; transform: none;
}
.pagination .page-numbers.dots,
.nav-links .page-numbers.dots {
  border: none; background: none; min-width: auto; padding: 0 4px; color: var(--dd-muted, #9AA3B5);
}
.pagination .page-numbers.dots:hover,
.nav-links .page-numbers.dots:hover { transform: none; color: var(--dd-muted, #9AA3B5); }
.pagination .page-numbers.prev, .pagination .page-numbers.next,
.nav-links .page-numbers.prev, .nav-links .page-numbers.next {
  padding: 0 18px; background: var(--dd-surface-2, #222C3C); font-family: var(--dd-font-body, 'Inter', sans-serif);
}
.pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover,
.nav-links .page-numbers.prev:hover, .nav-links .page-numbers.next:hover {
  background: var(--dd-primary, #E40521); color: #fff; border-color: var(--dd-primary, #E40521);
}
.font-mono  { font-family: var(--dd-font-mono); }

.btn {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 9px 20px; border-radius: var(--dd-radius-md);
  font-size: 13px; font-weight: 600; border: none; cursor: pointer;
  transition: opacity var(--dd-transition), transform var(--dd-transition);
  text-decoration: none;
}
.btn:active { transform: scale(.98); }
.btn-primary, .btn-secondary { background: var(--dd-primary); color: #fff; }
.btn-primary:hover, .btn-secondary:hover { opacity: .88; }
.btn-ghost {
  background: transparent; color: var(--dd-text);
  border: 1px solid var(--dd-border);
}
.btn-ghost:hover { background: var(--dd-surface-1); border-color: var(--dd-muted); }
.btn-premium {
  background: linear-gradient(135deg, var(--dd-primary), #a8031a);
  color: #fff;
  box-shadow: 0 4px 14px rgba(228, 5, 33, .32);
  font-size: 12px;
  padding: 8px 18px;
}
.btn-premium:hover {
  box-shadow: 0 6px 18px rgba(228, 5, 33, .44);
  transform: translateY(-1px);
  opacity: 1;
}
.btn-premium span { transition: transform var(--dd-transition); display: inline-block; }
.btn-premium:hover span { transform: translateX(3px); }

/* ── HEADER & NAVEGACIÓN ──────────────────────────────────────────────────── */
.skip-link {
  position: absolute; top: -100%; left: var(--dd-space-4);
  background: var(--dd-primary); color: #fff;
  padding: 8px 16px; border-radius: 0 0 var(--dd-radius-md) var(--dd-radius-md);
  z-index: 9999; font-size: 13px;
}
.skip-link:focus { top: 0; }

.site-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--dd-surface-1);
  border-bottom: 1px solid var(--dd-border);
  height: var(--dd-header-h);
}
.site-header__inner {
  display: flex; align-items: center; gap: var(--dd-space-4);
  height: 100%;
  max-width: var(--dd-max-grid);
  margin-inline: auto;
  padding-inline: var(--dd-space-4);
}

/* Logo */
.site-logo { text-decoration: none; flex-shrink: 0; }
.site-logo__text {
  font-family: var(--dd-font-display); font-weight: 900;
  font-size: 22px; letter-spacing: -.02em; white-space: nowrap;
  color: var(--dd-text);
}
.site-logo__text span { color: var(--dd-primary); }

/* Nav principal — centrado absoluto entre logo y acciones */
.nav-primary-wrap {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
}
.nav-primary {
  display: flex; align-items: center; gap: 0;
  height: var(--dd-header-h); list-style: none;
}
.nav-primary__item { position: static; }
.nav-primary__item > a {
  display: flex; align-items: center; gap: 4px;
  height: var(--dd-header-h); padding: 0 11px;
  font-size: 12px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .05em;
  color: var(--dd-text); white-space: nowrap;
  border-bottom: 2px solid transparent;
  transition: color var(--dd-transition), border-color var(--dd-transition);
}
.nav-primary__item > a:hover,
.nav-primary__item:hover > a,
.nav-primary__item.current-menu-item > a {
  color: var(--dd-text);
  border-bottom-color: var(--dd-primary);
}
.nav-primary__item--jcc > a {
  color: var(--dd-gold);
  background: rgba(242, 183, 5, .08);
  border-radius: var(--dd-radius-sm);
  border-bottom-color: transparent;
  margin-left: var(--dd-space-2);
  padding-inline: 10px;
}
.nav-primary__item--jcc > a:hover {
  background: rgba(242, 183, 5, .16);
  color: var(--dd-gold);
  border-bottom-color: transparent;
}
[data-theme="light"] .nav-primary__item--jcc > a,
[data-theme="light"] .nav-primary__item--jcc > a:hover {
  color: #B45309;
}

/* ── MEGA-MENÚ ─────────────────────────────────────────────────────────── */
/* El contenedor .site-header debe tener position:relative para el absolute del megamenu */
.site-header { position: relative; /* sticky + relative */ }

.nav-primary__item.menu-item-has-children > a::after {
  content: '';
  display: inline-block;
  width: 0; height: 0;
  border-left: 3px solid transparent;
  border-right: 3px solid transparent;
  border-top: 4px solid currentColor;
  opacity: .5;
  flex-shrink: 0;
}

.sub-menu.megamenu {
  position: fixed;
  left: 0; right: 0;
  top: var(--dd-header-h);
  background: var(--dd-surface-1);
  border-top: 2px solid var(--dd-primary);
  border-bottom: 1px solid var(--dd-border);
  box-shadow: 0 12px 32px rgba(0, 0, 0, .55);
  z-index: 99; list-style: none;
  /* oculto por defecto */
  opacity: 0; visibility: hidden;
  transform: translateY(-8px);
  transition: opacity 130ms ease, visibility 130ms ease, transform 130ms ease;
  pointer-events: none;
}
.nav-primary__item.menu-item-has-children:hover .megamenu,
.nav-primary__item.menu-item-has-children:focus-within .megamenu {
  opacity: 1; visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}

/* Columnas dentro del mega-menú */
.megamenu__inner {
  max-width: var(--dd-max-grid); margin-inline: auto;
  padding: var(--dd-space-6) var(--dd-space-4);
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: var(--dd-space-6);
}
.megamenu__group { }
.megamenu__group-title {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: var(--dd-primary);
  display: block; margin-bottom: var(--dd-space-3);
  padding-bottom: var(--dd-space-2);
  border-bottom: 1px solid var(--dd-border);
}
.megamenu__group ul { list-style: none; }
.megamenu__group li a {
  display: flex; align-items: center; gap: 6px;
  padding: 5px 0; font-size: 13px; color: var(--dd-muted);
  transition: color var(--dd-transition), gap var(--dd-transition);
  border-bottom: none;
  text-transform: none; letter-spacing: 0; font-weight: 400;
  height: auto;
}
.megamenu__group li a:hover { color: var(--dd-text); gap: 9px; }
.megamenu__group li a::before {
  content: '\203A'; color: var(--dd-primary); font-size: 14px; line-height: 1;
}

/* Footer link del mega-menú */
.megamenu__footer {
  max-width: var(--dd-max-grid); margin-inline: auto;
  padding: var(--dd-space-3) var(--dd-space-4);
  border-top: 1px solid var(--dd-border);
  display: flex; align-items: center; justify-content: space-between;
}
.megamenu__footer a {
  font-size: 12px; color: var(--dd-primary); font-weight: 600;
  text-decoration: none; letter-spacing: 0;
  text-transform: none; font-family: var(--dd-font-body);
  height: auto; padding: 0; border-bottom: none;
}
.megamenu__footer a:hover { text-decoration: underline; }

/* Acciones header */
.header-actions { display: flex; align-items: center; gap: var(--dd-space-2); flex-shrink: 0; }
.btn-icon {
  display: flex; align-items: center; justify-content: center;
  width: 34px; height: 34px; border-radius: var(--dd-radius-md);
  border: 1px solid var(--dd-border); background: transparent;
  color: var(--dd-muted);
  transition: color var(--dd-transition), border-color var(--dd-transition);
}
.btn-icon:hover { color: var(--dd-text); border-color: var(--dd-muted); }

/* Hamburguesa */
.nav-toggle {
  display: flex; flex-direction: column; gap: 4px;
  align-items: center; justify-content: center;
  width: 34px; height: 34px;
  background: transparent; border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-md); padding: 0;
}
.nav-toggle span {
  display: block; width: 16px; height: 1.5px;
  background: var(--dd-muted);
  transition: transform 200ms ease, opacity 200ms ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1) { transform: translateY(5.5px) rotate(45deg); }
.nav-toggle[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.nav-toggle[aria-expanded="true"] span:nth-child(3) { transform: translateY(-5.5px) rotate(-45deg); }

/* Nav móvil */
.nav-mobile {
  display: none;
  background: var(--dd-surface-1);
  border-bottom: 1px solid var(--dd-border);
  padding: var(--dd-space-3) var(--dd-space-4);
}
.nav-mobile.is-open { display: block; }
.nav-mobile ul { list-style: none; }
.nav-mobile ul a {
  display: block; padding: 9px var(--dd-space-3);
  font-size: 14px; color: var(--dd-muted);
  border-radius: var(--dd-radius-md);
  transition: background var(--dd-transition), color var(--dd-transition);
}
.nav-mobile ul a:hover { background: var(--dd-surface-2); color: var(--dd-text); }
.nav-mobile .sub-menu { padding-left: var(--dd-space-4); }
.nav-mobile__section-title {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: var(--dd-primary);
  padding: var(--dd-space-4) var(--dd-space-3) var(--dd-space-2);
  display: block;
}
/* Acordeón del menú móvil (Resultados / Todos los deportes) — colapsado por
   defecto para no obligar a scrollear ~5000px por listas siempre abiertas. */
.nav-mobile__accordion { margin: 0; }
.nav-mobile__accordion summary {
  font-size: 10px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .1em; color: var(--dd-primary);
  padding: var(--dd-space-4) var(--dd-space-3) var(--dd-space-2);
  display: flex; align-items: center; justify-content: space-between;
  cursor: pointer; list-style: none;
  min-height: 24px;
}
.nav-mobile__accordion summary::-webkit-details-marker { display: none; }
.nav-mobile__accordion summary::after {
  content: '';
  width: 7px; height: 7px;
  border-right: 1.5px solid var(--dd-primary);
  border-bottom: 1.5px solid var(--dd-primary);
  transform: rotate(45deg);
  transition: transform var(--dd-transition);
  flex-shrink: 0;
}
.nav-mobile__accordion[open] summary::after { transform: rotate(-135deg); }

@media (max-width: 959px) {
  .nav-primary-wrap { display: none; }
  /* Touch target mínimo recomendado (44x44) para los dos controles de más
     uso en mobile: abrir menú y cambiar tema. En desktop se quedan en 34px. */
  .btn-icon, .nav-toggle { width: 44px; height: 44px; }
}
@media (min-width: 960px) {
  .nav-toggle { display: none; }
  .nav-mobile { display: none !important; }
}

/* ── HERO JCC ─────────────────────────────────────────────────────────────── */
.hero-jcc {
  background: linear-gradient(135deg, #080C17 0%, #0D1B3E 60%, #0B1530 100%);
  padding: 56px 0 48px;
  border-bottom: 1px solid var(--dd-border);
  position: relative; overflow: hidden;
}
.hero-jcc::before {
  content: ''; position: absolute; inset: 0;
  background: radial-gradient(ellipse at 70% 50%, rgba(0, 80, 179, .18) 0%, transparent 65%);
  pointer-events: none;
}
.hero-jcc__inner {
  display: grid; grid-template-columns: 1fr;
  justify-items: center; text-align: center;
  max-width: 760px; margin-inline: auto;
  gap: var(--dd-space-6); position: relative;
}
.hero-jcc__content { display: flex; flex-direction: column; align-items: center; }
.hero-jcc__eyebrow {
  font-size: 11px; font-weight: 700; text-transform: uppercase;
  letter-spacing: .12em; color: #A8B3CC;
  margin-bottom: var(--dd-space-3);
}
.hero-jcc__title {
  font-family: var(--dd-font-display);
  font-size: clamp(2.8rem, 8vw, 5.2rem);
  font-weight: 900; line-height: 1.0; letter-spacing: -0.02em;
  color: var(--dd-gold); margin-bottom: var(--dd-space-4);
  text-wrap: balance;
}
.hero-jcc__title span { color: #F5F7FA; }
.hero-jcc__medal-icon { display: block; margin: 0 auto var(--dd-space-3); }
.hero-jcc__season {
  font-size: 14px; font-weight: 600; color: #A8B3CC;
  letter-spacing: .04em; text-transform: uppercase;
  margin: -8px 0 var(--dd-space-4);
}
.hero-jcc__subtitle {
  font-size: 15px; line-height: 1.65; color: #A8B3CC;
  max-width: 540px; margin: 0 auto var(--dd-space-6);
  text-wrap: pretty;
}
.hero-jcc__actions { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--dd-space-3); }
.hero-jcc__right { display: flex; flex-direction: column; align-items: center; gap: var(--dd-space-2); margin-top: var(--dd-space-2); }
.hero-jcc__countdown { display: flex; justify-content: center; gap: var(--dd-space-3); }
.countdown-unit {
  background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10);
  border-radius: var(--dd-radius-md); padding: 14px 12px;
  text-align: center; min-width: 76px;
}
.countdown-unit__number {
  display: block; font-family: var(--dd-font-mono);
  font-size: 2.2rem; font-weight: 700;
  color: var(--dd-text); line-height: 1; letter-spacing: .02em;
}
.countdown-unit__label {
  display: block; font-size: 9px; text-transform: uppercase;
  letter-spacing: .12em; color: var(--dd-muted); margin-top: 5px;
}
.hero-jcc__date { font-size: 11px; color: #A8B3CC; text-align: center; text-transform: uppercase; letter-spacing: .08em; }

/* ── MEDALLERO RD ─────────────────────────────────────────────────────────── */
.medallero-rd {
  display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 20px;
  background: linear-gradient(150deg, #161c2b 0%, #0e1220 100%);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 14px; padding: 20px 24px; margin: 24px 0;
  box-shadow: 0 8px 32px rgba(0,0,0,.45), 0 2px 0 rgba(255,255,255,.05) inset;
}
.medallero-rd__actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 4px; }
.medallero-rd__info { display: flex; align-items: center; gap: 12px; flex: 0 1 auto; min-width: 180px; justify-content: center; }
.medallero-rd__flag { font-size: 2rem; }
/* Fondo oscuro fijo en ambos temas — texto e íconos también fijos (ver .hero-jcc) */
.medallero-rd__country { font-weight: 700; font-size: 15px; color: #F5F7FA; }
.medallero-rd__label { font-size: 11px; color: #A8B3CC; margin-top: 2px; }
.medallero-rd__actions .btn-ghost {
  color: #F5F7FA;
  border-color: rgba(255, 255, 255, .28);
}
.medallero-rd__actions .btn-ghost:hover {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .5);
}

.medallero-rd__medals { display: flex; gap: 10px; }

/* Celda individual — pantalla LED rehundida */
.medallero-rd__medal {
  position: relative; text-align: center;
  min-width: 68px; padding: 12px 14px 10px;
  background: linear-gradient(180deg, #090d16 0%, #060911 100%);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 8px;
  box-shadow:
    inset 0 3px 10px rgba(0,0,0,.7),
    inset 0 -1px 0 rgba(255,255,255,.04),
    0 1px 0 rgba(255,255,255,.06);
}
/* Reflejo de pantalla */
.medallero-rd__medal::before {
  content: '';
  position: absolute; top: 0; left: 0; right: 0; height: 45%;
  background: linear-gradient(180deg, rgba(255,255,255,.05) 0%, transparent 100%);
  border-radius: 7px 7px 0 0; pointer-events: none;
}

.medallero-rd__medal-icon { display: block; font-size: 1.25rem; margin-bottom: 6px; }

.medallero-rd__medal-count {
  display: block; font-family: var(--dd-font-mono);
  font-size: 1.75rem; font-weight: 700; line-height: 1; color: #e8edf8;
  text-shadow: 0 0 14px rgba(232,237,248,.25);
}

/* Glow por tipo de medalla */
#medal-oro   { color: #f2b705; text-shadow: 0 0 18px rgba(242,183,5,.55); }
#medal-plata { color: #c9d2e4; text-shadow: 0 0 14px rgba(201,210,228,.35); }
#medal-bronce{ color: #cd8a3a; text-shadow: 0 0 14px rgba(205,138,58,.4); }

.medallero-rd__medal-label {
  display: block; font-size: 9px; text-transform: uppercase;
  letter-spacing: .1em; color: #A8B3CC; margin-top: 5px;
}

/* ── CARD ARTICLE ─────────────────────────────────────────────────────────── */
.card-article {
  background: var(--dd-surface-1); border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg); overflow: hidden;
  display: flex; flex-direction: column;
  transition: border-color var(--dd-transition), transform var(--dd-transition);
}
.card-article:hover { border-color: rgba(228,5,33,.4); transform: translateY(-2px); }
.card-article__img {
  width: 100%; aspect-ratio: 16/9; object-fit: cover;
  display: block; background: var(--dd-surface-2);
}
.card-article--hero .card-article__img { aspect-ratio: 3/2; }
.card-article__body {
  padding: var(--dd-space-4); flex: 1;
  display: flex; flex-direction: column; gap: var(--dd-space-2);
}
.card-article__meta { display: flex; align-items: center; gap: var(--dd-space-2); font-size: 11px; }
.card-article__deporte {
  display: inline-block; background: rgba(228,5,33,.12); color: var(--dd-primary);
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
  padding: 2px 7px; border-radius: var(--dd-radius-sm);
}
.card-article__fecha { color: var(--dd-muted); }
.card-article__titulo {
  font-family: var(--dd-font-display); font-weight: 800;
  font-size: 15px; line-height: 1.3; margin: 0;
}
.card-article--hero .card-article__titulo { font-size: clamp(17px, 2vw, 21px); }
.card-article__titulo a { color: inherit; text-decoration: none; }
.card-article__titulo a:hover { color: var(--dd-primary); }
.card-article__excerpt {
  font-size: 13px; color: var(--dd-muted); line-height: 1.55;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.card-article:not(.card-article--hero) .card-article__titulo a {
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}

/* ── Hero card: imagen full-bleed + texto superpuesto ─────────────────── */
.card-article--hero {
  position: relative;
  flex-direction: row; /* reset — se sobreescribe abajo */
}
.card-article--hero { flex-direction: column; }
.card-article--hero > a { position: relative; display: block; flex-shrink: 0; }
.card-article--hero .card-article__img {
  aspect-ratio: 16/9;
  width: 100%; height: 100%;
  object-fit: cover; display: block;
}
.card-article--hero .card-article__body {
  position: relative;
  background: linear-gradient(to bottom, rgba(11,15,26,0) 0%, rgba(11,15,26,.55) 30%, rgba(11,15,26,.97) 100%);
  padding: var(--dd-space-5) var(--dd-space-5) var(--dd-space-5);
  gap: var(--dd-space-2);
}

/* En desktop: el body se superpone sobre la imagen */
@media (min-width: 640px) {
  .card-article--hero {
    position: relative;
    overflow: hidden;
    min-height: 340px;
  }
  .card-article--hero > a {
    position: absolute; inset: 0;
    z-index: 0;
  }
  .card-article--hero .card-article__img {
    width: 100%; height: 100%; aspect-ratio: unset;
  }
  .card-article--hero .card-article__body {
    position: absolute; bottom: 0; left: 0; right: 0;
    z-index: 1;
    background: linear-gradient(to top, rgba(11,15,26,.97) 0%, rgba(11,15,26,.7) 60%, transparent 100%);
    padding: var(--dd-space-6) var(--dd-space-5) var(--dd-space-5);
  }
  .card-article--hero .card-article__deporte {
    background: var(--dd-primary);
    color: #fff;
  }
  .card-article--hero .card-article__fecha { color: rgba(255,255,255,.65); }
  .card-article--hero .card-article__titulo a { color: #fff; }
  .card-article--hero .card-article__titulo { font-size: clamp(18px, 2.2vw, 26px); }
  .card-article--hero .card-article__excerpt { color: rgba(255,255,255,.78); }
}

/* ── GRID DESTACADOS ─────────────────────────────────────────────────────── */
.grid-destacados {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-3);
}

/* ── SECCIÓN HOME ─────────────────────────────────────────────────────────── */
.home-section { margin-bottom: var(--dd-space-8); }
.home-section > .container { padding-top: var(--dd-space-6); }
.section-title {
  font-family: var(--dd-font-display); font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em; color: var(--dd-muted);
  margin-bottom: var(--dd-space-4); display: flex; align-items: center; gap: var(--dd-space-3);
}
.section-title::after { content: ''; flex: 1; height: 1px; background: var(--dd-border); }

/* ── RESPONSIVE ───────────────────────────────────────────────────────── */
@media (min-width: 640px) {
  .dd-grid-cards, .grid-cards { grid-template-columns: repeat(2, 1fr); }
  .grid-destacados {
    grid-template-columns: 3fr 2fr;
    grid-template-rows: auto auto;
    align-items: start;
  }
  .grid-destacados > .card-article--hero { grid-row: 1 / 3; align-self: stretch; }
  .grid-destacados > .grid-cards--3 { grid-template-columns: 1fr; grid-template-rows: 1fr 1fr; }
  .hero-jcc__countdown { gap: var(--dd-space-4); }
}

@media (min-width: 960px) {
  .dd-grid-cards, .grid-cards { grid-template-columns: repeat(3, 1fr); }
  .hero-jcc { padding: 72px 0 64px; }
  .hero-jcc__inner { gap: var(--dd-space-8); }
  /* medallero gap uniforme — definido en base styles */
  .grid-destacados { grid-template-columns: 1fr 1fr; }
  .card-article--hero .card-article__titulo { font-size: clamp(18px, 1.6vw, 22px); }
}

@media (min-width: 1200px) {
  .dd-grid-cards, .grid-cards { grid-template-columns: repeat(4, 1fr); }
  .grid-destacados { grid-template-columns: 3fr 2fr; }
}

/* ── LIVE DOT ─────────────────────────────────────────────────────────────── */
.live-dot {
  display: inline-block; width: 6px; height: 6px;
  border-radius: 50%; background: var(--dd-live); flex-shrink: 0;
  animation: dd-pulse 1.5s ease-in-out infinite;
}

/* ── NEWS TICKER ──────────────────────────────────────────────────────────── */
.news-ticker {
  display: flex; align-items: center; overflow: hidden;
  background: var(--dd-bg); border-bottom: 1px solid var(--dd-border);
  height: 36px;
}
.news-ticker__label {
  display: flex; align-items: center; gap: 6px;
  padding: 0 14px; background: rgba(228,5,33,.10); color: var(--dd-primary);
  font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  white-space: nowrap; height: 100%; flex-shrink: 0;
  border-right: 1px solid rgba(228,5,33,.16);
}
.news-ticker__viewport { overflow: hidden; flex: 1; height: 100%; }
.news-ticker__track {
  display: flex; align-items: center;
  height: 100%; white-space: nowrap;
  animation: ticker-scroll 170s linear infinite;
}
.news-ticker__item {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  padding: 0 16px; font-size: 12px; color: var(--dd-muted);
  text-align: center; text-transform: uppercase;
  transition: color var(--dd-transition); flex-shrink: 0;
}
.news-ticker__item:hover { color: var(--dd-text); }
.news-ticker__badge {
  background: rgba(228,5,33,.12); color: var(--dd-primary);
  font-size: 9px; font-weight: 700; padding: 1px 5px; border-radius: 3px;
}
.news-ticker__sep { color: var(--dd-border); padding: 0 4px; flex-shrink: 0; }
@keyframes ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
.news-ticker:hover .news-ticker__track { animation-play-state: paused; }

/* ── MLB LIVE STRIP ────────────────────────────────────────────────────────── */
.live-strip {
  background: var(--dd-bg); border-bottom: 1px solid var(--dd-border);
  overflow-x: auto; scrollbar-width: none;
}
.live-strip::-webkit-scrollbar { display: none; }
.live-strip__inner {
  display: flex; align-items: stretch; justify-content: center; gap: 0;
  padding: 10px var(--dd-space-4); min-height: 52px;
  width: max-content; min-width: 100%;
}
.live-strip__placeholder { font-size: 12px; color: var(--dd-muted); }
.mlb-strip-loader { display: flex; align-items: center; padding: 2px 0; }

/* Columna por juego — separadas por línea vertical, sin tarjeta redondeada */
.mlb-game-card {
  display: flex; flex-direction: column; gap: 4px;
  padding: 0 20px; border-right: 1px solid var(--dd-border);
  flex-shrink: 0; white-space: nowrap; min-width: 130px;
}
.mlb-game-card:first-child { padding-left: 0; }
.mlb-game-card:last-child { border-right: none; }

.mlb-game-card__head {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  font-family: var(--dd-font-mono); font-size: 10px; letter-spacing: .06em;
  text-transform: uppercase; color: var(--dd-muted);
}
.mlb-game-card__league { font-weight: 700; }

.mlb-team { display: flex; align-items: center; gap: 6px; }
.mlb-team__logo { width: 16px; height: 16px; object-fit: contain; flex-shrink: 0; }
.mlb-team__abbr { font-family: var(--dd-font-mono); font-weight: 700; font-size: 13px; color: var(--dd-text); letter-spacing: .04em; flex: 1; }
.mlb-score {
  font-family: var(--dd-font-mono); font-weight: 700;
  font-size: 16px; min-width: 16px; text-align: right; color: var(--dd-text);
}
.mlb-status--live { color: var(--dd-live); display: inline-flex; align-items: center; gap: 4px; }
.mlb-game-card--live .mlb-game-card__head { color: var(--dd-live); }

/* ── JCC ACTIONS — mayúsculas + centrado ──────────────────────────────────── */
.hero-jcc__actions .btn {
  text-transform: uppercase; letter-spacing: .06em; font-size: 12px;
}
/* El hero tiene fondo oscuro fijo en ambos temas — sus botones ghost no deben
   heredar el color de texto reactivo al tema (queda invisible en modo claro). */
.hero-jcc__actions .btn-ghost {
  color: #F5F7FA;
  border-color: rgba(255, 255, 255, .28);
}
.hero-jcc__actions .btn-ghost:hover {
  background: rgba(255, 255, 255, .08);
  border-color: rgba(255, 255, 255, .5);
}

/* ── FOOTER ──────────────────────────────────────────────────────────────── */
.site-footer {
  background: var(--dd-bg); border-top: 2px solid var(--dd-primary);
  padding: var(--dd-space-10) 0 0; margin-top: var(--dd-space-8);
}
.footer-grid {
  display: grid; grid-template-columns: 1fr;
  gap: var(--dd-space-8); padding-bottom: var(--dd-space-8);
}
.footer-brand .site-logo__text { font-size: 22px; font-weight: 900; display: inline-block; }
.footer-brand .site-logo__text span { color: var(--dd-primary); }
.footer-brand__desc {
  font-size: 13px; color: var(--dd-muted); line-height: 1.65; margin-top: 12px; max-width: 34ch;
}
.footer-social { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.footer-social-link {
  font-size: 11px; color: var(--dd-muted);
  border: 1px solid var(--dd-border); padding: 4px 10px; border-radius: 4px;
  transition: color var(--dd-transition), border-color var(--dd-transition);
}
.footer-social-link:hover { color: var(--dd-text); border-color: var(--dd-muted); }
.footer-heading {
  font-family: var(--dd-font-display); font-size: 12px; font-weight: 800;
  text-transform: uppercase; letter-spacing: .08em; color: var(--dd-text);
  margin-bottom: var(--dd-space-3); padding-bottom: var(--dd-space-2);
  border-bottom: 2px solid var(--dd-primary); display: inline-block;
}
.footer-newsletter-form { display: flex; gap: 6px; flex-wrap: wrap; }
.footer-newsletter-form input[type="email"] {
  flex: 1; min-width: 130px; padding: 8px 12px; border-radius: 6px;
  border: 1px solid var(--dd-border); background: var(--dd-surface-2);
  color: var(--dd-text); font: inherit; font-size: 13px; outline: none;
  transition: border-color var(--dd-transition);
}
.footer-newsletter-form input[type="email"]:focus { border-color: var(--dd-primary); }
.footer-links { list-style: none; display: grid; grid-template-columns: 1fr 1fr; gap: 2px 12px; }
.footer-links li a {
  display: block; padding: 5px 0; font-size: 13px; color: var(--dd-muted);
  transition: color var(--dd-transition);
}
.footer-links li a:hover { color: var(--dd-text); }
.footer-bottom {
  border-top: 1px solid var(--dd-border); padding: var(--dd-space-4);
  text-align: center;
}
.footer-bottom span { color: var(--dd-muted); font-size: 11px; letter-spacing: .04em; text-transform: uppercase; }
.footer-bottom a { color: var(--dd-muted); text-decoration: underline; }
.footer-bottom a:hover { color: var(--dd-text); }
@media (min-width: 640px) {
  .footer-grid { grid-template-columns: 1.5fr 1fr 1fr; }
  .footer-links { grid-template-columns: 1fr; }
}
@media (min-width: 960px) {
  .footer-grid { grid-template-columns: 2fr 1fr 1fr; }
}

/* ══════════════════════════════════════════════════════════════════════════
   SINGLE POST — artículo individual
   ══════════════════════════════════════════════════════════════════════════ */

/* Barra de progreso de lectura */
.reading-progress {
  position: fixed;
  top: 0;
  left: 0;
  height: 3px;
  width: 100%;
  transform: scaleX(0);
  transform-origin: left;
  background: var(--dd-primary);
  z-index: 200;
  transition: transform .1s linear;
  border-radius: 0 2px 2px 0;
}

/* ── HERO ──────────────────────────────────────────────────────────────── */
.article-hero {
  position: relative;
  background: var(--dd-surface-1);
  overflow: hidden;
}

.article-hero__img-wrap {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9; /* = dd-hero 1600x900 — reserva el espacio antes de que cargue la imagen (fix CLS, 4 ago 2026) */
  max-height: 540px;
  overflow: hidden;
}

.article-hero__img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.article-hero__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to bottom,
    rgba(11,15,26,.1) 0%,
    rgba(11,15,26,.55) 50%,
    rgba(11,15,26,.92) 100%
  );
}

.article-hero__content {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  padding-bottom: var(--dd-space-8);
  padding-top: var(--dd-space-6);
}

.article-hero__content--no-img {
  position: static;
  padding: var(--dd-space-8) 0 var(--dd-space-6);
  background: var(--dd-surface-1);
  border-bottom: 1px solid var(--dd-border);
}

.article-hero__badges {
  display: flex;
  align-items: center;
  gap: var(--dd-space-2);
  margin-bottom: var(--dd-space-3);
  flex-wrap: wrap;
}

.article-hero__title {
  font-family: var(--dd-font-display);
  font-size: clamp(1.6rem, 4.5vw, 2.6rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: #fff;
  text-shadow: 0 2px 12px rgba(0,0,0,.4);
  margin-bottom: var(--dd-space-4);
  max-width: 860px;
}

.article-hero__content--no-img .article-hero__title {
  color: var(--dd-text);
  text-shadow: none;
}

.article-hero__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--dd-space-2);
  font-size: 13px;
  color: rgba(255,255,255,.82);
}

.article-hero__content--no-img .article-hero__meta {
  color: var(--dd-muted);
}

.article-meta-author,
.article-meta-date,
.article-meta-reading,
.article-meta-updated {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.article-meta-sep {
  color: rgba(255,255,255,.4);
}

.article-hero__content--no-img .article-meta-sep {
  color: var(--dd-border);
}

/* Badges */
.badge {
  display: inline-flex;
  align-items: center;
  padding: 3px 10px;
  border-radius: var(--dd-radius-sm);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  text-decoration: none;
  transition: opacity var(--dd-transition);
}
.badge:hover { opacity: .82; }

.badge--deporte {
  background: var(--dd-primary);
  color: #fff;
}

.badge--comp {
  background: var(--dd-surface-2);
  color: var(--dd-text);
  border: 1px solid var(--dd-border);
}

.badge--sm {
  padding: 2px 7px;
  font-size: 10px;
  background: var(--dd-surface-2);
  color: var(--dd-muted);
  border: 1px solid var(--dd-border);
}

/* ── LAYOUT CONTENIDO ──────────────────────────────────────────────────── */
.article-layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-10);
  padding-top: var(--dd-space-8);
  padding-bottom: var(--dd-space-10);
  align-items: start;
}

@media (min-width: 900px) {
  .article-layout {
    grid-template-columns: minmax(0, 1fr) 280px;
  }
}

/* Extracto destacado */
.article-excerpt {
  font-size: 1.1rem;
  line-height: 1.6;
  color: var(--dd-muted);
  border-left: 3px solid var(--dd-primary);
  padding-left: var(--dd-space-4);
  margin-bottom: var(--dd-space-6);
  font-style: italic;
}

/* Ad slots */
.ad-slot { margin-bottom: var(--dd-space-6); }
.ad-slot--in-article { margin-bottom: var(--dd-space-8); }

/* Contenido (prose) */
.article-content {
  max-width: var(--dd-max-prose);
}

/* ── FOOTER DEL ARTÍCULO ───────────────────────────────────────────────── */
.article-footer {
  margin-top: var(--dd-space-8);
  padding-top: var(--dd-space-6);
  border-top: 1px solid var(--dd-border);
  display: flex;
  flex-direction: column;
  gap: var(--dd-space-4);
}

.article-footer__tags {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dd-space-2);
}

.article-footer__tags a {
  display: inline-block;
  padding: 4px 10px;
  border-radius: var(--dd-radius-sm);
  background: var(--dd-surface-2);
  border: 1px solid var(--dd-border);
  font-size: 12px;
  color: var(--dd-muted);
  transition: color var(--dd-transition), border-color var(--dd-transition);
}

.article-footer__tags a:hover {
  color: var(--dd-text);
  border-color: var(--dd-muted);
}

.article-footer__share {
  display: flex;
  align-items: center;
  gap: var(--dd-space-2);
  flex-wrap: wrap;
}

.share-label {
  font-size: 12px;
  color: var(--dd-muted);
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.share-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 14px;
  border-radius: var(--dd-radius-md);
  background: var(--dd-surface-2);
  border: 1px solid var(--dd-border);
  font-size: 12px;
  font-weight: 600;
  color: var(--dd-text);
  transition: background var(--dd-transition), border-color var(--dd-transition), color var(--dd-transition);
  text-decoration: none;
}

.share-btn:hover {
  background: var(--dd-surface-1);
  border-color: var(--dd-muted);
}

/* Colores por red social */
.share-btn[title="WhatsApp"] { color: #25D366; }
.share-btn[title="WhatsApp"]:hover { border-color: #25D366; background: rgba(37,211,102,.08); }
.share-btn[title="Facebook"] { color: #1877F2; }
.share-btn[title="Facebook"]:hover { border-color: #1877F2; background: rgba(24,119,242,.08); }
.share-btn[title="X"] { color: #fff; }
.share-btn[title="Copiar"] { color: var(--dd-muted); }

.article-divider {
  border: none;
  border-top: 1px solid var(--dd-border);
  margin: var(--dd-space-8) 0;
}

/* ── ARTÍCULOS RELACIONADOS ────────────────────────────────────────────── */
.related-posts__title {
  font-family: var(--dd-font-display);
  font-size: 1rem;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dd-muted);
  margin-bottom: var(--dd-space-4);
  padding-bottom: var(--dd-space-3);
  border-bottom: 2px solid var(--dd-primary);
  display: inline-block;
}

.related-posts__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-4);
}

@media (min-width: 560px) {
  .related-posts__grid { grid-template-columns: repeat(3, 1fr); }
}

.related-card {
  border-radius: var(--dd-radius-lg);
  overflow: hidden;
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  transition: transform var(--dd-transition), border-color var(--dd-transition);
}

.related-card:hover {
  transform: translateY(-3px);
  border-color: rgba(228,5,33,.35);
}

.related-card__img-link { display: block; aspect-ratio: 16/9; overflow: hidden; }
.related-card__img { width: 100%; height: 100%; object-fit: cover; transition: transform .3s ease; display: block; }
.related-card:hover .related-card__img { transform: scale(1.04); }

.related-card__body {
  padding: var(--dd-space-3) var(--dd-space-4) var(--dd-space-4);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.related-card__title {
  font-family: var(--dd-font-display);
  font-size: 14px;
  font-weight: 700;
  line-height: 1.35;
}

.related-card__title a { color: var(--dd-text); text-decoration: none; }
.related-card__title a:hover { color: var(--dd-primary); }

.related-card__date {
  font-size: 11px;
  color: var(--dd-muted);
}

/* ── SIDEBAR ───────────────────────────────────────────────────────────── */
.article-sidebar {
  position: sticky;
  top: calc(var(--dd-header-h) + 16px);
  display: flex;
  flex-direction: column;
  gap: var(--dd-space-4);
}

.sidebar-widget {
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg);
  padding: var(--dd-space-4);
}

.sidebar-widget__title {
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--dd-muted);
  margin-bottom: var(--dd-space-4);
  padding-bottom: var(--dd-space-2);
  border-bottom: 1px solid var(--dd-border);
}

.sidebar-news-list {
  display: flex;
  flex-direction: column;
  gap: var(--dd-space-3);
  margin-bottom: var(--dd-space-3);
}

.sidebar-news-item {
  display: flex;
  gap: var(--dd-space-2);
  align-items: flex-start;
}

.sidebar-news-item__img {
  flex-shrink: 0;
  width: 68px;
  height: 51px;
  overflow: hidden;
  border-radius: var(--dd-radius-sm);
  display: block;
}

.sidebar-news-item__img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .3s ease;
}

.sidebar-news-item:hover .sidebar-news-item__img img { transform: scale(1.05); }

.sidebar-news-item__body {
  flex: 1;
  min-width: 0;
}

.sidebar-news-item__title {
  display: block;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  color: var(--dd-text);
  text-decoration: none;
  margin-bottom: 3px;
  transition: color var(--dd-transition);
  overflow: hidden;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
}

.sidebar-news-item__title:hover { color: var(--dd-primary); }

.sidebar-news-item__date {
  font-size: 11px;
  color: var(--dd-muted);
}

.sidebar-widget__more {
  display: block;
  text-align: center;
  font-size: 12px;
  font-weight: 600;
  color: var(--dd-primary);
  text-decoration: none;
  padding: var(--dd-space-2) 0;
  border-top: 1px solid var(--dd-border);
  transition: opacity var(--dd-transition);
}

.sidebar-widget__more:hover { opacity: .8; }

/* ── DROP CAP ──────────────────────────────────────────────────────────────── */
.dd-prose > p:first-of-type::first-letter {
  float: left;
  font-family: var(--dd-font-display);
  font-size: 5rem;
  font-weight: 900;
  line-height: .8;
  margin-right: 10px;
  margin-top: 8px;
  color: var(--dd-primary);
}

/* ── BARRA FLOTANTE DE COMPARTIR ───────────────────────────────────────────── */
.share-float {
  position: sticky;
  top: 90px;
  float: left;
  width: 40px;
  margin-left: -60px;
  display: flex;
  flex-direction: column;
  gap: 7px;
  align-items: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
}
.share-float.is-visible {
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 1260px) {
  .share-float { display: none; }
}
.share-float__btn {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dd-muted);
  cursor: pointer;
  text-decoration: none;
  transition: transform .15s ease, border-color .15s ease, color .15s ease, background .15s ease;
}
.share-float__btn:hover {
  transform: scale(1.12);
  color: var(--dd-text);
  border-color: var(--dd-muted);
}
.share-float__btn--wa:hover { color: #25D366; border-color: #25D366; background: rgba(37,211,102,.08); }
.share-float__btn--fb:hover { color: #1877F2; border-color: #1877F2; background: rgba(24,119,242,.08); }
.share-float__btn--copy.is-copied { color: var(--dd-live); border-color: var(--dd-live); }
.share-float__sep { width: 24px; height: 1px; background: var(--dd-border); }

/* ── BIO DEL AUTOR ─────────────────────────────────────────────────────────── */
.author-bio {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg);
  padding: 22px;
  margin-top: 36px;
}
.author-bio__avatar {
  width: 68px;
  height: 68px;
  border-radius: 50%;
  background: var(--dd-surface-2);
  border: 2px solid var(--dd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  overflow: hidden;
  font-family: var(--dd-font-display);
  font-size: 22px;
  font-weight: 900;
  color: var(--dd-muted);
}
.author-bio__avatar img { width: 100%; height: 100%; object-fit: cover; border-radius: 50%; }
.author-bio__label {
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: .07em;
  color: var(--dd-primary);
  font-weight: 700;
  margin-bottom: 4px;
}
.author-bio__name {
  display: block;
  font-size: 1rem;
  font-weight: 700;
  color: var(--dd-text);
  margin-bottom: 6px;
}
.author-bio__desc {
  font-size: 13px;
  color: var(--dd-muted);
  line-height: 1.65;
}

/* ── BOTÓN VOLVER ARRIBA ───────────────────────────────────────────────────── */
#back-to-top {
  position: fixed;
  bottom: 28px;
  right: 28px;
  z-index: 90;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: var(--dd-surface-2);
  border: 1px solid var(--dd-border);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--dd-muted);
  cursor: pointer;
  opacity: 0;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .2s ease, transform .2s ease, background .15s ease, color .15s ease, border-color .15s ease;
}
#back-to-top.is-visible {
  opacity: 1;
  pointer-events: auto;
  transform: translateY(0);
}
#back-to-top:hover { background: var(--dd-primary); color: #fff; border-color: var(--dd-primary); }

/* ── MOBILE ────────────────────────────────────────────────────────────────── */
@media (max-width: 639px) {
  /* JCC hero */
  .hero-jcc { padding: 28px 0 24px; }
  .hero-jcc__title { font-size: 2.6rem; }
  .hero-jcc__actions {
    justify-content: center; gap: 8px; flex-direction: column; align-items: center;
  }
  .hero-jcc__actions .btn { width: 100%; justify-content: center; }
  .hero-jcc__countdown { flex-wrap: wrap; justify-content: center; gap: 8px; }
  .countdown-unit { min-width: 62px; padding: 10px 8px; }
  .countdown-unit__number { font-size: 1.6rem; }

  /* Medallero — centrar */
  .medallero-rd {
    flex-direction: column;
    text-align: center; padding: 16px; gap: 14px;
  }
  .medallero-rd__medals { justify-content: center; gap: 8px; }
  .medallero-rd__medal { min-width: 60px; padding: 10px 10px 8px; }
  .medallero-rd__medal-count { font-size: 1.4rem; }

  /* Footer móvil */
  .site-footer { padding-top: var(--dd-space-6); margin-top: var(--dd-space-6); }
  .footer-grid { gap: var(--dd-space-4); padding-bottom: var(--dd-space-6); }
  .footer-brand__desc { max-width: 100%; }
  .footer-social { justify-content: flex-start; gap: 5px; }
  .footer-social-link { padding: 3px 8px; }
}

/* ── Más Deportes ──────────────────────────────────────────────────────── */
.grid-mas-deportes {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.card-mas-deporte {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 16px;
  background: var(--dd-surface);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 10px;
  text-decoration: none;
  color: var(--dd-text);
  transition: border-color 140ms, background 140ms, transform 140ms;
}
.card-mas-deporte:hover {
  border-color: rgba(228,5,33,.35);
  background: var(--dd-surface-2);
  transform: translateX(3px);
}
.card-mas-deporte__icon {
  flex-shrink: 0;
  width: 38px; height: 38px;
  border-radius: 8px;
  background: rgba(255,255,255,.06);
  display: flex; align-items: center; justify-content: center;
  color: var(--dd-primary);
}
.card-mas-deporte__icon svg { width: 20px; height: 20px; }
.card-mas-deporte__body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  flex: 1;
  min-width: 0;
}
.card-mas-deporte__label {
  font-size: 14px;
  font-weight: 700;
  color: var(--dd-text);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-mas-deporte__desc {
  font-size: 12px;
  color: var(--dd-muted);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-mas-deporte__count {
  font-size: 11px;
  color: var(--dd-muted);
  white-space: nowrap;
  flex-shrink: 0;
}
.card-mas-deporte__arrow {
  flex-shrink: 0;
  color: var(--dd-muted);
  transition: transform 140ms, color 140ms;
}
.card-mas-deporte:hover .card-mas-deporte__arrow {
  transform: translateX(3px);
  color: var(--dd-primary);
}

/* Ad slots — centrado leaderboard */
.ad-slot--leaderboard { text-align: center; }
.ad-slot--rectangle   { text-align: center; }

@media (min-width: 640px) {
  .grid-mas-deportes { display: grid; grid-template-columns: 1fr 1fr; }
}
@media (min-width: 1024px) {
  .grid-mas-deportes { grid-template-columns: 1fr 1fr 1fr; }
}

/* Más Deportes — variante con foto */
.card-mas-deporte__foto {
  flex-shrink: 0;
  width: 56px; height: 56px;
  border-radius: 8px;
  background-size: cover;
  background-position: center;
  background-color: var(--dd-surface-2);
}
.card-mas-deporte--foto .card-mas-deporte__label { font-size: 14px; }

/* Todo el deporte — forzar 4 cols desde tablet */
@media (min-width: 640px) {
  .grid-cards--4col { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 960px) {
  .grid-cards--4col { grid-template-columns: repeat(4, 1fr); }
}

/* ── CARD SIDE (Destacados — card horizontal) ───────────────────────────── */
.col-side { display: flex; flex-direction: column; gap: 12px; }
.card-side {
  display: flex;
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg);
  overflow: hidden;
  flex: 1;
  transition: border-color var(--dd-transition), transform var(--dd-transition);
  text-decoration: none; color: inherit;
}
.card-side:hover { border-color: rgba(228,5,33,.4); transform: translateY(-1px); }
.card-side__img-wrap { flex-shrink: 0; width: 110px; display: block; }
.card-side__img {
  width: 100%; height: 100%;
  object-fit: cover; display: block;
  background: var(--dd-surface-2);
}
.card-side__img--empty { width: 100%; height: 100%; background: var(--dd-surface-2); }
.card-side__body {
  padding: 14px 16px;
  display: flex; flex-direction: column; justify-content: center; gap: 5px;
}
.card-side__cat {
  font-size: 10px; font-weight: 700; color: var(--dd-primary);
  text-transform: uppercase; letter-spacing: .08em;
  text-decoration: none;
}
.card-side__title {
  font-size: 13px; font-weight: 600; color: var(--dd-text);
  line-height: 1.35;
}
.card-side__title a { color: inherit; text-decoration: none; }
.card-side__title a:hover { color: var(--dd-primary); }
.card-side__fecha { font-size: 11px; color: var(--dd-muted); }

/* ── MAS-CARD (Más Deportes — card full con imagen 16/9) ──────────────── */
.mas-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 12px;
}
@media (min-width: 640px)  { .mas-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px)  { .mas-grid { grid-template-columns: repeat(3, 1fr); } }

/* Centrar la última fila cuando el total de tarjetas no es múltiplo de 3
   (ej. 5 tarjetas en "Más deportes" dejarían 1 hueco en la 2ª fila) */
@media (min-width: 960px) {
  .mas-grid:not(.mas-grid--2col) > .mas-card:nth-child(3n+1):nth-last-child(2) {
    grid-column-start: 2;
  }
  .mas-grid:not(.mas-grid--2col) > .mas-card:nth-child(3n+1):nth-last-child(2) ~ .mas-card {
    grid-column-start: 3;
  }
}

.mas-card {
  background: var(--dd-surface-1);
  border: 1px solid var(--dd-border);
  border-radius: var(--dd-radius-lg);
  overflow: hidden;
  display: flex; flex-direction: column;
  text-decoration: none; color: inherit;
  transition: border-color var(--dd-transition), transform var(--dd-transition);
}
.mas-card:hover { border-color: rgba(228,5,33,.4); transform: translateY(-2px); }
.mas-card__img {
  position: relative;
  width: 100%; aspect-ratio: 16/9;
  display: flex; align-items: center; justify-content: center;
  background: var(--dd-surface-2);
}
.mas-card__badge {
  position: absolute; top: 10px; left: 10px;
  background: rgba(0,0,0,.6);
  border: 1px solid rgba(255,255,255,.18);
  color: #fff;
  font-size: 10px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .07em;
  padding: 3px 9px; border-radius: 4px;
}
.mas-card__body {
  padding: 14px 16px;
  display: flex; flex-direction: column; gap: 6px; flex: 1;
}
.mas-card__cat {
  font-size: 10px; font-weight: 700; color: var(--dd-primary);
  text-transform: uppercase; letter-spacing: .08em;
}
.mas-card__title {
  font-size: 13px; font-weight: 600; color: var(--dd-text);
  line-height: 1.4; flex: 1;
}
.mas-card__fecha { font-size: 11px; color: var(--dd-muted); }
.mas-card__link {
  display: inline-flex; align-items: center; gap: 5px;
  align-self: flex-start;
  margin-top: 6px;
  padding: 6px 12px;
  border-radius: 999px;
  font-size: 11px; font-weight: 700; color: var(--dd-primary);
  text-transform: uppercase; letter-spacing: .03em;
  background: rgba(228,5,33,.10);
  border: 1px solid rgba(228,5,33,.25);
  transition: background var(--dd-transition), border-color var(--dd-transition),
              color var(--dd-transition), transform var(--dd-transition);
}
.mas-card:hover .mas-card__link {
  background: var(--dd-primary);
  border-color: var(--dd-primary);
  color: #fff;
  transform: translateX(2px);
}

/* Béisbol / Fútbol — forzar 3 columnas máximo */
.grid-cards--3col { grid-template-columns: 1fr; }
@media (min-width: 640px) { .grid-cards--3col { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 960px) { .grid-cards--3col { grid-template-columns: repeat(3, 1fr); } }

/* ══════════════════════════════════════════════════════════════════════════
   DESTACADOS SLIDER — MODELO 1: Hero grande + lista lateral
   ══════════════════════════════════════════════════════════════════════════ */

.dd-slider { display: grid; grid-template-columns: 1fr; gap: 10px; }
@media (min-width: 768px) { .dd-slider { grid-template-columns: 1fr 1fr; gap: 10px; height: 440px; } }

/* ── Stage ── */
.dd-slider__stage {
  position: relative; border-radius: var(--dd-radius-lg);
  overflow: hidden; aspect-ratio: 4/3;
  background: var(--dd-surface-2);
}
@media (min-width: 768px) {
  .dd-slider__stage { aspect-ratio: unset; height: 100%; border-radius: var(--dd-radius-lg) 0 0 var(--dd-radius-lg); }
}

/* Slides */
.dd-slide { position: absolute; inset: 0; opacity: 0; pointer-events: none; transition: opacity 550ms ease; z-index: 0; }
.dd-slide.is-active { opacity: 1; pointer-events: auto; z-index: 1; }

/* Ken Burns */
.dd-slide__bg { position: absolute; inset: 0; background-size: cover; background-position: center; transform: scale(1.06); transition: transform 7s ease; }
.dd-slide__bg--empty { background: var(--dd-surface-2); }
.dd-slide.is-active .dd-slide__bg { transform: scale(1); }

/* Overlay oscuro + gradiente */
.dd-slide__overlay {
  position: absolute; inset: 0; display: flex; align-items: flex-end;
  text-decoration: none; color: #fff; outline: none;
  background: linear-gradient(to top, rgba(5,8,18,.97) 0%, rgba(5,8,18,.6) 45%, rgba(5,8,18,.05) 75%, transparent 100%);
}
.dd-slide__overlay:focus-visible { box-shadow: inset 0 0 0 3px var(--dd-primary); }

/* Contenido animado */
.dd-slide__content {
  padding: 22px 24px 20px; display: flex; flex-direction: column; gap: 7px;
  max-width: 640px; transform: translateY(10px); opacity: 0;
  transition: transform 550ms ease 120ms, opacity 550ms ease 120ms;
}
.dd-slide.is-active .dd-slide__content { transform: translateY(0); opacity: 1; }

.dd-slide__cat {
  display: inline-block; background: var(--dd-primary); color: #fff;
  font-size: 9px; font-weight: 700; text-transform: uppercase; letter-spacing: .08em;
  padding: 3px 8px; border-radius: var(--dd-radius-sm); width: fit-content;
}
.dd-slide__title {
  font-family: var(--dd-font-display); font-size: clamp(17px, 2.3vw, 26px);
  font-weight: 900; line-height: 1.2; color: #fff;
  text-shadow: 0 2px 14px rgba(0,0,0,.5);
}
.dd-slide__excerpt {
  font-size: 12px; color: rgba(255,255,255,.62); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dd-slide__meta { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-top: 2px; flex-wrap: wrap; }
.dd-slide__meta time { font-size: 11px; color: rgba(255,255,255,.38); }
.dd-slide__cta {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11px; font-weight: 700; color: #fff;
  background: var(--dd-primary); padding: 6px 14px; border-radius: var(--dd-radius-md);
  letter-spacing: .03em; transition: opacity var(--dd-transition);
}
.dd-slide__overlay:hover .dd-slide__cta { opacity: .82; }

/* Dots (top-right del stage) */
.dd-slider__dots { position: absolute; top: 14px; right: 14px; display: flex; gap: 5px; z-index: 5; }
.dd-dot {
  display: block; width: 6px; height: 6px; border-radius: 50%;
  background: rgba(255,255,255,.28);
  transition: background var(--dd-transition), width 200ms ease, border-radius 200ms ease;
  cursor: default;
}
.dd-dot.is-active { background: var(--dd-primary); width: 18px; border-radius: 3px; }

/* Prev / Next — aparecen al hover */
.dd-slider__nav {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
  width: 36px; height: 36px; border-radius: 50%;
  background: rgba(0,0,0,.5); border: 1px solid rgba(255,255,255,.14);
  color: #fff; display: flex; align-items: center; justify-content: center;
  cursor: pointer; opacity: 0;
  transition: opacity var(--dd-transition), background var(--dd-transition), border-color var(--dd-transition);
}
.dd-slider__stage:hover .dd-slider__nav { opacity: 1; }
.dd-slider__nav:hover { background: var(--dd-primary); border-color: var(--dd-primary); }
.dd-slider__nav--prev { left: 10px; }
.dd-slider__nav--next { right: 10px; }

/* ── Panel lateral — Modelo C ── */
.dd-slider__thumbs {
  display: flex; flex-direction: row;
  gap: 8px; overflow-x: auto; scrollbar-width: none; padding-bottom: 4px;
}
.dd-slider__thumbs::-webkit-scrollbar { display: none; }
@media (min-width: 768px) {
  .dd-slider__thumbs {
    flex-direction: column; overflow-x: visible;
    gap: 8px; height: 100%;
    border-radius: 0 var(--dd-radius-lg) var(--dd-radius-lg) 0; overflow: hidden;
  }
}

.dd-thumb {
  display: flex; flex-direction: row; align-items: stretch;
  cursor: pointer; text-align: left; position: relative;
  overflow: hidden; flex-shrink: 0; width: 260px;
  background: var(--dd-surface-1);
  border-left: 3px solid transparent;
  border-bottom: 1px solid var(--dd-border);
  transition: background var(--dd-transition), border-color var(--dd-transition);
}
@media (min-width: 768px) {
  .dd-thumb { width: auto; flex: 1; }
  .dd-thumb:first-child { border-radius: 0 var(--dd-radius-lg) 0 0; }
  .dd-thumb:last-child  { border-radius: 0 0 var(--dd-radius-lg) 0; border-bottom: none; }
}
.dd-thumb:hover { background: var(--dd-surface-2); }
.dd-thumb.is-active { border-left-color: var(--dd-primary); background: rgba(228,5,33,.05); }

/* Imagen izquierda — fija */
.dd-thumb__img {
  flex-shrink: 0; width: 120px;
  background-size: cover; background-position: center;
  background-color: var(--dd-surface-2);
}
.dd-thumb__img--empty { background: var(--dd-surface-2); }

/* Texto derecha */
.dd-thumb__body {
  flex: 1; min-width: 0;
  display: flex; flex-direction: column; justify-content: center;
  gap: 5px; padding: 12px 14px;
}
.dd-thumb__cat {
  display: inline-block; width: fit-content;
  font-size: 9px; font-weight: 700; color: #fff;
  background: var(--dd-primary);
  text-transform: uppercase; letter-spacing: .07em;
  padding: 2px 7px; border-radius: var(--dd-radius-sm);
}
.dd-thumb__title {
  font-size: 13px; font-weight: 700; color: var(--dd-text); line-height: 1.35;
  display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
}
.dd-thumb__excerpt {
  font-size: 11px; color: var(--dd-muted); line-height: 1.5;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.dd-thumb__date { font-size: 10px; color: var(--dd-muted); }

/* Barra de progreso */
.dd-thumb__bar { position: absolute; bottom: 0; left: 0; height: 2px; background: var(--dd-primary); width: 100%; transform: scaleX(0); transform-origin: left; }
.dd-thumb.is-active .dd-thumb__bar { animation: dd-thumb-progress 6s linear forwards; }
@keyframes dd-thumb-progress { to { transform: scaleX(1); } }

@media (max-width: 480px) {
  .dd-slide__excerpt { display: none; }
  .dd-slide__content { padding: 14px 16px 12px; gap: 5px; }
  .dd-slider__nav { display: none; }
}

/* ── SECTION TITLE — VARIANTES PREMIUM ────────────────────────────────── */
.section-title--destacados {
  font-size: 13px;
  color: var(--dd-text);
  letter-spacing: .06em;
  gap: 10px;
}
.section-title--destacados::after { background: var(--dd-border); }
.section-title__accent {
  display: inline-block;
  width: 4px;
  height: 18px;
  background: var(--dd-primary);
  border-radius: 2px;
  flex-shrink: 0;
}
.section-title--velocidad {
  font-size: 13px;
  color: var(--dd-text);
  letter-spacing: .06em;
  gap: 10px;
}

/* ── MAS-GRID 2 COL (Velocidad) ────────────────────────────────────────── */
.mas-grid--2col { grid-template-columns: 1fr; }
@media (min-width: 640px) { .mas-grid--2col { grid-template-columns: repeat(2, 1fr); } }

.mas-card--velocidad .mas-card__img { aspect-ratio: 21/9; }
@media (min-width: 640px) { .mas-card--velocidad .mas-card__img { aspect-ratio: 16/6; } }

/* ── VELOCIDAD SECTION — borde superior sutil ─────────────────────────── */
.velocidad-section { border-top: 1px solid var(--dd-border); padding-top: var(--dd-space-6); }

/* ── DIVISOR DE SECCIÓN ─────────────────────────────────────────────────── */
.section-divider {
  display: flex; align-items: center; gap: 14px;
  margin: 32px 0;
}
.section-divider__line {
  flex: 1; height: 1px;
  background: linear-gradient(to right, transparent, var(--dd-border) 40%, var(--dd-border) 60%, transparent);
}
.section-divider__icon {
  display: flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; flex-shrink: 0;
  border: 1px solid var(--dd-border); border-radius: 50%;
  color: var(--dd-primary);
}

/* ── BOTÓN VER TODAS LAS NOTICIAS ─────────────────────────────────────── */
.btn-ver-todo {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 32px;
  background: var(--dd-primary);
  color: #fff;
  border-radius: var(--dd-radius-md);
  font-family: var(--dd-font-display);
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .07em;
  text-decoration: none;
  border: 2px solid var(--dd-primary);
  transition: background var(--dd-transition), color var(--dd-transition), transform var(--dd-transition), box-shadow var(--dd-transition);
  box-shadow: 0 4px 20px rgba(228,5,33,.3);
}
.btn-ver-todo:hover {
  background: transparent;
  color: var(--dd-primary);
  transform: translateY(-2px);
  box-shadow: 0 8px 28px rgba(228,5,33,.2);
}
.btn-ver-todo__arrow {
  transition: transform var(--dd-transition);
}
.btn-ver-todo:hover .btn-ver-todo__arrow {
  transform: translateX(4px);
}


/* ============================================================
   HÍPICAS — diseño premium v2
   ============================================================ */

/* ── Tokens ── */
:root {
  --hip-gold:        #F2B705;
  --hip-gold-dim:    rgba(242,183,5,.10);
  --hip-gold-border: rgba(242,183,5,.22);
  --hip-surface:     #161B26;
  --hip-surface2:    #1A2030;
  --hip-border:      rgba(255,255,255,.07);
  --hip-red:         #E40521;
}

/* ── Layout base ── */
.dd-hipicas-archivo,
.dd-hipicas-single {
  padding-block: var(--dd-space-8);
}

/* ── Hero del archivo ── */
.dd-hipicas-page-hero {
  text-align: center;
  padding-block: var(--dd-space-10) var(--dd-space-8);
  border-bottom: 1px solid var(--hip-border);
  margin-bottom: var(--dd-space-8);
}

.dd-hipicas-page-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: .75rem;
  font-weight: 600;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--hip-gold);
  background: var(--hip-gold-dim);
  border: 1px solid var(--hip-gold-border);
  border-radius: 100px;
  padding: 4px 14px;
  margin-bottom: var(--dd-space-4);
}

.dd-hipicas-page-hero__titulo {
  font-size: clamp(2rem, 5vw, 3.25rem);
  font-weight: 900;
  line-height: 1.1;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dd-text);
  margin: 0 0 var(--dd-space-3);
}

.dd-hipicas-page-hero__sub {
  font-size: 1rem;
  color: var(--dd-muted);
  margin: 0;
}

.dd-hipicas-page-hero__sub strong {
  color: var(--hip-gold);
  font-weight: 700;
}

/* ── Grid de cards ── */
.dd-hipicas-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-6);
  margin-bottom: var(--dd-space-8);
}

@media (min-width: 768px) {
  .dd-hipicas-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ── Card individual ── */
.dd-jornada-card {
  background: var(--hip-surface);
  border: 1px solid var(--hip-border);
  border-top: 3px solid var(--hip-gold);
  border-radius: 12px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  transition: box-shadow 140ms ease, transform 140ms ease;
}

.dd-jornada-card:hover {
  box-shadow: 0 8px 32px rgba(0,0,0,.5), 0 0 0 1px var(--hip-gold-border);
  transform: translateY(-2px);
}

.dd-jornada-card__header {
  padding: var(--dd-space-5) var(--dd-space-5) var(--dd-space-4);
  background: linear-gradient(135deg, var(--hip-surface2) 0%, var(--hip-surface) 100%);
  border-bottom: 1px solid var(--hip-border);
}

.dd-jornada-card__meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: var(--dd-space-2);
}

.dd-jornada-card__fecha {
  font-size: .78rem;
  color: var(--dd-muted);
  font-weight: 500;
}

.dd-jornada-card__count {
  font-size: .7rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--hip-gold);
  background: var(--hip-gold-dim);
  border: 1px solid var(--hip-gold-border);
  border-radius: 100px;
  padding: 2px 10px;
  margin-left: auto;
}

.dd-jornada-card__titulo,
h3.dd-jornada-card__titulo {
  font-size: 1.05rem;
  font-weight: 800;
  line-height: 1.25;
  margin: 0;
}

.dd-jornada-card__titulo a,
h3.dd-jornada-card__titulo a {
  color: var(--dd-text);
  text-decoration: none;
}

.dd-jornada-card__titulo a:hover,
h3.dd-jornada-card__titulo a:hover {
  color: var(--hip-gold);
}

.dd-jornada-card__tabla-wrap {
  overflow-x: auto;
  flex: 1;
}

.dd-jornada-tabla {
  width: 100%;
  border-collapse: collapse;
  font-size: .82rem;
}

.dd-jornada-tabla thead tr {
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--hip-border);
}

.dd-jornada-tabla th {
  padding: 12px 16px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--dd-muted);
  text-align: left;
  white-space: nowrap;
}

.dd-jornada-tabla th.dd-jornada-tabla__num,
.dd-jornada-tabla td.dd-jornada-tabla__num {
  width: 36px;
  text-align: center;
}

.dd-jornada-tabla th.dd-jornada-tabla__dist,
.dd-jornada-tabla td.dd-jornada-tabla__dist {
  width: 64px;
  text-align: right;
  color: var(--dd-muted);
  font-family: 'Roboto Mono', monospace;
  font-size: .77rem;
}

.dd-jornada-tabla tbody tr {
  border-bottom: 1px solid var(--hip-border);
  transition: background 120ms;
}

.dd-jornada-tabla tbody tr:last-child {
  border-bottom: none;
}

.dd-jornada-tabla tbody tr:hover {
  background: rgba(255,255,255,.03);
}

.dd-jornada-tabla td {
  padding: 13px 16px;
  vertical-align: middle;
  line-height: 1.4;
}

.dd-jornada-tabla__caballo strong {
  font-weight: 700;
  color: var(--dd-text);
}

.dd-carrera-num {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: var(--hip-red);
  color: #fff;
  font-size: .7rem;
  font-weight: 800;
  font-family: 'Roboto Mono', monospace;
  flex-shrink: 0;
}

.dd-carrera-num--lg {
  width: 28px;
  height: 28px;
  font-size: .8rem;
}

.dd-badge--hipodromo {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--hip-gold);
  background: var(--hip-gold-dim);
  border: 1px solid var(--hip-gold-border);
  border-radius: 4px;
  padding: 2px 8px;
  white-space: nowrap;
}

.dd-badge--clase {
  font-size: .68rem;
  font-weight: 600;
  color: #a5b4fc;
  background: rgba(165,180,252,.1);
  border: 1px solid rgba(165,180,252,.2);
  border-radius: 4px;
  padding: 2px 7px;
}

.dd-jornada-card__footer {
  padding: var(--dd-space-5) var(--dd-space-5);
  border-top: 1px solid var(--hip-border);
  background: rgba(0,0,0,.15);
  display: flex;
  justify-content: center;
}

.dd-jornada-card__link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 20px;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--hip-gold);
  background: var(--hip-gold-dim);
  border: 1px solid var(--hip-gold-border);
  border-radius: 8px;
  text-decoration: none;
  transition: background 140ms, box-shadow 140ms, gap 140ms;
}

.dd-jornada-card__link:hover {
  gap: 12px;
  background: rgba(242,183,5,.18);
  box-shadow: 0 4px 14px rgba(242,183,5,.15);
  color: var(--hip-gold);
}

.dd-jornada-card__pendiente {
  padding: var(--dd-space-5);
  color: var(--dd-muted);
  font-size: .88rem;
  font-style: italic;
  text-align: center;
  flex: 1;
}

/* ── Paginación ── */
.dd-hipicas-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--dd-space-4);
  flex-wrap: wrap;
  margin-bottom: var(--dd-space-10);
}

.dd-btn-nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 36px;
  font-size: .8rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
  text-decoration: none;
  border-radius: 8px;
  border: 1px solid var(--hip-gold-border);
  background: var(--hip-gold-dim);
  color: var(--hip-gold);
  transition: background 140ms, box-shadow 140ms;
}

.dd-btn-nav:hover {
  background: rgba(242,183,5,.2);
  box-shadow: 0 4px 16px rgba(242,183,5,.15);
  color: var(--hip-gold);
}

/* ── Estado vacío ── */
.dd-hipicas-vacio {
  text-align: center;
  padding: var(--dd-space-12) var(--dd-space-6);
  color: var(--dd-muted);
  font-size: .95rem;
}

/* ── Sección informativa ── */
.dd-hipicas-info {
  border-top: 1px solid var(--hip-border);
  padding-top: var(--dd-space-10);
  margin-top: var(--dd-space-4);
}

.dd-hipicas-info__titulo {
  font-size: clamp(1.2rem, 3vw, 1.75rem);
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  text-align: center;
  margin: 0 0 var(--dd-space-6);
  color: var(--dd-text);
}

.dd-hipicas-info__grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-4);
}

@media (min-width: 640px) {
  .dd-hipicas-info__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

.dd-hipicas-info__bloque {
  background: var(--hip-surface);
  border: 1px solid var(--hip-border);
  border-radius: 12px;
  padding: var(--dd-space-6) var(--dd-space-6);
  transition: border-color 150ms, box-shadow 150ms;
}

.dd-hipicas-info__bloque:hover {
  border-color: var(--hip-gold-border);
  box-shadow: 0 4px 20px rgba(0,0,0,.3);
}

.dd-hipicas-info__bloque-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--hip-gold-dim);
  color: var(--hip-gold);
  margin-bottom: var(--dd-space-3);
}

.dd-hipicas-info__bloque h3 {
  font-size: .88rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--dd-text);
  margin: 0 0 var(--dd-space-3);
}

.dd-hipicas-info__bloque p,
.dd-hipicas-info__bloque ul {
  font-size: .88rem;
  color: var(--dd-muted);
  line-height: 1.65;
  margin: 0;
}

.dd-hipicas-info__bloque ul {
  padding-left: var(--dd-space-4);
}

.dd-hipicas-info__bloque li {
  margin-bottom: 4px;
}

.dd-hipicas-info__bloque strong {
  color: var(--dd-text);
}

/* ============================================================
   SINGLE JORNADA
   ============================================================ */

.dd-breadcrumb {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: .8rem;
  color: var(--dd-muted);
  margin-bottom: var(--dd-space-6);
}

.dd-breadcrumb a {
  color: var(--dd-muted);
  text-decoration: none;
}

.dd-breadcrumb a:hover {
  color: var(--hip-gold);
}

.dd-jornada-hero {
  background: linear-gradient(135deg, var(--hip-surface2) 0%, var(--hip-surface) 100%);
  border: 1px solid var(--hip-border);
  border-top: 3px solid var(--hip-gold);
  border-radius: 16px;
  padding: var(--dd-space-6) var(--dd-space-6) var(--dd-space-7);
  margin-bottom: var(--dd-space-6);
}

.dd-jornada-hero__eyebrow {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin-bottom: var(--dd-space-3);
}

.dd-jornada-hero__eyebrow time {
  font-size: .82rem;
  color: var(--dd-muted);
  font-weight: 500;
}

.dd-jornada-hero__titulo {
  font-size: clamp(1.4rem, 4vw, 2.25rem);
  font-weight: 900;
  line-height: 1.15;
  letter-spacing: -.02em;
  color: var(--dd-text);
  margin: 0 0 var(--dd-space-5);
}

.dd-jornada-hero__stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: var(--dd-space-3);
}

.dd-jornada-hero__stat {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.dd-jornada-hero__stat-label {
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--dd-muted);
}

.dd-jornada-hero__stat-value {
  font-size: 1rem;
  font-weight: 800;
  color: var(--dd-text);
  line-height: 1.2;
}

.dd-jornada-hero__stat-value--gold {
  color: var(--hip-gold);
}

.dd-hipicas-5y6 {
  display: flex;
  align-items: flex-start;
  gap: var(--dd-space-4);
  background: var(--hip-gold-dim);
  border: 1px solid var(--hip-gold-border);
  border-radius: 12px;
  padding: var(--dd-space-4) var(--dd-space-5);
  margin-bottom: var(--dd-space-6);
}

.dd-hipicas-5y6__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 10px;
  background: var(--hip-gold);
  color: #000;
  flex-shrink: 0;
}

.dd-hipicas-5y6__titulo {
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
  color: var(--hip-gold);
  margin-bottom: 6px;
}

.dd-hipicas-5y6__ganadores {
  font-size: .9rem;
  color: var(--dd-text);
  line-height: 1.6;
}

.dd-hipicas-5y6__ganadores strong {
  font-weight: 700;
}

.dd-resultados-section {
  background: var(--hip-surface);
  border: 1px solid var(--hip-border);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: var(--dd-space-6);
}

.dd-resultados-section__head {
  display: flex;
  align-items: center;
  gap: var(--dd-space-3);
  padding: var(--dd-space-4) var(--dd-space-5);
  background: linear-gradient(135deg, var(--hip-surface2) 0%, var(--hip-surface) 100%);
  border-bottom: 1px solid var(--hip-border);
}

.dd-resultados-section__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 8px;
  background: var(--hip-gold-dim);
  color: var(--hip-gold);
  flex-shrink: 0;
}

.dd-resultados-section__titulo {
  font-size: 1rem;
  font-weight: 800;
  margin: 0;
  flex: 1;
}

.dd-resultados-section__count {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--hip-gold);
  background: var(--hip-gold-dim);
  border: 1px solid var(--hip-gold-border);
  border-radius: 100px;
  padding: 3px 12px;
}

.dd-resultados-tabla-wrap {
  overflow-x: auto;
}

.dd-resultados-tabla {
  width: 100%;
  border-collapse: collapse;
  font-size: .87rem;
}

.dd-resultados-tabla thead tr {
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--hip-border);
}

.dd-resultados-tabla th {
  padding: 12px 18px;
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--dd-muted);
  text-align: left;
  white-space: nowrap;
}

.dd-resultados-tabla th.dd-resultados-tabla__num,
.dd-resultados-tabla td.dd-resultados-tabla__num {
  width: 80px;
  text-align: center;
}

.dd-resultados-tabla th.dd-resultados-tabla__claiming,
.dd-resultados-tabla td.dd-resultados-tabla__claiming {
  font-family: 'Roboto Mono', monospace;
  font-size: .8rem;
  white-space: nowrap;
}

.dd-resultados-tabla tbody tr {
  border-bottom: 1px solid var(--hip-border);
  transition: background 120ms;
}

.dd-resultados-tabla tbody tr:last-child {
  border-bottom: none;
}

.dd-resultados-tabla tbody tr:hover {
  background: rgba(255,255,255,.03);
}

.dd-resultados-tabla td {
  padding: 13px 18px;
  vertical-align: middle;
}

.dd-resultados-tabla__caballo strong {
  font-weight: 700;
}

.dd-fuente-aviso {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: rgba(255,255,255,.03);
  border: 1px solid var(--hip-border);
  border-radius: 8px;
  padding: var(--dd-space-3) var(--dd-space-4);
  font-size: .8rem;
  color: var(--dd-muted);
  line-height: 1.6;
  margin-bottom: var(--dd-space-6);
}

.dd-fuente-aviso svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--dd-muted);
}

.dd-fuente-aviso a {
  color: var(--hip-gold);
  text-decoration: none;
  font-weight: 600;
}

.dd-fuente-aviso a:hover {
  text-decoration: underline;
}

.dd-post-nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--dd-space-3);
  justify-content: space-between;
  border-top: 1px solid var(--hip-border);
  padding-top: var(--dd-space-6);
  margin-top: var(--dd-space-4);
}

.dd-post-nav__link {
  font-size: .85rem;
  font-weight: 700;
  color: var(--dd-muted);
  text-decoration: none;
  transition: color 130ms;
  max-width: 45%;
}

.dd-post-nav__link:hover {
  color: var(--hip-gold);
}

.dd-post-nav__link--next {
  margin-left: auto;
  text-align: right;
}

.dd-hipicas-content {
  margin-bottom: var(--dd-space-8);
}

.dd-hipicas-content h2 {
  font-size: 1.2rem;
  font-weight: 800;
  color: var(--dd-text);
  margin-top: var(--dd-space-6);
  margin-bottom: var(--dd-space-3);
}

.dd-hipicas-content p {
  font-size: .92rem;
  color: var(--dd-muted);
  line-height: 1.7;
  margin-bottom: var(--dd-space-3);
}

.dd-hipicas-content table {
  width: 100%;
  border-collapse: collapse;
  font-size: .87rem;
  background: var(--hip-surface);
  border: 1px solid var(--hip-border);
  border-radius: 8px;
  overflow: hidden;
  margin-bottom: var(--dd-space-5);
}

.dd-hipicas-content th {
  padding: 9px 12px;
  background: rgba(255,255,255,.04);
  font-size: .68rem;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--dd-muted);
  text-align: left;
  border-bottom: 1px solid var(--hip-border);
}

.dd-hipicas-content td {
  padding: 10px 12px;
  border-bottom: 1px solid var(--hip-border);
  color: var(--dd-text);
}

.dd-hipicas-content tr:last-child td {
  border-bottom: none;
}

.dd-hipicas-content tr:hover td {
  background: rgba(255,255,255,.02);
}

/* ============================================================
   LIDOM — Resultados béisbol dominicano
   ============================================================ */

:root {
  --lidom-blue:        #0050B3;
  --lidom-blue-dim:    rgba(0,80,179,.12);
  --lidom-blue-border: rgba(0,80,179,.25);
  --lidom-surface:     #161B26;
  --lidom-surface2:    #1A2030;
  --lidom-border:      rgba(255,255,255,.07);
  --lidom-gold:        #F2B705;
  --lidom-green:       #22C55E;
  --lidom-red:         #E40521;
}

.dd-lidom-archivo { padding-block: var(--dd-space-10); }

/* ── Hero ── */
.dd-lidom-hero {
  text-align: center;
  padding-block: var(--dd-space-10) var(--dd-space-10);
  border-bottom: 1px solid var(--lidom-border);
  margin-bottom: var(--dd-space-10);
}
.dd-lidom-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: .82rem;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--lidom-blue);
  background: var(--lidom-blue-dim);
  border: 1px solid var(--lidom-blue-border);
  border-radius: 100px;
  padding: 6px 18px;
  margin-bottom: var(--dd-space-5);
}
.dd-lidom-hero__eyebrow-dot {
  width: 7px; height: 7px;
  border-radius: 50%;
  background: #22C55E;
  box-shadow: 0 0 0 0 rgba(34,197,94,.6);
  animation: dd-pulse 2s infinite;
  flex-shrink: 0;
}
.dd-lidom-hero__eyebrow-sep { opacity: .4; margin-inline: 2px; }
.dd-lidom-hero__titulo {
  font-size: clamp(2.8rem, 6vw, 4.2rem);
  font-weight: 900;
  line-height: 1.05;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--dd-text);
  margin: 0 0 var(--dd-space-3);
}
.dd-lidom-hero__titulo-sub {
  display: block;
  font-size: .55em;
  font-weight: 700;
  letter-spacing: .12em;
  color: var(--lidom-blue);
  opacity: .9;
}
.dd-lidom-hero__sub { font-size: 1rem; color: var(--dd-muted); margin: 0; text-transform: uppercase; letter-spacing: .04em; }
.dd-lidom-hero__sub strong { color: var(--lidom-blue); font-weight: 700; }
.dd-lidom-intro {
  max-width: 980px;
  margin: 0 auto var(--dd-space-10);
  text-align: center;
  padding: var(--dd-space-6) var(--dd-space-8);
  border: 1px solid var(--lidom-blue-border);
  border-radius: 12px;
  background: rgba(0,80,179,.04);
}
.dd-lidom-intro::before,
.dd-lidom-intro::after { display: none; }
.dd-lidom-intro__linea { display: none; }
.dd-lidom-intro__texto {
  font-size: 1rem;
  line-height: 1.9;
  color: var(--dd-muted);
  margin: 0;
  letter-spacing: .01em;
}
.dd-lidom-intro__texto strong { color: var(--dd-text); font-weight: 700; }

/* ── Sección cabecera ── */
.dd-lidom-section {
  background: var(--lidom-surface);
  border: 1px solid var(--lidom-border);
  border-top: 3px solid var(--lidom-blue);
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 0;
}
.dd-lidom-section__head {
  display: flex;
  align-items: center;
  gap: var(--dd-space-3);
  padding: var(--dd-space-5) var(--dd-space-6);
  background: linear-gradient(135deg, var(--lidom-surface2) 0%, var(--lidom-surface) 100%);
  border-bottom: 1px solid var(--lidom-border);
}
.dd-lidom-section__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px; height: 36px;
  border-radius: 8px;
  background: var(--lidom-blue-dim);
  color: var(--lidom-blue);
  flex-shrink: 0;
}
.dd-lidom-section__icon--blue { background: var(--lidom-blue-dim); color: var(--lidom-blue); }
.dd-lidom-section__titulo { font-size: 1rem; font-weight: 800; margin: 0; flex: 1; text-transform: uppercase; letter-spacing: .05em; }
.dd-lidom-section__season {
  font-size: .72rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--lidom-blue);
  background: var(--lidom-blue-dim);
  border: 1px solid var(--lidom-blue-border);
  border-radius: 100px;
  padding: 3px 12px;
}

/* Top grid: standings + histórico */
.dd-lidom-top-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-6);
  margin-bottom: var(--dd-space-6);
}
@media (min-width: 900px) {
  .dd-lidom-top-grid { grid-template-columns: 3fr 2fr; align-items: start; gap: 40px; }
}
.dd-lidom-section__icon--gold { background: rgba(242,183,5,.12); color: #F2B705; }
.dd-hist-list { list-style: none; margin: 0; padding: 0; }
.dd-hist-item {
  display: grid;
  grid-template-columns: 20px 1fr auto auto;
  align-items: center;
  gap: 12px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--lidom-border);
}
.dd-hist-item:last-child { border-bottom: none; }
.dd-hist-rank { font-size: .72rem; font-weight: 700; color: var(--dd-muted); text-align: center; }
.dd-hist-team { font-size: .85rem; font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dd-hist-bar-wrap { height: 6px; background: rgba(255,255,255,.07); border-radius: 3px; overflow: hidden; min-width: 50px; }
.dd-hist-bar { display: block; height: 100%; width: var(--pct); background: linear-gradient(90deg, var(--lidom-blue), #22C55E); border-radius: 3px; }
.dd-hist-count { font-size: .9rem; font-weight: 900; color: #F2B705; min-width: 20px; text-align: right; }
.dd-hist-nota { font-size: .72rem; color: var(--dd-muted); text-align: center; margin: var(--dd-space-3) var(--dd-space-4) var(--dd-space-4); }

/* ── Grid dos columnas ── */
.dd-lidom-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-6);
  margin-bottom: var(--dd-space-6);
}
@media (min-width: 768px) {
  .dd-lidom-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ── Tabla posiciones ── */
.dd-lidom-tabla-wrap { overflow-x: auto; }
.dd-lidom-tabla { width: 100%; border-collapse: collapse; font-size: .85rem; }
.dd-lidom-tabla thead tr {
  background: rgba(255,255,255,.03);
  border-bottom: 1px solid var(--lidom-border);
}
.dd-lidom-tabla th {
  padding: 11px 14px;
  font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--dd-muted); text-align: left; white-space: nowrap;
}
.dd-lidom-tabla td {
  padding: 13px 14px; border-bottom: 1px solid var(--lidom-border); vertical-align: middle;
}
.dd-lidom-tabla tbody tr:last-child td { border-bottom: none; }
.dd-badge-camp {
  display: inline-block;
  font-size: .65rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  background: rgba(242,183,5,.15); color: #F2B705;
  border: 1px solid rgba(242,183,5,.3);
  border-radius: 4px; padding: 2px 7px; margin-left: 8px; vertical-align: middle;
}
.dd-lidom-campe td { background: rgba(242,183,5,.04); }
.dd-lidom-tabla tbody tr:hover td { background: rgba(255,255,255,.03); }
.dd-lidom-tabla__pos { width: 40px; text-align: center; }
.dd-lidom-tabla__equipo { font-weight: 700; }

/* Zona playoffs (top 4) */
.dd-lidom-zona td:first-child { border-left: 3px solid var(--lidom-blue); }

/* Número de posición */
.dd-pos-num {
  display: inline-flex; align-items: center; justify-content: center;
  width: 24px; height: 24px; border-radius: 50%;
  font-size: .75rem; font-weight: 800;
  background: rgba(255,255,255,.07); color: var(--dd-muted);
}
.dd-pos-num--1 { background: var(--lidom-gold); color: #000; }
.dd-pos-num--2 { background: #9ca3af; color: #000; }
.dd-pos-num--3 { background: #b45309; color: #fff; }
.dd-pos-num--4 { background: var(--lidom-blue-dim); color: var(--lidom-blue); border: 1px solid var(--lidom-blue-border); }

/* Racha */
.dd-racha { font-family: 'Roboto Mono', monospace; font-size: .78rem; font-weight: 700; }
.dd-racha--w { color: var(--lidom-green); }
.dd-racha--l { color: var(--lidom-red); }

/* ── Tarjetas de juego ── */
.dd-lidom-games { padding: var(--dd-space-2) 0; }
.dd-lidom-game {
  display: grid;
  grid-template-columns: 48px 1fr;
  gap: 0 var(--dd-space-3);
  align-items: center;
  padding: var(--dd-space-3) var(--dd-space-5);
  border-bottom: 1px solid var(--lidom-border);
}
.dd-lidom-game:last-child { border-bottom: none; }
.dd-lidom-game__fecha {
  font-size: .7rem; font-weight: 700; text-transform: uppercase;
  letter-spacing: .05em; color: var(--dd-muted); text-align: center; line-height: 1.2;
}
.dd-lidom-game__matchup {
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: var(--dd-space-2);
}
.dd-lidom-game__team {
  font-size: .82rem; font-weight: 600; color: var(--dd-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dd-lidom-game__team--right { text-align: right; }
.dd-lidom-game__team--win { color: var(--dd-text); font-weight: 800; }
.dd-lidom-game__score {
  display: flex; align-items: center; gap: 6px;
  font-family: 'Roboto Mono', monospace; font-size: 1rem; font-weight: 700;
  color: var(--dd-text);
  background: rgba(255,255,255,.04);
  border: 1px solid var(--lidom-border);
  border-radius: 6px;
  padding: 4px 10px;
  white-space: nowrap;
}
.dd-lidom-game__score--upcoming {
  font-family: inherit; font-size: .8rem; font-weight: 700;
  color: var(--lidom-blue);
  background: var(--lidom-blue-dim);
  border-color: var(--lidom-blue-border);
}
.dd-lidom-game__sep { color: var(--dd-muted); font-size: .8rem; }
.dd-score--win { color: var(--lidom-green); }
.dd-lidom-game__venue {
  grid-column: 1 / -1;
  font-size: .68rem; color: var(--dd-muted);
  padding-left: 60px; margin-top: 2px;
}

/* Loading + empty */
.dd-lidom-loading {
  display: flex; align-items: center; justify-content: center;
  gap: 10px; padding: var(--dd-space-8); color: var(--dd-muted);
  font-size: .88rem;
}
.dd-lidom-spinner {
  width: 18px; height: 18px; border-radius: 50%;
  border: 2px solid var(--lidom-border);
  border-top-color: var(--lidom-blue);
  animation: dd-spin .7s linear infinite; flex-shrink: 0;
}
@keyframes dd-spin { to { transform: rotate(360deg); } }
.dd-lidom-empty { padding: var(--dd-space-6); color: var(--dd-muted); font-size: .88rem; text-align: center; }

/* Ocultar en móvil */
@media (max-width: 600px) { .dd-hide-sm { display: none; } }

/* ── Bloques informativos ── */
/* ── Bloques informativos LiDOM ─────────────────────────── */
.dd-lidom-info {
  border-top: 1px solid var(--lidom-border);
  padding-top: var(--dd-space-12, 72px);
  margin-top: var(--dd-space-6);
}
.dd-lidom-info__titulo {
  font-size: clamp(1.1rem, 2.5vw, 1.45rem);
  font-weight: 900; letter-spacing: .06em; text-transform: uppercase;
  text-align: center; margin: 0 0 var(--dd-space-8); color: var(--dd-text);
  position: relative;
}
.dd-lidom-info__titulo::after {
  content: '';
  display: block;
  width: 48px; height: 3px;
  background: var(--lidom-blue);
  border-radius: 2px;
  margin: var(--dd-space-3) auto 0;
}
.dd-lidom-info__grid {
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
@media (min-width: 640px) { .dd-lidom-info__grid { grid-template-columns: repeat(2, 1fr); } }

.dd-lidom-info__bloque {
  background: var(--lidom-surface);
  border: 1px solid var(--lidom-border);
  border-radius: 12px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow 150ms, transform 150ms;
}
.dd-lidom-info__bloque:hover {
  box-shadow: 0 8px 32px rgba(0,80,179,.18);
  transform: translateY(-2px);
}

/* Cabecera de tarjeta */
.dd-lidom-info__bloque-head {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 22px;
  background: rgba(0, 80, 179, .07);
  border-bottom: 1px solid var(--lidom-border);
}
.dd-lidom-info__bloque-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 10px;
  background: var(--lidom-blue); color: #fff;
  flex-shrink: 0;
}
.dd-lidom-info__bloque h3 {
  font-size: 1rem; font-weight: 800; letter-spacing: .03em;
  text-transform: uppercase; color: var(--dd-text); margin: 0; line-height: 1.2;
}

/* Cuerpo de tarjeta */
.dd-lidom-info__bloque-body {
  padding: 20px 22px; flex: 1;
}
.dd-lidom-info__bloque-body p {
  font-size: .9rem; color: var(--dd-muted); line-height: 1.8; margin: 0;
}
.dd-lidom-info__bloque-body p strong { color: var(--dd-text); font-weight: 700; }

/* Lista equipos con punto de color */
.dd-lidom-info__bloque-body ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
}
.dd-lidom-info__bloque-body ul li {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--lidom-border);
  font-size: .88rem; color: var(--dd-muted);
}
.dd-lidom-info__bloque-body ul li:last-child { border-bottom: none; }
.dd-lidom-info__bloque-body ul li strong { color: var(--dd-text); font-weight: 700; }
.dd-equipo-dot {
  display: inline-block; width: 10px; height: 10px; border-radius: 50%; flex-shrink: 0;
}

/* Lista formato (label + valor) */
.dd-format-list { display: flex; flex-direction: column; }
.dd-format-list li {
  display: flex; align-items: baseline;
  justify-content: space-between; gap: 12px;
  padding: 10px 0;
  border-bottom: 1px solid var(--lidom-border);
  font-size: .88rem;
}
.dd-format-list li:last-child { border-bottom: none; }
.dd-format-label {
  font-weight: 700; color: var(--dd-text); white-space: nowrap; flex-shrink: 0;
}
.dd-format-val { color: var(--dd-muted); text-align: right; }

/* ═══════════════════════════════════════════════════════
   MLB — Grandes Ligas
   ═══════════════════════════════════════════════════════ */
:root {
  --mlb-red:    #E40521;
  --mlb-navy:   #001f5b;
  --mlb-surface: var(--lidom-surface);
  --mlb-border:  var(--lidom-border);
}

.dd-mlb-page { padding: var(--dd-space-8) 0 var(--dd-space-16); }

/* ── Hero ────────────────────────────────────────────── */
.dd-mlb-hero {
  text-align: center;
  padding: var(--dd-space-10) 0 var(--dd-space-8);
}
.dd-mlb-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .82rem; font-weight: 700; letter-spacing: .07em; text-transform: uppercase;
  color: #fff; background: rgba(228,5,33,.18); border: 1px solid rgba(228,5,33,.35);
  border-radius: 999px; padding: 6px 18px; margin-bottom: var(--dd-space-5);
}
.dd-mlb-hero__eyebrow-dot {
  width: 7px; height: 7px; border-radius: 50%;
  background: #22C55E; animation: dd-pulse 2s infinite; flex-shrink: 0;
}
.dd-mlb-hero__eyebrow-sep { color: rgba(255,255,255,.4); }
.dd-mlb-hero__titulo {
  font-size: clamp(2.6rem, 5.5vw, 4rem);
  font-weight: 900; letter-spacing: -.01em; text-transform: uppercase;
  line-height: 1.05; margin: 0 0 var(--dd-space-3);
}
.dd-mlb-hero__titulo-sub {
  display: block; font-size: .52em; font-weight: 700;
  letter-spacing: .1em; color: var(--mlb-red);
}
.dd-mlb-hero__sub {
  font-size: .88rem; color: var(--dd-muted);
  text-transform: uppercase; letter-spacing: .04em;
}

/* ── Intro ───────────────────────────────────────────── */
.dd-mlb-intro {
  max-width: 900px; margin: 0 auto var(--dd-space-10);
  text-align: center; padding: var(--dd-space-5) var(--dd-space-7);
  border: 1px solid rgba(228,5,33,.2); border-radius: 12px;
  background: rgba(228,5,33,.04);
}
.dd-mlb-intro__texto { font-size: 1rem; line-height: 1.9; color: var(--dd-muted); margin: 0; }
.dd-mlb-intro__texto strong { color: var(--dd-text); }

/* ── Sección genérica ────────────────────────────────── */
.dd-mlb-section {
  background: var(--mlb-surface);
  border: 1px solid var(--mlb-border);
  border-top: 3px solid var(--mlb-red);
  border-radius: 12px; overflow: hidden;
}
.dd-mlb-section__titulo {
  display: flex; align-items: center; gap: 8px;
  font-size: .78rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
  color: var(--dd-muted); padding: 14px 18px;
  border-bottom: 1px solid var(--mlb-border); margin: 0;
  background: rgba(228,5,33,.04);
}
.dd-mlb-section__titulo svg { color: var(--mlb-red); flex-shrink: 0; }
.dd-mlb-section__badge {
  margin-left: auto; font-size: .7rem; font-weight: 900; letter-spacing: .06em;
  padding: 2px 8px; border-radius: 4px;
  background: var(--mlb-red); color: #fff;
}
.dd-mlb-section__live {
  margin-left: 6px; font-size: .68rem; font-weight: 900; letter-spacing: .06em;
  padding: 2px 8px; border-radius: 4px;
  background: #22C55E; color: #000;
}

/* ── Grid: juegos + dominicanos ─────────────────────── */
.dd-mlb-top-grid {
  display: grid; grid-template-columns: 1fr;
  gap: var(--dd-space-5); margin-bottom: var(--dd-space-6);
}
@media (min-width: 900px) {
  .dd-mlb-top-grid { grid-template-columns: 3fr 2fr; gap: 32px; align-items: start; }
}

/* ── Juegos de hoy ───────────────────────────────────── */
.dd-mlb-loading { padding: 24px; text-align: center; color: var(--dd-muted); font-size: .88rem; }
.dd-mlb-empty   { padding: 20px 18px; color: var(--dd-muted); font-size: .88rem; margin: 0; }

.dd-game-row {
  display: flex; flex-direction: column; gap: 4px;
  padding: 12px 18px; border-bottom: 1px solid var(--mlb-border);
}
.dd-game-row:last-child { border-bottom: none; }
.dd-game-row--live { background: rgba(34,197,94,.04); }

.dd-game-row__teams {
  display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 12px;
}
.dd-game-row__team { display: flex; align-items: center; gap: 8px; min-width: 0; }
.dd-game-row__team--home { justify-content: flex-end; flex-direction: row-reverse; }
.dd-game-row__abbr {
  font-size: .75rem; font-weight: 900; letter-spacing: .04em;
  color: var(--dd-text); width: 32px; text-align: center; flex-shrink: 0;
}
.dd-game-row__name {
  font-size: .78rem; color: var(--dd-muted);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dd-game-row__score {
  display: flex; align-items: center; gap: 6px;
  font-size: 1.1rem; font-weight: 900; font-family: 'Roboto Mono', monospace;
  color: var(--dd-muted); text-align: center; justify-content: center; white-space: nowrap;
}
.dd-game-row__sep { color: rgba(255,255,255,.2); font-size: .9em; }
.dd-score--win { color: var(--dd-text); }

.dd-game-row__state { text-align: center; }
.dd-game-live  { font-size: .72rem; font-weight: 800; color: #22C55E; letter-spacing: .04em; }
.dd-game-final { font-size: .72rem; font-weight: 700; color: var(--dd-muted); letter-spacing: .04em; }
.dd-game-hour  { font-size: .72rem; font-weight: 600; color: var(--dd-muted); }

/* ── Dominicanos ─────────────────────────────────────── */
.dd-dom-list { list-style: none; padding: 0; margin: 0; }
.dd-dom-item {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 11px 18px; border-bottom: 1px solid var(--mlb-border);
}
.dd-dom-item:last-child { border-bottom: none; }
.dd-dom-item__info { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dd-dom-item__nombre { font-size: .88rem; font-weight: 700; color: var(--dd-text); }
.dd-dom-item__equipo { font-size: .76rem; color: var(--dd-muted); }
.dd-dom-item__stat {
  font-size: .72rem; font-weight: 700; white-space: nowrap;
  color: var(--mlb-red); background: rgba(228,5,33,.1);
  border: 1px solid rgba(228,5,33,.2); border-radius: 4px; padding: 2px 7px;
}

/* ── Standings grid ──────────────────────────────────── */
.dd-mlb-standings-grid {
  display: grid; grid-template-columns: 1fr;
  gap: var(--dd-space-5); margin-bottom: var(--dd-space-10);
}
@media (min-width: 900px) {
  .dd-mlb-standings-grid { grid-template-columns: 1fr 1fr; gap: 32px; align-items: start; }
}

/* ── Standings table ─────────────────────────────────── */
.dd-standings-div { margin-bottom: 0; }
.dd-standings-div + .dd-standings-div { border-top: 1px solid var(--mlb-border); }
.dd-standings-div__name {
  font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--mlb-red); padding: 8px 16px 4px;
}
.dd-standings-table {
  width: 100%; border-collapse: collapse; font-size: .82rem;
}
.dd-standings-table thead th {
  font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--dd-muted); padding: 6px 10px; text-align: left;
  border-bottom: 1px solid var(--mlb-border);
}
.dd-standings-table tbody tr {
  border-bottom: 1px solid var(--mlb-border); transition: background 120ms;
}
.dd-standings-table tbody tr:last-child { border-bottom: none; }
.dd-standings-table tbody tr:hover { background: rgba(255,255,255,.03); }
.dd-standings-table td { padding: 8px 10px; color: var(--dd-muted); }
.dd-st-num { text-align: center !important; width: 32px; }
.dd-st-team { display: flex; align-items: center; gap: 8px; }
.dd-st-abbr { font-weight: 800; font-size: .78rem; color: var(--dd-text); width: 30px; flex-shrink: 0; }
.dd-st-name { font-size: .8rem; color: var(--dd-muted); }
.dd-st-pct  { font-weight: 700; color: var(--dd-text); }

/* ── Bloques informativos MLB ────────────────────────── */
.dd-mlb-info {
  border-top: 1px solid var(--mlb-border);
  padding-top: var(--dd-space-12, 72px);
  margin-top: var(--dd-space-2);
}
.dd-mlb-info__titulo {
  font-size: clamp(1.1rem, 2.5vw, 1.45rem);
  font-weight: 900; letter-spacing: .06em; text-transform: uppercase;
  text-align: center; margin: 0 0 var(--dd-space-8); color: var(--dd-text);
  position: relative;
}
.dd-mlb-info__titulo::after {
  content: ''; display: block; width: 48px; height: 3px;
  background: var(--mlb-red); border-radius: 2px; margin: var(--dd-space-3) auto 0;
}
.dd-mlb-info__grid {
  display: grid; grid-template-columns: 1fr; gap: 20px;
}
@media (min-width: 640px) { .dd-mlb-info__grid { grid-template-columns: repeat(2, 1fr); } }

.dd-mlb-info__bloque {
  background: var(--mlb-surface); border: 1px solid var(--mlb-border);
  border-radius: 12px; overflow: hidden; display: flex; flex-direction: column;
  transition: box-shadow 150ms, transform 150ms;
}
.dd-mlb-info__bloque:hover {
  box-shadow: 0 8px 32px rgba(228,5,33,.12); transform: translateY(-2px);
}
.dd-mlb-info__bloque-head {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 22px;
  background: rgba(228,5,33,.06); border-bottom: 1px solid var(--mlb-border);
}
.dd-mlb-info__bloque-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 10px;
  background: var(--mlb-red); color: #fff; flex-shrink: 0;
}
.dd-mlb-info__bloque h3 {
  font-size: 1rem; font-weight: 800; letter-spacing: .03em;
  text-transform: uppercase; color: var(--dd-text); margin: 0; line-height: 1.2;
}
.dd-mlb-info__bloque-body { padding: 20px 22px; flex: 1; }
.dd-mlb-info__bloque-body p {
  font-size: .9rem; color: var(--dd-muted); line-height: 1.8; margin: 0;
}
.dd-mlb-info__bloque-body p strong { color: var(--dd-text); font-weight: 700; }
.dd-mlb-info__bloque-body ul {
  list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column;
}
.dd-mlb-info__bloque-body ul li {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0; border-bottom: 1px solid var(--mlb-border);
  font-size: .88rem; color: var(--dd-muted);
}
.dd-mlb-info__bloque-body ul li:last-child { border-bottom: none; }


/* ═══════════════════════════════════════════════════════════════════════════
   DD-SPORT — Sistema compartido NBA · Fútbol · Voleibol
   Usa --sc (sport color) inyectado por cada página wrapper.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Tokens de color por deporte ──────────────────────── */
.dd-nba-page      { --sc: #17408B; --sc-dim: rgba(23,64,139,.07);  --sc-border: rgba(23,64,139,.22);  --sc-shadow: rgba(23,64,139,.18); }
.dd-futbol-page   { --sc: #006837; --sc-dim: rgba(0,104,55,.07);   --sc-border: rgba(0,104,55,.22);   --sc-shadow: rgba(0,104,55,.18); }
.dd-voleibol-page { --sc: #002D9C; --sc-dim: rgba(0,45,156,.07);   --sc-border: rgba(0,45,156,.22);   --sc-shadow: rgba(0,45,156,.18); }

/* ── Página wrapper ──────────────────────────────────── */
.dd-sport-page {
  padding-top: var(--dd-space-10);
  padding-bottom: var(--dd-space-10);
}

/* ── Hero ────────────────────────────────────────────── */
.dd-sport-hero {
  text-align: center;
  padding: 48px 0 40px;
}
.dd-sport-hero__eyebrow {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: .72rem; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
  color: var(--sc);
  background: var(--sc-dim);
  border: 1px solid var(--sc-border);
  border-radius: 100px;
  padding: 5px 16px;
  margin-bottom: 20px;
}
.dd-sport-hero__eyebrow-dot {
  display: inline-block;
  width: 7px; height: 7px;
  border-radius: 50%;
  background: var(--sc);
  animation: dd-pulse 1.6s ease-in-out infinite;
}
@keyframes dd-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%       { opacity: .5; transform: scale(.75); }
}
.dd-sport-hero__eyebrow-sep { opacity: .4; }
.dd-sport-hero__titulo {
  font-family: var(--dd-font-display);
  font-size: clamp(2rem, 6vw, 3.6rem);
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  line-height: 1.05;
  color: var(--dd-text, #F5F7FA);
  margin: 0 0 8px;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.dd-sport-hero__titulo-sub {
  font-size: clamp(.9rem, 2vw, 1.1rem);
  font-weight: 600;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: var(--sc);
}
.dd-sport-hero__sub {
  font-size: .88rem;
  color: var(--dd-muted, #8A93A6);
  margin: 12px 0 0;
  letter-spacing: .03em;
}

/* ── Intro box ───────────────────────────────────────── */
.dd-sport-intro {
  border: 1px solid var(--sc-border);
  border-left: 4px solid var(--sc);
  border-radius: var(--dd-radius-lg, 12px);
  background: var(--sc-dim);
  padding: 20px 24px;
  margin-bottom: var(--dd-space-8, 32px);
}
.dd-sport-intro p {
  font-size: .95rem;
  color: var(--dd-muted, #8A93A6);
  line-height: 1.8;
  margin: 0;
}
.dd-sport-intro p strong { color: var(--dd-text, #F5F7FA); font-weight: 700; }

/* ── Section card ────────────────────────────────────── */
.dd-sport-section {
  background: var(--dd-surface-1, #19202E);
  border: 1px solid var(--dd-border, #2A3347);
  border-top: 3px solid var(--sc);
  border-radius: var(--dd-radius-lg, 12px);
  overflow: hidden;
  margin-bottom: var(--dd-space-6, 24px);
}
.dd-sport-section__titulo {
  display: flex; align-items: center; gap: 10px;
  font-size: .8rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase;
  color: var(--dd-text, #F5F7FA);
  padding: 14px 20px;
  border-bottom: 1px solid var(--dd-border, #2A3347);
  background: var(--sc-dim);
}
.dd-sport-section__badge {
  margin-left: auto;
  font-size: .65rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
  color: var(--sc);
  background: var(--sc-dim);
  border: 1px solid var(--sc-border);
  border-radius: 4px;
  padding: 2px 8px;
}

/* ── Top grid (1 col → 2 col) ────────────────────────── */
.dd-sport-top-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--dd-space-6, 24px);
  margin-bottom: var(--dd-space-6, 24px);
}
@media (min-width: 900px) {
  .dd-sport-top-grid { grid-template-columns: 1fr 1fr; align-items: start; gap: 32px; }
}

/* ── Loading / empty ─────────────────────────────────── */
.dd-sport-loading,
.dd-sport-empty {
  padding: 28px 20px;
  text-align: center;
  font-size: .88rem;
  color: var(--dd-muted, #8A93A6);
}

/* ── Info section (bloques SEO) ──────────────────────── */
.dd-sport-info {
  border-top: 1px solid var(--dd-border, #2A3347);
  padding-top: var(--dd-space-10, 40px);
  margin-top: var(--dd-space-2, 8px);
}
.dd-sport-info__titulo {
  font-size: clamp(1.1rem, 2.5vw, 1.45rem);
  font-weight: 900; letter-spacing: .06em; text-transform: uppercase;
  text-align: center; margin: 0 0 var(--dd-space-8, 32px);
  color: var(--dd-text, #F5F7FA);
  position: relative;
}
.dd-sport-info__titulo::after {
  content: ''; display: block;
  width: 48px; height: 3px;
  background: var(--sc);
  border-radius: 2px;
  margin: 12px auto 0;
}
.dd-sport-info__grid {
  display: grid; grid-template-columns: 1fr; gap: 20px;
  margin-bottom: var(--dd-space-10, 40px);
}
@media (min-width: 640px) { .dd-sport-info__grid { grid-template-columns: repeat(2, 1fr); } }

.dd-sport-info__bloque {
  background: var(--dd-surface-1, #19202E);
  border: 1px solid var(--dd-border, #2A3347);
  border-radius: var(--dd-radius-lg, 12px);
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: box-shadow 150ms, transform 150ms;
}
.dd-sport-info__bloque:hover {
  box-shadow: 0 8px 32px var(--sc-shadow);
  transform: translateY(-2px);
}
.dd-sport-info__bloque-head {
  display: flex; align-items: center; gap: 14px;
  padding: 18px 22px;
  background: var(--sc-dim);
  border-bottom: 1px solid var(--dd-border, #2A3347);
}
.dd-sport-info__bloque-icon {
  display: inline-flex; align-items: center; justify-content: center;
  width: 42px; height: 42px; border-radius: 10px;
  background: var(--sc); color: #fff; flex-shrink: 0;
}
.dd-sport-info__bloque h3 {
  font-size: 1rem; font-weight: 800; letter-spacing: .03em;
  text-transform: uppercase; color: var(--dd-text, #F5F7FA);
  margin: 0; line-height: 1.2;
}
.dd-sport-info__bloque-body { padding: 20px 22px; flex: 1; }
.dd-sport-info__bloque-body p {
  font-size: .9rem; color: var(--dd-muted, #8A93A6);
  line-height: 1.8; margin: 0;
}
.dd-sport-info__bloque-body p strong { color: var(--dd-text, #F5F7FA); font-weight: 700; }
.dd-sport-info__bloque-body ul {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-direction: column;
}
.dd-sport-info__bloque-body ul li {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 0;
  border-bottom: 1px solid var(--dd-border, #2A3347);
  font-size: .88rem; color: var(--dd-muted, #8A93A6);
}
.dd-sport-info__bloque-body ul li:last-child { border-bottom: none; }


/* ═══════════════════════════════════════════════════════════════════════════
   NBA — Tablas de standings
   ═══════════════════════════════════════════════════════════════════════════ */
.dd-nba-standings-wrap { overflow-x: auto; }
.dd-nba-standings-table {
  width: 100%; border-collapse: collapse; font-size: .84rem;
}
.dd-nba-standings-table thead th {
  font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--dd-muted, #8A93A6);
  padding: 8px 10px; text-align: left;
  border-bottom: 1px solid var(--dd-border, #2A3347);
  background: rgba(255,255,255,.02);
}
.dd-nba-standings-table tbody tr {
  border-bottom: 1px solid var(--dd-border, #2A3347);
  transition: background 120ms;
}
.dd-nba-standings-table tbody tr:last-child { border-bottom: none; }
.dd-nba-standings-table tbody tr:hover { background: rgba(255,255,255,.03); }
.dd-nba-standings-table td { padding: 9px 10px; color: var(--dd-muted, #8A93A6); vertical-align: middle; }
.dd-nba-st-num { text-align: center !important; width: 32px; }
.dd-nba-st-team { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.dd-nba-st-abbr { font-weight: 800; font-size: .78rem; color: var(--dd-text, #F5F7FA); width: 32px; flex-shrink: 0; }
.dd-nba-st-name { font-size: .8rem; color: var(--dd-muted, #8A93A6); }
.dd-nba-st-pct  { font-weight: 700; color: var(--dd-text, #F5F7FA); }

/* Fila campeones OKC */
.dd-nba-campeones td { background: rgba(242,183,5,.04); }
.dd-nba-campeones .dd-nba-st-abbr { color: #F2B705; }

/* Badge campeones */
.dd-badge-camp {
  display: inline-block;
  font-size: .6rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase;
  background: rgba(242,183,5,.15); color: #F2B705;
  border: 1px solid rgba(242,183,5,.3);
  border-radius: 4px; padding: 2px 7px;
  margin-left: 6px; vertical-align: middle;
}

/* Dominicanos NBA */
.dd-nba-dom { margin-bottom: var(--dd-space-6, 24px); }
.dd-dom-item__stat--nba {
  font-size: .72rem; font-weight: 700; white-space: nowrap;
  color: #17408B; background: rgba(23,64,139,.12);
  border: 1px solid rgba(23,64,139,.25); border-radius: 4px; padding: 2px 7px;
}


/* ═══════════════════════════════════════════════════════════════════════════
   LDF — Tabla de posiciones fútbol
   ═══════════════════════════════════════════════════════════════════════════ */
.dd-ldf-standings-wrap { overflow-x: auto; }
.dd-ldf-standings-table {
  width: 100%; border-collapse: collapse; font-size: .84rem;
}
.dd-ldf-standings-table thead th {
  font-size: .68rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
  color: var(--dd-muted, #8A93A6);
  padding: 8px 10px; text-align: left;
  border-bottom: 1px solid var(--dd-border, #2A3347);
  background: rgba(255,255,255,.02);
}
.dd-ldf-standings-table tbody tr {
  border-bottom: 1px solid var(--dd-border, #2A3347);
  transition: background 120ms;
}
.dd-ldf-standings-table tbody tr:last-child { border-bottom: none; }
.dd-ldf-standings-table tbody tr:hover { background: rgba(255,255,255,.03); }
.dd-ldf-standings-table td { padding: 9px 10px; color: var(--dd-muted, #8A93A6); vertical-align: middle; }
.dd-ldf-st-num  { text-align: center !important; width: 28px; }
.dd-ldf-st-team { display: flex; align-items: center; gap: 8px; }
.dd-ldf-st-abbr { font-weight: 800; font-size: .78rem; color: var(--dd-text, #F5F7FA); width: 34px; flex-shrink: 0; }
.dd-ldf-st-name { font-size: .8rem; color: var(--dd-muted, #8A93A6); }
.dd-ldf-st-city { font-size: .78rem; color: var(--dd-muted, #8A93A6); }
.dd-ldf-st-pct  { font-weight: 700; color: var(--dd-text, #F5F7FA); }

/* Zona playoffs (top 4) */
.dd-ldf-zona td:first-child { border-left: 3px solid #006837; }

/* Columna ciudad — oculta en móvil */
@media (max-width: 639px) { .dd-ldf-st-hide-sm { display: none; } }

.dd-ldf-nota {
  font-size: .72rem; color: var(--dd-muted, #8A93A6);
  text-align: center; margin: 8px 12px 14px; line-height: 1.6;
}

/* Selección Nacional (compartido fútbol y voleibol) */
.dd-selnac-list  { list-style: none; padding: 0; margin: 0; }
.dd-selnac-item  {
  display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--dd-border, #2A3347);
  font-size: .88rem;
}
.dd-selnac-item:last-child { border-bottom: none; }
.dd-selnac-label { color: var(--dd-muted, #8A93A6); flex-shrink: 0; }
.dd-selnac-val   { color: var(--dd-text, #F5F7FA); text-align: right; }
.dd-selnac-val strong { color: var(--sc); }


/* ═══════════════════════════════════════════════════════════════════════════
   Voleibol — Jugadoras y Medallas
   ═══════════════════════════════════════════════════════════════════════════ */

/* Torneos próximos */
.dd-torneos-list  { list-style: none; padding: 0; margin: 0; }
.dd-torneo-item   {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--dd-border, #2A3347);
}
.dd-torneo-item:last-child { border-bottom: none; }
.dd-torneo-item__info  { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.dd-torneo-item__nombre{ font-size: .88rem; font-weight: 700; color: var(--dd-text, #F5F7FA); }
.dd-torneo-item__fecha { font-size: .76rem; color: var(--dd-muted, #8A93A6); }
.dd-torneo-item__org   {
  font-size: .7rem; font-weight: 700; white-space: nowrap;
  color: var(--sc); background: var(--sc-dim);
  border: 1px solid var(--sc-border);
  border-radius: 4px; padding: 2px 8px;
}

/* Sección medallas */
.dd-medallas-section { margin-bottom: var(--dd-space-6, 24px); }
.dd-medallas-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 12px;
  padding: 20px;
}
@media (min-width: 640px)  { .dd-medallas-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .dd-medallas-grid { grid-template-columns: repeat(6, 1fr); gap: 14px; } }

.dd-medalla-item {
  display: flex; flex-direction: column; align-items: center;
  gap: 8px; padding: 16px 12px;
  border-radius: var(--dd-radius-md, 8px);
  border: 1px solid var(--dd-border, #2A3347);
  background: var(--dd-surface-1, #19202E);
  text-align: center;
  transition: transform 120ms, box-shadow 120ms;
}
.dd-medalla-item:hover { transform: translateY(-2px); box-shadow: 0 6px 20px rgba(0,0,0,.3); }

.dd-medalla-item--bronce .dd-medalla-item__icon { color: #CD7F32; }
.dd-medalla-item--oro    .dd-medalla-item__icon { color: #F2B705; }
.dd-medalla-item--ranking .dd-medalla-item__icon { color: #002D9C; }

.dd-medalla-item__icon { display: flex; align-items: center; justify-content: center; }
.dd-medalla-item__info { display: flex; flex-direction: column; gap: 3px; }
.dd-medalla-item__titulo {
  font-size: .78rem; font-weight: 800; letter-spacing: .04em;
  color: var(--dd-text, #F5F7FA); line-height: 1.3;
}
.dd-medalla-item__detalle {
  font-size: .7rem; color: var(--dd-muted, #8A93A6);
}

/* Grid jugadoras */
.dd-jugadoras-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 0;
}
@media (min-width: 640px) { .dd-jugadoras-grid { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 900px) { .dd-jugadoras-grid { grid-template-columns: repeat(3, 1fr); } }

.dd-jugadora-card {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 20px;
  border-bottom: 1px solid var(--dd-border, #2A3347);
  transition: background 120ms;
}
.dd-jugadora-card:hover { background: rgba(255,255,255,.03); }
/* En grid de 2+ cols, eliminar borde bottom de última fila */
@media (min-width: 640px) {
  .dd-jugadora-card:nth-last-child(-n+2):first-child,
  .dd-jugadora-card:nth-last-child(-n+2):first-child ~ .dd-jugadora-card { border-bottom: none; }
}

.dd-jugadora-card__pos {
  display: inline-flex; align-items: center; justify-content: center;
  width: 38px; height: 38px; border-radius: 8px;
  background: var(--sc-dim); color: var(--sc);
  font-size: .7rem; font-weight: 900; letter-spacing: .06em;
  flex-shrink: 0;
}
.dd-jugadora-card__info  { display: flex; flex-direction: column; gap: 2px; flex: 1; min-width: 0; }
.dd-jugadora-card__nombre{ font-size: .88rem; font-weight: 700; color: var(--dd-text, #F5F7FA); }
.dd-jugadora-card__rol   { font-size: .75rem; color: var(--dd-muted, #8A93A6); }
.dd-jugadora-card__stat  {
  font-size: .7rem; font-weight: 700; white-space: nowrap;
  color: var(--sc); background: var(--sc-dim);
  border: 1px solid var(--sc-border);
  border-radius: 4px; padding: 2px 7px;
}
.dd-mlb-info__bloque-body ul li strong { color: var(--dd-text); font-weight: 700; }

/* ── Menú Resultados — dropdown simple ──────────────────────── */
.sub-menu--resultados {
  min-width: 200px;
  padding: 8px 0;
  background: var(--dd-color-surface, #161B26);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  box-shadow: 0 8px 24px rgba(0,0,0,.35);
  list-style: none;
  margin: 0;
}
.sub-menu--resultados li { margin: 0; }
.sub-menu--resultados a {
  display: flex;
  flex-direction: column;
  gap: 1px;
  padding: 9px 18px;
  text-decoration: none;
  transition: background 120ms;
}
.sub-menu--resultados a:hover { background: rgba(255,255,255,.05); }
.sub-menu--resultados .res-label {
  font-size: .88rem;
  font-weight: 700;
  color: var(--dd-text, #F5F7FA);
  line-height: 1.2;
}
.sub-menu--resultados .res-desc {
  font-size: .73rem;
  color: var(--dd-muted, #8A93A6);
  line-height: 1.2;
}


/* === Legibilidad tablas de resultados (auditoría de contraste WCAG) === */
/* LiDOM: posición 4+ pasaba de contraste 2.3 a 7.9 */
.dd-pos-num--4 { color: #7EB2FF; border-color: rgba(126,178,255,.35); }
/* LiDOM: racha de derrotas pasaba de 3.56 a 6.3 */
.dd-racha--l { color: #FF6B7A; }
/* Texto secundario dentro de tablas: de 5.3 a 7.7 */
.dd-lidom-tabla, .dd-nba-standings-table, .dd-ldf-standings-table,
.dd-medallero__tabla, .dd-standings-table, .dd-jornada-tabla {
  --color-muted: #A6B0C3;
  --dd-muted: #A6B0C3;
  --dd-muted: #A6B0C3;
}


/* === Footer bottom minimalista en blanco === */
.footer-bottom { text-align: center; justify-content: center; }
.footer-bottom span { text-transform: uppercase; }
.footer-bottom span { color: #fff; font-size: 12px; font-weight: 400; letter-spacing: .06em; }
.footer-bottom a { color: #fff; text-decoration: none; }
.footer-bottom a:hover { opacity: .75; }



/* === Logos en tablas de standings (MLB / NBA / LIDOM) === */
.dd-st-logo { width: 20px; height: 20px; object-fit: contain; margin-right: 6px; vertical-align: middle; flex-shrink: 0; }
.dd-st-team, .dd-nba-st-team { white-space: nowrap; }
.dd-lidom-tabla__equipo .dd-st-logo { margin-right: 8px; }
.dd-lidom-tabla__equipo { white-space: nowrap; }

/* === Banderas del medallero (flagcdn) === */
.bandera__img { border-radius: 2px; vertical-align: -2px; box-shadow: 0 0 0 1px rgba(255,255,255,.08); }

/* === Botón compartir WhatsApp móvil === */
.share-wa-mobile {
  display: none; position: fixed; right: 14px; bottom: 18px; z-index: 90;
  align-items: center; gap: 7px; padding: 11px 16px; border-radius: 999px;
  background: #25D366; color: #062e1a; font-size: 13px; font-weight: 700;
  text-decoration: none; box-shadow: 0 4px 14px rgba(0,0,0,.4);
}
.share-wa-mobile:hover { background: #1fc25a; color: #062e1a; }
@media (max-width: 1259px) { .share-wa-mobile { display: inline-flex; } }

/* === Dominicanos en MLB (portada) === */
.dd-dom-row { display: grid; grid-auto-flow: column; grid-auto-columns: 172px; gap: 14px; overflow-x: auto; padding: 4px 4px 14px; scrollbar-width: thin; }
.dd-dom-card {
  background: linear-gradient(165deg, var(--dd-surface-2, #1F2633), var(--dd-surface-1, #161B26) 65%);
  border: 1px solid var(--dd-border, rgba(255,255,255,.08));
  border-radius: 18px; padding: 20px 14px 16px; text-align: center;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.dd-dom-card:hover {
  transform: translateY(-4px);
  border-color: var(--dd-gold, #F2B705);
  box-shadow: 0 14px 28px rgba(0,0,0,.35);
}
.dd-dom-card__foto {
  /* Estilo "postal MLB": la foto oficial es 120x180 (proporción 2:3) —
     en vez de forzarla en un círculo (recortaba cara o gorra según el
     jugador), se respeta su proporción real con un marco tipo tarjeta.
     object-fit:cover + aspect-ratio idéntico a la fuente = foto completa,
     cero recorte. Fix 4 ago 2026, ver BITACORA.md. */
  display: block; width: 120px; max-width: 100%; aspect-ratio: 2 / 3;
  object-fit: cover; object-position: center;
  border-radius: 10px; border: 3px solid var(--dd-gold, #F2B705);
  background: rgba(255,255,255,.06); margin: 0 auto 12px; box-sizing: border-box;
  box-shadow: 0 8px 18px rgba(0,0,0,.4);
}
.dd-dom-card__nombre { font-size: 13.5px; font-weight: 700; color: var(--dd-text, #F5F7FA); line-height: 1.3; margin-bottom: 8px; }
.dd-dom-card__meta {
  display: inline-block; font-size: 10px; color: #C7D0E0; text-transform: uppercase; letter-spacing: .05em;
  margin-bottom: 10px; background: rgba(255,255,255,.06); border: 1px solid var(--dd-border, rgba(255,255,255,.1));
  border-radius: 999px; padding: 3px 11px;
}
.dd-dom-card__stats { font-family: 'Roboto Mono', monospace; font-size: 11.5px; font-weight: 700; color: var(--lidom-gold, #F2B705); letter-spacing: .01em; }




/* ══════════════════════════════════════════════════════════════════════
   REDISEÑO HOME v3 (ago 2026) — todo escopado bajo .dd-home2
   Ver [[deportesdo-rediseno-home]] en memoria del proyecto. Escopado a
   propósito bajo .dd-home2 (solo <main> de front-page.php) para no tocar
   .section-title/.home-section/.mas-card/.card-article/.grid-cards en
   taxonomy-deporte.php, page-lidom.php, single-equipo.php, etc. — esas
   páginas reusan las mismas clases base y deben verse exactamente igual
   que antes de este cambio.
   ══════════════════════════════════════════════════════════════════════ */

/* Banner LIDOM compacto (reemplaza .hero-jcc en el home) */
.dd-lidom-banner {
  display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 24px;
  background: linear-gradient(105deg, #001438 0%, #002D62 48%, #4a020e 100%);
  border: 1px solid #17325c; border-radius: var(--dd-radius-lg);
  padding: 26px 30px; margin: var(--dd-space-6) 0;
  position: relative; overflow: hidden;
}
.dd-lidom-banner::before {
  content: ''; position: absolute; inset: 0;
  background: repeating-linear-gradient(115deg, transparent 0 46px, rgba(255,255,255,.03) 46px 48px);
  pointer-events: none;
}
.dd-lidom-banner__left { position: relative; }
.dd-lidom-banner__eyebrow { font-family: var(--dd-font-mono); font-size: 11px; letter-spacing: .14em; text-transform: uppercase; color: #9db4d8; margin-bottom: 6px; }
.dd-lidom-banner__title { font-family: var(--dd-font-display); font-weight: 900; font-size: clamp(1.5rem, 2.6vw, 2.1rem); letter-spacing: -.015em; color: #fff; line-height: 1.05; text-transform: uppercase; margin: 0; }
.dd-lidom-banner__title span { color: var(--dd-gold); }
.dd-lidom-banner__sub { color: #c3d2ea; font-size: 14px; margin-top: 8px; max-width: 56ch; }
.dd-lidom-banner__actions { display: flex; gap: 10px; margin-top: 16px; flex-wrap: wrap; }
.dd-lidom-banner__actions .btn-ghost { color: #fff; border-color: rgba(255,255,255,.35); }
.dd-lidom-banner__actions .btn-ghost:hover { background: rgba(255,255,255,.1); }
.dd-lidom-banner__right { position: relative; text-align: center; }
.dd-lidom-banner__countdown { display: flex; gap: 10px; }
.dd-lidom-banner__countdown .countdown-unit { min-width: 58px; padding: 10px 8px; background: rgba(0,0,0,.28); border-color: rgba(255,255,255,.14); }
.dd-lidom-banner__countdown .countdown-unit__number { font-size: 1.6rem; }
.dd-lidom-banner__date { font-family: var(--dd-font-mono); font-size: 11px; letter-spacing: .1em; color: #9db4d8; text-transform: uppercase; margin-top: 10px; }
@media (max-width: 760px) {
  .dd-lidom-banner { grid-template-columns: 1fr; text-align: center; }
  .dd-lidom-banner__actions { justify-content: center; }
  .dd-lidom-banner__countdown { justify-content: center; }
}

/* Portada: slider premium + rail "Titulares" (patrón ESPN) */
.dd-home2 .dd-portada__grid { display: grid; grid-template-columns: 1.9fr 1fr; gap: 18px; align-items: stretch; }

/* El .dd-slider preexistente del sitio ("Modelo C") convierte el propio
   slider en una grilla de 2 columnas a partir de 768px (imagen +
   miniaturas como lista lateral vertical) — eso duplicaba el efecto
   columna y el home terminaba viéndose como 3 columnas en vez de la
   franja horizontal de miniaturas debajo de la imagen que se aprobó
   en el mockup. Se anula ese layout viejo solo dentro de .dd-home2. */
.dd-home2 .dd-slider {
  display: flex; flex-direction: column; height: auto;
}
.dd-home2 .dd-slider__stage {
  aspect-ratio: unset; height: auto; min-height: 400px;
  border-radius: var(--dd-radius-lg);
}
.dd-home2 .dd-slider__thumbs {
  flex-direction: row; overflow-x: auto; height: auto;
  border-radius: 0;
}
.dd-home2 .dd-thumb {
  flex: 1; width: auto; min-width: 0;
  flex-direction: column; border-left: none; border-bottom: none;
  border: 1px solid var(--dd-border); border-radius: var(--dd-radius-md);
  background: var(--dd-surface-1);
}
.dd-home2 .dd-thumb:first-child,
.dd-home2 .dd-thumb:last-child { border-radius: var(--dd-radius-md); }
.dd-home2 .dd-thumb.is-active { border-color: var(--dd-primary); }
.dd-home2 .dd-thumb__img { width: 100%; aspect-ratio: 16/10; flex-shrink: 1; }
.dd-home2 .dd-thumb__body { padding: 8px 10px; gap: 3px; }
.dd-home2 .dd-thumb__cat,
.dd-home2 .dd-thumb__excerpt,
.dd-home2 .dd-thumb__date { display: none; }
.dd-home2 .dd-thumb__title { font-size: 12px; -webkit-line-clamp: 2; }
@media (max-width: 767px) {
  .dd-home2 .dd-slider__thumbs { flex-wrap: wrap; }
  .dd-home2 .dd-thumb { flex: 1 1 calc(50% - 4px); }
}
.dd-home2 .dd-rail { display: flex; flex-direction: column; background: var(--dd-surface-1); border: 1px solid var(--dd-border); border-radius: var(--dd-radius-lg); overflow: hidden; }
.dd-home2 .dd-rail__head { background: var(--dd-bg); padding: 11px 16px; border-bottom: 2px solid var(--dd-primary); }
.dd-home2 .dd-rail__title { font-family: var(--dd-font-display); font-weight: 800; font-size: 13px; letter-spacing: .09em; text-transform: uppercase; display: flex; align-items: center; gap: 8px; }
.dd-home2 .dd-rail__title i { width: 7px; height: 7px; border-radius: 50%; background: var(--dd-primary); animation: dd-pulse 1.4s ease-in-out infinite; }
.dd-home2 .dd-rail__list { display: flex; flex-direction: column; flex: 1; }
.dd-home2 .dd-rail__item { display: flex; flex-direction: column; gap: 4px; padding: 12px 16px; border-bottom: 1px solid var(--dd-border); flex: 1; justify-content: center; transition: background var(--dd-transition); position: relative; text-decoration: none; }
.dd-home2 .dd-rail__item:last-child { border-bottom: 0; }
.dd-home2 .dd-rail__item:hover { background: var(--dd-surface-2); }
.dd-home2 .dd-rail__item-title { font-family: var(--dd-font-display); font-weight: 700; font-size: 14.5px; line-height: 1.28; color: var(--dd-text); }
.dd-home2 .dd-rail__item-meta { font-family: var(--dd-font-mono); font-size: 10px; color: var(--dd-muted); text-transform: uppercase; letter-spacing: .06em; }
.dd-home2 .dd-rail__item-meta b { color: var(--dd-primary-text); font-weight: 500; }
@media (max-width: 960px) {
  .dd-home2 .dd-portada__grid { grid-template-columns: 1fr; }
}

/* Sistema de headers de sección (barra roja) — solo dentro del home */
.dd-home2 .section-title {
  border-bottom: 2px solid var(--dd-border); position: relative; padding-bottom: 10px;
  font-size: 20px; letter-spacing: .02em; color: var(--dd-text);
}
.dd-home2 .section-title::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 88px; height: 2px; background: var(--dd-section-accent, var(--dd-primary)); }
.dd-home2 .section-title__accent { display: none; }
@media (min-width: 768px) {
  .dd-home2 .section-title { font-size: 24px; }
}

/* Marca "/" antes de cada título de sección — mismo lenguaje del
   isotipo de la marca, coloreada con el acento de cada deporte. */
.dd-home2 .section-title::before,
.dd-home2 .home-section__title::before {
  content: ''; display: inline-block; width: 6px; height: .8em;
  margin-right: 10px; vertical-align: -.05em;
  background: var(--dd-section-accent, var(--dd-primary));
  transform: skewX(-12deg); flex-shrink: 0;
}

/* ── Color de acento por deporte — cada sección tiene una identidad
   propia (barra del header, botón "Ver todo", borde de la tarjeta
   destacada en hover, badge de categoría), en vez de que todo se vea
   con el mismo rojo. Sistema deliberado y consistente, no aleatorio:
   Béisbol y las secciones catch-all se quedan con el rojo de marca
   (--dd-primary, ya es el fallback por defecto arriba); Baloncesto
   usa dorado (ya es su color en la fila de stats de MLB); Voleibol +
   Fútbol usa el azul secundario de marca. ──────────────────────── */
.dd-home2 .dd-section--gold,
.dd-home2 .dd-dominicanos { --dd-section-accent: var(--dd-gold); }
.dd-home2 .dd-section--blue { --dd-section-accent: var(--dd-secondary); }

.dd-home2 .dd-section--gold .btn-premium {
  background: linear-gradient(135deg, var(--dd-gold), #b98a00); color: #231a00;
  box-shadow: 0 4px 14px rgba(242,183,5,.35);
}
.dd-home2 .dd-section--blue .btn-premium {
  background: linear-gradient(135deg, var(--dd-secondary), #003b85);
  box-shadow: 0 4px 14px rgba(0,80,179,.35);
}
.dd-home2 .dd-section--gold .card-article:hover,
.dd-home2 .dd-dominicanos .card-article:hover { border-color: rgba(242,183,5,.5); }
.dd-home2 .dd-section--blue .card-article:hover { border-color: rgba(0,80,179,.5); }
.dd-home2 .dd-section--gold .card-article__deporte,
.dd-home2 .dd-section--gold .card-article--hero .card-article__deporte,
.dd-home2 .dd-dominicanos .card-article__deporte { background: var(--dd-gold); color: #231a00; }
.dd-home2 .dd-section--blue .card-article__deporte,
.dd-home2 .dd-section--blue .card-article--hero .card-article__deporte { background: var(--dd-secondary); }

/* "Dominicanos en MLB" no tenía NINGÚN estilo propio (h2 y link sueltos
   sin CSS) — es la razón por la que se veía "simple, como el resto".
   Se le da el mismo sistema de header que el resto de las secciones. */
.dd-home2 .home-section__head {
  display: flex; align-items: center; justify-content: space-between; gap: var(--dd-space-3);
  border-bottom: 2px solid var(--dd-border); position: relative; padding-bottom: 10px;
  margin-bottom: var(--dd-space-4);
}
.dd-home2 .home-section__head::after { content: ''; position: absolute; left: 0; bottom: -2px; width: 88px; height: 2px; background: var(--dd-section-accent, var(--dd-primary)); }
.dd-home2 .home-section__title {
  font-family: var(--dd-font-display); font-weight: 850; text-transform: uppercase;
  font-size: 20px; letter-spacing: .02em; color: var(--dd-text); margin: 0;
}
@media (min-width: 768px) { .dd-home2 .home-section__title { font-size: 24px; } }
.dd-home2 .home-section__more {
  font-family: var(--dd-font-display); font-weight: 800; font-size: 12px;
  letter-spacing: .05em; text-transform: uppercase; white-space: nowrap;
  background: linear-gradient(135deg, var(--dd-section-accent, var(--dd-primary)), #b98a00);
  color: #231a00; padding: 9px 16px; border-radius: var(--dd-radius-md);
  box-shadow: 0 4px 14px rgba(242,183,5,.35);
  transition: opacity var(--dd-transition), transform var(--dd-transition);
}
.dd-home2 .home-section__more:hover { opacity: .88; transform: translateY(-1px); }

/* ── Entrada escalonada al hacer scroll (Titulares, MLB, grids de deporte) ──
   Solo transform/opacity (rendimiento), 220ms, escalonado 40ms por ítem,
   tope en el ítem 10 para no demorar demasiado la fila más larga.
   El JS (main.js) agrega .is-visible vía IntersectionObserver, o de
   inmediato si el usuario pidió prefers-reduced-motion. */
.dd-home2 [data-reveal] > * {
  opacity: 0; transform: translateY(14px);
  transition: opacity 220ms cubic-bezier(.16,1,.3,1), transform 220ms cubic-bezier(.16,1,.3,1);
}
.dd-home2 [data-reveal].is-visible > * { opacity: 1; transform: translateY(0); }
.dd-home2 [data-reveal] > *:nth-child(1)  { transition-delay: 0ms; }
.dd-home2 [data-reveal] > *:nth-child(2)  { transition-delay: 40ms; }
.dd-home2 [data-reveal] > *:nth-child(3)  { transition-delay: 80ms; }
.dd-home2 [data-reveal] > *:nth-child(4)  { transition-delay: 120ms; }
.dd-home2 [data-reveal] > *:nth-child(5)  { transition-delay: 160ms; }
.dd-home2 [data-reveal] > *:nth-child(6)  { transition-delay: 200ms; }
.dd-home2 [data-reveal] > *:nth-child(7)  { transition-delay: 240ms; }
.dd-home2 [data-reveal] > *:nth-child(8)  { transition-delay: 280ms; }
.dd-home2 [data-reveal] > *:nth-child(n+9) { transition-delay: 320ms; }

/* ── Zoom sutil de imagen en hover — feedback táctil en las 3 secciones.
   overflow:hidden ya existe en los contenedores de imagen; solo se anima
   transform (compositor, no repintado). */
.dd-home2 .mas-card__img,
.dd-home2 .card-article__img,
.dd-home2 .dd-dom-card__foto {
  transition: transform 260ms cubic-bezier(.16,1,.3,1);
}
.dd-home2 .mas-card:hover .mas-card__img,
.dd-home2 .card-article:hover .card-article__img { transform: scale(1.045); }
.dd-home2 .dd-dom-card:hover .dd-dom-card__foto { transform: scale(1.08); }
.dd-home2 .mas-card__img,
.dd-home2 .card-article:not(.card-article--hero) .card-article__img { overflow: hidden; }

/* Más aire entre secciones del home — antes todo pegado con el mismo
   margin-bottom, sin variación de ritmo */
.dd-home2 .home-section { margin-bottom: 48px; }

/* Grid "featured": la primera tarjeta (card-article--hero) ocupa 2
   columnas y se ve grande; el resto se acomoda alrededor — rompe la
   monotonía de tener 3 grids de tarjetas idénticas seguidos */
@media (min-width: 960px) {
  .dd-home2 .grid-cards--featured { grid-template-columns: repeat(3, 1fr); }
  .dd-home2 .grid-cards--featured > .card-article--hero { grid-column: span 2; grid-row: span 2; min-height: 100%; }
}

/* Hub: feature grande + lista de titulares al lado (Baloncesto + NBA) */
.dd-home2 .dd-hub { display: grid; grid-template-columns: 1.5fr 1fr; gap: 16px; align-items: stretch; }
.dd-home2 .dd-hub .card-article--hero { min-height: 320px; }
.dd-home2 .dd-hub__list { height: 100%; }
@media (max-width: 800px) {
  .dd-home2 .dd-hub { grid-template-columns: 1fr; }
  .dd-home2 .dd-hub .card-article--hero { min-height: 260px; }
}

/* Más deportes fusionado (8 tiles: antes eran 2 grids desparejos —
   "Velocidad" de 2 y "Más deportes" de 6 — ahora una sola cuadrícula
   pareja de 4 columnas en desktop */
@media (min-width: 1100px) {
  .mas-grid--4col { grid-template-columns: repeat(4, 1fr); }
  /* Anula el centrado de fila incompleta (pensado para 3 columnas) —
     con 8 tiles en 4 columnas ya caen parejo en 2 filas, sin hueco.
     !important porque la regla original de centrado tiene un :not()
     extra que le da más especificidad y si no, gana ella. */
  .mas-grid--4col > .mas-card:nth-child(3n+1):nth-last-child(2) { grid-column-start: auto !important; }
  .mas-grid--4col > .mas-card:nth-child(3n+1):nth-last-child(2) ~ .mas-card { grid-column-start: auto !important; }
}
:focus-visible {
  outline: 2px solid var(--dd-primary-text);
  outline-offset: 2px;
}
/* ── Rediseño tabla — solo post 616 (Dominicanos Cy Young en MLB) ────── */
body.postid-616 .dd-prose table {
  border: 1px solid var(--dd-border);
  box-shadow: 0 4px 16px rgba(0,0,0,.25);
}
body.postid-616 .dd-prose thead th {
  border-bottom: 2px solid var(--dd-primary) !important;
}
body.postid-616 .dd-prose tbody tr:nth-child(even) {
  background: rgba(255,255,255,.025);
}
body.postid-616 .dd-prose tbody tr:hover {
  background: rgba(228,5,33,.07) !important;
}
body.postid-616 .dd-prose td:first-child {
  font-weight: 700;
  color: var(--dd-text) !important;
}
/* ── Cy Young table — badges de año + pills de liga + fila unánime ───── */
.dd-cy-table .dd-year-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--dd-surface-2);
  border: 2px solid var(--dd-primary);
  font-weight: 800;
  font-size: .82rem;
  color: var(--dd-text);
}
.dd-cy-table .dd-league-pill {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
}
.dd-cy-table .dd-league-al {
  background: rgba(59,130,246,.15);
  color: #60a5fa;
  border: 1px solid rgba(59,130,246,.35);
}
.dd-cy-table .dd-league-nl {
  background: rgba(228,5,33,.15);
  color: #f87171;
  border: 1px solid rgba(228,5,33,.35);
}
.dd-cy-table tr.dd-row-unanimous {
  box-shadow: inset 3px 0 0 var(--dd-gold);
  background: rgba(212,175,55,.05);
}
.dd-cy-table tr.dd-row-unanimous td:last-child {
  color: var(--dd-gold);
  font-weight: 600;
}
/* ── Cy Young table — texto normal en columnas no numéricas ──────────── */
.dd-cy-table td:not(:first-child) {
  font-family: var(--dd-font-body);
  font-variant-numeric: normal;
}
.dd-cy-table td:last-child {
  font-family: var(--dd-font-mono);
  font-variant-numeric: tabular-nums;
  font-size: .92em;
}

/* ── PREFERS-REDUCED-MOTION (sitewide) ────────────────────────────────────
   El sitio no tenía ningún soporte para esta preferencia: el ticker de
   noticias, el pulso de los puntos "en vivo", la barra de progreso de
   miniaturas y el zoom Ken Burns del slider corrían siempre, sin forma de
   desactivarlos. Se reduce todo a casi-instantáneo (no a "none" a secas,
   para no romper listeners que dependan de eventos de transición/animación). */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .news-ticker__track { animation: none !important; }
}

/* ── Cabecera de taxonomía /deporte/{slug}/ ────────────────────────────
   Antes: la descripción del término se volcaba en un único <p> sin ningún
   estilo propio (heredaba el párrafo base a ancho completo) — se veía como
   un bloque de texto aglomerado. Ahora: acento de marca, título con más
   aire, y la descripción partida en "frase líder" + cuerpo (ver
   taxonomy-deporte.php) con tipografía y ancho de lectura propios. */
.tax-header {
  padding: 28px 0 32px;
  border-bottom: 1px solid var(--dd-border);
  margin-bottom: 32px;
  position: relative;
}
.tax-header::before {
  content: '';
  display: block;
  width: 34px;
  height: 4px;
  border-radius: 2px;
  background: var(--dd-primary);
  margin-bottom: 14px;
}
.tax-header__title {
  margin: 0 0 16px;
}
.tax-header__lead {
  font-family: var(--dd-font-body);
  font-size: clamp(16px, 1.6vw, 18px);
  font-weight: 600;
  line-height: 1.5;
  color: var(--dd-text);
  max-width: var(--dd-max-prose);
  margin: 0 0 10px;
}
.tax-header__desc {
  font-family: var(--dd-font-body);
  font-size: 15px;
  font-weight: 400;
  line-height: 1.75;
  color: var(--color-muted);
  max-width: var(--dd-max-prose);
  margin: 0;
}

