/*
 * Variable single product refine fix.
 * Goal: make variable products follow the same polished single-product layout
 * as simple products, without disturbing mobile or other tuned areas.
 */

.single-product .product-type-variable.gnsc-single-product-wrap,
.single-product .product-type-variable .gnsc-spx-form,
.single-product .product-type-variable .gnsc-spx-card,
.single-product .product-type-variable .gnsc-spx-top,
.single-product .product-type-variable .gnsc-spx-summary,
.single-product .product-type-variable .gnsc-spx-summary-card,
.single-product .product-type-variable .gnsc-spx-purchase,
.single-product .product-type-variable .gnsc-spx-controls,
.single-product .product-type-variable .gnsc-spx-actions,
.single-product .product-type-variable .gnsc-spx-field,
.single-product .product-type-variable .gnsc-spx-package-field,
.single-product .product-type-variable .gnsc-spx-variation-wrap,
.single-product .product-type-variable .woocommerce-variation-add-to-cart {
  min-width: 0;
  max-width: 100%;
  width: 100%;
  box-sizing: border-box;
}

.single-product .product-type-variable form.variations_form.gnsc-spx-form {
  display: flex !important;
  flex-direction: column !important;
  gap: 18px !important;
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  clear: both !important;
}

.single-product .product-type-variable .gnsc-spx-card {
  display: grid !important;
  gap: 18px !important;
}

.single-product .product-type-variable .gnsc-spx-top {
  display: grid !important;
  width: 100% !important;
  max-width: none !important;
  align-items: stretch !important;
  gap: 18px !important;
}

.single-product .product-type-variable .gnsc-spx-top.no-image {
  display: block !important;
}

.single-product .product-type-variable .gnsc-spx-top.no-image > .gnsc-spx-summary,
.single-product .product-type-variable .gnsc-spx-top > .gnsc-spx-summary:only-child {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  grid-column: 1 / -1 !important;
}

.single-product .product-type-variable .gnsc-spx-summary {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
}

.single-product .product-type-variable .gnsc-spx-summary-card {
  display: grid !important;
  gap: 14px !important;
  align-content: start !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  height: auto !important;
}

.single-product .product-type-variable .gnsc-spx-short {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 0 !important;
  word-break: break-word;
  overflow-wrap: anywhere;
}

.single-product .product-type-variable .gnsc-spx-short > *,
.single-product .product-type-variable .gnsc-spx-short table,
.single-product .product-type-variable .gnsc-spx-short p,
.single-product .product-type-variable .gnsc-spx-short ul,
.single-product .product-type-variable .gnsc-spx-short ol,
.single-product .product-type-variable .gnsc-spx-short li,
.single-product .product-type-variable .gnsc-spx-short div {
  max-width: 100% !important;
  width: auto !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box;
}

.single-product .product-type-variable .gnsc-spx-short table {
  width: 100% !important;
  table-layout: fixed;
}

.single-product .product-type-variable .gnsc-spx-short img,
.single-product .product-type-variable .gnsc-spx-short iframe,
.single-product .product-type-variable .gnsc-spx-short video {
  max-width: 100% !important;
  height: auto !important;
}

.single-product .product-type-variable .gnsc-spx-price {
  width: 100%;
  max-width: none;
}

.single-product .product-type-variable .gnsc-spx-purchase {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  align-self: stretch !important;
}

.single-product .product-type-variable .gnsc-spx-controls {
  display: grid !important;
  grid-template-columns: minmax(260px, 1fr) minmax(160px, 0.34fr) !important;
  gap: 14px !important;
  align-items: end !important;
  width: 100% !important;
}

.single-product .product-type-variable .gnsc-spx-controls--noqty {
  grid-template-columns: 1fr !important;
}

.single-product .product-type-variable .gnsc-spx-field--package,
.single-product .product-type-variable .gnsc-spx-field--qty,
.single-product .product-type-variable .gnsc-spx-package-field,
.single-product .product-type-variable .gnsc-spx-package-field select,
.single-product .product-type-variable .gnsc-spx-field--qty .quantity,
.single-product .product-type-variable .gnsc-spx-field--qty .qty {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
}

