body.ce-kit-1{color:#845930;font-family:"Alegreya", sans-serif;font-size:18px;font-style:oblique;line-height:1.4em;background-color:rgba(255, 255, 255, 0);background-image:url("/img/cms/BACKGROUND/main_home_.webp");background-position:center center;background-attachment:fixed;background-repeat:no-repeat;background-size:cover;--ce-widgets-space:20px;}a, .elementor a{color:#B77D47;}a:hover, .elementor a:hover{color:#F0A961;font-family:"Alegreya", sans-serif;}body.ce-kit-1 h1{font-weight:500;}body.ce-kit-1 h2{font-weight:500;}body.ce-kit-1 h3{font-weight:500;font-style:oblique;}body.ce-kit-1 h4{font-weight:500;}body.ce-kit-1 h5{font-weight:500;}body.ce-kit-1 h6{font-weight:500;}body.ce-kit-1 .ce-display-small{font-size:20px;}body.ce-kit-1 .ce-display-medium{font-size:24px;}body.ce-kit-1 .ce-display-large{font-size:30px;}body.ce-kit-1 .ce-display-xl{font-size:40px;}body.ce-kit-1 .ce-display-xxl{font-family:"Alegreya", sans-serif;font-size:180px;font-weight:300;letter-spacing:-5px;}.elementor-button{font-family:"Alegreya", sans-serif;font-weight:400;letter-spacing:1.5px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);--ce-btn-bg-color:#845930;background-color:var(--ce-btn-bg-color);box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-button, a.elementor-button:not(#e){color:#FFFFFF;}.elementor-button:hover, .elementor-button:focus, a.elementor-button:not(#e):hover, a.elementor-button:not(#e):focus{color:#FFFFFF;}.elementor-button:hover, .elementor-button:focus{--ce-btn-bg-color:#F0A961;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.elementor-button.elementor-size-sm{border-radius:10px 10px 10px 10px;}.elementor-button.elementor-size-md{padding:20px 40px 20px 40px;border-radius:10px 10px 10px 10px;}.elementor-button.elementor-size-lg{border-radius:10px 10px 10px 10px;}.elementor-button.elementor-size-xl{border-radius:10px 10px 10px 10px;}.elementor-button.elementor-size-xs{border-radius:10px 10px 10px 10px;}.elementor-button-primary .elementor-button{--ce-btn-bg-color:#B77D47;background-color:var(--ce-btn-bg-color);}.elementor-button-primary .elementor-button:hover, .elementor-button-primary .elementor-button:focus{--ce-btn-bg-color:#F0A961;}.elementor-button-secondary .elementor-button:hover, .elementor-button-secondary .elementor-button:focus{--ce-btn-bg-color:#9B9B9B;}.btn:not(.btn-primary, .btn-secondary){font-family:"Alegreya", sans-serif;font-weight:400;letter-spacing:1.5px;text-shadow:0px 0px 10px rgba(0,0,0,0.3);background-color:#845930;padding:12px 24px 12px 24px;border-radius:10px 10px 10px 10px;}.btn:not(.btn-primary, .btn-secondary), a.btn:not(.btn-primary, .btn-secondary){color:#FFFFFF;}.btn:not(.btn-primary, .btn-secondary):hover, .btn:not(.btn-primary, .btn-secondary):hover:active, .btn:not(.btn-primary, .btn-secondary):focus, a.btn:not(.btn-primary, .btn-secondary):hover, a.btn:not(.btn-primary, .btn-secondary):focus{color:#FFFFFF;}.btn:not(.btn-primary, .btn-secondary):hover, .btn:not(.btn-primary, .btn-secondary):hover:active, .btn:not(.btn-primary, .btn-secondary):focus{background-color:#F0A961;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.btn-primary{font-family:"Alegreya", sans-serif;font-weight:400;text-transform:none;letter-spacing:1.5px;background-color:#B77D47;padding:12px 24px 12px 24px;border-radius:10px 10px 10px 10px;}.btn-primary, a.btn-primary{color:#FFFFFF;}.btn-primary:hover, .btn-primary:hover:active, .btn-primary:focus, a.btn-primary:hover, a.btn-primary:focus{color:#FFFFFF;}.btn-primary:hover, .btn-primary:hover:active, .btn-primary:focus{background-color:#F0A961;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}.btn-secondary{font-family:"Alegreya", sans-serif;font-weight:400;text-transform:none;letter-spacing:1.5px;box-shadow:0px 0px 10px 0px rgba(0, 0, 0, 0);border-style:solid;border-width:2px 2px 2px 2px;border-color:#1D1D1F;padding:12px 24px 12px 24px;border-radius:10px 10px 10px 10px;}.btn-secondary:hover, .btn-secondary:hover:active, .btn-secondary:focus, a.btn-secondary:hover, a.btn-secondary:focus{color:#FFFFFF;}.btn-secondary:hover, .btn-secondary:hover:active, .btn-secondary:focus{background-color:#000000;border-style:solid;border-width:2px 2px 2px 2px;border-color:#1D1D1F;}.elementor-view-stacked .elementor-icon{background-color:#845930;color:#9B9B9B;}.elementor-view-framed .elementor-icon, .elementor-view-default .elementor-icon{color:#845930;}.elementor-view-framed .elementor-icon{background-color:#9B9B9B;}.elementor-view-stacked .elementor-icon:hover{background-color:#F0A961;color:rgba(219, 204, 182, 0.9019607843137255);}.elementor-view-framed .elementor-icon:hover, .elementor-view-default .elementor-icon:hover{color:#F0A961;}.elementor-view-framed .elementor-icon:hover{background-color:rgba(219, 204, 182, 0.9019607843137255);}body.ce-kit-1 img, body.ce-kit-1 .elementor-image-carousel .swiper-slide > *{border-radius:0px 0px 0px 0px;}body.ce-kit-1 label{color:rgba(29, 29, 31, 0.56);font-size:15px;}body.ce-kit-1 .form-control, body.ce-kit-1 .elementor-field-textual{line-height:1.6em;background-color:#F0E2D3;border-style:solid;border-width:1px 1px 1px 1px;border-color:#E5E2DE;border-radius:10px 10px 10px 10px;padding:14px 18px 14px 18px;}body.ce-kit-1 .form-control:focus, body.ce-kit-1 .elementor-field-textual:focus{background-color:#E5E2DE;box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);outline-style:solid;}body.ce-kit-1 .form-control:-webkit-autofill, body.ce-kit-1 .elementor-field-textual:-webkit-autofill{box-shadow:0 0 0 500px #F9F6F1 inset;}select.form-control:not([size]):not([multiple]){height:auto;}body.ce-kit-1 #wrapper{background-color:rgba(2, 1, 1, 0);}body.ce-kit-1 #content{background-color:rgba(219, 204, 182, 0);}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1500px;}body.ce-kit-1 .breadcrumb li:not(#e), body.ce-kit-1 .ce-breadcrumb__item{color:rgba(2, 1, 1, 0.68);}body.ce-kit-1 .breadcrumb:not(#e), body.ce-kit-1 .ce-breadcrumb .elementor-row{text-align:center;justify-content:center;}body.ce-kit-1 .page-header, body.ce-kit-1 .page-header *, body.ce-kit-1 .ce-page-title *{text-align:center;}.elementor-lightbox .elementor-lightbox-image{box-shadow:0px 0px 10px 0px rgba(0,0,0,0.5);}@media(max-width:1024px){body.ce-kit-1 .ce-display-large{font-size:28px;}body.ce-kit-1 .ce-display-xl{font-size:30px;}body.ce-kit-1 .ce-display-xxl{font-size:100px;}}@media(max-width:767px){body.ce-kit-1 .ce-display-xxl{font-size:86px;}}/* Start custom CSS for page-settings */#wrapper .breadcrumb {display: none}
#header {background: #00000000;
}



