:root {
  /* Core Dracula-style palette */
  --btcpay-brand-light: #f8f8f2;
  --btcpay-brand-primary: #7851ac;
  --btcpay-brand-secondary: #8be9fd;
  --btcpay-brand-tertiary: #f1fa8c;
  --btcpay-brand-dark: #282a36;
  --btcpay-brand-darkest: #21222c;

  --btcpay-white: #f8f8f2;
  --btcpay-black: #191a21;

  /* Neutrals */
  --btcpay-neutral-100: #f8f8f2;
  --btcpay-neutral-200: #d6d6d0;
  --btcpay-neutral-300: #b8b8b2;
  --btcpay-neutral-400: #7e808f;
  --btcpay-neutral-500: #626473;
  --btcpay-neutral-600: #4a4c59;
  --btcpay-neutral-700: #383a46;
  --btcpay-neutral-800: #282a36;
  --btcpay-neutral-900: #21222c;

  --btcpay-light-100: var(--btcpay-neutral-100);
  --btcpay-light-200: var(--btcpay-neutral-200);
  --btcpay-light-300: var(--btcpay-neutral-300);
  --btcpay-light-400: var(--btcpay-neutral-400);
  --btcpay-light-500: var(--btcpay-neutral-500);
  --btcpay-light-600: var(--btcpay-neutral-600);
  --btcpay-light-700: var(--btcpay-neutral-700);
  --btcpay-light-800: var(--btcpay-neutral-800);
  --btcpay-light-900: var(--btcpay-neutral-900);

  /* Brand colors */
  --btcpay-primary-100: #e8ddf7;
  --btcpay-primary-200: #d2bfee;
  --btcpay-primary-300: #b99be0;
  --btcpay-primary-400: #9b74ca;
  --btcpay-primary-500: #7851ac;
  --btcpay-primary-600: #684796;
  --btcpay-primary-700: #573b7f;
  --btcpay-primary-800: #49316a;
  --btcpay-primary-900: #37254f;

  --btcpay-green-100: #c2fdc9;
  --btcpay-green-200: #a6fcb4;
  --btcpay-green-300: #84fb9b;
  --btcpay-green-400: #50fa7b;
  --btcpay-green-500: #37d969;
  --btcpay-green-600: #24b857;
  --btcpay-green-700: #1a9245;
  --btcpay-green-800: #146f35;
  --btcpay-green-900: #0f4d25;

  --btcpay-blue-100: #d6f8ff;
  --btcpay-blue-200: #b9f1ff;
  --btcpay-blue-300: #9eeafe;
  --btcpay-blue-400: #8be9fd;
  --btcpay-blue-500: #61d6ee;
  --btcpay-blue-600: #3aaac4;
  --btcpay-blue-700: #287f95;
  --btcpay-blue-800: #1d5f70;
  --btcpay-blue-900: #143f4b;

  --btcpay-yellow-100: #fff7b2;
  --btcpay-yellow-200: #fbf59c;
  --btcpay-yellow-300: #f6f295;
  --btcpay-yellow-400: #f1fa8c;
  --btcpay-yellow-500: #d6c95f;
  --btcpay-yellow-600: #b6a544;
  --btcpay-yellow-700: #9a8c35;
  --btcpay-yellow-800: #756928;
  --btcpay-yellow-900: #51481c;

  --btcpay-red-100: #ffb3b3;
  --btcpay-red-200: #ff9999;
  --btcpay-red-300: #ff7777;
  --btcpay-red-400: #ff5555;
  --btcpay-red-500: #e63f43;
  --btcpay-red-600: #c8191f;
  --btcpay-red-700: #a9141a;
  --btcpay-red-800: #851016;
  --btcpay-red-900: #620c10;

  --btcpay-purple-100: #e8ddf7;
  --btcpay-purple-200: #d2bfee;
  --btcpay-purple-300: #b99be0;
  --btcpay-purple-400: #9b74ca;
  --btcpay-purple-500: #7851ac;
  --btcpay-purple-600: #684796;
  --btcpay-purple-700: #573b7f;
  --btcpay-purple-800: #49316a;
  --btcpay-purple-900: #37254f;

  --btcpay-orange-100: #fff3ef;
  --btcpay-orange-200: #ffe1d6;
  --btcpay-orange-300: #fabda5;
  --btcpay-orange-400: #fa9269;
  --btcpay-orange-500: #ff6937;
  --btcpay-orange-600: #c14f29;
  --btcpay-orange-700: #9a3f21;
  --btcpay-orange-800: #672a16;

  --btcpay-brown-100: #f6f0ea;
  --btcpay-brown-200: #ebe0db;
  --btcpay-brown-300: #d2bbb0;
  --btcpay-brown-400: #b18977;
  --btcpay-brown-500: #99644c;
  --btcpay-brown-600: #744c3a;
  --btcpay-brown-700: #5c3c2e;
  --btcpay-brown-800: #3d281e;

  --btcpay-pink-100: #ffd6ef;
  --btcpay-pink-200: #feb1dd;
  --btcpay-pink-300: #ff94d0;
  --btcpay-pink-400: #ff79c6;
  --btcpay-pink-500: #df55a5;
  --btcpay-pink-600: #bd3f8e;
  --btcpay-pink-700: #8d0063;
  --btcpay-pink-800: #690049;

  /* Spacing and typography */
  --btcpay-space-xs: 5px;
  --btcpay-space-s: 10px;
  --btcpay-space-m: 20px;
  --btcpay-space-l: 40px;
  --btcpay-space-xl: 60px;
  --btcpay-space-xxl: 80px;

  --btcpay-font-family-base: "Open Sans", "Helvetica Neue", Arial, sans-serif;
  --btcpay-font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  --btcpay-font-size-xs: 10px;
  --btcpay-font-size-s: 12px;
  --btcpay-font-size-m: 14px;
  --btcpay-font-size-l: 18px;
  --btcpay-font-size-xl: 36px;
  --btcpay-font-size-xxl: 45px;
  --btcpay-font-weight-normal: 400;
  --btcpay-font-weight-semibold: 600;
  --btcpay-font-weight-bold: 700;
  --btcpay-font-size-base: var(--btcpay-font-size-m);

  /* Main surfaces */
  --btcpay-bg-dark: #282a36;
  --btcpay-bg-tile: #21222c;
  --btcpay-bg-cta: #282a36;

  --btcpay-body-bg: #21222c;
  --btcpay-body-bg-light: #282a36;
  --btcpay-body-bg-medium: #383a46;
  --btcpay-body-bg-striped: #2f3140;
  --btcpay-body-bg-hover: #383a46;
  --btcpay-body-bg-active: var(--btcpay-primary);

  --btcpay-body-border-light: #383a46;
  --btcpay-body-border-medium: #4a4c59;

  --btcpay-body-text: #f8f8f2;
  --btcpay-body-text-striped: #f8f8f2;
  --btcpay-body-text-hover: #ffffff;
  --btcpay-body-text-active: #ffffff;
  --btcpay-body-text-muted: #b8b8b2;

  --btcpay-body-link: #8be9fd;
  --btcpay-body-link-accent: #7851ac;
  --btcpay-body-shadow: rgba(120, 81, 172, 0.28);

  /* Wizard */
  --btcpay-wizard-bg: #282a36;
  --btcpay-wizard-color: #f8f8f2;

  /* Header */
  --btcpay-header-bg: #191a21;
  --btcpay-header-text: #f8f8f2;
  --btcpay-header-link: #f8f8f2;
  --btcpay-header-link-accent: #8be9fd;
  --btcpay-header-link-active: #7851ac;

  /* Navigation */
  --btcpay-nav-link: #d6d6d0;
  --btcpay-nav-link-accent: #8be9fd;
  --btcpay-nav-link-active: #ffffff;
  --btcpay-nav-bg: transparent;
  --btcpay-nav-bg-hover: #282a36;
  --btcpay-nav-bg-active: #383a46;
  --btcpay-nav-border: transparent;
  --btcpay-nav-border-hover: transparent;
  --btcpay-nav-border-active: var(--btcpay-primary);

  /* Forms */
  --btcpay-form-bg: #282a36;
  --btcpay-form-bg-hover: #303241;
  --btcpay-form-bg-addon: #383a46;
  --btcpay-form-bg-disabled: #21222c;
  --btcpay-form-text: #f8f8f2;
  --btcpay-form-text-label: #d6d6d0;
  --btcpay-form-text-addon: #d6d6d0;
  --btcpay-form-border: #4a4c59;
  --btcpay-form-border-focus: #7851ac;
  --btcpay-form-border-active: #7851ac;
  --btcpay-form-border-disabled: #383a46;
  --btcpay-form-shadow-focus: rgba(120, 81, 172, 0.35);
  --btcpay-form-shadow-valid: rgba(80, 250, 123, 0.35);
  --btcpay-form-shadow-invalid: rgba(255, 85, 85, 0.35);

  /* Footer */
  --btcpay-footer-bg: #191a21;
  --btcpay-footer-text: #b8b8b2;
  --btcpay-footer-link: #8be9fd;
  --btcpay-footer-link-accent: #7851ac;

  /* Code */
  --btcpay-code-text: #f8f8f2;
  --btcpay-code-bg: #191a21;
  --btcpay-pre-text: #f8f8f2;
  --btcpay-pre-bg: #191a21;

  /* Primary - purple buttons */
  --btcpay-primary: #7851ac;
  --btcpay-primary-accent: #60408a;
  --btcpay-primary-text: #ffffff;
  --btcpay-primary-text-hover: #ffffff;
  --btcpay-primary-text-active: #ffffff;
  --btcpay-primary-bg-hover: #684796;
  --btcpay-primary-bg-active: #573b7f;
  --btcpay-primary-border: #7851ac;
  --btcpay-primary-border-hover: #684796;
  --btcpay-primary-border-active: #573b7f;
  --btcpay-primary-dim-bg: #49316a;
  --btcpay-primary-dim-bg-striped: #573b7f;
  --btcpay-primary-dim-bg-hover: #60408a;
  --btcpay-primary-dim-bg-active: #7851ac;
  --btcpay-primary-dim-border: #60408a;
  --btcpay-primary-dim-border-active: #7851ac;
  --btcpay-primary-dim-text: #ffffff;
  --btcpay-primary-dim-text-striped: #ffffff;
  --btcpay-primary-dim-text-hover: #ffffff;
  --btcpay-primary-dim-text-active: #ffffff;
  --btcpay-primary-shadow: rgba(120, 81, 172, 0.35);

  /* Secondary */
  --btcpay-secondary: #626473;
  --btcpay-secondary-accent: #4a4c59;
  --btcpay-secondary-text: #f8f8f2;
  --btcpay-secondary-text-hover: #ffffff;
  --btcpay-secondary-text-active: #ffffff;
  --btcpay-secondary-bg-hover: #4a4c59;
  --btcpay-secondary-bg-active: #383a46;
  --btcpay-secondary-border: #626473;
  --btcpay-secondary-border-hover: #4a4c59;
  --btcpay-secondary-border-active: #383a46;
  --btcpay-secondary-dim-bg: #383a46;
  --btcpay-secondary-dim-bg-striped: #424552;
  --btcpay-secondary-dim-bg-hover: #4a4c59;
  --btcpay-secondary-dim-bg-active: #626473;
  --btcpay-secondary-dim-border: #4a4c59;
  --btcpay-secondary-dim-border-active: #626473;
  --btcpay-secondary-dim-text: #f8f8f2;
  --btcpay-secondary-dim-text-striped: #f8f8f2;
  --btcpay-secondary-dim-text-hover: #ffffff;
  --btcpay-secondary-dim-text-active: #ffffff;
  --btcpay-secondary-shadow: rgba(130, 138, 145, 0.33);

  /* Success */
  --btcpay-success: #50fa7b;
  --btcpay-success-accent: #1e7e34;
  --btcpay-success-text: #191a21;
  --btcpay-success-text-hover: #191a21;
  --btcpay-success-text-active: #191a21;
  --btcpay-success-bg-hover: #69ff91;
  --btcpay-success-bg-active: #37d969;
  --btcpay-success-border: #50fa7b;
  --btcpay-success-border-hover: #69ff91;
  --btcpay-success-border-active: #37d969;
  --btcpay-success-dim-bg: rgba(80, 250, 123, 0.15);
  --btcpay-success-dim-bg-striped: rgba(80, 250, 123, 0.2);
  --btcpay-success-dim-bg-hover: rgba(80, 250, 123, 0.25);
  --btcpay-success-dim-bg-active: rgba(80, 250, 123, 0.3);
  --btcpay-success-dim-border: rgba(80, 250, 123, 0.35);
  --btcpay-success-dim-border-active: rgba(80, 250, 123, 0.45);
  --btcpay-success-dim-text: #c2fdc9;
  --btcpay-success-dim-text-striped: #c2fdc9;
  --btcpay-success-dim-text-hover: #ffffff;
  --btcpay-success-dim-text-active: #ffffff;
  --btcpay-success-shadow: rgba(80, 250, 123, 0.33);

  /* Info */
  --btcpay-info: #8be9fd;
  --btcpay-info-accent: #3aaac4;
  --btcpay-info-text: #191a21;
  --btcpay-info-text-hover: #191a21;
  --btcpay-info-text-active: #191a21;
  --btcpay-info-bg-hover: #a5efff;
  --btcpay-info-bg-active: #61d6ee;
  --btcpay-info-border: #8be9fd;
  --btcpay-info-border-hover: #a5efff;
  --btcpay-info-border-active: #61d6ee;
  --btcpay-info-dim-bg: rgba(139, 233, 253, 0.15);
  --btcpay-info-dim-bg-striped: rgba(139, 233, 253, 0.2);
  --btcpay-info-dim-bg-hover: rgba(139, 233, 253, 0.25);
  --btcpay-info-dim-bg-active: rgba(139, 233, 253, 0.3);
  --btcpay-info-dim-border: rgba(139, 233, 253, 0.35);
  --btcpay-info-dim-border-active: rgba(139, 233, 253, 0.45);
  --btcpay-info-dim-text: #d6f8ff;
  --btcpay-info-dim-text-striped: #d6f8ff;
  --btcpay-info-dim-text-hover: #ffffff;
  --btcpay-info-dim-text-active: #ffffff;
  --btcpay-info-shadow: rgba(139, 233, 253, 0.33);

  /* Warning */
  --btcpay-warning: #f1fa8c;
  --btcpay-warning-accent: #d6c95f;
  --btcpay-warning-text: #191a21;
  --btcpay-warning-text-hover: #191a21;
  --btcpay-warning-text-active: #191a21;
  --btcpay-warning-bg-hover: #fbf59c;
  --btcpay-warning-bg-active: #d6c95f;
  --btcpay-warning-border: #f1fa8c;
  --btcpay-warning-border-hover: #fbf59c;
  --btcpay-warning-border-active: #d6c95f;
  --btcpay-warning-dim-bg: rgba(241, 250, 140, 0.15);
  --btcpay-warning-dim-bg-striped: rgba(241, 250, 140, 0.2);
  --btcpay-warning-dim-bg-hover: rgba(241, 250, 140, 0.25);
  --btcpay-warning-dim-bg-active: rgba(241, 250, 140, 0.3);
  --btcpay-warning-dim-border: rgba(241, 250, 140, 0.35);
  --btcpay-warning-dim-border-active: rgba(241, 250, 140, 0.45);
  --btcpay-warning-dim-text: #fff7b2;
  --btcpay-warning-dim-text-striped: #fff7b2;
  --btcpay-warning-dim-text-hover: #ffffff;
  --btcpay-warning-dim-text-active: #ffffff;
  --btcpay-warning-shadow: rgba(241, 250, 140, 0.33);

  /* Danger */
  --btcpay-danger: #ff5555;
  --btcpay-danger-accent: #c8191f;
  --btcpay-danger-text: #ffffff;
  --btcpay-danger-text-hover: #ffffff;
  --btcpay-danger-text-active: #ffffff;
  --btcpay-danger-bg-hover: #e63f43;
  --btcpay-danger-bg-active: #c8191f;
  --btcpay-danger-border: #ff5555;
  --btcpay-danger-border-hover: #e63f43;
  --btcpay-danger-border-active: #c8191f;
  --btcpay-danger-dim-bg: rgba(255, 85, 85, 0.15);
  --btcpay-danger-dim-bg-striped: rgba(255, 85, 85, 0.2);
  --btcpay-danger-dim-bg-hover: rgba(255, 85, 85, 0.25);
  --btcpay-danger-dim-bg-active: rgba(255, 85, 85, 0.3);
  --btcpay-danger-dim-border: rgba(255, 85, 85, 0.35);
  --btcpay-danger-dim-border-active: rgba(255, 85, 85, 0.45);
  --btcpay-danger-dim-text: #ffb3b3;
  --btcpay-danger-dim-text-striped: #ffb3b3;
  --btcpay-danger-dim-text-hover: #ffffff;
  --btcpay-danger-dim-text-active: #ffffff;
  --btcpay-danger-shadow: rgba(255, 85, 85, 0.33);

  /* Light / Dark variants */
  --btcpay-light: #383a46;
  --btcpay-light-accent: #4a4c59;
  --btcpay-light-text: #f8f8f2;
  --btcpay-light-text-hover: #ffffff;
  --btcpay-light-text-active: #ffffff;
  --btcpay-light-bg-hover: #4a4c59;
  --btcpay-light-bg-active: #626473;
  --btcpay-light-border: #4a4c59;
  --btcpay-light-border-hover: #626473;
  --btcpay-light-border-active: #7e808f;
  --btcpay-light-dim-bg: #282a36;
  --btcpay-light-dim-bg-striped: #2f3140;
  --btcpay-light-dim-bg-hover: #383a46;
  --btcpay-light-dim-bg-active: #4a4c59;
  --btcpay-light-dim-border: #383a46;
  --btcpay-light-dim-border-active: #4a4c59;
  --btcpay-light-dim-text: #f8f8f2;
  --btcpay-light-dim-text-striped: #f8f8f2;
  --btcpay-light-dim-text-hover: #ffffff;
  --btcpay-light-dim-text-active: #ffffff;
  --btcpay-light-shadow: rgba(211, 212, 213, 0.2);

  --btcpay-dark: #191a21;
  --btcpay-dark-accent: #111219;
  --btcpay-dark-text: #f8f8f2;
  --btcpay-dark-text-hover: #ffffff;
  --btcpay-dark-text-active: #ffffff;
  --btcpay-dark-bg-hover: #111219;
  --btcpay-dark-bg-active: #000000;
  --btcpay-dark-border: #282a36;
  --btcpay-dark-border-hover: #383a46;
  --btcpay-dark-border-active: #4a4c59;
  --btcpay-dark-dim-bg: #191a21;
  --btcpay-dark-dim-bg-striped: #21222c;
  --btcpay-dark-dim-bg-hover: #282a36;
  --btcpay-dark-dim-bg-active: #383a46;
  --btcpay-dark-dim-border: #282a36;
  --btcpay-dark-dim-border-active: #383a46;
  --btcpay-dark-dim-text: #f8f8f2;
  --btcpay-dark-dim-text-striped: #f8f8f2;
  --btcpay-dark-dim-text-hover: #ffffff;
  --btcpay-dark-dim-text-active: #ffffff;
  --btcpay-dark-shadow: rgba(66, 70, 73, 0.33);
}

