/* Shared styles for the Elite Baseball team pages (9U, 10U). */
:root {
  --gold: #ae9866;
  --ink: #1b2a37;
  --black: #000;
  --white: #fff;
  --line: #1b2a37;
  --stripe: #f4f4f4;
  --max: 1120px;
}
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: var(--white);
  color: var(--ink);
  font: 400 1rem/1.65 Poppins, system-ui, sans-serif;
}
img { max-width: 100%; display: block; }
a { color: inherit; }
h1, h2, h3 {
  font-family: "Martel Sans", system-ui, sans-serif;
  font-weight: 400;
  text-transform: uppercase;
  line-height: 1.15;
  margin: 0 0 .6em;
}
h1 { font-size: clamp(2rem, 4.5vw, 2.6rem); }
h2 { font-size: clamp(1.7rem, 3.8vw, 2.4rem); }
h3 { font-size: 1.1rem; color: var(--gold); }
p { margin: 0 0 1em; }
.gold { color: var(--gold); }
.wrap { max-width: var(--max); margin: 0 auto; padding: 0 16px; }
@media (min-width: 720px) { .wrap { padding: 0 64px; } }
section { padding: 72px 0; }
.dark { background: var(--black); color: var(--white); }

.btn {
  display: inline-block;
  background: var(--black);
  color: var(--white);
  font-weight: 600;
  font-size: .92rem;
  padding: 10px 16px;
  border-radius: 3px;
  text-decoration: none;
  transition: opacity .15s;
}
.btn:hover { opacity: .8; }
.btn.outline { background: var(--white); color: var(--black); border: 1px solid var(--black); }
.btns { display: flex; flex-wrap: wrap; gap: 10px; }

/* Hero */
.hero .wrap { display: grid; gap: 32px; align-items: center; }
@media (min-width: 820px) { .hero .wrap { grid-template-columns: 1fr 1fr; } }
.hero img { max-width: 360px; width: 100%; margin: 0 auto; }

/* Two-column split */
.split { display: grid; gap: 40px; align-items: center; }
@media (min-width: 820px) { .split { grid-template-columns: 1.3fr 1fr; } }

/* Coach */
.coach h2 { margin-bottom: .1em; }
.coach .name { font-size: clamp(1.7rem, 3.8vw, 2.4rem); margin-bottom: 1em; }
.boxes { display: grid; gap: 16px; }
@media (min-width: 600px) { .boxes { grid-template-columns: 1fr 1fr; } .boxes .wide { grid-column: 1 / -1; } }
.box { border: 1px solid var(--line); padding: 16px 18px; text-align: center; font-size: .92rem; }
.box p { margin: 0; }
.coach-photo { width: 100%; height: 100%; max-height: 640px; object-fit: cover; }

/* Roster */
.roster { background: #111 center / cover no-repeat; }
.roster .panel { background: var(--white); padding: 32px 24px; }
.players { display: flex; flex-wrap: wrap; justify-content: center; gap: 28px 24px; margin-top: 24px; }
.player { width: 130px; text-align: center; color: var(--gold); font-size: .95rem; }
.player img { width: 120px; height: 120px; border-radius: 50%; object-fit: cover; margin: 0 auto 10px; }

/* Schedule table */
.table-scroll { overflow-x: auto; margin: 20px 0 24px; }
table { width: 100%; border-collapse: collapse; font-size: .92rem; min-width: 520px; }
th, td { text-align: left; padding: 10px 14px; }
th { font-weight: 600; border-bottom: 1px solid #ddd; }
tbody tr:nth-child(odd) { background: var(--stripe); }

/* Shop */
.shop { padding: 0; }
.shop .split { gap: 0; }
@media (min-width: 820px) { .shop .split { grid-template-columns: 1fr 1.3fr; } }
.shop img { width: 100%; height: 100%; max-height: 460px; object-fit: cover; }
.shop .text { padding: 48px 16px; }
@media (min-width: 720px) { .shop .text { padding: 48px 64px; } }

/* Values */
.values { background: #e9e9e9 center / cover no-repeat; position: relative; }
.values::before { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.82); }
.values .wrap { position: relative; }
.value-grid { display: grid; gap: 40px 20px; margin-top: 40px; }
@media (min-width: 720px) { .value-grid { grid-template-columns: repeat(3, 1fr); } .value-grid .wide { grid-column: 1 / -1; } }
.value {
  position: relative;
  background: var(--white);
  border: 1px solid var(--line);
  border-top: 4px solid var(--black);
  padding: 34px 18px 18px;
  text-align: center;
  font-size: .92rem;
}
.value p { margin: 0; }
.value .icon {
  position: absolute; top: -22px; left: 50%; transform: translateX(-50%);
  width: 42px; height: 42px; border-radius: 50%;
  background: var(--black); color: var(--white);
  display: grid; place-items: center;
}
.value .icon svg { width: 20px; height: 20px; }

/* Partners */
.logos { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 20px 28px; margin: 32px 0; }
.logos img { height: 56px; width: auto; max-width: 150px; object-fit: contain; }
blockquote { margin: 0; padding: 4px 0 4px 18px; border-left: 3px solid var(--ink); font-size: .95rem; }

/* Get involved */
.cards { display: grid; gap: 16px; margin: 24px 0; }
@media (min-width: 720px) { .cards { grid-template-columns: 1fr 1fr; } }
.card { border: 1px solid #ccc; padding: 18px; font-size: .92rem; }
.card p { margin: 0; }

footer { padding: 32px 0; text-align: center; font-size: .85rem; color: #8a8a8a; }
