/* =========================================================
   FLORIDA VERIFIED TOURS • OMG WOW STYLE OVERWRITE
   Dark Green • Gold • Chrome • White • Teal Glow
   Mobile-First • High Contrast • 3D Buttons • Glass Cards
   Drop-in replacement for style.css
   ========================================================= */

/* =========================================================
   DESIGN TOKENS
   ========================================================= */

:root{
  --fvt-midnight:#050b12;
  --fvt-black:#020509;
  --fvt-ink:#07111d;
  --fvt-green:#062f24;
  --fvt-green-2:#09533f;
  --fvt-green-3:#0b7a5d;
  --fvt-gold:#f5c94a;
  --fvt-gold-2:#ffd96d;
  --fvt-gold-3:#b8860b;
  --fvt-teal:#F5C94A;
  --fvt-cyan:#800000;
  --fvt-white:#ffffff;
  --fvt-offwhite:#f7fbff;
  --fvt-silver:#dbe5ef;
  --fvt-chrome:#f8fbff;
  --fvt-text:#4b5320;
  --fvt-text-dark:#0b1724;
  --fvt-muted:#4b5320;
  --fvt-muted-dark:#52677c;
  --fvt-danger:#ff4d5e;
  --fvt-success:#22c55e;

  --glass-dark:rgba(0,51,0,.78);
  --glass-darker:rgba(0,51,0,.88);
  --glass-light:rgba(255,255,0,.88);
  --glass-soft:rgba(255,255,0,.14);

  --line-gold:rgba(245,201,74,.45);
  --line-light:rgba(255,255,255,.20);
  --line-dark:rgba(7,17,29,.14);

  --shadow-soft:0 14px 34px rgba(0,0,0,.25);
  --shadow-deep:0 28px 80px rgba(0,0,0,.48);
  --shadow-gold:0 0 34px rgba(245,201,74,.25);
  --shadow-teal:0 0 34px rgba(13,168,179,.22);

  --radius-sm:12px;
  --radius:18px;
  --radius-lg:26px;
  --radius-xl:34px;

  --speed:.18s ease;
}

/* =========================================================
   RESET / BASE
   ========================================================= */

*,
*::before,
*::after{
  box-sizing:border-box;
}

html{
  min-height:100%;
  scroll-behavior:smooth;
}

body,
body.fvt-body{
  min-height:100%;
  margin:0;
  color:var(--fvt-text);
  font-family:"Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at 16% 4%, rgba(245,201,74,.20), transparent 27%),
    radial-gradient(circle at 87% 10%, rgba(13,168,179,.18), transparent 28%),
    radial-gradient(circle at 50% 105%, rgba(9,83,63,.42), transparent 42%),
    linear-gradient(135deg, #020509 0%, #062f24 45%, #050b12 100%);
  background-attachment:fixed;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  overflow-x:hidden;
}

body.fvt-body{
  background-image:
    linear-gradient(135deg, rgba(2,5,9,.84), rgba(6,47,36,.72), rgba(2,5,9,.88)),
    radial-gradient(circle at 12% 7%, rgba(245,201,74,.24), transparent 28%),
    radial-gradient(circle at 90% 8%, rgba(13,168,179,.20), transparent 34%),
    url('/assets/img/backgrounds/fvt-wallpaper.jpg');
  background-size:cover, cover, cover, cover;
  background-position:center center;
  background-repeat:no-repeat;
}

body::before{
  content:"";
  position:fixed;
  inset:0;
  z-index:-2;
  pointer-events:none;
  background:
    linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px),
    linear-gradient(180deg, rgba(255,255,255,.025) 1px, transparent 1px);
  background-size:42px 42px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.75), transparent 82%);
}

body::after{
  content:"";
  position:fixed;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:
    radial-gradient(circle at 50% -15%, rgba(255,217,109,.18), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,.06), rgba(0,0,0,.08));
}

img{
  max-width:100%;
  height:auto;
}

main{
  position:relative;
  z-index:1;
}

::selection{
  background:var(--fvt-gold);
  color:#09111c;
}

/* =========================================================
   ACCESSIBILITY / LINKS
   ========================================================= */

a{
  color:var(--fvt-cyan);
  text-decoration:none;
  font-weight:750;
}

a:hover{
  color:var(--fvt-gold-2);
  text-decoration:none;
}

a:focus-visible,
button:focus-visible,
.btn:focus-visible,
.form-control:focus-visible,
.form-select:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible{
  outline:3px solid var(--fvt-gold);
  outline-offset:3px;
  border-radius:10px;
}

.skiplink{
  position:absolute;
  left:-9999px;
  top:auto;
  width:1px;
  height:1px;
  overflow:hidden;
}

.skiplink:focus{
  position:fixed;
  left:1rem;
  top:1rem;
  width:auto;
  height:auto;
  z-index:99999;
  background:#fff;
  color:#000;
  padding:.7rem 1rem;
  border-radius:12px;
  box-shadow:var(--shadow-deep);
}

/* =========================================================
   NAVBAR — CHAMPIONSHIP HEADER
   ========================================================= */

.fvt-nav,
.navbar{
  min-height:82px;
  position:sticky;
  top:0;
  z-index:1030;
  background:
    linear-gradient(180deg, rgba(2,5,9,.98), rgba(6,47,36,.94)) !important;
  border-bottom:3px solid var(--fvt-gold);
  box-shadow:0 12px 34px rgba(0,0,0,.42), var(--shadow-gold);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}

.fvt-nav::before,
.navbar::before{
  content:"";
  position:absolute;
  inset:0 0 auto 0;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.75), transparent);
}

.fvt-nav .container,
.fvt-nav .container-fluid,
.navbar .container,
.navbar .container-fluid{
  min-height:82px;
  display:flex;
  align-items:center;
}

.fvt-navbar-brand,
.navbar-brand{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  padding:0 !important;
  margin-right:1.15rem !important;
  flex-shrink:0 !important;
  text-decoration:none !important;
}

.fvt-nav-logo,
.logo-3d,
.navbar-brand img{
  height:60px !important;
  width:auto !important;
  max-width:none !important;
  object-fit:contain !important;
  display:block !important;
  filter:drop-shadow(0 7px 16px rgba(0,0,0,.72)) drop-shadow(0 0 14px rgba(245,201,74,.18));
}

.brand-wordmark,
.navbar-brand .brand-wordmark{
  color:var(--fvt-white) !important;
  font-family:"Oswald", Impact, "Arial Narrow", sans-serif;
  font-size:.92rem !important;
  font-weight:900 !important;
  text-transform:uppercase;
  letter-spacing:.5px;
  line-height:1.03 !important;
  white-space:nowrap;
  text-shadow:0 3px 12px rgba(0,0,0,.85);
}

