/* ===================================================================
   Lacrosse theme: "Goal Mesh". Loaded after main.css on lacrosse.thegearsports.com only.
   Night-game indigo and cool white, a hero of diamond goal netting with the white
   goal-crease arc along its base, and jersey-number cards.
   Ball orange is a fill and small-mark colour only; text uses the indigo.
   =================================================================== */
html:root {
  --paper:       #f7f8fc;
  --paper-2:     #eceff8;
  --ink:         #141733;
  --ink-soft:    #3f4466;
  --ink-faint:   #636886;
  --line:        #dde1ef;
  --accent:      #2f3c9e;   /* indigo: links and eyebrows on paper */
  --accent-deep: #222c7a;
  --accent-soft: #e6e9f8;
  --white:       #ffffff;
  --night:       #151936;
  --ball:        #f26b1d;   /* fills and small marks only */
  --display: 'Saira Condensed', 'Arial Narrow', sans-serif;
  --body:    'Red Hat Text', system-ui, sans-serif;
  --mono:    'Red Hat Mono', ui-monospace, monospace;
  --radius:  8px;
}
html:root[data-theme="dark"] {
  --paper:       #10122a;
  --paper-2:     #171a36;
  --ink:         #eef0fb;
  --ink-soft:    #c9cde6;
  --ink-faint:   #9ca2c4;
  --line:        #2a2f55;
  --accent:      #a3adff;
  --accent-deep: #c2c8ff;
  --accent-soft: #1f2347;
  --white:       #171a36;
}

body { font-size: 1.04rem; }
body::before { display: none; }
h1, h2, h3 { font-family: var(--display); font-weight: 800; letter-spacing: .005em; }
h1 { line-height: 1; text-transform: uppercase; }
h2 { font-size: clamp(1.7rem, 3vw, 2.35rem); text-transform: uppercase; }
h3 { font-size: 1.3rem; }
a { color: var(--accent); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--accent-deep); }
.eyebrow { color: var(--accent); font-family: var(--mono); font-weight: 600; letter-spacing: .12em; }

