/**
 * ReviewCraft product review cards.
 * Scoped to the product review area to avoid theme and Woodmart leakage.
 */
.reviewcraft-review-cards {
	--reviewcraft-accent: #e6288a;
	--reviewcraft-columns: 2;
	--reviewcraft-radius: 18px;
	--reviewcraft-border: #ece7eb;
	--reviewcraft-muted: #746d72;
	--reviewcraft-shadow: 0 10px 30px rgba(44, 25, 37, .07);
}

.reviewcraft-review-cards #reviews #comments > ol.commentlist,
.reviewcraft-review-cards #reviews.cr-reviews-ajax-reviews #comments.cr-reviews-ajax-comments > ol.commentlist.cr-ajax-reviews-list,
.reviewcraft-review-cards .cr-all-reviews-shortcode > ol.commentlist {
	display: grid;
	grid-template-columns: repeat(var(--reviewcraft-columns), minmax(0, 1fr));
	gap: 20px;
	align-items: start;
	margin: 24px 0;
	padding: 0;
	list-style: none;
}

/*
 * Aggregate review pages contain reviews with widely different lengths.
 * A single chronological stream avoids the empty holes created when a
 * two-column grid row inherits the height of its longest review.
 */
.reviewcraft-review-cards .cr-all-reviews-shortcode > ol.commentlist {
	grid-template-columns: minmax(0, 1fr);
	gap: 18px;
	width: 100%;
	max-width: 1040px;
	margin-right: auto;
	margin-left: auto;
}

