/* Shared testimonial styles are scoped to the testimonial components. */
.sm-testimonial-page,.sm-testimonial-wrapper { --sm-review-green:#34a853; --sm-review-ink:#212529; --sm-review-text:#535e66; --sm-review-muted:#6b747a; --sm-review-line:#dfe4e2; color:var(--sm-review-ink); background:#fff; }
.sm-testimonial-page *,.sm-testimonial-wrapper * { box-sizing:border-box; }
.sm-testimonial-page .container,.sm-testimonial-wrapper .container { width:100%; max-width:1320px; margin-inline:auto; padding-inline:24px; }
.sm-testimonial-page .sm_contact_page { padding:0!important; margin:0!important; background:#fff!important; }

/* Selected dark hero and real CRM review highlight. */
.sm-testimonial-page .sm-testimonial-hero { background:#272d31; color:#fff; text-align:center; padding:64px 0 58px; border-top:1px solid #34a853; }
.sm-testimonial-page .sm-testimonial-hero--featured { padding-bottom:114px; }
.sm-testimonial-page .sm-testimonial-hero h1 { margin:0; color:#fff!important; font-family:inherit; font-size:clamp(36px,4.3vw,60px); font-weight:700; line-height:1.16; letter-spacing:-.025em; text-transform:none; }
.sm-testimonial-page .sm-testimonial-hero h1::after { content:""; display:block; width:68px; height:4px; margin:20px auto 0; border-radius:3px; background:#34a853; }
.sm-testimonial-page .sm-testimonial-hero p { max-width:760px; margin:22px auto 0; color:#dce1e3!important; font-size:clamp(17px,1.6vw,21px); line-height:1.7; letter-spacing:normal; }
.sm-testimonial-page .sm-featured-quote-wrap { position:relative; z-index:1; margin-top:-66px; }
.sm-testimonial-page .sm-featured-quote { display:grid; grid-template-columns:40px minmax(0,1.25fr) minmax(250px,.9fr); align-items:center; gap:26px; max-width:1080px; margin:0 auto; padding:32px 36px; background:#fff; border:1px solid #e4e7e5; border-radius:12px; box-shadow:0 12px 28px rgb(33 37 41 / 12%); }
.sm-testimonial-page .sm-featured-quote-symbol { align-self:start; margin-top:4px; width:36px; height:30px; color:#34a853; }
.sm-testimonial-page .sm-featured-quote blockquote { margin:0; padding:0; min-width:0; border:0; }
.sm-testimonial-page .sm-featured-quote blockquote p { margin:0; font-size:18px; font-weight:400; font-style:italic; line-height:1.75; color:#30383d; letter-spacing:normal; }
.sm-testimonial-page .sm-featured-quote figcaption { display:flex; align-items:center; gap:16px; min-width:0; padding-left:28px; border-left:1px solid #d8dedb; text-align:left; }
.sm-testimonial-page .sm-featured-quote figcaption img { flex:0 0 72px; width:72px; height:72px; border-radius:50%; object-fit:cover; background:#f0f3f1; }
.sm-testimonial-page .sm-featured-quote figcaption strong { display:block; color:#212529; font-size:18px; line-height:1.45; font-weight:700; }
.sm-testimonial-page .sm-featured-quote figcaption span { display:block; margin-top:5px; color:#667077; font-size:15px; line-height:1.5; }

/* Section titles and understated cards. */
.sm-testimonial-wrapper { overflow:hidden; }
.sm-testimonial-wrapper .sm-section { padding:64px 0; position:relative; }
.sm-testimonial-wrapper .sm-section-heading { max-width:900px; margin:0 auto 34px; text-align:center; }
.sm-testimonial-wrapper .sm-section-badge { display:inline-block; margin:0 0 12px; padding:0; border-radius:0; background:transparent; color:#212529; font-size:12px; line-height:1.5; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
.sm-testimonial-wrapper .sm-section-badge::before { content:""; display:inline-block; vertical-align:middle; width:22px; height:3px; margin-right:9px; background:#34a853; }
.sm-testimonial-wrapper .sm-section-heading h2 { margin:0; color:#212529; font-size:clamp(27px,3vw,39px); font-weight:700; line-height:1.25; letter-spacing:-.02em; }
.sm-testimonial-wrapper .sm-section-heading p { max-width:780px; margin:14px auto 0; color:#5a666e; font-size:16px; line-height:1.8; letter-spacing:normal; }
.sm-testimonial-wrapper .sm-empty-message { width:100%; padding:24px; border:1px solid #dfe4e2; border-radius:10px; color:#626d74; text-align:center; background:#fafbfa; }
.sm-testimonial-wrapper .sm-top-review-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; align-items:stretch; }
.sm-testimonial-wrapper :is(.sm-top-review-card,.sm-service-card,.sm-review-card,.sm-website-review-card) { min-width:0; border:1px solid #dfe4e2; border-radius:12px; background:#fff; box-shadow:0 4px 14px rgb(33 37 41 / 4%); transition:transform .22s,border-color .22s,box-shadow .22s; }
.sm-testimonial-wrapper :is(.sm-top-review-card,.sm-service-card,.sm-review-card):is(:hover,:focus-within) { transform:translateY(-4px); border-color:#34a853; box-shadow:0 12px 25px rgb(33 37 41 / 9%); }
.sm-testimonial-wrapper .sm-top-review-card { display:flex; flex-direction:column; padding:26px; }
.sm-testimonial-wrapper.sm-reviews-enhanced .sm-review-hidden { display:none; }
.sm-testimonial-wrapper .sm-top-review-date { color:#727b80; font-size:13px; line-height:1.5; margin-bottom:12px; }
.sm-testimonial-wrapper .sm-review-stars { display:flex; align-items:center; flex-wrap:wrap; gap:3px; margin-bottom:16px; color:#c7ceca; font-size:19px; line-height:1.3; }
.sm-testimonial-wrapper .sm-review-stars .active { color:#c18120; }
.sm-testimonial-wrapper .sm-top-quote-icon { height:25px; margin:0 0 12px; color:#34a853; }
.sm-testimonial-wrapper .tst-quote-mark { display:block; color:inherit; font-size:34px; line-height:1; letter-spacing:-5px; font-weight:700; }
.sm-testimonial-wrapper .sm-top-review-text-box { padding:0; border:0; background:transparent; border-radius:0; box-shadow:none; }
.sm-testimonial-wrapper .sm-readmore-text { margin:0; color:#505d65; font-size:16px; font-weight:400; font-style:normal; line-height:1.8; overflow-wrap:break-word; }
.sm-testimonial-wrapper :is(.sm-top-review-user,.sm-review-user) { display:flex; align-items:center; gap:12px; margin-top:auto; padding-top:20px; }
.sm-testimonial-wrapper .sm-top-review-user { margin-top:22px; border-top:1px solid #edf0ee; }
.sm-testimonial-wrapper :is(.sm-top-review-user,.sm-review-user) img { flex:0 0 50px; width:50px; height:50px; border-radius:50%; object-fit:cover; background:#f1f3f2; border:1px solid #e1e6e3; }
.sm-testimonial-wrapper :is(.sm-top-review-user,.sm-review-user) > div { min-width:0; }
.sm-testimonial-wrapper :is(.sm-top-review-user,.sm-review-user) h3 { margin:0; font-size:16px; font-weight:700; line-height:1.45; color:#212529; }
.sm-testimonial-wrapper :is(.sm-top-review-user,.sm-review-user) span { display:block; margin-top:4px; color:#69747c; font-size:13px; line-height:1.55; }
.sm-testimonial-wrapper .sm-top-review-card .sm-top-review-user { margin-top:auto; }
.sm-testimonial-wrapper .sm-top-review-text-box { margin-bottom:22px; }

/* Keep existing checkbox bindings and support collapsing the full review. */
.sm-testimonial-wrapper .sm-read-more-wrap { position:relative; }
.sm-testimonial-wrapper .sm-readmore-check { position:absolute; width:1px; height:1px; opacity:0; }
.sm-testimonial-wrapper :is(.sm-full-text,.sm-label-less) { display:none; }
.sm-testimonial-wrapper .sm-readmore-check:checked ~ .sm-readmore-text .sm-short-text { display:none; }
.sm-testimonial-wrapper .sm-readmore-check:checked ~ .sm-readmore-text .sm-full-text { display:inline; }
.sm-testimonial-wrapper .sm-readmore-check:checked ~ .sm-label-more { display:none; }
.sm-testimonial-wrapper .sm-readmore-check:checked ~ .sm-label-less { display:inline-flex; }
.sm-testimonial-wrapper .sm-readmore-btn { display:inline-flex; width:fit-content; align-items:center; min-height:36px; padding:7px 0; margin-top:8px; border:0; color:#212529; background:transparent; font-size:14px; font-weight:650; line-height:1.5; text-decoration:underline; text-decoration-color:#34a853; text-underline-offset:5px; cursor:pointer; }
.sm-testimonial-wrapper .sm-readmore-btn:hover { text-decoration-thickness:2px; }
.sm-testimonial-wrapper .sm-readmore-btn.sm-label-less { display:none; }
.sm-testimonial-wrapper .sm-readmore-check:checked ~ .sm-readmore-btn.sm-label-less { display:inline-flex; }
.sm-testimonial-wrapper .sm-readmore-check:focus-visible ~ .sm-readmore-btn { outline:2px solid #34a853; outline-offset:4px; }
.sm-testimonial-wrapper .sm-review-load-trigger { display:flex; align-items:center; justify-content:center; gap:10px; width:fit-content; min-height:44px; margin:24px auto 0; padding:10px 16px; border:1px solid #dfe4e2; border-radius:7px; color:#626d74; cursor:pointer; }
.sm-testimonial-wrapper .sm-review-load-trigger p { margin:0; font-size:14px; line-height:1.5; }
.sm-testimonial-wrapper .sm-review-load-trigger > span { width:7px; height:7px; border-radius:50%; background:#34a853; }
.sm-testimonial-wrapper .sm-review-load-trigger.is-complete { display:none; }

/* Flex wrapping centers any incomplete company-card row, including 4 + 2. */
.sm-testimonial-wrapper .sm-service-proof-section { background:#f6f7f6; border-block:1px solid #edf0ee; }
.sm-testimonial-wrapper .sm-service-grid { display:flex; flex-wrap:wrap; justify-content:center; gap:24px; align-items:stretch; }
.sm-testimonial-wrapper .sm-service-card { display:flex; flex-direction:column; flex:0 0 calc((100% - 72px)/4); overflow:hidden; }
.sm-testimonial-wrapper .sm-service-image-box { display:flex; align-items:center; justify-content:center; height:150px; padding:24px; border-bottom:1px solid #edf0ee; background:#fff; }
.sm-testimonial-wrapper .sm-service-image-box img { display:block; width:100%; max-width:220px; height:100%; max-height:100px; object-fit:contain; object-position:center; }
.sm-testimonial-wrapper .sm-service-content { flex:1; display:flex; flex-direction:column; padding:24px; }
.sm-testimonial-wrapper .sm-service-content h3 { margin:0 0 12px; color:#212529; font-size:18px; font-weight:650; line-height:1.45; }
.sm-testimonial-wrapper .sm-service-content p { font-size:15px; line-height:1.8; }
.sm-testimonial-wrapper .sm-service-content .sm-readmore-btn { align-self:flex-start; }

/* Existing slider hooks, with accessible controls and simple white surfaces. */
.sm-testimonial-wrapper .sm-slider { position:relative; padding-bottom:54px; }
.sm-testimonial-wrapper .sm-slider-window { overflow:hidden!important; padding:8px 2px 16px; scrollbar-width:none; -ms-overflow-style:none; }
.sm-testimonial-wrapper .sm-slider-window::-webkit-scrollbar,
.sm-testimonial-wrapper .sm-website-window::-webkit-scrollbar,
.sm-testimonial-wrapper .sm-website-track::-webkit-scrollbar { display:none; width:0; height:0; }
.sm-testimonial-wrapper .sm-slider-track { display:flex; position:relative; align-items:stretch; flex-wrap:nowrap; width:100%; gap:24px; direction:ltr; transition:transform .4s ease; }
.sm-testimonial-wrapper .sm-slider:not([data-sm-enhanced]) .sm-slider-track { flex-wrap:wrap; }
.sm-testimonial-wrapper .sm-review-card { flex:0 0 calc((100% - 48px)/3); display:flex; flex-direction:column; padding:26px; }
.sm-testimonial-wrapper .sm-review-card .sm-read-more-wrap { margin-bottom:22px; }
.sm-testimonial-wrapper .sm-review-user { border-top:1px solid #edf0ee; }
.sm-testimonial-wrapper .sm-slider-btn { position:absolute; z-index:1; top:auto!important; bottom:0!important; transform:none!important; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #dbe1dd; border-radius:50%; color:#212529; background:#fff; font-size:18px; cursor:pointer; transition:background .2s,border-color .2s; }
.sm-testimonial-wrapper .sm-slider-btn:hover { border-color:#34a853; background:#f5f7f5; }
.sm-testimonial-wrapper .sm-prev { left:calc(50% - 48px); }
.sm-testimonial-wrapper .sm-next { right:calc(50% - 48px); }
.sm-testimonial-wrapper :is(.sm-slider-btn,.sm-website-dots button,.sm-review-load-trigger):focus-visible { outline:2px solid #34a853; outline-offset:4px; }

/* Two-tone rating section: charcoal summary beside visible white review cards. */
.sm-testimonial-wrapper .sm-website-review-box { display:grid; grid-template-columns:minmax(230px,.75fr) minmax(0,1.35fr); align-items:stretch; gap:0; padding:0; border:1px solid #dfe4e2; border-radius:14px; overflow:hidden; background:#f1f3f1; box-shadow:0 8px 24px rgb(33 37 41 / 5%); }
.sm-testimonial-wrapper .sm-website-review-summary { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:40px; text-align:left; color:#fff; background:#2d3438; border-top:3px solid #34a853; }
.sm-testimonial-wrapper .sm-website-review-summary .sm-section-badge { background:transparent; color:#e5eae7; }
.sm-testimonial-wrapper .sm-website-review-summary h2 { margin:6px 0 16px; color:#fff; font-size:clamp(30px,3.2vw,42px); font-weight:700; line-height:1.2; letter-spacing:-.025em; }
.sm-testimonial-wrapper .sm-website-review-summary p { margin:14px 0 0; color:#d5ddda; font-size:15px; line-height:1.7; }
.sm-testimonial-wrapper .sm-big-stars { font-size:23px; margin-bottom:12px; }
.sm-testimonial-wrapper .sm-website-slider { min-width:0; align-self:center; margin:32px; padding:0; border:0; overflow:visible; background:transparent; }
.sm-testimonial-wrapper .sm-website-window { width:100%; min-width:0; padding:0; overflow:hidden!important; border-radius:10px; scrollbar-width:none; -ms-overflow-style:none; }
.sm-testimonial-wrapper .sm-website-track { display:flex; position:relative; align-items:stretch; flex-wrap:nowrap; width:100%; gap:0; padding:0; margin:0; overflow:visible!important; scrollbar-width:none; direction:ltr; transition:transform .4s ease; }
.sm-testimonial-wrapper .sm-website-review-card { display:flex; flex-direction:column; flex:0 0 100%; width:100%; min-height:250px; padding:28px; }
.sm-testimonial-wrapper .sm-website-review-card .sm-read-more-wrap { margin-bottom:22px; }
.sm-testimonial-wrapper .sm-website-review-card .sm-readmore-text { font-size:17px; line-height:1.8; }
.sm-testimonial-wrapper .sm-website-dots { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:2px; margin:12px 0 0; }
.sm-testimonial-wrapper .sm-website-dots button { position:relative; display:block; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:transparent; cursor:pointer; }
.sm-testimonial-wrapper .sm-website-dots button::after { content:""; position:absolute; width:7px; height:7px; left:50%; top:50%; border-radius:50%; background:#bfc7c1; transform:translate(-50%,-50%); }
.sm-testimonial-wrapper .sm-website-dots button.active::after { width:10px; height:10px; background:#34a853; }
.sm-testimonial-wrapper .sm-website-slider:not([data-sm-enhanced]) .sm-website-track { display:block; }
.sm-testimonial-wrapper .sm-website-slider:not([data-sm-enhanced]) .sm-website-review-card + .sm-website-review-card { margin-top:16px; }
.sm-testimonial-wrapper [hidden] { display:none!important; }
.sm-testimonial-page .frontend-faq { background:#f6f7f6; padding:64px 0; }
.sm-testimonial-page .frontend-faq__head h2 { font-size:clamp(28px,3vw,38px); font-weight:700; }
.sm-testimonial-page .frontend-faq__head span { color:#212529; }
.sm-testimonial-page .frontend-faq__item summary { font-weight:600; }
.sm-testimonial-page .frontend-faq__item summary i { background:#fff; color:#34a853; border:1px solid #dfe4e2; }

@media(max-width:1199px) {
    .sm-testimonial-wrapper .sm-service-card { flex-basis:calc((100% - 24px)/2); }
    .sm-testimonial-wrapper .sm-top-review-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
    .sm-testimonial-wrapper .sm-review-card { flex-basis:calc((100% - 24px)/2); }
}
@media(max-width:991px) {
    .sm-testimonial-page .sm-featured-quote { grid-template-columns:30px minmax(0,1fr); gap:18px; padding:28px; }
    .sm-testimonial-page .sm-featured-quote figcaption { grid-column:2; border-left:0; border-top:1px solid #e1e6e3; padding:20px 0 0; }
    .sm-testimonial-wrapper .sm-website-review-box { gap:0; padding:0; grid-template-columns:minmax(200px,.8fr) minmax(0,1.2fr); }
    .sm-testimonial-wrapper .sm-website-review-summary { padding:28px; }
    .sm-testimonial-wrapper .sm-website-slider { margin:24px; padding:0; }
}
@media(max-width:767px) {
    .sm-testimonial-page .container,.sm-testimonial-wrapper .container { padding-inline:18px; }
    .sm-testimonial-page .sm-testimonial-hero { padding-top:44px; padding-bottom:44px; }
    .sm-testimonial-page .sm-testimonial-hero--featured { padding-bottom:92px; }
    .sm-testimonial-page .sm-testimonial-hero h1 { font-size:clamp(32px,8vw,42px); }
    .sm-testimonial-page .sm-testimonial-hero p { font-size:17px; margin-top:18px; }
    .sm-testimonial-page .sm-featured-quote-wrap { margin-top:-48px; }
    .sm-testimonial-page .sm-featured-quote { display:block; padding:24px; border-radius:10px; }
    .sm-testimonial-page .sm-featured-quote-symbol { width:27px; height:23px; margin:0 0 12px; }
    .sm-testimonial-page .sm-featured-quote blockquote p { font-size:16px; line-height:1.8; }
    .sm-testimonial-page .sm-featured-quote figcaption { margin-top:20px; padding-top:18px; gap:12px; }
    .sm-testimonial-page .sm-featured-quote figcaption img { width:56px; height:56px; flex-basis:56px; }
    .sm-testimonial-page .sm-featured-quote figcaption strong { font-size:16px; }
    .sm-testimonial-page .sm-featured-quote figcaption span { font-size:14px; }
    .sm-testimonial-wrapper .sm-section { padding:46px 0; }
    .sm-testimonial-wrapper .sm-section-heading { margin-bottom:28px; }
    .sm-testimonial-wrapper .sm-section-heading p { font-size:15px; }
    .sm-testimonial-wrapper .sm-top-review-grid { grid-template-columns:1fr; gap:18px; }
    .sm-testimonial-wrapper .sm-service-grid { gap:18px; }
    .sm-testimonial-wrapper .sm-service-card { flex-basis:100%; }
    .sm-testimonial-wrapper .sm-service-image-box { height:156px; }
    .sm-testimonial-wrapper :is(.sm-top-review-card,.sm-service-content,.sm-review-card,.sm-website-review-card) { padding:22px; }
    .sm-testimonial-wrapper .sm-review-card { flex-basis:100%; }
    .sm-testimonial-wrapper .sm-website-review-box { grid-template-columns:1fr; padding:0; gap:0; }
    .sm-testimonial-wrapper .sm-website-review-summary { padding:28px 20px; text-align:center; align-items:center; }
    .sm-testimonial-wrapper .sm-big-stars { justify-content:center; }
    .sm-testimonial-wrapper .sm-website-slider { margin:20px; padding:0; border:0; }
    .sm-testimonial-wrapper .sm-website-review-card .sm-readmore-text { font-size:16px; }
    .sm-testimonial-page .frontend-faq { padding:46px 0; }
}
@media(prefers-reduced-motion:reduce) {
    .sm-testimonial-page *,.sm-testimonial-wrapper * { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
    .sm-testimonial-wrapper :is(.sm-top-review-card,.sm-service-card,.sm-review-card):is(:hover,:focus-within) { transform:none; }
}