.navbar-toggler{
  background:linear-gradient(180deg, #fff, #dbe5ef) !important;
  border:1px solid rgba(245,201,74,.55) !important;
  border-radius:12px !important;
  box-shadow:0 7px 16px rgba(0,0,0,.28);
}

.navbar-toggler-icon{
  filter:contrast(1.25);
}

.fvt-nav .nav-link,
.navbar .nav-link{
  color:#f7fbff !important;
  font-size:.9rem;
  font-weight:900;
  letter-spacing:.15px;
  padding:.66rem .72rem !important;
  border-radius:999px;
  text-decoration:none !important;
  position:relative;
  transition:transform var(--speed), background var(--speed), color var(--speed), box-shadow var(--speed);
}

.fvt-nav .nav-link:hover,
.navbar .nav-link:hover,
.fvt-nav .nav-link.active,
.navbar .nav-link.active{
  color:#07111d !important;
  background:linear-gradient(180deg, var(--fvt-gold-2), var(--fvt-gold));
  box-shadow:0 8px 18px rgba(245,201,74,.22);
  transform:translateY(-1px);
}

.dropdown-menu{
  background:rgba(4,12,20,.98) !important;
  border:1px solid rgba(245,201,74,.28) !important;
  border-radius:18px !important;
  box-shadow:0 22px 50px rgba(0,0,0,.45);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
  overflow:hidden;
  padding:.45rem;
}

.dropdown-item{
  color:#ffffff !important;
  font-weight:850;
  border-radius:12px;
  padding:.72rem .95rem;
}

.dropdown-item:hover,
.dropdown-item:focus{
  color:#07111d !important;
  background:linear-gradient(180deg, var(--fvt-gold-2), var(--fvt-gold)) !important;
}

/* =========================================================
   HERO — OMG LOOK
   ========================================================= */

.hero,
.hero3d-wrap,
.hero-wrap,
.hero-section,
.page-hero,
.fvt-hero{
  position:relative;
  overflow:hidden;
  color:#000000;
  border-radius:var(--radius-xl);
  background:
    linear-gradient(135deg, rgba(2,5,9,.80), rgba(6,47,36,.70), rgba(2,5,9,.86)),
    radial-gradient(circle at 15% 18%, rgba(245,201,74,.28), transparent 36%),
    radial-gradient(circle at 86% 18%, rgba(13,168,179,.22), transparent 38%),
    url('/assets/img/backgrounds/hero-baseball.jpg');
  background-size:cover;
  background-position:center;
  border:1px solid rgba(245,201,74,.32);
  box-shadow:var(--shadow-deep), var(--shadow-gold);
  isolation:isolate;
}

.hero::before,
.hero3d-wrap::before,
.hero-wrap::before,
.hero-section::before,
.page-hero::before,
.fvt-hero::before{
  content:"";
  position:absolute;
  inset:-2px;
  z-index:0;
  background:
    linear-gradient(110deg, transparent 0%, rgba(255,255,255,.16) 44%, rgba(255,255,255,.02) 50%, transparent 62%);
  transform:translateX(-80%);
  animation:fvtShine 7s ease-in-out infinite;
  pointer-events:none;
}

.hero::after,
.hero3d-wrap::after,
.hero-wrap::after,
.hero-section::after,
.page-hero::after,
.fvt-hero::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  pointer-events:none;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(0,0,0,.18)),
    radial-gradient(circle at 50% 100%, rgba(245,201,74,.16), transparent 42%);
}

.hero > *,
.hero3d-wrap > *,
.hero-wrap > *,
.hero-section > *,
.page-hero > *,
.fvt-hero > *{
  position:relative;
  z-index:2;
}

.hero h1,
.hero3d-wrap h1,
.hero-wrap h1,
.hero-section h1,
.page-hero h1,
.fvt-hero h1{
  color:#ffffff !important;
  text-shadow:0 5px 18px rgba(0,0,0,.75), 0 0 26px rgba(245,201,74,.22);
  font-weight:950;
  letter-spacing:-.025em;
}

.hero p,
.hero .lead,
.hero3d-wrap p,
.hero-wrap p,
.hero-section p,
.page-hero p,
.fvt-hero p{
  color:#eef7ff !important;
  text-shadow:0 3px 12px rgba(0,0,0,.68);
}

/* =========================================================
   GLASS PANELS / CARDS — READABLE EVERYWHERE
   ========================================================= */

.card,
.card-glass,
.panel,
.panel-ink,
.table-wrap,
.modal-content,
.player-card,
.event-card,
.card-feature,
.list-group,
.accordion-item,
.offcanvas{
  color:var(--fvt-text-dark);
  background:
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(238,245,250,.86)) !important;
  border:1px solid rgba(255,255,255,.54) !important;
  border-radius:var(--radius) !important;
  box-shadow:var(--shadow-soft);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.card.dark,
.card-dark,
.panel-dark,
.panel-ink,
.bg-dark,
.text-bg-dark{
  color:#ffffff !important;
  background:
    linear-gradient(180deg, rgba(3,10,18,.88), rgba(6,47,36,.82)) !important;
  border:1px solid rgba(245,201,74,.28) !important;
}

.card h1,
.card h2,
.card h3,
.card h4,
.card h5,
.card h6,
.panel h1,
.panel h2,
.panel h3,
.panel h4,
.panel h5,
.panel h6{
  color:#07111d;
  font-weight:900;
}

.card.dark h1,
.card-dark h1,
.panel-dark h1,
.panel-ink h1,
.card.dark h2,
.card-dark h2,
.panel-dark h2,
.panel-ink h2,
.card.dark h3,
.card-dark h3,
.panel-dark h3,
.panel-ink h3,
.card.dark h4,
.card-dark h4,
.panel-dark h4,
.panel-ink h4,
.card.dark h5,
.card-dark h5,
.panel-dark h5,
.panel-ink h5,
.card.dark h6,
.card-dark h6,
.panel-dark h6,
.panel-ink h6{
  color:#ffffff !important;
}

.card p,
.panel p,
.card li,
.panel li,
.card td,
.panel td{
  color:#19304a;
}

.card.dark p,
.card-dark p,
.panel-dark p,
.panel-ink p,
.card.dark li,
.card-dark li,
.panel-dark li,
.panel-ink li{
  color:#edf6ff !important;
}

.card-header,
.card-footer{
  background:rgba(255,255,255,.58) !important;
  border-color:rgba(7,17,29,.12) !important;
}

.card-hover,
.player-card,
.event-card,
.card-feature{
  transition:transform var(--speed), box-shadow var(--speed), border-color var(--speed);
}

.card-hover:hover,
.player-card:hover,
.event-card:hover,
.card-feature:hover{
  transform:translateY(-5px);
  box-shadow:0 24px 58px rgba(0,0,0,.32), 0 0 28px rgba(245,201,74,.20);
  border-color:rgba(245,201,74,.55) !important;
}

.kpi,
.stat-card,
.info-box{
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(232,241,247,.90)) !important;
  color:#07111d !important;
  border-left:6px solid var(--fvt-gold) !important;
  border-radius:18px !important;
  box-shadow:var(--shadow-soft);
}

.kpi *,
.stat-card *,
.info-box *{
  color:inherit;
}

/* =========================================================
   TYPE / UTILITY CONTRAST FIXES
   ========================================================= */

.text-muted,
.small-help,
.help-text,
.form-text{
  color:#5b7186 !important;
}

.bg-dark .text-muted,
.panel-ink .text-muted,
.card-dark .text-muted,
.card.dark .text-muted,
.hero .text-muted,
.hero-section .text-muted{
  color:#d2deea !important;
}

.text-white,
.text-light{
  color:#ffffff !important;
}

.text-dark{
  color:#07111d !important;
}

.badge-soft,
.badge-light{
  background:rgba(54,69,79,.92) !important;
  color:#092235 !important;
  border:1px solid rgba(7,17,29,.12);
}

.brand-mark{
  width:20px;
  height:20px;
  border-radius:7px;
  display:inline-block;
  background:linear-gradient(135deg, var(--fvt-gold-2), var(--fvt-gold) 44%, var(--fvt-teal));
  box-shadow:0 0 16px rgba(245,201,74,.35);
}

/* =========================================================
   BUTTONS — 3D CHROME/GOLD
   ========================================================= */

