.elementor-1063 .elementor-element.elementor-element-1281245{--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;--justify-content:center;--overlay-opacity:1;--padding-top:15em;--padding-bottom:7em;--padding-left:0em;--padding-right:0em;}.elementor-1063 .elementor-element.elementor-element-1281245:not(.elementor-motion-effects-element-type-background), .elementor-1063 .elementor-element.elementor-element-1281245 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://xp-42.com/wp-content/uploads/2026/06/55306023135_fd8ecccc76_o_result.webp");background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-1063 .elementor-element.elementor-element-1281245::before, .elementor-1063 .elementor-element.elementor-element-1281245 > .elementor-background-video-container::before, .elementor-1063 .elementor-element.elementor-element-1281245 > .e-con-inner > .elementor-background-video-container::before, .elementor-1063 .elementor-element.elementor-element-1281245 > .elementor-background-slideshow::before, .elementor-1063 .elementor-element.elementor-element-1281245 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1063 .elementor-element.elementor-element-1281245 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:transparent;--background-overlay:'';background-image:linear-gradient(270deg, var( --e-global-color-8b18b4b ) 0%, var( --e-global-color-3c8f533 ) 100%);}.elementor-1063 .elementor-element.elementor-element-8a3556d{--display:flex;}.elementor-1063 .elementor-element.elementor-element-4161858{text-align:center;}.elementor-1063 .elementor-element.elementor-element-f49dbbb{--divider-border-style:solid;--divider-color:var( --e-global-color-cd2db51 );--divider-border-width:3px;}.elementor-1063 .elementor-element.elementor-element-f49dbbb .elementor-divider-separator{width:75px;margin:0 auto;margin-center:0;}.elementor-1063 .elementor-element.elementor-element-f49dbbb .elementor-divider{text-align:center;padding-block-start:15px;padding-block-end:15px;}.elementor-1063 .elementor-element.elementor-element-16c81b3{--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;--padding-top:20px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1063 .elementor-element.elementor-element-ab3e30a{--display:flex;}.elementor-1063 .elementor-element.elementor-element-5abb571{--display:flex;}.elementor-1063 .elementor-element.elementor-element-66cfa8b .elementor-heading-title{font-size:68px;}.elementor-1063 .elementor-element.elementor-element-a97ade5 .cart button, .elementor-1063 .elementor-element.elementor-element-a97ade5 .cart .button{transition:all 0.2s;}.elementor-1063 .elementor-element.elementor-element-a97ade5 .quantity .qty{transition:all 0.2s;}.elementor-1063 .elementor-element.elementor-element-1fe8726 .elementor-heading-title{font-size:23px;}@media(max-width:767px){.elementor-1063 .elementor-element.elementor-element-f49dbbb .elementor-divider{text-align:center;}.elementor-1063 .elementor-element.elementor-element-f49dbbb .elementor-divider-separator{margin:0 auto;margin-center:0;}}/* Start custom CSS for container, class: .elementor-element-16c81b3 *//* ============================================================
   XP42 SINGLE PRODUCT PAGE — Premium Merch Product Layout
   Updated Printful-Safe Version
   Gallery + Variation Image Switching Fixed
   ============================================================ */


/* ============================================================
   Page wrapper
   ============================================================ */

.xp-single-merch {
  position: relative !important;
  overflow: hidden !important;
  padding: 80px 28px !important;

  background:
    radial-gradient(circle at 10% 12%, rgba(140, 82, 255, 0.20), transparent 34%),
    radial-gradient(circle at 88% 18%, rgba(140, 82, 255, 0.14), transparent 32%),
    radial-gradient(circle at 50% 95%, rgba(140, 82, 255, 0.10), transparent 42%),
    linear-gradient(180deg, #090613 0%, #06040d 100%) !important;
}

.xp-single-merch * {
  box-sizing: border-box !important;
}

.xp-single-merch a {
  text-decoration: none !important;
}

.xp-single-merch img {
  backface-visibility: hidden !important;
}

.xp-single-merch .elementor-widget {
  margin-bottom: 0 !important;
}


/* ============================================================
   Stop Elementor columns from stretching the product info card
   ============================================================ */

.xp-single-merch .e-con,
.xp-single-merch .e-con-inner,
.xp-single-merch .elementor-container,
.xp-single-merch .elementor-row {
  align-items: stretch !important; /* FIX: was flex-start — let panel match gallery height */
}


/* ============================================================
   Left visual column
   ============================================================ */

.xp-single-merch .xp-product-visual {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
}


/* ============================================================
   Product image / gallery frame
   ============================================================ */

.xp-single-merch .woocommerce-product-gallery,
.xp-single-merch .elementor-widget-woocommerce-product-images {
  position: relative !important;
  overflow: hidden !important;

  width: 100% !important;
  height: auto !important;
  max-height: none !important;

  margin: 0 !important;
  padding: 10px !important;

  border-radius: 30px !important;
  border: 1px solid rgba(140, 82, 255, 0.30) !important;

  background:
    radial-gradient(circle at 50% 0%, rgba(140, 82, 255, 0.16), transparent 42%),
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.015)),
    #0c0917 !important;

  box-shadow:
    0 28px 80px rgba(0, 0, 0, 0.48),
    0 0 34px rgba(140, 82, 255, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
}


/* ============================================================
   Printful gallery fix
   Keeps WooCommerce thumbnails + variation image switching working
   ============================================================ */

