/* _content/FiletsChartrain/Components/Layout/MainLayout.razor.rz.scp.css */
#blazor-error-ui[b-z68fvi6zhi] {
    background: lightyellow;
    bottom: 0;
    box-shadow: 0 -1px 2px rgba(0, 0, 0, 0.2);
    display: none;
    left: 0;
    padding: 0.6rem 1.25rem 0.7rem 1.25rem;
    position: fixed;
    width: 100%;
    z-index: 1000;
}

    #blazor-error-ui .dismiss[b-z68fvi6zhi] {
        cursor: pointer;
        position: absolute;
        right: 0.75rem;
        top: 0.5rem;
    }



/*.page {
    position: relative;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.sidebar {
    background-image: linear-gradient(180deg, rgb(5, 39, 103) 0%, #3a0647 70%);
}

.top-row {
    background-color: #f7f7f7;
    border-bottom: 1px solid #d6d5d5;
    justify-content: flex-end;
    height: 3.5rem;
    display: flex;
    align-items: center;
}

    .top-row ::deep a, .top-row ::deep .btn-link {
        white-space: nowrap;
        margin-left: 1.5rem;
        text-decoration: none;
    }

    .top-row ::deep a:hover, .top-row ::deep .btn-link:hover {
        text-decoration: underline;
    }

    .top-row ::deep a:first-child {
        overflow: hidden;
        text-overflow: ellipsis;
    }

@media (max-width: 640.98px) {
    .top-row {
        justify-content: space-between;
    }

    .top-row ::deep a, .top-row ::deep .btn-link {
        margin-left: 0;
    }
}

@media (min-width: 641px) {
    .page {
        flex-direction: row;
    }

    .sidebar {
        width: 250px;
        height: 100vh;
        position: sticky;
        top: 0;
    }

    .top-row {
        position: sticky;
        top: 0;
        z-index: 1;
    }

    .top-row.auth ::deep a:first-child {
        flex: 1;
        text-align: right;
        width: 0;
    }

    .top-row, article {
        padding-left: 2rem !important;
        padding-right: 1.5rem !important;
    }
}*/


/* _content/FiletsChartrain/Components/Pages/Home.razor.rz.scp.css */

/* ================================
   LAYOUT PRINCIPAL
================================= */

/* Container général */
.main-container[b-b94rrij604] {
    margin: 0;
    padding: 0;
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row; /* par défaut desktop */
}

/* BACKGROUND IMAGE */
.container-back-home[b-b94rrij604] {
    width: 100%;
    height: clamp(300px, 90vh, 600px);
    position: relative;
    top: 0;
    z-index: 99;
    background-image: url('/img/back2.jpg');
    background-repeat: no-repeat;
    background-position: top center;
    background-size: cover;
    margin-bottom: 20vw;
    /* position */
    display: flex;
    justify-content: center; /* centre horizontalement */
    align-items: center; /* centre verticalement */
    text-align: center; /* optionnel si texte multi-lignes */
}


/* ----------------------------
   Tablette portrait / moyen écran
   768px - 1024px
---------------------------- */
@media only screen and (min-width: 768px) and (max-width: 1024px) {

    .container-back-home[b-b94rrij604] {
        height: 65vh;
    }
}

/* ----------------------------
   Mobile
   <768px
---------------------------- */
@media only screen and (max-width: 767px) {

    .main-container[b-b94rrij604] {
        flex-direction: column; /* blocs qui s’empilent */
    }

    .container-back-home[b-b94rrij604] {
        height: 45vh;
    }
}
/* _content/FiletsChartrain/Components/Pages/MentionsLegales.razor.rz.scp.css */
/* =============================
   MENTIONS LEGALES - responsive
   Desktop-first (>=1025px), tablette <=1024, mobile <=767
   ============================= */
/* CONTENT ANNEXE - desktop defaults */
.content-annexe[b-lo3tczr9yq] {
    height: 100%;
    min-height: 90vh;
    width: 100%;
    box-sizing: border-box;
}

/* header area */
.head-annexe[b-lo3tczr9yq] {
    position: relative; /* pour ancrer .button-return */
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 7rem;
    background-color: var(--color-third);
    color: var(--color-primary);
    box-sizing: border-box;
    padding: 0 1rem;
}

/* Retour / bouton */
.button-return[b-lo3tczr9yq] {
    width: auto;
    height: 6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    left: 0.75rem;
    top: 0.75rem;
    border: none;
    /*font-size: 1.1rem;*/
    border-radius: 0.3rem;
    background: var(--color-primary);
    padding: 0.3rem 0.8rem;
    box-sizing: border-box;
}

.button-return:hover[b-lo3tczr9yq] {
    transform:scale(1.05);
    background: var(--color-primary-hover);
}



.head-annexe a .button-return[b-lo3tczr9yq] {
    color: var(--color-third);
}

/* layout inside button */
.button-return div:first-child[b-lo3tczr9yq] {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.5rem;
    align-items: center;
}

.button-return img[b-lo3tczr9yq] {
    width: 3.5rem;
    height: auto;
}

.button-return div:last-child[b-lo3tczr9yq] {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    margin-top: 0;
    font-size: clamp(0.8rem, 2vw, 1.5rem);
}


/* container-annexe defaults (desktop) */
.container-annexe[b-lo3tczr9yq] {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: var(--color-white);
    color: var(--color-third);
    box-sizing: border-box;
    padding: 2rem 1rem;
}

    /* bloc texte */
    .container-annexe .bloc-txt-annexe[b-lo3tczr9yq] {
        padding-top: 1rem;
    }

/* title */
.title[b-lo3tczr9yq] {
    font-size: clamp(1rem, 2.2vw, 2.6rem);
    font-family: 'Montserrat';
    font-weight: 700;
    line-height: 1;
    padding-top: 0;
    margin-bottom: 0.5rem;
    margin-left: clamp(2.5rem, 3vw, 4rem);
    color: var(--color-primary);
}

/* subtitle */
.sub-title[b-lo3tczr9yq] {
    padding: 0;
    font-size: clamp(1rem, 0.9vw + 0.6rem, 1.4rem);
    font-family: 'Montserrat';
    font-weight: 200;
    max-width: 80ch;
    margin: 0 auto;
    box-sizing: border-box;
    color: var(--color-txt-primary);
}

            /* highlight first paragraph */
            .sub-title p:first-child[b-lo3tczr9yq] {
                color: var(--color-primary);
                font-weight: 600;
            }

            /* ensure long paragraphs don't span the full width on large screens */
            .sub-title p:last-child[b-lo3tczr9yq] {
                max-width: 70ch; /* comfortable reading width */
                margin: 0.5rem auto 0 auto;
                padding: 0;
                box-sizing: border-box;
            }


    /* Base (desktop-first) */
    .container-annexe .bloc-mention-annexe[b-lo3tczr9yq] {
        width: 100%;
        display: flex;
        flex-direction: row;
        justify-content: space-around;
        align-items: flex-start;
        gap: 2rem;
        padding: 2rem 0;
        flex-wrap: wrap; /* permet de wrapper si l'espace manque */
        box-sizing: border-box;
    }

        /* chaque colonne dans bloc-mention-annexe */
        .container-annexe .bloc-mention-annexe > div[b-lo3tczr9yq] {
            /* 4 colonnes desktop : ~23% each, avec min-width pour sécurité */
            flex: 0 1 calc(30% - 2rem);
            min-width: 200px;
            box-sizing: border-box;
            text-align:left;
        }

        /* titre interne */
        .container-annexe .bloc-mention-annexe b[b-lo3tczr9yq] {
            font-size: clamp(1rem, 1.2vw + 0.8rem, 1.8rem);
            color: var(--color-primary);
            display: inline-block;
        }


/* cookie UI */
.cookie-reset[b-lo3tczr9yq] {
    margin-top: 1em;
    text-align: left;
}

.btn-reset-consent[b-lo3tczr9yq] {
    font-size: 1rem;
    color: var(--color-secondary);
    background: none;
    border: none;
    text-decoration: underline;
    padding: 0;
}

    .btn-reset-consent:hover[b-lo3tczr9yq] {
        color: var(--color-secondary-hover);
        transform: scale(1.1);
        cursor: pointer;
    }



/* utility classes used in HTML: .container-row .container-col etc assumed to exist elsewhere */

/* ===========================
   Tablet (<= 1024px) adjustments
   =========================== */
@media (max-width: 1024px) {

    /* header slightly smaller */
    .head-annexe[b-lo3tczr9yq] {
        height: 6rem;
    }

    .button-return[b-lo3tczr9yq] {
        height: 5rem;
        /*font-size: 1rem;*/
        left: 0.6rem;
        top: 0.6rem;
        padding: 0.25rem 0.6rem;
    }

        .button-return img[b-lo3tczr9yq] {
            width: 2.8rem;
        }

    /* bloc-mention layout: prefer 2 columns or wrap to 3 depending on width */
    .container-annexe .bloc-mention-annexe > div[b-lo3tczr9yq] {
        flex: 0 1 calc(33.333% - 2rem);
        min-width: 200px;
    }

    /* subtitle padding reduced for tablet */
    .container-annexe .bloc-txt-annexe .sub-title p:first-child[b-lo3tczr9yq] {
        padding: 0 2rem;
    }

    .container-annexe .bloc-txt-annexe .sub-title p:last-child[b-lo3tczr9yq] {
        padding: 0 1.5rem;
    }
}

/* ===========================
   Mobile (<= 767px) adjustments
   =========================== */