.btn,
button,
input[type="submit"],
input[type="button"]{
  border-radius:14px !important;
  font-weight:900;
  transition:transform .14s ease, box-shadow .14s ease, filter .14s ease;
}

.btn:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover{
  transform:translateY(-1px);
}

.btn-primary,
.btn-accent,
.btn-warning,
.btn-gold,
.cta-primary,
.mobile-cta-bar .cta-primary{
  color:#09111c !important;
  background:linear-gradient(180deg, #fff2a5 0%, var(--fvt-gold-2) 35%, var(--fvt-gold) 70%, #d9a928 100%) !important;
  border:1px solid #a77c07 !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    inset 0 -2px 0 rgba(118,83,0,.22),
    0 6px 0 #8d6806,
    0 16px 28px rgba(0,0,0,.28),
    0 0 22px rgba(245,201,74,.22) !important;
  text-shadow:0 1px 0 rgba(255,255,255,.35);
}

.btn-primary:hover,
.btn-accent:hover,
.btn-warning:hover,
.btn-gold:hover,
.cta-primary:hover{
  color:#050b12 !important;
  filter:saturate(1.08) brightness(1.02);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.82),
    0 3px 0 #8d6806,
    0 12px 22px rgba(0,0,0,.25),
    0 0 28px rgba(245,201,74,.30) !important;
}

.btn-success,
.btn-green{
  color:#ffffff !important;
  background:linear-gradient(180deg, #0b7a5d, #062f24) !important;
  border:1px solid rgba(245,201,74,.32) !important;
  box-shadow:0 10px 22px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.18);
}