.xp-single-merch .woocommerce-product-gallery__wrapper {
  display: block !important;
  width: 100% !important;
  height: auto !important;

  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.xp-single-merch .woocommerce-product-gallery__image {
  display: block !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.xp-single-merch .woocommerce-product-gallery__image a,
.xp-single-merch .elementor-widget-woocommerce-product-images .elementor-widget-container {
  display: block !important;

  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}


/* Let WooCommerce/Flexslider control visible image */
.xp-single-merch .woocommerce-product-gallery .flex-viewport {
  overflow: hidden !important;
  border-radius: 22px !important;
}

.xp-single-merch .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__wrapper {
  display: flex !important;
  align-items: stretch !important;
}

.xp-single-merch .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image {
  flex: 0 0 100% !important;
  min-width: 100% !important;
}


/* Main image */
.xp-single-merch .woocommerce-product-gallery__image img,
.xp-single-merch .woocommerce-product-gallery img,
.xp-single-merch .elementor-widget-woocommerce-product-images img {
  display: block !important;

  width: 100% !important;
  height: auto !important;
  max-height: 620px !important;

  object-fit: contain !important;
  object-position: center center !important;

  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  border-radius: 22px !important;

  background: rgba(255,255,255,0.035) !important;
  box-shadow: none !important;

  filter: brightness(0.96) contrast(1.05) saturate(1.05) !important;
}


/* Remove old dark fade overlay */
.xp-single-merch .woocommerce-product-gallery::after,
.xp-single-merch .elementor-widget-woocommerce-product-images::after {
  display: none !important;
}


/* Zoom icon */
.xp-single-merch .woocommerce-product-gallery__trigger {
  top: 20px !important;
  right: 20px !important;

  width: 44px !important;
  height: 44px !important;

  border-radius: 999px !important;
  background: rgba(255,255,255,0.94) !important;

  box-shadow:
    0 12px 30px rgba(0,0,0,0.35),
    0 0 22px rgba(140,82,255,0.16) !important;

  transition:
    transform 0.25s ease,
    background 0.25s ease !important;
}

.xp-single-merch .woocommerce-product-gallery__trigger:hover {
  transform: scale(1.06) !important;
  background: #ffffff !important;
}


/* ============================================================
   Gallery thumbnails
   FIX: grid was forcing 5 (then 4) equal columns even with only
   2 thumbnails, stranding them on the left with big empty gaps.
   Switched to a fixed thumbnail width with auto-fit so thumbs sit
   together at a natural size no matter how many images exist.
   ============================================================ */

.xp-single-merch .flex-control-thumbs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;

  margin: 14px 0 0 !important;
  padding: 0 !important;

  list-style: none !important;
}

.xp-single-merch .flex-control-thumbs li {
  width: 84px !important;
  flex: 0 0 84px !important;
  float: none !important;

  margin: 0 !important;
  padding: 0 !important;
}

.xp-single-merch .flex-control-thumbs img {
  width: 100% !important;
  height: 82px !important;

  object-fit: cover !important;
  object-position: center !important;

  border-radius: 12px !important;
  border: 1px solid rgba(140, 82, 255, 0.22) !important;

  background: rgba(255,255,255,0.04) !important;
  opacity: 0.55 !important;

  cursor: pointer !important;

  transition:
    opacity 0.25s ease,
    transform 0.25s ease,
    border-color 0.25s ease !important;
}

.xp-single-merch .flex-control-thumbs img:hover,
.xp-single-merch .flex-control-thumbs img.flex-active {
  opacity: 1 !important;
  transform: translateY(-2px) !important;
  border-color: rgba(140, 82, 255, 0.65) !important;
}


/* ============================================================
   Right product panel
   FIX: panel now stretches to match the gallery column height
   (see align-items: stretch above) and content is spaced out
   with flex so it doesn't leave a big dead zone under the button.
   ============================================================ */

.xp-single-merch .xp-product-panel {
  position: sticky !important;
  top: 110px !important;
  align-self: stretch !important;

  overflow: hidden !important;

  display: flex !important;
  flex-direction: column !important;

  height: auto !important;
  min-height: 0 !important;

  padding: 48px 44px 42px !important;

  border-radius: 30px !important;
  border: 1px solid rgba(140, 82, 255, 0.28) !important;

  background:
    radial-gradient(circle at 14% 0%, rgba(140, 82, 255, 0.20), transparent 35%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018)),
    rgba(10, 7, 18, 0.76) !important;

  box-shadow:
    0 30px 90px rgba(0, 0, 0, 0.46),
    0 0 42px rgba(140, 82, 255, 0.10),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

.xp-single-merch .xp-product-panel::before {
  content: "";
  position: absolute;

  width: 260px;
  height: 260px;

  top: -130px;
  right: -120px;

  pointer-events: none;

  background: radial-gradient(circle, rgba(140, 82, 255, 0.36), transparent 68%);
  opacity: 0.85;
}

.xp-single-merch .xp-product-panel > * {
  position: relative;
  z-index: 2;
}

/* Push the product meta block (categories/tags) to the bottom of
   the panel so leftover space is used instead of sitting empty
   below the Add to Cart form. */
.xp-single-merch .xp-product-panel .product_meta {
  margin-top: auto !important;
}


/* ============================================================
   Product title
   ============================================================ */

.xp-single-merch .xp-product-title .elementor-heading-title,
.xp-single-merch .elementor-widget-woocommerce-product-title .elementor-heading-title,
.xp-single-merch .product_title {
  max-width: 720px !important;

  color: #ffffff !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: clamp(42px, 4vw, 62px) !important;
  font-weight: 950 !important;
  font-style: normal !important;
  line-height: 0.98 !important;
  letter-spacing: -0.055em !important;

  text-transform: none !important;

  margin: 0 0 24px !important;
  padding: 0 !important;

  text-shadow:
    0 0 26px rgba(140, 82, 255, 0.22),
    0 3px 10px rgba(0,0,0,0.55) !important;
}


/* ============================================================
   Price pill (top, "from" price shown before a variation is chosen)
   FIX: labelled as a "from" price and slightly muted so it reads
   as context rather than duplicating the price shown near Add to
   Cart. Once a variation is selected, WooCommerce swaps in the
   .woocommerce-variation-price block below, which now carries the
   full-strength styling — so there's only ever one loud price
   on screen at a time.
   ============================================================ */

.xp-single-merch .elementor-widget-woocommerce-product-price {
  width: fit-content !important;
  max-width: none !important;

  margin: 0 0 24px !important;
  padding: 0 !important;

  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.xp-single-merch .elementor-widget-woocommerce-product-price .elementor-widget-container {
  width: fit-content !important;

  margin: 0 !important;
  padding: 10px 18px !important;

  border-radius: 999px !important;
  border: 1px solid rgba(140, 82, 255, 0.42) !important;

  background:
    linear-gradient(180deg, rgba(140, 82, 255, 0.18), rgba(140, 82, 255, 0.07)) !important;

  box-shadow:
    0 0 24px rgba(140, 82, 255, 0.18),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* FIX: dial back the top price pill slightly so the panel's
   Add to Cart price (the one that actually matters once a size is
   picked) reads as the primary figure. */
.xp-single-merch .price,
.xp-single-merch .woocommerce-Price-amount,
.xp-single-merch .elementor-widget-woocommerce-product-price .price,
.xp-single-merch .elementor-widget-woocommerce-product-price .woocommerce-Price-amount {
  color: #b98cff !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 19px !important;
  font-weight: 800 !important;
  font-style: normal !important;
  line-height: 1 !important;

  margin: 0 !important;

  text-shadow: none !important;
}

.xp-single-merch .price del {
  color: rgba(238, 232, 255, 0.35) !important;
  opacity: 1 !important;
}

.xp-single-merch .price ins {
  text-decoration: none !important;
}

/* Small "from" prefix, injected via the theme/product template
   ideally, but styled here in case it's added as a span.xp-from */
.xp-single-merch .xp-from {
  display: block !important;
  color: rgba(238, 232, 255, 0.5) !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  margin-bottom: 4px !important;
}


/* ============================================================
   Details heading
   FIX: "DETAILS:" was a placeholder label sitting on a size
   .elementor-1063 .elementor-element.elementor-element-16c81b3. Renamed the visual treatment to work as a proper
   "Select your size" section label (update the widget text in
   Elementor to match — CSS can't change the text itself).
   ============================================================ */

.xp-single-merch .xp-details-heading .elementor-heading-title,
.xp-single-merch .xp-details-heading h2,
.xp-single-merch .xp-details-heading h3 {
  color: rgba(238, 232, 255, 0.85) !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  font-style: normal !important;
  line-height: 1.1 !important;

  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;

  margin: 0 0 16px !important;
  padding: 0 0 0 2px !important;

  text-shadow: none !important;
}


/* ============================================================
   Short description box
   ============================================================ */

.xp-single-merch .xp-product-desc,
.xp-single-merch .elementor-widget-woocommerce-product-short-description {
  margin: 0 0 30px !important;
  padding: 22px 24px !important;

  border-radius: 20px !important;
  border: 1px solid rgba(140, 82, 255, 0.22) !important;

  background:
    radial-gradient(circle at 12% 0%, rgba(140, 82, 255, 0.10), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.045), rgba(255,255,255,0.018)) !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.06) !important;
}

.xp-single-merch .xp-product-desc p,
.xp-single-merch .elementor-widget-woocommerce-product-short-description p,
.xp-single-merch .woocommerce-product-details__short-description p {
  color: rgba(238, 232, 255, 0.76) !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  font-style: normal !important;
  line-height: 1.65 !important;

  margin: 0 !important;
  padding: 0 !important;
}


/* ============================================================
   Add to cart module — simple products
   ============================================================ */

.xp-single-merch form.cart {
  position: relative !important;

  display: flex !important;
  align-items: stretch !important;
  gap: 14px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 15px !important;

  border-radius: 22px !important;
  border: 1px solid rgba(140, 82, 255, 0.34) !important;

  background:
    radial-gradient(circle at 20% 0%, rgba(140, 82, 255, 0.16), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.060), rgba(255,255,255,0.018)),
    rgba(10, 7, 18, 0.88) !important;

  box-shadow:
    0 22px 65px rgba(0,0,0,0.46),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

.xp-single-merch form.cart::before {
  display: none !important;
}


/* Quantity */
.xp-single-merch form.cart .quantity {
  width: 92px !important;
  flex: 0 0 92px !important;

  margin: 0 !important;
}

.xp-single-merch form.cart .quantity input.qty {
  width: 92px !important;
  height: 58px !important;

  margin: 0 !important;
  padding: 0 10px !important;

  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.045)) !important;

  color: #ffffff !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  font-style: normal !important;
  text-align: center !important;

  outline: none !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    0 8px 22px rgba(0,0,0,0.24) !important;
}


