/* Soicau247 — header + homepage layout parity */
/* Fonts: enqueue trong functions.php (soicau247-google-fonts) — tránh @import chặn render */

body.soicau247-site,
body.soicau247-home {
  font-family: Roboto, "Helvetica Neue", Helvetica, Arial, sans-serif;
  background: #e7e7e7;
  color: #333;
}

/* Hide default top ads slot */
.soicau247-site .jeg_ad.jeg_ad_top.jnews_header_top_ads {
  display: none !important;
}

/* === Chặn tràn ngang toàn site === */
html,
body.soicau247-site {
  overflow-x: clip;
  max-width: 100%;
}

.soicau247-site .jeg_viewport {
  max-width: 100% !important;
  overflow-x: clip;
}

/* === Full width header/footer + body 1300px (247 gốc) === */

.soicau247-site .jeg_header_wrapper,
.soicau247-site .jeg_topbar,
.soicau247-site .soicau247-red-nav,
.soicau247-site .jeg_midbar,
.soicau247-site .jeg_footer_container.jeg_container_full,
.soicau247-site .soicau247-footer .jeg_footer_content {
  width: 100% !important;
  max-width: 100% !important;
}

.soicau247-site .container.jeg_container_full,
.soicau247-site .jeg_container_full .container {
  max-width: 1300px !important;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  padding-left: 15px;
  padding-right: 15px;
  box-sizing: border-box;
}

/* Header + footer inner luôn 1300px (không bị rule homepage ghi đè) */
.soicau247-site .jeg_topbar .container.jeg_container_full,
.soicau247-site .jeg_midbar .container.jeg_container_full,
.soicau247-site .jeg_footer_content > .container.jeg_container_full,
.soicau247-site .jeg_footer_bottom .container {
  max-width: 1300px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 15px !important;
  padding-right: 15px !important;
  box-sizing: border-box !important;
}

.soicau247-site .jeg_footer_content > .container > .row {
  margin-left: -15px !important;
  margin-right: -15px !important;
}

.soicau247-site .jeg_content > .container,
.soicau247-site .jeg_main .container {
  max-width: 1300px !important;
  margin-left: auto;
  margin-right: auto;
}

/* Homepage: shell full-width; 1300px chỉ trong .e-con-inner (giống reference gốc) */
body.soicau247-home .jeg_content,
body.soicau247-home .jeg_content > .container,
body.soicau247-home .jeg_main .container,
body.soicau247-home .entry-content,
body.soicau247-home .content-inner {
  max-width: none !important;
  width: 100% !important;
}

