/* AbleSource Reviews Pro – Frontend v1.0.0 */
.asgr-widget{--asgr-accent:#38bdf2;--asgr-text:inherit;--asgr-muted:#64748b;--asgr-border:#e5e7eb;--asgr-card:#fff;font-family:inherit;max-width:1120px;margin-inline:auto;padding:28px 16px;color:var(--asgr-text)}

/* ── Header ── */
.asgr-header{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.asgr-header span{display:block;color:var(--asgr-accent);font-size:10px!important;line-height:1.2;text-transform:uppercase!important;letter-spacing:3px!important;font-weight:650!important;margin-bottom:6px}
.asgr-header h2{font-family:inherit;font-size:clamp(22px,2.8vw,32px)!important;line-height:1.12!important;margin:0!important;color:inherit;font-weight:660!important;letter-spacing:-.02em!important}
.asgr-rating-pill{display:inline-flex;align-items:center;gap:7px;border:1px solid var(--asgr-border);border-radius:999px!important;padding:6px 11px!important;font-size:11.5px!important;color:#94a3b8;white-space:nowrap;background:#fff!important;box-shadow:none!important}
.asgr-rating-pill b{font-size:15px!important;color:#1e293b;font-weight:650!important}
.asgr-rating-pill span,.asgr-stars{color:#f6a700!important;letter-spacing:1.5px}

/* ── Slider ── */
.asgr-slider{position:relative}
.asgr-track{display:flex;gap:16px;overflow:hidden;scroll-behavior:smooth;scrollbar-width:none;align-items:stretch}
.asgr-track::-webkit-scrollbar{display:none}

/* ── Review cards ── */
.asgr-review-card{box-sizing:border-box;background:#fff!important;border:1px solid #e5e7eb!important;border-radius:14px!important;padding:16px!important;box-shadow:0 2px 8px rgba(0,0,0,.03)!important;transform:none!important;min-width:calc((100% - 32px)/3)!important;height:220px!important;min-height:220px!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}
.asgr-review-card:hover{transform:none!important;border-color:#d1d5db!important}
.asgr-shadow-soft .asgr-review-card{box-shadow:0 4px 14px rgba(31,42,68,.04)!important}
.asgr-shadow-medium .asgr-review-card{box-shadow:0 6px 20px rgba(31,42,68,.06)!important}
.asgr-shadow-none .asgr-review-card{box-shadow:none!important}

/* ── Card top ── */
.asgr-card-top{display:flex!important;align-items:center!important;gap:9px!important;margin-bottom:8px!important}
.asgr-avatar{width:32px!important;height:32px!important;border-radius:50%!important;object-fit:cover!important;flex:0 0 auto}
.asgr-avatar-fallback{display:inline-grid!important;place-items:center!important;background:#6b7280!important;color:#fff!important;font-size:13px!important;font-weight:650!important}
.asgr-person{min-width:0!important;flex:1!important}
.asgr-person strong{display:block;font-size:13.5px!important;line-height:1.2!important;color:#1e293b!important;font-weight:600!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.asgr-person span{display:block;font-size:9.5px!important;color:#94a3b8!important;text-transform:uppercase!important;letter-spacing:.03em!important;margin-top:3px!important;font-weight:500!important}

/* ── Google logo ── */
.asgr-google,.asgr-arrow{display:none!important}
.asgr-google-logo{width:20px!important;height:20px!important;display:inline-grid!important;place-items:center;border-radius:50%;background:transparent!important;border:0!important;flex:0 0 auto}
.asgr-google-logo svg{display:block;width:16px!important;height:16px!important}

/* ── Stars & text ── */
.asgr-review-card .asgr-stars{font-size:12px!important;letter-spacing:1.3px!important;margin:3px 0 10px!important;color:#f6a700!important}
.asgr-review-card p{font-size:13px!important;line-height:1.58!important;font-weight:400!important;color:#64748b!important;margin:0!important;display:-webkit-box!important;-webkit-line-clamp:3!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-overflow:ellipsis!important;text-align:left!important;max-height:62px!important}

/* ── Dots ── */
.asgr-dots{display:flex!important;justify-content:center!important;align-items:center!important;gap:8px!important;margin-top:16px!important}
.asgr-dots button{width:6px!important;height:6px!important;border:0!important;border-radius:999px!important;background:#d1d5db!important;padding:0!important;transition:all .2s ease!important}
.asgr-dots button.active{width:16px!important;height:7px!important;background:var(--asgr-accent)!important}

/* ── CTA button ── */
.asgr-more{text-align:center;margin-top:16px!important}
.asgr-more a{display:inline-flex!important;align-items:center!important;justify-content:center!important;padding:9px 18px!important;border-radius:999px!important;background:var(--asgr-accent)!important;color:#06111d!important;font-size:13px!important;font-weight:620!important;text-decoration:none!important;box-shadow:none!important}

/* ── List layout ── */
.asgr-list{display:grid!important;gap:16px!important}

/* ═══ Template variants ═══ */

/* Clinic grid */
.asgr-template-clinic_grid .asgr-slider{overflow:visible!important}
.asgr-template-clinic_grid .asgr-track,
.asgr-template-clinic_grid .asgr-list{display:grid!important;grid-template-columns:repeat(var(--asgr-all-cols,3),minmax(0,1fr))!important;gap:16px!important;overflow:visible!important;align-items:stretch!important}
.asgr-template-clinic_grid .asgr-review-card{min-width:0!important;width:100%!important;height:220px!important;min-height:220px!important;text-align:left!important}
.asgr-template-clinic_grid .asgr-card-top{display:flex!important}
.asgr-template-clinic_grid .asgr-review-card p{margin:0!important;grid-column:auto!important;grid-row:auto!important}
.asgr-template-clinic_grid .asgr-dots{display:none!important}
.asgr-template-clinic_grid .asgr-google-logo{display:inline-grid!important}

/* Google slider */
.asgr-template-google_slider .asgr-review-card{border-top:2px solid var(--asgr-accent)!important}

/* Compact */
.asgr-template-compact .asgr-list{grid-template-columns:1fr!important;gap:10px!important}
.asgr-template-compact .asgr-review-card{height:auto!important;min-height:0!important;min-width:0!important;padding:13px 14px!important;box-shadow:none!important}
.asgr-template-compact .asgr-review-card p{-webkit-line-clamp:2!important}

/* Minimal line */
.asgr-template-minimal_line .asgr-list{gap:0!important}
.asgr-template-minimal_line .asgr-review-card{height:auto!important;min-height:0!important;min-width:0!important;border-width:0 0 1px!important;border-radius:0!important;box-shadow:none!important;padding:14px 0!important;background:transparent!important}
.asgr-template-minimal_line .asgr-card-top{margin-bottom:6px!important}
.asgr-template-minimal_line .asgr-review-card p{-webkit-line-clamp:2!important}

/* Patient story */
.asgr-template-patient_story .asgr-review-card{text-align:center!important;align-items:center!important;height:240px!important;min-height:240px!important;justify-content:center!important}
.asgr-template-patient_story .asgr-card-top{flex-direction:column!important;gap:6px!important;margin-bottom:6px!important}
.asgr-template-patient_story .asgr-google-logo{display:none!important}
.asgr-template-patient_story .asgr-person strong{font-size:14px!important}
.asgr-template-patient_story .asgr-review-card .asgr-stars{text-align:center!important}
.asgr-template-patient_story .asgr-review-card p{text-align:center!important;max-width:500px!important;-webkit-line-clamp:4!important;max-height:88px!important}

/* Spotlight */
.asgr-spotlight-layout{display:grid!important;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:16px!important}
.asgr-spotlight-layout .asgr-review-card{min-width:0!important;width:100%!important}
.asgr-spotlight-layout .asgr-review-card:first-child{grid-row:span 2;height:456px!important;background:linear-gradient(180deg,#fff,#f8fafc)!important;border-color:#dbeafe!important}
.asgr-spotlight-layout .asgr-review-card:first-child p{-webkit-line-clamp:8!important;font-size:13.5px!important}

/* Row stack */
.asgr-template-row_stack .asgr-list,
.asgr-template-sleek_rows .asgr-list,
.asgr-template-mini_rows .asgr-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.asgr-template-row_stack .asgr-review-card,
.asgr-template-sleek_rows .asgr-review-card,
.asgr-template-mini_rows .asgr-review-card{min-width:0!important;width:100%!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:auto 1fr auto!important;align-items:center!important;gap:14px!important;padding:14px 16px!important;text-align:left!important;box-shadow:0 2px 8px rgba(31,42,68,.03)!important}
.asgr-template-row_stack .asgr-card-top,
.asgr-template-sleek_rows .asgr-card-top,
.asgr-template-mini_rows .asgr-card-top{display:contents!important;margin:0!important}
.asgr-template-row_stack .asgr-avatar,
.asgr-template-sleek_rows .asgr-avatar,
.asgr-template-mini_rows .asgr-avatar{grid-column:1!important;width:34px!important;height:34px!important}
.asgr-template-row_stack .asgr-person,
.asgr-template-sleek_rows .asgr-person,
.asgr-template-mini_rows .asgr-person{grid-column:2!important;min-width:130px!important}
.asgr-template-row_stack .asgr-google-logo,
.asgr-template-sleek_rows .asgr-google-logo,
.asgr-template-mini_rows .asgr-google-logo{grid-column:3!important;grid-row:1!important;align-self:start!important}
.asgr-template-row_stack .asgr-stars,
.asgr-template-sleek_rows .asgr-stars,
.asgr-template-mini_rows .asgr-stars{grid-column:2!important;margin:14px 0 0!important;align-self:end!important}
.asgr-template-row_stack .asgr-review-card p,
.asgr-template-sleek_rows .asgr-review-card p,
.asgr-template-mini_rows .asgr-review-card p{grid-column:2 / 4!important;grid-row:1!important;margin-left:180px!important;padding-right:28px!important;-webkit-line-clamp:2!important;font-size:13px!important;line-height:1.5!important;color:#64748b!important}
.asgr-template-row_stack .asgr-review-card{border-left:3px solid var(--asgr-accent)!important;border-radius:12px!important}
.asgr-template-sleek_rows .asgr-review-card{box-shadow:none!important;border-radius:10px!important;background:#fff!important}
.asgr-template-mini_rows .asgr-review-card{padding:10px 13px!important;border-radius:999px!important;min-height:60px!important}
.asgr-template-mini_rows .asgr-stars{display:none!important}
.asgr-template-mini_rows .asgr-person span{display:none!important}
.asgr-template-mini_rows .asgr-review-card p{margin-left:150px!important;-webkit-line-clamp:1!important}

/* ═══ Responsive ═══ */
@media(max-width:900px){
  .asgr-header{display:block}
  .asgr-rating-pill{margin-top:10px!important}
  .asgr-review-card{min-width:calc((100% - 16px)/2)!important}
  .asgr-template-clinic_grid .asgr-track,
  .asgr-template-clinic_grid .asgr-list{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .asgr-spotlight-layout{grid-template-columns:1fr!important}
  .asgr-spotlight-layout .asgr-review-card:first-child{height:240px!important;grid-row:auto}
  .asgr-template-row_stack .asgr-review-card p,
  .asgr-template-sleek_rows .asgr-review-card p,
  .asgr-template-mini_rows .asgr-review-card p{margin-left:0!important;grid-column:1 / -1!important;grid-row:auto!important}
}
@media(max-width:640px){
  .asgr-widget{padding:22px 10px}
  .asgr-review-card{min-width:100%!important;height:210px!important;min-height:210px!important}
  .asgr-header h2{font-size:24px!important}
  .asgr-template-clinic_grid .asgr-track,
  .asgr-template-clinic_grid .asgr-list{grid-template-columns:1fr!important}
  .asgr-template-spotlight .asgr-review-card:first-child{min-width:100%!important}
  .asgr-template-mini_rows .asgr-review-card{border-radius:14px!important}
}

/* v6.5: full reviews page polished layout */
.asgr-all-reviews{
  --asgr-accent:#38bdf2;
  --asgr-text:#334155;
  --asgr-muted:#64748b;
  --asgr-soft:#f8fafc;
  --asgr-border:#e5e7eb;
  font-family:inherit!important;
  max-width:1120px!important;
  margin:0 auto!important;
  padding:28px 16px!important;
  color:var(--asgr-text)!important;
  box-sizing:border-box!important;
  border:0!important;
  background:transparent!important;
}
.asgr-all-reviews *{box-sizing:border-box!important}
.asgr-all-head{text-align:center!important;margin:0 auto 28px!important;max-width:760px!important}
.asgr-all-head span{display:block!important;color:var(--asgr-accent)!important;font-size:12px!important;line-height:1.2!important;font-weight:700!important;letter-spacing:2.5px!important;text-transform:uppercase!important;margin:0 0 8px!important}
.asgr-all-head h2{font-family:inherit!important;font-size:clamp(30px,4.8vw,52px)!important;line-height:1.05!important;font-weight:700!important;letter-spacing:-.035em!important;color:#334155!important;margin:0 0 10px!important}
.asgr-all-head p{font-size:16px!important;line-height:1.6!important;color:#64748b!important;margin:0!important;font-weight:400!important}
.asgr-all-grid{display:grid!important;grid-template-columns:repeat(var(--asgr-all-cols,3),minmax(0,1fr))!important;gap:22px!important;margin:0!important;padding:0!important;border:0!important}
.asgr-all-card{display:flex!important;flex-direction:column!important;min-height:245px!important;background:#fff!important;border:1px solid #e2e8f0!important;border-radius:18px!important;padding:26px!important;box-shadow:0 12px 28px rgba(15,23,42,.04)!important;color:#334155!important;overflow:hidden!important;position:relative!important;text-align:left!important;margin:0!important}
.asgr-all-stars{font-size:17px!important;line-height:1!important;letter-spacing:2px!important;color:#f6a700!important;margin:0 0 22px!important;font-weight:700!important}
.asgr-all-card p{font-family:inherit!important;font-size:15.5px!important;line-height:1.65!important;font-weight:400!important;color:#64748b!important;margin:0 0 26px!important;display:-webkit-box!important;-webkit-line-clamp:4!important;-webkit-box-orient:vertical!important;overflow:hidden!important;text-align:left!important;min-height:100px!important}
.asgr-all-person{margin-top:auto!important;display:flex!important;align-items:center!important;gap:14px!important;color:#64748b!important}
.asgr-all-person .asgr-avatar{width:44px!important;height:44px!important;border-radius:50%!important;object-fit:cover!important;flex:0 0 44px!important}
.asgr-all-person .asgr-avatar-fallback{display:inline-grid!important;place-items:center!important;color:#fff!important;font-size:18px!important;font-weight:650!important;text-transform:uppercase!important}
.asgr-all-person div{min-width:0!important;display:block!important}
.asgr-all-person strong{display:block!important;font-size:15px!important;line-height:1.25!important;font-weight:650!important;color:#334155!important;margin:0 0 4px!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.asgr-all-person span{display:block!important;font-size:13px!important;line-height:1.25!important;color:#94a3b8!important;margin:0!important;font-weight:500!important;text-transform:none!important;letter-spacing:0!important}
.asgr-all-person .asgr-all-date{margin-top:6px!important;font-size:12px!important;line-height:1.2!important;color:#94a3b8!important;text-transform:uppercase!important;letter-spacing:.04em!important;font-weight:700!important}
.asgr-pagination{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;margin:30px 0 0!important;padding:0!important;border:0!important;flex-wrap:wrap!important}
.asgr-pagination a,.asgr-pagination span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:38px!important;height:38px!important;padding:0 12px!important;border-radius:999px!important;border:1px solid #dbeafe!important;background:#fff!important;color:#2563eb!important;text-decoration:none!important;font-size:14px!important;font-weight:600!important;box-shadow:none!important;line-height:1!important}
.asgr-pagination span{color:#94a3b8!important;border-color:transparent!important;background:transparent!important}
.asgr-pagination .active{background:#2563eb!important;color:#fff!important;border-color:#2563eb!important}
.asgr-all-link{text-align:center!important;margin:26px 0 0!important;padding:0!important;border:0!important}
.asgr-all-link a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;min-height:48px!important;padding:13px 30px!important;border-radius:999px!important;background:#fff!important;border:1px solid #93c5fd!important;color:#2563eb!important;text-decoration:none!important;font-size:15px!important;font-weight:650!important;box-shadow:0 10px 28px rgba(37,99,235,.08)!important;line-height:1!important}
.asgr-all-link a:hover{background:#eff6ff!important;color:#1d4ed8!important}
.asgr-all-empty{padding:24px!important;border:1px solid #e2e8f0!important;border-radius:16px!important;background:#fff!important;text-align:center!important;color:#64748b!important}
.asgr-loading{opacity:.58!important;pointer-events:none!important;position:relative!important}
.asgr-loading:after{content:''!important;position:absolute!important;inset:0!important;border-radius:18px!important;background:rgba(255,255,255,.45)!important;z-index:4!important}

@media (max-width: 900px){
  .asgr-all-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}
  .asgr-all-card{padding:22px!important}
}
@media (max-width: 640px){
  .asgr-all-reviews{padding:22px 14px!important}
  .asgr-all-grid{grid-template-columns:1fr!important}
  .asgr-all-head{text-align:left!important;margin-bottom:20px!important}
  .asgr-all-head h2{font-size:30px!important}
  .asgr-all-card{min-height:220px!important;padding:20px!important;border-radius:16px!important}
  .asgr-all-card p{font-size:15px!important;min-height:0!important}
}

/* v6.6: stronger template differentiation */
.asgr-template-row_clean .asgr-slider,.asgr-template-row_accent .asgr-slider,.asgr-template-row_pill .asgr-slider,.asgr-template-spotlight .asgr-slider{overflow:visible!important}
.asgr-template-row_clean .asgr-list,.asgr-template-row_accent .asgr-list,.asgr-template-row_pill .asgr-list{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}
.asgr-template-row_clean .asgr-review-card,.asgr-template-row_accent .asgr-review-card,.asgr-template-row_pill .asgr-review-card{min-width:0!important;width:100%!important;height:auto!important;min-height:0!important;display:grid!important;grid-template-columns:42px 150px 88px 1fr 22px!important;align-items:center!important;gap:14px!important;padding:14px 18px!important;text-align:left!important;box-shadow:0 3px 12px rgba(15,23,42,.035)!important}
.asgr-template-row_clean .asgr-card-top,.asgr-template-row_accent .asgr-card-top,.asgr-template-row_pill .asgr-card-top{display:contents!important;margin:0!important}
.asgr-template-row_clean .asgr-avatar,.asgr-template-row_accent .asgr-avatar,.asgr-template-row_pill .asgr-avatar{grid-column:1!important;width:34px!important;height:34px!important}
.asgr-template-row_clean .asgr-person,.asgr-template-row_accent .asgr-person,.asgr-template-row_pill .asgr-person{grid-column:2!important;min-width:0!important}
.asgr-template-row_clean .asgr-stars,.asgr-template-row_accent .asgr-stars,.asgr-template-row_pill .asgr-stars{grid-column:3!important;margin:0!important;white-space:nowrap!important}
.asgr-template-row_clean .asgr-review-card p,.asgr-template-row_accent .asgr-review-card p,.asgr-template-row_pill .asgr-review-card p{grid-column:4!important;margin:0!important;-webkit-line-clamp:2!important;font-size:13px!important;line-height:1.5!important;color:#64748b!important}
.asgr-template-row_clean .asgr-google-logo,.asgr-template-row_accent .asgr-google-logo,.asgr-template-row_pill .asgr-google-logo{grid-column:5!important;grid-row:1!important}
.asgr-template-row_clean .asgr-review-card{border-radius:12px!important;background:#fff!important}
.asgr-template-row_accent .asgr-review-card{border-left:4px solid var(--asgr-accent)!important;border-radius:12px!important;background:linear-gradient(90deg,rgba(56,189,242,.045),#fff 34%)!important}
.asgr-template-row_pill .asgr-review-card{border-radius:999px!important;background:#fff!important;padding:12px 20px!important}
.asgr-template-profile_cards .asgr-review-card{align-items:center!important;text-align:center!important;height:230px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}
.asgr-template-profile_cards .asgr-card-top{flex-direction:column!important;gap:7px!important;margin-bottom:7px!important}
.asgr-template-profile_cards .asgr-avatar{width:44px!important;height:44px!important}
.asgr-template-profile_cards .asgr-google-logo{position:absolute!important;right:14px!important;top:14px!important}
.asgr-template-profile_cards .asgr-review-card p{text-align:center!important;-webkit-line-clamp:3!important;max-height:62px!important}
.asgr-template-google_slider .asgr-review-card{border-top:3px solid var(--asgr-accent)!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}
.asgr-template-patient_story .asgr-review-card{border-radius:20px!important;background:#fff!important}
.asgr-template-spotlight .asgr-review-card{border-color:#dbeafe!important}
@media(max-width:800px){.asgr-template-row_clean .asgr-review-card,.asgr-template-row_accent .asgr-review-card,.asgr-template-row_pill .asgr-review-card{grid-template-columns:38px 1fr 22px!important;border-radius:14px!important}.asgr-template-row_clean .asgr-stars,.asgr-template-row_accent .asgr-stars,.asgr-template-row_pill .asgr-stars{grid-column:2!important;grid-row:2!important}.asgr-template-row_clean .asgr-review-card p,.asgr-template-row_accent .asgr-review-card p,.asgr-template-row_pill .asgr-review-card p{grid-column:1/-1!important;grid-row:3!important}.asgr-template-row_clean .asgr-google-logo,.asgr-template-row_accent .asgr-google-logo,.asgr-template-row_pill .asgr-google-logo{grid-column:3!important;grid-row:1!important}}

/* v6.7: all short-review templates run as smooth continuous carousels */
.asgr-widget .asgr-slider{overflow:hidden!important;position:relative!important}
.asgr-slider.asgr-continuous .asgr-track{overflow:visible!important;width:max-content!important;will-change:transform!important;animation:asgrContinuousReviews var(--asgr-marquee-duration,36s) linear infinite!important;scroll-behavior:auto!important}
.asgr-slider.asgr-continuous .asgr-track:hover{animation-play-state:running!important}
.asgr-slider.asgr-continuous .asgr-review-card{flex:0 0 330px!important;min-width:330px!important;max-width:330px!important}
.asgr-template-row_clean .asgr-slider.asgr-continuous .asgr-review-card,
.asgr-template-row_accent .asgr-slider.asgr-continuous .asgr-review-card,
.asgr-template-row_pill .asgr-slider.asgr-continuous .asgr-review-card,
.asgr-template-compact .asgr-slider.asgr-continuous .asgr-review-card{flex:0 0 620px!important;min-width:620px!important;max-width:620px!important;height:104px!important;min-height:104px!important}
.asgr-slider.asgr-continuous .asgr-dots{opacity:.9!important;margin-top:14px!important}
@keyframes asgrContinuousReviews{from{transform:translate3d(0,0,0)}to{transform:translate3d(-50%,0,0)}}
@media(max-width:800px){
  .asgr-slider.asgr-continuous .asgr-review-card{flex-basis:280px!important;min-width:280px!important;max-width:280px!important}
  .asgr-template-row_clean .asgr-slider.asgr-continuous .asgr-review-card,
  .asgr-template-row_accent .asgr-slider.asgr-continuous .asgr-review-card,
  .asgr-template-row_pill .asgr-slider.asgr-continuous .asgr-review-card,
  .asgr-template-compact .asgr-slider.asgr-continuous .asgr-review-card{flex-basis:330px!important;min-width:330px!important;max-width:330px!important;height:148px!important;min-height:148px!important}
}

/* v7.0: distinct front-end templates and motion modes */
.asgr-widget{--asgr-soft-text:#64748b;--asgr-dark-text:#263247;--asgr-soft-line:#e1eaf4;--asgr-card-bg:#fff}
.asgr-template-google_slider .asgr-review-card{border-top:3px solid var(--asgr-accent)!important;background:linear-gradient(180deg,#fff,#f8fbff)!important;border-radius:16px!important}
.asgr-template-clinic_grid .asgr-slider.asgr-continuous .asgr-track{animation:none!important;width:100%!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;transform:none!important;gap:18px!important;overflow:visible!important}.asgr-template-clinic_grid .asgr-slider.asgr-continuous .asgr-review-card{flex:auto!important;min-width:0!important;max-width:none!important;width:100%!important;height:230px!important}.asgr-template-clinic_grid .asgr-dots{display:none!important}
.asgr-template-row_clean .asgr-review-card,.asgr-template-row_accent .asgr-review-card,.asgr-template-row_pill .asgr-review-card{display:grid!important;grid-template-columns:42px 155px 1fr 24px!important;align-items:center!important;gap:14px!important;height:112px!important;min-height:112px!important;padding:16px 18px!important;text-align:left!important}.asgr-template-row_clean .asgr-card-top,.asgr-template-row_accent .asgr-card-top,.asgr-template-row_pill .asgr-card-top{display:contents!important}.asgr-template-row_clean .asgr-avatar,.asgr-template-row_accent .asgr-avatar,.asgr-template-row_pill .asgr-avatar{grid-column:1!important;width:38px!important;height:38px!important}.asgr-template-row_clean .asgr-person,.asgr-template-row_accent .asgr-person,.asgr-template-row_pill .asgr-person{grid-column:2!important;min-width:0!important}.asgr-template-row_clean .asgr-google-logo,.asgr-template-row_accent .asgr-google-logo,.asgr-template-row_pill .asgr-google-logo{grid-column:4!important;grid-row:1!important}.asgr-template-row_clean .asgr-stars,.asgr-template-row_accent .asgr-stars,.asgr-template-row_pill .asgr-stars{grid-column:2!important;grid-row:1!important;margin-top:42px!important;font-size:11px!important}.asgr-template-row_clean .asgr-review-card p,.asgr-template-row_accent .asgr-review-card p,.asgr-template-row_pill .asgr-review-card p{grid-column:3!important;grid-row:1!important;-webkit-line-clamp:2!important;margin:0!important;font-size:13px!important;color:#65748a!important}.asgr-template-row_accent .asgr-review-card{border-left:4px solid var(--asgr-accent)!important;background:linear-gradient(90deg,#f5fbff,#fff)!important}.asgr-template-row_pill .asgr-review-card{border-radius:999px!important;height:92px!important;min-height:92px!important;background:#fff!important;box-shadow:none!important}
.asgr-template-profile_cards .asgr-review-card{text-align:center!important;align-items:center!important;border-radius:18px!important;height:235px!important;min-height:235px!important}.asgr-template-profile_cards .asgr-card-top{flex-direction:column!important;gap:7px!important}.asgr-template-profile_cards .asgr-avatar{width:48px!important;height:48px!important}.asgr-template-profile_cards .asgr-google-logo{position:absolute!important;right:14px!important;top:14px!important}.asgr-template-profile_cards .asgr-review-card p{text-align:center!important;-webkit-line-clamp:3!important;max-height:62px!important}
.asgr-template-patient_story .asgr-review-card{height:260px!important;min-height:260px!important;border-radius:22px!important;text-align:center!important;align-items:center!important;justify-content:center!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}.asgr-template-patient_story .asgr-card-top{flex-direction:column!important}.asgr-template-patient_story .asgr-avatar{width:52px!important;height:52px!important}.asgr-template-patient_story .asgr-google-logo{display:none!important}.asgr-template-patient_story .asgr-review-card p{text-align:center!important;font-size:14px!important;max-width:440px!important}
.asgr-template-spotlight .asgr-review-card{height:245px!important;min-height:245px!important;border-radius:20px!important;background:#fff!important;border-color:#cfeeff!important}.asgr-template-spotlight .asgr-review-card:first-child{background:linear-gradient(180deg,#fff,#f3fbff)!important;transform:scale(1.01)!important}.asgr-template-spotlight .asgr-review-card p{-webkit-line-clamp:5!important;font-size:13.5px!important}
.asgr-template-compact .asgr-review-card{height:96px!important;min-height:96px!important;border-radius:12px!important;padding:13px 16px!important;display:grid!important;grid-template-columns:36px 1fr 68px 22px!important;gap:12px!important;align-items:center!important;box-shadow:none!important}.asgr-template-compact .asgr-card-top{display:contents!important}.asgr-template-compact .asgr-avatar{grid-column:1!important;width:34px!important;height:34px!important}.asgr-template-compact .asgr-person{grid-column:2!important}.asgr-template-compact .asgr-stars{grid-column:3!important;grid-row:1!important;margin:0!important}.asgr-template-compact .asgr-google-logo{grid-column:4!important;grid-row:1!important}.asgr-template-compact .asgr-review-card p{grid-column:2 / 5!important;grid-row:2!important;-webkit-line-clamp:1!important;font-size:12.5px!important}
.asgr-slider:not(.asgr-continuous) .asgr-track{overflow:hidden!important;width:100%!important;transform:none!important;animation:none!important}.asgr-slider:not(.asgr-continuous) .asgr-review-card{flex:0 0 calc((100% - 32px)/3)!important;min-width:calc((100% - 32px)/3)!important;max-width:calc((100% - 32px)/3)!important}.asgr-slider.asgr-continuous .asgr-track{display:flex!important;gap:16px!important}.asgr-template-row_clean .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-row_accent .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-row_pill .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-compact .asgr-slider.asgr-continuous .asgr-review-card{flex:0 0 620px!important;min-width:620px!important;max-width:620px!important}.asgr-template-profile_cards .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-patient_story .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-spotlight .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-google_slider .asgr-slider.asgr-continuous .asgr-review-card{flex:0 0 330px!important;min-width:330px!important;max-width:330px!important}
@media(max-width:800px){.asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:100%!important;min-width:100%!important;max-width:100%!important}.asgr-template-clinic_grid .asgr-slider.asgr-continuous .asgr-track{grid-template-columns:1fr!important}.asgr-template-row_clean .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-row_accent .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-row_pill .asgr-slider.asgr-continuous .asgr-review-card,.asgr-template-compact .asgr-slider.asgr-continuous .asgr-review-card{flex-basis:330px!important;min-width:330px!important;max-width:330px!important}.asgr-template-row_clean .asgr-review-card,.asgr-template-row_accent .asgr-review-card,.asgr-template-row_pill .asgr-review-card{grid-template-columns:38px 1fr 22px!important;height:145px!important;min-height:145px!important;border-radius:16px!important}.asgr-template-row_clean .asgr-stars,.asgr-template-row_accent .asgr-stars,.asgr-template-row_pill .asgr-stars{grid-column:2!important;grid-row:2!important;margin:0!important}.asgr-template-row_clean .asgr-review-card p,.asgr-template-row_accent .asgr-review-card p,.asgr-template-row_pill .asgr-review-card p{grid-column:1/-1!important;grid-row:3!important}.asgr-template-row_clean .asgr-google-logo,.asgr-template-row_accent .asgr-google-logo,.asgr-template-row_pill .asgr-google-logo{grid-column:3!important;grid-row:1!important}}

/* center loading spinners precisely */
.asgr-btn.asgr-loading:after{left:50%!important;top:50%!important;margin-left:-7px!important;margin-top:-7px!important}
/* v7.0 final: Clinic Grid still participates in carousel/marquee while keeping card design */
.asgr-template-clinic_grid .asgr-slider.asgr-continuous .asgr-track{display:flex!important;width:max-content!important;gap:16px!important;overflow:visible!important;animation:asgrContinuousReviews var(--asgr-marquee-duration,36s) linear infinite!important;transform:none;}
.asgr-template-clinic_grid .asgr-slider.asgr-continuous .asgr-review-card{flex:0 0 330px!important;min-width:330px!important;max-width:330px!important;height:230px!important;min-height:230px!important;text-align:center!important;align-items:center!important}.asgr-template-clinic_grid .asgr-slider.asgr-continuous .asgr-dots{display:flex!important}.asgr-template-clinic_grid .asgr-card-top{width:100%!important}.asgr-template-clinic_grid .asgr-review-card p{text-align:center!important}

/* v7.2 template registry: final front-end variants. These rules intentionally
   mirror the template cards so each selected template has a distinct output. */
.asgr-widget{--asgr-accent:#38bdf8;--asgr-soft-text:#66758d;--asgr-strong-text:#26344d}
.asgr-widget .asgr-slider.asgr-continuous .asgr-track{display:flex!important;gap:16px!important;width:max-content!important;overflow:visible!important;animation:asgrContinuousReviews var(--asgr-marquee-duration,36s) linear infinite!important;will-change:transform!important}
.asgr-widget .asgr-slider.asgr-continuous .asgr-track:hover{animation-play-state:running!important}
.asgr-widget .asgr-slider:not(.asgr-continuous) .asgr-track{display:flex!important;gap:16px!important;overflow:hidden!important;animation:none!important;transform:none!important;width:100%!important}
.asgr-widget .asgr-review-card{position:relative!important;color:var(--asgr-strong-text)!important}
.asgr-widget .asgr-person strong{color:var(--asgr-strong-text)!important}.asgr-widget .asgr-review-card p{color:var(--asgr-soft-text)!important;font-weight:400!important}.asgr-widget .asgr-person span{color:#8a9ab2!important}

/* 1. Google Slider: classic equal cards with top accent */
.asgr-template-google_slider .asgr-review-card{flex:0 0 330px!important;min-width:330px!important;max-width:330px!important;height:218px!important;min-height:218px!important;border-radius:16px!important;border-top:3px solid var(--asgr-accent)!important;background:#fff!important;box-shadow:0 8px 22px rgba(15,23,42,.045)!important}.asgr-template-google_slider .asgr-card-top{margin-bottom:10px!important}.asgr-template-google_slider .asgr-review-card p{-webkit-line-clamp:4!important}
.asgr-template-google_slider .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:calc((100% - 32px)/3)!important;min-width:calc((100% - 32px)/3)!important;max-width:calc((100% - 32px)/3)!important}

/* 2. Clinic Grid: centered patient cards */
.asgr-template-clinic_grid .asgr-slider.asgr-continuous .asgr-track{display:flex!important;width:max-content!important;grid-template-columns:none!important;animation:asgrContinuousReviews var(--asgr-marquee-duration,36s) linear infinite!important}
.asgr-template-clinic_grid .asgr-review-card{flex:0 0 310px!important;min-width:310px!important;max-width:310px!important;height:235px!important;min-height:235px!important;text-align:center!important;align-items:center!important;border-radius:18px!important;background:linear-gradient(180deg,#fff,#fbfdff)!important}.asgr-template-clinic_grid .asgr-card-top{flex-direction:column!important;gap:7px!important;margin-bottom:5px!important}.asgr-template-clinic_grid .asgr-google-logo{position:absolute!important;right:16px!important;top:16px!important}.asgr-template-clinic_grid .asgr-avatar{width:42px!important;height:42px!important}.asgr-template-clinic_grid .asgr-person strong{text-align:center!important;font-size:13px!important}.asgr-template-clinic_grid .asgr-review-card .asgr-stars{text-align:center!important;margin:5px 0 10px!important}.asgr-template-clinic_grid .asgr-review-card p{text-align:center!important;-webkit-line-clamp:3!important}.asgr-template-clinic_grid .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:calc((100% - 32px)/3)!important;min-width:calc((100% - 32px)/3)!important;max-width:calc((100% - 32px)/3)!important}

/* 3. Clean Rows: wide white rows */
.asgr-template-row_clean .asgr-review-card{flex:0 0 680px!important;min-width:680px!important;max-width:680px!important;height:112px!important;min-height:112px!important;display:grid!important;grid-template-columns:40px 150px 78px 1fr 22px!important;gap:14px!important;align-items:center!important;padding:16px 18px!important;border-radius:14px!important;background:#fff!important;box-shadow:0 4px 14px rgba(15,23,42,.035)!important}.asgr-template-row_clean .asgr-card-top{display:contents!important}.asgr-template-row_clean .asgr-avatar{grid-column:1!important;width:38px!important;height:38px!important}.asgr-template-row_clean .asgr-person{grid-column:2!important}.asgr-template-row_clean .asgr-stars{grid-column:3!important;grid-row:1!important;margin:0!important}.asgr-template-row_clean .asgr-review-card p{grid-column:4!important;grid-row:1!important;margin:0!important;-webkit-line-clamp:2!important}.asgr-template-row_clean .asgr-google-logo{grid-column:5!important;grid-row:1!important}.asgr-template-row_clean .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:100%!important;min-width:100%!important;max-width:100%!important}

/* 4. Accent Rows: same row concept, visually different blue rail */
.asgr-template-row_accent .asgr-review-card{flex:0 0 680px!important;min-width:680px!important;max-width:680px!important;height:118px!important;min-height:118px!important;display:grid!important;grid-template-columns:4px 40px 150px 1fr 82px!important;gap:14px!important;align-items:center!important;padding:16px 18px!important;border-radius:16px!important;background:linear-gradient(90deg,rgba(56,189,248,.08),#fff 36%)!important;border-left:0!important;box-shadow:0 5px 18px rgba(56,189,248,.055)!important}.asgr-template-row_accent .asgr-review-card:before{content:""!important;grid-column:1!important;width:4px!important;height:70px!important;background:var(--asgr-accent)!important;border-radius:999px!important}.asgr-template-row_accent .asgr-card-top{display:contents!important}.asgr-template-row_accent .asgr-avatar{grid-column:2!important;width:38px!important;height:38px!important}.asgr-template-row_accent .asgr-person{grid-column:3!important}.asgr-template-row_accent .asgr-review-card p{grid-column:4!important;grid-row:1!important;-webkit-line-clamp:2!important;margin:0!important}.asgr-template-row_accent .asgr-stars{grid-column:5!important;grid-row:1!important;margin:0!important;justify-self:end!important}.asgr-template-row_accent .asgr-google-logo{position:absolute!important;right:18px!important;bottom:14px!important}.asgr-template-row_accent .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:100%!important;min-width:100%!important;max-width:100%!important}

/* 5. Pill Rows: round ticker-like row cards */
.asgr-template-row_pill .asgr-review-card{flex:0 0 660px!important;min-width:660px!important;max-width:660px!important;height:86px!important;min-height:86px!important;display:grid!important;grid-template-columns:40px 140px 82px 1fr!important;gap:13px!important;align-items:center!important;padding:14px 22px!important;border-radius:999px!important;background:#fff!important;box-shadow:none!important}.asgr-template-row_pill .asgr-card-top{display:contents!important}.asgr-template-row_pill .asgr-avatar{grid-column:1!important;width:36px!important;height:36px!important}.asgr-template-row_pill .asgr-person{grid-column:2!important}.asgr-template-row_pill .asgr-stars{grid-column:3!important;grid-row:1!important;margin:0!important}.asgr-template-row_pill .asgr-review-card p{grid-column:4!important;grid-row:1!important;-webkit-line-clamp:1!important;margin:0!important}.asgr-template-row_pill .asgr-google-logo{display:none!important}.asgr-template-row_pill .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:100%!important;min-width:100%!important;max-width:100%!important}

/* 6. Profile Cards: photo first */
.asgr-template-profile_cards .asgr-review-card{flex:0 0 300px!important;min-width:300px!important;max-width:300px!important;height:245px!important;min-height:245px!important;text-align:center!important;align-items:center!important;border-radius:20px!important;background:linear-gradient(180deg,#fff,#f8fbff)!important}.asgr-template-profile_cards .asgr-card-top{flex-direction:column!important;gap:8px!important;margin-bottom:6px!important}.asgr-template-profile_cards .asgr-avatar{width:50px!important;height:50px!important}.asgr-template-profile_cards .asgr-google-logo{position:absolute!important;top:16px!important;right:16px!important}.asgr-template-profile_cards .asgr-review-card .asgr-stars{text-align:center!important;margin:5px 0 10px!important}.asgr-template-profile_cards .asgr-review-card p{text-align:center!important;-webkit-line-clamp:3!important;max-height:62px!important}.asgr-template-profile_cards .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:calc((100% - 32px)/3)!important;min-width:calc((100% - 32px)/3)!important;max-width:calc((100% - 32px)/3)!important}

/* 7. Patient Story: large soft centered quote */
.asgr-template-patient_story .asgr-review-card{flex:0 0 520px!important;min-width:520px!important;max-width:520px!important;height:260px!important;min-height:260px!important;text-align:center!important;align-items:center!important;justify-content:center!important;border-radius:22px!important;border-color:#cfeeff!important;background:linear-gradient(180deg,#fff,#f2fbff)!important}.asgr-template-patient_story .asgr-card-top{flex-direction:column!important;gap:8px!important;margin-bottom:6px!important}.asgr-template-patient_story .asgr-google-logo{display:none!important}.asgr-template-patient_story .asgr-avatar{width:48px!important;height:48px!important}.asgr-template-patient_story .asgr-review-card:before{content:"“";position:absolute;right:26px;top:12px;color:#b8ebfb;font-size:68px;line-height:1;font-weight:800}.asgr-template-patient_story .asgr-review-card p{text-align:center!important;max-width:410px!important;-webkit-line-clamp:5!important;font-size:14px!important}.asgr-template-patient_story .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:100%!important;min-width:100%!important;max-width:100%!important}

/* 8. Spotlight: larger card feel */
.asgr-template-spotlight .asgr-review-card{flex:0 0 410px!important;min-width:410px!important;max-width:410px!important;height:250px!important;min-height:250px!important;border-radius:22px!important;border-color:#cfeeff!important;background:#fff!important}.asgr-template-spotlight .asgr-review-card:first-child{flex-basis:520px!important;min-width:520px!important;max-width:520px!important;background:linear-gradient(180deg,#fff,#f4fbff)!important}.asgr-template-spotlight .asgr-review-card:first-child p{-webkit-line-clamp:6!important;font-size:14px!important}.asgr-template-spotlight .asgr-google-logo{position:absolute!important;right:16px!important;top:16px!important}.asgr-template-spotlight .asgr-slider:not(.asgr-continuous) .asgr-review-card{flex-basis:calc((100% - 32px)/3)!important;min-width:calc((100% - 32px)/3)!important;max-width:calc((100% - 32px)/3)!important}

@media(max-width:800px){.asgr-template-google_slider .asgr-review-card,.asgr-template-clinic_grid .asgr-review-card,.asgr-template-profile_cards .asgr-review-card,.asgr-template-spotlight .asgr-review-card,.asgr-template-spotlight .asgr-review-card:first-child{flex-basis:310px!important;min-width:310px!important;max-width:310px!important}.asgr-template-patient_story .asgr-review-card{flex-basis:320px!important;min-width:320px!important;max-width:320px!important}.asgr-template-row_clean .asgr-review-card,.asgr-template-row_accent .asgr-review-card,.asgr-template-row_pill .asgr-review-card{flex-basis:330px!important;min-width:330px!important;max-width:330px!important;height:142px!important;min-height:142px!important;border-radius:16px!important;grid-template-columns:38px 1fr 22px!important}.asgr-template-row_clean .asgr-stars,.asgr-template-row_accent .asgr-stars,.asgr-template-row_pill .asgr-stars{grid-column:2!important;grid-row:2!important}.asgr-template-row_clean .asgr-review-card p,.asgr-template-row_accent .asgr-review-card p,.asgr-template-row_pill .asgr-review-card p{grid-column:1/-1!important;grid-row:3!important}.asgr-template-row_clean .asgr-google-logo,.asgr-template-row_accent .asgr-google-logo{grid-column:3!important;grid-row:1!important;position:static!important}.asgr-template-row_accent .asgr-review-card:before{display:none!important}}

/* v7.3 all-reviews premium summary header */
.asgr-all-summary{max-width:1120px;margin:0 auto 34px;padding:10px 18px 4px;text-align:center;background:transparent!important;border:0!important;box-shadow:none!important;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px}
.asgr-all-summary-copy{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.asgr-all-summary-copy span{display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px;color:var(--asgr-accent,#04BBF0);font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase}
.asgr-all-summary-copy h2{font-family:inherit!important;margin:0!important;font-size:clamp(34px,4.5vw,54px)!important;line-height:1.05!important;font-weight:720!important;letter-spacing:-.045em!important;color:#444b57!important;text-align:center}
.asgr-all-summary-copy h2 mark{background:transparent!important;color:var(--asgr-accent,#04BBF0)!important;padding:0!important}
.asgr-all-summary-copy p{margin:12px 0 0!important;color:#6b7280!important;font-size:16px!important;line-height:1.55!important;text-align:center}
.asgr-all-summary-rating{display:inline-flex;align-items:center;justify-content:center;gap:8px 10px;flex-wrap:wrap;padding:13px 22px;border:1px solid #dbeafe;border-radius:999px;background:#fff;box-shadow:0 12px 30px rgba(31,42,68,.045);color:#64748b}
.asgr-all-summary-rating strong{font-size:26px;line-height:1;font-weight:760;color:#334155;letter-spacing:-.03em}
.asgr-all-summary-rating span{font-size:17px;letter-spacing:1.8px;color:#f59e0b;white-space:nowrap}
.asgr-all-summary-rating em{font-style:normal;color:#64748b;font-size:14px;white-space:nowrap}
@media(max-width:760px){.asgr-all-summary{padding:6px 12px;margin-bottom:24px;gap:16px}.asgr-all-summary-copy h2{font-size:34px!important}.asgr-all-summary-rating{padding:12px 16px}.asgr-all-summary-rating strong{font-size:24px}.asgr-all-summary-rating span{font-size:15px}.asgr-all-summary-rating em{font-size:13px}}



/* v7.5 Theme-aware premium color system */
.asgr-widget,
.asgr-all-reviews{
  --asgr-theme-accent: var(--e-global-color-primary, var(--wp--preset--color--primary, var(--global-palette1, var(--ast-global-color-0, var(--asgr-fallback-accent, #38bdf2))));
  --asgr-accent: var(--asgr-manual-accent, var(--asgr-theme-accent));
  --asgr-heading: #334155;
  --asgr-body: #64748b;
  --asgr-soft: #94a3b8;
  --asgr-border-soft: #eef2f7;
  --asgr-card-bg: rgba(255,255,255,.94);
  color: var(--asgr-body)!important;
  font-family: inherit!important;
}
.asgr-widget :where(h1,h2,h3,h4,strong),
.asgr-all-reviews :where(h1,h2,h3,h4,strong){color:var(--asgr-heading)!important}
.asgr-widget :where(p,span,em),
.asgr-all-reviews :where(p,span,em){color:var(--asgr-body)}
.asgr-header h2,
.asgr-all-summary-copy h2,
.asgr-all-head h2{color:var(--asgr-heading)!important;font-weight:640!important;letter-spacing:-.025em!important}
.asgr-header span,
.asgr-all-summary-copy>span,
.asgr-all-head>span{color:var(--asgr-accent)!important;font-weight:650!important;opacity:.95!important}
.asgr-all-summary-copy h2 mark{color:var(--asgr-accent)!important;background:transparent!important}
.asgr-review-card,
.asgr-all-card{background:var(--asgr-card-bg)!important;border-color:var(--asgr-border-soft)!important;box-shadow:0 8px 24px rgba(15,23,42,.045)!important;color:var(--asgr-body)!important}
.asgr-review-card:hover,
.asgr-all-card:hover{border-color:color-mix(in srgb, var(--asgr-accent) 22%, #e5e7eb)!important;box-shadow:0 12px 30px rgba(15,23,42,.06)!important}
.asgr-person strong,
.asgr-all-person strong{color:var(--asgr-heading)!important;font-weight:590!important}
.asgr-person span,
.asgr-all-person span,
.asgr-all-date{color:var(--asgr-soft)!important;font-weight:450!important}
.asgr-review-card p,
.asgr-all-card p{color:var(--asgr-body)!important;font-weight:380!important;letter-spacing:0!important}
.asgr-rating-pill,
.asgr-all-summary-rating{border-color:var(--asgr-border-soft)!important;background:rgba(255,255,255,.88)!important;color:var(--asgr-body)!important;box-shadow:0 8px 22px rgba(15,23,42,.04)!important}
.asgr-rating-pill b,
.asgr-all-summary-rating strong{color:var(--asgr-heading)!important}
.asgr-more a,
.asgr-pagination .active,
.asgr-pagination a:hover{background:var(--asgr-accent)!important;border-color:var(--asgr-accent)!important;color:#fff!important}
.asgr-dots button.active{background:var(--asgr-accent)!important}
.asgr-all-summary{max-width:820px!important;margin:0 auto 30px!important;text-align:center!important;padding:8px 16px!important}
.asgr-all-summary-copy{display:flex!important;flex-direction:column!important;align-items:center!important;text-align:center!important}
.asgr-all-summary-copy p{max-width:560px!important;color:var(--asgr-body)!important;font-weight:400!important;margin:8px auto 0!important}
.asgr-all-summary-rating{margin:18px auto 0!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;border-radius:999px!important;padding:9px 15px!important}
.asgr-all-summary-rating span{color:#f6a700!important}
.asgr-all-summary-rating em{color:var(--asgr-body)!important;font-style:normal!important;font-size:12.5px!important}

/* Smile Gallery module */
.asgr-smile-gallery{--asgr-smile-accent:var(--asgr-accent,var(--e-global-color-primary,var(--wp--preset--color--primary,#2b7de9)));font-family:inherit;width:100%;max-width:1240px;margin:0 auto;padding:58px clamp(16px,3vw,34px) 70px;color:#27364d;background:radial-gradient(circle at 2% 0%,rgba(43,125,233,.10),transparent 31%),radial-gradient(circle at 98% 6%,rgba(43,125,233,.07),transparent 30%);box-sizing:border-box}.asgr-smile-gallery *{box-sizing:border-box}.asgr-smile-head{text-align:center;margin:0 auto 22px;max-width:780px}.asgr-smile-icon{display:inline-grid;place-items:center;width:28px;height:28px;color:var(--asgr-smile-accent);font-size:20px;margin-bottom:8px}.asgr-smile-head h2{font-size:clamp(34px,5vw,54px);line-height:1.04;margin:0;color:#243a60;letter-spacing:-.045em;font-weight:800}.asgr-smile-head h2::after{content:"";display:block;width:150px;height:2px;background:linear-gradient(90deg,transparent,var(--asgr-smile-accent),transparent);margin:16px auto 0}.asgr-smile-head p{font-size:clamp(15px,1.7vw,18px);color:#667085;margin:18px 0 0}.asgr-smile-tabs{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap;margin:28px auto 34px}.asgr-smile-tabs button{appearance:none;border:0;background:transparent;color:#255895;font:600 14px/1.2 inherit;padding:10px 18px;border-radius:999px;cursor:pointer;transition:all .2s ease}.asgr-smile-tabs button.active,.asgr-smile-tabs button:hover{background:var(--asgr-smile-accent);color:#fff;box-shadow:0 12px 28px rgba(43,125,233,.18)}.asgr-smile-list{display:grid;grid-template-columns:1fr!important;gap:14px;width:100%}.asgr-smile-cols-2 .asgr-smile-list,.asgr-smile-cols-3 .asgr-smile-list{grid-template-columns:1fr!important}.asgr-smile-card{display:grid;grid-template-columns:minmax(0,1.42fr) minmax(260px,.78fr);align-items:center;gap:34px;width:100%;background:#fff;border:1px solid #e4edf7;border-radius:12px;padding:16px clamp(18px,2.4vw,34px) 16px 16px;box-shadow:0 10px 34px rgba(16,40,77,.08);transition:transform .2s ease,box-shadow .2s ease}.asgr-smile-card:hover{transform:translateY(-2px);box-shadow:0 16px 42px rgba(16,40,77,.11)}.asgr-smile-images{position:relative;display:grid;grid-template-columns:1fr 1fr;gap:6px;align-items:stretch}.asgr-smile-images figure{position:relative;margin:0;overflow:hidden;border-radius:6px;background:#f2f6fb;min-height:210px}.asgr-smile-images img{display:block;width:100%;height:230px;object-fit:cover;object-position:center}.asgr-smile-images figcaption{position:absolute;top:9px;left:9px;padding:6px 9px;border-radius:4px;background:#1f2a3d;color:#fff;text-transform:uppercase;font-size:11px;line-height:1;font-weight:800;letter-spacing:.06em}.asgr-smile-images figure:nth-of-type(2) figcaption{background:var(--asgr-smile-accent)}.asgr-smile-arrow{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:2;width:46px;height:46px;border-radius:999px;background:#fff;color:var(--asgr-smile-accent);display:grid;place-items:center;font-size:22px;font-weight:800;box-shadow:0 8px 22px rgba(16,40,77,.14)}.asgr-smile-copy h3{font-size:clamp(22px,2vw,30px);line-height:1.12;margin:0 0 12px;color:#27446f;font-weight:800;letter-spacing:-.025em}.asgr-smile-copy p{color:#5f6b7c;line-height:1.72;margin:0 0 18px;font-size:15px;max-width:36em}.asgr-smile-copy a{color:var(--asgr-smile-accent);font-weight:800;text-decoration:none}.asgr-smile-card.asgr-hidden{display:none!important}@media(max-width:900px){.asgr-smile-card{grid-template-columns:1fr;gap:18px;padding:14px}.asgr-smile-copy{padding:0 4px 6px}.asgr-smile-images img{height:210px}.asgr-smile-images figure{min-height:190px}}@media(max-width:560px){.asgr-smile-gallery{padding:38px 14px 48px}.asgr-smile-tabs{gap:8px;justify-content:flex-start;overflow:auto;flex-wrap:nowrap;padding-bottom:4px}.asgr-smile-tabs button{white-space:nowrap}.asgr-smile-images{gap:4px}.asgr-smile-images img{height:150px}.asgr-smile-images figure{min-height:145px}.asgr-smile-arrow{width:38px;height:38px;font-size:18px}.asgr-smile-card{border-radius:14px}.asgr-smile-head h2{font-size:36px}}


/* v9.1 Smile Gallery polish: neutral image panel + premium lightbox */
.asgr-smile-gallery{background:linear-gradient(180deg,#fbfcfe 0%,#f8fafc 100%)!important;}
.asgr-smile-card{border-color:#e7edf5!important;background:#fff!important;box-shadow:0 12px 32px rgba(15,23,42,.055)!important;border-radius:18px!important;}
.asgr-smile-card:hover{box-shadow:0 20px 48px rgba(15,23,42,.085)!important;}
.asgr-smile-images{background:#f8fafc!important;border:1px solid #eef2f7!important;border-radius:16px!important;padding:8px!important;gap:8px!important;}
.asgr-smile-images figure{background:#f7f9fc!important;border-radius:12px!important;}
.asgr-smile-images img{border-radius:12px!important;}
.asgr-smile-arrow{width:44px!important;height:44px!important;background:#fff!important;color:#111827!important;box-shadow:0 12px 28px rgba(15,23,42,.16)!important;}
.asgr-smile-images figcaption,.asgr-smile-lightbox-grid figcaption{background:rgba(17,24,39,.94)!important;border-radius:8px!important;padding:8px 12px!important;}
.asgr-smile-images figure:nth-of-type(2) figcaption,.asgr-smile-lightbox-grid figure:nth-child(2) figcaption{background:rgba(17,24,39,.94)!important;}
.asgr-smile-lightbox{background:rgba(17,24,39,.68)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important;}
.asgr-smile-lightbox-inner{width:min(1180px,94vw)!important;border-radius:26px!important;padding:24px!important;box-shadow:0 32px 90px rgba(2,8,23,.28)!important;}
.asgr-smile-lightbox-close{position:absolute!important;top:18px!important;right:18px!important;width:48px!important;height:48px!important;border-radius:999px!important;border:1px solid rgba(226,232,240,.92)!important;background:rgba(255,255,255,.96)!important;color:#475467!important;font-size:0!important;line-height:1!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;box-shadow:0 12px 30px rgba(15,23,42,.16)!important;transition:transform .2s ease,background .2s ease,color .2s ease!important;}
.asgr-smile-lightbox-close::before,.asgr-smile-lightbox-close::after{content:"";position:absolute;width:18px;height:2px;background:currentColor;border-radius:999px;top:50%;left:50%;transform-origin:center;}
.asgr-smile-lightbox-close::before{transform:translate(-50%,-50%) rotate(45deg);}
.asgr-smile-lightbox-close::after{transform:translate(-50%,-50%) rotate(-45deg);}
.asgr-smile-lightbox-close:hover{background:#fff!important;color:#111827!important;transform:rotate(90deg) scale(1.04)!important;}
.asgr-smile-lightbox-grid{gap:16px!important;}
.asgr-smile-lightbox-grid figure{background:#f8fafc!important;border-radius:18px!important;}
.asgr-smile-lightbox-grid img{background:#fbfcfe!important;border-radius:18px!important;}
.asgr-smile-lightbox-arrow{color:#111827!important;background:#fff!important;box-shadow:0 16px 36px rgba(15,23,42,.18)!important;}
@media(max-width:720px){.asgr-smile-lightbox-close{top:12px!important;right:12px!important;width:42px!important;height:42px!important}.asgr-smile-lightbox-close::before,.asgr-smile-lightbox-close::after{width:16px}.asgr-smile-images{padding:6px!important;gap:6px!important}.asgr-smile-lightbox-inner{padding:14px!important;border-radius:20px!important}}

/* Smile Gallery category tabs polish - v1.0.0 */
.asgr-smile-tabs{
  width:min(100%,1120px)!important;
  margin:26px auto 34px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:10px 12px!important;
  padding:0 12px!important;
}
.asgr-smile-tabs button{
  appearance:none!important;
  border:1px solid #e7edf5!important;
  background:rgba(255,255,255,.72)!important;
  color:#35577f!important;
  font:700 13px/1.15 inherit!important;
  padding:8px 15px!important;
  min-height:38px!important;
  border-radius:999px!important;
  box-shadow:0 8px 22px rgba(15,23,42,.035)!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  transform:translateY(0)!important;
  transition:background .22s ease,color .22s ease,border-color .22s ease,box-shadow .22s ease,transform .22s ease,padding .22s ease,font-size .22s ease!important;
}
.asgr-smile-tabs button:hover{
  background:#f8fafc!important;
  border-color:rgba(53,87,127,.2)!important;
  color:#1f3f68!important;
  box-shadow:0 10px 26px rgba(15,23,42,.055)!important;
  transform:translateY(-1px)!important;
}
.asgr-smile-tabs button.active{
  background:#0f172a!important;
  border-color:#0f172a!important;
  color:#fff!important;
  font-size:15px!important;
  min-height:46px!important;
  padding:11px 22px!important;
  box-shadow:0 16px 36px rgba(15,23,42,.14)!important;
}
.asgr-smile-tabs button:focus-visible{
  outline:3px solid rgba(43,125,233,.22)!important;
  outline-offset:3px!important;
}
@media (max-width:780px){
  .asgr-smile-tabs{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    padding:0 18px 8px!important;
    margin:22px auto 28px!important;
    scrollbar-width:none!important;
  }
  .asgr-smile-tabs::-webkit-scrollbar{display:none!important;}
  .asgr-smile-tabs button{scroll-snap-align:start!important;flex:0 0 auto!important;font-size:12.5px!important;padding:8px 13px!important;min-height:36px!important;}
  .asgr-smile-tabs button.active{font-size:14px!important;padding:10px 18px!important;min-height:42px!important;}
}
@media (min-width:781px){
  .asgr-smile-tabs:has(button:nth-child(n+7)){
    max-width:980px!important;
  }
  .asgr-smile-tabs:has(button:nth-child(n+7)) button:not(.active){
    font-size:12.5px!important;
    padding:7px 13px!important;
    min-height:36px!important;
  }
}

/* Smile Gallery filters final polish - compact dynamic category pills */
.asgr-smile-gallery .asgr-smile-tabs{
  width:min(100%,1180px)!important;
  margin:24px auto 34px!important;
  padding:6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:9px!important;
  border-radius:999px!important;
  background:rgba(248,250,252,.82)!important;
  border:1px solid rgba(226,232,240,.72)!important;
  box-shadow:0 12px 34px rgba(15,23,42,.035)!important;
}
.asgr-smile-gallery .asgr-smile-tabs button{
  appearance:none!important;
  border:1px solid rgba(226,232,240,.95)!important;
  background:rgba(255,255,255,.88)!important;
  color:#48607f!important;
  font:700 13px/1.1 inherit!important;
  letter-spacing:-.01em!important;
  padding:9px 15px!important;
  min-height:38px!important;
  border-radius:999px!important;
  box-shadow:none!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  opacity:.86!important;
  transform:none!important;
  transition:all .22s ease!important;
}
.asgr-smile-gallery .asgr-smile-tabs button:hover{
  opacity:1!important;
  background:#fff!important;
  color:#243a60!important;
  border-color:rgba(148,163,184,.45)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 8px 20px rgba(15,23,42,.06)!important;
}
.asgr-smile-gallery .asgr-smile-tabs button.active{
  opacity:1!important;
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
  font-size:15px!important;
  min-height:46px!important;
  padding:12px 24px!important;
  box-shadow:0 14px 32px rgba(15,23,42,.16)!important;
  transform:none!important;
}
.asgr-smile-gallery .asgr-smile-tabs button:focus-visible{
  outline:3px solid rgba(43,125,233,.18)!important;
  outline-offset:3px!important;
}
@media (min-width:901px){
  .asgr-smile-gallery .asgr-smile-tabs:has(button:nth-child(n+7)){
    border-radius:24px!important;
    max-width:1060px!important;
    padding:10px!important;
  }
  .asgr-smile-gallery .asgr-smile-tabs:has(button:nth-child(n+7)) button:not(.active){
    font-size:12.5px!important;
    min-height:36px!important;
    padding:8px 13px!important;
  }
}
@media (max-width:720px){
  .asgr-smile-gallery .asgr-smile-tabs{
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    border-radius:18px!important;
    padding:8px!important;
    gap:8px!important;
    scrollbar-width:none!important;
  }
  .asgr-smile-gallery .asgr-smile-tabs::-webkit-scrollbar{display:none!important;}
  .asgr-smile-gallery .asgr-smile-tabs button{flex:0 0 auto!important;scroll-snap-align:start!important;font-size:12.5px!important;min-height:36px!important;padding:8px 13px!important;}
  .asgr-smile-gallery .asgr-smile-tabs button.active{font-size:14px!important;min-height:42px!important;padding:10px 18px!important;}
}

/* v1.0.0 Smile Gallery category tabs final containment polish
   Scoped only to the plugin gallery so it cannot affect WordPress/Elementor UI. */
.asgr-smile-gallery .asgr-smile-tabs{
  width:fit-content!important;
  max-width:min(100%,1080px)!important;
  margin:22px auto 32px!important;
  padding:7px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  flex-wrap:wrap!important;
  gap:8px!important;
  border-radius:28px!important;
  background:rgba(248,250,252,.72)!important;
  border:1px solid rgba(226,232,240,.68)!important;
  box-shadow:0 10px 28px rgba(15,23,42,.028)!important;
}
.asgr-smile-gallery .asgr-smile-tabs button{
  flex:0 0 auto!important;
  appearance:none!important;
  border:1px solid rgba(226,232,240,.9)!important;
  background:rgba(255,255,255,.78)!important;
  color:#6b7c93!important;
  font:650 12.5px/1.15 inherit!important;
  letter-spacing:-.012em!important;
  padding:8px 14px!important;
  min-height:35px!important;
  border-radius:999px!important;
  box-shadow:none!important;
  cursor:pointer!important;
  white-space:nowrap!important;
  opacity:.82!important;
  transform:none!important;
  transition:background .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease,transform .2s ease,opacity .2s ease!important;
}
.asgr-smile-gallery .asgr-smile-tabs button:hover{
  opacity:1!important;
  background:#fff!important;
  color:#334155!important;
  border-color:rgba(148,163,184,.42)!important;
  transform:translateY(-1px)!important;
  box-shadow:0 7px 18px rgba(15,23,42,.045)!important;
}
.asgr-smile-gallery .asgr-smile-tabs button.active{
  opacity:1!important;
  background:#0f172a!important;
  color:#fff!important;
  border-color:#0f172a!important;
  font-size:14px!important;
  font-weight:800!important;
  min-height:43px!important;
  padding:10px 22px!important;
  box-shadow:0 12px 28px rgba(15,23,42,.14)!important;
}
.asgr-smile-gallery .asgr-smile-tabs button:focus-visible{
  outline:3px solid rgba(59,130,246,.18)!important;
  outline-offset:2px!important;
}
.asgr-smile-gallery .asgr-smile-tabs:has(button:nth-child(n+7)){
  width:min(100%,980px)!important;
  border-radius:24px!important;
  padding:9px!important;
  gap:7px!important;
}
.asgr-smile-gallery .asgr-smile-tabs:has(button:nth-child(n+7)) button:not(.active){
  font-size:12px!important;
  min-height:34px!important;
  padding:7px 12px!important;
}
.asgr-smile-gallery .asgr-smile-tabs:has(button:nth-child(n+9)){
  width:min(100%,900px)!important;
}
@media (max-width:760px){
  .asgr-smile-gallery .asgr-smile-tabs{
    width:100%!important;
    max-width:100%!important;
    justify-content:flex-start!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-snap-type:x proximity!important;
    border-radius:18px!important;
    padding:8px!important;
    gap:8px!important;
    scrollbar-width:none!important;
  }
  .asgr-smile-gallery .asgr-smile-tabs::-webkit-scrollbar{display:none!important;}
  .asgr-smile-gallery .asgr-smile-tabs button{scroll-snap-align:start!important;font-size:12px!important;min-height:34px!important;padding:7px 12px!important;}
  .asgr-smile-gallery .asgr-smile-tabs button.active{font-size:13px!important;min-height:40px!important;padding:9px 18px!important;}
}