/* Global dark background */
html,
body {
  background-color: var(--btcpay-body-bg) !important;
  color: var(--btcpay-body-text) !important;
}

/* Header / nav */
.bg-dark,
#mainNav,
#mainNav.sticky-top {
  background-color: var(--btcpay-header-bg) !important;
  color: var(--btcpay-header-text) !important;
}

#mainNav a,
.nav-link {
  color: var(--btcpay-nav-link);
}

#mainNav a:hover,
.nav-link:hover {
  color: var(--btcpay-nav-link-accent);
}

/* General layout surfaces */
.card,
.modal-content,
.dropdown-menu,
.list-group-item,
.invoice-box,
.payment-box,
.checkout-box,
.payment-method,
.store-card,
.tile,
.well,
.box {
  background-color: var(--btcpay-body-bg-light) !important;
  color: var(--btcpay-body-text) !important;
  border-color: var(--btcpay-body-border-light) !important;
}

.card-header,
.card-footer,
.modal-header,
.modal-footer {
  background-color: var(--btcpay-body-bg-medium) !important;
  color: var(--btcpay-body-text) !important;
  border-color: var(--btcpay-body-border-light) !important;
}

/* Forms */
.form-control,
.form-select,
.input-group-text,
textarea,
input,
select {
  background-color: var(--btcpay-form-bg) !important;
  color: var(--btcpay-form-text) !important;
  border-color: var(--btcpay-form-border) !important;
}

