.itp-reviews {
	box-sizing: border-box;
	width: 100%;
	color: var(--itp-text);
	font-size: var(--itp-base-size);
	font-family: inherit;
	line-height: 1.55;
}
.itp-reviews *, .itp-reviews *::before, .itp-reviews *::after { box-sizing: border-box; }
.itp-reviews .itp-shell {
	background: var(--itp-bg);
	padding: var(--itp-padding);
	border: var(--itp-border-w) solid var(--itp-border);
	border-radius: var(--itp-radius);
}
.itp-reviews.itp-has-shadow .itp-shell { box-shadow: 0 12px 36px rgba(17, 24, 39, .08); }
.itp-summary { margin-bottom: var(--itp-gap); }
.itp-company-line { display: flex; align-items: center; gap: 12px; }
.itp-company-logo { width: 48px; height: 48px; object-fit: contain; border-radius: 8px; }
.itp-company-name { font-weight: 700; font-size: 1.18em; color: var(--itp-text); }
.itp-rating-line { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
.itp-rating-number { font-size: var(--itp-rating-size); line-height: 1; letter-spacing: -.03em; }
.itp-stars { display: inline-flex; gap: 2px; color: var(--itp-stars); letter-spacing: .02em; white-space: nowrap; }
.itp-rating-line .itp-stars { font-size: 1.25em; }
.itp-review-count { color: var(--itp-muted); margin-top: 6px; }
.itp-branding { display: inline-flex; margin-top: 12px; text-decoration: none; }
.itp-branding img { width: auto; height: 26px; max-width: 150px; }
.itp-reviews-area { position: relative; }
.itp-reviews-list {
	display: grid;
	grid-template-columns: repeat(var(--itp-cols-d), minmax(0, 1fr));
	gap: var(--itp-gap);
}
.itp-review-card {
	margin: 0;
	min-width: 0;
	background: var(--itp-card-bg);
	color: var(--itp-text);
	border: var(--itp-border-w) solid var(--itp-border);
	border-radius: var(--itp-radius);
	padding: calc(var(--itp-padding) * .8);
}
.itp-review-card .itp-stars { margin-bottom: 10px; }
.itp-review-text {
	color: var(--itp-text);
	white-space: pre-line;
}
.itp-review-text[style*="--itp-lines"] {
	display: -webkit-box;
	-webkit-line-clamp: var(--itp-lines);
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.itp-review-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	margin-top: 16px;
	font-size: .88em;
	color: var(--itp-muted);
}
.itp-review-meta strong { color: var(--itp-text); }
.itp-review-meta span + span::before { content: "•"; margin-right: 12px; opacity: .55; }
.itp-footer { margin-top: var(--itp-gap); }
.itp-profile-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: .72em 1.15em;
	background: var(--itp-button-bg);
	color: var(--itp-button-text) !important;
	border-radius: max(6px, calc(var(--itp-radius) * .65));
	text-decoration: none !important;
	font-weight: 650;
	line-height: 1.2;
}
.itp-profile-link:hover { opacity: .9; }
.itp-no-matching-reviews { color: var(--itp-muted); padding: 10px 0; }

/* Templates */
.itp-template-minimal_rating .itp-shell { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.itp-template-minimal_rating .itp-summary { margin: 0; }
.itp-template-minimal_rating .itp-footer { margin: 0; }

.itp-template-cards_soft .itp-review-card { box-shadow: 0 8px 24px rgba(17,24,39,.06); }
.itp-template-bordered .itp-review-card { box-shadow: none; }
.itp-template-dark .itp-shell { box-shadow: 0 18px 46px rgba(0,0,0,.22); }

.itp-template-slider .itp-reviews-list {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	padding-bottom: 6px;
}
.itp-template-slider .itp-review-card {
	flex: 0 0 calc((100% - (var(--itp-gap) * (var(--itp-cols-d) - 1))) / var(--itp-cols-d));
	scroll-snap-align: start;
}
.itp-slider-controls { display: flex; justify-content: flex-end; gap: 8px; margin: -6px 0 10px; }
.itp-slider-controls button {
	width: 38px; height: 38px; border-radius: 999px;
	border: 1px solid var(--itp-border); background: var(--itp-card-bg); color: var(--itp-text);
	font-size: 24px; line-height: 1; cursor: pointer;
}

.itp-template-spotlight .itp-summary { text-align: center; }
.itp-template-spotlight .itp-rating-line { justify-content: center; }
.itp-template-spotlight .itp-review-card { text-align: center; font-size: 1.12em; }
.itp-template-spotlight .itp-review-meta { justify-content: center; }

.itp-template-compact_sidebar .itp-review-card { padding: 14px; }
.itp-template-compact_sidebar .itp-rating-number { font-size: 30px; }

.itp-template-centered .itp-summary,
.itp-template-centered .itp-review-card,
.itp-template-centered .itp-footer { text-align: center; }
.itp-template-centered .itp-rating-line,
.itp-template-centered .itp-review-meta { justify-content: center; }

.itp-template-split .itp-shell {
	display: grid;
	grid-template-columns: minmax(180px, .7fr) minmax(0, 2fr);
	gap: calc(var(--itp-gap) * 1.5);
	align-items: start;
}
.itp-template-split .itp-summary { margin: 0; position: sticky; top: 20px; }
.itp-template-split .itp-footer { grid-column: 2; margin-top: 0; }

.itp-template-editorial .itp-shell { border-left: 3px solid var(--itp-stars); }
.itp-template-editorial .itp-review-card { border-top: 1px solid var(--itp-border); }

@media (max-width: 900px) {
	.itp-reviews-list { grid-template-columns: repeat(var(--itp-cols-t), minmax(0, 1fr)); }
	.itp-template-slider .itp-review-card {
		flex-basis: calc((100% - (var(--itp-gap) * (var(--itp-cols-t) - 1))) / var(--itp-cols-t));
	}
	.itp-template-split .itp-shell { grid-template-columns: 1fr; }
	.itp-template-split .itp-summary { position: static; }
	.itp-template-split .itp-footer { grid-column: 1; }
}

@media (max-width: 600px) {
	.itp-reviews-list { grid-template-columns: repeat(var(--itp-cols-m), minmax(0, 1fr)); }
	.itp-template-slider .itp-review-card {
		flex-basis: calc((100% - (var(--itp-gap) * (var(--itp-cols-m) - 1))) / var(--itp-cols-m));
	}
	.itp-template-minimal_rating .itp-shell { align-items: flex-start; flex-direction: column; }
}
