/* Positionnement du conteneur du carrousel */
#kc-visual-carousel-container {
    position: fixed;
    top: 0;
    left: 0;
    width: 50vw;
    /* Prend la moitié de l'écran */
    height: 100vh;
    overflow: hidden;
    /* Masque les images qui dépassent */
    z-index: 1;
}

/* Positionnement du contenu de la mire de connexion */
.login-pf-page {
    position: relative;
    z-index: 2;
    margin-left: 50vw;
    /* Pousse le formulaire à droite */
    width: 50vw;
}

/* Style des images du carrousel */
.kc-carousel-slide {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* Assure que l'image couvre le conteneur sans distorsion */
    opacity: 0;
    transition: opacity 1s ease-in-out;
    /* Transition pour un fondu enchaîné */
    position: absolute;
    /* Positionne les images au même endroit */
    top: 0;
    left: 0;
}

.kc-carousel-slide.active {
    opacity: 1;
    /* Affiche l'image active */
}

/* --- RÈGLES SPÉCIFIQUES POUR MOBILE (Écrans inférieurs à 992px) --- */
@media (max-width: 992px) {

    #kc-visual-carousel-container {
        display: block !important;
        position: relative;
        width: 100%;
        margin: 0 auto;

        /* RETRAIT DE LA HAUTEUR FIXE (height: 200px) */
        height: 0;
        /* Important: Supprime la hauteur fixe */

        /* TECHNIQUE DU PADDING HACK pour définir le ratio (Ex: 16:9) */
        /* 56.25% = 9 / 16 (ratio 16:9) */
        /* 100% = 1080 / 1080 (ratio 1:1) */
        padding-bottom: 100%;
        /* Ajustez ce pourcentage pour le ratio de vos images */

        overflow: hidden;
    }

    /* 2. Positionnement des Images */
    .kc-carousel-slide {
        /* Positionner les images absolument par rapport au conteneur padding-hacké */
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        /* L'image prend la hauteur définie par le padding */

        /* IMPORTANT : Assurer que l'image s'ajuste SANS rogner */
        object-fit: contain;
        /* Utiliser 'contain' pour s'assurer que l'image complète est visible */
    }

    /* Réalignement du Contenu Principal (Formulaire) */
    .login-pf-page {
        margin-left: auto;
        width: 100%;
        padding-top: 0 !important;
    }
}






/* Positionnement du conteneur de pagination */
#kc-carousel-pagination {
    position: absolute;
    bottom: 20px;
    /* 20px du bas du panneau carrousel */
    width: 100%;
    text-align: center;
    /* Centre les pastilles horizontalement */
    z-index: 5;
    /* Assure que les pastilles sont au-dessus de l'image */
}

/* Style de base des pastilles */
.kc-pagination-dot {
    display: inline-block;
    width: 16px;
    height: 16px;
    margin: 0 3px;
    padding: 0;
    border: none;
    border-radius: 50%;
    cursor: pointer;
    background-color: #bbbbbb;
    /* GRIS (Inactif) */
    transition: background-color 0.3s ease;
}

/* Style de la pastille ACTIVE */
.kc-pagination-dot.active {
    background-color: #ED754D;
    /* ORANGE (Actif) */
}

/* --- RÈGLES SPÉCIFIQUES POUR MOBILE (Écrans inférieurs à 992px) --- */
@media (max-width: 992px) {

    /* 1. Affichage et positionnement du carrousel (qui contient la pagination) */
    #kc-visual-carousel-container {
        display: block !important;
        position: relative;
        /* Position relative pour le flux document */
        width: 100%;
        margin: 0 auto;
        height: 0;
        padding-bottom: 100%;
        /* Ratio 1:1 pour les images carrées */
        overflow: hidden;
    }

    /* 2. Affichage et positionnement de la pagination */
    #kc-carousel-pagination {
        display: block !important;
        /* S'assurer qu'il est bien visible */
        position: absolute;
        /* Doit rester absolu par rapport au conteneur principal (#kc-visual-carousel-container) */
        width: 100%;
        text-align: center;
        z-index: 5;
    }

    /* 3. Réalignement du Contenu Principal (Formulaire) */
    .login-pf-page {
        margin-left: auto;
        width: 100%;
        padding-top: 0 !important;
    }
}






/* CTA */
/* Positionnement du conteneur du bouton */
#kc-carousel-action-container {
    position: absolute;
    bottom: 65px;
    /* Positionné au-dessus des pastilles (bottom: 20px) */
    width: 100%;
    text-align: center;
    /* Centre le bouton */
    z-index: 10;
}

/* Style du bouton d'action */
#kc-carousel-action-button {
    /* Style hérité de pf-m-primary, mais on le rend visible/invisible via JS */
    display: inline-block;

    /* Assurer que le style est correct */
    padding: 10px 30px;
    font-size: 16px;
    text-decoration: none;
    font-weight: bold;
    border-radius: 10px;

    /* Animation pour le rendre plus agréable */
    opacity: 0;
    transition: background-color 0.3s ease, opacity 0.5s ease;
}

/* Classe pour rendre le bouton visible */
#kc-carousel-action-button.visible {
    opacity: 1;
}

/* 1. CLASSE ORANGE (Couleur par défaut / Action) */
.action-orange {
    background-color: #ED754D;
    /* Votre orange (utilisé pour les pastilles actives) */
    color: white !important;
}

.action-orange:hover,
.action-orange:focus {
    background-color: #D66A45;
    /* Orange légèrement plus foncé au survol */
}

/* 2. CLASSE BLEUE (Couleur alternative / Primaire PatternFly) */
.action-blue {
    background-color: #313B82;
    /* Un bleu Keycloak/PatternFly typique */
    color: white !important;
}

.action-blue:hover,
.action-blue:focus {
    background-color: #263169;
    /* Bleu légèrement plus foncé au survol */
}


/* Règle mobile : positionnement */
@media (max-width: 992px) {
    #kc-carousel-action-container {
        /* Positionner légèrement plus bas sur mobile car le carrousel est plus petit */
        bottom: 60px;
    }
}