/*
Theme Name: SMASHLINE
Theme URI: https://smashline.es
Author: SMASHLINE Team
Description: SMASHLINE - The Power Behind the Game. Plataforma digital del pádel. Rediseño editorial 3.0.
Version: 4.6.0
Text Domain: smashline
Requires at least: 6.0
Requires PHP: 8.0
*/

/* ════════════════════════════════════════════════════════════
   SMASHLINE 3.0 — Editorial redesign · mobile-first
   Palette preserved · crafted typography · calm motion
   ════════════════════════════════════════════════════════════ */

:root {
  --sm-lime: #CCFF00;
  --sm-lime-dark: #A8D600;
  --sm-navy: #0B0E1A;
  --sm-navy-mid: #141829;
  --sm-navy-light: #1C2237;
  --sm-coral: #FF4757;
  --sm-coral-light: #FF6B7A;
  --sm-blue: #3742FA;
  --sm-cyan: #18DCFF;
  --sm-white: #F8F9FA;
  --sm-gray-100: #EDEEF2;
  --sm-gray-200: #D1D3DB;
  --sm-gray-300: #9CA0AE;
  --sm-gray-400: #6B7084;
  --sm-gray-500: #3E4255;

  --c-jugadores: #3742FA;
  --c-torneos: #FDCB6E;
  --c-tecnica: #00B894;
  --c-entrenamiento: #E17055;
  --c-salud: #FF6B81;
  --c-material: #CCFF00;
  --c-analisis: #A29BFE;

  --surface-1: rgba(255,255,255,0.035);
  --surface-2: rgba(255,255,255,0.06);
  --hairline: rgba(255,255,255,0.09);
  --hairline-strong: rgba(255,255,255,0.16);

  --font-display: 'Bebas Neue', sans-serif;
  --font-body: 'Sora', sans-serif;
  --font-mono: 'Space Mono', monospace;

  --t-eyebrow: clamp(0.66rem, 2.6vw, 0.74rem);
  --t-body: clamp(0.95rem, 3.6vw, 1.02rem);
  --t-lead: clamp(1.05rem, 4.4vw, 1.2rem);
  --t-card-title: clamp(1.05rem, 4.6vw, 1.2rem);
  --t-h3: clamp(1.5rem, 6vw, 2rem);
  --t-h2: clamp(2rem, 9vw, 3rem);
  --t-display: clamp(3rem, 15vw, 5.5rem);

  --sp-1: 4px; --sp-2: 8px; --sp-3: 12px; --sp-4: 16px;
  --sp-5: 24px; --sp-6: 32px; --sp-7: 48px; --sp-8: 64px; --sp-9: 96px;

  --r-sm: 12px; --r-md: 18px; --r-lg: 26px; --r-pill: 999px;
  --max-w: 1280px;
  --ease: cubic-bezier(0.23, 1, 0.32, 1);          /* strong ease-out (Emil Kowalski) */
  --ease-in-out: cubic-bezier(0.77, 0, 0.175, 1);
  --t-fast: 0.18s var(--ease);
  --t-med: 0.34s var(--ease);
  --header-h: 60px;
  --shadow-lift: 0 24px 60px -28px rgba(0,0,0,0.85);
}

*, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
body {
  font-family: var(--font-body);
  background: var(--sm-navy);
  color: var(--sm-gray-200);
  line-height: 1.65;
  font-size: var(--t-body);
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  overflow-x: hidden;
  background-image:
    radial-gradient(900px 500px at 80% -5%, rgba(204,255,0,0.06), transparent 70%),
    radial-gradient(700px 600px at -10% 10%, rgba(55,66,250,0.07), transparent 65%);
  background-attachment: fixed;
}
a { color: inherit; text-decoration: none; }
img { max-width: 100%; display: block; }
ul, ol { list-style: none; }
button { font-family: inherit; cursor: pointer; border: none; background: none; color: inherit; }
::selection { background: var(--sm-lime); color: var(--sm-navy); }
:focus-visible { outline: 2px solid var(--sm-lime); outline-offset: 3px; border-radius: 4px; }

.container { width: 100%; max-width: var(--max-w); margin: 0 auto; padding: 0 20px; }

.eyebrow {
  font-family: var(--font-mono); font-size: var(--t-eyebrow); font-weight: 700;
  text-transform: uppercase; letter-spacing: 0.18em; color: var(--sm-lime);
  display: inline-flex; align-items: center; gap: 8px;
}
.eyebrow::before { content: ''; width: 22px; height: 2px; background: var(--sm-lime); }

/* ════ HEADER ════ */
.header {
  position: fixed; inset: 0 0 auto 0; z-index: 200;
  height: var(--header-h);
  display: flex; align-items: center;
  background: rgba(11,14,26,0.72);
  backdrop-filter: blur(20px) saturate(160%);
  -webkit-backdrop-filter: blur(20px) saturate(160%);
  border-bottom: 1px solid var(--hairline);
  transition: height var(--t-fast), background var(--t-fast);
}
.header--scrolled { height: 52px; background: rgba(11,14,26,0.92); }
.header__inner { display: flex; align-items: center; justify-content: space-between; width: 100%; }

.logo {
  display: inline-flex; align-items: center; gap: 9px;
  font-family: var(--font-display); font-size: 1.6rem; letter-spacing: 1.5px;
  color: var(--sm-white); flex-shrink: 0;
}
.logo__mark {
  width: 32px; height: 32px; background: var(--sm-lime); color: var(--sm-navy);
  display: grid; place-items: center; font-family: var(--font-display);
  font-size: 1.1rem; border-radius: 9px; transform: rotate(-6deg);
  box-shadow: 0 6px 18px -6px rgba(204,255,0,0.6);
}
.logo__text { color: var(--sm-white); white-space: nowrap; }
.logo__text span { color: var(--sm-lime); }
.custom-logo, .custom-logo-link img { max-height: 40px; width: auto; }

.header__actions { display: flex; align-items: center; gap: 4px; }
.header-search__toggle, .hamburger {
  width: 42px; height: 42px; display: grid; place-items: center;
  border-radius: var(--r-pill); font-size: 1.05rem; color: var(--sm-white);
  transition: background var(--t-fast);
}
.header-search__toggle:active, .hamburger:active { background: var(--surface-2); }
.hamburger { flex-direction: column; gap: 5px; display: flex; align-items: center; justify-content: center; }
.hamburger span { width: 20px; height: 2px; background: var(--sm-white); border-radius: 2px; transition: var(--t-fast); }
.hamburger.active span:nth-child(1) { transform: rotate(45deg) translateY(7px); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: rotate(-45deg) translateY(-7px); }

/* —— mobile nav drawer (SIBLING of header to escape stacking trap) —— */
.nav {
  position: fixed; inset: 0 0 0 auto; width: min(86vw, 360px);
  background: var(--sm-navy-mid);
  border-left: 1px solid var(--hairline);
  padding: calc(var(--header-h) + 16px) 22px 32px;
  display: flex; flex-direction: column; gap: 2px;
  transform: translateX(100%); transition: transform var(--t-med);
  z-index: 210; overflow-y: auto;
  box-shadow: -30px 0 80px -20px rgba(0,0,0,0.7);
}
.nav.open { transform: translateX(0); }
.nav__close {
  position: absolute; top: 14px; right: 18px; width: 40px; height: 40px;
  display: grid; place-items: center; font-size: 1.2rem; color: var(--sm-gray-300);
  border-radius: var(--r-pill);
}
.nav__link, .nav-link {
  display: flex; align-items: center; gap: 12px;
  padding: 14px 14px; border-radius: var(--r-sm);
  font-size: 1.02rem; font-weight: 600; color: var(--sm-gray-200);
  transition: background var(--t-fast), color var(--t-fast);
}
.nav__link-icon { font-size: 1.15rem; width: 26px; text-align: center; }
.nav__link:hover, .nav__link.active, .nav-link:hover { background: var(--surface-2); color: var(--sm-white); }
.nav__link.active { box-shadow: inset 3px 0 0 var(--sm-lime); }
.nav__divider { height: 1px; background: var(--hairline); margin: 14px 6px; }

.nav-dropdown__toggle {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 14px; border-radius: var(--r-sm); font-weight: 600; color: var(--sm-gray-200);
  font-family: var(--font-mono); font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.1em;
}
.nav-dropdown__arrow { margin-left: auto; transition: transform var(--t-fast); }
.nav-dropdown.open .nav-dropdown__arrow { transform: rotate(180deg); }
.nav-dropdown__menu { display: none; flex-direction: column; gap: 2px; padding: 4px 0 4px 8px; }
.nav-dropdown.open .nav-dropdown__menu { display: flex; }
.nav-dropdown__item { display: flex; align-items: center; gap: 12px; padding: 12px; border-radius: var(--r-sm); transition: background var(--t-fast); }
.nav-dropdown__item:hover { background: var(--surface-2); }
.nav-dropdown__icon { font-size: 1.2rem; }
.nav-dropdown__item small { display: block; color: var(--sm-gray-400); font-size: 0.72rem; }
.nav-dropdown__item strong { color: var(--sm-white); font-size: 0.92rem; font-weight: 600; }
.nav__cta {
  margin-top: 18px; text-align: center; padding: 15px;
  background: var(--sm-lime); color: var(--sm-navy);
  font-weight: 800; border-radius: var(--r-pill);
  text-transform: uppercase; letter-spacing: 0.06em; font-size: 0.82rem;
}

.nav-scrim {
  position: fixed; inset: 0; background: rgba(0,0,0,0.55); z-index: 205;
  opacity: 0; visibility: hidden; transition: opacity var(--t-med), visibility var(--t-med);
  backdrop-filter: blur(2px);
}
.nav-scrim.show { opacity: 1; visibility: visible; }

.header-search__form {
  position: fixed; top: var(--header-h); left: 0; right: 0; z-index: 199;
  background: var(--sm-navy-mid); border-bottom: 1px solid var(--hairline);
  padding: 14px 20px; display: none; gap: 10px;
}
.header-search__form.open { display: flex; animation: dropIn var(--t-fast); }
.header-search__form input {
  flex: 1; padding: 13px 16px; border-radius: var(--r-pill);
  background: var(--surface-2); border: 1px solid var(--hairline);
  color: var(--sm-white); font-size: 0.95rem;
}
.header-search__form button { padding: 0 20px; border-radius: var(--r-pill); background: var(--sm-lime); color: var(--sm-navy); font-weight: 700; }
@keyframes dropIn { from { opacity: 0; transform: translateY(-8px); } to { opacity: 1; transform: none; } }

/* ════ CATEGORY CHIP RAIL ════ */
.cat-rail {
  position: sticky; top: var(--header-h); z-index: 120;
  background: rgba(11,14,26,0.82); backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--hairline); margin-bottom: var(--sp-5);
}
.cat-rail__scroll {
  display: flex; gap: 8px; overflow-x: auto; padding: 11px 20px;
  scrollbar-width: none; -ms-overflow-style: none; scroll-snap-type: x proximity;
}
.cat-rail__scroll::-webkit-scrollbar { display: none; }
.cat-chip {
  flex: 0 0 auto; scroll-snap-align: start;
  display: inline-flex; align-items: center; gap: 7px;
  padding: 9px 15px; border-radius: var(--r-pill);
  background: var(--surface-1); border: 1px solid var(--hairline);
  font-size: 0.82rem; font-weight: 600; color: var(--sm-gray-300);
  white-space: nowrap; transition: var(--t-fast); overflow: hidden;
}
.cat-chip:hover, .cat-chip.active { color: var(--sm-navy); background: var(--sm-lime); border-color: var(--sm-lime); }
.cat-chip.active { box-shadow: 0 8px 24px -8px rgba(204,255,0,0.6); }
.cat-chip:active { transform: scale(0.94); }
.cat-chip__icon { font-size: 0.95rem; }

/* ════ HERO ════ */
.media-hero { padding: calc(var(--header-h) + var(--sp-6)) 0 var(--sp-4); position: relative; overflow: hidden; }
.media-hero__tag { margin-bottom: var(--sp-4); }
.media-hero__title {
  font-family: var(--font-display); font-size: var(--t-display);
  line-height: 0.92; letter-spacing: 1px; color: var(--sm-white); text-transform: uppercase;
}
.media-hero__title span { color: var(--sm-lime); }
.media-hero__sub { margin-top: var(--sp-4); max-width: 46ch; font-size: var(--t-lead); color: var(--sm-gray-300); line-height: 1.55; }
.media-hero__court {
  position: absolute; right: -80px; bottom: -40px;
  width: 240px; height: 170px; opacity: 0.28; pointer-events: none;
  border-radius: var(--r-lg); overflow: hidden;
  -webkit-mask-image: radial-gradient(circle, #000 35%, transparent 72%);
  mask-image: radial-gradient(circle, #000 35%, transparent 72%);
}

/* ════ LEAD STORY ════ */
.lead { display: grid; gap: var(--sp-3); margin-bottom: var(--sp-6); }
.lead__main { position: relative; display: block; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 4/3; background: var(--sm-navy-light); border: 1px solid var(--hairline); }
.lead__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s var(--ease); z-index: 1; }
.lead__main:hover .lead__img { transform: scale(1.05); }
.lead__scrim { position: absolute; inset: 0; z-index: 2; background: linear-gradient(to top, rgba(11,14,26,0.96) 8%, rgba(11,14,26,0.45) 50%, transparent 80%); }
.lead__body { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--sp-5); z-index: 3; }
.lead__title { font-family: var(--font-display); font-size: clamp(1.7rem, 8vw, 2.6rem); line-height: 0.98; color: var(--sm-white); letter-spacing: 0.5px; margin: 10px 0 8px; text-transform: uppercase; }
.lead__sub { color: var(--sm-gray-200); font-size: 0.95rem; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; max-width: 60ch; }
.lead__meta { display: flex; gap: 14px; margin-top: 12px; font-family: var(--font-mono); font-size: 0.72rem; color: var(--sm-gray-300); text-transform: uppercase; letter-spacing: 0.05em; }
.lead__side { display: grid; gap: var(--sp-3); }

/* ════ NEWSPAPER (masthead · portada · titulares) ════ */
.masthead { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; padding: 12px 0; margin-top: var(--header-h); border-bottom: 2px solid var(--sm-lime); }
.masthead__edition { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.14em; color: var(--sm-lime); text-transform: uppercase; }
.masthead__date { font-family: var(--font-mono); font-size: 0.68rem; color: var(--sm-gray-300); text-transform: uppercase; letter-spacing: 0.04em; }
.masthead__tag { margin-left: auto; font-family: var(--font-display); font-size: 1.05rem; letter-spacing: 1px; color: var(--sm-gray-200); }
.frontpage { display: grid; gap: var(--sp-4); margin: var(--sp-5) 0 var(--sp-6); }
.frontpage__lead { aspect-ratio: 16/10; }
.headlines { display: flex; flex-direction: column; }
.headlines__title { font-family: var(--font-display); font-size: 1.4rem; letter-spacing: 1px; color: var(--sm-white); text-transform: uppercase; padding-bottom: 10px; margin-bottom: 4px; border-bottom: 1px solid var(--hairline-strong); }
.headline { display: block; padding: 14px 0; border-bottom: 1px solid var(--hairline); transition: padding-left var(--t-fast); }
.headline:last-child { border-bottom: none; }
.headline:hover { padding-left: 8px; }
.headline__cat { font-family: var(--font-mono); font-size: 0.6rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.headline__t { font-size: 1.02rem; font-weight: 700; color: var(--sm-white); line-height: 1.25; margin: 5px 0; letter-spacing: -0.01em; transition: color var(--t-fast); }
.headline:hover .headline__t { color: var(--sm-lime); }
.headline__meta { font-family: var(--font-mono); font-size: 0.64rem; color: var(--sm-gray-400); }
@media (min-width: 920px) { .frontpage { grid-template-columns: 1.7fr 1fr; gap: var(--sp-6); align-items: start; } .frontpage__lead { aspect-ratio: 16/11; height: 100%; } }

.pill { display: inline-flex; align-items: center; gap: 6px; align-self: flex-start; padding: 5px 12px; border-radius: var(--r-pill); font-family: var(--font-mono); font-size: 0.62rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; }
.read-badge { position: absolute; top: 12px; right: 12px; z-index: 4; padding: 4px 10px; border-radius: var(--r-pill); background: rgba(11,14,26,0.7); backdrop-filter: blur(8px); font-family: var(--font-mono); font-size: 0.64rem; color: var(--sm-white); letter-spacing: 0.03em; }

/* ════ TRENDING ════ */
.trending-bar { display: flex; align-items: center; gap: 14px; padding: 13px 0; border-top: 1px solid var(--hairline); border-bottom: 1px solid var(--hairline); margin-bottom: var(--sp-6); overflow: hidden; position: relative; }
.trending-bar__label { flex: 0 0 auto; position: relative; z-index: 2; display: inline-flex; align-items: center; gap: 7px; font-family: var(--font-mono); font-size: 0.7rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.12em; color: var(--sm-lime); background: var(--sm-navy); padding-right: 16px; }
.trending-bar__label::before { content: ''; width: 8px; height: 8px; border-radius: 50%; background: var(--sm-coral); animation: pulse 1.8s infinite; }
@keyframes pulse { 0% { box-shadow: 0 0 0 0 rgba(255,71,87,0.6); } 70% { box-shadow: 0 0 0 8px rgba(255,71,87,0); } 100% { box-shadow: 0 0 0 0 rgba(255,71,87,0); } }
.trending-bar__scroll { display: flex; gap: 28px; white-space: nowrap; animation: ticker 36s linear infinite; }
.trending-bar:hover .trending-bar__scroll { animation-play-state: paused; }
.trending-bar__item { font-size: 0.84rem; color: var(--sm-gray-300); position: relative; padding-left: 18px; }
.trending-bar__item::before { content: '▸'; position: absolute; left: 0; color: var(--sm-lime); }
.trending-bar__item:hover { color: var(--sm-white); }
@keyframes ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }

/* ════ SABÍAS QUE ════ */
.sabias-que { position: relative; display: flex; align-items: center; gap: var(--sp-4); padding: var(--sp-5); margin-bottom: var(--sp-6); background: linear-gradient(135deg, rgba(204,255,0,0.08), rgba(204,255,0,0.02)); border: 1px solid rgba(204,255,0,0.18); border-radius: var(--r-lg); overflow: hidden; }
.sabias-que__icon { font-size: 2rem; flex-shrink: 0; }
.sabias-que__content { flex: 1; min-width: 0; }
.sabias-que__label { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.16em; color: var(--sm-lime); margin-bottom: 6px; }
.sabias-que__text { font-size: 1rem; color: var(--sm-white); line-height: 1.5; transition: opacity 0.25s; font-weight: 500; }
.sabias-que__next { width: 44px; height: 44px; flex-shrink: 0; border-radius: 50%; background: var(--sm-lime); color: var(--sm-navy); font-size: 1.2rem; font-weight: 700; display: grid; place-items: center; transition: transform var(--t-fast); }
.sabias-que__next:active { transform: scale(0.9); }
.sabias-que__counter { position: absolute; top: 12px; right: 16px; font-family: var(--font-mono); font-size: 0.66rem; color: var(--sm-gray-400); }

/* ════ STATS ════ */
.stats-bar { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(140px, 1fr); gap: var(--sp-3); overflow-x: auto; padding-bottom: 6px; margin-bottom: var(--sp-7); scrollbar-width: none; scroll-snap-type: x mandatory; }
.stats-bar::-webkit-scrollbar { display: none; }
.stat-item { scroll-snap-align: start; padding: var(--sp-5) var(--sp-4); border-radius: var(--r-md); background: var(--surface-1); border: 1px solid var(--hairline); text-align: center; }
.stat-item__number { display: block; font-family: var(--font-display); font-size: clamp(2.4rem, 9vw, 3.2rem); line-height: 1; color: var(--sm-lime); letter-spacing: 1px; }
.stat-item__label { display: block; margin-top: 8px; font-size: 0.74rem; color: var(--sm-gray-300); line-height: 1.35; }

/* ════ SECTION HEADER ════ */
.section-divider { height: 1px; background: var(--hairline); margin: var(--sp-7) 0 var(--sp-6); }
.cat-block { margin-bottom: var(--sp-5); }
.cat-block__header { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: var(--sp-5); }
.cat-block__label { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-display); font-size: clamp(1.6rem, 7vw, 2.2rem); letter-spacing: 1px; color: var(--sm-white); text-transform: uppercase; padding-left: 14px; border-left: 4px solid var(--cat, var(--sm-lime)); line-height: 1; }
.cat-block__icon { font-size: 1.1rem; }
.cat-block__desc { margin-top: 8px; font-size: 0.86rem; color: var(--sm-gray-400); padding-left: 18px; }
.cat-section__link { flex-shrink: 0; font-family: var(--font-mono); font-size: 0.74rem; font-weight: 700; color: var(--sm-lime); text-transform: uppercase; letter-spacing: 0.06em; padding: 8px 14px; border: 1px solid var(--hairline); border-radius: var(--r-pill); transition: var(--t-fast); white-space: nowrap; }
.cat-section__link:hover { background: var(--sm-lime); color: var(--sm-navy); border-color: var(--sm-lime); }

/* ════ ARTICLE CARD + GRID ════ */
.articles-grid { display: grid; grid-template-columns: 1fr; gap: var(--sp-4); }
.article-card { position: relative; display: flex; flex-direction: column; background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-md); overflow: hidden; transition: transform var(--t-fast), border-color var(--t-fast); }
.article-card:hover { transform: translateY(-4px); border-color: var(--hairline-strong); }
.article-card__img { position: relative; aspect-ratio: 16/10; overflow: hidden; background: var(--sm-navy-light); }
.article-card__img img { width: 100%; height: 100%; object-fit: cover; transition: transform var(--t-med); position: relative; z-index: 1; }
.article-card:hover .article-card__img img { transform: scale(1.06); }
.article-card__cat { position: absolute; top: 12px; left: 12px; z-index: 4; }
.article-card__body { padding: var(--sp-4); display: flex; flex-direction: column; gap: 10px; flex: 1; }
.article-card__title { font-size: var(--t-card-title); font-weight: 700; color: var(--sm-white); line-height: 1.28; letter-spacing: -0.01em; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.article-card__title a { color: inherit; }
.article-card:hover .article-card__title, .article-card:hover .article-card__title a { color: var(--sm-lime); }
.article-card__excerpt { font-size: 0.86rem; color: var(--sm-gray-400); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.article-card__footer { margin-top: auto; display: flex; align-items: center; justify-content: space-between; font-family: var(--font-mono); font-size: 0.68rem; color: var(--sm-gray-400); padding-top: 8px; border-top: 1px solid var(--hairline); letter-spacing: 0.02em; }
.article-card__author { display: flex; align-items: center; gap: 7px; }
.article-card__avatar { width: 22px; height: 22px; border-radius: 50%; background: var(--sm-lime); color: var(--sm-navy); display: grid; place-items: center; font-size: 0.6rem; font-weight: 700; font-family: var(--font-body); }

.cat-scroll { display: flex; gap: var(--sp-4); overflow-x: auto; padding: 0 20px 8px; scroll-snap-type: x mandatory; scrollbar-width: none; margin: 0 -20px; }
.cat-scroll::-webkit-scrollbar { display: none; }
.cat-scroll > * { flex: 0 0 80%; max-width: 300px; scroll-snap-align: start; }

.cat-list { display: flex; flex-direction: column; gap: 2px; }
.cat-list__item { display: flex; gap: 13px; padding: 14px 0; border-bottom: 1px solid var(--hairline); align-items: flex-start; }
.cat-list__item:last-child { border-bottom: none; }
.cat-list__dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 7px; flex-shrink: 0; background: var(--cat, var(--sm-lime)); }
.cat-list__title { font-size: 0.95rem; font-weight: 600; color: var(--sm-gray-100); line-height: 1.35; transition: color var(--t-fast); }
.cat-list__item:hover .cat-list__title { color: var(--sm-lime); }
.cat-list__meta { font-family: var(--font-mono); font-size: 0.66rem; color: var(--sm-gray-400); margin-top: 4px; }

/* ════ INTERACTIVE ════ */
.interactive-row { display: grid; gap: var(--sp-4); margin: var(--sp-5) 0; }
.tip-card { display: flex; gap: 14px; padding: var(--sp-5); background: var(--surface-1); border: 1px solid var(--hairline); border-left: 4px solid var(--cat, var(--sm-lime)); border-radius: var(--r-md); }
.tip-card__icon { font-size: 1.5rem; flex-shrink: 0; }
.tip-card__label { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.12em; margin-bottom: 6px; color: var(--cat, var(--sm-lime)); }
.tip-card__text { font-size: 0.92rem; color: var(--sm-gray-100); line-height: 1.5; }

.quiz-card { padding: var(--sp-5); background: linear-gradient(150deg, var(--surface-2), var(--surface-1)); border: 1px solid var(--hairline); border-radius: var(--r-md); }
.quiz-card__header { display: flex; align-items: center; justify-content: space-between; margin-bottom: 12px; }
.quiz-card__label { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.14em; color: var(--qcolor, var(--sm-lime)); }
.quiz-card__score { font-family: var(--font-mono); font-size: 0.72rem; color: var(--sm-gray-300); background: var(--surface-2); padding: 4px 10px; border-radius: var(--r-pill); }
.quiz-card__q { font-size: 1.02rem; font-weight: 600; color: var(--sm-white); line-height: 1.4; margin-bottom: 14px; min-height: 2.6em; }
.quiz-card__options { display: grid; gap: 10px; }
.quiz-card__opt { padding: 14px 16px; text-align: left; border-radius: var(--r-sm); background: var(--surface-1); border: 1px solid var(--hairline); color: var(--sm-gray-100); font-size: 0.92rem; font-weight: 500; transition: var(--t-fast); }
.quiz-card__opt:hover:not(:disabled) { border-color: var(--qcolor, var(--sm-lime)); background: var(--surface-2); }
.quiz-card__opt--correct { background: rgba(0,184,148,0.18) !important; border-color: #00b894 !important; color: #fff !important; }
.quiz-card__opt--wrong { background: rgba(255,71,87,0.16) !important; border-color: var(--sm-coral) !important; }
.quiz-card__result { display: none; margin-top: 12px; font-size: 0.88rem; font-weight: 600; }
.quiz-card__next { margin-top: 14px; padding: 12px 20px; border-radius: var(--r-pill); background: var(--qcolor, var(--sm-lime)); color: var(--sm-navy); font-weight: 700; font-size: 0.85rem; }

.fact-card { position: relative; display: flex; align-items: center; gap: 14px; padding: var(--sp-5); border: 1px solid var(--hairline); border-radius: var(--r-md); margin: var(--sp-5) 0; }
.fact-card__label { flex-shrink: 0; font-family: var(--font-mono); font-size: 0.62rem; font-weight: 700; letter-spacing: 0.1em; padding: 5px 11px; border-radius: var(--r-pill); }
.fact-card__text { font-size: 0.95rem; color: var(--sm-white); line-height: 1.5; font-weight: 500; }

.sub-filters { display: flex; gap: 8px; overflow-x: auto; padding-bottom: 6px; margin-bottom: var(--sp-5); scrollbar-width: none; }
.sub-filters::-webkit-scrollbar { display: none; }
.sub-filter { flex: 0 0 auto; padding: 8px 15px; border-radius: var(--r-pill); background: var(--surface-1); border: 1px solid var(--hairline); font-size: 0.8rem; font-weight: 600; color: var(--sm-gray-300); white-space: nowrap; transition: var(--t-fast); }
.sub-filter:hover, .sub-filter.active { background: var(--accent, var(--sm-lime)); color: var(--sm-navy); border-color: transparent; }

.cat-hero { display: flex; gap: 16px; align-items: center; padding: var(--sp-5); background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-lg); margin-bottom: var(--sp-5); position: relative; overflow: hidden; }
.cat-hero__accent { position: absolute; left: 0; top: 0; bottom: 0; width: 5px; background: var(--cat); }
.cat-hero__icon { width: 56px; height: 56px; border-radius: var(--r-md); display: grid; place-items: center; font-size: 1.6rem; flex-shrink: 0; }
.cat-hero__title { font-family: var(--font-display); font-size: clamp(1.8rem, 8vw, 2.6rem); color: var(--sm-white); letter-spacing: 1px; line-height: 1; }
.cat-hero__desc { font-size: 0.85rem; color: var(--sm-gray-300); margin-top: 4px; }
.cat-hero__stats { display: flex; gap: 8px; margin-top: 8px; font-family: var(--font-mono); font-size: 0.68rem; color: var(--sm-gray-400); flex-wrap: wrap; }
.section-title { font-family: var(--font-display); color: var(--sm-white); letter-spacing: 1px; text-transform: uppercase; }

/* ════ PRO TIP + MUNDO ════ */
.protip-banner { padding: var(--sp-6) var(--sp-5); background: linear-gradient(135deg, rgba(55,66,250,0.12), rgba(204,255,0,0.05)); border: 1px solid var(--hairline); border-radius: var(--r-lg); margin-bottom: var(--sp-6); }
.protip-banner__badge { display: inline-block; font-family: var(--font-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.14em; color: var(--sm-navy); background: var(--sm-lime); padding: 5px 12px; border-radius: var(--r-pill); margin-bottom: 14px; }
.protip-banner__title { font-family: var(--font-display); font-size: var(--t-h3); color: var(--sm-white); letter-spacing: 0.5px; margin-bottom: 12px; line-height: 1; }
.protip-banner__text { font-size: 0.95rem; color: var(--sm-gray-200); line-height: 1.6; max-width: 70ch; }
.protip-banner__text strong { color: var(--sm-lime); font-weight: 600; }

.mundo-banner { position: relative; padding: var(--sp-7) var(--sp-5); background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-lg); overflow: hidden; margin-bottom: var(--sp-6); }
.mundo-banner__glow { position: absolute; top: -40%; right: -20%; width: 70%; height: 140%; background: radial-gradient(circle, rgba(204,255,0,0.12), transparent 65%); pointer-events: none; }
.mundo-banner__tag { margin-bottom: 12px; }
.mundo-banner__title { font-family: var(--font-display); font-size: var(--t-h2); color: var(--sm-white); letter-spacing: 1px; line-height: 0.95; margin-bottom: 12px; }
.mundo-banner__title span { color: var(--sm-lime); }
.mundo-banner__desc { font-size: 0.95rem; color: var(--sm-gray-300); line-height: 1.6; max-width: 60ch; margin-bottom: var(--sp-5); }
.mundo-banner__cards { display: grid; gap: var(--sp-3); position: relative; }
.mundo-card { display: flex; flex-direction: column; gap: 8px; padding: var(--sp-5); background: var(--sm-navy); border: 1px solid var(--hairline); border-radius: var(--r-md); transition: transform var(--t-fast), border-color var(--t-fast); }
.mundo-card:hover { transform: translateY(-4px); border-color: var(--hairline-strong); }
.mundo-card__icon { width: 48px; height: 48px; border-radius: var(--r-sm); display: grid; place-items: center; font-size: 1.4rem; }
.mundo-card__title { font-family: var(--font-display); font-size: 1.5rem; letter-spacing: 1px; color: var(--sm-white); }
.mundo-card__desc { font-size: 0.85rem; color: var(--sm-gray-400); line-height: 1.5; }
.mundo-card__cta { margin-top: auto; font-family: var(--font-mono); font-size: 0.74rem; font-weight: 700; color: var(--sm-lime); }

/* ════ NEWSLETTER + FOOTER ════ */
.newsletter-banner { display: grid; gap: var(--sp-4); padding: var(--sp-6) var(--sp-5); margin: var(--sp-7) 0 var(--sp-6); background: linear-gradient(135deg, var(--sm-lime), var(--sm-lime-dark)); border-radius: var(--r-lg); color: var(--sm-navy); }
.newsletter-banner__text h3 { font-family: var(--font-display); font-size: var(--t-h3); letter-spacing: 1px; line-height: 1; }
.newsletter-banner__text p { font-size: 0.9rem; opacity: 0.85; margin-top: 6px; font-weight: 500; }
.newsletter-banner__form { display: flex; gap: 8px; flex-wrap: wrap; }
.newsletter-banner__form input { flex: 1; min-width: 180px; padding: 15px 18px; border-radius: var(--r-pill); border: 2px solid rgba(11,14,26,0.2); background: rgba(255,255,255,0.6); color: var(--sm-navy); font-size: 0.95rem; font-weight: 500; }
.newsletter-banner__form input::placeholder { color: var(--sm-gray-500); }
.newsletter-banner__form button { padding: 15px 26px; border-radius: var(--r-pill); background: var(--sm-navy); color: var(--sm-white); font-weight: 700; white-space: nowrap; }

.footer { border-top: 1px solid var(--hairline); padding: var(--sp-7) 0 var(--sp-6); margin-top: var(--sp-6); }
.footer__grid { display: grid; gap: var(--sp-6); }
.footer__brand-desc { font-size: 0.85rem; color: var(--sm-gray-400); line-height: 1.6; margin: 14px 0; max-width: 40ch; }
.footer__social { display: flex; gap: 10px; }
.footer__social a { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: var(--surface-1); border: 1px solid var(--hairline); font-size: 1.05rem; transition: var(--t-fast); }
.footer__social a:hover { background: var(--sm-lime); transform: translateY(-3px); }
.footer__col-title { font-family: var(--font-mono); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.12em; color: var(--sm-gray-300); margin-bottom: 14px; }
.footer__col { display: flex; flex-direction: column; gap: 11px; }
.footer__col a { font-size: 0.9rem; color: var(--sm-gray-400); transition: color var(--t-fast); }
.footer__col a:hover { color: var(--sm-lime); }
.footer__bottom { display: flex; flex-direction: column; gap: 6px; margin-top: var(--sp-6); padding-top: var(--sp-5); border-top: 1px solid var(--hairline); font-family: var(--font-mono); font-size: 0.7rem; color: var(--sm-gray-500); }

/* ════ SINGLE POST ════ */
.reading-progress { position: fixed; top: 0; left: 0; height: 3px; width: 0; background: var(--sm-lime); z-index: 300; transition: width 0.1s linear; }
.single-wrap { padding-top: calc(var(--header-h) + var(--sp-5)); }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; font-family: var(--font-mono); font-size: 0.72rem; color: var(--sm-gray-400); margin-bottom: 10px; }
.breadcrumbs a:hover { color: var(--sm-lime); }
.breadcrumbs em { font-style: normal; color: var(--sm-gray-500); }
.single-hero__title { font-family: var(--font-display); font-size: clamp(2.2rem, 9vw, 4rem); line-height: 0.98; color: var(--sm-white); letter-spacing: 0.5px; margin: 14px 0; text-transform: uppercase; }
.single-hero__meta { display: flex; flex-wrap: wrap; gap: 14px; font-family: var(--font-mono); font-size: 0.72rem; color: var(--sm-gray-400); margin-bottom: var(--sp-5); text-transform: uppercase; letter-spacing: 0.04em; }
.single-featured { border-radius: var(--r-lg); overflow: hidden; margin-bottom: var(--sp-6); aspect-ratio: 16/9; }
.single-featured img { width: 100%; height: 100%; object-fit: cover; }
.single-content { font-size: clamp(1.02rem, 4.4vw, 1.15rem); line-height: 1.8; color: var(--sm-gray-100); max-width: 68ch; margin: 0 auto; }
.single-content p { margin-bottom: 1.4em; }
.single-content h2, .single-content h3 { font-family: var(--font-display); color: var(--sm-white); letter-spacing: 0.5px; margin: 1.4em 0 0.6em; line-height: 1.05; }
.single-content h2 { font-size: 1.9rem; } .single-content h3 { font-size: 1.5rem; }
.single-content a { color: var(--sm-lime); border-bottom: 1px solid rgba(204,255,0,0.4); }
.single-content strong { color: var(--sm-white); }
.single-content img { border-radius: var(--r-md); margin: 1.4em 0; }
.single-content ul, .single-content ol { margin: 0 0 1.4em 1.2em; }
.single-content li { margin-bottom: 0.5em; list-style: disc; }
.share-row { display: flex; gap: 10px; flex-wrap: wrap; margin: var(--sp-6) auto; max-width: 68ch; }
.share-btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: var(--r-pill); background: var(--surface-1); border: 1px solid var(--hairline); font-size: 0.82rem; font-weight: 600; transition: var(--t-fast); }
.share-btn:hover { background: var(--sm-lime); color: var(--sm-navy); border-color: var(--sm-lime); }
.author-box { display: flex; gap: 16px; align-items: center; padding: var(--sp-5); background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-lg); max-width: 68ch; margin: var(--sp-6) auto; }
.author-box__avatar { width: 56px; height: 56px; border-radius: 50%; background: var(--sm-lime); color: var(--sm-navy); display: grid; place-items: center; font-family: var(--font-display); font-size: 1.4rem; flex-shrink: 0; }
.post-nav { display: grid; gap: 12px; max-width: 68ch; margin: var(--sp-6) auto 0; }
.post-nav a { padding: var(--sp-4); background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-md); transition: var(--t-fast); }
.post-nav a:hover { border-color: var(--sm-lime); }
.post-nav small { font-family: var(--font-mono); font-size: 0.66rem; color: var(--sm-gray-400); text-transform: uppercase; }
.post-nav span { display: block; color: var(--sm-white); font-weight: 600; margin-top: 4px; }

