/* Patient reviews listing (loaded only on review templates). Geometry from the live
   site's review template: 1280px container, 282px filters, 2 cards per row. */
.page-template-review .site-main, .tax-plastic-surgery-reviews .site-main { margin-top: -108px; }
@media (min-width: 1100px) { .page-template-review .site-main, .tax-plastic-surgery-reviews .site-main { margin-top: -107px; } }
.page-template-review .page-banner, .tax-plastic-surgery-reviews .page-banner { display: block; min-height: 0; height: 450px; background: none; }
.page-template-review .page-banner__img, .tax-plastic-surgery-reviews .page-banner__img { opacity: 1; }
.page-template-review .page-banner__inner, .tax-plastic-surgery-reviews .page-banner__inner { position: absolute; left: 0; right: 0; top: 50%; width: calc(100% - 30px); max-width: 1280px; margin: 66px auto 0; padding: 0; transform: translateY(-50%); }
.page-banner__inner h1 { margin: 0; padding-bottom: 20px; font-size: 45px; font-weight: 300; line-height: 50px; color: #000; }
@media (min-width: 981px) { .page-banner__inner h1 { font-size: 65px; line-height: 75px; } }

.reviews { width: calc(100% - 30px); max-width: 1280px; margin: 0 auto; padding: 40px 0; }
@media (min-width: 981px) { .reviews { width: calc(100% - 160px); padding: 100px 0; } }
.reviews__wrap { display: block; }
@media (min-width: 981px) { .reviews__wrap { display: flex; } .reviews-sidebar { flex: 0 0 282px; } .reviews__main { flex: 1; min-width: 0; padding-left: 60px; } }
.reviews.is-loading .reviews__list { opacity: .45; pointer-events: none; transition: opacity .2s; }

.reviews__heading { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 30px; }
.reviews__heading h2 { margin: 0; padding: 0; font-size: 35px; font-weight: 300; line-height: 1.2; color: #000; }
@media (min-width: 981px) { .reviews__heading { padding-bottom: 40px; margin-top: -10px; } .reviews__heading h2 { font-size: 45px; line-height: 50px; } }
.reviews__filter-btn {
	display: none; align-items: center; gap: 8px;
	padding: 10px 16px; border: 1px solid #d9d6de; border-radius: 6px;
	background: #fff; color: #000; font: inherit; font-size: 14px; cursor: pointer;
}
.reviews__list { display: grid; gap: 20px; align-items: stretch; }
@media (min-width: 981px) { .reviews__list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px; } }

.review-card { padding: 20px; background: rgba(204, 241, 245, .15); box-shadow: 4px 4px 4px rgba(0, 0, 0, .1); }
@media (min-width: 981px) { .review-card { padding: 30px; } }
.review-card__head { display: flex; align-items: flex-start; margin-bottom: 25px; }
.review-card__platform { flex: 0 0 89px; }
.review-card__platform img { display: block; width: 89px; height: 89px; object-fit: contain; }
.review-card__meta { list-style: none; margin: 0; padding: 2px 0 0 30px; font-size: 14px; line-height: 20px; color: #504b59; }
.review-card__meta li { margin: 0; }
.review-card__meta span { color: inherit; }
.review-card__rating { display: flex; align-items: center; margin-bottom: 10px !important; line-height: 14px; }
.review-card__rating strong { margin: 2px 10px 0 0; font-size: 14px; font-weight: 600; line-height: 14px; color: #000; }
.review-card__body { font-size: 14px; line-height: 20px; color: #504b59; }
.review-card__body p { margin: 0; padding-bottom: 14px; }
.review-card__body p:last-child { padding-bottom: 0; }

.stars { display: inline-flex; gap: 5px; color: var(--wp--preset--color--primary); vertical-align: middle; }
.stars .icon { width: 14px; height: 14px; }
.stars .is-off { color: #c9c5cf; }

.reviews__more { margin-top: 36px; text-align: center; }
.reviews-empty { grid-column: 1 / -1; }

/* Sidebar filters */
.reviews-sidebar__close { display: none; }
.review-filter-box { margin-bottom: 25px; }
.review-filter-box h3 { margin: 0; padding-bottom: 20px; font-size: 25px; font-weight: 300; line-height: 30px; color: #000; }
.review-filter-box ul { list-style: none; margin: 0; padding: 0 0 0 10px; }
.review-filter-box li { margin: 0 0 10px; }
.review-filter-box li + li { margin-top: 0; }
.review-filter {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 0;
	font-size: 14px; line-height: 20px; color: #504b59; text-decoration: none;
}
.review-filter:hover, .review-filter.is-active { color: var(--wp--preset--color--primary); }
.review-filter .count { color: #8b8594; }
.filter-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.selected-filter {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 6px 12px; border-radius: 30px;
	background: var(--wp--preset--color--primary); color: #fff;
	font-size: 12px; text-decoration: none;
}
.selected-filter:hover { background: var(--wp--preset--color--primary-dark); color: #fff; }
.selected-filter .icon { width: 12px; height: 12px; }

@media (max-width: 980px) {
	.reviews__filter-btn { display: inline-flex; }
	.reviews-sidebar {
		position: fixed; inset: 0 auto 0 0; z-index: 1001;
		width: min(340px, 90vw); overflow-y: auto;
		padding: 60px 24px 30px;
		background: #fff; box-shadow: 0 0 30px rgba(0, 0, 0, .25);
		transform: translateX(-105%); transition: transform .3s;
	}
	.reviews.filters-open .reviews-sidebar { transform: none; }
	.reviews-sidebar__close {
		display: grid; place-items: center; position: absolute; top: 10px; right: 10px;
		width: 44px; height: 44px; border: 0; background: none; color: #000; cursor: pointer;
	}
}
.review-card__meta .stars { color: var(--wp--preset--color--primary); }
