/* =========================================================
 * RECENSIONI — carosello Bootstrap (3 per slide su desktop,
 * 1 su mobile), stelline e frecce minimal.
 * Markup in template-parts/section-recensioni.php.
 * ========================================================= */

/* Sub della sezione — Inter pulito per numeri e testo, em in italic editoriale */
#recensioni .sec-title .sub{
  font-family:"Inter", sans-serif;
  font-style: normal;
  font-weight: 400;
  letter-spacing: 0;
}
#recensioni .sec-title .sub strong{
  font-weight: 700;
  color: var(--bg);
}
#recensioni .sec-title .sub em{
  font-family:"Cormorant Garamond", serif;
  font-style: italic;
  font-weight: 400;
  color: rgba(250,247,242,.85);
}

.reviews-carousel{
  max-width: 1280px; margin: 0 auto;
  position: relative;
  padding: 0 clamp(24px, 5vw, 72px);
}
/* IMPORTANT: il carousel-inner DEVE clippare le slide non attive */
.reviews-carousel .carousel-inner{
  overflow: hidden;
}
.reviews-carousel .carousel-item{
  transition: transform .6s ease-in-out;
}
.reviews-grid{
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap: clamp(24px, 4vw, 56px);
  padding: 24px 4px;
}
.review{
  text-align:center;
  color: var(--bg);
  padding: 8px 4px;
  position: relative;
  height: 100%;
  display:flex; flex-direction:column; align-items:center; gap: 14px;
}
.review .quote-mark{
  font-family:"Cormorant Garamond", serif; font-style:italic; font-weight:400;
  font-size: 64px; line-height: 0.6;
  color: rgba(250,247,242,.45);
}
/* Stelline — stessa identità visiva in qualunque contesto (recensione + sottotitolo sezione) */
.stars{
  color: #E8B84D;
  font-size: 15px;
  letter-spacing: 4px;
  display: inline-block;
  white-space: nowrap;
}
.review .review-text{
  font-family:"Cormorant Garamond", serif; font-style:italic; font-weight:400;
  font-size: clamp(17px, 1.45vw, 20px); line-height:1.55;
  margin: 0; max-width: 36ch;
  color: rgba(250,247,242,.92);
  flex: 1;
  /* clamp recensioni lunghe a 6 righe — evita card altissime per via dei papiri */
  display: -webkit-box;
  -webkit-line-clamp: 6;
  line-clamp: 6;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}
.review .divider{
  width: 32px; height: 1px;
  background: rgba(250,247,242,.3);
  margin: 4px 0;
}
.review .author{
  font-family:"Inter", sans-serif; font-weight:600;
  font-size: 13px; letter-spacing:0.06em;
  color: var(--bg);
}
.review .source{
  font-family:"Inter", sans-serif; font-size:10px; font-weight:500;
  letter-spacing:0.22em; text-transform:uppercase;
  color: rgba(250,247,242,.5);
}

/* Bootstrap carousel controls — frecce minimal, fuori dal contenuto */
.reviews-carousel .carousel-control-prev,
.reviews-carousel .carousel-control-next{
  width: 44px; height: 44px;
  top: 50%; transform: translateY(-50%);
  background: transparent;
  border: 1px solid rgba(250,247,242,.3);
  border-radius: 50%;
  opacity: 1;
  transition: background .25s, border-color .25s;
  z-index: 5;
}
.reviews-carousel .carousel-control-prev{ left: -10px;}
.reviews-carousel .carousel-control-next{ right: -10px;}
.reviews-carousel .carousel-control-prev:hover,
.reviews-carousel .carousel-control-next:hover{
  background: var(--bg); border-color: var(--bg);
}
.reviews-carousel .carousel-control-prev-icon,
.reviews-carousel .carousel-control-next-icon{
  width: 14px; height: 14px;
}
.reviews-carousel .carousel-control-prev:hover .carousel-control-prev-icon{ filter: invert(1);}
.reviews-carousel .carousel-control-next:hover .carousel-control-next-icon{ filter: invert(1);}
.reviews-carousel .carousel-indicators{
  position: static;
  bottom: auto; left: auto; right: auto;
  margin: 32px 0 0;
  justify-content: center;
}
.reviews-carousel .carousel-indicators [data-bs-target]{
  width: 6px; height: 6px; border-radius: 50%;
  background: rgba(250,247,242,.3); border:0;
  margin: 0 5px;
  transition: background .2s, transform .2s;
}
.reviews-carousel .carousel-indicators .active{
  background: var(--bg); transform: scale(1.6);
}
.reviews-placeholder{
  text-align:center; margin-top: 24px;
  font-family:"Cormorant Garamond", serif; font-style:italic;
  font-size: 14px; color: rgba(250,247,242,.45);
}
/* Switch carosello desktop ↔ mobile a 768px */
.reviews-mobile{ display: none !important; }
.reviews-desktop{ display: block; }
@media (max-width: 768px){
  .reviews-desktop{ display: none !important; }
  .reviews-mobile{ display: block !important; }
  .reviews-mobile .reviews-grid{ grid-template-columns: 1fr !important; }
  .reviews-mobile .reviews-carousel .carousel-control-prev{ left: -4px;}
  .reviews-mobile .reviews-carousel .carousel-control-next{ right: -4px;}
}
@media (min-width: 769px) and (max-width: 980px){
  .reviews-desktop .reviews-grid{ grid-template-columns: repeat(2, 1fr);}
}
