/* ── MARGEN — Minimalist news UI ── */

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

:root {
  --bg: #f7f6f3;
  --bg-elevated: #ffffff;
  --text: #1c1c1a;
  --text-secondary: #5c5c58;
  --text-muted: #8a8a85;
  --border: #e4e3df;
  --border-light: #eeede9;
  --accent: #2d4a3e;
  --accent-soft: #e8f0ec;
  --ai-bg: #faf8f0;
  --ai-border: #e8e0c8;
  --quote-border: #2d4a3e;
  --daily-wash-image: url("/assets/daily-message-watercolor.svg");
  --header-bg: var(--bg);
  --badge-verified-bg: #e8f0ec;
  --badge-verified-text: #2d4a3e;
  --badge-ai-bg: #f5f0e6;
  --badge-ai-text: #7a6530;
  --badge-rumor-bg: #f5f0e6;
  --badge-rumor-text: #8a7340;
  --badge-poll-bg: #ebe8f4;
  --badge-poll-text: #4a3d6b;
  --card-hover: rgba(45, 74, 62, 0.04);
  --page-gutter: clamp(1rem, 2.5vw + 0.5rem, 2.5rem);
  --max-width: min(42rem, 100%);
  --max-width-wide: min(76rem, 100%);
  --content-max: min(76rem, 100%);
  --fbi-blue: #1a4480;
  --fbi-blue-dark: #002868;
  --fbi-gold: #d4af37;
  --fbi-gold-dark: #b8941f;
  --layout-sidebar: 220px;
  --header-height: 56px;
  --logo-block-height: 2.5rem;
  --breaking-ticker-height: 0px;
  --main-top-gap: var(--space-md);
  --font-serif: 'Instrument Serif', Georgia, 'Times New Roman', serif;
  --font-sans: 'DM Sans', system-ui, -apple-system, sans-serif;
  --line-height: 1.75;
  --line-height-tight: 1.3;
  --space-xs: 0.5rem;
  --space-sm: 0.75rem;
  --space-md: 1.25rem;
  --space-lg: 2rem;
  --space-xl: 3rem;
  --space-2xl: 4.5rem;
  --radius: 6px;
  --radius-lg: 10px;
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04);
  --shadow-md: 0 4px 20px rgba(0, 0, 0, 0.06);
  --transition: 0.2s ease;
  --splash-chrome: #1a3a52;
  --scrollbar-size: 8px;
  --edge-line-width: var(--scrollbar-size);
  --layout-inset-left: calc(
    var(--edge-line-width) + max(var(--page-gutter), env(safe-area-inset-left, 0px))
  );
  --scrollbar-track: transparent;
  --scrollbar-thumb: #d4d3ce;
  --scrollbar-thumb-hover: #2d4a3e;
}

[data-theme="dark"] {
  --daily-wash-image: url("/assets/daily-message-watercolor-dark.svg");
  --bg: #141413;
  --bg-elevated: #1e1e1c;
  --text: #f0efeb;
  --text-secondary: #b8b8b2;
  --text-muted: #7a7a74;
  --border: #2e2e2c;
  --border-light: #262624;
  --accent: #7eb89a;
  --accent-soft: #1a2e26;
  --ai-bg: #1f1e18;
  --ai-border: #3a3528;
  --quote-border: #7eb89a;
  --header-bg: var(--bg);
  --badge-verified-bg: #1a2e26;
  --badge-verified-text: #7eb89a;
  --badge-ai-bg: #2a2618;
  --badge-ai-text: #c4a84a;
  --badge-rumor-bg: #2a2618;
  --badge-rumor-text: #c4a84a;
  --badge-poll-bg: #252238;
  --badge-poll-text: #b8a8e8;
  --card-hover: rgba(126, 184, 154, 0.06);
  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.2);
  --shadow-md: 0 4px 24px rgba(0, 0, 0, 0.35);
  --scrollbar-thumb: #3a3a38;
  --scrollbar-thumb-hover: #7eb89a;
}

[data-theme="dark"] .video-block__embed {
  background: #0a0a09;
}

html {
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  background: var(--bg);
  overflow-x: clip;
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

body {
  font-family: var(--font-sans);
  font-size: 1.0625rem;
  line-height: var(--line-height);
  color: var(--text);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: background var(--transition), color var(--transition);
  overflow-x: clip;
  min-width: 0;
  position: relative;
  --edge-line-top: calc(
    var(--breaking-ticker-height) + var(--safe-top, 0px) +
    (var(--header-height) - var(--logo-block-height)) / 2
  );
}

/* Franja vertical: alineada con el logo, encima del borde del header, hasta el final del footer */
body::before {
  content: '';
  position: fixed;
  top: var(--edge-line-top);
  left: 0;
  bottom: 0;
  width: var(--scrollbar-size);
  background: var(--text);
  pointer-events: none;
  z-index: 101;
}

body.has-brand-theme::before {
  background: #fff;
}

html.is-splash-active body::before,
body.news-slideshow-open::before,
body.cast-slideshow-body::before {
  display: none;
}

@media print {
  body::before {
    display: none;
  }
}

/* ── Scrollbar ── */

* {
  scrollbar-width: thin;
  scrollbar-color: var(--scrollbar-thumb) var(--scrollbar-track);
}

*::-webkit-scrollbar {
  width: var(--scrollbar-size);
  height: var(--scrollbar-size);
}

*::-webkit-scrollbar-track {
  background: var(--scrollbar-track);
}

*::-webkit-scrollbar-thumb {
  background-color: var(--scrollbar-thumb);
  border: 2px solid transparent;
  background-clip: padding-box;
  border-radius: 999px;
  transition: background-color var(--transition);
}

*::-webkit-scrollbar-thumb:hover {
  background-color: var(--scrollbar-thumb-hover);
}

*::-webkit-scrollbar-corner {
  background: var(--scrollbar-track);
}

#main {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  padding-top: var(--main-top-gap);
}

#main.home {
  padding-top: var(--space-lg);
}

img {
  max-width: 100%;
  height: auto;
  display: block;
}

a {
  color: var(--accent);
  text-decoration-thickness: 1px;
  text-underline-offset: 2px;
  transition: opacity var(--transition);
}

a:hover {
  opacity: 0.75;
}

/* ── Progress bar ── */

.progress-bar {
  position: fixed;
  top: 0;
  left: 0;
  height: 2px;
  width: 0%;
  background: var(--accent);
  z-index: 200;
  transition: width 0.1s linear;
}

/* ── Header ── */

.site-header {
  position: sticky;
  top: var(--breaking-ticker-height);
  z-index: 100;
  background: var(--header-bg);
  border-bottom: 1px solid var(--border-light);
  height: var(--header-height);
  transition: background var(--transition), border-color var(--transition), color var(--transition);
}

/* ── Branded header (color de marca del artículo) ── */

/* Safari 26+ toma el color del chrome desde html/body o elementos fixed arriba (no theme-color). */
html.has-brand-theme {
  background-color: var(--article-brand);
}

body.has-brand-theme {
  background-color: var(--article-brand-soft, var(--bg));
  padding-top: calc(var(--header-height) + var(--breaking-ticker-height));
}

body.has-brand-theme[data-brand="united-states"] {
  background-color: var(--article-brand-soft, #f4f6fa);
  background-image: url('/assets/brand/united-states-stars.svg');
  background-size: 480px 480px;
  background-repeat: repeat;
  background-attachment: fixed;
}

[data-theme="dark"] body.has-brand-theme[data-brand="united-states"] {
  background-color: #0f1a2e;
  background-image: url('/assets/brand/united-states-stars-dark.svg');
}

body.has-brand-theme[data-brand="united-states"] .article {
  background: color-mix(in srgb, var(--bg-elevated) 92%, transparent);
  border-radius: calc(var(--radius-md) + 2px);
  box-shadow: 0 1px 0 color-mix(in srgb, var(--article-brand-dark, #0a3161) 10%, transparent);
}

[data-theme="dark"] body.has-brand-theme[data-brand="united-states"] .article {
  background: color-mix(in srgb, var(--bg-elevated) 88%, #0f1a2e);
  box-shadow: 0 1px 0 color-mix(in srgb, #fff 8%, transparent);
}

/* Pan's Labyrinth — teal glow + gold accents (hero del 20.º aniversario) */
body.has-brand-theme[data-brand="pans-labyrinth"] {
  background-color: var(--article-brand-soft, #e8f6f4);
  background-image:
    radial-gradient(ellipse 90% 55% at 50% -5%, color-mix(in srgb, #00a896 20%, transparent), transparent 70%),
    radial-gradient(ellipse 100% 70% at 50% 100%, color-mix(in srgb, #051c1c 5%, transparent), transparent);
}

[data-theme="dark"] body.has-brand-theme[data-brand="pans-labyrinth"] {
  background-color: #0a1818;
  background-image:
    radial-gradient(ellipse 75% 50% at 50% 12%, color-mix(in srgb, #00a896 24%, transparent), transparent 65%),
    radial-gradient(ellipse 100% 55% at 50% 100%, color-mix(in srgb, #051c1c 45%, transparent), transparent);
}

body.has-brand-theme[data-brand="pans-labyrinth"] .article {
  background: color-mix(in srgb, var(--bg-elevated) 92%, #00a896 8%);
  border-radius: calc(var(--radius-md) + 2px);
  box-shadow:
    0 1px 0 color-mix(in srgb, #c5a059 18%, transparent),
    0 12px 40px color-mix(in srgb, #051c1c 8%, transparent);
}

[data-theme="dark"] body.has-brand-theme[data-brand="pans-labyrinth"] .article {
  background: color-mix(in srgb, var(--bg-elevated) 86%, #051c1c);
  box-shadow:
    0 1px 0 color-mix(in srgb, #c5a059 22%, transparent),
    0 16px 48px color-mix(in srgb, #000 35%, transparent);
}

body.has-brand-theme[data-brand="pans-labyrinth"] .key-facts {
  border-color: color-mix(in srgb, #c5a059 35%, var(--border));
  background: color-mix(in srgb, #00a896 6%, var(--bg-elevated));
}

body.has-brand-theme[data-brand="pans-labyrinth"] .key-facts__title {
  color: color-mix(in srgb, #c5a059 75%, var(--text));
}

body.has-brand-theme[data-brand="pans-labyrinth"] .article__content h2 {
  color: color-mix(in srgb, #0e6b60 55%, var(--text));
}

[data-theme="dark"] body.has-brand-theme[data-brand="pans-labyrinth"] .article__content h2 {
  color: color-mix(in srgb, #00a896 45%, var(--text));
}

body.has-brand-theme[data-brand="pans-labyrinth"] .article__content a:not(.watch-here__link) {
  color: color-mix(in srgb, #0e6b60 70%, var(--link));
}

body.has-brand-theme[data-brand="pans-labyrinth"] .article__content a:not(.watch-here__link):hover {
  color: #c5a059;
}

[data-theme="dark"] body.has-brand-theme[data-brand="pans-labyrinth"] .article__content a:not(.watch-here__link) {
  color: color-mix(in srgb, #00a896 55%, var(--link));
}

body.has-brand-theme[data-brand="pans-labyrinth"] .video-block__title {
  color: color-mix(in srgb, #c5a059 70%, var(--text));
}

body.has-brand-theme[data-brand="pans-labyrinth"] .progress-bar {
  background: linear-gradient(90deg, #c5a059, #00a896);
}

.brand-tint-bar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: max(env(safe-area-inset-top, 0px), 4px);
  z-index: 250;
  pointer-events: none;
}

body.has-brand-theme .site-header {
  position: fixed;
  top: var(--breaking-ticker-height);
  left: 0;
  right: 0;
  width: 100%;
  background-color: var(--article-brand);
  border-bottom-color: color-mix(in srgb, var(--article-brand) 70%, #000 30%);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}

[data-theme="dark"] body.has-brand-theme .site-header {
  background-color: var(--article-brand-dark, var(--article-brand));
  border-bottom-color: color-mix(in srgb, var(--article-brand-dark, var(--article-brand)) 65%, #000 35%);
}

body.has-brand-theme .site-header .logo,
body.has-brand-theme .site-header .logo__name {
  color: #fff;
}

body.has-brand-theme .site-header .logo__tagline {
  color: rgba(255, 255, 255, 0.78);
}

body.has-brand-theme .site-header .site-nav__link {
  color: rgba(255, 255, 255, 0.82);
}

body.has-brand-theme .site-header .site-nav__link--active,
body.has-brand-theme .site-header .site-nav__link:hover {
  color: #fff;
}

body.has-brand-theme .site-header .theme-toggle {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.28);
}

body.has-brand-theme .site-header .theme-toggle:hover,
body.has-brand-theme .site-header .theme-toggle:focus-visible {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.45);
}

body.has-brand-theme .site-header .search-toggle {
  color: #fff;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.28);
}

body.has-brand-theme .site-header .search-toggle:hover,
body.has-brand-theme .site-header .search-toggle:focus-visible,
body.has-brand-theme .site-header .search-toggle[aria-expanded="true"] {
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.45);
}

body.has-brand-theme .site-header .menu-toggle span {
  background: #fff;
}

body.has-brand-theme .progress-bar {
  top: calc(var(--header-height) + var(--breaking-ticker-height));
  height: 3px;
  background: rgba(255, 255, 255, 0.55);
}

body.has-brand-theme .breadcrumb {
  color: var(--text-secondary);
  min-height: 2.75rem;
}

body.has-brand-theme .breadcrumb a {
  color: var(--article-brand-dark, var(--article-brand));
  font-weight: 500;
}

body.has-brand-theme .breadcrumb a:hover {
  color: var(--article-brand);
  opacity: 1;
}

body.has-brand-theme .breadcrumb [aria-current="page"] {
  color: var(--text);
}

@media (min-width: 641px) {
  body.has-brand-theme,
  body.has-brand-theme.has-breaking-ticker {
    padding-top: calc(var(--header-height) + var(--breaking-ticker-height));
  }
}

@media (max-width: 640px) {
  body.has-brand-theme .site-nav.is-open {
    background: var(--article-brand);
    border-bottom-color: color-mix(in srgb, var(--article-brand) 70%, #000 30%);
  }

  [data-theme="dark"] body.has-brand-theme .site-nav.is-open {
    background: var(--article-brand-dark, var(--article-brand));
  }

  body.has-brand-theme .site-nav.is-open .site-nav__link {
    color: rgba(255, 255, 255, 0.9);
  }
}

.site-header__inner {
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  min-width: 0;
  overflow-x: visible;
}

.logo {
  --logo-mark-gap: 0.5rem;
  --logo-bleed: calc(
    max(var(--page-gutter), env(safe-area-inset-left, 0px)) +
    max(0px, (100vw - min(100vw, 76rem)) / 2)
  );
  position: relative;
  margin-left: calc(-1 * var(--logo-bleed));
  padding-left: var(--logo-bleed);
  display: inline-grid;
  grid-template-columns: auto;
  align-items: center;
  color: var(--text);
  text-decoration: none;
  line-height: 1.1;
  flex-shrink: 0;
}

.logo::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: calc(var(--logo-bleed) - var(--logo-mark-gap));
  background: currentColor;
  pointer-events: none;
}

.logo__name {
  grid-column: 1;
  grid-row: 1;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  letter-spacing: 0.12em;
}

.logo__tagline {
  grid-column: 1;
  grid-row: 2;
  margin-top: 1px;
  font-family: var(--font-sans);
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.01em;
  color: var(--text-muted);
  max-width: 11rem;
  line-height: 1.25;
}

.site-nav {
  display: flex;
  gap: var(--space-lg);
}

.site-nav__link {
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-decoration: none;
}

.site-nav__link--active,
.site-nav__link:hover {
  color: var(--text);
}

.site-nav__hint {
  display: none;
}

.site-nav__tools {
  display: none;
}

/* Colapso del menú cuando el header no cabe (iconos al borde), sin depender solo del breakpoint móvil */
@media (min-width: 641px) {
  body.header-nav-collapsed .menu-toggle {
    display: flex;
    flex-shrink: 0;
  }

  body.header-nav-collapsed .site-header__actions {
    flex-shrink: 0;
    margin-left: auto;
  }

  body.header-nav-collapsed .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: var(--space-md);
    gap: var(--space-md);
    z-index: 101;
    box-shadow: 0 10px 28px rgba(28, 28, 26, 0.08);
  }

  body.header-nav-collapsed .site-nav.is-open {
    display: flex;
  }

  body.header-nav-collapsed .site-nav.is-open .site-nav__link {
    line-height: 1.35;
  }

  body.header-nav-collapsed .site-nav.is-open .site-nav__hint {
    display: inline;
    margin-left: 0.3em;
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--text-muted);
    opacity: 0.9;
  }

  body.has-brand-theme.header-nav-collapsed .site-nav.is-open .site-nav__hint {
    color: rgba(255, 255, 255, 0.72);
  }

  body.header-nav-collapsed .site-nav__tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-top: var(--space-xs);
    padding-top: var(--space-md);
    border-top: 1px solid var(--border-light);
  }

  body.has-brand-theme.header-nav-collapsed .site-nav.is-open {
    background: var(--article-brand);
    border-bottom-color: color-mix(in srgb, var(--article-brand) 70%, #000 30%);
  }

  body.has-brand-theme.header-nav-collapsed .site-nav.is-open .site-nav__link {
    color: rgba(255, 255, 255, 0.9);
  }

  body.has-brand-theme.header-nav-collapsed .site-nav.is-open .site-nav__tools {
    border-top-color: rgba(255, 255, 255, 0.2);
  }

  body.has-brand-theme.header-nav-collapsed .site-nav.is-open .site-nav__tools .calendar-toggle {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.28);
  }
}

.menu-toggle {
  display: none;
  flex-direction: column;
  gap: 5px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
}

.menu-toggle span {
  display: block;
  width: 20px;
  height: 1.5px;
  background: var(--text);
  transition: var(--transition);
}

.site-header__actions {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
}

.lang-switcher {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.2rem 0.55rem;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  background: var(--bg-elevated);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
}

.lang-switcher__btn {
  color: var(--text-muted);
  text-decoration: none;
  padding: 0.15rem 0.35rem;
  border-radius: 999px;
}

.lang-switcher__btn:hover {
  color: var(--text);
}

.lang-switcher__btn--active {
  color: var(--text);
  background: var(--bg);
  box-shadow: inset 0 0 0 1px var(--border-light);
}

.lang-switcher__sep {
  color: var(--border);
  font-weight: 400;
}

.article__locale-notice {
  margin: var(--space-md) 0 0;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  border: 1px solid var(--border-light);
  background: var(--bg-elevated);
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.5;
}

.theme-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  background: var(--bg-elevated);
  color: var(--text-secondary);
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.theme-toggle:hover {
  border-color: var(--border);
  color: var(--text);
}

.theme-toggle .icon-moon {
  display: none;
}

[data-theme="dark"] .theme-toggle .icon-sun {
  display: none;
}

[data-theme="dark"] .theme-toggle .icon-moon {
  display: block;
}

/* ── Breadcrumb ── */

.breadcrumb {
  max-width: var(--max-width-wide);
  margin: 0 auto;
  padding:
    0
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    0
    var(--layout-inset-left);
  width: 100%;
  font-size: 0.8125rem;
  color: var(--text-muted);
  display: flex;
  align-items: center;
  gap: var(--space-xs);
}

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

.breadcrumb a:hover {
  color: var(--accent);
  opacity: 1;
}

/* ── Badges (shared) ── */

.badge {
  display: inline-block;
  box-sizing: border-box;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  line-height: 1.2;
  padding: 3px 8px;
  border: 1px solid transparent;
  border-radius: 100px;
  white-space: nowrap;
}

.badge--verified {
  background: var(--badge-verified-bg);
  color: var(--badge-verified-text);
}

.badge--ai {
  background: var(--badge-ai-bg);
  color: var(--badge-ai-text);
}

.badge--rumor {
  background: var(--badge-rumor-bg);
  color: var(--badge-rumor-text);
}

.badge--poll {
  background: var(--badge-poll-bg);
  color: var(--badge-poll-text);
}

.badge--developing {
  background: color-mix(in srgb, #c0392b 14%, var(--bg));
  color: #c0392b;
  border: 1px solid color-mix(in srgb, #c0392b 28%, var(--border));
}

[data-theme="dark"] .badge--developing {
  background: color-mix(in srgb, #ff6b6b 16%, var(--bg));
  color: #ff8a80;
}

.badge--opinion {
  background: color-mix(in srgb, #7c3aed 12%, var(--bg));
  color: #6d28d9;
  border: 1px solid color-mix(in srgb, #7c3aed 26%, var(--border));
}

[data-theme="dark"] .badge--opinion {
  background: color-mix(in srgb, #a78bfa 16%, var(--bg));
  color: #c4b5fd;
  border-color: color-mix(in srgb, #a78bfa 30%, var(--border));
}

/* ── Barra superior Última hora ── */

.breaking-ticker {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 105;
  height: 2.25rem;
  background: #c0392b;
  color: #fff;
  overflow: hidden;
}

.breaking-ticker[hidden] {
  display: none !important;
}

body.has-breaking-ticker {
  --breaking-ticker-height: 2.25rem;
}

@media (min-width: 641px) {
  body.has-breaking-ticker:not(.has-brand-theme) {
    padding-top: var(--breaking-ticker-height);
  }
}

.breaking-ticker__inner {
  display: flex;
  align-items: stretch;
  height: 100%;
  width: 100%;
}

.breaking-ticker__badge {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  padding: 0 0.85rem;
  flex-shrink: 0;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  background: rgba(0, 0, 0, 0.14);
  border-right: 1px solid rgba(255, 255, 255, 0.18);
}

.breaking-ticker__pulse {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55);
  animation: breaking-ticker-pulse 1.8s ease-out infinite;
}

@keyframes breaking-ticker-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55); }
  70% { box-shadow: 0 0 0 0.45rem transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

.breaking-ticker__viewport {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.breaking-ticker__track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
  animation: breaking-ticker-marquee var(--breaking-ticker-duration, 24s) linear infinite;
}

.breaking-ticker__group {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 1.5rem;
  padding-right: 1.5rem;
  white-space: nowrap;
}

.breaking-ticker__link {
  color: #fff;
  text-decoration: none;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.2;
}

.breaking-ticker__link:hover,
.breaking-ticker__link:focus-visible {
  text-decoration: underline;
}

.breaking-ticker__sep {
  flex-shrink: 0;
  opacity: 0.6;
  font-size: 0.625rem;
  line-height: 1;
}

@keyframes breaking-ticker-marquee {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(calc(-1 * var(--breaking-ticker-shift, 0px)), 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .breaking-ticker__track {
    animation: none;
  }

  .breaking-ticker__pulse {
    animation: none;
  }
}

@media print {
  .breaking-ticker {
    display: none !important;
  }
}

/* ── Última hora (portada) ── */

.breaking {
  width: 100%;
  margin: 0 0 var(--space-2xl);
  padding: 0;
}

.breaking[hidden] {
  display: none !important;
}

.breaking__inner {
  width: 100%;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  background: #c0392b;
  color: #fff;
  overflow: hidden;
  box-shadow: 0 8px 28px color-mix(in srgb, #c0392b 28%, transparent);
}

.breaking__heading {
  margin: 0;
  padding: var(--space-md) var(--space-md) 0;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  color: #fff;
}

.breaking__list {
  display: grid;
  gap: var(--space-md);
  padding: var(--space-md);
}

.breaking__link {
  display: grid;
  gap: var(--space-md);
  color: inherit;
  text-decoration: none;
}

.breaking__link:hover .breaking__title,
.breaking__link:focus-visible .breaking__title {
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.65);
}

.breaking__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
}

.breaking__pulse {
  width: 0.55rem;
  height: 0.55rem;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55);
  animation: breaking-pulse 1.8s ease-out infinite;
}

@keyframes breaking-pulse {
  0% { box-shadow: 0 0 0 0 rgba(255, 255, 255, 0.55); }
  70% { box-shadow: 0 0 0 0.55rem transparent; }
  100% { box-shadow: 0 0 0 0 transparent; }
}

.breaking__label {
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
}

.breaking__inner .badge--developing {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.28);
}

.breaking__category {
  font-size: 0.6875rem;
  color: rgba(255, 255, 255, 0.72);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.breaking__title {
  margin: 0.35rem 0 0;
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  line-height: 1.15;
  font-weight: 400;
  color: #fff;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}

.breaking__deck {
  margin: 0.5rem 0 0;
  color: rgba(255, 255, 255, 0.84);
  font-size: 0.9375rem;
  line-height: 1.55;
}

.breaking__cta {
  display: inline-block;
  margin-top: 0.75rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
}

.breaking__link:hover .breaking__cta,
.breaking__link:focus-visible .breaking__cta {
  text-decoration-color: rgba(255, 255, 255, 0.9);
}

.breaking__media {
  border-radius: 12px;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  border: 1px solid rgba(255, 255, 255, 0.16);
}

.breaking__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (min-width: 720px) {
  .breaking__link {
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
    align-items: center;
  }

  .breaking__heading {
    padding: var(--space-lg) var(--space-lg) 0;
  }

  .breaking__list {
    padding: var(--space-md) var(--space-lg) var(--space-lg);
  }
}

.live-update {
  margin: var(--space-lg) 0;
  padding: var(--space-md);
  border-left: 3px solid #c0392b;
  border-radius: 0 10px 10px 0;
  background: color-mix(in srgb, #c0392b 8%, var(--bg));
}

.live-update p {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.55;
}

@media print {
  .breaking,
  .live-update {
    display: none;
  }
}

/* ── Article layout ── */

.article {
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  padding:
    var(--space-xl)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    var(--space-2xl)
    var(--layout-inset-left);
}

.article__header {
  max-width: var(--max-width);
  width: 100%;
  margin: 0 auto var(--space-xl);
}

.article__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
  margin-bottom: var(--space-md);
  font-size: 0.8125rem;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}

.article__category {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
}

.article__meta time::before,
.article__reading-time::before {
  content: '·';
  margin-right: var(--space-md);
  color: var(--border);
}

.article__title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 3rem);
  font-weight: 400;
  line-height: var(--line-height-tight);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-md);
  color: var(--text);
}

.article__title em {
  font-style: italic;
}

.article__deck {
  font-size: clamp(1.0625rem, 2.5vw, 1.25rem);
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: var(--space-lg);
}

.article__byline {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  font-size: 0.875rem;
  color: var(--text-muted);
  margin-bottom: var(--space-lg);
}

.article__author {
  font-weight: 500;
  color: var(--text-secondary);
}

.article__author-link {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.article__author-link:hover {
  color: var(--accent);
}

.article__standards-link {
  margin-left: auto;
  font-size: 0.75rem;
  color: var(--text-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--border-light);
}

.article__standards-link:hover {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 45%, transparent);
}

.article__verified {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--accent);
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

button.article__verified {
  border: none;
  background: none;
  padding: 0;
  font-family: inherit;
  cursor: pointer;
  transition: opacity var(--transition);
}

button.article__verified:hover,
button.article__verified:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
  outline: none;
}

button.policy-trigger.badge--verified {
  border-color: transparent;
  font-family: inherit;
  cursor: pointer;
  transition: filter var(--transition), box-shadow var(--transition);
}

button.policy-trigger.badge--verified:hover,
button.policy-trigger.badge--verified:focus-visible {
  filter: brightness(0.96);
  outline: none;
}

button.policy-trigger.badge--ai,
button.policy-trigger.badge--poll {
  border-color: transparent;
  font-family: inherit;
  cursor: pointer;
  transition: filter var(--transition), box-shadow var(--transition);
}

button.policy-trigger.badge--ai:hover,
button.policy-trigger.badge--ai:focus-visible,
button.policy-trigger.badge--poll:hover,
button.policy-trigger.badge--poll:focus-visible {
  filter: brightness(0.96);
  outline: none;
}

[data-theme="dark"] button.policy-trigger.badge--verified:hover,
[data-theme="dark"] button.policy-trigger.badge--verified:focus-visible,
[data-theme="dark"] button.policy-trigger.badge--ai:hover,
[data-theme="dark"] button.policy-trigger.badge--ai:focus-visible,
[data-theme="dark"] button.policy-trigger.badge--poll:hover,
[data-theme="dark"] button.policy-trigger.badge--poll:focus-visible {
  filter: brightness(1.08);
}

.policy-dialog__lead,
.verified-dialog__lead {
  margin-bottom: var(--space-md);
  color: var(--text-secondary);
  line-height: 1.65;
}

.policy-dialog__lead strong,
.verified-dialog__lead strong {
  color: var(--text);
  font-weight: 600;
}

.policy-dialog__list,
.verified-dialog__list {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--text-secondary);
  line-height: 1.65;
}

.policy-dialog__list li + li,
.verified-dialog__list li + li {
  margin-top: var(--space-sm);
}

.policy-trigger-inline {
  display: inline;
  padding: 0;
  border: none;
  background: none;
  font-family: inherit;
  font-size: inherit;
  font-weight: 600;
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 3px;
  cursor: pointer;
  vertical-align: baseline;
}

.policy-trigger-inline:hover,
.policy-trigger-inline:focus-visible {
  opacity: 0.85;
  outline: none;
}

/* ── AI disclosure ── */

.ai-disclosure {
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-md);
  background: var(--ai-bg);
  border: 1px solid var(--ai-border);
  border-radius: var(--radius);
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--text-secondary);
}

.ai-disclosure svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--text-muted);
}

.ai-disclosure strong {
  color: var(--text);
  font-weight: 600;
}

.article__correction {
  margin: 0 0 var(--space-lg);
  padding: var(--space-md);
  background: color-mix(in srgb, var(--accent) 8%, var(--bg-elevated));
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
  border-radius: var(--radius);
  font-size: 0.875rem;
  line-height: 1.65;
  color: var(--text-secondary);
}

.article__correction strong {
  color: var(--text);
}

/* ── Hero image ── */

.article__hero {
  margin: 0 0 var(--space-xl);
  background: var(--bg-elevated);
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid var(--border-light);
}

.article__hero img {
  width: 100%;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  object-position: top center;
}

.article__hero figcaption {
  max-width: none;
  margin: 0;
  padding: var(--space-sm) max(var(--page-gutter), 1rem) var(--space-md);
}

/* ── Body grid ── */

.article__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  min-width: 0;
}

.article__main {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--space-xl);
}

@media (min-width: 900px) {
  .article__main {
    grid-template-columns: var(--layout-sidebar) minmax(0, 1fr);
    align-items: start;
    gap: clamp(var(--space-lg), 3vw, var(--space-2xl));
  }

  .key-facts {
    position: sticky;
    top: calc(var(--header-height) + var(--breaking-ticker-height) + var(--space-xl));
    z-index: 20;
    align-self: start;
    isolation: isolate;
  }

  .article__content {
    position: relative;
    z-index: 1;
    min-width: 0;
  }

  .article__figure,
  .article__figure--wide {
    position: relative;
    z-index: 0;
  }
}

/* ── Key facts sidebar ── */

.key-facts {
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  box-shadow: var(--shadow-sm);
  min-width: 0;
}

.key-facts__title {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  margin-bottom: var(--space-md);
  padding-bottom: var(--space-sm);
  border-bottom: 1px solid var(--border-light);
}

.key-facts__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  min-width: 0;
}

.key-facts__item {
  min-width: 0;
}

.key-facts__item dt {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: 2px;
}

.key-facts__item dd {
  font-size: 0.9375rem;
  font-weight: 500;
  color: var(--text);
  line-height: 1.4;
  overflow-wrap: anywhere;
  word-break: break-word;
  min-width: 0;
}

.key-facts__item dd a {
  display: inline-block;
  max-width: 100%;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.key-facts__badge {
  margin: var(--space-md) 0 0;
  padding-top: var(--space-md);
  border-top: 1px solid var(--border-light);
}

.key-facts__badge img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-md);
}

/* ── Article content ── */

.article__content {
  max-width: var(--max-width);
  width: 100%;
  min-width: 0;
}

.article__content > * + * {
  margin-top: var(--space-md);
}

.article__column-kicker {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent, #c41e3a);
  margin: 0 0 var(--space-sm);
}

.article--opinion .article__deck {
  font-style: italic;
}

.article__opinion-note {
  font-size: 0.9375rem;
  color: var(--text-muted);
  border-left: 3px solid var(--accent, #c41e3a);
  padding-left: var(--space-md);
  margin: 0;
}

.article__lead {
  font-size: 1.125rem;
  line-height: 1.7;
}

.article__content h2 {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 3vw, 1.875rem);
  font-weight: 400;
  line-height: var(--line-height-tight);
  margin-top: var(--space-xl);
  margin-bottom: var(--space-sm);
  letter-spacing: -0.01em;
}

.article__content h2:first-of-type {
  margin-top: var(--space-lg);
}

.article__content p {
  color: var(--text);
  hyphens: auto;
  -webkit-hyphens: auto;
}

.article__list {
  padding-left: 1.25rem;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.article__list li {
  padding-left: var(--space-xs);
}

.article__list li::marker {
  color: var(--accent);
}

.article__table-wrap {
  margin: var(--space-md) 0;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
  scrollbar-width: thin;
  scrollbar-color: color-mix(in srgb, var(--accent) 50%, var(--border)) var(--bg-elevated);
}

.article__table-wrap::-webkit-scrollbar {
  height: 10px;
}

.article__table-wrap::-webkit-scrollbar-track {
  background: var(--bg-elevated);
  border-radius: 0 0 var(--radius-md) var(--radius-md);
}

.article__table-wrap::-webkit-scrollbar-thumb {
  background: color-mix(in srgb, var(--accent) 45%, var(--border));
  border-radius: 5px;
  border: 2px solid var(--bg-elevated);
}

.article__table-wrap::-webkit-scrollbar-thumb:hover {
  background: var(--accent);
}

/* Tablas anchas (5+ columnas): no comprimir — scroll horizontal */
.article__table-wrap--wide,
.article__table-wrap:has(.article__table thead th:nth-child(5)) {
  cursor: grab;
}

.article__table-wrap--wide:active,
.article__table-wrap:has(.article__table thead th:nth-child(5)):active {
  cursor: grabbing;
}

.article__table-wrap--wide .article__table,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table {
  width: max-content;
  min-width: 100%;
}

.article__table-wrap--wide .article__table th,
.article__table-wrap--wide .article__table td,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table th,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table td {
  min-width: 7.5rem;
  white-space: normal;
}

.article__table-wrap--wide .article__table thead th,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table thead th {
  white-space: nowrap;
}

.article__table-wrap--wide .article__table th:first-child,
.article__table-wrap--wide .article__table td:first-child,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table th:first-child,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table td:first-child {
  min-width: 5.5rem;
  white-space: nowrap;
  position: sticky;
  left: 0;
  z-index: 1;
  background: var(--bg-elevated);
  box-shadow: 1px 0 0 var(--border-light);
}

.article__table-wrap--wide .article__table thead th:first-child,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table thead th:first-child {
  background: var(--accent-soft);
}

.article__table-wrap--wide .article__table tbody tr:nth-child(even) td:first-child,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table tbody tr:nth-child(even) td:first-child {
  background: color-mix(in srgb, var(--accent-soft) 30%, var(--bg-elevated));
}

.article__table-wrap--wide .article__table td:last-child,
.article__table-wrap:has(.article__table thead th:nth-child(5)) .article__table td:last-child {
  min-width: 12rem;
}

.article__table-scroll-hint {
  margin: 0;
  padding: 0.5rem 0.875rem 0.35rem;
  font-size: 0.8125rem;
  color: var(--text-muted);
  border-bottom: 1px solid var(--border-light);
}

@media (min-width: 1100px) {
  .article__table-scroll-hint {
    display: none;
  }
}

.article__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9375rem;
  line-height: 1.5;
}

.article__table caption {
  caption-side: top;
  text-align: left;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  padding: 0.75rem 0.875rem;
  border-bottom: 1px solid var(--border-light);
}

.article__table th,
.article__table td {
  padding: 0.625rem 0.875rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--border-light);
}

.article__table thead th {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--text-muted);
  background: var(--accent-soft);
  border-bottom: 2px solid var(--border);
  white-space: nowrap;
}

.article__table tbody tr:last-child td,
.article__table tbody tr:last-child th {
  border-bottom: none;
}

.article__table tbody tr:nth-child(even) td {
  background: color-mix(in srgb, var(--accent-soft) 30%, transparent);
}

.article__table th:first-child,
.article__table td:first-child {
  white-space: nowrap;
  width: 1%;
}

.article__table td:nth-child(2) {
  min-width: 9rem;
}

.article__table-footnote {
  margin: var(--space-sm) 0 var(--space-md);
  font-size: 0.8125rem;
  color: var(--text-muted);
  font-style: italic;
}

@media (max-width: 640px) {
  .article__table {
    font-size: 0.875rem;
  }

  .article__table th,
  .article__table td {
    padding: 0.5rem 0.625rem;
  }
}

/* ── Figures ── */

.article__figure {
  margin: var(--space-lg) 0;
}

.article__figure--wide {
  width: 100%;
  max-width: 100%;
}

.article__figure--phone {
  max-width: min(22rem, 88vw);
  margin-left: auto;
  margin-right: auto;
}

.article__figure--phone img {
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
}

@media (min-width: 900px) {
  .article__figure--wide {
    width: min(100% + 3rem, calc(100% + ((var(--max-width-wide) - var(--max-width)) * 0.35)));
    max-width: calc(var(--max-width) + 4rem);
    margin-left: clamp(-2rem, -3vw, -0.75rem);
    margin-right: 0;
  }
}

.article__figure img {
  width: 100%;
  border-radius: var(--radius);
  background: var(--border-light);
}

figcaption,
.video-block__caption {
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--text-muted);
  margin-top: var(--space-sm);
}

figcaption cite,
.video-block__caption cite {
  display: block;
  margin-top: 4px;
  font-style: normal;
}

figcaption cite a,
.video-block__caption cite a {
  font-size: 0.75rem;
}

/* ── Blockquote ── */

.article__quote {
  margin: var(--space-lg) 0;
  padding: var(--space-md) var(--space-md) var(--space-md) var(--space-lg);
  border-left: 3px solid var(--quote-border);
  background: var(--accent-soft);
  border-radius: 0 var(--radius) var(--radius) 0;
}

.article__quote p {
  font-family: var(--font-serif);
  font-size: 1.1875rem;
  font-style: italic;
  line-height: 1.55;
  color: var(--text);
}

.article__quote footer {
  margin-top: var(--space-sm);
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.prompt-box {
  margin: var(--space-lg) 0;
  padding: var(--space-md) var(--space-lg);
  background: var(--accent-soft);
  border: 1px solid var(--border);
  border-radius: var(--radius);
}

.prompt-box__title {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary);
  margin: 0;
}

.prompt-box__text {
  margin: var(--space-sm) 0 0;
  padding: var(--space-md);
  background: var(--surface);
  border-radius: var(--radius-sm);
  font-family: ui-monospace, "Cascadia Code", "SF Mono", monospace;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--text);
  white-space: pre-wrap;
  word-break: break-word;
}

.prompt-box__note {
  margin: var(--space-sm) 0 0;
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.prompt-box__table-wrap {
  margin-top: var(--space-sm);
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  background: var(--surface);
  border-radius: var(--radius-sm);
}

.prompt-box__table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-sans);
  font-size: 0.875rem;
  line-height: 1.5;
}

.prompt-box__table th,
.prompt-box__table td {
  padding: 0.625rem 0.75rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid var(--border);
}

.prompt-box__table thead th {
  font-weight: 600;
  font-size: 0.8125rem;
  letter-spacing: 0.02em;
  color: var(--text);
  border-bottom-width: 2px;
}

.prompt-box__table tbody th {
  font-weight: 600;
  color: var(--text-secondary);
  white-space: nowrap;
  width: 1%;
}

.prompt-box__table tbody tr:last-child th,
.prompt-box__table tbody tr:last-child td {
  border-bottom: none;
}

.prompt-box__table td:nth-child(2) {
  min-width: 9rem;
  font-family: ui-monospace, "Cascadia Code", "SF Mono", monospace;
  font-size: 0.8125rem;
  word-break: break-all;
}

.prompt-box__table a {
  color: var(--accent);
  text-decoration: none;
}

.prompt-box__table a:hover {
  text-decoration: underline;
}

.video-block__embed video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: #000;
}

.video-block__embed--portrait {
  padding-bottom: 177.78%;
  max-width: 22.5rem;
  margin-inline: auto;
}

.video-block__embed--square {
  padding-bottom: 100%;
  max-width: 32rem;
  margin-inline: auto;
}

/* ── Prompt recipe (artículos tipo prompt IA) ── */

.prompt-recipe {
  margin: var(--space-lg) 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-elevated);
}

.prompt-recipe__label {
  padding: var(--space-sm) var(--space-md);
  background: var(--accent-soft);
  border-bottom: 1px solid var(--border);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-secondary);
}

.prompt-recipe__grid {
  display: flex;
  flex-direction: column;
}

.prompt-recipe__result {
  background: #000;
  border-bottom: 1px solid var(--border);
}

.prompt-recipe__result .video-block__embed--square {
  max-width: 28rem;
  margin-inline: auto;
  border-radius: 0;
}

.prompt-recipe__result img {
  width: 100%;
  max-width: 28rem;
  margin-inline: auto;
  display: block;
  aspect-ratio: 4 / 5;
  object-fit: cover;
}

.prompt-recipe__result-caption {
  padding: var(--space-sm) var(--space-md);
  font-size: 0.8125rem;
  color: var(--text-muted);
  background: var(--surface);
  border-top: 1px solid var(--border-light);
}

.prompt-recipe__result-caption cite a {
  font-size: inherit;
}

.prompt-recipe__body {
  padding: var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.prompt-recipe__section-title {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
}

.prompt-recipe__steps {
  margin: var(--space-xs) 0 0;
  padding-left: 1.25rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--text);
}

.prompt-recipe__steps li + li {
  margin-top: var(--space-xs);
}

.prompt-recipe__prompt {
  margin: 0;
  padding: var(--space-md);
  background: var(--accent-soft);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-sm);
  font-family: ui-monospace, "Cascadia Code", "SF Mono", monospace;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--text);
  white-space: pre-wrap;
  word-break: break-word;
}

.prompt-recipe__note {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--text-muted);
  line-height: 1.5;
}

.article--prompt .key-facts__list {
  gap: var(--space-sm);
}

.article--prompt .article__content > h2 {
  font-size: 1.25rem;
  margin-top: var(--space-lg);
}

/* ── Guías largas ── */

.article--guide .article__content > h2 {
  margin-top: var(--space-xl);
  scroll-margin-top: calc(var(--header-height, 4rem) + var(--space-md));
}

.guide-toc {
  margin: var(--space-lg) 0 var(--space-xl);
  padding: var(--space-md) var(--space-lg);
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
}

.guide-toc__title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin: 0 0 var(--space-sm);
}

.guide-toc__list {
  margin: 0;
  padding-left: 1.25rem;
  display: grid;
  gap: 0.35rem;
}

.guide-toc__list a {
  color: var(--text);
  text-decoration: none;
  border-bottom: 1px solid transparent;
}

.guide-toc__list a:hover {
  border-bottom-color: var(--accent);
}

.guide-faq {
  margin: 0 0 var(--space-xl);
  padding: var(--space-md) var(--space-lg);
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
}

.guide-faq__intro {
  margin: 0 0 var(--space-md);
  color: var(--text-secondary);
  font-size: 0.9375rem;
}

.guide-faq__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin: 0;
}

.guide-faq__item {
  padding-bottom: var(--space-md);
  border-bottom: 1px solid var(--border-light);
}

.guide-faq__item:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.guide-faq__item dt {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: var(--line-height-tight);
  color: var(--text);
  margin-bottom: var(--space-xs);
}

.guide-faq__item dd {
  margin: 0;
  padding-left: 0.65rem;
  color: var(--text-secondary);
  font-size: 0.9375rem;
  line-height: 1.65;
}

/* ── Price table ── */

.price-table {
  margin: var(--space-lg) 0;
  padding: var(--space-md);
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow-x: auto;
}

.price-table__title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: var(--space-md);
}

.price-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.price-table th,
.price-table td {
  text-align: left;
  padding: var(--space-sm) var(--space-sm);
  border-bottom: 1px solid var(--border-light);
}

.price-table th {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
}

.price-table tr:last-child td {
  border-bottom: none;
}

.price-table__note {
  margin-top: var(--space-sm);
  font-size: 0.75rem;
  color: var(--text-muted);
  font-style: italic;
}

/* ── Event schedule (calendario vivo) ── */

.event-schedule {
  margin: var(--space-lg) 0;
  padding: var(--space-md);
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
}

.event-schedule__header {
  margin-bottom: var(--space-md);
}

.event-schedule__title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: var(--space-xs);
}

.event-schedule__updated {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.event-schedule__table-wrap {
  overflow-x: auto;
}

.event-schedule table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.event-schedule th,
.event-schedule td {
  text-align: left;
  padding: var(--space-sm);
  border-bottom: 1px solid var(--border-light);
  vertical-align: top;
}

.event-schedule th {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  white-space: nowrap;
}

.event-schedule tr:last-child td {
  border-bottom: none;
}

.event-schedule__note {
  display: block;
  margin-top: 4px;
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 400;
}

.event-schedule__footer,
.event-schedule__source {
  margin-top: var(--space-sm);
  font-size: 0.75rem;
  color: var(--text-muted);
  font-style: italic;
}

.event-schedule__sync {
  display: flex;
  align-items: center;
  gap: var(--space-xs);
  margin-top: var(--space-xs);
  font-size: 0.75rem;
  color: var(--accent);
}

.event-schedule__sync-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--accent);
  flex-shrink: 0;
  animation: schedule-pulse 2s ease-in-out infinite;
}

.event-schedule__error {
  padding: var(--space-md);
  font-size: 0.875rem;
  color: var(--text-muted);
  text-align: center;
}

@keyframes schedule-pulse {
  0%, 100% { opacity: 1; }
  50% { opacity: 0.35; }
}

/* ── Video blocks ── */

.video-block {
  margin: var(--space-lg) 0;
}

.video-block__title {
  font-family: var(--font-sans);
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text-secondary);
  margin-bottom: var(--space-sm);
}

