/* Language-pack locales (id ms ru es ar th mn) — loaded only on those pages, after styles.css (en and /tw never load it).
   1) script fonts (self-hosted Noto subsets, fetched only when a glyph in the range is on the page)
   2) longer text: buttons/chips wrap, the desktop bar switches to the drawer below 1280px
   3) Thai line height, Arabic RTL (logical overrides for the physical rules in styles.css)   */

/* ---------- fonts ---------- */
@font-face{font-family:"Noto Sans i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-sans-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Noto Sans i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-sans-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Noto Serif i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-serif-cyrillic.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Noto Serif i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-serif-cyrillic-ext.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}
@font-face{font-family:"Noto Sans Thai i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-sans-thai-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Noto Serif Thai i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-serif-thai-thai.woff2) format("woff2");unicode-range:U+02D7,U+0303,U+0331,U+0E01-0E5B,U+200C-200D,U+25CC}
@font-face{font-family:"Noto Sans Arabic i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-sans-arabic-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
@font-face{font-family:"Noto Naskh Arabic i18n";font-style:normal;font-weight:400 500;font-display:swap;src:url(/assets/fonts/i18n-noto-naskh-arabic-arabic.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
html:lang(ru),html:lang(mn){--serif:"Newsreader","Noto Serif i18n","Times New Roman",serif;--sans:"Instrument Sans","Noto Sans i18n","Helvetica Neue",Arial,sans-serif}
html:lang(th){--serif:"Newsreader","Noto Serif Thai i18n","Thonburi",serif;--sans:"Instrument Sans","Noto Sans Thai i18n","Thonburi","Leelawadee UI",sans-serif}
html:lang(ar){--serif:"Newsreader","Noto Naskh Arabic i18n","Geeza Pro",serif;--sans:"Instrument Sans","Noto Sans Arabic i18n","Geeza Pro","Segoe UI",sans-serif}

/* ---------- longer copy ---------- */
h1,h2,h3,h4,p,li,dt,dd,figcaption,summary,blockquote,small,b,strong,span,a{overflow-wrap:break-word}
.btn{white-space:normal;height:auto;min-height:48px;padding-block:10px;line-height:1.25;text-align:center}
.btn--sm{min-height:40px;padding-block:8px}
.header .btn,.nav__cta,.float a{white-space:nowrap}   /* header/drawer/floating buttons stay one line — their labels are kept short */
.chip,.scard__chip,.tcard__tag,.hub__facts,.price span{overflow-wrap:anywhere}
.eyebrow{letter-spacing:.1em;line-height:1.35}
html:lang(ru) .eyebrow,html:lang(mn) .eyebrow{letter-spacing:.06em}
/* long words in big headings (German-length Russian/Indonesian compounds) never push the page sideways */
h1,h2{hyphens:auto;-webkit-hyphens:auto}
/* LINE (th) and Messenger (mn) buttons */
.btn[href^="https://lin.ee"],.btn[href^="https://line.me"]{background:#06C755;border-color:#06C755;color:#fff}
.btn[href^="https://lin.ee"]:hover,.btn[href^="https://line.me"]:hover{background:#05B34C;border-color:#05B34C;color:#fff}
.btn[href^="https://lin.ee"] svg{color:#fff}
.float a[href^="https://lin.ee"]{background:#06C755}.float a[href^="https://lin.ee"] path{fill:#fff}
a[aria-disabled="true"][data-cta-pending]{cursor:default}

/* desktop bar → drawer below 1280px (same rules styles.css applies below 1024px) */
@media (min-width:1024px) and (max-width:1279px){
  .nav{position:fixed;inset:var(--header-h) 0 0 0;background:var(--paper);flex-direction:column;align-items:flex-start;gap:0;padding:12px var(--gutter) 32px;transform:translateX(100%);visibility:hidden;transition:transform .6s var(--ease),visibility 0s .6s;overflow:auto;z-index:49}
  .nav.is-open{transform:none;visibility:visible;transition-delay:0s}
  .nav a{font-family:var(--serif);font-size:1.6rem;font-weight:500;padding:14px 0;width:100%;border-bottom:1px solid var(--line)}
  .nav .nav__cta{display:inline-flex;margin-top:24px;font-family:var(--sans);font-size:15px;border-bottom:0;width:100%}
  .nav a::after{display:none}
  .header__right .btn{display:none}
  .burger{display:block}
  .mega{display:none!important}
  .nav__desk{display:none}
  .nav__mob{display:contents}
  .nav__group{width:100%;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 44px;align-items:center}
  .nav__group>a{border-bottom:0}
  .nav__more{width:44px;height:44px;border:0;background:transparent;font:400 24px/1 var(--serif);color:var(--teal-ink);cursor:pointer;transition:transform var(--fast) var(--ease)}
  .nav__more[aria-expanded="true"]{transform:rotate(45deg)}
  .nav__sub{grid-column:1/-1;display:none;padding:0 0 12px 8px}
  .nav__group.is-open .nav__sub{display:block}
  .nav__sub li a{font:400 15.5px/1.4 var(--sans);padding:10px 0;border-bottom:0;width:100%;display:block;color:var(--ink-soft)}
}
@media (min-width:1280px){.nav{gap:18px}.nav__desk a{font-size:14px}}

/* ---------- Thai: no word spaces, tall tone marks ---------- */
html:lang(th) body{line-height:1.85}
html:lang(th) h1,html:lang(th) h2,html:lang(th) h3,html:lang(th) h4{line-height:1.45;letter-spacing:0}
html:lang(th) .btn,html:lang(th) .chip,html:lang(th) .eyebrow{line-height:1.5}
html:lang(th) .eyebrow{letter-spacing:.02em}
html:lang(th) *{word-break:normal;line-break:auto}

/* ---------- Arabic: RTL ---------- */
html[dir="rtl"] *{letter-spacing:0!important}   /* tracking breaks Arabic joining */
html[dir="rtl"] body{line-height:1.85}
html[dir="rtl"] h1,html[dir="rtl"] h2,html[dir="rtl"] h3{line-height:1.4}
html[dir="rtl"] .eyebrow{text-transform:none}
/* numbers, prices, Latin brand names keep their own direction inside RTL text */
html[dir="rtl"] b,html[dir="rtl"] .price b,html[dir="rtl"] .scard__price b{unicode-bidi:isolate}
/* arrows and sliders point the reading way */
html[dir="rtl"] .gallery-nav button,html[dir="rtl"] .hublist__arrow,html[dir="rtl"] .ccard__link,html[dir="rtl"] .scx__cta i{display:inline-block;transform:scaleX(-1)}

/* ---------- E2E fixes: long labels ---------- */
/* 1280–1439px: desktop bar with 9 longer labels + language menu + messenger button must fit (ru/es overflowed by ~45px) */
@media (min-width:1280px) and (max-width:1439px){.nav{gap:12px}.nav__desk a{font-size:13px}.header__right .btn{padding-inline:14px}}
/* sticky quiz bar and price cards: let tracks shrink below their longest word instead of pushing past the screen */
.hlx-bar{grid-template-columns:minmax(0,auto) minmax(0,1fr)}
.hlx-bar>*,.hlx-bar .btn{min-width:0;white-space:normal}
@media (max-width:1023px){.sg-price__grid{grid-template-columns:minmax(0,1fr)}}
.sg-price__card{min-width:0}
.sg-price__card *{overflow-wrap:anywhere}
