/* ============================================================================
   WCAG Repair — Editorial Overrides
   Loaded after wcag-base.css. Retargets legacy BEM classes + legacy CSS
   variables so untouched templates adopt the editorial palette without
   needing per-template rewrites.
   ============================================================================ */

:root {
  /* Legacy var aliases — used by inline style="color:var(--text-heading, #1e293b)" patterns throughout old templates */
  --text-heading: var(--ink);
  --text-primary: var(--ink);
  --text-secondary: var(--ink-dim);
  --text-muted: var(--ink-mute);
  --primary: var(--ink);
  --primary-hover: var(--ink-2);
  --accent: var(--rust);
  --accent-hover: var(--rust-2);
  --bg-primary: var(--paper);
  --bg-secondary: var(--paper-2);
  --bg-input: var(--paper-2);
  --bg-glass: var(--paper);
  --bg-glass-border: var(--rule);
  --border-color: var(--rule);
  --border-featured: var(--ink);
  --severity-critical: var(--rust-2);
  --severity-critical-bg: var(--rust-soft);
  --severity-moderate: var(--amber);
  --severity-moderate-bg: var(--amber-soft);
  --severity-good: var(--green);
  --severity-good-bg: var(--green-soft);
  --radius-sm: 4px;
  --radius-md: 6px;
  --font-mono: 'JetBrains Mono', monospace;
}

/* ===== Typography retargets ===== */
.text-secondary { color: var(--ink-dim) !important; }
.text-muted { color: var(--ink-mute) !important; }
.text-primary { color: var(--ink) !important; }
.text-heading { color: var(--ink) !important; }

/* "Text gradient" was a blue/purple marketing gradient — flatten to rust italic serif, editorial style */
.text-gradient {
  background: none !important;
  -webkit-background-clip: unset !important;
  -webkit-text-fill-color: inherit !important;
  background-clip: unset !important;
  color: var(--rust-2) !important;
  font-style: italic !important;
  font-family: 'Source Serif 4', Georgia, serif !important;
}

/* ===== Hero (legacy marketing hero pattern) ===== */
.hero {
  padding: 56px 0 64px !important;
  background: transparent !important;
  border-bottom: 1px solid var(--rule) !important;
}
.hero__title {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  color: var(--ink) !important;
  line-height: 1.05 !important;
  font-size: clamp(36px, 5vw, 60px) !important;
}
.hero__subtitle {
  color: var(--ink-dim) !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 17px !important;
  line-height: 1.55 !important;
}
.hero__badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 5px 10px !important;
  border-radius: 999px !important;
  background: var(--paper-2) !important;
  border: 1px solid var(--rule) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  color: var(--ink-dim) !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
}
.hero__form { max-width: 560px; margin: 0 auto; }
.hero__form .form-input,
.hero__form input[type=url],
.hero__form input[type=text],
.hero__form input[type=email] {
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  color: var(--ink) !important;
  font-family: 'JetBrains Mono', monospace !important;
}

/* ===== Sections ===== */
.section {
  padding: 64px 0 !important;
  background: transparent !important;
}
.section--alt {
  background: var(--paper-2) !important;
}
.section__title, .section-title {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
}

/* ===== Breadcrumbs ===== */
.breadcrumb { margin-bottom: 12px !important; }
.breadcrumb__list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
  display: flex !important;
  gap: 10px !important;
  align-items: center !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11.5px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--ink-mute) !important;
  flex-wrap: wrap !important;
}
.breadcrumb__item { display: inline-flex; align-items: center; }
.breadcrumb__item a {
  color: var(--ink-dim) !important;
  text-decoration: none !important;
  border-bottom: 1px dotted var(--rule-2) !important;
  padding-bottom: 1px;
}
.breadcrumb__item a:hover { color: var(--ink) !important; }
.breadcrumb__item:not(:last-child)::after {
  content: '/';
  margin-left: 10px;
  color: var(--rule-2);
}

