/* Product-page-only scope for the native WooCommerce review surface. */
.vv-product-reviews {
	width: 100%;
	box-sizing: border-box;
}

.vv-product-reviews #reviews {
	width: 100%;
	margin: 1.25rem auto 0;
	max-width: 900px;
}

.vv-product-reviews #reviews .woocommerce-Reviews-title {
	margin: 0 0 1rem;
	font-size: 1.25rem;
	font-weight: 500;
	line-height: 1.25;
	letter-spacing: 0.01em;
}

.vv-product-reviews #reviews .star-rating::before,
.vv-product-reviews #reviews .star-rating span::before {
	color: #D4A72C;
}

.vv-product-reviews #reviews .comment-text,
.vv-product-reviews #reviews .comment-text p,
.vv-product-reviews #reviews .description {
	font-size: 0.95rem;
	line-height: 1.55;
}

.vv-product-reviews #reviews .commentlist {
	margin-bottom: 1.25rem;
}

.vv-product-reviews #reviews #review_form_wrapper {
	margin-top: 1.25rem;
}

.vv-product-reviews #reviews .woocommerce-noreviews {
	display: none;
}

.vv-product-reviews #review_form_wrapper .comment-reply-title {
	display: none;
}

.vv-product-reviews .vv-review-invitation {
	box-sizing: border-box;
	margin: 0 0 1rem;
	padding: 1.35rem 1.5rem;
	border: 1px solid #E5DDD1;
	background: #FCF9F3;
	color: #2A2825;
}

.vv-product-reviews .vv-review-invitation-title {
	margin: 0 0 0.65rem;
	font-size: 1.15rem;
	font-weight: 500;
	line-height: 1.3;
	letter-spacing: 0.01em;
}

.vv-product-reviews .vv-review-invitation-copy {
	max-width: 38rem;
	margin: 0 0 0.9rem;
	font-size: 0.95rem;
	line-height: 1.55;
}

.vv-product-reviews .vv-review-invitation-toggle {
	display: inline-block;
	width: auto;
	margin: 0;
	padding: 0.65rem 0;
	border: 0;
	border-bottom: 1px solid #D87763;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: #A94F3F;
	font-size: 0.78rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.09em;
	text-align: left;
	cursor: pointer;
}

.vv-product-reviews .vv-review-invitation-toggle:hover,
.vv-product-reviews .vv-review-invitation-toggle:focus-visible {
	border-bottom-color: #A94F3F;
	background: transparent;
	color: #7E382D;
}

.vv-product-reviews .vv-review-invitation-toggle:focus-visible {
	outline: 2px solid #D87763;
	outline-offset: 4px;
}

.vv-product-reviews .vv-review-invitation-note {
	margin: 0.65rem 0 0;
	color: #706A62;
	font-size: 0.82rem;
	line-height: 1.4;
}

.vv-product-reviews .vv-review-invitation-toggle[hidden],
.vv-product-reviews form[hidden] {
	display: none !important;
}

.vv-product-reviews #review_form_wrapper form {
	margin-top: 1rem;
}

.vv-product-reviews #review_form_wrapper .comment-form-rating,
.vv-product-reviews #review_form_wrapper .comment-form-comment,
.vv-product-reviews #review_form_wrapper .comment-form-author,
.vv-product-reviews #review_form_wrapper .comment-form-email,
.vv-product-reviews #review_form_wrapper .form-submit {
	margin: 0 0 1rem;
}

.vv-product-reviews #reviews #review_form_wrapper label {
	font-size: 0.95rem;
	line-height: 1.4;
}

.vv-product-reviews #reviews #review_form_wrapper input,
.vv-product-reviews #reviews #review_form_wrapper textarea,
.vv-product-reviews #reviews #review_form_wrapper select {
	font-size: 1rem;
	line-height: 1.4;
}

.vv-product-reviews #review_form_wrapper textarea,
.vv-product-reviews #review_form_wrapper input[type="text"],
.vv-product-reviews #review_form_wrapper input[type="email"] {
	box-sizing: border-box;
	width: 100%;
	padding: 0.75rem 0.85rem;
	border: 1px solid #D9D2C8;
	border-radius: 2px;
	background: #FFFFFF;
	box-shadow: none;
}

.vv-product-reviews #review_form_wrapper textarea:focus,
.vv-product-reviews #review_form_wrapper input[type="text"]:focus,
.vv-product-reviews #review_form_wrapper input[type="email"]:focus {
	border-color: #BFAE98;
	outline: 2px solid rgb(212 167 44 / 20%);
	outline-offset: 1px;
}

.vv-product-reviews #review_form_wrapper input[type="file"] {
	max-width: 100%;
	padding: 0.55rem;
	border: 1px dashed #D9D2C8;
	background: #FFFDF9;
}

.vv-product-reviews #review_form_wrapper .stars a,
.vv-product-reviews #review_form_wrapper .stars a:hover,
.vv-product-reviews #review_form_wrapper .stars a.active {
	color: #D4A72C;
}

@media (max-width: 767px) {
	.vv-product-reviews .vv-review-invitation {
		padding: 1.15rem;
	}
}

.vv-compact-review {
	font-size: 0.875rem;
	line-height: 1.25;
}

.vv-compact-review--hero {
	margin: 0.35rem 0;
	font-size: 0.875rem;
}

.vv-compact-review--hero a {
	color: inherit;
	text-decoration: none;
}

.vv-compact-review--hero a:hover,
.vv-compact-review--hero a:focus {
	color: #4b443c !important;
}

.vv-compact-review--hero a:focus-visible {
	outline: 2px solid #D4A72C;
	outline-offset: 3px;
}

.vv-compact-review--card {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 0.4rem;
	font-size: 0.8125rem;
	line-height: 1.25;
	text-align: left;
	direction: ltr;
	unicode-bidi: isolate;
}

.vv-compact-review--card .vv-card-rating-unit {
	display: inline-flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: flex-start !important;
	gap: 6px;
	width: max-content;
	max-width: 100%;
	margin: 0;
	direction: ltr;
	unicode-bidi: isolate;
}

.vv-compact-review--card .vv-card-stars {
	display: inline-block;
	flex: 0 0 auto;
	margin: 0;
	color: #D4A72C;
	background: linear-gradient(
		to right,
		#D4A72C 0%,
		#D4A72C var(--vv-rating-percent),
		rgb(212 167 44 / 25%) var(--vv-rating-percent),
		rgb(212 167 44 / 25%) 100%
	);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	font-size: 1em;
	letter-spacing: 0.08em;
	line-height: 1;
	white-space: nowrap;
}

.vv-compact-review--card .vv-card-rating-summary {
	flex: 0 0 auto;
	white-space: nowrap;
}

.vv-compact-review .star-rating {
	display: inline-block;
	vertical-align: middle;
	color: #d4a72c;
}

.vv-compact-review .star-rating::before,
.vv-compact-review .star-rating span::before {
	color: #d4a72c;
}

.vv-compact-review--hero .star-rating::before {
	color: rgb(138 129 119 / 45%);
}

.vv-compact-review--hero .star-rating span::before {
	color: #d4a72c;
}
