/* ============================================================
   Hózhó Honorees Hub — Frontend styles
   ============================================================ */

:root {
  --hz-cream:   #FAF6EC;
  --hz-bone:    #F1EADB;
  --hz-sand:    #E8DCC4;
  --hz-terra:   #c62b17;
  --hz-terra-dk:#8A2A1F;
  --hz-ochre:   #C9A352;
  --hz-ochre-dk:#8A6B22;
  --hz-teal:    #2BA39A;
  --hz-ink:     #1A1A1A;
  --hz-ink-soft:#3D3D3D;
}

/* ---------- Memorial wall ---------- */

.hzh-wall {
  max-width: 1280px;
  margin: 0 auto;
  padding: 56px 24px 96px;
  background: var(--hz-cream);
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--hz-ink);
}

.hzh-wall-intro {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 16px;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid rgba(26,26,26,.08);
}
.hzh-wall-count {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 36px;
  line-height: 1;
  color: var(--hz-ink);
  font-weight: 500;
}
.hzh-wall-count span {
  font-family: 'Inter', sans-serif;
  font-size: 13px;
  letter-spacing: .14em;
  color: var(--hz-ink-soft);
  text-transform: uppercase;
  display: block;
  margin-top: 6px;
  font-weight: 500;
}
.hzh-wall-maplink {
  font-size: 13px;
  letter-spacing: .08em;
  color: var(--hz-terra);
  text-decoration: none;
  border-bottom: 1px solid currentColor;
  padding-bottom: 2px;
  font-weight: 600;
}

.hzh-search-wrap {
  position: relative;
  max-width: 720px;
  margin: 0 auto 20px;
}
.hzh-search-icon {
  position: absolute;
  top: 50%;
  left: 20px;
  transform: translateY(-50%);
  width: 18px;
  height: 18px;
  color: var(--hz-ochre-dk);
  pointer-events: none;
}
.hzh-search {
  width: 100%;
  height: 52px;
  border: 1px solid rgba(26,26,26,.12);
  border-radius: 999px;
  padding: 0 24px 0 52px;
  font-family: inherit;
  font-size: 14px;
  color: var(--hz-ink);
  background: #fff;
  box-shadow: 0 4px 18px -8px rgba(26,26,26,.1);
  outline: none;
  transition: border-color .15s, box-shadow .15s;
}
.hzh-search:focus {
  border-color: var(--hz-ochre);
  box-shadow: 0 4px 24px -8px rgba(201,163,82,.4);
}

.hzh-filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-bottom: 28px;
  padding: 16px 20px;
  background: #fff;
  border-radius: 999px;
  box-shadow: 0 4px 18px -10px rgba(26,26,26,.1);
}
.hzh-filter {
  background: transparent;
  border: 0;
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--hz-ink-soft);
  padding: 10px 22px;
  border-radius: 999px;
  cursor: pointer;
  font-weight: 500;
  transition: all .15s;
}
.hzh-filter:hover { color: var(--hz-ink); }
.hzh-filter.active {
  background: var(--hz-ink);
  color: #fff !important;
}
.hzh-filter .hzh-cnt {
  color: var(--hz-ochre-dk);
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  letter-spacing: .05em;
  margin-left: 4px;
}
.hzh-filter.active .hzh-cnt { color: var(--hz-ochre); }

.hzh-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
  gap: 24px;
  margin: 32px 0;
}

.hzh-card {
  background: #fff;
  border-radius: 16px;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 14px -6px rgba(26,26,26,.08);
  border: 1px solid rgba(26,26,26,.04);
  transition: transform .2s, box-shadow .2s;
  position: relative;
}
.hzh-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px -10px rgba(26,26,26,.18);
}
.hzh-card-stripe {
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: var(--c, var(--hz-ink));
}

.hzh-card-top {
  padding: 24px 22px 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
}
.hzh-card-mono {
  width: 56px;
  height: 56px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--hz-cream);
  border: 1px solid rgba(26,26,26,.06);
  border-radius: 50%;
  font-family: 'Cinzel', serif;
  letter-spacing: .04em;
  font-size: 16px;
  color: var(--hz-ochre-dk);
  font-weight: 600;
}
.hzh-card-photo {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  overflow: hidden;
  border: 2px solid var(--hz-bone);
}
.hzh-card-photo img { width: 100%; height: 100%; object-fit: cover; }
.hzh-card-status {
  background: var(--c, var(--hz-ink));
  color: #fff;
  font-family: 'Cinzel', serif;
  font-size: 9px;
  letter-spacing: .18em;
  padding: 4px 10px;
  border-radius: 999px;
  text-transform: uppercase;
  font-weight: 500;
}
.hzh-card-body { padding: 14px 22px 16px; flex: 1; }
.hzh-card-meta {
  font-size: 11px;
  letter-spacing: .12em;
  color: var(--hz-ochre-dk);
  text-transform: uppercase;
  margin-bottom: 6px;
  font-weight: 500;
}
.hzh-card-name {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  line-height: 1.2;
  color: var(--hz-ink);
  margin: 0 0 6px;
}
.hzh-card-loc {
  font-size: 13px;
  color: var(--hz-ink-soft);
  margin-bottom: 10px;
}
.hzh-card-sum {
  font-size: 13px;
  line-height: 1.6;
  color: var(--hz-ink-soft);
  margin: 0;
}
.hzh-card-foot {
  padding: 12px 22px 20px;
  border-top: 1px solid rgba(26,26,26,.05);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-top: 10px;
}
.hzh-card-family {
  background: transparent;
  border: 0;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 11px;
  color: var(--hz-teal);
  font-weight: 600;
  cursor: pointer;
  padding: 0;
}
.hzh-card-family:hover { color: var(--hz-ink); }
.hzh-card-source {
  font-size: 11px;
  color: var(--hz-ochre-dk);
  text-decoration: none;
}
.hzh-card-source:hover { color: var(--hz-terra); }