/* ════ BACK TO TOP + utilities ════ */
.back-to-top { position: fixed; bottom: 20px; right: 20px; width: 48px; height: 48px; border-radius: 50%; background: var(--sm-lime); color: var(--sm-navy); font-size: 1.2rem; font-weight: 700; display: grid; place-items: center; z-index: 150; opacity: 0; transform: translateY(16px) scale(0.8); pointer-events: none; transition: var(--t-med); box-shadow: var(--shadow-lift); }
.back-to-top.visible { opacity: 1; transform: none; pointer-events: auto; }

/* Emil-style entrance: subtle, fast, ease-out (no heavy 3D) */
.fade-up { opacity: 0; transform: translateY(18px) scale(0.985); transition: opacity 0.5s var(--ease), transform 0.55s var(--ease); }
.fade-up.visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation-duration: 0.001ms !important; animation-iteration-count: 1 !important; transition-duration: 0.001ms !important; scroll-behavior: auto !important; }
  .fade-up { opacity: 1; transform: none; }
}

/* ════════════════════════════════════════════
   DYNAMIC LAYER — court covers, sliders, buttons
   ════════════════════════════════════════════ */
/* Padel-court cover: vivid gradient + CSS court lines + category icon + the "SMASH LINE" streak.
   No SVG data-URI → robust against Hostinger/LiteSpeed CSS optimisation. */
.court {
  position: absolute; inset: 0; overflow: hidden;
  background:
    radial-gradient(120% 130% at 78% 6%, var(--court-c, var(--sm-blue)) 0%, transparent 64%),
    linear-gradient(155deg, var(--sm-navy-light), var(--sm-navy) 80%);
}
.court::before {
  content: ''; position: absolute; inset: 9%;
  border: 1.5px solid rgba(255,255,255,0.22); border-radius: 5px;
  background-image:
    linear-gradient(rgba(255,255,255,0.09) 1.5px, transparent 1.5px),
    linear-gradient(90deg, rgba(255,255,255,0.09) 1.5px, transparent 1.5px);
  background-size: 50% 33.34%;
  transition: transform 0.8s var(--ease);
}
.court::after {
  content: ''; position: absolute; inset: -25%;
  background: linear-gradient(118deg, transparent 0 46.5%, rgba(204,255,0,0.9) 47.6% 48.4%, transparent 49.5% 100%);
  opacity: 0.55; mix-blend-mode: screen; pointer-events: none;
  transition: transform 0.6s var(--ease);
}
.court__wm { position: absolute; right: 8%; bottom: 6%; z-index: 1; line-height: 1; pointer-events: none; transform: rotate(-12deg); }
.court__wm svg { width: clamp(46px, 14vw, 84px); height: auto; color: rgba(255,255,255,0.20); filter: drop-shadow(0 4px 10px rgba(0,0,0,0.4)); }
.court--lg .court__wm svg { width: clamp(70px, 13vw, 130px); }
.article-card:hover .court::before, .lead__main:hover .court::before, .feature-card:hover .court::before { transform: scale(1.05); }
.article-card:hover .court::after, .lead__main:hover .court::after, .feature-card:hover .court::after { transform: translateX(7%); }

.btn-dyn { position: relative; overflow: hidden; }
.btn-dyn::after { content: ''; position: absolute; top: 0; left: -120%; width: 60%; height: 100%; background: linear-gradient(120deg, transparent, rgba(255,255,255,0.45), transparent); transform: skewX(-20deg); transition: left 0.6s var(--ease); }
.btn-dyn:hover::after { left: 140%; }
.nav__cta:active, .newsletter-banner__form button:active, .cat-section__link:active, .mundo-card__cta:active { transform: scale(0.95); }

.slider { position: relative; margin: 0 -20px; }
.slider__track { display: flex; gap: var(--sp-4); overflow-x: auto; padding: 4px 20px var(--sp-3); scroll-snap-type: x mandatory; scrollbar-width: none; scroll-behavior: smooth; }
.slider__track::-webkit-scrollbar { display: none; }
.slider__track > * { flex: 0 0 78%; max-width: 320px; scroll-snap-align: center; }
.slider__nav { display: none; }
.slider__dots { display: flex; gap: 6px; justify-content: center; margin-top: 12px; }
.slider__dot { width: 7px; height: 7px; border-radius: 50%; background: var(--hairline-strong); transition: var(--t-fast); }
.slider__dot.active { background: var(--sm-lime); width: 22px; border-radius: 4px; }

.feature-card { position: relative; display: block; border-radius: var(--r-lg); overflow: hidden; aspect-ratio: 3/4; border: 1px solid var(--hairline); }
.feature-card img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 1; }
.feature-card__scrim { position: absolute; inset: 0; background: linear-gradient(to top, rgba(11,14,26,0.95), transparent 60%); z-index: 2; }
.feature-card__body { position: absolute; left: 0; right: 0; bottom: 0; padding: var(--sp-5); z-index: 3; }
.feature-card__title { font-family: var(--font-display); font-size: 1.7rem; line-height: 1; color: #fff; letter-spacing: 0.5px; margin: 8px 0 6px; text-transform: uppercase; }
.feature-card__meta { font-family: var(--font-mono); font-size: 0.68rem; color: var(--sm-gray-300); }

.flow-divider { height: 56px; position: relative; overflow: hidden; margin: var(--sp-5) 0; }
.flow-divider::before { content: ''; position: absolute; left: 50%; top: 50%; width: 200%; height: 1px; background: linear-gradient(90deg, transparent, var(--hairline-strong), transparent); transform: translate(-50%,-50%); }
.flow-divider span { position: absolute; left: 50%; top: 50%; transform: translate(-50%,-50%); width: 9px; height: 9px; border-radius: 50%; background: var(--sm-lime); box-shadow: 0 0 16px var(--sm-lime); }

/* —— "Lo más leído" ranked list —— */
.mostread { display: grid; gap: 0; }
.mostread__row { display: flex; align-items: center; gap: 16px; padding: 16px 4px; border-bottom: 1px solid var(--hairline); transition: padding-left var(--t-fast); }
.mostread__row:hover { padding-left: 10px; }
.mostread__num { font-family: var(--font-display); font-size: 2.4rem; line-height: 1; color: var(--sm-lime); width: 50px; flex-shrink: 0; text-align: center; }
.mostread__content { flex: 1; min-width: 0; }
.mostread__title { font-size: 1rem; font-weight: 600; color: var(--sm-gray-100); line-height: 1.3; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.mostread__row:hover .mostread__title { color: var(--sm-lime); }
.mostread__meta { font-family: var(--font-mono); font-size: 0.66rem; color: var(--sm-gray-400); margin-top: 5px; text-transform: uppercase; letter-spacing: 0.04em; }
.mostread__arrow { color: var(--sm-gray-500); font-size: 1.2rem; flex-shrink: 0; transition: transform var(--t-fast), color var(--t-fast); }
.mostread__row:hover .mostread__arrow { transform: translateX(5px); color: var(--sm-lime); }
@media (min-width: 760px) { .mostread { grid-template-columns: 1fr 1fr; column-gap: 40px; } }

/* ════════════════════════════════════════════
   v3.3 — Engagement & data modules
   ════════════════════════════════════════════ */

/* ════════════════════════════════════════════
   INTRO — animación de entrada (una vez por sesión)
   ════════════════════════════════════════════ */
.intro { position: fixed; inset: 0; z-index: 9999; background: var(--sm-navy); display: grid; place-items: center; overflow: hidden; transition: opacity 0.7s var(--ease), visibility 0.7s; }
.intro--done { opacity: 0; visibility: hidden; pointer-events: none; }
.intro__court { position: absolute; inset: 0; background: radial-gradient(circle at 50% 42%, rgba(55,66,250,0.22), transparent 58%), radial-gradient(circle at 50% 42%, rgba(204,255,0,0.06), transparent 40%); }
.intro__court::before { content: ''; position: absolute; left: 50%; top: 50%; width: 140%; height: 2px; background: linear-gradient(90deg, transparent, rgba(204,255,0,0.6), transparent); transform: translate(-50%,-50%) rotate(-20deg); opacity: 0; animation: introSmash 1s var(--ease) 0.6s forwards; }
@keyframes introSmash { 0% { opacity: 0; transform: translate(-90%,-50%) rotate(-20deg); } 50% { opacity: 1; } 100% { opacity: 0.5; transform: translate(-50%,-50%) rotate(-20deg); } }
.intro__inner { position: relative; text-align: center; padding: 24px; }
.intro__logo { position: relative; width: 88px; height: 88px; margin: 0 auto 22px; }
.intro__mark { display: grid; place-items: center; width: 88px; height: 88px; border-radius: 22px; background: var(--sm-lime); color: var(--sm-navy); font-family: var(--font-display); font-size: 3.4rem; transform: rotate(-6deg) scale(0.92); opacity: 0; animation: introMark 0.6s var(--ease) 0.1s forwards; box-shadow: 0 20px 50px -10px rgba(204,255,0,0.6); }
@keyframes introMark { to { transform: rotate(-6deg) scale(1); opacity: 1; } }
.intro__ball { position: absolute; width: 16px; height: 16px; border-radius: 50%; top: -4px; left: -4px; background: radial-gradient(circle at 35% 30%, #f0ff7a, var(--sm-lime)); box-shadow: 0 0 14px var(--sm-lime); opacity: 0; animation: introBall 0.9s var(--ease) 0.7s forwards; }
@keyframes introBall { 0% { opacity: 0; transform: translate(0,0); } 25% { opacity: 1; } 100% { opacity: 1; transform: translate(80px,80px); } }
.intro__brand { font-family: var(--font-display); font-size: clamp(2.6rem,13vw,4.6rem); letter-spacing: 2px; color: var(--sm-white); line-height: 1; opacity: 0; transform: translateY(16px); animation: introUp 0.6s var(--ease) 0.45s forwards; }
.intro__brand span { color: var(--sm-lime); }
.intro__tag { font-family: var(--font-mono); font-size: clamp(0.7rem,3vw,0.9rem); letter-spacing: 0.08em; color: var(--sm-gray-300); margin-top: 10px; opacity: 0; transform: translateY(12px); animation: introUp 0.6s var(--ease) 0.75s forwards; }
.intro__items { display: flex; gap: 8px 16px; flex-wrap: wrap; justify-content: center; margin-top: 22px; max-width: 360px; }
.intro__items span { font-family: var(--font-mono); font-size: 0.72rem; color: var(--sm-gray-200); opacity: 0; transform: translateY(10px); animation: introUp 0.5s var(--ease) forwards; }
.intro__items span:nth-child(1) { animation-delay: 1.0s; } .intro__items span:nth-child(2) { animation-delay: 1.12s; } .intro__items span:nth-child(3) { animation-delay: 1.24s; } .intro__items span:nth-child(4) { animation-delay: 1.36s; } .intro__items span:nth-child(5) { animation-delay: 1.48s; }
.intro__bar { width: 180px; height: 3px; border-radius: 3px; background: var(--surface-2); margin: 28px auto 0; overflow: hidden; }
.intro__bar i { display: block; height: 100%; width: 0; background: linear-gradient(90deg, var(--sm-lime-dark), var(--sm-lime)); animation: introBar 2.3s var(--ease) 0.2s forwards; }
@keyframes introBar { to { width: 100%; } }
@keyframes introUp { to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .intro { display: none; } }

/* —— Big rotating pull-quote —— */
.quote-block { position: relative; padding: var(--sp-7) var(--sp-5); border-radius: var(--r-lg); overflow: hidden; border: 1px solid var(--hairline); background: linear-gradient(150deg, var(--surface-2), transparent); margin-bottom: var(--sp-6); }
.quote-block__mark { position: absolute; top: -34px; left: 8px; font-family: var(--font-display); font-size: 11rem; line-height: 1; color: rgba(204,255,0,0.10); pointer-events: none; }
.quote-block__text { position: relative; font-family: var(--font-display); font-size: clamp(1.7rem, 6.5vw, 3rem); line-height: 1.02; letter-spacing: 0.5px; color: var(--sm-white); transition: opacity 0.45s var(--ease); }
.quote-block__text span { color: var(--sm-lime); }
.quote-block__author { position: relative; margin-top: 16px; font-family: var(--font-mono); font-size: 0.74rem; color: var(--sm-gray-300); text-transform: uppercase; letter-spacing: 0.08em; transition: opacity 0.45s var(--ease); }
.quote-block.fading .quote-block__text, .quote-block.fading .quote-block__author { opacity: 0; }

/* —— Ranking FIP (leaderboard) —— */
.ranking { display: grid; gap: 12px; }
.rank-row { position: relative; display: grid; grid-template-columns: 26px 48px 1fr auto; align-items: center; gap: 14px; padding: 15px 18px; background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-md); transition: transform var(--t-fast), border-color var(--t-fast); }
.rank-row:hover { transform: translateY(-2px); border-color: var(--hairline-strong); }
.rank-row--leader { background: linear-gradient(120deg, rgba(204,255,0,0.13), var(--surface-1) 60%); border-color: rgba(204,255,0,0.4); }
.rank-row__pos { position: relative; font-family: var(--font-display); font-size: 1.8rem; color: var(--sm-gray-400); text-align: center; line-height: 1; }
.rank-row--leader .rank-row__pos { color: var(--sm-lime); }
.rank-row__crown { position: absolute; top: -15px; left: 50%; transform: translateX(-50%); font-size: 0.9rem; }
.rank-row__avatar { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-size: 1.35rem; letter-spacing: 1px; color: var(--sm-navy); background: var(--c, var(--sm-blue)); box-shadow: 0 6px 18px -7px var(--c, var(--sm-blue)); }
.rank-row__info { min-width: 0; }
.rank-row__pair { font-weight: 700; color: var(--sm-white); font-size: 1rem; display: flex; align-items: center; gap: 7px; }
.rank-row__sub { font-family: var(--font-mono); font-size: 0.6rem; color: var(--sm-gray-400); margin: 3px 0 8px; text-transform: uppercase; letter-spacing: 0.05em; }
.rank-row__track { height: 6px; border-radius: 999px; background: var(--surface-2); overflow: hidden; }
.rank-row__fill { display: block; height: 100%; width: 0; border-radius: 999px; background: linear-gradient(90deg, var(--sm-lime-dark), var(--sm-lime)); transition: width 1.1s var(--ease) 0.15s; }
.fade-up.visible .rank-row__fill { width: var(--w, 0); }
.rank-row__pts { font-family: var(--font-display); font-size: 1.7rem; color: var(--sm-white); letter-spacing: 1px; text-align: right; line-height: 0.9; }
.rank-row__pts small { display: block; font-family: var(--font-mono); font-size: 0.5rem; color: var(--sm-gray-400); letter-spacing: 0.12em; margin-top: 3px; }
.rank-row__move { font-family: var(--font-mono); font-size: 0.72rem; }
.rank-row__move--up { color: #00b894; } .rank-row__move--down { color: var(--sm-coral); } .rank-row__move--eq { color: var(--sm-gray-400); }

/* —— Interactive poll —— */
.poll { padding: var(--sp-6) var(--sp-5); background: linear-gradient(150deg, rgba(55,66,250,0.16), rgba(204,255,0,0.05)); border: 1px solid var(--hairline); border-radius: var(--r-lg); }
.poll__label { margin-bottom: 8px; }
.poll__q { font-family: var(--font-display); font-size: clamp(1.5rem, 6vw, 2.2rem); color: var(--sm-white); letter-spacing: 0.5px; margin-bottom: 18px; line-height: 1; }
.poll__options { display: grid; gap: 10px; }
.poll__opt { position: relative; overflow: hidden; display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 16px 18px; border-radius: var(--r-sm); background: var(--surface-1); border: 1px solid var(--hairline); color: var(--sm-gray-100); font-weight: 600; font-size: 0.95rem; text-align: left; transition: border-color var(--t-fast); }
.poll__opt:hover { border-color: var(--sm-lime); }
.poll__fill { position: absolute; left: 0; top: 0; bottom: 0; width: 0; background: rgba(204,255,0,0.15); z-index: 0; transition: width 0.9s var(--ease); }
.poll__opt > * { position: relative; z-index: 1; }
.poll__pct { font-family: var(--font-mono); font-size: 0.85rem; color: var(--sm-lime); font-weight: 700; opacity: 0; transition: opacity 0.4s 0.3s; }
.poll.voted .poll__pct { opacity: 1; }
.poll.voted .poll__opt { cursor: default; }
.poll.voted .poll__opt--mine { border-color: var(--sm-lime); }
.poll__total { font-family: var(--font-mono); font-size: 0.7rem; color: var(--sm-gray-400); margin-top: 14px; text-align: center; }

/* —— Calendar / torneos —— */
.calendar { display: flex; gap: 14px; overflow-x: auto; padding: 0 20px 10px; margin: 0 -20px; scroll-snap-type: x mandatory; scrollbar-width: none; }
.calendar::-webkit-scrollbar { display: none; }
.cal-card { position: relative; overflow: hidden; flex: 0 0 80%; max-width: 280px; scroll-snap-align: start; padding: var(--sp-5); background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-lg); transition: transform var(--t-fast), border-color var(--t-fast); }
.cal-card:hover { transform: translateY(-4px); border-color: var(--hairline-strong); }
.cal-card__month { font-family: var(--font-mono); font-size: 0.7rem; color: var(--sm-gray-400); text-transform: uppercase; letter-spacing: 0.12em; }
.cal-card__date { font-family: var(--font-display); font-size: 2.6rem; color: var(--sm-lime); line-height: 0.9; }
.cal-card__name { font-family: var(--font-display); font-size: 1.5rem; color: var(--sm-white); letter-spacing: 0.5px; margin: 12px 0 4px; line-height: 1; }
.cal-card__city { font-size: 0.85rem; color: var(--sm-gray-300); }
.cal-card__cat { position: absolute; top: 16px; right: 16px; }

/* —— Team / experts —— */
.team { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.team-card { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: var(--sp-5) var(--sp-4); background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-md); transition: transform var(--t-fast), border-color var(--t-fast); }
.team-card:hover { transform: translateY(-4px); border-color: var(--hairline-strong); }
.team-card__avatar { width: 60px; height: 60px; border-radius: 50%; display: grid; place-items: center; font-family: var(--font-display); font-size: 1.5rem; color: var(--sm-navy); background: var(--sm-lime); }
.team-card__name { font-weight: 700; color: var(--sm-white); font-size: 0.92rem; }
.team-card__role { font-family: var(--font-mono); font-size: 0.62rem; color: var(--sm-gray-400); text-transform: uppercase; letter-spacing: 0.04em; }

/* —— El circuito mundial: globo 3D + torneos —— */
.globe-wrap { display: grid; gap: var(--sp-6); align-items: center; }
.globe-stage { display: flex; flex-direction: column; align-items: center; gap: 16px; }
.globe {
  position: relative; width: min(76vw, 300px); aspect-ratio: 1; border-radius: 50%;
  background: radial-gradient(circle at 34% 27%, #25357e 0%, #141d49 40%, #0a1130 72%, #070b1f 100%);
  box-shadow: inset -16px -22px 55px rgba(0,0,0,0.75), inset 16px 16px 45px rgba(55,66,250,0.35), 0 0 70px rgba(55,66,250,0.30), 0 30px 60px -22px rgba(0,0,0,0.7);
  overflow: hidden; isolation: isolate; flex-shrink: 0;
}
/* rotating world map (continents) inside the sphere */
.globe__map { position: absolute; top: 0; left: 0; height: 100%; width: 200%; display: flex; animation: globeRotate 28s linear infinite; opacity: 0.7; }
.globe__continents-svg { flex: 0 0 50%; width: 50%; height: 100%; color: rgba(204,255,0,0.55); }
@keyframes globeRotate { from { transform: translateX(0); } to { transform: translateX(-50%); } }
/* static globe (geo-accurate pins) */
.globe__map--static { width: 100%; animation: none; }
.globe__map--static .globe__continents-svg { flex: 0 0 100%; width: 100%; }
.globe--static .globe__pin span { animation-duration: 2.6s; }
/* dotted texture under continents */
.globe::before { content: ''; position: absolute; inset: 0; border-radius: 50%; z-index: 0; background-image: radial-gradient(rgba(255,255,255,0.10) 1px, transparent 1.4px); background-size: 16px 16px; }
/* sphere shading on top of the map for the 3D ball look */
.globe::after { content: ''; position: absolute; inset: 0; border-radius: 50%; z-index: 2; pointer-events: none; background: radial-gradient(circle at 36% 30%, transparent 42%, rgba(7,11,31,0.55) 78%, rgba(5,8,22,0.9) 100%); }
.globe__atmos { position: absolute; inset: -7%; border-radius: 50%; z-index: 2; background: radial-gradient(circle, transparent 58%, rgba(24,220,255,0.16) 70%, transparent 80%); pointer-events: none; }
.globe__pin { position: absolute; width: 16px; height: 16px; transform: translate(-50%,-50%); background: none; border: none; z-index: 3; cursor: pointer; padding: 0; }
.globe__pin span { display: block; width: 10px; height: 10px; margin: 3px; border-radius: 50%; background: var(--pc, var(--sm-lime)); box-shadow: 0 0 0 0 var(--pc); animation: pinPulse 2.6s ease-out infinite; }
@keyframes pinPulse { 0% { box-shadow: 0 0 0 0 var(--pc); opacity: 1; } 70% { box-shadow: 0 0 0 11px transparent; } 100% { box-shadow: 0 0 0 0 transparent; opacity: 0.85; } }
.globe__pin.active span, .globe__pin:hover span { transform: scale(1.6); box-shadow: 0 0 16px var(--pc); }
.globe__next { text-align: center; }
.globe__next-label { display: block; font-family: var(--font-mono); font-size: 0.62rem; letter-spacing: 0.16em; color: var(--sm-lime); }
.globe__next-name { display: block; font-family: var(--font-display); font-size: 1.5rem; color: var(--sm-white); letter-spacing: 0.5px; margin: 5px 0; line-height: 1; }
.globe__next-cd { display: block; font-family: var(--font-mono); font-size: 0.82rem; color: var(--sm-gray-200); }
.globe__next-cd b { color: var(--sm-lime); }

.tour-right { display: flex; flex-direction: column; gap: 14px; min-width: 0; }
.tour-panel { padding: var(--sp-5); border-radius: var(--r-md); border: 1px solid var(--hairline); border-left: 4px solid var(--pc, var(--sm-lime)); background: linear-gradient(150deg, var(--surface-2), var(--surface-1)); }
.tour-panel__hint { font-size: 0.85rem; color: var(--sm-gray-400); }
.tour-panel__cat { display: inline-block; font-family: var(--font-mono); font-size: 0.58rem; font-weight: 700; letter-spacing: 0.1em; padding: 4px 10px; border-radius: var(--r-pill); margin-bottom: 10px; }
.tour-panel__name { font-family: var(--font-display); font-size: 1.7rem; letter-spacing: 0.5px; color: var(--sm-white); line-height: 1; }
.tour-panel__meta { font-family: var(--font-mono); font-size: 0.72rem; color: var(--sm-lime); margin: 6px 0 10px; text-transform: uppercase; letter-spacing: 0.04em; }
.tour-panel__desc { font-size: 0.9rem; color: var(--sm-gray-200); line-height: 1.6; }
.tour-list { display: flex; flex-direction: column; gap: 8px; max-height: 340px; overflow-y: auto; padding-right: 6px; scrollbar-width: thin; }
.tour-list::-webkit-scrollbar { width: 5px; } .tour-list::-webkit-scrollbar-thumb { background: var(--hairline-strong); border-radius: 9px; }
.tour-row { display: grid; grid-template-columns: 42px 1fr auto; align-items: center; gap: 13px; padding: 11px 14px; width: 100%; background: var(--surface-1); border: 1px solid var(--hairline); border-left: 3px solid var(--pc, var(--sm-lime)); border-radius: var(--r-sm); text-align: left; cursor: pointer; transition: var(--t-fast); }
.tour-row:hover, .tour-row.active { background: var(--surface-2); transform: translateX(4px); }
.tour-row.active { box-shadow: 0 0 0 1px var(--pc); }
.tour-row__date { text-align: center; }
.tour-row__day { display: block; font-family: var(--font-display); font-size: 1.55rem; color: var(--sm-white); line-height: 0.9; }
.tour-row__mon { display: block; font-family: var(--font-mono); font-size: 0.58rem; color: var(--sm-gray-400); }
.tour-row__info { min-width: 0; }
.tour-row__name { display: block; font-weight: 700; color: var(--sm-white); font-size: 0.94rem; }
.tour-row__city { display: block; font-size: 0.72rem; color: var(--sm-gray-400); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tour-row__cat { font-size: 0.56rem; align-self: center; }
@media (min-width: 860px) { .globe-wrap { grid-template-columns: 0.9fr 1.1fr; } .globe { width: min(40vw, 340px); } }
@media (prefers-reduced-motion: reduce) { .globe__map, .globe__pin span { animation: none; } }

/* —— FAQ accordion (didactic + GEO) —— */
.faq { display: grid; gap: 10px; }
.faq__item { background: var(--surface-1); border: 1px solid var(--hairline); border-radius: var(--r-md); overflow: hidden; }
.faq__q { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 18px 20px; font-weight: 600; font-size: 1rem; color: var(--sm-white); transition: color var(--t-fast); }
.faq__q::-webkit-details-marker { display: none; }
.faq__q:hover { color: var(--sm-lime); }
.faq__icon { flex-shrink: 0; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--surface-2); color: var(--sm-lime); font-size: 1.2rem; font-weight: 700; transition: transform var(--t-med); }
.faq__item[open] .faq__icon { transform: rotate(45deg); }
.faq__a { padding: 0 20px 20px; color: var(--sm-gray-300); font-size: 0.95rem; line-height: 1.65; }

/* —— Glossary flip cards (didactic) —— */
.glossary { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.glos-card { display: flex; flex-direction: column; gap: 6px; padding: var(--sp-5) var(--sp-4); border-radius: var(--r-md); border: 1px solid var(--hairline); background: linear-gradient(150deg, var(--surface-2), var(--surface-1)); text-align: left; transition: transform var(--t-fast), border-color var(--t-fast); }
.glos-card:hover { transform: translateY(-4px); border-color: var(--c-tecnica); }
.glos-card__icon { font-size: 2rem; }
.glos-card__name { font-family: var(--font-display); font-size: 1.5rem; letter-spacing: 0.5px; color: var(--sm-white); line-height: 1; }
.glos-card__desc { font-size: 0.82rem; color: var(--sm-gray-300); line-height: 1.45; flex: 1; }
.glos-card__cta { font-family: var(--font-mono); font-size: 0.66rem; font-weight: 700; letter-spacing: 0.06em; color: var(--c-tecnica); margin-top: 4px; }
/* golpe deep-dive blocks */
.golpe-block { padding-top: 8px; scroll-margin-top: 90px; }
.golpe-block + .golpe-block { border-top: 1px solid var(--hairline); margin-top: 28px; }

@media (min-width: 760px) {
  .calendar { margin: 0; padding: 0 0 10px; }
  .cal-card { flex-basis: 32%; }
  .team { grid-template-columns: repeat(4, 1fr); }
  .ranking { gap: 12px; }
  .glossary { grid-template-columns: repeat(3, 1fr); }
  .faq { grid-template-columns: 1fr 1fr; align-items: start; }
}

/* ════════════════════════════════════════════
   v3.5 — 3D layer (mouse-reactive depth · unique)
   ════════════════════════════════════════════ */
/* Cards that tilt in 3D following the cursor */
.lead__main, .feature-card, .article-card, .cal-card, .stat-item {
  transform-style: preserve-3d; transition: transform 0.35s var(--ease), border-color var(--t-fast);
  will-change: transform;
}
.lead__main::after, .feature-card::after, .article-card::after, .cal-card::after, .stat-item::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none; z-index: 8;
  opacity: 0; transition: opacity 0.3s var(--ease); mix-blend-mode: screen;
  background: radial-gradient(circle at var(--gx, 50%) var(--gy, 50%), rgba(255,255,255,0.22), transparent 45%);
}
.is-tilting { transition: transform 0.05s linear !important; }
.is-tilting::after { opacity: 1; }
/* keep card inner content lifted in 3D space for real depth */
.article-card.is-tilting .article-card__body, .feature-card.is-tilting .feature-card__body, .lead__main.is-tilting .lead__body { transform: translateZ(34px); }

@media (hover: none) { .lead__main::after, .feature-card::after, .article-card::after, .cal-card::after, .stat-item::after { display: none; } }
@media (prefers-reduced-motion: reduce) {
  .lead__main, .feature-card, .article-card, .cal-card, .stat-item { transition: border-color var(--t-fast); }
}

/* ════════════════════════════════════════════
   BREAKPOINTS — progressive enhancement
   ════════════════════════════════════════════ */
@media (min-width: 600px) {
  .container { padding: 0 28px; }
  .articles-grid { grid-template-columns: 1fr 1fr; }
  .lead__side { grid-template-columns: 1fr 1fr; }
  .interactive-row { grid-template-columns: 1fr 1fr; }
  .newsletter-banner { grid-template-columns: 1fr 1fr; align-items: center; }
  .cat-scroll > * { flex-basis: 46%; }
  .footer__grid { grid-template-columns: 1.4fr 1fr 1fr; }
  .post-nav { grid-template-columns: 1fr 1fr; }
}

@media (min-width: 920px) {
  :root { --header-h: 68px; }
  .container { padding: 0 40px; }
  .lead { grid-template-columns: 1.6fr 1fr; align-items: stretch; }
  .lead__main { aspect-ratio: 16/11; }
  .lead__side { grid-template-columns: 1fr; }
  .articles-grid { grid-template-columns: repeat(3, 1fr); gap: var(--sp-5); }
  .cat-scroll { margin: 0; padding: 0 0 8px; }
  .cat-scroll > * { flex-basis: 31%; }
  .cat-layout-a { display: grid; grid-template-columns: 1.5fr 1fr; gap: var(--sp-5); align-items: start; }
  .interactive-row { grid-template-columns: 1fr 1fr; }
  .mundo-banner__cards { grid-template-columns: repeat(3, 1fr); }
  .stats-bar { grid-auto-columns: 1fr; overflow: visible; }
  .footer__grid { grid-template-columns: 2fr 1fr 1fr 1fr; }
  .footer__bottom { flex-direction: row; justify-content: space-between; }
  .back-to-top { bottom: 32px; right: 32px; width: 52px; height: 52px; }
  .media-hero__court { width: 360px; height: 240px; opacity: 0.32; right: -40px; }
  .slider { margin: 0; }
  .slider__track > * { flex-basis: 30%; }
  .slider__track { padding: 4px 0 var(--sp-3); }
  .slider__nav { display: flex; gap: 8px; position: absolute; top: -56px; right: 0; }
  .slider__btn { width: 44px; height: 44px; border-radius: 50%; background: var(--surface-2); border: 1px solid var(--hairline); color: var(--sm-white); font-size: 1.1rem; display: grid; place-items: center; transition: var(--t-fast); }
  .slider__btn:hover { background: var(--sm-lime); color: var(--sm-navy); border-color: var(--sm-lime); }
  .slider__btn:active { transform: scale(0.9); }
}

/* —— Hamburger drawer used at ALL widths (mobile-style nav everywhere) —— */
/* Constrain the category chip rail nicely on large screens */
@media (min-width: 1024px) {
  .cat-rail__scroll { max-width: var(--max-w); margin: 0 auto; justify-content: center; flex-wrap: wrap; }
  .cat-chip { font-size: 0.85rem; padding: 10px 18px; }
}

@media (min-width: 1180px) { .media-hero { padding-top: calc(var(--header-h) + var(--sp-7)); } }

/* =========================================================
   SMASHLINE v4.1.1 — FIX navegación de categorías
   Objetivo: que las viñetas/chips no se superpongan al contenido
   y que los textos largos sigan siendo legibles en desktop y móvil.
   ========================================================= */
:root {
  --cat-rail-gap: clamp(18px, 3vw, 34px);
}

/* La barra de categorías deja de flotar encima del contenido.
   Se coloca debajo del header fijo y ocupa espacio real en la página. */
.cat-rail {
  position: relative;
  top: auto;
  z-index: 90;
  margin-top: var(--header-h);
  margin-bottom: var(--cat-rail-gap);
  background: rgba(11, 14, 26, 0.96);
  backdrop-filter: blur(14px) saturate(140%);
  -webkit-backdrop-filter: blur(14px) saturate(140%);
}

.cat-rail .container {
  overflow: visible;
}

/* En escritorio las viñetas bajan a una segunda línea si no caben.
   Así evitamos que se monten unas sobre otras o tapen titulares. */
.cat-rail__scroll {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: clamp(8px, 1.2vw, 12px);
  overflow: visible;
  padding: clamp(10px, 1.2vw, 14px) 0;
  scroll-snap-type: none;
}

.cat-chip {
  min-height: 42px;
  max-width: 100%;
  flex: 0 1 auto;
  white-space: nowrap;
  overflow: visible;
  text-overflow: clip;
  line-height: 1.1;
}

/* Antes el masthead tenía otro margen superior para compensar el header.
   Ahora ese espacio lo gestiona la propia barra de categorías. */
.masthead {
  margin-top: 0;
}

.frontpage {
  margin-top: clamp(22px, 3vw, 42px);
}

/* Protección de lectura en titulares largos generados por automatización. */
.lead__title,
.headline__t,
.article-card__title,
.feature-card__title,
.trending-bar__item {
  overflow-wrap: anywhere;
  hyphens: auto;
}

/* Evita que las columnas laterales empujen o recorten el contenido. */
.headlines,
.headline,
.article-card,
.feature-card,
.lead__body {
  min-width: 0;
}

@media (max-width: 767px) {
  /* En móvil mantenemos navegación horizontal táctil para no hacer una barra gigante. */
  .cat-rail__scroll {
    flex-wrap: nowrap;
    justify-content: flex-start;
    overflow-x: auto;
    padding: 10px 20px;
    scroll-padding-left: 20px;
    scroll-snap-type: x proximity;
  }

  .cat-chip {
    flex: 0 0 auto;
    white-space: nowrap;
  }

  .frontpage__lead {
    min-height: 520px;
    aspect-ratio: auto;
  }

  .lead__body {
    padding: 22px;
  }

  .lead__title {
    font-size: clamp(2rem, 11vw, 3.3rem);
    line-height: 0.96;
  }
}

@media (min-width: 768px) {
  .frontpage {
    align-items: start;
  }

  .frontpage__lead {
    min-height: 520px;
  }
}

@media (min-width: 1024px) {
  .cat-rail__scroll {
    max-width: var(--max-w);
    margin: 0 auto;
    justify-content: center;
    flex-wrap: wrap;
  }

  .cat-chip {
    flex: 0 1 auto;
  }
}

/* =========================================================
   SMASHLINE v4.1.2 — FIX REAL portada + flechas En portada
   - La noticia principal ya no puede invadir la columna Titulares.
   - Las flechas del carrusel quedan visibles a izquierda/derecha.
   ========================================================= */
.frontpage {
  display: grid !important;
  isolation: isolate;
  position: relative;
}

.frontpage > .frontpage__lead,
.frontpage > .headlines {
  min-width: 0 !important;
  max-width: 100% !important;
}

.frontpage__lead {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  z-index: 1;
  contain: paint;
}

/* El efecto 3D de la portada podía empujar visualmente la tarjeta sobre los titulares. */
.frontpage__lead.is-tilting,
.frontpage__lead:hover {
  transform: none !important;
}
.frontpage__lead::after {
  display: none !important;
}

.frontpage__lead .lead__body,
.frontpage__lead .lead__title,
.frontpage__lead .lead__sub,
.headlines,
.headline,
.headline__t {
  min-width: 0 !important;
  max-width: 100% !important;
}

.frontpage__lead .lead__title {
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}

.headlines {
  position: relative;
  z-index: 6;
  background: var(--sm-navy);
}

@media (min-width: 920px) {
  .frontpage {
    grid-template-columns: minmax(0, 1.38fr) minmax(320px, 0.62fr) !important;
    gap: clamp(28px, 3.2vw, 52px) !important;
    align-items: stretch !important;
  }

  .frontpage__lead {
    aspect-ratio: auto !important;
    min-height: clamp(460px, 38vw, 560px) !important;
    height: auto !important;
  }

  .frontpage__lead .lead__title {
    font-size: clamp(2.45rem, 3.35vw, 3.75rem) !important;
    line-height: 0.98 !important;
  }
}

@media (min-width: 1280px) {
  .frontpage {
    grid-template-columns: minmax(0, 1.32fr) minmax(350px, 0.68fr) !important;
  }
}

@media (max-width: 919px) {
  .frontpage__lead {
    contain: none;
  }
}

/* Flechas reales del módulo En portada: visibles, clicables y centradas en el carrusel. */
.cat-block__header > .slider__nav {
  display: none !important;
}

.slider {
  position: relative !important;
}

.slider .slider__nav--overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  pointer-events: none !important;
  z-index: 30 !important;
  padding: 0 clamp(4px, 1vw, 14px) !important;
}

.slider .slider__nav--overlay .slider__btn {
  pointer-events: auto !important;
  display: grid !important;
  place-items: center !important;
  width: clamp(42px, 4vw, 54px) !important;
  height: clamp(42px, 4vw, 54px) !important;
  border-radius: 999px !important;
  background: rgba(11, 14, 26, 0.82) !important;
  border: 1px solid rgba(255,255,255,0.18) !important;
  color: var(--sm-white) !important;
  font-size: clamp(1.55rem, 3vw, 2rem) !important;
  line-height: 1 !important;
  box-shadow: 0 14px 36px -18px rgba(0,0,0,0.9) !important;
  backdrop-filter: blur(12px) saturate(140%) !important;
  -webkit-backdrop-filter: blur(12px) saturate(140%) !important;
}

.slider .slider__nav--overlay .slider__btn:hover {
  background: var(--sm-lime) !important;
  color: var(--sm-navy) !important;
  border-color: var(--sm-lime) !important;
}

.slider .slider__nav--overlay .slider__btn:active {
  transform: scale(0.92) !important;
}

@media (max-width: 600px) {
  .slider .slider__nav--overlay {
    padding: 0 2px !important;
  }
  .slider .slider__nav--overlay .slider__btn {
    width: 38px !important;
    height: 38px !important;
    font-size: 1.4rem !important;
  }
}

/* ════════════════════════════════════════════
   SMASHLINE Finder — chat assistant
   ════════════════════════════════════════════ */
.sm-assistant {
  position: fixed;
  right: clamp(14px, 2vw, 26px);
  bottom: clamp(14px, 2vw, 26px);
  z-index: 9999;
  font-family: var(--font-body, 'Sora', system-ui, sans-serif);
}

.sm-assistant__toggle {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 0 18px;
  border: 1px solid rgba(204, 255, 0, 0.34);
  border-radius: 999px;
  background: linear-gradient(135deg, rgba(204,255,0,.98), rgba(126,255,0,.9));
  color: var(--sm-navy);
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: 0 22px 60px -22px rgba(204,255,0,.65), 0 18px 48px -24px rgba(0,0,0,.85);
  transition: transform .2s ease, box-shadow .2s ease;
}

.sm-assistant__toggle:hover { transform: translateY(-2px); }
.sm-assistant__toggle-icon { font-size: 1.18rem; }
.sm-assistant__pulse {
  position: absolute;
  inset: -6px;
  border-radius: inherit;
  border: 1px solid rgba(204,255,0,.28);
  animation: smPulse 2.2s ease-out infinite;
  pointer-events: none;
}
@keyframes smPulse {
  0% { transform: scale(.94); opacity: .9; }
  70% { transform: scale(1.14); opacity: 0; }
  100% { transform: scale(1.14); opacity: 0; }
}

.sm-assistant__panel {
  position: absolute;
  right: 0;
  bottom: calc(100% + 14px);
  width: min(420px, calc(100vw - 28px));
  max-height: min(680px, calc(100vh - 108px));
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 0%, rgba(204,255,0,.16), transparent 34%),
    linear-gradient(180deg, rgba(20,24,41,.98), rgba(8,11,22,.98));
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 34px 100px -36px rgba(0,0,0,.92);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
  transform: translateY(18px) scale(.96);
  opacity: 0;
  pointer-events: none;
  transition: transform .24s ease, opacity .24s ease;
}
.sm-assistant[data-open="true"] .sm-assistant__panel {
  transform: translateY(0) scale(1);
  opacity: 1;
  pointer-events: auto;
}
.sm-assistant[data-open="true"] .sm-assistant__pulse { display: none; }

.sm-assistant__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 20px 16px;
  border-bottom: 1px solid rgba(255,255,255,.09);
}
.sm-assistant__eyebrow {
  margin: 0 0 5px;
  font-family: 'Space Mono', monospace;
  font-size: .66rem;
  letter-spacing: .22em;
  color: var(--sm-lime);
}
.sm-assistant__head h3 {
  margin: 0;
  font-family: 'Bebas Neue', Impact, sans-serif;
  font-size: clamp(1.75rem, 4vw, 2.2rem);
  line-height: .94;
  color: var(--sm-white);
}
.sm-assistant__close {
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  background: rgba(255,255,255,.05);
  color: var(--sm-white);
  font-size: 1.35rem;
  cursor: pointer;
}
.sm-assistant__close:hover { background: var(--sm-lime); color: var(--sm-navy); }

.sm-assistant__messages {
  flex: 1;
  min-height: 310px;
  overflow-y: auto;
  padding: 18px;
  overscroll-behavior: contain;
}
.sm-assistant__messages::-webkit-scrollbar { width: 7px; }
.sm-assistant__messages::-webkit-scrollbar-thumb { background: rgba(255,255,255,.18); border-radius: 999px; }

.sm-assistant__msg {
  width: fit-content;
  max-width: 88%;
  margin: 0 0 12px;
  padding: 12px 14px;
  border-radius: 18px;
  font-size: .88rem;
  line-height: 1.48;
}
.sm-assistant__msg p { margin: 0; }
.sm-assistant__msg--bot {
  background: rgba(255,255,255,.075);
  color: rgba(248,249,250,.92);
  border: 1px solid rgba(255,255,255,.08);
  border-bottom-left-radius: 6px;
}
.sm-assistant__msg--user {
  margin-left: auto;
  background: var(--sm-lime);
  color: var(--sm-navy);
  font-weight: 700;
  border-bottom-right-radius: 6px;
}
.sm-assistant__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 12px;
}
.sm-assistant__chips button {
  border: 1px solid rgba(204,255,0,.26);
  border-radius: 999px;
  background: rgba(204,255,0,.08);
  color: var(--sm-lime);
  padding: 8px 10px;
  font-size: .72rem;
  font-weight: 800;
  cursor: pointer;
}
.sm-assistant__chips button:hover { background: var(--sm-lime); color: var(--sm-navy); }

