/*
 * Paxlivo BTCPay Server Theme
 * Version: 1.0.0
 * Matches paxlivo.com WordPress theme palette.
 * Upload in BTCPay: Server Settings -> Branding -> Custom Theme.
 */

:root {
  /* Paxlivo brand */
  --btcpay-brand-primary: #55e6b5;
  --btcpay-brand-secondary: #4f8cff;
  --btcpay-brand-tertiary: #87f7d4;
  --btcpay-brand-dark: #07111f;

  --btcpay-primary-100: #ebfcf6;
  --btcpay-primary-200: #cff8ea;
  --btcpay-primary-300: #adf3db;
  --btcpay-primary-400: #85edca;
  --btcpay-primary-500: #55e6b5;
  --btcpay-primary-600: #4bca9f;
  --btcpay-primary-700: #3da682;
  --btcpay-primary-800: #2f7f64;
  --btcpay-primary-900: #205745;
  --btcpay-primary-rgb: 85, 230, 181;
  --btcpay-primary-accent-rgb: 75, 202, 159;
  --btcpay-primary: rgb(var(--btcpay-primary-rgb));
  --btcpay-primary-accent: rgb(var(--btcpay-primary-accent-rgb));
  --btcpay-primary-shadow: rgba(var(--btcpay-primary-rgb), .22);
  --btcpay-primary-text: #04120d;
  --btcpay-primary-text-hover: #04120d;
  --btcpay-primary-text-active: #04120d;
  --btcpay-primary-bg-hover: #7bf3cf;
  --btcpay-primary-bg-active: #4bca9f;
  --btcpay-primary-border: #55e6b5;
  --btcpay-primary-border-hover: #7bf3cf;
  --btcpay-primary-border-active: #4bca9f;

  /* Core surfaces */
  --btcpay-neutral-50: #050c15;
  --btcpay-neutral-100: #07111f;
  --btcpay-neutral-200: #0a1727;
  --btcpay-neutral-300: #102239;
  --btcpay-neutral-400: #1a3048;
  --btcpay-neutral-500: #70869a;
  --btcpay-neutral-600: #9bb0c5;
  --btcpay-neutral-700: #c5d4e2;
  --btcpay-neutral-800: #dce8f2;
  --btcpay-neutral-900: #edf7ff;

  --btcpay-bg-dark: #050c15;
  --btcpay-bg-tile: #0d1c2e;
  --btcpay-body-bg-rgb: 7, 17, 31;
  --btcpay-body-bg: #07111f;
  --btcpay-body-bg-light: #0a1727;
  --btcpay-body-bg-medium: #102239;
  --btcpay-body-bg-striped: #0a1727;
  --btcpay-body-bg-hover: #102239;
  --btcpay-body-bg-active: #55e6b5;
  --btcpay-body-border-light: rgba(255,255,255,.09);
  --btcpay-body-border-medium: rgba(255,255,255,.14);
  --btcpay-body-text: #edf7ff;
  --btcpay-body-text-rgb: 237, 247, 255;
  --btcpay-body-text-striped: #edf7ff;
  --btcpay-body-text-hover: #ffffff;
  --btcpay-body-text-muted: #9bb0c5;
  --btcpay-body-link: #55e6b5;
  --btcpay-body-link-rgb: 85, 230, 181;
  --btcpay-body-link-accent: #87f7d4;
  --btcpay-body-link-accent-rgb: 135, 247, 212;
  --btcpay-body-shadow: rgba(0,0,0,.28);

  /* Navigation */
  --btcpay-header-bg: #07111f;
  --btcpay-header-text: #edf7ff;
  --btcpay-header-link: #c5d4e2;
  --btcpay-header-link-accent: #ffffff;
  --btcpay-header-link-active: #55e6b5;
  --btcpay-nav-link: #9bb0c5;
  --btcpay-nav-link-accent: #ffffff;
  --btcpay-nav-link-active: #edf7ff;
  --btcpay-nav-bg: transparent;
  --btcpay-nav-bg-hover: rgba(255,255,255,.045);
  --btcpay-nav-bg-active: rgba(85,230,181,.08);
  --btcpay-nav-border: transparent;
  --btcpay-nav-border-hover: rgba(255,255,255,.08);
  --btcpay-nav-border-active: #55e6b5;

  /* Forms */
  --btcpay-form-bg: #07111f;
  --btcpay-form-bg-hover: #0a1727;
  --btcpay-form-bg-addon: #102239;
  --btcpay-form-bg-disabled: #0a1727;
  --btcpay-form-text: #edf7ff;
  --btcpay-form-text-label: #c5d4e2;
  --btcpay-form-text-addon: #9bb0c5;
  --btcpay-form-border: rgba(255,255,255,.11);
  --btcpay-form-border-check: rgba(255,255,255,.22);
  --btcpay-form-border-hover: rgba(85,230,181,.45);
  --btcpay-form-border-focus: #55e6b5;
  --btcpay-form-shadow-size: 3px;
  --btcpay-form-shadow-focus: rgba(85,230,181,.08);

  /* Footer / code */
  --btcpay-footer-bg: #050c15;
  --btcpay-footer-text: #70869a;
  --btcpay-footer-link: #9bb0c5;
  --btcpay-footer-link-accent: #edf7ff;
  --btcpay-pre-bg: #050c15;
  --btcpay-pre-text: #d1e5f4;
  --btcpay-code-text: #d1e5f4;

  /* Shape + typography */
  --btcpay-font-family-base: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
  --btcpay-border-radius: .75rem;
  --btcpay-border-radius-l: 1rem;
  --btcpay-border-radius-xl: 1.375rem;
  --btcpay-border-radius-xxl: 1.75rem;
}

