/* ==========================================================================
   Bitnnock global theme + component overrides
   Deploy: Admin Custom CSS or assets/templates/{active}/css/custom.css
   ========================================================================== */

:root {
  /* Warm dark-brown canvas instead of neutral black - sampled directly
     from worldlibertyfinancial.com's resting page background (#171412).
     --bitnnock-surface/-2 here are immediately overridden for :root by
     the lifted-surface block further down (kept warm-consistent there
     too); listed here mainly so this block has no stray neutral value. */
  --bitnnock-bg: #13100d;
  --bitnnock-bg-soft: #13100d;
  --bitnnock-bg-mid: #13100d;
  --bitnnock-surface: #1c1712;
  --bitnnock-surface-2: #221c15;
  --bitnnock-gold: #ecc46c;
  --bitnnock-gold-deep: #f1dc9d;
  --bitnnock-gold-soft: rgba(236, 196, 108, 0.14);
  --bitnnock-gold-glow: rgba(236, 196, 108, 0.28);
  --bitnnock-line: rgba(250, 244, 237, 0.1);
  --bitnnock-line-gold: rgba(236, 196, 108, 0.32);
  --bitnnock-text: #ffffff;
  --bitnnock-muted: #e7e5e4;
  --bitnnock-green: #00c853;
  --bitnnock-danger: #ef4444;
  /* WLFI renders entirely in Sora - already self-hosted below with all
     the weights this project uses, so no new font request. */
  --bitnnock-font: Sora, system-ui, -apple-system, sans-serif;
  --bitnnock-text-secondary: #e7e5e4;
  --bitnnock-radius: 12px;
  --bitnnock-radius-sm: 10px;
  --bitnnock-radius-pill: 9999px;
  --bitnnock-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* -------------------------------------------------------------------------- */
/* Base / layout                                                              */
/* -------------------------------------------------------------------------- */

html,
body {
  background: var(--bitnnock-bg) !important;
  background-color: var(--bitnnock-bg) !important;
  color: var(--bitnnock-text);
  font-family: var(--bitnnock-font);
  -webkit-font-smoothing: antialiased;
}

.page-wrapper {
  background: transparent !important;
}

::selection {
  background: var(--bitnnock-gold) !important;
  color: #000 !important;
}

.base-color,
.base--color,
.text--base {
  color: var(--bitnnock-gold) !important;
}

/* -------------------------------------------------------------------------- */
/* Copy field + animation                                                     */
/* -------------------------------------------------------------------------- */

.copy-field,
.wlfi-copy-field,
.hover-input-popup.copy-field-wrap {
  position: relative;
}

.copy-field .form-control,
.copy-field .wlfi-input,
.wlfi-copy-field .wlfi-input {
  padding-right: 3rem !important;
}

.copyInput,
.copy-field__btn,
.wlfi-copy-trigger {
  position: absolute;
  top: 50%;
  right: 0.375rem;
  transform: translateY(-50%);
  width: 2.5rem;
  height: 2.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--bitnnock-line);
  border-radius: var(--bitnnock-radius-sm, 10px);
  background: var(--bitnnock-bg-soft);
  color: var(--bitnnock-muted);
  font-size: 0.875rem;
  line-height: 1;
  cursor: pointer;
  transition: color 0.2s var(--bitnnock-ease), background 0.2s var(--bitnnock-ease),
    border-color 0.2s var(--bitnnock-ease), transform 0.2s var(--bitnnock-ease);
  z-index: 2;
}

.copyInput:hover,
.copy-field__btn:hover,
.wlfi-copy-trigger:hover {
  color: var(--bitnnock-gold);
  border-color: var(--bitnnock-line-gold);
}

.copy-field.is-copied .copyInput,
.copy-field.copied .copyInput,
.wlfi-copy-field.is-copied .wlfi-copy-trigger {
  color: #000;
  background: var(--bitnnock-gold);
  border-color: var(--bitnnock-gold);
}

.copy-field.is-copied::after,
.copy-field.copied::after,
.wlfi-copy-field.is-copied::after {
  content: "Copied";
  position: absolute;
  top: -2.125rem;
  right: 0;
  padding: 0.3125rem 0.625rem;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #000;
  background: var(--bitnnock-gold);
  border-radius: 6px;
  pointer-events: none;
  opacity: 0;
  transform: translateY(6px) scale(0.96);
  animation: bn-copy-toast 1.4s var(--bitnnock-ease) forwards;
  box-shadow: 0 8px 24px var(--bitnnock-gold-glow);
  z-index: 5;
}

@keyframes bn-copy-toast {
  0% {
    opacity: 0;
    transform: translateY(6px) scale(0.96);
  }
  12% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  78% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
  100% {
    opacity: 0;
    transform: translateY(-4px) scale(0.98);
  }
}

/* Legacy copied::after support */
.copied::after {
  content: "Copied";
  position: absolute;
  top: -2rem;
  right: 0;
  min-width: 4.5rem;
  text-align: center;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  padding: 0.3125rem 0.625rem;
  color: #000;
  background: var(--bitnnock-gold);
  border-radius: 6px;
  opacity: 0;
  pointer-events: none;
  animation: bn-copy-toast 1.4s var(--bitnnock-ease) forwards;
}

/* -------------------------------------------------------------------------- */
/* Cookies banner                                                             */
/* -------------------------------------------------------------------------- */

.cookies-card {
  width: min(520px, calc(100vw - 2rem));
  padding: 1.25rem 1.375rem;
  color: var(--bitnnock-text);
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  z-index: 999999;
  transition: transform 0.45s var(--bitnnock-ease), opacity 0.45s var(--bitnnock-ease);
  background: var(--bitnnock-surface);
  border: 1px solid var(--bitnnock-line);
  border-radius: var(--bitnnock-radius);
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  backdrop-filter: blur(12px);
}

.cookies-card.hide {
  transform: translateY(calc(100% + 2rem));
  opacity: 0;
  pointer-events: none;
}

.radius--10px {
  border-radius: 10px;
}

.cookies-card__icon {
  width: 3rem;
  height: 3rem;
  border-radius: 50%;
  background: var(--bitnnock-gold-soft);
  border: 1px solid var(--bitnnock-line-gold);
  color: var(--bitnnock-gold);
  font-size: 1.375rem;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  flex-shrink: 0;
}

.cookies-card__content {
  margin-bottom: 0;
  color: var(--bitnnock-muted);
  font-size: 0.875rem;
  line-height: 1.55;
}

.cookies-btn {
  color: #000;
  text-decoration: none;
  padding: 0.625rem 1.375rem;
  margin: 0.25rem 0.375rem 0 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--bitnnock-radius-pill);
  font-size: 0.8125rem;
  font-weight: 600;
  border: 1px solid transparent;
  transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.cookies-btn.accept-cookies,
.cookies-btn:first-of-type {
  background: var(--bitnnock-gold);
  color: #000 !important;
}

.cookies-btn.accept-cookies:hover,
.cookies-btn:first-of-type:hover {
  color: #000 !important;
}

.cookies-btn.policy,
.cookies-btn:last-of-type {
  background: transparent;
  border-color: var(--bitnnock-line);
  color: var(--bitnnock-text) !important;
}

.cookies-btn.policy:hover,
.cookies-btn:last-of-type:hover {
  color: var(--bitnnock-text) !important;
}

@media (max-width: 767px) {
  .cookies-card {
    width: calc(100% - 1.5rem);
    left: 0.75rem;
    right: 0.75rem;
    bottom: 0.75rem;
    font-size: 0.8125rem;
    padding: 1rem;
  }
}

/* -------------------------------------------------------------------------- */
/* Secure password popup                                                      */
/* -------------------------------------------------------------------------- */

.hover-input-popup {
  position: relative;
}

.input-popup {
  display: none;
}

.hover-input-popup .input-popup {
  display: block;
  position: absolute;
  bottom: calc(100% + 0.75rem);
  left: 50%;
  width: min(300px, 92vw);
  background: var(--bitnnock-surface);
  color: var(--bitnnock-text);
  padding: 1rem 1.125rem;
  border: 1px solid var(--bitnnock-line);
  border-radius: var(--bitnnock-radius);
  transform: translateX(-50%);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.45);
  z-index: 20;
  transition: opacity 0.2s var(--bitnnock-ease), transform 0.2s var(--bitnnock-ease);
}

.hover-input-popup .input-popup::after {
  position: absolute;
  content: "";
  bottom: -0.4375rem;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  width: 0.75rem;
  height: 0.75rem;
  background: var(--bitnnock-surface);
  border-right: 1px solid var(--bitnnock-line);
  border-bottom: 1px solid var(--bitnnock-line);
}

.input-popup p {
  padding-left: 1.375rem;
  position: relative;
  margin: 0 0 0.375rem;
  font-size: 0.8125rem;
  color: var(--bitnnock-muted);
  line-height: 1.45;
}

.input-popup p:last-child {
  margin-bottom: 0;
}

.input-popup p::before {
  position: absolute;
  content: "";
  font-family: "Line Awesome Free";
  font-weight: 900;
  left: 0;
  top: 0.125rem;
  line-height: 1;
  font-size: 1rem;
}

.input-popup p.error {
  text-decoration: line-through;
  opacity: 0.55;
}

.input-popup p.error::before {
  content: "\f057";
  color: var(--bitnnock-danger);
}

.input-popup p.success {
  color: var(--bitnnock-text-secondary, #e7e5e4);
}

.input-popup p.success::before {
  content: "\f058";
  color: var(--bitnnock-green);
}

/* -------------------------------------------------------------------------- */
/* Responsive filters                                                         */
/* -------------------------------------------------------------------------- */

.show-filter {
  display: none;
}

@media (max-width: 767px) {
  .responsive-filter-card {
    display: none;
    transition: none;
  }

  .show-filter {
    display: block;
  }
}

/* -------------------------------------------------------------------------- */
/* Modals                                                                     */
/* -------------------------------------------------------------------------- */

.modal-content,
body.pw-app-site .modal-content,
.p2p-dash .modal-content {
  background: var(--bitnnock-surface) !important;
  border: 1px solid var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
  border-radius: var(--bitnnock-radius) !important;
}

.modal-header {
  border-bottom-color: var(--bitnnock-line) !important;
}

.modal-footer {
  border-top-color: var(--bitnnock-line) !important;
}

.modal-header .close,
.modal-header .btn-close {
  background-color: transparent !important;
  color: var(--bitnnock-muted) !important;
  opacity: 1 !important;
  box-shadow: none !important;
}

.modal-title {
  color: var(--bitnnock-text) !important;
}

.modal-footer .btn--primary {
  color: #000 !important;
}

body.pw-app-site .bn-confirmation-modal {
  z-index: 1060;
}

body.pw-app-site .modal-backdrop {
  z-index: 1050;
}

body.pw-app-site .bn-confirmation-modal .modal-dialog {
  pointer-events: auto;
}

body.pw-app-site .bn-confirmation-modal .modal-content {
  pointer-events: auto;
  overflow: visible;
}

body.pw-app-site .bn-confirmation-modal .modal-footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.25rem 1.25rem;
}

body.pw-app-site .bn-confirmation-modal .modal-footer .btn {
  pointer-events: auto;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  min-width: 6.5rem;
  padding: 0 1.25rem;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
}

body.pw-app-site .bn-confirmation-modal .modal-footer .bn-confirmation-modal__no {
  background: var(--bitnnock-bg-mid) !important;
  border: 1px solid var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
}

body.pw-app-site .bn-confirmation-modal .modal-footer .bn-confirmation-modal__yes,
body.pw-app-site .bn-confirmation-modal .modal-footer .btn--base {
  background: linear-gradient(135deg, var(--bitnnock-gold), #f1dc9d) !important;
  border: 0 !important;
  color: #000 !important;
  box-shadow: 0 8px 24px rgba(236, 196, 108, 0.25);
}

body.pw-app-site .bn-confirmation-modal .modal-footer .bn-confirmation-modal__yes:hover,
body.pw-app-site .bn-confirmation-modal .modal-footer .btn--base:hover {
  filter: brightness(1.05);
  color: #000 !important;
}

.btn--dark,
.btn--dark:hover {
  background-color: var(--bitnnock-bg-mid) !important;
  color: var(--bitnnock-text) !important;
  border-color: var(--bitnnock-line) !important;
}

.btn-outline--dark {
  color: var(--bitnnock-text) !important;
  border-color: var(--bitnnock-line) !important;
}

.btn-outline--dark:hover {
  color: var(--bitnnock-text) !important;
}

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

.btn-check:focus + .btn,
.btn:focus {
  box-shadow: 0 0 0 0.15rem var(--bitnnock-gold-glow) !important;
}

/* -------------------------------------------------------------------------- */
/* Alerts                                                                     */
/* -------------------------------------------------------------------------- */

.alert {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  justify-content: flex-start;
  border-radius: var(--bitnnock-radius-sm, 10px);
}

.alert--info {
  border: 1px solid rgba(59, 130, 246, 0.35);
  background-color: rgba(59, 130, 246, 0.08);
  color: #bfdbfe;
}

.alert--info .alert__icon {
  color: #60a5fa;
}

.alert--primary {
  border: 1px solid rgba(236, 196, 108, 0.35);
  background-color: var(--bitnnock-gold-soft);
  color: var(--bitnnock-text);
}

.alert--primary .alert__icon {
  color: var(--bitnnock-gold);
}

.alert--danger {
  border: 1px solid rgba(239, 68, 68, 0.4);
  background-color: rgba(239, 68, 68, 0.08);
  color: #fecaca;
}

.alert--danger .alert__icon {
  color: #f87171;
}

.alert--warning {
  border: 1px solid rgba(236, 196, 108, 0.4);
  background-color: rgba(236, 196, 108, 0.08);
  color: #fde68a;
}

.alert--warning .alert__icon {
  color: var(--bitnnock-gold);
}

/* -------------------------------------------------------------------------- */
/* Select2                                                                    */
/* -------------------------------------------------------------------------- */

.select2 .selection {
  display: block;
}

.select2 .dropdown-wrapper {
  display: none;
}

.select2-container:has(.select2-selection--single) {
  width: 100% !important;
}

.select2-container .select2-selection--single .select2-selection__rendered {
  text-align: left;
}

.select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--bitnnock-text) !important;
  line-height: 3.375rem !important;
  padding-left: 0.875rem !important;
}

.select2-container--default .select2-selection--single {
  border: 1px solid var(--bitnnock-line) !important;
  border-radius: var(--bitnnock-radius-sm, 10px) !important;
  height: 3.375rem;
  background: var(--bitnnock-bg-soft) !important;
}

.select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 3.375rem;
  right: 0.5rem;
}

.select2-container--default .select2-selection--single .select2-selection__arrow b {
  border-color: var(--bitnnock-muted) transparent transparent transparent;
}

.select2-dropdown {
  background-color: var(--bitnnock-surface) !important;
  border: 1px solid var(--bitnnock-line) !important;
  border-radius: var(--bitnnock-radius-sm, 10px) !important;
  overflow: hidden;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.45);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid var(--bitnnock-line) !important;
  background: var(--bitnnock-bg-soft) !important;
  margin: 0.5rem !important;
  width: calc(100% - 1rem) !important;
  border-radius: 8px !important;
  color: var(--bitnnock-text) !important;
  padding: 0.5rem 0.75rem !important;
}

.select2-results__option--selectable {
  cursor: pointer;
  color: var(--bitnnock-text) !important;
  padding: 0.5rem 0.875rem !important;
}

.select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: var(--bitnnock-surface-2) !important;
  color: var(--bitnnock-text) !important;
}

.select2-container--default .select2-results__option--selected {
  background-color: var(--bitnnock-gold-soft) !important;
  color: var(--bitnnock-gold) !important;
}

.coin-search-area .form-control {
  border: 1px solid var(--bitnnock-line) !important;
  background: var(--bitnnock-bg-soft) !important;
  color: var(--bitnnock-text) !important;
  height: 3.375rem;
  border-radius: var(--bitnnock-radius-sm, 10px) !important;
}

.coin-search-area .btn--base {
  padding: 0.8125rem 2rem;
  border-radius: var(--bitnnock-radius-pill) !important;
}

/* Sell card light select2 context (legacy pages only — not offer wizard) */
.sell-card:not(.bn-ad-step__card) .select2-container--default .select2-selection--single {
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  height: 3.125rem;
  background: #fff !important;
}

.sell-card:not(.bn-ad-step__card) .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: #111 !important;
  line-height: 3.125rem !important;
}

.sell-card:not(.bn-ad-step__card) .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 3.125rem;
}

body:has(.sell-card:not(.bn-ad-step__card)) .select2-dropdown {
  background-color: #fff !important;
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
}

body:has(.sell-card:not(.bn-ad-step__card)) .select2-results__option--selectable {
  color: #111 !important;
}

body:has(.sell-card:not(.bn-ad-step__card)) .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  background-color: rgba(19, 16, 13, 0.06) !important;
  color: #111 !important;
}

body:has(.sell-card:not(.bn-ad-step__card)) .select2-container--default .select2-search--dropdown .select2-search__field {
  border: 1px solid rgba(0, 0, 0, 0.12) !important;
  color: #111 !important;
  background: #fff !important;
}

.sell-card:not(.bn-ad-step__card) .input-group-text {
  border: 0;
}

/* -------------------------------------------------------------------------- */
/* Theme surfaces                                                             */
/* -------------------------------------------------------------------------- */

.base--bg-two,
.section--bg2,
.bg-dark,
.bitcoin-form-wrapper,
.table.style--two thead,
.custom--table thead,
.link-btn,
.account-logo,
.coin-search-area,
.overview-section,
.choose-card,
.testimonial-card,
.account-section .right,
.navbar-collapse,
.language .dropdown-menu,
.section--bg,
.hero,
.inner-hero,
.footer-section {
  background-color: var(--bitnnock-surface) !important;
  background-image: none !important;
}

.header.menu-fixed .header__bottom {
  background-color: var(--bitnnock-bg) !important;
  background-image: none !important;
}

.overlay--one::before,
.hero::before,
.account-section .right::before,
.inner-hero::before,
.footer-section::before {
  background-color: var(--bitnnock-surface) !important;
  opacity: 1 !important;
}

.footer-section {
  border-top: 1px solid var(--bitnnock-line-gold);
}

.header__bottom {
  /* This gradient (a background-image, not -color) paints over any
     background-color fix elsewhere, so it needs its own warm values -
     otherwise the header reads as near-black regardless of the
     warm-canvas variables set for everything else. */
  background: linear-gradient(180deg, rgba(19, 16, 13, 0.98), rgba(24, 21, 18, 0.96)) !important;
  border-bottom-color: var(--bitnnock-line-gold) !important;
}

@media (max-width: 1199px) {
  .header .main-menu li .sub-menu {
    background-color: var(--bitnnock-surface) !important;
    border: 1px solid var(--bitnnock-line);
  }
}

.card.style--two > .card-header,
.btn--base.active {
  background-color: var(--bitnnock-surface) !important;
}

.section-top-title,
a:hover,
.page-breadcrumb li:first-child::before,
.page-breadcrumb li a:hover,
.header .main-menu li a:hover,
.header .main-menu li a:focus,
.contact-item a:hover {
  color: var(--bitnnock-gold) !important;
}

.btn--base,
.scroll-to-top,
.subscribe-form button,
.border-btn:hover,
.read-btn:hover,
.choose-card__icon,
.testimonial-slider .slick-dots li.slick-active button,
.footer-widget .social-links li a:hover,
.btn-list li a.active,
.section-title.has--border::after,
.bitcoin-form-wrapper .title::after {
  border-color: var(--bitnnock-gold) !important;
}

.btn--base,
.scroll-to-top,
.choose-card__icon,
.subscribe-form button,
.btn-list li a.active,
.section-title.has--border::after,
.bitcoin-form-wrapper .title::after,
.create-trade-form .input-group-text,
.d-widget2 .icon {
  background-color: var(--bitnnock-gold) !important;
  color: #000 !important;
}

.footer-widget .social-links li a:hover,
.read-btn:hover,
.border-btn:hover {
  color: #000 !important;
}

.btn--base:hover {
  color: #000 !important;
}

.scroll-to-top .scroll-icon,
.account-menu .icon i,
.choose-card__icon i {
  color: #000 !important;
}

input:focus,
textarea:focus,
.nice-select.open,
.form-control:focus,
.nav-tabs.custom--style .nav-item .nav-link.active,
.custom-checkbox input:checked + label::after,
.custom-radio input[type="radio"]:checked ~ label::before {
  border-color: var(--bitnnock-gold) !important;
  box-shadow: 0 0 0 3px var(--bitnnock-gold-glow) !important;
}

.custom-radio label::after {
  background-color: var(--bitnnock-gold) !important;
}

.choose-card,
.testimonial-card,
.custom--card,
.card.custom--card {
  background-color: var(--bitnnock-surface) !important;
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text);
}

body.pw-app-site .choose-card,
body.pw-app-site .testimonial-card,
body.pw-app-site .custom--card,
body.pw-app-site .card.custom--card {
  background-color: rgba(255, 255, 255, 0.02) !important;
  box-shadow: none !important;
}

.custom--card .card-header,
.card.custom--card > .card-header {
  background-color: var(--bitnnock-bg-soft) !important;
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text);
}

.custom--card .form-control,
.card.custom--card .form-control {
  background-color: var(--bitnnock-bg-soft);
  border-color: var(--bitnnock-line);
  color: var(--bitnnock-text);
}

.testimonial-slider .slick-center .testimonial-card {
  border-color: var(--bitnnock-gold) !important;
}

.coin-search-area label,
.footer-section p,
.footer-section li,
.footer-section span,
.footer-section a,
.header .main-menu li a,
.para-white,
.choose-card__content .title,
.choose-card__content p,
.testimonial-card__content p {
  color: var(--bitnnock-text);
}

.footer-section a.text--base {
  color: var(--bitnnock-gold) !important;
}

.preloader {
  background: var(--bitnnock-bg) !important;
}

.preloader .animated-preloader,
.preloader .animated-preloader::before {
  background: var(--bitnnock-gold) !important;
}

