/* SPINEXA PRODUCT V30 — SCOPED PRODUCT DETAIL ONLY
   Does not modify header, menu, homepage, footer or category pages.
*/

.spx-card-source {
  display: none !important;
}

.spx30-product-card {
  --spx30-navy: #0A2540;
  --spx30-teal: #00A89C;
  --spx30-gold: #D2AA58;
  --spx30-cream: #FBF9F4;
  --spx30-text: #1A2332;
  --spx30-muted: #6B7280;
  width: min(1180px, calc(100vw - 56px)) !important;
  max-width: 1180px !important;
  margin: 28px auto 30px !important;
  padding: clamp(22px, 3.2vw, 42px) !important;
  display: grid !important;
  grid-template-columns: minmax(320px, .95fr) minmax(360px, 1.05fr) !important;
  gap: clamp(26px, 4vw, 58px) !important;
  align-items: start !important;
  border-radius: 34px !important;
  border: 1px solid rgba(10, 37, 64, .08) !important;
  background: radial-gradient(circle at 0% 0%, rgba(0, 168, 156, .12), transparent 32%), radial-gradient(circle at 100% 0%, rgba(210, 170, 88, .18), transparent 36%), linear-gradient(135deg, #FFFFFF 0%, #FBF9F4 100%) !important;
  box-shadow: 0 26px 70px rgba(8, 34, 58, .09) !important;
  color: var(--spx30-text) !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

.spx30-product-card *,
.spx30-product-card *::before,
.spx30-product-card *::after {
  box-sizing: border-box !important;
}

body.spx30-card-active .spx30-native-root-hidden {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

.spx30-main-image {
  position: relative !important;
  min-height: clamp(320px, 34vw, 470px) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: clamp(24px, 4vw, 52px) !important;
  border-radius: 26px !important;
  border: 1px solid rgba(10, 37, 64, .10) !important;
  background: radial-gradient(circle at 50% 78%, rgba(10, 37, 64, .12), transparent 18%), linear-gradient(180deg, #FFFFFF 0%, #F3F8FA 100%) !important;
  box-shadow: 0 22px 54px rgba(8, 34, 58, .065) !important;
  overflow: hidden !important;
}

.spx30-main-img {
  width: auto !important;
  max-width: min(82%, 360px) !important;
  max-height: 360px !important;
  height: auto !important;
  object-fit: contain !important;
  display: block !important;
  filter: drop-shadow(0 24px 22px rgba(8, 34, 58, .16)) !important;
}

.spx30-label {
  position: absolute !important;
  top: 22px !important;
  left: 22px !important;
  z-index: 3 !important;
  display: inline-flex !important;
  align-items: center !important;
  min-height: 32px !important;
  padding: 8px 13px !important;
  border-radius: 999px !important;
  background: rgba(214, 240, 238, .92) !important;
  border: 1px solid rgba(0, 168, 156, .32) !important;
  color: var(--spx30-navy) !important;
  font-size: 12px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
}

.spx30-discount {
  position: absolute !important;
  top: 22px !important;
  right: 22px !important;
  z-index: 3 !important;
  width: 88px !important;
  height: 88px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 50% !important;
  background: var(--spx30-gold) !important;
  color: var(--spx30-navy) !important;
  font-size: 25px !important;
  font-weight: 900 !important;
}

.spx30-thumbs {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 20px !important;
}

.spx30-thumb {
  min-height: 112px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 12px !important;
  border-radius: 18px !important;
  border: 1px solid rgba(10, 37, 64, .12) !important;
  background: #FFFFFF !important;
  cursor: pointer !important;
  box-shadow: 0 12px 28px rgba(8, 34, 58, .045) !important;
}

.spx30-thumb.is-active {
  border-color: var(--spx30-gold) !important;
}

.spx30-thumb img {
  max-width: 100% !important;
  max-height: 78px !important;
  object-fit: contain !important;
}

.spx30-title {
  margin: 0 0 14px !important;
  color: var(--spx30-navy) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: clamp(36px, 4.3vw, 58px) !important;
  line-height: .96 !important;
  letter-spacing: -.06em !important;
  font-weight: 900 !important;
}

.spx30-rating {
  width: fit-content !important;
  max-width: 100% !important;
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin: 0 0 18px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(10, 37, 64, .10) !important;
  box-shadow: 0 12px 28px rgba(8, 34, 58, .045) !important;
  font-size: 13px !important;
  line-height: 1.2 !important;
}

.spx30-stars {
  color: var(--spx30-gold) !important;
  letter-spacing: .12em !important;
  font-size: 15px !important;
}

.spx30-rating strong {
  color: var(--spx30-navy) !important;
  font-weight: 900 !important;
}

.spx30-rating a {
  color: var(--spx30-muted) !important;
  font-weight: 800 !important;
  text-decoration: underline !important;
}

.spx30-badges {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 12px !important;
  margin: 18px 0 22px !important;
}

.spx30-badge {
  min-height: 74px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 13px 14px !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  border: 1px solid rgba(10, 37, 64, .11) !important;
  box-shadow: 0 12px 26px rgba(8, 34, 58, .045) !important;
}

.spx30-badge svg {
  width: 20px !important;
  height: 20px !important;
  color: var(--spx30-teal) !important;
}

.spx30-badge span {
  color: var(--spx30-navy) !important;
  font-size: 12px !important;
  line-height: 1.18 !important;
  font-weight: 900 !important;
}

.spx30-lead {
  margin: 0 0 13px !important;
  color: #344054 !important;
  font-size: clamp(15px, 1.38vw, 18px) !important;
  line-height: 1.65 !important;
}

.spx30-lead strong {
  color: var(--spx30-navy) !important;
  font-weight: 900 !important;
}

.spx30-benefits {
  padding: 0 !important;
  margin: 12px 0 10px !important;
  list-style: none !important;
}

.spx30-benefits li {
  position: relative !important;
  margin: 10px 0 !important;
  padding-left: 30px !important;
  color: var(--spx30-navy) !important;
  font-size: 15px !important;
  line-height: 1.48 !important;
  font-weight: 800 !important;
}

.spx30-benefits li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: var(--spx30-teal) !important;
  font-weight: 900 !important;
}

.spx30-links {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
  margin: 14px 0 22px !important;
}

.spx30-link {
  color: var(--spx30-navy) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
}

.spx30-link::after {
  content: "∨" !important;
  margin-left: 8px !important;
  color: var(--spx30-teal) !important;
}

.spx30-buy {
  padding-top: 18px !important;
  border-top: 1px solid rgba(10, 37, 64, .12) !important;
}

.spx30-pricebox,
.spx30-stockbox {
  display: inline-block !important;
  vertical-align: top !important;
  margin-right: clamp(42px, 8vw, 92px) !important;
  margin-bottom: 22px !important;
}

.spx30-buy-label {
  display: block !important;
  margin-bottom: 7px !important;
  color: #111827 !important;
  font-size: 16px !important;
  font-weight: 900 !important;
}

.spx30-prices {
  display: flex !important;
  align-items: baseline !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

.spx30-old-price {
  color: #7B8494 !important;
  font-size: 23px !important;
  font-weight: 800 !important;
  text-decoration: line-through !important;
}

.spx30-price {
  color: var(--spx30-navy) !important;
  font-size: 32px !important;
  line-height: 1 !important;
  font-weight: 950 !important;
}

.spx30-save {
  color: #9B6B1F !important;
  font-size: 12px !important;
  font-weight: 900 !important;
}

.spx30-stock-value {
  color: #008000 !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

.spx30-cart-row {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 18px !important;
  margin: 0 0 26px !important;
}

.spx30-qty {
  width: 150px !important;
  height: 58px !important;
  display: grid !important;
  grid-template-columns: 44px 1fr 44px !important;
  align-items: center !important;
  border: 1px solid rgba(10, 37, 64, .22) !important;
  border-radius: 14px !important;
  background: #FFFFFF !important;
  overflow: hidden !important;
}

.spx30-qty button {
  border: 0 !important;
  background: transparent !important;
  color: #7B8494 !important;
  font-size: 28px !important;
  font-weight: 900 !important;
  cursor: pointer !important;
}

.spx30-qty-input {
  border: 0 !important;
  background: transparent !important;
  color: var(--spx30-navy) !important;
  font-size: 25px !important;
  font-weight: 900 !important;
  text-align: center !important;
}

.spx30-add {
  min-width: 234px !important;
  height: 58px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 13px !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  background: var(--spx30-gold) !important;
  color: var(--spx30-navy) !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  cursor: pointer !important;
  box-shadow: 0 20px 38px rgba(210, 170, 88, .24) !important;
}

.spx30-add svg {
  width: 22px !important;
  height: 22px !important;
}

.spx30-microtrust {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 6px !important;
}

.spx30-microtrust span {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 9px !important;
  color: var(--spx30-navy) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.spx30-microtrust svg {
  width: 18px !important;
  height: 18px !important;
}

@media (max-width: 1180px) {
  .spx30-product-card {
    grid-template-columns: 1fr !important;
  }

  .spx30-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .spx30-microtrust {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }
}

@media (max-width: 640px) {
  .spx30-product-card {
    width: calc(100vw - 28px) !important;
    padding: 18px !important;
    border-radius: 24px !important;
  }

  .spx30-main-image {
    min-height: 290px !important;
    border-radius: 20px !important;
  }

  .spx30-discount {
    width: 70px !important;
    height: 70px !important;
    font-size: 20px !important;
  }

  .spx30-thumbs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .spx30-title {
    font-size: 34px !important;
  }

  .spx30-badges {
    grid-template-columns: 1fr !important;
  }

  .spx30-qty,
  .spx30-add {
    width: 100% !important;
    min-width: 0 !important;
  }

  }


/* =========================================================
   SPINEXA PRODUCT V30 — FINAL SCOPED STABILITY
   - pouze horní produktová karta a HTML bloky .spx30-desc,
   - žádný zásah do headeru, mobilního menu, košíku, footeru,
   - žádný zásah do nativních záložek Popis produktu / Hodnocení.
   ========================================================= */

body.type-product.spx30-card-active .spx30-product-card {
  isolation: isolate !important;
}

.spx30-info {
  min-width: 0 !important;
}

.spx30-gallery {
  min-width: 0 !important;
}

.spx30-title {
  max-width: 620px !important;
  word-break: normal !important;
  overflow-wrap: anywhere !important;
}

.spx30-buy {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 20px 42px !important;
  align-items: start !important;
}

.spx30-pricebox,
.spx30-stockbox {
  display: block !important;
  margin: 0 !important;
}

.spx30-cart-row,
.spx30-microtrust {
  grid-column: 1 / -1 !important;
}

.spx30-stockbox {
  justify-self: start !important;
}

.spx30-cart-row {
  margin-top: 2px !important;
}

.spx30-main-image {
  aspect-ratio: 1 / .88 !important;
  min-height: auto !important;
}

.spx30-main-img {
  max-width: min(78%, 345px) !important;
  max-height: 345px !important;
}

.spx30-thumb {
  aspect-ratio: 1.38 / 1 !important;
  min-height: 0 !important;
}

.spx30-rating a[href="#rating"],
.spx30-rating a[href="#discussion"],
.spx30-rating a[href="#comments"] {
  cursor: pointer !important;
}

/* Designový dlouhý popis používej pouze s třídou .spx30-desc přímo v HTML produktu. */
.spx30-desc {
  --spx30-navy: #0A2540;
  --spx30-teal: #00A89C;
  --spx30-gold: #D2AA58;
  --spx30-cream: #FBF9F4;
  --spx30-text: #1A2332;
  --spx30-muted: #667085;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  color: var(--spx30-text) !important;
  font-family: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.spx30-desc *,
.spx30-desc *::before,
.spx30-desc *::after {
  box-sizing: border-box !important;
}

.spx30-desc h2,
.spx30-desc h3,
.spx30-desc p {
  margin-top: 0 !important;
}

.spx30-desc h2,
.spx30-desc h3 {
  color: var(--spx30-navy) !important;
  letter-spacing: -.04em !important;
  font-weight: 950 !important;
}

.spx30-desc p {
  color: var(--spx30-text) !important;
  font-size: 16px !important;
  line-height: 1.72 !important;
}

.spx30-desc-hero {
  position: relative !important;
  overflow: hidden !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(280px, .78fr) !important;
  gap: clamp(22px, 4vw, 46px) !important;
  align-items: stretch !important;
  padding: clamp(28px, 4vw, 52px) !important;
  border: 1px solid rgba(10, 37, 64, .10) !important;
  border-radius: 30px !important;
  background: radial-gradient(circle at 0% 0%, rgba(0,168,156,.12), transparent 33%), radial-gradient(circle at 100% 0%, rgba(210,170,88,.16), transparent 36%), linear-gradient(135deg,#fff,var(--spx30-cream)) !important;
  box-shadow: 0 18px 48px rgba(8,34,58,.065) !important;
}

.spx30-desc-eyebrow {
  display: block !important;
  margin-bottom: 14px !important;
  color: var(--spx30-teal) !important;
  font-size: 13px !important;
  line-height: 1.3 !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  font-weight: 900 !important;
}

.spx30-desc-hero h2 {
  max-width: 680px !important;
  margin-bottom: 18px !important;
  font-size: clamp(34px, 4.2vw, 54px) !important;
  line-height: .98 !important;
}

.spx30-desc-pills {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
  margin-top: 24px !important;
}

.spx30-desc-pill {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 36px !important;
  padding: 8px 14px !important;
  border-radius: 999px !important;
  background: #fff !important;
  border: 1px solid rgba(10,37,64,.12) !important;
  color: var(--spx30-navy) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
}

.spx30-desc-dark {
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  gap: 28px !important;
  padding: clamp(24px,3vw,36px) !important;
  border-radius: 24px !important;
  background: var(--spx30-navy) !important;
  color: #fff !important;
}

.spx30-desc-dark h3 {
  color: var(--spx30-teal) !important;
  font-size: 15px !important;
  letter-spacing: .11em !important;
  text-transform: uppercase !important;
}

.spx30-desc-dark p,
.spx30-desc-dark li,
.spx30-desc-dark strong,
.spx30-desc-dark span {
  color: #fff !important;
}

.spx30-desc-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 18px !important;
  margin-top: 26px !important;
}

.spx30-desc-card,
.spx30-desc-soft {
  padding: 24px !important;
  border: 1px solid rgba(10,37,64,.10) !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(8,34,58,.055) !important;
}

.spx30-desc-card h3,
.spx30-desc-soft h3 {
  margin-bottom: 12px !important;
  font-size: 22px !important;
  line-height: 1.08 !important;
}

.spx30-desc-num {
  width: 44px !important;
  height: 44px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin-bottom: 18px !important;
  border-radius: 50% !important;
  background: rgba(0,168,156,.12) !important;
  color: var(--spx30-teal) !important;
  font-weight: 950 !important;
}

.spx30-desc-two {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, .85fr) !important;
  gap: 22px !important;
  margin-top: 26px !important;
}

.spx30-desc-section {
  margin-top: 34px !important;
}

.spx30-desc-section h2 {
  margin-bottom: 14px !important;
  font-size: clamp(28px, 3vw, 38px) !important;
  line-height: 1.08 !important;
}

.spx30-desc-check {
  padding: 0 !important;
  margin: 16px 0 0 !important;
  list-style: none !important;
}

.spx30-desc-check li {
  position: relative !important;
  margin: 11px 0 !important;
  padding-left: 30px !important;
  color: var(--spx30-text) !important;
  font-size: 15px !important;
  line-height: 1.55 !important;
}

.spx30-desc-check li::before {
  content: "✓" !important;
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  color: var(--spx30-teal) !important;
  font-weight: 950 !important;
}

.spx30-desc-routine {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 22px !important;
  padding: clamp(26px,3vw,40px) !important;
  border-radius: 26px !important;
  background: var(--spx30-navy) !important;
  color: #fff !important;
}

.spx30-desc-routine h2,
.spx30-desc-routine h3,
.spx30-desc-routine p {
  color: #fff !important;
}

.spx30-desc-routine h2 {
  grid-column: 1 / -1 !important;
}

.spx30-desc-table-wrap {
  overflow-x: auto !important;
  border: 1px solid rgba(10,37,64,.10) !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 12px 34px rgba(8,34,58,.045) !important;
}

.spx30-desc-table {
  width: 100% !important;
  min-width: 760px !important;
  border-collapse: collapse !important;
}

.spx30-desc-table th {
  padding: 15px 16px !important;
  background: var(--spx30-navy) !important;
  color: #fff !important;
  text-align: left !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: .04em !important;
}

.spx30-desc-table td {
  padding: 14px 16px !important;
  border-bottom: 1px solid rgba(10,37,64,.08) !important;
  color: var(--spx30-text) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

.spx30-desc-info {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 20px !important;
  margin-top: 24px !important;
}

.spx30-desc-links {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 16px !important;
  margin-top: 20px !important;
}

.spx30-desc-link {
  min-height: 120px !important;
  padding: 20px !important;
  border: 1px solid rgba(10,37,64,.10) !important;
  border-radius: 18px !important;
  background: #fff !important;
  text-decoration: none !important;
  box-shadow: 0 10px 28px rgba(8,34,58,.04) !important;
}

.spx30-desc-link strong {
  display: block !important;
  margin-bottom: 8px !important;
  color: var(--spx30-navy) !important;
  font-size: 15px !important;
}

.spx30-desc-link span {
  color: var(--spx30-muted) !important;
  font-size: 13px !important;
  line-height: 1.5 !important;
}

.spx30-desc-disclaimer {
  margin-top: 28px !important;
  padding: 18px 20px !important;
  border-left: 4px solid var(--spx30-teal) !important;
  border-radius: 16px !important;
  background: var(--spx30-cream) !important;
}

@media (max-width: 980px) {
  .spx30-desc-hero,
  .spx30-desc-two,
  .spx30-desc-info {
    grid-template-columns: 1fr !important;
  }

  .spx30-desc-grid,
  .spx30-desc-links {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .spx30-desc-routine {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .spx30-buy {
    grid-template-columns: 1fr !important;
  }

  .spx30-stockbox {
    justify-self: stretch !important;
  }
}

@media (max-width: 640px) {
  .spx30-product-card {
    width: calc(100vw - 28px) !important;
  }

  .spx30-desc {
    width: 100% !important;
  }

  .spx30-desc-hero {
    padding: 24px !important;
    border-radius: 22px !important;
  }

  .spx30-desc-grid,
  .spx30-desc-links {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   SPINEXA PRODUCT V31 — RESPONSIVE + DESCRIPTION STABILIZER
   Pouze produktové stránky. Nezasahuje do headeru, menu, košíku, homepage ani footeru.
   ========================================================= */

body.type-product.spx30-card-active {
  overflow-x: hidden !important;
}

/* Horní produktová karta: stejný bílý podklad a žádné přetékání doprava. */
body.type-product.spx30-card-active .spx30-product-card {
  width: 100% !important;
  max-width: min(1180px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(0,168,156,.10), transparent 32%),
    radial-gradient(circle at 100% 0%, rgba(210,170,88,.16), transparent 36%),
    linear-gradient(135deg, #ffffff 0%, #ffffff 52%, #fbf9f4 100%) !important;
  overflow: hidden !important;
}

body.type-product.spx30-card-active .spx30-product-card {
  grid-template-columns: minmax(0, .96fr) minmax(0, 1.04fr) !important;
}

body.type-product.spx30-card-active .spx30-gallery,
body.type-product.spx30-card-active .spx30-info,
body.type-product.spx30-card-active .spx30-buy,
body.type-product.spx30-card-active .spx30-badges,
body.type-product.spx30-card-active .spx30-cart-row,
body.type-product.spx30-card-active .spx30-microtrust {
  min-width: 0 !important;
  max-width: 100% !important;
}

body.type-product.spx30-card-active .spx30-main-image {
  width: 100% !important;
  max-width: 100% !important;
}

body.type-product.spx30-card-active .spx30-main-img {
  max-width: min(76%, 340px) !important;
  max-height: 340px !important;
}

body.type-product.spx30-card-active .spx30-title {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
}

body.type-product.spx30-card-active .spx30-badges {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.type-product.spx30-card-active .spx30-buy {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 18px 36px !important;
}

body.type-product.spx30-card-active .spx30-pricebox,
body.type-product.spx30-card-active .spx30-stockbox {
  display: block !important;
  margin: 0 !important;
}

body.type-product.spx30-card-active .spx30-cart-row,
body.type-product.spx30-card-active .spx30-microtrust {
  grid-column: 1 / -1 !important;
}

body.type-product.spx30-card-active .spx30-qty {
  flex: 0 0 150px !important;
}

body.type-product.spx30-card-active .spx30-add {
  flex: 0 1 260px !important;
}

/* Starší dlouhý popis vložený inline stylem nesmí být širší než bílý box Shoptetu. */
body.type-product .tab-content section[style*="width:min(1180px"],
body.type-product .tab-content section[style*="width: min(1180px"],
body.type-product .tab-content section[style*="max-width:1180px"],
body.type-product .tab-content section[style*="max-width: 1180px"],
body.type-product .shp-tabs-content section[style*="width:min(1180px"],
body.type-product .shp-tabs-content section[style*="width: min(1180px"],
body.type-product .shp-tabs-content section[style*="max-width:1180px"],
body.type-product .shp-tabs-content section[style*="max-width: 1180px"],
body.type-product #description section[style*="width:min(1180px"],
body.type-product #description section[style*="width: min(1180px"],
body.type-product #description section[style*="max-width:1180px"],
body.type-product #description section[style*="max-width: 1180px"] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
}

/* Pokud je dlouhý popis už převeden na V30 strukturu, drží se vždy uvnitř popisu. */
body.type-product .tab-content .spx30-desc,
body.type-product .shp-tabs-content .spx30-desc,
body.type-product #description .spx30-desc {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* Ochrana proti přetečení v dlouhém popisu u všech produktů. */
body.type-product .tab-content .spx30-desc img,
body.type-product .shp-tabs-content .spx30-desc img,
body.type-product #description .spx30-desc img,
body.type-product .tab-content section[style*="width:min(1180px"] img,
body.type-product .shp-tabs-content section[style*="width:min(1180px"] img,
body.type-product #description section[style*="width:min(1180px"] img {
  max-width: 100% !important;
  height: auto !important;
}

body.type-product .tab-content .spx30-desc table,
body.type-product .shp-tabs-content .spx30-desc table,
body.type-product #description .spx30-desc table {
  max-width: 100% !important;
}

/* Tablet */
@media (max-width: 1100px) {
  body.type-product.spx30-card-active .spx30-product-card {
    grid-template-columns: 1fr !important;
    max-width: min(760px, calc(100vw - 32px)) !important;
  }

  body.type-product.spx30-card-active .spx30-main-image {
    min-height: 340px !important;
  }

  body.type-product.spx30-card-active .spx30-badges {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* Mobil */
@media (max-width: 640px) {
  body.type-product.spx30-card-active .spx30-product-card {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    padding: 16px !important;
    border-radius: 22px !important;
  }

  body.type-product.spx30-card-active .spx30-main-image {
    min-height: 270px !important;
    padding: 28px 18px !important;
  }

  body.type-product.spx30-card-active .spx30-main-img {
    max-width: 74% !important;
    max-height: 245px !important;
  }

  body.type-product.spx30-card-active .spx30-title {
    font-size: clamp(30px, 9vw, 38px) !important;
    line-height: 1.02 !important;
  }

  body.type-product.spx30-card-active .spx30-rating {
    width: 100% !important;
    border-radius: 18px !important;
  }

  body.type-product.spx30-card-active .spx30-badges {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }

  body.type-product.spx30-card-active .spx30-badge {
    min-height: 68px !important;
    padding: 11px !important;
  }

  body.type-product.spx30-card-active .spx30-buy {
    grid-template-columns: 1fr !important;
  }

  body.type-product.spx30-card-active .spx30-cart-row {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.type-product.spx30-card-active .spx30-qty,
  body.type-product.spx30-card-active .spx30-add {
    width: 100% !important;
    min-width: 0 !important;
    flex-basis: auto !important;
  }

  body.type-product.spx30-card-active .spx30-microtrust {
    grid-template-columns: 1fr !important;
    justify-items: start !important;
  }

  body.type-product .tab-content section[style*="width:min(1180px"],
  body.type-product .tab-content section[style*="width: min(1180px"],
  body.type-product .shp-tabs-content section[style*="width:min(1180px"],
  body.type-product .shp-tabs-content section[style*="width: min(1180px"],
  body.type-product #description section[style*="width:min(1180px"],
  body.type-product #description section[style*="width: min(1180px"] {
    border-radius: 20px !important;
  }
}


/* =========================================================
   SPINEXA PRODUCT V33 — SAFE TABS + DESCRIPTION FIX
   Základ: V31. Neobsahuje široké zásahy z V32.
   Cíl:
   1) zachovat nativní přepínání Popis produktu / Hodnocení,
   2) zabránit dvousloupcovému zobrazení dlouhého popisu,
   3) udržet dlouhý popis responzivní bez useknutí doprava.
   ========================================================= */

/* 1) Vrácení nativního chování záložek Shoptet/Apollo */
body.type-product .tab-content > .tab-pane:not(.active):not(.show),
body.type-product .shp-tabs-content > .tab-pane:not(.active):not(.show),
body.type-product .p-detail-tabs-content > .tab-pane:not(.active):not(.show),
body.type-product .tab-content > [role="tabpanel"]:not(.active):not(.show),
body.type-product .shp-tabs-content > [role="tabpanel"]:not(.active):not(.show),
body.type-product .p-detail-tabs-content > [role="tabpanel"]:not(.active):not(.show) {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

body.type-product .tab-content > .tab-pane.active,
body.type-product .tab-content > .tab-pane.show,
body.type-product .tab-content > .tab-pane.active.show,
body.type-product .shp-tabs-content > .tab-pane.active,
body.type-product .shp-tabs-content > .tab-pane.show,
body.type-product .shp-tabs-content > .tab-pane.active.show,
body.type-product .p-detail-tabs-content > .tab-pane.active,
body.type-product .p-detail-tabs-content > .tab-pane.show,
body.type-product .p-detail-tabs-content > .tab-pane.active.show,
body.type-product .tab-content > [role="tabpanel"].active,
body.type-product .tab-content > [role="tabpanel"].show,
body.type-product .shp-tabs-content > [role="tabpanel"].active,
body.type-product .shp-tabs-content > [role="tabpanel"].show,
body.type-product .p-detail-tabs-content > [role="tabpanel"].active,
body.type-product .p-detail-tabs-content > [role="tabpanel"].show {
  display: block !important;
  height: auto !important;
  overflow: visible !important;
  visibility: visible !important;
}

/* 2) Dlouhý popis a parametry nesmí tvořit dva sloupce vedle sebe */
body.type-product #description,
body.type-product .tab-pane#description,
body.type-product .tab-pane[id*="description"],
body.type-product .tab-pane[id*="Description"],
body.type-product .tab-pane.active[id*="description"],
body.type-product .tab-pane.active[id*="Description"] {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  grid-template-columns: 1fr !important;
  column-count: auto !important;
  columns: auto !important;
  overflow: visible !important;
}

body.type-product #description > *,
body.type-product .tab-pane#description > *,
body.type-product .tab-pane[id*="description"] > *,
body.type-product .tab-pane[id*="Description"] > * {
  max-width: 100% !important;
  min-width: 0 !important;
}

/* 3) Nativní parametry se zobrazí pod textem, ne vpravo */
body.type-product #description .detail-parameters,
body.type-product #description .product-parameters,
body.type-product #description .p-detail-parameters,
body.type-product #description .product-detail-parameters,
body.type-product #description .parameters,
body.type-product .tab-pane[id*="description"] .detail-parameters,
body.type-product .tab-pane[id*="description"] .product-parameters,
body.type-product .tab-pane[id*="description"] .p-detail-parameters,
body.type-product .tab-pane[id*="description"] .product-detail-parameters,
body.type-product .tab-pane[id*="description"] .parameters,
body.type-product .tab-pane[id*="Description"] .detail-parameters,
body.type-product .tab-pane[id*="Description"] .product-parameters,
body.type-product .tab-pane[id*="Description"] .p-detail-parameters,
body.type-product .tab-pane[id*="Description"] .product-detail-parameters,
body.type-product .tab-pane[id*="Description"] .parameters {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
  display: block !important;
  margin: 34px 0 0 !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(10, 37, 64, .10) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(8, 34, 58, .055) !important;
}

/* 4) Starší inline popisy SPINEXA nesmí přetékat mimo bílý box */
body.type-product #description section[style],
body.type-product .tab-pane[id*="description"] section[style],
body.type-product .tab-pane[id*="Description"] section[style] {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: hidden !important;
}

/* 5) Vnitřní gridy v dlouhém popisu se skládají na menších šířkách */
@media (max-width: 980px) {
  body.type-product #description .spx30-desc-hero,
  body.type-product #description .spx30-desc-two,
  body.type-product #description .spx30-desc-info,
  body.type-product .tab-pane[id*="description"] .spx30-desc-hero,
  body.type-product .tab-pane[id*="description"] .spx30-desc-two,
  body.type-product .tab-pane[id*="description"] .spx30-desc-info,
  body.type-product .tab-pane[id*="Description"] .spx30-desc-hero,
  body.type-product .tab-pane[id*="Description"] .spx30-desc-two,
  body.type-product .tab-pane[id*="Description"] .spx30-desc-info,
  body.type-product #description [style*="grid-template-columns"],
  body.type-product .tab-pane[id*="description"] [style*="grid-template-columns"],
  body.type-product .tab-pane[id*="Description"] [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }

  body.type-product #description [style*="display:grid"],
  body.type-product .tab-pane[id*="description"] [style*="display:grid"],
  body.type-product .tab-pane[id*="Description"] [style*="display:grid"] {
    display: grid !important;
  }
}

/* 6) Mobilní ochrana proti useknutí doprava */
@media (max-width: 640px) {
  body.type-product .p-detail-tabs,
  body.type-product .shp-tabs,
  body.type-product .detail-tabs-wrapper,
  body.type-product .p-detail-tabs-wrapper,
  body.type-product .tab-content,
  body.type-product .shp-tabs-content,
  body.type-product .p-detail-tabs-content {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden !important;
  }

  body.type-product #description,
  body.type-product .tab-pane[id*="description"],
  body.type-product .tab-pane[id*="Description"],
  body.type-product #description .spx30-desc,
  body.type-product .tab-pane[id*="description"] .spx30-desc,
  body.type-product .tab-pane[id*="Description"] .spx30-desc,
  body.type-product #description .spx27-desc,
  body.type-product .tab-pane[id*="description"] .spx27-desc,
  body.type-product .tab-pane[id*="Description"] .spx27-desc {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.type-product #description h2,
  body.type-product .tab-pane[id*="description"] h2,
  body.type-product .tab-pane[id*="Description"] h2 {
    font-size: clamp(26px, 8vw, 34px) !important;
    line-height: 1.06 !important;
    overflow-wrap: anywhere !important;
  }

  body.type-product #description p,
  body.type-product .tab-pane[id*="description"] p,
  body.type-product .tab-pane[id*="Description"] p {
    font-size: 15px !important;
    line-height: 1.62 !important;
  }
}

/* 7) Tmavé bloky v dlouhém popisu musí mít kontrastní text */
body.type-product #description .spx30-desc-dark,
body.type-product .tab-pane[id*="description"] .spx30-desc-dark,
body.type-product .tab-pane[id*="Description"] .spx30-desc-dark,
body.type-product #description [style*="#0A2540"],
body.type-product #description [style*="#0a2540"],
body.type-product .tab-pane[id*="description"] [style*="#0A2540"],
body.type-product .tab-pane[id*="description"] [style*="#0a2540"],
body.type-product .tab-pane[id*="Description"] [style*="#0A2540"],
body.type-product .tab-pane[id*="Description"] [style*="#0a2540"] {
  color: #fff !important;
}

body.type-product #description .spx30-desc-dark *,
body.type-product .tab-pane[id*="description"] .spx30-desc-dark *,
body.type-product .tab-pane[id*="Description"] .spx30-desc-dark *,
body.type-product #description [style*="#0A2540"] *,
body.type-product #description [style*="#0a2540"] *,
body.type-product .tab-pane[id*="description"] [style*="#0A2540"] *,
body.type-product .tab-pane[id*="description"] [style*="#0a2540"] *,
body.type-product .tab-pane[id*="Description"] [style*="#0A2540"] *,
body.type-product .tab-pane[id*="Description"] [style*="#0a2540"] * {
  color: inherit !important;
}


/* =========================================================
   SPINEXA PRODUCT V34 — SPINEXA DESCRIPTION ONE-COLUMN FIX
   Bez zásahu do hodnocení. Řeší pouze situaci, kdy Shoptet/Apollo
   vykreslí Parametry produktu vedle dlouhého popisu.
   ========================================================= */

body.type-product .spx34-desc-single-column {
  display: block !important;
  grid-template-columns: 1fr !important;
  column-count: auto !important;
  columns: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body.type-product .spx34-desc-single-column > * {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
}

body.type-product .spx34-description-root,
body.type-product .spx34-parameters-root {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
}

body.type-product .spx34-parameters-root {
  margin-top: 34px !important;
  padding: clamp(22px, 3vw, 34px) !important;
  border: 1px solid rgba(10, 37, 64, .10) !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 14px 38px rgba(8, 34, 58, .055) !important;
}

/* Pokud šablona nechá prázdný druhý sloupec, tento fallback ho zruší pouze v popisové záložce. */
body.type-product .spx34-desc-single-column [class*="col-"],
body.type-product .spx34-desc-single-column [class*="columns"],
body.type-product .spx34-desc-single-column [class*="column"] {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Mobilní ochrana pro popis a parametry po přesunu. */
@media (max-width: 768px) {
  body.type-product .spx34-desc-single-column,
  body.type-product .spx34-description-root,
  body.type-product .spx34-parameters-root {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden !important;
  }

  body.type-product .spx34-parameters-root {
    padding: 20px !important;
    border-radius: 20px !important;
  }
}


/* =========================================================
   SPINEXA PRODUCT V35 — NATIVE "DOPLŇKOVÉ PARAMETRY" FIX
   Opravuje konkrétní problém produktu SPINEXA:
   Shoptet/Apollo zobrazuje nativní blok Doplňkové parametry vedle popisu,
   tím se popis zúží a vypadá jinak než u ostatních produktů.
   V35 tento nativní blok přesune/skryje a popis vrátí na 100% šířku.
   ========================================================= */

body.type-product.spx35-desc-fixed .spx35-description-common {
  display: block !important;
  grid-template-columns: 1fr !important;
  columns: auto !important;
  column-count: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  clear: both !important;
  overflow: visible !important;
}

body.type-product.spx35-desc-fixed .spx35-description-common > * {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
}

body.type-product.spx35-desc-fixed .spx35-description-content {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
  display: block !important;
}

/* Nativní Shoptet parametry, které dělaly pravý sloupec. */
body.type-product.spx35-desc-fixed .spx35-native-params {
  display: none !important;
}

/* Pojistka: pokud šablona drží dvousloupcový layout na tab-pane nebo description wrapperu. */
body.type-product.spx35-desc-fixed #description,
body.type-product.spx35-desc-fixed .tab-pane#description,
body.type-product.spx35-desc-fixed .tab-pane[id*="description"],
body.type-product.spx35-desc-fixed .tab-pane[id*="Description"],
body.type-product.spx35-desc-fixed .p-detail-tabs-content,
body.type-product.spx35-desc-fixed .shp-tabs-content,
body.type-product.spx35-desc-fixed .tab-content {
  grid-template-columns: 1fr !important;
  columns: auto !important;
  column-count: auto !important;
}

/* Starší i nové designové bloky dlouhého popisu se drží uvnitř bílé karty. */
body.type-product.spx35-desc-fixed .spx30-desc,
body.type-product.spx35-desc-fixed .spx27-desc,
body.type-product.spx35-desc-fixed .sxpd,
body.type-product.spx35-desc-fixed .spxmg,
body.type-product.spx35-desc-fixed .spxsl,
body.type-product.spx35-desc-fixed #description section,
body.type-product.spx35-desc-fixed .tab-pane[id*="description"] section,
body.type-product.spx35-desc-fixed .tab-pane[id*="Description"] section {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  float: none !important;
  clear: both !important;
}

/* Přímý potomci description obsahu se nesmí chovat jako col-md / col-sm sloupce. */
body.type-product.spx35-desc-fixed .spx35-description-content [class*="col-"],
body.type-product.spx35-desc-fixed .spx35-description-common [class*="col-"] {
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Mobil/tablet: vnitřní designové gridy pod sebe, aby se nic neusekávalo doprava. */
@media (max-width: 980px) {
  body.type-product.spx35-desc-fixed .spx30-desc-hero,
  body.type-product.spx35-desc-fixed .spx30-desc-two,
  body.type-product.spx35-desc-fixed .spx30-desc-info,
  body.type-product.spx35-desc-fixed .spx30-desc-grid,
  body.type-product.spx35-desc-fixed .spx30-desc-links,
  body.type-product.spx35-desc-fixed .spx30-desc-routine {
    grid-template-columns: 1fr !important;
  }

  body.type-product.spx35-desc-fixed #description [style*="grid-template-columns"],
  body.type-product.spx35-desc-fixed .tab-pane[id*="description"] [style*="grid-template-columns"],
  body.type-product.spx35-desc-fixed .tab-pane[id*="Description"] [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.type-product.spx35-desc-fixed .p-detail-tabs,
  body.type-product.spx35-desc-fixed .shp-tabs,
  body.type-product.spx35-desc-fixed .detail-tabs-wrapper,
  body.type-product.spx35-desc-fixed .p-detail-tabs-wrapper,
  body.type-product.spx35-desc-fixed .tab-content,
  body.type-product.spx35-desc-fixed .shp-tabs-content,
  body.type-product.spx35-desc-fixed .p-detail-tabs-content {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden !important;
  }

  body.type-product.spx35-desc-fixed .spx30-desc,
  body.type-product.spx35-desc-fixed .spx27-desc,
  body.type-product.spx35-desc-fixed .sxpd,
  body.type-product.spx35-desc-fixed .spxmg,
  body.type-product.spx35-desc-fixed .spxsl {
    overflow-x: hidden !important;
  }
}


/* =========================================================
   SPINEXA PRODUCT V36 — HARD ONE-COLUMN DESCRIPTION NORMALIZER
   Řeší rozdíl produktu SPINEXA: nativní Shoptet/Apollo pravý sloupec
   s parametry drží popis v užší šířce. Hodnocení a header/footer se neřeší.
   ========================================================= */

body.type-product .spx36-pane-one-column {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: 1fr !important;
  column-count: auto !important;
  columns: auto !important;
  overflow: visible !important;
}

body.type-product .spx36-layout-parent {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: 1fr !important;
  column-count: auto !important;
  columns: auto !important;
  overflow: visible !important;
}

body.type-product .spx36-layout-reset,
body.type-product .spx36-description-container {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  flex: 0 0 100% !important;
  float: none !important;
  clear: both !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.type-product .spx36-hide-side-panel {
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  min-width: 0 !important;
  flex: 0 0 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
}

/* Dlouhý popis drží jednotnou maximální šířku a centrování jako ostatní produkty. */
body.type-product .spx36-pane-one-column .spx30-desc,
body.type-product .spx36-pane-one-column .spx27-desc,
body.type-product .spx36-pane-one-column .sxpd,
body.type-product .spx36-pane-one-column .spxmg,
body.type-product .spx36-pane-one-column .spxsl {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  overflow: visible !important;
}

/* Když zůstane nativní blok parametrů bez identifikovatelného wrapperu, schovat ho uvnitř popisové záložky. */
body.type-product .spx36-pane-one-column .detail-parameters,
body.type-product .spx36-pane-one-column .product-parameters,
body.type-product .spx36-pane-one-column .p-detail-parameters,
body.type-product .spx36-pane-one-column .product-detail-parameters,
body.type-product .spx36-pane-one-column .parameters,
body.type-product .spx36-pane-one-column [class*="parameter"] {
  max-width: 100% !important;
}

body.type-product .spx36-pane-one-column .spx36-native-params-hidden {
  display: none !important;
}

/* Mobilní fix: nic v popisové záložce nesmí přetéct doprava. */
@media (max-width: 980px) {
  body.type-product .spx36-pane-one-column,
  body.type-product .spx36-layout-parent,
  body.type-product .spx36-layout-reset,
  body.type-product .spx36-description-container {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.type-product .spx36-pane-one-column .spx30-desc-hero,
  body.type-product .spx36-pane-one-column .spx30-desc-two,
  body.type-product .spx36-pane-one-column .spx30-desc-info,
  body.type-product .spx36-pane-one-column .spx30-desc-grid,
  body.type-product .spx36-pane-one-column .spx30-desc-links,
  body.type-product .spx36-pane-one-column [style*="grid-template-columns"] {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 640px) {
  body.type-product .p-detail-tabs,
  body.type-product .shp-tabs,
  body.type-product .detail-tabs-wrapper,
  body.type-product .p-detail-tabs-wrapper,
  body.type-product .tab-content,
  body.type-product .shp-tabs-content,
  body.type-product .p-detail-tabs-content {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    overflow-x: hidden !important;
  }

  body.type-product .spx36-pane-one-column .spx30-desc h2,
  body.type-product .spx36-pane-one-column .spx27-desc h2,
  body.type-product .spx36-pane-one-column h2 {
    font-size: clamp(26px, 8vw, 34px) !important;
    line-height: 1.06 !important;
    overflow-wrap: anywhere !important;
  }
}
