/* 3D Text Slider base */
.tds-wrap { position: relative; width: 100%; max-width: inherit; }
.tds-carousel { position: relative; width: 100%; max-width: 100%; touch-action: pan-y; transition: height .28s ease; overflow: hidden; }
.tds-slides { display: flex; transition: transform .6s ease; will-change: transform; align-items: center; transform-style: preserve-3d; }
.tds-slide { flex: 0 0 auto; box-sizing: border-box; padding: 12px; transition: transform .5s cubic-bezier(.22,.9,.33,1), opacity .36s ease; transform-origin: center center; opacity: .7; transform: perspective(900px) translateZ(-40px) rotateY(10deg) scale(.84); position: relative; backface-visibility: hidden; }
.tds-slide.tds-active { transform: perspective(900px) translateZ(0px) rotateY(0deg) scale(1); opacity:1; z-index:6; }
.tds-slide.tds-left { transform: perspective(900px) translateZ(-30px) rotateY(12deg) scale(.82); opacity:.7; z-index:4; }
.tds-slide.tds-right { transform: perspective(900px) translateZ(-30px) rotateY(-12deg) scale(.82); opacity:.7; z-index:4; }
.tds-clone { pointer-events: none; }

/* Smooth transform for 3D -> flat */
.tds-slide,
.tds-slide.tds-left,
.tds-slide.tds-right,
.tds-slide.tds-active {
  transition: transform 0.5s ease, opacity 0.36s ease;
}

/* Arrows */
.tds-arrows { position: absolute; top: 50%; width: 100%; transform: translateY(-50%); pointer-events: none; }
.tds-arrow { background: rgba(0,0,0,.45); color: #fff; border: none; padding: 8px 10px; border-radius: 50%; cursor: pointer; pointer-events: auto; font-size: 18px; line-height:1; }
.tds-prev { position: absolute; left: 8px; }
.tds-next { position: absolute; right: 8px; }

/* Description box */
.tds-desc-outer { display:flex; justify-content:center; margin-top:22px; pointer-events: none; }
.tds-desc-box { pointer-events: auto; background:#fff; padding:18px 22px; border-radius:14px; box-shadow:0 12px 30px rgba(20,10,60,0.06); max-width:900px; text-align:center; position: relative; }
.tds-desc-title { font-weight:600; font-size:18px; margin-bottom:6px; }
.tds-desc-body { }
.tds-desc-arrow {
  width: 0; height: 0;
  border-left: 12px solid transparent;
  border-right: 12px solid transparent;
  border-bottom: 12px solid #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  top: -12px;
}

/* Thumbnail wrapper */
.tds-wistia-thumb { position: relative; cursor: pointer; overflow: hidden; border-radius: 12px; background: none; min-height: 180px; }
.tds-wistia-thumb img { display: block; width: 100%; height: auto; }

/* Play icon overlay */
.tds-play-icon {
  position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%);
  font-size: 48px; color: rgba(255,255,255,0.9); text-shadow: 0 2px 8px rgba(0,0,0,0.6);
  pointer-events: none; transition: transform 0.2s ease, opacity 0.2s ease; opacity: 0.9;
}
.tds-wistia-thumb:hover .tds-play-icon { transform: translate(-50%, -50%) scale(1.1); opacity: 1; }

/* Dark overlay behind play icon */
.tds-wistia-thumb::before {
  content: ""; position: absolute; top:0; left:0; width:100%; height:100%;
  pointer-events:none; transition: background 0.2s ease;
}

/* Fade-in for Wistia embed */
.tds-wistia-thumb > .wistia_embed { opacity:0; transition: opacity 0.5s ease; width:100%; height:100%; display:block; }
.tds-wistia-thumb[data-loaded="true"] > .wistia_embed { opacity:1; }

/* Small screens (disable 3D, single column, smaller video width) */
@media (max-width:720px) {
  .tds-desc-box { 
    padding:14px; 
    border-radius:12px; 
    width:100%; /* keep description full width */
    margin-top:12px;
    box-sizing: border-box;
  }
  .tds-slide {
    padding:10px;
    transform: none !important;
    opacity: 1 !important;
    display: flex;
    justify-content: center; /* center video */
  }
  .tds-slide.tds-left,
  .tds-slide.tds-right,
  .tds-slide.tds-active {
    transform: none !important;
    opacity: 1 !important;
  }
  .tds-wistia-thumb {
    width: 80%;  /* smaller video width */
    max-width: 80%;
    min-height: auto;
    margin: 0 auto; /* center video */
  }
  .tds-wistia-thumb img {
    width: 100%; /* fill 80% container */
    height: auto;
  }
}