.preloader .animated-preloader::after {
  background: var(--bitnnock-bg) !important;
}

.text--info,
.btn-outline--info {
  color: var(--bitnnock-text) !important;
  border-color: var(--bitnnock-line) !important;
}

.btn--info {
  background-color: var(--bitnnock-surface) !important;
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
}

.btn-outline--info:hover {
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
}

.badge--info {
  background-color: var(--bitnnock-surface) !important;
  color: var(--bitnnock-text) !important;
  border: 1px solid var(--bitnnock-line);
}

/* Vendor .badge--primary/--warning/--success/--danger (main.css) ship
   with vivid Bootstrap-y defaults (blue/purple, orange, green, red)
   that were only ever overridden inside specific wrappers like
   .bn-ad-table-wrap. Trade::statusBadge / Advertisement::statusBadge
   etc. render these classes site-wide (trades list, trade detail,
   offers list), so every variant needs its own top-level override
   here too, not just the scoped copies. */
.badge--primary,
.badge.badge--primary {
  background-color: rgba(236, 196, 108, 0.12) !important;
  border: 1px solid rgba(236, 196, 108, 0.35) !important;
  color: var(--bitnnock-gold) !important;
}

.badge--warning,
.badge.badge--warning {
  background-color: rgba(236, 196, 108, 0.12) !important;
  border: 1px solid rgba(236, 196, 108, 0.35) !important;
  color: #fde68a !important;
}

.badge--success,
.badge.badge--success {
  background-color: rgba(0, 200, 83, 0.12) !important;
  border: 1px solid rgba(0, 200, 83, 0.35) !important;
  color: #86efac !important;
}

.badge--danger,
.badge.badge--danger {
  background-color: rgba(239, 68, 68, 0.12) !important;
  border: 1px solid rgba(239, 68, 68, 0.35) !important;
  color: #fca5a5 !important;
}

.badge--buy,
.badge.badge--buy {
  border-radius: 999px;
  padding: 2px 12px;
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
  background-color: rgba(0, 200, 83, 0.12) !important;
  border: 1px solid rgba(0, 200, 83, 0.38) !important;
  color: #86efac !important;
}

.badge--sell,
.badge.badge--sell {
  border-radius: 999px;
  padding: 2px 12px;
  font-weight: 700;
  font-size: 0.6875rem;
  letter-spacing: 0.02em;
  background-color: rgba(236, 196, 108, 0.12) !important;
  border: 1px solid rgba(236, 196, 108, 0.35) !important;
  color: #f1dc9d !important;
}

.bn-trd-section--buy .bn-trd-tag {
  color: #86efac !important;
  border-color: rgba(0, 200, 83, 0.35) !important;
  background: rgba(0, 200, 83, 0.08) !important;
}

.bn-trd-section--sell .bn-trd-tag {
  color: #f1dc9d !important;
  border-color: rgba(236, 196, 108, 0.35) !important;
  background: rgba(236, 196, 108, 0.08) !important;
}

/* Public trader profile — kill legacy sidebar / caption-list bleed */
.bn-trd-profile.profile-setting-sidebar,
.bn-trd .bn-trd-profile {
  background: var(--bitnnock-surface) !important;
  padding: 0 !important;
}

@media (min-width: 1024px) {
  .bn-trd-profile.profile-setting-sidebar,
  .bn-trd .bn-trd-profile {
    position: sticky;
    top: 1rem;
  }
}

.bn-trd .bn-trd-meta.caption-list li,
.bn-trd .bn-trd-meta li {
  display: grid !important;
  flex-wrap: nowrap !important;
  width: auto !important;
  border-bottom: 1px solid var(--bn-border) !important;
  padding: 10px 0 !important;
}

.bn-trd .bn-trd-meta .caption {
  width: auto !important;
  font-family: inherit !important;
  position: static !important;
}

.bn-trd .bn-trd-meta .value {
  width: auto !important;
  padding-left: 0 !important;
}

/* Public profile — Buy/Sell action pills (p2p-dash vars absent outside .p2p-dash) */
body.pw-app-site .bn-trd .bn-trd-table-wrap .p2p-dash__btn--primary,
body.pw-app-site .bn-trd .bn-profile-ads .p2p-dash__btn--primary,
body.pw-app-site .bn-trd .bn-trd-table-wrap .p2p-dash__btn--sm,
body.pw-app-site .bn-trd .bn-profile-ads .p2p-dash__btn--sm {
  background: linear-gradient(135deg, #ecc46c, #f1dc9d) !important;
  border-color: #ecc46c !important;
  color: #000 !important;
}

.cmn-list-2 li:nth-last-of-type(3n + 1)::before {
  border-color: var(--bitnnock-line) !important;
}

.single-message.admin-message .message-content {
  border: 1px solid var(--bitnnock-line-gold) !important;
  background-color: var(--bitnnock-gold-soft) !important;
}

.staff-reply {
  background-color: var(--bitnnock-gold-soft) !important;
  border-color: var(--bitnnock-line-gold) !important;
}

.home-page .header {
  display: none !important;
}

/* Tables on dark pages */
body.pw-app-site .custom--table tbody tr:hover,
body.pw-app-site .table.style--two tbody tr:hover {
  box-shadow: none !important;
  transform: none !important;
}



/* Neutralize legacy main.css white table rows on dark surfaces */
body.pw-app-site .table.style--two tbody tr,
.p2p-dash .table.style--two tbody tr,
.p2p-dash .table tbody tr,
.p2p-dash .custom--table tbody tr {
  background-color: var(--bitnnock-surface, #1c1712) !important;
  box-shadow: none !important;
  transform: none !important;
}

body.pw-app-site .table.style--two tbody tr td,
.p2p-dash .table.style--two tbody tr td,
.p2p-dash .table tbody td,
.p2p-dash .custom--table tbody td {
  color: #e7e5e4 !important;
  background-color: transparent !important;
}

body.pw-app-site .no-data-message,
.p2p-dash .no-data-message {
  background-color: transparent !important;
  color: var(--bitnnock-muted) !important;
}



.custom--table td,
.custom--table th,
.table.style--two td,
.table.style--two th {
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-muted);
}

.custom--table thead th,
.table.style--two thead th {
  color: var(--bitnnock-text) !important;
  background: var(--bitnnock-bg-soft) !important;
}

/* Hide Viser push-notification permission banner */
.notice,
.schwab-notification-alert {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

/* Inner pages — Bitnnock dark shell */
.bn-page {
  background: var(--bitnnock-bg);
  color: var(--bitnnock-text);
  min-height: 40vh;
}

.bn-inner-hero {
  padding: clamp(5.5rem, 14vw, 8.75rem) clamp(1rem, 3vw, 1.5rem) clamp(2rem, 5vw, 3rem);
  border-bottom: 1px solid var(--bitnnock-line);
}

.bn-inner-hero .page-title {
  font-family: var(--bitnnock-font);
  font-size: clamp(1.75rem, 4vw, 2.5rem);
  font-weight: 700;
  color: var(--bitnnock-text);
  margin: 0;
}

.bn-page .contact-form-wrapper,
.bn-page .custom--card,
.bn-page .coin-search-area {
  border-radius: var(--bitnnock-radius-sm);
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-surface);
}

.bn-page .form-control,
.bn-page .select2-container .select2-selection--single {
  background: var(--bitnnock-bg-soft) !important;
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
}

.bn-page label {
  color: var(--bitnnock-muted);
  font-family: var(--bitnnock-font);
  font-size: 13px;
  font-weight: 600;
}

.bn-page .contact-item {
  border-color: var(--bitnnock-line);
}

.bn-page .contact-item__icon {
  color: var(--bitnnock-gold);
}

/* -------------------------------------------------------------------------- */
/* Preloader + cookie banner                                                  */
/* -------------------------------------------------------------------------- */

.bn-preloader {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  /* Transparent, not a copy of the Living Ledger canvas's own background.
     This overlay sits directly in front of that real, already-animating
     canvas (z-index:6) and every section (z-index:7) - leaving it
     transparent lets the genuine thing show through underneath instead of
     a separate static recreation of it, so there's nothing to keep in sync
     and no seam between the two by construction. Only the constellation
     graphic below is this element's own visible content now. */
  background: transparent;
  padding: env(safe-area-inset-top, 0) env(safe-area-inset-right, 0) env(safe-area-inset-bottom, 0) env(safe-area-inset-left, 0);
  transition: opacity 0.22s var(--bitnnock-ease), visibility 0.22s;
}

.bn-preloader__panel {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 0 1.5rem;
  text-align: center;
}

.bn-preloader.is-hidden {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.bn-preloader__ledger {
  position: relative;
  width: 88px;
  height: 88px;
}

.bn-preloader__ledger-svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.bn-preloader__lines line {
  stroke: rgba(233, 187, 122, 0.32);
  stroke-width: 0.6;
  stroke-linecap: round;
}

/* One connection gets a brighter dashed overlay whose dash offset keeps
   animating - a small traveling glint standing in for the canvas's
   comet-trailed energy packets. */
.bn-preloader__line--pulse {
  stroke: rgba(247, 218, 176, 0.85);
  stroke-width: 1.1;
  stroke-linecap: round;
  stroke-dasharray: 6 34;
  animation: bn-ledger-travel 2.6s linear infinite;
}

.bn-preloader__node {
  /* fill-box + center: scale() pulses each node in place around its own
     midpoint instead of the SVG viewport's origin (the default box for
     transforms on SVG shapes), which would otherwise make every node
     drift toward/away from the top-left corner as it "twinkles". */
  transform-box: fill-box;
  transform-origin: center;
  animation-name: bn-ledger-twinkle;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

/* Same warm amber -> pale gold tones as the canvas's TONES palette
   (bn-ambient-background.js), assigned the same way: brightest reserved
   for the largest/nearest-reading node. */
.bn-preloader__node--1 {
  fill: #f7dab0;
  filter: drop-shadow(0 0 6px rgba(247, 218, 176, 0.55));
}

.bn-preloader__node--2,
.bn-preloader__node--4 {
  fill: #ecc46c;
}

.bn-preloader__node--3,
.bn-preloader__node--6 {
  fill: #c6a163;
}

.bn-preloader__node--5,
.bn-preloader__node--7 {
  fill: #b4834a;
}

@keyframes bn-ledger-twinkle {
  0%, 100% { opacity: 0.45; transform: scale(0.82); }
  50% { opacity: 1; transform: scale(1); }
}

@keyframes bn-ledger-travel {
  to { stroke-dashoffset: -40; }
}

/* Standard visually-hidden pattern (clip, not display:none/opacity:0) -
   keeps "Loading…" announced to screen readers while showing nothing on
   screen, so sighted users see only the animation as requested. */
.bn-preloader__sr-text {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

@media (prefers-reduced-motion: reduce) {
  .bn-preloader__node {
    animation: none;
    opacity: 0.9;
    transform: scale(1);
  }

  .bn-preloader__line--pulse {
    animation: none;
    stroke-dasharray: none;
    stroke: rgba(233, 187, 122, 0.32);
    stroke-width: 0.6;
  }
}

.bn-preloader__logo {
  position: absolute;
  width: 22px;
  height: 22px;
  object-fit: contain;
  opacity: 0.9;
}

.bn-cookie {
  position: fixed;
  bottom: 1rem;
  left: 1rem;
  right: 1rem;
  z-index: 99990;
  max-width: 420px;
  margin-inline: auto;
  padding: 1.125rem 1.25rem;
  border-radius: 16px;
  border: 1px solid var(--bitnnock-line-gold);
  background: rgba(19, 16, 13, 0.96);
  backdrop-filter: blur(16px);
  box-shadow: 0 24px 80px rgba(0, 0, 0, 0.55);
  transform: translateY(120%);
  opacity: 0;
  transition: transform 0.5s var(--bitnnock-ease), opacity 0.5s;
}

.bn-cookie.is-visible {
  transform: translateY(0);
  opacity: 1;
}

.bn-cookie.is-hidden {
  display: none !important;
}

.bn-cookie__head {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  margin-bottom: 0.625rem;
}

.bn-cookie__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 10px;
  background: var(--bitnnock-gold-soft);
  color: var(--bitnnock-gold);
  font-size: 1.125rem;
}

.bn-cookie__title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--bitnnock-text);
  margin: 0;
}

.bn-cookie__text {
  font-size: 0.8125rem;
  line-height: 1.55;
  color: var(--bitnnock-muted);
  margin: 0 0 0.875rem;
}

.bn-cookie__text a {
  color: var(--bitnnock-gold) !important;
  text-decoration: underline;
}

.bn-cookie__btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 44px;
  border: none;
  border-radius: var(--bitnnock-radius-pill);
  background: var(--bitnnock-gold);
  color: #0a0a0a !important;
  font-family: var(--bitnnock-font);
  font-size: 0.875rem;
  font-weight: 600;
  cursor: pointer;
  transition: transform 0.2s, box-shadow 0.2s;
}

.bn-cookie__btn:hover {
  filter: brightness(1.05);
}

/* -------------------------------------------------------------------------- */
/* CMS sections (pages, contact extras)                                       */
/* -------------------------------------------------------------------------- */

.wlfi-cms-page {
  background: var(--bitnnock-bg);
}

.wlfi-section {
  padding: clamp(3rem, 7vw, 5rem) 1rem;
  border-top: 1px solid var(--bitnnock-line);
}

.wlfi-section--alt {
  background: var(--bitnnock-bg-soft);
}

.wlfi-wrap {
  width: 100%;
  max-width: min(1152px, calc(100% - 2rem));
  margin-inline: auto;
}

.wlfi-section-head {
  max-width: 640px;
  margin: 0 auto 2.5rem;
  text-align: center;
}

.wlfi-section-head h2 {
  font-family: var(--bitnnock-font);
  font-size: clamp(1.75rem, 4vw, 2.75rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--bitnnock-text) !important;
  margin: 0 0 0.75rem;
}

.wlfi-section-head p {
  font-size: 1rem;
  line-height: 1.65;
  color: var(--bitnnock-muted) !important;
  margin: 0;
}

/* Choose us / features grid */
.wlfi-features {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
}

@media (min-width: 768px) {
  .wlfi-features { grid-template-columns: repeat(2, 1fr); }
}

@media (min-width: 992px) {
  .wlfi-features { grid-template-columns: repeat(3, 1fr); }
}

.wlfi-feature {
  padding: 1.5rem;
  border-radius: 12px;
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-surface);
  transition: border-color 0.25s, transform 0.25s;
}

.wlfi-feature:hover {
  border-color: var(--bitnnock-line-gold);
}

.wlfi-feature__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  margin-bottom: 1rem;
  border-radius: 12px;
  background: var(--bitnnock-gold-soft);
  border: 1px solid var(--bitnnock-line-gold);
}

.wlfi-feature__icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
}

.wlfi-feature__title {
  font-size: 1.0625rem;
  font-weight: 600;
  color: var(--bitnnock-text) !important;
  margin: 0 0 0.5rem;
}

.wlfi-feature__text {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--bitnnock-muted) !important;
  margin: 0;
}

/* Overview stats strip */
.wlfi-overview {
  padding: 2rem 1rem;
  border-top: 1px solid var(--bitnnock-line);
  border-bottom: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-bg-soft);
}

.wlfi-overview__grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
  .wlfi-overview__grid { grid-template-columns: repeat(4, 1fr); }
}

.wlfi-overview__item {
  text-align: center;
  padding: 1rem;
}

.wlfi-overview__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  margin-bottom: 0.625rem;
  border-radius: 50%;
  background: var(--bitnnock-gold-soft);
  color: var(--bitnnock-gold);
  font-size: 1.125rem;
}

.wlfi-overview__label {
  font-size: 0.8125rem;
  font-weight: 600;
  color: var(--bitnnock-text) !important;
  margin: 0;
}

/* Testimonials */
.wlfi-testimonial-slider .slick-dots {
  bottom: -2rem;
}

.wlfi-testimonial-slider .slick-dots li button:before {
  color: var(--bitnnock-gold);
}

.wlfi-testimonial-card {
  padding: 2rem 1.5rem;
  border-radius: 16px;
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-surface);
  margin: 0 0.5rem;
}

.wlfi-testimonial-card__quote {
  font-size: 2rem;
  line-height: 1;
  color: var(--bitnnock-gold);
  margin-bottom: 0.75rem;
}

.wlfi-testimonial-card__text {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--bitnnock-muted) !important;
  margin: 0 0 1.5rem;
}

.wlfi-testimonial-card__author {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5rem;
}

.wlfi-testimonial-card__avatar {
  width: 56px;
  height: 56px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--bitnnock-line-gold);
}

.wlfi-testimonial-card__name {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--bitnnock-text) !important;
  margin: 0;
}

/* FAQ accordion */
.wlfi-faq-section { padding: clamp(3rem, 7vw, 5rem) 1rem; border-top: 1px solid var(--bitnnock-line); }

.wlfi-faq-layout {
  display: grid;
  gap: clamp(2rem, 4vw, 3rem);
}

@media (min-width: 992px) {
  .wlfi-faq-layout:not(.wlfi-faq-layout--full) { grid-template-columns: 1fr 1.2fr; align-items: start; }
}

.wlfi-faq { display: flex; flex-direction: column; gap: 0.5rem; }

.wlfi-faq__item {
  border-radius: 8px;
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-surface);
  overflow: hidden;
}

.wlfi-faq__item.is-open { border-color: var(--bitnnock-line-gold); }

.wlfi-faq__q {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  padding: 1rem 1.125rem;
  background: transparent;
  border: none;
  color: var(--bitnnock-text) !important;
  font-family: var(--bitnnock-font);
  font-size: 0.9375rem;
  font-weight: 500;
  text-align: left;
  cursor: pointer;
}

.wlfi-faq__q::after {
  content: '+';
  font-size: 1.25rem;
  color: var(--bitnnock-muted);
  transition: transform 0.2s, color 0.2s;
}

.wlfi-faq__item.is-open .wlfi-faq__q::after {
  transform: rotate(45deg);
  color: var(--bitnnock-gold);
}

.wlfi-faq__a { padding: 0 1.125rem 1rem; }

.wlfi-faq__a[hidden] { display: none; }

.wlfi-faq__a p {
  font-size: 0.9375rem;
  color: var(--bitnnock-muted) !important;
  line-height: 1.7;
  margin: 0;
}

/* Offer CTA band */
.wlfi-offer-band {
  padding: clamp(2.5rem, 6vw, 4rem) 1rem;
  border-top: 1px solid var(--bitnnock-line);
  background: linear-gradient(135deg, rgba(236, 196, 108, 0.08), rgba(19, 16, 13, 0));
}

.wlfi-offer-band__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.25rem;
  text-align: center;
}

@media (min-width: 768px) {
  .wlfi-offer-band__inner {
    flex-direction: row;
    justify-content: space-between;
    text-align: left;
  }
}

.wlfi-offer-band__title {
  font-size: clamp(1.375rem, 3vw, 2rem);
  font-weight: 600;
  color: var(--bitnnock-text) !important;
  margin: 0 0 0.375rem;
}

.wlfi-offer-band__sub {
  font-size: 0.9375rem;
  color: var(--bitnnock-muted) !important;
  margin: 0;
}

.wlfi-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 1.5rem;
  border-radius: var(--bitnnock-radius-pill);
  font-family: var(--bitnnock-font);
  font-size: 0.9375rem;
  font-weight: 600;
  text-decoration: none !important;
  border: none;
  cursor: pointer;
  transition: transform 0.25s, box-shadow 0.25s;
}

.wlfi-btn--primary {
  background: var(--bitnnock-gold);
  color: #0a0a0a !important;
}

.wlfi-btn--primary:hover {
  filter: brightness(1.05);
}

/* Subscribe */
.wlfi-subscribe {
  padding: clamp(3rem, 7vw, 5rem) 1rem;
  border-top: 1px solid var(--bitnnock-line);
}

.wlfi-subscribe__form {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  max-width: 520px;
  margin: 1.5rem auto 0;
}

@media (min-width: 576px) {
  .wlfi-subscribe__form { flex-direction: row; }
}

.wlfi-subscribe__input {
  flex: 1;
  min-height: 50px;
  padding: 0 1.125rem;
  border-radius: var(--bitnnock-radius-pill);
  border: 1px solid var(--bitnnock-line) !important;
  background: var(--bitnnock-bg-soft) !important;
  color: var(--bitnnock-text) !important;
  font-family: var(--bitnnock-font);
}

.wlfi-subscribe__input:focus {
  border-color: var(--bitnnock-line-gold) !important;
  outline: none;
  box-shadow: 0 0 0 3px var(--bitnnock-gold-soft);
}

/* Prose (policy, cookie policy) */
.wlfi-cms-page__wrap {
  padding: clamp(2rem, 5vw, 3rem) 0 4rem;
}

.wlfi-cms-page .wlfi-card.bn-prose {
  max-width: 820px;
  margin-inline: auto;
  padding: clamp(1.25rem, 3vw, 2rem);
}

.wlfi-cms-page .bn-prose {
  max-width: none;
  margin: 0;
  padding: 0;
}

.bn-prose h1, .bn-prose h2, .bn-prose h3, .bn-prose h4 {
  color: var(--bitnnock-text) !important;
  font-family: var(--bitnnock-font);
  margin-top: 1.5rem;
}

.bn-prose p, .bn-prose li {
  color: var(--bitnnock-muted) !important;
  line-height: 1.75;
}

.bn-prose a { color: var(--bitnnock-gold) !important; }

/* Contact page */
.bn-contact-grid {
  display: grid;
  gap: 2rem;
}

@media (min-width: 992px) {
  .bn-contact-grid { grid-template-columns: 1fr 1fr; align-items: stretch; }
}

.bn-contact-card {
  padding: 1.75rem;
  border-radius: 16px;
  border: 1px solid var(--bitnnock-line);
  background: rgba(255, 255, 255, 0.02);
}

body.pw-app-site .bn-contact-card {
  background: rgba(255, 255, 255, 0.02) !important;
}

