/* Source guide: pages/individuals.css
 * Page-specific presentation.
 * Load order: base.css, components.css, page stylesheet, refresh.css.
 * Later rules intentionally refine earlier layouts; preserve cascade order.
 */

/* Individual journey: practical support, a clear team model, and coverage lookup. */
/* Group: Patient needs and support options. */
.needs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 45px;
}
.needs-grid article {
  padding-top: 26px;
  border-top: 1px solid #cbd4df;
}
.need-number {
  color: var(--teal-ink);
  font-size: 12px;
  display: block;
  margin-bottom: 35px;
}
.needs-grid h3 {
  font-size: 23px;
  max-width: 280px;
}
.needs-grid p {
  font-size: 14px;
  color: var(--muted);
  margin-top: 18px;
}
/* Group: Coverage introduction and insurance link. */
.coverage-layout {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 85px;
  align-items: start;
}
.coverage-panel {
  background: var(--tint);
  padding: 35px;
  border-radius: 16px;
}
.coverage-panel h3 {
  font-size: 23px;
  margin-bottom: 12px;
}
.coverage-panel > .small {
  margin-bottom: 25px;
}
.coverage-panel .field {
  margin-top: 25px;
}
/* Inset the dropdown chevron while retaining the native select behavior. */
#coverage-state {
  appearance: none;
  padding-right: 44px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath d='m4 6 4 4 4-4' fill='none' stroke='%23262D60' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 16px 16px;
}
.coverage-prompt {
  padding: 20px 0 35px;
  font-size: 20px;
  line-height: 1.5;
}
/* Group: Payer-list presentation. */
.coverage-payers {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 20px 0 25px;
}
.coverage-payers li {
  font-size: 12px;
  padding: 6px 10px;
  background: white;
  border: 1px solid #ccdce7;
  border-radius: 4px;
  margin: 0;
}
#coverage-result h4 {
  font-size: 19px;
}
#coverage-result > p {
  font-size: 14px;
  margin-bottom: 20px;
}
/* Viewport (max-width: 900px): component adjustments at this breakpoint. */
@media (max-width: 900px) {
  .coverage-layout {
    gap: 35px;
  }
  .needs-grid {
    gap: 25px;
  }
}
/* Viewport (max-width: 700px): component adjustments at this breakpoint. */
@media (max-width: 700px) {
  .needs-grid,
  .coverage-layout {
    grid-template-columns: 1fr;
  }
  .needs-grid {
    gap: 30px;
  }
  .need-number {
    margin-bottom: 20px;
  }
  .coverage-panel {
    padding: 25px;
  }
}

/* Separate the coverage action from its verification note. */
.coverage-panel .actions + .small {
  margin-top: 22px;
}

/* Fully padded support cards with aligned desktop text rows. */
.page-individuals .needs-grid { gap:24px; align-items:stretch; }
.page-individuals .needs-grid article {
  padding:30px; background:#fff; border:1px solid #e1e6ef;
  display:grid; grid-template-rows:auto 1fr;
}
.page-individuals .needs-grid h3 { max-width:none; margin:0; line-height:1.4; min-height:2.8em; }
.page-individuals .needs-grid p { margin:18px 0 0; line-height:1.7; }
@media(max-width:700px) {
  .page-individuals .needs-grid article { padding:24px; }
  .page-individuals .needs-grid h3 { min-height:0; }
}

/* Individual support steps sit in clear, softly raised white panels. */
.page-individuals #your-team .numbered-list { display:grid; gap:16px; margin-top:28px; }
.page-individuals #your-team .numbered-list li { padding:24px; background:#fff; border:1px solid #e2e8f1; border-radius:20px; box-shadow:0 8px 24px rgba(38,45,96,.06); grid-template-columns:32px minmax(0,1fr); gap:16px; }
.page-individuals #your-team .numbered-list li::before { color:#262d60; font-weight:600; }
.page-individuals #your-team .numbered-list h3 { margin:0 0 8px; }
.page-individuals #your-team .numbered-list p { margin:0; }
.page-individuals .individual-coverage-map { margin:24px auto; max-width:330px; }
.page-individuals .individual-coverage-map img { display:block; width:100%; height:auto; }
@media(max-width:600px) { .page-individuals #your-team .numbered-list li { padding:20px; gap:12px; } }
