/* --- Conteneur Principal --- */
.ba-slider-container {
    position: relative;
    width: 100%;
    overflow: hidden;
    margin: 0 auto 20px;
    line-height: 0;
    border-radius: 8px;
}

/* Alignement du conteneur dans la page */
.ba-slider-container[data-align="left"] {
    margin-left: 0;
    margin-right: auto;
}

.ba-slider-container[data-align="center"] {
    margin-left: auto;
    margin-right: auto;
}

.ba-slider-container[data-align="right"] {
    margin-left: auto;
    margin-right: 0;
}

/* Zone d'installation dans l'éditeur */
.ba-editor-setup {
    padding: 20px;
    border: 2px dashed #ccc;
    text-align: center;
    background: #f9f9f9;
    border-radius: 8px;
}

/* --- Images --- */
.ba-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    border-radius: inherit;
    border: 2px solid transparent; /* Bordure par défaut (transparente) */
    box-shadow: 0 0 0 rgba(0, 0, 0, 0); /* Ombre par défaut (aucune) */
    background-color: transparent; /* Fond par défaut (transparent) */
}

.ba-image-after {
    position: relative;
}

.ba-image-before {
    z-index: 2;
}

.ba-image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    border-radius: inherit;
}

/* --- Bordures des images --- */
/* Exemples de classes pour les bordures (appliquées via JS) */
.image-border-solid {
    border-style: solid !important;
}

.image-border-dashed {
    border-style: dashed !important;
}

.image-border-dotted {
    border-style: dotted !important;
}

/* --- Ombres des images --- */
/* Exemples de classes pour les ombres (appliquées via JS) */
.image-shadow-light {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1) !important;
}

.image-shadow-medium {
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.2) !important;
}

.image-shadow-strong {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.3) !important;
}

/* --- Étiquettes (Labels) --- */
.ba-label {
    position: absolute;
    padding: 6px 16px;
    font-family: sans-serif;
    font-size: 14px;
    font-weight: 600;
    letter-spacing: 0.5px;
    z-index: 5;
    pointer-events: auto;
    transition: all 0.3s ease;
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.65);
    border-radius: 4px;
}

/* Positionnement des labels */
.ba-label-before {
    left: 20px;
    top: 20px;
}

.ba-label-after {
    right: 20px;
    top: 20px;
}

/* Positionnement vertical personnalisé */
.ba-label[data-position="middle"] {
    top: 50%;
    transform: translateY(-50%);
}

.ba-label[data-position="bottom"] {
    top: auto;
    bottom: 20px;
}

/* Alignement horizontal personnalisé */
.ba-label[data-alignment="center"] {
    left: 50%;
    transform: translateX(-50%);
}

.ba-label[data-alignment="center"][data-position="middle"] {
    transform: translate(-50%, -50%);
}

.ba-label[data-alignment="right"] {
    left: auto;
    right: 20px;
}

/* --- Curseur Central (Barre et flèches) --- */
.ba-slider-handle {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 4px;
    background: #ffffff;
    z-index: 10;
    transform: translateX(-50%);
    pointer-events: none;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
}

.ba-slider-arrows {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 40px;
    height: 40px;
    background: #ffffff;
    border-radius: 50%;
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Flèches du curseur */
.ba-slider-arrows::before,
.ba-slider-arrows::after {
    content: '';
    border: 6px solid transparent;
    position: absolute;
}

.ba-slider-arrows::before {
    border-right-color: #333333;
    left: 8px;
}

.ba-slider-arrows::after {
    border-left-color: #333333;
    right: 8px;
}

/* --- Input Invisible de contrôle --- */
.ba-slider-input {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 20;
    cursor: ew-resize;
    margin: 0;
}

