/* Pakiza Product Page Fix Pack - scoped to WooCommerce single product pages */
body.single-product .woocommerce-product-gallery { min-width: 0; max-width: 100%; }
body.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
  display: block;
  height: auto;
  max-width: 100%;
  width: 100%;
  object-fit: contain;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs,
body.single-product .woocommerce-product-gallery .flex-control-nav.flex-control-thumbs {
  gap: 8px;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs li {
  cursor: pointer;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img {
  cursor: pointer;
  display: block;
  max-width: 100%;
  opacity: .78;
  outline: 1px solid transparent;
  outline-offset: 2px;
  transition: opacity .15s ease, outline-color .15s ease;
}
body.single-product .woocommerce-product-gallery .flex-control-thumbs img.flex-active,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img:hover,
body.single-product .woocommerce-product-gallery .flex-control-thumbs img:focus-visible {
  opacity: 1;
  outline-color: #e91e63;
}
body.single-product .woocommerce-product-gallery__wrapper.pakiza-pdpfp-fallback-slider > .woocommerce-product-gallery__image {
  display: none !important;
  float: none !important;
  left: auto !important;
  margin: 0 !important;
  position: relative !important;
  transform: none !important;
  width: 100% !important;
}
body.single-product .woocommerce-product-gallery__wrapper.pakiza-pdpfp-fallback-slider > .woocommerce-product-gallery__image.pakiza-pdpfp-active-slide {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* Related product layout. Keep rules scoped and avoid forcing every nested slider track to grid. */
body.single-product .pakiza-pdpfp-related-region,
body.single-product .related.products,
body.single-product .up-sells.products,
body.single-product .cross-sells {
  box-sizing: border-box !important;
  clear: both !important;
  float: none !important;
  grid-column: 1 / -1 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  width: 100% !important;
}
body.single-product .related.products > ul.products,
body.single-product .up-sells.products > ul.products,
body.single-product .cross-sells > ul.products,
body.single-product .pakiza-pdpfp-related-grid {
  align-items: stretch !important;
  box-sizing: border-box !important;
  display: grid !important;
  float: none !important;
  gap: 18px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  transform: none !important;
  width: 100% !important;
}
body.single-product .related.products > ul.products > li.product,
body.single-product .up-sells.products > ul.products > li.product,
body.single-product .cross-sells > ul.products > li.product,
body.single-product .pakiza-pdpfp-related-card {
  box-sizing: border-box !important;
  float: none !important;
  height: auto !important;
  left: auto !important;
  margin: 0 !important;
  max-width: 100% !important;
  min-width: 0 !important;
  position: relative !important;
  transform: none !important;
  width: auto !important;
}
body.single-product .related.products li.product a,
body.single-product .up-sells.products li.product a,
body.single-product .cross-sells li.product a,
body.single-product .pakiza-pdpfp-related-card a {
  box-sizing: border-box !important;
  display: block !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
  width: 100% !important;
}
body.single-product .related.products li.product img,
body.single-product .up-sells.products li.product img,
body.single-product .cross-sells li.product img,
body.single-product .pakiza-pdpfp-related-card img {
  aspect-ratio: 3 / 4 !important;
  background: #fff;
  border-radius: 6px;
  display: block !important;
  height: auto !important;
  margin-left: auto !important;
  margin-right: auto !important;
  max-height: 300px !important;
  max-width: 100% !important;
  object-fit: contain !important;
  width: 100% !important;
}
body.single-product .related.products li.product .woocommerce-loop-product__title,
body.single-product .up-sells.products li.product .woocommerce-loop-product__title,
body.single-product .cross-sells li.product .woocommerce-loop-product__title,
body.single-product .pakiza-pdpfp-related-card .woocommerce-loop-product__title,
body.single-product .pakiza-pdpfp-related-card .wd-entities-title,
body.single-product .pakiza-pdpfp-related-card .product-title {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  line-clamp: 2;
  line-height: 1.4 !important;
  min-height: 2.8em !important;
  overflow: hidden !important;
  overflow-wrap: anywhere !important;
}
body.single-product .related.products ul.products::before,
body.single-product .related.products ul.products::after,
body.single-product .up-sells.products ul.products::before,
body.single-product .up-sells.products ul.products::after { content: none !important; display: none !important; }
body.single-product .pakiza-pdpfp-related-region .owl-stage-outer,
body.single-product .pakiza-pdpfp-related-region .slick-list,
body.single-product .pakiza-pdpfp-related-region .swiper,
body.single-product .pakiza-pdpfp-related-region .swiper-container {
  box-sizing: border-box !important;
  height: auto !important;
  max-width: 100% !important;
  overflow: visible !important;
  width: 100% !important;
}
body.single-product .pakiza-pdpfp-related-region .owl-nav,
body.single-product .pakiza-pdpfp-related-region .owl-dots,
body.single-product .pakiza-pdpfp-related-region .slick-arrow,
body.single-product .pakiza-pdpfp-related-region .slick-dots,
body.single-product .pakiza-pdpfp-related-region .swiper-button-prev,
body.single-product .pakiza-pdpfp-related-region .swiper-button-next,
body.single-product .pakiza-pdpfp-related-region .swiper-pagination { display: none !important; }

/* Fallback gallery layout, used only when the theme's thumbnail click handler fails. */
body.single-product .woocommerce-product-gallery__wrapper.pakiza-pdpfp-fallback-slider > .woocommerce-product-gallery__image,
body.single-product .pakiza-pdpfp-fallback-generic > .pakiza-pdpfp-slide-item {
  display: none !important;
  float: none !important;
  left: auto !important;
  margin: 0 !important;
  position: relative !important;
  transform: none !important;
  width: 100% !important;
}
body.single-product .woocommerce-product-gallery__wrapper.pakiza-pdpfp-fallback-slider > .woocommerce-product-gallery__image.pakiza-pdpfp-active-slide,
body.single-product .pakiza-pdpfp-fallback-generic > .pakiza-pdpfp-active-slide {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}
body.single-product .pakiza-pdpfp-gallery-thumb { cursor: pointer !important; }
body.single-product .pakiza-pdpfp-gallery-thumb.pakiza-pdpfp-thumb-active { opacity: 1 !important; outline: 2px solid #e91e63 !important; outline-offset: 2px !important; }

/* Per-product size chart button/table/modal */
.pakiza-pdpfp-size-chart-block { clear: both; margin: 12px 0 18px; }
.pakiza-pdpfp-button,
.pakiza-pdpfp-service-button {
  align-items: center;
  background: #fff;
  border: 1px solid #dedede;
  border-radius: 7px;
  box-sizing: border-box;
  color: #252525;
  cursor: pointer;
  display: inline-flex;
  font: inherit;
  gap: 8px;
  justify-content: center;
  line-height: 1.35;
  padding: 10px 13px;
  text-align: left;
  text-decoration: none;
}
.pakiza-pdpfp-button:hover,
.pakiza-pdpfp-service-button:hover { border-color: #e91e63; }
.pakiza-pdpfp-services {
  align-items: stretch;
  border: 1px solid #ededed;
  border-radius: 10px;
  box-sizing: border-box;
  display: grid;
  gap: 8px;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin: 14px 0;
  padding: 10px;
  width: 100%;
}
.pakiza-pdpfp-service-gift,
.pakiza-pdpfp-service-button {
  align-items: center;
  background: #fff;
  border: 1px solid #e7e7e7;
  border-radius: 8px;
  box-sizing: border-box;
  color: #333;
  display: flex;
  gap: 8px;
  justify-content: flex-start;
  min-height: 58px;
  min-width: 0;
  padding: 9px;
  text-align: left;
  width: 100%;
}
.pakiza-pdpfp-service-gift { cursor: pointer; }
.pakiza-pdpfp-service-gift input { flex: 0 0 auto; margin: 0 2px 0 0; }
.pakiza-pdpfp-service-copy,
.pakiza-pdpfp-service-button > span:last-child { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pakiza-pdpfp-services strong { font-size: 13px; font-weight: 600; line-height: 1.25; }
.pakiza-pdpfp-services small { color: #666; font-size: 11px; line-height: 1.3; }
.pakiza-pdpfp-service-icon { align-items: center; background: #fff0f5; border-radius: 50%; color: #c2185b; display: inline-flex; flex: 0 0 28px; font-weight: 700; height: 28px; justify-content: center; width: 28px; }
.pakiza-pdpfp-gift-status { color: #287a3c; font-size: 12px; grid-column: 1 / -1; margin: 0; min-height: 0; }
.pakiza-pdpfp-gift-status:empty { display: none; }

/* Accessible shared modal */
.pakiza-pdpfp-modal[hidden] { display: none !important; }
.pakiza-pdpfp-modal { inset: 0; position: fixed; z-index: 999999; }
.pakiza-pdpfp-modal-backdrop { background: rgba(0,0,0,.62); inset: 0; position: absolute; }
.pakiza-pdpfp-modal-card {
  background: #fff;
  border-radius: 12px;
  box-shadow: 0 18px 60px rgba(0,0,0,.25);
  box-sizing: border-box;
  left: 50%;
  max-height: min(82vh, 760px);
  max-width: min(92vw, 760px);
  overflow: auto;
  padding: 24px;
  position: absolute;
  top: 50%;
  transform: translate(-50%, -50%);
  width: 680px;
}
.pakiza-pdpfp-modal-card h2 { color: #222; font-size: 22px; margin: 0 40px 16px 0; }
.pakiza-pdpfp-modal-close { align-items: center; background: #f5f5f5; border: 0; border-radius: 50%; cursor: pointer; display: flex; font-size: 24px; height: 36px; justify-content: center; line-height: 1; position: absolute; right: 12px; top: 12px; width: 36px; }
.pakiza-pdpfp-modal-card p { font-size: 14px; line-height: 1.6; }
.pakiza-pdpfp-table-wrap { max-width: 100%; overflow-x: auto; }
.pakiza-pdpfp-size-table { border-collapse: collapse; min-width: 100%; width: max-content; }
.pakiza-pdpfp-size-table th,
.pakiza-pdpfp-size-table td { border: 1px solid #dedede; padding: 10px 12px; text-align: left; white-space: nowrap; }
.pakiza-pdpfp-size-table th { background: #f8f1f4; font-weight: 700; }
.pakiza-pdpfp-size-table tbody tr:nth-child(even) { background: #fafafa; }
.pakiza-pdpfp-note { color: #666; font-size: 12px !important; }
.pakiza-pdpfp-return-link { color: #b51755; display: inline-block; font-weight: 600; margin-top: 6px; text-decoration: underline; }
body.pakiza-pdpfp-modal-open { overflow: hidden; }

@media (max-width: 1024px) {
  body.single-product .related.products > ul.products,
  body.single-product .up-sells.products > ul.products,
  body.single-product .cross-sells > ul.products,
  body.single-product .pakiza-pdpfp-related-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 680px) {
  .pakiza-pdpfp-services { grid-template-columns: 1fr; }
  .pakiza-pdpfp-service-gift, .pakiza-pdpfp-service-button { min-height: 48px; }
  body.single-product .related.products > ul.products,
  body.single-product .up-sells.products > ul.products,
  body.single-product .cross-sells > ul.products,
  body.single-product .pakiza-pdpfp-related-grid { gap: 12px !important; grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .pakiza-pdpfp-modal-card { padding: 20px 14px; width: 94vw; }
}
