/* 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)}

/* Language selector — trigger button */
.lang-trigger{
  display:inline-flex;align-items:center;gap:6px;
  padding:5px 10px;
  border:1px solid var(--gray-300,#d1d5db);border-radius:var(--radius-sm,4px);
  background:#fff;color:#374151;
  font-size:14px;font-weight:500;
  cursor:pointer;transition:border-color .15s,box-shadow .15s;
  white-space:nowrap;line-height:1;
}
.lang-trigger:hover{border-color:#93c5fd;box-shadow:0 0 0 2px rgba(59,130,246,.15)}
.lang-trigger__chevron{width:10px;height:10px;transition:transform .15s}
[aria-expanded="true"] .lang-trigger__chevron{transform:rotate(180deg)}

/* Nav variant (sky background) */
.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:#fff;border:1px solid var(--gray-200,#e5e7eb);border-radius:var(--radius-md,8px);
  box-shadow:0 4px 12px rgba(0,0,0,.1);
  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,4px);
  background:transparent;color:#374151;
  font-size:14px;cursor:pointer;
  text-align:left;transition:background .1s;
}
.lang-option:hover{background:#f3f4f6}
.lang-option--active{background:#eff6ff;color:#1d4ed8;font-weight:500}
.lang-option--active:hover{background:#dbeafe}

/* 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:6px 8px;font-size:13px}
  .lang-option{padding:10px 12px;font-size:15px}
  .lang-dropdown{min-width:160px}
}
