/* Product detail pages responsive overrides */

/* ----- Hero ----- */
.product-details-hero .breadcrumb__title {
  font-size: clamp(1.25rem, 4vw, 2.25rem) !important;
  line-height: 1.25 !important;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.product-details-hero .breadcrumb__list {
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.25rem;
}

@media (max-width: 991.98px) {
  .product-details-hero {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
  }
}

@media (max-width: 767.98px) {
  .product-details-hero {
    padding-top: 2.5rem !important;
    padding-bottom: 2.5rem !important;
  }
}

@media (max-width: 575.98px) {
  .product-details-hero {
    padding-top: 2rem !important;
    padding-bottom: 2rem !important;
  }
}

/* ----- Shell ----- */
.tp-product-details-area {
  overflow-x: hidden;
}

.tp-product-details-title {
  font-size: clamp(1.25rem, 3.5vw, 2rem);
  line-height: 1.25;
  overflow-wrap: anywhere;
  word-break: break-word;
}

.tp-product-details-wrapper > p {
  overflow-wrap: anywhere;
  word-break: break-word;
}

/* ----- Gallery ----- */
.tp-product-details-nav-main-thumb img,
.tp-product-details-thumb-wrapper .nav-tabs .nav-link img {
  max-width: 100%;
  height: auto;
  display: block;
}

@media (max-width: 575.98px) {
  .tp-product-details-thumb-wrapper {
    margin-right: 0 !important;
    display: block !important;
  }

  .tp-product-details-thumb-wrapper .nav-tabs {
    display: flex;
    flex-direction: row !important;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 1rem;
  }

  .tp-product-details-thumb-wrapper .nav-tabs .nav-link {
    width: auto;
  }

  .tp-product-details-top,
  .tp-product-details-bottom {
    padding-bottom: 3rem !important;
  }
}

/* ----- Description CMS ----- */
.product-details-desc {
  overflow-wrap: anywhere;
  word-break: break-word;
  max-width: 100%;
}

.product-details-desc img,
.product-details-desc table,
.product-details-desc iframe,
.product-details-desc video {
  max-width: 100%;
  height: auto;
}

.product-details-desc table {
  display: block;
  overflow-x: auto;
}

/* ----- Add to cart / payment ----- */
.tp-product-details-add-to-cart-btn {
  white-space: normal;
  line-height: 1.3;
  text-align: center;
}

.tp-product-details-payment img {
  max-width: 100%;
  height: auto;
}

@media (max-width: 575.98px) {
  .tp-product-details-action-item-wrapper {
    flex-wrap: wrap;
  }

  .tp-product-details-add-to-cart {
    width: 100%;
  }
}

/* ----- Related products ----- */
.tp-related-product {
  overflow: hidden;
}

.tp-related-product .tp-section-title-6 {
  font-size: clamp(1.25rem, 3.5vw, 2rem);
  line-height: 1.3;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}

.tp-product-related-slider {
  overflow: hidden;
}

.tp-product-related-slider .tp-product-thumb-3 {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

.tp-product-related-slider .tp-product-thumb-3 img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.tp-product-related-slider .tp-product-title-3 {
  font-size: clamp(0.95rem, 2vw, 1.1rem);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

@media (max-width: 767.98px) {
  .tp-related-product {
    padding-top: 3rem !important;
    padding-bottom: 3rem !important;
  }
}