.form-control:focus,
.form-select:focus,
textarea:focus,
input:focus,
select:focus {
  background-color: var(--btcpay-form-bg-hover) !important;
  color: var(--btcpay-form-text) !important;
  border-color: var(--btcpay-form-border-focus) !important;
  box-shadow: 0 0 0 0.2rem var(--btcpay-form-shadow-focus) !important;
}

.form-control::placeholder,
textarea::placeholder,
input::placeholder {
  color: var(--btcpay-body-text-muted) !important;
}

label,
.form-label,
.col-form-label {
  color: var(--btcpay-form-text-label) !important;
}

/* Tables */
.table,
.table-sm {
  color: var(--btcpay-body-text) !important;
  background-color: #282a36 !important;
  border: 1px solid var(--btcpay-body-border-light);
  border-radius: 4px;
  border-collapse: separate !important;
  border-spacing: 0 !important;
}

.table-sm {
  margin: 1.5rem 0;
}

.table thead,
.table-sm thead {
  background-color: #191a21 !important;
  color: #f8f8f2 !important;
}

.table thead > tr,
.table-sm thead > tr {
  height: 40px;
}

.table thead th,
.table-sm thead th {
  border-bottom: none;
  border-top: none;
  font-size: 1rem;
}

.table th,
.table td,
.table-sm th,
.table-sm td {
  border-color: var(--btcpay-body-border-light) !important;
  padding: 8px 12px;
  vertical-align: middle;
  font-size: 0.92rem;
}

