/* VelaKiss v1.1.75 — hard boundary for third-party product-description blocks */
.single-product .vk-information-content,
.single-product .vk-description,
.single-product .vk-rich-content {
  box-sizing: border-box;
  position: relative;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  overflow: hidden;
}

/* Some FAQ plugins create a full-bleed row with 100vw and negative margins. */
.single-product .vk-rich-content > *,
.single-product .vk-rich-content > * > .alignfull,
.single-product .vk-rich-content > .alignfull,
.single-product .vk-rich-content > .alignwide,
.single-product .vk-rich-content > .wp-block-shortcode,
.single-product .vk-rich-content > .wp-block-group {
  box-sizing: border-box !important;
  position: relative !important;
  inset: auto !important;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
}

/* Constrain unknown nested FAQ wrappers without changing their accordion logic. */
.single-product .vk-rich-content * {
  box-sizing: border-box;
  max-width: 100% !important;
}

.single-product .vk-rich-content :where(
  [class*="faq" i],
  [id*="faq" i],
  [class*="accordion" i],
  [id*="accordion" i],
  [class*="full-width" i],
  [class*="fullwidth" i],
  .alignfull,
  .alignwide
) {
  position: relative !important;
  inset: auto !important;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
}

@media (max-width: 800px) {
  .single-product .vk-information-content,
  .single-product .vk-description,
  .single-product .vk-rich-content {
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }
}
