:root {
  --lbx-gold: #c9a227;
  --lbx-gold-2: #f5d76e;
  --lbx-ink: #f7f1df;
  --lbx-muted: #b8a882;
  --lbx-bg: #0c0a06;
  --lbx-panel: #12100a;
}

/* Site-wide card acceptance bar */
.lbx-card-bar {
  position: relative;
  z-index: 72;
  background: linear-gradient(90deg, #0a1628 0%, #12100a 35%, #12100a 65%, #0a1628 100%);
  border-bottom: 1px solid rgb(201 162 39 / .35);
  color: var(--lbx-ink);
  font: 600 .78rem/1.35 "DM Sans", system-ui, sans-serif;
}

.lbx-card-bar__inner {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: .55rem 1rem;
  max-width: 1200px;
  margin: 0 auto;
  padding: .62rem 1rem;
  text-align: center;
}

.lbx-card-bar__label strong {
  color: var(--lbx-gold-2);
}

.lbx-card-bar__link {
  color: var(--lbx-gold);
  font-weight: 800;
  text-decoration: none;
  letter-spacing: .04em;
  text-transform: uppercase;
  font-size: .68rem;
}

/* Card brand pills */
.lbx-pay-icons {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .35rem;
}

.lbx-pay-icons__visa,
.lbx-pay-icons__mc,
.lbx-pay-icons__amex {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.65rem;
  height: 1.45rem;
  padding: 0 .45rem;
  border-radius: .35rem;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .04em;
  border: 1px solid rgb(255 255 255 / .12);
}

.lbx-pay-icons__visa {
  background: linear-gradient(135deg, #1a1f71, #2d4ea2);
  color: #fff;
}

.lbx-pay-icons__mc {
  background: linear-gradient(135deg, #1a1a1a, #3d3d3d);
  color: #fff;
}

.lbx-pay-icons__mc::before {
  content: "";
  width: .55rem;
  height: .55rem;
  border-radius: 999px;
  background: #eb001b;
  margin-right: .15rem;
  box-shadow: .45rem 0 0 #f79e1b;
}

.lbx-pay-icons__amex {
  background: linear-gradient(135deg, #006fcf, #009cde);
  color: #fff;
}

.lbx-pay-icons__lock {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.45rem;
  height: 1.45rem;
  border-radius: 999px;
  background: rgb(201 162 39 / .18);
  color: var(--lbx-gold-2);
  border: 1px solid rgb(201 162 39 / .35);
}

.lbx-pay-icons--lg .lbx-pay-icons__visa,
.lbx-pay-icons--lg .lbx-pay-icons__mc,
.lbx-pay-icons--lg .lbx-pay-icons__amex {
  min-width: 3.4rem;
  height: 1.85rem;
  font-size: .68rem;
}

.lbx-pay-icons--checkout {
  margin: .65rem 0 .85rem;
}

/* Product page note */
.lbx-product-card-note {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .65rem;
  margin: 1rem 0 1.5rem;
  padding: .85rem 1rem;
  border-radius: .85rem;
  border: 1px solid rgb(201 162 39 / .32);
  background: rgb(12 10 6 / .72);
  color: var(--lbx-muted);
  font-size: .88rem;
  line-height: 1.45;
}

.lbx-product-card-note strong {
  color: var(--lbx-ink);
}

/* Cart card row */
.lbx-cart-cards td {
  padding-top: .85rem !important;
  border-top: 1px solid rgb(201 162 39 / .2) !important;
}

.lbx-cart-cards__txt {
  display: block;
  margin-top: .45rem;
  font-size: .78rem;
  color: var(--lbx-muted);
}

/* Checkout trust hero */
.lbx-checkout-trust {
  position: relative;
  margin: 0 0 1.6rem;
  padding: 1.35rem 1.25rem 1.25rem;
  border-radius: 1rem;
  border: 1px solid rgb(201 162 39 / .35);
  background:
    radial-gradient(ellipse 70% 80% at 0% 0%, rgb(201 162 39 / .16), transparent 50%),
    rgb(12 10 6 / .85);
  overflow: hidden;
}

.lbx-checkout-trust__glow {
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, var(--lbx-gold), var(--lbx-gold-2), var(--lbx-gold));
}

.lbx-checkout-trust__kicker {
  margin: 0 0 .35rem;
  color: var(--lbx-gold);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.lbx-checkout-trust__title {
  margin: 0 0 .45rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: clamp(1.45rem, 3vw, 1.85rem);
  color: #fff;
  line-height: 1.15;
}

.lbx-checkout-trust__lead {
  margin: 0 0 .85rem;
  max-width: 42rem;
  color: var(--lbx-muted);
  font-size: .92rem;
  line-height: 1.55;
}

.lbx-checkout-trust__list {
  display: flex;
  flex-wrap: wrap;
  gap: .4rem;
  list-style: none;
  margin: .75rem 0 0;
  padding: 0;
}

.lbx-checkout-trust__list li {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0 .6rem;
  border-radius: 999px;
  border: 1px solid rgb(201 162 39 / .35);
  background: rgb(0 0 0 / .35);
  color: var(--lbx-ink);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.lbx-pay-heading {
  margin: 0 0 1rem;
  padding-bottom: .85rem;
  border-bottom: 1px solid rgb(201 162 39 / .22);
}

.lbx-pay-heading__kicker {
  display: block;
  color: var(--lbx-gold);
  font-size: .68rem;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
  margin-bottom: .25rem;
}

.lbx-pay-heading h3 {
  margin: 0 0 .35rem;
  font-family: "Cormorant Garamond", Georgia, serif;
  font-size: 1.35rem;
  color: #fff;
}

.lbx-pay-heading p {
  margin: 0;
  color: var(--lbx-muted);
  font-size: .88rem;
  line-height: 1.5;
}

/* Stripe card shell */
.lbx-gateway-desc {
  color: var(--lbx-muted) !important;
  font-size: .88rem;
  line-height: 1.5;
  margin-bottom: .65rem !important;
}

.lbx-stripe-shell {
  margin-top: .35rem;
  padding: 1rem;
  border-radius: .85rem;
  border: 1px solid rgb(201 162 39 / .28);
  background: rgb(255 255 255 / .03);
}

.lbx-stripe-shell__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: .45rem;
  margin-bottom: .75rem;
  color: var(--lbx-ink);
  font-size: .82rem;
  font-weight: 700;
}

.lbx-stripe-shell__lock {
  display: inline-flex;
  color: var(--lbx-gold-2);
}

.lbx-stripe-shell__badge {
  margin-left: auto;
  padding: .2rem .55rem;
  border-radius: 999px;
  background: rgb(201 162 39 / .15);
  border: 1px solid rgb(201 162 39 / .35);
  color: var(--lbx-gold-2);
  font-size: .62rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.lbx-stripe-element {
  min-height: 44px;
  padding: .65rem .75rem;
  border-radius: .55rem;
  background: #fff;
  border: 1px solid rgb(201 162 39 / .45);
  box-shadow: inset 0 1px 2px rgb(0 0 0 / .06);
}

.lbx-stripe-errors {
  margin-top: .55rem;
  color: #ffb4b4;
  font-size: .82rem;
  font-weight: 600;
  min-height: 1.1rem;
}

.lbx-stripe-footnote {
  margin: .65rem 0 0;
  color: var(--lbx-muted);
  font-size: .75rem;
  line-height: 1.45;
}

.lbx-stripe-footnote--warn {
  color: var(--lbx-gold-2);
}

.lbx-stripe-preview-fields label {
  display: block;
  margin-bottom: .65rem;
}

.lbx-stripe-preview-fields label span {
  display: block;
  margin-bottom: .25rem;
  color: var(--lbx-muted);
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.lbx-stripe-preview-input {
  min-height: 2.65rem;
  padding: .65rem .75rem;
  border-radius: .55rem;
  background: #fff;
  border: 1px solid rgb(201 162 39 / .45);
  color: #6b7280;
  font-size: .92rem;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
}

.lbx-stripe-preview-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .65rem;
}

body.woocommerce-checkout #payment ul.payment_methods li.payment_method_lb_card {
  order: -1;
}

/* Classic checkout dark theme */
body.woocommerce-checkout,
body.woocommerce-cart {
  --lbx-gold: #c9a227;
}

body.woocommerce-checkout .woocommerce,
body.woocommerce-cart .woocommerce {
  color: var(--lbx-muted);
}

body.woocommerce-checkout .woocommerce h1,
body.woocommerce-checkout .woocommerce h2,
body.woocommerce-checkout .woocommerce h3,
body.woocommerce-cart .woocommerce h1,
body.woocommerce-cart .woocommerce h2 {
  font-family: "Cormorant Garamond", Georgia, serif;
  color: #fff !important;
}

body.woocommerce-checkout #customer_details,
body.woocommerce-checkout #order_review,
body.woocommerce-checkout .woocommerce-checkout-review-order,
body.woocommerce-cart .cart-collaterals {
  border: 1px solid rgb(201 162 39 / .28);
  border-radius: 1rem;
  background: rgb(12 10 6 / .72);
  padding: 1.1rem 1.15rem;
}

body.woocommerce-checkout .form-row label,
body.woocommerce-checkout .woocommerce-billing-fields__field-wrapper label {
  color: var(--lbx-ink) !important;
  font-weight: 600;
}

body.woocommerce-checkout input.input-text,
body.woocommerce-checkout select,
body.woocommerce-checkout textarea,
body.woocommerce-cart input.input-text {
  background: rgb(255 255 255 / .06) !important;
  border: 1px solid rgb(201 162 39 / .28) !important;
  color: #fff !important;
  border-radius: .55rem !important;
}

body.woocommerce-checkout #payment {
  background: transparent !important;
  border-radius: .85rem;
}

body.woocommerce-checkout #payment ul.payment_methods {
  border: 0 !important;
  padding: 0 !important;
  background: transparent !important;
}

body.woocommerce-checkout #payment ul.payment_methods li {
  border: 1px solid rgb(201 162 39 / .22) !important;
  border-radius: .75rem !important;
  margin-bottom: .65rem !important;
  background: rgb(255 255 255 / .03) !important;
  padding: .85rem 1rem !important;
}

body.woocommerce-checkout #payment ul.payment_methods li.payment_method_lb_card {
  border-color: rgb(201 162 39 / .55) !important;
  background:
    radial-gradient(ellipse 70% 80% at 0% 0%, rgb(201 162 39 / .12), transparent 55%),
    rgb(12 10 6 / .85) !important;
  box-shadow: 0 0 0 1px rgb(245 215 110 / .08);
}

