.testimonial-video-gallery{
  --testimonial-columns:3;
  --testimonial-gap:20px;
  min-width:0;
}
.testimonial-video-gallery[hidden],
.testimonial-video-controls[hidden],
.testimonial-video-error[hidden]{display:none}
.testimonial-video-track{
  display:flex;
  gap:var(--testimonial-gap);
  overflow-x:auto;
  overflow-y:hidden;
  margin:0;
  padding:0 0 12px;
  list-style:none;
  scroll-snap-type:x mandatory;
  overscroll-behavior-x:contain;
  scrollbar-width:thin;
  scrollbar-color:#a38d79 transparent;
  -webkit-overflow-scrolling:touch;
}
.testimonial-video-track:focus-visible{
  outline:2px solid #a38d79;
  outline-offset:5px;
  border-radius:var(--radius,18px);
}
.testimonial-video-card{
  flex:0 0 calc((100% - var(--testimonial-gap) * (var(--testimonial-columns) - 1)) / var(--testimonial-columns));
  min-width:0;
  scroll-snap-align:start;
}
.testimonial-video-card figure{margin:0}
.testimonial-video-poster{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:9/16;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid #b8a592;
  border-radius:var(--radius,18px);
  background:#171715;
  color:#f7f0e7;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:#d6bda13d;
}
.testimonial-video-poster img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
}
.testimonial-video-play{
  position:absolute;
  bottom:24px;
  left:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:48px;
  padding:10px 18px;
  transform:translateX(-50%);
  border:1px solid #d6bda1;
  border-radius:999px;
  background:#171715eb;
  color:#fff8ef;
  font:400 15px/1.4 var(--text,sans-serif);
  transition:background-color .2s,color .2s;
}
.testimonial-video-play svg{width:19px;height:19px;flex-shrink:0}
.testimonial-video-poster:hover .testimonial-video-play{
  background:#f7f0e7;
  color:#171715;
}
.testimonial-video-poster:focus-visible{
  outline:3px solid #f7f0e7;
  outline-offset:-7px;
}
.testimonial-video-card figcaption{
  margin:13px 2px 0;
  color:var(--ink,#171715);
  font:400 18px/1.5 var(--text,sans-serif);
  overflow-wrap:anywhere;
}
.testimonial-video-controls{
  display:grid;
  grid-template-columns:44px minmax(0,1fr) 44px;
  align-items:center;
  gap:7px 16px;
  max-width:360px;
  margin:22px auto 0;
}
.testimonial-video-previous,
.testimonial-video-next,
.testimonial-video-dot,
.testimonial-video-close{
  display:grid;
  place-items:center;
  min-width:44px;
  min-height:44px;
  margin:0;
  padding:10px;
  border:1px solid #8d7967;
  border-radius:50%;
  background:transparent;
  color:#2c2722;
  cursor:pointer;
  touch-action:manipulation;
  -webkit-tap-highlight-color:#d6bda13d;
  transition:background-color .2s,color .2s;
}
.testimonial-video-previous svg,
.testimonial-video-next svg,
.testimonial-video-close svg{width:22px;height:22px}
.testimonial-video-previous:hover:not(:disabled),
.testimonial-video-next:hover:not(:disabled){background:#d8c5b5}
.testimonial-video-previous:disabled,
.testimonial-video-next:disabled{opacity:.35;cursor:default}
.testimonial-video-count{
  margin:0;
  color:var(--ink,#171715);
  font:400 16px/1.5 var(--text,sans-serif);
  font-variant-numeric:tabular-nums;
  text-align:center;
}
.testimonial-video-dots{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:2px;
  min-width:0;
}
.testimonial-video-dot{border-color:transparent}
.testimonial-video-dot::before{
  content:'';
  width:7px;
  height:7px;
  border:1px solid #756150;
  border-radius:50%;
  background:transparent;
  transition:background-color .2s;
}
.testimonial-video-dot[aria-current=true]::before,
.testimonial-video-dot:hover::before{background:#756150}
.testimonial-video-previous:focus-visible,
.testimonial-video-next:focus-visible,
.testimonial-video-dot:focus-visible,
.testimonial-video-close:focus-visible{
  outline:2px solid #a38d79;
  outline-offset:3px;
}
body.testimonial-video-open{overflow:hidden}
.testimonial-video-dialog{
  box-sizing:border-box;
  width:min(92vw,480px);
  max-width:calc(100% - 24px);
  max-height:calc(100dvh - 32px);
  padding:20px;
  overflow:auto;
  overscroll-behavior:contain;
  border:1px solid #a38d79;
  border-radius:20px;
  background:#171715;
  color:#f7f0e7;
  color-scheme:dark;
}
.testimonial-video-dialog::backdrop{background:#000c}
.testimonial-video-dialog-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom:16px;
}
.testimonial-video-dialog-header h2{
  min-width:0;
  margin:0;
  color:inherit;
  font:400 24px/1.3 var(--display,serif);
  letter-spacing:normal;
  text-wrap:balance;
  overflow-wrap:anywhere;
}
.testimonial-video-close{flex-shrink:0;color:#f7f0e7;border-color:#b8a592}
.testimonial-video-close:hover{background:#f7f0e7;color:#171715}
.testimonial-video-dialog video{
  display:block;
  width:100%;
  max-height:max(120px,calc(100dvh - 150px));
  aspect-ratio:9/16;
  border-radius:12px;
  background:#000;
  object-fit:contain;
}
.testimonial-video-error{
  margin:16px 0 0;
  color:#f7f0e7;
  font:400 16px/1.6 var(--text,sans-serif);
}
.testimonial-video-error a{color:inherit;text-decoration:underline;text-underline-offset:4px}
.testimonial-video-error a:focus-visible{outline:2px solid #d6bda1;outline-offset:3px}
@media(max-width:980px){
  .testimonial-video-gallery{--testimonial-columns:2}
}
@media(max-width:720px){
  .testimonial-video-gallery{--testimonial-columns:1;--testimonial-gap:16px}
  .testimonial-video-play{bottom:20px}
  .testimonial-video-dialog{padding:16px}
  .testimonial-video-dialog-header h2{font-size:22px}
}
@media(prefers-reduced-motion:reduce){
  .testimonial-video-play,
  .testimonial-video-previous,
  .testimonial-video-next,
  .testimonial-video-dot,
  .testimonial-video-close,
  .testimonial-video-dot::before{transition:none}
}
