@import url('/assets/fonts/noto-thai/noto.css?v=language-fonts-20261015-01');
.language-switch-row { display:flex; justify-content:flex-end; max-width:1180px; margin:0 auto; padding:8px 20px; }
.language-switch { display:inline-flex; align-items:center; gap:8px; padding:0; border:0; border-radius:0; background:transparent; color:#171717; font:14px/1.65 system-ui,'Noto Sans Thai',Tahoma,sans-serif; }
.language-switch button { min-width:44px; min-height:44px; padding:8px; border:0; border-radius:0; color:#63636b; background:transparent; font:inherit; cursor:pointer; text-underline-offset:8px; text-decoration-thickness:2px; }
.language-switch button[aria-pressed=true] { color:#171717; text-decoration-line:underline; font-weight:600; }
.language-switch button:hover { color:#171717; }
.language-switch button[lang=en] { font-family:system-ui,sans-serif !important; letter-spacing:normal !important; }
.language-switch button[lang=th] { font-family:'Noto Sans Thai',Tahoma,sans-serif; }
.language-switch button:focus-visible { outline:2px solid #356cd2; outline-offset:2px; }
.language-switch-modal { padding:4px 0 12px; }
.staff-language-dialog { box-sizing:border-box; width:min(540px,calc(100% - 32px)); max-height:calc(100dvh - 32px); margin:auto; padding:24px; border:0; border-radius:16px; color:#1c1c1e; background:white; font:16px/1.5 'Noto Sans Thai',Manrope,Arial,sans-serif; overflow:auto; }
.staff-language-dialog::backdrop { background:rgb(15 30 50 / 25%); }
.staff-language-dialog { width:min(560px,calc(100% - 32px)); max-width:none; }
.staff-language-dialog header { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.staff-language-dialog h2 { margin:0; font-size:28px; font-weight:400; line-height:1.2; letter-spacing:-.04em; }
.staff-language-dialog p { margin:12px 0 24px; color:#536075; }
.staff-language-dialog [data-language-close] { min-height:44px; min-width:44px; border:0; background:transparent; color:#6e6e73; font-size:25px; }
.staff-language-options button { display:flex; align-items:center; justify-content:space-between; gap:20px; width:100%; min-height:64px; padding:16px 0; border:0; border-top:1px solid #e5e9ef; background:transparent; color:inherit; font:inherit; text-align:left; cursor:pointer; }
.staff-language-options button[lang=en] { font-family:Manrope,Arial,sans-serif; }
.staff-language-options button[aria-pressed=true] { font-weight:600; }
.staff-language-options svg { color:#0965d8; width:24px; height:24px; }
.staff-language-options button:focus-visible { outline:2px solid #356cd2; outline-offset:2px; }
html[lang=th] :is(button,.button,.staff-primary,.staff-secondary):not(.schedule-appointment):not(.schedule-block) { white-space:normal; height:auto; min-height:44px; }
.calendar-accessibility-note { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px; margin:12px 0; }
.calendar-accessibility-note p { flex:1 1 200px; margin:0; }
.calendar-accessibility-note button { min-height:44px; }
html .fixture-owner-visual .fixture-apple-appointment-tabs { flex-wrap:wrap; }
html .fixture-owner-visual .schedule-heading h1 { overflow-wrap:anywhere; }
html[lang=th] .booking-intro h1 { font-size:clamp(28px,5vw,40px); }
html[lang=th] .booking-label { text-transform:none; }
@media(max-width:767.98px) {
  .language-switch-row { padding:8px 16px; }
  html[lang=th] :is(.staff-header,.fixture-owner-visual .staff-header) { height:auto; min-height:58px; padding-block:8px; gap:12px; flex-wrap:wrap; }
  html[lang=th] .staff-wordmark { min-width:0; flex:1 1 160px; overflow-wrap:anywhere; }
  html[lang=th] .workspace-new-booking { max-width:100%; flex:0 1 auto; overflow-wrap:anywhere; }
  html[lang=th] .workspace-mobile-nav { height:auto; min-height:64px; }
  html[lang=th] .workspace-mobile-button { height:auto; }
  html[lang=th] .fixture-next { height:auto; }
  html[lang=th] .fixture-next :is(strong,.fixture-next-details) { white-space:normal; overflow:visible; text-overflow:clip; }
}
