/* Everest Growth · Navegación compartida (todas las páginas)
   - Selector de idioma con banderas (el HTML lo genera i18n.js dentro de [data-lang-switch]).
   - Menú móvil a pantalla completa (.mnav), lo controla site-nav.js.
   Los selectores llevan "html" delante para ganarle a las reglas viejas de cada página
   sin importar en qué orden se cargue este archivo. */

/* ===== Selector de idioma (combobox con banderas) ===== */
.lang{ position:relative; flex:none; }
.lang:empty{ display:block; width:84px; height:40px; }   /* reserva el espacio mientras i18n.js lo dibuja */
html #nav .lang{ margin-left:.35rem; }
.lang__btn{
  display:inline-flex; align-items:center; gap:.45rem; height:40px; padding:0 .7rem 0 .45rem;
  border-radius:var(--r-pill, 999px); color:rgba(255,255,255,.92);
  font-family:var(--font-display, "Space Grotesk", system-ui, sans-serif); font-weight:600; font-size:.86rem; letter-spacing:.03em;
  background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);
  transition:background .2s ease, box-shadow .2s ease, color .2s ease, transform .16s var(--ease-out, cubic-bezier(.16,1,.3,1));
  -webkit-tap-highlight-color:transparent; touch-action:manipulation;
}
@media (hover:hover) and (pointer:fine){ .lang__btn:hover{ background:rgba(255,255,255,.12); } }
.lang__btn:active{ transform:scale(.96); }
.lang__flag{ display:block; flex:none; width:20px; height:20px; border-radius:50%; overflow:hidden;
  box-shadow:0 0 0 1px rgba(255,255,255,.22); }
.lang__flag svg{ display:block; width:100%; height:100%; }
.lang__btn .lang__flag--en,
html[data-lang="en"] .lang__btn .lang__flag--es{ display:none; }
html[data-lang="en"] .lang__btn .lang__flag--en{ display:block; }
.lang__code::before{ content:"ES"; }
html[data-lang="en"] .lang__code::before{ content:"EN"; }
.lang__chev{ opacity:.7; transition:transform .22s var(--ease-out, cubic-bezier(.16,1,.3,1)); }
.lang.is-open .lang__chev{ transform:rotate(180deg); }

.lang__list{
  position:absolute; top:calc(100% + 10px); right:0; z-index:5; min-width:214px;
  margin:0; padding:6px; list-style:none;
  background:#0d1426; border-radius:16px;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.10), 0 18px 40px -16px rgba(0,0,0,.75);
  transform-origin:top right; opacity:0; visibility:hidden; transform:translateY(-4px) scale(.96);
  transition:opacity .14s ease, transform .14s ease, visibility 0s linear .14s;
}
.lang.is-open .lang__list{ opacity:1; visibility:visible; transform:none;
  transition:opacity .18s var(--ease-out, cubic-bezier(.16,1,.3,1)), transform .22s cubic-bezier(.23,1,.32,1), visibility 0s; }
