.cce-reviews { margin: 40px 0; color: #080808; font-family: 'Open Sans', Arial, sans-serif; }
.cce-reviews__intro { text-align: center; margin-bottom: 24px; }
.cce-reviews .cce-reviews__eyebrow { display: flex; justify-content: center; align-items: center; gap: 18px; margin: 0 0 10px; color: var(--cce-primary-red); font-size: 17px; font-weight: 700; }
.cce-reviews__eyebrow::before, .cce-reviews__eyebrow::after { content: ''; width: 80px; height: 2px; background: var(--cce-primary-red); }
.cce-reviews .cce-reviews__heading { margin: 0 0 20px; color: #080808; font: 700 clamp(28px, 3.5vw, 42px)/1.2 'Open Sans', Arial, sans-serif; }
.cce-reviews__summary { display: inline-flex; justify-content: center; align-items: center; gap: 16px; max-width: 100%; color: #111; font-size: 19px; line-height: 1.5; }
.cce-reviews__summary img { flex-shrink: 0; object-fit: contain; }
.cce-reviews__summary i, .cce-reviews__link i { color: var(--cce-primary-red); }
.cce-reviews__card { padding: 24px 32px; border: 1px solid #dedede; border-radius: 24px; box-shadow: 0 10px 24px rgb(0 0 0 / 9%); background: #fff; }
.cce-reviews__reviewer { display: flex; align-items: center; gap: 20px; margin-bottom: 18px; }
.cce-reviews__avatar { display: flex; align-items: center; justify-content: center; width: 56px; height: 56px; flex: 0 0 56px; border-radius: 50%; background: #faf3f4; color: var(--cce-primary-red); }
.cce-reviews__avatar svg { width: 32px; height: 32px; }
.cce-reviews__identity { min-width: 0; padding-left: 20px; border-left: 1px solid #dedede; }
.cce-reviews .cce-reviews__identity h3 { margin: 0; font: 700 22px/1.3 'Open Sans', Arial, sans-serif; }
.cce-reviews .cce-reviews__identity p { margin: 3px 0 0; color: #626262; font-size: 17px; }
.cce-reviews__stars { margin-left: auto; align-self: flex-start; color: #fbbc04; white-space: nowrap; }
.cce-reviews .cce-reviews__quote { margin: 0; border: 0; padding: 0; text-align: left; font-size: 20px; font-style: italic; line-height: 1.65; overflow-wrap: anywhere; }
.cce-reviews .cce-reviews__quote p { margin: 0; }
.cce-reviews__footer { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 18px; border-top: 1px solid #dedede; padding-top: 16px; margin-top: 24px; }
.cce-reviews__arrows { display: flex; gap: 12px; }
.cce-reviews__arrows button { width: 46px; height: 46px; border: 1px solid #ccc; border-radius: 50%; background: #fff; color: #111; cursor: pointer; }
.cce-reviews__dots { display: flex; }
.cce-reviews__dot { position: relative; width: 28px; height: 28px; padding: 0; border: 0; background: transparent; cursor: pointer; }
.cce-reviews__dot::before { content: ''; position: absolute; inset: 7px; border-radius: 50%; background: #ccc; }
.cce-reviews__dot.active::before { background: var(--cce-primary-red); }
.cce-reviews__link { justify-self: end; color: #111; font-size: 17px; font-weight: 700; }
.cce-reviews__link i { margin-right: 8px; }
.cce-reviews button:hover, .cce-reviews a:hover { color: var(--cce-primary-red); }
.cce-reviews button:focus-visible, .cce-reviews a:focus-visible { outline: 3px solid var(--cce-primary-red); outline-offset: 3px; }
@media (max-width: 767.98px) {
    .cce-reviews__card { padding: 20px 16px; border-radius: 18px; }
    .cce-reviews .cce-reviews__eyebrow { font-size: 13px; gap: 10px; }
    .cce-reviews__eyebrow::before, .cce-reviews__eyebrow::after { width: 28px; }
    .cce-reviews__summary { font-size: 16px; gap: 10px; }
    .cce-reviews__reviewer { gap: 12px; flex-wrap: wrap; }
    .cce-reviews__identity { padding-left: 12px; }
    .cce-reviews .cce-reviews__quote { font-size: 17px; }
    .cce-reviews__footer { grid-template-columns: 1fr auto; }
    .cce-reviews__link { grid-column: 1 / -1; justify-self: center; }
}