/* v1.4.3 — "Run for them" cross-site link on each voices card */
.hzh-card-foot { flex-wrap: wrap; }
.hzh-card-runfor {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 600;
  color: #c62b17;
  text-decoration: none;
  padding: 6px 12px 6px 8px;
  border: 1px solid rgba(198,43,23,.35);
  border-radius: 999px;
  margin-left: auto;
  transition: all .15s;
  white-space: nowrap;
}
.hzh-card-runfor:hover {
  background: #c62b17;
  color: #fff;
  border-color: #c62b17;
}
.hzh-card-runfor img {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}

/* ---------- Pagination ---------- */
.hzh-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 6px;
  margin: 24px 0;
}
.hzh-page-btn {
  background: #fff;
  border: 1px solid rgba(26,26,26,.08);
  border-radius: 999px;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 16px;
  color: var(--hz-ink-soft);
  cursor: pointer;
  transition: all .15s;
}
.hzh-page-btn:hover { background: var(--hz-cream); }
.hzh-page-btn.current {
  background: var(--hz-terra);
  color: #fff;
  border-color: var(--hz-terra);
}
.hzh-page-btn.nav { font-size: 18px; }
.hzh-page-btn[disabled] { opacity: .35; cursor: not-allowed; }

.hzh-empty {
  text-align: center;
  padding: 48px 24px;
  color: var(--hz-ink-soft);
  font-style: italic;
}
.hzh-empty a { color: var(--hz-terra); font-weight: 600; }

/* ---------- "Add their name" CTA ---------- */
.hzh-add-cta {
  margin-top: 64px;
  padding: 48px 32px;
  background: linear-gradient(135deg, var(--hz-terra), var(--hz-terra-dk));
  border-radius: 16px;
  color: #fff;
}
.hzh-add-cta-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 24px;
  max-width: 1100px;
  margin: 0 auto;
}
.hzh-add-cta .hzh-kicker {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .25em;
  color: rgba(255,255,255,.7);
  margin-bottom: 8px;
}
.hzh-add-cta h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 32px;
  margin: 0 0 8px;
  color: #fff;
}
.hzh-add-cta p { margin: 0; opacity: .9; font-size: 14px; line-height: 1.6; }

.hzh-btn-primary {
  background: #fff;
  color: var(--hz-terra);
  padding: 14px 32px;
  border-radius: 999px;
  font-weight: 600;
  font-size: 14px;
  letter-spacing: .04em;
  text-decoration: none;
  display: inline-block;
  border: 0;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s;
}
.hzh-btn-primary:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(0,0,0,.2);
}
.hzh-add-cta .hzh-btn-primary { background: #fff; color: var(--hz-terra); }

/* ---------- Map ---------- */
.hzh-map-wrap {
  width: 100%;
  min-height: 400px;
  background: var(--hz-bone);
  border-radius: 16px;
  overflow: hidden;
  position: relative;
  box-shadow: 0 4px 24px -8px rgba(26,26,26,.15);
}
.hzh-map-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--hz-ink-soft);
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 22px;
  font-style: italic;
  z-index: 1;
  pointer-events: none;
}
.hzh-popup-card {
  font-family: 'Inter', sans-serif;
  min-width: 200px;
}
.hzh-popup-card h4 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 20px;
  margin: 0 0 6px;
  color: var(--hz-ink);
}
.hzh-popup-card .meta {
  font-size: 11px;
  color: var(--hz-ochre-dk);
  letter-spacing: .12em;
  text-transform: uppercase;
  margin-bottom: 6px;
}
.hzh-popup-card .status {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 999px;
  color: #fff;
  font-size: 10px;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.hzh-popup-card .sum {
  font-size: 12px;
  line-height: 1.5;
  color: var(--hz-ink-soft);
  margin: 8px 0 0;
}

/* ---------- Submission form ---------- */
.hzh-form-wrap {
  max-width: 760px;
  margin: 0 auto;
  padding: 56px 24px 96px;
  background: var(--hz-cream);
  font-family: 'Inter', system-ui, sans-serif;
  color: var(--hz-ink);
}
.hzh-form-header {
  text-align: center;
  margin-bottom: 40px;
}
.hzh-form-header .hzh-kicker {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--hz-ochre-dk);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.hzh-form-header h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 44px;
  margin: 0 0 18px;
  color: var(--hz-ink);
  line-height: 1.1;
}
.hzh-form-intro {
  font-size: 16px;
  line-height: 1.7;
  color: var(--hz-ink-soft);
  max-width: 580px;
  margin: 0 auto;
}
.hzh-form {
  background: #fff;
  border-radius: 20px;
  padding: 40px;
  box-shadow: 0 8px 32px -16px rgba(26,26,26,.15);
}
.hzh-form-section {
  border: 0;
  padding: 0 0 32px;
  margin: 0;
}
.hzh-form-section + .hzh-form-section {
  border-top: 1px solid rgba(26,26,26,.06);
  padding-top: 32px;
}
.hzh-form-section legend {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 24px;
  font-weight: 500;
  color: var(--hz-ink);
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 0;
  margin-bottom: 20px;
}
.hzh-step {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .2em;
  color: var(--hz-ochre);
  font-weight: 600;
}

