/* ==========================================================================
   Testimonial Carousel — MauriDates
   Each slide is a single flat testimonial image (photo + quote combined).
   Palette: cream #fffdfa · ink #2c2925 · terracotta #d99a6c / #c07f4e
            blush block #f7e3de
   ========================================================================== */

.tc-section {
  position: relative;
  padding: 6rem 1.5rem 7rem;
  background: #fffdfa;
  overflow: hidden;
}
 
.tc-heading {
  text-align: center;
  max-width: 40rem;
  margin: 0 auto 3.5rem;
}
 
.tc-heading h2 {
  font-family: "Cormorant Garamond", serif;
  font-weight: 500;
  font-size: clamp(2rem, 4vw, 2.75rem);
  color: #2c2925;
  margin: 0 0 0.6rem;
  letter-spacing: 0.01em;
}
 
.tc-heading p {
  font-family: "Cormorant Garamond", serif;
  font-style: italic;
  font-size: 1.15rem;
  color: #6b6459;
  margin: 0;
}
 
/* ---- Stage: the offset blush block + image sit together ---- */
 
.tc-stage {
  position: relative;
  max-width: 30rem;
  margin: 0 auto;
}
 
.tc-block {
  position: absolute;
  inset: 1.25rem -1.25rem -1.25rem 1.25rem;
  background: #f7e3de;
  border-radius: 4px;
  z-index: 0;
}
 
.tc-viewport {
  position: relative;
  z-index: 1;
  overflow: hidden;
  border-radius: 4px;
  box-shadow: 0 18px 40px -18px rgba(44, 41, 37, 0.35);
  background: #fffdfa;
  /* Height is set inline by JS to match whichever slide is active,
     clamped to --tc-min-h / --tc-max-h. This starting value only
     covers the instant before JS runs. */
  height: 26rem;
  transition: height 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}
 
.tc-track {
  display: flex;
  height: 100%;
  transition: transform 0.6s cubic-bezier(0.65, 0, 0.35, 1);
}
 
.tc-slide {
  flex: 0 0 100%;
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
 
.tc-slide img {
  display: block;
  width: 100%;
  height: 100%;
  /* contain: never crops or distorts a testimonial, whatever its
     shape — landscape, square or tall portrait all fit cleanly. */
  object-fit: contain;
}
 
/* ---- Controls ---- */
 
.tc-controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.75rem;
  margin-top: 2.25rem;
}
 
.tc-arrow {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.75rem;
  height: 2.75rem;
  border-radius: 50%;
  border: 1px solid #d99a6c;
  background: transparent;
  color: #c07f4e;
  cursor: pointer;
  font-size: 1rem;
  transition: background 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}
 
.tc-arrow:hover,
.tc-arrow:focus-visible {
  background: #d99a6c;
  color: #fffdfa;
}
 
.tc-arrow:focus-visible {
  outline: 2px solid #c07f4e;
  outline-offset: 3px;
}
 
.tc-dots {
  display: flex;
  align-items: center;
  gap: 0.55rem;
}
 
.tc-dot {
  width: 0.5rem;
  height: 0.5rem;
  border-radius: 50%;
  border: none;
  background: #e6dcd2;
  padding: 0;
  cursor: pointer;
  transition: background 0.25s ease, transform 0.25s ease;
}
 
.tc-dot:hover {
  background: #d99a6c;
}
 
.tc-dot[aria-current="true"] {
  background: #c07f4e;
  transform: scale(1.3);
}
 
.tc-dot:focus-visible {
  outline: 2px solid #c07f4e;
  outline-offset: 2px;
}
 
/* ---- Reduced motion ---- */
 
@media (prefers-reduced-motion: reduce) {
  .tc-track {
    transition: none;
  }
}
 
/* ---- Small screens ---- */
 
@media (max-width: 480px) {
  .tc-section {
    padding: 4.5rem 1rem 5rem;
  }
 
  .tc-block {
    inset: 0.85rem -0.85rem -0.85rem 0.85rem;
  }
 
  .tc-controls {
    gap: 1.25rem;
  }
 
  .tc-arrow {
    width: 2.4rem;
    height: 2.4rem;
  }
}
 
/* ---- Reduced motion (height) ---- */
 
@media (prefers-reduced-motion: reduce) {
  .tc-viewport {
    transition: none;
  }
}

.site-footer{
  padding:40px 5%;
  background:var(--cream);
  border-top:1px solid rgba(44,41,37,0.08);
}

.site-footer-container{
  display:flex;
  align-items:center;
  gap:26px;
  max-width:1400px;
  margin:0 auto;
}

.footer-col p{
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:16px;
  line-height:1.5;
  color:var(--ink);
  white-space:nowrap;
}

.footer-divider{
  width:1px;
  height:44px;
  background:var(--clay);
  flex-shrink:0;
}

.footer-wix-link{
  color:var(--clay-deep);
  text-decoration:underline;
}

.footer-book-btn{
  margin-left:auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  padding:14px 30px;
  background:none;
  border:1px solid olive;
  border-radius:0;
  font-family:'Cormorant Garamond', serif;
  font-style:italic;
  font-size:16px;
  letter-spacing:0.05em;
  color:var(--ink);
  text-decoration:none;
  white-space:nowrap;
  transition:background .25s ease, color .25s ease;
}

.footer-book-btn:hover{
  background:burlywood;
  color:var(--cream);
}

/* MOBILE */
@media(max-width:960px){
  .site-footer-container{
    flex-direction:column;
    align-items:flex-start;
    gap:24px;
  }
  .footer-divider{
    display:none;
  }
  .footer-book-btn{
    margin-left:0;
    align-self:stretch;
    text-align:center;
  }
}