html {
    scroll-padding-top: 120px;
}

/* #BFW-container-224, #BFW-container-226, #BFW-cmsV02-191, #formulaireV02 {
    scroll-margin-top: 80px;
}  */




.header-top #GTranslateDesktop #GTranslate .left-topbar:first-child {
    position: relative;
    /* N�cessaire pour positionner le pseudo-�l�ment */
}

.header-top #GTranslateDesktop #GTranslate .left-topbar:first-child::before {
    content: "";
    position: absolute;
    left: -6px;
    /* Ajuste la position � gauche de l'ic�ne */
    top: 50%;
    width: 2px;
    /* �paisseur de la bordure */
    height: 50%;
    /* Plus petit que l'ic�ne */
    background-color: white !important;
    transform: translateY(-50%);
}


/* FAQ */
.mainindex-233-silver-accordionV02 {
    position: relative;
    overflow: hidden;
    margin-top: 0 !important;
    background: radial-gradient(circle at 12% 18%, rgba(200, 98, 40, 0.13), transparent 28%), radial-gradient(circle at 88% 82%, rgba(27, 40, 56, 0.10), transparent 30%), linear-gradient(135deg, #f8f6f1 0%, #ffffff 48%, #eef1f4 100%) !important;
}


.mainindex-233-silver-accordionV02::before {
    content: "";
    position: absolute;
    top: -160px;
    right: -160px;
    width: 460px;
    height: 460px;
    border-radius: 50%;
    background: rgba(200, 98, 40, 0.10);
    z-index: 0;
}

.mainindex-233-silver-accordionV02 .u-accordion {
    display: grid;
    gap: 18px;
}

.mainindex-233-silver-accordionV02 .accordion-button:not(.collapsed) {
    background: linear-gradient(135deg, #1b2838 0%, #263a50 100%) !important;
    color: #ffffff !important;
    border-radius: 22px 22px 0 0 !important;
}

.mainindex-233-silver-accordionV02 .accordion-collapse {
    background: #ffffff;
}

.mainindex-233-silver-accordionV02 .accordion-button {
    position: relative;
    width: 100%;
    min-height: 78px;
    padding: 24px 72px 24px 82px !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    color: #1b2838 !important;
    font-size: 20px;
    line-height: 1.45;
    font-weight: 800;
    text-align: left;
    box-shadow: none !important;
    transition: all 0.35s ease;
}


.mainindex-233-silver-accordionV02 .accordion-button:not(.collapsed)::before {
    background-color: #3b8bf2;
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    transform: translateY(-50%) rotate(180deg) !important;
}


.mainindex-233-silver-accordionV02 .accordion-button::before {
    content: "";
    position: absolute;
    left: 26px;
    top: 50%;
    width: 38px;
    height: 38px;
    margin: 0 !important;
    border-radius: 50%;
    background-color: rgba(59, 139, 242, 0.12);
    background-image: url("data:image/svg+xml,%3Csvg width='18' height='18' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 9L12 15L18 9' stroke='%231b2838' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 18px;
    transform: translateY(-50%) rotate(0deg) !important;
    transition: all 0.35s ease;
}


.mainindex-233-silver-accordionV02 .accordion-item {
    position: relative;
    overflow: hidden;
    padding-top: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border: 0 !important;
    border-radius: 22px !important;
    background: #ffffff;
    box-shadow: 0 18px 45px rgba(27, 40, 56, 0.08);
    transition: all 0.35s ease;
}


.mainindex-233-silver-accordionV02 .accordion-body .texte {
    position: relative;
    padding: 30px 38px 34px 82px;
}

.mainindex-233-silver-accordionV02 .accordion-body .texte::before {
    content: "";
    position: absolute;
    left: 42px;
    top: 36px;
    width: 4px;
    height: calc(100% - 72px);
    border-radius: 50px;
    background: #3b8bf2;
}


.mainindex-233-silver-accordionV02 .accordion-body p {
    margin: 0 !important;
    color: #6d7480;
    font-size: 17px;
    line-height: 1.8;
}


.mainindex-233-silver-accordionV02::after {
    content: "";
    position: absolute;
    left: -130px;
    bottom: -180px;
    width: 440px;
    height: 440px;
    border-radius: 50%;

    border: 1px solid rgba(27, 40, 56, 0.10);

    z-index: 0;
}


.mainindex-233-silver-accordionV02 .headline h2, .mainindex-233-silver-accordionV02 .hTitle {
    position: relative;
    max-width: 980px;
    margin: 0 auto !important;
    padding-bottom: 26px;
    color: #1b2838;
    font-size: clamp(32px, 4vw, 29px);
    line-height: 1.16;
    font-weight: 900;
    letter-spacing: -1.2px;
    text-align: center;
}

#BFW-silver-accordionV02-233 .headline .hTitle::after {
    display: none;
}




/*header main*/
#header-boutique .header-main {
    background-color: rgb(15 23 42) !important;
}

#header-boutique ul li a {
    color: rgb(245, 245, 245) !important;
}

