/* Weather: the living Lao landscape (.mxt-sky), the card ([mxt_weather_card]) and the page ([mxt_weather_board]). */

/* ---------- landscape ---------- */
.mxt-sky {
    --sky-a: #3F97DB; --sky-b: #BFE3F7; --m3: #9CC3D6; --m2: #5E9A86; --m1: #2F6B4B; --gold: #E2B33A; --river: #5FA9D6; --palm: #1E4B33; --shade: 0;
    position: absolute; inset: 0; overflow: hidden; background: linear-gradient(180deg, var(--sky-a), var(--sky-b)); transition: background 1.2s ease;
}
.mxt-sky.is-dawn { --sky-a: #5B6BA8; --sky-b: #FBD5A8; --m3: #B89BB0; --m2: #6E7E8E; --m1: #33504A; --river: #E8B992; --palm: #1D332C; }
.mxt-sky.is-dusk { --sky-a: #3B3470; --sky-b: #F2996B; --m3: #8E6E95; --m2: #58506F; --m1: #2B2F45; --gold: #F3C95B; --river: #C97F6B; --palm: #171B2B; }
.mxt-sky.is-night { --sky-a: #070B1E; --sky-b: #1D2E52; --m3: #2A3C63; --m2: #1B2947; --m1: #101A30; --gold: #C9A23A; --river: #1E3A66; --palm: #0A111F; }
.mxt-sky.wx-cloudy, .mxt-sky.wx-fog_haze { --shade: .28; }
.mxt-sky.wx-rain { --shade: .42; }
.mxt-sky.wx-heavy_rain, .mxt-sky.wx-thunderstorm { --shade: .6; }
.mxt-sky > i { position: absolute; display: block; pointer-events: none; }
.mxt-sky__shade { inset: 0; background: #3C4A57; opacity: var(--shade); transition: opacity 1.2s ease; mix-blend-mode: multiply; }
.mxt-sky__land { position: absolute; left: 0; bottom: 0; width: 100%; height: 72%; }
.mxt-sky__land .m3 { fill: var(--m3); } .mxt-sky__land .m2 { fill: var(--m2); } .mxt-sky__land .m1 { fill: var(--m1); }
.mxt-sky__land path, .mxt-sky__land rect { transition: fill 1.2s ease, stroke 1.2s ease; }
.mxt-sky__land .stupa { fill: var(--gold); filter: drop-shadow(0 0 6px rgba(243, 201, 91, .45)); }
.mxt-sky__land .river { fill: var(--river); }
.mxt-sky__land .shimmer { stroke: rgba(255, 255, 255, .45); animation: mxt-wx-shimmer 4s ease-in-out infinite alternate; }
.mxt-sky__land .boat { fill: var(--palm); animation: mxt-wx-boat 70s linear infinite; }
.mxt-sky__palm path { stroke: var(--palm); }
.mxt-sky__palm { transform-origin: 0 0; animation: mxt-wx-sway 6s ease-in-out infinite alternate; }
.mxt-sky.wind-1 .mxt-sky__palm { animation-duration: 3.2s; }
.mxt-sky.wind-2 .mxt-sky__palm { animation-name: mxt-wx-sway2; animation-duration: 1.6s; }
.mxt-sky.wind-3 .mxt-sky__palm { animation-name: mxt-wx-sway3; animation-duration: .9s; }
@keyframes mxt-wx-sway { from { transform: rotate(-1.5deg); } to { transform: rotate(2deg); } }
@keyframes mxt-wx-sway2 { from { transform: rotate(1deg); } to { transform: rotate(7deg); } }
@keyframes mxt-wx-sway3 { from { transform: rotate(5deg); } to { transform: rotate(14deg); } }
@keyframes mxt-wx-shimmer { from { opacity: .25; transform: translateX(-6px); } to { opacity: .8; transform: translateX(6px); } }
@keyframes mxt-wx-boat { from { transform: translate(-60px, 236px); } to { transform: translate(860px, 236px); } }

.mxt-sky__sun, .mxt-sky__moon { top: 12%; right: 13%; width: 54px; height: 54px; border-radius: 50%; opacity: 0; transition: opacity 1.2s ease, transform 1.2s ease; transform: translateY(40px); }
.mxt-sky__sun { background: radial-gradient(circle, #FFF6C9 0 35%, #FFD45A 60%, #F6B73C 100%); box-shadow: 0 0 0 10px rgba(255, 220, 110, .22), 0 0 50px 20px rgba(255, 214, 90, .55); animation: mxt-wx-glow 5s ease-in-out infinite alternate; }
.mxt-sky__moon { background: radial-gradient(circle at 35% 35%, #FFFBE6, #E9DDA6 70%); box-shadow: 0 0 34px 8px rgba(233, 221, 166, .35); }
@keyframes mxt-wx-glow { to { box-shadow: 0 0 0 16px rgba(255, 220, 110, .16), 0 0 70px 30px rgba(255, 214, 90, .5); } }
.mxt-sky.is-day .mxt-sky__sun { opacity: 1; transform: none; }
.mxt-sky.is-dawn .mxt-sky__sun, .mxt-sky.is-dusk .mxt-sky__sun { opacity: .95; transform: translateY(90px); }
.mxt-sky.is-night .mxt-sky__moon { opacity: 1; transform: none; }
.mxt-sky.wx-rain .mxt-sky__sun, .mxt-sky.wx-heavy_rain .mxt-sky__sun, .mxt-sky.wx-thunderstorm .mxt-sky__sun, .mxt-sky.wx-cloudy .mxt-sky__sun,
.mxt-sky.wx-rain .mxt-sky__moon, .mxt-sky.wx-heavy_rain .mxt-sky__moon, .mxt-sky.wx-thunderstorm .mxt-sky__moon, .mxt-sky.wx-cloudy .mxt-sky__moon { opacity: .18; }
.mxt-sky__stars { inset: 0 0 45% 0; opacity: 0; transition: opacity 1.2s ease;
    background-image: radial-gradient(1.5px 1.5px at 20px 30px, #fff, transparent), radial-gradient(1px 1px at 70px 80px, #fff, transparent), radial-gradient(1.5px 1.5px at 130px 20px, #fff, transparent), radial-gradient(1px 1px at 170px 110px, #fff, transparent), radial-gradient(1.5px 1.5px at 100px 60px, #FFE9A6, transparent);
    background-size: 200px 140px; animation: mxt-wx-twinkle 3.5s ease-in-out infinite alternate; }
.mxt-sky.is-night.cloud-0 .mxt-sky__stars, .mxt-sky.is-night.cloud-1 .mxt-sky__stars { opacity: .9; }
@keyframes mxt-wx-twinkle { from { filter: brightness(.6); } to { filter: brightness(1.3); } }

.mxt-sky__cloud { width: 120px; height: 38px; border-radius: 40px; background: #fff; opacity: 0; transition: opacity 1.2s ease, background-color 1.2s ease; animation: mxt-wx-drift 60s linear infinite; }
.mxt-sky__cloud::before, .mxt-sky__cloud::after { content: ""; position: absolute; border-radius: 50%; background: inherit; }
.mxt-sky__cloud::before { width: 56px; height: 56px; top: -26px; left: 18px; }
.mxt-sky__cloud::after { width: 40px; height: 40px; top: -16px; left: 62px; }
.mxt-sky__cloud.c1 { top: 14%; animation-duration: 75s; animation-delay: -20s; }
.mxt-sky__cloud.c2 { top: 30%; transform: scale(.7); animation-duration: 95s; animation-delay: -60s; }
.mxt-sky__cloud.c3 { top: 8%; animation-duration: 58s; animation-delay: -40s; }
.mxt-sky__cloud.c4 { top: 24%; animation-duration: 82s; animation-delay: -5s; }
@keyframes mxt-wx-drift { from { left: -140px; } to { left: 100%; } }
.mxt-sky.cloud-1 .c1 { opacity: .85; }
.mxt-sky.cloud-2 .c1, .mxt-sky.cloud-2 .c2 { opacity: .88; }
.mxt-sky.cloud-3 .mxt-sky__cloud { opacity: .92; }
.mxt-sky.wx-rain .mxt-sky__cloud, .mxt-sky.wx-heavy_rain .mxt-sky__cloud, .mxt-sky.wx-thunderstorm .mxt-sky__cloud { background: #9BA8B3; }
.mxt-sky.is-night .mxt-sky__cloud { background: #3B4A66; }
.mxt-sky.wind-2 .mxt-sky__cloud { animation-duration: 30s; }
.mxt-sky.wind-3 .mxt-sky__cloud { animation-duration: 16s; }

.mxt-sky__rain { inset: -10% -10% 0 -10%; opacity: 0; transition: opacity .8s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60'%3E%3Cg stroke='%23ffffff' stroke-opacity='.7' stroke-width='1.4' stroke-linecap='round'%3E%3Cpath d='M12 2l-4 14M40 22l-4 14M26 40l-4 14M54 8l-4 14'/%3E%3C/g%3E%3C/svg%3E");
    animation: mxt-wx-rain .55s linear infinite; }
.mxt-sky__rain.r2 { background-size: 90px 90px; animation-duration: .8s; }
@keyframes mxt-wx-rain { from { background-position: 0 0; } to { background-position: -17px 60px; } }
.mxt-sky__rain.r2 { animation-name: mxt-wx-rain2; }
@keyframes mxt-wx-rain2 { from { background-position: 0 0; } to { background-position: -26px 90px; } }
.mxt-sky.wx-rain .mxt-sky__rain:not(.r2) { opacity: .65; }
.mxt-sky.wx-heavy_rain .mxt-sky__rain, .mxt-sky.wx-thunderstorm .mxt-sky__rain { opacity: .9; animation-duration: .38s; }
.mxt-sky__wind { inset: 20% 0 30% 0; opacity: 0; transition: opacity .8s ease;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='90'%3E%3Cg fill='none' stroke='%23ffffff' stroke-opacity='.6' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M10 20h70M130 50h110M40 76h50'/%3E%3C/g%3E%3C/svg%3E");
    animation: mxt-wx-wind 2.2s linear infinite; }
@keyframes mxt-wx-wind { from { background-position: 0 0; } to { background-position: 300px 0; } }
.mxt-sky.wind-1 .mxt-sky__wind { opacity: .35; animation-duration: 3s; }
.mxt-sky.wind-2 .mxt-sky__wind { opacity: .65; animation-duration: 1.5s; }
.mxt-sky.wind-3 .mxt-sky__wind { opacity: .9; animation-duration: .8s; }
.mxt-sky__fog { inset: 35% 0 0 0; opacity: 0; transition: opacity 1.2s ease; background: linear-gradient(180deg, transparent, rgba(240, 244, 247, .85) 55%, rgba(240, 244, 247, .6)); }
.mxt-sky.wx-fog_haze .mxt-sky__fog { opacity: 1; }
.mxt-sky__flash { inset: 0; background: #fff; opacity: 0; }
.mxt-sky.wx-thunderstorm .mxt-sky__flash { animation: mxt-wx-flash 7s linear infinite; }
@keyframes mxt-wx-flash { 0%, 91%, 94%, 97%, 100% { opacity: 0; } 92% { opacity: .75; } 95% { opacity: .45; } }
.mxt-wi { flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.mxt-wx-arrow { display: inline-block; font-style: normal; font-weight: 700; transition: transform .6s ease; }
.mxt-wx-range { display: flex; align-items: center; gap: 6px; font-variant-numeric: tabular-nums; }
.mxt-wx-range i { position: relative; flex: 1 1 auto; min-width: 46px; height: 6px; border-radius: 3px; background: rgba(120, 130, 125, .22); }
.mxt-wx-range u { position: absolute; top: 0; bottom: 0; border-radius: 3px; background: linear-gradient(90deg, #4FA3E0, #F6B73C, #E8643C); }
.mxt-wx__alert { margin-bottom: 12px; padding: 12px 14px; font-family: Phetsarath, sans-serif; color: #5A2A00; background: #FFE9C7; border-left: 6px solid #E8643C; border-radius: 12px; }
.mxt-wx__alert b { display: block; font-size: 15px; line-height: 1.4; }
.mxt-wx__alert span { display: block; font-size: 13px; line-height: 1.4; }
.mxt-wx__alert small { display: block; margin-top: 4px; font-size: 11px; opacity: .8; }

/* ---------- card ---------- */
.mxt-wxcard { display: flex; flex-direction: column; min-height: 600px; font-family: Phetsarath, sans-serif; color: #F5F0E4; }
.mxt-wxcard.is-compact { min-height: 0; }
.mxt-wxcard .screen-reader-text, .mxt-wx .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mxt-wxcard__stage { position: relative; min-height: 290px; overflow: hidden; border-radius: 16px; isolation: isolate; }
.mxt-wxcard__over { position: relative; z-index: 2; padding: 14px; text-shadow: 0 1px 6px rgba(0, 0, 0, .45); }
.mxt-wxcard__plain { margin: 0; font-size: 16px; }
.mxt-wxcard__top { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.mxt-wxcard__top label { flex: 1 1 auto; min-width: 0; }
.mxt-wxcard .mxt-wxcard__top select {
    width: 100%; max-width: 250px; min-height: 40px; padding: 6px 30px 6px 12px; font: 700 14px/1.3 Phetsarath, sans-serif; color: #fff; text-shadow: none;
    background: rgba(10, 25, 40, .38) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center / 11px 7px;
    border: 1px solid rgba(255, 255, 255, .45); border-radius: 999px; -webkit-appearance: none; appearance: none; cursor: pointer; backdrop-filter: blur(4px);
}
.mxt-wxcard .mxt-wxcard__top select option { color: #15181C; background: #fff; }
.mxt-wxcard__top small { font-size: 11px; opacity: .9; white-space: nowrap; }
.mxt-wxcard__now { display: flex; align-items: center; gap: 12px; margin-top: 10px; }
.mxt-wxcard__now > b { font-size: 76px; font-weight: 700; line-height: 1; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.mxt-wxcard__now span { display: block; }
.mxt-wxcard__now strong { display: block; font-size: 18px; line-height: 1.3; }
.mxt-wxcard__now small { display: block; font-size: 12px; line-height: 1.35; }
.mxt-wxcard__chips { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; margin: 12px 0 0; padding: 0; text-shadow: none; }
.mxt-wxcard__chips li { display: flex; align-items: center; gap: 6px; padding: 7px 8px; background: rgba(10, 25, 40, .4); border-radius: 12px; backdrop-filter: blur(4px); }
.mxt-wxcard__chips i { font-style: normal; font-size: 15px; }
.mxt-wxcard__chips b { display: block; font-size: 13px; line-height: 1.25; white-space: nowrap; }
.mxt-wxcard__chips small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 10px; line-height: 1.25; opacity: .9; }
.mxt-wxcard__chips span { min-width: 0; }
.mxt-wxcard__body { color: #15181C; }
.mxt-wxcard__body .mxt-wx__alert { margin: 12px 0 0; }
.mxt-wxcard__hours { list-style: none; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 4px; margin: 12px 0 0; padding: 0; }
.mxt-wxcard__hours li { display: flex; flex-direction: column; align-items: center; gap: 2px; padding: 7px 0; background: rgba(23, 63, 53, .07); border-radius: 12px; }
.mxt-wxcard__hours small { font-size: 11px; color: #5C665F; }
.mxt-wxcard__hours b { font-size: 15px; font-variant-numeric: tabular-nums; }
.mxt-wxcard__hours em { font-size: 10px; font-style: normal; color: #2E7FC1; line-height: 1.2; }
.mxt-wxcard__days { list-style: none; margin: 8px 0 0; padding: 0; }
.mxt-wxcard__days li { display: grid; grid-template-columns: minmax(0, 1.1fr) 28px 54px minmax(0, 1.4fr); align-items: center; gap: 8px; padding: 8px 0; border-top: 1px solid rgba(120, 130, 125, .25); }
.mxt-wxcard__days b { display: block; font-size: 14px; line-height: 1.3; }
.mxt-wxcard__days small { display: block; font-size: 11px; color: #5C665F; }
.mxt-wxcard__days em { font-size: 11px; font-style: normal; color: #2E7FC1; white-space: nowrap; }
.mxt-wxcard .mxt-wxcard__cta { align-self: flex-start; margin-top: auto; padding: 13px 18px; font: 700 14px/1.2 Phetsarath, sans-serif; text-decoration: none; color: #F5F0E4; background: #1F5F8B; border-radius: 999px; transition: transform .18s ease, box-shadow .18s ease; }
.mxt-wxcard__body { margin-bottom: 14px; }
.mxt-wxcard .mxt-wxcard__cta:hover { color: #F5F0E4; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(31, 95, 139, .35); }
/* on the dark weather column of the Today pages the lower half reads light */
.elementor-column:has(.mxt-wxcard) > .elementor-widget-wrap { background-image: none !important; background-color: #FFFDF8 !important; }
@media (min-width: 768px) {
    .mxt-wxcard.is-compact .mxt-wxcard__stage { min-height: 250px; }
    .mxt-wxcard.is-compact .mxt-wxcard__now > b { font-size: 56px; }
    .mxt-wxcard.is-compact .mxt-wxcard__chips { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .mxt-wxcard.is-compact .mxt-wxcard__chips li:nth-child(3) { display: none; }
    .mxt-wxcard.is-compact .mxt-wxcard__days li { grid-template-columns: minmax(0, 1fr) 26px minmax(0, 1.2fr); }
    .mxt-wxcard.is-compact .mxt-wxcard__days em { display: none; }
}
.elementor-widget-wrap:has(> .elementor-widget-shortcode .mxt-wxcard) { align-content: stretch; }
.elementor-widget-shortcode:has(.mxt-wxcard), .elementor-widget-shortcode:has(.mxt-wxcard) > .elementor-widget-container, .elementor-shortcode:has(> .mxt-wxcard) { display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; }
.elementor-shortcode > .mxt-wxcard { flex: 1 1 auto; }
.jet-listing-grid__item:has(.mxt-wxcard) > .elementor,
.jet-listing-grid__item:has(.mxt-wxcard) .elementor-section:has(.mxt-wxcard),
.jet-listing-grid__item:has(.mxt-wxcard) .elementor-section:has(.mxt-wxcard) > .elementor-container,
.jet-listing-grid__item:has(.mxt-wxcard) .elementor-column:has(.mxt-wxcard) { height: 100%; }

/* ---------- page ---------- */
.mxt-wx { font-family: Phetsarath, sans-serif; color: #15181C; }
.mxt-wx button, .mxt-wx select { font-family: inherit; }
.mxt-wx__stage { position: relative; min-height: 400px; overflow: hidden; border-radius: 20px; isolation: isolate; color: #fff; }
.mxt-wx__over { position: relative; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; padding: 24px; text-shadow: 0 1px 8px rgba(0, 0, 0, .5); }
.mxt-wx__now > small { display: block; font-size: 15px; font-weight: 700; }
.mxt-wx__now > b { display: block; font-size: 104px; font-weight: 700; line-height: 1.05; letter-spacing: -.03em; font-variant-numeric: tabular-nums; }
.mxt-wx__now > span { display: flex; align-items: center; gap: 4px 12px; flex-wrap: wrap; }
.mxt-wx__now strong { font-size: 24px; line-height: 1.3; }
.mxt-wx__now span small { flex: 1 0 100%; font-size: 14px; }
.mxt-wx .mxt-wx__back { margin: 14px 0 0; padding: 9px 16px; font-size: 13px; font-weight: 700; color: #15181C; text-shadow: none; background: #F3C95B; border: 0; border-radius: 999px; cursor: pointer; }
.mxt-wx__facts { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0; padding: 0; text-shadow: none; }
.mxt-wx__facts li { padding: 10px 12px; background: rgba(10, 25, 40, .42); border-radius: 14px; backdrop-filter: blur(5px); }
.mxt-wx__facts small { display: block; font-size: 11px; opacity: .9; }
.mxt-wx__facts b { display: block; font-size: 19px; line-height: 1.3; font-variant-numeric: tabular-nums; white-space: nowrap; }
.mxt-wx__facts em { display: block; font-size: 11px; font-style: normal; opacity: .9; }
.mxt-wx__pick { margin-top: 14px; }
.mxt-wx__pick label { display: none; }
.mxt-wx .mxt-wx__pick select { width: 100%; min-height: 48px; padding: 8px 12px; font-size: 15px; font-weight: 700; color: #15181C; background: #fff; border: 1px solid #CFC5AE; border-radius: 12px; }
.mxt-wx__chips { display: flex; flex-wrap: wrap; gap: 6px; }
.mxt-wx .mxt-wx__chips button { margin: 0; padding: 7px 12px; font-size: 13px; font-weight: 400; line-height: 1.3; white-space: nowrap; color: #173F35; background: #fff; border: 1px solid #CFC5AE; border-radius: 999px; cursor: pointer; }
.mxt-wx .mxt-wx__chips button b { margin-left: 4px; }
.mxt-wx .mxt-wx__chips button:hover, .mxt-wx .mxt-wx__chips button:focus { color: #173F35; background: #EAF3FA; border-color: #1F5F8B; }
.mxt-wx .mxt-wx__chips button[aria-pressed="true"] { color: #fff; background: #1F5F8B; border-color: #1F5F8B; font-weight: 700; }
.mxt-wx__cols { display: grid; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); gap: 18px; margin-top: 18px; align-items: start; }
.mxt-wx__main, .mxt-wx__side { display: grid; gap: 18px; min-width: 0; }
.mxt-wx__panel { min-width: 0; padding: 18px; background: #fff; border: 1px solid #E4DCCB; border-radius: 16px; }
.mxt-wx__panel h3 { margin: 0 0 12px; font: 700 17px/1.35 Phetsarath, sans-serif; color: #15181C; }
.mxt-wx__hours { overflow-x: auto; -webkit-overflow-scrolling: touch; padding-bottom: 6px; }
.mxt-wx__hours ol { list-style: none; display: flex; gap: 6px; margin: 0; padding: 0; }
.mxt-wx .mxt-wx__hours button { display: flex; flex-direction: column; align-items: center; gap: 3px; width: 66px; margin: 0; padding: 9px 2px; color: #15181C; background: #F7F9FA; border: 1px solid #E4E9EC; border-radius: 14px; cursor: pointer; white-space: nowrap; }
.mxt-wx .mxt-wx__hours button:hover, .mxt-wx .mxt-wx__hours button:focus { color: #15181C; background: #EAF3FA; border-color: #1F5F8B; }
.mxt-wx__hours small { font-size: 11px; color: #5C665F; }
.mxt-wx__hours b { font-size: 16px; font-variant-numeric: tabular-nums; }
.mxt-wx__hours em { font-size: 10px; font-style: normal; color: #2E7FC1; }
.mxt-wx__bar { display: flex; align-items: flex-end; height: 66px; }
.mxt-wx__bar i { display: block; width: 8px; border-radius: 4px; background: linear-gradient(180deg, #F6B73C, #4FA3E0); }
.mxt-wx__days ul, .mxt-wx__all ul { list-style: none; margin: 0; padding: 0; }
.mxt-wx__days li + li, .mxt-wx__all li + li { border-top: 1px solid #EEF1F2; }
.mxt-wx .mxt-wx__days button { display: grid; grid-template-columns: minmax(0, 1.1fr) 36px minmax(0, 1.5fr) minmax(0, 1.6fr); align-items: center; gap: 10px; width: 100%; margin: 0; padding: 11px 6px; text-align: left; white-space: normal; color: #15181C; background: transparent; border: 0; border-radius: 10px; cursor: pointer; }
.mxt-wx .mxt-wx__days button:hover, .mxt-wx .mxt-wx__days button:focus, .mxt-wx .mxt-wx__all button:hover, .mxt-wx .mxt-wx__all button:focus { color: #15181C; background: #EAF3FA; }
.mxt-wx__days b { display: block; font-size: 15px; line-height: 1.3; }
.mxt-wx__days small { display: block; font-size: 12px; color: #5C665F; }
.mxt-wx__map { display: block; width: 100%; max-width: 250px; height: auto; margin: 0 auto; overflow: visible; }
.mxt-wx__map path, .mxt-wx__map circle { fill: #9CC3D6; stroke: #fff; stroke-width: 1.2; stroke-linejoin: round; cursor: pointer; transition: fill .4s ease, stroke-width .15s ease; }
.mxt-wx__map path:hover, .mxt-wx__map circle:hover { stroke: #15181C; stroke-width: 2; }
.mxt-wx__map .is-active { stroke: #15181C; stroke-width: 3; }
.mxt-wx__scale { display: flex; align-items: center; gap: 8px; max-width: 250px; margin: 8px auto 12px; font-size: 11px; color: #5C665F; }
.mxt-wx__scale i { flex: 1 1 auto; height: 8px; border-radius: 4px; background: linear-gradient(90deg, hsl(205 70% 58%), hsl(120 70% 54%), hsl(50 70% 52%), hsl(0 70% 48%)); }
.mxt-wx .mxt-wx__all button { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto auto; align-items: center; gap: 8px; width: 100%; margin: 0; padding: 7px 6px; text-align: left; font-size: 14px; color: #15181C; background: transparent; border: 0; border-radius: 8px; cursor: pointer; white-space: nowrap; }
.mxt-wx__all span { overflow: hidden; text-overflow: ellipsis; }
.mxt-wx__all em { font-size: 11px; font-style: normal; color: #2E7FC1; }
.mxt-wx__all b { font-size: 16px; font-variant-numeric: tabular-nums; }
.mxt-wx .mxt-wx__all button[aria-pressed="true"] { background: #EAF3FA; font-weight: 700; }
.mxt-wx__src { margin: 14px 0 0; font-size: 12px; line-height: 1.5; color: #5C665F; }
.mxt-wx button:focus-visible, .mxt-wx select:focus-visible, .mxt-wxcard select:focus-visible, .mxt-wxcard a:focus-visible { outline: 3px solid #F3C95B; outline-offset: 2px; box-shadow: 0 0 0 5px #173F35; }
@media (max-width: 900px) {
    .mxt-wx__over, .mxt-wx__cols { grid-template-columns: minmax(0, 1fr); }
    .mxt-wx__stage { min-height: 520px; }
    .mxt-wx__now > b { font-size: 84px; }
    .mxt-wx__pick label { display: block; }
    .mxt-wx__chips { display: none; }
    .mxt-wx__over { padding: 16px; gap: 12px; }
    .mxt-wx__panel { padding: 14px; }
    .mxt-wx .mxt-wx__days button { grid-template-columns: minmax(0, 1fr) 32px minmax(0, 1.3fr); }
    .mxt-wx__dc { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .mxt-sky *, .mxt-sky__rain, .mxt-sky__wind, .mxt-sky__cloud, .mxt-sky__sun, .mxt-sky__stars, .mxt-sky__flash { animation: none !important; }
    .mxt-sky__cloud.c1 { left: 12%; } .mxt-sky__cloud.c2 { left: 55%; } .mxt-sky__cloud.c3 { left: 68%; } .mxt-sky__cloud.c4 { left: 30%; }
}

/* keep the sun and moon clear of the figures */
.mxt-wx__stage .mxt-sky__sun, .mxt-wx__stage .mxt-sky__moon { right: auto; left: 43%; top: 9%; }
.mxt-wxcard__stage .mxt-sky__sun, .mxt-wxcard__stage .mxt-sky__moon { top: 52px; right: 12px; width: 40px; height: 40px; }
.mxt-wxcard__stage .mxt-sky__land { height: 58%; }
@media (max-width: 900px) {
    .mxt-wx__stage .mxt-sky__sun, .mxt-wx__stage .mxt-sky__moon { left: auto; right: 7%; top: 4%; width: 46px; height: 46px; }
    .mxt-wx__stage .mxt-sky__land { height: 46%; }
}
.mxt-wx__facts li { line-height: 1.3; min-width: 0; }
.mxt-wx__facts small, .mxt-wx__facts em { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
@media (max-width: 900px) {
    .mxt-wx__stage { min-height: 470px; }
    .mxt-wx__now > b { font-size: 76px; }
    .mxt-wx__facts { gap: 6px; }
    .mxt-wx__facts li { padding: 8px; }
    .mxt-wx__facts b { font-size: 15px; }
    .mxt-wx__facts small { font-size: 10px; }
    .mxt-wx__facts em { font-size: 10px; }
}

/* ---------- photographs behind the weather (replace the drawn landscape) ---------- */
.mxt-sky { background: #1B2A3A; }
.mxt-sky .mxt-sky__photo { inset: -4%; background-size: cover; background-position: center 62%; opacity: 0; transition: opacity 1.4s ease; animation: mxt-wx-pan 40s ease-in-out infinite alternate; }
.mxt-sky .mxt-sky__photo.is-on { opacity: 1; }
@keyframes mxt-wx-pan { from { transform: scale(1); } to { transform: scale(1.08) translate(-1.5%, 1%); } }
/* a soft veil keeps the white figures readable on any picture */
.mxt-sky__veil { inset: 0; background: linear-gradient(180deg, rgba(8, 18, 30, .66) 0%, rgba(8, 18, 30, .34) 42%, rgba(8, 18, 30, .14) 68%, rgba(8, 18, 30, .5) 100%); }
.mxt-sky.wx-cloudy, .mxt-sky.wx-fog_haze { --shade: .06; }
.mxt-sky.wx-rain { --shade: .16; }
.mxt-sky.wx-heavy_rain, .mxt-sky.wx-thunderstorm { --shade: .3; }
.mxt-sky .mxt-sky__credit { position: absolute; right: 8px; bottom: 5px; z-index: 3; padding: 2px 6px; font: 400 10px/1.4 Phetsarath, sans-serif; text-decoration: none; text-shadow: none; color: rgba(255, 255, 255, .92); background: rgba(8, 18, 30, .45); border-radius: 6px; pointer-events: auto; }
.mxt-sky .mxt-sky__credit:hover, .mxt-sky .mxt-sky__credit:focus { color: #fff; background: rgba(8, 18, 30, .75); }
/* the figures sit above the picture; empty space lets a tap reach the photo credit */
.mxt-wx__over, .mxt-wxcard__over { pointer-events: none; }
.mxt-wx__over > *, .mxt-wxcard__over > * { pointer-events: auto; }
.mxt-wx__stage .mxt-sky, .mxt-wxcard__stage .mxt-sky { z-index: 1; }
.mxt-wx__stage, .mxt-wxcard__stage { padding-bottom: 22px; }
@media (prefers-reduced-motion: reduce) { .mxt-sky .mxt-sky__photo { animation: none !important; transition: none; } }
/* framing for individual photographs */
.mxt-sky[data-photo="night"] .mxt-sky__photo { background-position: center 34%; }
.mxt-sky[data-photo="dusk"] .mxt-sky__photo, .mxt-sky[data-photo="dawn"] .mxt-sky__photo { background-position: center 70%; }
.mxt-sky[data-photo="rain"] .mxt-sky__photo, .mxt-sky[data-photo="storm"] .mxt-sky__photo, .mxt-sky[data-photo="fog"] .mxt-sky__photo { background-position: center 45%; }
.mxt-sky[data-photo="vte_few_clouds"] .mxt-sky__photo { background-position: center 30%; }
.mxt-sky[data-photo="vte_clear"] .mxt-sky__photo, .mxt-sky[data-photo="vte_cloudy"] .mxt-sky__photo, .mxt-sky[data-photo="vte_dawn"] .mxt-sky__photo { background-position: center 40%; }
.mxt-sky[data-photo="vte_dusk"] .mxt-sky__photo { background-position: center 60%; }
