/* Dedicated language rail leaves the existing reservation and mobile-menu UI intact. */
html[data-salon-lang] { --salon-language-height: 32px; scroll-padding-top: calc(var(--header-height) + 48px); }
html[data-salon-lang] body { padding-top: var(--salon-language-height); }
.salon-language-switch { position: fixed; top: 0; left: 0; right: 0; z-index: 51; height: 32px; display: flex; align-items: center; justify-content: flex-end; gap: 22px; padding: 0 var(--gutter,24px); background: #111511; border-bottom: 1px solid #353a31; }
.salon-language-switch a { color: #c5c4b4; font-family: 'DM Sans',sans-serif; font-size: 11px; line-height: 24px; letter-spacing: .07em; text-decoration: none; }
.salon-language-switch a[aria-current] { color: #f0d49f; box-shadow: inset 0 -1px #b78640; }
.salon-language-switch a:focus-visible { outline: 2px solid #f0d49f; outline-offset: 2px; }
html[data-salon-lang] .site-header { top: 32px; }
html[data-salon-lang] .admin-bar .site-header { top: 64px; }
.admin-bar .salon-language-switch { top: 32px; }
html[data-salon-lang] .mobile-navigation { height: calc(100svh - var(--header-height) - 32px); }
html[data-salon-lang="ja"] body { font-family: 'DM Sans','Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif; }
html[data-salon-lang="zh"] body { font-family: 'DM Sans','PingFang SC','Microsoft YaHei','Noto Sans CJK SC',sans-serif; }
html[data-salon-lang="ja"] :is(h1,h2,h3,h4), html[data-salon-lang="zh"] :is(h1,h2,h3,h4) { font-family: 'Cormorant Garamond','Hiragino Mincho ProN','Yu Mincho','Songti SC','Noto Serif CJK SC',serif; line-height: 1.3; word-break: normal; overflow-wrap: anywhere; }
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) :is(.site-nav a,.header-reserve,.button,.text-link) { letter-spacing: .06em; }
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) .age-gate__title-th,
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) [lang="th"] { display: none; }
@media (max-width: 782px) { html[data-salon-lang] .admin-bar .site-header { top: 78px; } .admin-bar .salon-language-switch { top: 46px; } }
@media (max-width: 600px) { .salon-language-switch { justify-content: center; gap: 28px; } html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) h1 { font-size: clamp(1.7rem,7vw,2.6rem); } }

/* CJK headings need a smaller scale than the English display typography.
   Keep the same hierarchy across every translated page, not just Visit. */
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) #main-content h1 {
  font-size: clamp(2rem, 4vw, 3.5rem);
  line-height: 1.4;
  letter-spacing: .01em;
}
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) #main-content h2 {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.5;
  letter-spacing: .01em;
}
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) #main-content :is(.v2-h2, .section-intro h2, .concept-lead h2, .visit-page-details h2, .related-venues__heading h2, .press-recognition__copy h2) {
  font-size: clamp(1.75rem, 3.2vw, 2.75rem);
  line-height: 1.5;
}
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) #main-content h3 {
  font-size: clamp(1.25rem, 2vw, 1.75rem);
  line-height: 1.5;
  letter-spacing: .01em;
}
/* Latin ch-based limits made translated headings stack into narrow columns. */
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) #main-content :is(h1,h2,h3) {
  max-width: 100%;
  text-wrap: balance;
}
html:is([data-salon-lang="ja"],[data-salon-lang="zh"]) #main-content .v2-lib__name {
  font-size: clamp(1.5rem, 2.2vw, 2rem);
  line-height: 1.5;
  letter-spacing: .01em;
}
