.elementor-widget-container .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-container .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-615 .elementor-element.elementor-element-212f8cc{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;--margin-top:3px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-615 .elementor-element.elementor-element-212f8cc:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-212f8cc > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#ECECEC;}.elementor-615 .elementor-element.elementor-element-37c3d14f{--display:flex;--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;}.elementor-615 .elementor-element.elementor-element-37c3d14f:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-37c3d14f > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-00188a5 );}.elementor-widget-eael-woo-product-images .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-eael-woo-product-images .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-615 .elementor-element.elementor-element-54354a5b .eael-single-product-images .product_image_slider__thumbs .swiper-wrapper{gap:5px;}.elementor-615 .elementor-element.elementor-element-54354a5b .eael-single-product-images .product_image_slider__thumbs .swiper-button-next:after, .elementor-615 .elementor-element.elementor-element-54354a5b .eael-single-product-images .product_image_slider__thumbs .swiper-button-prev:after{font-size:20px;font-weight:1000;}.elementor-615 .elementor-element.elementor-element-5740dc8c{--display:flex;--min-height:0px;--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;--justify-content:flex-start;--align-items:flex-start;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:88px;--padding-left:17px;--padding-right:9px;}.elementor-615 .elementor-element.elementor-element-5740dc8c:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-5740dc8c > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-615 .elementor-element.elementor-element-5740dc8c.e-con{--align-self:flex-start;}.elementor-widget-woocommerce-product-title .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-title .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-title .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-615 .elementor-element.elementor-element-5ee6a19c{margin:0px 17px calc(var(--kit-widget-spacing, 0px) + 36px) 0px;padding:20px 0px 0px 0px;}.elementor-615 .elementor-element.elementor-element-5ee6a19c .elementor-heading-title{font-family:"Sora", Sans-serif;font-size:28px;font-weight:600;color:#A109D8;}.elementor-widget-woocommerce-product-short-description .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-short-description .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-615 .elementor-element.elementor-element-cc46d64{margin:-65px 19px calc(var(--kit-widget-spacing, 0px) + 0px) 2px;padding:18px 0px 0px 0px;}.elementor-615 .elementor-element.elementor-element-1dd3860c{--display:flex;--margin-top:10px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-615 .elementor-element.elementor-element-777cb41a{--display:grid;--min-height:0px;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(2, 1fr);--grid-auto-flow:row;--margin-top:-34px;--margin-bottom:0px;--margin-left:-9px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-615 .elementor-element.elementor-element-777cb41a.e-con{--align-self:center;}.elementor-widget-woocommerce-product-price .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-price .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.woocommerce .elementor-widget-woocommerce-product-price .price{color:var( --e-global-color-primary );font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );}.elementor-615 .elementor-element.elementor-element-bedd325{margin:-78px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;text-align:center;}.elementor-615 .elementor-element.elementor-element-bedd325.elementor-element{--align-self:center;}.woocommerce .elementor-615 .elementor-element.elementor-element-bedd325 .price{color:var( --e-global-color-7098270 );}.elementor-widget-woocommerce-product-add-to-cart .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-add-to-cart .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-add-to-cart .added_to_cart{font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-615 .elementor-element.elementor-element-bd20109{background-color:#FFFFFF;margin:-90px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;--view-cart-spacing:0px;}.elementor-615 .elementor-element.elementor-element-bd20109.elementor-element{--align-self:flex-start;}.elementor-615 .elementor-element.elementor-element-bd20109 .cart button, .elementor-615 .elementor-element.elementor-element-bd20109 .cart .button{background-color:#A109D8;transition:all 0.2s;}.elementor-615 .elementor-element.elementor-element-bd20109 .cart button:hover, .elementor-615 .elementor-element.elementor-element-bd20109 .cart .button:hover{background-color:#820CAD;}.elementor-615 .elementor-element.elementor-element-bd20109 .quantity .qty{transition:all 0.2s;}.elementor-615 .elementor-element.elementor-element-3120efd0{--display:flex;--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;--margin-top:-29px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-615 .elementor-element.elementor-element-3120efd0:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-3120efd0 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-00188a5 );}.elementor-widget-woocommerce-product-content .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-content .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-woocommerce-product-content{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-615 .elementor-element.elementor-element-19b00787{background-color:#FFFFFF;margin:18px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:39px 30px 0px 30px;color:#000000;font-family:"Poppins", Sans-serif;font-weight:400;}.elementor-615 .elementor-element.elementor-element-19b00787.elementor-element{--align-self:flex-start;--flex-grow:0;--flex-shrink:0;}.elementor-615 .elementor-element.elementor-element-4e8f1fb5{--display:flex;--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;}.elementor-615 .elementor-element.elementor-element-4e8f1fb5:not(.elementor-motion-effects-element-type-background), .elementor-615 .elementor-element.elementor-element-4e8f1fb5 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-00188a5 );}.elementor-widget-spacer .eael-protected-content-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-spacer .protected-content-error-msg{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-615 .elementor-element.elementor-element-53b3033a{--spacer-size:150px;}@media(max-width:1024px){.elementor-615 .elementor-element.elementor-element-777cb41a{--grid-auto-flow:row;}}@media(min-width:768px){.elementor-615 .elementor-element.elementor-element-37c3d14f{--width:50%;}.elementor-615 .elementor-element.elementor-element-5740dc8c{--width:50%;}}@media(max-width:767px){.elementor-615 .elementor-element.elementor-element-777cb41a{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;}}/* Start custom CSS for container, class: .elementor-element-777cb41a *//* ================================
   DTD BUY BOX + STRIPE EXPRESS FIX
   (GPay + Link under cart, side-by-side)
================================ */

/* Buy box border */
.dtd-buybox{
  border: 2px solid #820CAD !important;
  border-radius: 16px !important;
  padding: 22px !important;
}

/* Force the EA add-to-cart widget to STACK:
   - Row 1: qty + add to cart
   - Row 2: Stripe express buttons
*/
.dtd-buybox .eael-add-to-cart-wrapper{
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: 12px !important;
}

/* Cart row (qty + add to cart) */
.dtd-buybox .eael-add-to-cart-wrapper form.cart{
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 12px !important;
  width: 100% !important;
  margin: 0 !important;
}

/* Stripe Express container = BELOW cart */
.dtd-buybox #wc-stripe-express-checkout-element{
  clear: both !important;
  width: 100% !important;
  margin-top: 10px !important;

  /* keep it aligned to the right like your cart row */
  max-width: 520px;
  margin-left: auto !important;

  /* make buttons sit side-by-side */
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

/* Each button block (Google Pay / Link) */
.dtd-buybox #wc-stripe-express-checkout-element > .StripeElement{
  flex: 1 1 calc(50% - 10px) !important;  /* 2 columns */
  min-width: 220px !important;            /* stacks on small screens */
}