#header-boutique #offcanvasMobilMenu ul li a {
    color: rgb(15 23 42) !important;
}


.mobil-toogler>div {
    color: white;
}



@media screen and (max-width: 1200px) {
    .megamenu li {
        padding: 0 6px;
    }
}

.main-slider-2-content {
    height: 100%;
    color: white;
    opacity: 0;
    text-align: left;
}





.main-slider-2-item::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
            rgba(10, 20, 35, .88) 0%,
            rgba(10, 20, 35, .80) 35%,
            rgba(10, 20, 35, .45) 55%,
            rgba(10, 20, 35, 0) 75%);
    z-index: 0;
}

.main-slider-2-text {
    text-transform: none;
    font-size: calc(1.3rem + 3vw);
    margin-bottom: 12px;
    font-weight: 700;
    font-style: normal;
    line-height: 0.95;
    letter-spacing: 0.058em;
    color: white;
    font-family: Lato, sans-serif;
}

.hero-btn {
    padding: 0.875rem 2rem;
    /* py-3.5 px-8 */
    border-radius: 12px;
    /* rounded-custom */
    font-weight: 600;
    font-size: 1rem;
    transition: background-color .2s ease, color .2s ease;
}

.hero-btn:hover {
    background-color: #1d4ed8;
    border-color: #1d4ed8;
}

/* ============================================
   TABLET (≥769px)
   ============================================ */
@media only screen and (min-width: 769px) {
    .hero-content {
        margin-left: 2.5rem;
        margin-right: 2.5rem;
    }

    .main-slider-2-text {
        font-size: calc(1.2rem + 2.5vw);
        letter-spacing: 0.03em;
    }

    .hero-btn {
        width: auto;
        padding: 0.8rem 1.75rem;
        font-size: 0.95rem;
    }

    .main-slider-2-item::before {
        background: linear-gradient(90deg,
                rgba(10, 20, 35, .90) 0%,
                rgba(10, 20, 35, .82) 45%,
                rgba(10, 20, 35, .55) 65%,
                rgba(10, 20, 35, .15) 85%);
    }
}



/* ============================================
   DESKTOP (≥992px) — matches your existing tier
   ============================================ */


@media only screen and (min-width: 992px) {
    .hero-content {
        margin-left: 0;
        margin-right: 0;
        text-align: left;
    }

    .hero-box .third-text {
        margin: 0;
    }

    .main-slider-2-content {
        text-align: left;
    }

    .main-slider-2-text {
        font-size: 46px;
        /* matches your existing rule exactly */
        letter-spacing: 0.058em;
    }

    .hero-btn {
        padding: 0.875rem 2rem;
        font-size: 1rem;
    }

    .main-slider-2-item::before {
        background: linear-gradient(90deg,
                rgba(10, 20, 35, .88) 0%,
                rgba(10, 20, 35, .80) 35%,
                rgba(10, 20, 35, .45) 55%,
                rgba(10, 20, 35, 0) 75%);
    }
}




/* ============================================
   LARGE DESKTOP (≥1200px)
   ============================================ */
@media only screen and (min-width: 1200px) {
    .hero-content {
        margin-left: 6rem;
        text-align: left;
    }

    .main-slider-2-content {
        text-align: left;
    }
}


/* ============================================
   LARGE DESKTOP (≥1300px)
   ============================================ */
@media only screen and (min-width: 1500px) {
    .hero-content {
        margin-left: 10rem;
        text-align: left;
        max-width: 45%;
    }

    .main-slider-2-content {
        text-align: left;
    }
}



/* ==========================================================================
   BLOCK À PROPOS - Image & Feature Boxes Styling
   Targeting CMS ID: #BFW-container-82
   ========================================================================== */

