/* Revolutionary Testimonials – frontend styles */

.rt-testimonials {
	display: grid;
	gap: 1.5rem;
	margin: 1.5rem 0;
	/* Match the active theme's body font via the suite font contract. */
	font-family: var(--rev-font, inherit);
}
.rt-testimonials.rt-cols-1 { grid-template-columns: 1fr; }
.rt-testimonials.rt-cols-2 { grid-template-columns: repeat(2, 1fr); }
.rt-testimonials.rt-cols-3 { grid-template-columns: repeat(3, 1fr); }
.rt-testimonials.rt-cols-4 { grid-template-columns: repeat(4, 1fr); }

@media (max-width: 768px) {
	.rt-testimonials[class*="rt-cols-"] { grid-template-columns: 1fr; }
}

.rt-testimonial {
	display: flex;
	gap: 1rem;
	padding: 1.25rem;
	border: 1px solid #e5e7eb;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,0.04);
}
.rt-testimonial .rt-photo img {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	object-fit: cover;
}
.rt-testimonial .rt-body { flex: 1; }
.rt-testimonial .rt-rating { font-size: 1.1rem; line-height: 1; margin-bottom: .5rem; letter-spacing: 2px; }
.rt-testimonial .rt-stars-on { color: #f5b301; }
.rt-testimonial .rt-stars-off { color: #d4d4d8; }
.rt-testimonial .rt-title { margin: 0 0 .25rem; font-size: 1.05rem; }
.rt-testimonial .rt-content { color: #374151; }
.rt-testimonial .rt-meta { margin-top: .75rem; font-size: .9rem; color: #6b7280; }
.rt-testimonial .rt-client-name { font-weight: 600; color: #111827; }
.rt-testimonial .rt-company { margin-left: .25rem; }
.rt-testimonial .rt-email { display: block; }
.rt-testimonial .rt-website { display: block; margin-top: .15rem; }
.rt-testimonial .rt-website a { color: #2563eb; text-decoration: none; }
.rt-testimonial .rt-company-logo { display: inline-block; margin-left: .5rem; vertical-align: middle; }
.rt-testimonial .rt-company-logo img { max-height: 32px; width: auto; display: inline-block; vertical-align: middle; }

/* Form */
.rt-form { max-width: 640px; }
.rt-form p { display: flex; flex-direction: column; gap: .25rem; margin-bottom: .9rem; }
.rt-form label { font-weight: 600; color: #111827; }
.rt-form input[type="text"],
.rt-form input[type="email"],
.rt-form input[type="url"],
.rt-form textarea {
	padding: .55rem .7rem;
	border: 1px solid #d1d5db;
	border-radius: 6px;
	font-size: 1rem;
}
.rt-form .rt-submit {
	background: var(--rev-btn-bg, #111827);
	color: var(--rev-btn-color, #fff);
	border: var(--rev-btn-border, none);
	padding: var(--rev-btn-padding, .65rem 1.25rem);
	border-radius: var(--rev-btn-radius, 6px);
	cursor: pointer;
	font-size: var(--rev-btn-font-size, 1rem);
	box-shadow: var(--rev-btn-shadow, none);
	transition: var(--rev-btn-transition, background .15s ease);
}
.rt-form .rt-submit:hover {
	background: var(--rev-btn-bg-hover, #374151);
	box-shadow: var(--rev-btn-shadow-hover, var(--rev-btn-shadow, none));
	transform: translateY(var(--rev-btn-lift, 0));
}
.rt-form .rt-submit:disabled { opacity: .6; cursor: not-allowed; }

.rt-rating-input { display: inline-flex; gap: .15rem; }
.rt-rating-input .rt-star {
	background: none;
	border: none;
	font-size: 1.5rem;
	color: #d4d4d8;
	cursor: pointer;
	padding: 0 .1rem;
	line-height: 1;
}
.rt-rating-input .rt-star.is-active,
.rt-rating-input .rt-star:hover,
.rt-rating-input .rt-star:hover ~ .rt-star.is-active { color: #f5b301; }

.rt-form-message { min-height: 1.25rem; margin-bottom: .5rem; }
.rt-form-message.is-success { color: #047857; }
.rt-form-message.is-error { color: #b91c1c; }