@media (max-width: 767px) {

    .content-annexe[b-lo3tczr9yq] {
        min-height: auto;
    }

    .head-annexe[b-lo3tczr9yq] {
        height: 5rem;
        padding: 0 0.75rem;
    }

    .button-return[b-lo3tczr9yq] {
        height: 4rem;
        left: 0.5rem;
        top: 0.5rem;
        padding: 0.25rem 0.6rem;
        background: var(--color-primary);
        color: var(--color-third);
        border-radius: 0.35rem;
    }

        .button-return img[b-lo3tczr9yq] {
            width: 2.2rem;
        }

    /* container becomes single column */
    .container-annexe[b-lo3tczr9yq] {
        padding: 1rem 1rem;
        text-align: left;
    }

        .container-annexe .bloc-txt-annexe .sub-title[b-lo3tczr9yq] {
            font-size: clamp(0.95rem, 2.5vw, 1.05rem);
            text-align: left;
        }

            .container-annexe .bloc-txt-annexe .sub-title p:first-child[b-lo3tczr9yq] {
                padding: 0;
                margin-bottom: 0.5rem;
            }

            .container-annexe .bloc-txt-annexe .sub-title p:last-child[b-lo3tczr9yq] {
                padding: 0;
                margin: 0;
                max-width: 100%;
                text-align: left;
            }

        /* bloc-mention-annexe stacks vertically */
        .container-annexe .bloc-mention-annexe[b-lo3tczr9yq] {
            flex-direction: column;
            gap: 1rem;
            align-items: flex-start;
            padding: 1rem 0;
        }

            .container-annexe .bloc-mention-annexe > div[b-lo3tczr9yq] {
                width: 100%;
                flex: 0 1 100%;
                min-width: 0;
                padding: 0 0.25rem;
                box-sizing: border-box;
            }


    /* cookie button alignment */
    .cookie-reset[b-lo3tczr9yq] {
        margin-top: 1rem;
        text-align: left;
    }

    /* small tweaks to spacing */
    .container-annexe .bloc-txt-annexe[b-lo3tczr9yq] {
        padding-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
}
/* _content/FiletsChartrain/Components/Pages/PolitiqueConfident.razor.rz.scp.css */
/* =============================
   MENTIONS LEGALES - responsive
   Desktop-first (>=1025px), tablette <=1024, mobile <=767
   ============================= */
/* CONTENT ANNEXE - desktop defaults */
.content-annexe[b-fz1g4ovmt5] {
    height: 100%;
    min-height: 90vh;
    width: 100%;
    box-sizing: border-box;
}

/* header area */
.head-annexe[b-fz1g4ovmt5] {
    position: relative; /* pour ancrer .button-return */
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 7rem;
    background-color: var(--color-third);
    color: var(--color-primary);
    box-sizing: border-box;
    padding: 0 1rem;
}

/* Retour / bouton */
.button-return[b-fz1g4ovmt5] {
    width: auto;
    height: 6rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    position: absolute;
    left: 0.75rem;
    top: 0.75rem;
    border: none;
    /*font-size: 1.1rem;*/
    border-radius: 0.3rem;
    background: var(--color-primary);
    padding: 0.3rem 0.8rem;
    box-sizing: border-box;
}

    .button-return:hover[b-fz1g4ovmt5] {
        transform: scale(1.05);
        background: var(--color-primary-hover);
    }



.head-annexe a .button-return[b-fz1g4ovmt5] {
    color: var(--color-third);
}

/* layout inside button */
.button-return div:first-child[b-fz1g4ovmt5] {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 0.5rem;
    align-items: center;
}

.button-return img[b-fz1g4ovmt5] {
    width: 3.5rem;
    height: auto;
}

.button-return div:last-child[b-fz1g4ovmt5] {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    margin-top: 0;
    font-size: clamp(0.8rem, 2vw, 1.5rem);
}


/* container-annexe defaults (desktop) */
.container-annexe[b-fz1g4ovmt5] {
    display: flex;
    flex-direction: column;
    justify-content: space-around;
    width: 100%;
    height: 100%;
    text-align: center;
    background-color: var(--color-white);
    color: var(--color-third);
    box-sizing: border-box;
    padding: 2rem 1rem;
}

    /* bloc texte */
    .container-annexe .bloc-txt-annexe[b-fz1g4ovmt5] {
        padding-top: 1rem;
    }

/* title */
.title[b-fz1g4ovmt5] {
    font-size: clamp(0.8rem, 2.2vw, 2.6rem);
    font-family: 'Montserrat';
    font-weight: 700;
    line-height: 1;
    padding-top: 0;
    margin-bottom: 0.5rem;
    margin-left: clamp(2.5rem, 3vw, 4rem);
    color: var(--color-primary);
}

/* subtitle */
.sub-title[b-fz1g4ovmt5] {
    padding: 0;
    font-size: clamp(1rem, 0.9vw + 0.6rem, 1.4rem);
    font-family: 'Montserrat';
    font-weight: 200;
    max-width: 80ch;
    margin: 0 auto;
    box-sizing: border-box;
    color: var(--color-txt-primary);
}

    /* highlight first paragraph */
    .sub-title p:first-child[b-fz1g4ovmt5] {
        color: var(--color-primary);
        font-weight: 600;
    }

    /* ensure long paragraphs don't span the full width on large screens */
    .sub-title p:last-child[b-fz1g4ovmt5] {
        max-width: 70ch; /* comfortable reading width */
        margin: 0.5rem auto 0 auto;
        padding: 0;
        box-sizing: border-box;
    }


/* Base (desktop-first) */
.container-annexe .bloc-mention-annexe[b-fz1g4ovmt5] {
    width: 100%;
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    align-items: flex-start;
    gap: 2rem;
    padding: 2rem 0;
    flex-wrap: wrap; /* permet de wrapper si l'espace manque */
    box-sizing: border-box;
}

    /* chaque colonne dans bloc-mention-annexe */
    .container-annexe .bloc-mention-annexe > div[b-fz1g4ovmt5] {
        /* 4 colonnes desktop : ~23% each, avec min-width pour sécurité */
        flex: 0 1 calc(30% - 2rem);
        min-width: 200px;
        box-sizing: border-box;
        text-align: left;
    }

    /* titre interne */
    .container-annexe .bloc-mention-annexe b[b-fz1g4ovmt5] {
        font-size: clamp(1rem, 1.2vw + 0.8rem, 1.8rem);
        color: var(--color-primary);
        display: inline-block;
    }


/* ===========================
   Tablet (<= 1024px) adjustments
   =========================== */
@media (max-width: 1024px) {

    /* header slightly smaller */
    .head-annexe[b-fz1g4ovmt5] {
        height: 6rem;
    }

    .button-return[b-fz1g4ovmt5] {
        height: 5rem;
        /*font-size: 1rem;*/
        left: 0.6rem;
        top: 0.6rem;
        padding: 0.25rem 0.6rem;
    }

        .button-return img[b-fz1g4ovmt5] {
            width: 2.8rem;
        }

    /* bloc-mention layout: prefer 2 columns or wrap to 3 depending on width */
    .container-annexe .bloc-mention-annexe > div[b-fz1g4ovmt5] {
        flex: 0 1 calc(33.333% - 2rem);
        min-width: 200px;
    }

    /* subtitle padding reduced for tablet */
    .container-annexe .bloc-txt-annexe .sub-title p:first-child[b-fz1g4ovmt5] {
        padding: 0 2rem;
    }

    .container-annexe .bloc-txt-annexe .sub-title p:last-child[b-fz1g4ovmt5] {
        padding: 0 1.5rem;
    }
}

/* ===========================
   Mobile (<= 767px) adjustments
   =========================== */
@media (max-width: 767px) {

    .content-annexe[b-fz1g4ovmt5] {
        min-height: auto;
    }

    .head-annexe[b-fz1g4ovmt5] {
        height: 5rem;
        padding: 0 0.75rem;
    }

    .button-return[b-fz1g4ovmt5] {
        height: 4rem;
        left: 0.5rem;
        top: 0.5rem;
        /*font-size: 0.95rem;*/
        padding: 0.25rem 0.6rem;
        background: var(--color-primary);
        color: var(--color-third);
        border-radius: 0.35rem;
    }

        .button-return img[b-fz1g4ovmt5] {
            width: 2.2rem;
        }

    /* container becomes single column */
    .container-annexe[b-fz1g4ovmt5] {
        padding: 1rem 1rem;
        text-align: left;
    }

        .container-annexe .bloc-txt-annexe .sub-title[b-fz1g4ovmt5] {
            font-size: clamp(0.95rem, 2.5vw, 1.05rem);
            text-align: left;
        }

            .container-annexe .bloc-txt-annexe .sub-title p:first-child[b-fz1g4ovmt5] {
                padding: 0;
                margin-bottom: 0.5rem;
            }

            .container-annexe .bloc-txt-annexe .sub-title p:last-child[b-fz1g4ovmt5] {
                padding: 0;
                margin: 0;
                max-width: 100%;
                text-align: left;
            }

        /* bloc-mention-annexe stacks vertically */
        .container-annexe .bloc-mention-annexe[b-fz1g4ovmt5] {
            flex-direction: column;
            gap: 1rem;
            align-items: flex-start;
            padding: 1rem 0;
        }

            .container-annexe .bloc-mention-annexe > div[b-fz1g4ovmt5] {
                width: 100%;
                flex: 0 1 100%;
                min-width: 0;
                padding: 0 0.25rem;
                box-sizing: border-box;
            }


    /* small tweaks to spacing */
    .container-annexe .bloc-txt-annexe[b-fz1g4ovmt5] {
        padding-top: 0.5rem;
        margin-bottom: 0.5rem;
    }
}
/* _content/FiletsChartrain/Components/Widgets/Chatbot.razor.rz.scp.css */

.chatbot-fab[b-pqxyxgrkhx] {
    position: fixed;
    bottom: 20px;
    right: 20px;
    background-color: var(--color-primary);
    color: white;
    border: none;
    border-radius: 50%;
    width: 56px;
    height: 56px;
    font-size: 28px;
    cursor: pointer;
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
    z-index: 999;
}

.chatbot-container[b-pqxyxgrkhx] {
    position: fixed;
    bottom: 90px;
    right: 20px;
    width: 320px;
    max-height: 450px;
    background-color: white;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.2);
    display: flex;
    flex-direction: column;
    font-family: Arial, sans-serif;
    z-index: 998;
    overflow: hidden;
    border: 1px solid #ccc;
    animation: fadeInUp-b-pqxyxgrkhx 0.3s ease-out;
}

.chatbot-header[b-pqxyxgrkhx] {
    background-color: var(--color-primary);
    color: white;
    padding: 10px;
    font-weight: bold;
    font-size: 1rem;
    text-align: center;
}

.messages[b-pqxyxgrkhx] {
    flex-grow: 1;
    padding: 10px;
    overflow-y: auto;
}

.message[b-pqxyxgrkhx] {
    padding: 8px 12px;
    margin-bottom: 8px;
    border-radius: 16px;
    max-width: 80%;
    animation: fadeInUp-b-pqxyxgrkhx 0.3s ease-out;
}

    .message.user[b-pqxyxgrkhx] {
        background-color: var(--color-primary);
        color: white;
        align-self: flex-end;
    }

    .message.bot[b-pqxyxgrkhx] {
        background-color: #f0f0f0;
        color: black;
        align-self: flex-start;
    }

