/* ==========================================================================
   layout/header.css
   Barra de navegación superior, "píldora" del enlace activo y menú móvil.
   ========================================================================== */
.nav {
  position: fixed; top: 14px; left: 50%; transform: translate(-50%, -120%); z-index: 50;
  width: min(var(--maxw), calc(100% - 24px)); height: 66px; padding: 0 10px 0 20px;
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  border-radius: 999px; border: 1px solid transparent; transition: transform 1s var(--ease) .3s, background .4s, border-color .4s, height .4s;
}
.ready .nav { transform: translate(-50%, 0); }
.nav.scrolled { background: rgba(12,12,16,.72); border-color: var(--line); backdrop-filter: blur(18px) saturate(1.4); -webkit-backdrop-filter: blur(18px) saturate(1.4); height: 60px; }
.nav__logo img { height: 34px; width: auto; }
.nav__links { position: relative; display: flex; gap: 4px; padding: 5px; border-radius: 999px; background: rgba(255,255,255,.04); border: 1px solid var(--line); }
.nav__links a { position: relative; z-index: 1; padding: .5em 1em; border-radius: 999px; font-size: .9rem; font-weight: 600; color: var(--muted); transition: color .3s; }
.nav__links a:hover, .nav__links a.active { color: #fff; }
.nav__pill { position: absolute; z-index: 0; top: 5px; bottom: 5px; left: 0; border-radius: 999px; background: var(--red); box-shadow: 0 6px 20px -6px var(--red); opacity: 0; transition: transform .5s var(--ease), width .5s var(--ease), opacity .3s; }
.nav__actions { display: flex; align-items: center; gap: 8px; }
.cart-btn { position: relative; width: 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line-2); background: rgba(255,255,255,.04); transition: all .3s; }
.cart-btn:hover { border-color: var(--red); }
.cart-btn b { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--red); font-size: .7rem; display: grid; place-items: center; transform: scale(0); transition: transform .3s var(--ease); }
.cart-btn.has b { transform: scale(1); }
.cart-btn.bump { animation: bump .5s var(--ease); }
@keyframes bump { 30% { transform: scale(1.25) rotate(-8deg); } 60% { transform: scale(.92); } }
.burger { display: none; width: 44px; height: 44px; border-radius: 50%; background: var(--red); position: relative; }
.burger span { position: absolute; left: 13px; right: 13px; height: 2px; background: #fff; border-radius: 2px; transition: transform .4s var(--ease); }
.burger span:first-child { top: 17px; } .burger span:last-child { top: 25px; }
.burger.open span:first-child { transform: translateY(4px) rotate(45deg); }
.burger.open span:last-child { transform: translateY(-4px) rotate(-45deg); }
.mobile-menu { position: fixed; inset: 0; z-index: 45; background: rgba(8,8,11,.96); backdrop-filter: blur(12px); display: flex; flex-direction: column; justify-content: center; gap: 30px; padding: 90px var(--gutter) 40px; clip-path: circle(0 at calc(100% - 44px) 46px); transition: clip-path .8s var(--ease); }
.mobile-menu.open { clip-path: circle(150% at calc(100% - 44px) 46px); }
.mobile-menu nav { display: flex; flex-direction: column; }
.mobile-menu nav a { font-family: var(--font-d); font-size: clamp(1.8rem, 8vw, 2.6rem); font-weight: 700; padding: .25em 0; border-bottom: 1px solid var(--line); display: flex; align-items: baseline; gap: 14px; opacity: 0; transform: translateY(20px); transition: all .6s var(--ease); }
.mobile-menu nav a em { font-family: var(--font-b); font-size: .85rem; color: var(--red); }
.mobile-menu.open nav a { opacity: 1; transform: none; }
.mobile-menu.open nav a:nth-child(2) { transition-delay: .05s; } .mobile-menu.open nav a:nth-child(3) { transition-delay: .1s; }
.mobile-menu.open nav a:nth-child(4) { transition-delay: .15s; } .mobile-menu.open nav a:nth-child(5) { transition-delay: .2s; } .mobile-menu.open nav a:nth-child(6) { transition-delay: .25s; }
