/* Gold Striker Luxury Checkout — black / burgundy / hot-pink */
.gslc-shell {
  --gs-bg: #070506;
  --gs-panel: #10090d;
  --gs-panel-2: #160a10;
  --gs-line: #43202c;
  --gs-line-soft: #2a171e;
  --gs-text: #f9f5f7;
  --gs-muted: #a89aa1;
  --gs-pink: #e8004f;
  --gs-pink-2: #ff145f;
  --gs-pink-soft: #3a0c1e;
  --gs-white: #ffffff;
  --gs-black: #080608;
  width: 100%;
  max-width: 100%;
  margin: 0;
  padding: clamp(56px, 7vw, 100px) clamp(18px, 4vw, 46px) clamp(70px, 8vw, 110px);
  box-sizing: border-box;
  color: var(--gs-text);
  background:
    radial-gradient(circle at 50% 0%, rgba(232,0,79,.11), transparent 28%),
    radial-gradient(circle at 90% 35%, rgba(146,0,58,.10), transparent 26%),
    linear-gradient(180deg, #080608 0%, #070506 100%);
  overflow: hidden;
}

.gslc-shell *,
.gslc-shell *::before,
.gslc-shell *::after { box-sizing: border-box; }

body.woocommerce-checkout .entry-title,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .woocommerce-breadcrumb { display: none !important; }

.gslc-hero {
  width: min(1200px, 100%);
  margin: 0 auto clamp(42px, 5vw, 60px);
  text-align: center;
}

.gslc-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: var(--gs-pink-2);
  font-size: 11px;
  line-height: 1;
  font-weight: 900;
  letter-spacing: .22em;
  text-transform: uppercase;
}

.gslc-eyebrow span {
  width: 48px;
  height: 2px;
  background: var(--gs-pink);
  box-shadow: 0 0 16px rgba(232,0,79,.55);
}

.gslc-hero h1 {
  margin: 18px 0 10px;
  color: #fff;
  font-size: clamp(48px, 7vw, 84px);
  line-height: .96;
  letter-spacing: -.055em;
  font-weight: 900;
}

.gslc-hero h1 em { color: var(--gs-pink); font-style: normal; }
.gslc-hero p {
  width: min(860px, 100%);
  margin: 0 auto;
  color: var(--gs-muted);
  font-size: 15px;
  line-height: 1.75;
}

.gslc-hero-badges {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 28px;
}
.gslc-hero-badges span {
  padding: 10px 14px;
  border: 1px solid var(--gs-line);
  border-radius: 10px;
  background: rgba(255,255,255,.01);
  color: #d9cfd4;
  font-size: 9px;
  line-height: 1;
  font-weight: 800;
  letter-spacing: .11em;
  text-transform: uppercase;
}
.gslc-hero-badges span::first-letter { color: var(--gs-pink); }

.gslc-checkout-grid {
  width: min(1220px, 100%);
  margin: 0 auto;
}

/* Native WooCommerce checkout becomes the two-card layout. */
.gslc-checkout-grid form.checkout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 24px !important;
  width: 100% !important;
  margin: 0 !important;
}

.gslc-checkout-grid #customer_details,
.gslc-checkout-grid #order_review {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.gslc-checkout-grid #customer_details .col-1 {
  width: 100% !important;
  padding: 26px 28px 30px !important;
  margin: 0 !important;
  border: 1px solid var(--gs-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(20,8,13,.98), rgba(12,7,10,.98)) !important;
  box-shadow: 0 25px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.02) !important;
}

.gslc-checkout-grid #customer_details .col-2,
.gslc-shell.gslc-digital-checkout #customer_details .col-2 { display: none !important; }

/* Billing heading */
.gslc-checkout-grid .woocommerce-billing-fields > h3 {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 28px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid var(--gs-line-soft) !important;
  color: #fff !important;
  font-size: 25px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}