.bn-contact-card__title {
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--bitnnock-text) !important;
  margin: 0 0 0.375rem;
}

.bn-contact-card__sub {
  font-size: 0.875rem;
  color: var(--bitnnock-muted) !important;
  margin: 0 0 1.5rem;
}

.bn-contact-item {
  display: flex;
  gap: 1rem;
  padding: 1rem 0;
  border-bottom: 1px solid var(--bitnnock-line);
}

.bn-contact-item:last-child { border-bottom: none; }

.bn-contact-item__icon {
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  background: var(--bitnnock-gold-soft);
  color: var(--bitnnock-gold);
  font-size: 1.125rem;
}

.bn-contact-item__title {
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--bitnnock-text) !important;
  margin: 0 0 0.25rem;
}

.bn-contact-item__text {
  font-size: 0.875rem;
  color: var(--bitnnock-muted) !important;
  margin: 0;
}

.bn-map {
  margin-top: 3rem;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid var(--bitnnock-line);
  height: 360px;
}

.bn-map iframe {
  width: 100%;
  height: 100%;
  border: 0;
  filter: grayscale(0.4) contrast(1.1);
}

/* Marketplace search */
.bn-market-search {
  padding: 1.5rem 0;
  border-bottom: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-bg);
}

body.pw-app-site .bn-market-search {
  background: var(--bitnnock-bg) !important;
}

.bn-market-search__panel {
  padding: 1.25rem;
  border-radius: 16px;
  border: 1px solid var(--bitnnock-line);
  background: rgba(255, 255, 255, 0.02);
}

body.pw-app-site .bn-market-search__panel {
  background: rgba(255, 255, 255, 0.02) !important;
}

.bn-market-search label {
  display: block;
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bitnnock-muted) !important;
  margin-bottom: 0.375rem;
}

.bn-market-search .select2-container { width: 100% !important; }

.bn-market-search__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  width: 100%;
  min-height: 46px;
  border: none;
  border-radius: var(--bitnnock-radius-pill);
  background: linear-gradient(135deg, var(--bitnnock-gold), #f1dc9d);
  color: #0a0a0a !important;
  font-family: var(--bitnnock-font);
  font-weight: 600;
  cursor: pointer;
}

/* Social auth partial */
.bn-social {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.625rem;
  width: 100%;
}

.bn-social__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  width: 100%;
  min-height: 44px;
  padding: 0 1rem;
  border-radius: var(--bitnnock-radius-pill);
  border: 1px solid var(--bitnnock-line) !important;
  background: rgba(255, 255, 255, 0.03) !important;
  color: var(--bitnnock-text) !important;
  font-size: 0.8125rem;
  font-weight: 600;
  text-decoration: none !important;
  transition: border-color 0.2s, background 0.2s;
}

.bn-social__btn:hover {
  border-color: var(--bitnnock-line-gold) !important;
}

.bn-social__btn img { width: 18px; height: 18px; }

.bn-social__divider {
  position: relative;
  text-align: center;
  margin: 1rem 0;
}

.bn-social__divider::before {
  content: '';
  position: absolute;
  inset: 50% 0 auto;
  height: 1px;
  background: var(--bitnnock-line);
}

.bn-social__divider span {
  position: relative;
  padding: 0 0.625rem;
  background: var(--bitnnock-bg-soft);
  font-size: 0.75rem;
  font-weight: 600;
  color: var(--bitnnock-muted);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

/* Verification code */
.bn-verify {
  margin-bottom: 1rem;
}

.bn-verify__label {
  display: block;
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--bitnnock-muted) !important;
  margin-bottom: 0.375rem;
}

.bn-verify .verification-code {
  position: relative;
}

.bn-verify .verification-code input {
  position: absolute;
  inset: 0;
  opacity: 0;
  z-index: 2;
  cursor: text;
}

.bn-verify .verification-code .boxes {
  display: flex;
  gap: 0.5rem;
  justify-content: center;
  max-width: 100%;
  min-width: 0;
}

.bn-verify .verification-code .boxes span {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  border-radius: 12px;
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-bg-soft);
  color: var(--bitnnock-text);
  font-size: 1.25rem;
  font-weight: 600;
  font-family: var(--bitnnock-font);
}

/* User ads table partial */
.bn-user-ads {
  border-radius: 12px;
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-surface);
  overflow: hidden;
}

.bn-user-ads .table thead th {
  background: var(--bitnnock-bg-soft) !important;
  color: var(--bitnnock-muted) !important;
  font-size: 0.6875rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  border-color: var(--bitnnock-line) !important;
}

.bn-user-ads .table tbody td {
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
  font-size: 0.8125rem;
}

.bn-user-ads .modal-content {
  background: var(--bitnnock-surface);
  border: 1px solid var(--bitnnock-line);
  color: var(--bitnnock-text);
}

.bn-user-ads .modal-header {
  border-color: var(--bitnnock-line);
}

.bn-user-ads .list-group-item {
  background: transparent;
  border-color: var(--bitnnock-line);
  color: var(--bitnnock-danger) !important;
}

/* Reviews partial */
.bn-reviews__item {
  padding: 1.25rem;
  margin-bottom: 1rem;
  border-radius: 12px;
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-surface);
}

.bn-reviews__head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}

.bn-reviews__user {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}

.bn-reviews__avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
  border: 2px solid var(--bitnnock-line-gold);
}

.bn-reviews__name {
  font-weight: 600;
  color: var(--bitnnock-text) !important;
}

.bn-reviews__badge--pos,
.bn-reviews__badge--neg {
  display: inline-flex;
  padding: 2px 10px;
  border-radius: 999px;
  font-size: 0.6875rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bn-reviews__badge--pos {
  background: rgba(0, 200, 83, 0.12);
  border: 1px solid rgba(0, 200, 83, 0.35);
  color: #86efac !important;
}

.bn-reviews__badge--neg {
  background: rgba(239, 68, 68, 0.12);
  border: 1px solid rgba(239, 68, 68, 0.35);
  color: #fca5a5 !important;
}

.bn-reviews__text {
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--bitnnock-muted) !important;
  margin: 0;
}

.bn-reviews__date {
  font-size: 0.75rem;
  color: var(--bitnnock-muted);
}

.bn-reviews__edit {
  border: none;
  background: transparent;
  color: var(--bitnnock-gold) !important;
  font-size: 0.8125rem;
  cursor: pointer;
}

/* Referral tree */
.bn-referral-tree ul {
  list-style: none;
  padding-left: 1.25rem;
  margin: 0;
  border-left: 1px solid var(--bitnnock-line);
}

.bn-referral-tree > ul.firstList {
  padding-left: 0;
  border-left: none;
}

.bn-referral-tree li {
  position: relative;
  padding: 0.375rem 0 0.375rem 0.75rem;
  font-size: 0.875rem;
  color: var(--bitnnock-text);
}

.bn-referral-tree li::before {
  content: '';
  position: absolute;
  left: -1.25rem;
  top: 0.85rem;
  width: 0.75rem;
  height: 1px;
  background: var(--bitnnock-line-gold);
}

/* Maintenance */
.bn-maintenance {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem 1rem;
  background:
    radial-gradient(760px 420px at 10% -8%, rgba(236, 196, 108, 0.1), transparent 62%),
    var(--bitnnock-bg);
}

.bn-maintenance__card {
  max-width: 560px;
  text-align: center;
  padding: 2.5rem 2rem;
  border-radius: 24px;
  border: 1px solid var(--bitnnock-line);
  background: var(--bitnnock-surface);
}

.bn-maintenance__img {
  max-width: 280px;
  margin: 0 auto 1.5rem;
}

.bn-maintenance__text {
  font-size: 1rem;
  line-height: 1.7;
  color: var(--bitnnock-muted) !important;
}

/* Home / CMS shared section typography */
.wlfi-heading-md {
  font-size: clamp(1.75rem, 4vw, 3rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.1;
  text-align: center;
  color: var(--bitnnock-text) !important;
  margin: 0;
}

.wlfi-subheading {
  margin-top: 0.5rem;
  max-width: 640px;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.65;
  color: var(--bitnnock-muted) !important;
  text-align: center;
  margin-inline: auto;
}

.wlfi-offers {
  padding: clamp(3rem, 7vw, 5rem) clamp(1rem, 3vw, 1.5rem);
  border-top: 1px solid var(--bitnnock-line);
}

.wlfi-offers--alt {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 40%);
}

.wlfi-offers .bn-ads-widget .row {
  margin: 0;
}

.wlfi-offers .bn-ads-widget .col-lg-12 {
  padding: 0;
  max-width: 100%;
}

.pt-60 {
  padding-top: 3.75rem;
}

/* ==========================================================================
   Responsive — cross-device alignment, overflow, and mobile polish
   ========================================================================== */

html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body {
  overflow-x: clip;
}

img,
video,
svg {
  max-width: 100%;
  height: auto;
}

.container {
  padding-left: clamp(0.75rem, 3vw, 1.5rem);
  padding-right: clamp(0.75rem, 3vw, 1.5rem);
}

.bn-page {
  overflow-x: clip;
}

/* Dark card-style tables (main.css defaults to aliceblue on mobile) */
@media (max-width: 991px) {
  .table-responsive--md tbody tr:nth-child(odd),
  .table-responsive--md tbody tr:nth-child(even) {
    background-color: var(--bitnnock-surface) !important;
  }

  .table-responsive--md tbody tr:nth-child(odd) {
    background-color: var(--bitnnock-bg-soft) !important;
  }

  .table-responsive--md tr th,
  .table-responsive--md tr td {
    border-color: var(--bitnnock-line) !important;
    color: var(--bitnnock-text) !important;
    text-align: right !important;
  }

  .table-responsive--md tr:last-child td {
    border-bottom: 1px solid var(--bitnnock-line) !important;
  }

  .table-responsive--md [data-label]::before {
    color: var(--bitnnock-muted) !important;
    text-align: left;
  }

  .table-responsive--md .user {
    justify-content: flex-end;
  }
}

@media (max-width: 479px) {
  .table-responsive--md tr th,
  .table-responsive--md tr td {
    padding-left: 42% !important;
    font-size: 0.8125rem !important;
  }
}

.table-responsive,
.table-responsive--md,
.wlfi-table-wrap,
.bn-trd-table-wrap,
.bn-user-ads {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.bn-ads-widget .table-responsive {
  margin: 0;
}

/* Auth shell */
.wlf-auth {
  overflow-x: clip;
}

.wlf-auth:not(.wlf-auth--register):not(.wlf-auth--login) .wlf-auth__section {
  padding: clamp(1.25rem, 4vw, 2.5rem) 0 clamp(2rem, 5vw, 3rem);
  min-height: calc(100vh - var(--pw-nav-height, 104px));
  display: flex;
  align-items: center;
}

.wlf-auth--register .wlf-auth__section,
.wlf-auth--user-data .wlf-auth__section,
.wlf-auth--login .wlf-auth__section {
  align-items: stretch;
  justify-content: stretch;
  padding: clamp(0.75rem, 2vh, 1.25rem) 0;
  min-height: 0;
  flex: 1;
}

.wlf-auth--user-data .wlf-auth__section,
.wlf-auth--login .wlf-auth__section {
  padding-top: clamp(1rem, 2.5vh, 1.5rem);
}

.wlf-auth--user-data .select2-container--default .select2-selection--single {
  height: 50px !important;
  min-height: 50px !important;
  border-radius: 14px !important;
}

.wlf-auth--user-data .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 48px !important;
}

.wlf-auth--user-data .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 48px !important;
}

@media (max-width: 539px) {
  .wlf-auth--user-data .select2-container--default .select2-selection--single {
    height: 48px !important;
    min-height: 48px !important;
  }

  .wlf-auth--user-data .select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 46px !important;
  }

  .wlf-auth--user-data .select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 46px !important;
  }
}

@media (max-width: 767px) {
  .wlf-auth:not(.wlf-auth--register):not(.wlf-auth--user-data):not(.wlf-auth--login) .wlf-auth__form-wrap {
    padding: clamp(1.25rem, 4vw, 1.75rem);
  }

  .wlf-auth__row {
    flex-direction: column;
    align-items: flex-start;
  }
}

@media (max-width: 399px) {
  .bn-verify .verification-code .boxes {
    gap: 0.35rem;
  }

  .bn-verify .verification-code .boxes span {
    min-height: 44px;
    font-size: 1rem;
  }
}

/* ==========================================================================
   Batch 1 auth — shared alignment utilities + cross-page fixes
   ========================================================================== */

.bn-align-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 1rem;
  min-width: 0;
}

.bn-form-grid {
  display: grid;
  gap: 1rem;
  grid-template-columns: 1fr;
  min-width: 0;
}

@media (min-width: 768px) {
  .bn-form-grid {
    grid-template-columns: 1fr 1fr;
  }
}

.wlf-auth .wlf-container {
  margin-inline: auto;
}

.wlf-auth .wlf-container--narrow {
  max-width: 520px;
}

.wlf-auth__form-wrap {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  min-width: 0;
  width: 100%;
}

.wlf-auth__head .wlf-auth__sub,
.wlf-auth__head--center .wlf-auth__sub,
.wlf-auth__head--center .wlf-auth__title {
  margin-inline: auto;
}

@media (min-width: 768px) {
  .wlf-auth__head .wlf-auth__sub,
  .wlf-auth__head--center .wlf-auth__sub,
  .wlf-auth__head--center .wlf-auth__title {
    margin-inline: 0;
  }
}

.wlf-auth__social .bn-social {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  margin: 0;
}

.wlf-auth__social .bn-social__btn {
  width: 100%;
}

.wlf-auth__social .bn-social__divider {
  margin: 0.75rem 0;
}

.wlf-auth__social .bn-social__divider span {
  background: rgba(7, 7, 8, 0.96);
}

.wlf-auth__agree {
  display: flex;
  align-items: flex-start;
  width: 100%;
}

.wlf-auth__agree .wlf-check--policy {
  align-items: flex-start;
  width: 100%;
}

.wlf-auth__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.wlf-auth__foot a {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
}

.wlf-auth .bn-verify,
.wlfi-prof .bn-verify {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.wlf-auth .bn-verify .verification-code,
.wlfi-prof .bn-verify .verification-code {
  width: 100%;
  max-width: 100%;
}

.wlf-auth .bn-verify .verification-code .boxes,
.wlfi-prof .bn-verify .verification-code .boxes {
  justify-content: center;
  max-width: 100%;
}

.wlf-auth .wlf-phone.input-group {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
}

.wlf-auth .wlf-phone.input-group > .wlf-input,
.wlf-auth .wlf-phone.input-group > .form-control {
  flex: 1 1 auto;
  min-width: 0;
}

.wlf-auth .wlf-field,
.wlf-auth .wlf-input,
.wlf-auth .form-control,
.wlf-auth select.form-control {
  width: 100%;
  min-height: 48px;
}

.wlf-auth .wlf-input,
.wlf-auth .form-control {
  min-height: 48px;
}

@media (max-width: 767px) {
  .wlf-auth__grid,
  .wlf-auth__grid--password,
  .wlf-auth__grid--address,
  .bn-form-grid,
  .wlfi-form-grid {
    grid-template-columns: 1fr !important;
  }

  .wlf-auth__row {
    flex-direction: column;
    align-items: flex-start;
  }

  .wlf-auth__sub {
    max-width: none;
  }
}

/* Step-up + profile security cards */
.wlfi-prof.pw-app {
  overflow-x: clip;
}

.wlfi-prof__wrap {
  overflow-x: clip;
}

.wlfi-prof__step-up-card {
  max-width: 520px;
  width: 100%;
}

.wlfi-prof__step-up-lead {
  margin: 0 0 1rem;
  font-size: 0.9375rem;
  line-height: 1.65;
  color: var(--wlfi-muted, #a8a29e) !important;
}

.wlfi-prof__2fa-code {
  width: 100%;
  min-width: 0;
}

.wlfi-prof__2fa-code .bn-verify {
  margin-bottom: 0;
}

.wlfi-prof__2fa-code .bn-verify .verification-code .boxes span {
  min-height: 48px;
}

.wlfi-prof .submit-form.bn-align-stack .wlfi-btn--primary {
  margin-top: 0.25rem;
}

/* Plasma nav — vertical centering in flex rows */
.pw-plasma-shell .pw-plasma-nav__center,
.pw-plasma-shell .navbar_menu-right {
  align-items: center;
}

.pw-plasma-shell .navbar_menu-right,
.pw-plasma-shell .navbar_menu-right:hover,
.pw-plasma-shell .link-block,
.pw-plasma-shell .link-block:hover {
  opacity: 1 !important;
}

/* Marketplace + inner content */
@media (max-width: 767px) {
  .bn-market-search {
    padding: 1rem 0;
  }

  .bn-market-search__panel {
    padding: 1rem;
  }

  .bn-prose {
    padding: 1.25rem clamp(1rem, 3vw, 1.5rem) 2.5rem;
  }

  .bn-contact-card {
    padding: 1.25rem;
  }

  .bn-map {
    height: 260px;
  }

  .pt-60 {
    padding-top: 2.5rem;
  }
}

@media (max-width: 479px) {
  .wlfi-wrap {
    max-width: calc(100% - 1.25rem);
  }
}

/* Cookie + scroll controls — safe areas */
@media (max-width: 767px) {
  .cookies-card,
  .bn-cookie {
    bottom: calc(0.75rem + env(safe-area-inset-bottom));
  }

  body:has(.wlfi-mobile-bar) .cookies-card,
  body:has(.wlfi-mobile-bar) .bn-cookie {
    bottom: calc(5.25rem + env(safe-area-inset-bottom));
  }

  /* Shorter phones stack the hero badge/heading/lead/trust-grid/CTAs tall
     enough that this card's old size (icon row + full paragraph + 44px
     button) could still reach into that content above it. Trim padding/
     gaps and drop the icon to cut its height by roughly a third. */
  .bn-cookie {
    padding: 0.75rem 0.875rem;
  }

  .bn-cookie__icon {
    display: none;
  }

  .bn-cookie__head {
    margin-bottom: 0.375rem;
  }

  .bn-cookie__text {
    font-size: 0.75rem;
    line-height: 1.4;
    margin-bottom: 0.625rem;
  }

  .bn-cookie__btn {
    min-height: 38px;
  }
}

.wlf-top {
  bottom: calc(1.5rem + env(safe-area-inset-bottom));
}

body:has(.wlfi-mobile-bar) .wlf-top {
  bottom: calc(5.25rem + env(safe-area-inset-bottom));
}

@media (min-width: 721px) {
  body:has(.wlfi-home) .wlf-top {
    bottom: calc(1.5rem + env(safe-area-inset-bottom));
  }
}

.select2-container {
  max-width: 100%;
}

/* Modal fit on small screens */
@media (max-width: 575px) {
  .modal-dialog {
    margin: 0.75rem;
  }
}

/* ==========================================================================
   Final cleanup — shared modals, breadcrumb, dashboard actions
   ========================================================================== */

.wlfi-breadcrumb {
  text-align: center;
}

.wlfi-breadcrumb__inner {
  display: flex;
  align-items: center;
  justify-content: center;
}

.bn-modal-dark {
  background: var(--bitnnock-surface) !important;
  border: 1px solid var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
  border-radius: 20px !important;
  font-family: var(--bitnnock-font);
  overflow: hidden;
}

.bn-modal-dark .modal-header,
.bn-modal-dark .modal-footer {
  border-color: var(--bitnnock-line) !important;
}

.bn-modal-dark .modal-title {
  font-weight: 700;
  color: var(--bitnnock-text) !important;
}

.bn-modal-dark .modal-body {
  color: var(--bitnnock-muted) !important;
}

.bn-modal-dark .list-group-item {
  background: transparent !important;
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
}

.bn-login-modal__text {
  margin: 0;
  text-align: center;
  line-height: 1.6;
}

.bn-login-modal .modal-footer,
.bn-login-modal__actions {
  justify-content: center;
  gap: 0.625rem;
  flex-wrap: wrap;
}

.bn-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0 1.25rem;
  border-radius: var(--bitnnock-radius-pill);
  font-family: var(--bitnnock-font);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none !important;
  border: 1px solid transparent;
  cursor: pointer;
  transition: transform 0.2s, background 0.2s, border-color 0.2s;
}

.bn-btn--gold {
  background: var(--bitnnock-gold);
  color: #0a0a0a !important;
}

.bn-btn--gold:hover {
  filter: brightness(1.05);
}

.bn-btn--ghost {
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--bitnnock-line) !important;
  color: var(--bitnnock-text) !important;
}

.bn-btn--ghost:hover {
  border-color: var(--bitnnock-line-gold) !important;
}

.bn-user-ads .btn--group {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
}

.bn-user-ads .btn-outline--warning,
.bn-user-ads .btn-outline--info,
.bn-user-ads .btn-outline--danger,
.bn-user-ads .btn-outline--success {
  display: inline-flex !important;
  align-items: center;
  gap: 0.25rem;
  min-height: 44px;
  padding: 0 0.75rem !important;
  border-radius: 999px !important;
  font-family: var(--bitnnock-font) !important;
  font-size: 0.75rem !important;
  font-weight: 600 !important;
  background: rgba(255, 255, 255, 0.03) !important;
}

.bn-user-ads .btn-outline--warning {
  border-color: rgba(236, 196, 108, 0.35) !important;
  color: var(--bitnnock-gold) !important;
}

.bn-user-ads .btn-outline--info {
  border-color: rgba(96, 165, 250, 0.35) !important;
  color: #93c5fd !important;
}

.bn-user-ads .btn-outline--danger {
  border-color: rgba(239, 68, 68, 0.35) !important;
  color: #fca5a5 !important;
}

.bn-user-ads .btn-outline--success {
  border-color: rgba(0, 200, 83, 0.35) !important;
  color: var(--bitnnock-green) !important;
}

.bn-page .pb-120 {
  padding-bottom: clamp(3rem, 8vw, 7.5rem);
}

.bn-page .pt-120 {
  padding-top: clamp(1.5rem, 4vw, 2rem);
}

.bn-ads-widget .bn-ads-more-wrap {
  margin-top: 1.25rem;
}

