/* ==========================================================================
   Shared: Reviews ("180+ companies ship with us…") — template-parts/sections/reviews.php + review-card.php
   Figma: Home "ServicesSection" 519:32364 / Reviews Tablet 519:50913 / Reviews Mobile 519:50914
   ========================================================================== */
.reviews { position: relative; overflow: hidden; isolation: isolate; background: var(--c-bg-soft); }
.reviews__bg {
	position: absolute; z-index: -1; top: -17px; left: calc(50% + 22px);
	width: max(1676px, 116.4%); height: 745px; transform: translateX(-50%);
	pointer-events: none;
}
.reviews__bg img { width: 100%; height: 100%; object-fit: cover; opacity: .45; }
.reviews__bg::after {
	content: ""; position: absolute; inset: 0;
	background: linear-gradient(180deg, #f0f9fb 25.833%, rgba(240, 249, 251, 0) 58.83%);
}
.reviews__inner { display: flex; flex-direction: column; gap: 48px; }

.reviews__head { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.reviews__heading { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.reviews__title { line-height: 48px; }
.reviews__rating { display: flex; flex-direction: column; align-items: flex-end; gap: 7px; flex: none; }
.reviews__score { display: flex; align-items: center; gap: 8px; font-weight: 500; font-size: 14px; line-height: 20px; color: var(--c-blue); white-space: nowrap; }
.reviews__stars { display: flex; gap: 5.75px; color: var(--c-orange); }
.reviews__stars .tk-icon { width: 15.8px; height: 15.8px; }
.reviews__stars .tk-icon.is-empty { color: var(--c-blue-10); }
.reviews__count { font-weight: 400; font-size: 14px; line-height: 20px; color: var(--c-blue); white-space: nowrap; }

/* Cards */
.reviews__grid { display: flex; gap: 24px; align-items: stretch; }
.reviews__grid > .review-card { flex: 1 1 0; min-width: 0; }
/* white "ticket" joints between neighbouring cards (desktop) */
.reviews__grid > .review-card:not(:last-child)::after {
	content: ""; position: absolute; z-index: 1; right: -24.5px; top: 35%;
	width: 25px; height: 43px;
	background: url(../../img/shared/testimonial-notch.svg) center / 100% 100% no-repeat;
}
.reviews__grid > .review-card:nth-child(2)::after { top: 42.9%; }

.review-card {
	position: relative;
	display: flex; flex-direction: column;
	margin: 0; padding: 32px;
	background: #fff;
	transition: transform .35s var(--ease-out), box-shadow .35s var(--ease-out);
}
.review-card:hover { transform: translateY(-3px); box-shadow: 0 18px 40px -24px rgba(49, 43, 182, .35); }
.review-card__top { display: flex; flex-direction: column; gap: 13px; }
.review-card__meta { display: flex; align-items: center; gap: 8px; }
.review-card__rating {
	display: inline-flex; align-items: center; gap: 4px;
	height: 19px; padding: 0 8px 0 6px; border-radius: 64px;
	background: #fff; border: .3px solid #ecf4f6;
	box-shadow: 0 1.47px 3.83px -1.71px rgba(0, 0, 0, .1), 0 6.43px 16.71px -2.57px rgba(0, 0, 0, .03);
	font-weight: 500; font-size: 10px; line-height: 16px; letter-spacing: -.11px; color: var(--c-blue);
}
.review-card__rating .tk-icon { width: 11px; height: 11px; color: var(--c-orange); }
.review-card__category {
	font-family: var(--ff-mono); font-size: 11px; line-height: 16px; letter-spacing: 1.1px; text-transform: uppercase; color: var(--c-blue-60);
}
.review-card__quote { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.review-card__highlight { font-weight: 300; font-size: 14px; line-height: 19.25px; letter-spacing: -.35px; color: var(--c-blue); }
.review-card__text, .review-card__text p { font-weight: 300; font-size: 14px; line-height: 20px; letter-spacing: -.3px; color: var(--c-blue-60); }
.review-card__text p + p { margin-top: 8px; }

.review-card__author {
	display: flex; align-items: center; gap: 8px;
	margin-top: auto; padding-top: 42px; /* 24px gap + 1px rule + 17px */
	background: linear-gradient(rgba(49, 43, 182, .08), rgba(49, 43, 182, .08)) left 24px / 100% 1px no-repeat;
}
.review-card__avatar { width: 40px; height: 40px; flex: none; border-radius: 50%; object-fit: cover; background: var(--c-blue-10); }
.review-card__avatar--initials {
	display: inline-flex; align-items: center; justify-content: center;
	font-weight: 500; font-size: 14px; color: var(--c-blue);
}
.review-card__who { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.review-card__name { font-weight: 400; font-size: 14px; line-height: 16px; letter-spacing: -.4px; color: var(--c-blue); }
.review-card__role { font-weight: 400; font-size: 12px; line-height: 15px; letter-spacing: -.25px; color: rgba(3, 35, 49, .5); }

/* Trust chips */
.reviews__chips {
	display: flex; flex-wrap: wrap; justify-content: space-between; gap: 10px 8px;
	margin: 0; padding: 9px 0 0; list-style: none;
}
.reviews__chip {
	display: inline-flex; align-items: center; gap: 9px; flex: none;
	padding: 10px 12px 10px 11px;
	background: #fff; border: .7px solid var(--c-bg-soft); border-radius: 1000px;
	font-weight: 400; font-size: 12px; line-height: 17.3px; color: var(--c-blue); white-space: nowrap;
}
.reviews__chip .tk-icon { width: 9px; height: 7px; flex: none; color: var(--c-orange); }
.reviews__inner > .reviews__grid + .reviews__chips { margin-top: -28px; } /* 20px between cards and chips */

/* ---------- Tablet: stacked cards ---------- */
@media (max-width: 1199px) {
	.reviews__inner { gap: 32px; }
	.reviews__head { flex-direction: column; align-items: flex-start; gap: 20px; }
	.reviews__title { font-size: 38px; line-height: 40px; }
	.reviews__title br { display: none; }
	.reviews__bg { height: max(745px, 100%); }
	.reviews__rating { flex-direction: row; align-items: center; gap: 12px; }
	.reviews__grid { flex-direction: column; }
	.reviews__grid > .review-card { flex: none; }
	.reviews__grid > .review-card::after { display: none; }
	.reviews__chips { flex-wrap: wrap; justify-content: flex-start; }
	.reviews__inner > .reviews__grid + .reviews__chips { margin-top: -12px; }
}

/* ---------- Mobile: chips scroll horizontally ---------- */
@media (max-width: 767px) {
	.reviews__inner { gap: 26px; }
	.reviews__title { font-size: 30px; line-height: 30px; letter-spacing: -1.2px; }
	.reviews__title br { display: revert; }
	.review-card { padding: 24px 22px; }
	.reviews__chips {
		flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none;
		margin-inline: calc(var(--gutter) * -1); padding-inline: var(--gutter);
		scroll-snap-type: x proximity; scroll-padding-inline: var(--gutter);
	}
	.reviews__chips::-webkit-scrollbar { display: none; }
	.reviews__chip { scroll-snap-align: start; }
	.reviews__inner > .reviews__grid + .reviews__chips { margin-top: -6px; }
}