.video-block__embed {
  position: relative;
  width: 100%;
  max-width: 100%;
  padding-bottom: 56.25%;
  background: #000;
  border-radius: var(--radius);
  overflow: hidden;
}

.video-block__embed iframe {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  border: 0;
}

.video-block > iframe {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  border: 0;
  border-radius: var(--radius);
  background: #000;
}

.video-grid {
  display: grid;
  gap: var(--space-lg);
  margin: var(--space-lg) 0;
}

@media (min-width: 700px) {
  .video-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.video-grid--gallery {
  gap: var(--space-md);
}

@media (min-width: 540px) {
  .video-grid--gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .video-grid--gallery {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.video-grid--gallery .video-block {
  margin: 0;
  display: flex;
  flex-direction: column;
  height: 100%;
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--bg-elevated);
  box-shadow: var(--shadow-sm);
}

.video-grid--gallery .video-block__embed {
  margin: 0;
  border-radius: 0;
  flex-shrink: 0;
}

.video-grid--gallery .video-block__embed video {
  object-fit: cover;
}

.video-grid--gallery .video-block__title {
  padding: var(--space-sm) var(--space-sm) 0;
  margin: 0;
  line-height: 1.35;
  color: var(--text);
  font-size: 0.8125rem;
}

.video-grid--gallery .video-block__caption {
  padding: var(--space-xs) var(--space-sm) var(--space-sm);
  margin-top: auto;
  font-size: 0.75rem;
  line-height: 1.45;
}

.video-grid--gallery .video-block__caption cite {
  display: block;
  margin-top: 0.25rem;
}

/* ── Split figure (capturas lado a lado) ── */

.figure-split__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 1px minmax(0, 1fr);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
  background: var(--surface);
  width: 100%;
  max-width: 100%;
}

.figure-split--triple .figure-split__grid {
  grid-template-columns: 1fr 1px 1fr 1px 1fr;
}

.figure-split__panel {
  display: flex;
  flex-direction: column;
  min-width: 0;
}

.figure-split__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #0f0f0f;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

.figure-split__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

.figure-split__label {
  margin: 0;
  padding: var(--space-xs) var(--space-sm);
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  text-align: center;
  color: var(--text-secondary);
  background: var(--bg-elevated);
  border-top: 1px solid var(--border-light);
  flex-shrink: 0;
}

.figure-split__divider {
  background: var(--border);
}

.figure-split figcaption {
  margin-top: var(--space-sm);
}

@media (max-width: 899px) {
  .figure-split--triple .figure-split__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1px auto 1px auto;
  }
}

@media (max-width: 699px) {
  .figure-split__grid {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1px auto;
  }

  .figure-split__divider {
    height: 1px;
    width: 100%;
  }
}

/* ── Reader poll ── */

.reader-poll {
  max-width: var(--max-width);
  margin-top: var(--space-xl);
  padding: var(--space-md);
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

@media (min-width: 900px) {
  .reader-poll,
  .sources {
    grid-column: 2;
    justify-self: start;
    width: 100%;
  }
}

.reader-poll__title {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  margin-bottom: var(--space-sm);
}

.reader-poll__question {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  line-height: var(--line-height-tight);
  color: var(--text);
  margin-bottom: var(--space-md);
}

.reader-poll__options {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.reader-poll__option {
  display: block;
  width: 100%;
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--border-light);
  border-radius: var(--radius);
  background: var(--bg);
  color: var(--text);
  font-family: var(--font-sans);
  font-size: 0.9375rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
  transition: border-color var(--transition), background var(--transition), color var(--transition);
}

.reader-poll__option:hover {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent);
}

.reader-poll__option--active {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent);
}

.reader-poll__results {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.reader-poll__result {
  cursor: pointer;
  padding: var(--space-xs);
  margin: calc(var(--space-xs) * -1);
  border-radius: var(--radius);
  transition: background var(--transition);
}

.reader-poll__result:hover {
  background: var(--card-hover);
}

.reader-poll__result--active .reader-poll__result-label {
  color: var(--accent);
  font-weight: 600;
}

.reader-poll__result-head {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: var(--space-sm);
  margin-bottom: 6px;
  font-size: 0.875rem;
}

.reader-poll__result-label {
  color: var(--text-secondary);
}

.reader-poll__result-pct {
  font-weight: 600;
  font-variant-numeric: tabular-nums;
  color: var(--text);
  flex-shrink: 0;
}

.reader-poll__bar {
  height: 6px;
  background: var(--border-light);
  border-radius: 100px;
  overflow: hidden;
}

.reader-poll__bar-fill {
  height: 100%;
  background: var(--accent);
  border-radius: 100px;
  transition: width 0.35s ease;
}

.reader-poll__result--active .reader-poll__bar-fill {
  background: var(--accent);
  opacity: 1;
}

.reader-poll__note {
  margin-top: var(--space-md);
  font-size: 0.75rem;
  color: var(--text-muted);
  line-height: 1.5;
}

/* ── Sources ── */

.sources {
  max-width: var(--max-width);
  margin-top: var(--space-xl);
  padding-top: var(--space-lg);
  border-top: 1px solid var(--border);
}

.sources__title {
  font-size: 0.6875rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--text-muted);
  margin-bottom: var(--space-md);
}

.sources__list {
  list-style: none;
  counter-reset: sources;
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.sources__list li {
  counter-increment: sources;
  font-size: 0.875rem;
  line-height: 1.5;
  padding-left: 1.75rem;
  position: relative;
}

.sources__list li::before {
  content: counter(sources);
  position: absolute;
  left: 0;
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--text-muted);
  width: 1.25rem;
  text-align: right;
}

.sources__list a {
  color: var(--text-secondary);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
  transition: border-color var(--transition);
}

.sources__list a:hover {
  border-color: var(--accent);
  opacity: 1;
}

/* ── Comments ── */

.comments {
  width: 100%;
  max-width: var(--max-width);
  margin-top: var(--space-xl);
  padding-top: var(--space-xl);
  border-top: 1px solid var(--border);
}

/* ── Related articles ── */

.related-articles {
  width: 100%;
  max-width: var(--max-width-wide);
  margin-top: var(--space-xl);
  padding-top: var(--space-xl);
  border-top: 1px solid var(--border);
}

.related-articles__title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
  margin-bottom: var(--space-lg);
}

.related-articles__grid {
  display: grid;
  gap: var(--space-lg);
  grid-template-columns: 1fr;
}

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

.related-articles__card .card__title {
  font-size: 1rem;
  line-height: 1.35;
}

@media (min-width: 900px) {
  .related-articles,
  .comments {
    margin-left: calc(var(--layout-sidebar) + clamp(var(--space-lg), 3vw, var(--space-2xl)));
    width: calc(100% - var(--layout-sidebar) - clamp(var(--space-lg), 3vw, var(--space-2xl)));
    max-width: var(--max-width);
  }

  .article__body > .home__popular {
    margin-left: 0;
    width: 100%;
    max-width: none;
  }
}

.comments__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-md);
  margin-bottom: var(--space-md);
}

.comments__title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.2;
}

.comments__count {
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.comments__disclaimer {
  font-size: 0.8125rem;
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: var(--space-lg);
  padding: var(--space-md);
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
}

.comments__rules-link {
  display: inline;
  padding: 0;
  border: 0;
  background: none;
  color: var(--accent);
  font: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
  cursor: pointer;
}

.comments__rules-link:hover {
  opacity: 0.85;
}

.comments__form {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}

.comments__field {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.comments__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.comments__input,
.comments__textarea {
  width: 100%;
  padding: 0.75rem 0.875rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  color: var(--text);
  font: inherit;
  line-height: 1.5;
  transition: border-color var(--transition);
}

.comments__input:focus,
.comments__textarea:focus {
  outline: none;
  border-color: var(--accent);
}

.comments__textarea {
  resize: vertical;
  min-height: 6rem;
}

.comments__hint {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.comments__actions {
  display: flex;
  justify-content: flex-start;
}

.comments__turnstile {
  min-height: 65px;
}

.comments__turnstile-mount {
  display: flex;
  justify-content: flex-start;
}

.comments__submit {
  padding: 0.65rem 1.25rem;
  border: 1px solid var(--accent);
  border-radius: var(--radius-md);
  background: var(--accent);
  color: var(--bg);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: opacity var(--transition);
}

.comments__submit:hover:not(:disabled) {
  opacity: 0.9;
}

.comments__submit:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.comments__feedback {
  font-size: 0.8125rem;
  line-height: 1.5;
  margin: 0;
}

.comments__feedback--success { color: var(--accent); }
.comments__feedback--warn { color: #b45309; }
.comments__feedback--error { color: #b91c1c; }
.comments__feedback--info { color: var(--text-secondary); }

.comments__list {
  display: flex;
  flex-direction: column;
  gap: var(--space-md);
}

.comments__empty {
  font-size: 0.875rem;
  color: var(--text-muted);
  margin: 0;
}

.comments__item {
  padding: var(--space-md);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  background: var(--bg-elevated);
}

.comments__item-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-xs);
}

.comments__author {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--text);
}

.comments__date {
  font-size: 0.75rem;
  color: var(--text-muted);
  white-space: nowrap;
}

.comments__body {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text-secondary);
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
}

.comments__blocked {
  margin: 0 0 1.25rem;
  padding: 1rem 1.1rem;
  border-radius: var(--radius-md, 8px);
  border: 1px solid color-mix(in srgb, #b91c1c 25%, var(--border, #e5e5e5));
  background: color-mix(in srgb, #b91c1c 6%, var(--surface, #fff));
}

.comments__blocked-title {
  margin: 0 0 0.35rem;
  font-weight: 600;
  color: #b91c1c;
}

.comments__blocked-text {
  margin: 0;
  color: var(--text-secondary);
  font-size: 0.95rem;
  line-height: 1.5;
}

/* ── Footer (mismo bloque que .logo::before: var(--text) / var(--bg)) ── */

.site-footer {
  --footer-bg: var(--text);
  --footer-fg: var(--bg);
  --footer-muted: color-mix(in srgb, var(--footer-fg) 72%, transparent);
  --footer-border: color-mix(in srgb, var(--footer-fg) 28%, transparent);
  --footer-accent: #7eb89a;
  border-top: 1px solid var(--footer-border);
  padding:
    var(--space-xl)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    max(var(--space-xl), env(safe-area-inset-bottom, 0px))
    max(var(--page-gutter), env(safe-area-inset-left, 0px));
  background: var(--footer-bg);
  color: var(--footer-fg);
}

body.has-brand-theme .site-footer {
  --footer-bg: #fff;
  --footer-fg: var(--article-brand-dark, var(--article-brand, var(--text)));
  --footer-muted: color-mix(in srgb, var(--footer-fg) 68%, transparent);
  --footer-border: color-mix(in srgb, var(--footer-fg) 22%, transparent);
}

.site-footer__inner {
  max-width: var(--max-width-wide);
  margin: 0 auto;
  text-align: center;
}

.site-footer__brand {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  letter-spacing: 0.12em;
  margin-bottom: var(--space-xs);
  color: var(--footer-fg);
}

.site-footer__tagline {
  font-size: 0.875rem;
  color: var(--footer-muted);
  margin-bottom: var(--space-sm);
}

.site-footer__rss {
  font-size: 0.75rem;
  margin-bottom: var(--space-md);
}

.site-footer__rss a {
  color: var(--footer-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--footer-border);
}

.site-footer__rss a:hover {
  color: var(--footer-fg);
  border-color: color-mix(in srgb, var(--footer-fg) 55%, transparent);
  opacity: 1;
}

.site-footer__trust {
  margin-bottom: var(--space-md);
}

.site-footer__trust-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
  font-size: 0.75rem;
  line-height: 1.6;
}

.site-footer__trust-list li {
  display: inline-flex;
  align-items: center;
}

.site-footer__trust-list li + li::before {
  content: '·';
  margin: 0 0.55rem;
  color: var(--footer-muted);
  opacity: 0.9;
  pointer-events: none;
}

.site-footer__trust-list a {
  color: var(--footer-muted);
  text-decoration: none;
  border-bottom: 1px solid var(--footer-border);
  white-space: nowrap;
}

.site-footer__trust-list a:hover {
  color: var(--footer-fg);
  border-color: color-mix(in srgb, var(--footer-fg) 55%, transparent);
  opacity: 1;
}

.site-footer__legal {
  font-size: 0.75rem;
  color: var(--footer-muted);
}

.site-footer__legal a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.site-footer__legal a:hover {
  color: var(--footer-fg);
  opacity: 1;
}

.site-footer__qr {
  margin-bottom: var(--space-md);
}

.site-footer__notify {
  margin-bottom: var(--space-md);
}

.site-footer .notify-trigger,
.site-footer .site-qr-trigger,
.site-footer .version-trigger {
  color: var(--footer-muted);
  border-color: var(--footer-border);
  background: color-mix(in srgb, var(--footer-fg) 8%, transparent);
}

.site-footer .notify-trigger:hover:not(:disabled),
.site-footer .site-qr-trigger:hover,
.site-footer .version-trigger:hover {
  color: var(--footer-fg);
  border-color: color-mix(in srgb, var(--footer-fg) 45%, transparent);
  background: color-mix(in srgb, var(--footer-fg) 12%, transparent);
}

.site-footer .notify-trigger--on {
  color: var(--footer-accent);
  border-color: color-mix(in srgb, var(--footer-accent) 55%, var(--footer-border));
  background: color-mix(in srgb, var(--footer-accent) 16%, transparent);
}

.site-footer .notify-trigger--on .notify-trigger__icon {
  color: var(--footer-accent);
}

.site-footer .notify-trigger--on:hover:not(:disabled) {
  color: var(--footer-accent);
  border-color: var(--footer-accent);
  background: color-mix(in srgb, var(--footer-accent) 22%, transparent);
}

.notify-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  background: none;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  padding: 4px 12px;
  cursor: pointer;
  transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.notify-trigger--off {
  color: var(--text-muted);
  border-color: var(--border-light);
  background: color-mix(in srgb, var(--text-muted) 6%, transparent);
}

.notify-trigger--off .notify-trigger__icon {
  opacity: 0.65;
}

.notify-trigger:hover:not(:disabled) {
  color: var(--text);
  border-color: var(--border);
  background: var(--bg);
}

.notify-trigger--on {
  color: var(--accent);
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  font-weight: 600;
}

.notify-trigger--on .notify-trigger__icon {
  color: var(--accent);
}

.notify-trigger--on:hover:not(:disabled) {
  color: var(--accent);
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 18%, transparent);
}

.notify-trigger--denied,
.notify-trigger:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.notify-trigger__icon {
  flex-shrink: 0;
}

/* ── Banner de notificaciones (aviso visible) ── */

.notify-banner {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 90;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm) var(--space-md);
  padding: var(--space-md) var(--space-md) calc(var(--space-md) + env(safe-area-inset-bottom, 0px));
  background: var(--bg-elevated);
  border-top: 1px solid var(--border);
  box-shadow: 0 -4px 24px rgba(0, 0, 0, 0.08);
}

.notify-banner__text {
  flex: 1 1 220px;
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: var(--text);
}

.notify-banner__text strong {
  font-weight: 600;
}

.notify-banner__text a {
  color: var(--accent);
  text-decoration: underline;
  text-underline-offset: 2px;
}

.notify-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
  flex-shrink: 0;
}

.notify-banner__btn {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  border-radius: 100px;
  padding: 8px 16px;
  cursor: pointer;
  border: 1px solid transparent;
  transition: background var(--transition), color var(--transition), border-color var(--transition);
}

.notify-banner__btn--primary {
  color: var(--bg);
  background: var(--text);
  border-color: var(--text);
}

.notify-banner__btn--primary:hover {
  opacity: 0.9;
}

.notify-banner__btn--ghost {
  color: var(--text-muted);
  background: transparent;
  border-color: var(--border-light);
}

.notify-banner__btn--ghost:hover {
  color: var(--text);
  border-color: var(--border);
}

@media (min-width: 700px) {
  .notify-banner {
    left: 50%;
    right: auto;
    bottom: var(--space-lg);
    transform: translateX(-50%);
    max-width: 640px;
    border: 1px solid var(--border);
    border-radius: var(--radius-lg);
    padding: var(--space-md) var(--space-lg);
  }
}

.site-qr-trigger {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  background: none;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  padding: 4px 12px;
  cursor: pointer;
  transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.site-qr-trigger:hover {
  color: var(--text);
  border-color: var(--border);
  background: var(--bg);
}

.site-qr-trigger__icon {
  flex-shrink: 0;
}

.qr-dialog {
  max-width: 360px;
}

.qr-dialog .changelog-dialog__title {
  font-size: 1.125rem;
  line-height: 1.35;
}

.qr-dialog__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.qr-dialog__tagline {
  font-size: 0.875rem;
  color: var(--text-secondary);
  margin-bottom: var(--space-md);
}

.qr-dialog__code {
  display: inline-flex;
  padding: var(--space-md);
  background: #fff;
  border: 1px solid var(--border-light);
  border-radius: var(--radius-md);
  margin-bottom: var(--space-md);
}

.qr-dialog__code img {
  display: block;
  width: 200px;
  height: 200px;
}

.qr-dialog__url {
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.qr-dialog__url a {
  color: var(--accent);
  text-decoration: none;
  border-bottom: 1px solid var(--border);
}

.qr-dialog__url a:hover {
  border-color: var(--accent);
  opacity: 1;
}

.site-footer__version {
  margin-top: var(--space-sm);
}

.version-trigger {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: var(--text-muted);
  background: none;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  padding: 4px 12px;
  cursor: pointer;
  transition: color var(--transition), border-color var(--transition), background var(--transition);
}

.version-trigger:hover {
  color: var(--text);
  border-color: var(--border);
  background: var(--bg);
}

/* ── Splash de bienvenida ── */

html.is-splash-active {
  overflow: hidden;
  overscroll-behavior: none;
  height: 100%;
  min-height: 100dvh;
  background-color: var(--splash-chrome);
}

html.is-splash-active body {
  overflow: hidden;
  overscroll-behavior: none;
  background-color: var(--splash-chrome);
  padding-top: 0 !important;
  min-height: 100dvh;
}

html.is-splash-active .site-header,
html.is-splash-active .breaking-ticker,
html.is-splash-active .progress-bar,
html.is-splash-active #main,
html.is-splash-active .site-footer,
html.is-splash-active .brand-tint-bar {
  visibility: hidden;
  pointer-events: none;
}

.site-splash {
  position: fixed;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  inset: 0;
  width: 100%;
  height: 100%;
  min-height: 100dvh;
  min-height: 100lvh;
  min-height: -webkit-fill-available;
  overflow: hidden;
  background-color: var(--splash-chrome);
  cursor: pointer;
  opacity: 0;
  transition: opacity 520ms ease;
  touch-action: none;
  -webkit-user-select: none;
  user-select: none;
}

.site-splash__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  pointer-events: none;
  user-select: none;
  -webkit-user-select: none;
}

.site-splash__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.18) 100%);
  pointer-events: none;
}

.site-splash.is-visible {
  opacity: 1;
}

.site-splash.is-leaving {
  opacity: 0;
  pointer-events: none;
}

.site-splash__title {
  position: relative;
  z-index: 1;
  font-family: var(--font-serif);
  font-size: clamp(2.75rem, 11vw, 4.75rem);
  font-weight: 400;
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  color: #fff;
  text-shadow:
    0 2px 28px rgba(0, 0, 0, 0.45),
    0 1px 4px rgba(0, 0, 0, 0.35);
  user-select: none;
}

.site-splash__version {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  bottom: max(1.25rem, env(safe-area-inset-bottom, 1.25rem));
  text-align: center;
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: rgba(255, 255, 255, 0.94);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.55);
  user-select: none;
}

/* ── Changelog modal ── */

.changelog-overlay {
  position: fixed;
  inset: 0;
  z-index: 300;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--space-md);
  background: rgba(0, 0, 0, 0.45);
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.25s ease, visibility 0.25s ease;
}

.changelog-overlay.is-open {
  opacity: 1;
  visibility: visible;
}

.changelog-dialog {
  width: 100%;
  max-width: 480px;
  max-height: min(80vh, 640px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md);
  transform: translateY(12px) scale(0.98);
  transition: transform 0.25s ease;
}

.changelog-overlay.is-open .changelog-dialog {
  transform: translateY(0) scale(1);
}

.changelog-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--space-md) var(--space-lg);
  border-bottom: 1px solid var(--border-light);
  flex-shrink: 0;
}

.changelog-dialog__title {
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 400;
}

.changelog-dialog__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: none;
  border-radius: 100px;
  background: var(--bg);
  color: var(--text-muted);
  font-size: 1.25rem;
  line-height: 1;
  cursor: pointer;
  transition: color var(--transition), background var(--transition);
}

.changelog-dialog__close:hover {
  color: var(--text);
  background: var(--border-light);
}

.changelog-dialog__body {
  overflow-y: auto;
  padding: var(--space-md) var(--space-lg) var(--space-lg);
}

.changelog-entry {
  padding-bottom: var(--space-md);
  margin-bottom: var(--space-md);
  border-bottom: 1px solid var(--border-light);
}

.changelog-entry:last-child {
  padding-bottom: 0;
  margin-bottom: 0;
  border-bottom: none;
}

.changelog-entry__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-sm);
  margin-bottom: var(--space-sm);
}

.changelog-entry__version {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--accent);
}

.changelog-entry__date {
  font-size: 0.75rem;
  color: var(--text-muted);
  white-space: nowrap;
}

.changelog-entry__list {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.changelog-entry__list li {
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--text-secondary);
  padding-left: 1rem;
  position: relative;
}

.changelog-entry__list li::before {
  content: '·';
  position: absolute;
  left: 0;
  color: var(--accent);
  font-weight: 700;
}

.changelog-entry--current .changelog-entry__version::after {
  content: 'Actual';
  display: inline-block;
  margin-left: 6px;
  font-size: 0.625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  padding: 2px 6px;
  border-radius: 100px;
  background: var(--badge-verified-bg);
  color: var(--badge-verified-text);
  vertical-align: middle;
}

/* ── Mobile ── */

