/* ============================================================
   rg-navbar-revamp.css
   Estilos del Navbar V2 - Extraídos de NavbarRevamp.cshtml
   para evitar conflictos de parsing con el motor Razor
   ============================================================ */

/* ── Estructura principal ─────────────────────────────────── */
nav#navbar {
  height: 90px !important;
  line-height: normal !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  justify-content: center;
  background: #fff !important;
  position: fixed;
  top: 0; left: 0;
  width: 100%;
  z-index: 1000;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06);
}

#navbar .nav-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  max-width: 1160px;
  padding: 0 40px;
  box-sizing: border-box;
}

#navbar .nav-logo {
  flex-shrink: 0;
  gap: 0;
  font-size: 0;
  line-height: 0;
  color: transparent;
}

#navbar .nav-logo .nav-logo-wordmark {
  display: block;
  width: 72px;
  height: 36px;
}

/* ── Links de navegación ──────────────────────────────────── */
#navbar .nav-links {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 16px;
  flex: 1;
  margin: 0 16px;
}

/* En sesión iniciada no se renderiza .nav-links (sólo invitados / landing). */

#navbar .nav-links a {
  font-size: 14px !important;
  font-weight: 700;
  color: #555;
  text-transform: none !important;
  white-space: nowrap !important;
}

/* ── Acciones / Botones ───────────────────────────────────── */
#navbar .nav-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}

#navbar .btn {
  font-size: 14px !important;
  font-weight: 700;
  text-transform: none !important;
  white-space: nowrap !important;
  letter-spacing: 0 !important;
  height: 44px !important;
  line-height: 44px !important;
  padding: 0 16px !important;
  border-radius: 100px !important;
}

#navbar .nav-user-name {
  color: #2E3FA3;
  font-weight: 800;
}

#navbar .nav-user-area.visible {
  display: flex !important;
}

#navbar .nav-user-greeting {
  text-align: right;
}

#navbar .nav-user-hello {
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0;
  color: #8a8fa8;
}

#navbar .nav-user-pts {
  font-family: "Nunito", sans-serif;
  font-size: 14px;
  font-weight: 900;
  line-height: 1.3;
  color: #CE0037;
}

#navbar .nav-user-pts:hover {
  text-decoration: underline;
}

#navbar .nav-icon-cluster {
  display: flex;
  align-items: center;
  gap: 4px;
}

#navbar .nav-icon-btn {
  width: 38px;
  height: 38px;
  padding: 0;
  border-radius: 50%;
  border: none;
  background: transparent;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  color: #1b2b6b;
  transition: background 0.2s;
  cursor: pointer;
  -webkit-appearance: none;
  appearance: none;
}

#navbar .nav-icon-btn:hover {
  background: #e8ebf7;
}

#navbar .nav-icon-btn svg {
  width: 20px;
  height: 20px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* Dropdown de cuenta: ver Content/App/rg-account-dropdown-revamp.css */

#navbar .nav-hamburger {
  display: none;
}

@media (max-width: 992px) {
  #navbar .nav-inner {
    gap: 8px;
  }

  #navbar .nav-user-area.visible {
    margin-left: auto;
    gap: 8px;
  }

  #navbar .nav-user-greeting {
    text-align: left;
  }

  #navbar .nav-user-hello {
    font-size: 12px;
  }

  #navbar .nav-user-pts {
    font-size: 18px;
  }

  #navbar .nav-hamburger {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 24px;
    height: 24px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    margin-left: 12px;
  }

  #navbar .nav-hamburger span {
    width: 24px;
    height: 2px;
    background: #1b2b6b;
    border-radius: 10px;
    transition: all 0.3s linear;
    position: relative;
    transform-origin: 1px;
  }

  #navbar .nav-links, #navbar .nav-actions {
    display: none !important;
  }
}

/* ── Override: el modal de Materialize NO debe tener fondo blanco propio ── */
/* El fondo blanco lo aporta el div interno, no el wrapper del modal          */
#modalMainMenu.modal.cg-mobile-modal {
  background-color: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  overflow: hidden !important;
  /* Anclaje a la derecha para que baje desde el botón hamburguesa */
  margin: 0 0 0 auto !important;
  left: auto !important;
  right: 0 !important;
  width: 85% !important;
  max-width: 380px !important;
}

/* La "tarjeta" blanca del menú ocupa solo su contenido, no toda la pantalla */
#modalMainMenu.modal.cg-mobile-modal > div {
  background-color: #fff;
  border-radius: 0 0 0 16px;
  overflow-y: auto;
  max-height: 85vh;
  padding: 0 !important;
}

/* Garantizar que el hamburger sea siempre visible en mobile */
@media only screen and (max-width: 993px) {
  .nav-hamburger {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }
  
  body #navbar .nav-inner .nav-user-area .nav-icon-cluster #nav-account-btn {
    display: none !important;
  }
  
  body #navbar .nav-inner .nav-user-area .nav-user-greeting {
    display: none !important;
  }
}

/* ── Menú mobile logueado (modal) ── */
.mob-user-header { display:flex; align-items:center; gap:14px; padding:20px 0 18px; border-bottom:1px solid var(--gray-line); margin-bottom:4px; }
.mob-user-avatar { width:44px; height:44px; border-radius:50%; background:var(--blue); color:#fff; font-family:var(--font-display); font-weight:900; font-size:16px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mob-user-name { font-family:var(--font-display); font-weight:800; font-size:15px; color:var(--blue); }
.mob-user-pts { font-size:13px; color:var(--muted); margin-top:2px; }
.mob-group { border-bottom:1px solid var(--gray-line); padding:6px 0; }
.mob-group:last-child { border-bottom:none; }
.mob-item { width:100%; display:flex; align-items:center; gap:14px; background:none; border:none; cursor:pointer; padding:13px 4px; text-align:left; font-family:var(--font-display); font-weight:700; font-size:15px; color:var(--text); transition:background .15s; border-radius:var(--r-sm); text-decoration:none !important; outline:none; }
.mob-item:hover { background:var(--gray-bg); }
.mob-item-icon { width:36px; height:36px; border-radius:10px; background:var(--blue-light); display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.mob-item-icon svg { width:18px; height:18px; stroke:var(--blue-mid); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.mob-item span { flex:1; }
.mob-item-arrow { width:16px; height:16px; stroke:var(--gray-mid); fill:none; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; flex-shrink:0; }

/* ── Menú mobile NO logueado (modal) ── */
.mob-nav-link {
  display: block;
  padding: 16px 4px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--blue);
  text-decoration: none !important;
  border-bottom: 1px solid var(--gray-line);
  transition: color .15s;
}
.mob-nav-link:hover { color: var(--rg-red, #CE0037); }

.mob-btn-primary {
  display: block;
  width: 100%;
  padding: 14px 24px;
  background: #CE0037;
  color: #fff !important;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  text-align: center;
  text-decoration: none !important;
  border-radius: 10px;
  transition: background .2s;
}
.mob-btn-primary:hover { background: #c41f1f; }

.mob-btn-outline {
  display: block;
  width: 100%;
  padding: 13px 24px;
  background: transparent;
  color: var(--blue) !important;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 15px;
  text-align: center;
  text-decoration: none !important;
  border: 1.5px solid #d1d5e0;
  border-radius: 10px;
  transition: border-color .2s, background .2s;
}
.mob-btn-outline:hover { border-color: var(--blue); background: #f0f2f8; }