/* --- 1. Main Container Setup --- */
/* We need the container to be relative so we can pull the boxes to the bottom */
#BFW-container-82 .container {
    position: relative !important;
}

#BFW-container-82 .row {
    position: static !important;
    align-items: center !important;
}

/* --- 2. Image Style (Rounded corners & "Shelf" shadow) --- */
#BFW-container-82 .col-lg-6:first-child .img-responsive {
    border-radius: 25px !important;
    width: 100% !important;
    height: 33rem !important;
    object-fit: cover !important;
}

/* --- 3. Feature Cards (.features) Container --- */
#BFW-container-82 .features {
    display: flex !important;
    gap: 1.5rem !important;
    justify-content: space-between !important;
    z-index: 1 !important;
}


#BFW-container-82 .texte {
    margin-right: 1rem;
}

/* --- 4. Individual Feature Card Style (Glassmorphism effect) --- */
#BFW-container-82 .feature-item {
    /* Semi-transparent white to create the glass effect */
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.5)) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    /* Solid white border as seen in the design */
    border: 2px solid #ffffff !important;
    border-radius: 12px !important;
    /* Soft blue-tinted shadow */
    box-shadow: 0 10px 30px rgba(30, 58, 138, 0.08) !important;
    padding: 2rem 1.5rem !important;
    flex: 1 1 33% !important;
    text-align: center !important;
    color: #1e293b !important;
    font-family: 'Poppins', sans-serif !important;
    font-size: 1.05rem !important;
    font-weight: 500 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
}

/* --- 5. Icons --- */
#BFW-container-82 .feature-icon {
    width: 48px !important;
    height: 48px !important;
    margin-bottom: 1rem !important;
    object-fit: contain !important;
}

/* ==========================================================================
   6. Layout Positioning - Overlap Fix
   ========================================================================== */

/* DESKTOP: Position the cards across the bottom of the section */
@media (min-width: 992px) {

    /* Make the container our main anchor and give it padding at the bottom */
    #BFW-container-82 .container {
        position: relative !important;
        padding-bottom: 220px !important;
    }

    /* STRIP relative positioning from the row and columns so the boxes can escape */
    #BFW-container-82 .row,
    #BFW-container-82 [class*="col-"] {
        position: static !important;
    }

    /* Now pin the boxes safely to the bottom of the container */
    #BFW-container-82 .features {
        position: absolute !important;
        bottom: 20px !important;
        /* Sits at the bottom of the padded container */
        left: 10px !important;
        /* Matches Bootstrap's default padding */
        right: 10px !important;
        width: calc(100% - 30px) !important;
        flex-wrap: nowrap !important;
    }



    #BFW-container-82 .container {
        max-width: 1500px;
        margin: 0 auto;
        padding: 0 1rem;
    }
}

/* MOBILE/TABLET: Stack the cards normally below the text */
@media (max-width: 991px) {
    #BFW-container-82 .features {
        position: relative !important;
        flex-direction: column !important;
        margin-top: 3rem !important;
        padding: 0 !important;
    }
}




/* Services interior Section  */

.BFW-cmsV02 .texte h2::after {
    left: 0.5%;
}

#BFW-container-224 .BFW-container {
    background-color: #F7F3EB;
}



#BFW-container-224 .texte {
    margin-left: 1rem;
}




.vertical-align-center .row {
    align-items: start;
}


@media (min-width: 992px) {
    #BFW-container-224 .container {
        max-width: 1500px;
        margin: 0 auto;
        padding: 0 1rem;
    }


    .mainindex-224-container .col-lg-6:nth-child(1) {
        flex: 0 0 auto;
        width: 45%;
    }

    .mainindex-224-container .col-lg-6:nth-child(2) {
        flex: 0 0 auto;
        width: 55%;
    }

    #BFW-container-224 .col-lg-6:nth-child(2) .img-responsive {
        border-radius: 0 80px;
        /* rounded-2xl */
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
            0 4px 6px -4px rgba(0, 0, 0, 0.1);
        /* shadow-lg */
        width: 100%;
        /* w-full */
        object-fit: cover;
        /* object-cover */
        height: 600px;
        /* h-[400px] */
    }


}






/* Exterior Services Section  */




#BFW-container-226 .texte {
    margin-right: 1rem;
}




