/* Google Place Reviews.
   Theme it with the custom properties on .gpr (accent follows the Klasse theme's primary colour).
   The markup is only div/span/img, and everything a theme or page builder tends to force
   (display, spacing, type, colour, width) is set with !important, so the slider looks the same everywhere. */

.gpr{--gpr-per:var(--gpr-per-base,3);--gpr-gap:24px;--gpr-accent:var(--kls-primary-color,#1a73e8);--gpr-accent-ink:#1a1a1a;--gpr-card:#fff;--gpr-card-bg:#f4f3f1;--gpr-line:#e7e3da;--gpr-ink:#2b2924;--gpr-muted:#7a756a;--gpr-star:#fbbc04;--gpr-star-off:#dcd7cc;--gpr-radius:20px;--gpr-font:inherit;
	position:relative!important;display:block!important;width:100%!important;margin:0!important;padding:0!important;color:var(--gpr-ink)!important;font-family:var(--gpr-font)!important;text-align:left!important}
.gpr *,.gpr *::before,.gpr *::after{box-sizing:border-box!important;letter-spacing:normal!important;text-transform:none!important;text-shadow:none!important}
.gpr span,.gpr i{float:none!important}
.gpr svg{display:block!important;flex:none!important}

/* Head: score left, arrows right */
.gpr__head{display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:16px!important;margin:0 0 20px!important;padding:0!important}
.gpr__summary{display:flex!important;align-items:center!important;gap:14px!important}
.gpr__summary>.gpr__g{width:36px!important;height:36px!important}
.gpr__summary-text{display:flex!important;flex-direction:column!important;gap:4px!important}
.gpr__score-line{display:flex!important;align-items:center!important;gap:10px!important}
.gpr__score{display:inline-block!important;font-size:30px!important;line-height:1!important;font-weight:700!important;color:var(--gpr-ink)!important}
.gpr__count{display:inline-block!important;font-size:14px!important;line-height:1.4!important;font-weight:400!important;color:var(--gpr-muted)!important;text-decoration:none!important}
a.gpr__count:hover{color:var(--gpr-ink)!important;text-decoration:underline!important}

.gpr__stars{display:inline-flex!important;gap:1px!important;font-size:17px!important;line-height:1!important}
.gpr__stars i{display:inline-block!important;font-style:normal!important;color:var(--gpr-star-off)!important}
.gpr__stars i.is-on{color:var(--gpr-star)!important}

.gpr__nav{display:flex!important;gap:10px!important;flex:none!important}
.gpr__nav[hidden]{display:none!important}
.gpr__btn{display:grid!important;place-items:center!important;width:46px!important;height:46px!important;margin:0!important;padding:0!important;border:1px solid var(--gpr-line)!important;border-radius:50%!important;background:var(--gpr-card)!important;color:var(--gpr-ink)!important;box-shadow:0 2px 10px rgba(0,0,0,.06)!important;cursor:pointer!important;transition:background .2s,color .2s,border-color .2s,opacity .2s!important;user-select:none!important}
.gpr__btn svg{width:20px!important;height:20px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.4!important;stroke-linecap:round!important;stroke-linejoin:round!important}
.gpr__btn:hover,.gpr__btn:focus-visible{background:var(--gpr-accent)!important;border-color:var(--gpr-accent)!important;color:var(--gpr-accent-ink)!important;outline:0!important}
.gpr__btn.is-off{opacity:.35!important;pointer-events:none!important}

/* Track and cards */
.gpr__track{display:grid!important;grid-auto-flow:column!important;grid-auto-columns:calc((100% - (var(--gpr-per) - 1) * var(--gpr-gap)) / var(--gpr-per))!important;gap:var(--gpr-gap)!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-snap-type:x mandatory!important;scrollbar-width:none!important;margin:-12px 0 0!important;padding:12px 0 26px!important;outline:0!important;align-items:stretch!important}
.gpr__track::-webkit-scrollbar{display:none!important}
.gpr__track.is-moving{scroll-snap-type:none!important} /* snapping off while the slide animates */
.gpr__card{scroll-snap-align:start!important;display:flex!important;flex-direction:column!important;gap:12px!important;min-width:0!important;margin:0!important;padding:22px 22px 20px!important;background:var(--gpr-card-bg)!important;border:0!important;border-radius:var(--gpr-radius)!important;box-shadow:none!important;transition:transform .3s,box-shadow .3s!important}
.gpr__card:hover{transform:translateY(-2px)!important;box-shadow:0 10px 20px -12px rgba(0,0,0,.18)!important}

.gpr__author{display:flex!important;align-items:center!important;gap:12px!important;margin:0!important;padding:0!important}
.gpr__avatar{display:grid!important;place-items:center!important;width:44px!important;height:44px!important;max-width:none!important;margin:0!important;border-radius:50%!important;object-fit:cover!important;flex:none!important}
.gpr__initial{background:color-mix(in srgb,var(--gpr-accent) 22%,#fff)!important;color:var(--gpr-ink)!important;font-size:18px!important;font-weight:700!important;line-height:1!important}
.gpr__who{display:flex!important;flex-direction:column!important;min-width:0!important;flex:1 1 auto!important}
.gpr__name{display:block!important;overflow:hidden!important;white-space:nowrap!important;text-overflow:ellipsis!important;font-size:15px!important;line-height:1.35!important;font-weight:700!important;color:var(--gpr-ink)!important}
.gpr__date{display:block!important;font-size:13px!important;line-height:1.35!important;font-weight:400!important;color:var(--gpr-muted)!important}
.gpr__author>.gpr__g{width:20px!important;height:20px!important;align-self:flex-start!important}

.gpr__text{display:-webkit-box!important;-webkit-box-orient:vertical!important;-webkit-line-clamp:4!important;overflow:hidden!important;margin:0!important;padding:0!important;font-size:15px!important;line-height:1.65!important;font-weight:400!important;color:var(--gpr-ink)!important;white-space:pre-line!important;overflow-wrap:anywhere!important}
.gpr__card.is-open .gpr__text{display:block!important;-webkit-line-clamp:unset!important}
.gpr__translated{display:block!important;margin:-6px 0 0!important;font-size:12px!important;line-height:1.3!important;font-weight:400!important;color:var(--gpr-muted)!important}
.gpr__more{display:inline-flex!important;align-items:center!important;gap:6px!important;align-self:flex-start!important;height:32px!important;margin:auto 0 0!important;padding:0 12px 0 15px!important;border:1px solid var(--gpr-line)!important;border-radius:999px!important;background:var(--gpr-card)!important;font-size:13px!important;line-height:1!important;font-weight:600!important;color:var(--gpr-ink)!important;cursor:pointer!important;user-select:none!important;transition:background .2s,border-color .2s,color .2s!important}
.gpr__more:hover,.gpr__more:focus-visible{background:var(--gpr-accent)!important;border-color:var(--gpr-accent)!important;color:var(--gpr-accent-ink)!important;outline:0!important}
.gpr__more[hidden]{display:inline-flex!important;visibility:hidden!important}
.gpr__more svg{width:14px!important;height:14px!important;fill:none!important;stroke:currentColor!important;stroke-width:2.6!important;stroke-linecap:round!important;stroke-linejoin:round!important;transition:transform .3s!important}
.gpr__card.is-open .gpr__more svg{transform:rotate(180deg)!important}

@media (max-width:980px){.gpr{--gpr-per:min(var(--gpr-per-base,3),2)}}
@media (max-width:640px){
	.gpr{--gpr-gap:14px}
	.gpr__track{grid-auto-columns:86%!important} /* the next card peeks in: shows it swipes */
	.gpr__head{align-items:center!important}
	.gpr__summary>.gpr__g{width:28px!important;height:28px!important}
	.gpr__score{font-size:24px!important}
	.gpr__btn{width:40px!important;height:40px!important}
	.gpr__card{padding:20px 18px 18px!important}
}

/* [google_reviews_score]: one inline line */
.gpr-score{--gpr-ink:inherit;--gpr-star:#fbbc04;--gpr-star-off:#dcd7cc;display:inline-flex!important;align-items:center!important;flex-wrap:wrap!important;gap:4px 8px!important;line-height:1.2!important}
.gpr-score .gpr__score{font-size:1.15em!important}
.gpr-score .gpr__stars{font-size:1em!important}
.gpr-score__count{font-size:.9em!important}