.table tbody tr:hover,
.table-sm tbody tr:hover {
  background-color: #383a46 !important;
  color: #ffffff !important;
}

.removetopborder tr:first-child th,
.removetopborder tr:first-child td {
  border-top: none;
}

/* Primary buttons - purple cart/checkout/admin buttons */
.btn-primary,
.cart .btn-primary,
.checkout .btn-primary,
.payment-box .btn-primary,
.invoice-box .btn-primary,
.checkout-box .btn-primary,
.payment-method .btn-primary,
#CartView .btn-primary,
#CheckoutView .btn-primary {
  background-color: #7851ac !important;
  border-color: #7851ac !important;
  color: #ffffff !important;
}

.btn-primary:hover,
.btn-primary:focus,
.cart .btn-primary:hover,
.cart .btn-primary:focus,
.checkout .btn-primary:hover,
.checkout .btn-primary:focus,
.payment-box .btn-primary:hover,
.payment-box .btn-primary:focus,
.invoice-box .btn-primary:hover,
.invoice-box .btn-primary:focus,
.checkout-box .btn-primary:hover,
.checkout-box .btn-primary:focus,
.payment-method .btn-primary:hover,
.payment-method .btn-primary:focus,
#CartView .btn-primary:hover,
#CartView .btn-primary:focus,
#CheckoutView .btn-primary:hover,
#CheckoutView .btn-primary:focus {
  background-color: #684796 !important;
  border-color: #684796 !important;
  color: #ffffff !important;
}

