/* AELITYX Blueprint — custom language menu. The native select remains the JS fallback.
   All tones inherit the active graphite/lime, stone/green or blue/green palette. */
.header-inner > .aelityx-language.aelityx-language--enhanced {
  position:relative;
  display:grid;
  place-items:center;
  flex:0 0 40px;
  width:40px;
  min-width:40px;
  max-width:40px;
  height:40px;
  min-height:40px;
  padding:0;
  margin:0;
  overflow:visible;
  border:0;
  border-radius:50%;
  background:transparent;
  outline:0;
  box-shadow:none;
}
.header-inner > .aelityx-language.aelityx-language--enhanced:hover,
.header-inner > .aelityx-language.aelityx-language--enhanced:focus-within {
  border:0;
  background:transparent;
  outline:0;
  box-shadow:none;
}
.aelityx-language--enhanced > #aelityx-language-select {display:none!important;}
.aelityx-language--enhanced .aelityx-language-trigger {
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  position:relative;
  border:1px solid color-mix(in srgb,var(--acid) 62%,var(--line));
  border-radius:50%;
  color:var(--acid);
  background:color-mix(in srgb,var(--surface) 91%,var(--acid));
  box-shadow:0 0 0 3px color-mix(in srgb,var(--acid) 9%,transparent);
  cursor:pointer;
  transition:background .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease;
}
.aelityx-language--enhanced .aelityx-language-trigger svg {width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round;}
.aelityx-language--enhanced .aelityx-language-trigger:hover,
.aelityx-language--enhanced .aelityx-language-trigger[aria-expanded='true'] {
  border-color:var(--acid);
  background:color-mix(in srgb,var(--surface) 81%,var(--acid));
  box-shadow:0 0 0 4px color-mix(in srgb,var(--acid) 13%,transparent),0 0 23px color-mix(in srgb,var(--acid) 19%,transparent);
}
.aelityx-language--enhanced .aelityx-language-trigger:focus-visible {outline:2px solid var(--acid);outline-offset:5px;}
/* Portal on body avoids clipping by the sticky header and remains aligned to the trigger. */
.aelityx-language-menu {
  position:fixed;
  z-index:1000;
  width:224px;
  max-width:calc(100vw - 24px);
  padding:9px;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--acid) 32%,var(--line));
  border-radius:18px;
  color:var(--white);
  background:var(--ae-card,var(--surface));
  box-shadow:0 18px 54px rgba(0,0,0,.32),0 0 32px color-mix(in srgb,var(--acid) 9%,transparent);
  -webkit-backdrop-filter:blur(20px);
  backdrop-filter:blur(20px);
  animation:ae-language-in .18s ease-out both;
}
.aelityx-language-menu[hidden] {display:none!important;}
.aelityx-language-menu-head {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:0 3px 7px;
  padding:9px 8px 11px;
  border-bottom:1px solid var(--line);
  color:var(--muted);
  font:500 10px/1.3 var(--mono,'DM Mono',monospace);
  letter-spacing:.11em;
  text-transform:uppercase;
}
.aelityx-language-menu-head .aelityx-language-count {font-size:9px;color:var(--acid);letter-spacing:.06em;white-space:nowrap;}
.aelityx-language-option {
  display:flex;
  align-items:center;
  width:100%;
  min-height:42px;
  gap:11px;
  padding:7px 10px;
  margin:2px 0;
  border:1px solid transparent;
  border-radius:11px;
  background:transparent;
  color:var(--white);
  text-align:left;
  cursor:pointer;
  transition:background .16s ease,border-color .16s ease,color .16s ease;
}
.aelityx-language-option .aelityx-language-code {
  display:grid;
  place-items:center;
  width:29px;
  min-width:29px;
  height:25px;
  border:1px solid var(--line);
  border-radius:7px;
  color:var(--muted);
  font:600 10px/1 var(--mono,'DM Mono',monospace);
  letter-spacing:.035em;
}
.aelityx-language-option .aelityx-language-name {flex:1;font:600 13px/1.25 'DM Sans',sans-serif;letter-spacing:-.01em;}
.aelityx-language-option .aelityx-language-check {display:grid;place-items:center;width:18px;height:18px;flex:0 0 18px;color:var(--acid);font-size:15px;opacity:0;}
.aelityx-language-option:hover,
.aelityx-language-option:focus-visible {
  border-color:color-mix(in srgb,var(--acid) 31%,transparent);
  background:color-mix(in srgb,var(--acid) 10%,var(--surface));
  outline:0;
}
.aelityx-language-option[aria-checked='true'] {
  border-color:color-mix(in srgb,var(--acid) 44%,transparent);
  background:color-mix(in srgb,var(--acid) 14%,var(--surface));
  color:var(--white);
}
.aelityx-language-option[aria-checked='true'] .aelityx-language-code {
  border-color:var(--acid);
  color:var(--ae-cta-ink,var(--bg));
  background:var(--acid);
}
.aelityx-language-option[aria-checked='true'] .aelityx-language-check {opacity:1;}
@keyframes ae-language-in {from{opacity:0;transform:translateY(-6px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(max-width:680px) {
  .header-inner > .aelityx-language.aelityx-language--enhanced {flex-basis:38px;width:38px;min-width:38px;max-width:38px;height:38px;min-height:38px;}
  .aelityx-language--enhanced .aelityx-language-trigger {width:38px;height:38px;}
  .aelityx-language--enhanced .aelityx-language-trigger svg {width:18px;height:18px;}
  .aelityx-language-menu {width:214px;border-radius:16px;padding:8px;}
  .aelityx-language-option {min-height:44px;}
}
@media(prefers-reduced-motion:reduce){.aelityx-language-menu{animation:none}.aelityx-language-trigger,.aelityx-language-option{transition:none!important;}}