.sm-assistant__typing {
  display: inline-flex;
  gap: 5px;
  padding: 14px;
}
.sm-assistant__typing span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sm-lime);
  animation: smTyping 1s ease-in-out infinite;
}
.sm-assistant__typing span:nth-child(2) { animation-delay: .14s; }
.sm-assistant__typing span:nth-child(3) { animation-delay: .28s; }
@keyframes smTyping {
  0%, 100% { transform: translateY(0); opacity: .35; }
  50% { transform: translateY(-4px); opacity: 1; }
}

.sm-assistant__results {
  display: grid;
  gap: 10px;
  margin: 0 0 14px;
}
.sm-assistant__result {
  display: grid;
  grid-template-columns: 78px 1fr;
  gap: 12px;
  padding: 10px;
  border-radius: 18px;
  background: rgba(255,255,255,.055);
  border: 1px solid rgba(255,255,255,.09);
  color: var(--sm-white);
  text-decoration: none;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.sm-assistant__result:hover {
  transform: translateY(-2px);
  background: rgba(255,255,255,.085);
  border-color: rgba(204,255,0,.38);
}
.sm-assistant__result img,
.sm-assistant__result-fallback {
  width: 78px;
  height: 78px;
  border-radius: 14px;
  object-fit: cover;
  background: linear-gradient(135deg, rgba(204,255,0,.17), rgba(255,255,255,.05));
}
.sm-assistant__result-fallback {
  display: grid;
  place-items: center;
  font-size: 1.6rem;
}
.sm-assistant__result-body {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 4px;
}
.sm-assistant__result-meta {
  font-family: 'Space Mono', monospace;
  font-size: .62rem;
  letter-spacing: .08em;
  color: var(--sm-lime);
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.sm-assistant__result strong {
  font-size: .88rem;
  line-height: 1.2;
  color: var(--sm-white);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sm-assistant__result small {
  color: rgba(248,249,250,.68);
  line-height: 1.35;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.sm-assistant__result em {
  margin-top: 3px;
  color: var(--sm-lime);
  font-style: normal;
  font-weight: 900;
  font-size: .72rem;
}

.sm-assistant__form {
  display: grid;
  grid-template-columns: 1fr 46px;
  gap: 10px;
  padding: 14px;
  border-top: 1px solid rgba(255,255,255,.09);
  background: rgba(0,0,0,.18);
}
.sm-assistant__form input {
  min-width: 0;
  height: 46px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,.11);
  background: rgba(255,255,255,.08);
  color: var(--sm-white);
  padding: 0 15px;
  outline: none;
  font-size: .88rem;
}
.sm-assistant__form input::placeholder { color: rgba(248,249,250,.46); }
.sm-assistant__form input:focus { border-color: rgba(204,255,0,.62); box-shadow: 0 0 0 3px rgba(204,255,0,.08); }
.sm-assistant__form button {
  height: 46px;
  border: 0;
  border-radius: 50%;
  background: var(--sm-lime);
  color: var(--sm-navy);
  font-size: 1.18rem;
  font-weight: 900;
  cursor: pointer;
}
.sm-assistant__form button:hover { transform: translateX(1px); }

@media (max-width: 560px) {
  .sm-assistant {
    right: 10px;
    bottom: 10px;
  }
  .sm-assistant__toggle {
    min-height: 50px;
    padding: 0 15px;
  }
  .sm-assistant__toggle-text { display: none; }
  .sm-assistant__panel {
    width: calc(100vw - 20px);
    max-height: min(640px, calc(100vh - 84px));
    border-radius: 24px;
  }
  .sm-assistant__messages { min-height: 270px; padding: 14px; }
  .sm-assistant__result { grid-template-columns: 66px 1fr; }
  .sm-assistant__result img,
  .sm-assistant__result-fallback { width: 66px; height: 66px; }
}

/* ════════════════════════════════════════════
   SMASHLINE v4.1.4 — Calendar + Finder fixes
   Removes the globe UI and replaces it with a clean, readable calendar module.
   ════════════════════════════════════════════ */
.sm-calendar {
  position: relative;
  display: grid;
  gap: 18px;
}
.sm-calendar__hero {
  display: grid;
  gap: 18px;
  align-items: stretch;
  padding: clamp(20px, 4vw, 32px);
  border-radius: 30px;
  border: 1px solid rgba(255,255,255,.11);
  border-left: 5px solid var(--pc, var(--sm-lime));
  background:
    radial-gradient(circle at 12% 10%, color-mix(in srgb, var(--pc, var(--sm-lime)) 24%, transparent), transparent 34%),
    linear-gradient(135deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
  box-shadow: 0 28px 90px -50px rgba(0,0,0,.85);
  overflow: hidden;
}
.sm-calendar__hero::after {
  content: 'CALENDARIO';
  position: absolute;
  right: clamp(16px, 4vw, 42px);
  top: 16px;
  font-family: var(--font-display);
  font-size: clamp(3.2rem, 11vw, 8rem);
  line-height: 1;
  color: rgba(255,255,255,.035);
  pointer-events: none;
}
.sm-calendar__hero-main,
.sm-calendar__hero-side { position: relative; z-index: 1; }
.sm-calendar__status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  margin-bottom: 12px;
  padding: 7px 11px;
  border-radius: 999px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.12);
  color: var(--sm-lime);
  font-family: var(--font-mono);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .13em;
}
.sm-calendar__status.is-live {
  background: rgba(255,71,87,.13);
  border-color: rgba(255,71,87,.34);
  color: #ff6b7a;
}
.sm-calendar__status.is-live::before {
  content: '';
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 0 currentColor;
  animation: smLivePulse 1.4s ease-out infinite;
}
@keyframes smLivePulse {
  0% { box-shadow: 0 0 0 0 rgba(255,71,87,.58); }
  100% { box-shadow: 0 0 0 12px rgba(255,71,87,0); }
}
.sm-calendar__hero h3 {
  margin: 0;
  max-width: 13ch;
  font-family: var(--font-display);
  font-size: clamp(3rem, 8vw, 6rem);
  line-height: .9;
  letter-spacing: .015em;
  color: var(--sm-white);
}
.sm-calendar__meta {
  margin: 16px 0 0;
  color: var(--sm-lime);
  font-family: var(--font-mono);
  font-size: .8rem;
  letter-spacing: .05em;
  text-transform: uppercase;
}
.sm-calendar__desc {
  max-width: 68ch;
  margin: 12px 0 0;
  color: rgba(248,249,250,.78);
  line-height: 1.7;
}
.sm-calendar__hero-side {
  display: grid;
  align-content: center;
  gap: 10px;
  min-width: 0;
  padding: 18px;
  border-radius: 22px;
  background: rgba(0,0,0,.22);
  border: 1px solid rgba(255,255,255,.09);
}
.sm-calendar__hero-side strong {
  font-family: var(--font-display);
  font-size: 2rem;
  line-height: .95;
  color: var(--sm-white);
}
.sm-calendar__hero-side small {
  color: rgba(248,249,250,.68);
  font-family: var(--font-mono);
  font-size: .78rem;
}
.sm-calendar__hero-side small b { color: var(--sm-lime); }
.sm-calendar__body {
  display: grid;
  grid-template-columns: minmax(0, .82fr) minmax(0, 1.18fr);
  gap: 16px;
  align-items: start;
}
.sm-calendar__focus {
  position: sticky;
  top: 116px;
  min-height: 220px;
}
.sm-calendar__focus .sm-calendar__status { margin: 0 0 10px 8px; }
.sm-calendar__list {
  max-height: 620px;
  padding: 2px 8px 2px 2px;
}
.sm-calendar__row {
  grid-template-columns: 54px minmax(0,1fr) auto;
  min-height: 78px;
  border-radius: 18px;
  opacity: .78;
}
.sm-calendar__row.is-current,
.sm-calendar__row.active {
  opacity: 1;
  background: linear-gradient(135deg, rgba(255,255,255,.105), rgba(255,255,255,.04));
}
.sm-calendar__row.is-current {
  border-left-color: #ff4757;
  box-shadow: 0 0 0 1px rgba(255,71,87,.22), 0 16px 40px -30px rgba(255,71,87,.8);
}
.sm-calendar__row.is-past { opacity: .48; }
.sm-calendar__row.is-postponed { opacity: .55; filter: grayscale(.5); }
.sm-calendar__badges {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: end;
}
.sm-calendar__live-dot {
  display: inline-flex;
  align-items: center;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(255,71,87,.14);
  color: #ff6b7a;
  border: 1px solid rgba(255,71,87,.35);
  font-family: var(--font-mono);
  font-size: .56rem;
  font-weight: 900;
  letter-spacing: .1em;
}
.sm-calendar__row .tour-row__city {
  white-space: normal;
  line-height: 1.35;
}

@media (min-width: 860px) {
  .sm-calendar__hero { grid-template-columns: minmax(0,1fr) minmax(240px, .32fr); }
}
@media (max-width: 860px) {
  .sm-calendar__body { grid-template-columns: 1fr; }
  .sm-calendar__focus { position: relative; top: auto; }
  .sm-calendar__list { max-height: none; }
}
@media (max-width: 560px) {
  .sm-calendar__hero { border-radius: 24px; }
  .sm-calendar__row { grid-template-columns: 48px minmax(0,1fr); }
  .sm-calendar__badges { grid-column: 2; justify-self: start; margin-top: 4px; }
}

/* Product-result clarity in Finder */
.sm-assistant__result-meta { white-space: normal; }
.sm-assistant__result em { display: inline-flex; width: fit-content; }


/* =========================================================
   SMASHLINE v4.1.6 — Cabecera editorial tipo AS/Marca
   Un solo header: logo + secciones + búsqueda. Sin doble barra.
   ========================================================= */
:root { --header-h: 76px; }

.site-header.header {
  height: var(--header-h) !important;
  background: linear-gradient(180deg, rgba(11,14,26,0.98), rgba(11,14,26,0.94)) !important;
  border-bottom: 3px solid var(--sm-lime) !important;
  box-shadow: 0 18px 44px -30px rgba(0,0,0,0.95);
}
.site-header.header--scrolled { height: 66px !important; }
.site-header__inner {
  height: 100%;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: stretch !important;
  gap: clamp(18px, 2.4vw, 34px);
}
.site-header .logo {
  align-self: center;
  min-width: max-content;
}
.site-header .logo__mark {
  width: 38px;
  height: 38px;
  border-radius: 7px;
}
.site-header .logo__text { font-size: clamp(1.65rem, 2.5vw, 2.25rem); letter-spacing: 1.8px; }
.site-header .custom-logo-wrap { display: inline-flex; align-items: center; }
.site-header .custom-logo-link img,
.site-header .custom-logo { max-height: 48px !important; width: auto; }

.site-nav {
  display: flex;
  align-items: stretch;
  justify-content: center;
  min-width: 0;
  overflow: hidden;
}
.site-nav__link {
  position: relative;
  display: inline-flex;
  align-items: center;
  padding: 0 clamp(9px, 1vw, 16px);
  font-size: clamp(0.74rem, 0.82vw, 0.9rem);
  line-height: 1;
  font-weight: 800;
  letter-spacing: 0.055em;
  text-transform: uppercase;
  color: var(--sm-gray-200);
  white-space: nowrap;
  border-left: 1px solid rgba(255,255,255,0.055);
  transition: color var(--t-fast), background var(--t-fast);
}
.site-nav__link:last-child { border-right: 1px solid rgba(255,255,255,0.055); }
.site-nav__link::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 3px;
  background: var(--sm-lime);
  transform: scaleX(0);
  transform-origin: center;
  transition: transform var(--t-fast);
}
.site-nav__link:hover,
.site-nav__link.is-active,
.site-nav__link.active {
  color: var(--sm-white);
  background: rgba(255,255,255,0.045);
}
.site-nav__link:hover::after,
.site-nav__link.is-active::after,
.site-nav__link.active::after { transform: scaleX(1); }

.site-header__actions {
  align-self: center;
  gap: 10px !important;
}
.site-header .header-search__toggle {
  width: auto !important;
  height: 38px !important;
  padding: 0 16px;
  border-radius: 999px;
  border: 1px solid var(--hairline-strong);
  background: rgba(255,255,255,0.05);
  color: var(--sm-white);
  font-size: 0.78rem !important;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.site-header .header-search__toggle::before {
  content: '⌕';
  margin-right: 7px;
  color: var(--sm-lime);
  font-size: 1rem;
}
.site-header__cta {
  display: inline-flex;
  align-items: center;
  height: 38px;
  padding: 0 16px;
  border-radius: 999px;
  background: var(--sm-lime);
  color: var(--sm-navy);
  font-size: 0.78rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}
.site-header .hamburger { display: none !important; }

/* La antigua barra de chips queda eliminada visualmente si existiera por caché/plantilla. */
.cat-rail { display: none !important; }
.frontpage,
.media-hero,
.single-wrap,
.archive-wrap,
.search-wrap,
.page-wrap { margin-top: 0; }
.media-hero { padding-top: calc(var(--header-h) + var(--sp-6)) !important; }
.frontpage { padding-top: calc(var(--header-h) + clamp(22px, 3vw, 44px)) !important; }

@media (max-width: 1120px) {
  .site-header__inner { gap: 14px; }
  .site-nav__link { padding: 0 9px; letter-spacing: 0.035em; }
  .site-header__cta { display: none; }
}
@media (max-width: 920px) {
  :root { --header-h: 64px; }
  .site-header.header { height: var(--header-h) !important; border-bottom-width: 2px !important; }
  .site-header__inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .site-nav { display: none !important; }
  .site-header .hamburger { display: flex !important; }
  .site-header .header-search__toggle {
    width: 42px !important;
    height: 42px !important;
    padding: 0;
    font-size: 0 !important;
  }
  .site-header .header-search__toggle::before { margin: 0; font-size: 1.2rem; }
  .site-header .logo__text { font-size: 1.55rem; }
  .frontpage { padding-top: calc(var(--header-h) + 18px) !important; }
  .media-hero { padding-top: calc(var(--header-h) + 28px) !important; }
}

/* =========================================================
   SMASHLINE v4.1.7 — Cabecera formal + narrativa editorial
   Objetivo: una sola barra, sin emojis, menú sin cortes y home con ruta de lectura.
   ========================================================= */
:root { --header-h: 68px; }

.site-header.header {
  height: var(--header-h) !important;
  background: rgba(11,14,26,.985) !important;
  border-bottom: 2px solid var(--sm-lime) !important;
  box-shadow: 0 16px 42px -34px rgba(0,0,0,.95);
}
.site-header.header--scrolled { height: 62px !important; }
.site-header__inner {
  height: 100%;
  display: grid !important;
  grid-template-columns: minmax(150px, 220px) minmax(0, 1fr) auto;
  align-items: center !important;
  gap: clamp(10px, 1.5vw, 22px) !important;
}
.site-header .logo,
.site-header .custom-logo-wrap {
  min-width: 0;
  max-width: 220px;
  overflow: hidden;
}
.site-header .logo__mark {
  width: 34px;
  height: 34px;
  border-radius: 7px;
}
.site-header .logo__text {
  font-size: clamp(1.38rem, 1.8vw, 1.85rem) !important;
  letter-spacing: 1.4px;
}
.site-header .custom-logo-link,
.site-header .custom-logo-wrap { display: inline-flex; align-items: center; }
.site-header .custom-logo-link img,
.site-header .custom-logo {
  max-height: 42px !important;
  max-width: 210px !important;
  width: auto !important;
  object-fit: contain;
}

.site-nav {
  min-width: 0;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 0;
  overflow: visible !important;
}
.site-nav__link {
  flex: 0 1 auto;
  min-width: 0;
  height: var(--header-h);
  padding: 0 clamp(7px, .82vw, 13px) !important;
  border-left: 1px solid rgba(255,255,255,.055);
  font-size: clamp(.66rem, .76vw, .82rem) !important;
  letter-spacing: .045em !important;
  font-weight: 850 !important;
}
.site-nav__link:last-child { border-right: 1px solid rgba(255,255,255,.055); }
.site-nav__link::after { left: 10px; right: 10px; height: 2px; }
.site-header__actions { gap: 8px !important; }
.site-header .header-search__toggle {
  height: 36px !important;
  min-width: 36px;
  padding: 0 12px !important;
  font-size: .72rem !important;
  border-color: rgba(255,255,255,.14);
}
.site-header .header-search__toggle::before {
  content: '' !important;
  margin: 0 !important;
}
.site-header__cta { display: none !important; }

/* Evita el corte del menú en anchos intermedios sin meter otra barra. */
@media (max-width: 1180px) {
  .site-header__inner { grid-template-columns: minmax(138px, 188px) minmax(0, 1fr) auto; gap: 8px !important; }
  .site-header .custom-logo-link img,
  .site-header .custom-logo { max-width: 184px !important; max-height: 38px !important; }
  .site-header .logo__text { font-size: 1.42rem !important; }
  .site-nav__link { padding: 0 7px !important; font-size: .66rem !important; letter-spacing: .025em !important; }
  .site-header .header-search__toggle { width: 38px !important; padding: 0 !important; font-size: 0 !important; }
  .site-header .header-search__toggle::before { content: 'Buscar' !important; font-size: 0 !important; }
}
@media (max-width: 980px) {
  :root { --header-h: 64px; }
  .site-header__inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .site-nav { display: none !important; }
  .site-header .hamburger { display: flex !important; }
  .site-header .header-search__toggle {
    width: 42px !important;
    height: 42px !important;
    border-radius: 50%;
  }
  .site-header .header-search__toggle::after {
    content: '';
    width: 15px;
    height: 15px;
    border: 2px solid var(--sm-white);
    border-radius: 50%;
    box-shadow: 7px 7px 0 -5px var(--sm-white);
    transform: rotate(-12deg);
  }
}

/* Limpieza visual: fuera emojis como recurso editorial principal. */
.cat-block__icon,
.glos-card__icon,
.sabias-que__icon:not(.sabias-que__icon--formal) { display: none !important; }
.cat-block__label {
  gap: 0;
  letter-spacing: .105em;
}
.cat-block__label::before {
  content: '';
  display: inline-block;
  width: 18px;
  height: 2px;
  background: var(--cat, var(--sm-lime));
  margin-right: 10px;
  vertical-align: middle;
}
.cat-block__desc {
  max-width: 72ch;
  color: rgba(248,249,250,.72);
}
.sabias-que__icon--formal,
.tip-card__icon--formal,
.cat-hero__icon--formal {
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  color: var(--sm-navy);
}
.rank-row__crown {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  margin-right: 4px;
  border-radius: 999px;
  background: rgba(204,255,0,.18);
  color: var(--sm-lime);
  border: 1px solid rgba(204,255,0,.38);
  font-family: var(--font-mono);
  font-size: .52rem;
  font-weight: 900;
}

/* Ruta editorial: guía al usuario hacia el siguiente bloque lógico. */
.reader-path {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
  padding: clamp(18px, 3vw, 30px);
  margin: 0 0 var(--sp-6);
  border: 1px solid rgba(255,255,255,.09);
  border-left: 3px solid var(--sm-lime);
  border-radius: 24px;
  background: linear-gradient(135deg, rgba(255,255,255,.065), rgba(255,255,255,.025));
  box-shadow: 0 22px 60px -48px rgba(0,0,0,.9);
}
.reader-path__eyebrow {
  display: inline-flex;
  margin-bottom: 10px;
  font-family: var(--font-mono);
  font-size: .66rem;
  font-weight: 900;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--sm-lime);
}
.reader-path__title {
  margin: 0;
  max-width: 12ch;
  font-family: var(--font-display);
  font-size: clamp(1.7rem, 3.6vw, 3rem);
  line-height: .96;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: var(--sm-white);
}
.reader-path__text {
  max-width: 56ch;
  margin: 12px 0 0;
  color: rgba(248,249,250,.72);
  line-height: 1.65;
}
.reader-path__steps {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.reader-path__step {
  position: relative;
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 120px;
  padding: 16px;
  border-radius: 18px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  transition: transform var(--t-fast), border-color var(--t-fast), background var(--t-fast);
}
.reader-path__step:hover {
  transform: translateY(-2px);
  border-color: rgba(204,255,0,.42);
  background: rgba(204,255,0,.06);
}
.reader-path__step span {
  font-family: var(--font-mono);
  font-size: .7rem;
  color: var(--sm-lime);
  font-weight: 900;
}
.reader-path__step strong {
  font-size: 1rem;
  color: var(--sm-white);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.reader-path__step small {
  color: rgba(248,249,250,.64);
  line-height: 1.45;
}
@media (max-width: 760px) {
  .reader-path { grid-template-columns: 1fr; }
  .reader-path__title { max-width: 16ch; }
  .reader-path__steps { grid-template-columns: 1fr; }
}

/* Más formalidad en módulos de profundidad. */
.protip-banner__badge { letter-spacing: .16em; }
.glossary { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); }
.glos-card {
  border-left: 2px solid var(--sm-lime);
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}
.glos-card__name { text-transform: uppercase; letter-spacing: .04em; }

/* Calendario sin iconografía decorativa. */
.sm-calendar__meta { font-family: var(--font-mono); letter-spacing: .04em; }
.tour-row__city::before { content: 'Sede: '; color: rgba(248,249,250,.46); }

@media (max-width: 1180px) {
  .site-header .header-search__toggle::after {
    content: '';
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid var(--sm-white);
    border-radius: 50%;
    box-shadow: 7px 7px 0 -5px var(--sm-white);
    transform: rotate(-12deg);
  }
}

/* ════════════════════════════════════════════════════════════
   SMASHLINE v4.1.8 — Academia de Juego visual e interactiva
   ════════════════════════════════════════════════════════════ */
.academy-page {
  position: relative;
  overflow: hidden;
  padding-bottom: var(--sp-8);
}
.academy-page::before {
  content: '';
  position: fixed;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(760px 380px at 84% 8%, rgba(204,255,0,.09), transparent 65%),
    radial-gradient(640px 420px at 10% 28%, rgba(24,220,255,.07), transparent 70%);
  z-index: -1;
}
.academy-hero {
  padding: calc(var(--header-h) + 46px) 0 42px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.academy-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, .92fr) minmax(420px, .78fr);
  gap: clamp(24px, 5vw, 72px);
  align-items: center;
}
.academy-kicker,
.academy-section-head span,
.academy-shot-panel__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: var(--sm-lime);
}
.academy-kicker::before,
.academy-section-head span::before {
  content: '';
  width: 24px;
  height: 2px;
  background: var(--sm-lime);
}
.academy-hero h1,
.academy-section-head h2,
.academy-routine h2 {
  margin: 0;
  font-family: var(--font-display);
  text-transform: uppercase;
  letter-spacing: .02em;
  color: var(--sm-white);
  line-height: .92;
}
.academy-hero h1 {
  max-width: 10.8ch;
  font-size: clamp(4rem, 10vw, 8.6rem);
}
.academy-hero h1 span,
.academy-section-head h2 span { color: var(--sm-lime); }
.academy-hero p {
  max-width: 62ch;
  margin: 18px 0 0;
  color: rgba(248,249,250,.72);
  font-size: clamp(1rem, 1.9vw, 1.18rem);
  line-height: 1.7;
}
.academy-hero__actions,
.academy-section-head--split {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
.academy-hero__actions { margin-top: 28px; justify-content: flex-start; }
.academy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0 18px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: .73rem;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  transition: transform var(--t-fast), border-color var(--t-fast), background var(--t-fast), color var(--t-fast);
}
.academy-btn:hover { transform: translateY(-2px); }
.academy-btn--primary {
  background: var(--sm-lime);
  color: var(--sm-navy);
  box-shadow: 0 16px 40px -22px rgba(204,255,0,.9);
}
.academy-btn--ghost {
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.035);
  color: var(--sm-white);
}
.academy-btn--ghost:hover { border-color: rgba(204,255,0,.44); color: var(--sm-lime); }
.academy-hero__visual { position: relative; }
.academy-mini-court,
.academy-court,
.academy-situation__court {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(90deg, rgba(255,255,255,.055) 1px, transparent 1px),
    linear-gradient(0deg, rgba(255,255,255,.055) 1px, transparent 1px),
    radial-gradient(circle at 50% 50%, rgba(204,255,0,.055), transparent 45%),
    linear-gradient(135deg, rgba(20,24,41,.94), rgba(7,10,19,.96));
  background-size: 25% 100%, 100% 50%, auto, auto;
  border-radius: 28px;
  box-shadow: 0 34px 80px -54px rgba(0,0,0,1);
}
.academy-mini-court--hero {
  min-height: 360px;
}
.academy-mini-court--hero::before,
.academy-court::before,
.academy-situation__court::before {
  content: '';
  position: absolute;
  inset: 10px;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 22px;
}
.academy-mini-court--hero::after,
.academy-court__net {
  content: '';
  position: absolute;
  left: 50%; top: 12px; bottom: 12px;
  width: 2px;
  background: linear-gradient(to bottom, transparent, rgba(204,255,0,.85), transparent);
  opacity: .7;
}
.academy-mini-court svg,
.academy-court__svg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
}
.academy-hero-path,
.academy-path {
  fill: none;
  stroke: var(--sm-lime);
  stroke-width: 4;
  stroke-linecap: round;
  stroke-dasharray: 10 10;
  filter: drop-shadow(0 0 9px rgba(204,255,0,.55));
}
.academy-hero-path { animation: academyDash 1.1s linear infinite; }
.academy-path { display: none; animation: academyDash 1.1s linear infinite; }
.academy-path.is-active { display: block; }
.academy-ball {
  fill: var(--sm-lime);
  filter: drop-shadow(0 0 10px rgba(204,255,0,.9));
}
.academy-ball--hero {
  offset-path: path('M72,88 C160,22 268,44 350,126');
  animation: academyMove 2.4s var(--ease-in-out) infinite;
}
.academy-ball--sim {
  offset-path: path('M70,96 C150,36 250,42 342,112');
  animation: academyMove 2.5s var(--ease-in-out) infinite;
}
.academy-player {
  position: absolute;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  color: var(--sm-white);
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 900;
  box-shadow: 0 14px 34px -24px rgba(0,0,0,.9);
}
.academy-player--a { left: 18%; top: 28%; }
.academy-player--b { left: 18%; bottom: 28%; }
.academy-player--c { right: 18%; top: 28%; }
.academy-player--d { right: 18%; bottom: 28%; }
.academy-hero__stat {
  position: absolute;
  right: 22px;
  bottom: 22px;
  max-width: 240px;
  padding: 16px;
  border: 1px solid rgba(204,255,0,.25);
  border-radius: 18px;
  background: rgba(8,11,20,.84);
  backdrop-filter: blur(12px);
}
.academy-hero__stat strong {
  display: block;
  color: var(--sm-white);
  font-family: var(--font-display);
  font-size: 2.1rem;
  line-height: 1;
  letter-spacing: .04em;
}
.academy-hero__stat span { color: rgba(248,249,250,.66); font-size: .86rem; }
@keyframes academyDash { to { stroke-dashoffset: -20; } }
@keyframes academyMove { 0%, 12% { offset-distance: 0%; opacity: 0; } 20% { opacity: 1; } 82% { opacity: 1; } 100% { offset-distance: 100%; opacity: 0; } }