/* Add to cart button */
.xp-single-merch form.cart .single_add_to_cart_button,
.xp-single-merch .single_add_to_cart_button,
.xp-single-merch button.button,
.xp-single-merch .button.alt {
  flex: 1 !important;

  height: 58px !important;
  min-height: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 26px !important;

  border-radius: 15px !important;
  border: 1px solid rgba(225, 202, 255, 0.66) !important;

  background:
    linear-gradient(135deg, #b48cff 0%, #8C52FF 46%, #612fd0 100%) !important;

  color: #ffffff !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  font-style: normal !important;
  line-height: 1 !important;

  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-align: center !important;

  box-shadow:
    0 18px 46px rgba(140, 82, 255, 0.36),
    inset 0 1px 0 rgba(255,255,255,0.28) !important;

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease !important;
}

.xp-single-merch form.cart .single_add_to_cart_button:hover,
.xp-single-merch .single_add_to_cart_button:hover,
.xp-single-merch button.button:hover,
.xp-single-merch .button.alt:hover {
  transform: translateY(-2px) !important;

  border-color: rgba(255,255,255,0.90) !important;

  background:
    linear-gradient(135deg, #cbb0ff 0%, #9b62ff 48%, #763cf0 100%) !important;

  color: #ffffff !important;

  box-shadow:
    0 24px 56px rgba(140, 82, 255, 0.50),
    inset 0 1px 0 rgba(255,255,255,0.30) !important;
}


/* ============================================================
   Variable product / size .elementor-1063 .elementor-element.elementor-element-16c81b3
   ============================================================ */

.xp-single-merch form.variations_form.cart {
  display: flex !important;
  flex-direction: column !important;
  gap: 16px !important;

  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 18px !important;

  border-radius: 24px !important;
  border: 1px solid rgba(140, 82, 255, 0.34) !important;

  background:
    radial-gradient(circle at 20% 0%, rgba(140, 82, 255, 0.14), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018)),
    rgba(10, 7, 18, 0.88) !important;

  box-shadow:
    0 22px 65px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}


/* Remove table look */
.xp-single-merch table.variations,
.xp-single-merch table.variations tbody,
.xp-single-merch table.variations tr,
.xp-single-merch table.variations th,
.xp-single-merch table.variations td {
  display: block !important;
  width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

.xp-single-merch table.variations {
  margin-bottom: 0 !important;
}

.xp-single-merch table.variations tr + tr {
  margin-top: 14px !important;
}


/* Labels */
.xp-single-merch table.variations label {
  display: block !important;

  color: rgba(238, 232, 255, 0.92) !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;

  margin: 0 0 10px !important;
  padding: 0 !important;
}


/* Dropdown wrapper */
.xp-single-merch table.variations td.value {
  position: relative !important;
  width: 100% !important;
}


/* Dropdowns */
.xp-single-merch table.variations select,
.xp-single-merch select[name^="attribute_"],
.xp-single-merch select#pa_size,
.xp-single-merch select#pa_color {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 100% !important;
  height: 56px !important;

  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;

  padding: 0 48px 0 18px !important;

  border-radius: 16px !important;
  border: 1px solid rgba(190, 130, 255, 0.34) !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.095), rgba(255,255,255,0.035)),
    rgba(16, 11, 28, 0.96) !important;

  color: #ffffff !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 56px !important;

  outline: none !important;
  cursor: pointer !important;

  box-shadow:
    0 10px 28px rgba(0,0,0,0.22),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;

  transition:
    border-color 0.25s ease,
    box-shadow 0.25s ease,
    background 0.25s ease !important;
}