/* Image fixe pour desktop */
@media (min-width: 1025px) and (min-height: 768px) {
    body {
        background-attachment: fixed !important;
        background-size: cover !important;
        background-position: center !important;
    }
}

/* Solution universelle pour mobile et tablette (tous modes) */
@media (max-width: 1024px), (max-height: 768px) {
    body {
        position: relative;
        overflow-x: hidden;
    }
    
    body::before {
        content: '';
        position: fixed !important;
        top: 0;
        left: 0;
        width: 100vw;
        height: 100vh;
        min-height: 100vh;
        background-image: inherit;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat;
        z-index: -1;
        pointer-events: none;
    }
    
    #page {
        position: relative;
        z-index: 1;
    }
}

/* Conteneur principal - Style Rhythms & Roots sans cadre */
.category-intro-rr {
    max-width: 1240px;
    margin: 0 auto 2rem;
   /* padding: 2.5rem 3rem 2rem;*/
    font-family: 'Alegreya', 'Georgia', serif;
    line-height: 1.8;
    color: #2c1810;
    position: relative;
    text-align: center;
    animation: fadeIn 0.8s ease-out;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

/* Paragraphes */
.category-intro-rr p {
    margin: 0 auto;
    font-size: 1.15rem;
    text-align: center;
    width: 100%;
    max-width: 100%;
    color: #2c1810;
}

/* Texte en gras */
.category-intro-rr strong {
    color: #8b6f47;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-bottom: 2px solid rgba(212, 165, 116, 0.4);
    padding-bottom: 1px;
    transition: border-color 0.3s ease;
}

.category-intro-rr strong:hover {
    border-bottom-color: #d4a574;
}

/* Suppression des bullets dans les listes */
.category-intro-rr ul,
.category-intro-rr ol {
    list-style: none;
    padding-left: 0;
    text-align: center;
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.category-intro-rr li {
    text-align: center;
    width: 100%;
}

/* Titre h3 avec ornement */
.category-intro-rr h3 {
    margin: 2rem auto 1.5rem;
    padding: 0 0 0.75rem;
    font-family: 'Alegreya', 'Georgia', serif;
    font-size: 1.5rem;
    font-weight: 600;
    color: #8b6f47;
    text-align: center;
    letter-spacing: 0.5px;
    position: relative;
    width: 100%;
}

/* Ornement sous le h3 */
.category-intro-rr h3::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 120px;
    height: 6px;
    background-image: 
        linear-gradient(90deg, transparent 0%, #d4a574 20%, #d4a574 80%, transparent 100%),
        linear-gradient(90deg, transparent 0%, #8b6f47 20%, #8b6f47 80%, transparent 100%);
    background-size: 100% 2px;
    background-position: 0 0, 0 4px;
    background-repeat: no-repeat;
}

/* Espacement paragraphe après h3 */
.category-intro-rr h3 + p {
    margin-top: 1.5rem;
}

/* Centrage du titre d'accordéon Elementor */
.elementor-tab-title {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* Titre en haut avec héritage des styles */
.elementor-toggle-title {
    order: 1;
    text-align: center !important;
    width: 100%;
    color: inherit;
    font: inherit;
    line-height: inherit;
    letter-spacing: inherit;
}

/* Icône en dessous du titre - Style Rhythms & Roots */
.elementor-toggle-icon {
    order: 2 !important;
    margin: 0.8rem auto 0 !important;
    position: static !important;
    display: block !important;
    text-align: center !important;
}

/* Centrage et style des icônes + et - */
/*.elementor-toggle-icon i {

    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #d4a574 0%, #8b6f47 100%) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: bold !important;
    box-shadow: 0 3px 8px rgba(139, 111, 71, 0.25) !important;
    transition: all 0.3s ease !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
}*/

/* Correction du centrage horizontal de l'icône +/- */
.elementor-toggle-icon {
    order: 2 !important;
    margin: 0.8rem auto 0 !important;
    position: static !important;
    display: flex !important; /* Changé de block à flex */
    justify-content: center !important; /* Ajout pour centrage horizontal */
    text-align: center !important;
    width: 100% !important; /* Ajout pour s'assurer que l'icône prend toute la largeur */
}

/* Centrage et style des icônes + et - */
.elementor-toggle-icon i {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 36px !important;
    height: 36px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, #d4a574 0%, #8b6f47 100%) !important;
    color: #fff !important;
    font-size: 20px !important;
    font-weight: bold !important;
    box-shadow: 0 3px 8px rgba(139, 111, 71, 0.25) !important;
    transition: all 0.3s ease !important;
    border: 2px solid rgba(255, 255, 255, 0.3) !important;
    margin: 0 auto !important; /* Ajout pour forcer le centrage */
}

/* Effet hover sur les icônes */
.elementor-toggle-icon i:hover {
    transform: scale(1.1) !important;
    box-shadow: 0 5px 15px rgba(139, 111, 71, 0.4) !important;
    background: linear-gradient(135deg, #8b6f47 0%, #d4a574 100%) !important;
}

/* Animation de rotation pour l'icône - */
.elementor-tab-title.elementor-active .elementor-toggle-icon i {
    transform: rotate(180deg) !important;
}

/* Masquer l'icône fermée quand l'accordéon est ouvert */
.elementor-tab-title.elementor-active .elementor-toggle-icon-closed {
    display: none !important;
}

/* Masquer l'icône ouverte quand l'accordéon est fermé */
.elementor-tab-title:not(.elementor-active) .elementor-toggle-icon-opened {
    display: none !important;
}

/* Animation douce */
@keyframes fadeIn {
    from {
        opacity: 0;
        transform: translateY(15px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive tablette */
@media (max-width: 992px) {
    .category-intro-rr {
        padding: 2.25rem 2rem 1.75rem;
    }
    
    .category-intro-rr p {
        font-size: 1.1rem;
    }
    
    .category-intro-rr h3 {
        font-size: 1.4rem;
        margin: 1.75rem auto 1.25rem;
    }
    
    .category-intro-rr h3::after {
        width: 110px;
    }
    
    /* Ajustement icônes tablette */
    .elementor-toggle-icon i {
        width: 34px !important;
        height: 34px !important;
        font-size: 19px !important;
    }
}

/* Responsive mobile */
@media (max-width: 768px) {
    .category-intro-rr {
        padding: 2rem 1.5rem 1.5rem;
    }
    
    .category-intro-rr p {
        font-size: 1.05rem;
        line-height: 1.7;
    }
    
    .category-intro-rr h3 {
        font-size: 1.3rem;
        margin: 1.5rem auto 1rem;
        padding-bottom: 0.6rem;
    }
    
    .category-intro-rr h3::after {
        width: 100px;
        height: 5px;
        background-position: 0 0, 0 3px;
    }
    
    .category-intro-rr h3 + p {
        margin-top: 1.25rem;
    }
    
    /* Ajustement icônes mobile */
    .elementor-toggle-icon {
        margin-top: 0.6rem !important;
    }
    
    .elementor-toggle-icon i {
        width: 32px !important;
        height: 32px !important;
        font-size: 18px !important;
    }
}

@media (max-width: 480px) {
    .category-intro-rr {
        padding: 1.75rem 1rem 1.25rem;
    }
    
    .category-intro-rr p {
        font-size: 1rem;
        line-height: 1.65;
    }
    
    .category-intro-rr h3 {
        font-size: 1.2rem;
        margin: 1.25rem auto 0.85rem;
        letter-spacing: 0.3px;
    }
    
    .category-intro-rr h3::after {
        width: 80px;
    }
    
    /* Ajustement icônes petit mobile */
    .elementor-toggle-icon i {
        width: 30px !important;
        height: 30px !important;
        font-size: 17px !important;
    }
}

@media (max-width: 360px) {
    .category-intro-rr {
        padding: 1.5rem 0.75rem 1rem;
    }
    
    .category-intro-rr p {
        font-size: 0.95rem;
    }
    
    .category-intro-rr h3 {
        font-size: 1.1rem;
        margin: 1rem auto 0.75rem;
    }
    
    .category-intro-rr h3::after {
        width: 70px;
        height: 4px;
        background-position: 0 0, 0 2px;
    }
    
    /* Ajustement icônes très petit mobile */
    .elementor-toggle-icon i {
        width: 28px !important;
        height: 28px !important;
        font-size: 16px !important;
    }
}

/* Border radius sur le titre de l'accordéon */
.category-intro-rr .elementor-tab-title {
    border-radius: 15px;
}

/* Border radius sur le contenu de l'accordéon */
.category-intro-rr .elementor-tab-content {
    border-radius: 15px;
}

/* ========================================
   CAROUSEL - Légendes et Navigation
   ======================================== */

.rr-carousel-catego {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
   /* padding: 10px 0;*/
    overflow: hidden;
}

.rr-carousel-catego .elementor-carousel-wrapper {
    padding: 15px 50px;
    position: relative;
    overflow: hidden;
}

/* Container Swiper - Empêche le débordement */
.rr-carousel-catego .swiper-container,
.rr-carousel-catego .swiper {
    overflow: hidden !important;
    width: 100%;
}

/* Wrapper - Alignement vertical des slides */
.rr-carousel-catego .swiper-wrapper {
    align-items: center;
}

/* Slides */
.rr-carousel-catego .swiper-slide {
    padding: 5px;
}

.rr-carousel-catego .swiper-slide-inner {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 8px rgba(139, 105, 20, 0.08);
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Hover très subtil */
.rr-carousel-catego .swiper-slide:hover .swiper-slide-inner {
    transform: translateY(-3px);
    box-shadow: 0 6px 20px rgba(139, 105, 20, 0.12);
}

.rr-carousel-catego .swiper-slide:hover .swiper-slide-image {
    transform: scale(1.02);
}

/* ========================================
   ARRIÈRE-PLAN CONTAINER IMAGE
   ======================================== */

.rr-carousel-catego .elementor-image-box-img,
.rr-carousel-catego .swiper-slide-contents,
.rr-carousel-catego figure {
    background: #fff8eb5e;
    padding: 10px;
    border-radius: 12px 12px 0 0;
    transition: background 0.3s ease;
    text-align: center; /* Centre l'image horizontalement */
}

.rr-carousel-catego .swiper-slide:hover .elementor-image-box-img,
.rr-carousel-catego .swiper-slide:hover .swiper-slide-contents,
.rr-carousel-catego .swiper-slide:hover figure {
    background: rgba(255, 248, 235, 0.7);
}

/* Centrage des images */
.rr-carousel-catego .swiper-slide-image,
.rr-carousel-catego img {
    margin: 0 auto;
    display: block;
}

/* ========================================
   LÉGENDES - Style minimaliste
   ======================================== */

.rr-carousel-catego .elementor-image-carousel-caption {
    background: rgb(255 248 235 / 51%);
    color: #8B6914;
    padding: 12px 15px;
    font-weight: 600;
    font-size: 14px;
    text-align: center;
    border-radius: 0 0 5px 5px;
    border-top: 1px solid rgba(205, 133, 63, 0.15);
    transition: background 0.3s ease;
}

.rr-carousel-catego .swiper-slide:hover .elementor-image-carousel-caption {
    background: #FFF8EB;
    color: #8B6914;
}

/* ========================================
   BOUTONS DE NAVIGATION
   ======================================== */

.rr-carousel-catego .elementor-swiper-button {
    background: rgba(255, 255, 255, 0.95);
    border: 1px solid rgba(205, 133, 63, 0.2);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    color: #8B6914;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
    backdrop-filter: blur(10px);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    display: flex !important;
    align-items: center;
    justify-content: center;
}

/* Positionnement gauche/droite */
.rr-carousel-catego .elementor-swiper-button-prev {
    left: 10px;
}

.rr-carousel-catego .elementor-swiper-button-next {
    right: 10px;
}

.rr-carousel-catego .elementor-swiper-button:hover {
    background: #FFF8EB;
    border-color: #CD853F;
    transform: translateY(-50%) scale(1.05);
    box-shadow: 0 4px 12px rgba(139, 105, 20, 0.15);
}

/* Centrage de l'icône */
.rr-carousel-catego .elementor-swiper-button i {
    font-size: 18px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ========================================
   PAGINATION - Points minimalistes
   ======================================== */

.rr-carousel-catego .swiper-pagination {
    margin-top: 20px;
    position: relative;
}

.rr-carousel-catego .swiper-pagination-bullet {
    background: rgba(205, 133, 63, 0.3);
    opacity: 1;
    width: 8px;
    height: 8px;
    transition: all 0.3s ease;
}

.rr-carousel-catego .swiper-pagination-bullet-active {
    background: #8B6914;
    width: 24px;
    border-radius: 4px;
}

/* Suppression de l'overlay sur les images */
.rr-carousel-catego .swiper-slide-inner::after {
    display: none;
}

/* ========================================
   RESPONSIVE - Navigation
   ======================================== */

@media (max-width: 1024px) {
    .rr-carousel-catego .elementor-carousel-wrapper {
        padding: 15px 45px;
    }
    
    .rr-carousel-catego .elementor-swiper-button {
        width: 36px;
        height: 36px;
    }
    
    .rr-carousel-catego .elementor-swiper-button i {
        font-size: 16px;
    }
}

@media (max-width: 768px) {
    /* Carousel mobile - Centré parfaitement */
    .rr-carousel-catego .elementor-carousel-wrapper {
        padding: 15px 50px; /* Padding pour les flèches */
        margin: 0; /* Pas de marge */
    }
    
    .rr-carousel-catego .elementor-swiper-button {
        width: 32px;
        height: 32px;
        background: rgba(255, 255, 255, 0.98);
        box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
    }
    
    .rr-carousel-catego .elementor-swiper-button-prev {
        left: 5px; /* Flèche plus proche du bord */
    }
    
    .rr-carousel-catego .elementor-swiper-button-next {
        right: 5px; /* Flèche plus proche du bord */
    }
    
    .rr-carousel-catego .elementor-swiper-button i {
        font-size: 14px;
    }
    
    .rr-carousel-catego .swiper-slide {
        padding: 3px;
    }
    
    .rr-carousel-catego .swiper-slide-inner {
        border-radius: 10px;
    }
    
    .rr-carousel-catego .elementor-image-carousel-caption {
        font-size: 13px;
        padding: 10px 12px;
        border-radius: 0 0 10px 10px;
    }
    
    .rr-carousel-catego .swiper-pagination-bullet {
        width: 6px;
        height: 6px;
    }
    
    .rr-carousel-catego .swiper-pagination-bullet-active {
        width: 20px;
    }
}

@media (max-width: 480px) {
    /* Carousel très petit mobile - Centré */
    .rr-carousel-catego .elementor-carousel-wrapper {
        padding: 5px 40px; /* Réduction du padding */
        margin: 0;
    }
    
    .rr-carousel-catego .elementor-swiper-button {
        width: 28px;
        height: 28px;
    }
    
    .rr-carousel-catego .elementor-swiper-button-prev {
        left: 5px;
    }
    
    .rr-carousel-catego .elementor-swiper-button-next {
        right: 5px;
    }
    
    .rr-carousel-catego .elementor-swiper-button i {
        font-size: 12px;
    }
    
    .rr-carousel-catego .elementor-image-carousel-caption {
        font-size: 12px;
        padding: 8px 10px;
    }
}

/* ============================================
   SYSTÈME DE VIGNETTES RESPONSIVE POUR ELEMENTOR
   ============================================ */

/* Cibler l'overlay d'arrière-plan Elementor */
.vignette-transparente .elementor-background-overlay,
.vignette-legere .elementor-background-overlay,
.vignette-forte .elementor-background-overlay,
.vignette-bords .elementor-background-overlay,
.vignette-coins .elementor-background-overlay,
.vignette-horizontale .elementor-background-overlay,
.vignette-verticale .elementor-background-overlay,
.vignette-diamant .elementor-background-overlay,
.vignette-extremites .elementor-background-overlay,
.vignette-cadre .elementor-background-overlay,
.vignette-spotlight .elementor-background-overlay,
.vignette-asymetrique .elementor-background-overlay,
.vignette-carousel .elementor-background-overlay {
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}

/* Base commune pour tous les effets vignette */
.vignette-transparente,
.vignette-legere,
.vignette-forte,
.vignette-bords,
.vignette-coins,
.vignette-horizontale,
.vignette-verticale,
.vignette-diamant,
.vignette-extremites,
.vignette-cadre,
.vignette-spotlight,
.vignette-asymetrique,
.vignette-carousel {
  position: relative;
  overflow: hidden;
}

/* Images <img> standard (pas dans carousel) */
.vignette-transparente img:not(.swiper-slide-image),
.vignette-legere img:not(.swiper-slide-image),
.vignette-forte img:not(.swiper-slide-image),
.vignette-bords img:not(.swiper-slide-image),
.vignette-coins img:not(.swiper-slide-image),
.vignette-horizontale img:not(.swiper-slide-image),
.vignette-verticale img:not(.swiper-slide-image),
.vignette-diamant img:not(.swiper-slide-image),
.vignette-extremites img:not(.swiper-slide-image),
.vignette-cadre img:not(.swiper-slide-image),
.vignette-spotlight img:not(.swiper-slide-image),
.vignette-asymetrique img:not(.swiper-slide-image),
.vignette-carousel img:not(.swiper-slide-image) {
  width: 100%;
  height: auto;
  object-fit: contain;
  object-position: center;
  display: block;
}

/* ============================================
   CORRECTION MENU VA-ET-VIENT - REDIMENSIONNEMENT
   ============================================ */

/* Forcer le conteneur à s'adapter à l'image */
.vignette-transparente .va-et-vient,
.vignette-transparente .off-canvas,
.vignette-transparente .side-menu,
.vignette-transparente #va-et-vient,
.vignette-legere .va-et-vient,
.vignette-legere .off-canvas,
.vignette-legere .side-menu,
.vignette-legere #va-et-vient,
.vignette-forte .va-et-vient,
.vignette-forte .off-canvas,
.vignette-forte .side-menu,
.vignette-forte #va-et-vient,
.vignette-bords .va-et-vient,
.vignette-bords .off-canvas,
.vignette-bords .side-menu,
.vignette-bords #va-et-vient,
.vignette-coins .va-et-vient,
.vignette-coins .off-canvas,
.vignette-coins .side-menu,
.vignette-coins #va-et-vient,
.vignette-horizontale .va-et-vient,
.vignette-horizontale .off-canvas,
.vignette-horizontale .side-menu,
.vignette-horizontale #va-et-vient,
.vignette-verticale .va-et-vient,
.vignette-verticale .off-canvas,
.vignette-verticale .side-menu,
.vignette-verticale #va-et-vient,
.vignette-diamant .va-et-vient,
.vignette-diamant .off-canvas,
.vignette-diamant .side-menu,
.vignette-diamant #va-et-vient,
.vignette-extremites .va-et-vient,
.vignette-extremites .off-canvas,
.vignette-extremites .side-menu,
.vignette-extremites #va-et-vient,
.vignette-cadre .va-et-vient,
.vignette-cadre .off-canvas,
.vignette-cadre .side-menu,
.vignette-cadre #va-et-vient,
.vignette-spotlight .va-et-vient,
.vignette-spotlight .off-canvas,
.vignette-spotlight .side-menu,
.vignette-spotlight #va-et-vient,
.vignette-asymetrique .va-et-vient,
.vignette-asymetrique .off-canvas,
.vignette-asymetrique .side-menu,
.vignette-asymetrique #va-et-vient,
.vignette-carousel .va-et-vient,
.vignette-carousel .off-canvas,
.vignette-carousel .side-menu,
.vignette-carousel #va-et-vient {
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  max-height: 100vh !important;
  overflow: hidden !important;
}

/* Images dans le menu - empêcher le débordement */
.vignette-transparente .va-et-vient img,
.vignette-transparente .off-canvas img,
.vignette-transparente .side-menu img,
.vignette-legere .va-et-vient img,
.vignette-legere .off-canvas img,
.vignette-legere .side-menu img,
.vignette-forte .va-et-vient img,
.vignette-forte .off-canvas img,
.vignette-forte .side-menu img,
.vignette-bords .va-et-vient img,
.vignette-bords .off-canvas img,
.vignette-bords .side-menu img,
.vignette-coins .va-et-vient img,
.vignette-coins .off-canvas img,
.vignette-coins .side-menu img,
.vignette-horizontale .va-et-vient img,
.vignette-horizontale .off-canvas img,
.vignette-horizontale .side-menu img,
.vignette-verticale .va-et-vient img,
.vignette-verticale .off-canvas img,
.vignette-verticale .side-menu img,
.vignette-diamant .va-et-vient img,
.vignette-diamant .off-canvas img,
.vignette-diamant .side-menu img,
.vignette-extremites .va-et-vient img,
.vignette-extremites .off-canvas img,
.vignette-extremites .side-menu img,
.vignette-cadre .va-et-vient img,
.vignette-cadre .off-canvas img,
.vignette-cadre .side-menu img,
.vignette-spotlight .va-et-vient img,
.vignette-spotlight .off-canvas img,
.vignette-spotlight .side-menu img,
.vignette-asymetrique .va-et-vient img,
.vignette-asymetrique .off-canvas img,
.vignette-asymetrique .side-menu img,
.vignette-carousel .va-et-vient img,
.vignette-carousel .off-canvas img,
.vignette-carousel .side-menu img {
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 200px !important;
  object-fit: contain !important;
  object-position: center !important;
  display: block !important;
  margin: 0 auto !important;
}

/* Conteneurs d'images dans le menu */
.vignette-transparente .va-et-vient .image-container,
.vignette-transparente .va-et-vient figure,
.vignette-legere .va-et-vient .image-container,
.vignette-legere .va-et-vient figure,
.vignette-forte .va-et-vient .image-container,
.vignette-forte .va-et-vient figure,
.vignette-bords .va-et-vient .image-container,
.vignette-bords .va-et-vient figure,
.vignette-coins .va-et-vient .image-container,
.vignette-coins .va-et-vient figure,
.vignette-horizontale .va-et-vient .image-container,
.vignette-horizontale .va-et-vient figure,
.vignette-verticale .va-et-vient .image-container,
.vignette-verticale .va-et-vient figure,
.vignette-diamant .va-et-vient .image-container,
.vignette-diamant .va-et-vient figure,
.vignette-extremites .va-et-vient .image-container,
.vignette-extremites .va-et-vient figure,
.vignette-cadre .va-et-vient .image-container,
.vignette-cadre .va-et-vient figure,
.vignette-spotlight .va-et-vient .image-container,
.vignette-spotlight .va-et-vient figure,
.vignette-asymetrique .va-et-vient .image-container,
.vignette-asymetrique .va-et-vient figure,
.vignette-carousel .va-et-vient .image-container,
.vignette-carousel .va-et-vient figure {
  height: auto !important;
  max-height: 200px !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

/* ============================================
   EFFETS VIGNETTE - RADIAL
   ============================================ */

.vignette-transparente {
  -webkit-mask-image: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 1) 40%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 1) 40%,
    rgba(0, 0, 0, 0) 100%
  );
}

.vignette-legere {
  -webkit-mask-image: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 1) 60%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 1) 60%,
    rgba(0, 0, 0, 0) 100%
  );
}

.vignette-forte {
  -webkit-mask-image: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 1) 20%,
    rgba(0, 0, 0, 0) 100%
  );
  mask-image: radial-gradient(
    ellipse at center,
    rgba(0, 0, 0, 1) 20%,
    rgba(0, 0, 0, 0) 100%
  );
}

.vignette-coins {
  -webkit-mask-image: radial-gradient(
    ellipse 150% 150% at 50% 50%,
    black 40%,
    transparent 70%
  );
  mask-image: radial-gradient(
    ellipse 150% 150% at 50% 50%,
    black 40%,
    transparent 70%
  );
}

.vignette-diamant {
  -webkit-mask-image: radial-gradient(
    ellipse 100% 100% at 50% 50%,
    black 30%,
    transparent 65%
  );
  mask-image: radial-gradient(
    ellipse 100% 100% at 50% 50%,
    black 30%,
    transparent 65%
  );
}

.vignette-cadre {
  -webkit-mask-image: radial-gradient(
    ellipse 120% 120% at 50% 50%,
    black 45%,
    rgba(0, 0, 0, 0.8) 55%,
    transparent 75%
  );
  mask-image: radial-gradient(
    ellipse 120% 120% at 50% 50%,
    black 45%,
    rgba(0, 0, 0, 0.8) 55%,
    transparent 75%
  );
}

.vignette-spotlight {
  -webkit-mask-image: radial-gradient(
    circle at center,
    black 25%,
    rgba(0, 0, 0, 0.6) 50%,
    transparent 80%
  );
  mask-image: radial-gradient(
    circle at center,
    black 25%,
    rgba(0, 0, 0, 0.6) 50%,
    transparent 80%
  );
}

/* ============================================
   EFFETS VIGNETTE - LINÉAIRE
   ============================================ */

.vignette-bords {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 15%,
    black 85%,
    transparent 100%
  ),
  linear-gradient(
    to bottom,
    transparent 0%,
    black 15%,
    black 85%,
    transparent 100%
  );
  -webkit-mask-composite: source-in;
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 15%,
    black 85%,
    transparent 100%
  ),
  linear-gradient(
    to bottom,
    transparent 0%,
    black 15%,
    black 85%,
    transparent 100%
  );
  mask-composite: intersect;
}

