/* ==========================================================================
   LiveSports Today - Professional Sports Media Theme
   Brand: livesportstoday.top
   Style: Authentic Broadcast & Editorial Sports (ESPN / Sky Sports standard)
   ========================================================================== */

:root {
  --ls-brand-red: #dc2626;
  --ls-brand-red-hover: #b91c1c;
  --ls-brand-navy: #0e1626;
  --ls-brand-navy-light: #182238;
  --ls-brand-navy-dark: #090e1a;
  --ls-bg-canvas: #f8fafc;
  --ls-bg-card: #ffffff;
  --ls-text-headline: #0f172a;
  --ls-text-body: #334155;
  --ls-text-muted: #64748b;
  --ls-border: #e2e8f0;
  --ls-border-dark: #243048;
  --ls-radius: 8px;
  --ls-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.07), 0 1px 2px rgba(0, 0, 0, 0.04);
  --ls-shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.08), 0 2px 4px -1px rgba(0, 0, 0, 0.04);
  --ls-shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.08), 0 4px 6px -2px rgba(0, 0, 0, 0.04);
}

/* Base resets & Canvas */
body, 
body.home, 
.td-main-content-wrap, 
.td-container-wrap {
  background-color: var(--ls-bg-canvas) !important;
  color: var(--ls-text-body) !important;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased;
}

/* Hide phantom invisible mobile overlays when inactive */
.td-menu-background,
#td-mobile-nav:not(.td-menu-mob-open),
.td-search-background,
.td-search-wrap-mob:not(.td-search-opened) {
  display: none !important;
}

