/* Self-hosted Thai font: no external requests on registration or account pages. */
@font-face { font-family: 'Noto Sans Thai'; font-style: normal; font-weight: 100 900; font-display: swap; src: url('/fonts/thai/NotoSansThai.ttf') format('truetype'); }
html[lang="th"] body[data-typography="typography_1"] { --font-family-base: 'Noto Sans Thai', Tahoma, sans-serif; --font-family-title: 'Noto Sans Thai', Tahoma, sans-serif; --bs-body-font-family: 'Noto Sans Thai', Tahoma, sans-serif; font-family: 'Noto Sans Thai', Tahoma, sans-serif; line-height: 1.8; }
html[lang="th"] h1, html[lang="th"] h2, html[lang="th"] h3, html[lang="th"] h4, html[lang="th"] button, html[lang="th"] input, html[lang="th"] select, html[lang="th"] textarea { font-family: 'Noto Sans Thai', Tahoma, sans-serif; }
html[lang="th"] h1, html[lang="th"] h2, html[lang="th"] h3, html[lang="th"] h4 { line-height: 1.5 !important; letter-spacing: normal !important; word-break: normal; overflow-wrap: break-word; }
html[lang="th"] .sm-template-header .header-nav .nav > li > a { font-size: 13px; padding-left: 6px !important; padding-right: 6px !important; letter-spacing: normal; }
html[lang="th"] .sm-template-header .header-nav .sub-menu { min-width: 280px; }
html[lang="th"] .button, html[lang="th"] .btn { white-space: normal; line-height: 1.6; letter-spacing: normal; }
.sm-language-switch { display: flex; gap: 3px; align-items: center; justify-content: flex-end; flex-shrink: 0; padding: 4px 0; }
.sm-language-switch a { color: #3d203f; padding: 5px 7px; border-radius: 8px; font: 600 12px/1.6 'Noto Sans Thai', Arial, sans-serif; }
.sm-language-switch a[aria-current="page"] { background: #3d203f; color: #fff; }

@media(max-width:1199px) { html[lang="th"] .sm-template-header .header-nav .nav > li > a { font-size: 15px; white-space: normal; } }

html[lang="th"] .sm-clinic-hero .hero-content .title { font-size: clamp(2.5rem, 4.5vw, 4.5rem); }
html[lang="th"] .sm-inner-banner h1 { font-size: clamp(2.3rem, 4vw, 4.3rem); }
html[lang="th"] .sm-banner-kicker, html[lang="th"] .sub-title, html[lang="th"] .sm-light-kicker, html[lang="th"] .sm-stage-number { letter-spacing: normal; }

/* v14.7: language links have a dedicated row, outside the navigation pill. */
.sm-template-header .main-bar .inner-bar { display: grid; grid-template-columns: minmax(0, 1fr) auto; column-gap: 16px; row-gap: 8px; padding-top: 0; }
.sm-template-header .inner-bar > .sm-language-switch { grid-column: 1 / -1; justify-self: end; position: static; inset: auto; display: inline-flex; align-items: center; gap: 3px; width: max-content; max-width: 100%; padding: 3px; margin: 0; border: 1px solid #eadfe6; border-radius: 999px; background: #fff; box-shadow: 0 3px 12px rgba(61,32,63,.06); }
.sm-template-header .sm-language-switch a { display: inline-flex; align-items: center; justify-content: center; min-width: 36px; min-height: 32px; padding: 4px 9px; border-radius: 999px; text-decoration: none; line-height: 1.5; }
.sm-template-header .sm-language-switch a:hover { background: #fbeaf4; color: #3d203f; }
.sm-template-header .sm-language-switch a[aria-current="page"] { background: #3d203f; color: #fff; }
.sm-template-header .inner-bar > .header-part-left { grid-column: 1; min-width: 0; }
.sm-template-header .inner-bar > .header-part-right { grid-column: 2; }
@media(max-width:1599px) {
 .sm-template-header .main-bar .inner-bar { grid-template-columns: minmax(0, 1fr); row-gap: 5px; }
 .sm-template-header .inner-bar > .sm-language-switch { margin-right: 8px; }
 .sm-template-header .inner-bar > .header-part-right { display: none; }
 .sm-template-header .sm-language-switch a { min-height: 36px; }
}

.sm-template-header .main-bar .inner-bar::after { display: none; }

/* v14.8: keep the desktop menu on one row and use the drawer before it becomes crowded. */
@media (min-width:1600px) {
 .sm-template-header .header-part-left > .logo-header { width: 230px !important; flex: 0 0 230px; }
 .sm-template-header .header-nav .nav { flex-wrap: nowrap; }
 .sm-template-header .header-nav .nav > li { flex: 0 0 auto; }
 .sm-template-header .sm-case-button { font-size: 14px; min-height: 56px; padding-left: 22px; padding-right: 22px; }
}
@media (max-width: 1599px) {
  .sm-template-header .main-bar { padding-top: 10px; }
  .sm-template-header .inner-bar { min-height: 68px; }
  .sm-template-header .navicon { display: block; flex: 0 0 45px; margin-left: auto !important; position: relative; z-index: 100001; }
  .sm-template-header .header-part-right { display: none; }
  .sm-template-header .header-part-left { width: 100% !important; }
  .sm-template-header .header-nav { background: #fff; display: block; height: 100dvh !important; left: -100%; max-width: 420px; overflow-y: auto; overscroll-behavior: contain; position: fixed; top: 0; transition: left 0.32s ease; width: 92vw; z-index: 100000; }
  .sm-template-header .header-nav .nav { padding: 0 18px 12px !important; }
  .sm-template-header .header-nav .nav > li { align-items: center; display: flex; flex-wrap: wrap; }
  .sm-template-header .header-nav .nav > li > a { border-bottom: 1px solid var(--sm-line); flex: 1; font-size: 14px; padding: 13px 10px !important; }
  .sm-template-header .header-nav .nav > li.sub-menu-down > a::after { display: none; }
  .sm-submenu-toggle { align-items: center; display: flex; height: 48px; justify-content: center; width: 48px; }
  .sm-submenu-toggle[aria-expanded="true"] i { transform: rotate(180deg); }
  .sm-template-header .header-nav .sub-menu { border-bottom: 1px solid var(--sm-line); border-radius: 0; box-shadow: none; display: none !important; flex: 0 0 100%; min-width: 0; padding: 4px 0 10px; position: static; }
  .sm-template-header .header-nav .sub-menu li a { background: transparent; border: 0; border-radius: 0; box-shadow: none; font-family: var(--font-family-base); font-size: 13px; padding: 9px 10px; }
  .sm-template-header .sub-menu-down.is-open > .sub-menu { display: block !important; }
  .sm-mobile-logo, .sm-mobile-contact { display: block; }
  .sm-template-header .header-nav .sm-mobile-logo { border: 0; height: auto !important; margin: 0 !important; padding: 22px 28px 16px; width: 260px !important; }
  .sm-mobile-contact { border-top: 1px solid var(--sm-line); display: grid; gap: 8px; margin: 15px 20px 30px; padding-top: 18px; }
  .sm-mobile-contact a { color: var(--sm-plum); font-size: 12px; }
  .sm-template-header .header-nav.show { left: 0; }
  .sm-template-header .menu-close.fade-overlay { background: rgba(35, 17, 37, 0.58); cursor: pointer; display: block; inset: 0; opacity: 0; position: fixed; visibility: hidden; width: 100%; z-index: 99999; }
  body.menu-open .sm-template-header .menu-close.fade-overlay { opacity: 1; visibility: visible; }
  .sm-template-header .is-fixed .main-bar { padding: 5px 10px; }
  .sm-template-header .is-fixed .inner-bar { min-height: 60px; }
  .sm-template-header .is-fixed .logo-header { height: 58px !important; width: 226px !important; }
  .sm-template-header .is-fixed .navicon { margin-bottom: 7px !important; margin-top: 7px !important; }
  .sm-template-header .header-nav .nav { flex-direction: column; flex-wrap: nowrap; align-items: stretch; }
  .sm-template-header .header-nav .nav > li { width: 100%; }
}
