/*
 * pass-comparison.css
 * Shared stylesheet for all Epic vs Ikon regional pass comparison pages.
 * Referenced by: epic-vs-ikon-northeast, rockies, california, pacific-northwest, midwest
 * Load after /styles.css for shared nav (.top-nav) and footer (.site-footer).
 *
 * ── Breakpoints ──────────────────────────────────────────────────────────
 *   600px   Mobile
 *   1024px  Tablet
 *   1400px  Desktop-wide
 * ─────────────────────────────────────────────────────────────────────────
 *
 * ── Class naming conventions (pass-page scope) ───────────────────────────
 *   .hero-*        Hero section elements
 *   .stat-pill     Mountain count pills in hero
 *   .verdict-*     Top verdict cards
 *   .win-tag       Strength tags inside verdict cards
 *   .section-*     Section header elements
 *   .mountain-*    Mountain grid and card elements
 *   .pass-badge    Epic / Ikon label badge on mountain cards
 *   .compare-*     Full comparison table
 *   .faq-*         FAQ accordion items
 *   .cross-link-*  Related region link cards
 *   .cta-*         Call-to-action block
 * ─────────────────────────────────────────────────────────────────────────
 */

/* ── Google Font ─────────────────────────────────────────────────────────
   Loaded via <link> in HTML so we can use font-display=swap properly.
   Fallback chain below mirrors the main site's styles.css.
   ──────────────────────────────────────────────────────────────────────── */

/* ── Color system ────────────────────────────────────────────────────────
   All colours live here. Update once; every pass page inherits the change.
   ──────────────────────────────────────────────────────────────────────── */
:root {
  /* Bottom CTA band (nav/footer use /styles.css) */
  --cta-band-bg: #111827;
  --cta-btn-hover: #1d4ed8;

  /* Pass brand colours */
  --epic-color: #0057b8;
  --epic-bg:    #e8f1fb;
  --epic-border: #bfd4f5;

  --ikon-color: #c0392b;
  --ikon-bg:    #fdecea;
  --ikon-border: #f5c0bc;

  /* Typography */
  --text-primary:   #1a1a2e;
  --text-secondary: #555555;
  --text-light:     #888888;

  /* Surfaces */
  --border:   #e5e7eb;
  --bg-page:  #f8f9fa;
  --bg-card:  #ffffff;

  /* Accents */
  --accent: #0057b8;   /* matches --epic-color; used for generic links/highlights */
  --accent-cta: #2563eb;

  /* Shape */
  --radius: 10px;
}

/* ── Reset ───────────────────────────────────────────────────────────────── */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

/* ── Base ────────────────────────────────────────────────────────────────── */
body {
  font-family: 'Inter', 'DM Sans', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  background: var(--bg-page);
  color: var(--text-primary);
  font-size: 16px;
  line-height: 1.6;
}

/* Nav: .top-nav from /styles.css */

/* ── Breadcrumb ──────────────────────────────────────────────────────────── */
.breadcrumb {
  max-width: 860px;
  margin: 18px auto 0;
  padding: 0 24px;
  font-size: 0.8rem;
  color: var(--text-light);
}
.breadcrumb a { color: var(--text-light); text-decoration: none; }
.breadcrumb a:hover { text-decoration: underline; }

/* ── Hero ────────────────────────────────────────────────────────────────── */
.hero {
  max-width: 860px;
  margin: 0 auto;
  padding: 36px 24px 0;
}
.hero-label {
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--text-light);
  margin-bottom: 10px;
}
.hero h1 {
  font-size: clamp(1.75rem, 4vw, 2.4rem);
  font-weight: 800;
  line-height: 1.15;
  letter-spacing: -0.02em;
  margin-bottom: 16px;
}
.hero-sub {
  font-size: 1.05rem;
  color: var(--text-secondary);
  max-width: 660px;
  margin-bottom: 28px;
  line-height: 1.65;
}

/* ── Stat pills ──────────────────────────────────────────────────────────── */
.stat-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 36px;
}
.stat-pill {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 50px;
  padding: 8px 18px;
  font-size: 0.875rem;
}
.stat-pill .num {
  font-size: 1.15rem;
  font-weight: 800;
}
.stat-pill .label { color: var(--text-secondary); }
.stat-pill.epic .num { color: var(--epic-color); }
.stat-pill.ikon .num { color: var(--ikon-color); }

/* ── Verdict banner ──────────────────────────────────────────────────────── */
.verdict-banner {
  max-width: 860px;
  margin: 0 auto 40px;
  padding: 0 24px;
}
.verdict-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.verdict-card {
  border-radius: var(--radius);
  padding: 22px 24px;
  border: 1.5px solid transparent;
}
.verdict-card.epic { background: var(--epic-bg); border-color: var(--epic-border); }
.verdict-card.ikon { background: var(--ikon-bg); border-color: var(--ikon-border); }

