.site-header .nav { flex-wrap: wrap; gap: 16px 24px; }
.site-header .nav-links { margin-left: auto; }
.site-languages { flex: none; margin-left: auto; }
.site-languages details { position: relative; font-size: .875rem; }
.site-languages summary { display: flex; align-items: center; gap: .5rem; cursor: pointer; padding: .4rem .65rem; border: 1px solid #ccc; border-radius: .3rem; list-style: none; white-space: nowrap; }
.site-languages summary::-webkit-details-marker { display: none; }
.site-languages summary::after { content: ''; width: .35rem; height: .35rem; margin-left: .15rem; border-right: 1px solid currentColor; border-bottom: 1px solid currentColor; transform: rotate(45deg) translateY(-2px); }
.language-flag { display: block; width: 20px; height: 20px; flex: none; border-radius: 50%; object-fit: cover; box-shadow: 0 0 0 1px #20292326; }
.site-languages ul { position: absolute; right: 0; z-index: 20; min-width: 14rem; max-height: 65vh; overflow: auto; margin: .3rem 0 0; padding: .4rem; list-style: none; background: #fafaf7; color: #222; border: 1px solid #ccc; border-radius: .3rem; box-shadow: 0 4px 16px #0002; }
.site-languages a { display: flex; align-items: center; gap: .6rem; padding: .45rem .65rem; color: inherit; text-decoration: none; }
.site-languages a:hover, .site-languages a:focus-visible { background: #e9e9e3; }
.site-languages a[aria-current] { font-weight: 700; text-decoration: underline; }
html:not([lang="ja"]) { overflow-wrap: anywhere; }
html:not([lang="ja"]) .nav-links { flex-wrap: wrap; }
html:not([lang="ja"]) :is(.intro, .product-hero, .page-hero-grid) > * { min-width: 0; }
@media (max-width: 600px) {
  .site-header .brand { order: 0; }
  .site-header .site-languages { order: 1; }
  .site-languages summary > span { display: none; }
  .site-header .nav-links { order: 2; margin-left: 0; flex-wrap: wrap; }
  html:not([lang="ja"]) .nav-links { justify-content: flex-start; gap: .6rem 1rem; }
}
