/* Instant Renewal Check and Health Plan Renewal Snapshot form. Warm palette to match the pages. */
.snap-card {
  background: #fffdf8;
  border: 1px solid #e3d8c6;
  border-radius: 10px;
  padding: 1.25rem;
  margin: 1rem 0;
  color: #2c241c;
  max-width: 46rem;
  box-sizing: border-box;
}
.snap-card *, .snap-card *::before, .snap-card *::after { box-sizing: border-box; }
.snap-grid { display: grid; gap: 0.9rem 1rem; grid-template-columns: 1fr; margin-bottom: 0.9rem; }
@media (min-width: 640px) {
  .snap-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .snap-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.snap-field { display: flex; flex-direction: column; min-width: 0; }
.snap-field label, .snap-label, .snap-fieldset legend {
  font-weight: 600;
  font-size: 0.92rem;
  margin-bottom: 0.3rem;
  color: #241c16;
}
.snap-card input[type="text"], .snap-card input[type="email"], .snap-card input[type="number"], .snap-card select {
  width: 100%;
  min-height: 44px;
  padding: 0.55rem 0.65rem;
  font: inherit;
  font-size: 1rem;
  color: #241c16;
  background: #ffffff;
  border: 1px solid #b9a58a;
  border-radius: 6px;
}
.snap-card input:focus-visible, .snap-card select:focus-visible, .snap-card button:focus-visible, .snap-card a:focus-visible {
  outline: 3px solid #6b4a2e;
  outline-offset: 2px;
}
.snap-inline { display: flex; gap: 0.5rem; }
.snap-inline select { flex: 1 1 0; min-width: 0; }
.snap-fieldset { border: 0; padding: 0; margin: 0 0 0.9rem; min-width: 0; }
.snap-help { font-size: 0.88rem; color: #5c5146; margin: 0.3rem 0 0; }
.snap-form-intro { margin: 0 0 0.9rem; }
.snap-check-row { display: flex; gap: 0.6rem; align-items: flex-start; margin: 0.2rem 0 1rem; }
.snap-check-row input { width: 20px; height: 20px; margin-top: 2px; flex: none; }
.snap-check-row label { font-size: 0.95rem; }
.snap-hp { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.snap-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
.cf-turnstile { margin: 0 0 1rem; min-height: 65px; }
.snap-card .cta-button { border: 1px solid #6b4a2e; background: #6b4a2e; color: #ffffff; cursor: pointer; font: inherit; font-weight: 600; }
.snap-card .cta-button:hover { background: #563b24; border-color: #563b24; }
.snap-card button.cta-button:disabled { opacity: 0.55; cursor: wait; }
.snap-status { margin-top: 0.75rem; }
.snap-error { color: #8a2c1d; font-weight: 600; }
.snap-ok { color: #2f5d34; }
.snap-result { margin-top: 1rem; }
.snap-result:focus { outline: none; }
.snap-result:not(:empty) { border-top: 1px solid #e3d8c6; padding-top: 1rem; }
.snap-result-lead { font-size: 1.15rem; font-weight: 600; color: #241c16; margin: 0 0 0.6rem; }
.snap-result-list { margin: 0 0 0.8rem; padding-left: 1.2rem; }
.snap-result-list li { margin-bottom: 0.45rem; }
.snap-disclaimer { font-size: 0.88rem; color: #5c5146; margin: 0 0 0.9rem; }
.snap-actions { margin: 0; }
.snap-note { background: #fffdf8; border: 1px solid #e3d8c6; border-radius: 8px; padding: 0.8rem 1rem; }
.snap-sources { font-size: 0.82rem; color: #5c5146; margin-top: 0.5rem; }
.snap-sources a { color: #6b4a2e; }
