/* Customer theme follows saved payment colors; the default is dark blue/cyan. */
body.payment-body {
  color-scheme: var(--pay-color-scheme, dark);
  color: var(--pay-text);
  background: var(--pay-bg) !important;
  --bs-body-color: var(--pay-text);
  --bs-body-bg: var(--pay-bg);
  --bs-emphasis-color: var(--pay-text-strong);
  --bs-secondary-color: var(--pay-muted);
  --bs-border-color: var(--pay-border);
  --bs-link-color: var(--pay-primary);
}
body.payment-body :is(h1,h2,h3,h4,h5,h6,.payment-brand-name,.payment-title) { color: var(--pay-text-strong); }
body.payment-body :is(.text-muted,.text-secondary,.form-text,.payment-status-hint) { color: var(--pay-muted) !important; }
body.payment-body :is(.text-white,.text-light,.text-body,.text-dark) { color: var(--pay-text) !important; }
body.payment-body a:not(.btn):not(.bank-option):not(.crypto-option) { color: var(--pay-primary); }
body.payment-body a:not(.btn):hover { color: var(--pay-primary-600); }
body.payment-body .wallet-hero__eyebrow { color: var(--pay-primary-600); background: var(--pay-highlight); }
body.payment-body .payment-aside::before { content: none; }
body.payment-body :is(.card,.payment-card,.payment-aside,.modal-content,.offcanvas,.dropdown-menu,.iti__dropdown-content,.swal2-popup) {
  background: var(--pay-card) !important;
  color: var(--pay-text);
  border-color: var(--pay-border);
  box-shadow: var(--pay-shadow);
}
body.payment-body :is(.payment-card__header,.modal-header,.modal-footer,.card-header,.card-footer) { background: var(--pay-secondary-surface); color: var(--pay-text-strong); border-color: var(--pay-border); }
body.payment-body :is(.payment-stage,.stage-card,.bank-info-panel,.state-panel,.cross-page-panel,.cross-page-hero,.cross-flow-shell,.wallet-checkout-shell,.wallet-panel,.crypto-panel,.payment-notice) { background: var(--pay-secondary-surface); color: var(--pay-text); border-color: var(--pay-border); box-shadow: none; }
body.payment-body .bank-info-panel { background: var(--pay-info-panel); }
body.payment-body .state-panel { background: var(--pay-state-panel); }
body.payment-body .payment-notice { background: var(--pay-notice); }
body.payment-body .crypto-panel { background: var(--pay-crypto-panel-bg); }
body.payment-body :is(.dropdown-item,.iti__country,.payment-language-item) { color: var(--pay-text); }
body.payment-body :is(.dropdown-item,.iti__country,.payment-language-item):is(:hover,:focus,.active) { color: var(--pay-primary-600); background: var(--pay-highlight); }
body.payment-body :is(.form-control,.form-select,.input-group-text,.swal2-input,.swal2-select,.swal2-textarea) {
  background-color: var(--pay-card) !important;
  color: var(--pay-text) !important;
  border-color: var(--pay-field-border) !important;
  color-scheme: var(--pay-color-scheme, dark);
}
body.payment-body :is(input,textarea)::placeholder { color: var(--pay-muted) !important; opacity: 1 !important; }
body.payment-body select option { background: var(--pay-card); color: var(--pay-text); }
body.payment-body :is(.form-control,.form-select):focus { border-color: var(--pay-primary) !important; box-shadow: none !important; }
body.payment-body :is(a,button,input,select,textarea,[tabindex]):focus-visible { outline: 2px solid var(--pay-primary); outline-offset: 3px; }
body.payment-body :is(.form-control,.form-select):disabled { background: var(--pay-neutral-bg) !important; color: var(--pay-muted) !important; opacity: 1; }
body.payment-body :is(.is-invalid,.was-validated :invalid) { border-color: var(--pay-danger-text) !important; }
body.payment-body .invalid-feedback { color: var(--pay-danger-text); }
body.payment-body :is(input[type=checkbox],input[type=radio],input[type=range]) { accent-color: var(--pay-primary); }
body.payment-body :is(.btn-primary,.btn-success,.btn-pay,.payment-action,.swal2-confirm) { background: var(--pay-primary) !important; color: var(--pay-contrast-text) !important; border-color: var(--pay-primary) !important; box-shadow: none !important; }
body.payment-body :is(.btn-primary,.btn-success,.btn-pay,.payment-action,.swal2-confirm):hover { background: var(--pay-primary-600) !important; border-color: var(--pay-primary-600) !important; }
body.payment-body :is(.btn-primary,.btn-success,.btn-pay,.payment-action,.swal2-confirm):active { background: var(--pay-primary-700) !important; border-color: var(--pay-primary-700) !important; }
body.payment-body :is(.btn-secondary,.btn-light,.btn-ghost,.btn-outline-light,.btn-outline-secondary,.swal2-cancel) { background: var(--pay-secondary-surface) !important; color: var(--pay-text) !important; border-color: var(--pay-field-border) !important; box-shadow: none !important; }
body.payment-body :is(.btn-outline-primary,.btn-copy) { background: var(--pay-highlight); color: var(--pay-primary); border-color: var(--pay-field-border); box-shadow: none; }
body.payment-body .btn-copy.copy-failed { background: var(--pay-danger-bg); color: var(--pay-danger-text); border-color: var(--pay-danger-text); }
body.payment-body :is(.btn-secondary,.btn-light,.btn-ghost,.btn-outline-light,.btn-outline-secondary,.swal2-cancel):hover { background: var(--pay-highlight) !important; }
body.payment-body :is(.btn-danger,.swal2-deny) { background: var(--pay-danger-text) !important; color: var(--pay-contrast-text) !important; }
body.payment-body .btn:disabled { opacity: .55; box-shadow: none !important; }
body.payment-body [aria-busy=true] { cursor: progress; }
body.payment-body :is(.swal2-title,.swal2-html-container,.swal2-footer,.swal2-close) { color: var(--pay-text) !important; }
body.payment-body .swal2-icon.swal2-error { color: var(--pay-danger-text); border-color: var(--pay-danger-text); }
body.payment-body .swal2-icon.swal2-error [class^="swal2-x-mark-line"] { background-color: var(--pay-danger-text); }
body.payment-body .swal2-icon.swal2-success { color: var(--pay-success-text); border-color: var(--pay-success-text); }
body.payment-body .swal2-icon.swal2-success [class^="swal2-success-line"] { background-color: var(--pay-success-text); }
body.payment-body .swal2-icon.swal2-success .swal2-success-ring { border-color: var(--pay-success-text); }
body.payment-body .swal2-icon.swal2-warning { color: var(--pay-warning-text); border-color: var(--pay-warning-text); }
body.payment-body .swal2-icon:is(.swal2-info,.swal2-question) { color: var(--pay-info-text); border-color: var(--pay-info-text); }
body.payment-body .tooltip { --bs-tooltip-bg: var(--pay-text-strong); --bs-tooltip-color: var(--pay-card); }
body.payment-body .popover { --bs-popover-bg: var(--pay-card); --bs-popover-body-color: var(--pay-text); --bs-popover-border-color: var(--pay-border); }
body.payment-body :is(.table,.table-light) { --bs-table-color: var(--pay-text); --bs-table-bg: var(--pay-card); --bs-table-border-color: var(--pay-border); --bs-table-striped-bg: var(--pay-secondary-surface); }
body.payment-body :is(.crypto-option,.cross-candidate,.bank-option) { box-shadow: none; }
body.payment-body :is(.crypto-option,.cross-candidate,.bank-option).is-selected { background: var(--pay-highlight); border-color: var(--pay-primary); }
body.payment-body :is(.crypto-option-marker,.crypto-option__marker,.crypto-selection-marker) { background: var(--pay-primary); color: var(--pay-contrast-text); }
body.payment-body :is(.state-panel.danger .state-icon,.state-panel.warning .state-icon,.crypto-warning,.crypto-picker-alert) { color: var(--pay-warning-text); }
body.payment-body .state-panel.danger .state-icon:not(.bx-refresh) { color: var(--pay-danger-text); }
/* QR pixels, logo artwork and their quiet zones must stay unfiltered. */
body.payment-body :is(#qrcode,#qr-code,#walletQr,#cryptoQr,.crypto-qr,.crypto-qr-box,.qr-code,.qr-image,.qr-code-container) { background: var(--pay-qr-paper) !important; color: var(--pay-qr-ink); }
body.payment-body :is(#qrcode,#qr-code,#walletQr,.crypto-qr,.crypto-qr-box,.qr-code,.qr-image,.qr-code-container) :is(img,canvas) { background: var(--pay-qr-paper); filter: none; }

body.payment-body :is(.alert-success,.badge.bg-success,.badge.text-bg-success,.badge.bg-success-subtle) { background: var(--pay-success-bg) !important; color: var(--pay-success-text) !important; border-color: var(--pay-success-text) !important; }
body.payment-body .text-success { color: var(--pay-success-text) !important; }

body.payment-body :is(.alert-warning,.badge.bg-warning,.badge.text-bg-warning,.badge.bg-warning-subtle) { background: var(--pay-warning-bg) !important; color: var(--pay-warning-text) !important; border-color: var(--pay-warning-text) !important; }
body.payment-body .text-warning { color: var(--pay-warning-text) !important; }

body.payment-body :is(.alert-danger,.badge.bg-danger,.badge.text-bg-danger,.badge.bg-danger-subtle) { background: var(--pay-danger-bg) !important; color: var(--pay-danger-text) !important; border-color: var(--pay-danger-text) !important; }
body.payment-body .text-danger { color: var(--pay-danger-text) !important; }

body.payment-body :is(.alert-info,.badge.bg-info,.badge.text-bg-info,.badge.bg-info-subtle) { background: var(--pay-info-bg) !important; color: var(--pay-info-text) !important; border-color: var(--pay-info-text) !important; }
body.payment-body .text-info { color: var(--pay-info-text) !important; }