.single-product .product-type-variable .gnsc-spx-variation-wrap,
.single-product .product-type-variable .woocommerce-variation-add-to-cart {
  width: 100% !important;
  max-width: none !important;
}

.single-product .product-type-variable .woocommerce-variation {
  width: 100% !important;
  max-width: none !important;
}

.single-product .product-type-variable .gnsc-spx-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  width: 100% !important;
}

.single-product .product-type-variable .gnsc-spx-actions > * {
  width: 100% !important;
  min-width: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-self: stretch !important;
}

.single-product .product-type-variable .gnsc-spx-actions .button,
.single-product .product-type-variable .gnsc-spx-actions button,
.single-product .product-type-variable .gnsc-spx-actions .single_add_to_cart_button,
.single-product .product-type-variable .gnsc-spx-actions .gnsc-single-buy-now {
  width: 100% !important;
  min-height: var(--gnsc-sp-button-height) !important;
  min-width: 0 !important;
  white-space: nowrap;
}

.single-product .product-type-variable .woocommerce-variation-add-to-cart .quantity {
  display: none !important;
}

.single-product .product-type-variable .woocommerce-variation-description {
  color: #d7e4ff;
  font-size: 0.96rem;
  line-height: 1.65;
  margin: 0;
}

.single-product .product-type-variable .reset_variations {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  margin-top: 8px;
  color: #9fc2ff;
  font-size: 0.92rem;
  text-decoration: none;
}

.single-product .product-type-variable .reset_variations:hover,
.single-product .product-type-variable .reset_variations:focus-visible {
  color: #ffffff;
}

.single-product .product-type-variable .gnsc-spx-card .gnsc-single-below {
  margin-top: 2px;
}

@media (min-width: 981px) {
  .single-product .product-type-variable .gnsc-spx-top:not(.no-image) {
    grid-template-columns: minmax(280px, var(--gnsc-sp-image-width)) minmax(0, 1fr) !important;
    align-items: stretch !important;
  }

  .single-product .product-type-variable .gnsc-spx-top:not(.no-image) > .gnsc-spx-media {
    align-self: stretch !important;
  }

  .single-product .product-type-variable .gnsc-spx-top:not(.no-image) > .gnsc-spx-media .gnsc-spx-image-shell {
    min-height: 320px !important;
    height: 100% !important;
  }

  .single-product .product-type-variable .gnsc-spx-top:not(.no-image) > .gnsc-spx-summary {
    display: flex !important;
    align-self: stretch !important;
  }

  .single-product .product-type-variable .gnsc-spx-top:not(.no-image) > .gnsc-spx-summary .gnsc-spx-summary-card {
    min-height: 320px !important;
  }

  .single-product .product-type-variable .gnsc-spx-top.no-image > .gnsc-spx-summary .gnsc-spx-summary-card,
  .single-product .product-type-variable .gnsc-spx-top > .gnsc-spx-summary:only-child .gnsc-spx-summary-card {
    padding-right: 24px;
  }
}

