/* Anon Vault — child of twenty-one
   Tokens taken from live anonpremium.com: #07070a, cream type, Instrument Serif, gold + mint CTAs */

@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&family=Inter:wght@400;500;600;700&display=swap");

:root {
  --vault-bg: #07070a;
  --vault-bg-2: #101014;
  --vault-card: #16151a;
  --vault-card-2: #1c1b22;
  --vault-cream: #f4efe6;
  --vault-muted: #b8b0a4;
  --vault-gold: #d4a84b;
  --vault-gold-2: #e8c36a;
  --vault-mint: #3dcc8a;
  --vault-mint-dark: #2ea36e;
  --vault-bronze: #c08a5a;
  --vault-danger: #e85d5d;
  --vault-line: rgba(212, 168, 75, 0.28);
  --vault-serif: "Instrument Serif", Georgia, serif;
  --vault-sans: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif;
}

html,
body.primary-bg-color,
body {
  background: var(--vault-bg) !important;
  color: var(--vault-cream) !important;
  font-family: var(--vault-sans) !important;
}

h1, h2, h3, h4, .h1, .h2, .h3, .card-title, .pricing-card-title {
  font-family: var(--vault-serif) !important;
  font-weight: 400 !important;
  color: #fff !important;
  letter-spacing: -0.02em;
}

