/**
 * Buttons only — original brand blue. Text/links use mint (#54f8d1) via --blue elsewhere.
 */
:root {
  --btn: #2b64e5;
  --btn-h: #1f52c8;
}

/* ── Filled primary buttons ───────────────────────────── */
.btn,
a.btn,
button.btn,
.btn:hover,
a.btn:hover,
button.btn:hover,
.submit-btn,
button.submit-btn,
.submit-btn:hover,
button.submit-btn:hover,
.btn-primary,
a.btn-primary,
.btn-primary:hover,
a.btn-primary:hover,
.plan-btn:not(.outline),
a.plan-btn:not(.outline),
.plan-btn:not(.outline):hover,
a.plan-btn:not(.outline):hover,
.billing-toggle button.active,
.search-box button,
.search-box button:hover,
.search-btn,
.search-btn:hover,
button.search-btn,
button.search-btn:hover,
.btn-next,
button.btn-next,
.btn-next:hover,
button.btn-next:hover,
.btn-primary-link,
a.btn-primary-link,
.btn-primary-link:hover,
a.btn-primary-link:hover,
.btn-post,
button.btn-post,
.btn-post:hover,
button.btn-post:hover,
.btn-send,
button.btn-send,
.btn-send:hover,
button.btn-send:hover {
  background: var(--btn);
  color: #fff;
}

.btn:hover,
a.btn:hover,
button.btn:hover,
.submit-btn:hover,
button.submit-btn:hover,
.btn-primary:hover,
a.btn-primary:hover,
.plan-btn:not(.outline):hover,
a.plan-btn:not(.outline):hover,
.search-box button:hover,
.search-btn:hover,
button.search-btn:hover,
.btn-next:hover,
button.btn-next:hover,
.btn-primary-link:hover,
a.btn-primary-link:hover,
.btn-post:hover,
button.btn-post:hover,
.btn-send:hover,
button.btn-send:hover {
  background: var(--btn-h);
}

.btn-publish,
button.btn-publish {
  background: linear-gradient(135deg, var(--btn), #7c3aed);
}

.btn-publish:hover,
button.btn-publish:hover {
  background: linear-gradient(135deg, var(--btn-h), #6d28d9);
}

/* Hover-fill action chips */
.btn-dl:hover,
button.btn-dl:hover,
.btn-apply:hover,
button.btn-apply:hover,
.btn-connect:hover,
.btn-add-tag:hover,
button.btn-add-tag:hover {
  background: var(--btn-h);
  border-color: var(--btn);
  color: #fff;
}

/* Soft secondary buttons */
.mark-read-btn {
  background: rgba(43, 100, 229, 0.35);
  border: 1px solid rgba(43, 100, 229, 0.55);
  color: #fff;
}

.mark-read-btn:hover,
.mark-all:hover,
.btn-export:hover {
  background: var(--btn-h);
  border-color: var(--btn);
  color: #fff;
}

/* Outline plan CTAs */
.plan-btn.outline,
a.plan-btn.outline {
  color: var(--btn);
  border-color: rgba(43, 100, 229, 0.5);
  background: transparent;
}

.plan-btn.outline:hover,
a.plan-btn.outline:hover {
  background: rgba(43, 100, 229, 0.12);
  color: var(--btn-h);
}

/* OAuth / ghost submit — not filled brand buttons */
.submit-btn[style*="background:rgba(255"],
button.submit-btn[style*="background:rgba(255"] {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #54f8d1 !important;
  border: 1px solid rgba(84, 248, 209, 0.3) !important;
  box-shadow: none !important;
}

.submit-btn[style*="background:rgba(255"]:hover,
button.submit-btn[style*="background:rgba(255"]:hover {
  background: rgba(255, 255, 255, 0.2) !important;
  color: #54f8d1 !important;
}

/* Button shadows */
.btn,
a.btn,
.btn-primary,
a.btn-primary,
.submit-btn:not([style*="background:rgba(255"]),
.plan-btn:not(.outline),
.btn-next,
.btn-primary-link,
a.btn-primary-link,
.btn-post,
.btn-send,
.search-btn,
.search-box button,
.btn-publish {
  box-shadow: 0 4px 16px rgba(43, 100, 229, 0.4);
}

.btn:hover,
.btn-primary:hover,
.submit-btn:not([style*="background:rgba(255"]):hover,
.plan-btn:not(.outline):hover,
.btn-next:hover,
.btn-primary-link:hover,
.btn-post:hover,
.btn-send:hover,
.search-btn:hover,
.search-box button:hover,
.btn-publish:hover {
  box-shadow: 0 6px 24px rgba(43, 100, 229, 0.55);
}
