/* Shopify product-page parity. This file must stay dark; the original product experience is not the light site theme. */
body.single-product,
body.single-product #page,
body.single-product .site,
body.single-product .site-main,
body.single-product .content-area,
body.single-product .woocommerce,
body.single-product div.product,
body.single-product main.cv-pd-section {
  background: #05060d !important;
  color: #f6f7fb !important;
}

body.single-product {
  --color-bg: #05060d;
  --color-bg-section: #111119;
  --color-bg-card: #10111d;
  --color-bg-light: #171827;
  --color-text: #f6f7fb;
  --color-text-muted: #9aa0bc;
  --color-border: #282b47;
  --color-accent: #635bff;
  --color-accent-hover: #756dff;
}

body.single-product .site-header {
  background: rgba(6, 7, 15, .96) !important;
  border-bottom: 1px solid rgba(255,255,255,.08) !important;
  backdrop-filter: blur(14px);
}

.cv-marquee-bar {
  background: #635bff !important;
  padding: 7px 0 !important;
}

.cv-pd-section {
  padding: 0 0 72px !important;
}

.cv-pd-container {
  max-width: 1120px !important;
  margin: 0 auto !important;
  padding: 34px 24px 0 !important;
  display: grid !important;
  grid-template-columns: minmax(420px, 1fr) minmax(390px, 470px) !important;
  gap: 44px !important;
  align-items: start !important;
}

.cv-pd-gallery {
  position: sticky !important;
  top: 70px !important;
}

.cv-pd-main-img {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  overflow: hidden !important;
  border-radius: 6px !important;
  background: #080a13 !important;
  border: 1px solid rgba(0,132,255,.75) !important;
  box-shadow: 0 18px 70px rgba(0,0,0,.38) !important;
}

.cv-pd-main-img img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
}

.cv-pd-thumbs {
  display: flex !important;
  gap: 10px !important;
  margin-top: 14px !important;
  flex-wrap: wrap !important;
}

.cv-pd-thumb {
  width: 68px !important;
  height: 56px !important;
  padding: 0 !important;
  overflow: hidden !important;
  border-radius: 5px !important;
  background: #10111d !important;
  border: 2px solid #20243a !important;
  cursor: pointer !important;
  box-shadow: 0 8px 24px rgba(0,0,0,.22) !important;
}

.cv-pd-thumb.active,
.cv-pd-thumb:hover {
  border-color: #0a8cff !important;
}

.cv-pd-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.cv-pd-info {
  padding-top: 10px !important;
  color: #f6f7fb !important;
}

.cv-pd-stars-row {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin: 0 0 14px !important;
}

.cv-pd-stars {
  color: #ffd51f !important;
  font-size: 16px !important;
  letter-spacing: 1px !important;
}

.cv-pd-rating-text {
  color: #9aa0bc !important;
  font-size: 12px !important;
  font-weight: 600 !important;
}

.cv-pd-title,
body.single-product .product_title {
  color: #fff !important;
  font-size: clamp(30px, 3.2vw, 40px) !important;
  line-height: 1.05 !important;
  font-weight: 900 !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
  margin: 0 0 18px !important;
}

.cv-pd-benefits {
  list-style: none !important;
  margin: 0 0 22px !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 11px !important;
}

.cv-pd-benefits li {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
  color: #9ea4bd !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
}

.cv-pd-benefit-icon {
  color: #b8bdff !important;
  font-size: 13px !important;
}

.cv-pd-price-row {
  display: flex !important;
  align-items: center !important;
  gap: 11px !important;
  margin: 0 0 7px !important;
}

.cv-pd-compare {
  color: #5b6078 !important;
  font-size: 15px !important;
}

.cv-pd-price {
  color: #fff !important;
  font-size: 30px !important;
  font-weight: 900 !important;
}

.cv-pd-sale-badge {
  background: #ff4b4b !important;
  color: #fff !important;
  border-radius: 4px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  padding: 5px 8px !important;
}

.cv-pd-tax-note {
  color: #7d839d !important;
  font-size: 11px !important;
  margin: 0 0 20px !important;
}

.cv-pd-urgency {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  color: #aeb4cf !important;
  background: #1e1015 !important;
  border: 1px solid #7e2630 !important;
  border-radius: 5px !important;
  padding: 12px 14px !important;
  margin: 0 0 14px !important;
  font-size: 12px !important;
}

.cv-bundle {
  display: block !important;
  background: #10111d !important;
  border: 1px solid #2a2d48 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  box-shadow: none !important;
  margin: 0 0 18px !important;
}

.cv-bundle-header {
  background: #151625 !important;
  border-bottom: 1px solid #2a2d48 !important;
  color: #a5abc7 !important;
  text-align: center !important;
  font-size: 10px !important;
  font-weight: 900 !important;
  letter-spacing: 3px !important;
  padding: 10px 16px !important;
}

.cv-bundle-options {
  display: flex !important;
  flex-direction: column !important;
}

.cv-bundle-opt {
  position: relative !important;
  display: block !important;
  background: #10111d !important;
  border: 0 !important;
  border-bottom: 1px solid #272a42 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  cursor: pointer !important;
}

.cv-bundle-opt:last-child {
  border-bottom: 0 !important;
}

.cv-bundle-opt.cv-bundle-selected {
  background: #161729 !important;
  border-left: 2px solid #635bff !important;
  box-shadow: inset 0 0 0 1px #635bff !important;
}

.cv-bundle-row {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  min-height: 74px !important;
  padding: 16px 18px !important;
}

.cv-bundle-radio {
  width: 18px !important;
  height: 18px !important;
  border-radius: 50% !important;
  background: transparent !important;
  border: 2px solid #4a4f6e !important;
  flex-shrink: 0 !important;
}