a { color: var(--vault-gold-2); }
a:hover { color: #fff; }

/* Header */
#header.header,
.header,
.navbar,
.navbar-light,
.navbar.main-navbar-wrapper,
.topbar {
  background: #0b0b0e !important;
  border-bottom: 1px solid rgba(255,255,255,0.06) !important;
  color: var(--vault-cream) !important;
}
.topbar { background: #16120a !important; border-bottom: 1px solid var(--vault-line) !important; }
.topbar, .topbar .btn, .topbar .input-group-text { color: var(--vault-gold-2) !important; background: transparent !important; border-color: transparent !important; }
.navbar-brand, .navbar-brand .logo-img { max-height: 42px; }
#header .navbar-brand {
  max-width: min(240px, 52vw);
  margin-right: 8px !important;
  flex: 0 1 auto;
  min-width: 0;
}
#header .navbar-brand .logo-img,
#header .logo-img {
  max-height: 42px !important;
  max-width: 100% !important;
  width: auto !important;
  height: auto !important;
  object-fit: contain;
  object-position: left center;
}
.navbar-light .navbar-nav .nav-link,
#nav .nav-link,
.navbar-nav .nav-link,
.toolbar .nav-link {
  color: #e2e2e2 !important;
  font-size: 0.92rem;
}
.navbar-light .navbar-nav .nav-link:hover,
#nav .nav-link:hover { color: var(--vault-gold-2) !important; }
.navbar .search .form-control,
.navbar .search .btn {
  background: #121216 !important;
  border-color: rgba(255,255,255,0.08) !important;
  color: var(--vault-cream) !important;
}
.cart-btn { color: var(--vault-cream) !important; }
.cart-btn .badge-info { background: var(--vault-gold) !important; color: #111 !important; }

/* Age / adult strip */
.vault-agebar {
  background: #16120a;
  color: var(--vault-gold-2);
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-align: center;
  padding: 8px 16px;
}

/* Unpaid recovery banner */
.vault-unpaid {
  background: linear-gradient(90deg, #1a1408, #2a1c0a);
  border: 1px solid var(--vault-line);
  border-radius: 14px;
  padding: 18px 22px;
  margin: 0 0 28px;
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  align-items: center;
  justify-content: space-between;
}
.vault-unpaid h3 {
  margin: 0 0 4px;
  font-size: 1.6rem;
  color: #fff !important;
}
.vault-unpaid p { margin: 0; color: var(--vault-muted); font-size: 0.95rem; }
.vault-unpaid .vault-amt { color: var(--vault-gold-2); font-weight: 600; }

/* Breadcrumb */
.master-breadcrumb {
  background: transparent !important;
  border: 0 !important;
}
.master-breadcrumb .breadcrumb {
  background: transparent !important;
}
.master-breadcrumb .breadcrumb-item,
.master-breadcrumb a { color: var(--vault-muted) !important; }
.master-breadcrumb .breadcrumb-item.active { color: var(--vault-cream) !important; }

/* Main */
#main-body { background: var(--vault-bg); padding-top: 1.25rem; padding-bottom: 3rem; }
#main-body .primary-content { color: var(--vault-cream); }

/* Cards / panels / tiles */
.card, .panel, .tile, .sidebar .panel, .sidebar .card,
.client-home-cards .card, .tiles .tile {
  background: var(--vault-card) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  color: var(--vault-cream) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
}
.card-header, .panel-heading, .card-accent-teal, .card-accent-pomegranate,
.card-accent-sun-flower, .card-accent-asbestos, .card-accent-green,
.card-accent-midnight-blue {
  background: var(--vault-card-2) !important;
  color: var(--vault-cream) !important;
  border-color: rgba(255,255,255,0.06) !important;
}
.card-body, .panel-body { color: var(--vault-cream) !important; }
.tiles .tile { border-radius: 0 !important; }
.tiles { border-radius: 16px; overflow: hidden; border: 1px solid rgba(255,255,255,0.06); }
.tiles .tile:hover { background: #1e1c24 !important; }

/* Homepage product cards */
.card-columns.home .card,
.vault-plans .card {
  background: var(--vault-card) !important;
  border: 1px solid var(--vault-line) !important;
}
.action-icon-btns a {
  background: var(--vault-card) !important;
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 16px;
  color: var(--vault-cream) !important;
  display: block;
  padding: 22px 12px;
  text-align: center;
}
.action-icon-btns a:hover {
  border-color: var(--vault-gold);
  color: #fff !important;
  text-decoration: none;
}
.action-icon-btns .ico-container { color: var(--vault-gold) !important; }

/* Buttons */
.btn-primary, .btn-success, #main-body .btn-success,
input[type="submit"].btn-primary, button.btn-primary,
.btn-checkout, #btnCompleteOrder, .cart-btn-checkout {
  background: var(--vault-mint) !important;
  border-color: var(--vault-mint) !important;
  color: #062016 !important;
  font-weight: 600 !important;
  border-radius: 999px !important;
  padding: 10px 20px !important;
}
.btn-primary:hover, .btn-success:hover {
  background: var(--vault-mint-dark) !important;
  border-color: var(--vault-mint-dark) !important;
  color: #fff !important;
}
.btn-default, .btn-secondary, .btn-outline-primary {
  background: transparent !important;
  border: 1px solid var(--vault-line) !important;
  color: var(--vault-gold-2) !important;
  border-radius: 999px !important;
}
.btn-default:hover, .btn-outline-primary:hover {
  background: rgba(212,168,75,0.12) !important;
  color: #fff !important;
}
.btn-warning { background: var(--vault-bronze) !important; border-color: var(--vault-bronze) !important; color: #1a120c !important; border-radius: 999px !important; }
.btn-danger { border-radius: 999px !important; }
.btn-info { background: #5b4a2a !important; border-color: #5b4a2a !important; color: var(--vault-gold-2) !important; border-radius: 999px !important; }

.vault-btn-gold {
  display: inline-block;
  background: var(--vault-gold);
  color: #1a1408 !important;
  font-weight: 600;
  border-radius: 999px;
  padding: 12px 22px;
  text-decoration: none !important;
}
.vault-btn-gold:hover { background: var(--vault-gold-2); color: #111 !important; }
.vault-btn-mint {
  display: inline-block;
  background: var(--vault-mint);
  color: #062016 !important;
  font-weight: 600;
  border-radius: 999px;
  padding: 12px 22px;
  text-decoration: none !important;
}
.vault-btn-ghost {
  display: inline-block;
  border: 1px solid var(--vault-line);
  color: var(--vault-gold-2) !important;
  border-radius: 999px;
  padding: 11px 20px;
  text-decoration: none !important;
}

/* Forms */
.form-control, select.form-control, textarea.form-control, .input-group-text {
  background: #121216 !important;
  border: 1px solid rgba(255,255,255,0.1) !important;
  color: var(--vault-cream) !important;
  border-radius: 10px !important;
}
.form-control:focus {
  border-color: var(--vault-gold) !important;
  box-shadow: 0 0 0 3px rgba(212,168,75,0.18) !important;
}
.form-control::placeholder { color: #7a746c !important; }

/* Tables / invoices list */
.table, .table td, .table th, .table-striped tbody tr:nth-of-type(odd) {
  background: transparent !important;
  color: var(--vault-cream) !important;
  border-color: rgba(255,255,255,0.07) !important;
}
.table thead th { color: var(--vault-muted) !important; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; font-size: 0.75rem; }
.table-striped tbody tr:nth-of-type(odd) { background: rgba(255,255,255,0.02) !important; }
.label-unpaid, .badge-warning, span.status-unpaid { background: #5b3a12 !important; color: var(--vault-gold-2) !important; }
.label-paid, .badge-success, span.status-paid { background: #143d2a !important; color: var(--vault-mint) !important; }

/* Invoice view */
.invoice-container, #invoice, .view-invoice {
  background: var(--vault-card) !important;
  color: var(--vault-cream) !important;
  border-radius: 16px;
}
.invoice-status { border-radius: 999px !important; }

/* Alerts */
.alert-danger { background: #2a1214 !important; border-color: #6b2a2e !important; color: #f3c4c4 !important; }
.alert-warning { background: #2a2110 !important; border-color: var(--vault-line) !important; color: var(--vault-gold-2) !important; }
.alert-success { background: #10241a !important; border-color: #1e5a3a !important; color: #b7f0d0 !important; }
.alert-info { background: #141820 !important; border-color: #2a3344 !important; color: #c9d4e6 !important; }

/* Sidebar */
.sidebar .list-group-item {
  background: var(--vault-card) !important;
  color: var(--vault-cream) !important;
  border-color: rgba(255,255,255,0.06) !important;
}
.sidebar .list-group-item.active,
.sidebar .list-group-item:hover {
  background: #1e1c24 !important;
  color: var(--vault-gold-2) !important;
}

/* Cart */
.order-summary, #order-standard_cart, .secondary-cart-body,
div#order-standard_cart {
  background: transparent !important;
  color: var(--vault-cream) !important;
}
#order-standard_cart .header-lined h1,
#order-standard_cart h1,
#order-standard_cart h2 {
  font-family: var(--vault-serif) !important;
  color: #fff !important;
}
#order-standard_cart .panel,
#order-standard_cart .view-cart-items,
#order-standard_cart .order-summary,
#order-standard_cart .summary-container,
#order-standard_cart .view-cart-tabs .tab-content {
  background: var(--vault-card) !important;
  background-color: var(--vault-card) !important;
  border: 1px solid rgba(255,255,255,0.06) !important;
  color: var(--vault-cream) !important;
}
#order-standard_cart .view-cart-items-header {
  background: #1c1810 !important;
  background-color: #1c1810 !important;
  color: var(--vault-gold-2) !important;
}
#order-standard_cart .view-cart-items .item,
#order-standard_cart .view-cart-items .item:nth-child(even) {
  background: var(--vault-card) !important;
  color: var(--vault-cream) !important;
}
#order-standard_cart .view-cart-items .item-title,
#order-standard_cart .view-cart-items .item-price,
#order-standard_cart .view-cart-items .item-price span {
  color: var(--vault-cream) !important;
}
#order-standard_cart .view-cart-items .item-price span { color: var(--vault-gold-2) !important; }
#order-standard_cart .order-summary h2 { background: #1c1810 !important; color: #fff !important; }
#order-standard_cart .order-summary .total-due-today .amt { color: var(--vault-gold-2) !important; }
#order-standard_cart .empty-cart .btn {
  background: #1c1810 !important;
  color: var(--vault-gold-2) !important;
}
#order-standard_cart .cart-sidebar .list-group-item.active {
  background: #1c1810 !important;
  color: var(--vault-gold-2) !important;
}
#btnCompleteOrder, #order-standard_cart .btn-checkout {
  background: var(--vault-mint) !important;
  border-radius: 999px !important;
  color: #062016 !important;
  font-weight: 700 !important;
}

/* Footer */
#footer.footer, footer#footer {
  background: #0b0b0e !important;
  color: var(--vault-muted) !important;
  border-top: 1px solid rgba(255,255,255,0.06) !important;
}
#footer a, #footer .nav-link { color: var(--vault-muted) !important; }
#footer a:hover { color: var(--vault-gold-2) !important; }

/* Modals */
.modal-content {
  background: var(--vault-card) !important;
  color: var(--vault-cream) !important;
  border: 1px solid var(--vault-line) !important;
}
.modal-header, .modal-footer { border-color: rgba(255,255,255,0.08) !important; }
.close, .modal .close { color: #fff !important; opacity: 0.8; }

/* Login / register */
.logincontainer, .providerLinkingFeedback {
  background: var(--vault-card);
  border-radius: 18px;
  border: 1px solid var(--vault-line);
  padding: 28px;
}

/* Vault home extras */
.vault-hero {
  background:
    radial-gradient(ellipse at 80% 20%, rgba(212,168,75,0.16), transparent 50%),
    linear-gradient(180deg, #121016 0%, #07070a 100%);
  border: 1px solid var(--vault-line);
  border-radius: 20px;
  padding: 36px 32px 32px;
  margin-bottom: 28px;
}
.vault-hero .eyebrow {
  display: inline-block;
  border: 1px solid var(--vault-line);
  border-radius: 999px;
  padding: 4px 12px;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--vault-gold-2);
  margin-bottom: 14px;
}
.vault-hero h1 { font-size: clamp(2rem, 4vw, 3.2rem); margin: 0 0 10px; }
.vault-hero p { color: var(--vault-muted); max-width: 42rem; font-size: 1.05rem; }

.vault-help-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 12px; margin-top: 8px; }
.vault-help-grid a {
  background: var(--vault-card);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 14px;
  padding: 18px 14px;
  text-align: center;
  color: var(--vault-cream) !important;
  text-decoration: none !important;
}
.vault-help-grid a:hover { border-color: var(--vault-gold); }
.vault-help-grid strong { display: block; font-family: var(--vault-serif); font-size: 1.15rem; font-weight: 400; }

.vault-invoice-row {
  display: flex; justify-content: space-between; gap: 12px; align-items: center;
  padding: 12px 0; border-bottom: 1px solid rgba(255,255,255,0.06);
}
.vault-invoice-row:last-child { border-bottom: 0; }

@media (max-width: 767px) {
  html, body.vault-body, body {
    overflow-x: hidden !important;
  }
  .vault-hero { padding: 24px 18px; }
  .vault-unpaid {
    padding: 16px;
    flex-direction: column;
    align-items: stretch;
  }
  .vault-unpaid h3 { font-size: 1.35rem; }
  .vault-unpaid a.vault-btn-mint,
  .vault-unpaid a.vault-btn-ghost {
    display: block;
    text-align: center;
    width: 100%;
    margin: 0 0 8px;
  }
  .vault-invoice-row { flex-direction: column; align-items: flex-start; }
  .vault-agebar {
    font-size: 10px;
    letter-spacing: 0.04em;
    padding: 8px 10px;
    line-height: 1.35;
  }
  #header .navbar-brand { max-width: min(210px, 58vw); }
  #header .navbar-brand .logo-img { max-height: 36px !important; }
  .login-form a,
  .logincontainer a {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
  }
  .table-responsive,
  .dataTables_wrapper {
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
  }
  #order-standard_cart .secondary-cart-body,
  #order-standard_cart .secondary-cart-sidebar,
  #order-standard_cart .cart-body,
  #order-standard_cart .cart-sidebar {
    width: 100% !important;
    float: none !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .container { padding-left: 12px; padding-right: 12px; }
}

/* WHMCS 8.9 twenty-one tiles */
.tiles .tile .highlight { opacity: 0.85; }
.tiles .tile .title { color: var(--vault-muted) !important; }
.tiles .tile .stat { color: #fff !important; }

/* WHMCS 8.9 login */
.login-form .card { background: var(--vault-card) !important; border: 1px solid var(--vault-line) !important; }
.login-form .text-muted { color: var(--vault-muted) !important; }
.login-form .form-control-label { color: var(--vault-cream) !important; }
.input-group-merge .input-group-text {
  background: #121216 !important;
  border-color: rgba(255,255,255,0.1) !important;
  color: var(--vault-gold-2) !important;
}
.card-footer { background: #121016 !important; border-top: 1px solid rgba(255,255,255,0.06) !important; color: var(--vault-muted) !important; }

/* PayPal Payments / Card (FEATURE-3641 in 8.9) */
#frmRemoteCardProcess, .auth3d-area, .paypal-buttons { background: #121016; border-radius: 12px; }

/* ===== VAULT-CART-FIX-V6 — Pure Comparison yellow headers =====
   Live cart still showed #ffffef heads because this block was never on the server.
   !important beats orderforms/pure_comparison/css/style.css even though that file loads later. */
#order-pure_comparison {
  color: #f4efe6 !important;
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
}
#order-pure_comparison #headline,
#order-pure_comparison h3#headline,
#order-pure_comparison h3 {
  font-family: "Instrument Serif", Georgia, serif !important;
  font-weight: 400 !important;
  color: #fff !important;
}
#order-pure_comparison #tagline,
#order-pure_comparison h5 { color: #b8b0a4 !important; }

#order-pure_comparison .price-table-container > ul {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  align-items: stretch !important;
  gap: 16px !important;
}
#order-pure_comparison .price-table-container > ul > li {
  display: flex !important;
  padding: 0 !important;
  margin: 0 !important;
  background: none !important;
  vertical-align: top !important;
}

