/* Indexed Translation V1: selector, machine-translation notice and Khmer type. */

/* Khmer fonts: self-hosted, limited to the Khmer blocks, so they download
   only when Khmer text is rendered. font-display: swap never hides text. */
@font-face{font-family:"Noto Sans Khmer";src:url("/v2/fonts/khmer/noto-sans-khmer-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}
@font-face{font-family:"Kantumruy Pro";src:url("/v2/fonts/khmer/kantumruy-pro-400.ttf") format("truetype");font-weight:400;font-style:normal;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}
@font-face{font-family:"Kantumruy Pro";src:url("/v2/fonts/khmer/kantumruy-pro-500.ttf") format("truetype");font-weight:500 700;font-style:normal;font-display:swap;unicode-range:U+1780-17FF,U+19E0-19FF,U+200B-200D,U+25CC}

/* lang="km": Noto Sans Khmer for UI and body, Kantumruy Pro for display.
   Latin (brand names, English-authoritative sections) falls through to the
   site's own family. */
html[lang="km"] body,
html[lang="km"] body *:not(svg):not(svg *){font-family:"Noto Sans Khmer","DM Sans","Inter",system-ui,sans-serif!important;line-height:1.6}
html[lang="km"] body :is(h1,h2,h3,h4):not(svg):not(svg *),
html[lang="km"] body :is(h1,h2,h3,h4) *:not(svg):not(svg *){font-family:"Kantumruy Pro","Noto Sans Khmer","DM Sans",system-ui,sans-serif!important;line-height:1.35}
html[lang="km"] body :is(h1,h2,h3,h4):not(svg):not(svg *){letter-spacing:0!important}

/* Selector: a 28.5px wireframe globe (38px less 25%) in the unchanged 44px hit area. */
.ix-translation-selector{position:relative;display:inline-flex;align-items:center;z-index:101}
.ix-translation-trigger{display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:inherit;cursor:pointer}
.ix-translation-trigger:focus-visible{outline:2px solid #2549c7;outline-offset:2px}
.ix-translation-trigger svg{width:28.5px;height:28.5px;fill:none;stroke:currentColor;stroke-width:1.3;stroke-linecap:round;stroke-linejoin:round;transition:transform .55s cubic-bezier(.2,.8,.2,1)}
.ix-translation-selector:hover svg,.ix-translation-trigger:focus-visible svg,.ix-translation-trigger[aria-expanded="true"] svg{transform:rotate(180deg)}
.ix-translation-menu{position:absolute;right:0;top:calc(100% + 8px);width:min(260px,calc(100vw - 32px));padding:10px;background:#f7fafc;color:#11213a;border:1px solid #d6e1ec;box-shadow:0 18px 48px #07132140;text-align:left}
.ix-translation-menu[hidden]{display:none}
.ix-translation-heading{margin:4px 8px 8px;font:600 13px/1.4 'DM Sans',system-ui,sans-serif;letter-spacing:0;text-transform:none;color:#4d5d72}
.ix-translation-menu button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;column-gap:10px;width:100%;min-height:44px;padding:8px;border:0;background:transparent;color:inherit;text-align:left;font:14px/1.3 system-ui,sans-serif;cursor:pointer}
.ix-translation-menu button:hover,.ix-translation-menu button:focus-visible{background:#e4edf8;outline:0}
.ix-translation-native{grid-column:1;grid-row:1}
.ix-translation-machine{grid-column:1;grid-row:2;font-size:11px;color:#647588}
.ix-translation-menu b{grid-column:2;grid-row:1 / span 2;align-self:center;visibility:hidden;color:#2549c7}
.ix-translation-menu [aria-checked="true"] b{visibility:visible}
.ix-translation-footnote{margin:8px 8px 4px;padding-top:8px;border-top:1px solid #d7e0e9;font:11px/1.45 system-ui,sans-serif;color:#4c5d72}

/* Header fit: the globe never shrinks or leaves the viewport. Under a
   non-English locale on narrow screens the CTA and menu labels wrap instead
   of pushing the globe off-screen (English layout is unchanged). */
nav.nav5 .ix-translation-selector{flex:0 0 auto}
@media (max-width: 767px){
  html[data-ix-locale] nav.nav5{min-width:0}
  html[data-ix-locale] nav.nav5>.nav5-logo{flex:0 0 auto}
  html[data-ix-locale] nav.nav5>.nav5-right{flex:0 1 auto;min-width:0}
  html[data-ix-locale] nav.nav5 .nav5-btn{flex:0 1 auto;min-width:0;height:auto;min-height:36px;padding-top:4px;padding-bottom:4px;white-space:normal}
  html[data-ix-locale] nav.nav5 .nav5-type{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.2;text-align:center}
  html[data-ix-locale] nav.nav5 .nav5-burger{flex:0 1 auto;min-width:0;max-width:34vw;white-space:normal;overflow-wrap:anywhere;line-height:1.15;text-align:center}
}

/* Currency shares the globe dropdown (Han 2026-09-29). Rows are radios in a radiogroup so the language options stay the
   only menuitemradio elements. Below the burger breakpoint the header carries no globe: language and currency are
   offered in the menu sheet instead (IxNav, .nav5-region). */
.ix-currency-section{margin-top:8px;padding-top:8px;border-top:1px solid #d7e0e9}
.ix-currency-section .ix-translation-heading{margin-top:2px}
.ix-currency-section .ix-currency-options{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 8px}
.ix-currency-section [role="radio"]{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:44px;padding:6px 4px;box-sizing:border-box;border:1px solid #d6e1ec;background:transparent;color:inherit;font:600 13px/1.2 system-ui,sans-serif;cursor:pointer}
.ix-currency-section [role="radio"]:hover,.ix-currency-section [role="radio"]:focus-visible{background:#e4edf8;outline:0}
.ix-currency-section [role="radio"]:focus-visible{box-shadow:0 0 0 2px #2549c7}
.ix-currency-section [role="radio"][aria-checked="true"]{border-color:#2549c7;background:#e4edf8}
.ix-currency-section [role="radio"] b{position:absolute;top:1px;right:4px;grid-column:auto;grid-row:auto;font-size:10px;line-height:1.2}
.ix-currency-symbol{font-size:11px;font-weight:400;color:#647588}
.ix-currency-section .ix-currency-footnote{margin:8px 8px 4px}
/* The combined menu can be tall (eight languages plus currency): it scrolls inside the viewport, never off it. */
.ix-translation-menu{max-height:calc(100vh - 100px);max-height:calc(100dvh - 100px);overflow-y:auto}
/* Only a header that offers the same choices in its menu sheet (nav5--region, IxNav) drops the globe on narrow screens;
   an older header without the sheet section keeps the globe where it was. */
@media (max-width: 1050px){
  nav.nav5--region .ix-translation-selector{display:none}
}

/* D1 notice: persistent while a non-English locale is active. */
.ix-mt-notice{position:fixed;left:0;right:0;bottom:0;z-index:9000;max-height:40vh;overflow:auto;padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:#fffbea;color:#1d2433;border-top:1px solid #d9c98a;box-shadow:0 -6px 24px #14203322;font:12.5px/1.45 system-ui,sans-serif}
.ix-mt-notice p{max-width:1100px;margin:0 auto}
.ix-mt-notice p+p{margin-top:2px}
.ix-mt-notice__english{color:#4a5263}
.ix-mt-notice__authoritative{font-size:11.5px}
.ix-mt-notice a{color:#1748a8;text-decoration:underline;white-space:nowrap}
.ix-mt-notice{padding-right:56px}
.ix-mt-notice__close{position:absolute;top:2px;right:6px;display:grid;place-items:center;width:44px;height:44px;min-width:44px;min-height:44px;padding:0;border:0;border-radius:50%;background:transparent;color:#1d2433;font:400 24px/1 system-ui,sans-serif;cursor:pointer;touch-action:manipulation}
.ix-mt-notice__x::before{content:"\00d7"}
.ix-mt-notice__close:hover{background:#f2e7bd}
.ix-mt-notice__close:focus-visible{outline:2px solid #2549c7;outline-offset:-2px}
/* Menu copy of the notice, kept after the bottom notice is dismissed. */
.ix-translation-disclosure{margin:8px 8px 4px;padding-top:8px;border-top:1px solid #d7e0e9;font:11px/1.45 system-ui,sans-serif;color:#4c5d72}
.ix-translation-disclosure[hidden]{display:none}
.ix-translation-disclosure p{margin:0}
.ix-translation-disclosure p+p{margin-top:4px}
.ix-translation-disclosure a{color:#1748a8;text-decoration:underline}
body.ix-mt-active{padding-bottom:max(128px,var(--ix-mt-notice-h,0px))}
/* The consent panel and its "Privacy settings" button sit ABOVE the notice
   (both stay fully visible; the consent UI keeps its size and z-order). */
body.ix-mt-active>#indexed-analytics-preferences{bottom:calc(var(--ix-mt-notice-h,0px) + 56px)!important;max-height:calc(100vh - var(--ix-mt-notice-h,0px) - 72px);overflow:auto}
body.ix-mt-active>button[aria-controls="indexed-analytics-preferences"]{bottom:calc(var(--ix-mt-notice-h,0px) + 12px)!important}

@media (prefers-reduced-motion: reduce){
  .ix-translation-trigger svg{transition:none}
  .ix-translation-selector:hover svg,.ix-translation-trigger:focus-visible svg,.ix-translation-trigger[aria-expanded="true"] svg{transform:none}
}

/* v3 launch: prices are USD only, so the currency choice is hidden (see regional-price.js). */
.ix-currency-section{display:none!important}
.nav5-region-group[data-ix-i18n-surface="payment"],.ix-currency-selector{display:none!important}