/* ===== Buttons (BEM) ===== */
.btn--primary {
  background: var(--ink) !important;
  color: var(--paper) !important;
  border: 0 !important;
}
.btn--primary:hover { background: var(--ink-2) !important; }
.btn--secondary, .btn--outline {
  background: transparent !important;
  color: var(--ink) !important;
  border: 1px solid var(--rule-2) !important;
}
.btn--secondary:hover, .btn--outline:hover {
  background: var(--paper-2) !important;
  border-color: var(--ink) !important;
  color: var(--ink) !important;
}
.btn--white {
  background: #fff !important;
  color: var(--ink) !important;
  border: 1px solid var(--rule-2) !important;
}
.btn--white:hover { background: var(--paper) !important; }
.btn--lg { padding: 14px 24px !important; font-size: 15.5px !important; }
.btn--sm { padding: 8px 14px !important; font-size: 13.5px !important; }

/* Generic .btn fallback */
.btn {
  font-family: 'Inter', system-ui, sans-serif !important;
  font-weight: 500 !important;
  border-radius: 6px !important;
  text-decoration: none !important;
  transition: background .15s, border-color .15s, transform .15s !important;
}

/* ===== Cards ===== */
.card {
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 10px !important;
  padding: 28px !important;
  box-shadow: 0 1px 0 rgba(0,0,0,.03) !important;
  color: inherit !important;
}
.card h2, .card h3 {
  color: var(--ink) !important;
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
}

/* ===== Badges ===== */
.badge {
  padding: 2px 7px !important;
  border-radius: 3px !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  display: inline-block !important;
}
.badge--critical { background: var(--rust-soft) !important; color: var(--rust-2) !important; }
.badge--major    { background: var(--amber-soft) !important; color: var(--amber) !important; }
.badge--minor    { background: var(--green-soft) !important; color: var(--green) !important; }
.badge--info     { background: var(--paper-2) !important; color: var(--ink-dim) !important; border: 1px solid var(--rule) !important; }

/* ===== Stat cards ===== */
.stat-card {
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 10px !important;
  padding: 24px 20px !important;
  text-align: left !important;
  position: relative !important;
}
.stat-card__number {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 44px !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  line-height: 1 !important;
  color: var(--ink) !important;
}
.stat-card__label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--ink-mute) !important;
  margin-top: 10px !important;
  font-weight: 500 !important;
}
.stat-card--critical .stat-card__number { color: var(--rust-2) !important; }
.stat-card--major    .stat-card__number { color: var(--amber) !important; }
.stat-card--minor    .stat-card__number { color: var(--green) !important; }
.stat-card--info     .stat-card__number { color: var(--ink) !important; }

/* ===== Results tabs ===== */
.results-tabs {
  display: flex !important;
  gap: 28px !important;
  border-bottom: 1px solid var(--rule) !important;
  padding: 0 !important;
  margin: 0 0 32px 0 !important;
  align-items: stretch !important;
}
.results-tabs__tab {
  background: transparent !important;
  border: 0 !important;
  padding: 12px 0 !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--ink-mute) !important;
  cursor: pointer !important;
  border-bottom: 2px solid transparent !important;
  margin-bottom: -1px !important;
  transition: color .15s, border-color .15s !important;
}
.results-tabs__tab:hover { color: var(--ink) !important; }
.results-tabs__tab--active {
  color: var(--ink) !important;
  border-bottom-color: var(--ink) !important;
}

/* ===== Results grid (severity stats) ===== */
.results-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important;
  gap: 16px !important;
  margin-bottom: 28px !important;
}

/* ===== Health Score Badge ===== */
.health-score { text-align: center !important; margin: 0 auto 32px !important; }
.health-score__badge {
  width: 140px !important;
  height: 140px !important;
  border-radius: 50% !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 auto 14px !important;
  background: #fff !important;
  border: 3px solid var(--rule) !important;
  position: relative !important;
}
.health-score__badge--good     { border-color: var(--green) !important; background: var(--green-soft) !important; }
.health-score__badge--moderate { border-color: var(--amber) !important; background: var(--amber-soft) !important; }
.health-score__badge--poor     { border-color: var(--rust-2) !important; background: var(--rust-soft) !important; }
.health-score__value {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 56px !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  color: var(--ink) !important;
  line-height: 1 !important;
}
.health-score__badge--good     .health-score__value { color: var(--green) !important; }
.health-score__badge--moderate .health-score__value { color: var(--amber) !important; }
.health-score__badge--poor     .health-score__value { color: var(--rust-2) !important; }
.health-score__label {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11.5px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: var(--ink-mute) !important;
  margin-top: 6px !important;
}
.health-score__summary { color: var(--ink-dim) !important; }

