/* The company palette stays shared; Google and portal ratings have separate groups. */
.cp-reviews{background:var(--cp-light);border-block:1px solid var(--cp-line);color:var(--cp-ink)}
.cp-reviews [hidden]{display:none!important}
.cp-reviews h2{margin:0 0 30px;font-size:clamp(28px,3vw,38px);letter-spacing:-1.3px}
.cp-reviews-source-group+.cp-reviews-source-group{margin-top:42px;padding-top:32px;border-top:1px solid var(--cp-line)}
.cp-reviews-source-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:20px}
.cp-reviews-source-heading h3{margin:0;font-size:21px;letter-spacing:-.5px}
.cp-reviews-overall{text-align:right}
.cp-reviews .cp-reviews-score{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0}
.cp-reviews-score strong{font-family:Sora,Ubuntu,sans-serif;font-size:28px;font-weight:600;line-height:1.2;letter-spacing:-1px}
.cp-reviews-score>span,.cp-reviews .cp-reviews-count{font-size:12px;color:var(--cp-muted)}
.cp-reviews-score .cp-reviews-score-star{color:#9b6700;font-size:23px}
.cp-reviews .cp-reviews-count{margin:5px 0 0}
.cp-reviews-source-group>.cp-reviews-count{margin:0 0 12px}
.cp-reviews .cp-review-refresh-status{margin:16px 0 0;color:var(--cp-muted);font-size:13px;line-height:1.6}
.cp-review-refresh-status:empty{display:none}
.cp-reviews-filters{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:20px}
.cp-reviews-filters button{min-height:44px;min-width:52px;padding:9px 16px;border:1px solid var(--cp-line);border-radius:24px;background:transparent;color:var(--cp-ink);font:600 13px Sora,Ubuntu,sans-serif;cursor:pointer;transition:background .18s,color .18s,border-color .18s}
.cp-reviews-filters button[aria-pressed=true]{background:var(--cp-blue);border-color:var(--cp-blue);color:#fff}
.cp-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:start}
.cp-reviews-card{display:flex;flex-direction:column;min-width:0;min-height:210px;padding:24px;border:1px solid var(--cp-line);border-radius:12px;background:#fff;box-shadow:0 5px 16px #09234605;transition:transform .25s var(--cp-ease),box-shadow .25s var(--cp-ease)}
.cp-reviews-author{display:flex;align-items:center;gap:12px;min-width:0}
.cp-reviews-author>div{min-width:0}
.cp-reviews-initial{display:grid;place-items:center;flex:0 0 40px;width:40px;height:40px;border-radius:50%;background:var(--cp-light);color:var(--cp-ink);font-family:Sora,Ubuntu,sans-serif;font-size:15px;font-weight:600}
.cp-reviews-author h4{margin:0 0 2px;font-size:13px;line-height:1.5;font-weight:600;letter-spacing:0;color:var(--cp-ink);overflow-wrap:anywhere}
.cp-reviews-author time{display:block;color:var(--cp-muted);font-size:11px}
.cp-reviews-stars{margin:17px 0 13px;color:#9b6700;font-size:18px;line-height:1;letter-spacing:2px}
.cp-reviews-body{flex:1;font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.cp-reviews .cp-reviews-text{margin:0;white-space:pre-line}
.cp-reviews-text--empty{color:var(--cp-muted)}
.cp-reviews-details summary{cursor:pointer;list-style:none;min-height:44px}
.cp-reviews-details summary::-webkit-details-marker{display:none}
.cp-reviews-preview{display:block;white-space:pre-line}
.cp-reviews-expand,.cp-reviews-collapse{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:44px;color:var(--cp-blue);font-size:12px;font-weight:600}
.cp-reviews-collapse{display:none}
.cp-reviews-details[open] .cp-reviews-preview,.cp-reviews-details[open] .cp-reviews-expand{display:none}
.cp-reviews-details[open] .cp-reviews-collapse{display:flex}
.cp-reviews-more-button,.cp-review-compose>summary{display:flex;align-items:center;justify-content:space-between;gap:20px;min-height:46px;padding:12px 20px;border:1px solid var(--cp-line);border-radius:8px;background:#fff;color:var(--cp-blue);font:600 13px Sora,Ubuntu,sans-serif;cursor:pointer}
.cp-reviews-more-button{margin:22px auto 0}
.cp-reviews .cp-reviews-empty{margin:0;padding:22px 0;color:var(--cp-muted);font-size:14px;line-height:1.8}
.cp-review-compose{margin-top:24px}
.cp-review-compose>summary{width:fit-content;list-style:none;border-color:var(--cp-blue)}
.cp-review-compose>summary::-webkit-details-marker{display:none}
.cp-review-compose[open]>summary>span{transform:rotate(45deg)}
.cp-review-form{max-width:760px;margin-top:24px;padding:28px;border:1px solid var(--cp-line);border-radius:12px;background:#fff}
.cp-reviews .cp-review-form-intro{margin:0 0 20px;font-size:17px;font-weight:600}
.cp-review-rating{margin:0 0 22px;padding:0;border:0}
.cp-review-rating legend,.cp-review-form label{font-size:13px;font-weight:600}
.cp-review-rating>div{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.cp-review-rating label{position:relative;cursor:pointer}
.cp-review-rating input{position:absolute;opacity:0;width:1px;height:1px}
.cp-review-rating label>span{display:block;border:1px solid var(--cp-line);border-radius:8px;padding:10px 14px;min-height:44px;font-size:15px}
.cp-review-rating label>span>span:first-child{color:#9b6700}
.cp-review-rating input:checked+span{background:#eff4ff;border-color:var(--cp-blue);box-shadow:inset 0 0 0 1px var(--cp-blue)}
.cp-review-rating input:focus-visible+span{outline:3px solid var(--cp-blue);outline-offset:3px}
.cp-review-form-fields{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.cp-review-form label{display:block;line-height:1.6}
.cp-review-form label>span{font-weight:400}
.cp-review-form input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.cp-review-form textarea{display:block;width:100%;max-width:100%;margin-top:7px;padding:12px;border:1px solid var(--cp-line);border-radius:7px;background:#fff;color:var(--cp-ink);font:400 16px/1.6 Ubuntu,sans-serif;box-sizing:border-box}
.cp-review-form textarea{resize:vertical;min-height:120px}
.cp-review-form .cp-review-consent{display:flex;align-items:flex-start;gap:10px;margin-top:18px;font-size:12px;line-height:1.7}
.cp-review-form .cp-review-consent{min-height:44px;align-items:center;cursor:pointer}
.cp-review-form .cp-review-consent input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;min-height:18px;margin:0;align-self:center;accent-color:var(--cp-blue)}
.cp-review-consent>span{min-width:0}
.cp-reviews .cp-review-form-note{margin:14px 0;font-size:12px;color:var(--cp-muted)}
.cp-review-submit{display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:48px;padding:13px 20px;border:1px solid var(--cp-blue);border-radius:8px;background:var(--cp-blue);color:#fff;font:600 13px Sora,Ubuntu,sans-serif;cursor:pointer}
.cp-review-submit:disabled{opacity:.6;cursor:wait}
.cp-reviews .cp-review-form-status{margin:16px 0 0;font-size:14px;line-height:1.7}
.cp-review-form-status:empty{display:none}
.cp-review-form-status[data-state=success]{color:#10683c}.cp-review-form-status[data-state=error]{color:#a22424}
.cp-reviews-sr-only,.cp-review-trap{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.cp-reviews :is(button,summary,input,textarea):focus-visible{outline:3px solid var(--cp-blue);outline-offset:4px}
@media(hover:hover) and (pointer:fine){.cp-reviews-card:hover{transform:translateY(-2px);box-shadow:0 9px 22px #0923460c}.cp-reviews-filters button:hover:not([aria-pressed=true]),.cp-reviews-more-button:hover{background:#e7efff;border-color:var(--cp-blue)}}
@media(max-width:800px){.cp-reviews-grid{grid-template-columns:1fr;gap:16px}.cp-reviews-card{min-height:0;padding:22px}.cp-reviews-body{font-size:15px}.cp-reviews-source-heading h3{font-size:19px}.cp-review-form-fields{grid-template-columns:1fr}.cp-review-form{padding:20px}.cp-reviews-filters{gap:6px}.cp-reviews-filters button{padding:9px 12px;min-width:44px}}
@media(prefers-reduced-motion:reduce){.cp-reviews-card,.cp-reviews-filters button{transition:none}.cp-reviews-card:hover{transform:none}}