.academy-section-head {
  margin-bottom: 22px;
}
.academy-section-head h2,
.academy-routine h2 {
  max-width: 13ch;
  font-size: clamp(2.3rem, 5.8vw, 4.8rem);
}
.academy-section-head p,
.academy-routine p {
  max-width: 62ch;
  color: rgba(248,249,250,.66);
  line-height: 1.7;
}
.academy-map,
.academy-simulator,
.academy-playbook,
.academy-routine,
.academy-errors,
.academy-related {
  margin-top: clamp(44px, 7vw, 86px);
}
.academy-map {
  padding: clamp(20px, 3vw, 32px);
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 28px;
  background: linear-gradient(135deg, rgba(255,255,255,.058), rgba(255,255,255,.018));
}
.academy-map__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}
.academy-map__card {
  display: grid;
  gap: 8px;
  min-height: 148px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 20px;
  background: rgba(0,0,0,.18);
  transition: transform var(--t-fast), border-color var(--t-fast), background var(--t-fast);
}
.academy-map__card:hover {
  transform: translateY(-3px);
  border-color: rgba(204,255,0,.42);
  background: rgba(204,255,0,.055);
}
.academy-map__card b {
  font-family: var(--font-mono);
  color: var(--sm-lime);
  font-size: .72rem;
}
.academy-map__card strong {
  color: var(--sm-white);
  font-size: 1.05rem;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.academy-map__card small { color: rgba(248,249,250,.62); line-height: 1.45; }

.academy-sim-grid {
  display: grid;
  grid-template-columns: 220px minmax(360px, 1fr) minmax(290px, .75fr);
  gap: 18px;
  align-items: stretch;
}
.academy-shot-tabs {
  display: grid;
  align-content: start;
  gap: 10px;
}
.academy-shot-tab {
  display: flex;
  align-items: center;
  gap: 11px;
  width: 100%;
  min-height: 50px;
  padding: 0 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.09);
  background: rgba(255,255,255,.035);
  color: rgba(248,249,250,.74);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .05em;
  transition: border-color var(--t-fast), background var(--t-fast), transform var(--t-fast), color var(--t-fast);
}
.academy-shot-tab span {
  font-family: var(--font-mono);
  font-size: .68rem;
  color: var(--sm-lime);
}
.academy-shot-tab:hover,
.academy-shot-tab.is-active {
  border-color: rgba(204,255,0,.46);
  background: rgba(204,255,0,.08);
  color: var(--sm-white);
  transform: translateX(3px);
}
.academy-court-wrap {
  min-height: 520px;
}
.academy-court {
  height: 100%;
  min-height: 520px;
  border-radius: 32px;
}
.academy-court__glass {
  position: absolute;
  left: 14px; right: 14px;
  height: 34px;
  border-radius: 14px;
  background: repeating-linear-gradient(90deg, rgba(255,255,255,.09), rgba(255,255,255,.09) 1px, transparent 1px, transparent 17px);
  opacity: .42;
}
.academy-court__glass--top { top: 15px; }
.academy-court__glass--bottom { bottom: 15px; }
.academy-court__label {
  position: absolute;
  z-index: 4;
  display: grid;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 15px;
  background: rgba(8,11,20,.8);
  border: 1px solid rgba(255,255,255,.1);
  backdrop-filter: blur(12px);
}
.academy-court__label small {
  font-family: var(--font-mono);
  color: var(--sm-lime);
  font-size: .62rem;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.academy-court__label strong { color: var(--sm-white); font-size: .85rem; }
.academy-court__label--from { left: 24px; bottom: 24px; }
.academy-court__label--to { right: 24px; top: 24px; }
.academy-shot-panel {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 22px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 28px;
  background: linear-gradient(180deg, rgba(255,255,255,.06), rgba(255,255,255,.025));
}
.academy-shot-panel h3 {
  margin: -2px 0 0;
  font-family: var(--font-display);
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: .92;
  color: var(--sm-white);
  text-transform: uppercase;
  letter-spacing: .03em;
}
.academy-shot-panel__role {
  margin: -6px 0 0;
  color: var(--sm-lime);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}
.academy-shot-panel p { color: rgba(248,249,250,.72); line-height: 1.58; }
.academy-phase-list {
  display: grid;
  gap: 10px;
}
.academy-phase-list div,
.academy-alert,
.academy-drill {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.16);
}
.academy-phase-list b,
.academy-alert strong,
.academy-drill strong {
  display: block;
  margin-bottom: 5px;
  color: var(--sm-white);
  font-size: .82rem;
  text-transform: uppercase;
  letter-spacing: .08em;
}
.academy-phase-list span,
.academy-alert span,
.academy-drill span {
  display: block;
  color: rgba(248,249,250,.66);
  font-size: .9rem;
  line-height: 1.5;
}
.academy-alert { border-color: rgba(255,71,87,.24); }
.academy-alert strong { color: var(--sm-coral-light); }
.academy-drill { border-color: rgba(204,255,0,.22); }
.academy-drill strong { color: var(--sm-lime); }

.academy-playbook__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.academy-situation {
  padding: 16px;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 24px;
  background: rgba(255,255,255,.035);
}
.academy-situation__court {
  height: 180px;
  margin-bottom: 16px;
  border-radius: 18px;
}
.zone {
  position: absolute;
  z-index: 3;
  padding: 7px 9px;
  border-radius: 999px;
  background: rgba(204,255,0,.12);
  border: 1px solid rgba(204,255,0,.28);
  color: var(--sm-lime);
  font-family: var(--font-mono);
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.zone--back { left: 12px; bottom: 18px; }
.zone--net { right: 12px; top: 18px; }
.zone--mid { left: 34%; bottom: 42%; }
.zone--feet { right: 12px; top: 46%; }
.zone--net-us { left: 12px; top: 18px; }
.zone--deep { right: 12px; bottom: 18px; }
.zone--smash { left: 22px; top: 24px; }
.zone--out { right: 12px; top: 12px; background: rgba(24,220,255,.1); border-color: rgba(24,220,255,.28); color: var(--sm-cyan); }
.academy-situation h3 {
  color: var(--sm-white);
  font-size: 1.08rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.academy-situation p {
  margin: 8px 0 14px;
  color: rgba(248,249,250,.66);
  font-size: .92rem;
  line-height: 1.56;
}
.academy-situation a {
  color: var(--sm-lime);
  font-family: var(--font-mono);
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.academy-routine {
  display: grid;
  grid-template-columns: minmax(0, .75fr) minmax(360px, 1fr);
  gap: 22px;
  align-items: stretch;
  padding: clamp(22px, 4vw, 38px);
  border: 1px solid rgba(204,255,0,.16);
  border-radius: 32px;
  background:
    radial-gradient(580px 240px at 88% 12%, rgba(204,255,0,.11), transparent 68%),
    linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.022));
}
.academy-routine__copy {
  display: grid;
  align-content: center;
  justify-items: start;
}
.academy-routine p { margin: 16px 0 22px; }
.academy-timer {
  display: grid;
  grid-template-columns: 170px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
}
.academy-timer__dial {
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  align-content: center;
  border-radius: 50%;
  border: 1px solid rgba(204,255,0,.32);
  background: radial-gradient(circle, rgba(204,255,0,.14), rgba(0,0,0,.18));
}
.academy-timer__dial span {
  font-family: var(--font-display);
  color: var(--sm-white);
  font-size: 5rem;
  line-height: .85;
}
.academy-timer__dial small {
  font-family: var(--font-mono);
  color: var(--sm-lime);
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.academy-timeline {
  display: grid;
  gap: 10px;
  list-style: none;
}
.academy-timeline li {
  display: grid;
  grid-template-columns: 62px 1fr;
  gap: 12px;
  padding: 14px;
  border-radius: 16px;
  background: rgba(0,0,0,.18);
  border: 1px solid rgba(255,255,255,.08);
}
.academy-timeline b {
  color: var(--sm-lime);
  font-family: var(--font-mono);
  font-size: .72rem;
}
.academy-timeline span { color: rgba(248,249,250,.7); font-size: .92rem; }

.academy-accordion {
  display: grid;
  gap: 10px;
}
.academy-acc {
  display: grid;
  gap: 0;
  width: 100%;
  padding: 18px 20px;
  text-align: left;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
  transition: border-color var(--t-fast), background var(--t-fast);
}
.academy-acc strong {
  color: var(--sm-white);
  text-transform: uppercase;
  letter-spacing: .04em;
}
.academy-acc span {
  max-height: 0;
  overflow: hidden;
  color: rgba(248,249,250,.66);
  line-height: 1.55;
  transition: max-height .26s var(--ease), margin-top .26s var(--ease);
}
.academy-acc.is-open {
  border-color: rgba(204,255,0,.32);
  background: rgba(204,255,0,.055);
}
.academy-acc.is-open span {
  max-height: 120px;
  margin-top: 10px;
}
.academy-related { padding-bottom: 10px; }

@media (max-width: 1180px) {
  .academy-hero__grid,
  .academy-sim-grid,
  .academy-routine { grid-template-columns: 1fr; }
  .academy-hero h1 { max-width: 12ch; }
  .academy-mini-court--hero { min-height: 320px; }
  .academy-shot-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .academy-shot-tab { justify-content: center; }
  .academy-court-wrap,
  .academy-court { min-height: 430px; }
  .academy-playbook__grid,
  .academy-map__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
  .academy-hero { padding-top: calc(var(--header-h) + 28px); }
  .academy-hero__actions,
  .academy-section-head--split { align-items: stretch; flex-direction: column; }
  .academy-btn { width: 100%; }
  .academy-mini-court--hero { min-height: 250px; }
  .academy-map__grid,
  .academy-playbook__grid,
  .academy-shot-tabs,
  .academy-timer { grid-template-columns: 1fr; }
  .academy-court-wrap,
  .academy-court { min-height: 360px; }
  .academy-court__label { max-width: 46%; padding: 10px; }
  .academy-court__label strong { font-size: .74rem; }
  .academy-shot-panel { padding: 18px; }
  .academy-timer__dial { width: 160px; margin: 0 auto; }
}
@media (prefers-reduced-motion: reduce) {
  .academy-hero-path,
  .academy-path,
  .academy-ball { animation: none !important; }
}

/* =========================================================
   SMASHLINE v4.1.9 — Header editorial limpio + academia safe
   Objetivo: evitar cortes, eliminar ruido visual y mejorar recorrido.
   ========================================================= */
:root { --header-h: 64px; }
.site-header.header {
  height: var(--header-h) !important;
  background: linear-gradient(180deg, rgba(10,13,25,.99), rgba(10,13,25,.965)) !important;
  border-bottom: 2px solid var(--sm-lime) !important;
}
.site-header.header .container,
.site-header__inner.container {
  max-width: none !important;
  width: 100% !important;
  padding-left: clamp(14px, 2.1vw, 34px) !important;
  padding-right: clamp(14px, 2.1vw, 34px) !important;
}
.site-header__inner {
  display: grid !important;
  grid-template-columns: minmax(148px, 214px) minmax(0, 1fr) 44px !important;
  gap: clamp(8px, 1.2vw, 18px) !important;
  height: 100%;
  align-items: center !important;
}
.site-header .logo,
.site-header .custom-logo-wrap,
.site-header .custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  min-width: 0 !important;
  max-width: 214px !important;
  overflow: hidden !important;
}
.site-header .logo__mark {
  width: 32px !important;
  height: 32px !important;
  border-radius: 7px !important;
  font-size: 1rem !important;
}
.site-header .logo__text {
  font-size: clamp(1.22rem, 1.58vw, 1.75rem) !important;
  letter-spacing: 1.2px !important;
}
.site-header .custom-logo-link img,
.site-header .custom-logo {
  max-width: 205px !important;
  max-height: 38px !important;
  width: auto !important;
  object-fit: contain !important;
}
.site-nav {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  overflow: hidden !important;
  height: var(--header-h) !important;
}
.site-nav__link {
  flex: 0 1 auto !important;
  height: var(--header-h) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 0 !important;
  padding: 0 clamp(8px, .92vw, 17px) !important;
  font-size: clamp(.62rem, .72vw, .78rem) !important;
  letter-spacing: .075em !important;
  font-weight: 850 !important;
  white-space: nowrap !important;
  border-left: 1px solid rgba(255,255,255,.06) !important;
}
.site-nav__link:last-child { border-right: 1px solid rgba(255,255,255,.06) !important; }
.site-nav__link::after { left: 12px !important; right: 12px !important; height: 2px !important; }
.site-header__actions {
  justify-self: end !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  min-width: 0 !important;
}
.site-header .header-search__toggle {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  padding: 0 !important;
  border-radius: 50% !important;
  font-size: 0 !important;
  color: transparent !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.15) !important;
}
.site-header .header-search__toggle span { display: none !important; }
.site-header .header-search__toggle::before { content: '' !important; display: none !important; }
.site-header .header-search__toggle::after {
  content: '' !important;
  display: block !important;
  width: 14px !important;
  height: 14px !important;
  border: 2px solid var(--sm-lime) !important;
  border-radius: 50% !important;
  box-shadow: 8px 8px 0 -5px var(--sm-lime) !important;
  transform: rotate(-12deg) !important;
}
.site-header .hamburger { display: none !important; }
.header-search__form {
  top: var(--header-h) !important;
}
@media (max-width: 1180px) {
  .site-header__inner { grid-template-columns: minmax(130px, 178px) minmax(0, 1fr) 44px !important; gap: 6px !important; }
  .site-header .custom-logo-link img,
  .site-header .custom-logo { max-width: 172px !important; max-height: 34px !important; }
  .site-header .logo__text { font-size: 1.28rem !important; letter-spacing: .9px !important; }
  .site-nav__link { padding: 0 7px !important; font-size: .61rem !important; letter-spacing: .04em !important; }
}
@media (max-width: 980px) {
  .site-header__inner {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
  }
  .site-nav { display: none !important; }
  .site-header .hamburger { display: flex !important; }
}

/* Academia: versión estable, sin dependencias extra de posts ni schemas. */
.academy-page { background: var(--sm-navy); color: var(--sm-white); }
.academy-hero--safe { padding-top: calc(var(--header-h) + 42px) !important; }
.academy-section-head p,
.academy-shot-panel p,
.academy-situation p,
.academy-routine__copy p { color: rgba(248,249,250,.72); }
.academy-shot-tab { text-align: left; }


/* =========================================================
   SMASHLINE v4.1.10 — Academia compacta + drills visuales
   Objetivo: menos impacto visual, más comprensión real del ejercicio.
   ========================================================= */
:root { --header-h: 60px; }
.site-header.header { height: var(--header-h) !important; }
.site-header.header .container,
.site-header__inner.container { padding-left: clamp(10px, 1.6vw, 24px) !important; padding-right: clamp(10px, 1.6vw, 24px) !important; }
.site-header__inner { grid-template-columns: minmax(140px, 186px) minmax(0, 1fr) 38px !important; gap: 8px !important; }
.site-header .logo,
.site-header .custom-logo-wrap,
.site-header .custom-logo-link { max-width: 186px !important; }
.site-header .custom-logo-link img,
.site-header .custom-logo { max-width: 176px !important; max-height: 34px !important; }
.site-header .logo__mark { width: 30px !important; height: 30px !important; }
.site-header .logo__text { font-size: clamp(1.18rem, 1.35vw, 1.52rem) !important; letter-spacing: .9px !important; }
.site-nav { height: var(--header-h) !important; justify-content: stretch !important; }
.site-nav__link {
  flex: 1 1 0 !important;
  height: var(--header-h) !important;
  padding: 0 5px !important;
  font-size: clamp(.58rem, .66vw, .72rem) !important;
  letter-spacing: .055em !important;
  border-left: 1px solid rgba(255,255,255,.05) !important;
}
.site-header .header-search__toggle { width: 38px !important; height: 38px !important; min-width: 38px !important; }
.header-search__form { top: var(--header-h) !important; }
@media (max-width: 1100px) {
  .site-header__inner { grid-template-columns: minmax(126px, 158px) minmax(0, 1fr) 38px !important; }
  .site-header .custom-logo-link img,
  .site-header .custom-logo { max-width: 150px !important; max-height: 31px !important; }
  .site-header .logo__text { font-size: 1.12rem !important; }
  .site-nav__link { font-size: .55rem !important; letter-spacing: .035em !important; padding: 0 4px !important; }
}
@media (max-width: 1010px) {
  .site-header__inner { display:flex !important; }
  .site-nav { display: none !important; }
  .site-header .hamburger { display:flex !important; }
}

.academy-page { padding-bottom: clamp(46px, 6vw, 78px) !important; }
.academy-page::before {
  background:
    radial-gradient(560px 260px at 86% 5%, rgba(204,255,0,.055), transparent 68%),
    radial-gradient(520px 320px at 8% 20%, rgba(24,220,255,.045), transparent 72%) !important;
}
.academy-hero,
.academy-hero--safe {
  padding: calc(var(--header-h) + 26px) 0 28px !important;
}
.academy-hero__grid { grid-template-columns: minmax(0, .9fr) minmax(360px, .7fr) !important; gap: clamp(20px, 3.2vw, 46px) !important; }
.academy-kicker,
.academy-section-head span,
.academy-shot-panel__eyebrow { margin-bottom: 9px !important; font-size: .64rem !important; letter-spacing: .15em !important; }
.academy-kicker::before,
.academy-section-head span::before { width: 18px !important; }
.academy-hero h1 { max-width: 13.6ch !important; font-size: clamp(3rem, 6.2vw, 5.8rem) !important; line-height: .94 !important; }
.academy-hero p { margin-top: 14px !important; font-size: clamp(.96rem, 1.35vw, 1.08rem) !important; line-height: 1.62 !important; max-width: 66ch !important; }
.academy-hero__actions { margin-top: 20px !important; }
.academy-btn { min-height: 39px !important; padding: 0 15px !important; font-size: .66rem !important; }
.academy-mini-court,
.academy-court,
.academy-situation__court { border-radius: 20px !important; box-shadow: 0 24px 54px -44px rgba(0,0,0,.95) !important; }
.academy-mini-court--hero { min-height: 250px !important; }
.academy-hero__stat { right: 14px !important; bottom: 14px !important; padding: 12px !important; max-width: 210px !important; border-radius: 14px !important; }
.academy-hero__stat strong { font-size: 1.48rem !important; }
.academy-hero__stat span { font-size: .76rem !important; }
.academy-player { width: 28px !important; height: 28px !important; font-size: .62rem !important; }
.academy-section-head { margin-bottom: 16px !important; }
.academy-section-head h2,
.academy-routine h2 { max-width: 16ch !important; font-size: clamp(2rem, 3.8vw, 3.45rem) !important; line-height: .96 !important; }
.academy-section-head p,
.academy-routine p { line-height: 1.6 !important; font-size: .96rem !important; }
.academy-map,
.academy-simulator,
.academy-playbook,
.academy-routine,
.academy-errors,
.academy-related { margin-top: clamp(30px, 4.8vw, 58px) !important; }
.academy-map { padding: clamp(16px, 2.2vw, 24px) !important; border-radius: 22px !important; }
.academy-map__grid { gap: 10px !important; }
.academy-map__card { min-height: 112px !important; padding: 14px !important; border-radius: 16px !important; }
.academy-map__card strong { font-size: .95rem !important; }
.academy-map__card small { font-size: .82rem !important; }

.academy-sim-grid { grid-template-columns: 174px minmax(320px, 1fr) minmax(292px, .72fr) !important; gap: 14px !important; }
.academy-shot-tabs { gap: 8px !important; }
.academy-shot-tab { min-height: 42px !important; padding: 0 11px !important; border-radius: 13px !important; font-size: .76rem !important; }
.academy-shot-tab span { font-size: .58rem !important; }
.academy-court-wrap,
.academy-court { min-height: 382px !important; }
.academy-court { border-radius: 24px !important; background-size: 25% 100%, 100% 50%, auto, auto !important; }
.academy-mini-court--hero::before,
.academy-court::before,
.academy-situation__court::before { inset: 8px !important; border-radius: 16px !important; }
.academy-court__glass { height: 26px !important; left: 12px !important; right: 12px !important; border-radius: 10px !important; opacity: .34 !important; }
.academy-court__glass--top { top: 12px !important; }
.academy-court__glass--bottom { bottom: 12px !important; }
.academy-court__net { top: 10px !important; bottom: 10px !important; opacity: .55 !important; }
.academy-hero-path,
.academy-path { stroke-width: 3 !important; stroke-dasharray: 8 9 !important; filter: drop-shadow(0 0 6px rgba(204,255,0,.45)) !important; }
.academy-ball { filter: drop-shadow(0 0 7px rgba(204,255,0,.7)) !important; }
.academy-court__label { padding: 9px 11px !important; border-radius: 12px !important; }
.academy-court__label--from { left: 16px !important; bottom: 16px !important; }
.academy-court__label--to { right: 16px !important; top: 16px !important; }
.academy-court__label strong { font-size: .76rem !important; }

