:root{--vsr-accent:#135e96;--vsr-star:#d99a00;--vsr-text:inherit;--vsr-muted:#646970;--vsr-border:#dcdcde;--vsr-card-bg:#fff;--vsr-space:1rem;--vsr-radius:.5rem}
.vsr-service-reviews,.vsr-form-wrap,.vsr-summary,.vsr-review-list,.vsr-cta,.vsr-dialog{color:var(--vsr-text)}
.vsr-service-reviews{display:block;width:100%}
.vsr-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Stars */
.vsr-stars{color:var(--vsr-star);letter-spacing:.06em;white-space:nowrap}
.vsr-meter{position:relative;display:inline-block;line-height:1;font-size:1.05em;letter-spacing:.06em;white-space:nowrap;vertical-align:middle;direction:ltr}
.vsr-meter__bg{color:#c3c4c7}
.vsr-meter__fg{position:absolute;inset-block-start:0;left:0;overflow:hidden;color:var(--vsr-star)}
[dir=rtl] .vsr-meter{transform:scaleX(-1)}

/* Button + rating under it */
.vsr-cta{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem;margin-block:1.25rem}
.vsr-cta{position:relative;z-index:2}
.vsr-cta .vsr-review-cta{opacity:1!important;visibility:visible!important;pointer-events:auto!important;cursor:pointer!important;font:inherit;font-weight:700!important;width:auto;height:auto;min-height:0;margin:0;box-shadow:none;text-transform:none;letter-spacing:normal}
.vsr-cta .vsr-review-cta--primary,.vsr-cta .vsr-review-cta--primary:hover,.vsr-cta .vsr-review-cta--primary:focus{background:var(--vsr-accent)!important;color:#fff!important;border-color:var(--vsr-accent)!important}
.vsr-cta .vsr-review-cta--outline,.vsr-cta .vsr-review-cta--outline:hover,.vsr-cta .vsr-review-cta--outline:focus{background:transparent!important;color:var(--vsr-accent)!important;border-color:var(--vsr-accent)!important}
.vsr-review-cta{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;padding:.75rem 1.4rem;border:2px solid var(--vsr-accent);border-radius:var(--vsr-radius);font-weight:700;line-height:1.2;text-decoration:none!important;cursor:pointer;transition:filter .15s,background-color .15s,color .15s}
.vsr-review-cta--primary{background:var(--vsr-accent);color:#fff!important}
.vsr-review-cta--outline{background:transparent;color:var(--vsr-accent)!important}
.vsr-review-cta:hover{filter:brightness(.92)}
.vsr-review-cta:focus-visible{outline:3px solid color-mix(in srgb,var(--vsr-accent) 45%,transparent);outline-offset:3px}
.vsr-cta__summary{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;font-size:.95em;color:var(--vsr-muted)}
.vsr-cta__reviews{display:grid;gap:.75rem;width:100%;margin-top:.25rem}

/* Summary / histogram */
.vsr-summary,.vsr-review,.vsr-form-wrap--inline{border:1px solid var(--vsr-border);border-radius:var(--vsr-radius);padding:var(--vsr-space);margin:var(--vsr-space) 0;background:var(--vsr-card-bg)}
.vsr-summary__score{font-size:1.4em;margin:0;display:flex;align-items:center;gap:.5rem}
.vsr-histogram__row{display:grid;grid-template-columns:5rem 1fr 3rem;gap:.5rem;align-items:center}
.vsr-histogram progress{width:100%;accent-color:var(--vsr-accent)}

/* Review cards */
.vsr-review{box-sizing:border-box}
.vsr-review__head{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}
.vsr-review__who{display:flex;flex-direction:column;gap:.2rem;min-width:0}
.vsr-review__name-row{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .6rem}
.vsr-review__name{font-weight:700}
.vsr-review__meta{display:flex;align-items:center;flex-wrap:wrap;gap:.6rem;font-size:.9em;color:var(--vsr-muted)}
.vsr-review__title{margin:.4rem 0 .2rem;font-size:1.05em}
.vsr-review__body p{margin:.3rem 0}
.vsr-review__service{margin:.2rem 0;font-size:.92em}
.vsr-review--compact{margin:0;padding:.75rem}
.vsr-avatar{position:relative;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;overflow:hidden;background:hsl(var(--vsr-avatar-hue,210) 45% 88%);color:hsl(var(--vsr-avatar-hue,210) 45% 30%);font-weight:700;font-size:1.1rem}
.vsr-avatar__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:50%;margin:0!important}
.vsr-badge{display:inline-flex;align-items:center;gap:.3rem;font-size:.78em;line-height:1.4;color:var(--vsr-accent);border:1px solid color-mix(in srgb,var(--vsr-accent) 55%,transparent);border-radius:999px;padding:.1rem .55rem;white-space:nowrap}
.vsr-badge svg{flex:0 0 auto}
.vsr-response{border-inline-start:3px solid var(--vsr-accent);padding-inline-start:var(--vsr-space);margin-top:.6rem}
.vsr-disclosure{padding:.5rem .6rem;background:#fff8df;font-size:.9em;border-radius:4px}

/* Form */
.vsr-form-title{margin:0 0 .35rem;font-size:1.35em;line-height:1.3}
.vsr-form-intro{margin:0 0 .75rem;color:var(--vsr-muted)}
.vsr-form[hidden],.vsr-form-status[hidden]{display:none!important}
.vsr-form{display:flex;flex-direction:column;gap:.8rem;margin:0}
.vsr-form p{margin:0}
.vsr-field{display:flex;flex-direction:column;gap:.3rem}
.vsr-form label,.vsr-form legend{font-weight:600}
.vsr-field small{color:var(--vsr-muted);font-size:.85em}
.vsr-form input[type=text],.vsr-form input[type=email],.vsr-form textarea{box-sizing:border-box;width:100%;padding:.6rem .7rem;border:1px solid var(--vsr-border);border-radius:var(--vsr-radius);font:inherit;background:#fff;color:#1d2327}
.vsr-form input[type=email]{text-align:start}
[dir=rtl] .vsr-form input[type=email]{text-align:right}
.vsr-form input:focus,.vsr-form textarea:focus{outline:3px solid color-mix(in srgb,var(--vsr-accent) 35%,transparent);outline-offset:1px;border-color:var(--vsr-accent)}
.vsr-check label{display:flex;align-items:flex-start;gap:.5rem;font-weight:400;font-size:.92em}
.vsr-check input{margin-top:.2em;flex:0 0 auto}
.vsr-rating{border:0;padding:0;margin:0}
.vsr-rating legend{padding:0;margin-bottom:.2rem}
.vsr-rating__stars{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end}
.vsr-rating input{position:absolute;opacity:0;width:1px;height:1px}
.vsr-rating label{font-size:2rem;line-height:1;color:#c3c4c7;cursor:pointer;padding:0 .08em;font-weight:400}
.vsr-rating input:checked~label,.vsr-rating label:hover,.vsr-rating label:hover~label{color:var(--vsr-star)}
.vsr-rating input:focus-visible+label{outline:2px solid var(--vsr-accent);border-radius:4px}
.vsr-submit,.vsr-filters button,.vsr-resend button{background:var(--vsr-accent);color:#fff;border:0;border-radius:var(--vsr-radius);padding:.75rem 1.4rem;font:inherit;font-weight:700;cursor:pointer}
.vsr-form .vsr-submit,.vsr-filters .vsr-filter--actions button,.vsr-resend button{opacity:1!important;visibility:visible!important;pointer-events:auto!important;background:var(--vsr-accent)!important;color:#fff!important;border:0!important;text-transform:none;letter-spacing:normal;box-shadow:none;width:auto;min-height:0}
.vsr-form .vsr-submit:hover,.vsr-filters .vsr-filter--actions button:hover{filter:brightness(.92)}
.vsr-form .vsr-submit[disabled]{opacity:.7!important;cursor:progress!important}
.vsr-dialog .vsr-form input[type=text],.vsr-dialog .vsr-form input[type=email],.vsr-dialog .vsr-form textarea{opacity:1!important}
.vsr-hp{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap;opacity:0;pointer-events:none}
.vsr-form-status{padding:.75rem .9rem;border-radius:var(--vsr-radius);margin:.25rem 0 .75rem;border-inline-start:4px solid #008a20;background:#edfaef}
.vsr-form-status.is-error{border-color:#d63638;background:#fcf0f1}
.vsr-form-status.is-success{font-size:1.05em}

/* Pop-up */
.vsr-dialog{border:0;padding:0;margin:auto;width:min(560px,calc(100vw - 24px));max-height:calc(100dvh - 24px);border-radius:14px;background:var(--vsr-card-bg);box-shadow:0 24px 64px rgba(0,0,0,.28);overflow:hidden}
.vsr-dialog::backdrop{background:rgba(15,23,42,.55)}
.vsr-dialog:not([open]):target{display:block;position:fixed;inset:0;z-index:99999}
.vsr-dialog__panel{position:relative;padding:1.5rem 1.4rem 1.4rem;max-height:calc(100dvh - 24px);overflow-x:hidden;overflow-y:auto;box-sizing:border-box}
.vsr-dialog__close{border:0!important;padding:0!important;cursor:pointer;box-shadow:none!important;min-height:0!important;position:absolute;inset-block-start:.55rem;inset-inline-end:.6rem;width:2.25rem;height:2.25rem;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:1.6rem;line-height:1;color:var(--vsr-muted)!important;text-decoration:none!important;background:transparent}
.vsr-dialog__close:hover,.vsr-dialog__close:focus{background:#f0f0f1!important;color:#1d2327!important}
.vsr-form-wrap--dialog .vsr-form-title{padding-inline-end:2.5rem}
html.vsr-lock,html.vsr-lock body{overflow:hidden}
@media(max-width:600px){.vsr-dialog{width:100vw;max-width:100vw;max-height:100dvh;height:100dvh;border-radius:0;margin:0}.vsr-dialog__panel{max-height:100dvh;padding:1.25rem 1rem 1.5rem}}

/* Toast (confirmation messages) */
.vsr-toast{position:fixed;inset-inline:16px;bottom:16px;z-index:100000;max-width:520px;margin-inline:auto;display:flex;gap:.75rem;align-items:flex-start;padding:.9rem 1rem;border-radius:10px;background:#1d2327;color:#fff;box-shadow:0 10px 30px rgba(0,0,0,.25);font-size:.98em;line-height:1.5}
.vsr-toast button{margin-inline-start:auto;background:transparent;border:0;color:#fff;font-size:1.3rem;line-height:1;cursor:pointer;padding:0 .2rem}

/* Archive + filter */
.vsr-filters{display:flex;flex-wrap:wrap;gap:.75rem;align-items:flex-end;margin-block:var(--vsr-space)}
.vsr-filter{display:flex;flex-direction:column;gap:.3rem;flex:1 1 11rem;min-width:0}
.vsr-filter label{font-weight:600;font-size:.92em}
.vsr-filter select,.vsr-filter input{box-sizing:border-box;width:100%;height:2.75rem;padding:0 .7rem;border:1px solid var(--vsr-border);border-radius:var(--vsr-radius);font:inherit;background:#fff}
.vsr-filter--search{flex-basis:14rem}
.vsr-filter--actions{flex:0 0 auto;flex-direction:row;align-items:center;gap:.75rem}
.vsr-filter--actions button{height:2.75rem;padding:0 1.6rem}
.vsr-filter-reset{font-size:.92em}
.vsr-archive{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:var(--vsr-space);margin-block:var(--vsr-space)}
.vsr-archive .vsr-review{height:100%;margin:0}
.vsr-pagination .page-numbers{display:inline-block;padding:.35rem .6rem;border-radius:4px}
.vsr-pagination .current{font-weight:700;background:var(--vsr-accent);color:#fff}

/* Highlights */
.vsr-review-highlights{margin-block:var(--vsr-space)}
.vsr-review-highlights__summary{display:flex;align-items:center;gap:.65rem;flex-wrap:wrap;margin-bottom:var(--vsr-space)}
.vsr-review-highlights__average{font-size:2rem;font-weight:700;line-height:1}
.vsr-review-highlights__cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,18rem),1fr));gap:var(--vsr-space);margin-block:var(--vsr-space)}
.vsr-highlight-card{margin:0}

.vsr-editor-hint{margin-block:1rem;padding:.75rem 1rem;border:2px dashed #d63638;border-radius:6px;background:#fcf0f1;color:#1d2327;font-size:14px;line-height:1.5}
@media(max-width:600px){.vsr-histogram__row{grid-template-columns:4.5rem 1fr 2rem}.vsr-filter--actions{flex-basis:100%}.vsr-filter--actions button{flex:1}}
.vsr-editor-hint--info{border-color:#dba617;background:#fcf9e8}
