/* CusRev owns review queries, filtering, forms and incremental loading. */
.vz-product-reviews { max-width: none; margin-inline: auto; }
#pdp-tab-reviews, #pdp-tab-reviews #reviews { scroll-margin-top: 100px; }
.vz-product-reviews #reviews .cr-summaryBox-wrap { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr); align-items: center; padding: 26px; margin-bottom: 24px; border: 1px solid var(--line); border-radius: var(--r); background: #edf3ff; gap: 32px; }
.vz-product-reviews #reviews .cr-overall-rating-wrap { min-width: 0; width: 100%; margin: 0; float: none; }
.vz-product-reviews #reviews .cr-average-rating { font-family: var(--font-body); font-size: 44px; font-weight: 800; line-height: 1.15; color: var(--ink); }
.vz-product-reviews #reviews .ivole-summaryBox { min-width: 0; width: 100%; margin: 0; float: none; }
.vz-product-reviews #reviews .cr-histogramTable { width: 100%; }
.vz-product-reviews #reviews .ivole-histogramRow { min-height: 30px; }
.vz-product-reviews #reviews .ivole-histogramCell1 { white-space: nowrap; padding-right: 10px; }
.vz-product-reviews #reviews .ivole-histogramCell3 { min-width: 100px; white-space: nowrap; text-align: right; font-variant-numeric: tabular-nums; }
.vz-product-reviews #reviews .ivole-meter { height: 10px; border: 0; border-radius: 20px; background: #dce6f7; box-shadow: none; overflow: hidden; }
.vz-product-reviews #reviews .ivole-meter-bar { height: 10px; border: 0; border-radius: 20px; background: var(--green-2); box-shadow: none; }
.vz-product-reviews #reviews .ivole-meter-bar:not(:empty) { min-width: 2px; }
.vz-product-reviews #reviews .cr-ajax-search input { border: 1px solid var(--line); border-radius: 10px; padding: 12px 40px; }
.vz-product-reviews #reviews .cr-count-row { padding: 14px 18px; border-radius: 12px; background: #edf3ff; }
.vz-product-reviews #reviews .cr-ajax-reviews-sort { max-width: 100%; }
.vz-product-reviews #reviews .cr-count-row { align-items: center; gap: 12px; }
.vz-product-reviews #reviews .cr-ajax-reviews-sort-div { max-width: 100%; }
.vz-product-reviews #reviews .cr-ajax-reviews-sort-div .vz-sel-trigger,
.vz-product-reviews #reviews .cr-ajax-reviews-sort-div .vz-sel-option { font-family: var(--font-body); font-size: 14px; }
.vz-product-reviews #reviews .cr-ajax-reviews-sort-div .vz-sel-menu { left: auto; right: 0; max-width: min(340px, calc(100vw - 64px)); transform-origin: top right; }
.vz-product-reviews #reviews .cr-comment-text { margin-left: 0; padding-bottom: 0; border: 0; }
.vz-product-reviews #reviews .cr-std-avatar { display: none; }
.vz-product-reviews #reviews .cr-meta-author-featured-date { gap: 12px; }
.vz-product-reviews #reviews .cr-meta-author-featured-date { align-items: flex-start; }
.vz-product-reviews #reviews .woocommerce-review__author { font-family: var(--font-body); font-size: 16px; font-weight: 700; line-height: 1.5; }
.vz-product-reviews #reviews .woocommerce-review__verified { color: var(--muted); font-size: 14px; line-height: 1.6; }
.vz-product-reviews #reviews .woocommerce-review__published-date { flex-shrink: 0; color: var(--muted); font-size: 13px; line-height: 1.8; }
.vz-product-reviews #reviews .cr-comment-text .crstar-rating-svg { margin: 8px 0 12px; }
.vz-product-reviews #reviews .cr-comment-text .description { font-family: var(--font-body); font-size: 16px; line-height: 1.7; overflow-wrap: anywhere; }
.vz-product-reviews #reviews .cr-comment-text .description p { margin: 0 0 10px; }
.vz-product-reviews #reviews .cr-comment-text .description p:last-child { margin-bottom: 0; }
.vz-product-reviews #reviews #comments .commentlist > li { padding: 24px !important; }
.vz-product-reviews #reviews .cr-count-row-count { color: var(--ink-2); font-size: 13px; }
.vz-product-reviews #reviews #comments ol.commentlist { display: grid; gap: 14px; }
/* CusRev sets display:block inline after AJAX. Isolate Woo's clear:both cards
   from the summary float, and retain spacing when the grid is overridden. */
