/*
 * Single product — Elementor product template + related carousel.
 * Matches the shop archive card / CTA language (tokens only).
 *
 * Scope: body.rq-product-single
 */

/* ------------------------------------------------------------------ layout */

body.rq-product-single .elementor-location-single,
body.rq-product-single .elementor-location-single > .e-con-boxed,
body.rq-product-single .elementor-location-single > .e-con-boxed > .e-con-inner {
  height: auto !important;
  min-height: 0 !important;
}

body.rq-product-single .elementor-location-single {
  background-color: var(--rq-background);
  color: var(--rq-foreground);
  font-family: var(--rq-font-body);
}

body.rq-product-single .elementor-location-single > .e-con-boxed > .e-con-inner {
  max-width: var(--rq-container-max);
  margin-inline: auto;
  padding-block: 1.25rem 2.5rem;
  padding-inline: var(--rq-container-pad);
}

@media (min-width: 768px) {
  body.rq-product-single .elementor-location-single > .e-con-boxed > .e-con-inner {
    padding-inline: var(--rq-container-pad-md);
    padding-block: 1.5rem 3rem;
  }
}

@media (min-width: 1024px) {
  body.rq-product-single .elementor-location-single > .e-con-boxed > .e-con-inner {
    padding-inline: var(--rq-container-pad-lg);
  }
}

/* -------------------------------------------------------------- breadcrumb */

body.rq-product-single .woocommerce-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin: 0 0 1.5rem;
  padding: 0;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.25;
  color: var(--rq-muted-foreground);
}

body.rq-product-single .woocommerce-breadcrumb a {
  color: color-mix(in oklab, var(--rq-foreground) 60%, transparent);
  text-decoration: none;
  transition: color 150ms ease;
}

body.rq-product-single .woocommerce-breadcrumb a:hover {
  color: var(--rq-foreground);
}

/* ----------------------------------------------------------- product hero */

body.rq-product-single .elementor-location-single > .e-con-boxed > .e-con-inner > .e-con:has(.woocommerce-product-gallery) {
  gap: 2rem !important;
  align-items: flex-start !important;
}

@media (min-width: 1024px) {
  body.rq-product-single .elementor-location-single > .e-con-boxed > .e-con-inner > .e-con:has(.woocommerce-product-gallery) {
    gap: 3rem !important;
  }
}

/* ---------------------------------------------------------------- gallery */

body.rq-product-single .woocommerce-product-gallery {
  position: relative;
  margin: 0 !important;
  opacity: 1 !important;
  border: 1px solid var(--rq-border);
  border-radius: var(--rq-radius-brand);
  background-color: var(--rq-card);
  overflow: hidden;
}

body.rq-product-single .woocommerce-product-gallery__wrapper {
  margin: 0;
}

body.rq-product-single .woocommerce-product-gallery__image {
  margin: 0;
}

body.rq-product-single .woocommerce-product-gallery__image a {
  display: block;
  line-height: 0;
}

body.rq-product-single .woocommerce-product-gallery__image img,
body.rq-product-single .woocommerce-product-gallery img.wp-post-image {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1;
  object-fit: cover;
  margin: 0 !important;
  background-color: var(--rq-muted);
}

body.rq-product-single .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
  top: 0.75rem !important;
  right: 0.75rem !important;
  width: 2.5rem !important;
  height: 2.5rem !important;
  border: 1px solid var(--rq-border) !important;
  border-radius: 9999px !important;
  background-color: var(--rq-card) !important;
  box-shadow: 0 4px 12px color-mix(in oklab, var(--rq-foreground) 8%, transparent) !important;
  transition:
    background-color 150ms ease,
    border-color 150ms ease;
}

body.rq-product-single .woocommerce-product-gallery .woocommerce-product-gallery__trigger:hover {
  background-color: var(--rq-muted) !important;
  border-color: color-mix(in oklab, var(--rq-foreground) 25%, var(--rq-border)) !important;
}

body.rq-product-single .woocommerce-product-gallery .woocommerce-product-gallery__trigger::before,
body.rq-product-single .woocommerce-product-gallery .woocommerce-product-gallery__trigger::after {
  /* Keep Woo zoom icon readable on our white chip. */
  filter: none;
}

/* Photo disclaimer under gallery. */
body.rq-product-single .elementor-widget-text-editor:has(p) {
  margin-block-start: 0.75rem;
}