@media (max-width: 640px) {
  :root {
    --safe-top: env(safe-area-inset-top, 0px);
  }

  .breaking-ticker:not([hidden]) {
    padding-top: var(--safe-top);
    height: calc(2.25rem + var(--safe-top));
  }

  .site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: 100;
    padding-top: var(--safe-top);
    height: auto;
    min-height: calc(var(--header-height) + var(--safe-top));
    box-sizing: border-box;
    background: var(--header-bg);
  }

  body.has-breaking-ticker .site-header {
    top: calc(2.25rem + var(--safe-top));
    padding-top: 0;
    min-height: var(--header-height);
    height: var(--header-height);
  }

  body.has-brand-theme .site-header {
    top: 0;
    padding-top: var(--safe-top);
    min-height: calc(var(--header-height) + var(--safe-top));
    height: auto;
  }

  body.has-brand-theme.has-breaking-ticker .site-header {
    top: calc(2.25rem + var(--safe-top));
    padding-top: 0;
    min-height: var(--header-height);
    height: var(--header-height);
  }

  body {
    padding-top: calc(var(--header-height) + var(--breaking-ticker-height) + var(--safe-top));
  }

  body.has-brand-theme {
    padding-top: calc(var(--header-height) + var(--breaking-ticker-height) + var(--safe-top));
  }

  .site-nav {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    flex-direction: column;
    background: var(--bg);
    border-bottom: 1px solid var(--border);
    padding: var(--space-md);
    gap: var(--space-md);
  }

  .site-nav.is-open {
    display: flex;
  }

  .site-nav.is-open .site-nav__link {
    line-height: 1.35;
  }

  .site-nav.is-open .site-nav__hint {
    display: inline;
    margin-left: 0.3em;
    font-size: 0.6875rem;
    font-weight: 400;
    letter-spacing: 0.01em;
    text-transform: none;
    color: var(--text-muted);
    opacity: 0.9;
  }

  body.has-brand-theme .site-nav.is-open .site-nav__hint {
    color: rgba(255, 255, 255, 0.72);
  }

  .site-nav__tools {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-md);
    margin-top: var(--space-xs);
    padding-top: var(--space-md);
    border-top: 1px solid var(--border-light);
  }

  body.has-brand-theme .site-nav.is-open .site-nav__tools {
    border-top-color: rgba(255, 255, 255, 0.2);
  }

  .site-header__inner {
    height: var(--header-height);
    flex-shrink: 0;
  }

  .progress-bar {
    top: var(--safe-top);
  }

  body.has-brand-theme .progress-bar {
    top: calc(var(--header-height) + var(--breaking-ticker-height) + var(--safe-top));
  }

  .menu-toggle {
    display: flex;
    flex-shrink: 0;
  }

  .site-header__actions {
    flex-shrink: 0;
    margin-left: auto;
  }

  .site-nav__tools .calendar-toggle {
    flex-shrink: 0;
  }

  body.has-brand-theme .site-nav.is-open .site-nav__tools .calendar-toggle {
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.28);
  }

  body.has-brand-theme .site-nav.is-open .site-nav__tools .calendar-toggle:hover,
  body.has-brand-theme .site-nav.is-open .site-nav__tools .calendar-toggle:focus-visible {
    background: rgba(255, 255, 255, 0.16);
    border-color: rgba(255, 255, 255, 0.45);
  }

  .article {
    padding-top: var(--space-md);
  }

  .article__hero {
    margin-left: calc(-1 * max(var(--page-gutter), env(safe-area-inset-left, 0px)));
    margin-right: calc(-1 * max(var(--page-gutter), env(safe-area-inset-right, 0px)));
  }

  .article__figure--wide {
    margin-left: calc(-1 * max(var(--page-gutter), env(safe-area-inset-left, 0px)));
    margin-right: calc(-1 * max(var(--page-gutter), env(safe-area-inset-right, 0px)));
  }

  .article__figure--wide img {
    border-radius: 0;
  }

  .key-facts {
    order: -1;
  }

  html.is-splash-active,
  html.is-splash-active body {
    width: 100%;
    height: 100%;
    min-height: 100dvh;
    min-height: 100lvh;
    min-height: -webkit-fill-available;
    overflow: hidden;
    background-color: var(--splash-chrome);
  }

  html.is-splash-active body {
    padding-top: 0 !important;
  }

  .site-splash {
    padding: 0;
  }

  .site-splash__title {
    padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
    padding-top: max(var(--space-lg), env(safe-area-inset-top, 0px));
  }

  .site-splash__version {
    bottom: max(1.25rem, env(safe-area-inset-bottom, 1.25rem));
    padding-inline: env(safe-area-inset-left, 0px) env(safe-area-inset-right, 0px);
  }
}

/* ── Engagement (vistas / likes) ── */

.engagement-mount {
  margin-bottom: var(--space-md);
}

.engagement {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
  padding: var(--space-sm) 0;
}

.engagement__views {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.8125rem;
  color: var(--text-muted);
  white-space: nowrap;
}

.engagement__views svg {
  flex-shrink: 0;
  opacity: 0.7;
}

.engagement__count {
  font-weight: 600;
  color: var(--text-secondary);
  font-variant-numeric: tabular-nums;
}

.engagement__label {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.engagement__votes {
  display: flex;
  gap: var(--space-xs);
}

.engagement--stars .engagement__btn svg {
  flex-shrink: 0;
}

.engagement--stars .engagement__star-half-fill {
  clip-path: inset(0 50% 0 0);
}

.engagement--stars .engagement__btn--dislike.engagement__btn--active .engagement__star-half-fill {
  clip-path: none;
}

.engagement__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  background: var(--bg-elevated);
  color: var(--text-muted);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.engagement__btn:hover {
  border-color: var(--border);
  color: var(--text);
}

.engagement__btn--like.engagement__btn--active {
  border-color: var(--accent);
  background: var(--accent-soft);
  color: var(--accent);
}

.engagement__btn--dislike.engagement__btn--active {
  border-color: #a85c5c;
  background: rgba(168, 92, 92, 0.12);
  color: #b86a6a;
}

[data-theme="dark"] .engagement__btn--dislike.engagement__btn--active {
  border-color: #c47a7a;
  background: rgba(196, 122, 122, 0.15);
  color: #d88a8a;
}

.engagement__btn--like.engagement__btn--like-pop {
  animation: engagement-like-pop 480ms cubic-bezier(0.34, 1.56, 0.64, 1);
}

@keyframes engagement-like-pop {
  0% { transform: scale(1); }
  35% { transform: scale(1.28); }
  65% { transform: scale(0.94); }
  100% { transform: scale(1); }
}

.like-burst-layer {
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 10000;
  overflow: hidden;
}

.like-burst-bloom {
  position: absolute;
  font-size: 1.85rem;
  line-height: 1;
  opacity: 0;
  animation: like-burst-bloom 720ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
  user-select: none;
  pointer-events: none;
}

.like-burst-flower {
  position: absolute;
  line-height: 1;
  opacity: 0;
  animation: like-burst-flower 920ms cubic-bezier(0.22, 1, 0.36, 1) forwards;
  user-select: none;
  pointer-events: none;
}

.like-burst-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

.like-burst-icon svg {
  width: 100%;
  height: 100%;
  display: block;
}

.like-burst-star--white svg {
  filter: drop-shadow(0 0 1px rgba(10, 49, 97, 0.55)) drop-shadow(0 1px 2px rgba(0, 0, 0, 0.22));
}

@keyframes like-burst-bloom {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.2) rotate(-18deg);
  }
  28% {
    opacity: 1;
    transform: translate(-50%, -50%) scale(1.15) rotate(6deg);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.45) rotate(14deg);
  }
}

@keyframes like-burst-flower {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(0.25) rotate(0deg);
  }
  18% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    transform: translate(calc(-50% + var(--tx)), calc(-50% + var(--ty))) scale(1.05) rotate(var(--rot));
  }
}

@media (prefers-reduced-motion: reduce) {
  .engagement__btn--like.engagement__btn--like-pop {
    animation: none;
  }

  .like-burst-layer {
    display: none;
  }
}

body.has-brand-theme .engagement__btn--like.engagement__btn--active {
  border-color: var(--article-brand);
  background: color-mix(in srgb, var(--article-brand) 16%, var(--bg-elevated));
  color: var(--article-brand);
}

.card__engagement {
  display: inline-flex;
  align-items: center;
  gap: var(--space-sm);
  margin-left: auto;
}

.card__stat {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-size: 0.6875rem;
  font-weight: 500;
  color: var(--text-muted);
  font-variant-numeric: tabular-nums;
}

.card__stat svg {
  opacity: 0.65;
}

/* ── Article toolbar (stats + listen/share) ── */

.article__toolbar {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  margin-bottom: var(--space-lg);
}

.article__toolbar-stats {
  display: flex;
  justify-content: stretch;
  align-items: center;
  gap: var(--space-sm);
  min-height: 1.25rem;
}

.article__toolbar-stats .engagement-mount {
  margin-bottom: 0;
  flex: 1 1 auto;
  min-width: 0;
  width: auto;
}

.article__toolbar-stats .article-slideshow-mount {
  flex: 0 0 auto;
  margin-left: auto;
}

.article__toolbar-stats .engagement {
  padding: 0;
  width: 100%;
  justify-content: space-between;
}

.article__toolbar-actions {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  padding: var(--space-sm) 0;
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
}

.article__toolbar-actions .read-aloud-mount {
  flex: 0 0 auto;
}

.article__toolbar-actions .share-mount {
  flex: 0 1 auto;
  min-width: 0;
  margin-bottom: 0;
  margin-left: auto;
}

.article__toolbar-actions .share {
  border: none;
  padding: 0;
  margin: 0;
}

.article__toolbar-actions .read-aloud {
  flex-wrap: nowrap;
}

.article__toolbar-actions .read-aloud__status {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.read-aloud-mount:empty {
  display: none;
}

.read-aloud {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
}

.read-aloud__label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.read-aloud__controls {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.read-aloud__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  background: var(--bg-elevated);
  color: var(--text-secondary);
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition), box-shadow var(--transition);
}

.read-aloud__btn:hover,
.read-aloud__btn:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
  outline: none;
}

.read-aloud__btn[aria-pressed="true"] {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
  box-shadow: 0 0 0 1px rgba(45, 74, 62, 0.08);
}

[data-theme="dark"] .read-aloud__btn[aria-pressed="true"] {
  box-shadow: 0 0 0 1px rgba(142, 181, 163, 0.15);
}

.read-aloud__btn--stop:hover,
.read-aloud__btn--stop:focus-visible {
  border-color: var(--border);
  color: var(--text);
  background: var(--bg);
}

.read-aloud__status {
  font-size: 0.75rem;
  color: var(--text-muted);
  min-height: 1.125rem;
}

/* ── Share bar ── */

.share-mount {
  margin-bottom: var(--space-lg);
}

.share {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
  padding: var(--space-sm) 0;
  border-top: 1px solid var(--border-light);
  border-bottom: 1px solid var(--border-light);
}

.share__label {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--text-muted);
}

.share__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
}

.share__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  background: var(--bg-elevated);
  color: var(--text-secondary);
  text-decoration: none;
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition);
}

.share__btn:hover {
  border-color: var(--border);
  color: var(--text);
  background: var(--bg);
  opacity: 1;
}

.share__feedback {
  font-size: 0.75rem;
  color: var(--accent);
  min-height: 1em;
}

@media (min-width: 768px) {
  .article__toolbar-actions .share {
    flex-wrap: nowrap;
  }

  .article__toolbar-actions .share__buttons {
    flex-wrap: nowrap;
  }
}

@media (max-width: 767px) {
  .article__toolbar {
    width: 100%;
    min-width: 0;
  }

  .article__toolbar-actions {
    flex-direction: column;
    align-items: stretch;
    gap: var(--space-sm);
    width: 100%;
    min-width: 0;
  }

  .article__toolbar-actions .read-aloud-mount,
  .article__toolbar-actions .share-mount {
    flex: 1 1 100%;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
  }

  .article__toolbar-actions .read-aloud,
  .article__toolbar-actions .share {
    flex-direction: column;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: var(--space-sm);
    width: 100%;
    max-width: 100%;
    min-width: 0;
    box-sizing: border-box;
  }

  .article__toolbar-actions .read-aloud__label,
  .article__toolbar-actions .share__label {
    flex: 0 0 auto;
    width: 100%;
  }

  .article__toolbar-actions .read-aloud__controls,
  .article__toolbar-actions .share__buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(2.75rem, 1fr));
    gap: 0.5rem;
    width: 100%;
    max-width: 100%;
    min-width: 0;
  }

  .article__toolbar-actions .read-aloud__btn,
  .article__toolbar-actions .share__btn {
    width: 100%;
    height: 2.75rem;
    min-width: 0;
    margin: 0;
  }

  .article__toolbar-actions .share__feedback {
    width: 100%;
  }
}

.visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* ── Homepage ── */

.home {
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  padding-inline: max(var(--page-gutter), env(safe-area-inset-right, 0px)) max(var(--page-gutter), env(safe-area-inset-left, 0px));
  padding-bottom: var(--space-2xl);
}

.home__intro {
  max-width: var(--max-width);
  margin-bottom: var(--space-lg);
  margin-top: 0;
  padding-top: var(--space-lg);
  padding-bottom: 0;
}

.home__subtitle {
  margin: 0;
  font-size: 1.0625rem;
  color: var(--text-secondary);
  line-height: 1.6;
}

.home__daily-mount:not([hidden]).is-expanded ~ .home__intro {
  margin-top: 0;
  padding-top: 0;
}

.breaking:not([hidden]) + .home__intro {
  margin-top: 0;
  padding-top: var(--space-lg);
  border-top: 1px solid var(--border);
}

.home__title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 4vw, 2.75rem);
  font-weight: 400;
  line-height: var(--line-height-tight);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-sm);
}

.home__occasion-mount:not([hidden]) {
  margin-top: var(--space-md);
  margin-bottom: var(--space-lg);
}

.home__occasion-mount:not([hidden]) ~ .home__intro {
  margin-top: 0;
  padding-top: 0;
}

.occasion-banner {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 55%, rgba(255, 255, 255, 0.12));
  background: #0a0a09;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
}

.occasion-banner--fathers-day,
.occasion-banner__slide--fathers-day {
  border-color: color-mix(in srgb, var(--border) 40%, #3d6b9e);
}

.occasion-banner__slide--hotd-premiere {
  border-color: color-mix(in srgb, var(--border) 35%, #8b1a1a);
}

.occasion-banner__slide--harry-potter {
  border-color: color-mix(in srgb, var(--border) 35%, #c9a227);
}

.occasion-banner__slide--harry-potter .occasion-banner__scrim {
  background:
    linear-gradient(
      180deg,
      rgba(10, 24, 12, 0.1) 0%,
      rgba(10, 24, 12, 0.05) 35%,
      rgba(10, 24, 12, 0.38) 55%,
      rgba(10, 24, 12, 0.82) 100%
    ),
    linear-gradient(
      90deg,
      rgba(10, 24, 12, 0.62) 0%,
      rgba(10, 24, 12, 0.3) 40%,
      transparent 70%
    );
}

.occasion-banner__slide--scotus-fallos {
  border-color: color-mix(in srgb, var(--border) 35%, #ff4d8d);
}

.occasion-banner__slide--scotus-fallos .occasion-banner__scrim {
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.1) 0%,
      rgba(0, 0, 0, 0.05) 35%,
      rgba(0, 0, 0, 0.36) 55%,
      rgba(0, 0, 0, 0.8) 100%
    ),
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.58) 0%,
      rgba(0, 0, 0, 0.28) 40%,
      transparent 70%
    );
}

.occasion-banner__slide--scotus-fallos .occasion-banner__image {
  object-position: center 42%;
}

.occasion-banner__close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.42);
  color: rgba(255, 255, 255, 0.92);
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: background 0.15s ease, color 0.15s ease;
}

.occasion-banner__close:hover {
  background: rgba(0, 0, 0, 0.62);
  color: #fff;
}

.occasion-banner__inner {
  position: relative;
  display: flex;
  align-items: flex-end;
  min-height: clamp(220px, 35vw, 340px);
  padding: var(--space-lg);
  overflow: hidden;
}

@media (min-width: 768px) {
  .occasion-banner__inner {
    padding: var(--space-xl);
  }
}

.occasion-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}

.occasion-banner__video,
.occasion-banner__image {
  position: absolute;
  inset: 0;
}

.occasion-banner__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.occasion-banner__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      180deg,
      rgba(0, 0, 0, 0.08) 0%,
      rgba(0, 0, 0, 0.04) 35%,
      rgba(0, 0, 0, 0.34) 55%,
      rgba(0, 0, 0, 0.78) 100%
    ),
    linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.58) 0%,
      rgba(0, 0, 0, 0.28) 40%,
      transparent 70%
    );
}

.occasion-banner__copy {
  position: relative;
  z-index: 2;
  max-width: 36rem;
}

.occasion-banner__eyebrow {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
  margin-bottom: 0.35rem;
}

.occasion-banner__title {
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 3vw, 2.35rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: var(--space-sm);
  color: #fff;
  text-shadow:
    0 2px 24px rgba(0, 0, 0, 0.65),
    0 1px 3px rgba(0, 0, 0, 0.55);
}

.occasion-banner__subtitle {
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.92);
  max-width: min(36rem, 100%);
  text-shadow:
    0 1px 16px rgba(0, 0, 0, 0.55),
    0 1px 2px rgba(0, 0, 0, 0.45);
}

.occasion-banner--carousel .occasion-banner__inner {
  display: block;
  padding: 0;
  min-height: clamp(280px, 42vw, 420px);
}

.occasion-banner__track {
  position: relative;
  width: 100%;
  min-height: clamp(280px, 42vw, 420px);
}

.occasion-banner__slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 0;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.65s ease, visibility 0.65s ease;
  pointer-events: none;
}

.occasion-banner__slide--active {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}

.occasion-banner__link {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: block;
  color: inherit;
  text-decoration: none;
}

.occasion-banner__link .occasion-banner__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
}

.occasion-banner__link .occasion-banner__copy,
.occasion-banner__slide > .occasion-banner__copy {
  position: absolute;
  z-index: 2;
  left: var(--space-lg);
  right: var(--space-lg);
  top: clamp(3rem, 12vw, 4.25rem);
  bottom: calc(var(--space-lg) + 1.85rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: auto;
  max-width: 36rem;
  margin: 0;
}

.occasion-banner__link:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: -4px;
}

.occasion-banner__link:hover .occasion-banner__cta,
.occasion-banner__link:focus-visible .occasion-banner__cta {
  background: rgba(255, 255, 255, 0.24);
  border-color: rgba(255, 255, 255, 0.42);
}

@media (max-width: 767px) {
  .occasion-banner--carousel .occasion-banner__inner,
  .occasion-banner__track {
    min-height: clamp(400px, 98vw, 480px);
  }

  .occasion-banner__link .occasion-banner__copy,
  .occasion-banner__slide > .occasion-banner__copy {
    left: var(--space-md);
    right: var(--space-md);
    top: clamp(3.25rem, 15vw, 5rem);
    bottom: calc(var(--space-md) + 2rem);
  }

  .occasion-banner__title {
    font-size: clamp(1.35rem, 5.8vw, 1.85rem);
    line-height: 1.2;
  }

  .occasion-banner__subtitle {
    font-size: 0.9375rem;
    line-height: 1.5;
    max-width: none;
  }

  .occasion-banner__scrim {
    background:
      linear-gradient(
        180deg,
        rgba(0, 0, 0, 0.12) 0%,
        rgba(0, 0, 0, 0.18) 38%,
        rgba(0, 0, 0, 0.5) 60%,
        rgba(0, 0, 0, 0.82) 100%
      ),
      linear-gradient(
        90deg,
        rgba(0, 0, 0, 0.65) 0%,
        rgba(0, 0, 0, 0.35) 45%,
        transparent 75%
      );
  }
}

@media (min-width: 768px) {
  .occasion-banner__link .occasion-banner__copy,
  .occasion-banner__slide > .occasion-banner__copy {
    left: var(--space-xl);
    right: var(--space-xl);
    top: clamp(3.25rem, 8vw, 4.5rem);
    bottom: calc(var(--space-xl) + 1.85rem);
    max-width: min(40rem, calc(100% - 2 * var(--space-xl)));
  }
}

.occasion-banner__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.occasion-banner__cta {
  display: inline-flex;
  align-items: center;
  align-self: flex-start;
  width: fit-content;
  max-width: 100%;
  margin-top: 0.85rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  line-height: 1.25;
  color: #fff;
  background: rgba(255, 255, 255, 0.16);
  border: 1px solid rgba(255, 255, 255, 0.28);
  backdrop-filter: blur(8px);
  transition: background 0.15s ease, border-color 0.15s ease;
}

.occasion-banner__dots {
  position: absolute;
  left: 50%;
  bottom: 0.85rem;
  z-index: 4;
  display: flex;
  gap: 0.45rem;
  transform: translateX(-50%);
}

.occasion-banner--carousel .occasion-banner__copy {
  padding-bottom: 0.25rem;
}

.occasion-banner__dot {
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.38);
  cursor: pointer;
  transition: transform 0.15s ease, background 0.15s ease;
}

.occasion-banner__dot--active {
  background: #fff;
  transform: scale(1.15);
}

.occasion-banner__dot:focus-visible {
  outline: 2px solid rgba(255, 255, 255, 0.9);
  outline-offset: 2px;
}

/* ── Mensaje del día — acuarela animada ── */

@keyframes daily-wash-breathe {
  0%, 100% {
    transform: scale(1) translate3d(0, 0, 0);
    filter: saturate(1) brightness(1);
  }

  50% {
    transform: scale(1.035) translate3d(0, -1.5px, 0);
    filter: saturate(1.06) brightness(1.03);
  }
}

@keyframes daily-wash-drift {
  0%, 100% {
    background-position: center 100%, 50% 100%;
  }

  33% {
    background-position: 47% 100%, 48% 102%;
  }

  66% {
    background-position: 53% 100%, 52% 98%;
  }
}

@keyframes daily-wash-glow {
  0%, 100% {
    opacity: 0.94;
  }

  50% {
    opacity: 1;
  }
}

@keyframes daily-wash-breathe-dark {
  0%, 100% {
    transform: scale(1) translate3d(0, 0, 0);
    filter: saturate(0.9) brightness(0.72);
  }

  50% {
    transform: scale(1.035) translate3d(0, -1.5px, 0);
    filter: saturate(0.96) brightness(0.78);
  }
}

@keyframes daily-wash-breathe-mobile {
  0%, 100% {
    filter: saturate(1) brightness(1);
  }

  50% {
    filter: saturate(1.05) brightness(1.02);
  }
}

@keyframes daily-wash-breathe-dark-mobile {
  0%, 100% {
    filter: saturate(0.9) brightness(0.72);
  }

  50% {
    filter: saturate(0.95) brightness(0.76);
  }
}

.site-header + .home__daily-mount {
  max-width: var(--max-width-wide);
  margin-left: auto;
  margin-right: auto;
  padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
  width: 100%;
}

.site-header + .home__daily-mount.is-expanded {
  left: 0;
  right: auto;
  width: var(--daily-panel-width);
  max-width: none;
  margin: 0;
  padding: 0;
  transform: none;
}

.home__daily-mount {
  width: 100%;
  margin: 0 0 var(--space-lg);
  position: relative;
  isolation: isolate;
  overflow: hidden;
}

.home__daily-mount.is-collapsed {
  height: 0;
  margin: 0;
  padding: 0;
  min-height: 0;
  border-radius: 0;
  overflow: visible;
  background: transparent;
  position: relative;
  z-index: 310;
  isolation: auto;
  pointer-events: none;
}

.home__daily-mount.is-expanded {
  --daily-panel-width: min(22rem, 92vw);
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  z-index: 340;
  display: flex;
  flex-direction: column;
  margin: 0;
  padding: 0;
  border-radius: 0;
  overflow: hidden;
  background-color: var(--bg);
  width: var(--daily-panel-width);
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
  transform: none;
  will-change: transform, opacity;
  box-sizing: border-box;
  box-shadow:
    1px 0 0 rgba(91, 164, 201, 0.1),
    8px 0 32px rgba(0, 0, 0, 0.1);
}

.home__daily-mount.is-daily-entering {
  animation: daily-overlay-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home__daily-mount.is-daily-leaving {
  animation: daily-overlay-out 0.34s cubic-bezier(0.4, 0, 0.2, 1) both;
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
  .home__daily-mount.is-daily-entering,
  .home__daily-mount.is-daily-leaving {
    animation: none;
  }
}

.home__daily-mount::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 0;
  transform-origin: 50% 100%;
  backface-visibility: hidden;
  background:
    var(--daily-wash-image) center bottom / cover no-repeat,
    radial-gradient(ellipse 130% 90% at 50% 100%, rgba(91, 164, 201, 0.48) 0%, rgba(142, 202, 230, 0.28) 45%, transparent 78%);
}

.home__daily-mount:not(.is-expanded)::before {
  will-change: transform, background-position, opacity;
  animation:
    daily-wash-breathe 16s ease-in-out infinite,
    daily-wash-drift 24s ease-in-out infinite,
    daily-wash-glow 16s ease-in-out infinite;
}

.home__daily-mount.is-collapsed::before {
  inset: 0;
  top: 0;
  height: auto;
  background:
    var(--daily-wash-image) center bottom / cover no-repeat,
    radial-gradient(ellipse 130% 90% at 50% 100%, rgba(91, 164, 201, 0.48) 0%, rgba(142, 202, 230, 0.28) 45%, transparent 78%);
}

.home__daily-mount.is-expanded::before {
  inset: auto 0 -2px 0;
  top: auto;
  height: clamp(16rem, 60%, 21rem);
  z-index: 0;
  transform: none;
  will-change: opacity;
  animation: daily-wash-glow 16s ease-in-out infinite;
  background:
    var(--daily-wash-image) center bottom / cover no-repeat,
    radial-gradient(ellipse 140% 95% at 50% 100%, rgba(91, 164, 201, 0.48) 0%, rgba(142, 202, 230, 0.28) 50%, transparent 82%);
}

.home__daily-mount.is-expanded::after {
  inset: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    var(--bg) 30%,
    color-mix(in srgb, var(--bg) 96%, rgba(91, 164, 201, 0.06)) 46%,
    color-mix(in srgb, var(--bg) 78%, rgba(142, 202, 230, 0.12)) 62%,
    color-mix(in srgb, var(--bg) 45%, rgba(142, 202, 230, 0.08)) 78%,
    color-mix(in srgb, var(--bg) 18%, transparent) 92%,
    transparent 100%
  );
}

.home__daily-mount::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  backface-visibility: hidden;
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    color-mix(in srgb, var(--bg) 72%, transparent) 22%,
    transparent 48%
  );
}

.home__daily-mount.is-collapsed::after {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--bg) 12%, transparent) 0%,
    transparent 100%
  );
}

.daily-message-bar {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  width: 100%;
  margin: 0;
  padding: var(--space-sm) var(--space-md);
  border: none;
  border-bottom: 1px solid rgba(91, 164, 201, 0.18);
  background: transparent;
  color: var(--text);
  cursor: pointer;
  text-align: left;
  font: inherit;
  position: relative;
  z-index: 1;
  transition: border-color var(--transition);
}

.daily-message-bar:hover,
.daily-message-bar:focus-visible {
  outline: none;
  border-bottom-color: rgba(91, 164, 201, 0.32);
}

.daily-message-bar__line {
  flex: 1;
  min-width: 0;
  font-size: 0.875rem;
  line-height: 1.35;
  color: var(--text-secondary);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.daily-message-bar__line::first-line {
  font-family: var(--font-serif);
  font-style: italic;
  color: var(--text);
}

.daily-message-bar__action {
  flex-shrink: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--accent);
}

.daily-message-bar__chevron {
  flex-shrink: 0;
  color: var(--text-muted);
  transition: transform var(--transition);
}

.daily-message-bar__edge-tab {
  display: none;
}

.home__daily-mount.is-expanded .daily-message-bar {
  position: relative;
  left: auto;
  top: auto;
  width: 100%;
  height: auto;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: 0.375rem;
  padding:
    calc(env(safe-area-inset-top, 0px) + var(--space-sm))
    var(--space-md)
    var(--space-sm)
    max(env(safe-area-inset-left, 0px), var(--space-md));
  border-bottom: 1px solid rgba(91, 164, 201, 0.18);
  background: var(--bg);
  box-shadow: none;
  touch-action: auto;
  min-height: 0;
}

.home__daily-mount.is-expanded .daily-message-bar__line {
  display: none;
}

.home__daily-mount.is-expanded .daily-message-bar__chevron {
  order: -1;
  transform: rotate(90deg);
}

.home__daily-mount.is-expanded .daily-message-bar__action {
  order: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.home__daily-mount.is-expanded .daily-message-panel {
  position: relative;
  z-index: 1;
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding:
    var(--space-md)
    var(--space-md)
    calc(var(--space-2xl) + env(safe-area-inset-bottom, 0px))
    max(env(safe-area-inset-left, 0px), var(--space-md));
}

.home__daily-mount.is-expanded .daily-message {
  min-height: min(
    100%,
    calc(
      100dvh
      - env(safe-area-inset-top, 0px)
      - env(safe-area-inset-bottom, 0px)
      - 3.25rem
    )
  );
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.daily-message-panel[hidden] {
  display: none !important;
}

[data-theme="dark"] .home__daily-mount:not(.is-expanded)::before {
  opacity: 0.72;
  animation:
    daily-wash-breathe-dark 16s ease-in-out infinite,
    daily-wash-drift 24s ease-in-out infinite;
}

[data-theme="dark"] .home__daily-mount.is-expanded::before {
  opacity: 0.72;
  animation: daily-wash-glow 16s ease-in-out infinite;
}

[data-theme="dark"] .home__daily-mount::after {
  background: linear-gradient(180deg, var(--bg) 0%, transparent 38%, transparent 100%);
}

[data-theme="dark"] .home__daily-mount.is-collapsed::after {
  background: linear-gradient(180deg, rgba(20, 20, 19, 0.55) 0%, rgba(20, 20, 19, 0.35) 100%);
}

[data-theme="dark"] .home__daily-mount.is-expanded::after {
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    var(--bg) 32%,
    color-mix(in srgb, var(--bg) 94%, rgba(91, 164, 201, 0.08)) 48%,
    color-mix(in srgb, var(--bg) 88%, rgba(142, 202, 230, 0.1)) 64%,
    color-mix(in srgb, var(--bg) 82%, rgba(91, 164, 201, 0.06)) 82%,
    var(--bg) 100%
  );
}

@keyframes daily-slide-in {
  from {
    opacity: 0.72;
    transform: translate3d(-1.25rem, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

@keyframes daily-overlay-in {
  from {
    transform: translate3d(-100%, 0, 0);
    opacity: 0.96;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes daily-overlay-out {
  from {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  to {
    transform: translate3d(-100%, 0, 0);
    opacity: 0.96;
  }
}

/* ── Bienvenida: pestaña lateral + pantalla completa (móvil y escritorio) ── */

.home__daily-mount.is-collapsed::before,
.home__daily-mount.is-collapsed::after {
  display: none;
}

.home__daily-mount.is-collapsed .daily-message-bar {
  position: fixed;
  left: 0;
  top: calc(var(--edge-line-top) + (100dvh - var(--edge-line-top)) / 2);
  transform: translateY(-50%);
  z-index: 310;
  pointer-events: auto;
  width: auto;
  min-width: 1.625rem;
  max-width: 2.125rem;
  max-height: calc(100dvh - var(--edge-line-top) - var(--space-md));
  height: auto;
  margin: 0;
  padding: 0.625rem 0.375rem 0.5rem 0.3125rem;
  border: none;
  border-bottom: none;
  border-radius: 0 0.625rem 0.625rem 0;
  background: linear-gradient(
    180deg,
    rgba(91, 164, 201, 0.88) 0%,
    rgba(142, 202, 230, 0.72) 100%
  );
  box-shadow:
    0 0 0 1px rgba(91, 164, 201, 0.16),
    0 4px 14px rgba(91, 164, 201, 0.18);
  overflow: hidden;
  touch-action: manipulation;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  transition:
    max-width 0.45s ease,
    padding 0.45s ease,
    box-shadow 0.3s ease;
  cursor: pointer;
}

.home__daily-mount.is-collapsed .daily-message-bar__line,
.home__daily-mount.is-collapsed .daily-message-bar__action,
.home__daily-mount.is-collapsed .daily-message-bar__chevron {
  display: none;
}

.home__daily-mount.is-collapsed .daily-message-bar__edge-tab {
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.3rem;
  min-width: 0;
}

.home__daily-mount.is-collapsed .daily-message-bar__edge-text {
  font-size: 0.625rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.96);
  writing-mode: vertical-lr;
  text-orientation: mixed;
  white-space: nowrap;
  overflow: hidden;
  max-height: 6.5rem;
  opacity: 1;
  line-height: 1;
  transition:
    opacity 0.55s ease,
    max-height 0.5s ease,
    margin 0.5s ease;
}

.home__daily-mount.is-collapsed .daily-message-bar__edge-arrow {
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.92);
}

.home__daily-mount.is-collapsed .daily-message-bar.is-edge-hint-done {
  max-width: 1.5rem;
  padding: 0.5rem 0.3125rem;
}

.home__daily-mount.is-collapsed .daily-message-bar.is-edge-hint-done .daily-message-bar__edge-text {
  opacity: 0;
  max-height: 0;
  margin-bottom: -0.3rem;
}

/* Pestañas laterales: mensaje del día + diapositivas apiladas sin solaparse */
body.has-slideshow-tab .home__daily-mount.is-collapsed .daily-message-bar {
  top: calc(50dvh - 3.3125rem);
  transform: none;
}

body.has-slideshow-tab .news-slideshow-tab:not([hidden]) {
  top: calc(50dvh - 0.9375rem);
  transform: none;
}

[data-theme="dark"] .home__daily-mount.is-collapsed .daily-message-bar {
  background: linear-gradient(
    180deg,
    rgba(127, 184, 154, 0.82) 0%,
    rgba(91, 164, 201, 0.58) 100%
  );
  box-shadow:
    0 0 0 1px rgba(127, 184, 154, 0.18),
    0 4px 14px rgba(0, 0, 0, 0.22);
}

.home__daily-mount.is-expanded::before {
  inset: 0;
  top: 0;
  height: 100%;
  z-index: 0;
  transform: none;
  will-change: opacity;
  animation: daily-wash-glow 16s ease-in-out infinite;
  background:
    var(--daily-wash-image) center bottom / cover no-repeat,
    radial-gradient(ellipse 140% 100% at 50% 100%, rgba(91, 164, 201, 0.48) 0%, rgba(142, 202, 230, 0.28) 50%, transparent 82%);
}

.home__daily-mount.is-expanded::after {
  inset: 0;
  top: 0;
  bottom: 0;
  height: 100%;
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    var(--bg) 22%,
    color-mix(in srgb, var(--bg) 94%, rgba(91, 164, 201, 0.08)) 38%,
    color-mix(in srgb, var(--bg) 72%, rgba(142, 202, 230, 0.14)) 54%,
    color-mix(in srgb, var(--bg) 38%, transparent) 72%,
    transparent 100%
  );
}

[data-theme="dark"] .home__daily-mount.is-expanded::before {
  opacity: 0.72;
  animation: daily-wash-glow 16s ease-in-out infinite;
}

[data-theme="dark"] .home__daily-mount.is-expanded::after {
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    var(--bg) 32%,
    color-mix(in srgb, var(--bg) 94%, rgba(91, 164, 201, 0.08)) 48%,
    color-mix(in srgb, var(--bg) 88%, rgba(142, 202, 230, 0.1)) 64%,
    color-mix(in srgb, var(--bg) 82%, rgba(91, 164, 201, 0.06)) 82%,
    var(--bg) 100%
  );
}

@media (max-width: 767px) {
  .home__daily-mount:not(.is-expanded)::before {
    transform: none;
    will-change: opacity, filter;
    animation:
      daily-wash-glow 16s ease-in-out infinite,
      daily-wash-breathe-mobile 16s ease-in-out infinite;
    background:
      var(--daily-wash-image) center bottom / cover no-repeat,
      radial-gradient(ellipse 130% 100% at 50% 100%, rgba(91, 164, 201, 0.48) 0%, rgba(142, 202, 230, 0.28) 45%, transparent 78%);
  }

  [data-theme="dark"] .home__daily-mount:not(.is-expanded)::before {
    animation:
      daily-wash-glow 16s ease-in-out infinite,
      daily-wash-breathe-dark-mobile 16s ease-in-out infinite;
  }
}

.home__daily-mount[hidden] {
  display: none;
}

html.is-daily-open {
  overflow: hidden;
  overscroll-behavior: none;
  touch-action: none;
  scroll-behavior: auto;
}

html.is-daily-unlocking {
  scroll-behavior: auto;
}

body.is-daily-open {
  overflow: hidden;
  overscroll-behavior: none;
  padding-right: var(--scroll-lock-gap, 0px);
}

/* Chrome fijo: compensar ancho de scrollbar (el sticky en desktop ya sigue al body) */
body.is-daily-open .breaking-ticker,
body.is-daily-open .brand-tint-bar,
body.search-open .breaking-ticker,
body.search-open .brand-tint-bar,
body.news-slideshow-open .breaking-ticker,
body.news-slideshow-open .brand-tint-bar,
body.article-slideshow-open .breaking-ticker,
body.article-slideshow-open .brand-tint-bar,
body.has-brand-theme.is-daily-open .site-header,
body.has-brand-theme.search-open .site-header,
body.has-brand-theme.news-slideshow-open .site-header,
body.has-brand-theme.article-slideshow-open .site-header {
  padding-right: var(--scroll-lock-gap, 0px);
}

@media (max-width: 640px) {
  body.is-daily-open .site-header,
  body.search-open .site-header,
  body.news-slideshow-open .site-header,
  body.article-slideshow-open .site-header {
    padding-right: var(--scroll-lock-gap, 0px);
  }
}

.daily-message {
  width: 100%;
  padding: 0 var(--space-lg);
  text-align: center;
  background: transparent;
  border: none;
  box-shadow: none;
  position: relative;
  z-index: 1;
}

.daily-message__head {
  margin-bottom: var(--space-lg);
}

.daily-message__greeting {
  font-family: var(--font-serif);
  font-size: clamp(1.625rem, 3.5vw, 2rem);
  font-weight: 400;
  font-style: italic;
  line-height: 1.25;
  letter-spacing: -0.02em;
  color: var(--text);
  margin-bottom: var(--space-sm);
}

.daily-message__welcome {
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0;
}

.daily-message__local {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.45rem;
  margin-top: var(--space-md);
}

.daily-message__datetime {
  margin: 0;
  font-size: 0.875rem;
  color: var(--text-muted);
}

.daily-message__datetime time {
  font-variant-numeric: tabular-nums;
}

.daily-message__weather {
  margin: 0;
  font-size: 0.8125rem;
  color: var(--text-secondary);
  letter-spacing: 0.02em;
}

[data-theme="dark"] .daily-message__weather {
  color: #a8c4b8;
}

[data-theme="dark"] .daily-message__welcome {
  color: #8fb5a3;
}

.daily-message__quote {
  margin: var(--space-sm) auto 0;
  padding: 0;
  border: none;
  background: none;
  max-width: 40rem;
}

.daily-message__quote p {
  font-family: var(--font-serif);
  font-size: clamp(1.125rem, 2.2vw, 1.3125rem);
  font-style: normal;
  font-weight: 400;
  line-height: 1.7;
  color: var(--text-secondary);
  letter-spacing: -0.01em;
}

.daily-message__ornament {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: clamp(0.875rem, 3vw, 1.25rem);
  margin-top: var(--space-xl);
  color: var(--accent);
  opacity: 0.55;
}

[data-theme="dark"] .daily-message__ornament {
  color: #8fb5a3;
  opacity: 0.65;
}

[data-theme="dark"] .daily-message__quote p {
  color: var(--text-secondary);
}

[data-theme="dark"] .home__daily-mount.is-expanded {
  box-shadow:
    1px 0 0 rgba(126, 184, 154, 0.12),
    8px 0 32px rgba(0, 0, 0, 0.35);
}

.daily-message__ornament-line {
  width: clamp(2.5rem, 12vw, 4.5rem);
  height: 1px;
  background: linear-gradient(90deg, transparent, currentColor 20%, currentColor 80%, transparent);
}

.daily-message__ornament-mark {
  flex-shrink: 0;
  display: block;
}

.home__filters-mount:not([hidden]) {
  margin-top: var(--space-md);
  margin-bottom: var(--space-lg);
}

.home__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm) var(--space-md);
}

.home__filters-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-muted);
  letter-spacing: 0.02em;
}