.lang__list:focus{ outline:none; }
.lang__opt{ display:flex; align-items:center; gap:.7rem; min-height:50px; padding:.5rem .7rem;
  border-radius:11px; color:#eaf0fb; cursor:pointer; transition:background .15s ease; }
.lang__opt .lang__flag{ width:26px; height:26px; }
.lang__opt.is-active{ background:rgba(79,147,255,.14); }
.lang__list:focus-visible .lang__opt.is-active{ box-shadow:inset 0 0 0 2px var(--blue-400, #4f93ff); }
.lang__txt{ display:flex; flex-direction:column; flex:1; line-height:1.25; }
.lang__txt b{ font-family:var(--font-display, "Space Grotesk", system-ui, sans-serif); font-weight:600; font-size:.95rem; }
.lang__txt small{ font-size:.76rem; color:#a8b6d4; }
.lang__check{ flex:none; color:var(--blue-300, #7fc4ff); opacity:0; }
.lang__opt[aria-selected="true"] .lang__check{ opacity:1; }

/* ===== Menú móvil: panel a pantalla completa ===== */
.mnav{ display:none; }
html.menu-open, html.menu-open body{ overflow:hidden; }

@media (max-width:920px){
  html #nav .lang{ margin-left:0; }
  html #nav .pillnav__logo{ margin-right:auto; }   /* idioma + menú siempre juntos a la derecha */
  html #nav .nav__toggle{ margin-left:0; width:44px; height:44px; padding:0; align-items:center; justify-content:center; }
  html #nav.nav--solid:not(.is-menu-open) .lang__btn{ color:#0b1c48; background:rgba(11,28,72,.05);
    box-shadow:inset 0 0 0 1px rgba(11,28,72,.16); }

  /* Con el menú abierto la barra se funde con el panel */
  html #nav.is-menu-open, html:root:not([data-theme]) #nav.is-menu-open{
    background:transparent; box-shadow:none; -webkit-backdrop-filter:none; backdrop-filter:none; }
  html #nav.is-menu-open::after, html:root:not([data-theme]) #nav.is-menu-open::after{ display:none; }
  html #nav.is-menu-open .nav__toggle span, html:root:not([data-theme]) #nav.is-menu-open .nav__toggle span{ background:#fff; }

  .mnav{
    position:fixed; inset:0; z-index:calc(var(--z-nav, 100) - 1);
    display:flex; flex-direction:column; overflow-x:hidden; overflow-y:auto; overscroll-behavior:contain;
    padding:calc(72px + env(safe-area-inset-top)) clamp(1.25rem, 6vw, 2rem) calc(1.1rem + env(safe-area-inset-bottom));
    background:
      radial-gradient(120% 55% at 100% 0%, rgba(47,111,224,.30), transparent 62%),
      radial-gradient(90% 45% at 0% 100%, rgba(31,95,209,.14), transparent 70%),
      #070b18;
    clip-path:inset(0 0 100% 0); visibility:hidden;
    transition:clip-path .3s cubic-bezier(.77,0,.175,1), visibility 0s linear .3s;
  }
  .mnav.is-open{ clip-path:inset(0 0 0 0); visibility:visible;
    transition:clip-path .55s cubic-bezier(.32,.72,0,1), visibility 0s; }

  .mnav__mark{ position:absolute; right:-16%; bottom:4%; width:80%; max-width:440px; height:auto;
    opacity:.05; transform:rotate(-8deg); pointer-events:none; user-select:none; }

  .mnav__body{ position:relative; display:flex; flex-direction:column; flex:1 0 auto; }
  .mnav__list{ margin:0; padding:clamp(.5rem, 3vh, 1.75rem) 0 0; list-style:none;
    display:flex; flex-direction:column; gap:clamp(0rem, 1vh, .45rem); }
  .mnav__link{ display:grid; grid-template-columns:1fr auto; column-gap:1rem; align-items:center;
    padding:.65rem 0; color:#eaf0fb; -webkit-tap-highlight-color:transparent; touch-action:manipulation; }
  .mnav__mask{ display:block; grid-column:1; overflow:hidden; }
  .mnav__label{ display:block; padding-bottom:.06em;
    font-family:var(--font-display, "Space Grotesk", system-ui, sans-serif); font-weight:600; font-size:clamp(1.8rem, 8.4vw, 2.5rem);
    line-height:1.06; letter-spacing:-0.025em; transition:color .2s ease; }
  .mnav__desc{ display:block; margin-top:.15rem; font-size:.9rem; line-height:1.4; color:#a8b6d4; }
  .mnav__go{ grid-column:2; grid-row:1 / span 2; display:grid; place-items:center;
    width:44px; height:44px; border-radius:50%; color:#eaf0fb;
    box-shadow:inset 0 0 0 1px rgba(255,255,255,.16);
    transition:background .2s ease, box-shadow .2s ease, transform .18s var(--ease-out, cubic-bezier(.16,1,.3,1)); }
  .mnav__link:active .mnav__go{ transform:translateX(3px) scale(.94); }
  .mnav__link:active .mnav__label,
  .mnav__link.is-active .mnav__label{ color:var(--blue-300, #7fc4ff); }
  .mnav__link.is-active .mnav__go{ background:var(--blue-600, #1f5fd1); box-shadow:none; }
  .mnav__link:focus-visible{ outline:2px solid var(--blue-400, #4f93ff); outline-offset:4px; border-radius:12px; }

  .mnav__foot{ margin-top:auto; padding-top:1.75rem; display:grid; grid-template-columns:1fr 1fr; gap:.6rem; }
  .mnav__cta, .mnav__wa{ width:100%; min-height:52px; padding-inline:1rem; white-space:nowrap; }
  .mnav__wa{ color:#eaf0fb; background:rgba(255,255,255,.06); box-shadow:inset 0 0 0 1px rgba(255,255,255,.16); }
  .mnav__wa svg{ color:var(--wa-bright, #25d366); }
  .mnav__meta{ grid-column:1 / -1; margin:.4rem 0 0; text-align:center; font-size:.8rem; color:#a8b6d4; }

  /* Entrada escalonada: cada línea sube desde su máscara */
  .mnav.is-open .mnav__label{ animation:mnavRise .7s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(.12s + var(--i) * .05s); }
  .mnav.is-open .mnav__desc{ animation:mnavRise .7s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(.17s + var(--i) * .05s); }
  .mnav.is-open .mnav__go{ animation:mnavPop .5s cubic-bezier(.16,1,.3,1) both; animation-delay:calc(.22s + var(--i) * .05s); }
  .mnav.is-open .mnav__foot{ animation:mnavFade .55s cubic-bezier(.16,1,.3,1) .34s both; }
}
@keyframes mnavRise{ from{ transform:translateY(110%); } }
@keyframes mnavPop{ from{ opacity:0; transform:scale(.8); } }
@keyframes mnavFade{ from{ opacity:0; transform:translateY(14px); } }

@media (prefers-reduced-motion: reduce){
  .mnav, .mnav.is-open{ clip-path:none; }
  .mnav{ opacity:0; transition:opacity .15s ease, visibility 0s linear .15s; }
  .mnav.is-open{ opacity:1; transition:opacity .15s ease, visibility 0s; }
  .mnav.is-open .mnav__label, .mnav.is-open .mnav__desc,
  .mnav.is-open .mnav__go, .mnav.is-open .mnav__foot{ animation:none; }
  .lang__list, .lang.is-open .lang__list{ transform:none; }
}
