/* ==========================================================
   second-opinion.css — page-specific rules only.
   Everything else (hero, btn, badge, checklist, faq-item,
   info-card, cta-card, section, container) comes from
   main.css / components.css — not redefined here.
   ========================================================== */

.breadcrumb-bar {
  border-bottom: 1px solid var(--color-border);
  padding-block: var(--sp-3);
}
.breadcrumb-bar .container {
  display: flex; align-items: center; gap: var(--sp-2);
  font-size: var(--text-sm); color: var(--color-text-muted);
}
.breadcrumb-bar a { color: var(--color-text-muted); }
.breadcrumb-bar a:hover { color: var(--kcc-magenta); }

.checklist--inline {
  display: flex; flex-wrap: wrap; justify-content: center;
  gap: var(--sp-2) var(--sp-6); list-style: none;
  margin-block: var(--sp-6); font-size: var(--text-sm); font-weight: 500;
}

/* India-vs-Baneshwor comparison — two-column contrast rows */
.so-compare__row {
  display: grid; grid-template-columns: 1fr 1fr; gap: var(--sp-4);
  padding-block: var(--sp-4); border-top: 1px solid var(--color-border);
  font-size: var(--text-sm);
}
.so-compare__row:first-child { border-top: none; }
.so-compare__row--head {
  font-size: var(--text-xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: 0.06em; color: var(--color-text-muted);
}
.so-compare__row span:first-child { color: var(--color-text-muted); }
.so-compare__highlight { color: var(--kcc-navy); font-weight: 600; }

/* Tumour board specialist badges */
.so-badge-row {
  display: flex; flex-wrap: wrap; gap: var(--sp-2);
  margin-top: var(--sp-6);
}

/* 3-step process */
.so-steps {
  list-style: none; margin-top: var(--sp-8);
  display: flex; flex-direction: column; gap: var(--sp-6);
}
.so-steps li {
  display: flex; gap: var(--sp-4); align-items: flex-start;
}
.so-steps__num {
  flex-shrink: 0; width: 36px; height: 36px; border-radius: var(--radius-full);
  border: 1.5px solid var(--kcc-magenta); color: var(--kcc-magenta);
  font-family: var(--font-serif); font-weight: 700;
  display: flex; align-items: center; justify-content: center;
}
.so-steps h3 { font-size: var(--text-lg); color: var(--kcc-navy); margin-bottom: var(--sp-1); }
.so-steps p { color: var(--color-text-secondary); font-size: var(--text-sm); }

@media (max-width: 640px) {
  .so-compare__row { grid-template-columns: 1fr; gap: var(--sp-1); }
  .so-compare__row span:first-child { text-decoration: line-through; opacity: .6; }
}

/* FAQ accordion — styled here directly, not assumed from components.css */
.faq-list {
  display: flex; flex-direction: column;
  border-top: 1px solid var(--color-border);
}
.faq-item {
  border-bottom: 1px solid var(--color-border);
}
.faq-item__trigger {
  width: 100%;
  display: flex; align-items: center; justify-content: space-between; gap: var(--sp-4);
  padding-block: var(--sp-5);
  background: none; border: none; cursor: pointer;
  font-family: var(--font-sans); font-size: var(--text-base); font-weight: 600;
  color: var(--kcc-navy); text-align: left;
}
.faq-item__icon {
  flex-shrink: 0; width: 22px; height: 22px; border-radius: var(--radius-full);
  border: 1.5px solid var(--color-border-strong);
  display: flex; align-items: center; justify-content: center;
  font-size: 10px; color: var(--color-text-muted);
  transition: transform var(--duration-base) var(--ease-out), border-color var(--duration-base);
}
.faq-item__trigger[aria-expanded="true"] .faq-item__icon {
  transform: rotate(180deg);
  border-color: var(--kcc-navy); color: var(--kcc-navy);
}
.faq-item__body {
  padding-bottom: var(--sp-5);
  padding-right: var(--sp-8);
  color: var(--color-text-secondary);
  font-size: var(--text-sm);
  line-height: var(--leading-relaxed, 1.75);
}
.faq-item__body[hidden] { display: none; }