/* Stripe injects negative margins + calc widths — neutralize overflow */
.dtd-buybox #wc-stripe-express-checkout-element .__PrivateStripeElement{
  margin: 0 !important;
}
.dtd-buybox #wc-stripe-express-checkout-element iframe{
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
}

/* Optional: remove any separator line some themes add */
.dtd-buybox .wc-stripe-payment-request-button-separator{
  display: none !important;
}

/* OPTIONAL: If you decide you do NOT want the Link button at all, uncomment this:
.dtd-buybox #wc-stripe-express-checkout-element-link{ display:none !important; }
*//* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-5740dc8c *//* ================================
   DTD — Clean CSS (Product 572)
   Fix: variation description should not change box height or overlap buttons
   ================================ */

/* ---- Base Type row: force white background ---- */
.single-product.postid-572 form.variations_form table.variations th.label,
.single-product.postid-572 form.variations_form table.variations th.label label,
.single-product.postid-572 form.variations_form table.variations td.value{
  background: #ffffff !important;
  color: #000000 !important;
}

/* Keep Select + Clear on ONE line (prevents wrap-height changes) */
.single-product.postid-572 form.variations_form table.variations td.value{
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  flex-wrap: nowrap !important;
}

/* Dropdown itself */
.single-product.postid-572 form.variations_form table.variations td.value select#pa_base-type{
  background: #ffffff !important;
  color: #000000 !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

/* "Clear" stays inline, right side */
.single-product.postid-572 form.variations_form table.variations td.value .reset_variations{
  white-space: nowrap !important;
  margin-left: auto !important;
}

/* ---- Reserve a fixed slot for the variation description (NO overlap, NO jump) ---- */
/* Adjust this height once if needed */
.single-product.postid-572{
  --dtd-var-slot: 64px; /* try 52px / 64px / 76px depending on 1–2 lines */
}

/* Make the wrap a 2-row layout: [description slot] [qty + add to cart] */
.single-product.postid-572 .dtd-buybox-var form.variations_form .single_variation_wrap{
  display: grid !important;
  grid-template-rows: var(--dtd-var-slot) auto !important;
  row-gap: 12px !important;
}