#order-pure_comparison .price-table-container .price-table,
#order-pure_comparison .price-table-container .price-table.active {
  display: flex !important;
  flex-direction: column !important;
  width: 250px !important;
  max-width: 86vw !important;
  margin: 0 !important;
  background: #16151a !important;
  background-image: none !important;
  border: 1px solid rgba(212,168,75,.28) !important;
  border-radius: 16px !important;
  box-shadow: none !important;
  transform: none !important;
  filter: none !important;
  overflow: hidden;
}

#order-pure_comparison .price-table-container .price-table .top-head,
#order-pure_comparison .price-table-container .price-table.active .top-head {
  background: #1c1810 !important;
  background-image: none !important;
  filter: none !important;
  border-radius: 16px 16px 0 0 !important;
  border-bottom: 1px solid rgba(212,168,75,.28) !important;
}
#order-pure_comparison .price-table-container .price-table .top-head .top-area,
#order-pure_comparison .price-table-container .price-table.active .top-head .top-area {
  padding: 16px 14px !important;
  border-bottom: 0 !important;
}

#order-pure_comparison .price-table-container .price-table .top-head .top-area h4,
#order-pure_comparison .price-table-container .price-table .top-head h4,
#order-pure_comparison #product1-name,
#order-pure_comparison #product2-name,
#order-pure_comparison #product3-name,
#order-pure_comparison #product4-name,
#order-pure_comparison #product5-name,
#order-pure_comparison #product6-name,
#order-pure_comparison h4 {
  color: #f4efe6 !important;
  font-family: Inter, "Helvetica Neue", Helvetica, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
  text-shadow: none !important;
}

#order-pure_comparison .price-table-container .price-table ul li {
  padding: 12px 0 !important;
  width: 100% !important;
  border-bottom: 1px solid rgba(255,255,255,.06) !important;
  color: #b8b0a4 !important;
  font-size: 13px !important;
  background: none !important;
  display: block !important;
}

#order-pure_comparison .price-table-container .price-area,
#order-pure_comparison .price-table-container .price-table.active .price-area {
  background: #121016 !important;
  background-image: none !important;
  filter: none !important;
  color: #f4efe6 !important;
  border-radius: 0 0 16px 16px !important;
}
#order-pure_comparison .price-table-container .price-area .price {
  color: #e8c36a !important;
  font-family: "Instrument Serif", Georgia, serif !important;
}

#order-pure_comparison .price-table-container .order-button,
#order-pure_comparison .price-table-container .order-button:hover,
#order-pure_comparison .price-table-container .order-button:visited,
#order-pure_comparison .price-table-container .order-button:link {
  background: #3dcc8a !important;
  background-image: none !important;
  filter: none !important;
  color: #062016 !important;
  border-radius: 999px !important;
  text-shadow: none !important;
}


