/* ==========================================================================
   WEB STYLE DESIGN GUIDE SYSTEM
   Rule 1: Không bo góc (Zero border-radius across all HTML elements)
   Rule 2: Không bóng đổ (No box-shadow, no text-shadow - 100% Flat)
   Rule 3: Root font-size basic 16px (html, :root { font-size: 16px })
   Rule 4: Body font-size 100% (body { font-size: 100% })
   Rule 5: Low padding, low margin (Compact high-density layout)
   ========================================================================== */
html,
:root {
  font-size: clamp(14px, 0.8vw + 11px, 16px) !important;
  --bda-radius: 0px;
  font-family: var(--bs-font-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
}

body {
  font-size: 100% !important;
  font-family: var(--bs-font-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif) !important;
}

.layout-margin {
  margin-top: 8px;
}
.txt-normal-prize,
.txt-special-prize {
  line-height: 1;
  font-weight: 700;
}
.ball-mega645,
.ball-power655,
.bg-clock,
.bg-highlight-row th,
.live-title,
.raffle-ball div,
.tab-btn,
.table-lottery th,
.view-mode a,
.week-days,
figure figcaption {
  text-align: center;
}
.scroll-to-top,
.scroll-to-top:focus {
  outline: inherit;
}
.table-calendar table,
.table-lottery,
.table-number-filter {
  table-layout: fixed;
}
.view-mode a,
.week-days,
.weekdays {
  white-space: nowrap;
}
* {
  margin: 0;
  padding: 0;
}
body {
    min-height: 100vh;
    background-color: #ffffff;
    background-image: linear-gradient(180deg, #ffd79d 0%, #faf5e8 1%, #fff8f0 2%, #ffffff 90%, #ffffff 100%);
    background-repeat: no-repeat;
    background-position: top;
}
:root {
  --brand-color: #c80505;
  --sub-brand-color: #ffcc00;
  --content-color: #000;
  --secondary-color: #0029ad;
  --border-color: #d9d9d9;
  --dark-border-color: #dcdcdc;
  --button-color: #265fa6;
  --button-color-2: #265fa6;
  --highlight-color: #ff3110;
  --link-color: #551a8b;
  --background-color: #dddddd;
  --dark-background-color: #333333;
  --line-color: #e9e9e9;
  --lotto-background: #f2f2f2;
  --footer-background-color: #f5f2f2;
  --menu-hover-color: #971111;
  --hover-color: #74aa19;
  --font-size-1: 1.75rem;
  --font-size-2: 1.5rem;
  --font-size-3: 1.25rem;
  --font-size-4: 1.125rem;
  --font-size-5: 1rem;
  --font-size-6: 0.875rem;
  --font-size-7: 0.813rem;
  --border-radius-sm: 0.25rem;
  --border-radius-full: 9999px;
}
.bg-brand,
.bg-color-brand {
  background-color: var(--brand-color);
}
.bg-color-sub-brand {
  background-color: var(--sub-brand-color);
}
.bg-color-content {
  background-color: var(--content-color);
}
.bg-color-secondary {
  background-color: var(--secondary-color);
}
.bg-color-border {
  background-color: var(--border-color);
}
.bg-btn,
.bg-color-button,
.progress-bar {
  background-color: var(--button-color);
}
.bg-color-highlight {
  background-color: var(--highlight-color);
}
.bg-page {
  background-color: var(--background-color);
}
.bg-color-dark-background {
  background-color: var(--dark-background-color);
}
.bg-color-line,
.list-link:hover,
.post-suggestion a:hover,
.prize-schedule:hover,
.table-number-filter td:hover {
  background-color: var(--line-color);
}
.bg-color-lotto-background td {
  background-color: transparent;
}
.bg-color-lotto-background th {
  background-color: var(--lotto-background);
}
.bg-btn:hover {
  filter: brightness(0.85);
}
.bg-link-gradient {
  background-image: linear-gradient(109deg, #ee9042, #de5b59) !important;
}
.bg-link-gradient:hover {
  background-image: linear-gradient(109deg, #365294, #de5b59) !important;
}
.bg-highlight-row {
  background: #ffeca0;
}
.bg-highlight-row th {
  background-color: #ffeca0 !important;
  padding: 6px 8px !important;
  white-space: normal !important;
}
.bg-highlight-row th h1.text-title,
.bg-highlight-row th h2.text-title,
.bg-highlight-row th h1,
.bg-highlight-row th h2,
.text-body-color {
  font-size: 18px !important;
  color: #e00000 !important;
  font-weight: 700 !important;
  margin: 0 0 3px 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}
.bg-highlight-row th h1 a,
.bg-highlight-row th h2 a {
  color: #e00000 !important;
  text-decoration: none !important;
}
.bg-highlight-row th h1 a:hover,
.bg-highlight-row th h2 a:hover {
  text-decoration: underline !important;
}
.bg-highlight-row th .link-items,
.bg-highlight-row th .link-items a {
  margin-top: 5px;
  font-size: 16px !important;
  color: var(--secondary-color);
  white-space: normal !important;
}

@media (max-width: 767.98px) {
  .bg-highlight-row th h1.text-title,
  .bg-highlight-row th h2.text-title,
  .bg-highlight-row th h1,
  .bg-highlight-row th h2 {
    font-size: 16px !important;
    line-height: 1.35 !important;
  }
  .bg-highlight-row th .link-items,
  .bg-highlight-row th .link-items a {
    font-size: 13px !important;
  }
}
.color-brand {
  color: var(--brand-color) !important;
}
.text-sub-brand {
  color: var(--sub-brand-color) !important;
}
.color-secondary {
  color: var(--secondary-color) !important;
}
.color-border {
  color: var(--border-color) !important;
}
.color-button {
  color: var(--button-color) !important;
}
.text-highlight-color {
  color: var(--highlight-color) !important;
}
.color-background {
  color: var(--background-color) !important;
}
.color-link {
  color: var(--link-color) !important;
}
.color-line {
  color: var(--line-color) !important;
}
.color-blue {
  color: #2689e1 !important;
}
.text-highlight,
.txt-special-prize {
  color: var(--highlight-color);
}
h1 {
  font-size: var(--font-size-1);
}
h2 {
  font-size: var(--font-size-2);
}
h3 {
  font-size: var(--font-size-3);
}
.text-title {
  font-size: var(--font-size-3) !important;
}
.text-subtitle {
  font-size: var(--font-size-4) !important;
}
.text-content {
  font-size: var(--font-size-5) !important;
}
.text-sub {
  font-size: var(--font-size-6) !important;
}
.txt-special-prize {
  font-size: 25px !important;
}
.txt-normal-prize {
  font-size: 18px;
  color: var(--content-color);
}
.text-dynamic {
  font-size: var(--font-size-5);
}
.bg-clock {
  background: #5b5b5b;
  border-radius: 6px;
}
@media (min-width: 1200px) {
  .container-lg {
    max-width: 1140px;
  }
  .dropdown-toggle::after {
    margin-left: 0.125em;
  }
}
@media (min-width: 992px) {
  .header {
    display: flex;
    align-items: center;
    padding: 10px 0;
  }
  .logo-header {
    width: 154px;
    height: 44px;
  }
  .txt-header {
    font-size: var(--font-size-6);
  }
  .today-info {
    margin-left: 24px;
    padding-left: 24px;
    border-left: 1px solid var(--dark-border-color);
  }
  .menu-top,
  .nav-bar .sidebar-dropdown,
  .sticky-menu {
    display: none;
  }
  .nav-bar {
    width: 100%;
    height: 50px;
    background-color: var(--brand-color);
  }
  .nav-bar .nav-list {
    display: flex;
    height: 100%;
    width: 100%;
    margin-bottom: 0;
    list-style: none;
  }
  .nav-bar .nav-item {
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
  }
  .nav-bar .nav-item .nav-items-dropdown {
    font-size: var(--font-size-7);
  }
  .nav-bar .nav-item:hover .dropdown-list {
    display: block;
  }
  .nav-bar .nav-link-item {
    display: flex;
    height: 100%;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: 500;
    text-align: center;
    line-height: 1;
    padding: 0 11px;
    text-decoration: none;
    white-space: nowrap;
  }
  .nav-bar .nav-link-item:hover {
    background-color: rgba(0, 0, 0, 0.15);
  }
  .nav-bar .dropdown-list {
    display: none;
    position: absolute;
    left: 0;
    top: 50px;
    margin-bottom: 0;
    padding-left: 0;
    list-style: none;
    min-width: 188px;
    background-color: #fff;
    border-radius: var(--border-radius-sm);
    z-index: 99;
  }
  .nav-bar .dropdown-item-link {
    width: 100%;
  }
  .nav-bar .dropdown-menu-links {
    display: block;
    width: 100%;
    text-decoration: none;
    color: #fff;
    padding: 0 15px;
    background: var(--brand-color);
    font-weight: 700;
    line-height: 43px;
    font-size: 16px;
    text-align: left;
  }
  .nav-bar .dropdown-menu-links:hover {
    background: var(--menu-hover-color);
  }
}
@media (max-width: 991px) {
  .header {
    display: flex;
    align-items: center;
    padding: 11px 0;
  }
  .logo-header {
    width: 112px;
    height: 32px;
  }
  .menu,
  .sidebar-overlay {
    position: fixed;
    height: 100%;
    top: 0;
  }
  .txt-header {
    font-size: var(--font-size-7);
  }
  .today-info {
    margin-left: 16px;
    padding-left: 16px;
    border-left: 1px solid var(--dark-border-color);
  }
  .menu {
    right: 0;
    width: 75%;
    min-width: 300px;
    max-width: 400px;
    background-color: #fff;
    overflow-y: auto;
    transform: translateX(105%);
    -webkit-transform: translateX(105%);
    -moz-transform: translateX(105%);
    transition: 0.3s;
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    z-index: 999;
    visibility: hidden;
  }
  .show-sidebar,
  .is-active,
  #sidebar-menu.is-active {
    transform: translateX(0) !important;
    -webkit-transform: translateX(0) !important;
    -moz-transform: translateX(0) !important;
    visibility: visible !important;
  }
  .sidebar-overlay {
    width: 100%;
    left: 0;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 998;
  }
  .menu .container {
    width: 100%;
  }
  .menu-top {
    background-color: #fff;
    flex-direction: column;
    height: 88px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    z-index: 99;
  }
  .sticky-menu {
    background-color: var(--brand-color);
  }
  .close-sidebar-btn {
    position: absolute;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 0;
    font-size: 20px;
    color: var(--secondary-color);
  }
  .nav-bar {
    padding-bottom: 80px;
  }
  .nav-bar ul {
    margin-bottom: 0;
    padding-left: 0;
    padding-right: 0;
    list-style: none;
  }
  .nav-bar .nav-item {
    border-bottom: 1px solid var(--border-color);
    padding: 8px;
  }
  .nav-bar .dropdown-menu-links,
  .nav-bar .nav-link-item {
    padding: 5px 8px;
    color: var(--content-color);
    text-decoration: none;
  }
  .nav-bar .nav-item .nav-items-dropdown {
    display: none;
  }
  .nav-bar .nav-link-item {
    display: block;
    font-weight: 600;
  }
  .nav-bar .dropdown-list {
    display: flex;
    flex-wrap: wrap;
  }
  .nav-bar .dropdown-item-link {
    width: 50%;
  }
  .nav-bar .dropdown-menu-links {
    display: block;
    font-size: var(--font-size-6);
  }
  .sticky-menu {
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    height: 46px;
    z-index: 997;
  }
  .sticky-menu .menu-btn {
    margin: 6px;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 44px;
    min-width: 44px;
    border-radius: var(--border-radius-sm);
    border: 1px solid rgba(255, 255, 255, 0.5);
    z-index: 2;
  }
  .header .menu-btn {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    height: 38px;
    width: auto;
    background: transparent;
    border: none;
    border-radius: 0 !important;
    color: #000000;
    z-index: 2;
    padding: 0;
  }
  .sticky-menu .sticky-list-link {
    display: flex;
    width: 100%;
    height: 100%;
    align-items: stretch;
    justify-content: space-between;
    overflow: hidden !important;
    overflow-x: hidden !important;
    scrollbar-width: none;
    -ms-overflow-style: none;
    margin: 0;
    padding: 0;
  }
  .sticky-menu div::-webkit-scrollbar {
    display: none;
  }
  .sticky-menu div {
    -ms-overflow-style: none;
    scrollbar-height: none;
  }
  .sticky-menu a {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 0 4px;
    text-decoration: none;
    white-space: nowrap;
    color: #ffffff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    height: 100%;
    border-radius: 0 !important;
    transition: background-color 0.15s ease-in-out;
  }
  .sticky-menu a:hover,
  .sticky-menu a:focus,
  .sticky-menu a:active {
    background-color: rgba(0, 0, 0, 0.18);
    color: #ffffff;
  }
  @media (max-width: 365px) {
    .sticky-menu a {
      font-size: 12.5px !important;
      padding: 0 2px !important;
    }
  }
  .left-content {
    display: none !important;
  }
  .text-title {
    font-size: var(--font-size-5) !important;
  }
  .result-book .txt-normal-prize {
    font-size: 17px;
  }
  .result-book .ltable-lottery .dd-kq {
    line-height: 20px;
    padding: 5px;
  }
}
@media (min-width: 768px) {
  .d-mobile {
    display: none !important;
  }
  .table-lottery td:hover {
    background-color: #ffff48;
  }
}
@media (max-width: 767px) {
  .d-desktop {
    display: none !important;
  }
  .table-calendar {
    display: none;
  }
  .list-link:hover,
  .week-days:hover {
    background-color: unset !important;
  }
  .list-link:focus,
  .week-days:focus {
    background-color: var(--line-color);
  }
  .scroll-to-top {
    width: 38px !important;
    height: 38px !important;
    right: 10px !important;
    bottom: 20px !important;
  }
  body .content-container {
    padding-left: 0;
    padding-right: 0;
  }
  body .content-container .row {
    margin-left: 0;
    margin-right: 0;
  }
}
.line-clamp-2,
.line-clamp-3,
.line-clamp-4,
.line-clamp-5,
.post-item .post-description p,
.post-item .post-title a,
.text-clamp-1 {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
}
@media (max-width: 575px) {
  .layout-container {
    padding-left: 2px !important;
    padding-right: 2px !important;
  }
  .kq-30 a,
  .text-dynamic {
    font-size: var(--font-size-6) !important;
  }
  .text-padded {
    padding: 10px !important;
  }
  .text-xs {
    font-size: 12px !important;
  }
  .max3d-logo,
  .max4d-logo,
  .mega645-logo {
    width: 64px !important;
    height: 35px !important;
  }
  .power655-logo {
    width: 64px !important;
    height: 45px !important;
  }
  .post-item {
    grid-template-areas: "title title title" "img description description" "img description description" !important;
    row-gap: 8px !important;
  }
  .first-post {
    grid-template-areas: "img" "title" "description" !important;
  }
  .post-item .post-description p {
    -webkit-line-clamp: 4 !important;
  }
  .first-post .post-description p {
    -webkit-line-clamp: 3 !important;
  }
  .post-item .post-img img {
    width: 132px !important;
    height: 85px !important;
  }
  .first-post .post-img img {
    aspect-ratio: 480/310;
    width: 100% !important;
    height: auto !important;
  }
  .snackbar {
    width: 100% !important;
  }
}
@media (max-width: 375px) {
  .ball-mega645 {
    width: 42px !important;
    min-width: 38px !important;
    height: 42px !important;
    margin: 3px !important;
  }
  .ball-power655 {
    width: 40px !important;
    min-width: 36px !important;
    height: 40px !important;
    margin: 2px !important;
  }
  .table-4-provinces .txt-normal-prize,
  .table-4-provinces .txt-special-prize {
    font-size: 18px !important;
  }
  .result-book {
    grid-template-columns: 1fr !important;
    grid-row-gap: 4px !important;
  }
  .result-book .border-light {
    border: unset !important;
  }
  .result-book .rounded-sm {
    border-radius: unset !important;
  }
  .result-book .btlr-1 {
    border-top-left-radius: unset !important;
  }
  .result-book .btrr-1 {
    border-top-right-radius: unset !important;
  }
}
@media (max-width: 320px) {
  .txt-special-prize {
    font-size: 20px !important;
  }
  .table-4-provinces .txt-normal-prize,
  .table-4-provinces .txt-special-prize {
    font-size: 16px !important;
  }
}
.first-col,
.table-4-provinces .text-content {
  font-size: 16px !important;
}
.padding-0 {
  padding: 0 !important;
}
.p-t-0 {
  padding-top: 0 !important;
}
.p-b-0 {
  padding-bottom: 0 !important;
}
.p-l-0 {
  padding-left: 0 !important;
}
.p-r-0 {
  padding-right: 0 !important;
}
.margin-0 {
  margin: 0 !important;
}
.m-t-0 {
  margin-top: 0 !important;
}
.m-b-0 {
  margin-bottom: 0 !important;
}
.m-l-0 {
  margin-left: 0 !important;
}
.m-r-0 {
  margin-right: 0 !important;
}
.padding-5 {
  padding: 5px !important;
}
.pt-5 {
  padding-top: 5px !important;
}
.p-b-5 {
  padding-bottom: 5px !important;
}
.p-l-5 {
  padding-left: 5px !important;
}
.p-r-5 {
  padding-right: 5px !important;
}
.margin-5 {
  margin: 5px !important;
}
.mt-5 {
  margin-top: 5px !important;
}
.mb-5 {
  margin-bottom: 5px !important;
}
.m-l-5 {
  margin-left: 5px !important;
}
.m-r-5 {
  margin-right: 5px !important;
}
.p-10 {
  padding: 10px !important;
}
.pt-10 {
  padding-top: 10px !important;
}
.p-b-10 {
  padding-bottom: 10px !important;
}
.ps-10 {
  padding-left: 10px !important;
}
.pe-10 {
  padding-right: 10px !important;
}
.margin-10 {
  margin: 10px !important;
}
.m-t-10 {
  margin-top: 10px !important;
}
.mb-10 {
  margin-bottom: 10px !important;
}
.m-l-10 {
  margin-left: 10px !important;
}
.me-10 {
  margin-right: 10px !important;
}
.p-15 {
  padding: 15px !important;
}
.p-t-15 {
  padding-top: 15px !important;
}
.pb-15 {
  padding-bottom: 15px !important;
}
.p-l-15 {
  padding-left: 15px !important;
}
.p-r-15 {
  padding-right: 15px !important;
}
.margin-15 {
  margin: 15px !important;
}
.mt-15 {
  margin-top: 15px !important;
}
.mb-15 {
  margin-bottom: 15px !important;
}
.m-l-15 {
  margin-left: 15px !important;
}
.m-r-15 {
  margin-right: 15px !important;
}
.padding-20 {
  padding: 20px !important;
}
.p-t-20 {
  padding-top: 20px !important;
}
.p-b-20 {
  padding-bottom: 20px !important;
}
.p-l-20 {
  padding-left: 20px !important;
}
.p-r-20 {
  padding-right: 20px !important;
}
.margin-20 {
  margin: 20px !important;
}
.m-t-20 {
  margin-top: 20px !important;
}
.m-b-20 {
  margin-bottom: 20px !important;
}
.m-l-20 {
  margin-left: 20px !important;
}
.m-r-20 {
  margin-right: 20px !important;
}
.padding-30 {
  padding: 30px !important;
}
.p-t-30 {
  padding-top: 30px !important;
}
.p-b-30 {
  padding-bottom: 30px !important;
}
.p-l-30 {
  padding-left: 30px !important;
}
.p-r-30 {
  padding-right: 30px !important;
}
.margin-30 {
  margin: 30px !important;
}
.m-t-30 {
  margin-top: 30px !important;
}
.mb-30 {
  margin-bottom: 30px !important;
}
.m-l-30 {
  margin-left: 30px !important;
}
.m-r-30 {
  margin-right: 30px !important;
}
.padding-50 {
  padding: 50px !important;
}
.p-t-50 {
  padding-top: 50px !important;
}
.p-b-50 {
  padding-bottom: 50px !important;
}
.p-l-50 {
  padding-left: 50px !important;
}
.p-r-50 {
  padding-right: 50px !important;
}
.margin-50 {
  margin: 50px !important;
}
.m-t-50 {
  margin-top: 50px !important;
}
.m-b-50 {
  margin-bottom: 50px !important;
}
.m-l-50 {
  margin-left: 50px !important;
}
.m-r-50 {
  margin-right: 50px !important;
}
.p-b-100 {
  padding-bottom: 100px !important;
}
.rounded-sm {
  border-radius: var(--border-radius-sm) !important;
}
.rounded-tl-sm {
  border-top-left-radius: var(--border-radius-sm) !important;
}
.rounded-tr-sm {
  border-top-right-radius: var(--border-radius-sm) !important;
}
.bblr-sm {
  border-bottom-left-radius: var(--border-radius-sm) !important;
}
.bbrr-sm {
  border-bottom-right-radius: var(--border-radius-sm) !important;
}
.rounded-full {
  border-radius: var(--border-radius-full) !important;
}
.border-light {
  border: 1px solid var(--border-color) !important;
}
.accordion-item:not(:last-child),
.border-bottom-light {
  border-bottom: 1px solid var(--border-color);
}
.border-top-light {
  border-top: 1px solid var(--border-color);
}
.bd-light-start {
  border-left: 1px solid var(--border-color);
}
.bd-light-end {
  border-right: 1px solid var(--border-color);
}
.bd-dark {
  border: 1px solid var(--dark-border-color);
}
.bd-dark-bottom {
  border-bottom: 1px solid var(--dark-border-color);
}
.bd-dark-top {
  border-top: 1px solid var(--dark-border-color);
}
.bd-dark-start {
  border-left: 1px solid var(--dark-border-color);
}
.bd-dark-end {
  border-right: 1px solid var(--dark-border-color);
}
.text-padded {
  padding: 20px;
}
.fw-medium {
  font-weight: 500 !important;
}
.fw-semibold {
  font-weight: 600 !important;
}
.hover-sm:hover {
  background-color: var(--line-color) !important;
}
.hover-md:hover {
  background-color: var(--background-color) !important;
}
.table-shadow {
}
.font-italic {
  font-style: italic !important;
}
.cursor-pointer {
  cursor: pointer !important;
}
.z-index-1 {
  z-index: 1 !important;
}
.z-index-2 {
  z-index: 2 !important;
}
.text-clamp-1 {
  -webkit-line-clamp: 1;
}
.line-clamp-2,
.post-item .post-title a {
  -webkit-line-clamp: 2;
}
.line-clamp-3,
.post-item .post-description p {
  -webkit-line-clamp: 3;
}
.line-clamp-4 {
  -webkit-line-clamp: 4;
}
.line-clamp-5 {
  -webkit-line-clamp: 5;
}
.hide-scrollbar::-webkit-scrollbar {
  width: 0;
  background: 0 0;
}
.post-content img,
figure img {
  margin: 0 auto;
  display: block;
  max-width: 100%;
}
figure figcaption {
  margin-top: 5px;
  font-size: 0.8125rem;
  opacity: 0.5;
}
.bg-color {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background-image: linear-gradient(to bottom, #f5f7fd, #dce2fa);
}
.layout-container {
  padding-left: 8px;
  padding-right: 8px;
}
.layout-margin {
  margin-left: -8px;
  margin-right: -8px;
}
.form-container {
  padding: 5px;
}
.form-spacing {
  margin: -5px;
}
.tab-btn {
  position: relative;
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 5px 0;
}
.tab-btn:not(:last-child):after {
  content: "";
  width: 1px;
  height: 20px;
  position: absolute;
  right: -0.5px;
  margin-top: auto;
  margin-bottom: auto;
  background-color: rgba(0, 0, 0, 0.4);
  opacity: 0.3;
}
.lottery-day .selected,
.tab-btn:hover {
  background-color: var(--brand-color);
  color: #fff !important;
}
.btn,
.list-group {
  border-radius: 0;
}
.btn-primary,
.btn-primary.disabled,
.btn-primary:disabled {
  color: #fff;
  background-color: var(--button-color);
  border-color: var(--button-color);
}
.btn-check:active + .btn-primary,
.btn-check:checked + .btn-primary,
.btn-check:focus + .btn-primary,
.btn-primary.active,
.btn-primary:active,
.btn-primary:focus,
.btn-primary:hover,
.show > .btn-primary.dropdown-toggle {
  color: #fff;
  background-color: var(--button-color-2);
  border-color: var(--button-color-2);
}
.btn-check:focus + .btn-primary,
.btn-primary:focus {
}
.btn-check:active + .btn-primary:focus,
.btn-check:checked + .btn-primary:focus,
.btn-primary.active:focus,
.btn-primary:active:focus,
.show > .btn-primary.dropdown-toggle:focus {
}
.btn-check:active + .btn-secondary:focus,
.btn-check:checked + .btn-secondary:focus,
.btn-check:focus + .btn-secondary,
.btn-secondary.active:focus,
.btn-secondary:active:focus,
.btn-secondary:focus,
.show > .btn-secondary.dropdown-toggle:focus {
}
.btn-secondary,
.btn-secondary.disabled,
.btn-secondary:disabled {
  color: var(--content-color);
  background-color: var(--background-color);
  border-color: var(--border-color);
}
.btn-check:active + .btn-secondary,
.btn-check:checked + .btn-secondary,
.btn-check:focus + .btn-secondary,
.btn-secondary.active,
.btn-secondary:active,
.btn-secondary:focus,
.btn-secondary:hover,
.show > .btn-secondary.dropdown-toggle {
  color: var(--content-color);
  background-color: var(--border-color);
  border-color: var(--border-color);
}
.table-default,
.table-default td,
.table-default th,
.widget {
  border: 1px solid var(--border-color);
}
.table-container {
  margin: -1px;
}
.table-default td,
.table-default th {
  padding: 6px;
  vertical-align: middle;
  border-collapse: collapse;
  height: 37px;
}
.table-tkts td,
.table-tkts th {
  padding: 5px;
  height: 32px;
  vertical-align: middle;
  cursor: pointer;
  border-collapse: collapse;
}
.table-tkts td {
  background-color: gray;
  border: 1px solid #666;
}
.table-lottery,
.table-lottery td,
.table-lotto td,
.table-tkts th {
  border: 1px solid var(--border-color);
}
.table-tkts th {
  background-color: #fff;
}
.row-focus > .bg-white,
.row-hover:hover > .bg-white,
.table-tkts .row-focus th,
.table-tkts .row-hover:hover th {
  background-color: var(--hover-color) !important;
}
.expand-fullscreen {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #fff;
  z-index: 9999;
  overflow: scroll;
}
.empty-soicau,
.list-link,
.table-bd-bottom,
.tooltip-wrapper,
.view-mode a,
.week-days {
  position: relative;
}
.expand-fullscreen .table-container {
  margin: unset;
}
.table-number-filter td {
  cursor: pointer;
  padding: 1px;
  background-color: #fff;
}
.table-number-filter th {
  padding: 1px;
}
.table-number-filter span {
  display: block;
  padding: 2px;
}
.table-number-filter .checked {
  background-color: #e59400;
  color: #fff;
}
.table-lottery tr th.fw-medium a {
  color: #00f;
  font-size: 13px;
  border-right: none;
  text-decoration: none;
}
#kqxs-box .table-lottery td {
  text-align: center !important;
  height: 40px;
  font-weight: 700;
  font-size: 21px;
  border: 1px solid #d8d7d7;
}
.first-col {
  width: 10%;
}
.red,
.text-highlight-color,
.txt-special-prize {
  color: #e62e04 !important;
}
.table-lottery td,
.table-lotto td {
  padding: 6px;
  vertical-align: middle;
  border-collapse: collapse;
  height: 40px;
}
.table-lottery td:has(> .empty-soicau) {
  background-color: var(--background-color);
}
.table-lottery th {
  vertical-align: middle;
  border-collapse: collapse;
  border: 1px solid #d8d7d7;
  font-weight: 500;
  height: 35px;
  font-size: 16px;
  background-color: #fafafa;
}
.change-date-btn {
  width: 10%;
  background: 0 0;
  border: none;
  padding: 3px;
}
.list-title,
.view-mode .active,
.week-days.active,
.week-days:hover {
  background-color: var(--brand-color);
}
.option-results-btn {
  border-radius: 5px;
  border: none;
  padding: 5px 10px;
}
.list-group-item {
  padding: 7px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 16px;
}
.table-calendar tr td a,
.table-calendar tr td span,
.view-mode a,
.week-days {
  display: block;
  text-decoration: none;
}
.list-group-item::before {
  content: "";
  position: absolute;
  left: 10px;
  top: 50%;
  margin-top: -5px;
  width: 0;
  height: 0;
  background: none;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #444444;
  border-right: none;
  border-radius: 0;
}
.list-group-item:last-child {
  border: unset;
}
.table-calendar td,
.table-calendar tr td a,
.table-calendar tr td span {
  border-radius: var(--border-radius-sm);
}
.list-title {
  padding: 8px 15px;
  font-size: 16px;
  color: #fff;
}
.list-title a,
.replay-live:hover {
  color: #fff;
}
.view-mode,
.view-mode a {
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
}
.table-calendar tr td a {
  padding: 3px;
  cursor: pointer;
  color: unset;
  font-weight: 500;
}
.lottery-day tr th a:hover,
.table-calendar tr td a:hover {
  background-color: var(--line-color);
  color: var(--content-color) !important;
}
.table-calendar tr td span {
  padding: 3px;
  cursor: default;
  color: #bcbcbc;
}
.form-date-picker input {
  padding: 6px 32px 6px 12px;
}
.form-date-picker button {
  top: 5px;
  right: 5px;
}
.dropdown-content[style] {
  left: auto !important;
  right: 0 !important;
  cursor: pointer;
}
.rolling {
  animation: 1.3s infinite rolling;
}
@keyframes rolling {
  100% {
    transform: rotate(360deg);
  }
}
.week-days {
  color: inherit;
  padding: 5px;
  line-height: 25px;
  font-size: 16px;
}
.week-days.active,
.week-days:hover {
  color: var(--bs-light);
}
.view-mode {
  margin-bottom: -15px;
  display: flex;
}
.view-mode a {
  padding: 5px 0 20px;
  color: var(--content-color);
}
.view-mode a:hover {
  background-color: var(--line-color);
  color: var(--content-color);
}
.view-mode .active {
  color: #fff;
}
.list-link:not(:last-child):after,
.table-bd-bottom:after {
  position: absolute;
  height: 1px;
  background-color: var(--border-color);
  bottom: 0;
  left: 0;
  width: 100%;
  content: "";
}
.focus-container {
  border: 2px solid var(--brand-color);
}
.result-book {
  display: grid;
  grid-template-columns: 1.8fr 1fr;
  grid-column-gap: 4px;
}
.list-link {
  display: block;
  text-decoration: none;
  padding: 5px 0;
  height: 31px;
}
.list-link:not(:last-child):after {
  right: 0;
}
.min-w-64px {
  min-width: 64px !important;
}
.max-w-500px {
  max-width: 500px;
}
.hidden {
  display: none !important;
}
.ball-mega645,
.ball-power655 {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  min-width: 44px;
  height: 44px;
  border-radius: 50%;
  color: red;
  border: 2px solid var(--border-color);
  background-color: #f5f5f5;
  font-weight: 500;
  margin: 4px;
}
.special-ball {
  background-color: #ffdb35 !important;
  border: unset !important;
}
.line-power {
  width: 2px;
  min-width: 2px;
  height: 32px;
  background-color: #e37553;
  margin: 0 2px;
}
.form-prediction input {
  padding: 6px 100px 6px 40px;
}
.form-prediction button.icon-plus {
  background-color: var(--line-color);
  right: 0;
  top: 0;
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
  z-index: 2;
}
.form-prediction button.icon-minus {
  background-color: var(--line-color);
  left: 0;
  top: 0;
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  z-index: 2;
}
.form-prediction .prediction-date {
  top: 0;
  right: 40px;
  height: 100%;
  width: 60px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--border-color);
  border-right-width: 0;
  z-index: 1;
}
.empty-soicau {
  height: calc(100% + 12px);
  cursor: unset !important;
}
.empty-soicau span,
.radio input[type="radio"] {
  display: none;
}
.empty-soicau:after {
  content: "";
  position: absolute;
  top: 0;
  left: -6px;
  width: calc(100% + 12px);
  height: 100%;
}
.table-4-provinces td th {
  padding: 6px 1px !important;
}
.table-4-provinces .txt-normal-prize,
.table-4-provinces .txt-special-prize {
  font-size: 22px;
}
.result-not-found {
  height: 280px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.page-not-found {
  height: 55vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.bignumber {
  font-size: 35px;
  color: var(--highlight-color);
}
.Zebra_DatePicker *,
.Zebra_DatePicker :after,
.Zebra_DatePicker :before {
  -moz-box-sizing: content-box !important;
  -webkit-box-sizing: content-box !important;
  box-sizing: content-box !important;
}
.Zebra_DatePicker {
  position: absolute;
  background: #fff;
  border: 1px solid #999;
  z-index: 1200;
  padding: 5px;
  top: 0;
}
.Zebra_DatePicker * {
  margin: 0;
  padding: 0;
  color: #373737;
  background: 0 0;
  border: 0;
}
.Zebra_DatePicker table {
  border-collapse: collapse;
  border-spacing: 0;
  width: auto;
  table-layout: auto;
}
.Zebra_DatePicker td,
.Zebra_DatePicker th {
  text-align: center;
  padding: 5px 0;
}
.Zebra_DatePicker td {
  cursor: pointer;
}
.Zebra_DatePicker .dp_daypicker,
.Zebra_DatePicker .dp_footer,
.Zebra_DatePicker .dp_monthpicker,
.Zebra_DatePicker .dp_yearpicker {
  margin-top: 3px;
}
.Zebra_DatePicker .dp_daypicker td,
.Zebra_DatePicker .dp_daypicker th,
.Zebra_DatePicker .dp_header .dp_next,
.Zebra_DatePicker .dp_header .dp_previous,
.Zebra_DatePicker .dp_monthpicker td,
.Zebra_DatePicker .dp_yearpicker td {
  width: 30px;
}
.Zebra_DatePicker,
.Zebra_DatePicker .dp_footer .dp_hover,
.Zebra_DatePicker .dp_header .dp_hover,
.Zebra_DatePicker td.dp_hover,
.Zebra_DatePicker td.dp_selected {
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.Zebra_DatePicker.dp_visible {
  visibility: visible;
  -khtml-opacity: 1;
  -moz-opacity: 1;
  opacity: 1;
  transition: opacity 0.2s ease-in-out;
}
.Zebra_DatePicker.dp_hidden {
  visibility: hidden;
  -khtml-opacity: 0;
  -moz-opacity: 0;
  opacity: 0;
}
.Zebra_DatePicker .dp_daypicker th,
.Zebra_DatePicker .dp_header .dp_caption,
.dd-kq {
  font-weight: 700;
}
.Zebra_DatePicker .dp_header .dp_hover {
  background: #dedede;
  color: #373737;
}
.Zebra_DatePicker td.dp_disabled,
.Zebra_DatePicker td.dp_not_in_month,
.Zebra_DatePicker td.dp_weekend_disabled {
  color: #dedede;
  cursor: default;
}
.Zebra_DatePicker td.dp_selected {
  background: #039;
  color: #fff !important;
}
.Zebra_DatePicker td.dp_week_number {
  cursor: text;
  font-weight: 700;
}
.Zebra_DatePicker .dp_monthpicker td,
.Zebra_DatePicker .dp_yearpicker td {
  width: 33%;
}
.Zebra_DatePicker td.dp_current,
.Zebra_DatePicker td.dp_disabled_current {
  color: #3a87ad;
}
.Zebra_DatePicker td.dp_hover {
  background: #dedede;
}
button.Zebra_DatePicker_Icon {
  display: block;
  position: absolute;
  width: 16px;
  height: 16px;
  background: url(images/calendar.png) left top no-repeat;
  text-indent: -9000px;
  border: 0;
  cursor: pointer;
  padding: 0;
  line-height: 0;
  vertical-align: top;
  margin: 0 0 0 3px;
}
.kq-30 a,
.kq-30 h2 a {
  padding: 6px 0;
  color: #fff;
}
button.Zebra_DatePicker_Icon_Disabled {
  background-image: url(../images/calendar-disabled.png);
}
button.Zebra_DatePicker_Icon_Inside {
  margin: 0 3px 0 -6px;
}
.load {
  animation: 0.9s linear infinite load;
}
@keyframes load {
  100% {
    transform: rotate(360deg);
  }
}
.live-title {
  background-color: var(--highlight-color);
  padding: 2px 16px;
  width: fit-content;
  min-width: 100px;
  min-height: 28px;
  font-weight: 500;
  color: #fff;
  border-radius: var(--border-radius-full);
}
.raffle-ball,
.raffle-ball div {
  border-radius: 50%;
  display: flex;
  align-items: center;
}
.raffle-cage {
  width: 40px;
  min-width: 40px;
  height: 40px;
  overflow: hidden;
  margin: 6px;
}
.raffle-cage-sheet {
  height: 40px;
  width: 1600px;
  background-image: url(images/raffle-cage.webp);
  background-size: 1600px 40px;
  animation: 1.5s steps(40) infinite trainSpriteSheet;
}
@keyframes trainSpriteSheet {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    transform: translate3d(-100%, 0, 0);
  }
}
.dot-sm,
.raffle-cage-anim-2 {
  animation-delay: 0.3s;
}
.dot-md,
.raffle-cage-anim-3 {
  animation-delay: 0.6s;
}
.dot-lg,
.raffle-cage-anim-4 {
  animation-delay: 0.9s;
}
.raffle-cage-anim-5 {
  animation-delay: 1.2s;
}
.raffle-ball {
  width: 42px;
  height: 42px;
  margin: 5px;
  position: absolute;
  top: 0;
  left: 0;
  justify-content: center;
}
.raffle-ball div {
  width: 28px;
  height: 28px;
  background-color: #fff;
  justify-content: center;
  color: #000;
  font-size: 24px;
}
.raffle-ball-0 {
  background-color: #8d8886;
}
.raffle-ball-1 {
  background-color: #292c81;
}
.raffle-ball-2 {
  background-color: #998300;
}
.raffle-ball-3 {
  background-color: #78100e;
}
.raffle-ball-4 {
  background-color: #86198e;
}
.raffle-ball-5 {
  background-color: #8b2b00;
}
.raffle-ball-6 {
  background-color: #24646f;
}
.raffle-ball-7 {
  background-color: #2c7017;
}
.raffle-ball-8 {
  background-color: #401c00;
}
.raffle-ball-9 {
  background-color: #1f1d1d;
}
.replay-live {
  position: relative;
  color: #fff;
  padding: 1px 20px 1px 7px;
  margin: 4px;
  border-radius: 20px;
}
.replay-live img {
  width: 18px;
  height: 20px;
  margin: 0 15px 2px 0;
}
.accordion-item-header {
  padding: 15px 0 15px 28px;
  cursor: pointer;
  position: relative;
  color: #003349;
  font-weight: 500;
}
.accordion-item-header::before {
  height: 10px;
  width: 10px;
  content: "";
  position: absolute;
  left: 5px;
  top: 19px;
  transition: 0.5s;
  transform: rotate(45deg);
  border-right: 2px solid #003349;
  border-bottom: 2px solid #003349;
}
.accordion-item-header.active {
  transition: 0.4s;
}
.accordion-item-header.active::before {
  transform: rotate(-135deg);
  top: 24px;
  border-right: 2px solid var(--button-color);
  border-bottom: 2px solid var(--button-color);
}
.accordion-item-content {
  overflow-y: hidden;
  padding: 5px 5px 20px;
  display: none;
}
.scroll-to-top {
  display: none;
  position: fixed;
  bottom: 30px;
  right: 30px;
  background-color: rgba(0, 0, 0, 0.4);
  width: 42px;
  height: 42px;
  color: #fff;
  border: inherit;
  transition: background-color, color 0.2s;
  z-index: 997;
}
.prize-schedule {
  display: flex;
  align-items: center;
  padding: 10px 20px;
  background-color: #fff;
  text-decoration: none;
  color: var(--content-color);
}
.live-dot-sm,
.live-indicator {
  background-color: var(--highlight-color);
}
.live-dot-sm {
  width: 6px;
  height: 6px;
  animation: 1.5s infinite scale-dot;
}
.live-dot-sm:not(:last-child) {
  margin-right: 2px;
}
.live-indicator {
  width: 7px;
  height: 7px;
  animation: 1.4s infinite scale-dot;
}
.kq-30,
.kq-30 h2 a {
  background-color: var(--brand-color);
}
.live-indicator:not(:last-child) {
  margin-right: 3px;
}
@keyframes scale-dot {
  0%,
  100% {
    opacity: 0.2;
  }
  50% {
    opacity: 1;
  }
}
.sblue {
  color: #2689e1 !important;
  font-size: 25px;
}
.btn-default {
  border: 1px solid #ccc;
}
.kq-30 {
  border-radius: var(--border-radius-sm);
  display: flex;
  align-items: center;
  overflow: hidden;
}
.kq-30 a,
.show-more {
  display: block;
  text-decoration: none;
  text-align: center;
}
.kq-30 a {
  font-size: var(--font-size-5);
  width: 20%;
  background-color: rgba(255, 255, 255, 0.25);
}
.keyword-group li,
.show-more,
.tag-group li {
  font-size: var(--font-size-6);
}
.kq-30 a:hover {
  background-color: rgba(0, 0, 0, 0.1);
}
.kq-30 h2 {
  width: 40%;
}
.kq-30 h2 a {
  width: 100%;
}
.lottery-day tr th {
  height: unset;
}
.lottery-day tr th a {
  text-decoration: none;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--content-color) !important;
  padding: 6px 0;
}
.show-more {
  padding: 4px 16px;
  color: #505050;
  border: 1px solid var(--background-color);
  border-radius: var(--border-radius-full);
}
.link-white {
  color: #fff !important;
}
.link-dark:hover,
.link-white:hover {
  color: var(--button-color) !important;
  text-decoration: underline !important;
}
.color-content,
.link-dark {
  color: var(--content-color) !important;
}
.table-space table:not(:last-child) {
  margin-bottom: 15px;
}
.table-space table:not(:first-child):before,
.table-space table:not(:last-child):after {
  content: "";
}
.btn-tag {
  padding: 2px 8px;
  background-color: var(--lotto-background);
  color: var(--content-color);
  border-radius: 15px;
}
@keyframes ldio-68g4b00eac8 {
  0% {
    opacity: 1;
    backface-visibility: hidden;
    transform: translateZ(0) scale(1.2, 1.2);
  }
  100% {
    opacity: 0;
    backface-visibility: hidden;
    transform: translateZ(0) scale(1, 1);
  }
}
.ldio-68g4b00eac8 div > div {
  position: absolute;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: var(--brand-color);
  animation: 0.7692307692307692s linear infinite ldio-68g4b00eac8;
}
.ldio-68g4b00eac8 div:first-child > div {
  left: 77px;
  top: 42px;
  animation-delay: -0.673076923076923s;
}
.ldio-68g4b00eac8 > div:first-child {
  transform: rotate(0);
  transform-origin: 85px 50px;
}
.ldio-68g4b00eac8 div:nth-child(2) > div {
  left: 67px;
  top: 67px;
  animation-delay: -0.5769230769230769s;
}
.ldio-68g4b00eac8 > div:nth-child(2) {
  transform: rotate(45deg);
  transform-origin: 75px 75px;
}
.ldio-68g4b00eac8 div:nth-child(3) > div {
  left: 42px;
  top: 77px;
  animation-delay: -0.4807692307692307s;
}
.ldio-68g4b00eac8 > div:nth-child(3) {
  transform: rotate(90deg);
  transform-origin: 50px 85px;
}
.ldio-68g4b00eac8 div:nth-child(4) > div {
  left: 17px;
  top: 67px;
  animation-delay: -0.3846153846153846s;
}
.ldio-68g4b00eac8 > div:nth-child(4) {
  transform: rotate(135deg);
  transform-origin: 25px 75px;
}
.ldio-68g4b00eac8 div:nth-child(5) > div {
  left: 7px;
  top: 42px;
  animation-delay: -0.28846153846153844s;
}
.ldio-68g4b00eac8 > div:nth-child(5) {
  transform: rotate(180deg);
  transform-origin: 15px 50px;
}
.ldio-68g4b00eac8 div:nth-child(6) > div {
  left: 17px;
  top: 17px;
  animation-delay: -0.1923076923076923s;
}
.ldio-68g4b00eac8 > div:nth-child(6) {
  transform: rotate(225deg);
  transform-origin: 25px 25px;
}
.ldio-68g4b00eac8 div:nth-child(7) > div {
  left: 42px;
  top: 7px;
  animation-delay: -96ms;
}
.ldio-68g4b00eac8 > div:nth-child(7) {
  transform: rotate(270deg);
  transform-origin: 50px 15px;
}
.ldio-68g4b00eac8 div:nth-child(8) > div {
  left: 67px;
  top: 17px;
  animation-delay: 0s;
}
.ldio-68g4b00eac8 > div:nth-child(8) {
  transform: rotate(315deg);
  transform-origin: 75px 25px;
}
.loadingio-spinner-spin-hgd29ahypuk {
  width: 22px;
  height: 22px;
  display: inline-block;
  overflow: hidden;
  background: 0 0;
}
.ldio-68g4b00eac8 {
  width: 100%;
  height: 100%;
  position: relative;
  transform: translateZ(0) scale(0.22);
  backface-visibility: hidden;
  transform-origin: 0 0;
}
.ldio-68g4b00eac8 div {
  box-sizing: content-box;
}
.suggested-link {
  margin: 0;
  padding: 0;
  list-style: none;
}
.suggested-link li {
  width: 100%;
  margin: 0;
  list-style: none;
  padding: 4px 0 4px 20px;
  position: relative;
  line-height: 1.6;
}
.suggested-link li:not(:last-child) {
  padding-bottom: 6px;
}
.suggested-link li:last-child {
  padding-bottom: 4px;
}
.suggested-link li:before {
  content: "";
  position: absolute;
  left: 3px;
  top: 50%;
  margin-top: -5px;
  width: 0;
  height: 0;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 6px solid #444444;
}
.suggested-link li a {
  color: #0029ad;
  text-decoration: none !important;
  font-size: 16px;
  font-weight: 400;
  transition: color 0.15s ease-in-out;
}
.suggested-link li a:hover {
  color: #c00000;
  text-decoration: underline !important;
}
.post-list .post-item,
.post-relation .post-item:not(:last-child) {
  padding-bottom: 12px;
  border-bottom: 1px solid #ebebeb;
  margin-bottom: 12px;
}
.post-item {
  display: grid;
  grid-template-areas: "img title title" "img description description" "img description description";
  column-gap: 12px;
  row-gap: 6px;
}
.post-item .post-img {
  grid-area: img;
}
.post-item .post-title {
  grid-area: title;
  display: flex;
  align-items: end;
}
.snackbar,
.snackbar .leading {
  align-items: center;
  display: flex;
}
.post-item .post-description {
  grid-area: description;
}
.post-item .post-img img {
  width: 180px;
  height: 116px;
  border-radius: var(--border-radius-sm);
  object-fit: cover;
  object-position: center;
}
.post-menu {
  width: fit-content;
  background-color: #f8f9fa;
  border: 1px solid var(--line-color);
  border-radius: 5px;
  padding: 10px;
}
.post-menu .menu-title {
  margin-bottom: 0;
  text-align: center;
}
.post-menu .menu-list {
  padding-left: 1.5rem;
  margin-bottom: 0;
}
.post-menu a,
.quick-view-province li a {
  text-decoration: none;
}
.post-suggestion {
  padding: 5px 0;
  background-color: #fff;
}
.post-suggestion a {
  display: flex;
  text-decoration: none;
  color: var(--content-color);
  gap: 8px;
  padding: 5px 10px;
}
#ads-block-notice,
.snackbar p,
.tooltip-wrapper:hover .tooltip-text {
  display: block;
}
.post-suggestion img {
  width: 68px;
  min-width: 68px;
  height: 44px;
  border-radius: var(--border-radius-sm);
  object-fit: cover;
  object-position: center;
}
.snackbar {
  min-height: 44px;
  padding: 0;
  width: 100%;
  background: #fff2bc !important;
  gap: 3px;
  z-index: 1000;
  border: 1px solid var(--border-color);
  font-style: italic;
  vertical-align: baseline;
}
.snackbar .leading {
  width: 36px;
  min-width: 36px;
  height: 36px;
  justify-content: center;
}
.snackbar p {
  margin-bottom: 0;
  padding: 4px 0;
}
h1.list-title.text-uppercase.mb-2,
h2.list-title.text-uppercase.mb-2,
div.list-title.text-uppercase.mb-2 {
    background: none !important;
    border: 1px solid #9f9d9d !important;
    color: #333 !important;
    line-height: 1;
    font-size: 1em !important;
    text-transform: capitalize;
    font-weight: bold !important;
}
.snackbar .action {
  padding: 3px;
  color: var(--highlight-color);
  margin-right: 10px;
  font-style: italic;
  font-size: 16px;
}
.snackbar .action:hover {
  text-decoration: underline;
  text-underline-offset: 2px;
  cursor: pointer;
}
.snackbar .close {
  width: 32px;
  min-width: 32px;
  height: 32px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255, 255, 255, 0.5);
}
.pascal {
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 12px 0;
}
.keyword-group,
.tag-group {
  padding: 0;
  list-style: none;
  display: flex;
}
.pascal p {
  margin-bottom: 8px;
}
.pascal .pascal-table {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 10px;
}
.pascal .pascal-row {
  display: flex;
  align-items: center;
}
.pascal .pascal-row div {
  width: 25px;
  height: 25px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 2px solid var(--border-color);
  text-align: center;
  font-weight: 500;
}
.pascal .pascal-result {
  display: flex;
  align-items: center;
  gap: 4px;
}
.pascal .pascal-result div {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background-image: linear-gradient(180deg, #ff7e6f, #c52324);
  text-align: center;
  font-weight: 500;
  font-size: 21px;
  color: #fff;
}
.progress {
  height: 0.5rem;
}
.tag-group {
  flex-wrap: wrap;
  margin: -3px;
}
.tag-group li {
  float: left;
  height: 28px;
  line-height: 28px;
  position: relative;
  margin: 3px 3px 3px 16px;
  padding: 0 10px;
  -moz-border-radius-bottomright: 4px;
  -webkit-border-bottom-right-radius: 4px;
  border-bottom-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  -webkit-border-top-right-radius: 4px;
  border-top-right-radius: 4px;
  background-color: var(--line-color);
}
.tag-group li:before {
  content: "";
  float: left;
  position: absolute;
  top: 0;
  left: -10px;
  width: 0;
  height: 0;
  border-color: transparent var(--line-color) transparent transparent;
  border-style: solid;
  border-width: 16px 10px 16px 0;
}
.radio label:before,
.tag-group li:after {
  content: "";
  left: 0;
  background-color: #fff;
  position: absolute;
}
.tag-group li:after {
  top: 12px;
  float: left;
  width: 4px;
  height: 4px;
  -moz-border-radius: 2px;
  -webkit-border-radius: 2px;
  border-radius: 2px;
}
.footer a,
.footer ul li a,
.tag-group li a {
  text-decoration: none;
  color: var(--content-color);
}
.keyword-group {
  flex-wrap: wrap;
  margin: -4px;
}
.keyword-group li {
  margin: 4px;
  padding: 2px 8px;
  border-radius: var(--border-radius-sm);
  background-color: var(--dark-border-color);
}
.footer {
  background-color: var(--footer-background-color);
}
.footer a:hover {
  color: var(--sub-brand-color) !important;
  text-decoration: underline !important;
}
.tooltip-wrapper .tooltip-text {
  display: none;
  width: 80px;
  background-color: #000;
  color: #fff;
  text-align: center;
  padding: 4px;
  border-radius: 3px;
  font-size: 0.65rem;
  position: absolute;
  bottom: calc(100% + 10px);
  left: 50%;
  margin-left: -40px;
  z-index: 2;
}
.tooltip-wrapper .tooltip-text::after {
  content: " ";
  position: absolute;
  top: 100%;
  left: 50%;
  margin-left: -5px;
  border-width: 5px;
  border-style: solid;
  border-color: #000 transparent transparent;
}
#ads-block-notice::before {
  z-index: -1;
  content: "";
  position: absolute;
  opacity: 0.6;
  background: #1e1e1e;
  width: 100%;
  height: 100%;
}
#ads-block-notice .modal-dialog {
  top: 35%;
}
#ads-block-notice .modal-content {
  text-align: center;
}
#ads-block-notice .exclamation-icon,
#ads-block-notice .exclamation-icon .icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
#ads-block-notice .exclamation-icon {
  height: 115px;
  width: 115px;
  border-radius: 50%;
  background: linear-gradient(
    109deg,
    var(--brand-color),
    var(--sub-brand-color)
  ) !important;
  margin: auto;
}
#ads-block-notice .exclamation-icon .icon {
  height: 100px;
  width: 100px;
  background: #fff;
  border-radius: inherit;
}
#ads-block-notice .exclamation-icon .icon i {
  background: linear-gradient(var(--brand-color), var(--sub-brand-color) 100%);
  background-clip: text;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  font-size: 50px;
}
#ads-block-notice .modal-content p {
  font-size: 15px;
}
.download-btns {
  text-align: center;
  margin-bottom: 15px;
}
.download-btn-countdown {
  background: var(--brand-color);
  border-radius: 10px;
  border: none;
  color: #fff;
  display: inline-block;
  text-align: center;
  padding: 10px;
  outline: 0;
  cursor: pointer;
  width: 300px;
  margin-top: 15px;
}
.draw-code-mb,
.loading {
  color: var(--highlight-color);
}
.download-btn-countdown.countdown-loading {
  background: #ff5722;
}
.download-btn-countdown.countdown-done {
  background: var(--button-color);
}
.loading {
  font-size: 25px;
}
.quick-view-province {
  width: 100%;
  display: table;
  table-layout: fixed;
  text-transform: uppercase;
  padding-left: 0;
  margin-bottom: 0;
}
.quick-view-province li {
  text-align: center;
  display: table-cell;
  border: 1px solid #dddfe2;
  font-weight: 700;
  padding: 6px 0;
  font-size: 16px;
}
.draw-code-mb {
  width: 16.5%;
  font-size: 18px;
  float: left;
  height: 32px;
  line-height: 32px;
  font-weight: 700;
}
.logo-text {
  font-size: 24px;
  font-weight: 700;
  color: var(--brand-color);
  text-decoration: none;
}
.title-link-item,
.title-link-item a {
  color: var(--secondary-color);
  font-size: 16px;
}
.logo {
  float: left;
  padding: 10px 0;
}
.logo img {
  max-width: 100%;
  height: auto;
}
@media (max-width: 767px) {
  .logo img {
    width: 180px;
  }
}
.title-link-item a {
  font-weight: 400;
  text-decoration: underline;
}
.title-link-item {
  font-weight: 700;
}
.breadcrumb-item a {
  color: #666;
  font-size: 16px;
}
.draw_code {
  font-size: 15px !important;
  color: #00f !important;
  font-weight: 700 !important;
}
.result-header h2 {
  text-align: center;
  padding: 10px 0;
  position: relative;
  background: #fff2bc;
}
.result-header h2,
.result-header h2 a {
  font-size: 18px;
  color: var(--brand-color);
  font-weight: 700;
}
input[type="radio"] {
  margin: 4px 0 0;
  line-height: normal;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.radio label {
  position: relative;
  padding-left: 20px;
  margin-right: 15px;
  font-size: 13px;
  color: #343434;
  display: inline;
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer;
}
.radio input[type="radio"]:checked + label:before,
.radio + .radio input[type="radio"]:checked {
  border: 1px solid var(--brand-color);
}
.radio label:before {
  display: inline-block;
  width: 16px;
  height: 16px;
  top: 0;
  border: 1px solid #ccc;
  border-radius: 50%;
  -webkit-transition: border 0.15s ease-in-out;
  -o-transition: border 0.15s ease-in-out;
  transition: border 0.15s ease-in-out;
}
.radio input[type="radio"]:checked + label:after {
  -o-transform: scale(0.63);
  -ms-transform: scale(0.63);
  -moz-transform: scale(0.63);
  -webkit-transform: scale(0.63);
  transform: scale(0.63);
  line-height: 18px;
  -o-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.215, 1.33);
  -ms-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.215, 1.33);
  -moz-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.215, 1.33);
  -webkit-transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.215, 1.33);
  transition: transform 0.1s cubic-bezier(0.455, 0.03, 0.215, 1.33);
  background-color: var(--brand-color);
}
.radio label:after {
  display: inline-block;
  position: absolute;
  content: " ";
  width: 16px;
  height: 16px;
  left: 1px;
  top: 1px;
  border-radius: 50%;
  background-color: #555;
  -webkit-transform: scale(0, 0);
  -ms-transform: scale(0, 0);
  -o-transform: scale(0, 0);
  transform: scale(0, 0);
  -webkit-transition: -webkit-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -moz-transition: -moz-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  -o-transition: -o-transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
  transition: transform 0.1s cubic-bezier(0.8, -0.33, 0.2, 1.33);
}
.tr-tkgan td,
.tr-tkmaxgan td {
  font-size: 16px;
  border: 1px solid #e1e1e1;
}
.radio-border {
  padding: 9px;
  border: 1px solid #dfdfdf;
}
.label-quick-select {
  float: left;
  margin: 5px 15px 5px 0;
}
.number-col {
  width: 55px;
  padding-left: 2px;
  padding-right: 2px;
}
.number-col .form-check {
  margin-bottom: 2px;
}
.number-col .form-check-label {
  line-height: 1;
}
.tr-tkgan td {
  color: #900 !important;
  font-weight: 700;
}
.result-table-tkgan tr {
  height: 35px !important;
  text-align: center;
}
.tklotogan .result-table-tkgan {
  overflow: auto;
}
.weekdays {
  position: relative;
  display: block;
  padding: 6px 0;
  text-decoration: none;
  text-align: center;
  transition: background-color 0.15s ease, color 0.15s ease;
}

