/* NORLAB Mobile Fixes + Fluid Menu */

/* ── Hero móvil ──────────────────────────────────────── */
@media(max-width:768px){
  .hero-visual{min-height:auto!important;height:auto!important}
  .hero-content{gap:16px!important}
  .hero-person-circle{width:260px!important;height:260px!important}
  .hero-person-circle img{width:100%!important;height:100%!important;object-fit:cover!important}
}

/* ── Menú móvil — slide suave con easing ─────────────── */
.mobile-menu {
  transition: right 0.38s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.mobile-menu-overlay {
  transition: opacity 0.35s ease, visibility 0.35s ease !important;
}

/* Ítems del menú — fade+slide escalonado al abrir */
.mobile-menu.active .mobile-nav-item {
  animation: menuItemIn 0.35s ease forwards;
  opacity: 0;
}
.mobile-menu.active .mobile-nav-item:nth-child(1){ animation-delay: 0.06s }
.mobile-menu.active .mobile-nav-item:nth-child(2){ animation-delay: 0.10s }
.mobile-menu.active .mobile-nav-item:nth-child(3){ animation-delay: 0.14s }
.mobile-menu.active .mobile-nav-item:nth-child(4){ animation-delay: 0.18s }
.mobile-menu.active .mobile-nav-item:nth-child(5){ animation-delay: 0.22s }
.mobile-menu.active .mobile-nav-item:nth-child(6){ animation-delay: 0.26s }
.mobile-menu.active .mobile-nav-item:nth-child(7){ animation-delay: 0.30s }

@keyframes menuItemIn {
  from { opacity:0; transform:translateX(18px) }
  to   { opacity:1; transform:translateX(0) }
}

/* Links hover — transición suave */
.mobile-nav-link {
  transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease !important;
  border-radius: 8px;
  margin: 0 8px;
}
.mobile-nav-link:hover {
  padding-left: 28px !important;
}

/* Ícono chevron — rotación suave */
.mobile-nav-link i {
  transition: transform 0.28s cubic-bezier(0.4, 0, 0.2, 1) !important;
}

/* ── Submenú — slide suave (reemplaza display:none) ──── */
.mobile-submenu {
  display: block !important;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.32s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.25s ease !important;
  opacity: 0;
  padding: 0 !important;
}
.mobile-nav-item.active .mobile-submenu {
  max-height: 600px !important;
  opacity: 1 !important;
  padding: 6px 0 !important;
}

/* Ítems del submenú */
.mobile-submenu a {
  transition: background 0.18s ease, color 0.18s ease, padding-left 0.18s ease !important;
  border-radius: 6px;
  margin: 1px 8px;
}
.mobile-submenu a:hover {
  padding-left: 48px !important;
}

/* ── Botones CTA del menú ────────────────────────────── */
.mobile-menu .btn-wa-sm,
.mobile-menu .btn-nav-outline,
.mobile-menu [class*="btn"] {
  transition: transform 0.18s ease, opacity 0.18s ease, box-shadow 0.18s ease !important;
}
.mobile-menu .btn-wa-sm:hover,
.mobile-menu .btn-nav-outline:hover,
.mobile-menu [class*="btn"]:hover {
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important;
}

/* ── Desktop nav — mega-menu más suave ───────────────── */
.mega-menu {
  transition: opacity 0.22s ease, transform 0.22s cubic-bezier(0.4,0,0.2,1), visibility 0.22s ease !important;
}
.nav-link {
  transition: color 0.2s ease !important;
}
.nav-link::after {
  transition: width 0.25s cubic-bezier(0.4,0,0.2,1) !important;
}