.vignette-horizontale {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
}

.vignette-verticale {
  -webkit-mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to bottom,
    transparent 0%,
    black 10%,
    black 90%,
    transparent 100%
  );
}

.vignette-extremites {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 5%,
    black 95%,
    transparent 100%
  );
}

.vignette-asymetrique {
  -webkit-mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 85%,
    transparent 100%
  );
  mask-image: linear-gradient(
    to right,
    transparent 0%,
    black 10%,
    black 85%,
    transparent 100%
  );
}

.vignette-carousel {
  -webkit-mask-image: 
    linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%),
    linear-gradient(to bottom, black 0%, black 100%);
  -webkit-mask-composite: source-in;
  mask-image: 
    linear-gradient(to right, transparent 0%, black 8%, black 92%, transparent 100%),
    linear-gradient(to bottom, black 0%, black 100%);
  mask-composite: intersect;
}

/* ============================================
   OPTIONS DE REDIMENSIONNEMENT
   ============================================ */

.vignette-contain .elementor-background-overlay {
  background-size: contain !important;
}

.vignette-hauteur-fixe {
  height: 300px;
}

.vignette-ratio-16-9 {
  aspect-ratio: 16/9;
}

.vignette-ratio-4-3 {
  aspect-ratio: 4/3;
}