html body .weekdays.active,
html body .week-days.active {
  background-color: var(--brand-color, #c80505) !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
}

html body .weekdays:not(.active):hover,
html body .week-days:not(.active):hover {
  background-color: #f1f3f5 !important;
  color: var(--brand-color, #c80505) !important;
  text-decoration: none !important;
}
/* Additional helper styles for interactive features */
.loto-highlighted {
  background-color: #ffe066 !important;
  color: #c80505 !important;
  border-radius: 0 !important;
  transition: background-color 0.2s ease;
}
.flash-update {
  animation: flashBg 1s ease;
}
@keyframes flashBg {
  0% {
    background-color: #fffae6;
  }
  50% {
    background-color: #ffcc00;
  }
  100% {
    background-color: transparent;
  }
}
.scroll-to-top {
  display: none;
  position: fixed;
  bottom: 25px;
  right: 25px;
  z-index: 999;
  width: 42px;
  height: 42px;
  background: var(--brand-color, #c80505);
  color: #fff;
  border: none;
  border-radius: 0 !important;
  cursor: pointer;
  text-align: center;
  line-height: 42px;
  font-size: 18px;
}
.scroll-to-top:hover {
  background: var(--secondary-color, #0029ad);
  color: #fff;
}
#sidebar-menu.is-active {
  transform: translateX(0);
  visibility: visible;
}

/* Utility tools styling */
.sim-cell {
  transition: background-color 0.2s ease, transform 0.15s ease;
}
.sim-cell.bg-warning {
  background-color: #fff3cd !important;
  color: #856404 !important;
  font-weight: 800;
}
.dream-num-btn {
  font-size: 13px;
  letter-spacing: 0.5px;
  border-radius: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease;
}
.dream-num-btn:hover {
  transform: scale(1.08);
}
.dande-btn-toggle {
  border-radius: 0 !important;
  font-weight: 600;
  transition: all 0.15s ease;
}
.dande-btn-toggle:hover {
  transform: translateY(-1px);
}
.pascal-row div {
  font-weight: 600;
}

/* Analysis Article & Auto Post Styles */
.the-article-content {
  color: #2b2b2b;
  font-size: 16px;
  line-height: 1.75;
}
.the-article-content h2 {
  font-size: 1.15rem;
  font-weight: 700;
  line-height: 1.5;
  color: #1a202c;
  margin-bottom: 1rem;
}
.the-article-content h3 {
  font-size: 1.05rem;
  font-weight: 700;
  color: #dc2626;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  padding-left: 10px;
  border-left: 3px solid #dc2626;
}
.the-article-content p {
  margin-bottom: 0.85rem;
}
.imagecontainer {
  margin: 1.25rem 0;
  text-align: center;
  width: 100%;
}
.imagecontainer figure {
  display: block;
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
}
.imagecontainer img {
  width: 100%;
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 0 !important;
  transition: transform 0.25s ease;
}
.imagecontainer img:hover {
  transform: scale(1.01);
}
.imagecontainer figcaption {
  font-size: 13px;
  color: #64748b;
  font-style: italic;
  margin-top: 8px;
  font-weight: 500;
}
.the-article-author,
.author-box,
.prediction-author-box {
  display: none !important;
}

/* Analysis Archive & Cards */
.analysis-archive-wrapper .card {
  transition: transform 0.2s ease;
}
.analysis-archive-wrapper .card:hover {
  transform: translateY(-2px);
}
.hover-primary:hover {
  color: var(--brand-color, #c80505) !important;
}

/* WordPress Pagination */
.page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  padding: 0 10px;
  margin: 0 3px;
  font-size: 13px;
  font-weight: 600;
  text-decoration: none;
  color: #4b5563;
  background-color: #fff;
  border: 1px solid #d1d5db;
  border-radius: 0 !important;
  transition: all 0.15s ease;
}
.page-numbers:hover {
  background-color: #f3f4f6;
  color: var(--brand-color, #c80505);
  border-color: var(--brand-color, #c80505);
}
.page-numbers.current {
  background-color: var(--brand-color, #c80505);
  color: #fff;
  border-color: var(--brand-color, #c80505);
}
.page-numbers.dots {
  border: none;
  background: transparent;
}

/* Breadcrumbs Navigation Styling */
.xsv-breadcrumb .breadcrumb {
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0;
}
.xsv-breadcrumb .breadcrumb-item + .breadcrumb-item::before {
  content: "›";
  font-size: 16px;
  color: #94a3b8;
  padding: 0 6px;
}
.xsv-breadcrumb .breadcrumb-item a {
  color: #475569;
  transition: color 0.15s ease;
}
.xsv-breadcrumb .breadcrumb-item a:hover {
  color: var(--brand-color, #c80505);
}
.xsv-breadcrumb .breadcrumb-item.active {
  color: var(--brand-color, #c80505);
  font-weight: 600;
}

/* Quick Ticket Checker Form */
.quick-ticket-checker {
  border-radius: 0;
  overflow: hidden;
}
.quick-ticket-checker .card-header {
  border-bottom: 1px solid #f1f5f9;
}
.quick-ticket-checker input:focus,
.quick-ticket-checker select:focus {
  border-color: var(--brand-color, #c80505);
  outline: none;
}

/* Stat Matrix Table Enhancements */
#stat-matrix-table th,
#stat-matrix-table td {
  padding: 4px 2px;
  vertical-align: middle;
}
#stat-matrix-table tr:hover td {
  background-color: #f1f5f9 !important;
}
#stat-matrix-table td.bg-warning:hover {
  background-color: #fde047 !important;
}

/* Single Date Results & Navigation Toolbar */
.single-date-nav {
  padding: 6px 10px;
  border-radius: 0 !important;
  box-shadow: none !important;
  gap: 8px;
}
.single-date-nav-btn {
  display: inline-flex;
  align-items: center;
  padding: 4px 10px;
  font-size: 13px;
  font-weight: 500;
  color: #475569;
  background-color: #f8fafc;
  border: 1px solid #cbd5e1;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: none;
  line-height: 1.4;
  transition: all 0.15s ease-in-out;
  white-space: nowrap;
}
.single-date-nav-btn:hover {
  color: #fff;
  background-color: var(--brand-color, #c80505);
  border-color: var(--brand-color, #c80505);
  text-decoration: none;
}
.single-date-nav-btn i {
  font-size: 11px;
}
.single-date-nav-title {
  font-size: 16px;
  line-height: 1.4;
}
@media (max-width: 576px) {
  .single-date-nav {
    padding: 5px 6px;
    gap: 4px;
  }
  .single-date-nav-btn {
    padding: 3px 6px;
    font-size: 12px;
  }
  .single-date-nav-title {
    font-size: 13px;
  }
}
.single-date-wrapper .btn-outline-danger:hover {
  background-color: var(--brand-color, #c80505);
  color: #fff;
}

/* Unified News & Category Posts List ("Ngay Hàng Thẳng Lối") */
.news-list-container {
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 0 !important;
  box-shadow: none !important;
  margin-bottom: 20px;
}
/* Featured Hero First Post ("Bài đầu tiên to") */
.news-post-hero {
  display: block;
  padding: 16px;
  background: #fff;
  border-bottom: 2px solid #dee2e6;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease;
}
.news-post-hero:hover {
  background-color: #f8fafc;
}
.news-hero-thumb {
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
  background-color: #f1f5f9;
  border: 1px solid #dee2e6;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block;
}
.news-hero-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.news-hero-body {
  padding-top: 12px;
}
.news-hero-title {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.35;
  margin-top: 0;
  margin-bottom: 6px;
}
.news-hero-title a {
  color: #1e293b;
  text-decoration: none;
}
.news-hero-title a:hover {
  color: var(--brand-color, #c80505);
}
.news-hero-excerpt {
  font-size: 0.9375rem; /* 15px */
  color: #475569;
  line-height: 1.6;
  margin-bottom: 0;
}

.news-post-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 14px 16px;
  border-bottom: 1px solid #e9ecef;
  background: #fff;
  border-radius: 0 !important;
  box-shadow: none !important;
  transition: background-color 0.15s ease;
}
.news-post-item:last-child {
  border-bottom: 0;
}
.news-post-item:hover {
  background-color: #f8fafc;
}
.news-post-thumb {
  width: 180px;
  aspect-ratio: 16 / 9;
  flex-shrink: 0;
  overflow: hidden;
  background-color: #f1f5f9;
  border: 1px solid #dee2e6;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: block;
}
.news-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.news-post-body {
  flex: 1 1 auto;
  min-width: 0;
}
.news-post-title {
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1.35;
  margin-top: 0;
  margin-bottom: 4px;
}
.news-post-title a {
  color: #1e293b;
  text-decoration: none;
}
.news-post-title a:hover {
  color: var(--brand-color, #c80505);
}
.news-post-meta {
  font-size: 0.875rem; /* 14px */
  color: #64748b;
  margin-bottom: 6px;
  line-height: 1.4;
}
.news-post-excerpt {
  font-size: 0.875rem; /* 14px */
  color: #475569;
  line-height: 1.5;
  margin-bottom: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 576px) {
  .news-post-item {
    gap: 12px;
    padding: 12px;
  }
  .news-post-thumb {
    width: 120px;
  }
  .news-post-title {
    font-size: 0.95rem;
    line-height: 1.3;
  }
  .news-post-meta {
    font-size: 0.8rem;
  }
  .news-post-excerpt {
    font-size: 0.8rem;
    -webkit-line-clamp: 2;
  }
}

/* Collapsible Box (Rút gọn / Mở rộng) */
.xsv-collapsible-box {
  border-radius: 0 !important;
  border: 1px solid #e2e8f0 !important;
  background: #fff;
}
.xsv-collapsible-box .card-body {
  padding: 20px 22px;
}
.xsv-collapsible-wrapper {
  position: relative;
  overflow: hidden;
  transition: max-height 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}
.xsv-collapsible-fade {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 70px;
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.96) 100%
  );
  pointer-events: none;
  transition: opacity 0.3s ease;
}
.xsv-toggle-btn {
  font-size: 13.5px;
  letter-spacing: 0.2px;
  transition: all 0.2s ease;
}
.xsv-toggle-btn:hover {
  background-color: var(--brand-color, #c80505) !important;
  color: #fff !important;
  border-color: var(--brand-color, #c80505) !important;
}
.xsv-collapsible-content h2,
.xsv-collapsible-content h3 {
  font-size: 16px;
  font-weight: 700;
  color: #1e293b;
  margin-top: 16px;
  margin-bottom: 8px;
}
.xsv-collapsible-content h4 {
  font-size: 14.5px;
  font-weight: 600;
  color: #334155;
  margin-top: 10px;
  margin-bottom: 6px;
}
.xsv-collapsible-content p {
  margin-bottom: 10px;
  line-height: 1.68;
}
.xsv-collapsible-content ul,
.xsv-collapsible-content ol {
  padding-left: 22px;
  margin-bottom: 12px;
}
.xsv-collapsible-content li {
  margin-bottom: 6px;
}

/* ============================================================
   ĐỒNG BỘ KHÔNG BO VIỀN (ZERO BORDER RADIUS - HOÀN TOÀN VUÔNG GÓC)
   Áp dụng đồng bộ cho tất cả box, div, card, nút bấm, input, badge...
   ============================================================ */
:root {
  --border-radius-sm: 0 !important;
  --border-radius-full: 0 !important;
}

*,
*::before,
*::after {
  border-radius: 0 !important;
}

/* Ngoại lệ cho các quả bóng lồng quay số và chấm đèn live */
.raffle-ball,
.raffle-ball div,
.ball-mega645,
.ball-power655,
.pascal-row div,
.pascal-result div,
.live-dot-sm,
.live-indicator,
.spinner-border,
.cal-dot {
  border-radius: 50% !important;
}

.card,
.card-header,
.card-body,
.card-footer,
input,
select,
textarea,
.form-control,
.form-select,
.input-group,
.input-group-text,
.badge,
.alert,
.modal-content,
.dropdown-menu,
.pagination .page-link,
.list-group,
.list-group-item,
.breadcrumb,
.breadcrumb-item,
.xsv-collapsible-box,
.rounded,
.rounded-sm,
.rounded-pill,
.rounded-1,
.rounded-2,
.rounded-3,
.rounded-4,
.rounded-5,
.rounded-top,
.rounded-bottom,
.rounded-start,
.rounded-end,
.scroll-to-top,
.btn-tag,
.tag-group li,
.keyword-group li,
.post-item .post-img img,
.post-suggestion img,
.post-menu,
.option-results-btn,
.bg-clock,
.lottery-calendar-widget .cal-nav-btn,
.lottery-calendar-widget .cal-month-select,
.lottery-calendar-widget .cal-year-select,
.lottery-calendar-widget .cal-btn-today {
  border-radius: 0 !important;
}

/* ==========================================================================
   LOW PADDING & LOW MARGIN (HIGH INFORMATION DENSITY SPACING SYSTEM)
   ========================================================================== */
.card {
  margin-bottom: 8px !important;
}
.card-body {
  /*     padding: 10px 12px !important; */
}
.table-lottery td,
.table-lotto td {
  padding: 5px 6px !important;
}
.table-lottery th {
  padding: 5px 6px !important;
}
.list-group-item {
  position: relative !important;
  padding: 7px 12px 7px 26px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  font-size: 16px !important;
}

.list-group-item::before,
.widget .list-group-item::before,
.list-custom .list-group-item::before {
  content: "" !important;
  position: absolute !important;
  left: 10px !important;
  top: 50% !important;
  transform: none !important;
  margin: 0 !important;
  margin-top: -5px !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border-top: 5px solid transparent !important;
  border-bottom: 5px solid transparent !important;
  border-left: 6px solid #444444 !important;
  border-right: none !important;
  display: inline-block !important;
  border-radius: 0 !important;
  transition: border-left-color 0.15s ease-in-out;
}

.list-group-item.active::before {
  border-left-color: #0e0e0e !important;
}

.list-group-item:hover::before {
  border-left-color: var(--brand-color, #c80505) !important;
}

/* All widget li list style arrow */
.widget ul:not(.widget-list),
.list-custom ul,
.sidebar-left ul:not(.widget-list),
.sidebar-right ul:not(.widget-list) {
  list-style: none !important;
  padding-left: 0 !important;
  margin-bottom: 0 !important;
}

.widget li,
.list-custom li,
.sidebar-left li,
.sidebar-right li {
  position: relative !important;
  list-style: none !important;
  padding-left: 18px !important;
}

.widget li::before,
.list-custom li::before,
.sidebar-left li::before,
.sidebar-right li::before {
  content: "" !important;
  position: absolute !important;
  left: 3px !important;
  top: 50% !important;
  margin-top: -5px !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border-top: 5px solid transparent !important;
  border-bottom: 5px solid transparent !important;
  border-left: 6px solid #444444 !important;
  border-right: none !important;
  border-radius: 0 !important;
}

article.list-group-item,
.card .list-group-flush .list-group-item {
  display: block !important;
  padding: 10px 12px !important;
}

article.list-group-item::before,
.card .list-group-flush .list-group-item::before {
  display: none !important;
  content: none !important;
}

/* ==========================================================================
   Universal Zero Shadow & Text Shadow Reset (Flat Design for boxes, text, etc.)
   ========================================================================== */
*,
*::before,
*::after,
html body,
html body .card,
html body .card-header,
html body .card-body,
html body .card-footer,
html body .box,
html body .widget,
html body .btn,
html body .btn:hover,
html body .btn:focus,
html body .btn:active,
html body .btn-primary,
html body .btn-secondary,
html body .btn-outline-danger,
html body .btn-outline-primary,
html body .form-control,
html body .form-control:focus,
html body .form-select,
html body .form-select:focus,
html body .table,
html body .table-shadow,
html body .table-lottery,
html body .dropdown-menu,
html body .nav-bar .dropdown-list,
html body .menu,
html body .sidebar,
html body .breadcrumb,
html body .shadow,
html body .shadow-sm,
html body .shadow-lg,
html body .shadow-none,
html body .alert,
html body .badge,
html body .modal-content,
html body .modal-dialog,
html body .replay-live,
html body .quick-ticket-checker,
html body .sticky-menu,
html body header,
html body footer,
html body img,
html body figure img,
html body .scroll-to-top,
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body p,
html body span,
html body a,
html body table,
html body input,
html body select,
html body textarea {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  text-shadow: none !important;
}

/* ==========================================================================
   Section Header & Site Links (Matching xoso.com.vn layout & Flat Design)
   ========================================================================== */
html body .section-header,
.section-header {
  display: block !important;
  width: 100% !important;
  position: relative !important;
  background-color: #ffeca0 !important;
  background: #ffeca0 !important;
  border: 1px solid #dddfe2 !important;
  padding: 8px 12px !important;
  text-align: center !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
}

html body .section-header h2,
.section-header h2 {
  font-size: 18px !important;
  text-align: center !important;
  font-weight: 700 !important;
  margin: 0 0 3px 0 !important;
  padding: 0 !important;
  line-height: 1.35 !important;
}

html body .section-header h2 > a,
.section-header h2 > a {
  color: #ed1c25 !important;
  text-decoration: none !important;
}

html body .section-header h2 > a:hover,
.section-header h2 > a:hover {
  text-decoration: underline !important;
  color: #c80505 !important;
}

html body .site-link,
.site-link {
  display: block !important;
  width: 100% !important;
  
  font-weight: 400 !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
  color: #333333 !important;
  line-height: 1.45 !important;
  white-space: normal !important;
  word-wrap: break-word !important;
}

html body .site-link a,
.site-link a {
  display: inline-block !important;
  text-decoration: underline !important;
  color: #0029ad !important;
}

html body .site-link a:hover,
.site-link a:hover {
  color: #ed1c25 !important;
}

.site-link a + a:before {
  padding: 0 4px;
  color: #555555;
  content: "/ ";
  display: inline-block;
  text-decoration: none;
}

@media (max-width: 768px) {
  html body .section-header,
  .section-header {
    padding: 6px 8px !important;
  }
  html body .section-header h2,
  .section-header h2 {
    font-size: 15px !important;
    white-space: normal !important;
  }
  html body .site-link,
  .site-link {
    font-size: 13px !important;
    line-height: 1.45 !important;
    white-space: normal !important;
  }
  .site-link a + a:before {
    padding: 0 2px;
  }
}

/* ==========================================================================
   Live Note Bar (Standardized Single-Line Notification Bar)
   Replaces heavy countdown timer with light, responsive, zero-lag status line.
   ========================================================================== */
.live-note-bar {
  display: block;
  width: 100%;
  margin-bottom: 12px;
}

.live-note-item {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  min-height: 40px !important;
  padding: 8px 14px !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-align: center !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease-in-out;
}

/* State 3: Idle / Ngoài giờ (Chưa tới khung giờ xổ chiều) - Calm clear note */
.live-note-item.state-idle {
  background-color: #b5e4ff !important;
  border: 1px solid #0029cb !important;
  color: hsl(244, 100%, 50%) !important;
}


/* State 1: Upcoming / Sắp tới giờ xổ (Trước giờ quay 15 phút) - Amber pulsing */
.live-note-item.state-upcoming {
  background-color: #fff3cd !important;
  border: 1px solid #ffe69c !important;
  color: #664d03 !important;
}
.live-note-item.state-upcoming.blinking {
  animation: pulseUpcomingNote 2s infinite ease-in-out;
}
.live-note-item.state-upcoming:hover {
  background-color: #ffe69c !important;
  color: #493602 !important;
}
.live-note-item.state-upcoming .live-bell-icon {
  color: #d97706 !important;
  animation: ringBell 2s infinite ease-in-out;
}

/* State 2: Live / Đang quay thưởng (Đang trong giờ quay) - Red pulsing alert */
.live-note-item.state-live {
  background-color: #dc3545 !important;
  border: 1px solid #b02a37 !important;
  color: #ffffff !important;
}
.live-note-item.state-live.blinking {
  animation: pulseLiveNote 1.5s infinite ease-in-out;
}
.live-note-item.state-live:hover {
  background-color: #bb2d3b !important;
  color: #ffffff !important;
}
.live-note-item.state-live .live-note-text {
  color: #ffffff !important;
  font-weight: 700 !important;
}

/* Blinking animations & pulsing dot */
.live-dot-pulse {
  display: inline-block !important;
  width: 10px !important;
  height: 10px !important;
  margin-right: 8px !important;
  border-radius: 50% !important;
  background-color: #ffffff !important;
  box-shadow: 0 0 0 rgba(255, 255, 255, 0.7);
  animation: pulseDot 1.2s infinite ease-in-out;
  flex-shrink: 0;
}

@keyframes pulseDot {
  0% {
    transform: scale(0.9);
    opacity: 0.5;
  }
  50% {
    transform: scale(1.2);
    opacity: 1;
  }
  100% {
    transform: scale(0.9);
    opacity: 0.5;
  }
}

@keyframes pulseLiveNote {
  0%, 100% {
    background-color: #dc3545;
  }
  50% {
    background-color: #b02a37;
  }
}

@keyframes pulseUpcomingNote {
  0%, 100% {
    background-color: #fff3cd;
    border-color: #ffe69c;
  }
  50% {
    background-color: #ffe69c;
    border-color: #ffda6a;
  }
}

@keyframes ringBell {
  0%, 100% {
    transform: rotate(0deg);
  }
  10%, 30% {
    transform: rotate(-15deg);
  }
  20%, 40% {
    transform: rotate(15deg);
  }
  50% {
    transform: rotate(0deg);
  }
}

@media (max-width: 575px) {
  .live-note-item {
    font-size: 13.5px !important;
    padding: 7px 10px !important;
    min-height: 36px !important;
  }
}

/* Keno Live Countdown Banner Display */
.keno-timer-display {
  font-size: 72px;
  font-weight: 900;
  color: #c80505;
  line-height: 1;
  letter-spacing: 2px;

  display: inline-block;
}
.keno-countdown-label {
  font-size: 20px;
  font-weight: 700;
  color: #2563eb;
}
@media (max-width: 767px) {
  .keno-timer-display {
    font-size: 46px !important;
    letter-spacing: 1px;
  }
  .keno-countdown-label {
    font-size: 16px !important;
  }
}

/* Keno 10-Column Table Layout (Matching xosodaiphat format) */
.keno-table {
  width: 100% !important;
  border-collapse: collapse !important;
  border: 1px solid #d9d9d9 !important;
  background: #ffffff !important;
  table-layout: fixed !important;
  margin-bottom: 12px !important;
}
.keno-table td,
.keno-table th {
  border: 1px solid #dee2e6 !important;
  text-align: center !important;
  vertical-align: middle !important;
  padding: 6px 2px !important;
}
.keno-th-period {
  padding: 7px 12px !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #0029ad !important;
  background: #f8fafc !important;
  text-align: left !important;
}
.kn-number {
  width: 10% !important;
  height: 42px !important;
  font-size: 19px !important;
  font-weight: 700 !important;
  color: #1e293b !important;
  background: #ffffff !important;
  position: relative;
  transition: background-color 0.15s ease, color 0.15s ease;
}
.td-text16 {
  
  font-weight: 600 !important;
  padding: 6px 4px !important;
}
.bg-ligh {
  background: #f1f5f9 !important;
  color: #475569 !important;
}
.bgcolor-red {
  background: #c80505 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
}
.clred {
  color: #c80505 !important;
  font-weight: 700 !important;
}

/* Keno Live Ball Rolling / Spinning Numbers Animation ("Hiệu ứng nhảy số") */
.kn-number.ball-rolling {
  background: #fef08a !important;
  color: #b45309 !important;
  font-weight: 900 !important;
  animation: kenoBallPulse 0.15s infinite alternate !important;
}
@keyframes kenoBallPulse {
  0% {
    background-color: #fef08a;
    transform: scale(0.97);
  }
  100% {
    background-color: #fde047;
    transform: scale(1.03);
  }
}
.kn-number.ball-locked {
  background: #fee2e2 !important;
  color: #dc2626 !important;
  font-weight: 800 !important;
  animation: kenoBallFlash 0.5s ease-out !important;
}
@keyframes kenoBallFlash {
  0% {
    background: #fde047;
    transform: scale(1.18);
  }
  50% {
    background: #f87171;
    color: #ffffff;
    transform: scale(1.08);
  }
  100% {
    background: #fee2e2;
    color: #dc2626;
    transform: scale(1);
  }
}

@media (max-width: 767px) {
  .kn-number {
    
    height: 34px !important;
    padding: 2px 1px !important;
  }
  .td-text16 {
    font-size: 12px !important;
    padding: 4px 2px !important;
  }
  .keno-th-period {
    font-size: 13px !important;
    padding: 5px 8px !important;
  }
}

/* ==========================================================================
   Thống kê Lô Gan Pro Styles (Flat Design, No Radius, No Shadow)
   ========================================================================== */
.stat-tabs .btn {
  border-radius: 0 !important;
  font-size: 16px;
  padding: 6px 16px;
  box-shadow: none !important;
}

.stat-filter-card {
  border: 1px solid var(--border-color);
  background-color: #ffffff;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.stat-filter-card select,
.stat-filter-card input,
.stat-filter-card button {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.lo-gan-filter-bar {
  background-color: #f8f9fa;
  border-bottom: 1px solid var(--border-color);
  font-size: 13px;
}

.table-lo-gan {
  border-collapse: collapse !important;
  border: 1px solid var(--border-color);
}

.table-lo-gan th {
  background-color: #f4f6f8 !important;
  color: #333333;
  font-weight: 700;
  font-size: 13.5px;
  border-color: #e5e7eb !important;
  padding: 8px 6px !important;
}

.table-lo-gan td {
  border-color: #e5e7eb !important;
  vertical-align: middle;
  padding: 7px 6px !important;
}

.table-lo-gan tbody tr:hover {
  background-color: #fff8f8 !important;
}

.badge-gan {
  background-color: #dc3545;
  color: #ffffff;
  padding: 3px 8px;
  font-weight: 700;
  font-size: 13px;
  display: inline-block;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* ==========================================================================
   Synchronized 100% Widget Title & Card Header Design (White text, Not bold)
   ========================================================================== */
.list-title,
h1.list-title,
h2.list-title,
h3.list-title,
h4.list-title,
.card-header.list-title,
.card-header {
  background-color: var(--brand-color, #c80505) !important;
  color: #ffffff !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  padding: 8px 15px !important;
  margin-bottom: 0 !important;
  border: none !important;
  border-radius: 0 !important;
  line-height: 1.5 !important;
}

h1.list-title {
  margin-bottom: 8px !important;
  display: block !important;
  text-transform: uppercase !important;
}

.list-title a,
h1.list-title a,
h2.list-title a,
h3.list-title a,
h4.list-title a,
.card-header a {
  color: #ffffff !important;
  font-weight: 400 !important;
  text-decoration: none !important;
}

.list-title i,
h1.list-title i,
h2.list-title i,
h3.list-title i,
h4.list-title i,
.card-header i {
  color: #ffffff !important;
}

.list-title span,
.card-header span:not(.badge):not(.btn) {
  color: #ffffff !important;
  font-weight: 400 !important;
}

.card-header .badge,
.list-title .badge {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  border: 1px solid rgba(255, 255, 255, 0.4) !important;
  font-weight: 400 !important;
  font-size: 12px !important;
  border-radius: 0 !important;
}

.card-header .btn {
  background-color: #ffffff !important;
  color: var(--brand-color, #c80505) !important;
  border: 1px solid #ffffff !important;
  font-size: 12px !important;
  padding: 3px 12px !important;
  font-weight: 600 !important;
  border-radius: 0 !important;
}
.card-header .btn:hover {
  background-color: #f8fafc !important;
  color: #ba0404 !important;
}

.fw-normal {
  font-weight: 400 !important;
}

/* ==========================================================================
   Synchronized Button System (Normal Font 400, 100% Size, Zero Shadow, Zero Radius)
   ========================================================================== */
.btn,
button.btn,
a.btn,
button,
input[type="submit"],
input[type="button"],
input[type="reset"],
.tab-btn {
  border-radius: 0 !important;
  font-size: 100% !important;
  font-weight: 400 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  text-shadow: none !important;
  transition: all 0.15s ease-in-out;
}

.btn:hover,
.btn:focus,
.btn:active,
button:hover,
button:focus,
button:active {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  text-shadow: none !important;
}

.btn-sm,
.btn-xs {
  font-weight: 400 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Brand Red Solid Action Buttons */
.btn-danger,
.btn-brand,
.btn-primary {
  background-color: var(--brand-color, #c80505) !important;
  border-color: var(--brand-color, #c80505) !important;
  color: #ffffff !important;
}

.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-brand:hover,
.btn-brand:focus,
.btn-brand:active,
.btn-brand.active,
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active {
  background-color: #ba0404 !important;
  border-color: #ba0404 !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Brand Red Outline Buttons */
.btn-outline-danger,
.btn-outline-primary {
  background-color: transparent !important;
  border: 1px solid var(--brand-color, #c80505) !important;
  color: var(--brand-color, #c80505) !important;
}

.btn-outline-danger:hover,
.btn-outline-danger:focus,
.btn-outline-danger:active,
.btn-outline-danger.active,
.btn-outline-primary:hover,
.btn-outline-primary:focus,
.btn-outline-primary:active,
.btn-outline-primary.active {
  background-color: var(--brand-color, #c80505) !important;
  border-color: var(--brand-color, #c80505) !important;
  color: #ffffff !important;
  box-shadow: none !important;
}

/* Neutral Buttons (Clean Slate) */
.btn-outline-secondary,
.btn-light {
  border-radius: 0 !important;
  font-size: 100% !important;
  font-weight: 400 !important;
}

/* ==========================================================================
   Countdown Box (Zero Border, Zero Background, Big Crisp Typography)
   ========================================================================== */
.lottery-countdown-box {
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  border: none !important;
  padding: 10px 0 4px 0 !important;
}

.lottery-countdown-box .countdown-title-wrap {
  margin-bottom: 6px !important;
}

.lottery-countdown-box .countdown-title {
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: 0.3px;
  color: #1e293b !important;
}

.lottery-countdown-box .countdown-digits-row {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  margin: 6px 0 !important;
}

.lottery-countdown-box .countdown-card {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: none !important;
  background: transparent !important;
  padding: 0 !important;
  min-width: 68px !important;
  text-align: center !important;
}

.lottery-countdown-box .countdown-num {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  font-size: 48px !important;
  line-height: 1 !important;
  font-weight: 800 !important;
  letter-spacing: -1px !important;
  color: var(--brand-color, #c80505) !important;
}

.lottery-countdown-box .countdown-colon {
  font-size: 38px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  color: #94a3b8 !important;
  margin: 0 2px !important;
  position: relative !important;
  top: -8px !important;
}

.lottery-countdown-box .countdown-lbl {
  font-size: 13px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  color: #64748b !important;
  margin-top: 6px !important;
  letter-spacing: 0.5px !important;
}

.lottery-countdown-box .countdown-subtext {
  font-size: 13px !important;
  color: #64748b !important;
  margin-top: 6px !important;
}

@media (max-width: 576px) {
  .lottery-countdown-box .countdown-num {
    font-size: 38px !important;
  }
  .lottery-countdown-box .countdown-colon {
    font-size: 30px !important;
    top: -6px !important;
  }
  .lottery-countdown-box .countdown-card {
    min-width: 52px !important;
  }
}

.lottery-countdown-box .live-loader-gif {
  display: inline-block;
  vertical-align: middle;
}

.countdown-header {
  display: block;
  text-align: center;
  margin-bottom: 6px;
}

#live-status-text {
  line-height: 1.5;
}

#live-status-text a {
  color: var(--brand-color, #c80505) !important;
}

#live-status-text a:hover {
  color: #971111 !important;
}

/* ==========================================================================
   Lottery Calendar Widget (Kết Quả Theo Ngày)
   ========================================================================== */
.lottery-calendar-widget {
  background-color: #ffffff;
  border: 1px solid var(--border-color, #dee2e6);
  border-radius: 0 !important;
}

.lottery-calendar-widget .list-title {
  background-color: var(--brand-color, #c80505) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 8px 12px !important;
  margin-bottom: 0;
  border-top-left-radius: 4px;
  border-top-right-radius: 4px;
}

.lottery-calendar-widget .cal-controls {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 3px !important;
  padding: 6px 4px !important;
  background-color: #ffffff !important;
  border-bottom: 1px solid #dee2e6 !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.lottery-calendar-widget .cal-nav-btn,
html body .lottery-calendar-widget .cal-nav-btn,
html body .lottery-calendar-widget button.cal-nav-btn {
  width: 28px !important;
  min-width: 28px !important;
  max-width: 28px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  color: #495057 !important;
  font-size: 11px !important;
  line-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  transition: all 0.15s ease-in-out;
}

.lottery-calendar-widget .cal-nav-btn:hover,
html body .lottery-calendar-widget button.cal-nav-btn:hover {
  background-color: #f1f3f5 !important;
  color: var(--brand-color, #c80505) !important;
  border-color: #adb5bd !important;
}

.lottery-calendar-widget .cal-month-select {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 44px !important;
  max-width: 58px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 14px 0 4px !important;
  margin: 0 !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  color: #212529 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 30px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.lottery-calendar-widget .cal-year-select {
  flex: 1.2 1 auto !important;
  width: auto !important;
  min-width: 58px !important;
  max-width: 72px !important;
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 14px 0 4px !important;
  margin: 0 !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  color: #212529 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 30px !important;
  cursor: pointer !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.lottery-calendar-widget .cal-btn-today,
html body .lottery-calendar-widget .cal-btn-today,
html body .lottery-calendar-widget button.cal-btn-today {
  height: 32px !important;
  min-height: 32px !important;
  max-height: 32px !important;
  padding: 0 8px !important;
  margin: 0 !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  background-color: #e9ecef !important;
  color: #333333 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  line-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  flex-shrink: 0 !important;
  transition: all 0.15s ease-in-out;
}

.lottery-calendar-widget .cal-btn-today:hover,
html body .lottery-calendar-widget button.cal-btn-today:hover {
  background-color: #dee2e6 !important;
  color: #000000 !important;
  border-color: #adb5bd !important;
}

.lottery-calendar-widget .cal-table {
  table-layout: fixed;
  width: 100%;
  margin-bottom: 0;
  border-collapse: collapse;
}

.lottery-calendar-widget .cal-days-header th {
  font-size: 13px;
  font-weight: 600;
  padding: 7px 2px;
  background-color: #f8f9fa;
  border: 1px solid #dee2e6;
  color: #333333;
  text-align: center;
}

.lottery-calendar-widget .cal-days-header th.text-danger {
  color: var(--brand-color, #c80505) !important;
}

.lottery-calendar-widget .cal-cell {
  width: 14.285%;
  height: 44px;
  min-height: 44px;
  border: 1px solid #dee2e6;
  vertical-align: middle;
  position: relative;
  background-color: #ffffff;
  transition: background-color 0.15s;
  padding: 0 !important;
}

.lottery-calendar-widget .cal-cell.cal-empty {
  background-color: #fafafa;
}

.lottery-calendar-widget .cal-cell:not(.cal-empty):hover {
  background-color: #f0f2f5;
}

.lottery-calendar-widget .cal-cell.cal-today {
  background-color: #ffe58f !important;
}

.lottery-calendar-widget .cal-cell.cal-today:hover {
  background-color: #ffd666 !important;
}

.lottery-calendar-widget .cal-cell-link {
  display: flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  min-height: 44px;
  text-decoration: none;
  color: inherit;
  position: relative;
  padding: 2px;
}

.lottery-calendar-widget .cal-solar {
  font-size: 15px;
  font-weight: 700;
  line-height: 1;
}

.lottery-calendar-widget .cal-solar.text-danger {
  color: var(--brand-color, #c80505) !important;
}

.lottery-calendar-widget .cal-solar.text-dark {
  color: #212529 !important;
}

.lottery-calendar-widget .cal-dot {
  position: absolute;
  top: 4px;
  right: 5px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  display: inline-block;
  pointer-events: none;
}

.lottery-calendar-widget .cal-dot-red {
  background-color: #e02424;
}

.lottery-calendar-widget .cal-dot-grey {
  background-color: #adb5bd;
}

.lottery-calendar-widget .cal-lunar {
  position: absolute;
  bottom: 3px;
  right: 4px;
  font-size: 10px;
  line-height: 1;
  color: #6c757d;
  font-weight: 400;
  pointer-events: none;
}

.lottery-calendar-widget .cal-today .cal-lunar {
  color: #495057;
  font-weight: 500;
}

/* ==========================================================================
   1. Nav-Bar 50px & Synchronized Hover System (Box fits into Container)
   ========================================================================== */
@media (min-width: 992px) {
  html body .nav-wrapper-container {
    margin-top: 10px !important;
    margin-bottom: 0 !important;
  }

  html body .nav-bar {
    width: 100% !important;
    height: 50px !important;
    background-color: var(--brand-color, #c80505) !important;
    position: relative !important;
    z-index: 100 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  html body .nav-bar .nav-list {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
    list-style: none !important;
  }

  html body .nav-bar .nav-item {
    height: 100% !important;
    flex: 1 1 0 !important;
    position: relative !important;
    display: flex !important;
    align-items: stretch !important;
    justify-content: center !important;
    text-align: center !important;
  }

  html body .nav-bar .nav-link-item {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 4px !important;
    text-align: center !important;

    color: #ffffff !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    line-height: 1 !important;
    font-size: 15px !important;
    font-weight: 700 !important;
    transition: background-color 0.15s ease, color 0.15s ease;
  }

  /* Synchronized navbar link hover */
  html body .nav-bar .nav-link-item:hover,
  html body .nav-bar .nav-item:hover > .nav-link-item {
    background-color: var(--menu-hover-color, #971111) !important;
    color: #ffffff !important;
  }

  /* Dropdown anchored seamlessly at top: 50px */
  html body .nav-bar .dropdown-list {
    top: 50px !important;
    left: 0 !important;
    right: auto !important;
    min-width: 200px !important;
    background-color: var(--brand-color, #c80505) !important;
    border: 1px solid rgba(0, 0, 0, 0.15) !important;
    border-top: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    list-style: none !important;
    z-index: 999 !important;
  }

  /* Menu cuoi va ap chot quay vao trong (align right to prevent overflow) */
  html body .nav-bar .nav-item:last-child .dropdown-list,
  html body .nav-bar .nav-item:nth-last-child(2) .dropdown-list {
    left: auto !important;
    right: 0 !important;
  }

  html body .nav-bar .dropdown-item-link {
    width: 100% !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
    text-align: left !important;
  }

  html body .nav-bar .dropdown-item-link:last-child {
    border-bottom: none !important;
  }

  html body .nav-bar .dropdown-menu-links {
    display: block !important;
    width: 100% !important;
    padding: 0 16px !important;
    line-height: 40px !important;
    
    font-weight: 400 !important;
    color: #ffffff !important;
    background-color: var(--brand-color, #c80505) !important;
    text-decoration: none !important;
    text-align: left !important;
    white-space: nowrap !important;
    transition: background-color 0.15s ease;
  }

  html body .nav-bar .dropdown-menu-links:hover {
    background-color: var(--menu-hover-color, #971111) !important;
    color: #ffffff !important;
  }
}

/* ==========================================================================
   2. Header Standard Date/Time Display Near Logo (Only on Desktop XL >= 1200px)
   ========================================================================== */
@media (min-width: 1200px) {
  .today-info {
    display: inline-flex !important;
    align-items: center !important;
    margin-left: 20px !important;
    padding-left: 20px !important;
    border-left: 1px solid var(--border-color, #d9d9d9) !important;
    
    color: #495057 !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1199px) {
  .today-info {
    display: none !important;
  }
}

/* ==========================================================================
   3. Unified Breadcrumb System (Rank Math & Native Breadcrumbs)
   ========================================================================== */
html body .xsv-breadcrumb,
html body .breadcrumb-container,
html body nav[aria-label="breadcrumb"],
html body .rank-math-breadcrumb,
html body nav[aria-label="breadcrumbs"] {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin-bottom: 8px !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

html body .breadcrumb {
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 4px 0 !important;
  margin-bottom: 0 !important;

  list-style: none !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
}

html body .breadcrumb-item {
  color: #6c757d !important;
  display: inline-flex !important;
  align-items: center !important;
}

html body .breadcrumb-item a {
  color: #495057 !important;
  text-decoration: none !important;
  transition: color 0.15s ease;
}

html body .breadcrumb-item a:hover {
  color: var(--brand-color, #c80505) !important;
  text-decoration: underline !important;
}

html body .breadcrumb-item.active {
  color: var(--brand-color, #c80505) !important;
  font-weight: 500 !important;
}

html body .breadcrumb-item + .breadcrumb-item::before {
  content: "/" !important;
  padding: 0 8px !important;
  color: #adb5bd !important;
}

/* Rank Math Breadcrumbs Integration */
html body .rank-math-breadcrumb p {
  margin: 0 !important;
  padding: 4px 0 !important;
  color: #6c757d !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 0 !important;
  font-size: 0.875rem !important;
  line-height: 1.5 !important;
}

html body .rank-math-breadcrumb a {
  color: #495057 !important;
  text-decoration: none !important;
  transition: color 0.15s ease;
  display: inline-flex !important;
  align-items: center !important;
}

html body .rank-math-breadcrumb a:first-child::before {
  content: "" !important;
  display: inline-block !important;
  width: 14px !important;
  height: 14px !important;
  margin-right: 5px !important;
  vertical-align: -1px !important;
  background-color: currentColor !important;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z'/%3E%3C/svg%3E") !important;
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 20v-6h4v6h5v-8h3L12 3 2 12h3v8z'/%3E%3C/svg%3E") !important;
  -webkit-mask-size: contain !important;
  mask-size: contain !important;
  -webkit-mask-repeat: no-repeat !important;
  mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  mask-position: center !important;
}

html body .rank-math-breadcrumb a:hover {
  color: var(--brand-color, #c80505) !important;
  text-decoration: underline !important;
}

html body .rank-math-breadcrumb .separator {
  color: #adb5bd !important;
  margin: 0 8px !important;
  user-select: none !important;
}

html body .rank-math-breadcrumb .last {
  color: var(--brand-color, #c80505) !important;
  font-weight: 500 !important;
}

/* ==========================================================================
   4. Harmonized Form Controls & Buttons (Unified Standard Dimensions - 34px/38px)
   ========================================================================== */
/* Standard Inputs & Selects (38px height) */
html body .form-control:not(.form-control-sm):not(textarea),
html body .form-select:not(.form-select-sm),
html body input[type="text"]:not(.form-control-sm):not(.cal-nav-btn):not(.btn):not(.padding0),
html body input[type="date"]:not(.form-control-sm),
html body input[type="search"]:not(.form-control-sm),
html body input[type="number"]:not(.form-control-sm),
html body input[type="tel"]:not(.form-control-sm),
html body input[type="email"]:not(.form-control-sm),
html
  body
  select:not(.form-select-sm):not(.cal-month-select):not(.cal-year-select) {
  height: 38px !important;
  min-height: 38px !important;
  padding: 6px 12px !important;
  
  font-weight: 400 !important;
  line-height: 1.5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border: 1px solid var(--border-color, #ced4da) !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

/* Small Inputs & Selects (Harmonized 34px height) */
html body .form-control-sm:not(textarea),
html body .form-select-sm,
html body select.form-select-sm,
html body input.form-control-sm,
html body input[type="date"].form-control-sm,
html body input[type="text"].form-control-sm {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 4px 8px !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  border: 1px solid var(--border-color, #ced4da) !important;
  background-color: #ffffff !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

/* Textarea (Preserve multi-line height) */
html body textarea.form-control {
  height: auto !important;
  min-height: 60px !important;
  padding: 8px 12px !important;
  
  font-weight: 400 !important;
  line-height: 1.5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid var(--border-color, #ced4da) !important;
  box-sizing: border-box !important;
}

/* Standard Buttons (38px height) */
html
  body
  .btn:not(.btn-sm):not(.btn-xs):not(.close-sidebar-btn):not(.btn-close):not(
    .change-date-btn
  ):not(.scroll-to-top):not(.countdown-tab-btn):not(.cal-nav-btn):not(
    .cal-btn-today
  ),
html
  body
  button.btn:not(.btn-sm):not(.btn-xs):not(.close-sidebar-btn):not(
    .btn-close
  ):not(.change-date-btn):not(.scroll-to-top):not(.countdown-tab-btn):not(
    .cal-nav-btn
  ):not(.cal-btn-today),
html body a.btn:not(.btn-sm):not(.btn-xs),
html body input[type="submit"]:not(.btn-sm),
html body input[type="button"]:not(.btn-sm),
html body input[type="reset"]:not(.btn-sm) {
  height: 38px !important;
  min-height: 38px !important;
  padding: 6px 16px !important;
  
  font-weight: 600 !important;
  line-height: 1.5 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
}

/* Small Buttons (Harmonized 34px height) */
html body .btn-sm:not(.cal-nav-btn):not(.cal-btn-today):not(.btn-ticket-submit),
html body button.btn-sm:not(.cal-nav-btn):not(.cal-btn-today):not(.btn-ticket-submit),
html body a.btn-sm:not(.cal-nav-btn):not(.cal-btn-today):not(.btn-ticket-submit),
html body input.btn-sm,
html body .countdown-tab-btn {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  padding: 0 12px !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 32px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  vertical-align: middle !important;
}

/* Form focus state */
html body .form-control:focus,
html body .form-select:focus,
html body select:focus,
html body input:focus,
html body textarea:focus {
  border-color: var(--brand-color, #c80505) !important;
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  outline: 0 !important;
}

/* ==========================================================================
   Lottery Result Table Alignment & Responsive Grid Rules
   ========================================================================== */
html body .table-lottery {
  table-layout: fixed !important;
  width: 100% !important;
  border-collapse: collapse !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

html body .table-lottery td,
html body .table-lottery th {
  vertical-align: middle !important;
  text-align: center !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

html body .table-lottery td.first-col {
  white-space: nowrap !important;
  width: 12% !important;
}

@media (max-width: 767.98px) {
  html body #kqxs-box .table-lottery td,
  html body .table-lottery td {
    font-size: 16px !important;
    padding: 4px 2px !important;
    height: 36px !important;
  }
  html body #kqxs-box .table-lottery td.txt-special-prize,
  html body .table-lottery td.txt-special-prize {
    font-size: 20px !important;
  }
  html body .table-lottery td.first-col {
    
    padding: 4px 2px !important;
  }
}

@media (max-width: 480px) {
  html body #kqxs-box .table-lottery td,
  html body .table-lottery td {
    
    padding: 3px 1px !important;
    height: 34px !important;
  }
  html body #kqxs-box .table-lottery td.txt-special-prize,
  html body .table-lottery td.txt-special-prize {
    font-size: 17px !important;
  }
  html body .table-lottery td.first-col {
    font-size: 13px !important;
    padding: 3px 1px !important;
  }
}

/* ==========================================================================
   Comprehensive Site Footer (4 Columns - E-E-A-T & SEO Compliant)
   ========================================================================== */
.site-footer {
  border-top: 1px solid var(--border-color, #d9d9d9) !important;
  background-color: #ffffff !important;
  font-size: 16px !important;
}

.site-footer a {
  transition: color 0.15s ease-in-out !important;
}

.site-footer a:hover {
  color: var(--brand-color, #c80505) !important;
}

.site-footer .hover-danger:hover {
  color: var(--brand-color, #c80505) !important;
  text-decoration: underline !important;
}

.site-footer .footer-nav-primary a {
  color: #1e293b;
  font-weight: 500;
  text-decoration: none;
}

.site-footer .footer-nav-secondary a {
  color: #64748b;
  text-decoration: none;
}

.site-footer .footer-disclaimer {
  border-radius: 0 !important;
  box-shadow: none !important;
  line-height: 1.6;
}

/* ==========================================================================
   Institutional Pages (About, Author, Contact, Terms, Privacy, Disclaimer)
   ========================================================================== */
.institutional-page {
  line-height: 1.8 !important;
  font-size: 16px !important;
  color: #212529 !important;
}

.institutional-page h2 {
  margin-top: 24px !important;
  margin-bottom: 12px !important;
}

.author-profile-card {
  border: 1px solid var(--border-color, #d9d9d9) !important;
  background-color: #fcfcfc !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.author-profile-card .badge {
  border-radius: 0 !important;
  font-weight: 400 !important;
}

.contact-form .form-control,
.contact-form .form-select {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid #ced4da !important;
}

.contact-form .form-control:focus,
.contact-form .form-select:focus {
  border-color: var(--brand-color, #c80505) !important;
  box-shadow: none !important;
}

/* ==========================================================================
   Real-Time Traditional Lottery Live Drawing Engine (XSMB / XSMN / XSMT)
   Strictly adheres to Web Style Design Guide: Flat, No Radius, No Shadow
   ========================================================================== */
.cell-rolling {
  background-color: #fef08a !important;
  color: #c80505 !important;
  font-weight: 800 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  outline: none !important;
}

.runLoto {
  display: inline-block !important;
  font-family: inherit !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  color: #c80505 !important;
  letter-spacing: 0.5px !important;
}

.runLoto .runPrefix {
  color: #c80505 !important;
}

.runLoto .runDigits {
  color: #dc2626 !important;
  font-weight: 800 !important;
}

.cell-waiting {
  color: #adb5bd !important;
  font-style: italic !important;
  letter-spacing: 1px !important;
}

.flash-update {
  animation: flashNumberPrize 1.4s ease-out !important;
}
@keyframes flashNumberPrize {
  0% {
    background-color: #fee2e2;
    color: #dc2626;
    outline: 2px solid #ef4444;
  }
  50% {
    background-color: #fef08a;
    color: #b45309;
  }
  100% {
    background-color: transparent;
  }
}

.live-action-tools {
  gap: 6px;
}

.live-badge-status {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  background-color: #c80505;
  color: #ffffff;
  font-size: 12px !important;
  font-weight: 500 !important;
  padding: 2px 8px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  line-height: 1.4;
}

.live-beacon-dot {
  display: inline-block;
  width: 7px;
  height: 7px;
  background-color: #ffffff;
  border-radius: 50%;
  animation: liveBeaconPulse 0.9s infinite alternate;
}
@keyframes liveBeaconPulse {
  0% {
    opacity: 0.3;
    transform: scale(0.8);
  }
  100% {
    opacity: 1;
    transform: scale(1.2);
  }
}

.btn-audio-live {
  font-size: 13px !important;
  font-weight: 400 !important;
  padding: 3px 8px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid #ced4da !important;
  background-color: #ffffff !important;
  color: #495057 !important;
  line-height: 1.4 !important;
  cursor: pointer;
  transition: all 0.15s ease;
}
.btn-audio-live:hover {
  background-color: #f8f9fa !important;
  border-color: #6c757d !important;
}

.loto-cell-flash {
  animation: flashLotoCell 1.2s ease-out !important;
}
@keyframes flashLotoCell {
  0% {
    background-color: #fee2e2;
  }
  50% {
    background-color: #fef08a;
  }
  100% {
    background-color: transparent;
  }
}

/* Live Status Header Bar inside Lottery Box */
.live-status-bar {
  background-color: #fff7ed !important;
  border-bottom: 2px solid #ea580c !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.live-status-bar .live-beacon-dot {
  background-color: #dc2626 !important;
  outline: 2px solid rgba(220, 38, 38, 0.4) !important;
  box-shadow: none !important;
}

.live-status-bar .live-active-badge {
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  letter-spacing: 0.5px;
  padding: 3px 6px !important;
}

/* ==========================================================================
   Province Draw Status Indicators (Sidebar Navigation)
   ========================================================================== */
.province-draw-indicator {
  display: inline-flex;
  align-items: center;
  line-height: 1;
  margin-left: auto;
}

.draw-indicator-badge {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.draw-indicator-badge .badge-live-dangxo {
  background-color: var(--highlight-color, #ff3110) !important;
  color: #ffffff !important;
  font-size: 10px !important;
  padding: 1px 4px !important;
  line-height: 14px !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  text-transform: uppercase;
  letter-spacing: 0.2px;
  display: inline-block;
}

.draw-indicator-badge .badge-draw-time {
  background-color: #f8f9fa !important;
  color: #6c757d !important;
  border: 1px solid #dcdcdc !important;
  font-size: 10px !important;
  padding: 0 4px !important;
  line-height: 14px !important;
  font-weight: 400 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  display: inline-block;
}

.draw-indicator-badge.status-done {
  display: inline-flex;
  align-items: center;
  line-height: 1;
}

.draw-indicator-badge.status-done i.fa-check-circle {
  
  color: #198754 !important;
  line-height: 1;
}

/* Active item contrast states */
.list-group-item.active .province-draw-indicator .badge-live-dangxo {
  background-color: #ffffff !important;
  color: var(--highlight-color, #ff3110) !important;
  font-weight: 500 !important;
}

.list-group-item.active .province-draw-indicator .badge-draw-time {
  background-color: rgba(255, 255, 255, 0.2) !important;
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.4) !important;
}

.list-group-item.active
  .province-draw-indicator
  .draw-indicator-badge.status-done
  i.fa-check-circle {
  color: #ffffff !important;
}

/* ==========================================================================
   Today Draw Provinces Block ("Các đài xổ hôm nay" on Homepage)
   Table 3 cột responsive, không bôi đậm chữ, dấu tích xanh gọn gàng
   ========================================================================== */
.today-draw-provinces-block {
  border: 1px solid #dee2e6 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 100% !important;
  background-color: #ffffff;
  width: 100%;
}

.today-draw-header {
  background-color: #f8f9fa !important;
  border-bottom: 1px solid #dee2e6 !important;
  border-radius: 0 !important;
  padding: 8px 12px !important;
  font-size: 100% !important;
}

.today-draw-header .today-draw-title {
  font-size: 100% !important;
  font-weight: 700 !important;
  letter-spacing: 0.2px;
  line-height: 1.4 !important;
  margin: 0 !important;
}

.today-draw-table-wrap {
  width: 100%;
  overflow: hidden;
}

.today-draw-table {
  width: 100% !important;
  table-layout: fixed !important;
  border-collapse: collapse !important;
  margin: 0 !important;
  border: none !important;
}

/* Color-shifting animated lottery ball with running numbers for live stations */
@keyframes stationBallColorShift {
  0% {
    background-color: #ef4444; /* Đỏ */
  }
  20% {
    background-color: #f59e0b; /* Vàng cam */
  }
  40% {
    background-color: #10b981; /* Lục */
  }
  60% {
    background-color: #06b6d4; /* Xanh lơ */
  }
  80% {
    background-color: #8b5cf6; /* Tím */
  }
  100% {
    background-color: #ef4444; /* Đỏ */
  }
}

.station-live-ball {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 20px !important;
  height: 20px !important;
  min-width: 20px !important;
  max-width: 20px !important;
  border-radius: 50% !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  animation: stationBallColorShift 2.2s infinite linear !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border: none !important;
  user-select: none !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}

.today-region-title {
  font-weight: 700 !important;
  color: #212529 !important;
  text-decoration: none !important;
  font-size: 100% !important;
}

.today-region-title:hover {
  color: #dc3545 !important;
}

.today-region-time {
  color: #6c757d !important;
  font-size: 85% !important;
  font-weight: 400 !important;
}

.today-col-td {
  width: 25% !important;
  max-width: 25% !important;
  vertical-align: top !important;
  border: 1px solid #dee2e6 !important;
  background-color: #ffffff !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

.today-station-list {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
}

.today-station-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 6px 10px !important;
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  box-sizing: border-box !important;
  border-bottom: 1px solid #f0f0f0 !important;
  color: #212529 !important;
  text-decoration: none !important;
  
  font-weight: 400 !important;
  background-color: #ffffff !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.today-station-row:last-child {
  border-bottom: none !important;
}

.today-station-row:hover {
  background-color: #f8f9fa !important;
  color: #c80505 !important;
}

.today-station-row.today-station-empty {
  cursor: default !important;
  background-color: #ffffff !important;
  user-select: none !important;
  pointer-events: none !important;
}

.today-station-row.today-station-empty:hover {
  background-color: #ffffff !important;
  color: inherit !important;
}

.today-station-row .station-name {
  font-weight: 400 !important;
  color: inherit;
  
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.2 !important;
}

.today-station-row .station-status {
  flex-shrink: 0 !important;
  margin-left: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
}

.today-station-row .station-tick {
  color: #198754 !important;
  font-size: 13px !important;
}

/* Keno Multicolor Rotating Animated Raffle Icon */
@keyframes kenoSpinAnim {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.keno-spin-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: 5px !important;
  flex-shrink: 0 !important;
  vertical-align: middle !important;
}

.keno-spin-icon {
  display: inline-block !important;
  vertical-align: middle !important;
  width: 16px !important;
  height: 16px !important;
  animation: kenoSpinAnim 2.2s linear infinite !important;
  transform-origin: center center !important;
}

.keno-live-tag {
  font-size: 9px !important;
  font-weight: 700 !important;
  color: #ffffff !important;
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%) !important;
  padding: 1px 4px !important;
  border-radius: 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
  display: inline-flex !important;
  align-items: center !important;
}

@media (max-width: 575.98px) {
  .station-live-ball {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    font-size: 10px !important;
  }
  .today-station-row {
    height: 32px !important;
    min-height: 32px !important;
    max-height: 32px !important;
    padding: 4px 5px !important;
    font-size: 12px !important;
  }
  .today-station-row .station-name {
    font-size: 12px !important;
  }
  .keno-spin-icon {
    width: 13px !important;
    height: 13px !important;
  }
  .today-station-row .station-tick {
    font-size: 11px !important;
  }
  .keno-live-tag {
    font-size: 8px !important;
    padding: 1px 3px !important;
  }
}

/* Hide text labels in narrow sidebar navigation */
#province_mb_left .status-done-text,
#province_mn_left .status-done-text,
#province_mt_left .status-done-text,
#widget_provinces_by_region .status-done-text,
#province_mb_left .status-waiting-text,
#province_mn_left .status-waiting-text,
#province_mt_left .status-waiting-text,
#widget_provinces_by_region .status-waiting-text {
  display: none !important;
}

/* Clean Unified Province Widget Collapsible Styles */
.province-region-group {
  border-bottom: 1px solid #ebebeb;
}
.province-region-group:last-child {
  border-bottom: none;
}

.province-region-toggle {
  background-color: #f8f9fa !important;
  color: #2b2b2b !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  padding: 8px 15px !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  cursor: pointer !important;
  user-select: none !important;
  border-bottom: 1px solid #ebebeb !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.province-region-toggle:hover {
  background-color: #f1f3f5 !important;
  color: var(--brand-color, #c80505) !important;
}

.province-region-toggle.is-open {
  background-color: #f1f3f5 !important;
  color: var(--brand-color, #c80505) !important;
  border-bottom: 1px solid #e0e0e0 !important;
}

.province-region-toggle .region-arrow {
  
  color: #888888;
  transition: transform 0.2s ease, color 0.2s ease;
}

.province-region-toggle.is-open .region-arrow {
  transform: rotate(90deg) !important;
  color: var(--brand-color, #c80505) !important;
}

/* Minimalist Clean Widget Lists with Black Triangular Bullet - 100% Synchronized Across All Sidebars */
.widget-list,
.widget .widget-list,
.sidebar-left .widget-list,
.sidebar-right .widget-list,
.province-region-group .widget-list,
.sidebar-left .province-region-group .widget-list {
  margin: 0 !important;
  padding: 6px 15px 8px 15px !important;
  list-style: none !important;
  background: #ffffff !important;
}

.widget-list li,
.widget .widget-list li,
.sidebar-left .widget-list li,
.sidebar-right .widget-list li,
.province-region-group .widget-list li {
  position: relative !important;
  list-style: none !important;
  margin: 0 !important;
  padding: 5px 0 5px 20px !important;
  line-height: 1.6 !important;
  border: none !important;
  background: transparent !important;
}

.widget-list li:before,
.widget .widget-list li:before,
.sidebar-left .widget-list li:before,
.sidebar-right .widget-list li:before,
.province-region-group .widget-list li:before {
  content: "" !important;
  position: absolute !important;
  left: 3px !important;
  top: 50% !important;
  margin-top: -5px !important;
  width: 0 !important;
  height: 0 !important;
  background: transparent !important;
  border-top: 5px solid transparent !important;
  border-bottom: 5px solid transparent !important;
  border-left: 6px solid #444444 !important;
  border-right: none !important;
  border-radius: 0 !important;
  transition: border-left-color 0.15s ease-in-out !important;
}

.widget-list li a,
.widget .widget-list li a,
.sidebar-left .widget-list li a,
.sidebar-right .widget-list li a {
  color: #0029ad !important;
  text-decoration: none !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  transition: color 0.15s ease-in-out !important;
}

.widget-list li a:hover,
.widget .widget-list li a:hover,
.sidebar-left .widget-list li a:hover,
.sidebar-right .widget-list li a:hover {
  color: #c00000 !important;
  text-decoration: underline !important;
}

.widget-list li:hover:before,
.widget .widget-list li:hover:before,
.sidebar-left .widget-list li:hover:before,
.sidebar-right .widget-list li:hover:before {
  border-left-color: #c00000 !important;
}

.widget-list li.active a,
.widget .widget-list li.active a,
.sidebar-left .widget-list li.active a,
.sidebar-right .widget-list li.active a {
  color: #c80505 !important;
  font-weight: 600 !important;
}

.widget-list li.active:before,
.widget .widget-list li.active:before,
.sidebar-left .widget-list li.active:before,
.sidebar-right .widget-list li.active:before {
  border-left-color: #c80505 !important;
}

/* ==========================================================================
   Dedicated Live Draw Pages (/truc-tiep-xsmb/, /truc-tiep-xsmn/, /truc-tiep-xsmt/)
   ========================================================================== */
.live-region-switcher {
  border-radius: 0 !important;
  box-shadow: none !important;
  gap: 4px;
  flex-wrap: nowrap !important;
}

.live-region-switcher .btn {
  border-radius: 0 !important;
  box-shadow: none !important;
  
  padding: 6px 8px !important;
  flex: 1 1 0 !important;
  min-width: 0 !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 480px) {
  .live-region-switcher .btn {
    font-size: 13px !important;
    padding: 6px 4px !important;
  }
}

@media (max-width: 360px) {
  .live-region-switcher .btn {
    font-size: 12px !important;
    padding: 5px 2px !important;
  }
}

#kqxs-live-box.is-live-page {
  border: 1px solid #dc2626 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.live-control-header {
  background-color: #dc2626 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 6px 12px !important;
}

/* ==========================================================================
   Live Rolling Cells & Animated Lottery Balls
   ========================================================================== */
.cell-rolling-content,
.cell-rolling .number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.cell-rolling .rolling-digits {
  font-size: 105% !important;
  color: #dc2626 !important;
  letter-spacing: 0.5px !important;
}

.live-spin-icon {
  display: inline-block !important;
  vertical-align: middle !important;
  animation: kenoSpinAnim 1.6s linear infinite !important;
  transform-origin: center center !important;
  flex-shrink: 0 !important;
}

.live-pending-ball {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  opacity: 0.85;
}

/* ==========================================================================
   Header Layout, Logo & Quick Ticket Form Alignment
   ========================================================================== */
html body header.header,
html body header:not(.section-header) {
  background-color: transparent !important;
  border: none !important;
}

html body .header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: nowrap !important;
  width: 100% !important;
  min-height: 52px !important;
  padding: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body .logo {
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  line-height: 1 !important;
  text-decoration: none !important;
}

.logo-header-img {
  width: var(--xsv-logo-width, 220px);
  max-width: 100%;
  height: auto;
  max-height: 70px;
  object-fit: contain;
  object-position: left center;
  display: block;
  margin: 0 !important;
  padding: 0 !important;
}

.brand-text-logo {
  display: inline-flex;
  align-items: center;
  font-size: 1.45rem;
  line-height: 1.2;
  text-decoration: none;
  letter-spacing: -0.5px;
  margin: 0 !important;
}

.logo-sidebar-img {
  max-height: 38px;
  width: auto;
  object-fit: contain;
  display: block;
}

@media (min-width: 992px) {
  html body .header-ticket-wrap {
    margin: 0 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
    padding: 0 calc(var(--bs-gutter-x, 24px) * .5) !important;
    display: flex !important;
    align-items: center !important;
    flex-shrink: 0 !important;
  }

  html body .header .menu-btn {
    display: none !important;
  }
}

@media (max-width: 991px) {
  html body .header-ticket-wrap {
    display: none !important;
  }

  html body .btn-doso-header {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    height: 38px !important;
    padding: 0 11px !important;
    
    font-weight: 500 !important;
    line-height: 1 !important;
    color: #ffffff !important;
    background-color: var(--brand-color, #c80505) !important;
    border: 1px solid var(--brand-color, #c80505) !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    text-shadow: none !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    transition: background-color 0.15s ease-in-out !important;
  }

  html body .btn-doso-header:hover,
  html body .btn-doso-header:focus {
    background-color: var(--menu-hover-color, #971111) !important;
    border-color: var(--menu-hover-color, #971111) !important;
    color: #ffffff !important;
  }

  html body .header .menu-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-end !important;
    height: 38px !important;
    max-height: 38px !important;
    width: 28px !important;
    min-width: 28px !important;
    border-radius: 0 !important;
    border: none !important;
    outline: none !important;
    background-color: transparent !important;
    background: transparent !important;
    color: #000000 !important;
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    text-shadow: none !important;
    margin: 0 !important;
    margin-right: 0 !important;
    cursor: pointer !important;
    padding: 0 !important;
    line-height: 1 !important;
    transition: opacity 0.15s ease-in-out !important;
  }

  html body .header .menu-btn:hover,
  html body .header .menu-btn:focus {
    background-color: transparent !important;
    border: none !important;
    outline: none !important;
    color: #000000 !important;
    opacity: 0.75 !important;
  }

  html body .header .menu-btn .menu-icon-3bars,
  html body .header .menu-btn .menu-icon-4bars {
    display: block !important;
    width: 26px !important;
    height: 20px !important;
    stroke: #000000 !important;
    margin-left: auto !important;
    margin-right: 0 !important;
  }

  @media (max-width: 576px) {
    .logo-header-img {
      max-width: 175px !important;
      height: auto !important;
    }
  }
}

/* ==========================================================================
   Header Ticket Box (Minh Ngọc / XSKT style - Compact Standard Bootstrap 5 Grid)
   ========================================================================== */
html body .ticket-box,
html body .header-ticket-box {
  width: 350px !important;
  max-width: 360px !important;
  background-color: #feffe4 !important;
  border: 1.5px solid #c85b01 !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  box-shadow: none !important;
  margin: 0 !important;
  flex-shrink: 0 !important;
}

html body .ticket-box .card-header,
html body .header-ticket-header {
  background: linear-gradient(180deg, #ffcd00 0%, #ff9900 100%) !important;
  border-bottom: 1px solid #c85b01 !important;
  padding: 2px 8px !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #000000 !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  text-overflow: ellipsis !important;
  overflow: hidden !important;
  letter-spacing: 0.1px !important;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}

html body .ticket-box .card-body,
html body .header-ticket-body {
  padding: 4px 8px 5px !important;
  background-color: #feffe4 !important;
  margin: 0 !important;
}

html body .ticket-box .row {
  margin-left: -3px !important;
  margin-right: -3px !important;
}

html body .ticket-box .col-6 {
  padding-left: 3px !important;
  padding-right: 3px !important;
}

/* Row 1 & Row 2 alignment: exact same horizontal guides */
html body .ticket-box .col-6:first-child .form-label {
  width: 40px !important;
  min-width: 40px !important;
  text-align: right !important;
  padding-right: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #000000 !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

html body .ticket-box .col-6:last-child .form-label,
html body .ticket-box .btn-spacer {
  width: 30px !important;
  min-width: 30px !important;
  text-align: right !important;
  padding-right: 4px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #000000 !important;
  margin: 0 !important;
  white-space: nowrap !important;
  display: inline-block !important;
}

/* High specificity to override 34px form-control-sm rule */
html body .ticket-box input.form-control,
html body .ticket-box select.form-select,
html body .ticket-box input[type="date"],
html body .ticket-box input[type="text"],
html body .header-ticket-input,
html body .header-ticket-select {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 24px !important;
  min-height: 24px !important;
  max-height: 24px !important;
  padding: 1px 4px !important;
  font-size: 12px !important;
  line-height: 20px !important;
  background-color: #ffffff !important;
  border: 1px solid #767676 !important;
  border-radius: 0 !important;
  color: #000000 !important;
  outline: none !important;
  box-sizing: border-box !important;
}

html body .ticket-box select.form-select,
html body .header-ticket-prov {
  padding: 1px 16px 1px 4px !important;
  font-size: 11.5px !important;
}

html body .ticket-box input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.6;
  padding: 0;
  margin: 0;
  width: 14px;
  height: 14px;
}

html body .ticket-box input.form-control:focus,
html body .ticket-box select.form-select:focus,
html body .header-ticket-input:focus,
html body .header-ticket-select:focus {
  border-color: #c85b01 !important;
  box-shadow: 0 0 0 1.5px rgba(200, 91, 1, 0.25) !important;
}

html body .ticket-box button.btn-sm,
html body .ticket-box button.btn,
html body .ticket-box .btn-ticket-submit,
html body .btn-doveso-submit {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  width: 100% !important;
  height: 28px !important;
  min-height: 28px !important;
  padding: 0 10px !important;
  background: var(--brand-color, #c80505) !important;
  border: 1px solid var(--brand-color, #c80505) !important;
  border-radius: 0 !important;
  color: #ffffff !important;
  font-weight: 400 !important;
  font-size: 13px !important;
  cursor: pointer !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  text-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.15s ease-in-out !important;
}

html body .ticket-box .btn-ticket-submit:hover,
html body .btn-doveso-submit:hover {
  background: #a30404 !important;
  border-color: #a30404 !important;
  box-shadow: none !important;
  transform: none !important;
}

/* ==========================================================================
   Page Ticket Checker Box (/do-ve-so/)
   To rộng, chữ lớn, cân xứng hoàn hảo trên cả desktop và mobile, KHÔNG ICON
   ========================================================================== */
html body .page-ticket-checker-box {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 0 20px !important;
  background-color: #ffffff !important;
  border: 2px solid var(--brand-color, #c80505) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
}

html body .page-ticket-checker-box .card-header {
  background: var(--brand-color, #c80505) !important;
  border-bottom: 2px solid #a30404 !important;
  padding: 10px 16px !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

html body .page-ticket-checker-box .card-body {
  padding: 16px 20px !important;
  background-color: #fffef8 !important;
  margin: 0 !important;
}

html body .page-ticket-checker-box .form-label {
  font-size: 15.5px !important;
  font-weight: 700 !important;
  color: #111827 !important;
  margin-bottom: 6px !important;
  display: block !important;
}

/* 3 Quick Date Buttons Group */
html body .page-ticket-checker-box .date-preset-group {
  border-radius: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  width: 100% !important;
}

html body .page-ticket-checker-box .date-preset-group .date-preset-btn {
  flex: 1 1 0% !important;
  background-color: #ffffff !important;
  border: 1.5px solid #c85b01 !important;
  color: #c85b01 !important;
  font-size: 14.5px !important;
  font-weight: 600 !important;
  padding: 6px 8px !important;
  height: 42px !important;
  line-height: 28px !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  cursor: pointer !important;
  text-align: center !important;
  white-space: nowrap !important;
  transition: all 0.15s ease-in-out !important;
}

html body .page-ticket-checker-box .date-preset-group .date-preset-btn + .date-preset-btn {
  border-left: none !important;
}

html body .page-ticket-checker-box .date-preset-group .date-preset-btn:hover,
html body .page-ticket-checker-box .date-preset-group .date-preset-btn.active {
  background-color: #c85b01 !important;
  color: #ffffff !important;
}

/* Input Fields */
html body .page-ticket-checker-box input[type="date"],
html body .page-ticket-checker-box select.form-select {
  height: 50px !important;
  font-size: 16.5px !important;
  font-weight: 600 !important;
  border: 1.5px solid #c85b01 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: #ffffff !important;
  color: #111827 !important;
  padding: 6px 12px !important;
  box-sizing: border-box !important;
  outline: none !important;
}

html body .page-ticket-checker-box select.form-select {
  padding-right: 32px !important;
}

html body .page-ticket-checker-box input.ticket-number-input {
  height: 50px !important;
  font-size: 24px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  text-align: center !important;
  color: #c80505 !important;
  border: 2px solid #ef4444 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: #ffffff !important;
  padding: 4px 12px !important;
  box-sizing: border-box !important;
  outline: none !important;
}

html body .page-ticket-checker-box input:focus,
html body .page-ticket-checker-box select:focus {
  border-color: #c80505 !important;
  box-shadow: 0 0 0 2px rgba(200, 5, 5, 0.25) !important;
}

/* Submit Button - Perfectly aligned with ticket input */
html body .page-ticket-checker-box .btn-submit-checker {
  height: 50px !important;
  font-size: 17px !important;
  font-weight: 400 !important;
  background-color: var(--brand-color, #c80505) !important;
  border: 1px solid #990000 !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  cursor: pointer !important;
  padding: 0 16px !important;
  box-sizing: border-box !important;
  transition: background-color 0.15s ease-in-out !important;
}

html body .page-ticket-checker-box .btn-submit-checker:hover {
  background-color: #a30404 !important;
  border-color: #800000 !important;
  box-shadow: none !important;
}

/* Mobile Viewport Optimization (360px - 414px) */
@media (max-width: 576px) {
  html body .page-ticket-checker-box .card-body {
    padding: 12px !important;
  }
  html body .page-ticket-checker-box .date-preset-group .date-preset-btn {
    height: 38px !important;
    font-size: 12.5px !important;
    padding: 4px 4px !important;
    line-height: 28px !important;
  }
  html body .page-ticket-checker-box input[type="date"],
  html body .page-ticket-checker-box select.form-select {
    height: 48px !important;
    font-size: 15.5px !important;
  }
  html body .page-ticket-checker-box input.ticket-number-input {
    height: 48px !important;
    font-size: 22px !important;
  }
  html body .page-ticket-checker-box .btn-submit-checker {
    height: 48px !important;
    font-size: 16px !important;
  }
}

/* ==========================================================================
   404 Error Page Styling
   ========================================================================== */
.error-404-wrapper {
  width: 100%;
}

.error-404-card {
  border-radius: 0 !important;
}

.error-404-balls {
  margin: 15px 0 25px;
}

.err-ball {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 64px;
  height: 64px;
  border-radius: 50% !important;
  font-size: 34px;
  font-weight: 900;
  color: #ffffff;
  box-shadow: none !important;
  text-shadow: none !important;
  user-select: none;
}

.err-ball-1 {
  background: linear-gradient(135deg, #ef4444 0%, #dc2626 100%);
}

.err-ball-2 {
  background: linear-gradient(135deg, #f59e0b 0%, #d97706 100%);
}

.err-ball-3 {
  background: linear-gradient(135deg, #06b6d4 0%, #0891b2 100%);
}

.error-quick-link {
  transition: all 0.2s ease-in-out;
  background-color: #fafafa;
  border-radius: 0 !important;
}

.error-quick-link:hover {
  background-color: #fff5f5 !important;
  border-color: #f87171 !important;
  transform: translateY(-2px);
}

/* Date Picker WebKit & Cross-Browser Normalization */
input[type="date"]::-webkit-calendar-picker-indicator {
  cursor: pointer;
  opacity: 0.65;
  padding: 0;
  margin: 0 0 0 3px;
  filter: invert(0.25);
  transition: opacity 0.15s ease-in-out;
}

input[type="date"]::-webkit-calendar-picker-indicator:hover {
  opacity: 1;
}

input[type="date"]::-webkit-datetime-edit {
  padding: 0;
  font-size: inherit;
  line-height: inherit;
}

input[type="date"]::-webkit-datetime-edit-fields-wrapper {
  padding: 0;
}

/* ==========================================================================
   Sidebar & Main Ticket Checker Form Styling (Unified Dimensions)
   ========================================================================== */
.quick-ticket-checker {
  border-radius: 0 !important;
  box-shadow: none !important;
  border: 1px solid #e5e7eb;
}

.quick-ticket-note {
  font-size: 12px;
}

.quick-ticket-hint {
  font-size: 11px;
  margin-top: 2px;
}

/* Sidebar Form Controls (Synchronized 34px Height) */
.quick-ticket-date,
.quick-ticket-prov,
.quick-input-ticket,
.btn-sidebar-doveso {
  height: 34px !important;
  min-height: 34px !important;
  max-height: 34px !important;
  line-height: 1.4 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  box-sizing: border-box !important;
  vertical-align: middle !important;
}

.quick-ticket-date {
  width: 100% !important;
  font-size: 13px !important;
  padding: 4px 8px !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  cursor: pointer;
}

.quick-ticket-prov {
  width: 100% !important;
  font-size: 13px !important;
  padding: 4px 24px 4px 8px !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
  cursor: pointer;
}

.quick-input-ticket {
  width: 100% !important;
  
  padding: 4px 8px !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  background-color: #ffffff !important;
}

.btn-sidebar-doveso {
  width: 100% !important;
  font-size: 13px !important;
  padding: 0 16px !important;
}

/* Main Ticket Checker Page Controls (#ticket-checker-form) (Synchronized 38px Height) */
#check-date-select,
#check-province-select {
  height: 38px !important;
  min-height: 38px !important;
  max-height: 38px !important;
  
  line-height: 1.5 !important;
  border: 1px solid #ced4da !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  background-color: #ffffff !important;
  cursor: pointer;
}

#check-date-select {
  padding: 6px 10px !important;
}

#check-province-select {
  padding: 6px 28px 6px 10px !important;
}

.btn-sidebar-doveso,
.btn-submit-doveso {
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: opacity 0.15s ease-in-out;
}

.btn-sidebar-doveso:hover,
.btn-sidebar-doveso:focus,
.btn-submit-doveso:hover,
.btn-submit-doveso:focus {
  background: linear-gradient(135deg, #b91c1c 0%, #991b1b 100%) !important;
  color: #ffffff !important;
  opacity: 0.95;
}

/* ==========================================================================
   Prediction Article & Anti-Breakage Layout Styling
   ========================================================================== */
.prediction-article-content {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-x: hidden !important;
  word-wrap: break-word !important;
  overflow-wrap: break-word !important;
}

.prediction-article-content img,
.prediction-img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  margin: 0 auto;
}

.prediction-article-content table {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.prediction-summary-list,
.prediction-disclaimer,
.prediction-author-box {
  border-radius: 0 !important;
  box-shadow: none !important;
}

.author-avatar {
  width: 52px;
  height: 52px;
  background: var(--brand-color, #c80505);
  display: flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 22px;
  border-radius: 0 !important;
  flex-shrink: 0;
}

/* Regional Prediction Article Styling */
.prediction-section-title {
  font-size: 1.15rem;
  font-weight: 700;
  color: var(--brand-color, #c80505);
  border-left: 4px solid var(--brand-color, #c80505);
  padding-left: 10px;
  margin: 24px 0 12px;
}

.prediction-table-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  margin-bottom: 16px;
}

.prediction-chot-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 16px;
  font-size: 0.95rem;
  background-color: #ffffff;
  border: 1px solid var(--border-color, #d9d9d9);
}

.prediction-chot-table th {
  background-color: #f8fafc;
  color: #1e293b;
  font-weight: 700;
  padding: 8px 10px;
  border: 1px solid var(--border-color, #d9d9d9);
  text-align: center;
}

.prediction-chot-table td {
  padding: 8px 10px;
  border: 1px solid var(--border-color, #d9d9d9);
  vertical-align: middle;
}

.prediction-chot-table tr:nth-child(even) td {
  background-color: #fdfdfe;
}

.prediction-highlight-num {
  font-weight: 700;
  color: var(--highlight-color, #c80505);
  font-size: 1.05rem;
}

.prediction-prov-card {
  background: #ffffff;
  border: 1px solid var(--border-color, #d9d9d9);
  border-top: 3px solid var(--brand-color, #c80505);
  margin-bottom: 16px;
  padding: 12px 14px;
}

.prediction-prov-title {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--secondary-color, #0029ad);
  margin-bottom: 10px;
  padding-bottom: 6px;
  border-bottom: 1px dashed var(--border-color, #d9d9d9);
}

.prediction-stat-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.9rem;
  margin-bottom: 12px;
}

.prediction-stat-table th {
  background-color: #f1f5f9;
  color: #0f172a;
  font-weight: 600;
  padding: 6px 8px;
  border: 1px solid var(--border-color, #d9d9d9);
  text-align: center;
}

.prediction-stat-table td {
  padding: 6px 8px;
  border: 1px solid var(--border-color, #d9d9d9);
  text-align: center;
}

.prediction-pascal-box {
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  padding: 10px 14px;
  margin: 12px 0;
  font-size: 0.95rem;
  border-left: 4px solid var(--secondary-color, #0029ad);
}

.prediction-badge-vip {
  display: inline-block;
  padding: 2px 8px;
  background: linear-gradient(135deg, #c80505, #e11d48);
  color: #ffffff;
  font-weight: 700;
  font-size: 0.8rem;
  border-radius: 3px;
  margin-right: 6px;
}

.prediction-item-row {
  display: flex;
  align-items: baseline;
  padding: 6px 0;
  border-bottom: 1px solid #f1f5f9;
}

.prediction-item-row:last-child {
  border-bottom: none;
}

.prediction-item-label {
  min-width: 180px;
  font-weight: 600;
  color: #334155;
}

.prediction-item-value {
  color: #0f172a;
}

.live-badge-white {
  border-radius: 0 !important;
  font-weight: 500;
}

.btn-audio-live-toggle,
#btn-audio-live-toggle {
  border-radius: 0 !important;
  font-weight: 400;
  font-size: 12px;
  border: 1px solid #dee2e6;
}

/* ==========================================================================
   Prediction & Analysis Styles (Soi Cầu & Dự Đoán)
   ========================================================================== */
.xsv-pred-table-card {
  border: 1px solid #dee2e6 !important;
  border-radius: 0 !important;
  background: #ffffff;
  box-shadow: none !important;
}

.xsv-compact-pred-table {
  margin-bottom: 0 !important;
  border-collapse: collapse !important;
  font-size: 13px !important;
  width: 100% !important;
  box-shadow: none !important;
}

.xsv-compact-pred-table th {
  background-color: #f8f9fa !important;
  color: #374151 !important;
  font-weight: 700 !important;
  font-size: 12px !important;
  padding: 6px 8px !important;
  border: 1px solid #e5e7eb !important;
  text-transform: uppercase;
  vertical-align: middle !important;
}

.xsv-compact-pred-table td {
  padding: 6px 8px !important;
  border: 1px solid #e5e7eb !important;
  vertical-align: middle !important;
}

.xsv-pred-prov-title {
  font-weight: 700;
  color: #111827;
  display: block;
  line-height: 1.25;
}

.xsv-pred-date-sub {
  font-size: 11px;
  color: #6b7280;
  display: block;
  line-height: 1.2;
}

.xsv-pred-bt-badge {
  display: inline-block;
  background: linear-gradient(135deg, #dc2626 0%, #b91c1c 100%) !important;
  color: #ffffff !important;
  font-weight: 800;
  font-size: 14px;
  padding: 3px 10px;
  border-radius: 0 !important;
  min-width: 38px;
  text-align: center;
  box-shadow: none !important;
}

.xsv-pred-st-val {
  color: #dc2626;
  font-weight: 700;
  font-size: 14px;
  white-space: nowrap;
}

.xsv-pred-dan-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: center;
}

.xsv-pred-dan-badge {
  display: inline-block;
  background-color: #f8fafc;
  color: #1e293b;
  border: 1px solid #cbd5e1;
  border-radius: 0 !important;
  font-weight: 600;
  font-size: 12px;
  padding: 2px 6px;
  line-height: 1.2;
  box-shadow: none !important;
}

.xsv-pred-badge-note {
  background-color: #ffffff !important;
  color: #dc2626 !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  border-radius: 0 !important;
  padding: 3px 8px !important;
  box-shadow: none !important;
}

/* Prediction Posts List & Thumbnails */
.xsv-pred-posts-card {
  border: 1px solid #dee2e6 !important;
  border-radius: 0 !important;
  background: #ffffff;
  box-shadow: none !important;
}

.xsv-pred-badge-news {
  background-color: #ffffff !important;
  color: #dc2626 !important;
  font-weight: 700 !important;
  font-size: 11px !important;
  border-radius: 0 !important;
  padding: 3px 8px !important;
  box-shadow: none !important;
}

.xsv-pred-post-item {
  display: flex;
  gap: 14px;
  padding: 12px 14px;
  border-bottom: 1px solid #f1f5f9;
  align-items: center;
  transition: background-color 0.15s ease;
  text-decoration: none;
}

.xsv-pred-post-item:last-child {
  border-bottom: none;
}

.xsv-pred-post-item:hover {
  background-color: #f8fafc;
}

.xsv-pred-post-thumb {
  width: 140px;
  height: 88px;
  flex-shrink: 0;
  border-radius: 0 !important;
  overflow: hidden;
  background-color: #f1f5f9;
  display: block;
}

.xsv-pred-post-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
  transition: transform 0.2s ease;
}

.xsv-pred-post-item:hover .xsv-pred-post-thumb img {
  transform: scale(1.04);
}

.xsv-pred-post-body {
  flex-grow: 1;
  min-width: 0;
}

.xsv-pred-post-title {
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 4px;
  line-height: 1.35;
}

.xsv-pred-post-title a {
  color: #1e293b;
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.xsv-pred-post-title a:hover {
  color: var(--brand-color, #c80505);
}

.xsv-pred-post-meta {
  font-size: 12px;
  color: #64748b;
  margin-bottom: 4px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
}

.xsv-pred-badge-cat {
  background-color: #fef2f2;
  color: #dc2626;
  border: 1px solid #fecaca;
  border-radius: 0 !important;
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  display: inline-block;
  box-shadow: none !important;
}

.xsv-pred-post-excerpt {
  font-size: 13px;
  line-height: 1.45;
  color: #475569;
  margin: 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media (max-width: 576px) {
  .xsv-pred-post-item {
    gap: 10px;
    padding: 10px;
  }
  .xsv-pred-post-thumb {
    width: 96px;
    height: 64px;
  }
  .xsv-pred-post-title {
    font-size: 13px;
    line-height: 1.3;
  }
  .xsv-pred-post-excerpt {
    display: none;
  }
}

.list-group-item {
  border-radius: 0px !important;
}

/* ==========================================================================
   Visual Ticket Checker Card (Phiếu Dò Vé Trực Quan)
   ========================================================================== */
.ticket-visual-card {
  border: 1px solid #dee2e6 !important;
  border-radius: 0 !important;
}
.ticket-digit-box {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 52px;
  font-size: 26px;
  font-weight: 700;
  color: #b91c1c;
  background-color: #ffffff;
  border: 2px solid #ef4444;
  border-radius: 0 !important;
  box-shadow: none !important;
}
@media (max-width: 576px) {
  .ticket-digit-box {
    width: 38px;
    height: 44px;
    font-size: 20px;
  }
}

/* ==========================================================================
   Homepage Lottery Section Headers (Matching Widget Headers style)
   ========================================================================== */
.home-lottery-section {
  scroll-margin-top: 50px;
  margin-bottom: 20px;
}
.home-lottery-section .list-title {
  background-color: var(--brand-color, #c80505) !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 8px 12px !important;
  margin-bottom: 10px !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  line-height: 1.4 !important;
  display: block;
}

/* ==========================================================================
   Modern Core Web Vitals & Rendering Performance (content-visibility)
   Defers rendering calculations for below-the-fold layout blocks to accelerate LCP & INP
   ========================================================================== */
@supports (content-visibility: auto) {
  #kq-xsmn,
  #kq-xsmt,
  #kq-vietlott,
  .xsv-collapsible-box,
  .site-footer,
  .sidebar-right .widget:nth-of-type(n+3),
  #province_mt_left {
    content-visibility: auto;
    contain-intrinsic-size: auto 450px;
  }
}

/* ==========================================================================
   Standard Default Table Styles (Bootstrap Compatible & Custom Design System)
   Zero Border Radius, Zero Box Shadow, Clean 1px Borders, High Contrast
   ========================================================================== */

/* Base HTML Table */
table {
  caption-side: bottom;
  border-collapse: collapse;
}

/* Default .table class */
.table {
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-collapse: collapse;
  background-color: #ffffff;
  color: #1e293b;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.table > :not(caption) > * > * {
  padding: 8px 10px;
  background-color: transparent;
  border-bottom-width: 1px;
  box-shadow: none !important;
}

.table > tbody {
  vertical-align: inherit;
}

.table > thead {
  vertical-align: bottom;
}

/* Table Head */
.table thead th,
.table th {
  font-weight: 700;
  color: #0f172a;
  background-color: #f8fafc;
  border-bottom: 2px solid #cbd5e1;
  text-align: inherit;
  font-size: 14.5px;
  line-height: 1.4;
  vertical-align: middle;
}

/* Table Cells */
.table td {
  font-size: 14.5px;
  line-height: 1.5;
  color: #1e293b;
  vertical-align: middle;
}

/* Table Bordered */
.table-bordered {
  border: 1px solid #cbd5e1 !important;
}

.table-bordered > :not(caption) > * {
  border-width: 1px 0;
}

.table-bordered > :not(caption) > * > * {
  border-width: 1px;
  border-color: #cbd5e1;
}

.table-bordered th,
.table-bordered td {
  border: 1px solid #cbd5e1 !important;
}

/* Table Striped */
.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: #f8fafc;
  color: #1e293b;
}

/* Table Hover */
.table-hover > tbody > tr:hover > * {
  background-color: #f1f5f9;
}

/* Table Small (Compact) */
.table-sm > :not(caption) > * > * {
  padding: 4px 6px;
  font-size: 13.5px;
}

/* Contextual Table Rows & Cells */
.table-success,
.table-success > th,
.table-success > td {
  background-color: #dcfce7 !important;
  color: #166534 !important;
}

.table-warning,
.table-warning > th,
.table-warning > td {
  background-color: #fef9c3 !important;
  color: #854d0e !important;
}

.table-danger,
.table-danger > th,
.table-danger > td {
  background-color: #fee2e2 !important;
  color: #991b1b !important;
}

.table-light,
.table-light > th,
.table-light > td {
  background-color: #f8fafc !important;
  color: #1e293b !important;
}

/* Table Responsive Container */
.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  width: 100%;
  margin-bottom: 1rem;
  display: block;
  border-radius: 0 !important;
}

/* Gutenberg Block Table (.wp-block-table) */
.wp-block-table {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  width: 100% !important;
  margin: 16px 0 !important;
  display: block !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.wp-block-table table {
  width: 100% !important;
  border-collapse: collapse !important;
  margin-bottom: 0 !important;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
}

.wp-block-table th,
.wp-block-table td {
  border: 1px solid #cbd5e1;
  padding: 8px 12px;
  font-size: 15px;
  line-height: 1.5;
}

.wp-block-table th {
  background-color: #f8fafc;
  color: #0f172a;
  font-weight: 700;
  border-bottom: 2px solid #cbd5e1;
}

.wp-block-table.is-style-stripes tbody tr:nth-child(odd) {
  background-color: #f8fafc;
}

.wp-block-table figcaption {
  font-size: 13px;
  color: #64748b;
  text-align: center;
  margin-top: 6px;
  font-style: italic;
}

/* Default styling for tables inside post/page contents */
.entry-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
.page-body table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
.single-post table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
.xsv-collapsible-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
.the-article-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: collapse !important;
  margin: 16px 0 !important;
  background-color: #ffffff;
  border: 1px solid #cbd5e1;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.entry-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) th,
.page-body table:not(.table-lottery):not(.table-tkts):not(.table-calendar) th,
.single-post table:not(.table-lottery):not(.table-tkts):not(.table-calendar) th,
.xsv-collapsible-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) th,
.the-article-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) th {
  background-color: #f8fafc !important;
  color: #0f172a !important;
  font-weight: 700 !important;
  border: 1px solid #cbd5e1 !important;
  border-bottom: 2px solid #cbd5e1 !important;
  padding: 8px 12px !important;
  font-size: 15px !important;
}

.entry-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) td,
.page-body table:not(.table-lottery):not(.table-tkts):not(.table-calendar) td,
.single-post table:not(.table-lottery):not(.table-tkts):not(.table-calendar) td,
.xsv-collapsible-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) td,
.the-article-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) td {
  border: 1px solid #cbd5e1 !important;
  padding: 8px 12px !important;
  font-size: 15px !important;
  color: #1e293b !important;
  line-height: 1.5 !important;
}

.entry-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) tbody tr:nth-child(even),
.page-body table:not(.table-lottery):not(.table-tkts):not(.table-calendar) tbody tr:nth-child(even),
.single-post table:not(.table-lottery):not(.table-tkts):not(.table-calendar) tbody tr:nth-child(even) {
  background-color: #f8fafc;
}

/* Mobile responsive scroll for tables in content */
@media (max-width: 767px) {
  .entry-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
  .page-body table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
  .single-post table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
  .xsv-collapsible-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar),
  .the-article-content table:not(.table-lottery):not(.table-tkts):not(.table-calendar) {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    width: 100% !important;
  }
}

/* ==========================================================================
   Responsive Post & Page Image Layouts (Fix vỡ khung ảnh trong bài viết)
   Zero Border Radius, Zero Shadows, Zero Horizontal Overflow
   ========================================================================== */

/* Universal Image Reset inside Article / Content Containers */
.entry-content img,
.page-body img,
.single-post img,
.post-featured-image img,
.the-article-content img,
.prediction-article-content img,
.imagecontainer img,
figure img,
article img {
  max-width: 100% !important;
  height: auto !important;
  display: block;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box;
}

/* Image Container */
.imagecontainer {
  max-width: 100% !important;
  overflow: hidden;
  margin: 16px 0;
  text-align: center;
}

/* WordPress Figures & Gutenberg Image Block */
.wp-block-image,
.entry-content figure,
.page-body figure,
.single-post figure,
figure.figure {
  max-width: 100% !important;
  margin: 16px auto !important;
  height: auto !important;
  display: block;
}

.wp-block-image img,
.entry-content figure img,
.page-body figure img {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* WordPress Captions (.wp-caption) - Overrides hardcoded inline width like style="width: 710px" */
.wp-caption,
div.wp-caption {
  max-width: 100% !important;
  width: auto !important;
  margin: 16px auto !important;
  padding: 6px !important;
  background-color: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

.wp-caption img {
  margin: 0 auto !important;
  max-width: 100% !important;
  height: auto !important;
}

.wp-caption .wp-caption-text,
figcaption,
.wp-block-image figcaption,
.figure-caption {
  font-size: 13.5px !important;
  color: #64748b !important;
  font-style: italic !important;
  padding: 6px 4px 2px !important;
  margin: 0 !important;
  text-align: center !important;
  line-height: 1.5 !important;
}

/* WordPress Core Alignments */
.aligncenter,
div.aligncenter,
figure.aligncenter {
  display: block !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-align: center !important;
  clear: both !important;
}

.alignleft,
div.alignleft,
figure.alignleft {
  float: left;
  margin: 6px 18px 14px 0;
  max-width: 50%;
}

.alignright,
div.alignright,
figure.alignright {
  float: right;
  margin: 6px 0 14px 18px;
  max-width: 50%;
}

.alignnone,
div.alignnone,
figure.alignnone {
  margin: 12px 0;
  display: block;
}

/* Mobile Overrides for Floats & Images (Mobile-First 360px - 767px) */
@media (max-width: 767px) {
  .entry-content .alignleft,
  .entry-content .alignright,
  .page-body .alignleft,
  .page-body .alignright,
  .single-post .alignleft,
  .single-post .alignright,
  .the-article-content .alignleft,
  .the-article-content .alignright {
    float: none !important;
    display: block !important;
    margin: 14px auto !important;
    max-width: 100% !important;
    clear: both !important;
  }

  .wp-caption,
  div.wp-caption {
    width: 100% !important;
  }
}

/* Responsive Embeds & Iframes in Post Contents */
.entry-content iframe,
.entry-content embed,
.entry-content video,
.entry-content object,
.page-body iframe,
.page-body video {
  max-width: 100% !important;
  border: 0;
  display: block;
  margin: 16px auto;
}

/* Typography Enhancements for Article Content (.entry-content, .page-body) */
.entry-content,
.page-body,
.the-article-content {
  font-size: 16px;
  line-height: 1.7;
  color: #1e293b;
}

.entry-content h2,
.page-body h2,
.the-article-content h2 {
  font-size: 1.25rem;
  font-weight: 700;
  color: #0f172a;
  margin: 24px 0 12px;
  line-height: 1.4;
  border-left: 4px solid var(--brand-color, #c80505);
  padding-left: 10px;
}

.entry-content h3,
.page-body h3,
.the-article-content h3 {
  font-size: 1.1rem;
  font-weight: 700;
  color: #0f172a;
  margin: 20px 0 10px;
  line-height: 1.4;
  background-color: #f8fafc;
  padding: 8px 12px;
  border-left: 3px solid #ef4444;
}

.entry-content h4,
.page-body h4,
.the-article-content h4 {
  font-size: 1rem;
  font-weight: 700;
  color: #0f172a;
  margin: 16px 0 8px;
  line-height: 1.4;
}

.entry-content blockquote,
.page-body blockquote,
.the-article-content blockquote {
  margin: 16px 0;
  padding: 12px 16px;
  background-color: #f8fafc;
  border-left: 4px solid #94a3b8;
  color: #475569;
  font-size: 15px;
  line-height: 1.6;
}

.entry-content blockquote p:last-child,
.page-body blockquote p:last-child {
  margin-bottom: 0;
}

.entry-content p,
.page-body p,
.the-article-content p {
  margin-bottom: 12px;
}

.entry-content ul,
.entry-content ol,
.page-body ul,
.page-body ol,
.the-article-content ul,
.the-article-content ol {
  padding-left: 24px;
  margin-bottom: 14px;
}

.entry-content li,
.page-body li,
.the-article-content li {
  margin-bottom: 6px;
}

/* ==========================================================================
   Vietlott Overview Page Redesign (/xo-so-vietlott/)
   Đơn giản hóa, to rõ cho người già, nút bấm chuẩn, không vỡ khung, không tràn chữ
   Strictly Flat: Zero Border Radius, Zero Box Shadow, High Contrast
   ========================================================================== */

/* Quick Navigation Bar */
.vietlott-quick-nav {
  background-color: #f8fafc;
  padding: 8px;
  border: 1.5px solid #cbd5e1;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.vietlott-quick-nav .vietlott-nav-btn {
  flex: 1 1 auto;
  min-height: 48px;
  font-size: 15.5px !important;
  font-weight: 700 !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;
  border: 1.5px solid #cbd5e1;
  background-color: #ffffff;
  color: #0f172a;
  padding: 8px 14px;
  text-decoration: none;
  transition: all 0.15s ease-in-out;
  cursor: pointer;
}

.vietlott-quick-nav .vietlott-nav-btn:hover {
  background-color: #0f172a;
  color: #ffffff !important;
  border-color: #0f172a;
}

.vietlott-quick-nav .vietlott-nav-btn.btn-mega {
  border-color: #dc2626;
  color: #dc2626;
}
.vietlott-quick-nav .vietlott-nav-btn.btn-mega:hover {
  background-color: #dc2626;
  color: #ffffff !important;
}

.vietlott-quick-nav .vietlott-nav-btn.btn-power {
  border-color: #ea580c;
  color: #ea580c;
}
.vietlott-quick-nav .vietlott-nav-btn.btn-power:hover {
  background-color: #ea580c;
  color: #ffffff !important;
}

.vietlott-quick-nav .vietlott-nav-btn.btn-max3d {
  border-color: #7c3aed;
  color: #7c3aed;
}
.vietlott-quick-nav .vietlott-nav-btn.btn-max3d:hover {
  background-color: #7c3aed;
  color: #ffffff !important;
}

.vietlott-quick-nav .vietlott-nav-btn.btn-max3dpro {
  border-color: #0284c7;
  color: #0284c7;
}
.vietlott-quick-nav .vietlott-nav-btn.btn-max3dpro:hover {
  background-color: #0284c7;
  color: #ffffff !important;
}

.vietlott-quick-nav .vietlott-nav-btn.btn-keno {
  border-color: #b91c1c;
  color: #b91c1c;
  background-color: #fef2f2;
}
.vietlott-quick-nav .vietlott-nav-btn.btn-keno:hover {
  background-color: #b91c1c;
  color: #ffffff !important;
}

/* Quả bóng số Vietlott siêu to, chữ lớn, tương phản cao */
.ball-mega645,
.ball-power655 {
  width: 52px !important;
  height: 52px !important;
  min-width: 52px !important;
  border-radius: 50% !important;
  border: 3px solid #dc2626 !important;
  color: #dc2626 !important;
  background-color: #ffffff !important;
  font-weight: 800 !important;
  font-size: 24px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: none !important;
  text-shadow: none !important;
  margin: 4px;
  box-sizing: border-box;
}

.ball-power655 {
  border-color: #ea580c !important;
  color: #ea580c !important;
}

.ball-power655.special-ball {
  background-color: #ea580c !important;
  border-color: #c2410c !important;
  color: #ffffff !important;
}

/* Responsive Quả bóng số trên mobile viewport (360px - 576px) */
@media (max-width: 576px) {
  .vietlott-quick-nav .vietlott-nav-btn {
    min-height: 44px;
    
    padding: 6px 10px;
    flex: 1 1 45%;
  }
  .ball-mega645,
  .ball-power655 {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    font-size: 20px !important;
    border-width: 2.5px !important;
    margin: 2px !important;
  }
}

@media (max-width: 375px) {
  .ball-mega645,
  .ball-power655 {
    width: 40px !important;
    height: 40px !important;
    min-width: 40px !important;
    font-size: 18px !important;
    border-width: 2px !important;
    margin: 1px !important;
  }
}


a.dropdown-menu-links ,.nav-bar .dropdown-menu-links s,html body .nav-bar .dropdown-menu-links{font-weight: bold!important;}
