/* PHSD Vaccine Ordering - vaccine tables, high-risk repeater and email
   confirmation. Scoped to body.phsd2-order-form. */

/* ===== Vaccine tables ===== */
body.phsd2-order-form .vax-wrap {
  font-family: UnitPro, sans-serif;
  font-weight: 300;
  color: var(--font-gray, #4b5563);
  font-size: 0.9375rem;
  width: 100%;
  box-sizing: border-box;
}body.phsd2-order-form .vax-wrap * { box-sizing: border-box; }body.phsd2-order-form .vax-table { width: 100%; border-collapse: collapse; border: 1px solid #cfd6df; }body.phsd2-order-form .vax-table th {
  background: #e1e5eb;
  text-align: left;
  font-weight: 400;
  font-size: 0.875rem;
  color: #000;
  padding: 10px 12px;
  border-bottom: 1px solid #cfd6df;
}body.phsd2-order-form .vax-table th.vax-num, body.phsd2-order-form .vax-table td.vax-num { text-align: center; width: 130px; }body.phsd2-order-form .vax-table td {
  padding: 12px;
  border-bottom: 1px solid #cfd6df;
  vertical-align: top;
}body.phsd2-order-form .vax-table tr:last-child td { border-bottom: none; }body.phsd2-order-form .vax-band td {
  background: #16202b;
  color: #fff;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 8px 12px;
}body.phsd2-order-form .vax-name { font-weight: 400; color: #000; font-size: 0.9375rem; }body.phsd2-order-form .vax-desc { font-size: 0.875rem; color: #4b5563; margin-top: 2px; }body.phsd2-order-form .vax-pack { font-size: 0.875rem; color: #4b5563; margin-top: 2px; font-style: italic; }body.phsd2-order-form .vax-input {
  width: 100%;
  max-width: 110px;
  height: 38px;
  border: 1px solid #cfd6df;
  padding: 4px 8px;
  text-align: center;
  font-family: UnitPro, sans-serif;
  font-weight: 300;
  font-size: 0.9375rem;
  color: #000;
  background: #fff;
}body.phsd2-order-form .vax-input.vax-bad { border-color: #c02b0a; background: #fff9f9; }body.phsd2-order-form .vax-err {
  display: none;
  font-size: 0.8125rem;
  color: #b42318;
  margin-top: 4px;
}body.phsd2-order-form .vax-input.vax-bad + .vax-err { display: block; }body.phsd2-order-form .vax-guard-msg {
  display: none;
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%);
  z-index: 100002;
  background: #b42318;
  color: #fff;
  font-family: UnitPro, sans-serif;
  font-weight: 300;
  font-size: 0.9375rem;
  padding: 10px 18px;
  border-radius: 4px;
  max-width: 90vw;
}body.phsd2-order-form .vax-guard-msg.vax-guard-on { display: block; }body.phsd2-order-form .vax-num-label { display: none; }

