/* ==========================================================================
   HUELLA DEPORTIVA · Sistema editorial (última capa; se carga después de identidad.css)

   Reglas, sacadas de revistas y webs editoriales (Kinfolk, maquetación suiza, Bauhaus):
   1. Una retícula de 12 columnas para todo: etiquetas en las 3 primeras, texto en el centro, aire a la derecha.
   2. Pocos elementos de interfaz (menos del 10 % de la pantalla): cabecera fina, sin pastillas ni sombras.
   3. Jerarquía solo con tamaño, peso y posición; filetes finos para separar, nunca cajas.
   4. Un único color de acento (azul eléctrico); el naranja solo para marcar dolor o urgencia.
   5. Ritmo: imagen o bloque grande → idea → texto; mucho blanco entre apartados.
   6. Etiquetas pequeñas en mayúscula espaciada; titulares grandes condensados; texto de lectura cómodo.
   7. Lo mismo en móvil y en ordenador: en móvil la etiqueta sigue a la izquierda del texto cuando cabe.
   ========================================================================== */

:root {
  --cols: 12;
  --gut: clamp(16px, 2vw, 28px);
  --side: clamp(16px, 4vw, 56px);
  --max: 1360px;
  --rule: 1px solid var(--ink);
  --hair: 1px solid rgba(14, 22, 51, .16);
  --t-label: 11px;
  --t-body: 17px;
  --t-small: 14px;
  --t-h3: clamp(20px, 1.8vw, 24px);
  --t-h2: clamp(30px, 3.6vw, 52px);
  --t-h1: clamp(44px, 7.4vw, 112px);
}
.wrap { max-width: var(--max) !important; padding-left: max(var(--side), env(safe-area-inset-left, 0px)) !important; padding-right: max(var(--side), env(safe-area-inset-right, 0px)) !important; }

/* ---------- Cabecera: fina, solo marca, cinco apartados y cita ---------- */
.site-header { background: rgba(246, 247, 249, .9) !important; -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px); box-shadow: none !important; border-bottom: var(--hair) !important; }
.site-header > .wrap { padding-block: 10px !important; gap: 32px !important; }
.brand-dot { box-shadow: none !important; width: 9px !important; height: 9px !important; }
.nav { gap: 26px !important; }
.nav a { font-family: var(--monoui) !important; font-size: 11px !important; letter-spacing: .1em !important; text-transform: uppercase; color: var(--ink) !important; padding: 6px 0 !important; border-bottom: 1px solid transparent !important; text-decoration: none !important; }
.nav a:hover { border-bottom-color: var(--ink) !important; }
.nav a[aria-current="page"] { border-bottom-color: var(--blue) !important; color: var(--blue-text) !important; }
.search-btn { box-shadow: none !important; border: 0 !important; }
@media (min-width: 761px) { .hdr-cta { padding: 10px 16px !important; } }

/* Menú del móvil: los cinco apartados en grande, como un índice */
.m-sheet { background: var(--bg) !important; }
.m-inner { display: flex; flex-direction: column; gap: 0; padding-block: 20px 32px; }
.m-inner .m-search { margin-bottom: 28px; }
.m-inner .m-home { font-family: var(--monoui) !important; font-size: 11px !important; letter-spacing: .1em; text-transform: uppercase; color: var(--muted) !important; margin-bottom: 10px; text-decoration: none !important; }
.m-inner .m-grp { display: block; padding: 14px 0; border-top: var(--hair); font-family: var(--display) !important; font-weight: 800; text-transform: uppercase; font-size: 38px; line-height: 1; color: var(--ink) !important; text-decoration: none !important; }
.m-inner .m-grp:last-of-type { border-bottom: var(--hair); }
.m-inner .m-grp[aria-current="page"] { color: var(--blue-text) !important; }
.m-inner .m-book { margin-top: 28px; align-self: flex-start; }

/* ---------- Botones: contorno fino; solo «Pedir cita» va relleno ---------- */
.btn-ghost, .cta-strip .btn + .btn { background: transparent !important; box-shadow: inset 0 0 0 1px currentColor !important; }
.btn:hover, .hdr-cta:hover, .m-book:hover, .f-cta:hover { box-shadow: none !important; }

/* ---------- Cabeceras de página: titular enorme, ruta arriba, fila etiqueta | entradilla ---------- */
header.banner { border-bottom: 0 !important; }
.banner .banner-grid { display: block !important; padding-block: clamp(40px, 6vw, 88px) clamp(48px, 7vw, 104px) !important; }
.banner .banner-grid > div { max-width: none !important; }
.banner h1 { font-size: var(--t-h1) !important; line-height: .9 !important; max-width: 14ch !important; margin: 28px 0 0 !important; letter-spacing: 0 !important; }
.banner-lede { max-width: 46ch !important; font-size: 17px !important; color: var(--ink2) !important; margin: 0 !important; }
.banner .banner-grid > div > .banner-lede, .banner-row { margin-top: clamp(32px, 4vw, 56px) !important; }
.banner .banner-grid > div > .banner-lede { margin-left: calc((100% + var(--gut)) / 12 * 4) !important; }
.banner-row { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--gut); }
.banner-row .lh-label { grid-column: 1 / span 4; margin: 0 !important; padding-top: 4px; font-weight: 600; color: var(--ink) !important; }
.banner-row .banner-lede { grid-column: 5 / span 7; }
.banner .ctas, .banner .banner-ctas { margin-left: calc((100% + var(--gut)) / 12 * 4); }
.crumbs { font-size: 10.5px !important; }
@media (max-width: 760px) {
  .banner h1 { max-width: none !important; }
  .banner .banner-grid > div > .banner-lede { margin-left: 30% !important; font-size: 15px !important; }
  .banner-row .lh-label { grid-column: 1 / span 4; }
  .banner-row .banner-lede { grid-column: 5 / span 8; font-size: 15px !important; }
  .banner .ctas, .banner .banner-ctas { margin-left: 0; }
}

/* ---------- Retícula de 12 columnas en las páginas de lectura ---------- */
.bh .main-grid { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)) !important; column-gap: var(--gut) !important; row-gap: 48px !important; padding-top: clamp(24px, 4vw, 56px) !important; border-top: var(--rule) !important; }
.bh .main-grid > .sidebar { grid-column: 1 / span 3; order: -1; }
.bh .main-grid > .article, .bh .main-grid > .series, .bh .main-grid > :not(.sidebar) { grid-column: 4 / span 8; min-width: 0; }
.bh .main-grid:not(:has(> .sidebar)) > * { grid-column: 1 / -1; }
.bh .article { max-width: none !important; font-size: var(--t-body) !important; }
.bh .article > p, .bh .article > ul, .bh .article > ol, .bh .article .answer { max-width: 62ch; }
.bh .article h2 { margin-top: clamp(96px, 10vw, 150px) !important; font-size: var(--t-h2) !important; max-width: 18ch; border-top: var(--rule) !important; }
@media (max-width: 1000px) {
  .bh .main-grid > .sidebar { grid-column: 1 / -1; order: 0; }
  .bh .main-grid > .article, .bh .main-grid > .series, .bh .main-grid > :not(.sidebar) { grid-column: 1 / -1; }
}

/* ---------- Índices (páginas grupo, lesiones, running): una tabla editorial ---------- */
.series-title { font-size: var(--t-label) !important; font-family: var(--monoui) !important; letter-spacing: .1em !important; text-transform: uppercase !important; font-weight: 400 !important; color: var(--muted) !important; margin: 0 0 18px !important; }
.series-list { border-top: var(--rule); margin: 0 !important; padding: 0 !important; }
.series-item > a { grid-template-columns: 1fr 6fr 4fr 2fr !important; gap: var(--gut) !important; padding: 26px 0 !important; align-items: baseline !important; }
.series-item > a > div { display: contents; }
.series-item h3 { grid-column: 2; font-size: clamp(22px, 2.4vw, 34px) !important; line-height: 1 !important; margin: 0 !important; }
.series-item p { grid-column: 3; font-size: 15px !important; line-height: 1.45 !important; }
.series-meta { grid-column: 4; text-align: right; }
:root body .series-num { font-size: 11px !important; padding-top: 0 !important; }
.series-item { border-bottom: var(--hair) !important; transition: background .25s; }
.series-item > a:hover { padding-left: 12px !important; }
.series-item > a { transition: padding .25s ease; }
.series-item.is-sub > a { padding-left: 0 !important; }
.series-item.is-sub h3 { font-size: clamp(18px, 1.8vw, 24px) !important; }
.series-item.is-sub .series-num { color: var(--muted) !important; }
.series-item.is-soon { opacity: .55; }
.zone-title { font-size: var(--t-h2) !important; margin: clamp(80px, 9vw, 130px) 0 10px !important; border-top: var(--rule); padding-top: 18px; }
.zone-desc { margin-bottom: 24px !important; max-width: 46ch; }
.zone-nav { display: flex; gap: 22px; flex-wrap: wrap; margin: 0 0 8px !important; }
.zone-nav a { background: none !important; border: 0 !important; border-bottom: 1px solid var(--ink) !important; padding: 2px 0 !important; border-radius: 0 !important; -webkit-backdrop-filter: none; backdrop-filter: none; }
.hub-link a { background: transparent !important; border: 0 !important; border-top: 6px solid var(--pain) !important; padding: 18px 0 !important; }
@media (max-width: 760px) {
  .series-item > a { grid-template-columns: 34px minmax(0, 1fr) !important; row-gap: 8px !important; }
  .series-item h3 { grid-column: 2; font-size: 24px !important; }
  .series-item p { grid-column: 2; }
  .series-meta { grid-column: 2; text-align: left; }
}

/* ---------- Figuras con pie numerado ---------- */
.bh .article { counter-reset: fig; }
.bh .article figure.figure, .bh .article .legs-fig { counter-increment: fig; }

