/* ============================================================
   ¿Sube o Baja?: su identidad dentro de su ventana de Productos.

   La misma de la web: negro casi puro, Manrope extrabold con el
   tracking cerrado, verde y rojo de sistema con un brillo suave, y
   cifras tabulares. Todo cuelga de .ventana[data-producto="subeobaja"]
   o de clases sb-, así que no toca el escaparate ni a otros productos.
   ============================================================ */

@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400..800&display=swap");

.ventana[data-producto="subeobaja"] {
  --v-fondo: #050506;
  --v-texto: #f4f4f5;
  --v-cerrar: #18191c;
  --sb-tarjeta: #0e0f11;
  --sb-borde: rgba(255, 255, 255, .07);
  --sb-gris: #86868b;
  --sb-cuerpo: #b9b9be;
  --sb-verde: #34c759;
  --sb-rojo: #ff3b30;
  --sb-naranja: #ff9500;
  --sb-ease: cubic-bezier(0.23, 1, 0.32, 1);

  font-family: Manrope, system-ui, -apple-system, sans-serif;
  font-variant-numeric: tabular-nums;
  -webkit-font-smoothing: antialiased;
}

.sb { padding: 0 clamp(20px, 5vw, 64px); }
:where(.sb) :where(h2, h3, h4, p, dl, dd) { margin: 0; }
.sb :focus-visible { outline: 2px solid var(--v-texto); outline-offset: 4px; border-radius: 8px; }

/* ---------- Portada ---------- */

.sb-hero {
  display: grid;
  grid-template-columns: 1.05fr 1fr;
  align-items: center;
  gap: clamp(32px, 5vw, 72px);
  padding: clamp(64px, 9vw, 104px) 0 clamp(56px, 7vw, 88px);
}

.sb-vivo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 12px 6px 10px;
  border: 1px solid var(--sb-borde);
  border-radius: 999px;
  background: rgba(255, 255, 255, .03);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.sb-punto {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--sb-verde);
  box-shadow: 0 0 0 0 rgba(52, 199, 89, .6);
  animation: sb-latido 2s ease-out infinite;
}
@keyframes sb-latido { 70%, 100% { box-shadow: 0 0 0 8px rgba(52, 199, 89, 0); } }

