/* ═══════════════════════════════════════════════════════════════
   EverSpan Life – Navigation v2 (Figma: node 169:391 / 169:404)
   Layers on top of everspan-nav.css, scoped to the -v2 modifiers
   added in header-v2.php. Does not touch the original header.
   ═══════════════════════════════════════════════════════════════ */

.esl-nav.esl-nav-v2 {
  height: 116px;
  background: rgba(255,255,255,0.05);
  backdrop-filter: blur(20px);
  border-bottom: none;
  border-radius: 0 0 var(--radius-lg) var(--radius-lg);
  box-shadow: var(--shadow-sm);
}

/* ─── Dark variant (header-v2-dark.php) ────────────────────── */
.esl-nav.esl-nav-v2-dark {
  background: #0c162a;
  backdrop-filter: none;
}

.esl-nav-v2-dark .esl-nav-links a,
.esl-nav-v2-dark .btn-login .esl-nav-login {
  color: #fff;
}

.esl-nav-v2-dark .esl-nav-links a:hover,
.esl-nav-v2-dark .btn-login .esl-nav-login:hover {
  color: #fff;
  opacity: 0.7;
}

.esl-container-header{
  width: 100%;
  padding-left: clamp(20px, 6.5vw, 125px);
  padding-right: clamp(20px, 3.6vw, 70px);
}

.page-id-1476 .esl-nav-inner .btn-login{
  margin-right: 0;
}

.btn-login {
    display: flex;
    gap: 50px;
}

.esl-nav-v2 .esl-container-header {
  height: 100%;
  display: flex;
  align-items: center;
}

.esl-nav-v2 .esl-nav-inner {
  width: 100%;
  height: 100%;
}

.esl-nav-v2 .esl-nav-logo-img-v2 {
  width: 205px !important;
  max-width: 205px !important;
  height: auto !important;
  display: block;
}

.esl-nav-v2 .esl-nav-links {
  gap: 2.8vw;
}

.esl-nav-v2 .esl-nav-links a,
.esl-nav-v2 .btn-login .esl-nav-login {
  font-family: 'Altform', 'Outfit', sans-serif!important;
  font-size: 18px;
  font-weight: 400;
  line-height: 1.48;
  color: var(--text);
}

.esl-nav-v2 .esl-nav-links a:hover,
.esl-nav-v2 .btn-login .esl-nav-login:hover {
  color: var(--text);
  opacity: 0.7;
}

.esl-nav-v2 .btn-login {
  align-items: center;
}

.esl-nav-v2 .btn-login .esl-nav-login {
  display: flex;
  align-items: center;
  gap: 8px;
}

.esl-nav-v2 .esl-nav-toggle span {
  background: var(--text);
}

/* ─── Burger ⇄ Close (X) morph ─────────────────────────────── */
.esl-nav-v2 .esl-nav-toggle {
  position: relative;
  width: 42px;
  height: 38px;
  padding: 0;
}

.esl-nav-v2 .esl-nav-toggle-icon {
  position: relative;
  display: block;
  width: 42px;
  height: 38px;
}

.esl-nav-v2 .esl-nav-toggle-dots,
.esl-nav-v2 .esl-nav-toggle-close {
  position: absolute;
  inset: 0;
  transition: opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Dots: visible by default, implode inward on open */
.esl-nav-v2 .esl-nav-toggle-dots {
  opacity: 1;
  transition-delay: 0.12s;
}

.esl-nav-v2 .esl-nav-toggle-dots circle {
  transform-box: fill-box;
  transform-origin: center;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1),
              opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.esl-nav-v2 .esl-nav-toggle.active .esl-nav-toggle-dots {
  opacity: 0;
  transition-delay: 0s;
}

.esl-nav-v2 .esl-nav-toggle.active .esl-nav-toggle-dots circle {
  opacity: 0;
}

.esl-nav-v2 .esl-nav-toggle.active .esl-nav-toggle-dots circle:nth-child(1) { transform: translate(15px, 13px) scale(0.2); }
.esl-nav-v2 .esl-nav-toggle.active .esl-nav-toggle-dots circle:nth-child(2) { transform: translate(-15px, 13px) scale(0.2); transition-delay: 0.03s; }
.esl-nav-v2 .esl-nav-toggle.active .esl-nav-toggle-dots circle:nth-child(3) { transform: translate(-15px, -13px) scale(0.2); transition-delay: 0.06s; }
.esl-nav-v2 .esl-nav-toggle.active .esl-nav-toggle-dots circle:nth-child(4) { transform: translate(15px, -13px) scale(0.2); transition-delay: 0.09s; }

/* Close (X): hidden by default, scales/rotates in on open */
.esl-nav-v2 .esl-nav-toggle-close {
  opacity: 0;
  transform: rotate(-45deg) scale(0.4);
  transition-delay: 0s;
}

.esl-nav-v2 .esl-nav-toggle.active .esl-nav-toggle-close {
  opacity: 1;
  transform: rotate(0deg) scale(1);
  transition-delay: 0.14s;
}

@media (prefers-reduced-motion: reduce) {
  .esl-nav-v2 .esl-nav-toggle-dots,
  .esl-nav-v2 .esl-nav-toggle-close,
  .esl-nav-v2 .esl-nav-toggle-dots circle {
    transition-duration: 0.01ms !important;
    transition-delay: 0s !important;
  }
}

@media (max-width: 1023px) {
	.esl-nav-v2 .esl-container-header{
		padding-left: 20px;
		padding-right: 20px;
	}
	.esl-nav-v2 .esl-nav-logo-img-v2{
		width: 110px!important;
		height: auto!important;
	}
	.esl-nav.esl-nav-v2{
		height: 80px!important;
	}
	.btn-login span{
		display: block!important;
	}
	.btn-login{
		gap: 30px;
	}
	.esl-mega-menu-v2{
		top: 80px!important;
	}
  .esl-nav-v2 .esl-nav-links.mobile-open {
    top: 116px;
    min-height: calc(100vh - 116px);
    max-height: calc(100vh - 116px);
    background: rgba(255,255,255,0.95);
    backdrop-filter: blur(20px);
    border-bottom: 1px solid var(--border-2);
  }
	
	.desktop {
        display: none;
    }

  .esl-nav-v2 .esl-nav-links.mobile-open a {
    color: var(--text);
  }

  .esl-nav-v2-dark .esl-nav-links.mobile-open {
    background: rgba(12,22,42,0.98);
    border-bottom: 1px solid rgba(255,255,255,0.1);
  }

  .esl-nav-v2-dark .esl-nav-links.mobile-open a {
    color: #fff;
  }
}

.esl-mega-menu-v2 {
  top: 116px;
}

.esl-sticky-cta-v2 {
  border-radius: var(--radius-lg) var(--radius-lg) 0 0;
}