.xp-single-merch table.variations select:hover,
.xp-single-merch table.variations select:focus,
.xp-single-merch select[name^="attribute_"]:hover,
.xp-single-merch select[name^="attribute_"]:focus {
  border-color: rgba(190, 130, 255, 0.72) !important;

  background:
    linear-gradient(180deg, rgba(140,82,255,0.16), rgba(255,255,255,0.04)),
    rgba(16, 11, 28, 1) !important;

  box-shadow:
    0 14px 34px rgba(140,82,255,0.18),
    inset 0 1px 0 rgba(255,255,255,0.11) !important;
}

.xp-single-merch table.variations select option {
  background: #120b1d !important;
  color: #ffffff !important;
}


/* Custom dropdown arrow */
.xp-single-merch table.variations td.value::after {
  content: "⌄";
  position: absolute !important;

  right: 18px !important;
  top: 50% !important;

  transform: translateY(-54%) !important;

  color: rgba(238, 232, 255, 0.78) !important;

  font-size: 20px !important;
  font-weight: 900 !important;
  line-height: 1 !important;

  pointer-events: none !important;
}


/* Reset variations */
.xp-single-merch table.variations .reset_variations {
  display: none !important;
}


/* ============================================================
   Variation price / selected variation area
   FIX: added top margin so it doesn't sit flush against the
   dropdown, and this is now the ONE clearly "loud" price on the
   panel once a size is chosen — bumped size/weight up slightly
   vs. the top price pill so there's a visual hierarchy instead
   of two identical price treatments stacked on the page.
   ============================================================ */

.xp-single-merch .single_variation_wrap,
.xp-single-merch .woocommerce-variation {
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.xp-single-merch .woocommerce-variation-price {
  margin: 14px 0 12px !important;
}

.xp-single-merch .woocommerce-variation-price .price {
  color: #b98cff !important;
  font-size: 22px !important;
  font-weight: 950 !important;
  text-shadow: 0 0 18px rgba(140, 82, 255, 0.32) !important;
}


/* Quantity + button row */
.xp-single-merch .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 14px !important;

  width: 100% !important;
  margin: 0 !important;
}

.xp-single-merch .woocommerce-variation-add-to-cart .quantity {
  width: 92px !important;
  flex: 0 0 92px !important;
  margin: 0 !important;
}

.xp-single-merch .woocommerce-variation-add-to-cart .quantity input.qty {
  width: 92px !important;
  height: 58px !important;

  margin: 0 !important;
  padding: 0 10px !important;

  border-radius: 16px !important;
  border: 1px solid rgba(255,255,255,0.16) !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.11), rgba(255,255,255,0.045)) !important;

  color: #ffffff !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  text-align: center !important;

  outline: none !important;

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.10),
    0 8px 22px rgba(0,0,0,0.24) !important;
}

.xp-single-merch .woocommerce-variation-add-to-cart .single_add_to_cart_button {
  flex: 1 !important;

  height: 58px !important;
  min-height: 58px !important;

  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;

  margin: 0 !important;
  padding: 0 26px !important;

  border-radius: 16px !important;
}


/* Disabled before options selected */
.xp-single-merch .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button,
.xp-single-merch .single_add_to_cart_button.disabled,
.xp-single-merch .single_add_to_cart_button:disabled {
  opacity: 0.55 !important;
  cursor: not-allowed !important;
  filter: grayscale(0.2) !important;
}


/* ============================================================
   Product meta / categories
   ============================================================ */

.xp-single-merch .product_meta {
  margin-top: 28px !important;
  padding-top: 20px !important;

  border-top: 1px solid rgba(140, 82, 255, 0.18) !important;

  color: rgba(238, 232, 255, 0.52) !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 13px !important;
}

.xp-single-merch .product_meta a {
  color: rgba(238, 232, 255, 0.78) !important;
  text-decoration: none !important;
}

.xp-single-merch .product_meta a:hover {
  color: #ffffff !important;
}


/* ============================================================
   WooCommerce messages
   ============================================================ */

.xp-single-merch .woocommerce-message,
.xp-single-merch .woocommerce-info,
.xp-single-merch .woocommerce-error {
  border-radius: 18px !important;
  border: 1px solid rgba(140, 82, 255, 0.28) !important;

  background: rgba(13, 9, 24, 0.92) !important;
  color: #ffffff !important;

  box-shadow:
    0 18px 50px rgba(0,0,0,0.42) !important;
}


/* ============================================================
   Tablet
   ============================================================ */

@media (max-width: 1024px) {
  .xp-single-merch {
    padding: 54px 20px !important;
  }

  .xp-single-merch .xp-product-panel {
    position: relative !important;
    top: auto !important;

    padding: 36px 30px 32px !important;
  }

  .xp-single-merch .woocommerce-product-gallery__image img,
  .xp-single-merch .woocommerce-product-gallery img,
  .xp-single-merch .elementor-widget-woocommerce-product-images img {
    max-height: 520px !important;
  }

  .xp-single-merch .xp-product-title .elementor-heading-title,
  .xp-single-merch .elementor-widget-woocommerce-product-title .elementor-heading-title,
  .xp-single-merch .product_title {
    font-size: clamp(38px, 7vw, 54px) !important;
  }

  .xp-single-merch .flex-control-thumbs li {
    width: 76px !important;
    flex: 0 0 76px !important;
  }
}


/* ============================================================
   Mobile
   ============================================================ */