.reviewcraft-review-cards #reviews #comments > ol.commentlist > .reviewcraft-card,
.reviewcraft-review-cards #reviews.cr-reviews-ajax-reviews #comments.cr-reviews-ajax-comments > ol.commentlist.cr-ajax-reviews-list > .reviewcraft-card,
.reviewcraft-review-cards .cr-all-reviews-shortcode > ol.commentlist > .reviewcraft-card {
	float: none;
	clear: none;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.reviewcraft-review-cards .reviewcraft-card__inner {
	box-sizing: border-box;
	height: 100%;
	padding: 22px;
	background: #fff;
	border: 1px solid var(--reviewcraft-border);
	border-radius: var(--reviewcraft-radius);
	box-shadow: var(--reviewcraft-shadow);
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.reviewcraft-review-cards .reviewcraft-card__inner:hover {
	border-color: color-mix(in srgb, var(--reviewcraft-accent) 35%, var(--reviewcraft-border));
	box-shadow: 0 16px 38px rgba(44, 25, 37, .11);
	transform: translateY(-2px);
}

.reviewcraft-review-cards .reviewcraft-card__header {
	display: flex;
	gap: 12px;
	align-items: center;
	margin: 0 0 16px;
}

.reviewcraft-review-cards .reviewcraft-card__avatar {
	flex: 0 0 auto;
}

.reviewcraft-review-cards .reviewcraft-card__avatar img {
	display: block;
	width: 52px;
	height: 52px;
	margin: 0;
	border: 2px solid #fff;
	border-radius: 50%;
	box-shadow: 0 0 0 1px var(--reviewcraft-border);
	object-fit: cover;
}

.reviewcraft-review-cards .reviewcraft-card__identity {
	min-width: 0;
	flex: 1;
}

.reviewcraft-review-cards .reviewcraft-card__author-row,
.reviewcraft-review-cards .reviewcraft-card__byline {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 8px;
	align-items: center;
}

.reviewcraft-review-cards .reviewcraft-card__author {
	overflow: hidden;
	color: #272126;
	font-size: 15px;
	line-height: 1.35;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.reviewcraft-review-cards .reviewcraft-card__flag {
	display: inline-block;
	width: 20px;
	height: 15px;
	margin: 0;
	border-radius: 2px;
	object-fit: cover;
}

.reviewcraft-review-cards .reviewcraft-card__byline {
	margin-top: 3px;
	color: var(--reviewcraft-muted);
	font-size: 12px;
}

.reviewcraft-review-cards .reviewcraft-card__verified,
.reviewcraft-review-cards .reviewcraft-card__manager {
	display: inline-flex;
	gap: 4px;
	align-items: center;
	color: #16845b;
	font-weight: 650;
}

.reviewcraft-review-cards .reviewcraft-card__verified svg {
	width: 15px;
	height: 15px;
	fill: currentColor;
}

.reviewcraft-review-cards .reviewcraft-card__rating {
	display: flex;
	gap: 8px;
	align-items: center;
	margin: 0 0 12px;
}

.reviewcraft-review-cards .reviewcraft-card__rating .crstar-rating-svg {
	margin: 0;
}

.reviewcraft-review-cards .reviewcraft-card__rating > span {
	color: var(--reviewcraft-muted);
	font-size: 12px;
	font-weight: 600;
}

.reviewcraft-review-cards .reviewcraft-card__product {
	margin: -2px 0 14px;
}

.reviewcraft-review-cards .reviewcraft-card__product a {
	display: flex;
	gap: 10px;
	align-items: center;
	width: fit-content;
	max-width: 100%;
	color: #272126;
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

.reviewcraft-review-cards .reviewcraft-card__product a:hover,
.reviewcraft-review-cards .reviewcraft-card__product a:focus {
	color: var(--reviewcraft-accent);
}

.reviewcraft-review-cards .reviewcraft-card__product-image {
	display: block;
	flex: 0 0 auto;
	width: 42px;
	height: 42px;
	margin: 0;
	border-radius: 8px;
	object-fit: cover;
}

.reviewcraft-review-cards .reviewcraft-card__product span {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

.reviewcraft-review-cards .reviewcraft-card__title {
	margin: 0 0 8px;
	color: #272126;
	font-size: 17px;
	line-height: 1.35;
}

.reviewcraft-review-cards .reviewcraft-card__content {
	color: #494146;
	font-size: 14px;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.reviewcraft-review-cards .reviewcraft-card__content > p:last-child,
.reviewcraft-review-cards .reviewcraft-card__content .description > p:last-child {
	margin-bottom: 0;
}

.reviewcraft-review-cards .reviewcraft-card__content > .cr-comment-head-text,
.reviewcraft-review-cards .reviewcraft-card__content > .ivole-verified-badge {
	display: none;
}

.reviewcraft-review-cards .reviewcraft-card .cr-comment-images {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(120px, 160px));
	gap: 8px;
	justify-content: start;
	margin: 16px 0 4px;
}

.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .reviewcraft-card .iv-comment-image,
.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .reviewcraft-card .cr-comment-video {
	position: relative;
	float: none;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	aspect-ratio: 4 / 5;
	margin: 0;
	overflow: hidden;
	border-radius: 12px;
	background: #f5f2f4;
}

.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .reviewcraft-card .iv-comment-image > .cr-comment-a,
.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .reviewcraft-card .cr-comment-video > .cr-video-cont {
	position: relative;
	display: block;
	width: 100%;
	height: 100%;
}

.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .reviewcraft-card .iv-comment-image > .cr-comment-a > img,
.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .reviewcraft-card .cr-comment-video video.cr-video-a {
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: 0;
	object-fit: cover;
}

.reviewcraft-review-cards .reviewcraft-card .cr-comment-images > div[style*="clear"] {
	display: none;
}

.reviewcraft-review-cards .reviewcraft-card .cr-comment-a:focus-visible,
.reviewcraft-review-cards .reviewcraft-card button:focus-visible,
.reviewcraft-review-cards .reviewcraft-card a:focus-visible {
	outline: 3px solid color-mix(in srgb, var(--reviewcraft-accent) 65%, white);
	outline-offset: 3px;
}

.reviewcraft-review-cards .reviewcraft-card .cr-voting-cont {
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid var(--reviewcraft-border);
}

.reviewcraft-review-cards .reviewcraft-card__video-fallback {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 12px;
}

.reviewcraft-review-cards .reviewcraft-card .cr-incentivized-badge,
.reviewcraft-review-cards .reviewcraft-card .cr-all-featured-badge {
	border-color: color-mix(in srgb, var(--reviewcraft-accent) 28%, var(--reviewcraft-border));
	background: color-mix(in srgb, var(--reviewcraft-accent) 7%, white);
	color: var(--reviewcraft-accent);
}

.reviewcraft-review-cards .reviewcraft-card > .children,
.reviewcraft-review-cards .reviewcraft-card .children {
	grid-column: 1 / -1;
	margin: 12px 0 0 28px;
	padding: 0;
	list-style: none;
}

.reviewcraft-review-cards .reviewcraft-card--reply .reviewcraft-card__inner {
	padding: 16px;
	background: #fbf9fa;
	border-radius: 14px;
	box-shadow: none;
}

.reviewcraft-review-cards .reviewcraft-card--reply .reviewcraft-card__avatar img {
	width: 40px;
	height: 40px;
}

.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .cr-summaryBox-wrap,
.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .cr-count-row,
.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .cr-ajax-reviews-cus-images-div {
	border-radius: var(--reviewcraft-radius);
}

.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) select,
.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .cr-ajax-reviews-sort {
	border-radius: 10px;
}

.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .cr-summaryBox-wrap .cr-histogram-a:hover,
.reviewcraft-review-cards :is(#reviews, .cr-all-reviews-shortcode) .cr-summaryBox-wrap .cr-histogram-a:focus {
	color: var(--reviewcraft-accent);
}

.reviewcraft-hide-media .reviewcraft-card .cr-comment-images {
	display: none !important;
}

.reviewcraft-hide-summary :is(#reviews, .cr-all-reviews-shortcode) .cr-summaryBox-wrap {
	display: none !important;
}

@media (max-width: 900px) {
	.reviewcraft-review-cards #reviews #comments > ol.commentlist,
	.reviewcraft-review-cards #reviews.cr-reviews-ajax-reviews #comments.cr-reviews-ajax-comments > ol.commentlist.cr-ajax-reviews-list {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 620px) {
	.reviewcraft-review-cards #reviews #comments > ol.commentlist,
	.reviewcraft-review-cards #reviews.cr-reviews-ajax-reviews #comments.cr-reviews-ajax-comments > ol.commentlist.cr-ajax-reviews-list {
		grid-template-columns: minmax(0, 1fr);
		gap: 14px;
	}

	.reviewcraft-review-cards .cr-all-reviews-shortcode > ol.commentlist {
		gap: 14px;
	}

	.reviewcraft-review-cards .reviewcraft-card__inner {
		padding: 18px;
	}

	.reviewcraft-review-cards .reviewcraft-card > .children,
	.reviewcraft-review-cards .reviewcraft-card .children {
		margin-left: 12px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.reviewcraft-review-cards .reviewcraft-card__inner {
		transition: none;
	}
}

@supports not (color: color-mix(in srgb, white, black)) {
	.reviewcraft-review-cards .reviewcraft-card__inner:hover {
		border-color: #e8b2cf;
	}
	.reviewcraft-review-cards .reviewcraft-card .cr-incentivized-badge,
	.reviewcraft-review-cards .reviewcraft-card .cr-all-featured-badge {
		background: #fff4fa;
	}
}

/*
 * ReviewCraft customer-media gallery.
 *
 * The legacy CusRev Slick modal remains in the document as a data source, but
 * its interface is not displayed. ReviewCraft renders one independent viewer
 * for product reviews and the aggregate reviews shortcode.
 */
body.reviewcraft-review-cards.reviewcraft-gallery-ready :is(#reviews, .cr-all-reviews-shortcode) .cr-ajax-reviews-cus-images-modal-cont {
	display: none !important;
}

.reviewcraft-gallery-review-toggle {
	display: none !important;
}

.reviewcraft-gallery[hidden] {
	display: none !important;
}

body.reviewcraft-gallery-open {
	overflow: hidden !important;
	overscroll-behavior: none;
}

.reviewcraft-gallery {
	position: fixed;
	z-index: 2147483000;
	inset: 0;
	display: grid;
	place-items: center;
	box-sizing: border-box;
	padding: 24px;
	background: rgba(9, 8, 9, 0.92);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
}

.reviewcraft-gallery,
.reviewcraft-gallery * {
	box-sizing: border-box;
}

.reviewcraft-gallery__dialog {
	display: grid;
	grid-template-rows: 56px minmax(0, 1fr) 54px 96px;
	width: min(1120px, calc(100vw - 48px));
	height: min(800px, calc(100dvh - 48px));
	min-height: 0;
	overflow: hidden;
	border: 1px solid rgba(255, 255, 255, 0.18);
	border-radius: 18px;
	background: #0d0c0d;
	box-shadow: 0 30px 90px rgba(0, 0, 0, 0.48);
}

.reviewcraft-gallery__header {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto 44px;
	align-items: center;
	gap: 16px;
	min-width: 0;
	padding: 6px 10px 6px 20px;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	background: #191719;
	color: #fff;
}

.reviewcraft-gallery__title {
	overflow: hidden;
	font: 600 16px/1.2 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.reviewcraft-gallery__counter {
	color: rgba(255, 255, 255, 0.72);
	font: 500 14px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-variant-numeric: tabular-nums;
}

.reviewcraft-gallery button {
	appearance: none;
	margin: 0;
	border: 0;
	box-shadow: none;
	text-transform: none;
	cursor: pointer;
}

.reviewcraft-gallery__close {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.26) !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	font: 300 30px/1 Arial, sans-serif !important;
}

.reviewcraft-gallery__close:hover,
.reviewcraft-gallery__close:focus-visible {
	border-color: #fff !important;
	background: rgba(255, 255, 255, 0.16) !important;
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.reviewcraft-gallery__stage {
	position: relative;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	background: #050505;
}

.reviewcraft-gallery__canvas {
	position: relative;
	display: grid;
	place-items: center;
	width: 100%;
	height: 100%;
	min-width: 0;
	min-height: 0;
	overflow: hidden;
	background:
		radial-gradient(circle at center, rgba(255, 255, 255, 0.035), transparent 54%),
		#050505;
}

.reviewcraft-gallery__canvas.is-loading::after {
	position: absolute;
	width: 32px;
	height: 32px;
	border: 3px solid rgba(255, 255, 255, 0.22);
	border-top-color: #fff;
	border-radius: 50%;
	content: "";
	animation: reviewcraft-gallery-spin 0.8s linear infinite;
}

@keyframes reviewcraft-gallery-spin {
	to {
		transform: rotate(360deg);
	}
}

.reviewcraft-gallery__media {
	position: absolute;
	inset: 0;
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: contain;
}

.reviewcraft-gallery__error {
	margin: 0;
	color: rgba(255, 255, 255, 0.72);
	font: 500 15px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.reviewcraft-gallery__arrow {
	position: absolute;
	z-index: 2;
	top: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 1px solid rgba(255, 255, 255, 0.22) !important;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08) !important;
	color: #fff !important;
	font: 300 38px/1 Arial, sans-serif !important;
	transform: translateY(-50%);
}

.reviewcraft-gallery__arrow--previous {
	left: 14px;
}

.reviewcraft-gallery__arrow--next {
	right: 14px;
}

.reviewcraft-gallery__arrow:hover,
.reviewcraft-gallery__arrow:focus-visible {
	border-color: #fff !important;
	background: rgba(255, 255, 255, 0.17) !important;
	outline: 2px solid #fff;
	outline-offset: 2px;
}

.reviewcraft-gallery__arrow[hidden] {
	display: none !important;
}

.reviewcraft-gallery__meta {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	align-items: center;
	gap: 12px;
	min-width: 0;
	padding: 8px 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.08);
	background: #fff;
	color: #211d20;
}

.reviewcraft-gallery__meta[hidden] {
	visibility: hidden;
}

.reviewcraft-gallery__rating {
	color: #ffb900;
	font: 700 18px/1 Arial, sans-serif;
	letter-spacing: 1px;
	white-space: nowrap;
}

.reviewcraft-gallery__author {
	overflow: hidden;
	font: 600 15px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.reviewcraft-gallery__date {
	color: #777077;
	font: 400 13px/1.25 -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	white-space: nowrap;
}

.reviewcraft-gallery__thumbs {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 12px 18px;
	overflow-x: auto;
	overflow-y: hidden;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
	background: #171517;
	scrollbar-color: rgba(255, 255, 255, 0.28) transparent;
	scrollbar-width: thin;
	overscroll-behavior-x: contain;
	scroll-snap-type: x proximity;
}

.reviewcraft-gallery__thumb {
	position: relative;
	flex: 0 0 70px;
	width: 70px;
	height: 70px;
	padding: 0;
	overflow: hidden;
	border: 2px solid transparent !important;
	border-radius: 10px;
	background: #292629 !important;
	opacity: 0.62;
	scroll-snap-align: center;
	transition: border-color 0.16s ease, opacity 0.16s ease, transform 0.16s ease;
}

.reviewcraft-gallery__thumb:hover,
.reviewcraft-gallery__thumb:focus-visible,
.reviewcraft-gallery__thumb.is-selected {
	border-color: var(--reviewcraft-accent, #e6288a) !important;
	opacity: 1;
	outline: none;
}

.reviewcraft-gallery__thumb.is-selected {
	transform: translateY(-2px);
}

.reviewcraft-gallery__thumb > :is(img, video) {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none !important;
	max-height: none !important;
	margin: 0 !important;
	object-fit: cover;
}

.reviewcraft-gallery__play {
	position: absolute;
	top: 50%;
	left: 50%;
	display: grid;
	place-items: center;
	width: 30px;
	height: 30px;
	padding-left: 2px;
	border-radius: 50%;
	background: rgba(0, 0, 0, 0.68);
	color: #fff;
	font: 700 13px/1 Arial, sans-serif;
	transform: translate(-50%, -50%);
}

@media (max-width: 700px) {
	.reviewcraft-gallery {
		display: block;
		padding: 0;
		background: #050505;
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
	}

	.reviewcraft-gallery__dialog {
		grid-template-rows:
			calc(52px + env(safe-area-inset-top, 0px))
			minmax(0, 1fr)
			48px
			calc(76px + env(safe-area-inset-bottom, 0px));
		width: 100vw;
		height: 100dvh;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.reviewcraft-gallery__header {
		grid-template-columns: minmax(0, 1fr) auto 44px;
		padding:
			calc(6px + env(safe-area-inset-top, 0px))
			calc(8px + env(safe-area-inset-right, 0px))
			6px
			calc(16px + env(safe-area-inset-left, 0px));
	}

	.reviewcraft-gallery__title {
		font-size: 15px;
	}

	.reviewcraft-gallery__arrow {
		width: 38px;
		height: 38px;
		font-size: 32px !important;
	}

	.reviewcraft-gallery__arrow--previous {
		left: 6px;
	}

	.reviewcraft-gallery__arrow--next {
		right: 6px;
	}

	.reviewcraft-gallery__meta {
		grid-template-columns: auto minmax(0, 1fr) auto;
		gap: 8px;
		padding:
			6px
			calc(12px + env(safe-area-inset-right, 0px))
			6px
			calc(12px + env(safe-area-inset-left, 0px));
	}

	.reviewcraft-gallery__rating {
		font-size: 15px;
		letter-spacing: 0;
	}

	.reviewcraft-gallery__author {
		font-size: 13px;
	}

	.reviewcraft-gallery__date {
		font-size: 11px;
	}

	.reviewcraft-gallery__thumbs {
		gap: 8px;
		padding:
			8px
			calc(12px + env(safe-area-inset-right, 0px))
			calc(8px + env(safe-area-inset-bottom, 0px))
			calc(12px + env(safe-area-inset-left, 0px));
	}

	.reviewcraft-gallery__thumb {
		flex-basis: 56px;
		width: 56px;
		height: 56px;
		border-radius: 8px;
	}
}

@media (max-width: 700px) and (max-height: 520px) {
	.reviewcraft-gallery__dialog {
		grid-template-rows:
			calc(44px + env(safe-area-inset-top, 0px))
			minmax(0, 1fr)
			42px
			calc(62px + env(safe-area-inset-bottom, 0px));
	}

	.reviewcraft-gallery__close {
		width: 34px;
		height: 34px;
		font-size: 25px !important;
	}

	.reviewcraft-gallery__meta {
		padding-top: 4px;
		padding-bottom: 4px;
	}

	.reviewcraft-gallery__thumbs {
		padding-top: 6px;
	}

	.reviewcraft-gallery__thumb {
		flex-basis: 48px;
		width: 48px;
		height: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.reviewcraft-gallery__thumb {
		transition: none;
	}

	.reviewcraft-gallery__canvas.is-loading::after {
		animation-duration: 1.6s;
	}
}
