/* ======================================================
   REVIEWS PREMIUM – PT CLINIC (FINAL)
====================================================== */

.pt-reviews-premium{
  background:#b8b8b8;
  padding:80px 0;
  overflow:hidden;
  position: relative;
}

/* ===========================
   HEADER
=========================== */

.pt-reviews-header{
  margin:0 auto 56px;
  text-align:center;
}

.pt-reviews-header h2{
  font-family:"Oddlini", serif;
  font-size:38px;
  line-height:1.2;
  margin:0;
  color:#0d2344;
}

.pt-reviews-header p{
  font-family:"Garamond", serif;
  font-size:24px;
  line-height:1.6;
  margin:24px 0;
  color:#0d2344;
}

/* ===========================
   SLIDER MASK
=========================== */

.pt-reviews-slider{
    position: static;
}

/* maska widoku */
.pt-reviews-mask{
  overflow:hidden;
}

/* ===========================
   SLIDER TRACK
=========================== */

.pt-reviews-track{
  display:flex;
  gap:28px; /* MUSI się zgadzać z JS */
  transition:transform .7s cubic-bezier(.22,1,.36,1);
  will-change:transform;
}

/* ===========================
   CARD
=========================== */

.pt-review-card{
  flex:0 0 calc((100% - 56px) / 3);
  background:#ffffff;
  border-radius:22px;
  padding:34px;
  text-align:left;
}

/* ===========================
   STARS (JEDYNA WERSJA — BEZ KONFLIKTÓW)
=========================== */

.pt-review-stars{
  position:relative;
  display:inline-block;
  font-size:18px;
  letter-spacing:3px;
  line-height:1;
  margin-bottom:12px;
}

/* szare tło gwiazdek */
.pt-review-stars .base{
  color:rgba(32,59,87,.28); /* widoczne na białym */
}

/* złote wypełnienie (na wierzchu) */
.pt-review-stars .fill{
  position:absolute;
  top:0;
  left:0;
  width:100%;               /* 5/5 zawsze widoczne */
  overflow:hidden;
  color:#d4af37;            /* złoto */
  pointer-events:none;
}

/* ===========================
   TEXT
=========================== */

.pt-review-card p{
  font-family:"Garamond", serif;
  font-size:22px;
  line-height:1.4;
  color:#0d2344;
  margin:0;
}

.pt-review-card .author{
  display:block;
  margin-top:14px;
  font-size:14px;
  color:#666;
}

/* ===========================
   CTA
=========================== */

.pt-reviews-cta{
  margin-top: 48px;
  width:100%;
  text-align:center;
}

.pt-reviews-cta a{
display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 10px 40px;
  border-radius: 40px;
  font-family: "Oddlini", serif;
  font-size: 18px;
  text-decoration: none;
  transition: all .25s ease;
  border: 2px solid transparent;
  background: #203b57;
  color: #ffffff;
}

.pt-reviews-cta a:hover{
  background: #556877;
}
/* ===========================
   REVIEWS – ARROWS
=========================== */

.pt-reviews-arrow{
  position:absolute;
  top:52%;
  transform:translateY(-52%);
  z-index:30;
  width:40px;
  height:40px;
  border-radius:999px;
  border:none;
  background:#2f445d;
  color:#ffffff;
  font-size:25px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:background .25s ease, opacity .25s ease;
}

.pt-reviews-arrow:hover{
  background:#556877;
}

.pt-reviews-prev{
  left:-44px;
}

.pt-reviews-next{
  right:-44px;
}

.pt-reviews-arrow:disabled{
  opacity:.3;
  cursor:default;
}
@media (pointer:coarse){
  .pt-reviews-arrow{ display:none; }
}
/* MOBILE – bez strzałek (jak w efektach) */
@media (max-width:768px){
  .pt-reviews-arrow{
    display:none;
  }
}

/* ===============================
   DOTS (A11Y + UX)
================================ */

.pt-reviews-dots{
  display:flex;
  justify-content:center;
  gap:8px;
  margin-top:32px;
}

.pt-reviews-dot{
  position:relative;
  width:48px;
  height:48px;
  padding:0;
  margin:0;
  background:none;
  border:none;
  cursor:pointer;
}

.pt-reviews-dot::before{
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:8px;
  height:8px;
  border-radius:50%;
  background:rgba(31,42,54,.35);
  transform:translate(-50%,-50%);
  transition:background .2s ease, transform .2s ease;
}

.pt-reviews-dot.is-active::before{
  background:#1f2a36;
  transform:translate(-50%,-50%) scale(1.2);
}

.pt-reviews-dot:focus-visible{
  outline:2px solid #1f2a36;
  outline-offset:4px;
}

@media (pointer:coarse){
  .pt-reviews-dot{ width:52px; height:52px; }
}

/* ===========================
   RESPONSIVE
=========================== */

@media (max-width:1024px){
  .pt-review-card{ flex:0 0 calc(50% - 14px); }
}

@media (max-width:768px){
  .pt-reviews-premium{ padding:30px 0; }
  .pt-reviews-track{ gap:10px; }
  .pt-review-card{ flex:0 0 100%; }

  .pt-reviews-header{ margin-bottom:32px; text-align:left; }
  .pt-reviews-header h2{ font-size:27px; }
  .pt-reviews-header p{ font-size:21px; }
}
