/* ---------- Shared desktop and mobile navigation ---------- */
header.main-nav nav.links{
  gap:18px;
  font-size:13.5px;
  font-weight:650;
}

header.main-nav .btn-quote{
  transform-origin:center;
  animation:free-samples-attention 2.8s ease-in-out infinite;
  will-change:transform,box-shadow;
}
header.main-nav .btn-quote:hover{
  animation-play-state:paused;
  transform:translateY(-1px) scale(1.035);
  box-shadow:0 9px 24px rgba(91,61,245,.34);
}
@keyframes free-samples-attention{
  0%,100%{
    transform:translateY(0) scale(1);
    box-shadow:0 4px 12px rgba(91,61,245,.2);
  }
  50%{
    transform:translateY(-1px) scale(1.035);
    box-shadow:0 9px 26px rgba(91,61,245,.42);
  }
}

.mobile-menu-toggle{display:none;}
.mobile-nav-panel[hidden]{display:none;}
.mobile-nav-panel{
  position:fixed;
  inset:0;
  z-index:90;
  display:flex;
  flex-direction:column;
  padding:
    max(20px,env(safe-area-inset-top))
    max(22px,env(safe-area-inset-right))
    max(28px,env(safe-area-inset-bottom))
    max(22px,env(safe-area-inset-left));
  background:var(--paper);
  color:var(--ink);
  opacity:0;
  visibility:hidden;
  transform:translateX(100%);
  transition:
    transform .28s cubic-bezier(.22,.72,.24,1),
    opacity .2s ease,
    visibility 0s linear .28s;
}
.mobile-nav-panel.is-open{
  opacity:1;
  visibility:visible;
  transform:translateX(0);
  transition-delay:0s;
}
.mobile-nav-toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:54px;
}
.mobile-nav-back,.mobile-nav-close{
  position:relative;
  width:48px;
  height:48px;
  padding:0;
  border:0;
  border-radius:14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  color:var(--ink);
  font:inherit;
  cursor:pointer;
}
.mobile-nav-back:active,.mobile-nav-close:active{
  background:var(--cream);
  transform:scale(.94);
}
.mobile-nav-back:focus-visible,.mobile-nav-close:focus-visible{
  outline:3px solid rgba(91,61,245,.3);
  outline-offset:2px;
}
.mobile-nav-close span{
  position:absolute;
  width:25px;
  height:2.5px;
  border-radius:2px;
  background:currentColor;
}
.mobile-nav-close span:first-child{transform:rotate(45deg);}
.mobile-nav-close span:last-child{transform:rotate(-45deg);}
.mobile-nav-links{
  display:flex;
  flex-direction:column;
  margin-top:42px;
}
.mobile-nav-links a{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  min-height:76px;
  padding:0 10px;
  border-bottom:1px solid var(--line);
  color:var(--ink);
  font-size:22px;
  font-weight:600;
  letter-spacing:-.01em;
}
.mobile-nav-links a > span:last-child{
  color:var(--muted);
  font-size:34px;
  font-weight:300;
  line-height:1;
}
.mobile-nav-links a:active{
  color:var(--indigo);
  background:var(--cream);
}
.mobile-nav-links a:focus-visible{
  outline:3px solid rgba(91,61,245,.28);
  outline-offset:-3px;
  border-radius:10px;
}
.mobile-nav-links .mobile-nav-quote{
  color:var(--indigo);
  font-weight:800;
}
body.mobile-nav-open{overflow:hidden;}
body.mobile-nav-open .whatsapp-widget{z-index:120;}
body.mobile-nav-open .pin-top-btn{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}

@media (prefers-reduced-motion:reduce){
  .mobile-nav-panel{transition:none;}
  header.main-nav .btn-quote{animation:none;}
}

@media (max-width:720px){
  header.main-nav .nav-inner{
    padding:12px 16px;
    gap:10px;
  }
  header.main-nav .nav-actions{gap:9px;}
  header.main-nav .btn-quote{
    padding:10px 15px;
    font-size:13px;
    white-space:nowrap;
  }
  .mobile-menu-toggle{
    width:46px;
    height:46px;
    flex:0 0 46px;
    padding:0;
    border:0;
    border-radius:12px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:5px;
    background:transparent;
    color:var(--ink);
    font:inherit;
    cursor:pointer;
    -webkit-tap-highlight-color:transparent;
  }
  .mobile-menu-toggle span{
    display:block;
    width:25px;
    height:2.5px;
    border-radius:2px;
    background:currentColor;
  }
  .mobile-menu-toggle:active{
    background:var(--cream);
    transform:scale(.94);
  }
  .mobile-menu-toggle:focus-visible{
    outline:3px solid rgba(91,61,245,.3);
    outline-offset:2px;
  }
}

@media (max-width:430px){
  header.main-nav .logo{
    gap:8px;
    font-size:22px;
  }
  header.main-nav .logo-mark{
    width:42px;
    height:42px;
    flex-basis:42px;
    border-radius:11px;
  }
  header.main-nav .logo .tag{
    font-size:8px;
    letter-spacing:2.2px;
  }
  header.main-nav .btn-quote{
    padding:9px 11px;
    font-size:12px;
  }
  header.main-nav .nav-actions{gap:5px;}
  .mobile-menu-toggle{
    width:42px;
    height:42px;
    flex-basis:42px;
  }
  .mobile-menu-toggle span{width:23px;}
  .mobile-nav-links{margin-top:28px;}
  .mobile-nav-links a{
    min-height:70px;
    font-size:20px;
  }
}
