/* Expanded self-check. Kept separate so the safety flow can evolve independently. */
.self-check-hero { padding-bottom: 54px; }
.self-check-hero p:not(.eyebrow) { max-width: 760px; margin: 24px 0 0; color: var(--ink-soft); font-size: 1rem; }
.self-check-meta { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.self-check-meta span {
  display: inline-flex; align-items: center; min-height: 34px; padding: 7px 12px;
  border: 1px solid #c9dfdb; border-radius: 999px; background: rgba(255,255,255,.72);
  color: var(--navy); font-size: .75rem; font-weight: 800;
}

.expanded-check-layout { grid-template-columns: minmax(0, 840px) 280px; gap: 44px; }
.expanded-check-form { padding: 42px; }
.check-progress {
  display: grid; grid-template-columns: repeat(6, 1fr); gap: 6px; margin: 24px 0 0; padding: 0;
  list-style: none; counter-reset: check-step;
}
.check-progress li {
  min-width: 0; padding: 8px 4px; border-radius: 7px; background: var(--cloud);
  color: var(--ink-soft); font-size: .68rem; font-weight: 800; text-align: center;
}
.expanded-check-form fieldset { padding: 36px 0; }
.expanded-check-form legend { display: flex; align-items: center; gap: 12px; width: 100%; font-size: 1.13rem; }
.question-number {
  flex: 0 0 32px; width: 32px; height: 32px; display: inline-grid; place-items: center;
  border-radius: 50%; background: var(--navy); color: #fff; font-size: .75rem;
}
.age-grid { grid-template-columns: repeat(3, 1fr); }
.concern-grid { grid-template-columns: repeat(2, 1fr); }
.age-grid label > span { min-height: 70px; }
.concern-grid label > span { min-height: 86px; }
.form-row { display: grid; gap: 14px; margin-top: 20px; }
.form-row-three { grid-template-columns: repeat(3, 1fr); }
.form-row label { display: block; margin-bottom: 8px; color: var(--navy); font-size: .78rem; font-weight: 800; }
.form-row select { width: 100%; min-height: 48px; }

.warning-fieldset { position: relative; }
.warning-fieldset::before {
  content: ""; position: absolute; top: 26px; right: 0; bottom: 26px; left: -18px;
  z-index: 0; border-radius: 17px; pointer-events: none;
}
.warning-fieldset > * { position: relative; z-index: 1; }
.emergency-fieldset::before { background: linear-gradient(90deg, rgba(255,240,241,.9), transparent 78%); }
.urgent-fieldset::before { background: linear-gradient(90deg, rgba(255,247,223,.9), transparent 78%); }
.neutral-choices label:has(input:checked) { border-color: var(--teal); background: var(--mint); }
.neutral-choices input { accent-color: var(--teal); }
.urgent-choices label:has(input:checked) { border-color: #b47708; background: var(--warning-soft); }
.urgent-choices input { accent-color: #996000; }
.warning-choices label { min-height: 56px; align-items: center; }
.warning-choices input { width: 18px; height: 18px; margin-top: 0; }

.check-submit-row { padding-top: 30px; }
.check-submit-row p { max-width: 600px; margin: 0 0 18px; color: var(--ink-soft); font-size: .78rem; }
.check-submit-row .button { margin-top: 0; }
.health-consent {
  display: flex; gap: 10px; max-width: 680px; margin: 0 0 12px;
  color: var(--ink); font-size: .86rem; line-height: 1.45;
}
.health-consent input { flex: 0 0 auto; width: 18px; height: 18px; margin-top: 2px; }
.form-error { color: #9f1d20 !important; }
.check-sidebar { position: sticky; top: 116px; display: grid; gap: 16px; }
.check-explainer { padding: 24px; border: 1px solid var(--line); border-radius: 18px; background: #fff; }
.check-explainer h2 { margin: 0 0 14px; color: var(--navy); font-size: 1.05rem; }
.check-explainer ul { margin: 0; padding-left: 18px; color: var(--ink-soft); font-size: .8rem; }
.check-explainer li { margin: 9px 0; line-height: 1.45; }
.check-explainer p { margin: 16px 0 0; padding-top: 14px; border-top: 1px solid var(--line); color: var(--ink-soft); font-size: .77rem; }

.expanded-result { padding: 62px 0; }
.result-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .72fr); gap: 52px; align-items: start; }
.result-message { max-width: 720px; margin: 0; color: rgba(255,255,255,.88); }
.result-summary h2 { margin: 8px 0 14px; font-size: clamp(2rem, 4vw, 3rem); }
.result-evidence { margin-top: 28px; padding: 21px 23px; border: 1px solid rgba(255,255,255,.2); border-radius: 14px; background: rgba(255,255,255,.08); }
.result-evidence h3, .result-next-steps h3 { margin: 0 0 13px; color: #fff; font-family: var(--font-body); font-size: .83rem; letter-spacing: .08em; text-transform: uppercase; }
.result-evidence ul, .result-next-steps ol { margin: 0; padding-left: 21px; }
.result-evidence li, .result-next-steps li { margin: 9px 0; color: rgba(255,255,255,.9); font-size: .86rem; line-height: 1.5; }
.result-next-steps { padding: 27px; border-radius: 18px; background: rgba(255,255,255,.12); }
.result-safety-net { margin: 22px 0 0; padding-top: 18px; border-top: 1px solid rgba(255,255,255,.22); color: rgba(255,255,255,.9); font-size: .82rem; }
.expanded-result-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 15px; margin-top: 24px; text-align: left; }
.emergency-number span, .emergency-number strong { display: block; }
.emergency-number span { color: rgba(255,255,255,.75); font-size: .7rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.emergency-number strong { margin-top: 2px; color: #fff; font-size: 2.7rem; }
.result-restart { color: #fff; font-size: .8rem; font-weight: 800; text-decoration: underline; text-underline-offset: 3px; }

@media (max-width: 850px) {
  .expanded-check-layout, .result-grid { grid-template-columns: 1fr; }
  .check-sidebar { position: static; order: -1; grid-template-columns: repeat(2, 1fr); }
  .form-row-three { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .expanded-check-form { padding: 24px 18px; }
  .check-progress { grid-template-columns: repeat(3, 1fr); }
  .age-grid, .concern-grid { grid-template-columns: 1fr; }
  .check-sidebar { grid-template-columns: 1fr; }
  .warning-fieldset::before { left: -8px; }
  .result-next-steps { padding: 22px 18px; }
}