.sb-marca {
  margin-top: 28px;
  font-size: clamp(44px, 6.4vw, 84px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1;
  white-space: nowrap;
}
.sb-verde { color: var(--sb-verde); text-shadow: 0 0 28px rgba(52, 199, 89, .35); }
.sb-rojo { color: var(--sb-rojo); text-shadow: 0 0 28px rgba(255, 59, 48, .35); }
.sb-o { padding: 0 .08em; opacity: .45; }

.sb-titular {
  margin-top: 26px;
  font-size: clamp(22px, 2.4vw, 30px);
  font-weight: 700;
  letter-spacing: -.03em;
  line-height: 1.2;
}
.sb-entradilla { margin-top: 12px; font-size: 16px; line-height: 1.6; color: var(--sb-gris); max-width: 46ch; }

.sb-acciones { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 32px; }
.sb-boton {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 48px;
  padding: 12px 22px;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 999px;
  color: var(--v-texto);
  font-size: 15px;
  font-weight: 700;
  text-decoration: none;
  transition: background-color 180ms var(--sb-ease), transform 120ms var(--sb-ease);
}
.sb-boton:hover { background: rgba(255, 255, 255, .06); }
.sb-boton:active { transform: scale(.97); }
.sb-boton-primario { background: var(--v-texto); border-color: transparent; color: #000; }
.sb-boton-primario:hover { background: #fff; }

/* ---------- Tablero en vivo ---------- */

.sb-tablero {
  padding: clamp(22px, 3vw, 32px);
  border: 1px solid var(--sb-borde);
  border-radius: 28px;
  background:
    radial-gradient(120% 80% at 50% 100%, rgba(52, 199, 89, .10), transparent 60%),
    var(--sb-tarjeta);
}
.sb-tablero-eti { font-size: 13px; color: var(--sb-gris); }
.sb-precio {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-top: 6px;
  font-size: clamp(48px, 6vw, 76px);
  font-weight: 800;
  letter-spacing: -.045em;
  line-height: 1;
}
.sb-bs { font-size: .26em; font-weight: 700; letter-spacing: 0; color: var(--sb-gris); }

.sb-pildoras { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 18px; }
.sb-pildora {
  padding: 5px 11px;
  border: 1px solid var(--sb-borde);
  border-radius: 999px;
  background: rgba(255, 255, 255, .04);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .02em;
}
.sb-pildora.sube { color: var(--sb-verde); background: rgba(52, 199, 89, .10); border-color: rgba(52, 199, 89, .22); }
.sb-pildora.baja { color: var(--sb-rojo); background: rgba(255, 59, 48, .10); border-color: rgba(255, 59, 48, .22); }

.sb-grafico { display: block; width: 100%; height: clamp(110px, 14vw, 150px); margin-top: 24px; overflow: visible; }
.sb-linea {
  fill: none;
  stroke: var(--sb-verde);
  stroke-width: 2.5;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  filter: drop-shadow(0 0 6px rgba(52, 199, 89, .55));
  stroke-dasharray: 1;
  stroke-dashoffset: 0;
}
/* Al abrir la ventana la línea se dibuja de izquierda a derecha. */
.sb-dibujar .sb-linea { animation: sb-trazo 1400ms var(--sb-ease) 250ms backwards; }
@keyframes sb-trazo { from { stroke-dashoffset: 1; } }

.sb-rango { margin-top: 10px; font-size: 11px; color: var(--sb-gris); }

/* ---------- Secciones ---------- */

.sb-seccion { padding: clamp(48px, 7vw, 80px) 0; border-top: 1px solid var(--sb-borde); }
.sb-eyebrow { font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--sb-verde); }
.sb-h3 { margin-top: 10px; font-size: clamp(28px, 3.6vw, 44px); font-weight: 800; letter-spacing: -.04em; line-height: 1.08; }
.sb-texto { margin-top: 14px; font-size: 16px; line-height: 1.6; color: var(--sb-gris); max-width: 62ch; }

/* ---------- Predicción tapada ---------- */

.sb-pregunta { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: clamp(28px, 5vw, 64px); }
.sb-pregunta .sb-boton { margin-top: 24px; }
.sb-boton-verde { background: var(--sb-verde); border-color: transparent; color: #000; }
.sb-boton-verde:hover { background: #4fd472; }
.sb-tapadas { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.sb-tapada {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 10px;
  padding: 18px;
  border: 1px solid var(--sb-borde);
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(52, 199, 89, .07), transparent 70%), var(--sb-tarjeta);
  overflow: hidden;
}
.sb-tapada span { font-size: 12px; font-weight: 700; color: var(--sb-gris); }
/* Sin datos reales debajo: solo la forma de una predicción, desenfocada. */
.sb-tapada b { font-size: 20px; font-weight: 800; color: var(--sb-verde); filter: blur(7px); user-select: none; }
.sb-tapada i { height: 4px; border-radius: 4px; background: rgba(52, 199, 89, .5); filter: blur(3px); width: 70%; }

/* ---------- Qué encontrarás ---------- */

.sb-lista {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  margin: 24px 0 0;
  padding: 0;
  list-style: none;
  border-top: 1px solid var(--sb-borde);
}
.sb-lista li { display: flex; flex-direction: column; gap: 2px; padding: 20px 20px 20px 0; border-bottom: 1px solid var(--sb-borde); }
.sb-lista strong { font-size: 16px; font-weight: 800; letter-spacing: -.02em; }
.sb-lista span { font-size: 14px; color: var(--sb-gris); }

/* ---------- Cierre ---------- */

.sb-cierre { padding: clamp(64px, 10vw, 112px) 0; text-align: center; }
.sb-cierre-texto { font-size: 15px; color: var(--sb-gris); }
.sb-cierre-enlace {
  display: inline-flex;
  align-items: baseline;
  gap: .2em;
  margin-top: 10px;
  font-size: clamp(34px, 6.6vw, 80px);
  font-weight: 800;
  letter-spacing: -.05em;
  line-height: 1.05;
  color: var(--v-texto);
  text-decoration: none;
  transition: color 200ms var(--sb-ease), text-shadow 200ms var(--sb-ease);
}
.sb-cierre-enlace:hover { color: var(--sb-verde); text-shadow: 0 0 40px rgba(52, 199, 89, .4); }
.sb-cierre-enlace svg { transition: transform 200ms var(--sb-ease); }
.sb-cierre-enlace:hover svg { transform: translate(3px, -3px); }

/* ---------- Pantallas estrechas ---------- */

@media (max-width: 900px) {
  .sb-hero, .sb-pregunta { grid-template-columns: 1fr; }
  .sb-lista { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .sb-marca { font-size: clamp(38px, 12vw, 56px); }
  .sb-acciones .sb-boton { flex: 1 1 100%; justify-content: center; }
  .sb-lista { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
  .sb-punto { animation: none; }
  .sb-dibujar .sb-linea { animation: none; }
}