.academy-court__zones { position:absolute; inset:0; z-index:2; pointer-events:none; }
.academy-court-band {
  position:absolute; top:50%; transform:translateY(-50%);
  font-family:var(--font-mono); font-size:.55rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase;
  color:rgba(248,249,250,.32); writing-mode:vertical-rl;
}
.academy-court-band--left { left:13px; }
.academy-court-band--right { right:13px; }
.academy-target {
  position:absolute; display:grid; place-items:center; gap:2px; min-width:52px; padding:4px 6px;
  border-radius:999px; background:rgba(8,11,20,.86); border:1px solid rgba(204,255,0,.36);
  box-shadow:0 0 0 4px rgba(204,255,0,.05); transform:translate(-50%,-50%); transition:all .28s var(--ease);
}
.academy-target b { display:grid; place-items:center; width:18px; height:18px; border-radius:50%; background:var(--sm-lime); color:var(--sm-navy); font-family:var(--font-mono); font-size:.58rem; }
.academy-target em { font-style:normal; color:rgba(248,249,250,.76); font-size:.56rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.academy-hotzone {
  position:absolute; display:none; padding:6px 8px; border-radius:999px; border:1px solid rgba(24,220,255,.28);
  background:rgba(24,220,255,.08); color:rgba(248,249,250,.78); font-family:var(--font-mono); font-size:.55rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase;
}
.academy-court[data-active-shot="bandeja"] .academy-hotzone--deep,
.academy-court[data-active-shot="globo"] .academy-hotzone--deep,
.academy-court[data-active-shot="chiquita"] .academy-hotzone--feet,
.academy-court[data-active-shot="volea"] .academy-hotzone--feet,
.academy-court[data-active-shot="vibora"] .academy-hotzone--side,
.academy-court[data-active-shot="remate"] .academy-hotzone--side { display:block; }
.academy-hotzone--deep { right:42px; bottom:44px; }
.academy-hotzone--feet { right:46px; top:49%; }
.academy-hotzone--side { right:30px; top:28px; }

.academy-court[data-active-shot="bandeja"] .academy-target--start { left:23%; top:30%; }
.academy-court[data-active-shot="bandeja"] .academy-target--impact { left:30%; top:22%; }
.academy-court[data-active-shot="bandeja"] .academy-target--target { left:80%; top:47%; }
.academy-court[data-active-shot="bandeja"] .academy-target--recover { left:25%; top:42%; }
.academy-court[data-active-shot="vibora"] .academy-target--start { left:24%; top:31%; }
.academy-court[data-active-shot="vibora"] .academy-target--impact { left:32%; top:22%; }
.academy-court[data-active-shot="vibora"] .academy-target--target { left:84%; top:29%; }
.academy-court[data-active-shot="vibora"] .academy-target--recover { left:27%; top:42%; }
.academy-court[data-active-shot="chiquita"] .academy-target--start { left:77%; top:78%; }
.academy-court[data-active-shot="chiquita"] .academy-target--impact { left:70%; top:64%; }
.academy-court[data-active-shot="chiquita"] .academy-target--target { left:23%; top:45%; }
.academy-court[data-active-shot="chiquita"] .academy-target--recover { left:52%; top:50%; }
.academy-court[data-active-shot="globo"] .academy-target--start { left:78%; top:76%; }
.academy-court[data-active-shot="globo"] .academy-target--impact { left:70%; top:66%; }
.academy-court[data-active-shot="globo"] .academy-target--target { left:18%; top:25%; }
.academy-court[data-active-shot="globo"] .academy-target--recover { left:56%; top:62%; }
.academy-court[data-active-shot="volea"] .academy-target--start { left:25%; top:38%; }
.academy-court[data-active-shot="volea"] .academy-target--impact { left:34%; top:42%; }
.academy-court[data-active-shot="volea"] .academy-target--target { left:78%; top:59%; }
.academy-court[data-active-shot="volea"] .academy-target--recover { left:27%; top:50%; }
.academy-court[data-active-shot="remate"] .academy-target--start { left:24%; top:33%; }
.academy-court[data-active-shot="remate"] .academy-target--impact { left:34%; top:22%; }
.academy-court[data-active-shot="remate"] .academy-target--target { left:90%; top:12%; }
.academy-court[data-active-shot="remate"] .academy-target--recover { left:42%; top:42%; }

.academy-shot-panel { gap: 11px !important; padding: 18px !important; border-radius: 22px !important; }
.academy-shot-panel h3 { font-size: clamp(2.05rem, 3.5vw, 3.1rem) !important; line-height:.95 !important; }
.academy-shot-panel__role { font-size: .82rem !important; }
.academy-shot-panel p { font-size: .94rem !important; line-height: 1.5 !important; }
.academy-phase-list { gap: 8px !important; }
.academy-phase-list div,
.academy-alert,
.academy-drill { padding: 11px !important; border-radius: 13px !important; }
.academy-phase-list b,
.academy-alert strong,
.academy-drill strong { font-size: .72rem !important; margin-bottom: 4px !important; }
.academy-phase-list span,
.academy-alert span,
.academy-drill span { font-size: .82rem !important; line-height: 1.42 !important; }
.academy-drill--visual { background:linear-gradient(180deg, rgba(204,255,0,.07), rgba(0,0,0,.16)) !important; }
.academy-drill-steps { display:grid; gap:7px; margin:10px 0 0; padding:0; list-style:none; }
.academy-drill-steps li { display:grid; grid-template-columns:22px 1fr; gap:8px; align-items:start; }
.academy-drill-steps b { display:grid !important; place-items:center; width:20px; height:20px; border-radius:50%; background:rgba(204,255,0,.16); border:1px solid rgba(204,255,0,.32); color:var(--sm-lime); font-family:var(--font-mono); font-size:.58rem !important; margin:0 !important; }
.academy-drill-reps { display:block; margin-top:10px; padding-top:10px; border-top:1px solid rgba(255,255,255,.08); color:var(--sm-lime); font-family:var(--font-mono); font-size:.66rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }

.academy-playbook__grid { gap: 12px !important; }
.academy-situation { padding: 13px !important; border-radius: 18px !important; }
.academy-situation__court { height: 136px !important; margin-bottom: 12px !important; border-radius: 14px !important; }
.academy-situation__court svg { position:absolute; inset:0; width:100%; height:100%; z-index:2; }
.academy-situation__court path { fill:none; stroke:var(--sm-lime); stroke-width:3; stroke-linecap:round; stroke-dasharray:7 8; filter:drop-shadow(0 0 5px rgba(204,255,0,.45)); }
.academy-situation__court circle { fill:var(--sm-lime); filter:drop-shadow(0 0 6px rgba(204,255,0,.7)); }
.zone { font-size:.5rem !important; padding:5px 7px !important; z-index:3 !important; }
.academy-situation h3 { font-size:.96rem !important; }
.academy-situation p { font-size:.84rem !important; line-height:1.48 !important; }
.academy-situation a { font-size:.64rem !important; }
.academy-routine { grid-template-columns:minmax(0,.68fr) minmax(320px,1fr) !important; gap:16px !important; padding:clamp(18px, 2.8vw, 28px) !important; border-radius:24px !important; }
.academy-timer { grid-template-columns:132px minmax(0,1fr) !important; gap:14px !important; }
.academy-timer__dial span { font-size:3.65rem !important; }
.academy-timeline { gap:8px !important; }
.academy-timeline li { grid-template-columns:54px 1fr !important; padding:10px 12px !important; border-radius:13px !important; }
.academy-acc { padding:14px 16px !important; border-radius:14px !important; }
.academy-acc strong { font-size:.88rem !important; }

@media (max-width: 1180px) {
  .academy-hero__grid,
  .academy-sim-grid,
  .academy-routine { grid-template-columns: 1fr !important; }
  .academy-shot-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
  .academy-court-wrap,
  .academy-court { min-height: 360px !important; }
}
@media (max-width: 760px) {
  .academy-hero,
  .academy-hero--safe { padding-top: calc(var(--header-h) + 22px) !important; }
  .academy-hero h1 { font-size: clamp(2.4rem, 13vw, 3.9rem) !important; }
  .academy-hero__grid { gap: 18px !important; }
  .academy-mini-court--hero { min-height: 210px !important; }
  .academy-map__grid,
  .academy-playbook__grid,
  .academy-shot-tabs,
  .academy-timer { grid-template-columns: 1fr !important; }
  .academy-court-wrap,
  .academy-court { min-height: 330px !important; }
  .academy-target { min-width: 40px; padding:3px 5px; }
  .academy-target em { display:none; }
  .academy-hotzone { display:none !important; }
  .academy-court__label { max-width:48% !important; }
  .academy-routine { padding:16px !important; }
  .academy-timer__dial { width:132px !important; }
}

/* =========================================================
   SMASHLINE v4.1.11 — Tienda afiliación visual/técnica
   Objetivo: recuperar sección de productos y convertirla en ecommerce editorial.
   ========================================================= */
.site-nav__link[href*="/tienda/"] { color: var(--sm-lime) !important; }
.shop-page { background: var(--sm-navy); color: var(--sm-white); overflow:hidden; }
.shop-page::before {
  content:''; position:fixed; inset:0; pointer-events:none; z-index:0;
  background:
    radial-gradient(720px 360px at 12% 6%, rgba(204,255,0,.07), transparent 72%),
    radial-gradient(680px 360px at 90% 18%, rgba(24,220,255,.055), transparent 72%),
    linear-gradient(90deg, rgba(255,255,255,.025) 1px, transparent 1px),
    linear-gradient(rgba(255,255,255,.018) 1px, transparent 1px);
  background-size:auto, auto, 210px 210px, 210px 210px;
}
.shop-page > * { position:relative; z-index:1; }
.shop-hero { padding: calc(var(--header-h) + 38px) 0 clamp(28px, 4vw, 54px); }
.shop-hero__grid { display:grid; grid-template-columns:minmax(0,.88fr) minmax(360px,.72fr); gap:clamp(22px,4vw,60px); align-items:center; }
.shop-eyebrow { display:inline-flex; align-items:center; gap:9px; margin-bottom:10px; color:var(--sm-lime); font-family:var(--font-mono); font-weight:900; font-size:.68rem; letter-spacing:.16em; text-transform:uppercase; }
.shop-eyebrow::before { content:''; width:20px; height:2px; background:var(--sm-lime); box-shadow:0 0 14px rgba(204,255,0,.65); }
.shop-hero h1 { max-width:13ch; margin:0; font-family:var(--font-display); font-size:clamp(3rem,6.6vw,6.6rem); line-height:.9; letter-spacing:-.035em; text-transform:uppercase; }
.shop-hero p { max-width:64ch; margin:16px 0 0; color:rgba(248,249,250,.74); font-size:1.02rem; line-height:1.65; }
.shop-hero__actions { display:flex; flex-wrap:wrap; gap:10px; margin-top:22px; }
.shop-btn { min-height:42px; display:inline-flex; align-items:center; justify-content:center; border-radius:999px; padding:0 17px; border:1px solid rgba(255,255,255,.14); color:var(--sm-white); font-family:var(--font-mono); font-size:.68rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; background:rgba(255,255,255,.045); }
.shop-btn--primary { background:var(--sm-lime); color:var(--sm-navy); border-color:var(--sm-lime); box-shadow:0 16px 44px -24px rgba(204,255,0,.9); }
.shop-hero__trust { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.shop-hero__trust span { border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); border-radius:999px; padding:7px 10px; color:rgba(248,249,250,.7); font-family:var(--font-mono); font-size:.62rem; font-weight:850; letter-spacing:.06em; text-transform:uppercase; }
.shop-court-card { min-height:420px; position:relative; overflow:hidden; border-radius:28px; border:1px solid rgba(255,255,255,.1); background:
    linear-gradient(90deg, transparent 49.7%, rgba(255,255,255,.22) 49.8% 50.2%, transparent 50.3%),
    linear-gradient(0deg, transparent 49.7%, rgba(255,255,255,.16) 49.8% 50.2%, transparent 50.3%),
    radial-gradient(circle at 50% 50%, rgba(204,255,0,.11), transparent 30%),
    linear-gradient(135deg, rgba(13,18,33,.98), rgba(7,10,18,.98));
  box-shadow:0 34px 80px -55px rgba(0,0,0,.95); }
.shop-court-card::before { content:''; position:absolute; inset:18px; border:1px solid rgba(255,255,255,.16); border-radius:20px; }
.shop-court-card__net { position:absolute; top:18px; bottom:18px; left:50%; width:2px; background:repeating-linear-gradient(to bottom, rgba(204,255,0,.65), rgba(204,255,0,.65) 8px, transparent 8px, transparent 16px); transform:translateX(-50%); }
.shop-court-card__zone { position:absolute; padding:8px 12px; border-radius:999px; background:rgba(255,255,255,.06); border:1px solid rgba(255,255,255,.13); font-family:var(--font-mono); font-size:.62rem; font-weight:900; letter-spacing:.1em; text-transform:uppercase; }
.shop-court-card__zone--attack { top:28px; right:28px; color:var(--sm-lime); }
.shop-court-card__zone--control { bottom:28px; left:28px; color:rgba(248,249,250,.74); }
.shop-court-card__player { position:absolute; display:grid; place-items:center; width:52px; height:52px; border-radius:50%; background:var(--sm-lime); color:var(--sm-navy); font-family:var(--font-display); font-size:1.4rem; box-shadow:0 0 0 10px rgba(204,255,0,.07),0 0 42px rgba(204,255,0,.28); }
.shop-court-card__player--drive { left:26%; bottom:27%; }
.shop-court-card__player--drive::before { content:'D'; }
.shop-court-card__player--reves { right:22%; top:26%; background:#fff; }
.shop-court-card__player--reves::before { content:'R'; }
.shop-court-card__trajectory { position:absolute; left:29%; top:34%; width:43%; height:38%; border-top:3px dashed var(--sm-lime); border-right:3px dashed var(--sm-lime); border-radius:0 100% 0 0; transform:rotate(-12deg); filter:drop-shadow(0 0 10px rgba(204,255,0,.45)); }
.shop-court-card__note { position:absolute; right:18px; bottom:18px; width:min(260px,70%); padding:14px; border-radius:16px; background:rgba(8,11,20,.9); border:1px solid rgba(255,255,255,.12); backdrop-filter:blur(12px); }
.shop-court-card__note strong { display:block; color:var(--sm-white); font-family:var(--font-display); font-size:1.35rem; text-transform:uppercase; line-height:1; }
.shop-court-card__note span { display:block; margin-top:6px; color:rgba(248,249,250,.64); font-size:.84rem; line-height:1.4; }
.shop-section { margin-top:clamp(30px,5vw,72px); }
.shop-section__head { margin-bottom:18px; }
.shop-section__head--split { display:flex; justify-content:space-between; align-items:end; gap:24px; }
.shop-section__head h2 { margin:0; max-width:15ch; font-family:var(--font-display); font-size:clamp(2.05rem,4vw,4.2rem); line-height:.92; letter-spacing:-.025em; text-transform:uppercase; }
.shop-section__head p { max-width:52ch; color:rgba(248,249,250,.66); line-height:1.55; }
.shop-filterbar { display:flex; flex-wrap:wrap; gap:8px; padding:10px; border-radius:20px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); }
.shop-filterbar button,
.shop-profile,
.shop-brand { cursor:pointer; }
.shop-filterbar button { min-height:38px; border:1px solid rgba(255,255,255,.11); border-radius:999px; padding:0 13px; background:rgba(255,255,255,.045); color:rgba(248,249,250,.78); font-family:var(--font-mono); font-size:.62rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; transition:.18s ease; }
.shop-filterbar button:hover,
.shop-filterbar button.is-active { background:var(--sm-lime); border-color:var(--sm-lime); color:var(--sm-navy); }
.shop-feature-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.shop-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; }
.shop-card { min-width:0; display:flex; flex-direction:column; overflow:hidden; border-radius:22px; border:1px solid rgba(255,255,255,.1); background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.026)); box-shadow:0 24px 56px -48px rgba(0,0,0,.9); transition:transform .18s ease, border-color .18s ease, background .18s ease; }
.shop-card:hover { transform:translateY(-4px); border-color:rgba(204,255,0,.32); background:linear-gradient(180deg,rgba(204,255,0,.075),rgba(255,255,255,.026)); }
.shop-card.is-hidden { display:none !important; }
.shop-card__visual { position:relative; min-height:178px; display:grid; place-items:center; overflow:hidden; background:radial-gradient(circle at 50% 25%,rgba(204,255,0,.12),transparent 45%),linear-gradient(135deg,rgba(14,19,34,.98),rgba(6,9,17,.98)); border-bottom:1px solid rgba(255,255,255,.08); }
.shop-card--featured .shop-card__visual { min-height:210px; }
.shop-card__badge { position:absolute; left:12px; top:12px; z-index:2; border-radius:999px; padding:7px 10px; background:var(--sm-lime); color:var(--sm-navy); font-family:var(--font-mono); font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.shop-card__brand { position:absolute; right:12px; bottom:12px; color:rgba(248,249,250,.62); font-family:var(--font-mono); font-size:.62rem; font-weight:900; letter-spacing:.12em; text-transform:uppercase; }
.shop-product-illu { position:relative; width:98px; height:142px; filter:drop-shadow(0 24px 32px rgba(0,0,0,.55)); }
.shop-product-illu span { position:absolute; left:50%; top:6px; transform:translateX(-50%); width:82px; height:92px; border-radius:46% 46% 40% 40%; background:linear-gradient(135deg,var(--sm-lime),#f5ff9a); border:2px solid rgba(255,255,255,.7); }
.shop-product-illu i { position:absolute; left:50%; top:84px; transform:translateX(-50%); width:18px; height:58px; border-radius:12px; background:#eef2f7; }
.shop-product-illu b { position:absolute; left:50%; top:24px; transform:translateX(-50%); width:34px; height:34px; border-radius:50%; border:2px solid rgba(11,14,26,.45); opacity:.7; }
.shop-product-illu--zapatillas span { top:48px; width:104px; height:44px; border-radius:58% 28% 24% 30%; transform:translateX(-50%) rotate(-8deg); }
.shop-product-illu--zapatillas i { top:86px; width:112px; height:16px; border-radius:999px; }
.shop-product-illu--zapatillas b { display:none; }
.shop-product-illu--paletero span { top:30px; width:108px; height:76px; border-radius:24px; }
.shop-product-illu--paletero i { top:18px; width:54px; height:20px; border-radius:20px 20px 0 0; background:transparent; border:6px solid #eef2f7; border-bottom:0; }
.shop-product-illu--bolas span,
.shop-product-illu--accesorio span { top:42px; width:82px; height:82px; border-radius:50%; }
.shop-product-illu--bolas i,
.shop-product-illu--accesorio i { display:none; }
.shop-card__body { padding:15px; flex:1; }
.shop-card__meta { display:flex; justify-content:space-between; gap:8px; margin-bottom:9px; color:rgba(248,249,250,.52); font-family:var(--font-mono); font-size:.58rem; font-weight:900; text-transform:uppercase; letter-spacing:.09em; }
.shop-card h3 { margin:0; font-family:var(--font-display); font-size:clamp(1.42rem,2.2vw,2.1rem); line-height:.94; letter-spacing:-.02em; text-transform:uppercase; }
.shop-card p { margin:10px 0 0; color:rgba(248,249,250,.68); font-size:.88rem; line-height:1.48; }
.shop-card__chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:12px; }
.shop-card__chips span { border:1px solid rgba(255,255,255,.1); border-radius:999px; padding:5px 8px; color:rgba(248,249,250,.74); font-family:var(--font-mono); font-size:.56rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.shop-specs { display:grid; gap:7px; margin-top:13px; }
.shop-spec { display:grid; grid-template-columns:minmax(72px,.72fr) minmax(80px,1fr) 26px; align-items:center; gap:8px; }
.shop-spec span,
.shop-spec em { color:rgba(248,249,250,.58); font-family:var(--font-mono); font-size:.56rem; font-weight:900; letter-spacing:.04em; text-transform:uppercase; font-style:normal; }
.shop-spec b { display:block; height:6px; overflow:hidden; border-radius:999px; background:rgba(255,255,255,.08); }
.shop-spec b i { display:block; height:100%; border-radius:999px; background:linear-gradient(90deg,var(--sm-lime),rgba(204,255,0,.45)); }
.shop-card__footer { display:grid; grid-template-columns:1fr 1fr auto; gap:8px; align-items:center; padding:12px 15px 15px; border-top:1px solid rgba(255,255,255,.08); }
.shop-card__footer small { display:block; color:rgba(248,249,250,.46); font-family:var(--font-mono); font-size:.52rem; font-weight:900; letter-spacing:.05em; text-transform:uppercase; }
.shop-card__footer strong { color:var(--sm-white); font-family:var(--font-display); font-size:1.1rem; }
.shop-card__cta { min-height:38px; display:inline-flex; align-items:center; justify-content:center; padding:0 12px; border-radius:999px; background:var(--sm-lime); color:var(--sm-navy); font-family:var(--font-mono); font-size:.58rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; white-space:nowrap; }
.shop-card__cta--disabled { background:rgba(255,255,255,.07); color:rgba(248,249,250,.55); border:1px solid rgba(255,255,255,.1); }
.shop-profile-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.shop-profile { text-align:left; padding:18px; border-radius:20px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:var(--sm-white); transition:.18s ease; }
.shop-profile:hover { transform:translateY(-3px); border-color:rgba(204,255,0,.35); background:rgba(204,255,0,.07); }
.shop-profile strong { display:block; font-family:var(--font-display); font-size:1.55rem; line-height:1; text-transform:uppercase; }
.shop-profile span { display:block; margin-top:8px; color:rgba(248,249,250,.64); font-size:.88rem; line-height:1.44; }
.shop-profile em { display:inline-flex; margin-top:12px; color:var(--sm-lime); font-family:var(--font-mono); font-size:.62rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; font-style:normal; }
.shop-results { display:flex; align-items:baseline; gap:8px; padding:10px 12px; border-radius:14px; background:rgba(255,255,255,.05); border:1px solid rgba(255,255,255,.08); }
.shop-results strong { color:var(--sm-lime); font-family:var(--font-display); font-size:2rem; line-height:1; }
.shop-results span { color:rgba(248,249,250,.58); font-family:var(--font-mono); font-size:.6rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.shop-empty { display:none; margin-top:14px; padding:18px; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:rgba(248,249,250,.65); }
.shop-empty.is-visible { display:block; }
.shop-brand-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)); gap:10px; }
.shop-brand { min-height:82px; text-align:left; padding:13px; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); color:var(--sm-white); }
.shop-brand strong { display:block; font-family:var(--font-display); font-size:1.32rem; text-transform:uppercase; }
.shop-brand span { display:block; margin-top:4px; color:rgba(248,249,250,.56); font-family:var(--font-mono); font-size:.58rem; font-weight:900; letter-spacing:.06em; text-transform:uppercase; }
.shop-guide-card { display:grid; grid-template-columns:minmax(0,.85fr) minmax(320px,1fr); gap:24px; align-items:center; padding:clamp(20px,3vw,34px); border-radius:28px; border:1px solid rgba(204,255,0,.18); background:linear-gradient(135deg,rgba(204,255,0,.09),rgba(255,255,255,.035)); }
.shop-guide-card h2 { margin:0; font-family:var(--font-display); font-size:clamp(2.1rem,4vw,4.4rem); line-height:.92; text-transform:uppercase; }
.shop-guide-card p { color:rgba(248,249,250,.68); line-height:1.55; }
.shop-guide-card ol { display:grid; gap:9px; margin:0; padding:0; list-style:none; }
.shop-guide-card li { padding:12px 14px; border-radius:14px; background:rgba(8,11,20,.64); border:1px solid rgba(255,255,255,.08); color:rgba(248,249,250,.72); }
.shop-guide-card li strong { color:var(--sm-lime); }
.shop-related__grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.shop-related-card { min-height:150px; display:flex; flex-direction:column; justify-content:space-between; padding:18px; border-radius:20px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); }
.shop-related-card span { color:var(--sm-lime); font-family:var(--font-mono); font-size:.58rem; font-weight:900; letter-spacing:.09em; text-transform:uppercase; }
.shop-related-card strong { color:var(--sm-white); font-family:var(--font-display); font-size:1.5rem; line-height:1; text-transform:uppercase; }
.shop-related-card em { color:rgba(248,249,250,.58); font-family:var(--font-mono); font-size:.62rem; font-weight:900; text-transform:uppercase; font-style:normal; }
@media (max-width: 1180px) {
  .shop-hero__grid,
  .shop-guide-card { grid-template-columns:1fr; }
  .shop-feature-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-profile-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shop-brand-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width: 760px) {
  .shop-hero { padding-top:calc(var(--header-h) + 24px); }
  .shop-hero h1 { font-size:clamp(2.45rem,12.5vw,4rem); }
  .shop-court-card { min-height:310px; border-radius:22px; }
  .shop-section__head--split { display:block; }
  .shop-feature-grid,
  .shop-grid,
  .shop-profile-grid,
  .shop-brand-grid,
  .shop-related__grid { grid-template-columns:1fr; }
  .shop-card__footer { grid-template-columns:1fr 1fr; }
  .shop-card__cta { grid-column:1/-1; }
  .shop-filterbar { overflow-x:auto; flex-wrap:nowrap; padding-bottom:12px; }
  .shop-filterbar button { white-space:nowrap; }
}

/* Header refinado para incluir Tienda sin cortes */
:root { --header-h: 58px; }
.site-header__inner { grid-template-columns: minmax(124px, 172px) minmax(0, 1fr) 38px !important; gap: 10px !important; }
.site-header .logo,
.site-header .custom-logo-wrap,
.site-header .custom-logo-link { max-width: 172px !important; }
.site-header .custom-logo-link img,
.site-header .custom-logo { max-width: 162px !important; max-height: 32px !important; }
.site-header .logo__text { font-size: clamp(1.08rem, 1.22vw, 1.42rem) !important; letter-spacing: .8px !important; }
.site-nav { justify-content: center !important; gap: 3px !important; padding: 0 2px !important; }
.site-nav__link {
  flex: 0 1 auto !important;
  min-width: auto !important;
  padding: 0 clamp(9px, 1.05vw, 18px) !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-radius: 12px !important;
  height: 42px !important;
  color: rgba(248,249,250,.72) !important;
}
.site-nav__link:last-child { border-right: 0 !important; }
.site-nav__link:hover,
.site-nav__link.is-active,
.site-nav__link.active { background: rgba(255,255,255,.055) !important; color: var(--sm-white) !important; }
.site-nav__link[href*="/tienda/"] { color: var(--sm-lime) !important; }
.site-nav__link[href*="/tienda/"]:hover { background: rgba(204,255,0,.09) !important; color: var(--sm-lime) !important; }
.site-header .header-search__toggle { width: 36px !important; height: 36px !important; min-width: 36px !important; }
@media (max-width: 1160px) {
  .site-header__inner { grid-template-columns: minmax(114px, 148px) minmax(0, 1fr) 36px !important; gap: 6px !important; }
  .site-header .custom-logo-link img,
  .site-header .custom-logo { max-width: 142px !important; max-height: 30px !important; }
  .site-header .logo__text { font-size: 1.05rem !important; letter-spacing: .65px !important; }
  .site-nav__link { padding: 0 7px !important; font-size: .55rem !important; letter-spacing: .035em !important; }
}
@media (max-width: 1010px) {
  .site-header__inner { display:flex !important; }
  .site-nav { display:none !important; }
  .site-header .hamburger { display:flex !important; }
}


/* =========================================================
   SMASHLINE v4.1.12 — Cabecera editorial + UX para monetización
   Objetivo: periódico de pádel primero, ecosistema después.
   ========================================================= */
:root { --header-h: 58px; }
.site-header {
  height: var(--header-h) !important;
  background: rgba(8,11,22,.94) !important;
  border-bottom: 1px solid rgba(204,255,0,.64) !important;
  box-shadow: 0 10px 34px -30px rgba(0,0,0,.9) !important;
  backdrop-filter: blur(18px) saturate(1.2) !important;
}
.site-header__bar { height: 100%; width: 100%; }
.site-header__inner {
  height: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(148px, 210px) minmax(0, 1fr) 46px !important;
  align-items: center !important;
  gap: clamp(8px, 1vw, 18px) !important;
  padding-left: clamp(14px, 2vw, 32px) !important;
  padding-right: clamp(10px, 1.4vw, 22px) !important;
}
.site-header .logo,
.site-header .custom-logo-wrap,
.site-header .custom-logo-link {
  min-width: 0 !important;
  max-width: 210px !important;
  display: inline-flex !important;
  align-items: center !important;
}
.site-header .custom-logo-link img,
.site-header .custom-logo { max-width: 190px !important; max-height: 34px !important; object-fit: contain !important; }
.site-header .logo__mark { width: 38px !important; height: 38px !important; font-size: .95rem !important; border-radius: 9px !important; }
.site-header .logo__text { font-size: clamp(1.08rem, 1.45vw, 1.7rem) !important; letter-spacing: .08em !important; white-space: nowrap !important; }
.site-nav {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: clamp(2px, .35vw, 6px) !important;
  overflow: visible !important;
  padding: 0 !important;
}
.site-nav__link {
  position: relative !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
  height: 38px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 clamp(8px, .95vw, 16px) !important;
  border: 1px solid transparent !important;
  border-radius: 999px !important;
  color: rgba(248,249,250,.74) !important;
  background: transparent !important;
  font-family: var(--font-mono) !important;
  font-size: clamp(.55rem, .63vw, .68rem) !important;
  font-weight: 900 !important;
  letter-spacing: .105em !important;
  text-transform: uppercase !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease !important;
}
.site-nav__link::after {
  content:'';
  position:absolute;
  left: 14px;
  right: 14px;
  bottom: 5px;
  height: 2px;
  transform: scaleX(0);
  transform-origin: center;
  background: var(--sm-lime);
  box-shadow: 0 0 16px rgba(204,255,0,.65);
  transition: transform .18s ease;
}
.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__link.is-active,
.site-nav__link.active {
  color: var(--sm-lime) !important;
  background: rgba(204,255,0,.075) !important;
  border-color: rgba(204,255,0,.22) !important;
  transform: translateY(-1px);
}
.site-nav__link:hover::after,
.site-nav__link:focus-visible::after,
.site-nav__link.is-active::after,
.site-nav__link.active::after { transform: scaleX(1); }
.site-nav__link[href*="/tienda/"] { color: rgba(248,249,250,.74) !important; }
.site-nav__link[href*="/tienda/"]:hover,
.site-nav__link[href*="/tienda/"].is-active,
.site-nav__link[href*="/tienda/"].active { color: var(--sm-lime) !important; }
.site-header__actions { justify-content: flex-end !important; gap: 8px !important; }
.site-header .header-search__toggle {
  position: relative !important;
  width: 38px !important;
  height: 38px !important;
  min-width: 38px !important;
  border-radius: 50% !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  transition: background .18s ease, border-color .18s ease, transform .18s ease !important;
}
.site-header .header-search__toggle span {
  position: absolute !important;
  width: 1px !important; height: 1px !important;
  padding: 0 !important; margin: -1px !important;
  overflow: hidden !important; clip: rect(0,0,0,0) !important;
  white-space: nowrap !important; border: 0 !important;
}
.site-header .header-search__toggle::before {
  content:'';
  width: 14px;
  height: 14px;
  border: 2px solid currentColor;
  border-radius: 50%;
  color: rgba(248,249,250,.8);
  display: block;
}
.site-header .header-search__toggle::after {
  content:'';
  position:absolute;
  width: 7px;
  height: 2px;
  border-radius: 2px;
  background: currentColor;
  color: rgba(248,249,250,.8);
  right: 10px;
  bottom: 10px;
  transform: rotate(45deg);
  box-shadow: none !important;
}
.site-header .header-search__toggle:hover,
.site-header .header-search__toggle:focus-visible {
  background: rgba(204,255,0,.1) !important;
  border-color: rgba(204,255,0,.35) !important;
  color: var(--sm-lime) !important;
  transform: translateY(-1px);
}
.site-header .header-search__toggle:hover::before,
.site-header .header-search__toggle:hover::after,
.site-header .header-search__toggle:focus-visible::before,
.site-header .header-search__toggle:focus-visible::after { color: var(--sm-lime); }
.header-search__form { top: var(--header-h) !important; border-top: 1px solid rgba(204,255,0,.24) !important; }
@media (max-width: 1260px) {
  .site-header__inner { grid-template-columns: minmax(132px, 180px) minmax(0,1fr) 44px !important; gap: 6px !important; }
  .site-header .custom-logo-link img,
  .site-header .custom-logo { max-width: 164px !important; max-height: 32px !important; }
  .site-header .logo__mark { width: 34px !important; height: 34px !important; }
  .site-header .logo__text { font-size: 1.12rem !important; letter-spacing: .065em !important; }
  .site-nav__link { padding: 0 clamp(6px, .65vw, 10px) !important; font-size: .53rem !important; letter-spacing: .075em !important; }
}
@media (max-width: 1080px) {
  .site-header__inner { display:flex !important; justify-content:space-between !important; }
  .site-nav { display:none !important; }
  .site-header .hamburger { display:flex !important; }
  .site-header .header-search__toggle { width:38px !important; height:38px !important; }
}

/* Storytelling editorial: de periódico a ecosistema */
.masthead {
  margin-top: var(--header-h) !important;
  padding: 10px 0 !important;
  border-bottom: 1px solid rgba(204,255,0,.72) !important;
}
.masthead__edition { color: var(--sm-lime) !important; }
.frontpage { margin-top: clamp(18px, 2.4vw, 30px) !important; }
.frontpage__lead { border-color: rgba(255,255,255,.12) !important; box-shadow: 0 28px 90px -60px rgba(0,0,0,.95) !important; }
.headlines {
  background: rgba(255,255,255,.025);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 18px;
  padding: 16px 18px 10px;
}
.headlines__title { font-size: 1.14rem !important; color: var(--sm-lime) !important; }
.headline:hover { padding-left: 0 !important; }
.headline__t { transition: color .18s ease, transform .18s ease; }
.headline:hover .headline__t { color: var(--sm-lime) !important; transform: translateX(3px); }
.editorial-map {
  margin: 0 0 var(--sp-6);
  padding: clamp(18px, 2.6vw, 28px);
  border-radius: 24px;
  border: 1px solid rgba(255,255,255,.085);
  background: linear-gradient(135deg, rgba(255,255,255,.055), rgba(255,255,255,.022));
}
.editorial-map__head {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  margin-bottom:18px;
}
.editorial-map__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:var(--sm-lime);
  font-family:var(--font-mono);
  font-size:.62rem;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}
