﻿/* CustomProductReviews media layout + SEO-friendly hover/tap zoom
   Version: 1.07.0-hood
   Scope: product review media only. Does not touch product gallery / CloudZoom. */

/* Header/title fallback styling */
.product-reviews .cpr-product-reviews-title,
.custom-product-reviews-page .cpr-product-reviews-title,
.product-reviews-page .cpr-product-reviews-title {
  text-align: center !important;
  line-height: 1.2 !important;
  margin: 0 0 18px !important;
}

/* Desktop review item layout: avatar/date/rating left, text/media right. */
@media (min-width: 769px) {
  .product-review-list .product-review-item,
  .product-reviews-page .product-review-list .product-review-item,
  .custom-product-reviews-page .product-review-list .product-review-item {
    display: grid !important;
    grid-template-columns: minmax(150px, 230px) minmax(0, 1fr) !important;
    column-gap: 34px !important;
    align-items: start !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 18px 0 22px !important;
    border-bottom: 1px solid #eee !important;
    clear: both !important;
  }

  .product-review-list .product-review-item .review-item-head,
  .product-reviews-page .product-review-list .product-review-item .review-item-head,
  .custom-product-reviews-page .product-review-list .product-review-item .review-item-head {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    display: block !important;
    float: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    text-align: left !important;
  }

  .product-review-list .product-review-item .review-content,
  .product-reviews-page .product-review-list .product-review-item .review-content,
  .custom-product-reviews-page .product-review-list .product-review-item .review-content {
    grid-column: 2 !important;
    grid-row: 1 !important;
    align-self: start !important;
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    text-align: left !important;
  }

  .product-review-list .product-review-item .review-info,
  .product-review-list .product-review-item .product-review-box,
  .product-review-list .product-review-item .review-type-rating-ext {
    text-align: left !important;
  }
}

.product-review-item .review-content,
.custom-product-reviews-page .review-content,
.product-reviews-page .review-content {
  overflow: visible !important;
}

.product-review-item .review-title,
.custom-product-reviews-page .review-title,
.product-reviews-page .review-title {
  margin: 0 0 8px !important;
  line-height: 1.35 !important;
}

