/* ============================================================
   LANDING — single-page overrides
   ============================================================ */

html {
  scroll-behavior: smooth;
}

/* Header fijo que flota sobre el hero en desktop */
.landing-page .page-header-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10000;
  transition: background-color 0.35s ease;
}

/* En móvil el wrapper no necesita ser sticky
   (el hamburger ya es fixed por style.css) */
@media (max-width: 768px) {
  .landing-page .page-header-wrapper {
    position: static;
  }
}

/* Offset de anclas para el header fijo (~88px) */
.landing-page #acerca,
.landing-page #servicios,
.landing-page #noticias,
.landing-page #contacto {
  scroll-margin-top: 88px;
}

/* El hero wrapper va justo después del header */
.landing-hero-wrapper {
  position: relative;
}

/* La flecha decorativa debe flotar sobre el header fijo */
.landing-hero-wrapper .global-arrow {
  z-index: 10001;
}

/* Hero: padding suficiente para que el contenido quede bajo el header fijo (~88px) */
.landing-page .hero {
  padding-top: 9rem;
}

/* Separadores visuales entre secciones */
.landing-divider {
  height: 4px;
  background: linear-gradient(90deg, var(--orange) 0%, var(--blue-dark) 100%);
  opacity: 0.25;
}

/* Cada sección ocupa al menos 80vh para llenar la pantalla */
.landing-page .acerca-main {
  min-height: 60vh;
  padding-top: 10rem;
}

.landing-page .servicios-hero {
  min-height: 80vh;
}

.landing-page .noticias-featured {
  min-height: 50vh;
  padding-top: 10rem;
  margin-bottom: 10rem;
}



.landing-page #contacto {
  min-height: 40vh;
  padding-top: 5rem;
}

/* Contacto: quitar el z-index relativo para que el logo absoluto funcione */
.landing-page #contacto {
  position: relative;
}

/* Traducción activa en navbar del landing */
.landing-page .nav-active {
  color: var(--orange) !important;
  border-bottom: 2px solid var(--orange);
  padding-bottom: 3px;
}

/* Flecha decorativa del header: oculta en hero, visible al salir */
.landing-page .page-header-wrapper .header-arrow {
  opacity: 0;
  transition: opacity 0.35s ease;
}

.landing-page.scrolled-past-hero .page-header-wrapper .header-arrow {
  opacity: 1;
}

/* Separador blanco bajo el top-bar */
.landing-page .separador-blanco {
  height: 7px;
  background: #ffffff;
}

/* Separador decorativo: oculto en el hero, visible al salir */
.landing-page .page-header-wrapper .separador {
  opacity: 0;
  transition: opacity 0.35s ease;
}

.landing-page.scrolled-past-hero .page-header-wrapper .separador {
  opacity: 1;
}

/* Logo del navbar: oculto en el hero, visible al salir */
.landing-page .navbar-brand {
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.35s ease;
}

.landing-page.scrolled-past-hero .navbar-brand {
  opacity: 1;
  pointer-events: auto;
}

/* Navbar siempre transparente — el color azul viene del wrapper cuando hay scroll */
.landing-page .navbar--solid {
  background-color: transparent !important;
}