/* Force Woo’s variation block to always exist in row 1 (even when “display:none”) */
.single-product.postid-572 .dtd-buybox-var form.variations_form .woocommerce-variation.single_variation{
  display: block !important;          /* overrides inline display:none */
  position: static !important;        /* cancels any old absolute rules */
  height: var(--dtd-var-slot) !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* When Woo hasn’t selected anything yet, keep the slot but hide content
   (Woo sets inline style="display: none;" before selection) */
.single-product.postid-572 .dtd-buybox-var form.variations_form
.woocommerce-variation.single_variation[style*="display: none"]{
  visibility: hidden !important;
}

/* Hide the injected duplicate black variation price + availability */
.single-product.postid-572 .dtd-buybox-var .woocommerce-variation-price,
.single-product.postid-572 .dtd-buybox-var .woocommerce-variation-availability{
  display: none !important;
}

/* Tighten description spacing */
.single-product.postid-572 .dtd-buybox-var .woocommerce-variation-description p{
  margin: 0 !important;
}
/* =========================================================
   DTD: SIMPLE products only — stop Stripe/ATC overlapping purple border
   Does NOT touch variable products
   Scope: body.single-product.product-type-simple
   ========================================================= */

/* 1) Ensure the buybox border/padding behaves on SIMPLE pages */
body.single-product.product-type-simple .dtd-buybox{
  /* keep your existing border styling; just enforce spacing + clipping */
  padding: 22px 22px 20px !important;
  box-sizing: border-box !important;

  /* critical: Stripe uses negative margins internally; clip inside border */
  overflow: hidden !important;
}

/* 2) SIMPLE add-to-cart block: ensure it sits inside the buybox with normal flow */
body.single-product.product-type-simple .dtd-buybox .elementor-widget-woocommerce-product-add-to-cart{
  margin-top: 0 !important;
  position: static !important;
}

/* 3) SIMPLE Stripe Express wrapper: neutralize its internal -4px margin effect */
body.single-product.product-type-simple .dtd-buybox #wc-stripe-express-checkout-element{
  margin-top: 12px !important;
  padding-top: 4px !important;   /* offsets StripeElement margin:-4px */
  clear: both !important;
  width: 100% !important;
}

/* 4) SIMPLE: prevent any prior “pull-up” styles on qty/buttons from causing overlap */
body.single-product.product-type-simple .dtd-buybox .dtd-qty-wrap,
body.single-product.product-type-simple .dtd-buybox .single_add_to_cart_button{
  margin-top: 0 !important;
  position: static !important;
  transform: none !important;
}
/* =========================================================
   DTD: SIMPLE products ONLY (never affects variable products)
   Fix: ensure Price + Total are fully visible, then ATC + Stripe start below
   Target method: buybox that CONTAINS .elementor-product-simple
   ========================================================= */

.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple){
  border: 2px solid #a109d8 !important;
  border-radius: 26px !important;
  padding: 26px 22px 20px !important;   /* a touch more top padding */
  box-sizing: border-box !important;
  background: #fff !important;

  display: flex !important;
  flex-direction: column !important;

  gap: 22px !important;                 /* more separation so Total can’t be covered */
  overflow: hidden !important;          /* keeps Stripe’s internal negative margins inside */
}

/* Price widget: remove any weird margins and reserve space for the Total line */
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
.elementor-widget-woocommerce-product-price{
  margin: 0 !important;
  padding: 0 0 6px !important;
}

/* Normalize the price + total spacing (prevents clipping/overlap) */
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
.elementor-widget-woocommerce-product-price .price{
  margin: 0 !important;
  padding: 0 !important;
}

.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
.elementor-widget-woocommerce-product-price .dtd-total-line{
  display: block !important;
  margin: 10px 0 0 !important;          /* ensures Total sits fully below the price */
  line-height: 1.25 !important;
  position: relative !important;
  z-index: 5 !important;                /* in case any control row overlaps */
}

/* Push the entire ATC widget down (this is the key fix for your screenshot) */
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
.elementor-widget-woocommerce-product-add-to-cart{
  margin: 8px 0 0 !important;
}

/* Keep ATC in normal flow; kill any “pull up” effects */
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
.elementor-add-to-cart.elementor-product-simple,
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
.elementor-add-to-cart.elementor-product-simple form.cart{
  position: static !important;
  transform: none !important;
  margin: 0 !important;
  width: 100% !important;
}

/* Center qty + button row */
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
.elementor-add-to-cart.elementor-product-simple form.cart{
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
}

/* Stripe wrapper: offset the internal -4px margin so it never rides the border */
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
#wc-stripe-express-checkout-element{
  margin-top: 14px !important;
  padding-top: 6px !important;
  padding-bottom: 6px !important;
  clear: both !important;
  width: 100% !important;
}

/* Ensure Stripe doesn’t get its own border (only buybox border) */
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
#wc-stripe-express-checkout-element,
.single-product .dtd-buybox:has(.elementor-add-to-cart.elementor-product-simple)
#wc-stripe-express-checkout-element .StripeElement{
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
/* =========================================================
   DTD — Variable products ONLY: show "Total: $xx" (safe)
   NOTE: product-type-* is usually on div.product, not body
   ========================================================= */
.single-product div.product.product-type-variable .dtd-buybox .dtd-total-line::before{
  content: "Total: ";
  display: inline-block;
  margin-right: 6px;
}

/* =========================================================
   DTD — Simple products ONLY: remove the bold from the total amount
   (keeps your total logic intact; no layout changes)
   ========================================================= */
.single-product div.product.product-type-simple .dtd-buybox .dtd-total-line .dtd-total{
  font-weight: inherit !important;
}

/* Optional (only if your $ symbol looks “different” than the amount on SIMPLE) */
.single-product div.product.product-type-simple .dtd-buybox .woocommerce-Price-currencySymbol{
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
/* VARIABLE products: when no variation is selected and the total line is empty,
   show a placeholder amount */
.single-product div.product.product-type-variable .dtd-buybox .dtd-total-line:empty::after{
  content: "$0.00";
}/* End custom CSS */