@font-face { font-family:'Phetsarath OT'; font-weight:300; font-style:normal; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-Light.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:300; font-style:italic; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-LightItalic.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:400; font-style:normal; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-Regular.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:400; font-style:italic; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-Italic.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:500; font-style:normal; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-Medium.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:500; font-style:italic; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-MediumItalic.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:600; font-style:normal; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-SemiBold.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:600; font-style:italic; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-SemiBoldItalic.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:700; font-style:normal; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-Bold.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:700; font-style:italic; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-BoldItalic.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:900; font-style:normal; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-Black.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
@font-face { font-family:'Phetsarath OT'; font-weight:900; font-style:italic; src:url('/assets/fonts/phetsarath-v4.103/PhetsarathOT-BlackItalic.woff2') format('woff2'); font-display:swap; unicode-range:U+0E80-0EFF; }
/* Phetsarath OT is self-hosted. Restrict its face to Lao so other languages
   continue using the existing language-specific fonts. License: assets/fonts/OFL.txt. */
html {
  --font-sans:"Phetsarath OT","Noto Sans Lao","Inter","Noto Sans Thai","Noto Sans SC","Noto Color Emoji","Segoe UI Emoji","Apple Color Emoji",system-ui,sans-serif !important;
  --default-font-family:var(--font-sans);
}
html, html body, html body *, html button, html input, html select, html textarea {
  font-family:var(--font-sans) !important;
}
aside.app-print-shell [data-upos-menu-heading] {
  cursor:default;
  opacity:1;
  min-height:40px;
  margin-top:8px;
  font-size:13px;
  line-height:1.6;
  color:#b2c1d6;
  background:transparent;
  pointer-events:none;
}
aside.app-print-shell [data-upos-menu-heading] > svg { display:none; }
aside.app-print-shell [data-upos-menu-heading] > span:last-of-type { font-size:11px; }
aside.app-print-shell nav .truncate {
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
  overflow-wrap:anywhere;
}
aside.app-print-shell nav a { min-height:44px; line-height:1.55; }
/* Keep the entire item visible in the mobile menu, including long Lao names. */
[role="dialog"].no-print nav a { min-height:44px; line-height:1.55; }
[role="dialog"].no-print nav a .truncate { white-space:normal; overflow:visible; text-overflow:clip; }
[role="dialog"].no-print nav section > div:first-child { font-size:13px; line-height:1.6; }
img[src^="/assets/product-photos/"] { object-fit:contain !important; background:#fff; }
.aspect-square > img[src^="/assets/product-photos/"] { position:absolute; inset:0; width:100%; height:100%; }
.upos-pos-categories > div { display:block !important; }
.upos-pos-categories > div > .flex { flex-wrap:wrap; }
.upos-pos-categories button { min-height:44px; white-space:normal; line-height:1.5; }
/* A short landscape screen needs page scrolling as well as a usable product
   viewport; otherwise the search and visible category rows consume its height. */
@media screen and (max-width:1023px) and (max-height:600px) {
  main[data-upos-pos] > div { height:auto !important; min-height:400px; }
  main[data-upos-pos] > div > .flex-1 > .relative.overflow-hidden.flex-1 { height:320px; min-height:200px; flex:none; }
}
.upos-photo-credits { font-size:12px; line-height:1.6; color:var(--upos-theme-muted,#52627a); }
@media print { .upos-photo-credits { display:none; } }