.cv-bundle-opt.cv-bundle-selected .cv-bundle-radio {
  background: #635bff !important;
  border-color: #8f8aff !important;
  box-shadow: 0 0 0 3px rgba(99,91,255,.22) !important;
}

.cv-bundle-info {
  flex: 1 !important;
}

.cv-bundle-qty,
.cv-bundle-price {
  color: #fff !important;
  font-weight: 900 !important;
}

.cv-bundle-qty {
  font-size: 14px !important;
}

.cv-bundle-save {
  color: #17d47a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
}

.cv-bundle-price-wrap {
  margin-left: auto !important;
  text-align: right !important;
}

.cv-bundle-price {
  font-size: 15px !important;
}

.cv-bundle-orig {
  color: #606780 !important;
  font-size: 11px !important;
  text-decoration: line-through !important;
}

.cv-bundle-badge {
  position: absolute !important;
  top: 0 !important;
  right: 0 !important;
  background: #635bff !important;
  color: #fff !important;
  border-radius: 0 7px 0 7px !important;
  font-size: 9px !important;
  font-weight: 900 !important;
  padding: 5px 12px !important;
  text-transform: uppercase !important;
}

.cv-bundle-badge-green {
  background: #20d377 !important;
}

.cv-bundle-colors {
  padding: 0 18px 17px 48px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 9px !important;
}

.cv-bundle-color-row {
  display: flex !important;
  align-items: center !important;
  gap: 9px !important;
}

.cv-bundle-color-num {
  width: 20px !important;
  height: 20px !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #fff !important;
  background: #635bff !important;
  font-size: 11px !important;
  font-weight: 900 !important;
}

.cv-bundle-color-label {
  color: #9096b2 !important;
  font-size: 11px !important;
}

.cv-bundle-color-select {
  background: #171825 !important;
  border: 1px solid #3a3e5e !important;
  color: #f7f8ff !important;
  border-radius: 4px !important;
  padding: 6px 10px !important;
  min-width: 170px !important;
}

.cv-qty-row {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 14px 0 13px !important;
}

.cv-qty-label {
  color: #9096b2 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
}

.cv-qty-ctrl {
  display: flex !important;
  align-items: center !important;
  background: #111320 !important;
  border: 1px solid #252940 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}

.cv-qty-btn,
.cv-qty-num {
  color: #fff !important;
}

.cv-pd-atc {
  width: 100% !important;
  min-height: 47px !important;
  background: #635bff !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 5px !important;
  font-weight: 900 !important;
  letter-spacing: .8px !important;
  box-shadow: 0 14px 30px rgba(99,91,255,.22) !important;
}

.cv-pd-atc:hover {
  background: #756dff !important;
}

.cv-inline-reviews {
  background: #10111d !important;
  border: 1px solid #282b47 !important;
  border-radius: 5px !important;
  padding: 10px 14px !important;
  margin: 10px 0 12px !important;
}

.cv-inline-text,
.cv-inline-name {
  color: #9aa0bc !important;
}

.cv-pd-bin {
  background: transparent !important;
  border: 1px solid #635bff !important;
  color: #8f8aff !important;
}

.cv-pd-icon-btn {
  background: #10111d !important;
  border-color: #282b47 !important;
  color: #b8bed8 !important;
}

.cv-info-items {
  margin: 18px 0 24px !important;
}

.cv-info-item,
.cv-info-item:first-child {
  border-color: #22263a !important;
}

.cv-info-toggle {
  color: #f5f6ff !important;
}

.cv-info-title {
  color: #f5f6ff !important;
  font-weight: 800 !important;
}

.cv-info-content p,
.cv-info-list li,
.cv-pd-trust-item {
  color: #8f96b2 !important;
}

.cv-pd-low-stock {
  color: #8990ad !important;
  margin-top: 28px !important;
}

.cv-pd-viral {
  background: #261117 !important;
  border-color: #79303a !important;
  color: #b8bed8 !important;
}

.cv-product-features {
  max-width: none !important;
  margin: 0 !important;
  padding: 56px max(24px, calc((100vw - 1120px) / 2)) !important;
  background: #111119 !important;
  border-top: 1px solid #073bff !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 56px !important;
}

.cv-feature-row {
  width: 100% !important;
  max-width: 1120px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 48px !important;
  align-items: center !important;
}

.cv-feature-media {
  background: #070912 !important;
  border: 1px solid #1f2338 !important;
  border-radius: 10px !important;
  overflow: hidden !important;
}

.cv-feature-copy h2,
.cv-product-faq h2,
.cv-faq-item summary {
  color: #fff !important;
}

.cv-feature-copy p,
.cv-faq-item p {
  color: #9aa0bc !important;
}

.cv-product-faq {
  margin: 0 !important;
  padding: 72px 24px !important;
  background: #111119 !important;
  max-width: none !important;
}

.cv-product-faq-inner {
  max-width: 880px !important;
  margin: 0 auto !important;
  background: #10111d !important;
  border: 1px solid #282b47 !important;
}

.cv-faq-item {
  border-color: #282b47 !important;
}

@media (max-width: 900px) {
  .cv-pd-container {
    grid-template-columns: 1fr !important;
    max-width: 720px !important;
  }

  .cv-pd-gallery {
    position: static !important;
  }

  .cv-feature-row {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 520px) {
  .cv-pd-container {
    padding: 22px 14px 0 !important;
  }

  .cv-pd-thumb {
    width: 58px !important;
    height: 50px !important;
  }

  .cv-bundle-row {
    padding: 16px 12px !important;
  }

  .cv-bundle-colors {
    padding-left: 38px !important;
  }
}