@media (max-width: 767px) {
  .xp-single-merch {
    padding: 36px 14px !important;
  }

  .xp-single-merch .woocommerce-product-gallery,
  .xp-single-merch .elementor-widget-woocommerce-product-images {
    padding: 8px !important;
    border-radius: 24px !important;
  }

  .xp-single-merch .woocommerce-product-gallery .flex-viewport {
    border-radius: 18px !important;
  }

  .xp-single-merch .woocommerce-product-gallery__image img,
  .xp-single-merch .woocommerce-product-gallery img,
  .xp-single-merch .elementor-widget-woocommerce-product-images img {
    max-height: 430px !important;
    border-radius: 18px !important;
  }

  .xp-single-merch .woocommerce-product-gallery__trigger {
    top: 16px !important;
    right: 16px !important;

    width: 40px !important;
    height: 40px !important;
  }

  .xp-single-merch .flex-control-thumbs {
    gap: 8px !important;
    margin-top: 10px !important;
  }

  .xp-single-merch .flex-control-thumbs li {
    width: 64px !important;
    flex: 0 0 64px !important;
  }

  .xp-single-merch .flex-control-thumbs img {
    height: 68px !important;
    border-radius: 10px !important;
  }

  .xp-single-merch .xp-product-panel {
    position: relative !important;
    top: auto !important;

    padding: 30px 20px 24px !important;
    border-radius: 24px !important;
  }

  .xp-single-merch .xp-product-title .elementor-heading-title,
  .xp-single-merch .elementor-widget-woocommerce-product-title .elementor-heading-title,
  .xp-single-merch .product_title {
    font-size: 34px !important;
    line-height: 1 !important;
    letter-spacing: -0.045em !important;
  }

  .xp-single-merch .elementor-widget-woocommerce-product-price {
    margin-bottom: 22px !important;
  }

  .xp-single-merch .elementor-widget-woocommerce-product-price .elementor-widget-container {
    padding: 9px 16px !important;
  }

  .xp-single-merch .price,
  .xp-single-merch .woocommerce-Price-amount,
  .xp-single-merch .elementor-widget-woocommerce-product-price .price,
  .xp-single-merch .elementor-widget-woocommerce-product-price .woocommerce-Price-amount {
    font-size: 18px !important;
  }

  .xp-single-merch .woocommerce-variation-price .price {
    font-size: 20px !important;
  }

  .xp-single-merch .xp-product-desc,
  .xp-single-merch .elementor-widget-woocommerce-product-short-description {
    padding: 18px 18px !important;
    margin-bottom: 24px !important;
  }

  .xp-single-merch form.cart,
  .xp-single-merch form.variations_form.cart {
    flex-direction: column !important;
    gap: 12px !important;

    padding: 14px !important;
    border-radius: 20px !important;
  }

  .xp-single-merch table.variations select,
  .xp-single-merch select[name^="attribute_"],
  .xp-single-merch select#pa_size,
  .xp-single-merch select#pa_color {
    height: 54px !important;
    border-radius: 15px !important;
  }

  .xp-single-merch .woocommerce-variation-add-to-cart {
    flex-direction: column !important;
    gap: 10px !important;
  }

  .xp-single-merch form.cart .quantity,
  .xp-single-merch form.cart .quantity input.qty,
  .xp-single-merch .woocommerce-variation-add-to-cart .quantity,
  .xp-single-merch .woocommerce-variation-add-to-cart .quantity input.qty {
    width: 100% !important;
    flex: none !important;
  }

  .xp-single-merch form.cart .quantity input.qty,
  .xp-single-merch form.cart .single_add_to_cart_button,
  .xp-single-merch .single_add_to_cart_button,
  .xp-single-merch .woocommerce-variation-add-to-cart .quantity input.qty,
  .xp-single-merch .woocommerce-variation-add-to-cart .single_add_to_cart_button {
    height: 54px !important;
    min-height: 54px !important;
    border-radius: 14px !important;
  }
}


/* ============================================================
   XP42 SINGLE PRODUCT — Premium Layout Polish
   ============================================================ */


