/*
Theme Name:   OVR SCCA Custom Theme 2026
Theme URI:    https://ovr-scca.org
Description:  Ohio Valley Region SCCA custom theme built on Kadence. High-contrast light-first design readable in bright sunlight and on mobile. Red/black SCCA color palette. Optional dark mode via toggle.
Author:       OVR SCCA
Author URI:   https://ovr-scca.org
Template:     kadence
Version:      2.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
Text Domain:  ovr-scca-2026
*/

/* ============================================================
   GOOGLE FONTS
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@600;700&family=Barlow:ital,wght@0,400;0,600;1,400&display=swap');

/* ============================================================
   LIGHT MODE — the default, always-on baseline.
   Every color here must pass WCAG AA on a white background.
   Dark mode is layered on top via body.ovr-dark when toggled.
   ============================================================ */

/* ---------- Core typography ---------- */
body,
.site,
#page {
  font-family: 'Barlow', sans-serif !important;
  font-size: 17px !important;
  line-height: 1.7 !important;
  color: #111111 !important;
  background-color: #ffffff !important;
}

/* ALL headings: near-black, condensed, heavy */
h1, h2, h3, h4, h5, h6,
.entry-title,
.page-title,
.widget-title,
.site-title,
.wp-block-heading,
.tribe-events-single-event-title,
.tribe-event-url {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  color: #111111 !important;
  line-height: 1.15 !important;
  letter-spacing: 0.3px !important;
}

h1 { font-size: 2.4rem !important; }
h2 { font-size: 1.9rem !important; }
h3 { font-size: 1.5rem !important; }
h4 { font-size: 1.25rem !important; }

/* Body text everywhere — hard black on white */
p,
li,
td,
th,
blockquote,
label,
.entry-content,
.entry-summary,
.widget,
.wp-block-paragraph {
  color: #111111 !important;
  font-family: 'Barlow', sans-serif !important;
}

/* Links */
a,
a:visited {
  color: #b30000 !important;   /* slightly darker red — better contrast on white */
  text-decoration: none !important;
}
a:hover,
a:focus {
  color: #880000 !important;
  text-decoration: underline !important;
}

/* Blockquotes */
blockquote {
  border-left: 4px solid #cc0000 !important;
  padding-left: 1.2rem !important;
  color: #333333 !important;
  font-style: italic !important;
}

