:root{
  --logo-h: 100px;
}
.header .topbar{ color:#fff; }
.header .brand-logo{ height: var(--logo-h); width:auto; display:block; }
.header .reserve-btn{
  font-weight: 800; border:0; border-radius:6px; padding:10px 18px;
  background:#fff; color:#000;
}
.header .reserve-btn:hover{ opacity:.9; }
.header .menubar{ background:#fff; border-bottom:1px solid rgba(0,0,0,.08); }
.header .menubar .navbar { background:#fff !important; }.header .menubar .nav-link{ color:#000; font-weight:700; letter-spacing:.2px; }
.header .menubar .nav-link:hover{ color:#000; opacity:.8; }
.header .menubar .navbar .nav-link{ color:#000 !important; font-weight:700; }
.header .menubar .navbar .nav-link:hover{ color:#000 !important; opacity:.8; }

@media (max-width:767.98px){ .header .topbar .container{ gap:.75rem; } }


/* ===== Footer personalizable ===== */
.site-footer{
  background: var(--footer-bg);
  color: var(--footer-fg);
  padding: 20px 0;
  border-top: 1px solid var(--footer-border);
  font-size: 0.95rem;
}
.site-footer a{
  color: var(--footer-link);
  text-decoration: none;
}
.site-footer a:hover{
  color: var(--footer-link-hover);
  text-decoration: underline;
}

/* ====== HEADER / NAVBAR NUEVO ====== */

/* Topbar de arriba (logo + redes + reservar) */
.header .topbar {
  background: var(--brand-green-dark);
}

/* Barra de menú (la franja donde van HOME / ACTIVIDADES / …) */
.header .menubar {
  background: #ffffff; /* barra completamente blanca */
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.08);
  border-bottom: 2px solid var(--brand-green-light); /* línea finita verde opcional */
}

/* Centramos los ítems del menú y dejamos espacio entre ellos */
.header .navbar-nav {
  width: 100%;
  justify-content: center;
  gap: 2.5rem;
}

/* Estilo de los links del menú */
.header .nav-link {
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #f5fff9;
  padding: 0.9rem 0;
  position: relative;
  font-size: 0.9rem;
}

/* Subrayado elegante al pasar el mouse / activo */
.header .nav-link::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.25rem;
  width: 0;
  height: 2px;
  border-radius: 999px;
  background: #ffffff;
  transform: translateX(-50%);
  transition: width 0.2s ease;
}

.header .nav-link:hover,
.header .nav-link:focus,
.header .nav-link.active {
  color: #ffffff;
}

.header .nav-link:hover::after,
.header .nav-link:focus::after,
.header .nav-link.active::after {
  width: 60%;
}

/* Botón RESERVAR tipo pastilla */
.reserve-btn {
  background: #ffffff;
  color: var(--brand-green-dark);
  font-weight: 700;
  border-radius: 999px;
  padding: 0.5rem 1.4rem;
  border: 2px solid transparent;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
  font-size: 0.9rem;
}

.reserve-btn:hover {
  background: var(--brand-green-light);
  color: #ffffff;
  border-color: #ffffff;
}

/* Iconos de redes un poquito más finos */
.topbar a.text-white.fs-5 {
  opacity: 0.9;
  transition: opacity 0.15s ease, transform 0.1s ease;
}

.topbar a.text-white.fs-5:hover {
  opacity: 1;
  transform: translateY(-1px);
}