body.rq-product-single .woocommerce-product-gallery ~ .elementor-widget-text-editor,
body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-images) > .elementor-widget-text-editor {
  margin: 0.75rem 0 0;
}

body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-images) > .elementor-widget-text-editor p {
  margin: 0;
  font-size: 0.8125rem;
  font-style: italic;
  font-weight: 400;
  line-height: 1.45;
  color: var(--rq-muted-foreground);
}

/* ----------------------------------------------------------- product info */

body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-title) {
  display: flex !important;
  flex-direction: column !important;
  gap: 1rem !important;
  min-width: 0;
}

/* SKU — plain label, flush with the product title. */
body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-title) > .elementor-widget-heading:first-child,
body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-title) > .elementor-widget-heading:first-child > .elementor-widget-container {
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-title) > .elementor-widget-heading:first-child .elementor-heading-title {
  display: block;
  width: auto;
  max-width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--rq-muted-foreground);
  font-size: 0.8125rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
  line-height: 1.3 !important;
  text-transform: none;
  word-break: break-word;
}

body.rq-product-single .product_title.entry-title,
body.rq-product-single .elementor-widget-woocommerce-product-title .elementor-heading-title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--rq-foreground) !important;
  font-family: var(--rq-font-heading) !important;
  font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem) !important;
  font-weight: 650 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em;
}

/* -------------------------------------------------------- qty + add CTA */

body.rq-product-single .elementor-add-to-cart,
body.rq-product-single .elementor-widget-woocommerce-product-add-to-cart .cart {
  margin: 0;
}

body.rq-product-single .btn_flex {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem !important;
  margin: 0;
}

body.rq-product-single .quantity_wrp {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  margin: 0;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--rq-foreground);
}

body.rq-product-single .quantity_wrp .quantity {
  margin: 0;
}

body.rq-product-single .quantity_wrp select.qty,
body.rq-product-single .quantity_wrp select.input-text {
  height: 2.75rem;
  min-width: 4.5rem;
  padding: 0.5rem 2rem 0.5rem 0.75rem;
  border: 1px solid var(--rq-input);
  border-radius: var(--rq-radius-brand);
  background-color: var(--rq-card);
  color: var(--rq-foreground);
  font-family: var(--rq-font-body);
  font-size: 0.875rem;
  font-weight: 500;
  appearance: none;
  -webkit-appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.625rem center;
  background-size: 1rem;
  cursor: pointer;
  outline: none;
  transition:
    border-color 150ms ease,
    box-shadow 150ms ease;
}

body.rq-product-single .quantity_wrp select.qty:focus,
body.rq-product-single .quantity_wrp select.input-text:focus {
  border-color: var(--rq-ring);
  box-shadow: 0 0 0 2px color-mix(in oklab, var(--rq-ring) 35%, transparent);
}

body.rq-product-single .btn_flex > .yith-ywraq-add-to-quote {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  flex: 1 1 auto;
  min-width: 10rem;
  max-width: 18rem;
  margin: 0;
}

body.rq-product-single .btn_flex .yith-ywraq-add-button {
  position: relative;
  width: 100%;
  margin: 0;
  min-height: 2.75rem;
}

body.rq-product-single .btn_flex a.add-request-quote-button.button,
body.rq-product-single .btn_flex .add-request-quote-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.75rem;
  min-height: 2.75rem;
  margin: 0 !important;
  padding-inline: 1.25rem !important;
  border: 0 !important;
  border-radius: var(--rq-radius-brand) !important;
  background-color: transparent !important;
  background-image: linear-gradient(
    135deg,
    var(--rq-logo-blue-light),
    var(--rq-logo-blue-mid) 52%,
    var(--rq-logo-blue-deep)
  ) !important;
  color: var(--rq-primary-foreground) !important;
  font-family: var(--rq-font-body);
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition:
    filter 150ms ease,
    opacity 150ms ease;
}

body.rq-product-single .btn_flex a.add-request-quote-button.button:hover,
body.rq-product-single .btn_flex .add-request-quote-button:hover {
  filter: brightness(0.95);
  color: var(--rq-primary-foreground) !important;
}

body.rq-product-single .btn_flex .yith-ywraq-add-button.loading .add-request-quote-button,
body.rq-product-single .btn_flex .yith-ywraq-add-button.ywraq-adding .add-request-quote-button,
body.rq-product-single .btn_flex .yith-ywraq-add-button:has(> img.ywraq-loader) .add-request-quote-button,
body.rq-product-single .btn_flex a.add-request-quote-button.loading,
body.rq-product-single .btn_flex a.add-request-quote-button.disabled {
  opacity: 0.4 !important;
  pointer-events: none;
  cursor: wait !important;
}

