/* WebFX RAFX Review Slider
   Styled to match the Pro theme: Manrope headings, Lato body copy,
   brand blue (#0653c2) accents, pill buttons. */

.webfx-rafx-reviews {
	margin: 40px auto;
	max-width: 1440px;
	padding: 0 20px;
	box-sizing: border-box;
}

.webfx-rafx-reviews__title {
	font-family: 'Manrope', sans-serif;
	font-weight: 600;
	font-size: 32px;
	color: #1e1e1e;
	text-align: center;
	margin: 0 0 32px;
}

.webfx-rafx-reviews__slider {
	margin: 0 -12px;
}

/* Equal-height cards: safe now that .webfx-rafx-review__text is capped with
   a 7-line ellipsis, so the tallest a card can ever get is bounded. */
.webfx-rafx-reviews__slider .slick-track {
	display: flex !important;
}

.webfx-rafx-reviews__slider .slick-slide {
	height: auto;
}

.webfx-rafx-review {
	padding: 12px;
	box-sizing: border-box;
	height: 100%;
}

.webfx-rafx-review__card {
	background: #ffffff;
	border-radius: 16px;
	box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
	padding: 32px 28px;
	height: 100%;
	display: flex;
	flex-direction: column;
	font-family: 'Lato', sans-serif;
}

.webfx-rafx-review__stars {
	display: inline-block;
}

.webfx-rafx-star {
	font-size: 20px;
	line-height: 1;
	color: #e0e0e0;
	letter-spacing: 2px;
}

.webfx-rafx-star--full,
.webfx-rafx-star--half {
	color: #ffb400;
}

.webfx-rafx-review__rating-text {
	font-size: 14px;
	font-weight: 700;
	color: #1e1e1e;
	margin: 8px 0 16px;
}

.webfx-rafx-review__text {
	font-size: 16px;
	line-height: 1.6;
	color: #444444;
	margin: 0 0 20px;
	flex-grow: 1;
	/* Cap long reviews at 7 lines with an ellipsis instead of stretching the card. */
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 7;
	overflow: hidden;
}

.webfx-rafx-review__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 16px;
}

.webfx-rafx-review__author {
	font-weight: 700;
	color: #0653c2;
	font-size: 15px;
}

.webfx-rafx-review__date {
	font-size: 13px;
	color: #888888;
}

.webfx-rafx-review__date::before {
	content: "\2022";
	margin: 0 8px;
	color: #cccccc;
}

.webfx-rafx-reviews__cta {
	text-align: center;
	margin-top: 40px;
}

.webfx-rafx-review__btn {
	display: inline-block;
	background: #0653c2;
	color: #ffffff !important;
	font-family: 'Lato', sans-serif;
	font-weight: 700;
	font-size: 16px;
	text-decoration: none;
	padding: 14px 36px;
	border-radius: 100px;
	transition: background-color 0.2s ease;
}

.webfx-rafx-review__btn:hover,
.webfx-rafx-review__btn:focus {
	background: #043e91;
	color: #ffffff !important;
}

/* Slick arrows + dots, built from scratch (the CDN build only ships slick.min.css,
   not slick-theme.min.css, so there is no default arrow/dot styling to build on). */
.webfx-rafx-reviews__slider .slick-prev,
.webfx-rafx-reviews__slider .slick-next {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 44px;
	height: 44px;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #0653c2;
	cursor: pointer;
	z-index: 2;
	font-size: 0;
	line-height: 0;
	color: transparent;
}

.webfx-rafx-reviews__slider .slick-prev:before,
.webfx-rafx-reviews__slider .slick-next:before {
	font-family: inherit;
	font-size: 18px;
	line-height: 1;
	opacity: 1;
	color: #ffffff;
}

.webfx-rafx-reviews__slider .slick-prev:before {
	content: "\276E";
}

.webfx-rafx-reviews__slider .slick-next:before {
	content: "\276F";
}

.webfx-rafx-reviews__slider .slick-prev:hover,
.webfx-rafx-reviews__slider .slick-next:hover {
	background: #043e91;
}

.webfx-rafx-reviews__slider .slick-prev {
	left: -16px;
}

.webfx-rafx-reviews__slider .slick-next {
	right: -16px;
}

.webfx-rafx-reviews__slider .slick-prev.slick-disabled,
.webfx-rafx-reviews__slider .slick-next.slick-disabled {
	opacity: 0.35;
	cursor: default;
	pointer-events: none;
}

.webfx-rafx-reviews__slider .slick-dots {
	position: static;
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.webfx-rafx-reviews__slider .slick-dots li {
	margin: 0 4px;
	line-height: 0;
}

.webfx-rafx-reviews__slider .slick-dots li button {
	font-size: 0;
	line-height: 0;
	width: 10px;
	height: 10px;
	padding: 0;
	border: none;
	border-radius: 50%;
	cursor: pointer;
	background: #d8d8d8;
	transition: background-color 0.2s ease;
}

.webfx-rafx-reviews__slider .slick-dots li:hover button {
	background: #9ab6e6;
}

.webfx-rafx-reviews__slider .slick-dots li.slick-active button {
	background: #0653c2;
}

@media (max-width: 782px) {
	.webfx-rafx-reviews__title {
		font-size: 26px;
	}

	.webfx-rafx-reviews__slider .slick-prev,
	.webfx-rafx-reviews__slider .slick-next {
		display: none !important;
	}
}
