.ctt-reviews {
  --ctt-primary:#C1AA7F;
  --ctt-secondary:#73664C;
  --ctt-text:#73716D;
  --ctt-bg:#FFFFFF;
  --ctt-dark:#2A2D2D;
  --ctt-line:#E9E5DD;
  --ctt-soft:#FAF9F6;
  width:100%;
  max-width:1200px;
  margin:0 auto;
  font-family:'Open Sans',Arial,sans-serif;
}
.ctt-reviews * { box-sizing:border-box; }

.ctt-reviews .ctt-tabs-nav {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:28px;
}
.ctt-reviews .ctt-tab-btn {
  display:inline-flex;
  align-items:center;
  gap:9px;
  padding:8px 14px 8px 9px;
  border:1px solid var(--ctt-line);
  border-radius:10px;
  background:#fff;
  color:#5F5D59;
  font:inherit;
  font-size:.88rem;
  font-weight:600;
  cursor:pointer;
  box-shadow:none;
  transition:background .2s ease,border-color .2s ease,color .2s ease;
}
.ctt-reviews .ctt-tab-btn:hover {
  background:#FCFBF8;
  border-color:#D5CBB9;
}
.ctt-reviews .ctt-tab-btn.active {
  color:var(--ctt-dark);
  background:#FAF8F3;
  border-color:#CDBD9D;
  box-shadow:inset 0 -2px 0 var(--ctt-primary);
}
.ctt-reviews .ctt-tab-logo {
  width:28px;
  height:28px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:7px;
  background:#fff;
}
.ctt-reviews .ctt-tab-logo img {
  width:19px;
  height:19px;
  object-fit:contain;
  display:block;
}

