/*
 * Kết Quả Truyền Thống — official red/blue brand palette.
 * Primary colours are sampled directly from logo-ket-qua-truyen-thong.webp:
 * Red #CC0000 · Blue #0040B0
 */

:root {
  --kqtt-red: #cc0000;
  --kqtt-red-dark: #970000;
  --kqtt-red-light: #f40000;
  --kqtt-blue: #0040b0;
  --kqtt-blue-dark: #002b78;
  --kqtt-blue-deep: #001d52;
  --kqtt-blue-light: #007cf8;
  --kqtt-blue-pale: #eaf2ff;
  --kqtt-blue-tint: #f4f8ff;
  --kqtt-border: #d7e2f2;
  --kqtt-text: #10213f;
  --kqtt-muted: #62718a;

  /* Remap the legacy design tokens so every shared component follows brand. */
  --cf-dark: var(--kqtt-blue-deep);
  --cf-dark2: var(--kqtt-blue-dark);
  --cf-dark3: var(--kqtt-blue);
  --cf-crimson: var(--kqtt-red);
  --cf-crimson-rich: var(--kqtt-red-dark);
  --cf-crimson-light: var(--kqtt-red-light);
  --cf-gold: var(--kqtt-blue);
  --cf-gold-light: var(--kqtt-blue-light);
  --cf-gold-bright: #ffffff;
  --cf-gold-pale: var(--kqtt-blue-pale);
  --cf-gold-tint: var(--kqtt-blue-tint);
  --cf-cream: #f5f8fd;
  --cf-cream2: #edf3fc;
  --cf-card: #ffffff;
  --cf-border: var(--kqtt-border);
  --cf-border2: #c5d5eb;
  --cf-text: var(--kqtt-text);
  --cf-text-muted: var(--kqtt-muted);
  --cf-text-sidebar: #edf5ff;
  --cf-text-sidebar2: #bdd2f1;
  --cf-shadow-sm: 0 1px 6px rgba(0, 43, 120, .07);
  --cf-shadow: 0 3px 16px rgba(0, 43, 120, .10);
  --cf-shadow-md: 0 6px 28px rgba(0, 43, 120, .14);
  --cf-shadow-gold: 0 4px 20px rgba(0, 64, 176, .18);
}

/* Final header contrast guard: keep labels readable over interactive fills. */
body > header nav#nav #nav-horizontal-list > li:hover > a,
body > header nav#nav #nav-horizontal-list > li:focus-within > a,
body > header nav#nav #nav-horizontal-list > li.current-menu-item > a,
body > header nav#nav #nav-horizontal-list > li.current-menu-parent > a {
  color: #fff !important;
  text-shadow: none !important;
}

body {
  background: #f5f8fd !important;
  color: var(--kqtt-text) !important;
}

a { color: var(--kqtt-red) !important; }
a:hover { color: var(--kqtt-blue) !important; }

/* Header: larger logo without increasing the menu bar's layout height. */
body > header {
  background: #fff !important;
  border-bottom: 2px solid var(--kqtt-red) !important;
  box-shadow: 0 4px 18px rgba(0, 43, 120, .16) !important;
}

body > header .top-info {
  min-height: 72px !important;
  height: 72px !important;
  padding-top: 3px !important;
  padding-bottom: 3px !important;
}

body > header .logo {
  flex: 0 0 286px !important;
  width: 286px !important;
  height: 66px !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body > header .logo a.txtlogo {
  width: 100% !important;
  height: 66px !important;
  overflow: hidden !important;
  justify-content: center !important;
}

body > header .logo img.site-logo-image {
  width: 278px !important;
  height: auto !important;
  max-width: none !important;
  filter: saturate(1.18) contrast(1.12) drop-shadow(0 2px 2px rgba(0, 32, 96, .18)) !important;
  transform: translateY(-3px) !important;
  transform-origin: center center !important;
}

nav#nav .nav-pc > ul > li > a,
nav#nav .nav-pc > ul > li > span.arr-d {
  color: var(--kqtt-blue-dark) !important;
  font-weight: 800 !important;
  text-shadow: none !important;
  transition: background-color .18s ease, color .18s ease, box-shadow .18s ease !important;
}

nav#nav .nav-pc > ul > li > span.arr-d { opacity: 1 !important; }

#nav-horizontal-list > li:hover > a,
#nav-horizontal-list > li:focus-within > a {
  background: var(--kqtt-blue) !important;
  color: #fff !important;
  box-shadow: 0 4px 12px rgba(0, 64, 176, .2) !important;
}

#nav-horizontal-list > li.current-menu-item > a,
#nav-horizontal-list > li.current-menu-parent > a {
  background: var(--kqtt-red) !important;
  color: #fff !important;
}

#nav-horizontal-list ul.menu-c2 {
  background: #fff !important;
  border: 1px solid var(--kqtt-border) !important;
  border-top: 3px solid var(--kqtt-red) !important;
  box-shadow: 0 10px 26px rgba(0, 43, 120, .18) !important;
}
#nav-horizontal-list ul.menu-c2 li a {
  color: var(--kqtt-blue-dark) !important;
  border-bottom-color: #e5edf8 !important;
}

nav#nav.open {
  background: var(--kqtt-blue-dark) !important;
  border-top-color: var(--kqtt-red) !important;
}