/* Tighten the full product section */
.xp-single-merch {
  padding: 64px 28px 72px !important;

  background:
    radial-gradient(circle at 18% 8%, rgba(140, 82, 255, 0.24), transparent 32%),
    radial-gradient(circle at 78% 18%, rgba(140, 82, 255, 0.16), transparent 34%),
    radial-gradient(circle at 50% 100%, rgba(140, 82, 255, 0.10), transparent 42%),
    linear-gradient(180deg, #120921 0%, #080511 52%, #05040b 100%) !important;
}

/* Main product layout spacing */
.xp-single-merch .e-con-inner,
.xp-single-merch .elementor-container {
  gap: 34px !important;
}

/* Make the product image card feel cleaner */
.xp-single-merch .woocommerce-product-gallery,
.xp-single-merch .elementor-widget-woocommerce-product-images {
  padding: 12px !important;
  border-radius: 28px !important;

  border: 1px solid rgba(158, 96, 255, 0.42) !important;

  background:
    radial-gradient(circle at 50% 0%, rgba(140, 82, 255, 0.18), transparent 40%),
    linear-gradient(180deg, rgba(255,255,255,0.060), rgba(255,255,255,0.018)),
    rgba(9, 6, 17, 0.96) !important;

  box-shadow:
    0 26px 80px rgba(0, 0, 0, 0.54),
    0 0 44px rgba(140, 82, 255, 0.14),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* Main image: less huge, more product-card style */
.xp-single-merch .woocommerce-product-gallery__image img,
.xp-single-merch .woocommerce-product-gallery img,
.xp-single-merch .elementor-widget-woocommerce-product-images img {
  max-height: 520px !important;
  border-radius: 22px !important;

  background:
    radial-gradient(circle at 50% 40%, rgba(255,255,255,0.07), transparent 48%),
    #f7f7f7 !important;

  object-fit: contain !important;
}

/* Thumbnail strip: cleaner, sized to content (not stretched) */
.xp-single-merch .flex-control-thumbs img {
  height: 76px !important;
  border-radius: 12px !important;
  opacity: 0.46 !important;

  border: 1px solid rgba(160, 110, 255, 0.22) !important;
  background: rgba(255,255,255,0.05) !important;
}

.xp-single-merch .flex-control-thumbs img:hover,
.xp-single-merch .flex-control-thumbs img.flex-active {
  opacity: 1 !important;
  transform: translateY(-1px) !important;
  border-color: rgba(160, 110, 255, 0.85) !important;
  box-shadow: 0 0 18px rgba(140, 82, 255, 0.22) !important;
}

/* Right card: slightly wider-feeling and more premium */
.xp-single-merch .xp-product-panel {
  position: relative !important;
  top: auto !important;

  padding: 42px 42px 38px !important;
  border-radius: 30px !important;

  border: 1px solid rgba(157, 95, 255, 0.40) !important;

  background:
    radial-gradient(circle at 0% 0%, rgba(140, 82, 255, 0.25), transparent 36%),
    radial-gradient(circle at 100% 0%, rgba(255,255,255,0.06), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.050), rgba(255,255,255,0.015)),
    rgba(9, 6, 17, 0.88) !important;

  box-shadow:
    0 28px 85px rgba(0, 0, 0, 0.52),
    0 0 48px rgba(140, 82, 255, 0.13),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* Make title cleaner and less oversized */
.xp-single-merch .xp-product-title .elementor-heading-title,
.xp-single-merch .elementor-widget-woocommerce-product-title .elementor-heading-title,
.xp-single-merch .product_title {
  font-size: clamp(38px, 3.3vw, 54px) !important;
  line-height: 0.98 !important;
  letter-spacing: -0.055em !important;
  margin-bottom: 22px !important;
}

/* Top ("from") price spacing */
.xp-single-merch .elementor-widget-woocommerce-product-price {
  margin-bottom: 28px !important;
}

/* Details label */
.xp-single-merch .xp-details-heading .elementor-heading-title,
.xp-single-merch .xp-details-heading h2,
.xp-single-merch .xp-details-heading h3 {
  margin-bottom: 18px !important;
  font-size: 13px !important;
  letter-spacing: 0.2em !important;
}

/* Form: less boxy, more compact */
.xp-single-merch form.variations_form.cart,
.xp-single-merch form.cart {
  width: 100% !important;
  max-width: 360px !important;

  padding: 16px !important;
  border-radius: 22px !important;

  border: 1px solid rgba(153, 92, 255, 0.42) !important;

  background:
    radial-gradient(circle at 20% 0%, rgba(140, 82, 255, 0.16), transparent 36%),
    linear-gradient(180deg, rgba(255,255,255,0.060), rgba(255,255,255,0.020)),
    rgba(11, 7, 20, 0.92) !important;

  box-shadow:
    0 18px 54px rgba(0,0,0,0.42),
    inset 0 1px 0 rgba(255,255,255,0.08) !important;
}

/* Dropdown polish */
.xp-single-merch table.variations select,
.xp-single-merch select[name^="attribute_"],
.xp-single-merch select#pa_size,
.xp-single-merch select#pa_color {
  height: 52px !important;
  border-radius: 14px !important;

  background:
    linear-gradient(180deg, rgba(255,255,255,0.090), rgba(255,255,255,0.030)),
    rgba(17, 11, 30, 0.98) !important;
}

/* Quantity + button sizing */
.xp-single-merch .woocommerce-variation-add-to-cart {
  gap: 12px !important;
}

.xp-single-merch .woocommerce-variation-add-to-cart .quantity {
  width: 78px !important;
  flex: 0 0 78px !important;
}

.xp-single-merch .woocommerce-variation-add-to-cart .quantity input.qty {
  width: 78px !important;
  height: 54px !important;
  border-radius: 14px !important;
}

.xp-single-merch .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.xp-single-merch form.cart .single_add_to_cart_button,
.xp-single-merch .single_add_to_cart_button {
  height: 54px !important;
  min-height: 54px !important;
  border-radius: 14px !important;

  font-size: 12px !important;
  letter-spacing: 0.10em !important;
}

/* Size guide link */
.xp-single-merch a[href*="size"],
.xp-single-merch .size-guide,
.xp-single-merch .ct-size-guide,
.xp-single-merch .woo-size-guide {
  color: #a96cff !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  display: inline-block !important;
  margin-top: 10px !important; /* FIX: breathing room from dropdown */
}

.xp-single-merch a[href*="size"]:hover {
  color: #ffffff !important;
}

/* Better desktop balance */
@media (min-width: 1025px) {
  .xp-single-merch .xp-product-panel {
    margin-top: 36px !important;
  }
}

/* Tablet */
@media (max-width: 1024px) {
  .xp-single-merch {
    padding: 50px 20px 60px !important;
  }

  .xp-single-merch .woocommerce-product-gallery__image img,
  .xp-single-merch .woocommerce-product-gallery img,
  .xp-single-merch .elementor-widget-woocommerce-product-images img {
    max-height: 500px !important;
  }

  .xp-single-merch form.variations_form.cart,
  .xp-single-merch form.cart {
    max-width: 100% !important;
  }
}

/* Mobile */
@media (max-width: 767px) {
  .xp-single-merch {
    padding: 36px 14px 48px !important;
  }

  .xp-single-merch .woocommerce-product-gallery__image img,
  .xp-single-merch .woocommerce-product-gallery img,
  .xp-single-merch .elementor-widget-woocommerce-product-images img {
    max-height: 390px !important;
  }

  .xp-single-merch .flex-control-thumbs img {
    height: 64px !important;
  }

  .xp-single-merch .xp-product-panel {
    padding: 28px 20px 24px !important;
  }

  .xp-single-merch .xp-product-title .elementor-heading-title,
  .xp-single-merch .elementor-widget-woocommerce-product-title .elementor-heading-title,
  .xp-single-merch .product_title {
    font-size: 32px !important;
  }

  .xp-single-merch form.variations_form.cart,
  .xp-single-merch form.cart {
    max-width: 100% !important;
  }
}
/* ============================================================
   XP42 SINGLE PRODUCT — Better Details Text Styling
   Paste at the VERY BOTTOM
   ============================================================ */

/* Details box */
.xp-single-merch .xp-product-desc,
.xp-single-merch .elementor-widget-woocommerce-product-short-description {
  max-width: 100% !important;

  padding: 22px 24px !important;
  border-radius: 20px !important;

  border: 1px solid rgba(150, 92, 255, 0.28) !important;

  background:
    radial-gradient(circle at 12% 0%, rgba(140, 82, 255, 0.14), transparent 38%),
    linear-gradient(180deg, rgba(255,255,255,0.055), rgba(255,255,255,0.018)),
    rgba(12, 8, 22, 0.78) !important;

  box-shadow:
    0 18px 48px rgba(0, 0, 0, 0.28),
    inset 0 1px 0 rgba(255,255,255,0.07) !important;
}

/* Paragraph text */
.xp-single-merch .xp-product-desc p,
.xp-single-merch .elementor-widget-woocommerce-product-short-description p,
.xp-single-merch .woocommerce-product-details__short-description p {
  color: rgba(238, 232, 255, 0.76) !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 14px !important;
  font-weight: 450 !important;
  line-height: 1.65 !important;

  margin: 0 0 14px !important;
}

/* Last paragraph no extra gap */
.xp-single-merch .xp-product-desc p:last-child,
.xp-single-merch .elementor-widget-woocommerce-product-short-description p:last-child,
.xp-single-merch .woocommerce-product-details__short-description p:last-child {
  margin-bottom: 0 !important;
}

/* Lists */
.xp-single-merch .xp-product-desc ul,
.xp-single-merch .elementor-widget-woocommerce-product-short-description ul,
.xp-single-merch .woocommerce-product-details__short-description ul {
  margin: 14px 0 14px !important;
  padding: 0 !important;

  list-style: none !important;
}

/* List items */
.xp-single-merch .xp-product-desc li,
.xp-single-merch .elementor-widget-woocommerce-product-short-description li,
.xp-single-merch .woocommerce-product-details__short-description li {
  position: relative !important;

  color: rgba(238, 232, 255, 0.78) !important;

  font-family: Inter, Arial, sans-serif !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;

  margin: 0 0 8px !important;
  padding-left: 18px !important;
}

/* Custom purple bullet */
.xp-single-merch .xp-product-desc li::before,
.xp-single-merch .elementor-widget-woocommerce-product-short-description li::before,
.xp-single-merch .woocommerce-product-details__short-description li::before {
  content: "" !important;

  position: absolute !important;
  left: 0 !important;
  top: 0.72em !important;

  width: 6px !important;
  height: 6px !important;

  border-radius: 999px !important;

  background: #8C52FF !important;
  box-shadow: 0 0 10px rgba(140, 82, 255, 0.75) !important;
}

/* Make strong/bold text pop */
.xp-single-merch .xp-product-desc strong,
.xp-single-merch .elementor-widget-woocommerce-product-short-description strong,
.xp-single-merch .woocommerce-product-details__short-description strong {
  color: #ffffff !important;
  font-weight: 800 !important;
}

/* Optional: soften the long compliance/on-demand text */
.xp-single-merch .xp-product-desc p:last-child,
.xp-single-merch .elementor-widget-woocommerce-product-short-description p:last-child,
.xp-single-merch .woocommerce-product-details__short-description p:last-child {
  color: rgba(238, 232, 255, 0.58) !important;
  font-size: 13px !important;
  line-height: 1.6 !important;
}

/* Mobile */
@media (max-width: 767px) {
  .xp-single-merch .xp-product-desc,
  .xp-single-merch .elementor-widget-woocommerce-product-short-description {
    padding: 18px 18px !important;
  }

  .xp-single-merch .xp-product-desc p,
  .xp-single-merch .elementor-widget-woocommerce-product-short-description p,
  .xp-single-merch .woocommerce-product-details__short-description p {
    font-size: 13.5px !important;
  }

  .xp-single-merch .xp-product-desc li,
  .xp-single-merch .elementor-widget-woocommerce-product-short-description li,
  .xp-single-merch .woocommerce-product-details__short-description li {
    font-size: 13px !important;
  }
}/* End custom CSS */
/* Start custom CSS *//* XP42 - Force Inter without breaking layout */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap');

/* Main text elements only */
body,
p,
a,
span,
li,
label,
input,
textarea,
select,
button,
.elementor-heading-title,
.elementor-widget-text-editor,
.elementor-button,
.elementor-field,
.elementor-icon-list-text,
.elementor-counter-number,
.elementor-counter-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-style: normal !important;
}

