
:root{--navy:#0b2748;--navy2:#071a31;--gold:#f4c744;--blue:#1f5f99;--bg:#0b0711;--text:#172033;--muted:#687386;--line:#dfe5ed}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--text);background:white}
a{text-decoration:none;color:inherit}.top{background:var(--navy2);color:#dce7f2;padding:9px 4%;font-size:13px}.top span{float:right}
header{box-shadow:0 3px 14px #00000012;position:relative;z-index:2}.navwrap{display:flex;align-items:center;justify-content:space-between;padding:14px 4%;gap:24px;background:white}
.brand{display:flex;align-items:center;gap:10px;color:var(--navy)}.brand b{font-size:24px;display:block}.brand small{display:block;color:var(--muted);font-size:11px}.ball{font-size:34px}
nav{display:flex;flex-wrap:wrap;gap:16px;font-size:14px;font-weight:700}nav a:hover{color:var(--blue)}
.hero{background:linear-gradient(120deg,var(--navy2),var(--navy),#174d7a);color:white;padding:78px 5%}.hero h1{font-size:clamp(44px,7vw,90px);line-height:.93;margin:0;max-width:900px}.hero h1 span{color:var(--gold)}.hero p{max-width:700px;line-height:1.65;color:#dce7f2}
.btn{display:inline-block;padding:13px 18px;border-radius:7px;background:var(--gold);color:var(--navy);font-weight:800;margin:8px 8px 0 0}.btn.alt{background:white}
.section{padding:54px 5%}.section.alt{background:var(--bg)}.eyebrow{font-size:12px;font-weight:800;letter-spacing:.16em;color:var(--blue);text-transform:uppercase}.section h1,.section h2{color:var(--navy)}
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.card{border:1px solid var(--line);border-radius:12px;padding:20px;background:white}.card h3{margin-top:0;color:var(--navy)}
.quick{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:-30px;padding:0 5%;position:relative}.quick a{background:white;padding:20px;border-radius:12px;box-shadow:0 10px 28px #0b27481a;font-weight:800}
table{width:100%;border-collapse:collapse;background:white}.tablewrap{overflow:auto;border:1px solid var(--line);border-radius:12px}th{background:var(--navy);color:white;text-align:left;padding:12px;font-size:12px}td{padding:11px 12px;border-bottom:1px solid var(--line);font-size:14px}
.divisions{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.division{border:1px solid var(--line);border-radius:12px;background:white;padding:18px}.division h2{margin-top:0}.division ul{padding-left:18px}.division li{margin:7px 0}
.note{padding:14px 16px;background:#fff8dd;border:1px solid #ead682;border-radius:9px;margin:15px 0;line-height:1.5}.muted{color:var(--muted)}
.fields{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.field{border:1px solid var(--line);border-radius:12px;padding:18px}.tag{font-size:11px;background:#eaf2f8;color:var(--blue);padding:4px 7px;border-radius:99px}
.rule{border:1px solid var(--line);border-radius:12px;padding:20px;margin-bottom:14px;background:white}.rule li{margin:9px 0;line-height:1.5}
footer{background:var(--navy2);color:#aebccc;padding:28px 5%;margin-top:30px}
form{max-width:720px;display:grid;gap:12px}.row{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-size:13px;font-weight:700}input,select,textarea{width:100%;padding:11px;margin-top:5px;border:1px solid #cbd4df;border-radius:7px}
button{border:0;background:var(--navy);color:white;padding:13px 18px;border-radius:7px;font-weight:800}
@media(max-width:1000px){.divisions{grid-template-columns:1fr 1fr}.grid,.fields{grid-template-columns:1fr 1fr}.quick{grid-template-columns:1fr 1fr}.navwrap{display:block}nav{margin-top:14px}}
@media(max-width:600px){.divisions,.grid,.fields,.quick,.row{grid-template-columns:1fr}.top span{float:none;display:block;margin-top:3px}.hero{padding:55px 5%}}

.team-list{list-style:none;padding-left:0}
.team-list li{margin:0;border-top:1px solid var(--line)}
.team-link{display:flex;align-items:center;justify-content:space-between;padding:10px 4px;font-weight:700;color:var(--navy)}
.team-link:hover{color:var(--blue);padding-left:8px}
.team-link span{font-size:20px}

.division-select-note{font-size:13px;color:var(--muted)}

.home-hero{text-align:center;padding:86px 5%}
.home-hero-inner{max-width:930px;margin:0 auto}
.home-ball{font-size:62px;margin-bottom:10px}
.home-eyebrow{color:var(--gold)!important}
.home-hero h1{margin:0 auto;font-size:clamp(46px,7vw,86px);line-height:.98}
.home-lead{font-size:18px!important;margin:22px auto!important;max-width:720px!important}
.home-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.home-divisions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-top:26px}
.home-divisions span{border:1px solid #ffffff55;border-radius:99px;padding:7px 14px;font-weight:800}
.home-welcome{text-align:center}
.home-intro{max-width:720px;margin:0 auto 25px;color:var(--muted);font-size:17px}
.quick-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;max-width:1100px;margin:0 auto}
.quick-card{border:1px solid var(--line);border-radius:14px;padding:22px;background:white;text-align:center}
.quick-card span{display:block;font-size:34px;margin-bottom:9px}.quick-card b{display:block;color:var(--navy);font-size:18px}.quick-card small{display:block;color:var(--muted);margin-top:6px}
.home-section-head{text-align:center;max-width:760px;margin:0 auto 25px}
.fall-division{border:1px solid var(--line);border-radius:14px;padding:20px;background:white;margin-bottom:18px}
.fall-div-head{display:flex;justify-content:space-between;align-items:center}.fall-div-head h2{margin:0}.fall-div-head span{font-size:12px;color:var(--muted)}
.fall-team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px 14px;margin-top:15px}
.fall-team-row{display:flex;gap:8px;align-items:flex-start;font-size:14px;font-weight:600}.fall-team-row input{width:auto;margin-top:2px}
.fall-add{display:flex;gap:8px;margin-top:15px}.fall-add input{margin:0}.fall-add button{white-space:nowrap}
.fall-savebar{border:1px solid var(--line);background:white;border-radius:14px;padding:18px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
@media(max-width:900px){.quick-cards{grid-template-columns:1fr 1fr}.fall-team-grid{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.quick-cards,.fall-team-grid{grid-template-columns:1fr}.home-hero{padding:58px 5%}.fall-add{display:block}.fall-add button{margin-top:8px}}

.quick-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}

.team-link-with-coach>span:first-child{display:flex;flex-direction:column;gap:4px}
.team-coach-summary{display:block;font-size:12px;font-weight:500;color:var(--muted)}

.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-top:20px}
.admin-card{display:block;border:1px solid var(--line);border-radius:14px;padding:20px;background:white}
.admin-card h3{margin-top:0;color:var(--navy)}
.admin-card:hover{transform:translateY(-2px)}

.contact-hero{padding:78px 5%;background:linear-gradient(180deg,#f4f8fc 0%,#fff 100%);text-align:center;border-bottom:1px solid var(--line)}
.contact-hero-inner{max-width:820px;margin:0 auto}
.contact-hero h1{font-size:clamp(42px,6vw,72px);margin:6px 0 14px;color:var(--navy)}
.contact-hero p{max-width:700px;margin:0 auto 24px;font-size:18px;color:var(--muted);line-height:1.65}
.contact-hero-actions{display:flex;justify-content:center;gap:10px;flex-wrap:wrap}
.leadership-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px;max-width:1100px;margin:0 auto}
.leadership-grid .card{text-align:center;padding:26px 22px}
.leadership-grid .card h3{font-size:14px;letter-spacing:.08em;text-transform:uppercase;color:var(--blue);margin-bottom:10px}
.leadership-grid .card p{margin:7px 0}
.leadership-grid .card p b{font-size:20px;color:var(--navy)}
.contact-form-wrap{display:grid;grid-template-columns:.8fr 1.2fr;gap:28px;max-width:1100px;margin:0 auto;align-items:start}
.contact-form-copy{padding:14px 6px}
.contact-form-copy h2{font-size:34px;margin:6px 0 12px}
.contact-form-copy>p{color:var(--muted);line-height:1.7}
.contact-help-card{margin-top:20px;padding:18px;border-left:4px solid var(--blue);background:#fff;border-radius:10px}
.contact-help-card h3{margin-top:0}
.contact-form-card{padding:26px}
.contact-form-card label{font-weight:700}
.contact-form-card input,.contact-form-card select,.contact-form-card textarea{margin-top:7px}
.contact-form-card button{margin-top:8px}
@media(max-width:800px){
  .contact-form-wrap{grid-template-columns:1fr}
  .contact-hero{padding:56px 5%}
}

.about-hero{padding:76px 5%;text-align:center;background:linear-gradient(180deg,#f4f8fc 0%,#fff 100%);border-bottom:1px solid var(--line)}
.about-hero-inner{max-width:860px;margin:0 auto}
.about-hero h1{font-size:clamp(40px,6vw,70px);margin:8px 0 14px;color:var(--navy)}
.about-hero p{max-width:700px;margin:0 auto;color:var(--muted);font-size:18px;line-height:1.65}
.about-layout{display:grid;grid-template-columns:1.4fr .8fr;gap:30px;max-width:1100px;margin:0 auto}
.about-copy h2{font-size:36px;margin:8px 0 18px}
.about-copy p{font-size:17px;line-height:1.75;color:var(--muted)}
.about-side{display:grid;gap:16px}
.about-divisions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.about-divisions span{background:var(--navy);color:white;border-radius:999px;padding:8px 13px;font-weight:800}
@media(max-width:800px){.about-layout{grid-template-columns:1fr}.about-hero{padding:54px 5%}}

.field-select-card{display:block;text-decoration:none;transition:transform .15s ease,box-shadow .15s ease}
.field-select-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(0,0,0,.08)}
.field-detail-hero{text-align:center;max-width:900px;margin:26px auto 30px}
.field-detail-hero h1{font-size:clamp(36px,5vw,58px);margin:8px 0}
.field-address{font-size:18px;color:var(--muted)}
.field-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1150px;margin:0 auto}
.field-detail-info{display:grid;gap:16px}
.field-detail-map{position:sticky;top:20px;align-self:start}
.field-map-frame{width:100%;height:460px;border:0;border-radius:12px}
@media(max-width:850px){
  .field-detail-grid{grid-template-columns:1fr}
  .field-detail-map{position:static}
  .field-map-frame{height:360px}
}

.fields-hero{
  min-height:68vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px 5%;
  text-align:center;
  background:linear-gradient(180deg,#f4f8fc 0%,#ffffff 100%);
}
.fields-hero-inner{
  width:100%;
  max-width:820px;
  margin:0 auto;
}
.fields-hero h1{
  font-size:clamp(42px,6vw,70px);
  margin:8px 0 14px;
  color:var(--navy);
}
.fields-hero-inner>p{
  max-width:650px;
  margin:0 auto 28px;
  font-size:18px;
  line-height:1.65;
  color:var(--muted);
}
.field-selector-card{
  max-width:560px;
  margin:0 auto;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 12px 34px rgba(0,0,0,.07);
}
.field-selector-card label{
  display:block;
  font-weight:800;
  font-size:18px;
  margin-bottom:10px;
  color:var(--navy);
}
.field-selector-card select{
  width:100%;
  font-size:17px;
  padding:14px;
  margin-bottom:14px;
}
.field-selector-card button{
  width:100%;
  padding:14px 18px;
  font-size:16px;
}
.field-selector-card .muted{
  margin:12px 0 0;
  font-size:13px;
}

.tournament-admin-actions{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}
.bracket-scroll{overflow-x:auto;padding:10px 2px 24px}
.bracket-board{display:flex;gap:28px;align-items:stretch;min-width:max-content;padding:10px}
.bracket-round{width:285px;display:flex;flex-direction:column}
.bracket-round>h3{text-align:center;margin:0 0 14px;color:var(--navy)}
.bracket-round-games{display:flex;flex-direction:column;justify-content:space-around;gap:22px;flex:1}
.bracket-game{background:#fff;border:1px solid var(--line);border-radius:14px;padding:12px;box-shadow:0 5px 18px rgba(0,0,0,.05);position:relative}
.bracket-team{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:10px;border:1px solid var(--line);background:#fafcff}
.bracket-team:first-of-type{border-radius:9px 9px 0 0}
.bracket-team:nth-of-type(2){border-radius:0 0 9px 9px;border-top:0}
.bracket-team.winner{font-weight:900;background:#eef8f1;border-color:#9bc7a7}
.bracket-team.winner:after{content:"✓";font-weight:900}
.score-box{width:58px;padding:6px;text-align:center}
.bracket-game-meta{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:8px}
.bracket-game-meta input:last-child{grid-column:1/-1}
.mini-input{padding:6px;font-size:12px}
.winner-select-label{display:block;margin-top:10px;font-size:12px;font-weight:800}
.winner-select-label select{margin-top:5px;width:100%}
.bracket-status{text-align:center;font-size:12px;color:var(--muted);margin-top:8px;font-weight:700}
.public-game-meta{text-align:center;color:var(--muted);font-size:12px;margin-bottom:8px}
.public-bracket-board .bracket-team b{min-width:24px;text-align:right}
@media(max-width:700px){
  .bracket-round{width:250px}
}

.play-days-box{margin-top:16px;padding:16px;border:1px solid var(--line);border-radius:12px;background:#fff}
.play-days-box h3{margin:0 0 6px}
.play-day-row{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:10px;align-items:end;padding:10px 0;border-top:1px solid var(--line)}
.play-day-row:first-child{border-top:0}
.play-day-enable{display:flex;align-items:center;gap:8px;padding-bottom:9px}
.play-day-enable input{width:auto;margin:0}
@media(max-width:760px){
  .play-day-row{grid-template-columns:1fr}
  .play-day-enable{padding-bottom:0}
}

/* Tournament bracket connector lines */
.bracket-board{
  display:flex;
  gap:56px;
  align-items:stretch;
  min-width:max-content;
  padding:10px 24px 20px 10px;
}
.bracket-round{
  width:285px;
  display:flex;
  flex-direction:column;
  position:relative;
}
.bracket-round-games{
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  gap:22px;
  flex:1;
}
.bracket-game{
  position:relative;
  z-index:2;
}
.bracket-round:not(:last-child) .bracket-game::after{
  content:"";
  position:absolute;
  top:50%;
  right:-28px;
  width:28px;
  border-top:2px solid #9aa9b8;
}
.bracket-round:not(:first-child) .bracket-game::before{
  content:"";
  position:absolute;
  top:50%;
  left:-28px;
  width:28px;
  border-top:2px solid #9aa9b8;
}

/* Vertical join lines between paired games */
.bracket-round:not(:last-child) .bracket-round-games{
  position:relative;
}
.bracket-round:not(:last-child) .bracket-round-games::after{
  content:"";
  position:absolute;
  right:-28px;
  top:12.5%;
  bottom:12.5%;
  width:2px;
  background:#9aa9b8;
  z-index:1;
}

/* Give later rounds more vertical spacing so connectors read naturally */
.bracket-round:nth-child(2) .bracket-round-games{padding-top:8%;padding-bottom:8%}
.bracket-round:nth-child(3) .bracket-round-games{padding-top:18%;padding-bottom:18%}
.bracket-round:nth-child(4) .bracket-round-games{padding-top:28%;padding-bottom:28%}
.bracket-round:nth-child(5) .bracket-round-games{padding-top:34%;padding-bottom:34%}

.public-bracket-board .bracket-round:not(:last-child) .bracket-game::after,
.public-bracket-board .bracket-round:not(:first-child) .bracket-game::before{
  border-top-color:#8090a0;
}
.public-bracket-board .bracket-round:not(:last-child) .bracket-round-games::after{
  background:#8090a0;
}

@media(max-width:700px){
  .bracket-board{gap:46px}
  .bracket-round{width:250px}
  .bracket-round:not(:last-child) .bracket-game::after{right:-23px;width:23px}
  .bracket-round:not(:first-child) .bracket-game::before{left:-23px;width:23px}
  .bracket-round:not(:last-child) .bracket-round-games::after{right:-23px}
}

/* v56 polished tournament bracket presentation */
.bracket-scroll{
  overflow-x:auto;
  padding:18px 4px 30px;
}
.bracket-board{
  display:flex;
  gap:72px;
  align-items:stretch;
  min-width:max-content;
  padding:12px 42px 24px 16px;
}
.bracket-round{
  width:300px;
  display:flex;
  flex-direction:column;
  position:relative;
}
.bracket-round>h3{
  text-align:center;
  margin:0 0 20px;
  color:var(--navy);
  font-size:18px;
  letter-spacing:.02em;
}
.bracket-round-games{
  display:flex;
  flex-direction:column;
  justify-content:space-around;
  gap:30px;
  flex:1;
  position:relative;
}
.bracket-game{
  background:#fff;
  border:1px solid #d9e1e8;
  border-radius:16px;
  padding:14px;
  box-shadow:0 8px 22px rgba(15,34,58,.07);
  position:relative;
  z-index:3;
}
.bracket-game:hover{
  box-shadow:0 10px 28px rgba(15,34,58,.10);
}
.bracket-team{
  min-height:46px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  padding:11px 12px;
  border:1px solid #d9e1e8;
  background:#f9fbfd;
}
.bracket-team:first-of-type{
  border-radius:10px 10px 0 0;
}
.bracket-team:nth-of-type(2){
  border-radius:0 0 10px 10px;
  border-top:0;
}
.bracket-team span{
  font-weight:700;
  line-height:1.25;
}
.bracket-team.winner{
  background:#edf7ef;
  border-color:#8fbe98;
}
.bracket-team.winner span{
  font-weight:900;
}
.bracket-team.winner:after{
  content:"✓";
  width:22px;
  height:22px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#2f7d43;
  color:#fff;
  font-size:13px;
  flex:0 0 auto;
}
.bracket-status{
  text-align:center;
  font-size:12px;
  color:var(--muted);
  margin-top:10px;
  font-weight:700;
}
.public-game-meta{
  text-align:center;
  color:var(--muted);
  font-size:12px;
  margin-bottom:10px;
  line-height:1.4;
}
.score-box{
  width:58px;
  padding:7px;
  text-align:center;
  font-weight:800;
  border-radius:8px;
}
.winner-select-label{
  display:block;
  margin-top:12px;
  font-size:12px;
  font-weight:800;
}
.winner-select-label select{
  margin-top:6px;
  width:100%;
}

/* cleaner elbow connectors */
.bracket-round:not(:last-child) .bracket-game::after{
  content:"";
  position:absolute;
  top:50%;
  right:-36px;
  width:36px;
  border-top:2px solid #aab6c2;
  z-index:1;
}
.bracket-round:not(:first-child) .bracket-game::before{
  content:"";
  position:absolute;
  top:50%;
  left:-36px;
  width:36px;
  border-top:2px solid #aab6c2;
  z-index:1;
}
.bracket-round:not(:last-child) .bracket-round-games::after{
  content:"";
  position:absolute;
  right:-36px;
  top:10%;
  bottom:10%;
  width:2px;
  background:#aab6c2;
  border-radius:2px;
  z-index:1;
}

/* stagger rounds so the visual progression reads naturally */
.bracket-round:nth-child(2) .bracket-round-games{padding-top:10%;padding-bottom:10%}
.bracket-round:nth-child(3) .bracket-round-games{padding-top:22%;padding-bottom:22%}
.bracket-round:nth-child(4) .bracket-round-games{padding-top:34%;padding-bottom:34%}
.bracket-round:nth-child(5) .bracket-round-games{padding-top:40%;padding-bottom:40%}

/* subtle championship emphasis */
.bracket-round:last-child .bracket-game{
  border-width:2px;
  border-color:#c3ced8;
}
.bracket-round:last-child>h3{
  font-size:20px;
}

/* public bracket slightly cleaner */
.public-bracket-board .bracket-game{
  padding:13px;
}
.public-bracket-board .bracket-team{
  background:#fff;
}
.public-bracket-board .bracket-team.winner{
  background:#edf7ef;
}

/* mobile */
@media(max-width:700px){
  .bracket-board{
    gap:54px;
    padding-right:28px;
  }
  .bracket-round{
    width:260px;
  }
  .bracket-round:not(:last-child) .bracket-game::after{
    right:-27px;
    width:27px;
  }
  .bracket-round:not(:first-child) .bracket-game::before{
    left:-27px;
    width:27px;
  }
  .bracket-round:not(:last-child) .bracket-round-games::after{
    right:-27px;
  }
}

/* v57 flowing tournament bracket connectors */
.bracket-board{
  position:relative;
}

/* turn off the old segmented pseudo-element connectors */
.bracket-round .bracket-game::before,
.bracket-round .bracket-game::after,
.bracket-round .bracket-round-games::after{
  content:none !important;
  display:none !important;
}

.bracket-round,
.bracket-game{
  position:relative;
  z-index:2;
}

.bracket-connector-svg{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  pointer-events:none;
  overflow:visible;
  z-index:1;
}

.bracket-connector-path{
  fill:none;
  stroke:#8fa1b2;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  vector-effect:non-scaling-stroke;
}

.public-bracket-board .bracket-connector-path{
  stroke:#7e91a3;
}

.teams-finder-hero{
  min-height:68vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px 5%;
  text-align:center;
  background:linear-gradient(180deg,#f4f8fc 0%,#fff 100%);
}
.teams-finder-inner{width:100%;max-width:820px;margin:0 auto}
.teams-finder-hero h1{font-size:clamp(42px,6vw,70px);margin:8px 0 14px;color:var(--navy)}
.teams-finder-inner>p{max-width:680px;margin:0 auto 28px;font-size:18px;line-height:1.65;color:var(--muted)}
.team-selector-card{
  max-width:580px;
  margin:0 auto;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 12px 34px rgba(0,0,0,.07);
  text-align:left;
}
.team-selector-card label{display:block;font-weight:800;margin-bottom:14px;color:var(--navy)}
.team-selector-card select{width:100%;margin-top:7px;padding:13px;font-size:16px}
.team-selector-card button{width:100%;padding:14px 18px;font-size:16px;margin-top:4px}
.team-selector-card .muted{text-align:center;margin:12px 0 0;font-size:13px}
.team-detail-hero{text-align:center;max-width:900px;margin:28px auto 30px}
.team-detail-hero h1{font-size:clamp(36px,5vw,58px);margin:8px 0}
.team-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;max-width:1100px;margin:0 auto}
.team-contact-person{padding:12px 0;border-bottom:1px solid var(--line)}
.team-contact-person:last-child{border-bottom:0}
.team-contact-person h3{margin:0 0 7px;color:var(--blue)}
.team-contact-person p{margin:5px 0}
.team-roster-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:10px}
.roster-player{padding:12px;border:1px solid var(--line);border-radius:10px;background:#fafcff}
@media(max-width:800px){
  .team-detail-grid{grid-template-columns:1fr}
  .teams-finder-hero{padding:54px 5%}
}

.roster-toolbar{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.roster-edit-card{margin-bottom:14px}
.roster-edit-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
.roster-edit-head h3{margin:0}
.roster-row-actions{display:flex;gap:6px;flex-wrap:wrap}
.roster-edit-grid{display:grid;grid-template-columns:2fr .8fr 1.2fr 1fr;gap:12px}
.roster-edit-grid label{font-weight:800}
.roster-edit-grid input,.roster-edit-grid select{margin-top:6px}
.roster-player{display:flex;align-items:center;gap:12px}
.roster-number{
  min-width:44px;
  height:44px;
  border-radius:999px;
  background:var(--navy);
  color:white;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  padding:0 8px;
}
.roster-player .muted{margin:4px 0 0}
@media(max-width:820px){
  .roster-edit-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .roster-edit-grid{grid-template-columns:1fr}
  .roster-edit-head{align-items:flex-start;flex-direction:column}
}

.coaches-finder-hero{
  min-height:68vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px 5%;
  text-align:center;
  background:linear-gradient(180deg,#f4f8fc 0%,#fff 100%);
}
.coaches-finder-inner{width:100%;max-width:820px;margin:0 auto}
.coaches-finder-hero h1{font-size:clamp(42px,6vw,70px);margin:8px 0 14px;color:var(--navy)}
.coaches-finder-inner>p{max-width:680px;margin:0 auto 28px;font-size:18px;line-height:1.65;color:var(--muted)}
.coach-selector-card{
  max-width:580px;
  margin:0 auto;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 12px 34px rgba(0,0,0,.07);
  text-align:left;
}
.coach-selector-card label{display:block;font-weight:800;margin-bottom:14px;color:var(--navy)}
.coach-selector-card select{width:100%;margin-top:7px;padding:13px;font-size:16px}
.coach-selector-card button{width:100%;padding:14px 18px;font-size:16px;margin-top:4px}
.coach-selector-card .muted{text-align:center;margin:12px 0 0;font-size:13px}
.coach-profile-card{text-align:center;padding:28px 22px}
.coach-profile-card h2{margin:8px 0 12px;color:var(--navy)}
.coach-profile-card p{margin:6px 0}

.public-finder-hero{
  min-height:68vh;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:70px 5%;
  text-align:center;
  background:linear-gradient(180deg,#f4f8fc 0%,#fff 100%);
}
.public-finder-inner{width:100%;max-width:820px;margin:0 auto}
.public-finder-hero h1{font-size:clamp(42px,6vw,70px);margin:8px 0 14px;color:var(--navy)}
.public-finder-inner>p{max-width:680px;margin:0 auto 28px;font-size:18px;line-height:1.65;color:var(--muted)}
.public-selector-card{
  max-width:580px;
  margin:0 auto;
  padding:30px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:18px;
  box-shadow:0 12px 34px rgba(0,0,0,.07);
  text-align:left;
}
.public-selector-card label{display:block;font-weight:800;margin-bottom:14px;color:var(--navy)}
.public-selector-card select{width:100%;margin-top:7px;padding:13px;font-size:16px}
.public-selector-card button{width:100%;padding:14px 18px;font-size:16px;margin-top:4px}
.public-selector-card .muted{text-align:center;margin:12px 0 0;font-size:13px}
.public-results-section{scroll-margin-top:30px}
.public-results-section .home-section-head{max-width:850px;margin:0 auto 20px;text-align:center}
@media(max-width:800px){
  .public-finder-hero{padding:54px 5%}
}

.clean-home-hero{padding-top:78px;padding-bottom:78px}
.clean-home-links{max-width:1180px;margin-left:auto;margin-right:auto}
.public-season-home .home-section-head{max-width:820px;margin-left:auto;margin-right:auto}
.home-season-cards{max-width:1050px;margin-left:auto;margin-right:auto}
@media(max-width:800px){
  .clean-home-hero{padding-top:56px;padding-bottom:56px}
}

.document-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;max-width:1100px;margin:0 auto}
.document-card{display:flex;flex-direction:column}
.document-card .btn{margin-top:auto;align-self:flex-start}
.document-manager-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:24px;max-width:1200px;margin:20px auto 0;align-items:start}
.document-manager-layout label{display:block;font-weight:800;margin-bottom:14px}
.document-manager-layout input,.document-manager-layout select,.document-manager-layout textarea{margin-top:6px}
.document-visible-check{display:flex!important;align-items:center;gap:8px}
.document-visible-check input{width:auto;margin:0}
.document-manager-actions,.document-admin-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.document-admin-card{margin-bottom:14px}
.document-admin-head{display:flex;justify-content:space-between;gap:14px;align-items:flex-start}
.document-admin-head h3{margin:4px 0 0}
.document-visibility{font-size:12px;font-weight:900;border-radius:999px;padding:6px 10px}
.document-visibility.public{background:#edf7ef;color:#2f6f3e}
.document-visibility.private{background:#f3f3f3;color:#666}
@media(max-width:850px){.document-manager-layout{grid-template-columns:1fr}}

.community-link-card{text-align:center;padding:32px}
.community-link-card h2{margin:8px 0 14px;color:var(--navy)}
.community-link-card p{line-height:1.65}
.community-link-card .btn{margin:5px}

.home-message-board-section{position:relative}
.message-board-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
  max-width:1180px;
  margin:0 auto;
}
.message-board-card{
  background:#fff;
  border:1px solid var(--line);
  border-radius:16px;
  padding:22px;
  box-shadow:0 8px 22px rgba(15,34,58,.06);
  border-top:4px solid var(--blue);
}
.message-board-card.pinned{
  border-top-color:#d7a723;
  box-shadow:0 10px 26px rgba(15,34,58,.09);
}
.message-board-top{
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:center;
  margin-bottom:12px;
}
.message-category{
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:var(--blue);
}
.message-pin{
  font-size:11px;
  font-weight:900;
  border-radius:999px;
  padding:5px 9px;
  background:#fff7d8;
  color:#7a5b00;
}
.message-board-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:22px;
}
.message-event-date{margin:7px 0;color:var(--navy)}
.message-copy{line-height:1.65;color:var(--muted);white-space:pre-wrap}
.message-author{font-size:12px;color:var(--muted);margin-top:14px}
.message-board-empty{
  grid-column:1/-1;
  text-align:center;
  padding:34px;
  border:1px dashed var(--line);
  border-radius:16px;
  background:#fff;
}
.message-manager-layout{
  display:grid;
  grid-template-columns:.9fr 1.1fr;
  gap:24px;
  max-width:1200px;
  margin:20px auto 0;
  align-items:start;
}
.message-manager-layout label{display:block;font-weight:800;margin-bottom:14px}
.message-manager-layout input,
.message-manager-layout select,
.message-manager-layout textarea{margin-top:6px}
.announcement-admin-card{margin-bottom:14px}
@media(max-width:850px){
  .message-manager-layout{grid-template-columns:1fr}
}

/* v68 public message board redesign */
.home-message-board-section{
  padding-top:74px;
  padding-bottom:78px;
  background:linear-gradient(180deg,#f2f7fb 0%,#ffffff 100%);
}

.message-board-hero{
  max-width:900px;
  margin:0 auto 30px;
  text-align:center;
}

.message-board-hero h2{
  font-size:clamp(32px,4.5vw,48px);
  margin:6px 0 12px;
  color:var(--navy);
}

.message-board-hero>p:last-child{
  max-width:760px;
  margin:0 auto;
  color:var(--muted);
  font-size:17px;
  line-height:1.7;
}

.featured-announcement-wrap{
  max-width:1120px;
  margin:0 auto 32px;
}

.featured-announcement{
  position:relative;
  overflow:hidden;
  padding:32px;
  border-radius:24px;
  background:linear-gradient(135deg,#10253d 0%,#1d4d78 100%);
  color:#fff;
  box-shadow:0 18px 44px rgba(15,34,58,.17);
}

.featured-announcement::after{
  content:"🥎";
  position:absolute;
  right:28px;
  bottom:-18px;
  font-size:116px;
  opacity:.08;
  transform:rotate(-12deg);
}

.featured-announcement-badge{
  display:inline-flex;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.14);
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
  margin-bottom:14px;
}

.featured-announcement-content{
  display:flex;
  justify-content:space-between;
  gap:28px;
  align-items:flex-end;
  position:relative;
  z-index:1;
}

.featured-category{
  color:#dcecff;
}

.featured-announcement h3{
  color:#fff;
  font-size:clamp(27px,3vw,39px);
  margin:5px 0 10px;
}

.featured-copy{
  color:rgba(255,255,255,.91);
  line-height:1.7;
  max-width:760px;
  white-space:pre-wrap;
}

.featured-date{
  font-weight:900;
  color:#fff;
}

.featured-author{
  color:rgba(255,255,255,.7);
  font-size:12px;
  margin-top:14px;
}

.featured-announcement-action{
  flex:0 0 auto;
}

.featured-button{
  background:#fff !important;
  color:var(--navy) !important;
}

.message-board-toolbar{
  max-width:1120px;
  margin:0 auto 18px;
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:20px;
}

.message-board-toolbar h3{
  margin:0 0 4px;
  font-size:27px;
  color:var(--navy);
}

.message-filter-label{
  min-width:230px;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.05em;
  color:var(--navy);
}

.message-filter-label select{
  width:100%;
  margin-top:6px;
}

.message-board-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:18px;
  max-width:1120px;
  margin:0 auto;
}

.message-board-card{
  background:#fff;
  border:1px solid #dce5ed;
  border-radius:18px;
  padding:22px;
  box-shadow:0 8px 24px rgba(15,34,58,.06);
  transition:transform .15s ease,box-shadow .15s ease;
  border-top:0;
}

.message-board-card:hover{
  transform:translateY(-3px);
  box-shadow:0 13px 31px rgba(15,34,58,.10);
}

.message-board-card-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  margin-bottom:12px;
}

.message-category{
  display:inline-block;
  font-size:11px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--blue);
}

.message-date-chip{
  border-radius:999px;
  padding:5px 9px;
  background:#edf4f9;
  color:#506577;
  font-size:11px;
  font-weight:900;
}

.message-board-card h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:22px;
  line-height:1.25;
}

.message-copy{
  line-height:1.65;
  color:var(--muted);
  white-space:pre-wrap;
}

.message-card-link{
  display:inline-block;
  margin-top:8px;
  font-weight:900;
  text-decoration:none;
  color:var(--blue);
}

.message-card-link:hover{
  text-decoration:underline;
}

.message-author{
  margin-top:16px;
  color:var(--muted);
  font-size:12px;
}

.message-board-empty{
  grid-column:1/-1;
  text-align:center;
  padding:44px;
  background:#fff;
  border:1px dashed #cbd6df;
  border-radius:18px;
}

.message-board-empty-icon{
  font-size:40px;
  margin-bottom:8px;
}

@media(max-width:760px){
  .featured-announcement-content{
    flex-direction:column;
    align-items:flex-start;
  }

  .message-board-toolbar{
    flex-direction:column;
    align-items:stretch;
  }

  .message-filter-label{
    min-width:0;
  }
}


/* =========================================================
   v86 — Professional Girls Softball Theme
   Visual layer only. Functionality intentionally unchanged.
   ========================================================= */

:root{
  --navy:#2b1646;
  --blue:#7b3fc2;
  --muted:#6d6177;
  --line:#eadff0;
  --pink:#d94ca5;
  --hot-pink:#e65aa9;
  --lavender:#b892e6;
  --lavender-soft:#f3ecfb;
  --blush:#fff0f7;
  --plum:#4c1d67;
  --cream:#fffafd;
}

body{
  background:
    radial-gradient(circle at 10% 0%, rgba(217,76,165,.06), transparent 26%),
    radial-gradient(circle at 90% 12%, rgba(123,63,194,.07), transparent 28%),
    #fff;
  color:#2f2635;
}

/* Header / nav */
header{
  background:linear-gradient(135deg,#35184f 0%,#51206f 58%,#6d2f8f 100%);
  box-shadow:0 8px 22px rgba(58,24,80,.18);
}

header a,
header nav a{
  color:#fff;
}

header nav a{
  border-radius:999px;
  padding:9px 13px;
  transition:background .18s ease, transform .18s ease;
}

header nav a:hover{
  background:rgba(255,255,255,.13);
  transform:translateY(-1px);
}

/* Buttons */
button,.btn{
  border-radius:999px;
  background:linear-gradient(135deg,var(--pink),#b63f9f);
  border:0;
  color:#fff;
  font-weight:900;
  letter-spacing:.01em;
  box-shadow:0 7px 18px rgba(192,60,147,.18);
}

button:hover,.btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 22px rgba(192,60,147,.24);
}

.btn.alt{
  background:#fff;
  color:var(--plum);
  border:1px solid #dfcfe9;
  box-shadow:0 5px 14px rgba(76,29,103,.08);
}

/* Eyebrows and section headings */
.eyebrow{
  color:var(--pink);
  letter-spacing:.11em;
}

.section h1,.section h2,.section h3,
.home-section-head h2,
.team-detail-hero h1,
.public-finder-hero h1,
.coaches-finder-hero h1,
.teams-finder-hero h1{
  color:var(--plum);
}

/* General cards */
.card,
.quick-card,
.team-selector-card,
.coach-selector-card,
.public-selector-card{
  border-color:#eadff0;
  box-shadow:0 10px 28px rgba(72,35,92,.07);
  background:rgba(255,255,255,.96);
}

.card:hover,
.quick-card:hover{
  box-shadow:0 14px 34px rgba(72,35,92,.11);
}

/* Homepage hero */
.clean-home-hero,
.home-hero{
  background:
    linear-gradient(135deg,rgba(50,20,73,.97),rgba(112,45,139,.94)),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.08), transparent 25%);
  position:relative;
  overflow:hidden;
}

.clean-home-hero::after,
.home-hero::after{
  content:"";
  position:absolute;
  right:-65px;
  bottom:-55px;
  width:260px;
  height:260px;
  border-radius:50%;
  border:18px solid rgba(255,255,255,.07);
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.06),
    0 0 0 2px rgba(255,255,255,.03);
}

.home-hero h1,
.clean-home-hero h1{
  color:#fff;
  text-shadow:0 4px 18px rgba(0,0,0,.16);
}

.home-hero h1 span,
.clean-home-hero h1 span{
  color:#ffd6ec;
}

.home-lead,
.home-hero .eyebrow,
.clean-home-hero .eyebrow{
  color:#f8eaf7;
}

.home-ball{
  filter:drop-shadow(0 8px 16px rgba(0,0,0,.16));
}

/* Public finder pages */
.public-finder-hero,
.coaches-finder-hero,
.teams-finder-hero{
  background:
    radial-gradient(circle at 10% 10%, rgba(217,76,165,.12), transparent 24%),
    radial-gradient(circle at 88% 5%, rgba(123,63,194,.13), transparent 26%),
    linear-gradient(180deg,#fff8fc 0%,#f7f0fb 100%);
}

.public-selector-card,
.coach-selector-card,
.team-selector-card{
  border-top:5px solid var(--pink);
}

.public-selector-card label,
.coach-selector-card label,
.team-selector-card label{
  color:var(--plum);
}

select,input,textarea{
  border-color:#decde8;
  border-radius:12px;
  background:#fff;
}

select:focus,input:focus,textarea:focus{
  outline:none;
  border-color:var(--lavender);
  box-shadow:0 0 0 3px rgba(184,146,230,.18);
}

/* Homepage quick cards */
.quick-card{
  position:relative;
  overflow:hidden;
}

.quick-card::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:5px;
  background:linear-gradient(180deg,var(--pink),var(--lavender));
}

.quick-card span{
  font-size:34px;
}

.quick-card b{
  color:var(--plum);
}

/* Message board */
.home-message-board-section{
  background:
    linear-gradient(180deg,#fff7fb 0%,#f8f2fb 100%);
}

.featured-announcement{
  background:linear-gradient(135deg,#451b62 0%,#7f328d 55%,#b33f9c 100%);
  box-shadow:0 18px 46px rgba(87,34,105,.22);
}

.message-board-card{
  border:1px solid #eadff0;
}

.message-category{
  color:var(--pink);
}

.message-date-chip{
  background:#f4e8fa;
  color:#684078;
}

/* Divisions */
.home-divisions span{
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.04);
}

/* Tables */
table{
  border-radius:14px;
  overflow:hidden;
}

thead th{
  background:linear-gradient(135deg,#4b1d69,#753290);
  color:#fff;
}

tbody tr:nth-child(even){
  background:#fff9fc;
}

tbody tr:hover{
  background:#f7edf9;
}

/* Team / coach profiles */
.team-detail-hero{
  background:linear-gradient(180deg,#fff8fc,#f7effa);
  border-radius:20px;
  padding:28px;
  box-shadow:0 8px 26px rgba(72,35,92,.06);
}

.coach-profile-card{
  border-top:5px solid var(--lavender);
}

.roster-number{
  background:linear-gradient(135deg,#7c3eb5,#d94ca5);
}

/* Fields */
.field-card,
.location-card{
  border-top:4px solid var(--lavender);
}

/* Tournament bracket */
.bracket-game,
.game-card{
  border-color:#e3d5eb !important;
  box-shadow:0 6px 16px rgba(72,35,92,.07);
}

.bracket-game.winner,
.game-card.winner{
  border-color:var(--pink) !important;
}

/* Contact / leadership */
.leadership-card,
.website-manager-card{
  border-top:5px solid var(--pink);
}

/* Footer */
footer{
  background:#28143a;
  color:#f5eafa;
}

footer a{
  color:#f7d8ea;
}

/* Softball stitch accent */
.home-section-head::after,
.team-detail-hero::after,
.message-board-hero::after{
  content:"";
  display:block;
  width:90px;
  height:2px;
  margin:14px auto 0;
  background:repeating-linear-gradient(
    90deg,
    var(--pink) 0 8px,
    transparent 8px 13px
  );
}

/* Mobile polish */
@media(max-width:760px){
  header nav{
    gap:6px;
  }

  header nav a{
    padding:8px 10px;
  }

  .public-selector-card,
  .coach-selector-card,
  .team-selector-card,
  .card{
    border-radius:16px;
  }
}


/* v87 — navigation visibility fix */
header nav a,
header nav a:link,
header nav a:visited,
header .nav a,
header .nav a:link,
header .nav a:visited,
nav a,
nav a:link,
nav a:visited{
  color:#ffffff !important;
  opacity:1 !important;
  visibility:visible !important;
  text-decoration:none;
  font-weight:800;
}

header nav a:hover,
header .nav a:hover,
nav a:hover{
  color:#ffffff !important;
  background:rgba(255,255,255,.18) !important;
}

header nav a.active,
header .nav a.active,
nav a.active{
  color:#3b174f !important;
  background:#ffffff !important;
}

header nav,
header .nav{
  position:relative;
  z-index:20;
}

@media(max-width:900px){
  header nav,
  header .nav{
    background:rgba(45,19,64,.98);
  }
}


/* =========================================================
   v88 — Header / Navigation correction
   Removes the dark top strip and makes public tabs readable.
   ========================================================= */

html, body{
  margin-top:0 !important;
  padding-top:0 !important;
}

body::before,
body::after,
header::before,
header::after{
  display:none !important;
  content:none !important;
}

/* Use a lighter professional purple header instead of the dark navy strip */
header{
  background:linear-gradient(90deg,#7a3aa8 0%,#9d4fc0 48%,#c956a8 100%) !important;
  border-top:0 !important;
  border-bottom:0 !important;
  box-shadow:0 5px 18px rgba(88,45,104,.14) !important;
  color:#fff !important;
}

/* Kill any nested dark bar/background inside the header */
header > *,
header .topbar,
header .header-top,
header .nav-wrap,
header .navbar,
header .nav-container,
header .menu,
header nav{
  border-top:0 !important;
  box-shadow:none !important;
}

header .topbar,
header .header-top{
  background:transparent !important;
}

/* Actual nav links/tabs */
header nav a,
header nav a:link,
header nav a:visited,
header .nav a,
header .nav a:link,
header .nav a:visited,
header .navbar a,
header .navbar a:link,
header .navbar a:visited,
header .menu a,
header .menu a:link,
header .menu a:visited{
  color:#ffffff !important;
  background:rgba(255,255,255,.10) !important;
  border:1px solid rgba(255,255,255,.22) !important;
  border-radius:999px !important;
  padding:9px 13px !important;
  margin:3px 2px !important;
  opacity:1 !important;
  visibility:visible !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-weight:800 !important;
  text-decoration:none !important;
  text-shadow:none !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Hover / focus */
header nav a:hover,
header .nav a:hover,
header .navbar a:hover,
header .menu a:hover,
header nav a:focus,
header .nav a:focus,
header .navbar a:focus,
header .menu a:focus{
  color:#4b1d63 !important;
  -webkit-text-fill-color:#4b1d63 !important;
  background:#ffffff !important;
  border-color:#ffffff !important;
}

/* Selected/current page */
header nav a.active,
header .nav a.active,
header .navbar a.active,
header .menu a.active,
header nav a[aria-current="page"],
header .nav a[aria-current="page"],
header .navbar a[aria-current="page"],
header .menu a[aria-current="page"]{
  color:#4b1d63 !important;
  -webkit-text-fill-color:#4b1d63 !important;
  background:#ffffff !important;
  border-color:#ffffff !important;
}

/* Make sure dropdown/menu containers never hide the text */
header nav,
header .nav,
header .navbar,
header .menu{
  background:transparent !important;
  color:#ffffff !important;
  opacity:1 !important;
  visibility:visible !important;
  overflow:visible !important;
}

/* Site title/logo stays readable */
header .brand,
header .logo,
header h1,
header h2,
header strong,
header b{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Mobile: keep nav readable instead of collapsing into a dark block */
@media(max-width:900px){
  header{
    background:linear-gradient(180deg,#7a3aa8 0%,#a24fbd 55%,#c956a8 100%) !important;
  }

  header nav,
  header .nav,
  header .navbar,
  header .menu{
    background:transparent !important;
  }

  header nav a,
  header .nav a,
  header .navbar a,
  header .menu a{
    width:auto !important;
    color:#ffffff !important;
    -webkit-text-fill-color:#ffffff !important;
    background:rgba(255,255,255,.12) !important;
  }
}


/* =========================================================
   v89 — Completely rebuilt site header/navigation.
   This intentionally ignores the old .top/.navwrap structure.
   ========================================================= */

.site-header-v89{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:linear-gradient(90deg,#7c3fb1 0%,#a74fc0 52%,#d452a5 100%) !important;
  border:0 !important;
  box-shadow:0 6px 20px rgba(90,45,110,.16) !important;
  position:relative !important;
  z-index:999 !important;
}

.site-header-v89::before,
.site-header-v89::after{
  content:none !important;
  display:none !important;
}

.site-header-inner-v89{
  max-width:1500px;
  margin:0 auto;
  padding:16px 3%;
  display:flex;
  align-items:center;
  gap:24px;
}

.site-brand-v89,
.site-brand-v89:link,
.site-brand-v89:visited{
  display:flex !important;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-decoration:none !important;
}

.site-ball-v89{
  font-size:34px;
  line-height:1;
}

.site-brand-text-v89{
  display:flex;
  flex-direction:column;
  line-height:1.05;
}

.site-brand-text-v89 strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:24px;
  letter-spacing:.03em;
}

.site-brand-text-v89 small{
  color:#f8eefa !important;
  -webkit-text-fill-color:#f8eefa !important;
  font-size:11px;
  margin-top:4px;
  white-space:nowrap;
}

.site-nav-v89{
  flex:1 1 auto;
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end;
  align-items:center;
  gap:7px !important;
  background:transparent !important;
  visibility:visible !important;
  opacity:1 !important;
  overflow:visible !important;
  font-size:13px !important;
}

.site-nav-v89 a,
.site-nav-v89 a:link,
.site-nav-v89 a:visited{
  display:inline-flex !important;
  align-items:center;
  justify-content:center;
  padding:8px 11px !important;
  margin:0 !important;
  min-height:36px;
  background:rgba(255,255,255,.14) !important;
  border:1px solid rgba(255,255,255,.28) !important;
  border-radius:999px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  visibility:visible !important;
  text-decoration:none !important;
  font-weight:800 !important;
  line-height:1 !important;
  white-space:nowrap !important;
  text-shadow:none !important;
  box-shadow:none !important;
}

.site-nav-v89 a:hover,
.site-nav-v89 a:focus{
  background:#fff !important;
  color:#52206c !important;
  -webkit-text-fill-color:#52206c !important;
  border-color:#fff !important;
  transform:translateY(-1px);
}

/* Completely hide any leftover legacy header strip if a cached page somehow retains it. */
.top,
.navwrap:not(.site-header-inner-v89){
  display:none !important;
}

/* Mobile/tablet */
@media(max-width:1100px){
  .site-header-inner-v89{
    flex-direction:column;
    align-items:center;
    gap:12px;
    padding:14px 3%;
  }

  .site-nav-v89{
    width:100%;
    justify-content:center;
  }
}

@media(max-width:700px){
  .site-brand-text-v89 small{
    white-space:normal;
    text-align:center;
  }

  .site-nav-v89{
    gap:6px !important;
  }

  .site-nav-v89 a,
  .site-nav-v89 a:link,
  .site-nav-v89 a:visited{
    font-size:12px !important;
    padding:8px 10px !important;
  }
}


/* =========================================================
   v90 — Single-line navigation
   Keep every public tab on one row.
   ========================================================= */

.site-header-inner-v89{
  max-width:none !important;
  width:100% !important;
  padding:12px 18px !important;
  gap:16px !important;
  flex-wrap:nowrap !important;
}

.site-brand-v89{
  flex:0 0 auto !important;
}

.site-brand-text-v89 strong{
  font-size:21px !important;
}

.site-brand-text-v89 small{
  font-size:10px !important;
}

.site-ball-v89{
  font-size:29px !important;
}

.site-nav-v89{
  display:flex !important;
  flex:1 1 auto !important;
  flex-wrap:nowrap !important;
  justify-content:flex-end !important;
  align-items:center !important;
  gap:4px !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  white-space:nowrap !important;
  scrollbar-width:thin;
  -webkit-overflow-scrolling:touch;
  padding:3px 0 5px !important;
}

.site-nav-v89 a,
.site-nav-v89 a:link,
.site-nav-v89 a:visited{
  flex:0 0 auto !important;
  min-height:32px !important;
  padding:7px 9px !important;
  font-size:11.5px !important;
  white-space:nowrap !important;
}

/* Desktop: maximize available room for all tabs */
@media(min-width:1200px){
  .site-header-inner-v89{
    padding-left:14px !important;
    padding-right:14px !important;
    gap:12px !important;
  }

  .site-brand-text-v89 small{
    display:none !important;
  }

  .site-nav-v89{
    gap:3px !important;
  }

  .site-nav-v89 a,
  .site-nav-v89 a:link,
  .site-nav-v89 a:visited{
    padding:7px 8px !important;
    font-size:11px !important;
  }
}

/* Tablet/mobile: still one line; swipe/scroll horizontally */
@media(max-width:1199px){
  .site-header-inner-v89{
    flex-direction:row !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
  }

  .site-brand-text-v89 small{
    display:none !important;
  }

  .site-nav-v89{
    width:auto !important;
    justify-content:flex-start !important;
  }
}

@media(max-width:700px){
  .site-header-inner-v89{
    padding:10px 10px !important;
    gap:9px !important;
  }

  .site-brand-text-v89 strong{
    font-size:18px !important;
  }

  .site-ball-v89{
    font-size:25px !important;
  }

  .site-nav-v89 a,
  .site-nav-v89 a:link,
  .site-nav-v89 a:visited{
    font-size:11px !important;
    padding:7px 9px !important;
  }
}


/* =========================================================
   v91 — Mobile navigation redesign
   Desktop remains unchanged. Phones get a clean two-part
   header with centered branding and an easy swipe tab row.
   ========================================================= */

@media(max-width:700px){

  .site-header-v89{
    position:relative !important;
    width:100% !important;
    overflow:hidden !important;
  }

  .site-header-inner-v89{
    width:100% !important;
    max-width:100% !important;
    padding:10px 0 8px !important;
    margin:0 !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    gap:8px !important;
  }

  .site-brand-v89{
    width:100% !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    padding:2px 12px !important;
  }

  .site-ball-v89{
    font-size:27px !important;
  }

  .site-brand-text-v89{
    align-items:flex-start !important;
  }

  .site-brand-text-v89 strong{
    font-size:20px !important;
    line-height:1 !important;
  }

  .site-brand-text-v89 small{
    display:block !important;
    font-size:9px !important;
    line-height:1.15 !important;
    color:#faeafa !important;
    -webkit-text-fill-color:#faeafa !important;
    white-space:nowrap !important;
  }

  /* Full-width swipeable navigation shelf */
  .site-nav-v89{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    justify-content:flex-start !important;
    align-items:center !important;
    gap:6px !important;
    padding:7px 12px 9px !important;
    margin:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    scroll-snap-type:x proximity;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none !important;
    background:rgba(60,19,82,.13) !important;
    border-top:1px solid rgba(255,255,255,.13) !important;
  }

  .site-nav-v89::-webkit-scrollbar{
    display:none !important;
  }

  .site-nav-v89 a,
  .site-nav-v89 a:link,
  .site-nav-v89 a:visited{
    flex:0 0 auto !important;
    display:inline-flex !important;
    min-height:36px !important;
    padding:8px 12px !important;
    margin:0 !important;
    font-size:12px !important;
    line-height:1 !important;
    border-radius:999px !important;
    scroll-snap-align:start;
    background:rgba(255,255,255,.16) !important;
    border:1px solid rgba(255,255,255,.30) !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
  }

  .site-nav-v89 a:active,
  .site-nav-v89 a:focus{
    background:#fff !important;
    color:#57206d !important;
    -webkit-text-fill-color:#57206d !important;
  }

  /* Keep public page content from feeling cramped on phones */
  .wrap,
  main,
  .section{
    max-width:100% !important;
  }

  .clean-home-hero,
  .home-hero{
    border-radius:0 0 22px 22px !important;
  }
}

@media(max-width:390px){
  .site-brand-text-v89 small{
    font-size:8px !important;
  }

  .site-nav-v89 a,
  .site-nav-v89 a:link,
  .site-nav-v89 a:visited{
    padding:8px 11px !important;
    font-size:11.5px !important;
  }
}


/* =========================================================
   v92 — OVGSL brand refresh + mobile menu
   ========================================================= */

/* New softball badge */
.ovgsl-logo-mark{
  position:relative;
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  background:linear-gradient(145deg,#ffffff 0%,#fff7fb 100%);
  border:3px solid rgba(255,255,255,.95);
  box-shadow:
    0 6px 16px rgba(70,24,92,.18),
    inset 0 0 0 1px rgba(126,62,171,.08);
  overflow:hidden;
}

.ovgsl-logo-letter{
  position:relative;
  z-index:3;
  font-weight:1000;
  font-size:24px;
  line-height:1;
  color:#71319a;
  -webkit-text-fill-color:#71319a;
  font-family:Arial,Helvetica,sans-serif;
  letter-spacing:-.04em;
}

.ovgsl-logo-stitches{
  position:absolute;
  top:-3px;
  width:18px;
  height:54px;
  border-radius:50%;
  border:2px dashed #d94ca5;
  opacity:.82;
}

.ovgsl-logo-stitches-left{
  left:-8px;
  transform:rotate(8deg);
}

.ovgsl-logo-stitches-right{
  right:-8px;
  transform:rotate(-8deg);
}

.site-brand-text-v89 strong{
  font-size:24px !important;
  font-weight:1000 !important;
  letter-spacing:.035em !important;
}

.site-brand-text-v89 small{
  color:#faeefa !important;
  -webkit-text-fill-color:#faeefa !important;
  font-weight:700 !important;
}

/* Mobile menu button is hidden on desktop */
.mobile-menu-toggle-v92{
  display:none !important;
}

/* Phone navigation: dropdown/grid instead of sideways scrolling */
@media(max-width:700px){

  .site-header-v89{
    overflow:visible !important;
  }

  .site-header-inner-v89{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "brand toggle"
      "nav nav";
    align-items:center !important;
    gap:8px 10px !important;
    padding:10px 12px !important;
  }

  .site-brand-v89{
    grid-area:brand;
    width:auto !important;
    justify-content:flex-start !important;
    padding:0 !important;
  }

  .ovgsl-logo-mark{
    width:42px;
    height:42px;
    flex-basis:42px;
  }

  .ovgsl-logo-letter{
    font-size:21px;
  }

  .site-brand-text-v89{
    align-items:flex-start !important;
  }

  .site-brand-text-v89 strong{
    font-size:19px !important;
  }

  .site-brand-text-v89 small{
    display:block !important;
    white-space:normal !important;
    font-size:8.5px !important;
    max-width:185px;
  }

  .mobile-menu-toggle-v92{
    grid-area:toggle;
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    gap:6px;
    min-width:78px;
    min-height:40px;
    padding:8px 12px !important;
    border-radius:999px !important;
    background:#fff !important;
    color:#5a226f !important;
    -webkit-text-fill-color:#5a226f !important;
    border:1px solid rgba(255,255,255,.75) !important;
    box-shadow:0 5px 14px rgba(70,24,92,.14) !important;
    font-size:13px !important;
    font-weight:900 !important;
  }

  .mobile-menu-toggle-v92:hover,
  .mobile-menu-toggle-v92:focus{
    background:#fff7fb !important;
    color:#451858 !important;
    -webkit-text-fill-color:#451858 !important;
  }

  .mobile-menu-icon-v92{
    font-size:17px;
    line-height:1;
  }

  .site-nav-v92{
    grid-area:nav;
    display:none !important;
    width:100% !important;
    max-width:none !important;
    margin:2px 0 0 !important;
    padding:10px !important;
    background:rgba(73,27,96,.22) !important;
    border:1px solid rgba(255,255,255,.16) !important;
    border-radius:16px !important;
    overflow:visible !important;
    white-space:normal !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
  }

  .site-nav-v92.mobile-open-v92{
    display:grid !important;
  }

  .site-nav-v92 a,
  .site-nav-v92 a:link,
  .site-nav-v92 a:visited{
    width:100% !important;
    min-width:0 !important;
    min-height:42px !important;
    padding:9px 7px !important;
    margin:0 !important;
    border-radius:11px !important;
    justify-content:center !important;
    text-align:center !important;
    white-space:normal !important;
    line-height:1.15 !important;
    font-size:12px !important;
    background:rgba(255,255,255,.15) !important;
    border:1px solid rgba(255,255,255,.24) !important;
  }

  .site-nav-v92 a:hover,
  .site-nav-v92 a:focus,
  .site-nav-v92 a:active{
    background:#fff !important;
    color:#52206c !important;
    -webkit-text-fill-color:#52206c !important;
  }
}

@media(max-width:380px){
  .site-nav-v92{
    grid-template-columns:1fr 1fr !important;
  }

  .site-brand-text-v89 small{
    display:none !important;
  }

  .mobile-menu-toggle-v92{
    min-width:72px;
    padding:8px 10px !important;
  }
}


/* =========================================================
   v93 — Yellow softball badge + stronger OVGSL wordmark
   ========================================================= */

.ovgsl-logo-mark{
  width:52px !important;
  height:52px !important;
  flex:0 0 52px !important;
  background:
    radial-gradient(circle at 35% 28%,#fffda1 0%,#f7f35b 34%,#e7e326 72%,#d2ce17 100%) !important;
  border:3px solid #fff !important;
  box-shadow:
    0 7px 18px rgba(66,22,86,.22),
    inset -5px -6px 10px rgba(116,108,0,.12),
    inset 4px 4px 8px rgba(255,255,255,.45) !important;
}

.ovgsl-logo-letter{
  font-family:Arial Black,Arial,Helvetica,sans-serif !important;
  font-size:22px !important;
  font-weight:1000 !important;
  font-style:italic !important;
  color:#5c2179 !important;
  -webkit-text-fill-color:#5c2179 !important;
  text-shadow:
    1px 1px 0 rgba(255,255,255,.8),
    2px 2px 0 rgba(213,76,165,.22) !important;
  transform:skew(-7deg);
}

.ovgsl-logo-stitches{
  border-color:#d74879 !important;
  border-width:2px !important;
  opacity:.95 !important;
}

/* More athletic / softball-style OVGSL wordmark */
.site-brand-text-v89 strong{
  position:relative;
  display:inline-block;
  font-family:Arial Black,Arial,Helvetica,sans-serif !important;
  font-size:27px !important;
  font-weight:1000 !important;
  font-style:italic !important;
  letter-spacing:-.025em !important;
  line-height:.95 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:
    2px 2px 0 #6d2b87,
    4px 4px 0 rgba(71,22,89,.20) !important;
  transform:skew(-5deg);
}

.site-brand-text-v89 strong::after{
  content:"";
  position:absolute;
  left:2px;
  right:-5px;
  bottom:-5px;
  height:4px;
  border-radius:999px;
  background:linear-gradient(90deg,#f6f151 0%,#fff978 62%,rgba(255,249,120,0) 100%);
  transform:skew(18deg);
}

.site-brand-text-v89 small{
  margin-top:8px !important;
  font-weight:800 !important;
  letter-spacing:.025em !important;
}

/* Phone sizing */
@media(max-width:700px){
  .ovgsl-logo-mark{
    width:45px !important;
    height:45px !important;
    flex-basis:45px !important;
  }

  .ovgsl-logo-letter{
    font-size:19px !important;
  }

  .site-brand-text-v89 strong{
    font-size:22px !important;
  }

  .site-brand-text-v89 small{
    margin-top:6px !important;
  }
}


/* =========================================================
   v94 — More realistic yellow softball badge
   ========================================================= */

.ovgsl-logo-mark{
  position:relative !important;
  width:54px !important;
  height:54px !important;
  flex:0 0 54px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 30% 24%,
      rgba(255,255,255,.95) 0%,
      rgba(255,255,255,.62) 8%,
      rgba(255,255,255,.15) 19%,
      transparent 29%),
    radial-gradient(circle at 42% 37%,
      #ffff88 0%,
      #f9f354 28%,
      #ece932 58%,
      #d9d31e 78%,
      #bdb714 100%) !important;
  border:3px solid rgba(255,255,255,.95) !important;
  box-shadow:
    0 7px 18px rgba(67,26,84,.22),
    inset -9px -10px 13px rgba(112,103,0,.18),
    inset 7px 7px 10px rgba(255,255,255,.38) !important;
}

/* Softball seam curves */
.ovgsl-logo-stitches{
  position:absolute !important;
  top:-4px !important;
  width:19px !important;
  height:60px !important;
  border-radius:50% !important;
  border:2px dashed #d63a55 !important;
  opacity:.98 !important;
  z-index:3 !important;
}

.ovgsl-logo-stitches-left{
  left:-7px !important;
  transform:rotate(10deg) !important;
}

.ovgsl-logo-stitches-right{
  right:-7px !important;
  transform:rotate(-10deg) !important;
}

/* subtle leather texture */
.ovgsl-logo-mark::before{
  content:"" !important;
  position:absolute !important;
  inset:4px !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 18% 32%,rgba(90,80,0,.10) 0 1px,transparent 1.5px),
    radial-gradient(circle at 70% 22%,rgba(90,80,0,.08) 0 1px,transparent 1.5px),
    radial-gradient(circle at 58% 68%,rgba(90,80,0,.08) 0 1px,transparent 1.5px),
    radial-gradient(circle at 30% 76%,rgba(90,80,0,.07) 0 1px,transparent 1.5px);
  background-size:11px 11px,13px 13px,12px 12px,15px 15px !important;
  opacity:.45 !important;
  pointer-events:none !important;
  z-index:2 !important;
}

/* small specular highlight */
.ovgsl-logo-mark::after{
  content:"" !important;
  position:absolute !important;
  width:16px !important;
  height:9px !important;
  top:8px !important;
  left:12px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.55) !important;
  filter:blur(.4px) !important;
  transform:rotate(-24deg) !important;
  z-index:4 !important;
}

/* Hide old center-letter styling completely */
.ovgsl-logo-letter{
  display:none !important;
}

/* Keep wordmark strong beside the real-looking softball */
.site-brand-text-v89 strong{
  font-size:27px !important;
  letter-spacing:-.02em !important;
}

@media(max-width:700px){
  .ovgsl-logo-mark{
    width:46px !important;
    height:46px !important;
    flex-basis:46px !important;
  }

  .ovgsl-logo-stitches{
    height:52px !important;
  }

  .site-brand-text-v89 strong{
    font-size:22px !important;
  }
}


/* =========================================================
   v95 — 3D OVGSL logo in website header
   ========================================================= */

.site-brand-logo-v95{
  display:flex !important;
  align-items:center !important;
  flex:0 0 auto !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}

.ovgsl-header-logo-v95{
  display:block !important;
  width:auto !important;
  height:72px !important;
  max-width:430px !important;
  object-fit:contain !important;
  filter:drop-shadow(0 5px 12px rgba(45,13,63,.22));
}

/* Hide old generated badge/wordmark if any cached markup remains */
.site-brand-logo-v95 .ovgsl-logo-mark,
.site-brand-logo-v95 .site-brand-text-v89{
  display:none !important;
}

@media(min-width:1200px){
  .ovgsl-header-logo-v95{
    height:68px !important;
    max-width:390px !important;
  }

  .site-header-inner-v89{
    gap:10px !important;
  }
}

@media(max-width:900px){
  .ovgsl-header-logo-v95{
    height:60px !important;
    max-width:330px !important;
  }
}

@media(max-width:700px){
  .site-brand-logo-v95{
    grid-area:brand !important;
    justify-content:flex-start !important;
    min-width:0 !important;
  }

  .ovgsl-header-logo-v95{
    height:54px !important;
    max-width:245px !important;
  }
}

@media(max-width:390px){
  .ovgsl-header-logo-v95{
    height:48px !important;
    max-width:210px !important;
  }
}

/* v96 — Make the new 3D OVGSL logo prominent and readable */
.site-header-v89{
  min-height:96px !important;
}
.site-header-inner-v89{
  min-height:96px !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.site-brand-logo-v95{
  flex:0 0 315px !important;
  width:315px !important;
  overflow:visible !important;
}
.ovgsl-header-logo-v95{
  width:315px !important;
  height:88px !important;
  max-width:none !important;
  object-fit:contain !important;
  object-position:left center !important;
  transform:scale(1.18) !important;
  transform-origin:left center !important;
}

/* Give navigation the remaining space without shrinking the logo */
.site-nav-v89{
  min-width:0 !important;
}

/* Medium screens */
@media(max-width:1199px) and (min-width:701px){
  .site-brand-logo-v95{
    flex-basis:265px !important;
    width:265px !important;
  }
  .ovgsl-header-logo-v95{
    width:265px !important;
    height:78px !important;
    transform:scale(1.12) !important;
  }
}

/* Phones: logo gets its own prominent area beside Menu */
@media(max-width:700px){
  .site-header-v89{
    min-height:0 !important;
  }
  .site-header-inner-v89{
    min-height:0 !important;
    grid-template-columns:minmax(0,1fr) auto !important;
    padding:8px 10px !important;
  }
  .site-brand-logo-v95{
    width:100% !important;
    max-width:270px !important;
    flex-basis:auto !important;
    overflow:visible !important;
  }
  .ovgsl-header-logo-v95{
    width:255px !important;
    height:78px !important;
    max-width:100% !important;
    transform:scale(1.10) !important;
  }
}

/* Very small phones */
@media(max-width:390px){
  .site-brand-logo-v95{
    max-width:225px !important;
  }
  .ovgsl-header-logo-v95{
    width:215px !important;
    height:70px !important;
    transform:scale(1.08) !important;
  }
  .mobile-menu-toggle-v92{
    min-width:66px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
}

/* v97 — Larger 3D logo + centered mobile branding */

/* Desktop: slightly larger than v96 */
@media(min-width:1200px){
  .site-brand-logo-v95{
    flex:0 0 355px !important;
    width:355px !important;
  }
  .ovgsl-header-logo-v95{
    width:350px !important;
    height:100px !important;
    max-width:none !important;
    transform:scale(1.20) !important;
    transform-origin:left center !important;
  }
  .site-header-v89,
  .site-header-inner-v89{
    min-height:108px !important;
  }
}

/* Mobile: logo gets a full centered row, Menu sits below it */
@media(max-width:700px){
  .site-header-inner-v89{
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:
      "brand"
      "toggle"
      "nav" !important;
    justify-items:center !important;
    align-items:center !important;
    gap:7px !important;
    padding:9px 10px 10px !important;
  }

  .site-brand-logo-v95{
    grid-area:brand !important;
    width:100% !important;
    max-width:330px !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
    overflow:visible !important;
  }

  .ovgsl-header-logo-v95{
    display:block !important;
    width:310px !important;
    height:96px !important;
    max-width:100% !important;
    margin:0 auto !important;
    object-position:center center !important;
    transform:scale(1.12) !important;
    transform-origin:center center !important;
  }

  .mobile-menu-toggle-v92{
    grid-area:toggle !important;
    justify-self:center !important;
    margin:0 auto !important;
    min-width:104px !important;
  }

  .site-nav-v92{
    grid-area:nav !important;
  }
}

/* Small phones */
@media(max-width:390px){
  .site-brand-logo-v95{
    max-width:285px !important;
  }
  .ovgsl-header-logo-v95{
    width:275px !important;
    height:88px !important;
    transform:scale(1.10) !important;
  }
}

/* v98 — Larger, borderless/blended 3-D logo */
.site-brand-logo-v95{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
.ovgsl-header-logo-v95{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 6px 9px rgba(58,18,74,.22)) !important;
}

@media(min-width:1200px){
  .site-brand-logo-v95{
    flex-basis:395px !important;
    width:395px !important;
  }
  .ovgsl-header-logo-v95{
    width:390px !important;
    height:112px !important;
    transform:scale(1.22) !important;
  }
  .site-header-v89,.site-header-inner-v89{
    min-height:118px !important;
  }
}

@media(max-width:700px){
  .site-brand-logo-v95{
    width:100% !important;
    max-width:365px !important;
    margin:0 auto !important;
    justify-content:center !important;
  }
  .ovgsl-header-logo-v95{
    width:345px !important;
    height:108px !important;
    max-width:100% !important;
    margin:0 auto !important;
    transform:scale(1.14) !important;
    transform-origin:center center !important;
  }
}

@media(max-width:390px){
  .site-brand-logo-v95{max-width:315px !important;}
  .ovgsl-header-logo-v95{
    width:300px !important;
    height:98px !important;
    transform:scale(1.12) !important;
  }
}

/* v101 — Homepage league title styled to match the OVGSL logo lettering */
.clean-home-hero h1,
.home-hero h1{
  font-family:"Arial Black",Impact,Arial,Helvetica,sans-serif !important;
  font-weight:1000 !important;
  font-style:italic !important;
  letter-spacing:-.035em !important;
  line-height:.96 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-transform:none !important;
  text-shadow:
    2px 2px 0 #6d2b87,
    4px 4px 0 rgba(62,18,82,.28),
    0 8px 18px rgba(36,9,49,.18) !important;
  transform:skew(-4deg);
}

.clean-home-hero h1 span,
.home-hero h1 span{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Yellow softball-style accent line like the header logo treatment */
.clean-home-hero h1::after,
.home-hero h1::after{
  content:"" !important;
  display:block !important;
  width:72% !important;
  max-width:560px !important;
  height:7px !important;
  margin:13px auto 0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,#f2ec36 0%,#fff86c 70%,rgba(255,248,108,0) 100%) !important;
  transform:skew(18deg) !important;
  box-shadow:0 2px 5px rgba(55,16,70,.16) !important;
}

@media(max-width:700px){
  .clean-home-hero h1,
  .home-hero h1{
    letter-spacing:-.025em !important;
    transform:skew(-3deg);
  }

  .clean-home-hero h1::after,
  .home-hero h1::after{
    width:82% !important;
    height:5px !important;
    margin-top:10px !important;
  }
}

/* v102 — Stronger OVGSL-logo-style homepage title */
.clean-home-hero h1,
.home-hero h1{
  font-family:Impact,"Arial Black",Haettenschweiler,sans-serif !important;
  font-size:clamp(44px,5.4vw,82px) !important;
  font-weight:900 !important;
  font-style:italic !important;
  font-stretch:condensed !important;
  letter-spacing:-.055em !important;
  line-height:.88 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  -webkit-text-stroke:2px #4b155f !important;
  text-shadow:
    3px 3px 0 #b9449e,
    6px 6px 0 #70267f,
    9px 9px 0 rgba(48,10,61,.28) !important;
  transform:skewX(-9deg) rotate(-1deg) !important;
  transform-origin:center !important;
  display:inline-block !important;
}

.clean-home-hero h1 span,
.home-hero h1 span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  -webkit-text-stroke:2px #4b155f !important;
}

/* sharper yellow swoosh matching the sports-logo feel */
.clean-home-hero h1::after,
.home-hero h1::after{
  content:"" !important;
  display:block !important;
  width:88% !important;
  max-width:650px !important;
  height:9px !important;
  margin:16px auto 0 !important;
  border-radius:70% 10% 70% 10% !important;
  background:linear-gradient(90deg,transparent 0%,#e9e526 8%,#fff85d 60%,#e6df1f 88%,transparent 100%) !important;
  transform:skewX(-25deg) rotate(-1deg) !important;
  box-shadow:0 3px 0 rgba(74,24,89,.24) !important;
}

@media(max-width:700px){
  .clean-home-hero h1,
  .home-hero h1{
    font-size:clamp(36px,11vw,56px) !important;
    -webkit-text-stroke:1.5px #4b155f !important;
    text-shadow:
      2px 2px 0 #b9449e,
      4px 4px 0 #70267f,
      6px 6px 0 rgba(48,10,61,.25) !important;
  }
}


/* =========================================================
   v103 — Two-tone homepage league title
   ========================================================= */

.home-title-v103{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  gap:4px !important;
  transform:skewX(-9deg) rotate(-1deg) !important;
  -webkit-text-stroke:0 !important;
  text-shadow:none !important;
}

.home-title-v103 .home-title-top-v103,
.home-title-v103 .home-title-bottom-v103{
  display:block !important;
  font-family:Impact,"Arial Black",Haettenschweiler,sans-serif !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:-.045em !important;
  line-height:.9 !important;
}

/* Ohio Valley Girls — bright white with deep purple outline/depth */
.home-title-v103 .home-title-top-v103{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  -webkit-text-stroke:2px #54206f !important;
  text-shadow:
    3px 3px 0 #8e3baa,
    6px 6px 0 rgba(62,17,80,.30) !important;
}

/* Softball League — softball yellow with magenta/plum outline/depth */
.home-title-v103 .home-title-bottom-v103{
  color:#f7f044 !important;
  -webkit-text-fill-color:#f7f044 !important;
  -webkit-text-stroke:2px #8e276f !important;
  text-shadow:
    3px 3px 0 #c8499e,
    6px 6px 0 #682478,
    8px 8px 0 rgba(50,12,65,.22) !important;
}

/* Remove the old h1 swoosh pseudo-element so it doesn't interfere */
.home-title-v103::after{
  content:none !important;
  display:none !important;
}

/* Add a cleaner yellow/pink speed accent under the second line */
.home-title-v103 .home-title-bottom-v103::after{
  content:"" !important;
  display:block !important;
  width:84% !important;
  height:7px !important;
  margin:13px auto 0 !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,transparent,#ffffff 10%,#f7f044 38%,#d94ca5 78%,transparent) !important;
  transform:skewX(-22deg) !important;
  box-shadow:0 2px 0 rgba(75,20,91,.18) !important;
}

@media(max-width:700px){
  .home-title-v103{
    gap:5px !important;
  }

  .home-title-v103 .home-title-top-v103,
  .home-title-v103 .home-title-bottom-v103{
    -webkit-text-stroke-width:1.5px !important;
  }

  .home-title-v103 .home-title-bottom-v103::after{
    height:5px !important;
    margin-top:10px !important;
  }
}

/* =========================================================
   v104 — Remove homepage hero softball and reuse its style
   as small softball icons on the age-division buttons.
   ========================================================= */

/* Ensure the old large homepage ball is gone */
.clean-home-hero > .home-ball,
.home-hero > .home-ball{
  display:none !important;
}

/* Small yellow softball matching the original homepage ball */
.division-ball-v104{
  position:relative !important;
  display:inline-block !important;
  flex:0 0 25px !important;
  width:25px !important;
  height:25px !important;
  border-radius:50% !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 32% 27%,
      rgba(255,255,255,.82) 0 8%,
      rgba(255,255,255,.22) 18%,
      transparent 29%),
    radial-gradient(circle at 43% 40%,
      #ffff72 0%,
      #f7f14b 38%,
      #e9e22b 70%,
      #d4cd1c 100%) !important;
  border:1.5px solid rgba(255,255,255,.72) !important;
  box-shadow:
    0 3px 6px rgba(42,11,55,.20),
    inset -3px -4px 5px rgba(105,97,0,.16),
    inset 2px 2px 4px rgba(255,255,255,.30) !important;
  vertical-align:middle !important;
}

/* Curved red seams */
.division-ball-v104::before,
.division-ball-v104::after{
  content:"" !important;
  position:absolute !important;
  top:-3px !important;
  width:10px !important;
  height:30px !important;
  border-radius:50% !important;
  border:1.4px dashed #d83b55 !important;
  opacity:.98 !important;
}

.division-ball-v104::before{
  left:-5px !important;
  transform:rotate(8deg) !important;
}

.division-ball-v104::after{
  right:-5px !important;
  transform:rotate(-8deg) !important;
}

.home-divisions span:not(.division-ball-v104){
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
}

@media(max-width:700px){
  .division-ball-v104{
    flex-basis:23px !important;
    width:23px !important;
    height:23px !important;
  }
}

/* v105 — Put division age text directly on top of each softball */
.home-divisions > span{
  position:relative !important;
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#57206d !important;
  -webkit-text-fill-color:#57206d !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-size:20px !important;
  font-weight:900 !important;
  font-style:italic !important;
  text-shadow:
    1px 1px 0 rgba(255,255,255,.95),
    2px 2px 2px rgba(68,20,82,.18) !important;
  overflow:visible !important;
  z-index:1 !important;
}

/* Enlarge the softball so it becomes the actual button background */
.home-divisions > span > .division-ball-v104{
  position:absolute !important;
  inset:0 !important;
  width:72px !important;
  height:72px !important;
  min-width:72px !important;
  margin:0 !important;
  z-index:-1 !important;
  border-width:2px !important;
  box-shadow:
    0 6px 12px rgba(42,11,55,.22),
    inset -7px -8px 10px rgba(105,97,0,.17),
    inset 5px 5px 8px rgba(255,255,255,.34) !important;
}

.home-divisions > span > .division-ball-v104::before,
.home-divisions > span > .division-ball-v104::after{
  top:-7px !important;
  width:27px !important;
  height:86px !important;
  border-width:2px !important;
}

.home-divisions > span > .division-ball-v104::before{
  left:-13px !important;
}

.home-divisions > span > .division-ball-v104::after{
  right:-13px !important;
}

/* Hover gives the softball button a subtle lift */
.home-divisions > span:hover{
  transform:translateY(-3px) scale(1.04) !important;
  cursor:default;
}

@media(max-width:700px){
  .home-divisions > span{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
    font-size:18px !important;
  }

  .home-divisions > span > .division-ball-v104{
    width:64px !important;
    height:64px !important;
    min-width:64px !important;
  }

  .home-divisions > span > .division-ball-v104::before,
  .home-divisions > span > .division-ball-v104::after{
    width:24px !important;
    height:77px !important;
  }

  .home-divisions > span > .division-ball-v104::before{
    left:-12px !important;
  }

  .home-divisions > span > .division-ball-v104::after{
    right:-12px !important;
  }
}


/* =========================================================
   v106 — More realistic division softballs + cohesive site typography
   ========================================================= */

/* ---------- Division softball realism ---------- */
.home-divisions > span{
  width:78px !important;
  height:78px !important;
  min-width:78px !important;
  font-family:Impact,"Arial Black",Haettenschweiler,sans-serif !important;
  font-size:21px !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:-.02em !important;
  color:#54206f !important;
  -webkit-text-fill-color:#54206f !important;
  -webkit-text-stroke:.4px rgba(255,255,255,.85) !important;
  text-shadow:
    1px 1px 0 rgba(255,255,255,.95),
    2px 2px 2px rgba(62,19,78,.20) !important;
}

.home-divisions > span > .division-ball-v104{
  width:78px !important;
  height:78px !important;
  min-width:78px !important;
  background:
    radial-gradient(circle at 31% 24%,
      rgba(255,255,255,.95) 0 7%,
      rgba(255,255,255,.58) 8%,
      rgba(255,255,255,.18) 17%,
      transparent 28%),
    radial-gradient(circle at 43% 42%,
      #ffff78 0%,
      #fbf456 30%,
      #eee932 58%,
      #ded823 78%,
      #c9c218 100%) !important;
  border:2px solid rgba(255,255,255,.92) !important;
  box-shadow:
    0 8px 16px rgba(46,14,58,.26),
    inset -9px -10px 13px rgba(112,102,0,.18),
    inset 6px 6px 10px rgba(255,255,255,.35) !important;
}

/* Fine pebbled leather texture */
.home-divisions > span > .division-ball-v104{
  background-blend-mode:normal !important;
}

.home-divisions > span > .division-ball-v104::before,
.home-divisions > span > .division-ball-v104::after{
  top:-8px !important;
  width:30px !important;
  height:94px !important;
  border:2px dashed #d53b55 !important;
  filter:drop-shadow(0 1px 0 rgba(126,22,43,.15)) !important;
}

.home-divisions > span > .division-ball-v104::before{
  left:-15px !important;
  transform:rotate(10deg) !important;
}

.home-divisions > span > .division-ball-v104::after{
  right:-15px !important;
  transform:rotate(-10deg) !important;
}

/* Slight dimensional hover */
.home-divisions > span{
  transition:transform .18s ease, filter .18s ease !important;
}
.home-divisions > span:hover{
  transform:translateY(-4px) scale(1.045) !important;
  filter:brightness(1.03) !important;
}

/* ---------- Cohesive sports typography ---------- */

/* Clean readable body font */
body,
input,
select,
textarea,
table,
p,
li{
  font-family:Arial,Helvetica,sans-serif !important;
}

/* Athletic display style for major headings */
h1,
h2,
h3,
.section h1,
.section h2,
.section h3,
.home-section-head h2,
.public-finder-hero h1,
.teams-finder-hero h1,
.coaches-finder-hero h1,
.team-detail-hero h1,
.message-board-hero h1{
  font-family:Impact,"Arial Black",Haettenschweiler,sans-serif !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:-.025em !important;
}

/* Main section titles get subtle logo-like depth */
main h1,
main h2,
.section h1,
.section h2,
.home-section-head h2{
  color:#5a236f !important;
  -webkit-text-fill-color:#5a236f !important;
  text-shadow:
    1px 1px 0 rgba(255,255,255,.85),
    2px 2px 0 rgba(205,76,165,.15) !important;
}

/* Keep homepage hero title exactly as v103/v105 designed */
.home-title-v103,
.home-title-v103 *{
  font-family:Impact,"Arial Black",Haettenschweiler,sans-serif !important;
}

/* Navigation tabs: athletic, compact, still highly readable */
.site-nav-v89 a,
.site-nav-v92 a,
.mobile-menu-toggle-v92{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:-.01em !important;
}

/* Buttons and pills */
button,
.btn,
.message-filter,
.badge,
.pill,
.home-divisions > span{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-style:italic !important;
}

/* Cards and profile names */
.card h3,
.quick-card b,
.team-selector-card h3,
.coach-selector-card h3,
.public-selector-card h3,
.coach-profile-card h3,
.leadership-card h3,
.website-manager-card h3,
.message-board-card h3,
.featured-announcement h2,
.featured-announcement h3{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-style:italic !important;
  color:#5b236e !important;
}

/* Table headers / standings / schedules */
thead th{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  font-style:italic !important;
  letter-spacing:.01em !important;
}

/* Labels retain sports feel without hurting usability */
label,
.eyebrow,
.message-category,
small.label,
.form-label{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-weight:800 !important;
  letter-spacing:.02em !important;
}

/* Team names and roster emphasis */
.team-name,
.roster-name,
.player-name,
.coach-name{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
}

/* Slightly softer body copy for professional readability */
p,
.card p,
.note,
.help,
.muted,
small{
  letter-spacing:.005em !important;
  line-height:1.55 !important;
}

/* Footer branding */
footer strong,
footer b{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-style:italic !important;
}

/* Mobile: keep the athletic look but prevent crowding */
@media(max-width:700px){
  .home-divisions > span{
    width:70px !important;
    height:70px !important;
    min-width:70px !important;
    font-size:19px !important;
  }

  .home-divisions > span > .division-ball-v104{
    width:70px !important;
    height:70px !important;
    min-width:70px !important;
  }

  .home-divisions > span > .division-ball-v104::before,
  .home-divisions > span > .division-ball-v104::after{
    width:27px !important;
    height:84px !important;
  }

  .home-divisions > span > .division-ball-v104::before{
    left:-13px !important;
  }

  .home-divisions > span > .division-ball-v104::after{
    right:-13px !important;
  }

  h1,h2,h3{
    letter-spacing:-.015em !important;
  }
}


/* =========================================================
   v107 — Division balls closer to the 3-D header-logo softball
   ========================================================= */

.home-divisions > span{
  width:82px !important;
  height:82px !important;
  min-width:82px !important;
  font-size:21px !important;
  color:#4e1766 !important;
  -webkit-text-fill-color:#4e1766 !important;
  -webkit-text-stroke:.55px rgba(255,255,255,.9) !important;
  text-shadow:
    1px 1px 0 rgba(255,255,255,.95),
    2px 2px 2px rgba(67,18,82,.22) !important;
}

/* Ball shell: stronger sphere lighting, deeper edge shading */
.home-divisions > span > .division-ball-v104{
  width:82px !important;
  height:82px !important;
  min-width:82px !important;
  border-radius:50% !important;
  border:2px solid rgba(255,255,255,.92) !important;
  background:
    radial-gradient(ellipse at 30% 22%,
      rgba(255,255,255,.98) 0%,
      rgba(255,255,255,.74) 7%,
      rgba(255,255,255,.24) 16%,
      transparent 27%),
    radial-gradient(circle at 39% 35%,
      #ffff87 0%,
      #fbf65b 24%,
      #f0eb35 51%,
      #ddd621 72%,
      #beb715 91%,
      #a9a20f 100%) !important;
  box-shadow:
    0 11px 18px rgba(43,11,56,.30),
    0 3px 5px rgba(43,11,56,.16),
    inset -13px -14px 18px rgba(91,84,0,.24),
    inset 8px 8px 13px rgba(255,255,255,.42) !important;
}

/* More pronounced curved red stitching like a real softball */
.home-divisions > span > .division-ball-v104::before,
.home-divisions > span > .division-ball-v104::after{
  top:-9px !important;
  width:32px !important;
  height:100px !important;
  border-radius:50% !important;
  border:2.4px dashed #cf334e !important;
  opacity:1 !important;
  filter:
    drop-shadow(.8px .8px 0 rgba(104,14,33,.30))
    drop-shadow(-.4px -.4px 0 rgba(255,255,255,.20)) !important;
}

.home-divisions > span > .division-ball-v104::before{
  left:-16px !important;
  transform:rotate(12deg) !important;
}

.home-divisions > span > .division-ball-v104::after{
  right:-16px !important;
  transform:rotate(-12deg) !important;
}

/* Extra specular shine placed on the age badge itself */
.home-divisions > span::before{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  top:10px !important;
  left:17px !important;
  width:22px !important;
  height:9px !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.42) !important;
  filter:blur(.5px) !important;
  transform:rotate(-28deg) !important;
  pointer-events:none !important;
}

/* Small grounding shadow gives each ball the floating 3-D logo feel */
.home-divisions > span::after{
  content:"" !important;
  position:absolute !important;
  z-index:-2 !important;
  left:15% !important;
  right:15% !important;
  bottom:-8px !important;
  height:10px !important;
  border-radius:50% !important;
  background:rgba(55,17,67,.20) !important;
  filter:blur(5px) !important;
  pointer-events:none !important;
}

.home-divisions > span:hover{
  transform:translateY(-5px) scale(1.055) rotate(-1deg) !important;
  filter:brightness(1.035) saturate(1.03) !important;
}

/* Mobile retains the same realistic treatment */
@media(max-width:700px){
  .home-divisions > span{
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
    font-size:19px !important;
  }

  .home-divisions > span > .division-ball-v104{
    width:74px !important;
    height:74px !important;
    min-width:74px !important;
  }

  .home-divisions > span > .division-ball-v104::before,
  .home-divisions > span > .division-ball-v104::after{
    width:29px !important;
    height:90px !important;
  }

  .home-divisions > span > .division-ball-v104::before{
    left:-14px !important;
  }

  .home-divisions > span > .division-ball-v104::after{
    right:-14px !important;
  }

  .home-divisions > span::before{
    top:9px !important;
    left:15px !important;
    width:19px !important;
    height:8px !important;
  }
}


/* =========================================================
   v108 — Photorealistic clickable division softballs
   ========================================================= */

.home-divisions-v108{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:center !important;
  gap:24px !important;
  margin-top:24px !important;
}

.home-divisions-v108 .division-link-v108,
.home-divisions-v108 .division-link-v108:link,
.home-divisions-v108 .division-link-v108:visited{
  position:relative !important;
  display:block !important;
  width:112px !important;
  height:112px !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:50% !important;
  background:transparent !important;
  box-shadow:none !important;
  text-decoration:none !important;
  overflow:visible !important;
  transition:transform .18s ease, filter .18s ease !important;
}

.home-divisions-v108 .division-link-v108 img{
  display:block !important;
  width:112px !important;
  height:112px !important;
  object-fit:contain !important;
  border-radius:50% !important;
  filter:drop-shadow(0 9px 10px rgba(35,8,46,.30)) !important;
}

.home-divisions-v108 .division-link-v108::after{
  content:"View Teams" !important;
  position:absolute !important;
  left:50% !important;
  bottom:-22px !important;
  transform:translateX(-50%) !important;
  white-space:nowrap !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  font-size:10px !important;
  font-style:italic !important;
  font-weight:900 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:.82 !important;
  letter-spacing:.02em !important;
}

.home-divisions-v108 .division-link-v108:hover,
.home-divisions-v108 .division-link-v108:focus{
  transform:translateY(-7px) scale(1.07) !important;
  filter:brightness(1.06) saturate(1.05) !important;
  outline:none !important;
}

.home-divisions-v108 .division-link-v108:focus-visible{
  outline:3px solid #f7ef3b !important;
  outline-offset:6px !important;
}

@media(max-width:700px){
  .home-divisions-v108{
    gap:26px 16px !important;
    margin-top:20px !important;
  }

  .home-divisions-v108 .division-link-v108,
  .home-divisions-v108 .division-link-v108 img{
    width:92px !important;
    height:92px !important;
  }

  .home-divisions-v108 .division-link-v108::after{
    bottom:-19px !important;
    font-size:9px !important;
  }
}

@media(max-width:390px){
  .home-divisions-v108{
    gap:24px 10px !important;
  }

  .home-divisions-v108 .division-link-v108,
  .home-divisions-v108 .division-link-v108 img{
    width:84px !important;
    height:84px !important;
  }
}


/* =========================================================
   v109 — Dark OVGSL sports redesign
   Public-facing pages only. Current logo is preserved.
   ========================================================= */

body.public-sports-v109{
  background:
    radial-gradient(circle at 15% 0%,rgba(144,39,185,.18),transparent 25%),
    radial-gradient(circle at 82% 5%,rgba(214,70,169,.11),transparent 25%),
    linear-gradient(180deg,#090711 0%,#100b1d 44%,#08070d 100%) !important;
  color:#f3f0f6 !important;
}

/* Header closer to the mockup */
body.public-sports-v109 .site-header-v89{
  min-height:auto !important;
  background:linear-gradient(180deg,#07060c 0%,#0c0914 100%) !important;
  border-bottom:2px solid #d82ac8 !important;
  box-shadow:0 5px 22px rgba(0,0,0,.42) !important;
}

body.public-sports-v109 .site-header-inner-v89{
  min-height:auto !important;
  padding-top:8px !important;
  padding-bottom:8px !important;
}

body.public-sports-v109 .site-nav-v89 a,
body.public-sports-v109 .site-nav-v89 a:link,
body.public-sports-v109 .site-nav-v89 a:visited{
  background:transparent !important;
  border:0 !important;
  border-radius:3px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  padding:10px 11px !important;
  box-shadow:none !important;
}

body.public-sports-v109 .site-nav-v89 a:hover,
body.public-sports-v109 .site-nav-v89 a.current-page-v109{
  color:#140d18 !important;
  -webkit-text-fill-color:#140d18 !important;
  background:linear-gradient(135deg,#fff333,#f1d817) !important;
  clip-path:polygon(9% 0,100% 0,91% 100%,0 100%) !important;
  transform:none !important;
}

/* Hero */
body.public-sports-v109 .clean-home-hero,
body.public-sports-v109 .home-hero{
  position:relative !important;
  min-height:610px !important;
  background:
    radial-gradient(circle at 10% 32%,rgba(255,245,180,.98) 0 2px,rgba(255,245,180,.28) 3px 11px,transparent 12px),
    radial-gradient(circle at 90% 32%,rgba(255,245,180,.98) 0 2px,rgba(255,245,180,.28) 3px 11px,transparent 12px),
    linear-gradient(180deg,rgba(42,12,66,.24),rgba(4,3,9,.52)),
    linear-gradient(180deg,#36104d 0%,#68144f 27%,#aa4b57 46%,#33203b 47%,#160d20 67%,#2a1717 68%,#170c10 100%) !important;
  border-radius:0 !important;
  border-bottom:2px solid #d62acc !important;
  overflow:hidden !important;
  box-shadow:inset 0 -80px 100px rgba(0,0,0,.38) !important;
}

body.public-sports-v109 .clean-home-hero::before,
body.public-sports-v109 .home-hero::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  inset:auto 0 0 !important;
  height:43% !important;
  background:
    repeating-linear-gradient(90deg,transparent 0 46px,rgba(255,255,255,.04) 47px 48px),
    linear-gradient(175deg,transparent 0 26%,rgba(255,255,255,.09) 26.4% 26.8%,transparent 27.2%),
    linear-gradient(180deg,rgba(99,63,35,.25),rgba(76,36,22,.72)) !important;
  opacity:.72 !important;
  z-index:0 !important;
}

body.public-sports-v109 .home-hero-inner{
  position:relative !important;
  z-index:2 !important;
  max-width:1180px !important;
  margin:0 auto !important;
  text-align:center !important;
  padding-top:52px !important;
  padding-bottom:52px !important;
}

body.public-sports-v109 .home-eyebrow{
  color:#ffe72e !important;
  -webkit-text-fill-color:#ffe72e !important;
}

body.public-sports-v109 .home-lead{
  max-width:850px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  color:#f6eef8 !important;
  font-size:17px !important;
}

body.public-sports-v109 .home-title-v103 .home-title-top-v103{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  -webkit-text-stroke:2px #321141 !important;
  text-shadow:3px 3px 0 #8c2ca8,6px 6px 0 #2c0b37 !important;
}

body.public-sports-v109 .home-title-v103 .home-title-bottom-v103{
  color:#ffe526 !important;
  -webkit-text-fill-color:#ffe526 !important;
  -webkit-text-stroke:2px #51145f !important;
  text-shadow:3px 3px 0 #c22c9a,6px 6px 0 #32103e !important;
}

/* Division balls */
body.public-sports-v109 .home-divisions-v108{
  margin-top:25px !important;
  gap:24px !important;
}

body.public-sports-v109 .home-divisions-v108 .division-link-v108,
body.public-sports-v109 .home-divisions-v108 .division-link-v108 img{
  width:128px !important;
  height:128px !important;
}

body.public-sports-v109 .home-divisions-v108 .division-link-v108::after{
  content:"VIEW TEAMS" !important;
  bottom:-27px !important;
  padding:5px 16px !important;
  border:1px solid #d72bd2 !important;
  border-radius:5px !important;
  background:#100a18 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:10px !important;
  opacity:1 !important;
  box-shadow:0 3px 8px rgba(0,0,0,.24) !important;
}

body.public-sports-v109 .home-motto-v109{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:26px !important;
  max-width:900px !important;
  margin:46px auto 0 !important;
  padding:10px 22px !important;
  border-top:2px solid #d72bd2 !important;
  border-bottom:2px solid #d72bd2 !important;
  background:linear-gradient(90deg,transparent,rgba(20,8,29,.82),transparent) !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-size:24px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}
body.public-sports-v109 .home-motto-v109 b{
  color:#ffe62b !important;
  -webkit-text-fill-color:#ffe62b !important;
}

/* Public sections */
body.public-sports-v109 main > .section{
  background:transparent !important;
  color:#eee8f3 !important;
}

body.public-sports-v109 .section.alt,
body.public-sports-v109 .home-message-board-section{
  background:linear-gradient(180deg,rgba(16,10,26,.95),rgba(8,7,14,.97)) !important;
}

body.public-sports-v109 .section h1,
body.public-sports-v109 .section h2,
body.public-sports-v109 .section h3,
body.public-sports-v109 .home-section-head h2{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:2px 2px 0 #6d2382 !important;
}

body.public-sports-v109 .eyebrow{
  color:#ffe52b !important;
  -webkit-text-fill-color:#ffe52b !important;
}

/* Cards become dark sports panels */
body.public-sports-v109 .card,
body.public-sports-v109 .quick-card,
body.public-sports-v109 .message-board-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card,
body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .leadership-card,
body.public-sports-v109 .website-manager-card,
body.public-sports-v109 .field-card,
body.public-sports-v109 .location-card{
  background:linear-gradient(180deg,#171126,#0d0a16) !important;
  border:1px solid #9f2bc2 !important;
  border-top:1px solid #e02ace !important;
  color:#f3eef7 !important;
  box-shadow:0 10px 26px rgba(0,0,0,.30) !important;
}

body.public-sports-v109 .card h3,
body.public-sports-v109 .quick-card b,
body.public-sports-v109 .message-board-card h3,
body.public-sports-v109 .team-selector-card h3,
body.public-sports-v109 .coach-selector-card h3,
body.public-sports-v109 .public-selector-card h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

body.public-sports-v109 p,
body.public-sports-v109 .muted,
body.public-sports-v109 small{
  color:#cfc5d7 !important;
}

/* Yellow primary CTA, purple secondary */
body.public-sports-v109 .btn,
body.public-sports-v109 button{
  background:linear-gradient(135deg,#ffe936,#f1d51a) !important;
  color:#160d19 !important;
  -webkit-text-fill-color:#160d19 !important;
  border:0 !important;
  border-radius:5px !important;
  clip-path:polygon(7% 0,100% 0,93% 100%,0 100%) !important;
  box-shadow:0 6px 15px rgba(0,0,0,.24) !important;
}

body.public-sports-v109 .btn.alt{
  background:linear-gradient(135deg,#6f178f,#a02db4) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Inputs and selectors */
body.public-sports-v109 select,
body.public-sports-v109 input,
body.public-sports-v109 textarea{
  background:#f8f7fa !important;
  color:#201727 !important;
  border:1px solid #7c4a8d !important;
}

/* Tables */
body.public-sports-v109 thead th{
  background:linear-gradient(180deg,#6a1789,#431057) !important;
  border-bottom:2px solid #f5dc28 !important;
}

body.public-sports-v109 tbody tr{
  background:#151020 !important;
  color:#eee8f2 !important;
}
body.public-sports-v109 tbody tr:nth-child(even){
  background:#100c19 !important;
}
body.public-sports-v109 tbody tr:hover{
  background:#21132d !important;
}

/* Announcement hero */
body.public-sports-v109 .featured-announcement{
  background:linear-gradient(135deg,#25102e,#62167b 56%,#b32a91) !important;
  border:1px solid #d732cb !important;
}

/* Footer */
body.public-sports-v109 footer{
  background:#07060b !important;
  border-top:2px solid #a92bc5 !important;
  color:#ddd4e3 !important;
}

/* Finder/public page hero */
body.public-sports-v109 .public-finder-hero,
body.public-sports-v109 .teams-finder-hero,
body.public-sports-v109 .coaches-finder-hero,
body.public-sports-v109 .team-detail-hero{
  background:
    radial-gradient(circle at 82% 0%,rgba(163,42,194,.22),transparent 28%),
    linear-gradient(180deg,#171020,#0b0910) !important;
  border-bottom:2px solid #982ab8 !important;
}

/* Mobile */
@media(max-width:700px){
  body.public-sports-v109 .site-header-inner-v89{
    background:#09070e !important;
  }

  body.public-sports-v109 .mobile-menu-toggle-v92{
    background:#ffe62b !important;
    color:#180d1a !important;
    -webkit-text-fill-color:#180d1a !important;
    clip-path:none !important;
  }

  body.public-sports-v109 .site-nav-v92{
    background:#0d0913 !important;
    border:1px solid #8c299f !important;
  }

  body.public-sports-v109 .site-nav-v92 a,
  body.public-sports-v109 .site-nav-v92 a:link,
  body.public-sports-v109 .site-nav-v92 a:visited{
    background:#181024 !important;
    border:1px solid #522462 !important;
    clip-path:none !important;
  }

  body.public-sports-v109 .site-nav-v92 a.current-page-v109{
    background:#ffe62b !important;
    color:#160d19 !important;
    -webkit-text-fill-color:#160d19 !important;
  }

  body.public-sports-v109 .clean-home-hero,
  body.public-sports-v109 .home-hero{
    min-height:auto !important;
  }

  body.public-sports-v109 .home-hero-inner{
    padding:34px 14px 54px !important;
  }

  body.public-sports-v109 .home-divisions-v108{
    gap:34px 12px !important;
  }

  body.public-sports-v109 .home-divisions-v108 .division-link-v108,
  body.public-sports-v109 .home-divisions-v108 .division-link-v108 img{
    width:94px !important;
    height:94px !important;
  }

  body.public-sports-v109 .home-motto-v109{
    flex-wrap:wrap !important;
    gap:7px 13px !important;
    font-size:18px !important;
    margin-top:42px !important;
  }
}


/* =========================================================
   v110 — Closer to the second OVGSL mockup
   Public pages keep current logo and all functionality.
   ========================================================= */

/* ---------- HEADER: centered logo above nav ---------- */
body.public-sports-v109 .site-header-v89{
  background:
    radial-gradient(circle at 50% 0%,rgba(88,25,121,.24),transparent 35%),
    linear-gradient(180deg,#08070d 0%,#0b0811 100%) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

body.public-sports-v109 .site-header-inner-v89{
  width:100% !important;
  max-width:none !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-areas:
    "brand"
    "nav" !important;
  justify-items:center !important;
  gap:8px !important;
  padding:12px 0 0 !important;
}

body.public-sports-v109 .site-brand-logo-v95{
  grid-area:brand !important;
  width:100% !important;
  max-width:760px !important;
  justify-content:center !important;
  margin:0 auto !important;
}

body.public-sports-v109 .ovgsl-header-logo-v95{
  width:520px !important;
  height:138px !important;
  max-width:90vw !important;
  object-position:center center !important;
  transform:none !important;
  filter:drop-shadow(0 9px 16px rgba(0,0,0,.45)) !important;
}

body.public-sports-v109 .site-nav-v89{
  grid-area:nav !important;
  width:100% !important;
  justify-content:center !important;
  gap:0 !important;
  padding:0 !important;
  background:linear-gradient(180deg,#111018 0%,#07070c 100%) !important;
  border-top:1px solid #6c1a88 !important;
  border-bottom:2px solid #b628c9 !important;
  overflow:visible !important;
}

body.public-sports-v109 .site-nav-v89 a,
body.public-sports-v109 .site-nav-v89 a:link,
body.public-sports-v109 .site-nav-v89 a:visited{
  min-height:46px !important;
  padding:13px 20px !important;
  margin:0 !important;
  border-left:1px solid rgba(255,255,255,.04) !important;
  border-right:1px solid rgba(255,255,255,.04) !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,#42105d 0%,#250b39 100%) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%) !important;
  font-size:13px !important;
}

body.public-sports-v109 .site-nav-v89 a.current-page-v109,
body.public-sports-v109 .site-nav-v89 a:hover{
  background:linear-gradient(180deg,#fff33a 0%,#f1d41b 100%) !important;
  color:#0d0a10 !important;
  -webkit-text-fill-color:#0d0a10 !important;
}

/* ---------- HERO ---------- */
body.public-sports-v109 .clean-home-hero,
body.public-sports-v109 .home-hero{
  min-height:720px !important;
  padding:0 !important;
  background:
    radial-gradient(circle at 8% 23%,rgba(255,248,200,.95) 0 3px,rgba(255,242,180,.30) 4px 15px,transparent 17px),
    radial-gradient(circle at 92% 23%,rgba(255,248,200,.95) 0 3px,rgba(255,242,180,.30) 4px 15px,transparent 17px),
    linear-gradient(180deg,rgba(18,7,27,.12) 0%,rgba(23,8,32,.20) 28%,rgba(12,8,14,.45) 66%,rgba(4,3,7,.72) 100%),
    linear-gradient(180deg,#241331 0%,#512153 18%,#9a4a60 36%,#5f3b4d 48%,#261728 49%,#0d0a12 100%) !important;
  border-bottom:2px solid #77228e !important;
  box-shadow:inset 0 -80px 110px rgba(0,0,0,.50) !important;
}

body.public-sports-v109 .clean-home-hero::before,
body.public-sports-v109 .home-hero::before{
  height:48% !important;
  background:
    linear-gradient(180deg,transparent 0 20%,rgba(24,16,22,.12) 20% 22%,transparent 22%),
    repeating-linear-gradient(90deg,transparent 0 62px,rgba(255,255,255,.035) 63px 64px),
    linear-gradient(180deg,rgba(74,48,28,.12),rgba(67,33,20,.80)) !important;
}

body.public-sports-v109 .home-hero-inner{
  max-width:1250px !important;
  padding:52px 24px 72px !important;
}

/* mockup-style giant title */
body.public-sports-v109 .home-title-v103{
  max-width:1120px !important;
  margin:0 auto 12px !important;
  transform:skewX(-7deg) rotate(-1deg) !important;
}

body.public-sports-v109 .home-title-v103 .home-title-top-v103{
  font-size:clamp(58px,7.7vw,112px) !important;
  line-height:.84 !important;
  letter-spacing:-.055em !important;
  -webkit-text-stroke:3px #361246 !important;
  text-shadow:
    3px 3px 0 #8730a2,
    7px 7px 0 #2b0c36,
    10px 10px 0 rgba(0,0,0,.25) !important;
}

body.public-sports-v109 .home-title-v103 .home-title-bottom-v103{
  font-size:clamp(50px,6.6vw,96px) !important;
  line-height:.86 !important;
  letter-spacing:-.04em !important;
  color:#ffe32b !important;
  -webkit-text-fill-color:#ffe32b !important;
  -webkit-text-stroke:3px #4f145f !important;
  text-shadow:
    3px 3px 0 #ca2aaa,
    7px 7px 0 #32113d,
    10px 10px 0 rgba(0,0,0,.22) !important;
}

body.public-sports-v109 .home-title-v103 .home-title-bottom-v103::after{
  width:94% !important;
  height:8px !important;
  margin-top:12px !important;
  background:linear-gradient(90deg,transparent 0%,#fff 7%,#ffe523 40%,#d72abf 78%,transparent 100%) !important;
}

body.public-sports-v109 .mockup-tagline-v110{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  gap:24px !important;
  margin:26px auto 10px !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-size:30px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  letter-spacing:.02em !important;
  text-shadow:2px 2px 0 #2e0d37 !important;
}

body.public-sports-v109 .mockup-tagline-v110 b{
  color:#8d2ab0 !important;
  -webkit-text-fill-color:#8d2ab0 !important;
  font-size:24px !important;
}

/* hide earlier duplicate motto strip if present */
body.public-sports-v109 .home-motto-v109{
  display:none !important;
}

/* realistic softball row more like mockup */
body.public-sports-v109 .home-divisions-v108{
  margin-top:34px !important;
  gap:48px !important;
  align-items:flex-end !important;
}

body.public-sports-v109 .home-divisions-v108 .division-link-v108,
body.public-sports-v109 .home-divisions-v108 .division-link-v108 img{
  width:155px !important;
  height:155px !important;
}

body.public-sports-v109 .home-divisions-v108 .division-link-v108::after{
  bottom:-34px !important;
  min-width:120px !important;
  padding:7px 18px !important;
  background:linear-gradient(180deg,#1b1126,#0b0910) !important;
  border:2px solid #9723bc !important;
  border-radius:5px !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-size:12px !important;
  box-shadow:0 5px 12px rgba(0,0,0,.35) !important;
}

/* ---------- HOME CONTENT PANELS ---------- */
body.public-sports-v109 .home-welcome,
body.public-sports-v109 .home-message-board-section,
body.public-sports-v109 .mockup-panels-v110{
  background:
    radial-gradient(circle at 50% 0%,rgba(117,28,143,.10),transparent 30%),
    linear-gradient(180deg,#0b0911 0%,#08070d 100%) !important;
}

body.public-sports-v109 .home-welcome .wrap,
body.public-sports-v109 .home-message-board-section .wrap{
  max-width:1380px !important;
}

/* make quick cards/panels feel like the 3-column mockup cards */
body.public-sports-v109 .home-quick-grid,
body.public-sports-v109 .message-board-grid{
  gap:22px !important;
}

body.public-sports-v109 .quick-card,
body.public-sports-v109 .message-board-card{
  background:linear-gradient(180deg,#171224,#0a0910) !important;
  border:2px solid #8e25ae !important;
  border-radius:13px !important;
  box-shadow:
    inset 0 0 0 1px rgba(255,255,255,.025),
    0 14px 30px rgba(0,0,0,.38) !important;
}

body.public-sports-v109 .quick-card::before{
  width:4px !important;
  background:linear-gradient(180deg,#ffe32b,#c72caf) !important;
}

body.public-sports-v109 .quick-card b,
body.public-sports-v109 .message-board-card h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-size:22px !important;
  text-shadow:2px 2px 0 #5a1b6e !important;
}

body.public-sports-v109 .featured-announcement{
  border:2px solid #9124b3 !important;
  border-radius:13px !important;
  background:linear-gradient(135deg,#1b1127,#45115b 58%,#781d76) !important;
}

/* Quick-link / CTA buttons stronger yellow-purple alternation */
body.public-sports-v109 .quick-card:nth-child(odd) .btn,
body.public-sports-v109 .message-board-card:nth-child(odd) .btn{
  background:linear-gradient(180deg,#ffe52f,#efd319) !important;
  color:#120c14 !important;
  -webkit-text-fill-color:#120c14 !important;
}
body.public-sports-v109 .quick-card:nth-child(even) .btn,
body.public-sports-v109 .message-board-card:nth-child(even) .btn{
  background:linear-gradient(180deg,#7e1fa2,#511467) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ---------- OTHER PUBLIC PAGES ---------- */
body.public-sports-v109 .public-finder-hero,
body.public-sports-v109 .teams-finder-hero,
body.public-sports-v109 .coaches-finder-hero,
body.public-sports-v109 .team-detail-hero{
  background:
    radial-gradient(circle at 50% 0%,rgba(119,28,153,.16),transparent 30%),
    linear-gradient(180deg,#130d1d,#08070c) !important;
  border-bottom:2px solid #8d249f !important;
}

body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card{
  border:2px solid #72208c !important;
  border-radius:12px !important;
}

/* footer closer to mockup */
body.public-sports-v109 footer{
  min-height:96px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#060509 !important;
  border-top:2px solid #84249e !important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02) !important;
}

/* ---------- MOBILE ---------- */
@media(max-width:700px){
  body.public-sports-v109 .site-header-inner-v89{
    grid-template-areas:
      "brand toggle"
      "nav nav" !important;
    grid-template-columns:1fr auto !important;
    justify-items:stretch !important;
    padding:8px 10px !important;
  }

  body.public-sports-v109 .site-brand-logo-v95{
    justify-content:flex-start !important;
  }

  body.public-sports-v109 .ovgsl-header-logo-v95{
    width:255px !important;
    height:80px !important;
    max-width:72vw !important;
  }

  body.public-sports-v109 .mobile-menu-toggle-v92{
    align-self:center !important;
    justify-self:end !important;
  }

  body.public-sports-v109 .site-nav-v92.mobile-open-v92{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:7px !important;
    padding:9px !important;
  }

  body.public-sports-v109 .clean-home-hero,
  body.public-sports-v109 .home-hero{
    min-height:auto !important;
  }

  body.public-sports-v109 .home-hero-inner{
    padding:30px 12px 58px !important;
  }

  body.public-sports-v109 .home-title-v103 .home-title-top-v103{
    font-size:clamp(43px,12vw,66px) !important;
    -webkit-text-stroke-width:2px !important;
  }

  body.public-sports-v109 .home-title-v103 .home-title-bottom-v103{
    font-size:clamp(37px,10.5vw,57px) !important;
    -webkit-text-stroke-width:2px !important;
  }

  body.public-sports-v109 .mockup-tagline-v110{
    gap:9px !important;
    flex-wrap:wrap !important;
    font-size:18px !important;
    margin-top:18px !important;
  }

  body.public-sports-v109 .home-divisions-v108{
    gap:38px 15px !important;
    margin-top:28px !important;
  }

  body.public-sports-v109 .home-divisions-v108 .division-link-v108,
  body.public-sports-v109 .home-divisions-v108 .division-link-v108 img{
    width:100px !important;
    height:100px !important;
  }

  body.public-sports-v109 .home-divisions-v108 .division-link-v108::after{
    min-width:84px !important;
    bottom:-25px !important;
    padding:5px 10px !important;
    font-size:9px !important;
  }
}


/* =========================================================
   v111 — Readability pass
   Keep v110 sports look, but make tabs/news/events easy to read.
   ========================================================= */

/* NAV: cleaner, brighter background and less aggressive font treatment */
body.public-sports-v109 .site-nav-v89 a,
body.public-sports-v109 .site-nav-v89 a:link,
body.public-sports-v109 .site-nav-v89 a:visited{
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
  font-size:13px !important;
  letter-spacing:.015em !important;
  line-height:1.15 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 1px 2px rgba(0,0,0,.55) !important;
  background:linear-gradient(180deg,#67247e 0%,#4a175e 100%) !important;
  padding:14px 18px !important;
}

body.public-sports-v109 .site-nav-v89 a.current-page-v109,
body.public-sports-v109 .site-nav-v89 a:hover{
  background:linear-gradient(180deg,#fff15b 0%,#efd52b 100%) !important;
  color:#28112d !important;
  -webkit-text-fill-color:#28112d !important;
  text-shadow:none !important;
}

/* NEWS / EVENTS AREA: lighten the whole section */
body.public-sports-v109 .home-message-board-section,
body.public-sports-v109 .mockup-panels-v110.home-message-board-section{
  background:
    radial-gradient(circle at 50% 0%,rgba(167,75,181,.10),transparent 35%),
    linear-gradient(180deg,#f7f1f8 0%,#eee4f1 100%) !important;
  color:#35253b !important;
}

/* League News & Events heading */
body.public-sports-v109 .home-message-board-section h1,
body.public-sports-v109 .home-message-board-section h2,
body.public-sports-v109 .home-message-board-section .home-section-head h2{
  color:#57206c !important;
  -webkit-text-fill-color:#57206c !important;
  text-shadow:none !important;
}

body.public-sports-v109 .home-message-board-section .eyebrow{
  color:#a02b86 !important;
  -webkit-text-fill-color:#a02b86 !important;
}

/* News/event cards: light surfaces with dark readable text */
body.public-sports-v109 .home-message-board-section .message-board-card{
  background:linear-gradient(180deg,#ffffff 0%,#faf7fb 100%) !important;
  border:2px solid #b75bc1 !important;
  border-top:5px solid #72238a !important;
  color:#302337 !important;
  box-shadow:0 10px 24px rgba(60,26,69,.13) !important;
}

body.public-sports-v109 .home-message-board-section .message-board-card h1,
body.public-sports-v109 .home-message-board-section .message-board-card h2,
body.public-sports-v109 .home-message-board-section .message-board-card h3,
body.public-sports-v109 .home-message-board-section .message-board-card h4{
  color:#512064 !important;
  -webkit-text-fill-color:#512064 !important;
  text-shadow:none !important;
}

body.public-sports-v109 .home-message-board-section .message-board-card p,
body.public-sports-v109 .home-message-board-section .message-board-card div,
body.public-sports-v109 .home-message-board-section .message-board-card span,
body.public-sports-v109 .home-message-board-section .message-board-card small,
body.public-sports-v109 .home-message-board-section .message-board-card .muted{
  color:#493c4e !important;
  -webkit-text-fill-color:#493c4e !important;
  text-shadow:none !important;
}

/* Featured announcement gets a lighter purple treatment */
body.public-sports-v109 .home-message-board-section .featured-announcement{
  background:linear-gradient(135deg,#6f287d 0%,#943d8d 58%,#b34c93 100%) !important;
  border:2px solid #d798d5 !important;
  color:#fff !important;
}

body.public-sports-v109 .home-message-board-section .featured-announcement h1,
body.public-sports-v109 .home-message-board-section .featured-announcement h2,
body.public-sports-v109 .home-message-board-section .featured-announcement h3,
body.public-sports-v109 .home-message-board-section .featured-announcement p,
body.public-sports-v109 .home-message-board-section .featured-announcement span,
body.public-sports-v109 .home-message-board-section .featured-announcement small{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:0 1px 2px rgba(44,13,48,.32) !important;
}

/* General home content: soften the near-black backgrounds */
body.public-sports-v109 .home-welcome{
  background:linear-gradient(180deg,#17101f 0%,#211329 100%) !important;
}

body.public-sports-v109 .home-welcome p,
body.public-sports-v109 .home-welcome .muted{
  color:#eee7f1 !important;
}

/* Quick cards slightly lighter */
body.public-sports-v109 .quick-card{
  background:linear-gradient(180deg,#2b1a35 0%,#1e1327 100%) !important;
  border-color:#a94bb6 !important;
}

body.public-sports-v109 .quick-card p,
body.public-sports-v109 .quick-card span,
body.public-sports-v109 .quick-card small{
  color:#e9dfed !important;
  -webkit-text-fill-color:#e9dfed !important;
}

/* Avoid neon-looking body copy */
body.public-sports-v109 p,
body.public-sports-v109 li,
body.public-sports-v109 td{
  text-shadow:none !important;
}

/* Mobile tabs get the same readability fix */
@media(max-width:700px){
  body.public-sports-v109 .site-nav-v92 a,
  body.public-sports-v109 .site-nav-v92 a:link,
  body.public-sports-v109 .site-nav-v92 a:visited{
    font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
    font-style:normal !important;
    font-size:12px !important;
    line-height:1.2 !important;
    background:#5a1d70 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    text-shadow:none !important;
  }

  body.public-sports-v109 .site-nav-v92 a.current-page-v109{
    background:#f5dd36 !important;
    color:#28112d !important;
    -webkit-text-fill-color:#28112d !important;
  }
}

/* =========================================================
   v112 — Logo back left + global light-background readability
   ========================================================= */

/* DESKTOP HEADER: logo back in the upper-left, nav to the right */
@media(min-width:701px){
  body.public-sports-v109 .site-header-inner-v89{
    max-width:1500px !important;
    margin:0 auto !important;
    display:grid !important;
    grid-template-columns:390px minmax(0,1fr) !important;
    grid-template-areas:"brand nav" !important;
    align-items:center !important;
    justify-items:stretch !important;
    gap:14px !important;
    padding:8px 18px !important;
  }

  body.public-sports-v109 .site-brand-logo-v95{
    grid-area:brand !important;
    width:390px !important;
    max-width:390px !important;
    justify-content:flex-start !important;
    margin:0 !important;
  }

  body.public-sports-v109 .ovgsl-header-logo-v95{
    width:375px !important;
    height:108px !important;
    max-width:100% !important;
    object-position:left center !important;
    transform:none !important;
  }

  body.public-sports-v109 .site-nav-v89{
    grid-area:nav !important;
    width:100% !important;
    justify-content:flex-end !important;
    align-items:center !important;
    border:0 !important;
    background:transparent !important;
  }
}

/* GLOBAL LIGHT SURFACES:
   Any standard white/light content card should use dark readable text. */
body.public-sports-v109 .section .card:not(.featured-announcement),
body.public-sports-v109 .content-card,
body.public-sports-v109 .rules-card,
body.public-sports-v109 .rule-card,
body.public-sports-v109 .document-card,
body.public-sports-v109 .panel,
body.public-sports-v109 .white-card,
body.public-sports-v109 .surface,
body.public-sports-v109 .content-panel{
  color:#34293a !important;
}

/* Explicit readable text on white/light cards */
body.public-sports-v109 .section .card:not(.featured-announcement) p,
body.public-sports-v109 .section .card:not(.featured-announcement) li,
body.public-sports-v109 .section .card:not(.featured-announcement) td,
body.public-sports-v109 .section .card:not(.featured-announcement) span,
body.public-sports-v109 .section .card:not(.featured-announcement) small,
body.public-sports-v109 .section .card:not(.featured-announcement) div,
body.public-sports-v109 .content-card p,
body.public-sports-v109 .content-card li,
body.public-sports-v109 .content-card span,
body.public-sports-v109 .rules-card p,
body.public-sports-v109 .rules-card li,
body.public-sports-v109 .rule-card p,
body.public-sports-v109 .rule-card li{
  color:#493e4d !important;
  -webkit-text-fill-color:#493e4d !important;
  text-shadow:none !important;
}

/* Headings on light cards */
body.public-sports-v109 .section .card:not(.featured-announcement) h1,
body.public-sports-v109 .section .card:not(.featured-announcement) h2,
body.public-sports-v109 .section .card:not(.featured-announcement) h3,
body.public-sports-v109 .section .card:not(.featured-announcement) h4,
body.public-sports-v109 .content-card h1,
body.public-sports-v109 .content-card h2,
body.public-sports-v109 .content-card h3,
body.public-sports-v109 .rules-card h1,
body.public-sports-v109 .rules-card h2,
body.public-sports-v109 .rules-card h3,
body.public-sports-v109 .rule-card h1,
body.public-sports-v109 .rule-card h2,
body.public-sports-v109 .rule-card h3{
  color:#58206b !important;
  -webkit-text-fill-color:#58206b !important;
  text-shadow:none !important;
}

/* RULES PAGE: force readable light content area regardless of legacy classes */
body.public-sports-v109 main .rules-wrap,
body.public-sports-v109 main .rules-content,
body.public-sports-v109 main .rules-list,
body.public-sports-v109 main .rules-section{
  background:#fff !important;
  color:#34293a !important;
}

body.public-sports-v109 main .rules-wrap p,
body.public-sports-v109 main .rules-wrap li,
body.public-sports-v109 main .rules-content p,
body.public-sports-v109 main .rules-content li,
body.public-sports-v109 main .rules-list p,
body.public-sports-v109 main .rules-list li,
body.public-sports-v109 main .rules-section p,
body.public-sports-v109 main .rules-section li{
  color:#3f3544 !important;
  -webkit-text-fill-color:#3f3544 !important;
  text-shadow:none !important;
}

/* Generic light table cells need dark text too */
body.public-sports-v109 table tbody td[style*="background"],
body.public-sports-v109 table tbody th[style*="background"]{
  color:#34293a !important;
  -webkit-text-fill-color:#34293a !important;
}

/* Links on light surfaces */
body.public-sports-v109 .card a:not(.btn),
body.public-sports-v109 .content-card a:not(.btn),
body.public-sports-v109 .rules-card a:not(.btn),
body.public-sports-v109 .rule-card a:not(.btn){
  color:#72238a !important;
  -webkit-text-fill-color:#72238a !important;
  font-weight:800 !important;
}

/* Mobile logo remains centered/clean as before */
@media(max-width:700px){
  body.public-sports-v109 .site-brand-logo-v95{
    justify-content:center !important;
  }
}


/* =========================================================
   v113 — definitive header separation + automatic contrast
   ========================================================= */

/* Desktop/tablet: logo owns the first row, nav owns second row. */
@media(min-width:701px){
  body.public-sports-v109 .site-header-inner-v89{
    width:100% !important;
    max-width:none !important;
    margin:0 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:
      "brand"
      "nav" !important;
    gap:0 !important;
    padding:8px 0 0 !important;
    align-items:center !important;
  }

  body.public-sports-v109 .site-brand-logo-v95{
    grid-area:brand !important;
    width:390px !important;
    max-width:390px !important;
    justify-content:flex-start !important;
    margin:0 0 6px 22px !important;
    padding:0 !important;
    position:relative !important;
    z-index:5 !important;
  }

  body.public-sports-v109 .ovgsl-header-logo-v95{
    width:365px !important;
    height:104px !important;
    max-width:100% !important;
    object-position:left center !important;
    transform:none !important;
  }

  body.public-sports-v109 .site-nav-v89{
    grid-area:nav !important;
    width:100% !important;
    max-width:none !important;
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:4px !important;
    padding:8px 12px !important;
    margin:0 !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    background:linear-gradient(180deg,#120d19 0%,#09070d 100%) !important;
    border-top:1px solid #5c176f !important;
    border-bottom:2px solid #9220ac !important;
    position:relative !important;
    z-index:4 !important;
  }

  body.public-sports-v109 .site-nav-v89 a,
  body.public-sports-v109 .site-nav-v89 a:link,
  body.public-sports-v109 .site-nav-v89 a:visited{
    flex:0 0 auto !important;
    min-height:38px !important;
    padding:10px 13px !important;
    font-size:12px !important;
  }
}

/* RULES: exact class used by dynamically generated rules. */
body.public-sports-v109 #rulesRoot .rule{
  background:#ffffff !important;
  color:#352b39 !important;
  border:1px solid #dfd5e2 !important;
  border-radius:12px !important;
  padding:22px 28px !important;
  margin:0 0 18px !important;
  box-shadow:0 8px 20px rgba(46,20,51,.08) !important;
}
body.public-sports-v109 #rulesRoot .rule h1,
body.public-sports-v109 #rulesRoot .rule h2,
body.public-sports-v109 #rulesRoot .rule h3{
  color:#5b216d !important;
  -webkit-text-fill-color:#5b216d !important;
  text-shadow:none !important;
}
body.public-sports-v109 #rulesRoot .rule ol,
body.public-sports-v109 #rulesRoot .rule ul,
body.public-sports-v109 #rulesRoot .rule li,
body.public-sports-v109 #rulesRoot .rule p,
body.public-sports-v109 #rulesRoot .rule span{
  color:#403744 !important;
  -webkit-text-fill-color:#403744 !important;
  text-shadow:none !important;
}

/* Notes/alerts on pale yellow or white backgrounds. */
body.public-sports-v109 main .note{
  color:#514454 !important;
  -webkit-text-fill-color:#514454 !important;
  text-shadow:none !important;
}
body.public-sports-v109 main .note a{
  color:#6a247d !important;
  -webkit-text-fill-color:#6a247d !important;
}

/* Automatic class added to any bright panel, including dynamic content. */
body.public-sports-v109 main .auto-light-v113{
  color:#382f3c !important;
  text-shadow:none !important;
}
body.public-sports-v109 main .auto-light-v113 h1,
body.public-sports-v109 main .auto-light-v113 h2,
body.public-sports-v109 main .auto-light-v113 h3,
body.public-sports-v109 main .auto-light-v113 h4,
body.public-sports-v109 main .auto-light-v113 h5,
body.public-sports-v109 main .auto-light-v113 h6{
  color:#572169 !important;
  -webkit-text-fill-color:#572169 !important;
  text-shadow:none !important;
}
body.public-sports-v109 main .auto-light-v113 p,
body.public-sports-v109 main .auto-light-v113 li,
body.public-sports-v109 main .auto-light-v113 ol,
body.public-sports-v109 main .auto-light-v113 ul,
body.public-sports-v109 main .auto-light-v113 td,
body.public-sports-v109 main .auto-light-v113 th,
body.public-sports-v109 main .auto-light-v113 label,
body.public-sports-v109 main .auto-light-v113 small,
body.public-sports-v109 main .auto-light-v113 .muted,
body.public-sports-v109 main .auto-light-v113 .help{
  color:#443a47 !important;
  -webkit-text-fill-color:#443a47 !important;
  text-shadow:none !important;
}
body.public-sports-v109 main .auto-light-v113 a:not(.btn):not(button){
  color:#6e267f !important;
  -webkit-text-fill-color:#6e267f !important;
}

/* Preserve button contrast inside light panels. */
body.public-sports-v109 main .auto-light-v113 .btn,
body.public-sports-v109 main .auto-light-v113 button{
  color:#170d19 !important;
  -webkit-text-fill-color:#170d19 !important;
}

/* Common white/light table/card surfaces. */
body.public-sports-v109 main .card[style*="background: white"],
body.public-sports-v109 main .card[style*="background:#fff"],
body.public-sports-v109 main [style*="background: white"],
body.public-sports-v109 main [style*="background-color: white"],
body.public-sports-v109 main [style*="background:#fff"],
body.public-sports-v109 main [style*="background-color:#fff"]{
  color:#3e3542 !important;
}

@media(max-width:700px){
  body.public-sports-v109 .site-header-inner-v89{
    grid-template-areas:
      "brand toggle"
      "nav nav" !important;
    grid-template-columns:minmax(0,1fr) auto !important;
  }
  body.public-sports-v109 .site-brand-logo-v95{
    margin:0 !important;
    width:100% !important;
    max-width:285px !important;
    justify-content:center !important;
  }
  body.public-sports-v109 .ovgsl-header-logo-v95{
    width:270px !important;
    height:82px !important;
  }
}


/* =========================================================
   v114 — Eye-comfort + readability pass across public pages
   ========================================================= */

/* SOFTEN ALL HARSH LIGHT SECTIONS */
body.public-sports-v109 main,
body.public-sports-v109 .section,
body.public-sports-v109 .public-finder-hero,
body.public-sports-v109 .teams-finder-hero,
body.public-sports-v109 .coaches-finder-hero,
body.public-sports-v109 .team-detail-hero{
  color:#33283a !important;
}

/* Replace stark pure white page bands with soft lavender/off-white */
body.public-sports-v109 .section:not(.alt):not(.home-message-board-section):not(.home-welcome),
body.public-sports-v109 .public-finder-hero,
body.public-sports-v109 .teams-finder-hero,
body.public-sports-v109 .coaches-finder-hero{
  background:
    radial-gradient(circle at 15% 0%,rgba(174,113,188,.08),transparent 26%),
    linear-gradient(180deg,#f7f2f8 0%,#efe7f2 100%) !important;
}

/* Any clearly light content box gets dark text automatically */
body.public-sports-v109 .light-surface-v113,
body.public-sports-v109 .rule,
body.public-sports-v109 .rules,
body.public-sports-v109 .rules-box,
body.public-sports-v109 .rules-panel,
body.public-sports-v109 .about-hero,
body.public-sports-v109 .about-intro,
body.public-sports-v109 .info-card.light,
body.public-sports-v109 .card.light{
  background:#f8f4f9 !important;
  color:#33283a !important;
}

/* About page top area specifically: remove harsh white */
body.public-sports-v109 .about-hero,
body.public-sports-v109 section:first-of-type:not(.home-hero):not(.clean-home-hero){
  background:
    radial-gradient(circle at 50% 0%,rgba(183,125,196,.12),transparent 34%),
    linear-gradient(180deg,#f6f0f7 0%,#eee5f1 100%) !important;
}

/* General readable text for light sections */
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) p,
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) li,
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) span,
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) small,
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) div{
  color:#4a3d50 !important;
  -webkit-text-fill-color:#4a3d50 !important;
  text-shadow:none !important;
}

/* Keep headings strongly purple on light backgrounds */
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) h1,
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) h2,
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) h3,
body.public-sports-v109 .section:not(.alt):not(.home-welcome):not(.home-message-board-section) h4{
  color:#612276 !important;
  -webkit-text-fill-color:#612276 !important;
  text-shadow:none !important;
}

/* DARK PAGE SECTIONS: improve low-contrast body copy */
body.public-sports-v109 .section.alt,
body.public-sports-v109 .dark-section,
body.public-sports-v109 .about-section-dark,
body.public-sports-v109 .team-detail-dark{
  color:#f3edf6 !important;
}

body.public-sports-v109 .section.alt p,
body.public-sports-v109 .section.alt li,
body.public-sports-v109 .section.alt span,
body.public-sports-v109 .section.alt small,
body.public-sports-v109 .dark-section p,
body.public-sports-v109 .dark-section li,
body.public-sports-v109 .dark-section span,
body.public-sports-v109 .dark-section small{
  color:#ddd1e3 !important;
  -webkit-text-fill-color:#ddd1e3 !important;
  text-shadow:none !important;
}

/* ABOUT PAGE: purpose/community cards need readable text */
body.public-sports-v109 .about-card,
body.public-sports-v109 .purpose-card,
body.public-sports-v109 .community-card,
body.public-sports-v109 .about-grid .card{
  background:linear-gradient(180deg,#24172d 0%,#1b1123 100%) !important;
  border:1px solid #a33db2 !important;
  color:#f5eef7 !important;
  box-shadow:0 8px 22px rgba(0,0,0,.20) !important;
}

body.public-sports-v109 .about-card h1,
body.public-sports-v109 .about-card h2,
body.public-sports-v109 .about-card h3,
body.public-sports-v109 .purpose-card h1,
body.public-sports-v109 .purpose-card h2,
body.public-sports-v109 .purpose-card h3,
body.public-sports-v109 .community-card h1,
body.public-sports-v109 .community-card h2,
body.public-sports-v109 .community-card h3,
body.public-sports-v109 .about-grid .card h1,
body.public-sports-v109 .about-grid .card h2,
body.public-sports-v109 .about-grid .card h3{
  color:#e66bd0 !important;
  -webkit-text-fill-color:#e66bd0 !important;
  text-shadow:none !important;
}

/* This is the key fix for Fun / Competition / etc. */
body.public-sports-v109 .about-card p,
body.public-sports-v109 .about-card li,
body.public-sports-v109 .about-card span,
body.public-sports-v109 .purpose-card p,
body.public-sports-v109 .purpose-card li,
body.public-sports-v109 .purpose-card span,
body.public-sports-v109 .community-card p,
body.public-sports-v109 .community-card li,
body.public-sports-v109 .community-card span,
body.public-sports-v109 .about-grid .card p,
body.public-sports-v109 .about-grid .card li,
body.public-sports-v109 .about-grid .card span{
  color:#e9dfee !important;
  -webkit-text-fill-color:#e9dfee !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Catch generic dark cards with muted text */
body.public-sports-v109 .card .muted,
body.public-sports-v109 .card small,
body.public-sports-v109 .card .subtext,
body.public-sports-v109 .card .description{
  color:#cfc2d6 !important;
  -webkit-text-fill-color:#cfc2d6 !important;
  opacity:1 !important;
}

/* Rules page: final strong contrast */
body.public-sports-v109 .rule{
  background:linear-gradient(180deg,#fbf8fc 0%,#f4eef6 100%) !important;
  border:1px solid #d7c5dd !important;
  color:#352a3a !important;
}

body.public-sports-v109 .rule h1,
body.public-sports-v109 .rule h2,
body.public-sports-v109 .rule h3,
body.public-sports-v109 .rule h4{
  color:#662279 !important;
  -webkit-text-fill-color:#662279 !important;
  text-shadow:none !important;
}

body.public-sports-v109 .rule p,
body.public-sports-v109 .rule li,
body.public-sports-v109 .rule span,
body.public-sports-v109 .rule div{
  color:#403447 !important;
  -webkit-text-fill-color:#403447 !important;
  text-shadow:none !important;
}

/* Yellow notice boxes: use deep readable text */
body.public-sports-v109 .note,
body.public-sports-v109 .alert,
body.public-sports-v109 .notice{
  color:#4a3a2b !important;
  -webkit-text-fill-color:#4a3a2b !important;
}

/* Avoid low-opacity text site-wide */
body.public-sports-v109 .muted,
body.public-sports-v109 .subtle,
body.public-sports-v109 .secondary{
  opacity:1 !important;
}

/* Forms & selector panels on light pages */
body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4f9 100%) !important;
  color:#352b3a !important;
}

body.public-sports-v109 .public-selector-card label,
body.public-sports-v109 .team-selector-card label,
body.public-sports-v109 .coach-selector-card label{
  color:#5f246f !important;
  -webkit-text-fill-color:#5f246f !important;
}

/* Mobile keeps same softened surfaces */
@media(max-width:700px){
  body.public-sports-v109 .section:not(.alt):not(.home-message-board-section):not(.home-welcome){
    background:linear-gradient(180deg,#f7f2f8 0%,#efe7f2 100%) !important;
  }
}


/* =========================================================
   v115 — Unified public-site design
   Carry the readable homepage visual system across all tabs.
   ========================================================= */

/* ---------- GLOBAL PUBLIC PAGE FOUNDATION ---------- */
body.public-sports-v109{
  background:#eee7f1 !important;
  color:#34283a !important;
}

/* Main content area */
body.public-sports-v109 main{
  background:
    radial-gradient(circle at 12% 0%,rgba(170,104,184,.08),transparent 26%),
    linear-gradient(180deg,#f4eef6 0%,#ece3ef 100%) !important;
  color:#34283a !important;
}

/* ---------- PAGE HERO / TOP AREA ---------- */
body.public-sports-v109 main > .section:first-child,
body.public-sports-v109 .public-finder-hero,
body.public-sports-v109 .teams-finder-hero,
body.public-sports-v109 .coaches-finder-hero,
body.public-sports-v109 .team-detail-hero{
  background:
    radial-gradient(circle at 85% 0%,rgba(178,52,184,.20),transparent 28%),
    linear-gradient(135deg,#1d1028 0%,#351345 52%,#551650 100%) !important;
  color:#fff !important;
  border-bottom:3px solid #d532c8 !important;
  box-shadow:0 10px 26px rgba(43,18,53,.18) !important;
}

/* Hero headings */
body.public-sports-v109 main > .section:first-child h1,
body.public-sports-v109 main > .section:first-child h2,
body.public-sports-v109 main > .section:first-child h3,
body.public-sports-v109 .public-finder-hero h1,
body.public-sports-v109 .teams-finder-hero h1,
body.public-sports-v109 .coaches-finder-hero h1,
body.public-sports-v109 .team-detail-hero h1{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:2px 2px 0 #8e2e9b,4px 4px 0 rgba(39,12,48,.28) !important;
}

/* Hero supporting text */
body.public-sports-v109 main > .section:first-child p,
body.public-sports-v109 main > .section:first-child span,
body.public-sports-v109 main > .section:first-child small,
body.public-sports-v109 .public-finder-hero p,
body.public-sports-v109 .teams-finder-hero p,
body.public-sports-v109 .coaches-finder-hero p{
  color:#f1e8f4 !important;
  -webkit-text-fill-color:#f1e8f4 !important;
  text-shadow:none !important;
}

body.public-sports-v109 main > .section:first-child .eyebrow,
body.public-sports-v109 .public-finder-hero .eyebrow,
body.public-sports-v109 .teams-finder-hero .eyebrow,
body.public-sports-v109 .coaches-finder-hero .eyebrow{
  color:#ffe536 !important;
  -webkit-text-fill-color:#ffe536 !important;
}

/* ---------- NORMAL PAGE SECTIONS ---------- */
body.public-sports-v109 .section:not(:first-child){
  background:transparent !important;
  color:#34283a !important;
}

body.public-sports-v109 .section:not(:first-child) h1,
body.public-sports-v109 .section:not(:first-child) h2,
body.public-sports-v109 .section:not(:first-child) h3,
body.public-sports-v109 .section:not(:first-child) h4{
  color:#602274 !important;
  -webkit-text-fill-color:#602274 !important;
  text-shadow:none !important;
}

body.public-sports-v109 .section:not(:first-child) p,
body.public-sports-v109 .section:not(:first-child) li,
body.public-sports-v109 .section:not(:first-child) span,
body.public-sports-v109 .section:not(:first-child) small,
body.public-sports-v109 .section:not(:first-child) div{
  color:#463a4c !important;
  -webkit-text-fill-color:#463a4c !important;
  text-shadow:none !important;
}

/* ---------- CARDS / PANELS ---------- */
body.public-sports-v109 .card,
body.public-sports-v109 .quick-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card,
body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .message-board-card,
body.public-sports-v109 .leadership-card,
body.public-sports-v109 .website-manager-card,
body.public-sports-v109 .field-card,
body.public-sports-v109 .location-card,
body.public-sports-v109 .rule,
body.public-sports-v109 .rules-card,
body.public-sports-v109 .rule-card,
body.public-sports-v109 .about-card,
body.public-sports-v109 .purpose-card,
body.public-sports-v109 .community-card,
body.public-sports-v109 .content-card,
body.public-sports-v109 .content-panel,
body.public-sports-v109 .panel{
  background:linear-gradient(180deg,#ffffff 0%,#f9f6fa 100%) !important;
  border:1px solid #d9c8df !important;
  border-top:4px solid #8d2aa5 !important;
  border-radius:14px !important;
  color:#34283a !important;
  box-shadow:0 10px 24px rgba(65,32,73,.10) !important;
}

/* Card headings */
body.public-sports-v109 .card h1,
body.public-sports-v109 .card h2,
body.public-sports-v109 .card h3,
body.public-sports-v109 .card h4,
body.public-sports-v109 .quick-card h1,
body.public-sports-v109 .quick-card h2,
body.public-sports-v109 .quick-card h3,
body.public-sports-v109 .quick-card b,
body.public-sports-v109 .message-board-card h1,
body.public-sports-v109 .message-board-card h2,
body.public-sports-v109 .message-board-card h3,
body.public-sports-v109 .rule h1,
body.public-sports-v109 .rule h2,
body.public-sports-v109 .rule h3,
body.public-sports-v109 .about-card h1,
body.public-sports-v109 .about-card h2,
body.public-sports-v109 .about-card h3{
  color:#5d216f !important;
  -webkit-text-fill-color:#5d216f !important;
  text-shadow:none !important;
}

/* Card body copy */
body.public-sports-v109 .card p,
body.public-sports-v109 .card li,
body.public-sports-v109 .card span,
body.public-sports-v109 .card small,
body.public-sports-v109 .quick-card p,
body.public-sports-v109 .quick-card span,
body.public-sports-v109 .quick-card small,
body.public-sports-v109 .message-board-card p,
body.public-sports-v109 .message-board-card span,
body.public-sports-v109 .message-board-card small,
body.public-sports-v109 .rule p,
body.public-sports-v109 .rule li,
body.public-sports-v109 .rule span,
body.public-sports-v109 .rule div,
body.public-sports-v109 .about-card p,
body.public-sports-v109 .about-card li,
body.public-sports-v109 .about-card span{
  color:#493d4e !important;
  -webkit-text-fill-color:#493d4e !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* ---------- TABLES ---------- */
body.public-sports-v109 table{
  background:#fff !important;
  border:1px solid #d8c8dc !important;
  border-radius:12px !important;
  overflow:hidden !important;
  box-shadow:0 8px 20px rgba(58,29,67,.08) !important;
}

body.public-sports-v109 thead th{
  background:linear-gradient(180deg,#6d2584,#4d195f) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-bottom:3px solid #f1d92d !important;
  text-shadow:none !important;
}

body.public-sports-v109 tbody tr,
body.public-sports-v109 tbody tr:nth-child(even),
body.public-sports-v109 tbody tr:hover{
  background:#fff !important;
}

body.public-sports-v109 tbody tr:nth-child(even){
  background:#f5eff7 !important;
}

body.public-sports-v109 tbody tr:hover{
  background:#ece0f0 !important;
}

body.public-sports-v109 tbody td,
body.public-sports-v109 tbody th{
  color:#3e3344 !important;
  -webkit-text-fill-color:#3e3344 !important;
  border-color:#e6dce9 !important;
  text-shadow:none !important;
}

/* ---------- FORMS / SELECTORS ---------- */
body.public-sports-v109 select,
body.public-sports-v109 input,
body.public-sports-v109 textarea{
  background:#fff !important;
  color:#2f2634 !important;
  -webkit-text-fill-color:#2f2634 !important;
  border:1px solid #bea9c8 !important;
  box-shadow:none !important;
}

body.public-sports-v109 label{
  color:#5e256e !important;
  -webkit-text-fill-color:#5e256e !important;
}

/* ---------- BUTTONS ---------- */
body.public-sports-v109 button,
body.public-sports-v109 .btn{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
  border:0 !important;
  border-radius:8px !important;
  clip-path:none !important;
  text-shadow:none !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
}

body.public-sports-v109 button:hover,
body.public-sports-v109 .btn:hover{
  background:linear-gradient(180deg,#fff160,#f3dc39) !important;
}

body.public-sports-v109 .btn.alt{
  background:linear-gradient(180deg,#7f2b97,#5b1d70) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ---------- LINKS ---------- */
body.public-sports-v109 main a:not(.btn):not(.division-link-v108){
  color:#6f2385 !important;
  -webkit-text-fill-color:#6f2385 !important;
  font-weight:800 !important;
}

body.public-sports-v109 main a:not(.btn):not(.division-link-v108):hover{
  color:#9e2b91 !important;
  -webkit-text-fill-color:#9e2b91 !important;
}

/* ---------- NOTES / ALERTS ---------- */
body.public-sports-v109 .note,
body.public-sports-v109 .alert,
body.public-sports-v109 .notice{
  background:#fff6cf !important;
  border:1px solid #e7cf63 !important;
  color:#4a3b24 !important;
  -webkit-text-fill-color:#4a3b24 !important;
}

body.public-sports-v109 .note *,
body.public-sports-v109 .alert *,
body.public-sports-v109 .notice *{
  color:#4a3b24 !important;
  -webkit-text-fill-color:#4a3b24 !important;
}

/* ---------- FEATURED / SPECIAL DARK CARD ---------- */
body.public-sports-v109 .featured-announcement{
  background:linear-gradient(135deg,#562064,#85307d 58%,#a84186) !important;
  border:1px solid #d89bd2 !important;
  color:#fff !important;
}

body.public-sports-v109 .featured-announcement *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* ---------- ABOUT PAGE SPECIFIC ---------- */
body.public-sports-v109 .about-grid .card,
body.public-sports-v109 .purpose-card,
body.public-sports-v109 .community-card{
  background:#fff !important;
}

body.public-sports-v109 .about-grid .card h3,
body.public-sports-v109 .purpose-card h3,
body.public-sports-v109 .community-card h3{
  color:#752784 !important;
  -webkit-text-fill-color:#752784 !important;
}

body.public-sports-v109 .about-grid .card p,
body.public-sports-v109 .about-grid .card li,
body.public-sports-v109 .purpose-card p,
body.public-sports-v109 .purpose-card li,
body.public-sports-v109 .community-card p,
body.public-sports-v109 .community-card li{
  color:#463a4b !important;
  -webkit-text-fill-color:#463a4b !important;
}

/* ---------- RULES PAGE ---------- */
body.public-sports-v109 .rule{
  background:#fff !important;
}

body.public-sports-v109 .rule h3{
  color:#6b237c !important;
  -webkit-text-fill-color:#6b237c !important;
}

body.public-sports-v109 .rule ol,
body.public-sports-v109 .rule ul{
  color:#423746 !important;
}

body.public-sports-v109 .rule li{
  color:#423746 !important;
  -webkit-text-fill-color:#423746 !important;
  line-height:1.55 !important;
}

/* ---------- FOOTER ---------- */
body.public-sports-v109 footer{
  background:#0a0810 !important;
  color:#ddd3e2 !important;
  border-top:3px solid #7f2994 !important;
}

body.public-sports-v109 footer *{
  color:#ddd3e2 !important;
  -webkit-text-fill-color:#ddd3e2 !important;
}

/* ---------- MOBILE ---------- */
@media(max-width:700px){
  body.public-sports-v109 main{
    background:linear-gradient(180deg,#f4eef6,#ece3ef) !important;
  }

  body.public-sports-v109 .card,
  body.public-sports-v109 .quick-card,
  body.public-sports-v109 .message-board-card,
  body.public-sports-v109 .rule,
  body.public-sports-v109 .about-card{
    border-radius:12px !important;
  }

  body.public-sports-v109 .site-nav-v92 a,
  body.public-sports-v109 .site-nav-v92 a:link,
  body.public-sports-v109 .site-nav-v92 a:visited{
    font-style:normal !important;
    background:#6b2481 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
  }

  body.public-sports-v109 .site-nav-v92 a.current-page-v109{
    background:#f2da2d !important;
    color:#2a132f !important;
    -webkit-text-fill-color:#2a132f !important;
  }
}


/* =========================================================
   v116 — Unified Admin Design
   Match the v115 public design while keeping admin tools practical.
   ========================================================= */

/* Admin/editing pages identified by common body/page elements */
body:not(.public-sports-v109){
  background:
    radial-gradient(circle at 12% 0%,rgba(170,104,184,.08),transparent 26%),
    linear-gradient(180deg,#f4eef6 0%,#ece3ef 100%) !important;
  color:#34283a !important;
}

/* Header/nav on admin pages */
body:not(.public-sports-v109) .site-header-v89{
  background:
    linear-gradient(135deg,#1d1028 0%,#351345 52%,#551650 100%) !important;
  border-bottom:3px solid #d532c8 !important;
  box-shadow:0 8px 22px rgba(43,18,53,.18) !important;
}

body:not(.public-sports-v109) .site-nav-v89 a,
body:not(.public-sports-v109) .site-nav-v89 a:link,
body:not(.public-sports-v109) .site-nav-v89 a:visited{
  background:#6b2481 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:0 !important;
  border-radius:8px !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
  text-shadow:none !important;
}

body:not(.public-sports-v109) .site-nav-v89 a:hover,
body:not(.public-sports-v109) .site-nav-v89 a.active,
body:not(.public-sports-v109) .site-nav-v89 a[aria-current="page"]{
  background:#f2da2d !important;
  color:#2a132f !important;
  -webkit-text-fill-color:#2a132f !important;
}

/* Admin page headings */
body:not(.public-sports-v109) h1,
body:not(.public-sports-v109) h2,
body:not(.public-sports-v109) h3,
body:not(.public-sports-v109) h4{
  color:#602274 !important;
  -webkit-text-fill-color:#602274 !important;
  text-shadow:none !important;
}

/* Admin cards and panels */
body:not(.public-sports-v109) .card,
body:not(.public-sports-v109) .panel,
body:not(.public-sports-v109) .admin-card,
body:not(.public-sports-v109) .editor-card,
body:not(.public-sports-v109) .tool-card,
body:not(.public-sports-v109) .box,
body:not(.public-sports-v109) .section-card{
  background:linear-gradient(180deg,#ffffff 0%,#f9f6fa 100%) !important;
  border:1px solid #d9c8df !important;
  border-top:4px solid #8d2aa5 !important;
  border-radius:14px !important;
  color:#34283a !important;
  box-shadow:0 10px 24px rgba(65,32,73,.10) !important;
}

/* Readable admin body text */
body:not(.public-sports-v109) p,
body:not(.public-sports-v109) li,
body:not(.public-sports-v109) td,
body:not(.public-sports-v109) span,
body:not(.public-sports-v109) small,
body:not(.public-sports-v109) .muted,
body:not(.public-sports-v109) .help,
body:not(.public-sports-v109) .note-text{
  color:#493d4e !important;
  -webkit-text-fill-color:#493d4e !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Admin form labels */
body:not(.public-sports-v109) label,
body:not(.public-sports-v109) .form-label{
  color:#5e256e !important;
  -webkit-text-fill-color:#5e256e !important;
  font-weight:800 !important;
}

/* Admin inputs */
body:not(.public-sports-v109) select,
body:not(.public-sports-v109) input,
body:not(.public-sports-v109) textarea{
  background:#fff !important;
  color:#2f2634 !important;
  -webkit-text-fill-color:#2f2634 !important;
  border:1px solid #bea9c8 !important;
  border-radius:9px !important;
  box-shadow:none !important;
}

body:not(.public-sports-v109) select:focus,
body:not(.public-sports-v109) input:focus,
body:not(.public-sports-v109) textarea:focus{
  border-color:#8d2aa5 !important;
  box-shadow:0 0 0 3px rgba(141,42,165,.14) !important;
}

/* Admin buttons */
body:not(.public-sports-v109) button,
body:not(.public-sports-v109) .btn{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
  border:0 !important;
  border-radius:8px !important;
  clip-path:none !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
  text-shadow:none !important;
  box-shadow:0 5px 13px rgba(65,32,73,.12) !important;
}

body:not(.public-sports-v109) button:hover,
body:not(.public-sports-v109) .btn:hover{
  background:linear-gradient(180deg,#fff160,#f3dc39) !important;
}

body:not(.public-sports-v109) .btn.alt,
body:not(.public-sports-v109) .secondary,
body:not(.public-sports-v109) button.secondary{
  background:linear-gradient(180deg,#7f2b97,#5b1d70) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Admin tables */
body:not(.public-sports-v109) table{
  width:100% !important;
  background:#fff !important;
  border:1px solid #d8c8dc !important;
  border-radius:12px !important;
  overflow:hidden !important;
  box-shadow:0 8px 20px rgba(58,29,67,.08) !important;
}

body:not(.public-sports-v109) thead th{
  background:linear-gradient(180deg,#6d2584,#4d195f) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-bottom:3px solid #f1d92d !important;
  text-shadow:none !important;
}

body:not(.public-sports-v109) tbody tr{
  background:#fff !important;
}

body:not(.public-sports-v109) tbody tr:nth-child(even){
  background:#f5eff7 !important;
}

body:not(.public-sports-v109) tbody tr:hover{
  background:#ece0f0 !important;
}

body:not(.public-sports-v109) tbody td,
body:not(.public-sports-v109) tbody th{
  color:#3e3344 !important;
  -webkit-text-fill-color:#3e3344 !important;
  border-color:#e6dce9 !important;
  text-shadow:none !important;
}

/* Notices/status messages */
body:not(.public-sports-v109) .notice,
body:not(.public-sports-v109) .note,
body:not(.public-sports-v109) .alert,
body:not(.public-sports-v109) .status{
  background:#fff6cf !important;
  border:1px solid #e7cf63 !important;
  color:#4a3b24 !important;
  -webkit-text-fill-color:#4a3b24 !important;
  border-radius:10px !important;
}

body:not(.public-sports-v109) .notice *,
body:not(.public-sports-v109) .note *,
body:not(.public-sports-v109) .alert *,
body:not(.public-sports-v109) .status *{
  color:#4a3b24 !important;
  -webkit-text-fill-color:#4a3b24 !important;
}

/* Admin links */
body:not(.public-sports-v109) main a:not(.btn){
  color:#6f2385 !important;
  -webkit-text-fill-color:#6f2385 !important;
  font-weight:800 !important;
}

/* Admin section spacing */
body:not(.public-sports-v109) .section{
  background:transparent !important;
}

/* Footer */
body:not(.public-sports-v109) footer{
  background:#0a0810 !important;
  color:#ddd3e2 !important;
  border-top:3px solid #7f2994 !important;
}

body:not(.public-sports-v109) footer *{
  color:#ddd3e2 !important;
  -webkit-text-fill-color:#ddd3e2 !important;
}

/* Mobile admin navigation */
@media(max-width:700px){
  body:not(.public-sports-v109) .site-nav-v92 a,
  body:not(.public-sports-v109) .site-nav-v92 a:link,
  body:not(.public-sports-v109) .site-nav-v92 a:visited{
    background:#6b2481 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    font-style:normal !important;
  }

  body:not(.public-sports-v109) .mobile-menu-toggle-v92{
    background:#f2da2d !important;
    color:#2a132f !important;
    -webkit-text-fill-color:#2a132f !important;
  }
}


/* =========================================================
   v117 — Return full site to the dark homepage atmosphere
   Keep content cards readable and page-title areas dark.
   ========================================================= */

/* PUBLIC + ADMIN overall page background */
body.public-sports-v109,
body:not(.public-sports-v109){
  background:
    radial-gradient(circle at 14% 0%,rgba(126,34,151,.18),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(185,46,145,.10),transparent 26%),
    linear-gradient(180deg,#09070f 0%,#110a19 46%,#08070c 100%) !important;
}

/* Main page canvas */
body.public-sports-v109 main,
body:not(.public-sports-v109) main{
  background:
    radial-gradient(circle at 10% 0%,rgba(119,31,145,.13),transparent 28%),
    linear-gradient(180deg,#110a19 0%,#0b0811 100%) !important;
  color:#f2ebf5 !important;
}

/* Every major page title/header area gets the same dark sports treatment */
body.public-sports-v109 main > .section:first-child,
body.public-sports-v109 .public-finder-hero,
body.public-sports-v109 .teams-finder-hero,
body.public-sports-v109 .coaches-finder-hero,
body.public-sports-v109 .team-detail-hero,
body:not(.public-sports-v109) main > .section:first-child,
body:not(.public-sports-v109) .admin-hero,
body:not(.public-sports-v109) .editor-hero{
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.22),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  color:#fff !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
}

/* Page title headings */
body.public-sports-v109 main > .section:first-child h1,
body.public-sports-v109 main > .section:first-child h2,
body.public-sports-v109 main > .section:first-child h3,
body.public-sports-v109 .public-finder-hero h1,
body.public-sports-v109 .teams-finder-hero h1,
body.public-sports-v109 .coaches-finder-hero h1,
body.public-sports-v109 .team-detail-hero h1,
body:not(.public-sports-v109) main > .section:first-child h1,
body:not(.public-sports-v109) main > .section:first-child h2,
body:not(.public-sports-v109) main > .section:first-child h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
}

/* Eyebrows in title areas */
body.public-sports-v109 main > .section:first-child .eyebrow,
body.public-sports-v109 .public-finder-hero .eyebrow,
body.public-sports-v109 .teams-finder-hero .eyebrow,
body.public-sports-v109 .coaches-finder-hero .eyebrow,
body:not(.public-sports-v109) main > .section:first-child .eyebrow{
  color:#ffe637 !important;
  -webkit-text-fill-color:#ffe637 !important;
}

/* Supporting title-area text */
body.public-sports-v109 main > .section:first-child p,
body.public-sports-v109 main > .section:first-child span,
body.public-sports-v109 main > .section:first-child small,
body:not(.public-sports-v109) main > .section:first-child p,
body:not(.public-sports-v109) main > .section:first-child span,
body:not(.public-sports-v109) main > .section:first-child small{
  color:#eee3f2 !important;
  -webkit-text-fill-color:#eee3f2 !important;
}

/* Regular sections sit on dark background */
body.public-sports-v109 .section:not(:first-child),
body:not(.public-sports-v109) .section:not(:first-child){
  background:transparent !important;
}

/* Section titles outside cards */
body.public-sports-v109 .section:not(:first-child) > .wrap > h1,
body.public-sports-v109 .section:not(:first-child) > .wrap > h2,
body.public-sports-v109 .section:not(:first-child) > .wrap > h3,
body:not(.public-sports-v109) .section:not(:first-child) > .wrap > h1,
body:not(.public-sports-v109) .section:not(:first-child) > .wrap > h2,
body:not(.public-sports-v109) .section:not(:first-child) > .wrap > h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:2px 2px 0 #642078 !important;
}

/* Text that is directly on the dark page background */
body.public-sports-v109 .section:not(:first-child) > .wrap > p,
body.public-sports-v109 .section:not(:first-child) > .wrap > .muted,
body:not(.public-sports-v109) .section:not(:first-child) > .wrap > p,
body:not(.public-sports-v109) .section:not(:first-child) > .wrap > .muted{
  color:#ded2e4 !important;
  -webkit-text-fill-color:#ded2e4 !important;
}

/* Keep actual content cards LIGHT for maximum readability */
body.public-sports-v109 .card,
body.public-sports-v109 .quick-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card,
body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .message-board-card,
body.public-sports-v109 .leadership-card,
body.public-sports-v109 .website-manager-card,
body.public-sports-v109 .field-card,
body.public-sports-v109 .location-card,
body.public-sports-v109 .rule,
body.public-sports-v109 .rules-card,
body.public-sports-v109 .rule-card,
body.public-sports-v109 .about-card,
body.public-sports-v109 .purpose-card,
body.public-sports-v109 .community-card,
body.public-sports-v109 .content-card,
body.public-sports-v109 .content-panel,
body.public-sports-v109 .panel,
body:not(.public-sports-v109) .card,
body:not(.public-sports-v109) .panel,
body:not(.public-sports-v109) .admin-card,
body:not(.public-sports-v109) .editor-card,
body:not(.public-sports-v109) .tool-card,
body:not(.public-sports-v109) .box,
body:not(.public-sports-v109) .section-card{
  background:linear-gradient(180deg,#ffffff 0%,#f7f2f8 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

/* Dark text inside light cards */
body.public-sports-v109 .card *,
body.public-sports-v109 .quick-card *,
body.public-sports-v109 .team-selector-card *,
body.public-sports-v109 .coach-selector-card *,
body.public-sports-v109 .public-selector-card *,
body.public-sports-v109 .message-board-card *,
body.public-sports-v109 .leadership-card *,
body.public-sports-v109 .website-manager-card *,
body.public-sports-v109 .field-card *,
body.public-sports-v109 .location-card *,
body.public-sports-v109 .rule *,
body.public-sports-v109 .rules-card *,
body.public-sports-v109 .rule-card *,
body.public-sports-v109 .about-card *,
body.public-sports-v109 .purpose-card *,
body.public-sports-v109 .community-card *,
body.public-sports-v109 .content-card *,
body.public-sports-v109 .content-panel *,
body.public-sports-v109 .panel *,
body:not(.public-sports-v109) .card *,
body:not(.public-sports-v109) .panel *,
body:not(.public-sports-v109) .admin-card *,
body:not(.public-sports-v109) .editor-card *,
body:not(.public-sports-v109) .tool-card *,
body:not(.public-sports-v109) .box *,
body:not(.public-sports-v109) .section-card *{
  text-shadow:none !important;
}

/* Card body copy */
body.public-sports-v109 .card p,
body.public-sports-v109 .card li,
body.public-sports-v109 .card span,
body.public-sports-v109 .card small,
body.public-sports-v109 .rule p,
body.public-sports-v109 .rule li,
body.public-sports-v109 .rule span,
body.public-sports-v109 .about-card p,
body.public-sports-v109 .about-card li,
body.public-sports-v109 .about-card span,
body:not(.public-sports-v109) .card p,
body:not(.public-sports-v109) .card li,
body:not(.public-sports-v109) .card span,
body:not(.public-sports-v109) .card small{
  color:#473b4c !important;
  -webkit-text-fill-color:#473b4c !important;
  opacity:1 !important;
}

/* Card headings */
body.public-sports-v109 .card h1,
body.public-sports-v109 .card h2,
body.public-sports-v109 .card h3,
body.public-sports-v109 .rule h1,
body.public-sports-v109 .rule h2,
body.public-sports-v109 .rule h3,
body.public-sports-v109 .about-card h1,
body.public-sports-v109 .about-card h2,
body.public-sports-v109 .about-card h3,
body:not(.public-sports-v109) .card h1,
body:not(.public-sports-v109) .card h2,
body:not(.public-sports-v109) .card h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
}

/* Tables remain light and high contrast against dark page */
body.public-sports-v109 table,
body:not(.public-sports-v109) table{
  background:#fff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

/* Finder/filter cards */
body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card{
  background:#fff !important;
}

/* Forms outside cards should also remain readable */
body.public-sports-v109 select,
body.public-sports-v109 input,
body.public-sports-v109 textarea,
body:not(.public-sports-v109) select,
body:not(.public-sports-v109) input,
body:not(.public-sports-v109) textarea{
  background:#fff !important;
  color:#302634 !important;
  -webkit-text-fill-color:#302634 !important;
}

/* Labels directly on dark backgrounds */
body.public-sports-v109 main > .section label,
body:not(.public-sports-v109) main > .section label{
  color:#f1e7f4 !important;
  -webkit-text-fill-color:#f1e7f4 !important;
}

/* Labels inside white cards stay purple */
body.public-sports-v109 .card label,
body.public-sports-v109 .public-selector-card label,
body.public-sports-v109 .team-selector-card label,
body.public-sports-v109 .coach-selector-card label,
body:not(.public-sports-v109) .card label,
body:not(.public-sports-v109) .panel label{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
}

/* About page top/title band should definitely be dark */
body.public-sports-v109 .about-hero,
body.public-sports-v109 section:first-of-type:not(.home-hero):not(.clean-home-hero){
  background:
    radial-gradient(circle at 80% 0%,rgba(188,49,177,.20),transparent 30%),
    linear-gradient(135deg,#1b0d25,#351044 56%,#57174e) !important;
}

/* Home keeps its existing special hero */
body.public-sports-v109 .home-hero,
body.public-sports-v109 .clean-home-hero{
  /* intentionally preserve the homepage-specific v110/v115 hero */
}

/* Admin canvas gets same dark atmosphere */
body:not(.public-sports-v109) .section{
  background:transparent !important;
}

/* Footer */
body.public-sports-v109 footer,
body:not(.public-sports-v109) footer{
  background:#060509 !important;
  border-top:3px solid #7f2994 !important;
}

/* Mobile */
@media(max-width:700px){
  body.public-sports-v109 main,
  body:not(.public-sports-v109) main{
    background:linear-gradient(180deg,#100a18,#09070e) !important;
  }

  body.public-sports-v109 .card,
  body.public-sports-v109 .rule,
  body.public-sports-v109 .about-card,
  body:not(.public-sports-v109) .card,
  body:not(.public-sports-v109) .panel{
    background:#faf7fb !important;
  }
}


/* =========================================================
   v118 — Make public tabs match the Tournaments page layout
   ========================================================= */

/* Shared page canvas */
body.tournaments-match-v118 main{
  background:
    radial-gradient(circle at 10% 0%,rgba(119,31,145,.13),transparent 28%),
    linear-gradient(180deg,#110a19 0%,#0b0811 100%) !important;
  color:#f1eaf4 !important;
}

/* Shared title/hero block like Tournaments */
body.tournaments-match-v118 main > .section:first-child,
body.tournaments-match-v118 .public-finder-hero,
body.tournaments-match-v118 .teams-finder-hero,
body.tournaments-match-v118 .coaches-finder-hero,
body.tournaments-match-v118 .team-detail-hero{
  max-width:none !important;
  margin:0 !important;
  padding:42px 0 34px !important;
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.22),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
}

body.tournaments-match-v118 main > .section:first-child .wrap,
body.tournaments-match-v118 .public-finder-hero > .wrap,
body.tournaments-match-v118 .teams-finder-hero > .wrap,
body.tournaments-match-v118 .coaches-finder-hero > .wrap,
body.tournaments-match-v118 .team-detail-hero > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

/* Shared title typography */
body.tournaments-match-v118 main > .section:first-child h1,
body.tournaments-match-v118 main > .section:first-child h2,
body.tournaments-match-v118 .public-finder-hero h1,
body.tournaments-match-v118 .teams-finder-hero h1,
body.tournaments-match-v118 .coaches-finder-hero h1{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-weight:900 !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
  margin-bottom:8px !important;
}

body.tournaments-match-v118 .eyebrow,
body.tournaments-match-v118 main > .section:first-child .eyebrow{
  color:#ffe637 !important;
  -webkit-text-fill-color:#ffe637 !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  letter-spacing:.05em !important;
}

/* Shared content width/spacing */
body.tournaments-match-v118 .section:not(:first-child) > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

body.tournaments-match-v118 .section:not(:first-child){
  padding-top:30px !important;
  padding-bottom:36px !important;
}

/* Tournaments-style selectors/cards */
body.tournaments-match-v118 .public-selector-card,
body.tournaments-match-v118 .team-selector-card,
body.tournaments-match-v118 .coach-selector-card,
body.tournaments-match-v118 .card,
body.tournaments-match-v118 .panel,
body.tournaments-match-v118 .field-card,
body.tournaments-match-v118 .location-card,
body.tournaments-match-v118 .rule,
body.tournaments-match-v118 .content-card,
body.tournaments-match-v118 .leadership-card,
body.tournaments-match-v118 .website-manager-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  border-radius:14px !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

/* Make cards breathe like tournament cards */
body.tournaments-match-v118 .card,
body.tournaments-match-v118 .panel,
body.tournaments-match-v118 .field-card,
body.tournaments-match-v118 .rule,
body.tournaments-match-v118 .content-card{
  padding:20px !important;
}

/* Shared readable card text */
body.tournaments-match-v118 .card h1,
body.tournaments-match-v118 .card h2,
body.tournaments-match-v118 .card h3,
body.tournaments-match-v118 .panel h1,
body.tournaments-match-v118 .panel h2,
body.tournaments-match-v118 .panel h3,
body.tournaments-match-v118 .field-card h1,
body.tournaments-match-v118 .field-card h2,
body.tournaments-match-v118 .field-card h3,
body.tournaments-match-v118 .rule h1,
body.tournaments-match-v118 .rule h2,
body.tournaments-match-v118 .rule h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  text-shadow:none !important;
}

body.tournaments-match-v118 .card p,
body.tournaments-match-v118 .card li,
body.tournaments-match-v118 .card span,
body.tournaments-match-v118 .card small,
body.tournaments-match-v118 .panel p,
body.tournaments-match-v118 .panel li,
body.tournaments-match-v118 .panel span,
body.tournaments-match-v118 .field-card p,
body.tournaments-match-v118 .field-card span,
body.tournaments-match-v118 .rule p,
body.tournaments-match-v118 .rule li,
body.tournaments-match-v118 .rule span{
  color:#473b4c !important;
  -webkit-text-fill-color:#473b4c !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Same filter/select layout language */
body.tournaments-match-v118 .public-selector-card,
body.tournaments-match-v118 .team-selector-card,
body.tournaments-match-v118 .coach-selector-card{
  padding:18px !important;
}

body.tournaments-match-v118 select,
body.tournaments-match-v118 input,
body.tournaments-match-v118 textarea{
  min-height:42px !important;
  border-radius:9px !important;
  border:1px solid #bba8c4 !important;
  background:#fff !important;
  color:#312735 !important;
  -webkit-text-fill-color:#312735 !important;
}

/* Same button treatment */
body.tournaments-match-v118 .btn,
body.tournaments-match-v118 button{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
  border-radius:8px !important;
  border:0 !important;
  clip-path:none !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
  box-shadow:0 6px 14px rgba(48,20,58,.16) !important;
}

body.tournaments-match-v118 .btn.alt{
  background:linear-gradient(180deg,#7f2b97,#5b1d70) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Tables mimic tournament-style cards */
body.tournaments-match-v118 table{
  background:#fff !important;
  border:1px solid #d4c1da !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
}

body.tournaments-match-v118 thead th{
  background:linear-gradient(180deg,#6d2584,#4d195f) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-bottom:3px solid #f1d92d !important;
}

body.tournaments-match-v118 tbody tr{
  background:#fff !important;
}
body.tournaments-match-v118 tbody tr:nth-child(even){
  background:#f5eff7 !important;
}
body.tournaments-match-v118 tbody tr:hover{
  background:#ece0f0 !important;
}
body.tournaments-match-v118 tbody td,
body.tournaments-match-v118 tbody th{
  color:#3e3344 !important;
  -webkit-text-fill-color:#3e3344 !important;
  border-color:#e6dce9 !important;
}

/* Notes / status bars in same style */
body.tournaments-match-v118 .note,
body.tournaments-match-v118 .alert,
body.tournaments-match-v118 .notice{
  background:#fff6cf !important;
  border:1px solid #e6ce62 !important;
  border-radius:10px !important;
  color:#493a22 !important;
  -webkit-text-fill-color:#493a22 !important;
}

/* About/contact/fields pages: normalize grids to tournament-like spacing */
body.tournaments-match-v118 .grid,
body.tournaments-match-v118 .cards,
body.tournaments-match-v118 .about-grid,
body.tournaments-match-v118 .contact-grid,
body.tournaments-match-v118 .field-grid{
  gap:18px !important;
}

/* Footer stays consistent */
body.tournaments-match-v118 footer{
  background:#060509 !important;
  border-top:3px solid #7f2994 !important;
}

/* Mobile */
@media(max-width:700px){
  body.tournaments-match-v118 main > .section:first-child,
  body.tournaments-match-v118 .public-finder-hero,
  body.tournaments-match-v118 .teams-finder-hero,
  body.tournaments-match-v118 .coaches-finder-hero{
    padding:30px 0 24px !important;
  }

  body.tournaments-match-v118 main > .section:first-child .wrap,
  body.tournaments-match-v118 .public-finder-hero > .wrap,
  body.tournaments-match-v118 .teams-finder-hero > .wrap,
  body.tournaments-match-v118 .coaches-finder-hero > .wrap,
  body.tournaments-match-v118 .section:not(:first-child) > .wrap{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.tournaments-match-v118 .card,
  body.tournaments-match-v118 .panel,
  body.tournaments-match-v118 .rule,
  body.tournaments-match-v118 .field-card{
    padding:16px !important;
  }
}


/* =========================================================
   v119 — About + Fields forced to match Tournaments layout
   ========================================================= */

/* ----- ABOUT PAGE ----- */
body.about-match-v119 main{
  background:
    radial-gradient(circle at 10% 0%,rgba(119,31,145,.13),transparent 28%),
    linear-gradient(180deg,#110a19 0%,#0b0811 100%) !important;
}

/* Force first About section into same hero treatment as Tournaments */
body.about-match-v119 main > section:first-child,
body.about-match-v119 .about-hero,
body.about-match-v119 .about-intro{
  margin:0 !important;
  max-width:none !important;
  padding:42px 0 34px !important;
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.22),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
  color:#fff !important;
}

body.about-match-v119 main > section:first-child > .wrap,
body.about-match-v119 .about-hero > .wrap,
body.about-match-v119 .about-intro > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

body.about-match-v119 main > section:first-child h1,
body.about-match-v119 main > section:first-child h2,
body.about-match-v119 .about-hero h1,
body.about-match-v119 .about-intro h1{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
}

body.about-match-v119 main > section:first-child p,
body.about-match-v119 main > section:first-child span,
body.about-match-v119 .about-hero p,
body.about-match-v119 .about-intro p{
  color:#eee3f2 !important;
  -webkit-text-fill-color:#eee3f2 !important;
}

body.about-match-v119 main > section:first-child .eyebrow,
body.about-match-v119 .about-hero .eyebrow,
body.about-match-v119 .about-intro .eyebrow{
  color:#ffe637 !important;
  -webkit-text-fill-color:#ffe637 !important;
}

/* About content sections use the exact same tournament-style card system */
body.about-match-v119 main > section:not(:first-child){
  background:transparent !important;
  padding:30px 0 36px !important;
}

body.about-match-v119 main > section:not(:first-child) > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

body.about-match-v119 .about-grid,
body.about-match-v119 .about-cards,
body.about-match-v119 .purpose-grid,
body.about-match-v119 .community-grid{
  gap:18px !important;
}

body.about-match-v119 .about-card,
body.about-match-v119 .purpose-card,
body.about-match-v119 .community-card,
body.about-match-v119 .about-grid .card,
body.about-match-v119 .card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  border-radius:14px !important;
  padding:20px !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

body.about-match-v119 .about-card h1,
body.about-match-v119 .about-card h2,
body.about-match-v119 .about-card h3,
body.about-match-v119 .purpose-card h1,
body.about-match-v119 .purpose-card h2,
body.about-match-v119 .purpose-card h3,
body.about-match-v119 .community-card h1,
body.about-match-v119 .community-card h2,
body.about-match-v119 .community-card h3,
body.about-match-v119 .about-grid .card h1,
body.about-match-v119 .about-grid .card h2,
body.about-match-v119 .about-grid .card h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  text-shadow:none !important;
}

body.about-match-v119 .about-card p,
body.about-match-v119 .about-card li,
body.about-match-v119 .purpose-card p,
body.about-match-v119 .purpose-card li,
body.about-match-v119 .community-card p,
body.about-match-v119 .community-card li,
body.about-match-v119 .about-grid .card p,
body.about-match-v119 .about-grid .card li{
  color:#473b4c !important;
  -webkit-text-fill-color:#473b4c !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* ----- FIELDS PAGE ----- */
body.fields-match-v119 main{
  background:
    radial-gradient(circle at 10% 0%,rgba(119,31,145,.13),transparent 28%),
    linear-gradient(180deg,#110a19 0%,#0b0811 100%) !important;
}

/* Fields title section exactly like tournament title block */
body.fields-match-v119 main > section:first-child,
body.fields-match-v119 .public-finder-hero,
body.fields-match-v119 .fields-hero,
body.fields-match-v119 .field-finder-hero{
  margin:0 !important;
  max-width:none !important;
  padding:42px 0 34px !important;
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.22),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
  color:#fff !important;
}

body.fields-match-v119 main > section:first-child > .wrap,
body.fields-match-v119 .public-finder-hero > .wrap,
body.fields-match-v119 .fields-hero > .wrap,
body.fields-match-v119 .field-finder-hero > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

body.fields-match-v119 main > section:first-child h1,
body.fields-match-v119 .public-finder-hero h1,
body.fields-match-v119 .fields-hero h1,
body.fields-match-v119 .field-finder-hero h1{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
}

body.fields-match-v119 main > section:first-child p,
body.fields-match-v119 .public-finder-hero p,
body.fields-match-v119 .fields-hero p,
body.fields-match-v119 .field-finder-hero p{
  color:#eee3f2 !important;
  -webkit-text-fill-color:#eee3f2 !important;
}

body.fields-match-v119 main > section:first-child .eyebrow,
body.fields-match-v119 .public-finder-hero .eyebrow,
body.fields-match-v119 .fields-hero .eyebrow,
body.fields-match-v119 .field-finder-hero .eyebrow{
  color:#ffe637 !important;
  -webkit-text-fill-color:#ffe637 !important;
}

/* Fields selector matches tournament selector card */
body.fields-match-v119 .field-selector-card,
body.fields-match-v119 .public-selector-card,
body.fields-match-v119 .location-selector-card,
body.fields-match-v119 .card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  border-radius:14px !important;
  padding:20px !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

body.fields-match-v119 .field-selector-card label,
body.fields-match-v119 .public-selector-card label,
body.fields-match-v119 .location-selector-card label{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
}

body.fields-match-v119 select{
  min-height:42px !important;
  border-radius:9px !important;
  background:#fff !important;
  color:#312735 !important;
  -webkit-text-fill-color:#312735 !important;
  border:1px solid #bba8c4 !important;
}

/* Field detail area/card */
body.fields-match-v119 .field-detail,
body.fields-match-v119 .field-card,
body.fields-match-v119 .location-card,
body.fields-match-v119 .field-info{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  border-radius:14px !important;
  padding:20px !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

body.fields-match-v119 .field-detail h1,
body.fields-match-v119 .field-detail h2,
body.fields-match-v119 .field-detail h3,
body.fields-match-v119 .field-card h1,
body.fields-match-v119 .field-card h2,
body.fields-match-v119 .field-card h3,
body.fields-match-v119 .location-card h1,
body.fields-match-v119 .location-card h2,
body.fields-match-v119 .location-card h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  text-shadow:none !important;
}

body.fields-match-v119 .field-detail p,
body.fields-match-v119 .field-detail span,
body.fields-match-v119 .field-card p,
body.fields-match-v119 .field-card span,
body.fields-match-v119 .location-card p,
body.fields-match-v119 .location-card span{
  color:#473b4c !important;
  -webkit-text-fill-color:#473b4c !important;
  opacity:1 !important;
}

/* Google map container styling */
body.fields-match-v119 iframe,
body.fields-match-v119 .map,
body.fields-match-v119 .map-wrap,
body.fields-match-v119 .google-map{
  border:1px solid #d4c1da !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 12px 28px rgba(0,0,0,.20) !important;
}

/* Fields non-hero sections spacing */
body.fields-match-v119 main > section:not(:first-child){
  background:transparent !important;
  padding:30px 0 36px !important;
}

body.fields-match-v119 main > section:not(:first-child) > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

/* Mobile */
@media(max-width:700px){
  body.about-match-v119 main > section:first-child,
  body.fields-match-v119 main > section:first-child,
  body.fields-match-v119 .public-finder-hero{
    padding:30px 0 24px !important;
  }

  body.about-match-v119 main > section:first-child > .wrap,
  body.about-match-v119 main > section:not(:first-child) > .wrap,
  body.fields-match-v119 main > section:first-child > .wrap,
  body.fields-match-v119 main > section:not(:first-child) > .wrap,
  body.fields-match-v119 .public-finder-hero > .wrap{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.about-match-v119 .about-card,
  body.about-match-v119 .purpose-card,
  body.about-match-v119 .community-card,
  body.fields-match-v119 .field-selector-card,
  body.fields-match-v119 .field-detail,
  body.fields-match-v119 .field-card,
  body.fields-match-v119 .location-card{
    padding:16px !important;
  }
}


/* =========================================================
   v120 — Homepage + About dark-background text readability
   ========================================================= */

/* HOME: text sitting directly on dark backgrounds */
body.public-sports-v109 .home-hero p,
body.public-sports-v109 .home-hero .subtitle,
body.public-sports-v109 .home-hero .description,
body.public-sports-v109 .home-welcome > .wrap > p,
body.public-sports-v109 .home-welcome .home-section-head p,
body.public-sports-v109 .home-message-board-section > .wrap > p{
  color:#f5eef8 !important;
  -webkit-text-fill-color:#f5eef8 !important;
  opacity:1 !important;
  text-shadow:0 2px 4px rgba(0,0,0,.55) !important;
}

/* HOME: secondary/muted copy on dark sections */
body.public-sports-v109 .home-welcome > .wrap > .muted,
body.public-sports-v109 .home-welcome > .wrap > .subtle,
body.public-sports-v109 .home-welcome > .wrap > .secondary{
  color:#e7dceb !important;
  -webkit-text-fill-color:#e7dceb !important;
  opacity:1 !important;
}

/* ABOUT: all text directly on dark page background */
body.about-match-v119 main > section:not(:first-child) > .wrap > p,
body.about-match-v119 main > section:not(:first-child) > .wrap > span,
body.about-match-v119 main > section:not(:first-child) > .wrap > small,
body.about-match-v119 main > section:not(:first-child) > .wrap > .muted,
body.about-match-v119 main > section:not(:first-child) > .wrap > .subtle,
body.about-match-v119 main > section:not(:first-child) > .wrap > .secondary{
  color:#f0e7f3 !important;
  -webkit-text-fill-color:#f0e7f3 !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.50) !important;
}

/* ABOUT: section headings on dark backgrounds */
body.about-match-v119 main > section:not(:first-child) > .wrap > h1,
body.about-match-v119 main > section:not(:first-child) > .wrap > h2,
body.about-match-v119 main > section:not(:first-child) > .wrap > h3{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:2px 2px 0 #702484,0 2px 5px rgba(0,0,0,.45) !important;
}

/* ABOUT hero supporting text */
body.about-match-v119 main > section:first-child p,
body.about-match-v119 .about-hero p,
body.about-match-v119 .about-intro p{
  color:#f5edf7 !important;
  -webkit-text-fill-color:#f5edf7 !important;
  opacity:1 !important;
  text-shadow:0 2px 4px rgba(0,0,0,.48) !important;
}

/* Yellow accent labels remain highly visible */
body.public-sports-v109 .home-hero .eyebrow,
body.about-match-v119 .eyebrow{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
  opacity:1 !important;
  text-shadow:0 2px 3px rgba(0,0,0,.55) !important;
}

/* Preserve DARK text inside the light cards on both pages */
body.public-sports-v109 .home-welcome .card p,
body.public-sports-v109 .home-welcome .card span,
body.public-sports-v109 .home-welcome .card small,
body.public-sports-v109 .message-board-card p,
body.public-sports-v109 .message-board-card span,
body.public-sports-v109 .message-board-card small,
body.about-match-v119 .card p,
body.about-match-v119 .card li,
body.about-match-v119 .card span,
body.about-match-v119 .card small,
body.about-match-v119 .about-card p,
body.about-match-v119 .about-card li,
body.about-match-v119 .purpose-card p,
body.about-match-v119 .purpose-card li,
body.about-match-v119 .community-card p,
body.about-match-v119 .community-card li{
  color:#433748 !important;
  -webkit-text-fill-color:#433748 !important;
  text-shadow:none !important;
  opacity:1 !important;
}

/* Light-card headings stay purple */
body.public-sports-v109 .home-welcome .card h1,
body.public-sports-v109 .home-welcome .card h2,
body.public-sports-v109 .home-welcome .card h3,
body.about-match-v119 .card h1,
body.about-match-v119 .card h2,
body.about-match-v119 .card h3,
body.about-match-v119 .about-card h1,
body.about-match-v119 .about-card h2,
body.about-match-v119 .about-card h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  text-shadow:none !important;
}

/* Mobile readability */
@media(max-width:700px){
  body.public-sports-v109 .home-hero p,
  body.public-sports-v109 .home-welcome > .wrap > p,
  body.about-match-v119 main > section:not(:first-child) > .wrap > p{
    color:#f7f1f9 !important;
    -webkit-text-fill-color:#f7f1f9 !important;
    line-height:1.6 !important;
  }
}


/* =========================================================
   v121 — Site-wide dark-background text contrast
   Anything directly on dark surfaces becomes bright/readable.
   Light cards remain dark text.
   ========================================================= */

/* GLOBAL dark-page text */
body.public-sports-v109 main,
body.public-sports-v109 main .section,
body:not(.public-sports-v109) main,
body:not(.public-sports-v109) main .section{
  color:#f3edf6 !important;
}

/* Headings directly on dark sections */
body.public-sports-v109 main .section > .wrap > h1,
body.public-sports-v109 main .section > .wrap > h2,
body.public-sports-v109 main .section > .wrap > h3,
body.public-sports-v109 main .section > .wrap > h4,
body:not(.public-sports-v109) main .section > .wrap > h1,
body:not(.public-sports-v109) main .section > .wrap > h2,
body:not(.public-sports-v109) main .section > .wrap > h3,
body:not(.public-sports-v109) main .section > .wrap > h4{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:0 2px 4px rgba(0,0,0,.48),2px 2px 0 #6f237f !important;
}

/* Paragraph/body text directly on dark sections */
body.public-sports-v109 main .section > .wrap > p,
body.public-sports-v109 main .section > .wrap > span,
body.public-sports-v109 main .section > .wrap > small,
body.public-sports-v109 main .section > .wrap > div:not(.card):not(.panel):not(.quick-card):not(.message-board-card):not(.public-selector-card):not(.team-selector-card):not(.coach-selector-card):not(.field-card):not(.location-card):not(.rule),
body:not(.public-sports-v109) main .section > .wrap > p,
body:not(.public-sports-v109) main .section > .wrap > span,
body:not(.public-sports-v109) main .section > .wrap > small{
  color:#eee5f2 !important;
  -webkit-text-fill-color:#eee5f2 !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.42) !important;
}

/* Muted/secondary text on dark surfaces */
body.public-sports-v109 main .muted,
body.public-sports-v109 main .subtle,
body.public-sports-v109 main .secondary,
body.public-sports-v109 main .description,
body.public-sports-v109 main .help,
body:not(.public-sports-v109) main .muted,
body:not(.public-sports-v109) main .subtle,
body:not(.public-sports-v109) main .secondary,
body:not(.public-sports-v109) main .description,
body:not(.public-sports-v109) main .help{
  color:#d9cde0 !important;
  -webkit-text-fill-color:#d9cde0 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Eyebrows / tiny labels */
body.public-sports-v109 main .eyebrow,
body.public-sports-v109 main .kicker,
body.public-sports-v109 main .section-label,
body:not(.public-sports-v109) main .eyebrow,
body:not(.public-sports-v109) main .kicker,
body:not(.public-sports-v109) main .section-label{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
  opacity:1 !important;
  text-shadow:0 2px 3px rgba(0,0,0,.45) !important;
}

/* Links on dark page backgrounds */
body.public-sports-v109 main > .section a:not(.btn):not(.division-link-v108),
body:not(.public-sports-v109) main > .section a:not(.btn){
  color:#f7d84a !important;
  -webkit-text-fill-color:#f7d84a !important;
  text-decoration-thickness:1px !important;
}

body.public-sports-v109 main > .section a:not(.btn):not(.division-link-v108):hover,
body:not(.public-sports-v109) main > .section a:not(.btn):hover{
  color:#fff29a !important;
  -webkit-text-fill-color:#fff29a !important;
}

/* Current Season / League News type titles */
body.public-sports-v109 .home-section-head h1,
body.public-sports-v109 .home-section-head h2,
body.public-sports-v109 .home-section-head h3,
body.public-sports-v109 .section-title,
body.public-sports-v109 .page-section-title{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:2px 2px 0 #762583,0 2px 5px rgba(0,0,0,.45) !important;
}

/* Stronger current season headline */
body.public-sports-v109 .home-section-head strong,
body.public-sports-v109 .current-season-title,
body.public-sports-v109 .season-title{
  color:#f6d94a !important;
  -webkit-text-fill-color:#f6d94a !important;
}

/* Preserve dark text INSIDE all light cards */
body.public-sports-v109 .card,
body.public-sports-v109 .panel,
body.public-sports-v109 .quick-card,
body.public-sports-v109 .message-board-card,
body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card,
body.public-sports-v109 .field-card,
body.public-sports-v109 .location-card,
body.public-sports-v109 .rule,
body.public-sports-v109 .about-card,
body.public-sports-v109 .purpose-card,
body.public-sports-v109 .community-card,
body:not(.public-sports-v109) .card,
body:not(.public-sports-v109) .panel{
  color:#34283a !important;
}

/* Card headings */
body.public-sports-v109 .card h1,
body.public-sports-v109 .card h2,
body.public-sports-v109 .card h3,
body.public-sports-v109 .panel h1,
body.public-sports-v109 .panel h2,
body.public-sports-v109 .panel h3,
body.public-sports-v109 .quick-card h1,
body.public-sports-v109 .quick-card h2,
body.public-sports-v109 .quick-card h3,
body.public-sports-v109 .quick-card b,
body.public-sports-v109 .message-board-card h1,
body.public-sports-v109 .message-board-card h2,
body.public-sports-v109 .message-board-card h3,
body.public-sports-v109 .rule h1,
body.public-sports-v109 .rule h2,
body.public-sports-v109 .rule h3,
body.public-sports-v109 .about-card h1,
body.public-sports-v109 .about-card h2,
body.public-sports-v109 .about-card h3,
body:not(.public-sports-v109) .card h1,
body:not(.public-sports-v109) .card h2,
body:not(.public-sports-v109) .card h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  text-shadow:none !important;
}

/* Card body */
body.public-sports-v109 .card p,
body.public-sports-v109 .card li,
body.public-sports-v109 .card span,
body.public-sports-v109 .card small,
body.public-sports-v109 .panel p,
body.public-sports-v109 .panel li,
body.public-sports-v109 .panel span,
body.public-sports-v109 .quick-card p,
body.public-sports-v109 .quick-card span,
body.public-sports-v109 .quick-card small,
body.public-sports-v109 .message-board-card p,
body.public-sports-v109 .message-board-card span,
body.public-sports-v109 .message-board-card small,
body.public-sports-v109 .rule p,
body.public-sports-v109 .rule li,
body.public-sports-v109 .rule span,
body.public-sports-v109 .about-card p,
body.public-sports-v109 .about-card li,
body.public-sports-v109 .about-card span,
body:not(.public-sports-v109) .card p,
body:not(.public-sports-v109) .card li,
body:not(.public-sports-v109) .card span,
body:not(.public-sports-v109) .card small{
  color:#453949 !important;
  -webkit-text-fill-color:#453949 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Dark-page forms labels */
body.public-sports-v109 main > .section label,
body:not(.public-sports-v109) main > .section label{
  color:#f0e6f3 !important;
  -webkit-text-fill-color:#f0e6f3 !important;
}

/* Labels inside light cards stay purple */
body.public-sports-v109 .card label,
body.public-sports-v109 .panel label,
body.public-sports-v109 .public-selector-card label,
body.public-sports-v109 .team-selector-card label,
body.public-sports-v109 .coach-selector-card label,
body:not(.public-sports-v109) .card label,
body:not(.public-sports-v109) .panel label{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
}

/* Mobile: boost contrast slightly more */
@media(max-width:700px){
  body.public-sports-v109 main .section > .wrap > p,
  body.public-sports-v109 main .section > .wrap > span,
  body.public-sports-v109 main .section > .wrap > small,
  body:not(.public-sports-v109) main .section > .wrap > p,
  body:not(.public-sports-v109) main .section > .wrap > span,
  body:not(.public-sports-v109) main .section > .wrap > small{
    color:#f6f0f8 !important;
    -webkit-text-fill-color:#f6f0f8 !important;
    line-height:1.6 !important;
  }
}


/* =========================================================
   v122 — Admin pages match public-page presentation
   ========================================================= */

/* Admin overall canvas */
body:not(.public-sports-v109){
  background:
    radial-gradient(circle at 14% 0%,rgba(126,34,151,.18),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(185,46,145,.10),transparent 26%),
    linear-gradient(180deg,#09070f 0%,#110a19 46%,#08070c 100%) !important;
  color:#f3edf6 !important;
}

/* Admin header identical to public header atmosphere */
body:not(.public-sports-v109) .site-header-v89{
  background:
    radial-gradient(circle at 50% 0%,rgba(88,25,121,.24),transparent 35%),
    linear-gradient(180deg,#08070d 0%,#0b0811 100%) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

/* Admin main area */
body:not(.public-sports-v109) main{
  background:
    radial-gradient(circle at 10% 0%,rgba(119,31,145,.13),transparent 28%),
    linear-gradient(180deg,#110a19 0%,#0b0811 100%) !important;
  color:#f1eaf4 !important;
}

/* First section/title block matches public page title blocks */
body:not(.public-sports-v109) main > .section:first-child,
body:not(.public-sports-v109) .admin-hero,
body:not(.public-sports-v109) .editor-hero{
  margin:0 !important;
  max-width:none !important;
  padding:42px 0 34px !important;
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.22),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
  color:#fff !important;
}

/* Title typography */
body:not(.public-sports-v109) main > .section:first-child h1,
body:not(.public-sports-v109) main > .section:first-child h2,
body:not(.public-sports-v109) main > .section:first-child h3,
body:not(.public-sports-v109) .admin-hero h1,
body:not(.public-sports-v109) .editor-hero h1{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-weight:900 !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
}

/* Yellow eyebrow labels */
body:not(.public-sports-v109) main > .section:first-child .eyebrow,
body:not(.public-sports-v109) .admin-hero .eyebrow,
body:not(.public-sports-v109) .editor-hero .eyebrow{
  color:#ffe637 !important;
  -webkit-text-fill-color:#ffe637 !important;
}

/* Supporting copy in admin title block */
body:not(.public-sports-v109) main > .section:first-child p,
body:not(.public-sports-v109) main > .section:first-child span,
body:not(.public-sports-v109) main > .section:first-child small{
  color:#eee3f2 !important;
  -webkit-text-fill-color:#eee3f2 !important;
}

/* Admin section width/spacing mirrors public pages */
body:not(.public-sports-v109) .section > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

body:not(.public-sports-v109) .section:not(:first-child){
  background:transparent !important;
  padding-top:30px !important;
  padding-bottom:36px !important;
}

/* Admin cards/panels match public white cards */
body:not(.public-sports-v109) .card,
body:not(.public-sports-v109) .panel,
body:not(.public-sports-v109) .admin-card,
body:not(.public-sports-v109) .editor-card,
body:not(.public-sports-v109) .tool-card,
body:not(.public-sports-v109) .box,
body:not(.public-sports-v109) .section-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  border-radius:14px !important;
  padding:20px !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

/* Admin card headings */
body:not(.public-sports-v109) .card h1,
body:not(.public-sports-v109) .card h2,
body:not(.public-sports-v109) .card h3,
body:not(.public-sports-v109) .panel h1,
body:not(.public-sports-v109) .panel h2,
body:not(.public-sports-v109) .panel h3,
body:not(.public-sports-v109) .admin-card h1,
body:not(.public-sports-v109) .admin-card h2,
body:not(.public-sports-v109) .admin-card h3,
body:not(.public-sports-v109) .editor-card h1,
body:not(.public-sports-v109) .editor-card h2,
body:not(.public-sports-v109) .editor-card h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  text-shadow:none !important;
}

/* Admin card body */
body:not(.public-sports-v109) .card p,
body:not(.public-sports-v109) .card li,
body:not(.public-sports-v109) .card span,
body:not(.public-sports-v109) .card small,
body:not(.public-sports-v109) .panel p,
body:not(.public-sports-v109) .panel li,
body:not(.public-sports-v109) .panel span,
body:not(.public-sports-v109) .admin-card p,
body:not(.public-sports-v109) .admin-card li,
body:not(.public-sports-v109) .admin-card span,
body:not(.public-sports-v109) .editor-card p,
body:not(.public-sports-v109) .editor-card li,
body:not(.public-sports-v109) .editor-card span{
  color:#473b4c !important;
  -webkit-text-fill-color:#473b4c !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Admin forms match public forms */
body:not(.public-sports-v109) select,
body:not(.public-sports-v109) input,
body:not(.public-sports-v109) textarea{
  min-height:42px !important;
  border-radius:9px !important;
  border:1px solid #bba8c4 !important;
  background:#fff !important;
  color:#312735 !important;
  -webkit-text-fill-color:#312735 !important;
  box-shadow:none !important;
}

body:not(.public-sports-v109) label{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  font-weight:800 !important;
}

/* Admin buttons match public buttons */
body:not(.public-sports-v109) button,
body:not(.public-sports-v109) .btn{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
  border:0 !important;
  border-radius:8px !important;
  clip-path:none !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
  box-shadow:0 6px 14px rgba(48,20,58,.16) !important;
}

body:not(.public-sports-v109) .btn.alt,
body:not(.public-sports-v109) .secondary,
body:not(.public-sports-v109) button.secondary{
  background:linear-gradient(180deg,#7f2b97,#5b1d70) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Admin tables identical to public high-contrast tables */
body:not(.public-sports-v109) table{
  background:#fff !important;
  border:1px solid #d4c1da !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 12px 28px rgba(0,0,0,.22) !important;
}

body:not(.public-sports-v109) thead th{
  background:linear-gradient(180deg,#6d2584,#4d195f) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-bottom:3px solid #f1d92d !important;
}

body:not(.public-sports-v109) tbody tr{
  background:#fff !important;
}

body:not(.public-sports-v109) tbody tr:nth-child(even){
  background:#f5eff7 !important;
}

body:not(.public-sports-v109) tbody tr:hover{
  background:#ece0f0 !important;
}

body:not(.public-sports-v109) tbody td,
body:not(.public-sports-v109) tbody th{
  color:#3e3344 !important;
  -webkit-text-fill-color:#3e3344 !important;
  border-color:#e6dce9 !important;
}

/* Notices/status bars */
body:not(.public-sports-v109) .note,
body:not(.public-sports-v109) .notice,
body:not(.public-sports-v109) .alert,
body:not(.public-sports-v109) .status{
  background:#fff6cf !important;
  border:1px solid #e6ce62 !important;
  border-radius:10px !important;
  color:#493a22 !important;
  -webkit-text-fill-color:#493a22 !important;
}

/* Admin links */
body:not(.public-sports-v109) main a:not(.btn){
  color:#6f2385 !important;
  -webkit-text-fill-color:#6f2385 !important;
  font-weight:800 !important;
}

/* Footer */
body:not(.public-sports-v109) footer{
  background:#060509 !important;
  border-top:3px solid #7f2994 !important;
}

/* Mobile */
@media(max-width:700px){
  body:not(.public-sports-v109) main > .section:first-child{
    padding:30px 0 24px !important;
  }

  body:not(.public-sports-v109) .section > .wrap{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body:not(.public-sports-v109) .card,
  body:not(.public-sports-v109) .panel,
  body:not(.public-sports-v109) .admin-card,
  body:not(.public-sports-v109) .editor-card{
    padding:16px !important;
  }
}


/* =========================================================
   v123 — Admin tab/page matches homepage/public tabs exactly
   ========================================================= */

/* Header layout same as public site */
body.admin-match-public-v123 .site-header-v89{
  background:
    radial-gradient(circle at 50% 0%,rgba(88,25,121,.24),transparent 35%),
    linear-gradient(180deg,#08070d 0%,#0b0811 100%) !important;
  border-bottom:0 !important;
  box-shadow:none !important;
}

@media(min-width:701px){
  body.admin-match-public-v123 .site-header-inner-v89{
    width:100% !important;
    max-width:none !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    grid-template-areas:
      "brand"
      "nav" !important;
    justify-items:start !important;
    gap:8px !important;
    padding:10px 0 0 !important;
  }

  body.admin-match-public-v123 .site-brand-logo-v95{
    grid-area:brand !important;
    width:390px !important;
    max-width:390px !important;
    justify-content:flex-start !important;
    margin-left:24px !important;
  }

  body.admin-match-public-v123 .ovgsl-header-logo-v95{
    width:375px !important;
    height:108px !important;
    max-width:100% !important;
    object-position:left center !important;
    transform:none !important;
  }

  body.admin-match-public-v123 .site-nav-v89{
    grid-area:nav !important;
    display:flex !important;
    width:100% !important;
    justify-content:center !important;
    align-items:center !important;
    gap:0 !important;
    padding:0 16px !important;
    background:linear-gradient(180deg,#111018 0%,#07070c 100%) !important;
    border-top:1px solid #6c1a88 !important;
    border-bottom:2px solid #b628c9 !important;
    overflow:visible !important;
  }
}

/* Every nav tab on Admin page matches the homepage/public tabs */
body.admin-match-public-v123 .site-nav-v89 a,
body.admin-match-public-v123 .site-nav-v89 a:link,
body.admin-match-public-v123 .site-nav-v89 a:visited{
  min-height:46px !important;
  padding:13px 17px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,#67247e 0%,#4a175e 100%) !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  font-family:"Arial Black",Arial,Helvetica,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
  font-size:12px !important;
  letter-spacing:.01em !important;
  line-height:1.15 !important;
  text-transform:uppercase !important;
  text-shadow:0 1px 2px rgba(0,0,0,.48) !important;
  clip-path:polygon(8% 0,100% 0,92% 100%,0 100%) !important;
  box-shadow:none !important;
}

/* ADMIN tab highlighted exactly like active public tab */
body.admin-match-public-v123 .site-nav-v89 a.current-page-v123,
body.admin-match-public-v123 .site-nav-v89 a[href$="admin.html"],
body.admin-match-public-v123 .site-nav-v89 a[href="admin.html"]{
  background:linear-gradient(180deg,#fff15b 0%,#efd52b 100%) !important;
  color:#28112d !important;
  -webkit-text-fill-color:#28112d !important;
  text-shadow:none !important;
}

/* Hover treatment for the rest */
body.admin-match-public-v123 .site-nav-v89 a:not(.current-page-v123):hover{
  background:linear-gradient(180deg,#7a3291 0%,#59206d 100%) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Admin page title area matches the other public tab pages */
body.admin-match-public-v123 main{
  background:
    radial-gradient(circle at 10% 0%,rgba(119,31,145,.13),transparent 28%),
    linear-gradient(180deg,#110a19 0%,#0b0811 100%) !important;
}

body.admin-match-public-v123 main > .section:first-child{
  margin:0 !important;
  max-width:none !important;
  padding:42px 0 34px !important;
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.22),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
  color:#fff !important;
}

body.admin-match-public-v123 main > .section:first-child .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

body.admin-match-public-v123 main > .section:first-child h1,
body.admin-match-public-v123 main > .section:first-child h2{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-weight:900 !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
}

body.admin-match-public-v123 main > .section:first-child .eyebrow{
  color:#ffe637 !important;
  -webkit-text-fill-color:#ffe637 !important;
}

/* Admin tools below title continue using the readable public-card style */
body.admin-match-public-v123 main > .section:not(:first-child){
  background:transparent !important;
  padding-top:30px !important;
  padding-bottom:36px !important;
}

body.admin-match-public-v123 main > .section:not(:first-child) > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

body.admin-match-public-v123 .card,
body.admin-match-public-v123 .panel,
body.admin-match-public-v123 .admin-card,
body.admin-match-public-v123 .tool-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  border-radius:14px !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

/* Mobile: same Menu treatment as public pages */
@media(max-width:700px){
  body.admin-match-public-v123 .site-header-inner-v89{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "brand toggle"
      "nav nav" !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 10px !important;
  }

  body.admin-match-public-v123 .site-brand-logo-v95{
    grid-area:brand !important;
    width:100% !important;
    max-width:260px !important;
    margin:0 !important;
    justify-content:flex-start !important;
  }

  body.admin-match-public-v123 .ovgsl-header-logo-v95{
    width:245px !important;
    height:78px !important;
    max-width:100% !important;
  }

  body.admin-match-public-v123 .mobile-menu-toggle-v92{
    grid-area:toggle !important;
    background:#f2da2d !important;
    color:#2a132f !important;
    -webkit-text-fill-color:#2a132f !important;
  }

  body.admin-match-public-v123 .site-nav-v92{
    grid-area:nav !important;
    background:#0d0913 !important;
    border:1px solid #8c299f !important;
  }

  body.admin-match-public-v123 .site-nav-v92 a,
  body.admin-match-public-v123 .site-nav-v92 a:link,
  body.admin-match-public-v123 .site-nav-v92 a:visited{
    background:#6b2481 !important;
    color:#fff !important;
    -webkit-text-fill-color:#fff !important;
    clip-path:none !important;
    border-radius:8px !important;
    font-size:12px !important;
  }

  body.admin-match-public-v123 .site-nav-v92 a[href$="admin.html"],
  body.admin-match-public-v123 .site-nav-v92 a[href="admin.html"],
  body.admin-match-public-v123 .site-nav-v92 a.current-page-v123{
    background:#f2da2d !important;
    color:#2a132f !important;
    -webkit-text-fill-color:#2a132f !important;
  }
}


/* =========================================================
   v124 — Contact page match + eliminate light-purple dark text
   ========================================================= */

/* CONTACT: force same overall presentation as Tournaments/public tabs */
body.contact-match-v124 main{
  background:
    radial-gradient(circle at 10% 0%,rgba(119,31,145,.13),transparent 28%),
    linear-gradient(180deg,#110a19 0%,#0b0811 100%) !important;
}

body.contact-match-v124 main > section:first-child,
body.contact-match-v124 .contact-hero,
body.contact-match-v124 .public-finder-hero{
  margin:0 !important;
  max-width:none !important;
  padding:42px 0 34px !important;
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.22),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
  color:#fff !important;
}

body.contact-match-v124 main > section:first-child > .wrap,
body.contact-match-v124 .contact-hero > .wrap,
body.contact-match-v124 .public-finder-hero > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

body.contact-match-v124 main > section:first-child h1,
body.contact-match-v124 main > section:first-child h2,
body.contact-match-v124 .contact-hero h1{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-weight:900 !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
}

body.contact-match-v124 main > section:first-child .eyebrow,
body.contact-match-v124 .contact-hero .eyebrow{
  color:#ffe637 !important;
  -webkit-text-fill-color:#ffe637 !important;
}

body.contact-match-v124 main > section:not(:first-child){
  background:transparent !important;
  padding:30px 0 36px !important;
}

body.contact-match-v124 main > section:not(:first-child) > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding:0 24px !important;
}

/* Contact cards use the same white/purple public-card treatment */
body.contact-match-v124 .contact-card,
body.contact-match-v124 .leadership-card,
body.contact-match-v124 .website-manager-card,
body.contact-match-v124 .card,
body.contact-match-v124 .panel,
body.contact-match-v124 form{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  border:1px solid #d4c1da !important;
  border-top:4px solid #9229a8 !important;
  border-radius:14px !important;
  padding:20px !important;
  color:#34283a !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

body.contact-match-v124 .contact-card h1,
body.contact-match-v124 .contact-card h2,
body.contact-match-v124 .contact-card h3,
body.contact-match-v124 .leadership-card h1,
body.contact-match-v124 .leadership-card h2,
body.contact-match-v124 .leadership-card h3,
body.contact-match-v124 .website-manager-card h1,
body.contact-match-v124 .website-manager-card h2,
body.contact-match-v124 .website-manager-card h3,
body.contact-match-v124 .card h1,
body.contact-match-v124 .card h2,
body.contact-match-v124 .card h3{
  color:#602174 !important;
  -webkit-text-fill-color:#602174 !important;
  text-shadow:none !important;
}

body.contact-match-v124 .contact-card p,
body.contact-match-v124 .contact-card span,
body.contact-match-v124 .contact-card small,
body.contact-match-v124 .leadership-card p,
body.contact-match-v124 .leadership-card span,
body.contact-match-v124 .website-manager-card p,
body.contact-match-v124 .website-manager-card span,
body.contact-match-v124 .card p,
body.contact-match-v124 .card span,
body.contact-match-v124 .card small{
  color:#453949 !important;
  -webkit-text-fill-color:#453949 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* =========================================================
   SITE-WIDE: any general text on dark backgrounds = WHITE
   This overrides the old pale/light-purple text.
   ========================================================= */

/* Public dark-background text */
body.public-sports-v109 main .section > .wrap > p,
body.public-sports-v109 main .section > .wrap > span,
body.public-sports-v109 main .section > .wrap > small,
body.public-sports-v109 main .section > .wrap > .muted,
body.public-sports-v109 main .section > .wrap > .subtle,
body.public-sports-v109 main .section > .wrap > .secondary,
body.public-sports-v109 main .section > .wrap > .description,
body.public-sports-v109 main .section > .wrap > .help,
body.public-sports-v109 .home-hero p,
body.public-sports-v109 .home-hero .subtitle,
body.public-sports-v109 .home-hero .description,
body.public-sports-v109 .home-section-head p,
body.public-sports-v109 .home-section-head span,
body.public-sports-v109 .home-section-head small,
body.public-sports-v109 .public-finder-hero p,
body.public-sports-v109 .teams-finder-hero p,
body.public-sports-v109 .coaches-finder-hero p,
body.public-sports-v109 .team-detail-hero p{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.48) !important;
}

/* Headings directly on dark backgrounds = pure white */
body.public-sports-v109 main .section > .wrap > h1,
body.public-sports-v109 main .section > .wrap > h2,
body.public-sports-v109 main .section > .wrap > h3,
body.public-sports-v109 main .section > .wrap > h4,
body.public-sports-v109 .home-section-head h1,
body.public-sports-v109 .home-section-head h2,
body.public-sports-v109 .home-section-head h3,
body.public-sports-v109 .section-title,
body.public-sports-v109 .page-section-title{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Admin/editor dark-background text also becomes pure white */
body:not(.public-sports-v109) main .section > .wrap > p,
body:not(.public-sports-v109) main .section > .wrap > span,
body:not(.public-sports-v109) main .section > .wrap > small,
body:not(.public-sports-v109) main .section > .wrap > .muted,
body:not(.public-sports-v109) main .section > .wrap > .subtle,
body:not(.public-sports-v109) main .section > .wrap > .secondary,
body:not(.public-sports-v109) main .section > .wrap > .description,
body:not(.public-sports-v109) main .section > .wrap > .help{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* Keep yellow accent labels yellow */
body.public-sports-v109 main .eyebrow,
body.public-sports-v109 main .kicker,
body.public-sports-v109 main .section-label,
body:not(.public-sports-v109) main .eyebrow,
body:not(.public-sports-v109) main .kicker,
body:not(.public-sports-v109) main .section-label{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* CRITICAL RESET:
   Text inside LIGHT cards/panels/tables/forms must stay DARK. */
body.public-sports-v109 .card p,
body.public-sports-v109 .card li,
body.public-sports-v109 .card span,
body.public-sports-v109 .card small,
body.public-sports-v109 .panel p,
body.public-sports-v109 .panel li,
body.public-sports-v109 .panel span,
body.public-sports-v109 .quick-card p,
body.public-sports-v109 .quick-card span,
body.public-sports-v109 .quick-card small,
body.public-sports-v109 .message-board-card p,
body.public-sports-v109 .message-board-card span,
body.public-sports-v109 .message-board-card small,
body.public-sports-v109 .public-selector-card p,
body.public-sports-v109 .public-selector-card span,
body.public-sports-v109 .team-selector-card p,
body.public-sports-v109 .team-selector-card span,
body.public-sports-v109 .coach-selector-card p,
body.public-sports-v109 .coach-selector-card span,
body.public-sports-v109 .field-card p,
body.public-sports-v109 .field-card span,
body.public-sports-v109 .location-card p,
body.public-sports-v109 .location-card span,
body.public-sports-v109 .rule p,
body.public-sports-v109 .rule li,
body.public-sports-v109 .rule span,
body.public-sports-v109 .about-card p,
body.public-sports-v109 .about-card li,
body.public-sports-v109 .about-card span,
body.public-sports-v109 .purpose-card p,
body.public-sports-v109 .purpose-card li,
body.public-sports-v109 .purpose-card span,
body.public-sports-v109 .community-card p,
body.public-sports-v109 .community-card li,
body.public-sports-v109 .community-card span,
body:not(.public-sports-v109) .card p,
body:not(.public-sports-v109) .card li,
body:not(.public-sports-v109) .card span,
body:not(.public-sports-v109) .card small,
body:not(.public-sports-v109) .panel p,
body:not(.public-sports-v109) .panel li,
body:not(.public-sports-v109) .panel span{
  color:#453949 !important;
  -webkit-text-fill-color:#453949 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Table body remains dark text on white */
body.public-sports-v109 tbody td,
body.public-sports-v109 tbody th,
body:not(.public-sports-v109) tbody td,
body:not(.public-sports-v109) tbody th{
  color:#3e3344 !important;
  -webkit-text-fill-color:#3e3344 !important;
}

/* Inputs stay dark-on-white */
body.public-sports-v109 input,
body.public-sports-v109 textarea,
body.public-sports-v109 select,
body:not(.public-sports-v109) input,
body:not(.public-sports-v109) textarea,
body:not(.public-sports-v109) select{
  color:#302634 !important;
  -webkit-text-fill-color:#302634 !important;
}

/* Contact mobile */
@media(max-width:700px){
  body.contact-match-v124 main > section:first-child{
    padding:30px 0 24px !important;
  }

  body.contact-match-v124 main > section:first-child > .wrap,
  body.contact-match-v124 main > section:not(:first-child) > .wrap{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.contact-match-v124 .contact-card,
  body.contact-match-v124 .leadership-card,
  body.contact-match-v124 .website-manager-card,
  body.contact-match-v124 .card{
    padding:16px !important;
  }
}


/* =========================================================
   v125 — Replace the old faded/light-purple body color with WHITE
   Example target: "Follow the 2027 Spring season with schedules..."
   ========================================================= */

/* Homepage season description */
body.public-sports-v109 .current-season p,
body.public-sports-v109 .season-summary,
body.public-sports-v109 .season-description,
body.public-sports-v109 .home-season p,
body.public-sports-v109 .home-season .muted,
body.public-sports-v109 .home-season .description,
body.public-sports-v109 .home-section-head p{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.48) !important;
}

/* Site-wide: common old light-purple / muted text classes on dark backgrounds */
body.public-sports-v109 main .muted,
body.public-sports-v109 main .subtle,
body.public-sports-v109 main .secondary,
body.public-sports-v109 main .description,
body.public-sports-v109 main .subtext,
body.public-sports-v109 main .help,
body.public-sports-v109 main .supporting-text,
body.public-sports-v109 main .intro,
body.public-sports-v109 main .lead,
body.public-sports-v109 main .summary,
body.public-sports-v109 main .caption,
body.public-sports-v109 main .meta,
body:not(.public-sports-v109) main .muted,
body:not(.public-sports-v109) main .subtle,
body:not(.public-sports-v109) main .secondary,
body:not(.public-sports-v109) main .description,
body:not(.public-sports-v109) main .subtext,
body:not(.public-sports-v109) main .help,
body:not(.public-sports-v109) main .supporting-text,
body:not(.public-sports-v109) main .intro,
body:not(.public-sports-v109) main .lead,
body:not(.public-sports-v109) main .summary,
body:not(.public-sports-v109) main .caption,
body:not(.public-sports-v109) main .meta{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* General direct-on-dark section copy */
body.public-sports-v109 main .section > .wrap > p,
body.public-sports-v109 main .section > .wrap > small,
body.public-sports-v109 main .section > .wrap > .muted,
body.public-sports-v109 main .section > .wrap > .description,
body.public-sports-v109 main .section > .wrap > .subtext,
body:not(.public-sports-v109) main .section > .wrap > p,
body:not(.public-sports-v109) main .section > .wrap > small,
body:not(.public-sports-v109) main .section > .wrap > .muted,
body:not(.public-sports-v109) main .section > .wrap > .description,
body:not(.public-sports-v109) main .section > .wrap > .subtext{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* Hero / finder descriptions */
body.public-sports-v109 .public-finder-hero p,
body.public-sports-v109 .teams-finder-hero p,
body.public-sports-v109 .coaches-finder-hero p,
body.public-sports-v109 .team-detail-hero p,
body.public-sports-v109 .contact-hero p,
body.public-sports-v109 .about-hero p,
body.public-sports-v109 .fields-hero p,
body.public-sports-v109 .field-finder-hero p{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* Keep text in LIGHT cards dark */
body.public-sports-v109 .card .muted,
body.public-sports-v109 .card .subtle,
body.public-sports-v109 .card .secondary,
body.public-sports-v109 .card .description,
body.public-sports-v109 .card .subtext,
body.public-sports-v109 .card .help,
body.public-sports-v109 .panel .muted,
body.public-sports-v109 .panel .description,
body.public-sports-v109 .quick-card .muted,
body.public-sports-v109 .message-board-card .muted,
body.public-sports-v109 .public-selector-card .muted,
body.public-sports-v109 .team-selector-card .muted,
body.public-sports-v109 .coach-selector-card .muted,
body.public-sports-v109 .field-card .muted,
body.public-sports-v109 .location-card .muted,
body.public-sports-v109 .rule .muted,
body.public-sports-v109 .about-card .muted,
body.public-sports-v109 .purpose-card .muted,
body.public-sports-v109 .community-card .muted,
body:not(.public-sports-v109) .card .muted,
body:not(.public-sports-v109) .panel .muted{
  color:#453949 !important;
  -webkit-text-fill-color:#453949 !important;
  opacity:1 !important;
  text-shadow:none !important;
}


/* =========================================================
   v126 — BRIGHT WHITE text on every dark-background area
   Target includes text like:
   "Use the form for general league questions..."
   ========================================================= */

/* Default readable text throughout dark page areas */
body.public-sports-v109 main,
body:not(.public-sports-v109) main{
  color:#ffffff !important;
}

/* All common text elements directly in dark sections */
body.public-sports-v109 main .section p,
body.public-sports-v109 main .section li,
body.public-sports-v109 main .section small,
body.public-sports-v109 main .section .muted,
body.public-sports-v109 main .section .subtle,
body.public-sports-v109 main .section .secondary,
body.public-sports-v109 main .section .description,
body.public-sports-v109 main .section .subtext,
body.public-sports-v109 main .section .supporting-text,
body.public-sports-v109 main .section .help,
body.public-sports-v109 main .section .summary,
body.public-sports-v109 main .section .caption,
body.public-sports-v109 main .section .meta,
body.public-sports-v109 main .section .intro,
body.public-sports-v109 main .section .lead,
body:not(.public-sports-v109) main .section p,
body:not(.public-sports-v109) main .section li,
body:not(.public-sports-v109) main .section small,
body:not(.public-sports-v109) main .section .muted,
body:not(.public-sports-v109) main .section .subtle,
body:not(.public-sports-v109) main .section .secondary,
body:not(.public-sports-v109) main .section .description,
body:not(.public-sports-v109) main .section .subtext,
body:not(.public-sports-v109) main .section .supporting-text,
body:not(.public-sports-v109) main .section .help,
body:not(.public-sports-v109) main .section .summary,
body:not(.public-sports-v109) main .section .caption,
body:not(.public-sports-v109) main .section .meta,
body:not(.public-sports-v109) main .section .intro,
body:not(.public-sports-v109) main .section .lead{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* Contact intro/supporting copy specifically */
body.contact-match-v124 main p,
body.contact-match-v124 .contact-intro,
body.contact-match-v124 .contact-description,
body.contact-match-v124 .contact-copy,
body.contact-match-v124 .contact-lead{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* Hero/section supporting copy everywhere */
body.public-sports-v109 .home-hero p,
body.public-sports-v109 .home-section-head p,
body.public-sports-v109 .public-finder-hero p,
body.public-sports-v109 .teams-finder-hero p,
body.public-sports-v109 .coaches-finder-hero p,
body.public-sports-v109 .team-detail-hero p,
body.public-sports-v109 .about-hero p,
body.public-sports-v109 .fields-hero p,
body.public-sports-v109 .field-finder-hero p,
body.public-sports-v109 .contact-hero p{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* IMPORTANT: restore DARK text inside every light/white content surface */
body.public-sports-v109 .card p,
body.public-sports-v109 .card li,
body.public-sports-v109 .card small,
body.public-sports-v109 .panel p,
body.public-sports-v109 .panel li,
body.public-sports-v109 .panel small,
body.public-sports-v109 .quick-card p,
body.public-sports-v109 .quick-card li,
body.public-sports-v109 .quick-card small,
body.public-sports-v109 .message-board-card p,
body.public-sports-v109 .message-board-card li,
body.public-sports-v109 .message-board-card small,
body.public-sports-v109 .public-selector-card p,
body.public-sports-v109 .public-selector-card li,
body.public-sports-v109 .team-selector-card p,
body.public-sports-v109 .coach-selector-card p,
body.public-sports-v109 .field-card p,
body.public-sports-v109 .field-card li,
body.public-sports-v109 .location-card p,
body.public-sports-v109 .location-card li,
body.public-sports-v109 .rule p,
body.public-sports-v109 .rule li,
body.public-sports-v109 .about-card p,
body.public-sports-v109 .about-card li,
body.public-sports-v109 .purpose-card p,
body.public-sports-v109 .purpose-card li,
body.public-sports-v109 .community-card p,
body.public-sports-v109 .community-card li,
body.contact-match-v124 .contact-card p,
body.contact-match-v124 .contact-card li,
body.contact-match-v124 .leadership-card p,
body.contact-match-v124 .leadership-card li,
body.contact-match-v124 .website-manager-card p,
body.contact-match-v124 .website-manager-card li,
body.contact-match-v124 form p,
body:not(.public-sports-v109) .card p,
body:not(.public-sports-v109) .card li,
body:not(.public-sports-v109) .card small,
body:not(.public-sports-v109) .panel p,
body:not(.public-sports-v109) .panel li,
body:not(.public-sports-v109) .panel small,
body:not(.public-sports-v109) .admin-card p,
body:not(.public-sports-v109) .admin-card li,
body:not(.public-sports-v109) .editor-card p,
body:not(.public-sports-v109) .editor-card li,
body:not(.public-sports-v109) .tool-card p,
body:not(.public-sports-v109) .tool-card li{
  color:#453949 !important;
  -webkit-text-fill-color:#453949 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Muted text inside white cards also stays dark, never faded */
body.public-sports-v109 .card .muted,
body.public-sports-v109 .panel .muted,
body.public-sports-v109 .quick-card .muted,
body.public-sports-v109 .message-board-card .muted,
body.public-sports-v109 .public-selector-card .muted,
body.public-sports-v109 .team-selector-card .muted,
body.public-sports-v109 .coach-selector-card .muted,
body.public-sports-v109 .field-card .muted,
body.public-sports-v109 .location-card .muted,
body.public-sports-v109 .rule .muted,
body.public-sports-v109 .about-card .muted,
body.public-sports-v109 .purpose-card .muted,
body.public-sports-v109 .community-card .muted,
body.contact-match-v124 .contact-card .muted,
body.contact-match-v124 .leadership-card .muted,
body.contact-match-v124 .website-manager-card .muted,
body:not(.public-sports-v109) .card .muted,
body:not(.public-sports-v109) .panel .muted{
  color:#453949 !important;
  -webkit-text-fill-color:#453949 !important;
  opacity:1 !important;
}


/* =========================================================
   v127 — Forced contrast + Contact leadership cleanup
   ========================================================= */

/* CONTACT: leadership cards use black information, no yellow */
body.contact-match-v124 #leadershipGrid .card,
body.contact-match-v124 #leadershipGrid .leadership-card,
body.contact-match-v124 #leadershipGrid .website-manager-card{
  background:#ffffff !important;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  border:1px solid #d7c9dc !important;
  border-top:4px solid #7d258f !important;
}

body.contact-match-v124 #leadershipGrid .card h1,
body.contact-match-v124 #leadershipGrid .card h2,
body.contact-match-v124 #leadershipGrid .card h3,
body.contact-match-v124 #leadershipGrid .card h4,
body.contact-match-v124 #leadershipGrid .card p,
body.contact-match-v124 #leadershipGrid .card b,
body.contact-match-v124 #leadershipGrid .card strong,
body.contact-match-v124 #leadershipGrid .card span,
body.contact-match-v124 #leadershipGrid .card small,
body.contact-match-v124 #leadershipGrid .card a,
body.contact-match-v124 #leadershipGrid .card .eyebrow,
body.contact-match-v124 #leadershipGrid .card .muted{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  opacity:1 !important;
  text-shadow:none !important;
  text-decoration-color:#111111 !important;
}

/* Contact section copy directly on the dark background must be bright white */
body.contact-match-v124 .contact-form-copy > p,
body.contact-match-v124 .contact-form-copy > .muted,
body.contact-match-v124 .contact-form-copy > .description,
body.contact-match-v124 #leadership > .home-section-head > p:not(.eyebrow),
body.contact-match-v124 .contact-hero p:not(.eyebrow){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.55) !important;
}

/* Generic support copy on dark backgrounds */
body.public-sports-v109 .force-white-v127,
body:not(.public-sports-v109) .force-white-v127{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.48) !important;
}

/* Never allow yellow in contact leadership data */
body.contact-match-v124 #leadershipGrid a,
body.contact-match-v124 #leadershipGrid a:hover,
body.contact-match-v124 #leadershipGrid a:visited{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}


/* =========================================================
   v128 — Correct dark-theme contrast
   Remove broad runtime white-text forcing.
   Dark page backgrounds + dark text on all light surfaces.
   ========================================================= */

/* FULL SITE DARK CANVAS */
body,
body.public-sports-v109,
body:not(.public-sports-v109),
body.public-sports-v109 main,
body:not(.public-sports-v109) main{
  background:
    radial-gradient(circle at 14% 0%,rgba(126,34,151,.16),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(185,46,145,.09),transparent 26%),
    linear-gradient(180deg,#09070f 0%,#110a19 46%,#08070c 100%) !important;
}

/* Dark sections stay dark */
body.public-sports-v109 .section,
body:not(.public-sports-v109) .section{
  background:transparent !important;
}

/* TEXT DIRECTLY ON DARK PAGE BACKGROUNDS = WHITE */
body.public-sports-v109 main > .section > .wrap > p,
body.public-sports-v109 main > .section > .wrap > small,
body.public-sports-v109 main > .section > .wrap > .muted,
body.public-sports-v109 main > .section > .wrap > .subtle,
body.public-sports-v109 main > .section > .wrap > .secondary,
body.public-sports-v109 main > .section > .wrap > .description,
body.public-sports-v109 main > .section > .wrap > .subtext,
body.public-sports-v109 main > .section > .wrap > .supporting-text,
body.public-sports-v109 main > .section > .wrap > .help,
body.public-sports-v109 main > .section > .wrap > .summary,
body.public-sports-v109 main > .section > .wrap > .caption,
body.public-sports-v109 main > .section > .wrap > .meta,
body.public-sports-v109 main > .section > .wrap > .intro,
body.public-sports-v109 main > .section > .wrap > .lead,
body:not(.public-sports-v109) main > .section > .wrap > p,
body:not(.public-sports-v109) main > .section > .wrap > small,
body:not(.public-sports-v109) main > .section > .wrap > .muted,
body:not(.public-sports-v109) main > .section > .wrap > .subtle,
body:not(.public-sports-v109) main > .section > .wrap > .secondary,
body:not(.public-sports-v109) main > .section > .wrap > .description,
body:not(.public-sports-v109) main > .section > .wrap > .subtext,
body:not(.public-sports-v109) main > .section > .wrap > .help{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.45) !important;
}

/* DARK PAGE HEADINGS = WHITE */
body.public-sports-v109 main > .section > .wrap > h1,
body.public-sports-v109 main > .section > .wrap > h2,
body.public-sports-v109 main > .section > .wrap > h3,
body.public-sports-v109 main > .section > .wrap > h4,
body:not(.public-sports-v109) main > .section > .wrap > h1,
body:not(.public-sports-v109) main > .section > .wrap > h2,
body:not(.public-sports-v109) main > .section > .wrap > h3,
body:not(.public-sports-v109) main > .section > .wrap > h4{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Accent labels remain yellow */
body.public-sports-v109 .eyebrow,
body.public-sports-v109 .kicker,
body.public-sports-v109 .section-label,
body:not(.public-sports-v109) .eyebrow,
body:not(.public-sports-v109) .kicker,
body:not(.public-sports-v109) .section-label{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* =========================================================
   LIGHT SURFACES: FORCE DARK TEXT
   ========================================================= */

body.public-sports-v109 .card,
body.public-sports-v109 .panel,
body.public-sports-v109 .quick-card,
body.public-sports-v109 .message-board-card,
body.public-sports-v109 .public-selector-card,
body.public-sports-v109 .team-selector-card,
body.public-sports-v109 .coach-selector-card,
body.public-sports-v109 .field-card,
body.public-sports-v109 .location-card,
body.public-sports-v109 .rule,
body.public-sports-v109 .rules-card,
body.public-sports-v109 .rule-card,
body.public-sports-v109 .about-card,
body.public-sports-v109 .purpose-card,
body.public-sports-v109 .community-card,
body.public-sports-v109 .contact-card,
body.public-sports-v109 .leadership-card,
body.public-sports-v109 .website-manager-card,
body.public-sports-v109 .content-card,
body.public-sports-v109 .content-panel,
body.public-sports-v109 .admin-card,
body:not(.public-sports-v109) .card,
body:not(.public-sports-v109) .panel,
body:not(.public-sports-v109) .admin-card,
body:not(.public-sports-v109) .editor-card,
body:not(.public-sports-v109) .tool-card,
body:not(.public-sports-v109) .box,
body:not(.public-sports-v109) .section-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}

/* Every normal text element inside light surfaces is dark */
body.public-sports-v109 .card p,
body.public-sports-v109 .card li,
body.public-sports-v109 .card span,
body.public-sports-v109 .card small,
body.public-sports-v109 .card b,
body.public-sports-v109 .card strong,
body.public-sports-v109 .panel p,
body.public-sports-v109 .panel li,
body.public-sports-v109 .panel span,
body.public-sports-v109 .panel small,
body.public-sports-v109 .quick-card p,
body.public-sports-v109 .quick-card span,
body.public-sports-v109 .quick-card small,
body.public-sports-v109 .message-board-card p,
body.public-sports-v109 .message-board-card span,
body.public-sports-v109 .message-board-card small,
body.public-sports-v109 .public-selector-card p,
body.public-sports-v109 .public-selector-card span,
body.public-sports-v109 .team-selector-card p,
body.public-sports-v109 .team-selector-card span,
body.public-sports-v109 .coach-selector-card p,
body.public-sports-v109 .coach-selector-card span,
body.public-sports-v109 .field-card p,
body.public-sports-v109 .field-card li,
body.public-sports-v109 .field-card span,
body.public-sports-v109 .location-card p,
body.public-sports-v109 .location-card li,
body.public-sports-v109 .location-card span,
body.public-sports-v109 .rule p,
body.public-sports-v109 .rule li,
body.public-sports-v109 .rule span,
body.public-sports-v109 .about-card p,
body.public-sports-v109 .about-card li,
body.public-sports-v109 .about-card span,
body.public-sports-v109 .purpose-card p,
body.public-sports-v109 .purpose-card li,
body.public-sports-v109 .purpose-card span,
body.public-sports-v109 .community-card p,
body.public-sports-v109 .community-card li,
body.public-sports-v109 .community-card span,
body.public-sports-v109 .contact-card p,
body.public-sports-v109 .contact-card span,
body.public-sports-v109 .leadership-card p,
body.public-sports-v109 .leadership-card span,
body.public-sports-v109 .website-manager-card p,
body.public-sports-v109 .website-manager-card span,
body:not(.public-sports-v109) .card p,
body:not(.public-sports-v109) .card li,
body:not(.public-sports-v109) .card span,
body:not(.public-sports-v109) .card small,
body:not(.public-sports-v109) .panel p,
body:not(.public-sports-v109) .panel li,
body:not(.public-sports-v109) .panel span,
body:not(.public-sports-v109) .admin-card p,
body:not(.public-sports-v109) .admin-card li,
body:not(.public-sports-v109) .admin-card span,
body:not(.public-sports-v109) .editor-card p,
body:not(.public-sports-v109) .editor-card li,
body:not(.public-sports-v109) .tool-card p,
body:not(.public-sports-v109) .tool-card li{
  color:#222222 !important;
  -webkit-text-fill-color:#222222 !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Light-card headings use dark purple */
body.public-sports-v109 .card h1,
body.public-sports-v109 .card h2,
body.public-sports-v109 .card h3,
body.public-sports-v109 .panel h1,
body.public-sports-v109 .panel h2,
body.public-sports-v109 .panel h3,
body.public-sports-v109 .quick-card h1,
body.public-sports-v109 .quick-card h2,
body.public-sports-v109 .quick-card h3,
body.public-sports-v109 .message-board-card h1,
body.public-sports-v109 .message-board-card h2,
body.public-sports-v109 .message-board-card h3,
body.public-sports-v109 .rule h1,
body.public-sports-v109 .rule h2,
body.public-sports-v109 .rule h3,
body.public-sports-v109 .about-card h1,
body.public-sports-v109 .about-card h2,
body.public-sports-v109 .about-card h3,
body.public-sports-v109 .contact-card h1,
body.public-sports-v109 .contact-card h2,
body.public-sports-v109 .contact-card h3,
body:not(.public-sports-v109) .card h1,
body:not(.public-sports-v109) .card h2,
body:not(.public-sports-v109) .card h3,
body:not(.public-sports-v109) .panel h1,
body:not(.public-sports-v109) .panel h2,
body:not(.public-sports-v109) .panel h3{
  color:#5b1d6b !important;
  -webkit-text-fill-color:#5b1d6b !important;
  text-shadow:none !important;
}

/* Leadership contact information is BLACK, no yellow */
body.contact-match-v124 #leadershipGrid .card,
body.contact-match-v124 #leadershipGrid .card *{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  text-shadow:none !important;
  opacity:1 !important;
}

body.contact-match-v124 #leadershipGrid .card a,
body.contact-match-v124 #leadershipGrid .card a:hover,
body.contact-match-v124 #leadershipGrid .card a:visited{
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
  text-decoration-color:#111111 !important;
}

/* Forms / inputs stay dark text on white */
body input,
body textarea,
body select{
  background:#ffffff !important;
  color:#111111 !important;
  -webkit-text-fill-color:#111111 !important;
}

/* Tables stay white with dark text */
body table{
  background:#ffffff !important;
}

body tbody td,
body tbody th{
  color:#222222 !important;
  -webkit-text-fill-color:#222222 !important;
}

/* Notes remain readable */
body .note,
body .notice,
body .alert,
body .status{
  color:#3f311d !important;
  -webkit-text-fill-color:#3f311d !important;
}

/* Mobile same logic */
@media(max-width:700px){
  body.public-sports-v109 main,
  body:not(.public-sports-v109) main{
    background:linear-gradient(180deg,#100a18,#09070e) !important;
  }
}


/* =========================================================
   v129 — Smart dark-background contrast
   CSS fallback only; runtime script does the precise correction.
   ========================================================= */

.smart-white-v129{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:0 1px 3px rgba(0,0,0,.45) !important;
}


/* =========================================================
   v130 — Remove light-pink page/section backgrounds site-wide
   Keep true content cards/forms/tables light for readability.
   ========================================================= */

:root{
  --ovgsl-dark-bg-v130:#0b0711;
  --ovgsl-dark-bg2-v130:#110a19;
}

/* Main site canvas and structural wrappers */
html,
body,
main,
.page,
.page-shell,
.page-content,
.content-shell,
.site-main,
main > section,
main .section,
.section-shell,
.section-wrap,
.public-section,
.admin-section{
  background-color:var(--ovgsl-dark-bg-v130) !important;
}

/* Preserve the subtle dark-purple site atmosphere */
body,
body.public-sports-v109,
body:not(.public-sports-v109),
main{
  background:
    radial-gradient(circle at 14% 0%,rgba(126,34,151,.16),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(185,46,145,.09),transparent 26%),
    linear-gradient(180deg,#09070f 0%,#110a19 46%,#08070c 100%) !important;
}

/* Any generic tinted/pink presentation blocks become dark */
main .hero-copy,
main .intro-block,
main .info-section,
main .content-section,
main .public-content,
main .admin-content,
main .page-body,
main .section-body,
main .section-content{
  background-color:transparent !important;
}

/* Explicitly eliminate older pale pink/lavender section fills */
body.public-sports-v109 main > .section:not(:first-child),
body:not(.public-sports-v109) main > .section:not(:first-child),
body.contact-match-v124 main > section:not(:first-child),
body.about-match-v119 main > section:not(:first-child){
  background:transparent !important;
  background-color:transparent !important;
}

/* IMPORTANT:
   Actual cards, forms, selectors and tables remain white/light.
   These are content surfaces, not page backgrounds. */
.card,
.panel,
.quick-card,
.message-board-card,
.public-selector-card,
.team-selector-card,
.coach-selector-card,
.field-card,
.location-card,
.rule,
.rules-card,
.rule-card,
.about-card,
.purpose-card,
.community-card,
.contact-card,
.leadership-card,
.website-manager-card,
.content-card,
.content-panel,
.admin-card,
.editor-card,
.tool-card,
.box,
.section-card,
.contact-form-card,
.contact-help-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  background-color:#ffffff !important;
}

/* Tables and actual input controls stay light/readable */
table,
input,
textarea,
select{
  background-color:#ffffff !important;
}

/* Remove pink/lavender outer containers around otherwise white content */
.card-grid,
.cards-grid,
.grid,
.contact-grid,
.leadership-grid,
.rules-grid,
.fields-grid,
.teams-grid,
.coaches-grid,
.documents-grid,
.admin-grid,
.tool-grid{
  background:transparent !important;
  background-color:transparent !important;
}

/* Mobile uses the same dark canvas */
@media(max-width:700px){
  html,
  body,
  main,
  main > section,
  main .section,
  .page,
  .page-shell,
  .page-content{
    background-color:#0b0711 !important;
  }

  body,
  main{
    background:linear-gradient(180deg,#100a18,#09070e) !important;
  }
}


/* =========================================================
   v131 — Remove ALL pale pink/lavender section backgrounds
   Screenshot-targeted cleanup.
   ========================================================= */

:root{
  --ovgsl-page-dark:#0b0711;
  --ovgsl-page-dark-2:#110a19;
}

/* Force every structural page section to the dark site background */
body main > section,
body main > div.section,
body main .section,
body main .home-section,
body main .public-section,
body main .league-section,
body main .info-section,
body main .links-section,
body main .news-section,
body main .season-section,
body main .contact-section,
body main .rules-section,
body main .documents-section,
body main .score-section,
body main .fields-section,
body main .teams-section,
body main .coaches-section,
body main .standings-section,
body main .tournaments-section,
body main .about-section,
body main .community-section,
body main .content-section,
body main .page-section,
body main .section-shell,
body main .section-wrap,
body main .section-content,
body main .section-body{
  background:#0b0711 !important;
  background-color:#0b0711 !important;
  background-image:none !important;
}

/* Home page structural sections specifically */
body.public-sports-v109 .home-welcome,
body.public-sports-v109 .home-season,
body.public-sports-v109 .home-current-season,
body.public-sports-v109 .home-league-info,
body.public-sports-v109 .home-links,
body.public-sports-v109 .home-message-board-section,
body.public-sports-v109 .home-news,
body.public-sports-v109 .home-updates,
body.public-sports-v109 main > section{
  background:#0b0711 !important;
  background-color:#0b0711 !important;
  background-image:none !important;
}

/* Common wrappers that were carrying the pale pink fill */
body main .wrap,
body main .container,
body main .content-wrap,
body main .content-container,
body main .home-section-inner,
body main .section-inner{
  background-color:transparent !important;
}

/* Preserve the intended dark hero/title gradient where present */
body main > section:first-child,
body .public-finder-hero,
body .teams-finder-hero,
body .coaches-finder-hero,
body .team-detail-hero,
body .contact-hero,
body .about-hero,
body .fields-hero,
body .field-finder-hero,
body .admin-hero,
body .editor-hero{
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.18),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
}

/* Actual cards remain white/light — only the surrounding pink is removed */
body .card,
body .panel,
body .quick-card,
body .message-board-card,
body .public-selector-card,
body .team-selector-card,
body .coach-selector-card,
body .field-card,
body .location-card,
body .rule,
body .rules-card,
body .rule-card,
body .about-card,
body .purpose-card,
body .community-card,
body .contact-card,
body .leadership-card,
body .website-manager-card,
body .content-card,
body .content-panel,
body .admin-card,
body .editor-card,
body .tool-card,
body .box,
body .section-card,
body .contact-form-card,
body .contact-help-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  background-color:#ffffff !important;
}

/* Ensure text above cards on the now-dark sections is readable */
body main > section > .wrap > p,
body main > section > .wrap > small,
body main > section .home-section-head > p:not(.eyebrow),
body main > section .section-head > p:not(.eyebrow){
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* Mobile too */
@media(max-width:700px){
  body main > section,
  body main .section,
  body main .home-section,
  body main .public-section,
  body main .league-section,
  body main .info-section,
  body main .content-section,
  body main .page-section{
    background:#0b0711 !important;
    background-color:#0b0711 !important;
    background-image:none !important;
  }
}


/* =========================================================
   v132 — FINAL structural dark-section override
   Cache-busted on every HTML page.
   ========================================================= */

/* Exact homepage/public section blocks like the screenshot */
body.public-sports-v109 main > section.section,
body.public-sports-v109 main > .section,
body.public-sports-v109 main section.section,
body.tournaments-match-v118 main > section.section,
body.tournaments-match-v118 main > .section,
body.about-match-v119 main > section,
body.fields-match-v119 main > section,
body.contact-match-v124 main > section,
body.admin-match-public-v123 main > section,
body:not(.public-sports-v109) main > section.section,
body:not(.public-sports-v109) main > .section{
  background:#0b0711 !important;
  background-color:#0b0711 !important;
  background-image:none !important;
}

/* The section in the screenshot is a bare <section class="section"> */
body.public-sports-v109 main section.section{
  background:#0b0711 !important;
  background-color:#0b0711 !important;
  background-image:none !important;
}

/* Ensure inner wrappers aren't painting the pink back in */
body.public-sports-v109 main section.section > .home-section-head,
body.public-sports-v109 main section.section > .grid,
body.public-sports-v109 main section.section > .wrap,
body.public-sports-v109 main section.section > .container,
body main > section.section > .wrap,
body main > section.section > .container{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}

/* Keep the homepage hero special */
body.public-sports-v109 main > section.home-hero,
body.public-sports-v109 main > section.clean-home-hero{
  background:
    radial-gradient(circle at 8% 23%,rgba(255,248,200,.95) 0 3px,rgba(255,242,180,.30) 4px 15px,transparent 17px),
    radial-gradient(circle at 92% 23%,rgba(255,248,200,.95) 0 3px,rgba(255,242,180,.30) 4px 15px,transparent 17px),
    linear-gradient(180deg,rgba(18,7,27,.12) 0%,rgba(23,8,32,.20) 28%,rgba(12,8,14,.45) 66%,rgba(4,3,7,.72) 100%),
    linear-gradient(180deg,#241331 0%,#512153 18%,#9a4a60 36%,#5f3b4d 48%,#261728 49%,#0d0a12 100%) !important;
}

/* White cards stay white */
body .card,
body .panel,
body .quick-card,
body .message-board-card,
body .public-selector-card,
body .team-selector-card,
body .coach-selector-card,
body .field-card,
body .location-card,
body .rule,
body .about-card,
body .purpose-card,
body .community-card,
body .contact-card,
body .leadership-card,
body .website-manager-card,
body .content-card,
body .admin-card,
body .editor-card,
body .tool-card{
  background:linear-gradient(180deg,#ffffff 0%,#f8f4fa 100%) !important;
  background-color:#ffffff !important;
}

/* Text directly on dark section backgrounds */
body main > section.section > .home-section-head p,
body main > section.section > .home-section-head h1,
body main > section.section > .home-section-head h2,
body main > section.section > .home-section-head h3{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
}

/* Eyebrow still yellow */
body main > section.section > .home-section-head .eyebrow{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* v133 base fallback */
.section.alt{background:#0b0711 !important;}


/* =========================================================
   v134 — FULL DARK SITE
   No light pink/lavender/white content backgrounds anywhere.
   ========================================================= */

:root{
  --dark-page:#09070f;
  --dark-section:#0b0711;
  --dark-card:#171020;
  --dark-card-2:#21132d;
  --purple-border:#8f2aa7;
  --white:#ffffff;
  --yellow:#ffe83f;
}

/* ENTIRE SITE CANVAS */
html,
body,
main,
.page,
.page-shell,
.page-content,
.site-main,
.content-shell,
.section,
main > section,
main section,
main > div,
main .wrap,
main .container,
main .section-wrap,
main .section-inner,
main .section-content,
main .section-body{
  background-color:var(--dark-section) !important;
  background-image:none !important;
}

/* Body/main retain subtle dark purple atmosphere */
html,
body,
main{
  background:
    radial-gradient(circle at 14% 0%,rgba(126,34,151,.14),transparent 28%),
    radial-gradient(circle at 88% 8%,rgba(185,46,145,.08),transparent 26%),
    linear-gradient(180deg,#09070f 0%,#110a19 46%,#08070c 100%) !important;
}

/* PAGE HERO / TITLE BANDS stay dark-purple */
.home-hero,
.clean-home-hero,
.about-hero,
.fields-hero,
.field-finder-hero,
.contact-hero,
.public-finder-hero,
.teams-finder-hero,
.coaches-finder-hero,
.team-detail-hero,
.admin-hero,
.editor-hero,
main > section:first-child{
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.18),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  color:#fff !important;
}

/* ALL CARDS / PANELS / CONTENT BOXES DARK */
.card,
.panel,
.quick-card,
.message-board-card,
.public-selector-card,
.team-selector-card,
.coach-selector-card,
.field-card,
.location-card,
.rule,
.rules-card,
.rule-card,
.about-card,
.purpose-card,
.community-card,
.contact-card,
.leadership-card,
.website-manager-card,
.content-card,
.content-panel,
.admin-card,
.editor-card,
.tool-card,
.box,
.section-card,
.contact-form-card,
.contact-help-card,
.featured-announcement,
form{
  background:linear-gradient(180deg,var(--dark-card) 0%,#100b18 100%) !important;
  background-color:var(--dark-card) !important;
  border:1px solid var(--purple-border) !important;
  border-top:3px solid #c438bf !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.30) !important;
}

/* ALL NORMAL TEXT ON DARK SURFACES = BRIGHT WHITE */
body main p,
body main li,
body main span,
body main small,
body main div,
body main label,
body main .muted,
body main .subtle,
body main .secondary,
body main .description,
body main .subtext,
body main .supporting-text,
body main .help,
body main .summary,
body main .caption,
body main .meta,
body main .intro,
body main .lead{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* HEADINGS = WHITE */
body main h1,
body main h2,
body main h3,
body main h4,
body main h5,
body main h6,
body main b,
body main strong{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
}

/* Keep yellow accent labels */
body main .eyebrow,
body main .kicker,
body main .section-label{
  color:var(--yellow) !important;
  -webkit-text-fill-color:var(--yellow) !important;
}

/* Links on dark backgrounds */
body main a:not(.btn):not(.division-link-v108){
  color:#ffe96b !important;
  -webkit-text-fill-color:#ffe96b !important;
}
body main a:not(.btn):not(.division-link-v108):hover{
  color:#fff3a3 !important;
  -webkit-text-fill-color:#fff3a3 !important;
}

/* TABLES FULL DARK */
table{
  background:var(--dark-card) !important;
  border:1px solid var(--purple-border) !important;
  color:#fff !important;
}
thead th{
  background:linear-gradient(180deg,#6d2584,#4d195f) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-bottom:3px solid #f1d92d !important;
}
tbody tr,
tbody tr:nth-child(even),
tbody tr:hover{
  background:#151020 !important;
}
tbody tr:nth-child(even){
  background:#100c19 !important;
}
tbody tr:hover{
  background:#21132d !important;
}
tbody td,
tbody th{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:#34223d !important;
}

/* FORMS / INPUTS ALSO DARK */
input,
textarea,
select{
  background:#171020 !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  border:1px solid #8f6a9d !important;
}
input::placeholder,
textarea::placeholder{
  color:#d8cbdc !important;
  opacity:1 !important;
}
option{
  background:#171020 !important;
  color:#fff !important;
}

/* BUTTONS remain yellow/purple */
button,
.btn{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
  border:0 !important;
  border-radius:8px !important;
  font-weight:900 !important;
}
.btn.alt,
button.secondary,
.btn.secondary{
  background:linear-gradient(180deg,#7f2b97,#5b1d70) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* NOTICE / ALERT BLOCKS also dark */
.note,
.notice,
.alert,
.status{
  background:#21132d !important;
  border:1px solid #8f2aa7 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Contact leadership: dark cards, white info */
#leadershipGrid .card,
#leadershipGrid .card *{
  background-color:transparent !important;
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  text-shadow:none !important;
}
#leadershipGrid .card{
  background:linear-gradient(180deg,#171020,#100b18) !important;
}

/* Keep nav/header unchanged except readable */
.site-header-v89{
  background:linear-gradient(180deg,#08070d,#0b0811) !important;
}

/* Mobile same dark system */
@media(max-width:700px){
  html,
  body,
  main,
  main > section,
  main .section,
  main .wrap,
  main .container{
    background-color:#0b0711 !important;
    background-image:none !important;
  }

  .card,
  .panel,
  .quick-card,
  .message-board-card,
  .public-selector-card,
  .team-selector-card,
  .coach-selector-card,
  .field-card,
  .location-card,
  .rule,
  .about-card,
  .contact-card,
  .admin-card{
    background:#171020 !important;
  }
}


/* =========================================================
   v137 — Fields + Rules match the rest of the public tabs
   ========================================================= */

/* ---------- Shared page shell ---------- */
body.fields-unified-v137 main,
body.rules-unified-v137 main{
  background:#0b0711 !important;
  background-color:#0b0711 !important;
  background-image:none !important;
}

/* ---------- Shared dark-purple page hero ---------- */
body.fields-unified-v137 main > section:first-child,
body.fields-unified-v137 .public-finder-hero,
body.fields-unified-v137 .fields-hero,
body.fields-unified-v137 .field-finder-hero,
body.rules-unified-v137 main > section:first-child,
body.rules-unified-v137 .rules-hero{
  margin:0 !important;
  padding:42px 0 34px !important;
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.18),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  box-shadow:0 10px 28px rgba(0,0,0,.30) !important;
  color:#fff !important;
}

/* same content width as other tabs */
body.fields-unified-v137 main > section > .wrap,
body.rules-unified-v137 main > section > .wrap{
  max-width:1380px !important;
  margin:0 auto !important;
  padding-left:24px !important;
  padding-right:24px !important;
}

/* ---------- Title typography ---------- */
body.fields-unified-v137 main > section:first-child h1,
body.fields-unified-v137 main > section:first-child h2,
body.rules-unified-v137 main > section:first-child h1,
body.rules-unified-v137 main > section:first-child h2{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  font-family:Impact,"Arial Black",sans-serif !important;
  font-style:italic !important;
  font-weight:900 !important;
  text-shadow:2px 2px 0 #84298f,4px 4px 0 rgba(0,0,0,.28) !important;
}

body.fields-unified-v137 .eyebrow,
body.rules-unified-v137 .eyebrow{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* ---------- Normal sections ---------- */
body.fields-unified-v137 main > section:not(:first-child),
body.rules-unified-v137 main > section:not(:first-child){
  background:#0b0711 !important;
  background-color:#0b0711 !important;
  background-image:none !important;
  padding-top:30px !important;
  padding-bottom:36px !important;
}

/* ---------- Fields: selector + detail cards ---------- */
body.fields-unified-v137 .public-selector-card,
body.fields-unified-v137 .field-selector-card,
body.fields-unified-v137 .location-selector-card,
body.fields-unified-v137 .field-detail,
body.fields-unified-v137 .field-card,
body.fields-unified-v137 .location-card,
body.fields-unified-v137 .field-info,
body.fields-unified-v137 .card,
body.fields-unified-v137 .panel{
  background:#171020 !important;
  background-color:#171020 !important;
  background-image:none !important;
  border:1px solid #8f2aa7 !important;
  border-top:3px solid #c438bf !important;
  border-radius:14px !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.26) !important;
}

/* Field card text */
body.fields-unified-v137 .field-detail h1,
body.fields-unified-v137 .field-detail h2,
body.fields-unified-v137 .field-detail h3,
body.fields-unified-v137 .field-card h1,
body.fields-unified-v137 .field-card h2,
body.fields-unified-v137 .field-card h3,
body.fields-unified-v137 .location-card h1,
body.fields-unified-v137 .location-card h2,
body.fields-unified-v137 .location-card h3,
body.fields-unified-v137 .field-info h1,
body.fields-unified-v137 .field-info h2,
body.fields-unified-v137 .field-info h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
}

body.fields-unified-v137 .field-detail p,
body.fields-unified-v137 .field-detail span,
body.fields-unified-v137 .field-card p,
body.fields-unified-v137 .field-card span,
body.fields-unified-v137 .location-card p,
body.fields-unified-v137 .location-card span,
body.fields-unified-v137 .field-info p,
body.fields-unified-v137 .field-info span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

/* Field form controls */
body.fields-unified-v137 select,
body.fields-unified-v137 input{
  background:#21162b !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:1px solid #765087 !important;
  border-radius:9px !important;
}

/* map shell */
body.fields-unified-v137 iframe,
body.fields-unified-v137 .map,
body.fields-unified-v137 .map-wrap,
body.fields-unified-v137 .google-map{
  border:1px solid #8f2aa7 !important;
  border-radius:14px !important;
  overflow:hidden !important;
  box-shadow:0 12px 28px rgba(0,0,0,.24) !important;
}

/* ---------- Rules: cards match other dark content cards ---------- */
body.rules-unified-v137 .rule,
body.rules-unified-v137 .rules-card,
body.rules-unified-v137 .rule-card,
body.rules-unified-v137 .card,
body.rules-unified-v137 .panel{
  background:#171020 !important;
  background-color:#171020 !important;
  background-image:none !important;
  border:1px solid #8f2aa7 !important;
  border-top:3px solid #c438bf !important;
  border-radius:14px !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(0,0,0,.26) !important;
}

/* Rule headings + text */
body.rules-unified-v137 .rule h1,
body.rules-unified-v137 .rule h2,
body.rules-unified-v137 .rule h3,
body.rules-unified-v137 .rules-card h1,
body.rules-unified-v137 .rules-card h2,
body.rules-unified-v137 .rules-card h3,
body.rules-unified-v137 .rule-card h1,
body.rules-unified-v137 .rule-card h2,
body.rules-unified-v137 .rule-card h3{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  text-shadow:none !important;
}

body.rules-unified-v137 .rule p,
body.rules-unified-v137 .rule li,
body.rules-unified-v137 .rule span,
body.rules-unified-v137 .rule div,
body.rules-unified-v137 .rules-card p,
body.rules-unified-v137 .rules-card li,
body.rules-unified-v137 .rules-card span,
body.rules-unified-v137 .rule-card p,
body.rules-unified-v137 .rule-card li,
body.rules-unified-v137 .rule-card span{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Rule numbering / accents */
body.rules-unified-v137 .rule strong,
body.rules-unified-v137 .rule b{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* shared button treatment */
body.fields-unified-v137 .btn,
body.fields-unified-v137 button,
body.rules-unified-v137 .btn,
body.rules-unified-v137 button{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
  border:0 !important;
  border-radius:8px !important;
  font-family:"Arial Black",Arial,sans-serif !important;
  font-style:normal !important;
  font-weight:900 !important;
}

/* ---------- Mobile ---------- */
@media(max-width:700px){
  body.fields-unified-v137 main > section > .wrap,
  body.rules-unified-v137 main > section > .wrap{
    padding-left:14px !important;
    padding-right:14px !important;
  }

  body.fields-unified-v137 main > section:first-child,
  body.rules-unified-v137 main > section:first-child{
    padding:30px 0 24px !important;
  }

  body.fields-unified-v137 .field-detail,
  body.fields-unified-v137 .field-card,
  body.fields-unified-v137 .location-card,
  body.rules-unified-v137 .rule,
  body.rules-unified-v137 .rules-card,
  body.rules-unified-v137 .rule-card{
    padding:16px !important;
  }
}


/* =========================================================
   v138 — Homepage softball field background
   ========================================================= */

body.home-field-bg-v138 .home-hero,
body.home-field-bg-v138 .clean-home-hero{
  position:relative !important;
  background:
    linear-gradient(180deg,
      rgba(17,7,24,.26) 0%,
      rgba(18,7,25,.40) 42%,
      rgba(10,5,15,.70) 78%,
      rgba(8,5,12,.92) 100%
    ),
    url("assets/ovgsl-home-softball-field-v138.jpg") center 46% / cover no-repeat !important;
  min-height:700px !important;
  overflow:hidden !important;
}

/* Soft purple vignette to blend the field into the dark site below */
body.home-field-bg-v138 .home-hero::after,
body.home-field-bg-v138 .clean-home-hero::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  pointer-events:none !important;
  background:
    radial-gradient(circle at 50% 35%,transparent 0 38%,rgba(20,7,28,.24) 72%,rgba(8,5,12,.58) 100%),
    linear-gradient(180deg,transparent 0 70%,#0b0711 100%) !important;
  z-index:1 !important;
}

/* Keep homepage content above the field overlay */
body.home-field-bg-v138 .home-hero-inner{
  position:relative !important;
  z-index:3 !important;
}

/* Improve legibility over the photo */
body.home-field-bg-v138 .home-title-v103 .home-title-top-v103,
body.home-field-bg-v138 .home-title-v103 .home-title-bottom-v103,
body.home-field-bg-v138 .home-lead,
body.home-field-bg-v138 .mockup-tagline-v110{
  filter:drop-shadow(0 3px 7px rgba(0,0,0,.55)) !important;
}

/* Keep division softballs prominent */
body.home-field-bg-v138 .home-divisions-v108{
  position:relative !important;
  z-index:4 !important;
}

/* Mobile: shift crop slightly so home plate/field remains visible */
@media(max-width:700px){
  body.home-field-bg-v138 .home-hero,
  body.home-field-bg-v138 .clean-home-hero{
    min-height:auto !important;
    background-position:center 50% !important;
  }
}


/* =========================================================
   v139 — Team/Field detail text white + Coaches info white
   ========================================================= */

/* TEAM DETAIL PAGES: everything informational on dark surfaces is white */
body.team-detail-white-v139 main,
body.team-detail-white-v139 main section,
body.team-detail-white-v139 main .section,
body.team-detail-white-v139 main .wrap,
body.team-detail-white-v139 main .container{
  background-color:#0b0711 !important;
  background-image:none !important;
}

body.team-detail-white-v139 main p,
body.team-detail-white-v139 main li,
body.team-detail-white-v139 main span,
body.team-detail-white-v139 main small,
body.team-detail-white-v139 main label,
body.team-detail-white-v139 main h1,
body.team-detail-white-v139 main h2,
body.team-detail-white-v139 main h3,
body.team-detail-white-v139 main h4,
body.team-detail-white-v139 main b,
body.team-detail-white-v139 main strong,
body.team-detail-white-v139 main .muted,
body.team-detail-white-v139 main .subtle,
body.team-detail-white-v139 main .secondary,
body.team-detail-white-v139 main .description,
body.team-detail-white-v139 main .subtext,
body.team-detail-white-v139 main .meta{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Team detail content boxes stay dark */
body.team-detail-white-v139 main .card,
body.team-detail-white-v139 main .panel,
body.team-detail-white-v139 main .team-card,
body.team-detail-white-v139 main .roster-card,
body.team-detail-white-v139 main .schedule-card{
  background:#171020 !important;
  background-color:#171020 !important;
  background-image:none !important;
  color:#fff !important;
  border-color:#8f2aa7 !important;
}

/* FIELD PAGE + FIELD DETAIL CONTENT: all dark-background text white */
body.field-text-white-v139 main,
body.field-text-white-v139 main section,
body.field-text-white-v139 main .section{
  background-color:#0b0711 !important;
  background-image:none !important;
}

body.field-text-white-v139 main p,
body.field-text-white-v139 main li,
body.field-text-white-v139 main span,
body.field-text-white-v139 main small,
body.field-text-white-v139 main label,
body.field-text-white-v139 main h1,
body.field-text-white-v139 main h2,
body.field-text-white-v139 main h3,
body.field-text-white-v139 main h4,
body.field-text-white-v139 main b,
body.field-text-white-v139 main strong,
body.field-text-white-v139 main .muted,
body.field-text-white-v139 main .subtle,
body.field-text-white-v139 main .secondary,
body.field-text-white-v139 main .description,
body.field-text-white-v139 main .subtext,
body.field-text-white-v139 main .meta{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Dark field cards */
body.field-text-white-v139 main .field-card,
body.field-text-white-v139 main .location-card,
body.field-text-white-v139 main .field-detail,
body.field-text-white-v139 main .field-info,
body.field-text-white-v139 main .card,
body.field-text-white-v139 main .panel{
  background:#171020 !important;
  background-color:#171020 !important;
  background-image:none !important;
  color:#fff !important;
}

/* COACHES PAGE: informational yellow text becomes white */
body.coaches-white-info-v139 main p,
body.coaches-white-info-v139 main li,
body.coaches-white-info-v139 main span,
body.coaches-white-info-v139 main small,
body.coaches-white-info-v139 main label,
body.coaches-white-info-v139 main h1,
body.coaches-white-info-v139 main h2,
body.coaches-white-info-v139 main h3,
body.coaches-white-info-v139 main h4,
body.coaches-white-info-v139 main b,
body.coaches-white-info-v139 main strong,
body.coaches-white-info-v139 main a:not(.btn),
body.coaches-white-info-v139 main .muted,
body.coaches-white-info-v139 main .subtle,
body.coaches-white-info-v139 main .secondary,
body.coaches-white-info-v139 main .description,
body.coaches-white-info-v139 main .subtext,
body.coaches-white-info-v139 main .meta{
  color:#ffffff !important;
  -webkit-text-fill-color:#ffffff !important;
  opacity:1 !important;
  text-shadow:none !important;
}

/* Keep only intentional page accent labels yellow */
body.coaches-white-info-v139 main .eyebrow,
body.coaches-white-info-v139 main .kicker,
body.coaches-white-info-v139 main .section-label{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* Buttons stay yellow/black */
body.coaches-white-info-v139 main button,
body.coaches-white-info-v139 main .btn,
body.team-detail-white-v139 main button,
body.team-detail-white-v139 main .btn,
body.field-text-white-v139 main button,
body.field-text-white-v139 main .btn{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
}

/* Tables on team/field pages stay dark + white */
body.team-detail-white-v139 main table,
body.field-text-white-v139 main table{
  background:#171020 !important;
  color:#fff !important;
}

body.team-detail-white-v139 main tbody td,
body.team-detail-white-v139 main tbody th,
body.field-text-white-v139 main tbody td,
body.field-text-white-v139 main tbody th{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  background:#171020 !important;
}


/* =========================================================
   v145 — Page title readability + no homepage hero circles
   ========================================================= */

.home-hero::before,
.home-hero::after,
.clean-home-hero::before,
.clean-home-hero::after{
  content:none !important;
  display:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

.public-finder-hero h1,
.teams-finder-hero h1,
.coaches-finder-hero h1,
.team-detail-hero h1,
.about-hero h1,
.fields-hero h1,
.field-finder-hero h1,
.contact-hero h1,
.rules-hero h1,
.admin-hero h1,
.editor-hero h1{
  letter-spacing:.035em !important;
  word-spacing:.08em !important;
  line-height:1.08 !important;
  -webkit-text-stroke:1px rgba(45,9,55,.95) !important;
  text-shadow:
    2px 2px 0 #5f176f,
    -1px -1px 0 rgba(40,7,48,.9),
    1px -1px 0 rgba(40,7,48,.9),
    -1px 1px 0 rgba(40,7,48,.9),
    0 4px 8px rgba(0,0,0,.50) !important;
}

@media(max-width:700px){
  .public-finder-hero h1,
  .teams-finder-hero h1,
  .coaches-finder-hero h1,
  .team-detail-hero h1,
  .about-hero h1,
  .fields-hero h1,
  .field-finder-hero h1,
  .contact-hero h1,
  .rules-hero h1,
  .admin-hero h1,
  .editor-hero h1{
    letter-spacing:.025em !important;
    word-spacing:.05em !important;
    -webkit-text-stroke:.7px rgba(45,9,55,.95) !important;
  }
}


/* =========================================================
   v146 — ALL SITE HEADING READABILITY
   Keeps the OVGSL italic display font, but makes smaller
   section/card headings easier to read everywhere.
   ========================================================= */

/* Section headings, card headings, panel headings, table-area headings */
main h2,
main h3,
main h4,
.card h2,
.card h3,
.card h4,
.panel h2,
.panel h3,
.panel h4,
.section h2,
.section h3,
.section h4,
.team-card h2,
.team-card h3,
.field-card h2,
.field-card h3,
.coach-card h2,
.coach-card h3,
.schedule-card h2,
.schedule-card h3,
.admin-card h2,
.admin-card h3,
.info-card h2,
.info-card h3,
.content-card h2,
.content-card h3,
.tablewrap h2,
.tablewrap h3 {
  letter-spacing: .045em !important;
  word-spacing: .09em !important;
  line-height: 1.18 !important;
  -webkit-text-stroke: .55px rgba(45,9,55,.95) !important;
  text-shadow:
    1px 1px 0 #5f176f,
    -1px -1px 0 rgba(35,5,43,.95),
    1px -1px 0 rgba(35,5,43,.95),
    -1px 1px 0 rgba(35,5,43,.95),
    0 3px 6px rgba(0,0,0,.55) !important;
}

/* White headings on dark site panels */
main h2,
main h3,
main h4,
.card h2,
.card h3,
.panel h2,
.panel h3,
.section h2,
.section h3 {
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  opacity: 1 !important;
}

/* Give short side-by-side headings such as Field Information / Map
   a little extra breathing room without changing the layout. */
.field-detail-grid h2,
.field-detail-grid h3,
.team-detail-grid h2,
.team-detail-grid h3,
.detail-grid h2,
.detail-grid h3,
.grid h2,
.grid h3 {
  letter-spacing: .055em !important;
  word-spacing: .11em !important;
}

/* Keep headings readable on lighter form/table cards too. */
.card[style*="background:#fff"] h2,
.card[style*="background: #fff"] h2,
.card[style*="background:#fff"] h3,
.card[style*="background: #fff"] h3,
.light-card h2,
.light-card h3 {
  color: #3d0b49 !important;
  -webkit-text-fill-color: #3d0b49 !important;
  -webkit-text-stroke: .35px rgba(255,255,255,.75) !important;
  text-shadow: 0 2px 4px rgba(0,0,0,.18) !important;
}

@media (max-width:700px) {
  main h2,
  main h3,
  main h4,
  .card h2,
  .card h3,
  .panel h2,
  .panel h3,
  .section h2,
  .section h3 {
    letter-spacing: .035em !important;
    word-spacing: .065em !important;
    line-height: 1.2 !important;
    -webkit-text-stroke: .4px rgba(45,9,55,.95) !important;
  }
}

/* ================= END v146 ================= */

/* v147 dedicated schedule editor */
.schedule-editor-v147,.schedule-editor-shell-v147{background:#0b0711!important;color:#fff!important;min-height:70vh}
.schedule-editor-controls-v147,.game-edit-grid-v147{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin:18px 0}
.schedule-editor-v147 label{display:flex;flex-direction:column;gap:6px;color:#fff!important;font-weight:800}
.schedule-editor-v147 input,.schedule-editor-v147 select{width:100%;box-sizing:border-box;background:#fff!important;color:#111!important;border:2px solid #8f2aa7;border-radius:8px;padding:11px;font:inherit}
.game-edit-card-v147{background:#171020!important;border:1px solid #8f2aa7;border-radius:14px;padding:16px;margin:14px 0;color:#fff!important}
.game-edit-top-v147{display:flex;justify-content:space-between;align-items:center;gap:12px}.game-edit-top-v147 h3{margin:0!important;color:#fff!important}
.schedule-editor-actions-v147{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.schedule-editor-v147 button,.schedule-editor-v147 .btn{cursor:pointer}
@media(max-width:700px){.schedule-editor-controls-v147,.game-edit-grid-v147{grid-template-columns:1fr}.schedule-editor-actions-v147>*{width:100%;text-align:center;box-sizing:border-box}}


/* =========================================================
   v152 — ADMIN AREA UNIFIED WITH CURRENT SITE THEME
   + Message Board readability fix
   ========================================================= */

/* Admin/editor pages use the same dark canvas as public pages */
body.admin-page-v152,
body.admin-page-v152 main,
body.admin-page-v152 main > section,
body.admin-page-v152 .section,
body.admin-page-v152 .wrap,
body.admin-page-v152 .container{
  background:#0b0711 !important;
  background-color:#0b0711 !important;
  background-image:none !important;
  color:#fff !important;
}

/* Admin page title / hero area */
body.admin-page-v152 main > section:first-child,
body.admin-page-v152 .admin-hero,
body.admin-page-v152 .editor-hero{
  background:
    radial-gradient(circle at 84% 0%,rgba(195,47,174,.18),transparent 28%),
    linear-gradient(135deg,#1b0d25 0%,#351044 54%,#59184f 100%) !important;
  border-bottom:3px solid #c92bc1 !important;
  color:#fff !important;
}

/* Main admin cards/forms/panels */
body.admin-page-v152 .card,
body.admin-page-v152 .panel,
body.admin-page-v152 .admin-card,
body.admin-page-v152 .editor-card,
body.admin-page-v152 .tool-card,
body.admin-page-v152 form,
body.admin-page-v152 .box,
body.admin-page-v152 .section-card{
  background:linear-gradient(180deg,#171020 0%,#100b18 100%) !important;
  background-color:#171020 !important;
  background-image:none !important;
  border:1px solid #8f2aa7 !important;
  border-top:3px solid #c438bf !important;
  border-radius:14px !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(0,0,0,.28) !important;
}

/* All admin text on dark surfaces */
body.admin-page-v152 main h1,
body.admin-page-v152 main h2,
body.admin-page-v152 main h3,
body.admin-page-v152 main h4,
body.admin-page-v152 main p,
body.admin-page-v152 main li,
body.admin-page-v152 main span,
body.admin-page-v152 main small,
body.admin-page-v152 main label,
body.admin-page-v152 main b,
body.admin-page-v152 main strong{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

/* Keep yellow eyebrow/accent labels */
body.admin-page-v152 main .eyebrow,
body.admin-page-v152 main .kicker,
body.admin-page-v152 main .section-label{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* Admin form controls */
body.admin-page-v152 input,
body.admin-page-v152 textarea,
body.admin-page-v152 select{
  background:#21162b !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border:1px solid #765087 !important;
  border-radius:9px !important;
}
body.admin-page-v152 input::placeholder,
body.admin-page-v152 textarea::placeholder{
  color:#d9c9df !important;
  opacity:1 !important;
}

/* Buttons */
body.admin-page-v152 button,
body.admin-page-v152 .btn{
  background:linear-gradient(180deg,#ffe738,#efd320) !important;
  color:#28122e !important;
  -webkit-text-fill-color:#28122e !important;
  border:0 !important;
  border-radius:8px !important;
  font-weight:900 !important;
}
body.admin-page-v152 .btn.alt,
body.admin-page-v152 button.secondary,
body.admin-page-v152 .btn.secondary{
  background:linear-gradient(180deg,#7f2b97,#5b1d70) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Notes/help boxes on admin pages also dark instead of cream/yellow */
body.admin-page-v152 .note,
body.admin-page-v152 .notice,
body.admin-page-v152 .alert,
body.admin-page-v152 .status{
  background:#21132d !important;
  border:1px solid #8f2aa7 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
}

/* Tables */
body.admin-page-v152 table{
  background:#171020 !important;
  color:#fff !important;
  border-color:#8f2aa7 !important;
}
body.admin-page-v152 thead th{
  background:linear-gradient(180deg,#6d2584,#4d195f) !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-bottom:3px solid #f1d92d !important;
}
body.admin-page-v152 tbody tr,
body.admin-page-v152 tbody tr:nth-child(even),
body.admin-page-v152 tbody tr:hover{
  background:#171020 !important;
}
body.admin-page-v152 tbody td,
body.admin-page-v152 tbody th{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-color:#34223d !important;
}

/* =========================================================
   MESSAGE BOARD MANAGER
   ========================================================= */

/* Saved posts area */
body.message-board-admin-v152 #messageBoardList,
body.message-board-admin-v152 #savedPosts,
body.message-board-admin-v152 .saved-posts,
body.message-board-admin-v152 .message-board-list{
  background:transparent !important;
  color:#fff !important;
}

/* Individual announcement cards */
body.message-board-admin-v152 .announcement-card,
body.message-board-admin-v152 .message-card,
body.message-board-admin-v152 .post-card,
body.message-board-admin-v152 [data-announcement-id],
body.message-board-admin-v152 #messageBoardList > div,
body.message-board-admin-v152 #savedPosts > div{
  background:linear-gradient(180deg,#171020,#100b18) !important;
  border:1px solid #8f2aa7 !important;
  border-left:4px solid #ffe83f !important;
  border-radius:12px !important;
  padding:16px !important;
  margin-bottom:12px !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(0,0,0,.25) !important;
}

/* Announcement text must be readable */
body.message-board-admin-v152 .announcement-card *,
body.message-board-admin-v152 .message-card *,
body.message-board-admin-v152 .post-card *,
body.message-board-admin-v152 [data-announcement-id] *,
body.message-board-admin-v152 #messageBoardList > div *,
body.message-board-admin-v152 #savedPosts > div *{
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
}

/* Titles on saved announcements */
body.message-board-admin-v152 .announcement-card h3,
body.message-board-admin-v152 .message-card h3,
body.message-board-admin-v152 .post-card h3,
body.message-board-admin-v152 #messageBoardList h3,
body.message-board-admin-v152 #savedPosts h3{
  color:#ffe83f !important;
  -webkit-text-fill-color:#ffe83f !important;
}

/* Empty-state box dark too */
body.message-board-admin-v152 #messageBoardList .empty,
body.message-board-admin-v152 #savedPosts .empty,
body.message-board-admin-v152 .empty-state,
body.message-board-admin-v152 .no-posts{
  background:#171020 !important;
  border:1px solid #8f2aa7 !important;
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  border-radius:12px !important;
  padding:16px !important;
}

/* Mobile admin pages */
@media(max-width:700px){
  body.admin-page-v152 .card,
  body.admin-page-v152 .panel,
  body.admin-page-v152 .admin-card,
  body.admin-page-v152 .editor-card,
  body.admin-page-v152 form{
    padding:16px !important;
  }
}

/* v206 - roster jersey number readability */
.roster-number,
body .roster-number,
body.team-detail-v140 .roster-number {
  color:#fff !important;
  -webkit-text-fill-color:#fff !important;
  opacity:1 !important;
  text-shadow:none !important;
}