/* Chỉ container nội dung chính — không đụng header/footer .container */
body.soicau247-home .jeg_content > .container.jeg_container_full {
  max-width: none !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.soicau247-red-nav-inner {
  max-width: 1300px !important;
  margin: 0 auto;
  padding: 0 15px;
}

/* Top utility bar — đỏ brand (gốc #d82226) */
.soicau247-site .jeg_topbar,
.soicau247-site .jeg_topbar.dark,
.soicau247-site .jeg_topbar.custom,
.soicau247-site .soicau247-topbar {
  background: #d82226 !important;
  border: none !important;
}

.soicau247-topbar-right {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: flex-end;
}

.soicau247-auth-menu {
  display: flex;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 8px;
}

.soicau247-auth-menu a {
  color: #fff !important;
  font-size: 12px;
  white-space: nowrap;
}

.soicau247-topbar-social a {
  color: #fff !important;
  margin-left: 6px;
  font-size: 14px;
}

.soicau247-site .jeg_topbar a,
.soicau247-site .jeg_topbar .jeg_menu > li > a {
  color: #fff !important;
  font-size: 12px;
  text-transform: none;
}

.soicau247-site .jeg_topbar .jeg_menu > li > a:hover {
  color: #ffde00 !important;
}

/* Mid bar — yellow + logo + banner */
.soicau247-site .jeg_midbar,
.soicau247-site .jeg_midbar.normal,
.soicau247-site .jeg_midbar.dark {
  background: #ffde00 !important;
  border: none !important;
  padding: 6px 0 0 !important;
}

.soicau247-site .soicau247-midbar-logo-row {
  min-height: auto;
}

.soicau247-site .jeg_midbar .jeg_logo_img {
  max-height: 130px !important;
  width: auto;
  height: auto;
}

.soicau247-banner-row,
.soicau247-banner-img {
  display: none !important;
}

/* Custom main nav (247 parity) */
.soicau247-red-nav {
  background: #db2b2b;
  width: 100%;
  overflow: visible;
}

.soicau247-red-nav-inner {
  max-width: 1300px;
  margin: 0 auto;
  padding: 0 15px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 46px;
  height: 46px;
  gap: 0;
  overflow: visible;
  box-sizing: border-box;
}

.soicau247-nav-menu {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  list-style: none;
  margin: 0;
  padding: 0;
  flex: 1 1 auto;
  min-width: 0;
}

.soicau247-nav-menu > li {
  position: relative;
  flex: 0 0 auto;
}

/* Submenu — parity reference JNews (.jeg_menu dropdown) */
.soicau247-nav-menu li.menu-item-has-children > a {
  padding-right: 18px;
}

.soicau247-nav-menu > li.menu-item-has-children > a::after,
.soicau247-nav-menu .jeg_menu.jeg_main_menu > li.menu-item-has-children > a::after {
  content: "\f107";
  display: inline-block;
  margin-left: 5px;
  font: normal normal normal 12px/1 FontAwesome;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
}

.soicau247-nav-menu .sub-menu {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 15em;
  margin: 0;
  padding: 0;
  list-style: none;
  background: #fff;
  text-align: left;
  white-space: nowrap;
  z-index: 1000;
  box-shadow: 0 0 2px rgba(0, 0, 0, 0.1), 0 20px 40px rgba(0, 0, 0, 0.18);
}

.soicau247-nav-menu li:hover > .sub-menu,
.soicau247-nav-menu li:focus-within > .sub-menu {
  display: block;
}

.soicau247-nav-menu .sub-menu li {
  position: relative;
  display: block;
  width: 100%;
  float: none;
}

.soicau247-nav-menu .sub-menu a {
  display: block;
  color: #7b7b7b !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.35 !important;
  text-transform: none !important;
  padding: 8px 16px !important;
  border-bottom: 1px solid #eee;
  white-space: nowrap;
  background: #fff;
}

.soicau247-nav-menu .sub-menu > li:last-child > a {
  border-bottom: 0;
}

.soicau247-nav-menu .sub-menu a:hover,
.soicau247-nav-menu .sub-menu a:focus {
  color: #212121 !important;
  background: #f5f5f5 !important;
}

.soicau247-nav-menu .sub-menu .sub-menu {
  top: 0;
  left: 100%;
}

.soicau247-nav-menu .sub-menu li.menu-item-has-children > a::after {
  content: "\f105";
  position: absolute;
  right: 10px;
  top: 50%;
  margin-top: -6px;
}

.soicau247-nav-menu > li > a {
  display: block;
  color: #fff !important;
  font-weight: 700;
  font-size: 14px;
  line-height: 1.2;
  text-transform: uppercase;
  padding: 15px 7px;
  text-decoration: none !important;
  white-space: nowrap;
  box-sizing: border-box;
}

.soicau247-nav-menu > li > a:hover,
.soicau247-nav-menu > li.current-menu-item > a {
  color: #ffde00 !important;
}

/* Search — JNews popup (giống reference) trong thanh đỏ */
.soicau247-red-nav .jeg_nav_item.jeg_search_wrapper.search_icon {
  position: relative;
  flex: 0 0 auto;
  margin: 0 0 0 auto;
  padding: 0;
  float: none;
  height: 46px;
  align-self: center;
  display: flex;
  align-items: center;
  overflow: visible;
}

.soicau247-red-nav .jeg_search_wrapper .jeg_search_form,
.soicau247-red-nav .jeg_search_wrapper .jeg_search_result {
  position: absolute;
  top: 100%;
  right: 0;
  left: auto;
  margin: 0;
}

.soicau247-red-nav .jeg_search_toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff !important;
  height: 46px;
  padding: 0 12px;
  line-height: 1;
  background: transparent !important;
  border: none;
  box-shadow: none;
  text-decoration: none !important;
  box-sizing: border-box;
}