@media (min-width: 992px) {
    #BFW-container-226 .container {
        max-width: 1500px;
        margin: 0 auto;
        padding: 0 1rem;
    }

    #BFW-container-226 .img-responsive {
        border-radius: 2rem;
        /* rounded-2xl */
        box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1),
            0 4px 6px -4px rgba(0, 0, 0, 0.1);
        /* shadow-lg */
        width: 100%;
        /* w-full */
        object-fit: cover;
        /* object-cover */
        height: 600px;
        /* h-[400px] */
    }


    .mainindex-226-container .col-lg-6:nth-child(1) {
        flex: 0 0 auto;
        width: 55%;
    }

    .mainindex-226-container .col-lg-6:nth-child(2) {
        flex: 0 0 auto;
        width: 45%;
    }


}


/* ==========================================================================
   1. DECORATOR TEXT SECTION (Matching top half of style.png)
   Targeting ID: #BFW-cmsV02-191
   ========================================================================== */

/* Main Container: Solid blue background, removing previous overlays */
#BFW-cmsV02-191 {
    background-color: #00277a !important;
    /* Deep blue matching the image */
    padding-top: 5rem !important;
    padding-bottom: 2.5rem !important;
    position: relative;
    z-index: 1;
}

/* Hide any previously added dark overlay */
#BFW-cmsV02-191::before {
    display: none !important;
}

/* Heading H2 Styles */
#BFW-cmsV02-191 .texte p:nth-child(1) span {
    font-size: 2.5rem !important;
    font-weight: 700 !important;
    color: #ffffff !important;
    display: block;
    margin-bottom: 1rem !important;
    line-height: 1.2 !important;
}

/* Paragraph Styles */
#BFW-cmsV02-191 .texte p:nth-child(2) span,
#BFW-cmsV02-191 .texte p:nth-child(2) {
    color: #e2e8f0 !important;
    /* Light gray/blue text */
    font-size: 1.1rem !important;
    max-width: 800px;
    margin-left: auto;
    margin-right: auto;
    line-height: 1.6 !important;
    /* display: inline-block; */
}

/* ==========================================================================
   2. COUNTER SECTION (Matching the white card)
   Targeting ID: #BFW-bloc-compteurV02-193
   ========================================================================== */

/* Main Container: Continues the blue background seamlessly */
#BFW-bloc-compteurV02-193 {
    background-color: #00277a !important;
    padding-top: 0 !important;
    padding-bottom: 5rem !important;
    position: relative;
    z-index: 1;
}

/* The White Card: Overriding inline CMS styles */
#BFW-bloc-compteurV02-193 .row {
    background: #ffffff !important;
    /* Overrides inline blue */
    border-radius: 12px !important;
    /* Rounded corners */
    padding: 2rem 1rem !important;
    max-width: 700px !important;
    margin: 0 auto !important;
    display: flex !important;
    align-items: center;
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    /* Soft drop shadow */
}

/* Grid Layout for Counter Items (Icon left, stacked text right) */
#BFW-bloc-compteurV02-193 .occurence_compteur {
    margin-top: 0 !important;
    /* Overrides inline 50px margin */
    display: grid !important;
    grid-template-columns: auto 1fr;
    grid-template-rows: auto auto;
    column-gap: 1.5rem;
    align-items: center;
    justify-content: center;
    width: 50%;
}

/* ==========================================================================
   Divider Spacing 
   ========================================================================== */

/* Add space before the line */
#BFW-bloc-compteurV02-193 .occurence_compteur:first-child {
    border-right: 1px solid #e2e8f0 !important;
    padding-right: 2rem !important;
    /* Pushes the first block's content away from the line */
}

/* Add space after the line */
#BFW-bloc-compteurV02-193 .occurence_compteur:last-child {
    padding-left: 6rem !important;
    /* Pushes the "1000+" icon and text away from the line */
}

/* Ensure the grid keeps the icon and text grouped tightly together */
#BFW-bloc-compteurV02-193 .occurence_compteur {
    justify-content: center !important;
}

/* Icon Styles: Light blue circle background */
#BFW-bloc-compteurV02-193 .occurence_compteur i {
    grid-row: 1 / 3;
    /* Spans both rows */
    grid-column: 1;
    background-color: #eff6ff !important;
    color: #1d4ed8 !important;
    /* Overrides text-light */
    width: 70px;
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 1.75rem !important;
    margin-bottom: 0 !important;
}