.hzh-field {
  display: block;
  margin-bottom: 18px;
}
.hzh-field-label {
  display: block;
  font-size: 12px;
  letter-spacing: .1em;
  font-weight: 600;
  color: var(--hz-ink);
  margin-bottom: 6px;
  text-transform: uppercase;
}
.hzh-field-label em {
  color: var(--hz-terra);
  font-style: normal;
}
.hzh-field input,
.hzh-field select,
.hzh-field textarea {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid rgba(26,26,26,.15);
  border-radius: 10px;
  font-family: inherit;
  font-size: 14px;
  color: var(--hz-ink);
  background: #fff;
  transition: border-color .15s, box-shadow .15s;
  outline: none;
}
.hzh-field input:focus,
.hzh-field select:focus,
.hzh-field textarea:focus {
  border-color: var(--hz-ochre);
  box-shadow: 0 0 0 3px rgba(201,163,82,.18);
}
.hzh-field textarea { resize: vertical; min-height: 100px; line-height: 1.6; }
.hzh-help {
  display: block;
  font-size: 12px;
  color: var(--hz-ink-soft);
  margin-top: 6px;
}
.hzh-counter {
  display: block;
  text-align: right;
  font-size: 11px;
  color: var(--hz-ink-soft);
  margin-top: 4px;
}

.hzh-field-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.hzh-field-row .hzh-field-3 { grid-column: span 2; }
@media (min-width: 720px) {
  .hzh-field-row.has-3 { grid-template-columns: 3fr 2fr 1fr; }
  .hzh-field-row .hzh-field-3 { grid-column: auto; }
}

/* Status radio pills */
.hzh-status-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
.hzh-status-pill {
  position: relative;
}
.hzh-status-pill input { position: absolute; opacity: 0; pointer-events: none; }
.hzh-status-pill span {
  display: inline-block;
  padding: 10px 20px;
  border-radius: 999px;
  border: 2px solid rgba(26,26,26,.1);
  background: #fff;
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .18em;
  color: var(--hz-ink-soft);
  cursor: pointer;
  transition: all .15s;
  font-weight: 500;
  text-transform: uppercase;
}
.hzh-status-pill:hover span { border-color: var(--c); color: var(--c); }
.hzh-status-pill input:checked + span {
  background: var(--c);
  color: #fff;
  border-color: var(--c);
}

/* Checkboxes */
.hzh-checkbox-big {
  display: flex;
  align-items: flex-start;
  gap: 14px;
  padding: 16px 20px;
  background: var(--hz-cream);
  border-radius: 12px;
  border: 2px solid transparent;
  transition: border-color .15s;
  cursor: pointer;
}
.hzh-checkbox-big:hover { border-color: var(--hz-ochre); }
.hzh-checkbox-big input { position: absolute; opacity: 0; pointer-events: none; }
.hzh-checkbox-mark {
  flex-shrink: 0;
  width: 22px;
  height: 22px;
  border-radius: 6px;
  border: 2px solid var(--hz-ink-soft);
  background: #fff;
  margin-top: 2px;
  position: relative;
  transition: all .15s;
}
.hzh-checkbox-big input:checked + .hzh-checkbox-mark {
  background: var(--hz-terra);
  border-color: var(--hz-terra);
}
.hzh-checkbox-big input:checked + .hzh-checkbox-mark::after {
  content: '';
  position: absolute;
  inset: 4px 5px 5px 5px;
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'><path fill='%23fff' d='M7.4 14.2 3.6 10.4l1.4-1.4 2.4 2.4 7-7 1.4 1.4z'/></svg>") center/contain no-repeat;
}
.hzh-checkbox-text { font-size: 13px; line-height: 1.5; color: var(--hz-ink); }
.hzh-checkbox-text small { color: var(--hz-ink-soft); font-size: 12px; }

/* Submit */
.hzh-form-actions {
  margin-top: 24px;
  text-align: center;
}
.hzh-form-submit {
  background: var(--hz-terra);
  color: #fff;
  padding: 16px 40px;
  border-radius: 999px;
  border: 0;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: .06em;
  cursor: pointer;
  box-shadow: 0 4px 14px rgba(198,43,23,.3);
  transition: all .15s;
}
.hzh-form-submit:hover { background: var(--hz-terra-dk); transform: translateY(-1px); }
.hzh-form-submit:disabled { opacity: .6; cursor: wait; }
.hzh-form-promise {
  margin-top: 14px;
  font-size: 12px;
  color: var(--hz-ink-soft);
  font-style: italic;
}

/* Success state */
.hzh-form-success-inner {
  background: #fff;
  border-radius: 20px;
  padding: 56px 40px;
  text-align: center;
  box-shadow: 0 8px 32px -16px rgba(26,26,26,.15);
}
.hzh-form-success-inner .hzh-kicker {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--hz-teal);
  text-transform: uppercase;
  margin-bottom: 16px;
}
.hzh-form-success-inner h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 36px;
  color: var(--hz-ink);
  margin: 0 0 16px;
}
.hzh-success-card { margin: 32px auto; max-width: 380px; }
.hzh-form-again {
  display: inline-block;
  margin-top: 24px;
  font-size: 13px;
  color: var(--hz-terra);
  text-decoration: none;
  font-weight: 600;
  letter-spacing: .04em;
}

