:root {
  --ieta-lang-ink: #102a2b;
  --ieta-lang-muted: #607071;
  --ieta-lang-accent: #087f76;
  --ieta-lang-accent-dark: #055e58;
  --ieta-lang-surface: #ffffff;
  --ieta-lang-line: #dce7e5;
  --ieta-lang-shadow: 0 24px 70px rgba(5, 36, 35, .24);
}

.ieta-language, .ieta-language * { box-sizing: border-box; }
.ieta-language { position: fixed; inset-inline-end: 20px; bottom: 92px; z-index: 99990; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color: var(--ieta-lang-ink); }
.ieta-language__trigger { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 9px 14px; border: 1px solid rgba(255,255,255,.5); border-radius: 999px; color: #fff; background: linear-gradient(135deg, var(--ieta-lang-accent-dark), var(--ieta-lang-accent)); box-shadow: 0 10px 28px rgba(7, 94, 88, .3); font: inherit; font-weight: 700; cursor: pointer; }
[data-ieta-language-anchor] .ieta-language__trigger { position: static; box-shadow: none; }
.ieta-language__backdrop { position: fixed; inset: 0; z-index: 99991; background: rgba(4, 25, 25, .48); backdrop-filter: blur(4px); }
.ieta-language__panel { position: fixed; z-index: 99992; inset-inline-end: 20px; top: 50%; width: min(460px, calc(100vw - 40px)); max-height: min(720px, calc(100vh - 40px)); transform: translateY(-50%); overflow: hidden; border: 1px solid rgba(255,255,255,.75); border-radius: 24px; background: var(--ieta-lang-surface); box-shadow: var(--ieta-lang-shadow); }
.ieta-language__panel[hidden], .ieta-language__backdrop[hidden], .ieta-language__status[hidden] { display: none !important; }
.ieta-language__panel-header { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 24px 24px 16px; }
.ieta-language__panel-header h2, .ieta-language-settings h2 { margin: 3px 0 0; color: var(--ieta-lang-ink); font-size: 24px; line-height: 1.2; }
.ieta-language__eyebrow { margin: 0; color: var(--ieta-lang-accent); font-size: 11px; font-weight: 800; letter-spacing: .13em; }
.ieta-language__close { width: 44px; height: 44px; flex: 0 0 44px; border: 1px solid var(--ieta-lang-line); border-radius: 50%; background: #f7faf9; color: var(--ieta-lang-ink); font-size: 28px; line-height: 1; cursor: pointer; }
.ieta-language__search { height: 48px; display: flex; align-items: center; gap: 9px; margin: 0 24px 12px; padding: 0 14px; border: 1px solid var(--ieta-lang-line); border-radius: 14px; background: #f7faf9; }
.ieta-language__search:focus-within { border-color: var(--ieta-lang-accent); box-shadow: 0 0 0 3px rgba(8,127,118,.12); }
.ieta-language__search input { width: 100%; border: 0 !important; outline: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--ieta-lang-ink); font: inherit; }
.ieta-language__list { max-height: calc(min(720px, 100vh - 40px) - 155px); overflow-y: auto; overscroll-behavior: contain; padding: 0 12px 22px; }
.ieta-language__group h3 { position: sticky; top: 0; z-index: 1; margin: 0; padding: 13px 12px 7px; color: var(--ieta-lang-muted); background: rgba(255,255,255,.94); backdrop-filter: blur(6px); font-size: 11px; letter-spacing: .12em; text-transform: uppercase; }
.ieta-language__option { width: 100%; min-height: 52px; display: grid; grid-template-columns: 1fr auto; align-items: center; gap: 10px; padding: 9px 12px; border: 0; border-radius: 12px; background: transparent; text-align: start; cursor: pointer; }
.ieta-language__option:hover, .ieta-language__option:focus-visible { outline: 0; background: #eef7f5; }
.ieta-language__option[aria-selected="true"] { color: var(--ieta-lang-accent-dark); background: #e1f3f0; }
.ieta-language__native { font-size: 16px; font-weight: 700; }
.ieta-language__english { color: var(--ieta-lang-muted); font-size: 13px; }
.ieta-language__empty { padding: 24px; text-align: center; color: var(--ieta-lang-muted); }
.ieta-language__status { position: fixed; z-index: 99994; inset-inline-end: 20px; bottom: 24px; max-width: min(360px, calc(100vw - 40px)); padding: 12px 16px; border-radius: 12px; color: #fff; background: #163f3d; box-shadow: 0 12px 30px rgba(0,0,0,.2); font-weight: 650; }
.ieta-language__status.is-error { background: #8d2727; }
.ieta-language__detected { position: fixed; z-index: 99989; inset-inline-start: 50%; bottom: 24px; width: min(560px, calc(100vw - 32px)); transform: translateX(-50%); display: flex; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--ieta-lang-line); border-radius: 16px; background: #fff; box-shadow: var(--ieta-lang-shadow); }
.ieta-language__detected span { flex: 1; }
.ieta-language__detected button { min-height: 44px; padding: 8px 12px; border: 1px solid var(--ieta-lang-line); border-radius: 10px; background: #f7faf9; cursor: pointer; }
.ieta-language-settings { max-width: 820px; padding: clamp(20px, 4vw, 38px); border: 1px solid var(--ieta-lang-line); border-radius: 24px; background: #fff; box-shadow: 0 12px 44px rgba(16,42,43,.08); color: var(--ieta-lang-ink); }
.ieta-language-settings__intro > p:last-child { color: var(--ieta-lang-muted); }
.ieta-language-settings__grid { display: grid; gap: 22px; margin-top: 26px; }
.ieta-language-settings label > span, .ieta-language-settings legend { display: block; margin-bottom: 7px; font-weight: 750; }
.ieta-language-settings select { width: 100%; min-height: 46px; padding: 8px 12px; border: 1px solid var(--ieta-lang-line); border-radius: 12px; background: #fff; color: var(--ieta-lang-ink); }
.ieta-language-settings fieldset { display: grid; gap: 9px; padding: 18px; border: 1px solid var(--ieta-lang-line); border-radius: 14px; }
.ieta-language-settings fieldset label { display: flex; align-items: center; gap: 9px; }
.ieta-language-settings fieldset label span { margin: 0; font-weight: 500; }
.ieta-language-settings small { display: block; margin-top: 6px; color: var(--ieta-lang-muted); }
.ieta-language-settings__actions { display: flex; align-items: center; gap: 14px; margin-top: 24px; }
.ieta-language-settings__save { min-height: 44px; padding: 10px 20px; border: 0; border-radius: 12px; color: #fff; background: var(--ieta-lang-accent); font-weight: 750; cursor: pointer; }
.ieta-language-rtl .ieta-language__option { direction: rtl; }
.ieta-language-rtl .ieta-language__panel, .ieta-language-rtl .ieta-language-settings { direction: rtl; }
body.ieta-language-open { overflow: hidden; }

@media (max-width: 600px) {
  .ieta-language { inset-inline-end: 12px; bottom: max(82px, env(safe-area-inset-bottom)); }
  .ieta-language__trigger { width: 48px; height: 48px; padding: 0; gap: 4px; }
  .ieta-language__trigger > span:first-child { font-size: 16px; }
  .ieta-language__current { font-size: 11px; }
  .ieta-language__panel { inset: auto 0 0; width: 100%; max-height: min(82vh, 720px); transform: none; border-radius: 24px 24px 0 0; padding-bottom: env(safe-area-inset-bottom); }
  .ieta-language__list { max-height: calc(82vh - 155px); }
  .ieta-language__detected { flex-wrap: wrap; }
  .ieta-language__detected span { flex-basis: 100%; }
}

@media (prefers-reduced-motion: no-preference) {
  .ieta-language__panel { animation: ieta-language-enter .18s ease-out; }
  @keyframes ieta-language-enter { from { opacity: 0; transform: translateY(calc(-50% + 10px)); } }
  @media (max-width: 600px) { @keyframes ieta-language-enter { from { opacity: 0; transform: translateY(18px); } } }
}

@media (forced-colors: active) {
  .ieta-language__trigger, .ieta-language-settings__save { border: 1px solid ButtonText; }
}
