.elementor-2968 .elementor-element.elementor-element-3a6cbe0{--display:flex;--flex-direction:column;--container-widget-width:calc( ( 1 - var( --container-widget-flex-grow ) ) * 100% );--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--align-items:stretch;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--flex-wrap:nowrap;--overflow:hidden;}.elementor-2968 .elementor-element.elementor-element-3a6cbe0.e-con{--align-self:stretch;}.elementor-2968 .elementor-element.elementor-element-0267888{width:100%;max-width:100%;}.elementor-2968 .elementor-element.elementor-element-0267888.elementor-element{--align-self:center;}.elementor-widget-woocommerce-checkout-page .product-name .variation{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-2968 .elementor-element.elementor-element-174b3b2.elementor-element{--align-self:stretch;}.elementor-2968 .elementor-element.elementor-element-174b3b2{--billing-details-title-alignment:center;--sections-border-type:none;}:root{--page-title-display:none;}@media(max-width:767px){.elementor-2968 .elementor-element.elementor-element-3a6cbe0{--width:100px;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;}}/* Start custom CSS for container, class: .elementor-element-3a6cbe0 *//* =========================================================
   CJA CHECKOUT — Elementor Pro Checkout Widget (clean)
   Structure:
   .cja-checkout-page (parent container)
   -> HTML widget (contains .cja-hero)
   -> Checkout widget (class: cja-checkout-formwrap)
   ========================================================= */

.cja-checkout-page{
  --max: 1120px;

  --ink: #0b1220;
  --muted: rgba(11,18,32,.72);

  --brand: rgb(92,111,138);
  --violet: rgba(168,85,247,.92);
  --pink: rgba(236,72,153,.88);

  --card: rgba(255,255,255,.92);
  --border: rgba(15,23,42,.12);

  --shadow: 0 18px 45px rgba(15,23,42,.10);
  --shadow-strong: 0 22px 60px rgba(15,23,42,.16);
}

/* IMPORTANT: Do NOT max-width Elementor inner containers globally.
   We only control widths on our hero + checkout widget wrappers. */

/* ---------- Shared width wrapper for HERO + CHECKOUT ---------- */
.cja-checkout-page .cja-hero,
.cja-checkout-page .elementor-widget-html,
.cja-checkout-page .elementor-widget.cja-checkout-formwrap{
  width: min(100%, var(--max));
  margin-left: auto;
  margin-right: auto;
}

/* Mobile breathing room */
@media (max-width: 767px){
  .cja-checkout-page .cja-hero,
  .cja-checkout-page .elementor-widget-html,
  .cja-checkout-page .elementor-widget.cja-checkout-formwrap{
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* =========================================================
   HERO (HTML) — Thank You page vibe
   ========================================================= */

.cja-checkout-page .cja-hero{
  padding: 28px 0 12px;
}

.cja-checkout-page .cja-hero__panel{
  position: relative;
  border-radius: 24px;
  padding: 22px 22px 16px;
  background:
    radial-gradient(900px 420px at 20% 0%, rgba(92,111,138,.22), transparent 60%),
    radial-gradient(900px 520px at 80% 0%, rgba(168,85,247,.18), transparent 55%),
    linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.88));
  border: 1px solid var(--border);
  box-shadow: var(--shadow-strong);
  overflow: hidden;
}

.cja-checkout-page .cja-hero__panel:before{
  content:"";
  position:absolute;
  top:0; left:0; right:0;
  height: 5px;
  background: linear-gradient(90deg, var(--brand), var(--violet), var(--pink));
}

/* Pill */
.cja-checkout-page .cja-pill{
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(15,23,42,.72);
  background: rgba(255,255,255,.75);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 10px 26px rgba(15,23,42,.08);
}

.cja-checkout-page .cja-h1{
  margin: 14px 0 8px;
  font-size: clamp(26px, 4.6vw, 44px);
  line-height: 1.06;
  font-weight: 950;
  color: var(--ink);
}

.cja-checkout-page .cja-sub{
  margin: 0 0 16px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--muted);
  max-width: 72ch;
}

