/* ScanAndGo site buttons — icon pill, sheet blue + lighter hover */
:root {
  --btn-fill: #2f6fed;
  --btn-hover: #5b9aff;
  --btn-navy: #000435;
  --btn-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

button.primary,
button.secondary,
a.button,
.leaving button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 1.75rem;
  padding: 0.25rem 0.7rem;
  border-radius: 999px;
  font: 600 0.75rem var(--btn-font);
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
  transition: background 0.15s ease, border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
}

button.primary,
button.secondary,
a.button:not(.secondary),
.leaving button {
  border: 1px solid var(--btn-fill);
  background: var(--btn-fill);
  color: #fff;
}

button.primary:hover,
button.primary:focus-visible,
button.secondary:hover,
button.secondary:focus-visible,
a.button:not(.secondary):hover,
a.button:not(.secondary):focus-visible,
.leaving button:hover,
.leaving button:focus-visible {
  background: var(--btn-hover);
  border-color: var(--btn-hover);
  color: #fff;
}

/* Outline only when marked .outline (e.g. with/without map) */
button.secondary.outline,
a.button.secondary.outline {
  background: #fff;
  color: var(--btn-fill);
  border-color: var(--btn-fill);
}

button.secondary.outline:hover,
button.secondary.outline:focus-visible,
a.button.secondary.outline:hover,
a.button.secondary.outline:focus-visible {
  background: #e8f0ff;
  color: var(--btn-fill);
  border-color: var(--btn-fill);
}

.leaving button.is-good {
  background: #0a7a32;
  border-color: #0a7a32;
  color: #fff;
}

.leaving button.is-good:hover,
.leaving button.is-good:focus-visible {
  background: #0c9140;
  border-color: #0c9140;
  color: #fff;
}

.leaving button.is-poor {
  background: #b42318;
  border-color: #b42318;
  color: #fff;
}

.leaving button.is-poor:hover,
.leaving button.is-poor:focus-visible {
  background: #d92d20;
  border-color: #d92d20;
  color: #fff;
}

.leaving button.is-plain,
.leaving button.is-plain:hover,
.leaving button.is-plain:focus-visible {
  background: #6b7280;
  border-color: #6b7280;
  color: #fff;
}

.leaving button.is-plain:hover,
.leaving button.is-plain:focus-visible {
  background: #4b5563;
  border-color: #4b5563;
  color: #fff;
}

.leaving button[aria-pressed="true"] {
  box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--btn-navy);
}

.leaving button[aria-pressed="true"]:not(.is-good):not(.is-poor):not(.is-plain) {
  background: var(--btn-navy);
  border-color: var(--btn-navy);
  color: #fff;
}

.leaving button.is-good[aria-pressed="true"] {
  background: #0a7a32;
  border-color: #0a7a32;
}

.leaving button.is-poor[aria-pressed="true"] {
  background: #b42318;
  border-color: #b42318;
}

.leaving button.is-plain[aria-pressed="true"] {
  background: #4b5563;
  border-color: #4b5563;
}

button.primary:disabled,
button.secondary:disabled,
a.button[aria-disabled="true"] {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

form > button:not(.secondary):not(.why-link),
form button[type="submit"]:not(.secondary) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  min-height: 1.75rem;
  padding: 0.25rem 0.7rem;
  border: 1px solid var(--btn-fill);
  border-radius: 999px;
  background: var(--btn-fill);
  color: #fff;
  font: 600 0.75rem var(--btn-font);
  cursor: pointer;
  transition: background 0.15s ease, border-color 0.15s ease;
}

form > button:not(.secondary):hover,
form > button:not(.secondary):focus-visible,
form button[type="submit"]:not(.secondary):hover,
form button[type="submit"]:not(.secondary):focus-visible {
  background: var(--btn-hover);
  border-color: var(--btn-hover);
  color: #fff;
}

.btn-ico,
button.primary > svg,
button.secondary > svg,
a.button > svg,
.leaving button > svg {
  display: block;
  width: 0.75rem;
  height: 0.75rem;
  max-width: 0.75rem;
  max-height: 0.75rem;
  flex: 0 0 0.75rem;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  overflow: visible;
}