/* ---------- Pie: negro, la marca a todo el ancho y los cinco apartados en una línea ---------- */
.site-footer { background: #070b1c !important; overflow: hidden; }
.site-footer .footer-cols { display: grid !important; grid-template-columns: repeat(12, minmax(0, 1fr)) !important; gap: 28px var(--gut) !important; padding-block: 72px 32px !important; }
.site-footer .f-about { grid-column: 1 / span 5; }
.f-groups { grid-column: 7 / span 6; display: flex; flex-direction: column; gap: 0; }
.f-groups a { display: block; padding: 10px 0; border-top: 1px solid rgba(255, 255, 255, .16); font-family: var(--display) !important; font-weight: 800; text-transform: uppercase; font-size: clamp(22px, 2.4vw, 32px); line-height: 1; color: #fff !important; text-decoration: none !important; }
.f-groups a:last-child { border-bottom: 1px solid rgba(255, 255, 255, .16); }
.f-groups a:hover { color: #8fb0ff !important; }
.site-footer::after { content: "Huella Deportiva"; display: block; padding: 0 max(var(--side), env(safe-area-inset-left, 0px)) 4px; font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: 13.4vw; line-height: .78; letter-spacing: -.01em; color: rgba(255, 255, 255, .08); white-space: nowrap; pointer-events: none; }
@media (max-width: 760px) {
  .site-footer .f-about, .f-groups { grid-column: 1 / -1; }
}

/* ---------- Portada ---------- */
.home .lh-sec .wrap { position: relative; }
.home .start-item .si-text h3 a, .home .start-item .si-text h3 { text-decoration: none !important; }
.home .lh-hints a { border-radius: 0 !important; }

/* Aviso sanitario discreto */
.health-notice { background: transparent !important; border-top: var(--hair) !important; }

/* Ajustes tras revisión */
.banner h1.h1-largo { font-size: clamp(34px, 4.4vw, 66px) !important; line-height: .95 !important; max-width: 20ch !important; }
.bh .article h2 { max-width: none !important; padding-right: 28%; }
.series-item h3 { font-size: clamp(18px, 1.6vw, 22px) !important; line-height: 1.1 !important; }
.pg-grupo .series-item h3 { font-size: clamp(24px, 2.6vw, 38px) !important; line-height: 1 !important; }
.site-footer::after { font-size: 11.6vw; }
@media (max-width: 760px) { .hdr-cta { padding: 9px 12px !important; } .bh .article h2 { padding-right: 0; } }

/* Páginas grupo: fondo propio, una sola mancha azul grande al pie de la pantalla */
.pg-grupo::before { background: radial-gradient(70% 55% at 85% 105%, rgba(36, 67, 255, .45), rgba(36, 67, 255, .12) 50%, transparent 75%), radial-gradient(30% 25% at 96% 96%, rgba(255, 90, 31, .28), transparent 70%), #eef0f4; filter: blur(20px); }
.pg-grupo header.banner { background: transparent !important; }
.pg-grupo header.banner::before { content: none !important; }
@media (max-width: 420px) { .site-header .search-btn { display: none !important; } }
h1, h2, h3 { overflow-wrap: normal !important; word-break: normal !important; hyphens: manual !important; }

/* ---------- Titulares: todos alineados a la izquierda, sin escalones ---------- */
.stagger { display: inline !important; padding-left: 0 !important; }

/* ---------- Etiqueta | párrafo: la primera línea del párrafo cae en la misma línea que la etiqueta ---------- */
.banner-row, .home .sec-head, .home #sobre .text, .bh .defs > div, .bh .ficha-grid > div, .shoe-line { align-items: baseline !important; }
.banner-row > *, .home .sec-head > .lh-label, .home .sec-head > p, .home #sobre .text > .lh-label:first-child, .home #sobre .text > .big,
.bh .defs dt, .bh .defs dd, .shoe-line > * { margin-top: 0 !important; padding-top: 0 !important; align-self: baseline !important; }
.home #sobre .text > .lh-label:first-child { margin-top: 28px !important; }
.home #sobre .text > .big { margin-top: 28px !important; }

/* ---------- Por dónde empiezo: las láminas se apilan unas sobre otras al pasar ---------- */
.home .start-grid { gap: 0 !important; scroll-snap-type: x mandatory; }
.home .start-item { position: sticky; background: var(--bg) !important; padding-right: 22px !important; box-shadow: -18px 0 30px -18px rgba(14, 22, 51, .35); }
.home .start-item:nth-child(1) { left: 0; z-index: 1; box-shadow: none; }
.home .start-item:nth-child(2) { left: 14px; z-index: 2; }
.home .start-item:nth-child(3) { left: 28px; z-index: 3; }
.home .start-item:nth-child(4) { left: 42px; z-index: 4; }
@media (max-width: 760px) { .home .start-item { flex-basis: 84%; } .home .start-item:nth-child(2) { left: 10px; } .home .start-item:nth-child(3) { left: 20px; } .home .start-item:nth-child(4) { left: 30px; } }
.home .start-item .si-text { padding-left: 48px; }
.home .start-item { flex-basis: clamp(300px, 56%, 720px) !important; }
.home .start-item .si-art { aspect-ratio: 16 / 10; }
@media (max-width: 760px) { .home .start-item { flex-basis: 86% !important; } .home .start-item .si-text { padding-left: 34px; } .home .start-item .si-art { aspect-ratio: 4 / 5; } }

/* ================= Lectura por capas (prototipo) ================= */
/* Cifras grandes del deporte */
.cifras { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--gut); margin: 8px 0 56px; border-top: var(--rule); }
.cifras > div { padding-top: 16px; }
.cifras b { display: block; font-family: var(--display); font-weight: 800; font-size: clamp(64px, 8vw, 120px); line-height: .82; color: var(--blue); letter-spacing: -.01em; font-variant-numeric: tabular-nums; }
.cifras span { display: block; margin-top: 12px; font-size: 13.5px; line-height: 1.4; color: var(--ink2); max-width: 26ch; }
@media (max-width: 600px) { .cifras { grid-template-columns: 1fr; gap: 0; } .cifras > div { display: grid; grid-template-columns: 110px minmax(0, 1fr); align-items: baseline; gap: 14px; padding: 14px 0; border-bottom: var(--hair); } .cifras b { font-size: 64px; } .cifras span { margin-top: 0; } }

/* Pestañas: barra fija bajo la cabecera, una sección a la vez */
.tabs { position: sticky; top: 58px; z-index: 5; display: flex; gap: 0; overflow-x: auto; scrollbar-width: none; margin: 0 0 40px; background: rgba(236, 238, 242, .92); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); border-top: var(--rule); border-bottom: var(--hair); }
.tabs::-webkit-scrollbar { display: none; }
.tab { flex: 0 0 auto; display: flex; align-items: baseline; gap: 8px; padding: 16px 20px 14px 0; margin-right: 22px; background: none; border: 0; border-bottom: 3px solid transparent; font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: clamp(17px, 1.6vw, 21px); color: var(--muted); cursor: pointer; }
.tab-n { font-family: var(--monoui); font-weight: 400; font-size: 10px; letter-spacing: .1em; color: var(--blue-text); }
.tab[aria-selected="true"] { color: var(--ink); border-bottom-color: var(--blue); }
.tab:hover { color: var(--ink); }
.tab-panel > h2:first-child { margin-top: 0 !important; }
.tab-panel { opacity: 0; transform: translateY(14px); transition: opacity .45s ease, transform .45s ease; }
.tab-panel.in { opacity: 1; transform: none; }
.tab-next { display: inline-flex; gap: 6px; margin-top: 48px; padding: 14px 0; background: none; border: 0; border-top: var(--rule); font-family: var(--monoui); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); cursor: pointer; }
.tab-next b { color: var(--blue-text); font-weight: 400; }
.proto-tabs .bh .article h2, .proto-tabs .tab-panel > h2 { padding-right: 0 !important; }
@media (max-width: 760px) { .tabs { top: 52px; margin-left: calc(var(--side) * -1); margin-right: calc(var(--side) * -1); padding-left: var(--side); } }

/* Capítulos plegados */
.cap-tools { display: flex; justify-content: space-between; align-items: baseline; margin: 72px 0 0 !important; padding-bottom: 12px; }
.cap-all { background: none; border: 0; border-bottom: 1px solid var(--ink); padding: 2px 0; font-family: var(--monoui); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); cursor: pointer; }
.cap { border-top: var(--rule); }
.cap:last-of-type { border-bottom: var(--rule); }
.cap > summary { list-style: none; display: grid; grid-template-columns: clamp(56px, 7vw, 110px) minmax(0, 1fr) 40px; gap: var(--gut); align-items: start; padding: 26px 0; cursor: pointer; }
.cap > summary::-webkit-details-marker { display: none; }
.cap-n { font-family: var(--display); font-weight: 800; font-size: clamp(40px, 4.4vw, 68px); line-height: .8; color: var(--blue); }
.bh .article .cap h2 { margin: 0 !important; padding: 0 !important; border: 0 !important; font-size: clamp(22px, 2.4vw, 34px) !important; line-height: 1.02 !important; max-width: 24ch; }
.bh .article .cap h2::before { content: none !important; }
.cap-teaser { display: block; margin-top: 10px; font-size: 15px; line-height: 1.45; color: var(--muted); max-width: 56ch; }
.cap[open] .cap-teaser { display: none; }
.cap-x { position: relative; width: 40px; height: 40px; border: 1px solid var(--ink); }
.cap-x::before, .cap-x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 1.5px; background: var(--ink); transform: translate(-50%, -50%); transition: transform .3s ease; }
.cap-x::after { transform: translate(-50%, -50%) rotate(90deg); }
.cap[open] .cap-x { background: var(--ink); }
.cap[open] .cap-x::before, .cap[open] .cap-x::after { background: #fff; }
.cap[open] .cap-x::after { transform: translate(-50%, -50%) rotate(0deg); }
.cap > summary:hover .cap-x { background: var(--blue); border-color: var(--blue); }
.cap > summary:hover .cap-x::before, .cap > summary:hover .cap-x::after { background: #fff; }
.cap-body { padding: 0 0 48px calc(clamp(56px, 7vw, 110px) + var(--gut)); animation: capIn .45s ease; }
@keyframes capIn { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@media (max-width: 760px) { .cap > summary { grid-template-columns: 44px minmax(0, 1fr) 34px; } .cap-x { width: 34px; height: 34px; } .cap-body { padding-left: 0; } .cap-n { font-size: 36px; } }

/* Entradas al hacer scroll */
.rv { opacity: 0; transform: translateY(24px); transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1); }
.rv.in { opacity: 1; transform: none; }
.bh .article .tab-panel > h2 { border-top: 0 !important; padding-top: 0 !important; }
.bh .article .tab-panel > h2::before { content: none !important; }
.tabs { top: 64px !important; }
.cap-all { white-space: nowrap; }
@media (max-width: 600px) { .cap-tools .lh-label { font-size: 10px !important; } .cifras > div { align-items: start; } .cifras span { padding-top: 6px; } }

/* ---------- Sin sombras: fotos, láminas, mapas y bloques ---------- */
img, figure, .lh-portrait, .profile-photo img, .start-item, .si-art, .mapart, .clinic-map, .lab, .shoe, .plan, .cta-strip, .zcard, .pmap, .footmap,
.tabs, .search-results, .sports-panel, .search-panel, .btn, .btn:hover, .hdr-cta:hover, .m-book:hover, .f-cta:hover { box-shadow: none !important; }
#fm-c, .pmap img, .si-art img, .lh-portrait img { filter: none !important; }
.home .start-item { box-shadow: none !important; border-left: 1px solid var(--line) !important; }
.home .start-item:nth-child(1) { border-left: 0 !important; }
/* Foto de Sobre mí con esquinas rectas */
.banner-profile .profile-photo img, .profile-photo, .lh-portrait, .lh-portrait img { border-radius: 0 !important; }
.tab-c { font-family: var(--monoui); font-weight: 400; font-size: 10px; letter-spacing: .06em; color: var(--muted); margin-left: 2px; }

/* ================= Portada «Summertime» con playa técnica ================= */
.home .hero2 { background: #f4f5f8 !important; color: var(--ink) !important; border: 0 !important; isolation: auto; }
.home .hero2::after, .home .hero2::before { content: none !important; }
.hero2 .h2-top { padding-top: clamp(24px, 3vw, 40px); }
.hero2 h1 { font-size: clamp(52px, 10.4vw, 168px) !important; line-height: .84 !important; letter-spacing: -.005em !important; color: var(--ink) !important; text-shadow: none !important; margin: 0 !important; max-width: none !important; }
.hero2 h1 em { -webkit-text-stroke: 2px var(--ink) !important; color: transparent !important; font-style: normal; }
.hero2 .lh-kicker { display: block; font-size: 10.5px !important; color: var(--muted) !important; margin-bottom: 18px; letter-spacing: .1em; }
.h2-row { display: flex; justify-content: space-between; gap: 16px; margin-top: 22px; padding-bottom: 14px; border-bottom: var(--hair); font-family: var(--monoui); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: var(--ink); }
.h2-stage { position: relative; height: clamp(520px, 76vh, 760px); margin: 0; overflow: hidden;
  background: linear-gradient(rgba(36, 67, 255, .08) 1px, transparent 1px) 0 0 / 100% 48px, linear-gradient(90deg, rgba(36, 67, 255, .08) 1px, transparent 1px) 0 0 / 48px 100%, #ffffff; border-bottom: 1px solid var(--ink); }
.h2-stage canvas { position: absolute; inset: 0; width: 100%; height: 100%; display: block; mix-blend-mode: normal !important; opacity: 1 !important; }
.pill { display: inline-block; padding: 5px 12px; border: 1px solid currentColor; border-radius: 999px; font-family: var(--monoui); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; }
.h2-copy { position: absolute; left: 50%; bottom: 40px; transform: translateX(-50%); width: min(560px, calc(100% - 32px)); text-align: center; display: flex; flex-direction: column; align-items: center; gap: 14px; color: var(--ink); z-index: 2; }
.h2-copy .lh-copy { color: var(--ink) !important; text-shadow: none !important; background: rgba(255, 255, 255, .8); padding: 4px 8px; font-size: 15.5px !important; }
.hero2 .h2-copy .btn:not(.btn-ghost) { background: var(--blue) !important; color: #fff !important; }
.hero2 .h2-copy .btn-ghost { background: #fff !important; color: var(--ink) !important; box-shadow: inset 0 0 0 1px var(--ink) !important; }
.hud { position: absolute; z-index: 2; background: rgba(255, 255, 255, .9); border: 1px solid var(--blue); color: var(--blue-text); font-family: var(--monoui); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
.hud-h { margin: 0 !important; padding: 3px 8px; background: var(--blue); color: #fff; font-size: 9.5px; }
.hud-r { right: max(var(--side), 16px); top: 28px; width: 240px; }
.hud-r .lh-corners { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 10px !important; padding: 12px; color: var(--blue-text) !important; font-size: 10px !important; }
.hud-r .lh-corners span { text-align: left !important; color: var(--blue-text) !important; }
.hud-r .lh-corners .tm { font-size: 20px !important; color: var(--ink) !important; }
.hud-bars { display: flex; gap: 3px; align-items: flex-end; height: 34px; padding: 0 12px 12px; }
.hud-bars i { flex: 1; background: var(--blue); animation: barra 1.4s ease-in-out infinite alternate; }
.hud-bars i:nth-child(1) { height: 40%; animation-delay: -.1s } .hud-bars i:nth-child(2) { height: 70%; animation-delay: -.5s } .hud-bars i:nth-child(3) { height: 55%; animation-delay: -.9s } .hud-bars i:nth-child(4) { height: 90%; animation-delay: -.3s }
.hud-bars i:nth-child(5) { height: 35%; animation-delay: -.7s } .hud-bars i:nth-child(6) { height: 80%; animation-delay: -1.1s } .hud-bars i:nth-child(7) { height: 60%; animation-delay: -.2s } .hud-bars i:nth-child(8) { height: 45%; animation-delay: -.6s }
@keyframes barra { from { transform: scaleY(.45); transform-origin: bottom; } to { transform: scaleY(1); transform-origin: bottom; } }
.hud-l { left: max(var(--side), 16px); top: 28px; width: 170px; }
.hud-t { margin: 0 !important; padding: 10px 8px; line-height: 1.5; }
@media (prefers-reduced-motion: reduce) { .hud-bars i, .tk-track { animation: none !important; } }
@media (max-width: 760px) {
  .h2-stage { height: 620px; }
  .hud-l { display: none; }
  .hud-r { top: 16px; right: 16px; width: 190px; }
  .hud-r .lh-corners span:nth-child(n+3) { display: none; }
  .h2-copy { bottom: 24px; }
  .h2-row span:last-child { display: none; }
}

/* Cinta en movimiento */
.ticker2 { overflow: hidden; background: var(--ink); color: #fff; border-bottom: 1px solid var(--ink); }
.tk-track { display: flex; align-items: center; gap: 22px; width: max-content; padding: 14px 0; animation: cinta 34s linear infinite; font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: clamp(18px, 1.8vw, 24px); white-space: nowrap; }
.tk-track i { font-style: normal; color: var(--blue); color: #8fa2ff; }
@keyframes cinta { to { transform: translateX(-50%); } }

/* Bloque partido en tres: titular, imagen y lista de apartados */
.split3 { background: #f4f5f8; border-bottom: var(--hair); }
.s3-grid { display: grid; grid-template-columns: 4fr 4fr 4fr; gap: var(--gut); padding-block: clamp(48px, 6vw, 88px); align-items: stretch; }
.s3-a { display: flex; flex-direction: column; align-items: flex-start; gap: 22px; }
.s3-a h2 { font-size: clamp(30px, 3.2vw, 46px) !important; line-height: .98 !important; margin: 0 !important; color: var(--ink) !important; }
.s3-foot { margin-top: auto !important; font-size: 13.5px; color: var(--muted); max-width: 34ch; }
.s3-foot b { display: block; color: var(--ink); font-weight: 600; }
.s3-img { margin: 0; background: #0a1030; display: flex; flex-direction: column; justify-content: center; align-items: center; min-height: 380px; padding: 28px; }
.s3-img img { width: 100%; height: auto; max-width: 340px; }
.s3-img figcaption { align-self: flex-start; margin-top: 18px; font-family: var(--monoui); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: #a9b4d8; }
.s3-list { display: flex; flex-direction: column; justify-content: flex-end; }
.s3-h { font-family: var(--display); font-weight: 800; text-transform: uppercase; font-size: 20px; margin: 0 0 10px !important; padding-bottom: 10px; border-bottom: var(--rule); color: var(--ink); }
.s3-list a { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 0; border-bottom: var(--hair); color: var(--ink) !important; text-decoration: none !important; transition: padding .25s; }
.s3-list a span { font-size: 17px; font-weight: 500; }
.s3-list a small { font-family: var(--monoui); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; color: var(--muted); }
.s3-list a:hover { padding-left: 8px; color: var(--blue-text) !important; }
@media (max-width: 900px) { .s3-grid { grid-template-columns: 1fr; } .s3-img { min-height: 300px; } .s3-foot { margin-top: 0 !important; } }

/* Franja oscura: el manifiesto en azul noche */
.manifiesto { background: #0a1030 !important; }
.mf-meta, .mf-text { color: #fff !important; }
.mf-meta { color: #a9b4d8 !important; }
@media (max-width: 760px) { .h2-stage #runner { opacity: .55 !important; } }

/* ================= Portada: composición anterior, sobre blanco con grano azulado ================= */
.home .lh-hero.hero-grano { color: var(--ink) !important; border: 0 !important;
  background:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='240' height='240'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 .14 0 0 0 0 .26 0 0 0 0 1 0 0 0 -.55 .3'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23g)'/%3E%3C/svg%3E") 0 0 / 240px 240px,
    linear-gradient(rgba(36, 67, 255, .06) 1px, transparent 1px) 0 0 / 100% 48px,
    linear-gradient(90deg, rgba(36, 67, 255, .06) 1px, transparent 1px) 0 0 / 48px 100%,
    #ffffff !important; }
.home .lh-hero.hero-grano::after { content: none !important; }
.home .hero-grano canvas { mix-blend-mode: normal !important; opacity: 1 !important; }
.home .hero-grano h1 { color: var(--ink) !important; text-shadow: none !important; }
.home .hero-grano h1 em { -webkit-text-stroke: 1.5px var(--ink) !important; color: transparent !important; }
.home .hero-grano :is(.lh-kicker, .lh-copy, .lh-corners, .lh-corners span) { color: var(--ink) !important; text-shadow: none !important; }
.home .hero-grano .lh-kicker { color: var(--blue-text) !important; }
.home .hero-grano .lh-copy { background: rgba(255, 255, 255, .7); }
.home .hero-grano .btn:not(.btn-ghost) { background: var(--blue) !important; color: #fff !important; }
.home .hero-grano .btn:not(.btn-ghost):hover { background: var(--ink) !important; }
.home .hero-grano .btn-ghost { background: #fff !important; color: var(--ink) !important; box-shadow: inset 0 0 0 1px var(--ink) !important; }
.home .hero-grano .btn-ghost:hover { background: var(--ink) !important; color: #fff !important; }
.home .hero-grano { border-bottom: 1px solid var(--ink) !important; }
@media (max-width: 899px) { .home .hero-grano canvas { opacity: .5 !important; } }
.home .hero-grano .lh-copy { background: none !important; }

/* Cinta: un icono de cada deporte en lugar del asterisco */
.tk-track { gap: 40px !important; }
.tk-track span { display: inline-flex; align-items: center; gap: 14px; }
.tk-track svg { height: 1.15em; width: auto; fill: none; stroke: #8fa2ff; stroke-width: 1.8; stroke-linejoin: round; stroke-linecap: round; }
.tk-track svg .f { fill: #ff5a1f; stroke: none; }

/* ================= Ruta: perfil de montaña con un titular en cada pico ================= */
.ruta { --c: var(--blue); --ct: var(--blue-text); background: #e9ecf2; margin: 0 0 48px; padding: 16px 20px 20px; color: var(--ct); overflow-x: auto; scrollbar-width: none; }
.ruta::-webkit-scrollbar { display: none; }
.ruta-naranja { --c: #ff5a1f; --ct: #d9480f; }
.ruta-coords { display: flex; justify-content: space-between; gap: 16px; font-family: var(--monoui); font-size: 9.5px; letter-spacing: .08em; text-transform: uppercase; min-width: 620px; }
.ruta-wrap { position: relative; height: clamp(230px, 24vw, 300px); min-width: 620px; margin-top: 8px; }
.ruta-wrap svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.ruta-linea { fill: none; stroke: var(--c); stroke-width: 2.6; vector-effect: non-scaling-stroke; stroke-linejoin: round; stroke-dasharray: 3000; stroke-dashoffset: 3000; animation: trazo 2.2s ease forwards; }
@keyframes trazo { to { stroke-dashoffset: 0; } }
.ruta-sq { fill: var(--c); }
.ruta-sq2 { opacity: .9; }
.ruta-pico { position: absolute; transform: translate(-50%, calc(-100% - 14px)); display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; background: none; border: 0; padding: 4px 6px; cursor: pointer; color: var(--ct) !important; text-decoration: none !important; max-width: 18ch; }
.rp-n { font-family: var(--monoui); font-size: 9.5px; letter-spacing: .1em; }
.rp-t { font-family: var(--body); font-weight: 500; text-transform: uppercase; font-size: clamp(14px, 1.45vw, 19px); line-height: 1; letter-spacing: -.01em; }
.rp-s { font-family: var(--monoui); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; opacity: .8; }
.ruta-pico::after { content: ""; position: absolute; left: 50%; bottom: -14px; width: 1px; height: 12px; background: var(--c); }
.ruta-pico:hover .rp-t, .ruta-pico.on .rp-t { background: var(--c); color: #fff; padding: 2px 4px; }
.ruta-pico:focus-visible { outline: 2px solid var(--c); outline-offset: 2px; }
.tabs-min { display: none !important; }
.defs-ruta > div[hidden] { display: none !important; }
.bh .defs-ruta > div { border-top: 3px solid #ff5a1f !important; }
@media (prefers-reduced-motion: reduce) { .ruta-linea { animation: none; stroke-dashoffset: 0; } }
.ruta-wrap, .ruta-coords { min-width: max(100%, calc(var(--n, 5) * 128px)); }
.ruta-coords { min-width: 0; }
.ruta-wrap { margin-inline: 8px; }
.ruta-pico { max-width: calc(100% / var(--n) - 6px); width: max-content; }
.rp-t { font-size: clamp(13px, 1.25vw, 17px); overflow-wrap: normal; }
@media (max-width: 760px) { .ruta-coords span:last-child::after { content: " →"; } }

/* Ruta como el cartel «Trail guide»: línea quebrada sin redondeos, titulares en bandas arriba y abajo */
.ruta { background: #e6eaf2 !important; padding: 14px 18px 18px !important; }
.ruta-coords { font-family: var(--body) !important; font-size: 9.5px !important; letter-spacing: .02em !important; text-transform: none !important; }
.ruta-wrap { height: clamp(250px, 26vw, 320px) !important; }
.ruta-linea { stroke-width: 2.4 !important; stroke-linejoin: miter !important; stroke-linecap: butt !important; }
.ruta-pico { top: auto !important; bottom: auto !important; transform: translateX(-50%) !important; align-items: flex-start !important; text-align: left !important; padding: 0 !important; }
.ruta-pico.rp-arriba { top: 0 !important; }
.ruta-pico.rp-abajo { bottom: 0 !important; }
.ruta-pico.rp-ini { transform: translateX(-30%) !important; }
.ruta-pico.rp-fin { transform: translateX(-70%) !important; align-items: flex-end !important; text-align: right !important; }
.ruta-pico::after { content: none !important; }
.rp-t { font-family: "Helvetica Neue", Arial, var(--body) !important; font-weight: 400 !important; text-transform: uppercase; font-size: clamp(17px, 2vw, 27px) !important; line-height: .98 !important; letter-spacing: -.015em !important; }
.rp-s { font-family: "Helvetica Neue", Arial, var(--body) !important; font-size: clamp(12px, 1.1vw, 15px) !important; text-transform: uppercase; letter-spacing: -.005em !important; opacity: 1 !important; margin-top: 2px; }
.ruta-pico:hover .rp-t, .ruta-pico.on .rp-t { background: none !important; color: inherit !important; padding: 0 !important; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 4px; }
.ruta-pico.on::before { content: ""; position: absolute; left: -12px; top: .25em; width: 7px; height: 7px; background: var(--c); }
.rp-fin.on::before { left: auto; right: -12px; }
.ruta-pico { max-width: calc(100% / var(--n) + 30px) !important; }
.ruta-wrap { height: clamp(220px, 21vw, 260px) !important; }

/* Índices limpios: solo cabecera y ruta */
.pg-zonas main > .wrap { padding-block: clamp(24px, 4vw, 56px) clamp(80px, 10vw, 140px); border-top: var(--rule); }
.pg-zonas .ruta, .solo-ruta .ruta { margin-bottom: 0; }
.solo-ruta .main-grid { padding-bottom: clamp(80px, 10vw, 140px) !important; }
.solo-ruta .main-grid > .ruta { grid-column: 1 / -1 !important; }
.pg-zona .series-list { margin-top: 8px !important; }
.series-item.is-soon > div { display: grid !important; grid-template-columns: 1fr 6fr 4fr 2fr; gap: var(--gut); padding: 22px 0; align-items: baseline; }
.series-item.is-soon > div > div { display: contents; }
.series-item.is-soon h3 { grid-column: 2; }
.series-item.is-soon p { grid-column: 3; }
@media (max-width: 760px) { .series-item.is-soon > div { grid-template-columns: 34px minmax(0, 1fr); } .series-item.is-soon :is(h3, p, .series-meta) { grid-column: 2; } }

/* ================= Calzado: estilo propio de revista, con serifa ================= */
.calzado-ed { --serif: "Instrument Serif", "Times New Roman", serif; }
.calzado-ed::before { background: #ebe8e1 !important; filter: none !important; }
.calzado-ed header.banner h1 { font-family: var(--serif) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: -.02em !important; font-size: clamp(64px, 11vw, 168px) !important; line-height: .9 !important; }
.calzado-ed .banner-row .lh-label, .calzado-ed .banner-lede { font-family: var(--serif) !important; font-size: 19px !important; letter-spacing: 0 !important; text-transform: none !important; }
.calzado-ed .poster-meta { font-family: var(--serif); text-transform: uppercase; }
.ce { padding-block: 8px 96px; border-top: 1px solid #1a1a1a; }
.ce-bar { display: grid; grid-template-columns: 1fr auto 1fr; gap: 16px; padding: 14px 0; font-family: var(--serif); font-size: 16px; color: #1a1a1a; }
.ce-bar span:last-child { text-align: right; }
.ce-line { max-width: 22ch; margin: clamp(48px, 7vw, 96px) auto clamp(56px, 8vw, 112px); text-align: center; font-family: var(--serif); font-size: clamp(30px, 4.2vw, 58px); line-height: 1.12; color: #1a1a1a; text-wrap: balance; }
.ce-line a { color: #1a1a1a !important; text-decoration: none !important; background-image: linear-gradient(currentColor, currentColor); background-size: 0 1px; background-repeat: no-repeat; background-position: 0 92%; transition: background-size .3s; }
.ce-line a:hover { background-size: 100% 1px; color: var(--blue-text) !important; }
.ce-line span { color: #8a857a; }
.ce-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 48px var(--gut); }
.ce-card { display: flex; flex-direction: column; gap: 8px; color: #1a1a1a !important; text-decoration: none !important; font-family: var(--serif); }
.ce-top, .ce-t { font-size: 14px; letter-spacing: .04em; text-transform: uppercase; }
.ce-img { display: grid; place-items: center; aspect-ratio: 4 / 5; padding: 14%; transition: transform .4s ease; }
.ce-img svg { width: 100%; height: auto; }
.ce-card:hover .ce-img { transform: translateY(-4px); }
.ce-t { margin-top: 6px; }
.ce-s { font-size: 14px; color: #8a857a; }
.ce-foot { margin: 72px 0 0 !important; font-family: var(--serif); font-size: 18px; text-transform: uppercase; letter-spacing: .02em; }
@media (max-width: 900px) { .ce-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .ce-bar { grid-template-columns: 1fr 1fr; } .ce-bar span:nth-child(2) { display: none; } .ce-grid { gap: 32px 14px; } .ce-line { font-size: 30px; } }
html:has(body.calzado-ed), body.calzado-ed { background: #ebe8e1 !important; }
body.calzado-ed::before { content: none !important; }
.ce-line { max-width: 28ch; }
.ce-line a { white-space: nowrap; }

/* ================= Lesiones: carpetas de colores que se despliegan ================= */
.carpetas { --serif: "Instrument Serif", "Times New Roman", serif; margin: clamp(16px, 3vw, 40px) 0 clamp(80px, 10vw, 140px); }
.carpeta { background: var(--c); color: #fff; }
.carpeta > summary { list-style: none; display: flex; align-items: flex-end; gap: 18px; background: var(--prev); cursor: pointer; padding: 0; }
.carpeta:first-child > summary { background: transparent; }
.carpeta > summary::-webkit-details-marker { display: none; }
.cp-tab { display: inline-block; min-width: clamp(200px, 26vw, 340px); padding: 14px 40px 10px; text-align: center; background: var(--c); color: #fff; font-family: var(--serif); font-size: clamp(24px, 2.6vw, 34px); line-height: 1; clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% 100%, 0 100%); border-radius: 0; transition: padding .3s ease; }
.carpeta > summary:hover .cp-tab { padding-top: 20px; }
.cp-n { margin-left: auto; padding: 0 18px 12px; font-family: var(--monoui); font-size: 10px; letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 255, 255, .85); }
.carpeta:first-child .cp-n { color: var(--ink); }
.carpeta[open] .cp-n { color: rgba(255, 255, 255, .85); }
.carpeta > summary + .cp-body { padding: 26px clamp(18px, 3vw, 40px) 34px; }
.carpeta:not([open]) { padding-bottom: 14px; }
.cp-desc { margin: 0 0 22px !important; font-family: var(--serif); font-size: clamp(20px, 2vw, 26px); line-height: 1.2; color: #fff !important; max-width: 40ch; }
.cp-items { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; }
.cp-item { display: flex; flex-direction: column; gap: 4px; padding: 16px 18px; background: rgba(255, 255, 255, .14); color: #fff !important; text-decoration: none !important; clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% 100%, 0 100%, 0 10px); transition: background .2s; }
.cp-item b { font-family: var(--serif); font-weight: 400; font-size: 22px; line-height: 1.05; }
.cp-item span { font-size: 13.5px; line-height: 1.35; opacity: .85; }
.cp-item:hover { background: rgba(255, 255, 255, .26); }
.cp-all { display: inline-block; margin-top: 24px; font-family: var(--monoui); font-size: 11px; letter-spacing: .1em; text-transform: uppercase; color: #fff !important; border-bottom: 1px solid currentColor; text-decoration: none !important; }
.cp-end { height: 0; }
.carpeta[open] .cp-body { animation: capIn .45s ease; }
@media (max-width: 600px) { .cp-tab { min-width: 62%; padding-inline: 26px; } .cp-items { grid-template-columns: 1fr; } }
.carpeta:first-child > summary { background: var(--bg) !important; }
.carpeta:first-child > summary .cp-n { color: var(--ink) !important; }
.carpeta .cp-item b, .carpeta .cp-item span { color: #fff !important; }
.carpeta:first-child[open] { margin-top: 0; }

/* ================= Tipografía de toda la web: la de Calzado =================
   Titulares y etiquetas en Instrument Serif (sin negrita, sin mayúsculas forzadas en titulares);
   el texto largo de lectura sigue en Barlow para que se lea cómodo. */
:root {
  --serif: "Instrument Serif", "Times New Roman", serif !important;
  --display: "Instrument Serif", "Times New Roman", serif !important;
  --monoui: "Instrument Serif", "Times New Roman", serif !important;
  --font-display: var(--display) !important; --mono: var(--monoui) !important;
}
:root body:not(#_) :is(h1, h2, h3, h4, .banner h1, .lh-hero h1, .series-item h3, .zone-title, .si-text h3, .s3-a h2, .clinic h2, .clinic h3, .plan h3, .lh-clinic h3, .zcard h3, .hub-link b, .cta-strip b, .pager a, .sports-list b) {
  font-family: var(--display) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: -.012em !important;
}
:root body:not(#_) :is(.cifras b, .cap-n, .tab, .m-grp, .f-groups a, .tk-track, .mf-text, .mf-meta, .lh-facts strong, .plan-price b, .footer-cols .f-name, .figure-title, .when b, .defs dt, .step b, .home .sec-head h2::before, .bh .article h2::before, .ruta .rp-t, .cp-tab, .cp-item b) {
  font-family: var(--display) !important; font-weight: 400 !important;
}
:root body:not(#_) :is(.tab, .m-grp, .f-groups a, .mf-text, .mf-meta, .footer-cols .f-name, .figure-title, .when b, .defs dt, .step b, .ruta .rp-t) { text-transform: none !important; letter-spacing: -.01em !important; }
:root body:not(#_) .tk-track { text-transform: none !important; font-size: clamp(22px, 2.2vw, 30px) !important; }
:root body:not(#_) .hero-grano h1, :root body:not(#_) .hero2 h1 { line-height: .92 !important; }
:root body:not(#_) .lh-hero h1 em { -webkit-text-stroke: 0 !important; color: var(--blue) !important; font-style: italic !important; }
/* Etiquetas pequeñas: serifa en mayúsculas con poco espaciado, como las de Calzado */
:root body:not(#_) :is(.eyebrow, .label, .lh-label, .crumbs, .crumbs a, .article-meta, .series-meta, .series-num, .nav a, .btn, .hdr-cta, .m-book, .f-cta, .chip, .zone-nav a, .lh-kicker, .lh-corners, .poster-meta, .tab-n, .cap-tools .lh-label, .cap-all, .tab-next, .rp-s, .ruta-coords, .cp-n, .cp-all, .readout, .hud, .pill, .ad-label, .footer-legal, .footer-legal a, .shoe-cat, .clinic-sub, .search-btn span, .to-top, .fig-cap, .s3-list small) {
  font-family: var(--serif) !important; letter-spacing: .03em !important; font-weight: 400 !important;
}
:root body:not(#_) :is(.nav a, .btn, .hdr-cta, .m-book, .f-cta, .lh-label, .crumbs, .crumbs a, .series-meta, .cap-all, .tab-next, .cp-all, .footer-legal a) { font-size: 13px !important; }
.brand-name { font-family: var(--serif) !important; font-weight: 400 !important; letter-spacing: .02em !important; font-size: 19px !important; }
.brand-name small { font-family: var(--serif) !important; font-size: 11px !important; letter-spacing: .04em !important; }
.answer, .banner-lede, .cp-desc, .h2-copy .lh-copy { font-family: var(--serif) !important; }
.banner-lede { font-size: 20px !important; line-height: 1.3 !important; }
.bh .answer { font-size: clamp(26px, 2.8vw, 38px) !important; line-height: 1.15 !important; font-weight: 400 !important; }
@media (max-width: 600px) { .brand-name { font-size: 16px !important; } .brand-name small { font-size: 9.5px !important; } }

/* ================= Carpetas: más altas en móvil, más rectangulares en ordenador ================= */
.carpeta:not([open]) { padding-bottom: 52px !important; }
.carpeta > summary { min-height: 58px; }
.cp-tab { min-width: clamp(220px, 30vw, 380px) !important; }
@media (max-width: 600px) {
  .carpeta:not([open]) { padding-bottom: 96px !important; }
  .cp-tab { min-width: 70% !important; padding-block: 18px 14px !important; }
  .carpeta > summary { flex-wrap: wrap; }
}

/* ================= Categorías sin degradados ================= */
body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas)::before { background: #eef0f4 !important; filter: none !important; }
body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas) header.banner::before, body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas) header.banner::after { content: none !important; }
body.pg-running.pg-hub header.banner { background: transparent !important; }
body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas) :is(header.banner h1, .banner-lede, .crumbs, .crumbs a, .poster-meta) { color: var(--ink) !important; }

/* ================= Artículos de lesiones y deportes como un folio ================= */
body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .main-grid > .article {
  --c: #ff5a1f; position: relative; background: #fbfaf6 !important; border: 1px solid #d9d6cc;
  padding: clamp(28px, 4vw, 56px) clamp(20px, 4vw, 56px) clamp(40px, 5vw, 64px) clamp(52px, 6vw, 88px) !important;
}
body.pg-deporte .main-grid > .article { --c: #2443ff; }
/* Taladros del margen y franja de color, como una hoja de archivador */
body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .main-grid > .article::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: clamp(34px, 3.4vw, 48px); pointer-events: none;
  background: radial-gradient(circle, #eef0f4 0 5px, var(--c) 5.5px 6.5px, transparent 7px) 50% 22px / 100% 52px repeat-y,
              linear-gradient(90deg, transparent calc(100% - 2px), var(--c) calc(100% - 2px));
}
/* Una segunda hoja de color asoma detrás, ligeramente girada */
body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .main-grid > .article::after {
  content: ""; position: absolute; inset: 0; z-index: -1; background: var(--c); transform: rotate(-1.2deg) translate(-10px, 12px); pointer-events: none;
}
/* Cabecera del folio: ficha con casillas */
body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .article-meta { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #1a1a1a !important; margin-bottom: 40px !important; }
body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .article-meta > span { padding: 8px 10px; border-left: 1px solid #1a1a1a; font-size: 12px !important; line-height: 1.3; }
body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .article-meta > span:first-child { border-left: 0; }
body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .article :is(.ruta, .tabs) { margin-left: 0; margin-right: 0; }
@media (max-width: 760px) {
  body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .article-meta { grid-template-columns: 1fr 1fr; }
  body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .article-meta > span:nth-child(3) { border-left: 0; }
  body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .article-meta > span:nth-child(n+3) { border-top: 1px solid #1a1a1a; }
  body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .main-grid > .article::after { transform: rotate(-1deg) translate(-4px, 8px); }
  body:is(.pg-lesion, .pg-deporte):not(.pg-zona) .tabs { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; }
}

/* ================= Sin degradados en toda la web: colores lisos ================= */
body::before { background: #eef0f4 !important; filter: none !important; }
header.banner, header.banner::before, header.banner::after { background-image: none !important; }
header.banner::before, header.banner::after { content: none !important; }
body:not(.home) header.banner { background: transparent !important; }
.pg-deporte header.banner, .pg-running:not(.pg-hub) header.banner { background: #2443ff !important; }
.pg-running:not(.pg-hub) header.banner { background: #0a1030 !important; }
.home .lh-sec, .home #metodo, .home #articulos, .home #por-que, .home #sobre, .home #encontrarme, .home .analysis, .lab, .cta-strip, .site-footer, .lh-online, .hub-link a, .hub-link a:hover, .plan-main, .footmap, .pmap, .si-art, .s3-img, .mapart, .ruta, .tabs { background-image: none !important; }
.home #metodo { background-color: #2443ff !important; }
.home #por-que { background-color: #0a1030 !important; }
.lab { background-color: #dfe6ff !important; }
.cta-strip { background-color: #2443ff !important; }
.site-footer { background-color: #070b1c !important; }
.footmap, .pmap { background-color: #ffffff !important; }
.home #metodo::before, .home #articulos::before, .home #sobre::before, .lab::before, .lab::after { content: none !important; }
.home .start-item .si-art { background: #e6eaf6 !important; }
.home .si-sport .si-art { background: #2443ff !important; }
.home .si-shoe .si-art { background: #f2f3f6 !important; }
.home .si-visit .si-art { background: #0a1030 !important; }
.site-header::after { background: #2443ff !important; }
.home #metodo::before, .home #sobre::before, .home #articulos::before { background: none !important; }
:not(section)#por-que { background: none !important; color: var(--ink) !important; isolation: auto !important; }
:not(section)#por-que::before, :not(section)#por-que::after { content: none !important; }
body.pg-deporte:not(.home) header.banner { background: #2443ff !important; }
.lab .ro-tr, .lab .ro-tr strong, .lab .readout, .lab .readout strong { color: var(--ink) !important; opacity: 1 !important; }

/* ================= Por dónde empiezo: tarjetas tipográficas horizontales, sin dibujo ================= */
.home .start-item.tcard { --g: "Helvetica Neue", Helvetica, Arial, sans-serif; flex: 0 0 min(760px, 88%) !important; aspect-ratio: 16 / 10; display: grid !important; grid-template-rows: auto 1fr; gap: 0 !important;
  padding: 0 !important; background: var(--tc) !important; border: 0 !important; border-left: 0 !important; color: #111 !important; overflow: hidden; }
.home .start-item.tcard:nth-child(odd) { transform: rotate(-.8deg); } .home .start-item.tcard:nth-child(even) { transform: rotate(.7deg); }
.home .start-grid { padding: 18px 4px 22px !important; }
.tc-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; background: #f4f0e6; padding: clamp(16px, 2.4vw, 28px) clamp(18px, 2.6vw, 32px); }
.home .tcard .tc-top h3 { margin: 0 !important; padding: 0 !important; border: 0 !important; font-family: var(--g) !important; font-weight: 500 !important; letter-spacing: -.03em !important; font-size: clamp(30px, 4.2vw, 56px) !important; line-height: .95 !important; text-transform: none !important; }
.home .tcard .tc-top h3 a { color: #111 !important; text-decoration: none !important; }
.tc-meta { font-family: var(--g) !important; font-size: clamp(12px, 1.2vw, 16px); line-height: 1.2; text-align: right; color: #111; letter-spacing: -.01em !important; }
.tc-body { display: flex; flex-direction: column; justify-content: space-between; gap: 18px; padding: clamp(16px, 2.4vw, 28px) clamp(18px, 2.6vw, 32px); }
.home .tcard .tc-big { margin: 0 !important; font-family: var(--g) !important; font-weight: 500; font-size: clamp(18px, 2.3vw, 30px) !important; line-height: 1.12 !important; letter-spacing: -.02em; color: #111 !important; max-width: 24ch; }
.tc-table { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); border: 1.5px solid #111; }
.home .tcard .tc-table a { display: block; padding: 8px 10px; border-left: 1.5px solid #111; margin-left: -1.5px; font-family: var(--g) !important; font-size: clamp(12px, 1.2vw, 15px) !important; font-weight: 500; color: #111 !important; text-decoration: none !important; background: none !important; border-radius: 0 !important; letter-spacing: -.01em !important; text-transform: none !important; }
.home .tcard .tc-table a:hover { background: #111 !important; color: var(--tc) !important; }
.home .si-visit.tcard, .home .si-visit.tcard :is(.tc-big, .tc-table a) { color: #fff !important; }
.home .si-visit.tcard .tc-table, .home .si-visit.tcard .tc-table a { border-color: #fff !important; }
.home .si-visit.tcard .tc-table a:hover { background: #fff !important; color: #0a1030 !important; }
.home .tcard .si-art, .home .tcard .si-text { display: none !important; }
@media (max-width: 760px) {
  .home .start-item.tcard { flex-basis: 90% !important; aspect-ratio: auto; min-height: 300px; }
  .tc-table { grid-template-columns: 1fr 1fr; }
  .home .tcard .tc-table a { border-top: 1.5px solid #111; margin-top: -1.5px; }
}
.home .start-item.tcard { grid-template-columns: minmax(0, 1fr) !important; grid-template-rows: auto 1fr !important; align-items: stretch !important; }
:root body.home:not(#_) .tcard .tc-top h3 { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; font-weight: 500 !important; letter-spacing: -.03em !important; text-transform: none !important; }
:root body.home:not(#_) .tcard :is(.tc-meta, .tc-big, .tc-table a) { font-family: "Helvetica Neue", Helvetica, Arial, sans-serif !important; letter-spacing: -.01em !important; }

/* ================= Tipografía de toda la web: grotesca tipo Helvetica (Inter Tight) =================
   Sustituye a la serifa. Titulares en peso medio con poco interletrado; los titulares
   principales (portada y categorías) en negrita. */
:root {
  --g: "Inter Tight", "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  --serif: var(--g) !important; --display: var(--g) !important; --monoui: var(--g) !important; --body: var(--g) !important;
  --font-display: var(--g) !important; --font-body: var(--g) !important; --ui: var(--g) !important; --mono: var(--g) !important;
}
html body, html body :is(p, li, dd, dt, td, th, input, button, select, textarea, a, span, b, strong, small, label, figcaption, summary) { font-family: var(--g) !important; }
:root body:not(#_) :is(h1, h2, h3, h4) { font-family: var(--g) !important; font-weight: 500 !important; letter-spacing: -.03em !important; text-transform: none !important; }
:root body:not(#_) :is(.cifras b, .cap-n, .tab, .m-grp, .f-groups a, .tk-track, .mf-text, .mf-meta, .lh-facts strong, .plan-price b, .footer-cols .f-name, .ruta .rp-t, .cp-tab, .cp-item b, .ce-line, .ce-t, .ce-top, .home .sec-head h2::before, .bh .article h2::before) {
  font-family: var(--g) !important; font-weight: 500 !important; letter-spacing: -.02em !important;
}
/* Etiquetas pequeñas: mayúsculas con algo de aire */
:root body:not(#_) :is(.eyebrow, .label, .lh-label, .crumbs, .crumbs a, .series-meta, .series-num, .nav a, .btn, .hdr-cta, .m-book, .f-cta, .chip, .zone-nav a, .lh-kicker, .lh-corners, .poster-meta, .tab-n, .cap-all, .tab-next, .rp-s, .cp-n, .cp-all, .ad-label, .footer-legal a, .to-top, .search-btn span) { letter-spacing: .04em !important; font-weight: 500 !important; }
.brand-name { font-weight: 700 !important; letter-spacing: -.01em !important; text-transform: none !important; }
.brand-name small { font-weight: 500 !important; letter-spacing: .02em !important; }
/* Titulares principales en negrita */
:root body:not(#_) .lh-hero h1 { font-weight: 800 !important; letter-spacing: -.045em !important; line-height: .9 !important; }
:root body:not(#_) .lh-hero h1 em { font-style: normal !important; font-weight: 800 !important; }
:root body:not(#_) :is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas, .calzado-ed) header.banner h1,
:root body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas, .calzado-ed):not(#_) header.banner h1 { font-weight: 800 !important; letter-spacing: -.045em !important; line-height: .88 !important; }
:root body:not(#_) .home .sec-head h2, :root body:not(#_) .cp-tab { font-weight: 700 !important; }
.answer, .bh .answer, .banner-lede, .cp-desc { font-weight: 500 !important; letter-spacing: -.015em !important; }

/* ================= Arreglos y titulares en mayúsculas ================= */
.calzado-ed, .carpetas { --serif: var(--g) !important; }
.banner-profile .profile-photo img, .profile-photo img, .lh-portrait img { box-shadow: none !important; }
/* Carpetas: bandas cerradas más cortas; el recuento en la misma línea que la pestaña */
.carpeta:not([open]) { padding-bottom: 30px !important; }
.carpeta > summary { flex-wrap: nowrap !important; align-items: center !important; min-height: 0 !important; }
.cp-n { padding: 0 18px !important; white-space: nowrap; }
@media (max-width: 600px) { .carpeta:not([open]) { padding-bottom: 22px !important; } .cp-tab { min-width: 58% !important; padding-block: 14px 12px !important; } }
/* Titulares importantes: mayúsculas y más negrita */
:root body:not(#_) .lh-hero h1,
:root body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas, .calzado-ed):not(#_) header.banner h1,
:root body:not(#_) .home .sec-head h2,
:root body:not(#_) .cartel .cr-list h2 { text-transform: uppercase !important; font-weight: 800 !important; letter-spacing: -.035em !important; }
:root body:not(#_) .lh-hero h1 { font-size: clamp(44px, 8vw, 128px) !important; line-height: .86 !important; }
:root body:not(#_) .home .sec-head h2 { line-height: .92 !important; }

/* ================= Tu consulta: cartel tipográfico (índice de iniciales + filas con filete) ================= */
.pg-cartel header.banner h1 { color: #1f3ad6 !important; }
.cartel { --b: #1f3ad6; color: var(--b); padding-bottom: clamp(80px, 10vw, 140px); }
.cartel-idx { display: flex; flex-direction: column; padding: 8px 0 clamp(40px, 6vw, 72px); border-top: 2px solid var(--b); }
.cartel-idx a { display: grid; grid-template-columns: 1.1em auto; gap: .35em; align-items: baseline; font-size: clamp(40px, 7vw, 104px); line-height: .98; font-weight: 500; letter-spacing: -.035em; color: #111 !important; text-decoration: none !important; }
.cartel-idx a b { font-weight: 500; }
.cartel-idx a:hover span { color: var(--b); }
.cartel-row { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--gut); padding: 18px 0 clamp(40px, 5vw, 64px); border-top: 2px solid var(--b); }
.cr-big { margin: 0 !important; font-size: clamp(64px, 9vw, 140px); line-height: .85; font-weight: 700; letter-spacing: -.05em; color: var(--b) !important; }
.cr-list h2 { margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; font-size: clamp(22px, 2.4vw, 32px) !important; line-height: 1 !important; }
.cr-list h2::before { content: none !important; }
.cr-list h2 a { color: var(--b) !important; text-decoration: none !important; }
.cr-list p { margin: 0 !important; font-size: clamp(17px, 1.7vw, 22px); line-height: 1.22; font-weight: 500; letter-spacing: -.015em; color: var(--b) !important; }
.cr-go { display: inline-block; margin-top: 16px; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; color: var(--b) !important; border-bottom: 2px solid var(--b); text-decoration: none !important; }
.cartel-foot { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: var(--gut); align-items: end; padding-top: 18px; border-top: 2px solid var(--b); }
.cr-year { margin: 0 !important; font-size: clamp(44px, 6vw, 88px); font-weight: 700; letter-spacing: -.05em; line-height: .9; color: var(--b) !important; }
.cr-table { margin: 0; border-bottom: 2px solid var(--b); }
.cr-table > div { display: grid; grid-template-columns: 9em auto; gap: 12px; padding: 4px 0; }
.cr-table dt, .cr-table dd { margin: 0; font-size: clamp(17px, 1.7vw, 22px); font-weight: 600; letter-spacing: -.015em; color: var(--b); }
@media (max-width: 700px) { .cartel-row, .cartel-foot { grid-template-columns: 1fr; gap: 14px; } .cr-table > div { grid-template-columns: 7em auto; } }
:root body.home:not(#_) .sec-head h2 { text-transform: uppercase !important; font-weight: 800 !important; letter-spacing: -.035em !important; line-height: .92 !important; }
:root body:not(#_) .lh-hero h1 { font-size: clamp(42px, 7vw, 112px) !important; }

/* Tu consulta: filas que se despliegan al tocarlas */
details.cartel-row { display: block; padding: 0; }
details.cartel-row > summary { list-style: none; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr) 44px; gap: var(--gut); align-items: center; padding: 18px 0; cursor: pointer; }
details.cartel-row > summary::-webkit-details-marker { display: none; }
details.cartel-row .cr-big { display: block; }
.cr-h { font-size: clamp(22px, 2.6vw, 36px); font-weight: 800; text-transform: uppercase; letter-spacing: -.035em; line-height: 1; color: var(--b); }
.cr-x { position: relative; width: 44px; height: 44px; border: 2px solid var(--b); }
.cr-x::before, .cr-x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 16px; height: 2px; background: var(--b); transform: translate(-50%, -50%); transition: transform .3s; }
.cr-x::after { transform: translate(-50%, -50%) rotate(90deg); }
details.cartel-row[open] .cr-x { background: var(--b); }
details.cartel-row[open] .cr-x::before, details.cartel-row[open] .cr-x::after { background: #fff; }
details.cartel-row[open] .cr-x::after { transform: translate(-50%, -50%) rotate(0); }
details.cartel-row > .cr-list { margin-left: calc((100% - 44px - var(--gut) * 2) * 5 / 11 + var(--gut)); padding: 0 0 clamp(32px, 4vw, 52px); animation: capIn .4s ease; }
.cartel > details.cartel-row:first-child { border-top: 2px solid var(--b); }
@media (max-width: 700px) {
  details.cartel-row > summary { grid-template-columns: minmax(0, 1fr) 40px; row-gap: 6px; }
  details.cartel-row .cr-big { grid-column: 1 / -1; }
  .cr-x { width: 40px; height: 40px; }
  details.cartel-row > .cr-list { margin-left: 0; }
}
html:has(body.calzado-ed), body.calzado-ed { background: #eef0f4 !important; }
.cartel-cta { display: flex; justify-content: center; margin: clamp(48px, 6vw, 80px) 0 0 !important; padding-top: clamp(40px, 5vw, 64px); border-top: 2px solid var(--b); }
.cartel-cta a { display: block; width: min(640px, 100%); padding: 22px 32px; border-radius: 999px; background: var(--b); color: #fff !important; text-align: center; text-decoration: none !important; font-size: clamp(18px, 2vw, 24px); font-weight: 800; text-transform: uppercase; letter-spacing: -.01em; transition: background .25s; }
.cartel-cta a:hover { background: #0a1030; }
.cartel-cta { margin-top: 0 !important; }

/* Sobre mí: texto y foto sin pisarse */
.banner-profile .banner-grid { display: grid !important; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(28px, 4vw, 64px); align-items: end; }
.banner-profile .banner-grid > div > .banner-lede { margin-left: 0 !important; margin-bottom: 0 !important; }
.banner-profile .profile-photo { margin: 0 !important; position: static !important; transform: none !important; }
.banner-profile .profile-photo img { width: 100%; height: auto; display: block; }
@media (max-width: 760px) { .banner-profile .banner-grid { grid-template-columns: 1fr; } .banner-profile .profile-photo { margin-top: 8px !important; } }
.cartel-cta a { width: min(448px, 100%) !important; padding: 15px 22px !important; font-size: clamp(13px, 1.4vw, 17px) !important; }

/* Casillas de las tarjetas: retícula cerrada (las líneas salen del fondo, nunca quedan huecos) */
.home .tcard .tc-table { display: grid !important; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); grid-template-columns: none !important; gap: 1.5px !important; background: #111 !important; border: 1.5px solid #111 !important; }
.home .tcard .tc-table a { border: 0 !important; margin: 0 !important; background: var(--tc) !important; }
.home .tcard .tc-table a:hover { background: #111 !important; color: var(--tc) !important; }
.home .si-visit.tcard .tc-table { background: #fff !important; border-color: #fff !important; }
.home .si-visit.tcard .tc-table a { background: #0a1030 !important; }
.home .si-visit.tcard .tc-table a:hover { background: #fff !important; color: #0a1030 !important; }
@media (max-width: 760px) {
  .home .tcard .tc-table { grid-auto-flow: row; grid-template-columns: 1fr 1fr !important; }
  .home .tcard .tc-table a:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* ================= Botones de toda la web: pastilla azul como «Dónde encontrarme» ================= */
:root body:not(#_) :is(.btn, .hdr-cta, .m-book, .f-cta, .btn-main, .cta-strip .btn, .ficha-alarm, .cap-all, .tab-next) {
  border-radius: 999px !important; background: #1f3ad6 !important; color: #fff !important; border: 0 !important; box-shadow: none !important;
  font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: -.005em !important; text-decoration: none !important;
  padding: 13px 26px !important; font-size: 13px !important; line-height: 1.1 !important; display: inline-flex; align-items: center; justify-content: center; text-align: center;
}
:root body:not(#_) :is(.btn, .hdr-cta, .m-book, .f-cta, .btn-main, .cta-strip .btn, .ficha-alarm, .cap-all, .tab-next):hover { background: #0a1030 !important; color: #fff !important; }
/* Secundarios: misma pastilla en contorno */
:root body:not(#_) :is(.btn-ghost, .cta-strip .btn + .btn) { background: transparent !important; color: #1f3ad6 !important; box-shadow: inset 0 0 0 2px #1f3ad6 !important; }
:root body:not(#_) :is(.btn-ghost, .cta-strip .btn + .btn):hover { background: #1f3ad6 !important; color: #fff !important; }
.hdr-cta { padding: 10px 18px !important; }
.tab-next b { color: #fff !important; }
/* Sobre fondos azules u oscuros: pastilla blanca */
:root body:not(#_) :is(#metodo, .site-footer, .pg-deporte header.banner, .pg-running header.banner) :is(.btn, .f-cta) { background: #fff !important; color: #1f3ad6 !important; }
:root body:not(#_) :is(#metodo, .site-footer) :is(.btn, .f-cta):hover { background: #0a1030 !important; color: #fff !important; }

/* Franja de cita de los artículos: sin caja azul, directamente sobre el fondo */
:root body:not(#_) .cta-strip { background: transparent !important; color: var(--ink) !important; border-top: 2px solid #1f3ad6 !important; border-radius: 0 !important; padding: 28px 0 0 !important; text-align: center; }
:root body:not(#_) .cta-strip > div:first-child { margin: 0 auto 22px; }
:root body:not(#_) .cta-strip b { color: #1f3ad6 !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: -.03em !important; }
:root body:not(#_) .cta-strip p { color: var(--ink2) !important; }
:root body:not(#_) .cta-strip > div:last-child { display: flex; flex-direction: column; align-items: center; gap: 12px; }
:root body:not(#_) .cta-strip .btn { width: min(448px, 100%); padding: 15px 22px !important; font-size: clamp(13px, 1.4vw, 15px) !important; }
:root body:not(#_) .cta-strip > div:last-child { flex-direction: column !important; align-items: center !important; flex-wrap: nowrap !important; }
:root body:not(#_) .cta-strip .btn ~ .btn { background: transparent !important; color: #1f3ad6 !important; box-shadow: inset 0 0 0 2px #1f3ad6 !important; }
:root body:not(#_) .cta-strip .btn ~ .btn:hover { background: #1f3ad6 !important; color: #fff !important; }
:root body:not(#_) .cta-strip { display: block !important; }
:root body:not(#_) .cta-strip > div { width: 100% !important; max-width: none !important; }
:root body:not(#_) .cta-strip > div:last-child { display: flex !important; }
:root body:not(#_) .cta-strip .btn { width: min(448px, 100%) !important; }
.to-top { border-radius: 999px !important; }

/* «En este artículo» en el móvil: índice editorial numerado, sin caja */
:root body:not(#_) .toc-mobile { background: transparent !important; border: 0 !important; border-top: 2px solid #1f3ad6 !important; border-bottom: 2px solid #1f3ad6 !important; border-radius: 0 !important; box-shadow: none !important; padding: 0 !important; margin: 40px 0 !important; }
:root body:not(#_) .toc-mobile > summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 16px 0 !important; font-size: 13px !important; font-weight: 800 !important; text-transform: uppercase; letter-spacing: .02em !important; color: #1f3ad6 !important; cursor: pointer; }
:root body:not(#_) .toc-mobile > summary::-webkit-details-marker { display: none; }
:root body:not(#_) .toc-mobile > summary::after { content: "+" !important; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 999px; background: #1f3ad6; color: #fff; font-size: 20px; font-weight: 400; line-height: 1; border: 0 !important; transform: none !important; position: static !important; }
:root body:not(#_) .toc-mobile[open] > summary::after { content: "–" !important; }
:root body:not(#_) .toc-mobile .toc { counter-reset: tm; margin: 0 !important; padding: 0 0 8px !important; list-style: none; }
:root body:not(#_) .toc-mobile .toc li { counter-increment: tm; margin: 0 !important; border: 0 !important; }
:root body:not(#_) .toc-mobile .toc a { display: grid !important; grid-template-columns: 34px minmax(0, 1fr); align-items: baseline; padding: 11px 0 !important; border: 0 !important; border-top: 1px solid rgba(31, 58, 214, .2) !important; font-size: 17px !important; font-weight: 500 !important; letter-spacing: -.015em !important; color: var(--ink) !important; text-decoration: none !important; background: none !important; }
:root body:not(#_) .toc-mobile .toc a::before { content: counter(tm, decimal-leading-zero); font-size: 11px; font-weight: 700; color: #1f3ad6; }
/* Botón de los capítulos: círculo azul, como el resto */
.cap-x, .cr-x { border-radius: 999px !important; border-color: #1f3ad6 !important; }
.cap-x::before, .cap-x::after { background: #1f3ad6 !important; }
.cap[open] .cap-x, .cap > summary:hover .cap-x { background: #1f3ad6 !important; }
.cap[open] .cap-x::before, .cap[open] .cap-x::after, .cap > summary:hover .cap-x::before, .cap > summary:hover .cap-x::after { background: #fff !important; }
:root body:not(#_) .cap-all { padding: 9px 16px !important; font-size: 11px !important; }

/* ================= Final del artículo: Fuentes, Sigue leyendo y paginador, compactos ================= */
:root body:not(#_) .article :is(.refs h2, .related h2, .faq h2) { font-size: 13px !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: .02em !important; line-height: 1.2 !important; margin: 0 !important; padding: 14px 0 0 !important; border-top: 1px solid var(--ink) !important; max-width: none !important; color: var(--ink) !important; }
:root body:not(#_) .article .faq h2 { color: #1f3ad6 !important; }
:root body:not(#_) .article :is(.refs, .related, .faq) { margin-top: 56px !important; }
:root body:not(#_) .article .refs-fold > summary { padding: 0 !important; }
/* Sigue leyendo: una línea centrada con barras, como el índice de Calzado */
:root body:not(#_) .related .guide-list { display: block !important; text-align: center; margin: 22px auto 0 !important; padding: 0 !important; max-width: 30ch; border: 0 !important; font-size: clamp(22px, 2.6vw, 32px); line-height: 1.15; letter-spacing: -.03em; text-wrap: balance; }
:root body:not(#_) .related .guide-list li { display: inline; border: 0 !important; padding: 0 !important; margin: 0 !important; }
:root body:not(#_) .related .guide-list li + li::before { content: " / "; color: #9aa0ad; font-weight: 400; }
:root body:not(#_) .related .guide-list a { display: inline !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--ink) !important; text-decoration: none !important; }
:root body:not(#_) .related .guide-list a b { display: inline !important; font-size: inherit !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: inherit !important; color: inherit !important; }
:root body:not(#_) .related .guide-list a span { display: none !important; }
:root body:not(#_) .related .guide-list a:hover b { color: #1f3ad6 !important; }
/* Paginador: dos enlaces pequeños en una fila */
:root body:not(#_) .pager { display: flex !important; justify-content: space-between; gap: 16px; margin-top: 44px !important; padding-top: 12px; border-top: 1px solid var(--ink) !important; }
:root body:not(#_) .pager a { display: block; border: 0 !important; padding: 0 !important; font-size: 15px !important; font-weight: 600 !important; line-height: 1.25 !important; letter-spacing: -.01em !important; color: var(--ink) !important; text-decoration: none !important; max-width: 48%; }
:root body:not(#_) .pager a span { display: block; margin-bottom: 4px; font-size: 10.5px !important; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--muted) !important; }
:root body:not(#_) .pager a.pager-next, :root body:not(#_) .pager a:last-child:not(:first-child) { text-align: right; margin-left: auto; }
:root body:not(#_) .pager a:hover { color: #1f3ad6 !important; }
:root body:not(#_) .article .refs { border-top: 1px solid var(--ink) !important; padding-top: 0 !important; }
:root body:not(#_) .article .refs h2 { border-top: 0 !important; }
:root body:not(#_) .article .refs-fold > summary { display: flex !important; justify-content: space-between; align-items: center; width: 100%; border: 0 !important; }

/* Menú del móvil: tres rayas con posición fija; al abrir, las de arriba y abajo se cruzan en el centro formando la X */
:root body:not(#_) .m-burger { display: block !important; position: relative; width: 22px !important; height: 16px; gap: 0 !important; }
:root body:not(#_) .m-burger i { position: absolute; left: 0; right: 0; height: 2px !important; border-radius: 2px; background: var(--ink) !important; transform-origin: 50% 50%; transition: top .2s ease, transform .25s ease .1s, opacity .15s ease !important; transform: none; }
:root body:not(#_) .m-burger i:nth-child(1) { top: 0; }
:root body:not(#_) .m-burger i:nth-child(2) { top: 7px; }
:root body:not(#_) .m-burger i:nth-child(3) { top: 14px; }
:root body:not(#_) .m-menu[aria-expanded="true"] .m-burger i:nth-child(1) { top: 7px; transform: rotate(45deg) !important; }
:root body:not(#_) .m-menu[aria-expanded="true"] .m-burger i:nth-child(2) { opacity: 0 !important; transform: none !important; }
:root body:not(#_) .m-menu[aria-expanded="true"] .m-burger i:nth-child(3) { top: 7px; transform: rotate(-45deg) !important; }
:root body:not(#_) .m-menu { border-radius: 999px !important; box-shadow: inset 0 0 0 1.5px var(--ink) !important; width: 44px; height: 44px; padding: 0 !important; place-items: center; }
@media (max-width: 860px) { :root body:not(#_) .m-menu { display: inline-grid !important; } }
/* Flechas del carrusel: círculos como el resto de botones */
.home .sc-btn { border-radius: 999px !important; border: 2px solid #1f3ad6 !important; color: #1f3ad6 !important; background: transparent !important; font-size: 20px !important; }
.home .sc-btn:hover:not(:disabled) { background: #1f3ad6 !important; color: #fff !important; }
.home .sc-btn:disabled { opacity: .3; cursor: default; }
/* El carrusel se mueve solo con las flechas o arrastrando (de tarjeta en tarjeta) */
.home .start-grid { overflow-x: hidden !important; touch-action: pan-y; scroll-snap-type: none !important; cursor: grab; user-select: none; }
@media (min-width: 761px) {
  .home .start-item.tcard { flex: 0 0 min(500px, 42%) !important; aspect-ratio: 1 / 1 !important; }
  .home .tcard .tc-table { grid-auto-flow: row !important; grid-template-columns: 1fr 1fr !important; }
  .home .tcard .tc-table a:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
/* El botón del menú es solo el icono */
:root body:not(#_) .m-menu .m-label { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.home .tcard .tc-meta { white-space: nowrap; }
/* La foto se ve en cuanto llega: sin animación de entrada y con un fondo del tono de la foto mientras carga */
.lh-portrait, .profile-photo { background: #c9d3e6 !important; }
.lh-portrait img, .profile-photo img { opacity: 1 !important; animation: none !important; transition: none !important; }
#sobre.rv, #sobre .rv { opacity: 1 !important; transform: none !important; }
.site-footer::after { color: #2443ff !important; font-family: var(--g) !important; font-weight: 800 !important; letter-spacing: -.05em !important; text-transform: uppercase; white-space: nowrap; font-size: 11.2vw !important; line-height: .8 !important; padding: 0 max(var(--side), env(safe-area-inset-left, 0px)) 2px !important; overflow: hidden; }
.site-footer::after { font-size: calc((100vw - 2 * max(var(--side), 16px)) / 9.4) !important; }
.site-footer::after { line-height: 1 !important; padding-bottom: clamp(16px, 2.5vw, 36px) !important; margin-top: -0.12em; }
.to-top, :root body:not(#_) .to-top { display: none !important; }

/* ================= «Por dónde empiezo»: mazo de tarjetas apiladas en el centro ================= */
.home .start-grid.mazo { position: relative; display: block !important; overflow: hidden !important; padding: 0 !important; margin: 0 calc(var(--side) * -1); min-height: 300px; }
.home .start-grid.mazo > .start-item.tcard { position: absolute !important; left: 50% !important; top: 12px; margin: 0 !important; width: min(500px, 46vw); flex: none !important; transition: transform .55s cubic-bezier(.2, .8, .2, 1), opacity .4s ease; will-change: transform; }
.home .start-grid.mazo > .start-item.tcard:nth-child(n) { left: 50% !important; }
.home .sc-ctrl { justify-content: center !important; }
.home .sc-count { margin-right: 0 !important; order: 2; padding: 0 14px; }
.home .sc-prev { order: 1; } .home .sc-next { order: 3; }
@media (max-width: 760px) { .home .start-grid.mazo > .start-item.tcard { width: 84vw; } }

/* Carpetas: sin finas líneas entre pestaña y cuerpo ni entre carpetas (se solapan 2 px) */
.carpeta + .carpeta { margin-top: -2px !important; }
.carpeta > summary { position: relative; }
.cp-tab { position: relative; margin-bottom: -2px; padding-bottom: 12px !important; clip-path: polygon(18px 0, calc(100% - 18px) 0, 100% calc(100% - 2px), 100% 100%, 0 100%, 0 calc(100% - 2px)) !important; }
.carpeta > summary::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--c); }
.carpeta:first-child > summary::after { left: 0; }
/* Las tarjetas del mazo nunca pasan por encima de la cabecera fija */
.home .start-grid.mazo { isolation: isolate; z-index: 0; }
.site-header { z-index: 100 !important; }

/* ================= Sobre mí: cuatro cuadros 2 × 2 que se despliegan ================= */
.sm-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--gut); margin: 48px 0; align-items: start; }
.sm-card { background: #fff; border: 2px solid #1f3ad6; min-height: 230px; }
.sm-card > summary { list-style: none; cursor: pointer; display: grid; grid-template-columns: minmax(0, 1fr) 40px; grid-template-rows: auto auto 1fr; gap: 8px 12px; padding: 20px 22px 22px; min-height: 226px; }
.sm-card > summary::-webkit-details-marker { display: none; }
.sm-n { grid-column: 1; font-size: 44px; font-weight: 800; line-height: .85; letter-spacing: -.04em; color: #1f3ad6; }
.sm-x { grid-column: 2; grid-row: 1; position: relative; width: 40px; height: 40px; border-radius: 999px; border: 2px solid #1f3ad6; }
.sm-x::before, .sm-x::after { content: ""; position: absolute; left: 50%; top: 50%; width: 14px; height: 2px; background: #1f3ad6; transform: translate(-50%, -50%); transition: transform .3s; }
.sm-x::after { transform: translate(-50%, -50%) rotate(90deg); }
.sm-card[open] .sm-x { background: #1f3ad6; } .sm-card[open] .sm-x::before, .sm-card[open] .sm-x::after { background: #fff; }
.sm-card[open] .sm-x::after { transform: translate(-50%, -50%) rotate(0); }
:root body:not(#_) .article .sm-card h2 { grid-column: 1 / -1; margin: 18px 0 0 !important; padding: 0 !important; border: 0 !important; font-size: clamp(22px, 2.2vw, 30px) !important; line-height: 1 !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: -.03em !important; max-width: none !important; }
:root body:not(#_) .article .sm-card h2::before { content: none !important; }
.sm-t { grid-column: 1 / -1; align-self: end; font-size: 15px; line-height: 1.35; color: var(--ink2); }
.sm-card[open] .sm-t { display: none; }
.sm-body { padding: 0 22px 24px; font-size: 15.5px; animation: capIn .4s ease; }
.sm-body p, .sm-body li { font-size: 15.5px !important; }
.sm-card[open] { grid-column: 1 / -1; }
.sm-body .services { display: grid !important; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 760px) { .sm-grid { grid-template-columns: 1fr 1fr; gap: 10px; } .sm-card, .sm-card > summary { min-height: 170px; } .sm-card > summary { padding: 14px; grid-template-columns: minmax(0, 1fr) 32px; } .sm-x { width: 32px; height: 32px; } .sm-n { font-size: 32px; } :root body:not(#_) .article .sm-card h2 { font-size: 17px !important; margin-top: 10px !important; } .sm-t { font-size: 12.5px; } .sm-body { padding: 0 14px 18px; } .sm-body .services { grid-template-columns: 1fr; } }
:root body:not(#_) .sm-x { border-radius: 999px !important; }
.sm-card[open], .sm-card[open] > summary { min-height: 0 !important; }
.sm-card[open] > summary { grid-template-rows: auto auto; }

/* ================= Folio en todos los artículos, con la hoja de color de detrás cambiando ================= */
@property --hoja { syntax: "<color>"; inherits: true; initial-value: #ff5a1f; }
@keyframes hoja { 0%, 20% { --hoja: #ff5a1f; } 25%, 45% { --hoja: #2443ff; } 50%, 70% { --hoja: #9cc3ee; } 75%, 95% { --hoja: #0a1030; } 100% { --hoja: #ff5a1f; } }
body.bh:not(.pg-zona) .main-grid > .article {
  --c: var(--hoja) !important; animation: hoja 16s ease-in-out infinite;
  position: relative; background: #fbfaf6 !important; border: 1px solid #d9d6cc;
  padding: clamp(28px, 4vw, 56px) clamp(20px, 4vw, 56px) clamp(40px, 5vw, 64px) clamp(52px, 6vw, 88px) !important;
}
body.bh:not(.pg-zona) .main-grid > .article::before {
  content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: clamp(34px, 3.4vw, 48px); pointer-events: none;
  background: radial-gradient(circle, #eef0f4 0 5px, var(--c) 5.5px 6.5px, transparent 7px) 50% 22px / 100% 52px repeat-y,
              linear-gradient(90deg, transparent calc(100% - 2px), var(--c) calc(100% - 2px)) !important;
}
body.bh:not(.pg-zona) .main-grid > .article::after { content: ""; position: absolute; inset: 0; z-index: -1; background: var(--c) !important; transform: rotate(-1.2deg) translate(-10px, 12px); pointer-events: none; }
body.bh:not(.pg-zona) .article-meta { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); border: 1px solid #1a1a1a !important; margin-bottom: 40px !important; }
body.bh:not(.pg-zona) .article-meta > span { padding: 8px 10px; border-left: 1px solid #1a1a1a; font-size: 12px !important; line-height: 1.3; }
body.bh:not(.pg-zona) .article-meta > span:first-child { border-left: 0; }
@media (max-width: 760px) {
  body.bh:not(.pg-zona) .article-meta { grid-template-columns: 1fr 1fr; }
  body.bh:not(.pg-zona) .article-meta > span:nth-child(3) { border-left: 0; }
  body.bh:not(.pg-zona) .article-meta > span:nth-child(n+3) { border-top: 1px solid #1a1a1a; }
  body.bh:not(.pg-zona) .main-grid > .article::after { transform: rotate(-1deg) translate(-4px, 8px); }
}
@media (prefers-reduced-motion: reduce) { body.bh .main-grid > .article { animation: none; } }
/* Las páginas sin artículo (índices) se quedan como están */
body:is(.pg-hub, .pg-grupo, .pg-zonas) .main-grid > .article { animation: none; }

/* Folio: un color fijo según el tipo de artículo (sin animación) */
body.bh .main-grid > .article { animation: none !important; }
body.bh.pg-lesion { --hoja: #ff5a1f; }
body.bh.pg-deporte, body.bh.pg-running { --hoja: #2443ff; }
body.bh.pg-calzado { --hoja: #9cc3ee; }
body.bh.pg-servicio, body.bh.pg-sobre, body.bh.pg-basica { --hoja: #0a1030; }
body.bh.pg-mapa { --hoja: #ff5a1f; }
.court, .poster-meta { display: none !important; }

/* ================= Rutas → línea de texto centrada con barras ================= */
.ruta-txt { --rc: var(--ink); margin: 0 0 48px; padding-top: 0; border-top: 1px solid var(--ink); }
.ruta-txt.ruta-naranja { --rc: #ff5a1f; }
.rt-bar { display: grid; grid-template-columns: 1fr auto; gap: 16px; padding: 12px 0; font-size: 15px; letter-spacing: -.01em; color: var(--ink); }
.rt-bar span:last-child { text-align: right; }
.rt-line { max-width: 24ch; margin: clamp(28px, 5vw, 72px) auto clamp(28px, 5vw, 64px) !important; text-align: center; font-size: clamp(30px, 4.6vw, 64px); line-height: 1.12; letter-spacing: -.035em; font-weight: 500; text-wrap: balance; }
.rt-item { display: inline; padding: 0; border: 0; background: none; font: inherit; letter-spacing: inherit; color: var(--rc) !important; text-decoration: none !important; cursor: pointer; white-space: nowrap; background-image: linear-gradient(currentColor, currentColor); background-size: 0 2px; background-repeat: no-repeat; background-position: 0 94%; transition: background-size .3s, color .2s; }
.rt-item:hover, .rt-item.on { background-size: 100% 2px; }
.ruta-naranja .rt-item:hover, .rt-item:hover { color: #1f3ad6 !important; }
.ruta-naranja .rt-item.on { color: #ff5a1f !important; }
.rt-sep { color: #9aa0ad; font-weight: 400; }
.article .ruta-txt .rt-line { font-size: clamp(24px, 3vw, 40px); max-width: 26ch; }
.rt-line { max-width: 30ch; }
/* Cabeceras claras: ruta, titular y entradilla siempre en oscuro */
:root body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas):not(#_) header.banner :is(.crumbs, .crumbs a, .crumbs span, h1, .banner-lede) { color: var(--ink) !important; opacity: 1 !important; }
:root body:is(.pg-hub, .pg-grupo, .pg-zona, .pg-zonas):not(#_) header.banner .crumbs > span:last-child { color: #1f3ad6 !important; }
:root body.pg-deporte:not(#_) header.banner .crumbs span[aria-hidden] { color: rgba(255,255,255,.7) !important; }

/* ================= Buscador y etiquetas: pastillas como el resto de botones ================= */
:root body:not(#_) :is(.lh-hints a, .chips a, .si-links a, .filters .chip, .home .chip, .zone-nav a) {
  border-radius: 999px !important; background: transparent !important; border: 0 !important; box-shadow: inset 0 0 0 1.5px #1f3ad6 !important;
  color: #1f3ad6 !important; padding: 9px 16px !important; font-size: 12px !important; font-weight: 600 !important; letter-spacing: .02em !important; -webkit-backdrop-filter: none; backdrop-filter: none; text-decoration: none !important;
}
:root body:not(#_) :is(.lh-hints a, .chips a, .si-links a, .filters .chip, .home .chip, .zone-nav a):hover { background: #1f3ad6 !important; color: #fff !important; }
:root body:not(#_) .lh-hints { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
:root body:not(#_) :is(.site-search input, .search-box input, #q-top, #q-m, .home input[type="search"]) {
  border-radius: 999px !important; border: 1.5px solid #1f3ad6 !important; background: #fff !important; padding: 14px 22px !important; box-shadow: none !important; font-size: 16px !important;
}
:root body:not(#_) :is(.site-search input, .search-box input, #q-top, #q-m, .home input[type="search"]):focus { outline: none; box-shadow: 0 0 0 3px rgba(31, 58, 214, .2) !important; }
:root body:not(#_) .search-results { border-radius: 18px !important; overflow: hidden; }
.home .analysis, :root body.home:not(#_) .analysis { background: #f4f0e6 !important; }
.home .analysis, :root body.home:not(#_) .analysis { background: #eef0f4 !important; }

/* ================= Comparativas (A vs B): tabla editorial limpia ================= */
:root body:not(#_) .versus { background: transparent !important; border: 0 !important; border-top: 2px solid var(--ink) !important; padding: 0 !important; margin: 32px 0 !important; box-shadow: none !important; }
:root body:not(#_) .versus .vs-head { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 0 !important; background: none !important; padding: 0 !important; margin: 0 !important; border-bottom: 1px solid var(--ink); }
:root body:not(#_) .versus .vs-head .vs-mid { display: none !important; }
:root body:not(#_) .versus .vs-head :is(.vs-a, .vs-b) { background: none !important; padding: 14px 0 12px !important; text-align: left !important; font-size: clamp(22px, 2.6vw, 34px) !important; font-weight: 800 !important; text-transform: uppercase !important; letter-spacing: -.03em !important; border-radius: 0 !important; }
:root body:not(#_) .versus .vs-head .vs-a { color: var(--ink) !important; }
:root body:not(#_) .versus .vs-head .vs-b { color: #1f3ad6 !important; padding-left: 18px !important; border-left: 1px solid var(--ink); }
:root body:not(#_) .versus .vs-row { display: grid !important; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important; gap: 0 !important; padding: 0 !important; border: 0 !important; border-bottom: 1px solid rgba(14, 22, 51, .18) !important; background: none !important; text-align: left !important; }
:root body:not(#_) .versus .vs-row .vs-k { grid-column: 1 / -1; padding: 12px 0 2px !important; font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--muted) !important; text-align: left !important; }
:root body:not(#_) .versus .vs-row :is(.vs-a, .vs-b) { padding: 2px 16px 14px 0 !important; font-size: 17px !important; font-weight: 500 !important; line-height: 1.3 !important; letter-spacing: -.015em !important; text-align: left !important; border: 0 !important; background: none !important; }
:root body:not(#_) .versus .vs-row .vs-a { color: var(--ink2) !important; }
:root body:not(#_) .versus .vs-row .vs-b { color: #1f3ad6 !important; padding-left: 18px !important; border-left: 1px solid var(--ink) !important; }
/* Última carpeta: cuerpo completo de carpeta, en azul cielo con texto oscuro */
.carpeta:last-of-type:not([open]) { padding-bottom: clamp(120px, 18vw, 200px) !important; }
.carpeta:last-of-type .cp-tab, .carpeta:last-of-type, .carpeta:last-of-type .cp-desc, .carpeta:last-of-type .cp-item b, .carpeta:last-of-type .cp-item span, .carpeta:last-of-type .cp-all { color: var(--ink) !important; }
.carpeta:last-of-type .cp-item { background: rgba(255, 255, 255, .45) !important; }
.carpeta:last-of-type .cp-item:hover { background: rgba(255, 255, 255, .75) !important; }
/* Final del artículo: una sola línea entre bloques (sin rayas dobles) */
:root body:not(#_) .article .faq + .refs, :root body:not(#_) .article .faq ~ .refs { border-top: 0 !important; margin-top: 0 !important; }
:root body:not(#_) .article .refs { border-top: 0 !important; }
:root body:not(#_) .article .refs-fold { border-bottom: 1px solid var(--ink); }
:root body:not(#_) .article .refs-fold > summary { padding: 16px 0 !important; }
:root body:not(#_) .article .faq .faq-item:first-of-type { border-top: 0 !important; }
:root body:not(#_) .article .faq h2 { padding-bottom: 12px !important; border-bottom: 1px solid var(--ink) !important; }
:root body:not(#_) .article .related { border-top: 0 !important; }
:root body:not(#_) .article .related h2 { border-top: 0 !important; }
/* El recuento va dentro de la pestaña de cada carpeta */
.cp-tab { display: inline-flex !important; flex-direction: column; align-items: center; gap: 4px; }
:root body:not(#_) .cp-tab .cp-n { display: block; margin: 0 !important; padding: 0 !important; font-size: 10.5px !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase; color: inherit !important; opacity: .8; white-space: nowrap; }
