/* Carlos Salazar Capital — hoja de estilos.
   Tipografía: Mona Sans (texto y cifras) y Nyght Serif (titulares), ambas OFL y alojadas aquí.
   Verde y rojo se reservan para el dato (sube / baja); nunca decoran. */

@font-face {
  font-family: "Mona Sans";
  src: url("/fuentes/MonaSansVF.woff2") format("woff2-variations"), url("/fuentes/MonaSansVF.woff2") format("woff2");
  font-weight: 200 900;
  font-stretch: 75% 125%;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nyght Serif";
  src: url("/fuentes/NyghtSerif-Light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: "Nyght Serif";
  src: url("/fuentes/NyghtSerif-LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
  font-display: swap;
}

/* ---------- Tokens ---------- */
:root {
  color-scheme: light;
  --fondo: #f5f4ef;
  --superficie: #fcfcfa;
  --superficie-2: #efeee8;
  --superficie-3: #e6e4dc;
  --linea: #e1dfd6;
  --linea-fuerte: #c8c5ba;
  --tinta: #13171d;
  --tinta-2: #4b5059;
  --tinta-3: #7c8089;
  --marca: #0f2f4f;
  --marca-texto: #1d4f82;
  --oro: #b08a3e;
  --sube: #0b7536;
  --baja: #bf3329;
  --sube-trazo: #11883d;
  --baja-trazo: #cf4136;
  --sube-lavado: rgba(17, 136, 61, 0.1);
  --baja-lavado: rgba(207, 65, 54, 0.1);
  --serie-1: #2a78d6;
  --serie-2: #eb6834;
  --serie-3: #1baf7a;
  --serie-4: #eda100;
  --barra: #2a78d6;
  /* mapa de calor (de -3 a +3 pasos) y la tinta que va encima de cada paso */
  --calor-m3: #b3362b; --calor-m3-t: #fff;
  --calor-m2: #d8695b; --calor-m2-t: #fff;
  --calor-m1: #f2c1b8; --calor-m1-t: #13171d;
  --calor-0: #e7e5de;  --calor-0-t: #13171d;
  --calor-p1: #b7dcc2; --calor-p1-t: #13171d;
  --calor-p2: #43a066; --calor-p2-t: #fff;
  --calor-p3: #0e7a3a; --calor-p3-t: #fff;
  --sombra: 0 1px 2px rgba(19, 23, 29, 0.04), 0 8px 24px -12px rgba(19, 23, 29, 0.12);
  --sombra-flotante: 0 12px 40px -12px rgba(19, 23, 29, 0.28), 0 2px 6px rgba(19, 23, 29, 0.06);
  --cabecera-fondo: rgba(245, 244, 239, 0.86);
  --radio: 14px;
  --radio-chico: 9px;
  --serif: "Nyght Serif", "Iowan Old Style", Georgia, serif;
  --sans: "Mona Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --fondo: #0e1013;
    --superficie: #15181d;
    --superficie-2: #1b1f25;
    --superficie-3: #232831;
    --linea: #262b33;
    --linea-fuerte: #363c47;
    --tinta: #eceef1;
    --tinta-2: #b3b8c0;
    --tinta-3: #858b94;
    --marca: #0f2f4f;
    --marca-texto: #8fbaf5;
    --oro: #d4ab5f;
    --sube: #3fcf78;
    --baja: #ff7a6e;
    --sube-trazo: #36c06c;
    --baja-trazo: #f2685c;
    --sube-lavado: rgba(54, 192, 108, 0.12);
    --baja-lavado: rgba(242, 104, 92, 0.12);
    --serie-1: #3987e5;
    --serie-2: #d95926;
    --serie-3: #199e70;
    --serie-4: #c98500;
    --barra: #3987e5;
    --calor-m3: #c4473a; --calor-m3-t: #fff;
    --calor-m2: #8c3429; --calor-m2-t: #fff;
    --calor-m1: #4b2723; --calor-m1-t: #f3d9d5;
    --calor-0: #2a2e35;  --calor-0-t: #d5d8dd;
    --calor-p1: #1c4431; --calor-p1-t: #d2efdd;
    --calor-p2: #1d7342; --calor-p2-t: #fff;
    --calor-p3: #22a35a; --calor-p3-t: #06180d;
    --sombra: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px -12px rgba(0, 0, 0, 0.5);
    --sombra-flotante: 0 16px 48px -12px rgba(0, 0, 0, 0.7), 0 2px 6px rgba(0, 0, 0, 0.4);
    --cabecera-fondo: rgba(14, 16, 19, 0.82);
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --fondo: #0e1013;
  --superficie: #15181d;
  --superficie-2: #1b1f25;
  --superficie-3: #232831;
  --linea: #262b33;
  --linea-fuerte: #363c47;
  --tinta: #eceef1;
  --tinta-2: #b3b8c0;
  --tinta-3: #858b94;
  --marca: #0f2f4f;
  --marca-texto: #8fbaf5;
  --oro: #d4ab5f;
  --sube: #3fcf78;
  --baja: #ff7a6e;
  --sube-trazo: #36c06c;
  --baja-trazo: #f2685c;
  --sube-lavado: rgba(54, 192, 108, 0.12);
  --baja-lavado: rgba(242, 104, 92, 0.12);
  --serie-1: #3987e5;
  --serie-2: #d95926;
  --serie-3: #199e70;
  --serie-4: #c98500;
  --barra: #3987e5;
  --calor-m3: #c4473a; --calor-m3-t: #fff;
  --calor-m2: #8c3429; --calor-m2-t: #fff;
  --calor-m1: #4b2723; --calor-m1-t: #f3d9d5;
  --calor-0: #2a2e35;  --calor-0-t: #d5d8dd;
  --calor-p1: #1c4431; --calor-p1-t: #d2efdd;
  --calor-p2: #1d7342; --calor-p2-t: #fff;
  --calor-p3: #22a35a; --calor-p3-t: #06180d;
  --sombra: 0 1px 2px rgba(0, 0, 0, 0.3), 0 8px 24px -12px rgba(0, 0, 0, 0.5);
  --sombra-flotante: 0 16px 48px -12px rgba(0, 0, 0, 0.7), 0 2px 6px rgba(0, 0, 0, 0.4);
  --cabecera-fondo: rgba(14, 16, 19, 0.82);
}

/* ---------- Base ---------- */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-padding-top: 130px; }
body {
  margin: 0;
  background: var(--fondo);
  color: var(--tinta);
  font-family: var(--sans);
  font-size: 15.5px;
  line-height: 1.55;
  font-stretch: 100%;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow-x: clip;
}
main { flex: 1; outline: none; padding-bottom: 72px; }
img, svg { display: block; max-width: 100%; }
a { color: var(--marca-texto); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
button, input, select { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--marca-texto); outline-offset: 2px; border-radius: 4px; }
h1, h2, h3, h4 { margin: 0; font-weight: 600; line-height: 1.15; }
p { margin: 0 0 0.9em; }
.oculto {
  position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0;
}
.saltar { position: absolute; left: 12px; top: -60px; z-index: 50; background: var(--tinta); color: var(--fondo); padding: 8px 14px; border-radius: 8px; }
.saltar:focus { top: 12px; }
.envoltura { width: 100%; max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.icono { width: 18px; height: 18px; flex: none; }
.cifra { font-variant-numeric: tabular-nums; }
.tenue { color: var(--tinta-3); }
.suave { color: var(--tinta-2); }
.sube { color: var(--sube); }
.baja { color: var(--baja); }

/* ---------- Cabecera ---------- */
.cabecera {
  position: sticky; top: 0; z-index: 30;
  background: var(--cabecera-fondo);
  backdrop-filter: saturate(1.4) blur(14px);
  -webkit-backdrop-filter: saturate(1.4) blur(14px);
  border-bottom: 1px solid var(--linea);
}
.cabecera__fila { display: flex; align-items: center; gap: 22px; height: 64px; }
.marca { display: flex; align-items: center; gap: 10px; color: var(--tinta); text-decoration: none; flex: none; }
.marca__simbolo { width: 32px; height: 32px; fill: var(--marca); color: var(--oro); }
:root[data-theme="dark"] .marca__simbolo { fill: #1d3d5f; }
@media (prefers-color-scheme: dark) { :root:not([data-theme="light"]) .marca__simbolo { fill: #1d3d5f; } }
.marca__texto { display: flex; flex-direction: column; line-height: 1; }
.marca__nombre { font-family: var(--serif); font-weight: 300; font-size: 19px; letter-spacing: 0.005em; }
.marca__capital { font-size: 9.5px; font-weight: 600; font-stretch: 125%; letter-spacing: 0.26em; text-transform: uppercase; color: var(--tinta-3); margin-top: 4px; }
.menu { display: flex; gap: 4px; }
.menu a {
  color: var(--tinta-2); text-decoration: none; font-weight: 500; font-size: 14.5px;
  padding: 7px 11px; border-radius: 8px; white-space: nowrap;
}
.menu a:hover { color: var(--tinta); background: var(--superficie-2); }
.menu a[aria-current="page"] { color: var(--tinta); background: var(--superficie-3); }
.busqueda { position: relative; margin-left: auto; flex: 0 1 320px; min-width: 170px; }
@media (max-width: 1140px) and (min-width: 981px) {
  .cabecera__fila { gap: 14px; }
  .menu { gap: 0; }
  .menu a { padding: 7px 8px; }
  .busqueda__atajo { display: none; }
}
.busqueda__caja {
  display: flex; align-items: center; gap: 8px; height: 40px; padding: 0 10px 0 12px;
  background: var(--superficie); border: 1px solid var(--linea); border-radius: 10px;
  color: var(--tinta-3);
}
.busqueda__caja:focus-within { border-color: var(--linea-fuerte); box-shadow: 0 0 0 3px color-mix(in srgb, var(--marca-texto) 18%, transparent); }
.busqueda input { flex: 1; min-width: 0; border: 0; background: none; outline: none; color: var(--tinta); font-size: 14.5px; }
.busqueda input::placeholder { color: var(--tinta-3); }
.busqueda input::-webkit-search-cancel-button { display: none; }
.busqueda__atajo {
  font: 600 11px var(--sans); color: var(--tinta-3); border: 1px solid var(--linea);
  border-radius: 5px; padding: 1px 6px; background: var(--superficie-2);
}
.busqueda__lista {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 40;
  list-style: none; margin: 0; padding: 6px; max-height: min(70vh, 460px); overflow-y: auto;
  background: var(--superficie); border: 1px solid var(--linea); border-radius: 12px;
  box-shadow: var(--sombra-flotante);
}
.busqueda__grupo { padding: 8px 10px 4px; font-size: 11.5px; font-weight: 600; letter-spacing: 0.06em; text-transform: uppercase; color: var(--tinta-3); }
.busqueda__opcion { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 8px; cursor: pointer; }
.busqueda__opcion[aria-selected="true"] { background: var(--superficie-2); }
.busqueda__opcion b { font-weight: 650; min-width: 52px; }
.busqueda__opcion span { color: var(--tinta-2); font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.busqueda__opcion em { margin-left: auto; font-style: normal; font-size: 11.5px; color: var(--tinta-3); }
.busqueda__vacio { padding: 12px 10px; color: var(--tinta-3); font-size: 14px; }
.boton-icono {
  display: inline-grid; place-items: center; width: 40px; height: 40px; flex: none;
  border: 1px solid var(--linea); border-radius: 10px; background: var(--superficie); color: var(--tinta-2);
}
.boton-icono:hover { color: var(--tinta); border-color: var(--linea-fuerte); }
.icono--sol { display: none; }
:root[data-theme="dark"] .icono--sol { display: block; }
:root[data-theme="dark"] .icono--luna { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .icono--sol { display: block; }
  :root:not([data-theme="light"]) .icono--luna { display: none; }
}
.estado { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-height: 34px; font-size: 13px; color: var(--tinta-2); padding-bottom: 6px; }
.estado:empty { display: none; }
.punto { width: 8px; height: 8px; border-radius: 50%; background: var(--tinta-3); flex: none; }
.punto--abierto { background: var(--sube-trazo); box-shadow: 0 0 0 3px var(--sube-lavado); }
.punto--pre { background: var(--oro); }
.estado__item { display: inline-flex; align-items: center; gap: 7px; }
.estado__item + .estado__item { padding-left: 10px; border-left: 1px solid var(--linea-fuerte); }

@media (max-width: 980px) {
  .cabecera__fila { flex-wrap: wrap; height: auto; padding-top: 10px; gap: 10px 14px; }
  .busqueda { order: 2; width: auto; flex: 1; margin-left: 0; }
  .boton-icono { order: 3; }
  .marca { order: 1; width: 100%; }
  .cabecera__fila > .marca { width: auto; flex: 1; }
  .menu {
    order: 4; width: calc(100% + 32px); margin: 0 -16px; padding: 0 12px 6px;
    overflow-x: auto; scrollbar-width: none;
  }
  .menu::-webkit-scrollbar { display: none; }
  .busqueda__atajo { display: none; }
}
@media (max-width: 980px) and (min-width: 561px) {
  .busqueda { flex: 0 1 300px; margin-left: auto; }
}
@media (max-width: 560px) {
  .envoltura { padding: 0 16px; }
  .cabecera { position: static; }
  html { scroll-padding-top: 16px; }
  .busqueda { order: 5; width: 100%; flex: none; }
  .marca { flex: 1; }
  .solo-ancho { display: none; }
  .estado { font-size: 12.5px; padding-top: 2px; }
  .indice { padding: 14px 14px 12px; }
  .indice__cabeza { flex-direction: column; align-items: flex-start; gap: 0; }
  .indice__precio { font-size: 21px; }
  .indice .cambio--chip { font-size: 12.5px; padding: 2px 6px 2px 4px; }
  .encabezado { padding: 26px 0 16px; }
  .bajada { font-size: 16px; }
}

/* ---------- Tipografía de página ---------- */
.encabezado { padding: 36px 0 22px; }
.antetitulo { display: block; font-size: 12px; font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; color: var(--tinta-3); margin-bottom: 10px; }
.titulo-pagina { font-family: var(--serif); font-weight: 300; font-size: clamp(34px, 5vw, 54px); letter-spacing: -0.012em; line-height: 1.04; }
.bajada { font-size: 17px; color: var(--tinta-2); max-width: 64ch; margin-top: 14px; }
.seccion { margin-top: 48px; }
.seccion__cabeza { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.seccion__titulo { font-family: var(--serif); font-weight: 300; font-size: clamp(25px, 3vw, 32px); letter-spacing: -0.005em; }
.seccion__nota { font-size: 13.5px; color: var(--tinta-3); }
.enlace-flecha { display: inline-flex; align-items: center; gap: 6px; font-weight: 550; font-size: 14.5px; text-decoration: none; }
.enlace-flecha .icono { width: 16px; height: 16px; transition: transform 0.15s; }
.enlace-flecha:hover .icono { transform: translateX(3px); }
.aviso { padding: 14px 16px; border-radius: var(--radio-chico); background: var(--superficie-2); color: var(--tinta-2); font-size: 14.5px; }
.aviso--error { background: var(--baja-lavado); color: var(--tinta); }

/* ---------- Tarjetas ---------- */
.tarjeta { background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio); padding: 20px; }
.tarjeta--plana { box-shadow: none; }
.tarjeta__titulo { font-size: 15px; font-weight: 650; margin-bottom: 14px; display: flex; align-items: center; gap: 8px; }

/* Chip de cambio: +1.23 % con su triángulo */
.cambio { display: inline-flex; align-items: center; gap: 3px; font-variant-numeric: tabular-nums; font-weight: 600; white-space: nowrap; }
.cambio .icono { width: 14px; height: 14px; }
.cambio--sube { color: var(--sube); }
.cambio--baja { color: var(--baja); }
.cambio--igual { color: var(--tinta-3); }
.cambio--chip { padding: 3px 8px 3px 5px; border-radius: 7px; font-size: 13.5px; }
.cambio--chip.cambio--sube { background: var(--sube-lavado); }
.cambio--chip.cambio--baja { background: var(--baja-lavado); }
.cambio--chip.cambio--igual { background: var(--superficie-2); }

/* Esqueletos mientras cargan los datos */
.esqueleto { display: inline-block; height: 0.9em; min-width: 3.5em; border-radius: 5px; background: var(--superficie-3); vertical-align: middle; }
.cargando { animation: latido 1.4s ease-in-out infinite; }
@keyframes latido { 50% { opacity: 0.5; } }
@media (prefers-reduced-motion: reduce) { .cargando { animation: none; } * { scroll-behavior: auto !important; } }

/* ---------- Portada ---------- */
.portada__fecha { color: var(--tinta-2); font-size: 15px; margin-top: 10px; }
.indices { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.indice {
  display: flex; flex-direction: column; gap: 4px; padding: 18px 18px 14px; color: var(--tinta);
  background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio);
  text-decoration: none; transition: border-color 0.15s, box-shadow 0.15s;
}
.indice:hover { border-color: var(--linea-fuerte); box-shadow: var(--sombra); }
.indice__cabeza { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; }
.indice__nombre { font-weight: 650; font-size: 15px; }
.indice__via { font-size: 12px; color: var(--tinta-3); }
.indice__precio { font-size: 26px; font-weight: 600; letter-spacing: -0.01em; font-stretch: 92%; margin-top: 6px; }
.indice__pie { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.indice .chispa { width: 100%; height: 54px; margin-top: 10px; }
.indices--chicos { grid-template-columns: repeat(5, minmax(0, 1fr)); margin-top: 14px; }
.indices--chicos .indice { padding: 14px 16px; }
.indices--chicos .indice__precio { font-size: 19px; margin-top: 2px; }
.indices--chicos .chispa { height: 34px; margin-top: 6px; }
@media (max-width: 1080px) { .indices--chicos { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) { .indices { grid-template-columns: repeat(2, minmax(0, 1fr)); } .indices--chicos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 420px) { .indice__precio { font-size: 22px; } }

.chispa path.linea { fill: none; stroke-width: 1.75; stroke-linejoin: round; stroke-linecap: round; }
.chispa path.area { stroke: none; }
.chispa line.base { stroke: var(--linea-fuerte); stroke-width: 1; }
.chispa--sube path.linea { stroke: var(--sube-trazo); }
.chispa--sube path.area { fill: var(--sube-lavado); }
.chispa--baja path.linea { stroke: var(--baja-trazo); }
.chispa--baja path.area { fill: var(--baja-lavado); }
.chispa--igual path.linea { stroke: var(--tinta-3); }
.chispa--igual path.area { fill: transparent; }

/* Mapa de sectores */
.sectores { display: grid; grid-template-columns: repeat(auto-fill, minmax(168px, 1fr)); gap: 4px; }
.sector {
  display: flex; flex-direction: column; justify-content: space-between; gap: 18px;
  min-height: 104px; padding: 13px 14px; border-radius: 10px; text-decoration: none;
  background: var(--calor-0); color: var(--calor-0-t); transition: transform 0.12s, filter 0.12s;
}
.sector:hover { filter: brightness(1.06) saturate(1.05); }
.sector:active { transform: scale(0.985); }
.sector__nombre { font-weight: 650; font-size: 14.5px; line-height: 1.2; }
.sector__pie { display: flex; justify-content: space-between; align-items: baseline; font-variant-numeric: tabular-nums; }
.sector__valor { font-size: 21px; font-weight: 650; font-stretch: 92%; }
.sector__etf { font-size: 12px; opacity: 0.8; }
.sector[data-paso="m3"] { background: var(--calor-m3); color: var(--calor-m3-t); }
.sector[data-paso="m2"] { background: var(--calor-m2); color: var(--calor-m2-t); }
.sector[data-paso="m1"] { background: var(--calor-m1); color: var(--calor-m1-t); }
.sector[data-paso="0"]  { background: var(--calor-0);  color: var(--calor-0-t); }
.sector[data-paso="p1"] { background: var(--calor-p1); color: var(--calor-p1-t); }
.sector[data-paso="p2"] { background: var(--calor-p2); color: var(--calor-p2-t); }
.sector[data-paso="p3"] { background: var(--calor-p3); color: var(--calor-p3-t); }
.leyenda-calor { display: flex; align-items: center; gap: 8px; font-size: 12.5px; color: var(--tinta-3); margin-top: 12px; flex-wrap: wrap; }
.leyenda-calor__escala { display: flex; gap: 2px; }
.leyenda-calor__escala span { width: 26px; height: 10px; border-radius: 3px; }
.leyenda-calor__escala span:nth-child(1) { background: var(--calor-m3); }
.leyenda-calor__escala span:nth-child(2) { background: var(--calor-m2); }
.leyenda-calor__escala span:nth-child(3) { background: var(--calor-m1); }
.leyenda-calor__escala span:nth-child(4) { background: var(--calor-0); }
.leyenda-calor__escala span:nth-child(5) { background: var(--calor-p1); }
.leyenda-calor__escala span:nth-child(6) { background: var(--calor-p2); }
.leyenda-calor__escala span:nth-child(7) { background: var(--calor-p3); }

/* Listas de movimientos */
.dos-columnas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
@media (max-width: 760px) { .dos-columnas { grid-template-columns: 1fr; } }
.filas { list-style: none; margin: 0; padding: 0; }
.fila {
  display: grid; grid-template-columns: minmax(0, 1fr) 76px auto; align-items: center; gap: 14px;
  padding: 10px 4px; border-top: 1px solid var(--linea); text-decoration: none; color: var(--tinta);
}
.filas li:first-child .fila { border-top: 0; }
.fila:hover { background: var(--superficie-2); border-radius: 8px; }
.fila__id { display: flex; align-items: center; gap: 10px; min-width: 0; }
.fila__id b { font-weight: 650; font-size: 14.5px; }
.fila__id span { color: var(--tinta-2); font-size: 13.5px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.fila__texto { display: flex; flex-direction: column; min-width: 0; line-height: 1.3; }
.fila .chispa { width: 76px; height: 28px; }
.fila__precio { text-align: right; display: flex; flex-direction: column; align-items: flex-end; gap: 2px; font-variant-numeric: tabular-nums; font-size: 14.5px; }

/* Logos y monogramas */
.logo { width: 36px; height: 36px; border-radius: 9px; flex: none; background: #fff; border: 1px solid var(--linea); object-fit: contain; padding: 3px; }
.logo--grande { width: 64px; height: 64px; border-radius: 14px; padding: 6px; }
.monograma {
  width: 36px; height: 36px; border-radius: 9px; flex: none; display: grid; place-items: center;
  background: var(--superficie-3); color: var(--tinta-2); font-weight: 700; font-size: 11.5px; font-stretch: 85%; letter-spacing: 0.02em;
}
.monograma--grande { width: 64px; height: 64px; border-radius: 14px; font-size: 17px; }

/* Noticias */
.noticias { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 28px; }
.noticias--una { grid-template-columns: 1fr; }
@media (max-width: 760px) { .noticias { grid-template-columns: 1fr; } }
.noticia { padding: 14px 0; border-top: 1px solid var(--linea); }
.noticia a { color: var(--tinta); text-decoration: none; font-weight: 600; font-size: 15.5px; line-height: 1.35; display: block; }
.noticia a:hover { color: var(--marca-texto); text-decoration: underline; }
.noticia a .icono { display: inline; width: 13px; height: 13px; margin-left: 4px; vertical-align: -1px; color: var(--tinta-3); }
.noticia p { margin: 6px 0 0; font-size: 14px; color: var(--tinta-2); display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.noticia__meta { font-size: 12.5px; color: var(--tinta-3); margin-top: 6px; }

/* Tarjetas de guía */
.guias { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 860px) { .guias { grid-template-columns: 1fr; } }
.guia {
  display: flex; flex-direction: column; gap: 8px; padding: 22px; text-decoration: none; color: var(--tinta);
  background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio);
}
.guia:hover { border-color: var(--linea-fuerte); box-shadow: var(--sombra); }
.guia .icono { width: 26px; height: 26px; color: var(--oro); margin-bottom: 6px; }
.guia h3 { font-family: var(--serif); font-weight: 300; font-size: 23px; }
.guia p { color: var(--tinta-2); font-size: 14.5px; margin: 0; }

/* ---------- Explorador (tablas) ---------- */
.barra-filtros { display: flex; flex-wrap: wrap; gap: 10px 14px; align-items: center; margin-bottom: 14px; }
.filtro-texto {
  display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 12px; flex: 0 1 280px;
  background: var(--superficie); border: 1px solid var(--linea); border-radius: 10px; color: var(--tinta-3);
}
.filtro-texto input { border: 0; outline: 0; background: none; flex: 1; min-width: 0; color: var(--tinta); font-size: 14.5px; }
.filtro-texto:focus-within { border-color: var(--linea-fuerte); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; }
.chip {
  border: 1px solid var(--linea); background: var(--superficie); color: var(--tinta-2);
  padding: 6px 12px; border-radius: 999px; font-size: 13.5px; font-weight: 500; white-space: nowrap;
}
.chip:hover { color: var(--tinta); border-color: var(--linea-fuerte); }
.chip[aria-pressed="true"] { background: var(--tinta); color: var(--fondo); border-color: var(--tinta); }
.conteo { font-size: 13.5px; color: var(--tinta-3); margin-left: auto; }

.marco-tabla { background: var(--superficie); border: 1px solid var(--linea); border-radius: var(--radio); overflow: hidden; }
.desplazable { overflow-x: auto; }
table { border-collapse: collapse; width: 100%; }
.tabla { font-size: 14.5px; }
.tabla th, .tabla td { padding: 11px 12px; text-align: right; white-space: nowrap; }
.tabla th:first-child, .tabla td:first-child { padding-left: 16px; }
.tabla th:last-child, .tabla td:last-child { padding-right: 16px; }
.tabla thead th {
  position: sticky; top: 0; z-index: 1; background: var(--superficie);
  font-size: 12px; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; color: var(--tinta-3);
  border-bottom: 1px solid var(--linea);
}
.tabla th.izq, .tabla td.izq { text-align: left; }
.tabla td { border-top: 1px solid var(--linea); font-variant-numeric: tabular-nums; }
.tabla tbody tr:first-child td { border-top: 0; }
.tabla tbody tr { cursor: pointer; }
.tabla tbody tr:hover td { background: var(--superficie-2); }
.orden { all: unset; cursor: pointer; display: inline-flex; align-items: center; gap: 4px; }
.orden:focus-visible { outline: 2px solid var(--marca-texto); outline-offset: 2px; border-radius: 4px; }
.orden .icono { width: 12px; height: 12px; opacity: 0; }
th[aria-sort] .orden .icono { opacity: 1; }
th[aria-sort="ascending"] .orden .icono { transform: rotate(180deg); }
.celda-activo { display: flex; align-items: center; gap: 11px; min-width: 210px; max-width: 330px; }
.celda-activo a { color: var(--tinta); text-decoration: none; font-weight: 650; }
.celda-activo a::after { content: ""; position: absolute; inset: 0; }
.celda-activo .nombre { display: block; color: var(--tinta-2); font-size: 13px; font-weight: 400; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 260px; }
.celda-activo__texto { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.tabla tr { position: relative; }
.tabla .chispa { width: 84px; height: 28px; margin-left: auto; }
.estrella {
  all: unset; cursor: pointer; display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 8px;
  color: var(--tinta-3); position: relative; z-index: 2;
}
.estrella:hover { color: var(--tinta); background: var(--superficie-3); }
.estrella:focus-visible { outline: 2px solid var(--marca-texto); }
.estrella[aria-pressed="true"] { color: var(--oro); }
.estrella .icono { width: 18px; height: 18px; }
.col-estrella { width: 46px; padding-right: 0 !important; }
@media (max-width: 760px) {
  .ocultar-movil { display: none; }
  .celda-activo { min-width: 0; max-width: 40vw; gap: 8px; }
  .celda-activo .nombre { max-width: 30vw; }
  .tabla { font-size: 14px; }
  .tabla th, .tabla td { padding: 10px 6px; }
  .tabla th:first-child, .tabla td:first-child { padding-left: 6px; }
  .tabla th:last-child, .tabla td:last-child { padding-right: 10px; }
  .col-estrella { width: 34px; }
  .estrella { width: 26px; height: 26px; }
  .tabla .logo, .tabla .monograma { width: 30px; height: 30px; }
  .logo--grande, .monograma--grande { width: 52px; height: 52px; }
}
@media (max-width: 1080px) { .ocultar-tableta { display: none; } }
.tabla-pie { font-size: 13px; color: var(--tinta-3); margin-top: 12px; }

/* ---------- Ficha ---------- */
.migas { display: flex; gap: 8px; align-items: center; font-size: 13.5px; color: var(--tinta-3); padding-top: 26px; flex-wrap: wrap; }
.migas a { color: var(--tinta-2); text-decoration: none; }
.migas a:hover { color: var(--tinta); text-decoration: underline; }
.ficha__cabeza { display: flex; align-items: center; gap: 18px; padding: 16px 0 6px; flex-wrap: wrap; }
.ficha__titulo { flex: 1; min-width: 240px; }
.ficha__titulo h1 { font-family: var(--serif); font-weight: 300; font-size: clamp(30px, 4.4vw, 46px); letter-spacing: -0.01em; line-height: 1.05; }
.ficha__sub { display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: center; margin-top: 8px; font-size: 14px; color: var(--tinta-2); }
.etiqueta { display: inline-flex; align-items: center; padding: 2px 8px; border-radius: 6px; background: var(--superficie-3); font-size: 12px; font-weight: 600; letter-spacing: 0.04em; color: var(--tinta-2); text-transform: uppercase; }
.ficha__acciones { display: flex; gap: 8px; }
.boton {
  display: inline-flex; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 10px;
  border: 1px solid var(--linea); background: var(--superficie); color: var(--tinta); font-weight: 550; font-size: 14.5px; text-decoration: none; white-space: nowrap;
}
.boton:hover { border-color: var(--linea-fuerte); }
.boton[aria-pressed="true"] { border-color: color-mix(in srgb, var(--oro) 55%, var(--linea)); }
.boton[aria-pressed="true"] .icono { color: var(--oro); }
.boton--principal { background: var(--tinta); color: var(--fondo); border-color: var(--tinta); }
.ficha__precio { display: flex; align-items: baseline; gap: 6px 16px; flex-wrap: wrap; padding: 12px 0 4px; }
.precio-grande { font-size: clamp(38px, 5.5vw, 52px); font-weight: 600; letter-spacing: -0.02em; font-stretch: 90%; line-height: 1; }
.ficha__hora { width: 100%; font-size: 13.5px; color: var(--tinta-3); display: flex; gap: 6px 14px; flex-wrap: wrap; align-items: center; }
.ficha__hora .icono { width: 15px; height: 15px; display: inline; vertical-align: -3px; margin-right: 4px; }
.ficha__rejilla { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 18px; margin-top: 18px; align-items: start; }
.ficha__rejilla > * { min-width: 0; }
@media (max-width: 980px) { .ficha__rejilla { grid-template-columns: 1fr; } }
.pila { display: flex; flex-direction: column; gap: 18px; }

.pestanas { display: flex; gap: 2px; padding: 3px; background: var(--superficie-2); border-radius: 10px; width: fit-content; max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.pestanas button {
  all: unset; cursor: pointer; padding: 6px 11px; border-radius: 8px; font-size: 13.5px; font-weight: 600; color: var(--tinta-2); white-space: nowrap;
}
.pestanas button:hover { color: var(--tinta); }
.pestanas button[aria-selected="true"] { background: var(--superficie); color: var(--tinta); box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08); }
.pestanas button:focus-visible { outline: 2px solid var(--marca-texto); }
.grafico-cabeza { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 12px; flex-wrap: wrap; }
.grafico-cabeza__resumen { font-size: 14px; color: var(--tinta-2); display: flex; gap: 8px; align-items: center; }

/* Gráfico principal */
.grafico { position: relative; width: 100%; height: 340px; touch-action: pan-y; user-select: none; -webkit-user-select: none; }
.grafico--comparar { height: 400px; }
@media (max-width: 560px) { .grafico { height: 260px; } .grafico--comparar { height: 300px; } }
.grafico svg { width: 100%; height: 100%; overflow: visible; }
.grafico.recargando svg { opacity: 0.45; transition: opacity 0.2s; }
.grafico .rejilla line { stroke: var(--linea); stroke-width: 1; }
.grafico .eje text, .grafico .etiqueta-fin { fill: var(--tinta-3); font-size: 11.5px; font-family: var(--sans); font-variant-numeric: tabular-nums; }
.grafico .etiqueta-fin { font-weight: 600; fill: var(--tinta-2); }
.grafico .base-linea { stroke: var(--linea-fuerte); stroke-width: 1; }
.grafico .base-texto { fill: var(--tinta-3); font-size: 11px; }
.grafico .serie { fill: none; stroke-width: 2; stroke-linejoin: round; stroke-linecap: round; }
.grafico .serie--sube { stroke: var(--sube-trazo); }
.grafico .serie--baja { stroke: var(--baja-trazo); }
.grafico .area--sube { fill: var(--sube-lavado); }
.grafico .area--baja { fill: var(--baja-lavado); }
.grafico .serie--1 { stroke: var(--serie-1); } .grafico .punto--1 { fill: var(--serie-1); }
.grafico .serie--2 { stroke: var(--serie-2); } .grafico .punto--2 { fill: var(--serie-2); }
.grafico .serie--3 { stroke: var(--serie-3); } .grafico .punto--3 { fill: var(--serie-3); }
.grafico .serie--4 { stroke: var(--serie-4); } .grafico .punto--4 { fill: var(--serie-4); }
.grafico .punto--sube { fill: var(--sube-trazo); }
.grafico .punto--baja { fill: var(--baja-trazo); }
.grafico .cursor { stroke: var(--tinta-3); stroke-width: 1; }
.grafico .marcador { stroke: var(--superficie); stroke-width: 2; }
.grafico .captura { fill: transparent; cursor: crosshair; }
.grafico .captura:focus { outline: none; }
.grafico:focus-within .captura:focus-visible { outline: none; }
.grafico__info {
  position: absolute; top: 0; left: 0; z-index: 5; pointer-events: none;
  background: var(--superficie); border: 1px solid var(--linea); border-radius: 10px; padding: 9px 11px;
  box-shadow: var(--sombra-flotante); font-size: 13px; min-width: 150px;
  transition: opacity 0.1s;
}
.grafico__info[hidden] { display: block; opacity: 0; }
.grafico__info-fecha { color: var(--tinta-3); font-size: 12px; margin-bottom: 4px; }
.grafico__info-fila { display: flex; align-items: center; gap: 8px; font-variant-numeric: tabular-nums; }
.grafico__info-fila + .grafico__info-fila { margin-top: 3px; }
.grafico__info-fila b { font-weight: 650; font-size: 14px; color: var(--tinta); }
.grafico__info-fila span { color: var(--tinta-2); }
.clave-linea { width: 14px; height: 2px; border-radius: 2px; flex: none; }
.clave-linea--1 { background: var(--serie-1); } .clave-linea--2 { background: var(--serie-2); }
.clave-linea--3 { background: var(--serie-3); } .clave-linea--4 { background: var(--serie-4); }
.grafico__vacio { position: absolute; inset: 0; display: grid; place-items: center; color: var(--tinta-3); font-size: 14px; text-align: center; padding: 20px; }

/* Datos clave */
.datos { display: grid; grid-template-columns: 1fr; margin: 0; }
.datos > div { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; padding: 9px 0; border-top: 1px solid var(--linea); }
.datos > div:first-child { border-top: 0; padding-top: 0; }
.datos dt { color: var(--tinta-2); font-size: 14px; display: flex; align-items: center; gap: 6px; }
.datos dd { margin: 0; font-weight: 600; font-variant-numeric: tabular-nums; text-align: right; font-size: 14.5px; }
.ayuda { all: unset; cursor: help; display: inline-grid; place-items: center; color: var(--tinta-3); border-radius: 50%; position: relative; }
.ayuda .icono { width: 15px; height: 15px; }
.ayuda:hover, .ayuda:focus-visible { color: var(--tinta); }
.ayuda:focus-visible { outline: 2px solid var(--marca-texto); }
.ayuda__texto {
  position: absolute; left: 50%; bottom: calc(100% + 8px); transform: translateX(-30%); z-index: 20; width: 250px;
  background: var(--tinta); color: var(--fondo); font-size: 13px; font-weight: 400; line-height: 1.45; padding: 9px 11px; border-radius: 9px;
  box-shadow: var(--sombra-flotante); pointer-events: none; white-space: normal; display: none;
}
.ayuda:hover .ayuda__texto, .ayuda:focus .ayuda__texto { display: block; }
.ayuda--derecha .ayuda__texto { left: auto; right: -10px; transform: none; }

/* Rango de 52 semanas */
.rango { margin-top: 4px; }
.rango__barra { position: relative; height: 6px; border-radius: 6px; background: var(--superficie-3); margin: 10px 0 8px; }
.rango__relleno { position: absolute; left: 0; top: 0; bottom: 0; border-radius: 6px; background: color-mix(in srgb, var(--barra) 30%, transparent); }
.rango__marca { position: absolute; top: 50%; width: 14px; height: 14px; border-radius: 50%; background: var(--barra); border: 2px solid var(--superficie); transform: translate(-50%, -50%); }
.rango__extremos { display: flex; justify-content: space-between; font-size: 12.5px; color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.rango__texto { font-size: 13.5px; color: var(--tinta-2); margin-top: 6px; }

/* Rendimientos */
.tarjeta--rendimientos { container-type: inline-size; }
.rendimientos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 12px; }
@container (min-width: 700px) { .rendimientos { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.rendimiento { display: flex; flex-direction: column; gap: 4px; }
.rendimiento__plazo { font-size: 12.5px; color: var(--tinta-3); }
.rendimiento__valor { font-size: 17px; font-weight: 650; font-variant-numeric: tabular-nums; }
.rendimiento__div { font-size: 12px; color: var(--tinta-3); font-variant-numeric: tabular-nums; }
.nota-pie { font-size: 12.5px; color: var(--tinta-3); margin: 14px 0 0; }

/* Texto de la ficha */
.prosa { font-size: 16px; max-width: 70ch; }
.prosa p { color: var(--tinta-2); }
.prosa p:first-child { color: var(--tinta); font-size: 17px; }
.prosa a .icono { display: inline-block; width: 14px; height: 14px; margin-left: 5px; vertical-align: -1px; }

/* Barras de posiciones */
.barras { list-style: none; margin: 0; padding: 0; }
.barras li { display: grid; grid-template-columns: minmax(0, 1fr) 160px 54px; align-items: center; gap: 12px; padding: 7px 0; font-size: 14px; }
@media (max-width: 560px) { .barras li { grid-template-columns: minmax(0, 1fr) 70px 50px; } }
.barras__nombre { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.barras__nombre a { font-weight: 650; text-decoration: none; }
.barras__nombre b { font-weight: 650; margin-right: 6px; }
.barras__nombre span { color: var(--tinta-2); }
.barras__pista { height: 10px; border-radius: 0 4px 4px 0; background: transparent; position: relative; }
.barras__relleno { position: absolute; left: 0; top: 0; bottom: 0; background: var(--barra); border-radius: 0 4px 4px 0; min-width: 2px; }
.barras__valor { text-align: right; font-variant-numeric: tabular-nums; font-weight: 600; }
.resumen-concentracion { display: flex; gap: 28px; flex-wrap: wrap; margin-bottom: 16px; }
.cifra-grande { font-size: 28px; font-weight: 600; letter-spacing: -0.01em; font-stretch: 92%; line-height: 1.1; }
.cifra-grande + span { display: block; font-size: 13px; color: var(--tinta-3); margin-top: 2px; }

/* Barra segmentada de analistas */
.segmentos { display: flex; gap: 2px; height: 28px; border-radius: 6px; overflow: hidden; margin: 6px 0 12px; }
.segmentos > span { display: flex; align-items: center; padding: 0 7px; font-size: 12.5px; font-weight: 650; font-variant-numeric: tabular-nums; white-space: nowrap; overflow: hidden; border-radius: 4px; }
.seg-p3 { background: var(--calor-p3); color: var(--calor-p3-t); }
.seg-p2 { background: var(--calor-p2); color: var(--calor-p2-t); }
.seg-0 { background: var(--calor-0); color: var(--calor-0-t); }
.seg-m2 { background: var(--calor-m2); color: var(--calor-m2-t); }
.seg-m3 { background: var(--calor-m3); color: var(--calor-m3-t); }
.leyenda { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: 13px; color: var(--tinta-2); list-style: none; padding: 0; margin: 0; }
.leyenda li { display: inline-flex; align-items: center; gap: 6px; }
.leyenda i { width: 10px; height: 10px; border-radius: 3px; display: inline-block; }
.veredicto { font-size: 15px; margin: 0 0 4px; }
.veredicto b { font-weight: 650; }

/* Tabla chica (ganancias, comparación) */
.tabla-chica { font-size: 14px; }
.tabla-chica th, .tabla-chica td { padding: 8px 6px; text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.tabla-chica th:first-child, .tabla-chica td:first-child { text-align: left; padding-left: 0; }
.tabla-chica th:last-child, .tabla-chica td:last-child { padding-right: 0; }
.tabla-chica thead th { font-size: 12px; color: var(--tinta-3); font-weight: 600; border-bottom: 1px solid var(--linea); }
.tabla-chica tbody td { border-top: 1px solid var(--linea); }
.tabla-chica tbody tr:first-child td { border-top: 0; }

.etiquetas-enlace { display: flex; flex-wrap: wrap; gap: 6px; }
.etiquetas-enlace a {
  display: inline-flex; align-items: center; gap: 6px; padding: 6px 11px; border-radius: 9px; text-decoration: none;
  background: var(--superficie-2); color: var(--tinta); font-size: 13.5px; font-weight: 600;
}
.etiquetas-enlace a span { font-weight: 400; color: var(--tinta-3); }
.etiquetas-enlace a:hover { background: var(--superficie-3); }

/* ---------- Comparar ---------- */
.comparar__barra { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin-bottom: 14px; }
.ficha-serie {
  display: inline-flex; align-items: center; gap: 8px; height: 38px; padding: 0 6px 0 12px; border-radius: 10px;
  background: var(--superficie); border: 1px solid var(--linea); font-weight: 650; font-size: 14px;
}
.ficha-serie .clave-linea { width: 16px; height: 3px; }
.ficha-serie button { all: unset; cursor: pointer; display: grid; place-items: center; width: 26px; height: 26px; border-radius: 7px; color: var(--tinta-3); }
.ficha-serie button:hover { background: var(--superficie-3); color: var(--tinta); }
.ficha-serie button .icono { width: 15px; height: 15px; }
.agregar-serie { position: relative; }
.agregar-serie .filtro-texto { flex: none; width: 230px; }
.sugerencias { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; font-size: 13.5px; color: var(--tinta-3); margin-top: 10px; }
.sugerencias button { all: unset; cursor: pointer; color: var(--marca-texto); font-weight: 550; }
.sugerencias button:hover { text-decoration: underline; }

/* ---------- Aprende ---------- */
.articulo { display: grid; grid-template-columns: 230px minmax(0, 1fr); gap: 48px; align-items: start; margin-top: 12px; }
@media (max-width: 900px) { .articulo { grid-template-columns: 1fr; gap: 12px; } }
.indice-guia { position: sticky; top: 140px; font-size: 14px; }
.indice-guia ol { list-style: none; margin: 0; padding: 0; border-left: 1px solid var(--linea); }
.indice-guia a { display: block; padding: 6px 0 6px 14px; margin-left: -1px; color: var(--tinta-2); text-decoration: none; border-left: 2px solid transparent; }
.indice-guia a:hover { color: var(--tinta); }
.indice-guia a.activo { color: var(--tinta); border-left-color: var(--oro); font-weight: 550; }
@media (max-width: 900px) {
  .indice-guia { position: static; }
  .indice-guia ol { display: flex; flex-wrap: wrap; gap: 6px; border: 0; }
  .indice-guia a { border: 1px solid var(--linea); border-radius: 999px; padding: 5px 11px; margin: 0; background: var(--superficie); }
}
.texto { max-width: 72ch; font-size: 16.5px; line-height: 1.65; }
.texto section { padding-top: 8px; margin-bottom: 44px; }
.texto h2 { font-family: var(--serif); font-weight: 300; font-size: clamp(27px, 3.4vw, 36px); margin-bottom: 16px; letter-spacing: -0.006em; }
.texto h3 { font-size: 17px; font-weight: 650; margin: 26px 0 8px; }
.texto p, .texto li { color: var(--tinta-2); }
.texto strong { color: var(--tinta); font-weight: 600; }
.texto ul { padding-left: 20px; }
.texto li { margin-bottom: 6px; }
.destacado { border-left: 3px solid var(--oro); background: var(--superficie); padding: 14px 18px; border-radius: 0 10px 10px 0; margin: 18px 0; }
.destacado p:last-child { margin-bottom: 0; }
.tabla-guia { width: 100%; font-size: 15px; margin: 14px 0 6px; background: var(--superficie); border: 1px solid var(--linea); border-radius: 12px; border-collapse: separate; border-spacing: 0; overflow: hidden; }
.tabla-guia th, .tabla-guia td { padding: 10px 14px; text-align: left; vertical-align: top; border-top: 1px solid var(--linea); }
.tabla-guia thead th { border-top: 0; font-size: 13px; color: var(--tinta-3); font-weight: 600; background: var(--superficie-2); }
.tabla-guia td:first-child { font-weight: 600; color: var(--tinta); }
.tabla-guia td { color: var(--tinta-2); }
.glosario { margin: 0; }
.glosario div { padding: 12px 0; border-top: 1px solid var(--linea); }
.glosario dt { font-weight: 650; color: var(--tinta); }
.glosario dd { margin: 4px 0 0; color: var(--tinta-2); }
.preguntas details { border-top: 1px solid var(--linea); }
.preguntas details:last-child { border-bottom: 1px solid var(--linea); }
.preguntas summary {
  list-style: none; cursor: pointer; padding: 14px 0; font-weight: 600; color: var(--tinta);
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
}
.preguntas summary::-webkit-details-marker { display: none; }
.preguntas summary .icono { transition: transform 0.15s; color: var(--tinta-3); }
.preguntas details[open] summary .icono { transform: rotate(180deg); }
.preguntas details > div { padding: 0 0 14px; }

/* ---------- Mi lista vacía ---------- */
.vacio { text-align: center; padding: 56px 20px; }
.vacio .icono { width: 34px; height: 34px; margin: 0 auto 14px; color: var(--oro); }
.vacio h2 { font-family: var(--serif); font-weight: 300; font-size: 28px; margin-bottom: 8px; }
.vacio p { color: var(--tinta-2); max-width: 46ch; margin: 0 auto 18px; }

/* ---------- Pie ---------- */
.pie { border-top: 1px solid var(--linea); background: var(--superficie); padding: 40px 0 28px; font-size: 14px; color: var(--tinta-2); }
.pie__rejilla { display: grid; grid-template-columns: 1.3fr 1.3fr 0.7fr; gap: 32px; }
@media (max-width: 860px) { .pie__rejilla { grid-template-columns: 1fr; gap: 18px; } }
.pie__marca { font-family: var(--serif); font-weight: 300; font-size: 22px; color: var(--tinta); margin-bottom: 8px; }
.pie__titulo { font-weight: 650; color: var(--tinta); margin-bottom: 8px; }
.pie__enlaces { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.pie__enlaces a { color: var(--tinta-2); text-decoration: none; }
.pie__enlaces a:hover { color: var(--tinta); text-decoration: underline; }
.pie__legal { margin-top: 26px; padding-top: 18px; border-top: 1px solid var(--linea); font-size: 12.5px; color: var(--tinta-3); }

@media print {
  .cabecera, .pie, .estrella, .ficha__acciones, .pestanas { display: none !important; }
  body { background: #fff; }
}