/* Keep headings strong */
h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

/* Nav menu */
header a,
nav a,
.elementor-nav-menu a,
.elementor-item {
  font-family: "Inter", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

/* Buttons */
.elementor-button,
button,
input[type="submit"] {
  font-family: "Inter", Arial, sans-serif !important;
  font-style: normal !important;
  font-weight: 800 !important;
}

/* Global heading alignment fix after switching to Inter */
h1,
h2,
h3,
h4,
h5,
h6,
.elementor-heading-title {
  font-family: "Inter", Arial, sans-serif !important;
  font-style: normal !important;
  margin-left: 0 !important;
  text-indent: 0 !important;
  transform: none !important;
}

/* Remove old display-font spacing that can push headings around */
.elementor-widget-heading,
.elementor-widget-heading .elementor-heading-title {
  margin-left: 0 !important;
  padding-left: 0 !important;
}

/* Keep big headings readable in Inter */
h1,
h2,
.elementor-heading-title {
  letter-spacing: 0.02em !important;
  line-height: 1.08 !important;
}
/* ============================================================
   XP42 ABOUT PAGE — Clean Section Atmosphere
   Paste in Elementor Page Settings > Advanced > Custom CSS
   ============================================================ */

/* Base page background */
body.elementor-page-1063 {
  background:
    radial-gradient(circle at 10% 15%, rgba(111, 53, 232, 0.18) 0%, transparent 30%),
    radial-gradient(circle at 85% 25%, rgba(111, 53, 232, 0.14) 0%, transparent 35%),
    radial-gradient(circle at 25% 70%, rgba(111, 53, 232, 0.12) 0%, transparent 40%),
    radial-gradient(circle at 90% 85%, rgba(111, 53, 232, 0.16) 0%, transparent 35%),
    radial-gradient(circle at 50% 50%, rgba(111, 53, 232, 0.08) 0%, transparent 50%),
    #0F0C1F !important;

  background-size: cover;
  background-repeat: no-repeat;
  background-attachment: fixed;
}

/* ============================================================
   NORMAL CONTENT SECTIONS
   Add class to main full-width sections: xp-atmo-section
   ============================================================ */

body.elementor-page-1063 .xp-atmo-section {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background: transparent !important;
  border: none !important;
}

body.elementor-page-1063 .xp-atmo-section > * {
  position: relative !important;
  z-index: 2 !important;
}

/* Soft left glow */
body.elementor-page-1063 .xp-atmo-section::before {
  content: "";
  position: absolute;
  width: 780px;
  height: 480px;
  left: 6%;
  top: 52%;
  transform: translateY(-50%);
  background: radial-gradient(circle, rgba(111, 53, 232, 0.13), transparent 68%);
  filter: blur(62px);
  opacity: 0.62;
  z-index: 0;
  pointer-events: none;
}

/* Soft right/lower glow */
body.elementor-page-1063 .xp-atmo-section::after {
  content: "";
  position: absolute;
  width: 760px;
  height: 440px;
  right: -12%;
  bottom: -18%;
  background: radial-gradient(circle, rgba(111, 53, 232, 0.10), transparent 68%);
  filter: blur(60px);
  opacity: 0.48;
  z-index: 0;
  pointer-events: none;
}

/* Prevent hard section seams */
body.elementor-page-1063 .xp-atmo-section + .xp-atmo-section {
  margin-top: 0 !important;
  border-top: none !important;
}

/* Remove Elementor overlays only on classed atmosphere sections */
body.elementor-page-1063 .xp-atmo-section > .elementor-background-overlay {
  background: transparent !important;
}

/* ============================================================
   DARKER SECTIONS
   Add class to darker sections: xp-atmo-deep
   Use for Coming Soon / Footer areas
   ============================================================ */

body.elementor-page-1063 .xp-atmo-deep {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
  background:
    radial-gradient(circle at 78% 34%, rgba(111, 53, 232, 0.10), transparent 36%),
    linear-gradient(180deg, rgba(7, 7, 17, 0.58), rgba(5, 5, 13, 0.72)) !important;
  border-top: 1px solid rgba(140, 82, 255, 0.06) !important;
}

body.elementor-page-1063 .xp-atmo-deep > * {
  position: relative !important;
  z-index: 2 !important;
}

body.elementor-page-1063 .xp-atmo-deep::before {
  content: "";
  position: absolute;
  width: 720px;
  height: 360px;
  right: -140px;
  top: 50%;
  transform: translateY(-50%);
  background: radial-gradient(circle, rgba(111, 53, 232, 0.16), transparent 68%);
  filter: blur(50px);
  opacity: 0.50;
  z-index: 0;
  pointer-events: none;
}

/* ============================================================
   LOGO STRIP
   Add class to logo strip section: xp-logo-strip
   ============================================================ */

body.elementor-page-1063 .xp-logo-strip {
  position: relative !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at 50% 50%, rgba(111, 53, 232, 0.12), transparent 55%),
    linear-gradient(90deg, rgba(5, 5, 13, 0.98), rgba(13, 8, 28, 0.98), rgba(5, 5, 13, 0.98)) !important;
  border-top: 1px solid rgba(140, 82, 255, 0.10) !important;
  border-bottom: 1px solid rgba(140, 82, 255, 0.10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.025),
    0 0 28px rgba(140, 82, 255, 0.06) !important;
}

