/* Vaccines page (round 4): flu clinic cards, and the blank Vaccine Consent Form that prints on US Letter. */
.mp-flu-cards { display: grid; gap: 16px; grid-template-columns: 1fr; }
@media (min-width: 860px) { .mp-flu-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mp-flu-card { margin: 0; display: flex; flex-direction: column; }
.mp-flu-card h3 { overflow-wrap: anywhere; }
.mp-flu-addr { font-weight: 600; color: var(--rr-theme-ink-strong); margin-bottom: 4px !important; }
.mp-flu-dates { list-style: none; margin: 10px 0 0; padding: 0; display: grid; gap: 6px; }
.mp-flu-dates li { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 10px; padding: 8px 10px; border-radius: 8px; border: 1px solid var(--rr-theme-line); }
.mp-flu-dates time { font-weight: 700; color: var(--rr-theme-ink-strong); min-width: 7.5em; }
.mp-flu-time { color: var(--rr-theme-ink); }
.mp-flu-dates li.is-past { opacity: .55; }
.mp-flu-dates li.is-past time { text-decoration: line-through; text-decoration-thickness: 1px; }
.mp-flu-dates li.is-next { border: 2px solid var(--rr-theme-accent-base); background: var(--mp-note); }
.mp-flu-tag { margin-left: auto; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; padding: 1px 8px; border-radius: 999px; border: 1px solid currentColor; }
.is-next .mp-flu-tag { background: var(--rr-theme-accent-base); color: var(--rr-theme-on-accent); border-color: transparent; }
.mp-flu-cta { margin-top: 18px !important; font-weight: 700; font-size: 1.0625rem; }
.mp-flu-cta a { display: inline-flex; align-items: center; min-height: 44px; }
.mp-flu-note { margin-top: 10px !important; }
.mp-vac button.mp-btn { cursor: pointer; }

/* The paper form: always black ink on white paper, in every theme and style. */
.vf-sheet { margin-top: 18px; background: #fff; color: #111; border: 1px solid var(--rr-theme-line-strong); border-radius: 6px; padding: clamp(14px, 4vw, 40px);
  font-family: Arial, Helvetica, sans-serif; font-size: .875rem; line-height: 1.35; box-shadow: 0 12px 30px -18px rgba(0, 0, 0, .5); color-scheme: light; }
.vf-sheet h2.vf-title { color: #111 !important; font-family: Calibri, Carlito, Arial, sans-serif; font-weight: 400; font-size: 1.75rem; margin: 0 0 10px; }
.vf-frame { border: 1px solid #111; }
.vf-bar { height: 10px; background: #111; margin: 0 6% 0 9%; }
.vf-fields { padding: 8px 10px 4px; font-family: "Times New Roman", Times, serif; font-weight: 700; }
.vf-row { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 4px 6px; margin: 0 0 9px !important; }
.vf-l { white-space: nowrap; }
.vf-sp { margin-left: 12px; white-space: normal; }
.vf-line { display: inline-block; border-bottom: 1px solid #111; height: 1.1em; min-width: 2.5em; }
.vf-grow { flex: 1 1 8em; }
.vf-w-xs { width: 2.2em; } .vf-w-s { width: 3.6em; } .vf-w-m { width: 6em; } .vf-w-l { width: 9em; } .vf-w-xl { flex: 1 1 7em; max-width: 13em; } .vf-w-xxl { flex: 1 1 14em; max-width: 24em; }
.vf-date { display: inline-flex; align-items: flex-end; gap: 1px; }
.vf-box { display: inline-block; width: .85em; height: .85em; border: 1.5px solid #111; vertical-align: -1px; margin-right: 2px; flex: none; }
.vf-checks { justify-content: center; }
.vf-checks .vf-l { margin-right: 8px; }
.vf-sheet table { border-collapse: collapse; width: 100%; color: #111; }
.vf-q-table caption { caption-side: top; font-weight: 700; padding: 4px 6px; border-top: 1px solid #111; text-align: center; }
.vf-q-table th, .vf-q-table td { border: 1px solid #111; padding: 2px 6px; vertical-align: top; }
.vf-q-table thead th { font-weight: 700; padding: 2px 4px; }
.vf-q-table tr > :first-child { border-left: 0; }
.vf-q-table tr > :last-child { border-right: 0; }
.vf-q-table tbody tr:last-child td { border-bottom: 0; }
.vf-c-yn { width: 3.2em; } .vf-c-ex { width: 22%; }
.vf-q { padding-left: 2.2em !important; text-indent: -1.6em; }
.vf-n { display: inline-block; width: 1.6em; text-indent: 0; }
.vf-sub th { text-align: left; font-weight: 700; font-style: italic; }
.vf-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.vf-consent { margin-top: 14px; }
.vf-consent p { margin: 0 0 6px !important; }
.vf-fill { font-weight: 700; text-decoration: underline; text-underline-offset: 2px; }
.vf-auth { display: flex; gap: 6px; align-items: flex-start; margin-top: 10px !important; }
.vf-auth .vf-box { margin-top: 3px; }
.vf-sign { margin-top: 16px !important; }
.vf-use-wrap { margin-top: 12px; overflow-x: auto; }
.vf-use { min-width: 640px; font-family: "Times New Roman", Times, serif; }
.vf-use caption { caption-side: top; text-align: left; font-size: 1rem; padding-bottom: 2px; }
.vf-use th, .vf-use td { border: 1px solid #111; padding: 3px 4px; text-align: center; font-size: .8125rem; }
.vf-use tbody td { height: 1.9em; }
.vf-use tfoot td { text-align: left; font-family: Arial, Helvetica, sans-serif; }
.vf-admin { margin: 0 !important; padding-top: 4px; }
.vf-bring { margin: 10px 0 0 !important; font-weight: 700; }

@media print {
  @page { size: letter; margin: 0.45in; }
  html, body { background: #fff !important; color: #111 !important; }
  body > *:not(main) { display: none !important; }
  main.mp-page { display: block !important; margin: 0 !important; padding: 0 !important; max-width: none !important; width: auto !important; }
  main.mp-page > *:not(.mp-vac) { display: none !important; }
  .mp-vac { display: block !important; margin: 0 !important; padding: 0 !important; }
  .mp-vac > *:not(.vf-sheet) { display: none !important; }
  .vf-sheet { margin: 0; border: 0; border-radius: 0; box-shadow: none; padding: 0; font-size: 10pt; line-height: 1.28; }
  .vf-sheet h2.vf-title { font-size: 19pt; margin-bottom: 6pt; }
  .vf-row { margin-bottom: 7pt !important; }
  .vf-use-wrap { overflow: visible; }
  .vf-use { min-width: 0; }
  .vf-use th, .vf-use td { font-size: 8.5pt; }
  .vf-q-table, .vf-use, .vf-consent, .vf-frame { break-inside: avoid; }
}