.ctt-reviews .ctt-tab-panel { display:none; }
.ctt-reviews .ctt-tab-panel.active { display:block; }
.ctt-reviews .ctt-platform-layout {
  display:grid;
  grid-template-columns:minmax(0,1fr) 290px;
  gap:18px;
  align-items:stretch;
}
.ctt-reviews .ctt-slider-column { min-width:0; }
.ctt-reviews .ctt-carousel-shell {
  display:grid;
  grid-template-columns:40px minmax(90px,1fr) 40px;
  grid-template-rows:auto 34px;
  gap:10px 12px;
  align-items:center;
}
.ctt-reviews .ctt-carousel {
  grid-column:1 / -1;
  grid-row:1;
  min-width:0;
  overflow:hidden;
}
.ctt-reviews .ctt-slider-viewport { overflow:hidden; width:100%; }
.ctt-reviews .ctt-slider-track {
  display:flex;
  gap:16px;
  transform:translate3d(0,0,0);
  transition:transform .45s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.ctt-reviews .ctt-review-card {
  flex:0 0 calc((100% - 16px) / 2);
  min-width:0;
  min-height:330px;
  padding:22px;
  display:flex;
  flex-direction:column;
  background:#fff;
  border:1px solid var(--ctt-line);
  border-radius:12px;
  box-shadow:none;
}
.ctt-reviews .ctt-card-header {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:13px;
}
.ctt-reviews .ctt-reviewer-info {
  display:flex;
  align-items:center;
  gap:11px;
  min-width:0;
}
.ctt-reviews .ctt-avatar {
  width:44px;
  height:44px;
  flex:0 0 44px;
  overflow:hidden;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:50%;
  border:1px solid #EEEAE3;
  background:#F1EEE8;
  color:var(--ctt-secondary);
  font-size:.8rem;
  font-weight:700;
}
.ctt-reviews .ctt-avatar img {
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.ctt-reviews .ctt-avatar.has-image .ctt-avatar-fallback { opacity:0; }
.ctt-reviews .ctt-reviewer-meta { min-width:0; }
.ctt-reviews .ctt-reviewer-meta h4 {
  margin:0 0 3px;
  color:var(--ctt-dark);
  font-size:.93rem;
  line-height:1.3;
  font-weight:600;
}
.ctt-reviews .ctt-review-date {
  color:#99958E;
  font-size:.72rem;
}
.ctt-reviews .ctt-platform-icon {
  width:30px;
  height:30px;
  flex:0 0 30px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid #EEEAE3;
  border-radius:7px;
  background:#F7F5F0;
}
.ctt-reviews .ctt-platform-icon img {
  width:17px;
  height:17px;
  object-fit:contain;
  display:block;
}
.ctt-reviews .ctt-rating {
  display:flex;
  gap:2px;
  margin:2px 0 11px;
}
.ctt-reviews .ctt-star { color:var(--ctt-primary); font-size:15px; line-height:1; }
.ctt-reviews .ctt-star.empty { color:#E7E3DC; }
.ctt-reviews .ctt-review-title {
  margin:0 0 7px;
  color:#393732;
  font-family:'Public Sans','Open Sans',Arial,sans-serif;
  font-size:.97rem;
  line-height:1.42;
  font-weight:650;
}
.ctt-reviews .ctt-review-text {
  margin:0 0 15px;
  color:#74716C;
  font-size:.89rem;
  line-height:1.68;
  flex:1;
}
.ctt-reviews .ctt-review-footer {
  margin-top:auto;
  padding-top:12px;
  border-top:1px solid #F0EDE7;
}
.ctt-reviews .ctt-review-link {
  color:var(--ctt-secondary);
  font-size:.77rem;
  font-weight:600;
  text-decoration:none;
}
.ctt-reviews .ctt-review-link:hover { text-decoration:underline; }

.ctt-reviews .ctt-slider-arrow {
  position:relative;
  width:34px;
  height:34px;
  border:1px solid #DDD7CC;
  border-radius:50%;
  background:#fff;
  color:var(--ctt-secondary);
  cursor:pointer;
  font-size:0;
  box-shadow:none;
}
.ctt-reviews .ctt-slider-prev { grid-column:1; grid-row:2; justify-self:center; }
.ctt-reviews .ctt-slider-next { grid-column:3; grid-row:2; justify-self:center; }
.ctt-reviews .ctt-slider-arrow::before {
  content:'';
  position:absolute;
  top:50%;
  left:50%;
  width:7px;
  height:7px;
  border-top:1.5px solid currentColor;
  border-right:1.5px solid currentColor;
}
.ctt-reviews .ctt-slider-prev::before { transform:translate(-38%,-50%) rotate(-135deg); }
.ctt-reviews .ctt-slider-next::before { transform:translate(-62%,-50%) rotate(45deg); }
.ctt-reviews .ctt-slider-arrow:hover { background:#F8F6F1; border-color:#CDBD9D; }
.ctt-reviews .ctt-slider-arrow:disabled { opacity:.28; cursor:not-allowed; }
.ctt-reviews .ctt-slider-pagination {
  grid-column:2;
  grid-row:2;
  min-height:20px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:6px;
}
.ctt-reviews .ctt-slider-dot {
  width:6px;
  height:6px;
  padding:0;
  border:0;
  border-radius:50%;
  background:#DDD8CF;
  cursor:pointer;
}
.ctt-reviews .ctt-slider-dot.active {
  width:18px;
  border-radius:999px;
  background:var(--ctt-primary);
}

.ctt-reviews .ctt-platform-card {
  min-height:330px;
  padding:24px;
  display:flex;
  flex-direction:column;
  background:var(--ctt-soft);
  border:1px solid var(--ctt-line);
  border-radius:12px;
}
.ctt-reviews .ctt-platform-card-top {
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:24px;
}
.ctt-reviews .ctt-platform-logo-wrap {
  width:48px;
  height:48px;
  flex:0 0 48px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--ctt-line);
  border-radius:10px;
  background:#fff;
}
.ctt-reviews .ctt-platform-logo {
  width:27px;
  height:27px;
  object-fit:contain;
  display:block;
}
.ctt-reviews .ctt-eyebrow {
  display:block;
  color:#9B978F;
  font-size:.6rem;
  line-height:1.35;
  text-transform:uppercase;
  letter-spacing:.07em;
}
.ctt-reviews .ctt-platform-card h3 {
  margin:3px 0 0;
  color:var(--ctt-dark);
  font-family:'Public Sans','Open Sans',Arial,sans-serif;
  font-size:1.08rem;
  font-weight:650;
}
.ctt-reviews .ctt-platform-rating-line {
  display:flex;
  align-items:baseline;
  gap:8px;
  padding:18px 0;
  border-top:1px solid var(--ctt-line);
}
.ctt-reviews .ctt-platform-rating-value {
  color:#393732;
  font-size:2rem;
  line-height:1;
  font-weight:700;
}
.ctt-reviews .ctt-platform-rating-meta {
  color:#8D8982;
  font-size:.72rem;
}
.ctt-reviews .ctt-action-buttons {
  display:grid;
  gap:8px;
  margin-top:auto;
}
.ctt-reviews .ctt-btn {
  min-height:41px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:8px;
  font-size:.8rem;
  font-weight:650;
  text-decoration:none;
}
.ctt-reviews .ctt-btn-primary {
  background:var(--ctt-primary);
  color:var(--ctt-dark);
  border:1px solid var(--ctt-primary);
}
.ctt-reviews .ctt-btn-primary:hover { background:#B7A176; border-color:#B7A176; }
.ctt-reviews .ctt-btn-secondary {
  background:transparent;
  color:var(--ctt-secondary);
  border:1px solid #D8D1C5;
}
.ctt-reviews .ctt-btn-secondary:hover { background:#fff; border-color:#C5BAA6; }

.ctt-reviews .ctt-loading,
.ctt-reviews .ctt-load-error {
  padding:24px;
  color:var(--ctt-text);
  text-align:center;
  border:1px solid var(--ctt-line);
  border-radius:10px;
  background:#fff;
}

@media (max-width:980px) {
  .ctt-reviews .ctt-platform-layout { grid-template-columns:minmax(0,1fr) 260px; }
  .ctt-reviews .ctt-review-card { flex-basis:100%; }
}
@media (max-width:760px) {
  .ctt-reviews .ctt-tabs-nav { margin-bottom:22px; }
  .ctt-reviews .ctt-platform-layout { grid-template-columns:1fr; gap:18px; }
  .ctt-reviews .ctt-review-card { flex-basis:100%; min-height:315px; padding:20px; }
  .ctt-reviews .ctt-platform-card { min-height:250px; }
}
@media (prefers-reduced-motion:reduce) {
  .ctt-reviews .ctt-slider-track { transition:none; }
}