.btn-primary:active,
.btn-primary.active,
.btn-primary:disabled,
.btn-primary.disabled {
  background-color: #573b7f !important;
  border-color: #573b7f !important;
  color: #ffffff !important;
}

/* Secondary buttons */
.btn-secondary {
  background-color: var(--btcpay-secondary) !important;
  border-color: var(--btcpay-secondary) !important;
  color: var(--btcpay-secondary-text) !important;
}

.btn-secondary:hover,
.btn-secondary:focus {
  background-color: var(--btcpay-secondary-bg-hover) !important;
  border-color: var(--btcpay-secondary-border-hover) !important;
  color: #ffffff !important;
}

/* Outline buttons */
.btn-outline-primary {
  color: #d2bfee !important;
  border-color: #7851ac !important;
}

.btn-outline-primary:hover,
.btn-outline-primary:focus {
  background-color: #7851ac !important;
  border-color: #7851ac !important;
  color: #ffffff !important;
}

.btn-link {
  color: var(--btcpay-body-link) !important;
}

/* Links */
a {
  color: var(--btcpay-body-link);
}

a:hover,
a:focus {
  color: var(--btcpay-body-link-accent);
}

/* Alerts */
.alert-success {
  background-color: rgba(80, 250, 123, 0.15) !important;
  border-color: #50fa7b !important;
  color: #c2fdc9 !important;
}

