/* Lite palette overrides */
a.tvx-btn--accent{ color:#000 !important; }
a.tvx-btn--ghost:hover, a.tvx-btn--outline:hover{ filter:brightness(1.03); }

/* Checklist bullets visible on white */
.tv-list-check li::before{
  background: var(--tv-accent);
  box-shadow: 0 0 0 3px #fff inset, 0 2px 6px rgba(0,0,0,.12);
}
/* 1) Global heading contrast on light theme */
body.theme-light .tv-h1,
body.theme-light .tv-h2 { 
  color: var(--tv-primary) !important; 
  font-weight: 800; 
  letter-spacing: -0.2px;
}
body.theme-light .tv-h3,
body.theme-light .tv-h4 { 
  color: var(--tv-text) !important; 
  font-weight: 800;
}

/* Elementor Heading widget text */
body.theme-light .elementor-widget-heading .elementor-heading-title {
  color: var(--tv-primary) !important;
  font-weight: 800;
}

/* Eyebrows & subheads */
body.theme-light .tvx-eyebrow { 
  color: color-mix(in srgb, var(--tv-primary) 65%, #000 35%) !important; 
  font-weight: 800; 
  text-transform: uppercase; 
  font-size: 12px; 
  letter-spacing: .08em;
}
body.theme-light .tv-sub { 
  color: var(--tv-muted) !important; 
}

/* Card headings also pop */
body.theme-light .tvx-card .tv-h3 { 
  color: var(--tv-primary) !important; 
}
/* ================================
   SUCCESS STORIES (light theme)
   ================================ */
body.theme-light .tvx-success--dark .tvx-case{
  background: var(--tv-surface) !important;
  border: 1px solid var(--tv-border) !important;
  border-radius: var(--tv-radius);
  box-shadow: var(--tv-shadow-1);
  color: var(--tv-text);
}

/* Case header avatar chip */
body.theme-light .tvx-success--dark .tvx-logo{
  background: #EEF2FF !important;
  border: 1px solid var(--tv-border) !important;
  color: var(--tv-primary) !important;
}

/* Impact list tiles (were dark) */
body.theme-light .tvx-success--dark .tvx-impact{
  display: grid; gap: 10px; margin: 12px 0 0; padding: 0;
}
body.theme-light .tvx-success--dark .tvx-impact li{
  list-style: none;
  display: flex; align-items: center; gap: 10px;
  padding: 12px 14px;
  background: #F4F7FF !important;                    /* force light tile */
  color: var(--tv-text) !important;
  border: 1px solid var(--tv-border) !important;
  border-radius: 14px;
}

/* KPI chip (percentage / label) */
body.theme-light .tvx-success--dark .tvx-chip{
  display: inline-grid; place-items: center;
  min-width: 56px; padding: 6px 10px;
  border-radius: 999px; font-size: 12px; font-weight: 800; line-height: 1;
  background: var(--tv-accent) !important;
  color: #000 !important;
  border: 1px solid color-mix(in srgb, var(--tv-accent) 40%, transparent);
}

/* Headings inside cards pop */
body.theme-light .tvx-success--dark .tv-h3{ color: var(--tv-primary) !important; }

/* CTA spacing inside cases */
body.theme-light .tvx-success__grid .tvx-cta{ margin-top: 14px; gap: 12px; }

/* ================================
   TESTIMONIALS (light theme)
   ================================ */
body.theme-light .tvx-testimonials--dark .tvx-quote{
  background: var(--tv-surface) !important;           /* was dark */
  border: 1px solid var(--tv-border) !important;
  border-radius: 16px;
  box-shadow: var(--tv-shadow-1);
  color: var(--tv-text) !important;
  padding: 18px;
  display: flex; flex-direction: column;
}

/* Avatar chip */
body.theme-light .tvx-testimonials--dark .tvx-quote__head .tvx-ico{
  width: 56px; height: 56px; border-radius: 50%;
  background: #EEF2FF !important;
  border: 1px solid var(--tv-border) !important;
  color: var(--tv-primary) !important;
  font-weight: 800;
}

/* Main quote text */
body.theme-light .tvx-testimonials--dark .tvx-quote__text{
  color: var(--tv-text) !important;
  font-size: 16px; line-height: 1.55;
}

/* Bullet list inside each quote */
body.theme-light .tvx-testimonials--dark .tvx-points{
  display: grid; gap: 10px; margin: 12px 0 0; padding: 0;
}
body.theme-light .tvx-testimonials--dark .tvx-points li{
  list-style: none; position: relative;
  padding: 10px 12px 10px 34px;
  background: #F7FAFF !important;
  color: var(--tv-text) !important;
  border: 1px solid var(--tv-border) !important;
  border-radius: 12px;
}
body.theme-light .tvx-testimonials--dark .tvx-points li::before{
  content: ""; position: absolute; left: 10px; top: 11px;
  width: 14px; height: 14px; border-radius: 4px;
  background: var(--tv-accent);
  box-shadow: 0 0 0 2px #fff inset;
}

/* Headings in testimonials */
body.theme-light .tvx-testimonials--dark .tv-h3{ color: var(--tv-primary) !important; }

/* Section backgrounds: make sure they’re light, not navy */
body.theme-light .tvx-success--dark,
body.theme-light .tvx-testimonials--dark{
  background: linear-gradient(180deg, #FFFFFF 0%, #F2F5FF 100%) !important;
}

/* Success Stories — light polish */
body.theme-light #success.tV-fix-flag {} /* handy hook if you want to scope later */

/* Card shell */
body.theme-light .tvx-success--dark .tvx-case{
  background: var(--tv-surface);
  border: 1px solid var(--tv-border);
  border-radius: var(--tv-radius-lg);
  box-shadow: var(--tv-shadow-1);
  transition: transform .18s ease, box-shadow .18s ease;
}
body.theme-light .tvx-success--dark .tvx-case:hover{
  transform: translateY(-3px);
  box-shadow: var(--tv-shadow-2);
}

/* Header row */
body.theme-light .tvx-success--dark .tvx-case__top{
  display:flex; align-items:center; gap:12px; margin-bottom:10px;
}
body.theme-light .tvx-success--dark .tvx-logo{
  width:48px; height:48px; border-radius:12px;
  background:#EEF2FF; border:1px solid var(--tv-border); color:var(--tv-primary); font-weight:800;
}

/* KPI impact list (light tiles) */
body.theme-light .tvx-success--dark .tvx-impact{ display:grid; gap:10px; margin:12px 0 0; padding:0; }
body.theme-light .tvx-success--dark .tvx-impact li{
  list-style:none; display:flex; align-items:center; gap:10px;
  padding:12px 14px;
  background:#F4F7FF; border:1px solid var(--tv-border); border-radius:14px; color:var(--tv-text);
}

/* KPI chip */
body.theme-light .tvx-success--dark .tvx-chip{
  display:inline-grid; place-items:center; min-width:56px; padding:6px 10px;
  border-radius:999px; font-size:12px; font-weight:800; line-height:1;
  background: var(--tv-accent); color:#000; border:1px solid color-mix(in srgb, var(--tv-accent) 40%, transparent);
}

/* Headings inside the card pop */
body.theme-light .tvx-success--dark .tv-h3{ color:var(--tv-primary) !important; }

/* CTA spacing */
body.theme-light .tvx-success__grid .tvx-cta{ margin-top:14px; gap:12px; }

/* Section surface (soft tint for separation) */
body.theme-light .tvx-success--dark{
  background: linear-gradient(180deg, #FFFFFF 0%, #F2F5FF 100%);
}
/* CONTACT / LEAD — light theme refinements */
body.theme-light .tvx-lead--dark{
  background: linear-gradient(180deg, #FFFFFF 0%, #F2F5FF 100%) !important;
}

/* Reasons list as clear, tappable tiles */
body.theme-light .tvx-lead--dark .tvx-reasons{
  display:grid; gap:10px; margin:0 0 12px; padding:0;
}
body.theme-light .tvx-lead--dark .tvx-reasons li{
  list-style:none; position:relative; padding:12px 14px 12px 42px;
  background:#F7FAFF; border:1px solid var(--tv-border);
  border-radius:14px; color:var(--tv-text);
}
body.theme-light .tvx-lead--dark .tvx-reasons .dot{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:4px; display:grid; place-items:center;
  background:var(--tv-accent); color:#000; font-size:12px; font-weight:800;
  box-shadow: 0 0 0 2px #fff inset;
}

/* Trust pills already white text via components; add subtle separation */
body.theme-light .tvx-lead--dark .tvx-trustrow{ margin-top:10px; }

/* Card look + motion */
body.theme-light .tvx-lead--dark .tvx-lead__card{
  border:1px solid var(--tv-border) !important;
  border-radius:18px; background:var(--tv-surface);
  box-shadow: var(--tv-shadow-1);
  transition: box-shadow .18s ease, transform .18s ease;
}
body.theme-light .tvx-lead--dark .tvx-lead__card:hover{
  transform: translateY(-2px);
  box-shadow: var(--tv-shadow-2);
}

/* CTA spacing & mobile wrap */
body.theme-light .tvx-lead--dark .tvx-cta{ margin-top:14px; gap:12px; flex-wrap:wrap; }

/* Optional: style inline Elementor form if you enable it */
body.theme-light .tvx-lead--dark .tvx-inline-form{
  margin-top:14px;
  border-top:1px dashed var(--tv-border);
  padding-top:14px;
}
body.theme-light .tvx-lead--dark .tvx-inline-form .elementor-form-fields-wrapper{
  display:grid; gap:10px;
}
/* =============== RESOURCES (light theme) =============== */
body.theme-light .tvx-resources--dark{
  /* Soft light wash so it separates from white sections */
  background:
    radial-gradient(700px 280px at 85% -10%, color-mix(in srgb, var(--tv-primary) 8%, #fff) 0%, transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F4F7FF 100%) !important;
  color: var(--tv-text);
}

/* Grid (1/2/3 cols) if your page doesn’t already set it */
body.theme-light .tvx-resources__grid{
  display:grid; gap:18px;
  grid-template-columns: 1fr;
}
@media (min-width:768px){
  body.theme-light .tvx-resources__grid{ grid-template-columns: repeat(2,1fr); }
}
@media (min-width:1025px){
  body.theme-light .tvx-resources__grid{ grid-template-columns: repeat(3,1fr); }
}

/* Resource card */
body.theme-light .tvx-resources--dark .tvx-res{
  background: var(--tv-surface) !important;
  border: 1px solid var(--tv-border) !important;
  border-radius: 16px;
  box-shadow: var(--tv-shadow-1);
  padding: 16px;
  display:flex; flex-direction:column; gap:8px;
  transition: transform .16s ease, box-shadow .16s ease;
}
body.theme-light .tvx-resources--dark .tvx-res:hover{
  transform: translateY(-3px);
  box-shadow: var(--tv-shadow-2);
}

/* Badge (text to white for contrast) */
body.theme-light .tvx-resources--dark .tvx-res__badge{
  display:inline-block;
  align-self:flex-start;
  padding:6px 10px;
  border-radius:999px;
  font-size:12px; font-weight:800; line-height:1;
  background: var(--tv-primary);          /* or use var(--tv-accent) */
  color:#fff;                             /* force white text */
  border: 1px solid color-mix(in srgb, var(--tv-primary) 35%, transparent);
}

/* Headings + copy */
body.theme-light .tvx-resources--dark .tvx-h3{ color: var(--tv-primary) !important; }
body.theme-light .tvx-resources--dark .tvx-copy{ color: var(--tv-text); }

/* CTA row spacing */
body.theme-light .tvx-resources--dark .tvx-res .tvx-cta{ margin-top:8px; gap:10px; flex-wrap:wrap; }

/* Buttons in cards – readable hover on light */
body.theme-light .tvx-resources--dark .tvx-res .tvx-btn--ghost{
  background: transparent; color: var(--tv-text);
  border:1px solid var(--tv-border);
}
body.theme-light .tvx-resources--dark .tvx-res .tvx-btn--ghost:hover{
  background:#EEF2FF; border-color: var(--tv-primary); color: var(--tv-primary);
}
body.theme-light .tvx-resources--dark .tvx-res .tvx-btn--outline{
  color: var(--tv-primary); border-color: var(--tv-primary);
}
body.theme-light .tvx-resources--dark .tvx-res .tvx-btn--outline:hover{
  background: color-mix(in srgb, var(--tv-primary) 10%, #fff);
}

/* Section footer CTAs */
body.theme-light .tvx-resources--dark .tvx-resources__footer{ margin-top:20px; gap:12px; }

/* Reduce chance older dark rules win */
body.theme-light .tvx-resources--dark .tvx-res,
body.theme-light .tvx-resources--dark .tvx-res *{ color-scheme: light; }
/* ===== Resources & Guides: fix faint headings on light theme ===== */
body.theme-light #resources .tvx-resources__head .tvx-h2,
body.theme-light #resources .tvx-h2,
body.theme-light .tvx-resources--dark .tvx-resources__head .tvx-h2 {
  color: #1A237E !important;      /* brand primary, strong contrast */
  font-weight: 800;
  letter-spacing: -0.2px;
}

body.theme-light #resources .tvx-resources__grid .tvx-h3,
body.theme-light .tvx-resources--dark .tvx-res__badge + .tvx-h3 {
  color: #1A237E !important;      /* card titles */
  font-weight: 800;
}

/* keep body copy readable */
body.theme-light #resources .tvx-copy,
body.theme-light #resources .tvx-sub { 
  color: var(--tv-text) !important;
}

/* (Optional) ensure header isn’t dimmed by any legacy opacity */
body.theme-light #resources .tvx-resources__head {
  opacity: 1 !important;
}
/* =========================
   FINAL CTA — light theme
   ========================= */
body.theme-light .tvx-final--dark{
  /* Soft highlight so this section stands out from white areas */
  background:
    radial-gradient(900px 380px at 85% -10%, color-mix(in srgb, var(--tv-primary) 10%, #fff) 0%, transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F2F5FF 100%) !important;
  color: var(--tv-text);
}

/* The card */
body.theme-light .tvx-final--dark .tvx-final__card{
  background: var(--tv-surface);
  border: 1px solid var(--tv-border);
  border-radius: 18px;
  padding: 18px;
  box-shadow: var(--tv-shadow-1);
  transition: box-shadow .18s ease, transform .18s ease;
}
@media (min-width:1025px){
  body.theme-light .tvx-final--dark .tvx-final__card{ padding: 24px; }
}
body.theme-light .tvx-final--dark .tvx-final__card:hover{
  transform: translateY(-2px);
  box-shadow: var(--tv-shadow-2);
}

/* Head */
body.theme-light .tvx-final--dark .tvx-eyebrow{
  font-weight: 800; letter-spacing:.2px; color: var(--tv-primary);
  margin-bottom: 4px;
}
body.theme-light .tvx-final--dark .tvx-h2{ color:#1A237E; font-weight:800; }
body.theme-light .tvx-final--dark .tvx-sub{ color:var(--tv-text); }

/* Points as tiles with brand ticks */
body.theme-light .tvx-final--dark .tvx-final__points{
  display:grid; gap:10px; margin:12px 0 0; padding:0;
}
body.theme-light .tvx-final--dark .tvx-final__points li{
  list-style:none; position:relative; padding:12px 14px 12px 42px;
  background:#F7FAFF; border:1px solid var(--tv-border); border-radius:14px;
}
body.theme-light .tvx-final--dark .tvx-final__points .dot{
  position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:4px; display:grid; place-items:center;
  background:var(--tv-accent); color:#000; font-weight:800; font-size:12px;
  box-shadow:0 0 0 2px #fff inset;
}

/* CTA row spacing & readable hovers on light */
body.theme-light .tvx-final--dark .tvx-cta{ margin-top:14px; gap:12px; flex-wrap:wrap; }
body.theme-light .tvx-final--dark .tvx-btn--ghost{
  background:transparent; color:var(--tv-text); border:1px solid var(--tv-border);
}
body.theme-light .tvx-final--dark .tvx-btn--ghost:hover{
  background:#EEF2FF; border-color:var(--tv-primary); color:var(--tv-primary);
}
body.theme-light .tvx-final--dark .tvx-btn--outline{ color:var(--tv-primary); border-color:var(--tv-primary); }
body.theme-light .tvx-final--dark .tvx-btn--outline:hover{
  background: color-mix(in srgb, var(--tv-primary) 10%, #fff);
}

/* Micro note */
body.theme-light .tvx-final--dark .tvx-micro{
  margin-top:10px; color: color-mix(in srgb, var(--tv-text) 70%, #000 30%);
  font-size: 13px;
}

/* ========= 1) Tokens (only if not already set) ========= */
:root{
  --tv-primary:   var(--e-global-color-primary, #1A237E);
  --tv-secondary: var(--e-global-color-secondary, #283593);
  --tv-accent:    var(--e-global-color-accent, #EF5252);
  --tv-text:      #0B1020;
  --tv-muted:     #4A536D;
  --tv-page:      #F6F8FF;
  --tv-surface:   #FFFFFF;
  --tv-border:    #E3E7F3;
  --tv-radius:    16px;
  --tv-shadow-1:  0 8px 22px rgba(17,23,51,.10);
  --tv-shadow-2:  0 16px 42px rgba(17,23,51,.12);
}

/* ========= 2) Typography: clear hierarchy everywhere ========= */
body.theme-light .tv-h1,
body.theme-light .tv-h2{ color:#1A237E; font-weight:800; letter-spacing:-.2px; }
body.theme-light .tv-h3{ color:var(--tv-text); font-weight:800; }
body.theme-light .tv-sub{ color:var(--tv-muted); }
body.theme-light .tv-meta{ color: color-mix(in srgb, var(--tv-text) 80%, #000 20%); }

/* Make all section headings readable even if section has “--dark” */
body.theme-light [class*="tvx-"] .tv-h2{ color:#1A237E !important; }
body.theme-light [class*="tvx-"] .tv-sub{ color:var(--tv-text) !important; }

/* ========= 3) Cards + Grids (one style for all) ========= */
body.theme-light .tvx-card{
  background:var(--tv-surface);
  border:1px solid var(--tv-border);
  border-radius:var(--tv-radius);
  box-shadow:var(--tv-shadow-1);
  padding:18px;
}
@media (min-width:1025px){ body.theme-light .tvx-card{ padding:22px; } }

.tv-grid-2,.tv-grid-3,.tv-grid-4{ display:grid; gap:16px; }
@media (min-width:700px){ .tv-grid-2{ grid-template-columns:1fr 1fr; } }
@media (min-width:900px){ .tv-grid-3{ grid-template-columns:repeat(3,1fr); } }
@media (min-width:1025px){ .tv-grid-4{ grid-template-columns:repeat(4,1fr); } }

/* ========= 4) Buttons: visible hovers, strong contrast ========= */
.tvx-cta{ display:flex; gap:12px; flex-wrap:wrap; }
a.tvx-btn{ display:inline-block; padding:12px 18px; border-radius:999px; font-weight:800;
  border:1px solid transparent; transition: transform .15s ease, filter .15s ease, background .2s ease, color .2s ease; }
a.tvx-btn:hover{ transform:translateY(-1px); filter:brightness(1.02); }
a.tvx-btn--accent{ background:var(--tv-accent); color:#000 !important; }
a.tvx-btn--outline{ background:transparent; color:var(--tv-primary) !important; border-color:var(--tv-primary); }
a.tvx-btn--outline:hover{ background:color-mix(in srgb, var(--tv-primary) 10%, #fff); }
a.tvx-btn--ghost{ background:#fff; color:var(--tv-text) !important; border:1px solid var(--tv-border); }
a.tvx-btn--ghost:hover{ background:#EEF2FF; border-color:var(--tv-primary); color:var(--tv-primary) !important; }

/* ========= 5) Lists with ticks (used in many sections) ========= */
.tv-list-check{ display:grid; gap:10px; margin:0; padding:0; }
.tv-list-check li{ list-style:none; position:relative; padding:12px 14px 12px 42px;
  background:#F7FAFF; border:1px solid var(--tv-border); border-radius:14px; color:var(--tv-text); }
.tv-list-check li::before{
  content:""; position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:4px; background:var(--tv-accent);
  box-shadow:0 0 0 2px #fff inset; }

/* ========= 6) Section backgrounds: soft light wash ========= */
body.theme-light .tvx-hero--dark,
body.theme-light .tvx-why--dark,
body.theme-light .tvx-roi--dark,
body.theme-light .tvx-success--dark,
body.theme-light .tvx-testimonials--dark,
body.theme-light .tvx-workshops--dark,
body.theme-light .tvx-lead--dark,
body.theme-light .tvx-events--dark,
body.theme-light .tvx-resources--dark{
  background:
    radial-gradient(800px 320px at 85% -10%, color-mix(in srgb, var(--tv-primary) 8%, #fff) 0%, transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F6F8FF 100%) !important;
  color:var(--tv-text);
}

/* ========= 7) Small utilities (spacing only) ========= */
.mt-10{ margin-top:10px; } .mt-12{ margin-top:12px; } .mt-16{ margin-top:16px; }
.mb-10{ margin-bottom:10px; } .mb-16{ margin-bottom:16px; }

/* ===== Course hero: force 2-column on desktop, stack on mobile ===== */
/* Works even when Elementor injects container/row/column wrappers */

section[id^="course-hero-"] .tvx-hero__wrap{
  display:block;                /* mobile: stack */
}

/* Desktop: robust grid */
@media (min-width:1025px){
  /* Try the direct wrap first */
  section[id^="course-hero-"] .tvx-hero__wrap{
    display:grid !important;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  /* If Elementor inserted an inner container/row, make them grid too */
  section[id^="course-hero-"] .tvx-hero__wrap > .elementor-container,
  section[id^="course-hero-"] .tvx-hero__wrap > .elementor-row{
    display:grid !important;
    grid-template-columns: minmax(0,1.05fr) minmax(0,.95fr) !important;
    gap:24px !important;
    align-items:start !important;
  }

  /* If columns are present, ensure they behave as grid items (no flex/floats/widths) */
  section[id^="course-hero-"] .tvx-hero__wrap > * ,
  section[id^="course-hero-"] .tvx-hero__wrap > .elementor-container > * ,
  section[id^="course-hero-"] .tvx-hero__wrap .elementor-row > * {
    min-width:0 !important;
    width:auto !important;
    float:none !important;
    flex:unset !important;
    position:relative;
    z-index:0;
  }

  /* Right column stacks image + card neatly (covers both raw DIV and Elementor column cases) */
  section[id^="course-hero-"] .tvx-hero__wrap > :nth-child(2),
  section[id^="course-hero-"] .tvx-hero__wrap > .elementor-container > :nth-child(2),
  section[id^="course-hero-"] .tvx-hero__wrap .elementor-row > :nth-child(2) > .elementor-widget-wrap{
    display:grid !important;
    gap:16px !important;
    align-content:start !important;
  }
}

/* Media block sanity */
section[id^="course-hero-"] figure.tvx-card{ padding:0; overflow:hidden; width:100%; }
section[id^="course-hero-"] figure.tvx-card img{ display:block; width:100%; height:auto; object-fit:cover; }

/* Card width */
section[id^="course-hero-"] .tvx-hero__card{ width:100%; }

/* Optional: light wash + heading contrast */
body.theme-light section[id^="course-hero-"].tvx-hero--dark{
  background:
    radial-gradient(900px 360px at 85% -15%, color-mix(in srgb, var(--tv-primary) 10%, #fff) 0%, transparent 55%),
    linear-gradient(180deg, #FFFFFF 0%, #F7F9FF 100%) !important;
  color: var(--tv-text);
}
body.theme-light section[id^="course-hero-"] .tv-h1{ color:#1A237E; font-weight:800; }
body.theme-light section[id^="course-hero-"] .tv-sub{ color:var(--tv-text); }
/* ===== Home: Workshops & Events (light theme patch) ===== */
body.theme-light #events.tvx-events--dark{
  background:
    radial-gradient(800px 320px at 85% -10%, color-mix(in srgb, var(--tv-primary) 8%, #fff) 0%, transparent 60%),
    linear-gradient(180deg, #FFFFFF 0%, #F6F8FF 100%) !important;
  color: var(--tv-text);
}

/* Headings & subhead contrast */
body.theme-light #events .tvx-events__head .tvx-h2,
body.theme-light #events .tvx-events__head .tv-h2{ color:#1A237E; font-weight:800; }
body.theme-light #events .tvx-events__head .tvx-sub,
body.theme-light #events .tvx-events__head .tv-sub{ color:var(--tv-text); }

/* Grid: 1-col mobile → 3-col desktop */
#events .tvx-events__grid{ display:grid; gap:16px; grid-template-columns:1fr; }
@media (min-width:900px){ #events .tvx-events__grid{ grid-template-columns:repeat(3,1fr); gap:22px; } }

/* Event card layout */
#events .tvx-event{
  display:grid; grid-template-columns:auto 1fr; gap:14px;
  background:var(--tv-surface,#fff);
  border:1px solid var(--tv-border,#E3E7F3);
  border-radius:16px; box-shadow:var(--tv-shadow-1,0 8px 22px rgba(17,23,51,.10));
  padding:16px;
}
@media (min-width:1025px){ #events .tvx-event{ padding:18px; } }

/* Date badge */
#events .tvx-date{
  width:56px; min-width:56px; height:64px; border-radius:12px;
  display:grid; align-content:center; justify-items:center; gap:2px;
  background:#111936; color:#fff; border:1px solid color-mix(in srgb,#111936 35%, transparent);
  font-weight:800;
}
#events .tvx-date .m{ font-size:11px; letter-spacing:.6px; }
#events .tvx-date .d{ font-size:18px; line-height:1; }

/* Title + meta */
#events .tvx-body .tvx-h3, 
#events .tvx-body .tv-h3{ color:#1A237E; font-weight:800; margin:0 0 6px; }
#events .tvx-body .tvx-meta, 
#events .tvx-body .tv-meta{ color: color-mix(in srgb, var(--tv-text) 80%, #000 20%); margin:0 0 8px; }

/* Points list (compact light tiles) */
#events .tvx-points{ display:grid; gap:8px; margin:0 0 12px; padding:0; }
#events .tvx-points li{
  list-style:none; position:relative; padding:10px 12px 10px 38px;
  background:#F7FAFF; border:1px solid var(--tv-border,#E3E7F3); border-radius:12px; color:var(--tv-text);
}
#events .tvx-points li::before{
  content:""; position:absolute; left:12px; top:50%; transform:translateY(-50%);
  width:18px; height:18px; border-radius:4px; background:var(--tv-accent,#EF5252);
  box-shadow:0 0 0 2px #fff inset;
}

/* Buttons (reuse global but ensure readability here) */
#events .tvx-btn--ghost{
  background:#fff; color:var(--tv-text) !important; border:1px solid var(--tv-border);
}
#events .tvx-btn--ghost:hover{
  background:#EEF2FF; border-color:var(--tv-primary,#1A237E); color:var(--tv-primary) !important;
}
#events .tvx-btn--outline{
  color:var(--tv-primary) !important; border-color:var(--tv-primary);
}
#events .tvx-btn--outline:hover{ background: color-mix(in srgb, var(--tv-primary) 10%, #fff); }

/* Section footer spacing */
#events .tvx-events__footer{ margin-top:20px; display:flex; gap:12px; flex-wrap:wrap; }

/* Misc hardening (remove stray <br> if any) */
#events br{ display:none; }