.home__filters-group {
  display: inline-flex;
  gap: 2px;
  padding: 3px;
  border-radius: 999px;
  background: var(--border-light);
  border: 1px solid var(--border);
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
}

.home__filters-group::-webkit-scrollbar {
  display: none;
}

.home__filter-btn {
  display: inline-block;
  flex-shrink: 0;
  white-space: nowrap;
  padding: 0.4rem 0.875rem;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--text-secondary);
  text-decoration: none;
  border-radius: 999px;
  transition: background 0.15s ease, color 0.15s ease;
}

.home__filter-btn:hover {
  color: var(--text);
}

.home__filter-btn--active {
  background: var(--bg-elevated);
  color: var(--text);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
}

[data-theme="dark"] .home__filter-btn--active {
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.25);
}

.home__filter-btn--hub {
  color: #00247D;
  background: color-mix(in srgb, #00247D 8%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #00247D 35%, transparent);
}

.home__filter-btn--hub:hover {
  color: #00247D;
  background: color-mix(in srgb, #00247D 14%, transparent);
}

[data-theme="dark"] .home__filter-btn--hub {
  color: #FFCC00;
  background: color-mix(in srgb, #FFCC00 12%, transparent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, #FFCC00 35%, transparent);
}

[data-theme="dark"] .home__filter-btn--hub:hover {
  color: #FFCC00;
  background: color-mix(in srgb, #FFCC00 20%, transparent);
}

.badge--prompt {
  background: rgba(120, 90, 40, 0.12);
  color: #8a6a2e;
  border: 1px solid rgba(120, 90, 40, 0.2);
}

[data-theme="dark"] .badge--prompt {
  background: rgba(220, 190, 120, 0.1);
  color: #d4b87a;
  border-color: rgba(220, 190, 120, 0.2);
}

.feed {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
}

.home__popular {
  display: flex;
  flex-direction: column;
  gap: var(--space-xl);
  margin-top: var(--space-2xl);
  padding-top: var(--space-2xl);
  border-top: 1px solid var(--border);
}

.home__popular-intro {
  max-width: 42rem;
}

.home__popular-title {
  font-family: var(--font-serif);
  font-size: clamp(1.625rem, 3.5vw, 2.125rem);
  font-weight: 400;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin: 0 0 var(--space-sm);
}

.home__popular-subtitle {
  margin: 0;
  color: var(--text-secondary);
  font-size: 1rem;
  line-height: 1.5;
}

.popular-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-elevated);
  overflow: hidden;
  box-shadow: var(--shadow-sm);
}

.popular-list__item {
  border-bottom: 1px solid var(--border);
}

.popular-list__item:last-child {
  border-bottom: none;
}

.popular-list__link {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 5.5rem;
  align-items: center;
  gap: var(--space-md);
  padding: var(--space-md) var(--space-lg);
  color: inherit;
  text-decoration: none;
  transition: background var(--transition);
}

.popular-list__link:hover,
.popular-list__link:focus-visible {
  background: color-mix(in srgb, var(--accent) 5%, var(--bg-elevated));
  outline: none;
}

.popular-list__rank {
  flex-shrink: 0;
  min-width: 2rem;
  font-family: var(--font-serif);
  font-size: 1.75rem;
  font-weight: 400;
  line-height: 1;
  color: var(--text-tertiary);
  font-variant-numeric: tabular-nums;
}

.popular-list__item--top .popular-list__rank {
  color: var(--accent);
  font-size: 2rem;
}

.popular-list__content {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.popular-list__category {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-tertiary);
}

.popular-list__title {
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(1rem, 2.2vw, 1.125rem);
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: -0.01em;
  color: var(--text);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.popular-list__link:hover .popular-list__title,
.popular-list__link:focus-visible .popular-list__title {
  color: var(--accent);
}

.popular-list__meta {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  font-size: 0.8125rem;
  color: var(--text-secondary);
}

.popular-list__views {
  font-weight: 600;
  color: var(--text);
}

.popular-list__sep {
  opacity: 0.45;
}

.popular-list__media {
  margin: 0;
  width: 5.5rem;
  aspect-ratio: 16 / 9;
  border-radius: var(--radius-sm);
  overflow: hidden;
  background: var(--bg);
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
}

.popular-list__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

@media (min-width: 768px) {
  .popular-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
  }

  .popular-list__item:nth-child(odd):not(:last-child) {
    border-right: 1px solid var(--border);
  }

  .popular-list__item:nth-last-child(2),
  .popular-list__item:nth-last-child(1):not(:nth-child(9)) {
    border-bottom: none;
  }

  .popular-list__item:nth-child(9):last-child {
    grid-column: 1 / -1;
    border-top: 1px solid var(--border);
  }

  .popular-list__link {
    grid-template-columns: auto minmax(0, 1fr) 6.5rem;
    padding: var(--space-lg);
    min-height: 100%;
  }

  .popular-list__media {
    width: 6.5rem;
  }
}

@media (max-width: 479px) {
  .popular-list__link {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .popular-list__media {
    display: none;
  }
}

.feed__featured {
  width: 100%;
}

.feed__grid {
  display: grid;
  gap: var(--space-lg);
  grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 640px) {
  .feed__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .feed__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.card.card--load-more {
  overflow: visible;
}

.feed__load-more {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-sm);
  width: 100%;
  min-height: 100%;
  padding: var(--space-xl) var(--space-lg);
  border-style: dashed;
  background: var(--bg);
  color: var(--text-secondary);
  font-family: inherit;
  text-align: center;
  cursor: pointer;
  transition: border-color var(--transition), color var(--transition), background var(--transition), box-shadow var(--transition);
}

.feed__load-more:hover,
.feed__load-more:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  background: color-mix(in srgb, var(--accent) 6%, var(--bg-elevated));
  box-shadow: var(--shadow-sm);
  outline: none;
}

.feed__load-more-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: color-mix(in srgb, var(--accent) 10%, var(--bg-elevated));
  color: var(--accent);
}

.feed__load-more-label {
  font-size: 0.9375rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: inherit;
  line-height: 1.35;
  max-width: 14rem;
}

.feed__load-more-count {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.feed__empty {
  text-align: center;
  padding: var(--space-2xl) var(--space-md);
  color: var(--text-muted);
}

.feed__empty-link {
  display: inline-block;
  margin-top: var(--space-md);
  font-size: 0.875rem;
  font-weight: 500;
}

/* ── Cards ── */

.card {
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
  overflow: hidden;
  transition: border-color var(--transition), box-shadow var(--transition), transform var(--transition);
}

.card:hover {
  border-color: var(--border);
  box-shadow: var(--shadow-md);
}

.card__link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.card__link--media,
.card__link--text {
  display: block;
}

.card__link:hover {
  opacity: 1;
}

.card__featured-grid {
  display: grid;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .card__featured-grid {
    grid-template-columns: 1.1fr 1fr;
    min-height: 320px;
    align-items: stretch;
  }
}

.card__content-col {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.card__content-footer {
  padding: 0 var(--space-lg) var(--space-md);
}

.card__badges {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs);
}

.card__content-footer .card__badges {
  padding: 0;
  margin: 0 0 var(--space-sm);
}

.card__content-footer:has(.card__badges:empty) {
  padding-top: 0;
}

.card__link--cta {
  display: inline-block;
}

.card--featured .card__link--text {
  flex: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.card--featured .card__link {
  display: block;
}

.card--featured .card__link--media {
  display: block;
}

.card--featured .card__media-wrap {
  position: relative;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.card--featured .card__link--media,
.card--featured .card__media,
.card--featured .card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}

.card--featured .card__media {
  aspect-ratio: unset;
  background: var(--border-light);
}

@media (min-width: 768px) {
  .card--featured .card__media-wrap {
    aspect-ratio: auto;
    min-height: 320px;
    height: 100%;
  }
}

.card__media-wrap {
  position: relative;
}

.card__media-badges {
  position: absolute;
  top: var(--space-sm);
  left: var(--space-sm);
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-xs);
  pointer-events: none;
}

.card__media-badges .badge,
.card__media-badges button.badge {
  pointer-events: auto;
  cursor: pointer;
  box-shadow: var(--shadow-sm);
}

.card__media {
  position: relative;
  overflow: hidden;
  background: var(--border-light);
  aspect-ratio: 16 / 9;
}

.card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  transition: transform 0.4s ease;
}

.card--featured .card__media img {
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.card:hover .card__media img {
  transform: scale(1.03);
}

.card__body {
  padding: var(--space-md) var(--space-lg);
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.card--compact .card__body {
  padding: var(--space-md);
}

.card--compact .card__meta {
  flex-wrap: nowrap;
  gap: var(--space-xs);
  min-width: 0;
}

.card--compact .card__category {
  flex-shrink: 0;
  white-space: nowrap;
}

.card--compact .card__meta time {
  flex: 1 1 auto;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.card--compact .card__engagement {
  flex-shrink: 0;
  margin-left: auto;
}

.card__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-xs) var(--space-sm);
  width: 100%;
  font-size: 0.75rem;
  color: var(--text-muted);
  margin-bottom: var(--space-sm);
}

.card__category {
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--accent);
}

.card__meta time::before,
.card__reading-time::before {
  content: '·';
  margin-right: var(--space-sm);
  color: var(--border);
}

.card__title {
  font-family: var(--font-serif);
  font-size: clamp(1.375rem, 3vw, 1.75rem);
  font-weight: 400;
  line-height: var(--line-height-tight);
  letter-spacing: -0.01em;
  margin-bottom: var(--space-sm);
  color: var(--text);
}

.card--compact .card__title {
  font-size: 1.125rem;
}

.card__title em {
  font-style: italic;
}

.card__deck {
  font-size: 0.9375rem;
  line-height: 1.6;
  color: var(--text-secondary);
  margin-bottom: var(--space-md);
}

.card > .card__badges {
  padding: 0 var(--space-md) var(--space-md);
  margin-top: calc(-1 * var(--space-xs));
  position: relative;
  z-index: 2;
}

.card > .card__badges:empty {
  display: none;
}

button.policy-trigger.badge {
  cursor: pointer;
}

button.policy-trigger.badge--prompt:hover,
button.policy-trigger.badge--prompt:focus-visible {
  filter: brightness(0.97);
  outline: none;
}

button.policy-trigger.badge--developing:hover,
button.policy-trigger.badge--developing:focus-visible {
  filter: brightness(0.97);
  outline: none;
}

button.policy-trigger.badge--opinion:hover,
button.policy-trigger.badge--opinion:focus-visible {
  filter: brightness(0.97);
  outline: none;
}

[data-theme="dark"] button.policy-trigger.badge--prompt:hover,
[data-theme="dark"] button.policy-trigger.badge--prompt:focus-visible {
  filter: brightness(1.08);
}

[data-theme="dark"] button.policy-trigger.badge--developing:hover,
[data-theme="dark"] button.policy-trigger.badge--developing:focus-visible {
  filter: brightness(1.08);
}

[data-theme="dark"] button.policy-trigger.badge--opinion:hover,
[data-theme="dark"] button.policy-trigger.badge--opinion:focus-visible {
  filter: brightness(1.08);
}

.card--featured .card__cta {
  display: inline-flex;
  align-items: center;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--accent);
  letter-spacing: 0.02em;
  margin-top: auto;
}

.card--featured .card__cta::after {
  content: '→';
  margin-left: 6px;
  transition: transform var(--transition);
}

.card--featured:hover .card__cta::after {
  transform: translateX(3px);
}

/* ── Editorial policy ── */

.home__policy {
  display: flex;
  gap: var(--space-md);
  width: 100%;
  margin-top: var(--space-2xl);
  padding: var(--space-md) var(--space-lg);
  background: var(--ai-bg);
  border: 1px solid var(--ai-border);
  border-radius: var(--radius-lg);
}

.home__policy-icon {
  flex-shrink: 0;
  color: var(--text-muted);
  margin-top: 2px;
}

.home__policy-title {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-secondary);
  margin-bottom: var(--space-xs);
}

.home__policy-text {
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--text-secondary);
}

/* ── Reduced motion ── */

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  .progress-bar {
    transition: none;
  }

  .home__daily-mount::before {
    animation: none;
    will-change: auto;
    transform: none;
  }

  [data-theme="dark"] .home__daily-mount::before {
    animation: none;
  }

  .site-splash {
    transition: none;
  }
}

/* ── About page ── */

.about {
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  padding:
    var(--space-xl)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    var(--space-2xl)
    max(var(--page-gutter), env(safe-area-inset-left, 0px));
}

.about__header {
  max-width: var(--max-width);
  margin: 0 auto var(--space-2xl);
  text-align: center;
}

.about__eyebrow {
  font-family: var(--font-sans);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--accent);
  margin-bottom: var(--space-sm);
}

.about__title {
  font-family: var(--font-serif);
  font-size: clamp(2.25rem, 5vw, 3rem);
  font-weight: 400;
  line-height: var(--line-height-tight);
  letter-spacing: -0.02em;
  margin-bottom: var(--space-md);
}

.about__title em {
  font-style: italic;
}

.about__deck {
  font-size: 1.125rem;
  line-height: 1.65;
  color: var(--text-secondary);
  max-width: 36rem;
  margin: 0 auto;
}

.about__body {
  max-width: var(--max-width);
  margin: 0 auto;
}

.about__section {
  margin-bottom: var(--space-2xl);
}

.about__section h2 {
  font-family: var(--font-serif);
  font-size: 1.625rem;
  font-weight: 400;
  letter-spacing: -0.02em;
  margin-bottom: var(--space-md);
  padding-top: var(--space-sm);
}

.about__section p {
  color: var(--text-secondary);
  line-height: 1.7;
}

.about__section p + p {
  margin-top: var(--space-md);
}

.about__list {
  margin: 0;
  padding-left: 1.25rem;
  color: var(--text-secondary);
  line-height: 1.7;
}

.about__list li + li {
  margin-top: var(--space-sm);
}

.about__list--ordered {
  padding-left: 1.5rem;
}

.about__cards {
  display: grid;
  gap: var(--space-md);
  margin: var(--space-lg) 0;
}

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

.about__card {
  padding: var(--space-md) var(--space-lg);
  background: var(--bg-elevated);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
}

.about__card-title {
  margin-bottom: var(--space-sm);
}

.about__card p {
  font-size: 0.9375rem;
  margin: 0;
}

.about__founder-card {
  padding: var(--space-lg);
  background: linear-gradient(135deg, var(--accent-soft) 0%, var(--bg-elevated) 100%);
  border: 1px solid var(--border-light);
  border-radius: var(--radius-lg);
}

[data-theme="dark"] .about__founder-card {
  background: linear-gradient(135deg, rgba(45, 74, 62, 0.2) 0%, var(--bg-elevated) 100%);
}

.about__founder-name {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  letter-spacing: -0.02em;
  margin-bottom: var(--space-xs);
}

.about__founder-alias {
  font-family: var(--font-mono, var(--font-sans));
  font-size: 0.875rem;
  color: var(--accent);
  margin-bottom: var(--space-xs);
}

.about__founder-role {
  font-size: 0.8125rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-muted);
  margin-bottom: var(--space-md);
}

.about__founder-bio {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text-secondary);
  margin: 0;
}

.about__cta {
  text-align: center;
  padding-top: var(--space-lg);
  border-top: 1px solid var(--border-light);
}

.about__cta-links {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: var(--space-md);
  margin-top: var(--space-lg) !important;
}

.about__cta-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.625rem 1.25rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  background: var(--accent);
  border-radius: 999px;
  text-decoration: none;
  transition: filter 0.15s ease;
}

.about__cta-btn:hover {
  filter: brightness(1.08);
  opacity: 1;
}

.about__cta-link {
  font-size: 0.875rem;
  font-weight: 500;
  color: var(--accent);
}

/* ── Print ── */

/* ── Search ── */

.search-toggle {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
  transition: var(--transition);
}

.search-toggle:hover,
.search-toggle[aria-expanded="true"] {
  color: var(--text);
  background: var(--surface-muted, rgba(0, 0, 0, 0.05));
}

[data-theme="dark"] .search-toggle:hover,
[data-theme="dark"] .search-toggle[aria-expanded="true"] {
  background: rgba(255, 255, 255, 0.08);
}

body.search-open {
  overflow: hidden;
  padding-right: var(--scroll-lock-gap, 0px);
}

.search-dialog {
  position: fixed;
  inset: 0;
  z-index: 200;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: calc(var(--header-height) + var(--space-md)) var(--space-md) var(--space-md);
  background: rgba(20, 20, 19, 0.45);
  backdrop-filter: blur(6px);
}

.search-dialog[hidden] {
  display: none !important;
}

.search-dialog__panel {
  width: min(640px, 100%);
  max-height: calc(100vh - var(--header-height) - var(--space-xl));
  overflow: auto;
  background: var(--bg);
  border: 1px solid var(--border);
  border-radius: 12px;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.18);
}

.search-dialog__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding: var(--space-md) var(--space-md) 0;
}

.search-dialog__title {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 1.25rem;
  font-weight: 400;
}

.search-dialog__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  cursor: pointer;
}

.search-dialog__close:hover {
  color: var(--text);
  background: var(--surface-muted, rgba(0, 0, 0, 0.05));
}

.search-dialog__form,
.search-page__form {
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-md);
}

.search-dialog__input,
.search-page__input {
  flex: 1;
  min-width: 0;
  padding: 0.75rem 1rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--bg);
  color: var(--text);
  font: inherit;
  font-size: 1rem;
}

.search-dialog__input:focus,
.search-page__input:focus {
  outline: 2px solid var(--text);
  outline-offset: 2px;
}

.search-dialog__submit,
.search-page__submit {
  flex-shrink: 0;
  padding: 0.75rem 1.25rem;
  border: none;
  border-radius: 999px;
  background: var(--text);
  color: var(--bg);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}

.search-dialog__hint {
  margin: 0;
  padding: 0 var(--space-md) var(--space-sm);
  font-size: 0.75rem;
  color: var(--text-muted);
}

.search-dialog__hint kbd {
  display: inline-block;
  margin: 0 0.15rem;
  padding: 0.1rem 0.35rem;
  border: 1px solid var(--border);
  border-radius: 4px;
  font: inherit;
  font-size: 0.6875rem;
}

.search-dialog__results {
  padding: 0 var(--space-md) var(--space-md);
}

.search-dialog__placeholder,
.search-dialog__more,
.search-count,
.search-empty {
  margin: 0;
  font-size: 0.875rem;
  color: var(--text-muted);
}

.search-dialog__more {
  padding-top: var(--space-sm);
}

.search-dialog__more a {
  color: var(--text);
  font-weight: 500;
}

#searchDialogSuggestions,
#searchPageSuggestions {
  display: block;
}

.search-dialog__suggestions {
  margin-top: var(--space-md);
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
}

.search-dialog__suggestions-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.search-dialog__chips {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.search-dialog__chip {
  appearance: none;
  border: 1px solid var(--border);
  background: color-mix(in srgb, var(--text) 4%, transparent);
  color: inherit;
  border-radius: 999px;
  padding: 0.4rem 0.85rem;
  font: inherit;
  font-size: 0.8125rem;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.search-dialog__chip:hover,
.search-dialog__chip:focus-visible {
  background: color-mix(in srgb, var(--accent) 12%, transparent);
  border-color: color-mix(in srgb, var(--accent) 35%, var(--border));
  outline: none;
}

.search-page__results .search-dialog__suggestions {
  margin-top: var(--space-lg);
}

.search-results {
  list-style: none;
  margin: 0;
  padding: 0;
}

.search-result__link {
  display: flex;
  gap: var(--space-sm);
  padding: var(--space-sm) 0;
  color: inherit;
  text-decoration: none;
  border-top: 1px solid var(--border);
}

.search-results > .search-result:first-child .search-result__link {
  border-top: none;
}

.search-result__link:hover .search-result__title {
  text-decoration: underline;
}

.search-result__thumb {
  flex-shrink: 0;
  width: 120px;
  height: 68px;
  object-fit: cover;
  border-radius: 6px;
  background: var(--border);
}

.search-result__body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  min-width: 0;
}

.search-result__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--text-muted);
}

.search-result__meta .card__engagement {
  margin-left: auto;
}

.search-result__title {
  font-family: var(--font-serif);
  font-size: 1rem;
  line-height: 1.3;
}

.search-result__deck {
  font-size: 0.8125rem;
  line-height: 1.45;
  color: var(--text-muted);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.search-result--page .search-result__link {
  border-left: 3px solid var(--accent);
}

.search-result__page-kind {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.search-hit {
  background: color-mix(in srgb, var(--text) 12%, transparent);
  color: inherit;
  padding: 0 0.1em;
  border-radius: 2px;
}

.search-page {
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  padding:
    var(--space-lg)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    var(--space-xl)
    max(var(--page-gutter), env(safe-area-inset-left, 0px));
}

.search-page__intro {
  margin-bottom: var(--space-xl);
}

.search-page__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 400;
  line-height: 1.1;
}

.search-page__subtitle {
  margin: 0 0 var(--space-lg);
  max-width: 38rem;
  color: var(--text-muted);
}

.search-page__form {
  padding: 0;
}

.search-page__input {
  border-radius: 12px;
}

.search-page__submit {
  border-radius: 12px;
}

.search-page__results {
  min-height: 12rem;
}

/* Footer fijo al fondo cuando hay pocos resultados (o ninguno) */
body[data-page="search"] {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

body[data-page="search"] #main.search-page {
  flex: 1 0 auto;
  display: flex;
  flex-direction: column;
}

body[data-page="search"] .search-page__results {
  flex: 1 1 auto;
  min-height: 0;
}

@media (max-width: 640px) {
  .search-dialog {
    padding-top: calc(var(--header-height) + var(--breaking-ticker-height) + env(safe-area-inset-top, 0px));
    align-items: stretch;
  }

  .search-dialog__panel {
    max-height: none;
    min-height: 100%;
    border-radius: 0;
    border-left: none;
    border-right: none;
  }

  .search-dialog__form,
  .search-page__form {
    flex-direction: column;
  }

  .search-result__link {
    flex-direction: column;
  }

  .search-result__thumb {
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
  }
}

/* ── Game countdown (Videojuegos) ── */

.home__countdown-mount {
  width: 100%;
  margin: 0 0 var(--space-xl);
}

.home__countdown-mount[hidden],
.article__countdown-mount:empty {
  display: none !important;
}

.article__countdown-mount {
  margin: 0 auto var(--space-xl);
  max-width: var(--max-width-wide);
  width: 100%;
  padding-inline: max(var(--page-gutter), env(safe-area-inset-left, 0px)) max(var(--page-gutter), env(safe-area-inset-right, 0px));
}

.game-countdown {
  border: 1px solid var(--border);
  border-radius: 14px;
  background:
    linear-gradient(135deg, color-mix(in srgb, #ff6b35 12%, var(--bg)) 0%, var(--bg) 55%),
    var(--bg);
  overflow: hidden;
}

.game-countdown--hero {
  position: relative;
  width: 100%;
  border: none;
  border-radius: 16px;
  min-height: clamp(220px, 32vw, 320px);
  background: #0f1419;
  isolation: isolate;
}

.game-countdown__bg {
  position: absolute;
  inset: 0;
  background-image: var(--game-countdown-bg);
  background-size: cover;
  background-position: center;
  transform: scale(1.02);
}

.game-countdown__bg::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(105deg, rgba(8, 10, 14, 0.92) 0%, rgba(8, 10, 14, 0.72) 42%, rgba(8, 10, 14, 0.38) 100%),
    linear-gradient(0deg, rgba(8, 10, 14, 0.55) 0%, transparent 55%);
}

.game-countdown--hero .game-countdown__inner {
  position: relative;
  z-index: 1;
  min-height: clamp(220px, 32vw, 320px);
  align-content: center;
}

.game-countdown--hero .game-countdown__eyebrow {
  color: rgba(255, 255, 255, 0.72);
}

.game-countdown--hero .game-countdown__title {
  color: #fff;
  font-size: clamp(1.5rem, 3.5vw, 2rem);
}

.game-countdown--hero .game-countdown__date {
  color: rgba(255, 255, 255, 0.78);
}

.game-countdown--hero .game-countdown__unit {
  border-color: rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.1);
  backdrop-filter: blur(8px);
}

.game-countdown--hero .game-countdown__value {
  color: #fff;
}

.game-countdown--hero .game-countdown__label-unit {
  color: rgba(255, 255, 255, 0.72);
}

.game-countdown--hero .game-countdown__link {
  background: #fff;
  color: #111;
}

.game-countdown--hero .game-countdown__link:hover {
  background: rgba(255, 255, 255, 0.9);
}

.game-countdown--hero .game-countdown__expired {
  color: #fff;
}

.game-countdown--apple {
  background: #000;
}

.game-countdown--apple.game-countdown--hero .game-countdown__bg::after {
  background:
    linear-gradient(105deg, rgba(0, 0, 0, 0.9) 0%, rgba(0, 0, 0, 0.72) 42%, rgba(0, 0, 0, 0.4) 100%),
    linear-gradient(0deg, rgba(0, 0, 0, 0.65) 0%, transparent 55%);
}

.game-countdown--apple .game-countdown__eyebrow {
  color: rgba(255, 255, 255, 0.62);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.6875rem;
}

.game-countdown--apple .game-countdown__link {
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

.game-countdown--apple .game-countdown__link:hover {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
}

.game-countdown--apple.game-countdown--hero .game-countdown__link {
  background: #fff;
  color: #111;
  border-color: transparent;
}

.game-countdown--apple.game-countdown--hero .game-countdown__link:hover {
  background: rgba(255, 255, 255, 0.92);
  color: #111;
}

.game-countdown--cuba {
  background: #14100c;
}

.game-countdown--cuba.game-countdown--hero .game-countdown__bg::after {
  background:
    linear-gradient(105deg, rgba(12, 8, 6, 0.92) 0%, rgba(12, 8, 6, 0.7) 42%, rgba(12, 8, 6, 0.38) 100%),
    linear-gradient(0deg, rgba(12, 8, 6, 0.62) 0%, transparent 55%);
}

.game-countdown--cuba .game-countdown__eyebrow {
  color: rgba(255, 236, 210, 0.72);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.6875rem;
}

.game-countdown--cuba.game-countdown--hero .game-countdown__title,
.game-countdown--cuba.game-countdown--hero .game-countdown__date,
.game-countdown--cuba.game-countdown--hero .game-countdown__value,
.game-countdown--cuba.game-countdown--hero .game-countdown__label-unit {
  color: #fff;
}

.game-countdown--cuba.game-countdown--hero .game-countdown__date {
  color: rgba(255, 236, 210, 0.82);
}

.game-countdown--cuba.game-countdown--hero .game-countdown__unit {
  border-color: rgba(255, 220, 170, 0.2);
  background: rgba(255, 220, 170, 0.1);
}

.game-countdown__inner {
  display: grid;
  gap: var(--space-md);
  padding: var(--space-md);
  align-items: center;
}

.game-countdown__eyebrow {
  margin: 0 0 0.25rem;
  font-size: 0.6875rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.game-countdown__title {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.15;
}

.game-countdown__date {
  margin: 0.35rem 0 0;
  font-size: 0.875rem;
  color: var(--text-muted);
}

.game-countdown--cuba .game-countdown__timer {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.game-countdown__timer {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--space-sm);
}

.game-countdown__unit {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 4.5rem;
  border: 1px solid var(--border);
  border-radius: 10px;
  background: color-mix(in srgb, var(--bg) 88%, #ff6b35 12%);
}

.game-countdown__value {
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 4vw, 2rem);
  line-height: 1;
}

.game-countdown__label-unit {
  margin-top: 0.35rem;
  font-size: 0.6875rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.game-countdown__link {
  justify-self: start;
  padding: 0.65rem 1rem;
  border-radius: 999px;
  background: var(--text);
  color: var(--bg);
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none;
}

.game-countdown__expired {
  margin: 0;
  font-size: 0.9375rem;
  color: var(--text);
}

.game-countdown--compact .game-countdown__inner {
  padding: var(--space-md) var(--space-lg);
}

@media (min-width: 720px) {
  .game-countdown__inner {
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1.5fr) auto;
    padding: var(--space-lg);
  }

  .game-countdown--hero .game-countdown__inner {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1.35fr) auto;
    padding: var(--space-xl);
  }

  .game-countdown--compact .game-countdown__inner {
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr);
  }

  .game-countdown__link {
    align-self: center;
  }
}

@media (max-width: 719px) {
  .game-countdown__timer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .game-countdown--cuba .game-countdown__timer {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* ── Layout fluido: pantallas grandes y móvil estrecho ── */

@media (min-width: 1200px) {
  :root {
    --layout-sidebar: 240px;
  }

  .article__header,
  .article__content {
    max-width: min(44rem, 100%);
  }

  .home__intro {
    max-width: min(44rem, 100%);
  }
}

@media (min-width: 900px) {
  .related-articles__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 639px) {
  .article__title {
    font-size: clamp(1.625rem, 7vw, 2rem);
  }

  .article__meta {
    gap: var(--space-xs) var(--space-sm);
  }

  .card__content,
  .card__content-footer {
    padding-inline: var(--space-md);
  }

  .price-table,
  .event-schedule,
  .prompt-recipe,
  .reader-poll,
  .key-facts {
    margin-inline: 0;
  }
}

/* ── Editorial calendar ── */

.calendar-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  background: var(--bg-elevated);
  color: var(--text-secondary);
  text-decoration: none;
  transition: color 0.15s ease, border-color 0.15s ease, background 0.15s ease;
}

.calendar-toggle:hover,
.calendar-toggle:focus-visible {
  color: var(--text);
  border-color: var(--border);
  background: var(--bg);
}

.calendar-toggle--active {
  color: var(--text);
  border-color: var(--accent);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--accent) 35%, transparent);
}

.calendar-page {
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  padding:
    var(--space-lg)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    var(--space-2xl)
    max(var(--page-gutter), env(safe-area-inset-left, 0px));
}

.calendar-page__intro {
  margin-bottom: var(--space-xl);
}

.calendar-page__title {
  font-family: var(--font-serif);
  font-size: clamp(2rem, 5vw, 2.75rem);
  font-weight: 400;
  line-height: 1.1;
  margin: 0 0 var(--space-sm);
}

.calendar-page__subtitle {
  margin: 0;
  color: var(--text-secondary);
  font-size: 1.0625rem;
  line-height: 1.55;
  max-width: 42rem;
}

.calendar-panel {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.calendar-view-toggle {
  display: inline-flex;
  flex-wrap: wrap;
  align-self: flex-start;
  gap: 0.25rem;
  padding: 0.25rem;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  background: var(--bg-elevated);
  max-width: 100%;
}

.calendar-view-toggle__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.45rem 0.85rem;
  border: 0;
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}

.calendar-view-toggle__btn:hover {
  color: var(--text);
}