/* ===== Health Category cards ===== */
.health-categories {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important;
  gap: 14px !important;
}
.health-category-card {
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 10px !important;
  padding: 20px !important;
}
.health-category-card__name {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .08em !important;
  color: var(--ink-mute) !important;
  margin-bottom: 10px !important;
  font-weight: 500 !important;
}
.health-category-card__score {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 36px !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  line-height: 1 !important;
}
.health-category-card__score--good     { color: var(--green) !important; }
.health-category-card__score--moderate { color: var(--amber) !important; }
.health-category-card__score--poor     { color: var(--rust-2) !important; }
.health-category-card__bar {
  height: 3px !important;
  background: var(--paper-3) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  margin-top: 12px !important;
}
.health-category-card__fill { height: 100% !important; }
.health-category-card__fill--good     { background: var(--green) !important; }
.health-category-card__fill--moderate { background: var(--amber) !important; }
.health-category-card__fill--poor     { background: var(--rust-2) !important; }

/* ===== Issue items / failing-checks ===== */
.issue-item, .health-check-item, .failing-check {
  padding: 18px 20px !important;
  border: 1px solid var(--rule) !important;
  border-radius: 6px !important;
  margin-bottom: 10px !important;
  background: var(--paper) !important;
}
.issue-item__header, .health-check-item__header, .failing-check__header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin-bottom: 8px !important;
  flex-wrap: wrap !important;
}
.issue-item__title, .health-check-item__title, .failing-check__name {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  font-size: 16px !important;
  letter-spacing: -0.005em !important;
}
.issue-item__desc, .health-check-item__desc {
  color: var(--ink-dim) !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  margin: 4px 0 0 !important;
}
.health-check-item__rec {
  font-size: 13px !important;
  color: var(--ink-mute) !important;
  font-style: italic !important;
}
.health-check-item__category {
  margin-left: auto !important;
}
.failing-check__cat {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: var(--ink-mute) !important;
  margin-left: auto !important;
}

