/* Boogert Google Reviews (Editor V4 element). Only layout mechanics live here; all visual
   styling of the cards and fields comes from their V4 base styles / Style tab. */
.bgr { --bgr-cols: 3; --bgr-cols-t: 2; --bgr-cols-m: 1; --bgr-gap: 24px; --bgr-nav: 44px; --bgr-c: var(--bgr-cols); }
.bgr .bgr__viewport { position: relative; min-width: 0; }
.bgr .bgr__track { display: grid; grid-template-columns: repeat(var(--bgr-c), minmax(0, 1fr)); gap: var(--bgr-gap); margin: 0; padding: 0; list-style: none; }
.bgr .bgr__track > * { min-width: 0; box-sizing: border-box; }
@media (max-width: 1024px) { .bgr { --bgr-c: var(--bgr-cols-t); } }
@media (max-width: 767px) { .bgr { --bgr-c: var(--bgr-cols-m); } }

.bgr--list .bgr__track { grid-template-columns: minmax(0, 1fr); }

.bgr--masonry .bgr__track { display: block; columns: var(--bgr-c); column-gap: var(--bgr-gap); }
.bgr--masonry .bgr__track > * { break-inside: avoid; margin-bottom: var(--bgr-gap); width: 100%; }

.bgr--carousel .bgr__track { display: flex; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; overscroll-behavior-x: contain; -webkit-overflow-scrolling: touch; outline: none; }
.bgr--carousel .bgr__track::-webkit-scrollbar { display: none; }
.bgr--carousel .bgr__track > * { flex: 0 0 calc((100% - (var(--bgr-c) - 1) * var(--bgr-gap)) / var(--bgr-c)); scroll-snap-align: start; }
.bgr--carousel.bgr--peek .bgr__track > * { flex-basis: calc((100% - var(--bgr-c) * var(--bgr-gap)) / (var(--bgr-c) + 0.25)); }
.bgr--carousel .bgr__track:focus-visible { outline: 2px solid currentColor; outline-offset: 4px; }

.bgr .bgr__nav { display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 28px; }
.bgr .bgr__nav[hidden] { display: none; }
.bgr--nav-start .bgr__nav { justify-content: flex-start; }
.bgr--nav-end .bgr__nav { justify-content: flex-end; }
.bgr--nav-between .bgr__nav { justify-content: space-between; }
.bgr .bgr__arrow { all: unset; box-sizing: border-box; width: var(--bgr-nav); height: var(--bgr-nav); min-width: 44px; min-height: 44px; border-radius: 50%; border: 1px solid color-mix(in srgb, currentColor 35%, transparent); color: inherit; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; transition: background-color .2s, border-color .2s, opacity .2s; }
.bgr .bgr__arrow svg { width: 45%; height: 45%; }
.bgr .bgr__arrow:hover { background: color-mix(in srgb, currentColor 14%, transparent); border-color: currentColor; }
.bgr .bgr__arrow:focus-visible { outline: 2px solid currentColor; outline-offset: 3px; }
.bgr .bgr__arrow[disabled] { opacity: .35; cursor: default; background: none; }
.bgr .bgr__dots { display: flex; align-items: center; gap: 2px; }
.bgr .bgr__dot { all: unset; box-sizing: border-box; width: 24px; height: 44px; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.bgr .bgr__dot::before { content: ""; width: 8px; height: 8px; border-radius: 999px; background: currentColor; opacity: .35; transition: width .3s, opacity .3s; }
.bgr .bgr__dot[aria-current="true"]::before { width: 22px; opacity: 1; }
.bgr .bgr__dot:focus-visible::before { outline: 2px solid currentColor; outline-offset: 3px; }
.bgr .bgr__empty { margin: 0; opacity: .8; }
.bgr .bgr__clone { pointer-events: none; }
.bgr-field__label { display: block; font-weight: 600; margin-bottom: 4px; }
.bgr-field--avatar .bgr-field__value { line-height: inherit; }
@media (prefers-reduced-motion: reduce) { .bgr--carousel .bgr__track { scroll-behavior: auto; } }
