/* Product reviews. Scoped to .jubix-reviews so nothing leaks into blog comments. */

.jubix-reviews {
	max-width: 1020px;
	width: 90%;
	margin: 20px auto 0;
	padding: 50px 0 10px;
	border-top: 1px solid #f0f0f0;
}
.jubix-reviews #reviews,
.jubix-reviews #comments,
.jubix-reviews #review_form_wrapper,
.jubix-reviews #review_form,
.jubix-reviews #respond,
.jubix-reviews form.comment-form { max-width: 100%; }

.jubix-reviews .woocommerce-Reviews-title {
	font-family: var(--font-display);
	font-size: 1.8rem;
	font-weight: 900;
	color: var(--deep-purple);
	margin: 0 0 20px;
}

.jubix-reviews .commentlist { list-style: none; margin: 0 0 30px; padding: 0; }
.jubix-reviews .commentlist li.review {
	border: 1px solid var(--hairline);
	border-radius: 12px;
	padding: 20px 24px;
	margin-bottom: 16px;
	background: #fafafa;
}
.jubix-reviews .commentlist .comment_container { display: flex; gap: 16px; align-items: flex-start; }
.jubix-reviews .commentlist img.avatar { width: 48px; height: 48px; border-radius: 50%; margin: 0; }
.jubix-reviews .commentlist .meta { font-size: .85rem; color: #888; margin: 6px 0 10px; }
.jubix-reviews .commentlist .woocommerce-review__author { color: var(--deep-purple); font-weight: 700; }
.jubix-reviews .commentlist .description { color: #444; line-height: 1.7; }

/* WooCommerce's review stylesheet uses ID-heavy selectors, so colour
   overrides need !important to win reliably. */
.jubix-reviews .star-rating { color: var(--accent-dark) !important; }
.jubix-reviews p.stars a,
.jubix-reviews p.stars a::before { color: var(--accent-dark) !important; }
.jubix-reviews p.stars a:hover,
.jubix-reviews p.stars.selected a.active,
.jubix-reviews p.stars:hover a { color: var(--accent) !important; }

.jubix-reviews .woocommerce-noreviews,
.jubix-reviews .comment-reply-title {
	color: var(--text-dark);
	font-size: 1rem;
	display: block;
	margin-bottom: 18px;
}
.jubix-reviews .comment-reply-title { font-weight: 700; }

.jubix-reviews .comment-form label {
	display: block;
	font-family: var(--font-display);
	font-weight: 700;
	color: var(--deep-purple);
	margin: 14px 0 6px;
}
.jubix-reviews .comment-form .required { color: var(--accent-dark); }

.jubix-reviews .comment-form input[type="text"],
.jubix-reviews .comment-form input[type="email"],
.jubix-reviews .comment-form input[type="url"],
.jubix-reviews .comment-form textarea {
	width: 100%;
	max-width: 100%;
	border: 2px solid #ddd;
	border-radius: var(--radius-sm);
	padding: 12px 14px;
	font-family: var(--font-body);
	font-size: 1rem;
	background: #fff;
	color: var(--text-dark);
}
.jubix-reviews .comment-form textarea { min-height: 130px; resize: vertical; }
.jubix-reviews .comment-form input:focus,
.jubix-reviews .comment-form textarea:focus { outline: none; border-color: var(--accent-dark); }

.jubix-reviews .form-submit input#submit,
.jubix-reviews .comment-form input#submit {
	background: linear-gradient(to right, var(--accent), var(--accent-dark));
	color: var(--deep-purple);
	border: none;
	border-radius: 50px;
	padding: 13px 34px;
	font-family: var(--font-display);
	font-weight: 800;
	font-size: .9rem;
	cursor: pointer;
	box-shadow: 0 10px 20px rgba(212,175,55,.3);
	transition: transform .2s ease;
	margin-top: 12px;
}
.jubix-reviews .form-submit input#submit:hover { transform: translateY(-2px); }

@media (max-width: 600px) {
	.jubix-reviews { width: 95%; padding: 30px 0 10px; }
	.jubix-reviews .woocommerce-Reviews-title { font-size: 1.4rem; }
	.jubix-reviews .commentlist li.review { padding: 16px; }
}
