/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 1.9.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* ==========================================================================
   EDC — stylesheet
   --------------------------------------------------------------------------
   CONTENTS
   1. Tokens
   2. Utilities
   3. Third-party overrides
      3.1 Gravity Forms
      3.2 JetWooBuilder — Single Add to Cart
      3.3 JetTabs — pill row
      3.4 JetWooBuilder — Cart table & totals
      3.5 JetWooBuilder — Checkout
      3.6 WooCommerce — Notices
      3.7 JetWooBuilder — Thank You
   4. Gradient helpers
   5. Buttons
   6. Cards
   7. Chips & payment marks
   8. Lists
   9. Bars (sticky CTA / urgency)
   ========================================================================== */


/* ==========================================================================
   1. TOKENS
   ========================================================================== */

:root {
  --edc-grad: linear-gradient(120deg, #ff2e9a 0%, #8a3ffc 52%, #19e3ff 100%);
  --edc-grad-party: linear-gradient(150deg, #8a3ffc, #ff2e9a 60%, #19e3ff);
  --edc-grad-soft: linear-gradient(120deg, rgba(255,46,154,.16), rgba(138,63,252,.16), rgba(25,227,255,.12));
  --edc-grad-strip: linear-gradient(90deg, rgba(255,46,154,.18), rgba(25,227,255,.12));
  --edc-grad-text: linear-gradient(120deg, rgb(255, 46, 154) 0%, rgb(138, 63, 252) 52%, rgb(25, 227, 255) 100%) text;
  --edc-grad-warm: linear-gradient(120deg, rgba(255,209,102,.14), rgba(255,46,154,.12));
  --edc-scrim: radial-gradient(circle at 28% 22%, rgba(255,255,255,.28), transparent 42%);
}


/* ==========================================================================
   2. UTILITIES
   ========================================================================== */

.highlight--gold {
  color: #ffd166;
  font-weight: 700;
}

.highlight--success {
  color: #2fe3a0;
  font-weight: 700;
}

.highlight--white {
  color: #ffffff;
  font-weight: 700;
}

/* .e-con > .e-con-inner {
  box-shadow:
     60px 0 90px -45px rgba(138, 63, 252, 0.28),
    -60px 0 90px -45px rgba(138, 63, 252, 0.28);
} */


/* ==========================================================================
   3. THIRD-PARTY OVERRIDES
   ========================================================================== */

/* ---- 3.1 Gravity Forms ----
   Note: the GF submit button is styled in section 5 alongside .edc-btn,
   since it is a button first and a plugin override second. */

body .gform_wrapper.gravity-theme .gform_footer,
body .gform_wrapper.gravity-theme .gform_page_footer {
  margin: 0;
  padding: 0;
}


/* ---- 3.2 JetWooBuilder — Single Add to Cart ----
   Add .edc-atc to the JetWooBuilder Single Add to Cart widget wrapper.
   Selectors are scoped to that class so nothing leaks into other
   WooCommerce templates. */

/* Variation rows: label above, field below. */
.edc-atc .variations {
  border: none;
  margin-bottom: 14px;
  width: 100%;
}

.edc-atc .variations tr,
.edc-atc .variations td,
.edc-atc .variations th {
  background: none;
  border: none;
  display: block;
  padding: 0;
  width: 100%;
}

.edc-atc .variations .label,
.edc-atc .variations label {
  color: #bcaee0;
  font-family: "futura-pt";
  font-size: 11px;
  font-weight: 400;
  letter-spacing: .5px;
  margin-bottom: 5px;
  text-transform: uppercase;
}

.edc-atc .variations .value {
  margin-bottom: 14px;
}

/* Selects and inputs. Matches the .edc-field surface in section 6. */
.edc-atc select,
.edc-atc input[type="text"],
.edc-atc input[type="number"],
.edc-atc input[type="date"] {
  appearance: none;
  -webkit-appearance: none;
  background-color: #0f0820;
  background-image:
    linear-gradient(45deg, transparent 50%, #19e3ff 50%),
    linear-gradient(135deg, #19e3ff 50%, transparent 50%);
  background-position: right 18px center, right 13px center;
  background-repeat: no-repeat;
  background-size: 5px 5px, 5px 5px;
  border: 1px solid #33224d;
  border-radius: 11px;
  color: #ffffff;
  font-family: "avenir-next-lt-pro";
  font-size: 14px;
  line-height: 1.4;
  padding: 13px 14px;
  transition: border-color .15s ease, box-shadow .15s ease;
  width: 100%;
}

.edc-atc input[type="number"] {
  background-image: none;
}

.edc-atc select:focus,
.edc-atc input:focus {
  border-color: #19e3ff;
  box-shadow: 0 0 0 3px rgba(25,227,255,.15);
  outline: none;
}

.edc-atc select option {
  background-color: #0f0820;
  color: #ffffff;
}

/* "Clear" link under the variations. */
.edc-atc .reset_variations {
  display: none !important;
}

/* Price shown when a variation is chosen. */
.edc-atc .woocommerce-variation-price .price,
.edc-atc .woocommerce-variation-price .amount {
  color: #ffffff;
  font-family: "futura-pt-bold";
  font-size: 30px;
  font-weight: 700;
}

.edc-atc .woocommerce-variation-availability p {
  color: #2fe3a0;
  font-size: 12px;
}

/* Cart row: stepper left, button fills the rest. */
.edc-atc form.cart,
.edc-atc .jet-woo-builder-single-add-to-cart form.cart {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin: 16px 0 0;
}

.edc-atc .quantity {
  align-items: center;
  border: 1px solid #33224d;
  border-radius: 11px;
  display: flex;
  flex: none;
  margin: 0;
  overflow: hidden;
}

.edc-atc .quantity input.qty {
  -moz-appearance: textfield;
  background-color: #0f0820;
  border: none;
  border-radius: 0;
  color: #ffffff;
  font-family: "futura-pt";
  font-size: 15px;
  min-height: 50px;
  text-align: center;
  width: 62px;
}

.edc-atc .quantity input.qty::-webkit-outer-spin-button,
.edc-atc .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/* Plus/minus buttons, if your theme or JetWoo renders them. */
.edc-atc .quantity .plus,
.edc-atc .quantity .minus,
.edc-atc .quantity button {
  background-color: #0f0820;
  border: none;
  color: #ffffff;
  cursor: pointer;
  font-size: 16px;
  line-height: 1;
  min-height: 50px;
  padding: 0 16px;
}

.edc-atc .quantity .plus:hover,
.edc-atc .quantity .minus:hover,
.edc-atc .quantity button:hover {
  color: #ff2e9a;
}

/* The add-to-cart button — primary gradient, same shape as .edc-btn--primary.
   WooCommerce ships its own button styles, hence the !important flags. */
.edc-atc button.single_add_to_cart_button,
.edc-atc .single_add_to_cart_button {
  background: var(--edc-grad) !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(255,46,154,.35);
  color: #0a0512 !important;
  flex: 1;
  font-family: "futura-pt-bold";
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 1.5px;
  line-height: 1;
  min-height: 50px;
  min-width: 180px;
  padding: 16px 22px;
  text-transform: uppercase;
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}

.edc-atc button.single_add_to_cart_button:hover,
.edc-atc button.single_add_to_cart_button:focus {
/*   box-shadow: 0 12px 32px rgba(255,46,154,.5); */
/*   filter: saturate(1.08); */
/*   transform: translateY(-1px); */
}

.edc-atc button.single_add_to_cart_button:active {
/*   transform: translateY(0); */
}

.edc-atc button.single_add_to_cart_button:focus-visible {
  outline: 2px solid #19e3ff;
  outline-offset: 3px;
}

.edc-atc button.single_add_to_cart_button.disabled,
.edc-atc button.single_add_to_cart_button[disabled] {
  box-shadow: none;
  cursor: not-allowed;
  opacity: .45;
}

/* Woo notices inside the widget. */
.edc-atc .woocommerce-variation-add-to-cart-disabled {
  opacity: .55;
}

.edc-atc .stock.out-of-stock {
  color: #ff2e9a;
  font-size: 12px;
}

@media (max-width: 767px) {
  .edc-atc button.single_add_to_cart_button {
    flex: 1 1 100%;
  }
}


/* ---- 3.3 JetTabs — pill row ----
   Add .edc-tabs to the JetTabs widget wrapper. The controls are the
   .edc-btn--pill shape from section 5, restated here because JetTabs
   owns the markup and ships its own chrome. */

.edc-tabs .jet-tabs__control-wrapper {
  border: none;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 18px;
}

/* Each tab = the idle pill. */
.edc-tabs .jet-tabs__control {
  background-color: transparent !important;
  border: 1px solid #33224d !important;
  border-radius: 999px !important;
  color: #bcaee0 !important;
  cursor: pointer;
  flex: 0 0 auto;
  font-family: "futura-pt-bold";
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  line-height: 1.2;
  padding: 9px 15px;
  text-transform: uppercase;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

.edc-tabs .jet-tabs__control-inner {
  align-items: center;
  display: flex;
  gap: 6px;
  padding: 0;
}

.edc-tabs .jet-tabs__label-text {
  color: inherit;
}

.edc-tabs .jet-tabs__control:hover {
  border-color: #19e3ff !important;
  color: #ffffff !important;
}

/* Selected tab takes the gradient. */
.edc-tabs .jet-tabs__control.active-tab {
  background: var(--edc-grad) !important;
  border-color: transparent !important;
  color: #0a0512 !important;
}

.edc-tabs .jet-tabs__control.active-tab .jet-tabs__label-text,
.edc-tabs .jet-tabs__control.active-tab .jet-tabs__icon {
  color: #0a0512;
}

.edc-tabs .jet-tabs__control:focus-visible {
  outline: 2px solid #19e3ff;
  outline-offset: 3px;
}

/* Panels: plain text on the page, no card, no border. */
.edc-tabs .jet-tabs__content-wrapper {
  background: none;
  border: none;
}

.edc-tabs .jet-tabs__content {
  background: none;
  border: none;
  color: #e7ddf5;
  font-family: "avenir-next-lt-pro";
  font-size: 14px;
  line-height: 1.55;
  padding: 0;
}

.edc-tabs .jet-tabs__content p {
  margin: 0 0 10px;
}

.edc-tabs .jet-tabs__content a {
  color: #19e3ff;
}

.edc-tabs .jet-tabs__content a:hover {
  color: #ff2e9a;
}

/* Mobile accordion mode: JetTabs swaps controls inline between panels. */
@media (max-width: 767px) {
  .edc-tabs .jet-tabs__control-wrapper {
    gap: 6px;
  }

  .edc-tabs .jet-tabs__control {
    flex: 1 1 auto;
    justify-content: center;
    text-align: center;
  }
}


/* ---- 3.4 JetWooBuilder — Cart table & totals ----
   Add .edc-cart-table to the Cart Table widget and .edc-cart-totals to
   the Cart Totals widget. Both panels are the .edc-card surface from
   section 6, restated because JetWoo owns the wrappers. */

.edc-cart-table {
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 16px;
  padding: 18px;
}

.edc-cart-table table.shop_table,
.edc-cart-table .jet-woo-builder-cart-table {
  background: none;
  border: none;
  border-collapse: collapse;
  width: 100%;
}

.edc-cart-table thead th {
  border-bottom: none;
  color: #bcaee0;
  font-family: "futura-pt-bold";
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 0 0 10px;
  text-align: left;
  text-transform: uppercase;
}

.edc-cart-table tbody td {
  border-bottom: none;
  color: #e7ddf5;
  font-family: "avenir-next-lt-pro";
  font-size: 13.5px;
  padding: 14px 8px;
  vertical-align: middle;
}

.edc-cart-table .product-thumbnail img {
  border: 1px solid #33224d;
  border-radius: 10px;
}

.edc-cart-table .product-name a {
  color: #ffffff;
  font-family: "futura-pt";
  font-size: 14px;
  letter-spacing: .3px;
  text-decoration: none;
  text-transform: uppercase;
}

.edc-cart-table .product-name a:hover {
  color: #19e3ff;
}

.edc-cart-table .variation {
  color: #bcaee0;
  font-size: 11.5px;
  margin-top: 4px;
}

.edc-cart-table .variation dt {
  display: inline;
  font-weight: 400;
}

.edc-cart-table .variation dd {
  display: inline;
  margin: 0 8px 0 4px;
}

.edc-cart-table .product-price,
.edc-cart-table .product-subtotal {
  color: #ffffff;
  font-family: "futura-pt-bold";
  font-weight: 700;
}

/* Quantity stepper, same shape as the product page. */
.edc-cart-table .quantity {
  align-items: center;
  border: 1px solid #33224d;
  border-radius: 11px;
  display: inline-flex;
  overflow: hidden;
}

.edc-cart-table .quantity input.qty {
  background-color: #0f0820;
  border: none;
  color: #ffffff;
  font-family: "futura-pt";
  font-size: 14px;
  min-height: 40px;
  text-align: center;
  width: 52px;
}

/* Remove (x) link. */
.edc-cart-table .product-remove a.remove {
  align-items: center;
  background: transparent !important;
  border-radius: 50%;
  color: #bcaee0 !important;
  display: flex;
  font-size: 16px;
  height: 26px;
  justify-content: center;
  line-height: 1;
  width: 26px;
}

.edc-cart-table .product-remove a.remove:hover {
  background: rgba(255,46,154,.12) !important;
  color: #ff2e9a !important;
}

/* Update cart button. The .edc-btn--secondary shape, cyan on hover. */
.edc-cart-table button[name="update_cart"] {
  background: transparent !important;
  border: 1.5px solid #33224d !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  cursor: pointer;
  font-family: "futura-pt-bold";
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .5px;
  padding: 12px 18px;
  text-transform: uppercase;
  transition: color .15s ease, border-color .15s ease, background-color .15s ease;
}

.edc-cart-table button[name="update_cart"]:hover,
.edc-cart-table button[name="update_cart"]:focus {
  background: rgba(25,227,255,.08) !important;
  border-color: #19e3ff !important;
  color: #ffffff !important;
}

.edc-cart-table button[name="update_cart"]:disabled {
  cursor: not-allowed;
  opacity: .4;
}

/* Coupon row, if shown inside the table widget. */
.edc-cart-table .coupon input.input-text {
  background-color: #0f0820;
  border: 1px solid #33224d;
  border-radius: 10px;
  color: #ffffff;
  font-size: 13px;
  padding: 11px 12px;
}

.edc-cart-table .coupon button.button {
  background: transparent !important;
  border: 1.5px solid #33224d !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  font-family: "futura-pt-bold";
  font-size: 12px;
  letter-spacing: .5px;
  padding: 11px 16px;
  text-transform: uppercase;
}

/* Stacked rows on mobile: the header row is dropped entirely. */
@media (max-width: 767px) {
  .edc-cart-table table.shop_table,
  .edc-cart-table table.shop_table thead,
  .edc-cart-table table.shop_table tbody,
  .edc-cart-table table.shop_table tr,
  .edc-cart-table table.shop_table td {
    display: block;
    width: 100%;
  }

  .edc-cart-table thead {
    display: none;
  }

  .edc-cart-table tbody tr {
    padding: 14px 0;
  }

  .edc-cart-table tbody td {
    padding: 4px 0;
  }
}

/* ---- Cart totals panel. ---- */
.edc-cart-totals {
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 16px;
  padding: 18px;
}

.edc-cart-totals table.shop_table_responsive,
.edc-cart-totals .jet-woo-builder-cart-totals table {
  background: none;
  border: none;
  border-collapse: collapse;
  width: 100%;
}

.edc-cart-totals tr td,
.edc-cart-totals tr th {
  background-color: transparent !important;
  border: none;
  color: #e7ddf5;
  font-size: 13px;
  padding: 4px 0;
}

.edc-cart-totals tr th {
  background-color: transparent !important;
  color: #bcaee0;
  font-weight: 400;
  text-align: left;
}

.edc-cart-totals tr td {
  text-align: right;
}

/* Order total row: the big number. */
.edc-cart-totals tr.order-total {
  border-top: 1px solid #33224d;
}

.edc-cart-totals tr.order-total th,
.edc-cart-totals tr.order-total td {
  color: #ffffff;
  font-family: "futura-pt-bold";
  font-size: 20px;
  font-weight: 700;
  padding-top: 10px;
}

.edc-cart-totals .woocommerce-shipping-totals select {
  background-color: #0f0820;
  border: 1px solid #33224d;
  border-radius: 10px;
  color: #ffffff;
  font-size: 13px;
  padding: 10px 12px;
  width: 100%;
}

/* Proceed to checkout button. */
.edc-cart-totals .checkout-button,
.edc-cart-totals .wc-proceed-to-checkout a {
  background: var(--edc-grad) !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(255,46,154,.35);
  color: #0a0512 !important;
  display: flex;
  font-family: "futura-pt-bold";
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 1.5px;
  margin-top: 14px;
  padding: 16px;
  text-align: center;
  text-transform: uppercase;
  transition: transform .15s ease, box-shadow .15s ease;
  width: 100%;
}

.edc-cart-totals .checkout-button:hover,
.edc-cart-totals .wc-proceed-to-checkout a:hover {
/*   box-shadow: 0 12px 32px rgba(255,46,154,.5); */
/*   transform: translateY(-1px); */
}

.edc-cart-totals .edc-cart-totals__note {
  color: #2fe3a0;
  font-size: 11px;
  margin-top: 8px;
  text-align: center;
}


/* ---- 3.5 JetWooBuilder — Checkout ----
   Add .edc-order-review to the Order Review widget, .edc-billing-details
   to the Billing Details widget, and .edc-payment to the Payment widget.
   The review panel is the .edc-card surface from section 6; the fields
   are the .edc-field surface. Both are restated because JetWoo and
   WooCommerce own the markup. */

.edc-order-review {
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 16px;
  padding: 18px;
}

.edc-order-review table.shop_table,
.edc-order-review .jet-woo-builder-checkout-order-review table {
  background: none;
  border: none;
  border-collapse: collapse;
  width: 100%;
}

.edc-order-review thead th,
.edc-order-review tbody td,
.edc-order-review tfoot td,
.edc-order-review tfoot th {
  background: none;
  border: none;
  color: #e7ddf5;
  font-size: 13px;
  padding: 8px 0;
}

.edc-order-review thead th {
  color: #bcaee0;
  font-weight: 400;
  text-align: left;
}

.edc-order-review .product-name {
  text-align: left;
}

.edc-order-review .product-total {
  color: #ffffff;
  text-align: right;
}

.edc-order-review .product-name .product-quantity {
  color: #bcaee0;
  font-size: 12px;
}

/* Order total row: the big number. */
.edc-order-review tfoot tr.order-total th,
.edc-order-review tfoot tr.order-total td {
  border-top: 1px solid #33224d;
  color: #ffffff;
  font-family: "futura-pt-bold";
  font-size: 20px;
  font-weight: 700;
  padding-top: 10px;
}

/* Kill the white flash: Woo adds/removes .processing and injects a
   block-UI overlay with an inline white background via jQuery. Applies
   to Order Review AND the Cart Table/Totals widgets, which use the same
   block-UI mechanism when a line item is removed or updated. The
   unscoped selectors are there because Woo owns that markup. */
.edc-order-review.processing::before,
.edc-cart-table.processing::before,
.edc-cart-totals.processing::before,
table.shop_table.processing::before,
.woocommerce-checkout-review-order-table.processing::before,
.woocommerce-cart-form.processing::before,
#order_review.processing::before {
  background-color: rgba(26,16,48,.75) !important;
}

/* background-image is reset because some themes and plugins set the
   overlay via an inline spinner GIF — hide it so only the tint shows. */
.edc-order-review .blockUI.blockOverlay,
.edc-cart-table .blockUI.blockOverlay,
.edc-cart-totals .blockUI.blockOverlay,
.woocommerce-cart-form .blockUI.blockOverlay,
.cart_totals .blockUI.blockOverlay {
  background: rgba(26,16,48,.75) !important;
  background-image: none !important;
  opacity: 1 !important;
}

.edc-order-review.processing,
.edc-cart-table.processing,
.edc-cart-totals.processing {
  opacity: 1;
}

.edc-order-review .woocommerce-shipping-totals select {
  background-color: #0f0820;
  border: 1px solid #33224d;
  border-radius: 10px;
  color: #ffffff;
  font-size: 13px;
  padding: 10px 12px;
  width: 100%;
}

/* ---- Billing details. ---- */
.edc-billing-details .woocommerce-billing-fields h3,
.edc-billing-details .woocommerce-additional-fields h3 {
  color: #ffffff;
  font-family: "futura-pt";
  font-size: 19px;
  font-weight: 600;
  letter-spacing: .5px;
  margin: 0 0 12px;
  text-transform: uppercase;
}

.edc-billing-details .form-row label {
  color: #bcaee0;
  display: block;
  font-family: "avenir-next-lt-pro";
  font-size: 11px;
  font-weight: 400;
  margin-bottom: 5px;
}

.edc-billing-details .form-row .required {
  color: #ff2e9a;
  text-decoration: none;
}

/* Fields. WooCommerce and Select2 both ship their own, hence !important. */
.edc-billing-details input.input-text,
.edc-billing-details select,
.edc-billing-details textarea,
.edc-billing-details .select2-selection {
  background-color: #0f0820 !important;
  border: 1px solid #33224d !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  font-family: "avenir-next-lt-pro";
  font-size: 14px;
  line-height: 1.4;
  min-height: 48px;
  padding: 12px 13px !important;
  transition: border-color .15s ease, box-shadow .15s ease;
  width: 100%;
}

.edc-billing-details ::placeholder {
  color: #6f5f93;
  opacity: 1;
}

.edc-billing-details input.input-text:focus,
.edc-billing-details select:focus,
.edc-billing-details textarea:focus {
  border-color: #19e3ff !important;
  box-shadow: 0 0 0 3px rgba(25,227,255,.15);
  outline: none;
}

/* Country/state Select2. The shared field rule above pads .select2-selection,
   but Select2 nests the rendered span inside it and that span carries its own
   line-height — the two stack. Pin the box, strip its padding, and let the
   span's line-height fill the 46px content area. */
.edc-billing-details .select2-container--default .select2-selection--single {
  height: 48px !important;
  min-height: 48px !important;
  padding: 0 !important;
}

.edc-billing-details .select2-selection__rendered {
  color: #ffffff !important;
  line-height: 46px !important;
  padding: 0 13px !important;
}

.edc-billing-details .select2-selection__arrow {
  height: 46px !important;
}

.edc-billing-details .select2-dropdown {
  background-color: #0f0820;
  border-color: #33224d;
}

.edc-billing-details .select2-results__option {
  color: #ffffff;
}

.edc-billing-details .select2-results__option--highlighted {
  background-color: #ff2e9a !important;
  color: #0a0512 !important;
}

/* Create-account checkbox, order notes. */
.edc-billing-details .create-account,
.edc-billing-details .woocommerce-additional-fields {
  color: #bcaee0;
  font-size: 12.5px;
  margin-top: 14px;
}

/* ---- Payment methods. ---- */
.edc-payment .wc_payment_methods {
  list-style: none;
  margin: 0;
  padding: 0;
}

.edc-payment .wc_payment_method {
  background-color: transparent;
  border: 1.5px solid #33224d;
  border-radius: 12px;
  margin-bottom: 8px;
  padding: 13px 14px;
  transition: border-color .15s ease, background-color .15s ease;
}

.edc-payment .wc_payment_method.payment_method_stripe:has(input:checked),
.edc-payment .wc_payment_method:has(input:checked) {
  background-color: rgba(255,46,154,.06);
  border-color: #ff2e9a;
}

.edc-payment .wc_payment_method > input.input-radio {
  accent-color: #ff2e9a;
  margin-right: 8px;
}

.edc-payment .wc_payment_method label {
  color: #ffffff;
  font-family: "futura-pt";
  font-size: 13px;
  font-weight: 600;
  letter-spacing: .3px;
  text-transform: uppercase;
}

.edc-payment .payment_box {
  background-color: rgba(47,227,160,.04);
  border: 1.5px solid rgba(47,227,160,.4);
  border-radius: 12px;
  color: #e7ddf5;
  font-size: 12.5px;
  margin-top: 10px;
  padding: 14px;
}

.edc-payment .payment_box input.input-text {
  background-color: #0f0820;
  border: 1px solid #33224d;
  border-radius: 10px;
  color: #ffffff;
  font-size: 14px;
  margin-bottom: 11px;
  padding: 12px 13px;
  width: 100%;
}

/* Terms + place order footer inside the widget. */
.edc-payment .woocommerce-terms-and-conditions-wrapper {
  color: #bcaee0;
  font-size: 12px;
  margin: 14px 0;
}

.edc-payment .woocommerce-terms-and-conditions-wrapper a {
  color: #19e3ff;
}

.edc-payment #place_order,
.edc-payment .jet-woo-builder-place-order button {
  background: var(--edc-grad) !important;
  border: none !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 24px rgba(255,46,154,.35);
  color: #0a0512 !important;
  display: flex;
  font-family: "futura-pt-bold";
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 1.5px;
  padding: 16px;
  text-transform: uppercase;
  transition: transform .15s ease, box-shadow .15s ease;
  width: 100%;
}

.edc-payment #place_order:hover {
/*   box-shadow: 0 12px 32px rgba(255,46,154,.5); */
/*   transform: translateY(-1px); */
}


/* ---- 3.6 WooCommerce — Notices ----
   Unlike the rest of section 3, these are NOT scoped to a wrapper class:
   Woo injects notices wherever it likes, so the selectors are global.
   Anything more specific will beat them. */

.woocommerce-error,
.woocommerce-message,
.woocommerce-info,
.woocommerce-noreviews,
.woocommerce-NoticeGroup-checkout ul,
.woocommerce-NoticeGroup-updateOrderReview ul {
  align-items: center;
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 12px;
  color: #e7ddf5;
  display: flex;
  font-family: "avenir-next-lt-pro";
  font-size: 13.5px;
  gap: 10px;
  line-height: 1.5;
  list-style: none;
  margin: 0 auto 16px;
  max-width: 1120px;
}

.woocommerce-error li,
.woocommerce-message li,
.woocommerce-info li {
  list-style: none;
  margin: 0;
  padding: 0;
}

/* Error: pink. */
.woocommerce-error {
  background-color: rgba(255,46,154,.06);
  border-color: #ff2e9a;
  color: #ffb8dc;
}

/* Success: green. */
.woocommerce-message {
  background-color: rgba(47,227,160,.06);
  border-color: rgba(47,227,160,.4);
  color: #d8f7ec;
}

/* Info: cyan. */
.woocommerce-info {
  background-color: rgba(25,227,255,.05);
  border-color: rgba(25,227,255,.4);
  color: #cfeaf5;
}

/* Icon dot before the message. */
.woocommerce-error::before,
.woocommerce-message::before,
.woocommerce-info::before {
  background-position: center;
  background-repeat: no-repeat;
  border-radius: 50%;
  content: "";
  flex: none;
  height: 18px;
  width: 18px;
}

.woocommerce-error::before {
  background-color: #ff2e9a;
}

.woocommerce-message::before {
  background-color: #2fe3a0;
}

.woocommerce-info::before {
  background-color: #19e3ff;
}

/* Plain text links inside a notice (not the button-styled ones below).
   They inherit each notice's own colour, like the buttons do, so the
   underline is what marks them as links. */
.woocommerce-error a:not(.button),
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button) {
  color: inherit;
  text-decoration: underline;
}

.woocommerce-error a:not(.button):hover,
.woocommerce-message a:not(.button):hover,
.woocommerce-info a:not(.button):hover {
  color: #ffffff;
}

/* "View cart" / "Continue shopping" links inside a message.
   currentColor means the outline picks up each notice's own colour. */
.woocommerce-message a.button,
.woocommerce-error a.button,
.woocommerce-info a.button {
  background: transparent;
  border: 1px solid currentColor;
  border-radius: 9px;
  color: inherit;
  flex: none;
  font-family: "futura-pt-bold";
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .5px;
  margin-left: auto;
  padding: 9px 14px;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}

.woocommerce-message a.button:hover,
.woocommerce-error a.button:hover,
.woocommerce-info a.button:hover {
  background: rgba(255,255,255,.08);
}

/* Field-level validation error under an input. */
.woocommerce form .form-row.woocommerce-invalid label.error,
.woocommerce form .form-row .woocommerce-error-inline {
  color: #ff2e9a;
  font-size: 11.5px;
  margin-top: 4px;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select {
  border-color: #ff2e9a !important;
}

/* Mobile: 20px side gutters instead of the centred max-width, and the
   action button drops to its own full-width row. */
@media (max-width: 767px) {
  .woocommerce-error,
  .woocommerce-message,
  .woocommerce-info {
    flex-wrap: wrap;
    margin-left: 20px;
    margin-right: 20px;
    width: calc(100% - 40px);
  }

  .woocommerce-message a.button,
  .woocommerce-error a.button,
  .woocommerce-info a.button {
    flex-basis: 100%;
    margin-left: 0;
    text-align: center;
  }
}


/* ---- 3.7 JetWooBuilder — Thank You ----
   Add .edc-ty-order to the Thank You Order widget (line items + total)
   and .edc-ty-details to the Order Details widget (the meta list). */

.edc-ty-order {
  background: linear-gradient(180deg, #1d1136, #150b28);
  border: 1px solid #33224d;
  border-radius: 16px;
  padding: 18px;
}

.edc-ty-order table.shop_table,
.edc-ty-order .jet-woo-builder-thankyou-order table {
  background: none;
  border: none;
  border-collapse: collapse;
  width: 100%;
}

.edc-ty-order thead th,
.edc-ty-order tbody td,
.edc-ty-order tfoot td,
.edc-ty-order tfoot th {
  background: none;
  border: none;
  color: #e7ddf5;
  font-size: 13px;
  padding: 6px 0;
}

.edc-ty-order thead th {
  color: #bcaee0;
  font-weight: 400;
  text-align: left;
}

.edc-ty-order .product-name {
  text-align: left;
}

.edc-ty-order .product-total {
  color: #ffffff;
  text-align: right;
}

.edc-ty-order tfoot tr.order-total th,
.edc-ty-order tfoot tr.order-total td {
  border-top: 1px solid #33224d;
  color: #ffffff;
  font-family: "futura-pt-bold";
  font-size: 20px;
  font-weight: 700;
  padding-top: 10px;
}

/* ---- Order details, the meta list. ---- */
.edc-ty-details {
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 16px;
  padding: 18px;
}

.edc-ty-details ul,
.edc-ty-details .jet-woo-builder-thankyou-order-details ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.edc-ty-details li {
  border-bottom: 1px dashed #33224d;
  color: #e7ddf5;
  display: flex;
  font-size: 13px;
  justify-content: space-between;
  padding: 7px 0;
}

.edc-ty-details li:last-child {
  border-bottom: none;
}

.edc-ty-details li strong,
.edc-ty-details li .jet-woo-builder-thankyou-order-details__label {
  color: #bcaee0;
  font-weight: 400;
}

/* Order number, styled like the ticket card. */
.edc-ty-details .order-number,
.edc-ty-details__order-number {
  color: #ffd166;
  font-family: "futura-pt";
  font-size: 12px;
  letter-spacing: 1px;
}

.edc-ty-details .order-status,
.edc-ty-details__status {
  color: #2fe3a0;
  font-size: 12px;
}


/* ==========================================================================
   4. GRADIENT HELPERS
   ========================================================================== */

/* Solid gradient fill. Buttons, badges, active pills, the CTA in the sticky bar. */
.edc-grad-fill {
  background: var(--edc-grad);
  color: #0a0512;
}

/* Gradient text. One or two words per headline, never a whole line. */
.edc-grad-text,
.edc-grad-text .elementor-heading-title {
  background: var(--edc-grad-text);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
  -webkit-text-fill-color: transparent;
  width: fit-content;
}

/* 2px gradient outline around a dark card. Wrap the card in this element. */
.edc-grad-frame {
  background: var(--edc-grad);
  border-radius: 18px;
  padding: 2px;
}

.edc-grad-frame > * {
  background: #0c0718;
  border-radius: 16px;
}

/* Image placeholder: gradient + light sweep + dark scrim. Swap for real photography. */
.edc-grad-media {
  background: var(--edc-grad);
  overflow: hidden;
  position: relative;
}

.edc-grad-media::after {
  background: var(--edc-scrim), rgba(5,3,10,.34);
  content: "";
  inset: 0;
  position: absolute;
}

.edc-grad-media > * {
  position: relative;
  z-index: 2;
}

/* Party and nightlife imagery. Hotter, light sweep from the right. */
.edc-grad-media--party {
  background: var(--edc-grad-party);
}

.edc-grad-media--party::after {
  background: radial-gradient(circle at 70% 20%, rgba(255,255,255,.3), transparent 44%), rgba(5,3,10,.4);
}

/* Tinted band behind a section. Low-opacity, keeps text readable. */
.edc-grad-band {
  background: var(--edc-grad-soft);
}

/* Warm tint for capture bars and discount strips. */
.edc-grad-band--warm {
  background: var(--edc-grad-warm);
}

/* Pink-to-cyan wash for the sticky urgency strip. */
.edc-grad-strip {
  background: var(--edc-grad-strip);
}


/* ==========================================================================
   5. BUTTONS
   ========================================================================== */

/* The Gravity Forms submit button has no class hook we control, so its
   selector is carried alongside .edc-btn and .edc-btn--primary throughout
   this section. Add it to any new button rule that should apply to forms. */

/* ---- Shared button shape. Never used alone. ---- */
.edc-btn,
.pp-gravity-form button[type="submit"] {
  align-items: center;
  border-radius: 12px;
  cursor: pointer;
  display: inline-flex;
  font-family: "futura-pt-bold";
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
  letter-spacing: 1.5px;
  line-height: 1;
  min-height: 48px;
  padding: 16px 22px;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .15s ease, box-shadow .15s ease,
              background-color .15s ease, border-color .15s ease;
}

.edc-btn:focus-visible,
.pp-gravity-form button[type="submit"]:focus-visible {
  outline: 2px solid #19e3ff;
  outline-offset: 3px;
}

.edc-btn[disabled],
.edc-btn.edc-btn--disabled,
.pp-gravity-form button[type="submit"][disabled] {
  box-shadow: none;
  opacity: .45;
  pointer-events: none;
}

/* ---- Primary. Gradient. One per view.
        The form submit button is always primary, so it rides along here. ---- */
.edc-btn--primary,
.pp-gravity-form button[type="submit"] {
  background: var(--edc-grad);
  border: none;
  box-shadow: 0 8px 24px rgba(255,46,154,.35);
  color: #0a0512;
}

.edc-btn--primary:hover,
.edc-btn--primary:focus,
.pp-gravity-form button[type="submit"]:hover,
.pp-gravity-form button[type="submit"]:focus {
  background: var(--edc-grad) !important;
/*   box-shadow: 0 12px 32px rgba(255,46,154,.5); */
  color: #0a0512;
/*   filter: saturate(1.08); */
/*   transform: translateY(-1px); */
}

.edc-btn--primary:active,
.pp-gravity-form button[type="submit"]:active {
/*   box-shadow: 0 6px 18px rgba(255,46,154,.4); */
/*   transform: translateY(0); */
}

/* ---- Secondary. Outline on dark. ---- */
.edc-btn--secondary {
  background: transparent;
  border: 1.5px solid #33224d;
  box-shadow: none;
  color: #ffffff;
}

.edc-btn--secondary:hover,
.edc-btn--secondary:focus {
  background: rgba(255,46,154,.08);
  border-color: #ff2e9a;
  color: #ffffff;
/*   transform: translateY(-1px); */
}

.edc-btn--secondary:active {
  background: rgba(255,46,154,.14);
/*   transform: translateY(0); */
}

/* ---- Tertiary pill. Tabs, day filters, product tabs. ---- */
.edc-btn--pill {
  background: transparent;
  border: 1px solid #33224d;
  border-radius: 999px;
  box-shadow: none;
  color: #bcaee0;
  font-size: 12px;
  letter-spacing: .5px;
  min-height: 40px;
  padding: 9px 15px;
}

.edc-btn--pill:hover,
.edc-btn--pill:focus {
  border-color: #19e3ff;
  color: #ffffff;
}

/* Add alongside --pill for the selected tab. */
.edc-btn--pill.is-active {
  background: var(--edc-grad);
  border-color: transparent;
  color: #0a0512;
}

/* ---- Jump-link pill. Section bookmarks at the top of a listing page. ---- */
.edc-btn--jump {
  background: transparent;
  border: 1px solid #33224d;
  border-radius: 999px;
  box-shadow: none;
  color: #bcaee0;
  font-size: 11.5px;
  letter-spacing: .5px;
  min-height: auto;
  padding: 8px 13px;
}

.edc-btn--jump:hover,
.edc-btn--jump:focus {
  border-color: #19e3ff;
  color: #ffffff;
  transform: none;
}

/* ---- Small modifier. Listing-card "View", inline actions. ---- */
.edc-btn--sm {
  border-radius: 9px;
  font-size: 11px;
  letter-spacing: .5px;
  min-height: auto;
  padding: 9px 13px;
}

/* ---- Step pill. Checkout progress (1 Details / 2 Travelers / 3 Payment).
        Put these in a flex row container so flex: 1 divides it evenly. ---- */
.edc-btn--step {
  background: transparent;
  border: 1px solid #33224d;
  border-radius: 8px;
  box-shadow: none;
  color: #bcaee0;
  flex: 1;
  flex-direction: column;
  font-size: 10px;
  gap: 2px;
  letter-spacing: .5px;
  line-height: 1.3;
  min-height: auto;
  padding: 7px 4px;
}

.edc-btn--step b,
.edc-btn--step strong {
  color: inherit;
  display: block;
  font-size: 13px;
}

.edc-btn--step:hover {
  transform: none;
}

/* Current step. */
.edc-btn--step.is-active {
  background: var(--edc-grad);
  border-color: transparent;
  color: #0a0512;
}

/* Completed step. */
.edc-btn--step.is-done {
  border-color: rgba(47,227,160,.35);
  color: #2fe3a0;
}

/* ---- Elementor Button widget. The widget wrapper carries .edc-btn, but
        the clickable element is the <a class="elementor-button"> inside it.
        Padding on the wrapper is dead space — the anchor only covers the
        content box — so the padding moves onto the anchor and the wrapper
        goes to zero. Each variant restates its padding for the same
        reason. Direct use of .edc-btn on an <a> or <button> is unaffected;
        :has() only matches when the Elementor child is present. ---- */
.edc-btn:has(.elementor-button) {
  padding: 0;
}

.edc-btn .elementor-button {
  align-items: center;
  background: none !important;
  border-radius: inherit;
  color: inherit;
  display: flex;
  font: inherit;
  justify-content: center;
  letter-spacing: inherit;
  min-height: inherit;
  padding: 16px 22px;
  text-transform: inherit;
  width: 100%;
}

.edc-btn--pill .elementor-button {
  padding: 9px 15px;
}

.edc-btn--jump .elementor-button {
  padding: 8px 13px;
}

.edc-btn--sm .elementor-button {
  padding: 9px 13px;
}

.edc-btn--step .elementor-button {
  flex-direction: column;
  gap: 2px;
  padding: 7px 4px;
}

/* ---- Full-width modifier. Default on mobile. ---- */
.edc-btn--block {
  display: flex;
  width: 100%;
}

/* Small, jump and step variants stay inline — they are not primary actions. */
@media (max-width: 767px) {
  .edc-btn:not(.edc-btn--sm):not(.edc-btn--jump):not(.edc-btn--step) {
    width: 100%;
  }
}


/* ==========================================================================
   6. CARDS
   ========================================================================== */

/* ---- Standard card. The default panel everywhere. ---- */
.edc-card {
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 16px;
  padding: 13px 14px;
  position: relative;
  transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
}

/* Optional lift, for cards that are whole clickable links. */
.edc-card--link:hover {
  border-color: #ff2e9a;
  box-shadow: 0 12px 30px rgba(255,46,154,.18);
/*   transform: translateY(-2px); */
}

/* ---- Featured card. Pink border + glow. One per group. ---- */
.edc-card--featured {
  border-color: #ff2e9a;
  box-shadow: 0 0 0 1px #ff2e9a, 0 12px 30px rgba(255,46,154,.25);
  margin-top: 10px;    /* room for the badge */
  overflow: visible;   /* lets the badge sit above the top edge */
}

.edc-card--featured:hover {
  box-shadow: 0 0 0 1px #ff2e9a, 0 16px 38px rgba(255,46,154,.35);
}

/* ---- "Most popular" badge. Put this class on a Heading or Text Editor
        widget placed as the FIRST child of the featured container. ---- */
.edc-card__badge {
  background: var(--edc-grad);
  border-radius: 999px;
  color: #0a0512;
  font-family: "futura-pt";
  font-size: 10px;
  font-weight: 700;
  left: 16px;
  letter-spacing: 1px;
  line-height: 1.4;
  padding: 4px 10px;
  position: absolute;
  text-transform: uppercase;
  top: -10px;
  white-space: nowrap;
  width: auto;
  z-index: 2;
}

.edc-card__badge .elementor-heading-title {
  color: #0a0512;
}

/* ---- Inner well. Nested container inside a card. ---- */
.edc-card-well {
  background-color: #211238;
  border: 1px solid #33224d;
  border-radius: 14px;
  padding: 18px;
}

/* ---- Gradient-framed card. Crew share, referral block. ---- */
.edc-card-framed {
  background: var(--edc-grad);
  border-radius: 18px;
  padding: 2px;
}

.edc-card-framed > .e-con,
.edc-card-framed > .e-con-inner,
.edc-card-framed > div {
  background-color: #0c0718;
  border-radius: 16px;
  padding: 18px;
}

/* ---- Dashed placeholder card. "Coming soon" nights. ---- */
.edc-card--pending {
  border-style: dashed;
  opacity: .7;
}

/* ---- Flush card. No padding, clipped corners — for a full-bleed
        image at the top. Pad the inner containers in Elementor.
        Two classes on purpose: it has to outrank the mobile
        .edc-card padding override at the end of this section. ---- */
.edc-card.edc-card--flush {
  overflow: hidden;
  padding: 0;
}

/* ---- Field surface. The dark inset look. On a container it reads as
        a well; on a form widget it styles every field inside it. ---- */
.edc-field {
  color: #ffffff;
  background-color: #0f0820;
  border: 1px solid #33224d;
  border-radius: 11px;
  padding: 12px 13px;
  font-family: "avenir-next-lt-pro";
  font-size: 14px;
  line-height: 1.4;
}

/* ---- Artist card. Nightclub parties' lineup grid. ---- */
.edc-artist-card {
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 14px;
  padding: 14px;
  text-align: center;
}

.edc-artist-card__photo {
  aspect-ratio: 1 / 1;
  background: var(--edc-grad-party);
  border-radius: 10px;
  margin-bottom: 10px;
}

.edc-artist-card__logo {
  height: 20px;
  margin: 0 auto 8px;
  opacity: .8;
}

.edc-artist-card__name {
  color: #ffffff;
  font-family: "futura-pt";
  font-size: 14px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

/* ---- Day/price card. All-Access parties (Dann Carlton). ---- */
.edc-day-price {
  align-items: center;
  background-color: #1a1030;
  border: 1px solid #33224d;
  border-radius: 12px;
  display: flex;
  gap: 10px;
  justify-content: space-between;
  padding: 12px 14px;
}

.edc-day-price__day {
  color: #ffffff;
  font-family: "futura-pt";
  font-size: 13px;
  letter-spacing: .5px;
  text-transform: uppercase;
}

.edc-day-price__time {
  color: #bcaee0;
  font-size: 12px;
  margin-top: 2px;
}

.edc-day-price__price {
  color: #ffd166;
  flex: none;
  font-family: "futura-pt-bold";
  font-size: 15px;
  font-weight: 700;
}

@media (max-width: 767px) {
  .edc-card {
    padding: 16px;
  }
}


/* ==========================================================================
   7. CHIPS & PAYMENT MARKS
   ========================================================================== */

/* ---- Row wrapper. Wrapping, evenly gapped. ---- */
.edc-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

/* Even 2-up grid. Used under the hero CTA on the landing page. */
.edc-chips--grid {
  display: grid;
  gap: 8px;
  grid-template-columns: 1fr 1fr;
}

/* ---- The chip itself. ---- */
.edc-chip {
  align-items: center;
  background-color: rgba(255,255,255,.06);
  border: 1px solid #33224d;
  border-radius: 999px;
  color: #bcaee0;
  display: flex;
  font-family: "avenir-next-lt-pro";
  font-size: 12px;
  font-weight: 500;
  gap: 6px;
  justify-content: center;
  line-height: 1.3;
  padding: 10px 12px;
  text-align: center;
  text-wrap: pretty;
  width: auto;
}

.edc-chip .elementor-heading-title {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
}

/* Gold value chip. One per row — the thing worth money. */
.edc-chip--value {
  border-color: rgba(255,209,102,.4);
  color: #ffd166;
}

/* Green confirmation chip. Post-purchase, guest checkout note. */
.edc-chip--ok {
  background-color: rgba(47,227,160,.08);
  border-color: rgba(47,227,160,.3);
  color: #2fe3a0;
}

/* Pink exclusivity chip. "Exclusive to bookers". */
.edc-chip--hot {
  border-color: rgba(255,46,154,.4);
  color: #ff2e9a;
}

/* Inline variant: shrink to content instead of filling a grid cell.
   Use on product pages where chips sit in a flowing row. */
.edc-chip--inline {
  display: inline-flex !important;
  padding: 7px 12px;
}

/* Struck-through value inside a chip, e.g. "$309 value". */
.edc-chip s,
.edc-chip .edc-chip__was {
  color: #ffd166;
  font-weight: 700;
  text-decoration: line-through;
}

/* ---- Payment method badges. Light fill, dark text — deliberately
        unlike the dark chips, so they read as third-party marks. ---- */
.edc-pay {
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
}

.edc-pay span,
.edc-pay .edc-pay__mark {
  align-items: center;
  background-color: #e8def8;
  border-radius: 6px;
  color: #0a0512;
  display: inline-flex;
  font-family: "futura-pt";
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .5px;
  line-height: 1.3;
  padding: 6px 8px;
  white-space: nowrap;
}

/* Slightly larger, for the payment step at checkout. */
.edc-pay--lg span,
.edc-pay--lg .edc-pay__mark {
  font-size: 12px;
  padding: 8px 11px;
}

/* Swap in real card-brand SVGs at build; keep the same box. */
.edc-pay img {
  display: block;
  height: 14px;
  width: auto;
}


/* ==========================================================================
   8. LISTS
   ========================================================================== */

/* ---- Checklist. Put .edc-list on the <ul> itself, or on a Text Editor
        widget that wraps one. ---- */
ul.edc-list,
.edc-list.elementor-widget-text-editor ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.edc-list li {
  color: #e7ddf5;
  font-family: "avenir-next-lt-pro";
  font-size: 13.5px;
  line-height: 1.55;
  padding: 5px 0 5px 24px;
  position: relative;
  text-wrap: pretty;
}

/* The dot. Default green = a standard included item. */
.edc-list li::before {
  background-color: #2fe3a0;
  border-radius: 50%;
  box-shadow: 0 0 8px #2fe3a0;
  content: "";
  height: 14px;
  left: 0;
  position: absolute;
  top: 9px;
  width: 14px;
}

/* ---- Per-item colour overrides. Class goes on the <li>. ---- */

/* Gold: the money line. "Free 24-hr shuttle, $309 value" */
.edc-list li.is-value {
  color: #ffd166;
  font-weight: 600;
}

.edc-list li.is-value::before {
  background-color: #ffd166;
  box-shadow: 0 0 8px #ffd166;
}

/* Pink: exclusivity and party items. */
.edc-list li.is-hot {
  color: #ff2e9a;
  font-weight: 600;
}

.edc-list li.is-hot::before {
  background-color: #ff2e9a;
  box-shadow: 0 0 8px #ff2e9a;
}

/* Cyan: informational, used on the recovery timeline. */
.edc-list li.is-info::before {
  background-color: #19e3ff;
  box-shadow: 0 0 8px #19e3ff;
}

/* ---- Whole-list colour variants. Class goes on the widget. ---- */
.edc-list--hot li::before {
  background-color: #ff2e9a;
  box-shadow: 0 0 8px #ff2e9a;
}

.edc-list--info li::before {
  background-color: #19e3ff;
  box-shadow: 0 0 8px #19e3ff;
}

/* ---- Smaller dot + dashed dividers. Confirmation "what's next". ---- */
.edc-list--steps li {
  border-bottom: 1px dashed #33224d;
  padding: 9px 0 9px 26px;
}

.edc-list--steps li:last-child {
  border-bottom: none;
}

.edc-list--steps li::before {
  height: 15px;
  top: 13px;
  width: 15px;
}

/* ---- Standalone dot, for inline use next to a label. ---- */
.edc-dot {
  background-color: #2fe3a0;
  border-radius: 50%;
  box-shadow: 0 0 8px #2fe3a0;
  display: inline-block;
  flex: none;
  height: 10px;
  width: 10px;
}

.edc-dot--cyan {
  background-color: #19e3ff;
  box-shadow: 0 0 8px #19e3ff;
}

.edc-dot--pink {
  background-color: #ff2e9a;
  box-shadow: 0 0 8px #ff2e9a;
}

.edc-dot--gold {
  background-color: #ffd166;
  box-shadow: 0 0 8px #ffd166;
}

/* ---- No dot, dashed rule between items. The comparison columns. ---- */
.edc-list--plain li {
  border-bottom: 1px dashed #33224d;
  color: #bcaee0;
  font-size: 12px;
  padding: 4px 0;
}

.edc-list--plain li::before {
  content: none;
}

.edc-list--plain li:last-child {
  border-bottom: none;
}

/* Green column of the comparison — what you get with us. */
.edc-list--plain.edc-list--win li {
  color: #2fe3a0;
}

/* Struck-through value inside a list item. */
.edc-list s,
.edc-list .edc-list__was {
  color: #ffd166;
  font-weight: 700;
  text-decoration: line-through;
}


/* ==========================================================================
   9. BARS
   ========================================================================== */

/* ---- Bottom-pinned CTA bar. ---- */
.edc-stickybar {
  align-items: center;
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  background-color: rgba(11,7,20,.93);
  border-top: 1px solid #33224d;
  bottom: 0;
  display: flex;
  gap: 10px;
  left: 0;
  max-width: none;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  position: fixed;
  right: 0;
  width: 100%;
  z-index: 45;
}

/* Price block on the left. "from / $1,875" */
.edc-stickybar__price {
  color: #bcaee0;
  flex: none;
  font-family: "avenir-next-lt-pro";
  font-size: 11px;
  line-height: 1.2;
}

.edc-stickybar__price strong,
.edc-stickybar__price b {
  color: #ffffff;
  display: block;
  font-family: "futura-pt";
  font-size: 18px;
  font-weight: 700;
}

/* The button fills the remaining width. */
.edc-stickybar .edc-btn,
.edc-stickybar .elementor-button {
  flex: 1;
  width: auto;
}

/* Keeps the last section clear of the bar. Put on the page's
   final container, or on the footer. */
.edc-stickybar-spacer {
  height: calc(84px + env(safe-area-inset-bottom));
}

/* Mobile-only bar — hide on desktop where the CTA is always visible. */
@media (min-width: 1025px) {
  .edc-stickybar--mobile,
  .edc-stickybar--mobile + .edc-stickybar-spacer {
    display: none;
  }
}

/* ---- Top urgency strip. Sits under the header, scrolls with it. ---- */
.edc-urgencybar {
  background: var(--edc-grad-strip);
  border-bottom: 1px solid #33224d;
  color: #ffd9ec;
  font-family: "futura-pt";
  font-size: 11px;
  letter-spacing: 1px;
  padding: 8px 16px;
  position: sticky;
  text-align: center;
  text-transform: uppercase;
  top: 0;
  z-index: 35;
}