/* BODY */
body {
    background-color: rgb(239 239 239);
}

/* HEADER */

.header-top {
    display: none;
}

.other-link a.btn {
    padding: 5px 23px !important;
}

.container.header-middle {
    margin-top: 20px;
}

.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%);
}

.contact.d-flex.px-0.justify-content-end.align-items-center {
    width: auto;
}

.swiper-button-prev-main-slider-2.main-slider-2-navigation.swiper-button-lock {
    display: none;
}

.main-slider-2-title.font-dancing-script {
    text-align: left;
}

.main-slider-2-content.container.translate.animate {
    padding: 0px !important;
}

.third-text {
    text-align: left;
    margin: 0;
}

#header-boutique.fixed-header .logo-container-main img {
    max-width: 80px;
    margin-top: -20px;
}

.main-slider-2-item {
    position: relative;
    overflow: hidden;
}

.main-slider-2-item img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.main-slider-2-item .filter {
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(90deg,
            rgba(5, 12, 22, 0.92) 0%,
            rgba(8, 18, 32, 0.88) 18%,
            rgba(10, 22, 38, 0.72) 35%,
            rgba(12, 24, 40, 0.45) 52%,
            rgba(12, 24, 40, 0.18) 68%,
            rgba(12, 24, 40, 0) 100%);
}

.main-slider-2-content {
    position: absolute;
    inset: 0;
    z-index: 2;
    display: flex;
    align-items: center;
}

/* Bloc texte � gauche */
.main-slider-2-content .gauche {
    max-width: 720px;
    padding-left: 40px;
}

/* Petit titre rouge */
.main-slider-2-title {
    font-family: inherit !important;
    font-size: 22px;
    font-weight: 600;
    letter-spacing: 4px;
    text-transform: uppercase;
    color: var(--main-color);
    margin-bottom: 24px;
    line-height: 1.2;
}

/* Grand titre principal */
.main-slider-2-text {
    font-size: 55px;
    font-weight: 700;
    line-height: 1;
    color: #ffffff;
    max-width: 720px;
    text-transform: none;
    margin-bottom: 0;
    text-align: left;
}

/* Zone des boutons */
.main-slider-2-cta {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-top: 42px;
    flex-wrap: wrap;
}

/* Style g�n�ral des boutons */
.main-slider-2-cta .btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 45px;
    border-radius: 6px;
    font-size: 18px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    transition: all 0.25s ease;
}

/* Bouton rouge */
.main-slider-2-cta .btn-primary {
    background: var(--main-color);
    border: 1px solid var(--main-color);
    color: #ffffff;
    box-shadow: 0 12px 30px rgba(227, 27, 35, 0.25);
}

.main-slider-2-cta .btn-primary:hover {
    background: var(--main-color);
    border-color: var(--main-color);
    transform: translateY(-2px);
    box-shadow: 0 16px 36px rgba(227, 27, 35, 0.35);
}

/* Bouton secondaire transparent */
.main-slider-2-cta .btn-ghost-light {
    background: rgba(255, 255, 255, 0.04);
    border: 1px solid rgba(255, 255, 255, 0.75);
    color: #ffffff;
    backdrop-filter: blur(4px);
}

.main-slider-2-cta .btn-ghost-light:hover {
    background: #ffffff;
    color: #111827;
    border-color: #ffffff;
    transform: translateY(-2px);
}

.main-slider-2-cta .btn:hover::after {
    transform: translateX(5px);
}

@media screen and (min-width: 992px) {
    .main-slider-2-content.container.translate.animate {
        margin-left: 150px !important;
        margin-right: 150px !important;
    }
}

@media screen and (max-width: 991px) {

    .d-flex.align-items-center {
        color: #6eb6e2;
    }

    .main-slider-2-item img {
        height: 110% !important;
    }

    .main-slider-2-item {
        overflow: visible;
    }

    .swiper.main-slider-2.swiper-initialized.swiper-horizontal.swiper-ios.swiper-backface-hidden {
        height: 640px;
    }

    .main-slider-2-content .gauche {
        max-width: 100%;
        padding-left: 20px;
        padding-right: 20px;
        margin-top: 130px;
    }

    .main-slider-2-title {
        font-size: 16px;
        letter-spacing: 3px;
        margin-bottom: 18px;
    }

    .main-slider-2-text {
        font-size: 48px;
        line-height: 1.05;
        max-width: 100%;
    }

    .main-slider-2-cta {
        margin-top: 32px;
        gap: 16px;
    }

    .main-slider-2-cta .btn {
        min-height: 58px;
        padding: 17px 26px;
        font-size: 16px;
    }
}