.cja-checkout-page .cja-hero__cards{
  display: grid;
  grid-template-columns: 1fr;
  gap: 14px;
  margin-top: 10px;
}
@media (min-width: 860px){
  .cja-checkout-page .cja-hero__cards{
    grid-template-columns: 1fr 1fr;
  }
}

.cja-checkout-page .cja-miniCard{
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  border: 1px solid rgba(15,23,42,.10);
  box-shadow: 0 14px 34px rgba(15,23,42,.10);
  padding: 16px 16px 14px;
}

.cja-checkout-page .cja-miniCard__title{
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(15,23,42,.60);
  margin-bottom: 10px;
}

.cja-checkout-page .cja-steps{
  margin: 0;
  padding-left: 18px;
}
.cja-checkout-page .cja-steps li{
  margin: 10px 0;
  color: rgba(15,23,42,.86);
  font-size: 14px;
}
.cja-checkout-page .cja-steps li strong{
  display: block;
  font-weight: 900;
  color: var(--ink);
  margin-bottom: 2px;
}
.cja-checkout-page .cja-steps li span{
  display: block;
  color: rgba(15,23,42,.62);
  font-size: 13px;
}

.cja-checkout-page .cja-miniCard--help{
  background:
    radial-gradient(600px 180px at 30% 0%, rgba(92,111,138,.12), transparent 60%),
    rgba(255,255,255,.92);
}
.cja-checkout-page .cja-helpText{
  margin: 0 0 10px;
  font-size: 14px;
  color: rgba(15,23,42,.80);
}
.cja-checkout-page .cja-helpText a{
  color: rgba(37,99,235,1);
  text-decoration: none;
  font-weight: 900;
}
.cja-checkout-page .cja-helpNote{
  border-radius: 14px;
  padding: 10px 12px;
  background: rgba(34,197,94,.08);
  border: 1px solid rgba(34,197,94,.16);
  color: rgba(15,23,42,.72);
  font-size: 13px;
}

.cja-checkout-page .cja-noteBar{
  margin-top: 14px;
  border-radius: 16px;
  padding: 12px 14px;
  background: rgba(15,23,42,.04);
  border: 1px solid rgba(15,23,42,.10);
  color: rgba(15,23,42,.72);
  font-size: 13px;
}
.cja-checkout-page .cja-noteBar__label{
  font-weight: 950;
  color: rgba(15,23,42,.85);
  margin-right: 6px;
}

/* Mobile hero spacing */
@media (max-width: 767px){
  .cja-checkout-page .cja-hero__panel{
    padding: 18px 16px 14px;
    border-radius: 20px;
  }
}

/* =========================================================
   CHECKOUT (Elementor Pro Checkout widget)
   Class is applied ON THE CHECKOUT WIDGET: cja-checkout-formwrap
   ========================================================= */

.cja-checkout-page .cja-checkout-formwrap,
.cja-checkout-page .cja-checkout-formwrap .elementor-widget-container{
  width: 100% !important;
  max-width: 100% !important;
}

/* One big premium card around the whole form */
.cja-checkout-page .cja-checkout-formwrap form.checkout{
  width: 100% !important;
  background: var(--card) !important;
  border: 1px solid var(--border) !important;
  border-radius: 22px !important;
  box-shadow: var(--shadow-strong) !important;
  padding: 22px !important;
  margin: 14px 0 0 !important;
}

/* Don’t let Elementor/Woo split into weird columns */
.cja-checkout-page .cja-checkout-formwrap #customer_details,
.cja-checkout-page .cja-checkout-formwrap #order_review,
.cja-checkout-page .cja-checkout-formwrap #payment{
  float: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Form labels + fields */
.cja-checkout-page .cja-checkout-formwrap .woocommerce form .form-row{
  margin: 0 0 12px 0 !important;
  padding: 0 !important;
}

.cja-checkout-page .cja-checkout-formwrap .woocommerce form .form-row label{
  display:block !important;
  margin: 0 0 6px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  color: rgba(15,23,42,.62) !important;
}

.cja-checkout-page .cja-checkout-formwrap .woocommerce form .input-text,
.cja-checkout-page .cja-checkout-formwrap .woocommerce form select,
.cja-checkout-page .cja-checkout-formwrap .woocommerce form textarea{
  width: 100% !important;
  height: 46px !important;
  padding: 0 14px !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: var(--ink) !important;
  font-size: 15px !important;
  outline: none !important;
  box-shadow: none !important;
}

