/* JL Google Reviews – structural styles only.
   Colours, typography, spacing, shadows etc. come from the widget controls. */

/* ---------- Rating badge ---------- */
.jl-grb{display:inline-flex;align-items:center;text-decoration:none!important;white-space:nowrap;
  transition-property:transform,box-shadow;transition-timing-function:ease}
.jl-grb__logo{display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.jl-grb__logo svg{display:block}
.jl-grb__score{line-height:1}
.jl-grb__body{display:flex;flex-direction:column;line-height:1.25;text-align:left}
.jl-grb__stars{
  background:linear-gradient(90deg,var(--jl-grb-star-on,#FBBC04) calc(var(--rating,5) / 5 * 100%),var(--jl-grb-star-off,#DADCE0) 0);
  -webkit-background-clip:text;background-clip:text;color:transparent}

/* ---------- Carousel ---------- */
.jl-grc{position:relative}
.jl-grc__viewport{position:relative;overflow:hidden;touch-action:pan-y}
.jl-grc__track{position:relative;z-index:1;display:flex;align-items:stretch;width:100%;box-sizing:content-box;transition-property:transform}
.jl-grc__slide{position:relative;flex-shrink:0;height:auto;display:flex;flex-direction:column;box-sizing:border-box}
.jl-grc__slide>.jl-grc-card{flex:1 1 auto}
/* before Swiper boots: same layout, no jump */
.jl-grc:not(.is-ready) .jl-grc__slide{
  width:calc((100% - (var(--jl-grc-spv,3) - 1) * var(--jl-grc-gap,29px)) / var(--jl-grc-spv,3));
  margin-right:var(--jl-grc-gap,29px)}
.jl-grc__tpl{display:none}

/* ---------- Card ---------- */
.jl-grc-card{display:flex;flex-direction:column;box-sizing:border-box;transition-property:transform,box-shadow,background-color;transition-timing-function:ease}
.jl-grc-card__top{display:flex;align-items:center;justify-content:space-between;gap:20px}
.jl-grc-card__icon{display:inline-flex;align-items:center;justify-content:center;line-height:1}
.jl-grc-card__icon i,.jl-grc-card__icon svg{display:block;width:1em;height:1em;text-align:center}
.jl-grc-card__icon i:before{display:block}
.jl-grc-card__gtag{display:flex;align-items:center;text-decoration:none!important}
.jl-grc-card__gtag svg{display:block;flex:0 0 auto}
.jl-grc-card__stars{margin:0;white-space:nowrap}
.jl-grc-card__body{flex:1 1 auto;min-height:0}
.jl-grc-card__text{margin:0;white-space:pre-line;overflow-wrap:anywhere}
.jl-grc-clamp-yes .jl-grc-card__text{display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden}
.jl-grc-card__footer{display:flex;flex-direction:column;border-top-style:solid;border-top-width:1px}
.jl-grc-card__name{margin:0;padding:0}
.jl-grc-card__meta{margin:0}
.jl-grc-card__part+.jl-grc-card__part:before{content:"\00a0\00b7\00a0";display:inline-block;white-space:pre;text-decoration:none;color:var(--jl-grc-meta-color,#83868C)}
.jl-grc-card__link{text-decoration:underline;text-underline-offset:2px;transition:color .4s}

/* ---------- Pagination ---------- */
.jl-grc__dots,.jl-grc__fraction{position:absolute;left:0;right:0;bottom:10px;z-index:4;display:flex;justify-content:center;align-items:center}
.jl-grc__dots:empty{display:none}
.jl-grc__dot{display:block;flex:0 0 auto;margin:0;padding:0;cursor:pointer;opacity:1;transition:width .3s,background-color .3s}
.jl-grc__dot:focus-visible,.jl-grc__arrow:focus-visible{outline:2px solid currentColor;outline-offset:2px}

/* ---------- Arrows ---------- */
.jl-grc__arrow{position:absolute;top:50%;z-index:5;display:flex;align-items:center;justify-content:center;border-radius:50%;
  transform:translateY(-50%);cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.10);transition:color .3s,opacity .3s;user-select:none}
.jl-grc__arrow svg{width:1em;height:1em}
.jl-grc__arrow.is-disabled{opacity:.35;cursor:default}
