/* Product-page sizing overrides loaded after the theme and unified typography. */
body.single-product .woocommerce-notices-wrapper,
body.single-product .vivere-pdp-shell {
  width: 100%;
  max-width: 1720px;
  padding-right: clamp(28px, 3.25vw, 56px);
  padding-left: clamp(28px, 3.25vw, 56px);
}

body.single-product .vivere-pdp-hero__grid {
  grid-template-columns: minmax(0, 1.15fr) minmax(390px, .85fr);
  gap: clamp(40px, 4vw, 68px);
}

body.single-product .vivere-pdp-image-stage {
  height: clamp(620px, 48vw, 780px);
  min-height: 620px;
}

body.single-product .vivere-pdp-summary {
  padding: clamp(30px, 2.25vw, 38px);
}

html body.single-product .vivere-pdp-title,
html body.single-product .woocommerce div.product .product_title {
  font-size: clamp(34px, 2.6vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: -.025em !important;
}

html body.single-product .vivere-pdp-story-behind__copy h2,
html body.single-product .vivere-pdp-related h2,
html body.single-product .vivere-pdp-consult h2 {
  font-size: clamp(30px, 2.4vw, 42px) !important;
  line-height: 1.15 !important;
  letter-spacing: -.02em !important;
}

html body.single-product .vivere-pdp-interior-card h3,
html body.single-product .vivere-pdp-modal-head h3 {
  font-size: clamp(24px, 2vw, 32px) !important;
  line-height: 1.2 !important;
}

html body.single-product .vivere-pdp-related-title,
html body.single-product .vivere-pdp-story-specs strong {
  font-size: clamp(19px, 1.4vw, 22px) !important;
}

@media (max-width: 1180px) {
  body.single-product .woocommerce-notices-wrapper,
  body.single-product .vivere-pdp-shell {
    padding-right: 32px;
    padding-left: 32px;
  }

  body.single-product .vivere-pdp-hero__grid {
    grid-template-columns: 1fr;
    gap: 48px;
  }

  body.single-product .vivere-pdp-image-stage {
    height: auto;
    min-height: 0;
    aspect-ratio: 4 / 5;
  }
}

@media (max-width: 767px) {
  body.single-product .woocommerce-notices-wrapper,
  body.single-product .vivere-pdp-shell {
    padding-right: 20px;
    padding-left: 20px;
  }

  html body.single-product .vivere-pdp-title,
  html body.single-product .woocommerce div.product .product_title {
    font-size: clamp(30px, 9vw, 38px) !important;
  }

  html body.single-product .vivere-pdp-story-behind__copy h2,
  html body.single-product .vivere-pdp-related h2,
  html body.single-product .vivere-pdp-consult h2 {
    font-size: clamp(28px, 8vw, 34px) !important;
  }
}