/* Strong/bold always readable */
strong, b { color: #000000 !important; }

/* ---------- HEADER ---------- */
.site-header,
#masthead,
.kadence-top-header-wrap,
.site-header-wrap,
header.site-header {
  background-color: #111111 !important;
  border-bottom: 4px solid #cc0000 !important;
}

/* Site title in header */
.site-title a,
.site-title a:visited,
.site-branding .site-title a,
.site-branding .site-title-wrap .site-title,
.site-header .site-title-wrap .site-title,
#masthead .site-title-wrap .site-title,
#masthead p.site-title {
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.4rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
}
.site-title a:hover { color: #cc0000 !important; text-decoration: none !important; }

.site-branding .site-title-wrap .site-description,
.site-header .site-title-wrap .site-description,
#masthead p.site-description {
  color: #aaaaaa !important;
  font-size: 0.8rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* Site description / tagline */
.site-description {
  color: #aaaaaa !important;
  font-size: 0.8rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
}

/* ---------- PRIMARY NAVIGATION ---------- */
/* Nav sits on the dark header background */
.main-navigation,
.kadence-navigation,
#site-navigation,
nav.main-navigation {
  background-color: transparent !important;
}

.main-navigation ul li a,
.kadence-navigation ul li a,
#site-navigation ul li a,
.main-navigation a {
  color: #eeeeee !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 600 !important;
  letter-spacing: 1.2px !important;
  text-transform: uppercase !important;
  padding: 6px 0 !important;
  border-bottom: 2px solid transparent !important;
  transition: color 0.15s, border-color 0.15s !important;
}

.main-navigation ul li a:hover,
.main-navigation ul li.current-menu-item > a,
.main-navigation ul li.current_page_item > a,
.kadence-navigation ul li a:hover {
  color: #ffffff !important;
  border-bottom-color: #cc0000 !important;
  text-decoration: none !important;
}

/* Dropdown menus from the dark header */
.main-navigation ul ul,
.kadence-navigation ul ul {
  background-color: #1a1a1a !important;
  border-top: 2px solid #cc0000 !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.4) !important;
}
.main-navigation ul ul li a,
.kadence-navigation ul ul li a {
  color: #dddddd !important;
  border-bottom: 1px solid #2a2a2a !important;
  padding: 10px 16px !important;
}
.main-navigation ul ul li a:hover {
  background-color: #cc0000 !important;
  color: #ffffff !important;
}

/* Mobile hamburger */
.menu-toggle,
button.menu-toggle {
  color: #ffffff !important;
  background: none !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  border-radius: 3px !important;
  padding: 6px 10px !important;
}
.menu-toggle:hover { border-color: #cc0000 !important; }

/* ---------- CONTENT AREA ---------- */
#content,
#main,
.site-content,
.content-area,
.kadence-content-wrap {
  background-color: #ffffff !important;
}

/* Content inner padding */
.entry-content,
.page-content {
  max-width: 860px;
}

/* Kadence inner content containers */
.kadence-inner-column-inner,
.wp-block-column,
.kb-row-layout-inner {
  color: #111111 !important;
}

/* ---------- POST / PAGE TITLES ---------- */
.entry-title a,
.entry-title a:visited {
  color: #111111 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
}
.entry-title a:hover { color: #cc0000 !important; text-decoration: none !important; }

/* Single post/page title */
.entry-header .entry-title,
h1.entry-title,
h1.page-title {
  color: #111111 !important;
  font-size: 2.2rem !important;
}

/* ---------- POST META ---------- */
.entry-meta,
.entry-footer,
.posted-on,
.byline,
.cat-links,
.tags-links,
.post-date {
  color: #555555 !important;
  font-size: 0.85rem !important;
}
.entry-meta a,
.entry-footer a {
  color: #b30000 !important;
}

/* ---------- SIDEBAR ---------- */
.widget-area,
#secondary,
.sidebar {
  background-color: #f5f5f5 !important;
}

.widget {
  margin-bottom: 2rem !important;
  padding-bottom: 1.5rem !important;
  border-bottom: 1px solid #e0e0e0 !important;
}

.widget-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  border-bottom: 2px solid #cc0000 !important;
  padding-bottom: 8px !important;
  margin-bottom: 14px !important;
}

.widget ul li {
  color: #111111 !important;
  border-bottom: 1px solid #e8e8e8 !important;
  padding: 6px 0 !important;
}
.widget ul li a { color: #b30000 !important; }
.widget ul li a:hover { color: #880000 !important; }

/* ---------- BUTTONS ---------- */
.wp-block-button__link,
.button,
button,
input[type="submit"],
.wp-element-button {
  background-color: #cc0000 !important;
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.9rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 3px !important;
  padding: 11px 24px !important;
  cursor: pointer !important;
  transition: background-color 0.15s !important;
}
.wp-block-button__link:hover,
.button:hover,
button:hover,
input[type="submit"]:hover {
  background-color: #990000 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Outline button variant */
.wp-block-button.is-style-outline .wp-block-button__link {
  background-color: transparent !important;
  color: #cc0000 !important;
  border: 2px solid #cc0000 !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover {
  background-color: #cc0000 !important;
  color: #ffffff !important;
}

/* ---------- TABLES ---------- */
table {
  border-collapse: collapse !important;
  width: 100% !important;
  color: #111111 !important;
}
thead { background-color: #111111 !important; }
thead th {
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 10px 14px !important;
  border: none !important;
}
tbody tr { border-bottom: 1px solid #e0e0e0 !important; }
tbody tr:nth-child(even) { background-color: #f8f8f8 !important; }
tbody td { padding: 9px 14px !important; color: #111111 !important; }

/* ---------- FORMS ---------- */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="tel"],
input[type="url"],
textarea,
select {
  border: 1px solid #cccccc !important;
  border-radius: 3px !important;
  color: #111111 !important;
  background-color: #ffffff !important;
  font-family: 'Barlow', sans-serif !important;
  font-size: 1rem !important;
  padding: 9px 12px !important;
}
input:focus,
textarea:focus,
select:focus {
  border-color: #cc0000 !important;
  outline: 2px solid rgba(204,0,0,0.25) !important;
}

/* ---------- OVR HERO SECTION ---------- */
/* The hero is always dark — it carries a photo/overlay */
.ovr-hero {
  position: relative !important;
  min-height: 420px !important;
  display: flex !important;
  align-items: flex-end !important;
  overflow: hidden !important;
  background-color: #111111 !important;
}
.ovr-hero::before {
  content: '' !important;
  position: absolute !important;
  top: 0; left: 0; right: 0 !important;
  height: 4px !important;
  background: #cc0000 !important;
  z-index: 3 !important;
}
.ovr-hero-bg {
  position: absolute !important;
  inset: 0 !important;
  background-size: cover !important;
  background-position: center !important;
  z-index: 0 !important;
}
.ovr-hero-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(0,0,0,0.52) !important;
  z-index: 1 !important;
}
.ovr-hero-content {
  position: relative !important;
  z-index: 2 !important;
  padding: 48px 40px !important;
  width: 100% !important;
}
.ovr-hero-eyebrow {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  color: #cc0000 !important;
  margin-bottom: 8px !important;
}
.ovr-hero h1,
.ovr-hero-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 4rem !important;
  font-weight: 700 !important;
  line-height: 1.0 !important;
  color: #ffffff !important;
  text-shadow: 0 2px 10px rgba(0,0,0,0.6) !important;
  margin-bottom: 12px !important;
}
.ovr-hero-subtitle {
  font-size: 1rem !important;
  color: rgba(255,255,255,0.88) !important;
  max-width: 520px !important;
  line-height: 1.6 !important;
  text-shadow: 0 1px 5px rgba(0,0,0,0.5) !important;
}
.ovr-hero-cta {
  display: inline-block !important;
  margin-top: 20px !important;
  background: #cc0000 !important;
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  padding: 12px 28px !important;
  border-radius: 3px !important;
  transition: background 0.15s !important;
}
.ovr-hero-cta:hover {
  background: #990000 !important;
  color: #ffffff !important;
  text-decoration: none !important;
}

/* Admin image picker */
.ovr-hero-picker {
  position: absolute !important;
  top: 16px !important;
  right: 16px !important;
  z-index: 10 !important;
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: rgba(0,0,0,0.6) !important;
  border: 1px solid rgba(255,255,255,0.3) !important;
  color: #ffffff !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.75rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 8px 14px !important;
  border-radius: 3px !important;
  cursor: pointer !important;
  backdrop-filter: blur(4px) !important;
}
.ovr-hero-picker:hover { background: rgba(0,0,0,0.85) !important; }
.ovr-hero-picker input[type="file"] { display: none !important; }
body:not(.logged-in) .ovr-hero-picker { display: none !important; }

/* ---------- NEXT EVENT BAR ---------- */
.ovr-next-event-bar {
  background: #cc0000 !important;
  padding: 13px 36px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}
.ovr-bar-label {
  font-size: 0.65rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,0.7) !important;
  margin-bottom: 2px !important;
}
.ovr-bar-name {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  color: #ffffff !important;
}
.ovr-bar-date {
  font-size: 0.85rem !important;
  color: rgba(255,255,255,0.88) !important;
}
.ovr-bar-btn {
  background: #ffffff !important;
  color: #cc0000 !important;
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.8rem !important;
  font-weight: 700 !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 9px 18px !important;
  border-radius: 3px !important;
  white-space: nowrap !important;
}
.ovr-bar-btn:hover {
  background: #f0e8e8 !important;
  color: #990000 !important;
  text-decoration: none !important;
}

/* ---------- SECTION HEADING STYLE ---------- */
.ovr-section-head {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding-bottom: 10px !important;
  margin-bottom: 20px !important;
  border-bottom: 3px solid #cc0000 !important;
}
.ovr-section-head h2 {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.2rem !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #111111 !important;
  margin: 0 !important;
}
.ovr-section-head a {
  font-size: 0.8rem !important;
  color: #b30000 !important;
  letter-spacing: 1px !important;
}

/* ---------- EVENT CARDS ---------- */
.ovr-event-card {
  display: flex !important;
  gap: 14px !important;
  padding: 14px 0 !important;
  border-bottom: 1px solid #e0e0e0 !important;
}
.ovr-date-block {
  min-width: 54px !important;
  text-align: center !important;
  background: #f5f5f5 !important;
  border-radius: 3px !important;
  padding: 8px 6px !important;
  border-top: 3px solid #cc0000 !important;
  flex-shrink: 0 !important;
}
.ovr-date-block .ovr-month {
  font-size: 0.65rem !important;
  letter-spacing: 1.5px !important;
  text-transform: uppercase !important;
  color: #cc0000 !important;
}
.ovr-date-block .ovr-day {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.8rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
  line-height: 1 !important;
}
.ovr-event-type {
  font-size: 0.7rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #666666 !important;
  margin-bottom: 3px !important;
}
.ovr-event-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: #111111 !important;
  margin-bottom: 3px !important;
}
.ovr-event-loc { font-size: 0.8rem !important; color: #555555 !important; }

/* Tags */
.ovr-tag {
  display: inline-block !important;
  font-size: 0.65rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  padding: 2px 8px !important;
  border-radius: 2px !important;
  margin-top: 5px !important;
}
.ovr-tag-open {
  background: #fff0f0 !important;
  color: #990000 !important;
  border: 1px solid #ffbbbb !important;
}
.ovr-tag-results {
  background: #f0fff0 !important;
  color: #276027 !important;
  border: 1px solid #aaddaa !important;
}

/* ---------- DARK / LIGHT TOGGLE ---------- */
.ovr-theme-toggle {
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  cursor: pointer !important;
  padding: 5px 0 !important;
  background: none !important;
  border: none !important;
  user-select: none !important;
}
.ovr-toggle-track {
  width: 38px !important;
  height: 20px !important;
  border-radius: 10px !important;
  background: #555555 !important;
  position: relative !important;
  border: 1px solid #777777 !important;
  transition: background 0.2s !important;
  flex-shrink: 0 !important;
}
.ovr-toggle-knob {
  position: absolute !important;
  top: 2px !important;
  left: 2px !important;
  width: 14px !important;
  height: 14px !important;
  border-radius: 50% !important;
  background: #cc0000 !important;
  transition: transform 0.2s !important;
}
body.ovr-dark .ovr-toggle-knob { transform: translateX(18px) !important; }
.ovr-toggle-icon {
  font-size: 15px !important;
  color: #bbbbbb !important;
  line-height: 1 !important;
}
.ovr-toggle-label {
  font-family: 'Barlow Condensed', sans-serif !important;
  font-size: 0.7rem !important;
  letter-spacing: 1px !important;
  text-transform: uppercase !important;
  color: #bbbbbb !important;
  white-space: nowrap !important;
}

/* ---------- THE EVENTS CALENDAR — light mode ---------- */
.tribe-events-calendar,
.tribe-events-list,
.tribe-events-single {
  color: #111111 !important;
  background: #ffffff !important;
}
.tribe-events-list-event-title a,
.tribe-events-loop .tribe-event-url,
.tribe-events-single-event-title {
  font-family: 'Barlow Condensed', sans-serif !important;
  color: #111111 !important;
  font-weight: 700 !important;
}
.tribe-events-list-event-title a:hover { color: #cc0000 !important; }
.tribe-events-schedule,
.tribe-events-abbr,
.tribe-venue {
  color: #444444 !important;
}
.tribe-event-categories a { color: #b30000 !important; }
#tribe-mini-calendar td.tribe_has_events a { color: #cc0000 !important; font-weight: 700 !important; }
#tribe-mini-calendar td.tribe-today { background: #cc0000 !important; border-radius: 3px !important; }
#tribe-mini-calendar td.tribe-today a { color: #ffffff !important; }

/* ---------- WP DOCUMENT REVISIONS ---------- */
.document-revisions-list,
#document-revisions table {
  color: #111111 !important;
}
#document-revisions th {
  color: #ffffff !important;
  background: #111111 !important;
  border-bottom: 2px solid #cc0000 !important;
}

/* ---------- FOOTER ---------- */
.site-footer,
#colophon,
.kadence-footer {
  background-color: #111111 !important;
  border-top: 3px solid #cc0000 !important;
  color: #cccccc !important;
  font-size: 0.85rem !important;
}
.site-footer a,
#colophon a {
  color: #cc0000 !important;
}
.site-footer a:hover,
#colophon a:hover {
  color: #ff3333 !important;
  text-decoration: underline !important;
}
.site-footer p,
#colophon p,
.site-footer li,
.site-info {
  color: #aaaaaa !important;
}
.footer-widget-title,
.site-footer .widget-title {
  color: #ffffff !important;
  border-bottom-color: #cc0000 !important;
}
.site-footer .widget ul li,
.site-footer .widget ul li a { color: #aaaaaa !important; }
.site-footer .widget ul li a:hover { color: #cc0000 !important; }

/* ============================================================
   DARK MODE — body.ovr-dark overrides
   ONLY these rules fire in dark mode. Everything else above
   remains light-mode correct and gets overridden here.
   ============================================================ */

body.ovr-dark,
body.ovr-dark .site,
body.ovr-dark #page {
  background-color: #111111 !important;
  color: #e8e8e8 !important;
}

/* Dark backgrounds for content containers */
body.ovr-dark #content,
body.ovr-dark #main,
body.ovr-dark .site-content,
body.ovr-dark .content-area,
body.ovr-dark .kadence-content-wrap,
body.ovr-dark .kadence-inner-column-inner {
  background-color: #111111 !important;
  color: #e8e8e8 !important;
}

/* Dark headings */
body.ovr-dark h1,
body.ovr-dark h2,
body.ovr-dark h3,
body.ovr-dark h4,
body.ovr-dark h5,
body.ovr-dark h6,
body.ovr-dark .entry-title,
body.ovr-dark .page-title,
body.ovr-dark .wp-block-heading {
  color: #f0f0f0 !important;
}

/* Dark body text */
body.ovr-dark p,
body.ovr-dark li,
body.ovr-dark td,
body.ovr-dark blockquote,
body.ovr-dark label,
body.ovr-dark .entry-content,
body.ovr-dark .entry-summary {
  color: #e0e0e0 !important;
}

/* Dark links */
body.ovr-dark a,
body.ovr-dark a:visited { color: #ff6666 !important; }
body.ovr-dark a:hover   { color: #ff9999 !important; }

/* Dark post titles */
body.ovr-dark .entry-title a,
body.ovr-dark .entry-title a:visited { color: #f0f0f0 !important; }
body.ovr-dark .entry-title a:hover   { color: #ff6666 !important; }

/* Dark meta */
body.ovr-dark .entry-meta,
body.ovr-dark .entry-footer,
body.ovr-dark .posted-on,
body.ovr-dark .byline,
body.ovr-dark .cat-links { color: #999999 !important; }
body.ovr-dark .entry-meta a,
body.ovr-dark .entry-footer a { color: #ff6666 !important; }

/* Dark sidebar */
body.ovr-dark .widget-area,
body.ovr-dark #secondary { background-color: #1a1a1a !important; }
body.ovr-dark .widget-title { color: #f0f0f0 !important; }
body.ovr-dark .widget ul li { color: #e0e0e0 !important; border-bottom-color: #2a2a2a !important; }
body.ovr-dark .widget ul li a { color: #ff6666 !important; }

/* Dark cards / event items */
body.ovr-dark .ovr-date-block {
  background: #222222 !important;
}
body.ovr-dark .ovr-date-block .ovr-day { color: #f0f0f0 !important; }
body.ovr-dark .ovr-event-card { border-bottom-color: #2a2a2a !important; }
body.ovr-dark .ovr-event-title { color: #f0f0f0 !important; }
body.ovr-dark .ovr-event-loc   { color: #aaaaaa !important; }
body.ovr-dark .ovr-event-type  { color: #888888 !important; }

body.ovr-dark .ovr-tag-open    { background: #330000 !important; color: #ff8888 !important; border-color: #550000 !important; }
body.ovr-dark .ovr-tag-results { background: #003300 !important; color: #88dd88 !important; border-color: #005500 !important; }

/* Dark section heads */
body.ovr-dark .ovr-section-head h2 { color: #f0f0f0 !important; }
body.ovr-dark .ovr-section-head a  { color: #ff6666 !important; }

/* Dark forms */
body.ovr-dark input[type="text"],
body.ovr-dark input[type="email"],
body.ovr-dark textarea,
body.ovr-dark select {
  background-color: #1e1e1e !important;
  border-color: #444444 !important;
  color: #e8e8e8 !important;
}

/* Dark tables */
body.ovr-dark tbody tr { border-bottom-color: #2a2a2a !important; }
body.ovr-dark tbody tr:nth-child(even) { background-color: #1a1a1a !important; }
body.ovr-dark tbody td { color: #e0e0e0 !important; }

/* Dark Events Calendar */
body.ovr-dark .tribe-events-calendar,
body.ovr-dark .tribe-events-list,
body.ovr-dark .tribe-events-single {
  background: #111111 !important;
  color: #e0e0e0 !important;
}
body.ovr-dark .tribe-events-list-event-title a { color: #f0f0f0 !important; }
body.ovr-dark .tribe-events-list-event-title a:hover { color: #ff6666 !important; }
body.ovr-dark .tribe-events-schedule,
body.ovr-dark .tribe-venue { color: #aaaaaa !important; }

/* Dark toggle track (inverted) */
body.ovr-dark .ovr-toggle-track { background: #333333 !important; border-color: #555555 !important; }

/* ============================================================
   RESPONSIVE — mobile-first adjustments
   ============================================================ */
@media (max-width: 768px) {
  body,
  body.ovr-dark { font-size: 16px !important; }

  h1, body.ovr-dark h1 { font-size: 1.9rem !important; }
  h2, body.ovr-dark h2 { font-size: 1.5rem !important; }
  h3, body.ovr-dark h3 { font-size: 1.25rem !important; }

  .ovr-hero { min-height: 320px !important; }
  .ovr-hero h1,
  .ovr-hero-title { font-size: 2.6rem !important; }
  .ovr-hero-content { padding: 28px 20px !important; }

  .ovr-next-event-bar { padding: 12px 16px !important; }

  .ovr-toggle-label { display: none !important; }

  /* Wider tap targets on mobile */
  .main-navigation ul li a { padding: 10px 0 !important; }
  .ovr-bar-btn { padding: 9px 14px !important; }
}

@media (max-width: 480px) {
  .ovr-hero h1,
  .ovr-hero-title { font-size: 2rem !important; }
  .ovr-hero-subtitle { font-size: 0.95rem !important; }
}

/* ============================================================
   RESULTS BUTTONS — force white text, prevent link color bleed
   ============================================================ */
.ovr-results-wrap a,
.ovr-results-wrap a:visited,
.ovr-results-archive a,
.ovr-results-archive a:visited,
a.ovr-results-btn,
a.ovr-results-btn:visited {
    color: #ffffff !important;
    text-decoration: none !important;
}
.ovr-results-wrap a:hover,
.ovr-results-archive a:hover,
a.ovr-results-btn:hover {
    color: #ffffff !important;
    opacity: 0.88 !important;
    text-decoration: none !important;
}

/* Dark mode results buttons — same white text */
body.ovr-dark .ovr-results-wrap a,
body.ovr-dark .ovr-results-wrap a:visited,
body.ovr-dark .ovr-results-archive a,
body.ovr-dark .ovr-results-archive a:visited {
    color: #ffffff !important;
}

/* ============================================================
   FEATURED IMAGE — height control
   Target all Kadence thumbnail position/ratio class combos.
   Set --ovr-thumb-height to change the height site-wide.
   ============================================================ */
.post-thumbnail,
.post-thumbnail.article-post-thumbnail,
div[class*="kadence-thumbnail-position"],
div[class*="kadence-thumbnail-ratio"] {
    max-height: 200px !important;
    overflow: hidden !important;
}

.post-thumbnail-inner,
div[class*="kadence-thumbnail-position"] .post-thumbnail-inner,
div[class*="kadence-thumbnail-ratio"] .post-thumbnail-inner {
    max-height: 200px !important;
    height: 200px !important;
    overflow: hidden !important;
    padding-bottom: 0 !important;
}

img.post-top-featured,
.post-thumbnail-inner img,
div[class*="kadence-thumbnail-position"] img,
div[class*="kadence-thumbnail-ratio"] img {
    max-height: 200px !important;
    height: 200px !important;
    width: 100% !important;
    object-fit: cover !important;
    object-position: center !important;
    display: block !important;
}

/* ============================================================
   EVENT DETAIL PAGE
   ============================================================ */
.ovr-event-detail .ovr-event-description {
    color: #222222 !important;
    line-height: 1.7 !important;
    font-size: 1rem !important;
}
.ovr-event-detail .ovr-event-description p {
    color: #222222 !important;
}
.ovr-event-detail .ovr-event-description a {
    color: #b30000 !important;
}

body.ovr-dark .ovr-event-detail h1 {
    color: #f0f0f0 !important;
}
body.ovr-dark .ovr-event-detail .ovr-event-description,
body.ovr-dark .ovr-event-detail .ovr-event-description p {
    color: #e0e0e0 !important;
}
body.ovr-dark .ovr-event-detail > div[style*="background:#f5f5f5"] {
    background: #1e1e1e !important;
}
body.ovr-dark .ovr-event-detail > div[style*="background:#f5f5f5"] p {
    color: #e0e0e0 !important;
}
