/**
 * Article-to-home continuity and plan finder.
 * Deliberately isolated from the core theme bundle.
 */

.sbcc-funnel-continuity {
  margin: 1.5rem 0 2rem;
  color: var(--sbcc-ink, #25314b);
}

.sbcc-funnel-continuity__return {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1rem;
  padding: 0.9rem 1rem;
  border: 1px solid #c9ddd4;
  border-radius: 1rem;
  background: #eaf4ef;
  box-shadow: 0 8px 24px rgba(24, 38, 67, 0.06);
}

.sbcc-funnel-continuity__return[hidden] { display: none; }
.sbcc-funnel-continuity__return > span { color: #344c76; font-size: 1.35rem; line-height: 1; }
.sbcc-funnel-continuity__return p { margin: 0; color: #3f5c52; font-size: 0.9rem; font-weight: 720; }

.sbcc-plan-finder {
  overflow: hidden;
  border: 1px solid var(--sbcc-line, #dfe4ed);
  border-radius: 1.35rem;
  background: #fff;
  box-shadow: 0 14px 40px rgba(24, 38, 67, 0.08);
}

.sbcc-plan-finder__heading { padding: 1.35rem 1.4rem 0.35rem; }
.sbcc-plan-finder__eyebrow { margin: 0 0 0.35rem; color: #657653; font-size: 0.72rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
.sbcc-plan-finder__heading h3 { margin: 0; color: var(--sbcc-midnight, #182643); font-family: var(--sbcc-serif, Georgia, serif); font-size: clamp(1.35rem, 3vw, 1.8rem); line-height: 1.15; }
.sbcc-plan-finder__heading > p:last-child { max-width: 43rem; margin: 0.55rem 0 0; color: var(--sbcc-soft, #61708a); font-size: 0.9rem; }

.sbcc-plan-finder__choices { padding: 0.85rem 1.4rem 1.25rem; }
.sbcc-plan-finder__choices ul { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.55rem; margin: 0; padding: 0; list-style: none; }
.sbcc-plan-finder__choices a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3rem;
  padding: 0.65rem 0.75rem;
  border: 1px solid #cfd7e5;
  border-radius: 999px;
  background: #f8f7f2;
  color: #273958;
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  transition: border-color 160ms ease, background-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.sbcc-plan-finder__choices a:hover { border-color: #8299b9; background: #eef2f7; transform: translateY(-1px); }
.sbcc-plan-finder__choices a:focus-visible { outline: 3px solid #bfcc7e; outline-offset: 3px; }
.sbcc-plan-finder__choices a[aria-current="true"] { border-color: #334b75; background: #25385d; color: #fff; box-shadow: 0 7px 18px rgba(37, 56, 93, 0.18); }

.sbcc-plan-finder__result {
  display: none;
  grid-template-columns: minmax(0, 1.7fr) minmax(12rem, 0.8fr);
  gap: 1rem 1.25rem;
  padding: 1.25rem 1.4rem;
  border-top: 1px solid #dbe3ee;
  background: #f3f5f9;
  scroll-margin-top: 6rem;
}
.sbcc-plan-finder__result:target { display: grid; }
.sbcc-funnel-continuity.is-enhanced .sbcc-plan-finder__result:target { display: none; }
.sbcc-funnel-continuity.is-enhanced .sbcc-plan-finder__result.is-selected { display: grid; }
.sbcc-plan-finder__match { margin: 0 0 0.25rem; color: #657653; font-size: 0.69rem; font-weight: 900; letter-spacing: 0.08em; text-transform: uppercase; }
.sbcc-plan-finder__result h4 { margin: 0; color: #1d2d4b; font-family: var(--sbcc-serif, Georgia, serif); font-size: 1.2rem; }
.sbcc-plan-finder__result p:not(.sbcc-plan-finder__match) { margin: 0.45rem 0 0; color: #58677e; font-size: 0.86rem; }
.sbcc-plan-finder__chapter { display: flex; flex-direction: column; justify-content: center; padding: 0.85rem 1rem; border: 1px solid rgba(255,255,255,0.16); border-radius: 1rem; background: #243858; color: #fff; }
.sbcc-plan-finder__chapter span { color: #c8d3e4; font-size: 0.69rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.sbcc-plan-finder__chapter strong { margin-top: 0.25rem; color: #fff; font-family: var(--sbcc-serif, Georgia, serif); font-size: 1rem; }
.sbcc-plan-finder__handoff { grid-column: 1 / -1; display: flex; align-items: center; flex-wrap: wrap; gap: 0.55rem 0.8rem; padding-top: 0.15rem; }
.sbcc-plan-finder__share { display: inline-flex; align-items: center; gap: 0.35rem; color: #334e73; font-size: 0.79rem; font-weight: 850; text-underline-offset: 0.18em; }
.sbcc-plan-finder__share:focus-visible { outline: 3px solid #bfcc7e; outline-offset: 3px; border-radius: 0.2rem; }
.sbcc-plan-finder__handoff small { color: #557167; font-size: 0.74rem; font-weight: 700; }

.sbcc-step-grid > li.is-sbcc-funnel-match {
  border-color: #82996b;
  outline: 3px solid rgba(172, 194, 119, 0.42);
  outline-offset: 2px;
  box-shadow: 0 16px 36px rgba(49, 72, 65, 0.14);
}

.sbcc-chapters > article.is-sbcc-funnel-match {
  border-color: #d7df91;
  outline: 3px solid rgba(215, 223, 145, 0.34);
  outline-offset: 2px;
  background: rgba(255,255,255,0.11);
  box-shadow: 0 0 0 1px rgba(255,255,255,0.08), 0 16px 38px rgba(0,0,0,0.18);
}

@media (max-width: 760px) {
  .sbcc-plan-finder__heading { padding: 1.15rem 1.05rem 0.25rem; }
  .sbcc-plan-finder__choices { padding: 0.75rem 1.05rem 1.05rem; }
  .sbcc-plan-finder__choices ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sbcc-plan-finder__result,
  .sbcc-plan-finder__result:target,
  .sbcc-funnel-continuity.is-enhanced .sbcc-plan-finder__result.is-selected { grid-template-columns: 1fr; padding: 1.05rem; }
  .sbcc-plan-finder__chapter { min-height: 4.8rem; }
  .sbcc-funnel-continuity__return { align-items: flex-start; }
}

@media (prefers-reduced-motion: reduce) {
  .sbcc-plan-finder__choices a { transition: none; }
  .sbcc-plan-finder__choices a:hover { transform: none; }
}