.soicau247-red-nav .jeg_search_toggle:hover,
.soicau247-red-nav .jeg_search_toggle:focus {
  color: #ffde00 !important;
  background: transparent !important;
}

.soicau247-red-nav .jeg_search_toggle .fa {
  font-size: 16px;
  width: 1em;
  text-align: center;
}

.soicau247-red-nav-inner.jeg_search_expanded .jeg_search_popup_expand .jeg_search_form,
.soicau247-red-nav .jeg_search_expanded .jeg_search_popup_expand .jeg_search_form {
  right: 0;
  left: auto;
}

.soicau247-red-nav-inner.jeg_search_expanded .jeg_search_popup_expand:last-child .jeg_search_form {
  right: 0;
}

/* Mobile: cuộn ngang menu nếu tràn, ẩn thanh scrollbar */
@media (max-width: 991px) {
  .soicau247-red-nav-inner {
    height: auto;
    min-height: 46px;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  .soicau247-red-nav-inner::-webkit-scrollbar {
    display: none;
    height: 0;
  }
}

.soicau247-site .jeg_bottombar {
  display: none !important;
}

/* 3-column homepage — Elementor 6367 parity 50% / 25% / 25% */
.soicau247-home-grid-top {
  margin-bottom: 0;
}

.soicau247-home-grid-top > .e-con-inner {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: stretch;
  width: 100%;
}

.soicau247-col-main,
.soicau247-col-mid,
.soicau247-col-side {
  flex: 1 1 100%;
  min-width: 0;
  padding: 0 6px;
  box-sizing: border-box;
  align-self: stretch;
  display: flex;
  --flex-direction: column;
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}

.soicau247-col-main > .gilode-shortcode-wrap,
.soicau247-col-mid > .gilode-shortcode-wrap,
.soicau247-col-side > .gilode-shortcode-wrap {
  width: 100%;
  max-width: 100%;
  flex: 0 0 auto;
}

@media (min-width: 768px) {
  .soicau247-home-grid-top > .e-con-inner {
    flex-wrap: nowrap;
  }

  .soicau247-col-main {
    flex: 0 0 50%;
    max-width: 50%;
  }

  .soicau247-col-mid {
    flex: 0 0 25%;
    max-width: 25%;
  }

  .soicau247-col-side {
    flex: 0 0 25%;
    max-width: 25%;
  }
}

/* JNews boxed widgets */
.soicau247-home .widget.jeg_pb_boxed {
  background: #fff;
  border: 1px solid #e9ecef;
  margin-bottom: 16px;
  padding: 0;
}

.soicau247-home .widget.jeg_pb_boxed .jeg_block_heading {
  margin: 0;
}

.soicau247-home .widget.jeg_pb_boxed .jeg_block_title {
  background: #db2b2b;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 12px;
  margin: 0;
  display: block;
}

.soicau247-home .widget.jeg_pb_boxed .jeg_block_title a {
  color: #fff !important;
}

.soicau247-home .widget.widget_nav_menu .menu {
  list-style: none;
  margin: 0;
  padding: 8px 0;
}

.soicau247-home .widget.widget_nav_menu .menu a {
  display: block;
  padding: 6px 12px;
  color: #333;
  font-size: 14px;
  line-height: 1.6;
  text-decoration: none;
}

.soicau247-home .widget.widget_nav_menu .menu a:hover {
  color: #d82226;
}

.soicau247-home .widget.widget_nav_menu .jeg_font_menu {
  margin-right: 6px;
  color: #d82226;
}

/* Footer 247 */
.soicau247-footer.jeg_footer_3 .jeg_footer_content {
  background: #1a1a1a;
  color: #fff;
  padding: 30px 0 20px;
}

.soicau247-footer .footer_logo img {
  max-width: 180px;
  height: auto;
  margin-bottom: 12px;
}

.soicau247-footer .jeg_about p,
.soicau247-footer .footer_widget {
  font-size: 13px;
  line-height: 1.6;
  color: #ccc;
}

.soicau247-footer .jeg_footer_heading {
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  margin-bottom: 12px;
  text-transform: uppercase;
}

.soicau247-footer .footer_widget .menu {
  list-style: none;
  padding: 0;
  margin: 0;
}

.soicau247-footer .footer_widget .menu a {
  color: #ccc;
  font-size: 14px;
  line-height: 1.6;
  padding: 4px 0;
  display: block;
}

.soicau247-footer .footer_widget .menu a:hover {
  color: #fff;
}

.soicau247-footer .jeg_footer_bottom {
  background: #111;
  padding: 12px 0;
  border-top: 1px solid #333;
}

.soicau247-footer .jeg_footer_bottom .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.soicau247-footer .copyright {
  margin: 0;
  color: #999;
  font-size: 12px;
}

.soicau247-footer .footer_menu {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
  gap: 12px;
}

.soicau247-footer .soicau247-footer-posts .jeg_post_title,
.soicau247-footer .soicau247-footer-posts .jeg_post_title a {
  display: block !important;
  visibility: visible !important;
}

.soicau247-footer .soicau247-footer-posts .jeg_post {
  margin: 0 0 10px;
  padding: 0 0 8px;
  border-bottom: 1px solid #333;
}

.soicau247-footer .soicau247-footer-posts .jeg_post:last-child {
  border-bottom: 0;
  margin-bottom: 0;
  padding-bottom: 0;
}

.soicau247-footer .soicau247-footer-posts .jeg_post_title {
  font-size: 13px;
  font-weight: 600;
  line-height: 1.35;
  margin: 0;
}

.soicau247-footer .soicau247-footer-posts .jeg_post_title a {
  color: #ccc !important;
}

.soicau247-footer .soicau247-footer-posts .jeg_post_title a:hover {
  color: #fff !important;
}

.soicau247-footer .soicau247-footer-posts-empty {
  margin: 0;
  font-size: 13px;
  color: #888;
}

  min-height: 0;
}