@media (max-width: 980px) {
  .single-product .product-type-variable .gnsc-spx-top,
  .single-product .product-type-variable .gnsc-spx-top.no-image {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  .single-product .product-type-variable .gnsc-spx-card {
    padding: 14px;
  }

  .single-product .product-type-variable .gnsc-spx-summary-card {
    padding: 16px;
  }

  .single-product .product-type-variable .gnsc-spx-controls,
  .single-product .product-type-variable .gnsc-spx-actions {
    grid-template-columns: 1fr !important;
  }

  .single-product .product-type-variable .gnsc-spx-actions .button,
  .single-product .product-type-variable .gnsc-spx-actions button,
  .single-product .product-type-variable .gnsc-spx-actions .single_add_to_cart_button,
  .single-product .product-type-variable .gnsc-spx-actions .gnsc-single-buy-now {
    white-space: normal;
  }
}


/* === Theme-mode parity patch for single-product wrappers === */
.single-product.gnsc-shop-mode-current .product .gnsc-spx-card,
.single-product.gnsc-shop-mode-current .product .gnsc-spx-summary-card,
.single-product.gnsc-shop-mode-current .product .gnsc-spx-purchase,
.single-product.gnsc-shop-mode-current .product .gnsc-spx-field,
.single-product.gnsc-shop-mode-current .product .gnsc-single-below,
.single-product.gnsc-shop-mode-current .woocommerce-tabs .panel,
.single-product.gnsc-shop-mode-current .woocommerce-Reviews,
.single-product.gnsc-shop-mode-current .comment-respond {
  color: #e7eefc;
  border-color: rgba(120, 162, 248, 0.18);
}

.single-product.gnsc-shop-mode-light .product .gnsc-spx-card,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-summary-card,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-purchase,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-field,
.single-product.gnsc-shop-mode-light .product .gnsc-single-below,
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel,
.single-product.gnsc-shop-mode-light .woocommerce-Reviews,
.single-product.gnsc-shop-mode-light .comment-respond,
.single-product.gnsc-shop-mode-light .woocommerce .related.products,
.single-product.gnsc-shop-mode-light .woocommerce .up-sells,
.single-product.gnsc-shop-mode-light .woocommerce .cross-sells {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(245, 249, 255, 0.98));
  color: #112344;
  border-color: rgba(67, 97, 152, 0.16);
  box-shadow: 0 18px 40px rgba(20, 42, 86, 0.10);
}

.single-product.gnsc-shop-mode-light .product .gnsc-spx-summary-card,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-field,
.single-product.gnsc-shop-mode-light .product .gnsc-single-below {
  background: linear-gradient(180deg, rgba(251, 253, 255, 0.98), rgba(242, 247, 255, 0.98));
}

.single-product.gnsc-shop-mode-light .product .gnsc-spx-short,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-short p,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-short li,
.single-product.gnsc-shop-mode-light .product .woocommerce-variation-description,
.single-product.gnsc-shop-mode-light .product .product_meta,
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel,
.single-product.gnsc-shop-mode-light .woocommerce-Reviews,
.single-product.gnsc-shop-mode-light .comment-respond,
.single-product.gnsc-shop-mode-light .woocommerce .woocommerce-review__published-date,
.single-product.gnsc-shop-mode-light .woocommerce .comment-notes,
.single-product.gnsc-shop-mode-light .woocommerce .meta,
.single-product.gnsc-shop-mode-light .woocommerce .posted_in,
.single-product.gnsc-shop-mode-light .woocommerce .tagged_as {
  color: #526a92;
}

.single-product.gnsc-shop-mode-light .product .product_title,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-price,
.single-product.gnsc-shop-mode-light .product .price,
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel h2,
.single-product.gnsc-shop-mode-light .woocommerce-Reviews-title,
.single-product.gnsc-shop-mode-light .comment-reply-title,
.single-product.gnsc-shop-mode-light .woocommerce .commentlist .meta strong,
.single-product.gnsc-shop-mode-light .woocommerce .variation dt,
.single-product.gnsc-shop-mode-light .woocommerce .variation dd,
.single-product.gnsc-shop-mode-light .product .reset_variations,
.single-product.gnsc-shop-mode-light .product form.cart label,
.single-product.gnsc-shop-mode-light .product .variations label {
  color: #112344;
}

.single-product.gnsc-shop-mode-light .product .reset_variations:hover,
.single-product.gnsc-shop-mode-light .product .reset_variations:focus-visible {
  color: #1d4ed8;
}

.single-product.gnsc-shop-mode-light .product .variations select,
.single-product.gnsc-shop-mode-light .product form.cart input,
.single-product.gnsc-shop-mode-light .product form.cart textarea,
.single-product.gnsc-shop-mode-light .product form.cart .qty {
  background: #ffffff;
  color: #112344;
  border-color: rgba(67, 97, 152, 0.18);
}


