.sports-calculator main { display:grid; font:16px/1.6 Arial,Helvetica,sans-serif; }
.sports-calculator main > * { min-width:0; }
.sports-calculator main p { font-family:inherit; }
.sports-calculator main > section { scroll-margin-top:90px; }
.sports-calculator .sports-local-nav { gap:0 24px; padding:6px 0; }
.sports-calculator .sports-local-nav a { display:inline-flex; align-items:center; min-height:44px; padding:8px 0; font-size:14px; }
.sports-calculator #inventory,.sports-calculator #card-search,.sports-calculator #method,.sports-calculator #sports-card-gate { scroll-margin-top:130px; }
.sports-box-heading { display:block; padding:8px 0; }
.sports-box-heading h1 { font-size:clamp(28px,3.2vw,44px); max-width:none; text-wrap:pretty; }
.sports-box-heading .sports-deck { font-size:17px; }
.sports-product-policy { display:block; margin-top:6px; font-size:14px; color:var(--sports-muted); }
.sports-calculator #box-shopping-links { margin-top:12px; font-size:14px; }
.sports-calculator #box-shopping-links a { display:inline-flex; align-items:center; min-height:44px; }
.sports-calculator #box-shopping-links small { display:block; font-size:13px; color:var(--sports-muted); }
.sports-box-heading #load-status { color:var(--sports-muted); margin-top:16px; font-size:14px; }
.sports-box-panel { min-width:0; padding:25px; border:1px solid var(--sports-line); border-radius:8px; background:var(--sports-panel); }
.sports-box-panel h2 { margin-bottom:20px; }
.sports-calculator .sports-intro { margin:-8px 0 22px; color:var(--sports-muted); }
.sports-calculator .sports-note { max-width:100ch; }
.sports-calculator .sports-section-heading { align-items:center; flex-wrap:wrap; gap:8px 20px; }
.sports-calculator .sports-section-heading h2 { margin:0; }
.sports-calculator .sports-section-heading > a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
.sports-box-panel h3 { font-size:18px; margin:25px 0 12px; }
.sports-box-panel p,.sports-box-panel li { line-height:1.65; color:var(--sports-muted); }
.sports-box-panel li,.sports-box-panel a { overflow-wrap:anywhere; }
.sports-calculator-controls { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:18px; }
.sports-calculator-controls label { display:grid; gap:8px; color:var(--ink); font-size:14px; }
.sports-calculator-controls label small { color:var(--sports-muted); font-size:13px; }
.sports-calculator-controls select,.sports-calculator-controls input { width:100%; min-height:46px; border:1px solid var(--sports-line); color:var(--ink); background:#0c141c; font:16px Arial,sans-serif; padding:10px; }
.sports-calculator-actions { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:20px 0; }
.sports-check { display:flex; gap:10px; align-items:center; min-height:44px; font-size:15px; cursor:pointer; }
.sports-check input { width:18px; height:18px; }
.sports-calculator-actions button { --button-foreground:#09221b; background:var(--accent); color:#09221b; font-weight:700; min-height:46px; border:0; padding:12px 22px; cursor:pointer; }
.sports-calculator-actions button:disabled { opacity:.5; cursor:wait; }
.sports-calculator .sports-note { font-size:14px; color:var(--sports-muted); margin:12px 0; line-height:1.6; }
.sports-calculator .sports-note:empty { display:none; }
.sports-calculator #box-contents,.sports-calculator #card-value-breakdown { scroll-margin-top:130px; }
.sports-contents-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:20px 0; }
.sports-contents-facts dt { color:var(--sports-muted); font-size:13px; }
.sports-contents-facts dd { margin:8px 0 0; font-size:22px; font-weight:700; }
.sports-contents-details { border:0; border-top:1px solid var(--sports-line); border-radius:0; padding:8px 0 0; margin:0; background:none; box-shadow:none; }
.sports-contents-details > summary { min-height:44px; padding:8px 0; color:var(--accent); font-size:14px; }
.sports-contents-details > summary::after { content:'+'; margin-left:auto; font-size:22px; }
.sports-contents-details[open] > summary::after { content:'−'; }
.sports-breakdown-control { display:grid; gap:6px; flex:none; color:var(--sports-muted); font-size:13px; }
.sports-breakdown-control select { min-height:44px; padding:8px 12px; color:var(--ink); background:#0c141c; border:1px solid var(--sports-line); font:16px Arial,sans-serif; }
.sports-breakdown-total { margin:16px 0!important; }
.sports-breakdown-total strong { color:var(--accent); font-size:24px; margin-left:10px; }
.sports-value-bar { display:block; height:5px; width:100%; margin-top:10px; background:#263b43; border-radius:3px; overflow:hidden; }
.sports-value-bar > span { display:block; height:100%; background:var(--accent); }
@media(max-width:600px) { .sports-contents-facts{gap:10px}.sports-contents-facts dt{font-size:12px}.sports-contents-facts dd{font-size:19px}.sports-breakdown-control{margin-top:16px} }
.sports-coverage { padding:16px; border-left:3px solid #edc77c; background:#25241e; margin:18px 0!important; line-height:1.65; }
.sports-coverage.is-complete { border-color:var(--accent); background:#142b29; }
.sports-coverage strong { display:block; margin-bottom:6px; font-size:16px; }
.sports-coverage span { display:block; max-width:100ch; font-size:14px; }
.sports-table-wrap { overflow-x:auto; border:1px solid var(--sports-line); margin-top:18px; }
.sports-table-wrap table { width:100%; border-collapse:collapse; margin:0; font-size:14px; }
.sports-table-wrap th,.sports-table-wrap td { padding:13px 16px; text-align:left; border-bottom:1px solid var(--sports-line); background:var(--sports-panel); color:var(--ink); }
.sports-table-wrap th { background:#1a2734; white-space:nowrap; color:var(--sports-muted); }
.sports-table-wrap td:first-child { min-width:170px; }
.sports-table-wrap td { min-width:85px; }
.sports-table-wrap td:not(:first-child),.sports-ev-summary td { font-variant-numeric:tabular-nums; }
.sports-sample { columns:3 210px; padding-left:25px; color:var(--sports-muted); }
.sports-sample li { break-inside:avoid; padding:5px; font-size:13px; }
.sports-sample .is-filtered { text-decoration:line-through; opacity:.65; }
.sports-box-panel summary { cursor:pointer; font-weight:700; }
.sports-model-details > summary { min-height:44px; padding:0; }
.sports-model-details > summary h2 { margin:0; }
.sports-model-details > summary::after { content:'+'; flex:none; color:var(--accent); font-size:24px; }
.sports-model-details[open] > summary::after { content:'−'; }
.sports-model-details[open] > summary { margin-bottom:20px; }
#exclusions { font-size:14px; color:var(--sports-muted); }
.sports-result-summary { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:20px 0; }
.sports-result-summary div { min-width:0; padding:16px; background:var(--sports-panel); border-radius:6px; }
.sports-result-summary dt { color:var(--sports-muted); font-size:13px; }
.sports-result-summary dd { margin:8px 0 0; font-size:20px; font-weight:700; overflow-wrap:anywhere; }
.sports-result-summary .is-positive { color:var(--accent); }
.sports-result-summary .is-negative { color:#ffb7aa; }
.sports-results { grid-template-columns:repeat(4,minmax(0,1fr)); }
.sports-results > div { min-width:0; }
.sports-results span { font:600 15px/1.4 Arial,sans-serif; letter-spacing:0; color:var(--ink); }
.sports-results small { line-height:1.6; }
.sports-calculator .sports-results small { font-size:13px; }
.sports-calculator .sports-results strong { font-family:Arial,Helvetica,sans-serif; font-variant-numeric:tabular-nums; }
.sports-calculator #results > section { margin-top:28px; }
.sports-results > div:nth-child(2) { background:#142b29; }
.sports-ev-summary { margin:16px 0; border:1px solid var(--sports-line); overflow-x:auto; }
.sports-ev-summary table { width:100%; table-layout:fixed; border-collapse:collapse; margin:0; font-size:14px; }
.sports-ev-summary th,.sports-ev-summary td { padding:16px; border-bottom:1px solid var(--sports-line); background:var(--sports-panel); color:var(--ink); text-align:right; overflow-wrap:anywhere; }
.sports-ev-summary th:first-child { width:28%; text-align:left; }
.sports-ev-summary thead th { background:#1a2734; color:var(--sports-muted); font-weight:400; }
.sports-ev-summary tbody td:nth-child(3) { color:var(--accent); font-weight:700; background:#142b29; }
.sports-ev-summary tbody tr:last-child > * { border-bottom:0; }
@media(max-width:600px) { .sports-ev-summary th,.sports-ev-summary td{padding:12px 8px;font-size:13px} }
#distribution-panel h3,.sports-card-teaser h3 { margin-top:0; }
.sports-distribution { display:flex; align-items:stretch; gap:4px; height:190px; border-bottom:1px solid var(--sports-line); margin-top:24px; }
.sports-chart-bar { --button-foreground:var(--ink); position:relative; flex:1; min-width:0; height:100%; padding:0; border:0; border-radius:3px 3px 0 0; background:transparent; box-shadow:none; cursor:pointer; }
.sports-chart-bar::before { content:''; position:absolute; bottom:0; left:1px; right:1px; height:max(2px,var(--bar-height)); background:var(--accent); border-radius:3px 3px 0 0; opacity:.7; }
.sports-chart-bar:hover,.sports-chart-bar:focus-visible,.sports-chart-bar[aria-pressed="true"] { background:#223444; outline:2px solid var(--accent); outline-offset:0; transform:none; box-shadow:none; }
.sports-chart-bar[aria-pressed="true"]::before { opacity:1; }
.sports-chart-axis { display:flex; justify-content:space-between; gap:8px; color:var(--sports-muted); font-size:12px; padding-top:8px; }
#distribution-detail { min-height:42px; }
.sports-card-teaser { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:16px 32px; margin-bottom:20px; border-left:3px solid var(--accent); background:#112820; }
.sports-card-teaser[hidden] { display:none; }
.sports-card-teaser .sports-kicker { color:var(--accent); margin-bottom:8px; }
.sports-card-teaser h3 { font-size:24px; margin-bottom:8px; }
.sports-unlock-features { display:flex; flex-wrap:wrap; gap:10px 28px; padding-left:18px; margin:14px 0 0; font-size:14px; }
.sports-card-teaser .sports-teaser-actions { flex-direction:column; align-items:stretch; justify-content:center; gap:4px; margin:0; }
.sports-teaser-actions { display:flex; flex-wrap:wrap; gap:12px 22px; align-items:center; margin-top:16px; }
.sports-teaser-actions a { display:inline-flex; align-items:center; min-height:44px; }
.sports-teaser-actions .sports-upgrade { background:var(--accent); color:#09221b; padding:10px 18px; border-radius:5px; font-weight:700; text-decoration:none; }
.sports-inventory-controls { grid-template-columns:2fr 1fr; }
.sports-price-filters { margin-top:16px; padding:12px 16px; }
.sports-price-filters > summary { min-height:44px; padding:0; }
.sports-price-filters .sports-controls { margin:16px 0 4px; }
.sports-table-wrap td small { display:block; font-size:12px; color:var(--sports-muted); margin-top:6px; }
.sports-table-wrap .sports-locked { background:#12271f; font-size:12px; }
.sports-locked a { display:inline-flex; align-items:center; gap:6px; min-height:32px; color:var(--accent); text-decoration:underline; text-underline-offset:3px; }
.sports-card-loader { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:12px; margin:16px 0; overflow-anchor:none; }
.sports-card-loader button { --button-foreground:var(--ink); width:auto; min-height:44px; padding:10px 16px; color:var(--ink); background:var(--sports-panel); border:1px solid var(--sports-line); border-radius:5px; cursor:pointer; box-shadow:none; }
.sports-card-loader button[hidden] { display:none; }
.sports-card-loader p { color:var(--sports-muted); font-size:13px; }
.sports-sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
@media(max-width:850px) {
  .sports-results,.sports-result-summary { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sports-results > div:first-child { grid-column:auto; }
  .sports-results > div { border:0; border-bottom:1px solid var(--sports-line); }
  .sports-results > div:nth-child(odd) { border-right:1px solid var(--sports-line); }
  .sports-results > div:nth-last-child(-n+2) { border-bottom:0; }
  .sports-card-teaser { grid-template-columns:1fr; }
  .sports-card-teaser .sports-teaser-actions { flex-direction:row; flex-wrap:wrap; justify-content:flex-start; gap:8px 22px; }
}
@media(max-width:600px) {
  .sports-calculator .sports-local-nav { gap:0 20px; }
  .sports-calculator .sports-local-nav a:first-child { padding:0; }
  .sports-calculator .sports-box-heading h1 { font-size:28px; line-height:1.18; margin:8px 0 16px; }
  .sports-calculator .sports-box-heading .sports-deck { font-size:16px; }
  .sports-calculator .sports-result-summary { gap:10px; }
  .sports-result-summary div { padding:12px; }
  .sports-inventory-controls,.sports-price-filters .sports-controls { grid-template-columns:1fr; }
  .sports-calculator #inventory .sports-section-heading { display:block; }
  .sports-calculator #inventory .sports-section-heading p { margin-top:8px; }
}
/* Nine inventory columns cannot fit on a tablet. Keep every field visible
   in labelled cards, with two cards per row when there is room. */
@media(max-width:1100px) {
  .sports-calculator #inventory .sports-table-wrap { overflow:visible; border:0; }
  .sports-calculator #inventory .sports-table-wrap table { display:block; }
  .sports-calculator #inventory .sports-table-wrap tbody { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
  .sports-calculator #inventory .sports-table-wrap thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .sports-calculator #inventory .sports-table-wrap tr { display:block; min-width:0; border:1px solid var(--sports-line); border-radius:6px; overflow:hidden; }
  .sports-calculator #inventory .sports-table-wrap td { display:grid; grid-template-columns:minmax(90px,38%) minmax(0,1fr); gap:4px 10px; min-width:0; padding:10px 14px; text-align:left; overflow-wrap:anywhere; }
  .sports-calculator #inventory .sports-table-wrap td::before { content:attr(data-label); color:var(--sports-muted); font-size:13px; text-align:left; justify-self:start; }
  .sports-calculator #inventory .sports-table-wrap td:first-child { display:block; min-width:0; background:#1a2734; font-size:16px; font-weight:700; }
  .sports-calculator #inventory .sports-table-wrap td:first-child::before { display:none; }
  .sports-calculator #inventory .sports-table-wrap td small { grid-column:2; }
  .sports-calculator #inventory .sports-table-wrap td a { display:inline-flex; align-items:center; min-height:44px; }
}
@media(max-width:600px) {
  .sports-calculator #inventory .sports-table-wrap tbody { grid-template-columns:1fr; gap:0; }
  .sports-table-wrap { overflow:visible; border:0; }
  .sports-table-wrap table,.sports-table-wrap tbody { display:block; }
  .sports-table-wrap thead { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  .sports-table-wrap tr { display:block; border:1px solid var(--sports-line); border-radius:6px; margin-bottom:14px; overflow:hidden; }
  .sports-table-wrap td { display:grid; grid-template-columns:minmax(90px,38%) minmax(0,1fr); gap:4px 10px; min-width:0; padding:10px 14px; text-align:left; overflow-wrap:anywhere; }
  .sports-table-wrap td::before { content:attr(data-label); color:var(--sports-muted); font-size:13px; text-align:left; justify-self:start; }
  .sports-table-wrap td:first-child { display:block; min-width:0; background:#1a2734; font-size:16px; font-weight:700; }
  .sports-table-wrap td:first-child::before { display:none; }
  .sports-table-wrap td:last-child { border-bottom:0; }
  .sports-table-wrap td small { grid-column:2; }
  .sports-table-wrap td a { display:inline-flex; align-items:center; min-height:44px; }
}
@media(max-width:850px) { .sports-calculator-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.sports-box-panel{padding:20px} }
@media(max-width:480px) { .sports-calculator-controls{grid-template-columns:1fr}.sports-calculator-actions{align-items:stretch;flex-direction:column}.sports-box-panel{padding:16px} }