/* Make the appearance consistent even when a user toggles BTCPay light/dark. */
[data-btcpay-theme="light"],
[data-btcpay-theme="dark"] {
  --btcpay-bg-dark: #050c15;
  --btcpay-bg-tile: #0d1c2e;
  --btcpay-body-bg-rgb: 7, 17, 31;
  --btcpay-body-bg: #07111f;
  --btcpay-body-bg-light: #0a1727;
  --btcpay-body-bg-medium: #102239;
  --btcpay-body-bg-striped: #0a1727;
  --btcpay-body-bg-hover: #102239;
  --btcpay-body-border-light: rgba(255,255,255,.09);
  --btcpay-body-border-medium: rgba(255,255,255,.14);
  --btcpay-body-text: #edf7ff;
  --btcpay-body-text-muted: #9bb0c5;
  --btcpay-form-bg: #07111f;
  --btcpay-form-text: #edf7ff;
  --btcpay-form-text-label: #c5d4e2;
  --btcpay-form-border: rgba(255,255,255,.11);
  --btcpay-header-bg: #07111f;
  --btcpay-nav-link: #9bb0c5;
  --btcpay-nav-link-active: #edf7ff;
  --btcpay-footer-bg: #050c15;
}

html, body {
  background-color: #07111f !important;
}

body {
  background-image:
    radial-gradient(circle at 8% 3%, rgba(79,140,255,.12), transparent 28rem),
    radial-gradient(circle at 92% 92%, rgba(85,230,181,.09), transparent 28rem),
    linear-gradient(rgba(255,255,255,.016) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.016) 1px, transparent 1px);
  background-size: auto, auto, 48px 48px, 48px 48px;
  color: #edf7ff;
  -webkit-font-smoothing: antialiased;
}

/* Main navigation / sidebar */
#mainMenu.btcpay-header {
  background: rgba(7,17,31,.96) !important;
  border-color: rgba(255,255,255,.08) !important;
  box-shadow: 18px 0 48px rgba(0,0,0,.13);
}

#mainMenuHead {
  border-color: rgba(255,255,255,.08) !important;
}

#mainNav .nav-link,
#mainNav a {
  border-radius: 11px;
}

#mainNav .nav-link:hover,
#mainNav a:hover {
  background: rgba(255,255,255,.045);
}

#mainNav .active > .nav-link,
#mainNav .nav-link.active,
#mainNav a.active {
  background: rgba(85,230,181,.075);
  color: #edf7ff !important;
}

/* Content surfaces */
.card,
.modal-content,
.dropdown-menu,
.offcanvas,
.toast,
.list-group-item,
.accordion-item,
.btcpay-pills,
.tile {
  border-color: rgba(255,255,255,.09) !important;
}

.card,
.modal-content,
.account-form,
.dropdown-menu,
.toast,
.tile {
  background: linear-gradient(180deg, rgba(18,39,64,.94), rgba(10,24,41,.97)) !important;
  box-shadow: 0 22px 70px rgba(0,0,0,.18);
}

.card,
.modal-content,
.account-form,
.dropdown-menu,
.toast {
  border-radius: 18px !important;
}

.card-header,
.card-footer,
.modal-header,
.modal-footer {
  background: transparent !important;
  border-color: rgba(255,255,255,.08) !important;
}

.list-group-item {
  background: rgba(255,255,255,.018) !important;
  color: #edf7ff !important;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
  background: rgba(255,255,255,.05) !important;
}

/* Signed-out / login / register experience */
.account-form {
  border: 1px solid rgba(255,255,255,.10);
  padding: 2rem !important;
  position: relative;
  overflow: hidden;
}

.account-form::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(85,230,181,.08), transparent 32%, rgba(79,140,255,.07));
}

.account-form > * {
  position: relative;
  z-index: 1;
}

.main-logo {
  max-width: 16rem !important;
  height: auto !important;
  max-height: 4.6rem !important;
}