/* === Mode parity micro-fix for stubborn single-product blocks === */
.single-product.gnsc-shop-mode-current .product .gnsc-single-below,
.single-product.gnsc-shop-mode-current .product .gnsc-single-below > section,
.single-product.gnsc-shop-mode-current .product .gnsc-single-below > div,
.single-product.gnsc-shop-mode-current .woocommerce-tabs .panel,
.single-product.gnsc-shop-mode-current .woocommerce-Reviews,
.single-product.gnsc-shop-mode-current .comment-respond,
.single-product.gnsc-shop-mode-current .commentlist > li,
.single-product.gnsc-shop-mode-current .commentlist .comment_container {
  background: linear-gradient(180deg, rgba(11, 28, 62, 0.96), rgba(6, 17, 40, 0.98)) !important;
  color: #e7eefc !important;
  border-color: rgba(120, 162, 248, 0.18) !important;
}

.single-product.gnsc-shop-mode-current .product .gnsc-single-below :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-current .woocommerce-tabs .panel :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-current .woocommerce-Reviews :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-current .comment-respond :where(h1,h2,h3,h4,h5,h6,strong,b,label) {
  color: #f8fbff !important;
}

.single-product.gnsc-shop-mode-current .product .gnsc-single-below :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-current .woocommerce-tabs .panel :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-current .woocommerce-Reviews :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-current .comment-respond :where(p,span,li,small,em,a) {
  color: rgba(231, 238, 252, 0.82) !important;
}

.single-product.gnsc-shop-mode-light .product .gnsc-single-below,
.single-product.gnsc-shop-mode-light .product .gnsc-single-below > section,
.single-product.gnsc-shop-mode-light .product .gnsc-single-below > div,
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel,
.single-product.gnsc-shop-mode-light .woocommerce-Reviews,
.single-product.gnsc-shop-mode-light .comment-respond,
.single-product.gnsc-shop-mode-light .commentlist > li,
.single-product.gnsc-shop-mode-light .commentlist .comment_container {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(245, 249, 255, 0.985)) !important;
  color: #112344 !important;
  border-color: rgba(67, 97, 152, 0.16) !important;
  box-shadow: 0 16px 36px rgba(20, 42, 86, 0.10) !important;
}

.single-product.gnsc-shop-mode-light .product .gnsc-single-below :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-light .woocommerce-Reviews :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-light .comment-respond :where(h1,h2,h3,h4,h5,h6,strong,b,label) {
  color: #112344 !important;
}

.single-product.gnsc-shop-mode-light .product .gnsc-single-below :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .woocommerce-Reviews :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .comment-respond :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .woocommerce-review__published-date,
.single-product.gnsc-shop-mode-light .comment-notes,
.single-product.gnsc-shop-mode-light .comment-form label {
  color: #526a92 !important;
}

/* === Targeted light-mode parity fix: stubborn single-product blocks === */
.single-product.gnsc-shop-mode-light .product .gnsc-spx-card,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-summary-card,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-purchase,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-field,
.single-product.gnsc-shop-mode-light .product .gnsc-single-below,
.single-product.gnsc-shop-mode-light .product .gnsc-single-below > section,
.single-product.gnsc-shop-mode-light .product .gnsc-single-below > div,
.single-product.gnsc-shop-mode-light .woocommerce-tabs,
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel,
.single-product.gnsc-shop-mode-light .woocommerce-Tabs-panel,
.single-product.gnsc-shop-mode-light .woocommerce-Reviews,
.single-product.gnsc-shop-mode-light .comment-respond,
.single-product.gnsc-shop-mode-light .commentlist > li,
.single-product.gnsc-shop-mode-light .commentlist .comment_container,
.single-product.gnsc-shop-mode-light .woocommerce .related.products,
.single-product.gnsc-shop-mode-light .woocommerce .up-sells,
.single-product.gnsc-shop-mode-light .woocommerce .cross-sells {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(245, 249, 255, 0.985)) !important;
  color: #112344 !important;
  border-color: rgba(67, 97, 152, 0.16) !important;
  box-shadow: 0 16px 36px rgba(20, 42, 86, 0.10) !important;
}

.single-product.gnsc-shop-mode-light .product .gnsc-single-below :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-light .woocommerce-Reviews :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-light .comment-respond :where(h1,h2,h3,h4,h5,h6,strong,b,label),
.single-product.gnsc-shop-mode-light .related.products :where(h1,h2,h3,h4,h5,h6,strong,b,label) {
  color: #112344 !important;
}