.vz-product-reviews #reviews #comments .cr-ajax-reviews-list { contain: layout; }
.vz-product-reviews #reviews #comments .cr-ajax-reviews-list > li + li { margin-top: 14px !important; }
.vz-product-reviews #reviews .cr-ajax-reviews-add-review,
.vz-product-reviews #reviews .cr-show-more-reviews-prd { padding: 14px 24px; border: 1px solid var(--green-2); border-radius: 12px; background: #fff; color: var(--green-2); font: inherit; font-weight: 700; cursor: pointer; }
/* Override CusRev's fixed 40px height so padding cannot push the label down. */
.vz-product-reviews #reviews .cr-show-more-reviews-prd { display: flex; align-items: center; justify-content: center; width: fit-content; max-width: 100%; height: auto; min-height: 44px; padding: 10px 24px; line-height: 1.25; text-align: center; }
.vz-product-reviews #reviews .cr-show-more-reviews-prd:hover { background: #eaf2ff; }
.vz-product-reviews #reviews .cr-ajax-reviews-add-review { min-height: 54px; border: 0; border-radius: 12px; padding: 14px 24px; background: var(--green-2); color: #fff; font-family: var(--font-body); font-size: 15px; font-weight: 700; box-shadow: 0 8px 20px rgba(1,120,255,.18); transition: box-shadow .2s, background-color .2s; }
.vz-product-reviews #reviews .cr-ajax-reviews-add-review:hover { background: #004fc4; color: #fff; box-shadow: 0 12px 28px rgba(1,120,255,.24); }
/* Keep CusRev's DOM intact so its filtering and form toggles remain native. */
@media (min-width: 901px) {
	.vz-product-reviews #reviews #comments:has(> .cr-summaryBox-wrap) { display: flow-root; --vz-review-sidebar: 300px; }
	.vz-product-reviews #reviews #comments > .cr-summaryBox-wrap { float: left; width: var(--vz-review-sidebar); grid-template-columns: minmax(0, 1fr); padding: 24px; gap: 24px; margin: 0; }
	.vz-product-reviews #reviews #comments:has(> .cr-summaryBox-wrap) > :not(.cr-summaryBox-wrap):not(.woocommerce-Reviews-title) { width: auto; margin-left: calc(var(--vz-review-sidebar) + 32px); }
	.vz-product-reviews #reviews #comments:has(> .cr-summaryBox-wrap) > .cr-ajax-search { margin-top: 0; }
	.vz-product-reviews #reviews .cr-summaryBox-wrap .cr-ajax-reviews-add-review { width: 100%; margin-top: 20px; }
	.vz-product-reviews #reviews .cr-summaryBox-wrap .ivole-histogramCell3 { min-width: 90px; font-size: 12px; }
}
.vz-product-reviews #reviews [role="button"]:focus-visible,
.vz-product-reviews #reviews button:focus-visible { outline: 2px solid var(--green-2); outline-offset: 4px; }
/* Style CusRev's native form without replacing its validation or submit flow. */
.vz-product-reviews #reviews .cr-review-form-wrap { max-width: 720px; margin: 0 auto; padding: 28px 32px 32px; border: 1px solid var(--line); border-radius: var(--r-lg); background: #fff; box-shadow: var(--sh-sm); font-family: var(--font-body); color: var(--ink); }
.vz-product-reviews #reviews .cr-review-form-nav { height: auto; min-height: 48px; padding-bottom: 18px; margin-bottom: 24px; border-top: 0; border-bottom: 1px solid var(--line); gap: 12px; }
.vz-product-reviews #reviews .cr-review-form-nav .cr-nav-left { gap: 8px; }
.vz-product-reviews #reviews .cr-review-form-nav span { font-family: var(--font-display); font-size: 22px; font-weight: 800; line-height: 1.3; color: var(--ink); }
.vz-product-reviews #reviews .cr-review-form-nav .cr-nav-right { width: 40px; height: 40px; flex: 0 0 40px; justify-content: center; border-radius: 50%; background: #edf3ff; }
.vz-product-reviews #reviews .cr-review-form-nav .cr-nav-right:hover { background: #eaf2ff; }
.vz-product-reviews #reviews .cr-review-form-item { max-width: none; padding: 16px; margin: 0 0 24px; gap: 16px; border: 1px solid var(--line); border-radius: 16px; background: #f3f7ff; }
.vz-product-reviews #reviews .cr-review-form-item img { flex: 0 0 64px; width: 64px; height: 72px; margin: 0; object-fit: contain; }
.vz-product-reviews #reviews .cr-review-form-item span { min-width: 0; font-family: var(--font-display); font-size: 18px; font-weight: 700; line-height: 1.45; color: var(--ink); overflow-wrap: anywhere; }
.vz-product-reviews #reviews .cr-review-form-rating { max-width: none; margin: 0 0 22px; padding: 0; }
.vz-product-reviews #reviews .cr-review-form-lbl,
.vz-product-reviews #reviews .cr-review-form-rating-label { position: static; display: block; height: auto; padding: 0; margin: 0 0 8px; background: transparent; font-size: 13px; line-height: 1.5; font-weight: 600; color: var(--ink-2); }
.vz-product-reviews #reviews .cr-review-form-rating-cont { border-radius: 10px; }
.vz-product-reviews #reviews .cr-review-form-rating-cont:focus-visible { outline: 2px solid var(--green-2); outline-offset: 4px; }
.vz-product-reviews #reviews .cr-review-form-rating-nbr { font-size: 15px; font-weight: 600; color: var(--ink-2); }
.vz-product-reviews #reviews .cr-review-form-comment,
.vz-product-reviews #reviews .cr-review-form-ne,
.vz-product-reviews #reviews .cr-review-form-terms,
.vz-product-reviews #reviews .cr-form-item-media,
.vz-product-reviews #reviews .cr-review-form-captcha { max-width: none; padding-bottom: 20px; }
.vz-product-reviews #reviews .cr-review-form-ne { gap: 18px; }
.vz-product-reviews #reviews .cr-review-form-ne > div { width: auto; min-width: 0; flex: 1; }
.vz-product-reviews #reviews .cr-review-form-comment-txt,
.vz-product-reviews #reviews .cr-review-form-txt { width: 100%; height: auto; border: 1.5px solid var(--line); border-radius: 12px; padding: 12px 14px; font-family: var(--font-body); font-size: 16px; line-height: 1.6; color: var(--ink); background: #fff; box-shadow: none; transition: border-color .15s, box-shadow .15s; }
.vz-product-reviews #reviews .cr-review-form-comment-txt { min-height: 150px; resize: vertical; }
.vz-product-reviews #reviews .cr-review-form-comment-txt:focus,
.vz-product-reviews #reviews .cr-review-form-txt:focus { outline: none; border-color: var(--green); box-shadow: 0 0 0 3px rgba(1,120,255,.14); }
.vz-product-reviews #reviews .cr-review-form-error .cr-review-form-comment-txt,
.vz-product-reviews #reviews .cr-review-form-error .cr-review-form-txt { border-color: #ce2b37; }
.vz-product-reviews #reviews .cr-review-form-field-error { font-size: 12px; line-height: 1.5; margin-top: 8px; }
.vz-product-reviews #reviews .cr-review-form-buttons { max-width: none; gap: 14px; padding: 4px 0 0; }
.vz-product-reviews #reviews .cr-review-form-submit,
.vz-product-reviews #reviews .cr-review-form-cancel,
.vz-product-reviews #reviews .cr-review-form-continue { min-height: 54px; height: auto; padding: 14px 24px; border-radius: 14px; font-family: var(--font-display); font-size: 15px; font-weight: 700; line-height: 1.5; text-decoration: none; cursor: pointer; transition: box-shadow .2s, background-color .2s, border-color .2s; }
.vz-product-reviews #reviews .cr-review-form-submit,
.vz-product-reviews #reviews .cr-review-form-continue { border: 0; background: var(--green-2); color: #fff; box-shadow: 0 10px 24px rgba(1,120,255,.22); }
.vz-product-reviews #reviews .cr-review-form-submit:hover,
.vz-product-reviews #reviews .cr-review-form-continue:hover { box-shadow: 0 14px 30px rgba(1,120,255,.32); }
.vz-product-reviews #reviews .cr-review-form-cancel { border: 1.5px solid var(--line); background: #fff; color: var(--ink-2); }
.vz-product-reviews #reviews .cr-review-form-cancel:hover { border-color: var(--green); background: #eaf2ff; }
.vz-product-reviews #reviews .cr-review-form-not-logged-in { max-width: none; padding: 12px 0 4px; }
.vz-product-reviews #reviews .cr-review-form-not-logged-in > span { font-size: 16px; line-height: 1.6; color: var(--ink-2); }
@media (max-width: 600px) {
	#pdp-tab-reviews { padding: 16px; }
	.vz-product-reviews #reviews .cr-summaryBox-wrap { padding: 18px 14px; grid-template-columns: minmax(0, 1fr); gap: 18px; }
	.vz-product-reviews #reviews .cr-overall-rating-wrap,
	.vz-product-reviews #reviews .ivole-summaryBox { width: 100%; margin: 0; }
	.vz-product-reviews #comments .commentlist li { padding: 16px !important; }
	.vz-product-reviews #reviews .cr-count-row { gap: 8px; flex-wrap: wrap; }
	.vz-product-reviews #reviews .ivole-histogramCell3 { min-width: 92px; font-size: 12px; }
	.vz-product-reviews #reviews .cr-comment-text { margin: 0; }
	.vz-product-reviews #reviews #comments .commentlist > li { padding: 18px !important; }
	.vz-product-reviews #reviews .cr-meta-author-featured-date { flex-wrap: wrap; gap: 4px 12px; }
	.vz-product-reviews #reviews .woocommerce-review__published-date { margin-left: 0; }
	.vz-product-reviews #reviews .cr-review-form-wrap { padding: 20px 16px 24px; border-radius: 20px; }
	.vz-product-reviews #reviews .cr-review-form-nav { margin-bottom: 18px; padding-bottom: 14px; }
	.vz-product-reviews #reviews .cr-review-form-nav span { font-size: 19px; }
	.vz-product-reviews #reviews .cr-review-form-item { padding: 12px; gap: 12px; }
	.vz-product-reviews #reviews .cr-review-form-item img { flex-basis: 48px; width: 48px; height: 64px; }
	.vz-product-reviews #reviews .cr-review-form-item span { font-size: 15px; }
	.vz-product-reviews #reviews .cr-review-form-ne { flex-direction: column; gap: 18px; }
	.vz-product-reviews #reviews .cr-review-form-buttons { flex-direction: column; gap: 12px; }
	.vz-product-reviews #reviews .cr-review-form-buttons > button { width: 100%; }
	.vz-product-reviews #reviews .cr-review-form-rating-inner { padding-inline: 3px; }
	.vz-product-reviews #reviews .cr-review-form-rating-inner svg { width: 29px; height: 28px; }
}