.input-area[b-pqxyxgrkhx] {
    min-height: 3rem;
    width:90%;
    display: flex;
    border-top: 1px solid #ddd;
    margin: 0.8rem auto;
}

    .input-area input[type="text"][b-pqxyxgrkhx] {
        flex-grow: 1;
        padding: 8px;
        margin: 0.8rem auto;
        font-size: 1em;
        border: none;
        outline: none;
        border-radius: 0;
    }

    .input-area button[b-pqxyxgrkhx] {
        background-color: var(--color-primary);
        border: none;
        color: white;
        padding: 0 16px;
        font-size: 1em;
        cursor: pointer;
    }

@keyframes fadeInUp-b-pqxyxgrkhx {
    from {
        transform: translateY(10px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* _content/FiletsChartrain/Components/Widgets/CompanyHighlights/CompanyHighlights.razor.rz.scp.css */

/* ================================
   CompanyHighlights Scoped Responsive
================================= */

/* Container principal */
.description[b-dx5qf8xg2s] {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-height: 60rem;
    padding: 6rem 0;
    align-items: center;
    background-color: black;
}

section .sub-tag-line-description[b-dx5qf8xg2s] {
    color: var(--color-dark);
    text-align: center;
    font-size: clamp(0.9rem, 0.8rem + 0.5vw, 1rem);
    line-height: 0;
}

/* Orbit */
.orbit-container[b-dx5qf8xg2s] {
    position: relative;
    width: 100%;
    height: auto;
    min-height: 45rem;
    margin: auto;
    overflow: hidden;
}


.orbit-center[b-dx5qf8xg2s] {
    position: absolute;
    background: var(--color-txt-dark);
    border: 4px solid var(--color-primary);
    border-radius: 50%;
    width: clamp(6rem, 10vw, 10rem);
    height: clamp(6rem, 10vw, 10rem);
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
}

.orbit-center[b-dx5qf8xg2s] {
    
}


    .orbit-center img[b-dx5qf8xg2s] {
        height: clamp(2rem, 5vw, 4rem);
        width: auto;
    }

/* Items orbitaux */
.orbit-item[b-dx5qf8xg2s] {
    width: 13rem;
    height: 13rem;
    border-radius: 50%;
    position: absolute;
    background: white;
    padding: 0.5rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
    opacity: 0;
    color: var(--color-primary);
    border: solid var(--color-primary) 4px;
    transform: translate(0,0);
    transition: transform 1s cubic-bezier(0.68, -0.55, 0.27, 1.55), opacity 1s ease-in;
}


    .orbit-item.visible[b-dx5qf8xg2s] {
        opacity: 1;
    }

    /* Hover moderne */
    .orbit-item:hover[b-dx5qf8xg2s] {
        background: var(--color-primary-hover);
        color: white;
        font-size: clamp(1rem, 1vw + 0.2rem, 1.3rem);
        cursor: pointer;
        opacity: 1;
        transition: transform 0.3s ease-out;
        transform: translateY(-5px) scale(1.05) rotate(-3deg);
    }

/* Positions fixes pour desktop */
.orbit-top[b-dx5qf8xg2s] {
    top: -100px;
    left: 10%;
}

.orbit-left[b-dx5qf8xg2s] {
    top: 30%;
    left: -200px;
}

.orbit-right[b-dx5qf8xg2s] {
    top: 30%;
    right: -200px;
}

/* Animation flottante */
@keyframes float-b-dx5qf8xg2s {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-5px);
    }

    100% {
        transform: translateY(0);
    }
}

.orbit-top.orbit-item-show[b-dx5qf8xg2s] {
    animation: float-b-dx5qf8xg2s 4s ease-in-out infinite 0.5s;
}

.orbit-left.orbit-item-show[b-dx5qf8xg2s] {
    animation: float-b-dx5qf8xg2s 4s ease-in-out infinite 0.7s;
}

.orbit-right.orbit-item-show[b-dx5qf8xg2s] {
    animation: float-b-dx5qf8xg2s 4s ease-in-out infinite 0.9s;
}

/* JS actif — neutralisation positions fixes */
.orbit-js .orbit-item[b-dx5qf8xg2s] {
    left: 0 !important;
    top: 0 !important;
    right: auto !important;
    bottom: auto !important;
    --x: 0px;
    --y: 0px;
    --hoverY: 0px;
    --scale: 1;
    transform: translate(var(--x), var(--y)) translateY(var(--hoverY)) scale(var(--scale));
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.5s ease;
}

    .orbit-js .orbit-item.visible[b-dx5qf8xg2s] {
        opacity: 1;
    }

    .orbit-js .orbit-item:hover[b-dx5qf8xg2s] {
        --hoverY: -5px;
        --scale: 1.05;
    }

/* ================================
   MEDIA QUERIES
================================= */

/* Desktop >=1025px */
@media (min-width: 1025px) {

    .orbit-center[b-dx5qf8xg2s] {
        width: 150px;
        height: 150px;
    }


}

/* Tablette 768-1024px */
@media (min-width: 768px) and (max-width: 1024px) {


    .orbit-center[b-dx5qf8xg2s] {
        width: 120px;
        height: 120px;
    }


}

/* Mobile <=767px */
@media (max-width: 767px) {

    .orbit-container[b-dx5qf8xg2s] {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 2rem;
        min-height: auto;
    }

    .orbit-item[b-dx5qf8xg2s] {
        position: static !important;
        /*transform: none !important;
        opacity: 1 !important;*/
        border-radius: 0.5rem;
        position: relative;
        opacity: 0; /* départ invisible */
        transform: translateX(-50px); /* départ à gauche */
        transition: transform 0.6s ease, opacity 0.6s ease;
    }


        .orbit-item.show[b-dx5qf8xg2s] {
            opacity: 1;
            transform: translateX(0); /* arrive à sa position finale */
        }

    .orbit-center[b-dx5qf8xg2s] {
       display:none;
    }

   /* .orbit-item {
        width: 11rem;
        height: 11rem;
    }*/

    .description[b-dx5qf8xg2s] {
        padding: 3rem 1rem;
        min-height: auto;
    }

    .sub-tag-line-description[b-dx5qf8xg2s] {
        font-size: clamp(0.8rem, 0.7rem + 0.5vw, 0.9rem);
    }
}
/* _content/FiletsChartrain/Components/Widgets/CompanyZone/CompanyZone.razor.rz.scp.css */
.zone[b-dabjmqkwdj] {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    min-height: 35rem;
    padding: clamp(3rem, 12vw, 8rem) 0; /* adaptatif */

}

/* Blocs texte */
.item[b-dabjmqkwdj] {
    flex: 0 1 clamp(8rem, 12vw, 12rem); /* largeur responsive */
    height: clamp(6rem, 8vw, 8rem);
    margin: 1rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    color: var(--color-txt-dark);
    opacity: 0;
    transform: translateY(30px) scale(0.95);
    transition: opacity 0.6s ease-out, transform 0.6s ease-out;
}

    .item:hover[b-dabjmqkwdj] {
        transform: translateY(-8px) scale(1.05);
        box-shadow: 0 12px 24px rgba(0,0,0,0.2);
        transition: transform 0.3s ease-out, box-shadow 0.3s ease-out;
        cursor: pointer;
    }

        .item:hover .font-bold[b-dabjmqkwdj] {
            color: var(--color-primary-hover);
        }

.item-right[b-dabjmqkwdj],
.item-left[b-dabjmqkwdj] {
    margin-top: clamp(2rem, 5vw, 4rem); /* marge adaptative */
}

/* Cercle camion */
.circle-cta[b-dabjmqkwdj] {
    width: clamp(200px, 25vw, 300px);
    height: clamp(200px, 25vw, 300px);
    border-radius: 50%;
    border: 4px solid var(--color-txt-dark);
    background-color: var(--color-primary);
    display: flex;
    justify-content: center;
    align-items: center;
    transition: transform 0.6s ease-out;
}

/* Camion */
#truck-img[b-dabjmqkwdj] {
    width: 90%;
    height: auto;
   /* max-width: 380px;*/ /* limite haute pour éviter débordement */
    transition: transform 0.6s ease-out;
}

/* Hover cercle */
.circle-cta:hover[b-dabjmqkwdj] {
    transform: scale(1.05) rotate(-3deg);
    transition: transform 0.3s ease-out;
    cursor: pointer;
}

/* RESPONSIVE : mobiles */
/* ---------- MOBILE : forcer colonne + centrage et taille adaptative ---------- */
@media (max-width: 767px) {
    /* Empiler les container-row à l'intérieur du bloc marginTB4 */
    .zone .marginTB4[b-dabjmqkwdj] {
        display: flex;
        flex-direction: column;
        gap: 0rem;
        align-items: center;
    }

    /* Chaque row devient une colonne centrée */
    .zone .container-row[b-dabjmqkwdj] {
        display: flex;
        flex-direction: column;
        gap: 0rem;
        width: 100%;
        align-items: center;
    }

    /* Le wrapper du cercle : largeur pleine et centré */
    .zone .marginLR2[b-dabjmqkwdj] {
        width: 100%;
        display: flex;
        justify-content: center;
        align-items: center;
        padding: 0.25rem 0;
        box-sizing: border-box;
    }



    /* Items en pleine largeur (mais limitée pour éviter trop large) */
    .zone .item[b-dabjmqkwdj] {
        width: 100%;
        max-width: 34rem; /* confort visuel */
        max-height: 2rem;
        margin: 0;
        box-sizing: border-box;
        opacity: 0;
        animation: floatOrbit-b-dabjmqkwdj 6s ease-in-out infinite; /* une orbite plus légère */
    }

    .item-top[b-dabjmqkwdj] {
        margin: 0 !important;

    }
    .item-left[b-dabjmqkwdj], item-right[b-dabjmqkwdj] {
        margin-bottom: 1rem !important;      
        transform: translateX(-50px); /* départ à gauche */
        transition: transform 0.6s ease-out, opacity 0.6s ease-out;
    }


    /* Cercle camion centre sa taille */
    .zone .circle-cta[b-dabjmqkwdj] {
        margin: 0.5rem 0 1rem;
        width: clamp(160px, 45vw, 240px);
        height: clamp(160px, 45vw, 240px);
        animation: floatOrbit-b-dabjmqkwdj 6s ease-in-out infinite; /* une orbite plus légère */
    }

    /* Neutraliser les hover sur mobile (utile si on utilise transform pour le slide) */
    .zone .item:hover[b-dabjmqkwdj] {
        transform: none;
        box-shadow: none;
    }

    /* flottement / mini orbite pour mobile */
    @keyframes floatOrbit-b-dabjmqkwdj {
        0% {
            transform: translateX(0px) translateY(0px) scale(1);
        }

        25% {
            transform: translateX(6px) translateY(-3px) scale(1.03);
        }

        50% {
            transform: translateX(0px) translateY(3px) scale(1.05);
        }

        75% {
            transform: translateX(-6px) translateY(-2px) scale(1.03);
        }

        100% {
            transform: translateX(0px) translateY(0px) scale(1);
        }
    }

    /* Forcer le camion en premier dans la colonne */
    .marginTB4 .elementMobileTop[b-dabjmqkwdj], /* la div contenant les item texte et l'image du camion passe en haut */
    .blocTop[b-dabjmqkwdj] /* l'image du camion passe en haut */ {
        order: -1;
    }

}


