/* Homepage-only language controls and text-length adjustments. */
html[data-language-pending] body { visibility: hidden; }
.landing-language {
  max-width: 10.5rem;
  min-height: 36px;
  padding: 0.35rem 0.4rem;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: var(--card);
  color: var(--text);
  font: inherit;
  font-size: 0.875rem;
  cursor: pointer;
  text-overflow: ellipsis;
}
.landing-language:focus-visible { outline: 2px solid var(--brand-purple-text); outline-offset: 3px; }
.landing-language option { background: var(--card); color: var(--text); }
/* The original select remains available if the enhancement cannot load. */
.landing-language[hidden] { display:none!important; }
.language-picker { position:relative; flex:0 0 auto; display:inline-flex; vertical-align:middle; }
.language-picker__trigger {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  gap:0.375rem;
  width:8.25rem;
  min-height:2.375rem;
  padding:0.45rem 0.625rem;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--card);
  color:var(--text);
  font:inherit;
  font-size:0.875rem;
  font-weight:500;
  line-height:1.25;
  white-space:nowrap;
  cursor:pointer;
  transition:border-color 150ms ease, box-shadow 150ms ease, background-color 150ms ease;
}
.language-picker__trigger[aria-expanded="true"] {
  border-color:var(--brand-purple-outline);
  box-shadow:0 0 0 3px rgba(91,65,225,0.08);
}
.language-picker__flag {
  display:block;
  width:1.5rem;
  height:1.125rem;
  flex:0 0 auto;
  object-fit:cover;
  border-radius:3px;
  box-shadow:0 0 0 1px rgba(20,21,26,0.08);
}
.language-picker__short { display:none; }
.language-picker__chevron {
  width:0.75rem;
  height:0.75rem;
  flex:0 0 auto;
  color:var(--subtle);
  transition:transform 150ms ease;
}
.language-picker__trigger[aria-expanded="true"] .language-picker__chevron { transform:rotate(180deg); }
.language-picker__menu {
  position:absolute;
  top:calc(100% + 0.5rem);
  right:0;
  z-index:30;
  width:11rem;
  max-width:calc(100vw - 1.5rem);
  padding:0.375rem;
  border:1px solid var(--line);
  border-radius:0.875rem;
  background:var(--card);
  box-shadow:0 12px 32px rgba(20,21,38,0.12),0 2px 6px rgba(20,21,38,0.04);
  animation:language-picker-in 130ms ease-out;
}
.language-picker__menu[hidden] { display:none!important; }
.language-picker__option {
  display:flex;
  align-items:center;
  gap:0.625rem;
  width:100%;
  min-height:2.75rem;
  padding:0.625rem;
  border:0;
  border-radius:0.5rem;
  background:transparent;
  color:var(--text);
  font:inherit;
  font-size:0.875rem;
  line-height:1.35;
  text-align:left;
  white-space:nowrap;
  cursor:pointer;
}
.language-picker__option + .language-picker__option { margin-top:0.125rem; }
.language-picker__option[aria-checked="true"] {
  background:rgba(91,65,225,0.085);
  color:var(--brand-purple-text);
  font-weight:600;
}
.language-picker__check { width:1rem; height:1rem; margin-left:auto; flex:0 0 auto; visibility:hidden; }
.language-picker__option[aria-checked="true"] .language-picker__check { visibility:visible; }
.language-picker__trigger:focus-visible { outline:2px solid var(--brand-purple-text); outline-offset:3px; }
.language-picker__option:focus-visible { outline:2px solid var(--brand-purple-text); outline-offset:-2px; }
@media (hover:hover) {
  .language-picker__trigger:hover { border-color:var(--brand-purple-outline); }
  .language-picker__option:hover { background:rgba(91,65,225,0.06); }
  .language-picker__option[aria-checked="true"]:hover { background:rgba(91,65,225,0.13); }
}
[data-bs-theme=dark] .language-picker__menu { box-shadow:0 14px 36px rgba(0,0,0,0.32); }
[data-bs-theme=dark] .language-picker__option[aria-checked="true"] { background:rgba(169,152,255,0.15); }
@keyframes language-picker-in {
  from { opacity:0; transform:translateY(-4px); }
  to { opacity:1; transform:translateY(0); }
}
@media (prefers-reduced-motion:reduce) {
  .language-picker__menu { animation:none; }
  .language-picker__trigger,.language-picker__chevron { transition:none; }
}
.signup-drawer__language-actions { display:flex; align-items:center; gap:0.5rem; flex-shrink:0; }
html[lang="en"] .hero__title { font-size:clamp(2rem,3.5vw,3rem); line-height:1.15; }
html[lang="en"] .hero__actions .btn { white-space:normal; }
html[lang="en"] .hero-desk__power { font-size:0.46875rem; line-height:1; }
html[lang="en"] .hero-phone__power { font-size:0.375rem; line-height:1; }
html[lang="en"] .hero-phone__tg { font-size:8px; }
html[lang="en"] .hero-desk__toggle { font-size:10px; }
html[lang="en"] .hero-phone__status { font-size:9px; }
html[lang="en"] .hero-phone__region { font-size:10px; }
html[lang="en"] .regions-block__item { gap:0.6rem; padding:0.8rem 0.7rem; font-size:0.875rem; }
html[lang="en"] .regions-block__item span { overflow-wrap:normal; }
html[lang="en"] .pricing-preview__price b,
html[lang="zh-Hant"] .pricing-preview__price b { font-size:clamp(1.4rem,2vw,1.75rem); }
html[lang="en"] .pricing-preview__price,
html[lang="zh-Hant"] .pricing-preview__price { flex-wrap:wrap; }
html[lang="en"] .signup-drawer__step { font-size:0.72rem; }
html[lang="en"] .signup-drawer__footer .btn { padding-left:1rem!important; padding-right:1rem!important; }
html[lang="en"] .signup-summary-row strong { overflow-wrap:anywhere; }
@media (min-width:992px) {
  html[lang="en"] .regions-block__grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
}
@media (max-width:575.98px) {
  .landing-header > .container { gap:0.65rem 0.4rem; flex-wrap:wrap; }
  .landing-header .landing-brand { margin-left:0; flex:0 0 auto; }
  .landing-header__controls { margin-left:auto; flex:0 0 auto; }
  .landing-language { max-width:8.5rem; font-size:0.875rem; }
  .language-picker__trigger { width:5.625rem; padding:0.45rem 0.5rem; gap:0.25rem; }
  .language-picker__trigger .language-picker__flag { width:1.25rem; height:0.9375rem; }
  .language-picker__full { display:none; }
  .language-picker__short { display:inline; }
  .landing-header .landing-header__action--theme { padding:0.35rem; }
  .landing-header .btn { padding-left:0.65rem!important; padding-right:0.65rem!important; }
  .signup-drawer__title-row { gap:0.5rem; }
  html[lang="en"] .signup-drawer__title { font-size:1.1rem; }
  html[lang="en"] .regions-block__item { min-height:3.75rem; padding:0.6rem; font-size:0.82rem; }
}
@media (max-width:359.98px) {
  .landing-header .landing-language { max-width:6.6rem; }
}