/* Forms */
.form-control,
.form-select,
.input-group-text,
.form-check-input,
textarea,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="number"],
input[type="url"] {
  border-radius: 11px !important;
}

.form-control,
.form-select {
  min-height: 44px;
  background-color: #07111f !important;
  border-color: rgba(255,255,255,.11) !important;
  color: #edf7ff !important;
}

.form-control:focus,
.form-select:focus {
  border-color: rgba(85,230,181,.55) !important;
  box-shadow: 0 0 0 3px rgba(85,230,181,.08) !important;
}

.form-control::placeholder {
  color: #70869a !important;
}

/* Buttons */
.btn {
  border-radius: 11px !important;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease;
}

.btn:hover {
  transform: translateY(-1px);
}

.btn-primary {
  background: linear-gradient(135deg, #55e6b5, #7bf3cf) !important;
  border-color: #55e6b5 !important;
  color: #04120d !important;
  box-shadow: 0 10px 28px rgba(85,230,181,.14);
}

.btn-primary:hover,
.btn-primary:focus {
  background: linear-gradient(135deg, #67ebc0, #8af6d6) !important;
  border-color: #7bf3cf !important;
  color: #04120d !important;
  box-shadow: 0 12px 32px rgba(85,230,181,.22) !important;
}

.btn-secondary,
.btn-outline-secondary,
.btn-light {
  background: rgba(255,255,255,.035) !important;
  border-color: rgba(255,255,255,.10) !important;
  color: #edf7ff !important;
}

.btn-secondary:hover,
.btn-outline-secondary:hover,
.btn-light:hover {
  background: rgba(255,255,255,.07) !important;
  border-color: rgba(255,255,255,.16) !important;
}

/* Tables */
.table {
  --bs-table-bg: transparent;
  --bs-table-color: #edf7ff;
  --bs-table-border-color: rgba(255,255,255,.08);
  --bs-table-striped-bg: rgba(255,255,255,.018);
  --bs-table-striped-color: #edf7ff;
  --bs-table-hover-bg: rgba(255,255,255,.035);
  --bs-table-hover-color: #ffffff;
}

.table > :not(caption) > * > * {
  border-bottom-color: rgba(255,255,255,.08) !important;
}

/* Dropdowns */
.dropdown-menu {
  padding: .45rem;
}

.dropdown-item {
  border-radius: 9px;
  color: #c5d4e2 !important;
}

.dropdown-item:hover,
.dropdown-item:focus {
  background: rgba(255,255,255,.05) !important;
  color: #ffffff !important;
}

.dropdown-item.active,
.dropdown-item:active {
  background: rgba(85,230,181,.09) !important;
  color: #87f7d4 !important;
}

/* Alerts */
.alert {
  border-radius: 13px;
  border-width: 1px;
}

/* Pagination */
.page-link {
  background: #0d1c2e !important;
  border-color: rgba(255,255,255,.08) !important;
  color: #c5d4e2 !important;
}

.page-item.active .page-link {
  background: #55e6b5 !important;
  border-color: #55e6b5 !important;
  color: #04120d !important;
}

/* Footer */
.btcpay-footer {
  border-top: 1px solid rgba(255,255,255,.07);
}

/* Small polish */
h1, h2, h3, h4, h5, h6 {
  letter-spacing: -.025em;
}

.text-secondary,
.text-muted {
  color: #9bb0c5 !important;
}

a:not(.btn):not(.nav-link):hover {
  color: #87f7d4;
}

hr {
  border-color: rgba(255,255,255,.08) !important;
  opacity: 1;
}

@media (max-width: 991.98px) {
  #mainMenu.btcpay-header {
    box-shadow: 0 8px 28px rgba(0,0,0,.16);
  }
}

/* Paxlivo v1.0.1: signed-out branding polish */
/* BTCPay's signed-out layout renders <vc:main-logo /> above the Welcome heading.
   Force the Paxlivo wordmark here so the custom logo remains visible with a dark custom theme. */
body:has(.account-form) a.navbar-brand {
  width: 220px !important;
  height: 64px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  display: block !important;
  background-image: url("https://paxlivo.com/wp-content/themes/paxlivo/assets/images/paxlivo-logo.svg") !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  background-size: contain !important;
}

body:has(.account-form) a.navbar-brand .main-logo,
body:has(.account-form) a.navbar-brand img,
body:has(.account-form) a.navbar-brand svg {
  display: none !important;
}

/* Commercial hosted-instance polish: keep Contact Us, remove BTCPay Foundation supporter block
   from signed-out/login/register screens. */
body:has(.account-form) .row.justify-content-center.mt-5 {
  display: none !important;
}

body:has(.account-form) #ContactLink {
  color: #9bb0c5 !important;
  font-weight: 600;
}
body:has(.account-form) #ContactLink:hover {
  color: #55e6b5 !important;
}
