/* Ronda de conversión 2026-10-03 — landing más corta + reserva en 3 pasos.
   Se carga después de styles.css y reserva.css. */

/* Página más compacta: las secciones respiraban 7rem arriba y abajo. */
.section-gap { padding-block: 4.5rem; }
@media (max-width: 680px) { .section-gap { padding-block: 3.25rem; } }

/* Héroe: botón + próximos huecos justo debajo; el diagrama, después. */
.hero { min-height: auto; padding-top: 6.5rem; padding-bottom: 3rem; }
.hero-cta-wrap { margin: 1.6rem 0 2.2rem; }
.hero-proximos { justify-content: center; max-width: 560px; margin-top: .2rem; }
.hero-proximos .rv-prox-k { text-align: center; color: var(--ink-mute); }
.hero-proximos .rv-prox { color: var(--ink); border-color: rgba(0, 168, 255, .28); background: rgba(0, 168, 255, .06); }
.hero-proximos .rv-prox:hover { border-color: var(--accent); }
.hero-scroll-hint { display: none; }
.problem-grid { margin-top: 2rem; }

/* Tarjeta de la reserva, con los tokens de la marca. */
.reserva-card {
  background: rgba(15, 28, 46, .78);
  border: 1px solid rgba(0, 168, 255, .22);
  border-radius: 20px;
  padding: 1.8rem;
  backdrop-filter: blur(20px);
  max-width: 680px;
  margin: 2rem auto 0;
  text-align: left;
}
@media (max-width: 560px) { .reserva-card { padding: 1.2rem; border-radius: 16px; } }

[data-reserva] {
  --rv-accent: #00a8ff;
  --rv-accent-ink: #060b14;
  --rv-surface: rgba(12, 21, 36, .9);
  --rv-surface-2: #0f1c2e;
  --rv-line: rgba(0, 168, 255, .2);
  --rv-text: #f0f4f8;
  --rv-text-soft: rgba(240, 244, 248, .78);
  --rv-text-mute: rgba(240, 244, 248, .62);
  --rv-radius: 12px;
  scroll-margin-top: 84px;
}
.rv-body h3, .rv-q legend { color: var(--ink); }
.rv-noencaja a, .rv-consent a, .rv-error a { color: var(--accent); text-decoration: underline; }
.rv-submit { white-space: normal; text-align: center; min-height: 52px; }
.rv-field textarea { resize: vertical; }
/* El cursor propio de la página oculta el nativo; los controles de la reserva
   no deben mostrar los dos a la vez. */
@media (hover: hover) and (pointer: fine) {
  .rv-option, .rv-day, .rv-slot, .rv-prox, .rv-link, .rv-consent { cursor: none; }
}

/* Barra fija de reserva en móvil */
.sticky-cta { display: none; }
@media (max-width: 760px) {
  .sticky-cta:not([hidden]) {
    display: flex; align-items: center; justify-content: space-between; gap: .8rem;
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 900;
    padding: .7rem 16px calc(.7rem + env(safe-area-inset-bottom));
    background: rgba(6, 11, 20, .94); border-top: 1px solid rgba(0, 168, 255, .25);
    backdrop-filter: blur(14px);
  }
  .sticky-cta-text { display: grid; line-height: 1.25; min-width: 0; }
  .sticky-cta-text strong { font-size: .92rem; }
  .sticky-cta-text span { font-size: .78rem; color: var(--ink-soft); }
  .sticky-cta .btn-primary { min-height: 44px; flex: 0 0 auto; }
  body.has-sticky-cta .site-footer { padding-bottom: 5rem; }
}
.header-cta { min-height: 40px; }

/* El botón y los huecos tienen que caber en la primera pantalla. */
.hero-title { font-size: clamp(2.2rem, 4.6vw, 3.9rem); margin-bottom: 1rem; }
.hero-sub { margin-bottom: 0; }
.hero-cta-wrap { margin-top: 1.4rem; }
