/* 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;
}