.vignette-ratio-1-1 {
  aspect-ratio: 1/1;
}

.vignette-ratio-21-9 {
  aspect-ratio: 21/9;
}

/* ============================================
   MEDIA QUERIES RESPONSIVE
   ============================================ */

@media (max-width: 768px) {
  .vignette-hauteur-fixe {
    height: 200px;
  }
  
  .vignette-transparente .va-et-vient img,
  .vignette-legere .va-et-vient img,
  .vignette-forte .va-et-vient img,
  .vignette-bords .va-et-vient img,
  .vignette-coins .va-et-vient img,
  .vignette-horizontale .va-et-vient img,
  .vignette-verticale .va-et-vient img,
  .vignette-diamant .va-et-vient img,
  .vignette-extremites .va-et-vient img,
  .vignette-cadre .va-et-vient img,
  .vignette-spotlight .va-et-vient img,
  .vignette-asymetrique .va-et-vient img,
  .vignette-carousel .va-et-vient img {
    max-height: 150px !important;
  }
  
  .vignette-transparente .va-et-vient .image-container,
  .vignette-legere .va-et-vient .image-container,
  .vignette-forte .va-et-vient .image-container,
  .vignette-carousel .va-et-vient .image-container {
    max-height: 150px !important;
  }
}

@media (max-width: 480px) {
  .vignette-hauteur-fixe {
    height: 150px;
  }
}/* End custom CSS */