/* ---------- "We Run For Them" promotion blocks ---------- */
.hzh-run-band {
  background: linear-gradient(135deg, #0F0E0C, #1A1A1A);
  color: #fff;
  padding: 64px 24px;
  position: relative;
  overflow: hidden;
}
.hzh-run-band-inner {
  max-width: 1100px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
}
.hzh-run-band-icon {
  width: 140px;
  height: auto;
  filter: drop-shadow(0 8px 24px rgba(198,43,23,.4));
}
.hzh-run-band-content { flex: 1; min-width: 280px; }
.hzh-run-band-content .hzh-kicker {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .3em;
  color: var(--hz-ochre);
  margin-bottom: 12px;
  text-transform: uppercase;
}
.hzh-run-band-content h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 40px;
  line-height: 1.1;
  margin: 0 0 16px;
  color: #fff;
}
.hzh-run-band-content p { font-size: 15px; line-height: 1.7; opacity: .85; margin: 0 0 24px; max-width: 480px; }
.hzh-run-band .hzh-btn-primary { background: var(--hz-terra); color: #fff; }

.hzh-run-card {
  background: #fff;
  border-radius: 16px;
  padding: 32px 28px;
  text-align: center;
  box-shadow: 0 4px 24px -10px rgba(26,26,26,.15);
  border: 1px solid rgba(26,26,26,.04);
}
.hzh-run-card-icon { width: 64px; height: auto; margin-bottom: 12px; }
.hzh-run-card .hzh-kicker {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .25em;
  color: var(--hz-ochre-dk);
  text-transform: uppercase;
  margin-bottom: 8px;
}
.hzh-run-card h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 22px;
  margin: 0 0 8px;
  color: var(--hz-ink);
}
.hzh-run-card p { font-size: 13px; color: var(--hz-ink-soft); line-height: 1.6; margin: 0 0 16px; }
.hzh-run-card .hzh-btn-primary { background: var(--hz-terra); color: #fff; font-size: 13px; padding: 10px 24px; }

.hzh-run-sidebar {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 16px 20px;
  background: var(--hz-cream);
  border-radius: 12px;
  border-left: 4px solid var(--hz-terra);
}
.hzh-run-sidebar-icon { width: 48px; height: auto; }
.hzh-run-sidebar-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 18px;
  color: var(--hz-ink);
}
.hzh-run-sidebar a {
  font-size: 12px;
  color: var(--hz-terra);
  font-weight: 600;
  text-decoration: none;
  letter-spacing: .04em;
}

/* ---------- Stats ---------- */
.hzh-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 24px;
  padding: 32px 0;
}
.hzh-stat {
  text-align: center;
  padding: 24px 16px;
  background: #fff;
  border-radius: 12px;
  border: 1px solid rgba(26,26,26,.05);
}
.hzh-stat-num {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 48px;
  line-height: 1;
  color: var(--hz-terra);
}
.hzh-stat-lbl {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .2em;
  color: var(--hz-ink-soft);
  margin-top: 8px;
  text-transform: uppercase;
}

/* ---------- Recent ---------- */
.hzh-recent-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 20px;
}

