/**
 * Custom Flag Icons CSS
 * 
 * Local implementation replacing external flag-icon-css CDN
 * Only includes flags actually used in the theme for optimal performance
 */

/* Base flag-icon class */
.flag-icon {
  background-size: contain;
  background-position: 50%;
  background-repeat: no-repeat;
  position: relative;
  display: inline-block;
  width: 1.33333em;
  line-height: 1em;
}

/* Square flag variant */
.flag-icon.fis {
  width: 1em;
}

/* Flag-specific background images */
.flag-icon-au {
  background-image: url('../../assets/flags/au.svg');
}

.flag-icon-ca {
  background-image: url('../../assets/flags/ca.svg');
}

.flag-icon-de {
  background-image: url('../../assets/flags/de.svg');
}

.flag-icon-es {
  background-image: url('../../assets/flags/es.svg');
}

.flag-icon-fr {
  background-image: url('../../assets/flags/fr.svg');
}

.flag-icon-gb {
  background-image: url('../../assets/flags/gb.svg');
}

.flag-icon-in {
  background-image: url('../../assets/flags/in.svg');
}

.flag-icon-it {
  background-image: url('../../assets/flags/it.svg');
}

.flag-icon-jp {
  background-image: url('../../assets/flags/jp.svg');
}

.flag-icon-us {
  background-image: url('../../assets/flags/us.svg');
}

/* Responsive sizing for different contexts */
@media (max-width: 768px) {
  .flag-icon {
    width: 1em;
  }
}

/* Additional styling for better integration with theme */
.lang-switcher .flag-icon,
.country-switcher .flag-icon {
  margin-right: 0.5em;
  vertical-align: middle;
}

.dropdown-item .flag-icon {
  margin-right: 0.75em;
}