/* Lottery live video (inc/mxt-lottery-video.php). Same palette as mxt-lottery.css: navy #12356B, gold #F3C95B, live red #D0161F. */
.mxt-lv[hidden] { display: none; }
/* The LIVE pill in the result box (mxt-lottery.css) ignored its hidden attribute and showed all day. It now follows the
   real broadcast: the script marks <html> "mxt-lv-known", and "mxt-lv-on" only while the channel is live. */
.mxt-lotcard__live[hidden], .mxt-lv-known .mxt-lotcard__live { display: none; }
.mxt-lv-known.mxt-lv-on .mxt-lotcard__live { display: inline-flex; }
.mxt-lv img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mxt-lv__badge { position: absolute; left: 8px; bottom: 8px; z-index: 2; display: inline-flex; align-items: center; gap: 5px; padding: 3px 8px; font: 700 11px/1.3 Phetsarath, sans-serif; letter-spacing: .04em; color: #fff; background: rgba(10, 14, 22, .82); border-radius: 6px; }
.mxt-lv__badge.is-live { background: #D0161F; }
.mxt-lv__badge.is-live i { width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: mxt-lot-blink .9s steps(2, start) infinite; }
.mxt-lv__badge.is-soon { color: #15181C; background: #F3C95B; }

/* ---------- page: under the result ---------- */
.mxt-lv--page { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 22px; align-items: center; margin: 16px 0; padding: 16px; font-family: Phetsarath, sans-serif; color: #15181C; background: #fff; border: 1px solid #E4DCCB; border-radius: 16px; }
.mxt-lv--page.is-live { border-color: #D0161F; box-shadow: 0 0 0 3px rgba(208, 22, 31, .14); }
.mxt-lv__media { position: relative; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 12px; background: #0B2247; }
.mxt-lv__thumb { position: absolute; inset: 0; display: block; }
.mxt-lv__thumb img { transition: transform .4s ease, filter .4s ease; }
.mxt-lv__thumb:hover img, .mxt-lv__thumb:focus-visible img { transform: scale(1.03); filter: brightness(.9); }
.mxt-lv__media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.mxt-lv__play { position: absolute; top: 50%; left: 50%; z-index: 2; width: 68px; height: 48px; margin: -24px 0 0 -34px; border-radius: 14px; background: rgba(208, 22, 31, .92); box-shadow: 0 8px 24px rgba(0, 0, 0, .35); transition: transform .2s ease; }
.mxt-lv__play::after { content: ""; position: absolute; top: 50%; left: 50%; margin: -10px 0 0 -6px; border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff; }
.mxt-lv__thumb:hover .mxt-lv__play { transform: scale(1.08); }
.mxt-lv__kicker { display: block; font-size: 12px; font-weight: 700; letter-spacing: .02em; color: #12356B; }
.is-live .mxt-lv__kicker { color: #D0161F; }
.mxt-lv__title { margin: 4px 0 6px; font: 700 20px/1.4 Phetsarath, sans-serif; color: #15181C; }
.mxt-lv__note { margin: 0 0 14px; font-size: 14px; line-height: 1.6; color: #4A524C; }
.mxt-lv .mxt-lv__btn { display: inline-block; padding: 12px 18px; font: 700 14px/1.2 Phetsarath, sans-serif; text-decoration: none; color: #F5F0E4; background: #12356B; border-radius: 999px; transition: transform .18s ease, box-shadow .18s ease; }
.mxt-lv.is-live .mxt-lv__btn { background: #D0161F; }
.mxt-lv .mxt-lv__btn:hover { color: #F5F0E4; transform: translateY(-2px); box-shadow: 0 8px 18px rgba(18, 53, 107, .3); }
.mxt-lv__src { margin: 12px 0 0; font-size: 12px; color: #7A8279; }
.mxt-lv__src a { color: inherit; }
.mxt-lv.is-fresh { animation: mxt-lv-in .5s ease both; }
@keyframes mxt-lv-in { from { opacity: 0; transform: translateY(6px); } }

/* ---------- card: one row above the button ---------- */
.mxt-lv--card { margin: 0 0 14px; }
.mxt-lv__row { display: flex; align-items: center; gap: 12px; padding: 8px; text-decoration: none; color: #15181C; background: #fff; border: 1px solid #E4DCCB; border-radius: 12px; transition: border-color .18s ease, box-shadow .18s ease; }
.mxt-lv__row:hover { color: #15181C; border-color: #12356B; box-shadow: 0 6px 16px rgba(18, 53, 107, .12); }
.mxt-lv--card.is-live .mxt-lv__row { border-color: #D0161F; background: #FFF5F5; }
.mxt-lv__mini { position: relative; flex: 0 0 104px; aspect-ratio: 16 / 9; overflow: hidden; border-radius: 8px; background: #0B2247; }
.mxt-lv__mini .mxt-lv__badge { left: 4px; bottom: 4px; padding: 2px 6px; font-size: 10px; }
.mxt-lv__txt { min-width: 0; }
.mxt-lv__txt b { display: block; font-size: 14px; line-height: 1.4; }
.mxt-lv--card.is-live .mxt-lv__txt b { color: #D0161F; }
.mxt-lv__txt small { display: block; font-size: 12px; color: #5C665F; }

/* ---------- past results: replay link ---------- */
.mxt-lot__list .mxt-lv__rp { display: inline-block; margin-left: 4px; padding: 1px 7px; font-size: 11px; font-weight: 700; line-height: 1.5; white-space: nowrap; text-decoration: none; color: #D0161F; border: 1px solid rgba(208, 22, 31, .35); border-radius: 999px; }
.mxt-lot__list .mxt-lv__rp:hover { color: #fff; background: #D0161F; }

@media (max-width: 767px) {
    .mxt-lv--page { grid-template-columns: minmax(0, 1fr); gap: 14px; padding: 12px; }
    .mxt-lv__title { font-size: 18px; }
    .mxt-lv .mxt-lv__btn { display: block; text-align: center; }
}
@media (prefers-reduced-motion: reduce) {
    .mxt-lv__badge.is-live i, .mxt-lv.is-fresh { animation: none; }
    .mxt-lv__thumb img, .mxt-lv__play, .mxt-lv .mxt-lv__btn { transition: none; }
}