.single-product.gnsc-shop-mode-light .product .gnsc-single-below :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .woocommerce-tabs .panel :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .woocommerce-Reviews :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .comment-respond :where(p,span,li,small,em,a),
.single-product.gnsc-shop-mode-light .woocommerce-review__published-date,
.single-product.gnsc-shop-mode-light .comment-notes,
.single-product.gnsc-shop-mode-light .comment-form label,
.single-product.gnsc-shop-mode-light .related.products :where(p,span,li,small,em,a) {
  color: #526a92 !important;
}

.single-product.gnsc-shop-mode-light .woocommerce-Reviews .star-rating,
.single-product.gnsc-shop-mode-light .woocommerce-review-link,
.single-product.gnsc-shop-mode-light .woocommerce-product-rating,
.single-product.gnsc-shop-mode-light .woocommerce-Tabs-panel--description,
.single-product.gnsc-shop-mode-light .woocommerce-Tabs-panel--additional_information,
.single-product.gnsc-shop-mode-light .woocommerce-Tabs-panel--reviews {
  color: #112344 !important;
}

.single-product.gnsc-shop-mode-light .comment-form input,
.single-product.gnsc-shop-mode-light .comment-form textarea,
.single-product.gnsc-shop-mode-light .comment-form select,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-field input,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-field textarea,
.single-product.gnsc-shop-mode-light .product .gnsc-spx-field select,
.single-product.gnsc-shop-mode-light .product form.cart input,
.single-product.gnsc-shop-mode-light .product form.cart textarea,
.single-product.gnsc-shop-mode-light .product form.cart select,
.single-product.gnsc-shop-mode-light .product form.cart .qty {
  background: rgba(255, 255, 255, 0.98) !important;
  color: #112344 !important;
  border-color: rgba(67, 97, 152, 0.18) !important;
  box-shadow: inset 0 1px 0 rgba(15, 23, 42, 0.04) !important;
}

.single-product.gnsc-shop-mode-light .comment-form textarea,
.single-product.gnsc-shop-mode-light textarea#comment {
  background: #eef3fb !important;
  color: #112344 !important;
}

.single-product.gnsc-shop-mode-light .related.products ul.products li.product,
.single-product.gnsc-shop-mode-light .up-sells ul.products li.product,
.single-product.gnsc-shop-mode-light .cross-sells ul.products li.product {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.985), rgba(245, 249, 255, 0.985)) !important;
  border-color: rgba(67, 97, 152, 0.16) !important;
  box-shadow: 0 16px 34px rgba(20, 42, 86, 0.10) !important;
}

.single-product.gnsc-shop-mode-light .related.products ul.products li.product :where(h2,h3,h4,strong,b),
.single-product.gnsc-shop-mode-light .up-sells ul.products li.product :where(h2,h3,h4,strong,b),
.single-product.gnsc-shop-mode-light .cross-sells ul.products li.product :where(h2,h3,h4,strong,b),
.single-product.gnsc-shop-mode-light .related.products ul.products li.product .price,
.single-product.gnsc-shop-mode-light .up-sells ul.products li.product .price,
.single-product.gnsc-shop-mode-light .cross-sells ul.products li.product .price {
  color: #112344 !important;
}