/* ===== Purchase card (dark ink CTA) ===== */
.purchase-card {
  background: var(--ink) !important;
  color: var(--paper) !important;
  border: 1px solid var(--ink) !important;
  border-radius: 10px !important;
  padding: 36px !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
}
.purchase-card::before {
  content: "";
  position: absolute;
  inset: 0;
  opacity: .06;
  pointer-events: none;
  background-image: linear-gradient(#fff 1px, transparent 1px), linear-gradient(90deg, #fff 1px, transparent 1px);
  background-size: 48px 48px;
}
.purchase-card h2 {
  color: var(--paper) !important;
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 26px !important;
  font-weight: 500 !important;
  letter-spacing: -0.015em !important;
  margin-bottom: 10px !important;
  position: relative !important;
}
.purchase-card p {
  color: #bfc2ca !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
  margin: 0 0 18px !important;
  position: relative !important;
}
.purchase-card form { position: relative; }
.purchase-card .btn--white,
.purchase-card .btn--primary {
  background: var(--paper) !important;
  color: var(--ink) !important;
  border: 0 !important;
  margin-top: 8px !important;
}
.purchase-card .btn--white:hover,
.purchase-card .btn--primary:hover { background: #fff !important; }

/* ===== Trust badges row ===== */
.trust-badges {
  display: flex !important;
  justify-content: center !important;
  gap: 20px !important;
  margin-top: 18px !important;
  flex-wrap: wrap !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .06em !important;
  color: #bfc2ca !important;
  position: relative !important;
}
.trust-badges span {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* ===== Blurred guide preview ===== */
.blurred-preview {
  position: relative !important;
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 10px !important;
  padding: 28px !important;
  overflow: hidden !important;
  min-height: 240px !important;
}
.blurred-preview__content {
  filter: blur(5px) !important;
  pointer-events: none !important;
  user-select: none !important;
}
.blurred-preview__overlay {
  position: absolute !important;
  inset: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(250, 248, 243, 0.88) !important;
  backdrop-filter: blur(2px) !important;
  gap: 16px !important;
}
.blurred-preview__overlay p {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 22px !important;
  color: var(--ink) !important;
  margin: 0 !important;
  font-style: italic !important;
}

/* ===== Scanning page (progress UI) ===== */
.scanning {
  text-align: center !important;
  padding: 56px 0 64px !important;
}
.scanning__spinner {
  width: 48px !important;
  height: 48px !important;
  border: 3px solid var(--rule) !important;
  border-top-color: var(--rust-2) !important;
  border-radius: 50% !important;
  margin: 0 auto 24px !important;
  animation: wr-spin 1s linear infinite !important;
  position: relative !important;
}
@keyframes wr-spin { to { transform: rotate(360deg); } }
.scanning__url {
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 13px !important;
  color: var(--ink-dim) !important;
  background: var(--paper-2) !important;
  border: 1px solid var(--rule) !important;
  padding: 8px 14px !important;
  border-radius: 6px !important;
  margin: 0 auto 24px !important;
  display: inline-block !important;
  word-break: break-all !important;
  letter-spacing: .02em !important;
}
.scanning__progress-bar {
  height: 3px !important;
  background: var(--paper-3) !important;
  border-radius: 2px !important;
  overflow: hidden !important;
  margin: 0 auto 16px !important;
  max-width: 420px !important;
}
.scanning__progress-fill {
  height: 100% !important;
  background: var(--green) !important;
  transition: width .4s ease !important;
  border-radius: 2px !important;
}
.scanning__pulse {
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  background: var(--rust) !important;
  border-radius: 50% !important;
  margin-right: 6px !important;
  animation: wr-pulse 1.6s ease infinite !important;
}
@keyframes wr-pulse { 0%,100% { opacity: 1; } 50% { opacity: .3; } }

/* ===== Fade-up reveal alias (legacy) ===== */
.fade-up { opacity: 1; transform: none; }

/* ===== Visually hidden ===== */
.visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0,0,0,0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/* ===== Pricing page specific ===== */
.pricing-hero {
  padding: 56px 0 40px !important;
  text-align: center !important;
  background: transparent !important;
  border-bottom: 1px solid var(--rule) !important;
}
.pricing-grid {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
}
.pricing__card {
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 10px !important;
  padding: 30px 24px !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
}
.pricing__tier {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 18px !important;
  font-weight: 500 !important;
  color: var(--ink) !important;
  margin-bottom: 6px !important;
}
.pricing__price {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: 44px !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  line-height: 1 !important;
  color: var(--ink) !important;
  margin: 10px 0 !important;
}
.pricing__badge {
  background: var(--ink) !important;
  color: var(--paper) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  padding: 3px 10px !important;
  border-radius: 3px !important;
  border: 0 !important;
}
.pricing__save {
  background: var(--green-soft) !important;
  color: var(--green) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 10.5px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  font-weight: 500 !important;
  padding: 4px 8px !important;
  border-radius: 3px !important;
  margin-top: 8px !important;
}
.compare-table {
  border-collapse: collapse !important;
  width: 100% !important;
  font-size: 14px !important;
  color: var(--ink-dim) !important;
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.compare-table th, .compare-table td {
  padding: 12px 16px !important;
  text-align: center !important;
  border-bottom: 1px solid var(--rule) !important;
}
.compare-table th {
  background: var(--paper-2) !important;
  font-family: 'JetBrains Mono', monospace !important;
  font-size: 11px !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: var(--ink-mute) !important;
  font-weight: 500 !important;
}
.compare-table td:first-child, .compare-table th:first-child {
  text-align: left !important;
  color: var(--ink) !important;
}
.compare-table .col-ours { background: var(--paper) !important; }
.check-yes { color: var(--green) !important; font-weight: 600 !important; }
.check-no { color: var(--ink-mute) !important; }

/* ===== Form inputs (legacy .form-input class) ===== */
.form-input, .form-row input, .form-row textarea, .form-row select,
input[type=text], input[type=email], input[type=password], input[type=url], input[type=tel], input[type=number],
textarea, select {
  background: #fff !important;
  border: 1px solid var(--rule-2) !important;
  color: var(--ink) !important;
  border-radius: 6px !important;
  padding: 11px 14px !important;
  font-family: 'Inter', system-ui, sans-serif !important;
  font-size: 14px !important;
  outline: 0 !important;
  transition: border-color .15s !important;
}
.form-input:focus, input:focus, textarea:focus, select:focus {
  border-color: var(--ink) !important;
}
.form-input--lg { padding: 14px 16px !important; font-size: 15px !important; }

/* ===== CTA section (legacy marketing band) ===== */
.cta-section {
  background: var(--paper-2) !important;
  border-top: 1px solid var(--rule) !important;
  border-bottom: 1px solid var(--rule) !important;
  padding: 64px 0 !important;
}
.cta-section h2 {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-size: clamp(28px, 3.2vw, 40px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em !important;
  color: var(--ink) !important;
  text-align: center !important;
  margin-bottom: 14px !important;
}
.cta-section p {
  color: var(--ink-dim) !important;
  text-align: center !important;
  font-size: 17px !important;
  max-width: 56ch !important;
  margin: 0 auto 24px !important;
}

/* ===== Blog post legacy containers ===== */
.post-header h1, .blog-post h1, .post__title {
  font-family: 'Source Serif 4', Georgia, serif !important;
  font-weight: 500 !important;
  letter-spacing: -0.025em !important;
  color: var(--ink) !important;
  font-size: clamp(32px, 5vw, 56px) !important;
  line-height: 1.05 !important;
}

/* ===== Tables (generic) ===== */
table { background: transparent; }
table.mb-3 th, table.mb-3 td { padding: 10px 14px; border-bottom: 1px solid var(--rule); }

/* ===== Alert / alerts (inline bordered boxes) ===== */
.alert, .alert-danger, .alert-error {
  background: var(--rust-soft) !important;
  border: 1px solid var(--rust-2) !important;
  color: var(--rust-2) !important;
  padding: 12px 16px !important;
  border-radius: 6px !important;
  margin-bottom: 16px !important;
  font-size: 14px !important;
}
.alert-success {
  background: var(--green-soft) !important;
  border: 1px solid var(--green) !important;
  color: var(--green) !important;
}
.alert-warning {
  background: var(--amber-soft) !important;
  border: 1px solid var(--amber) !important;
  color: var(--amber) !important;
}

/* ===== Dashboard-style panels (account area) ===== */
.dashboard-grid, .panel-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)) !important;
  gap: 1px !important;
  background: var(--rule) !important;
  border: 1px solid var(--rule) !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}
.dashboard-panel, .panel {
  background: var(--paper) !important;
  padding: 24px !important;
}

/* ===== Utility spacing (preserve legacy .mb-*, .mt-* from main.min.css fallback) ===== */
/* main.min.css likely already provides these — this is a safety net */
.mb-1 { margin-bottom: 8px !important; }
.mb-2 { margin-bottom: 16px !important; }
.mb-3 { margin-bottom: 24px !important; }
.mb-4 { margin-bottom: 32px !important; }
.mt-1 { margin-top: 8px !important; }
.mt-2 { margin-top: 16px !important; }
.mt-3 { margin-top: 24px !important; }
.mt-4 { margin-top: 32px !important; }

/* ===== Responsive ===== */
@media (max-width: 900px) {
  .pricing-grid { grid-template-columns: 1fr; }
  .results-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 600px) {
  .results-grid { grid-template-columns: 1fr; }
  .results-tabs { gap: 16px; overflow-x: auto; flex-wrap: nowrap; }
}
