/* =============================================================
 * Reviews page — assets/css/reviews.css
 * Loaded only on page-templates/template-reviews.php.
 * Hero / banner reuse global primitives (.ba-c-hero / .ba-banner);
 * only the "Recent highlights" section + cards are scoped here.
 * ============================================================= */

/* ---- Section panel ---- */
.ba-reviews {
	background: rgba(252, 248, 243, 0.78);
	padding: 44px;
	border-radius: var(--ba-radius-lg);
}

.ba-reviews__head { margin-bottom: 32px; }
.ba-reviews__sub {
	margin: 8px 0 0;
	font-size: var(--ba-fs-lead-sm);
	color: var(--ba-text-muted);
	max-width: 60ch;
}
.ba-reviews__head-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: var(--ba-fs-small);
	color: var(--ba-text-primary);
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	padding-bottom: 2px;
}
.ba-reviews__head-link:hover { opacity: 0.8; }

/* ---- Row 1: Google summary (left) + featured highlight (right) ---- */
.ba-reviews__top {
	display: grid;
	grid-template-columns: minmax(0, 422fr) minmax(0, 751fr);
	gap: 18px;
	align-items: stretch;
}

/* Left card — Google rating summary */
.ba-reviews__google {
	padding: 28px 30px;
	background: transparent;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.ba-reviews__google-row {
	display: flex;
	align-items: center;
	gap: 16px;
}
.ba-reviews__google-icon {
	width: 68px; height: 68px;
	border-radius: 999px;
	background: rgba(237, 225, 213, 0.82);
	color: var(--ba-text-primary);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}
.ba-reviews__google-icon svg { width: 28px; height: 28px; display: block; }
.ba-reviews__google-meta { display: flex; flex-direction: column; gap: 5px; }
.ba-reviews__google-rating {
	font-family: var(--ba-font-body);
	font-weight: 400;
	font-size: 38px;
	line-height: 1;
	color: var(--ba-text-primary);
	display: inline-flex;
	align-items: center;
	gap: 4px;
}
.ba-reviews__google-star {
	font-size: 30px;
	line-height: 1;
	display: inline-flex;
	align-items: center;
	color: #B49679;
}
.ba-reviews__google-label {
	font-family: var(--ba-font-body);
	font-weight: 500;
	font-size: 13px;
	line-height: 1.4;
	color: var(--ba-text-muted);
}
.ba-reviews__google-text {
	margin: 16px 0 0;
	font-family: var(--ba-font-body);
	font-weight: 400;
	font-size: 16px;
	line-height: 1.55;
	color: var(--ba-text-primary);
}
.ba-reviews__google-cta { margin-top: 16px; }

/* Right card — featured editorial highlight */
.ba-reviews__featured {
	padding: 30px;
	background: rgba(237, 225, 213, 0.46);
	border-radius: var(--ba-radius-card);
}
.ba-reviews__featured-icon {
	width: 42px; height: 42px;
	border-radius: 999px;
	background: rgba(237, 225, 213, 0.72);
	color: #453124;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.ba-reviews__featured-icon svg { width: 20px; height: 20px; display: block; }
.ba-reviews__featured-title {
	margin: 46px 0 0;
	font-family: var(--ba-font-body);
	font-weight: 400;
	font-size: 32px;
	line-height: 1.2;
	color: var(--ba-text-primary);
}
.ba-reviews__featured-body {
	margin: 50px 0 0;
	font-family: var(--ba-font-body);
	font-weight: 400;
	font-size: 24px;
	line-height: 1.3;
	color: var(--ba-text-primary);
}

/* ---- Rows 2-3: 3-col card grid ---- */
.ba-reviews__grid {
	margin-top: 56px;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 56px 18px;
}

.ba-reviews-card {
	padding: 26px;
	border-radius: var(--ba-radius-card);
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.ba-reviews-card--filled { background: rgba(237, 225, 213, 0.46); }
.ba-reviews-card--plain  { background: transparent; }

.ba-reviews-card .ba-tc__stars { margin-bottom: 16px; }

.ba-reviews-card__quote {
	margin: 0;
	font-family: var(--ba-font-body);
	font-weight: 400;
	font-size: 18px;
	line-height: 1.35;
	color: var(--ba-text-primary);
}
.ba-reviews-card__author {
	margin: 30px 0 0;
	font-family: var(--ba-font-body);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	color: var(--ba-text-primary);
}
.ba-reviews-card__date {
	margin-top: 8px;
	display: inline-block;
	background: #EFE6DD;
	border-radius: 999px;
	padding: 8px 12px;
	font-family: var(--ba-font-body);
	font-weight: 500;
	font-size: 11px;
	line-height: 1;
	letter-spacing: 1.32px;
	text-transform: uppercase;
	color: var(--ba-text-primary);
}

/* ---- Tablet ≤1100 ---- */
@media (max-width: 1100px) {
	.ba-reviews { padding: 28px; }
	.ba-reviews__top { grid-template-columns: 1fr; gap: 16px; }
	.ba-reviews__google { padding: 24px; }
	.ba-reviews__featured { padding: 28px; }
	.ba-reviews__featured-title { margin-top: 32px; font-size: 26px; }
	.ba-reviews__featured-body { margin-top: 28px; }
	.ba-reviews__grid {
		margin-top: 32px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 24px 16px;
	}
}

/* ---- Mobile ≤720 ---- */
@media (max-width: 720px) {
	.ba-reviews { padding: 20px; }
	.ba-reviews__google { padding: 18px 4px; }
	.ba-reviews__google-icon { width: 56px; height: 56px; }
	.ba-reviews__google-icon svg { width: 24px; height: 24px; }
	.ba-reviews__google-rating { font-size: 32px; }
	.ba-reviews__featured { padding: 22px; }
	.ba-reviews__featured-title { font-size: 22px; margin-top: 24px; }
	.ba-reviews__featured-body { margin-top: 20px; }
	.ba-reviews__grid {
		grid-template-columns: 1fr;
		gap: 20px;
	}
	.ba-reviews-card { padding: 22px; }
	.ba-reviews-card__quote { font-size: 18px; }
}
