/* ===== CPGR2 — CLEAN + RESPONSIVE MAX + TRANSPARENT BG (FULL FILE) ===== */

.cpgr2, .cpgr2 *{ box-sizing:border-box !important; }

/* Sezione */
.cpgr2{
  width:100% !important;
  background: transparent !important;
  padding: 28px 0 36px !important;
  display:block !important;
}

/* Container */
.cpgr2__inner{
  width:100% !important;
  max-width:1320px !important;
  margin:0 auto !important;
  padding:0 12px !important;
}

/* ===== CLICK FIX ===== */

.cpgr2,
.cpgr2__inner{
  pointer-events:none !important;
}

.cpgr2__header,
.cpgr2__header *{
  pointer-events:auto !important;
}

.cpgr2__slider,
.cpgr2__viewport,
.cpgr2__track,
.cpgr2__card,
.cpgr2__nav,
.cpgr2__nav *{
  pointer-events:auto !important;
}

/* ===== HEADER ===== */

.cpgr2__header{
  max-width:820px !important;
  margin:0 auto 22px !important;
  text-align:center !important;
}

.cpgr2__kicker{
  font:inherit !important;
  font-size:12px !important;
  letter-spacing:.18em !important;
  text-transform:uppercase !important;
  color:#111 !important;
  font-weight:600 !important;
  opacity:.8 !important;
  pointer-events:none !important;
}

.cpgr2__title{
  margin:10px 0 6px !important;
  font:inherit !important;
  font-size:40px !important;
  line-height:1.08 !important;
  font-weight:600 !important;
  color:#111 !important;
  letter-spacing:-.01em !important;
}

.cpgr2__sub{
  font:inherit !important;
  font-size:16px !important;
  color:#666 !important;
  margin-top:10px !important;
  line-height:1.4 !important;
}

/* ===== MEDIA RATING ===== */

.cpgr2__avg{
  margin:10px auto 0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:12px !important;
  flex-wrap:wrap !important;
}

.cpgr2__starsAvg{
  position:relative !important;
  display:inline-block !important;
  line-height:1 !important;
  font-size:14px !important;
  letter-spacing:1px !important;
}