.product-review-item .review-text,
.custom-product-reviews-page .review-text,
.product-reviews-page .review-text {
  display: block !important;
  clear: none !important;
  margin: 0 0 12px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

/* Review media flow */
.product-review-item .mediacontainer,
.custom-product-reviews-page .mediacontainer,
.product-reviews-page .mediacontainer {
  display: block !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  margin: 12px 0 12px !important;
  padding: 0 !important;
  overflow: visible !important;
}

.product-review-item .picture-thumbs.cpr-review-picture-thumbs,
.custom-product-reviews-page .picture-thumbs.cpr-review-picture-thumbs,
.product-reviews-page .picture-thumbs.cpr-review-picture-thumbs,
.product-review-item .mediacontainer #main-review-img,
.product-reviews-page .mediacontainer #main-review-img {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 14px !important;
  clear: both !important;
  float: none !important;
  width: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.product-review-item .cpr-review-thumb,
.custom-product-reviews-page .cpr-review-thumb,
.product-reviews-page .cpr-review-thumb,
.product-review-item .mediacontainer .thumb-item {
  display: block !important;
  position: relative !important;
  flex: 0 0 auto !important;
  float: none !important;
  width: 190px !important;
  max-width: 190px !important;
  min-width: 190px !important;
  height: 250px !important;
  min-height: 250px !important;
  max-height: 250px !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  text-align: left !important;
  vertical-align: top !important;
  object-fit: initial !important;
}

.product-review-item .cpr-review-media-link,
.custom-product-reviews-page .cpr-review-media-link,
.product-reviews-page .cpr-review-media-link {
  display: block !important;
  width: 190px !important;
  height: 250px !important;
  overflow: hidden !important;
  cursor: zoom-in !important;
  text-decoration: none !important;
}

.product-review-item img.cpr-review-image,
.custom-product-reviews-page img.cpr-review-image,
.product-reviews-page img.cpr-review-image,
.product-review-item .mediacontainer .thumb-item > img[src*="/images/thumbs/"] {
  display: block !important;
  position: static !important;
  float: none !important;
  width: auto !important;
  height: auto !important;
  max-width: 180px !important;
  max-height: 240px !important;
  object-fit: contain !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  cursor: zoom-in !important;
}

/* Disable old CSS popup that caused overlap / resource-key text. JS overlay replaces it. */
.product-review-item .thumb-item-content,
.product-review-item .thumb-item:hover .thumb-item-content,
.product-reviews-page .thumb-item-content,
.product-reviews-page .thumb-item:hover .thumb-item-content {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* Helpfulness below media */
.product-review-item .product-review-helpfulness,
.custom-product-reviews-page .product-review-helpfulness,
.product-reviews-page .product-review-helpfulness {
  display: block !important;
  clear: both !important;
  float: none !important;
  position: static !important;
  width: 100% !important;
  margin: 8px 0 0 !important;
  padding: 8px 0 0 !important;
  line-height: 1.35 !important;
  text-align: left !important;
  white-space: normal !important;
  z-index: auto !important;
  transform: none !important;
}

.product-review-item video.cpr-review-video,
.custom-product-reviews-page video.cpr-review-video,
.product-reviews-page video.cpr-review-video {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(640px, 100%) !important;
  max-height: 480px !important;
  margin: 10px 0 !important;
  object-fit: contain !important;
}

/* Hover/tap zoom overlay */
.cpr-review-zoom-backdrop {
  position: fixed !important;
  inset: 0 !important;
  z-index: 2147482999 !important;
  display: none !important;
  background: rgba(0,0,0,.18) !important;
}
.cpr-review-zoom-backdrop.is-visible { display: block !important; }

.cpr-review-zoom-overlay {
  position: fixed !important;
  z-index: 2147483000 !important;
  display: none !important;
  box-sizing: border-box !important;
  max-width: min(720px, calc(100vw - 32px)) !important;
  max-height: min(820px, calc(100vh - 32px)) !important;
  padding: 10px !important;
  background: rgba(255,255,255,.98) !important;
  border: 1px solid rgba(0,0,0,.18) !important;
  border-radius: 5px !important;
  box-shadow: 0 12px 38px rgba(0,0,0,.35) !important;
  pointer-events: none !important;
}
.cpr-review-zoom-overlay.is-visible { display: block !important; }
.cpr-review-zoom-overlay.is-pinned {
  left: 50% !important;
  top: 50% !important;
  transform: translate(-50%, -50%) !important;
  pointer-events: auto !important;
}
.cpr-review-zoom-overlay img {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: min(700px, calc(100vw - 56px)) !important;
  max-height: min(760px, calc(100vh - 70px)) !important;
  object-fit: contain !important;
  margin: 0 auto !important;
  padding: 0 !important;
}
.cpr-review-zoom-caption {
  display: block !important;
  max-width: min(700px, calc(100vw - 56px)) !important;
  margin: 7px 0 0 !important;
  color: #333 !important;
  font: 13px/1.35 Arial, sans-serif !important;
  text-align: center !important;
  white-space: normal !important;
}
.cpr-review-zoom-close {
  position: absolute !important;
  top: -13px !important;
  right: -13px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 50% !important;
  border: 1px solid rgba(0,0,0,.25) !important;
  background: #fff !important;
  color: #111 !important;
  font: 22px/26px Arial, sans-serif !important;
  text-align: center !important;
  cursor: pointer !important;
  pointer-events: auto !important;
  box-shadow: 0 2px 10px rgba(0,0,0,.25) !important;
}

@media (max-width: 768px) {
  .product-review-list .product-review-item,
  .product-reviews-page .product-review-list .product-review-item,
  .custom-product-reviews-page .product-review-list .product-review-item {
    display: block !important;
    padding: 16px 0 20px !important;
    border-bottom: 1px solid #eee !important;
  }

  .product-review-list .product-review-item .review-item-head,
  .product-review-list .product-review-item .review-content {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    clear: both !important;
    text-align: left !important;
  }

  .product-review-list .product-review-item .review-content {
    margin-top: 12px !important;
  }

  .product-review-item .picture-thumbs.cpr-review-picture-thumbs,
  .custom-product-reviews-page .picture-thumbs.cpr-review-picture-thumbs,
  .product-reviews-page .picture-thumbs.cpr-review-picture-thumbs {
    justify-content: center !important;
  }

  .product-review-item .cpr-review-thumb,
  .custom-product-reviews-page .cpr-review-thumb,
  .product-reviews-page .cpr-review-thumb,
  .product-review-item .cpr-review-media-link,
  .custom-product-reviews-page .cpr-review-media-link,
  .product-reviews-page .cpr-review-media-link,
  .product-review-item .mediacontainer .thumb-item {
    width: 92% !important;
    max-width: 260px !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    margin: 0 auto !important;
  }

  .product-review-item img.cpr-review-image,
  .custom-product-reviews-page img.cpr-review-image,
  .product-reviews-page img.cpr-review-image,
  .product-review-item .mediacontainer .thumb-item > img[src*="/images/thumbs/"] {
    max-width: 100% !important;
    max-height: 360px !important;
    margin: 0 auto !important;
  }

  .product-review-item .product-review-helpfulness,
  .custom-product-reviews-page .product-review-helpfulness,
  .product-reviews-page .product-review-helpfulness {
    text-align: center !important;
  }

  .cpr-review-zoom-overlay {
    max-width: calc(100vw - 22px) !important;
    max-height: calc(100vh - 22px) !important;
    padding: 8px !important;
    pointer-events: auto !important;
  }

  .cpr-review-zoom-overlay img {
    max-width: calc(100vw - 42px) !important;
    max-height: calc(100vh - 76px) !important;
  }
}