body.rq-product-single .btn_flex .yith-ywraq-add-button > img.ywraq-loader,
body.rq-product-single .btn_flex .yith-ywraq-add-button > img[src*="ajax-loader"] {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 3;
  width: 1.25rem !important;
  height: 1.25rem !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none;
  display: block !important;
}

body.rq-product-single .btn_flex .yith_ywraq_add_item_product_message,
body.rq-product-single .btn_flex [class*="yith_ywraq_add_item_product-response"],
body.rq-product-single .btn_flex [class*="yith_ywraq_add_item_product_message"] {
  display: none !important;
}

body.rq-product-single .btn_flex .yith_ywraq_add_item_response_message,
body.rq-product-single .btn_flex [class*="yith_ywraq_add_item_response-"]:not([class*="browse"]) {
  margin: 0;
  font-size: 0.8125rem;
  font-weight: 500;
  line-height: 1.4;
  color: var(--rq-muted-foreground);
}

body.rq-product-single .btn_flex .yith_ywraq_add_item_browse_message a,
body.rq-product-single .btn_flex [class*="yith_ywraq_add_item_browse"] a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.75rem;
  min-height: 2.75rem;
  padding-inline: 1.25rem;
  border: 1px solid var(--rq-border);
  border-radius: var(--rq-radius-brand);
  background-color: var(--rq-background);
  color: var(--rq-foreground) !important;
  font-family: var(--rq-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  transition: background-color 150ms ease;
}

body.rq-product-single .btn_flex .yith_ywraq_add_item_browse_message a:hover,
body.rq-product-single .btn_flex [class*="yith_ywraq_add_item_browse"] a:hover {
  background-color: var(--rq-muted);
  color: var(--rq-foreground) !important;
}

body.rq-product-single .btn_flex .clear {
  display: none !important;
}

/* ------------------------------------------------ additional information */

body.rq-product-single .elementor-widget-heading .elementor-heading-title {
  font-family: var(--rq-font-heading);
  color: var(--rq-foreground);
}

/* Section labels: ADDITIONAL INFORMATION + RELATED PRODUCTS (not the SKU pill). */
body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-additional-information) > .elementor-widget-heading .elementor-heading-title,
body.rq-product-single .e-con-inner:has(> .elementor-widget-woocommerce-product-related) > .elementor-widget-heading .elementor-heading-title,
body.rq-product-single .e-con:has(> .elementor-widget-woocommerce-product-related) > .elementor-widget-heading .elementor-heading-title,
body.rq-product-single .e-con:has(.shop_attributes) > .elementor-widget-heading:not(:first-child) .elementor-heading-title {
  margin: 0.5rem 0 0.75rem;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--rq-foreground) !important;
}

body.rq-product-single .woocommerce-product-attributes-item,
body.rq-product-single .shop_attributes {
  width: 100%;
  margin: 0;
  border: 0;
  border-collapse: collapse;
}

/* Hide Woo's duplicate "Additional information" h2 — Elementor already labels it. */
body.rq-product-single .elementor-widget-woocommerce-product-additional-information > h2,
body.rq-product-single .elementor-widget-woocommerce-product-additional-information .woocommerce-product-attributes-title {
  display: none !important;
}

body.rq-product-single table.shop_attributes tr {
  border-bottom: 1px solid var(--rq-border);
}

body.rq-product-single table.shop_attributes tr:last-child {
  border-bottom: 0;
}

body.rq-product-single table.shop_attributes th,
body.rq-product-single table.shop_attributes td {
  padding: 0.75rem 0;
  border: 0 !important;
  background: transparent !important;
  font-size: 0.875rem;
  line-height: 1.4;
  vertical-align: top;
}

body.rq-product-single table.shop_attributes th {
  width: 36%;
  padding-inline-end: 1rem;
  font-weight: 600;
  color: var(--rq-muted-foreground);
  text-align: left;
}

body.rq-product-single table.shop_attributes td {
  font-weight: 500;
  color: var(--rq-foreground);
  text-align: left;
}

body.rq-product-single table.shop_attributes td p {
  margin: 0;
}

/* ----------------------------------------------------- related products */

body.rq-product-single .e-con:has(.related.products) {
  margin-block-start: 2.5rem;
  padding-block-start: 2rem;
  border-top: 1px solid var(--rq-border);
}