#nav-horizontal-list ul.menu-c2 li a:hover,
nav#nav .nav-mobile li a:hover {
  background: var(--kqtt-blue) !important;
  color: #fff !important;
}

.header-search-btn {
  background: var(--kqtt-red) !important;
  border-color: var(--kqtt-red) !important;
}
.header-search-btn:hover { background: var(--kqtt-red-light) !important; }

/* Main cards and headings. */
.col-l .box,
.col-l .box.tr-hover,
.xoso-sim-panel,
.xoso-predict-panel,
.xoso-weekday-region,
.ddt-category-card,
body.single-post .qst-article-content,
body.single-post .qst-side-box,
body.single-post .qst-related-card {
  border-color: var(--kqtt-border) !important;
  box-shadow: 0 5px 18px rgba(0, 43, 120, .08) !important;
}

.col-l h2.regional-title,
.col-l .tit-mien,
.col-l .box > .regional-title,
.col-l .box > .tit-mien,
.col-l h3.regional-title,
.xoso-sim-status,
.xoso-predict-summary {
  background: linear-gradient(110deg, var(--kqtt-blue-deep), var(--kqtt-blue)) !important;
  border-bottom-color: var(--kqtt-red) !important;
  color: #fff !important;
}

.col-l .regional-title::before,
.col-l .tit-mien::before,
.col-center .tit-mien::before,
.col-right .tit-mien::before,
.sb-week-full .tit-mien::before {
  background: var(--kqtt-red) !important;
  box-shadow: 0 0 7px rgba(204, 0, 0, .55) !important;
}

/* Sidebar and weekly schedule. */
.col-center .box,
.col-right .box,
.sb-week-full .box {
  background: var(--kqtt-blue-deep) !important;
  border-color: rgba(0, 124, 248, .28) !important;
  box-shadow: 0 4px 17px rgba(0, 29, 82, .2) !important;
}

.col-center .tit-mien,
.col-right .tit-mien,
.sb-week-full .tit-mien,
.col-center .box > .tit-mien,
.col-right .box > .tit-mien,
.sb-week-full .box > .tit-mien,
.col-center .regional-title,
.col-right .regional-title {
  background: var(--kqtt-blue-dark) !important;
  border-bottom-color: var(--kqtt-red) !important;
  color: #fff !important;
}

.sb-today-label,
.col-center .tit-mien a,
.col-right .tit-mien a,
.sb-week-full .tit-mien a {
  color: #fff !important;
}

.sb-region-tag.sb-mb {
  background: rgba(204, 0, 0, .28) !important;
  border-color: rgba(244, 0, 0, .7) !important;
  color: #fff !important;
}
.sb-region-tag.sb-mt {
  background: rgba(0, 124, 248, .25) !important;
  border-color: rgba(0, 124, 248, .65) !important;
  color: #ddebff !important;
}
.sb-region-tag.sb-mn {
  background: rgba(0, 64, 176, .58) !important;
  border-color: rgba(0, 124, 248, .75) !important;
  color: #fff !important;
}

.sb-province-link {
  border-color: rgba(0, 124, 248, .38) !important;
  background: rgba(255, 255, 255, .06) !important;
}
.sb-province-link:hover,
.sb-quicklinks li a:hover {
  background: rgba(204, 0, 0, .24) !important;
  border-color: var(--kqtt-red-light) !important;
  color: #fff !important;
}
.sb-mini-region > span,
.sb-quicklinks li a::before {
  background: rgba(204, 0, 0, .28) !important;
  color: #fff !important;
}

.sb-week-table th {
  background: var(--kqtt-blue) !important;
  color: #fff !important;
  border-color: rgba(255, 255, 255, .2) !important;
}
.sb-week-table tbody tr:nth-child(odd) td {
  background: var(--kqtt-blue-deep) !important;
  color: #eaf2ff !important;
}
.sb-week-table tbody tr:nth-child(even) td,
.sb-week-table tbody tr.sb-today-row:nth-child(even) td,
.sb-week-table tbody tr.sb-today-row:nth-child(odd) td {
  background: var(--kqtt-blue-pale) !important;
  color: var(--kqtt-blue-deep) !important;
}
.sb-week-table tbody tr:nth-child(even) .sb-day,
.sb-week-table tbody tr.sb-today-row:nth-child(even) .sb-day,
.sb-week-table tbody tr.sb-today-row:nth-child(odd) .sb-day { color: var(--kqtt-blue-dark) !important; }
.sb-week-table tbody tr:nth-child(even) .sb-province-link,
.sb-week-table tbody tr.sb-today-row:nth-child(even) .sb-province-link,
.sb-week-table tbody tr.sb-today-row:nth-child(odd) .sb-province-link {
  background: #fff !important;
  border-color: var(--kqtt-blue-light) !important;
  color: var(--kqtt-blue-dark) !important;
}
.sb-week-table tbody tr .sb-province-link:hover {
  background: var(--kqtt-red) !important;
  border-color: var(--kqtt-red) !important;
  color: #fff !important;
}
.sb-week-table tbody tr:nth-child(odd) .sb-province-link {
  background: rgba(0, 124, 248, .12) !important;
  border-color: rgba(0, 124, 248, .55) !important;
  color: #eaf2ff !important;
}