body.woocommerce-checkout #payment ul.payment_methods li label {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: .95rem !important;
}

body.woocommerce-checkout #payment div.payment_box {
  background: transparent !important;
  color: var(--lbx-muted) !important;
  padding: .35rem 0 0 !important;
}

body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

body.woocommerce-checkout #place_order,
body.woocommerce-checkout button#place_order {
  width: 100%;
  min-height: 3rem;
  border: 0 !important;
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f5d76e, #c9a227) !important;
  color: #1a1408 !important;
  font-weight: 800 !important;
  font-size: .88rem !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  box-shadow: 0 8px 24px rgb(201 162 39 / .25) !important;
}

body.woocommerce-checkout #place_order:hover {
  filter: brightness(1.05);
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message {
  border-top-color: var(--lbx-gold) !important;
  background: rgb(12 10 6 / .85) !important;
  color: var(--lbx-ink) !important;
}

body.woocommerce-checkout table.shop_table,
body.woocommerce-cart table.shop_table {
  border-color: rgb(201 162 39 / .22) !important;
  color: var(--lbx-muted);
}

body.woocommerce-checkout table.shop_table th,
body.woocommerce-checkout table.shop_table td,
body.woocommerce-cart table.shop_table th,
body.woocommerce-cart table.shop_table td {
  border-color: rgb(255 255 255 / .08) !important;
}

body.woocommerce-checkout .order-total .amount {
  color: var(--lbx-gold-2) !important;
  font-weight: 800;
}

/* Block checkout (when block is active) */
.wc-block-checkout {
  color: var(--lbx-muted);
}

.wc-block-components-checkout-step__title {
  font-family: "Cormorant Garamond", Georgia, serif !important;
  color: #fff !important;
}

.wc-block-components-text-input input,
.wc-block-components-text-input label,
.wc-block-components-combobox input {
  border-radius: .55rem !important;
}

.wc-block-components-checkout-place-order-button {
  border-radius: 999px !important;
  background: linear-gradient(135deg, #f5d76e, #c9a227) !important;
  color: #1a1408 !important;
  font-weight: 800 !important;
  min-height: 3rem !important;
}

.wc-block-components-radio-control__option {
  border: 1px solid rgb(201 162 39 / .28) !important;
  border-radius: .75rem !important;
  background: rgb(12 10 6 / .55) !important;
}

.wc-block-checkout .lbx-checkout-trust {
  margin-bottom: 1.25rem;
}

@media (max-width: 640px) {
  .lbx-card-bar__inner {
    flex-direction: column;
  }

  .lbx-stripe-shell__badge {
    margin-left: 0;
  }
}