/* --- Final light-mode parity: single product inner fields / related products / reviews --- */
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-summary-card,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-purchase,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-field,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-field input,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-field select,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-package-field,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-package-field select,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-price,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-short,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-product-details__short-description,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-tabs .panel,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Tabs-panel,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--description,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--reviews,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products > h2,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .products,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .comment-respond,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews #review_form_wrapper,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews #review_form,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-tabs,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-tabs ul.tabs,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-tabs ul.tabs li {
  background: rgba(255,255,255,.97) !important;
  color: var(--gnsc-text) !important;
  border-color: rgba(206,217,236,.95) !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-purchase .gnsc-spx-price,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-purchase input,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-purchase select,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .variations_form select,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .variations_form input,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .quantity .qty,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-field--qty .qty {
  background: rgba(255,255,255,.98) !important;
  color: var(--gnsc-text) !important;
  border-color: rgba(186,199,222,.95) !important;
  box-shadow: inset 0 1px 0 rgba(18, 27, 44, .03) !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-purchase .gnsc-spx-price,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-price {
  color: var(--gnsc-text) !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-price del,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .price del,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .price del {
  color: #7e8aa6 !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-spx-price ins,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .price ins,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .price,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .price ins {
  color: #132446 !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .product,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .gnsc-product-card,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related .product,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related .gnsc-product-card {
  background: rgba(255,255,255,.99) !important;
  color: var(--gnsc-text) !important;
  border-color: rgba(208,219,238,.96) !important;
  box-shadow: 0 14px 34px rgba(79, 99, 145, .14) !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .product a,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .product .price,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .product .woocommerce-loop-product__title,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related .product a,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related .product .woocommerce-loop-product__title,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related .product .price {
  color: var(--gnsc-text) !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .button,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related .button,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .related.products .added_to_cart,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .gnsc-single-section--related .added_to_cart {
  color: #ffffff !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews p,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews label,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews-title,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .comment-form label,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .comment-form-rating,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .comment-form-rating label,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .comment-reply-title,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .star-rating,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .stars a {
  color: var(--gnsc-text) !important;
}

html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews textarea,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .comment-form-comment textarea,
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews input[type="text"],
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews input[type="email"],
html.gnsc-shop-mode-light body.gnsc-global-sidebar-enabled.single-product .woocommerce-Reviews input[type="url"] {
  background: rgba(255,255,255,.98) !important;
  color: var(--gnsc-text) !important;
  border-color: rgba(182,196,222,.95) !important;
}

/* === Single product title full-width hero section - not button/pill ===
 * Feature: Single Product Title Section Visual Polish
 * Scope: Single product title section only. No purchase, variation, product card,
 * sidebar, mobile shell, related product, account, cart or checkout logic is touched.
 */
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 {
  --gnsc-title-hero-radius: clamp(20px, 1.65vw, 34px);
  position: relative !important;
  isolation: isolate !important;
  display: grid !important;
  place-items: center !important;
  clear: both !important;
  float: none !important;
  grid-column: 1 / -1 !important;
  flex: 0 0 100% !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  min-height: clamp(92px, 6.2vw, 138px) !important;
  margin: clamp(8px, .85vw, 14px) 0 clamp(8px, .75vw, 12px) !important;
  padding: clamp(18px, 1.8vw, 34px) clamp(18px, 3vw, 54px) !important;
  box-sizing: border-box !important;
  border-radius: var(--gnsc-title-hero-radius) !important;
  border: 1px solid rgba(105, 181, 255, .30) !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(56, 189, 248, .30) 0%, rgba(56, 189, 248, 0) 34%),
    radial-gradient(circle at 92% 18%, rgba(168, 85, 247, .34) 0%, rgba(168, 85, 247, 0) 36%),
    radial-gradient(circle at 52% 115%, rgba(14, 165, 233, .22) 0%, rgba(14, 165, 233, 0) 42%),
    linear-gradient(120deg, rgba(13, 35, 72, .94) 0%, rgba(24, 70, 143, .80) 27%, rgba(91, 60, 191, .74) 52%, rgba(19, 108, 184, .80) 76%, rgba(8, 27, 55, .96) 100%) !important;
  box-shadow:
    0 24px 70px rgba(2, 12, 32, .34),
    0 10px 28px rgba(37, 99, 235, .18),
    inset 0 1px 0 rgba(255, 255, 255, .12),
    inset 0 -1px 0 rgba(90, 210, 255, .18) !important;
  overflow: hidden !important;
  transform: none !important;
}

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

body.single-product.woocommerce div.product .gnsc-spx-title-section::before,
body.single-product div.product .gnsc-spx-title-section::before,
body.single-product .product .gnsc-spx-title-section::before {
  inset: 0 !important;
  background:
    linear-gradient(90deg, rgba(255,255,255,.10), rgba(255,255,255,0) 18%, rgba(255,255,255,0) 82%, rgba(255,255,255,.10)),
    repeating-linear-gradient(90deg, rgba(255,255,255,.055) 0 1px, transparent 1px 74px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.032) 0 1px, transparent 1px 42px) !important;
  opacity: .68 !important;
}

body.single-product.woocommerce div.product .gnsc-spx-title-section::after,
body.single-product div.product .gnsc-spx-title-section::after,
body.single-product .product .gnsc-spx-title-section::after {
  left: clamp(18px, 3vw, 58px) !important;
  right: clamp(18px, 3vw, 58px) !important;
  bottom: clamp(10px, .85vw, 16px) !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(56, 189, 248, .90), rgba(129, 140, 248, .96), rgba(236, 72, 153, .82), rgba(56, 189, 248, .90), transparent) !important;
  box-shadow: 0 0 24px rgba(96, 165, 250, .48), 0 0 34px rgba(168, 85, 247, .30) !important;
  opacity: .92 !important;
}

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;
  isolation: isolate !important;
  display: block !important;
  width: 100% !important;
  max-width: min(100%, 1280px) !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 auto !important;
  padding: 0 clamp(10px, 2.4vw, 38px) !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  text-align: center !important;
  font-size: clamp(2rem, 1.18rem + 1.95vw, 4rem) !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: -.04em !important;
  color: #ffffff !important;
  text-shadow:
    0 2px 0 rgba(6, 13, 32, .18),
    0 12px 28px rgba(3, 10, 28, .52),
    0 0 26px rgba(125, 211, 252, .22) !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
  transform: none !important;
}

