[data-customer-reviews] { padding: 64px 0; background: #f7f9fc; color: var(--text-color, #1e293b); }
[data-customer-reviews][hidden], .customer-reviews-controls[hidden], [data-google-rating-badge][hidden] { display: none !important; }
.customer-reviews-heading, .customer-reviews-summary, .customer-review-author, .customer-review-card .customer-review-attribution, .customer-reviews-controls { display: flex; align-items: center; gap: 16px; }
.customer-reviews-heading { justify-content: space-between; flex-wrap: wrap; margin-bottom: 24px; }
.customer-reviews-heading h2 { margin: 0 0 12px; font-size: clamp(28px, 3vw, 36px); color: var(--primary-color, #1e2080); }
.customer-reviews-heading p, .customer-reviews-note { color: var(--text-secondary, #526176); }
.customer-reviews-link { padding: 14px 20px; border-radius: 8px; background: #1a3c5e; color: #fff !important; font-weight: 600; }
.customer-reviews-summary { flex-wrap: wrap; }
.customer-reviews-summary > a { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; color: inherit; text-decoration: none; }
.customer-reviews-summary strong { font-size: 21px; }
.customer-reviews-checked { font-size: 13px; color: var(--text-secondary, #526176); margin-left: auto; }
.customer-reviews-note { margin: 12px 0 24px; font-size: 14px; }
.customer-reviews-track { display: flex; gap: 20px; overflow-x: auto; scroll-snap-type: x mandatory; padding: 3px 0 14px; align-items: stretch; }
.customer-review-card { box-sizing: border-box; flex: 0 0 calc((100% - 40px) / 3); min-width: 0; scroll-snap-align: start; padding: 24px; border: 1px solid var(--border-color, #e2e8f0); border-radius: 12px; background: var(--card-bg, #fff); box-shadow: 0 2px 8px #00000008; display: flex; flex-direction: column; }
.customer-review-author { align-items: flex-start; gap: 12px; }
.customer-review-author > div { min-width: 0; }
.customer-review-author h3 { font-size: 16px; line-height: 1.4; margin: 0 0 4px; overflow-wrap: anywhere; color: inherit; }
.customer-review-avatar { width: 42px; height: 42px; flex-shrink: 0; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #1769a6; font-size: 14px; font-weight: 700; }
.customer-review-source { margin-left: auto; font-size: 12px; color: var(--text-secondary, #526176); }
.customer-review-card blockquote { margin: 20px 0; font-size: 15px; line-height: 1.7; white-space: pre-line; overflow-wrap: anywhere; }
.customer-review-card .customer-review-attribution { margin-top: auto; padding: 0; background: none; font-size: 12px; flex-wrap: wrap; justify-content: space-between; color: var(--text-secondary, #526176); }
.customer-review-card .customer-review-attribution a { color: var(--primary-color, #123b7a); text-decoration: underline; }
.customer-review-stars { display: inline-block; position: relative; color: #b7c0cb; font-size: 20px; line-height: 1.2; white-space: nowrap; letter-spacing: 0; vertical-align: middle; }
.customer-review-stars > span:last-child { color: #d99500; position: absolute; inset: 0 auto 0 0; overflow: hidden; }
.customer-reviews-controls { justify-content: center; margin-top: 18px; font-size: 13px; }
.customer-reviews-controls button { width: 44px; height: 44px; border-radius: 50%; border: 1px solid var(--border-color, #cbd5e1); background: var(--card-bg, #fff); color: inherit; font-size: 22px; cursor: pointer; }
.customer-reviews-controls button:disabled { opacity: .4; cursor: default; }
.customer-reviews-track:focus-visible, [data-customer-reviews] a:focus-visible, .customer-reviews-controls button:focus-visible { outline: 3px solid #1769e0; outline-offset: 3px; }
[data-theme="dark"] [data-customer-reviews] { background: #111b2b; color: #e2e8f0; --card-bg: #1d293b; --border-color: #3c4c62; --text-secondary: #c0cad8; --primary-color: #9fc9ff; }
@media (max-width: 959px) { .customer-review-card { flex-basis: calc((100% - 20px) / 2); } }
@media (max-width: 639px) { .customer-review-card { flex-basis: 100%; } .customer-reviews-checked { margin-left: 0; } [data-customer-reviews] { padding: 40px 0; } }

.customer-review-avatar { position: relative; overflow: hidden; }
.customer-review-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.customer-review-avatar img[hidden] { display: none; }
