/* Brighton Flyway Transport — Google review trust panel, 2026-09-15 */
.bft-google-reviews{
  --reviews-bg:#101012;
  --reviews-card:#18181b;
  --reviews-border:rgba(255,255,255,.12);
  --reviews-muted:#b8b8bd;
  --reviews-accent:var(--bft-accent-light,#b94300);
  position:relative;
  overflow:hidden;
  padding:72px clamp(18px,5vw,72px);
  background:
    radial-gradient(circle at 86% 24%,rgba(185,67,0,.16),transparent 30%),
    linear-gradient(135deg,#0b0b0c 0%,#111114 52%,#0b0b0c 100%);
  color:#fff;
  border-top:1px solid rgba(255,255,255,.07);
  border-bottom:1px solid rgba(255,255,255,.07);
}
.bft-google-reviews-inner{
  width:min(1180px,100%);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  align-items:center;
  gap:clamp(28px,5vw,72px);
}
.bft-google-reviews-copy{max-width:650px}
.bft-google-reviews-kicker{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 16px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#f2a77d;
}
.bft-google-reviews-kicker:before{
  content:"";
  width:28px;
  height:2px;
  border-radius:2px;
  background:var(--reviews-accent);
}
.bft-google-reviews h2{
  margin:0;
  max-width:680px;
  font-size:clamp(34px,5vw,64px);
  line-height:.98;
  letter-spacing:-.045em;
  color:#fff;
}
.bft-google-reviews h2 span{color:#f2a77d}
.bft-google-reviews-copy>p{
  margin:22px 0 0;
  max-width:580px;
  color:#c6c6cb;
  font-size:clamp(15px,1.5vw,18px);
  line-height:1.7;
}
.bft-google-review-card{
  position:relative;
  padding:clamp(24px,3vw,34px);
  border:1px solid var(--reviews-border);
  border-radius:24px;
  background:linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
  box-shadow:0 26px 70px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
}
.bft-google-review-card:before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:4px;
  border-radius:24px 0 0 24px;
  background:var(--reviews-accent);
}
.bft-google-brand{
  display:flex;
  align-items:center;
  gap:13px;
  margin-bottom:24px;
}
.bft-google-g{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff;
  color:#4285f4;
  font:800 25px/1 Arial,sans-serif;
  box-shadow:0 10px 24px rgba(0,0,0,.2);
}
.bft-google-brand-copy{display:flex;flex-direction:column;gap:2px}
.bft-google-brand-copy strong{font-size:18px;letter-spacing:-.01em;color:#fff}
.bft-google-brand-copy span{font-size:13px;color:var(--reviews-muted)}
.bft-google-review-count{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:12px 18px;
  align-items:end;
  padding:20px 0;
  border-top:1px solid rgba(255,255,255,.09);
  border-bottom:1px solid rgba(255,255,255,.09);
}
.bft-google-review-count strong{
  font-size:clamp(42px,5vw,58px);
  line-height:.85;
  letter-spacing:-.05em;
  color:#fff;
}
.bft-google-review-count div{padding-bottom:2px}
.bft-google-review-count span{display:block;font-size:16px;font-weight:800;color:#fff}
.bft-google-review-count small{display:block;margin-top:4px;font-size:13px;color:var(--reviews-muted)}
.bft-google-review-location{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:18px 0 0;
  color:#d9d9dc;
  font-size:14px;
  line-height:1.55;
}
.bft-google-review-location b{color:#f2a77d;font-weight:900}
.bft-google-review-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px}
.bft-google-review-link,
.bft-google-review-book{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  padding:12px 17px;
  border-radius:12px;
  text-decoration:none!important;
  font-size:14px;
  font-weight:800;
  transition:transform .18s ease,background .18s ease,border-color .18s ease;
}
.bft-google-review-link{
  background:var(--reviews-accent);
  border:1px solid var(--reviews-accent);
  color:#fff!important;
}
.bft-google-review-book{
  background:rgba(255,255,255,.045);
  border:1px solid rgba(255,255,255,.14);
  color:#fff!important;
}
.bft-google-review-link:hover,.bft-google-review-book:hover{transform:translateY(-1px)}
.bft-google-review-link:hover{background:#8d3200;border-color:#8d3200}
.bft-google-review-book:hover{background:rgba(255,255,255,.09);border-color:rgba(255,255,255,.22)}
.bft-google-review-note{margin:14px 0 0;font-size:11px!important;line-height:1.45!important;color:#88888f!important}

/* Homepage: keep social proof close to the booking/trust area. */
#customer-view .bft-google-reviews{margin-top:0}

@media(max-width:820px){
  .bft-google-reviews{padding:52px 18px}
  .bft-google-reviews-inner{grid-template-columns:1fr;gap:30px}
  .bft-google-reviews-copy>p{margin-top:16px}
  .bft-google-review-card{padding:24px 22px}
}
@media(max-width:520px){
  .bft-google-reviews{padding:44px 16px}
  .bft-google-reviews h2{font-size:38px}
  .bft-google-review-count{grid-template-columns:auto 1fr;gap:10px 14px}
  .bft-google-review-count strong{font-size:46px}
  .bft-google-review-actions{display:grid;grid-template-columns:1fr}
  .bft-google-review-link,.bft-google-review-book{width:100%}
}
@media(prefers-reduced-motion:reduce){
  .bft-google-review-link,.bft-google-review-book{transition:none}
  .bft-google-review-link:hover,.bft-google-review-book:hover{transform:none}
}


/* Live Google Places rating + review cards */
.bft-google-live-summary{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 0;border-bottom:1px solid rgba(255,255,255,.09)}
.bft-google-live-score{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:2px 12px}
.bft-google-live-score>strong{grid-row:1/3;font-size:34px;line-height:1;font-weight:900;letter-spacing:-.045em;color:#fff}
.bft-google-live-score>small{grid-column:2;color:var(--reviews-muted);font-size:12px}
.bft-google-stars{position:relative;display:inline-block;font:900 16px/1 Arial,sans-serif;letter-spacing:2px;color:#5f6066}
.bft-google-stars:after{content:'★★★★★';position:absolute;inset:0 auto 0 0;width:var(--bft-star-fill,100%);overflow:hidden;color:#fbbc04;white-space:nowrap}
.bft-google-maps-attribution{white-space:nowrap;font-family:Roboto,Arial,sans-serif;font-style:normal;font-weight:400;font-size:13px;letter-spacing:normal;color:#fff}
.bft-live-reviews-wrap{grid-column:1/-1;padding-top:4px}
.bft-live-reviews-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:18px}
.bft-live-reviews-heading .bft-google-reviews-kicker{margin-bottom:8px}
.bft-live-reviews-heading h3{margin:0;color:#fff;font-size:clamp(26px,3vw,38px);letter-spacing:-.035em}
.bft-live-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.bft-live-review{min-width:0;padding:22px;border:1px solid rgba(255,255,255,.11);border-radius:18px;background:rgba(255,255,255,.045);box-shadow:0 18px 42px rgba(0,0,0,.16)}
.bft-live-review-head{display:flex;align-items:center;gap:12px}
.bft-live-review-avatar{width:42px;height:42px;flex:0 0 42px;border-radius:50%;object-fit:cover;background:#fff}
.bft-live-review-avatar-fallback{display:grid;place-items:center;color:#1f1f1f;font-weight:900}
.bft-live-review-meta{min-width:0;display:grid;gap:5px}
.bft-live-review-author{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff!important;text-decoration:none!important;font-size:14px;font-weight:800}
.bft-live-review-rating{display:flex;align-items:center;gap:9px;color:#a9a9af;font-size:12px}
.bft-live-review-rating .bft-google-stars{font-size:13px;letter-spacing:1px}
.bft-live-review-text{margin:16px 0 0!important;color:#d7d7db!important;font-size:14px!important;line-height:1.65!important;display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.bft-live-review-links{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:16px;font-size:12px;color:#a9a9af}
.bft-live-review-links a{color:#f2a77d!important;text-decoration:none!important;font-weight:800}
.bft-live-review-translation{color:#a9a9af}
.bft-live-reviews-attributions{margin:14px 0 0!important;color:#8f9096!important;font-size:11px!important;line-height:1.55!important}
.bft-live-reviews-attributions a{color:#b9b9bf!important}
@media(max-width:900px){.bft-live-reviews-grid{grid-template-columns:1fr 1fr}.bft-live-review:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:620px){.bft-google-live-summary{align-items:flex-start;flex-direction:column}.bft-live-reviews-heading{align-items:flex-start;flex-direction:column}.bft-live-reviews-grid{grid-template-columns:1fr}.bft-live-review:last-child:nth-child(odd){grid-column:auto}}

/* Rotating Google review carousel — 2026-09-16 */
.bft-live-review-carousel{
  position:relative;
  min-width:0;
}
.bft-live-review-viewport{
  width:100%;
  min-width:0;
  overflow-x:auto;
  overflow-y:hidden;
  overscroll-behavior-x:contain;
  scrollbar-width:none;
  -ms-overflow-style:none;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  touch-action:pan-x pan-y;
  border-radius:18px;
  outline:none;
}
.bft-live-review-viewport::-webkit-scrollbar{display:none}
.bft-live-review-viewport:focus-visible{
  box-shadow:0 0 0 3px rgba(242,167,125,.4);
}
.bft-live-reviews-track{
  display:flex;
  align-items:stretch;
  gap:16px;
  width:100%;
}
.bft-live-reviews-track .bft-live-review{
  flex:0 0 calc((100% - 32px)/3);
  scroll-snap-align:start;
  scroll-snap-stop:always;
}
.bft-live-review-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin-top:18px;
}
.bft-live-review-controls[hidden]{display:none!important}
.bft-live-review-arrow{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  flex:0 0 42px;
  padding:0;
  border:1px solid rgba(255,255,255,.14);
  border-radius:50%;
  background:rgba(255,255,255,.055);
  color:#fff;
  font:500 28px/1 Arial,sans-serif;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease,transform .18s ease;
}
.bft-live-review-arrow:hover{
  background:rgba(255,255,255,.11);
  border-color:rgba(255,255,255,.25);
  transform:translateY(-1px);
}
.bft-live-review-arrow:focus-visible,
.bft-live-review-dot:focus-visible{
  outline:2px solid #f2a77d;
  outline-offset:3px;
}
.bft-live-review-dots{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
}
.bft-live-review-dot{
  width:8px;
  height:8px;
  padding:0;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.3);
  cursor:pointer;
  transition:width .2s ease,background .2s ease,transform .2s ease;
}
.bft-live-review-dot.is-active{
  width:25px;
  background:#f2a77d;
}
.bft-live-review-dot:hover{background:rgba(255,255,255,.58)}
.bft-live-review-dot.is-active:hover{background:#f2a77d}

@media(max-width:900px){
  .bft-live-reviews-track .bft-live-review{
    flex-basis:calc((100% - 16px)/2);
  }
}
@media(max-width:620px){
  .bft-live-reviews-wrap{min-width:0;width:100%}
  .bft-live-review-carousel{margin-inline:-2px}
  .bft-live-review-viewport{border-radius:18px}
  .bft-live-reviews-track{gap:12px}
  .bft-live-reviews-track .bft-live-review{
    flex-basis:100%;
    min-height:300px;
    padding:24px 24px 22px;
  }
  .bft-live-review-author{font-size:16px}
  .bft-live-review-rating{font-size:13px}
  .bft-live-review-rating .bft-google-stars{font-size:14px}
  .bft-live-review-text{
    margin-top:20px!important;
    font-size:16px!important;
    line-height:1.7!important;
    -webkit-line-clamp:6;
  }
  .bft-live-review-links{
    margin-top:20px;
    font-size:13px;
  }
  .bft-live-review-controls{
    margin-top:14px;
    gap:12px;
  }
  .bft-live-review-arrow{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
}
@media(prefers-reduced-motion:reduce){
  .bft-live-review-viewport{scroll-behavior:auto}
  .bft-live-review-arrow,
  .bft-live-review-dot{transition:none}
  .bft-live-review-arrow:hover{transform:none}
}