.editorial-map__eyebrow::before { content:''; width:18px; height:2px; background:var(--sm-lime); box-shadow:0 0 14px rgba(204,255,0,.65); }
.editorial-map__title {
  margin:6px 0 0;
  color:var(--sm-white);
  font-family:var(--font-display);
  font-size:clamp(1.9rem,3.6vw,3.15rem);
  line-height:.95;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.editorial-map__text {
  max-width:48ch;
  color:rgba(248,249,250,.67);
  line-height:1.55;
  font-size:.9rem;
}
.editorial-map__grid {
  display:grid;
  grid-template-columns: 1.05fr 1fr 1fr;
  gap:10px;
}
.editorial-map__card {
  min-height: 148px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:18px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.08);
  background:rgba(0,0,0,.18);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.editorial-map__card:hover {
  transform: translateY(-2px);
  border-color:rgba(204,255,0,.36);
  background:rgba(204,255,0,.055);
}
.editorial-map__card span {
  color:var(--sm-lime);
  font-family:var(--font-mono);
  font-size:.58rem;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.editorial-map__card strong {
  margin-top:18px;
  color:var(--sm-white);
  font-family:var(--font-display);
  font-size:1.85rem;
  line-height:.9;
  letter-spacing:.02em;
  text-transform:uppercase;
}
.editorial-map__card small { margin-top:10px; color:rgba(248,249,250,.62); line-height:1.42; }
.editorial-map__card--primary { border-left: 3px solid var(--sm-lime); }
.reader-path {
  border-left: 0 !important;
  background: rgba(255,255,255,.025) !important;
}
.reader-path__eyebrow::before { content:''; display:inline-block; width:18px; height:2px; margin-right:9px; background:var(--sm-lime); vertical-align:middle; }
.reader-path__title { max-width: 14ch !important; }
.reader-path__step:hover strong,
.reader-path__step.active strong,
.reader-path__step.is-active strong { color:var(--sm-lime); }
.sm-ad-ready {
  display:grid;
  place-items:center;
  min-height:84px;
  margin:0 0 var(--sp-6);
  border:1px dashed rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(255,255,255,.025);
  color:rgba(248,249,250,.38);
  font-family:var(--font-mono);
  font-size:.6rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}
@media (max-width: 920px) {
  .editorial-map__head { display:block; }
  .editorial-map__text { margin-top:10px; }
  .editorial-map__grid { grid-template-columns:1fr; }
}


/* =========================================================
   SMASHLINE v4.1.13 — Portada editorial + secciones limpias
   Objetivo: periódico primero, mundo pádel después.
   ========================================================= */
.site-header__inner {
  width: min(100%, 1480px) !important;
  padding-inline: clamp(10px, 1.6vw, 28px) !important;
  gap: clamp(10px, 1.2vw, 22px) !important;
}
.logo { min-width: clamp(172px, 18vw, 245px) !important; }
.logo__mark { width: 42px !important; height: 42px !important; border-radius: 10px !important; font-size: 1rem !important; }
.logo__text { font-size: clamp(1.45rem, 2.05vw, 2.15rem) !important; letter-spacing: .135em !important; }
.site-nav {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  justify-content: center !important;
  gap: 2px !important;
  overflow: visible !important;
}
.site-nav__link {
  height: calc(var(--header-h) - 8px) !important;
  padding: 0 clamp(7px, .82vw, 13px) !important;
  border-radius: 14px !important;
  border: 1px solid transparent !important;
  color: rgba(248,249,250,.72) !important;
  font-size: clamp(.56rem, .68vw, .74rem) !important;
  letter-spacing: .105em !important;
  white-space: nowrap !important;
}
.site-nav__link::after { left: 14px !important; right: 14px !important; height: 2px !important; bottom: 8px !important; background: var(--sm-lime) !important; }
.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__link.is-active,
.site-nav__link.active {
  color: var(--sm-lime) !important;
  background: rgba(204,255,0,.075) !important;
  border-color: rgba(204,255,0,.22) !important;
  box-shadow: inset 0 -1px 0 rgba(204,255,0,.14), 0 0 22px rgba(204,255,0,.08) !important;
}
.header__actions { flex: 0 0 auto !important; }
.header-search__toggle { width: 42px !important; height: 42px !important; border-radius: 999px !important; }
.header-search__toggle span { display: none !important; }
.header-search__toggle::before { font-size: 1rem !important; color: var(--sm-lime) !important; }
@media (max-width: 1210px) {
  .logo { min-width: 160px !important; }
  .logo__mark { width: 38px !important; height: 38px !important; }
  .logo__text { font-size: 1.45rem !important; letter-spacing: .105em !important; }
  .site-nav__link { padding: 0 7px !important; font-size: .55rem !important; letter-spacing: .08em !important; }
}
@media (max-width: 1030px) { .site-nav { display:none !important; } }

.front-focus,
.world-strip,
.section-rundown {
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
  border: 1px solid rgba(255,255,255,.10);
  border-radius: 26px;
  box-shadow: 0 28px 90px -72px rgba(0,0,0,.95);
}
.front-focus { padding: clamp(22px, 3vw, 38px); margin: clamp(34px, 5vw, 66px) 0; position: relative; overflow: hidden; }
.front-focus::before { content:''; position:absolute; inset:0 0 auto 0; height:3px; background:linear-gradient(90deg,var(--sm-lime),transparent 72%); opacity:.95; }
.front-focus__head { display:grid; grid-template-columns: minmax(0, .85fr) minmax(280px, .55fr); gap: clamp(18px,3vw,44px); align-items:end; margin-bottom:22px; }
.front-focus__eyebrow,
.world-strip__head span { display:inline-flex; align-items:center; gap:10px; color:var(--sm-lime); font-family:var(--font-mono); font-size:.7rem; letter-spacing:.18em; text-transform:uppercase; }
.front-focus__eyebrow::before { content:''; width:22px; height:2px; background:var(--sm-lime); box-shadow:0 0 14px rgba(204,255,0,.7); }
.front-focus__title { margin:8px 0 0; font-family:var(--font-display); color:var(--sm-white); font-size:clamp(2rem,4vw,4rem); line-height:.92; letter-spacing:.02em; max-width:13ch; }
.front-focus__text { color:rgba(248,249,250,.66); line-height:1.55; font-size:.95rem; margin:0; }
.front-focus__grid { display:grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap:14px; }
.front-focus__card { background:rgba(11,14,26,.72); border:1px solid rgba(255,255,255,.095); border-radius:20px; padding:18px; min-height:260px; display:flex; flex-direction:column; position:relative; overflow:hidden; }
.front-focus__card::before { content:''; position:absolute; inset:0 auto 0 0; width:3px; background:var(--cat); box-shadow:0 0 22px color-mix(in srgb, var(--cat) 50%, transparent); }
.front-focus__top { display:flex; justify-content:space-between; align-items:center; gap:12px; margin-bottom:18px; }
.front-focus__top span { font-family:var(--font-mono); font-size:.66rem; letter-spacing:.14em; color:var(--cat); text-transform:uppercase; }
.front-focus__more { color:rgba(248,249,250,.55); font-size:.68rem; text-transform:uppercase; letter-spacing:.11em; }
.front-focus__more:hover { color:var(--sm-lime); }
.front-focus__lead { display:block; text-decoration:none; margin-bottom:16px; }
.front-focus__lead strong { display:block; color:var(--sm-white); font-size:1.08rem; line-height:1.16; letter-spacing:-.02em; }
.front-focus__lead small { display:block; margin-top:9px; color:rgba(248,249,250,.58); line-height:1.45; }
.front-focus__item { display:grid; grid-template-columns:12px minmax(0,1fr); gap:10px; padding:12px 0; border-top:1px solid rgba(255,255,255,.08); color:rgba(248,249,250,.78); font-size:.86rem; line-height:1.32; text-decoration:none; }
.front-focus__item span { width:6px; height:6px; border-radius:50%; background:var(--cat); margin-top:5px; box-shadow:0 0 12px color-mix(in srgb, var(--cat) 70%, transparent); }
.front-focus__item:hover { color:var(--sm-lime); }
.world-strip { padding:18px; margin: -34px 0 clamp(36px,5vw,62px); display:grid; grid-template-columns: minmax(220px,.32fr) 1fr; gap:16px; align-items:stretch; }
.world-strip__head { padding:16px; border-right:1px solid rgba(255,255,255,.08); }
.world-strip__head strong { display:block; margin-top:8px; color:var(--sm-white); font-family:var(--font-display); font-size:clamp(1.35rem,2vw,2.1rem); line-height:.95; }
.world-strip__links { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:10px; }
.world-strip__links a { display:flex; flex-direction:column; justify-content:center; min-height:92px; padding:14px; border-radius:16px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); text-decoration:none; transition:.24s ease; }
.world-strip__links a:hover { transform:translateY(-3px); border-color:rgba(204,255,0,.28); background:rgba(204,255,0,.07); }
.world-strip__links span { color:var(--sm-white); font-weight:800; letter-spacing:.02em; }
.world-strip__links small { margin-top:6px; color:rgba(248,249,250,.55); line-height:1.35; }
.section-rundown { display:grid; grid-template-columns: minmax(0,1fr) minmax(260px,.46fr); gap:14px; padding:16px; margin:0 0 20px; }
.section-rundown__main { display:block; padding:20px; border-radius:18px; background:linear-gradient(135deg, color-mix(in srgb, var(--cat) 15%, transparent), rgba(255,255,255,.025)); border:1px solid color-mix(in srgb, var(--cat) 30%, rgba(255,255,255,.08)); text-decoration:none; }
.section-rundown__main span,
.section-rundown__side span { display:block; color:var(--cat); font-family:var(--font-mono); font-size:.65rem; letter-spacing:.15em; text-transform:uppercase; }
.section-rundown__main strong { display:block; margin-top:8px; color:var(--sm-white); font-size:clamp(1.15rem,2vw,1.7rem); line-height:1.08; }
.section-rundown__main small { display:block; margin-top:10px; color:rgba(248,249,250,.62); line-height:1.45; }
.section-rundown__side { display:grid; grid-template-columns:1fr; gap:8px; }
.section-rundown__side div { padding:13px 14px; border-radius:14px; background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08); }
.section-rundown__side strong { display:block; margin-top:3px; color:var(--sm-white); font-size:.9rem; }
.home-section[data-section="all"] .cat-block__label { letter-spacing:.15em; }
/* La portada ya no muestra un directorio largo de secciones: prioriza actualidad + ranking. */
.protip-banner { margin-top:0 !important; }
@media (max-width: 900px) {
  .front-focus__head, .front-focus__grid, .world-strip, .world-strip__links, .section-rundown { grid-template-columns:1fr; }
  .world-strip { margin-top:-18px; }
  .world-strip__head { border-right:0; border-bottom:1px solid rgba(255,255,255,.08); }
}


/* SMASHLINE v4.1.14 — Tienda afiliación beta ampliada */
.shop-feature-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
.shop-search-box { margin-top:12px; display:grid; grid-template-columns:220px minmax(0,1fr); align-items:center; gap:12px; padding:12px; border-radius:18px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.04); }
.shop-search-box label { color:rgba(248,249,250,.66); font-family:var(--font-mono); font-size:.62rem; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.shop-search-box input { width:100%; height:42px; border-radius:999px; border:1px solid rgba(255,255,255,.12); background:rgba(8,11,20,.82); color:var(--sm-white); padding:0 15px; outline:none; }
.shop-search-box input:focus { border-color:rgba(204,255,0,.55); box-shadow:0 0 0 4px rgba(204,255,0,.08); }
.shop-module-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; }
.shop-mini-module { cursor:pointer; min-height:150px; display:flex; flex-direction:column; justify-content:space-between; padding:18px; border-radius:22px; border:1px solid rgba(255,255,255,.1); background:linear-gradient(135deg,rgba(255,255,255,.055),rgba(255,255,255,.024)); transition:.18s ease; }
.shop-mini-module:hover { transform:translateY(-3px); border-color:rgba(204,255,0,.38); background:linear-gradient(135deg,rgba(204,255,0,.1),rgba(255,255,255,.03)); }
.shop-mini-module span { color:var(--sm-lime); font-family:var(--font-mono); font-size:.58rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.shop-mini-module strong { color:var(--sm-white); font-family:var(--font-display); font-size:1.65rem; line-height:.95; text-transform:uppercase; }
.shop-mini-module em { color:rgba(248,249,250,.58); font-size:.82rem; line-height:1.35; font-style:normal; }
.shop-card__hook { margin-top:12px; padding:10px 11px; border-radius:14px; border:1px solid rgba(204,255,0,.18); background:rgba(204,255,0,.065); color:rgba(248,249,250,.9); font-weight:800; line-height:1.35; }
.shop-card__details { margin-top:12px; border-radius:16px; border:1px solid rgba(255,255,255,.1); background:rgba(255,255,255,.035); overflow:hidden; }
.shop-card__details summary { cursor:pointer; padding:10px 12px; color:var(--sm-lime); font-family:var(--font-mono); font-size:.58rem; font-weight:950; letter-spacing:.08em; text-transform:uppercase; }
.shop-card__detail-grid { display:grid; gap:8px; padding:0 12px 12px; }
.shop-card__detail-grid div { padding:10px; border-radius:12px; background:rgba(8,11,20,.55); border:1px solid rgba(255,255,255,.07); }
.shop-card__detail-grid span { display:block; color:rgba(204,255,0,.82); font-family:var(--font-mono); font-size:.54rem; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.shop-card__detail-grid p { margin:5px 0 0; color:rgba(248,249,250,.68); font-size:.82rem; line-height:1.42; }
.shop-card__cta--beta { background:rgba(255,255,255,.08); color:var(--sm-lime); border:1px dashed rgba(204,255,0,.45); }
.shop-card--beta .shop-card__badge::after { content:' · beta'; }
.shop-product-illu--grip { width:112px; height:120px; }
.shop-product-illu--grip span { top:32px; width:92px; height:36px; border-radius:999px; transform:translateX(-50%) rotate(-18deg); }
.shop-product-illu--grip i { top:65px; width:92px; height:36px; border-radius:999px; transform:translateX(-50%) rotate(12deg); background:linear-gradient(135deg,#eef2f7,#cfd6df); }
.shop-product-illu--grip b { display:none; }
.shop-product-illu--ropa { width:116px; height:128px; }
.shop-product-illu--ropa span { top:22px; width:100px; height:92px; border-radius:24px 24px 16px 16px; clip-path:polygon(18% 0,35% 12%,50% 4%,65% 12%,82% 0,100% 28%,83% 40%,83% 100%,17% 100%,17% 40%,0 28%); }
.shop-product-illu--ropa i,.shop-product-illu--ropa b { display:none; }
@media (max-width:1180px){ .shop-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.shop-module-row{grid-template-columns:repeat(2,minmax(0,1fr));}.shop-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));} }
@media (max-width:760px){ .shop-search-box{grid-template-columns:1fr}.shop-feature-grid,.shop-module-row{grid-template-columns:1fr}.shop-card h3{font-size:1.72rem}.shop-card__footer{grid-template-columns:1fr}.shop-card__cta{grid-column:auto} }


/* SMASHLINE 4.2 — Newspaper homepage layout */
.sm-home-ticker{margin:16px 0 30px}
.sm-home-block{margin:36px 0 48px}
.sm-home-block .cat-block__header{margin-bottom:20px}
.sm-cover-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:16px}
.sm-cover-lead{position:relative;display:block;min-height:400px;overflow:hidden;border-radius:14px}
.sm-cover-lead>.lead__img,.sm-cover-lead>.court{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sm-cover-secondary{display:grid;grid-template-rows:repeat(2,minmax(0,1fr));gap:14px}
.sm-cover-secondary-card{display:grid;grid-template-columns:42% 1fr;overflow:hidden;background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;min-height:180px;color:var(--sm-white);text-decoration:none}
.sm-cover-secondary-image,.sm-recent-card-image{position:relative;overflow:hidden;background:var(--sm-navy-mid)}
.sm-cover-secondary-image img,.sm-recent-card-image img,.sm-cover-secondary-image .court,.sm-recent-card-image .court{width:100%;height:100%;object-fit:cover;display:block}
.sm-cover-secondary-body{padding:16px;align-self:center}
.sm-cover-secondary-body h3{font-size:clamp(15px,1.3vw,20px);line-height:1.3;margin:8px 0;color:var(--sm-white)}
.sm-cover-secondary-body small,.sm-recent-card small{color:var(--sm-gray-300)}
.sm-section-subtitle{font-size:1.05rem;margin:25px 0 15px;color:var(--sm-white)}
.sm-recent-four{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.sm-recent-card{display:block;text-decoration:none;color:var(--sm-white);min-width:0}
.sm-recent-card-image{aspect-ratio:16/10;border-radius:10px;margin-bottom:11px}
.sm-recent-card h3{font-size:clamp(14px,1.1vw,18px);line-height:1.4;margin:6px 0 9px;color:var(--sm-white)}
.sm-editorial-columns{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:22px;align-items:start}
.sm-editorial-left{display:grid;gap:20px;min-width:0}
.sm-panel{background:var(--surface-1);border:1px solid var(--hairline);border-radius:14px;padding:22px;min-width:0}
.sm-panel>.cat-block__label{margin-bottom:15px}
.sm-editorial-headlines .headline{display:block;padding:16px 0;border-bottom:1px solid var(--hairline)}
.sm-editorial-headlines .headline:last-child{border-bottom:0}
.sm-editorial-headlines .headline__t{margin:6px 0;font-size:clamp(16px,1.4vw,21px)}
.sm-panel .rank-row{padding:12px 0;gap:10px}
.sm-panel .rank-row__pts{font-size:14px}
.sm-panel .poll{margin:0}
.sm-actualidad-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px 18px}
.sm-also-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.sm-also-grid a{display:flex;justify-content:space-between;align-items:center;padding:22px 16px;background:var(--surface-1);border:1px solid var(--hairline);border-radius:12px;text-decoration:none;color:var(--sm-white);font-weight:700}
.sm-also-grid a:hover,.sm-recent-card:hover h3,.sm-cover-secondary-card:hover h3{color:var(--sm-lime)}
@media(max-width:950px){.sm-cover-grid{grid-template-columns:1fr}.sm-cover-secondary{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto}.sm-cover-secondary-card{grid-template-columns:1fr}.sm-cover-secondary-image{aspect-ratio:16/9}.sm-recent-four{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-editorial-columns{grid-template-columns:1fr}.sm-also-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.sm-cover-lead{min-height:340px}.sm-cover-secondary{grid-template-columns:1fr}.sm-cover-secondary-card{grid-template-columns:38% 1fr;min-height:135px}.sm-cover-secondary-image{aspect-ratio:auto}.sm-cover-secondary-body{padding:12px}.sm-recent-four,.sm-actualidad-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sm-panel{padding:16px}.sm-home-block{margin:26px 0 36px}.sm-also-grid a{padding:16px 12px}}


/* =========================================================
   SMASHLINE v4.2.1 — Buscador textual
   El acceso al buscador debe mostrarse siempre como "Buscar",
   sin lupa, pelota ni iconos generados por CSS.
   ========================================================= */
.site-header .header-search__toggle {
  width: auto !important;
  min-width: 0 !important;
  height: 36px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  font-size: .72rem !important;
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.site-header .header-search__toggle span {
  display: inline !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
.site-header .header-search__toggle::before,
.site-header .header-search__toggle::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 1180px) {
  .site-header .header-search__toggle {
    width: auto !important;
    min-width: 0 !important;
    padding: 0 11px !important;
    font-size: .68rem !important;
  }
}

@media (max-width: 980px) {
  .site-header .header-search__toggle {
    width: auto !important;
    min-width: 0 !important;
    height: 38px !important;
    padding: 0 12px !important;
    border-radius: 999px !important;
    font-size: .68rem !important;
  }
}

/* =========================================================
   SMASHLINE v4.2.2 — BUSCAR visible + botones equilibrados
   - El buscador principal muestra BUSCAR en escritorio y móvil.
   - El asistente flotante deja de llamarse FINDER y muestra BUSCAR.
   - Alturas coherentes para evitar cápsulas vacías o recortes.
   ========================================================= */

/* Buscador de cabecera: siempre textual, nunca icono vacío. */
.site-header .header-search__toggle {
  box-sizing: border-box !important;
  width: auto !important;
  min-width: 82px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.045) !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  color: var(--sm-white) !important;
  font-size: .70rem !important;
  font-weight: 900 !important;
  line-height: 1 !important;
  letter-spacing: .09em !important;
  text-transform: uppercase !important;
  overflow: visible !important;
}
.site-header .header-search__toggle span {
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
  border: 0 !important;
  color: inherit !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
.site-header .header-search__toggle::before,
.site-header .header-search__toggle::after {
  content: none !important;
  display: none !important;
}
.site-header .header-search__toggle:hover,
.site-header .header-search__toggle:focus-visible {
  background: rgba(204,255,0,.10) !important;
  border-color: rgba(204,255,0,.42) !important;
  color: var(--sm-lime) !important;
}

/* El botón de menú comparte altura con BUSCAR en móvil. */
.site-header .hamburger {
  box-sizing: border-box !important;
  width: 40px !important;
  min-width: 40px !important;
  height: 40px !important;
  min-height: 40px !important;
  border-radius: 999px !important;
}
.site-header__actions {
  align-items: center !important;
  gap: 8px !important;
}

/* Asistente flotante: llamada a la acción clara y compacta. */
.sm-assistant__toggle {
  box-sizing: border-box !important;
  min-width: 116px !important;
  min-height: 48px !important;
  height: 48px !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0 !important;
  border-radius: 999px !important;
  line-height: 1 !important;
}
.sm-assistant__toggle-icon {
  display: none !important;
}
.sm-assistant__toggle-text {
  display: inline-block !important;
  color: var(--sm-navy) !important;
  font-size: .88rem !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}
/* El pulso no debe crear el efecto de un segundo botón circular. */
.sm-assistant__pulse {
  inset: -3px !important;
  opacity: .55 !important;
}

@media (max-width: 1080px) {
  .site-header .header-search__toggle {
    min-width: 78px !important;
    height: 40px !important;
    min-height: 40px !important;
    padding: 0 13px !important;
    font-size: .67rem !important;
  }
  .site-header .hamburger {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
  }
}

@media (max-width: 560px) {
  .site-header__actions {
    gap: 6px !important;
    flex-shrink: 0 !important;
  }
  .site-header .header-search__toggle {
    min-width: 72px !important;
    height: 38px !important;
    min-height: 38px !important;
    padding: 0 11px !important;
    font-size: .64rem !important;
    letter-spacing: .07em !important;
  }
  .site-header .hamburger {
    width: 38px !important;
    min-width: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }
  .sm-assistant {
    right: 10px !important;
    bottom: max(10px, env(safe-area-inset-bottom)) !important;
  }
  .sm-assistant__toggle {
    min-width: 98px !important;
    min-height: 44px !important;
    height: 44px !important;
    padding: 0 16px !important;
  }
  .sm-assistant__toggle-text {
    display: inline-block !important;
    font-size: .78rem !important;
    letter-spacing: .07em !important;
  }
  .sm-assistant__pulse {
    display: none !important;
  }
}

@media (max-width: 380px) {
  .site-header .header-search__toggle {
    min-width: 66px !important;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 9px !important;
    font-size: .60rem !important;
  }
  .site-header .hamburger {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
  }
  .sm-assistant__toggle {
    min-width: 92px !important;
    height: 42px !important;
    min-height: 42px !important;
    padding: 0 14px !important;
  }
}


/* =========================================================
   SMASHLINE v4.2.3 — Header search cache-safe
   La portada y las landings deben mostrar exactamente el mismo
   control BUSCAR. El selector por ID evita que reglas heredadas
   del antiguo icono circular oculten la etiqueta.
   ========================================================= */
body #site-header #search-toggle {
  width: auto !important;
  min-width: 86px !important;
  height: 40px !important;
  min-height: 40px !important;
  padding: 0 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 999px !important;
}
body #site-header #search-toggle .header-search__label {
  position: static !important;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  clip: auto !important;
  clip-path: none !important;
  white-space: nowrap !important;
  font-size: inherit !important;
  line-height: 1 !important;
}
body #site-header #search-toggle::before,
body #site-header #search-toggle::after {
  content: none !important;
  display: none !important;
}
@media (max-width: 1080px) {
  body #site-header #search-toggle { min-width: 78px !important; height: 40px !important; min-height: 40px !important; }
}
@media (max-width: 560px) {
  body #site-header #search-toggle { min-width: 72px !important; height: 38px !important; min-height: 38px !important; }
}
@media (max-width: 380px) {
  body #site-header #search-toggle { min-width: 66px !important; height: 36px !important; min-height: 36px !important; }
}


