/* =========================
   Topbar general invitados
   ========================= */
.guest-topbar {
  position: sticky;
  top: 0;
  z-index: 1050;
  height: 72px;      
  display: flex;
  align-items: center;
  padding: 0 1.25rem;
  font-family: 'Inter', sans-serif;

  background: linear-gradient(
    180deg,
    rgba(10, 14, 25, 0.72) 0%,
    rgba(7, 11, 20, 0.55) 100%
  );

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);

  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}



/* Estilos de marca / logo */
.guest-navbar .navbar-brand {
  font-weight: 700;
  font-size: 1.6rem;
  color: #fff;
  letter-spacing: 0.5px;
  margin: 0;         /* evita espacios extra */
  padding: 0 0.5rem; /* espaciado mínimo */
}

/* Links principales */
.guest-navbar .nav-link {
  color: #fff;
  font-weight: 500;
  transition: all 0.3s ease;
  margin-right: 1rem;
}
.guest-navbar .nav-link:hover {
  color: #ffc107;
}

/* Dropdown */
.guest-navbar .dropdown-menu {
  border-radius: 0.5rem;
  backdrop-filter: blur(12px);
  background-color: rgba(1, 12, 28, 0.95);
  box-shadow: 0 8px 20px rgba(0,0,0,0.2);
}
.guest-navbar .dropdown-item {
  color: #fff !important;
  padding: 0.6rem 1.5rem;
}
.guest-navbar .dropdown-item:hover {
  background-color: #6610f2 !important;
  color: #fff !important;
}

/* Botón login destacado */
.btn-gtpro {
  border-radius: 50px;
  padding: 0.5rem 1.5rem;
  font-weight: 600;
  color: #fff;
  border: 1px solid #fff;
  transition: all 0.3s ease;
}
.btn-gtpro:hover {
  background: #ffc107;
  color: #000;
  border-color: #ffc107;
  box-shadow: 0 0 12px rgba(255,193,7,0.6);
}

/* Efecto glow en botones */
.btn-hover-glow {
  transition: all 0.3s ease;
}
.btn-hover-glow:hover {
  box-shadow: 0 0 20px rgba(255,193,7,0.5);
  transform: translateY(-2px);
}

/* Hero */
.guest-hero {
  position: relative;
  background: url('/images/hero-bg.jpg') center center/cover no-repeat;
  padding: 6rem 1rem;
  color: #fff;
  text-align: center;
  font-family: 'Inter', sans-serif;
}
.guest-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,0.4);
  z-index: 0;
}
.guest-hero .container {
  position: relative;
  z-index: 1;
}
.guest-hero h1 {
  font-size: 3rem;
  font-weight: 700;
  margin-bottom: 1rem;
  text-shadow: 0 2px 8px rgba(0,0,0,0.5);
}
.guest-hero p {
  font-size: 1.25rem;
  margin-bottom: 2rem;
  text-shadow: 0 1px 4px rgba(0,0,0,0.5);
}

/* Navbar invitado: degradado y blur */
.guest-navbar {
    background:
      linear-gradient(
        180deg,
        rgba(10, 14, 25, 0.72) 0%,
        rgba(7, 11, 20, 0.55) 100%
      );

    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);

    border-bottom: 1px solid rgba(255, 255, 255, 0.06);

    position: relative;
}
/* Imagen logo extra (opcional) */
.guest-navbar .brand-logo {
  margin-left: 0.5rem;
}

/* Asegura espaciado del toggler */
.guest-navbar .navbar-toggler {
  margin-right: 0.6rem;
}

@media (max-width: 991px) {
  .guest-navbar .container-fluid {
    display: grid;
    grid-template-columns: 1fr auto 1fr; /* izq | centro | der */
    align-items: center;
    padding: 0 0.5rem !important;
  }

  /* Logo centrado */
  .guest-navbar .navbar-brand {
    grid-column: 2;
    text-align: center;
    margin: 0 auto !important;
    padding: 0 !important;
  }

  /* Hamburguesa a la derecha */
  .guest-navbar .navbar-toggler {
    grid-column: 3;
    justify-self: end;
    margin: 0 !important;
  }

  /* Menú colapsado ocupa todo el ancho */
  .guest-navbar .navbar-collapse {
    grid-column: 1 / -1;
    margin-top: 0.5rem;
  }
}

.language-selector {
    display: inline-flex;
    gap: 8px;
    font-size: 0.85rem;
}

.language-selector .lang {
    color: #6c757d;
    text-decoration: none;
    font-weight: 500;
}

.language-selector .lang.active {
    color: #0d6efd;
    font-weight: 600;
    cursor: default;
}

.language-selector--compact {
    background: rgba(255,255,255,0.85);
    padding: 6px 10px;
    border-radius: 20px;
    box-shadow: 0 2px 6px rgba(0,0,0,0.08);
}

/* Desktop: toggle a la derecha → dropdown se abre hacia la izquierda */
.language-dropdown-fixed {
    position: fixed;
    top: 1rem;
    right: 1rem;
    z-index: 9999; 
}
.language-dropdown-fixed .dropdown-menu-language {
    right: 0;   /* se abre hacia la izquierda del toggle */
    left: auto;
    min-width: max-content; /* evita cortar texto */
}

/* Móviles: toggle a la izquierda → dropdown se abre hacia la derecha */
@media (max-width: 991px) {
    .language-dropdown-fixed {
        left: 1rem;
        right: auto;
    }
    .language-dropdown-fixed .dropdown-menu-language {
        left: 0 !important;  /* abre desde el toggle hacia la derecha */
        right: auto !important;
        min-width: max-content;
    }
}

/* FIX: quitar bullet del selector de idioma (li suelto) */
.language-dropdown-fixed > li {
    list-style: none;
}


@media (max-width: 991px) {
  .guest-navbar .navbar-brand {
    margin-left: 40% !important;
    transform: translateX(0);
  } 
}

/* =========================
   COSMOS BACKGROUND GLOBAL
   ========================= */

html, body {
  height: 100%;
}

body {
  margin: 0;
  padding: 0;
  color: #fff;
  font-family: 'Inter', sans-serif;

  /* Fondo base cosmos */
  background: radial-gradient(ellipse at bottom,
      #061a33 0%,
      #020617 40%,
      #000000 100%);
  overflow-x: hidden;
  position: relative;
}