/* Reviews section — Google Recensioni (colori allineati alla blog-section) */
.reviews-section{
  position:relative;
  background-color:#f3f5ef;
  background-image:linear-gradient(rgba(243,245,239,.88),rgba(243,245,239,.88)),url('/assets/media/recensioni-sfondo-419f30f6d7.webp');
  background-size:cover,cover;
  background-position:center,center;
  background-repeat:no-repeat,no-repeat;
  background-attachment:fixed,fixed;
}
@media (max-width:1024px){
  .reviews-section{background-attachment:scroll,scroll}
}
.reviews-section .section-tag{background:rgba(134,194,50,.12);color:#6a9e28;border:1px solid rgba(134,194,50,.16);width:max-content;padding:.55rem .9rem;border-radius:22px;letter-spacing:.04em}
.reviews-section .section-title{color:#222629}
.reviews-section .section-desc{color:#59615d}

.reviews-header{display:flex;align-items:flex-end;justify-content:space-between;gap:2rem;flex-wrap:wrap;margin-bottom:3rem}
.reviews-header-copy{max-width:640px}

.reviews-rating{display:flex;align-items:center;gap:.9rem;padding:.9rem 1.25rem;background:#fafbf7;border:1px solid #d8ddd5;border-radius:16px;box-shadow:0 16px 36px rgba(34,38,41,.09);text-decoration:none;transition:transform .3s cubic-bezier(.32,.72,0,1),box-shadow .3s cubic-bezier(.32,.72,0,1)}
.reviews-rating:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(34,38,41,.13)}
.reviews-rating-google{width:26px;height:26px;flex:none}
.reviews-rating-score{font-family:Barlow,sans-serif;font-weight:700;font-size:1.35rem;color:#222629;line-height:1}
.reviews-rating-stars{display:flex;gap:2px;margin:.25rem 0}
.reviews-rating-stars svg{width:13px;height:13px}
.reviews-rating-label{font-size:.75rem;color:#747d78}

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

.review-card{background:#fafbf7;border:1px solid #d8ddd5;border-radius:26px;box-shadow:0 16px 36px rgba(34,38,41,.09);padding:1.75rem;display:flex;flex-direction:column;gap:1rem;transition:transform .35s cubic-bezier(.32,.72,0,1),box-shadow .35s cubic-bezier(.32,.72,0,1)}
.review-card:hover{transform:translateY(-5px);box-shadow:0 26px 56px rgba(34,38,41,.14)}

.review-card-top{display:flex;align-items:center;gap:.85rem}
.review-avatar{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:none;font-family:Barlow,sans-serif;font-weight:700;font-size:1.05rem;color:#fff;background:#61892f}
.review-card:nth-child(4n+2) .review-avatar{background:#3f7a52}
.review-card:nth-child(4n+3) .review-avatar{background:#2e5c4a}
.review-card:nth-child(4n+4) .review-avatar{background:#86c232}

.review-identity{min-width:0}
.review-name{font-weight:700;color:#222629;font-size:.95rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.review-meta{font-size:.78rem;color:#747d78}

.review-stars{display:flex;gap:2px}
.review-stars svg{width:16px;height:16px}

.review-quote{font-size:.92rem;line-height:1.65;color:#3d453f;flex:1}

.review-footer{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-top:.9rem;border-top:1px solid #e2e6dc}
.review-time{font-size:.75rem;color:#747d78}
.review-source{display:flex;align-items:center;gap:.35rem;font-size:.75rem;color:#747d78}
.review-source svg{width:14px;height:14px}

.reviews-cta{display:flex;justify-content:center;margin-top:2.5rem}
.reviews-cta .btn-secondary{color:#222629;border-color:#d8ddd5}
.reviews-carousel-controls{display:none}
.reviews-carousel-controls[hidden]{display:none}

@media (max-width:1024px){
  .reviews-section{padding-block:4.25rem}
  .reviews-header{align-items:flex-start;margin-bottom:2.25rem}
  .reviews-grid{
    display:flex;
    gap:1rem;
    overflow-x:auto;
    padding:0 0 .75rem;
    scroll-behavior:smooth;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    overscroll-behavior-inline:contain;
    -webkit-overflow-scrolling:touch;
  }
  .reviews-grid::-webkit-scrollbar{display:none}
  .review-card{
    flex:0 0 calc((100% - 1rem)/2);
    min-width:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  .reviews-carousel-controls{display:flex;align-items:center;justify-content:center;margin-top:.6rem}
  .reviews-carousel-toggle{border:0;background:transparent;color:#59615d;font:inherit;font-size:.78rem;font-weight:600;cursor:pointer;padding:.55rem .8rem;border-radius:999px;transition:background-color .2s ease,color .2s ease}
  .reviews-carousel-toggle:hover{background:rgba(250,251,247,.72);color:#222629}
  .reviews-carousel-toggle:focus-visible{outline:2px solid #61892f;outline-offset:2px}
}
@media (max-width:640px){
  .reviews-section{padding-block:3.5rem}
  .reviews-header{display:grid;gap:1.35rem;margin-bottom:1.75rem}
  .reviews-header .reviews-rating{align-self:start;padding:.75rem 1rem}
  .reviews-rating-google{width:23px;height:23px}
  .reviews-rating-score{font-size:1.2rem}
  .reviews-grid{gap:.85rem}
  .review-card{flex-basis:calc(100% - 2rem);padding:1.25rem;border-radius:20px;gap:.75rem}
  .review-avatar{width:40px;height:40px;font-size:.95rem}
  .review-name{white-space:normal}
  .review-quote{font-size:.88rem;line-height:1.55}
  .reviews-cta{margin-top:1.75rem}
  .reviews-cta .btn-secondary{width:100%;justify-content:center;padding-inline:1rem;text-align:center}
}
@media (prefers-reduced-motion:reduce){
  .reviews-grid{scroll-behavior:auto}
}
