/* S3CT0R Z3R0 — BTCPay public PoS / checkout / receipt
   Hosted at https://s3ct0rz3r0.io/brand/btcpay-store.css
   Forces dark surfaces + cyan primary regardless of light/dark theme toggle. */

:root,
:root[data-btcpay-theme="light"],
:root[data-btcpay-theme="dark"] {
  --btcpay-body-bg: #0c0d14;
  --btcpay-body-bg-light: #14161f;
  --btcpay-body-bg-medium: #14161f;
  --btcpay-body-bg-striped: #12141c;
  --btcpay-body-bg-hover: #1a1d28;
  --btcpay-body-bg-rgb: 12, 13, 20;
  --btcpay-body-text: #f0f1f8;
  --btcpay-body-text-muted: #c8ccdc;
  --btcpay-body-text-rgb: 240, 241, 248;
  --btcpay-body-link: #00e5ff;
  --btcpay-body-link-accent: #5562ff;
  --btcpay-border-color: #232636;
  --btcpay-border-color-light: #2c3044;
  --btcpay-primary: #00e5ff;
  --btcpay-primary-accent: #00c4db;
  --btcpay-primary-bg-hover: #00c4db;
  --btcpay-primary-bg-active: #00a8bc;
  --btcpay-primary-dim-bg: rgba(0, 229, 255, 0.12);
  --btcpay-primary-shadow: rgba(0, 229, 255, 0.35);
  --btcpay-primary-text: #0c0d14;
  --btcpay-primary-text-hover: #0c0d14;
  --btcpay-primary-text-active: #0c0d14;
  --btcpay-secondary: #232636;
  --btcpay-secondary-bg-hover: #2c3044;
  --btcpay-secondary-text: #f0f1f8;
  --btcpay-bg-tile: #14161f;
  --btcpay-neutral-100: #f0f1f8;
  --btcpay-neutral-200: #c8ccdc;
  --btcpay-neutral-300: #8b90a5;
  --btcpay-neutral-400: #5c6178;
  --btcpay-neutral-500: #3a3f55;
  --btcpay-neutral-600: #2c3044;
  --btcpay-neutral-700: #232636;
  --btcpay-neutral-800: #14161f;
  --btcpay-neutral-900: #0c0d14;
  color-scheme: dark;
}

html,
body {
  background-color: #0c0d14 !important;
  color: #f0f1f8;
}

.store-header,
.store-content,
.public-page-wrap,
#Checkout,
#Checkout .payment-box,
.card,
.modal-content,
.list-group-item,
.form-control,
.form-select,
.input-group-text {
  background-color: #14161f !important;
  color: #f0f1f8 !important;
  border-color: #232636 !important;
}

.store-logo {
  max-height: 56px;
  width: auto;
  border-radius: 8px;
}

a,
.btn-link {
  color: #00e5ff;
}

a:hover,
.btn-link:hover {
  color: #5562ff;
}

.btn-primary {
  background-color: #00e5ff !important;
  border-color: #00e5ff !important;
  color: #0c0d14 !important;
  font-weight: 600;
}

.btn-primary:hover,
.btn-primary:focus {
  background-color: #00c4db !important;
  border-color: #00c4db !important;
  color: #0c0d14 !important;
}

.btn-outline-secondary,
.btn-secondary {
  border-color: #c8ccdc !important;
  color: #f0f1f8 !important;
  background-color: transparent !important;
}

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

/* Keep BTCPay attribution readable; do not hide */
.powered-by-btcpay,
footer .text-muted {
  color: #8b90a5 !important;
}

/* ——— PoS Static: proportional layout + aligned tip cards ——— */

#PosStatic.public-page-wrap {
  background-color: #0c0d14 !important;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  padding-top: 2.5rem;
  padding-bottom: 1.5rem;
}

#PosStatic > main {
  flex: 0 1 auto;
  width: 100%;
}

#PosStatic .store-header {
  background-color: transparent !important;
  border: 0 !important;
  margin-bottom: 0.75rem;
  text-align: center;
}

#PosStatic .store-name {
  margin: 0.75rem 0 0;
  font-size: clamp(1.5rem, 2.4vw, 1.85rem);
  letter-spacing: 0.02em;
}

#PosStatic .lead {
  max-width: 34rem;
  margin: 0 auto 2.5rem;
  text-align: center;
  color: #c8ccdc !important;
  font-size: 1rem;
  line-height: 1.55;
  background: transparent !important;
  border: 0 !important;
}

#PosStatic .lead p {
  margin: 0 0 0.85rem;
}

#PosStatic .pos-return {
  margin: 1.25rem 0 0 !important;
}