.soicau247-site .jeg_midbar {
  min-height: 0;
}

.soicau247-home .entry-content {
  background: #fff;
  padding: 0 12px 20px;
}

/* Page title red bar */
.soicau247-page-title {
  background: #db2b2b !important;
  padding: 10px;
  margin: 0 0 0;
  text-align: center;
  border: none;
  display: block !important;
  visibility: visible !important;
}

.soicau247-page-title h1 {
  margin: 0;
  font-size: 17px;
  font-weight: 700;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.35;
  letter-spacing: 0;
}

/* Intro — không sát viền (PC + mobile) */
.soicau247-intro,
body.soicau247-home .soicau247-home-wrap .soicau247-intro {
  margin: 0 0 16px;
  padding: 12px 5px 10px 10px;
  background: transparent;
  border: none;
  font-size: 14px;
  line-height: 1.65;
  color: #333;
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-height: 6.75rem;
}

.soicau247-intro p {
  margin: 0 0 10px;
}

.soicau247-intro p:last-child {
  margin-bottom: 0;
}

.soicau247-intro strong {
  color: #db2b2b;
  font-weight: 700;
}

.soicau247-home .gilode-shortcode-wrap {
  margin-bottom: 12px;
}

/* Nuôi lô stats — DOM gốc */
.soicau247-home .khung-shared-header {
  background: #31305a;
  padding: 16px 12px;
  margin-bottom: 16px;
  text-align: center;
}

.soicau247-home .khung-shared-title {
  margin: 0;
  font-size: 17px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 1px;
}

.soicau247-home .stats-grid-3x3 {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  margin-top: 10px;
}