body.rq-product-single section.related.products {
  margin: 0;
  padding: 0;
}

body.rq-product-single section.related.products > h2 {
  display: none !important;
}

body.rq-product-single .productMain_slider {
  position: relative;
  overflow: hidden;
  padding: 0;
  margin: 0;
}

body.rq-product-single .productMain_slider .swiper-wrapper {
  align-items: stretch;
}

body.rq-product-single .productMain_slider .swiper-slide {
  height: auto;
  display: flex;
}

body.rq-product-single .productMain_slider .swiper-slide > li.product,
body.rq-product-single .related.products li.product {
  position: relative;
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: none !important;
  height: auto !important;
  min-height: 100%;
  margin: 0 !important;
  float: none !important;
  list-style: none;
  overflow: hidden;
  border: 1px solid var(--rq-border);
  border-radius: var(--rq-radius-brand);
  background-color: var(--rq-card);
  box-shadow: none;
  transition:
    border-color 180ms ease,
    box-shadow 180ms ease;
}

body.rq-product-single .related.products li.product:hover {
  border-color: color-mix(in oklab, var(--rq-foreground) 16%, var(--rq-border));
  box-shadow: 0 8px 20px color-mix(in oklab, var(--rq-foreground) 6%, transparent);
}

body.rq-product-single .related.products li.product .woocommerce-LoopProduct-link {
  position: relative;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
}

body.rq-product-single .related.products li.product .woocommerce-LoopProduct-link > img,
body.rq-product-single .related.products li.product img.wp-post-image,
body.rq-product-single .related.products li.product .attachment-woocommerce_thumbnail {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: none !important;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  object-position: center;
  margin: 0 !important;
  padding: 0;
  background-color: var(--rq-muted);
  border-radius: 0;
  transition: transform 700ms ease;
  box-sizing: border-box;
}

body.rq-product-single .related.products li.product:hover .woocommerce-LoopProduct-link > img:not(.woocommerce-placeholder):not([src*="placeholder"]),
body.rq-product-single .related.products li.product:hover img.wp-post-image:not(.woocommerce-placeholder):not([src*="placeholder"]) {
  transform: scale(1.03);
}

body.rq-product-single .related.products li.product img.woocommerce-placeholder,
body.rq-product-single .related.products li.product img[src*="placeholder"],
body.rq-product-single .related.products li.product img[src*="woocommerce-placeholder"] {
  object-fit: contain;
  background-color: var(--rq-muted);
  opacity: 0.85;
  transform: none !important;
}

body.rq-product-single .related.products li.product .woocommerce-loop-product__title {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  flex: 1 1 auto;
  min-height: 2.7em;
  margin: 0 !important;
  padding: 1rem 1rem;
  background-color: var(--rq-card);
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  color: var(--rq-foreground) !important;
}

body.rq-product-single .related.products li.product .yith-ywraq-add-to-quote {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-block-start: auto;
  padding: 1rem;
  border-top: 1px solid var(--rq-border);
}

body.rq-product-single .related.products li.product .yith-ywraq-add-button {
  position: relative;
  width: 100%;
  margin: 0;
  min-height: 2.75rem;
}

body.rq-product-single .related.products li.product a.add-request-quote-button.button,
body.rq-product-single .related.products li.product .add-request-quote-button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.75rem;
  min-height: 2.75rem;
  margin: 0 !important;
  padding-inline: 1rem !important;
  border: 0 !important;
  border-radius: var(--rq-radius-brand) !important;
  background-color: transparent !important;
  background-image: linear-gradient(
    135deg,
    var(--rq-logo-blue-light),
    var(--rq-logo-blue-mid) 52%,
    var(--rq-logo-blue-deep)
  ) !important;
  color: var(--rq-primary-foreground) !important;
  font-family: var(--rq-font-body);
  font-size: 0.875rem !important;
  font-weight: 600 !important;
  line-height: 1;
  text-decoration: none !important;
  box-shadow: none !important;
  cursor: pointer;
  transition:
    filter 150ms ease,
    opacity 150ms ease;
}

body.rq-product-single .related.products li.product a.add-request-quote-button.button:hover,
body.rq-product-single .related.products li.product .add-request-quote-button:hover {
  filter: brightness(0.95);
  color: var(--rq-primary-foreground) !important;
}