/* _content/FiletsChartrain/Components/Widgets/ConsentCookies/ConsentCookies.razor.rz.scp.css */
/* Styles généraux pour cookie-banner et cookie-settings-panel */
#cookie-banner[b-fnd99tytge],
#cookie-settings-panel[b-fnd99tytge] {
    width: 85%;
    max-width: 29.5rem;
    position: fixed;
    bottom: 5rem;
    left: 50%;
    transform: translateX(-50%);
    background-color: var(--color-dark);
    color: white;
    padding: 16px 20px;
    border-radius: 10px;
    font-size: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    box-shadow: 0 6px 15px rgba(0,0,0,0.35);
    z-index: 9999;
    animation: fadeIn-b-fnd99tytge 0.5s ease-out forwards;
}

    #cookie-settings-panel h2[b-fnd99tytge] {
        font-size:1.8rem;
    }

    #cookie-banner p[b-fnd99tytge],
    #cookie-settings-panel p[b-fnd99tytge] {
        text-align: center;
        line-height: 1.4;
        margin: 0 0 12px 0;
    }

.cookie-actions[b-fnd99tytge] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
}

.cookie-categories[b-fnd99tytge] {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 100%;
}

    .cookie-categories label[b-fnd99tytge] {
        display: flex;
        flex-direction: row;
        justify-content: flex-start;
        font-size: 14px;
    }

    .cookie-categories input[type="checkbox"][b-fnd99tytge] {
        margin: 0 2rem 0 0;
        transform: scale(1.2);
        width: 2rem;
        height: 2rem;
        border: none;
    }

        .cookie-categories input[type="checkbox"]:hover[b-fnd99tytge] {
            cursor: pointer;
        }

    .cookie-categories .desc[b-fnd99tytge] {
        font-size: 12px;
        color: #ccc;
    }

/* Buttons */
.cookie-actions button[b-fnd99tytge] {
    padding: 8px 20px;
    border: none;
    border-radius: 6px;
    font-weight: bold;
    transition: transform 0.2s ease, background-color 0.2s ease;
    cursor: pointer;
}

#cookie-accept[b-fnd99tytge] {
    background-color: var(--color-success);
    color: #001624;
}

    #cookie-accept:hover[b-fnd99tytge] {
        background-color: var(--color-success-hover);
        transform: scale(1.1);
    }

#cookie-settings[b-fnd99tytge] {
    background-color: var(--color-primary);
    color: #fff;
}

    #cookie-settings:hover[b-fnd99tytge] {
        background-color: var(--color-primary-hover);
        transform: scale(1.1);
    }

#cookie-save[b-fnd99tytge] {
    background-color: var(--color-secondary);
    color: #001624;
}

    #cookie-save:hover[b-fnd99tytge] {
        background-color: var(--color-secondary-hover);
        transform: scale(1.1);
    }

#cookie-quit[b-fnd99tytge] {
    background-color: var(--color-error);
    color: #001624;
}

    #cookie-quit:hover[b-fnd99tytge] {
        background-color: var(--color-error-hover);
        transform: scale(1.1);
    }

/* Animations */
@keyframes fadeIn-b-fnd99tytge {
    0% {
        opacity: 0;
        transform: translateY(30px);
    }

    100% {
        opacity: 1;
        transform: translateY(0);
    }
}

/* =============================
   Responsive design breakpoints
============================= */

/* Desktop / grand écran */
@media (min-width: 1025px) {
    #cookie-banner[b-fnd99tytge],
    #cookie-settings-panel[b-fnd99tytge] {
        bottom: 5rem;
        left: 30%;
        transform: translateX(-50%);
        font-size: 14px;
        max-width: 29.5rem;
    }

    .cookie-categories input[type="checkbox"][b-fnd99tytge] {
        margin-left: 2rem;
        transform: scale(1.2);
    }
}

/* Tablette portrait / moyen écran */
@media (min-width: 768px) and (max-width: 1024px) {
    #cookie-banner[b-fnd99tytge],
    #cookie-settings-panel[b-fnd99tytge] {
        bottom: 4rem;
        left: 40%;
        transform: translateX(-50%);
        font-size: 13px;
        max-width: 25rem;
    }

    .cookie-categories input[type="checkbox"][b-fnd99tytge] {
        margin-left: 1.5rem;
        transform: scale(1.1);
    }
}

/* Mobile */
@media (max-width: 767px) {
    #cookie-banner[b-fnd99tytge],
    #cookie-settings-panel[b-fnd99tytge] {
        bottom: 2rem;
        left: 5%;
        transform: translateX(-50%);
        font-size: 12px;
        max-width: 90%;
        padding: 12px 16px;
    }

    .cookie-actions button[b-fnd99tytge] {
        padding: 6px 10px;
        font-size: 12px;
    }

    .cookie-categories input[type="checkbox"][b-fnd99tytge] {
        margin-left: 1rem;
        transform: scale(1);
        width: 1.5rem;
        height: 1.5rem;
    }

    .cookie-categories .desc[b-fnd99tytge] {
        font-size: 11px;
    }
}
/* _content/FiletsChartrain/Components/Widgets/ContactForm/ContactForm.razor.rz.scp.css */
/* ===============================
   Contact & Social Component CSS
   Responsive
=============================== */

/* === Desktop (>= 1025px) === */
/* => inchangé, ta base fonctionne bien */

/* Variables locales au composant */
.contact-us[b-b17d2kxwbi] {
    --accent: #f07e26;
    --accent-ring: rgba(240,126,38,.25);
    --card-bg: #fff;
    --border: #f07e26;
    --text-muted: #8a8fa3;
     /*Animation d’apparition globale */
    opacity: 1;
    transform: translateY(12px);
    transition: opacity .6s ease, transform .6s ease;
}

    .contact-us.cu-visible[b-b17d2kxwbi] {
        opacity: 1;
        transform: translateY(0);
    }

 /*Carte du formulaire */
.contact-us .container-form-add-big[b-b17d2kxwbi] {
        background: var(--card-bg);
        border: 1px solid var(--border);
        border-radius: 14px;
        padding: clamp(1rem, 2vw, 1.5rem);
        box-shadow: 0 12px 30px rgba(235,123,12,.06);
        animation: fadeSlide-b-b17d2kxwbi 0.8s ease forwards;
        animation-delay: 0.3s;
    }

