/* GTES Google Reviews band. Scoped to .gtr-* only. */

.gtr-band{
  --gtr-gold:#FBBC04;
  --gtr-ink:#202124;
  --gtr-body:#3C4043;
  --gtr-muted:#5F6368;
  --gtr-line:#DADCE0;
  --gtr-card:#FFFFFF;

  position:relative;
  width:100%;
  padding:clamp(56px,7vw,100px) 0;
}

.gtr-band *,
.gtr-band *::before,
.gtr-band *::after{box-sizing:border-box;}

/* heading - matches the overline treatment already used on the page */

.gtr-head{
  max-width:1280px;
  margin:0 auto clamp(28px,3.2vw,44px);
  padding:0 clamp(20px,4vw,48px);
}
.gtr-over{
  display:flex;
  align-items:center;
  gap:14px;
  margin:0 0 10px;
  font-family:Arial,sans-serif;
  font-size:12px;
  font-weight:500;
  letter-spacing:1.4px;
  text-transform:uppercase;
  color:#46BE1A;
}
.gtr-rule{
  display:inline-block;
  width:36px;
  height:1px;
  background:#46BE1A;
  flex:0 0 36px;
}
.gtr-title{
  margin:0;
  font-family:Archivo,'Helvetica Neue',Arial,sans-serif;
  font-weight:700;
  font-size:clamp(28px,3.4vw,44px);
  line-height:1.12;
  letter-spacing:-.02em;
  color:#0A1C4A;
}

/* viewport + arrows */

.gtr-viewport{
  position:relative;
  width:100%;
}