.cja-checkout-page .cja-checkout-formwrap .woocommerce form textarea{
  height: auto !important;
  padding: 12px 14px !important;
  min-height: 110px !important;
  width: 100% !important;
}

.cja-checkout-page .cja-checkout-formwrap .woocommerce form .input-text:focus,
.cja-checkout-page .cja-checkout-formwrap .woocommerce form select:focus,
.cja-checkout-page .cja-checkout-formwrap .woocommerce form textarea:focus{
  border-color: rgba(92,111,138,.90) !important;
  box-shadow: 0 0 0 4px rgba(92,111,138,.20) !important;
  width: 100% !important;
}

/* Select2 (Country/State) */
.cja-checkout-page .cja-checkout-formwrap .select2-container--default .select2-selection--single{
  height: 46px !important;
  border: 1px solid rgba(15,23,42,.14) !important;
  border-radius: 14px !important;
  display:flex !important;
  align-items:center !important;
  background: #fff !important;
}
.cja-checkout-page .cja-checkout-formwrap .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding-left: 14px !important;
  line-height: 46px !important;
  color: var(--ink) !important;
}

/* Order table readability + prevent weird wrapping */
.cja-checkout-page .cja-checkout-formwrap .woocommerce-checkout-review-order-table{
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 14px !important;
  overflow: hidden;
}
.cja-checkout-page .cja-checkout-formwrap .woocommerce-checkout-review-order-table th,
.cja-checkout-page .cja-checkout-formwrap .woocommerce-checkout-review-order-table td{
  padding: 12px 14px !important;
  font-size: 14px !important;
  vertical-align: top !important;
}

/* Make the button POP */
.cja-checkout-page .cja-checkout-formwrap #place_order{
  width: 100% !important;
  height: 54px !important;
  border-radius: 16px !important;
  font-weight: 950 !important;
  font-size: 15px !important;
  border: 0 !important;
  background: linear-gradient(90deg, var(--brand), var(--violet), var(--pink)) !important;
  box-shadow: 0 18px 40px rgba(15,23,42,.18) !important;
}

/* ---------- Mobile fixes (PRIMARY) ---------- */
@media (max-width: 767px){
  /* Give the checkout card nicer spacing */
  .cja-checkout-page .cja-checkout-formwrap form.checkout{
    padding: 16px !important;
    border-radius: 18px !important;
  }

  /* Reduce “giant table” feel */
  .cja-checkout-page .cja-checkout-formwrap .woocommerce-checkout-review-order-table th,
  .cja-checkout-page .cja-checkout-formwrap .woocommerce-checkout-review-order-table td{
    padding: 10px 10px !important;
    font-size: 13px !important;
  }

  /* Make login row stack instead of looking cramped */
  .cja-checkout-page .cja-checkout-formwrap .woocommerce-form-login .form-row{
    width: 100% !important;
    float: none !important;
    display: block !important;
  }
}

/* Optional: tighter spacing between hero and checkout */
.cja-checkout-page .elementor-widget.cja-checkout-formwrap{
  margin-top: 16px !important;
}
/* =========================================================
   STRIPE/WOOPAY EXPRESS PAY ALIGNMENT + MOBILE WIDTH
   ========================================================= */

/* Make express pay wrapper obey the same width as the checkout card */
.cja-checkout-page .cja-checkout-formwrap .wc-stripe-payment-request-wrapper,
.cja-checkout-page .cja-checkout-formwrap .woocommerce-checkout-payment,
.cja-checkout-page .cja-checkout-formwrap form.checkout{
  width: 100% !important;
  max-width: 100% !important;
}

/* Visually align the express pay buttons with the card edges */
.cja-checkout-page .cja-checkout-formwrap .wc-stripe-payment-request-wrapper{
  margin: 0 0 14px 0 !important;
}

/* If buttons are rendering in two columns and look “off”, keep them tight and aligned */
.cja-checkout-page .cja-checkout-formwrap .wc-stripe-payment-request-buttons{
  gap: 10px !important;
}

