/* Google Reviews replacement section only. All selectors are scoped to the new component. */
.ecc-google-reviews .ecc-reviews-head{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:32px;
  align-items:end;
  margin-bottom:34px;
}
.ecc-google-reviews .ecc-section-head{margin-bottom:0}
.ecc-google-reviews .ecc-reviews-google-link{
  align-self:end;
  padding-bottom:5px;
  border-bottom:1px solid rgba(7,26,45,.24);
  color:var(--navy);
  font-size:14px;
  font-weight:850;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.ecc-google-reviews .ecc-reviews-google-link span{display:inline-block;transition:transform .2s ease}
.ecc-google-reviews .ecc-reviews-google-link:hover{color:var(--blue);border-color:var(--blue);transform:translateY(-1px)}
.ecc-google-reviews .ecc-reviews-google-link:hover span{transform:translate(2px,-2px)}
.ecc-google-reviews .ecc-reviews-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.ecc-google-reviews .ecc-review-card{
  --review-x:50%;
  --review-y:50%;
  position:relative;
  isolation:isolate;
  min-height:260px;
  overflow:hidden;
  padding:29px;
  border:1px solid var(--line);
  border-radius:22px;
  background:#fff;
  box-shadow:0 10px 30px rgba(7,26,45,.035);
  display:flex;
  flex-direction:column;
  transition:transform .24s ease,box-shadow .24s ease,border-color .24s ease;
}
.ecc-google-reviews .ecc-review-card::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:0;
  pointer-events:none;
  background:radial-gradient(320px circle at var(--review-x) var(--review-y),rgba(85,194,250,.14),transparent 64%);
  transition:opacity .24s ease;
}
.ecc-google-reviews .ecc-review-card:hover{
  transform:translateY(-6px);
  border-color:rgba(11,143,220,.32);
  box-shadow:0 20px 48px rgba(7,26,45,.10);
}
.ecc-google-reviews .ecc-review-card:hover::before{opacity:1}
.ecc-google-reviews .ecc-review-stars{color:#f4b400;font-size:17px;line-height:1;letter-spacing:2px;white-space:nowrap}
.ecc-google-reviews blockquote{margin:24px 0 28px;padding:0;border:0;color:var(--ink);font-size:16px;line-height:1.65;font-weight:650}
.ecc-google-reviews .ecc-review-person{margin-top:auto;padding-top:17px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:3px}
.ecc-google-reviews .ecc-review-person strong{font-size:14px;line-height:1.3}
.ecc-google-reviews .ecc-review-person span{color:var(--muted);font-size:12px;line-height:1.35}
.ecc-google-reviews .ecc-reviews-more-row{display:flex;justify-content:center;margin-top:28px}
.ecc-google-reviews .ecc-reviews-more{
  appearance:none;
  border:0;
  border-bottom:1px solid rgba(7,26,45,.28);
  padding:3px 0 5px;
  background:transparent;
  color:var(--navy);
  font:inherit;
  font-size:14px;
  font-weight:850;
  cursor:pointer;
  transition:color .2s ease,border-color .2s ease,transform .2s ease;
}
.ecc-google-reviews .ecc-reviews-more span{display:inline-block;transition:transform .2s ease}
.ecc-google-reviews .ecc-reviews-more:hover{color:var(--blue);border-color:var(--blue);transform:translateY(-1px)}
.ecc-google-reviews .ecc-reviews-more:hover span{transform:translate(2px,-2px)}

/* Modal */
.ecc-reviews-modal,.ecc-reviews-modal *{box-sizing:border-box}
.ecc-reviews-modal{
  position:fixed;
  inset:0;
  z-index:99999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease,visibility .22s ease;
}
.ecc-reviews-modal.is-open{opacity:1;visibility:visible;pointer-events:auto}
.ecc-reviews-backdrop{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  border:0;
  padding:0;
  background:rgba(4,18,31,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  cursor:default;
}
.ecc-reviews-dialog{
  position:relative;
  width:min(860px,100%);
  max-height:min(820px,calc(100vh - 48px));
  display:flex;
  flex-direction:column;
  overflow:hidden;
  border-radius:24px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 34px 100px rgba(2,15,26,.34);
  outline:none;
  transform:translateY(16px) scale(.985);
  transition:transform .28s cubic-bezier(.2,.75,.25,1);
}
.ecc-reviews-modal.is-open .ecc-reviews-dialog{transform:translateY(0) scale(1)}
.ecc-reviews-modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;padding:29px 31px 24px;border-bottom:1px solid var(--line)}
.ecc-reviews-modal-head .ecc-kicker{margin-bottom:8px}
.ecc-reviews-modal-head h2{font-size:clamp(28px,3vw,39px);margin-bottom:0}
.ecc-reviews-close{
  flex:0 0 42px;
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1px solid var(--line);
  border-radius:50%;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-size:28px;
  line-height:1;
  cursor:pointer;
  transition:background .2s ease,color .2s ease,border-color .2s ease,transform .2s ease;
}
.ecc-reviews-close:hover{background:var(--navy);color:#fff;border-color:var(--navy);transform:rotate(5deg)}
.ecc-reviews-scroll{overflow-y:auto;overscroll-behavior:contain;padding:8px 31px 12px;scrollbar-gutter:stable}
.ecc-review-modal-item{padding:24px 0;border-bottom:1px solid var(--line)}
.ecc-review-modal-item:last-child{border-bottom:0}
.ecc-review-modal-item p{margin:14px 0 18px;color:var(--ink);font-size:16px;line-height:1.65;font-weight:600}
.ecc-review-modal-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:20px}
.ecc-review-modal-meta>div{display:flex;flex-direction:column;gap:3px}
.ecc-review-modal-meta strong{font-size:14px}
.ecc-review-modal-meta span{color:var(--muted);font-size:12px}
.ecc-review-modal-meta a,.ecc-reviews-modal-foot a{color:var(--blue);font-size:12px;font-weight:850}
.ecc-reviews-modal-foot{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:17px 31px;background:var(--soft);border-top:1px solid var(--line);font-size:12px;color:var(--muted)}
body.ecc-reviews-open{overflow:hidden}

@media(max-width:900px){
  .ecc-google-reviews .ecc-reviews-head{grid-template-columns:1fr;gap:14px}
  .ecc-google-reviews .ecc-reviews-google-link{justify-self:start}
  .ecc-google-reviews .ecc-reviews-grid{grid-template-columns:1fr}
  .ecc-google-reviews .ecc-review-card{min-height:0}
}
@media(max-width:640px){
  .ecc-reviews-modal{padding:10px;align-items:flex-end}
  .ecc-reviews-dialog{max-height:calc(100vh - 20px);border-radius:20px 20px 12px 12px}
  .ecc-reviews-modal-head{padding:22px 18px 18px}
  .ecc-reviews-scroll{padding:4px 18px 8px}
  .ecc-reviews-modal-foot{padding:15px 18px;align-items:flex-start;flex-direction:column;gap:7px}
}
@media(hover:none){
  .ecc-google-reviews .ecc-review-card:hover{transform:none;border-color:var(--line);box-shadow:0 10px 30px rgba(7,26,45,.035)}
  .ecc-google-reviews .ecc-review-card:hover::before{opacity:0}
}
@media(prefers-reduced-motion:reduce){
  .ecc-google-reviews .ecc-review-card,
  .ecc-google-reviews .ecc-review-card::before,
  .ecc-google-reviews .ecc-reviews-google-link,
  .ecc-google-reviews .ecc-reviews-google-link span,
  .ecc-google-reviews .ecc-reviews-more,
  .ecc-google-reviews .ecc-reviews-more span,
  .ecc-reviews-modal,
  .ecc-reviews-dialog,
  .ecc-reviews-close{transition:none!important}
}