#PosStatic .store-logo {
  max-height: 64px;
}

#PosStatic .pos-return a {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  color: #00e5ff;
  text-decoration: none;
  font-size: 0.95rem;
  font-weight: 500;
  border-bottom: 1px solid rgba(0, 229, 255, 0.35);
  padding-bottom: 1px;
  transition: color 160ms ease-out, border-color 160ms ease-out;
}

#PosStatic .pos-return a:hover {
  color: #5562ff;
  border-bottom-color: rgba(85, 98, 255, 0.55);
}

#PosStatic #PosItems {
  --bs-gutter-x: 1.25rem;
  --bs-gutter-y: 1.25rem;
  align-items: stretch;
  margin-bottom: 2rem;
}

#PosStatic #PosItems > .posItem {
  display: flex;
}

#PosStatic #PosItems .card,
#PosStatic #PosItems .tile.card {
  --btcpay-card-border-width: 1px;
  --btcpay-card-border-color: #232636;
  --btcpay-card-bg: #14161f;
  --btcpay-card-cap-bg: transparent;
  --btcpay-card-spacer-x: 0;
  --btcpay-card-spacer-y: 0;
  --bs-card-spacer-x: 0;
  --bs-card-spacer-y: 0;
  --btcpay-card-cap-padding-x: 0;
  --btcpay-card-cap-padding-y: 0;
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 17.5rem;
  padding: 0 !important;
  text-align: center;
  border: 1px solid #232636 !important;
  border-radius: 8px !important;
  background-color: #14161f !important;
  box-shadow: none;
  overflow: hidden;
}

#PosStatic #PosItems .card-body {
  flex: 1 1 0 !important;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 0.55rem !important;
  padding: 1.25rem 1.15rem 0.75rem !important;
  margin: 0 !important;
  background: transparent !important;
  border: 0 !important;
  min-height: 0 !important;
}

#PosStatic #PosItems .card-title {
  margin: 0 !important;
  font-size: 1.05rem;
  font-weight: 600;
  color: #f0f1f8 !important;
}

#PosStatic #PosItems .card-body > .d-flex {
  justify-content: center;
  width: 100%;
}

#PosStatic #PosItems .fw-semibold {
  font-size: 1.35rem;
  font-weight: 700;
  letter-spacing: 0.01em;
  color: #00e5ff !important;
  font-variant-numeric: tabular-nums;
}

#PosStatic #PosItems .card-text {
  margin: 0;
  max-width: 16rem;
  min-height: 3.2em;
  color: #8b90a5 !important;
  font-size: 0.875rem;
  line-height: 1.45;
}

#PosStatic #PosItems .card-footer {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 7.8rem;
  margin: 0 !important;
  padding: 0.85rem 1.15rem 1.15rem !important;
  background: transparent !important;
  border: 0 !important;
  border-top: 1px solid #232636 !important;
}

#PosStatic #PosItems .card-footer form {
  width: 100%;
}

/* Reserve the custom-amount input stack so tip CTAs share the same baseline */
#PosStatic #PosItems .tile.card .card-footer form::before {
  content: "";
  display: block;
  height: 2.525rem;
  margin-bottom: 0.65rem;
}

#PosStatic #card_custom_amount .card {
  padding-left: 0 !important;
  padding-right: 0 !important;
}

#PosStatic #card_custom_amount .card-body {
  padding-bottom: 0.5rem !important;
}

#PosStatic #card_custom_amount .input-group {
  margin-bottom: 0.65rem !important;
}

#PosStatic #card_custom_amount .form-control,
#PosStatic #card_custom_amount .input-group-text {
  background-color: #0c0d14 !important;
  border-color: #2c3044 !important;
  color: #f0f1f8 !important;
  text-align: center;
}

#PosStatic #card_custom_amount .form-control::placeholder {
  color: #5c6178;
}

#PosStatic #PosItems .btn-primary {
  min-height: 2.65rem;
  border-radius: 8px !important;
}

#PosStatic .store-footer {
  margin-top: auto;
  padding-top: 1.25rem;
  background: transparent !important;
  border: 0 !important;
  text-align: center;
}

#PosStatic .store-powered-by {
  color: #8b90a5 !important;
  font-size: 0.8rem;
  opacity: 0.9;
}

@media (max-width: 575.98px) {
  #PosStatic.public-page-wrap {
    padding-top: 1.75rem;
  }

  #PosStatic #PosItems .card,
  #PosStatic #PosItems .tile.card {
    min-height: 0;
  }

  #PosStatic #PosItems .card-text {
    min-height: 0;
    max-width: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  #PosStatic .pos-return a {
    transition: none;
  }
}
