.site-language-switch { position: relative; flex-shrink: 0; color: #374151; font: 14px/1.4 system-ui, sans-serif; letter-spacing: 0; direction: ltr; text-align: left; }
.site-language-switch[open] { z-index: 110; }
.site-language-switch summary { list-style: none; display: flex; align-items: center; justify-content: center; gap: 8px; min-height: 40px; box-sizing: border-box; padding: 8px 16px; cursor: pointer; background: rgb(255 255 255 / 92%); border: 1px solid #d1d5db; border-radius: 12px; box-shadow: 0 2px 4px rgb(15 23 42 / 10%); white-space: nowrap; }
.site-language-switch summary::-webkit-details-marker { display: none; }
.site-language-switch .language-flag { display: block; flex: 0 0 20px; width: 20px; height: 16px; margin: 0; border-radius: 2px; object-fit: cover; }
.site-language-switch summary svg { flex: 0 0 16px; width: 16px; height: 16px; color: #64748b; transition: transform .18s; }
.site-language-switch[open] summary svg { transform: rotate(180deg); }
.site-language-switch nav { position: absolute; right: 0; top: calc(100% + 8px); z-index: 1; width: 288px; max-width: calc(100vw - 32px); box-sizing: border-box; padding: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; max-height: min(460px, 70dvh); overflow-y: auto; overscroll-behavior: contain; border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; box-shadow: 0 20px 25px -5px rgb(0 0 0 / 10%), 0 8px 10px -6px rgb(0 0 0 / 10%); }
.site-language-switch:not([open]) nav { display: none; }
.site-language-switch[open] nav { display: grid; }
.site-language-switch nav a { display: flex; align-items: center; gap: 8px; min-width: 0; min-height: 36px; box-sizing: border-box; padding: 8px; color: #374151; font-size: 14px; font-weight: 400; line-height: 20px; text-decoration: none; white-space: normal; border-radius: 8px; transition: background-color .15s, color .15s; }
.site-language-switch nav a[aria-current="true"] { color: #2563eb; background: #dbeafe; box-shadow: inset 0 2px 4px rgb(0 0 0 / 4%); }
.site-language-switch nav a:hover { color: #2563eb; background: #eff6ff; }
.site-language-switch nav a[aria-current="true"]:hover { background: #dbeafe; }
.site-language-switch summary:focus-visible,.site-language-switch nav a:focus-visible { outline: 2px solid #2563eb; outline-offset: 2px; }
@media (max-width: 359px) {
  .site-language-switch summary { gap: 6px; padding: 8px; font-size: 12px; }
  .cn-mobile-original .mobile-topbar { gap: 8px; }
  .cn-mobile-original .mobile-logo-card { padding-left: 8px; padding-right: 8px; }
  #mobile-language-switch nav { width: 288px; }
}
@media (prefers-reduced-motion: reduce) {
  .site-language-switch summary svg,.site-language-switch nav a { transition: none; }
}

.site-language-switch nav a > span { min-width: 0; overflow-wrap: anywhere; }
.language-short-label { display: none; }
@media (max-width: 767px) { .language-full-label { display: none; } .language-short-label { display: inline; } }
