
/* Public page buttons: subscribe, update preferences, confirm, etc. */
button,
input[type="submit"],
input[type="button"],
.button,
.btn,
a.button,
a.btn {
  background: var(--pm-black) !important; /* volt / chartreuse */
  color: var(--pm-volt) !important;
  border: 0 solid #000000 !important;
  border-radius: 999px !important;
  padding: 0.8rem 1.4rem !important;
  font-weight: 500 !important;
  letter-spacing: 0.02em !important;
  text-decoration: none !important;
  cursor: pointer !important;
  transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

/* Button hover/focus */
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover,
.button:hover,
.btn:hover,
a.button:hover,
a.btn:hover,
button:focus,
input[type="submit"]:focus,
input[type="button"]:focus,
.button:focus,
.btn:focus,
a.button:focus,
a.btn:focus {
  background: var(--pm-black) !important;
  color: var(--pm-volt) !important;
  /* box-shadow: 0 0 0 4px rgba(214, 255, 0, 0.28) !important; */
  /* transform: translateY(-1px); */
  outline: none !important;
}

/* Button active/pressed state */
button:active,
input[type="submit"]:active,
input[type="button"]:active,
.button:active,
.btn:active,
a.button:active,
a.btn:active {
  /* transform: translateY(0); */
  box-shadow: none !important;
}

/* Suggested public-page palette */
:root {
  --pm-volt: #D6FF00;
  --pm-teal: #007A87;
  --pm-darkteal: #005E68;
  --pm-volt-hover: #C6F000;
  --pm-black: #000000;
  --pm-link: #007A87;
  --pm-link-hover: #005E68;
}

/* Public page links */
a {
  color: var(--pm-teal) !important; /* deep teal */
  font-weight: 400;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
  text-decoration-color: var(--pm-teal);
}

a:hover,
a:focus {
  color: var(--pm-darkteal) !important;
  text-decoration-thickness: 0.12em;
  text-decoration-color: var(--pm-darkteal);
}

footer:has(a[href*="listmonk"]),
footer:has(a[href*="listmonk.app"]),
div:has(> a[href*="listmonk"]),
div:has(> a[href*="listmonk.app"]) {
  display: none !important;
}

/* * * * * * * * * * * * * * * * * * CHECKBOXES */

/* Public page checkboxes — recommended */
/*  */


/* Hide the browser checkbox visually but keep it functional */
input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 1.2rem;
  height: 1.2rem;
  background: #333333;
  border: 1px solid #777777;
  border-radius: 0.3rem;
  background: #fff;
  display: inline-grid;
  place-content: center;
  cursor: pointer;
}

/* The checkmark */
input[type="checkbox"]::before {
  content: "✓";
  color: var(--pm-volt); /* checkmark color */
  font-size: 0.95rem;
  font-weight: 600;
  line-height: 1;
  transform: scale(0);
}

/* Checked state */
input[type="checkbox"]:checked {
  background: var(--pm-black);
  border-color: var(--pm-black);
}

input[type="checkbox"]:checked::before {
  transform: scale(1);
}

/* Focus state */
input[type="checkbox"]:focus {
  outline: 3px solid rgba(214, 255, 0, 0.55);
  outline-offset: 3px;
}

input:focus {
  border-color: var(--pm-darkteal);
}
