/* Flag icons */
.fi{display:inline-block;width:1.333em;height:1em;line-height:1em;background-size:contain;background-position:50%;background-repeat:no-repeat;flex-shrink:0}
.fi-es{background-image:url(flags/4x3/es.svg)}
.fi-us{background-image:url(flags/4x3/us.svg)}
.fi-fr{background-image:url(flags/4x3/fr.svg)}
.fi-pt{background-image:url(flags/4x3/pt.svg)}
.fi-it{background-image:url(flags/4x3/it.svg)}
.fi-nl{background-image:url(flags/4x3/nl.svg)}
.fi-de{background-image:url(flags/4x3/de.svg)}
.fi-pl{background-image:url(flags/4x3/pl.svg)}
.fi-th{background-image:url(flags/4x3/th.svg)}

/* Language selector — trigger button */
.lang-trigger{
  display:inline-flex;align-items:center;gap:6px;
  padding:var(--space-2) var(--space-3);
  min-height:36px;
  border:1px solid var(--color-border-default);border-radius:var(--radius-sm);
  background:var(--color-bg-surface);color:var(--color-text-primary);
  font-size:var(--text-sm);font-weight:var(--font-medium);
  cursor:pointer;transition:border-color var(--transition-fast),box-shadow var(--transition-fast);
  white-space:nowrap;line-height:1;
}
.lang-trigger:hover{border-color:var(--brand-primary);box-shadow:0 0 0 2px var(--brand-focus-ring)}
.lang-trigger__chevron{width:10px;height:10px;transition:transform .15s}
[aria-expanded="true"] .lang-trigger__chevron{transform:rotate(180deg)}

/* Nav variant (CP navbar) */
.lang-selector--nav .lang-trigger{
  background:rgba(255,255,255,.15);border-color:rgba(255,255,255,.3);
  color:#fff;
}
.lang-selector--nav .lang-trigger:hover{
  background:rgba(255,255,255,.25);border-color:rgba(255,255,255,.5);
  box-shadow:none;
}

/* Dropdown panel */
.lang-dropdown{
  position:absolute;top:calc(100% + 4px);right:0;z-index:50;
  min-width:140px;
  background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-md);
  box-shadow:var(--shadow-md);
  padding:4px;
  overflow:hidden;
}
.lang-dropdown ul{list-style:none;margin:0;padding:0}

/* Each language option */
.lang-option{
  display:flex;align-items:center;gap:8px;
  width:100%;padding:7px 10px;
  border:none;border-radius:var(--radius-sm);
  background:transparent;color:var(--color-text-primary);
  font-size:var(--text-sm);cursor:pointer;
  text-align:left;transition:background var(--transition-fast);
}
.lang-option:hover{background:var(--color-bg-elevated)}
.lang-option--active{background:var(--color-info-bg);color:var(--brand-primary-dark);font-weight:var(--font-medium)}
.lang-option--active:hover{background:var(--color-brand-tint-12)}

/* Upward variant (sidebar) */
.lang-selector--up .lang-dropdown{top:auto;bottom:calc(100% + 4px)}

/* Responsive — larger touch targets on mobile */
@media(max-width:640px){
  .lang-trigger{padding:var(--space-2) var(--space-2);font-size:var(--text-xs)}
  .lang-option{padding:10px 12px;font-size:15px;min-height:44px}
  .lang-dropdown{min-width:160px}
}
