@import url(https://fonts.googleapis.com/css?family=DM+Sans:100,200,300,regular,500,600,700,800,900,100italic,200italic,300italic,italic,500italic,600italic,700italic,800italic,900italic);
@import url(https://fonts.googleapis.com/css?family=Poppins:100,100italic,200,200italic,300,300italic,regular,italic,500,500italic,600,600italic,700,700italic,800,800italic,900,900italic);
@import url(https://fonts.googleapis.com/css?family=Princess+Sofia:regular);
@import url(https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;500;600;700&display=swap);
@import url(https://fonts.googleapis.com/css?family=Marcellus:regular);


* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    scroll-padding-top: 2em;
}

:root {
    --primary: #812626;
    --primaryS: #A62328;
    --beige: #ebe4de;
    --primary_opacity: #a6232836;
    --secondary: #6F161C;
    --textSecondary: #323232;
    --textSilver: #616161;
    --silver: #C3c3c3;
    --white: #fff;
    --silverOpacity: #e6e6e6e0;
    --princessFont: "Princess Sofia";
    --marcellus: "Marcellus";
    --dmSans: "DM Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --poppins: "Poppins", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --semiBold: 500;
    --bold: 600;
    --shadow: 0px 3px 4px rgba(0, 0, 0, 0.15);
    --shadowHover: 0px 5px 10px rgba(0, 0, 0, 0.15);
}

body {
    background: var(--bg-background);
    font-family: var(--poppins) !important;
    font-size: 0.95em;
    overflow-x: hidden !important;
    color: var(--textSecondary) !important;
}

.shadow_lg {
    box-shadow: var(--shadow) !important;
    transition: 0.1s;
}

.shadow_lg:hover {
    box-shadow: var(--shadowHover) !important;
    transform: translateY(-0.3em);
}

.cursor_pointer {
    cursor: pointer;
}

.fs_text_p {
    font-size: 1.2em;
}

/* Appliquer Playfair aux titres */
h1,
h2,
h3,
h4,
h5,
h6 {
    font-family: var(--dmSans);
}

textarea {
    resize: none !important;
}

.bg_primary {
    background: var(--primary-color);
}

.bg_secondary {
    background: var(--textSecondary);
}

.bg_beige {
    background: var(--beige) !important;
}

.text_center {
    text-align: center;
}

.text_secondary {
    color: var(--textSecondary);
}


img {
    user-select: none;
}

a {
    text-decoration: none !important;
    /* width: max-content; */
    color: inherit !important;
}

.font_marcellus {
    font-family: var(--marcellus) !important;
}

.forfait_section {
    overflow: hidden !important;
    padding: 1.5em;
}

.font-contact {
    font-family: var(--marcellus) !important;
    color: white !important;
}

ul {
    list-style-type: none;
    margin-bottom: 0 !important;

}

.text_hover {
    transition: 0.1s;
}

.text_hover:hover {
    cursor: pointer;
    color: var(--primary);
}

.text_ellipsis_2 {
    display: -webkit-box !important;
    /* Nécessaire pour le clamp */
    -webkit-box-orient: vertical !important;
    /* Orientation verticale */
    -webkit-line-clamp: 2 !important;
    /* Nombre de lignes à afficher */
    overflow: hidden !important;
    /* Masque le texte dépassant */
    text-overflow: ellipsis !important;
    /* Ajoute les "…" */
}


p,
h1,
h2,
h3,
h4,
h5,
h6 {
    margin-bottom: 0 !important;
}


i {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    font-style: normal;
}


button {
    font-family: var(--inter);
    outline: none;
    border: none;
    transition: 0.1s;
    padding: 0.8em 1.5em;
    /* border-radius: 1.5em; */
    font-weight: 500;
}

button:hover {
    cursor: pointer;
    opacity: 0.85;
}

.btn_more button:hover {
    cursor: pointer;
    opacity: 1 !important;
    scale: 1.02;
}

.btn_primary_salon {
    background: var(--primary);
    outline: 2px solid var(--primary) !important;
    color: white;
}

.btn_secondary_salon {
    background: none;
    color: var(--primary);
    outline: 2px solid var(--primary) !important;
}

.btn_outline_salon {
    background: none;
    color: white;
    outline: 2px solid white !important;
}

.btn_thirty_salon {
    background: #fff;
    color: var(--primary);
    outline: 2px solid #fff !important;
}


.font_primary {
    font-family: var(--playFair) !important;
}

.font_princess {
    font-family: var(--princessFont) !important;
}

.font_DmSans {
    font-family: var(--dmSans) !important;
}


#calendar {
    font-family: var(--dmSans) !important;

}

.fw_500 {
    font-weight: 500;
}

.fw_700 {
    font-weight: 700 !important;
}

.text_primary {
    color: var(--primary);
}

.bg_primary {
    background: var(--primary);
}

.span_primary_letter::first-letter {
    color: var(--primary);

}

.fs_sm {
    font-size: 1em;
}

.fs_md {
    font-size: 1.3em;
}

.fs_lg {
    font-size: 2em;
}

.fs_xl {
    font-size: 3em;
}

.fs_2xl {
    font-size: 3.3em;
}

.fs_3xl {
    font-size: 4em;
    line-height: 1.15em;
}

.fs_4xl {
    font-size: 4.5em;
    line-height: 1.15em;
}

.fw_600 {
    font-weight: 600;
}

.fw_700 {
    font-weight: 700;
}

/* header */
.logo_img {
    width: 4em;
    height: auto;
    border-radius: 50%;
}

/* end */
.mt_3 {
    margin-top: 4em;
}

.img_text_width {
    width: 25em;
    height: 40em;
    object-fit: cover;
    position: absolute;
    /* background: red; */
    /* border: 3px solid black; */
    max-width: max-content;
    max-height: max-content;
}

.card_1_img {
    transform: rotate(8.15deg);
}

.card_2_img {
    transform: rotate(-3.86deg);
}

.card_3_img {
    transform: rotate(1.73deg);
}


.section_p {
    padding: 1em 3em;
    /* Desktop / tablette */
}

/* Mobile */
@media (max-width: 576px) {
    .section_p {
        padding: 1em 1em;
        /* ou 0 si tu veux aucun padding */
    }
}



.grid_row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* align-items: center; */
    justify-content: center;
    gap: 5em;
}

.h_100 {
    height: 100%;
}

.img_text img:first-child {
    z-index: 99999;
    /* border: 3px solid var(--primary); */
}

/* .img_text img:nth-child(2) {
    z-index: 99;
} */

.btn_more {
    position: absolute;
    top: 20%;
    left: -8em;
    z-index: 999999;
}

.btn_more button {
    outline: 4px solid white !important;
    border-radius: 50%;
    width: 6em;
    height: 6em;
    text-align: center;
    font-size: 0.8em;
    rotate: -18deg;
}

.mt_15 {
    margin-top: 10em !important;
}

.mt_16 {
    margin-top: 11em !important;
}

.gap_12 {
    gap: 12em;
}

.btn_pagin {
    width: 3em;
    height: 3em;
    border-radius: 50%;
    cursor: pointer;
}

.btn_pagin:hover {
    opacity: 0.8;
}

.img_absolu {
    position: absolute;
    top: 0;
    left: 0;
}

.pagination_absolu {
    position: absolute;
    bottom: 0;
    /* right: 0; */
    margin-bottom: -3em;
    left: 4em;
}



.w_max {
    width: max-content;
}

.m_auto {
    margin: 0 auto;
}

.m_1 {
    margin: 1.5em 0;
    margin-bottom: 1.5em !important;
}

.m_05 {
    margin: 1em 0;
    margin-bottom: 1em !important;
}

.mt_1 {
    margin-top: 1.5em !important;
}









/* scroll infini */

.infinite_scroll {
    overflow: hidden;
    width: 100%;
}

.text_white {
    color: white;

}

.p_2 {
    padding: 1.8em;
}

.infinite_scroll {
    overflow: hidden;
    width: 100%;
    height: 20em;
}

.engagement_service {
    margin-top: -15em !important;
    background: var(--beige);
    width: 90% !important;
    padding: 3.5em;
    margin: -19.5em auto auto auto !important;
}

.m_i_3 {
    width: 90%;
    margin: auto;
}

.infinite_scroll_view {
    overflow: hidden;
    position: relative;
}

.infinite_scroll_track {
    display: inline-flex;
    align-items: center;
    gap: 3rem;
    white-space: nowrap;
    will-change: transform;
    padding: 2rem 0;
}

.infinite_scroll_track span {
    color: #fff;
    font-size: 1.1rem;
    font-weight: 500;
}

.star {
    color: #d4d4d4;
    opacity: 0.8;
}


/* engagement */
.first_span {
    color: var(--primary);
}

.temoignage_section {
    margin: 5em auto;
    width: 90%;

}

.enaggement_section {
    margin: 5em 0;
}

@media (max-width: 930px) {
    .grid_2_img {
        grid-template-columns: 1fr 1fr;
    }
}

.grid_2_img {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.transformation_section {
    margin: 5em 0;
}

.card_engagement {
    /* background: red; */
    padding: 1em;
}

.card_engagement img {
    width: 5em;
}

.w_12 {
    width: 9em;
}

.w_100 {
    width: 100% !important;
}

.grid_engagements {
    /* display: grid !important
;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    gap: 0.8em; */

    display: flex !important;
    /* grid-template-columns: 1fr 1fr; */
    gap: 0.8em;
    row-gap: 1.5em;
    flex-flow: wrap;
}

.card_engagement {
    flex: 1;
}

.infinite_scroll {
    margin: 6em auto;
}

.grid_3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.grid_2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.gap_2 {
    gap: 1.5em;
}

.card_services {
    outline: 1px solid var(--silver);
    transition: 0.1s;
}

/* .card_services:hover h3{
   color: var(--primary);
} */
.card_services:hover img {
    scale: 1.05;
    opacity: 0.9;
}

.card_services:hover {
    /* outline: 1px solid var(--primary); */
    transform: translateY(-0.3em);

}

.overlay_card {
    background: #0000005e;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.play_card {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background: var(--white);
    padding: 1em;
    transition: 0.2s;
    border-radius: 25%;
}

.play_card svg {
    fill: var(--var-primary);
}

.play_card svg path {
    stroke: var(--var-primary);
}

.pt_5 {
    padding: 4.5em 0;
}

.navbar_salon {
    padding: 1.5em 2em;
}

.li_navbar {
    transition: 0.1s;
}

.li_navbar:hover {
    color: var(--primary) !important;
}

.li_navbar_active {
    pointer-events: none;
    color: var(--primary) !important;
}

.li_navbar_active::after {
    content: '';
    display: block;
    width: 70%;
    height: 3px;
    background: var(--primary);
    margin-top: 0.3em;
    border-radius: 2px;
}

.img_service_ratio {
    width: 100%;
    aspect-ratio: 20 / 18;
    transition: 0.1s;
    object-fit: cover;
}

.img_transformation_ratio {
    width: 100%;
    /* aspect-ratio: 20 / 10; */
    transition: 0.1s;
    height: 100%;
    object-fit: cover;
    min-height: 10em;
}

.img_service_div {
    border-bottom: 1px solid var(--silverOpacity);
    overflow: hidden;
}

.img_transformation_div {
    border-bottom: 1px solid var(--silverOpacity);
    overflow: hidden;
    /* height: 35vh; */
    aspect-ratio: 16 / 10;
}

.img_transformation_div:hover .text_video {
    bottom: 0.9em !important;
    color: #fff !important;
}

.img_transformation_div:hover video {
    scale: 1.05;
}

.img_transformation_div:hover .play_card {
    background: var(--primary);
    scale: 1.02;
}

.img_transformation_div:hover .play_card svg {
    fill: var(--white) !important;
}

.img_transformation_div:hover .play_card svg path {
    stroke: var(--white) !important;
}

.img_transformation_div:hover .overlay_card {
    background: #0000009a;
}

.gap_1 {
    gap: 0.1em;
}

.text_service {
    padding: 1em;
    padding-bottom: 1.5em;
}

.text_transformation {
    padding: 1em;
    padding-bottom: 1.5em;
}

.link_more {
    cursor: pointer;
    transition: 0.1s;
    width: max-content;
    margin-top: 1em;
}

.link_more:hover {
    cursor: pointer;
    gap: 0.7em !important;
    opacity: 0.85;
}

.active_transformation {
    pointer-events: none;
    background: var(--primary) !important;
    color: #fff !important;
}




/* transformation */
.card_transformation {
    /* outline: 1px solid var(--silver); */
}

.card_transformation:hover h3 {
    color: var(--primary);
}

/* .card_transformation:hover img {
    scale: 1.05;
    opacity: 0.9;
} */

/* .card_transformation:hover {
    outline: 1px solid var(--primary);

} */

.fs_1sm {
    font-size: 1.1em;
}

.text_silver {
    color: var(--textSilver);
}

/* temoign */
.card_temoign {
    outline: 1px solid var(--silver);
}

/* .card_temoign:hover h3{
   color: var(--primary);
}
.card_temoign:hover img{
  opacity: 0.9;
}
.card_temoign:hover{
      outline: 1px solid var(--primary);

} */

.p_3 {
    padding: 1.5em;
}

.line_height_1 {
    line-height: 1.4em;
}

.img_temoign_ratio {
    outline: 3px solid var(--primary);
    width: 6em;
    border-radius: 50%;
    height: 6em;
    object-fit: cover;
}

/* faq */
.last_img_salon {
    aspect-ratio: 0 / 14;
    /* height: 35em; */
    width: 100%;
    object-fit: contain;
    /* background: red; */
    max-height: max-content;
}

.last_section {
    background: var(--primary);
    padding: 4em 0;

}

.last_content_salon {
    /* position: absolute; */
    width: 90%;
    margin: auto;
    height: 100%;
    background: var(--primary);
    top: 0;
    left: 0;
}

.last_text {
    height: 100%;
}

.w_80 {
    width: 80%;

}

.star1 {
    top: 0;
    margin: 1em;
    left: 0;
    position: absolute;
}

.star2 {
    bottom: 0;
    right: 0;
    position: absolute;
    margin: 1em;
}

/* heaader */
/* HAMBURGER */


.hamburger {
    /* width: 28px; */
    /* height: 22px; */
    display: none;
    flex-direction: column;
    /* justify-content: space-between; */
    cursor: pointer;
    gap: 0.3em;
    z-index: 999;
    margin-right: 1em;
}

.hamburger span {
    display: flex;
    width: 1.5em;
    height: 0.2em;
    background: #000;
    transition: 0.4s ease;
    border-radius: 5px;
    /* padding: 1em; */
}

/* Animation hamburger → X */
.hamburger.active span:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.hamburger.active span:nth-child(2) {
    opacity: 0;
}

.hamburger.active span:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

/* NAV MOBILE */
.nav_links {
    /* position: fixed; */
    top: 0;
    right: -100%;
    width: 100%;
    height: 0;
    background: #fff;
    /* box-shadow: -5px 0 20px rgba(0,0,0,0.1); */
    padding: 0 3em;
    transition: height 0.4s ease;
    /* display: flex; */
    flex-direction: column;
    gap: 40px;
    z-index: 998;
    /* display: none; */
    overflow: hidden;
    border-bottom: 1px solid var(--silverOpacity);
}

.nav_links.open {
    height: 19em;
    /* display: flex; */

}

.nav_links ul {
    margin-top: 1em;
    flex-direction: column;
    gap: 25px;
}

.mobile_btns {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

/* DESKTOP RESPONSIVE */
@media (max-width: 600px) {
    .mobile_none_btn {
        display: none !important;
    }

    .nav_links.open {
        height: 32em !important;
        /* display: flex; */

    }
}

@media (max-width: 1040px) {
    .hamburger {
        display: flex;
    }

    .mobile_btns {
        display: none;
    }

    .desktop_btns {
        display: none;
    }

    .nav_links ul {
        flex-direction: column;
        padding-left: 0 !important;
    }


    .li_navbar_active::after {
        content: '';
        display: none;
        width: 100% !important;
        height: 3px;
        background: var(--primary);
        margin-top: 1.3em;
        border-radius: 2px;
    }

    .nav_desktop_tojo {
        display: none !important;
    }

    .grid_contact {
        grid-template-columns: 1fr !important;
    }

    .faq_mobile {
        min-height: 70em !important;

    }

    .last_img_contact {
        min-height: 70em !important;
    }

    .justify_center_about {
        justify-content: center !important;
    }
}


.m_13 {
    margin: 5em 0;
}


.fieldset_service {
    border: 1px solid var(--silver);
    width: 100%;

}

.fieldset_service.populaire {
    border: 3px solid var(--primary);
}

.fieldset_service:hover {
    border: 2px solid var(--primary);
}

.fieldset_service.populaire:hover {
    border: 3px solid var(--primary);
}

.fieldset_service.populaire legend {
    border: 2px solid var(--primary);
    display: block;
    border-radius: 50px;
}


.fieldset_service legend {
    padding: 0.5em 1em;
    background: var(--primary);
    margin: auto;
    float: none;
    font-size: 1em;
    width: max-content;
    color: white;
    display: none;
}

.line_through {
    text-decoration: line-through;
}


.p_none {
    padding-left: 0;
}

.grid_forfait {
    display: grid !important;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: end;
    gap: 0.8em;
    /* row-gap: 1.5em; */
    flex-flow: wrap;
    margin: 2em;
}

.grid_forfait svg path {
    stroke: var(--primary);
}

/* .fieldset_service .card_forfait button{
       background: none;
    color: var(--primary) !important;
    outline: 2px solid var(--primary) !important;
} */
.counter {
    transition: transform 0.3s ease;
}

.counter:hover {
    transform: scale(1.08);
}

.card_pop_step_1 {
    outline: 1px solid silver;
    padding: 1.1em;
    /* transition: background-color 0.1s; */
}

.card_pop_step_1:hover {
    /* background: var(--silverOpacity); */
    box-shadow: 0 3px 3px 1px rgba(0, 0, 0, 0.13);
}


.service_checkbox:checked,
.card_pop_step_1 input:checked {
    border: 2px solid #812626;
}

.card_pop_step_1 input {
    display: none;
}

.card_pop_step_1 input:checked {
    outline: none;
}

/* input[type="radio"]:checked~* {
    color: inherit;
} */

.selected {
    outline: 2px solid #812626;

}

.gap_5 {
    gap: 1em;
}

.mt_5 {
    margin-top: 6em;
}

.pointer-event-none {
    pointer-events: none;
}

.img_about {
    height: 30em;
    /* background: red; */
    width: max-content;
    margin: auto;
}

.img_about img {
    height: 100%;
    margin: 0 auto;
    width: 100%;
    object-fit: cover;
    /* margin-top: 1em; */
    max-width: max-content;
    /* max-height: max-content;
     */
}

/* .img_about img:first-child {
     border-bottom: 5px solid #812626;
    border-right: 5px solid #812626;
}
.img_about img:last-child {
     border-top: 5px solid #812626;
    border-left: 5px solid #812626;
} */

.video_div::before {
    content: "";
    position: absolute;
    width: 5em;
    height: 5em;
    background: #8126262e;
    top: -2.3em;
    right: -2em;
    border-radius: 50%;
    z-index: 9999;
}

.video_div::after {
    content: "";
    position: absolute;
    width: 7em;
    height: 7em;
    background: #8126262e;
    bottom: -3.3em;
    left: -3em;
    z-index: 999;
    border-radius: 50%;
}

.img_lastSect img {
    height: 100%;
    margin: 0 auto;
    width: 100%;
    object-fit: contain;
    /* margin-top: 1em; */
    max-width: max-content;
    max-height: max-content;
}

.about_home {
    width: 95%;
    margin: 5em auto;
}


/* style */
.section_service_new {
    background: var(--beige);
    margin: 5em 0;
}

.div_seervice_new {
    width: 90%;
    margin: auto;
    padding: 5em 0;
}

.li_span_pagin span {
    background: none;
    border-radius: 50%;
    width: 3em;
    border: 2.5px solid var(--primary);
    height: 3em;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 600;
    color: var(--primary);
}

.span_active_service span {
    background: var(--primary);
    color: #ffff;
}

.grid_new_3 {
    display: grid;
    grid-template-columns: 0.4fr 2fr 2fr;
    align-items: center;
}

.ul_span_pagin {
    padding-left: 0;
    width: max-content;
}

.li_span_pagin:after {
    content: '';
    padding: 0.09em;
    background: var(--primary);
    height: 3em;
    width: 0.15em;
    margin: auto;
    display: flex;
}

.li_span_pagin:last-child::after {
    display: none !important;
}

.img_about:after {
    content: "";
    z-index: -99;
    padding: 3em;
    background: var(--primary);
    width: 90%;
    height: 90%;
    position: absolute;
    /* top: 1.5em; */
    left: -1.5em;
    bottom: -1.5em;
}

.img_lastSect {
    z-index: 999;
    height: 18em;
    width: max-content;
    margin: auto;
}

.img_lastSect:after {
    content: "";
    z-index: -99;
    padding: 3em;
    background: var(--white);
    width: 90%;
    height: 116.8%;
    position: absolute;
    /* top: 1.5em; */
    right: -1.5em;
    bottom: -1.5em;
}

@media (max-width:800px) {
    .grid_forfait {
        grid-template-columns: 1fr !important;
        align-items: center;
        margin: 0 !important;
        padding: 0 !important;
    }

}

@media (max-width:1000px) {
    .faq_p {
        height: 100% !important;
        /* overflow: hidden; */
    }

}

.faq_p {
    height: 24em;
    overflow: hidden;
}

.gap_5 {
    gap: 5em;
}



.p_3 {
    padding: 0.9em;
    font-size: 0.9em;
}

.inpt_focus:focus {
    outline: 2px solid var(--primary) !important;
}

.active_connexion {
    color: var(--primary);
    pointer-events: none;
}

.btn_connex {
    width: 100%;
    cursor: pointer;
}

.btn_connex:hover {
    color: var(--primary);
}

.gap_8 {
    gap: 3em;
}

.w_50 {
    width: 40rem;
}

.cursor_default {
    cursor: default !important;
}

input {
    accent-color: var(--primary);
}

.svg_primary {
    stroke: var(--primary);
}

.footer_pop button:disabled {
    opacity: 0.4;
    cursor: not-allowed;
    pointer-events: none;
}


.pop_overlay {
    position: fixed;
    top: 0;
    left: 0;
    background: #00000066;
    width: 100%;
    height: 100%;
    display: none;
    z-index: 9999999999999999;
}

.flatpickr-day.selected {
    border: 2px solid var(--primary) !important;
    background: var(--primary) !important;
    outline: none !important;
}

.img_text {
    position: relative;
}

.js-img {
    position: absolute;
    opacity: 0.8;
    z-index: 1;
    transition: opacity 0.4s ease;
}

.js-img.active {
    opacity: 1;
    z-index: 999999;
}

.btn_pagin.disabled {
    opacity: 0.4;
    pointer-events: none;
    cursor: not-allowed;
    filter: grayscale(100%);
    background: white;
    transition: opacity 0.3s ease;
}

.btn_pagin.disabled svg path {
    stroke: #323232;
}

.close_pop {
    cursor: pointer;
}

.close_pop:hover {
    color: var(--primary);
}

.body_pop {
    height: 100%;
    max-height: calc(60vh - 60px);
    overflow-y: auto;
    overflow-x: hidden;
}

@media (max-width:930px) {
    .carousel_slide {
        grid-template-columns: 1fr !important;
    }

    .grid_row {
        grid-template-columns: 1fr !important;
    }
}

.pop_content {
    background: white;
    width: 95%;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    border-radius: 0;
}


.head_pop {
    padding: 1.3em 1.5em;
    padding-bottom: 0;
}

/* .strepper {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
    padding: 1.3em 1.5em;
    padding-top: 0;
} */

.strepper {
    display: flex;
    /* grid-template-columns: 1fr 1fr 1fr 1fr; */
    padding: 1.3em 1.5em;
    padding-top: 0;
    justify-content: space-between;
    align-items: center;
}

.footer_pop {
    border-top: 0.5px solid var(--silver);
    padding: 1.3em 1.5em;
}

.stepper_circle {
    border-radius: 50%;
    background: var(--silverOpacity);
    width: 2.5em;
    height: 2.5em;
    display: flex;
    align-items: center;
    justify-content: center;
}

.stepper_item {
    position: relative;
}

.stepper_circle::after {
    content: "";
    /* padding: 1em; */
    background: var(--silverOpacity);
    position: absolute;
    left: 3em;
    width: 320%;
    height: 4px;
}

.stepper_item:last-child .stepper_circle::after {
    content: "";
    /* padding: 1em; */
    display: none;
}

.active_strepper .stepper_circle::after {
    content: "";
    /* padding: 1em; */
    background: var(--primary);

}

.active_strepper .stepper_circle {

    background: var(--primary) !important;
    color: #fff;

}




.pop_reserve.active_pop_reserve {
    display: block;
}

.stepper_content_1,
.stepper_content_2 {
    display: none;
}




/* carousel */
/* Base */
.card_temoign {
    display: none;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .4s ease, transform .4s ease;
}

.card_temoign.is-visible {
    display: flex;
}

.card_temoign.is-visible.is-show {
    opacity: 1;
    transform: translateY(0);
}

.card_temoign.is-hide {
    opacity: 0;
    transform: translateY(20px);
}

.disabledTemoin {
    opacity: .4;
    pointer-events: none;
}

.grid_2_temoin>.card_temoign:not(.is-visible) {
    display: none !important;
}

.grid_2_temoin {
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* force une seule ligne */

}

/* Mobile */
@media (max-width: 640px) {
    .temoignage_section {
        --cards-visible: 1;
    }

    .grid_2_temoin {
        grid-template-columns: repeat(1, 1fr);
    }

    .last_img_salon {
        aspect-ratio: 0 !important;
        height: 25em !important;
        max-height: 45em !important;
        object-fit: cover !important;
    }
}

/* Tablette */
@media (min-width: 641px) and (max-width: 1023px) {
    .temoignage_section {
        --cards-visible: 1;
    }

    .grid_2_temoin {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Desktop */
@media (min-width: 1024px) {
    .temoignage_section {
        --cards-visible: 2;
    }

    .grid_2_temoin {
        grid-template-columns: 1fr 1fr;
    }
}



.before_tr {
    padding: 0.6em 1.3em;
    background: var(--textSecondary);
    color: var(--white);
    position: absolute;
    top: 0;
    left: 0;
    font-size: 0.8em;
    border-radius: 1.2em;
    margin: 0.8em;
    /* text-transform: uppercase; */
}

.after_tr {
    padding: 0.6em 1.3em;
    background: var(--primary);
    position: absolute;
    color: var(--white);
    top: 0;
    /* text-transform: uppercase; */
    right: 0;
    border-radius: 1.2em;
    font-size: 0.8em;
    margin: 0.8em;
}

/* transfor */
.img_service::before {
    content: "";
    position: absolute;
    width: 5em;
    height: 5em;
    background: #8126262e;
    top: -2.3em;
    left: -2em;
    border-radius: 50%;
    z-index: -9;
}

.img_service {
    height: 30em;
    /* background: red; */
    width: max-content;
    margin: auto;
}

.img_service::after {
    content: "";
    position: absolute;
    width: 7em;
    height: 7em;
    background: #8126262e;
    bottom: -3.3em;
    right: -3em;
    z-index: -9;
    border-radius: 50%;
}

.img_service_new img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    max-width: max-content;
    max-height: max-content;
}


.text_hover_primary:hover {
    color: var(--primary) !important;
}



/* services */

/* carousel */
/* Base */
.card_services {
    display: none;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity .4s ease, transform .4s ease;
}

.card_services.is-visible-services {
    display: flex;
}

.card_services.is-visible-services.is-show-services {
    opacity: 1;
    transform: translateY(0);
}

.card_services.is-hide-services {
    opacity: 0;
    transform: translateY(20px);
}

.disabledServices {
    opacity: .4;
    pointer-events: none;
}

.grid_3_Services>.card_services:not(.is-visible-services) {
    display: none !important;
}

.grid_3_Services {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    /* force une seule ligne */

}

.outline1 {
    outline: 1px solid var(--silverOpacity);
}

.section_video {
    width: 100%;
    margin: auto;
    background: var(--beige);
    padding: 5em 0;
    overflow: hidden;
}

.p_video {
    width: 90%;
    margin: auto;
    background: var(--beige);
}

.text_video {
    position: absolute;
    bottom: -3.9em;
    margin: 0.9em;
    left: 0;
    color: #fff;
    transition: 0.1s;
}

.text_video:hover {
    color: #fff;
}

/* Mobile : 1 card */
@media (max-width: 640px) {
    .services_section {
        --cards-visible-services: 1;
    }

    .grid_3_Services {
        grid-template-columns: repeat(1, 1fr);
    }
}

/* Tablette : 3 cards */
@media (min-width: 641px) and (max-width: 1023px) {
    .services_section {
        --cards-visible-services: 3;
    }

    .grid_3_Services {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Desktop : 4 cards */
@media (min-width: 1024px) {
    .services_section {
        --cards-visible-services: 4;
    }

    .grid_3_Services {
        grid-template-columns: repeat(4, 1fr);
    }
}


.i_contact {
    background: var(--primary);
    width: 5em;
    height: 5em;
    border-radius: 50%;
}

.i_contact svg {
    stroke: var(--white);
}

.i_contact_i svg {
    stroke: var(--primary);
}

/* Tablette */
@media (max-width: 992px) {
    .title_text {
        font-size: 2.4rem;
    }

    .js-desc-span {
        font-size: 2rem;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .title_text {
        font-size: 1.9rem;
        line-height: 1.2;
        text-align: center;
    }

    .js-desc-span {
        font-size: 1.4rem;
        text-align: center;
    }
}

@media (max-width: 992px) {
    .fs_xl {
        font-size: 1.9rem;
    }
}

/* Mobile */
@media (max-width: 576px) {
    .fs_xl {
        font-size: 1.5rem;
        line-height: 1.25;
        text-align: center;
    }
}

@media (max-width: 576px) {
    .temoignage_track {
        padding: 0;
    }
}

.card_pop_step_1.selected {
    border: 2px solid #000;
    /* bordure plus visible */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    /* petite ombre */
    background-color: #f9f9f9;
    /* léger fond */
    transition: all 0.2s ease-in-out;
}


/* Loader premium */
#premiumLoader {
    position: fixed;
    inset: 0;
    background: rgba(18, 18, 18, 0.9);
    /* Un noir plus profond */
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 999999999;
    transition: all 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}

.loader-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
}

/* Logo : On enlève la rotation 360° qui peut faire "jouet" 
   et on mise sur un zoom progressif et élégant */
.loader-logo {
    width: 140px;
    height: auto;
    filter: drop-shadow(0 0 15px rgba(197, 160, 89, 0.2));
    /* Lueur dorée subtile */
    animation: premiumPulse 2.5s ease-in-out infinite;
}

/* Conteneur Texte */
.loader-text-container {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
}

.loader-text {
    font-family: 'Marcellus', serif;
    color: #c5a059;
    /* Or */
    text-transform: uppercase;
    letter-spacing: 5px;
    /* Très espacé pour le luxe */
    font-size: 0.8rem;
    font-weight: 500;
    margin-left: 5px;
    /* Compense l'espacement de la dernière lettre */
    animation: textFade 2s infinite;
}

/* Petite barre de chargement minimaliste */
.loader-line {
    width: 40px;
    height: 1px;
    background: rgba(197, 160, 89, 0.3);
    position: relative;
    overflow: hidden;
}

.loader-line::after {
    content: '';
    position: absolute;
    left: -100%;
    width: 100%;
    height: 100%;
    background: #c5a059;
    animation: linePass 1.5s infinite linear;
}

/* Animations */
@keyframes premiumPulse {

    0%,
    100% {
        transform: scale(1);
        opacity: 0.8;
    }

    50% {
        transform: scale(1.05);
        opacity: 1;
    }
}

@keyframes textFade {

    0%,
    100% {
        opacity: 0.5;
    }

    50% {
        opacity: 1;
    }
}

@keyframes linePass {
    0% {
        left: -100%;
    }

    100% {
        left: 100%;
    }
}

/* Masquer le loader avec un fondu propre */
#premiumLoader.hidden {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: scale(1.1);
    /* Effet de zoom arrière en sortant */
}