/* Self-check v2: accessible, answer-driven results */
.hub-card { color: inherit; text-decoration: none; }
.hub-card:focus-visible,
.btn:focus-visible,
.back-to-hub-btn:focus-visible,
.result-link-card:focus-visible,
.segment-choice:has(input:focus-visible),
.common-choice:has(input:focus-visible),
.check-item-label:has(input:focus-visible) {
  outline: 3px solid rgba(107, 142, 35, .35);
  outline-offset: 3px;
}
.checker-progress-row { display:flex; justify-content:space-between; gap:12px; align-items:center; margin:18px 0 24px; color:var(--text-sub); font-size:.85rem; }
.step-label { margin:26px 0 12px; font-size:1rem; font-weight:800; color:var(--text-main); }
.segment-choice-grid, .common-choice-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.segment-choice, .common-choice { position:relative; cursor:pointer; }
.segment-choice input, .common-choice input { position:absolute; opacity:0; pointer-events:none; }
.segment-choice span, .common-choice span { display:flex; min-height:48px; align-items:center; justify-content:center; text-align:center; border:1px solid rgba(107,142,35,.2); border-radius:10px; background:#faf8f5; padding:10px 12px; font-size:.88rem; font-weight:700; transition:.2s; }
.segment-choice input:checked + span, .common-choice input:checked + span { background:var(--accent-soft); border-color:var(--accent); color:var(--accent); box-shadow:0 0 0 2px rgba(107,142,35,.08); }
.check-item-urgent { background:#fff8ef; border-color:#e3b66f; }
.urgent-question-box { padding:18px; margin:18px 0 24px; border:1px solid #e3b66f; border-radius:12px; background:#fffaf2; }
.urgent-question-title { font-size:.95rem; font-weight:800; color:#6b4a1f; margin-bottom:4px; }
.urgent-question-desc { font-size:.84rem; color:#7c674a; margin-bottom:12px; }
.common-questions { display:grid; gap:16px; margin-bottom:28px; }
.common-question-group { border:0; padding:0; margin:0; }
.common-question-group legend { font-weight:750; font-size:.9rem; margin-bottom:8px; color:var(--text-main); }
.inline-validation { min-height:22px; margin:12px 0; padding:0 4px; color:#a33b2b; font-size:.9rem; font-weight:700; }
.inline-validation:not(:empty) { padding:12px 14px; border-radius:8px; background:#fff1ee; border:1px solid #efc4bc; }
.result-direct-answer { font-size:1.05rem; line-height:1.75; color:var(--text-main); font-weight:700; padding:18px 20px; border-left:4px solid var(--accent); background:var(--accent-soft); border-radius:0 10px 10px 0; margin-bottom:22px; }
.result-context-item { color:var(--text-main)!important; font-weight:700; margin-top:6px; }
.result-link-section { margin-bottom:28px; }
.result-link-section h3 { font-size:1.02rem; margin-bottom:6px; }
.result-link-section > p { color:var(--text-sub); font-size:.88rem; margin-bottom:12px; }
.result-link-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
.result-link-card { display:flex; flex-direction:column; gap:7px; padding:18px; border:1px solid rgba(107,142,35,.2); border-radius:12px; background:#fff; min-height:140px; transition:.2s; }
.result-link-card:hover { transform:translateY(-2px); border-color:var(--accent); box-shadow:0 8px 22px rgba(107,142,35,.1); }
.result-link-card strong { font-size:.98rem; color:var(--text-main); }
.result-link-card span { flex:1; font-size:.82rem; color:var(--text-sub); line-height:1.55; }
.result-link-card em { font-size:.82rem; color:var(--accent); font-style:normal; font-weight:800; }
.result-action-bar { position:sticky; bottom:12px; z-index:20; display:flex; gap:10px; margin:24px 0 32px; padding:10px; background:rgba(255,255,255,.94); backdrop-filter:blur(10px); border:1px solid rgba(107,142,35,.18); border-radius:999px; box-shadow:0 12px 30px rgba(0,0,0,.08); }
.result-action-bar .btn { padding:12px 18px; }
.urgent-result-box { padding:28px; border:2px solid #bb482f; border-radius:14px; background:#fff4f1; color:#5f2a20; }
.urgent-result-box h3 { font-size:1.3rem; margin-bottom:12px; }
.urgent-result-box p { margin:8px 0; line-height:1.7; }
.urgent-result-box ul { margin:16px 0; padding-left:20px; }
.urgent-result-action { font-weight:800; }
.consultation-trust-row { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0 24px; }
.consultation-trust-row div { padding:12px; border-radius:10px; background:#faf8f5; text-align:center; font-size:.8rem; color:var(--text-sub); }
.consultation-form-section { scroll-margin-bottom:150px; }
.consultation-state-card { display:none; margin:22px 0; padding:26px; border-radius:8px; border:1px solid rgba(107,142,35,.22); background:#f7faf0; box-shadow:0 14px 34px rgba(44,68,20,.08); scroll-margin:120px 0 170px; }
.consultation-state-card.is-visible { display:block; }
.consultation-state-card.is-error { border-color:#e0a39a; background:#fff2ef; box-shadow:0 14px 34px rgba(150,60,45,.08); }
.consultation-state-eyebrow { font-size:.78rem; font-weight:800; letter-spacing:.08em; color:var(--accent); text-transform:uppercase; margin-bottom:8px; }
.consultation-state-card.is-error .consultation-state-eyebrow { color:#a33b2b; }
.consultation-state-title { font-size:1.35rem; line-height:1.35; color:var(--text-main); font-weight:900; margin-bottom:10px; }
.consultation-state-desc { font-size:.95rem; line-height:1.75; color:var(--text-sub); margin-bottom:14px; }
.consultation-state-meta { display:flex; flex-wrap:wrap; gap:8px; margin-top:14px; }
.consultation-state-meta span { display:inline-flex; align-items:center; min-height:32px; padding:7px 12px; border-radius:999px; background:#fff; border:1px solid rgba(107,142,35,.16); color:var(--text-main); font-size:.84rem; font-weight:750; }
.consultation-state-actions { margin-top:18px; display:flex; gap:10px; flex-wrap:wrap; }
.consultation-state-actions .btn { flex:0 1 auto; min-width:150px; }
.back-to-hub-btn { background:none; border:0; padding:0; font:inherit; }
@media(max-width:700px){
 .segment-choice-grid,.common-choice-grid,.result-link-grid,.consultation-trust-row{grid-template-columns:1fr;}
 .result-action-bar{border-radius:16px; flex-direction:column; bottom:8px;}
 .checker-progress-row{align-items:flex-start; flex-direction:column;}
 .consultation-state-card{padding:22px 18px; margin-bottom:110px;}
 .consultation-state-title{font-size:1.18rem;}
 .consultation-state-actions{flex-direction:column;}
 .consultation-state-actions .btn{width:100%;}
}

.result-attention {
  margin-top: 16px;
  padding: 14px 16px;
  border-radius: 12px;
  background: rgba(107, 142, 35, 0.09);
  border: 1px solid rgba(107, 142, 35, 0.22);
  color: #34431e;
  font-weight: 700;
  line-height: 1.65;
}

.urgent-guide-link {
  margin-top: 16px;
  font-weight: 800;
  color: #5b741f;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.quick-time-options {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 10px;
}

.quick-time-options button {
  min-height: 40px;
  padding: 8px 13px;
  border: 1px solid rgba(107, 142, 35, 0.28);
  border-radius: 999px;
  background: #fff;
  color: #445622;
  font: inherit;
  font-weight: 750;
  cursor: pointer;
}

.quick-time-options button:hover,
.quick-time-options button:focus-visible,
.quick-time-options button.is-selected {
  background: rgba(107, 142, 35, 0.12);
  border-color: #6b8e23;
  outline: none;
}

/* Dedicated entry points for clearly diagnosed or highly specific conditions. */
.hub-section-featured {
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(90, 128, 113, 0.24);
  border-radius: 24px;
  padding: clamp(24px, 4vw, 42px);
  background: linear-gradient(145deg, rgba(247, 251, 249, 0.98), rgba(255, 252, 247, 0.96));
}
.hub-section-featured::after {
  content: '';
  position: absolute;
  width: 220px;
  height: 220px;
  right: -90px;
  top: -110px;
  border-radius: 50%;
  background: rgba(127, 162, 146, 0.08);
  pointer-events: none;
}
.hub-section-kicker,
.hub-card-eyebrow {
  color: var(--accent, #567565);
  font-weight: 700;
  letter-spacing: 0.04em;
}
.hub-section-kicker {
  margin-bottom: 8px;
  font-size: 0.82rem;
}
.hub-section-intro {
  margin: -6px 0 22px;
  color: var(--text-sub);
  font-size: 0.94rem;
  line-height: 1.7;
}
.hub-grid-featured {
  position: relative;
  z-index: 1;
}
.hub-card-featured {
  min-height: 210px;
  background: rgba(255,255,255,0.92);
}
.hub-card-featured:hover {
  transform: translateY(-4px);
}
.hub-card-eyebrow {
  margin-bottom: 8px;
  font-size: 0.74rem;
}
@media (max-width: 720px) {
  .hub-section-featured { padding: 22px 16px; border-radius: 18px; }
  .hub-card-featured { min-height: 0; }
}