/* Result tables: blue structure, red winning numbers. */
table.kqmb tr:nth-child(even),
.col-l table tr:nth-child(even) { background: var(--kqtt-blue-tint) !important; }
table.kqmb tr:nth-child(odd),
.col-l table tr:nth-child(odd) { background: #fff !important; }

td.txt-giai,
.xoso-sim-table th,
.col-l table.data2 td:first-child {
  background: var(--kqtt-blue-pale) !important;
  color: var(--kqtt-blue-dark) !important;
  border-color: var(--kqtt-border) !important;
}

.madb,
.v-giai.madb {
  background: var(--kqtt-blue-pale) !important;
  color: var(--kqtt-red) !important;
  border-bottom-color: var(--kqtt-border) !important;
}

.tr-hover tr:hover td,
table.kqmb tr:hover,
table.data2 tr:hover td,
table.with-border tr:hover td,
table.mag0 tr:hover td,
table.tbl50 tr:hover td,
.box.tr-hover > div > table tr:hover td {
  background: #e4eeff !important;
  color: inherit !important;
}

tr.gr-yellow,
tr.gr-yellow th,
.gr-yellow {
  background: var(--kqtt-blue) !important;
  color: #fff !important;
}

tr.db td.v-giai.number span,
td.v-giai.number span.v-gdb,
.giaidb,
.v-gdb,
.xoso-sim-table td span.is-hot,
.xoso-predict-card strong,
.xoso-predict-headtail strong {
  color: var(--kqtt-red) !important;
}

.alert,
.disclaimer-notice,
.ddt-predict-card {
  background: var(--kqtt-blue-tint) !important;
  border-color: var(--kqtt-blue-light) !important;
  color: var(--kqtt-blue-dark) !important;
}

/* Homepage and tool heroes. */
.kqtt-home-hero,
.xoso-sim-hero,
.xoso-predict-hero,
.ddt-category-hero,
body.single-post .qst-article-hero {
  background: linear-gradient(125deg, var(--kqtt-blue-deep) 0%, var(--kqtt-blue) 72%, var(--kqtt-red-dark) 100%) !important;
  border-color: rgba(0, 124, 248, .35) !important;
  box-shadow: 0 10px 28px rgba(0, 43, 120, .18) !important;
}

.kqtt-home-hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
  padding: 26px 22px;
  border: 1px solid rgba(0, 124, 248, .35);
  border-radius: 14px;
  color: #fff;
}
.kqtt-home-hero__content { position: relative; z-index: 1; }
.kqtt-home-hero__heading {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 10px;
}
.kqtt-home-hero__icon {
  font-size: 30px;
  line-height: 1;
  filter: drop-shadow(0 2px 4px rgba(204, 0, 0, .4));
}
.kqtt-home-hero h1 {
  margin: 0;
  color: #fff !important;
  font-family: var(--cf-font);
  font-size: 21px;
  font-weight: 900;
  letter-spacing: -.3px;
}
.kqtt-home-hero__date {
  margin: 2px 0 0;
  color: rgba(255, 255, 255, .7);
  font-size: 12px;
  font-weight: 500;
}
.kqtt-home-hero__description {
  max-width: 520px;
  margin: 0 0 18px;
  color: rgba(255, 255, 255, .9);
  font-family: var(--cf-font);
  font-size: 13.5px;
  line-height: 1.65;
}
.kqtt-home-hero__description span {
  color: rgba(255, 255, 255, .62);
  font-size: 12px;
}
.kqtt-home-hero__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
}
.kqtt-home-hero .ddt-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  padding: 8px 16px;
  border: 1px solid rgba(255, 255, 255, .75);
  border-radius: 22px;
  font-family: var(--cf-font);
  font-size: 12.5px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 5px 14px rgba(0, 29, 82, .2);
}
.kqtt-home-hero .ddt-hero-cta-light {
  background: #fff !important;
  color: var(--kqtt-blue) !important;
}
.kqtt-home-hero .ddt-hero-cta-primary {
  background: var(--kqtt-red) !important;
  border-color: #ff7373 !important;
  color: #fff !important;
}
.kqtt-home-hero .ddt-hero-cta:hover {
  background: var(--kqtt-blue-light) !important;
  border-color: #fff !important;
  color: #fff !important;
}
.kqtt-home-hero__orb,
.kqtt-home-hero__watermark { position: absolute; pointer-events: none; }
.kqtt-home-hero__orb { border-radius: 50%; }
.kqtt-home-hero__orb--red {
  top: -30px;
  right: -25px;
  width: 130px;
  height: 130px;
  background: rgba(204, 0, 0, .18);
}
.kqtt-home-hero__orb--blue {
  right: 60px;
  bottom: -40px;
  width: 90px;
  height: 90px;
  background: rgba(0, 124, 248, .2);
}
.kqtt-home-hero__watermark {
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  font-size: 64px;
  font-weight: 900;
  letter-spacing: -4px;
  line-height: 1;
  opacity: .08;
}

.xoso-sim-kicker,
.xoso-predict-kicker,
.ddt-category-hero span,
body.single-post .qst-article-kicker {
  border-color: rgba(255, 255, 255, .55) !important;
  background: rgba(204, 0, 0, .34) !important;
  color: #fff !important;
}

