/* Página individual 3.1.14 — estrutura aprovada no wireframe. */
body.single-product .site-section > .container {
  width: 100% !important;
  max-width: var(--content-width, 1180px) !important;
  margin-inline: auto !important;
  padding-inline: clamp(18px, 4vw, 48px) !important;
  box-sizing: border-box !important;
}

body.single-product.woocommerce div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 1.25fr) minmax(350px, .75fr) !important;
  grid-template-rows: auto minmax(0, 1fr) auto !important;
  align-items: stretch !important;
  gap: 0 clamp(30px, 3.5vw, 48px) !important;
}

body.single-product.woocommerce div.product div.woocommerce-product-gallery.images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  float: none !important;
  background: transparent !important;
}

body.single-product div.product .woocommerce-product-gallery .flex-viewport,
body.single-product div.product .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper {
  order: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
}

body.single-product div.product .woocommerce-product-gallery__image {
  border: 1px solid #e1e2e8 !important;
  border-radius: 10px !important;
  background: #f7f7f5 !important;
}

body.single-product div.product .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: 680px !important;
  object-fit: contain !important;
}

body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs {
  order: 2 !important;
  display: flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 12px 0 0 !important;
  padding: 0 0 4px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  list-style: none !important;
  scrollbar-width: thin;
}

body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li {
  float: none !important;
  flex: 0 0 72px !important;
  width: 72px !important;
  min-width: 72px !important;
  max-width: 72px !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li img {
  display: block !important;
  width: 72px !important;
  height: 72px !important;
  border: 2px solid transparent !important;
  border-radius: 7px !important;
  object-fit: cover !important;
  opacity: .68;
}

body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li img.flex-active,
body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li img[aria-current="true"] {
  border-color: var(--brand-blue, #3c439d) !important;
  opacity: 1 !important;
}

body.single-product.woocommerce div.product div.summary.entry-summary {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  align-self: stretch !important;
  position: static !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 26px !important;
  float: none !important;
  border: 1px solid #dfe1e9 !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

body.single-product .summary .product_title {
  margin: 7px 0 4px !important;
  font-size: clamp(34px, 3vw, 48px) !important;
  line-height: 1.02 !important;
}

body.single-product .summary > p.price.sp-selected-price {
  margin: 18px 0 4px !important;
  font-size: clamp(28px, 2.5vw, 38px) !important;
  color: var(--brand-red, #e63224) !important;
  font-weight: 800 !important;
}

body.single-product .summary > p.price.sp-selected-price .amount {
  color: inherit !important;
}

body.single-product .summary .woocommerce-variation-price {
  display: none !important;
}

body.single-product .sp-variation-decision__price {
  display: none !important;
}

body.single-product.woocommerce div.product > .sp-paper-facts {
  grid-column: 1 !important;
  grid-row: 2 !important;
  align-self: stretch !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  gap: 12px !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 22px 0 0 !important;
  padding: 22px 0 0 !important;
  border: 0 !important;
  border-top: 1px solid #dfe1e9 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-sizing: border-box !important;
}

body.single-product .sp-paper-facts__eyebrow,
body.single-product .sp-paper-facts > h2,
body.single-product .sp-product-context,
body.single-product .sp-product-editorial {
  display: none !important;
}

body.single-product .sp-paper-facts__terms {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
}

body.single-product .sp-paper-facts__terms > div {
  display: block !important;
  padding: 13px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #f4f4f1 !important;
}

body.single-product .sp-paper-facts__terms dt {
  margin: 0 0 5px !important;
  font-weight: 800 !important;
}

body.single-product .sp-paper-facts__terms dd {
  margin: 0 !important;
  color: #676c78 !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

body.single-product .sp-paper-facts__texture {
  display: block !important;
  margin: 0 !important;
  padding: 12px 13px !important;
  border: 1px solid #dfe1e9 !important;
  border-radius: 8px !important;
  background: transparent !important;
  font-size: 14px !important;
}

body.single-product .sp-paper-facts__texture span {
  font-size: inherit !important;
  font-weight: 400 !important;
}

body.single-product .sp-paper-facts__description {
  color: #555b68 !important;
  line-height: 1.62 !important;
}

body.single-product .sp-paper-facts__description > :first-child { margin-top: 0 !important; }
body.single-product .sp-paper-facts__description > :last-child { margin-bottom: 0 !important; }

body.single-product.woocommerce div.product > .sp-related-section,
body.single-product.woocommerce div.product > .related,
body.single-product.woocommerce div.product > .upsells {
  grid-column: 1 / -1 !important;
  grid-row: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
  margin-top: 48px !important;
}

@media (max-width: 980px) {
  body.single-product.woocommerce div.product {
    display: flex !important;
    flex-direction: column !important;
    gap: 0 !important;
  }

  body.single-product.woocommerce div.product div.woocommerce-product-gallery.images { order: 1 !important; }
  body.single-product.woocommerce div.product div.summary.entry-summary {
    order: 2 !important;
    margin-top: 22px !important;
    padding: clamp(18px, 4vw, 26px) !important;
  }
  body.single-product.woocommerce div.product > .sp-paper-facts {
    order: 3 !important;
    margin-top: 26px !important;
  }
  body.single-product.woocommerce div.product > .sp-related-section,
  body.single-product.woocommerce div.product > .related,
  body.single-product.woocommerce div.product > .upsells { order: 4 !important; }
}

@media (max-width: 640px) {
  body.single-product .site-section > .container { padding-inline: 16px !important; }
  body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li {
    flex-basis: 62px !important;
    width: 62px !important;
    min-width: 62px !important;
    max-width: 62px !important;
  }
  body.single-product div.product .woocommerce-product-gallery ol.flex-control-thumbs > li img {
    width: 62px !important;
    height: 62px !important;
  }
  body.single-product .sp-paper-facts__terms { grid-template-columns: 1fr !important; }
}