.calendar-view-toggle__btn--active {
  background: var(--bg);
  color: var(--text);
  box-shadow: inset 0 0 0 1px var(--border-light);
}

.calendar-list {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.calendar-list__group {
  display: grid;
  gap: var(--space-md);
  padding-bottom: var(--space-lg);
  border-bottom: 1px solid var(--border-light);
}

.calendar-list__group:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.calendar-list__date {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.calendar-list__date time {
  font-style: normal;
}

.calendar-event {
  border: 1px solid var(--border-light);
  border-radius: 14px;
  background: var(--bg-elevated);
  border-left: 4px solid var(--border);
}

.calendar-event:not(.calendar-event--has-media) {
  padding: var(--space-md);
}

.calendar-event--has-media {
  display: grid;
  grid-template-columns: clamp(7.5rem, 34%, 14rem) minmax(0, 1fr);
  gap: 0;
  padding: 0;
  overflow: hidden;
  align-items: stretch;
  min-height: 10.5rem;
}

.calendar-event__media {
  position: relative;
  min-height: 100%;
  overflow: hidden;
  background: color-mix(in srgb, var(--text) 6%, var(--bg-elevated));
}

.calendar-event__media img {
  width: 100%;
  height: 100%;
  min-height: 10.5rem;
  object-fit: cover;
  object-position: center;
  display: block;
}

.calendar-event__media::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.12) 0%,
    transparent 34%,
    color-mix(in srgb, var(--bg-elevated) 45%, transparent) 68%,
    var(--bg-elevated) 100%
  );
  pointer-events: none;
}

.calendar-event__body {
  position: relative;
  z-index: 1;
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.calendar-event--rockstar {
  border-left-color: #f5a623;
}

.calendar-event--rockstar.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(245, 166, 35, 0.18) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--apple {
  border-left-color: #86868b;
}

.calendar-event--apple.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.22) 0%,
    transparent 34%,
    color-mix(in srgb, var(--bg-elevated) 48%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 0.75rem;
  margin-bottom: 0.35rem;
}

.calendar-event__badge {
  display: inline-flex;
  padding: 0.15rem 0.55rem;
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 12%, var(--bg));
  color: var(--text);
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.calendar-event__eyebrow {
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.calendar-event__title {
  margin: 0 0 0.35rem;
  font-family: var(--font-serif);
  font-size: 1.35rem;
  font-weight: 400;
  line-height: 1.25;
}

.calendar-event__date {
  margin: 0 0 var(--space-sm);
  color: var(--text-secondary);
  font-size: 0.9375rem;
}

.calendar-event__credit {
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--text-muted);
}

.calendar-event__credit cite {
  font-style: normal;
}

.calendar-event__credit a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.12em;
}

.calendar-event__credit a:hover {
  color: var(--text-secondary);
}

.calendar-event__link {
  display: inline-flex;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.calendar-event__link:hover {
  text-decoration: underline;
}

.calendar-event--compact:not(.calendar-event--has-media) {
  padding: var(--space-sm) var(--space-md);
}

.calendar-event--compact.calendar-event--has-media {
  grid-template-columns: clamp(5.5rem, 30%, 8rem) minmax(0, 1fr);
  min-height: 8rem;
}

.calendar-event--compact.calendar-event--has-media .calendar-event__media img {
  min-height: 8rem;
}

.calendar-event--compact .calendar-event__body {
  padding: var(--space-sm) var(--space-md);
}

.calendar-event--compact .calendar-event__title {
  font-size: 1.125rem;
}

@media (max-width: 640px) {
  .calendar-event--has-media {
    grid-template-columns: clamp(6.5rem, 38%, 9.5rem) minmax(0, 1fr);
    min-height: 9.5rem;
  }

  .calendar-event--has-media .calendar-event__media img {
    min-height: 9.5rem;
  }
}

.calendar-grid-wrap {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
}

.calendar-grid__nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
}

.calendar-grid__nav-center {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.35rem;
  text-align: center;
}

.calendar-grid__heading {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  text-transform: capitalize;
}

.calendar-grid__today-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 1.75rem;
  padding: 0.2rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border-light));
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 8%, var(--bg-elevated));
  color: var(--accent);
  font: inherit;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
}

.calendar-grid__today-btn:hover,
.calendar-grid__today-btn:focus-visible {
  border-color: var(--accent);
  outline: none;
}

.calendar-grid__nav-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  background: var(--bg-elevated);
  color: var(--text);
  cursor: pointer;
}

.calendar-grid__nav-btn:hover {
  border-color: var(--border);
}

.calendar-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 0.35rem;
}

.calendar-grid__weekday {
  padding: 0.35rem 0;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.calendar-grid__day {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  min-height: 3.25rem;
  padding: 0.45rem 0.25rem 0.35rem;
  border: 1px solid transparent;
  border-radius: 10px;
  background: var(--bg-elevated);
  color: var(--text);
  cursor: pointer;
  font: inherit;
}

.calendar-grid__day:hover {
  border-color: var(--border-light);
}

.calendar-grid__day--muted {
  opacity: 0.45;
}

.calendar-grid__day--today {
  box-shadow: inset 0 0 0 1px var(--accent);
}

.calendar-grid__day--selected {
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 8%, var(--bg-elevated));
}

.calendar-grid__day--today.calendar-grid__day--selected {
  box-shadow: inset 0 0 0 2px var(--accent);
  border-color: var(--accent);
  background: color-mix(in srgb, var(--accent) 12%, var(--bg-elevated));
}

.calendar-grid__day-num {
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.calendar-grid__dots {
  display: flex;
  gap: 0.2rem;
  margin-top: 0.35rem;
}

.calendar-grid__dot {
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 999px;
  background: var(--text-muted);
}

.calendar-grid__dot--rockstar {
  background: #f5a623;
}

.calendar-grid__dot--apple {
  background: #86868b;
}

.calendar-grid__dot--worldcup {
  background: #2d8a4e;
}

.calendar-grid__dot--oscars {
  background: #c9a227;
}

.calendar-grid__dot--grammy {
  background: #4a90d9;
}

.calendar-grid__dot--latin {
  background: #e85d4c;
}

.calendar-grid__dot--awards {
  background: #9b59b6;
}

.calendar-grid__dot--cannes {
  background: #1a1a2e;
}

.calendar-grid__dot--emmys {
  background: #d4af37;
}

.calendar-grid__dot--ballon {
  background: #c8922a;
}

.calendar-event--worldcup {
  border-left-color: #2d8a4e;
}

.calendar-event--oscars {
  border-left-color: #c9a227;
}

.calendar-event--grammy {
  border-left-color: #4a90d9;
}

.calendar-event--latin {
  border-left-color: #e85d4c;
}

.calendar-event--awards {
  border-left-color: #9b59b6;
}

.calendar-event--cannes {
  border-left-color: #1a1a2e;
}

.calendar-event--emmys {
  border-left-color: #d4af37;
}

.calendar-event--ballon {
  border-left-color: #c8922a;
}

.calendar-event--gcx {
  border-left-color: #7c3aed;
}

.calendar-grid__dot--gcx {
  background: #7c3aed;
}

.calendar-event--gcx.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(124, 58, 237, 0.22) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--venezuela {
  border-left-color: #cf142b;
}

.calendar-event--mothers-day {
  border-left-color: #d81b60;
}

.calendar-event--womens-day {
  border-left-color: #9b2c8f;
}

.calendar-event--earth-day {
  border-left-color: #2e7d32;
}

.calendar-grid__dot--venezuela {
  background: #cf142b;
}

.calendar-grid__dot--mothers-day {
  background: #d81b60;
}

.calendar-grid__dot--womens-day {
  background: #9b2c8f;
}

.calendar-grid__dot--earth-day {
  background: #2e7d32;
}

.calendar-event--venezuela.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(207, 20, 43, 0.22) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--mothers-day.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(216, 27, 96, 0.2) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--womens-day.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(155, 44, 143, 0.2) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--earth-day.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(46, 125, 50, 0.22) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--fathers-day {
  border-left-color: #3d6b9e;
}

.calendar-event--usa {
  border-left-color: #b22234;
}

.calendar-grid__dot--fathers-day {
  background: #3d6b9e;
}

.calendar-grid__dot--usa {
  background: #b22234;
}

.calendar-event--fathers-day.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(30, 58, 95, 0.22) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--usa.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(178, 34, 52, 0.22) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-event--worldcup.calendar-event--has-media .calendar-event__media::after {
  background: linear-gradient(
    90deg,
    rgba(45, 138, 78, 0.2) 0%,
    transparent 32%,
    color-mix(in srgb, var(--bg-elevated) 50%, transparent) 70%,
    var(--bg-elevated) 100%
  );
}

.calendar-day-detail {
  padding: var(--space-md);
  border: 1px solid var(--border-light);
  border-radius: 14px;
  background: var(--bg);
}

.calendar-day-detail__title {
  margin: 0 0 var(--space-md);
  font-size: 1rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.calendar-day-detail__hint,
.calendar-day-detail__empty,
.calendar-empty {
  margin: 0;
  color: var(--text-muted);
  line-height: 1.5;
}

@media (max-width: 640px) {
  .calendar-view-toggle__btn span {
    display: none;
  }

  .calendar-grid__day {
    min-height: 2.75rem;
    padding-top: 0.35rem;
  }
}

@media print {
  .site-header,
  .progress-bar,
  .menu-toggle,
  .theme-toggle,
  .search-toggle,
  .calendar-toggle,
  .search-dialog,
  .game-countdown,
  .breadcrumb,
  .changelog-overlay,
  .video-block__embed {
    display: none;
  }

  .article {
    padding: 0;
  }

  a[href]::after {
    content: ' (' attr(href) ')';
    font-size: 0.75rem;
  }
}

/* ── Modo diapositiva (noticias de la semana) ── */

body.news-slideshow-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  padding-right: var(--scroll-lock-gap, 0px);
}

.news-slideshow-tab {
  position: fixed;
  left: 0;
  top: calc(50% + 1.05rem);
  z-index: 309;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.28rem;
  width: auto;
  min-width: 1.625rem;
  max-width: 1.5rem;
  margin: 0;
  padding: 0.5rem 0.3125rem;
  border: none;
  border-radius: 0 0.625rem 0.625rem 0;
  background: linear-gradient(
    180deg,
    rgba(45, 74, 62, 0.92) 0%,
    rgba(62, 96, 78, 0.78) 100%
  );
  box-shadow:
    0 0 0 1px rgba(45, 74, 62, 0.2),
    0 4px 14px rgba(45, 74, 62, 0.22);
  color: rgba(255, 255, 255, 0.96);
  cursor: pointer;
  touch-action: manipulation;
  transition:
    box-shadow 0.25s ease,
    filter 0.25s ease,
    opacity 0.35s ease,
    transform 0.35s ease;
}

.news-slideshow-tab[hidden] {
  display: none !important;
}

.news-slideshow-tab:not([hidden]) {
  animation: slideshow-tab-in 0.35s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes slideshow-tab-in {
  from {
    opacity: 0;
    transform: translate3d(-0.35rem, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.news-slideshow-tab:hover,
.news-slideshow-tab:focus-visible {
  outline: none;
  filter: brightness(1.06);
  box-shadow:
    0 0 0 1px rgba(45, 74, 62, 0.28),
    0 6px 18px rgba(45, 74, 62, 0.28);
}

.news-slideshow-tab__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

.news-slideshow-tab__label {
  font-size: 0.5625rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  writing-mode: vertical-lr;
  text-orientation: mixed;
  line-height: 1;
}

[data-theme="dark"] .news-slideshow-tab {
  background: linear-gradient(
    180deg,
    rgba(126, 184, 154, 0.88) 0%,
    rgba(91, 164, 201, 0.62) 100%
  );
  box-shadow:
    0 0 0 1px rgba(126, 184, 154, 0.2),
    0 4px 14px rgba(0, 0, 0, 0.24);
}

.news-slideshow-intro {
  position: fixed;
  inset: 0;
  z-index: 340;
  display: flex;
  align-items: stretch;
  justify-content: flex-start;
  background: transparent;
  animation: daily-overlay-in 0.38s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.news-slideshow-intro[hidden] {
  display: none !important;
}

.news-slideshow-intro__panel {
  --slideshow-intro-width: min(24rem, 92vw);
  position: relative;
  width: var(--slideshow-intro-width);
  max-width: none;
  height: 100dvh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: var(--bg);
  box-shadow:
    1px 0 0 rgba(45, 74, 62, 0.12),
    8px 0 32px rgba(0, 0, 0, 0.12);
  overflow: hidden;
}

.news-slideshow-intro__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background:
    var(--daily-wash-image) center bottom / cover no-repeat,
    radial-gradient(ellipse 140% 100% at 50% 100%, rgba(45, 74, 62, 0.22) 0%, rgba(91, 164, 201, 0.12) 50%, transparent 82%);
  opacity: 0.85;
}

.news-slideshow-intro__panel::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 0;
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    var(--bg) 22%,
    color-mix(in srgb, var(--bg) 94%, rgba(45, 74, 62, 0.06)) 38%,
    color-mix(in srgb, var(--bg) 72%, rgba(91, 164, 201, 0.1)) 54%,
    color-mix(in srgb, var(--bg) 38%, transparent) 72%,
    transparent 100%
  );
}

[data-theme="dark"] .news-slideshow-intro__panel::before {
  opacity: 0.72;
  background:
    var(--daily-wash-image) center bottom / cover no-repeat,
    radial-gradient(ellipse 140% 100% at 50% 100%, rgba(91, 164, 201, 0.18) 0%, rgba(126, 184, 154, 0.1) 50%, transparent 82%);
}

[data-theme="dark"] .news-slideshow-intro__panel::after {
  background: linear-gradient(
    180deg,
    var(--bg) 0%,
    var(--bg) 32%,
    color-mix(in srgb, var(--bg) 94%, rgba(91, 164, 201, 0.08)) 48%,
    color-mix(in srgb, var(--bg) 88%, rgba(142, 202, 230, 0.1)) 64%,
    color-mix(in srgb, var(--bg) 82%, rgba(91, 164, 201, 0.06)) 82%,
    var(--bg) 100%
  );
}

[data-theme="dark"] .news-slideshow-intro__panel {
  box-shadow:
    1px 0 0 rgba(126, 184, 154, 0.12),
    8px 0 32px rgba(0, 0, 0, 0.35);
}

[data-theme="dark"] .news-slideshow-intro__start {
  color: #141413;
}

.news-slideshow-intro__close {
  position: absolute;
  top: max(var(--space-sm), env(safe-area-inset-top, 0px));
  right: var(--space-sm);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: none;
  border-radius: 999px;
  background: color-mix(in srgb, var(--bg) 82%, transparent);
  color: var(--text-muted);
  cursor: pointer;
}

.news-slideshow-intro__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  height: 100%;
  padding:
    calc(var(--space-xl) + env(safe-area-inset-top, 0px))
    max(var(--space-lg), env(safe-area-inset-right, 0px))
    calc(var(--space-xl) + env(safe-area-inset-bottom, 0px))
    max(var(--space-lg), env(safe-area-inset-left, 0px));
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.news-slideshow-intro__eyebrow {
  margin: 0 0 var(--space-xs);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--accent);
}

.news-slideshow-intro__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 5vw, 2.25rem);
  font-weight: 400;
  line-height: 1.12;
}

.news-slideshow-intro__lead {
  margin: 0;
  color: var(--text-secondary);
  line-height: 1.55;
}

.news-slideshow-intro__count {
  margin: var(--space-md) 0 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--text);
}

.news-slideshow-intro__shuffle {
  margin: var(--space-xs) 0 0;
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.news-slideshow-intro__how-title {
  margin: 0 0 var(--space-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.news-slideshow-intro__steps {
  margin: 0;
  padding-left: 1.15rem;
  color: var(--text-secondary);
}

.news-slideshow-intro__steps li + li {
  margin-top: var(--space-sm);
}

.news-slideshow-intro__actions {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  margin-top: auto;
  padding-top: var(--space-md);
}

.news-slideshow-intro__start {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.8rem 1.25rem;
  border: none;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font: inherit;
  font-size: 0.9375rem;
  font-weight: 600;
  cursor: pointer;
}

.news-slideshow-intro__cancel {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.65rem 1rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: transparent;
  color: var(--text-muted);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 500;
  cursor: pointer;
}

.news-slideshow-player {
  position: fixed;
  inset: 0;
  z-index: 340;
  display: flex;
  flex-direction: column;
  background: #0a0a09;
  color: #f7f6f3;
}

.news-slideshow-player[hidden] {
  display: none !important;
}

.news-slideshow-player__timer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 4;
  height: 3px;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
}

.news-slideshow-player__timer-bar {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(126, 184, 154, 0.95), rgba(255, 255, 255, 0.92));
}

.news-slideshow-player__chrome {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-sm);
  padding:
    max(var(--space-sm), env(safe-area-inset-top, 0px))
    max(var(--space-md), env(safe-area-inset-right, 0px))
    var(--space-sm)
    max(var(--space-md), env(safe-area-inset-left, 0px));
  pointer-events: none;
}

.news-slideshow-player__toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-shrink: 0;
  margin-left: auto;
  pointer-events: auto;
}

.news-slideshow-player__brand {
  margin: 0;
  min-width: 0;
  flex: 1 1 auto;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-family: var(--font-serif);
  font-size: 0.9375rem;
  font-weight: 400;
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  color: rgba(255, 255, 255, 0.94);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
  pointer-events: none;
}

.news-slideshow-player__progress,
.news-slideshow-player__cast,
.news-slideshow-player__pause,
.news-slideshow-player__close {
  pointer-events: auto;
  transition: opacity 0.35s ease;
}

.news-slideshow-player__progress {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
  white-space: nowrap;
}

.news-slideshow-player__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.news-slideshow-player__cast {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.news-slideshow-player__cast[hidden] {
  display: none !important;
}

.news-slideshow-player__cast.is-active {
  background: rgba(126, 184, 154, 0.42);
  box-shadow: 0 0 0 1px rgba(126, 184, 154, 0.65);
}

.news-slideshow-player__cast:hover,
.news-slideshow-player__cast:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.news-slideshow-player__pause {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.news-slideshow-player__pause:hover,
.news-slideshow-player__pause:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.news-slideshow-player.is-paused .news-slideshow-player__pause {
  background: rgba(126, 184, 154, 0.42);
  box-shadow: 0 0 0 1px rgba(126, 184, 154, 0.65);
}

.news-slideshow-player__airplay-hint {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding:
    var(--space-lg)
    max(var(--space-md), env(safe-area-inset-right, 0px))
    max(var(--space-lg), env(safe-area-inset-bottom, 0px))
    max(var(--space-md), env(safe-area-inset-left, 0px));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.62));
  pointer-events: auto;
}

.news-slideshow-player__airplay-hint[hidden] {
  display: none !important;
}

.news-slideshow-player__airplay-panel {
  width: min(28rem, 100%);
  padding: var(--space-md) var(--space-lg);
  border-radius: 1rem;
  background: rgba(18, 18, 17, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
}

.news-slideshow-player__airplay-title {
  margin: 0 0 var(--space-xs);
  font-family: var(--font-serif);
  font-size: 1.125rem;
  color: #fff;
}

.news-slideshow-player__airplay-text {
  margin: 0 0 var(--space-md);
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.news-slideshow-player__airplay-dismiss {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0 1rem;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #111;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}

.news-slideshow-player.is-ui-idle .news-slideshow-player__progress,
.news-slideshow-player.is-ui-idle .news-slideshow-player__cast,
.news-slideshow-player.is-ui-idle .news-slideshow-player__pause,
.news-slideshow-player.is-ui-idle .news-slideshow-player__close,
.news-slideshow-player.is-ui-idle .news-slideshow-player__nav {
  opacity: 0;
  pointer-events: none;
}

.news-slideshow-player__stage {
  position: relative;
  flex: 1;
  min-height: 0;
  outline: none;
}

.news-slideshow-slide {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

.news-slideshow-slide.is-entering {
  animation: slideshow-slide-in 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@keyframes slideshow-slide-in {
  from {
    opacity: 0;
    transform: translate3d(0, 1.25rem, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.news-slideshow-slide__media {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.02);
}

.news-slideshow-slide__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.18) 0%, rgba(0, 0, 0, 0.08) 28%, rgba(0, 0, 0, 0.72) 72%, rgba(0, 0, 0, 0.92) 100%);
}

.news-slideshow-slide__content {
  position: relative;
  z-index: 1;
  max-width: 42rem;
  padding:
    var(--space-lg)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    calc(var(--space-xl) + env(safe-area-inset-bottom, 0px))
    max(var(--page-gutter), env(safe-area-inset-left, 0px));
}

.news-slideshow-slide__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  margin-bottom: var(--space-sm);
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.news-slideshow-slide__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 5.5vw, 2.75rem);
  font-weight: 400;
  line-height: 1.08;
  color: #fff;
}

.news-slideshow-slide__deck {
  margin: 0 0 var(--space-lg);
  font-size: clamp(0.9375rem, 2.5vw, 1.0625rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.news-slideshow-slide__read {
  display: inline-flex;
  align-items: center;
  padding: 0.7rem 1.2rem;
  border-radius: 999px;
  background: #fff;
  color: #1c1c1a;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
}

.news-slideshow-slide__read:hover {
  opacity: 1;
  filter: brightness(0.96);
}

.news-slideshow-player__nav {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.news-slideshow-player__arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  width: 3rem;
  height: 3rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.32);
  color: #fff;
  cursor: pointer;
  pointer-events: auto;
  backdrop-filter: blur(8px);
  transition: opacity 0.35s ease;
}

.news-slideshow-player__arrow--prev {
  left: max(var(--space-sm), env(safe-area-inset-left, 0px));
}

.news-slideshow-player__arrow--next {
  right: max(var(--space-sm), env(safe-area-inset-right, 0px));
}

@media (max-width: 640px) {
  html.presentation-mobile-active,
  html.news-slideshow-open,
  html.article-slideshow-open,
  body.news-slideshow-open,
  body.article-slideshow-open {
    overflow: hidden;
    height: 100%;
    overscroll-behavior: none;
  }

  body.news-slideshow-open .site-header,
  body.news-slideshow-open .breaking-ticker,
  body.news-slideshow-open .progress-bar,
  body.news-slideshow-open .news-slideshow-tab,
  body.news-slideshow-open .home__daily-mount,
  body.article-slideshow-open .site-header,
  body.article-slideshow-open .breaking-ticker,
  body.article-slideshow-open .progress-bar,
  body.article-slideshow-open .home__daily-mount {
    visibility: hidden !important;
    pointer-events: none !important;
  }

  .news-slideshow-intro {
    background: var(--bg);
  }

  .news-slideshow-intro__panel {
    --slideshow-intro-width: 100%;
    width: 100%;
    max-width: none;
  }

  .news-slideshow-player,
  .article-slideshow-player {
    inset: 0;
    width: 100%;
    max-width: 100vw;
    height: 100dvh;
    min-height: 100dvh;
    min-height: -webkit-fill-available;
    max-height: 100dvh;
  }

  .news-slideshow-player__arrow {
    width: 2.5rem;
    height: 2.5rem;
  }

  .news-slideshow-slide__deck {
    -webkit-line-clamp: 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .news-slideshow-intro,
  .news-slideshow-slide.is-entering,
  .news-slideshow-tab:not([hidden]) {
    animation: none;
  }
}

.cast-slideshow-body {
  margin: 0;
  background: #0a0a09;
}

.cast-slideshow-receiver {
  position: fixed;
  inset: 0;
  display: flex;
  flex-direction: column;
}

.cast-slideshow-receiver .news-slideshow-player__chrome {
  pointer-events: none;
}

.cast-slideshow-receiver__waiting {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 100%;
  padding: var(--space-xl);
  text-align: center;
}

.cast-slideshow-receiver__waiting-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  color: rgba(255, 255, 255, 0.94);
}

.cast-slideshow-receiver__waiting-text {
  margin: 0;
  max-width: 24rem;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.72);
}

/* ── Article slideshow (per-noticia) ── */

body.article-slideshow-open {
  overflow: hidden;
  position: fixed;
  width: 100%;
  padding-right: var(--scroll-lock-gap, 0px);
}

body.article-slideshow-open::before {
  content: none;
}

.article-slideshow-mount:empty {
  display: none;
}

.article-slideshow-trigger {
  display: flex;
  align-items: center;
}

.article-slideshow-trigger__btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  min-height: 2.25rem;
  padding: 0.35rem 0.7rem;
  border: 1px solid var(--border-light);
  border-radius: 999px;
  background: var(--surface-elevated);
  color: var(--text-primary);
  font: inherit;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease, color 0.2s ease;
}

.article-slideshow-trigger__btn:hover,
.article-slideshow-trigger__btn:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--surface);
}

.article-slideshow-trigger__label {
  white-space: nowrap;
}

.article__toolbar-stats .article-slideshow-trigger__btn {
  min-height: 1.9rem;
  padding: 0.25rem 0.55rem;
}

.article-slideshow-player {
  position: fixed;
  inset: 0;
  z-index: 345;
  display: flex;
  flex-direction: column;
  background: #0a0a09;
  color: #f7f6f3;
  --article-slideshow-pad-inline: max(var(--space-lg), env(safe-area-inset-right, 0px), env(safe-area-inset-left, 0px));
  --article-slideshow-pad-top: max(4.5rem, calc(env(safe-area-inset-top, 0px) + 3.5rem));
  --article-slideshow-pad-bottom: max(5rem, calc(env(safe-area-inset-bottom, 0px) + 4rem));
}

.article-slideshow-player[hidden] {
  display: none !important;
}

.article-slideshow-player__timer {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 4;
  height: 3px;
  background: rgba(255, 255, 255, 0.14);
  pointer-events: none;
}

.article-slideshow-player__timer-bar {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(126, 184, 154, 0.95), rgba(255, 255, 255, 0.92));
}

.article-slideshow-player__chrome {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  z-index: 3;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: var(--space-sm);
  padding:
    max(var(--space-sm), env(safe-area-inset-top, 0px))
    max(var(--space-md), env(safe-area-inset-right, 0px))
    var(--space-sm)
    max(var(--space-md), env(safe-area-inset-left, 0px));
  pointer-events: none;
}

.article-slideshow-player__toolbar {
  display: flex;
  align-items: center;
  gap: var(--space-sm);
  flex-shrink: 0;
  margin-left: auto;
  padding-top: 0.1rem;
  pointer-events: auto;
}

.article-slideshow-player__brand,
.article-slideshow-player__section,
.article-slideshow-player__progress,
.article-slideshow-player__read-aloud,
.article-slideshow-player__cast,
.article-slideshow-player__pause,
.article-slideshow-player__close {
  pointer-events: auto;
  transition: opacity 0.35s ease;
}

.article-slideshow-player__heading {
  display: block;
  min-width: 0;
  flex: 1 1 auto;
  overflow: visible;
  line-height: 1.38;
  pointer-events: auto;
}

.article-slideshow-player__brand {
  margin: 0;
  display: inline;
  white-space: nowrap;
  font-family: var(--font-serif);
  font-size: 0.9375rem;
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  color: rgba(255, 255, 255, 0.94);
}

.article-slideshow-player__section {
  margin: 0;
  display: inline;
  white-space: normal;
  overflow: visible;
  font-size: 0.8125rem;
  font-weight: 500;
  letter-spacing: 0.03em;
  color: rgba(255, 255, 255, 0.72);
}

.article-slideshow-player__section::before {
  content: "·";
  margin: 0 0.55rem;
  color: rgba(126, 184, 154, 0.9);
  font-weight: 600;
}

.article-slideshow-player__section[hidden] {
  display: none;
}

.article-slideshow-player__progress {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
  white-space: nowrap;
}

.article-slideshow-player__cast {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.article-slideshow-player__cast[hidden] {
  display: none !important;
}

.article-slideshow-player__cast.is-active {
  background: rgba(126, 184, 154, 0.42);
  box-shadow: 0 0 0 1px rgba(126, 184, 154, 0.65);
}

.article-slideshow-player__cast:hover,
.article-slideshow-player__cast:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.article-slideshow-player__close {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.article-slideshow-player__read-aloud {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.article-slideshow-player__read-aloud.is-active {
  background: rgba(126, 184, 154, 0.42);
  box-shadow: 0 0 0 1px rgba(126, 184, 154, 0.65);
}

.article-slideshow-player__read-aloud[hidden] {
  display: none !important;
}

.article-slideshow-player__pause {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
}

.article-slideshow-player__airplay-hint {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding:
    var(--space-lg)
    max(var(--space-md), env(safe-area-inset-right, 0px))
    max(var(--space-lg), env(safe-area-inset-bottom, 0px))
    max(var(--space-md), env(safe-area-inset-left, 0px));
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.08), rgba(0, 0, 0, 0.62));
  pointer-events: auto;
}

.article-slideshow-player__airplay-hint[hidden] {
  display: none !important;
}

.article-slideshow-player__airplay-panel {
  width: min(28rem, 100%);
  padding: var(--space-md) var(--space-lg);
  border-radius: 1rem;
  background: rgba(18, 18, 17, 0.94);
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
}

.article-slideshow-player__airplay-title {
  margin: 0 0 var(--space-xs);
  font-family: var(--font-serif);
  font-size: 1.125rem;
  color: #fff;
}

.article-slideshow-player__airplay-text {
  margin: 0 0 var(--space-md);
  font-size: 0.9375rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.82);
}

.article-slideshow-player__airplay-dismiss {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.5rem;
  padding: 0 1rem;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.94);
  color: #111;
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
}

.cast-slideshow-slide--article {
  position: absolute;
  inset: 0;
}

.cast-slideshow-slide--article .article-slideshow-slide {
  position: absolute;
  inset: 0;
}

.article-slideshow-player__read-aloud:hover,
.article-slideshow-player__read-aloud:focus-visible,
.article-slideshow-player__pause:hover,
.article-slideshow-player__pause:focus-visible,
.article-slideshow-player__close:hover,
.article-slideshow-player__close:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.article-slideshow-player.is-paused .article-slideshow-player__pause {
  background: rgba(126, 184, 154, 0.42);
  box-shadow: 0 0 0 1px rgba(126, 184, 154, 0.65);
}

.article-slideshow-player__stage {
  position: relative;
  flex: 1;
  min-height: 0;
  outline: none;
}

.article-slideshow-player__slide {
  position: absolute;
  inset: 0;
  overflow: hidden;
}

.article-slideshow-player__slide.is-entering {
  animation: slideshow-slide-in 0.42s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.article-slideshow-slide {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  padding:
    var(--article-slideshow-pad-top)
    var(--article-slideshow-pad-inline)
    var(--article-slideshow-pad-bottom)
    var(--article-slideshow-pad-inline);
  box-sizing: border-box;
}

.article-slideshow-slide--has-hero {
  position: relative;
  overflow: hidden;
}

.article-slideshow-slide__bg--muted {
  opacity: 0.22;
  transform: scale(1.1);
  filter: saturate(0.35) blur(5px) brightness(0.58);
}

.article-slideshow-slide__scrim--subtle {
  background:
    linear-gradient(
      180deg,
      rgba(10, 10, 9, 0.86) 0%,
      rgba(10, 10, 9, 0.84) 45%,
      rgba(10, 10, 9, 0.9) 100%
    );
}

.article-slideshow-slide--cover .article-slideshow-slide__bg {
  opacity: 1;
  transform: scale(1.03);
  filter: none;
}

.article-slideshow-slide__bg {
  position: absolute;
  inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform: scale(1.03);
}

.article-slideshow-slide__scrim {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.2) 0%, rgba(0, 0, 0, 0.12) 30%, rgba(0, 0, 0, 0.78) 72%, rgba(0, 0, 0, 0.94) 100%);
}

.article-slideshow-slide__panel {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  flex: 0 1 auto;
  width: min(52rem, 100%);
  max-height: 100%;
  min-height: 0;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.22) transparent;
}

.article-slideshow-slide__panel--center {
  text-align: center;
  margin-inline: auto;
  justify-content: center;
}

.article-slideshow-slide__panel--media {
  width: min(72rem, 100%);
}

.article-slideshow-slide__fit {
  width: 100%;
}

.article-slideshow-slide__fit .article-slideshow-slide__meta {
  font-size: 0.72em;
}

.article-slideshow-slide__fit .article-slideshow-slide__headline {
  font-size: 2em;
  line-height: 1.1;
}

.article-slideshow-slide--cover .article-slideshow-slide__fit .article-slideshow-slide__meta {
  font-size: 0.75rem;
}

.article-slideshow-slide--cover .article-slideshow-slide__fit .article-slideshow-slide__headline {
  font-size: clamp(1.75rem, 4.8vw, 3.25rem);
  line-height: 1.08;
  margin-bottom: 0;
}

.article-slideshow-slide--cover .article-slideshow-slide__panel.is-fit-complete:not(.is-scrollable) {
  justify-content: flex-end;
}

.article-slideshow-slide__fit .article-slideshow-slide__deck {
  font-size: 1.05em;
  line-height: 1.55;
}

.article-slideshow-slide__fit .article-slideshow-slide__eyebrow {
  font-size: 0.72em;
}

.article-slideshow-slide__fit .article-slideshow-slide__section-title {
  font-size: 1.85em;
  line-height: 1.12;
}

.article-slideshow-slide__fit .article-slideshow-slide__section-title--sm {
  font-size: 1.35em;
}

.article-slideshow-slide__fit .article-slideshow-slide__body {
  font-size: 1.05em;
  line-height: 1.62;
}

.article-slideshow-slide__fit .article-slideshow-slide__quote-text {
  font-size: 1.45em;
  line-height: 1.35;
}

.article-slideshow-slide__fit .article-slideshow-slide__quote cite {
  font-size: 0.82em;
}

.article-slideshow-slide__fit .article-slideshow-slide__brand {
  font-size: 0.82em;
}

.article-slideshow-slide__fit .article-slideshow-slide__end-text {
  font-size: 1em;
  line-height: 1.55;
}

.article-slideshow-slide__fit .article-slideshow-keyfacts {
  font-size: 1em;
}

.article-slideshow-slide__fit .article-slideshow-keyfacts__item dt {
  font-size: 0.74em;
}

.article-slideshow-slide__fit .article-slideshow-keyfacts__item dd {
  font-size: 1em;
  line-height: 1.44;
}

.article-slideshow-slide__fit .article-slideshow-slide__table-wrap {
  font-size: 0.82em;
}

.article-slideshow-slide__fit .article-slideshow-slide__caption {
  font-size: 0.82em;
}

.article-slideshow-slide__panel.is-fit-complete:not(.is-scrollable) {
  justify-content: center;
}

.article-slideshow-slide__panel--center.is-fit-complete:not(.is-scrollable) {
  justify-content: center;
}

.article-slideshow-slide__panel.is-scrollable {
  justify-content: flex-start;
}

.article-slideshow-slide__panel.is-scrollable .article-slideshow-slide__fit {
  padding-block: 0.2rem;
}

