/*!
 * Themeasy — Social Proof
 *
 * A trust badge: an overlapping avatar stack, a 5-star rating row with a
 * precise fractional fill (the star-rating two-layer clip technique), and a
 * "2,400+ happy customers" message. The stack fans apart on hover — pure CSS,
 * so it works in the editor and with no JS; the count-up is layered on by
 * social-proof.min.js and degrades to the server-rendered final number.
 *
 * Tokens consumed: --tms-surface-color, --tms-border-color, --tms-heading-color,
 * --tms-body-color, --tms-bold-font-weight, --tms-primary-color (public --tms-*
 * design API). Star fill defaults to a warm amber, as no design token maps to
 * "rating gold".
 *
 * @author Themeasy
 * @link https://themeasy.co
 * @since 1.0.0
 */
.tms-social-proof{--tms-social-proof-avatar-size:44px;--tms-social-proof-overlap:-12px;--tms-social-proof-fan-gap:4px;--tms-social-proof-ring-width:2px;--tms-social-proof-ring-color:var(--tms-surface-color,#fff);--tms-social-proof-star-fill:#f5a623;--tms-social-proof-star-empty:var(--tms-border-color,#d9dce1);text-align:left;vertical-align:middle;flex-wrap:wrap;align-items:center;gap:.875rem;display:inline-flex;position:relative}.tms-social-proof__link{z-index:1;border-radius:inherit;position:absolute;top:0;bottom:0;left:0;right:0}.tms-social-proof__link:focus-visible{outline:2px solid var(--tms-primary-color,#4a6cf7);outline-offset:2px}.tms-social-proof__avatars{align-items:center;display:flex}.tms-social-proof__avatar{z-index:1;width:var(--tms-social-proof-avatar-size);height:var(--tms-social-proof-avatar-size);border:var(--tms-social-proof-ring-width) solid var(--tms-social-proof-ring-color);background:var(--tms-border-color,#e8eaef);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:margin-inline-start .35s cubic-bezier(.22,.61,.36,1),transform .25s;display:inline-flex;position:relative;overflow:hidden}.tms-social-proof__avatar:not(:first-child){margin-inline-start:var(--tms-social-proof-overlap)}.tms-social-proof__avatar:hover{z-index:2;transform:translateY(-2px)scale(1.06)}.tms-social-proof__avatar-img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.tms-social-proof__avatar--more{background:var(--tms-surface-color,#fff);box-shadow:inset 0 0 0 1px var(--tms-border-color,#d9dce1);font-size:calc(var(--tms-social-proof-avatar-size) * .3);font-weight:var(--tms-bold-font-weight,700);letter-spacing:.02em;color:var(--tms-heading-color,#1a1a1a);line-height:1;overflow:visible}.tms-social-proof--fan:hover .tms-social-proof__avatar:not(:first-child){margin-inline-start:var(--tms-social-proof-fan-gap)}.tms-social-proof__content{flex-direction:column;gap:.25rem;min-width:0;display:flex}.tms-social-proof__rating{align-items:center;gap:.4rem;display:flex}.tms-social-proof__stars{align-items:center;gap:.12em;font-size:1rem;line-height:1;display:inline-flex}.tms-social-proof__star{width:1em;height:1em;display:inline-block;position:relative}.tms-social-proof__star-bg{width:1em;height:1em;color:var(--tms-social-proof-star-empty);display:block}.tms-social-proof__star-fill{height:1em;color:var(--tms-social-proof-star-fill);position:absolute;top:0;left:0;overflow:hidden}.tms-social-proof__star-bg svg,.tms-social-proof__star-fill svg{fill:currentColor;width:1em;height:1em;display:block}.tms-social-proof__star-bg svg[fill=none],.tms-social-proof__star-fill svg[fill=none]{fill:none;stroke:currentColor}.tms-social-proof__rating-value{font-size:.9375rem;font-weight:var(--tms-bold-font-weight,700);color:var(--tms-heading-color,#1a1a1a);line-height:1}.tms-social-proof__label{color:var(--tms-body-color,#4a4f5a);margin:0;font-size:.9375rem;line-height:1.5}.tms-social-proof__count{text-align:left;font-weight:var(--tms-bold-font-weight,700);color:var(--tms-heading-color,#1a1a1a);display:inline-block}@media (prefers-reduced-motion:reduce){.tms-social-proof__avatar{transition:none}.tms-social-proof__avatar:hover{transform:none}.tms-social-proof--fan:hover .tms-social-proof__avatar:not(:first-child){margin-inline-start:var(--tms-social-proof-overlap)}}@media (max-width:480px){.tms-social-proof{--tms-social-proof-avatar-size:40px;gap:.75rem}}