/* Public styles are scoped to the component; a theme may override only its variables. */
.review-stars input:focus-visible+label{outline:3px solid var(--managed-testimonials-accent);outline-offset:3px}
.review-actions{gap:10px}.review-cta{gap:0}.review-actions-separator{margin-top:14px;color:rgba(21,93,58,.42)}
.review-form{border:1px solid rgba(11,61,38,.08);border-radius:24px!important;background:#fffdf8!important;box-shadow:0 24px 70px rgba(6,32,19,.24)}.review-form h2{margin:0 48px 8px 0;color:var(--managed-testimonials-ink);font-size:clamp(25px,3vw,31px)}.review-form .form-intro{margin:0 42px 18px 0;color:#526057;font-size:14px;line-height:1.55}.review-form>.tcl-close{display:grid;top:16px;right:16px;width:34px;height:34px;place-items:center;padding:0;border:1px solid rgba(11,61,38,.14);border-radius:50%;background:rgba(240,234,217,.72);color:var(--managed-testimonials-accent);cursor:pointer}.review-form>.tcl-close svg{display:block;width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.7}.review-form>.tcl-close:hover{background:#ece4cf}.review-form>.tcl-close:focus-visible{outline:2px solid var(--managed-testimonials-accent);outline-offset:3px}.review-form .review-field{margin-top:16px}.review-form .review-field input,.review-form .review-field textarea{border-color:rgba(11,61,38,.2);background:#fffefa;box-shadow:inset 0 1px 0 rgba(11,61,38,.02);transition:border-color .18s,box-shadow .18s}.review-form .review-field input:focus,.review-form .review-field textarea:focus{border-color:var(--managed-testimonials-accent);box-shadow:0 0 0 3px rgba(21,93,58,.1);outline:0}.review-form .review-stars{gap:8px}.review-form .review-stars label{width:38px;height:38px;border-color:rgba(169,111,27,.18);border-radius:50%;background:#fbf6e9;font-size:20px}.review-form .review-stars input:checked+label,.review-form .review-stars label:hover{border-color:rgba(169,111,27,.5);background:#f4ead0}.review-form .review-consent{line-height:1.5}.review-form .review-submit{box-shadow:0 7px 18px rgba(21,93,58,.16);cursor:pointer}.review-form .review-submit:hover{background:#0f4f30}.review-form .review-submit:focus-visible{outline:2px solid var(--managed-testimonials-accent);outline-offset:3px}@media(max-width:640px){.review-form{padding:30px 26px 28px}.review-form .form-intro{margin-right:28px}.review-form>.tcl-close{top:12px;right:12px}}
.review-form [data-review-field]{position:relative}.review-error{display:block;min-height:16px;margin-top:5px;color:#a13e2d;font:600 12px/1.3 var(--managed-testimonials-heading-font);opacity:0;transition:opacity .16s}.review-error:not(:empty){opacity:1}.review-form .has-error input:not([type=radio]):not([type=checkbox]),.review-form .has-error textarea{border-color:#b44b38;box-shadow:0 0 0 3px rgba(180,75,56,.1)}.review-form .has-error .review-stars label{border-color:rgba(180,75,56,.42)}.review-consent.has-error>span:not(.review-error){color:#71382e}.review-consent .review-error{position:absolute;right:0;bottom:-18px;left:25px}.review-submit[aria-disabled=true]{cursor:wait;opacity:.72}
.testimonial-band .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.testimonial-google-label{display:grid;width:17px;height:17px;place-items:center;border:1px solid currentColor;border-radius:50%;color:#69746d}.testimonial-google-label svg{display:block;width:11px;height:11px;fill:currentColor}
.testimonial-rating{align-items:center!important}.testimonial-date,.testimonial-source{align-self:center}.testimonial-source{padding:0 2px}
.testimonial-source::after{position:absolute;content:"";inset:-9px}
.testimonial-date{margin-left:auto;color:#69746d;font:600 12px/1 var(--managed-testimonials-heading-font);letter-spacing:.06em;white-space:nowrap}
:root{--managed-testimonials-surface:#f0ead9;--managed-testimonials-surface-soft:#e8f0ea;--managed-testimonials-accent:#155d3a;--managed-testimonials-ink:#0b3d26;--managed-testimonials-text:#17211b;--managed-testimonials-highlight:#c98a2c;--managed-testimonials-radius:18px;--managed-testimonials-shadow:0 20px 60px rgba(10,46,28,.22);--managed-testimonials-ease:cubic-bezier(.2,.85,.25,1.08);--managed-testimonials-body-font:system-ui,sans-serif;--managed-testimonials-heading-font:system-ui,sans-serif;--managed-testimonials-serif-font:Georgia,serif;--tc-h:310px;--tc-gutter:26px}
.testimonial-band{background:var(--managed-testimonials-surface);padding:72px 0 48px}.testimonial-band .sec-head{margin-bottom:32px}.testimonial-carousel{position:relative;max-width:1180px;margin:0 auto}.tc-viewport{display:block;overflow:hidden;padding:var(--tc-gutter) 20px;margin:calc(-1 * var(--tc-gutter)) -20px;touch-action:pan-y;user-select:none}.tc-track{display:flex;gap:28px;transition:transform .55s var(--managed-testimonials-ease);will-change:transform}.tc-page{display:flex;flex:0 0 100%;align-items:flex-start;gap:28px;height:var(--tc-h);min-width:0}.tc-page.is-partial{justify-content:center}
.tc-card{position:relative;display:flex;flex:0 0 calc((100% - 56px)/3);flex-direction:column;gap:14px;min-width:0;max-height:var(--tc-h);overflow:hidden;padding:28px 30px;border:1px solid rgba(11,61,38,.04);border-radius:var(--managed-testimonials-radius);background:#fff;box-shadow:0 10px 24px rgba(23,33,27,.1)}.tc-top{position:relative;z-index:2;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 12px;pointer-events:none}.tc-top .stars{pointer-events:none}.tc-src{pointer-events:auto}.tc-body{display:flex;flex:1;flex-direction:column;min-height:0}.tc-quote-clip{flex:0 0 auto;min-height:0;overflow:hidden}.tc-card blockquote{display:block;margin:0;overflow:visible;color:var(--managed-testimonials-ink);font-family:var(--managed-testimonials-serif-font);font-size:clamp(18px,2vw,21px);font-style:italic;line-height:1.56}.tc-card blockquote p{margin:0}.tc-card blockquote p+p{margin-top:.85em}.tc-more{margin:0 0 0 auto;color:var(--managed-testimonials-accent);font:700 12px/1.4 var(--managed-testimonials-heading-font);letter-spacing:.14em;pointer-events:none;text-transform:uppercase;white-space:nowrap}.tc-more[hidden],.tc-arrow[hidden],.tc-meta[hidden]{display:none}.tc-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:9px;margin-top:14px}.tc-response-preview{display:flex;align-items:center;gap:7px;min-width:0;margin:10px 0 0;color:#526057;font-size:12.5px;line-height:1.4}.tc-response-preview::before{color:var(--managed-testimonials-highlight);content:"↳";font-size:16px}.tc-response-preview strong{flex:none;color:var(--managed-testimonials-accent)}.tc-response-preview span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tc-open{position:absolute;z-index:1;inset:0;margin:0;padding:0;border:0;border-radius:var(--managed-testimonials-radius);background:none;cursor:pointer}.tc-open:focus-visible,.testimonial-source:focus-visible{outline:2px solid var(--managed-testimonials-accent);outline-offset:3px}.testimonial-rating{position:relative;z-index:2;pointer-events:none}.testimonial-source{position:relative;z-index:2;display:inline-flex;align-items:center;padding:0 2px;color:#46534b;pointer-events:auto;text-decoration:none}.testimonial-google-g{display:grid;width:26px;height:26px;place-items:center;border:1px solid rgba(66,133,244,.45);border-radius:50%;color:#4285f4;font:700 15px/1 Arial,sans-serif}.testimonial-card .stars{margin:0;color:#a96f1b;font-size:17px;letter-spacing:2px;line-height:1}
.tc-card{box-shadow:0 8px 16px rgba(23,33,27,.1);transition:transform .25s ease,box-shadow .25s ease}.tc-card:focus-within{transform:translateY(-4px);box-shadow:0 10px 18px rgba(23,33,27,.13)}@media (hover:hover){.tc-card:hover{transform:translateY(-4px);box-shadow:0 10px 18px rgba(23,33,27,.13)}}.tc-meta{align-items:start}.tc-card .who{display:flex;align-items:center;gap:12px;min-width:0;color:var(--managed-testimonials-accent);font:700 13px/1.3 var(--managed-testimonials-heading-font);letter-spacing:.03em;text-transform:uppercase}.tc-card .who::before{display:inline-block;flex:none;width:28px;height:2px;background:var(--managed-testimonials-highlight);content:""}.tc-card.is-truncated .tc-body{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:12px}.tc-card.is-truncated .tc-quote-clip{grid-column:1/-1}.tc-card.is-truncated .tc-meta{grid-column:1;min-width:0}.tc-card.is-truncated .tc-more{grid-column:2;align-self:end;justify-self:end;margin-top:14px}.tc-card.is-truncated.has-wrapped-signature:not(:has(.tc-response-preview)) .tc-meta,.tc-card.is-truncated.has-wrapped-signature:not(:has(.tc-response-preview)) .tc-more{grid-column:1/-1}.tc-card.is-truncated.has-wrapped-signature:not(:has(.tc-response-preview)) .tc-more{margin-top:4px}.tc-card:not(.is-truncated) .tc-more{align-self:flex-end;margin-top:9px}.tc-response-preview::before{line-height:1}.tc-response-preview strong{font-family:var(--managed-testimonials-heading-font);letter-spacing:.04em}.tc-card.is-truncated:has(.tc-response-preview) .tc-quote-clip,.tc-card.is-truncated:has(.tc-response-preview) .tc-meta{grid-column:1/-1}.tc-card.is-truncated:has(.tc-response-preview) .tc-response-preview{grid-column:1;margin-top:8px}.tc-card.is-truncated:has(.tc-response-preview) .tc-more{grid-column:2;align-self:center;justify-self:end;margin-top:8px}
/* Arrows are translucent controls outside the card canvas, not solid CTA buttons. */
.tc-arrow{position:absolute;z-index:3;top:calc(var(--tc-gutter) + var(--tc-h)/2);display:flex;align-items:center;justify-content:center;width:40px;height:40px;transform:translateY(-50%);border:1px solid rgba(255,255,255,.78);border-radius:50%;background:rgba(255,255,255,.68);box-shadow:0 5px 14px rgba(23,33,27,.12);color:var(--managed-testimonials-accent);cursor:pointer;font:400 22px/1 var(--managed-testimonials-heading-font);-webkit-backdrop-filter:blur(10px) saturate(1.15);backdrop-filter:blur(10px) saturate(1.15);transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.tc-prev{left:-18px}.tc-next{right:-18px}.tc-arrow:hover{border-color:rgba(21,93,58,.28);background:rgba(255,255,255,.86);box-shadow:0 7px 18px rgba(23,33,27,.16)}.tc-status{margin:12px 0 0;text-align:center;color:#617067;font:700 12px/1.6 var(--managed-testimonials-heading-font);letter-spacing:.12em;white-space:nowrap}.tc-swipe-hint{display:none}
.review-actions{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:18px}.review-cta{display:inline-flex;align-items:center;gap:7px;margin-top:14px;padding:6px 2px;border:0;border-bottom:1px solid rgba(21,93,58,.28);background:none;color:var(--managed-testimonials-accent);cursor:pointer;font:700 14px/1.3 var(--managed-testimonials-heading-font)}.review-cta-disabled{color:#7a847d;cursor:not-allowed}.review-dialog,.tc-lightbox{position:fixed;z-index:100;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,32,20,.62);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.review-dialog[hidden]{display:none}.review-form{position:relative;width:min(560px,100%);max-height:92vh;overflow:auto;padding:34px 38px;border-radius:var(--managed-testimonials-radius);background:#fff}.review-field{display:block;margin-top:18px}.review-field>span,.review-rating legend{display:block;margin-bottom:7px;color:var(--managed-testimonials-ink);font-weight:700}.review-field input,.review-field textarea{display:block;width:100%;padding:11px 13px;border:1px solid rgba(11,61,38,.28);border-radius:10px;background:#fff;color:var(--managed-testimonials-text);font:inherit}.review-field textarea{min-height:148px;resize:vertical}.review-rating{margin:0;padding:0;border:0}.review-stars{display:flex;gap:7px}.review-stars input{position:absolute;opacity:0;pointer-events:none}.review-stars label{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(11,61,38,.18);border-radius:10px;color:#a96f1b;cursor:pointer;font-size:23px}.review-stars input:checked+label,.review-stars label:hover{border-color:var(--managed-testimonials-highlight);background:#f7f0df}.review-help{display:flex;justify-content:space-between;margin-top:6px;color:#69746d;font-size:12px}.review-consent{display:flex;align-items:flex-start;gap:9px;margin-top:20px;color:#46534b;font-size:13px}.review-submit{width:100%;margin-top:22px;padding:12px 20px;border:0;border-radius:999px;background:var(--managed-testimonials-accent);color:#fff;font-weight:700}.review-notice{margin:18px 0 0;padding:12px 14px;border-radius:10px;background:var(--managed-testimonials-surface-soft)}.review-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
.tc-lightbox{z-index:90;opacity:0;transition:opacity .22s}.tc-lightbox.is-on{opacity:1}.tc-lightbox .screen-reader-text{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}.tcl-panel{position:relative;display:flex;flex:0 1 min(660px,94vw);flex-direction:column;gap:14px;min-width:0;max-height:84vh;overflow-y:auto;padding:48px 52px 40px;border:1px solid rgba(11,61,38,.04);border-radius:var(--managed-testimonials-radius);overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:rgba(11,61,38,.3) transparent;background:#fff;box-shadow:var(--managed-testimonials-shadow);transform:scale(.92) translateY(18px);transition:transform .28s var(--managed-testimonials-ease)}.tc-lightbox.is-on .tcl-panel{transform:none}.tc-lightbox .testimonial-card blockquote{max-height:none;margin:0;font-size:clamp(18px,2.2vw,21px);line-height:1.6}.tcl-panel .who{display:flex;align-items:center;gap:12px;min-width:0;color:var(--managed-testimonials-accent);font:700 13px/1.3 var(--managed-testimonials-heading-font);letter-spacing:.03em;text-transform:uppercase}.tcl-panel .who::before{display:inline-block;flex:none;width:28px;height:2px;background:var(--managed-testimonials-highlight);content:""}.tc-lightbox .testimonial-rating{padding-right:48px}.tcl-count{position:absolute;right:0;bottom:20px;left:0;margin:0;text-align:center;color:rgba(253,252,247,.75);font:600 11px/1 var(--managed-testimonials-heading-font);letter-spacing:.14em;pointer-events:none;text-transform:uppercase}.tcl-close{position:absolute;z-index:3;top:10px;right:10px;display:flex;width:40px;height:40px;align-items:center;justify-content:center;padding:0;border:0;border-radius:50%;background:transparent;color:var(--managed-testimonials-ink);cursor:pointer;transition:color .18s}.tcl-close::before{position:absolute;inset:4px;border:1px solid rgba(11,61,38,.14);border-radius:50%;background:rgba(11,61,38,.05);content:"";transition:background .18s,border-color .18s}.tcl-close svg{position:relative;z-index:1;display:block;width:15px;height:15px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-width:1.75}.tcl-close:hover{color:var(--managed-testimonials-accent)}.tcl-close:hover::before{border-color:rgba(11,61,38,.22);background:rgba(11,61,38,.1)}.tcl-close:focus-visible{outline:2px solid var(--managed-testimonials-accent);outline-offset:3px}.tcl-nav{width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:var(--managed-testimonials-accent);cursor:pointer;font-size:26px}.tcl-prev{margin-right:12px}.tcl-next{margin-left:12px}.tcl-response{margin:24px 0 0;padding:18px 20px;border-left:3px solid var(--managed-testimonials-highlight);background:rgba(240,234,217,.62);color:#30483a}.tcl-response strong{display:block;color:var(--managed-testimonials-accent)}
@media (min-width:641px) and (max-width:900px){:root{--tc-h:286px}}@media (min-width:901px) and (max-width:980px){:root{--tc-h:299px}}@media (max-width:980px){.tc-card{flex-basis:calc((100% - 28px)/2)}}@media (max-width:640px){:root{--tc-h:284px}.testimonial-band{padding:52px 0 40px}.testimonial-band .sec-head{margin-bottom:28px}.tc-card{flex-basis:100%;padding:26px 24px}.tc-lightbox .tcl-panel{padding:28px 22px}.tc-arrow{width:36px;height:36px;font-size:20px}.tc-prev{left:-14px}.tc-next{right:-14px}}@media (max-width:600px){.testimonial-google-label{width:15px;height:15px}.testimonial-google-label svg{width:9px;height:9px}}@media (max-width:620px){.tcl-nav{width:38px;height:38px;font-size:22px}.tcl-prev{margin-right:-19px}.tcl-next{margin-left:-19px}}@media (max-width:640px) and (hover:none) and (pointer:coarse){.tc-arrow{display:none}.tc-swipe-hint{display:inline}.tc-swipe-hint::after{content:" · "}}@media (prefers-reduced-motion:reduce){.tc-track,.tc-lightbox,.tcl-panel,.tc-card,.tc-arrow,.tcl-close{transition:none}}

/* The form uses the same bare gold stars as testimonial cards. Selection is
   cumulative, so the chosen rating reads immediately instead of looking inert. */
.review-form .review-stars{gap:4px}
.review-form .review-stars label{width:32px;height:32px;border:0;border-radius:50%;background:transparent;color:#c8c1af;font-size:18px!important;line-height:1;transition:color .15s,background .15s,transform .15s}
.review-form .review-stars label.is-selected,.review-form .review-stars label:hover{border:0;background:transparent;color:#a96f1b}
.review-form .review-stars label:hover{background:#f4ead0}
@media (hover:hover){.review-form .review-stars label:hover{transform:translateY(-1px)}}
.review-form .has-error .review-stars label{border:0}
@media(max-width:640px){.review-form{padding:28px 22px 26px}}

/* Keep the submission dialog closer to a testimonial card than a long admin form. */
.review-dialog{padding:14px}
.review-form{width:min(510px,100%);padding:27px 32px 25px}
.review-form h2{margin-bottom:5px;font-size:clamp(24px,3vw,29px)}
.review-form .form-intro{margin-bottom:12px;line-height:1.45}
.review-form .review-field{margin-top:12px}
.review-form .review-field>span,.review-form .review-rating legend{margin-bottom:5px}
.review-form .review-field input,.review-form .review-field textarea{padding:9px 12px}
.review-form .review-field textarea{min-height:112px}
.review-form .review-help{margin-top:4px}
.review-form .review-consent{margin-top:14px}
.review-form .review-submit{margin-top:16px;padding:10px 18px}
@media(max-width:640px){.review-form{max-height:calc(100dvh - 20px);padding:23px 18px 21px}.review-form .form-intro{margin-right:22px}.review-form .review-field textarea{min-height:104px}}
.review-form .review-error{color:#a13e2d;font:600 12px/1.3 var(--managed-testimonials-heading-font)}