.gslc-checkout-grid .woocommerce-billing-fields > h3::before {
  content: "01";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: linear-gradient(135deg, #ff0d60, #b7003d);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .05em;
  box-shadow: 0 12px 24px rgba(232,0,79,.23);
}

/* Billing fields */
.gslc-checkout-grid .form-row { margin: 0 0 16px !important; padding: 0 !important; }
.gslc-checkout-grid .form-row-first,
.gslc-checkout-grid .form-row-last { width: calc(50% - 8px) !important; }
.gslc-checkout-grid .form-row-first { margin-right: 16px !important; }
.gslc-checkout-grid label {
  display: block !important;
  margin: 0 0 8px !important;
  color: #e7dde2 !important;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 800 !important;
  letter-spacing: .03em !important;
}
.gslc-checkout-grid input.input-text,
.gslc-checkout-grid input[type="email"],
.gslc-checkout-grid input[type="tel"],
.gslc-checkout-grid select,
.gslc-checkout-grid textarea {
  width: 100% !important;
  min-height: 58px !important;
  padding: 14px 16px !important;
  border: 1px solid #3b222b !important;
  border-radius: 11px !important;
  background: #0c080b !important;
  color: #fff !important;
  box-shadow: none !important;
  font-size: 14px !important;
  outline: none !important;
}
.gslc-checkout-grid input.input-text::placeholder,
.gslc-checkout-grid input[type="email"]::placeholder,
.gslc-checkout-grid input[type="tel"]::placeholder { color: #6f6369 !important; }
.gslc-checkout-grid input.input-text:focus,
.gslc-checkout-grid select:focus,
.gslc-checkout-grid textarea:focus {
  border-color: var(--gs-pink) !important;
  box-shadow: 0 0 0 3px rgba(232,0,79,.12) !important;
  background: #10090d !important;
}

/* Select2: dark / burgundy without touching native functionality. */
.gslc-checkout-grid .select2-container { width: 100% !important; }
.gslc-checkout-grid .select2-selection--single {
  height: 58px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 44px 0 16px !important;
  border: 1px solid #3b222b !important;
  border-radius: 11px !important;
  background: #0c080b !important;
}
.gslc-checkout-grid .select2-selection__rendered { color: #fff !important; line-height: 1.2 !important; }
.gslc-checkout-grid .select2-selection__arrow { top: 50% !important; transform: translateY(-50%) !important; right: 12px !important; }
body .select2-container--open .select2-dropdown {
  border: 1px solid #512430 !important;
  border-radius: 11px !important;
  background: #0d080b !important;
  box-shadow: 0 20px 50px rgba(0,0,0,.42) !important;
  overflow: hidden !important;
}
body .select2-container--open .select2-search--dropdown { padding: 10px !important; background: #12090e !important; border-bottom: 1px solid #2a151c !important; }
body .select2-container--open .select2-search__field { height: 42px !important; border: 1px solid #3b222b !important; border-radius: 9px !important; background: #0c080b !important; color: #fff !important; }
body .select2-container--open .select2-results { background: #0d080b !important; padding: 6px !important; }
body .select2-container--open .select2-results__option { color: #ddd3d8 !important; padding: 11px 12px !important; border-radius: 8px !important; }
body .select2-container--open .select2-results__option--highlighted,
body .select2-container--open .select2-results__option[aria-selected="true"] { background: #35101f !important; color: #fff !important; }

/* Delivery reassurance */
.gslc-delivery-card {
  display: flex;
  gap: 16px;
  align-items: flex-start;
  margin-top: 18px;
  padding: 18px;
  border: 1px solid #6d1637;
  border-radius: 12px;
  background: linear-gradient(180deg, #240914, #16080f);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.02);
}
.gslc-delivery-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  border-radius: 10px;
  border: 1px solid #891b44;
  background: #220914;
  color: var(--gs-pink-2);
  font-size: 18px;
}
.gslc-delivery-card strong { display: block; color: #fff; font-size: 13px; }
.gslc-delivery-card p { margin: 7px 0 0; color: #a99ba2; font-size: 11px; line-height: 1.55; }

/* Right column */
.gslc-checkout-grid #order_review {
  padding: 26px 28px 30px !important;
  border: 1px solid var(--gs-line) !important;
  border-radius: 18px !important;
  background: linear-gradient(180deg, rgba(20,8,13,.98), rgba(12,7,10,.98)) !important;
  box-shadow: 0 25px 70px rgba(0,0,0,.30), inset 0 1px 0 rgba(255,255,255,.02) !important;
}

.gslc-checkout-grid #order_review_heading {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin: 0 0 22px !important;
  color: #fff !important;
  font-size: 25px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
}
.gslc-checkout-grid #order_review_heading::before {
  content: "02";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 38px;
  width: 38px;
  height: 38px;
  border-radius: 10px;
  background: linear-gradient(135deg, #ff0d60, #b7003d);
  color: #fff;
  font-size: 11px;
  font-weight: 900;
  box-shadow: 0 12px 24px rgba(232,0,79,.23);
}
.gslc-checkout-grid #order_review_heading::after {
  content: "Review your order details and choose your payment method.";
  position: absolute;
  margin: 56px 0 0 52px;
  color: var(--gs-muted);
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
}

.gslc-checkout-grid .woocommerce-checkout-review-order-table { width: 100% !important; border-collapse: separate !important; border-spacing: 0 !important; background: transparent !important; }
.gslc-checkout-grid .woocommerce-checkout-review-order-table thead th {
  padding: 0 0 15px !important;
  border: 0 !important;
  color: #d4c9ce !important;
  background: transparent !important;
  font-size: 10px !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.gslc-checkout-grid .woocommerce-checkout-review-order-table thead th:last-child { text-align: right !important; }
.gslc-checkout-grid .woocommerce-checkout-review-order-table tbody td { padding: 15px 0 !important; border-top: 1px solid #2a171e !important; background: transparent !important; vertical-align: middle !important; }
.gslc-checkout-grid .woocommerce-checkout-review-order-table tbody td:last-child { text-align: right !important; }

/* Product card */
.gslc-product-card { display: flex !important; align-items: center !important; gap: 14px !important; min-width: 0; }
.gslc-product-media { width: 118px !important; height: 118px !important; flex: 0 0 118px !important; display: flex !important; align-items: center !important; justify-content: center !important; border: 1px solid #64233a !important; border-radius: 14px !important; background: #0e080c !important; overflow: hidden !important; }
.gslc-product-media img { width: 100% !important; height: 100% !important; object-fit: cover !important; border: 0 !important; }
.gslc-product-copy { min-width: 0 !important; }
.gslc-product-name { color: #fff; font-size: 14px; font-weight: 850; line-height: 1.35; }
.gslc-product-desc { margin-top: 7px; color: var(--gs-muted); font-size: 10px; line-height: 1.5; }
.gslc-license-pill { display: inline-flex; margin-left: 6px; padding: 5px 8px; border: 1px solid #8f1c48; border-radius: 999px; color: #ff2b6b; font-size: 8px; font-weight: 800; text-transform: uppercase; letter-spacing: .07em; vertical-align: middle; }

/* Price */
.gslc-price-stack { display: flex; align-items: flex-end; flex-direction: column; gap: 7px; min-width: 140px; }
.gslc-old-price { color: #8f8187; font-size: 11px; text-decoration: line-through; white-space: nowrap; }
.gslc-discount-badge { padding: 7px 11px; border-radius: 999px; background: linear-gradient(90deg, #ff0c60, #c90046); color: #fff; font-size: 10px; line-height: 1; font-weight: 900; white-space: nowrap; box-shadow: 0 8px 20px rgba(232,0,79,.25); }
.gslc-current-price { color: #ff2b6b; font-size: 34px; line-height: 1; font-weight: 900; letter-spacing: -.03em; white-space: nowrap; }
.gslc-current-price .woocommerce-Price-amount { color: inherit; font-size: inherit; font-weight: inherit; }
.gslc-saving { padding: 8px 13px; border: 1px solid #7e1a42; border-radius: 10px; background: #250914; color: #ff6e9c; font-size: 10px; white-space: nowrap; }
.gslc-saving strong { color: #fff; font-weight: 800; }

/* Benefits */
.gslc-benefits-row td { padding: 14px 0 6px !important; border: 0 !important; background: transparent !important; }
.gslc-benefits { margin-top: 4px; padding: 16px; border: 1px solid #65203a; border-radius: 12px; background: linear-gradient(180deg, #210913, #16080f); }
.gslc-benefits-head { display: flex; align-items: center; gap: 9px; color: #fff; font-size: 12px; font-weight: 850; }
.gslc-benefits-icon { color: var(--gs-pink-2); font-size: 16px; }
.gslc-benefits-grid { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 14px; margin-top: 16px; }
.gslc-benefit { display: flex; gap: 8px; min-width: 0; }
.gslc-benefit-symbol { flex: 0 0 auto; color: var(--gs-pink-2); font-size: 18px; line-height: 1; }
.gslc-benefit strong { display: block; color: #fff; font-size: 9px; line-height: 1.25; }
.gslc-benefit span { display: block; margin-top: 4px; color: #9d8f96; font-size: 8px; line-height: 1.35; }

/* Payment */
.gslc-checkout-grid #payment { margin-top: 20px !important; padding: 0 !important; background: transparent !important; border: 0 !important; }
.gslc-checkout-grid #payment ul.payment_methods { padding: 0 !important; margin: 0 !important; border: 0 !important; background: transparent !important; }
.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method { margin: 9px 0 !important; padding: 0 !important; border: 1px solid #39202a !important; border-radius: 12px !important; background: #0d080b !important; overflow: hidden !important; }
.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method > label { display: flex !important; align-items: center !important; min-height: 64px !important; padding: 13px 15px !important; margin: 0 !important; color: #fff !important; font-size: 12px !important; font-weight: 800 !important; cursor: pointer !important; }
.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method input.input-radio { accent-color: var(--gs-pink) !important; margin: 0 12px 0 0 !important; }
.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method > label img { margin-left: auto !important; max-height: 38px !important; max-width: 260px !important; width: auto !important; }
.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method .payment_box { margin: 0 !important; padding: 15px !important; border-top: 1px solid #3b1a28 !important; background: #140910 !important; color: #b7aab0 !important; }
.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method .payment_box::before { display: none !important; }
.gslc-checkout-grid #payment ul.payment_methods li.payment_method_stripe .wc-stripe-upe-element { width: 100% !important; max-width: 100% !important; background: #0c080b !important; border: 1px solid #3b222b !important; border-radius: 11px !important; overflow: hidden !important; }
.gslc-checkout-grid #payment ul.payment_methods li.payment_method_stripe .wc-stripe-upe-element iframe { width: 100% !important; max-width: 100% !important; min-width: 100% !important; border: 0 !important; }
.gslc-checkout-grid #payment .place-order { margin: 14px 0 0 !important; padding: 0 !important; }
.gslc-checkout-grid #payment #place_order {
  width: 100% !important;
  min-height: 62px !important;
  padding: 16px 18px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: linear-gradient(90deg, #ff0f62, #bc003f) !important;
  color: #fff !important;
  box-shadow: 0 14px 35px rgba(232,0,79,.28) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.gslc-checkout-grid #payment #place_order:hover { filter: brightness(1.05); }

/* Remove irrelevant totals / coupon visuals from the right card. */
.gslc-checkout-grid .woocommerce-checkout-review-order-table tfoot tr.cart-subtotal,
.gslc-checkout-grid .woocommerce-checkout-review-order-table tfoot tr.order-total,
.gslc-checkout-grid .woocommerce-checkout-review-order-table tfoot tr.cart-discount { display: none !important; }

/* Hide any shipping block for the supplied digital checkout design. */
.gslc-shell.gslc-digital-checkout .woocommerce-shipping-fields,
.gslc-shell.gslc-digital-checkout #ship-to-different-address { display: none !important; }

/* Mobile */
@media (max-width: 980px) {
  .gslc-checkout-grid form.checkout { grid-template-columns: 1fr !important; }
  .gslc-checkout-grid #customer_details,
  .gslc-checkout-grid #order_review { grid-column: 1 !important; }
}

@media (max-width: 640px) {
  .gslc-shell { padding: 42px 12px 58px; }
  .gslc-hero h1 { font-size: 46px; }
  .gslc-hero p { font-size: 13px; }
  .gslc-checkout-grid #customer_details .col-1,
  .gslc-checkout-grid #order_review { padding: 20px 16px 22px !important; border-radius: 14px !important; }
  .gslc-checkout-grid .form-row-first,
  .gslc-checkout-grid .form-row-last { width: 100% !important; }
  .gslc-checkout-grid .form-row-first { margin-right: 0 !important; }
  .gslc-product-card { align-items: flex-start !important; gap: 10px !important; }
  .gslc-product-media { width: 76px !important; height: 76px !important; flex-basis: 76px !important; }
  .gslc-product-name { font-size: 12px; }
  .gslc-product-desc { font-size: 9px; }
  .gslc-license-pill { display: table; margin: 6px 0 0; }
  .gslc-price-stack { min-width: 102px; gap: 5px; }
  .gslc-current-price { font-size: 24px; }
  .gslc-discount-badge { font-size: 9px; padding: 6px 8px; }
  .gslc-saving { font-size: 8px; padding: 6px 8px; }
  .gslc-benefits-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method > label { min-height: 58px !important; }
}


/* ================================================================
   v1.1 FIXES — layout, order panel, notes, header spacing
   ================================================================ */

/* Reduce the empty space underneath the existing site header. */
.gslc-shell {
  margin-top: 0 !important;
  padding-top: clamp(28px, 3.5vw, 48px) !important;
}

/* The native express block can stay native, but should not create a huge
   left-only island above the checkout cards. */
.gslc-checkout-grid > .wc-stripe-express-checkout,
.gslc-checkout-grid > #wc-stripe-express-checkout-element,
.gslc-checkout-grid > .wc-stripe-express-checkout-wrapper,
.gslc-checkout-grid > #wc-stripe-express-checkout-wrapper,
.gslc-checkout-grid > #wc-stripe-payment-request-wrapper,
.gslc-checkout-grid > .wc-stripe-payment-request-wrapper {
  width: min(680px, 100%) !important;
  max-width: 100% !important;
  margin: 0 auto 24px !important;
}

@media (min-width: 981px) {
  /* IMPORTANT: form children are the actual WooCommerce grid items.
     The old CSS let #order_review_heading become a third grid item,
     which pushed the order panel down and created the giant blank gap. */
  .gslc-checkout-grid form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    align-items: start !important;
    gap: 24px !important;
  }

  .gslc-checkout-grid #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .gslc-checkout-grid #order_review {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
  }

  /* Hide the standalone native H3 because it becomes its own grid item. */
  .gslc-checkout-grid #order_review_heading {
    display: none !important;
  }
}

/* Our order heading lives INSIDE #order_review, so it can never drift away
   from the order/payment card. */
.gslc-order-heading {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid var(--gs-line-soft) !important;
}

.gslc-section-number {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 38px !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #ff0d60, #b7003d) !important;
  color: #fff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  box-shadow: 0 12px 24px rgba(232,0,79,.23) !important;
}

.gslc-order-heading h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 25px !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
}

.gslc-order-heading p {
  margin: 6px 0 0 !important;
  color: var(--gs-muted) !important;
  font-size: 11px !important;
  line-height: 1.5 !important;
}

/* Do not let the old CSS-generated heading survive. */
.gslc-checkout-grid #order_review_heading::before,
.gslc-checkout-grid #order_review_heading::after {
  display: none !important;
  content: none !important;
}

/* Additional Information / Order Notes is disabled in PHP; this is a
   defensive visual fallback for themes that still output the wrapper. */
.gslc-checkout-grid .woocommerce-additional-fields,
.gslc-checkout-grid .woocommerce-additional-fields__field-wrapper,
.gslc-checkout-grid #order_comments_field,
.gslc-checkout-grid #order_comments {
  display: none !important;
}

/* Product image fallback if the Woo product has no featured image. */
.gslc-product-fallback {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
  background: radial-gradient(circle at 50% 40%, #3a0b1d 0%, #12080d 70%) !important;
  color: #ff2b6b !important;
  font-size: 34px !important;
  font-weight: 900 !important;
  letter-spacing: -.04em !important;
}

@media (max-width: 980px) {
  .gslc-checkout-grid form.checkout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto !important;
    align-items: start !important;
    gap: 18px !important;
  }

  .gslc-checkout-grid #customer_details,
  .gslc-checkout-grid #order_review {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    align-self: start !important;
  }

  .gslc-checkout-grid #order_review_heading {
    display: none !important;
  }
}

@media (max-width: 640px) {
  .gslc-shell { padding-top: 26px !important; }
  .gslc-order-heading { gap: 11px !important; margin-bottom: 18px !important; padding-bottom: 16px !important; }
  .gslc-section-number { flex-basis: 34px !important; width: 34px !important; height: 34px !important; }
  .gslc-order-heading h3 { font-size: 22px !important; }
  .gslc-order-heading p { font-size: 10px !important; }
}



/* ================================================================
   v1.4 — NATIVE STRIPE EXPRESS INSIDE YOUR ORDER
   ================================================================ */

/* Existing Gold Striker header: no extra gap underneath. */
body.woocommerce-checkout .gstlux-header,
body.woocommerce-checkout .gstlux-main {
  margin-bottom: 0 !important;
}

body.woocommerce-checkout .site-content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout main,
body.woocommerce-checkout .entry-content {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.woocommerce-checkout .gslc-shell {
  margin-top: 0 !important;
  padding-top: 12px !important;
}

body.woocommerce-checkout .gslc-hero {
  margin-top: 0 !important;
  margin-bottom: 30px !important;
}

/* Keep only the authoritative v1.4 headings/banners if older snippets exist. */
.gslc-payment-heading-safe,
.gslc-final-sale-banner-row,
.gslc-sale-banner-row,
.gslc-express-heading-safe {
  display: none !important;
}

/* Desktop: billing left, order/payment right. */
@media (min-width: 981px) {

  .gslc-checkout-grid form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
  }

  .gslc-checkout-grid #customer_details {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    align-self: start !important;
  }

  .gslc-checkout-grid #order_review {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    align-self: start !important;
    margin: 0 !important;
  }

  .gslc-checkout-grid #order_review_heading {
    display: none !important;
  }
}

/* Your Order title remains inside the order card. */
.gslc-order-heading {
  display: flex !important;
  align-items: flex-start !important;
  gap: 14px !important;
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid var(--gs-line-soft) !important;
}

.gslc-order-heading h3 {
  color: #fff !important;
}

.gslc-order-heading p {
  color: var(--gs-muted) !important;
}

/* ================================================================
   EXPRESS CHECKOUT
   IMPORTANT: The Stripe element itself is now rendered by Stripe on
   WooCommerce's order_review hook at priority 18. There is NO JS
   relocation and NO CSS grid/flex applied to Stripe's internals.
   ================================================================ */

.gslc-express-heading-v14 {
  margin: 20px 0 9px !important;
  padding: 0 !important;
}

.gslc-express-heading-v14 h3 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
  letter-spacing: -.02em !important;
}

.gslc-express-heading-v14 p {
  margin: 5px 0 0 !important;
  color: #a89aa1 !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
}

/* Stable outer shell around the native Stripe Express mount. */
.gslc-checkout-grid #wc-stripe-express-checkout-element {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 12px !important;
  box-sizing: border-box !important;
  border: 1px solid #64203a !important;
  border-radius: 14px !important;
  background: linear-gradient(180deg, #1b080f, #11070c) !important;
  box-shadow: 0 14px 36px rgba(0,0,0,.20) !important;
  overflow: visible !important;
}

/* Stripe's inline display:none is only its initial placeholder state. */
.gslc-checkout-grid #wc-stripe-express-checkout-element[style*="display:none"] {
  display: block !important;
}

/* No pseudo heading, no pseudo separator, no manipulation of Stripe children. */
.gslc-checkout-grid #wc-stripe-express-checkout-element::before,
.gslc-checkout-grid #wc-stripe-express-checkout-element::after {
  content: none !important;
  display: none !important;
}

/* Keep Stripe's native children/iframes intact. */
.gslc-checkout-grid #wc-stripe-express-checkout-element iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  border: 0 !important;
}

.gslc-checkout-grid #wc-stripe-express-checkout-button-separator {
  margin: 12px 0 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #81747b !important;
  font-size: 9px !important;
  text-align: center !important;
}

/* ================================================================
   PAYMENT OPTIONS
   ================================================================ */

.gslc-payment-heading {
  margin: 18px 0 10px !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #2b171f !important;
}

.gslc-payment-heading h4 {
  margin: 0 !important;
  color: #fff !important;
  font-size: 16px !important;
  line-height: 1.25 !important;
  font-weight: 900 !important;
}

.gslc-payment-heading p {
  margin: 5px 0 0 !important;
  color: #a89aa1 !important;
  font-size: 10px !important;
  line-height: 1.4 !important;
}

/* Native payment gateways. */
.gslc-checkout-grid #payment {
  margin-top: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.gslc-checkout-grid #payment ul.payment_methods {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #3c202a !important;
  border-radius: 12px !important;
  background: #0c080b !important;
  overflow: hidden !important;
}

.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method > label {
  display: flex !important;
  align-items: center !important;
  min-height: 62px !important;
  margin: 0 !important;
  padding: 14px 15px !important;
  color: #fff !important;
  background: transparent !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method input.input-radio {
  flex: 0 0 auto !important;
  margin: 0 12px 0 0 !important;
  accent-color: #f00555 !important;
}

.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method > label img {
  margin-left: auto !important;
  max-width: 250px !important;
  max-height: 38px !important;
  width: auto !important;
}

.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method .payment_box {
  margin: 0 !important;
  padding: 15px !important;
  border-top: 1px solid #361723 !important;
  background: #13090f !important;
  color: #b7a8af !important;
}

.gslc-checkout-grid #payment ul.payment_methods li.wc_payment_method .payment_box::before {
  display: none !important;
}

/* Stripe Payment Element shell — native iframe stays untouched. */
.gslc-checkout-grid #payment li.payment_method_stripe .wc-stripe-upe-element {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  background: #0b080a !important;
  border: 1px solid #4a2330 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
}

.gslc-checkout-grid #payment li.payment_method_stripe .wc-stripe-upe-element iframe {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  border: 0 !important;
}

/* ================================================================
   SALE BANNER
   ================================================================ */

.gslc-v14-sale-row td {
  padding: 0 0 14px !important;
  border: 0 !important;
  background: transparent !important;
}

.gslc-v14-sale-banner {
  display: flex !important;
  align-items: flex-start !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 15px 16px !important;
  border: 1px solid #b50c42 !important;
  border-radius: 13px !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(255,0,91,.20), transparent 42%),
    linear-gradient(135deg, #3a091c 0%, #190810 100%) !important;
  box-shadow: 0 14px 36px rgba(185,0,62,.14), inset 0 1px 0 rgba(255,255,255,.035) !important;
}

.gslc-v14-sale-icon {
  flex: 0 0 34px !important;
  width: 34px !important;
  height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #ff0a61, #b80742) !important;
  color: #fff !important;
  font-size: 17px !important;
  line-height: 1 !important;
}

.gslc-v14-sale-copy {
  min-width: 0 !important;
}

.gslc-v14-sale-topline {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 7px !important;
}

.gslc-v14-sale-topline > span {
  color: #ff7ba7 !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .14em !important;
}

.gslc-v14-sale-topline > strong {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 22px !important;
  padding: 4px 8px !important;
  border-radius: 999px !important;
  background: #f20a5b !important;
  color: #fff !important;
  font-size: 9px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
}

.gslc-v14-sale-title {
  display: block !important;
  margin-top: 6px !important;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  font-weight: 900 !important;
}

.gslc-v14-sale-detail,
.gslc-v14-sale-urgency {
  margin: 5px 0 0 !important;
  color: #cbb8c1 !important;
  font-size: 10px !important;
  line-height: 1.45 !important;
}

.gslc-v14-sale-detail s {
  color: #96848d !important;
}

.gslc-v14-sale-urgency {
  color: #ffb9cd !important;
  font-weight: 700 !important;
}

.gslc-v14-sale-banner .woocommerce-Price-amount {
  color: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
}

@media (max-width: 980px) {
  .gslc-checkout-grid form.checkout {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 18px !important;
  }

  .gslc-checkout-grid #customer_details,
  .gslc-checkout-grid #order_review {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    min-height: 0 !important;
    align-self: start !important;
  }

  .gslc-checkout-grid #order_review_heading {
    display: none !important;
  }

  .gslc-express-heading-v14 {
    margin-top: 16px !important;
  }
}

@media (max-width: 640px) {
  body.woocommerce-checkout .gslc-shell {
    padding-top: 10px !important;
  }

  .gslc-express-heading-v14 h3 {
    font-size: 17px !important;
  }

  .gslc-express-heading-v14 p {
    font-size: 10px !important;
  }

  .gslc-v14-sale-banner {
    padding: 13px !important;
  }

  .gslc-v14-sale-title {
    font-size: 13px !important;
  }
}