/* Utility classes — replaces scattered inline styles */
.wlfi-container-dash {
  max-width: 1180px;
  margin-inline: auto;
}

.wlfi-card-body-flush .card-body {
  padding: 0 !important;
}

.wlfi-btn--block {
  width: 100%;
}

.wlfi-mt-12 {
  margin-top: 12px;
}

.wlfi-mt-14 {
  margin-top: 14px;
}

.wlfi-mt-16 {
  margin-top: 16px;
}

.wlfi-section-head--mb-lg {
  margin-bottom: 2.5rem;
}

.wlfi-section-head--left-flush {
  text-align: left;
  margin: 0;
}

.bn-trd-field--end {
  align-self: end;
}

.wlfi-img-center-sm {
  max-width: 200px;
  margin-inline: auto;
}

/* Hide legacy theme chrome sitewide when Bitnnock header/footer active */
body:has(.pw-plasma-shell) .scroll-to-top,
body:has(.pw-site-footer) .scroll-to-top,
body:has(.wlf-footer) .scroll-to-top,
body:has(.wlf-header) .footer-section,
body:has(.wlf-header) .header-bottom-area {
  display: none !important;
}

/* Plasma overrides — legacy main.css gold remapped on inner pages */
body.pw-app-site,
body.pw-app-site .pw-app {
  font-family: var(--bitnnock-font) !important;
}

body.pw-app-site .text--base,
body.pw-app-site .base-color,
body.pw-app-site .base--color,
body.pw-app-site a.text--base {
  color: #ecc46c !important;
}

body.pw-app-site .btn--base,
body.pw-app-site .cmn-btn,
body.pw-app-site .btn.cmn-btn {
  background-color: #ecc46c !important;
  border-color: #ecc46c !important;
  color: #000 !important;
}

body.pw-app-site .btn--base:hover,
body.pw-app-site .cmn-btn:hover {
  border-color: #f1dc9d !important;
}

body.pw-app-site ::selection {
  background: #ecc46c !important;
  color: #000 !important;
}

/* Neutralize legacy main.css gold (#d4af37) on Plasma pages */
body.pw-app-site .nav-tabs.custom--style .nav-item .nav-link.active,
body.pw-app-site .pagination .page-item.active .page-link,
body.pw-app-site .page-link.active,
body.pw-app-site .sidebar-menu li a.active,
body.pw-app-site .scroll-to-top {
  background-color: #ecc46c !important;
  border-color: #ecc46c !important;
  color: #000 !important;
}

body.pw-app-site .scroll-to-top .scroll-icon {
  color: #000 !important;
}

body.pw-app-site .border--base,
body.pw-app-site .section-title.has--border::after {
  border-color: #ecc46c !important;
}

body.pw-app-site .custom-checkbox input:checked + label::after,
body.pw-app-site input:focus,
body.pw-app-site textarea:focus,
body.pw-app-site .form-control:focus,
body.pw-app-site .nice-select.open {
  border-color: #ecc46c !important;
  box-shadow: 0 0 0 0.15rem rgba(236, 196, 108, 0.2) !important;
}

body.pw-app-site .btn.btn--danger,
body.pw-app-site .btn--danger {
  background-color: #ef4444 !important;
  border-color: #ef4444 !important;
  color: #fff !important;
}

body.pw-app-site .btn.btn--success,
body.pw-app-site .btn--success {
  background-color: #00c853 !important;
  border-color: #00c853 !important;
  color: #000 !important;
}

body.pw-app-site .btn-outline--success {
  border-color: rgba(0, 200, 83, 0.45) !important;
  color: #86efac !important;
}

body.pw-app-site .btn-outline--success:hover {
  border-color: rgba(0, 200, 83, 0.55) !important;
  color: #bbf7d0 !important;
}

body.pw-app-site .btn-outline--danger {
  border-color: rgba(239, 68, 68, 0.45) !important;
  color: #fca5a5 !important;
}

body.pw-app-site .btn-outline--danger:hover {
  border-color: rgba(239, 68, 68, 0.55) !important;
  color: #fecaca !important;
}

.pw-home ::selection {
  background: #ecc46c !important;
  color: #000 !important;
}

/* Inner pages — prevent main.css legacy gold (#d4af37) from leaking through .btn--base */
body.pw-app-site:not(.home-page) .btn--base,
body.pw-app-site:not(.home-page) .btn.btn--base,
body.pw-app-site:not(.home-page) button.btn--base,
body.pw-app-site:not(.home-page) input.btn--base,
body.pw-app-site:not(.home-page) .cmn-btn,
body.pw-app-site:not(.home-page) .filter--btn.btn--base {
  background-color: #ecc46c !important;
  background-image: none !important;
  border-color: #ecc46c !important;
  color: #000 !important;
}

body.pw-app-site:not(.home-page) .btn--base:hover,
body.pw-app-site:not(.home-page) .btn.btn--base:hover,
body.pw-app-site:not(.home-page) .cmn-btn:hover,
body.pw-app-site:not(.home-page) .filter--btn.btn--base:hover {
  border-color: #f1dc9d !important;
  color: #000 !important;
}

body.pw-app-site:not(.home-page) .btn-outline--base,
body.pw-app-site:not(.home-page) .border-btn {
  border-color: rgba(236, 196, 108, 0.45) !important;
  color: #ecc46c !important;
}

body.pw-app-site:not(.home-page) .btn-outline--base:hover,
body.pw-app-site:not(.home-page) .border-btn:hover {
  border-color: #ecc46c !important;
  color: #fff !important;
}

body.pw-app-site:not(.home-page) .pw-app .text--base,
body.pw-app-site:not(.home-page) .pw-app a.text--base {
  color: #ecc46c !important;
}

body.pw-app-site:not(.home-page) .pw-app .pagination .page-item.active .page-link,
body.pw-app-site:not(.home-page) .pw-app .nav-tabs.custom--style .nav-item .nav-link.active {
  background-color: #ecc46c !important;
  border-color: #ecc46c !important;
  color: #000 !important;
}

/* CMS builder sections — elite template Plasma parity */
.wlfi-section {
  padding: clamp(2.5rem, 5vw, 4rem) 1rem;
  border-top: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.08));
}

.wlfi-section--alt {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.02), transparent 55%);
}

.wlfi-feature-block {
  display: grid;
  gap: 2rem;
  align-items: end;
}

@media (min-width: 992px) {
  .wlfi-feature-block {
    grid-template-columns: 1fr min(42%, 480px);
  }
}

.wlfi-feature-block__media {
  margin: 0;
}

.wlfi-feature-block__media img {
  width: 100%;
  border-radius: 16px;
  border: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.08));
}

.wlfi-payment-logos {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem 1.25rem;
  justify-content: center;
  align-items: center;
}

.wlfi-payment-logos__brand img {
  display: block;
  height: 32px;
  width: auto;
  opacity: 0.88;
  filter: grayscale(0.15);
}

.wlfi-trade-cards__head {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
  margin-bottom: clamp(1.5rem, 3vw, 2rem);
}

@media (min-width: 768px) {
  .wlfi-trade-cards__head {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
  }

  .wlfi-trade-cards__head .bn-ads-tabs {
    margin: 0;
    flex-shrink: 0;
  }
}

.wlfi-trade-cards__thumb {
  width: 100%;
  max-width: 220px;
  height: auto;
  padding: 0;
  border: none;
  background: transparent;
}

.wlfi-trade-cards__thumb img {
  width: 100%;
  height: auto;
  border-radius: 12px;
  border: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.08));
}

/* ==========================================================================
   Dark theme — force readable white text (overrides legacy main.css greys)
   ========================================================================== */

html,
body,
body.pw-app-site,
body.home-page,
.pw-app,
.p2p-dash,
.bn-page,
.wlfi-cms-page {
  color: #ffffff !important;
}

body.pw-app-site .page-wrapper,
body.pw-app-site .section--bg,
body.pw-app-site .account-section,
body.pw-app-site .custom--card,
body.pw-app-site .card,
body.pw-app-site .card-body,
body.pw-app-site .card-header,
body.pw-app-site .card-footer {
  color: #ffffff !important;
}

body.pw-app-site p,
body.pw-app-site span:not(.badge):not([class*="btn"]):not(.pw-hero-badge__pulse):not(.pw-hero-badge__text):not(.pw-hero-ledger-tag__status):not(.p2p-dash__metric-icon):not([class*="__icon-badge"]):not([class*="-icon-badge"]):not([class*="__metric-icon"]),
body.pw-app-site li,
body.pw-app-site dt,
body.pw-app-site dd,
body.pw-app-site label,
body.pw-app-site .form--label,
body.pw-app-site .wlfi-label,
body.pw-app-site h1,
body.pw-app-site h2,
body.pw-app-site h3,
body.pw-app-site h4,
body.pw-app-site h5,
body.pw-app-site h6,
body.pw-app-site .section-title,
body.pw-app-site .page-title,
body.pw-app-site .card-title,
body.pw-app-site .custom--table td,
body.pw-app-site .custom--table th,
body.pw-app-site .table td,
body.pw-app-site .table th,
body.pw-app-site .list-group-item,
body.pw-app-site .breadcrumb-item,
body.pw-app-site .breadcrumb-item a,
body.pw-app-site .text-dark,
body.pw-app-site .text-muted,
body.pw-app-site small,
body.pw-app-site .small,
.p2p-dash p,
.p2p-dash span:not(.badge):not([class*="btn"]):not(.p2p-dash__metric-icon):not([class*="__icon-badge"]):not([class*="-icon-badge"]):not([class*="__metric-icon"]),
.p2p-dash li,
.p2p-dash label,
.p2p-dash h1,
.p2p-dash h2,
.p2p-dash h3,
.p2p-dash h4,
.p2p-dash h5,
.p2p-dash h6,
.p2p-dash .p2p-dash__stat-label,
.p2p-dash .p2p-dash__meta dt,
.p2p-dash .p2p-dash__trade-meta,
.p2p-dash .p2p-dash__notify-time {
  color: #ffffff !important;
}

/* Legacy main.css dark greys on black backgrounds */
body.pw-app-site [style*="color: #363636"],
body.pw-app-site [style*="color:#363636"],
body.pw-app-site .text--secondary,
body.pw-app-site .caption,
body.pw-app-site .subtitle,
body.pw-app-site .para,
body.pw-app-site .account-card__title,
body.pw-app-site .d-widget p,
body.pw-app-site .sidebar-menu li a,
body.pw-app-site .sidebar-menu li span {
  color: #ffffff !important;
}

body.pw-app-site .custom--table td,
body.pw-app-site .table.style--two td,
body.pw-app-site .custom--table tbody td,
body.pw-app-site .table tbody td {
  color: #ffffff !important;
}

body.pw-app-site .custom--table thead th,
body.pw-app-site .table thead th {
  color: #e7e5e4 !important;
}

body.pw-app-site label,
body.pw-app-site .form--label,
.p2p-dash label {
  color: #e7e5e4 !important;
}

/* Keep accent / status colors */
body.pw-app-site .text--base,
body.pw-app-site a.text--base,
body.pw-app-site .base-color,
.p2p-dash .text--base,
.p2p-dash a.text--base {
  color: #ecc46c !important;
}

body.pw-app-site .btn--base,
body.pw-app-site .cmn-btn,
body.pw-app-site .wlfi-btn--primary,
body.pw-app-site .bn-btn--gold,
.p2p-dash .btn--base {
  color: #000 !important;
}

body.pw-app-site .badge--buy,
body.pw-app-site .badge--success,
.p2p-dash .badge--success {
  color: #86efac !important;
}

body.pw-app-site .badge--sell {
  color: #f1dc9d !important;
}

body.pw-app-site .badge--danger,
.p2p-dash .badge--danger,
.p2p-dash .text-danger {
  color: #fca5a5 !important;
}

body.pw-app-site a:not(.btn):not(.nav-link):not(.pw-user-nav__item):not(.text--base) {
  color: #ffffff;
}

/* Exclude .is-active/.active pill-style tabs (e.g. .pw-trade-nav__item.is-active,
   .pw-user-nav__item.is-active, .p2p-wallets__chip.is-active) - these render a
   solid gold background for their selected state, so forcing gold text here
   made the label unreadable on hover (gold-on-gold). Those components already
   set their own high-contrast hover/active colors above. */
body.pw-app-site a:not(.btn):not(.nav-link):not(.is-active):not(.active):hover {
  color: #ecc46c !important;
}

/* Home page Plasma sections */
body.home-page .wlfi-section-head p,
body.home-page .wlfi-feature__text,
body.home-page .wlfi-testimonial-card__text,
body.home-page .wlfi-faq__a p,
body.home-page .bn-prose p,
body.home-page .bn-prose li {
  color: #ffffff !important;
}

/* ==========================================================================
   Batch 6 — Disputes & static pages alignment
   ========================================================================== */

/* Breadcrumb — centered title per wlfi-breadcrumb */
.bn-inner-hero.wlfi-breadcrumb {
  text-align: center;
}

.wlfi-breadcrumb__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.wlfi-breadcrumb .page-title {
  width: 100%;
  text-align: center;
  margin: 0;
}

/* Dispute meta dl/dt/dd grid */
.trd-dispute-meta {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin: 0;
}

.trd-dispute-meta > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.trd-dispute-meta__wide {
  grid-column: 1 / -1;
}

.trd-dispute-meta dt {
  margin: 0;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--bitnnock-muted, #9ca3af);
}

.trd-dispute-meta dd {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 600;
  color: #fff;
  line-height: 1.45;
  word-break: break-word;
}

.trd-list-panel--cards-only .trd-list-cards,
.trd-list-panel:not(.trd-list-responsive) .trd-list-cards {
  display: grid !important;
}

.trd-list-panel--cards-only .trd-list-table-wrap {
  display: none !important;
}

.trd-list-subsection {
  margin-top: 1.5rem;
}

.trd-list-title--sm {
  font-size: 1.25rem;
  margin: 0 0 0.75rem;
}

.trd-list-card__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.08));
}

.trd-list-card__foot--spaced {
  margin-top: 1.5rem;
}

.trd-list-card__link {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--bitnnock-gold, #ecc46c) !important;
  text-decoration: none !important;
  transition: color 0.2s;
}

.trd-list-card__link:hover {
  color: #fff !important;
}

.trd-list-empty__title {
  margin: 0 0 0.5rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #fff;
}

/* Contact — equal-height two-column cards */
.wlfi-contact .bn-contact-grid--equal {
  align-items: stretch;
}

.wlfi-contact .bn-contact-card--form,
.wlfi-contact .bn-contact-card--aside {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.wlfi-contact__aside {
  min-height: 0;
}

/* FAQ accordion — full width stack */
.wlfi-faq-layout--full {
  grid-template-columns: 1fr !important;
}

.wlfi-faq-layout--full .wlfi-faq {
  width: 100%;
}

.wlfi-section-head--left {
  text-align: left;
  margin-left: 0;
  margin-right: auto;
}

/* Footer — stacked mobile, aligned columns desktop */
.wlf-footer__grid {
  grid-template-columns: 1fr;
}

.wlf-footer__col {
  min-width: 0;
}

@media (min-width: 576px) {
  .wlf-footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 992px) {
  .wlf-footer__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: start;
  }
}

/* Static CMS pages — consistent shell padding with breadcrumb */
body.pw-app-site .wlfi-cms-page.bn-page {
  padding-bottom: clamp(2rem, 5vw, 4rem);
}

@media (max-width: 991px) {
  .pw-home #main,
  .pw-home .pw-plasma-shell,
  .pw-home .section#buy-sell {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
  }

  .pw-home .pw-marketing .w-col {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .wlfi-cms-page .wlfi-wrap {
    max-width: calc(100% - 2.5rem);
  }

  .wlfi-cms-page__wrap {
    padding-inline: clamp(1rem, 3vw, 1.5rem);
  }

  .wlfi-cms-page .wlfi-section {
    padding-inline: clamp(1rem, 3vw, 1.5rem);
  }

  .p2p-dash__wrap,
  .bn-trd-wrap,
  .trd-live-wrap,
  .wlfi-contact__wrap,
  .wlfi-kyc__wrap,
  .wlfi-tkt__wrap,
  .wlfi-stk__wrap,
  .wlfi-ref__wrap {
    padding-inline: clamp(0.875rem, 3vw, 1.25rem);
  }

  .wlfi-contact .wlfi-section {
    padding-inline: clamp(1rem, 3vw, 1.5rem);
  }

  .bn-page--market.bn-market--browse .p2p-dash__wrap {
    padding-inline: clamp(0.875rem, 3vw, 1.25rem);
  }
}

/* Prevent stray wide tables/inputs from causing horizontal page scroll */
body.pw-app-site,
body.pw-app {
  overflow-x: clip;
}

body.pw-app-site.bn-ad-wizard-select2-open,
body.pw-app.bn-ad-wizard-select2-open,
body.pw-app-site.pw-app-select2-open,
body.pw-app.pw-app-select2-open,
.bn-ad--wizard.bn-ad-wizard-select2-open,
.pw-app.pw-app-select2-open,
.p2p-dash.pw-app-select2-open {
  overflow: visible;
}

.wlfi-cms-page--sections .wlfi-section:first-child {
  border-top: none;
}

body.pw-app-site .bn-maintenance {
  min-height: calc(100vh - 72px);
}

@media (max-width: 767px) {
  .trd-dispute-meta {
    grid-template-columns: 1fr;
  }

  .wlfi-contact .bn-contact-grid--equal {
    gap: 1.25rem;
  }
}

/* Trade request page — neutralize legacy main.css white form card on Plasma */
body.pw-app-site .trd-page .trade-request-form {
  padding: 1.5rem 0 0 !important;
  margin: 0 !important;
  background: transparent !important;
  border: none !important;
  border-top: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.1)) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

body.pw-app-site .trd-page .trade-request-details-list {
  padding: 0 !important;
  background: transparent !important;
}

body.pw-app-site .trd-page .trade-request-details-list li {
  border-bottom: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.1)) !important;
}

body.pw-app-site .trd-page .trade-request-form .trd-label,
body.pw-app-site .trd-page .trade-request-form .trd-form-title,
body.pw-app-site .trd-page .trade-request-form .trd-hint,
body.pw-app-site .trd-page .trade-request-form .trd-field-note {
  color: var(--bitnnock-muted, #e7e5e4) !important;
}

body.pw-app-site .trd-page .trade-request-form .trd-form-title {
  color: #ffffff !important;
}

/* Trade details live chat — neutralize legacy main.css white chat card */
body.pw-app-site .trd-live .chat-box,
body.pw-app-site .trd-live-chat .chat-box.trd-chat {
  background: transparent !important;
  box-shadow: none !important;
  border-radius: 0 !important;
}

body.pw-app-site .trd-live .chat-box__header {
  background: rgba(19, 16, 13, 0.35) !important;
  border-bottom: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.1)) !important;
}

body.pw-app-site .trd-live .chat-box__thread {
  background: transparent !important;
}

body.pw-app-site .trd-live .chat-box__footer {
  background: rgba(19, 16, 13, 0.35) !important;
}

body.pw-app-site .trd-live .single-message.message--left .message-content,
body.pw-app-site .trd-live .single-message.message--right .message-content {
  background: transparent !important;
  border: none !important;
}

body.pw-app-site .trd-live .single-message .message-text {
  color: #e7e5e4 !important;
}

body.pw-app-site .trd-live .single-message .message-time {
  color: #a8a29e !important;
}

