/*
 * Feature: Single Product Title Hero Section
 * Scope: WooCommerce single-product title section only.
 * Purpose: make the title a full responsive section, not a button/pill.
 */

body.single-product .gnsc-spx-title-section,
body.single-product.woocommerce div.product .gnsc-spx-title-section,
body.single-product div.product .gnsc-spx-title-section,
body.single-product .product .gnsc-spx-title-section {
  position: relative !important;
  isolation: isolate !important;
  z-index: 2 !important;
  display: block !important;
  clear: both !important;
  float: none !important;
  grid-column: 1 / -1 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  margin: clamp(14px, 1.4vw, 22px) 0 clamp(8px, .75vw, 12px) !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  text-align: initial !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  transform: none !important;
}

body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner,
body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-banner,
body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-banner,
body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-banner {
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  grid-template-columns: minmax(44px, .22fr) minmax(0, max-content) minmax(44px, .22fr) !important;
  align-items: center !important;
  justify-content: stretch !important;
  column-gap: clamp(12px, 1.6vw, 24px) !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: clamp(76px, 5.4vw, 106px) !important;
  margin: 0 !important;
  padding: clamp(16px, 1.55vw, 26px) clamp(18px, 2.8vw, 46px) !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  border-radius: clamp(18px, 1.55vw, 30px) !important;
  border: 1px solid rgba(96, 185, 255, .28) !important;
  background:
    radial-gradient(circle at 7% 10%, rgba(64, 210, 255, .35) 0, rgba(64, 210, 255, .10) 22%, transparent 45%),
    radial-gradient(circle at 91% 12%, rgba(185, 97, 255, .34) 0, rgba(185, 97, 255, .10) 24%, transparent 48%),
    radial-gradient(circle at 50% 120%, rgba(38, 239, 205, .18) 0, transparent 45%),
    linear-gradient(115deg, rgba(7, 24, 56, .96) 0%, rgba(14, 45, 96, .96) 31%, rgba(77, 55, 175, .94) 63%, rgba(9, 90, 133, .92) 100%) !important;
  box-shadow:
    0 20px 52px rgba(0, 0, 0, .22),
    0 0 0 1px rgba(255, 255, 255, .06) inset,
    0 22px 68px rgba(61, 139, 255, .12) inset !important;
}

body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner::before,
body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner::after,
body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-banner::before,
body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-banner::after,
body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-banner::before,
body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-banner::after,
body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-banner::before,
body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-banner::after {
  content: "" !important;
  position: absolute !important;
  pointer-events: none !important;
  z-index: -1 !important;
}

body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner::before,
body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-banner::before,
body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-banner::before,
body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-banner::before {
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.12), transparent 22%, transparent 78%, rgba(255,255,255,.10)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.06) 0 1px, transparent 1px 74px) !important;
  opacity: .72 !important;
}

body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner::after,
body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-banner::after,
body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-banner::after,
body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-banner::after {
  left: clamp(18px, 2.5vw, 44px) !important;
  right: clamp(18px, 2.5vw, 44px) !important;
  bottom: 0 !important;
  height: 4px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, #44d7ff, #8c7cff, #d163ff, #44d7ff, transparent) !important;
  box-shadow: 0 0 20px rgba(70, 203, 255, .45), 0 0 28px rgba(167, 99, 255, .28) !important;
  opacity: .88 !important;
}

body.single-product .gnsc-spx-title-section .gnsc-spx-title-orbit,
body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-orbit,
body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-orbit,
body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-orbit {
  position: relative !important;
  display: block !important;
  min-width: 0 !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(125, 211, 252, .78), rgba(255,255,255,.82), transparent) !important;
  box-shadow: 0 0 18px rgba(94, 190, 255, .34) !important;
  opacity: .86 !important;
}

body.single-product .gnsc-spx-title-section .gnsc-spx-title-orbit--right,
body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-orbit--right,
body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-orbit--right,
body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-orbit--right {
  transform: scaleX(-1) !important;
}

body.single-product .gnsc-spx-title-section .product_title,
body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title,
body.single-product div.product .gnsc-spx-title-section .product_title,
body.single-product .product .gnsc-spx-title-section .product_title,
body.single-product.woocommerce div.product .product_title.gnsc-spx-title-text,
body.single-product div.product .product_title.gnsc-spx-title-text,
body.single-product .product .product_title.gnsc-spx-title-text {
  position: relative !important;
  z-index: 1 !important;
  display: block !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  clear: none !important;
  float: none !important;
  text-align: center !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  color: #ffffff !important;
  font-size: clamp(26px, 2.9vw, 46px) !important;
  font-weight: 900 !important;
  line-height: 1.12 !important;
  letter-spacing: -.032em !important;
  text-shadow: 0 3px 18px rgba(0, 0, 0, .36) !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  filter: none !important;
  transform: none !important;
  appearance: none !important;
}

body.single-product .gnsc-spx-title-section .product_title::before,
body.single-product .gnsc-spx-title-section .product_title::after,
body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title::before,
body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title::after,
body.single-product div.product .gnsc-spx-title-section .product_title::before,
body.single-product div.product .gnsc-spx-title-section .product_title::after,
body.single-product .product .gnsc-spx-title-section .product_title::before,
body.single-product .product .gnsc-spx-title-section .product_title::after,
body.single-product.woocommerce div.product .product_title.gnsc-spx-title-text::before,
body.single-product.woocommerce div.product .product_title.gnsc-spx-title-text::after,
body.single-product div.product .product_title.gnsc-spx-title-text::before,
body.single-product div.product .product_title.gnsc-spx-title-text::after,
body.single-product .product .product_title.gnsc-spx-title-text::before,
body.single-product .product .product_title.gnsc-spx-title-text::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

