/* ==========================================================================
   REVIEWS PAGE — "Sky" theme (matches the homepage).
   Loaded after the page's own styles and Sky-common.css.
   ========================================================================== */
body {
	background: #f3f7fe !important;
}

.reviews-hero-title,
.reviews-title,
.review-form-title,
.review-card-name,
.score-big {
	font-family: "Sora", "Inter", system-ui, sans-serif;
}

/* ---------- Hero ---------- */
.reviews-hero.sky-hero {
	padding: 140px 0 150px;
}

.reviews-hero-title {
	font-size: clamp(2rem, 4.4vw, 3.1rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #ffffff;
	margin-bottom: 14px;
}

.reviews-hero-title .sky-accent {
	color: #7dd3fc;
}

.reviews-hero-subtitle {
	color: rgba(255, 255, 255, 0.92);
	font-size: 1.08rem;
	line-height: 1.7;
	max-width: 620px;
	margin-left: auto;
	margin-right: auto;
}

.reviews-hero > .container {
	position: relative;
	z-index: 2;
}

/* ---------- Published reviews ---------- */
.reviews-main {
	position: relative;
	background: #f3f7fe;
	padding: 60px 0 90px;
}

.reviews-title {
	position: relative;
	font-size: clamp(1.7rem, 3vw, 2.35rem);
	font-weight: 600;
	letter-spacing: -0.03em;
	color: #0a1633;
	padding-bottom: 16px;
	margin-bottom: 12px;
}

.reviews-title::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 56px;
	height: 3px;
	border-radius: 3px;
	background: linear-gradient(90deg, #2563eb, #38bdf8);
}

.reviews-list .text-muted {
	color: #5a6785 !important;
	font-size: 1rem;
}

.reviews-list .btn-outline-primary {
	padding: 10px 22px !important;
	border: 1px solid #d5e3fb;
	background: #ffffff;
	color: #1d4ed8;
	font-size: 0.92rem;
}

.reviews-list .btn-outline-primary:hover {
	background: #2563eb;
	border-color: #2563eb;
	color: #ffffff;
}

.review-card,
.review-score-card,
.review-form-card {
	background: #ffffff;
	border: 1px solid #e1eafa;
	border-radius: 22px;
	box-shadow: 0 22px 44px -30px rgba(37, 99, 235, 0.4);
}

.review-card {
	padding: 28px 26px;
	transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.review-card:hover {
	transform: translateY(-6px);
	border-color: #c7dbfb;
	box-shadow: 0 30px 54px -28px rgba(37, 99, 235, 0.55);
}

.review-card-name {
	font-size: 1.05rem;
	font-weight: 600;
	color: #0a1633;
}

.review-card-role {
	color: #5a6785;
}

.review-card-quote {
	color: #33405f;
	line-height: 1.75;
}

.quote-icon-decor {
	color: #dbe8ff;
}

.review-badge-verified {
	border-radius: 999px;
	border: 0;
	background: #eaf2ff;
	color: #1d4ed8;
}

/* ---------- Rating summary and form ---------- */
.reviews-share {
	position: relative;
	background: #ffffff;
	padding: 130px 0 90px;
}

.reviews-share > .container {
	position: relative;
	z-index: 2;
}

.review-score-card,
.review-form-card {
	height: 100%;
	padding: 30px 32px;
}

.score-label {
	font-weight: 600;
	color: #0a1633;
}

.score-big {
	font-weight: 600;
	color: #0a1633;
	letter-spacing: -0.03em;
}

.rating-bar-progress {
	background: #eaf2ff;
	border-radius: 999px;
}

.rating-bar-fill {
	border-radius: 999px;
}

.review-score-card .border-top {
	border-color: #e1eafa !important;
}

.review-score-card .fa-check-circle {
	color: #2563eb;
}

.review-form-title {
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: -0.02em;
	color: #0a1633;
	margin-bottom: 6px;
}

.review-form-card .form-label {
	color: #0a1633;
}

.review-form-card .form-control {
	border-radius: 14px;
	border: 1px solid #d5e3fb;
	background: #f7faff;
	padding: 12px 16px;
	color: #0a1633;
}

.review-form-card .form-control:focus {
	border-color: #2563eb;
	background: #ffffff;
	box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.14);
}

.review-form-card .row.g-2,
.review-form-card .mb-2 {
	margin-bottom: 14px !important;
}

#submitReviewBtn {
	border: 0;
	border-radius: 999px !important;
	padding: 13px 28px !important;
	font-size: 0.98rem !important;
	background: linear-gradient(135deg, #2563eb, #38bdf8);
	box-shadow: 0 16px 30px -14px rgba(37, 99, 235, 0.75);
	transition: transform 0.2s ease;
}

#submitReviewBtn:hover {
	transform: translateY(-2px);
	background: linear-gradient(135deg, #1d4ed8, #0ea5e9);
}

/* ---------- Tablet and phone ---------- */
@media (max-width: 991.98px) {
	.reviews-hero.sky-hero { padding: 120px 0 120px; }
	.reviews-share { padding: 104px 0 70px; }
}

@media (max-width: 767.98px) {
	.reviews-hero.sky-hero { padding: 104px 0 92px; }
	.reviews-hero-subtitle { font-size: 0.98rem; }
	.reviews-main { padding: 36px 0 56px; }
	.reviews-title { font-size: 1.4rem; }
	.reviews-list .btn-outline-primary { margin-top: 14px; }
	.reviews-share { padding: 80px 0 52px; }
	.review-card { padding: 22px 20px; border-radius: 20px; }
	.review-score-card,
	.review-form-card { padding: 22px 18px; border-radius: 20px; }
	.review-form-card .d-flex.justify-content-between:last-child { flex-wrap: wrap; gap: 12px; }
}

.review-form-card p.text-muted {
	margin-bottom: 16px !important;
	font-size: 0.92rem;
}
