/* Euroflorina — colores reales de las banderas, marco negro premium */
.ef-lang-flags {
  position: fixed;
  right: 18px;
  top: var(--ef-lang-top, 145px);
  z-index: 99998;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 9px;
  width: 46px;
}
.ef-lang-flags--left { left: 18px; right: auto; }
.ef-lang-flags__label {
  font-family: Arial, Helvetica, sans-serif;
  color: #fff;
  background: rgba(9,9,9,.95);
  font-size: 9px;
  letter-spacing: .10em;
  padding: 5px 6px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 4px;
}
.ef-lang-flags__button {
  box-sizing: border-box;
  width: 46px;
  height: 46px;
  min-width: 46px;
  min-height: 46px;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  border-radius: 50%;
  background: rgba(7, 7, 7, .95);
  border: 1px solid rgba(255,255,255,.70);
  outline-offset: 3px;
  box-shadow: 0 3px 14px rgba(0,0,0,.2);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}
.ef-lang-flags__button img {
  display: block;
  width: 28px;
  height: 19px;
  max-width: none;
  object-fit: cover;
  border-radius: 2px;
  border: 1px solid rgba(255,255,255,.25);
  pointer-events: none;
}
.ef-lang-flags__button:hover {
  transform: translateX(-3px);
  border-color: #fff;
  box-shadow: 0 6px 18px rgba(0,0,0,.32);
}
.ef-lang-flags__button[aria-pressed="true"] {
  border-color: #fff;
  box-shadow: 0 0 0 2px rgba(255,255,255,.28), 0 5px 16px rgba(0,0,0,.23);
}
.ef-lang-flags__button:focus-visible { outline: 2px solid #fff; }
.ef-lang-flags--left .ef-lang-flags__button:hover { transform: translateX(3px); }
@media (max-width: 767px) {
  .ef-lang-flags { top: 105px; right: 10px; gap: 7px; width: 38px; }
  .ef-lang-flags--left { right: auto; left: 10px; }
  .ef-lang-flags__button { width: 38px; height: 38px; min-width: 38px; min-height: 38px; }
  .ef-lang-flags__button img { width: 24px; height: 16px; }
}
@media (max-height: 540px) and (orientation: landscape) {
  .ef-lang-flags { flex-direction: row; top: 85px; width: auto; }
  .ef-lang-flags__label { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .ef-lang-flags__button { transition: none; }
}