.verdict-card .pass-label {
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.verdict-card.epic .pass-label { color: var(--epic-color); }
.verdict-card.ikon .pass-label { color: var(--ikon-color); }

.verdict-card h3 {
  font-size: 1rem;
  font-weight: 700;
  margin-bottom: 8px;
  line-height: 1.3;
}
.verdict-card p {
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.55;
}
.verdict-card .wins {
  margin-top: 12px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.win-tag {
  font-size: 0.72rem;
  font-weight: 700;
  padding: 3px 10px;
  border-radius: 50px;
}
.epic .win-tag { background: var(--epic-color); color: #fff; }
.ikon .win-tag { background: var(--ikon-color); color: #fff; }

/* ── Content area ────────────────────────────────────────────────────────── */
.content {
  max-width: 860px;
  margin: 0 auto;
  padding: 0 24px 80px;
}

/* ── Section headers ─────────────────────────────────────────────────────── */
.section-header {
  margin: 48px 0 20px;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--border);
  display: flex;
  align-items: baseline;
  gap: 12px;
}
.section-header h2 {
  font-size: 1.3rem;
  font-weight: 800;
  letter-spacing: -0.01em;
}
.section-header .state-sub {
  font-size: 0.8rem;
  color: var(--text-light);
  font-weight: 500;
}

/* ── Editorial callout ───────────────────────────────────────────────────── */
.editorial-note {
  background: var(--bg-card);
  border-left: 3px solid #ddd;
  border-radius: 0 8px 8px 0;
  padding: 14px 18px;
  margin-bottom: 20px;
  font-size: 0.875rem;
  color: var(--text-secondary);
  line-height: 1.6;
}
.editorial-note strong { color: var(--text-primary); }

/* ── Mountain grid & cards ───────────────────────────────────────────────── */
.mountain-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 12px;
  margin-bottom: 8px;
}
.mountain-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 16px 18px;
  text-decoration: none;
  color: inherit;
  transition: box-shadow 0.15s, transform 0.15s;
  display: block;
}
.mountain-card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
  transform: translateY(-2px);
}
.mountain-card .mtn-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 8px;
}
.mountain-card .mtn-name {
  font-weight: 700;
  font-size: 0.95rem;
  line-height: 1.25;
}
.mountain-card .mtn-meta {
  font-size: 0.78rem;
  color: var(--text-light);
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* ── Pass badge ──────────────────────────────────────────────────────────── */
.pass-badge {
  font-size: 0.65rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 3px 8px;
  border-radius: 4px;
  white-space: nowrap;
  flex-shrink: 0;
}
.pass-badge.epic { background: var(--epic-bg); color: var(--epic-color); }
.pass-badge.ikon { background: var(--ikon-bg); color: var(--ikon-color); }

/* ── Comparison table ────────────────────────────────────────────────────── */
.compare-table-wrap {
  overflow-x: auto;
  border-radius: var(--radius);
  border: 1px solid var(--border);
  margin: 28px 0;
}
.compare-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.875rem;
  background: var(--bg-card);
}
.compare-table th {
  padding: 12px 16px;
  text-align: left;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--text-light);
  border-bottom: 1px solid var(--border);
  white-space: nowrap;
}
.compare-table td {
  padding: 11px 16px;
  border-bottom: 1px solid #f0f0f0;
  vertical-align: middle;
}
.compare-table tr:last-child td { border-bottom: none; }
.compare-table tr:hover td { background: #fafafa; }
.tbl-state { font-size: 0.75rem; color: var(--text-light); }
.tbl-stat  { font-weight: 600; }

/* ── CTA block ───────────────────────────────────────────────────────────── */
.cta-block {
  background: var(--cta-band-bg);
  border-radius: 14px;
  padding: 36px 32px;
  text-align: center;
  margin: 48px 0 0;
  color: #fff;
}
.cta-block h3 {
  font-size: 1.35rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.cta-block p {
  font-size: 0.95rem;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 22px;
}
.cta-btn {
  display: inline-block;
  background: var(--accent-cta);
  color: #fff;
  text-decoration: none;
  padding: 13px 28px;
  border-radius: 8px;
  font-weight: 700;
  font-size: 0.95rem;
}
.cta-btn:hover { background: var(--cta-btn-hover); }

/* ── FAQ ─────────────────────────────────────────────────────────────────── */
.faq-list {
  display: grid;
  gap: 0;
  margin-bottom: 16px;
}
.faq-item {
  border-bottom: 1px solid var(--border);
  padding: 20px 0;
}
.faq-item:last-child { border-bottom: none; }
.faq-q {
  font-size: 1rem;
  font-weight: 700;
  color: var(--text-primary);
  margin: 0 0 8px;
  line-height: 1.35;
}
.faq-a {
  font-size: 0.9rem;
  color: var(--text-secondary);
  line-height: 1.65;
  margin: 0;
}

/* ── Cross-region links ──────────────────────────────────────────────────── */
.cross-links {
  background: #f1f5f9;
  border-radius: var(--radius);
  padding: 22px 24px;
  margin: 48px 0 0;
}
.cross-links h3 {
  font-size: 1rem;
  font-weight: 800;
  margin: 0 0 14px;
}
.cross-links-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}
.cross-link-card {
  background: var(--bg-card);
  border: 1px solid var(--border);
  border-radius: 8px;
  padding: 12px 14px;
  text-decoration: none;
  color: var(--text-primary);
  transition: border-color 0.15s;
}
.cross-link-card:hover {
  border-color: var(--accent-cta);
  color: var(--accent-cta);
}
.cross-link-label {
  font-size: 0.7rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--text-light);
  margin-bottom: 3px;
}
.cross-link-title {
  font-size: 0.875rem;
  font-weight: 700;
  line-height: 1.3;
}

/* Footer: .site-footer from /styles.css */

/* ── Responsive ──────────────────────────────────────────────────────────── */
/* 600px — mobile */
@media (max-width: 600px) {
  .verdict-grid  { grid-template-columns: 1fr; }
  .mountain-grid { grid-template-columns: 1fr; }
  .hero h1 { font-size: 1.75rem; }
}

/* 1024px — tablet (currently no overrides needed; reserved for future use) */

/* 1400px — desktop-wide (currently no overrides needed; reserved for future use) */
