/* Bilingual layouts follow the existing hotel type scale and navigation breakpoints. */
.language-switch{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;color:inherit;text-decoration:none;font-size:13px;letter-spacing:.06em;border:1px solid transparent;border-radius:2px;transition:border-color .2s}
.language-switch:hover,.language-switch:focus-visible{border-color:currentColor;outline-offset:4px}
body.has-wedding-appointment{padding-bottom:var(--xinoble-appointment-space,116px)}
.has-wedding-appointment [id]{scroll-margin-bottom:var(--xinoble-appointment-space,116px)}
.wedding-appointment{position:fixed;inset:auto 24px 20px;z-index:90;color:#fff;background:#22231f;border:1px solid rgba(205,185,142,.6);box-shadow:0 10px 40px rgba(0,0,0,.2);max-width:1000px;margin-inline:auto}
.wedding-appointment-inner{display:flex;align-items:center;gap:32px;padding:18px 28px}
.wedding-appointment-copy{display:grid;gap:4px;margin-right:auto;min-width:0}
.wedding-appointment-eyebrow{font-size:11px;line-height:1.5;letter-spacing:.14em;color:#cfbd99}
.wedding-appointment-copy strong{font-size:21px;font-weight:500;line-height:1.3;letter-spacing:.06em}
.wedding-appointment-phone{display:inline-flex;align-items:center;min-height:44px;font-size:24px;font-variant-numeric:tabular-nums;letter-spacing:.05em;text-decoration:none;color:#fff;white-space:nowrap}
.wedding-appointment-call{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 22px;background:#cfbd99;color:#22231f;font-size:13px;text-decoration:none;white-space:nowrap}
.wedding-appointment a:focus-visible{outline:2px solid #fff;outline-offset:4px}
body.menu-open .wedding-appointment{visibility:hidden;pointer-events:none}

body.xinoble-en{word-break:normal;overflow-wrap:break-word}
.xinoble-en .site-brand-cn,.xinoble-en .home-intro-cn{display:none}
.xinoble-en .site-brand-en{font-size:13px;letter-spacing:.1em;white-space:nowrap}
.xinoble-en .site-nav .menu a{letter-spacing:0;line-height:1.4;white-space:normal}
body.xinoble-en #main-content :is(h1,h2,h3,h4){letter-spacing:normal;line-height:1.25;text-wrap:balance;overflow-wrap:normal}
body.xinoble-en #main-content h1{font-size:var(--xinoble-type-h1)}
body.xinoble-en #main-content :is(.editorial-hero,.home-hero,.room-hero) h1{max-width:24ch}
body.xinoble-en #main-content .home-slogan-line{white-space:normal;letter-spacing:normal;max-width:none}
.xinoble-en .hub-index a{white-space:normal}
.xinoble-en .hub-index>div{flex-wrap:wrap}
.xinoble-en .wedding-appointment-copy strong{letter-spacing:0}
.xinoble-en .site-footer-brand strong{font-size:17px;letter-spacing:.04em}
.xinoble-en .site-footer-brand small{display:none}
.xinoble-en .room-type-options>a{display:grid;grid-template-columns:minmax(0,1fr);align-content:center;justify-items:start;gap:.3rem}
.xinoble-en .room-type-options>a>span{min-width:0;line-height:1.4;overflow-wrap:normal;text-wrap:balance}
.xinoble-en .room-type-options>a>small{white-space:nowrap}

@media(min-width:78.01rem){
 .xinoble-en .site-header-inner{gap:18px}
 .xinoble-en .site-nav{gap:16px}
 .xinoble-en .site-nav>.menu{gap:14px}
 .xinoble-en .site-nav .menu>li>a{font-size:.8125rem;line-height:1.4;max-width:9.5rem}
}
@media(max-width:78rem){
 .xinoble-en .site-nav>.menu{gap:0}
 .xinoble-en .site-nav .menu>li>a{width:100%;max-width:none;min-height:3.5rem;padding-block:.65rem;font-size:1.0625rem;line-height:1.5}
 .xinoble-en .site-nav-tools{flex-shrink:0;gap:1rem;padding-top:1.5rem}
}
@media(max-width:68rem){
 .xinoble-en .room-type-options>a{min-height:5rem;justify-content:stretch}
}
@media(max-width:48rem){
 .xinoble-en .hub-index>div{gap:.5rem 1.25rem}
 .xinoble-en .hub-index a{flex:0 1 auto;min-height:44px}
 .xinoble-en .wedding-menu-disclosure-body{grid-template-columns:minmax(0,1fr)}
 .xinoble-en .wedding-menu-disclosure-body li{padding-block:.2rem;line-height:1.65;overflow-wrap:normal}
}
@media(max-width:767px){
 body.has-wedding-appointment{padding-bottom:var(--xinoble-appointment-space,calc(140px + env(safe-area-inset-bottom)))}
 .wedding-appointment{inset:auto 0 0;border-width:1px 0 0}
 .wedding-appointment-inner{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 14px;padding:12px 18px calc(12px + env(safe-area-inset-bottom))}
 .wedding-appointment-copy{grid-column:1;gap:2px}
 .wedding-appointment-eyebrow{font-size:10px;letter-spacing:.08em}
 .wedding-appointment-copy strong{font-size:18px}
 .wedding-appointment-phone{grid-column:1;font-size:21px;line-height:1.25;min-height:32px}
 .wedding-appointment-call{grid-column:2;grid-row:1/3;padding:12px 16px;font-size:12px}
 .xinoble-en .wedding-appointment-eyebrow{max-width:24ch;line-height:1.3}
}
@media(prefers-reduced-motion:reduce){.language-switch{transition:none}}

.site-footer-registration{padding:0 var(--xinoble-gutter,1.25rem) 1.5rem;text-align:center}
.site-footer-registration a{display:inline-block;min-height:44px;padding:.65rem 0;color:inherit;font-size:.8125rem;text-decoration:none;overflow-wrap:anywhere}
.site-footer-registration a:hover{text-decoration:underline;text-underline-offset:.2em}
.site-footer-registration a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