.btn-info,
.btn-teal{
  color:#031014 !important;
  background:linear-gradient(180deg, #7ff5ff, #0da8b3) !important;
  border:1px solid #087783 !important;
  box-shadow:0 10px 22px rgba(0,0,0,.22), 0 0 24px rgba(13,168,179,.23);
}

.btn-secondary,
.btn-light,
.btn-chrome{
  color:#07111d !important;
  background:linear-gradient(180deg, #ffffff, #dce7f1 48%, #aebdca 100%) !important;
  border:1px solid rgba(255,255,255,.88) !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.95), 0 12px 24px rgba(0,0,0,.22);
}

.btn-outline-dark,
.btn-outline-light,
.btn-outline-primary,
.btn-outline-secondary{
  color:#ffffff !important;
  background:rgba(3,10,18,.42) !important;
  border:1px solid rgba(255,255,255,.42) !important;
  box-shadow:0 10px 24px rgba(0,0,0,.20);
}

.btn-outline-dark:hover,
.btn-outline-light:hover,
.btn-outline-primary:hover,
.btn-outline-secondary:hover{
  color:#07111d !important;
  background:linear-gradient(180deg, #fff, #dbe5ef) !important;
  border-color:rgba(245,201,74,.68) !important;
}

.btn-3d-accent{
  display:inline-grid;
  place-items:center;
  padding:0;
  border:0;
  background:transparent;
  filter:drop-shadow(0 10px 18px rgba(0,0,0,.32));
  text-decoration:none !important;
}

.btn-3d-accent .btn-face{
  display:block;
  padding:.72rem 1.15rem;
  color:#09111c;
  font-weight:950;
  border-radius:14px;
  background:linear-gradient(180deg, #fff2a5, var(--fvt-gold) 70%, #d7a723);
  border:1px solid #9e7407;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.72), 0 5px 0 #8a6505, 0 16px 30px rgba(0,0,0,.25);
}

/* =========================================================
   FORMS
   ========================================================= */

.form-control,
.form-select,
input,
select,
textarea{
  color:#07111d !important;
  background:rgba(255,255,255,.94) !important;
  border:1px solid rgba(7,17,29,.18) !important;
  border-radius:14px !important;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.06);
}

.form-control::placeholder,
input::placeholder,
textarea::placeholder{
  color:#667d92 !important;
}

.form-label,
label{
  color:#102338;
  font-weight:900;
}

.card-dark .form-label,
.panel-ink .form-label,
.bg-dark .form-label,
.card-dark label,
.panel-ink label,
.bg-dark label{
  color:#ffffff !important;
}

/* =========================================================
   TABLES
   ========================================================= */

.table-wrap,
.table-responsive{
  overflow:auto;
  border-radius:var(--radius);
}

.table{
  color:#07111d !important;
  margin-bottom:0;
  background:rgba(255,255,255,.84);
}

.table thead th{
  position:sticky;
  top:0;
  z-index:2;
  color:#07111d !important;
  background:linear-gradient(180deg, #ffffff, #dbe5ef) !important;
  border-bottom:2px solid rgba(245,201,74,.55) !important;
  font-weight:950;
  white-space:nowrap;
}

.table tbody td,
.table tbody th{
  color:#102338 !important;
  border-color:rgba(7,17,29,.10) !important;
  vertical-align:middle;
}

.table-hover tbody tr:hover{
  background:rgba(245,201,74,.17) !important;
}

/* =========================================================
   BADGES / CHIPS
   ========================================================= */

.badge{
  border-radius:999px;
  font-weight:900;
  letter-spacing:.1px;
}

.badge-success,
.bg-success{
  color:#ffffff !important;
  background:linear-gradient(180deg, #22c55e, #0b7a5d) !important;
}

.badge-info,
.bg-info{
  color:#031014 !important;
  background:linear-gradient(180deg, #7ff5ff, #0da8b3) !important;
}

.badge-warn,
.badge-warning,
.bg-warning{
  color:#09111c !important;
  background:linear-gradient(180deg, #ffe892, #f5c94a) !important;
}

.stat-chip,
.metric-chip,
.fvt-chip{
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  color:#07111d;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(220,231,241,.86));
  border:1px solid rgba(255,255,255,.66);
  border-radius:16px;
  padding:.65rem .9rem;
  box-shadow:0 10px 22px rgba(0,0,0,.18);
}

.stat-chip .n,
.metric-chip .n{
  font-weight:950;
  font-size:1.08rem;
}

.stat-chip .l,
.metric-chip .l{
  color:#385069;
  font-weight:750;
}

/* =========================================================
   GAUGES / METRICS
   ========================================================= */

.gauges-wrap{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:1rem;
}

.gauge{
  padding:1rem;
  color:#ffffff;
  background:linear-gradient(180deg, rgba(3,10,18,.78), rgba(6,47,36,.72));
  border:1px solid rgba(245,201,74,.28);
  border-radius:18px;
  box-shadow:var(--shadow-soft);
}

.gauge-header,
.g-value{
  color:#ffffff !important;
  font-weight:950;
  text-shadow:0 2px 8px rgba(0,0,0,.65);
}

.gauge .gauge-svg{
  position:relative;
}

.gauge .gauge-svg svg{
  width:100%;
  height:auto;
  display:block;
}

.g-arc{
  fill:none;
  stroke:rgba(255,255,255,.24);
  stroke-width:10;
  stroke-linecap:round;
}

.g-fill{
  fill:none;
  stroke:var(--fvt-gold);
  stroke-width:10;
  stroke-linecap:round;
  stroke-dasharray:157;
  stroke-dashoffset:157;
  filter:drop-shadow(0 0 8px rgba(245,201,74,.45));
}

.g-ticks line{
  stroke:rgba(255,255,255,.52);
  stroke-width:2;
}

.g-needle{
  transform-origin:60px 60px;
  transform:rotate(-120deg);
  transition:transform 1.2s cubic-bezier(.22,1,.36,1);
}

.g-needle-bar{
  fill:#fff;
}

.g-cap{
  fill:#000;
  opacity:.65;
}

.metric-mini{
  display:flex;
  gap:.65rem;
  align-items:center;
  color:#102338;
  font-size:.92rem;
  font-weight:800;
}

.metric-mini .bar{
  width:118px;
  height:9px;
  border-radius:999px;
  position:relative;
  overflow:hidden;
  background:rgba(7,17,29,.13);
}

.metric-mini .fill{
  position:absolute;
  inset:0 auto 0 0;
  width:0%;
  background:linear-gradient(90deg, var(--fvt-gold), var(--fvt-teal));
  box-shadow:0 0 16px rgba(245,201,74,.25);
}

/* =========================================================
   GALLERY / SLIDER
   ========================================================= */

.tour-gallery-section{
  overflow:hidden;
}

.tour-slider{
  width:100%;
  overflow:hidden;
  border-radius:var(--radius-lg);
  border:1px solid rgba(245,201,74,.25);
  box-shadow:var(--shadow-soft);
}

.tour-track{
  display:flex;
  gap:1rem;
  width:max-content;
  animation:fvtTourScroll 36s linear infinite;
}

.tour-slider:hover .tour-track{
  animation-play-state:paused;
}

.tour-slide-card{
  width:292px;
  height:198px;
  flex:0 0 auto;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(255,255,255,.55);
  box-shadow:0 14px 34px rgba(0,0,0,.24);
  position:relative;
}

.tour-slide-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, transparent 58%, rgba(0,0,0,.28));
  pointer-events:none;
}

.tour-slide-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease;
}

.tour-slide-card:hover img{
  transform:scale(1.06);
}

/* =========================================================
   FOOTER
   ========================================================= */

.fvt-footer,
footer{
  position:relative;
  overflow:hidden;
  color:#ffffff;
  background:
    radial-gradient(circle at 88% 0%, rgba(13,168,179,.20), transparent 34%),
    radial-gradient(circle at 12% 0%, rgba(245,201,74,.18), transparent 30%),
    linear-gradient(180deg, rgba(6,47,36,.94), rgba(2,5,9,.98));
  border-top:3px solid var(--fvt-gold);
  box-shadow:0 -16px 40px rgba(0,0,0,.30);
}

.fvt-footer::before,
footer::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:1px;
  background:linear-gradient(90deg, transparent, rgba(255,255,255,.82), transparent);
}

.fvt-footer a,
footer a{
  color:var(--fvt-gold-2)
}

.fvt-footer a:hover,
footer a:hover{
  color:#ffffff;
}

.footer-logo{
  display:block;
  border-radius:12px;
  background:transparent;
  padding:.28rem;
  box-shadow:0 8px 18px rgba(0,0,0,.28);
}

.footer-title,
.footer-head{
  color:#ffffff !important;
  font-weight:950;
  text-shadow:0 2px 10px rgba(0,0,0,.45);
}

.footer-sub,
footer p,
footer li{
  color:#dbe7f2 !important;
}

.footer-links{
  list-style:none;
  margin:0;
  padding:0;
}

.footer-links li{
  margin:.3rem 0;
}

.footer-links a{
  font-weight:100;
}

.footer-sep{
  border-color:rgba(245,201,74,.25) !important;
}

.footer-social .social{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:12px;
  color:#07111d !important;
  background:linear-gradient(180deg, #fff, #dbe5ef);
  border:1px solid rgba(245,201,74,.32);
  transition:transform var(--speed), box-shadow var(--speed);
}

.footer-social .social:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(0,0,0,.25), var(--shadow-gold);
}

/* =========================================================
   FLOATING CTA
   ========================================================= */

.whatsapp-float{
  position:fixed;
  left:20px;
  bottom:84px;
  z-index:9999;
  color:#000000 !important;
  background:linear-gradient(180deg, #25d366, #003100);
  padding:10px 14px;
  border-radius:999px;
  font-weight:950;
  text-decoration:none !important;
  box-shadow:0 14px 30px rgba(0,0,0,.32);
}

.mobile-cta-bar{
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:1050;
  display:none;
  gap:.55rem;
  padding:.58rem .75rem;
  background:rgba(3,10,18,.96);
  border-top:2px solid var(--fvt-gold);
  box-shadow:0 -12px 12px rgba(0,0,0,.36);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}

.mobile-cta-bar .cta{
  flex:1 1 0;
  min-height:44px;
  display:inline-flex;
  justify-content:center;
  align-items:center;
  text-align:center;
  border-radius:14px;
  font-weight:950;
  text-decoration:none !important;
  color:#ffffff;
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.20);
}

/* =========================================================
   DECORATION HELPERS
   ========================================================= */

.page-decor{
  position:relative;
}

.page-decor .decor{
  position:fixed;
  top:120px;
  width:min(28vw, 520px);
  opacity:.12;
  z-index:0;
  pointer-events:none;
  filter:drop-shadow(0 0 24px rgba(245,201,74,.20));
}

.page-decor .decor img{
  display:block;
  width:100%;
  height:auto;
}

.page-decor .decor-left{
  left:max(0px, (100vw - 1400px)/2 - 380px);
}

.page-decor .decor-right{
  right:max(0px, (100vw - 1400px)/2 - 380px);
}

.legal-scroll{
  max-height:65vh;
  overflow:auto;
  scroll-behavior:smooth;
}

/* =========================================================
   ANIMATIONS
   ========================================================= */

@keyframes fvtShine{
  0%, 72%{ transform:translateX(-90%); opacity:0; }
  82%{ opacity:1; }
  100%{ transform:translateX(90%); opacity:0; }
}

@keyframes fvtTourScroll{
  from{ transform:translateX(0); }
  to{ transform:translateX(-50%); }
}

@media (prefers-reduced-motion:reduce){
  *,
  *::before,
  *::after{
    animation-duration:.01ms !important;
    animation-iteration-count:1 !important;
    scroll-behavior:auto !important;
    transition-duration:.01ms !important;
  }
}

/* =========================================================
   RESPONSIVE — TABLET
   ========================================================= */

@media(max-width:1199.98px){
  .fvt-nav .nav-link,
  .navbar .nav-link{
    font-size:.82rem;
    padding:.56rem .5rem !important;
  }

  .brand-wordmark{
    font-size:.86rem !important;
  }

  .fvt-nav-logo,
  .logo-3d,
  .navbar-brand img{
    height:56px !important;
  }
}

@media(max-width:991.98px){
  body,
  body.fvt-body{
    background-attachment:scroll;
    background-position:center top;
  }

  .fvt-nav,
  .navbar{
    min-height:72px;
  }

  .fvt-nav .container,
  .fvt-nav .container-fluid,
  .navbar .container,
  .navbar .container-fluid{
    min-height:72px;
  }

  .fvt-nav-logo,
  .logo-3d,
  .navbar-brand img{
    height:50px !important;
  }

  .brand-wordmark{
    font-size:.84rem !important;
    max-width:190px;
    white-space:normal;
    line-height:1.06 !important;
  }

  .navbar-collapse{
    margin-top:.82rem;
    padding:1rem;
    background:linear-gradient(180deg, rgba(2,5,9,.98), rgba(6,47,36,.96)) !important;
    border:1px solid rgba(245,201,74,.25);
    border-radius:20px;
    box-shadow:0 22px 50px rgba(0,0,0,.48);
  }

  .fvt-nav .nav-link,
  .navbar .nav-link{
    display:block;
    color:#ffffff !important;
    font-size:1rem;
    padding:.92rem 1rem !important;
    border-radius:14px;
    margin:.15rem 0;
    background:rgba(255,255,255,.06);
  }

  .fvt-nav .nav-link:hover,
  .navbar .nav-link:hover,
  .fvt-nav .nav-link.active,
  .navbar .nav-link.active{
    color:#07111d !important;
    background:linear-gradient(180deg, var(--fvt-gold-2), var(--fvt-gold)) !important;
  }

  .dropdown-menu{
    margin:.35rem 0 .55rem;
    background:rgba(2,5,9,.68) !important;
  }

  .dropdown-item{
    color:#ffffff !important;
  }

  .gauges-wrap{
    grid-template-columns:1fr;
  }

  .page-decor .decor{
    display:none;
  }
}

/* =========================================================
   RESPONSIVE — MOBILE
   ========================================================= */

@media(max-width:767.98px){
  main{
    padding-top:1rem !important;
  }

  .container,
  .container-fluid{
    padding-left:1rem;
    padding-right:1rem;
  }

  .hero,
  .hero3d-wrap,
  .hero-wrap,
  .hero-section,
  .page-hero,
  .fvt-hero{
    border-radius:22px;
    margin-left:0;
    margin-right:0;
  }

  .hero h1,
  .hero3d-wrap h1,
  .hero-wrap h1,
  .hero-section h1,
  .page-hero h1,
  .fvt-hero h1{
    font-size:clamp(2rem, 9vw, 3rem);
    line-height:1;
  }

  .hero p,
  .hero .lead,
  .hero3d-wrap p,
  .hero-wrap p,
  .hero-section p{
    font-size:1rem;
  }

  .hero-buttons,
  .home-buttons,
  .cta-buttons{
    display:grid !important;
    grid-template-columns:1fr 1fr;
    gap:12px;
    width:100%;
    padding:0;
    margin-top:18px;
  }

  .hero-buttons a,
  .home-buttons a,
  .cta-buttons a,
  .hero-buttons .btn,
  .home-buttons .btn,
  .cta-buttons .btn{
    width:100%;
    min-height:58px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    border-radius:16px !important;
    font-size:1rem !important;
    font-weight:950 !important;
    line-height:1.1;
    padding:12px 10px !important;
    white-space:normal !important;
  }

  .hero-buttons a:first-child,
  .home-buttons a:first-child,
  .cta-buttons a:first-child{
    color:#09111c !important;
    background:linear-gradient(180deg, #fff2a5, var(--fvt-gold)) !important;
    border:1px solid #a77c07 !important;
  }

  .hero-buttons a:not(:first-child),
  .home-buttons a:not(:first-child),
  .cta-buttons a:not(:first-child){
    color:#07111d !important;
    background:linear-gradient(180deg, #fff, #dbe5ef) !important;
    border:1px solid rgba(255,255,255,.88) !important;
  }

  .hero-buttons a:last-child,
  .home-buttons a:last-child,
  .cta-buttons a:last-child{
    grid-column:1 / -1;
  }

  .stat-chip,
  .metric-chip,
  .fvt-chip{
    width:100%;
    justify-content:center;
  }

  .metric-mini{
    flex-wrap:wrap;
  }

  .metric-mini .bar{
    width:100%;
  }

  .table{
    font-size:.92rem;
  }

  .footer-columns{
    flex-direction:column;
    align-items:center;
    text-align:center;
  }

  .footer-col{
    min-width:unset;
  }

  .fvt-footer,
  footer{
    text-align:center;
  }

  .tour-slide-card{
    width:236px;
    height:168px;
  }

  .tour-track{
    animation-duration:28s;
  }
}

@media(max-width:575.98px){
  .fvt-nav,
  .navbar{
    min-height:66px;
  }

  .fvt-nav .container,
  .fvt-nav .container-fluid,
  .navbar .container,
  .navbar .container-fluid{
    min-height:66px;
  }

  .fvt-nav-logo,
  .logo-3d,
  .navbar-brand img{
    height:44px !important;
  }

  .brand-wordmark{
    font-size:.74rem !important;
    max-width:145px;
  }

  .fvt-navbar-brand,
  .navbar-brand{
    gap:8px !important;
    margin-right:.5rem !important;
  }

  .navbar-toggler{
    padding:.35rem .5rem;
  }

  .btn,
  .btn-3d-accent,
  .btn-3d-accent .btn-face{
    width:100%;
  }

  .card,
  .card-glass,
  .panel,
  .panel-ink,
  .table-wrap,
  .player-card,
  .event-card,
  .card-feature,
  .modal-content{
    border-radius:16px !important;
  }

  .mobile-cta-bar{
    display:flex;
  }

  main{
    padding-bottom:78px;
  }

  .whatsapp-float{
    left:12px;
    bottom:78px;
    font-size:6px;
    padding:8px 10px;
  }
}

/* =========================================================
   EMERGENCY CONTRAST OVERRIDES
   These prevent white-on-white or dark-on-dark text on mobile/pages.
   ========================================================= */

.card:not(.card-dark):not(.dark):not(.bg-dark) *,
.panel:not(.panel-dark):not(.panel-ink):not(.bg-dark) *,
.table-wrap *,
.modal-content *{
  text-shadow:none;
}

.card:not(.card-dark):not(.dark):not(.bg-dark) p,
.card:not(.card-dark):not(.dark):not(.bg-dark) span,
.card:not(.card-dark):not(.dark):not(.bg-dark) li,
.card:not(.card-dark):not(.dark):not(.bg-dark) div,
.panel:not(.panel-dark):not(.panel-ink):not(.bg-dark) p,
.panel:not(.panel-dark):not(.panel-ink):not(.bg-dark) span,
.panel:not(.panel-dark):not(.panel-ink):not(.bg-dark) li,
.panel:not(.panel-dark):not(.panel-ink):not(.bg-dark) div{
  color:inherit;
}

.bg-white,
.bg-light{
  color:#07111d !important;
}

.bg-white *,
.bg-light *{
  color:inherit;
}

.bg-dark,
.bg-black,
.text-bg-dark{
  color:#ffffff !important;
}

.bg-dark *,
.bg-black *,
.text-bg-dark *{
  color:inherit;
}

/* Keep icons/images from getting accidental inherited colors */
svg,
img,
i{
  color:currentColor;
}

/* =========================================================
   READABILITY HOTFIX — HERO FEATURE / GLASS BENEFIT CARDS
   Fixes white-on-white text inside the circled hero cards.
   ========================================================= */

.hero .card,
.hero .card-glass,
.hero .card-feature,
.hero .feature-card,
.hero .benefit-card,
.hero .info-box,
.hero .list-card,
.hero .stat-card,
.hero3d-wrap .card,
.hero3d-wrap .card-glass,
.hero3d-wrap .card-feature,
.hero3d-wrap .feature-card,
.hero3d-wrap .benefit-card,
.hero3d-wrap .info-box,
.hero3d-wrap .list-card,
.hero3d-wrap .stat-card,
.hero-wrap .card,
.hero-wrap .card-glass,
.hero-wrap .card-feature,
.hero-wrap .feature-card,
.hero-wrap .benefit-card,
.hero-wrap .info-box,
.hero-wrap .list-card,
.hero-wrap .stat-card,
.hero-section .card,
.hero-section .card-glass,
.hero-section .card-feature,
.hero-section .feature-card,
.hero-section .benefit-card,
.hero-section .info-box,
.hero-section .list-card,
.hero-section .stat-card,
.fvt-hero .card,
.fvt-hero .card-glass,
.fvt-hero .card-feature,
.fvt-hero .feature-card,
.fvt-hero .benefit-card,
.fvt-hero .info-box,
.fvt-hero .list-card,
.fvt-hero .stat-card,
.page-hero .card,
.page-hero .card-glass,
.page-hero .card-feature,
.page-hero .feature-card,
.page-hero .benefit-card,
.page-hero .info-box,
.page-hero .list-card,
.page-hero .stat-card{
  color:#07111d !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(232,241,247,.94) !important;
  border:1px solid rgba(255,255,255,.80) !important;
  border-left:6px solid var(--fvt-gold) !important;
  box-shadow:0 16px 38px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.85) !important;
  text-shadow:none !important;
}

.hero .card *,
.hero .card-glass *,
.hero .card-feature *,
.hero .feature-card *,
.hero .benefit-card *,
.hero .info-box *,
.hero .list-card *,
.hero .stat-card *,
.hero3d-wrap .card *,
.hero3d-wrap .card-glass *,
.hero3d-wrap .card-feature *,
.hero3d-wrap .feature-card *,
.hero3d-wrap .benefit-card *,
.hero3d-wrap .info-box *,
.hero3d-wrap .list-card *,
.hero3d-wrap .stat-card *,
.hero-wrap .card *,
.hero-wrap .card-glass *,
.hero-wrap .card-feature *,
.hero-wrap .feature-card *,
.hero-wrap .benefit-card *,
.hero-wrap .info-box *,
.hero-wrap .list-card *,
.hero-wrap .stat-card *,
.hero-section .card *,
.hero-section .card-glass *,
.hero-section .card-feature *,
.hero-section .feature-card *,
.hero-section .benefit-card *,
.hero-section .info-box *,
.hero-section .list-card *,
.hero-section .stat-card *,
.fvt-hero .card *,
.fvt-hero .card-glass *,
.fvt-hero .card-feature *,
.fvt-hero .feature-card *,
.fvt-hero .benefit-card *,
.fvt-hero .info-box *,
.fvt-hero .list-card *,
.fvt-hero .stat-card *,
.page-hero .card *,
.page-hero .card-glass *,
.page-hero .card-feature *,
.page-hero .feature-card *,
.page-hero .benefit-card *,
.page-hero .info-box *,
.page-hero .list-card *,
.page-hero .stat-card *{
  color:#07111d !important;
  text-shadow:none !important;
}

.hero .card p,
.hero .card-glass p,
.hero .card-feature p,
.hero .feature-card p,
.hero .benefit-card p,
.hero .info-box p,
.hero .list-card p,
.hero3d-wrap .card p,
.hero3d-wrap .card-glass p,
.hero3d-wrap .card-feature p,
.hero3d-wrap .feature-card p,
.hero3d-wrap .benefit-card p,
.hero3d-wrap .info-box p,
.hero3d-wrap .list-card p,
.hero-wrap .card p,
.hero-wrap .card-glass p,
.hero-wrap .card-feature p,
.hero-wrap .feature-card p,
.hero-wrap .benefit-card p,
.hero-wrap .info-box p,
.hero-wrap .list-card p,
.hero-section .card p,
.hero-section .card-glass p,
.hero-section .card-feature p,
.hero-section .feature-card p,
.hero-section .benefit-card p,
.hero-section .info-box p,
.hero-section .list-card p,
.fvt-hero .card p,
.fvt-hero .card-glass p,
.fvt-hero .card-feature p,
.fvt-hero .feature-card p,
.fvt-hero .benefit-card p,
.fvt-hero .info-box p,
.fvt-hero .list-card p,
.page-hero .card p,
.page-hero .card-glass p,
.page-hero .card-feature p,
.page-hero .feature-card p,
.page-hero .benefit-card p,
.page-hero .info-box p,
.page-hero .list-card p{
  color:#003300 !important;
  font-weight:700 !important;
  opacity:1 !important;
}

.hero .card h1,
.hero .card h2,
.hero .card h3,
.hero .card h4,
.hero .card h5,
.hero .card h6,
.hero .card-glass h1,
.hero .card-glass h2,
.hero .card-glass h3,
.hero .card-glass h4,
.hero .card-glass h5,
.hero .card-glass h6,
.hero .card-feature h1,
.hero .card-feature h2,
.hero .card-feature h3,
.hero .card-feature h4,
.hero .card-feature h5,
.hero .card-feature h6,
.hero .feature-card h1,
.hero .feature-card h2,
.hero .feature-card h3,
.hero .feature-card h4,
.hero .feature-card h5,
.hero .feature-card h6,
.hero .benefit-card h1,
.hero .benefit-card h2,
.hero .benefit-card h3,
.hero .benefit-card h4,
.hero .benefit-card h5,
.hero .benefit-card h6,
.hero-section .card h1,
.hero-section .card h2,
.hero-section .card h3,
.hero-section .card h4,
.hero-section .card h5,
.hero-section .card h6,
.fvt-hero .card h1,
.fvt-hero .card h2,
.fvt-hero .card h3,
.fvt-hero .card h4,
.fvt-hero .card h5,
.fvt-hero .card h6{
  color:#003300 !important;
  font-weight:950 !important;
}

/* common Bootstrap/utility classes that caused pale text inside light cards */
.hero .card .text-white,
.hero .card-glass .text-white,
.hero .card-feature .text-white,
.hero .feature-card .text-white,
.hero .benefit-card .text-white,
.hero-section .card .text-white,
.fvt-hero .card .text-white,
.hero .card .text-light,
.hero .card-glass .text-light,
.hero .card-feature .text-light,
.hero .feature-card .text-light,
.hero .benefit-card .text-light,
.hero-section .card .text-light,
.fvt-hero .card .text-light{
  color:#07111d !important;
}

.hero .card .text-muted,
.hero .card-glass .text-muted,
.hero .card-feature .text-muted,
.hero .feature-card .text-muted,
.hero .benefit-card .text-muted,
.hero-section .card .text-muted,
.fvt-hero .card .text-muted{
  color:#40586f !important;
}

/* Icon pill inside the feature cards */
.hero .card i,
.hero .card svg,
.hero .card-glass i,
.hero .card-glass svg,
.hero .card-feature i,
.hero .card-feature svg,
.hero .feature-card i,
.hero .feature-card svg,
.hero .benefit-card i,
.hero .benefit-card svg,
.hero-section .card i,
.hero-section .card svg,
.fvt-hero .card i,
.fvt-hero .card svg{
  color:var(--fvt-green-2) !important;
  fill:currentColor;
}

@media(max-width:767.98px){
  .hero .card,
  .hero .card-glass,
  .hero .card-feature,
  .hero .feature-card,
  .hero .benefit-card,
  .hero-section .card,
  .fvt-hero .card{
    background:#ffffff !important;
    border-left:5px solid var(--fvt-gold) !important;
  }

  .hero .card p,
  .hero .card-glass p,
  .hero .card-feature p,
  .hero .feature-card p,
  .hero .benefit-card p,
  .hero-section .card p,
  .fvt-hero .card p{
    color:#1f3348 !important;
    font-size:.95rem !important;
    line-height:1.35 !important;
  }
}
.needle-ev rect{ fill:#F5C94A !important; }
.needle-60 rect{ fill:#0DA8B3 !important; }
.needle-fb rect{ fill:#ffffff !important; }

.needle-ev circle,
.needle-60 circle,
.needle-fb circle{
  fill:#0DA8B3 !important;
  opacity:1 !important;
}
/* FVT gauge color reset */
.g-fill-ev,
.g-fill-60,
.g-fill-fb{
  stroke: url(#evGrad) !important;
  stroke-width: 10 !important;
}

.needle-ev rect,
.needle-60 rect,
.needle-fb rect{
  fill: #F5C94A !important;
  filter: drop-shadow(0 0 5px rgba(245,201,74,.75));
}

.needle-ev circle,
.needle-60 circle,
.needle-fb circle{
  fill: #0DA8B3 !important;
  opacity: 1 !important;
}

/* keep the back arc lighter, not pure black */
.section-gauges svg path:first-child{
  stroke: rgba(255,255,255,.28) !important;
}
/* Admin login readability fix */
.admin-login-card,
.login-card,
.auth-card,
.card{
  color:#07131f !important;
}

.admin-login-card p,
.login-card p,
.auth-card p{
  color:#334155 !important;
}

.admin-login-card label,
.login-card label,
.auth-card label{
  color:#F5C94A !important;
  font-weight:900 !important;
}

.admin-login-card a,
.login-card a,
.auth-card a{
  color:#F5C94A !important;
  font-weight:800 !important;
}

.admin-login-card input,
.login-card input,
.auth-card input{
  color:#07131f !important;
  background:#eef5ff !important;
}

.admin-login-card input::placeholder,
.login-card input::placeholder,
.auth-card input::placeholder{
  color:#F5C94A !important;
}
/* =========================================================
   FVT FINAL FIX OVERRIDES
   Paste at VERY BOTTOM of style.css
   ========================================================= */

:root{
  --fvt-teal:#0DA8B3;
  --fvt-cyan:#7ff5ff;
  --fvt-text:#f7fbff;
  --fvt-muted:#c9d7e4;
  --glass-light:rgba(255,255,255,.88);
  --glass-soft:rgba(255,255,255,.14);
}

/* Lighten hero background image area */
.hero,
.hero3d-wrap,
.hero-wrap,
.hero-section,
.page-hero,
.fvt-hero{
  background:
    linear-gradient(
      135deg,
      rgba(2,5,9,.38),
      rgba(6,47,36,.34),
      rgba(2,5,9,.42)
    ),
    radial-gradient(circle at 15% 18%, rgba(245,201,74,.20), transparent 36%),
    radial-gradient(circle at 86% 18%, rgba(13,168,179,.18), transparent 38%),
    url('/assets/img/backgrounds/hero-baseball.jpg') !important;

  background-size:cover !important;
  background-position:center !important;
}

/* Fix hero benefit cards */
.hero .card,
.hero .card-glass,
.hero .card-feature,
.hero .feature-card,
.hero .benefit-card,
.hero .info-box,
.hero .list-card,
.hero .stat-card,
.hero-wrap .card,
.hero-wrap .card-glass,
.hero-wrap .card-feature,
.hero-wrap .feature-card,
.hero-wrap .benefit-card,
.hero-wrap .info-box,
.hero-wrap .list-card,
.hero-wrap .stat-card,
.hero-section .card,
.hero-section .card-glass,
.hero-section .card-feature,
.hero-section .feature-card,
.hero-section .benefit-card,
.hero-section .info-box,
.hero-section .list-card,
.hero-section .stat-card,
.fvt-hero .card,
.fvt-hero .card-glass,
.fvt-hero .card-feature,
.fvt-hero .feature-card,
.fvt-hero .benefit-card,
.fvt-hero .info-box,
.fvt-hero .list-card,
.fvt-hero .stat-card{
  color:#ffffff !important;
  background:
    linear-gradient(
      135deg,
      rgba(6,47,36,.86),
      rgba(3,10,18,.78)
    ) !important;

  border:1px solid rgba(245,201,74,.45) !important;
  border-left:6px solid #F5C94A !important;
  box-shadow:
    0 18px 42px rgba(0,0,0,.32),
    inset 0 1px 0 rgba(255,255,255,.10) !important;

  text-shadow:none !important;
}

/* Fix hero card text */
.hero .card *,
.hero .card-glass *,
.hero .card-feature *,
.hero .feature-card *,
.hero .benefit-card *,
.hero .info-box *,
.hero .list-card *,
.hero .stat-card *,
.hero-wrap .card *,
.hero-wrap .card-glass *,
.hero-wrap .card-feature *,
.hero-wrap .feature-card *,
.hero-wrap .benefit-card *,
.hero-wrap .info-box *,
.hero-wrap .list-card *,
.hero-wrap .stat-card *,
.hero-section .card *,
.hero-section .card-glass *,
.hero-section .card-feature *,
.hero-section .feature-card *,
.hero-section .benefit-card *,
.hero-section .info-box *,
.hero-section .list-card *,
.hero-section .stat-card *,
.fvt-hero .card *,
.fvt-hero .card-glass *,
.fvt-hero .card-feature *,
.fvt-hero .benefit-card *,
.fvt-hero .feature-card *{
  color:#ffffff !important;
}

.hero .card p,
.hero .card .small,
.hero .card-glass p,
.hero .card-glass .small,
.hero .card-feature p,
.hero .card-feature .small,
.hero .feature-card p,
.hero .feature-card .small,
.hero .benefit-card p,
.hero .benefit-card .small,
.hero-wrap .card p,
.hero-wrap .card .small,
.hero-section .card p,
.hero-section .card .small,
.fvt-hero .card p,
.fvt-hero .card .small{
  color:#dbe7f2 !important;
  font-weight:700 !important;
  opacity:1 !important;
}
.region-map-box{
    min-height:520px;
    border-radius:28px;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:
        0 24px 60px rgba(0,0,0,.35),
        inset 0 0 40px rgba(255,255,255,.06);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:18px;
}

.region-map-box img{
    width:100%;
    max-height:620px;
    object-fit:contain;
    display:block;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    filter:
        drop-shadow(0 28px 28px rgba(0,0,0,.48))
        drop-shadow(0 0 24px rgba(245,201,74,.22));
}
/* Fix icon pill colors */
.kpi-icon,
.hero .kpi-icon,
.hero-wrap .kpi-icon,
.hero-section .kpi-icon,
.fvt-hero .kpi-icon{
  background:linear-gradient(180deg, #7ff5ff, #0DA8B3) !important;
  color:#06111b !important;
  box-shadow:0 8px 18px rgba(0,0,0,.22);
}

/* Regular light cards stay readable */
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark),
.card-feature:not(.panel-ink),
.player-card,
.event-card{
  color:#07111d !important;
}

.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) h1,
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) h2,
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) h3,
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) h4,
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) h5,
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) h6{
  color:#07111d !important;
}

.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) p,
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) li,
.card:not(.panel-ink):not(.card-dark):not(.dark):not(.bg-dark) span{
  color:#334155 !important;
}

