/* Ew Google Reviews - Front (lightweight) */

.ew-gr{
  --ew-gr-radius:14px;
  --ew-gr-border:#e9e9e9;
  --ew-gr-star:#fbbc05;
  --ew-gr-muted:#8a8a8a;
  --ew-gr-text:#1f1f1f;
  --ew-gr-card-bg:#fff;
  --ew-gr-gap:14px;
  --ew-gr-shadow:0 6px 22px rgba(0,0,0,.06);
  color:var(--ew-gr-text);
  font-family:inherit;
}

.ew-gr *{box-sizing:border-box;}

.ew-gr__sr-only{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.ew-gr__title{margin:0 0 6px 0;font-weight:800;line-height:1.15;}
.ew-gr__subtitle{margin:0 0 12px 0;color:var(--ew-gr-muted);}

.ew-gr__topbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--ew-gr-border);
  border-radius:var(--ew-gr-radius);
  background:var(--ew-gr-card-bg);
  box-shadow:var(--ew-gr-shadow);
  flex-wrap:wrap;
}

.ew-gr__topbar-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto;}
.ew-gr__glogo svg{display:block;}
.ew-gr__glogo{flex:0 0 auto;}
/* Google wordmark */
.ew-gr__glogo{display:inline-flex;align-items:center;flex:0 0 auto}
.ew-gr__gimg{height:70px !important;width:auto;display:block;}

.ew-gr__gword{display:inline-flex;align-items:center;font-weight:900;font-size:18px;letter-spacing:.5px;line-height:1;}
.ew-gr__gl1{color:#4285F4;}
.ew-gr__gl2{color:#EA4335;}
.ew-gr__gl3{color:#FBBC05;}
.ew-gr__gl4{color:#4285F4;}
.ew-gr__gl5{color:#34A853;}
.ew-gr__gl6{color:#EA4335;}

.ew-gr__meta{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;white-space:nowrap;}
.ew-gr__rating{font-weight:800;}
.ew-gr__count{color:var(--ew-gr-muted);}

.ew-gr__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:10px;
  border:1px solid var(--ew-gr-border);
  background:#fff;
  color:#1a73e8;
  text-decoration:none;
  font-weight:700;
  white-space:nowrap;
}
.ew-gr__cta:hover{filter:brightness(0.98);}

.ew-gr__stars{
  --ew-gr-fill:0%;
  position:relative;
  display:inline-block;
  line-height:1;
  font-size:14px;
  letter-spacing:1px;
  width:max-content;
}
.ew-gr__stars:before{content:"★★★★★";color:#d7d7d7;}
.ew-gr__stars:after{
  content:"★★★★★";
  position:absolute;
  left:0;top:0;
  width:var(--ew-gr-fill);
  overflow:hidden;
  color:var(--ew-gr-star);
}

/* Cards */
.ew-gr__card{
  border:1px solid var(--ew-gr-border);
  border-radius:var(--ew-gr-radius);
  background:var(--ew-gr-card-bg);
  padding:14px;
  min-height:138px;
  display:flex;
  flex-direction:column;
  gap:10px;
  box-shadow:var(--ew-gr-shadow);
}

.ew-gr__head{display:flex;align-items:center;gap:12px;min-width:0;}
.ew-gr__avatar{
  width:44px;height:44px;border-radius:999px;
  flex:0 0 auto;
  overflow:hidden;
  background:#f3f3f3;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.ew-gr__avatar img{width:100%;height:100%;object-fit:cover;display:block;}
.ew-gr__avatar-fallback{font-weight:800;color:#666;font-size:14px;text-transform:uppercase;}

.ew-gr__who{min-width:0;}
.ew-gr__name{font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ew-gr__sub{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.ew-gr__time{color:var(--ew-gr-muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

.ew-gr__body{
  color:#353535;
  font-size:14px;
  line-height:1.35;
  overflow:hidden;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
}

/* Grid */
.ew-gr__grid{
  display:grid;
  gap:var(--ew-gr-gap);
  margin-top:14px;
  grid-template-columns:repeat(5, minmax(0, 1fr));
}

/* Slider */
.ew-gr--slider .ew-gr__viewport{
  margin-top:14px;
  position:relative;
}

.ew-gr__track{
  display:flex;
  gap:var(--ew-gr-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  padding:4px 4px 10px 4px;
  -webkit-overflow-scrolling:touch;
}
.ew-gr__track{scrollbar-width:none;-ms-overflow-style:none;}
.ew-gr__track::-webkit-scrollbar{display:none}

.ew-gr--slider .ew-gr__card{
  flex:0 0 320px;
  scroll-snap-align:start;
}

.ew-gr__card--google{
  justify-content:space-between;
}
.ew-gr__google-title{display:flex;align-items:center;gap:10px;}

.ew-gr__navbtn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:36px;height:36px;
  border-radius:999px;
  border:1px solid var(--ew-gr-border);
  background:#fff;
  box-shadow:0 4px 16px rgba(0,0,0,.08);
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  z-index:2;
}
.ew-gr__navbtn--prev{left:-10px;}
.ew-gr__navbtn--next{right:-10px;}
.ew-gr__navbtn span{font-size:22px;line-height:1;color:#333;}
.ew-gr__navbtn:focus{outline:2px solid rgba(26,115,232,.25);outline-offset:2px;}

/* Responsive */
@media (max-width:1200px){
  .ew-gr__grid{grid-template-columns:repeat(4, minmax(0,1fr));}
}
@media (max-width:992px){
  /* En móvil/tablet queremos 2 columnas para evitar cards demasiado estrechas */
  .ew-gr__grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  /* Limitar a 4 reseñas máximo en grid para pantallas pequeñas/medias */
  .ew-gr__grid .ew-gr__card:nth-child(n+5){display:none;}
}
@media (max-width:768px){
  .ew-gr__grid{grid-template-columns:repeat(2, minmax(0,1fr));}
  .ew-gr__cta{width:100%;}
  .ew-gr--slider .ew-gr__card{flex-basis:78vw;max-width:360px;}
  .ew-gr__navbtn--prev{left:-4px;}
  .ew-gr__navbtn--next{right:-4px;}
}
@media (max-width:576px){
  .ew-gr__gimg{height:40px !important;}
  .ew-gr__topbar{padding:10px 12px;gap:10px;}
  .ew-gr__topbar-left{gap:8px;}
  .ew-gr__meta{gap:6px;}
  /* En móvil, en modo cuadrícula mostramos máximo 4 reseñas */
  .ew-gr__grid .ew-gr__card:nth-child(n+5){display:none;}
}
@media (max-width:480px){
  .ew-gr--slider .ew-gr__card{flex-basis:86vw;}
}
