/* Fuel card ([mxt_fuel_card]) on /today/ and in the homepage Today strip. Sits on the dark card column. */
.mxt-fuelcard {
    position: relative;
    display: flex; flex-direction: column;
    min-height: 600px;
    font-family: Phetsarath, sans-serif;
    color: #F5F0E4;
    isolation: isolate;
}
.mxt-fuelcard.is-compact { min-height: 0; }
.mxt-fuelcard .screen-reader-text {
    position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap;
}
.mxt-fuelcard__glow {
    position: absolute; z-index: -1; top: -40px; right: -30px; width: 240px; height: 240px;
    border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, rgba(243, 201, 91, .22), rgba(243, 201, 91, 0) 68%);
    animation: mxt-fuel-drift 9s ease-in-out infinite alternate;
}
@keyframes mxt-fuel-drift { to { transform: translate(-36px, 46px) scale(1.15); } }

.mxt-fuelcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mxt-fuelcard__intro { flex: 1 1 auto; min-width: 0; }
.mxt-fuelcard__title { font-size: 22px; font-weight: 700; line-height: 1.35; }
.mxt-fuelcard__sub { margin: 0; font-size: 13px; line-height: 1.35; color: #C9D8D0; }

.mxt-fuelcard__status {
    display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; padding: 4px 10px 4px 8px;
    font-size: 12px; font-weight: 700; line-height: 1.35;
    color: #F5F0E4; background: rgba(255, 255, 255, .1); border-radius: 999px;
}
.mxt-fuelcard__status i { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #F3C95B; }
.mxt-fuelcard__status.is-current i { background: #5BD08A; }
.mxt-fuelcard__status.is-current i::after {
    content: ""; position: absolute; inset: 0; border-radius: 50%; background: #5BD08A;
    animation: mxt-fuel-ping 1.8s ease-out infinite;
}
@keyframes mxt-fuel-ping { to { transform: scale(3.2); opacity: 0; } }

.mxt-fuelcard__pick { display: block; margin-top: 14px; }
.mxt-fuelcard .mxt-fuelcard__pick select {
    width: 100%; min-height: 46px; padding: 8px 34px 8px 14px;
    font: 700 15px/1.35 Phetsarath, sans-serif; color: #F5F0E4;
    background: rgba(255, 255, 255, .1) 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='%23F3C95B' stroke-width='2' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 14px center / 12px 8px;
    border: 1px solid rgba(255, 255, 255, .22); border-radius: 12px;
    -webkit-appearance: none; appearance: none; cursor: pointer;
}
.mxt-fuelcard .mxt-fuelcard__pick select option { color: #15181C; background: #fff; }

.mxt-fuelcard__mini { flex: 0 0 92px; width: 92px; height: auto; overflow: visible; }
.mxt-fuelcard__mini path,
.mxt-fuelcard__mini circle { fill: rgba(245, 240, 228, .2); stroke: #1E3B3C; stroke-width: 2; transition: fill .3s ease; }
.mxt-fuelcard__mini .is-active { fill: #F3C95B; animation: mxt-fuel-beat 2.2s ease-in-out infinite; }
@keyframes mxt-fuel-beat { 50% { fill: #FFE7A1; } }

.mxt-fuelcard__rows { list-style: none; margin: 16px 0 0; padding: 0; }
.mxt-fuelcard__rows li {
    display: grid; grid-template-columns: auto 1fr; align-items: center; gap: 8px 12px;
    padding: 13px 0; border-top: 1px solid rgba(255, 255, 255, .14);
    transition: opacity .5s ease, transform .5s ease;
}
.mxt-fuelcard__rows li:nth-child(2) { transition-delay: .09s; }
.mxt-fuelcard__rows li:nth-child(3) { transition-delay: .18s; }
.mxt-fuelcard.is-waiting .mxt-fuelcard__rows li { opacity: 0; transform: translateY(14px); }
.mxt-fuelcard__badge {
    display: inline-flex; flex-direction: column; align-items: center; justify-content: center;
    min-width: 118px; padding: 4px 10px; border-radius: 8px;
    color: #fff; text-align: center; line-height: 1.25;
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .85);
}
.mxt-fuelcard__badge b { font-size: 13px; font-weight: 700; }
.mxt-fuelcard__badge i { font-size: 10px; font-style: normal; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.mxt-fuelcard__badge--gasoline_95 { background: #C7650A; border: 2px solid #C7650A; }
.mxt-fuelcard__badge--regular_91 { background: #D0161F; border: 2px solid #D0161F; }
.mxt-fuelcard__badge--diesel { background: #2E3192; border: 2px solid #2E3192; }
.mxt-fuelcard__price {
    justify-self: end; font-size: 30px; font-weight: 700; line-height: 1.15;
    font-variant-numeric: tabular-nums; white-space: nowrap; color: #F3C95B;
}
.mxt-fuelcard__range { grid-column: 1 / -1; display: block; }
.mxt-fuelcard__track { position: relative; display: block; height: 4px; border-radius: 2px; background: linear-gradient(90deg, rgba(91, 208, 138, .75), rgba(243, 201, 91, .75), rgba(232, 106, 86, .8)); }
.mxt-fuelcard__track i {
    position: absolute; top: 50%; width: 12px; height: 12px; margin: -6px 0 0 -6px;
    border-radius: 50%; background: #F5F0E4; box-shadow: 0 0 0 3px rgba(15, 43, 36, .9);
    transition: left .5s cubic-bezier(.2, .8, .2, 1);
}
.mxt-fuelcard__ends { display: flex; justify-content: space-between; gap: 8px; margin-top: 6px; font-size: 11px; line-height: 1.3; color: #C9D8D0; font-variant-numeric: tabular-nums; }

.mxt-fuelcard__calc { margin-top: 4px; padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .07); }
.mxt-fuelcard.is-compact .mxt-fuelcard__calc { display: none; }
.mxt-fuelcard__calc-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 700; }
.mxt-fuelcard__chips { display: inline-flex; gap: 4px; }
.mxt-fuelcard .mxt-fuelcard__chips button {
    min-width: 40px; min-height: 32px; margin: 0; padding: 4px 8px;
    font: 700 12px/1.2 Phetsarath, sans-serif; color: #F5F0E4;
    background: transparent; border: 1px solid rgba(255, 255, 255, .28); border-radius: 999px; cursor: pointer;
    transition: background-color .18s ease, color .18s ease;
}
.mxt-fuelcard .mxt-fuelcard__chips button:hover,
.mxt-fuelcard .mxt-fuelcard__chips button:focus { color: #F5F0E4; background: rgba(255, 255, 255, .14); }
.mxt-fuelcard .mxt-fuelcard__chips button[aria-pressed="true"] { color: #0F2B24; background: #F3C95B; border-color: #F3C95B; }
.mxt-fuelcard__totals { list-style: none; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; }
.mxt-fuelcard__totals li { padding-left: 8px; border-left: 3px solid #C7650A; }
.mxt-fuelcard__totals li.mxt-fuelcard__total--regular_91 { border-left-color: #D0161F; }
.mxt-fuelcard__totals li.mxt-fuelcard__total--diesel { border-left-color: #6E72E0; }
.mxt-fuelcard__totals small { display: block; font-size: 10px; line-height: 1.3; color: #C9D8D0; text-transform: uppercase; letter-spacing: .03em; }
.mxt-fuelcard__totals b { display: block; font-size: 15px; line-height: 1.3; font-variant-numeric: tabular-nums; }

.mxt-fuelcard__meta { list-style: none; margin: 14px 0 0; padding: 0; font-size: 12px; line-height: 1.5; color: #C9D8D0; }
.mxt-fuelcard__meta li:last-child { color: #F5F0E4; }
.mxt-fuelcard .mxt-fuelcard__cta {
    align-self: flex-start; margin-top: auto; padding: 13px 18px;
    font: 700 14px/1.2 Phetsarath, sans-serif; text-decoration: none;
    color: #0F2B24; background: #F3C95B; border-radius: 999px;
    transition: transform .18s ease, box-shadow .18s ease;
}
.mxt-fuelcard__meta + .mxt-fuelcard__cta { margin-top: auto; }
.mxt-fuelcard__meta { margin-bottom: 14px; }
.mxt-fuelcard .mxt-fuelcard__cta:hover { color: #0F2B24; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .28); }
.mxt-fuelcard select:focus-visible,
.mxt-fuelcard button:focus-visible,
.mxt-fuelcard a:focus-visible { outline: 3px solid #F3C95B; outline-offset: 2px; }

@media (max-width: 380px) {
    .mxt-fuelcard__badge { min-width: 104px; }
    .mxt-fuelcard__price { font-size: 26px; }
    .mxt-fuelcard__mini { flex-basis: 76px; width: 76px; }
}
@media (prefers-reduced-motion: reduce) {
    .mxt-fuelcard__glow, .mxt-fuelcard__status i::after, .mxt-fuelcard__mini .is-active { animation: none; }
    .mxt-fuelcard__rows li, .mxt-fuelcard__track i, .mxt-fuelcard__mini path, .mxt-fuelcard .mxt-fuelcard__cta { transition: none; }
}

/* in the multi-column homepage strip the card stays close to its neighbours in height */
@media (min-width: 768px) {
    .mxt-fuelcard.is-compact .mxt-fuelcard__range { display: none; }
    .mxt-fuelcard.is-compact .mxt-fuelcard__price { font-size: 26px; }
}

/* Exchange rate card ([mxt_fx_card]) on /today/ and in the homepage Today strip. Sits on the dark card column. */
.mxt-flag { display: block; flex: 0 0 auto; border-radius: 50%; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }
.mxt-fxcard {
    position: relative; display: flex; flex-direction: column; min-height: 600px;
    font-family: Phetsarath, sans-serif; color: #F5F0E4; isolation: isolate;
}
.mxt-fxcard.is-compact { min-height: 0; }
.mxt-fxcard .screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mxt-fxcard__glow {
    position: absolute; z-index: -1; top: -40px; right: -30px; width: 240px; height: 240px; border-radius: 50%; pointer-events: none;
    background: radial-gradient(circle, rgba(127, 196, 214, .24), rgba(127, 196, 214, 0) 68%);
    animation: mxt-fuel-drift 9s ease-in-out infinite alternate;
}
.mxt-fxcard__head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.mxt-fxcard__title { font-size: 22px; font-weight: 700; line-height: 1.35; }
.mxt-fxcard__sub { margin: 0; font-size: 13px; line-height: 1.35; color: #C9D8D0; }
.mxt-fxcard__status {
    display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; padding: 4px 10px 4px 8px;
    font-size: 12px; font-weight: 700; line-height: 1.35; color: #F5F0E4; background: rgba(255, 255, 255, .1); border-radius: 999px;
}
.mxt-fxcard__status i { position: relative; width: 8px; height: 8px; border-radius: 50%; background: #F3C95B; }
.mxt-fxcard__status.is-current i { background: #5BD08A; }
.mxt-fxcard__status.is-current i::after { content: ""; position: absolute; inset: 0; border-radius: 50%; background: #5BD08A; animation: mxt-fuel-ping 1.8s ease-out infinite; }
.mxt-fxcard__hero { display: grid; grid-template-columns: auto auto; align-items: center; justify-content: end; gap: 2px 6px; text-align: right; }
.mxt-fxcard__hero small { font-size: 11px; line-height: 1.3; color: #C9D8D0; white-space: nowrap; }
.mxt-fxcard__hero b { grid-column: 1 / -1; font-size: 34px; line-height: 1.1; font-variant-numeric: tabular-nums; color: #F3C95B; }

.mxt-fxcard__cols,
.mxt-fxcard .mxt-fxcard__rows button { display: grid; grid-template-columns: minmax(0, 1fr) 76px 76px; align-items: center; gap: 8px; }
.mxt-fxcard__cols { margin-top: 14px; padding: 0 8px 6px; font-size: 11px; font-weight: 700; line-height: 1.3; color: #C9D8D0; }
.mxt-fxcard__cols span + span { text-align: right; }
.mxt-fxcard__rows { list-style: none; margin: 0; padding: 0; }
.mxt-fxcard__rows li { border-top: 1px solid rgba(255, 255, 255, .12); }
.mxt-fxcard .mxt-fxcard__rows button {
    width: 100%; min-height: 40px; margin: 0; padding: 6px 8px;
    font: 400 15px/1.25 Phetsarath, sans-serif; text-align: left; white-space: nowrap; color: #F5F0E4;
    background: transparent; border: 0; border-radius: 10px; cursor: pointer; transition: background-color .15s ease;
}
.mxt-fxcard .mxt-fxcard__rows button:hover,
.mxt-fxcard .mxt-fxcard__rows button:focus { color: #F5F0E4; background: rgba(255, 255, 255, .09); }
.mxt-fxcard .mxt-fxcard__rows button[aria-pressed="true"] { background: rgba(243, 201, 91, .16); box-shadow: inset 3px 0 0 #F3C95B; }
.mxt-fxcard.is-compact .mxt-fxcard__rows button[aria-pressed="true"] { background: transparent; box-shadow: none; }
.mxt-fxcard__cur { display: flex; align-items: center; gap: 9px; min-width: 0; }
.mxt-fxcard__cur b { font-weight: 700; }
.mxt-fxcard__cur small { overflow: hidden; text-overflow: ellipsis; font-size: 12px; color: #C9D8D0; }
.mxt-fxcard__buy, .mxt-fxcard__sell { text-align: right; font-variant-numeric: tabular-nums; }
.mxt-fxcard__sell { font-weight: 700; color: #F3C95B; }

.mxt-fxcard__calc { margin-top: 12px; padding: 12px; border-radius: 14px; background: rgba(255, 255, 255, .07); }
.mxt-fxcard.is-compact .mxt-fxcard__calc { display: none; }
.mxt-fxcard__calc-in { display: grid; grid-template-columns: minmax(0, 1fr) 96px; gap: 8px; }
.mxt-fxcard .mxt-fxcard__calc input,
.mxt-fxcard .mxt-fxcard__calc select {
    width: 100%; min-height: 44px; padding: 6px 12px; box-sizing: border-box;
    font: 700 18px/1.2 Phetsarath, sans-serif; font-variant-numeric: tabular-nums; color: #F5F0E4;
    background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .22); border-radius: 12px;
}
.mxt-fxcard .mxt-fxcard__calc select { font-size: 15px; cursor: pointer; }
.mxt-fxcard .mxt-fxcard__calc select option { color: #15181C; background: #fff; }
.mxt-fxcard__calc-out { list-style: none; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin: 10px 0 0; padding: 0; }
.mxt-fxcard__calc-out li { padding-left: 8px; border-left: 3px solid #7FC4D6; }
.mxt-fxcard__calc-out li + li { border-left-color: #F3C95B; }
.mxt-fxcard__calc-out small { display: block; font-size: 11px; line-height: 1.3; color: #C9D8D0; }
.mxt-fxcard__calc-out b { display: block; font-size: 17px; line-height: 1.3; font-variant-numeric: tabular-nums; }
.mxt-fxcard__calc-out b::after { content: " ກີບ"; font-size: 11px; font-weight: 400; color: #C9D8D0; }

.mxt-fxcard__meta { list-style: none; margin: 14px 0; padding: 0; font-size: 12px; line-height: 1.5; color: #C9D8D0; }
.mxt-fxcard__meta li:last-child { color: #F5F0E4; }
.mxt-fxcard .mxt-fxcard__cta {
    align-self: flex-start; margin-top: auto; padding: 13px 18px;
    font: 700 14px/1.2 Phetsarath, sans-serif; text-decoration: none; color: #0F2B24; background: #F3C95B; border-radius: 999px;
    transition: transform .18s ease, box-shadow .18s ease;
}
.mxt-fxcard .mxt-fxcard__cta:hover { color: #0F2B24; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(0, 0, 0, .28); }
.mxt-fxcard input:focus-visible, .mxt-fxcard select:focus-visible, .mxt-fxcard button:focus-visible, .mxt-fxcard a:focus-visible { outline: 3px solid #F3C95B; outline-offset: 2px; }

/* the two cards sit side by side on /today/: each fills its column so their buttons line up at the bottom */
.elementor-widget-wrap:has(> .elementor-widget-shortcode .mxt-fxcard),
.elementor-widget-wrap:has(> .elementor-widget-shortcode .mxt-fuelcard) { align-content: stretch; }
.elementor-widget-shortcode:has(.mxt-fxcard), .elementor-widget-shortcode:has(.mxt-fuelcard),
.elementor-widget-shortcode:has(.mxt-fxcard) > .elementor-widget-container, .elementor-widget-shortcode:has(.mxt-fuelcard) > .elementor-widget-container,
.elementor-shortcode:has(> .mxt-fxcard), .elementor-shortcode:has(> .mxt-fuelcard) { display: flex; flex-direction: column; flex: 1 1 auto; width: 100%; }
.elementor-shortcode > .mxt-fxcard, .elementor-shortcode > .mxt-fuelcard { flex: 1 1 auto; }

@media (min-width: 768px) {
    .mxt-fxcard.is-compact .mxt-fxcard__cur small { display: none; }
    .mxt-fxcard.is-compact .mxt-fxcard__hero b { font-size: 26px; }
    .mxt-fxcard.is-compact .mxt-fxcard__cols,
    .mxt-fxcard.is-compact .mxt-fxcard__rows button { grid-template-columns: minmax(0, 1fr) 64px 64px; font-size: 14px; }
    .mxt-fxcard.is-compact .mxt-fxcard__rows button { min-height: 34px; padding: 4px 8px; }
}
@media (max-width: 380px) {
    .mxt-fxcard__cols, .mxt-fxcard .mxt-fxcard__rows button { grid-template-columns: minmax(0, 1fr) 68px 68px; }
    .mxt-fxcard__hero b { font-size: 28px; }
}
@media (prefers-reduced-motion: reduce) {
    .mxt-fxcard__glow, .mxt-fxcard__status i::after { animation: none; }
    .mxt-fxcard .mxt-fxcard__rows button, .mxt-fxcard .mxt-fxcard__cta { transition: none; }
}
@media (max-width: 767px) {
    .mxt-fxcard .mxt-fxcard__rows button { min-height: 36px; padding: 4px 8px; }
}

/* Homepage strip: the fuel and exchange-rate cards fill their slide, so both are the same height and their buttons line up. */
@media (min-width: 768px) {
    .mxt-fuelcard.is-compact .mxt-fuelcard__range { display: block; }
}
.jet-listing-grid__item:has(.mxt-fuelcard, .mxt-fxcard) > .elementor,
.jet-listing-grid__item:has(.mxt-fuelcard, .mxt-fxcard) .elementor-section:has(.mxt-fuelcard, .mxt-fxcard),
.jet-listing-grid__item:has(.mxt-fuelcard, .mxt-fxcard) .elementor-section:has(.mxt-fuelcard, .mxt-fxcard) > .elementor-container,
.jet-listing-grid__item:has(.mxt-fuelcard, .mxt-fxcard) .elementor-column:has(.mxt-fuelcard, .mxt-fxcard) { height: 100%; }