/* MOBILE: force express buttons to stack + fill full width */
@media (max-width: 767px){
  .cja-checkout-page .cja-checkout-formwrap .wc-stripe-payment-request-buttons{
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .cja-checkout-page .cja-checkout-formwrap .wc-stripe-payment-request-wrapper,
  .cja-checkout-page .cja-checkout-formwrap .payment-request-button,
  .cja-checkout-page .cja-checkout-formwrap .woocommerce-payment-request-button{
    width: 100% !important;
    max-width: 100% !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* =========================================================
   CJA CHECKOUT PAGE — FINAL CLEAN LAYOUT
   Scoped to parent Elementor container: .cja-checkout-page
   ========================================================= */

/* ------------------------------
   Parent wrapper
------------------------------ */
.cja-checkout-page {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

/* ------------------------------
   Hero
------------------------------ */
.cja-checkout-page .cja-hero {
  margin: 0 auto 18px;
  padding: 0 16px;
  width: 100%;
  box-sizing: border-box;
}

.cja-checkout-page .cja-hero__inner {
  max-width: 860px;
  margin: 0 auto;
  width: 100%;
}

.cja-checkout-page .cja-hero__panel {
  position: relative;
  border-radius: 24px;
  padding: 28px 28px 24px;
  overflow: hidden;
  background:
    radial-gradient(900px 500px at 20% 10%, rgba(110,46,255,0.22), transparent 60%),
    radial-gradient(900px 500px at 90% 40%, rgba(59,130,246,0.16), transparent 65%),
    linear-gradient(135deg, #0F1024 0%, #11125D 55%, #0B1220 100%);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 26px 70px rgba(2,6,23,0.22);
  box-sizing: border-box;
}

.cja-checkout-page .cja-hero__panel:before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 4px;
  background: linear-gradient(90deg, #6E2EFF, #3B82F6, #00C2A8);
  opacity: .95;
}

.cja-checkout-page .cja-pill {
  display: inline-flex;
  padding: 8px 14px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
  color: rgba(255,255,255,.88);
  background: rgba(255,255,255,0.14);
  border: 1px solid rgba(255,255,255,0.18);
  backdrop-filter: blur(8px);
}

.cja-checkout-page .cja-h1 {
  margin: 16px 0 10px;
  font-size: clamp(30px, 4vw, 46px);
  line-height: 1.06;
  font-weight: 900;
  color: #fff;
}

.cja-checkout-page .cja-sub {
  margin: 0;
  font-size: 17px;
  line-height: 1.7;
  color: rgba(255,255,255,.82);
  max-width: 760px;
}

.cja-checkout-page .cja-checkout-points {
  display: grid;
  gap: 10px;
  margin-top: 18px;
}

.cja-checkout-page .cja-checkout-point {
  display: flex;
  align-items: center;
  gap: 10px;
  color: #ffffff;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.5;
}

.cja-checkout-page .cja-checkout-point__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255,255,255,0.16);
  color: #ffffff;
  font-size: 13px;
  font-weight: 900;
  flex: 0 0 22px;
}

.cja-checkout-page .cja-noteBar {
  margin-top: 18px;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  color: rgba(255,255,255,.84);
  font-size: 14px;
  line-height: 1.6;
}

.cja-checkout-page .cja-noteBar a {
  color: #fff !important;
  font-weight: 700;
  text-decoration: underline;
}

.cja-checkout-page .cja-coupon-note {
  margin-top: 12px;
  padding: 10px 14px;
  border-radius: 12px;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.12);
  font-size: 14px;
  line-height: 1.6;
  color: rgba(255,255,255,.82);
}

/* ------------------------------
   Checkout widget wrapper
------------------------------ */
.cja-checkout-page .elementor-widget-woocommerce-checkout,
.cja-checkout-page .elementor-widget-woocommerce-checkout .elementor-widget-container {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* Main Woo checkout shell */
.cja-checkout-page .woocommerce {
  max-width: 860px !important;
  width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

.cja-checkout-page form.checkout {
  width: 100% !important;
  max-width: 860px !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
}

/* Force major Woo blocks to center and fill wrapper */
.cja-checkout-page #customer_details,
.cja-checkout-page #order_review,
.cja-checkout-page .col2-set,
.cja-checkout-page .woocommerce-billing-fields,
.cja-checkout-page .woocommerce-account-fields,
.cja-checkout-page .woocommerce-additional-fields {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
}

/* Inputs */
.cja-checkout-page input[type="text"],
.cja-checkout-page input[type="email"],
.cja-checkout-page input[type="tel"],
.cja-checkout-page input[type="password"],
.cja-checkout-page select,
.cja-checkout-page textarea {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Buttons */
.cja-checkout-page #place_order,
.cja-checkout-page button.button,
.cja-checkout-page .button {
  width: 100% !important;
  max-width: 100% !important;
}

/* Coupon */
.cja-checkout-page .checkout_coupon,
.cja-checkout-page form.checkout_coupon {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

/* Hide returning customer login prompt */
.cja-checkout-page .woocommerce-form-login-toggle,
.cja-checkout-page .woocommerce .woocommerce-form-login-toggle {
  display: none !important;
}

/* Optional: hide express checkout on desktop too if you want cleaner flow */
/*
.cja-checkout-page #wc-stripe-express-checkout-element,
.cja-checkout-page .wc-stripe-express-checkout-element,
.cja-checkout-page .payment-request-button,
.cja-checkout-page .stripe-payment-request-button {
  display: none !important;
}
*/

/* ------------------------------
   Mobile
------------------------------ */
@media (max-width: 767px) {

  .cja-checkout-page {
    overflow-x: hidden !important;
  }

  .cja-checkout-page .cja-hero {
    padding: 0 12px !important;
    margin: 0 auto 14px !important;
  }

  .cja-checkout-page .cja-hero__inner {
    max-width: 100% !important;
    width: 100% !important;
  }

  .cja-checkout-page .cja-hero__panel {
    width: 100% !important;
    max-width: 100% !important;
    padding: 18px 16px 16px !important;
    border-radius: 18px !important;
  }

  .cja-checkout-page .cja-h1 {
    font-size: 28px !important;
    line-height: 1.1 !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  .cja-checkout-page .cja-sub {
    font-size: 15px !important;
    line-height: 1.65 !important;
  }

  .cja-checkout-page .cja-checkout-points {
    grid-template-columns: 1fr !important;
  }

  /* Main widget + Woo shell */
  .cja-checkout-page .elementor-widget-woocommerce-checkout,
  .cja-checkout-page .elementor-widget-woocommerce-checkout .elementor-widget-container,
  .cja-checkout-page .woocommerce,
  .cja-checkout-page form.checkout {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
  }

  /* Stack everything */
  .cja-checkout-page .col2-set,
  .cja-checkout-page .col-1,
  .cja-checkout-page .col-2,
  .cja-checkout-page #customer_details,
  .cja-checkout-page #order_review,
  .cja-checkout-page .woocommerce-billing-fields,
  .cja-checkout-page .woocommerce-account-fields,
  .cja-checkout-page .woocommerce-additional-fields {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
  }

  .cja-checkout-page .form-row,
  .cja-checkout-page p.form-row,
  .cja-checkout-page .form-row-first,
  .cja-checkout-page .form-row-last,
  .cja-checkout-page .woocommerce-billing-fields__field-wrapper .form-row {
    display: block !important;
    float: none !important;
    clear: both !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .cja-checkout-page input[type="text"],
  .cja-checkout-page input[type="email"],
  .cja-checkout-page input[type="tel"],
  .cja-checkout-page input[type="password"],
  .cja-checkout-page select,
  .cja-checkout-page textarea {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Stripe / Apple Pay section can cause squeeze */
  .cja-checkout-page #wc-stripe-express-checkout-element,
  .cja-checkout-page .wc-stripe-express-checkout-element,
  .cja-checkout-page .payment-request-button,
  .cja-checkout-page .stripe-payment-request-button,
  .cja-checkout-page #payment,
  .cja-checkout-page #payment .payment_methods {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  .cja-checkout-page #place_order,
  .cja-checkout-page button.button,
  .cja-checkout-page .button {
    width: 100% !important;
    max-width: 100% !important;
  }
}/* End custom CSS */