.article-slideshow-slide--cover {
  align-items: flex-end;
  justify-content: flex-end;
}

.article-slideshow-slide--cover .article-slideshow-slide__panel {
  width: min(56rem, 100%);
  flex: 0 1 auto;
  justify-content: flex-end;
}

.article-slideshow-slide__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
  margin-bottom: var(--space-sm);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.article-slideshow-slide__category {
  color: rgba(126, 184, 154, 0.95);
}

.article-slideshow-slide__headline {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4.8vw, 3.25rem);
  line-height: 1.08;
  font-weight: 400;
  color: #fff;
}

.article-slideshow-slide__deck {
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.86);
}

.article-slideshow-slide__deck strong,
.article-slideshow-slide__body strong {
  color: #fff;
  font-weight: 600;
}

.article-slideshow-slide__eyebrow {
  margin: 0 0 var(--space-xs);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(126, 184, 154, 0.95);
}

.article-slideshow-slide__section-title {
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4.5vw, 3rem);
  line-height: 1.12;
  font-weight: 400;
  color: #fff;
  overflow-wrap: anywhere;
  word-break: break-word;
  hyphens: auto;
  text-wrap: balance;
}

.article-slideshow-slide__section-title--divider,
.article-slideshow-slide__section-title--keyfacts {
  max-width: 18ch;
  margin-inline: auto;
}

.article-slideshow-slide__part {
  margin: 0 0 var(--space-sm);
  font-size: 0.72em;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.62);
}

.article-slideshow-measure {
  position: fixed;
  inset: 0 auto auto 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  visibility: hidden;
  pointer-events: none;
  z-index: -1;
}

.article-slideshow-measure .article-slideshow-player {
  position: absolute;
  inset: 0;
  height: 100%;
}

.article-slideshow-measure .article-slideshow-player__stage,
.article-slideshow-measure .article-slideshow-player__slide {
  position: absolute;
  inset: 0;
}

.article-slideshow-slide__section-title--sm {
  font-size: clamp(1.25rem, 3vw, 1.75rem);
  margin-bottom: var(--space-md);
}

.article-slideshow-slide__body {
  font-size: 1em;
  line-height: 1.62;
  color: rgba(255, 255, 255, 0.9);
}

.article-slideshow-slide__body p,
.article-slideshow-slide__body li {
  margin: 0 0 0.85em;
}

.article-slideshow-slide__body.has-list {
  line-height: 1.48;
}

.article-slideshow-slide__body.has-list li {
  margin-bottom: 0.4em;
}

.article-slideshow-slide__body.has-list li:last-child {
  margin-bottom: 0;
}

.article-slideshow-slide__body.has-intro-list > p {
  margin-bottom: 0.35em;
}

.article-slideshow-slide__body ul,
.article-slideshow-slide__body ol {
  padding-left: 1.15em;
  margin: 0;
}

.article-slideshow-slide__body a {
  color: rgba(126, 184, 154, 0.98);
}

.article-slideshow-slide__media-title {
  margin: 0 0 var(--space-sm);
  font-size: clamp(1rem, 2.2vw, 1.25rem);
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}

.article-slideshow-slide__video-wrap {
  width: 100%;
  border-radius: 1rem;
  overflow: hidden;
  background: #000;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

.article-slideshow-slide__video,
.article-slideshow-slide__iframe {
  display: block;
  width: 100%;
  max-height: min(62vh, 42rem);
  aspect-ratio: 16 / 9;
  border: 0;
  background: #000;
}

.article-slideshow-slide__figure {
  margin: 0;
}

.article-slideshow-slide__figure img {
  display: block;
  width: 100%;
  max-height: min(58vh, 38rem);
  object-fit: contain;
  margin-inline: auto;
  border-radius: 0.85rem;
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.45);
}

.article-slideshow-slide__figure figcaption,
.article-slideshow-slide__caption {
  margin: var(--space-sm) 0 0;
  font-size: clamp(0.8125rem, 1.8vw, 0.9375rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.72);
}

.article-slideshow-slide__quote {
  margin: 0;
  padding: 0;
  border: none;
}

.article-slideshow-slide__quote-text {
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 3.5vw, 2.2rem);
  line-height: 1.35;
  color: #fff;
}

.article-slideshow-slide__quote cite {
  display: block;
  margin-top: var(--space-md);
  font-size: clamp(0.875rem, 2vw, 1rem);
  font-style: normal;
  color: rgba(255, 255, 255, 0.72);
}

.article-slideshow-slide__table-wrap {
  overflow: auto;
  border-radius: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.04);
}

.article-slideshow-slide__table-wrap table {
  width: 100%;
  border-collapse: collapse;
  font-size: clamp(0.8125rem, 1.8vw, 0.9375rem);
}

.article-slideshow-slide__table-wrap th,
.article-slideshow-slide__table-wrap td {
  padding: 0.65rem 0.8rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  text-align: left;
  vertical-align: top;
}

.article-slideshow-slide__table-wrap th {
  font-weight: 600;
  color: rgba(255, 255, 255, 0.92);
}

.article-slideshow-slide--keyfacts .article-slideshow-slide__panel--center.is-fit-complete:not(.is-scrollable) {
  justify-content: center;
}

.article-slideshow-slide--keyfacts .article-slideshow-slide__fit {
  max-height: 100%;
}

.article-slideshow-keyfacts {
  display: grid;
  gap: 0.6em;
  margin: 0;
  text-align: left;
  width: 100%;
}

.article-slideshow-slide--keyfacts .article-slideshow-keyfacts {
  margin-top: 0;
}

.article-slideshow-keyfacts.is-dense {
  gap: 0.45em;
}

.article-slideshow-keyfacts.is-dense .article-slideshow-keyfacts__item {
  padding: 0.45em 0.65em;
}

.article-slideshow-keyfacts__item {
  padding: var(--space-sm) var(--space-md);
  border-radius: 0.85rem;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.article-slideshow-keyfacts__item dt {
  margin: 0 0 0.25rem;
  font-size: 0.75em;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(126, 184, 154, 0.95);
}

.article-slideshow-keyfacts__item dd {
  margin: 0;
  font-size: 1em;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.9);
}

.article-slideshow-slide__brand {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: 0.875rem;
  letter-spacing: 0.14em;
  text-indent: 0.14em;
  text-transform: uppercase;
  color: rgba(126, 184, 154, 0.95);
}

.article-slideshow-slide__end-text {
  margin: var(--space-sm) 0 0;
  font-size: clamp(1rem, 2.2vw, 1.2rem);
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.78);
}

.article-slideshow-player__nav {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 max(0.35rem, env(safe-area-inset-left, 0px)) 0 max(0.35rem, env(safe-area-inset-right, 0px));
  pointer-events: none;
}

.article-slideshow-player__arrow {
  pointer-events: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.35);
  color: #fff;
  cursor: pointer;
  backdrop-filter: blur(8px);
  transition: opacity 0.35s ease, background 0.2s ease;
}

.article-slideshow-player__arrow:hover,
.article-slideshow-player__arrow:focus-visible {
  background: rgba(255, 255, 255, 0.16);
}

.article-slideshow-player.is-ui-idle .article-slideshow-player__progress,
.article-slideshow-player.is-ui-idle .article-slideshow-player__read-aloud,
.article-slideshow-player.is-ui-idle .article-slideshow-player__cast,
.article-slideshow-player.is-ui-idle .article-slideshow-player__pause,
.article-slideshow-player.is-ui-idle .article-slideshow-player__close,
.article-slideshow-player.is-ui-idle .article-slideshow-player__nav {
  opacity: 0;
  pointer-events: none;
}

@media (max-width: 640px) {
  .article-slideshow-trigger__label {
    display: none;
  }

  .article-slideshow-player {
    height: 100dvh;
    max-height: 100dvh;
    --article-slideshow-pad-inline: max(var(--space-md), env(safe-area-inset-right, 0px), env(safe-area-inset-left, 0px));
    --article-slideshow-pad-top: max(5.25rem, calc(env(safe-area-inset-top, 0px) + 4.35rem));
    --article-slideshow-pad-bottom: max(5.75rem, calc(env(safe-area-inset-bottom, 0px) + 4.85rem));
  }

  .article-slideshow-slide__headline {
    font-size: clamp(1.45rem, 4.2vw + 0.85svh, 2.2rem);
    line-height: 1.1;
  }

  .article-slideshow-slide__deck {
    font-size: clamp(0.95rem, 2vw + 0.55svh, 1.15rem);
    line-height: 1.5;
  }

  .article-slideshow-slide__section-title {
    font-size: clamp(1.4rem, 3.8vw + 0.75svh, 2rem);
  }

  .article-slideshow-slide__fit .article-slideshow-slide__body {
    font-size: 1.05em;
    line-height: 1.58;
  }

  .article-slideshow-slide__quote-text {
    font-size: clamp(1.15rem, 2.8vw + 0.75svh, 1.75rem);
    line-height: 1.38;
  }

  .article-slideshow-slide--cover {
    --article-slideshow-pad-bottom: max(6.25rem, calc(env(safe-area-inset-bottom, 0px) + 5.25rem));
  }

  .article-slideshow-slide--text .article-slideshow-slide__panel.is-scrollable,
  .article-slideshow-slide--quote .article-slideshow-slide__panel.is-scrollable,
  .article-slideshow-slide--keyfacts .article-slideshow-slide__panel.is-scrollable {
    justify-content: flex-start;
    padding-block: 0.5rem;
  }

  .article-slideshow-slide--text .article-slideshow-slide__panel.is-fit-complete:not(.is-scrollable),
  .article-slideshow-slide--quote .article-slideshow-slide__panel.is-fit-complete:not(.is-scrollable),
  .article-slideshow-slide--keyfacts .article-slideshow-slide__panel.is-fit-complete:not(.is-scrollable) {
    justify-content: center;
    padding-block: 0.5rem;
  }

  .article-slideshow-slide--section .article-slideshow-slide__panel {
    justify-content: center;
    padding-block: 0.5rem;
  }

  .article-slideshow-slide--text .article-slideshow-slide__body p:last-child,
  .article-slideshow-slide--text .article-slideshow-slide__body li:last-child {
    margin-bottom: 0;
  }

  .article-slideshow-player__arrow {
    width: 2.35rem;
    height: 2.35rem;
  }
}

@media (max-width: 900px) and (orientation: landscape) {
  .article-slideshow-player {
    --article-slideshow-pad-top: max(3.25rem, calc(env(safe-area-inset-top, 0px) + 2.35rem));
    --article-slideshow-pad-bottom: max(3.5rem, calc(env(safe-area-inset-bottom, 0px) + 2.5rem));
    --article-slideshow-pad-inline: max(var(--space-md), env(safe-area-inset-right, 0px), env(safe-area-inset-left, 0px));
  }

  .article-slideshow-slide__headline {
    font-size: clamp(1.2rem, 2.6vw + 0.55svh, 1.85rem);
    line-height: 1.08;
  }

  .article-slideshow-slide__deck {
    font-size: clamp(0.875rem, 1.5vw + 0.45svh, 1.05rem);
    line-height: 1.45;
  }

  .article-slideshow-slide__section-title,
  .article-slideshow-slide__section-title--divider,
  .article-slideshow-slide__section-title--keyfacts {
    font-size: clamp(1.15rem, 2.4vw + 0.5svh, 1.65rem);
    max-width: 24ch;
  }

  .article-slideshow-slide__fit .article-slideshow-slide__body {
    font-size: 1.05em;
    line-height: 1.52;
  }

  .article-slideshow-slide__quote-text {
    font-size: clamp(1rem, 2vw + 0.5svh, 1.45rem);
    line-height: 1.32;
  }

  .article-slideshow-keyfacts {
    gap: 0.45rem;
    margin-top: var(--space-sm);
  }

  .article-slideshow-keyfacts__item {
    padding: 0.45rem 0.65rem;
  }

  .article-slideshow-keyfacts__item dd {
    font-size: clamp(0.8125rem, 1.2vw + 0.45svh, 0.95rem);
    line-height: 1.42;
  }

  .article-slideshow-slide--cover {
    --article-slideshow-pad-bottom: max(3.75rem, calc(env(safe-area-inset-bottom, 0px) + 2.75rem));
  }
}

@media (min-width: 900px) {
  .article__toolbar-stats .article-slideshow-mount {
    margin-left: var(--space-md);
  }
}

/* ── Hub: Emprendedores cubanos en EE. UU. ── */

.home__hub-promo-mount:not([hidden]) {
  margin: var(--space-md) 0 var(--space-lg);
}

.hub-promo {
  position: relative;
  display: grid;
  grid-template: 1fr / 1fr;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 55%, rgba(255, 255, 255, 0.12));
  background: #0a0a09;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.14);
  text-decoration: none;
  color: #fff;
  transition: transform 0.18s ease, box-shadow 0.18s ease;
  min-height: clamp(260px, 42vw, 380px);
}

.hub-promo > .hub-promo__media,
.hub-promo > .hub-promo__copy {
  grid-area: 1 / 1;
}

.hub-promo:hover,
.hub-promo:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 12px 36px rgba(0, 0, 0, 0.18);
  color: #fff;
}

.hub-promo:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 3px;
}

.hub-promo__media {
  position: relative;
  z-index: 0;
  min-height: inherit;
  overflow: hidden;
}

.hub-promo__media img,
.banner-media__poster {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 35%;
}

.hub-promo__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}

.banner-media__video--hidden {
  display: none !important;
}

.banner-media__poster--hidden {
  display: none !important;
}

.hub-promo__scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.3) 0%, rgba(0, 0, 0, 0.46) 50%, rgba(0, 0, 0, 0.7) 100%),
    radial-gradient(
      ellipse 110% 78% at 50% 58%,
      rgba(0, 0, 0, 0.52) 0%,
      transparent 72%
    );
}

.hub-promo__copy {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-self: center;
  justify-self: center;
  text-align: center;
  width: 100%;
  max-width: 44rem;
  padding: var(--space-xl) var(--space-lg);
  color: #fff;
  pointer-events: none;
}

@media (min-width: 768px) {
  .hub-promo__copy {
    padding: var(--space-2xl) var(--space-xl);
    max-width: 46rem;
  }
}

.hub-promo__cta {
  pointer-events: auto;
}

.hub-promo__eyebrow {
  margin: 0 0 0.65rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.9);
}

.hub-promo__title {
  margin: 0 0 0.75rem;
  font-family: var(--font-serif);
  font-size: clamp(1.625rem, 3.5vw, 2.25rem);
  font-weight: 400;
  line-height: 1.12;
  text-wrap: balance;
  text-shadow:
    0 2px 22px rgba(0, 0, 0, 0.6),
    0 1px 3px rgba(0, 0, 0, 0.5);
}

.hub-promo__subtitle {
  margin: 0 0 var(--space-md);
  font-size: clamp(0.9375rem, 1.6vw, 1.0625rem);
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.94);
  text-wrap: pretty;
  text-shadow:
    0 1px 14px rgba(0, 0, 0, 0.5),
    0 1px 2px rgba(0, 0, 0, 0.4);
  max-width: 38rem;
}

.hub-promo__cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.55rem 1rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.14);
  border: 1px solid rgba(255, 255, 255, 0.28);
  font-size: 0.875rem;
  font-weight: 600;
  color: #fff;
  backdrop-filter: blur(8px);
  transition: background 0.15s ease;
}

.hub-promo:hover .hub-promo__cta,
.hub-promo:focus-visible .hub-promo__cta {
  background: rgba(255, 255, 255, 0.22);
}

/* ── Portada: Ver aquí (series, documentales, películas) ── */

.home__watch-here-mount:not([hidden]) {
  margin: var(--space-xl) 0 var(--space-lg);
}

.watch-here {
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  background: color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.06);
}

.watch-here__banner {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 0;
  align-items: stretch;
  border-bottom: 1px solid color-mix(in srgb, var(--border) 65%, transparent);
}

.watch-here__visual {
  margin: 0;
  min-height: clamp(180px, 28vw, 260px);
  overflow: hidden;
}

.watch-here__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: inherit;
  object-fit: cover;
  object-position: center;
}

.watch-here__intro {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: clamp(1.25rem, 3vw, 2rem);
  background:
    linear-gradient(
      135deg,
      color-mix(in srgb, #1a3cff 18%, var(--surface)) 0%,
      color-mix(in srgb, #ff4d8d 10%, var(--surface)) 100%
    );
}

.watch-here__eyebrow {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--text) 72%, var(--accent) 28%);
}

.watch-here__title {
  margin: 0 0 0.55rem;
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.35rem);
  font-weight: 400;
  line-height: 1.05;
  color: var(--text);
}

.watch-here__subtitle {
  margin: 0;
  font-size: clamp(0.9375rem, 1.8vw, 1.05rem);
  line-height: 1.5;
  color: color-mix(in srgb, var(--text) 82%, transparent);
  max-width: 28rem;
}

.watch-here__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
  padding: 0.9rem clamp(1rem, 2.5vw, 1.35rem);
  border-bottom: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
  background: color-mix(in srgb, var(--surface) 96%, var(--text) 4%);
}

.watch-here__filter-mobile {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  width: 100%;
  min-width: 0;
}

.watch-here__filter-select-wrap {
  position: relative;
  width: 100%;
}

.watch-here__filter-select-wrap::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0.95rem;
  width: 0.45rem;
  height: 0.45rem;
  border-right: 2px solid color-mix(in srgb, var(--text) 55%, transparent);
  border-bottom: 2px solid color-mix(in srgb, var(--text) 55%, transparent);
  transform: translateY(-65%) rotate(45deg);
  pointer-events: none;
}

.watch-here__filter-select {
  appearance: none;
  width: 100%;
  margin: 0;
  padding: 0.55rem 2.25rem 0.55rem 1rem;
  border: 1px solid color-mix(in srgb, var(--accent) 45%, var(--border));
  border-radius: 999px;
  background: color-mix(in srgb, var(--accent) 10%, var(--surface));
  color: color-mix(in srgb, var(--accent) 82%, var(--text) 18%);
  font: inherit;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
}

.watch-here__filter-select:focus-visible {
  outline: 2px solid color-mix(in srgb, var(--accent) 55%, transparent);
  outline-offset: 2px;
}

.watch-here__filters-desktop {
  display: none;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.85rem;
  width: 100%;
}

@media (min-width: 641px) {
  .watch-here__filter-mobile {
    display: none;
  }

  .watch-here__filters-desktop {
    display: flex;
  }
}

.watch-here__filters-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: color-mix(in srgb, var(--text) 70%, transparent);
  white-space: nowrap;
}

.watch-here__filters-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.watch-here__filter-btn {
  appearance: none;
  border: 1px solid color-mix(in srgb, var(--border) 80%, transparent);
  background: var(--surface);
  color: var(--text);
  border-radius: 999px;
  padding: 0.38rem 0.72rem;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.watch-here__filter-btn:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  background: color-mix(in srgb, var(--accent) 8%, var(--surface));
}

.watch-here__filter-btn--active {
  background: color-mix(in srgb, var(--accent) 14%, var(--surface));
  border-color: color-mix(in srgb, var(--accent) 55%, var(--border));
  color: color-mix(in srgb, var(--accent) 82%, var(--text) 18%);
}

.watch-here__filter-btn:disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

.watch-here__filter-count {
  font-weight: 500;
  opacity: 0.82;
}

.watch-here__empty {
  margin: 0;
  padding: 1.25rem clamp(1rem, 2.5vw, 1.35rem) 1.4rem;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: color-mix(in srgb, var(--text) 72%, transparent);
  text-align: center;
}

.watch-here__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.watch-here__item {
  border-top: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
}

.watch-here__item:first-child {
  border-top: 0;
}

.watch-here__item--hidden {
  display: none;
}

.watch-here__item--page-hidden {
  display: none;
}

.watch-here__load-more-wrap {
  margin-top: var(--space-lg);
}

.watch-here--hub .watch-here__load-more {
  width: 100%;
  min-height: auto;
  border-radius: var(--radius-lg);
  border: 1px dashed var(--border);
}

.watch-here__link {
  display: grid;
  grid-template-columns: minmax(7.5rem, 9.5rem) minmax(0, 1fr);
  gap: clamp(0.85rem, 2vw, 1.15rem);
  align-items: start;
  padding: clamp(0.9rem, 2.2vw, 1.15rem) clamp(1rem, 2.5vw, 1.35rem);
  text-decoration: none;
  color: inherit;
  transition: background 0.16s ease;
}

.watch-here__link:hover,
.watch-here__link:focus-visible {
  background: color-mix(in srgb, var(--accent) 7%, var(--surface));
}

.watch-here__link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: -2px;
}

.watch-here__thumb {
  margin: 0;
  border-radius: calc(var(--radius-md) - 2px);
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: color-mix(in srgb, var(--border) 35%, transparent);
}

.watch-here__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.watch-here__copy {
  min-width: 0;
}

.watch-here__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.5rem;
  margin-bottom: 0.35rem;
}

.watch-here__platform {
  display: inline-block;
  padding: 0.16rem 0.5rem;
  border-radius: 999px;
  font-size: 0.66rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  border: 1px solid transparent;
}

.watch-here__platform--netflix {
  color: #e50914;
  background: color-mix(in srgb, #e50914 12%, var(--surface));
  border-color: color-mix(in srgb, #e50914 28%, var(--border));
}

.watch-here__platform--youtube {
  color: #ff0000;
  background: color-mix(in srgb, #ff0000 10%, var(--surface));
  border-color: color-mix(in srgb, #ff0000 24%, var(--border));
}

.watch-here__platform--apple-tv {
  color: #9aa0a6;
  background: color-mix(in srgb, #9aa0a6 14%, var(--surface));
  border-color: color-mix(in srgb, #9aa0a6 30%, var(--border));
}

[data-theme="dark"] .watch-here__platform--apple-tv {
  color: #d2d6db;
}

.watch-here__platform--movistar {
  color: #019df4;
  background: color-mix(in srgb, #019df4 12%, var(--surface));
  border-color: color-mix(in srgb, #019df4 28%, var(--border));
}

.watch-here__platform--hulu {
  color: #1ce783;
  background: color-mix(in srgb, #1ce783 12%, var(--surface));
  border-color: color-mix(in srgb, #1ce783 28%, var(--border));
}

[data-theme="dark"] .watch-here__platform--hulu {
  color: #1ce783;
}

.watch-here__platform--disney {
  color: #113ccf;
  background: color-mix(in srgb, #113ccf 12%, var(--surface));
  border-color: color-mix(in srgb, #113ccf 28%, var(--border));
}

.watch-here__platform--hbo-max {
  color: #9b4dff;
  background: color-mix(in srgb, #9b4dff 12%, var(--surface));
  border-color: color-mix(in srgb, #9b4dff 28%, var(--border));
}

[data-theme="dark"] .watch-here__platform--hbo-max {
  color: #c9a0ff;
}

.watch-here__platform--cuatro {
  color: #e85d04;
  background: color-mix(in srgb, #e85d04 12%, var(--surface));
  border-color: color-mix(in srgb, #e85d04 28%, var(--border));
}

.watch-here__platform--mediaset {
  color: #c89200;
  background: color-mix(in srgb, #ffc600 14%, var(--surface));
  border-color: color-mix(in srgb, #ffc600 32%, var(--border));
}

[data-theme="dark"] .watch-here__platform--mediaset {
  color: #ffd54f;
}

.watch-here__platform--cine {
  color: #b8860b;
  background: color-mix(in srgb, #d4af37 14%, var(--surface));
  border-color: color-mix(in srgb, #d4af37 30%, var(--border));
}

[data-theme="dark"] .watch-here__platform--cine {
  color: #e6c35c;
}

.watch-here__platform--prime {
  color: #00a8e1;
  background: color-mix(in srgb, #00a8e1 12%, var(--surface));
  border-color: color-mix(in srgb, #00a8e1 28%, var(--border));
}

.watch-here__platform--vod {
  color: #7a6ff0;
  background: color-mix(in srgb, #7a6ff0 12%, var(--surface));
  border-color: color-mix(in srgb, #7a6ff0 28%, var(--border));
}

[data-theme="dark"] .watch-here__platform--vod {
  color: #a79dff;
}

.watch-here__type {
  display: inline-block;
  margin-bottom: 0.35rem;
  padding: 0.18rem 0.55rem;
  border-radius: 999px;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--accent) 78%, var(--text) 22%);
  background: color-mix(in srgb, var(--accent) 12%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border));
}

.watch-here__pick-title {
  margin: 0 0 0.4rem;
  font-family: var(--font-serif);
  font-size: clamp(1.05rem, 2.2vw, 1.2rem);
  font-weight: 400;
  line-height: 1.22;
  color: var(--text);
}

.watch-here__pick-deck {
  margin: 0 0 0.55rem;
  font-size: 0.9rem;
  line-height: 1.45;
  color: color-mix(in srgb, var(--text) 76%, transparent);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.watch-here__cta {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--accent);
}

.watch-here__link:hover .watch-here__cta,
.watch-here__link:focus-visible .watch-here__cta {
  text-decoration: underline;
}

.watch-here__hub-link {
  margin: 0;
  padding: 0.85rem clamp(1rem, 2.5vw, 1.35rem) 1.1rem;
  border-top: 1px solid color-mix(in srgb, var(--border) 55%, transparent);
  text-align: center;
  font-size: 0.875rem;
  font-weight: 600;
}

.watch-here__hub-link a {
  color: var(--accent);
  text-decoration: none;
}

.watch-here__hub-link a:hover,
.watch-here__hub-link a:focus-visible {
  text-decoration: underline;
}

@media (max-width: 720px) {
  .watch-here__banner {
    grid-template-columns: 1fr;
  }

  .watch-here__visual {
    min-height: 180px;
    max-height: 220px;
  }

  .watch-here__link {
    grid-template-columns: minmax(6.5rem, 7.5rem) minmax(0, 1fr);
  }
}

.watch-here--hub {
  margin: 0;
  padding: 0;
  border: none;
  background: transparent;
}

.watch-here--hub .watch-here__filters {
  margin-bottom: var(--space-md);
}

body[data-page="entrepreneurs-hub"] {
  --cuba-blue: #002A8F;
  --cuba-white: #FFFFFF;
  --cuba-red: #CF142B;
}

body[data-page="entrepreneurs-hub"] .site-header {
  border-bottom-color: color-mix(in srgb, var(--cuba-blue) 28%, var(--border));
}

body[data-page="entrepreneurs-hub"]::before {
  background: linear-gradient(90deg, var(--cuba-blue) 0%, var(--cuba-blue) 33%, var(--cuba-white) 33%, var(--cuba-white) 66%, var(--cuba-red) 66%, var(--cuba-red) 100%);
  opacity: 0.85;
}

.entrepreneurs-hub {
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  padding:
    var(--space-xl)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    var(--space-2xl)
    max(var(--page-gutter), env(safe-area-inset-left, 0px));
}

.entrepreneurs-hub__hero {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.entrepreneurs-hub__hero-media {
  background: #0a0a09;
}

.entrepreneurs-hub__hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 578;
  object-fit: cover;
}

.entrepreneurs-hub__hero-copy {
  padding: var(--space-lg);
  background: var(--bg-elevated);
  color: var(--text);
}

@media (min-width: 768px) {
  .entrepreneurs-hub__hero {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
  }

  .entrepreneurs-hub__hero-media img {
    height: 100%;
    min-height: 280px;
  }

  .entrepreneurs-hub__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-xl);
  }
}

.entrepreneurs-hub__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--cuba-blue, #002A8F);
}

[data-theme="dark"] .entrepreneurs-hub__eyebrow {
  color: var(--cuba-white, #FFFFFF);
}

.entrepreneurs-hub__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--text);
}

.entrepreneurs-hub__title em {
  font-style: italic;
}

.entrepreneurs-hub__deck {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-secondary);
}

.entrepreneurs-hub__body {
  width: 100%;
}

.entrepreneurs-hub__intro {
  width: 100%;
  max-width: 40rem;
  margin: 0 auto var(--space-2xl);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
}

.entrepreneurs-hub__intro-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.entrepreneurs-hub__intro-lead {
  margin: 0 0 var(--space-md);
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.8vw, 1.5rem);
  font-weight: 400;
  line-height: 1.45;
  text-wrap: balance;
  color: var(--text);
}

.entrepreneurs-hub__intro-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  text-wrap: pretty;
  color: var(--text-muted);
}

.entrepreneurs-hub__stories-title {
  margin: 0 0 var(--space-lg);
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
}

.entrepreneurs-hub__grid {
  display: grid;
  gap: var(--space-lg);
}

@media (min-width: 768px) {
  .entrepreneurs-hub__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.entrepreneurs-hub__card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--surface);
}

.entrepreneurs-hub__card-media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.entrepreneurs-hub__card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.entrepreneurs-hub__card:hover .entrepreneurs-hub__card-media img {
  transform: scale(1.03);
}

.entrepreneurs-hub__card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: var(--space-md);
}

.entrepreneurs-hub__card-meta {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.entrepreneurs-hub__card-title {
  margin: 0 0 0.5rem;
  font-size: 1.0625rem;
  line-height: 1.35;
}

.entrepreneurs-hub__card-title a {
  color: inherit;
  text-decoration: none;
}

.entrepreneurs-hub__card-title a:hover {
  color: var(--accent);
}

.entrepreneurs-hub__card-deck {
  margin: 0 0 var(--space-md);
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--text-muted);
  flex: 1;
}

.entrepreneurs-hub__card-cta {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--cuba-blue, #002A8F);
  text-decoration: none;
}

.entrepreneurs-hub__card-cta:hover {
  text-decoration: underline;
}

.entrepreneurs-hub__footer-cta {
  margin: var(--space-xl) 0 0;
}

.entrepreneurs-hub__home-link {
  font-weight: 600;
  color: var(--cuba-blue, #002A8F);
  text-decoration: none;
}

.entrepreneurs-hub__home-link:hover {
  text-decoration: underline;
}

[data-theme="dark"] .entrepreneurs-hub__card-cta,
[data-theme="dark"] .entrepreneurs-hub__home-link {
  color: var(--cuba-white, #FFFFFF);
}

/* ── Hub: Gadgets recomendados ── */

.hub-promo--gadgets .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(8, 12, 24, 0.32) 0%, rgba(8, 12, 24, 0.5) 48%, rgba(8, 12, 24, 0.72) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(8, 12, 24, 0.5) 0%, transparent 70%);
}

.hub-promo--watch-here .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(32, 12, 8, 0.32) 0%, rgba(32, 12, 8, 0.5) 48%, rgba(32, 12, 8, 0.72) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(32, 12, 8, 0.5) 0%, transparent 70%);
}

.hub-promo--emprendedores .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(24, 8, 32, 0.32) 0%, rgba(24, 8, 32, 0.48) 48%, rgba(24, 8, 32, 0.7) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(24, 8, 32, 0.48) 0%, transparent 70%);
}

.hub-promo--corazones .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(8, 16, 40, 0.34) 0%, rgba(8, 16, 40, 0.5) 48%, rgba(8, 16, 40, 0.74) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(8, 16, 40, 0.5) 0%, transparent 70%);
}

.hub-promo--mundial .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(6, 28, 18, 0.34) 0%, rgba(6, 28, 18, 0.52) 48%, rgba(6, 28, 18, 0.76) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(6, 28, 18, 0.5) 0%, transparent 70%);
}

.home__hub-promo-mount--emprendedores:not([hidden]) {
  margin-bottom: var(--space-lg);
}

.home__hub-promo-mount--watch-here:not([hidden]) {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-xl);
}

.home__hub-promo-mount--gadgets:not([hidden]) {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

.home__hub-promo-mount--voces:not([hidden]) {
  margin-top: var(--space-lg);
  margin-bottom: var(--space-lg);
}

body[data-page="gadgets-hub"] .site-header {
  border-bottom-color: color-mix(in srgb, var(--accent) 18%, var(--border));
}

.gadgets-hub {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-md) var(--page-gutter) var(--space-2xl);
}

.gadgets-hub__hero {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.gadgets-hub__hero-media {
  background: #080c18;
}

.gadgets-hub__hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 578;
  object-fit: cover;
}

.gadgets-hub__hero-copy {
  padding: var(--space-lg);
  background: var(--bg-elevated);
  color: var(--text);
}

@media (min-width: 768px) {
  .gadgets-hub__hero {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
  }

  .gadgets-hub__hero-media img {
    height: 100%;
    min-height: 280px;
    border-radius: 0;
  }

  .gadgets-hub__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-xl);
  }
}

.gadgets-hub__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--accent);
}

.gadgets-hub__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--text);
}

.gadgets-hub__title em {
  font-style: italic;
}

.gadgets-hub__deck {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: none;
}

.gadgets-hub__body {
  width: 100%;
}

.gadgets-hub__intro {
  width: 100%;
  max-width: 40rem;
  margin: 0 auto var(--space-xl);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
}

.gadgets-hub__intro-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--accent);
}

.gadgets-hub__intro-lead {
  margin: 0 0 var(--space-md);
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.8vw, 1.5rem);
  font-weight: 400;
  line-height: 1.45;
  text-wrap: balance;
  color: var(--text);
}

.gadgets-hub__intro-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  text-wrap: pretty;
  color: var(--text-muted);
}

.gadgets-hub__footer-cta {
  margin: var(--space-xl) auto 0;
  max-width: 46rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.gadgets-hub__category-link,
.gadgets-hub__home-link {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.gadgets-hub__category-link:hover,
.gadgets-hub__home-link:hover {
  text-decoration: underline;
}

.gadgets-hub__footer-sep {
  color: var(--text-muted);
}

/* ── Hub: Apps que recomendamos ── */

body[data-page="apps-hub"] .site-header {
  border-bottom-color: color-mix(in srgb, #6c5ce7 22%, var(--border));
}

.apps-hub {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-md) var(--page-gutter) var(--space-2xl);
}

.apps-hub__hero {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.apps-hub__hero-media {
  background: #0d1628;
}

.apps-hub__hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 578;
  object-fit: cover;
}

.apps-hub__hero--art {
  border: none;
  background: transparent;
}

.apps-hub__hero--art .apps-hub__hero-art {
  display: block;
  width: 100%;
  height: auto;
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
}

@media (min-width: 768px) {
  .apps-hub__hero:not(.apps-hub__hero--art) {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
  }
}

.apps-hub__hero-copy {
  padding: var(--space-lg);
  background: var(--bg-elevated);
  color: var(--text);
}

@media (min-width: 768px) {
  .apps-hub__hero:not(.apps-hub__hero--art) .apps-hub__hero-media img {
    height: 100%;
    min-height: 280px;
    border-radius: 0;
  }

  .apps-hub__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-xl);
  }
}

.apps-hub__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #6c5ce7;
}

.apps-hub__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--text);
}

.apps-hub__title em {
  font-style: italic;
}

.apps-hub__deck {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: none;
}

.apps-hub__body {
  max-width: 56rem;
  margin: 0 auto;
}

.apps-hub__intro {
  margin-bottom: var(--space-lg);
  text-align: center;
}

