/* caroussel */
    .caroussel_container{
        width: 100%; height: calc(100dvh - 35px);
        background-color: var(--red);
        position: relative;
    }

    .caroussel_container .image{
        width: 100%;
        height: 100%;
        display: none;
        position: absolute;
    }

    .caroussel_container .image:before{
        content: '';
        position: absolute;
        top: 0; left: 0;
        width: 100%; height: 100%;
        background: #00000050;
        z-index: 1;
    }

    .caroussel_container .image.active {
        display: block;
    }

    .caroussel_container .image img{
        object-fit: cover;
        overflow: hidden;
    }

    .caroussel_container .button{
        position: absolute;
        top: 50%; left: 50%;
        transform: translate(-50%,-50%);
        width: 99%;
        display: flex;
        justify-content: space-between;
        z-index: 12;
    }

    .caroussel_container .button div{
        width: 35px;
        height: 35px;
        border-radius: 50%;
        text-align: center;
        line-height: 35px;
        vertical-align: middle;
        align-items: center;
        cursor: pointer;
        color: var(--white);
        background: var(--red);
        user-select: none;
    }

    .caroussel_container .button div:hover{
        background: var(--yellow);
    }

    .dots{
        position: absolute;
        bottom: 0px;
        left: 50%;
        transform: translateX(-50%);
        padding: 5px;
    }

    .dot{
        cursor: pointer;
        padding: 5px;
        border-radius: 50%;
        background: var(--light-gray);
        display: inline-block;
        margin: 0 2px;
    }

    .caroussel_container .active, .dot:hover{
        background: var(--yellow);
    }

    .content_caroussel{
        position: relative;
        width: 100%;
        height: 100%;
    }

    .caroussel_annonce{
        width: 50%;
        display: flex;
        flex-direction: column;
        gap: 10px;
        position: absolute;
        margin: 0 100px;
        z-index: 12;
        /*background: red;*/
    }

    .caroussel_annonce h1{
        font-family: 'ARRESS';
        font-size: 80px;
        color: var(--yellow);
    }

    .caroussel_annonce span{
        font-family: 'ARRESS';
        font-size: 35px;
        color: var(--white);
    }

    .caroussel_annonce p{
        position: relative;
        max-height: 80px;
        font-size: 18px;
        /*margin-top: 24px;*/
        /*margin-bottom: 18px;*/
        overflow-y: auto;
        padding-right: 5px;
        color: var(--white);
        z-index: 100;
    }

    /* design bottom */
        .design_bottom{
            position: absolute;
            width: 100%;
            left: 0; bottom: -6px;
            z-index: 10;
            /*background: green;*/
            img{
                width: 100%; height: 100%;
                object-fit: cover;
            }
        }
    /* design bottom */
    
    /* skeletons */
        .hero-skeleton {
            position: relative;
            top: 50%;
            transform: translateY(-50%);
            width: 100%;
            background: var(--red);
            display: flex;
            align-items: center;
            padding: 0 6%;
            overflow: hidden;
            opacity: .6;
        }
        .hero-skeleton::after {
            content: "";
            position: absolute;
            inset: 0;
            transform: translateX(-100%);
            background: linear-gradient(90deg, transparent, rgba(164, 0, 0,.5), transparent);
            animation: sk-shimmer 1.4s infinite;
        }
        .sk-annonce { width: min(520px, 90%); display: flex; flex-direction: column; gap: 14px; }
        .sk        { background: #dad4cd; border-radius: 6px; }
        .sk-title  { height: 48px; width: 70%; }
        .sk-subtitle { height: 20px; width: 45%; }
        .sk-line   { height: 14px; width: 100%; }
        .sk-short  { width: 75%; }
        .sk-btns   { display: flex; gap: 12px; margin-top: 10px; }
        .sk-btn    { height: 44px; width: 160px; border-radius: 30px; }
        
        @keyframes sk-shimmer { to { transform: translateX(100%); } }
        @media (prefers-reduced-motion: reduce) { .hero-skeleton::after { animation: none; } }
        
        .caroussel_container.is-loading .button,
        .caroussel_container.is-loading .dots { visibility: hidden; }
        .caroussel_container.single-slide .button,
        .caroussel_container.single-slide .dots { display: none; }
    /* skeletons */
/* caroussel */

/* caroussel */
    @media screen and (max-width: 1100px) {
        .caroussel_container{
            height: auto;
            aspect-ratio: 16/9;
        }
        
    }
    
    /*@media screen and (max-width: 450px){*/
    /*    .caroussel_annonce .flexBtn{*/
    /*        flex-direction: column;*/
    /*        gap: 8px;*/
    /*    }*/
 
    /*    .caroussel_annonce .flexBtn .btn{*/
    /*        width: 100%;*/
    /*    }*/
    /*}*/

    /* texte */
        @media screen and (max-width: 1000px) {
            .caroussel_annonce{
                width: 60%;
            }

            .caroussel_annonce h1{
                font-size: 70px;
            }

            .caroussel_annonce span{
                font-size: 25px;
            }
        }
        
        @media screen and (max-width: 800px) {
            .caroussel_annonce{
                width: 70%;
                margin: 0 70px;
            }

            .caroussel_annonce h1{
                font-size: 60px;
            }

            .caroussel_annonce span{
                font-size: 25px;
            }

            .caroussel_annonce p{
                font-size: 16px;
                /*margin: 12px 0;*/
            }
        }
        
        @media screen and (max-width: 700px) {
            .caroussel_annonce{
                width: 85%;
                margin: 0 50px;
            }

            .caroussel_annonce h1{
                font-size: 50px;
            }

            /*.caroussel_annonce span{*/
            /*    font-size: 20px;*/
            /*}*/

            .caroussel_annonce p{
                font-size: 15px;
                /*margin: 8px 0;*/
            }
        }

        @media screen and (max-width: 600px) {
            .caroussel_container{
                height: 70dvh;
            }
            
            .caroussel_annonce{
                width: 100%;
                margin: 0;
                padding: 0 20px;
                align-items: center;
            }

            .caroussel_annonce h1{
                font-size: 50px;
                /*margin-bottom: -8px;*/
                text-align: center;
            }

            .caroussel_annonce span{
                text-align: center;
                width: 100%;
            }

            .caroussel_annonce p{
                /*font-size: 14px;*/
                text-align: center;
            }
        }

        @media screen and (max-width: 550px) {
            .caroussel_annonce{
                gap: 8px;
            }
            
            .caroussel_annonce h1{
                font-size: 45px;
                line-height: 45px;
            }
            
            .caroussel_annonce span{
                font-size: 22px;
            }
        }
    /* texte */

    /* button / dot */
        @media screen and (max-width: 650px) {
            .caroussel_container .button{
                width: max-content;
                gap: 8px;
                top: 80%; left: 85%;
                transform: translate(0,0);
            }

            .caroussel_container .button div{
                width: 27px;
                height: 27px;
                line-height: 27px;
                font-size: 15px;
            }
        }

        @media screen and (max-width: 600px) {
            .caroussel_container .button{
                left: 50%;
                transform: translateX(-50%);
            }
        }
    /* button / dot */
/* caroussel */