/* Animation de fade + slide */
@keyframes fadeSlide-b-b17d2kxwbi {
    from {
        opacity: 0;
        transform: translateY(20px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Groupes de champs */
.contact-us .form-group[b-b17d2kxwbi] {
    position: relative;
    margin-bottom: 1rem;
}

 /*Champs input et textarea */
.contact-us .form-group .input[b-b17d2kxwbi],
    .contact-us .form-group textarea[b-b17d2kxwbi] {
        width: 100%;
        border: 1.8px solid var(--border);
        border-radius: 10px;
        padding: .85rem 1rem;
        font-size: 1rem;
        background: #fff;
        color: #001624;
        transition: border-color .2s, box-shadow .2s, transform .12s;
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
    }

 /*Taille et comportement du textarea */
.contact-us .form-group textarea[b-b17d2kxwbi] {
        min-height: 140px;
        resize: vertical;
    }

/* Focus sur input/textarea */
.contact-us .form-group input:focus[b-b17d2kxwbi],
        .contact-us .form-group textarea:focus[b-b17d2kxwbi] {
            outline: none;
            border-color: var(--accent);
            box-shadow: 0 0 8px rgba(240, 126, 38, 0.5);
        }

 /*Hover sur input/textarea */
.contact-us .form-group input:hover[b-b17d2kxwbi],
        .contact-us .form-group textarea:hover[b-b17d2kxwbi] {
            border-color: #d3d5db;
        }

 /*Placeholder */
.contact-us .form-group [b-b17d2kxwbi]::placeholder {
        color: var(--text-muted);
        opacity: .9;
        font-size: 1rem;
    }

 /*Messages d’erreur */
.contact-us .warning-message[b-b17d2kxwbi] {
    margin-top: .4rem;
    color: #c0392b;
    font-size: .9rem;
    line-height: 1.2;
}

/* Bouton principal */
.contact-us .btn[b-b17d2kxwbi] {
    background: linear-gradient(45deg, var(--accent), #ff9b4a);
    color: #fff;
    border: 0;
    border-radius: 10px;
    padding: .75rem 2rem;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .5rem;
    cursor: pointer;
    box-shadow: 0 10px 24px rgba(240,126,38,.25);
    transition: transform .15s ease, box-shadow .2s ease, filter .2s ease;
    user-select: none;
}

    .contact-us .btn:hover[b-b17d2kxwbi] {
        transform: translateY(-2px);
        box-shadow: 0 6px 12px rgba(240, 126, 38, 0.4);
        filter: brightness(1.05);
    }

    .contact-us .btn:active[b-b17d2kxwbi] {
        transform: translateY(0);
        box-shadow: 0 3px 6px rgba(240, 126, 38, 0.3);
    }

    .contact-us .btn.is-loading[b-b17d2kxwbi] {
        filter: grayscale(.15) brightness(.92);
        box-shadow: none;
        pointer-events: none;
    }

/* Accessibilité - réduction des motions */
@media (prefers-reduced-motion:reduce) {
    .contact-us[b-b17d2kxwbi] {
        transition: none;
    }

        .contact-us .container-form-add-big[b-b17d2kxwbi] {
            animation: none;
        }

        .contact-us .form-group input:focus[b-b17d2kxwbi],
        .contact-us .form-group textarea:focus[b-b17d2kxwbi] {
            box-shadow: none;
        }
}



/* === Tablette (768px à 1024px) === */
@media (max-width: 1024px) {
    .contact-us .container-form-add-big[b-b17d2kxwbi] {
        padding: clamp(0.8rem, 2vw, 1.2rem);
        border-radius: 12px;
    }

    .contact-us .form-group .input[b-b17d2kxwbi],
    .contact-us .form-group textarea[b-b17d2kxwbi] {
        font-size: 0.95rem;
        padding: 0.75rem 0.9rem;
    }

    .contact-us .btn[b-b17d2kxwbi] {
        padding: 0.7rem 1.5rem;
        font-size: 0.95rem;
    }
}

/* === Mobile (<= 767px) === */
@media (max-width: 767px) {
    .contact-us .container-form-add-big[b-b17d2kxwbi] {
        width: 100%;
        padding: 1rem;
        border-radius: 0;
        box-shadow: 0 6px 16px rgba(235,123,12,.1);
    }

    .contact-us .form-group[b-b17d2kxwbi] {
        margin-bottom: 0.8rem;
    }

        .contact-us .form-group textarea[b-b17d2kxwbi] {
            min-height: 100px; /* réduit pour petits écrans */
        }

    .contact-us .btn[b-b17d2kxwbi] {
        width: 100%; /* bouton prend toute la largeur */
        padding: 0.75rem;
        font-size: 0.9rem;
    }

    .contact-us .warning-message[b-b17d2kxwbi] {
        font-size: 0.8rem;
    }
}

/* === Très petits mobiles (<= 480px) === */
@media (max-width: 480px) {
    .contact-us .container-form-add-big[b-b17d2kxwbi] {
        width:100%;
        padding: 0.8rem;
        border-radius: 0;
    }

    .contact-us .form-group .input[b-b17d2kxwbi],
    .contact-us .form-group textarea[b-b17d2kxwbi] {
        font-size: 0.85rem;
        padding: 0.65rem 0.8rem;
    }

    .contact-us .btn[b-b17d2kxwbi] {
        font-size: 0.85rem;
        padding: 0.65rem;
    }
}


/* _content/FiletsChartrain/Components/Widgets/Footer.razor.rz.scp.css */
/* Footer global - Desktop first */
.container-footer[b-szkvnutmhn] {
    width: 100%;
    display: flex;
    flex-direction: row; /* desktop : côte à côte */
    align-items: flex-start;
    justify-content: center;
    padding: clamp(2rem, 5vw, 5rem) 1rem clamp(1rem, 3vw, 2rem) 1rem;
    position: relative;
    color: black;
    font-weight: 700;
}

    /* Colonnes desktop */
    .container-footer .col1[b-szkvnutmhn],
    .container-footer .col2[b-szkvnutmhn] {
        width: 50%;
        font-size: clamp(1rem, 1vw + 0.8rem, 1.3rem);
        text-align: left;
        display: flex;
        flex-direction: column;
        justify-content: flex-start;
        font-family: "Montserrat", sans-serif;
        font-weight: 400;
        padding: 0.5rem 0;
    }

    .container-footer .col2[b-szkvnutmhn] {
        border-left: solid #37454f 1px;
    }

/* Logo entreprise desktop */
.logo-entreprise[b-szkvnutmhn] {
    max-width: clamp(180px, 20vw, 300px);
    width: 100%;
    height: auto;
    margin: 0 auto;
    display: block;
}

/* Bloc interne col2 */
.col2 .container-bloc-footer[b-szkvnutmhn] {
    width: 100%;
    margin-top: clamp(0.5rem, 1vw, 1rem);
    font-size: clamp(1rem, 0.8vw + 0.6rem, 1.1rem);
    font-weight: 700;
    color: #37454f;
    text-decoration: none;
    cursor: pointer;
}

/* Texte */
.text-footer[b-szkvnutmhn] {
    display: inline-block;
    font-size: clamp(0.85rem, 0.6vw + 0.6rem, 1rem);
    vertical-align: top;
}

.text-siret[b-szkvnutmhn] {
    font-size: clamp(0.7rem, 0.5vw, 0.85rem);
    display: inline-block;
    color: #555;
}

.txt-map[b-szkvnutmhn] {
    font-size: clamp(1rem, 2.5vw, 2rem);
}

.logo-map[b-szkvnutmhn] {
    height: clamp(1rem, 2.5vw, 2rem);
    display: inline-block;
    margin-right: 0.5rem;
}

/* Logos */
.logo-footer[b-szkvnutmhn] {
    height: clamp(1rem, 1vw + 0.5rem, 1.2rem);
    display: inline-block;
}

/* Zone SIRET */
.container-siret[b-szkvnutmhn] {
    padding-top: clamp(1rem, 2vw, 1.5rem);
    font-size: clamp(1rem, 0.8vw + 0.6rem, 1.15rem);
    color: #444;
}

.logo-siret[b-szkvnutmhn] {
    height: clamp(0.8rem, 0.5vw + 0.4rem, 0.9rem);
    display: inline-block;
}

/* Bloc social desktop */
.bloc-social a img[b-szkvnutmhn] {
    width: clamp(80px, 150px - 10vw, 120px); /* plus petit écran → icône plus grosse */
    height: auto;
    margin-top: clamp(0.5rem, 2vw, 1rem);
    transition: transform 0.3s ease-out;
}

.bloc-social:hover img[b-szkvnutmhn] {
    transform: scale(1.15) rotate(-5deg);
    cursor: pointer;
}

/* Liens internes */
.line-on-footer[b-szkvnutmhn] {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: clamp(0.3rem, 1vw, 0.7rem) 0;
    transition: transform 0.3s ease-out;
}

    .line-on-footer:hover[b-szkvnutmhn] {
        transform: scale(1.08);
    }

    .editor-link:hover[b-szkvnutmhn],
    .line-on-footer a:hover[b-szkvnutmhn] {
        cursor: pointer;
        color: var(--color-primary-hover);
        transition: color 0.3s ease-in-out;
        font-family: "Montserrat", sans-serif;
        font-weight: 700;
    }

/* ---------- Mobile / Tablette ---------- */
@media (max-width: 767px) {
    .container-footer[b-szkvnutmhn] {
        flex-direction: column; /* empilé */
        align-items: center;
        justify-content: center;
        padding: clamp(1.5rem, 4vw, 2rem) 1rem;
        gap: clamp(1rem, 3vw, 1.5rem); /* espacement entre blocs */
    }

        .container-footer .col1[b-szkvnutmhn],
        .container-footer .col2[b-szkvnutmhn] {
            width: 100%;
            font-size: 1rem;
            text-align: center;
            display: flex;
            flex-direction: column;
            justify-content: flex-start;
            border-left: none;
            padding: 0.5rem 0;
        }

    .logo-entreprise[b-szkvnutmhn] {
        max-width: clamp(160px, 50vw, 220px);
        margin-bottom: clamp(1rem, 3vw, 2rem);
    }

    .container-siret[b-szkvnutmhn] {
        font-size: clamp(0.9rem, 2vw, 1rem);
    }
}
/* _content/FiletsChartrain/Components/Widgets/HeroSection/HeroSection.razor.rz.scp.css */

/* ================================
   HeroSection Scoped Responsive
================================= */

.hero-section[b-7ye73la947] {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: 2rem 1rem;
    font-family: 'Poppins', sans-serif;
    font-weight: 600;
}

.site-header[b-7ye73la947] {
    width: 100%;
    position: absolute; /* reste au-dessus de l’image */
    top: 0;
    left: 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1rem 2rem;
    z-index: 100; /* passe devant l’image */
}

/* Logo menu */
.logo-menu[b-7ye73la947] {
    width: 40vw;
    max-width: 500px;
    height: auto;
    position: absolute;
    top: 70%; /* décale verticalement par rapport à la hauteur du hero */
    left: 8%;
}

.btn[b-7ye73la947] {
    width: 40vw;
    max-width: 300px;
    height: auto;
    font-size: clamp(0.6rem, 3vw, 1.5rem);
    position: absolute;
    top: 10%; /* décale verticalement par rapport à la hauteur du hero */
    right: 2vw;
}



    /* Hero visible immédiatement */
.hero-section .hero-slogan[b-7ye73la947] {
    width: 30vw;
    height: auto;
    opacity: 1;
    transform: translateX(0);
    transition: none;
    text-align: left;
    position: absolute;
    top: 50%; /* décale verticalement par rapport à la hauteur du hero */
    left: 10%;
}

    /* Effet au survol */
    .hero-slogan:hover[b-7ye73la947] {
        cursor: pointer;
        color: var(--color-primary);
        transform: scale(1.01);
    }

    /* Lignes du slogan */
    .hero-slogan div[b-7ye73la947] {
        display: block;
        white-space: nowrap; /* évite les espaces parasites */
        margin-left: 0; /* supprime tout décalage */
        padding-left: 0; /* sécurité */
        font-size: clamp(2.5rem, 2rem + 2vw, 4rem);
        line-height: 1;
        color: var(--color-white);
        font-family: "Montserrat";
        font-weight: 700;
        letter-spacing: normal;
        position: relative;
        opacity: 0;
        transform: translateX(-250px);
        animation: punchIn-b-7ye73la947 0.6s cubic-bezier(0.68, -0.6, 0.32, 1.6) forwards;
    }

        /* Décalage des deux parties */
        .hero-slogan div:nth-child(2)[b-7ye73la947] {
            animation-delay: 0.1s;
        }

        .hero-slogan div:nth-child(3)[b-7ye73la947] {
            animation-delay: 0.8s;
        }

@keyframes punchIn-b-7ye73la947 {
    0% {
        opacity: 0;
        transform: translateX(-250px);
    }

    80% {
        opacity: 1;
        transform: translateX(10px); /* petit dépassement vers la droite */
    }

    100% {
        opacity: 1;
        transform: translateX(0); /* retour sec à la place */
    }
}


/* Hero services */
.hero-services[b-7ye73la947] {
    width: 100%;
    height: auto;
    display: flex;
    justify-content: flex-start;
    color: var(--color-white);
}


/* Services line */

.services-line[b-7ye73la947] {
    display: flex;
    flex-wrap: wrap;
    gap: 2vw;
    /* POSITION*/
    position: absolute;
    top: 75%; /* décale verticalement par rapport à la hauteur du hero */
    left: 10%;
}

@supports not (translate: 0 0) {
    .services-line .service-link[b-7ye73la947] {
        opacity: 0;
        margin-left: -40px;
        transform: none;
        animation: fadeIn-b-7ye73la947 .6s ease forwards, slideMargin-b-7ye73la947 .6s cubic-bezier(0.68,-0.55,0.27,1.55) forwards;
        transition: transform .25s ease, box-shadow .3s ease, filter .3s ease;
    }

    @keyframes fadeIn-b-7ye73la947 {
        to {
            opacity: 1;
        }
    }

    @keyframes slideMargin-b-7ye73la947 {
        to {
            margin-left: 0;
        }
    }

    .services-line .service-link:hover[b-7ye73la947] {
        transform: translateY(-10px) scale(1.05);
        box-shadow: 0 10px 25px rgba(0,0,0,.15);
        filter: brightness(1.2);
    }
}


    /* état initial + animation d’entrée */
    .services-line .service-link[b-7ye73la947] {
        display: block;
        width: 22vw;
        max-width: 450px;
        height: 22vw;
        max-height: 400px;
        margin: 0 2vw 0 0;
        padding: 1rem;
        border-radius: .3rem;
        font-family: 'Montserrat';
        font-weight: 400;
        color: var(--color-white);
        text-decoration: none;
        cursor: pointer;
        opacity: 0;
        /* 👇 on anime translate, pas transform */
        translate: -40px 0;
        scale: 1; /* libre pour le hover */
        will-change: transform, opacity;
        /* fade + slide */
        animation: fadeSlideIn-b-7ye73la947 1s cubic-bezier(0.68,-0.55,0.27,1.55) forwards;
        /* transitions pour le hover */
        transition: translate .30s cubic-bezier(0.68,-0.55,0.27,1.55), scale .25s ease, box-shadow .3s ease, filter .3s ease;
    }

@keyframes fadeSlideIn-b-7ye73la947 {
    to {
        opacity: 1;
        translate: 0 0;
    }
}

/* décalage d’apparition */
.services-line .service-link:nth-of-type(1)[b-7ye73la947] {
    background-color: var(--color-blue);
    animation-delay: .30s;
}

.services-line .service-link:nth-of-type(2)[b-7ye73la947] {
    background-color: var(--color-primary);
    animation-delay: .50s;
}

.services-line .service-link:nth-of-type(3)[b-7ye73la947] {
    background-color: var(--color-green);
    animation-delay: .70s;
}

/* hover : lift + zoom (ne touche pas à transform) */
.services-line .service-link:hover[b-7ye73la947] {
    translate: 0 -10px;
    scale: 1.05;
    box-shadow: 0 10px 25px rgba(0,0,0,.15);
    filter: brightness(1.2);
}


.picto[b-7ye73la947] {
    width: 80px;
    height: 80px;
}

/* Titles */
.title-card-metier[b-7ye73la947] {
    font-size: clamp(1.3rem, 2vw, 2.5rem);
    font-family: "Montserrat";
    font-weight: 700;
    letter-spacing: 2px;
    margin: 1rem 0;
    padding: 0.5rem;
}



/* ================================
   MEDIA QUERIES
================================= */


/* Tablette portrait 768-1024px */
@media (min-width: 768px) and (max-width: 1024px) {
    .hero-section[b-7ye73la947] {
        padding: 2.5rem 2.5rem;
    }

        /*.hero-section .hero-slogan {
            top: 50%;*/ /* décale verticalement par rapport à la hauteur du hero */
        /*}*/

    /* Lignes du slogan */
    .hero-slogan div[b-7ye73la947] {
        font-size: 2rem;
        line-height: 1;
    }

    .services-line[b-7ye73la947] {
        left: 5%;
    }

    .services-line .service-link[b-7ye73la947] {
        width: 28vw;
        height: auto;
        max-height: 28vw;
        margin: 0 1vw 0 0;
    }

    .title-card-metier[b-7ye73la947] {
        /*font-size: 1.2rem;*/
        letter-spacing: 1px;
        margin: 0.7rem 0;
        padding: 0.3rem;
    }

}

/* Mobile <=767px */
        @media (max-width: 767px) {
            .hero-section[b-7ye73la947] {
                padding: 2rem 1rem;
            }

            .logo-menu[b-7ye73la947] {
                width: 40vw;
                height: auto;
            }

            /*.hero-section .hero-slogan {
                top: 50%;*/ /* décale verticalement par rapport à la hauteur du hero */
            /*}*/

            /* Lignes du slogan */
            .hero-slogan div[b-7ye73la947] {
                font-size: clamp(1.3rem, 4vw, 2.5rem);
                line-height: 1;
            }

            .hero-section .j-end[b-7ye73la947] {
                justify-content: center;
            }

            .hero-services[b-7ye73la947] {
                margin: 0;
                flex-direction: row;
                justify-content: center;
            }

            .services-line[b-7ye73la947] {
                left: 8vw;
                top: 80%;
            }

                .services-line .service-link[b-7ye73la947] {
                    width: 25vw;
                    height: auto;
                    max-height: 20vw;
                    margin: 0 1vw 0 0;
                }

            .direction[b-7ye73la947] {
                flex-direction: column;
            }

            .picto[b-7ye73la947] {
                width: 15vw;
                height: 15vw;
            }

            .title-card-metier[b-7ye73la947] {
                display: none;
            }
        }
/* _content/FiletsChartrain/Components/Widgets/LogoWall/LogoWall.razor.rz.scp.css */

/* Style bulle personnalisées & LIB externe - cf. setting.css */

/* SECTION PRINCIPALE */
.references[b-7w6rxxtaho] {
    width: 100%;
    background-color: var(--color-white);
    margin: 0 0 8rem 0;
    padding: 0 1rem; /* éviter collage sur petits écrans */
}

    .references h2[b-7w6rxxtaho] {
        color: var(--color-primary);
        padding: 6rem 0 3rem 0; /* moins haut pour petits écrans */
        text-align: center;
    }

/* CONTAINER SWIPER */
.swiper[b-7w6rxxtaho] {
    position: relative;
    width: 100%;
    height: auto;
    overflow: hidden;
    padding: 2rem 0 4rem 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.swiper-inner[b-7w6rxxtaho] {
    width: 90%; /* un peu plus large pour aérer */
    margin: 0 auto;
    padding: 3rem 0; /* réduit (avant 5rem) */
    overflow: hidden;
}

.swiper-wrapper[b-7w6rxxtaho] {
    display: flex;
    justify-content: flex-start;
    align-items: center;
}

/* LOGO SLIDE */
.swiper-slide[b-7w6rxxtaho] {
    width: calc((100% - 60px) / 3);
    height: 120px; /* + grand pour éviter logos rognés */
    margin-right: 30px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    overflow: hidden;
}

    .swiper-slide:last-child[b-7w6rxxtaho] {
        margin-right: 0;
    }

    .swiper-slide img[b-7w6rxxtaho] {
        max-height: 100%;
        max-width: 100%;
        object-fit: contain;
        filter: grayscale(0.3);
        transition: filter 0.3s ease;
        display: block;
    }

        .swiper-slide img:hover[b-7w6rxxtaho] {
            filter: grayscale(0);
        }

/* BOUTONS DE NAVIGATION */
.swiper-button-prev[b-7w6rxxtaho],
.swiper-button-next[b-7w6rxxtaho] {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 3rem;
    height: 3rem;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: 800;
   /* border-radius: 100%;
    border: solid var(--color-primary) 1px;*/
    color: var(--color-primary);
   /* background-color: var(--color-white);*/
    z-index: 10;
}

.swiper-button-prev[b-7w6rxxtaho] {
    left: 0.25rem;
}

.swiper-button-next[b-7w6rxxtaho] {
    right: 0.25rem;
}

/* ========================= */
/* RESPONSIVE DESIGN */
/* ========================= */

/* Tablettes */
@media (max-width: 1024px) {
    .swiper-inner[b-7w6rxxtaho] {
        width: 95%;
        padding: 2rem 0;
    }

    .swiper-slide[b-7w6rxxtaho] {
        width: calc((100% - 60px) / 2); /* 2 logos par ligne */
        height: 100px;
    }

    .swiper-button-prev[b-7w6rxxtaho],
    .swiper-button-next[b-7w6rxxtaho] {
        display: none;
    }
}

/* Mobiles */
@media (max-width: 600px) {
    .references h2[b-7w6rxxtaho] {
        padding: 4rem 0 2rem 0;
        font-size: 1.5rem;
    }

    .swiper-inner[b-7w6rxxtaho] {
        width: 100%;
        padding: 1.5rem 0;
    }

    .swiper-slide[b-7w6rxxtaho] {
        width: 100%; /* 1 logo par ligne */
        height: 80px;
        margin-right: 0;
    }

    .swiper-button-prev[b-7w6rxxtaho],
    .swiper-button-next[b-7w6rxxtaho] {
        display:none;
    }
}
/* _content/FiletsChartrain/Components/Widgets/Menu.razor.rz.scp.css */
/* ---------- ZONE GÉNÉRALE ----------- */

.main-menu[b-st2r9o94t3] {
    width: 100%;
    height:5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background-color: transparent;
    padding: 0.5rem 1.5rem;
    font-size: 1.6rem;
    position: relative;
    box-sizing:border-box;
    z-index: 99;
    transition: all 0.2s ease-in-out;
}

    .main-menu.scrolled[b-st2r9o94t3] {
        position: fixed;
        top: 0;
        left: 0;
        padding: 0.3rem 1rem;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        height: 3rem !important;
        background-color: var(--color-dark);
        padding: 0.25rem 1.5rem;
        font-size: 1rem;
    }

/* ---------- ANIMATION (LOGO) ---------- */
/*.logo-overlay {
    position: fixed;
    top: 50%;
    left: 35%;
    width: 120px;
    height: auto;
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    transition: top 1.8s cubic-bezier(0.4, 0, 0.2, 1), left 1.8s cubic-bezier(0.4, 0, 0.2, 1), transform 1.8s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.3s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: top, left, transform, opacity;
    z-index: 9999;
    pointer-events: none;
}*/

    /* Classe appliquée après le chargement */
    /*.logo-overlay.move-to-top {
        will-change: top, left, transform, opacity;
        top: calc(1rem + 60px);*/ /* 1rem + la moitié de la hauteur (car translate -50%) */
        /*left: calc(1.5rem + 60px);*/ /* 1.5rem + la moitié de la largeur (car translate -50%) */
        /*transform: translate(-50%, -50%) scale(0.5);
        opacity: 1;
    }*/

/* ---------- BACKGROUND ANIMATION ---------- */
/*#overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);*/ /* noir avec 80% opacité */
    /*z-index: 9998;*/ /* en dessous du logo qui est à 9999 */
    /*pointer-events: none;*/ /* laisse passer les clics */
    /*opacity: 0;
    transition: opacity 0.5s ease-in-out;
}

    #overlay.active {
        opacity: 1;
        pointer-events: auto;*/ /* optionnel, pour bloquer interactions si besoin */
    /*}*/
/* ---------- BACKGROUND ANIMATION ---------- */
#overlay[b-st2r9o94t3] {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.8);
    z-index: 9998;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
    visibility: hidden; /* ← initialement caché */
}

    #overlay.active[b-st2r9o94t3] {
        opacity: 1;
        visibility: visible; /* ← visible pendant l’animation */
        pointer-events: auto;
        transition: opacity 0.5s ease-in-out;
    }


/* ---------- PARTIE GAUCHE (LOGO) ---------- */
.menu-left[b-st2r9o94t3] {
    display: flex;
    align-items: center;
    padding: 0;
    margin: 0;
    height: 5rem; /* ajuste cette hauteur comme tu veux */
}

    .menu-left .logo-menu[b-st2r9o94t3] {
        display: none;
        max-height: 4rem; /*limite la hauteur au conteneur parent */
        width: auto;
        padding: 0;
        margin: 0.5rem auto;
    }

.main-menu.scrolled .logo-menu[b-st2r9o94t3] {
    height: 2.5rem;
}

/* ---------- PARTIE CENTRALE (LIENS) ---------- */

.menu-center[b-st2r9o94t3] {
    display: flex;
    gap: 2.5rem;
    flex-wrap: wrap;
    text-align:center;
}



    .menu-center a[b-st2r9o94t3] {
        text-decoration: none;
        color: var(--color-primary);
        font-weight: 600;
        position: relative;
        padding-bottom: 0.5rem;
        transition: color 0.3s;
    }

.main-menu.scrolled .menu-center a[b-st2r9o94t3] {
    color: var(--color-primary);
}
.menu-center a:hover[b-st2r9o94t3] {
    color: var(--color-primary-hover);
}

.menu-center a[b-st2r9o94t3]::after {
    content: '';
    display: block;
    width: 0%;
    height: 3px;
    background-color: var(--color-primary-hover);
    transition: width 0.3s ease-in-out;
    margin: auto;
}

        .menu-center a:hover[b-st2r9o94t3]::after {
            width: 100%;
        }

/* ---------- PARTIE DROITE (AVIS) ---------- */

.menu-right[b-st2r9o94t3] {
    width: auto;
    height: 5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-direction: row;
}


.menu-right .icon-menu[b-st2r9o94t3] {
    transition: transform 0.6s ease;
    transform-origin: center;
}

.menu-right img.icon-menu[b-st2r9o94t3] {
    width: 2rem;
    height: 2rem;
    padding: 0 1rem;
    border-radius: 0.3rem;
    transition: transform 0.2s ease-in-out;
}

    .menu-right .icon-menu:hover[b-st2r9o94t3] {
        transform: scale(1.3) rotate(360deg);
    }





/* ---------- MENU MOBILE ---------- */

.mobile-menu[b-st2r9o94t3] {
    display: none;
    background-color: white;
    padding: 0.5rem 1rem;
    border-top: solid 1px #ccc;
}

.mobile-top[b-st2r9o94t3] {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.burger-button[b-st2r9o94t3] {
    background: none;
    border: none;
    padding: 0.5rem;
    cursor: pointer;
}

    .burger-button img[b-st2r9o94t3] {
        height: 2rem;
        width: 2rem;
    }

.mobile-menu-list[b-st2r9o94t3] {
    list-style: none;
    padding: 1rem 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

    .mobile-menu-list li a[b-st2r9o94t3] {
        text-decoration: none;
        color: #001624;
        font-size: 1.2rem;
        font-weight: 500;
    }

        .mobile-menu-list li a:hover[b-st2r9o94t3] {
            color: #e95356;
        }

/* Réseaux sociaux (mobile uniquement) */
.mobile-social-icons[b-st2r9o94t3] {
    display: flex;
    justify-content: center;
    gap: 1rem;
    margin-top: 1rem;
}

    .mobile-social-icons img[b-st2r9o94t3] {
        width: 2rem;
        height: 2rem;
        transition: transform 0.2s ease-in-out;
    }

        .mobile-social-icons img:hover[b-st2r9o94t3] {
            transform: scale(1.1);
        }

/* ---------- RESPONSIVE ---------- */

@media (max-width: 991px) {
    .main-menu[b-st2r9o94t3] {
        display: none;
    }

    .mobile-menu[b-st2r9o94t3] {
        display: block;
    }
}
/* _content/FiletsChartrain/Components/Widgets/Modals/Modal.razor.rz.scp.css */

.modal-bg[b-mm7iokiet7] {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.63);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.modal-bg.hidden[b-mm7iokiet7] {
    display: none;
}

.modal[b-mm7iokiet7] {
    display: flex;
    flex-direction: column;
    max-height: 95vh;
    background-color: #ffffff;
    border-radius: 0.5rem;
    z-index: 2000;
    font-family: 'Montserrat';
    font-weight: 400;
}

.modal header[b-mm7iokiet7] {
    display: flex;
    flex-direction: row;
    padding: 1rem;
    gap: 1rem;
    align-items: center;
    font-size: 1.5rem;
}

.modal header .icon[b-mm7iokiet7]  svg {
    height: 2rem;
    width: 2rem;
}

.modal header .icon.info[b-mm7iokiet7]  svg path {
    fill: #2488f5;
}

.modal header .icon.warning[b-mm7iokiet7]  svg path {
    fill: #ffc711;
}

.modal header .icon.error[b-mm7iokiet7]  svg path {
    fill: #ee2410;
}

.modal header .icon.success[b-mm7iokiet7]  svg path {
    fill: #41cd01;
}

    .modal header .title[b-mm7iokiet7] {
        flex-grow: 1;
        font-size: 1.5rem;
        color: var(--color-primary);
        font-family: "Montserrat";
        font-weight: 700;
    }



    .modal header .close button[b-mm7iokiet7] {
        background-color: var(--color-error);
        border-radius: 100%;
        height: 2rem;
        width: 2rem;
        font-size: 1.5rem;
        line-height: 1.2rem;
        color: #ffffff;
        cursor: pointer;
        opacity: 0.8;
    }

 /*   .modal header .close button img {
        
        display: flex;
        flex-direction: row;
        justify-content: center;
    }*/

        .modal header .close button:hover[b-mm7iokiet7] {
            background-color: var(--color-error);
            transform:scale(1.1);
            opacity:1;
        }

.modal header .close button:active[b-mm7iokiet7] {
    background-color: #8f8f8f;
}

.modal article[b-mm7iokiet7] {
    max-width:40rem;
    flex-grow: 1;
    overflow: hidden;
    padding: 1rem;
}

    .modal article .scrollable[b-mm7iokiet7] {
        overflow: auto;
        height: 100%;
        white-space: pre-line;
        color: #242424;
    }

.modal footer[b-mm7iokiet7] {
    display: flex;
    flex-direction: row;
    padding: 1rem;
    padding: 1rem;
    gap: 0.5rem;
    justify-content: flex-end;
}

    .modal footer button[b-mm7iokiet7] {
        border: none;
        color: #ffffff;
        font-size: 1.5rem;
        font-weight: 400;
        cursor: pointer;
        transition: .2s;
        margin: 1rem 0.5rem;
        border-radius: 0.3rem;
        padding: 0.75rem 0.75rem;
        background-color: #bfbfbf;
    }

        .modal footer button:hover[b-mm7iokiet7] {
            transform: scale(1.1);
        }

    .modal footer[b-mm7iokiet7]  button.gray {
        background-color: #bfbfbf;
    }

    .modal footer[b-mm7iokiet7]  button.gray:hover {
        background-color: #b1b1b1;
        transform: scale(1.1);
    }

.modal footer[b-mm7iokiet7]  button.gray:active {
    background-color: #8f8f8f;
}

.modal footer[b-mm7iokiet7]  button {
    width: unset;
}


    .modal footer[b-mm7iokiet7]  button.valid {
        background-color: var(--color-primary);
        color: var(--color-txt-primary);
    }

        .modal footer[b-mm7iokiet7]  button.valid:hover {
            background-color: var(--color-primary-hover);
            transform: scale(1.1);
        }

        .modal footer[b-mm7iokiet7]  button.valid:active {
            background-color: var(--color-primary-hover);
        }

/* _content/FiletsChartrain/Components/Widgets/SkipLink/SkipLink.razor.rz.scp.css */
/* Bouton skip-link */
button.skip-link[b-4ou35hdays] {
    all: unset; /* réinitialise tous les styles hérités */
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    padding: 0.75rem 1rem;
    background-color: transparent; /* <-- transparent par défaut */
    color: #fff;
    border-radius: 4px;
    font-weight: 600;
    cursor: pointer;
    z-index: 1000;
    /* Masquage visuel mais reste focusable */
    clip: rect(0 0 0 0);
    overflow: hidden;
    height: 1px;
    width: 1px;
    white-space: nowrap;
}

    /* Etat focus ou actif : bouton visible */
    button.skip-link:focus[b-4ou35hdays],
    button.skip-link:active[b-4ou35hdays] {
        clip: auto; /* rend visible */
        width: auto;
        height: auto;
        white-space: normal;
        top: 0;
        left: 0;
        background-color: #f07e26;
        outline: 2px solid #ffc719;
        outline-offset: 2px;
        transition: all 0.3s ease;
    }
/* _content/FiletsChartrain/Components/Widgets/SocialBar/SocialBar.razor.rz.scp.css */
/* === SocialBar Responsive === */

/* Desktop par défaut (inchangé) */
.join-us[b-g92qoj0v4c] {
    width: 100%;
    height: auto;
    min-height: 58rem;
    background-color: #2d2d2d;
    display: flex;
    justify-content: center;
}

.two-part[b-g92qoj0v4c] {
    display: flex;
    width: 100%;
    overflow: hidden;
    transition: all 0.6s ease;
}

    .two-part .part[b-g92qoj0v4c] {
        transition: all 1s ease;
        display: flex;
        width: 100%;
        height: auto;
        justify-content: center;
        flex-direction: row;
    }

    .two-part .text[b-g92qoj0v4c] {
        flex: 0 0 0%;
        opacity: 0;
        overflow: hidden;
        background-color: #2d2d2d;
        display: flex;
        justify-content: center;
        align-items: center;
    }

    .two-part .container-title[b-g92qoj0v4c] {
        width: 100%;
        height: auto;
        margin-top: 4rem;
    }

    .two-part .image[b-g92qoj0v4c] {
        flex: 1 1 100%;
    }

/* Image */
#img-vehicule[b-g92qoj0v4c] {
    width: 100%;
    height: auto;
    min-height: 60rem;
    background-image: url('img/base/chantier2/20250804_100436.jpg');
    background-repeat: no-repeat;
    background-position: center top;
    background-size: cover;
}

/* Transition au scroll */
.two-part.active .text[b-g92qoj0v4c] {
    flex: 0 0 50%;
    opacity: 1;
}

.two-part.active .image[b-g92qoj0v4c] {
    flex: 0 0 50%;
}

/* Bloc social */
.part .bloc-social[b-g92qoj0v4c] {
    margin: 1rem 2rem;
}

.bloc-social a img[b-g92qoj0v4c] {
    width: clamp(80px, 150px - 10vw, 120px); /* plus petit écran → icône plus grosse */
    height: auto;
    margin-top: clamp(0.5rem, 2vw, 1rem);
    transition: transform 0.3s ease-out;
}

.bloc-social:hover img[b-g92qoj0v4c] {
    transform: scale(1.15) rotate(-5deg);
    cursor: pointer;
}

    /*.part .bloc-social:hover {
        transform: scale(1.1) rotate(-5deg);
        transition: transform 0.5s ease-out;
        cursor: pointer;
    }

    .part .bloc-social a img {
        width: 4rem;
        height: auto;
    }*/

/* === RESPONSIVE === */

/* Tablettes (<= 1024px) et Mobiles */
@media (max-width: 1024px) {
    .join-us[b-g92qoj0v4c] {
        max-height: 30rem;
    }

    .two-part[b-g92qoj0v4c] {
        flex-direction: column; /* empile image et texte */
    }

        /* Image pleine largeur au départ */
        .two-part .image[b-g92qoj0v4c] {
            flex: 0 0 100%;
        }

        /* Texte masqué au départ */
        .two-part .text[b-g92qoj0v4c] {
            flex: 0 0 0%;
            opacity: 0;
            min-height: auto;
        }

        /* Quand actif → image disparaît et texte prend toute la place */
        .two-part.active .image[b-g92qoj0v4c] {
            flex: 0 0 0%;
            opacity: 0;
            transition: all 0.6s ease;
        }

      /*  .two-part.active .image:after {
            display:none;
        }*/

        .two-part.active .text[b-g92qoj0v4c] {
            flex: 0 0 100%;
            opacity: 1;
        }

    /*.part .bloc-social a img {
        width: 3rem;*/ /* icônes réduites sur mobile */
    /*}*/
}

/* Mobiles (<= 600px) */
@media (max-width: 600px) {
    #img-vehicule[b-g92qoj0v4c] {
        min-height: 25rem; /* image moins haute sur petit écran */
        background-position: center;
    }

    .two-part .container-title[b-g92qoj0v4c] {
        margin-top: 2rem;
        padding: 0 1rem;
    }

  /*  .part .bloc-social a img {
        width: 2.5rem;
    }*/
}
/* _content/FiletsChartrain/Components/Widgets/Spinner.razor.rz.scp.css */
/* Class spécifique affichage en attente */


.spinner-bg[b-f2dn4km7em] {
    background-color: rgba(0, 0, 0, 0.63);
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index:10000;
}

    .spinner-bg.fullscreen[b-f2dn4km7em] {
        position: fixed;
        z-index: 10000;
    }

.spinner-container[b-f2dn4km7em] {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

.spinner[b-f2dn4km7em] {
    border: 16px solid silver;
    border-top: 16px solid #f07e26;
    border-radius: 50%;
    width: 80px;
    height: 80px;
    animation: spin-b-f2dn4km7em 1000ms linear infinite;
    top: 40%;
    left: 45%;
    position: absolute;
}

@keyframes spin-b-f2dn4km7em {
    0% {
        transform: rotate(0deg)
    }

    100% {
        transform: rotate(360deg)
    }
}
/* _content/FiletsChartrain/Components/Widgets/SplitLayout/SplitLayout.razor.rz.scp.css */

/* ================================
   SplitLayout Scoped Responsive
================================= */

.two-part[b-glutxpn51l] {
    width: 100%;
    display: flex;
    flex-direction: row;
    font-family: 'Montserrat', sans-serif;
    font-weight: 400;
}

    .two-part .part[b-glutxpn51l] {
        width: 50%;
        overflow: hidden;
        box-sizing: border-box;
        color: var(--color-primary);
    }

       .two-part .part:nth-child(2n)[b-glutxpn51l] {
            background-color: var(--color-white);
        }

    .two-part .part:first-child[b-glutxpn51l],
    .two-part .part:last-child[b-glutxpn51l] {
        background-color: var(--color-third);
    }

    /* Texte */
    .two-part .part.text[b-glutxpn51l] {
        display: flex;
        flex-direction: row;
        justify-content: center;
    }

        .two-part .part.text .wrapper[b-glutxpn51l] {
            width: 100%;
            display: flex;
            flex-direction: column;
            justify-content: center;
        }

        .two-part .part.text .sub-title[b-glutxpn51l] {
            display: flex;
            justify-content: center;
            font-size: clamp(1.2rem, 1rem + 1vw, 1.7rem);
            line-height: 2rem;
            font-weight: 400;
            color: var(--color-txt-dark);
            margin: -2rem 0 3rem 0;
        }

        .two-part .part.text .icon-container[b-glutxpn51l] {
            display: flex;
            flex-direction: column;
            justify-content: space-around;
        }

        .two-part .part.text .part-label[b-glutxpn51l] {
            display: flex;
            width: 100%;
            justify-content: center;
            padding: 0 0.75rem;
        }

        .two-part .part.text .with-icon[b-glutxpn51l] {
            width: 100%;
            display: flex;
            flex-direction: row;
            justify-content: center;
            margin: 1rem 0;
        }

            .two-part .part.text .with-icon .label[b-glutxpn51l] {
                width: 100%;
                color: var(--color-primary);
                font-size: clamp(1rem, 0.8rem + 0.5vw, 1.2rem);
                font-weight: 400;
            }


.two-part .part.text .with-icon .icon[b-glutxpn51l] {
    margin-right: 1rem;
}

                .two-part .part.text .with-icon .icon img[b-glutxpn51l] {
                    width: 3rem;
                    height: 3rem;
                    opacity: 0.8;
                    padding-top: 0.75rem;
                }

    /* Images */
    .two-part .part .img-splitlayout[b-glutxpn51l] {
        width: 100%;
        height: auto;
        min-height: 45rem;
        position: relative;
        top: 0;
        z-index: 99;
        padding: 0;
        background-repeat: no-repeat;
        background-position: center top;
        background-size: cover;
    }

    .two-part .part #img-1[b-glutxpn51l] {
        background-image: url('img/base/chantier2/20250804_161717_enhanced.jpg');
    }

    .two-part .part #img-2[b-glutxpn51l] {
        background-color: var(--color-third);
        background-image: url(img/echafaudage.svg);
    }

    .two-part .part #img-3[b-glutxpn51l] {
        background-image: url('img/base/chantier1/CHANTIER1-curage-rambouillet.png');
    }

/* Animations dragX */
.with-icon[class*=" drag"][b-glutxpn51l] {
    opacity: 0;
    transform: translateX(-250px);
    transition: transform 1s cubic-bezier(0.68, -0.55, 0.27, 1.55), opacity 1.2s ease-in;
    will-change: transform, opacity;
}

    .with-icon[class*=" drag"][class*="-change"][b-glutxpn51l] {
        opacity: 1;
        transform: translateX(0);
    }

        .with-icon[class*=" drag"][class*="-change"]:nth-of-type(1)[b-glutxpn51l] {
            transition-delay: 0s;
        }

        .with-icon[class*=" drag"][class*="-change"]:nth-of-type(2)[b-glutxpn51l] {
            transition-delay: 0.1s;
        }

        .with-icon[class*=" drag"][class*="-change"]:nth-of-type(3)[b-glutxpn51l] {
            transition-delay: 0.2s;
        }

        .with-icon[class*=" drag"][class*="-change"]:nth-of-type(4)[b-glutxpn51l] {
            transition-delay: 0.3s;
        }

/* ================================
   MEDIA QUERIES
================================= */

/* Desktop >=1025px */
@media (min-width: 1025px) {
    .two-part[b-glutxpn51l] {
        flex-direction: row;
        font-size: 1.5rem;
    }

        .two-part .part[b-glutxpn51l] {
            width: 50%;
        }

            .two-part .part.text .sub-title[b-glutxpn51l] {
                font-size: clamp(1.5rem, 1.2rem + 1vw, 1.7rem);
            }

            .two-part .part.text .with-icon .label[b-glutxpn51l] {
                font-size: 1.2rem;
            }

            .two-part .part .img-splitlayout[b-glutxpn51l] {
                min-height: 45rem;
            }
}

/* Tablette 768-1024px */
@media (min-width: 768px) and (max-width: 1024px) {
    .two-part[b-glutxpn51l] {
        flex-direction: column;
        font-size: 1rem;
    }
        .two-part:nth-child(2n)[b-glutxpn51l] {
            flex-direction: row;
        }

        .two-part .part[b-glutxpn51l] {
            width: 100%;
        }

            .two-part .part.text .sub-title[b-glutxpn51l] {
                font-size: clamp(1.3rem, 1rem + 1vw, 1.5rem);
                margin: -1rem 0 2rem 0;
            }

            .two-part .part.text .with-icon .label[b-glutxpn51l] {
                font-size: clamp(1rem, 0.9rem + 0.5vw, 1.1rem);
            }

            .two-part .part #img-2[b-glutxpn51l] {
                min-height: 30rem;
            }

}

