/* ============================================================
   SoftoAI WP Core — Google Reviews (shared: widget + shortcode)
   ============================================================ */
.sar { --sar-bg:#fff; --sar-fg:#111; --sar-muted:#66615b; --sar-border:#e6e2da; --sar-star:#fbbc04; --sar-accent:#a9783a; --sar-cols:3; --sar-cols-t:2; --sar-cols-m:1; }
.sar.sar-theme-dark { --sar-bg:#1b1b1b; --sar-fg:#fff; --sar-muted:#b7b2ab; --sar-border:rgba(255,255,255,.12); }
.sar, .sar * { box-sizing:border-box; }

/* Summary */
.sar-summary { display:flex; align-items:center; gap:.75rem; flex-wrap:wrap; margin-bottom:1.75rem; padding:1rem 1.35rem; border:1px solid var(--sar-border); border-radius:14px; background:var(--sar-bg); color:var(--sar-fg); box-shadow:0 8px 26px rgba(17,17,17,.06); }
.sar-biz { font-weight:700; font-size:1.05rem; line-height:1.25; color:var(--sar-fg); }
.sar-avg { font-size:1.9rem; font-weight:800; line-height:1; }
.sar-total { color:var(--sar-muted); font-size:.9rem; }
.sar-glogo { display:inline-block; vertical-align:middle; }
.sar-summary-actions { margin-left:auto; display:flex; gap:.5rem; flex-wrap:wrap; }

/* Stars */
.sar-stars { color:var(--sar-star); letter-spacing:1px; line-height:1; white-space:nowrap; }
.sar-star { opacity:.26; } .sar-star.is-on { opacity:1; }

/* Buttons */
.sar-btn { display:inline-block; padding:.5rem 1.05rem; background:var(--sar-accent); color:#fff!important; border-radius:7px; text-decoration:none; font-size:.85rem; font-weight:600; border:0; cursor:pointer; transition:filter .15s; }
.sar-btn:hover { filter:brightness(.92); }
.sar-btn--ghost { background:transparent; color:var(--sar-accent)!important; border:1px solid var(--sar-accent); }

/* Card */
.sar-card { background:var(--sar-bg); color:var(--sar-fg); border:1px solid var(--sar-border); border-radius:14px; padding:1.4rem; box-shadow:0 8px 26px rgba(17,17,17,.05); transition:transform .2s, box-shadow .2s; }
.sar-card:hover { transform:translateY(-3px); box-shadow:0 16px 38px rgba(17,17,17,.11); }
.sar-card-head { display:flex; align-items:center; gap:.7rem; margin-bottom:.55rem; }
.sar-avatar { width:46px; height:46px; border-radius:50%; object-fit:cover; flex:0 0 auto; }
.sar-avatar--initial { display:inline-flex; align-items:center; justify-content:center; background:var(--sar-accent); color:#fff; font-weight:700; font-size:1.1rem; }
.sar-meta { display:flex; flex-direction:column; line-height:1.25; min-width:0; }
.sar-name { font-weight:700; font-size:.95rem; display:flex; align-items:center; gap:.35rem; }
.sar-verified { color:#1a73e8; font-size:.8em; background:rgba(26,115,232,.12); width:1.35em; height:1.35em; border-radius:50%; display:inline-flex; align-items:center; justify-content:center; }
.sar-date { font-size:.8rem; color:var(--sar-muted); }
.sar-g-mini { margin-left:auto; display:inline-flex; }
.sar-text { margin:.55rem 0 0; color:var(--sar-fg); font-size:.95rem; line-height:1.62; white-space:pre-line; }
.sar-clamp { display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.sar-text.sar-open { -webkit-line-clamp:unset; overflow:visible; }
.sar-readmore { background:none; border:0; color:var(--sar-accent); cursor:pointer; font-size:.85rem; font-weight:600; padding:.35rem 0 0; }
.sar-reply { margin-top:.85rem; padding:.75rem .9rem; background:rgba(0,0,0,.03); border-left:3px solid var(--sar-accent); border-radius:0 8px 8px 0; }
.sar-theme-dark .sar-reply { background:rgba(255,255,255,.05); }
.sar-reply-label { font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--sar-muted); }
.sar-reply p { margin:.25rem 0 0; font-size:.88rem; color:var(--sar-fg); }

/* GRID + MASONRY */
.sar-grid .sar-track { display:grid; gap:1.4rem; grid-template-columns:repeat(var(--sar-cols),1fr); }
.sar-masonry .sar-track { columns:var(--sar-cols); column-gap:1.4rem; display:block; }
.sar-masonry .sar-card { break-inside:avoid; margin-bottom:1.4rem; }

/* LIST */
.sar-list .sar-track { display:flex; flex-direction:column; gap:1.1rem; }

/* CAROUSEL */
.sar-carousel { position:relative; }
.sar-carousel .sar-viewport { overflow:hidden; }
.sar-carousel .sar-track { display:flex; gap:1.4rem; transition:transform .45s cubic-bezier(.22,.61,.36,1); }
.sar-carousel .sar-card { flex:0 0 calc((100% - (var(--sar-cols) - 1) * 1.4rem) / var(--sar-cols)); }
.sar-arrow { position:absolute; top:45%; transform:translateY(-50%); width:44px; height:44px; border-radius:50%; border:1px solid var(--sar-border); background:var(--sar-bg); color:var(--sar-fg); font-size:1.5rem; line-height:1; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,.12); z-index:2; display:flex; align-items:center; justify-content:center; }
.sar-arrow:hover { color:var(--sar-accent); }
.sar-prev { left:-14px; } .sar-next { right:-14px; }
.sar-dots { display:flex; gap:7px; justify-content:center; margin-top:1.1rem; }
.sar-dots button { width:9px; height:9px; border-radius:50%; border:0; background:var(--sar-border); cursor:pointer; padding:0; }
.sar-dots button.is-active { background:var(--sar-accent); width:22px; border-radius:6px; }

/* Slider (Trustindex): fixed summary card + auto-sliding review carousel */
.sar-slider .sar-slider-wrap { display:flex; gap:1.4rem; align-items:stretch; }
.sar-slider .sar-summary { flex:0 0 clamp(210px,22%,272px); flex-direction:column; align-items:flex-start; justify-content:center; text-align:left; gap:.3rem; margin-bottom:0; padding:1.6rem 1.5rem; }
.sar-slider .sar-summary .sar-biz { width:100%; font-size:1.2rem; line-height:1.2; margin-bottom:.15rem; }
.sar-slider .sar-summary .sar-avg { font-size:2.4rem; }
.sar-slider .sar-summary-actions { margin-left:0; margin-top:.75rem; width:100%; flex-direction:column; gap:.5rem; }
.sar-slider .sar-summary-actions .sar-btn { text-align:center; }
.sar-slider .sar-slider-main { flex:1 1 auto; min-width:0; position:relative; }
.sar-slider .sar-viewport { overflow:hidden; }
.sar-slider .sar-track { display:flex; gap:1.2rem; align-items:stretch; transition:transform .5s cubic-bezier(.22,.61,.36,1); }
.sar-slider .sar-card { flex:0 0 calc((100% - (var(--sar-cols) - 1) * 1.2rem) / var(--sar-cols)); display:flex; flex-direction:column; }
/* clamp long reviews so cards stay uniform (Trustindex truncates; no button) */
.sar-slider .sar-text { display:-webkit-box; -webkit-line-clamp:5; line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
/* proper circular nav — override the theme's button styling */
.sar-slider .sar-arrow { width:40px!important; height:40px!important; min-width:0!important; padding:0!important; border-radius:50%!important; background:#fff!important; color:#111!important; border:1px solid var(--sar-border)!important; box-shadow:0 6px 20px rgba(17,17,17,.14)!important; font-size:1.3rem!important; }
.sar-slider .sar-arrow:hover { color:var(--sar-accent)!important; background:#fff!important; }
.sar-slider .sar-prev { left:-16px!important; }
.sar-slider .sar-next { right:-16px!important; }
.sar-slider .sar-dots { margin-top:1.2rem; }
@media (max-width:768px){
	.sar-slider .sar-slider-wrap { flex-direction:column; }
	.sar-slider .sar-summary { flex-basis:auto; width:100%; flex-direction:row; align-items:center; text-align:left; }
	.sar-slider .sar-summary-actions { flex-direction:row; width:auto; margin:0 0 0 auto; }
	.sar-slider .sar-summary .sar-avg { font-size:1.9rem; }
}

/* Load more */
.sar-loadmore { display:block; margin:1.6rem auto 0; padding:.7rem 1.6rem; border:1px solid var(--sar-border); background:var(--sar-bg); color:var(--sar-fg); border-radius:8px; font-weight:600; cursor:pointer; }
.sar-loadmore:hover { border-color:var(--sar-accent); color:var(--sar-accent); }
.sar-more-hidden { display:none; }

/* Badge (summary only) */
.sar-badge .sar-summary { margin-bottom:0; }

.sar-demo-note { font-size:12px; background:#fff8ec; border:1px solid #f0d9a8; color:#8a6d1f; padding:6px 10px; border-radius:6px; margin-bottom:12px; }

/* Responsive columns */
@media (max-width:1024px){ .sar { --sar-cols:var(--sar-cols-t); } .sar-masonry .sar-track { columns:var(--sar-cols-t); } }
@media (max-width:640px){ .sar { --sar-cols:var(--sar-cols-m); } .sar-masonry .sar-track { columns:var(--sar-cols-m); } .sar-summary-actions { margin-left:0; width:100%; } .sar-prev{left:0} .sar-next{right:0} }
