/* Bandeiras oficiais locais — Brasil / EUA / Espanha.
   Não altera logo, início, planos nem menu. Só troca o seletor de idioma.
*/
.header100-lang,
.header100-official-flags{
  position:relative!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  z-index:100001!important;
}

.header100-flag-button{
  width:42px!important;
  min-width:42px!important;
  height:42px!important;
  min-height:42px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  background:#111827!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  overflow:hidden!important;
  box-shadow:0 8px 20px rgba(0,0,0,.18)!important;
}

.header100-flag-button:hover{
  background:#172033!important;
  transform:translateY(-1px);
}

.header100-flag-button img{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  min-height:28px!important;
  object-fit:cover!important;
  border-radius:999px!important;
  display:block!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.22)!important;
}

.header100-flag-menu-official{
  display:none!important;
  position:absolute!important;
  top:calc(100% + 8px)!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:54px!important;
  min-width:54px!important;
  padding:7px!important;
  border-radius:999px!important;
  background:#0b1220!important;
  border:1px solid rgba(255,255,255,.16)!important;
  box-shadow:0 18px 44px rgba(0,0,0,.38)!important;
  z-index:100002!important;
}

.header100-lang.open .header100-flag-menu-official,
.header100-official-flags.open .header100-flag-menu-official{
  display:grid!important;
  gap:7px!important;
}

.header100-flag-option{
  width:40px!important;
  min-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  padding:0!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.13)!important;
  background:#111827!important;
  display:grid!important;
  place-items:center!important;
  cursor:pointer!important;
  overflow:hidden!important;
}

.header100-flag-option img{
  width:27px!important;
  height:27px!important;
  object-fit:cover!important;
  border-radius:999px!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.22)!important;
}

.header100-flag-option:hover{
  background:#172033!important;
}

.header100-flag-label{
  display:none!important;
}

@media(max-width:820px){
  .header100-flag-button{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }

  .header100-flag-button img{
    width:25px!important;
    height:25px!important;
    min-width:25px!important;
    min-height:25px!important;
  }

  .header100-flag-menu-official{
    width:50px!important;
    min-width:50px!important;
    padding:7px!important;
  }

  .header100-flag-option{
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
    min-height:36px!important;
  }

  .header100-flag-option img{
    width:25px!important;
    height:25px!important;
  }
}

@media(max-width:380px){
  .header100-flag-button{
    width:33px!important;
    min-width:33px!important;
    height:33px!important;
    min-height:33px!important;
  }

  .header100-flag-button img{
    width:23px!important;
    height:23px!important;
  }

  .header100-flag-menu-official{
    width:47px!important;
    min-width:47px!important;
  }

  .header100-flag-option{
    width:33px!important;
    min-width:33px!important;
    height:33px!important;
    min-height:33px!important;
  }

  .header100-flag-option img{
    width:23px!important;
    height:23px!important;
  }
}