body.pw-app-site .trd-live .chat-author .content .name {
  color: var(--bitnnock-gold, #ecc46c) !important;
}

/* Legacy main.css white cards — global Plasma safety net */
body.pw-app-site .create-trade-form,
body.pw-app-site .trade-request-form:not(.trd-page .trade-request-form) {
  background: transparent !important;
  box-shadow: none !important;
}

body.pw-app-site .chat-box:not(.trd-chat) {
  background: var(--bitnnock-surface, #1c1712) !important;
  color: var(--bitnnock-text, #fff) !important;
  border: 1px solid var(--bitnnock-line, rgba(255, 255, 255, 0.1)) !important;
}

body.pw-app-site .chat-box:not(.trd-chat) .chat-box__header,
body.pw-app-site .chat-box:not(.trd-chat) .chat-box__footer {
  /* Matches the box's own surface — was identical to the box (#000000 vs
     #000000) pre-warming, kept identical here rather than introducing a new
     two-tone relationship that wasn't there before. */
  background: var(--bitnnock-surface, #1c1712) !important;
  border-color: var(--bitnnock-line, rgba(255, 255, 255, 0.1)) !important;
}

body.pw-app-site .chat-box:not(.trd-chat) .chat-box__thread {
  background: transparent !important;
}

body.pw-app-site .trd-widget__copy--mono {
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
  font-size: 13px;
  line-height: 1.6;
  padding: 12px;
  border-radius: 10px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(19, 16, 13, 0.35);
  color: #fff !important;
}

/* Site page canvas — warm dark-brown background throughout (matches
   worldlibertyfinancial.com's #171412 resting page background rather than
   neutral black). This html/body !important rule is the single most
   authoritative page-background declaration on the site. */
:root {
  --bn-page-canvas: #13100d;
}

html,
body,
body.pw-app-site,
html:has(body.pw-app-site),
body.home-page,
html:has(body.home-page),
body:has(.pw-home),
html:has(.pw-home),
.page-wrapper,
.body-bg,
.schwab-main-wrapper,
.schwab-content-area {
  background: #13100d !important;
  background-color: #13100d !important;
}

body.pw-app-site .page-wrapper,
body.pw-app-site .section--bg,
body.pw-app-site .section--xl,
body.pw-app-site .account-section {
  background: transparent !important;
}

/* Full-page shells — transparent so the black canvas shows through */
.pw-app,
.p2p-dash,
.pw-home,
.wlf-auth,
.bn-page,
.bn-maintenance,
.dash-shell,
.bn-ad-shell,
.bn-trd-shell,
.bn-rev-shell,
.trd-shell,
.trd-live-shell,
.trd-list-shell,
.trd-live,
.bn-market-search,
.bn-prose-wrap {
  background: transparent !important;
}

/* Page canvas tokens — warm dark-brown bg; warm-lifted surfaces on panels */
:root,
body.pw-app-site,
body.pw-app-site .pw-app,
.p2p-dash,
.trd-live,
.trd-list,
.bn-ad-shell,
.bn-trd-shell,
.bn-rev-shell,
.dash-shell {
  --bn-bg: #13100d;
  --wlfi-bg: #13100d;
  --p2p-bg: #13100d;
  --bn-surface: #1c1712;
  --bn-surface-2: #221c15;
}

body.home-page .pw-home {
  background: #13100d !important;
}

.pw-marketing,
.pw-marketplace,
.pw-embedded,
.pw-home .wlfi-tools {
  background: transparent !important;
}

.pw-live-bridge {
  background: var(--bn-panel-gradient) !important;
}

.pw-home .pw-marketplace-hub {
  background: radial-gradient(ellipse 80% 45% at 50% 0%, rgba(236, 196, 108, 0.1), transparent 68%), var(--bn-panel-gradient) !important;
}

.trd-live-shell,
.trd-list-shell,
.bn-trd-shell,
.bn-ad-shell,
.bn-rev-shell,
.dash-shell,
.p2p-dash {
  background: transparent !important;
}

/* ==========================================================================
   Section depth — 3D elevation & readable section separation
   Section depth — borders on black canvas (no grey panels)
   ========================================================================== */

:root {
  /* Flattened from a beveled-edge/multi-layer-shadow "elevation" system
     to a plain hairline border, matching a clean reference fintech site
     (worldlibertyfinancial.com) where cards carry almost no shadow at
     rest and hover only brightens the border - no lift, no glow, no
     inset highlight/shade pair faking a raised bevel. border-top no
     longer differs from the base border color for the same reason.

     "Almost no shadow" turned out to read as "no visible container" once
     combined with a fill that was literally identical to the page
     background - a single soft, neutral drop shadow (no inset lines, no
     color) restored below gives just enough separation from the page to
     read as solid without bringing back the old raised-bevel look. */
  --bn-elev-border: rgba(255, 255, 255, 0.16);
  --bn-elev-border-strong: rgba(255, 255, 255, 0.22);
  --bn-elev-border-top: rgba(255, 255, 255, 0.16);
  --bn-elev-rim: rgba(236, 196, 108, 0.32);
  --bn-elev-shadow-sm: 0 2px 10px rgba(0, 0, 0, 0.4);
  --bn-elev-shadow-md: 0 4px 18px rgba(0, 0, 0, 0.45);
  --bn-elev-shadow-lg: 0 6px 24px rgba(0, 0, 0, 0.5);
  --bn-elev-shadow-xl: 0 8px 32px rgba(0, 0, 0, 0.55);
  --bn-elev-shadow-hover: 0 8px 26px rgba(0, 0, 0, 0.5);
  /* Warm-lifted to match --bitnnock-surface/-2 - this is the primary
     card/panel fill token used across the app shell (p2p-dash, trd-*,
     bn-ad-*, bn-rev-*, etc.), so it needs the same warm-brown treatment
     as every other surface token, not the old neutral #121214/#17171a. */
  --bn-panel-gradient: #1c1712;
  --bn-panel-gradient-hover: #221c15;
  --bn-section-band-a: #13100d;
  --bn-section-band-b: #13100d;
  --bn-section-band-c: #13100d;
  --bn-section-gap: clamp(4rem, 8vw, 7rem);
  --bn-section-inset: clamp(0.75rem, 3vw, 2rem);
  --bn-panel-radius: 16px;
  --bn-depth-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* ── App pages: floating 3D panels ── */
.p2p-dash__panel,
.trd-live-panel,
.bn-ad-panel,
.trd-review__card,
.trd-live-review--prominent .trd-review__card,
body.pw-app-site .bn-contact-card,
body.pw-app-site .bn-page .custom--card:not(.bn-ad-index-list .custom--card),
.p2p-dash__stat,
.bn-rev-card {
  border: 1px solid var(--bn-elev-border) !important;
  border-top-color: var(--bn-elev-border-top) !important;
  border-radius: var(--bn-panel-radius) !important;
  box-shadow: var(--bn-elev-shadow-md) !important;
  transition:
    transform 0.28s var(--bn-depth-ease),
    box-shadow 0.28s var(--bn-depth-ease),
    border-color 0.28s var(--bn-depth-ease);
}

.p2p-dash__panel {
  margin-bottom: clamp(1.25rem, 2.5vw, 1.75rem) !important;
  background: var(--bn-panel-gradient) !important;
}

.trd-live-panel {
  background: var(--bn-panel-gradient) !important;
}

.bn-ad-panel {
  background: var(--bn-panel-gradient) !important;
}

.trd-review__card,
.bn-rev-card {
  background: var(--bn-panel-gradient) !important;
}

/* .p2p-dash__panel itself intentionally excluded: it's the generic section
   wrapper used for plain content/form containers (filters, "how much do you
   want to buy" forms, offer summaries, profile cards, etc.) across every
   dashboard page - never a single clickable unit on its own. Brightening its
   border gold + lifting it 2px on hover made static, non-clickable boxes
   look like buttons (any hover inside them, even over blank padding or
   labels, lit the whole panel up), which read as a rendering bug rather
   than an affordance. The classes below are genuinely card-like, individually
   clickable/interactive components, so they keep the hover treatment. */
.trd-live-panel:hover,
.bn-ad-panel:hover,
.trd-review__card:hover,
body.pw-app-site .bn-contact-card:hover,
.bn-rev-card:hover {
  box-shadow: var(--bn-elev-shadow-hover) !important;
  border-color: var(--bn-elev-rim) !important;
}

.p2p-dash__panel-head,
.trd-live-panel__head,
.bn-ad-panel--steps {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.04) 0%, transparent 100%);
}

.p2p-dash__grid {
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

.trd-live-grid {
  gap: clamp(1.25rem, 2.5vw, 2rem) !important;
}

/* ── Homepage: floating 3D section slabs on black canvas ── */
.pw-home .pw-marketing,
.pw-home .pw-marketplace,
.pw-home .pw-embedded {
  background: transparent !important;
}

/*
 * z-index: 7 here (> the Living Ledger canvas's z-index: 6, see
 * bn-ambient-background.css) makes every section its own opaque surface
 * that occludes the canvas, instead of the canvas's continuous
 * mix-blend-mode: screen animation painting over each section's
 * background forever. This used to be section-9-only, added after that
 * one section got reported as having a "changing"/"two-tone" background;
 * investigating further showed the same canvas-blend drift (7-12 RGB
 * values, confirmed by sampling the same pixel repeatedly over a few
 * seconds with no interaction) measurably affects every section's plain
 * background, not just that one - section-9 just has an unusually large
 * plain area for it to be visible against. Fixing it section-by-section
 * as each one got reported was chasing symptoms of the same root cause;
 * this occludes the canvas for every section once, at the source. Only
 * #buy-sell (the hero) is deliberately excluded - it's the one place
 * the animation is actually meant to be seen doing its thing.
 */
.pw-home [data-pw-section]:not(#live-terminal):not(#buy-sell) {
  position: relative;
  isolation: isolate;
  z-index: 7;
  padding-top: var(--bn-section-gap) !important;
  padding-bottom: var(--bn-section-gap) !important;
}

.pw-home #live-terminal[data-pw-section] {
  position: relative;
  isolation: isolate;
  z-index: 7;
}

.pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal):not(.wlfi-offers) {
  margin-inline: var(--bn-section-inset);
  margin-bottom: clamp(1.25rem, 3vw, 2rem);
  padding-inline: clamp(1rem, 3vw, 2rem);
  border-radius: calc(var(--bn-panel-radius) + 6px);
  /* Uniform border on all four sides - was a lighter top-edge tint (a
     leftover rim-highlight from the old beveled slab look) that no longer
     matches the flat hairline-border treatment used everywhere else. */
  border: 1px solid var(--bn-elev-border-strong);
  /* Left transparent on purpose: user prefers the Living Ledger canvas
     visible through every section, not just the gaps between them (like
     #buy-sell already does). z-index:7 above (still present, unchanged)
     keeps this from ever being painted OVER by the canvas - it just no
     longer paints an opaque fill that would hide the canvas from behind. */
  box-shadow: var(--bn-elev-shadow-xl);
  transition:
    box-shadow 0.35s var(--bn-depth-ease),
    border-color 0.35s var(--bn-depth-ease);
}

.pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal):hover {
  box-shadow: var(--bn-elev-shadow-hover);
  border-color: var(--bn-elev-rim);
}

.pw-home [data-pw-section] > * {
  position: relative;
  z-index: 1;
}

.pw-home #buy-sell {
  padding-top: calc(7.25rem + env(safe-area-inset-top, 0px)) !important;
  margin-bottom: clamp(1rem, 2.5vw, 1.5rem);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
}

/* Legacy band fills — inherit from floating slab, no flat override */
.pw-home .pw-marketing .section-9,
.pw-home .wlfi-partners,
.pw-home .wlfi-markets,
.pw-home .pw-marketplace-hub,
.pw-home .pw-marketing .section-10,
.pw-home .pw-marketing .section-11,
.pw-home .pw-trade-finder,
.pw-home .wlfi-products,
.pw-home .wlfi-join,
.pw-home .wlfi-tools {
  background: transparent !important;
  box-shadow: none !important;
}

.pw-home .pw-marketing .section-10 {
  box-shadow: none !important;
}

/* Section headings — accent underline */
.pw-home .wlfi-section-head::after,
.pw-home .pw-features-headline::after,
.pw-home .heading-9-copy._10::after {
  content: "";
  display: block;
  width: 56px;
  height: 3px;
  margin: 1rem auto 0;
  border-radius: 999px;
  /* Flat solid gold, no glow - matches the hairline/no-bevel treatment
     applied to every other gradient+glow accent on the site. */
  background: var(--bitnnock-gold);
}

.pw-home .wlfi-section-head--left::after,
.pw-home .wlfi-heading-md--left + .wlfi-subheading--left ~ *::after {
  margin-inline: 0;
}

/* 3D cards — homepage + nested tiles */
.pw-home .pw-feature-card,
.pw-home .pw-marketplace-hub__highlight,
.pw-home .wlfi-how__item,
.pw-home .pw-form-panel,
.pw-home .wlfi-card,
.pw-home .wlfi-markets__row,
.pw-home .wlfi-tool,
.pw-home .wlfi-review,
.pw-home .wlfi-faq__item,
.pw-home .wlfi-choose__item,
.pw-home .wlfi-overview-strip__item,
.pw-home .wlfi-testimonial-card,
.pw-home .wlfi-terminal,
.pw-home .pw-terminal-section .wlfi-terminal {
  border: 1px solid var(--bn-elev-border) !important;
  border-top-color: var(--bn-elev-border-top) !important;
  border-radius: var(--bn-panel-radius) !important;
  box-shadow: var(--bn-elev-shadow-md) !important;
  background: var(--bn-panel-gradient) !important;
  transition:
    box-shadow 0.3s var(--bn-depth-ease),
    border-color 0.3s var(--bn-depth-ease),
    background 0.3s var(--bn-depth-ease);
}

.pw-home .pw-feature-card:hover,
.pw-home .pw-marketplace-hub__highlight:hover,
.pw-home .wlfi-how__item:hover,
.pw-home .wlfi-card:hover,
.pw-home .wlfi-markets__row:hover,
.pw-home .wlfi-tool:hover,
.pw-home .wlfi-review:hover,
.pw-home .wlfi-faq__item:hover,
.pw-home .wlfi-choose__item:hover {
  box-shadow: var(--bn-elev-shadow-hover) !important;
  border-color: var(--bn-elev-rim) !important;
}

.pw-home .pw-form-panel {
  padding: clamp(1.25rem, 3vw, 2rem) !important;
  margin-top: clamp(1rem, 2.5vw, 1.75rem) !important;
}

/* Marketplace widget panel inside homepage */
.pw-home .pw-marketplace .bn-ads-widget .bn-ads-panel {
  border: 1px solid var(--bn-elev-border-strong) !important;
  border-top-color: var(--bn-elev-border-top) !important;
  box-shadow: var(--bn-elev-shadow-lg) !important;
  background: var(--bn-panel-gradient) !important;
}

.pw-home .pw-live-bridge {
  margin-inline: var(--bn-section-inset);
  border-radius: var(--bn-panel-radius);
  border: 1px solid var(--bn-elev-border);
  box-shadow: var(--bn-elev-shadow-md);
  background: var(--bn-panel-gradient) !important;
}

/* Inner app section titles — higher contrast */
.p2p-dash__panel-title,
.trd-live-title,
.bn-ad-head__title,
.trd-review__title,
.pw-home .wlfi-heading-md,
.pw-home .wlfi-section-head h2,
.pw-home .heading-9-copy {
  letter-spacing: -0.01em;
  color: #ffffff !important;
}

.p2p-dash__panel-desc,
.trd-live-subtitle,
.trd-review__lead,
.pw-home .wlfi-subheading,
.pw-home .paragraph {
  opacity: 1;
  color: #d4d4d8 !important;
}

@media (prefers-reduced-motion: reduce) {
  .p2p-dash__panel,
  .trd-live-panel,
  .bn-ad-panel,
  .trd-review__card,
  .pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal),
  .pw-home .pw-feature-card,
  .pw-home .pw-marketplace-hub__highlight,
  .pw-home .wlfi-how__item,
  .pw-home .wlfi-card,
  .pw-home .wlfi-markets__row,
  .pw-home .wlfi-tool,
  .pw-home .wlfi-faq__item {
    transition: none !important;
  }

  .p2p-dash__panel:hover,
  .trd-live-panel:hover,
  .bn-ad-panel:hover,
  .pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal):hover,
  .pw-home .pw-feature-card:hover,
  .pw-home .pw-marketplace-hub__highlight:hover {
    transform: none !important;
  }
}

/* ==========================================================================
   Mobile + tablet — color parity (matches desktop theme)
   Warm canvas + header; warm panels on all breakpoints
   ========================================================================== */

/* Tablet (768px–1023px) */
@media (min-width: 768px) and (max-width: 1023px) {
  html,
  body,
  body.home-page,
  body.pw-app-site,
  body:has(.pw-home),
  .pw-plasma-shell .navbar_component {
    background-color: #13100d !important;
  }

  .pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal) {
    margin-inline: clamp(1rem, 2.5vw, 1.75rem);
    box-shadow: var(--bn-elev-shadow-lg);
  }

  .pw-home .text-block-5,
  .pw-home .text-block-6:not(.pw-dashboard-sub),
  .pw-home .text-block-7,
  .pw-home .text-block-8,
  .pw-home .text-block-9,
  .pw-home .text-block-10,
  .pw-home .wlfi-subheading,
  .pw-home .paragraph {
    color: #d1d1d6 !important;
  }

  .p2p-dash__panel,
  .trd-live-panel,
  .bn-ad-panel,
  body.pw-app-site .custom--card,
  body.pw-app-site .bn-ads-widget .bn-ads-panel {
    background: var(--bn-panel-gradient) !important;
    box-shadow: var(--bn-elev-shadow-md) !important;
  }
}

/* Mobile (≤767px) */
@media (max-width: 767px) {
  :root {
    --bn-section-inset: clamp(0.5rem, 2.5vw, 1rem);
    --bn-section-gap: clamp(2.25rem, 6vw, 3.5rem);
  }

  /* Page canvas + header stay on the warm dark-brown base */
  html,
  body,
  body.pw-app-site,
  body.home-page,
  body:has(.pw-home),
  html body:has(.pw-home),
  .pw-plasma-shell .navbar_component,
  .pw-unified-nav.navbar_component {
    background-color: #13100d !important;
  }

  body.pw-app-site .page-wrapper,
  body:has(.pw-home) .page-wrapper,
  .pw-home {
    background: transparent !important;
  }

  /* Homepage floating section slabs */
  .pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal) {
    margin-inline: var(--bn-section-inset);
    margin-bottom: clamp(0.875rem, 2.5vw, 1.25rem);
    padding-inline: clamp(0.75rem, 3vw, 1.25rem);
    padding-top: var(--bn-section-gap) !important;
    padding-bottom: var(--bn-section-gap) !important;
    border-radius: calc(var(--bn-panel-radius) + 2px);
    border-color: var(--bn-elev-border-strong);
    box-shadow: var(--bn-elev-shadow-lg);
  }

  .pw-home #buy-sell {
    margin-inline: 0;
    border-radius: 0;
    box-shadow: 0 8px 28px rgba(0, 0, 0, 0.45);
    background: transparent !important;
  }

  .pw-home .pw-marketing,
  .pw-home .pw-marketplace,
  .pw-home .pw-embedded {
    background: transparent !important;
  }

  .pw-home .pw-live-bridge {
    margin-inline: var(--bn-section-inset);
    background: var(--bn-panel-gradient) !important;
    border: 1px solid var(--bn-elev-border) !important;
    box-shadow: var(--bn-elev-shadow-md) !important;
  }

  /* Nested cards — keep 3D on small screens (no hover tilt) */
  .pw-home .pw-feature-card,
  .pw-home .pw-marketplace-hub__highlight,
  .pw-home .wlfi-how__item,
  .pw-home .wlfi-card,
  .pw-home .wlfi-markets__row,
  .pw-home .wlfi-tool,
  .pw-home .wlfi-faq__item,
  .pw-home .wlfi-review,
  .pw-home .pw-form-panel {
    background: var(--bn-panel-gradient) !important;
    border: 1px solid var(--bn-elev-border) !important;
    border-top-color: var(--bn-elev-border-top) !important;
    box-shadow: var(--bn-elev-shadow-sm) !important;
  }

  /* Brighter muted text on small screens (outdoor / low brightness) */
  .pw-home .text-block-5,
  .pw-home .text-block-6:not(.pw-dashboard-sub),
  .pw-home .text-block-7,
  .pw-home .text-block-8,
  .pw-home .text-block-9,
  .pw-home .text-block-10,
  .pw-home .wlfi-subheading,
  .pw-home .paragraph,
  body.home-page .text-muted,
  body.pw-app-site .text-muted {
    color: #d1d1d6 !important;
  }

  .pw-home .wlfi-heading-md,
  .pw-home .heading-9-copy,
  .p2p-dash__panel-title,
  .trd-live-title {
    color: #ffffff !important;
  }

  /* App panels + cards */
  .p2p-dash__panel,
  .trd-live-panel,
  .bn-ad-panel,
  .trd-review__card,
  .p2p-dash__stat,
  body.pw-app-site .custom--card,
  body.pw-app-site .card.custom--card,
  body.pw-app-site .bn-ads-widget .bn-ads-panel,
  body.pw-app-site .bn-market-search__panel,
  body.pw-app-site .trd-list-card,
  body.pw-app-site .wlf-auth__card,
  body.pw-app-site .modal-content,
  body.pw-app-site .bn-contact-card {
    background: var(--bn-panel-gradient) !important;
    border: 1px solid var(--bn-elev-border) !important;
    border-top-color: var(--bn-elev-border-top) !important;
    box-shadow: var(--bn-elev-shadow-md) !important;
  }

  body.pw-app-site .wlfi-breadcrumb,
  body.pw-app-site .bn-market-search {
    background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(236, 196, 108, 0.1), transparent 70%), var(--bn-panel-gradient) !important;
    box-shadow: 0 6px 24px rgba(0, 0, 0, 0.4) !important;
  }

  .bn-page--market.bn-market--browse .bn-market__hero,
  body.pw-app-site .bn-page--market.bn-market--browse {
    background: transparent !important;
  }

  body.pw-app-site .bn-page--market.bn-market--browse .bn-market__hero {
    background:
      radial-gradient(ellipse 80% 60% at 100% 0%, rgba(236, 196, 108, 0.12), transparent 55%),
      var(--bn-panel-gradient) !important;
    border: 1px solid var(--bn-elev-border) !important;
    box-shadow: var(--bn-elev-shadow-md) !important;
  }

  /* Legacy main.css white / aliceblue rows on mobile tables */
  body.pw-app-site .table-responsive--lg tbody tr:nth-child(odd),
  body.pw-app-site .table-responsive--lg tbody tr:nth-child(even),
  body.pw-app-site .table-responsive--md tbody tr:nth-child(odd),
  body.pw-app-site .table-responsive--md tbody tr:nth-child(even),
  .p2p-dash .table-responsive--md tbody tr:nth-child(odd),
  .p2p-dash .table-responsive--md tbody tr:nth-child(even) {
    background-color: var(--bitnnock-surface) !important;
  }

  body.pw-app-site .table-responsive--lg tbody tr:nth-child(odd),
  .p2p-dash .table-responsive--md tbody tr:nth-child(odd) {
    background-color: var(--bitnnock-surface) !important;
  }

  body.pw-app-site .table-responsive--lg tr th,
  body.pw-app-site .table-responsive--lg tr td,
  body.pw-app-site .table-responsive--md tr th,
  body.pw-app-site .table-responsive--md tr td {
    color: #ffffff !important;
    border-color: rgba(255, 255, 255, 0.1) !important;
  }

  body.pw-app-site .table-responsive--lg [data-label]::before {
    color: #c4c4c8 !important;
  }

  /* Select2 / dropdowns on touch devices */
  body.pw-app-site .select2-dropdown,
  .pw-home .select2-dropdown,
  body.pw-app-site .bn-ad-step__switcher-list,
  body.pw-app-site .currency_switcher__list {
    background: var(--bitnnock-surface) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
  }

  body.pw-app-site .select2-results__option--selectable,
  .pw-home .select2-results__option--selectable {
    color: #ffffff !important;
  }

  /* Mobile nav drawer — dark chrome (header family) */
  .pw-plasma-drawer {
    background: var(--bitnnock-surface) !important;
    border-left-color: rgba(255, 255, 255, 0.12) !important;
  }

  .footer-section {
    background: var(--bn-panel-gradient) !important;
    border-top-color: var(--bn-elev-border-strong) !important;
  }
}