@media screen and (max-width: 575px) {
    .main-slider-2-text {
        font-size: 38px;
    }

    .main-slider-2-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .main-slider-2-cta .btn {
        width: 100%;
        max-width: 320px;
    }
}

.megamenu li a {
    color: #ffffff;
}

.megamenu li a:hover, .fixed-header .megamenu li a, .bloc-title-container .bloc-title {
    color: var(--main-color);
}

/* MAIN */

button.list-inline-item.cbp-filter-item.g-brd-around.g-brd-gray-light-v4.g-brd-primary--active.g-color-gray-dark-v4.g-color-primary--hover.g-color-primary--active.g-font-size-12.rounded.g-transition-0_3.mb-2.cbp-filter-item-active {
    display: none;
}

#formulaireV02>div>div>div {
    background-color: #00000094;
    border-radius: 10px;
    padding: 20px;
}

/* Carte actualit� */
.team-v2 {
    position: relative;
    height: 100%;
    background: #ffffff;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 18px 45px rgba(15, 23, 42, 0.08);
    transition: all 0.3s ease;
}

.team-v2:hover {
    transform: translateY(-6px);
    box-shadow: 0 28px 65px rgba(15, 23, 42, 0.14);
}

/* Image */
.blocDATEACTU {
    position: relative;
    overflow: hidden;
}

.blocDATEACTU a {
    display: block;
}

.blocDATEACTU img {
    width: 100%;
    height: 230px;
    object-fit: cover;
    display: block;
    border-radius: 18px 18px 0 0;
    transition: transform 0.45s ease;
}

.team-v2:hover .blocDATEACTU img {
    transform: scale(1.05);
}

/* Badge date */
.blocDATEACTU .dateACTU {
    top: 5% !important;
    left: 10px !important;
}

.dateACTU {
    position: absolute;
    top: 22px;
    left: 0;
    z-index: 3;
    width: 52px;
    height: 52px;
    background: var(--main-color);
    color: #ffffff;
    border-radius: 0 8px 8px 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 12px 26px rgba(215, 25, 32, 0.35);
}

.dateACTU span {
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}

.dateACTU small {
    font-size: 14px;
    font-weight: 700;
    text-transform: uppercase;
    margin-top: 5px;
    line-height: 1;
}

/* Contenu */
.inner-team {
    position: relative;
    padding: 46px 28px 30px;
    text-align: left;
}

/* Icone Font Awesome */
.inner-team::after {
    content: "\f1ad";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    position: absolute;
    top: -25px;
    left: 20px;
    z-index: 3;
    color: var(--main-color);
    font-size: 22px;
    line-height: 1;
    background-color: #fff;
    padding: 10px;
    border-radius: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.15);
}

/* Titre */
.news-v2 .inner-team .title-actu {
    margin-top: 20px;
}

.inner-team h3 {
    margin: 0 0 18px;
    font-size: 22px;
    line-height: 1.25;
    font-weight: 800;
    text-align: left;
}

.title-actu {
    color: var(--main-color);
    text-decoration: none;
    transition: color 0.25s ease;
}

.title-actu:hover {
    color: #111827;
}

/* Supprimer le badge bleu <h3> */
.inner-team h3 sup {
    display: none !important;
}

/* Petit trait rouge sous le titre */
.inner-team h3::after {
    content: "";
    display: block;
    width: 42px;
    height: 3px;
    background: rgba(215, 25, 32, 0.18);
    margin-top: 16px;
}

/* Texte */
.inner-team .content {
    margin: 0;
    color: #5f6877;
    font-size: 16px;
    line-height: 1.75;
    font-weight: 400;
    text-align: left;
}

/* Supprimer les anciens caract�res parasites */
.inner-team .content::before {
    content: none !important;
}

.team-v2:hover .inner-team .content::after {
    color: var(--main-color);
    transform: translateX(4px);
}

/* Carte 1 : construction */
.col-lg-3:nth-child(1) .inner-team::after {
    content: "\f1ad";
}

/* Carte 2 : rénovation */
.col-lg-3:nth-child(2) .inner-team::after {
    content: "\f015";
}

/* Carte 3 : peinture */
.col-lg-3:nth-child(3) .inner-team::after {
    content: "\f1fc";
}

/* Carte 4 : maçonnerie */
.col-lg-3:nth-child(4) .inner-team::after {
    content: "\f7a2";
}

.news-v2 .inner-style {
    border-radius: 20px;
}

#bloc-formulairev02-contact label, #bloc-formulairev02-contact a, #bloc-formulairev02-contact b {
    color: #fff !important;
}

/* FOOTER */
.footer-101-footer {
    background-color: rgb(239 239 239) !important;
}