.cpgr2__starsBase{ color:#d9d9d9 !important; display:block !important; }

.cpgr2__starsFill{
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  overflow:hidden !important;
  white-space:nowrap !important;
  color:#FFC107 !important;
  display:block !important;
  width:0%;
}

.cpgr2__avgText{
  font:inherit !important;
  font-size:13px !important;
  color:#444 !important;
  display:inline-flex !important;
  align-items:baseline !important;
  gap:4px !important;
}

.cpgr2__avgScore{ font-weight:700 !important; color:#111 !important; }

.cpgr2__avgSep{ opacity:.6 !important; }

.cpgr2__avgMax{ opacity:.75 !important; }

.cpgr2__avgDot{ margin:0 6px !important; opacity:.35 !important; }

.cpgr2__avgCount{ color:#666 !important; }

/* ===== LINK ===== */

.cpgr2__allLink{
  display:inline-flex !important;
  margin-top:10px !important;
  font:inherit !important;
  font-size:13px !important;
  color:#111 !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
  position:relative !important;
  z-index:5 !important;
}

/* ===== SLIDER ===== */

.cpgr2__slider{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 !important;
}

.cpgr2__viewport{
  flex:1 1 auto !important;
  min-width:0 !important;
  overflow-x:hidden !important;
  overflow-y:visible !important;
}

.cpgr2__track{
  display:flex !important;
  gap:18px !important;
  padding:30px 0 18px !important;
  transform:translateX(0);
  transition:transform .35s ease;
  will-change:transform;
  user-select:none !important;
}

/* ===== CARD ===== */

.cpgr2__card{
  position:relative !important;
  display:block !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,.06) !important;
  border-radius:14px !important;
  padding:44px 18px 18px !important;
  text-decoration:none !important;
  color:#111 !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
  -webkit-tap-highlight-color:transparent !important;
  touch-action:pan-y !important;
}

.cpgr2__card:hover{
  transform:translateY(-2px) !important;
  box-shadow:0 4px 12px rgba(0,0,0,.04),0 0 18px rgba(0,0,0,.03) !important;
}

.cpgr2__card *{ user-select:text !important; }

/* ===== AVATAR ===== */

.cpgr2__avatar{
  position:absolute !important;
  left:50% !important;
  top:-30px !important;
  transform:translateX(-50%) !important;
  width:62px !important;
  height:62px !important;
  border-radius:999px !important;
  background:#ddd !important;
  border:5px solid #fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
  box-shadow:0 10px 18px rgba(0,0,0,.12) !important;
  pointer-events:none !important;
}

.cpgr2__avatarImg{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
  border-radius:999px !important;
}

.cpgr2__avatarInitial{
  font-weight:700 !important;
  color:#111 !important;
  font-size:20px !important;
}

/* ===== GOOGLE BADGE ===== */

.cpgr2__gBadge{
  position:absolute !important;
  right:-2px !important;
  bottom:-2px !important;
  width:20px !important;
  height:20px !important;
  border-radius:999px !important;
  background:#fff !important;
  border:1px solid rgba(0,0,0,.10) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:2 !important;
  box-shadow:0 6px 14px rgba(0,0,0,.18) !important;
  pointer-events:none !important;
}

.cpgr2__gIcon{ width:14px !important; height:14px !important; display:block !important; }

/* ===== CONTENUTI ===== */

.cpgr2__name{
  text-align:center !important;
  font-weight:700 !important;
  color:#111 !important;
  margin-top:6px !important;
  font-size:14px !important;
}

.cpgr2__stars{
  text-align:center !important;
  margin-top:10px !important;
  color:#FFC107 !important;
  letter-spacing:1px !important;
  font-size:14px !important;
}

.cpgr2__check{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:16px !important;
  height:16px !important;
  margin-left:6px !important;
  border-radius:999px !important;
  background:#1a73e8 !important;
  color:#fff !important;
  font-size:11px !important;
  pointer-events:none !important;
}

.cpgr2__text{
  margin:14px auto 0 !important;
  text-align:center !important;
  color:#333 !important;
  font-size:13px !important;
  line-height:1.55 !important;
  max-width:90% !important;
  display:-webkit-box !important;
  -webkit-line-clamp:4 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
  min-height:78px !important;
}

.cpgr2__more{
  margin-top:14px !important;
  text-align:center !important;
  font-size:12px !important;
  color:#6b6b6b !important;
  text-decoration:underline !important;
  text-underline-offset:3px !important;
}

/* ===== FRECCE ===== */

.cpgr2__nav{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  width:42px !important;
  height:42px !important;
  border-radius:999px !important;
  border:1px solid rgba(0,0,0,.18) !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  z-index:10 !important;
}

.cpgr2__prev{ left:6px !important; }

.cpgr2__next{ right:6px !important; }

.cpgr2__nav:disabled{ opacity:.35 !important; cursor:not-allowed !important; }

/* ===== RESPONSIVE ===== */

@media (min-width:1101px){

  .cpgr2__card{
    flex:0 0 calc((100% - (18px * 3)) / 4) !important;
    max-width:calc((100% - (18px * 3)) / 4) !important;
  }

}

@media (max-width:1100px){

  .cpgr2__title{ font-size:34px !important; }

  .cpgr2__card{
    flex:0 0 calc((100% - (18px * 2)) / 3) !important;
    max-width:calc((100% - (18px * 2)) / 3) !important;
  }

}

@media (max-width:860px){

  .cpgr2__title{ font-size:32px !important; }

  .cpgr2__card{
    flex:0 0 calc((100% - 18px) / 2) !important;
    max-width:calc((100% - 18px) / 2) !important;
  }

}

/* MOBILE */

@media (max-width:576px){

  .cpgr2__title{ font-size:30px !important; }

  .cpgr2__nav{
    width:34px !important;
    height:34px !important;
    font-size:18px !important;
  }

  .cpgr2__prev{ left:4px !important; }

  .cpgr2__next{ right:4px !important; }

  .cpgr2__card{
    flex:0 0 100% !important;
    max-width:100% !important;
  }

  .cpgr2__track{
    gap:14px !important;
  }

}
