:root {
  --amap-navy: #0b3a74;
  --amap-blue: #0d63b5;
  --amap-sky: #ddf1ff;
  --amap-teal: #2d9b9b;
  --amap-gold: #e3a21a;
  --amap-cream: #fff9ee;
  --amap-ink: #17324f;
  --amap-line: #c8d9ea;
  --amap-white: #fff;
}

.amap-impact-wrap {
  color: var(--amap-ink);
  margin-inline: auto;
  max-width: 1120px;
  padding: clamp(1rem, 3vw, 2.5rem);
}

.amap-impact-wrap h2,
.amap-impact-wrap h3,
.amap-impact-wrap h4 {
  color: var(--amap-navy);
  line-height: 1.2;
}

.amap-impact-eyebrow {
  color: var(--amap-teal);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .09em;
  margin-bottom: .35rem;
  text-transform: uppercase;
}

.amap-impact-campaigns,
.amap-impact-stats,
.amap-impact-grid,
.amap-impact-admin-grid,
.amap-impact-controls {
  display: grid;
  gap: 1rem;
}

.amap-impact-campaigns { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
.amap-impact-stats { grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); margin-block: 1.5rem; }
.amap-impact-grid { grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); }
.amap-impact-controls { grid-template-columns: repeat(auto-fit, minmax(330px, 1fr)); }

.amap-impact-card,
.amap-impact-panel,
.amap-impact-stats article {
  background: var(--amap-white);
  border: 1px solid var(--amap-line);
  border-radius: 18px;
  box-shadow: 0 10px 30px rgba(11, 58, 116, .08);
  padding: 1.25rem;
}

.amap-impact-card--form { margin-block: 1.5rem; }
.amap-impact-stats article { display: flex; flex-direction: column; min-height: 130px; justify-content: center; }
.amap-impact-stats strong { color: var(--amap-navy); font-size: clamp(1.5rem, 4vw, 2.25rem); line-height: 1.1; }
.amap-impact-stats span { margin-top: .45rem; }
.amap-impact-stats small { display: block; font-size: .75em; margin-top: .25rem; }

.amap-impact-form,
.amap-impact-panel form { display: grid; gap: 1rem; }
.amap-impact-form label,
.amap-impact-panel label { color: var(--amap-ink); display: grid; font-weight: 700; gap: .35rem; }
.amap-impact-form input,
.amap-impact-form select,
.amap-impact-form textarea,
.amap-impact-panel input,
.amap-impact-panel select,
.amap-impact-panel textarea {
  background: var(--amap-white);
  border: 1px solid #8aa8c5;
  border-radius: 9px;
  color: #14283d;
  font: inherit;
  min-height: 44px;
  padding: .7rem .8rem;
}

.amap-impact-form textarea,
.amap-impact-panel textarea { min-height: 110px; resize: vertical; }
.amap-impact-form fieldset { border: 1px solid var(--amap-line); border-radius: 10px; padding: .8rem; }
.amap-impact-form legend { color: var(--amap-navy); font-weight: 800; padding-inline: .25rem; }
.amap-impact-choice { align-items: flex-start !important; display: flex !important; font-weight: 500 !important; gap: .55rem !important; }
.amap-impact-choice input { flex: 0 0 auto; min-height: 20px; width: 20px; }
.amap-impact-honeypot { left: -10000px !important; position: absolute !important; }

.amap-impact-button,
.amap-impact-link {
  align-items: center;
  background: var(--amap-blue);
  border: 2px solid var(--amap-blue);
  border-radius: 999px;
  color: #fff !important;
  cursor: pointer;
  display: inline-flex;
  font-weight: 800;
  justify-content: center;
  min-height: 44px;
  padding: .68rem 1.15rem;
  text-decoration: none !important;
  width: fit-content;
}

.amap-impact-button:hover,
.amap-impact-button:focus-visible { background: var(--amap-navy); border-color: var(--amap-navy); }
.amap-impact-button--outline { background: transparent; color: var(--amap-blue) !important; }
.amap-impact-link { background: transparent; border: 0; color: var(--amap-blue) !important; padding-inline: .2rem; text-decoration: underline !important; }