body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title::before,
body.single-product div.product .gnsc-spx-title-section .product_title::before,
body.single-product .product .gnsc-spx-title-section .product_title::before {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  z-index: -1 !important;
  width: min(82%, 760px) !important;
  height: 120% !important;
  border-radius: 999px !important;
  transform: translate(-50%, -50%) !important;
  background: radial-gradient(ellipse at center, rgba(59, 130, 246, .25), rgba(168, 85, 247, .13) 44%, transparent 72%) !important;
  filter: blur(16px) !important;
  opacity: .95 !important;
  pointer-events: none !important;
}

body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title::after,
body.single-product div.product .gnsc-spx-title-section .product_title::after,
body.single-product .product .gnsc-spx-title-section .product_title::after {
  content: "" !important;
  position: absolute !important;
  left: clamp(18px, 10vw, 170px) !important;
  right: clamp(18px, 10vw, 170px) !important;
  top: calc(100% + clamp(8px, .7vw, 12px)) !important;
  height: 2px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, transparent, rgba(125, 211, 252, .92), rgba(255, 255, 255, .78), rgba(196, 181, 253, .90), transparent) !important;
  box-shadow: 0 0 18px rgba(125, 211, 252, .42) !important;
  opacity: .76 !important;
  pointer-events: none !important;
}

/* Hard fallback: if a template/plugin still prints the normal Woo title without
 * the new wrapper, convert it into the same section-like hero instead of a pill.
 */
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: grid !important;
  place-items: center !important;
  clear: both !important;
  float: none !important;
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: clamp(92px, 6.2vw, 138px) !important;
  margin: clamp(8px, .85vw, 14px) 0 clamp(8px, .75vw, 12px) !important;
  padding: clamp(18px, 1.8vw, 34px) clamp(18px, 3vw, 54px) !important;
  border-radius: clamp(20px, 1.65vw, 34px) !important;
  box-sizing: border-box !important;
  text-align: center !important;
  color: #ffffff !important;
  font-size: clamp(2rem, 1.18rem + 1.95vw, 4rem) !important;
  font-weight: 950 !important;
  line-height: 1.1 !important;
  letter-spacing: -.04em !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(56, 189, 248, .30) 0%, rgba(56, 189, 248, 0) 34%),
    radial-gradient(circle at 92% 18%, rgba(168, 85, 247, .34) 0%, rgba(168, 85, 247, 0) 36%),
    linear-gradient(120deg, rgba(13, 35, 72, .94) 0%, rgba(24, 70, 143, .80) 27%, rgba(91, 60, 191, .74) 52%, rgba(19, 108, 184, .80) 76%, rgba(8, 27, 55, .96) 100%) !important;
  border: 1px solid rgba(105, 181, 255, .30) !important;
  box-shadow: 0 24px 70px rgba(2, 12, 32, .34), inset 0 1px 0 rgba(255,255,255,.12) !important;
  text-shadow: 0 12px 28px rgba(3,10,28,.52) !important;
}

