.testimonios {
    background: linear-gradient(-45deg, #1D1E22 50%, #303338);
    padding: 150px 0;
}
.testimonios h2 {
    text-align: center;
    margin: 0 auto 100px auto;
    color: #9a9a9a;
    font-weight: 600;
}
.carousel-testimonios {
    position: relative;
    width: 100%;
    max-width: 1300px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}
.carousel-viewport {
    display: flex;
    align-items: center;
    width: 100%;
    height: 650px;
    overflow: hidden;
    -webkit-mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
    mask-image: linear-gradient(to right, transparent, black 15%, black 85%, transparent);
}
.carousel-track {
    display: flex;
    gap: 60px;
    transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}
.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.3);
    color: #fff;
    border-radius: 50%;
    width: 50px;
    height: 50px;
    font-size: 24px;
    cursor: pointer;
    z-index: 10;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}
.carousel-btn:hover {
    background-color: rgba(25, 165, 83, 0.85);
    border-color: #fff;
}
.carousel-btn.prev { left: -70px; }
.carousel-btn.next { right: -70px; }
.carousel-btn:disabled {
    opacity: 0.3;
    cursor: not-allowed;
}
.video-contenedor {
    flex: 0 0 300px;
    height: 533px;
    aspect-ratio: 9 / 16;
    border-radius: 34px;
    box-shadow: 10px 10px 20px rgba(10, 10, 10, 1), -10px -10px 20px rgba(60, 60, 70, 1);
    padding: 10px;
    box-sizing: border-box;
    transition: transform 0.3s ease;
}
.video-item {
    position: relative;
    width: 100%;
    height: 100%;
    border-radius: 24px;
    overflow: hidden;
    cursor: pointer;
    background-color: #111;
}
.video-item img, .video-item video {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.video-item img {
    transition: transform 0.4s ease, opacity 0.4s ease;
}
.video-item:hover img {
    transform: scale(1.03);
    opacity: 0.8;
}
.btn-play-video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 65px;
    height: 65px;
    background-color: rgba(0, 0, 0, 0.4);
    border: 2px solid rgba(255, 255, 255, 0.7);
    border-radius: 50%;
    cursor: pointer;
    transition: all 0.3s ease;
    display: flex;
    justify-content: center;
    align-items: center;
}
.btn-play-video::after {
    content: ''; display: block; width: 0; height: 0;
    border-top: 12px solid transparent;
    border-bottom: 12px solid transparent;
    border-left: 19px solid #e4e4e4;
    margin-left: 4px;
}
.video-item:hover .btn-play-video {
    background-color: rgba(25, 165, 83, 0.85);
    border-color: #e4e4e4;
    transform: translate(-50%, -50%) scale(1.15);
}
.video-item video { display: none; }
.video-item.video-playing video { display: block; }
.video-item.video-playing img, .video-item.video-playing .btn-play-video { display: none; }

@media (max-width: 1200px) {
    .carousel-testimonios { max-width: 100%; }
}
@media (max-width: 820px) {
    .testimonios { padding: 100px 0; }
    .testimonios h2 { margin-bottom: 60px; font-size: 1.5rem; padding: 0 20px; }
    .carousel-testimonios { max-width: 100%; width: 100%; }
    .carousel-track { gap: 30px; }
    .video-contenedor { flex-basis: 280px; height: 497px; }
    .carousel-btn { width: 45px; height: 45px; background-color: rgba(0, 0, 0, 0.3); }
    .carousel-btn.prev { left: 10px; }
    .carousel-btn.next { right: 10px; }
}
@media (max-width: 480px) {
    .testimonios { padding: 80px 0; }
    .carousel-testimonios { max-width: 100%; }
    .video-contenedor { flex-basis: 250px; height: 444px; padding: 8px; }
    .video-item { border-radius: 20px; }
    .carousel-btn { width: 40px; height: 40px; font-size: 20px; }
    .btn-play-video { width: 55px; height: 55px; }
    .btn-play-video::after { border-top-width: 10px; border-bottom-width: 10px; border-left-width: 16px; }
}