/* ===== Landing ===== */

/* Tagline under SharpsDen title */
.tagline {
  max-width: 700px;
  margin: 16px auto 32px auto; /* space above & below tagline */
  font-size: 18px;
  font-weight: 500;
  font-style: italic;
  color: #333;
  text-align: center;
  line-height: 1.4;
  font-family: 'Aptos', 'Segoe UI', 'Helvetica Neue', Arial, sans-serif;
}


/* Feature highlight cards */
.features-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr); /* force a clean 2×2 for 4 items */
  gap: 30px;
  max-width: 750px; /* was 900 */
  margin: 60px auto;
  padding: 0 20px;
  text-align: center;
  font-family: 'Times New Roman', Times, serif;
}
@media (max-width: 720px) {
  .features-grid {
    grid-template-columns: 1fr; /* stack on mobile */
  }
}

/* headings feel a bit wider/stronger */
.feature h3 {
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 0.2px;
  line-height: 1.25;
}

.feature {
  background-color: #f7f7f7;
  padding: 20px;
  border-radius: 12px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

/* How It Works section */
.how-it-works {
  max-width: 700px;
  margin: 60px auto;
  padding: 0 20px;
  text-align: left;
}
.how-it-works h2 {
  text-align: left;
  margin-bottom: 16px;
}

/* Why SharpsDen section */
.why-sharpsden {
  max-width: 750px;
  margin: 60px auto;
  padding: 0 20px;
  text-align: left;
}
.why-sharpsden h2 {
  text-align: center;
  margin-bottom: 16px;
  font-weight: 600;
}
.why-sharpsden ul {
  list-style: none;
  padding-left: 0;
}
.why-sharpsden li {
  position: relative;
  padding-left: 1.6em;   /* space for bullet */
  font-size: 16px;
  line-height: 1.5;
  margin-bottom: 12px;
}

.why-sharpsden li::before {
  content: "✦";
  position: absolute;
  left: 0;
  color: #8b1616b5;
  font-weight: bold;
  font-size: 0.9em;
}

/* Coming soon teaser */
.coming-soon {
  max-width: 600px;
  margin: 40px auto;
  padding: 0 20px;
  text-align: left;
}
.coming-soon h4 {
  text-align: center;
}
.coming-soon ul {
  list-style: none;
  padding-left: 0;
}
.coming-soon li {
  padding-left: 1.4em;
  text-indent: -1.4em;
  font-size: 16px;
  line-height: 1.5;
}

/* (moved) CTA button styles are now in the consolidated landing toolbar section below */

/* What We Analyze section */
.what-we-analyze {
  max-width: 750px;
  margin: 60px auto;
  padding: 0 20px;
  text-align: left;
  font-weight:600;
}
.what-we-analyze h2 {
  text-align: center;
  margin-bottom: 16px;
  font-weight: 600;

}
.what-we-analyze ul {
  list-style: none;
  padding-left: 0;
  margin-top: 10px;
  margin-bottom: 10px;
  font-weight: 500
}
.what-we-analyze li {
  position: relative;
  padding-left: 1.6em;  /* space for arrow */
  font-size: 16px;
  line-height: 1.4;
  margin-bottom: 6px;
}

.what-we-analyze li::before {
  content: "➤";         /* bold arrowhead bullet */
  position: absolute;
  left: 0;
  color: #003e80b3;       /* brand accent color */
  font-weight: bold;
  font-size: 0.9em;
}

/* === Landing: Toolbar (sport select + CTA) === */
.sport-select-wrapper {
  margin-top: 20px;
  display: flex;
  flex-direction: column; /* label above select */
  align-items: flex-start;
  gap: 8px;
}

.sport-select-wrapper label {
  font-weight: bold;
  font-size: 16px;
}

/* Select uses 44px; CTA matches label+gap+select (~68px) */
.sport-select {
  height: 44px;
  display: flex;
  align-items: center;
}

.cta-button {
  height: 64px; /* matches label + 4px gap + 44px select */
  display: inline-flex;
  align-items: center;
}

/* Select base */
.sport-select {
  padding: 10px 14px;
  font-size: 14px;
  font-weight: 400;
  color: #0b1a33;
  background-color: rgba(179, 209, 255, 0.3);
  border: 1px solid #aaa;
  border-radius: 8px;
  box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
  outline: none;
  cursor: pointer;
  transition: background-color .2s ease, box-shadow .2s ease, border-color .2s ease;
  appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 14px;
  padding-right: 34px; /* room for arrow */
}
.sport-select:hover {
  background-color: rgba(153, 194, 255, 0.4);
}
.sport-select:focus {
  border-color: #4b87d4;
  box-shadow: 0 0 0 2px rgba(75,135,212,0.25);
}

/* CTA button (light blue to match theme) */
.cta-button {
  background: linear-gradient(180deg, #FFD700 0%, #C89200 100%);
  color:#111;
  border-color:#7A5C00;
  box-shadow:
    0 0 0 1px rgba(255,215,0,0.35);
  font-size: 18px;
  font-weight: 600;
  padding: 8px 24px;
  border-radius: 8px;
  cursor: pointer;
  transition: background-color 0.3s ease, transform 0.2s ease;
}

.cta-button:hover {
  background-color: #3a6eaf;
  transform: scale(1.04);
}

/* Layout: align and space */
.landing-toolbar {
  display: flex;
  justify-content: center;
  align-items: flex-end; /* align bottoms of column + button */
  gap: 72px; /* a touch more space between them */
  max-width: 900px;
  margin: 24px auto 40px auto; /* more space above/below section */
}

/* Keep CTA to the right within the content width */
.today-cta { justify-self: end; }

/* Mobile: stack neatly */
@media (max-width: 720px) {
  .landing-toolbar {
    flex-direction: column;
    row-gap: 12px;
  }
  .today-cta { justify-self: start; }
}

/* Highlighted box style for Coming Soon section */
.highlight-box {
  background: linear-gradient(to right, #f7faff, #eef5ff);
  border: 1px solid rgba(75, 135, 212, 0.2);
  border-radius: 10px;
  padding: 20px 24px;
  margin-top: 40px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}

.highlight-box h4 {
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 14px;
  color: #004aad;
}

.highlight-box ul {
  list-style: none;
  padding: 0;
  margin: 0;
}

.highlight-box li {
  font-size: 16px;
  margin-bottom: 8px;
  display: flex;
  align-items: flex-start;
  gap: 6px;
}

.highlight-box li::before {
  content: "";
}

/* ===== Left Sidebar ===== */
.ld-sidebar {
  position: fixed;
  top: 44px; /* sits directly under black header */
  left: 0;
  width: 160px;
  height: calc(100vh - 44px); /* adjust to new header height */
  background: #0b1a33;
  color: #fff;
  padding: 34px 14px; /* minimal top padding now that brand is removed */
  box-shadow: 2px 0 8px rgba(0,0,0,0.2);
  z-index: 1200;
}

.page-with-sidebar {
  /* create breathing room so content doesn't sit under the sidebar */
  margin-left: 186px; /* keep in sync with .ld-sidebar width */
}

.ld-brand {
  display: none; /* hide duplicate brand in sidebar to remove top gap */
  align-items: center;
  gap: 8px;
  font-weight: 800;
  letter-spacing: .3px;
  margin-bottom: 14px;
}

.ld-logo { font-size: 18px; }
.badge-beta {
  font-size: 12px;
  font-weight: 700;
  padding: 2px 6px;
  border-radius: 999px;
  background: #ffd700;
  color: #111;
}

.ld-nav {
  display: flex;
  flex-direction: column;
  gap: 0px;
  margin-top: 0 !important;  /* force out any upstream margins */
  padding-top: 0 !important;
}
.ld-nav > *:first-child {
  margin-top: 0;       /* override any browser/user-agent default spacing */
  padding-top: 0;
}
.ld-nav a,
.ld-nav summary {
  display: block;      /* makes text-align left behave predictably */
  text-align: left;    /* force left alignment (fixes centered look) */
  color: #e6eefc;
  text-decoration: none;
  font-size: 14px;
  cursor: pointer;
  padding: 6px 0;      /* no left/right padding = perfectly flush-left */
}
.ld-nav a:hover,
.ld-nav summary:hover { color: #ffffff; }

.ld-nav details {
  background: rgba(255,255,255,0.06);
  border-radius: 8px;
  padding: 6px 0px;   /* slightly smaller to reduce visual weight */
}

.ld-nav details a {
  display: block;
  padding: 6px 0 0 12px; /* indent submenu items only */
  font-size: 13px;
  color: #d4def7;
}

/* Mobile: collapse sidebar into top bar */
@media (max-width: 900px) {
  .ld-sidebar {
    position: sticky;
    width: 100%;
    height: auto;
    top: 0;
    left: 0;
    border-bottom: 1px solid rgba(255,255,255,0.12);
  }
  .page-with-sidebar { margin-left: 0; }
  .ld-nav { flex-direction: row; flex-wrap: wrap; gap: 12px; }
  .ld-nav details { width: 100%; }
}

/* ===== How It Works steps ===== */
.how-steps {
  max-width: 680px;
  margin: 12px auto 20px auto;
  padding-left: 20px;
}
.how-steps li {
  margin: 6px 0;
  line-height: 1.5;
}

/* ===== Mockup card (non-functional visual) ===== */
.mockup-card {
  max-width: 560px; /* narrower to tighten the demo */
  /* margin: 18px auto 0 auto; */
  background: #fff;
  border: 1px solid #cfcfcf;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08);
  overflow: hidden;
}

/* Constrain and scroll the mockup table without affecting real tables */
.mockup-card .mockup-viewport {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
}

/* Mockup-only table overrides — cancels the global .odds-table min-width */
.mockup-card .mockup-table {
  width: 100%;
  min-width: 0;       /* overrides .odds-table { min-width: 1000px; } ONLY here */
  table-layout: fixed;
}

/* Align sticky widths to your mockup <colgroup> (180 / 36 / 100) */
.mockup-card .mockup-table.odds-sticky {
  --col1-w: 180px;    /* Matchup */
  --col2-w: 36px;     /* $ */
  --col3-w: 100px;    /* Event Time */
}

/* Prevent cells from expanding and breaking alignment inside the card */
.mockup-card .mockup-table th,
.mockup-card .mockup-table td {
  white-space: nowrap;
}

/* === Landing mockup ONLY: show full suggested text (cancel sticky+clip) === */
.mockup-card .mockup-table.odds-sticky tr.suggested-row > td.suggested-left {
  position: static;     /* cancel sticky used on Matchups */
  left: auto;
  z-index: auto;
  min-width: 0;         /* remove forced width of first 3 columns */
  width: auto;
  overflow: visible;    /* allow the full sentence to show */
}

/* Header row: Matchup | $ | Event Time | DraftKings: Spread | Total | ML */
.mockup-header {
  display: grid;
  grid-template-columns: 220px 40px 90px 1px 90px 90px 90px;
  align-items: center;
  background: #f1f1f1;
  border-bottom: 1px solid #cfcfcf;
  font-weight: 700;
  font-size: 13px;
}

.mockup-divider {
  width: 1px;
  height: 100%;
  background: #cfcfcf;
}

.mockup-cell {
  padding: 8px 10px;
  border-right: 1px solid #e1e1e1;
}
.mockup-header .mockup-cell:last-child { border-right: 0; }

/* Data row */
.mockup-row {
  display: grid;
  grid-template-columns: 200px 40px 100px 100px 100px 80px; /* tighter 'Matchup' column to cut dead space */
  align-items: center;
  font-size: 13px;
}
.mockup-row .mockup-cell {
  padding: 8px 10px;
  border-right: 1px solid #e1e1e1;
}
.mockup-row .mockup-cell:last-child { border-right: 0; }
.mockup-row:nth-child(odd) { background: #fafafa; }

/* Suggested line row: green highlight with yellow 'High' pill */
.mockup-suggest-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 10px 12px;
  border-top: 1px solid #e3e3e3;
  background: #effaf1;
  position: relative;
}
.mockup-suggest-row::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 8px;
  bottom: 8px;
  width: 4px;
  background: #2ecc71;  /* green bar */
  border-radius: 2px;
}
.mockup-suggest-row .suggest-text {
  margin-left: 16px;     /* clears the green bar */
  font-size: 14px;
}

/* yellow confidence pill (kept local to landing mockup to avoid collisions) */
.pill-high {
  display: inline-block;
  padding: 4px 10px;
  border-radius: 12px;
  background: #f7c843;
  border: 1px solid #e0b733;
  font-size: 12px;
  font-weight: 700;
  color: #332b00;
}

/* Suggested badge and confidence (right side of Matchup cell) */
.mockup-suggestion {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin-left: 8px;
}
.mockup-badge {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  background: #e7f7ec;
  border: 1px solid #bfe5c9;
  font-weight: 600;
}

/* Expand box shows a category line like your screenshot */
.mockup-expand {
  border-top: 1px dashed #d4d4d4;
  padding: 8px 10px;
  font-size: 13px;
  background: #f7f9ff;
}
.mockup-category { font-size: 13px; }

/* === Force consistent circle sizing for demo icon on landing page === */
.how-steps .suggested-wager-circle,
.mockup-card .suggested-wager-circle {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  font-size: 13px;
  line-height: 1;
}

/* Remove column borders in the Suggested Wager row */
.mockup-card .suggested-row td {
  border: none !important;
}

/* --- Mobile collapsible sidebar --- */
.ld-nav {
  position: relative;
}

/* Hide the raw checkbox */
.ld-menu-toggle {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* Summary bar shown only on small screens */
.ld-menu-summary {
  display: none;
  cursor: pointer;
  padding: 12px 14px;
  font-weight: 600;
  border: 1px solid var(--border, #e3e3e3);
  border-radius: 8px;
  color: #fff;
  /*background: var(--panel, #fff); */
  background: inherit;
  box-shadow: 0 1px 2px rgba(0,0,0,.06);
  user-select: none;
}

/* Panel defaults to visible; we hide it on mobile until toggled */
.ld-menu-panel {}

/* ── Mobile behavior ───────────────────────────────────────────── */
@media (max-width: 768px) {
  .ld-sidebar {
    padding: 0 16px;
  }
  .ld-menu-summary {
    display: block;            /* show the one-line bar */
    margin: 4px;
    width: -webkit-fill-available;
  }
  .ld-menu-panel {
    display: none;             /* collapsed by default on mobile */
  }
  .ld-menu-toggle:checked ~ .ld-menu-panel {
    display: block;            /* expand when toggled */
  }

  /* Make nested <details> look tidy on mobile */
  .ld-menu-panel details summary {
    padding: 8px 0;
    font-weight: 600;
    cursor: pointer;
  }
  .ld-menu-panel a {
    display: block;
    padding: 6px 0;
  }
}

/* ── Tablet/Desktop behavior ───────────────────────────────────── */
@media (min-width: 769px) {
  /* Hide the mobile bar; always show full menu */
  .ld-menu-summary,
  .ld-menu-toggle { display: none; }
  .ld-menu-panel { display: block; }
}
