/* components/carousel.css */

/* --- Estilo Base para Flechas --- */
.slider-controls .arrow,
.clients-carousel-container > .arrow,
.synced-carousel-container .arrow {
    background: rgba(30, 30, 30, 0.6);
    color: var(--color-light);
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 1.1em;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background-color 0.3s ease, opacity 0.3s ease, transform 0.2s ease;
    z-index: 10;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);
    position: absolute; /* Clave para el posicionamiento */
}

.slider-controls .arrow:hover,
.clients-carousel-container > .arrow:hover,
.synced-carousel-container .arrow:hover {
    background: rgba(0, 0, 0, 0.8);
    transform: scale(1.1) translateY(-50%); /* Ajustar transform para mantener centrado vertical */
}

.slider-controls .arrow:disabled {
    opacity: 0.3;
    cursor: not-allowed;
    transform: scale(1) translateY(-50%);
    background: rgba(30, 30, 30, 0.4);
}

/* --- Posicionamiento Específico por Sección --- */
.portfolio-carousel-container .arrow,
.testimonial-carousel-container .arrow {
    top: 50%;
    transform: translateY(-50%);
}
.portfolio-carousel-container .arrow.prev { left: 5px; }
.portfolio-carousel-container .arrow.next { right: 5px; }

.testimonial-carousel-container .arrow.prev { left: 5px; }
.testimonial-carousel-container .arrow.next { right: 5px; }


/* --- Puntos del Carrusel (sin cambios) --- */
.slider-controls {
    text-align: center;
    margin-top: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.slider-dots {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.slider-dots span {
    height: 10px;
    width: 10px;
    border-radius: 50%;
    display: inline-block;
    cursor: pointer;
    transition: background-color 0.3s ease, transform 0.3s ease, border-color 0.3s ease, border-width 0.1s ease;
    border-style: solid;
    border-width: 1px;
}

.slider-dots span.active {
    transform: scale(1.2);
}

/* Media Queries */
@media (max-width: 767px) {
    .slider-controls { margin-top: 15px; }
    .slider-controls .arrow, .clients-carousel-container > .arrow { width: 32px; height: 32px; font-size: 0.9rem; }
    .slider-dots span { height: 8px; width: 8px; margin: 0 5px; }
}

@media (max-width: 480px) {
    .slider-controls .arrow, .clients-carousel-container > .arrow { width: 30px; height: 30px; font-size: 0.8rem; }
}