.ddt-hero-actions a,
.xoso-sim-primary,
.xoso-predict-primary,
.btn-primary,
button[type="submit"] {
  background: linear-gradient(180deg, var(--kqtt-red-light), var(--kqtt-red)) !important;
  border-color: var(--kqtt-red) !important;
  color: #fff !important;
  box-shadow: 0 8px 20px rgba(204, 0, 0, .2) !important;
}
.ddt-hero-actions a:hover,
.xoso-sim-primary:hover,
.xoso-predict-primary:hover,
.btn-primary:hover,
button[type="submit"]:hover {
  background: var(--kqtt-blue-light) !important;
  border-color: var(--kqtt-blue-light) !important;
  color: #fff !important;
}

/* Tools, weekday pages, archives and articles. */
.xoso-sim-toolbar,
.xoso-predict-controls,
.xoso-sim-bottom,
.xoso-predict-empty,
.xoso-predict-box,
.xoso-sim-loto,
.xoso-sim-note,
.xoso-weekday-region,
.ddt-category-card {
  background: var(--kqtt-blue-tint) !important;
  border-color: var(--kqtt-border) !important;
}

.xoso-sim-tabs button,
.xoso-predict-tabs button,
.xoso-weekday-links a,
.ddt-category-pagination .page-numbers,
body.single-post .qst-side-tags a {
  background: #fff !important;
  border-color: var(--kqtt-blue-light) !important;
  color: var(--kqtt-blue) !important;
}

.xoso-sim-tabs button:hover,
.xoso-sim-tabs button.is-active,
.xoso-predict-tabs button:hover,
.xoso-predict-tabs button.is-active,
.xoso-weekday-links a:hover,
.ddt-category-pagination .current,
.ddt-category-pagination a:hover,
body.single-post .qst-side-tags a:hover {
  background: var(--kqtt-red) !important;
  border-color: var(--kqtt-red) !important;
  color: #fff !important;
}

