/* =========================================================
   GTAM LANGUAGE BUTTON UNIFORM V1
   所有语言按钮统一单行、统一高度、统一对齐
   ========================================================= */

/*
 * 主站语言选择按钮
 */
.language-grid button,
.lang-grid button,
.language-option,
.lang-option,
[data-language],
[data-lang]{
  min-width:0 !important;
  box-sizing:border-box !important;
}

/*
 * 按钮内部文字统一单行
 */
.language-grid button,
.lang-grid button{
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/*
 * 葡萄牙语名称较长，稍微缩小字体，
 * 不改变按钮高度、不允许换行
 */
.language-grid button[data-language="pt-BR"],
.language-grid button[data-lang="pt-BR"],
.lang-grid button[data-language="pt-BR"],
.lang-grid button[data-lang="pt-BR"],
.language-option[data-language="pt-BR"],
.lang-option[data-lang="pt-BR"]{
  font-size:15px !important;
  white-space:nowrap !important;
}

/*
 * 如果语言文字包裹在 span 内，也统一处理
 */
.language-grid button span,
.lang-grid button span,
.language-option span,
.lang-option span{
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}

/*
 * 手机窄屏
 */
@media(max-width:700px){

  .language-grid button,
  .lang-grid button,
  .language-option,
  .lang-option{
    height:54px !important;
    min-height:54px !important;
    max-height:54px !important;
    align-items:center !important;
  }

  .language-grid button[data-language="pt-BR"],
  .language-grid button[data-lang="pt-BR"],
  .lang-grid button[data-language="pt-BR"],
  .lang-grid button[data-lang="pt-BR"]{
    font-size:14px !important;
  }

}

/* =========================================================
   Portuguese Brazil full text fix
   保持单行并完整显示 Português (Brasil)
   ========================================================= */

.language-grid button,
.lang-grid button,
.language-option,
.lang-option{
  overflow:visible !important;
  text-overflow:clip !important;
}

.language-grid button span,
.lang-grid button span,
.language-option span,
.lang-option span{
  overflow:visible !important;
  text-overflow:clip !important;
}

/* 巴西葡萄牙语单独缩小，保证完整单行 */
.language-grid button[data-language="pt-BR"],
.language-grid button[data-lang="pt-BR"],
.lang-grid button[data-language="pt-BR"],
.lang-grid button[data-lang="pt-BR"],
.language-option[data-language="pt-BR"],
.lang-option[data-lang="pt-BR"]{
  font-size:12px !important;
  letter-spacing:-0.2px !important;
  white-space:nowrap !important;
}

/* 如果文字在内部 span */
.language-grid button[data-language="pt-BR"] span,
.language-grid button[data-lang="pt-BR"] span,
.lang-grid button[data-language="pt-BR"] span,
.lang-grid button[data-lang="pt-BR"] span,
.language-option[data-language="pt-BR"] span,
.lang-option[data-lang="pt-BR"] span{
  font-size:12px !important;
  letter-spacing:-0.2px !important;
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
}

@media(max-width:390px){
  .language-grid button[data-language="pt-BR"],
  .language-grid button[data-lang="pt-BR"],
  .lang-grid button[data-language="pt-BR"],
  .lang-grid button[data-lang="pt-BR"],
  .language-option[data-language="pt-BR"],
  .lang-option[data-lang="pt-BR"],
  .language-grid button[data-language="pt-BR"] span,
  .language-grid button[data-lang="pt-BR"] span,
  .lang-grid button[data-language="pt-BR"] span,
  .lang-grid button[data-lang="pt-BR"] span{
    font-size:11px !important;
  }
}

/* =========================================================
   GTAM LANGUAGE BUTTON PT-PT FIX V2
   Fix Português (Portugal) overflow
   ========================================================= */

.language-grid{
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
}

.language-option{
  min-width:0 !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}

.language-option > span{
  min-width:0 !important;
  max-width:100% !important;
}

/* Portugal Portuguese */
.language-option[data-language-code="pt-PT"]{
  padding-left:8px !important;
  padding-right:8px !important;
  overflow:hidden !important;
}

.language-option[data-language-code="pt-PT"] > span{
  display:block !important;
  min-width:0 !important;
  max-width:100% !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:clip !important;

  font-size:12px !important;
  letter-spacing:-0.35px !important;
  line-height:1.1 !important;
}

/* Mexico Spanish is also relatively long */
.language-option[data-language-code="es-MX"]{
  padding-left:8px !important;
  padding-right:8px !important;
  overflow:hidden !important;
}

.language-option[data-language-code="es-MX"] > span{
  white-space:nowrap !important;
  font-size:12.5px !important;
  letter-spacing:-0.2px !important;
}

/* narrower iPhones */
@media(max-width:390px){

  .language-grid{
    padding-left:12px !important;
    padding-right:12px !important;
    gap:8px !important;
  }

  .language-option[data-language-code="pt-PT"] > span{
    font-size:11px !important;
    letter-spacing:-0.45px !important;
  }

  .language-option[data-language-code="es-MX"] > span{
    font-size:11.5px !important;
  }
}
