/*
 * Reviews: our server-drawn review design over WiserReview (inc/gb-reviews.php). Loaded on every page while the
 * design is on (star lines also show in the header search).
 *
 * The theme styles every <button> through a selector with ~30 chained :not(.class) parts
 * (gb-global.css), so it outranks any class-only override, !important included. Every
 * button rule here therefore carries :not(#gbr-0):not(#gbr-1):not(#gbr-2): an ID-weight part that no class chain
 * can beat (no element has that id). Same reason for `[hidden]`: the site has no global
 * rule hiding it, so it is declared here.
 */
.gbr{
  --gbr-ink:#121212;
  --gbr-muted:#6b7280;
  --gbr-line:#e6e8ee;
  --gbr-surface:#f6f8fb;
  --gbr-brand:#1cbcff;
  --gbr-link:#121212;
  --gbr-star:#ffa500;
  --gbr-ok:#28c97f; /* the site's badge green (.gb-badge--green: "Instant", "Full Access") */
  --gbr-shadow:0 1px 2px rgba(16,24,40,.04),0 4px 14px rgba(16,24,40,.06); /* review cards, rating card, game links */
  --gbr-shadow-hover:0 2px 4px rgba(16,24,40,.05),0 6px 16px rgba(16,24,40,.12);
  color:var(--gbr-ink);
  font-family:var(--gb-font,"Assistant",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif);
  container-type:inline-size;
}
.gbr[hidden],.gbr [hidden]{display:none !important}
.gbr *,.gbr *::before,.gbr *::after{box-sizing:border-box}
.gbr p{margin:0}
.gbr .gbr-muted{color:var(--gbr-muted)}
.gbr .gbr-sr{position:absolute !important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gbr .gbr-h2{margin:0 !important;font-size:22px !important;font-weight:700 !important;line-height:1.2 !important;letter-spacing:-.01em;color:var(--gbr-ink);text-wrap:balance}

/* button reset: undo the theme's global blue pill for every button inside our blocks */
.gbr button:not(#gbr-0):not(#gbr-1):not(#gbr-2){
  background:transparent !important;border:0 !important;border-radius:0 !important;color:inherit !important;
  font-weight:inherit !important;box-shadow:none !important;text-shadow:none !important;outline:none !important;
  letter-spacing:normal;text-transform:none;padding:0;margin:0;min-height:0;min-width:0;width:auto;height:auto;
  line-height:inherit;font-size:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;display:inline-block;
}

/* ---------- stars: two layers of tiles, the gold one clipped to the rating ----------
   viewBox starts at the star's left tip, so the first star sits flush left; the tile's
   right side carries the gap to the next star. */
.gbr-stars{--h:16px;position:relative;display:inline-block;vertical-align:middle;flex:none;height:var(--h);width:calc(var(--h) * 4.895);
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1.42 0 19.58 20'%3E%3Cpath fill='%23dde1e8' d='M10 1.4l2.65 5.37 5.93.86-4.29 4.18 1.01 5.9L10 14.92l-5.3 2.79 1.01-5.9L1.42 7.63l5.93-.86z'/%3E%3C/svg%3E") left center/calc(var(--h) * .979) var(--h) repeat-x}
.gbr-stars__on{position:absolute;inset:0 auto 0 0;display:block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='1.42 0 19.58 20'%3E%3Cpath fill='%23ffa500' d='M10 1.4l2.65 5.37 5.93.86-4.29 4.18 1.01 5.9L10 14.92l-5.3 2.79 1.01-5.9L1.42 7.63l5.93-.86z'/%3E%3C/svg%3E") left center/calc(var(--h) * .979) var(--h) repeat-x}
.gbr-stars--12{--h:12px}.gbr-stars--14{--h:14px}.gbr-stars--16{--h:16px}.gbr-stars--17{--h:17px}.gbr-stars--20{--h:20px}

/* ---------- star line: cards, cart, search, product page ---------- */
.gbr-line{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin:0;padding:0;font-size:13px;line-height:1;color:rgba(18,18,18,.65)}
.gbr-line__n{color:rgba(18,18,18,.65);font-weight:400}
.gb-card-rating--wiser .gbr-line{margin:2px 0;gap:4px}
.gb-card-rating--wiser .gbr-line,.gb-card-rating--wiser .gbr-line__n{font-size:14px}
/* Same size and alignment as the old WiserReview star lines (measured on the live site 10-05).
   Our star glyph fills ~0.815 of --h and its centre sits at 0.478 of --h, so the boxes are larger than the old
   16px/14px stars, and padding-top puts the glyph centre where the old one was (rows are centred in the box). */
/* product cards: old = 16px stars, line 21.6px tall, star centre 11.6px down; <=750px 14px stars, 21px, 12.1px; <=386px 14px, 20px, 10px */
.product .gb-card-rating--wiser .gbr-line{box-sizing:border-box;margin:0;gap:4px;flex-wrap:nowrap;height:21.6px;padding-top:2.46px}
.product .gb-card-rating--wiser .gbr-stars{--h:19.5px}
@media (max-width:750px){.product .gb-card-rating--wiser .gbr-line{height:21px;padding-top:3.96px}.product .gb-card-rating--wiser .gbr-stars{--h:17px}}
@media (max-width:386px){.product .gb-card-rating--wiser .gbr-line{height:20px;padding-top:.72px}.product .gb-card-rating--wiser .gbr-stars{--h:16.2px}} /* keeps "(2,018 reviews)" on one line in a 375px two-column card */
/* product page (above the title): old = 16px stars at every width, line 24px tall with star centre 13.1px down; <=768px 21px, 12.1px */
a.gbr-line--pdp,a.gbr-line--pdp:hover,a.gbr-line--pdp:focus{box-sizing:border-box;display:inline-flex;font-size:14px;gap:4px;flex-wrap:nowrap;height:24px;padding-top:3.06px;text-decoration:none !important;color:rgba(18,18,18,.65) !important;box-shadow:none !important;outline:none !important}
@media (max-width:768px){a.gbr-line--pdp,a.gbr-line--pdp:hover,a.gbr-line--pdp:focus{height:21px;padding-top:4.06px}}
a.gbr-line--pdp .gbr-stars{--h:19.5px}
/* "(N reviews)" on cards and the product page: old = 14px, weight 500, #6b7280, 16px line */
.product .gb-card-rating--wiser .gbr-line__n,a.gbr-line--pdp .gbr-line__n{font-size:14px;font-weight:500;line-height:16px;color:#6b7280}
/* search suggestions + cart lines: old = 13px stars, 13px rgba(18,18,18,.65) text (unchanged) */
.gb-predict__content .gb-card-rating--wiser .gbr-stars,.gb-cart-item__main .gb-card-rating--wiser .gbr-stars{--h:16px}
.gb-predict__content .gb-card-rating--wiser .gbr-line,.gb-predict__content .gb-card-rating--wiser .gbr-line__n,.gb-cart-item__main .gb-card-rating--wiser .gbr-line,.gb-cart-item__main .gb-card-rating--wiser .gbr-line__n{font-size:13px}


/* ---------- buttons ---------- */
.gbr .gbr-btn:not(#gbr-0):not(#gbr-1):not(#gbr-2){display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:13px 22px;border-radius:999px !important;font-weight:700 !important;font-size:14px;letter-spacing:.06em;text-transform:uppercase;line-height:1.2;text-decoration:none}
.gbr .gbr-btn--ghost:not(#gbr-0):not(#gbr-1):not(#gbr-2){background:#fff !important;color:var(--gbr-ink) !important;border:1.5px solid var(--gbr-ink) !important;letter-spacing:.04em}
.gbr .gbr-btn--ghost:not(#gbr-0):not(#gbr-1):not(#gbr-2):hover{background:var(--gbr-surface) !important}
.gbr .gbr-btn--black:not(#gbr-0):not(#gbr-1):not(#gbr-2){background:var(--gbr-ink) !important;color:#fff !important}
.gbr .gbr-btn--black:not(#gbr-0):not(#gbr-1):not(#gbr-2):hover{background:#333 !important}
.gbr .gbr-btn[aria-busy="true"]{opacity:.6;pointer-events:none}
.gbr-morewrap{display:flex;justify-content:center;margin-top:16px}

/* ---------- thumbnails ---------- */
.gbr .gbr-thumb:not(#gbr-0):not(#gbr-1):not(#gbr-2){position:relative;display:block;flex:none;cursor:pointer;border-radius:10px !important;overflow:hidden;line-height:0}
.gbr .gbr-thumb::after{content:"";position:absolute;inset:0;border-radius:inherit;background:rgba(18,18,18,0);transition:background .15s ease;pointer-events:none}
@media (hover:hover){.gbr .gbr-thumb:hover::after{background:rgba(18,18,18,.14)}}
.gbr .gbr-thumb img{display:block;width:72px;height:72px;object-fit:cover;border-radius:10px;background:var(--gbr-surface)}

/* ---------- review card ---------- */
/* same look as the homepage carousel cards: first photo big on top, edge to edge ("+N" for the others); 8px corners;
   soft shadow; hover = blue border + stronger shadow */
.gbr-rc{border:1px solid var(--gbr-line);border-radius:8px;overflow:hidden;padding:16px;display:flex;flex-direction:column;gap:10px;min-width:0;background:#fff;box-shadow:var(--gbr-shadow);transition:border-color .15s ease,box-shadow .15s ease}
@media (hover:hover){.gbr-rc:hover{border-color:#bfe9fb;box-shadow:var(--gbr-shadow-hover)}}
.gbr-rc__head{display:flex;align-items:center;gap:10px}
/* reviewer placeholder: light grey tile with a black person icon (as on the Shopify store) */
.gbr-av{width:36px;height:36px;flex:none;border-radius:6px;background:#efefef url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23121212' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='7.6' r='3.4'/%3E%3Cpath d='M5.8 20.2v-2.1a4.4 4.4 0 0 1 4.4-4.4h3.6a4.4 4.4 0 0 1 4.4 4.4v2.1'/%3E%3C/svg%3E") center/24px 24px no-repeat}
.gbr-rc__who{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}
.gbr-rc__name{font-weight:700;font-size:15px;line-height:1.2;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gbr-vb{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:600;line-height:1.2;color:var(--gbr-ink)}
.gbr-vb::before{content:"";width:13px;height:13px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23121212' d='M10 1a9 9 0 100 18 9 9 0 000-18zm4.2 6.6l-5 5.2a.9.9 0 01-1.3 0l-2.3-2.4a.9.9 0 111.3-1.25l1.65 1.72 4.35-4.52a.9.9 0 111.3 1.25z'/%3E%3C/svg%3E") center/contain no-repeat}
.gbr-rc__date{font-size:12.5px;color:var(--gbr-muted);white-space:nowrap;align-self:flex-start}
.gbr .gbr-rc__title{margin:0 !important;font-size:15.5px !important;font-weight:700 !important;line-height:1.3 !important;color:var(--gbr-ink)}
.gbr-rc__text{color:#1d2433;font-size:15px;line-height:1.55;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.gbr-rc.is-open .gbr-rc__text{-webkit-line-clamp:unset;display:block}
.gbr .gbr-rc__more:not(#gbr-0):not(#gbr-1):not(#gbr-2){align-self:flex-start;font-weight:700 !important;font-size:14px;color:var(--gbr-link) !important}
.gbr-rc__photos{position:relative;order:-1;margin:-16px -16px 4px}
.gbr .gbr-rc__photos .gbr-thumb:not(#gbr-0):not(#gbr-1):not(#gbr-2){width:100%;border-radius:0 !important}
.gbr .gbr-rc__photos .gbr-thumb:not(:first-child):not(#gbr-0):not(#gbr-1):not(#gbr-2){display:none}
.gbr .gbr-rc__photos .gbr-thumb img{width:100%;height:auto;aspect-ratio:4/3;border-radius:0}
/* Review photos are mostly tall phone screenshots (proof of what the account has): show the WHOLE photo (contain) in a box of
   fixed height, over a blurred, dimmed copy of itself, instead of cropping it. Fixed boxes keep the cards in rhythm and the
   blur carries less visual weight than a sharp photo, so the product image stays the focus. --gbr-bg is set by gb-reviews.js
   once the photo has loaded (same file, no extra download; lazy loading kept). */
/* the photo area cuts its own rounded top corners (7px = the card's 8px minus its border): iPhone Safari does not clip the
   photo and its blurred fill, each drawn on its own layer, to the card's rounded corners */
.gbr-rc__photos,.gbr-tc__photos{background:var(--gbr-surface);clip-path:inset(0 round 7px 7px 0 0)}
.gbr .gbr-rc__photos .gbr-thumb::before,.gbr .gbr-tc__photos .gbr-thumb::before{content:"";position:absolute;inset:-14px;background:var(--gbr-bg,none) center/cover no-repeat;filter:blur(14px) brightness(.82) saturate(.9)}
.gbr .gbr-rc__photos .gbr-thumb img,.gbr .gbr-tc__photos .gbr-thumb img{position:relative;z-index:1;object-fit:contain;background:transparent}
.gbr .gbr-rc__photos .gbr-thumb::after,.gbr .gbr-tc__photos .gbr-thumb::after{z-index:2} /* hover layer above the photo */
/* the store's reply under a review */
.gbr-reply{background:var(--gbr-surface);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;min-width:0}
.gbr-reply__head{display:flex;align-items:center;gap:6px;font-size:13px;line-height:1.2;min-width:0}
.gbr-reply__logo{width:20px;height:20px;border-radius:5px;flex:none;display:block;object-fit:cover}
.gbr-reply__name{font-weight:700;color:var(--gbr-ink)}
.gbr-reply__by{color:var(--gbr-muted)}
.gbr-reply__text{font-size:14px;line-height:1.5;color:var(--gbr-ink);white-space:normal;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gbr-reply.is-open .gbr-reply__text{-webkit-line-clamp:unset;display:block;white-space:pre-line} /* paragraphs only once opened: no lone "…" line in the short view */
.gbr .gbr-reply__more:not(#gbr-0):not(#gbr-1):not(#gbr-2){align-self:flex-start;font-weight:700 !important;font-size:14px;color:var(--gbr-link) !important}
.gbr-rc__prodrow{display:flex;align-items:center;gap:10px;min-width:0;margin-top:auto;padding-top:10px;border-top:1px solid var(--gbr-line);text-decoration:none !important;color:var(--gbr-link) !important}
.gbr-rc__pimg{width:40px;height:40px;flex:none;border-radius:8px;object-fit:cover;background:var(--gbr-surface)}
.gbr-rc__prod{min-width:0;font-size:13.5px;font-weight:700;line-height:1.3;color:var(--gbr-link);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
a.gbr-rc__prodrow:hover .gbr-rc__prod{text-decoration:underline}
.gbr-empty{border:1.5px dashed var(--gbr-line);border-radius:14px;padding:22px;text-align:center;color:var(--gbr-muted)}

/* ---------- product page block (container on the wrapper, grid inside) ---------- */
.gbr-rv-wrap{margin:36px 0 8px;scroll-margin-top:90px}
.gbr-rv{display:grid;gap:22px}
.gbr-rv__head{grid-column:1/-1}
.gbr-rv__side{display:flex;flex-direction:column;gap:18px;min-width:0}
.gbr-rv__main{min-width:0}
@container (min-width:860px){
  .gbr-rv{grid-template-columns:330px minmax(0,1fr);gap:40px;align-items:start}
  .gbr-rv__side{position:sticky;top:90px}
}
.gbr-rv__none{font-size:15px}
.gbr-sum{display:flex;align-items:center;gap:14px}
.gbr-sum__big{font-size:46px;font-weight:700;line-height:1;letter-spacing:-.02em}
.gbr-sum__meta{display:flex;flex-direction:column;gap:5px;font-size:14px}
.gbr-dist{display:flex;flex-direction:column;gap:4px}
.gbr button.gbr-dist__row:not(#gbr-0):not(#gbr-1):not(#gbr-2){display:grid;grid-template-columns:30px minmax(0,1fr) 52px;align-items:center;gap:10px;width:calc(100% + 12px);padding:5px 6px;margin:0 -6px;border-radius:8px !important;font-size:13.5px;line-height:1.2;text-align:left;color:var(--gbr-ink) !important}
.gbr button.gbr-dist__row:not(#gbr-0):not(#gbr-1):not(#gbr-2):not(:disabled):hover{background:var(--gbr-surface) !important}
.gbr button.gbr-dist__row:disabled:not(#gbr-0):not(#gbr-1):not(#gbr-2){opacity:1 !important;cursor:default;background:transparent !important;color:var(--gbr-ink) !important} /* 0 reviews: same look, just not tappable (his call 10-05) */
.gbr button.gbr-dist__row[aria-pressed="true"]:not(#gbr-0):not(#gbr-1):not(#gbr-2){background:#fff6dc !important}
.gbr-dist__lbl{display:inline-flex;align-items:center;gap:3px;font-weight:700}
.gbr-dist__star{width:12px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23ffa500' d='M10 1.4l2.65 5.37 5.93.86-4.29 4.18 1.01 5.9L10 14.92l-5.3 2.79 1.01-5.9L1.42 7.63l5.93-.86z'/%3E%3C/svg%3E") center/contain no-repeat}
.gbr-dist__bar{height:8px;border-radius:99px;background:#dde1e8;overflow:hidden}
.gbr-dist__bar i{display:block;height:100%;background:var(--gbr-star);border-radius:99px}
.gbr-dist__n{text-align:right;color:var(--gbr-muted);font-variant-numeric:tabular-nums}
.gbr .gbr-photos__h{margin:0 0 8px !important;font-size:15px !important;font-weight:700 !important;line-height:1.3 !important}
.gbr-photos__row{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.gbr .gbr-photos__tile:not(#gbr-0):not(#gbr-1):not(#gbr-2){position:relative;width:100%;aspect-ratio:1/1}
.gbr .gbr-photos__tile img{width:100%;height:100%}
.gbr-photos__more{position:absolute;inset:0;border-radius:10px;background:rgba(18,18,18,.55);color:#fff;display:grid;place-items:center;font-weight:700;font-size:15px;line-height:1}
.gbr .gbr-rv__write:not(#gbr-0):not(#gbr-1):not(#gbr-2){width:100%}
/* compact score line: only on phones/tablets (below) */
.gbr-rv__toggle,.gbr .gbr-rv__toggle:not(#gbr-0):not(#gbr-1):not(#gbr-2){display:none} /* ID weight: the theme button reset would show it */
/* phones/tablets (block under 860px): proof first. Heading, one compact score line, then the reviews; the star rows open from
   the score line; customer photos and "Write a review" (a plain link) come last. The aside is flattened so its parts can be ordered. */
@container (max-width:859px){
  .gbr-rv{gap:14px}
  .gbr-rv__side{display:contents}
  .gbr-sum{display:none}
  .gbr .gbr-rv__toggle:not(#gbr-0):not(#gbr-1):not(#gbr-2){order:1;display:flex;align-items:center;gap:8px;width:100%;padding:10px 12px;border:1px solid var(--gbr-line) !important;border-radius:8px !important;background:#fff !important;text-align:left;font-size:14px;line-height:1.2}
  .gbr div.gbr-rv__toggle{order:1;display:flex;align-items:center;gap:8px;font-size:14px;line-height:1.2} /* under 5 reviews: plain line, nothing to open */
  .gbr-rv__tnum{font-size:22px;font-weight:700;letter-spacing:-.02em;color:var(--gbr-ink)}
  .gbr-rv__chev{margin-left:auto;width:16px;height:16px;flex:none;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23121212' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") center/12px 8px no-repeat;transition:transform .15s ease}
  .gbr-rv__toggle[aria-expanded="true"] .gbr-rv__chev{transform:rotate(180deg)}
  .gbr-rv__dist{order:2}
  .gbr-rv-wrap:not(.is-dist-open) .gbr-rv__dist{display:none}
  .gbr-rv__main{order:3}
  .gbr-photos{order:4}
  .gbr .gbr-rv__write.gbr-btn:not(#gbr-0):not(#gbr-1):not(#gbr-2){order:5;justify-self:start;width:auto;padding:4px 0 !important;border:0 !important;background:none !important;border-radius:0 !important;text-transform:none;letter-spacing:normal;font-size:14px;color:var(--gbr-ink) !important;text-decoration:underline;text-underline-offset:3px}
}
.gbr-rv__bar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.gbr-rv__count{font-size:14px;color:var(--gbr-muted)}
.gbr select.gbr-select,.gbr select.gbr-select:focus,.gbr select.gbr-select:focus-visible{-webkit-appearance:none;appearance:none;border:1px solid var(--gbr-line) !important;border-radius:10px !important;outline:none !important;box-shadow:none !important;
  background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23121212' stroke-width='1.8' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center !important;
  padding:9px 34px 9px 12px !important;font-size:14px;font-weight:600;color:var(--gbr-ink);width:auto;max-width:100%;height:auto;line-height:1.3}
.gbr-rv__filter{margin:0 0 12px}
.gbr .gbr-chip:not(#gbr-0):not(#gbr-1):not(#gbr-2){display:inline-flex;align-items:center;gap:6px;border:1px solid var(--gbr-line) !important;background:var(--gbr-surface) !important;border-radius:999px !important;padding:6px 12px;font-size:13px;font-weight:700 !important;line-height:1.2}
/* review card lists, product page (.gbr-rlist) and reviews page (.gbr-rp__grid): a grid of 2 columns at every width (3 on the
   wide reviews page), so cards always run left, right, left, right in every browser and "Show more" only adds rows below.
   Cards in a row share its height. */
.gbr-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.gbr-duo[aria-busy="true"]{opacity:.5;transition:opacity .15s}
/* product page, wider screens: review photos as a short 180px strip, so they never outweigh the product image above */
@container (min-width:560px){.gbr .gbr-rlist .gbr-rc__photos .gbr-thumb img{aspect-ratio:auto;height:180px}}
/* phones (list under 560px): ~170px cards, so a compact card: less padding, smaller avatar and text, date under the name */
@container (max-width:559px){
  .gbr-duo--one{grid-template-columns:minmax(0,1fr)} /* a single review: full width, normal card (his call 10-06) */
  .gbr-duo:not(.gbr-duo--one){gap:10px}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc{padding:12px;gap:8px}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__photos{margin:-12px -12px 2px}
  .gbr .gbr-duo:not(.gbr-duo--one) .gbr-rc__photos .gbr-thumb img{aspect-ratio:1/1} /* square box: a tall screenshot is not tiny in a ~170px card */
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__head{flex-wrap:wrap;gap:4px 8px}
  .gbr-duo:not(.gbr-duo--one) .gbr-av{width:28px;height:28px;border-radius:5px;background-size:19px 19px}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__who{flex:1 1 0}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__name{font-size:14px}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__date{order:3;flex-basis:100%;font-size:11.5px}
  .gbr-duo:not(.gbr-duo--one) .gbr-stars{--h:14px}
  .gbr .gbr-duo:not(.gbr-duo--one) .gbr-rc__title{font-size:14px !important}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__text{font-size:13.5px;line-height:1.5}
  .gbr-duo:not(.gbr-duo--one) .gbr-reply{padding:10px}
  .gbr-duo:not(.gbr-duo--one) .gbr-reply__text{font-size:13px}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__prodrow{gap:8px;padding-top:8px}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__pimg{width:30px;height:30px;border-radius:6px}
  .gbr-duo:not(.gbr-duo--one) .gbr-rc__prod{font-size:12.5px}
}

/* ---------- carousel (kept quieter than the product cards around it): one row; phones = ~3/4 card in view and the next one peeking (swipe); 540px+ = two + peek; 720px+ = 4 in view + arrows.
   Every card: first review photo big at the top, edge to edge ---------- */
.gbr-car{margin:8px 0}
.gbr-car__head{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:10px;margin-bottom:14px}
.gbr-car__score{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:14px;margin-top:6px}
.gbr-car__score b{font-weight:700}
.gbr-car__nav{display:none;gap:8px}
.gbr .gbr-car__nav button:not(#gbr-0):not(#gbr-1):not(#gbr-2){width:40px;height:40px;border-radius:50% !important;border:1px solid var(--gbr-line) !important;background:#fff !important;display:grid;place-items:center;font-size:0;line-height:0;padding:0;color:var(--gbr-ink) !important}
.gbr .gbr-car__nav button:not(#gbr-0):not(#gbr-1):not(#gbr-2):hover{background:var(--gbr-surface) !important}
.gbr .gbr-car__nav button:not(#gbr-0):not(#gbr-1):not(#gbr-2):disabled{opacity:.35;cursor:default}
.gbr-car__track{display:grid;grid-auto-flow:column;grid-auto-columns:72%;gap:12px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scrollbar-width:none;padding:14px 14px 30px;margin:-14px -14px -30px;scroll-padding-inline:14px} /* padding = room for the card shadows (the row clips what is outside it) */
.gbr-car__track::-webkit-scrollbar{display:none}
@container (min-width:540px){.gbr-car__track{grid-auto-columns:44%}} /* tablets: two cards and the next one peeking, so the photos do not get huge */
@container (min-width:720px){
  .gbr-car__nav{display:flex}
  .gbr-car__track{grid-auto-columns:calc((100% - 48px) / 4);gap:16px;padding-inline:16px;margin-inline:-16px;scroll-padding-inline:16px;
    -webkit-mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent);mask-image:linear-gradient(90deg,transparent,#000 16px,#000 calc(100% - 16px),transparent)}
  /* gap = side room, so the 5th card starts exactly at the edge. The 16px side room (kept for the cards shadows) fades out:
     the shadows of the cards outside the view (next / previous page) never show there, and the visible cards shadows fade instead of being cut. */
}
.gbr-tc{scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;padding:14px;border:1px solid var(--gbr-line);border-radius:8px;overflow:hidden;background:#fff;color:var(--gbr-ink);min-width:0;box-shadow:0 1px 2px rgba(16,24,40,.04),0 3px 10px rgba(16,24,40,.04);transition:border-color .15s ease,box-shadow .15s ease}
@media (hover:hover){.gbr-tc:hover{border-color:#bfe9fb;box-shadow:0 2px 4px rgba(16,24,40,.05),0 6px 16px rgba(16,24,40,.12)}} /* reaches 10px up, 22px down, 16px sideways: inside the row padding, never clipped */
.gbr-tc__text{flex:none;font-size:14px;line-height:1.5;color:#1d2433;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
/* review photos: the first one big, edge to edge at the top of the card (tap opens them all), "+N" for the others */
.gbr-tc__photos{position:relative;order:-1;margin:-14px -14px 4px}
.gbr .gbr-tc__photos .gbr-thumb:not(#gbr-0):not(#gbr-1):not(#gbr-2){width:100%;border-radius:0 !important}
.gbr .gbr-tc__photos .gbr-thumb:not(:first-child):not(#gbr-0):not(#gbr-1):not(#gbr-2){display:none}
.gbr .gbr-tc__photos .gbr-thumb img{width:100%;height:auto;aspect-ratio:2/1;border-radius:0} /* a strip: social proof sits below the product cards in weight */
.gbr-tc .gbr-rc__name{font-size:14px}
.gbr-tc .gbr-stars{--h:14px}
.gbr-tc__photos[data-more]::after,.gbr-rc__photos[data-more]::after{content:attr(data-more);position:absolute;z-index:3;right:8px;bottom:8px;padding:3px 9px;border-radius:99px;background:rgba(18,18,18,.72);color:#fff;font-size:12px;font-weight:700;line-height:1.4;pointer-events:none}
.gbr-dots{display:flex;justify-content:center;gap:6px;margin-top:12px;min-height:7px}
.gbr .gbr-dots button:not(#gbr-0):not(#gbr-1):not(#gbr-2){display:block;width:7px;height:7px;border-radius:99px !important;background:#d5d9e1 !important;transition:width .15s ease}
.gbr .gbr-dots button[aria-current="true"]:not(#gbr-0):not(#gbr-1):not(#gbr-2){width:20px;background:var(--gbr-brand) !important}
.gbr-car__all{display:inline-block;margin-top:14px;font-weight:700;font-size:14px;text-decoration:none !important;color:var(--gbr-link) !important}
.gbr-car__all:hover{text-decoration:underline !important}

/* ---------- Happy Customers page ---------- */
.gbr-rp{--gbr-sec:40px}
@container (min-width:720px){.gbr-rp{--gbr-sec:56px}}
.gbr-rp__hero{text-align:left;margin:8px 0 24px}
.gbr .gbr-rp__h1{margin:0 !important;font-size:34px !important;font-weight:700 !important;line-height:1.05 !important;letter-spacing:-.02em;color:var(--gbr-ink)}
.gbr-rp__sub{margin:10px 0 0 !important;color:#4b5563;font-size:17px;line-height:1.45}
.gbr-rp__sub > span{display:block} /* phones: one fact per line */
.gbr-rp__sub strong{color:var(--gbr-ink);font-weight:700}
@container (min-width:720px){.gbr-rp__sub > span{display:inline}.gbr-rp__served::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:#b8bec9;vertical-align:middle;margin:0 12px 3px 7px}}
@container (min-width:720px){.gbr .gbr-rp__h1{font-size:44px !important}.gbr-rp__sub{font-size:19px}.gbr-rp__hero{margin-bottom:28px}}
/* top: rating card, buyer photos beside it from 860px (below it on smaller screens) */
.gbr-rp__top{display:grid;gap:10px}
@container (min-width:860px){.gbr-rp__top--photos{grid-template-columns:330px minmax(0,1fr);gap:20px;align-items:stretch}}
/* rating card: the score ("4.9 out of 5", stars, count) beside the star rows on phones and tablets, above them in the 330px
   column next to the buyer photos (860px+); newest review date as its footer. Same corners and shadow as the review cards. */
.gbr-rp__sum{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:14px 22px;max-width:680px;margin:0;padding:16px 18px;border:1px solid var(--gbr-line);border-radius:8px;background:#fff;box-shadow:var(--gbr-shadow)}
.gbr-rp__top--photos .gbr-rp__sum{max-width:none}
.gbr-rp__score{display:flex;flex-direction:column;align-items:flex-start;gap:7px;min-width:0}
.gbr .gbr-rp__avg{display:flex;align-items:baseline;gap:6px;margin:0 !important;line-height:1}
.gbr-rp__avg b{font-size:44px;font-weight:700;line-height:.85;letter-spacing:-.03em;color:var(--gbr-ink)}
.gbr-rp__avg span{font-size:14px;font-weight:600;color:var(--gbr-muted)}
.gbr-rp__count{font-size:13.5px;line-height:1.2;color:var(--gbr-muted)}
.gbr .gbr-rp__latest{grid-column:1/-1;margin:0 !important;padding-top:12px;border-top:1px solid var(--gbr-line);font-size:13.5px;line-height:1.3;color:var(--gbr-muted)}
.gbr-rp__latest time{font-weight:700;color:var(--gbr-ink)}
@container (max-width:339px){.gbr-rp__sum{grid-template-columns:minmax(0,1fr)}}
@container (min-width:720px){.gbr-rp__sum{gap:18px 40px;padding:24px 28px}.gbr-rp__avg b{font-size:52px}}
@container (min-width:860px){.gbr-rp__top--photos .gbr-rp__sum{grid-template-columns:minmax(0,1fr);align-content:space-between;gap:18px;padding:22px 24px}}
/* buyer photos: 3x3 with one big tile on phones, 5x2 from 600px */
.gbr-mosaic{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(3,min(calc((100cqw - 16px) / 3 * .8),150px));gap:8px;min-width:0}
.gbr .gbr-mosaic__t:not(#gbr-0):not(#gbr-1):not(#gbr-2){position:relative;display:block;width:auto;height:auto;min-width:0;min-height:0;margin:0;padding:0 !important;border:0 !important;border-radius:8px !important;overflow:hidden;background:#111 !important;box-shadow:none !important;transform:none !important;cursor:pointer;line-height:0;text-align:left}
.gbr .gbr-mosaic__t img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;border-radius:0}
.gbr .gbr-mosaic__t::after{content:"";position:absolute;inset:0;z-index:2;background:rgba(18,18,18,0);transition:background .15s ease;pointer-events:none}
@media (hover:hover){.gbr .gbr-mosaic__t:hover::after{background:rgba(18,18,18,.14)}}
.gbr-mosaic__t0{grid-column:span 2;grid-row:span 2}
.gbr .gbr-mosaic__t5:not(#gbr-0):not(#gbr-1):not(#gbr-2){display:none}
.gbr-mosaic__cap{position:absolute;left:0;right:0;bottom:0;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:22px 10px 8px;background:linear-gradient(transparent,rgba(0,0,0,.62));color:#fff;font-size:12px;font-weight:600;line-height:1.2}
.gbr-mosaic__t0 .gbr-mosaic__cap{padding:30px 12px 10px;font-size:13px}
.gbr-mosaic__all{position:absolute;inset:0;z-index:1;display:grid;place-items:center;padding:10px;background:rgba(18,18,18,.55);color:#fff;font-weight:700;font-size:14px;line-height:1.25;text-align:center}
@container (min-width:600px){
  .gbr-mosaic{grid-template-columns:repeat(5,minmax(0,1fr));grid-template-rows:repeat(2,min(calc((100cqw - 32px) / 5 * .85),150px))}
  .gbr .gbr-mosaic__t5:not(#gbr-0):not(#gbr-1):not(#gbr-2){display:block}
  .gbr-mosaic__t0 .gbr-mosaic__cap{padding:40px 16px 14px;font-size:15px}
}
@container (min-width:860px){.gbr-rp__top--photos .gbr-mosaic{grid-template-rows:repeat(2,minmax(0,1fr));min-height:280px}}
.gbr-rp__chips{display:flex;flex-wrap:wrap;gap:8px;margin:20px 0 14px}
.gbr .gbr-rp__chips button:not(#gbr-0):not(#gbr-1):not(#gbr-2){flex:none;padding:7px 13px !important;border:1px solid var(--gbr-line) !important;background:#fff !important;border-radius:999px !important;padding:8px 14px;font-weight:700 !important;font-size:14px;line-height:1.2;white-space:nowrap;color:var(--gbr-ink) !important}
.gbr .gbr-rp__chips button[aria-pressed="true"]:not(#gbr-0):not(#gbr-1):not(#gbr-2){background:var(--gbr-ink) !important;border-color:var(--gbr-ink) !important;color:#fff !important}
@container (min-width:1000px){.gbr-rp__grid{grid-template-columns:repeat(3,minmax(0,1fr))}} /* reviews page, wide screens (2 below: .gbr-duo) */

/* ---------- photo viewer, review-form pop-up, preview bar ---------- */
.gbr-lb{--gbr-lbh:78vh}
.gbr-lb.has-cap{--gbr-lbh:56vh} /* room for the review under the photo */
.gbr-lb,.gbr-modal{position:fixed;inset:0;z-index:2147483647;background:rgba(10,12,16,.88);display:grid;place-items:center;padding:56px 16px}
/* enlarged to the screen, at most 2x the stored photo (--gbr-nw / --gbr-r set by gb-reviews.js when it loads) */
.gbr-lb img{width:min(92vw,960px,calc(var(--gbr-nw,384) * 2px),calc(var(--gbr-lbh) * var(--gbr-r,1)));height:auto;max-width:none;max-height:var(--gbr-lbh);object-fit:contain;border-radius:12px;display:block}
.gbr .gbr-lb__btn:not(#gbr-0):not(#gbr-1):not(#gbr-2){position:absolute;width:44px;height:44px;border-radius:50% !important;background:rgba(255,255,255,.16) !important;color:#fff !important;font-size:0;line-height:0;display:grid;place-items:center;padding:0}
.gbr .gbr-lb__btn:not(#gbr-0):not(#gbr-1):not(#gbr-2):hover{background:rgba(255,255,255,.26) !important;color:#fff !important}
.gbr .gbr-lb__btn svg,.gbr .gbr-modal__close svg,.gbr .gbr-car__nav svg{display:block;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.gbr .gbr-lb__close:not(#gbr-0):not(#gbr-1):not(#gbr-2){top:calc(14px + env(safe-area-inset-top,0px));right:14px}
.gbr .gbr-lb__prev:not(#gbr-0):not(#gbr-1):not(#gbr-2){left:10px;top:50%;transform:translateY(-50%)}
.gbr .gbr-lb__next:not(#gbr-0):not(#gbr-1):not(#gbr-2){right:10px;top:50%;transform:translateY(-50%)}
.gbr-lb__stage{display:flex;flex-direction:column;align-items:center;gap:12px;max-width:100%}
.gbr-lb__cap{width:min(92vw,520px);background:#fff;border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px;color:var(--gbr-ink);text-align:left}
.gbr-lb__who{display:flex;align-items:center;gap:8px;min-width:0}
.gbr-lb__who .gbr-rc__date{margin-left:auto}
.gbr-lb__text{margin:0 !important;font-size:14px;line-height:1.5;color:#1d2433;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.gbr-lb__prod{display:block;margin-top:2px;padding-top:8px;border-top:1px solid var(--gbr-line);font-size:13px;font-weight:700;line-height:1.35;color:var(--gbr-ink) !important;text-decoration:none !important}
a.gbr-lb__prod::after{content:"  \2192"}
a.gbr-lb__prod:hover{text-decoration:underline !important}
.gbr-lb__count{position:absolute;bottom:calc(16px + env(safe-area-inset-bottom,0px));left:0;right:0;text-align:center;color:#d6dae2;font-size:13px}
.gbr-modal__box{position:relative;width:min(560px,100%);max-height:calc(100vh - 80px);background:#fff;border-radius:16px;overflow:auto}
.gbr-modal__box iframe{display:block;width:100%;height:640px;border:0}
.gbr-modal__load{padding:40px;text-align:center;color:var(--gbr-muted)}
.gbr .gbr-modal__close:not(#gbr-0):not(#gbr-1):not(#gbr-2){position:sticky;top:8px;float:right;margin:8px 8px -52px 0;z-index:2;width:40px;height:40px;border-radius:50% !important;background:#f1f3f6 !important;color:#121212 !important;font-size:0;line-height:0;padding:0;display:grid;place-items:center}
.gbr .gbr-modal__close:not(#gbr-0):not(#gbr-1):not(#gbr-2):hover{background:#e6e9ee !important}
.gbr-pbar{background:#121212;color:#fff;font-family:var(--gb-font,sans-serif);font-size:13px;line-height:1.3;text-align:center;padding:8px 12px}
.gbr-pbar a{color:#7fd6ff !important;font-weight:700;text-decoration:underline}
@media (prefers-reduced-motion:reduce){.gbr-tc,.gbr .gbr-thumb::after,.gbr .gbr-dots button,.gbr-duo[aria-busy="true"],.gbr-next__game{transition:none}}


/* ---------- reviews page: proof strip, list heading, legit answer, next step ---------- */
.gbr-proof{list-style:none;margin:20px 0 0 !important;padding:16px 0 !important;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 12px;border-top:1px solid var(--gbr-line);border-bottom:1px solid var(--gbr-line)}
.gbr-proof__item{display:flex;align-items:flex-start;gap:8px;margin:0 !important;padding:0;min-width:0}
.gbr-proof__icon{width:28px;height:28px;flex:none;border-radius:7px;display:grid;place-items:center;background:rgba(40,201,127,.12);color:var(--gbr-ok)}
.gbr-proof__svg{width:16px;height:16px;display:block}
.gbr-proof__text{font-size:14px;font-weight:600;line-height:1.35;color:var(--gbr-ink);min-width:0;padding-top:4px}
@container (min-width:960px){
  .gbr-proof{grid-template-columns:repeat(4,auto);justify-content:space-between;gap:12px}
  .gbr-proof__item{align-items:center}
  .gbr-proof__text{font-size:15px;padding-top:0;white-space:nowrap}
}
.gbr .gbr-rp__listh{margin:var(--gbr-sec) 0 0 !important;text-align:left}
/* closing sections on the page grid (left aligned like the rest): the legit answer, then the way back to the shop.
   A hairline above each; heading left and content right from 860px. */
.gbr-rp__sec{margin-top:var(--gbr-sec);padding-top:28px;border-top:1px solid var(--gbr-line);display:grid;gap:14px}
.gbr-rp__sec + .gbr-rp__sec{margin-top:32px}
@container (min-width:860px){.gbr-rp__sec{grid-template-columns:minmax(0,1fr) minmax(0,2fr);gap:40px;align-items:start}}
.gbr-rp__secbody{display:flex;flex-direction:column;align-items:flex-start;gap:16px;min-width:0}
.gbr-legit__p{margin:0 !important;max-width:68ch;font-size:16px;line-height:1.65;color:#1d2433}
.gbr-next__games{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
@container (min-width:560px){.gbr-next__games{grid-template-columns:repeat(3,minmax(0,1fr))}}
@container (min-width:860px){.gbr-next__games{grid-template-columns:repeat(4,minmax(0,1fr))}}
/* a link out (not a filter like the chips above): small card with the game icon, same border, corners and hover as the review cards */
.gbr-next__game{display:flex;align-items:center;gap:10px;min-width:0;padding:7px 12px 7px 7px;border:1px solid var(--gbr-line);border-radius:8px;background:#fff;box-shadow:var(--gbr-shadow);font-weight:700;font-size:14px;line-height:1.25;color:var(--gbr-ink) !important;text-decoration:none !important;transition:border-color .15s ease,box-shadow .15s ease}
@media (hover:hover){.gbr-next__game:hover{border-color:#bfe9fb;box-shadow:var(--gbr-shadow-hover)}}
.gbr-next__icon{width:32px;height:32px;flex:none;border-radius:6px;background:var(--gbr-surface) center/cover no-repeat}

/* ---------- store rating badge (gb_rv_badge): menu drawer = centred, two lines; FAQ page = one line, left ---------- */
.gbr-badge{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;font-size:13px;line-height:1.3;color:var(--gbr-muted)}
.gbr-badge__score{display:flex;align-items:center;gap:6px}
.gbr-badge--inline{flex-direction:row;flex-wrap:wrap;align-items:center;gap:2px 8px;text-align:left;font-size:14px;color:#5b6470}
.gbr-badge--inline b{font-weight:700;color:var(--gbr-ink)}