.apps-hub__intro-label {
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2.5vw, 1.5rem);
  font-weight: 400;
  margin: 0 0 var(--space-sm);
}

.apps-hub__intro-lead {
  margin: 0 0 var(--space-sm);
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text);
  text-wrap: pretty;
}

.apps-hub__intro-text {
  margin: 0;
  font-size: 0.975rem;
  line-height: 1.6;
  text-wrap: pretty;
  color: var(--text-muted);
}

.apps-hub__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-lg);
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.apps-hub__filters-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-muted);
  white-space: nowrap;
}

.apps-hub__filters-group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.apps-hub__filter-btn {
  appearance: none;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0.35rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 600;
  background: var(--bg);
  color: var(--text);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.apps-hub__filter-btn:hover {
  border-color: color-mix(in srgb, #6c5ce7 40%, var(--border));
}

.apps-hub__filter-btn--active {
  background: color-mix(in srgb, #6c5ce7 12%, var(--bg));
  border-color: color-mix(in srgb, #6c5ce7 45%, var(--border));
  color: var(--text);
}

.apps-hub__picks-title {
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 400;
  margin: 0 0 var(--space-md);
  text-align: center;
}

.apps-hub__grid {
  display: grid;
  gap: var(--space-md);
  width: 100%;
}

@media (min-width: 640px) {
  .apps-hub__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.apps-hub__card {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  padding: var(--space-md);
  background: var(--surface);
}

.apps-hub__card--hidden {
  display: none !important;
}

.apps-hub__card-head {
  display: flex;
  align-items: flex-start;
  gap: var(--space-sm);
}

.apps-hub__card-icon {
  flex-shrink: 0;
  width: 64px;
  height: 64px;
  border-radius: 14px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
}

.apps-hub__card-heading {
  min-width: 0;
}

.apps-hub__card-meta {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
  margin: 0 0 0.25rem;
}

.apps-hub__card-title {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  line-height: 1.2;
  margin: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.apps-hub__card-age {
  flex-shrink: 0;
  font-family: var(--font-sans);
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.03em;
  line-height: 1;
  padding: 0.22rem 0.4rem;
  border-radius: 4px;
  background: color-mix(in srgb, #c0392b 16%, var(--surface));
  color: color-mix(in srgb, #c0392b 90%, var(--text));
  border: 1px solid color-mix(in srgb, #c0392b 38%, var(--border));
}

.apps-hub__card-audience {
  margin: 0.35rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.4;
  color: var(--text-secondary);
}

.apps-hub__card-audience strong {
  color: var(--text);
  font-weight: 600;
}

.apps-hub__filter-btn--citas.apps-hub__filter-btn--active,
.apps-hub__card[data-apps-category="citas"] .apps-hub__card-meta {
  /* citas accent handled via meta color below */
}

.apps-hub__card[data-apps-category="citas"] .apps-hub__card-meta {
  color: #e84393;
}

.apps-hub__filter-btn[data-apps-category="citas"].apps-hub__filter-btn--active {
  background: color-mix(in srgb, #e84393 12%, var(--bg));
  border-color: color-mix(in srgb, #e84393 45%, var(--border));
}

.apps-hub__card-deck {
  font-size: 0.925rem;
  line-height: 1.55;
  color: var(--text-muted);
  margin: 0;
  flex: 1;
}

.apps-hub__card-stores {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.apps-hub__store-btn {
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.7rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  text-decoration: none;
  border: 1px solid var(--border);
  background: var(--bg);
  color: var(--text);
  transition: background 0.15s ease, border-color 0.15s ease;
}

.apps-hub__store-btn:hover {
  text-decoration: none;
  border-color: color-mix(in srgb, var(--accent) 40%, var(--border));
}

.apps-hub__store-btn--ios {
  border-color: color-mix(in srgb, #007aff 35%, var(--border));
}

.apps-hub__store-btn--android {
  border-color: color-mix(in srgb, #34a853 35%, var(--border));
}

.apps-hub__store-btn--web {
  border-color: color-mix(in srgb, #6c5ce7 35%, var(--border));
}

.apps-hub__store-btn--apply {
  border-color: color-mix(in srgb, #6c5ce7 35%, var(--border));
}

.apps-hub__card-article {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  margin-top: 0.125rem;
}

.apps-hub__card-article:hover {
  text-decoration: underline;
}

.apps-hub__empty {
  text-align: center;
  color: var(--text-muted);
  margin: var(--space-md) 0 0;
}

.apps-hub__dating-legal {
  max-width: 46rem;
  margin: 0 auto var(--space-lg);
  padding: var(--space-md) var(--space-lg);
  border: 1px solid color-mix(in srgb, var(--accent) 22%, var(--border));
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.apps-hub__dating-legal-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.apps-hub__dating-legal-text {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.55;
  color: var(--text-muted);
}

.apps-hub__dating-legal-text + .apps-hub__dating-legal-text {
  margin-top: var(--space-sm);
}

.apps-hub__dating-legal-text strong {
  color: var(--text);
  font-weight: 600;
}

.apps-hub__hub-legal {
  max-width: 46rem;
  margin: var(--space-xl) auto 0;
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
}

.apps-hub__hub-legal-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-sans);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.apps-hub__hub-legal-text {
  margin: 0;
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--text-muted);
}

.apps-hub__hub-legal-text strong {
  color: var(--text);
  font-weight: 600;
}

.apps-hub__footer-cta {
  margin: var(--space-xl) auto 0;
  max-width: 46rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.apps-hub__category-link,
.apps-hub__home-link {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.apps-hub__category-link:hover,
.apps-hub__home-link:hover {
  text-decoration: underline;
}

.apps-hub__footer-sep {
  color: var(--text-muted);
}

.hub-promo--apps .hub-promo__scrim {
  background: linear-gradient(135deg, rgba(13, 22, 40, 0.55), rgba(108, 92, 231, 0.35));
}

.hub-promo--apps .hub-promo__eyebrow {
  color: #a29bfe;
}

.hub-promo--lugares .hub-promo__scrim {
  background: linear-gradient(135deg, rgba(40, 18, 8, 0.58), rgba(232, 93, 4, 0.32));
}

.hub-promo--lugares .hub-promo__eyebrow {
  color: #ffb347;
}

.home__hub-promo-mount--watch-here:not([hidden]) {
  margin-top: var(--space-lg);
}

/* ── Hub: Qué ver (Ver aquí) ── */

body[data-page="watch-here-hub"] .site-header {
  border-bottom-color: color-mix(in srgb, #e85d04 22%, var(--border));
}

.watch-here-hub {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-md) var(--page-gutter) var(--space-2xl);
}

.watch-here-hub__hero {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.watch-here-hub__hero-media {
  background: #1a0f0a;
}

.watch-here-hub__hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 578;
  object-fit: cover;
}

.watch-here-hub__hero-copy {
  padding: var(--space-lg);
  background: var(--bg-elevated);
  color: var(--text);
}

@media (min-width: 768px) {
  .watch-here-hub__hero {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
  }

  .watch-here-hub__hero-media img {
    height: 100%;
    min-height: 280px;
    border-radius: 0;
  }

  .watch-here-hub__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-xl);
  }
}

.watch-here-hub__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #e85d04;
}

.watch-here-hub__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--text);
}

.watch-here-hub__title em {
  font-style: italic;
}

.watch-here-hub__deck {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: none;
}

.watch-here-hub__body {
  display: grid;
  gap: var(--space-xl);
}

.watch-here-hub__intro {
  width: 100%;
  max-width: 40rem;
  margin: 0 auto var(--space-xl);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
}

.watch-here-hub__intro-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.watch-here-hub__intro-lead {
  margin: 0 0 var(--space-md);
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.8vw, 1.5rem);
  font-weight: 400;
  line-height: 1.45;
  text-wrap: balance;
  color: var(--text);
}

.watch-here-hub__intro-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  text-wrap: pretty;
  color: var(--text-muted);
}

.watch-here-hub__collage-mount:not([hidden]) {
  margin-bottom: var(--space-xl);
}

.watch-here-collage__heading {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  margin: 0 0 var(--space-md);
}

.watch-here-collage__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-rows: repeat(3, minmax(88px, 118px));
  gap: 0.45rem;
  border-radius: var(--radius-lg);
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  background: var(--bg-elevated);
  box-shadow: var(--shadow-sm);
  transition: opacity 0.32s ease;
}

.watch-here-collage__item {
  position: relative;
  display: block;
  overflow: hidden;
  min-height: 0;
  color: #fff;
  text-decoration: none;
  background: #120a08;
}

.watch-here-collage__item img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.35s ease;
}

.watch-here-collage__item:hover img,
.watch-here-collage__item:focus-visible img {
  transform: scale(1.04);
}

.watch-here-collage__scrim {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0, 0, 0, 0.05) 20%, rgba(0, 0, 0, 0.72) 100%);
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.watch-here-collage__title {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  margin: 0;
  padding: 0.55rem 0.65rem;
  font-family: var(--font-serif);
  font-size: clamp(0.82rem, 1.5vw, 1rem);
  font-weight: 400;
  line-height: 1.2;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.55);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.watch-here-collage__item--hero {
  grid-column: 1 / 3;
  grid-row: 1 / 3;
}

.watch-here-collage__item--hero .watch-here-collage__title {
  font-size: clamp(1rem, 2.2vw, 1.35rem);
  padding: 0.75rem 0.85rem;
}

.watch-here-collage__item:nth-child(2) {
  grid-column: 3 / 5;
  grid-row: 1;
}

.watch-here-collage__item:nth-child(3) {
  grid-column: 3 / 4;
  grid-row: 2;
}

.watch-here-collage__item:nth-child(4) {
  grid-column: 4 / 5;
  grid-row: 2;
}

.watch-here-collage__item:nth-child(5) {
  grid-column: 1 / 2;
  grid-row: 3;
}

.watch-here-collage__item:nth-child(6) {
  grid-column: 2 / 3;
  grid-row: 3;
}

.watch-here-collage__item:nth-child(7) {
  grid-column: 3 / 5;
  grid-row: 3;
}

.watch-here-collage__item:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  z-index: 2;
}

@media (max-width: 720px) {
  .watch-here-collage__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto;
    grid-auto-rows: minmax(120px, 150px);
  }

  .watch-here-collage__item--hero {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 200px;
  }

  .watch-here-collage__item:nth-child(n) {
    grid-column: auto;
    grid-row: auto;
  }

  .watch-here-collage__item:nth-child(7) {
    grid-column: 1 / -1;
  }
}

.watch-here-hub__picks-title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  margin-bottom: var(--space-md);
}

.watch-here-hub__list-block {
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--border) 70%, transparent);
  background: color-mix(in srgb, var(--surface) 92%, var(--accent) 8%);
  overflow: hidden;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.06);
}

.watch-here-hub__list-block.watch-here--hub .watch-here__filters {
  margin-bottom: 0;
}

.watch-here-hub__list-block .watch-here__empty {
  margin: 0;
  padding: 1.25rem clamp(1rem, 2.5vw, 1.35rem) 1.4rem;
}

.watch-here-hub__grid {
  display: grid;
  gap: var(--space-lg);
}

@media (min-width: 640px) {
  .watch-here-hub__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .watch-here-hub__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.watch-here-hub__card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--bg-elevated);
  height: 100%;
}

.watch-here-hub__card-media {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
}

.watch-here-hub__card-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.watch-here-hub__card:hover .watch-here-hub__card-media img {
  transform: scale(1.03);
}

.watch-here-hub__card-body {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  padding: var(--space-md);
  flex: 1;
}

.watch-here-hub__card-meta {
  margin: 0;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.watch-here-hub__card-title {
  margin: 0;
  font-family: var(--font-serif);
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.25;
}

.watch-here-hub__card-title a {
  color: var(--text);
  text-decoration: none;
}

.watch-here-hub__card-title a:hover {
  color: var(--accent);
}

.watch-here-hub__card-deck {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: var(--text-muted);
  flex: 1;
}

.watch-here-hub__card-cta {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.watch-here-hub__card-cta:hover {
  text-decoration: underline;
}

.watch-here-hub__footer-cta {
  font-size: 0.95rem;
  color: var(--text-muted);
}

.watch-here-hub__category-link,
.watch-here-hub__home-link {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.watch-here-hub__category-link:hover,
.watch-here-hub__home-link:hover {
  text-decoration: underline;
}

.watch-here-hub__footer-sep {
  color: var(--text-muted);
}

/* ── Hub: Voces que hacen magia ── */

.hub-promo--voces .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(24, 8, 32, 0.32) 0%, rgba(24, 8, 32, 0.5) 48%, rgba(24, 8, 32, 0.72) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(24, 8, 32, 0.5) 0%, transparent 70%);
}

.hub-promo--gaming-tops .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(12, 8, 32, 0.28) 0%, rgba(12, 8, 32, 0.52) 48%, rgba(12, 8, 32, 0.78) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(108, 92, 231, 0.35) 0%, transparent 70%);
}

body[data-page="voces-hub"] .site-header {
  border-bottom-color: color-mix(in srgb, #e91e8c 22%, var(--border));
}

.voces-hub {
  max-width: var(--content-max);
  margin: 0 auto;
  padding: var(--space-md) var(--page-gutter) var(--space-2xl);
}

.voces-hub__hero {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.voces-hub__hero-media {
  background: #180820;
}

.voces-hub__hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 578;
  object-fit: cover;
}

.voces-hub__hero-copy {
  padding: var(--space-lg);
  background: var(--bg-elevated);
  color: var(--text);
}

@media (min-width: 768px) {
  .voces-hub__hero {
    display: grid;
    grid-template-columns: 1.1fr 0.9fr;
    align-items: stretch;
  }

  .voces-hub__hero-media img {
    height: 100%;
    min-height: 280px;
    border-radius: 0;
  }

  .voces-hub__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-xl);
  }
}

.voces-hub__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: #c2187a;
}

.voces-hub__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
  color: var(--text);
}

.voces-hub__title em {
  font-style: italic;
}

.voces-hub__deck {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-secondary);
  max-width: none;
}

.voces-hub__body {
  width: 100%;
}

.voces-hub__intro {
  width: 100%;
  max-width: 40rem;
  margin: 0 auto var(--space-xl);
  padding: var(--space-lg) var(--space-md);
  text-align: center;
}

.voces-hub__intro-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #c2187a;
}

.voces-hub__intro-lead {
  margin: 0 0 var(--space-md);
  font-family: var(--font-serif);
  font-size: clamp(1.2rem, 2.8vw, 1.5rem);
  font-weight: 400;
  line-height: 1.45;
  text-wrap: balance;
  color: var(--text);
}

.voces-hub__intro-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  text-wrap: pretty;
  color: var(--text-muted);
}

.voces-hub__stories-title {
  font-family: var(--font-serif);
  font-size: 1.5rem;
  margin-bottom: var(--space-md);
}

.voces-hub__stories {
  max-width: 46rem;
}

.voces-hub__grid {
  display: grid;
  gap: var(--space-lg);
}

.voces-hub__card {
  display: grid;
  gap: var(--space-md);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--surface);
}

@media (min-width: 640px) {
  .voces-hub__card {
    grid-template-columns: 220px 1fr;
  }
}

.voces-hub__card-media {
  display: block;
  overflow: hidden;
}

.voces-hub__card-media img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 160px;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.voces-hub__card:hover .voces-hub__card-media img {
  transform: scale(1.03);
}

.voces-hub__card-body {
  padding: var(--space-md);
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.voces-hub__card-meta {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.voces-hub__card-title {
  font-family: var(--font-serif);
  font-size: 1.125rem;
  line-height: 1.3;
}

.voces-hub__card-title a {
  color: inherit;
  text-decoration: none;
}

.voces-hub__card-title a:hover {
  color: var(--accent);
}

.voces-hub__card-deck {
  font-size: 0.875rem;
  line-height: 1.5;
  color: var(--text-muted);
  flex: 1;
}

.voces-hub__card-cta {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  font-size: 0.875rem;
}

.voces-hub__card-cta:hover {
  text-decoration: underline;
}

.voces-hub__footer-cta {
  margin: var(--space-xl) 0 0;
  max-width: 46rem;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
}

.voces-hub__category-link,
.voces-hub__home-link {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.voces-hub__category-link:hover,
.voces-hub__home-link:hover {
  text-decoration: underline;
}

.voces-hub__footer-sep {
  color: var(--text-muted);
}

.gadgets-hub__picks {
  margin-top: var(--space-xl);
  width: 100%;
}

.gadgets-hub__picks-title {
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 400;
  margin: 0 0 var(--space-md);
  text-align: center;
}

.gadgets-hub__grid {
  display: grid;
  gap: var(--space-lg);
  width: 100%;
}

@media (min-width: 640px) {
  .gadgets-hub__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .gadgets-hub__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.gadgets-hub__card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  overflow: hidden;
  background: var(--surface);
}

.gadgets-hub__card-media {
  display: block;
  overflow: hidden;
}

.gadgets-hub__card-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  object-fit: cover;
  transition: transform 0.35s ease;
}

.gadgets-hub__card:hover .gadgets-hub__card-media img {
  transform: scale(1.03);
}

.gadgets-hub__card-body {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
  padding: var(--space-md);
  flex: 1;
}

.gadgets-hub__card-meta {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.gadgets-hub__card-title {
  font-family: var(--font-serif);
  font-size: 1.15rem;
  line-height: 1.25;
}

.gadgets-hub__card-title a {
  color: inherit;
  text-decoration: none;
}

.gadgets-hub__card-title a:hover {
  color: var(--accent);
}

.gadgets-hub__card-deck {
  font-size: 0.925rem;
  line-height: 1.55;
  color: var(--text-muted);
  margin: 0;
  flex: 1;
}

.gadgets-hub__card-cta {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  margin-top: var(--space-xs);
}

.gadgets-hub__card-cta:hover {
  text-decoration: underline;
}

/* ── Hub: Terremoto en Venezuela ── */

.hub-promo--freedom-250 .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(10, 49, 97, 0.24) 0%, rgba(0, 0, 0, 0.42) 48%, rgba(178, 34, 52, 0.4) 100%),
    radial-gradient(ellipse 95% 72% at 50% 58%, rgba(0, 0, 0, 0.45) 0%, transparent 70%);
}

.hub-promo--venezuela .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(0, 36, 125, 0.35) 0%, rgba(0, 36, 125, 0.55) 48%, rgba(0, 36, 125, 0.78) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(207, 20, 43, 0.35) 0%, transparent 70%);
}

.hub-promo--recogidas .hub-promo__scrim {
  background:
    linear-gradient(180deg, rgba(0, 36, 125, 0.30) 0%, rgba(0, 36, 125, 0.52) 50%, rgba(0, 36, 125, 0.80) 100%),
    radial-gradient(ellipse 100% 72% at 50% 55%, rgba(255, 204, 0, 0.28) 0%, transparent 70%);
}

.hub-promo--recogidas .hub-promo__copy {
  pointer-events: auto;
  max-width: 46rem;
}

.hub-promo__recogidas-spotlight {
  width: 100%;
  max-width: 36rem;
  margin: var(--space-md) 0 var(--space-sm);
  padding: var(--space-md) var(--space-lg);
  border-radius: var(--radius-md);
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(255, 255, 255, 0.18);
  text-align: left;
}

.hub-promo__recogidas-location {
  margin: 0 0 var(--space-xs);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.78);
}

.hub-promo__recogidas-name {
  margin: 0 0 var(--space-xs);
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 2.2vw, 1.45rem);
  font-weight: 400;
  line-height: 1.2;
}

.hub-promo__recogidas-address,
.hub-promo__recogidas-hours {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.5;
  color: rgba(255, 255, 255, 0.92);
}

.hub-promo__recogidas-address {
  margin-bottom: var(--space-xs);
}

.hub-promo__recogidas-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--space-sm);
  margin-top: var(--space-md);
}

.hub-promo__recogidas-link {
  display: inline-flex;
  align-items: center;
  padding: 0.55rem 0.95rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.35);
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: background 0.15s ease, border-color 0.15s ease;
}

.hub-promo__recogidas-link:hover,
.hub-promo__recogidas-link:focus-visible {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.55);
  color: #fff;
}

.hub-promo__recogidas-link--primary {
  background: rgba(255, 204, 0, 0.92);
  border-color: rgba(255, 204, 0, 0.92);
  color: #00247d;
}

.hub-promo__recogidas-link--primary:hover,
.hub-promo__recogidas-link--primary:focus-visible {
  background: #ffdc4d;
  border-color: #ffdc4d;
  color: #00247d;
}

.home__hub-promo-mount--recogidas:not([hidden]) {
  margin: 0;
}

.home__hub-promo-mount--venezuela:not([hidden]) {
  margin: 0;
}

.home__hero-stack {
  margin: 0;
}

.home__hero-stack {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  margin-bottom: var(--space-xl);
}

/* Colapsar la franja «Destacada» cuando no hay promo visible (p. ej. páginas de categoría) para no dejar hueco bajo la barra principal */
.home__hero-stack:not(:has(> :not([hidden]))) {
  display: none;
}

/* Carrusel de banners del hub (Venezuela + Puntos de recogida) */
.hub-carousel {
  position: relative;
  overflow: hidden;
  border-radius: var(--radius-lg);
}

.hub-carousel__track {
  display: flex;
  gap: 0;
  will-change: transform;
}

.hub-carousel__track > .hub-promo {
  flex: 0 0 100%;
  width: 100%;
  border-radius: 0;
}

.hub-carousel__track > .teslarios-promo {
  flex: 0 0 100%;
  width: 100%;
  border-radius: 0;
  min-height: clamp(300px, 48vw, 430px);
}

.hub-carousel--single .hub-carousel__nav,
.hub-carousel--single .hub-carousel__dots {
  display: none;
}

.hub-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 3;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(0, 0, 0, 0.42);
  color: #fff;
  font-size: 1.6rem;
  line-height: 1;
  cursor: pointer;
  opacity: 0;
  transition: opacity 0.18s ease, background 0.18s ease;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.hub-carousel__nav--prev { left: 12px; }
.hub-carousel__nav--next { right: 12px; }

.hub-carousel:hover .hub-carousel__nav,
.hub-carousel:focus-within .hub-carousel__nav {
  opacity: 1;
}

.hub-carousel__nav:hover {
  background: rgba(0, 0, 0, 0.68);
}

.hub-carousel__nav:focus-visible {
  opacity: 1;
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

.hub-carousel__dots {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 12px;
  z-index: 3;
  display: flex;
  justify-content: center;
  gap: 8px;
}

.hub-carousel__dot {
  width: 9px;
  height: 9px;
  padding: 0;
  border: none;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.55);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  cursor: pointer;
  transition: width 0.2s ease, background 0.2s ease;
}

.hub-carousel__dot.is-active {
  width: 24px;
  background: #fff;
}

.hub-carousel__dot:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .hub-carousel__nav {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hub-carousel__track {
    scroll-behavior: auto;
  }
}

.home .feed {
  gap: var(--space-md);
}

.home .feed .feed__featured {
  margin-bottom: 0;
}

#breaking-mount.breaking:not([hidden]) {
  margin-bottom: var(--space-xl);
}

body[data-page="venezuela-hub"] {
  --venezuela-yellow: #FFCC00;
  --venezuela-blue: #00247D;
  --venezuela-red: #CF142B;
  --hub-chrome-top: calc(
    var(--header-height) + var(--breaking-ticker-height) + var(--safe-top, 0px)
  );
}

body[data-page="venezuela-hub"] .site-header {
  border-bottom-color: color-mix(in srgb, var(--venezuela-blue) 28%, var(--border));
}

body[data-page="venezuela-hub"]::before {
  background: linear-gradient(90deg, var(--venezuela-yellow) 0%, var(--venezuela-yellow) 33%, var(--venezuela-blue) 33%, var(--venezuela-blue) 66%, var(--venezuela-red) 66%, var(--venezuela-red) 100%);
  opacity: 0.85;
}

.venezuela-hub {
  max-width: var(--max-width-wide);
  width: 100%;
  margin: 0 auto;
  padding:
    var(--space-xl)
    max(var(--page-gutter), env(safe-area-inset-right, 0px))
    var(--space-2xl)
    max(var(--page-gutter), env(safe-area-inset-left, 0px));
}

.venezuela-hub__hero {
  position: relative;
  border-radius: var(--radius-lg);
  overflow: hidden;
  margin-bottom: var(--space-xl);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.venezuela-hub__hero-media img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1024 / 578;
  object-fit: cover;
}

.venezuela-hub__hero-copy {
  padding: var(--space-lg);
  background: var(--bg-elevated);
}

@media (min-width: 768px) {
  .venezuela-hub__hero {
    display: grid;
    grid-template-columns: 1.15fr 0.85fr;
    align-items: stretch;
  }

  .venezuela-hub__hero-media img {
    height: 100%;
    min-height: 280px;
  }

  .venezuela-hub__hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: var(--space-xl);
  }
}

.venezuela-hub__eyebrow {
  margin: 0 0 0.5rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--venezuela-blue, #00247D);
}

[data-theme="dark"] .venezuela-hub__eyebrow {
  color: var(--venezuela-yellow, #FFCC00);
}

.venezuela-hub__title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 400;
  line-height: 1.1;
}

.venezuela-hub__title em {
  font-style: italic;
}

.venezuela-hub__deck {
  margin: 0;
  font-size: 1.0625rem;
  line-height: 1.55;
  color: var(--text-secondary);
}