/* Responsive Header Toggle */
@media (min-width: 768px) {
  .td-header-mobile-wrap {
    display: none !important;
  }
  .td-header-desktop-wrap {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .td-header-desktop-wrap {
    display: none !important;
  }
  .td-header-mobile-wrap {
    display: block !important;
  }
}

/* --------------------------------------------------------------------------
   HEADER & BROADCAST TOP BAR (Single Clean Border)
   -------------------------------------------------------------------------- */
.td-header-template-wrap {
  background-color: var(--ls-brand-navy) !important;
  border-bottom: 3px solid var(--ls-brand-red) !important;
}

.td-header-desktop-wrap,
.td-header-mobile-wrap {
  background-color: var(--ls-brand-navy) !important;
  border: none !important;
  border-bottom: none !important;
}

.tdi_12_rand_style,
.tdc-zone#tdi_10,
.tdc-zone#tdi_1,
.td-header-desktop-wrap .tdc-row,
.td-header-mobile-wrap .tdc-row {
  background-color: var(--ls-brand-navy) !important;
  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Header Flex Row Alignment */
.tdi_13,
.tdi_15 > .wpb_wrapper,
.tdi_15 > .wpb_wrapper > .tdc-elements {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
}

/* Logo Styling - Clean HTML Text Element */
.tdb_header_logo {
  flex-shrink: 0 !important;
  margin-right: 25px !important;
}

.tdb_header_logo .tdb-logo-a,
.tdb_header_logo h1 {
  display: flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.livesports-logo-wrapper {
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  padding: 10px 0;
}

.livesports-logo-icon {
  display: none !important;
}

.livesports-logo-text {
  display: flex;
  flex-direction: column;
  line-height: 1.1;
}

.livesports-logo-title {
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
  font-size: 22px !important;
  font-weight: 900 !important;
  letter-spacing: -0.5px;
  color: #ffffff !important;
  text-transform: uppercase;
}

.livesports-logo-title span {
  color: var(--ls-brand-red);
}

.livesports-logo-tagline {
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px;
  color: #94a3b8 !important;
  text-transform: uppercase;
}

/* --------------------------------------------------------------------------
   NAVBAR MENU - CLEAN TEXT LINKS (NO BUTTONS / NO BOXES)
   [Home] [Football] [News] [Soccer] [Sports]
   -------------------------------------------------------------------------- */
.tdb_header_menu,
.tdb_header_menu .tdb-block-inner,
.tdb_header_menu .tdb-menu-items-pulldown,
.tdb_header_menu .tdb-menu-items-pulldown-inactive,
.tdb_header_menu ul.tdb-menu,
.tdb_header_menu .tdb-menu-items-visible {
  opacity: 1 !important;
  visibility: visible !important;
  display: flex !important;
  align-items: center !important;
  flex-grow: 1 !important;
}

.tdb_header_menu .tdb-menu {
  display: flex !important;
  align-items: center !important;
  gap: 22px !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.tdb_header_menu .tdb-menu > li {
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  display: inline-flex !important;
  align-items: center !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.tdb_header_menu .tdb-menu > li > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #cbd5e1 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.8px !important;
  padding: 8px 0 !important;
  line-height: 1.2 !important;
  border-radius: 0 !important;
  transition: color 0.15s ease !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.tdb_header_menu .tdb-menu > li:hover > a {
  color: #ffffff !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

.tdb_header_menu .tdb-menu > li.current-menu-item > a,
.tdb_header_menu .tdb-menu > li.current-page-ancestor > a {
  color: var(--ls-brand-red) !important;
  background: transparent !important;
  background-color: transparent !important;
  border: none !important;
  box-shadow: none !important;
}

/* --------------------------------------------------------------------------
   EXPANDED HORIZONTAL SEARCH BAR
   -------------------------------------------------------------------------- */
.tdb_search_form,
.tdi_20 {
  width: 380px !important;
  min-width: 320px !important;
  max-width: 440px !important;
  margin-left: 20px !important;
  margin-right: 0 !important;
  flex-shrink: 0 !important;
}

.tdb_search_form .tdb-search-form-inner {
  height: 42px !important;
  background-color: var(--ls-brand-navy-light) !important;
  border: 1px solid var(--ls-border-dark) !important;
  border-radius: 6px !important;
  display: flex !important;
  align-items: center !important;
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2) !important;
  transition: border-color 0.2s ease;
}

.tdb_search_form .tdb-search-form-inner:focus-within {
  border-color: var(--ls-brand-red) !important;
}

.tdb_search_form .tdb-search-form-input {
  color: #ffffff !important;
  font-size: 14px !important;
  padding: 0 14px !important;
  height: 100% !important;
  width: 100% !important;
  flex: 1 !important;
  background: transparent !important;
  border: none !important;
}

.tdb_search_form .tdb-search-form-placeholder {
  color: #94a3b8 !important;
  font-size: 13px !important;
  padding-left: 14px !important;
}

.tdb_search_form .tdb-search-form-btn {
  background-color: var(--ls-brand-red) !important;
  color: #ffffff !important;
  border-radius: 0 5px 5px 0 !important;
  padding: 0 18px !important;
  height: 100% !important;
  min-height: 42px !important;
  border: none !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  transition: background-color 0.15s ease;
}

.tdb_search_form .tdb-search-form-btn:hover {
  background-color: var(--ls-brand-red-hover) !important;
}

/* --------------------------------------------------------------------------
   SECTION HEADERS / TITLES
   -------------------------------------------------------------------------- */
.tdm_block_column_title .tdm-title,
.td-block-title-wrap h3,
.td-block-title-wrap h4 {
  color: var(--ls-text-headline) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
  letter-spacing: -0.5px;
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border-left: 4px solid var(--ls-brand-red);
  padding-left: 12px;
  margin-bottom: 20px !important;
}

/* --------------------------------------------------------------------------
   ARTICLE CARDS - STRICT INDEPENDENT HOVER (NO CROSS-CARD TRIGGER)
   -------------------------------------------------------------------------- */
.td_module_wrap,
.td_module_flex,
.tdb_module_loop {
  background-color: var(--ls-bg-card) !important;
  border: 1px solid var(--ls-border) !important;
  border-radius: var(--ls-radius) !important;
  overflow: hidden !important;
  box-shadow: var(--ls-shadow-sm) !important;
  transition: transform 0.2s ease, box-shadow 0.2s ease, border-color 0.2s ease;
  margin-bottom: 20px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

/* Hovering ONE card only lifts that specific card */
.td_module_wrap:hover {
  transform: translateY(-3px);
  box-shadow: var(--ls-shadow-md) !important;
  border-color: #cbd5e1 !important;
}

.td-module-container {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  position: relative !important;
}

.td-module-container:before,
.td-module-container:after {
  display: none !important;
}

/* Image Container - Always on top, exact height, no blank bottom padding */
.td-image-container,
.td-module-thumb {
  order: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 190px !important;
  min-height: 190px !important;
  max-height: 190px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  position: relative !important;
  display: block !important;
  flex: none !important;
  background-color: #e2e8f0 !important;
  border-radius: var(--ls-radius) var(--ls-radius) 0 0 !important;
}

.td-image-wrap {
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  padding: 0 !important;
  margin: 0 !important;
  position: relative !important;
}

/* Card Image - Perfect Fit & Subtle Zoom on Hover of that ONE card */
.livesports-card-img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  border-radius: 0 !important;
  transition: transform 0.3s ease !important;
}

.td_module_wrap:hover .livesports-card-img {
  transform: scale(1.05);
}

.entry-thumb {
  display: none !important;
}

/* Card Text & Metadata - Always below the image with clean padding */
.td-module-meta-info {
  order: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 16px 18px 20px !important;
  background-color: var(--ls-bg-card) !important;
  border: none !important;
  border-radius: 0 0 var(--ls-radius) var(--ls-radius) !important;
  margin: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  flex: 1 1 auto !important;
  position: static !important;
}

/* Featured Hero Main Card (tdi_40) */
.tdi_40 .td-module-container {
  position: relative !important;
  height: 380px !important;
  border-radius: var(--ls-radius) !important;
  overflow: hidden !important;
}

.tdi_40 .td-image-container,
.tdi_40 .td-module-thumb {
  height: 100% !important;
  min-height: 100% !important;
  max-height: 100% !important;
  border-radius: var(--ls-radius) !important;
}

.tdi_40 .td-module-meta-info {
  position: absolute !important;
  bottom: 0 !important;
  left: 0 !important;
  right: 0 !important;
  width: 100% !important;
  background: linear-gradient(to top, rgba(14, 22, 38, 0.96) 0%, rgba(14, 22, 38, 0.75) 70%, transparent 100%) !important;
  padding: 30px 24px 24px !important;
  border-radius: 0 0 var(--ls-radius) var(--ls-radius) !important;
}

.tdi_40 .entry-title a {
  color: #ffffff !important;
  font-size: 22px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

.tdi_40 .entry-title a:hover {
  color: #fca5a5 !important;
}

/* --------------------------------------------------------------------------
   CATEGORY PILL BADGES - STRICT ISOLATED HOVER
   (Hovering Card 1 NEVER highlights Card 2 or Card 3)
   -------------------------------------------------------------------------- */
.td-post-category {
  display: inline-block !important;
  background-color: #fee2e2 !important;
  color: #dc2626 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.5px !important;
  padding: 4px 10px !important;
  border-radius: 4px !important;
  margin-bottom: 10px !important;
  opacity: 1 !important;
  visibility: visible !important;
  text-decoration: none !important;
  line-height: 1.2 !important;
  align-self: flex-start !important;
  transition: background-color 0.2s ease, color 0.2s ease !important;
}

/* Only the specific hovered badge or the single hovered card's badge triggers */
.td-post-category:hover,
.td_module_wrap:hover > .td-module-container > .td-module-meta-info > .td-post-category {
  background-color: #dc2626 !important;
  color: #ffffff !important;
}

/* Card Titles */
.entry-title,
.td-module-title {
  margin: 0 0 12px 0 !important;
}

.entry-title a,
.td-module-title a {
  color: var(--ls-text-headline) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-decoration: none !important;
  transition: color 0.15s ease;
  display: block;
}

.entry-title a:hover,
.td-module-title a:hover {
  color: var(--ls-brand-red) !important;
}

/* Author & Date info */
.td-editor-date,
.td-post-author-name,
.td-post-date,
.entry-date {
  color: var(--ls-text-muted) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.td-post-author-name a {
  color: var(--ls-text-body) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.td-post-author-name a:hover {
  color: var(--ls-brand-red) !important;
}

/* --------------------------------------------------------------------------
   FOOTER (Solid Broadcast Navy & High Contrast - Single Clean Border)
   -------------------------------------------------------------------------- */
.td-footer-template-wrap {
  background-color: var(--ls-brand-navy) !important;
  border-top: 4px solid var(--ls-brand-red) !important;
  margin-top: 60px !important;
  padding-top: 40px !important;
}

.td-footer-wrap,
.tdc-zone#tdi_77 {
  background-color: var(--ls-brand-navy) !important;
  border-top: none !important;
  border: none !important;
}

.td-footer-wrap p,
.td-footer-wrap span,
.td-footer-wrap a {
  color: #94a3b8 !important;
  font-size: 13px !important;
}

.td-footer-wrap a:hover {
  color: #ffffff !important;
}

.td-footer-wrap .td_block_list_menu ul li {
  margin-bottom: 10px !important;
}

.td-footer-wrap .td_block_list_menu ul li a {
  font-weight: 600 !important;
  font-size: 14px !important;
  color: #cbd5e1 !important;
  transition: color 0.15s ease, padding-left 0.15s ease;
}

.td-footer-wrap .td_block_list_menu ul li a:hover {
  color: #ffffff !important;
  padding-left: 4px;
}

.td-footer-wrap .tdm-descr {
  color: #64748b !important;
  font-size: 13px !important;
  border-top: 1px solid var(--ls-border-dark);
  padding-top: 20px;
  margin-top: 20px;
}

/* --------------------------------------------------------------------------
   CLEANUP & AD CONTAINER HIDDEN STATES
   -------------------------------------------------------------------------- */
.td-a-rec,
div[id^="zone_"],
.ai-viewports,
.code-block {
  display: none !important;
}