/* Gauge color fix */
.g-fill-ev{
  stroke:url(#evGrad) !important;
}

.g-fill-60{
  stroke:url(#sixtyGrad) !important;
}

.g-fill-fb{
  stroke:url(#fbGrad) !important;
}

.needle-ev rect{
  fill:#F5C94A !important;
  filter:drop-shadow(0 0 5px rgba(245,201,74,.75));
}

.needle-60 rect{
  fill:#0DA8B3 !important;
  filter:drop-shadow(0 0 5px rgba(13,168,179,.75));
}

.needle-fb rect{
  fill:#ffffff !important;
  filter:drop-shadow(0 0 5px rgba(255,255,255,.75));
}

.needle-ev circle,
.needle-60 circle,
.needle-fb circle{
  fill:#0DA8B3 !important;
  opacity:1 !important;
}

.section-gauges svg path:first-child{
  stroke:rgba(255,255,255,.28) !important;
}
.region-map-box{
    min-height:520px;
    border-radius:28px;
    background:rgba(255,255,255,.06) !important;
    border:1px solid rgba(255,255,255,.18) !important;
    box-shadow:
        0 24px 60px rgba(0,0,0,.35),
        inset 0 0 40px rgba(255,255,255,.06);
    backdrop-filter:blur(18px);
    -webkit-backdrop-filter:blur(18px);
    display:flex;
    align-items:center;
    justify-content:center;
    overflow:hidden;
    padding:18px;
}

.region-map-box img{
    width:100%;
    max-height:620px;
    object-fit:contain;
    display:block;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    filter:
        drop-shadow(0 28px 28px rgba(0,0,0,.48))
        drop-shadow(0 0 24px rgba(245,201,74,.22));
}
/* Footer links */
.fvt-footer a,
footer a{
  color:#F5C94A !important;
  font-weight:700 !important;
}

.fvt-footer a:hover,
footer a:hover{
  color:#ffffff !important;
  text-shadow:0 0 10px rgba(245,201,74,.45);
}

/* Admin login card */
.admin-login-card,
.login-card,
.auth-card{
  background:
    linear-gradient(
      145deg,
      rgba(6,47,36,.94),
      rgba(3,10,18,.96)
    ) !important;

  border:1px solid rgba(245,201,74,.38) !important;
  color:#ffffff !important;
}

.admin-login-card h1,
.admin-login-card h2,
.admin-login-card h3,
.login-card h1,
.login-card h2,
.auth-card h1,
.auth-card h2{
  color:#ffffff !important;
}

.admin-login-card p,
.login-card p,
.auth-card p{
  color:#dbe7f2 !important;
}

.admin-login-card label,
.login-card label,
.auth-card label{
  color:#F5C94A !important;
  font-weight:900 !important;
}

.admin-login-card a,
.login-card a,
.auth-card a{
  color:#F5C94A !important;
  font-weight:900 !important;
}

.admin-login-card input,
.login-card input,
.auth-card input{
  color:#07111d !important;
  background:#eef5ff !important;
}

/* WhatsApp button readable */
.whatsapp-float{
  color:#ffffff !important;
  background:linear-gradient(180deg, #25d366, #003100) !important;
  font-size:14px !important;
  padding:12px 16px !important;
}

@media(max-width:575.98px){
  .whatsapp-float{
    font-size:13px !important;
    padding:10px 13px !important;
  }
}
.section-features .card-feature{
  position:relative;
  overflow:hidden;
  background:rgba(255,255,255,.72) !important;
}

.section-features .card-feature::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background-size:cover;
  background-position:center;
  opacity:.22;
  filter:saturate(1.15) contrast(1.05);
}

.section-features .col-md-4:nth-child(1) .card-feature::before{
  background-image:url('/assets/img/players20.jpg');
}

.section-features .col-md-4:nth-child(2) .card-feature::before{
  background-image:url('/assets/img/players29.jpg');
}

.section-features .col-md-4:nth-child(3) .card-feature::before{
  background-image:url('/assets/img/players14.jpg');
}

.section-features .card-feature .card-body{
  position:relative;
  z-index:2;
}

.section-features .card-feature::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  background:rgba(255,255,255,.68);
  pointer-events:none;
}
/* =========================================================
   STATE CHAMPIONS MOBILE RESPONSIVE FIX
========================================================= */

/* Card grid */
.champs-grid,
.state-champions-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(320px,1fr));
  gap:24px;
  width:100%;
}