@media (max-width: 799px) {body.phsd2-order-form .vax-table, body.phsd2-order-form .vax-table tbody, body.phsd2-order-form .vax-table tr, body.phsd2-order-form .vax-table td, body.phsd2-order-form .vax-table th { display: block; width: 100%; }body.phsd2-order-form .vax-table thead { display: none; }body.phsd2-order-form .vax-table tr { border-bottom: 1px solid #cfd6df; padding: 10px 0; }body.phsd2-order-form .vax-table td { border-bottom: none; padding: 6px 12px; }body.phsd2-order-form .vax-table th.vax-num, body.phsd2-order-form .vax-table td.vax-num { text-align: left; width: auto; }body.phsd2-order-form .vax-input { max-width: 100%; }body.phsd2-order-form .vax-num-label { display: block; font-size: 0.875rem; color: #000; margin-bottom: 4px; }
}body.phsd2-order-form .vax-num-label { display: none; }/* ===== Section headings ===== */
body.phsd2-order-form .vax-section-title {
  font-family: UnitPro, sans-serif;
  font-weight: 300;
  font-size: 1.375rem;
  line-height: 1.3;
  color: var(--wp--preset--color--tertiary, #0b4a4e);
  margin: 28px 0 10px 0;
}body.phsd2-order-form .vax-wrap > .vax-section-title:first-child { margin-top: 0; }body.phsd2-order-form .vax-wrap .vax-table + .vax-section-title { margin-top: 32px; }body.phsd2-order-form .vax-wrap .vax-table { margin-bottom: 4px; }body.phsd2-order-form .vax-desc p { margin: 0 0 8px 0; }body.phsd2-order-form .vax-desc p:last-child { margin-bottom: 0; }body.phsd2-order-form .vax-desc ul { margin: 0 0 8px 0; padding-left: 18px; }body.phsd2-order-form .vax-desc li { margin-bottom: 6px; line-height: 1.4; }body.phsd2-order-form .vax-desc li:last-child { margin-bottom: 0; }body.phsd2-order-form .vax-desc .rs-avail { font-style: italic; color: #4b5563; margin-top: 8px; }body.phsd2-order-form .vax-desc .rs-elig-subhead { font-weight: 400; color: #000; margin: 8px 0 6px 0; }body.phsd2-order-form .vax-desc .rs-check-list { list-style: none; padding-left: 0; }body.phsd2-order-form .vax-desc .rs-check-list li { display: flex; gap: 8px; }body.phsd2-order-form .vax-desc .rs-check-list li::before { content: "•"; flex: 0 0 auto; color: #4b5563; }/* ===== High-risk repeater ===== */
body.phsd2-order-form .hrv-wrap { font-family: UnitPro, sans-serif; font-weight: 300; color: var(--font-gray, #4b5563); font-size: 0.9375rem; }body.phsd2-order-form .hrv-wrap * { box-sizing: border-box; }body.phsd2-order-form .hrv-add {
  display: inline-flex; align-items: center; gap: 8px;
  background: var(--primary, #00747A); color: #fff; border: none;
  font-family: UnitPro, sans-serif; font-weight: 400; font-size: 0.9375rem;
  padding: 10px 18px; cursor: pointer; margin: 4px 0 16px 0;
}body.phsd2-order-form .hrv-add:hover { filter: brightness(0.94); }body.phsd2-order-form .hrv-add .hrv-add-plus { font-size: 1.1em; line-height: 1; }body.phsd2-order-form .hrv-empty { border: 1px dashed #cfd6df; padding: 20px; text-align: center; color: #6b7280; margin-bottom: 16px; }body.phsd2-order-form .hrv-item { border: 1px solid #cfd6df; margin-bottom: 14px; background: #fff; }body.phsd2-order-form .hrv-item-head {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  background: #e1e5eb; padding: 8px 12px; border-bottom: 1px solid #cfd6df;
}body.phsd2-order-form .hrv-item-title { font-weight: 400; color: #000; font-size: 0.9375rem; }body.phsd2-order-form .hrv-remove {
  background: none; border: 1px solid #cfd6df; color: #b42318;
  font-family: UnitPro, sans-serif; font-weight: 400; font-size: 0.8125rem;
  padding: 4px 10px; cursor: pointer;
}body.phsd2-order-form .hrv-remove:hover { background: #fff5f4; }body.phsd2-order-form .hrv-item-body { padding: 14px; }body.phsd2-order-form .hrv-field { margin-bottom: 14px; }body.phsd2-order-form .hrv-field:last-child { margin-bottom: 0; }body.phsd2-order-form .hrv-label { display: block; font-weight: 400; color: #000; font-size: 0.875rem; margin-bottom: 6px; }body.phsd2-order-form .hrv-vaccine-select, body.phsd2-order-form .hrv-dob {
  width: 100%; max-width: 340px; height: 40px; border: 1px solid #cfd6df;
  padding: 6px 10px; font-family: UnitPro, sans-serif; font-weight: 300;
  font-size: 0.9375rem; color: #000; background: #fff;
}body.phsd2-order-form .hrv-elig { margin-top: 4px; }body.phsd2-order-form .hrv-elig-heading { font-weight: 400; color: #000; font-size: 0.875rem; margin: 10px 0 4px 0; }body.phsd2-order-form .hrv-elig-note { font-size: 0.875rem; color: #4b5563; margin: 0 0 8px 0; font-style: italic; }body.phsd2-order-form .hrv-elig-note a { color: var(--primary, #00747A); }body.phsd2-order-form .hrv-check { display: flex; align-items: flex-start; gap: 8px; margin-bottom: 6px; font-size: 0.875rem; line-height: 1.4; }body.phsd2-order-form .hrv-check input[type="checkbox"] { margin-top: 3px; flex: 0 0 auto; }body.phsd2-order-form .hrv-check label { font-weight: 300; color: var(--font-gray, #4b5563); cursor: pointer; }body.phsd2-order-form .hrv-error { color: #b42318; font-size: 0.8125rem; font-weight: 400; margin-top: 6px; display: none; }body.phsd2-order-form .hrv-item.hrv-invalid { border-color: #b42318; }body.phsd2-order-form .hrv-item.hrv-crit-bad .hrv-crit-error { display: block; }body.phsd2-order-form .hrv-item.hrv-dob-bad .hrv-dob-error { display: block; }body.phsd2-order-form .hrv-item.hrv-dob-bad .hrv-dob { border-color: #b42318; background: #fff9f9; }body.phsd2-order-form .hrv-gate-msg {
  display: none; border: 1px solid #b42318; border-left-width: 3px;
  background: #fdf3f3; color: #8a1c13; font-family: UnitPro, sans-serif;
  font-weight: 300; font-size: 0.9375rem; line-height: 1.5;
  padding: 12px 14px; margin: 0 0 14px 0;
}body.phsd2-order-form .hrv-gate-msg.hrv-gate-on { display: block; }/* ===== Email confirmation ===== */
body.phsd2-order-form .ec-box {
  border: 1px solid #cfd6df; border-left: 3px solid var(--primary, #00747A);
  background: #f7fafb; border-radius: 4px; padding: 16px 18px; margin: 16px 0;
  font-family: UnitPro, sans-serif; font-weight: 300; color: #333b45; box-sizing: border-box;
}body.phsd2-order-form .ec-heading { font-weight: 400; color: #000; font-size: 1rem; margin-bottom: 6px; }body.phsd2-order-form .ec-intro { margin: 0 0 14px 0; font-size: 0.9375rem; line-height: 1.6; }body.phsd2-order-form .ec-current {
  display: flex; flex-wrap: wrap; align-items: baseline; gap: 10px;
  background: #fff; border: 1px solid #e1e5eb; border-radius: 4px;
  padding: 10px 12px; margin-bottom: 10px;
}body.phsd2-order-form .ec-label { font-size: 0.8125rem; text-transform: uppercase; letter-spacing: 0.4px; color: #5c6773; font-weight: 400; }body.phsd2-order-form .ec-value { font-size: 1rem; color: #000; word-break: break-word; }body.phsd2-order-form .ec-editrow { margin-top: 14px; }body.phsd2-order-form .ec-box .ec-editrow button, body.phsd2-order-form .ec-box .ec-actions button {
  font-family: UnitPro, sans-serif !important; font-weight: 400 !important;
  font-size: 0.9375rem !important; line-height: 1.2 !important;
  padding: 11px 20px !important; margin: 0 !important;
  border-radius: 6px !important; cursor: pointer; width: auto !important;
}body.phsd2-order-form .ec-box .ec-edit { background: #fff; border: 1px solid #cfd6df; color: #333b45; }body.phsd2-order-form .ec-box .ec-edit:hover { background: #f1f3f5; }body.phsd2-order-form .ec-form { margin-top: 16px; }body.phsd2-order-form .ec-form .ec-label { display: block; margin: 0 0 6px 0; }body.phsd2-order-form .ec-box .ec-input {
  display: block !important; width: 100% !important; max-width: 380px !important;
  height: 42px !important; border: 1px solid #cfd6df !important;
  padding: 6px 10px !important; margin: 0 0 16px 0 !important;
  font-family: UnitPro, sans-serif !important; font-size: 0.9375rem !important;
  line-height: 1.4 !important; color: #000 !important; background: #fff !important;
  box-sizing: border-box !important;
}body.phsd2-order-form .ec-box .ec-input:focus { outline: 2px solid var(--primary, #00747A); outline-offset: 1px; }body.phsd2-order-form .ec-err { color: #b42318; font-size: 0.8125rem; margin: -10px 0 16px 0; }body.phsd2-order-form .ec-actions { display: flex; gap: 12px; flex-wrap: wrap; }body.phsd2-order-form .ec-box .ec-save { background: var(--primary, #00747A); border: 1px solid var(--primary, #00747A); color: #fff; }body.phsd2-order-form .ec-box .ec-save:hover { filter: brightness(0.93); }body.phsd2-order-form .ec-box .ec-cancel { background: #fff; border: 1px solid #cfd6df; color: #333b45; }body.phsd2-order-form .ec-box .ec-cancel:hover { background: #f1f3f5; }body.phsd2-order-form .ec-box button:focus-visible { outline: 2px solid var(--primary, #00747A); outline-offset: 2px; }body.phsd2-order-form .ec-done { margin-top: 10px; font-size: 0.875rem; color: #1e8c60; font-weight: 400; }@media (max-width: 600px) {body.phsd2-order-form .ec-editrow button, body.phsd2-order-form .ec-actions button { width: 100%; }body.phsd2-order-form .ec-actions { flex-direction: column; }
}/* ===== Theme overrides ===== */
body.phsd2-order-form .vax-desc, body.phsd2-order-form .vax-desc p, body.phsd2-order-form .vax-desc ul, body.phsd2-order-form .vax-desc ol, body.phsd2-order-form .vax-desc li, body.phsd2-order-form .vax-desc .rs-avail, body.phsd2-order-form .vax-desc .rs-elig-subhead {
  font-size: 0.875rem;
  line-height: 1.45;
}body.phsd2-order-form .hrv-elig-note, body.phsd2-order-form .hrv-elig-note p, body.phsd2-order-form .hrv-check, body.phsd2-order-form .hrv-check label {
  font-size: 0.875rem;
  line-height: 1.4;
}body.phsd2-order-form .hrv-item-body p, body.phsd2-order-form .hrv-item-body ul, body.phsd2-order-form .hrv-item-body li {
  font-size: 0.9375rem;
  line-height: 1.55;
}body.phsd2-order-form .ec-intro, body.phsd2-order-form .ec-intro p { font-size: 0.9375rem; line-height: 1.6; }