.alert-info {
  background-color: rgba(139, 233, 253, 0.15) !important;
  border-color: #8be9fd !important;
  color: #d6f8ff !important;
}

.alert-warning {
  background-color: rgba(241, 250, 140, 0.15) !important;
  border-color: #f1fa8c !important;
  color: #fff7b2 !important;
}

.alert-danger {
  background-color: rgba(255, 85, 85, 0.15) !important;
  border-color: #ff5555 !important;
  color: #ffb3b3 !important;
}

/* Dropdowns */
.dropdown-menu {
  background-color: #282a36 !important;
  border-color: #4a4c59 !important;
}

.dropdown-item {
  color: #f8f8f2 !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background-color: #383a46 !important;
  color: #ffffff !important;
}

/* Badges */
.badge.bg-primary,
.badge-primary {
  background-color: #7851ac !important;
  color: #ffffff !important;
}

/* Code */
code,
pre {
  background-color: var(--btcpay-code-bg) !important;
  color: var(--btcpay-code-text) !important;
}

/* Utility overrides */
.text-muted {
  color: var(--btcpay-body-text-muted) !important;
}

.text-dark {
  color: var(--btcpay-body-text) !important;
}

.bg-light {
  background-color: var(--btcpay-body-bg-light) !important;
  color: var(--btcpay-body-text) !important;
}

.bg-white {
  background-color: var(--btcpay-body-bg-light) !important;
  color: var(--btcpay-body-text) !important;
}

.border,
.border-top,
.border-end,
.border-bottom,
.border-start {
  border-color: var(--btcpay-body-border-light) !important;
}

/* QR/payment screen helpers */
.qr-container,
.payment-details,
.payment-tabs,
.payment-method-details {
  background-color: var(--btcpay-body-bg-light) !important;
  color: var(--btcpay-body-text) !important;
  border-color: var(--btcpay-body-border-light) !important;
}

/* Keep QR images readable */
.qr-container img,
.qr-code img {
  background-color: #ffffff !important;
  padding: 8px;
  border-radius: 4px;
}

/* Final hard override for cart buttons */
button.btn-primary,
a.btn-primary,
input[type="submit"].btn-primary {
  background-color: #7851ac !important;
  border-color: #7851ac !important;
  color: #ffffff !important;
}

button.btn-primary:hover,
a.btn-primary:hover,
input[type="submit"].btn-primary:hover {
  background-color: #684796 !important;
  border-color: #684796 !important;
  color: #ffffff !important;
}