/* Championship card */
.champ-card,
.state-champion-card{
  width:100%;
  max-width:100%;
  min-width:0;
  overflow:hidden;
  border-radius:22px;
  position:relative;
}

/* Make internal content flexible */
.champ-card .card-body,
.state-champion-card .card-body{
  display:flex;
  flex-direction:column;
  gap:14px;
  width:100%;
}

/* Header row */
.champ-header{
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}

/* Logo area */
.champ-logo-box{
  width:90px;
  height:90px;
  min-width:90px;
  border-radius:18px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

.champ-logo-box img{
  width:100%;
  height:100%;
  object-fit:contain;
  padding:10px;
}

/* Text content */
.champ-school{
  font-size:1.5rem;
  font-weight:1000;
  line-height:1.1;
  word-break:break-word;
}

.champ-location,
.champ-notes{
  font-size:.95rem;
  line-height:1.45;
}

/* Footer info */
.champ-footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

/* Prevent long titles from breaking layout */
.champ-card h1,
.champ-card h2,
.champ-card h3,
.champ-card h4,
.champ-card h5,
.champ-card p,
.champ-card span{
  overflow-wrap:anywhere;
}

/* =========================================================
   TABLET
========================================================= */
@media(max-width:991px){

  .champs-grid,
  .state-champions-grid{
    grid-template-columns:1fr 1fr;
    gap:18px;
  }

  .champ-school{
    font-size:1.25rem;
  }

  .champ-logo-box{
    width:78px;
    height:78px;
    min-width:78px;
  }
}

/* =========================================================
   MOBILE
========================================================= */
@media(max-width:768px){

  .champs-grid,
  .state-champions-grid{
    grid-template-columns:1fr !important;
    gap:16px;
  }

  .champ-card,
  .state-champion-card{
    border-radius:18px;
  }

  .champ-card .card-body,
  .state-champion-card .card-body{
    padding:18px !important;
  }

  .champ-header{
    align-items:flex-start;
    gap:12px;
  }

  .champ-logo-box{
    width:72px;
    height:72px;
    min-width:72px;
    border-radius:14px;
  }

  .champ-school{
    font-size:1.1rem;
    line-height:1.15;
  }

  .champ-location{
    font-size:.9rem;
  }

  .champ-footer{
    flex-direction:column;
    align-items:flex-start;
  }

  .champ-badge,
  .champ-class,
  .rank-pill{
    font-size:.8rem !important;
    padding:.42rem .7rem !important;
  }
}

/* =========================================================
   SMALL PHONES
========================================================= */
@media(max-width:480px){

  .champ-card .card-body,
  .state-champion-card .card-body{
    padding:14px !important;
  }

  .champ-logo-box{
    width:64px;
    height:64px;
    min-width:64px;
  }

  .champ-school{
    font-size:1rem;
  }

  .champ-location,
  .champ-notes{
    font-size:.85rem;
  }

  .champ-footer{
    gap:8px;
  }
}
.champs-hero-logo{
    width:100%;
    max-width:260px;
    height:auto;
    object-fit:contain;
    filter:drop-shadow(0 12px 24px rgba(255,255,255,.55));
}

.champs-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
    gap:20px;
    width:100%;
}

.champ-card{
    width:100%;
    max-width:100%;
    min-width:0;
}

@media(max-width:576px){
    .champs-grid{
        grid-template-columns:1fr !important;
    }

    .champ-card{
        padding:16px;
    }
}
.glow {
    color: #fff;
    text-shadow: 0 0 10px #00eaff,
                 0 0 20px #00eaff,
                 0 0 30px #00eaff;
    animation: pulse 1.5s infinite alternate;
}

@keyframes pulse {
    0% {
        text-shadow: 0 0 5px #00eaff,
                     0 0 10px #00eaff,
                     0 0 20px #00eaff;
    }
    100% {
        text-shadow: 0 0 20px #00eaff,
                     0 0 40px #00eaff,
                     0 0 60px #00eaff;
    }
}