/* Small phones (≤479px) */
@media (max-width: 479px) {
  .pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal) {
    margin-inline: 0.375rem;
    border-radius: 16px;
  }

  .pw-home .pw-feature-card {
    height: auto;
    min-height: 420px;
    padding: 1.5rem 1.25rem;
  }

  .p2p-dash__panel,
  body.pw-app-site .custom--card,
  body.pw-app-site .bn-ads-widget .bn-ads-panel {
    border-radius: 16px !important;
  }
}

/* ==========================================================================
   Dark theme — eliminate invisible black / near-black text
   Keeps #000 only on light or gradient surfaces (primary buttons, badges).
   ========================================================================== */

body.pw-app-site,
body.home-page {
  --bn-readable-text: #ffffff;
  --bn-readable-muted: #a8a29e;
  --heading-color: 0 0% 100%;
  --body-color: 0 0% 90%;
  --bs-body-color: #ffffff;
  --bs-secondary-color: #a8a29e;
  --bs-emphasis-color: #ffffff;
}

/* Bootstrap + legacy dark text utilities */
body.pw-app-site .text-dark,
body.pw-app-site .text-black,
body.pw-app-site .text-body,
body.pw-app-site .text-reset,
body.pw-app-site .text--dark,
body.pw-app-site .text--black,
body.pw-app-site [class*="text-dark"],
body.pw-app-site [class*="text-black"],
body.home-page .text-dark,
body.home-page .text-black,
body.home-page .text-body,
body.home-page .text-reset,
body.home-page .text--dark,
body.home-page .text--black,
body.home-page [class*="text-dark"],
body.home-page [class*="text-black"],
.pw-home .text-dark,
.pw-home .text-black,
.pw-home .text--dark,
.pw-home .text--black {
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .text-muted,
body.pw-app-site .text-secondary,
body.pw-app-site .text--secondary,
body.pw-app-site .text--gray,
body.pw-app-site .h--color,
body.pw-app-site .p--color,
body.home-page .text-muted,
body.home-page .text-secondary,
body.home-page .text--secondary,
body.home-page .h--color,
.pw-home .text-muted,
.pw-home .h--color,
.pw-home .p--color {
  color: var(--bn-readable-muted) !important;
}

body.pw-app-site .badge--dark,
body.home-page .badge--dark,
.pw-home .badge--dark {
  background-color: rgba(255, 255, 255, 0.08) !important;
  border-color: rgba(255, 255, 255, 0.18) !important;
  color: var(--bn-readable-text) !important;
}

/* Homepage — mirror inner-app readable text on all common elements */
body.home-page p,
body.home-page span:not(.badge):not([class*="btn"]):not(.pw-hero-badge__pulse):not(.pw-hero-badge__text):not(.pw-hero-ledger-tag__status),
body.home-page li,
body.home-page dt,
body.home-page dd,
body.home-page label,
body.home-page .form--label,
body.home-page .wlfi-label,
body.home-page h1,
body.home-page h2,
body.home-page h3,
body.home-page h4,
body.home-page h5,
body.home-page h6,
body.home-page .section-title,
body.home-page .card-title,
body.home-page .table td,
body.home-page .table th,
body.home-page .list-group-item,
.pw-home p,
.pw-home span:not(.badge):not([class*="btn"]):not(.pw-hero-badge__pulse):not(.pw-hero-badge__text):not(.pw-hero-ledger-tag__status),
.pw-home li,
.pw-home dt,
.pw-home dd,
.pw-home label,
.pw-home .wlfi-label,
.pw-home h1,
.pw-home h2,
.pw-home h3,
.pw-home h4,
.pw-home h5,
.pw-home h6,
.pw-home .table td,
.pw-home .table th {
  color: var(--bn-readable-text) !important;
}

body.home-page [style*="color: #363636"],
body.home-page [style*="color:#363636"],
body.home-page [style*="color: black"]:not(.btn):not([class*="btn--"]),
.pw-home [style*="color: #363636"],
.pw-home [style*="color:#363636"] {
  color: var(--bn-readable-text) !important;
}

body.pw-app-site [style*="color: #000"]:not(.btn):not([class*="btn--"]):not(.wlfi-btn--primary):not(.wlf-btn--gold),
body.pw-app-site [style*="color:#000"]:not(.btn):not([class*="btn--"]):not(.wlfi-btn--primary):not(.wlf-btn--gold),
body.pw-app-site [style*="color: black"]:not(.btn):not([class*="btn--"]),
body.home-page [style*="color: #000"]:not(.btn):not([class*="btn--"]):not(.wlfi-btn--primary),
body.home-page [style*="color:#000"]:not(.btn):not([class*="btn--"]):not(.wlfi-btn--primary),
.pw-home [style*="color: #000"]:not(.btn):not([class*="btn--"]):not(.wlfi-btn--primary),
.pw-home [style*="color:#000"]:not(.btn):not([class*="btn--"]):not(.wlfi-btn--primary) {
  color: var(--bn-readable-text) !important;
}

.pw-home .text-block-9,
body.home-page .text-block-9 {
  color: var(--bn-readable-muted) !important;
}

/* Forms — typed text and placeholders on dark inputs */
body.pw-app-site .form-control,
body.pw-app-site .form--control,
body.pw-app-site .form-select,
body.pw-app-site input.form-control,
body.pw-app-site textarea.form-control,
body.pw-app-site select.form-control,
body.pw-app-site .wlfi-input,
body.pw-app-site .wlfi-textarea,
body.home-page .pw-home .form-control,
body.home-page .pw-home .form--control,
body.home-page .pw-home .wlfi-input,
body.home-page .pw-home .wlfi-textarea,
body.home-page .pw-home select,
.pw-home .form-control,
.pw-home .form--control,
.pw-home .wlfi-input,
.pw-home .wlfi-textarea {
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .form-control::placeholder,
body.pw-app-site .form--control::placeholder,
body.pw-app-site .wlfi-input::placeholder,
body.home-page .pw-home .form-control::placeholder,
body.home-page .pw-home .wlfi-input::placeholder,
.pw-home .form-control::placeholder,
.pw-home .wlfi-input::placeholder {
  color: rgba(168, 162, 158, 0.55) !important;
}

/* Legacy sell-card light select2 — keep dark text on white fields */
body:has(.sell-card:not(.bn-ad-step__card)) .sell-card:not(.bn-ad-step__card) .form-control,
body:has(.sell-card:not(.bn-ad-step__card)) .select2-container--default .select2-selection--single .select2-selection__rendered,
body:has(.sell-card:not(.bn-ad-step__card)) .select2-results__option--selectable {
  color: #111 !important;
}

/* Icons on dark cards — not black */
body.pw-app-site .choose-card__icon i,
body.pw-app-site .account-menu .icon i,
body.home-page .choose-card__icon i,
.pw-home .choose-card__icon i {
  color: var(--bitnnock-gold) !important;
}

/* Dropdowns on dark panels */
body.pw-app-site .dropdown-menu,
body.home-page .dropdown-menu {
  background: var(--bitnnock-surface) !important;
  border-color: var(--bitnnock-line) !important;
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .dropdown-menu .dropdown-item,
body.home-page .dropdown-menu .dropdown-item {
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .dropdown-menu .dropdown-item:focus,
body.home-page .dropdown-menu .dropdown-item:focus {
  background: var(--bitnnock-surface-2) !important;
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .dropdown-menu .dropdown-item:hover,
body.home-page .dropdown-menu .dropdown-item:hover {
  color: var(--bn-readable-text) !important;
}

/* Modals — body copy not black */
body.pw-app-site .modal-content,
body.pw-app-site .modal-body,
body.pw-app-site .modal-body p,
body.pw-app-site .modal-body span:not(.badge):not([class*="btn"]),
body.pw-app-site .modal-body li,
body.pw-app-site .modal-body label,
body.pw-app-site .modal-body td,
body.pw-app-site .modal-body th {
  color: var(--bn-readable-text) !important;
}

/* Preserve black text on gradient / light button surfaces */
body.pw-app-site .btn--base,
body.pw-app-site .btn.btn--base,
body.pw-app-site .cmn-btn,
body.pw-app-site .wlfi-btn--primary,
body.pw-app-site .bn-btn--gold,
body.pw-app-site .bn-cookie__btn,
body.pw-app-site .p2p-sound-unlock__btn--primary,
body.pw-app-site .wlf-auth .wlf-btn--gold,
body.pw-app-site .pw-user-nav__item.is-active,
body.pw-app-site .pw-trade-nav__item.is-active,
body.pw-app-site .pw-trade-nav__item.is-active .pw-trade-nav__badge,
body.pw-app-site .bn-ads-tabs__link.active,
body.pw-app-site .bn-ad-segment__item.is-active,
body.pw-app-site .bn-rev-segment__item.is-active,
body.pw-app-site .bn-ad-step__tab.active,
body.pw-app-site .buy--sell-tab.active,
body.pw-app-site .scroll-to-top,
body.pw-app-site .scroll-to-top .scroll-icon,
body.pw-app-site .p2p-dash__btn--primary,
body.pw-app-site .p2p-dash__action-cta.is-primary,
body.pw-app-site .p2p-dash__copy.is-copied .p2p-dash__copy-btn,
body.pw-app-site .p2p-dash__notify-badge,
body.pw-app-site .p2p-nav-chat-badge,
body.home-page .wlfi-btn--primary,
body.home-page .pw-marketplace .bn-ads-widget .btn--base,
body.home-page .pw-marketplace .bn-ads-widget .bn-ads-more,
.pw-home .wlfi-btn--primary,
.pw-home .pw-marketplace .bn-ads-widget .btn--base,
.pw-home .pw-marketplace .bn-ads-widget .bn-ads-more,
.pw-home .p2p-sound-unlock__btn--primary {
  color: #000 !important;
}

body.pw-app-site .btn--success,
body.pw-app-site .btn.btn--success {
  color: #000 !important;
}

/* ==========================================================================
   Warm surfaces — warm dark-brown theme (matches worldlibertyfinancial.com)
   ========================================================================== */

:root {
  --wlfi-surface: #1c1712;
  --wlfi-surface-2: #221c15;
}

body.pw-app-site {
  --wlfi-surface: #1c1712;
  --wlfi-surface-2: #221c15;
}

/* Inner-page section bands */
body.pw-app-site .wlfi-breadcrumb,
body.pw-app-site .bn-market-search,
body.pw-app-site .bn-maintenance {
  background: radial-gradient(ellipse 80% 50% at 50% 0%, rgba(236, 196, 108, 0.1), transparent 70%), var(--bn-panel-gradient) !important;
}



/* Offer wizard, trade live, chat surfaces */
body.pw-app-site .bn-ad-step__switcher-list,
body.pw-app-site .currency_switcher__list,
body.pw-app-site .bn-ad-step__form .select2-dropdown,
body.pw-app-site .bn-ad-step__form .select2-results__options,
body.pw-app-site .trd-chat__file-label,
body.pw-app-site .wlfi-wdr-table thead th,
body.pw-app-site .wlfi-wdr-asset,
body.pw-app-site .wlfi-wdr-pagination .page-link,
body.pw-app-site .wlf-modal .modal-content,
body.pw-app-site .wlf-auth .select2-dropdown,
body.pw-app-site .wlf-auth--user-data .select2-dropdown {
  background: var(--bitnnock-surface) !important;
}

body.pw-app-site .bn-ad-step__prev,
body.pw-app-site .btn--light.btn--xl,
body.pw-app-site .bn-ad-step__input-group .bn-ad-step__addon,
body.pw-app-site .bn-ad-step__input-group .input-group-text,
body.pw-app-site .bn-ad-step__form .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable,
body.pw-app-site .bn-ad-step__form .select2-search--dropdown .select2-search__field,
body.pw-app-site .bn-trd-profile__avatar,
body.pw-app-site .trd-live-panel .p2p-trade-steps__dot,
body.pw-app-site .trd-timeline .p2p-trade-steps__dot,
body.pw-app-site .trd-actions__proof-input,
body.pw-app-site .trd-chat__refresh,
body.pw-app-site .trd-chat__bubble,
body.pw-app-site .trd-info__copy,
body.pw-app-site .trd-review__pill,
body.pw-app-site .p2p-dash__copy-btn {
  background: var(--bitnnock-surface) !important;
}

body.pw-app-site .p2p-dash__copy.is-copied .p2p-dash__copy-btn {
  background: var(--p2p-brand, #ecc46c) !important;
}

/* Legacy main.css near-black section fills → warm surface */
body.pw-app-site .account-section,
body.pw-app-site .sidebar,
body.pw-app-site .sidebar-menu-wrapper,
body.pw-app-site .dashboard-sidebar,
body.pw-app-site .d-widget,
body.pw-app-site .ticket .reply-item,
body.pw-app-site .support-card,
body.pw-app-site .contact-wrapper,
body.pw-app-site .faq-wrapper {
  background-color: var(--bitnnock-surface) !important;
}

/* Homepage cards + embedded sections — 3D gradients (not flat grey) */
.pw-home .pw-feature-card,
.pw-home .pw-marketplace-hub__highlight,
.pw-home .wlfi-card,
.pw-home .wlfi-tool,
.pw-home .wlfi-how__item,
.pw-home .wlfi-markets__row,
.pw-home .wlfi-review,
.pw-home .wlfi-faq__item,
.pw-home .wlfi-choose__item,
.pw-home .wlfi-overview-strip__item,
.pw-home .pw-form-panel {
  background: var(--bn-panel-gradient) !important;
  border: 1px solid var(--bn-elev-border) !important;
  border-top-color: var(--bn-elev-border-top) !important;
  box-shadow: var(--bn-elev-shadow-md) !important;
}

.pw-home .pw-marketing,
.pw-home .pw-marketplace,
.pw-home .pw-embedded {
  background: transparent !important;
}

.pw-home .pw-live-bridge,
.pw-home .pw-marketplace-hub {
  background: var(--bn-panel-gradient) !important;
  border: 1px solid var(--bn-elev-border) !important;
  box-shadow: var(--bn-elev-shadow-md) !important;
}

.pw-home .pw-marketplace-hub {
  background: radial-gradient(ellipse 80% 45% at 50% 0%, rgba(236, 196, 108, 0.12), transparent 68%), var(--bn-panel-gradient) !important;
}

/* Header + page canvas stay on the warm dark-brown base — do not grey these */
html,
body,
body.pw-app-site,
body.home-page,
.page-wrapper,
.body-bg,
.schwab-main-wrapper,
.schwab-content-area,
.header,
.header__bottom,
.header.menu-fixed .header__bottom,
.wlf-header,
.header-bottom-area,
.navbar_component,
.pw-plasma-shell .navbar_component,
.pw-unified-nav.navbar_component,
body:has(.pw-home),
html body:has(.pw-home) {
  background-color: #13100d !important;
}

body.pw-app-site .page-wrapper,
body:has(.pw-home) .page-wrapper,
body:has(.pw-home) .body-bg,
body:has(.pw-home) .schwab-main-wrapper,
body:has(.pw-home) .schwab-content-area,
.pw-app,
.p2p-dash,
.pw-home,
.wlf-auth,
.bn-page,
.bn-ad-shell,
.bn-trd-shell,
.bn-rev-shell,
.trd-shell,
.trd-live-shell,
.trd-list-shell,
.trd-live,
.bn-market-search,
.bn-prose-wrap {
  background: transparent !important;
}

body.pw-app-site .pw-plasma-shell .navbar_component,
body.pw-app-site .pw-plasma-shell.pw-plasma-shell--inner .navbar_component,
body.pw-app-site .pw-plasma-shell .navbar_component.is-scrolled,
body.home-page .pw-plasma-shell .navbar_component {
  background-color: rgba(19, 16, 13, 0.92) !important;
}

/* ==========================================================================
   3D + contrast — app pages (cards, lists, auth, footer)
   ========================================================================== */

body.pw-app-site .custom--card,
body.pw-app-site .card.custom--card,
body.pw-app-site .choose-card,
body.pw-app-site .testimonial-card,
body.pw-app-site .bn-ads-widget .bn-ads-panel,
body.pw-app-site .bn-market-search__panel,
body.pw-app-site .trd-list-card,
body.pw-app-site .wlf-auth__card,
body.pw-app-site .wlf-auth__panel,
body.pw-app-site .modal-content,
body.pw-app-site .bn-contact-card,
body.pw-app-site .p2p-dash__stat,
body.pw-app-site .d-widget,
body.pw-app-site .support-card,
body.pw-app-site .ticket .reply-item {
  border: 1px solid var(--bn-elev-border) !important;
  border-top-color: var(--bn-elev-border-top) !important;
  border-radius: var(--bn-panel-radius) !important;
  background: var(--bn-panel-gradient) !important;
  box-shadow: var(--bn-elev-shadow-md) !important;
  transition:
    transform 0.28s var(--bn-depth-ease),
    box-shadow 0.28s var(--bn-depth-ease),
    border-color 0.28s var(--bn-depth-ease);
}

body.pw-app-site .custom--card:hover,
body.pw-app-site .card.custom--card:hover,
body.pw-app-site .choose-card:hover,
body.pw-app-site .bn-ads-widget .bn-ads-panel:hover,
body.pw-app-site .trd-list-card:hover,
body.pw-app-site .bn-contact-card:hover,
body.pw-app-site .p2p-dash__stat:hover {
  border-color: var(--bn-elev-rim) !important;
  box-shadow: var(--bn-elev-shadow-hover) !important;
}

body.pw-app-site .wlfi-breadcrumb,
body.pw-app-site .bn-market-search {
  border-bottom: 1px solid var(--bn-elev-border) !important;
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.42) !important;
}

.footer-section {
  border-top: 1px solid var(--bn-elev-border-strong) !important;
  /* Dropped the inset top-edge highlight line - it faked a raised bevel
     edge, which contradicts the flat hairline-border treatment used
     everywhere else. A plain drop shadow is enough separation from the
     content above. */
  box-shadow: 0 -12px 40px rgba(0, 0, 0, 0.45) !important;
  /* footer-section is treated as page canvas, not a container (see the
     "true page/section canvas" rule below, which wins this cascade tie by
     source order) - matches that here instead of leaving a contradictory
     dead declaration. */
  background: #13100d !important;
}

body.pw-app-site .custom--card .card-header,
body.pw-app-site .card.custom--card > .card-header,
body.pw-app-site .bn-ads-widget .bn-ads-panel-header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.05) 0%, transparent 100%) !important;
}

body.pw-app-site .text-muted,
body.home-page .text-muted,
.pw-home .wlfi-label,
.pw-home .wlfi-text-secondary {
  color: #c4c4c8 !important;
}

@media (prefers-reduced-motion: reduce) {
  body.pw-app-site .custom--card:hover,
  body.pw-app-site .trd-list-card:hover,
  body.pw-app-site .bn-ads-widget .bn-ads-panel:hover {
    transform: none !important;
  }
}

/* pw-plasma-nav — mobile drawer + footer grey surfaces (not header bar) */
@media (max-width: 767px) {
  .pw-plasma-drawer__link,
  .pw-plasma-drawer__nav > a,
  .pw-plasma-drawer__nav summary {
    color: #f0f0f5 !important;
  }

  .pw-plasma-drawer__link:hover,
  .pw-plasma-drawer__nav > a:hover,
  .pw-plasma-drawer__nav > a:focus-visible {
    color: #ffffff !important;
  }

  .pw-site-footer,
  .pw-site-footer .footer-section {
    background: var(--bn-panel-gradient) !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .pw-plasma-drawer {
    background: var(--bitnnock-surface) !important;
  }
}

/* ==========================================================================
   Site-wide readability + section layout parity
   Scans/fixes: contrast, legacy main.css leaks, padding stack, flat bg conflicts
   ========================================================================== */

body.pw-app-site,
body.home-page,
.pw-home {
  --bn-readable-text: #ffffff;
  --bn-readable-muted: #a8a29e;
  --bn-readable-dim: #8e8e93;
  --bn-readable-meta: #c4c4c8;
}

/* Linked headings — main.css forces #363636 */
body.pw-app-site h1 > a,
body.pw-app-site h2 > a,
body.pw-app-site h3 > a,
body.pw-app-site h4 > a,
body.pw-app-site h5 > a,
body.pw-app-site h6 > a,
body.home-page h1 > a,
body.home-page h2 > a,
body.home-page h3 > a,
body.home-page h4 > a,
body.home-page h5 > a,
body.home-page h6 > a,
.pw-home h1 > a,
.pw-home h2 > a,
.pw-home h3 > a,
.pw-home h4 > a,
.pw-home h5 > a,
.pw-home h6 > a {
  color: inherit !important;
}

body.pw-app-site h1 > a:hover,
body.pw-app-site h2 > a:hover,
body.home-page h1 > a:hover,
.pw-home h1 > a:hover {
  color: var(--bitnnock-gold, #ecc46c) !important;
}

/* Legacy muted utility classes */
body.pw-app-site .p--color,
body.pw-app-site .h--color,
body.pw-app-site .text--gray,
body.home-page .p--color,
body.home-page .h--color,
.pw-home .p--color,
.pw-home .h--color {
  color: var(--bn-readable-muted) !important;
}

/* Nice-select on dark panels */
body.pw-app-site .nice-select,
body.home-page .nice-select,
.pw-home .nice-select {
  background: rgba(255, 255, 255, 0.03) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .nice-select .list,
body.home-page .nice-select .list,
.pw-home .nice-select .list {
  background: var(--bitnnock-surface) !important;
  border-color: rgba(255, 255, 255, 0.12) !important;
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.55) !important;
}

body.pw-app-site .nice-select .option,
body.home-page .nice-select .option,
.pw-home .nice-select .option {
  color: var(--bn-readable-meta) !important;
}

body.pw-app-site .nice-select .option.focus {
  background: rgba(255, 255, 255, 0.06) !important;
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .nice-select .option:hover,
body.home-page .nice-select .option:hover,
.pw-home .nice-select .option:hover {
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .nice-select .current {
  color: var(--bn-readable-text) !important;
}

/* FAQ / accordion cards on dark pages */
body.pw-app-site .cmn-accordion .card,
body.pw-app-site .accordion .card {
  background: var(--bn-panel-gradient) !important;
  border-color: rgba(255, 255, 255, 0.1) !important;
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .cmn-accordion .card-header,
body.pw-app-site .cmn-accordion .card-header .btn,
body.pw-app-site .cmn-accordion .card-header .btn i,
body.pw-app-site .cmn-accordion .card-header .btn span {
  background: transparent !important;
  color: var(--bn-readable-text) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
}

body.pw-app-site .cmn-accordion .card-body {
  color: var(--bn-readable-meta) !important;
  border-top: 1px solid rgba(255, 255, 255, 0.08) !important;
}

/* Nav + footer muted copy */
.pw-plasma-shell .wlf-nav__link,
.pw-plasma-shell .wlf-drop__trigger,
.pw-unified-nav .wlf-nav__link,
.pw-unified-nav__link {
  color: #f0f0f5 !important;
}

.pw-plasma-shell .wlf-nav__link--featured {
  color: #ffffff !important;
}

.pw-plasma-shell .wlf-nav__link:hover,
.pw-unified-nav .wlf-nav__link:hover,
.pw-unified-nav__link:hover {
  color: var(--bn-readable-text) !important;
}

.pw-site-footer .text-block-9,
.pw-site-footer .link-3,
.pw-site-footer__social-link,
.pw-home .text-block-8,
.pw-home .text-block-10,
.pw-home .pw-preloader__text,
.pw-home .wlfi-faq__q::after {
  color: var(--bn-readable-muted) !important;
}

/* Terminal + device mockup labels */
.pw-home .wlfi-terminal__title,
.pw-home .wlfi-terminal__head-title,
.pw-home .wlfi-terminal__status,
.pw-home .wlfi-terminal__head-status,
.pw-home .wlfi-terminal__strip,
.pw-home .wlfi-terminal__progress-pct,
.pw-home .wlfi-terminal__run,
.pw-home .wlfi-terminal__replay,
.pw-home .pw-ui__status,
.pw-home .pw-ui__hero span,
.pw-home .pw-ui__row em,
.pw-home .pw-ui__steps div,
.pw-home .pw-ui__field label,
.pw-home .pw-ui--security small,
.pw-home .pw-terminal-chip__label,
.pw-terminal-section .wlfi-terminal__code .c-dim {
  color: var(--bn-readable-dim) !important;
}

.pw-home .wlfi-terminal__code,
.pw-home .wlfi-terminal__code .c-hi,
.pw-terminal-section .wlfi-terminal__code {
  color: var(--bn-readable-meta) !important;
}

/* Marketplace / ads inactive tabs + table meta */
body.pw-app-site .bn-ads-widget .bn-ads-tabs .nav-link,
body.pw-app-site .bn-ads-widget .bn-ads-tabs .bn-ads-tabs__link,
body.pw-app-site .bn-ads-widget [class*="crypto-currency-"],
body.pw-app-site .bn-ads-tabs__link,
body.pw-app-site .nav-tabs.custom--style-two .nav-link:not(.active) {
  color: var(--bn-readable-muted) !important;
}

body.pw-app-site .bn-ads-widget .table thead th,
body.pw-app-site .bn-ads-widget table thead th,
body.pw-app-site .bn-trd-empty,
body.pw-app-site .bn-ad-empty {
  color: var(--bn-readable-meta) !important;
}

body.pw-app-site .nav-tabs.custom--style-two .nav-link.active {
  color: var(--bn-readable-text) !important;
}

/* Form placeholders — brighter on dark inputs */
body.pw-app-site .form-control::placeholder,
body.pw-app-site .form--control::placeholder,
body.pw-app-site .wlfi-input::placeholder,
body.home-page .form-control::placeholder,
.pw-home .form-control::placeholder,
.pw-home .wlfi-input::placeholder {
  color: rgba(168, 162, 158, 0.72) !important;
  opacity: 1 !important;
}

/* Auth card — solid grey panel */
body.pw-app-site .wlf-auth {
  --bn-surface: rgba(19, 16, 13, 0.96);
}

body.pw-app-site .wlf-auth__card,
body.pw-app-site .wlf-auth__panel {
  background: var(--bn-panel-gradient) !important;
  border: 1px solid var(--bn-elev-border) !important;
  box-shadow: var(--bn-elev-shadow-md) !important;
}

/* ── Homepage layout: collapse triple padding stacks ──
   #buy-sell carries both `.section` and `[data-pw-section]` on the SAME
   element (not a nested wrapper like every other marketing section), so
   the un-scoped selector below was matching it too and stomping its own
   dedicated full-bleed hero sizing further down (min-height: clamp(520px,
   100svh, 960px)) down to height:auto/min-height:0 - collapsing the whole
   hero to just its content's natural height (~420px) instead of the
   intended near-viewport presence, which read as cramped/"clustered". */
.pw-home [data-pw-section] > .section,
.pw-home [data-pw-section].section:not(#buy-sell) {
  padding-block: clamp(1rem, 2.5vw, 2rem) !important;
  padding-inline: 0 !important;
  min-height: 0 !important;
  height: auto !important;
}

.pw-home [data-pw-section] .pw-marketing .section-2,
.pw-home [data-pw-section] .pw-marketing .section-3,
.pw-home [data-pw-section] .pw-marketing .section-4,
.pw-home [data-pw-section] .pw-marketing .section-5,
.pw-home [data-pw-section] .pw-marketing .section-6,
.pw-home [data-pw-section] .pw-marketing .section-7,
.pw-home [data-pw-section] .pw-marketing .section-8,
.pw-home [data-pw-section] .pw-marketing .section-9,
.pw-home [data-pw-section] .pw-marketing .section-10,
.pw-home [data-pw-section] .pw-marketing .section-11 {
  padding: clamp(1rem, 2.5vw, 2rem) 0 !important;
  margin-top: 0 !important;
  height: auto !important;
  min-height: 0 !important;
}

.pw-home .section-6,
.pw-home .section-8,
.pw-home .section-9 {
  height: auto !important;
  min-height: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Nested sections — no double grey backgrounds */
.pw-home [data-pw-section] .pw-live-bridge,
.pw-home [data-pw-section] .pw-terminal-section,
.pw-home [data-pw-section] .pw-marketplace-hub,
.pw-home [data-pw-section] .wlfi-tools,
.pw-home [data-pw-section] .wlfi-markets,
.pw-home [data-pw-section] .wlfi-products,
.pw-home [data-pw-section] .wlfi-join,
.pw-home [data-pw-section] .wlfi-faq-section,
.pw-home [data-pw-section] .wlfi-governance {
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  margin-inline: 0 !important;
}

.pw-home [data-pw-section] .pw-marketplace-hub {
  padding: clamp(1rem, 2.5vw, 2rem) 0 !important;
}

.pw-home [data-pw-section] .pw-live-bridge {
  margin-inline: 0 !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

/* Feature cards — flexible height on tablet */
@media (max-width: 991px) {
  .pw-home .pw-feature-card {
    height: auto !important;
    min-height: 380px;
    padding: clamp(1.25rem, 3vw, 2rem);
  }

  .pw-home .columns-9,
  .pw-home .div-block-11,
  .pw-home .div-block-12 {
    width: 100% !important;
    max-width: 980px;
  }
}

/* CMS / static prose pages */
body.pw-app-site .bn-prose,
body.pw-app-site .bn-prose p,
body.pw-app-site .bn-prose li,
body.pw-app-site .bn-prose td,
body.pw-app-site .bn-prose th,
.wlfi-cms-page p,
.wlfi-cms-page li {
  color: var(--bn-readable-meta) !important;
}

body.pw-app-site .bn-prose h1,
body.pw-app-site .bn-prose h2,
body.pw-app-site .bn-prose h3,
.wlfi-cms-page h1,
.wlfi-cms-page h2,
.wlfi-cms-page h3 {
  color: var(--bn-readable-text) !important;
}

/* Inner-hero breadcrumb subtitle */
body.pw-app-site .inner-hero p,
body.pw-app-site .wlfi-breadcrumb p,
body.pw-app-site .page-breadcrumb li,
body.pw-app-site .page-breadcrumb li a {
  color: var(--bn-readable-muted) !important;
}

body.pw-app-site .page-breadcrumb li a:hover {
  color: var(--bitnnock-gold, #ecc46c) !important;
}

/* Ticket / support threads */
body.pw-app-site .ticket .reply-item,
body.pw-app-site .ticket .reply-item p,
body.pw-app-site .support-card p {
  color: var(--bn-readable-meta) !important;
}

body.pw-app-site .ticket .reply-item .name,
body.pw-app-site .support-card .title {
  color: var(--bn-readable-text) !important;
}

/* Chat meta + timestamps */
body.pw-app-site .trd-chat__time,
body.pw-app-site .trd-chat__meta,
body.pw-app-site .trd-dispute-meta dt {
  color: var(--bn-readable-dim) !important;
}

body.pw-app-site .trd-chat__bubble,
body.pw-app-site .trd-chat__bubble p {
  color: var(--bn-readable-meta) !important;
}

/* Dashboard labels + secondary copy */
.p2p-dash__meta dt,
.p2p-dash__stat-label,
.p2p-dash__panel-desc,
.p2p-dash__trade-meta,
.p2p-dash__notify-time,
.p2p-dash__notify-row small {
  color: var(--bn-readable-muted) !important;
}

.p2p-dash__panel-title,
.p2p-dash__stat-value,
.p2p-dash__notify-row strong {
  color: var(--bn-readable-text) !important;
}

/* ==========================================================================
   Site-wide — warm dark-brown canvas (containers get just enough lift to
   read as solid surfaces instead of outlines)

   Retinted from the neutral near-black values (#0a0a0c/#121214/#17171a) to
   warm dark-brown equivalents matching worldlibertyfinancial.com's resting
   page background (#171412) - this block sits later in the file than the
   :root defaults and the other per-system surface blocks, and matches or
   beats their specificity (:root, body.pw-app-site, body.home-page), so
   without retinting here too, every earlier warm-token fix gets silently
   overwritten back to neutral black by this block. ========================================================================== */

:root,
body.pw-app-site,
body.home-page {
  --bitnnock-bg-soft: #13100d;
  --bitnnock-bg-mid: #13100d;
  --bitnnock-surface: #1c1712;
  --bitnnock-surface-2: #221c15;
  --bn-panel-gradient: #1c1712;
  --bn-panel-gradient-hover: #221c15;
  --bn-surface: #1c1712;
  --bn-surface-2: #221c15;
  --wlfi-surface: #1c1712;
  --wlfi-surface-2: #221c15;
  --p2p-surface: #1c1712;
  --wlfi-bg-secondary: #1c1712;
}

/* True page/section canvas - full-bleed bands that other containers sit
   on top of. These stay at the warm bg token (not the lifted panel token
   below) specifically so the containers in the next rule still have
   something to visually separate from. */
.footer-section,
.pw-site-footer,
.pw-site-footer .footer-section,
.pw-home,
.pw-home .pw-marketing,
.pw-home .pw-marketplace,
.pw-home .pw-embedded,
.pw-home .wlfi-tools,
.pw-home #buy-sell {
  background: #13100d !important;
  background-image: none !important;
}

/* Section shells themselves are left transparent (not #13100d) so the
   Living Ledger canvas shows through them the same way it always has
   for #buy-sell above - user preference is to see it everywhere, not
   just in the gaps between sections. Still occludes nothing it
   shouldn't: z-index:7 (custom.css, near the top of this section list)
   keeps every section painting above the canvas regardless. */
.pw-home [data-pw-section]:not(#live-terminal),
.pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal) {
  background: transparent !important;
  background-image: none !important;
}

/* Actual containers - cards, panels, sidebars, widgets, rows. Was a
   literal #000000 - identical to the page background above - which left
   every one of these with zero fill contrast against the page, nothing
   but a hairline border to read as a "container" at all. Now references
   the lifted surface token so the fix in the :root block above actually
   reaches them. */
.p2p-dash__panel,
.trd-live-panel,
.bn-ad-panel,
.trd-review__card,
.trd-live-review--prominent .trd-review__card,
.p2p-dash__stat,
.bn-rev-card,
body.pw-app-site .custom--card:not(.bn-ad-index-list .custom--card),
body.pw-app-site .card.custom--card,
body.pw-app-site .bn-ads-widget .bn-ads-panel,
body.pw-app-site .bn-market-search__panel,
body.pw-app-site .trd-list-card,
body.pw-app-site .wlf-auth__card,
body.pw-app-site .wlf-auth__panel,
body.pw-app-site .modal-content,
body.pw-app-site .bn-contact-card,
body.pw-app-site .wlfi-breadcrumb,
body.pw-app-site .bn-market-search,
body.pw-app-site .bn-maintenance,
body.pw-app-site .account-section,
body.pw-app-site .sidebar,
body.pw-app-site .sidebar-menu-wrapper,
body.pw-app-site .dashboard-sidebar,
body.pw-app-site .d-widget,
body.pw-app-site .ticket .reply-item,
body.pw-app-site .support-card,
body.pw-app-site .contact-wrapper,
body.pw-app-site .faq-wrapper,
body.pw-app-site .cmn-accordion .card,
body.pw-app-site .accordion .card,
.pw-live-bridge,
.pw-home .pw-live-bridge,
.pw-home .pw-marketplace-hub,
.pw-home .pw-feature-card,
.pw-home .pw-marketplace-hub__highlight,
.pw-home .wlfi-how__item,
.pw-home .pw-form-panel,
.pw-home .wlfi-card,
.pw-home .wlfi-markets__row,
.pw-home .wlfi-tool,
.pw-home .wlfi-review,
.pw-home .wlfi-faq__item,
.pw-home .wlfi-choose__item,
.pw-home .wlfi-overview-strip__item,
.pw-home .wlfi-testimonial-card,
.pw-home .wlfi-terminal,
.pw-home .pw-terminal-section .wlfi-terminal,
.pw-home .pw-marketplace .bn-ads-widget .bn-ads-panel {
  background: var(--bn-panel-gradient) !important;
  background-image: none !important;
}



/* margin-bottom is a real slim gap (not 0) - deliberately, so the Living
   Ledger canvas (z-index:6, behind `main`'s z-index:7 - see the stacking
   context note above the panel-tone rule) shows through cleanly in the
   empty space between sections. Every section's own interior is opaque
   and fully occludes the canvas (no drift/flicker over content, still
   the whole reason that's true), so this is the only place the
   animation is visible - reads as a deliberate "living" strip between
   flat panels, instead of blended over card content where a
   continuously-animating layer reading its brightness at any given
   instant is unavoidably inconsistent. */
.pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal) {
  margin-inline: 0 !important;
  margin-bottom: clamp(3rem, 6vw, 5rem) !important;
  border-radius: 0 !important;
  border: none !important;
  box-shadow: none !important;
  transform: none !important;
}

.pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal)::before,
.pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal)::after {
  display: none !important;
}

.pw-home #buy-sell {
  box-shadow: none !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* Was fully flattened (box-shadow/transform: none) during the pure-black
   background pass — restored to the existing --bn-elev-* elevation system
   (defined above) so these tiles read as solid, separated surfaces:
   lifted fill (see the container rule above) plus a hairline border and
   a soft single-layer shadow, still well short of a raised 3D bevel. */
.pw-home .pw-feature-card,
.pw-home .pw-marketplace-hub__highlight,
.pw-home .wlfi-card,
.pw-home .wlfi-tool,
.pw-home .wlfi-how__item,
.pw-home .wlfi-markets__row,
.pw-home .wlfi-faq__item,
.pw-home .wlfi-review,
.pw-home .pw-form-panel,
.pw-home .pw-marketplace .bn-ads-widget .bn-ads-panel {
  border: 1px solid var(--bn-elev-border) !important;
  border-top-color: var(--bn-elev-border-top) !important;
  box-shadow: var(--bn-elev-shadow-md) !important;
  transition:
    box-shadow 0.35s var(--bn-depth-ease),
    border-color 0.35s var(--bn-depth-ease) !important;
}

.pw-home .pw-feature-card:hover,
.pw-home .pw-marketplace-hub__highlight:hover,
.pw-home .wlfi-card:hover,
.pw-home .wlfi-tool:hover,
.pw-home .wlfi-how__item:hover {
  box-shadow: var(--bn-elev-shadow-hover) !important;
  border-color: var(--bn-elev-rim) !important;
}

.pw-home .pw-live-bridge {
  margin-inline: 0 !important;
  border: none !important;
  box-shadow: none !important;
}

body.pw-app-site .bn-ad-step__switcher-list,
body.pw-app-site .currency_switcher__list,
body.pw-app-site .bn-ad-step__form .select2-dropdown,
body.pw-app-site .bn-ad-step__form .select2-results__options,
body.pw-app-site .trd-chat__file-label,
body.pw-app-site .wlfi-wdr-table thead th,
body.pw-app-site .wlfi-wdr-asset,
body.pw-app-site .wlfi-wdr-pagination .page-link,
body.pw-app-site .wlf-modal .modal-content,
body.pw-app-site .wlf-auth .select2-dropdown,
body.pw-app-site .wlf-auth--user-data .select2-dropdown,
body.pw-app-site .bn-ad-step__prev,
body.pw-app-site .btn--light.btn--xl,
body.pw-app-site .bn-ad-step__input-group .bn-ad-step__addon,
body.pw-app-site .bn-ad-step__input-group .input-group-text,
body.pw-app-site .trd-chat__refresh,
body.pw-app-site .trd-chat__bubble,
body.pw-app-site .trd-info__copy,
body.pw-app-site .trd-review__pill,
body.pw-app-site .p2p-dash__copy-btn,
body.pw-app-site .nice-select,
body.pw-app-site .nice-select .list {
  background: var(--bitnnock-surface) !important;
  background-image: none !important;
}

@media (max-width: 767px) {
  body.home-page .pw-home,
  body:has(.pw-home) .page-wrapper,
  .pw-home {
    background: #13100d !important;
  }

  .pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal) {
    margin-inline: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
  }

  /* Container, not canvas - matches the desktop .pw-live-bridge treatment
     (var(--bn-panel-gradient) card fill) instead of the page-canvas tone. */
  .pw-home .pw-live-bridge {
    margin-inline: 0 !important;
    background: var(--bn-panel-gradient) !important;
    background-image: none !important;
  }

  /* Containers, not canvas - these are individual cards, so they get the
     lifted panel token like their desktop equivalents rather than the flat
     page-canvas tone (previously a literal #000000 here made every one of
     these mobile cards go pure black instead of matching desktop). */
  .pw-home .pw-feature-card,
  .pw-home .pw-marketplace-hub__highlight,
  .pw-home .wlfi-how__item,
  .pw-home .wlfi-card,
  .pw-home .wlfi-markets__row,
  .pw-home .wlfi-tool,
  .pw-home .wlfi-faq__item,
  .pw-home .wlfi-review,
  .pw-home .pw-form-panel {
    background: var(--bn-panel-gradient) !important;
    background-image: none !important;
  }

  .pw-site-footer,
  .pw-site-footer .footer-section {
    background: #13100d !important;
    background-image: none !important;
  }
}

@media (min-width: 768px) and (max-width: 1023px) {
  .pw-home [data-pw-section]:not(#buy-sell):not(#live-terminal) {
    margin-inline: 0 !important;
    box-shadow: none !important;
  }
}

/* ==========================================================================
   Final pass — no invisible black / near-black text on dark UI
   ========================================================================== */

body.pw-app-site .heading--color,
body.home-page .heading--color,
.pw-home .heading--color,
body.pw-app-site .text--black,
body.pw-app-site label,
body.pw-app-site .contact-item a,
body.pw-app-site .account-menu .icon .account-submenu li a,
body.pw-app-site .account-submenu li a,
body.pw-app-site .nav-tabs.custom--style .nav-item .nav-link:not(.active),
body.pw-app-site .cmn-accordion .card-header .btn i,
body.pw-app-site .cmn-accordion .card-header .btn span,
body.pw-app-site .language-select option,
body.pw-app-site .bitcoin-form .select option,
body.pw-app-site .custom--card,
body.pw-app-site .custom--card .card-body,
body.pw-app-site .custom--card .card-body p,
body.pw-app-site .custom--card .card-body span:not([class*="btn"]),
body.pw-app-site .custom--card .card-body li,
body.pw-app-site .custom--card .card-title,
body.pw-app-site .d-widget,
body.pw-app-site .d-widget p,
body.pw-app-site .sidebar-menu li a,
body.pw-app-site .sidebar-menu li span,
body.pw-app-site .account-card__title,
body.pw-app-site .choose-card__content .title,
body.pw-app-site .choose-card__content p,
body.pw-app-site .testimonial-card__content p,
body.pw-app-site .coin-search-area label,
body.pw-app-site .header .main-menu li a,
body.pw-app-site .cookie__wrapper,
body.pw-app-site .cookie__wrapper .txt,
body.pw-app-site .cookie__wrapper .txt span,
body.pw-app-site .trd-live-title,
body.pw-app-site .trd-live-subtitle,
body.pw-app-site .trd-review__title,
body.pw-app-site .trd-review__lead,
body.pw-app-site .bn-ad-head__title,
body.pw-app-site .bn-ad-head__desc,
body.pw-app-site .wlfi-heading-md,
body.pw-app-site .wlfi-subheading,
body.pw-app-site .wlfi-text-secondary,
body.pw-app-site .wlfi-feature__text,
body.pw-app-site .wlfi-faq__q,
body.pw-app-site .wlfi-faq__a,
body.pw-app-site .wlfi-faq__a p,
body.pw-app-site .paragraph,
body.pw-app-site .heading-9-copy,
body.pw-app-site .text-block-5,
body.pw-app-site .text-block-6,
body.pw-app-site .text-block-7,
body.pw-app-site .text-block-8,
body.pw-app-site .text-block-9,
body.pw-app-site .text-block-10,
body.home-page .heading--color,
body.home-page label,
body.home-page .paragraph,
body.home-page .text-block-5,
body.home-page .text-block-6,
body.home-page .text-block-7,
body.home-page .text-block-8,
body.home-page .text-block-9,
body.home-page .text-block-10,
.pw-home .paragraph,
.pw-home .text-block-5,
.pw-home .text-block-6,
.pw-home .text-block-7,
.pw-home .text-block-8,
.pw-home .text-block-9,
.pw-home .text-block-10,
.pw-home .wlfi-subheading,
.pw-home .wlfi-text-secondary,
.pw-home .wlfi-feature__text,
.pw-home .wlfi-faq__q,
.pw-home .wlfi-faq__a,
.pw-home .wlfi-faq__a p {
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .wlfi-label,
body.pw-app-site .wlfi-faq__q::after,
body.pw-app-site .p2p-dash__stat-label,
body.pw-app-site .p2p-dash__panel-desc,
body.pw-app-site .p2p-dash__meta dt,
body.pw-app-site .p2p-dash__trade-meta,
body.pw-app-site .p2p-dash__notify-time,
body.home-page .wlfi-label,
.pw-home .wlfi-label {
  color: var(--bn-readable-muted) !important;
}

/* Inline near-black color attributes on non-button elements */
body.pw-app-site [style*="color: #363636"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color:#363636"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color: #333"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color:#333"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color: #111"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color:#111"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color: #0a0a0a"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color:#0a0a0a"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color: #777"]:not(.btn):not([class*="btn--"]),
body.pw-app-site [style*="color:#777"]:not(.btn):not([class*="btn--"]),
body.home-page [style*="color: #333"]:not(.btn):not([class*="btn--"]),
body.home-page [style*="color:#333"]:not(.btn):not([class*="btn--"]),
body.home-page [style*="color: #111"]:not(.btn):not([class*="btn--"]),
body.home-page [style*="color:#111"]:not(.btn):not([class*="btn--"]),
body.home-page [style*="color: #777"]:not(.btn):not([class*="btn--"]),
.pw-home [style*="color: #333"]:not(.btn):not([class*="btn--"]),
.pw-home [style*="color:#333"]:not(.btn):not([class*="btn--"]),
.pw-home [style*="color: #111"]:not(.btn):not([class*="btn--"]),
.pw-home [style*="color:#111"]:not(.btn):not([class*="btn--"]) {
  color: var(--bn-readable-text) !important;
}

/* Select2 + dropdown option text on dark panels */
body.pw-app-site .select2-container--default .select2-selection--single .select2-selection__rendered,
body.pw-app-site .select2-container--default .select2-selection--multiple .select2-selection__rendered,
body.pw-app-site .select2-results__option,
body.pw-app-site .select2-search__field,
body.home-page .select2-container--default .select2-selection--single .select2-selection__rendered,
.pw-home .select2-container--default .select2-selection--single .select2-selection__rendered {
  color: var(--bn-readable-text) !important;
}

body.pw-app-site .select2-results__option--highlighted,
body.pw-app-site .select2-container--default .select2-results__option--highlighted.select2-results__option--selectable {
  color: var(--bn-readable-text) !important;
}

/* Responsive table labels (main.css uses black) */
body.pw-app-site .table-responsive--md tr td::before,
body.pw-app-site .table-responsive--lg tr td::before,
body.pw-app-site .table-responsive--md tr th::before,
body.pw-app-site .table-responsive--lg tr th::before {
  color: var(--bn-readable-muted) !important;
}

/* Footer copy always readable */
.footer-section,
.footer-section p,
.footer-section li,
.footer-section span,
.footer-section a:not(.text--base),
.pw-site-footer,
.pw-site-footer p,
.pw-site-footer a:not(.text--base) {
  color: var(--bn-readable-muted) !important;
}

.footer-section a.text--base,
.pw-site-footer a.text--base {
  color: var(--bitnnock-gold, #ecc46c) !important;
}

/* Keep dark text only on purple/gold/white button & active tab surfaces */
body.pw-app-site .btn--base,
body.pw-app-site .btn.btn--base,
body.pw-app-site button.btn--base,
body.pw-app-site a.btn--base,
body.pw-app-site .cmn-btn,
body.pw-app-site .wlfi-btn--primary,
body.pw-app-site .wlf-btn--gold,
body.pw-app-site .bn-btn--gold,
body.pw-app-site .bn-trd-btn,
body.pw-app-site .trd-btn,
body.pw-app-site .bn-ad-btn-primary,
body.pw-app-site .bn-ad-step__next,
body.pw-app-site .bn-ad-step__finish,
body.pw-app-site .btn--xl.btn--base,
body.pw-app-site .btn--base.btn--xl,
body.pw-app-site .pw-user-nav__item.is-active,
body.pw-app-site .pw-trade-nav__item.is-active,
body.pw-app-site .pw-trade-nav__item.is-active .pw-trade-nav__badge,
body.pw-app-site .bn-ad-segment__item.is-active,
body.pw-app-site .bn-rev-segment__item.is-active,
body.pw-app-site .trd-segment__item.is-active,
body.pw-app-site .trd-live-segment__item.is-active,
body.pw-app-site .trd-list-segment__item.is-active,
body.pw-app-site .bn-ad-step__tab.active,
body.pw-app-site .buy--sell-tab.active,
body.pw-app-site .bn-ads-tabs__link.active,
body.pw-app-site .bn-ads-widget .bn-ads-tabs .nav-link.active,
body.pw-app-site .bn-ads-widget .bn-ads-tabs .bn-ads-tabs__link.active,
body.pw-app-site .bn-ads-widget [class*="crypto-currency-"].active,
body.pw-app-site .bn-ads-widget .bn-ads-more,
body.pw-app-site .bn-ads-widget .btn--base,
body.pw-app-site .bn-ads-widget a.btn--base,
body.pw-app-site .bn-ad-steps__numbers .item.active .number,
body.pw-app-site .page-item.active .page-link,
body.pw-app-site .bn-ad-pagination .page-item.active .page-link,
body.pw-app-site .bn-rev-pagination .page-item.active .page-link,
body.pw-app-site .wlfi-pagination .page-item.active .page-link,
body.pw-app-site .p2p-dash__btn--primary,
body.pw-app-site .p2p-dash__action-cta.is-primary,
body.pw-app-site .p2p-dash__copy.is-copied .p2p-dash__copy-btn,
body.pw-app-site .scroll-to-top,
body.pw-app-site .scroll-to-top .scroll-icon,
body.home-page .wlfi-btn--primary,
body.home-page .bn-ads-tabs__link.active,
body.home-page .pw-marketplace .bn-ads-widget .btn--base,
body.home-page .pw-marketplace .bn-ads-widget .bn-ads-more,
body.home-page .pw-marketplace .bn-ads-widget a.btn--base,
.pw-home .wlfi-btn--primary,
.pw-home .bn-ads-tabs__link.active,
.pw-home .pw-marketplace .bn-ads-widget .btn--base,
.pw-home .pw-marketplace .bn-ads-widget .bn-ads-more,
.pw-home .pw-marketplace .bn-ads-widget a.btn--base,
.pw-home .p2p-sound-unlock__btn--primary,
.pw-home .wlfi-search__btn {
  color: #000000 !important;
}

/* ==========================================================================
   Typography — Sora site-wide (matches worldlibertyfinancial.com's font
   choice); legacy main.css font/color neutralized. This is the single
   most-authoritative font-family rule on the site (html/body + !important),
   so switching it here is what actually reaches every page.
   ========================================================================== */

html,
body,
body.pw-app-site,
body.home-page,
.pw-home,
.pw-app,
.p2p-dash,
.bn-page,
.wlf-auth,
.wlfi-cms-page {
  font-family: var(--bitnnock-font) !important;
}

body.pw-app-site h1,
body.pw-app-site h2,
body.pw-app-site h3,
body.pw-app-site h4,
body.pw-app-site h5,
body.pw-app-site h6,
body.home-page h1,
body.home-page h2,
body.home-page h3,
body.home-page h4,
body.home-page h5,
body.home-page h6,
.pw-home h1,
.pw-home h2,
.pw-home h3,
.pw-home h4,
.pw-home h5,
.pw-home h6 {
  font-family: inherit !important;
}

/* main.css sets Jost + #363636 on headings — inner pages only (homepage uses plasma-home.css) */
body.pw-app-site :is(h1, h2, h3, h4, h5, h6, .h--color, .heading--color, label, .nav-tabs.custom--style-two .nav-link:not(.active)) {
  font-family: inherit !important;
}

body.pw-app-site :is(h1, h2, h3, h4, h5, h6):not(.btn):not([class*="btn--"]) {
  color: var(--bn-readable-text, #ffffff) !important;
  -webkit-text-fill-color: currentColor !important;
  background: none !important;
  background-image: none !important;
  background-clip: border-box !important;
  -webkit-background-clip: border-box !important;
}

/* Hero copy — stay above Spline scrim and remain readable */
.pw-home #buy-sell > .heading,
.pw-home #buy-sell > .pw-hero-ledger-tag,
.pw-home #buy-sell > .pw-hero-sub {
  position: relative;
  z-index: 4;
}

.pw-home #buy-sell .pw-hero-sub__lead {
  color: #f0f0f5 !important;
}

/* ==========================================================================
   Site footer — minimal (legal + social + copyright; nav lives in header)
   ========================================================================== */

.wlf-footer {
  width: 100%;
  background: #13100d !important;
  color: #9ca3af;
  font-family: var(--bitnnock-font);
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  position: relative;
  padding-bottom: env(safe-area-inset-bottom, 0);
}

.wlf-footer::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background: linear-gradient(90deg, transparent, rgba(236, 196, 108, 0.35), transparent);
  pointer-events: none;
}

.wlf-footer--minimal .wlf-footer__inner {
  width: 100%;
  max-width: min(1280px, calc(100% - 2rem));
  margin-inline: auto;
  padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1rem, 4vw, 2.5rem);
}

.wlf-footer--minimal .wlf-footer__top-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 1rem;
  width: 100%;
  padding-bottom: clamp(0.85rem, 2vw, 1rem);
  margin-bottom: clamp(0.85rem, 2vw, 1rem);
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.wlf-footer__legal {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem 1.25rem;
  width: 100%;
}

.wlf-footer__link,
.wlf-footer--minimal .wlf-footer__col a {
  font-size: 0.875rem !important;
  font-weight: 500;
  color: #d2d2d7 !important;
  text-decoration: none !important;
  transition: color 0.15s;
  line-height: 1.4;
}

.wlf-footer__link:hover,
.wlf-footer--minimal .wlf-footer__col a:hover {
  color: #fff !important;
  transform: none;
}

.wlf-footer--minimal .wlf-footer__social {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.5rem;
  width: 100%;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wlf-footer--minimal .wlf-footer__social li {
  display: inline-flex;
  flex: 0 0 auto;
  margin: 0;
  padding: 0;
  list-style: none;
}

.wlf-footer--minimal .wlf-footer__social a {
  display: inline-flex;
  width: 40px;
  height: 40px;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  background: rgba(255, 255, 255, 0.04) !important;
  color: #f0f0f5 !important;
  line-height: 1;
  text-decoration: none !important;
  transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.wlf-footer--minimal .wlf-footer__social a:hover {
  color: #fff !important;
  border-color: rgba(236, 196, 108, 0.45) !important;
  transform: none;
}

.wlf-footer--minimal .wlf-footer__social a i,
.wlf-footer--minimal .wlf-footer__social a svg {
  display: block;
  font-size: 1rem;
  line-height: 1;
}

.wlf-footer--minimal .wlf-footer__bottom-row {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 0.35rem;
  width: 100%;
}

.wlf-footer--minimal .wlf-footer__copyright {
  margin: 0;
  color: #c8c8cc !important;
  font-size: 0.8125rem !important;
  line-height: 1.45;
}

.wlf-footer--minimal .wlf-footer__tagline {
  margin: 0 !important;
  max-width: none !important;
  font-size: 0.8125rem !important;
  line-height: 1.45 !important;
  color: #8e8e93 !important;
  text-align: left !important;
}

@media (min-width: 640px) {
  .wlf-footer--minimal .wlf-footer__top-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem 1.5rem;
  }

  .wlf-footer__legal {
    width: auto;
    flex: 1 1 auto;
  }

  .wlf-footer--minimal .wlf-footer__social {
    width: auto;
    flex: 0 0 auto;
    justify-content: flex-end;
  }
}

@media (min-width: 768px) {
  .wlf-footer--minimal .wlf-footer__bottom-row {
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
  }

  .wlf-footer--minimal .wlf-footer__tagline {
    text-align: right !important;
  }
}

@media (max-width: 639px) {
  .wlf-footer--minimal .wlf-footer__inner {
    padding-inline: 1rem;
  }

  .wlf-footer--minimal .wlf-footer__social {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    max-width: 100%;
    padding-bottom: 2px;
  }

  .wlf-footer--minimal .wlf-footer__social::-webkit-scrollbar {
    display: none;
  }
}

/* Legacy minimal footer hooks (older markup) */
.wlf-footer--minimal .wlf-footer__main {
  padding: 0;
}

.wlf-footer--minimal .wlf-footer__meta {
  display: contents;
}

.wlf-footer--minimal .wlf-footer__bar,
.wlf-footer--minimal .wlf-footer__bar-inner {
  display: contents;
}

/* Header logo — home + inner (override legacy plasma-home width cap) */
.pw-plasma-shell .navbar_component {
  height: auto !important;
  min-height: 4.5rem;
  overflow: visible;
}

.pw-plasma-shell .navbar_logo-link {
  width: auto !important;
  max-width: min(22rem, 62vw) !important;
}

.pw-plasma-shell .pw-plasma-nav__logo {
  height: 66px !important;
}

@media (max-width: 767px) {
  .pw-plasma-shell .pw-plasma-nav__logo {
    height: 50px !important;
  }

  .pw-plasma-shell .navbar_logo-link {
    max-width: min(18rem, 64vw) !important;
  }
}

/* Tablet alignment — shared 768–991px polish for user dashboard sections */
/* Note: .p2p-dash--v2 .p2p-dash__metrics (main dashboard stats strip) is intentionally
   excluded here - it has its own dedicated responsive grid in p2p-dashboard.css
   (2-col mobile / 3-col tablet / 6-col desktop) and should not become a carousel. */
@media (min-width: 768px) and (max-width: 991px) {
  .p2p-trades__metrics,
  .p2p-trade-live__metrics,
  .p2p-trade-request__metrics,
  .p2p-wallet-activity__metrics,
  .p2p-support-page__metrics,
  .p2p-referral-page__metrics {
    display: flex;
    overflow-x: auto;
    gap: 0.75rem;
    padding-bottom: 0.25rem;
    scrollbar-width: none;
    -webkit-overflow-scrolling: touch;
  }

  .p2p-trades__metrics::-webkit-scrollbar,
  .p2p-trade-live__metrics::-webkit-scrollbar,
  .p2p-trade-request__metrics::-webkit-scrollbar,
  .p2p-wallet-activity__metrics::-webkit-scrollbar,
  .p2p-support-page__metrics::-webkit-scrollbar,
  .p2p-referral-page__metrics::-webkit-scrollbar {
    display: none;
  }

  .p2p-trades__metrics .p2p-dash__metric,
  .p2p-trade-live__metrics .p2p-dash__metric,
  .p2p-trade-request__metrics .p2p-dash__metric,
  .p2p-wallet-activity__metrics .p2p-dash__metric,
  .p2p-support-page__metrics .p2p-dash__metric,
  .p2p-referral-page__metrics .p2p-dash__metric {
    min-width: min(42vw, 240px);
    flex-shrink: 0;
  }

  .p2p-dash--v2 .p2p-dash__filter-row,
  .p2p-wallet-activity__filters-row,
  .p2p-support-page__filters-row,
  .p2p-referral-page__filters-row {
    flex-wrap: wrap;
  }

  .p2p-dash--v2 .p2p-dash__filter-actions,
  .p2p-wallet-activity__filter-actions,
  .p2p-support-page__filter-actions,
  .p2p-referral-page__filter-actions {
    width: 100%;
    justify-content: stretch;
  }

  .p2p-dash--v2 .p2p-dash__filter-actions .p2p-dash__btn,
  .p2p-wallet-activity__filter-actions .p2p-dash__btn,
  .p2p-support-page__filter-actions .p2p-dash__btn,
  .p2p-referral-page__filter-actions .p2p-dash__btn {
    flex: 1 1 auto;
  }
}

/* Login / register — allow page scroll so site footer is fully visible */
html:has(.wlf-auth--login),
html:has(.wlf-auth--register),
html:has(.p2p-auth--login),
html:has(.p2p-auth--register),
body:has(.wlf-auth--login),
body:has(.wlf-auth--register),
body:has(.p2p-auth--login),
body:has(.p2p-auth--register) {
  height: auto !important;
  min-height: 100%;
  overflow-x: clip;
  overflow-y: auto !important;
}

body.pw-app-site:has(.wlf-auth--login) .page-wrapper,
body.pw-app-site:has(.wlf-auth--register) .page-wrapper,
body.pw-app-site:has(.p2p-auth--login) .page-wrapper,
body.pw-app-site:has(.p2p-auth--register) .page-wrapper {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  overflow: visible !important;
}

body.pw-app-site:has(.wlf-auth--login) .wlf-auth--login,
body.pw-app-site:has(.wlf-auth--register) .wlf-auth--register,
body.pw-app-site:has(.p2p-auth--login) .p2p-auth--login,
body.pw-app-site:has(.p2p-auth--register) .p2p-auth--register,
body.pw-app-site:has(.wlf-auth--login) #main.p2p-auth,
body.pw-app-site:has(.wlf-auth--register) #main.p2p-auth {
  flex: 1 0 auto;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  padding-bottom: clamp(1rem, 3vw, 1.5rem);
}

body.pw-app-site:has(.wlf-auth--login) .wlf-footer,
body.pw-app-site:has(.wlf-auth--register) .wlf-footer {
  flex-shrink: 0;
  position: relative;
  z-index: 2;
}

/* Homepage live buy/sell offers — wins over p2p-dashboard / plasma-app panel rules */
.pw-home .pw-marketplace .wlfi-offers .bn-ads-widget .bn-ads-panel {
  overflow: visible !important;
  min-height: 0 !important;
}

.pw-home .pw-marketplace .wlfi-offers .bn-ads-widget__listings,
.pw-home .pw-marketplace .wlfi-offers .bn-ads-panels,
.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed,
.pw-home .pw-marketplace .wlfi-offers .bn-market-ads-card,
.pw-home .pw-marketplace .wlfi-offers .bn-market-ads-card .card-body {
  min-height: 0;
  overflow: visible;
}

.pw-home .pw-marketplace .wlfi-offers .bn-data-table-wrap {
  overflow-x: auto !important;
  max-width: 100%;
  -webkit-overflow-scrolling: touch;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table {
  width: 100% !important;
  min-width: 0 !important;
  table-layout: fixed;
  border-collapse: collapse;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table thead th,
.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table tbody td {
  min-width: 0 !important;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table .bn-ads-cell--rate {
  font-size: 0.8125rem;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table thead {
  display: table-header-group !important;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table tbody {
  display: table-row-group !important;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table tr {
  display: table-row !important;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table th,
.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table td {
  display: table-cell !important;
  padding: 0.65rem 0.75rem !important;
  text-align: left !important;
}

.pw-home .pw-marketplace .wlfi-offers .bn-marketplace-ads--embed .bn-market-ads__table td.bn-market-ads__action {
  text-align: center !important;
}

.pw-home .pw-marketplace .wlfi-offers .bn-ads-loading {
  min-height: 120px;
}

@media (min-width: 992px) {
  .pw-home .pw-marketplace .wlfi-offers .bn-ads-widget--sidebar .bn-ads-more-wrap {
    grid-column: 1 / -1;
  }
}

@media (max-width: 991px) {
  .pw-home .pw-marketplace .wlfi-offers .bn-ads-widget--sidebar .bn-data-table-wrap {
    padding-top: 0;
  }
}

/* ==========================================================================
   User dashboard — fixed nav clearance, scroll, footer (home_header on user.*)
   ========================================================================== */

body.pw-app-site:has(.pw-plasma-shell):not(:has(.pw-home)):not(:has(.p2p-auth)):not(:has(.wlf-auth)) .page-wrapper > #main.p2p-dash,
body.pw-app-site:has(.pw-plasma-shell):not(:has(.pw-home)):not(:has(.p2p-auth)):not(:has(.wlf-auth)) .page-wrapper > .pw-app.p2p-dash {
  padding-top: calc(var(--pw-header-clearance, 7.75rem) + env(safe-area-inset-top, 0px));
  box-sizing: border-box;
}

@media (max-width: 767px) {
  body.pw-app-site:has(.pw-plasma-shell):not(:has(.pw-home)):not(:has(.p2p-auth)):not(:has(.wlf-auth)) .page-wrapper > #main.p2p-dash,
  body.pw-app-site:has(.pw-plasma-shell):not(:has(.pw-home)):not(:has(.p2p-auth)):not(:has(.wlf-auth)) .page-wrapper > .pw-app.p2p-dash {
    padding-top: calc(5.25rem + env(safe-area-inset-top, 0px) + 0.625rem);
  }
}

body.pw-app-site:has(#main.p2p-dash) .page-wrapper {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  overflow: visible !important;
}

body.pw-app-site:has(#main.p2p-dash) #main.p2p-dash {
  flex: 1 0 auto;
  width: 100%;
  min-width: 0;
  overflow-x: clip;
}

body.pw-app-site:has(#main.p2p-dash) .wlf-footer {
  flex-shrink: 0;
  margin-top: auto;
  position: relative;
  z-index: 2;
  padding-bottom: max(0.75rem, env(safe-area-inset-bottom, 0px));
}

body.pw-app-site:has(#main.p2p-dash) .wlf-top {
  bottom: calc(1rem + env(safe-area-inset-bottom, 0px));
}

html:has(#main.p2p-dash),
body.pw-app-site:has(#main.p2p-dash) {
  height: auto !important;
  min-height: 100%;
  overflow-y: auto !important;
}