/* Icon Styles: Explicitly targeting the <i> tag */
#BFW-bloc-compteurV02-193 .occurence_compteur>i {
    grid-row: 1 / 3 !important;
    /* Spans both rows */
    grid-column: 1 !important;
    /* Forces it into column 1 */
    background-color: #eff6ff !important;
    color: #1d4ed8 !important;
    width: 70px !important;
    height: 70px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 50% !important;
    font-size: 1.75rem !important;
    margin: 0 !important;
    /* Clears any conflicting bootstrap margins */
}

/* Number Styles: Explicitly targeting the <div> to avoid hitting the <i> tag */
#BFW-bloc-compteurV02-193 .occurence_compteur>div.h2 {
    grid-row: 1 !important;
    grid-column: 2 !important;
    /* Forces it into column 2 */
    color: #1d4ed8 !important;
    font-size: 2.5rem !important;
    font-weight: 800 !important;
    margin-bottom: 0 !important;
    text-align: left !important;
    line-height: 1.1 !important;
    display: flex !important;
    align-items: flex-end !important;
}

/* Appending the "+" sign */
#BFW-bloc-compteurV02-193 .counter-bloc::after {
    content: "+";
}

/* Subtext Styles: Explicitly targeting the subtext div */
#BFW-bloc-compteurV02-193 .occurence_compteur>div.text-uppercase {
    grid-row: 2 !important;
    grid-column: 2 !important;
    /* Forces it into column 2 */
    color: #475569 !important;
    text-transform: none !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    text-align: left !important;
    margin-top: 0.25rem !important;
}

/* ==========================================================================
   3. RESPONSIVE STYLES (Mobile & Tablet)
   ========================================================================== */

@media (max-width: 768px) {

    /* --- Text Section Adjustments --- */
    #BFW-cmsV02-191 {
        padding-top: 3rem !important;
        padding-bottom: 1.5rem !important;
        text-align: justify !important;
        /* Ensures text is justified on smaller screens */
    }

    #BFW-cmsV02-191 .texte p:nth-child(1) span {
        font-size: 1.75rem !important;
        margin-bottom: 1rem !important;
    }

    #BFW-cmsV02-191 .texte p:nth-child(2) span,
    #BFW-cmsV02-191 .texte p:nth-child(2) {
        font-size: 1rem !important;
    }

    /* --- Counter Section Adjustments --- */
    #BFW-bloc-compteurV02-193 {
        padding-bottom: 3rem !important;
    }

    /* Force the row to stack vertically */
    #BFW-bloc-compteurV02-193 .row {
        flex-direction: column !important;
        padding: 2rem !important;
        width: calc(100% - 2rem) !important;
    }

    /* Make each counter take full width and center its grid */
    #BFW-bloc-compteurV02-193 .occurence_compteur {
        width: 100% !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        justify-content: center !important;
    }

    /* Remove the divider entirely and add spacing between the two stacked rows */
    #BFW-bloc-compteurV02-193 .occurence_compteur:first-child {
        border-right: none !important;
        border-bottom: none !important;
        /* Removes the horizontal line */
        padding-bottom: 1.5rem !important;
        margin-bottom: 1.5rem !important;
    }
}



/* ==========================================================================
   BLOCK DIAPORAMA (Gallery Section)
   Targeting ID: #BFW-blocDiaporamaCubeV02-213
   ========================================================================== */

/* --- 1. Main Container --- */
#BFW-blocDiaporamaCubeV02-213 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
    background-color: #ffffff !important;
}

/* --- 2. Heading Styles --- */
/* Overriding the inline 'text-align: left' on the headline wrapper */
#BFW-blocDiaporamaCubeV02-213 .headline {
    text-align: center !important;
    width: 100% !important;
    margin-bottom: 2.5rem !important;
}

/* Styling the main title text */
#BFW-blocDiaporamaCubeV02-213 .hTitle {
    font-size: 2.25rem !important;
    font-weight: 800 !important;
    color: #1a3673 !important;
    /* Deep blue matching the image */
    margin: 0 auto !important;
    display: inline-block !important;
    text-transform: none !important;
}

/* Hiding the decorative box-shadow superscript injected by the CMS */
#BFW-blocDiaporamaCubeV02-213 .hTitle sup,
#BFW-blocDiaporamaCubeV02-213 .headline .hTitle::after {
    display: none !important;
}