body.single-product .gnsc-spx-title-section + .gnsc-spx-top,
body.single-product .gnsc-spx-title-section + .gnsc-spx-card,
body.single-product .gnsc-spx-title-section + .summary,
body.single-product.woocommerce div.product .gnsc-spx-title-section + .gnsc-spx-top,
body.single-product.woocommerce div.product .gnsc-spx-title-section + .gnsc-spx-card,
body.single-product.woocommerce div.product .gnsc-spx-title-section + .summary,
body.single-product div.product .gnsc-spx-title-section + .gnsc-spx-top,
body.single-product div.product .gnsc-spx-title-section + .gnsc-spx-card,
body.single-product div.product .gnsc-spx-title-section + .summary {
  margin-top: clamp(8px, .8vw, 12px) !important;
}

body.single-product .gnsc-spx-summary .product_title:not(.gnsc-spx-title-text),
body.single-product .summary .product_title:not(.gnsc-spx-title-text),
body.single-product.woocommerce div.product > .product_title:not(.gnsc-spx-title-text),
body.single-product div.product > .product_title:not(.gnsc-spx-title-text),
body.single-product .product > .product_title:not(.gnsc-spx-title-text) {
  display: none !important;
}

html.gnsc-shop-mode-light body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner,
body.single-product.gnsc-shop-mode-light .gnsc-spx-title-section .gnsc-spx-title-banner {
  border-color: rgba(68, 130, 255, .25) !important;
  background:
    radial-gradient(circle at 7% 10%, rgba(56, 189, 248, .34) 0, rgba(56, 189, 248, .09) 22%, transparent 45%),
    radial-gradient(circle at 91% 12%, rgba(168, 85, 247, .35) 0, rgba(168, 85, 247, .09) 24%, transparent 48%),
    radial-gradient(circle at 50% 120%, rgba(14, 165, 233, .18) 0, transparent 45%),
    linear-gradient(115deg, rgba(32, 105, 238, .96) 0%, rgba(56, 147, 255, .96) 31%, rgba(132, 79, 246, .94) 63%, rgba(24, 176, 205, .90) 100%) !important;
  box-shadow:
    0 20px 50px rgba(55, 105, 210, .17),
    0 0 0 1px rgba(255, 255, 255, .40) inset,
    0 20px 62px rgba(255, 255, 255, .13) inset !important;
}

html.gnsc-shop-mode-light body.single-product .gnsc-spx-title-section .product_title,
body.single-product.gnsc-shop-mode-light .gnsc-spx-title-section .product_title,
html.gnsc-shop-mode-light body.single-product .product_title.gnsc-spx-title-text,
body.single-product.gnsc-shop-mode-light .product_title.gnsc-spx-title-text {
  color: #ffffff !important;
  text-shadow: 0 3px 18px rgba(15, 23, 42, .24) !important;
}

@media (max-width: 980px) {
  body.single-product .gnsc-spx-title-section,
  body.single-product.woocommerce div.product .gnsc-spx-title-section,
  body.single-product div.product .gnsc-spx-title-section,
  body.single-product .product .gnsc-spx-title-section {
    margin-top: clamp(10px, 2.4vw, 16px) !important;
    margin-bottom: 8px !important;
  }

  body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner,
  body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-banner,
  body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-banner,
  body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-banner {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
    padding: clamp(16px, 3.2vw, 22px) clamp(14px, 3vw, 22px) !important;
    border-radius: clamp(18px, 4vw, 24px) !important;
  }

  body.single-product .gnsc-spx-title-section .gnsc-spx-title-orbit,
  body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-orbit,
  body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-orbit,
  body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-orbit {
    display: none !important;
  }

  body.single-product .gnsc-spx-title-section .product_title,
  body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title,
  body.single-product div.product .gnsc-spx-title-section .product_title,
  body.single-product .product .gnsc-spx-title-section .product_title,
  body.single-product.woocommerce div.product .product_title.gnsc-spx-title-text,
  body.single-product div.product .product_title.gnsc-spx-title-text,
  body.single-product .product .product_title.gnsc-spx-title-text {
    font-size: clamp(24px, 6.6vw, 36px) !important;
    line-height: 1.16 !important;
  }
}

@media (max-width: 520px) {
  body.single-product .gnsc-spx-title-section .gnsc-spx-title-banner,
  body.single-product.woocommerce div.product .gnsc-spx-title-section .gnsc-spx-title-banner,
  body.single-product div.product .gnsc-spx-title-section .gnsc-spx-title-banner,
  body.single-product .product .gnsc-spx-title-section .gnsc-spx-title-banner {
    padding: 15px 14px 17px !important;
    border-radius: 18px !important;
  }

  body.single-product .gnsc-spx-title-section .product_title,
  body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title,
  body.single-product div.product .gnsc-spx-title-section .product_title,
  body.single-product .product .gnsc-spx-title-section .product_title,
  body.single-product.woocommerce div.product .product_title.gnsc-spx-title-text,
  body.single-product div.product .product_title.gnsc-spx-title-text,
  body.single-product .product .product_title.gnsc-spx-title-text {
    font-size: clamp(22px, 7.2vw, 30px) !important;
    letter-spacing: -.025em !important;
  }
}
