/* ===== Testimonials Carousel — Frontend CSS ===== */
/* Fonts: Fraunces (quote), Schibsted Grotesk (byline) */
@import url('https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,400;1,9..144,400&family=Schibsted+Grotesk:wght@400;700&display=swap');

.tc-carousel-wrapper {
  background-color: #F0EDE6;
  padding: 56px 60px 44px;
  position: relative;
  overflow: hidden;
  font-family: 'Fraunces', Georgia, serif;
  max-width: 100%;
  box-sizing: border-box;
}

/* ---- Slides ---- */
.tc-slides {
  position: relative;
  min-height: 120px;
}

.tc-slide {
  display: none;
  animation: tcFadeIn 0.45s ease;
}

.tc-slide--active {
  display: block;
}

@keyframes tcFadeIn {
  from { opacity: 0; transform: translateY(6px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* ---- Quote ---- */
.tc-quote {
  font-family: Fraunces;
  font-size: 38px;
  font-weight: 300;
  line-height: 1.35;
  color: #22333B;
  margin: 0 0 24px 0;
  padding: 0;
 
}

/* Opening curly quote is part of text, closing rendered via unicode */
.tc-quote::before { content: ''; }

/* ---- Byline ---- */
.tc-byline {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 13px;
  font-weight: 400;
  color: #1B1714;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  margin: 0;
  line-height: 1.4;
}

.tc-author-name {
  font-weight: 700;
  color: #1B1714;
}

.tc-em {
  color: #7A7065;
  margin: 0 4px;
}

.tc-author-role {
  color: #7A7065;
}

/* ---- Controls row ---- */
.tc-controls {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 36px;
}

/* ---- Dots ---- */
.tc-dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.tc-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  border: none;
  background: #C8C3BB;
  cursor: pointer;
  padding: 0;
  transition: background 0.25s;
}

.tc-dot--active {
  background: #6E8B79; /* terracotta accent matching screenshot */
}

.tc-dot:hover {
  background: #6E8B79;
}

/* ---- Arrows ---- */
.tc-arrows {
  display: flex;
  gap: 10px;
}

.tc-arrow {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1.5px solid #C8C3BB;
  background: transparent;
  color: #1B1714;
  font-size: 16px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: border-color 0.2s, background 0.2s;
  line-height: 1;
}

.tc-arrow:hover {
  border-color: #6E8B79
;
  background: rgba(0,0,0,0.04);
  color: #6E8B79
;
}

/* ---- No testimonials ---- */
.tc-no-testimonials {
  font-family: 'Schibsted Grotesk', sans-serif;
  font-size: 14px;
  color: #7A7065;
  padding: 20px 0;
}

/* ---- Responsive ---- */
@media (max-width: 768px) {
  .tc-carousel-wrapper {
    padding: 36px 28px 32px;
  }
  .tc-quote {
    font-size: 26px;
  }
}

@media (max-width: 480px) {
  .tc-carousel-wrapper {
    padding: 28px 20px 24px;
  }
  .tc-quote {
    font-size: 22px;
  }
  .tc-arrow {
    width: 36px;
    height: 36px;
    font-size: 14px;
  }
}