body.elementor-page-1063 .xp-logo-strip img {
  opacity: 0.56;
  filter: grayscale(1) brightness(0.88);
  transition: opacity 0.25s ease, filter 0.25s ease, transform 0.25s ease;
}

body.elementor-page-1063 .xp-logo-strip img:hover {
  opacity: 0.95;
  filter: grayscale(0) brightness(1);
  transform: translateY(-2px);
}

/* ============================================================
   IMAGE / VIDEO FRAMES
   Add class to image/video container: xp-media-frame
   ============================================================ */

body.elementor-page-1063 .xp-media-frame {
  position: relative !important;
}

body.elementor-page-1063 .xp-media-frame img,
body.elementor-page-1063 .xp-media-frame iframe,
body.elementor-page-1063 .xp-media-frame video {
  border: 1px solid rgba(140, 82, 255, 0.24) !important;
  box-shadow:
    0 0 24px rgba(140, 82, 255, 0.16),
    0 0 60px rgba(140, 82, 255, 0.08) !important;
}

body.elementor-page-1063 .xp-media-frame::after {
  content: "";
  position: absolute;
  right: -8px;
  bottom: -8px;
  width: 42%;
  height: 8px;
  background: #8c52ff;
  box-shadow:
    0 0 14px rgba(140, 82, 255, 0.55),
    0 0 34px rgba(140, 82, 255, 0.22);
  pointer-events: none;
}

/* ============================================================
   HEADINGS / DIVIDERS
   ============================================================ */

body.elementor-page-1063 h1,
body.elementor-page-1063 h2,
body.elementor-page-1063 h3,
body.elementor-page-1063 .elementor-heading-title {
  text-shadow:
    0 0 18px rgba(140, 82, 255, 0.16),
    0 2px 8px rgba(0, 0, 0, 0.42);
}

body.elementor-page-1063 .elementor-divider-separator {
  border-color: rgba(140, 82, 255, 0.85) !important;
  box-shadow:
    0 0 10px rgba(140, 82, 255, 0.72),
    0 0 24px rgba(140, 82, 255, 0.28) !important;
}

/* ============================================================
   BUTTONS
   ============================================================ */

body.elementor-page-1063 .elementor-button {
  border-color: rgba(140, 82, 255, 0.70) !important;
  box-shadow:
    0 0 12px rgba(140, 82, 255, 0.20),
    0 0 28px rgba(140, 82, 255, 0.07) !important;
  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease !important;
}

body.elementor-page-1063 .elementor-button:hover {
  transform: translateY(-2px);
  border-color: rgba(190, 130, 255, 0.90) !important;
  box-shadow:
    0 0 18px rgba(140, 82, 255, 0.35),
    0 0 44px rgba(140, 82, 255, 0.13) !important;
}

/* ============================================================
   TEAM HIGHLIGHT CARDS
   Add class to each box: xp-highlight-card
   ============================================================ */

body.elementor-page-1063 .xp-highlight-card {
  position: relative !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  border: 1px solid rgba(154, 92, 255, 0.22) !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(154, 92, 255, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.018)) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.05),
    0 14px 34px rgba(0, 0, 0, 0.26),
    0 0 18px rgba(154, 92, 255, 0.07) !important;
  transition:
    transform 0.28s ease,
    border-color 0.28s ease,
    box-shadow 0.28s ease !important;
}

body.elementor-page-1063 .xp-highlight-card:hover {
  transform: translateY(-4px) !important;
  border-color: rgba(154, 92, 255, 0.44) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.07),
    0 20px 42px rgba(0, 0, 0, 0.34),
    0 0 28px rgba(154, 92, 255, 0.14) !important;
}

body.elementor-page-1063 .xp-highlight-card .elementor-icon,
body.elementor-page-1063 .xp-highlight-card i,
body.elementor-page-1063 .xp-highlight-card svg {
  transition: transform 0.28s ease, filter 0.28s ease !important;
}

body.elementor-page-1063 .xp-highlight-card:hover .elementor-icon,
body.elementor-page-1063 .xp-highlight-card:hover i,
body.elementor-page-1063 .xp-highlight-card:hover svg {
  transform: scale(1.06) !important;
  filter: drop-shadow(0 0 12px rgba(154, 92, 255, 0.42));
}

/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 767px) {
  body.elementor-page-1063 {
    background:
      radial-gradient(circle at 18% 12%, rgba(111, 53, 232, 0.16) 0%, transparent 36%),
      radial-gradient(circle at 82% 35%, rgba(111, 53, 232, 0.12) 0%, transparent 40%),
      radial-gradient(circle at 50% 78%, rgba(111, 53, 232, 0.12) 0%, transparent 44%),
      #0F0C1F !important;
    background-attachment: scroll;
  }

  body.elementor-page-1063 .xp-atmo-section::before,
  body.elementor-page-1063 .xp-atmo-section::after,
  body.elementor-page-1063 .xp-atmo-deep::before {
    width: 420px;
    height: 320px;
    opacity: 0.42;
    filter: blur(45px);
  }

  body.elementor-page-1063 .xp-media-frame::after {
    width: 48%;
    height: 6px;
  }
}
body.elementor-page-1063 .xp-atmo-section + .xp-atmo-section {
  margin-top: -1px !important;
}/* End custom CSS */