.zp-review-carousel { width: 100%; padding: 8px 0; margin: -8px 0; overflow: hidden; }
.zp-rc-slider { position: relative; }
.zp-rc-track { display: flex; align-items: flex-start; gap: 31px; scrollbar-width: none; will-change: transform; }
.zp-rc-track::-webkit-scrollbar { display: none; }
.zp-rc-slide { box-sizing: border-box; flex: 0 0 772px; width: 772px; }
.zp-rc-card { box-sizing: border-box; display: flex; gap: 32px; width: 100%; padding: 24px; border: 1px solid rgba(255,255,255,.25); border-radius: 12px; background: #fff; box-shadow: 3px 4px 5px rgba(0,0,0,.12); }
.zp-rc-image { flex: 0 0 262px; height: 262px; overflow: hidden; border-radius: 8px; }
.zp-rc-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.zp-rc-content { display: flex; flex: 1 1 auto; flex-direction: column; justify-content: center; gap: 24px; min-width: 0; color: #0d0e34; }
.zp-rc-rating { display: flex; align-items: center; gap: 12px; font-size: 18px; font-weight: 800; line-height: 1.5; }
.zp-rc-stars { position: relative; flex: 0 0 120px; width: 120px; height: 24px; }
.zp-rc-stars img { display: block; width: 120px; height: 24px; max-width: none; }
.zp-rc-stars-base { filter: grayscale(1); opacity: .24; }
.zp-rc-stars-fill { position: absolute; top: 0; left: 0; display: block; width: calc(var(--zp-rc-rating) * 20%); height: 100%; overflow: hidden; }
.zp-rc-copy { display: flex; flex-direction: column; gap: 24px; }
.zp-rc-review, .zp-rc-name { margin: 0; }
.zp-rc-review { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 8; font-size: 17px; line-height: 1.5; }
.zp-rc-name { font-size: 18px; font-weight: 800; line-height: 1.5; }
.zp-rc-name-mobile { display: none; }
.zp-rc-button { position: absolute; top: 118px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 58px; height: 58px; padding: 0; border: 0; border-radius: 50%; background: #ff7a1a; color: #fff; cursor: pointer; }
.zp-rc-button-icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-miterlimit: 16; stroke-linecap: round; stroke-linejoin: round; transform: rotate(-90deg); }
.zp-rc-button--previous { left: 182px; }
.zp-rc-button--previous .zp-rc-button-icon { transform: rotate(90deg); }
.zp-rc-button--next { right: 182px; }
@media (min-width: 768px) {
	.zp-rc-button--previous { left: calc(50% - 451px); }
	.zp-rc-button--next { right: calc(50% - 451px); }
	.zp-rc-card { background: var(--zp-rc-normal-card-background, #f8f6f2); border-color: transparent; box-shadow: none; }
	.zp-rc-slide.is-active .zp-rc-card { background: var(--zp-rc-active-card-background, #fff); border-color: rgba(255,255,255,.25); box-shadow: 3px 4px 5px rgba(0,0,0,.12); }
}
@media (min-width: 768px) and (max-width: 919px) {
	.zp-rc-slide { flex-basis: calc(100% - 136px) !important; width: calc(100% - 136px) !important; }
	.zp-rc-card { width: 100% !important; }
	.zp-rc-button--previous { left: 8px; }
	.zp-rc-button--next { right: 8px; }
}
@media (max-width: 767px) {
	.zp-review-carousel { padding: 0; margin: 0; }
	.zp-rc-track { gap: 12px; padding: 0 19px 0 16px; }
	.zp-rc-slide { flex-basis: 324px !important; width: 324px !important; max-width: calc(100% - 19px) !important; }
	.zp-rc-card { flex-direction: column; gap: 24px; width: 100% !important; max-width: 100% !important; padding: 12px; border: 0; border-radius: 16px; box-shadow: 0 2px 5px rgba(0,0,0,.12); }
	.zp-rc-image { flex-basis: auto; width: 100%; height: 226px; border-radius: 12px; }
	.zp-rc-content { align-items: center; gap: 16px; text-align: center; }
	.zp-rc-rating { flex-direction: column; gap: 8px; font-size: 14px; font-weight: 700; line-height: 1.03; }
	.zp-rc-copy { gap: 0; width: 100%; }
	.zp-rc-review { -webkit-line-clamp: 8; height: 176px; font-size: 14px; line-height: 1.55; }
	.zp-rc-name { display: none; }
	.zp-rc-name-mobile { display: block; margin: 30px 0 0; color: #0d0e34; font-size: 12px; font-weight: 800; line-height: 1.5; text-align: center; }
	.zp-rc-button { top: 222px; width: 46px; height: 46px; }
	.zp-rc-button-icon { width: 27.847px; height: 27.847px; }
	.zp-rc-stars { flex: 0 0 24px; }
	.zp-rc-button--previous { left: 8px; }
	.zp-rc-button--next { right: 8px; }
}
