.vt-carousel-wrapper { 
    position: relative; 
    overflow: visible; 
    width: 100%; 
    padding: 0; /* removed side padding as requested */
}

.vt-testimonials-grid { 
    display: flex; 
    gap: 24px; 
    overflow-x: auto; 
    scroll-behavior: smooth; 
    padding: 1rem; 
    background: transparent;
}
.vt-testimonials-grid::-webkit-scrollbar {
     display: none;
}
 .vt-testimonials-grid {
     -ms-overflow-style: none;
     scrollbar-width: none;
}
/* larger cards + taller video area */
.vt-testimonial-card {
     flex: 0 0 auto;
     width: 420px;        /* increased width */
     scroll-snap-align: start;
     /* keep or remove visual effects as needed */
     backdrop-filter: blur(4px);
     transition: transform 0.3s ease;
     cursor: default;     /* optional: remove pointer if not clickable */
}
 .vt-testimonial-card:hover {
     transform: none; /* prevent size change that can reflow scroll position */
}
 .vt-thumb-wrapper {
    position: relative;
    width: 100%;
    /* use a natural 16:9 aspect ratio so media isn't cropped */
    aspect-ratio: 16 / 9;
    height: auto;
    max-height: 520px;   /* increased media area height */
    overflow: hidden;
    border-radius: 8px 8px 0 0;
}
.vt-inline-player {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 10;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}
/* ensure iframe / video fill the taller area */
.vt-video-wrapper,
.vt-inline-player,
.vt-video-container,
.vt-video-container iframe,
.vt-video-container video,
.vt-video-wrapper iframe,
.vt-video-wrapper video,
.vt-inline-player iframe,
.vt-inline-player video {
    width: 100%;
    height: 100%;
    display: block;
    /* preserve whole frame (no cropping) */
    object-fit: contain;
    border: none;
    background: #000; /* black letterbox if aspect differs */
}
/* Optionally hide overlay when inline player inserted (script sets inline style) */
 .vt-video-thumb {
     width: 100%;
     height: auto;
     display: block;
     object-fit: cover;
     border-radius: 8px 8px 0 0;
}
 .vt-overlay {
     position: absolute;
     inset: 0;
     background: rgba(0, 0, 0, 0.4);
     color: #fff;
     opacity: 0;
     display: flex;
     flex-direction: column;
     justify-content: center;
     align-items: center;
     transition: opacity 0.3s ease;
     border-radius: 8px 8px 0 0;
}
 .vt-testimonial-card:hover .vt-overlay {
     opacity: 1;
}
 .vt-overlay-text h3 {
     font-size: 1.1rem;
     text-align: center;
     margin: 0;
}
.vt-play-button {
     margin-top: 10px;
}
 .vt-card-footer {
     display: flex;
     justify-content: space-between;
     font-size: 0.85rem;
     padding: 10px 14px;
     background: transparent;
     color: #333;
}
.vt-description {
     padding: 0 14px 16px;
     font-size: 0.9rem;
     color: #444;
     background: transparent;
}
.vt-carousel-arrow { 
    position: absolute; 
    top: 50%; 
    transform: translateY(-50%); 
    background: rgba(0, 0, 0, 0.6); /* More visible */
    color: #fff; 
    border: none; 
    font-size: 2rem; 
    padding: 0.5rem 0.8rem; 
    cursor: pointer; 
    z-index: 20; /* Higher z-index */
    border-radius: 50%; /* Make circular for better visibility */
    transition: all 0.3s ease;
    width: 50px;
    height: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.3);
}
 .vt-carousel-arrow:hover { 
    background: rgba(0, 0, 0, 0.8);
    transform: translateY(-50%) scale(1.1);
}
 .vt-arrow-prev { 
    left: 10px; 
}

.vt-arrow-next { 
    right: 10px; 
}
.vt-modal {
     display: none;
     position: fixed;
     z-index: 9999;
     top: 0;
     left: 0;
     width: 100vw;
     height: 100vh;
     background: rgba(0, 0, 0, 0.7);
     justify-content: center;
     align-items: center;
}
 .vt-modal.vt-modal-open {
     display: flex;
}
 .vt-modal-content {
     position: relative;
     max-width: 800px;
     width: 90%;
     background: transparent;
     border: none;
     padding: 0;
}
 .vt-modal-close {
     position: absolute;
     top: 0px;
     right: 0;
	 z-index:1000;
     font-size: 2rem;
     color: white;
     border: none;
     cursor: pointer;
}

 .vt-video-container iframe, .vt-video-container video {
     width: 100%;
     height: 450px;
     border: none;
     border-radius: 8px;
}
 @media (max-width: 768px) {
     .vt-testimonial-card {
         width: 340px;      /* slightly larger on mobile */
         min-height: auto;
    }
    .vt-thumb-wrapper {
        height: 220px;     /* mobile height */
    }
    .vt-video-container iframe, .vt-video-container video {
        height: 220px;
    }
}
