/* Swiper Container & Navigation - Estructural para Carrusel Principal */
.ccl-swiper-hero {
    width: 100%;
    height: var(--ccl-hero-height);
    min-height: var(--ccl-hero-min-height);
    overflow: hidden;
    position: relative;
}

/* FIX: Override Astra's aggressive alignfull for Carousel slides */
.ccl-swiper-hero .swiper-slide.alignfull,
.ccl-swiper-hero .swiper-wrapper .alignfull {
    margin-left: 0 !important;
    margin-right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

/* Allow inner content to respect theme content width */
.ccl-swiper-hero .wp-block-group__inner-container,
.ccl-swiper-hero .is-layout-constrained > :not(.alignleft):not(.alignright):not(.alignfull) {
    max-width: var(--ccl-content-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Flechas de Navegación */
.ccl-swiper-hero .swiper-button-next,
.ccl-swiper-hero .swiper-button-prev {
    color: var(--color-white) !important;
    background-color: rgba(0, 0, 0, 0.4) !important; /* Fondo negro sutil */
    width: 50px !important;
    height: 50px !important;
    border-radius: 50% !important;
    transition: var(--ccl-transition) !important;
    z-index: 10;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1) !important;
}

/* Ajuste de tamaño de icono interno */
.ccl-swiper-hero .swiper-button-next::after,
.ccl-swiper-hero .swiper-button-prev::after {
    font-size: 18px !important;
    font-weight: 400 !important; /* Menos pesado para ser más elegante */
}

.ccl-swiper-hero .swiper-button-next:hover,
.ccl-swiper-hero .swiper-button-prev:hover {
    background-color: rgba(0, 0, 0, 0.7) !important; /* Se oscurece en hover sin perder transparencia */
    color: var(--color-white) !important;
}

/* Indicadores de Paginación */
.ccl-swiper-hero .swiper-pagination {
    bottom: 30px !important;
    left: 0 !important;
    width: 100% !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 5px;
    z-index: 10;
}

.ccl-swiper-hero .swiper-pagination-bullet {
    background: var(--color-white) !important;
    opacity: 0.5 !important;
    width: 10px !important;
    height: 10px !important;
    margin: 0 4px !important;
    border: 1px solid rgba(0,0,0,0.2);
    transition: all 0.3s ease;
}

.ccl-swiper-hero .swiper-pagination-bullet-active {
    background: var(--color-white) !important; /* Mantenemos blanco para consistencia sutil */
    opacity: 1 !important;
    width: 25px !important;
    border-radius: 10px !important;
}

@media (max-width: 781px) {
    .ccl-swiper-hero .swiper-pagination {
        bottom: 20px !important;
    }
    
    .ccl-swiper-hero .swiper-button-next,
    .ccl-swiper-hero .swiper-button-prev {
        display: none !important; /* Ocultamos flechas en mobile para limpiar la vista, se usa swipe táctil */
    }
}

/* Estilos específicos para el EDITOR (Gutenberg) */
.editor-styles-wrapper .ccl-swiper-hero {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 20px 0;
}

.editor-styles-wrapper .ccl-swiper-hero .swiper-wrapper {
    display: flex !important;
    flex-direction: column !important;
    gap: 40px !important;
    height: auto !important;
}

.editor-styles-wrapper .ccl-swiper-hero .swiper-slide {
    opacity: 1 !important;
    visibility: visible !important;
    position: relative !important;
    transform: none !important; /* Desactiva efectos de fade/transform del editor */
    border: 2px dashed #ddd; /* Ayuda visual para identificar cada slide */
    border-radius: 8px;
    overflow: hidden;
}

.editor-styles-wrapper .ccl-swiper-hero .swiper-button-next,
.editor-styles-wrapper .ccl-swiper-hero .swiper-button-prev,
.editor-styles-wrapper .ccl-swiper-hero .swiper-pagination {
    display: none !important;
}