/* ---------- Run options (3-card cross-site CTA) ---------- */
.hzh-run-options {
  background: linear-gradient(135deg, #0F0E0C, #1A1A1A);
  color: #FAF6EC;
  /* v1.4.12 — cut bottom padding by 80% (140 → 28) to tighten gap below the ticker */
  padding: 80px 24px 28px;
  text-align: center;
  margin-bottom: 60px;
}
/* v1.4.20 — Page-level CSS (notably /renewal/ page-id-18) sets dark color on
   ALL section h1/h2/h3 with !important. Override by using highly-specific
   selectors that also include the body. */
body .hzh-run-options,
body .hzh-run-options h1,
body .hzh-run-options h2,
body .hzh-run-options h3,
body .hzh-run-options h4,
body .hzh-run-options p,
body .hzh-run-options a,
body section.hzh-run-options h1,
body section.hzh-run-options h2,
body section.hzh-run-options h3,
body section.hzh-run-options h4,
body section.hzh-run-options p,
body section.hzh-run-options a {
  color: #FAF6EC !important;
}
body .hzh-run-options .hzh-kicker,
body .hzh-run-options .hzh-run-opt-kicker,
body section.hzh-run-options .hzh-kicker,
body section.hzh-run-options .hzh-run-opt-kicker {
  color: #d61f2b !important;
}
body .hzh-run-options-head p,
body section.hzh-run-options .hzh-run-options-head p {
  color: rgba(250,246,236,.78) !important;
}
body .hzh-run-opt-card p,
body section.hzh-run-options .hzh-run-opt-card p {
  color: rgba(250,246,236,.78) !important;
}

/* v1.4.24 — Renewal Chapter sections (red bg): body copy needs to be cream
   for legibility. But the closing `ch-end` section has WHITE pill cards with
   colored kickers — exclude it so we don't paint white text on white cards. */
body.page-id-18 section[class*="ch-"]:not(.ch-end) p,
body.page-id-18 section[class*="ch-"]:not(.ch-end) li {
  color: rgba(250,246,236,.92) !important;
}
body.page-id-18 section[class*="ch-"]:not(.ch-end) .text-stone-700,
body.page-id-18 section[class*="ch-"]:not(.ch-end) .text-stone-600,
body.page-id-18 section[class*="ch-"]:not(.ch-end) .text-stone-500,
body.page-id-18 section[class*="ch-"]:not(.ch-end) .text-stone-400 {
  color: rgba(250,246,236,.85) !important;
}
/* ch-1, ch-2, ch-3, ch-4 card descriptions (red bg, faded cards) */
body.page-id-18 section[class*="ch-"]:not(.ch-end) a.block p,
body.page-id-18 section[class*="ch-"]:not(.ch-end) a.block .text-sm,
body.page-id-18 section[class*="ch-"]:not(.ch-end) .card p {
  color: rgba(250,246,236,.78) !important;
}
/* Card headings on red-bg chapters stay bright */
body.page-id-18 section[class*="ch-"]:not(.ch-end) a.block h3,
body.page-id-18 section[class*="ch-"]:not(.ch-end) .card h3,
body.page-id-18 section[class*="ch-"]:not(.ch-end) .card .serif {
  color: #FAF6EC !important;
}
.hzh-run-options-head { max-width: 720px; margin: 0 auto 48px; }
.hzh-run-options-head .hzh-kicker {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .3em;
  color: #d61f2b;
  text-transform: uppercase;
  margin-bottom: 14px;
  font-weight: 600;
}
.hzh-run-options-head h2 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 42px;
  line-height: 1.15;
  margin: 0 0 16px;
  color: #FAF6EC;
}
.hzh-run-options-head p {
  font-size: 16px;
  line-height: 1.7;
  color: rgba(250,246,236,.78);
  margin: 0;
}
.hzh-run-options-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 18px;
  max-width: 1100px;
  margin: 0 auto;
}
.hzh-run-opt-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  padding: 32px 24px;
  background: rgba(255,255,255,.04);
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 16px;
  color: #FAF6EC;
  text-decoration: none;
  transition: all .2s;
}
.hzh-run-opt-card:hover {
  background: rgba(198,43,23,.08);
  border-color: rgba(198,43,23,.5);
  transform: translateY(-2px);
  color: #FAF6EC;
}
.hzh-run-opt-icon {
  width: 84px;
  height: 84px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 18px;
  background: radial-gradient(circle at center, rgba(198,43,23,.25), transparent 65%);
  border-radius: 50%;
  position: relative;
}
.hzh-run-opt-icon::before {
  content: '';
  position: absolute;
  inset: 4px;
  border-radius: 50%;
  background: linear-gradient(135deg, rgba(198,43,23,.18), rgba(198,43,23,.05));
  border: 1px solid rgba(198,43,23,.35);
}
.hzh-run-opt-icon img {
  position: relative;
  width: 56px;
  height: 56px;
  object-fit: contain;
  filter: drop-shadow(0 4px 12px rgba(198,43,23,.45));
}
.hzh-run-opt-card:hover .hzh-run-opt-icon::before {
  background: linear-gradient(135deg, rgba(198,43,23,.32), rgba(198,43,23,.12));
  border-color: rgba(198,43,23,.6);
}
.hzh-run-opt-kicker {
  font-family: 'Cinzel', serif;
  font-size: 10px;
  letter-spacing: .25em;
  color: #d61f2b;
  text-transform: uppercase;
  font-weight: 600;
  margin-bottom: 10px;
}
.hzh-run-opt-card h3 {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 24px;
  line-height: 1.2;
  margin: 0 0 12px;
  color: #FAF6EC;
}
.hzh-run-opt-card p {
  font-size: 13px;
  line-height: 1.6;
  color: rgba(250,246,236,.7);
  margin: 0 0 20px;
  flex: 1;
}
.hzh-run-opt-link {
  background: #c62b17;
  color: #fff;
  padding: 12px 24px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  display: inline-block;
}
.hzh-run-opt-card:hover .hzh-run-opt-link { background: #8A2A1F; }

/* ---------- Family contact modal ---------- */
.hzh-modal {
  position: fixed;
  inset: 0;
  background: rgba(26,26,26,.7);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 24px;
}
.hzh-modal-card {
  background: #fff;
  max-width: 540px;
  width: 100%;
  border-radius: 16px;
  padding: 32px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 60px rgba(0,0,0,.4);
}
.hzh-modal-close {
  background: transparent;
  border: 0;
  font-size: 28px;
  color: var(--hz-ink-soft);
  cursor: pointer;
  position: absolute;
  top: 16px;
  right: 16px;
}

/* ---------- Responsive ---------- */
@media (max-width: 720px) {
  .hzh-wall { padding: 32px 16px 64px; }
  .hzh-form { padding: 24px; }
  .hzh-form-header h2 { font-size: 32px; }
  .hzh-field-row { grid-template-columns: 1fr; }
  .hzh-filters { padding: 12px; }
  .hzh-filter { padding: 8px 14px; font-size: 10px; }
  .hzh-run-band-content h2 { font-size: 28px; }
  .hzh-add-cta { padding: 32px 24px; }
  .hzh-add-cta h3 { font-size: 24px; }
}

/* ---------- v1.3.4 Section divider overrides + legacy pattern kill ---------- */
.diamond-row,
.weave-row,
.tri-band,
[class*="weave-pattern"] {
  display: none !important;
  height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}
section.weave,
.weave {
  background-image: none !important;
}
/* New mixed dividers: flush, zero padding/margin */
.hz-div,
.hz-div-mesa,
.hz-div-weave,
.hz-div-dawn,
.hz-div-hair {
  margin: 0 !important;
  padding: 0 !important;
  display: block;
  line-height: 0;
}
.hz-div-weave { padding: 10px 0 !important; }
.hz-div-hair  { padding: 14px 0 !important; }
.hz-div-mesa  { height: 38px; }
/* v1.4.19 — hide the "fade bar" dawn-gradient divider on ALL pages */
.hz-div-dawn,
.hz-div.hz-div-dawn,
div.hz-div-dawn,
section.hz-div-dawn {
  display: none !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* v1.4.11 — honoree ticker slot inside run-options section.
   Full-width breakout: edge-to-edge regardless of any container max-width
   the section sits inside. */
.hzh-run-options-ticker {
  margin-top: 36px;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  padding: 0;
  max-width: none;
}
.hzh-run-options-ticker:empty { display: none; }
/* Also force any direct child wrappers the ticker plugin may emit to
   inherit the full width so the marquee runs edge-to-edge. */
.hzh-run-options-ticker > * {
  width: 100%;
  max-width: 100% !important;
}

/* ============================================================
   v1.4.3 — Voices filter zone: unified pill strip
   Matches the werunforthem /honorees/ pattern but in cream palette.
   - Kills the "FILTER:" label
   - Restyles state/city/zip as rounded pills (not boxy form fields)
   - Removes the white capsule behind status pills so it flows as ONE bar
   - Tightens spacing so search → filter row → map reads as one block
   ============================================================ */
/* Hide the obtrusive "FILTER:" label entirely */
.hzh-loc-lbl { display: none !important; }

/* Wrap the location filter row so it sits flush, no awkward indent */
.hzh-wall .hzh-loc-row,
.hzh-wall form + div:has(.hzh-flt-state),
.hzh-wall .hzh-flt-state {
  font-family: 'Cormorant Garamond', Georgia, serif;
}

/* State select / City input / Zip input — restyle as pills */
.hzh-flt-state,
.hzh-flt-city,
.hzh-flt-zip {
  appearance: none;
  -webkit-appearance: none;
  background: transparent;
  border: 1px solid rgba(26,26,26,.22);
  border-radius: 999px;
  padding: 11px 22px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 17px;
  font-weight: 500;
  color: #1A1A1A;
  height: 44px;
  min-width: 150px;
  box-shadow: none;
  outline: none;
  transition: border-color .15s, background .15s;
}
.hzh-flt-state {
  padding-right: 38px;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'><path d='M1 1.5l5 5 5-5' stroke='%23c62b17' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");
  background-repeat: no-repeat;
  background-position: right 18px center;
  background-size: 10px 7px;
}
.hzh-flt-state:hover,
.hzh-flt-city:hover,
.hzh-flt-zip:hover {
  border-color: rgba(198,43,23,.55);
  background-color: rgba(255,255,255,.5);
}
.hzh-flt-state:focus,
.hzh-flt-city:focus,
.hzh-flt-zip:focus {
  border-color: #c62b17;
  background-color: #fff;
}
.hzh-flt-zip { min-width: 130px; max-width: 160px; }
.hzh-flt-city { min-width: 170px; }
.hzh-flt-city::placeholder,
.hzh-flt-zip::placeholder {
  color: rgba(26,26,26,.45);
  font-style: italic;
}

/* Drop the white capsule on .hzh-filters — make it a clean centered row */
.hzh-wall .hzh-filters {
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 !important;
  border-radius: 0 !important;
  margin: 18px 0 28px !important;
  gap: 10px !important;
}
/* Status pills get same shape/height as the location pills above */
.hzh-wall .hzh-filter {
  border: 1px solid rgba(26,26,26,.22);
  height: 44px;
  padding: 0 22px;
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .22em;
  display: inline-flex;
  align-items: center;
  background: transparent;
  color: rgba(26,26,26,.7);
  transition: all .15s;
}
.hzh-wall .hzh-filter:hover {
  border-color: rgba(198,43,23,.55);
  color: #1A1A1A;
  background: rgba(255,255,255,.5);
}
.hzh-wall .hzh-filter.active {
  background: #1A1A1A;
  border-color: #1A1A1A;
  color: #fff !important;
}
.hzh-wall .hzh-filter .hzh-cnt {
  color: #c62b17;
  font-family: 'Inter', sans-serif;
  font-size: 11px;
  margin-left: 6px;
}
.hzh-wall .hzh-filter.active .hzh-cnt { color: rgba(255,255,255,.7); }

/* Search input — soften to match the pill row below */
.hzh-wall .hzh-search-wrap { margin-bottom: 18px !important; }
.hzh-wall .hzh-search {
  border-radius: 999px;
  border: 1px solid rgba(26,26,26,.22);
  background: transparent;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px;
  padding: 16px 22px 16px 52px;
}
.hzh-wall .hzh-search:focus {
  border-color: #c62b17;
  background: #fff;
  box-shadow: 0 4px 24px -10px rgba(198,43,23,.4);
}
.hzh-wall .hzh-search::placeholder {
  color: rgba(26,26,26,.45);
  font-style: italic;
}
.hzh-wall .hzh-search-icon { color: rgba(198,43,23,.7); }

/* Location filter row — center it, gap-match the status pills */
.hzh-wall .hzh-flt-state,
.hzh-wall .hzh-flt-city,
.hzh-wall .hzh-flt-zip {
  margin: 0 4px;
}
/* If the injector wraps location filters in its own div, ensure it lays out as flex centered */
.hzh-wall > div:has(> .hzh-flt-state),
.hzh-wall .hzh-locfilters,
.hzh-wall .hzh-wall-locfilters {
  display: flex !important;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 14px !important;
  padding: 0 !important;
  background: transparent !important;
}

@media (max-width: 640px) {
  .hzh-wall .hzh-search { font-size: 16px; padding: 14px 18px 14px 46px; }
  .hzh-flt-state, .hzh-flt-city, .hzh-flt-zip { font-size: 15px; height: 40px; min-width: 0; flex: 1 1 130px; }
  .hzh-wall .hzh-filter { height: 40px; font-size: 10px; padding: 0 16px; }
}

/* ============================================================
   v1.4.4 — Filter refinements:
   - Hide State / City / Zip inputs (search bar handles location now)
   - "All" pill no longer solid black — same red pill treatment as US/CA
   - US / Canada country pills (injected via JS) styled to match
   ============================================================ */
.hzh-flt-state,
.hzh-flt-city,
.hzh-flt-zip,
.hzh-loc-lbl,
.hzh-wall .hzh-locfilters,
.hzh-wall .hzh-wall-locfilters {
  display: none !important;
}
/* Re-style active filter pill: red border + light fill, NOT solid black */
.hzh-wall .hzh-filter.active {
  background: #fff !important;
  border-color: #c62b17 !important;
  color: #c62b17 !important;
}
.hzh-wall .hzh-filter.active .hzh-cnt {
  color: #c62b17 !important;
}
/* Country pills (US/CA) — share .hzh-filter shape; just a distinguishing class */
.hzh-wall .hzh-filter.hzh-country-pill[data-country=""].active {
  /* When "all countries" is active, keep neutral look */
}

/* v1.4.2 — Cream behind the mesa peaks so they rise out of the donate section
   instead of sitting on a dark slab. The peak SVG fills stay dark; only the
   surrounding area becomes cream. */
.hzh-stand-donate + .hz-div-mesa,
.hzh-stand-donate + .hz-div,
.hzh-stand-donate ~ .hz-div-mesa:first-of-type {
  background: #FAF6EC !important;
}
/* Catch-all: any mesa divider that sits directly above the site footer */
.hz-div-mesa { background: #FAF6EC; }
.hz-div-mesa svg { display: block; width: 100%; height: 100%; }

/* ============ v1.4 — Voices map + selection ============ */
/* Full-width map breakout within the wall */
.hzh-map-wrap {
  position: relative;
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  margin-bottom: 10px;
  border-radius: 0;
  overflow: hidden;
  background: #ECE3D2;
}

/* Map markers — hand icons */
.hzh-hand-marker { background: transparent !important; }
.hzh-hand-cluster {
  background:#c62b17; width:40px; height:40px; border-radius:50%;
  border:2px solid #fff; box-shadow:0 2px 8px rgba(0,0,0,.3);
  display:flex; align-items:center; justify-content:center;
  color:#fff; font-family:'Anton',Georgia,serif; font-weight:700; font-size:15px;
}

/* === Light/cream-themed popups for hozho === */
.leaflet-popup-content-wrapper {
  background: var(--hz-cream, #FAF6EC) !important;
  color: var(--hz-ink, #1A1A1A) !important;
  border-radius: 8px !important;
  border: 1px solid rgba(198,43,23,.4);
  box-shadow: 0 6px 24px rgba(0,0,0,.18);
}
.leaflet-popup-tip { background: var(--hz-cream, #FAF6EC) !important; }
.leaflet-popup-content { margin: 14px 16px !important; }
.leaflet-popup-close-button { color: var(--hz-ink, #1A1A1A) !important; font-size:22px !important; }
.leaflet-popup-close-button:hover { color: #c62b17 !important; }

.hzh-popup-card { font-family:'Inter',system-ui,sans-serif; min-width:260px; color: var(--hz-ink, #1A1A1A); }
.hzh-popup-card .popup-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:10px; }
.hzh-popup-card .popup-text { flex:1; min-width:0; }
.hzh-popup-card .meta { font-size:10px; letter-spacing:.18em; text-transform:uppercase; color:#c62b17; font-weight:600; margin-bottom:6px; }
.hzh-popup-card h4 { font-family:'Cormorant Garamond',Georgia,serif; font-weight:600; font-size:24px; line-height:1.15; margin:0 0 6px; color: var(--hz-ink, #1A1A1A); }
.hzh-popup-card .loc { font-size:12px; color:#5a5048; margin:0; }
.hzh-popup-card .status { display:inline-block; padding:3px 8px; border-radius:999px; color:#fff; font-size:9px; letter-spacing:.12em; text-transform:uppercase; font-weight:600; white-space:nowrap; align-self:flex-start; margin-right:24px; }
.hzh-popup-card .popup-photo { width:80px; height:80px; border-radius:50%; object-fit:cover; margin:0 0 10px; display:block; }
.hzh-popup-card .popup-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.hzh-popup-card .picklink { color:#c62b17; font-size:11px; letter-spacing:.1em; text-transform:uppercase; font-weight:600; text-decoration:none; padding:6px 0; }
.hzh-popup-card .picklink:hover { text-decoration:underline; }
.hzh-popup-card .pickbtn { margin-left:auto; background:transparent; color:#c62b17; padding:6px 12px; border:1px solid #c62b17; border-radius:999px; font-size:10px; letter-spacing:.12em; text-transform:uppercase; font-weight:700; cursor:pointer; }
.hzh-popup-card .pickbtn:hover { background:rgba(198,43,23,.08); }
.hzh-popup-card .pickbtn.picked { background:#c62b17; color:#fff; }

/* Reservation polygon popups (cream theme) */
.hzh-reservation-popup { font-family:'Inter',system-ui,sans-serif; min-width:200px; color: var(--hz-ink, #1A1A1A); }
.hzh-reservation-popup .res-name { font-family:'Cormorant Garamond',Georgia,serif; font-size:20px; font-weight:600; margin:0 0 4px; }
.hzh-reservation-popup .res-tribe { font-size:11px; color:#c62b17; letter-spacing:.18em; text-transform:uppercase; font-weight:600; margin-bottom:8px; }
.hzh-reservation-popup .res-desc { font-size:12px; line-height:1.5; color:#5a5048; margin:0; }

/* Selection bar between map and grid */
.hzh-selection-bar {
  display: none;
  margin: 16px auto 12px;
  padding: 12px 16px;
  background: rgba(198,43,23,.08);
  color: var(--hz-ink, #1A1A1A);
  border: 1px solid rgba(198,43,23,.4);
  border-radius: 8px;
  font-family:'Inter', system-ui, sans-serif;
  align-items: center; gap: 12px; flex-wrap: wrap;
}
.hzh-selection-bar.active { display: flex; }
.hzh-selection-bar .lbl { font-size:11px; letter-spacing:.2em; text-transform:uppercase; color:#c62b17; font-weight:600; }
.hzh-selection-bar .chip { background:#fff; border:1px solid rgba(198,43,23,.4); border-radius:999px; padding:4px 6px 4px 12px; display:inline-flex; align-items:center; gap:6px; font-size:12px; color: var(--hz-ink, #1A1A1A); }
.hzh-selection-bar .chip button { background:transparent; border:0; color:#c62b17; cursor:pointer; font-size:16px; line-height:1; padding:0 4px; }
.hzh-selection-bar .clear-all { margin-left:auto; background:transparent; border:1px solid #c62b17; color:#c62b17; border-radius:999px; padding:4px 12px; font-size:11px; letter-spacing:.15em; text-transform:uppercase; cursor:pointer; }
.hzh-selection-bar .clear-all:hover { background:#c62b17; color:#fff; }

/* ============ v1.4.2 — Stand with us / donate section, styled to match the
   /voices/ "272 RELATIVES CARRIED IN THIS MEMORIAL" header treatment.
   Cream-on-cream, hairline anchor, large Cormorant display title. ============ */
.hzh-stand-donate {
  background: #FAF6EC;
  padding: 110px 24px 120px;
  text-align: center;
  color: #1A1A1A;
  position: relative;
}
.hzh-stand-donate-inner { max-width: 880px; margin: 0 auto; }

/* Hairline above the kicker — mirrors the rule above the "272" on /voices/. */
.hzh-stand-rule {
  display: block;
  width: 56px;
  height: 1px;
  background: rgba(198,43,23,.45);
  margin: 0 auto 22px;
  border: 0;
}

.hzh-stand-kicker {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: .32em;
  color: #c62b17;
  text-transform: uppercase;
  font-weight: 600;
  margin: 0 0 22px;
}
.hzh-stand-title {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 64px;
  line-height: 1.05;
  letter-spacing: -0.5px;
  margin: 0 0 24px;
  color: #1A1A1A;
}
.hzh-stand-sub {
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-size: 18px;
  line-height: 1.55;
  color: rgba(26,26,26,.65);
  margin: 0 auto 48px;
  max-width: 560px;
  font-style: italic;
}
.hzh-stand-amounts {
  display: inline-flex;
  gap: 12px;
  flex-wrap: wrap;
  justify-content: center;
  margin-bottom: 44px;
}
.hzh-stand-amt {
  display: inline-block;
  padding: 13px 34px;
  background: transparent;
  color: #1A1A1A;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 21px;
  border: 1px solid rgba(26,26,26,.25);
  border-radius: 999px;
  text-decoration: none;
  transition: all .15s;
}
.hzh-stand-amt:hover { border-color: #c62b17; color: #c62b17; background: #fff; }
.hzh-stand-amt.is-selected {
  border-color: #c62b17;
  color: #c62b17;
  background: #fff;
}
.hzh-stand-cta {
  display: inline-block;
  background: #c62b17;
  color: #fff;
  padding: 16px 60px;
  font-family: 'Cormorant Garamond', Georgia, serif;
  font-weight: 500;
  font-size: 24px;
  letter-spacing: .02em;
  border-radius: 999px;
  text-decoration: none;
  transition: background .15s, transform .15s;
  box-shadow: 0 6px 24px -10px rgba(198,43,23,.55);
}
.hzh-stand-cta:hover { background: #8A2A1F; color: #fff; transform: translateY(-1px); }

@media (max-width: 640px) {
  .hzh-stand-donate { padding: 72px 20px 80px; }
  .hzh-stand-title { font-size: 42px; }
  .hzh-stand-sub { font-size: 16px; }
  .hzh-stand-amt { padding: 11px 26px; font-size: 18px; }
  .hzh-stand-cta { padding: 14px 44px; font-size: 20px; }
}