.amap-impact-progress { background: var(--amap-sky); border-radius: 999px; height: 12px; overflow: hidden; }
.amap-impact-progress span { background: linear-gradient(90deg, var(--amap-teal), var(--amap-blue)); display: block; height: 100%; }

.amap-impact-alert { border-left: 5px solid var(--amap-blue); border-radius: 9px; margin-block: 1rem; padding: .85rem 1rem; }
.amap-impact-alert--success { background: #e5f7f0; border-color: #16845f; }
.amap-impact-alert--info { background: var(--amap-sky); }
.amap-impact-alert--warning { background: var(--amap-cream); border-color: var(--amap-gold); }
.amap-impact-note { background: var(--amap-cream); border-radius: 10px; margin-top: 1.5rem; padding: 1rem; }

.amap-impact-resource { border-bottom: 1px solid var(--amap-line); padding-block: .65rem; }
.amap-impact-resource summary { color: var(--amap-navy); cursor: pointer; font-size: 1.05rem; font-weight: 800; padding: .5rem; }
.amap-impact-resource > div { padding: .5rem 1rem 1rem; }

.amap-impact-admin-grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin-block: 1.2rem; }
.amap-impact-admin-grid > div { background: #fff; border: 1px solid #c3c4c7; border-radius: 10px; display: flex; flex-direction: column; padding: 1rem; }
.amap-impact-admin-grid strong { color: var(--amap-navy); font-size: 1.65rem; }
.amap-impact-panel { margin-block: 1rem; }
.amap-impact-panel.is-overdue { border-color: #b32d2e; border-width: 2px; }
.amap-impact-admin .widefat { margin-block: 1rem 2rem; }

.amap-skip-link {
  background: #fff;
  border: 3px solid var(--amap-navy);
  color: var(--amap-navy);
  left: 1rem;
  padding: .8rem 1rem;
  position: fixed;
  top: -200px;
  z-index: 100000;
}
.amap-skip-link:focus { top: 1rem; }

.amap-a11y {
  align-items: center;
  background: rgba(11, 58, 116, .97);
  border-radius: 14px 14px 0 0;
  bottom: 0;
  box-shadow: 0 -4px 18px rgba(0, 0, 0, .18);
  display: flex;
  flex-wrap: wrap;
  gap: .25rem;
  left: 50%;
  max-width: calc(100vw - 1rem);
  padding: .4rem;
  position: fixed;
  transform: translateX(-50%);
  z-index: 99999;
}
.amap-a11y button { background: transparent; border: 1px solid rgba(255,255,255,.55); border-radius: 7px; color: #fff; cursor: pointer; font: inherit; font-size: .76rem; min-height: 38px; padding: .35rem .55rem; }
.amap-a11y button[aria-pressed="true"] { background: #fff; color: var(--amap-navy); }

:where(.amap-impact-wrap, .amap-a11y, .amap-impact-admin) :focus-visible {
  outline: 3px solid var(--amap-gold) !important;
  outline-offset: 3px !important;
}

body.amap-font-large { font-size: 118%; }
body.amap-high-contrast { --amap-navy: #000; --amap-blue: #002bff; --amap-sky: #fff; --amap-teal: #005b4f; --amap-gold: #ffbf00; --amap-cream: #fff; --amap-ink: #000; --amap-line: #000; --amap-white: #fff; background: #fff !important; color: #000 !important; }
body.amap-high-contrast a { text-decoration: underline; }
body.amap-low-bandwidth * { background-image: none !important; box-shadow: none !important; }
body.amap-low-bandwidth video[autoplay] { display: none !important; }
body.amap-reduce-motion *,
body.amap-reduce-motion *::before,
body.amap-reduce-motion *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; scroll-behavior: auto !important; transition-duration: .001ms !important; }

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { scroll-behavior: auto !important; }
}

@media (max-width: 620px) {
  .amap-a11y { justify-content: center; width: calc(100vw - 1rem); }
  .amap-a11y button { flex: 1 1 auto; }
  .amap-impact-wrap { padding-inline: .85rem; }
  .amap-impact-controls { grid-template-columns: 1fr; }
}

@media print {
  .amap-a11y, .amap-impact-form, .amap-impact-link { display: none !important; }
  .amap-impact-card, .amap-impact-panel { box-shadow: none; break-inside: avoid; }
}

