/* Premium look (inc/mx-premium.php). Everything is scoped to body.mxp-on. */
.mxp-on { --mxp-navy: #0F3B66; --mxp-deep: #0A2A49; --mxp-ink: #0E1823; --mxp-text: #1E2A36; --mxp-body: #3D4752; --mxp-mute: #5B6470;
    --mxp-gold: #F3C95B; --mxp-gold-d: #C99A1E; --mxp-red: #B3261E; --mxp-wash: #F7F5F0; --mxp-chip: #F4F2ED; --mxp-line: #E6E2D8; --mxp-hair: #EFECE5; }
.mxp-on .mxp-i { display: inline-block; width: 14px; height: 14px; flex: none; vertical-align: -2px; }
.mxp-on [class^="mxp-"], .mxp-on [class*=" mxp-"] { box-sizing: border-box; }
.mxp-gone { display: none !important; }
.mxp-util, .mxp-strip, .mxp-chips, .mxp-compact, .mxp-mega, .mxp-chead, .mxp-top, .mxp-grid, .mxp-box, .mxp-card, .mxp-crumb, .mxp-chip, .mxp-related, .mxp-cstream, .mxp-more, .mxp-shead { font-family: Phetsarath, sans-serif; }

/* ---------- utility bar ---------- */
.mxp-util { background: var(--mxp-deep); color: #D9E3EE; font-size: 13px; line-height: 1.4; }
.mxp-util__in { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 36px; padding: 0 40px; }
.mxp-util__l, .mxp-util__r { display: flex; align-items: center; gap: 16px; }
.mxp-util__sep { width: 1px; height: 14px; background: rgba(255, 255, 255, .25); }
.mxp-util__upd { display: inline-flex; align-items: center; gap: 6px; }
.mxp-util__upd i { width: 7px; height: 7px; border-radius: 50%; background: var(--mxp-gold); }
.mxp-util a { color: #D9E3EE !important; text-decoration: none !important; }
.mxp-util a:hover { color: #fff !important; }
.mxp-util .mxp-i { width: 16px; height: 16px; }

/* ---------- masthead + menu: full width ---------- */
.mxp-on .mxp-mast > .elementor-container, .mxp-on .mxp-navrow > .elementor-container { max-width: none !important; }
.mxp-on .mxp-mast > .elementor-container { padding: 8px 28px 6px; }
.mxp-on .mxp-mast .elementor-element-d813ada { display: none; }
.mxp-on .mxp-mast .elementor-element-cbadee4 { flex: 1 1 auto; }
.mxp-on .mxp-mark { display: block; font: 400 13px/1.4 Phetsarath, sans-serif; color: var(--mxp-mute); letter-spacing: .2px; }
.mxp-on .mxp-mark b { font-weight: 700; color: var(--mxp-navy); letter-spacing: 3px; }
.mxp-on .mxp-mast .jet-search__field { height: 44px; padding: 0 18px !important; font: 400 14px Phetsarath, sans-serif !important; background: var(--mxp-chip) !important;
    border: 1px solid var(--mxp-line) !important; border-right: 0 !important; border-radius: 999px 0 0 999px !important; }
.mxp-on .mxp-mast .jet-search__submit { height: 44px; min-width: 52px; background: var(--mxp-navy) !important; border-radius: 0 999px 999px 0 !important; }
.mxp-on .mxp-navrow { border-top: 1px solid var(--mxp-line); border-bottom: 1px solid var(--mxp-line); }
.mxp-on .mxp-navrow > .elementor-container { padding: 0 28px; }
@media (min-width: 1025px) {
    .mxp-on .mxp-navrow .jet-mega-menu-list { flex-wrap: nowrap !important; justify-content: space-between !important; }
    .mxp-on .mxp-navrow .jet-mega-menu-list > .jet-mega-menu-item > .jet-mega-menu-item__inner { padding-left: 5px !important; padding-right: 5px !important; }
    .mxp-on .mxp-navrow .jet-mega-menu-list > .jet-mega-menu-item .jet-mega-menu-item__label { font: 700 14px/1.4 Phetsarath, sans-serif !important; color: var(--mxp-text) !important; white-space: nowrap; }
    .mxp-on .mxp-navrow .jet-mega-menu-list .jet-mega-menu-item__dropdown { width: 10px; margin-left: 3px; }
    .mxp-on .mxp-navrow .jet-mega-menu-list .jet-mega-menu-item__dropdown svg { width: 8px; height: 8px; }
    .mxp-on .mxp-navrow .jet-mega-menu-list > .jet-mega-menu-item.jet-mega-current-menu-item:not(.jet-mega-menu-item-19014) > .jet-mega-menu-item__inner,
    .mxp-on .mxp-navrow .jet-mega-menu-list > .jet-mega-menu-item.is-mxp-open > .jet-mega-menu-item__inner { box-shadow: inset 0 -3px 0 var(--mxp-navy); }
    .mxp-on .mxp-navrow .jet-mega-menu-list > .jet-mega-menu-item.jet-mega-current-menu-item:not(.jet-mega-menu-item-19014) .jet-mega-menu-item__label,
    .mxp-on .mxp-navrow .jet-mega-menu-list > .jet-mega-menu-item.is-mxp-open .jet-mega-menu-item__label { color: var(--mxp-navy) !important; }
    /* our own panels replace JetMenu's for the category items (the ມື້ນີ້ panel stays JetMenu's) */
    .mxp-on .jet-mega-menu-item[data-mxp-cat] > .jet-mega-menu-mega-container { display: none !important; }
}

/* ---------- latest strip ---------- */
.mxp-strip { border-bottom: 1px solid var(--mxp-hair); background: #fff; }
.mxp-strip__in { display: flex; align-items: center; gap: 14px; height: 46px; padding: 0 40px; font-size: 14.5px; }
.mxp-strip__lab { flex: none; display: inline-flex; align-items: center; gap: 7px; padding: 4px 11px; font-size: 13px; font-weight: 700; color: #fff; background: var(--mxp-red); border-radius: 6px; }
.mxp-strip__lab i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: mxp-blink 1.6s ease-in-out infinite; }
@keyframes mxp-blink { 50% { opacity: .35; } }
.mxp-strip__items { flex: 1; min-width: 0; }
.mxp-strip__i { display: flex; align-items: center; gap: 12px; min-width: 0; color: var(--mxp-ink) !important; text-decoration: none !important; animation: mxp-fade .35s ease; }
.mxp-strip__i[hidden] { display: none; }
.mxp-strip__i b { flex: none; font: 700 13px system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--mxp-red); }
.mxp-strip__i span { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-weight: 700; }
.mxp-strip__i:hover span { color: var(--mxp-navy); text-decoration: underline; }
@keyframes mxp-fade { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.mxp-strip__nav { flex: none; display: flex; gap: 6px; }
.mxp-strip__nav button { width: 32px; height: 32px; display: grid; place-items: center; margin: 0; padding: 0; color: var(--mxp-text); background: var(--mxp-chip); border: 0; border-radius: 8px; cursor: pointer; }
.mxp-strip__nav button:hover, .mxp-strip__nav button:focus { color: var(--mxp-navy); background: #EAE6DC; }

/* ---------- phone category chips ---------- */
.mxp-chips { display: none; }
@media (max-width: 1024px) {
    .mxp-chips { display: flex; gap: 8px; padding: 10px 16px; overflow-x: auto; scrollbar-width: none; white-space: nowrap; border-bottom: 1px solid var(--mxp-hair); background: #fff; }
    .mxp-chips::-webkit-scrollbar { display: none; }
    .mxp-chips a { flex: none; padding: 8px 14px; font-size: 14px; font-weight: 700; color: var(--mxp-text) !important; background: var(--mxp-chip); border-radius: 999px; text-decoration: none !important; }
    .mxp-chips a[aria-current="page"] { color: #fff !important; background: var(--mxp-navy); }
}

/* ---------- compact bar on scroll (desktop) + reading progress ---------- */
.mxp-compact { position: fixed; z-index: 9985; left: 0; right: 0; top: 0; background: #fff; border-bottom: 1px solid var(--mxp-line);
    box-shadow: 0 6px 18px -12px rgba(14, 24, 35, .35); transform: translateY(-110%); transition: transform .22s ease; }
body.mxp-scrolled .mxp-compact { transform: none; }
body.admin-bar .mxp-compact { top: 32px; }
.mxp-compact__in { display: flex; align-items: center; gap: 20px; height: 58px; padding: 0 40px; }
.mxp-compact__logo { font-size: 25px; font-weight: 700; line-height: 1; color: var(--mxp-navy) !important; text-decoration: none !important; }
.mxp-compact__sep { width: 1px; height: 26px; background: var(--mxp-line); }
.mxp-compact nav { flex: 1; min-width: 0; display: flex; gap: 2px; overflow: hidden; white-space: nowrap; }
.mxp-compact nav a { padding: 8px 10px; font-size: 14px; font-weight: 700; color: var(--mxp-text) !important; border-radius: 8px; text-decoration: none !important; }
.mxp-compact nav a:hover, .mxp-compact nav a.is-on { color: var(--mxp-navy) !important; background: #EAF0F6; }
.mxp-compact__s { width: 42px; height: 42px; display: grid; place-items: center; color: var(--mxp-navy) !important; background: var(--mxp-chip); border-radius: 50%; }
.mxp-compact__s .mxp-i { width: 18px; height: 18px; }
.mxp-progress { position: fixed; z-index: 9986; left: 0; right: 0; top: 0; height: 3px; pointer-events: none; }
.mxp-progress span { display: block; width: 0; height: 100%; background: var(--mxp-gold); transition: width .1s linear; }
body.admin-bar .mxp-progress { top: 32px; }
body.mxp-scrolled .mxp-progress { top: 58px; }
body.admin-bar.mxp-scrolled .mxp-progress { top: 90px; }
@media (max-width: 1024px) {
    .mxp-compact { display: none; }
    body.mxp-scrolled .mxp-progress, body.admin-bar.mxp-scrolled .mxp-progress { top: 0; }
}

/* ---------- section titles ---------- */
.mxp-shead { display: flex; align-items: flex-end; gap: 16px; margin: 0 0 18px; }
.mxp-shead__t { margin: 0 !important; padding-bottom: 10px; font: 700 24px/1.3 Phetsarath, sans-serif !important; color: var(--mxp-ink) !important; border-bottom: 3px solid var(--mxp-navy); }
.mxp-shead__line { flex: 1; height: 1px; margin-bottom: 1px; background: var(--mxp-line); }
.mxp-shead__more { padding-bottom: 10px; font-size: 14px; font-weight: 700; color: var(--mxp-navy) !important; white-space: nowrap; text-decoration: none !important; }

/* ---------- cards ---------- */
.mxp-card { position: relative; display: flex; flex-direction: column; gap: 10px; min-width: 0; }
.mxp-card__media { overflow: hidden; border-radius: 10px; background: #ECE9E2; }
.mxp-card__media img, .mxp-card__media .mxp-img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 1.9; object-fit: cover; transition: transform .35s ease; }
.mxp-card:hover .mxp-card__media img { transform: scale(1.03); }
.mxp-ph { display: grid; place-items: center; aspect-ratio: 1.9; font-size: 22px; font-weight: 700; color: rgba(255, 255, 255, .5); background: var(--mxp-navy); }
.mxp-card__body { display: flex; flex-direction: column; gap: 8px; min-width: 0; }
.mxp-kicker { position: relative; z-index: 2; align-self: flex-start; display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; font-weight: 700; line-height: 1.4; color: var(--mxp-navy) !important; text-decoration: none !important; }
.mxp-kicker i, .mxp-chip i, .mxp-gcat__head i, .mxp-mega__t i, .mxp-chead h1 i { width: 7px; height: 7px; flex: none; background: var(--mxp-gold); border-radius: 2px; }
.mxp-card__t { margin: 0 !important; font: 700 17px/1.6 Phetsarath, sans-serif !important; color: var(--mxp-ink) !important; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mxp-card__t a { color: inherit !important; text-decoration: none !important; }
.mxp-card__t a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.mxp-card__t a:focus-visible { outline: none; }
.mxp-card__t a:focus-visible::after { outline: 3px solid #1D6FD6; outline-offset: 3px; border-radius: 12px; }
.mxp-card:hover .mxp-card__t { color: var(--mxp-navy) !important; }
.mxp-card__dek { margin: 0 !important; font-size: 15px; line-height: 1.75; color: var(--mxp-body); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.mxp-meta { display: flex; align-items: center; gap: 14px; font: 500 12.5px/1.4 Phetsarath, system-ui, sans-serif; color: var(--mxp-mute); }
.mxp-meta span { display: inline-flex; align-items: center; gap: 5px; }
.mxp-card--lead { gap: 14px; }
.mxp-card--lead .mxp-card__media { border-radius: 12px; }
.mxp-card--lead .mxp-card__t { font-size: 30px !important; line-height: 1.5 !important; -webkit-line-clamp: 4; }
.mxp-card--sm .mxp-card__t, .mxp-card--grid .mxp-card__t { font-size: 16px !important; }
.mxp-card--rel .mxp-card__t { font-size: 15.5px !important; }
.mxp-card--mega .mxp-card__t { font-size: 15px !important; -webkit-line-clamp: 2; }
.mxp-card--row { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 20px; align-items: start; padding-bottom: 22px; border-bottom: 1px solid var(--mxp-hair); }
.mxp-card--row .mxp-card__t { font-size: 19px !important; line-height: 1.55 !important; -webkit-line-clamp: 2; }
.mxp-card--row .mxp-card__dek { font-size: 14.5px; }

/* ---------- homepage top ---------- */
.mxp-on .mxp-top > .elementor-container { max-width: 1240px; }
.mxp-on .mxp-top__stack > .elementor-widget-wrap { border-left: 1px solid var(--mxp-hair); padding-left: 24px !important; }
@media (min-width: 1025px) {
    .mxp-on .mxp-top .mxp-top__lead { width: 50% !important; }
    .mxp-on .mxp-top .mxp-top__stack { width: 23.5% !important; }
    .mxp-on .mxp-top .mxp-top__latest { width: 26.5% !important; }
}
.mxp-on .mxp-top__latest .mxp-tl { padding: 18px 16px 6px; }
.mxp-pair { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px; margin-top: 22px; padding-top: 22px; border-top: 1px solid var(--mxp-hair); }
.mxp-stack { display: flex; flex-direction: column; gap: 18px; }
.mxp-stack .mxp-card { padding-bottom: 18px; border-bottom: 1px solid var(--mxp-hair); }
.mxp-stack .mxp-card:last-child { border-bottom: 0; }

/* boxes: latest timeline, most read */
.mxp-box { display: flex; flex-direction: column; padding: 20px; border: 1px solid var(--mxp-line); border-radius: 16px; background: #fff; }
.mxp-box--wash { background: var(--mxp-wash); border-color: transparent; padding-bottom: 8px; }
.mxp-box__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-bottom: 12px; border-bottom: 2px solid var(--mxp-ink); }
.mxp-box__t { display: inline-flex; align-items: center; gap: 8px; font-size: 19px; font-weight: 700; color: var(--mxp-ink); }
.mxp-box__sub { font-size: 12.5px; color: var(--mxp-mute); }
.mxp-box__more { font-size: 13px; font-weight: 700; color: var(--mxp-navy) !important; text-decoration: none !important; }
.mxp-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--mxp-red); }
.mxp-tl__i { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 10px; padding: 14px 0; border-bottom: 1px solid var(--mxp-line); color: var(--mxp-text) !important; text-decoration: none !important; }
.mxp-tl__i:last-child { border-bottom: 0; }
.mxp-tl__when { display: flex; flex-direction: column; align-items: flex-start; gap: 5px; }
.mxp-tl__when b { font: 700 13.5px system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--mxp-navy); font-variant-numeric: tabular-nums; }
.mxp-tl__when em { padding: 1px 7px; font-style: normal; font-size: 11px; font-weight: 700; color: #fff; background: var(--mxp-red); border-radius: 999px; }
.mxp-tl__t { font-size: 14.5px; font-weight: 700; line-height: 1.6; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
.mxp-tl--compact .mxp-tl__t { -webkit-line-clamp: 2; }
.mxp-tl__i:hover .mxp-tl__t, .mxp-most__i:hover .mxp-most__t, .mxp-gcat__line:hover span { color: var(--mxp-navy); }
.mxp-most__i { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--mxp-hair); color: var(--mxp-ink) !important; text-decoration: none !important; }
.mxp-most__i:last-child { border-bottom: 0; padding-bottom: 4px; }
.mxp-most__n { font: 800 28px/1 Georgia, "Times New Roman", serif; color: #B7BEC7; }
.mxp-most__n.is-top { color: var(--mxp-gold-d); }
.mxp-most__b { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.mxp-most__t { font-size: 15px; font-weight: 700; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.mxp-most__m { font-size: 12.5px; color: var(--mxp-mute); }
.mxp-most__m b { color: var(--mxp-navy); }

/* ---------- homepage: every section ---------- */
.mxp-on .mxp-home2 > .elementor-container { max-width: 1240px; }
.mxp-grid__wrap { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 34px 28px; }
.mxp-gcat { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.mxp-gcat__head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding-bottom: 8px; border-bottom: 2px solid var(--mxp-ink); }
.mxp-gcat__head a:first-child { display: inline-flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 700; color: var(--mxp-ink) !important; text-decoration: none !important; }
.mxp-gcat__more { font-size: 12.5px; font-weight: 700; color: var(--mxp-navy) !important; white-space: nowrap; text-decoration: none !important; }
.mxp-gcat__line { display: flex; flex-direction: column; gap: 4px; padding-top: 10px; border-top: 1px solid var(--mxp-hair); color: var(--mxp-text) !important; text-decoration: none !important; }
.mxp-gcat__line span { font-size: 14.5px; font-weight: 700; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.mxp-gcat__line small { font-size: 12px; color: var(--mxp-mute); }
.mxp-on .mxp-home2__side .mxp-most { margin-bottom: 24px; }

/* ---------- story page ---------- */
.mxp-crumb { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; font-size: 13px; color: var(--mxp-mute); }
.mxp-crumb a { color: var(--mxp-mute) !important; text-decoration: none !important; }
.mxp-crumb a b { color: var(--mxp-navy); }
.mxp-crumb .mxp-i { width: 10px; height: 10px; color: #9AA2AC; }
.mxp-chip { display: inline-flex; align-items: center; gap: 8px; margin-top: 14px; padding: 5px 12px; font-size: 13px; font-weight: 700; color: var(--mxp-navy) !important; background: #EAF0F6; border-radius: 999px; text-decoration: none !important; }
.mxp-on .mxp-title .jet-listing-dynamic-field__content, .mxp-on .mxp-title h1 { font-family: Phetsarath, sans-serif !important; font-size: 36px !important; line-height: 1.55 !important; color: var(--mxp-ink) !important; letter-spacing: -.1px; }
.mxp-on .mxp-tags .jet-listing-dynamic-terms__link { display: inline-block; margin: 0 6px 8px 0; padding: 6px 14px; font: 400 13.5px Phetsarath, sans-serif; color: var(--mxp-text) !important; background: var(--mxp-chip); border-radius: 999px; text-decoration: none !important; }
.mxp-on .mxp-tags .jet-listing-dynamic-terms__link:hover { color: var(--mxp-navy) !important; background: #EAE6DC; }
.mxp-related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px 20px; }
.mxp-on .mxp-side .mxp-box { margin-bottom: 24px; }
.mxp-others > div { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.mxp-others a { padding: 8px 14px; font-size: 13.5px; font-weight: 700; color: var(--mxp-text) !important; background: #fff; border: 1px solid var(--mxp-line); border-radius: 999px; text-decoration: none !important; }
.mxp-others a:hover { color: var(--mxp-navy) !important; border-color: var(--mxp-navy); }
.mxp-others { padding-bottom: 20px !important; }

/* ---------- category page ---------- */
.mxp-chead { background: var(--mxp-wash); border-bottom: 1px solid var(--mxp-line); }
.mxp-chead__in { max-width: 1240px; margin: 0 auto; padding: 26px 20px 22px; display: flex; flex-direction: column; gap: 12px; }
.mxp-chead__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; flex-wrap: wrap; }
.mxp-chead__txt { display: flex; flex-direction: column; gap: 8px; max-width: 720px; }
.mxp-chead h1 { display: inline-flex; align-items: center; gap: 12px; margin: 0 !important; font: 700 42px/1.35 Phetsarath, sans-serif !important; color: var(--mxp-ink) !important; }
.mxp-chead h1 i { width: 14px; height: 14px; border-radius: 4px; }
.mxp-chead p { margin: 0 !important; font-size: 16px; line-height: 1.75; color: var(--mxp-body); }
.mxp-chead__n { font-size: 13px; color: var(--mxp-mute); }
.mxp-tabs { display: flex; gap: 4px; padding: 4px; background: #fff; border: 1px solid var(--mxp-line); border-radius: 999px; }
.mxp-tabs a { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; font-size: 14px; font-weight: 700; color: var(--mxp-text) !important; border-radius: 999px; text-decoration: none !important; }
.mxp-tabs a[aria-selected="true"] { color: #fff !important; background: var(--mxp-navy); }
.mxp-on .mxp-cat > .elementor-container { max-width: 1240px; }
.mxp-cstream { display: flex; flex-direction: column; gap: 22px; }
.mxp-ctop { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(0, 1fr); gap: 24px; padding-bottom: 8px; }
.mxp-ctop .mxp-card--lead .mxp-card__t { font-size: 26px !important; }
.mxp-ctop__side { display: flex; flex-direction: column; gap: 18px; }
.mxp-ctop__side .mxp-card__t { -webkit-line-clamp: 2; font-size: 16px !important; }
.mxp-day { display: flex; align-items: center; gap: 12px; padding-top: 6px; }
.mxp-day b { font-size: 15px; color: var(--mxp-ink); }
.mxp-day span { font-size: 13px; color: var(--mxp-mute); }
.mxp-day i { flex: 1; height: 1px; background: var(--mxp-line); }
.mxp-more { display: flex; flex-direction: column; align-items: center; gap: 14px; padding-top: 28px; }
.mxp-more__btn { display: inline-flex; align-items: center; height: 48px; padding: 0 28px; font-size: 15px; font-weight: 700; color: var(--mxp-navy) !important; background: #fff; border: 2px solid var(--mxp-navy); border-radius: 999px; text-decoration: none !important; }
.mxp-more__btn:hover { color: #fff !important; background: var(--mxp-navy); }
.mxp-more__btn.is-loading { opacity: .6; pointer-events: none; }
.mxp-pages { display: flex; align-items: center; flex-wrap: wrap; justify-content: center; gap: 6px; font: 600 14px system-ui, -apple-system, "Segoe UI", sans-serif; }
.mxp-pages .page-numbers { min-width: 40px; height: 40px; padding: 0 12px; display: grid; place-items: center; color: var(--mxp-text) !important; background: var(--mxp-chip); border-radius: 10px; text-decoration: none !important; }
.mxp-pages .page-numbers.current { color: #fff !important; background: var(--mxp-navy); }
.mxp-pages .page-numbers.dots { background: none; min-width: 20px; }
.mxp-empty { padding: 30px 0; color: var(--mxp-mute); }

/* ---------- mega panel ---------- */
.mxp-mega { position: absolute; z-index: 9984; left: 0; right: 0; background: #fff; border-top: 1px solid var(--mxp-line); border-bottom: 1px solid var(--mxp-line);
    box-shadow: 0 24px 48px -20px rgba(14, 24, 35, .35); animation: mxp-drop .18s ease; }
.mxp-mega[hidden] { display: none; }
@keyframes mxp-drop { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
.mxp-mega__in { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 36px; align-items: start; padding: 26px 40px 28px; }
.mxp-mega__side { display: flex; flex-direction: column; gap: 18px; padding-right: 30px; border-right: 1px solid var(--mxp-hair); }
.mxp-mega__about { display: flex; flex-direction: column; gap: 10px; }
.mxp-mega__t { display: inline-flex; align-items: center; gap: 9px; font-size: 24px; font-weight: 700; line-height: 1.3; color: var(--mxp-ink); }
.mxp-mega__t i { width: 10px; height: 10px; border-radius: 3px; }
.mxp-mega__d { font-size: 14.5px; line-height: 1.7; color: var(--mxp-body); }
.mxp-mega__n { font-size: 13px; color: var(--mxp-mute); }
.mxp-btn { align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: 2px; padding: 10px 18px; font-size: 14px; font-weight: 700; color: #fff !important; background: var(--mxp-navy); border-radius: 999px; text-decoration: none !important; }
.mxp-btn:hover { background: var(--mxp-deep); }
.mxp-mega .mxp-most { padding: 16px 16px 4px; background: var(--mxp-wash); border: 0; border-radius: 14px; }
.mxp-mega .mxp-box__t { font-size: 16px; }
.mxp-mega .mxp-most__i { grid-template-columns: 28px minmax(0, 1fr); padding: 11px 0; }
.mxp-mega .mxp-most__n { font-size: 24px; }
.mxp-mega .mxp-most__t { font-size: 14px; }
.mxp-mega__top { display: flex; align-items: center; justify-content: space-between; margin-bottom: 14px; font-size: 13px; font-weight: 700; color: var(--mxp-mute); }
.mxp-mega__top a { color: var(--mxp-navy) !important; text-decoration: none !important; }
.mxp-mega__cards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px 20px; }
.mxp-mega__loading { padding: 40px; text-align: center; color: var(--mxp-mute); font-family: Phetsarath, sans-serif; }

/* ---------- tablet ---------- */
@media (max-width: 1024px) {
    .mxp-util__in, .mxp-strip__in { padding: 0 16px; }
    .mxp-grid__wrap { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mxp-related { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .mxp-card--lead .mxp-card__t { font-size: 26px !important; }
}

/* ---------- phone ---------- */
@media (max-width: 767px) {
    .mxp-util { display: none; }
    /* phone header: logo + MAHAXAN.COM on one bar with the menu button on the right */
    .mxp-on .mxp-mark__tag, .mxp-on .mxp-mast .elementor-element-daf7594 { display: none !important; }
    .mxp-on .mxp-mast > .elementor-container { padding: 8px 64px 8px 6px; }
    .mxp-on .mxp-navrow { height: 0; margin-top: -52px; border: 0 !important; position: relative; z-index: 20; }
    .mxp-on .mxp-navrow > .elementor-container { padding: 0 8px; }
    .mxp-on .mxp-chips { border-top: 1px solid var(--mxp-hair); margin-top: 52px; }
    .mxp-strip { border: 0; }
    .mxp-strip__in { height: auto; margin: 12px 16px 0; padding: 10px 12px; gap: 10px; background: #FBF1F0; border-radius: 12px; }
    .mxp-strip__lab { display: none; }
    .mxp-strip__nav { display: none; }
    .mxp-strip__i b { padding: 3px 9px; font-size: 12px; color: #fff; background: var(--mxp-red); border-radius: 6px; }
    .mxp-strip__i span { font-size: 14px; }
    .mxp-card--lead .mxp-card__t { font-size: 22px !important; line-height: 1.55 !important; }
    .mxp-card--lead .mxp-card__dek { display: none; }
    /* side stories become rows: text left, picture right */
    .mxp-pair { grid-template-columns: 1fr; gap: 0; margin-top: 18px; padding-top: 0; }
    .mxp-pair .mxp-card, .mxp-stack .mxp-card, .mxp-ctop__side .mxp-card, .mxp-related .mxp-card, .mxp-card--row {
        display: grid; grid-template-columns: minmax(0, 1fr) 118px; gap: 14px; align-items: start; padding: 14px 0; border-bottom: 1px solid var(--mxp-hair); }
    .mxp-pair .mxp-card__media, .mxp-stack .mxp-card__media, .mxp-ctop__side .mxp-card__media, .mxp-related .mxp-card__media, .mxp-card--row .mxp-card__media { order: 2; border-radius: 10px; }
    .mxp-pair .mxp-card__media img, .mxp-stack .mxp-card__media img, .mxp-ctop__side .mxp-card__media img, .mxp-related .mxp-card__media img, .mxp-card--row .mxp-card__media img { aspect-ratio: 1.5; }
    .mxp-pair .mxp-card__t, .mxp-stack .mxp-card__t, .mxp-ctop__side .mxp-card__t, .mxp-related .mxp-card__t, .mxp-card--row .mxp-card__t { font-size: 15.5px !important; line-height: 1.55 !important; -webkit-line-clamp: 3; }
    .mxp-card--row .mxp-card__dek { display: none; }
    .mxp-stack { gap: 0; }
    .mxp-stack .mxp-card { padding: 14px 0; }
    .mxp-on .mxp-top__stack > .elementor-widget-wrap { border-left: 0; padding-left: 10px !important; }
    .mxp-grid__wrap { grid-template-columns: 1fr; gap: 28px; }
    .mxp-related { grid-template-columns: 1fr; gap: 0; }
    .mxp-ctop { grid-template-columns: 1fr; gap: 0; }
    .mxp-ctop__side { gap: 0; }
    .mxp-box { padding: 16px; }
    .mxp-box__t { font-size: 18px; }
    .mxp-on .mxp-title .jet-listing-dynamic-field__content, .mxp-on .mxp-title h1 { font-size: 25px !important; line-height: 1.6 !important; }
    .mxp-chead__in { padding: 18px 16px 16px; }
    .mxp-chead h1 { font-size: 28px !important; line-height: 1.4 !important; }
    .mxp-chead p { font-size: 14.5px; }
    .mxp-chead__row { align-items: center; }
    .mxp-tabs a { height: 38px; padding: 0 14px; font-size: 13px; }
    .mxp-shead__t { font-size: 20px !important; }
    .mxp-more__btn { width: 100%; justify-content: center; height: 50px; }
}
@media (prefers-reduced-motion: reduce) {
    .mxp-strip__lab i, .mxp-strip__i, .mxp-mega { animation: none !important; }
    .mxp-card__media img, .mxp-compact { transition: none !important; }
}

/* homepage sidebar "ບໍລິການ ແລະ ອື່ນໆ" (Elementor heading 8885b80 + menu edb6304) in the same box style */
.mxp-on .mxp-home2__side .elementor-element-8885b80 .elementor-heading-title { padding-bottom: 12px; font: 700 19px/1.3 Phetsarath, sans-serif !important; color: var(--mxp-ink) !important; border-bottom: 2px solid var(--mxp-ink); }
.mxp-on .mxp-home2__side .elementor-element-edb6304 .jet-nav { display: flex !important; flex-wrap: wrap; gap: 8px; padding-top: 12px; }
.mxp-on .mxp-home2__side .elementor-element-edb6304 .jet-nav__item > a { padding: 8px 14px !important; font: 700 13.5px Phetsarath, sans-serif !important; color: var(--mxp-text) !important; background: var(--mxp-chip) !important; border-radius: 999px; }
.mxp-on .mxp-home2__side .elementor-element-edb6304 .jet-nav__item > a:hover { color: var(--mxp-navy) !important; background: #EAE6DC !important; }

/* ---------- advertising + partnership contact ---------- */
.mxp-util__r a { display: inline-flex; align-items: center; gap: 6px; }
.mxp-util__r .mxp-i { width: 15px; height: 15px; }
.mxp-util__ad { padding: 3px 10px; font-weight: 700; color: var(--mxp-ink) !important; background: var(--mxp-gold); border-radius: 999px; }
.mxp-util__ad:hover { color: var(--mxp-ink) !important; background: #F7D77F; }
@media (max-width: 1240px) { .mxp-util__r a[href^="mailto"] { display: none; } }
.mxp-partner { font-family: Phetsarath, sans-serif; color: #fff; background: linear-gradient(135deg, #0F3B66, #0A2A49); }
.mxp-partner__in { max-width: 1240px; margin: 0 auto; padding: 26px 24px; display: flex; align-items: center; justify-content: space-between; gap: 18px 32px; flex-wrap: wrap; }
.mxp-partner__txt { display: flex; flex-direction: column; gap: 6px; max-width: 560px; }
.mxp-partner__txt b { font-size: 22px; line-height: 1.4; color: var(--mxp-gold); }
.mxp-partner__txt span { font-size: 15px; line-height: 1.7; color: #D9E3EE; }
.mxp-partner__btns { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.mxp-partner__b { display: inline-flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 18px 8px 14px; color: var(--mxp-ink) !important; background: #fff; border-radius: 14px; text-decoration: none !important; }
.mxp-partner__b .mxp-i { width: 24px; height: 24px; color: var(--mxp-navy); }
.mxp-partner__b span { display: flex; flex-direction: column; font: 700 15px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; }
.mxp-partner__b small { font: 400 11.5px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; color: var(--mxp-mute); }
.mxp-partner__b--wa { background: #25D366; color: #fff !important; }
.mxp-partner__b--wa .mxp-i, .mxp-partner__b--wa small { color: #fff; }
.mxp-partner__b:hover { filter: brightness(.96); transform: translateY(-1px); }
.mxp-partner__more { font-size: 14px; font-weight: 700; color: var(--mxp-gold) !important; text-decoration: none !important; }
@media (max-width: 767px) {
    .mxp-partner__in { padding: 22px 16px; }
    .mxp-partner__txt b { font-size: 19px; }
    .mxp-partner__btns { width: 100%; flex-direction: column; align-items: stretch; }
    .mxp-partner__b { justify-content: flex-start; }
    .mxp-partner__more { align-self: center; padding: 6px 0; }
}
/* the footer's 40px top margin moves above the band so band and footer touch */
.mxp-partner { margin-top: 40px; }
.mxp-on .elementor-element-8a4e262 { margin-top: 0 !important; }
/* the bar's link colour (.mxp-util a) must not reach the gold pill: dark text on gold */
.mxp-util a.mxp-util__ad, .mxp-util a.mxp-util__ad:hover, .mxp-util a.mxp-util__ad:focus { color: #0E1823 !important; font-weight: 700; }

/* footer contact block (widget 026d32a): easy to spot */
.mxp-fcontact { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; margin-top: 6px; font-family: Phetsarath, sans-serif; }
.mxp-fcontact__b { display: inline-flex; align-items: center; gap: 10px; min-height: 48px; padding: 7px 16px 7px 12px; color: #0E1823 !important; background: #F3C95B; border-radius: 12px; text-decoration: none !important; }
.mxp-fcontact__b .mxp-i { width: 22px; height: 22px; color: #0F3B66; }
.mxp-fcontact__b span { display: flex; flex-direction: column; font: 700 15px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; }
.mxp-fcontact__b small { font: 400 11.5px/1.3 system-ui, -apple-system, "Segoe UI", sans-serif; color: #4A3B0F; }
.mxp-fcontact__b--wa { color: #fff !important; background: #25D366; }
.mxp-fcontact__b--wa .mxp-i, .mxp-fcontact__b--wa small { color: #fff; }
.mxp-fcontact__b:hover { filter: brightness(1.05); transform: translateY(-1px); }
.mxp-fcontact__addr { margin: 4px 0 0 !important; font-size: 13.5px; line-height: 1.7; color: #B9C2CC; }
/* latest strip: centred, same width as the page content (owner 21 Oct 2026) */
@media (min-width: 768px) {
    .mxp-strip__in { max-width: 1240px; margin: 0 auto; padding: 0 20px; }
}
/* centred masthead on desktop (owner 21 Oct 2026): logo + MAHAXAN.COM line in the middle, search on the right */
@media (min-width: 1025px) {
    .mxp-on .mxp-mast > .elementor-container { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; padding: 14px 40px 12px; }
    .mxp-on .mxp-mast .elementor-element-cbadee4 { grid-column: 2; width: auto !important; }
    .mxp-on .mxp-mast .elementor-element-cbadee4 > .elementor-widget-wrap { flex-direction: column; align-items: center; text-align: center; }
    .mxp-on .mxp-mast .elementor-element-cbadee4 .jet-logo { justify-content: center; }
    .mxp-on .mxp-mast .mxp-mark { text-align: center; }
    .mxp-on .mxp-mast .elementor-element-daf7594 { grid-column: 3; justify-self: end; width: min(380px, 100%) !important; }
}
/* the ມື້ນີ້ pill (menu item 19014): our menu text colour must not reach it — gold label, all Phetsarath */
.mxp-on .mxp-navrow .jet-mega-menu-list > .jet-mega-menu-item-19014 .jet-mega-menu-item__label { color: #F3C95B !important; }
.mxp-on .jet-mega-menu-item-19014 .mxm-tick, .mxp-on .jet-mega-menu-item-19014 .mxm-tick * { font-family: Phetsarath, sans-serif !important; }
.mxp-on .jet-mega-menu-item-19014 .mxm-tick__i b { font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.mxp-on .jet-mega-menu-item-19014 .mxm-tick__i i { color: rgba(245, 240, 228, .88) !important; }

/* slide-out phone menu: its last items stay above the bottom menu */
@media (max-width: 767px) {
    body.mxt-has-appnav .jet-mobile-menu__body { padding-bottom: calc(96px + env(safe-area-inset-bottom, 0px)) !important; }
}

/* phone header search button + bar */
.mxp-ms, .mxp-msform { display: none; }
.mxp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
@media (max-width: 767px) {
    .mxp-on .mxp-ms { display: block; position: relative; z-index: 21; height: 0; }
    .mxp-on .mxp-ms__btn { position: absolute; top: -6px; right: 64px; width: 44px; height: 44px; display: grid; place-items: center; margin: 0; padding: 0;
        color: var(--mxp-navy); background: var(--mxp-chip); border: 0; border-radius: 50%; cursor: pointer; }
    .mxp-on .mxp-ms__btn .mxp-i { width: 19px; height: 19px; }
    .mxp-on .mxp-ms__btn[aria-expanded="true"] { color: #fff; background: var(--mxp-navy); }
    .mxp-on .mxp-msform:not([hidden]) { display: flex; gap: 0; margin: 52px 16px -40px; position: relative; z-index: 21; animation: mxp-fade .2s ease; }
    .mxp-on .mxp-msform input { flex: 1; min-width: 0; height: 46px; padding: 0 16px; font: 400 15px Phetsarath, sans-serif; color: var(--mxp-ink); background: var(--mxp-chip);
        border: 1px solid var(--mxp-line); border-right: 0; border-radius: 999px 0 0 999px; outline: none; }
    .mxp-on .mxp-msform input:focus { border-color: var(--mxp-navy); background: #fff; }
    .mxp-on .mxp-msform button { width: 52px; height: 46px; display: grid; place-items: center; color: #fff; background: var(--mxp-navy); border: 0; border-radius: 0 999px 999px 0; }
    .mxp-on .mxp-msform button .mxp-i { width: 18px; height: 18px; }
    .mxp-on .mxp-msform:not([hidden]) + .mxp-chips { margin-top: 52px; }
}

/* phone bottom menu: hug the bottom edge. Normal browsers keep just enough room for the home line; in-app browsers
   (Facebook, Messenger, Instagram, LINE) report a safe area their own toolbar already covers, so none is added there. */
@media (max-width: 767px) {
    .mxt-appnav { padding-bottom: max(6px, calc(env(safe-area-inset-bottom, 0px) - 14px)) !important; transform: translateZ(0); -webkit-backface-visibility: hidden; }
    body.mxt-has-appnav { padding-bottom: calc(74px + max(0px, env(safe-area-inset-bottom, 0px) - 14px)) !important; }
    html.mx-inapp .mxt-appnav { padding-bottom: 6px !important; }
    html.mx-inapp body.mxt-has-appnav { padding-bottom: 74px !important; }
}