.venezuela-hub__tribute {
  max-width: 42rem;
  margin: 0 auto var(--space-2xl);
  padding: var(--space-lg);
  text-align: center;
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--venezuela-blue, #00247D) 6%, var(--surface));
  border: 1px solid color-mix(in srgb, var(--venezuela-blue, #00247D) 14%, var(--border));
}

.venezuela-hub__tribute-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.venezuela-hub__tribute-lead {
  margin: 0 0 var(--space-md);
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 2.6vw, 1.45rem);
  line-height: 1.45;
  text-wrap: balance;
}

.venezuela-hub__tribute-text {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
  color: var(--text-muted);
  text-wrap: pretty;
}

.venezuela-hub__stats {
  margin-bottom: var(--space-xl);
}

.venezuela-hub__resources {
  display: grid;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}

@media (min-width: 640px) {
  .venezuela-hub__resources {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.venezuela-hub__resource {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--venezuela-yellow, #FFCC00) 35%, var(--border));
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--venezuela-blue, #00247D) 10%, var(--surface)) 0%, color-mix(in srgb, var(--venezuela-red, #CF142B) 6%, var(--surface)) 100%);
}

.venezuela-hub__resource-copy {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 100%;
}

.venezuela-hub__resource-eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--venezuela-blue, #00247D);
}

[data-theme="dark"] .venezuela-hub__resource-eyebrow {
  color: var(--venezuela-yellow, #FFCC00);
}

.venezuela-hub__resource-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 3vw, 1.75rem);
  font-weight: 400;
  line-height: 1.2;
}

.venezuela-hub__resource-text {
  margin: 0 0 var(--space-md);
  font-size: 1rem;
  line-height: 1.65;
  color: var(--text-secondary);
  flex: 1;
}

.venezuela-hub__resource-cta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: auto;
  align-self: flex-start;
  padding: 0.65rem 1rem;
  border-radius: var(--radius-md);
  background: var(--venezuela-blue, #00247D);
  color: #fff;
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none;
  transition: opacity 0.15s ease;
}

.venezuela-hub__resource-cta:hover {
  opacity: 0.9;
  color: #fff;
}

.venezuela-hub__resource-details {
  margin: 0 0 var(--space-md);
  display: grid;
  gap: 0.65rem;
}

.venezuela-hub__resource-details > div {
  display: grid;
  gap: 0.15rem;
}

.venezuela-hub__resource-details dt {
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.venezuela-hub__resource-details dd {
  margin: 0;
  font-size: 1rem;
  line-height: 1.55;
  color: var(--text-secondary);
}

.venezuela-hub__resource-details dd small {
  color: var(--text-muted);
}

.venezuela-hub__resource-details a {
  color: var(--venezuela-blue, #00247D);
  font-weight: 600;
}

[data-theme="dark"] .venezuela-hub__resource-details a {
  color: var(--venezuela-yellow, #FFCC00);
}

.venezuela-hub__resource-actions {
  margin: auto 0 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.venezuela-hub__resource-actions .venezuela-hub__resource-cta {
  margin-top: 0;
}

.venezuela-hub__resource--feature {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.venezuela-hub__resource-media {
  position: absolute;
  inset: 0;
  z-index: -2;
  margin: 0;
  display: block;
}

.venezuela-hub__resource-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.venezuela-hub__resource--feature::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    linear-gradient(180deg, rgba(0, 36, 125, 0.55) 0%, rgba(0, 36, 125, 0.80) 100%),
    radial-gradient(ellipse 120% 80% at 50% 40%, rgba(207, 20, 43, 0.28) 0%, transparent 70%);
}

.venezuela-hub__resource--feature:hover .venezuela-hub__resource-media img {
  transform: scale(1.03);
}

.venezuela-hub__resource--feature .venezuela-hub__resource-eyebrow,
.venezuela-hub__resource--feature .venezuela-hub__resource-title,
.venezuela-hub__resource--feature .venezuela-hub__resource-text {
  color: #fff;
}

[data-theme="dark"] .venezuela-hub__resource--feature .venezuela-hub__resource-eyebrow {
  color: #fff;
}

.venezuela-hub__stats-title {
  margin: 0 0 0.35rem;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
}

.venezuela-hub__stats-note {
  margin: 0 0 var(--space-lg);
  font-size: 0.8125rem;
  text-align: center;
  color: var(--text-muted);
}

.venezuela-hub__stats-note a {
  color: var(--accent);
}

.venezuela-hub__stats-grid {
  display: grid;
  gap: var(--space-sm);
  margin: 0;
}

@media (min-width: 640px) {
  .venezuela-hub__stats-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .venezuela-hub__stats-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.venezuela-hub__stat {
  padding: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--surface);
}

.venezuela-hub__stat dt {
  margin: 0 0 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.venezuela-hub__stat dd {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
}

.venezuela-hub__stat-detail {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.8125rem;
  font-weight: 400;
  color: var(--text-muted);
}

.venezuela-hub__stat-trend {
  display: inline-block;
  margin-right: 0.35rem;
  font-size: 0.85em;
  font-weight: 700;
  line-height: 1;
  vertical-align: middle;
}

.venezuela-hub__stat-trend--up {
  color: var(--venezuela-red, #CF142B);
}

.venezuela-hub__stat-trend--down {
  color: #1f9d55;
}

.venezuela-hub__stat-trend--flat {
  color: #E67E22;
}

.venezuela-hub__emergency {
  margin-bottom: var(--space-xl);
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--venezuela-red, #CF142B) 22%, var(--border));
  background: color-mix(in srgb, var(--venezuela-blue, #00247D) 5%, var(--surface));
}

.venezuela-hub__emergency-title {
  margin: 0 0 0.35rem;
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
  text-align: center;
  color: var(--text);
}

.venezuela-hub__emergency-note {
  margin: 0 0 var(--space-lg);
  font-size: 0.875rem;
  line-height: 1.55;
  text-align: center;
  color: var(--text-muted);
}

.venezuela-hub__emergency-grid {
  display: grid;
  gap: var(--space-md);
}

@media (min-width: 768px) {
  .venezuela-hub__emergency-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .venezuela-hub__emergency-card--wide {
    grid-column: 1 / -1;
  }
}

.venezuela-hub__emergency-card {
  padding: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--bg-elevated);
}

.venezuela-hub__emergency-card--primary {
  border-color: color-mix(in srgb, var(--venezuela-red, #CF142B) 35%, var(--border));
  background: color-mix(in srgb, var(--venezuela-red, #CF142B) 6%, var(--bg-elevated));
}

.venezuela-hub__emergency-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--venezuela-blue, #00247D);
}

[data-theme="dark"] .venezuela-hub__emergency-label {
  color: var(--venezuela-yellow, #FFCC00);
}

.venezuela-hub__emergency-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.venezuela-hub__emergency-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.5rem;
  padding: 0.35rem 0;
  border-bottom: 1px solid var(--border);
  font-size: 0.9375rem;
  line-height: 1.4;
}

.venezuela-hub__emergency-list li:last-child {
  border-bottom: none;
}

.venezuela-hub__emergency-list span {
  font-size: 0.8125rem;
  color: var(--text-muted);
}

.venezuela-hub__emergency-list a {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.venezuela-hub__emergency-list a:hover {
  text-decoration: underline;
}

.venezuela-hub__emergency-list--phones a {
  font-variant-numeric: tabular-nums;
}

.venezuela-hub__emergency-fire {
  display: grid;
  gap: var(--space-sm);
  margin: 0;
}

@media (min-width: 640px) {
  .venezuela-hub__emergency-fire {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .venezuela-hub__emergency-fire {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.venezuela-hub__emergency-fire > div {
  padding: 0.5rem 0;
  border-bottom: 1px solid var(--border);
}

.venezuela-hub__emergency-fire dt {
  margin: 0 0 0.2rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-secondary);
}

.venezuela-hub__emergency-fire dd {
  margin: 0;
  font-size: 0.9375rem;
  line-height: 1.45;
}

.venezuela-hub__emergency-fire a {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  font-variant-numeric: tabular-nums;
}

.venezuela-hub__emergency-fire a:hover {
  text-decoration: underline;
}

.venezuela-hub__crisis-bar {
  position: sticky;
  top: var(--hub-chrome-top);
  z-index: 99;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-sm);
  margin-bottom: var(--space-xl);
  padding: 0.65rem var(--space-md);
  border-radius: var(--radius-md);
  background: linear-gradient(90deg, var(--venezuela-yellow, #FFCC00) 0%, var(--venezuela-yellow, #FFCC00) 4px, var(--venezuela-blue, #00247D) 4px);
  color: #fff;
  box-shadow: 0 4px 20px rgba(0, 36, 125, 0.18);
}

.venezuela-hub__crisis-flag {
  font-size: 1.25rem;
  line-height: 1;
}

.venezuela-hub__crisis-text {
  flex: 1;
  font-size: 0.875rem;
  line-height: 1.35;
}

.venezuela-hub__crisis-link {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--venezuela-yellow, #FFCC00);
  text-decoration: none;
  white-space: nowrap;
}

.venezuela-hub__crisis-link:hover {
  text-decoration: underline;
}

.venezuela-hub__breaking-title,
.venezuela-hub__coverage-title {
  margin: 0 0 var(--space-lg);
  font-family: var(--font-serif);
  font-size: 1.5rem;
  font-weight: 400;
}

.venezuela-hub__breaking-list {
  display: grid;
  gap: var(--space-sm);
  margin-bottom: var(--space-2xl);
}

.venezuela-hub__breaking-list {
  display: grid;
  gap: var(--space-sm);
  margin-bottom: var(--space-2xl);
}

.home__micro-briefs {
  margin: 0 auto var(--space-xl);
  max-width: var(--content-max);
  padding: 0 var(--space-md);
}

.home__micro-briefs--top {
  margin-top: var(--space-md);
  margin-bottom: var(--space-lg);
}

.home__micro-briefs--top:not([hidden]) {
  animation: micro-brief-enter 0.45s ease-out;
}

@keyframes micro-brief-enter {
  from {
    opacity: 0;
    transform: translateY(-6px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.home__micro-briefs[hidden] {
  display: none;
}

.home__micro-briefs-title {
  font-size: var(--text-sm);
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent);
  margin: 0 0 var(--space-md);
}

.home__micro-briefs-list {
  display: grid;
  gap: var(--space-md);
}

/* Micro noticias — formato compacto de última hora */
.micro-brief {
  padding: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid color-mix(in srgb, var(--accent) 35%, var(--border));
  border-left: 4px solid var(--accent);
  background: color-mix(in srgb, var(--accent) 6%, var(--surface));
}

.micro-brief__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.6rem;
  margin-bottom: 0.55rem;
}

.micro-brief__badge {
  display: inline-block;
  padding: 0.15rem 0.45rem;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.micro-brief__region,
.micro-brief__mag,
.micro-brief__time {
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.micro-brief__mag {
  color: var(--accent);
}

.micro-brief__title {
  margin: 0 0 0.45rem;
  font-family: var(--font-serif);
  font-size: 1.15rem;
  line-height: 1.3;
  font-weight: 400;
}

.micro-brief__deck {
  margin: 0 0 0.75rem;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--text-muted);
}

.micro-brief__media {
  margin: 0 0 0.65rem;
}

.micro-brief__video {
  display: block;
  width: 100%;
  max-height: 320px;
  border-radius: calc(var(--radius-md) - 2px);
  background: #000;
}

.micro-brief__caption {
  margin-top: 0.35rem;
  font-size: 0.78rem;
  color: var(--text-muted);
}

.micro-brief__caption a {
  color: inherit;
}

.micro-brief--breaking {
  border-left-width: 5px;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--accent) 12%, transparent);
}

.micro-brief__title-link {
  color: inherit;
  text-decoration: none;
}

.micro-brief__title-link:hover {
  color: var(--accent);
}

.micro-brief__media-link {
  display: block;
  border-radius: calc(var(--radius-md) - 2px);
  overflow: hidden;
}

.micro-brief__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 0.35rem;
}

.micro-brief__cta {
  display: inline-flex;
  align-items: center;
  padding: 0.45rem 0.85rem;
  border-radius: 999px;
  background: var(--accent);
  color: #fff;
  font-size: 0.82rem;
  font-weight: 700;
  text-decoration: none;
}

.micro-brief__cta:hover {
  filter: brightness(1.05);
}

.micro-brief__source {
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.micro-brief__source:hover {
  text-decoration: underline;
}

.venezuela-hub__breaking-card {
  padding: var(--space-md);
  border-radius: var(--radius-md);
  border: 1px solid var(--border);
  background: var(--surface);
}

.venezuela-hub__breaking-card time {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.venezuela-hub__breaking-card h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
}

.venezuela-hub__breaking-card a {
  color: inherit;
  text-decoration: none;
}

.venezuela-hub__breaking-card a:hover {
  color: var(--accent);
}

.venezuela-hub__grid {
  display: grid;
  gap: var(--space-lg);
}

@media (min-width: 768px) {
  .venezuela-hub__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

.venezuela-hub__card {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  overflow: hidden;
  background: var(--surface);
}

.venezuela-hub__card-media {
  display: block;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.venezuela-hub__card-media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.2s ease;
}

.venezuela-hub__card:hover .venezuela-hub__card-media img {
  transform: scale(1.03);
}

.venezuela-hub__card-body {
  display: flex;
  flex-direction: column;
  flex: 1;
  padding: var(--space-md);
}

.venezuela-hub__card-meta {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.venezuela-hub__card-title {
  margin: 0 0 0.5rem;
  font-size: 1.0625rem;
  line-height: 1.35;
}

.venezuela-hub__card-title a {
  color: inherit;
  text-decoration: none;
}

.venezuela-hub__card-title a:hover {
  color: var(--accent);
}

.venezuela-hub__card-deck {
  margin: 0 0 var(--space-sm);
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--text-muted);
  flex: 1;
}

.venezuela-hub__card-cta {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.venezuela-hub__card-cta:hover {
  text-decoration: underline;
}

.venezuela-hub__footer-cta {
  margin-top: var(--space-xl);
  text-align: center;
  font-size: 0.9375rem;
}

.venezuela-hub__category-link,
.venezuela-hub__home-link {
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
}

.venezuela-hub__category-link:hover,
.venezuela-hub__home-link:hover {
  text-decoration: underline;
}

body[data-page="venezuela-recogidas"] {
  --venezuela-yellow: #FFCC00;
  --venezuela-blue: #00247D;
  --venezuela-red: #CF142B;
}

body[data-page="venezuela-recogidas"] .site-header {
  border-bottom-color: color-mix(in srgb, var(--venezuela-blue) 28%, var(--border));
}

body[data-page="venezuela-recogidas"]::before {
  background: linear-gradient(90deg, var(--venezuela-yellow) 0%, var(--venezuela-yellow) 33%, var(--venezuela-blue) 33%, var(--venezuela-blue) 66%, var(--venezuela-red) 66%, var(--venezuela-red) 100%);
  opacity: 0.85;
}

.recogidas-hub__filters {
  margin-bottom: var(--space-lg);
  padding: var(--space-lg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-elevated);
}

.recogidas-hub__filter-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
}

.recogidas-hub__filter {
  display: flex;
  flex-direction: column;
  gap: var(--space-xs);
}

.recogidas-hub__filter-label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.recogidas-hub__select {
  width: 100%;
  padding: 0.65rem 0.85rem;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--bg);
  color: var(--text);
  font: inherit;
}

.recogidas-hub__select:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.recogidas-hub__meta {
  margin: 0;
  font-size: 0.875rem;
  color: var(--text-muted);
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.5rem;
}

.recogidas-hub__empty {
  padding: var(--space-xl) var(--space-lg);
  border: 1px dashed color-mix(in srgb, var(--venezuela-blue) 35%, var(--border));
  border-radius: var(--radius-lg);
  background: color-mix(in srgb, var(--venezuela-blue) 4%, var(--bg-elevated));
  text-align: center;
  margin-bottom: var(--space-lg);
}

.recogidas-hub__empty[hidden] {
  display: none;
}

.recogidas-hub__empty-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.5vw, 1.75rem);
  font-weight: 400;
}

.recogidas-hub__empty-text {
  margin: 0;
  max-width: 42ch;
  margin-inline: auto;
  color: var(--text-muted);
  line-height: 1.6;
}

.recogidas-hub__submit {
  margin-top: var(--space-xl);
  padding: var(--space-lg) var(--space-xl);
  border-radius: var(--radius-lg);
  border: 1px solid color-mix(in srgb, var(--venezuela-blue) 28%, var(--border));
  background: color-mix(in srgb, var(--venezuela-blue) 6%, var(--bg-elevated));
}

.recogidas-hub__submit-text {
  margin: 0;
  max-width: 52ch;
  color: var(--text-muted);
  line-height: 1.65;
  font-size: 0.9375rem;
}

.recogidas-hub__submit-link {
  color: var(--venezuela-blue);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.15em;
}

.recogidas-hub__submit-link:hover {
  color: var(--link-hover, var(--venezuela-red));
}

.recogidas-hub__list {
  display: grid;
  gap: var(--space-md);
  margin-bottom: var(--space-xl);
}

.recogidas-hub__list:empty {
  display: none;
}

.recogidas-card {
  padding: var(--space-lg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-elevated);
}

.recogidas-card__head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: var(--space-md);
  margin-bottom: var(--space-sm);
}

.recogidas-card__location {
  margin: 0 0 0.15rem;
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.recogidas-card__title {
  margin: 0;
  font-size: 1.125rem;
  line-height: 1.3;
}

.recogidas-card__badge {
  flex-shrink: 0;
  padding: 0.2rem 0.55rem;
  border-radius: 999px;
  font-size: 0.75rem;
  font-weight: 600;
  background: color-mix(in srgb, var(--text-muted) 12%, transparent);
  color: var(--text-muted);
}

.recogidas-card__badge--verified {
  background: color-mix(in srgb, var(--venezuela-blue) 14%, transparent);
  color: var(--venezuela-blue);
}

[data-theme="dark"] .recogidas-card__badge--verified {
  color: #8eb4ff;
}

.recogidas-card__address,
.recogidas-card__meta {
  margin: 0.35rem 0 0;
  line-height: 1.55;
  color: var(--text-muted);
}

.recogidas-card__actions {
  margin: var(--space-sm) 0 0;
}

.recogidas-card__link {
  font-weight: 600;
  color: var(--venezuela-blue);
  text-decoration: none;
}

.recogidas-card__link:hover {
  text-decoration: underline;
}

[data-theme="dark"] .recogidas-card__link {
  color: #8eb4ff;
}

/* Pan's Labyrinth article — ambient Spotify soundtrack
   z-index 40: por encima del contenido, por debajo de notify-banner (90), modales (200+) */
.pans-ambient {
  position: fixed;
  left: max(var(--space-md), env(safe-area-inset-left));
  right: max(var(--space-md), env(safe-area-inset-right));
  bottom: max(var(--space-md), env(safe-area-inset-bottom));
  z-index: 40;
  pointer-events: none;
}

.pans-ambient__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-md);
  max-width: 42rem;
  margin: 0 auto;
  padding: 0.75rem 1rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  background: color-mix(in srgb, var(--surface) 92%, transparent);
  backdrop-filter: blur(12px);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
  pointer-events: auto;
}

.pans-ambient--playing .pans-ambient__inner {
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
}

.pans-ambient__meta {
  min-width: 0;
}

.pans-ambient__track {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.35;
  color: var(--text);
}

.pans-ambient__track strong {
  font-weight: 600;
}

.pans-ambient__note {
  color: var(--accent);
}

.pans-ambient__source {
  margin: 0.15rem 0 0;
  font-size: 0.75rem;
  color: var(--text-muted);
}

.pans-ambient__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

.pans-ambient__toggle {
  appearance: none;
  font: inherit;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: 1px solid var(--border-light);
  border-radius: 100px;
  background: var(--bg-elevated);
  color: var(--text-secondary);
  transition:
    border-color var(--transition),
    color var(--transition),
    background var(--transition),
    box-shadow var(--transition);
}

.pans-ambient__toggle:hover,
.pans-ambient__toggle:focus-visible {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
  outline: none;
}

.pans-ambient__toggle[aria-pressed="true"] {
  border-color: var(--accent);
  color: var(--accent);
  background: var(--accent-soft);
  box-shadow: 0 0 0 1px rgba(45, 74, 62, 0.08);
}

[data-theme="dark"] .pans-ambient__toggle[aria-pressed="true"] {
  box-shadow: 0 0 0 1px rgba(142, 181, 163, 0.15);
}

.pans-ambient__links {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  flex-shrink: 0;
}

.pans-ambient__link {
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--accent);
  text-decoration: none;
  white-space: nowrap;
}

.pans-ambient__link:hover {
  text-decoration: underline;
}

.pans-ambient__links-sep {
  font-size: 0.75rem;
  color: var(--text-muted);
}

.pans-ambient__vault {
  position: fixed;
  left: -10000px;
  top: -10000px;
  width: 320px;
  height: 83px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(100%);
  pointer-events: none;
  z-index: -9999;
  opacity: 0;
}

.pans-ambient__embed {
  width: 320px;
  height: 83px;
  overflow: hidden;
}

body[data-brand="pans-labyrinth"] iframe[src*="spotify.com/embed"] {
  position: fixed !important;
  left: -10000px !important;
  top: -10000px !important;
  width: 320px !important;
  height: 83px !important;
  opacity: 0 !important;
  pointer-events: none !important;
  border: 0 !important;
  clip-path: inset(100%) !important;
  z-index: -9999 !important;
}

@media (max-width: 640px) {
  .pans-ambient__inner {
    border-radius: 1rem;
    flex-direction: column;
    align-items: stretch;
  }

  .pans-ambient__actions {
    justify-content: space-between;
  }
}

/* Lugares hub — reutiliza gadgets-hub; filtros de apps-hub */
.lugares-hub__empty {
  margin: 1.25rem 0 0;
  padding: 1.25rem 1.5rem;
  border-radius: 0.75rem;
  background: var(--color-surface-2, rgba(0, 0, 0, 0.04));
  color: var(--color-text-muted, #5c5c5c);
  font-size: 0.95rem;
  line-height: 1.55;
  text-align: center;
}

.lugares-hub__card--hidden {
  display: none !important;
}

[data-theme="dark"] .lugares-hub__empty {
  background: rgba(255, 255, 255, 0.06);
  color: var(--color-text-muted, #a8a8a8);
}

/* Gaming tops hub */
body[data-page="gaming-tops-hub"] .site-header {
  border-bottom-color: var(--border);
}

.gaming-tops-hub {
  max-width: var(--content-max);
  margin: 0 auto;
}

.gaming-tops-hub__hero {
  display: grid;
  gap: var(--space-md);
  margin: var(--space-md) 0 var(--space-lg);
  padding: var(--space-lg);
  border-radius: var(--radius-lg);
  border: 1px solid var(--border);
  background: var(--surface);
}

.gaming-tops-hub__hero--pending .gaming-tops-hub__hero-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8rem;
  border-radius: var(--radius-md);
  background: linear-gradient(135deg, color-mix(in srgb, #6c5ce7 18%, var(--bg)), color-mix(in srgb, #00b894 12%, var(--bg)));
}

.gaming-tops-hub__hero-icon {
  font-size: 3rem;
  line-height: 1;
  opacity: 0.85;
}

.gaming-tops-hub__hero-copy {
  text-align: center;
}

@media (min-width: 768px) {
  .gaming-tops-hub__hero {
    grid-template-columns: 1fr 2fr;
    align-items: center;
    text-align: left;
  }

  .gaming-tops-hub__hero-copy {
    text-align: left;
  }
}

.gaming-tops-hub__body {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  width: 100%;
}

.gaming-tops-hub__filters {
  margin: 0;
}

.gaming-tops-hub__highlights {
  display: flex;
  flex-direction: column;
  gap: var(--space-sm);
}

.gaming-tops-hub__highlights-title {
  margin: 0;
  font-family: var(--font-serif);
  font-size: clamp(1.35rem, 2.5vw, 1.65rem);
  font-weight: 400;
  line-height: 1.2;
}

.gaming-tops-hub__highlights-deck {
  margin: 0;
  max-width: 42rem;
  font-size: 0.9375rem;
  line-height: 1.55;
  color: var(--text-muted);
}

.gaming-tops-hub__highlights-grid {
  display: grid;
  gap: var(--space-sm);
  margin: var(--space-xs) 0 0;
  padding: 0;
  list-style: none;
}

@media (min-width: 640px) {
  .gaming-tops-hub__highlights-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 960px) {
  .gaming-tops-hub__highlights-grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

.gaming-tops-hub__highlight {
  display: grid;
  grid-template: 1fr / 1fr;
  align-items: end;
  width: 100%;
  min-height: clamp(10.5rem, 22vw, 13.5rem);
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: var(--surface);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.gaming-tops-hub__highlight--media {
  color: #fff;
  background: #0a0a09;
}

.gaming-tops-hub__highlight-media,
.gaming-tops-hub__highlight-body {
  grid-area: 1 / 1;
}

.gaming-tops-hub__highlight-media {
  position: relative;
  z-index: 0;
  min-height: inherit;
  overflow: hidden;
}

.gaming-tops-hub__highlight-media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.gaming-tops-hub__highlight--media[data-gaming-section="sales"] .gaming-tops-hub__highlight-media img {
  object-position: center top;
}

.gaming-tops-hub__highlight--media[data-gaming-section="budgets"] .gaming-tops-hub__highlight-media img {
  object-position: center;
  object-fit: contain;
  background: #0c0818;
}

.gaming-tops-hub__highlight-scrim {
  position: absolute;
  inset: 0;
  z-index: 1;
  background:
    linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.42) 52%, rgba(0, 0, 0, 0.82) 100%);
}

.gaming-tops-hub__highlight-body {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  padding: var(--space-md);
}

.gaming-tops-hub__highlight:not(.gaming-tops-hub__highlight--media) .gaming-tops-hub__highlight-body {
  min-height: inherit;
  justify-content: flex-end;
}

.gaming-tops-hub__highlight:hover,
.gaming-tops-hub__highlight:focus-visible {
  border-color: color-mix(in srgb, var(--accent) 45%, var(--border));
  box-shadow: 0 4px 18px color-mix(in srgb, var(--accent) 10%, transparent);
  transform: translateY(-1px);
  outline: none;
}

.gaming-tops-hub__highlight-label {
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--text-muted);
}

.gaming-tops-hub__highlight--media .gaming-tops-hub__highlight-label {
  color: rgba(255, 255, 255, 0.78);
}

.gaming-tops-hub__highlight-name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  font-family: var(--font-serif);
  font-size: 1.125rem;
  line-height: 1.25;
}

.gaming-tops-hub__highlight-value {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--accent);
}

.gaming-tops-hub__highlight--media .gaming-tops-hub__highlight-value {
  color: #fff;
}

.gaming-tops-hub__highlight-note {
  display: block;
  font-size: 0.75rem;
  line-height: 1.4;
  color: var(--text-muted);
}

.gaming-tops-hub__highlight--media .gaming-tops-hub__highlight-note {
  color: rgba(255, 255, 255, 0.72);
}

.gaming-tops-hub__highlight--media .gaming-tops__badge {
  border-color: rgba(255, 255, 255, 0.28);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
}

.gaming-tops-hub__sections {
  display: flex;
  flex-direction: column;
  gap: var(--space-lg);
  width: 100%;
}

.gaming-tops__section {
  padding: 0;
  border: none;
  border-radius: 0;
  background: transparent;
}

.gaming-tops__section--hidden {
  display: none !important;
}

.gaming-tops__section-title {
  font-family: var(--font-serif);
  font-size: clamp(1.25rem, 2.2vw, 1.6rem);
  font-weight: 400;
  margin: 0 0 0.35rem;
  padding: 0;
}

.gaming-tops__section-deck {
  font-size: 0.9rem;
  color: var(--text-muted);
  margin: 0 0 var(--space-md);
  max-width: 65ch;
  padding: 0;
  line-height: 1.55;
}

.gaming-tops__table-wrap {
  overflow-x: auto;
  margin: 0;
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
}

.gaming-tops__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
}

.gaming-tops__table th,
.gaming-tops__table td {
  padding: 0.72rem 1rem;
  text-align: left;
  border-bottom: 1px solid var(--border);
  vertical-align: top;
}

.gaming-tops__table th:first-child,
.gaming-tops__table td:first-child {
  padding-left: 1.1rem;
}

.gaming-tops__table th:last-child,
.gaming-tops__table td:last-child {
  padding-right: 1.1rem;
}

.gaming-tops__table thead th {
  padding-top: 0.85rem;
  padding-bottom: 0.8rem;
}

.gaming-tops__table tbody tr:last-child td {
  padding-bottom: 0.85rem;
  border-bottom: none;
}

.gaming-tops__table th {
  font-size: 0.7rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--text-muted);
  background: color-mix(in srgb, var(--border) 35%, var(--surface));
}

.gaming-tops__table tbody tr:hover {
  background: color-mix(in srgb, var(--border) 25%, transparent);
}

.gaming-tops__rank {
  width: 3rem;
  font-variant-numeric: tabular-nums;
  font-weight: 600;
  color: var(--text-muted);
}

.gaming-tops__name {
  min-width: 10rem;
}

.gaming-tops__name strong {
  font-weight: 600;
}

.gaming-tops__value {
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  font-weight: 500;
}

.gaming-tops__meta {
  color: var(--text-muted);
  font-size: 0.82rem;
}

.gaming-tops__note {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.75rem;
  color: var(--text-muted);
  font-weight: 400;
}

.gaming-tops__badge {
  display: inline-block;
  margin-left: 0.35rem;
  padding: 0.1rem 0.4rem;
  font-size: 0.65rem;
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  border-radius: 4px;
  vertical-align: middle;
}

.gaming-tops__badge--estimate {
  background: color-mix(in srgb, #fdcb6e 25%, transparent);
  color: color-mix(in srgb, #e17055 80%, var(--text));
}

.gaming-tops__badge--confirmed {
  background: color-mix(in srgb, #00b894 20%, transparent);
  color: color-mix(in srgb, #00b894 70%, var(--text));
}

.gaming-tops__badge--reported,
.gaming-tops__badge--crowdfunded,
.gaming-tops__badge--live-service {
  background: color-mix(in srgb, #6c5ce7 15%, transparent);
  color: color-mix(in srgb, #6c5ce7 75%, var(--text));
}

.gaming-tops__loading,
.gaming-tops__error {
  text-align: center;
  color: var(--text-muted);
  padding: var(--space-lg);
}

.gaming-tops-hub__meta {
  margin-top: var(--space-sm);
  padding: var(--space-lg);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--surface);
  width: 100%;
}

.gaming-tops-hub__updated {
  display: inline-block;
  margin: 0 0 var(--space-md);
  padding: 0.3rem 0.65rem;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.02em;
  color: var(--text-muted);
  background: color-mix(in srgb, var(--border) 35%, var(--surface));
  border: 1px solid var(--border);
  border-radius: 999px;
}

.gaming-tops-hub__meta-title {
  margin: 0 0 var(--space-sm);
  font-family: var(--font-serif);
  font-size: clamp(1.1rem, 2vw, 1.35rem);
  font-weight: 400;
  line-height: 1.3;
  color: var(--text);
}

.gaming-tops-hub__methodology-text {
  margin: 0 0 var(--space-lg);
  max-width: 72ch;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--text-muted);
}

.gaming-tops-hub__sources {
  padding-top: var(--space-md);
  border-top: 1px solid var(--border);
}

.gaming-tops-hub__sources-label {
  margin: 0 0 var(--space-sm);
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--accent);
}

.gaming-tops-hub__sources-mount:empty {
  display: none;
}

.gaming-tops__sources-list {
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.55rem;
}

.gaming-tops__sources-list li {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.5rem;
  padding: 0.55rem 0.75rem;
  font-size: 0.875rem;
  line-height: 1.45;
  border: 1px solid var(--border);
  border-radius: var(--radius-md);
  background: color-mix(in srgb, var(--border) 18%, var(--surface));
}

.gaming-tops__sources-list a {
  color: var(--link, #6c5ce7);
  font-weight: 500;
  text-decoration: none;
}

.gaming-tops__sources-list a:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
}

.gaming-tops__sources-list li::before {
  content: counter(source-counter);
  counter-increment: source-counter;
  flex-shrink: 0;
  width: 1.35rem;
  height: 1.35rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--text-muted);
  background: var(--surface);
  border: 1px solid var(--border);
  border-radius: 999px;
}

.gaming-tops-hub__sources-mount {
  counter-reset: source-counter;
}

[data-theme="dark"] .gaming-tops-hub__meta {
  background: color-mix(in srgb, var(--surface) 92%, #000);
}

[data-theme="dark"] .gaming-tops__sources-list li {
  background: color-mix(in srgb, var(--border) 22%, transparent);
}

/* Cookie consent banner */
.cookie-consent {
  position: fixed;
  inset: auto 0 0 0;
  z-index: 9999;
  padding: var(--space-md);
  padding-bottom: max(var(--space-md), env(safe-area-inset-bottom));
  pointer-events: none;
  background: linear-gradient(
    to top,
    color-mix(in srgb, var(--bg) 96%, transparent) 0%,
    color-mix(in srgb, var(--bg) 72%, transparent) 55%,
    transparent 100%
  );
}

.cookie-consent__inner {
  pointer-events: auto;
  max-width: 42rem;
  margin: 0 auto;
  padding: var(--space-md) var(--space-lg);
  background: var(--bg-elevated);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-md), 0 0 0 1px color-mix(in srgb, var(--border) 40%, transparent);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}

[data-theme="dark"] .cookie-consent__inner {
  background: color-mix(in srgb, var(--bg-elevated) 94%, #000);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.45), 0 0 0 1px color-mix(in srgb, var(--border) 55%, transparent);
}

.cookie-consent__text {
  margin: 0 0 var(--space-md);
  font-size: 0.9rem;
  line-height: 1.55;
  color: var(--text);
}

.cookie-consent__text a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 0.15em;
}

.cookie-consent__actions {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-sm);
}

.cookie-consent__btn {
  appearance: none;
  border: 1px solid var(--border);
  border-radius: 999px;
  padding: 0.55rem 1rem;
  font: inherit;
  font-size: 0.85rem;
  font-weight: 600;
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

.cookie-consent__btn--primary {
  background: var(--text);
  color: var(--bg);
  border-color: var(--text);
}

.cookie-consent__btn--primary:hover {
  opacity: 0.92;
}

.cookie-consent__btn--ghost {
  background: transparent;
  color: var(--text-muted);
}

.cookie-consent__btn--ghost:hover {
  color: var(--text);
  border-color: color-mix(in srgb, var(--text) 35%, var(--border));
}

@media (max-width: 520px) {
  .cookie-consent__actions {
    flex-direction: column;
  }

  .cookie-consent__btn {
    width: 100%;
    text-align: center;
  }
}

/* —— FBI buscados (portada + hub) —— */
.home__fbi-buscados-mount:not(:empty) {
  display: block;
}

.fbi-home {
  margin: 0 0 var(--space-md);
  padding: var(--space-md);
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  background: var(--fbi-blue);
  color: #fff;
  overflow: hidden;
  box-shadow: 0 8px 28px color-mix(in srgb, var(--fbi-blue) 32%, transparent);
}

.fbi-home__header {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin-bottom: 0.85rem;
}

.fbi-home__intro {
  flex: 1 1 16rem;
  min-width: 0;
}

.fbi-home__bar {
  flex: 0 0 100%;
  width: 100%;
  margin-bottom: 0.65rem;
  border-radius: 6px;
  overflow: hidden;
  height: 2.25rem;
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--fbi-gold) 92%, #fff) 0%,
    var(--fbi-gold) 45%,
    var(--fbi-gold-dark) 100%
  );
  border: 1px solid color-mix(in srgb, var(--fbi-gold-dark) 70%, #000);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.35);
}

.fbi-home__bar-inner {
  display: flex;
  align-items: stretch;
  height: 100%;
  width: 100%;
}

.fbi-home__bar-badge {
  display: flex;
  align-items: center;
  margin: 0;
  padding: 0 0.85rem;
  flex-shrink: 0;
  font-size: 0.625rem;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--fbi-blue-dark);
  background: color-mix(in srgb, var(--fbi-gold-dark) 22%, rgba(0, 0, 0, 0.1));
  border-right: 1px solid color-mix(in srgb, var(--fbi-gold-dark) 55%, #000);
}

.fbi-home__bar-viewport {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  display: flex;
  align-items: center;
}

.fbi-home__bar-track {
  display: flex;
  flex-wrap: nowrap;
  width: max-content;
  will-change: transform;
  animation: fbi-home-bar-marquee var(--fbi-home-bar-duration, 20s) linear infinite;
}

.fbi-home__bar-group {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  gap: 1.25rem;
  padding-right: 1.25rem;
  white-space: nowrap;
}

.fbi-home__bar-item {
  font-size: 0.6875rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--fbi-blue-dark);
  line-height: 1;
}

.fbi-home__bar-sep {
  flex-shrink: 0;
  opacity: 0.55;
  font-size: 0.625rem;
  line-height: 1;
  color: var(--fbi-blue-dark);
}

@keyframes fbi-home-bar-marquee {
  0% { transform: translate3d(0, 0, 0); }
  100% { transform: translate3d(calc(-1 * var(--fbi-home-bar-shift, 0px)), 0, 0); }
}

@media (prefers-reduced-motion: reduce) {
  .fbi-home__bar-track {
    animation: none;
  }
}

.fbi-home__title {
  margin: 0 0 0.35rem;
  font-family: var(--font-serif);
  font-size: clamp(1.15rem, 2.5vw, 1.45rem);
  font-weight: 400;
  line-height: 1.2;
  color: #fff;
}

.fbi-home__subtitle,
.fbi-home__tip {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: rgba(255, 255, 255, 0.84);
}

.fbi-home__tip {
  margin-top: 0.35rem;
  font-size: 0.8rem;
  color: rgba(255, 255, 255, 0.72);
}

.fbi-home__hub-link {
  flex-shrink: 0;
  align-self: center;
  font-size: 0.85rem;
  font-weight: 600;
  color: #fff;
  text-decoration: underline;
  text-decoration-color: rgba(255, 255, 255, 0.45);
}

.fbi-home__hub-link:hover {
  text-decoration-color: rgba(255, 255, 255, 0.85);
}

.fbi-home__track {
  display: flex;
  align-items: flex-start;
  gap: 0.85rem;
  overflow-x: auto;
  padding-bottom: 0.25rem;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}

.fbi-home__track .fbi-card {
  flex: 0 0 min(240px, 78vw);
  scroll-snap-align: start;
}

.fbi-card {
  border: 1px solid var(--border);
  border-radius: 12px;
  background: var(--surface);
  overflow: hidden;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.fbi-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
  color: inherit;
  text-decoration: none;
}

.fbi-card__poster {
  position: relative;
  margin: 0;
  flex-shrink: 0;
  width: 100%;
  aspect-ratio: 197 / 254;
  background: #111;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.fbi-card--compact .fbi-card__poster {
  aspect-ratio: 197 / 200;
}

.fbi-card__poster img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
  background: #1a1a1a;
}

.fbi-card__badge {
  position: absolute;
  top: 0.45rem;
  left: 0.45rem;
  padding: 0.2rem 0.45rem;
  border-radius: 4px;
  font-size: 0.65rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  background: var(--fbi-blue-dark);
}

.fbi-card__body {
  padding: 0.65rem 0.75rem 0.75rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  flex: 1;
}

.fbi-card__reward {
  margin: 0.25rem 0 0;
  text-align: center;
}

.fbi-card__reward-amount {
  display: block;
  font-size: 1.5rem;
  font-weight: 800;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--fbi-gold-dark);
}

.fbi-card--compact .fbi-card__reward-amount {
  font-size: 1.75rem;
}

.fbi-card__name {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1.25;
}

.fbi-card__category,
.fbi-card__meta {
  margin: 0;
  font-size: 0.78rem;
  color: var(--text-muted);
  line-height: 1.35;
}

.fbi-card--compact .fbi-card__link {
  height: auto;
}

.fbi-card--compact .fbi-card__body {
  flex: 0 0 auto;
  padding: 0.5rem 0.65rem 0.5rem;
  gap: 0.12rem;
}

.fbi-card--compact .fbi-card__reward {
  margin: 0.12rem 0 0;
}

.fbi-card__cta {
  margin-top: auto;
  padding-top: 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--fbi-blue);
}

.fbi-card:hover {
  border-color: color-mix(in srgb, var(--fbi-blue) 35%, var(--border));
  box-shadow: 0 6px 20px color-mix(in srgb, #000 8%, transparent);
}

body[data-page="fbi-buscados-hub"] .site-header {
  border-bottom-color: color-mix(in srgb, var(--fbi-blue) 28%, var(--border));
}

.fbi-hub {
  max-width: var(--content-max);
  width: 100%;
  margin: 0 auto;
  padding: var(--space-md) var(--page-gutter) var(--space-2xl);
}

.fbi-hub__hero {
  margin-bottom: var(--space-lg);
}

.fbi-hub__hero-inner {
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 16px;
  background: var(--fbi-blue);
  color: #fff;
  padding: var(--space-lg) var(--space-md);
  box-shadow: 0 8px 28px color-mix(in srgb, var(--fbi-blue) 32%, transparent);
}

.fbi-hub__eyebrow {
  margin: 0 0 0.35rem;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.82);
}

.fbi-hub__title {
  margin: 0 0 0.5rem;
  font-family: var(--font-serif);
  font-size: clamp(1.6rem, 4vw, 2.35rem);
  font-weight: 400;
  line-height: 1.15;
  color: #fff;
}

.fbi-hub__title em {
  font-style: italic;
}

.fbi-hub__deck {
  margin: 0;
  max-width: 52ch;
  font-size: 1rem;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.86);
}

.fbi-hub__deck strong {
  color: #fff;
}

.fbi-hub__disclaimer {
  margin-bottom: var(--space-lg);
  padding: var(--space-md);
  border-left: 4px solid var(--fbi-blue);
  border-radius: 0 10px 10px 0;
  background: color-mix(in srgb, var(--fbi-blue) 8%, var(--surface));
}

.fbi-hub__disclaimer-title {
  margin: 0 0 0.4rem;
  font-size: 0.95rem;
  font-weight: 700;
}

.fbi-hub__disclaimer p {
  margin: 0 0 0.5rem;
  font-size: 0.9rem;
  line-height: 1.5;
}

.fbi-hub__tip-list {
  margin: 0;
  padding-left: 1.1rem;
  font-size: 0.88rem;
  line-height: 1.6;
}

.fbi-hub__tip-list a {
  color: var(--fbi-blue);
  font-weight: 600;
}

.fbi-hub__body {
  display: grid;
  gap: var(--space-lg);
}

.fbi-hub__filters {
  padding: var(--space-md);
  border: 1px solid var(--border);
  border-radius: var(--radius-lg);
  background: var(--bg-elevated);
}

.fbi-hub__filters-title {
  margin: 0 0 0.75rem;
  font-size: 1rem;
  font-weight: 600;
}

.fbi-hub__filter-group + .fbi-hub__filter-group {
  margin-top: 0.75rem;
}

.fbi-hub__filter-label {
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--text-muted);
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.fbi-hub__filter-row {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.fbi-hub__filter-btn {
  padding: 0.4rem 0.75rem;
  border: 1px solid var(--border);
  border-radius: 999px;
  background: var(--surface);
  color: var(--text);
  font: inherit;
  font-size: 0.82rem;
  cursor: pointer;
  transition: border-color 0.15s, background 0.15s;
}

.fbi-hub__filter-btn:hover {
  border-color: color-mix(in srgb, var(--fbi-blue) 40%, var(--border));
}

.fbi-hub__filter-btn.is-active {
  border-color: var(--fbi-blue);
  background: color-mix(in srgb, var(--fbi-blue) 12%, var(--surface));
  color: var(--fbi-blue);
  font-weight: 600;
}

.fbi-hub__grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 1rem;
}

.fbi-hub__empty {
  margin: 1rem 0 0;
  font-size: 0.92rem;
  color: var(--text-muted);
  text-align: center;
}

.fbi-hub__footer-cta {
  margin-top: 2rem;
  text-align: center;
}

.fbi-hub__home-link {
  font-weight: 600;
  color: var(--text-muted);
  text-decoration: none;
}

.fbi-hub__home-link:hover {
  color: var(--text);
  text-decoration: underline;
}

@media (min-width: 720px) {
  .fbi-home {
    padding: 1.15rem 1.35rem 1.25rem;
  }

  .fbi-home__track .fbi-card {
    flex-basis: 260px;
  }
}