.gtr-marquee{
  position:relative;
  width:100%;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
  mask-image:linear-gradient(90deg,transparent 0,#000 6%,#000 94%,transparent 100%);
}
.gtr-marquee::-webkit-scrollbar{display:none;height:0;}

.gtr-track{
  display:flex;
  align-items:stretch;
  gap:20px;
  width:max-content;
  padding:14px 24px;
}
.gtr-dupe{display:contents;}

.gtr-nav{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:4;
  width:44px;
  height:44px;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#FFFFFF !important;
  color:#0A1C4A !important;
  border:1px solid var(--gtr-line) !important;
  border-radius:999px;
  box-shadow:0 2px 10px rgba(10,28,74,.16);
  cursor:pointer;
  transition:background-color .16s linear, box-shadow .16s linear;
}
.gtr-nav:hover{background:#F7F9FC !important;box-shadow:0 4px 16px rgba(10,28,74,.22);}
.gtr-nav:active{transform:translateY(-50%) scale(.96);}
.gtr-nav:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(140,198,63,.5);}
.gtr-nav svg{display:block;width:20px;height:20px;stroke:#0A1C4A;}
.gtr-nav--prev{left:8px;}
.gtr-nav--next{right:8px;}

/* card - Google review styling */

.gtr-card{
  position:relative;
  flex:0 0 340px;
  width:340px;
  margin:0;
  padding:18px 20px 16px;
  background:var(--gtr-card);
  border:1px solid var(--gtr-line);
  border-radius:8px;
  box-shadow:0 1px 3px rgba(10,28,74,.07);
  display:flex;
  flex-direction:column;
  gap:12px;
  cursor:pointer;
  outline:none;
  font-family:Roboto,'IBM Plex Sans','Segoe UI',Arial,sans-serif;
  transition:transform .18s ease-out, box-shadow .18s ease-out;
}
.gtr-card:focus-visible{box-shadow:0 0 0 3px rgba(140,198,63,.5);}

.gtr-card.is-open{
  transform:scale(1.045);
  z-index:3;
  box-shadow:0 14px 34px rgba(10,28,74,.20);
  border-color:#C4D0E6;
}

.gtr-top{
  display:flex;
  align-items:center;
  gap:12px;
}

.gtr-avatar{
  width:40px;height:40px;
  flex:0 0 40px;
  border-radius:999px;
  display:flex;align-items:center;justify-content:center;
  color:#FFFFFF;
  font-size:18px;
  font-weight:500;
  line-height:1;
}

.gtr-who{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
  flex:1 1 auto;
}
.gtr-name{
  font-size:14px;
  font-weight:500;
  color:var(--gtr-ink);
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.gtr-rating{display:flex;gap:1px;}
.gtr-star{
  width:15px;height:15px;
  display:block;
  fill:var(--gtr-gold);
}

.gtr-g{width:19px;height:19px;flex:0 0 19px;display:block;}

.gtr-text{
  margin:0;
  font-size:14px;
  line-height:1.6;
  color:var(--gtr-body);
  display:-webkit-box;
  -webkit-line-clamp:4;
  -webkit-box-orient:vertical;
  overflow:hidden;
  flex:1 1 auto;
}
.gtr-card.is-open .gtr-text{
  display:block;
  -webkit-line-clamp:unset;
  overflow:visible;
}

.gtr-src{
  font-size:11.5px;
  color:var(--gtr-muted);
  letter-spacing:.01em;
}

/* close control - only while expanded */

.gtr-close{
  position:absolute;
  top:8px;
  right:8px;
  z-index:2;
  width:26px;
  height:26px;
  min-width:0 !important;
  min-height:0 !important;
  padding:0 !important;
  display:none;
  align-items:center;
  justify-content:center;
  background:#F1F3F4 !important;
  color:#5F6368 !important;
  border:none !important;
  border-radius:999px;
  cursor:pointer;
}
.gtr-close:hover{background:#E4E7E9 !important;}
.gtr-close svg{display:block;stroke:#5F6368;}
.gtr-card.is-open .gtr-close{display:flex;}

/* mobile - smaller cards */

@media (max-width:600px){
  .gtr-card{
    flex:0 0 232px;
    width:232px;
    padding:13px 14px 12px;
    gap:9px;
    border-radius:8px;
  }
  .gtr-track{gap:12px;padding:12px 16px;}
  .gtr-avatar{width:32px;height:32px;flex:0 0 32px;font-size:15px;}
  .gtr-name{font-size:12.5px;}
  .gtr-star{width:13px;height:13px;}
  .gtr-g{width:16px;height:16px;flex:0 0 16px;}
  .gtr-text{font-size:12.5px;line-height:1.55;-webkit-line-clamp:4;}
  .gtr-src{font-size:10.5px;}
  .gtr-card.is-open{transform:scale(1.035);}
  .gtr-nav{width:38px;height:38px;}
  .gtr-nav svg{width:17px;height:17px;}
  .gtr-nav--prev{left:4px;}
  .gtr-nav--next{right:4px;}
}

@media (prefers-reduced-motion:reduce){
  .gtr-card{transition:none;}
}

/* ------------------------------------------------------------------ *
 * Leave-a-review button + drop-down form
 * ------------------------------------------------------------------ */

.gtr-cta-wrap{
  max-width:1280px;
  margin:clamp(26px,3vw,42px) auto 0;
  padding:0 clamp(20px,4vw,48px);
  display:flex;
  flex-direction:column;
  align-items:center;
}

.gtr-cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:0 !important;
  padding:13px 30px !important;
  border:none !important;
  border-radius:999px;
  background:#16A34A !important;
  color:#FFFFFF !important;
  font-family:Archivo,'Helvetica Neue',Arial,sans-serif;
  font-size:15px;
  font-weight:600;
  letter-spacing:.01em;
  line-height:1.2;
  cursor:pointer;
  box-shadow:0 2px 10px rgba(22,163,74,.28);
  transition:background-color .16s linear, box-shadow .16s linear, transform .16s ease-out;
}
.gtr-cta:hover{background:#12873E !important;box-shadow:0 5px 18px rgba(22,163,74,.34);}
.gtr-cta:active{transform:translateY(1px);}
.gtr-cta:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(140,198,63,.55);}
.gtr-cta-star svg{display:block;width:17px;height:17px;fill:#FBBC04;}

.gtr-panel{
  width:100%;
  max-width:620px;
  margin:16px auto 0;
  display:none;
}
.gtr-panel[hidden]{display:none;}
.gtr-cta-wrap.is-open .gtr-panel{display:block;}

.gtr-form{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:22px;
  background:#FFFFFF;
  border:1px solid #DADCE0;
  border-radius:12px;
  box-shadow:0 6px 24px rgba(10,28,74,.09);
  font-family:Roboto,'IBM Plex Sans','Segoe UI',Arial,sans-serif;
}

.gtr-form-title{
  display:flex;
  align-items:center;
  gap:9px;
  margin:0 0 2px;
  font-family:Archivo,'Helvetica Neue',Arial,sans-serif;
  font-size:17px;
  font-weight:700;
  color:#0A1C4A;
}
.gtr-form-star svg{display:block;width:17px;height:17px;fill:#FBBC04;}

.gtr-input{
  width:100%;
  padding:11px 13px;
  font-family:inherit;
  font-size:14px;
  line-height:1.45;
  color:#202124;
  background:#FFFFFF;
  border:1px solid #DADCE0;
  border-radius:7px;
  transition:border-color .14s linear, box-shadow .14s linear;
}
.gtr-input::placeholder{color:#8A9099;}
.gtr-input:focus{outline:none;border-color:#16A34A;box-shadow:0 0 0 3px rgba(22,163,74,.14);}
.gtr-textarea{resize:vertical;min-height:96px;}
.gtr-input.is-invalid{border-color:#D93025;box-shadow:0 0 0 3px rgba(217,48,37,.12);}

.gtr-rate{display:flex;flex-direction:column;gap:6px;}
.gtr-rate-label{font-size:13px;font-weight:500;color:#3C4043;}
.gtr-starpick{display:flex;gap:4px;}
.gtr-starbtn{
  min-width:0 !important;
  min-height:0 !important;
  padding:2px !important;
  background:none !important;
  border:none !important;
  border-radius:4px;
  cursor:pointer;
  line-height:0;
}
.gtr-starbtn svg{display:block;width:27px;height:27px;fill:#D5D8DC;transition:fill .12s linear;}
.gtr-starbtn.is-on svg{fill:#FBBC04;}
.gtr-starbtn:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(140,198,63,.5);}
.gtr-starpick.is-invalid .gtr-starbtn svg{fill:#F0B4B0;}

.gtr-submit{
  width:100%;
  min-height:0 !important;
  padding:13px 20px !important;
  border:none !important;
  border-radius:8px;
  background:#16A34A !important;
  color:#FFFFFF !important;
  font-family:Archivo,'Helvetica Neue',Arial,sans-serif;
  font-size:15px;
  font-weight:600;
  cursor:pointer;
  transition:background-color .16s linear;
}
.gtr-submit:hover{background:#12873E !important;}
.gtr-submit[disabled]{opacity:.65;cursor:default;}
.gtr-submit:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(140,198,63,.55);}

.gtr-msg{margin:0;font-size:13px;line-height:1.5;color:#3C4043;}
.gtr-msg:empty{display:none;}
.gtr-msg.is-error{color:#C5221F;}
.gtr-msg.is-ok{color:#15803D;}

.gtr-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

.gtr-g--site{stroke:#16A34A;fill:none;}

@media (max-width:600px){
  .gtr-cta{padding:12px 24px !important;font-size:14px;}
  .gtr-form{padding:17px;gap:10px;}
  .gtr-starbtn svg{width:30px;height:30px;}
}

@media (prefers-reduced-motion:reduce){
  .gtr-cta,.gtr-submit,.gtr-input{transition:none;}
}