/* ===== SMASHLINE 4.3 — VIDEO HUB ===== */
.sm-video-promo{position:relative;overflow:hidden}
.sm-play-promo-wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:22px;align-items:stretch;padding:24px;border:1px solid var(--hairline);border-radius:18px;background:linear-gradient(135deg,rgba(255,51,79,.12),rgba(8,15,38,.85) 55%,rgba(0,0,0,.92))}
.sm-play-promo-copy h3{font-family:var(--font-display);font-size:clamp(1.8rem,3.1vw,3rem);line-height:.98;margin:6px 0 10px;color:var(--sm-white)}
.sm-play-kicker{display:inline-flex;align-items:center;gap:8px;font-size:.8rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase;color:var(--sm-lime)}
.sm-play-promo-copy p{max-width:62ch;color:var(--muted);margin:0}
.sm-play-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.sm-play-tags span,.sm-video-card__type,.sm-play-mini__type{display:inline-flex;align-items:center;gap:8px;padding:7px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--sm-white)}
.sm-play-mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.sm-play-mini{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:150px;padding:18px;border-radius:16px;overflow:hidden;text-decoration:none;color:var(--sm-white);border:1px solid rgba(255,255,255,.08);background:radial-gradient(circle at top left, color-mix(in srgb,var(--accent) 40%, transparent), transparent 48%),linear-gradient(145deg,#12192d,#080d18)}
.sm-play-mini::after,.sm-video-card__thumb::after,.sm-videos-spotlight__media::after{content:'▶';position:absolute;right:16px;top:16px;width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.14);font-size:1rem;font-weight:900;box-shadow:0 12px 24px rgba(0,0,0,.2)}
.sm-play-mini strong{font-family:var(--font-display);font-size:1.25rem;line-height:1;margin-top:auto}
.sm-play-mini small{margin-top:6px;color:#dbe4ff}
.sm-play-mini:hover,.sm-video-card:hover,.sm-videos-spotlight:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--accent) 55%, rgba(255,255,255,.15));box-shadow:0 16px 32px rgba(0,0,0,.25)}
.sm-videos-hero .cat-hero__icon{font-size:1.8rem}
.sm-videos-lead{display:grid;grid-template-columns:1.2fr .8fr;gap:18px;margin:24px 0}
.sm-videos-spotlight,.sm-videos-guide__card,.sm-video-card,.sm-video-disclaimer{border:1px solid var(--hairline);background:linear-gradient(180deg,rgba(15,22,43,.9),rgba(7,10,18,.98));border-radius:18px}
.sm-videos-spotlight{display:grid;grid-template-columns:.9fr 1.1fr;overflow:hidden;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.sm-videos-spotlight__media{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:270px;padding:22px;background:radial-gradient(circle at 18% 20%, color-mix(in srgb,var(--accent) 45%, transparent), transparent 36%),linear-gradient(145deg,#11182c,#080c17)}
.sm-videos-spotlight__badge{display:inline-flex;align-self:flex-start;padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.sm-videos-spotlight__play{display:none}
.sm-videos-spotlight__media strong{font-family:var(--font-display);font-size:2.1rem;line-height:.95;margin-top:auto}
.sm-videos-spotlight__media small{margin-top:8px;color:#dbe4ff}
.sm-videos-spotlight__body{padding:24px;display:flex;flex-direction:column;justify-content:center;gap:12px}
.sm-videos-spotlight__body h3{font-family:var(--font-display);font-size:2rem;line-height:.98;margin:0;color:var(--sm-white)}
.sm-videos-spotlight__body p{margin:0;color:var(--muted)}
.sm-videos-spotlight__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:4px}
.sm-videos-note{font-size:.9rem;color:#b7bfd8;max-width:28rem}
.sm-videos-guide__card{padding:22px;height:100%}
.sm-videos-guide__card h3{font-family:var(--font-display);font-size:1.6rem;line-height:1.02;margin:8px 0 12px}
.sm-videos-guide__card ul{margin:0;padding-left:18px;color:var(--muted);display:grid;gap:10px}
.sm-video-filterbar{display:flex;flex-wrap:wrap;gap:10px;margin:18px 0 22px}
.sm-video-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.sm-video-card{display:flex;flex-direction:column;overflow:hidden;text-decoration:none;color:inherit;transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.sm-video-card__thumb{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:200px;padding:18px;background:radial-gradient(circle at 18% 18%, color-mix(in srgb,var(--accent) 42%, transparent), transparent 38%),linear-gradient(145deg,#131b30,#090d17)}
.sm-video-card__thumb strong{font-family:var(--font-display);font-size:1.55rem;line-height:.95;margin-top:auto;color:var(--sm-white)}
.sm-video-card__thumb small{margin-top:6px;color:#dbe4ff}
.sm-video-card__body{padding:18px;display:grid;gap:10px}
.sm-video-card__eyebrow{font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--sm-lime)}
.sm-video-card__body h3{font-family:var(--font-display);font-size:1.35rem;line-height:1;margin:0;color:var(--sm-white)}
.sm-video-card__body p{margin:0;color:var(--muted)}
.sm-video-card__footer{display:flex;justify-content:space-between;gap:12px;align-items:center;font-size:.85rem;font-weight:700;color:#dbe4ff;padding-top:4px;border-top:1px solid rgba(255,255,255,.08)}
.sm-video-disclaimer{margin-top:20px;padding:16px 18px;color:#c4cbe0}
@media(max-width:1100px){.sm-play-promo-wrap,.sm-videos-lead{grid-template-columns:1fr}.sm-video-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sm-also-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:720px){.sm-play-mini-grid,.sm-video-grid,.sm-also-grid{grid-template-columns:1fr}.sm-videos-spotlight{grid-template-columns:1fr}.sm-videos-spotlight__media{min-height:220px}.sm-videos-spotlight__body h3,.sm-play-promo-copy h3{font-size:1.7rem}.sm-video-card__thumb{min-height:180px}.sm-video-filterbar{gap:8px}.sm-play-promo-wrap,.sm-videos-guide__card,.sm-video-card__body,.sm-videos-spotlight__body{padding:18px}}


/* ===== SMASHLINE 4.3.5 — Floating controls: CHAT + back-to-top =====
   CHAT stays beside (not over) the back-to-top arrow on every viewport. */
.sm-assistant {
  right: 84px !important;
  bottom: 20px !important;
}

@media (min-width: 920px) {
  .sm-assistant {
    right: 100px !important;
    bottom: 32px !important;
  }
}

@media (max-width: 560px) {
  .sm-assistant {
    right: 80px !important;
    bottom: max(20px, env(safe-area-inset-bottom)) !important;
  }
  /* The trigger sits left of the arrow; keep the opened chat aligned to the viewport. */
  .sm-assistant__panel {
    right: -70px !important;
    width: calc(100vw - 20px) !important;
    max-height: min(640px, calc(100vh - 92px)) !important;
  }
}

@media (max-width: 380px) {
  .sm-assistant {
    right: 76px !important;
  }
  .sm-assistant__panel {
    right: -66px !important;
  }
}


/* ===== SMASHLINE 4.3.6 — NOTICIAS HUB ===== */
.sm-news-hub{padding-bottom:12px}
.sm-news-hero .cat-hero__icon{font-size:1rem;letter-spacing:.04em}
.sm-news-ticker{margin-top:24px}
.sm-news-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
.sm-news-vertical{padding:22px;position:relative;overflow:hidden}
.sm-news-vertical::before{content:'';position:absolute;inset:0 auto 0 0;width:3px;background:var(--news-accent,var(--sm-lime))}
.sm-news-vertical--players{--news-accent:#3742fa}
.sm-news-vertical--analysis{--news-accent:#a29bfe}
.sm-news-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:8px}
.sm-news-kicker{display:block;margin-bottom:5px;font-size:.72rem;line-height:1;font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.sm-news-dot{width:13px;height:13px;border-radius:50%;margin-top:6px;box-shadow:0 0 0 5px rgba(255,255,255,.035)}
.sm-news-dot--players{background:#3742fa}.sm-news-dot--analysis{background:#a29bfe}
.sm-news-stack{display:grid;margin-top:16px}
.sm-news-stack__item{display:grid;grid-template-columns:1fr;gap:12px;padding:15px 0;border-top:1px solid var(--hairline);text-decoration:none;color:inherit}
.sm-news-stack__item:first-child{border-top:0;padding-top:0}
.sm-news-stack__item.is-featured{grid-template-columns:minmax(130px,.8fr) 1.2fr;align-items:stretch;padding-bottom:18px}
.sm-news-stack__image{min-height:145px;border-radius:12px;overflow:hidden;background:var(--surface-2)}
.sm-news-stack__image img,.sm-news-stack__image .court{width:100%;height:100%;object-fit:cover}
.sm-news-stack__item h3{margin:3px 0 6px;font-size:1rem;line-height:1.25;color:var(--sm-white)}
.sm-news-stack__item.is-featured h3{font-size:1.18rem}
.sm-news-stack__item small{color:var(--muted);font-size:.74rem}
.sm-news-stack__item:hover h3{color:var(--sm-lime)}
.sm-news-headlines{padding:22px}
.sm-news-headlines__meta{font-size:.75rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.sm-news-headline-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:28px}
.sm-news-headline-grid .headline:nth-child(-n+2){border-top:0}
@media(max-width:950px){.sm-news-columns,.sm-news-headline-grid{grid-template-columns:1fr}.sm-news-headline-grid .headline:nth-child(2){border-top:1px solid var(--hairline)}}
@media(max-width:600px){.sm-news-vertical,.sm-news-headlines{padding:16px}.sm-news-stack__item.is-featured{grid-template-columns:1fr}.sm-news-stack__image{min-height:190px}.sm-news-headlines__meta{display:none}}


/* ========================================================================
   SMASHLINE 4.4.0 — MOBILE SYSTEM + RESPONSIVE BALANCE
   One mobile hierarchy, no horizontal overflow, readable cards and controls.
   ======================================================================== */
html,body{max-width:100%;overflow-x:hidden}
img,video,iframe,svg{max-width:100%;height:auto}
.sm-assistant{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(12px);transition:opacity .24s ease,transform .24s ease,visibility .24s ease}
.sm-assistant.is-chat-ready{visibility:visible;opacity:1;pointer-events:auto;transform:none}
.shop-card__product-image{display:block;width:100%;height:100%;min-height:220px;object-fit:contain;object-position:center;padding:22px;background:radial-gradient(circle at 50% 42%,rgba(204,255,0,.08),transparent 52%)}
.shop-card__affiliate-note{grid-column:1/-1;color:rgba(248,249,250,.52);font-size:.66rem;letter-spacing:.05em;text-transform:uppercase}
.shop-affiliate-disclosure{margin-top:18px;padding:12px 15px;border:1px solid rgba(255,255,255,.1);border-radius:14px;background:rgba(255,255,255,.035);color:rgba(248,249,250,.62);font-size:.78rem;line-height:1.5}

@media(max-width:1030px){
  :root{--header-h:68px}
  .site-header__inner{display:flex!important;align-items:center!important;justify-content:space-between!important;width:100%!important;max-width:none!important;padding:0 12px!important;gap:10px!important}
  .site-header .logo,.site-header .custom-logo-wrap,.site-header .custom-logo-link{min-width:0!important;max-width:min(55vw,210px)!important;flex:1 1 auto!important}
  .site-header .logo__mark{width:36px!important;height:36px!important;flex:0 0 36px!important}
  .site-header .logo__text{font-size:clamp(1rem,4.4vw,1.35rem)!important;letter-spacing:.08em!important}
  .site-header__actions{display:flex!important;align-items:center!important;gap:8px!important;flex:0 0 auto!important}
  body #site-header #search-toggle{height:40px!important;min-height:40px!important;min-width:76px!important;padding:0 11px!important;font-size:10px!important}
  .site-header .hamburger{display:flex!important;width:40px!important;height:40px!important;min-width:40px!important;border-radius:12px!important}

  .nav{width:min(92vw,390px)!important;max-width:390px!important;padding:0 14px calc(18px + env(safe-area-inset-bottom))!important;background:linear-gradient(180deg,#0b1020,#080b14 75%)!important;border-left:1px solid rgba(255,255,255,.1)!important;overflow-y:auto!important;overscroll-behavior:contain}
  .nav__topline{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:72px;padding:10px 4px 8px;background:linear-gradient(180deg,#0b1020 78%,rgba(11,16,32,.92));border-bottom:1px solid rgba(255,255,255,.08)}
  .nav__topline>span{font-family:var(--font-display);font-size:1.5rem;letter-spacing:.08em;color:var(--sm-white)}
  .nav__close{position:static!important;width:40px!important;height:40px!important;display:grid!important;place-items:center!important;margin:0!important;border:1px solid rgba(255,255,255,.12)!important;border-radius:12px!important;background:rgba(255,255,255,.04)!important;color:var(--sm-white)!important}
  .nav__group-label{margin:20px 6px 8px;color:var(--sm-lime);font-family:var(--font-mono);font-size:.62rem;font-weight:900;letter-spacing:.17em;text-transform:uppercase}
  .nav__link{display:grid!important;grid-template-columns:34px minmax(0,1fr) 24px!important;align-items:center!important;gap:10px!important;min-height:54px!important;padding:8px 9px!important;margin:2px 0!important;border:1px solid transparent!important;border-radius:14px!important;background:transparent!important;color:rgba(248,249,250,.82)!important;text-decoration:none!important}
  .nav__num{font-family:var(--font-mono);font-size:.65rem;color:rgba(248,249,250,.36)}
  .nav__text{font-weight:800;font-size:.9rem;letter-spacing:.08em}
  .nav__arrow{justify-self:end;color:rgba(248,249,250,.3);font-size:1rem}
  .nav__link.active,.nav__link.is-active{background:rgba(204,255,0,.08)!important;border-color:rgba(204,255,0,.2)!important;color:var(--sm-lime)!important}
  .nav__link.active .nav__num,.nav__link.is-active .nav__num,.nav__link.active .nav__arrow,.nav__link.is-active .nav__arrow{color:var(--sm-lime)}
  .nav__cta{display:flex!important;align-items:center!important;justify-content:center!important;min-height:46px!important;margin:18px 0 0!important;border-radius:999px!important}
}

@media(max-width:760px){
  .container{width:100%!important;max-width:none!important;padding-left:14px!important;padding-right:14px!important}
  .home-section,.shop-page,.academy-page{max-width:100%;overflow:hidden}
  .masthead{display:grid!important;grid-template-columns:1fr auto!important;gap:8px 12px!important;align-items:center!important;padding:14px 0!important}
  .masthead__date{grid-column:1/-1!important;font-size:.66rem!important;white-space:normal!important}
  .masthead__tag{font-size:.8rem!important;justify-self:end!important}
  .trending-bar{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;gap:10px!important;min-width:0!important}
  .trending-bar__scroll{min-width:0!important;overflow-x:auto!important;scrollbar-width:none!important}
  .trending-bar__scroll::-webkit-scrollbar{display:none}
  .trending-bar__item{white-space:nowrap!important;max-width:82vw!important;overflow:hidden!important;text-overflow:ellipsis!important}

  .cat-block__header,.shop-section__head,.shop-section__head--split{display:flex!important;flex-direction:column!important;align-items:flex-start!important;gap:8px!important}
  .cat-block__label{font-size:clamp(1.45rem,8vw,2rem)!important}
  .cat-section__link{width:100%!important;text-align:left!important}
  .sm-home-block{margin:24px 0 32px!important}

  .sm-cover-grid,.sm-cover-secondary,.sm-editorial-columns,.sm-news-columns,.sm-news-headline-grid,.sm-videos-lead,.sm-play-promo-wrap,.section-rundown,.interactive-row,.cat-layout-a,.globe-wrap,.sm-calendar__hero,.sm-calendar__body,.shop-hero__grid,.shop-feature-grid,.shop-grid,.shop-module-row,.shop-profile-grid,.shop-brand-grid,.shop-related__grid{grid-template-columns:1fr!important}
  .sm-cover-lead{min-height:320px!important}
  .lead__body{padding:18px!important}
  .lead__title{font-size:clamp(1.85rem,9vw,2.7rem)!important;line-height:.96!important}
  .lead__sub{font-size:.9rem!important}
  .sm-cover-secondary-card{grid-template-columns:118px minmax(0,1fr)!important;min-height:118px!important}
  .sm-cover-secondary-image{aspect-ratio:auto!important;height:118px!important}
  .sm-cover-secondary-body{padding:12px!important}
  .sm-cover-secondary-body h3{font-size:.96rem!important;line-height:1.15!important}
  .sm-recent-four,.sm-actualidad-grid{grid-template-columns:1fr!important;gap:12px!important}
  .sm-recent-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;grid-template-rows:auto auto 1fr!important;column-gap:12px!important;align-items:start!important}
  .sm-recent-card-image{grid-row:1/4!important;height:112px!important;margin:0!important}
  .sm-recent-card h3{font-size:1rem!important;line-height:1.18!important;margin:4px 0!important}
  .sm-panel,.sm-news-vertical,.sm-news-headlines{padding:14px!important;border-radius:16px!important}
  .mostread__row{grid-template-columns:38px minmax(0,1fr)!important;padding:12px 0!important}
  .mostread__title{font-size:.9rem!important}
  .rank-row{grid-template-columns:28px minmax(0,1fr) auto!important;gap:8px!important;padding:10px 0!important}
  .rank-row__pair{font-size:.82rem!important}
  .poll__q{font-size:1.45rem!important}

  .cat-hero{display:grid!important;grid-template-columns:52px minmax(0,1fr)!important;gap:12px!important;padding:18px!important;border-radius:18px!important}
  .cat-hero__icon{width:52px!important;height:52px!important}
  .cat-hero__title{font-size:clamp(2rem,12vw,3rem)!important}
  .cat-hero__desc{font-size:.9rem!important}
  .cat-hero__stats{grid-column:1/-1!important;display:flex!important;flex-wrap:wrap!important;gap:6px 10px!important}
  .section-rundown{padding:12px!important}
  .section-rundown__main{padding:16px!important}
  .section-rundown__side{grid-template-columns:1fr!important}
  .interactive-row{display:grid!important}
  .tip-card,.quiz-card,.fact-card{min-width:0!important}
  .articles-grid{grid-template-columns:1fr!important}

  .sm-news-stack__item.is-featured{grid-template-columns:1fr!important}
  .sm-news-stack__image{min-height:190px!important}
  .sm-news-headline-grid{column-gap:0!important}

  .sm-play-mini-grid,.sm-video-grid,.sm-also-grid{grid-template-columns:1fr!important}
  .sm-play-promo-wrap{padding:16px!important}
  .sm-videos-spotlight{grid-template-columns:1fr!important}
  .sm-videos-spotlight__media{min-height:210px!important}
  .sm-video-filterbar,.shop-filterbar{display:flex!important;flex-wrap:nowrap!important;overflow-x:auto!important;overscroll-behavior-inline:contain!important;scroll-snap-type:x proximity!important;padding:2px 0 8px!important;scrollbar-width:none!important}
  .sm-video-filterbar::-webkit-scrollbar,.shop-filterbar::-webkit-scrollbar{display:none}
  .sm-video-filterbar button,.shop-filterbar button{flex:0 0 auto!important;scroll-snap-align:start!important}

  .sm-calendar{min-width:0!important}
  .sm-calendar__hero{padding:18px!important;border-radius:18px!important}
  .sm-calendar__hero h3{font-size:2rem!important}
  .sm-calendar__list{max-height:none!important}
  .sm-calendar__row,.tour-row{grid-template-columns:44px minmax(0,1fr)!important;gap:10px!important;padding:11px!important}
  .sm-calendar__badges,.tour-row__cat{grid-column:2!important;justify-self:start!important}
  .tour-row__city{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
  .globe{width:min(82vw,320px)!important;height:min(82vw,320px)!important}

  .shop-hero{padding-top:18px!important}
  .shop-hero__grid{gap:18px!important}
  .shop-hero__copy h1{font-size:clamp(2.5rem,13vw,4rem)!important;line-height:.9!important}
  .shop-hero__actions{display:grid!important;grid-template-columns:1fr!important}
  .shop-btn{width:100%!important;justify-content:center!important;text-align:center!important}
  .shop-hero__trust{display:grid!important;grid-template-columns:1fr!important;gap:8px!important}
  .shop-court-card{min-height:300px!important}
  .shop-search-box{grid-template-columns:1fr!important;padding:10px!important}
  .shop-card{min-width:0!important;border-radius:18px!important}
  .shop-card__visual{min-height:220px!important}
  .shop-card__product-image{min-height:200px!important;max-height:260px!important}
  .shop-card__body{padding:16px!important}
  .shop-card h3{font-size:1.55rem!important}
  .shop-card__chips{display:flex!important;flex-wrap:wrap!important}
  .shop-spec{grid-template-columns:minmax(76px,.8fr) minmax(70px,1fr) 28px!important;gap:8px!important}
  .shop-card__detail-grid{grid-template-columns:1fr!important}
  .shop-card__footer{grid-template-columns:1fr 1fr!important;gap:10px!important;padding:14px 16px!important}
  .shop-card__cta{grid-column:1/-1!important;width:100%!important;justify-content:center!important;text-align:center!important}
  .shop-card__affiliate-note{grid-column:1/-1!important}
  .shop-mini-module,.shop-profile{min-height:auto!important}

  .sm-assistant{right:76px!important;bottom:max(14px,env(safe-area-inset-bottom))!important}
  .back-to-top{right:14px!important;bottom:max(14px,env(safe-area-inset-bottom))!important;width:46px!important;height:46px!important}
  .sm-assistant__toggle{height:46px!important;min-height:46px!important;padding:0 14px!important}
  .sm-assistant__toggle-text{display:inline!important;font-size:.72rem!important}
  .sm-assistant__toggle-icon{display:none!important}
  .sm-assistant__panel{position:fixed!important;left:10px!important;right:10px!important;bottom:72px!important;width:auto!important;max-width:none!important;max-height:calc(100dvh - 92px)!important;border-radius:18px!important}
  .sm-assistant__messages{max-height:48dvh!important;min-height:220px!important}

  .header-search__form{left:10px!important;right:10px!important;width:auto!important;max-width:none!important}
  .header-search__form input{min-width:0!important;width:100%!important}
}

@media(max-width:430px){
  .container{padding-left:12px!important;padding-right:12px!important}
  body #site-header #search-toggle{min-width:66px!important;height:38px!important;min-height:38px!important;padding:0 9px!important;font-size:9px!important}
  .site-header .hamburger{width:38px!important;height:38px!important;min-width:38px!important}
  .site-header .logo__mark{width:32px!important;height:32px!important;flex-basis:32px!important}
  .site-header .logo__text{font-size:1rem!important}
  .masthead__tag{display:none!important}
  .masthead{grid-template-columns:1fr!important}
  .sm-cover-lead{min-height:285px!important}
  .lead__title{font-size:2rem!important}
  .sm-cover-secondary-card,.sm-recent-card{grid-template-columns:96px minmax(0,1fr)!important}
  .sm-cover-secondary-image,.sm-recent-card-image{height:96px!important}
  .shop-card__footer{grid-template-columns:1fr!important}
  .shop-card__cta,.shop-card__affiliate-note{grid-column:1!important}
  .sm-assistant{right:70px!important}
  .sm-assistant__toggle{padding:0 12px!important}
}


/* SMASHLINE 4.5 — Editorial cleanup + controlled responsive geometry */
.sm-editorial-heading{border-bottom:1px solid rgba(204,255,0,.46);padding:clamp(14px,2vw,24px) 0 14px;margin:18px 0 22px;min-width:0}
.sm-editorial-heading__tag{font-size:.7rem;font-weight:800;color:var(--sm-lime);letter-spacing:.18em;text-transform:uppercase}
.sm-editorial-heading h1{margin:5px 0 0;font-family:var(--font-display);font-size:clamp(2rem,5vw,3.3rem);line-height:1.02;color:var(--sm-white);overflow-wrap:anywhere}
.sm-news-hub,.sm-news-hub section,.sm-news-columns,.sm-news-vertical,.sm-news-stack,.sm-news-stack__item,.sm-news-stack__item > div{min-width:0;max-width:100%}
.sm-news-columns{align-items:stretch}
.sm-news-stack__item.is-featured{grid-template-columns:minmax(0,38%) minmax(0,1fr);align-items:center}
.sm-news-stack__image{height:auto;min-height:0;aspect-ratio:16/10;max-height:190px;overflow:hidden;contain:paint}
.sm-news-stack__image img,.sm-news-stack__image .court{width:100%!important;height:100%!important;min-height:0!important;max-height:100%!important;object-fit:cover;display:block}
.sm-news-stack__item h3,.sm-news-stack__item.is-featured h3{overflow-wrap:anywhere;hyphens:auto}
.sm-cover-secondary-card,.sm-cover-secondary-image,.sm-recent-card,.sm-recent-card-image,.sm-news-stack__item{min-width:0}
.sm-cover-secondary-image .court,.sm-recent-card-image .court{min-height:0!important;max-height:100%!important;overflow:hidden}
.sm-cover-secondary-image,.sm-recent-card-image{contain:paint}
.sm-recent-card h3,.sm-cover-secondary-body h3{overflow-wrap:anywhere}
.shop-discovery-card{height:100%;min-height:330px;border:1px solid rgba(204,255,0,.22);border-radius:25px;background:radial-gradient(circle at 100% 0,rgba(204,255,0,.13),transparent 46%),linear-gradient(140deg,#181d30,#0d101e 85%);padding:clamp(22px,3vw,36px);display:flex;flex-direction:column;gap:16px}
.shop-discovery-card h2{font-family:var(--font-display);font-size:clamp(2rem,3vw,3.4rem);line-height:1.02;margin:0;color:var(--sm-white)}
.shop-discovery-card p{color:var(--sm-gray-300);line-height:1.6;margin:0}
.shop-discovery-card__items{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:auto}
.shop-discovery-card__items button{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 13px;border-radius:12px;color:var(--sm-white);font-size:.8rem;font-weight:800;text-decoration:none;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.12);transition:background .2s,border-color .2s}
.shop-discovery-card__items button span{flex-shrink:0;color:var(--sm-lime)}
.shop-discovery-card__items button:hover,.shop-discovery-card__items button:focus-visible{background:rgba(204,255,0,.09);border-color:var(--sm-lime)}
@media(max-width:980px){.sm-news-stack__item.is-featured{grid-template-columns:minmax(0,36%) minmax(0,1fr)}.sm-news-stack__image{max-height:170px}}
@media(max-width:760px){
 .sm-editorial-heading{margin:8px 0 16px;padding:14px 0}
 .sm-editorial-heading h1{font-size:2.2rem}
 .sm-news-stack__item.is-featured{grid-template-columns:minmax(0,36%) minmax(0,1fr)!important;align-items:center!important;gap:12px!important}
 .sm-news-stack__image{aspect-ratio:1/1!important;height:auto!important;min-height:0!important;max-height:150px!important}
 .sm-news-stack__item h3,.sm-news-stack__item.is-featured h3{font-size:clamp(.88rem,3.6vw,1.05rem)!important;line-height:1.25!important}
 .sm-cover-secondary-image .court,.sm-recent-card-image .court{height:100%!important;min-height:0!important}
 .shop-discovery-card{min-height:0;padding:20px;gap:12px;border-radius:18px}
 .shop-discovery-card h2{font-size:2rem}
 .shop-discovery-card__items{grid-template-columns:1fr;gap:8px}
 .shop-discovery-card__items button{min-height:48px}
}
@media(max-width:390px){.sm-news-stack__item.is-featured{grid-template-columns:100px minmax(0,1fr)!important}.sm-news-stack__image{height:100px!important}}

.shop-discovery-card__items button{font-family:inherit;cursor:pointer;text-align:left;width:100%}


/* ===== SMASHLINE 4.5.1 — Stable editorial cards and touch UX ===== */
/* Every article preview has two explicit blocks: media and text. No implicit grid placement. */
.sm-recent-four,.sm-actualidad-grid,.sm-cover-grid,.sm-news-columns,.sm-editorial-columns,.shop-grid,.articles-grid{min-width:0}
.sm-recent-card{display:flex;flex-direction:column;min-width:0;max-width:100%;height:100%;overflow:hidden;isolation:isolate;background:rgba(255,255,255,.018);border:1px solid rgba(255,255,255,.07);border-radius:14px;transition:border-color .2s ease,transform .2s ease}
.sm-recent-card-image{position:relative;display:block;flex:none;width:100%;height:auto;aspect-ratio:16/10;min-width:0;margin:0;overflow:hidden;border-radius:0;background:#161c30;contain:paint}
.sm-recent-card-image img,.sm-recent-card-image .court{display:block;width:100%!important;height:100%!important;max-width:100%!important;max-height:100%!important;min-height:0!important;object-fit:cover;overflow:hidden}
.sm-recent-card__content{display:flex;flex-direction:column;flex:1;gap:7px;min-width:0;padding:14px 15px 16px}
.sm-recent-card__content .headline__cat{align-self:flex-start;max-width:100%;line-height:1.4}
.sm-recent-card__content h3{font-family:inherit;margin:0!important;font-size:clamp(.98rem,1.15vw,1.12rem)!important;line-height:1.37!important;letter-spacing:-.012em;white-space:normal!important;overflow-wrap:break-word;word-break:normal;hyphens:auto;max-width:100%;width:auto;position:static!important;transform:none!important}
.sm-recent-card__content small{display:block;margin-top:auto;font-size:.73rem;line-height:1.45}
.sm-recent-card:hover{border-color:rgba(204,255,0,.4)}
.sm-cover-secondary-card{min-width:0;align-items:stretch}
.sm-cover-secondary-body{min-width:0;overflow-wrap:break-word}
.sm-cover-secondary-body h3{overflow-wrap:break-word;word-break:normal;hyphens:auto}
.sm-news-stack__item,.sm-news-stack__item>div,.sm-news-stack__item h3{min-width:0;max-width:100%}
.sm-news-stack__item h3{overflow-wrap:break-word;word-break:normal;hyphens:auto}
.sm-news-stack__image{overflow:hidden}
.sm-news-stack__image .court,.sm-news-stack__image img{max-width:100%!important}
body{overflow-x:clip}
html{scroll-padding-top:100px}
:where(a,button,input,select,textarea):focus-visible{outline:2px solid var(--sm-lime);outline-offset:3px}
:where(.sm-recent-card,.sm-cover-secondary-card,.shop-card) a{min-width:0}
/* Allow readers to reach the last article even if floating actions are visible. */
.site-footer,footer{scroll-margin-bottom:110px}
@media(max-width:1024px){
 .sm-recent-four,.sm-actualidad-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .sm-recent-card{display:flex!important;grid-template-columns:none!important;grid-template-rows:none!important;gap:0!important;align-items:stretch!important}
 .sm-recent-card-image{height:auto!important;aspect-ratio:16/10!important;grid-row:auto!important;grid-column:auto!important;max-width:100%!important}
 .sm-recent-card__content{display:flex!important;min-width:0!important}
 .sm-recent-card__content h3{font-size:1rem!important;line-height:1.32!important}
}
@media(max-width:600px){
 .sm-recent-four,.sm-actualidad-grid{grid-template-columns:1fr!important;gap:14px!important}
 .sm-recent-card{display:flex!important;width:100%!important;max-width:100%!important;grid-template-columns:none!important;grid-template-rows:none!important;min-height:0!important}
 .sm-recent-card-image{width:100%!important;max-width:none!important;height:auto!important;aspect-ratio:16/9!important;grid-row:auto!important;margin:0!important}
 .sm-recent-card__content{padding:14px 15px 17px!important;gap:8px!important}
 .sm-recent-card__content h3{font-size:1.02rem!important;line-height:1.38!important;margin:0!important}
 .sm-recent-card__content small{font-size:.75rem!important}
 .sm-cover-secondary-card{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important}
 .sm-cover-secondary-image{width:100%!important;height:auto!important;aspect-ratio:16/9!important;max-width:100%!important;flex:none}
 .sm-cover-secondary-body{padding:14px!important;min-width:0!important}
 .sm-cover-secondary-body h3{font-size:1rem!important;line-height:1.35!important}
 .sm-news-stack__item.is-featured{grid-template-columns:1fr!important;display:flex!important;flex-direction:column!important;align-items:stretch!important}
 .sm-news-stack__image{width:100%!important;height:auto!important;aspect-ratio:16/9!important;max-height:none!important;min-height:0!important}
 .sm-news-stack__item.is-featured h3{font-size:1rem!important;line-height:1.38!important}
 .sm-home-block .cat-block__header{gap:10px!important}
 .sm-home-block{min-width:0!important}
 .sm-assistant{right:74px!important;bottom:max(18px,env(safe-area-inset-bottom))!important}
 .back-to-top{right:16px!important;bottom:max(18px,env(safe-area-inset-bottom))!important}
 .sm-assistant__toggle{height:44px!important;min-height:44px!important;max-height:44px!important;border-radius:999px!important}
 .sm-assistant__panel{bottom:calc(76px + env(safe-area-inset-bottom))!important}
 main,.home-section,.shop-page{padding-bottom:8px}
}
@media(max-width:380px){.sm-recent-card__content{padding:12px!important}.sm-assistant__toggle{padding:0 10px!important}.sm-assistant{right:69px!important}}
@media(prefers-reduced-motion:reduce){.sm-recent-card{transition:none!important}}


/* ===========================================================
   SMASHLINE 4.5.3 — UX editorial mobile-first
   Los controles de apoyo NO deben ocultar las noticias.
   Un solo punto de entrada al chat en menú + footer móvil.
   =========================================================== */
:root { --sm-reader-gutter: clamp(14px, 3vw, 24px); }
@media (hover:hover) and (pointer:fine) {
  /* El antiguo efecto 3D ampliaba tarjetas y las superponía. */
  .feature-card.is-tilting,.article-card.is-tilting,.cal-card.is-tilting,.stat-item.is-tilting {
    transform: none !important;
  }
}
.sm-mobile-utilities { display:none; }
.nav__chat-action { display:none; }

/* Desktop: controles secundarios discretos, sin animación pulsante. */
@media (min-width: 1031px) {
  .sm-assistant { right: 82px !important; bottom: 18px !important; }
  .sm-assistant__toggle { min-width: 84px !important; min-height: 42px !important; height: 42px !important; padding: 0 14px !important; box-shadow: 0 7px 18px rgba(0,0,0,.38) !important; }
  .sm-assistant__toggle-text { font-size: .72rem !important; }
  .sm-assistant__pulse { display:none !important; }
  .back-to-top { bottom: 18px !important; right: 18px !important; width:42px !important; height:42px !important; box-shadow: 0 7px 18px rgba(0,0,0,.38) !important; }
}

@media (max-width: 1030px) {
  /* Sin FABs sobre el texto: ni chat ni subida fijados sobre las tarjetas. */
  body .sm-assistant { position:fixed !important; inset:0 auto auto 0 !important; right:auto !important; bottom:auto !important; width:0 !important; height:0 !important; z-index:9999 !important; }
  body .sm-assistant__toggle, body .sm-assistant__pulse { display:none !important; }
  body .back-to-top { display:none !important; pointer-events:none !important; }
  body .sm-assistant__panel {
    box-sizing:border-box !important; position:fixed !important;
    inset:auto 12px calc(12px + env(safe-area-inset-bottom)) 12px !important;
    width:auto !important; max-width:none !important;
    max-height:min(78dvh, 690px) !important;
    min-height:0 !important;
    border-radius:18px !important;
    overflow:hidden !important;
    transform:translateY(16px) scale(.99);
    overscroll-behavior:contain;
  }
  body .sm-assistant[data-open="true"] .sm-assistant__panel { transform:none !important; }
  body .sm-assistant__messages { min-height:0 !important; max-height: min(47dvh, 420px) !important; overscroll-behavior:contain; }
  body.sm-chat-open::before {
    content:''; position:fixed; inset:0; z-index:9997; background:rgba(0,0,0,.68);
    backdrop-filter:blur(3px); pointer-events:none;
  }
  .nav__chat-action {
    display:flex; width:100%; min-height:52px; margin:12px 0 20px;
    padding:12px 15px; align-items:center; justify-content:space-between; gap:10px;
    border:1px solid rgba(204,255,0,.4);border-radius:14px;
    background:rgba(204,255,0,.09);color:var(--sm-lime);
    font-size:.84rem;font-weight:850;letter-spacing:.07em;text-align:left;
  }
  .nav__chat-action:focus-visible,.sm-mobile-utilities button:focus-visible { outline:2px solid var(--sm-lime);outline-offset:3px; }
  .sm-mobile-utilities {
    display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:10px;
    margin-top:28px;padding:20px 0 14px;border-top:1px solid rgba(255,255,255,.12);
  }
  .sm-mobile-utilities button {
    display:flex;align-items:center;justify-content:center;gap:9px;
    width:100%;min-height:48px;padding:12px 11px;border-radius:12px;
    font-size:clamp(.72rem,2.8vw,.88rem);line-height:1.25;font-weight:800;
    white-space:normal;text-align:center;
  }
  .sm-mobile-utilities__chat { background:var(--sm-lime);color:var(--sm-navy); }
  .sm-mobile-utilities__top { background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.15);color:var(--sm-white); }
  .sm-mobile-utilities__top > span:first-child { font-size:1.3rem;line-height:1; }
  /* Titulares y bloques en columna y con objetivo táctil cómodo. */
  .container { min-width:0; }
  .sm-recent-card__content h3, .headline__t, .sm-news-stack__item h3, .article-card__title {
    overflow-wrap:break-word;word-break:normal;hyphens:auto;
  }
  :where(.nav__link,.nav__cta,.nav__close,.sm-mobile-utilities button) { touch-action:manipulation; }
  .footer { padding-bottom:max(20px, env(safe-area-inset-bottom)); }
}
@media (max-width: 380px) {
  .sm-mobile-utilities { grid-template-columns:1fr; }
  body .sm-assistant__panel { inset:auto 8px calc(8px + env(safe-area-inset-bottom)) 8px !important; max-height:86dvh !important; }
}
@media (prefers-reduced-motion:reduce) {
  .sm-assistant__panel,.sm-assistant__toggle,.back-to-top { transition:none !important; animation:none !important; }
}


/* === SMASHLINE 4.5.4 — header/nav/editorial tuning === */
.site-header__inner{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(14px,1.8vw,28px)!important;
}
.logo,.custom-logo-wrap{margin-right:0!important;}
.site-nav{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:clamp(2px,.35vw,8px)!important;
  min-width:0!important;
}
.site-nav__link{
  flex:0 1 auto!important;
  white-space:nowrap!important;
}
@media (min-width: 1101px){
  .site-nav__link{padding:0 clamp(10px,.95vw,16px)!important;font-size:clamp(.72rem,.7vw,.84rem)!important;}
}
.home-section[data-section]:not([data-section="all"]) .sm-editorial-heading{margin-bottom:14px!important;}
.home-section[data-section]:not([data-section="all"]) .sm-editorial-heading__lede{
  max-width:760px;margin:10px 0 0;color:rgba(248,249,250,.78);font-size:1rem;line-height:1.7;
}
.sm-section-editorial .sm-home-block{margin-top:28px!important;}
.sm-section-guide__list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px;}
.sm-section-guide__list li{position:relative;padding-left:18px;color:rgba(248,249,250,.82);line-height:1.65;}
.sm-section-guide__list li::before{content:'';position:absolute;left:0;top:.68em;width:7px;height:7px;border-radius:50%;background:var(--sm-lime);box-shadow:0 0 0 6px rgba(204,255,0,.08);}
.sm-section-guide{min-height:100%;}
.sm-section-editorial .mostread__row{align-items:flex-start;}
.sm-section-editorial .sm-recent-four{margin-top:12px!important;}
.sm-section-editorial .sm-recent-card,
.sm-news-hub .sm-recent-card{align-items:stretch!important;}
.sm-section-editorial .sm-recent-card-image,
.sm-news-hub .sm-recent-card-image{aspect-ratio:16/10!important;min-height:0!important;overflow:hidden;border-radius:20px;}
.sm-section-editorial .sm-recent-card-image img,
.sm-news-hub .sm-recent-card-image img{width:100%;height:100%;object-fit:cover;display:block;}
.sm-section-editorial .sm-recent-card__content,
.sm-news-hub .sm-recent-card__content{display:flex;flex-direction:column;gap:8px;min-width:0;}
.sm-section-editorial .sm-recent-card__content h3,
.sm-news-hub .sm-recent-card__content h3{display:block;margin:0;font-size:1.14rem;line-height:1.3;overflow-wrap:anywhere;}
/* Mobile navigation uses the drawer only. Removed an older two-row grid that
   accidentally displayed desktop links as tiny gray text below the lime rule. */
@media (max-width: 680px){
  .sm-section-editorial .sm-editorial-columns,
  .sm-news-hub .sm-editorial-columns{grid-template-columns:1fr!important;}
  .sm-section-editorial .sm-recent-card,
  .sm-news-hub .sm-recent-card{
    grid-template-columns:1fr!important;
    gap:14px!important;
    padding:16px!important;
  }
  .sm-section-editorial .sm-recent-card-image,
  .sm-news-hub .sm-recent-card-image{
    width:100%!important;max-width:none!important;aspect-ratio:16/9!important;
  }
  .sm-section-editorial .sm-recent-card__content h3,
  .sm-news-hub .sm-recent-card__content h3{font-size:1.06rem!important;line-height:1.32!important;}
}

/* ======================================================================
   SMASHLINE v4.5.5 — Premium editorial reading system
   Una capa estable, responsive y específica al final del tema.
   ====================================================================== */
:root { --header-h: 72px; --sm-reading-max: 740px; --sm-text: #E6E8EE; }
html { scroll-padding-top: 92px; }
body { background-attachment: scroll; }
.sm-content-anchor { display:block; height:0; position:relative; scroll-margin-top:calc(var(--header-h) + 12px); }
.sm-skip-link {
  position:fixed; top:10px; left:14px; z-index:99999; transform:translateY(-160%);
  padding:12px 18px; background:var(--sm-lime); color:var(--sm-navy);
  border-radius:10px; font-weight:800; box-shadow:0 9px 34px rgba(0,0,0,.45);
}
.sm-skip-link:focus { transform:none; }

/* Cabecera: una fila estable y sin estados activos residuales. */
.site-header.header { height:var(--header-h)!important; background:rgba(9,12,23,.98)!important; border-bottom:2px solid var(--sm-lime)!important; }
.site-header.header.header--scrolled { height:64px!important; box-shadow:0 12px 30px rgba(0,0,0,.4)!important; }
.site-header .site-header__inner {
  height:100%!important; display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  gap:clamp(14px,1.6vw,26px)!important; align-items:center!important;
}
.site-header .logo, .site-header .custom-logo-wrap { min-width:0!important;max-width:190px!important; width:auto!important; overflow:visible!important; }
.site-header .logo__text { font-size:clamp(1.15rem,1.52vw,1.55rem)!important;letter-spacing:.06em!important; }
.site-header .logo__mark { flex:0 0 38px!important; width:38px!important;height:38px!important; }
.site-header .site-nav { display:flex!important; height:100%!important; gap:clamp(1px,.2vw,4px)!important; padding:0!important; overflow:visible!important; }
.site-header .site-nav__link {
  flex:0 1 auto!important; height:42px!important; min-height:42px!important;
  padding:0 clamp(8px,.68vw,13px)!important; margin:0!important;
  font-size:clamp(.62rem,.71vw,.73rem)!important; letter-spacing:.06em!important;
  border-radius:11px!important; text-transform:uppercase!important; transform:none!important;
  border:1px solid transparent!important; background:transparent!important;
  color:rgba(248,249,250,.78)!important; box-shadow:none!important;
}
.site-header .site-nav__link.active, .site-header .site-nav__link.is-active,
.site-header .site-nav__link[aria-current="page"] {
  color:var(--sm-lime)!important; border-color:rgba(204,255,0,.32)!important;
  background:rgba(204,255,0,.09)!important; box-shadow:inset 0 -2px 0 var(--sm-lime)!important;
}
.site-header .site-nav__link::after { content:none!important; display:none!important; }
.site-header .site-header__actions { display:flex!important;justify-content:flex-end!important;gap:8px!important; }
body #site-header #search-toggle { flex:0 0 auto!important; height:40px!important; min-height:40px!important; border-radius:999px!important; }
.site-header .hamburger { display:none!important; }
@media(hover:hover) and (pointer:fine) {
  .site-header .site-nav__link:not(.active):not(.is-active):hover {
    background:rgba(255,255,255,.07)!important;color:var(--sm-white)!important;
    border-color:rgba(255,255,255,.1)!important;
  }
}
@media(hover:none) {
  .site-header .site-nav__link:not(.active):not(.is-active):hover,
  .site-header .site-nav__link:not(.active):not(.is-active):focus:not(:focus-visible) {
    background:transparent!important;color:rgba(248,249,250,.78)!important;border-color:transparent!important;box-shadow:none!important;
  }
}
@media(max-width:1240px) {
  :root { --header-h:68px; }
  .site-header .site-header__inner { display:flex!important; justify-content:space-between!important;gap:10px!important; }
  .site-header .site-nav { display:none!important; }
  .site-header .hamburger { display:flex!important;width:42px!important;height:42px!important;flex:0 0 42px!important; }
  .site-header .logo, .site-header .custom-logo-wrap { max-width:min(54vw,200px)!important; flex:0 1 auto!important; }
  .site-header .site-header__actions { flex:0 0 auto!important; }
  .site-header .logo__text { font-size:clamp(1.02rem,3.7vw,1.32rem)!important; }
  .site-header.header.header--scrolled { height:64px!important; }
  .site-header .nav__link[aria-current="page"] { border-color:rgba(204,255,0,.32)!important;background:rgba(204,255,0,.08)!important;color:var(--sm-lime)!important; }
}
@media(max-width:380px){
  .site-header .site-header__inner { padding:0 10px!important; }
  .site-header .logo__mark {width:32px!important;height:32px!important;flex-basis:32px!important;}
  .site-header .logo__text {font-size:1rem!important;}
}

/* Ritmo y jerarquía: bloques con lectura de periódico. */
.sm-home-block { margin:clamp(28px,4vw,52px) 0!important; }
.sm-home-block .cat-block__header {display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid rgba(255,255,255,.11);padding-bottom:12px;margin-bottom:20px!important;}
.sm-home-block .cat-block__label, .sm-section-editorial .cat-block__label { letter-spacing:.06em; }
.sm-editorial-heading { margin-top:clamp(24px,3vw,40px)!important; }
.sm-section-editorial .sm-recent-card, .sm-news-hub .sm-recent-card,
.sm-recent-four .sm-recent-card, .sm-actualidad-grid .sm-recent-card {
  border:1px solid rgba(255,255,255,.10)!important; border-radius:15px!important;
  background:rgba(255,255,255,.026)!important;
  overflow:hidden!important; min-width:0!important;
}
.sm-recent-card__content h3, .sm-cover-secondary-body h3,
.sm-news-stack__item h3, .headline__t { text-wrap:pretty; line-height:1.34!important; }
.sm-recent-card-image img, .sm-cover-secondary-image img, .article-card__img img,
.sm-news-stack__image img { object-fit:cover!important; }
.sm-recent-four .sm-recent-card-image {overflow:hidden!important;}
.sm-recent-four .sm-recent-card__content {min-width:0!important;}
.article-card, .sm-panel {min-width:0;}
.article-card__title {line-height:1.33!important;overflow-wrap:anywhere;}
.article-card .article-card__img {overflow:hidden;}
@media(hover:hover) and (pointer:fine){
  .sm-recent-card:hover h3, .headline:hover .headline__t,
  .sm-cover-secondary-card:hover h3, .article-card:hover .article-card__title {color:var(--sm-lime)!important;}
  .article-card:hover,.sm-recent-card:hover {transform:none!important;}
}
@media(max-width:680px){
  .sm-cover-lead {min-height:340px!important;}
  .sm-home-block .cat-block__header {align-items:flex-start;flex-wrap:wrap;}
  .sm-recent-four,.sm-actualidad-grid {display:grid!important;grid-template-columns:1fr!important;gap:14px!important;}
  .sm-recent-four .sm-recent-card,.sm-actualidad-grid .sm-recent-card {display:flex!important;flex-direction:column!important;padding:0!important;gap:0!important;}
  .sm-recent-four .sm-recent-card-image,.sm-actualidad-grid .sm-recent-card-image {width:100%!important;aspect-ratio:16/9!important;max-height:none!important;max-width:none!important;}
  .sm-recent-four .sm-recent-card__content,.sm-actualidad-grid .sm-recent-card__content {padding:15px 16px 18px!important;display:flex!important;flex-direction:column!important;gap:8px!important;}
  .sm-section-editorial .sm-editorial-columns {display:grid!important;grid-template-columns:1fr!important;}
  .sm-editorial-heading__lede {font-size:.94rem!important;line-height:1.55!important;}
}

.sm-section-guide__links {display:grid;gap:9px;margin-top:14px;}
.sm-section-guide__links a {display:flex;align-items:center;justify-content:space-between;gap:14px;border-radius:11px;border:1px solid rgba(255,255,255,.09);padding:12px 14px;background:rgba(255,255,255,.025);}
.sm-section-guide__links a:hover {border-color:rgba(204,255,0,.36);}
.sm-section-guide__links strong {display:block;color:var(--sm-white);font-size:.92rem;}
.sm-section-guide__links small {display:block;color:var(--sm-gray-300);font-size:.74rem;}
.sm-section-guide__links a>span:last-child {color:var(--sm-lime);font-weight:900;}
.sm-empty-state {border:1px solid rgba(255,255,255,.14);border-radius:18px;padding:clamp(24px,5vw,48px);background:rgba(255,255,255,.035);margin:24px 0 70px;}
.sm-empty-state strong {display:block;color:var(--sm-white);font-family:var(--font-display);font-size:clamp(1.6rem,4vw,2.7rem);line-height:1.1;}
.sm-empty-state p {margin:12px 0 24px;}
.sm-empty-state a {display:inline-flex;padding:10px 16px;background:var(--sm-lime);border-radius:8px;color:var(--sm-navy);font-weight:800;}

/* Página de lectura: jerarquía de noticia, contexto y contenido. */
.sm-story {padding-top:calc(var(--header-h) + 30px)!important;}
.sm-story__header.container {max-width:860px!important;padding-bottom:18px;}
.sm-story__header .breadcrumbs {margin-bottom:22px!important;}
.sm-story__category {display:inline-flex;align-items:center;gap:9px;color:var(--sm-lime);font-weight:850;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;border-left:3px solid var(--sm-lime);padding-left:10px;}
.sm-story__header .single-hero__title {
  font-family:var(--font-body)!important;font-weight:800!important;
  font-size:clamp(2rem,4.4vw,3.8rem)!important;line-height:1.12!important;
  letter-spacing:-.038em!important;text-transform:none!important;
  margin:18px 0 20px!important; overflow-wrap:anywhere; text-wrap:balance;
  color:var(--sm-white)!important;
}
.sm-story__standfirst {font-size:clamp(1.02rem,1.75vw,1.32rem);font-weight:450;line-height:1.62;color:#C6CDDC;max-width:740px;margin:0 0 22px;}
.sm-story__meta {display:flex!important;flex-wrap:wrap;gap:10px 20px!important;align-items:center;border-top:1px solid rgba(255,255,255,.14);padding:16px 0 0;margin:6px 0 12px!important;font-family:var(--font-body)!important;font-size:.75rem!important;letter-spacing:0!important;color:#AEB6C7!important;}
.sm-story__meta .sm-story__byline {color:var(--sm-white);font-weight:750;}
.sm-story__figure.container {max-width:1120px!important;margin:16px auto 34px!important;padding:0 clamp(14px,3vw,24px)!important;border-radius:0!important;aspect-ratio:auto!important;overflow:visible!important;}
.sm-story__figure img {width:100%;height:auto!important;max-height:650px;aspect-ratio:16/9;object-fit:cover;border-radius:16px;}
.sm-story__figure figcaption {padding:9px 6px;color:#9DA7BB;font-size:.74rem;line-height:1.45;}
.sm-story__reading.container {max-width:850px!important;}
.sm-story__reading .single-content {max-width:var(--sm-reading-max)!important;font-size:clamp(1.01rem,1.23vw,1.13rem)!important;line-height:1.86!important;color:var(--sm-text)!important;overflow-wrap:anywhere;}
.sm-story__reading .single-content>p:first-of-type {font-size:1.07em;line-height:1.76;color:#F1F2F6;}
.sm-story__reading .single-content h2 {font-family:var(--font-body)!important;font-size:clamp(1.32rem,2.3vw,1.8rem)!important;letter-spacing:-.035em!important;line-height:1.24!important;margin:2em 0 .8em!important;scroll-margin-top:110px;}
.sm-story__reading .single-content h3 {font-family:var(--font-body)!important;font-size:clamp(1.14rem,1.9vw,1.45rem)!important;letter-spacing:-.025em!important;line-height:1.3!important;scroll-margin-top:110px;}
.sm-story__reading .single-content a:not(.wp-block-button__link) {text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px;}
.sm-story__reading .single-content blockquote {border-left:3px solid var(--sm-lime);padding:12px 20px;margin:32px 0;background:rgba(204,255,0,.035);border-radius:0 12px 12px 0;}
.sm-story__reading .single-content blockquote p {margin:0;font-size:1.07em;}
.sm-story__reading .single-content table {display:block;max-width:100%;overflow-x:auto;white-space:normal;border-collapse:collapse;}
.sm-story__reading .single-content th,.sm-story__reading .single-content td {border-bottom:1px solid var(--hairline);padding:11px 12px;min-width:100px;text-align:left;vertical-align:top;}
.sm-story__reading .single-content iframe {display:block;max-width:100%;}
.sm-story__reading .single-content img {height:auto;max-width:100%;}
.sm-story__reading .single-content .wp-block-embed {max-width:100%;}
.sm-story__reading .single-content .wp-block-embed__wrapper {max-width:100%;}
.sm-story__reading .single-content figure {max-width:100%;margin:22px 0;}
.sm-story__reading .single-content figcaption {font-size:.76rem;color:var(--sm-gray-300);margin-top:7px;}
.sm-story__contents {max-width:var(--sm-reading-max);margin:0 auto 30px;background:#151B2C;border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 20px;}
.sm-story__contents[hidden],.sm-story__contents ol[hidden] {display:none!important;}
.sm-story__contents-header {display:flex;align-items:center;justify-content:space-between;gap:10px;}
.sm-story__contents-header strong {color:var(--sm-lime);letter-spacing:.1em;font-size:.7rem;}
.sm-story__contents-header button {min-height:36px;padding:4px 11px;background:rgba(255,255,255,.07);border-radius:9px;color:var(--sm-white);font-size:.76rem;}
.sm-story__contents ol {list-style:decimal;margin:13px 0 0 21px;display:grid;gap:8px;}
.sm-story__contents li {list-style:decimal;color:#A8B2C8;}
.sm-story__contents a {font-size:.85rem;color:#E9EDF4;line-height:1.5;}
.sm-story__contents a:hover {color:var(--sm-lime);}
.sm-story__tags {display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:28px auto;max-width:var(--sm-reading-max);}
.sm-story__tags>span {font-size:.75rem;color:var(--sm-gray-300);font-weight:700;margin-right:4px;}
.sm-story__tags a {border:1px solid var(--hairline-strong);padding:5px 11px;border-radius:20px;color:var(--sm-gray-200);font-size:.78rem;}
.sm-story__tags a:hover {border-color:var(--sm-lime);color:var(--sm-lime);}
.sm-story__share {max-width:var(--sm-reading-max);margin:40px auto 16px;border-top:1px solid var(--hairline-strong);padding-top:24px;}
.sm-story__share>strong {display:block;font-family:var(--font-display);font-size:1.55rem;line-height:1.1;color:var(--sm-white);}
.sm-story__share>p {font-size:.84rem;margin-top:8px;color:var(--sm-gray-300);}
.sm-story__share .share-row {margin:16px 0 8px;gap:9px;}
.sm-story__share .share-btn {min-height:43px;padding:9px 14px;font-size:.77rem;white-space:nowrap;}
.sm-story__share [hidden] {display:none!important;}
.sm-story__share-status {display:block;min-height:20px;margin-top:8px;font-size:.75rem;color:var(--sm-lime);}
.sm-story__editorial {max-width:var(--sm-reading-max);margin:22px auto;align-items:flex-start;}
.sm-story__editorial strong {color:var(--sm-white);display:block;margin-bottom:5px;}
.sm-story__editorial p {color:#B7BED0;font-size:.81rem;line-height:1.65;margin:0;}
.sm-story__adjacent {max-width:var(--sm-reading-max);margin-top:22px;}
.sm-story__adjacent a {min-width:0;}
.sm-story__adjacent span {overflow-wrap:anywhere;}
.sm-story__related {margin-top:clamp(44px,6vw,72px)!important;margin-bottom:70px;}
.sm-story__related .cat-block__header {display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px;border-bottom:1px solid var(--hairline);padding-bottom:12px;}
.sm-story__related-label {font-size:.77rem;color:var(--sm-gray-300);}
@media(max-width:650px){
  .sm-story {padding-top:calc(var(--header-h) + 23px)!important;}
  .sm-story__header .single-hero__title {font-size:clamp(1.88rem,7vw,2.55rem)!important;line-height:1.16!important;}
  .sm-story__meta {font-size:.7rem!important;gap:8px 12px!important;}
  .sm-story__figure.container {margin-top:6px!important;margin-bottom:24px!important;}
  .sm-story__figure img {border-radius:10px;aspect-ratio:16/10;}
  .sm-story__reading .single-content {font-size:1rem!important;line-height:1.78!important;}
  .sm-story__share .share-row {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;}
  .sm-story__share .share-btn {justify-content:center;text-align:center;white-space:normal;}
  .sm-story__related-label {display:none;}
  .sm-story__editorial {padding:18px;}
}

/* Un footer de periódico: información real, sin enlaces de relleno. */
.sm-footer {padding:clamp(42px,6vw,76px) 0 20px!important;margin-top:64px!important;background:#080C18!important;border-top:2px solid var(--sm-lime)!important;}
.sm-footer__mast {display:flex;align-items:end;justify-content:space-between;gap:30px;padding-bottom:32px;border-bottom:1px solid var(--hairline-strong);}
.sm-footer__eyebrow {display:block;font-family:var(--font-mono);font-size:.65rem;font-weight:800;color:var(--sm-lime);letter-spacing:.17em;margin-bottom:12px;}
.sm-footer__logo {font-size:clamp(1.8rem,3vw,2.7rem)!important;margin:0 0 13px!important;}
.sm-footer__logo .logo__mark {width:46px;height:46px;font-size:1.45rem;}
.sm-footer__mast p {max-width:520px;font-size:.94rem;color:#C0C6D5;line-height:1.65;}
.sm-footer__edition {display:flex;align-items:flex-end;flex-direction:column;gap:5px;font-family:var(--font-mono);font-size:.68rem;letter-spacing:.1em;color:#BBC2D3;text-align:right;white-space:nowrap;}
.sm-footer__edition strong {font-family:var(--font-display);font-size:3.2rem;line-height:.9;color:var(--sm-white);}
.sm-footer__edition small {color:var(--sm-lime);font-size:.63rem;}
.sm-footer__columns {display:grid;grid-template-columns:1fr 1.16fr .85fr;gap:clamp(22px,4vw,60px);padding:38px 0 22px;}
.sm-footer__columns h2 {font-family:var(--font-mono);font-size:.7rem;letter-spacing:.15em;color:var(--sm-lime);margin-bottom:19px;}
.sm-footer__columns ul {list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.sm-footer__columns li {list-style:none;}
.sm-footer__columns li a {font-size:.83rem;line-height:1.5;color:#D4D9E5;display:inline-flex;align-items:center;gap:7px;}
.sm-footer__columns li a span {color:#79869F;opacity:.7;}
.sm-footer__columns li a:hover,.sm-footer__latest a:hover strong {color:var(--sm-lime);}
.sm-footer__columns nav:first-child ul {grid-template-columns:repeat(2,minmax(0,1fr));gap:11px 15px;}
.sm-footer__latest {display:flex;flex-direction:column;gap:0;}
.sm-footer__latest>a {display:block;border-bottom:1px solid rgba(255,255,255,.09);padding:0 0 14px;margin-bottom:14px;}
.sm-footer__latest>a strong {display:block;color:var(--sm-white);font-size:.82rem;font-weight:650;line-height:1.45;overflow-wrap:anywhere;}
.sm-footer__latest time {display:block;font-size:.68rem;color:#939DB2;margin-top:7px;}
.sm-footer__note {font-size:.73rem;color:#909DB6;line-height:1.6;margin-top:24px;}
.sm-footer__bottom {justify-content:space-between;flex-direction:row!important;align-items:center;padding-top:22px!important;margin-top:20px!important;color:#9CA5BB!important;}
@media(max-width:920px){
  .sm-footer__columns {grid-template-columns:repeat(2,minmax(0,1fr));gap:32px;}
  .sm-footer__columns nav:last-child {grid-column:1/-1;}
}
@media(max-width:600px){
  .sm-footer__mast {align-items:flex-start;}
  .sm-footer__edition {display:none;}
  .sm-footer__columns {grid-template-columns:1fr;gap:32px;}
  .sm-footer__columns nav:last-child {grid-column:auto;}
  .sm-footer__bottom {flex-direction:column!important;align-items:flex-start;gap:5px;}
}
@media(prefers-reduced-motion:reduce){
  html {scroll-behavior:auto;}
  .site-nav__link,.sm-recent-card,.article-card,.sm-story__contents a {transition:none!important;animation:none!important;}
}

/* Archivos y búsqueda con el mismo sistema editorial que las noticias. */
.sm-archive { padding-top:calc(var(--header-h) + 28px); padding-bottom:20px; }
.sm-archive__heading { margin-top:0!important;margin-bottom:24px!important; }
.sm-archive__heading h1 { font-size:clamp(2rem,4.6vw,3.8rem)!important; }
.sm-archive__heading .sm-editorial-heading__lede strong { color:var(--sm-white); }
.sm-archive__quick {display:flex;flex-wrap:wrap;gap:8px;margin-bottom:35px;}
.sm-archive__quick a {border:1px solid var(--hairline-strong);color:#D5DCEA;border-radius:999px;padding:8px 14px;font-size:.76rem;font-weight:750;}
.sm-archive__quick a:hover {background:rgba(204,255,0,.08);color:var(--sm-lime);border-color:rgba(204,255,0,.35);}
.sm-archive__bar {margin:12px 0 24px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid var(--hairline);padding-bottom:14px;}
.sm-archive__bar>span {color:var(--sm-gray-300);font-size:.77rem;}
.sm-archive__grid { margin-bottom:36px; }
.sm-pagination { margin:35px 0 70px;text-align:center; }
.sm-pagination .nav-links {display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;}
.sm-pagination .page-numbers {min-width:38px;min-height:38px;display:inline-flex;align-items:center;justify-content:center;padding:8px 11px;border:1px solid var(--hairline-strong);border-radius:9px;color:var(--sm-gray-200);font-size:.83rem;}
.sm-pagination .page-numbers.current {background:var(--sm-lime);border-color:var(--sm-lime);color:var(--sm-navy);font-weight:850;}
.sm-pagination a.page-numbers:hover {border-color:var(--sm-lime);color:var(--sm-lime);}
.sm-search-results__form {max-width:720px;margin:0 0 40px;}
.sm-search-results__form label {display:block;font-size:.76rem;font-weight:800;color:var(--sm-gray-200);margin-bottom:9px;}
.sm-search-results__form>div {display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;}
.sm-search-results__form input {min-width:0;min-height:48px;background:rgba(255,255,255,.055);color:var(--sm-white);border:1px solid var(--hairline-strong);border-radius:10px;padding:12px 14px;font-family:var(--font-body);font-size:.9rem;}
.sm-search-results__form button {min-height:48px;border-radius:10px;background:var(--sm-lime);color:var(--sm-navy);font-weight:900;padding:0 20px;}
.sm-search-results__form input:focus-visible {outline:2px solid var(--sm-lime);outline-offset:2px;}
.sm-static-page .sm-story__reading {padding-bottom:80px;}
@media(max-width:600px){
  .sm-archive { padding-top:calc(var(--header-h) + 18px); }
  .sm-archive__bar>span {display:none;}
  .sm-archive__quick {flex-wrap:nowrap;overflow-x:auto;padding-bottom:8px;scrollbar-width:none;}
  .sm-archive__quick a {white-space:nowrap;}
  .sm-archive__quick::-webkit-scrollbar {display:none;}
  .sm-search-results__form button {padding:0 14px;}
}


/* 4.5.5 — Mobile header: prevent any phantom desktop-navigation row.
   Important: selectors deliberately scope to #site-header, never the menu drawer. */
@media (max-width:1240px) {
  body #site-header .site-nav {
    display:none!important;
    visibility:hidden!important;
    pointer-events:none!important;
    position:absolute!important;
    width:0!important;
    height:0!important;
    min-height:0!important;
    min-width:0!important;
    overflow:hidden!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
  }
  body #site-header .site-header__inner {
    display:flex!important;
    grid-template-areas:none!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:space-between!important;
  }
}
@media (max-width:900px) {
  /* The date/edition strip looked like a second tiny navigation menu.
     The masthead remains on desktop, but doesn't compete with content on mobile. */
  body .masthead {display:none!important;}
  body .home-section[data-section] {padding-top:calc(var(--header-h) + 18px)!important;}
  body #site-header .hamburger {display:flex!important;visibility:visible!important;}
}


/* === SMASHLINE 4.5.7 — visual covers on all cards === */
.sm-topic-cover{
  position:relative;display:block;width:100%;height:100%;min-height:100%;overflow:hidden;border-radius:inherit;
  background:
    radial-gradient(120% 120% at 84% 10%, color-mix(in srgb, var(--cover-c, var(--sm-blue)) 92%, white 8%) 0%, transparent 58%),
    radial-gradient(120% 160% at 18% 88%, rgba(6,10,24,.02) 0%, rgba(6,10,24,.92) 72%),
    linear-gradient(135deg, rgba(12,18,40,.98), rgba(8,11,21,.98));
}
.sm-topic-cover::before{content:'';position:absolute;inset:10px;border-radius:18px;border:1px solid rgba(255,255,255,.15);opacity:.95;}
.sm-topic-cover::after{content:'';position:absolute;left:50%;top:10px;bottom:10px;width:1px;background:rgba(255,255,255,.12);box-shadow:-34vw 0 0 rgba(255,255,255,.06),34vw 0 0 rgba(255,255,255,.04);opacity:.8;}
.sm-topic-cover__overlay{position:absolute;inset:0;background:linear-gradient(180deg, rgba(255,255,255,.06), transparent 26%, transparent 70%, rgba(0,0,0,.22));}
.sm-topic-cover__copy{position:absolute;left:16px;right:16px;bottom:16px;z-index:2;display:flex;flex-direction:column;gap:8px;max-width:min(78%,420px);}
.sm-topic-cover__eyebrow{display:inline-flex;align-self:flex-start;padding:6px 10px;border-radius:999px;background:rgba(6,10,24,.74);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.12);color:#fff;font-family:var(--font-mono);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;}
.sm-topic-cover__keyword{font-family:var(--font-display);font-size:clamp(1.15rem,3.4vw,2rem);line-height:.98;text-transform:uppercase;color:#fff;letter-spacing:.02em;text-shadow:0 4px 18px rgba(0,0,0,.35);}
.sm-topic-cover__sub{color:rgba(248,249,250,.78);font-size:.82rem;line-height:1.45;max-width:28ch;}
.sm-topic-cover__icon{position:absolute;right:7%;bottom:8%;z-index:1;line-height:1;color:rgba(255,255,255,.18);filter:drop-shadow(0 10px 18px rgba(0,0,0,.35));}
.sm-topic-cover__icon svg{width:clamp(58px,9vw,108px);height:auto;display:block;}
.sm-topic-cover--lg .sm-topic-cover__copy{left:24px;right:24px;bottom:24px;max-width:min(66%,520px);}
.sm-topic-cover--lg .sm-topic-cover__keyword{font-size:clamp(1.55rem,3vw,3rem);}
.sm-topic-cover--lg .sm-topic-cover__sub{font-size:.94rem;max-width:34ch;}
.sm-topic-cover--lg .sm-topic-cover__icon svg{width:clamp(82px,10vw,140px);}
.article-card__img img,
.sm-recent-card-image img,
.sm-cover-secondary-image img,
.sm-news-stack__image img,
.lead__main img{width:100%;height:100%;object-fit:cover;display:block;}
.article-card__img .sm-topic-cover,
.sm-recent-card-image .sm-topic-cover,
.sm-cover-secondary-image .sm-topic-cover,
.sm-news-stack__image .sm-topic-cover{min-height:100%;aspect-ratio:16/10;}
.lead__main .sm-topic-cover{aspect-ratio:16/9;}
@media (max-width: 680px){
  .sm-topic-cover__copy{left:14px;right:14px;bottom:14px;max-width:74%;}
  .sm-topic-cover__eyebrow{font-size:.56rem;padding:5px 8px;}
  .sm-topic-cover__keyword{font-size:clamp(1rem,6vw,1.45rem);}
  .sm-topic-cover__sub{font-size:.76rem;max-width:22ch;}
  .sm-topic-cover__icon{right:8%;bottom:10%;}
  .sm-topic-cover__icon svg{width:58px;}
  .sm-topic-cover--lg .sm-topic-cover__copy{max-width:78%;}
  .sm-topic-cover--lg .sm-topic-cover__keyword{font-size:clamp(1.25rem,8vw,2rem);}
}


/* === SMASHLINE 4.5.8 — normalize cards and cleaner fallback art === */
.sm-topic-cover--card{
  background:
    radial-gradient(110% 140% at 84% 10%, color-mix(in srgb, var(--cover-c, var(--sm-blue)) 92%, white 8%) 0%, transparent 54%),
    linear-gradient(180deg, rgba(255,255,255,.05), rgba(255,255,255,0) 32%),
    linear-gradient(135deg, rgba(9,14,28,.98), rgba(11,16,34,.96));
}
.sm-topic-cover--card::before{inset:12px;border-radius:14px;}
.sm-topic-cover--card::after{left:50%;top:12px;bottom:12px;opacity:.55;box-shadow:-120px 0 0 rgba(255,255,255,.05),120px 0 0 rgba(255,255,255,.03);}
.sm-topic-cover--card .sm-topic-cover__copy{display:none;}
.sm-topic-cover__mini-tag{
  position:absolute;left:14px;bottom:14px;z-index:2;display:inline-flex;padding:7px 10px;border-radius:999px;
  background:rgba(8,11,21,.82);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);
  color:#fff;font-family:var(--font-mono);font-size:.6rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;
}
.sm-topic-cover--card .sm-topic-cover__icon{right:10%;bottom:12%;color:rgba(255,255,255,.16);}
.sm-topic-cover--card .sm-topic-cover__icon svg{width:clamp(52px,8vw,84px);}

.sm-cover-secondary-card,
.sm-recent-card,
.article-card,
.sm-news-stack__item{border-radius:18px!important;overflow:hidden!important;}
.sm-cover-secondary-card,
.sm-recent-card{background:rgba(255,255,255,.02)!important;border:1px solid rgba(255,255,255,.08)!important;}
.sm-cover-secondary-image,
.sm-recent-card-image,
.article-card__img,
.sm-news-stack__image{background:#12182c!important;overflow:hidden!important;}
.sm-cover-secondary-image,
.sm-news-stack__image{aspect-ratio:16/10;}
.sm-cover-secondary-image img,.sm-recent-card-image img,.article-card__img img,.sm-news-stack__image img,
.sm-cover-secondary-image .sm-topic-cover,.sm-recent-card-image .sm-topic-cover,.article-card__img .sm-topic-cover,.sm-news-stack__image .sm-topic-cover{
  width:100%!important;height:100%!important;object-fit:cover!important;display:block!important;
}
.sm-cover-secondary-body,.sm-recent-card__content,.article-card__body{min-width:0;}
.sm-cover-secondary-body h3,.sm-recent-card__content h3,.article-card__title,.sm-news-stack__item h3{
  line-height:1.28!important;letter-spacing:-.015em;overflow-wrap:anywhere;
}
.sm-news-stack__item{display:grid;grid-template-columns:128px minmax(0,1fr);gap:14px;align-items:start;padding:14px!important;background:rgba(255,255,255,.02);border:1px solid rgba(255,255,255,.08);}
.sm-news-stack__image{height:128px;border-radius:14px;}
.sm-news-stack__item .headline__cat{margin-bottom:4px;display:inline-flex;}

@media (min-width: 951px){
  .sm-cover-secondary-card{grid-template-columns:160px minmax(0,1fr)!important;min-height:160px!important;}
  .sm-cover-secondary-image{height:160px;aspect-ratio:auto!important;}
  .sm-recent-card-image{aspect-ratio:16/10!important;}
}
@media (max-width: 950px){
  .sm-news-stack__item{grid-template-columns:112px minmax(0,1fr);gap:12px;padding:12px!important;}
  .sm-news-stack__image{height:112px;}
}
@media (max-width: 600px){
  .sm-cover-secondary-card,
  .sm-recent-card,
  .sm-news-stack__item,
  .article-card{border-radius:16px!important;}
  .sm-cover-secondary-card{display:grid!important;grid-template-columns:112px minmax(0,1fr)!important;min-height:112px!important;}
  .sm-cover-secondary-image{height:112px!important;aspect-ratio:auto!important;border-radius:0!important;}
  .sm-cover-secondary-body{padding:12px 13px!important;}
  .sm-recent-card{display:flex!important;flex-direction:column!important;}
  .sm-recent-card-image{aspect-ratio:16/9!important;}
  .sm-recent-card__content{padding:13px 14px 15px!important;}
  .sm-news-stack__item{grid-template-columns:104px minmax(0,1fr)!important;padding:11px!important;}
  .sm-news-stack__image{height:104px!important;}
  .sm-topic-cover__mini-tag{left:12px;bottom:12px;font-size:.55rem;padding:6px 8px;}
  .sm-topic-cover--card .sm-topic-cover__icon{right:8%;bottom:10%;}
  .sm-topic-cover--card .sm-topic-cover__icon svg{width:56px;}
}

/* SMASHLINE 4.5.9 — Mobile navigation: no numbers */
@media(max-width:1240px){
 #nav .nav__link[data-sm-main-nav="1"]{
   display:grid!important;
   grid-template-columns:minmax(0,1fr) 24px!important;
   align-items:center!important;
   gap:12px!important;
   padding-inline:16px 12px!important;
 }
 #nav .nav__link[data-sm-main-nav="1"] .nav__num{display:none!important;}
 #nav .nav__link[data-sm-main-nav="1"] .nav__text{min-width:0;}
}