.soicau247-home .stats-grid-3x3 .stats-item {
  border: 1px solid #e0e0e0;
  background: #fff;
  padding: 8px 10px;
  text-align: center;
}

.soicau247-home .stats-grid-3x3 .stats-label {
  margin: 0 0 4px;
  font-size: 11px;
  text-transform: uppercase;
  color: #666;
}

.soicau247-home .stats-grid-3x3 .stats-number {
  margin: 0;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.1;
}

.soicau247-home .stats-item.total .stats-number,
.soicau247-home .stats-item.tong-so-lo .stats-number,
.soicau247-home .stats-item.ty-le-trung .stats-number {
  color: #0d6efd;
}

.soicau247-home .stats-item.dang-nuoi .stats-number {
  color: #fd7e14;
}

.soicau247-home .stats-item.ket-thuc .stats-number,
.soicau247-home .stats-item.trung .stats-number {
  color: #198754;
}

.soicau247-home .nuoi-lo-stats-note {
  font-size: 12px;
  line-height: 1.5;
  margin: 10px 0 16px;
  color: #333;
}

.soicau247-home .nuoi-lo-stats-note a {
  color: #db2b2b;
}

/* VIP table — bang-chot-vip */
.soicau247-home .bang-chot-vip {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-family: Roboto, Arial, Helvetica, sans-serif;
}

.soicau247-home .bang-chot-vip th,
.soicau247-home .bang-chot-vip td {
  border: 1px solid #ccc;
  padding: 5px;
  text-align: center;
  font-size: 13px;
}

.soicau247-home .bang-chot-vip th {
  background: #31305a !important;
  color: #fff !important;
  font-weight: 700;
}

.soicau247-home .bang-chot-vip .table-title-header th {
  background: #db2b2b !important;
  padding: 10px 12px;
  text-transform: uppercase;
  letter-spacing: 1px;
}

.soicau247-home .bang-chot-vip td {
  background: #fff;
}

.soicau247-home .bang-chot-vip tr:nth-child(even) td {
  background: #f9f9f9;
}

.soicau247-home .bang-chot-vip .cau-chot {
  font-weight: 700;
  text-align: left;
  padding-left: 15px;
}

.soicau247-home .bang-chot-vip .so-dep {
  font-weight: 700;
  color: #31305a;
}

.soicau247-home .bang-chot-vip .cho-kq {
  color: #ff9800;
  font-size: 12px;
}

.soicau247-home .vip-cta {
  text-align: center;
  font-size: 14px;
  margin: 8px 0 12px;
}

.soicau247-home .vip-cta a {
  color: #db2b2b;
}

/* Discussion box */
.soicau247-home .soicau247-discussion-widget .jeg_block_title {
  background: #db2b2b;
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 10px 12px;
  margin: 0;
}

.soicau247-home .soicau247-discussion-widget .jeg_block_title span {
  color: #fff;
}

.soicau247-home .soicau247-discussion-widget .textwidget {
  padding: 12px;
  font-size: 13px;
  border: 1px solid #ddd;
  background: #fff;
}

/* FAQ — full width trong .soicau247-home-wrap 1300px (không breakout âm) */
.soicau247-home-wrap .soicau247-faq-row,
body.soicau247-home .soicau247-faq-row {
  margin: 0;
  padding: 20px 0 30px;
  width: 100%;
  box-sizing: border-box;
}

.soicau247-home .soicau-channel-note {
  padding: 10px;
  font-size: 13px;
  margin: 0;
  border-top: 1px solid #ddd;
}

.soicau247-home .soicau-channel-note a {
  color: #db2b2b;
  font-weight: 600;
}

/* KQXS header */
.soicau247-home .kqxs-mb-mini-header {
  background: #db2b2b;
  color: #fff;
  text-align: center;
  padding: 10px;
  font-weight: 700;
  text-transform: uppercase;
}

@media (max-width: 767px) {
  .soicau247-page-title h1 {
    font-size: 14px;
  }

  .soicau247-home .nuoi-lo-stats-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
