
/*
  Shell / outer panel
  Keep the widget wrapper transparent so the page builder module can control
  the background behind the widget.
*/
.gmbrd-wrap{border:0;border-radius:0;padding:0;max-width:100%;background:transparent;font-family:inherit;--gmbrd-card-bg:#fff;--gmbrd-card-border:#e5e5e5;--gmbrd-card-radius:12px}

/* Layout surfaces */
.gmbrd-wrap.gmbrd-layout-slider{--gmbrd-card-bg:#f3f4f6;--gmbrd-card-border:transparent;--gmbrd-card-radius:14px}
.gmbrd-wrap.gmbrd-layout-list{--gmbrd-card-bg:#f3f4f6;--gmbrd-card-border:#e5e7eb;--gmbrd-card-radius:12px}
.gmbrd-wrap.gmbrd-layout-grid{--gmbrd-card-bg:#fff;--gmbrd-card-border:#e5e7eb;--gmbrd-card-radius:12px}
.gmbrd-wrap.gmbrd-layout-featured{--gmbrd-card-bg:#fff;--gmbrd-card-border:#e5e7eb;--gmbrd-card-radius:12px}

/* Ensure headers and cards share the same surface color in Clean preset.
   This prevents a white header sitting on top of light grey cards.
*/
.gmbrd-wrap.gmbrd-style-clean{
  /* Clean: light grey header + cards, subtle border */
  --gmbrd-card-bg:#f3f4f6;
  --gmbrd-card-border:#e5e7eb;
}

/* Soft: white header + cards, very subtle border */
.gmbrd-wrap.gmbrd-style-soft{
  --gmbrd-card-bg:#ffffff;
  --gmbrd-card-border:#e5e7eb;
}

/* Clean should blend into the page background */
.gmbrd-style-clean.gmbrd-wrap{border:none;background:transparent;padding:0}

/* Dark preset: set shared surface variables so header and cards match. */
.gmbrd-wrap.gmbrd-style-dark{--gmbrd-card-bg:#1b1f24;--gmbrd-card-border:#334155;}
.gmbrd-header{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px}
.gmbrd-business-name{font-weight:700}
.gmbrd-business-address{color:#50575e;font-size:13px;margin-top:2px}
.gmbrd-summary{display:flex;align-items:center;gap:8px;white-space:nowrap}
.gmbrd-rating{font-weight:700}
.gmbrd-count{color:#50575e;font-size:13px}
.gmbrd-reviews{display:block}
.gmbrd-review{border-top:1px solid #e5e7eb;padding:10px 0}
.gmbrd-review:first-child{border-top:none;padding-top:0}
.gmbrd-review-top{display:flex;flex-direction:column;gap:8px}
.gmbrd-author-row{display:flex;justify-content:space-between;gap:10px;align-items:center}
.gmbrd-author-row .gmbrd-author{min-width:0}
.gmbrd-author-row .gmbrd-author-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

.gmbrd-google-g{display:inline-block;width:18px;height:18px;overflow:hidden;flex:0 0 auto}
.gmbrd-google-g-img{height: 16px;width:auto;display:block}
.gmbrd-author{display:flex;gap:10px;align-items:center}
.gmbrd-avatar{width:34px;height:34px;border-radius:var(--gmbrd-dot-radius,999px);object-fit:cover;background:#f6f7f7}

/* Avatar wrapper for the Google badge (Slider II) */
.gmbrd-avatar-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto}
.gmbrd-avatar-google{position:absolute;right:2px;bottom:2px;width:22px;height:22px;border-radius:var(--gmbrd-dot-radius,999px);background:var(--gmbrd-arrow-bg,#fff);border:2px solid #fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(16,24,40,.18)}
.gmbrd-avatar-google img{width:16px;height:16px;display:block}

/* Slightly larger badge for Slider III avatar-top look */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-google{width:26px;height:26px;right:3px;bottom:3px}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-google img{width:19px;height:19px}
.gmbrd-author-name{font-weight:600;font-size:13px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}
.gmbrd-review-meta{display:flex;align-items:center;gap:6px;white-space:nowrap}
.gmbrd-time{color:#50575e;font-size:12px;white-space:nowrap}
.gmbrd-text{margin-top:8px;line-height:1.4}
.gmbrd-stars{display:inline-flex;gap:2px;font-size:16px;line-height:1}
.gmbrd-header .gmbrd-stars{font-size:18px;}
.gmbrd-star{position:relative;display:inline-block;}
.gmbrd-star-empty{opacity:.25;}
/* Half star: show a dim star, overlay the left half in full color */
.gmbrd-star-half{color:rgba(244,180,0,.28);}
.gmbrd-star-half::before{
  content:"★";
  position:absolute;
  left:0;
  top:0;
  width:50%;
  overflow:hidden;
  color:var(--gmbrd-star-color,#f4b400);
}
.gmbrd-star{color:#f4b400}
.gmbrd-star-empty{opacity:.25}

/* Grid */
.gmbrd-layout-grid .gmbrd-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px}
.gmbrd-layout-grid .gmbrd-review{border:1px solid var(--gmbrd-card-border);border-radius:var(--gmbrd-card-radius);background:var(--gmbrd-card-bg);padding:20px}
.gmbrd-layout-grid .gmbrd-review{display:flex;flex-direction:column}
/* First-child border/padding caused a visible highlight line in grid/list cards. */
.gmbrd-layout-grid .gmbrd-review:first-child{border-top:none;padding-top:20px}

/* List layout: TrustIndex-like spacing */
.gmbrd-layout-list .gmbrd-reviews{display:flex;flex-direction:column;gap:14px}
.gmbrd-layout-list .gmbrd-review{border:1px solid var(--gmbrd-card-border);border-radius:var(--gmbrd-card-radius);background:var(--gmbrd-card-bg);padding:18px 22px}
.gmbrd-layout-list .gmbrd-review:first-child{border-top:none;padding-top:18px}

/* List is default */

/* Slider (legacy fallback, only when carousel markup is NOT used) */
.gmbrd-layout-slider .gmbrd-reviews:not(.gmbrd-carousel-track){display:flex;gap:12px;overflow:hidden;flex-wrap:nowrap;padding-bottom:0}
.gmbrd-layout-slider .gmbrd-reviews:not(.gmbrd-carousel-track) .gmbrd-review{flex:0 0 calc(100%/var(--gmbrd-per-view,3));min-width:0;max-width:none;border:1px solid var(--gmbrd-card-border);border-radius:var(--gmbrd-card-radius);background:var(--gmbrd-card-bg);padding:20px;box-sizing:border-box}
.gmbrd-layout-slider .gmbrd-reviews:not(.gmbrd-carousel-track) .gmbrd-review:first-child{border-top:none;padding-top:20px}

/* When the slider is running in carousel mode, reviews live inside the track.
   Ensure cards keep the same border/background/padding rules (needed for presets like Soft). */
.gmbrd-layout-slider .gmbrd-reviews.gmbrd-carousel-track .gmbrd-review{
  flex:0 0 calc(100%/var(--gmbrd-per-view,3));
  min-width:0;
  max-width:none;
  border:1px solid var(--gmbrd-card-border);
  border-radius:var(--gmbrd-card-radius);
  background:var(--gmbrd-card-bg);
  padding:20px;
  box-sizing:border-box;
}

/* Badge */
/* Center badge output (horizontal + vertical) for all badge variants */
.gmbrd-layout-badge{padding:0;border:none;background:transparent;display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:100%}
.gmbrd-layout-badge .gmbrd-empty,.gmbrd-layout-badge .gmbrd-reviews{display:none}
.gmbrd-badge{border:1px solid #e5e7eb;border-radius:var(--gmbrd-dot-radius,999px);padding:10px 14px;background:var(--gmbrd-arrow-bg,#fff);display:inline-flex;flex-direction:column;gap:4px}

/* Badge I + II (Top Rated): match TrustIndex minimal look (no pill background/border) */
.gmbrd-badge-toprated{
  border:none;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0;
  gap:6px;
  align-items:center;
  text-align:center;
  font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

/* Badge III: force fully transparent container (no background or shadow) */
.gmbrd-badge-toprated-v3{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
}
.gmbrd-badge-toprated .gmbrd-badge-line1{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap}
.gmbrd-badge-toprated .gmbrd-badge-google-img{height:24px;width:auto;display:block}
.gmbrd-badge-toprated .gmbrd-badge-stars{font-size:22px;line-height:1}
.gmbrd-badge-toprated .gmbrd-badge-rating-num{font-weight:700;font-size:18px;line-height:1}
.gmbrd-badge-toprated .gmbrd-badge-line2{font-weight:700;color:#1d2327;font-size:20px;line-height:1.15}



/* Badge III + IV (Top Rated minimal): title + verified line */
.gmbrd-badge-toprated .gmbrd-badge-title{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;margin-bottom:4px}
.gmbrd-badge-toprated .gmbrd-badge-title-line1{font-weight:800;font-size:28px;line-height:1.05;color:#111827}
.gmbrd-badge-toprated .gmbrd-badge-title-line2{font-weight:800;font-size:28px;line-height:1.05;color:#111827}
.gmbrd-badge-toprated .gmbrd-badge-google-g{width:22px;height:22px;display:block}
.gmbrd-badge-toprated .gmbrd-badge-google-wordmark-img{height:28px;width:auto;display:block;margin:2px auto 2px}
.gmbrd-badge-toprated .gmbrd-badge-verified{display:flex;align-items:center;justify-content:center;gap:6px;font-size:14px;line-height:1.2;color:#111827}
.gmbrd-badge-toprated .gmbrd-badge-info{display:inline-flex;align-items:center;justify-content:center;opacity:.85}

/* Badge V + VI (Top Rated light border split badges) */
.gmbrd-badge-toprated-v5,
.gmbrd-badge-toprated-v6{
  border:1px solid #cfd4dc;
  border-radius:12px;
  background:var(--gmbrd-arrow-bg,#fff);
  padding:0;
  overflow:hidden;
  display:inline-flex;
  flex-direction:column;
  gap:0;
}
.gmbrd-badge-toprated-v5 .gmbrd-badge-split,
.gmbrd-badge-toprated-v6 .gmbrd-badge-split{
  display:flex;
  align-items:stretch;
}
.gmbrd-badge-toprated-v5 .gmbrd-badge-split-left,
.gmbrd-badge-toprated-v6 .gmbrd-badge-split-left{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  min-width:86px;
}
.gmbrd-badge-toprated-v5 .gmbrd-badge-google-g-lg,
.gmbrd-badge-toprated-v6 .gmbrd-badge-google-g-lg{
  width:46px;
  height:46px;
  display:block;
}
.gmbrd-badge-toprated-v6 .gmbrd-badge-google-g-lg{
  width:54px;
  height:54px;
}
.gmbrd-badge-toprated-v5 .gmbrd-badge-split-left-rating{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  margin-top:6px;
  font-weight:800;
  font-size:16px;
  line-height:1;
}
.gmbrd-badge-toprated-v5 .gmbrd-badge-split-left-rating .gmbrd-star{font-size:16px;line-height:1}

.gmbrd-badge-toprated-v5 .gmbrd-badge-split-divider,
.gmbrd-badge-toprated-v6 .gmbrd-badge-split-divider{
  width:1px;
  background:#cfd4dc;
}
.gmbrd-badge-toprated-v5 .gmbrd-badge-split-right,
.gmbrd-badge-toprated-v6 .gmbrd-badge-split-right{
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:12px 16px;
  text-align:left;
}

/* V: stacked title */
.gmbrd-badge-toprated-v5 .gmbrd-badge-split-title-line1,
.gmbrd-badge-toprated-v5 .gmbrd-badge-split-title-line2{
  font-weight:800;
  font-size:18px;
  line-height:1.15;
  color:var(--gmbrd-arrow-icon,#111827);
}

/* VI: top stars row + title */
.gmbrd-badge-toprated-v6 .gmbrd-badge-split-right-top{
  display:flex;
  align-items:center;
  gap:8px;
  margin-bottom:4px;
}
.gmbrd-badge-toprated-v6 .gmbrd-badge-split-right-top .gmbrd-stars{font-size:16px}
.gmbrd-badge-toprated-v6 .gmbrd-badge-split-right-top .gmbrd-badge-rating-num{font-size:14px;font-weight:800}
.gmbrd-badge-toprated-v6 .gmbrd-badge-split-right-mid{
  font-weight:800;
  font-size:16px;
  line-height:1.2;
  color:var(--gmbrd-arrow-icon,#111827);
}

/* Dark mode support */
.gmbrd-style-dark .gmbrd-badge-toprated-v5,
.gmbrd-style-dark .gmbrd-badge-toprated-v6{
  background:transparent;
  border-color:rgba(255,255,255,.25);
}
.gmbrd-style-dark .gmbrd-badge-toprated-v5 .gmbrd-badge-split-divider,
.gmbrd-style-dark .gmbrd-badge-toprated-v6 .gmbrd-badge-split-divider{
  background:rgba(255,255,255,.25);
}
.gmbrd-style-dark .gmbrd-badge-toprated-v5 .gmbrd-badge-split-title-line1,
.gmbrd-style-dark .gmbrd-badge-toprated-v5 .gmbrd-badge-split-title-line2,
.gmbrd-style-dark .gmbrd-badge-toprated-v6 .gmbrd-badge-split-right-mid,
.gmbrd-style-dark .gmbrd-badge-toprated-v5 .gmbrd-badge-rating-num,
.gmbrd-style-dark .gmbrd-badge-toprated-v6 .gmbrd-badge-rating-num{
  color:#ffffff;
}

/* Badge III + IV: ensure the second title line is readable in dark mode */
.gmbrd-style-dark .gmbrd-badge-toprated .gmbrd-badge-title-line2{color:#ffffff}
.gmbrd-style-dark .gmbrd-badge-toprated .gmbrd-badge-title-line1{color:#ffffff}
.gmbrd-style-dark .gmbrd-badge-toprated .gmbrd-badge-verified{color:#ffffff;opacity:.9}

/* Badge I + II: ensure the second line is readable in dark mode */
.gmbrd-style-dark .gmbrd-badge-toprated .gmbrd-badge-line2{color:#f9fafb}
.gmbrd-badge-top{display:flex;align-items:center;gap:8px}
.gmbrd-badge-rating{font-weight:800}
.gmbrd-badge-sub{display:flex;gap:10px;flex-wrap:wrap;color:#50575e;font-size:12px}
.gmbrd-badge-name{font-weight:600;color:#1d2327}


.gmbrd-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 16px; border:1px solid var(--gmbrd-card-border); border-radius:12px; margin-bottom:14px; background:var(--gmbrd-card-bg); }
.gmbrd-header-left { display:flex; align-items:center; gap:12px; }
.gmbrd-google-label { font-size:18px; line-height:1; }
.gmbrd-header-right { display:flex; align-items:center; gap:14px; flex-wrap:wrap; justify-content:flex-end; }
.gmbrd-write-review{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid #d1d5db;border-radius:var(--gmbrd-dot-radius,999px);text-decoration:none;font-weight:600;font-size:13px;line-height:1;color:inherit;background:#fff}
.gmbrd-write-review .gmbrd-btn-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 auto}
.gmbrd-write-review .gmbrd-btn-icon img{width:18px;height:18px;display:block}
.gmbrd-write-review:hover{border-color:rgba(17,24,39,.22);background:#f9fafb}

/* Grid "Show more" */
.gmbrd-grid-more-wrap{display:flex;justify-content:center;margin-top:14px}
.gmbrd-grid-more-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px solid #d1d5db;border-radius:999px;background:#fff;color:inherit;font-weight:600;font-size:13px;line-height:1;cursor:pointer}
.gmbrd-grid-more-btn:hover{border-color:rgba(17,24,39,.22);background:#f9fafb}
.gmbrd-style-dark .gmbrd-grid-more-btn{border-color:#334155;background:#111827;color:#f9fafb}
.gmbrd-style-dark .gmbrd-grid-more-btn:hover{border-color:#475569;background:#0b1220}


/* Button layout */
/* Center button output (horizontal + vertical) for all button variants */
.gmbrd-layout-button{padding:0;border:none;background:transparent;display:flex;align-items:center;justify-content:center;text-align:center;width:100%;min-height:100%}
.gmbrd-button-card{border:1px solid #e5e7eb;border-radius:12px;padding:14px;background:var(--gmbrd-arrow-bg,#fff);display:flex;align-items:center;justify-content:space-between;gap:12px}
.gmbrd-button-name{font-weight:800;margin-bottom:4px}
.gmbrd-button-summary{display:flex;align-items:center;gap:8px}
.gmbrd-write-review--primary{background:#1a73e8;color:#fff;border-color:#1a73e8}
.gmbrd-write-review--primary:hover{opacity:.92}

/* Button I + II: light border pill buttons */
.gmbrd-button-pill{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 22px;border:1px solid #d1d5db;border-radius:12px;background:var(--gmbrd-arrow-bg,#fff);text-decoration:none;color:inherit;line-height:1;box-sizing:border-box}
.gmbrd-button-pill:hover{border-color:rgba(17,24,39,.22);background:#f9fafb}
.gmbrd-button-pill-label{font-weight:800;font-size:13px;letter-spacing:.06em}
.gmbrd-button-pill-text{font-weight:700;font-size:13px}
.gmbrd-button-pill-count{font-weight:600;font-size:13px;color:#111827}
.gmbrd-button-pill .gmbrd-button-stars{font-size:16px;line-height:1}
.gmbrd-button-pill-google{display:inline-flex;align-items:center;line-height:0}
.gmbrd-button-google-logo{height:18px;width:auto;display:block;margin-top:1px}
.gmbrd-button-google-logo--dark{display:none}

/* Button III: drop shadow pill (no border) */
.gmbrd-button-pill-v3{border:0;box-shadow:0 10px 24px rgba(0,0,0,.14);padding:18px 26px;border-radius:14px}
.gmbrd-button-pill-v3:hover{background:#ffffff}

/* Button IV: light background pill (no border, no shadow) */
.gmbrd-button-pill-v4{border:0;box-shadow:none;background:#f3f4f6;padding:16px 26px;border-radius:14px}
.gmbrd-button-pill-v4:hover{background:#eef2f7}

/* Button V: light background compact pill (label | rating + Google) */
.gmbrd-button-pill-v5{border:0;box-shadow:none;background:#f3f4f6;padding:14px 22px;border-radius:14px}
.gmbrd-button-pill-v5:hover{background:#eef2f7}
.gmbrd-button-pill-sep{font-weight:700;font-size:13px;opacity:.55}
.gmbrd-button-pill-rating{font-weight:700;font-size:13px}

/* Button VI: drop shadow pill (G icon + stars + rating | reviews) */
.gmbrd-button-pill-v6{border:0;box-shadow:0 10px 24px rgba(0,0,0,.14);padding:18px 26px;border-radius:14px;background:#ffffff}
.gmbrd-button-pill-v6:hover{background:#ffffff}
.gmbrd-button-pill-g{display:inline-flex;align-items:center;line-height:0}
.gmbrd-button-google-g{width:22px;height:22px;display:block}

/* Dark preset */
.gmbrd-style-dark .gmbrd-button-pill{background:#0b1220;border-color:#334155;color:#f9fafb}
.gmbrd-style-dark .gmbrd-button-pill:hover{background:#111827}
.gmbrd-style-dark .gmbrd-button-pill-count{color:#f9fafb}
.gmbrd-style-dark .gmbrd-button-google-logo--light{display:none}
.gmbrd-style-dark .gmbrd-button-google-logo--dark{display:block}

/* Dark preset tweaks for III + IV */
.gmbrd-style-dark .gmbrd-button-pill-v3{background:#0b1220;border:0;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.gmbrd-style-dark .gmbrd-button-pill-v3:hover{background:#111827}
.gmbrd-style-dark .gmbrd-button-pill-v4{background:#111827;border:0;box-shadow:none}
.gmbrd-style-dark .gmbrd-button-pill-v4:hover{background:#0f172a}

/* Dark preset tweaks for V + VI */
.gmbrd-style-dark .gmbrd-button-pill-v5{background:#111827;border:0;box-shadow:none}
.gmbrd-style-dark .gmbrd-button-pill-v5:hover{background:#0f172a}
.gmbrd-style-dark .gmbrd-button-pill-v6{background:#0b1220;border:0;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.gmbrd-style-dark .gmbrd-button-pill-v6:hover{background:#111827}


/* Button VII: stacked avatars pill */
.gmbrd-button-pill-v7{border:0;box-shadow:0 10px 24px rgba(0,0,0,.14);padding:18px 22px;border-radius:14px;background:#ffffff;gap:14px}
.gmbrd-button-pill-v7:hover{background:#ffffff}
.gmbrd-button-avatars{display:inline-flex;align-items:center;line-height:0}
.gmbrd-button-avatars img{width:28px;height:28px;border-radius:var(--gmbrd-dot-radius,999px);object-fit:cover;border:2px solid #ffffff;box-sizing:border-box;margin-left:-10px}
.gmbrd-button-avatars img:first-child{margin-left:0}
.gmbrd-button-v7-meta{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px;color:var(--gmbrd-arrow-icon,#111827);white-space:nowrap}
.gmbrd-button-v7-star{color:#f4b400;font-size:16px;line-height:1}
.gmbrd-button-v7-google{font-weight:700}
.gmbrd-button-v7-sep{opacity:.55;font-weight:700}

/* Button VIII: business name + meta + neutral CTA */
.gmbrd-button-pill-v8{border:1px solid #e5e7eb;border-radius:14px;background:#ffffff;padding:14px 16px;box-shadow:none;display:flex;align-items:center;justify-content:space-between;gap:14px;min-width:0}
.gmbrd-button-v8-left{display:flex;flex-direction:column;gap:6px;min-width:0}
.gmbrd-button-v8-name{font-weight:800;font-size:16px;line-height:1.15;color:var(--gmbrd-arrow-icon,#111827);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gmbrd-button-v8-meta{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}
.gmbrd-button-v8-meta .gmbrd-stars{font-size:14px;line-height:1}
.gmbrd-button-v8-rating{font-weight:700;font-size:13px;color:#111827}
.gmbrd-button-v8-sep{opacity:.55;font-weight:700}
.gmbrd-button-v8-count{font-weight:600;font-size:13px;color:#111827}

/* Neutral CTA (always grey) */
.gmbrd-write-review--neutral{background:#f3f4f6;border-color:#e5e7eb;color:#111827}
.gmbrd-write-review--neutral:hover{background:#e5e7eb;border-color:#d1d5db}

/* Dark mode for VII + VIII */
.gmbrd-style-dark .gmbrd-button-pill-v7{background:#0b1220;box-shadow:0 10px 24px rgba(0,0,0,.35)}
.gmbrd-style-dark .gmbrd-button-v7-meta{color:#f9fafb}
.gmbrd-style-dark .gmbrd-button-avatars img{border-color:#0b1220}

.gmbrd-style-dark .gmbrd-button-pill-v8{background:#0b1220;border-color:#334155}
.gmbrd-style-dark .gmbrd-button-v8-name,
.gmbrd-style-dark .gmbrd-button-v8-rating,
.gmbrd-style-dark .gmbrd-button-v8-count{color:#f9fafb}
.gmbrd-style-dark .gmbrd-write-review--neutral{background:#1f2937;border-color:#334155;color:#f9fafb}
.gmbrd-style-dark .gmbrd-write-review--neutral:hover{background:#111827;border-color:#475569}


/* Featured layout */
.gmbrd-featured{display:block}
.gmbrd-featured-card{border:1px solid #e5e7eb;border-radius:12px;padding:20px;background:#fff}
.gmbrd-featured-top{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.gmbrd-featured-author{font-weight:800}
.gmbrd-featured-meta{display:flex;align-items:center;justify-content:space-between;gap:12px}
.gmbrd-featured-meta-left{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.gmbrd-featured-rating-number{font-weight:700;color:#111827}
.gmbrd-featured-text{font-size:16px;line-height:1.5}

/* Popup and floating */
.gmbrd-trigger{position:relative}
.gmbrd-trigger-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid #d1d5db;border-radius:var(--gmbrd-dot-radius,999px);padding:10px 14px;background:var(--gmbrd-arrow-bg,#fff);cursor:pointer;font-weight:600;font-size:13px;line-height:1}
.gmbrd-trigger-btn::before{content:"";width:18px;height:18px;display:inline-block;background:url('../img/google-g.svg') no-repeat center/contain}
.gmbrd-trigger-btn:hover{border-color:rgba(17,24,39,.22);background:#f9fafb}
.gmbrd-trigger-rating{font-weight:800}
.gmbrd-modal{display:none;position:fixed;inset:0;z-index:99999}
.gmbrd-modal.is-open{display:block}
.gmbrd-modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}
.gmbrd-modal-panel{position:relative;max-width:840px;width:calc(100% - 36px);margin:50px auto;background:var(--gmbrd-arrow-bg,#fff);border-radius:14px;max-height:calc(100% - 100px);overflow:auto;padding:14px 14px 0}
.gmbrd-modal-close{position:absolute;top:10px;right:10px;border:1px solid #c3c4c7;border-radius:10px;background:var(--gmbrd-arrow-bg,#fff);width:34px;height:34px;cursor:pointer;font-size:20px;line-height:28px}
.gmbrd-header--compact{margin:0 0 12px;padding:12px}
.gmbrd-layout-floating .gmbrd-trigger{position:fixed;right:18px;bottom:18px;z-index:99998}
.gmbrd-layout-floating .gmbrd-trigger-btn{box-shadow:0 8px 24px rgba(0,0,0,.18)}

/* Floating II: bottom-left */
.gmbrd-layout-floating.gmbrd-variant-2 .gmbrd-trigger{left:18px;right:auto}

/* Popup II: badge-style trigger */
.gmbrd-layout-popup.gmbrd-variant-2 .gmbrd-trigger-btn{
  border-radius:12px;
  padding:12px 14px;
  font-size:14px;
  font-weight:700;
}
.gmbrd-layout-popup.gmbrd-variant-2 .gmbrd-trigger-btn::before{width:20px;height:20px}

/* Badge variants */
.gmbrd-layout-badge.gmbrd-variant-2 .gmbrd-badge{border-radius:12px;padding:12px 14px}
.gmbrd-layout-badge.gmbrd-variant-2 .gmbrd-badge-sub{font-size:12px}
.gmbrd-layout-badge.gmbrd-variant-3 .gmbrd-badge{box-shadow:0 6px 18px rgba(0,0,0,.08)}

/* Style presets */
.gmbrd-style-clean{}
/* Clean: light grey header + cards with subtle darker grey borders */
.gmbrd-style-clean .gmbrd-header{background:var(--gmbrd-card-bg);border-color:var(--gmbrd-card-border)}
.gmbrd-style-clean .gmbrd-review,.gmbrd-style-clean .gmbrd-button-card,.gmbrd-style-clean .gmbrd-featured-card{background:var(--gmbrd-card-bg);border-color:var(--gmbrd-card-border)}

/* Soft: white header + cards with subtle grey borders */
.gmbrd-style-soft{border-radius:16px}
.gmbrd-style-soft .gmbrd-header,.gmbrd-style-soft .gmbrd-review,.gmbrd-style-soft .gmbrd-button-card,.gmbrd-style-soft .gmbrd-featured-card{border-color:var(--gmbrd-card-border)}
.gmbrd-style-soft .gmbrd-header{background:var(--gmbrd-card-bg)}
.gmbrd-style-soft .gmbrd-review,.gmbrd-style-soft .gmbrd-button-card,.gmbrd-style-soft .gmbrd-featured-card{background:var(--gmbrd-card-bg)}

/* Bold: no outer border, thicker borders on header/cards, black write-review border */
.gmbrd-style-bold{border:0}
.gmbrd-style-bold .gmbrd-header,.gmbrd-style-bold .gmbrd-review,.gmbrd-style-bold .gmbrd-button-card,.gmbrd-style-bold .gmbrd-featured-card{border-color:#1d2327;border-width:2px;border-style:solid}
.gmbrd-style-bold .gmbrd-write-review{border-color:#1d2327;border-width:2px}
/* Slider: add enough top room so the hover lift doesn't clip borders */
.gmbrd-layout-slider .gmbrd-carousel-viewport{padding-top:6px}
/* Bold: slightly more room for the thicker 2px border */
.gmbrd-style-bold.gmbrd-layout-slider .gmbrd-carousel-viewport{padding-top:8px}
/* Bold: arrows should match the same black border weight used by the header/cards */
.gmbrd-style-bold .gmbrd-carousel-arrow{border:2px solid #1d2327}
.gmbrd-style-dark{background:#111827;color:#f9fafb;border-color:#111827}
.gmbrd-style-dark .gmbrd-header,.gmbrd-style-dark .gmbrd-review,.gmbrd-style-dark .gmbrd-button-card,.gmbrd-style-dark .gmbrd-featured-card{background:#0b1220;border-color:#223047;color:#f9fafb}
/* Dark preset: force header background to match card surface, even if a layout variant overrides it */
.gmbrd-style-dark .gmbrd-header{background:#0b1220 !important;}
/* Slider summary cards (Slider II/IV variants) should match the same dark surface */
.gmbrd-style-dark .gmbrd-slider-summary-card{background:#0b1220 !important;}
.gmbrd-style-dark .gmbrd-business-address,.gmbrd-style-dark .gmbrd-count,.gmbrd-style-dark .gmbrd-time{color:#cbd5e1}
.gmbrd-style-dark .gmbrd-business-name,
.gmbrd-style-dark .gmbrd-author-name,
.gmbrd-style-dark .gmbrd-reputation-title,
.gmbrd-style-dark .gmbrd-summary,
.gmbrd-style-dark .gmbrd-rating-text{color:#f9fafb}
.gmbrd-style-dark .gmbrd-text,
.gmbrd-style-dark .gmbrd-text-inner{color:rgba(248,250,252,.92)}
.gmbrd-style-dark .gmbrd-read-more{color:#d1d5db}
.gmbrd-style-dark .gmbrd-read-more:hover{color:#cbd5e1}

.gmbrd-style-dark .gmbrd-write-review{border-color:#334155;color:#f9fafb}
.gmbrd-style-dark .gmbrd-trigger-btn{background:#0b1220;border-color:#334155;color:#f9fafb}


/* -------- Google brand logo (SVG) -------- */
.gmbrd-google-brand{
  display:flex;
  align-items:center;
  line-height:0;
}
.gmbrd-google-logo{
  height:30px;
  width:auto;
  display:block;
}
.gmbrd-google-logo--dark{ display:none; }
.gmbrd-style-dark .gmbrd-google-logo--light{ display:none; }
.gmbrd-style-dark .gmbrd-google-logo--dark{ display:block; }

/* -------- Read more clamp -------- */
.gmbrd-wrap{ --gmbrd-lines: 5; }
.gmbrd-layout-slider{ --gmbrd-lines: 4; }
.gmbrd-trigger .gmbrd-modal{ --gmbrd-lines: 4; }

.gmbrd-text-inner,
.gmbrd-featured-text .gmbrd-text-inner{
  display:-webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: var(--gmbrd-lines);
  overflow:hidden;
}

/* -------- Layout variants (1..5) -------- */
/* Variant 2: Compact */
.gmbrd-variant-2{padding:12px;}
.gmbrd-variant-2 .gmbrd-header{padding:12px 14px;border-radius:12px;margin-bottom:12px;}
.gmbrd-variant-2 .gmbrd-avatar{width:30px;height:30px;}
.gmbrd-variant-2 .gmbrd-layout-grid .gmbrd-review,
.gmbrd-variant-2 .gmbrd-layout-slider .gmbrd-review{padding:16px;border-radius:12px;}

/* Variant 3: Elevated */
.gmbrd-variant-3 .gmbrd-header,
.gmbrd-variant-3 .gmbrd-layout-grid .gmbrd-review,
.gmbrd-variant-3 .gmbrd-layout-slider .gmbrd-review,
.gmbrd-variant-3 .gmbrd-button-card,
.gmbrd-variant-3 .gmbrd-featured-card{
  box-shadow:0 6px 18px rgba(0,0,0,.08);
}

/* Variant 4: Flat */
.gmbrd-variant-4{border-color:transparent;background:transparent;padding:0;}
.gmbrd-variant-4 .gmbrd-header{border-color:#eef0f2;background:var(--gmbrd-card-bg);}
.gmbrd-variant-4 .gmbrd-layout-grid .gmbrd-review,
.gmbrd-variant-4 .gmbrd-layout-slider .gmbrd-review,
.gmbrd-variant-4 .gmbrd-button-card,
.gmbrd-variant-4 .gmbrd-featured-card{
  border-color:#eef0f2;
}

/* Variant 5: Framed */
.gmbrd-variant-5{border:2px solid #1d2327;}
.gmbrd-variant-5 .gmbrd-header,
.gmbrd-variant-5 .gmbrd-layout-grid .gmbrd-review,
.gmbrd-variant-5 .gmbrd-layout-slider .gmbrd-review,
.gmbrd-variant-5 .gmbrd-button-card,
.gmbrd-variant-5 .gmbrd-featured-card{
  border-color:#1d2327;
}

/* -------- Slider presets (TrustIndex-like) -------- */
/* Slider II: split layout with a static reputation summary card */
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split{
  display:flex;
  align-items:stretch;
  gap:18px;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split-left{
  flex:0 0 auto;
  max-width:none;
  position:relative;
  z-index:1;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split-right{
  flex:1 1 auto;
  min-width:0;
  position:relative;
  z-index:2;
  overflow:visible;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-card{
  height:100%;
  border-radius:14px;
  background:#f3f4f6;
  padding:26px 22px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-align:center;
}
.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-card{ background:#0b1220; border-color:#223047; }
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-title{
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-size:20px;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-stars{
  margin-top:8px;
  display:flex;
  justify-content:center;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-sub{
  margin-top:10px;
  font-size:14px;
  opacity:.85;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-google{
  margin-top:16px;
  display:flex;
  justify-content:center;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-google img{
  height:34px;
  width:auto;
}

/* Slider III: centered cards with avatar floating above */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-carousel-viewport{
  overflow-x:hidden;
  overflow-y:visible;
  padding-top:62px;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{
  position:relative;
  text-align:center;
  padding:62px 22px 20px 22px;
  overflow:visible;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-top{ overflow:visible; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author-row{
  flex-direction:column;
  align-items:center;
  gap:8px;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author{
  flex-direction:column;
  align-items:center;
  gap:6px;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{
  width:72px;
  height:72px;
  position:absolute;
  top:-36px;
  left:50%;
  transform:translateX(-50%);
  margin-top:0;
  border:3px solid #fff;
  box-shadow:var(--gmbrd-arrow-shadow,0 6px 18px rgba(0,0,0,.10));
}
.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{ border-color:var(--gmbrd-arrow-icon,#111827); }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-google-g{
  position:absolute;
  top:14px;
  right:14px;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-stars-row{ justify-content:center; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-meta{ justify-content:center; }

/* ------------------------------------------------------------------
   v1.3.23  TrustIndex parity tweaks (admin + frontend)
   - Slider arrows: centered on card edge (half on / half off)
   - Slider II split sizing: summary column equals one card width
   - Slider II summary styling: transparent, TrustIndex-like scale
   - Slider III avatar badge: Google G in bottom-right of avatar
------------------------------------------------------------------- */

/* Slider viewport should not show "peeks" of adjacent slides.
   Keep viewport padding at 0 and position arrows half on / half off
   the outer edge of the slider (TrustIndex behavior). */
.gmbrd-layout-slider .gmbrd-carousel-viewport{
  padding-left:0;
  padding-right:0;
}

/* Slider II: make the split column width equal to one card so the 3 cards keep size */
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split{
  display:flex;
  gap:var(--gmbrd-gap,16px);
  align-items:stretch;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split-left{
  flex:0 0 calc((100% - (var(--gmbrd-gap,16px) * 3)) / 4);
  max-width:calc((100% - (var(--gmbrd-gap,16px) * 3)) / 4);
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split-right{
  flex:1 1 auto;
  min-width:0;
}

/* Slider II summary card: no "card" background, match TrustIndex feel */
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-card{
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
  padding:0;
  height:100%;
  justify-content:center;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-title{
  font-size:26px;
  letter-spacing:.06em;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-stars .gmbrd-stars--header{
  font-size:44px;
  transform:none;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-sub{
  font-size:14px;
  margin-top:8px;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-google img{
  height:42px;
}

/* Slider III: use avatar-wrap as the positioned anchor so the badge sits correctly */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap{
  position:absolute;
  top:-32px;
  left:50%;
  transform:translateX(-50%);
  width:64px;
  height:64px;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{
  position:relative;
  top:auto;
  left:auto;
  transform:none;
  width:64px;
  height:64px;
  margin:0;
  border:3px solid #fff;
  box-shadow:var(--gmbrd-arrow-shadow,0 6px 18px rgba(0,0,0,.10));
}
.gmbrd-text.is-expanded .gmbrd-text-inner,
.gmbrd-featured-text.is-expanded .gmbrd-text-inner{
  /* Ensure expansion works consistently */
  display:block;
  overflow:visible;
  -webkit-box-orient: unset;
  -webkit-line-clamp: unset;
}
.gmbrd-read-more{
  display:inline-block;
  margin-top:6px;
  background:transparent;
  border:0;
  padding:0;
  color:var(--gmbrd-accent);
  font-size:12px;
  cursor:pointer;
}
.gmbrd-read-more:hover{ opacity:1; }

/* -------- Slider as carousel (no scrollbar) -------- */
.gmbrd-carousel{ position:relative; }
.gmbrd-carousel-viewport{ overflow:hidden; }
.gmbrd-carousel-track{
  display:flex;
  gap:var(--gmbrd-gap,16px);
  transition: transform var(--gmbrd-transition, 420ms) ease;
  will-change: transform;
}

/* Used by JS when wrapping from end to start so it does not "rewind". */
.gmbrd-carousel-track.gmbrd-no-anim{
  transition:none !important;
}

.gmbrd-carousel .gmbrd-review{display:flex;flex-direction:column}
.gmbrd-carousel .gmbrd-text{flex:1}
.gmbrd-layout-slider .gmbrd-review{ flex:0 0 auto; min-width:0; box-sizing:border-box; }

/* Static slider: allow full row without clipping. */
.gmbrd-carousel--static .gmbrd-carousel-viewport{ overflow:hidden; }
.gmbrd-carousel--static .gmbrd-carousel-track{ transform:none !important; }

/* -------- v1.1.6 alignment + overflow hardening -------- */
/* Header stars sit slightly higher to align with text in WP admin and most themes */
.gmbrd-stars--header{
  display:inline-flex;
  align-items:center;
  line-height:1;
  transform: translateY(-2px);
}

/* Card stars row: align stars and verified badge cleanly */
.gmbrd-stars-row{
  display:flex;
  align-items:center;
}
.gmbrd-stars-row .gmbrd-stars{
  display:inline-flex;
  align-items:center;
  line-height:1;
  transform: translateY(-1px);
}
.gmbrd-stars-row .gmbrd-verified-badge{
  display:block;
  align-self:center;
  transform: translateY(-1px);
}

/* Prevent long strings from creating horizontal scroll */
.gmbrd-text-inner,
.gmbrd-business-name,
.gmbrd-business-address,
.gmbrd-author-name,
.gmbrd-time{
  overflow-wrap:anywhere;
  word-break:break-word;
}


.gmbrd-carousel-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:40px;
  height:40px;
  border-radius:var(--gmbrd-dot-radius,999px);
  border:1px solid var(--gmbrd-arrow-border,rgba(17,24,39,.14));
  background:var(--gmbrd-arrow-bg,#fff);
  box-shadow:var(--gmbrd-arrow-shadow,0 6px 18px rgba(0,0,0,.10));
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:0;
  line-height:0;
  color:var(--gmbrd-arrow-icon,#111827);
  transition: background-color .15s ease, border-color .15s ease, box-shadow .15s ease;
  z-index:2;
}

.gmbrd-carousel-arrow:hover{
  background:#f3f4f6;
  border-color: rgba(17,24,39,.22);
  box-shadow:0 8px 22px rgba(0,0,0,.12);
}

.gmbrd-carousel-arrow svg{
  width:18px;
  height:18px;
  display:block;
}
.gmbrd-style-dark .gmbrd-carousel-arrow{
  background:#141414;
  border-color: rgba(255,255,255,.14);
  box-shadow:0 6px 18px rgba(0,0,0,.35);
  color:#fff;
}
.gmbrd-carousel-prev{ left:8px; }
.gmbrd-carousel-next{ right:8px; }

/* TrustIndex-like arrow placement for sliders: half on / half off edge cards */
.gmbrd-layout-slider .gmbrd-carousel-prev{
  left:0;
  transform: translate(-50%, -50%);
}
.gmbrd-layout-slider .gmbrd-carousel-next{
  right:0;
  transform: translate(50%, -50%);
}

.gmbrd-carousel-arrow.is-disabled{
  opacity:.35;
  cursor:default;
}

.gmbrd-carousel-arrow:disabled{ opacity:.35; cursor:default; }

.gmbrd-carousel-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:12px;
}
.gmbrd-carousel-dot{
  width:var(--gmbrd-dot-w,8px);
  height:var(--gmbrd-dot-h,8px);
  border-radius:var(--gmbrd-dot-radius,999px);
  border:0;
  padding:0;
  min-width:0;
  box-sizing:border-box;
  background: var(--gmbrd-dot-bg,rgba(0,0,0,.25));
  cursor:pointer;
}
.gmbrd-style-dark .gmbrd-carousel-dot{ background: var(--gmbrd-dot-bg,rgba(255,255,255,.25)); }
.gmbrd-carousel-dot.is-active{ background: var(--gmbrd-dot-active-bg,rgba(0,0,0,.55)); }
.gmbrd-style-dark .gmbrd-carousel-dot.is-active{ background: var(--gmbrd-dot-active-bg,rgba(255,255,255,.55)); }

/* The viewport handles clipping. Keep the track overflow visible to avoid
   cutting off edge cards and floating avatars (TrustIndex-like behavior). */
.gmbrd-layout-slider .gmbrd-reviews.gmbrd-carousel-track{ overflow:visible; }


.gmbrd-no-clamp .gmbrd-text-inner{
  display:block;
  -webkit-box-orient:unset;
  -webkit-line-clamp:unset;
  overflow:visible;
}
.gmbrd-no-clamp .gmbrd-read-more{
  display:none;
}

.gmbrd-carousel--no-arrows .gmbrd-carousel-arrow{
  display:none;
}

/* If the user disables all sliding controls, we still keep the layout scrollbar-free */
.gmbrd-carousel--static .gmbrd-carousel-track{ transform:none !important; }
.gmbrd-carousel--no-dots .gmbrd-carousel-dots{
  display:none;
}


/* TrustIndex-like card layout */
.gmbrd-review-top { display: flex; flex-direction: column; gap: 8px; }
.gmbrd-author-row { display: flex; align-items: flex-start; justify-content: space-between; gap: 10px; }
.gmbrd-author { display: flex; align-items: center; gap: 10px; min-width: 0; }
.gmbrd-author-meta { display: flex; flex-direction: column; min-width: 0; }
.gmbrd-author-name { font-weight: 700; font-size: 14px; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 220px; }
.gmbrd-time { font-size: 12px; opacity: .75; margin-top: 2px; }
.gmbrd-stars-row { display: flex; align-items: center; gap: 6px; }
.gmbrd-verified { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px; border-radius: 999px; background: #2a6df5; color: #fff; font-size: 11px; line-height: 1; }

/* Card base */
.gmbrd-review { border: none; background: #f3f4f6; }
.gmbrd-style-clean .gmbrd-review { background: #f3f4f6; }
.gmbrd-style-soft .gmbrd-review { background: #ffffff; }
.gmbrd-style-bold .gmbrd-review { background: #ffffff; }
.gmbrd-style-dark .gmbrd-review { background: #1f2937; }

/* Dark preset: keep header surfaces identical to card surfaces for
   Slider I (with header), Grid with header, and List with header. */
/* Dark preset header: match the dark card surface (TrustIndex-like) */
.gmbrd-style-dark .gmbrd-header{ background:#1b1f24 !important; }
.gmbrd-style-dark .gmbrd-slider-summary-card{ background:#1b1f24 !important; }

/* Extra presets */
.gmbrd-style-contrast .gmbrd-review{ background:#ffffff; border:1px solid rgba(17,24,39,.10); }
.gmbrd-style-shadow .gmbrd-review{ background:#ffffff; box-shadow:0 14px 30px rgba(17,24,39,0.12) !important; }

/* =====================================================
   Preset polish
   Requested adjustments:
   - Soft: cards must match header surface (white)
   - Bold: cards must have the same black border as the header
   - Contrast: darker borders and darker text
   ===================================================== */

/* Soft: force shared surface variable to white so Slider/List defaults do not bleed through */
.gmbrd-wrap.gmbrd-style-soft{
  --gmbrd-card-bg:#ffffff;
  /* Match header border so cards use the same grey border */
  --gmbrd-card-border:#e5e7eb;
}

/* Soft: Slider layout had a later hard-coded grey background; override it */
.gmbrd-wrap.gmbrd-style-soft .gmbrd-layout-slider .gmbrd-review{
  background:#ffffff !important;
  border:1px solid var(--gmbrd-card-border) !important;
}

/* Bold: enforce header/card border thickness and color across all layouts */
.gmbrd-wrap.gmbrd-style-bold .gmbrd-header,
.gmbrd-wrap.gmbrd-style-bold .gmbrd-review,
.gmbrd-wrap.gmbrd-style-bold .gmbrd-button-card,
.gmbrd-wrap.gmbrd-style-bold .gmbrd-featured-card{
  border-color:#111827 !important;
  border-width:2px !important;
  border-style:solid !important;
}

/* Contrast: darker borders and stronger text */
.gmbrd-wrap.gmbrd-style-contrast{
  color:#111827;
}
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-header,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-review,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-button-card,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-featured-card{
  border-color:rgba(17,24,39,.22) !important;
  border-width:1px !important;
  border-style:solid !important;
}

/* Contrast: Slider layout had border:none; enforce borders on slider cards too */
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-layout-slider .gmbrd-review{
  border:1px solid rgba(17,24,39,.22) !important;
}

/* Contrast: Slider layout hard-coded border:none; ensure cards show darker borders */
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-review,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-layout-slider .gmbrd-review,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-button-card,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-featured-card{
  border-width:1px !important;
  border-style:solid !important;
}
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-business-name,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-author-name,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-reputation-title,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-score,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-rating-text{
  color:#111827 !important;
}
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-business-address,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-count,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-time,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-text,
.gmbrd-wrap.gmbrd-style-contrast .gmbrd-text-inner{
  color:#374151 !important;
}

/* Custom card shadow (set via Style controls) */
.gmbrd-wrap.gmbrd-has-shadow .gmbrd-review,
.gmbrd-wrap.gmbrd-has-shadow .gmbrd-button-card,
.gmbrd-wrap.gmbrd-has-shadow .gmbrd-featured-card{
  /* Use !important so this overrides variant and preset specific shadows */
  box-shadow: var(--gmbrd-card-shadow, none) !important;
}

/* When card shadow is enabled, also apply it to the header container for consistent depth */
.gmbrd-wrap.gmbrd-has-shadow .gmbrd-header{
  box-shadow: var(--gmbrd-card-shadow, none) !important;
}

/* Prevent layout blowouts in cards */
.gmbrd-review, .gmbrd-review * { box-sizing: border-box; }
.gmbrd-google-g { flex: 0 0 auto; margin-left: auto; }


/* --- TrustIndex-like card layout tweaks (v1.1.1) --- */
.gmbrd-header .gmbrd-google-logo { height: 42px; }
.gmbrd-header .gmbrd-stars { font-size: 22px; line-height: 1; }
.gmbrd-header .gmbrd-score { font-size: 16px; }

.gmbrd-author-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.gmbrd-author { display: flex; align-items: flex-start; gap: 10px; min-width: 0; }
.gmbrd-author-meta { min-width: 0; }
.gmbrd-author-name { font-weight: 600; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 100%; }
.gmbrd-time { font-size: 12px; color: #6b7280; margin-top: 2px; }

.gmbrd-google-g-img { width: 18px; height: 18px; display: block; }

/* =====================================================
   Hover-only share button
   ===================================================== */

.gmbrd-author-row{position:relative}
.gmbrd-share-btn{
  appearance:none;
  border:1px solid rgba(229,231,235,.9);
  background:rgba(255,255,255,.92);
  border-radius:999px;
  width:34px;
  height:34px;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  margin-left:10px;
  opacity:0;
  transform:translateY(2px);
  transition:opacity .18s ease, transform .18s ease;
}
.gmbrd-review:hover .gmbrd-share-btn,
.gmbrd-review:focus-within .gmbrd-share-btn{
  opacity:1;
  transform:translateY(0);
}
.gmbrd-share-btn:hover{transform:translateY(-1px)}

.gmbrd-wrap.gmbrd-dark .gmbrd-share-btn{
  background:rgba(31,41,55,.72);
  border-color:rgba(55,65,81,.9);
}

.gmbrd-stars-row { margin-top: 8px; display: flex; align-items: center; gap: 6px; }
.gmbrd-stars-row .gmbrd-stars { line-height: 1; }

.gmbrd-verified {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  background: #1a73e8;
  color: #fff;
  font-size: 12px;
  line-height: 16px;
}

/* Make slider cards match TrustIndex spacing and avoid edge-cramped content */
.gmbrd-layout-slider .gmbrd-review {
  background: #f3f4f6;
  border: none;
  box-shadow: none;
  padding: 22px;
  border-radius: 14px;
}

/* Keep the review meta from forcing overflow in narrow cards.
   Slider III needs overflow visible for the floating avatar. */
.gmbrd-review-top { overflow: hidden; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-top{ overflow: visible; }


/* --- v1.1.2 TrustIndex header and verified badge --- */
.gmbrd-widget[data-preset="clean"]{
  border: 0;
  background: transparent;
  padding: 0;
}
.gmbrd-widget[data-preset="clean"] .gmbrd-header{
  background: #f3f4f6;
  border-radius: 14px;
}
.gmbrd-header .gmbrd-google-logo{ height: 34px; }
.gmbrd-business-name{ font-size: 15px; }
.gmbrd-rating-label{ font-weight: 700; margin-right: 6px; }
.gmbrd-stars--header{ font-size: 22px; line-height: 1; }
.gmbrd-card-stars .gmbrd-stars{ font-size: 18px; line-height: 1; }
.gmbrd-verified{ display:none; }
.gmbrd-verified-badge{
  width: 14px;
  height: 14px;
  display: inline-block;
  vertical-align: middle;
  margin-left: 4px;
}

/* --- v1.1.4 Star size alignment --- */
.gmbrd-header .gmbrd-stars{ font-size: 24px; line-height: 1; }
.gmbrd-review .gmbrd-stars{ font-size: 24px; line-height: 1; }

/* --- v1.2.2 Header alignment + type scale --- */
.gmbrd-header-right{ align-items:center; }
.gmbrd-header .gmbrd-summary,
.gmbrd-header--compact .gmbrd-summary{
  display:inline-flex;
  align-items:center;
  gap:8px;
  line-height:1;
}

.gmbrd-header .gmbrd-rating-label,
.gmbrd-header--compact .gmbrd-rating-label{
  font-size:16px;
  line-height:1;
  margin-right:4px;
}

.gmbrd-header .gmbrd-rating,
.gmbrd-header .gmbrd-rating-number,
.gmbrd-header--compact .gmbrd-rating-number{
  font-size:16px;
  line-height:1;
  font-weight:700;
}

.gmbrd-header .gmbrd-count,
.gmbrd-header .gmbrd-review-count,
.gmbrd-header--compact .gmbrd-review-count{
  font-size:14px;
  line-height:1;
  color:#50575e;
}

/* Stars: slightly larger, and consistent between header and cards */
.gmbrd-header .gmbrd-stars{ font-size: 26px; line-height: 1; }
.gmbrd-review .gmbrd-stars{ font-size: 26px; line-height: 1; }

/* Tiny vertical nudges for pixel alignment */
.gmbrd-header .gmbrd-stars{ transform: translateY(-2px); }
.gmbrd-stars-row .gmbrd-verified-badge{ transform: translateY(-1px); }

.gmbrd-write-review{
  font-size:14px;
  line-height:1;
  padding:10px 16px;
}

/* Verified badge: align with stars and slightly larger */
.gmbrd-stars-row{ align-items:center; }
.gmbrd-verified-badge{
  width:16px;
  height:16px;
  display:inline-block;
  vertical-align:middle;
  margin-left:6px;
  flex:0 0 auto;
}

/* Review text: closer to TrustIndex size and color */
.gmbrd-review .gmbrd-text-inner{
  font-size:15px;
  line-height:1.55;
  color:#1f2937;
}
.gmbrd-review .gmbrd-author-name{ font-size:14px; }
.gmbrd-review .gmbrd-time{ color:#6b7280; }

/* --- v1.1.7 Pixel alignment fixes --- */
/* In some environments the SVG badge sits slightly low relative to star glyphs.
   Nudge it up a touch so it visually centers with the stars. */

/* Normalize star + badge vertical alignment (admin + front).
   Using em-based offsets avoids font metric differences across themes/browsers. */
.gmbrd-stars-row{
  display:flex;
  align-items:center;
}
.gmbrd-stars-row .gmbrd-stars{
  display:inline-flex;
  align-items:center;
  line-height:1;
  transform:none !important;
}
.gmbrd-stars-row .gmbrd-verified-badge{
  display:inline-block;
  vertical-align:middle;
  position:relative;
  top:-0.18em;
  transform:none !important;
}

/* === Admin + Front alignment hard overrides (keep at end) === */

/* Stars + verified badge: force true vertical centering */
.gmbrd-stars-row{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.gmbrd-stars-row .gmbrd-stars{
  display:flex !important;
  align-items:center !important;
  line-height:1 !important;
}
.gmbrd-stars-row .gmbrd-verified-badge{
  width:16px !important;
  height:16px !important;
  display:block !important;
  flex:0 0 auto !important;
  position:relative !important;
  transform: translateY(-3px) !important;
  top:0 !important;
}

/* v1.2.0: nudge verified badge up to align with star baseline across fonts */
.gmbrd-stars-row .gmbrd-verified-badge{ transform: translateY(-3px) !important; }

/* --- v1.2.1: Verified badge baseline alignment (span background) --- */
/* Rendered as <span class="gmbrd-verified-badge"> so it can scale with the star font-size. */
.gmbrd-stars-row{
  display:flex !important;
  align-items:baseline !important;
  gap:6px !important;
}
.gmbrd-stars-row .gmbrd-stars{
  display:inline-flex !important;
  align-items:baseline !important;
  line-height:1 !important;
  transform:none !important;
}
.gmbrd-verified-badge{
  background-image:url('verified-badge.svg');
  background-repeat:no-repeat;
  background-size:contain;
  background-position:center;
  width:1em !important;
  height:1em !important;
  display:inline-block !important;
  flex:0 0 auto !important;
  margin-left:6px !important;
  position:relative !important;
  top:-0.10em !important;
}


/* --- v1.2.2: Force center alignment for stars + verified badge (admin + frontend) --- */
/* Baseline alignment can push the verified badge down in the WP admin preview due to font metrics.
   These rules intentionally override earlier duplicates in this file. */
.gmbrd-review .gmbrd-stars-row{
  display:flex !important;
  align-items:center !important;
  line-height:1 !important;
}
.gmbrd-review .gmbrd-stars-row .gmbrd-stars{
  display:inline-flex !important;
  align-items:center !important;
  line-height:1 !important;
}
.gmbrd-review .gmbrd-stars-row .gmbrd-star{
  display:inline-block !important;
  line-height:1 !important;
}
.gmbrd-review .gmbrd-stars-row .gmbrd-verified-badge{
  top:0 !important;
  transform:translateY(-1px) !important;
}

/* --- v1.2.3: Verified badge alignment in review cards (final override) --- */
/* The star glyphs sit slightly low inside their line box. We visually center the SVG badge to the stars. */
.gmbrd-review .gmbrd-stars-row{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.gmbrd-review .gmbrd-stars-row .gmbrd-stars{
  display:flex !important;
  align-items:center !important;
  line-height:1 !important;
}
.gmbrd-review .gmbrd-stars-row .gmbrd-verified-badge{
  width:16px !important;
  height:16px !important;
  display:block !important;
  flex:0 0 auto !important;
  position:relative !important;
  top:-2px !important;
  transform:none !important;
  margin-left:6px !important;
}

/* --- Alignment override (v1.2.4) --- */
/* The badge SVG has a slightly low optical center. Use background-position + small lift. */
.gmbrd-review .gmbrd-stars-row{align-items:center !important;}
.gmbrd-review .gmbrd-stars-row .gmbrd-stars{display:inline-flex !important;align-items:center !important;line-height:1 !important;}
.gmbrd-review .gmbrd-stars-row .gmbrd-verified-badge{
  width:18px !important;
  height:18px !important;
  background-size:18px 18px !important;
  background-position:50% 40% !important;
  top:-3px !important;
}

/* --- v1.3.4: Verified badge alignment (final) --- */
/* Fixes WP admin preview font-metric differences by:
   1) forcing true center alignment for the row
   2) lifting the SVG inside the badge via background-position
   3) resetting any prior top/transform nudges that can stack */
.gmbrd-review .gmbrd-stars-row{
  display:flex !important;
  align-items:center !important;
  gap:6px !important;
}
.gmbrd-review .gmbrd-stars-row .gmbrd-stars{
  display:flex !important;
  align-items:center !important;
  line-height:1 !important;
}
.gmbrd-review .gmbrd-stars-row .gmbrd-verified-badge{
  width:18px !important;
  height:18px !important;
  display:block !important;
  flex:0 0 auto !important;
  margin-left:6px !important;
  position:relative !important;
  top:0 !important;
  transform:none !important;
  background-image:url('verified-badge.svg') !important;
  background-repeat:no-repeat !important;
  background-size:18px 18px !important;
  background-position:50% 32% !important;
}

/* ------------------------------------------------------------------
   v1.3.23 FINAL OVERRIDES
   Place at end to beat earlier duplicate rules in this file.
------------------------------------------------------------------- */

/* Slider viewport: no side padding so adjacent slides never "peek".
   Arrows sit half-on / half-off the outer slider edge (TrustIndex). */
.gmbrd-layout-slider .gmbrd-carousel-viewport{
  padding-left:0 !important;
  padding-right:0 !important;
  /* Prevent hover border and shadow clipping vertically while still masking
     off-screen slides horizontally. */
  overflow-x:hidden !important;
  overflow-y:visible !important;
  /* Give the cards room for the global hover lift so top borders never clip */
  padding-top:12px !important;
}

/* Bold preset uses thicker borders, so give it a touch more top room */
.gmbrd-style-bold.gmbrd-layout-slider .gmbrd-carousel-viewport{
  padding-top:14px !important;
}
.gmbrd-layout-slider .gmbrd-carousel-prev{
  left:0 !important;
  transform: translate(-50%,-50%) !important;
}
.gmbrd-layout-slider .gmbrd-carousel-next{
  right:0 !important;
  transform: translate(50%,-50%) !important;
}

/* Slider II split sizing: summary column equals one card width */
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split{
  display:flex !important;
  gap:var(--gmbrd-gap,16px) !important;
  align-items:stretch !important;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split-left{
  flex:0 0 calc((100% - (var(--gmbrd-gap,16px) * 3)) / 4) !important;
  max-width:calc((100% - (var(--gmbrd-gap,16px) * 3)) / 4) !important;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-split-right{
  flex:1 1 auto !important;
  min-width:0 !important;
}

/* Slider II summary styling: remove card background, scale like TrustIndex */
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-card{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-title{font-size:26px !important;letter-spacing:.06em !important;}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-stars .gmbrd-stars--header{font-size:44px !important;transform:none !important;}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-sub{font-size:14px !important;margin-top:8px !important;}
.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-google img{height:42px !important;width:auto !important;}

/* Slider III: position the avatar-wrap (not the img) so the Google badge sits bottom-right */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap{
  position:absolute !important;
  top:-32px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  width:64px !important;
  height:64px !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{
  position:relative !important;
  top:auto !important;
  left:auto !important;
  transform:none !important;
  width:64px !important;
  height:64px !important;
  margin:0 !important;
  border:3px solid #fff !important;
  box-shadow:0 6px 18px rgba(0,0,0,.10) !important;
}

/* List layout: ensure inner padding matches TrustIndex */
.gmbrd-layout-list .gmbrd-review{
  padding:18px 22px !important;
}

/* Admin and front-end: remove the extra outer panel around the entire widget.
   This lets the page builder module control the background behind the widget.
*/
.gmbrd-widget .gmbrd-wrap{
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}

/* Header should match the review card background. */
.gmbrd-widget{
  --gmbrd-card-bg: #f3f4f6;
}
.gmbrd-widget .gmbrd-header{
  background: var(--gmbrd-card-bg) !important;
  border: 0 !important;
}
.gmbrd-widget .gmbrd-review{
  background: var(--gmbrd-card-bg) !important;
}

/* ==========================
   Slider variants IV, V, VII
   (admin example layouts)
   ========================== */

/* Slider IV. (drop shadow + summary card on top) */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4{--gmbrd-card-bg:#ffffff;}

/* top summary card: match Slider II styling */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-top{display:flex;justify-content:center;margin:30px 0 34px;}
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-card{max-width:340px;background:transparent;border:0;box-shadow:none;padding:0;text-align:center;}
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-title{font-size:26px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--gmbrd-arrow-icon,#111827);margin:0 0 6px;}
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-rating{display:none;}
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-stars{font-size:44px;line-height:1;}
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-sub{font-size:14px;color:var(--gmbrd-arrow-icon,#111827);margin-top:8px;}
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-google-logo{height:42px;width:auto;margin-top:14px;}

/* review cards: subtle drop shadow like TrustIndex */
.gmbrd-wrap.gmbrd-style-clean.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review{background:#ffffff;border:1px solid #e5e7eb;box-shadow:0 14px 30px rgba(17,24,39,0.12);}

/* ------------------------------------------------------------
   Slider IV (drop shadow) adjustments
   Goal: pixel-match Slider II summary card + subtle TrustIndex-like shadow
------------------------------------------------------------ */

/* Use the exact Summary Card styling from Slider II */
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-card{
  background:transparent;
  padding:0;
  border:0;
  box-shadow:none;
}

/* Slider IV: in Dark preset, keep the summary transparent so the site section
   background shows through (TrustIndex-like). */
.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-card{
  background: transparent !important;
}
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-title{
  font-size:26px;
  letter-spacing:.06em;
}
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-stars .gmbrd-stars--header{
  font-size:44px;
  transform:none;
}
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-sub{
  font-size:14px;
  margin-top:8px;
}
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-google img{
  height:42px;
}

/* Subtle drop shadow like TrustIndex (avoid heavy, blurry shadows) */
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review{
  border-color:transparent;
  box-shadow:0 12px 28px rgba(17,24,39,0.08);
}

/* ------------------------------------------------------------
   Slider VII (single card)
   Goal: centered card at ~2-card width + one-line summary below
------------------------------------------------------------ */

/* Constrain the whole widget to ~two-card width and center it */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-7{
  /*
    Constrain the entire widget width (about two cards wide) and center it.
    Use !important to override theme CSS that may set max-width: none.
  */
  display: block !important;
  width: 100% !important;
  max-width: 820px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 16px;
  padding-right: 16px;
  box-sizing: border-box;
}

/* Slider VII (single card): constrain inner content, keep outer widget flexible */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-slider7-shell{
  width: 100%;
  max-width: 700px; /* slightly narrower than two cards */
  margin-left: auto;
  margin-right: auto;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-slider7-shell .gmbrd-carousel{
  width: 100%;
  max-width: 100%;
}

/* Hide adjacent slides, while keeping a little breathing room */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-carousel-viewport{
  /* Hide adjacent slides without clipping the avatar that sits above the card */
  overflow-x: hidden;
  overflow-y: visible;
  /* extra top space so the avatar can sit above the card without getting clipped */
  padding: 44px 16px 22px;
  box-sizing: border-box;
}

/* Centered header stack (avatar, name, time, stars) like TrustIndex */
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-review-top{
  text-align: center;
  /* Base styles set .gmbrd-review-top { overflow: hidden; } which clips the avatar */
  overflow: visible !important;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-author-row{
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  /* Leave room for the avatar to overlap the card top */
  padding-top: 46px;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-author{
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-avatar-wrap{
  width: 78px;
  height: 78px;
  border-radius: 999px;
  overflow: hidden;
  /* Stick the avatar centered on the top border (like Slider III) */
  position: absolute;
  /* Lift the avatar so its midpoint aligns with the card's top border */
  top: -18px;
  left: 50%;
  /* Center avatar on the card top border */
  transform: translate(-50%, -50%);
  margin: 0;
  background: #fff;
  border: 4px solid #fff;
  box-shadow: 0 10px 24px rgba(17,24,39,.14);
}

.gmbrd-layout-slider.gmbrd-variant-7 img.gmbrd-avatar{
  width: 78px;
  height: 78px;
  object-fit: cover;
  border-radius: 999px;
}

/* Google G badge: overlay near the avatar (bottom right) */
/* Google G badge on the avatar (match Slider III) */
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-avatar-google{
  width: 26px;
  height: 26px;
  /* Match Slider III badge placement */
  right: 3px;
  bottom: 3px;
}
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-avatar-google img{
  width: 19px;
  height: 19px;
}

/* Variant VII uses the badge attached to the avatar, hide the standalone Google G (used in other variants) */
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-google-g{
  display: none !important;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-author-name{
  font-size: 19px;
  line-height: 1.2;
  font-weight: 700;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-time{
  font-size: 13px;
  line-height: 1.2;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-stars-row{
  justify-content: center;
  align-items: center;
  margin-top: 6px;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-stars{
  font-size: 30px;
}

/* Ensure the avatar can sit above the card */
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-review{
  overflow: visible;
}

.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-text,
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-text-inner{
  text-align: center;
}

/* Subtle bounce on hover */
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-review{
  transition: transform 180ms ease, box-shadow 180ms ease;
  will-change: transform;
}
.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-review:hover{
  transform: translateY(-4px);
}

/* Match TrustIndex-like summary sizing/weight */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-slider-bottom-summary{
  margin-top: 8px;
  text-align: center;
  font-size: 15px;
  line-height: 1.4;
  font-weight: 400;
  color: #111827;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-slider-bottom-summary strong{
  font-weight: 700;
}

/* Keep arrows inside the constrained area */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-7 .gmbrd-carousel-arrow{
  top: 50%;
  transform: translateY(-50%);
}

/* ------------------------------------------------------------
   Slider IV (drop shadow) adjustments
   Goal: match Slider II summary card styling + subtle TrustIndex-like shadow
------------------------------------------------------------ */

/* Use the exact Summary Card styling from Slider II */
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-card{
  background: transparent;
  padding: 0;
  border: 0;
  box-shadow: none;
}

.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-title{
  font-size: 26px;
  letter-spacing: .06em;
}

.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-stars .gmbrd-stars--header{
  font-size: 44px;
  transform: none;
}

.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-sub{
  font-size: 14px;
  margin-top: 8px;
}

.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-google img{
  height: 42px;
}

/* Subtle drop shadow on review cards (closer to TrustIndex) */
.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review{
  border-color: transparent;
  box-shadow: 0 12px 28px rgba(17, 24, 39, 0.08);
}

/* ------------------------------------------------------------
   Slider IV (drop shadow) final overrides
   Match Slider II summary card sizing and tighten shadow
------------------------------------------------------------ */

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-top{
  display:flex;
  justify-content:center;
  margin:30px 0 34px;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-card{
  max-width:340px;
  background:transparent;
  border:0;
  box-shadow:none;
  padding:0;
  text-align:center;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-title{
  font-size:26px;
  font-weight:800;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--gmbrd-arrow-icon,#111827);
  margin:0 0 6px;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-stars .gmbrd-stars--header{
  font-size:44px;
  transform:none;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-sub{
  font-size:14px;
  color:var(--gmbrd-arrow-icon,#111827);
  margin-top:8px;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-google img{
  height:42px;
  width:auto;
  margin-top:14px;
  display:inline-block;
}

/* Subtle TrustIndex-like shadow */
.gmbrd-wrap.gmbrd-style-clean.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review{
  background:#ffffff;
  border:1px solid transparent;
  box-shadow:0 10px 22px rgba(17,24,39,0.08);
}

/* ------------------------------------------------------------
   Slider IV (drop shadow) final overrides
   Match Slider II summary card sizing and tighten shadow
------------------------------------------------------------ */

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-top{
  display: flex;
  justify-content: center;
  margin: 30px 0 34px;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-card{
  background: transparent;
  padding: 0;
  border: 0;
  box-shadow: none;
  text-align: center;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-title{
  font-size: 26px;
  letter-spacing: 0.06em;
  /* ensure we do not inherit the heavier spacing from earlier rules */
  margin: 0 0 6px;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-stars .gmbrd-stars--header{
  font-size: 44px;
  transform: none;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-sub{
  font-size: 14px;
  margin-top: 8px;
}

.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-slider-summary-google img{
  height: 42px;
  width: auto;
}

/* subtle, TrustIndex-like shadow */
.gmbrd-wrap.gmbrd-style-clean.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review{
  border: 1px solid rgba(17, 24, 39, 0.06);
  box-shadow: 0 6px 14px rgba(17, 24, 39, 0.08), 0 1px 2px rgba(17, 24, 39, 0.05);
}

/* === Slider IV (variant 4): TrustIndex style subtle drop shadow === */
/* Enforce a subtle shadow regardless of selected style preset. */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review{
  background: #fff !important;
  border: 1px solid rgba(226,232,240,0.9) !important;
  /* TrustIndex-like: tight vertically, minimal side spread */
  box-shadow: 0 14px 22px -18px rgba(15,23,42,0.35), 0 6px 10px -8px rgba(15,23,42,0.18) !important;
}

/* Make sure hover states do not amplify the shadow. */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review:hover{
  box-shadow: 0 14px 22px -18px rgba(15,23,42,0.35), 0 6px 10px -8px rgba(15,23,42,0.18) !important;
}

/* Slider IV: add inner padding so the shadow isn't clipped by the viewport.
   (The carousel viewport uses overflow:hidden to mask off-screen cards.) */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-viewport{
  /* Extra bottom room so shadows don't clip in overflow-hidden viewport */
  padding: 0 0 34px;
  box-sizing: border-box;
}

/* Slider IV: card shadows only (remove shadow from navigation arrows) */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-arrow{
  box-shadow: none !important;
}
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-arrow:hover{
  box-shadow: none !important;
}
/* Slider IV: TrustIndex-like subtle shadow and avoid clipping */
.gmbrd-layout-slider4 .gmbrd-review-card{
  box-shadow: 0 12px 24px rgba(17,24,39,0.12) !important;
}
.gmbrd-layout-slider4 .gmbrd-slider-viewport{
  padding: 24px 28px 30px !important;
  overflow: hidden !important;
}

/* === Slider IV (variant 4): v229 fixes (no slivers, arrows unchanged) === */

/* Card shadow only. Keep arrow positioning rules from earlier CSS unchanged. */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review{
  background: #fff !important;
  border: 1px solid rgba(226, 232, 240, 0.95) !important;
  /* Lighter, tighter shadow with a slight down-right bias */
  box-shadow: 4px 10px 20px -18px rgba(15, 23, 42, 0.28),
              1px 4px 10px -10px rgba(15, 23, 42, 0.14) !important;
}

/* No hover amplification. */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-review:hover{
  box-shadow: 4px 10px 20px -18px rgba(15, 23, 42, 0.28),
              1px 4px 10px -10px rgba(15, 23, 42, 0.14) !important;
}

/* Prevent end-card slivers. Do not add any left/right viewport padding. */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-viewport{
  padding-left: 0 !important;
  padding-right: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 26px !important;
  box-sizing: border-box;
}

/* Shadow should never apply to arrows in Slider IV. */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-arrow,
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-arrow:hover,
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-arrow:focus,
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-carousel-arrow:active{
  box-shadow: none !important;
  filter: none !important;
}

/* If any layout-4 specific viewport class exists, keep its horizontal padding at 0 as well. */
.gmbrd-layout-slider4 .gmbrd-slider-viewport{
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Slider Layout IV: keep text uniform at 4 lines and pin Read more to the bottom */
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4{ --gmbrd-lines: 4; }
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-text{ display:flex; flex-direction:column; }
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-text-inner{ flex:1 1 auto; }
.gmbrd-wrap.gmbrd-layout-slider.gmbrd-variant-4 .gmbrd-read-more{
  margin-top: 10px;
  align-self: flex-start;
  text-align: left;
}

/* -----------------------------------------------------
   Custom shadow must override ALL preset and variant
   shadows, including Slider IV which applies !important.
   This rule is intentionally placed late in the file.
----------------------------------------------------- */
.gmbrd-wrap.gmbrd-has-shadow .gmbrd-review,
.gmbrd-wrap.gmbrd-has-shadow .gmbrd-button-card,
.gmbrd-wrap.gmbrd-has-shadow .gmbrd-featured-card{
  box-shadow: var(--gmbrd-card-shadow, none) !important;
}


/* ------------------------------------------------------------------
   Dark mode palette and component styling (TrustIndex-like)
   v241 (1.3.97)
-------------------------------------------------------------------*/
.gmbrd-style-dark{
  background:#0b0f16;
  color:#f8fafc;
  border-color:transparent;
}

/* Header: keep it clean on the dark surface */
.gmbrd-style-dark .gmbrd-header{
  background:transparent;
  color:#f8fafc;
  border-color:rgba(255,255,255,.12);
}

/* Cards: slightly lighter than the background with a subtle border */
.gmbrd-style-dark .gmbrd-review,
.gmbrd-style-dark .gmbrd-button-card,
.gmbrd-style-dark .gmbrd-featured-card{
  background:#1b1f24;
  border:1px solid rgba(255,255,255,.08);
  color:#f8fafc;
  box-shadow:0 14px 34px rgba(0,0,0,.40);
}

/* Slider split summary card: match the dark surface (not a light block) */
.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-2 .gmbrd-slider-summary-card{
  background:transparent;
  border:1px solid rgba(255,255,255,.10);
  box-shadow:none;
}

/* Muted text */
.gmbrd-style-dark .gmbrd-business-address,
.gmbrd-style-dark .gmbrd-count,
.gmbrd-style-dark .gmbrd-time,
.gmbrd-style-dark .gmbrd-slider-summary-sub{
  color:rgba(248,250,252,.78);
}

/* Review text: slightly brighter for readability on dark cards */
.gmbrd-style-dark .gmbrd-text,
.gmbrd-style-dark .gmbrd-text-inner{
  color:rgba(248,250,252,.95);
}

/* Slider Layout IV summary text: ensure it never falls back to near-black */
.gmbrd-style-dark .gmbrd-summary,
.gmbrd-style-dark .gmbrd-rating-text{
  color:rgba(248,250,252,.92);
}

/* Slider summary (Layout IV top card): ensure text is readable in dark mode */
.gmbrd-style-dark .gmbrd-slider-summary-title,
.gmbrd-style-dark .gmbrd-slider-summary-stars,
.gmbrd-style-dark .gmbrd-slider-summary-sub{
  color:#f8fafc;
}

/* Buttons */
.gmbrd-style-dark .gmbrd-write-review{
  background:transparent;
  border-color:rgba(255,255,255,.24);
  color:#ffffff;
}
.gmbrd-style-dark .gmbrd-write-review:hover{
  background:rgba(255,255,255,.08);
  border-color:rgba(255,255,255,.30);
}

/* Read more */
.gmbrd-style-dark .gmbrd-read-more{
  color:rgba(248,250,252,.72);
}
.gmbrd-style-dark .gmbrd-read-more:hover{
  color:rgba(248,250,252,.92);
}

/* Arrows in dark mode: no shadow, soft surface */
.gmbrd-style-dark .gmbrd-carousel-arrow{
  background:#1b1f24;
  border-color:rgba(255,255,255,.18);
  box-shadow:none;
  color:#ffffff;
  opacity:1;
}
.gmbrd-style-dark .gmbrd-carousel-arrow:hover{
  background:#23272d;
  border-color:rgba(255,255,255,.25);
  box-shadow:none;
}

/* Popup panel */
.gmbrd-style-dark .gmbrd-modal-panel{
  background:#0b0f16;
  border:1px solid rgba(255,255,255,.12);
}
.gmbrd-style-dark .gmbrd-modal-close{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.14);
  color:#ffffff;
}

/* Trigger button */
.gmbrd-style-dark .gmbrd-trigger-btn{
  background:rgba(255,255,255,.06);
  border-color:rgba(255,255,255,.18);
  color:#ffffff;
}
.gmbrd-style-dark .gmbrd-trigger-btn:hover{
  background:rgba(255,255,255,.10);
  border-color:rgba(255,255,255,.24);
}

/* Badge VII + VIII (final badges) */

/* VII: centered Google wordmark + stars + rating|count */
.gmbrd-badge-toprated-v7{
  border:none;
  background:transparent;
  box-shadow:none;
  padding:0;
  gap:6px;
  align-items:center;
}
.gmbrd-badge-toprated-v7 .gmbrd-badge-google-wordmark-img{
  height:28px;
  width:auto;
  display:block;
  margin:0 auto;
}
.gmbrd-badge-toprated-v7 .gmbrd-badge-stars{font-size:18px;}
.gmbrd-badge-toprated-v7 .gmbrd-badge-v7-meta{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:14px;
  line-height:1.1;
  color:var(--gmbrd-arrow-icon,#111827);
}
.gmbrd-badge-toprated-v7 .gmbrd-badge-rating-num{font-weight:800;font-size:14px;}
.gmbrd-badge-toprated-v7 .gmbrd-badge-v7-count{font-weight:700;}

/* VIII: compact pill with shadow, left G icon and right copy */
.gmbrd-badge-toprated-v8{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:12px;
  padding:14px 16px;
  border-radius:12px;
  background:var(--gmbrd-arrow-bg,#fff);
  border:1px solid rgba(17,24,39,.08);
  box-shadow:0 4px 12px rgba(16,24,40,.12), 0 -1px 4px rgba(16,24,40,.06);
}
.gmbrd-badge-toprated-v8 .gmbrd-badge-v8-left{display:flex;align-items:center;justify-content:center;}
.gmbrd-badge-toprated-v8 .gmbrd-badge-google-g-lg{width:34px;height:34px;display:block;}
.gmbrd-badge-toprated-v8 .gmbrd-badge-v8-right{text-align:left;display:flex;flex-direction:column;gap:6px;}
.gmbrd-badge-toprated-v8 .gmbrd-badge-v8-title{font-weight:800;font-size:16px;line-height:1;color:var(--gmbrd-arrow-icon,#111827);}
.gmbrd-badge-toprated-v8 .gmbrd-badge-v8-row{display:flex;align-items:center;gap:10px;}
.gmbrd-badge-toprated-v8 .gmbrd-badge-v8-row .gmbrd-badge-rating-num{font-weight:800;font-size:16px;line-height:1;color:var(--gmbrd-arrow-icon,#111827);}
.gmbrd-badge-toprated-v8 .gmbrd-badge-v8-row .gmbrd-badge-stars{font-size:18px;line-height:1;}

/* Dark mode */
.gmbrd-style-dark .gmbrd-badge-toprated-v7 .gmbrd-badge-v7-meta,
.gmbrd-style-dark .gmbrd-badge-toprated-v7 .gmbrd-badge-rating-num{
  color:#ffffff;
}
.gmbrd-style-dark .gmbrd-badge-toprated-v8{
  background:rgba(17,24,39,.15);
  border-color:rgba(255,255,255,.22);
  box-shadow:none;
}
.gmbrd-style-dark .gmbrd-badge-toprated-v8 .gmbrd-badge-v8-title,
.gmbrd-style-dark .gmbrd-badge-toprated-v8 .gmbrd-badge-v8-row .gmbrd-badge-rating-num{
  color:#ffffff;
}

/* Tighten spacing between star glyphs (global) */
.gmbrd-stars {
  letter-spacing: -0.6px;
}
.gmbrd-stars .gmbrd-star {
  margin-right: 0 !important;
}

/* Admin/preview helper: hide header Write a review button when toggled off */
.gmbrd-hide-write-review .gmbrd-widget-header .gmbrd-write-review,
.gmbrd-hide-write-review .gmbrd-header .gmbrd-write-review{
  display:none !important;
}


/* Subtle hover lift for all cards */
@media (hover:hover) {
  .gmbrd-wrap .gmbrd-review,
  .gmbrd-wrap .gmbrd-featured-card,
  .gmbrd-wrap .gmbrd-button-card {
    transition: transform 180ms ease;
    will-change: transform;
  }
  .gmbrd-wrap .gmbrd-review:hover,
  .gmbrd-wrap .gmbrd-featured-card:hover,
  .gmbrd-wrap .gmbrd-button-card:hover {
    transform: translateY(-3px);
  }
}

/* v1.6.8 Slider III avatar centering fix */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap{width:72px;height:72px;top:-36px;left:50%;transform:translateX(-50%);}
.gmbrd-layout-slider.gmbrd-variant-3 img.gmbrd-avatar{width:72px;height:72px;box-sizing:border-box;display:block;}


/* v1.6.9 Slider III avatar: center exactly on the card's top border
   Use avatar-wrap as the positioned element so the Google badge stays aligned. */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{ position:relative; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  transform:translate(-50%,-50%) !important;
  width:72px !important;
  height:72px !important;
  margin:0 !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{
  position:static !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  margin:0 !important;
  border:3px solid #fff !important;
  box-sizing:border-box !important;
  box-shadow:var(--gmbrd-arrow-shadow,0 6px 18px rgba(0,0,0,.10)) !important;
}
.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{
  border-color:var(--gmbrd-arrow-icon,#111827) !important;
}

/* Slider III: ensure avatar is centered on the card top border */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{ padding:0 !important; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-inner{ padding:62px 22px 20px 22px; }

/* Slider III: ensure avatar is centered on the card top border */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{ padding:0 !important; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-inner{ padding:62px 22px 20px 22px; text-align:center; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float{ top:0 !important; }

/* Slider III: ensure avatar is centered on the card top border */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{
  padding:0 !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-inner{
  padding:62px 22px 20px 22px;
  text-align:center;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float{
  top:0 !important;
}

/* ---------------------------------------------------------------
   Slider III: keep the floating avatar anchored to the card border.
   `.gmbrd-review` has legacy padding, which shifts the positioning
   context for absolutely-positioned children. We move the padding to
   `.gmbrd-review-inner` so `.gmbrd-avatar-float` can use top: 0.
---------------------------------------------------------------- */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{
  padding:0 !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-inner{
  padding:62px 22px 20px 22px;
  text-align:center;
}

/* ---------------------------------------------------------------
   Slider III: final avatar centering
   The wrapper `.gmbrd-review` has legacy padding that moves the
   absolute positioning context (it positions against the padding box).
   We zero the outer padding and apply it to `.gmbrd-review-inner`
   so the floating avatar can sit perfectly on the card's top border.
---------------------------------------------------------------- */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{
  padding:0 !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-inner{
  padding:62px 22px 20px 22px;
  text-align:center;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float{
  top:0 !important;
}

/* v1.7.0 Slider III avatar hard-center override */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{position:relative !important; overflow:visible !important;}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-top,
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author-row,
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author{position:static !important;}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  transform:translate(-50%,-50%) !important;
  width:72px !important;
  height:72px !important;
  margin:0 !important;
  display:block !important;
  z-index:5 !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap > .gmbrd-avatar{
  position:static !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  margin:0 !important;
  border:3px solid #fff !important;
  box-sizing:border-box !important;
}
.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap > .gmbrd-avatar{border-color:var(--gmbrd-arrow-icon,#111827) !important;}


/* v1.7.0 Slider III avatar hard-center override
   Ensure the avatar-wrap anchors to the review card itself.
   This prevents any theme or earlier rules from shifting it off the top border. */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{
  position:relative !important;
  overflow:visible !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-top,
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author-row,
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author{
  position:static !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  transform:translate(-50%,-50%) !important;
  width:72px !important;
  height:72px !important;
  margin:0 !important;
  padding:0 !important;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap > .gmbrd-avatar{
  position:static !important;
  width:100% !important;
  height:100% !important;
  display:block !important;
  margin:0 !important;
  box-sizing:border-box !important;
}

/* ---------------------------------------------------------------
   v1.7.1 Slider III avatar centering (frontend)
   Force a single positioning model so the avatar is always centered
   on the card's top border.
---------------------------------------------------------------- */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{
  position:relative !important;
  overflow:visible !important;
}

/* Ensure the nearest positioned ancestor for the absolute avatar is the card itself */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review-top,
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author-row,
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author,
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-author-meta{
  position:static !important;
}

.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-wrap{
  position:absolute !important;
  left:50% !important;
  top:0 !important;
  transform:translate(-50%, -50%) !important;
  width:72px !important;
  height:72px !important;
  z-index:2 !important;
}

.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{
  width:100% !important;
  height:100% !important;
  display:block !important;
  margin:0 !important;
  position:relative !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:none !important;
  box-sizing:border-box !important;
  border:3px solid #fff !important;
}

/* ---------------------------------------------------------------
   v1.7.2 Slider III avatar: DOM-safe centering
   Move the avatar outside the flex author row so it cannot be
   affected by competing layout rules.
---------------------------------------------------------------- */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-review{ position:relative; overflow:visible; }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float{
  position:absolute;
  left:50%;
  top:0;
  transform:translate(-50%,-50%);
  width:72px;
  height:72px;
  z-index:6;
  display:block;
}
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float > .gmbrd-avatar{
  width:100%;
  height:100%;
  display:block;
  margin:0;
  border-radius:999px;
  border:3px solid #fff;
  box-sizing:border-box;
  box-shadow:var(--gmbrd-arrow-shadow,0 6px 18px rgba(0,0,0,.10));
}
.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float > .gmbrd-avatar{ border-color:var(--gmbrd-arrow-icon,#111827); }
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float .gmbrd-avatar-google{
  position:absolute;
  right:-2px;
  bottom:-2px;
}

/* v1.7.2 hotfix: ensure legacy Slider III avatar rules do NOT override the new avatar-float DOM.
   Older rules target `.gmbrd-variant-3 .gmbrd-avatar` and make it absolute with negative top.
   For the new markup, the image must stay inside `.gmbrd-avatar-float` without absolute offsets. */
.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar-float > img.gmbrd-avatar{
  position:static !important;
  top:auto !important;
  right:auto !important;
  bottom:auto !important;
  left:auto !important;
  transform:none !important;
}

.gmbrd-style-dark.gmbrd-layout-slider.gmbrd-variant-3 .gmbrd-avatar{
  border-color:var(--gmbrd-arrow-icon,#111827) !important;
}

/* =====================================================
   RESPONSIVE BREAKPOINTS (aligned to Divi 5 defaults)

   Divi 5 includes 7 predefined breakpoints (Phone, Phone Wide, Tablet, Tablet Wide, Desktop,
   Widescreen, Ultra Wide). The first four are commonly set around 767, 860, 980, 1024.
   We use these as CSS thresholds so widgets feel consistent on Divi sites.

   Note: Divi breakpoints are customizable sitewide. Since the widget runs on the front end,
   we cannot automatically read a site owner's custom breakpoint values. These defaults are
   safe and match the typical Divi baseline.
   ===================================================== */

/* PHONE: <= 767px */
@media (max-width: 767px){
  /* Slider: 1 card per view, tighter padding, arrows closer */
  .gmbrd-wrap.gmbrd-layout-slider{ --gmbrd-per-view: 1; }
  .gmbrd-layout-slider .gmbrd-carousel-viewport{ padding-left: 10px; padding-right: 10px; }
  .gmbrd-layout-slider .gmbrd-carousel-prev{ left: 6px; }
  .gmbrd-layout-slider .gmbrd-carousel-next{ right: 6px; }

  /* Grid: 1 column */
  .gmbrd-layout-grid .gmbrd-reviews{ grid-template-columns: 1fr; }

  /* Header: allow wrap so it never overflows */
  .gmbrd-header{ flex-wrap: wrap; gap: 10px; }
  .gmbrd-header-right{ width: 100%; justify-content: space-between; }
  .gmbrd-header .gmbrd-write-review{ margin-left: 0; }
}

/* PHONE WIDE: 768px to 860px */
@media (min-width: 768px) and (max-width: 860px){
  .gmbrd-wrap.gmbrd-layout-slider{ --gmbrd-per-view: 2; }
  .gmbrd-layout-grid .gmbrd-reviews{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* TABLET: 861px to 980px */
@media (min-width: 861px) and (max-width: 980px){
  .gmbrd-wrap.gmbrd-layout-slider{ --gmbrd-per-view: 2; }
  .gmbrd-layout-grid .gmbrd-reviews{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* TABLET WIDE: 981px to 1024px */
@media (min-width: 981px) and (max-width: 1024px){
  /* Keep sliders readable on iPad landscape */
  .gmbrd-wrap.gmbrd-layout-slider{ --gmbrd-per-view: 2; }
}


/* =====================================================
   Front-end fallback notice (when reviews cannot load)
   ===================================================== */
.gmbrd-fallback {
  width: 100%;
}

.gmbrd-fallback-card {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid rgba(0,0,0,0.08);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 6px 16px rgba(0,0,0,0.06);
}

.gmbrd-fallback-icon {
  width: 22px;
  height: 22px;
  border-radius: 999px;
  background: #1f2937;
  color: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
  flex: 0 0 auto;
}

.gmbrd-fallback-title {
  font-size: 14px;
  font-weight: 700;
  color: #111827;
  margin: 0 0 2px 0;
}

.gmbrd-fallback-msg {
  font-size: 13px;
  color: #374151;
  margin: 0;
}

.gmbrd-fallback-detail {
  margin-top: 8px;
  font-size: 12px;
  color: #6b7280;
}

.gmbrd-fallback-detail a {
  color: #2563eb;
  text-decoration: underline;
}