/* Mobile <=767px */
@media (max-width: 767px) {
    .two-part[b-glutxpn51l] {
        flex-direction: column;
        font-size: 1rem;
    }

        /*.two-part:nth-child(2n) {
            flex-direction: column-reverse;
        }*/

        .two-part .part[b-glutxpn51l] {
            width: 100%;
        }

            .two-part .part.text .sub-title[b-glutxpn51l] {
                font-size: clamp(1rem, 0.9rem + 1vw, 1.2rem);
                margin: -0.5rem 0 1rem 0;
            }

            .two-part .part.text .with-icon .label[b-glutxpn51l] {
                font-size: clamp(0.9rem, 0.8rem + 0.5vw, 1rem);
            }

           /* .two-part .part .img-splitlayout {
                
            }*/

            .two-part .part .img-splitlayout[b-glutxpn51l] {
                /* width: 100%;
                height: auto;
                min-height: 45rem;
                position: relative;
                top: 0;
                z-index: 99;
                padding: 0;
                background-repeat: no-repeat;
                background-position: center top;*/
                min-height: 15rem;
                max-height: 250px;
                background-size: contain;
            }

            .two-part .part #img-1[b-glutxpn51l] {
                display:none;
            }

            /*.two-part .part #img-2 {
                background-color: var(--color-third);
                background-image: url(img/echafaudage.svg);
            }*/

            .two-part .part #img-3[b-glutxpn51l] {
                display: none;
            }
            
}
