/* Shared responsive adjustments for the four translated sites. */
html[lang="en"] { --font-sans: "Noto Sans", sans-serif; --font-serif: serif; }
html[lang="ko"] { --font-sans: "Noto Sans KR", "Noto Sans", sans-serif; --font-serif: "Noto Serif KR", serif; word-break: keep-all; overflow-wrap: anywhere; }
html[lang="zh-cn"] { --font-sans: "Noto Sans SC", "Noto Sans", sans-serif; --font-serif: "Noto Serif SC", serif; }
html[lang="zh-tw"] { --font-sans: "Noto Sans TC", "Noto Sans", sans-serif; --font-serif: "Noto Serif TC", serif; }
.translated-page .membership-banner h1 { font-size: clamp(27px, 4.2vw, 74px); padding-inline: 20px; line-height: 1.2; }
.translated-page .membership-banner > p { margin-top: 15px; }
.translated-page .hotel-card h3 { overflow-wrap: anywhere; }
.translated-page .family-lead br, .translated-page .reservation-copy br, .translated-page .breakfast-intro p br, .translated-page .chef-message br { display: none; }
@media (min-width: 761px) {
 html[lang="en"] .family-patterns .family-lead br { display: inline; }
}
.translated-page .family-lead, .translated-page .breakfast-intro > p { max-width: 1100px; padding-inline: 20px; }
.translated-page .breakfast-intro > p { margin-inline: auto; }
.translated-page .service-list h3 { font-size: clamp(18px, 1.9vw, 34px); }
.translated-page .local-copy h3 { font-size: clamp(23px, 2.4vw, 42px); }
.translated-page .local-copy, .translated-page .points-copy { min-width: 0; }
.translated-page .local-hotel { overflow-wrap: anywhere; }
.translated-page .dish-name-part { white-space: normal; }
.translated-page .points-box { gap: 24px; }
.translated-page .points-box > h2 { white-space: normal; width: max-content; max-width: 90%; }
.translated-page .member-button { text-align: center; }
.translated-page .status-row { grid-template-columns: 1.25fr repeat(3, minmax(0, 1fr)); }
.translated-page .status-level p { font-size: clamp(12px, 1.1vw, 21px); }
.translated-page .status-level strong { font-size: 1em; }
.translated-page .status-row h3 { font-size: clamp(16px, 1.5vw, 28px); overflow-wrap: anywhere; }
.translated-page .reward-hotels { flex-wrap: wrap; }
.translated-page .reward-body { overflow-wrap: anywhere; }
.translated-page .family-reservation h3, .translated-page .pattern-card p { overflow-wrap: anywhere; }
.translated-page .pattern-card p { display: block; }
@media (max-width: 760px) {
 .translated-page .membership-banner h1 { font-size: clamp(23px, 6vw, 36px); }
 .translated-page .family-intro { padding-inline: 12px; }
 .translated-page .family-intro h2 { font-size: 22px; }
 .translated-page .family-lead { padding-inline: 0; }
 .translated-page .status-row { grid-template-columns: repeat(3, minmax(0, 1fr)); }
 .translated-page .status-level p { font-size: 11px; }
 .translated-page .service-list { width: 86%; }
 .translated-page .reservation-steps { width: 86%; }
 .translated-page .pattern-card { min-width: 210px; }
 .translated-page .header-actions > .reservation-trigger { font-size: 12px; padding-inline: 12px; }
}
@media (max-height: 600px) {
}

.hero-catch-en { white-space: nowrap; }
@media (max-width: 760px) {
 .hero .hero-catch-en { font-size: min(6vw, 25px); }
 html[lang="zh-cn"] .hero h1, html[lang="zh-tw"] .hero h1 { font-size: min(6.5vw, 30px); white-space: nowrap; }
}

/* Menus use the same language-specific Gothic family as body text. */
html[lang="en"] .hbgMenu { font-family: "Noto Sans", sans-serif; }
html[lang="ko"] .hbgMenu { font-family: "Noto Sans KR", sans-serif; }
html[lang="zh-cn"] .hbgMenu { font-family: "Noto Sans SC", sans-serif; }
html[lang="zh-tw"] .hbgMenu { font-family: "Noto Sans TC", sans-serif; }