.xoso-sim-status span,
.xoso-predict-summary span,
.xoso-sim-date,
.xoso-predict-date { color: #d8e8ff !important; }

.xoso-sim-loto h2,
.xoso-sim-note h2,
.xoso-predict-box h2,
.xoso-weekday-region h2,
.ddt-category-card h2,
body.single-post .qst-article-content h2,
body.single-post .qst-side-box h2,
body.single-post .qst-related-posts h2 {
  color: var(--kqtt-blue-dark) !important;
  border-bottom-color: var(--kqtt-border) !important;
}

/* Article sidebar: override the legacy mahogany palette with accessible brand colours. */
body.single-post .qst-side-box--dark {
  background: linear-gradient(145deg, var(--kqtt-blue-dark), var(--kqtt-blue)) !important;
  border-color: rgba(0, 124, 248, .55) !important;
  box-shadow: 0 12px 28px rgba(0, 43, 120, .22) !important;
}

body.single-post .qst-side-box--dark h2 {
  color: #fff !important;
  border-bottom-color: rgba(255, 255, 255, .24) !important;
}

body.single-post .qst-side-box--dark a {
  background: rgba(255, 255, 255, .12) !important;
  border-color: rgba(255, 255, 255, .34) !important;
  color: #fff !important;
}

body.single-post .qst-side-box--dark a:hover,
body.single-post .qst-side-box--dark a:focus-visible {
  background: #fff !important;
  border-color: #fff !important;
  color: var(--kqtt-blue-dark) !important;
  outline: 3px solid rgba(255, 255, 255, .32);
  outline-offset: 2px;
}

.xoso-predict-card .score { background: #dce8f8 !important; }
.xoso-predict-card .score i {
  background: linear-gradient(90deg, var(--kqtt-blue), var(--kqtt-red)) !important;
}
.xoso-predict-box li span { background: rgba(0, 64, 176, .14) !important; }
.xoso-predict-box li b,
.ddt-category-card span,
body.single-post .qst-article-content a { color: var(--kqtt-red) !important; }

/* Footer. */
.site-footer {
  background: linear-gradient(180deg, var(--kqtt-blue-dark), var(--kqtt-blue-deep)) !important;
  border-top-color: var(--kqtt-red) !important;
}
.footer-col h4 {
  color: #fff !important;
  border-bottom-color: rgba(204, 0, 0, .7) !important;
}
.footer-col ul li a::before,
.footer-bottom-inner p a { color: #ff6b6b !important; }
.footer-disclaimer-inline { border-left-color: var(--kqtt-red) !important; }
.footer-bottom-inner p,
nav.footer-legal-nav a { color: #a9c2e5 !important; }

.footer-brand {
  align-items: center !important;
  text-align: center !important;
}
.footer-logo {
  display: flex !important;
  width: min(100%, 264px) !important;
  height: 70px !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.footer-logo-image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  filter: saturate(1.16) contrast(1.1) !important;
  transform: translateY(-4px) !important;
}
.footer-tagline,
.footer-disclaimer-inline { text-align: center !important; }
.footer-disclaimer-inline {
  border-left: 0 !important;
  border-top: 3px solid var(--kqtt-red) !important;
  padding: 9px 4px 0 !important;
}

/* ================================================================
   Modern dashboard layout refresh
   ================================================================ */

html { background: #f3f7fd; }
body {
  background:
    radial-gradient(circle at 8% 10%, rgba(0, 124, 248, .07), transparent 28rem),
    radial-gradient(circle at 94% 32%, rgba(204, 0, 0, .045), transparent 25rem),
    #f5f8fd !important;
}

.main,
.wrap { max-width: 1260px !important; }

body > header .main { max-width: 1260px !important; }

body > header .top-info {
  gap: 14px !important;
}

#nav-horizontal-list { gap: 3px !important; }
#nav-horizontal-list > li > a,
#nav-horizontal-list > li > span.arr-d {
  border-radius: 8px !important;
  padding-top: 9px !important;
  padding-bottom: 9px !important;
}

.header-search {
  flex: 0 0 190px !important;
  margin-left: 4px !important;
}
.header-search-input {
  border-radius: 10px 0 0 10px !important;
  background: #f3f7fd !important;
  border-color: #b9cbe5 !important;
  color: var(--kqtt-blue-dark) !important;
}
.header-search-input::placeholder { color: #637694 !important; }
.header-search-input:focus {
  background: #fff !important;
  border-color: var(--kqtt-blue) !important;
  box-shadow: 0 0 0 3px rgba(0, 105, 220, .12) !important;
}
.header-search-btn { border-radius: 0 10px 10px 0 !important; }

.content.main {
  grid-template-columns: minmax(0, 1fr) 420px !important;
  gap: 20px !important;
  margin-top: 20px !important;
  margin-bottom: 28px !important;
}

.col-l,
.col-sidebar { min-width: 0 !important; }

.col-sidebar { gap: 4px !important; }
.sidebar-top {
  grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr) !important;
  gap: 14px !important;
  margin-bottom: 14px !important;
}

.col-l .box,
.col-l .box.tr-hover,
.col-center .box,
.col-right .box,
.sb-week-full .box {
  border-radius: 16px !important;
  box-shadow: 0 8px 26px rgba(0, 43, 120, .08) !important;
}

.col-l .box,
.col-l .box.tr-hover {
  margin-bottom: 18px !important;
}
.col-l .box:hover {
  box-shadow: 0 12px 32px rgba(0, 43, 120, .12) !important;
}

.col-l h2.regional-title,
.col-l .tit-mien,
.col-l .box > .regional-title,
.col-l .box > .tit-mien,
.col-l h3.regional-title {
  min-height: 46px !important;
  padding: 12px 17px !important;
  font-size: 13px !important;
}

/* A lighter, layered sidebar replaces the old heavy dark blocks. */
.col-center .box,
.col-right .box,
.sb-week-full .box {
  background: rgba(255, 255, 255, .96) !important;
  border: 1px solid rgba(0, 64, 176, .13) !important;
  color: var(--kqtt-text) !important;
}

.col-center .box *,
.col-right .box *,
.sb-week-full .box * {
  color: var(--kqtt-text);
}

.col-center .tit-mien,
.col-right .tit-mien,
.sb-week-full .tit-mien,
.col-center .box > .tit-mien,
.col-right .box > .tit-mien,
.sb-week-full .box > .tit-mien,
.col-center .regional-title,
.col-right .regional-title {
  min-height: 42px !important;
  padding: 11px 14px !important;
  background: linear-gradient(105deg, var(--kqtt-blue-dark), var(--kqtt-blue)) !important;
  color: #fff !important;
}

.col-center .tit-mien *,
.col-right .tit-mien *,
.sb-week-full .tit-mien *,
.col-center .regional-title *,
.col-right .regional-title * { color: #fff !important; }

.sb-today-label {
  padding: 9px 14px !important;
  background: var(--kqtt-blue-tint) !important;
  border-bottom-color: var(--kqtt-border) !important;
  color: var(--kqtt-blue-dark) !important;
}

.col-center a,
.col-right a,
.sb-week-full a,
.col-center .box a,
.col-right .box a,
.sb-week-full .box a { color: var(--kqtt-blue-dark) !important; }

.sb-section {
  padding: 7px 0 4px !important;
  border-bottom: 1px solid #edf2f9 !important;
}
.sb-section:last-child { border-bottom: 0 !important; }

.sb-region-tag {
  margin-top: 5px !important;
  margin-bottom: 2px !important;
}
.sb-region-tag.sb-mb {
  background: #fff0f0 !important;
  border-color: #ffcaca !important;
  color: var(--kqtt-red) !important;
}
.sb-region-tag.sb-mt {
  background: #eef5ff !important;
  border-color: #c2d9ff !important;
  color: var(--kqtt-blue) !important;
}
.sb-region-tag.sb-mn {
  background: var(--kqtt-blue) !important;
  border-color: var(--kqtt-blue) !important;
  color: #fff !important;
}

.sb-province-list {
  gap: 7px !important;
  padding-bottom: 12px !important;
}
.sb-province-link {
  min-height: 28px !important;
  background: #fff !important;
  border-color: #d6e3f5 !important;
  color: var(--kqtt-blue-dark) !important;
  box-shadow: 0 2px 8px rgba(0, 43, 120, .055) !important;
}
.sb-province-link:hover {
  background: var(--kqtt-blue) !important;
  border-color: var(--kqtt-blue) !important;
  color: #fff !important;
}

.sb-mini-region {
  padding: 11px 12px !important;
  border-bottom-color: #edf2f9 !important;
}
.sb-mini-region > span {
  background: var(--kqtt-blue-pale) !important;
  color: var(--kqtt-blue) !important;
}

.sb-quicklinks { padding: 5px !important; }
.sb-quicklinks li a {
  margin: 2px 0 !important;
  padding: 9px 10px !important;
  border: 0 !important;
  border-radius: 9px !important;
  color: var(--kqtt-blue-dark) !important;
}
.sb-quicklinks li a::before {
  background: transparent !important;
  color: var(--kqtt-red) !important;
}
.sb-quicklinks li a:hover {
  padding-left: 10px !important;
  background: var(--kqtt-blue-pale) !important;
  color: var(--kqtt-blue) !important;
}

/* Beat legacy hover specificity: pale background must keep dark readable text. */
.col-right .box .sb-quicklinks li a:hover,
.col-right .sb-result-box .sb-quicklinks li a:hover {
  background: #e8f1ff !important;
  color: #002b78 !important;
  box-shadow: inset 3px 0 0 var(--kqtt-red) !important;
}
.col-right .box .sb-quicklinks li a:hover::before,
.col-right .sb-result-box .sb-quicklinks li a:hover::before {
  color: var(--kqtt-red) !important;
}

.sb-week-table {
  border-radius: 0 0 16px 16px !important;
}
.sb-week-table th {
  padding: 10px 12px !important;
  background: #f0f5fc !important;
  border-right-color: #d5e1f1 !important;
  border-bottom: 2px solid var(--kqtt-red) !important;
  color: var(--kqtt-blue-dark) !important;
}
.sb-week-table td {
  padding: 9px 10px !important;
  border-right-color: #dce6f3 !important;
  border-bottom-color: #dce6f3 !important;
}
.sb-week-table tbody tr:nth-child(odd) td,
.sb-week-table tbody tr:nth-child(even) td {
  background: #fff !important;
  color: var(--kqtt-text) !important;
}
.sb-week-table tbody tr:nth-child(even) td { background: #f7faff !important; }
.sb-week-table tbody tr.sb-today-row:nth-child(odd) td,
.sb-week-table tbody tr.sb-today-row:nth-child(even) td {
  background: linear-gradient(90deg, #e9f2ff, #fff2f2) !important;
}
.sb-week-table tbody tr:nth-child(odd) .sb-province-link,
.sb-week-table tbody tr:nth-child(even) .sb-province-link,
.sb-week-table tbody tr.sb-today-row .sb-province-link {
  background: #fff !important;
  border-color: #bed3ef !important;
  color: var(--kqtt-blue-dark) !important;
}

/* The homepage hero becomes an asymmetric desktop bento. */
.kqtt-home-hero {
  min-height: 205px;
  padding: 30px !important;
  border-radius: 20px !important;
  box-shadow: 0 14px 36px rgba(0, 43, 120, .2) !important;
}
.kqtt-home-hero::before {
  content: '';
  position: absolute;
  inset: 0 0 0 auto;
  width: 34%;
  border-left: 1px solid rgba(255, 255, 255, .12);
  background:
    linear-gradient(145deg, rgba(255,255,255,.09), transparent 42%),
    repeating-linear-gradient(135deg, transparent 0 13px, rgba(255,255,255,.025) 13px 14px);
  pointer-events: none;
}
.kqtt-home-hero__content {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 230px;
  grid-template-rows: auto 1fr;
  column-gap: 30px;
  height: 100%;
}
.kqtt-home-hero__heading { grid-column: 1; }
.kqtt-home-hero__description {
  grid-column: 1;
  max-width: 560px;
  margin-bottom: 0;
}
.kqtt-home-hero__actions {
  grid-column: 2;
  grid-row: 1 / span 2;
  align-content: center;
  justify-content: flex-end;
  align-self: center;
}
.kqtt-home-hero .ddt-hero-cta {
  justify-content: center;
  min-width: 220px;
  min-height: 40px;
}
.kqtt-home-hero h2 { font-size: 24px; }
.kqtt-home-hero__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 14px;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
  letter-spacing: .5px;
}

.alert {
  min-height: 50px !important;
  padding: 10px 16px !important;
  border: 1px solid var(--kqtt-border) !important;
  border-left: 4px solid var(--kqtt-blue-light) !important;
  border-radius: 12px !important;
  box-shadow: 0 5px 16px rgba(0, 43, 120, .055) !important;
}

table.kqmb,
.col-l table.data,
.col-l table.data2 {
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

@media (max-width: 1120px) {
  .main,
  .wrap { max-width: 100% !important; }
  .content.main {
    grid-template-columns: minmax(0, 1fr) 390px !important;
    gap: 14px !important;
  }
  .header-search { display: none !important; }
  body > header .logo {
    flex-basis: 232px !important;
    width: 232px !important;
  }
  body > header .logo img.site-logo-image {
    width: 224px !important;
    transform: translateY(0) !important;
  }
  .kqtt-home-hero__content {
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
  .kqtt-home-hero__heading,
  .kqtt-home-hero__description,
  .kqtt-home-hero__actions {
    grid-column: 1;
    grid-row: auto;
  }
  .kqtt-home-hero__description { margin-bottom: 18px; }
  .kqtt-home-hero__actions { justify-content: flex-start; }
  .kqtt-home-hero .ddt-hero-cta { min-width: 0; }
}

@media (max-width: 900px) {
  .content.main {
    grid-template-columns: minmax(0, 1fr) 330px !important;
  }
  .sidebar-top { grid-template-columns: 1fr !important; }
  .col-right { display: none !important; }
}

@media (max-width: 660px) {
  .content.main {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    width: 100% !important;
    padding-right: 8px !important;
    padding-left: 8px !important;
  }
  .col-sidebar { display: none !important; }
  body > header .top-info {
    min-height: 58px !important;
    height: 58px !important;
    padding-top: 3px !important;
    padding-bottom: 3px !important;
  }
  body > header .logo {
    flex-basis: 218px !important;
    width: 218px !important;
    height: 52px !important;
    border-radius: 0 !important;
  }
  body > header .logo a.txtlogo { height: 52px !important; }
  body > header .logo img.site-logo-image {
    width: 210px !important;
    height: auto !important;
    transform: translateY(-5px) !important;
  }
  .navbar-toggle {
    border-color: var(--kqtt-blue) !important;
  }
  .navbar-toggle .icon-bar {
    background: var(--kqtt-blue) !important;
  }
  .content.main {
    margin-top: 14px !important;
    margin-bottom: 20px !important;
  }
  .kqtt-home-hero {
    min-height: 0;
    padding: 24px 21px !important;
    border-radius: 16px !important;
  }
  .kqtt-home-hero::before { width: 42%; }
  .kqtt-home-hero h2 { font-size: 21px; }
  .kqtt-home-hero__icon {
    width: 43px;
    height: 43px;
  }
  .kqtt-home-hero__actions { justify-content: flex-start; }
  .kqtt-home-hero .ddt-hero-cta {
    min-width: 0;
    min-height: 38px;
  }
  .col-l .box,
  .col-l .box.tr-hover { border-radius: 13px !important; }
}

/* Final weekly-table hover override: neutralise legacy brown/gold states. */
.sb-week-full .box table.sb-week-table tbody tr .sb-day,
.sb-week-full .box table.sb-week-table tbody tr:nth-child(odd) .sb-day,
.sb-week-full .box table.sb-week-table tbody tr:nth-child(even) .sb-day,
.sb-week-full .box table.sb-week-table tbody tr.sb-today-row .sb-day {
  color: var(--kqtt-blue-dark) !important;
}

.sb-week-full .box table.sb-week-table tbody tr:nth-child(odd):hover td,
.sb-week-full .box table.sb-week-table tbody tr:nth-child(even):hover td,
.sb-week-full .box table.sb-week-table tbody tr.sb-today-row:hover td {
  background: linear-gradient(90deg, #e6f0ff 0%, #fff0f0 100%) !important;
  color: var(--kqtt-blue-dark) !important;
}

.sb-week-full .box table.sb-week-table tbody tr:nth-child(odd):hover .sb-day,
.sb-week-full .box table.sb-week-table tbody tr:nth-child(even):hover .sb-day,
.sb-week-full .box table.sb-week-table tbody tr.sb-today-row:hover .sb-day {
  color: var(--kqtt-blue-dark) !important;
}

.sb-week-full .box table.sb-week-table tbody tr:nth-child(odd):hover .sb-province-link,
.sb-week-full .box table.sb-week-table tbody tr:nth-child(even):hover .sb-province-link,
.sb-week-full .box table.sb-week-table tbody tr.sb-today-row:hover .sb-province-link {
  background: #fff !important;
  border-color: var(--kqtt-blue-light) !important;
  color: var(--kqtt-blue-dark) !important;
  box-shadow: 0 3px 10px rgba(0, 64, 176, .12) !important;
}

.sb-week-full .box table.sb-week-table tbody tr .sb-province-link:hover {
  background: var(--kqtt-red) !important;
  border-color: var(--kqtt-red) !important;
  color: #fff !important;
}

/* Province silo: pillar page -> dated result posts. */
.xoso-province-archive {
  margin: 18px 0;
  padding: 22px;
  border: 1px solid var(--kqtt-border);
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 8px 24px rgba(0, 43, 120, .07);
}
.xoso-province-archive__head {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  padding-bottom: 14px;
  border-bottom: 2px solid var(--kqtt-red);
  text-align: center;
}
.xoso-province-archive__head span { color: var(--kqtt-red); font-size: 12px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.xoso-province-archive__head h2 { margin: 4px 0 0; color: var(--kqtt-blue-dark); font-size: 20px; line-height: 1.35; }
.xoso-daily-back {
  flex: none;
  padding: 11px 18px;
  border-radius: 999px;
  background: linear-gradient(105deg, var(--kqtt-blue-dark), var(--kqtt-blue));
  color: #fff !important;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none;
  box-shadow: 0 7px 18px rgba(0, 64, 176, .2);
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.xoso-province-archive > p { margin: 14px 0; color: #52637b; line-height: 1.7; text-align: center; }
.xoso-province-archive__list { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.xoso-province-archive__list li { margin: 0; padding: 0; }
.xoso-province-archive__list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid #d7e3f4;
  border-left: 4px solid var(--kqtt-blue);
  border-radius: 9px;
  background: #fff;
  color: var(--kqtt-blue-dark) !important;
  font-weight: 750;
  text-decoration: none;
  transition: border-color .2s ease, background .2s ease, transform .2s ease, box-shadow .2s ease;
}
.xoso-province-archive__list a:hover {
  border-color: var(--kqtt-red);
  border-left-color: var(--kqtt-red);
  background: #fff6f6;
  transform: translateX(3px);
  box-shadow: 0 6px 16px rgba(0, 43, 120, .09);
}
.xoso-province-archive__list a span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.xoso-province-archive__list a b { flex: none; color: var(--kqtt-red); font-size: 18px; transition: transform .2s ease; }
.xoso-province-archive__list a:hover b { transform: translateX(3px); }
.xoso-province-archive__empty { padding: 16px; border-radius: 10px; background: #f3f7fd; color: #52637b; text-align: center; }

.xoso-daily-breadcrumb { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; color: #64748b; font-size: 12px; }
.xoso-daily-breadcrumb a { color: var(--kqtt-blue-dark); font-weight: 700; }
.xoso-daily-hero {
  margin-bottom: 14px;
  padding: 22px;
  border-radius: 16px;
  background: linear-gradient(130deg, var(--kqtt-blue-dark), var(--kqtt-blue-light));
  color: #fff;
}
.xoso-daily-hero > span { display: inline-flex; margin-bottom: 8px; padding: 5px 9px; border: 1px solid rgba(255,255,255,.35); border-radius: 999px; background: rgba(255,255,255,.12); font-size: 11px; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
.xoso-daily-hero h1 { margin: 0 0 8px; color: #fff; font-size: 26px; line-height: 1.35; }
.xoso-daily-hero p { margin: 0; color: rgba(255,255,255,.86); line-height: 1.65; }
.xoso-daily-result-box {
  overflow: hidden;
  border: 1px solid #c9d9ef;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(0, 43, 120, .09);
}
.xoso-daily-result-box .regional-title {
  margin: 0;
  padding: 15px 18px;
  background: linear-gradient(105deg, #b40000, var(--kqtt-red), #e41b1b);
  text-align: center;
}
.xoso-daily-result-box .regional-title h2 { margin: 0; color: #fff; font-size: 17px; line-height: 1.45; }
.xoso-daily-result-box .one-city { padding: 8px; }
.xoso-daily-result-box table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  table-layout: fixed !important;
}
.xoso-daily-result-box table tr > td {
  padding: 11px 12px !important;
  border-right: 0 !important;
  border-bottom: 1px solid #e3ebf6 !important;
  background: #fff !important;
  text-align: center !important;
  vertical-align: middle !important;
}
.xoso-daily-result-box table tr:last-child > td { border-bottom: 0 !important; }
.xoso-daily-result-box table tr > td:first-child {
  width: 104px !important;
  border-right: 1px solid #d8e4f3 !important;
  background: #edf4ff !important;
  color: var(--kqtt-blue-dark) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}
.xoso-daily-result-box table tr:nth-child(even) > td:not(:first-child) { background: #f7faff !important; }
.xoso-daily-result-box table tr:hover > td { background: #fff4f4 !important; }
.xoso-daily-result-box table tr:hover > td:first-child { background: #e3eeff !important; }
.xoso-daily-result-box td.v-giai.number,
.xoso-daily-result-box td[class^="giai"] {
  color: #0a1d3b !important;
  font-size: 20px !important;
  font-weight: 800 !important;
  letter-spacing: .055em !important;
  line-height: 1.45 !important;
  text-align: center !important;
}
.xoso-daily-result-box td.v-giai.number span,
.xoso-daily-result-box td[class^="giai"] > div {
  display: inline-block !important;
  min-width: 64px;
  margin: 2px 5px !important;
  color: inherit !important;
  font-size: inherit !important;
  text-align: center !important;
}
.xoso-daily-result-box tr.db > td,
.xoso-daily-result-box tr.gdb > td { background: #fff3f3 !important; }
.xoso-daily-result-box tr.db > td:first-child,
.xoso-daily-result-box tr.gdb > td:first-child { color: var(--kqtt-red) !important; }
.xoso-daily-result-box .v-gdb,
.xoso-daily-result-box .giaidb { color: var(--kqtt-red) !important; font-size: 27px !important; letter-spacing: .18em !important; }
.xoso-daily-content { margin-top: 14px; padding: 18px 20px; border: 1px solid #dce6f3; border-radius: 14px; background: #fff; color: #40516a; line-height: 1.75; text-align: center; }
.xoso-daily-content p { margin: 0; }
.xoso-daily-actions { display: flex; justify-content: center; margin: 16px 0 2px; }
.xoso-daily-back { display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.xoso-daily-back:hover { background: linear-gradient(105deg, #b40000, var(--kqtt-red)); transform: translateY(-2px); box-shadow: 0 10px 22px rgba(204, 0, 0, .24); }

@media (max-width: 660px) {
  .xoso-province-archive { padding: 16px; }
  .xoso-province-archive__head { align-items: center; }
  .xoso-province-archive__list a { font-size: 13px; }
  .xoso-daily-hero { padding: 18px; }
  .xoso-daily-hero h1 { font-size: 21px; }
  .xoso-daily-result-box .one-city { padding: 5px; }
  .xoso-daily-result-box table tr > td { padding: 9px 5px !important; }
  .xoso-daily-result-box table tr > td:first-child { width: 66px !important; font-size: 11px !important; }
  .xoso-daily-result-box td.v-giai.number,
  .xoso-daily-result-box td[class^="giai"] { font-size: 16px !important; letter-spacing: .03em !important; }
  .xoso-daily-result-box td.v-giai.number span,
  .xoso-daily-result-box td[class^="giai"] > div { min-width: 42px; margin: 2px 2px !important; }
  .xoso-daily-result-box .v-gdb,
  .xoso-daily-result-box .giaidb { font-size: 23px !important; }
}