/* --- 3. Filter Buttons --- */
/* Wrapper for the buttons */
#BFW-blocDiaporamaCubeV02-213 #miidx213blocDipormCubV02-diapocubefiltersw {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 1rem !important;
    margin-bottom: 3.5rem !important;
}

/* Default state for inactive buttons (Intérieur, Extérieur, etc.) */
#BFW-blocDiaporamaCubeV02-213 .cbp-filter-item {
    background-color: #ffffff !important;
    color: #475569 !important;
    /* Slate gray text */
    border: 1px solid #cbd5e1 !important;
    /* Light gray border */
    border-radius: 50px !important;
    /* Perfect pill shape */
    padding: 0.6rem 1.8rem !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    cursor: pointer;
    transition: all 0.3s ease !important;
    box-shadow: none !important;
    margin: 0 !important;
    /* Clear CMS margins to use flex gap */
}

/* Active state and Hover state for buttons (Tout) */
#BFW-blocDiaporamaCubeV02-213 .cbp-filter-item.cbp-filter-item-active,
#BFW-blocDiaporamaCubeV02-213 .cbp-filter-item:hover {
    background-color: #0066cc !important;
    /* Bright solid blue */
    color: #ffffff !important;
    border-color: #0066cc !important;
}

/* Clean up any CMS-injected pseudo-elements on the buttons */
#BFW-blocDiaporamaCubeV02-213 .cbp-filter-item::before,
#BFW-blocDiaporamaCubeV02-213 .cbp-filter-item::after {
    display: none !important;
}

/* --- 4. Gallery Images --- */
/* 
   Note: We do NOT touch the width/left/top of .cbp-item because 
   the JS plugin handles the responsive grid automatically via 
   the 'data-media-queries' attribute in your HTML. 
*/

/* Apply rounded corners to the wrapper to clip the images */
#BFW-blocDiaporamaCubeV02-213 .cbp-item-wrapper {
    border-radius: 12px !important;
    overflow: hidden !important;
}

/* Ensure images fill the wrapper properly */
#BFW-blocDiaporamaCubeV02-213 .cbp-item-wrapper img,
#BFW-blocDiaporamaCubeV02-213 .u-block-hover {
    border-radius: 12px !important;
    display: block !important;
    width: 100% !important;
    height: auto !important;
}

/* ==========================================================================
   5. RESPONSIVE ADJUSTMENTS (Mobile & Tablet)
   ========================================================================== */

@media (max-width: 768px) {
    #BFW-blocDiaporamaCubeV02-213 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    /* Shrink the title slightly for mobile */
    #BFW-blocDiaporamaCubeV02-213 .hTitle {
        font-size: 1.75rem !important;
    }

    /* Shrink padding and gap on filter buttons to fit small screens */
    #BFW-blocDiaporamaCubeV02-213 #miidx213blocDipormCubV02-diapocubefiltersw {
        gap: 0.5rem !important;
        margin-bottom: 2rem !important;
    }

    #BFW-blocDiaporamaCubeV02-213 .cbp-filter-item {
        padding: 0.5rem 1.25rem !important;
        font-size: 0.85rem !important;
    }
}




/* ==========================================================================
   BLOCK ACTUALITÉS (News Section)
   Targeting ID: #BFW-silver-actu-V02-2-52
   ========================================================================== */

/* --- 1. Main Container --- */
#BFW-silver-actu-V02-2-52 {
    padding-top: 4rem !important;
    padding-bottom: 4rem !important;
    background-color: #F7F3EB !important;
}

/* --- 2. Title Section (Lines & Text) --- */
#BFW-silver-actu-V02-2-52 .bloc-title-container {
    margin-bottom: 3rem !important;
    align-items: center !important;
    /* Ensures the lines align vertically with the text center */
}

/* The text "ACTUALITÉS" */
#BFW-silver-actu-V02-2-52 .bloc-title {
    color: #718096 !important;
    /* Slate gray */
    text-transform: uppercase !important;
    font-weight: 800 !important;
    letter-spacing: 2px !important;
    font-size: 1.5rem !important;
    padding: 0 1.5rem !important;
    /* Spacing between text and lines */
    margin: 0 !important;
}

/* The horizontal lines next to the title */
#BFW-silver-actu-V02-2-52 .line {
    border-top: 1px solid #cbd5e1 !important;
    /* Light gray line */
    height: 0 !important;
}

