.fgr-wrap{
  --fgr-card-bg:#fbfbfb;
  --fgr-text:#111111;
  --fgr-muted:#777777;
  --fgr-star:#fbbc04;
  --fgr-radius:18px;
  --fgr-gap:24px;
  --fgr-desktop:3;
  --fgr-tablet:2;
  --fgr-mobile:1;
  --fgr-height:315px;
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(275px,330px);
  gap:32px;
  align-items:stretch;
  width:100%;
  max-width:100%;
  min-width:0;
  font-family:inherit;
  color:var(--fgr-text);
  box-sizing:border-box;
}
.fgr-wrap *{box-sizing:border-box}

/* Business summary */
.fgr-summary{
  grid-column:2;
  grid-row:1;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:20px;
  min-width:0;
  padding:16px 4px;
}
.fgr-business-row{display:flex;align-items:flex-start;gap:18px;min-width:0}
.fgr-business-logo{
  width:94px;
  height:94px;
  object-fit:cover;
  border-radius:8px;
  flex:0 0 94px;
  background:#eef1f3;
}
.fgr-business-placeholder{
  display:grid;
  place-items:center;
  background:#e9edf0;
  color:#b8c1c8;
  font-size:34px;
}
.fgr-business-copy{min-width:0;flex:1 1 auto}
.fgr-business-name{
  font-size:20px;
  line-height:1.42;
  font-weight:750;
  margin:0 0 8px;
  overflow-wrap:anywhere;
}
.fgr-total{font-size:16px;line-height:1.4;margin-top:4px}
.fgr-review-button{
  align-self:flex-start;
  padding:13px 24px;
  border:1px solid #aaa;
  border-radius:8px;
  color:#111!important;
  text-decoration:none!important;
  font-weight:700;
  background:#fff;
  transition:border-color .18s ease,transform .18s ease,box-shadow .18s ease;
}
.fgr-review-button:hover{border-color:#222;transform:translateY(-1px);box-shadow:0 5px 16px rgba(0,0,0,.05)}

/* Carousel */
.fgr-carousel{grid-column:1;grid-row:1;position:relative;min-width:0;width:100%;overflow:visible}
.fgr-viewport{overflow:hidden;width:100%;min-width:0;touch-action:pan-y;padding:2px 0}
.fgr-track{
  display:flex;
  align-items:stretch;
  gap:var(--fgr-gap);
  width:100%;
  min-width:0;
  transition:transform .46s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}
.fgr-card{
  flex:0 0 calc((100% - (var(--fgr-gap) * (var(--fgr-desktop) - 1))) / var(--fgr-desktop));
  width:calc((100% - (var(--fgr-gap) * (var(--fgr-desktop) - 1))) / var(--fgr-desktop));
  max-width:calc((100% - (var(--fgr-gap) * (var(--fgr-desktop) - 1))) / var(--fgr-desktop));
  height:var(--fgr-height);
  min-height:280px;
  background:var(--fgr-card-bg);
  border-radius:var(--fgr-radius);
  padding:26px 26px 22px;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  box-shadow:0 7px 28px rgba(0,0,0,.028);
}
.fgr-card.is-expanded{overflow:auto}

/* Review header */
.fgr-card-head{
  display:flex;
  gap:14px;
  align-items:flex-start;
  margin-bottom:16px;
  min-width:0;
}
.fgr-author-block{display:flex;align-items:center;gap:13px;min-width:0;flex:1 1 auto}
.fgr-author-block>div:last-child{min-width:0;flex:1 1 auto}
.fgr-avatar{
  width:56px;
  height:56px;
  border-radius:50%;
  object-fit:cover;
  flex:0 0 56px;
  background:#e8ecef;
}
.fgr-initial{display:grid;place-items:center;color:#fff;background:#6ba836;font-size:25px;font-weight:500}
.fgr-author{
  font-size:17px;
  font-weight:750;
  line-height:1.25;
  white-space:normal;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow-wrap:anywhere;
}
.fgr-time{margin-top:5px;color:var(--fgr-muted);font-size:15px;line-height:1.3}
.fgr-google{
  flex:0 0 24px;
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  margin-top:1px;
  font-family:Arial,sans-serif;
  font-weight:800;
  font-size:23px;
  line-height:1;
  background:conic-gradient(from -38deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0 100%);
  -webkit-background-clip:text;
  background-clip:text;
  color:transparent;
}

.fgr-rating-row{display:flex;align-items:center;gap:9px;margin-bottom:16px;min-height:26px}
.fgr-stars{display:flex;align-items:center;gap:1px;line-height:1;white-space:nowrap}
.fgr-star{font-size:24px;color:var(--fgr-star);line-height:1}
.fgr-star.is-off{color:#d8d8d8}
.fgr-verified{
  display:inline-grid;
  place-items:center;
  width:21px;
  height:21px;
  flex:0 0 21px;
  border-radius:50%;
  background:#4285f4;
  color:#fff;
  font-size:12px;
  font-weight:900;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.45);
}
.fgr-review-text{
  font-size:17px;
  line-height:1.55;
  overflow:hidden;
  min-width:0;
  overflow-wrap:anywhere;
}
.fgr-text-short{
  display:-webkit-box;
  -webkit-line-clamp:7;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.fgr-read-more{
  margin-top:auto;
  align-self:flex-start;
  padding:10px 0 0;
  border:0;
  background:transparent;
  color:var(--fgr-muted);
  font:inherit;
  font-size:15px;
  font-weight:500;
  cursor:pointer;
}
.fgr-read-more:hover{color:var(--fgr-text)}

/* Navigation */
.fgr-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:50%;
  border:0;
  background:#fff;
  box-shadow:0 5px 22px rgba(0,0,0,.09);
  font-size:34px;
  font-weight:300;
  line-height:1;
  color:#7a7a7a;
  cursor:pointer;
  z-index:5;
  display:grid;
  place-items:center;
  padding:0 0 4px;
}
.fgr-arrow:hover{color:#111;box-shadow:0 6px 24px rgba(0,0,0,.13)}
.fgr-arrow:disabled{opacity:.28;cursor:default;box-shadow:0 4px 14px rgba(0,0,0,.06)}
.fgr-prev{left:-21px}
.fgr-next{right:-21px}
.fgr-dots{display:flex;gap:7px;justify-content:center;margin-top:14px}
.fgr-dot{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:#d0d0d0;cursor:pointer}
.fgr-dot.is-active{background:#333;transform:scale(1.25)}
.fgr-empty{padding:14px 16px;border:1px dashed #bbb;border-radius:8px;background:#fafafa}

@media(max-width:1100px){
  .fgr-wrap{grid-template-columns:minmax(0,1fr) minmax(235px,275px);gap:24px}
  .fgr-card{
    flex-basis:calc((100% - (var(--fgr-gap) * (var(--fgr-tablet) - 1))) / var(--fgr-tablet));
    width:calc((100% - (var(--fgr-gap) * (var(--fgr-tablet) - 1))) / var(--fgr-tablet));
    max-width:calc((100% - (var(--fgr-gap) * (var(--fgr-tablet) - 1))) / var(--fgr-tablet));
    padding:24px;
  }
  .fgr-business-logo{width:76px;height:76px;flex-basis:76px}
  .fgr-business-name{font-size:18px}
  .fgr-review-text{font-size:16px}
}

@media(max-width:767px){
  .fgr-wrap{display:block}
  .fgr-summary,.fgr-carousel{grid-column:auto;grid-row:auto}
  .fgr-summary{padding:4px 0 24px;gap:16px}
  .fgr-business-row{gap:14px}
  .fgr-business-logo{width:72px;height:72px;flex-basis:72px}
  .fgr-business-name{font-size:18px}
  .fgr-review-button{width:100%;text-align:center}
  .fgr-carousel{padding:0 3px}
  .fgr-card{
    flex-basis:calc((100% - (var(--fgr-gap) * (var(--fgr-mobile) - 1))) / var(--fgr-mobile));
    width:calc((100% - (var(--fgr-gap) * (var(--fgr-mobile) - 1))) / var(--fgr-mobile));
    max-width:calc((100% - (var(--fgr-gap) * (var(--fgr-mobile) - 1))) / var(--fgr-mobile));
    height:auto;
    min-height:300px;
    padding:23px 21px;
  }
  .fgr-avatar{width:50px;height:50px;flex-basis:50px}
  .fgr-author{font-size:16px}
  .fgr-time{font-size:14px}
  .fgr-arrow{width:38px;height:38px;font-size:30px}
  .fgr-prev{left:-8px}
  .fgr-next{right:-8px}
  .fgr-review-text{font-size:16px}
}

@media(max-width:420px){
  .fgr-card{min-height:300px}
  .fgr-avatar{width:48px;height:48px;flex-basis:48px}
  .fgr-author{font-size:16px}
  .fgr-time{font-size:14px}
  .fgr-star{font-size:22px}
}
