/*
 * Exsoune USA public polish v9 — WEB-03 / 2026-09-19
 * Language switcher now uses the locally vendored flag-icons 7.5.0 package.
 * Loaded after site-polish-v8.css so the old image-flag rules are harmless.
 */

/* Closed desktop control: flag only, no EN/ES text. */
.ex-header .ex-language__button {
  width: 46px;
  min-width: 46px;
  height: 42px;
  padding: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  overflow: visible;
}

.ex-language__flag-icon,
.ex-language__option-flag-icon,
.ex-mobile-language-flag-icon {
  display: inline-block !important;
  flex: 0 0 auto;
  vertical-align: middle;
  border-radius: 3px;
  box-shadow: 0 0 0 1px rgba(7, 17, 31, .11), 0 2px 7px rgba(7, 17, 31, .08);
  overflow: hidden;
}

.ex-language__flag-icon {
  width: 27px !important;
  height: 20px !important;
  line-height: 20px !important;
  font-size: 20px;
}

/* Open menu: real flag + readable language name. */
.ex-language__menu {
  width: 218px;
}
.ex-language__menu a {
  grid-template-columns: 30px minmax(0, 1fr) !important;
  gap: 11px !important;
  text-transform: none !important;
}
.ex-language__option-flag-icon {
  width: 30px !important;
  height: 22px !important;
  line-height: 22px !important;
  font-size: 22px;
}
.ex-language__option-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  text-align: left;
}
.ex-language__option-copy strong,
.ex-language__option-copy small {
  text-transform: none !important;
}

/* Mobile selector uses the same package, not emoji/custom SVG assets. */
.ex-mobile-languages a {
  display: flex;
  align-items: center;
  gap: 10px;
}
.ex-mobile-language-flag-icon {
  width: 27px !important;
  height: 20px !important;
  line-height: 20px !important;
  font-size: 20px;
}

@media (max-width: 760px) {
  .ex-header .ex-language__button {
    width: 42px;
    min-width: 42px;
    height: 40px;
  }
  .ex-language__flag-icon {
    width: 25px !important;
    height: 18px !important;
    line-height: 18px !important;
    font-size: 18px;
  }
}