/* Hide CMS-injected superscript elements */
#BFW-silver-actu-V02-2-52 .news-v2 .inner-team .title-actu::after {
    display: none !important;
}

/* --- 3. Card Layout & Images --- */
#BFW-silver-actu-V02-2-52 .blocDATEACTU {
    position: relative !important;
}

#BFW-silver-actu-V02-2-52 .blocDATEACTU a {
    display: block !important;
    /* Ensures the anchor tag wraps the image properly */
}

/* Updated Image Styles */
#BFW-silver-actu-V02-2-52 .blocDATEACTU img {
    width: 100% !important;
    height: 170px !important;
    /* Forces a uniform height for all images */
    object-fit: cover !important;
    /* Crops the image proportionally to fit the height */
    object-position: center !important;
    /* Centers the focal point of the crop */
    border-radius: 8px !important;
    display: block !important;
}

/* --- 4. Date Badge Overlay --- */
#BFW-silver-actu-V02-2-52 .dateACTU {
    position: absolute !important;
    top: 0 !important;
    left: 0 !important;
    background-color: #007bff !important;
    /* Vivid blue */
    color: #ffffff !important;
    padding: 0.4rem 0.6rem !important;
    border-top-left-radius: 8px !important;
    /* Matches image's top-left corner */
    border-bottom-right-radius: 8px !important;
    text-align: center !important;
    min-width: 45px !important;
    z-index: 1 !important;
}

/* Date Number (e.g., "23") */
#BFW-silver-actu-V02-2-52 .dateACTU span {
    display: block !important;
    font-size: 1.25rem !important;
    font-weight: 800 !important;
    line-height: 1 !important;
}

/* Date Month (e.g., "DÉC") */
#BFW-silver-actu-V02-2-52 .dateACTU small {
    display: block !important;
    font-size: 0.75rem !important;
    text-transform: uppercase !important;
    font-weight: 600 !important;
    line-height: 1 !important;
    margin-top: 3px !important;
}

/* --- 5. Card Text Area --- */
#BFW-silver-actu-V02-2-52 .inner-team {
    text-align: center !important;
    padding: 1.25rem 0.5rem !important;
}

#BFW-silver-actu-V02-2-52 .inner-team h3 {
    margin: 0 !important;
}

/* Article Title */
#BFW-silver-actu-V02-2-52 .title-actu {
    color: #007bff !important;
    /* Vivid blue */
    font-size: 1.1rem !important;
    font-weight: 700 !important;
    text-decoration: none !important;
    display: block !important;
    margin-bottom: 0.75rem !important;
}

/* Article Excerpt/Content */
#BFW-silver-actu-V02-2-52 .content {
    color: #64748b !important;
    /* Medium gray */
    font-size: 0.9rem !important;
    line-height: 1.6 !important;
    margin-bottom: 0 !important;
}

/* --- 6. "Toutes les actualités" Button --- */
/* Targeting the anchor tag within the bottom flex container */
#BFW-silver-actu-V02-2-52 .d-flex.justify-content-center a {
    background-color: #007bff !important;
    color: #ffffff !important;
    font-weight: 700 !important;
    padding: 0.75rem 2rem !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: background-color 0.3s ease !important;
    margin-top: 2rem !important;
    display: inline-block !important;
}

#BFW-silver-actu-V02-2-52 .d-flex.justify-content-center a:hover {
    background-color: #0056b3 !important;
    /* Darker blue on hover */
}

/* ==========================================================================
   7. RESPONSIVE ADJUSTMENTS (Mobile & Tablet)
   ========================================================================== */

@media (max-width: 768px) {
    #BFW-silver-actu-V02-2-52 {
        padding-top: 3rem !important;
        padding-bottom: 3rem !important;
    }

    /* Slightly shrink title on mobile */
    #BFW-silver-actu-V02-2-52 .bloc-title {
        font-size: 1.25rem !important;
        padding: 0 1rem !important;
    }

    /* Add space between stacked cards on mobile */
    #BFW-silver-actu-V02-2-52 .team-v2 {
        margin-bottom: 1.5rem !important;
    }
}


/* ==========================================================================
   BLOCK FORMULAIRE DE CONTACT 
   Targeting ID: #formulaireV02
   ========================================================================== */

/* --- 1. Main Background & Reset --- */
#formulaireV02 {
    background-color: #f4f7fb !important;
    position: relative;
    z-index: 1;
}

