/* [opiniones] — sección "+1500 clientes satisfechos": título centrado con el
   span en verde itálica, fila de rating Google y grid de cards de reseñas
   (avatar, nombre, estrellas, texto, tiempo + barrio).
   3 columnas → 2 en tablet → 1 en móvil. */

.mr-opiniones {
  --mro-verde:  var(--mr-color1, #007c68);  /* teal del span del título y avatares */
  --mro-oscuro: var(--contrast, #242727);
  --mro-texto:  var(--mr-texto, #565f5f);
  --mro-ambar:  var(--mr-color2, #1cc9ab);  /* estrellas */
  --mro-borde:  var(--mr-borde, #e6ebe9);
  --mro-gris:   var(--mr-gris, #f7f2ed);

  max-width: 1180px;
  margin: 3rem auto;
  padding: 0 clamp(1rem, 4vw, 2rem);
  text-align: center;
}

.mr-opiniones__titulo {
  margin: 0 0 0.85rem;
  color: var(--mro-oscuro);
  font-size: clamp(1.9rem, 4vw, 2.75rem);
  font-weight: 800;
  line-height: 1.15;
}

.mr-opiniones__titulo span {
  color: var(--mro-verde);
  font-style: italic;
}

/* --- Fila de rating: logo G + nota + estrellas + "en Google" --- */

.mr-opiniones__rating {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  margin: 0 0 2.5rem;
  color: var(--mro-texto);
  font-size: 1rem;
}

.mr-opiniones__rating svg {
  width: 22px;
  height: 22px;
  flex-shrink: 0;
}

.mr-opiniones__rating strong {
  color: var(--mro-oscuro);
  font-size: 1.15rem;
  font-weight: 700;
}

.mr-opiniones__rating-estrellas {
  color: var(--mro-ambar);
  font-size: 1.05rem;
  letter-spacing: 2px;
}

/* --- Grid de cards --- */

.mr-opiniones__grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
}

.mr-opiniones__card {
  display: flex;
  flex-direction: column;
  padding: 1.5rem;
  background: #ffffff;
  border: 1px solid var(--mro-borde);
  border-radius: 14px;
  box-shadow: 0 1px 2px rgba(18, 28, 45, 0.04);
  text-align: left;
}

.mr-opiniones__cabecera {
  display: flex;
  align-items: center;
  gap: 0.85rem;
  margin-bottom: 1rem;
}

.mr-opiniones__avatar {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--mr-teal-100, #dff9f2);
  color: var(--mro-verde);
  font-size: 1.2rem;
  font-weight: 700;
}

.mr-opiniones__avatar--foto {
  object-fit: cover;
}

/* Sin foto, los avatares de inicial alternan tres tonos suaves. */
.mr-opiniones__card:nth-child(3n+2) .mr-opiniones__avatar {
  background: var(--mr-teal-200, #c1f5e7);
  color: var(--mr-color1, #007c68);
}

.mr-opiniones__card:nth-child(3n) .mr-opiniones__avatar {
  background: #fdf1dc;
  color: #b97b14;
}

.mr-opiniones__nombre {
  margin: 0 0 0.15rem;
  color: var(--mro-oscuro);
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.2;
}

.mr-opiniones__estrellas {
  color: var(--mro-ambar);
  font-size: 0.85rem;
  letter-spacing: 2px;
  line-height: 1;
}

.mr-opiniones__texto {
  flex-grow: 1;
  margin: 0 0 1.25rem;
  color: var(--mro-texto);
  font-size: 0.98rem;
  line-height: 1.55;
}

.mr-opiniones__pie {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.mr-opiniones__tiempo {
  color: #97a0a9;
  font-size: 0.85rem;
}

.mr-opiniones__barrio {
  padding: 0.25rem 0.7rem;
  background: var(--mro-gris);
  border-radius: 999px;
  color: var(--mro-texto);
  font-size: 0.78rem;
  white-space: nowrap;
}

/* --- Tablet: dos columnas --- */

@media (max-width: 900px) {
  .mr-opiniones__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* --- Móvil: una columna --- */

@media (max-width: 560px) {
  .mr-opiniones__grid {
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  .mr-opiniones__card {
    padding: 1.25rem;
  }

  .mr-opiniones__rating {
    margin-bottom: 2rem;
  }
}
