/* Minimal base tokens (fallback) */
:root{
  --tv-primary:#1A237E;--tv-secondary:#283593;--tv-accent:#EF5252;
  --tv-bg:#0b0f2a;--tv-text:#ffffff;--tv-border:rgba(255,255,255,.14);
  --tv-muted:rgba(255,255,255,.78);--tv-wrap-max:1200px;--tv-pad-x:25px;--tv-pad-y:56px;
}
body.theme-dark{background:var(--tv-bg);color:var(--tv-text)}
.tv-wrap{max-width:var(--tv-wrap-max);margin:0 auto;padding:var(--tv-pad-y) var(--tv-pad-x)}


/* === Grid utilities (standalone) === */
.tv-grid, .tv-grid-2, .tv-grid-3, .tv-grid-4 { display:grid; gap:16px; }
@media (min-width: 768px){ .tv-grid-2 { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1025px){
  .tv-grid-3 { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .tv-grid-4 { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
/* ===== v4.2 BUTTON FORCE-FILL (works anywhere) ===== */

/* Base reset so Elementor/inline styles can't wipe our fills */
a.tvx-btn,
.tv-btn-skin .elementor-button{
  background-image: none !important;
  text-decoration: none !important;
  isolation: isolate;
}

/* ACCENT (filled) */
a.tvx-btn--accent,
.tv-btn-skin .elementor-button.tva-accent{
  background: var(--tv-accent) !important;
  border-color: var(--tv-accent) !important;
  color: #000 !important;
}
a.tvx-btn--accent:hover,
.tv-btn-skin .elementor-button.tva-accent:hover{
  background: color-mix(in srgb, var(--tv-accent) 94%, #000 6%) !important;
}

/* GHOST (transparent default, visible on hover) */
a.tvx-btn--ghost{ background: transparent !important; border:1px solid var(--tv-border) !important; color:#fff !important; }
a.tvx-btn--ghost:hover{
  background: rgba(255,255,255,.24) !important;   /* darker for gradients */
  border-color: rgba(255,255,255,.60) !important; 
  color:#fff !important; text-shadow:0 0 1px rgba(0,0,0,.45);
}
.tv-btn-skin .elementor-button:hover:not(.tva-accent):not(.tva-outline){
  background: rgba(255,255,255,.24) !important;
  border-color: rgba(255,255,255,.60) !important;
  color:#fff !important; text-shadow:0 0 1px rgba(0,0,0,.45);
}

/* OUTLINE */
a.tvx-btn--outline,
.tv-btn-skin .elementor-button.tva-outline{
  background: transparent !important;
  border:1px solid var(--tv-accent) !important;
  color: var(--tv-accent) !important;
}
a.tvx-btn--outline:hover,
.tv-btn-skin .elementor-button.tva-outline:hover{
  background: color-mix(in srgb, var(--tv-accent) 22%, #000 78%) !important;
  color:#fff !important;
}