/* Remove any default dark overlays applied by the 'dark-filter' class */
#formulaireV02::before {
    display: none !important;
}

/* --- 2. The White Card Layout --- */
/* Targeting the row that holds the two main columns */
#formulaireV02>div>div {
    background: #00000078;
    border-radius: 28px;
}


#blocFormV2 {
    overflow-x: hidden;
}

#blocFormV2 {
    min-height: 545px;
    overflow: auto;
    overflow-x: auto;
    position: relative;
}



.BFW-cmsV02 .titre h2 {
    color: rgb(255, 255, 255);
    font-size: 29px;
    margin-bottom: 5px;
}


.BFW-FormulaireContactV02 P {
    color: rgb(255, 255, 255);
}

#bloc-formulairev02-contact label {
    color: #fff !important;
}


.BFW-cmsV02 .titre h1::after, .BFW-cmsV02 .titre h2::after, .BFW-cmsV02 .titre h3::after, .BFW-cmsV02 .titre h4::after, .BFW-cmsV02 .titre h5::after, .BFW-cmsV02 .titre h6::after {
    display: none;
}

#blocFormV2 i {
    color: #ffffff !important;
}


#bloc-formulairev02-contact, #bloc-formulairev02-contact a {
    color: rgb(255, 255, 255);
}

#bloc-formulairev02-contact #BTsubmit:hover {
    background: var(--main-hover);
}

#bloc-formulairev02-contact #BTsubmit {
    color: white;
    border: none;
    background: var(--main-color);
    padding: 8px 25px 11px 25px;
    font-weight: 700;
    transition: all 0.3s;
    width: 100%;
    font-family: 'Lato', sans-serif;
    line-height: 24px;
    display: flex;
    justify-content: center;
    border-radius: 5px;
}

#bloc-formulairev02-contact .formagreement {
    text-align: justify !important;
    font-size: 13px;
}




/* ==========================================================================
   BLOCK FOOTER
   Targeting ID: #BFW-footer-101
   ========================================================================== */

/* --- 1. Main Footer Wrapper & Background --- */
footer,
#BFW-footer-101 {
    background-color: #1b2432 !important;
    /* Dark navy background */
    color: #ffffff !important;
    margin: 0 !important;
}

/* Main content padding */
#BFW-footer-101 .container.py-5 {
    padding-top: 3.5rem !important;
    padding-bottom: 3.5rem !important;
}

/* --- 2. Logo Card Styling --- */
#BFW-footer-101 .logo-footer {
    text-align: center !important;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}



/* Logo image constraints */
#BFW-footer-101 .logo-footer img {
    max-height: 75px !important;
    width: auto !important;
    display: block !important;
    margin: 0 auto !important;
}

/* --- 3. Bottom Footer Bar (bas-footer) --- */
#BFW-footer-101 .bas-footer {
    background-color: #141c27 !important;
    /* Slightly darker shade for the bottom bar */
    padding: 1.25rem 0 !important;
    border-top: 1px solid rgba(255, 255, 255, 0.05) !important;
}



#BFW-footer-101 .bas-footer a.link:hover {
    color: #ffffff !important;
    /* Brightens on hover */
}

/* Copyright text styling */
#BFW-footer-101 .bas-footer .copyright,
#BFW-footer-101 .bas-footer .copyright a {
    color: #94a3b8 !important;
    /* Muted slate gray */
    font-size: 0.875rem !important;
    font-weight: 400 !important;
    text-decoration: none !important;
}

#BFW-footer-101 .bas-footer .copyright a:hover {
    color: #ffffff !important;
}


/* ==========================================================================
   4. RESPONSIVE ADJUSTMENTS (Mobile)
   ========================================================================== */

@media (max-width: 768px) {
    #BFW-footer-101 .container.py-5 {
        padding-top: 2.5rem !important;
        padding-bottom: 2.5rem !important;
    }

    #BFW-footer-101 .logo-footer a {
        padding: 1rem 1.5rem !important;
    }

    /* Stack bottom bar items on small screens */
    #BFW-footer-101 .bas-footer .row {
        flex-direction: column !important;
        text-align: center !important;
        gap: 0.75rem !important;
    }

    #BFW-footer-101 .bas-footer .copyright {
        text-align: center !important;
    }
}

#BFW-silver-actu-V02-2-52 .blocDATEACTU img {
    object-fit: contain !important;
}