body.single-product.woocommerce div.product .gnsc-spx-title-section + .gnsc-spx-top,
body.single-product div.product .gnsc-spx-title-section + .gnsc-spx-top,
body.single-product .product .gnsc-spx-title-section + .gnsc-spx-top,
body.single-product.woocommerce div.product .gnsc-spx-title-section + .gnsc-spx-card,
body.single-product div.product .gnsc-spx-title-section + .gnsc-spx-card,
body.single-product .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 + .summary,
body.single-product .product .gnsc-spx-title-section + .summary {
  margin-top: clamp(4px, .45vw, 8px) !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) {
  display: none !important;
}

html.gnsc-shop-mode-light body.single-product.woocommerce div.product .gnsc-spx-title-section,
html.gnsc-shop-mode-light body.single-product div.product .gnsc-spx-title-section,
body.single-product.gnsc-shop-mode-light.woocommerce div.product .gnsc-spx-title-section,
body.single-product.gnsc-shop-mode-light div.product .gnsc-spx-title-section {
  border-color: rgba(147, 197, 253, .72) !important;
  background:
    radial-gradient(circle at 8% 18%, rgba(14, 165, 233, .22) 0%, rgba(14, 165, 233, 0) 34%),
    radial-gradient(circle at 92% 18%, rgba(147, 51, 234, .22) 0%, rgba(147, 51, 234, 0) 36%),
    radial-gradient(circle at 52% 115%, rgba(37, 99, 235, .16) 0%, rgba(37, 99, 235, 0) 42%),
    linear-gradient(120deg, rgba(239, 246, 255, .98) 0%, rgba(219, 234, 254, .94) 27%, rgba(237, 233, 254, .94) 52%, rgba(224, 242, 254, .94) 76%, rgba(248, 250, 252, .98) 100%) !important;
  box-shadow:
    0 24px 70px rgba(96, 125, 171, .18),
    0 10px 28px rgba(37, 99, 235, .10),
    inset 0 1px 0 rgba(255, 255, 255, .88),
    inset 0 -1px 0 rgba(96, 165, 250, .28) !important;
}

html.gnsc-shop-mode-light body.single-product.woocommerce div.product .gnsc-spx-title-section .product_title,
html.gnsc-shop-mode-light body.single-product div.product .gnsc-spx-title-section .product_title,
body.single-product.gnsc-shop-mode-light.woocommerce div.product .gnsc-spx-title-section .product_title,
body.single-product.gnsc-shop-mode-light div.product .gnsc-spx-title-section .product_title {
  color: #0f2347 !important;
  text-shadow: 0 1px 0 rgba(255,255,255,.85), 0 12px 28px rgba(37,99,235,.14) !important;
}

@media (max-width: 980px) {
  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 {
    min-height: clamp(78px, 10vw, 112px) !important;
    margin-top: 8px !important;
    padding: clamp(16px, 2.6vw, 26px) clamp(14px, 3vw, 28px) !important;
    border-radius: 24px !important;
  }

  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 {
    padding: 0 clamp(8px, 2vw, 20px) !important;
    font-size: clamp(1.75rem, 4.4vw, 2.85rem) !important;
  }
}

@media (max-width: 640px) {
  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 {
    min-height: 76px !important;
    margin: 7px 0 7px !important;
    padding: 15px 12px 18px !important;
    border-radius: 22px !important;
  }

  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(1.45rem, 6.2vw, 2.1rem) !important;
    line-height: 1.12 !important;
    letter-spacing: -.032em !important;
  }

  body.single-product.woocommerce div.product .gnsc-spx-title-section::after,
  body.single-product div.product .gnsc-spx-title-section::after,
  body.single-product .product .gnsc-spx-title-section::after {
    left: 18px !important;
    right: 18px !important;
    bottom: 9px !important;
    height: 2px !important;
  }
}