/* Nav: night-game indigo with an orange ball line */
.nav { background: var(--night); border-bottom: 3px solid var(--ball); backdrop-filter: none; }
html[data-theme="dark"] .nav { background: #0d1029; }
.brand { color: #f7f8fc; white-space: nowrap; }
.brand .rev { color: #ffb37f; }
.brand__mark { background: var(--ball); color: var(--night); }
.brand__sub { color: #c3c7e2; }
.nav__links a { color: #f7f8fc; font-weight: 600; font-size: .94rem; }
.nav__links a:hover, .nav__links a[aria-current="page"] { color: #ffb37f; }
.nav__cta { background: #f7f8fc; color: var(--night) !important; }
.nav__cta:hover { background: var(--ball); color: var(--night) !important; }
.nav__toggle span { background: #f7f8fc; }
.nav .iconbtn { background: transparent; border-color: #343a6b; color: #f7f8fc; }
.nav .iconbtn:hover { color: #ffb37f; border-color: #ffb37f; }
@media (max-width: 1120px) {
  .nav__links { background: var(--night); border-bottom-color: #343a6b; }
  .nav__links a { border-bottom-color: #262b55; }
}

/* Hero: diamond goal netting, with the white goal-crease arc along the base */
.hero {
  background-color: #e4e8f6; color: var(--ink);
  background-image:
    repeating-linear-gradient(45deg, rgba(47,60,158,.10) 0 1.5px, transparent 1.5px 26px),
    repeating-linear-gradient(-45deg, rgba(47,60,158,.10) 0 1.5px, transparent 1.5px 26px),
    linear-gradient(180deg, #eef1fa 0%, #dde2f3 100%);
  padding-bottom: calc(clamp(2.5rem,6vw,4rem) + 46px);
}
html[data-theme="dark"] .hero { background-color: #151936; color: #eef0fb;
  background-image:
    repeating-linear-gradient(45deg, rgba(163,173,255,.07) 0 1.5px, transparent 1.5px 26px),
    repeating-linear-gradient(-45deg, rgba(163,173,255,.07) 0 1.5px, transparent 1.5px 26px),
    linear-gradient(180deg, #1a1e40 0%, #12152f 100%); }
.hero::after {
  content: ""; position: absolute; left: 50%; bottom: 0; top: auto; right: auto;
  width: min(560px, 86vw); height: 46px; aspect-ratio: auto; transform: translateX(-50%); opacity: 1; filter: none;
  border: 4px solid rgba(47,60,158,.42); border-bottom: 0; border-radius: 50% 50% 0 0 / 100% 100% 0 0; background: none;
}
html[data-theme="dark"] .hero::after { border-color: #c9cde6; }
.hero h1 { color: var(--night); }
html[data-theme="dark"] .hero h1 { color: #f7f8fc; }
.hero h1 .spin { color: #c0480a; }   /* the ball orange, darkened to pass 3:1 as large text on the light hero */
html[data-theme="dark"] .hero h1 .spin { color: #ff9a5c; }
.hero h1 .hero__brand { color: var(--accent); font-family: var(--mono); font-weight: 600; font-size: .2em; letter-spacing: .24em; text-transform: uppercase; }
html[data-theme="dark"] .hero h1 .hero__brand { color: var(--accent); }
.hero .lede { color: var(--ink-soft); }
.hero .btn--solid { background: var(--night); border-color: var(--night); color: #f7f8fc; }
.hero .btn--solid:hover { background: var(--accent); border-color: var(--accent); }
.hero .btn--ghost { border-color: var(--night); color: var(--night); }
html[data-theme="dark"] .hero .btn--solid { background: #f7f8fc; border-color: #f7f8fc; color: var(--night); }
html[data-theme="dark"] .hero .btn--ghost { border-color: #eef0fb; color: #eef0fb; }

.btn { font-weight: 700; }

/* Cards: jersey numbers */
.card::before { display: none; }
.card:hover { border-color: var(--accent); }
a.card > .card__num { display: block; font-family: var(--display); font-weight: 800; font-size: 2.6rem; line-height: .9;
  color: var(--white); -webkit-text-stroke: 2px var(--accent); letter-spacing: .02em; }
html[data-theme="dark"] a.card > .card__num { color: transparent; -webkit-text-stroke: 2px var(--accent); }
.card__tag { color: var(--accent); font-weight: 700; }

/* Section headings: an orange ball dot */
.shead { border-bottom: 2px solid var(--line); }
.shead h2::before { content: ""; display: inline-block; width: .42em; height: .42em; margin-right: .38em; border-radius: 50%; background: var(--ball); vertical-align: .14em; }

/* Callouts: the Get coaching box must be seen */
.callout { background: var(--accent-soft); border: 0; border-left: 4px solid var(--ball); }

/* Tables: night headers with an orange line */
.facts thead th { background: var(--night); color: #f7f8fc; border-bottom: 3px solid var(--ball); letter-spacing: .03em; }
html[data-theme="dark"] .facts thead th { background: #1f2347; }
.facts tbody tr:nth-child(even) td { background: #f9fafd; }
html[data-theme="dark"] .facts tbody tr:nth-child(even) td { background: #13162f; }

/* Gear box */
.gearline { background: var(--white); border: 2px solid var(--accent); border-bottom: 6px solid var(--ball); }
html[data-theme="dark"] .gearline { border-color: #343a6b; border-bottom-color: var(--ball); }
.gearline__t { color: var(--night); }
html[data-theme="dark"] .gearline__t { color: #eef0fb; }
.gearline a.btn { background: var(--accent); border-color: var(--accent); color: #fff; }
html[data-theme="dark"] .gearline a.btn { color: var(--night); }

.footer { background: var(--night); border-top: 3px solid var(--ball); }
.footer, .footer a, .footer__bottom a { color: #e3e6f5; }
.footer__brand .rev { color: #ffb37f; }
.footer h4 { color: #ffb37f; }

.pick__cta .btn--solid { background: var(--accent); border-color: var(--accent); color: #fff; }
.pick__cta .btn--solid:hover { background: var(--night); border-color: var(--night); }
html[data-theme="dark"] .pick__cta .btn--solid { color: var(--night); }