body.rq-product-single .related.products li.product .yith-ywraq-add-button.loading .add-request-quote-button,
body.rq-product-single .related.products li.product .yith-ywraq-add-button.ywraq-adding .add-request-quote-button,
body.rq-product-single .related.products li.product .yith-ywraq-add-button:has(> img.ywraq-loader) .add-request-quote-button,
body.rq-product-single .related.products li.product a.add-request-quote-button.loading {
  opacity: 0.4 !important;
  pointer-events: none;
  cursor: wait !important;
}

body.rq-product-single .related.products li.product .yith-ywraq-add-button > img.ywraq-loader,
body.rq-product-single .related.products li.product .yith-ywraq-add-button > img[src*="ajax-loader"] {
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 3;
  width: 1.25rem !important;
  height: 1.25rem !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: none;
  display: block !important;
}

body.rq-product-single .related.products li.product .yith_ywraq_add_item_product_message,
body.rq-product-single .related.products li.product [class*="yith_ywraq_add_item_product-response"],
body.rq-product-single .related.products li.product [class*="yith_ywraq_add_item_product_message"],
body.rq-product-single .related.products li.product .yith_ywraq_add_item_response_message,
body.rq-product-single .related.products li.product [class*="yith_ywraq_add_item_response-"]:not([class*="browse"]) {
  display: none !important;
}

body.rq-product-single .related.products li.product .yith_ywraq_add_item_browse_message,
body.rq-product-single .related.products li.product [class*="yith_ywraq_add_item_browse"] {
  margin: 0;
  width: 100%;
}

body.rq-product-single .related.products li.product .yith_ywraq_add_item_browse_message a,
body.rq-product-single .related.products li.product [class*="yith_ywraq_add_item_browse"] a {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 2.75rem;
  min-height: 2.75rem;
  padding-inline: 1rem;
  border: 1px solid var(--rq-border);
  border-radius: var(--rq-radius-brand);
  background-color: var(--rq-background);
  color: var(--rq-foreground) !important;
  font-family: var(--rq-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
  text-decoration: none !important;
  transition: background-color 150ms ease;
}

body.rq-product-single .related.products li.product .yith_ywraq_add_item_browse_message a:hover,
body.rq-product-single .related.products li.product [class*="yith_ywraq_add_item_browse"] a:hover {
  background-color: var(--rq-muted);
  color: var(--rq-foreground) !important;
}

body.rq-product-single .related.products li.product .clear {
  display: none !important;
}

/* Swiper nav — sit under the cards, not over them. */
body.rq-product-single .swiper_btn_flex {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.625rem;
  margin-block-start: 1.25rem;
}

body.rq-product-single .swiper_btn_flex .swiper-button-prev,
body.rq-product-single .swiper_btn_flex .swiper-button-next,
body.rq-product-single .productMain_slider > .swiper-button-prev,
body.rq-product-single .productMain_slider > .swiper-button-next {
  position: static !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  margin: 0 !important;
  width: 2.75rem !important;
  height: 2.75rem !important;
  border: 1px solid var(--rq-border);
  border-radius: var(--rq-radius-brand);
  background-color: var(--rq-card);
  color: var(--rq-foreground);
  box-shadow: none;
  transition:
    background-color 150ms ease,
    border-color 150ms ease,
    opacity 150ms ease;
}

body.rq-product-single .swiper_btn_flex .swiper-button-prev:hover,
body.rq-product-single .swiper_btn_flex .swiper-button-next:hover {
  background-color: var(--rq-muted);
  border-color: color-mix(in oklab, var(--rq-foreground) 20%, var(--rq-border));
}

body.rq-product-single .swiper_btn_flex .swiper-button-prev::after,
body.rq-product-single .swiper_btn_flex .swiper-button-next::after {
  font-size: 0.875rem !important;
  font-weight: 700;
  color: var(--rq-foreground);
}

body.rq-product-single .swiper_btn_flex .swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
}

/* Kill default Swiper side arrows if any leak outside the flex row. */
body.rq-product-single .productMain_slider > .swiper-button-prev,
body.rq-product-single .productMain_slider > .swiper-button-next {
  display: none;
}

/* ------------------------------------------------------------- responsive */

@media (max-width: 767px) {
  body.rq-product-single .btn_flex {
    flex-direction: column;
    align-items: stretch;
  }

  body.rq-product-single .quantity_wrp {
    width: 100%;
    justify-content: space-between;
  }

  body.rq-product-single .btn_flex > .yith-ywraq-add-to-quote {
    max-width: none;
    width: 100%;
  }

  body.rq-product-single table.shop_attributes th {
    width: 42%;
  }
}
