﻿/*## PAGE: page, frame, wide, public, private, connexion, admin ##*/
/* #region Variables */
@import url("../../../Content/OJC.Web.Mvc/Skins/Default/fontawesome/css/fontawesome.min.css");
@import url("../../../Content/OJC.Web.Mvc/Skins/Default/fontawesome/css/brands.min.css");
@import url("../../../Content/OJC.Web.Mvc/Skins/Default/fontawesome/css/solid.min.css");
@import url("../../../Content/OJC.Web.Mvc/Skins/Default/fontawesome/css/regular.min.css");
@import url("../../../Content/OJC.Web.Mvc/Skins/Default/fontawesome/css/v4-font-face.min.css");
@import url("../../../Content/OJC.Web.Mvc/Skins/Default/fontawesome/css/v4-shims.min.css");

:root {
    --color-primary-1: #32376F; /*Bleu*/
    --color-primary-2: #22254D; /*Bleu foncé*/
    --color-primary-3: #33CBD5; /*Cyan*/
    --color-primary-4: #4A4C4F; /*DARK GREY*/
    --white: #ffffff; /* Blanc */
    --white-transparent: #ffffff15; /* Blanc */
    --strawberry: #DF2040; /*Fraise*/
    --grey: #EEEEE;
    --grey-1: #4A4C4F;
    --grey-2: #B0B2B5;
    --grey-3: #D2D4D5;
    --grey-4: #E6E5E5;
    --grey-5: #F5F5F5;
    --grey-6: #FAFAFA;
    --dark: #242628;
    --strawberry: #DF2040;
    --strawberry-1: #8F0024;
    --strawberry-2: #FB6A6A;
    --orange: #F92D93;
    --rose: #F92D93;
    /*Gradient*/
    --Gradient-Gradient: linear-gradient( 89deg, #F83393 0%, #EC183B 45.41%, #F84428 109.44% );
}


/* #endregion Variables*/

/*#region font*/

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-Thin.ttf') format('truetype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-ExtraLight.ttf') format('truetype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-Light.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-Regular.ttf') format('truetype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-Medium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-SemiBold.ttf') format('truetype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-Bold.ttf') format('truetype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'Sora';
    src: url('Fonts/Sora/Sora-ExtraBold.ttf') format('truetype');
    font-weight: 800;
    font-style: normal;
}
/*#endregion font*/

/*#region Styles globaux*/

body {
    font-family: 'Sora', sans-serif;
}

a {
    color: var(--dark);
}

    a:hover {
        background: var(--Gradient-Gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

    a:active, a:focus {
        color: unset;
    }


.wrapper {
    background-color: var(--white);
}

    .wrapper.oqtave-private:has(.benchmark-details-container) {
        background-color: var(--grey-5);
    }

.content-wrapper, .main-footer {
    border-left: unset;
    overflow-x: unset;
    background-color: unset;
    padding-left: unset;
}

.content {
    padding: unset;
}

.public .no-sidebar {
    padding-left: unset;
}

.strawberry {
    color: var(--strawberry);
}

ol.breadcrumb li {
    list-style: none;
}

    ol.breadcrumb li::marker {
        content: none;
    }

    ol.breadcrumb li a {
        color: #333;
    }

.ui-tabs .ui-tabs-nav {
    display: flex;
    justify-content: center;
    border-bottom: unset !important;
}

    .ui-tabs .ui-tabs-nav li {
        border-top: unset;
    }

        .ui-tabs .ui-tabs-nav li.ui-tabs-active {
            border-top: unset !important;
            border-left: unset !important;
            border-right: unset !important;
        }

        .ui-tabs .ui-tabs-nav li a {
            background: var(--Gradient-Gradient);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .ui-tabs .ui-tabs-nav li.ui-tabs-active a {
            background: var(--Gradient-Gradient);
            -webkit-background-clip: unset;
            -webkit-text-fill-color: unset;
            background-clip: unset;
            color: var(--white) !important;
        }

ul.ojcDropMenu.logMenu-right li.user-menu ul.ojcDropMenu.menu-open li.user-header {
    background-color: var(--dark);
}

span.select2-dropdown.select2-dropdown--below {
    border: solid 2px var(--strawberry);
}

.select2-results .opt-disabled {
    color: var(--strawberry, #cc3340);
}

.select2-results .opt-level-0 {
    color: var(--strawberry-1);
    font-size: 1.1rem;
}

.select2-results .opt-level-1 {
    color: var(--dark);
    border-left: solid 3px var(--orange);
    margin-left: 10px;
    padding-left: 6px;
}

.select2-results .opt-level-2 {
    color: var(--dark);
    border-left: solid 3px var(--strawberry);
    margin-left: 21px;
    padding-left: 6px;
}

.opt-highlighted {
    color: var(--strawberry);
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background: var(--Gradient-Gradient) !important;
    color: var(--white);
}


    .select2-container--default .select2-results__option--highlighted[aria-selected] .opt-level-0 {
        color: var(--white);
    }


    .select2-container--default .select2-results__option--highlighted[aria-selected] .opt-level-1,
    .select2-container--default .select2-results__option--highlighted[aria-selected] .opt-level-2 {
        color: var(--white);
        border-left: solid 3px var(--white);
    }

    .select2-container--default .select2-results__option--highlighted[aria-selected] .opt-highlighted {
        color: var(--white);
    }

.oqtave-private::before {
    height: 6rem;
    background-color: var(--white);
    width: 100%;
    position: fixed;
    z-index: 1000;
}

.wrapper.oqtave-private:has(.benchmark-details-container)::before {
    background: var(--grey-5)
}

.static-wrapper {
    margin: 7rem 3rem;
}
/*#endregion Styles globaux*/
/*#region Header*/
.main-header {
    z-index: 1001;
    display: flex;
    justify-content: space-between;
    backdrop-filter: blur(15px);
    border-radius: 0.125rem;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}

/*.public .main-header, .connexion .main-header, .private*/
.main-header {
    position: fixed;
    top: 2rem;
    left: 3rem;
    right: 3rem;
    background-color: var(--white-transparent);
    backdrop-filter: blur(15px);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
}

.navbar-custom-menu #QuickMenu li.dropMenuList.item span {
    font-family: 'sora';
    margin-left: 4px;
}

.private .main-header {
    background-color: var(--dark);
}
.flex-row {
    display: flex;
    flex-direction: row;
}

.public a:hover,
.connexion a:hover,
#RecoverPassword button:hover,
#ChangePassword button:hover {
    background: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
    background-clip: unset;
}

.private a:hover {
    background: unset;
    -webkit-background-clip: unset;
    -webkit-text-fill-color: unset;
    background-clip: unset;
}

.private a.logo:hover {
    background: no-repeat;
    background-image: url(Images/Logo_blanc_oqtave.png);
    background-size: contain;
    background-position: center;
}

.private a:active, a:focus {
    color: unset;
}

/*#endregion Styles globaux*/

.private .main-header ul.menu > li:hover {
    background-color: var(--grey-1);
}

.private .main-header ul.menu > li.selected {
    background: var(--Gradient-Gradient);
}

.private .main-header ul.menu > li > a, .private .main-header ul.ojcDropMenu.logMenu-right > li > a {
    color: var(--white);
}

.main-header .logo {
    width: 138px;
    margin: 0 15px;
    background: no-repeat;
    background-position: center;
    background-size: contain;
}


.public .main-header .logo, .connexion .main-header .logo {
    cursor: pointer;
    background-image: url(Images/Logo_noir_oqtave.png);
}

.public a.logo:hover, .connexion a.logo:hover {
    background: no-repeat;
    background-image: url(Images/Logo_noir_oqtave.png) !important;
    background-size: contain;
    background-position: center;
}

.private .main-header .logo {
    background-image: url(Images/Logo_blanc_oqtave.png);
}


/*.private a.logo:hover {
    background-image: url(Images/Logo_blanc_sur_noir.png);
}*/

.main-header ul.menu > li,
.main-header ul.menu > li > a,
ul.ojcDropMenu.logMenu-right > li > a {
    color: #000000;
}


/*#endregion header*/

/*#region Page connexion*/

ol.breadcrumb {
    position: fixed;
    top: 6rem;
    left: 3rem;
    display: flex;
    gap: 0.62rem;
    padding-top: 1rem;
    padding-left: 0;
    margin: 0;
}

.connexion .content-wrapper {
    background-image: url(Images/hero_background_zoom.png);
    background-color: #fdfdfd;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100vh;
}

.LogOnContainer h1 {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 2.25rem;
    text-align: center;
    color: var(--white);
    margin: unset;
}

.column.section-content.LogOnContainer,
#RecoverPassword,
#RecoverPasswordEmailSent,
#ChangePassword {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 34.0625rem;
    padding: 2.5rem 2.5rem 1.25rem 2.5rem;
    gap: 2.5rem;
    border-radius: 0.1875rem;
    background: rgba(255, 255, 255, 0.30);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(15px);
}

form.flex.column.form.LogOnForm {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2.5rem;
}

.form-wrapper {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.logOn-fields-container {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.625rem;
    align-self: stretch;
}

.LogOnContainer input,
#RecoverPassword input,
#ChangePassword input {
    display: flex;
    width: 25rem;
    height: 2.8125rem;
    padding: 0.9375rem 0.625rem 0.625rem 0.9375rem;
    flex-direction: column;
    align-items: center;
    border-radius: 0.125rem;
    background: var(--white, #FFF);
    border: unset;
    text-align: center;
    font-family: Sora;
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
}

    .LogOnContainer input::placeholder {
        color: var(--grey-2, #B0B2B5);
        text-align: center;
        font-family: Sora;
        font-size: 1rem;
        font-style: normal;
        font-weight: 400;
        line-height: 1.25rem;
    }

    .LogOnContainer input:focus-visible {
        outline: none;
        border: 3px solid transparent; /* nécessaire */
        border-image: var(--Gradient-Gradient) 1;
        border-radius: 6px; /* garde les coins arrondis */
    }

#RecoverPassword label {
    color: transparent;
    position: relative;
    display: flex;
    margin-bottom: 20px;
    text-align: center;
}

#RecoverPassword label::before {
    color: var(--white);
    position: absolute;
    font-family: Sora;
    content: "Entrez votre e-mail pour réinitialiser votre mot de passe";
}

#RecoverPassword button {
    color: transparent !important;
    position: relative;
}

    #RecoverPassword button::before {
        color: var(--white);
        content: "Réinitialiser le mot de passe";
        position: absolute;
        font-family: 'Sora';
        font-size: 0.9em;
    }

#RecoverPasswordEmailSent p {
    color: transparent !important;
    position: relative;
}

    #RecoverPasswordEmailSent p::before {
        color: var(--white);
        content: "Un e-mail vient de vous être envoyé afin que vous puissiez réinitialiser votre mot de passe.";
        position: absolute;
        font-family: 'Sora';
        font-size: 1.1em;
    }

#ChangePassword label {
    color: var(--white);
    font-family: 'Sora';
}

#ChangePassword button {
    font-family: 'Sora';
}

.account-links {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 1.25rem;
}

    .account-links a {
        color: var(--white, #FFF);
        text-align: center;
        font-family: Sora;
        font-size: 0.75rem;
        font-style: normal;
        font-weight: 400;
        line-height: normal;
        transition: color 0.3s ease, -webkit-text-fill-color 0.3s ease;
    }

        .account-links a:hover,
        .account-links a:hover i {
            background-image: var(--Gradient-Gradient, linear-gradient(89deg,#F83393 0%,#EC183B 45.41%,#F84428 109.44%));
            background-clip: text;
            -webkit-background-clip: text;
            color: transparent;
            -webkit-text-fill-color: transparent;
            display: inline-block;
        }

        .account-links a:hover {
            background-image: var(--Gradient-Gradient, linear-gradient(89deg,#F83393,#F84428));
            background-size: 100% 2px;
        }

button.LogOn-button {
    display: flex;
    padding: 0.625rem 0.625rem 0 0.625rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
    background-color: unset;
    border: unset;
    cursor: pointer;
}

    button.LogOn-button span {
        display: flex;
        padding-left: 0.1875rem;
        align-items: center;
        gap: 0.3125rem;
    }

        button.LogOn-button span p {
            margin: 0;
            color: var(--white, #FFF);
            text-align: center;
            font-family: Sora;
            font-size: 1rem;
            font-style: normal;
            font-weight: 400;
            line-height: 1.25rem;
        }

    button.LogOn-button span {
        font-size: 20px;
    }

        button.LogOn-button span i {
            font-size: 1.2rem;
            transform: rotate(45deg);
            color: var(--white);
        }


    button.LogOn-button hr {
        height: 0.125rem;
        background: var(--Gradient-Gradient, linear-gradient(89deg,#F83393 0%,#EC183B 45.41%,#F84428 109.44%));
        border: none;
        width: 0;
        transition: width .3s ease;
    }

    button.LogOn-button:hover hr {
        width: 100%;
    }


/*#endregion Page connexion*/

/*#region Accueil*/

.bloc-header-accueil-background-image {
    background-color: #EEE;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: right;
}

.bloc-header-accueil {
    display: flex;
    flex-direction: column;
    height: 40rem;
}

    .bloc-header-accueil .header-accueil-texte {
        padding: 12rem 0 0 5rem;
        font-family: Sora;
        display: flex;
        width: 45rem;
        flex-direction: column;
        align-items: flex-start;
        gap: 2.5rem;
    }

.header-accueil-texte p, .bloc-presentation p, p.recherche-texte, .welcome-page .bloc-demo p, .bloc-fonctionnalite p {
    font-size: 1.5rem;
    font-style: normal;
    font-weight: 400;
    line-height: 2.25rem;
}

.header-accueil-texte div .button-accueil {
    background: transparent;
    display: flex;
    height: 3.75rem;
    padding: 0.5rem 0.9375rem 0.5rem 1.25rem;
    justify-content: center;
    align-items: center;
    gap: 0.3125rem;
    border-radius: 0.1875rem;
}

.link-button {
    display: flex;
    margin: 0.5rem 0.9375rem 0.5rem 1rem;
    justify-content: center;
    align-items: center;
    gap: 0.3125rem;
    width: 13rem;
}

.header-accueil-texte-link-button:hover {
    color: var(--dark);
}

.button-header-accueil {
    padding: 0 2rem 0 1rem;
}

.welcome-page .bloc-presentation {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    justify-content: center;
    background: #FAFAFA;
    padding: 6.25rem 20rem;
}

.bloc-presentation .bloc-presentation-texte {
    width: 50rem;
}

    .bloc-presentation .bloc-presentation-texte .bench-title {
        position: relative;
        /*padding-bottom: 4px;*/ /* Space between text and underline */
    }

        .bloc-presentation .bloc-presentation-texte .bench-title::after {
            content: "";
            position: absolute;
            bottom: 3px;
            left: 0;
            height: 4px; /* Thickness of the underline */
            width: 100%;
            background: var(--Gradient-Gradient); /* Gradient colors */
        }


.bloc-presentation h2, .bloc-fonctionnalite h2, .bloc-demo h2 {
    font-size: 3.8125rem;
    font-style: normal;
    font-weight: 400;
    line-height: 4.375rem
}

.welcome-page .bloc-fonctionnalite {
    display: flex;
    padding: 6.25rem 0 3.125rem 0;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 2.5rem;
    background: #EEEEEE;
}

/*#region team-photo*/
.welcome-page .bloc-team-photo {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    background: #EEEEEE;
    padding-right: 3.125rem;
}

    .welcome-page .bloc-team-photo .team-img {
        width: 60%;
    }

        .welcome-page .bloc-team-photo .team-img p {
            margin: 0 0 -5px;
        }

        .welcome-page .bloc-team-photo .team-img img {
            width: 100%;
            height: auto;
            clip-path: circle(50%);
        }

    .welcome-page .bloc-team-photo .team-photo-text {
        width: 50%;
        display: flex;
        flex-direction: column;
        gap: 1.5rem;
    }

        .welcome-page .bloc-team-photo .team-photo-text .team-photo-main-text {
            font-size: 2rem;
            line-height: 2rem;
        }

            .welcome-page .bloc-team-photo .team-photo-text .team-photo-main-text p .red-gradient-text {
                background: var(--Gradient-Gradient);
                -webkit-background-clip: text;
                -webkit-text-fill-color: transparent;
            }

            .welcome-page .bloc-team-photo .team-photo-text .team-photo-main-text p .red-gradient-underline {
                position: relative;
                display: inline-block;
            }

            .welcome-page .bloc-team-photo .team-photo-text .team-photo-main-text p .red-gradient-underline::after {
                content: "";
                position: absolute;
                left: 0;
                bottom: 0;
                width: 100%;
                height: 3px;
                background: var(--Gradient-Gradient);
            }

/*responsive*/
@media (max-width: 768px) {
    .welcome-page .bloc-team-photo {
        flex-direction: column;
        gap: 1rem;
        padding-bottom: 1rem;
        padding-right: 0px;
    }

        .welcome-page .bloc-team-photo .team-img {
            width: 100%;
        }

        .welcome-page .bloc-team-photo .team-photo-text {
            width: 90%
        }
}

/*#endregion team-photo*/

.bloc-fonctionnalite .fonctionnalite-presentation {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 2.5rem;
    align-self: stretch;
}

.fonctionnalite-presentation .fonctionnalite-card {
    display: flex;
    width: 21.875rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1rem;
}

.fonctionnalite-card div img {
    height: 8.9375rem;
    align-self: stretch;
    width: 21rem;
    object-fit: cover;
    border: 1px solid var(--color-primary-4);
}

.bloc-fonctionnalite h2 {
    margin-bottom: 0;
}

.fonctionnalite-card p {
    font-size: 1rem;
}

.bloc-fonctionnalite .button-accueil {
    border-radius: 0.1875rem;
    background: var(--grey-5);
    display: flex;
    height: 3.75rem;
    padding: 0.5rem 0.9375rem 0.5rem 1.25rem;
    justify-content: center;
    align-items: center;
    gap: 0.3125rem;
}

    .bloc-fonctionnalite .button-accueil:hover {
        background: #EC183B;
        color: white;
    }

    .bloc-fonctionnalite .button-accueil p, .bloc-fonctionnalite .button-accueil div a, .bloc-demo .link-button p, .link-button p {
        font-family: Sora;
        font-size: 1rem;
        font-style: normal;
        font-weight: 600;
        line-height: 1.25rem;
        margin: 0;
    }

        .bloc-fonctionnalite .button-accueil div a .icon {
            font-size: 0.9rem;
            transform: rotate(45deg);
            margin-top: 3.5px;
            margin-left: 5px
        }

    .bloc-fonctionnalite .button-accueil:hover div a, .bloc-fonctionnalite .button-accueil:hover div a .icon {
        color: var(--white);
    }

        .bloc-fonctionnalite .button-accueil object, .bloc-demo .link-button object, .header-accueil-texte div .link-button object {
            width: 10%;
        }

.welcome-page .bloc-recherche {
    display: flex;
    padding: 6.25rem 2.5rem;
    justify-content: center;
    align-items: flex-start;
    background: #FAFAFA;
}

.bloc-recherche .bloc-recherche-image {
    width: 90rem;
    gap: 2rem;
}

.bloc-recherche .bloc-recherche-depliant {
    display: flex;
    width: 40rem;
    padding: 0 2.5rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 1.875rem;
    flex-shrink: 0;
}

.bloc-recherche-depliant .collapsibleFrameWrapper {
    width: 100%;
}

    .bloc-recherche-depliant .collapsibleFrameWrapper .closable-open .collapsibleFrameContent .collapsibleFrameTitle {
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 2.25rem;
        background: linear-gradient(89deg, #F83393 0%, #EC183B 45.41%, #F84428 109.44%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .bloc-recherche-depliant .collapsibleFrameWrapper .collapsibleFrameHeader .collapsibleFrameContent .collapsibleFrameTitle {
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 2.25rem;
    }

    .bloc-recherche-depliant .collapsibleFrameWrapper .collapsibleFrameHeader .collapsibleFrameContent {
        padding: 10px 0;
        border-top: 1px solid #B0B2B5;
    }

    .bloc-recherche-image .collapsible-images-container img {
        width: 100%;
        height: auto;
    }

.welcome-page .bloc-demo-background-image {
    background-color: #EEE;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

.welcome-page .bloc-demo {
    display: flex;
    flex-direction: column;
    height: 30rem;
}

    .welcome-page .bloc-demo h2 {
        padding: 5rem 0 1.5rem 3rem;
        margin: 0;
    }

    .welcome-page .bloc-demo .demo-text {
        padding: 0 0 0 3rem;
    }

    .welcome-page .bloc-demo h2, .welcome-page .bloc-demo p {
        color: white;
    }

.bloc-demo-video {
    width: 100%;
}

.bloc-demo-video .bloc-demo-video-container {
    display: flex;
    justify-content: center;
    margin-top: 1.5rem;
}

    .bloc-demo-video .bloc-demo-video-container .ojcVideoPlayer.ojcVideoPlayer_Youtube {
        width: 100%;
        height: 50vh;
        border: 1px solid var(--grey-4);
    }

    .bloc-demo-video .bloc-demo-video-container .ojcVideoPlayer.ojcVideoPlayer_Youtube iframe {
        width: 100%;
        height: 100%;
    }

.bloc-demo .link-button {
    width: 11rem;
    background: none;
    margin-top: 10rem;
    margin-left: 2.5rem;
    gap: 0.5125rem;
}

.bloc-demo-link-button {
    display: flex;
    flex-direction: row;
    gap: 0.3125rem;
}

.bloc-demo-link-button:hover {
    color: var(--white);
}

.gradient-underline {
    position: relative;
    padding-bottom: 12px; /* Space between text and underline */
}

    .gradient-underline:hover::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        height: 3px; /* Thickness of the underline */
        width: 100%;
        background: var(--Gradient-Gradient); /* Gradient colors */
    }

/*#endregion Accueil*/

/*#region page private*/

.private .content-wrapper {
    display: flex;
    align-items: center;
    justify-content: center;
}


.resultat .content {
    width: unset;
}


/*#region feedbackPopup*/

.feedback-text {
    font-family: 'Sora', sans-serif;
    font-size: 14px;
    font-weight: 400;
}

#feedback-button {
    background: var(--strawberry);
    color: var(--white);
    position: fixed;
    bottom: 50px;
    right: 20px;
    z-index: 9999;
    border: unset;
    padding: 0.5rem;
    border-radius: 4px;
    cursor: pointer;
}

#send-feedback-button {
    background: var(--strawberry);
    color: var(--white);
    border: unset;
    padding: 0.5rem;
    border-radius: 4px;
    cursor: pointer;
}

#feedback-button:hover,
#send-feedback-button:hover {
    background: var(--Gradient-Gradient);
}

#feedback-popup {
    display: none;
    position: fixed;
    bottom: 100px;
    right: 20px;
    color: var(--strawberry);
    z-index: 9999;
    border: 1px solid;
    border-radius: 5px;
    box-shadow: var(--strawberry) 5px 5px 5px;
}

#feedback-popup-box {
    background: var(--white);
    width: 100%;
    padding: 20px;
    height: 100%;
    border-radius: 5px;
}

#close-feedback-popup {
    position: absolute;
    top: 10px;
    right: 15px;
    cursor: pointer;
    font-weight: bold;
}

#feedback-popup-form {
    display: flex;
    flex-direction: column;
    gap: 15px;
    color: var(--dark);
}

.feedback-popup-field {
    display: flex;
    flex-direction: column;
}

#feedbackText {
    height: 100px;
}

.feedback-mandatory {
    color: red;
}

/*#endregion feedbackPopup*/
/*#endregion page private*/
/*#region page recherche*/
.private .content #TabsSearch {
    width: 40rem;
}

div#GeneralSearchBar {
    display: flex;
    align-items: center;
    background-color: var(--grey-5);
    padding: 0.5rem 0;
    position: relative;
    min-height: 3.5rem;
}

div#generalFilter {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 0.62rem;
}

.SearchBarAndButton {
    width: 100%;
}

div#GeneralSearchBar .select2-container .select2-search--inline .select2-search__field {
    margin-top: 8px;
}

div#GeneralSearchBar .select2-container--default .select2-selection--multiple {
    background-color: unset;
    border: unset;
    outline: unset;
}

#GeneralSearchBar:has(#MixedSearchBar.inFocus) {
    border: 2px solid transparent;
    border-image: var(--Gradient-Gradient) 1;
}

    #GeneralSearchBar:has(#MixedSearchBar.inFocus) #ButtonClassicSearch {
        background: var(--strawberry);
    }


div#GeneralSearchBar input.select2-search__field::placeholder {
    color: var(--grey-2);
}

div#GeneralSearchBar li.select2-search.select2-search--inline {
    width: 92%;
}

span.select2-dropdown.select2-dropdown--below {
    position: absolute;
    top: 0.70rem;
}

#MixedSearchBar, #KeyFiguresCategorySelector {
    flex: 1;
}

div#GeneralSearchBar span.select2-dropdown.select2-dropdown--below {
    position: relative;
    top: 10px;
    /* width: 100%; */
}

div#ButtonClassicSearch {
    display: flex;
    justify-content: center;
    height: 2.25rem;
    padding: 0.625rem;
    align-items: center;
    gap: 0.625rem;
    border-radius: 0.125rem;
    background: var(--grey-3);
    position: absolute;
    right: 0.62rem;
    cursor: pointer;
}

    div#ButtonClassicSearch:hover {
        background: var(--Gradient-Gradient);
    }

    div#ButtonClassicSearch i.fa-solid.fa-arrow-up {
        color: var(--white);
    }

a#ButtonAdvancedSearch {
    cursor: pointer;
}

    a#ButtonAdvancedSearch:hover {
        background: var(--Gradient-Gradient);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
    }

#KeyFiguresCategorySelector .select2-selection.select2-selection--single {
    background: transparent;
    border: none;
    text-align: left;
    margin-left: 20px;
}

#KeyFiguresCategorySelector .select2-selection__arrow {
    visibility: hidden;
}

ul[id*="select2-MixedSearchTerms-"] .select2-results__option:has(.opt-level-0),
ul[id*="select2-filterMixedSearchTerms-"] .select2-results__option:has(.opt-level-0) {
    pointer-events: none;
}


/*#endregion page recherche*/

/*#region page Résultats*/

.SearchZoneColumn {
    margin: 7rem 3rem;
}

.filtersAdvanced h2, .results-container h2 {
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25rem;
}

.form-fieldset .box .box-header, .flex-outer > li.label-above > label, .flex-outer > li > label {
    font-weight: 400;
    line-height: 1.25rem;
    font-family: Sora;
    color: var(--dark);
}

.select2-container--default .select2-selection--multiple {
    background-color: var(--grey-5);
    border: none;
    border-radius: 0.1875rem;
}

.ojcSelect2 .select2-container--default.select2-container--focus .select2-selection--multiple {
    outline: var(--strawberry) auto 3px;
}

.ojcSelect2 .select2-container--default.select2-container--disabled .select2-selection--multiple {
    outline: var(--grey-3) auto 3px !important;
}

.form-fieldset input[type=text], .form-fieldset input[type=number], .form-fieldset select, .form-fieldset input[type=email], .form-fieldset textarea, .form-fieldset input[type=date] {
    background-color: var(--grey-5);
    border: none;
    border-radius: 0;
}

.box .box-header .collapse-sign {
    color: var(--grey-2);
}

.private .SearchZoneColumn .header-search {
    display: flex;
    flex-direction: column;
    margin-left: 23rem;
    gap: 2.5rem;
}

.stat-et-mixedsearch .statistics .stat-results {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1.5rem;
}

    .stat-et-mixedsearch .statistics .stat-results .stats-container {
        display: flex;
        align-items: center;
        gap: 1.5rem;
    }

.stat-results .ph-item-small {
    min-width: 300px;
}

.stat-et-mixedsearch .statistics .stat-results .stats-container .tile-item p {
    color: var(--dark);
    font-size: 1rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
    margin: unset;
}

       .stat-et-mixedsearch .statistics .stat-results .stats-container .tile-item span, .indicators-results .results-header span span {
            color: var(--strawberry);
            font-weight: 600;
        }


.results-container .results {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.resultList .statistics .stat-results a:hover, .resultListReference .statistics .stat-results a:hover {
    cursor: pointer;
    background: var(--Gradient-Gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}


.resultList, .resultListReference {
    min-height: 500px;
}

.results-container {
    min-height: 400px;
}

.SearchZoneColumn .flexRow {
    display: flex;
    width: 98vw;
}

.private .SearchZoneColumn .header-search {
    display: flex;
    flex-direction: column;
    margin-left: 22rem;
    gap: 0.5rem;
    width: calc(100% - 25rem);
}

.results .result.noResults {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 200px;
    align-self: stretch;
    text-align: center;
    font-size: 1.2em;
    background: var(--grey-6);
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
    padding: 1.25rem 1.25rem 1.25rem 1.125rem;
    margin: 20px 0;
}

.results-container {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    transition: all 0.3s ease;
}

.stats-container a i {
    transform: rotate(45deg);
}

.resultList .mixedSearchBar {
    display: flex;
    justify-content: flex-start;
}

    .resultList .mixedSearchBar > ul {
        width: 95%;
        margin: unset;
    }

        .resultList .mixedSearchBar > ul.flex-outer > li {
            padding: unset;
        }

    .resultList .mixedSearchBar .select2-container--default .select2-selection--multiple {
        background-color: white;
        border: unset;
        border-bottom: solid 1px var(--dark);
        border-radius: unset;
        cursor: text;
    }

.filters button {
    background-color: unset;
    border: unset;
    font-family: 'Sora', sans-serif;
    text-decoration: underline;
    text-decoration-thickness: 2px;
    text-underline-offset: 0.31rem;
}

    .filters button:hover {
        cursor: pointer;
        background: var(--grey-2);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.result .technical-container h2 {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.25rem;
}

.result span h2 a {
    color: var(--dark);
}

.results-container .results .result {
    display: flex;
    flex-direction: column;
    gap: 2.5rem;
    background: var(--grey-6);
    box-shadow: 0 0 2px 0 rgba(0, 0, 0, 0.25);
    padding: 1.25rem 1.25rem 1.25rem 1.125rem;
}

.more-button-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.3125rem;
    cursor: pointer;
}

    .more-button-container .more-button {
        display: flex;
        justify-content: center;
        align-items: center;
        height: 3.75rem;
        padding: 0.5rem 0.9375rem 0.5rem 1.25rem;
        border-radius: 0.1875rem;
        background-color: var(--grey-5);
    }

        .more-button-container .more-button:hover {
            background: var(--strawberry);
            color: var(--white);
        }

        .more-button-container .more-button a {
            font-size: 1rem;
            font-style: normal;
            font-weight: 600;
            line-height: 1.25rem;
            color: var(--dark);
        }

        .more-button-container .more-button:hover a {
            color: var(--white);
        }

.more-button i {
    font-size: 1rem;
    transform: rotate(45deg);
    color: var(--dark);
}

.more-button:hover i {
    color: var(--white);
}



.mixedSearchBar {
    display: flex;
    justify-content: center;
}

    .mixedSearchBar > ul {
        width: 50%;
    }

.SearchZoneColumn {
    flex-grow: 2;
}

    .SearchZoneColumn .flexRow {
        display: flex;
    }

.filtersAdvanced.FiltersZoneColumn {
    width: 17.5rem;
    overflow-y: scroll;
    max-height: 80vh;
    position: fixed;
    left: 3rem;
    background-color: var(--white);
}

.SearchZoneColumn .flexRow .resultList, .SearchZoneColumn .flexRow .resultListReference {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.FiltersZoneColumn ul {
    flex-direction: column;
    position: sticky;
    top: 110px;
}

.FiltersZoneColumn li.select2-selection__choice {
    white-space: break-spaces;
    text-align: center;
}

.FiltersActionButton {
    display: flex;
    justify-content: center;
}

.private .SearchZoneRow {
    height: 100vh;
    padding: 8rem;
    overflow-y: scroll;
}

    .private .SearchZoneRow .form-fieldset > input:focus {
        outline: none;
        border: 3px solid var(--strawberry);
    }

    .private .SearchZoneRow .buttonSearchToResultList {
        display: flex;
        align-items: center;
        justify-content: center;
    }

        .private .SearchZoneRow .buttonSearchToResultList a.btn.btn-primary {
            background-color: var(--strawberry);
            border: unset;
            padding: 0.5rem;
        }

    .private .SearchZoneRow .box.collapsible .box-header:hover {
        background-image: var(--Gradient-Gradient, linear-gradient(89deg,#F83393 0%,#EC183B 45.41%,#F84428 109.44%));
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent;
        -webkit-text-fill-color: transparent;
    }

.FiltersZoneRow .ojcSelect2 .select2-container--default .select2-selection--multiple .select2-selection__rendered li.select2-selection__choice,
.filters.mixedSearchBar .ojcSelect2 .select2-container--default .select2-selection--multiple .select2-selection__rendered li.select2-selection__choice {
    height: fit-content;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    display: block;
}

.FiltersZoneRow .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    width: 100%;
    display: flex;
    height: 3.5em;
    flex-direction: row;
}

.FiltersZoneRow .ojcSelect2 .select2-container--default .select2-search--inline .select2-search__field {
    width: 6em !important;
}

.filters.mixedSearchBar .select2-container--default .select2-selection--multiple .select2-selection__rendered {
    width: 100%;
    display: flex;
    flex-direction: row;
    height: 3.5em;
}

.filters.mixedSearchBar .ojcSelect2 .select2-container--default .select2-search--inline .select2-search__field {
    width: 10em !important;
}

ul#keywordLayout.flex-outer {
    flex: 1;
}

.filters.mixedSearchBar {
}

    .filters.mixedSearchBar > ul {
        width: 100%;
    }

    .filters.mixedSearchBar .form-fieldset {
        height: 2.8rem;
        background-color: var(--grey-5);
    }

        .filters.mixedSearchBar .form-fieldset > span {
            display: flex;
            align-items: center;
        }

    .filters.mixedSearchBar .ojcSelect2 .select2-container--default.select2-container--focus .select2-selection--multiple {
        outline: unset;
        border: unset;
    }

.document-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

    .document-header p {
        margin: unset;
    }

.document-info {
    display: flex;
    gap: 0.75rem;
    align-items: center;
}

.container-grid-info .info-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    row-gap: 1.25rem;
    column-gap: 3rem;
}

    .container-grid-info .info-grid .grid-item {
        border-bottom: solid 1px var(--dark);
        display: flex;
        align-items: flex-end;
        justify-content: space-between;
        gap: 0.75rem;
    }

        .container-grid-info .info-grid .grid-item p {
            margin: unset;
        }

.container-thematic {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.searched-themes-list {
    list-style-type: none;
    padding-left: 0;
    margin: 10px 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

.theme-title {
    background-color: var(--strawberry);
    width: fit-content;
    padding: 0.31rem 0.62rem;
    border-radius: 18.8rem;
    color: var(--white);
}

.searched-themes-list > li {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

    .searched-themes-list > li:has(.no-subthemes) {
        gap: 0.25rem;
    }

li.other-theme-item {
    padding: 0.3125rem 0.625rem;
    border-radius: 18.75rem;
    border: 1px solid var(--grey-2, #B0B2B5);
}

.subtheme-container {
    margin-left: 0.62rem;
    padding-left: 1.25rem;
    border-left: solid 0.062rem var(--grey-2);
}

.subthemes-in-document {
    list-style-type: none;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.31rem;
}

/* Quand collapsed, cacher tous les items à partir du 4ème */
.subthemes-in-document.subthemes-collapsed li:nth-child(n+4) {
    display: none;
}


    .subthemes-in-document li {
        padding: 0.3125rem 0.625rem;
        border-radius: 18.75rem;
        border: 1px solid var(--grey-2, #B0B2B5);
    }

        .subthemes-in-document li.search-subtheme-item {
            border: 1px solid var(--strawberry);
        }

.toggle-subthemes-container {
    flex: 1 0 auto;
    gap: 10px;
    align-self: flex-start;
    justify-content: flex-end;
}

.initially-hidden {
    display: none;
}

.toggle-subthemes {
    margin-bottom: 0px;
    align-self: center;
}

.toggle-subtheme-icon {
    align-self: center;
}

.box.collapsible .box-header:hover, box.collapsible .box-header:active {
    color: black;
    font-weight: 700;
}

.stats-container a {
    position: relative;
}

    .stats-container a:hover::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        height: 3px; /* Thickness of the underline */
        width: 100%;
        background: var(--Gradient-Gradient); /* Gradient colors */
    }

    .stats-container a:hover {
        color: black;
    }

.select2-container--default .select2-selection--multiple .select2-selection__choice__remove {
    color: var(--white) !important;
}

.select2-container--default .select2-selection--multiple .select2-selection__choice {
    background-color: var(--strawberry) !important;
    border: none !important;
    border-radius: 18.75rem !important;
    padding: 0.3125rem 0.625rem !important;
    display: flex;
    justify-content: center;
    align-items: center;
}

.ojcSelect2 .select2-container--default .select2-selection--multiple .select2-selection__choice {
    color: var(--white);
}

#GeneralSearchBar .select2-container--default .select2-selection--multiple .select2-selection__clear {
    position: relative;
    right: 45px;
}

.no-subthemes {
    margin: 0.5rem 0 0 1rem;
    font-style: italic;
    color: var(--grey-2);
    font-size: 0.9em;
}

ul.other-themes-list {
    display: flex;
    gap: 0.31rem;
    list-style-type: none;
    padding: 0;
    margin: 0.31rem 0 0;
    flex-wrap: wrap;
}

li.other-theme-title {
    border-radius: 18.75rem;
    border: 1px solid var(--grey-2);
    padding: 0.3125rem 0.625rem;
}

/*p.idcc, p.employer-signatories, employee-signatories {
    text-align: end;
}*/

.technical-container .grid-item p:nth-of-type(2) {
    position: relative;
    padding-right: 14px;
    text-align: end;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
}

.excerpt-container {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

    .excerpt-container .title {
        border-bottom: solid 1px var(--dark);
    }

    .excerpt-container ul.excerpt-list {
        background-color: var(--grey-5);
        padding: 1.25rem;
    }

.excerpt-list ul.subcategory-list {
    padding: unset;
}

.excerpt-list li.excerpt-header {
    list-style: none;
}

.subcategory-item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.excerpt-list li.excerpt-header .subcategory-item .tooltip-link {
    color: var(--strawberry);
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.25rem;
}

.excerpt-list ul.subcategory-list {
    margin-bottom: 1.5rem;
}

li.excerpt-item {
    list-style: none;
}

    li.excerpt-item .excerpt-text {
        display: flex;
        flex-direction: column;
        gap: 0.62rem;
    }

        li.excerpt-item .excerpt-text span.excerpt-style {
            display: flex;
            padding: 1.25rem 0.9375rem;
            flex-direction: column;
            /*justify-content: flex-end;*/
            align-items: flex-end;
            align-self: stretch;
            background: var(--grey-4);
        }

a.excerpt-link:hover .excerpt-text span:first-child {
    color: var(--strawberry);
}

a.excerpt-link:hover .excerpt-text span.excerpt-style {
    color: var(--white);
    background: var(--Gradient-Gradient);
}


.resultList .nextResults a {
    background: var(--strawberry);
    border: unset;
    padding: 0.5rem;
    border-radius: 4px;
    color: var(--white);
}

    .resultList .nextResults a:hover {
        background: var(--Gradient-Gradient);
    }
/*#endregion page Résultats*/
/*#region details documents*/

.private .content-wrapper:has(table) {
    display: block;
    justify-content: unset;
    align-items: unset;
    position: fixed;
    left: 3.5rem;
    right: 3.5rem;
    top: 100px;
    bottom: 0;
    width: auto;
    height: auto;
    overflow-x: auto;
    margin-bottom: 51px;
}

.private .document-title {
    gap: 10px;
    margin-left: 10px;
    margin-bottom: 1.25rem;
}

    .private .document-title div {
        align-self: center;
        display: flex;
    }

        .private .document-title div img {
            width: 18px;
        }

    .private .document-title h1 {
        font-size: 1.7em;
    }

.private .blue-box, .private .box-container {
    background-color: var(--grey-6);
    padding: 1.5rem;
}

.blue-box.viewer-container {
    height: calc(100vh - 120px); /* Soustrait la hauteur du header et footer */
}

.private .content-wrapper tr {
    display: flex;
    gap: 1.5rem;
}

/* Document layout grid */

.content-wrapper.no-sidebar:has(.document-layout-grid) {
    padding: 7rem 3rem 2rem;
}

.content:has(.document-layout-grid) {
    max-width: 1350px;
}

.document-layout-grid {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(0, 1.5fr);
    gap: 1.5rem;
    width: 100%;
    min-height: 100vh;
    align-items: stretch;
}

    .document-layout-grid a:hover {
        color: var(--strawberry);
    }

.viewer-section {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: 100%;
}

.info-detail-section {
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
    height: calc(100vh - 35px);
    max-width: 100%;
    overflow-wrap: break-word;
    word-wrap: break-word;
    overflow-y: auto;
    overflow-x: hidden;
}

/* Responsive behavior */
@media (max-width: 768px) {
    .document-layout-grid {
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .viewer-section {
        order: 2;
    }

    .info-detail-section {
        order: 1;
        height: auto;
        overflow-y: visible;
    }
}

/* Legacy table support - keeping for backward compatibility */
.private .content-wrapper td.viewer {
    flex: 2;
}

.private .content-wrapper td.info-detail {
    flex: 1.5;
}

/* Contrôle strict de la largeur des éléments de navigation */
.info-detail-section .clauses-container {
    max-width: 100%;
    overflow: hidden;
}

.info-detail-section .subcategory-list {
    max-width: 100%;
    overflow: hidden;
}

.info-detail-section .subcategory-item {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    white-space: normal;
    padding: 0.5rem;
    margin-bottom: 0.25rem;
    line-height: 1.4;
    hyphens: auto;
}

.info-detail-section .subtheme-title,
.info-detail-section .category-header span,
.info-detail-section .toggle-text,
.toggle-subthemes {
    max-width: 100%;
    word-wrap: break-word;
    overflow-wrap: break-word;
    hyphens: auto;
    line-height: 1.4;
}

.toggle-subthemes:hover {
    cursor: pointer;
}

/* Amélioration de la visibilité des searched-theme-block */
.searched-theme-block {
    display: none;
}

    .searched-theme-block.visible {
        display: block;
    }

/* Assurer qu'un seul other-theme-list soit visible */
.other-theme-list {
    display: block;
}



.private .download-group-btn {
    margin-top: 20px;
    gap: 30px;
}

    .private .download-group-btn .viewer-download-link {
        text-decoration: underline;
        text-decoration-color: var(--strawberry);
        text-decoration-thickness: 3px;
        text-underline-offset: 4px;
        font-size: 1em;
    }

        .private .download-group-btn .viewer-download-link i {
            width: 5px;
            text-decoration: inherit;
            margin-right: 5px;
        }

.blue-box.advice-container {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.5rem;
}

.private summary h2 {
    font-size: 1.5rem;
    font-weight: 400;
    line-height: 2.25rem;
    color: var(--strawberry);
}



.blue-box.advice-container p {
    margin: unset;
}


.private .info-detail > .group-btn {
    justify-content: center;
    padding: 1.5rem;
    display: flex;
    gap: 0.5rem;
}



.private .info-detail .group-btn button {
    background-color: var(--strawberry);
    border: unset;
    font-family: 'Sora', sans-serif;
    color: var(--white);
    padding: 1rem;
    border-radius: 0.5rem;
}

.private #summary .group-btn {
    justify-content: flex-start;
    padding-top: 0;
    padding-left: 40px;
    display: flex;
    gap: 15px;
}

/*.private #technical-details .technical-details-form label.required:after {
    content: "";
}*/

.private #technical-details .technical-details-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    font-size: 1em;
}

    .private #technical-details .technical-details-grid .technical-details-grid-cell {
        border-bottom: 2px solid var(--grey-3);
        justify-content: space-between;
        align-items: end;
    }

        .private #technical-details .technical-details-grid .technical-details-grid-cell span:nth-of-type(2) {
            position: relative;
            padding-right: 14px;
            text-align: end;
            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
            text-overflow: ellipsis;
            white-space: normal;
        }

    /*.private #technical-details .technical-details-grid .technical-details-grid-cell-content {
        font-size: 1.1em;
    }*/

label.switch {
    position: relative;
    display: inline-block;
    width: 60px;
    height: 34px;
    position: relative;
    top: 10px;
}

.switch input {
    opacity: 0;
    width: 0;
    height: 0;
}

.switch .slider.round {
    border-radius: 34px;
}

.switch .slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider:before {
    -webkit-transform: translateX(26px);
    -ms-transform: translateX(26px);
    transform: translateX(26px);
}

.slider.round:before {
    border-radius: 50%;
}

.slider:before {
    position: absolute;
    content: "";
    height: 26px;
    width: 26px;
    left: 4px;
    bottom: 4px;
    background-color: white;
    -webkit-transition: .4s;
    transition: .4s;
}

input:checked + .slider {
    background-color: var(--strawberry);
}

.slider.round {
    border-radius: 34px;
}

.private #summary summary {
    list-style: none;
}

.private .subcategory-list:has(.searched-theme-block) {
    display: flex;
    flex-direction: column;
    gap: 30px;
    margin-bottom: 30px;
}

.private .searched-theme-block,
.hidden {
    display: none;
}

    .private .searched-theme-block.visible {
        font-size: 0.9rem !important;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .private .searched-theme-block .searched-theme-name span {
        display: block;
        background-color: var(--strawberry);
        width: 200px;
        padding: 0.31rem 0.62rem;
        border-radius: 18.8rem;
        color: var(--white);
        text-wrap: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    .private .searched-theme-block .searched-subtheme-name,
    .private .searched-theme-block .searched-clause-name {
        border-left: 2px solid var(--grey-2);
        margin-left: 10px;
        padding-left: 20px;
    }

    .private .searched-theme-block .searched-clause-name {
        margin-left: 50px;
    }

    .private .searched-theme-block .searched-subtheme-name span,
    .private .searched-theme-block .searched-clause-name-text {
        padding: 0.3125rem 0.625rem;
        border-radius: 18.75rem;
        border: 1px solid var(--strawberry);
    }

    .private .searched-theme-block .searched-clause-name-text {
        align-self: flex-start;
        /*flex: 1 0 auto;*/
        display: flex;
        align-items: center;
        gap: 0.5rem;
        min-width: 0;
    }

        .private .searched-theme-block .searched-clause-name-text button {
            border: unset;
            background: unset;
            cursor: pointer;
            font-family: 'Sora';
        }

        .private .searched-theme-block .searched-clause-name-text .excerpt-highlight-button {
            flex: 0 1 auto;
            min-width: 0;
            /*white-space: nowrap;*/
            overflow: hidden;
            text-overflow: ellipsis;
            text-align: left;
            padding: 0;
            margin: 0;
            max-width: 100%;
        }

        .private .searched-theme-block .searched-clause-name-text .best-excerpt-prev,
        .private .searched-theme-block .searched-clause-name-text .best-excerpt-next {
            flex-shrink: 0;
            padding: 0.25rem;
            min-width: 2rem;
        }

        .private .searched-theme-block .searched-clause-name-text .results-counter {
            flex-shrink: 0;
            font-size: 0.875rem;
            color: #666;
            margin: 0;
            padding: 0 0.5rem;
        }

    .private .searched-theme-block .search-clauses {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
    }

    .private .searched-theme-block .searched-clause-name-text {
        max-width: 100%;
        overflow: hidden;
        width: fit-content;
        box-sizing: border-box;
    }

button.best-excerpt-next:hover, button.best-excerpt-prev:hover {
    color: var(--strawberry);
}

.private .searched-clause-name div {
    width: fit-content;
    gap: 10px;
    flex-direction: column;
}

.private .other-linked-clauses {
    flex-wrap: wrap;
    grid-gap: 10px;
}

    .private .other-linked-clauses span {
        padding: 0.3125rem 0.625rem;
        border-radius: 18.75rem;
        border: 1px solid var(--grey-2, #B0B2B5);
        display: block;
        width: fit-content;
    }

.private .other-theme-list ul.category-list {
    padding-left: 0;
    display: flex;
    flex-direction: column;
    gap: 1rem;
}

    .private .other-theme-list ul.category-list li.category {
        list-style: none;
        display: flex;
        flex-direction: column;
        gap: 0.50rem;
        order: 999;
    }
        .private .other-theme-list ul.category-list li.category.negociation-collective {
            order: 1000;
        }

        .private .other-theme-list ul.category-list li.category.include {
            order: 1;
        }

        .private .other-theme-list ul.category-list li.category .category-header {
            display: flex;
            align-items: center;
            justify-content: space-between;
            cursor: pointer;
            transition: background-color 0.2s ease;
        }

            .private .other-theme-list ul.category-list li.category .category-header .toggle-container {
                display: flex;
                align-items: center;
                justify-content: flex-end;
            }

                .private .other-theme-list ul.category-list li.category .category-header .toggle-container p {
                    margin: 0;
                }


            .private .other-theme-list ul.category-list li.category .category-header .toggle-icon {
                transition: transform 0.2s ease;
                margin-left: 8px;
            }

        .private .other-theme-list ul.category-list li.category .subcategory-list-container {
            padding-left: 0.75rem;
        }

.subcategory-list-container p {
    margin: 0 0 0.25rem;
}


.private .other-theme-list ul.category-list li.category span:first-child {
    display: block;
    background-color: var(--strawberry);
    width: 200px;
    padding: 0.31rem 0.62rem;
    border-radius: 18.8rem;
    color: var(--white);
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    text-align: center;
}

.private .other-theme-list ul.category-list li.category ul.subcategory-list {
    display: flex;
    flex-wrap: wrap;
    list-style: none;
    margin-left: 0.5rem;
    margin-bottom: 0.75rem;
    padding-left: 0.25rem;
    flex-direction: row;
    gap: 0.31rem;
}

    .private .other-theme-list ul.category-list li.category ul.subcategory-list li.subcategory-item {
        padding: 0.3125rem 0.625rem;
        border-radius: 18.75rem;
        border: 1px solid var(--grey-2, #B0B2B5);
        display: block;
        /*text-wrap: nowrap;*/
        cursor: pointer;
        transition: background-color 0.2s ease;
        overflow: hidden;
        text-overflow: ellipsis;
    }

        .private .other-theme-list ul.category-list li.category ul.subcategory-list li.subcategory-item:hover {
            background-color: var(--strawberry);
            border: solid 1px var(--strawberry);
            color: var(--white);
        }

.private .other-theme-list ul.category-list li.category .subtheme-group {
    padding-left: 0.75rem;
}

    .private .other-theme-list ul.category-list li.category .subtheme-group .subtheme-title {
        display: flex;
        flex-direction: column;
        padding: 0.3125rem 0.625rem;
        border-radius: 18.75rem;
        border: 1px solid var(--grey-2, #B0B2B5);
        display: inline-block;
        width: fit-content;
        /*text-wrap: nowrap;*/
        margin: 0.75rem 0 0.5rem;
    }

    .private .other-theme-list ul.category-list li.category .subtheme-group .clauses-container {
        display: flex;
        flex-direction: column;
        margin-left: 0.5rem;
        border-left: solid 2px var(--grey-2);
        padding-left: 0.75rem;
        padding-top: 1rem;
    }

.excerpts-grid-container ul.excerpt-list {
    margin: unset;
}

/*#region document feedback (thumbs)*/
.private .clause-with-thumbs {
    display: flex;
    flex-direction: row !important;
    gap: 5px !important;
}

.private .feedback-thumbs {
    align-self: center;
    display: flex;
    flex-direction: row !important;
    margin-right: 5px;
    gap: 5px !important;
}

    .private .feedback-thumbs i {
        cursor: pointer;
    }

        .private .feedback-thumbs i.clause-relevant.active{
            color: green;
        }

        .private .feedback-thumbs i.clause-not-relevant.active {
            color: red;
        }

/*#endregion document feedback (thumbs)*/

/*#endregion details documents*/

/*#region footer*/
.connexion footer, .private footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: unset;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 1.25rem 2.5rem;
    z-index: 99;
}

.private footer {
    background-color: var(--white-transparent);
    backdrop-filter: blur(15px);
}

.connexion footer {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    background-color: unset;
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    padding: 1.25rem 2.5rem;
}

    .connexion footer p, .private footer p {
        font-size: 0.75rem;
    }

    .connexion footer .menu, .private footer .menu {
        margin: 0 0 10px;
    }

        .connexion footer .menu tr, .private footer .menu tr {
            display: flex;
            align-items: flex-start;
            gap: 1.25rem;
        }

            .connexion footer .menu tr td a div, .private footer .menu tr td a div {
                color: var(--grey-1, #4A4C4F);
                font-family: Sora;
                font-size: 0.75rem;
                font-style: normal;
                font-weight: 400;
                line-height: normal;
                transition: all 0.3s ease;
            }

                .connexion footer .menu tr td a div:hover, .private footer .menu tr td a div:hover {
                    background-image: var(--Gradient-Gradient, linear-gradient(89deg,#F83393 0%,#EC183B 45.41%,#F84428 109.44%));
                    background-clip: text;
                    -webkit-background-clip: text;
                    color: transparent;
                    -webkit-text-fill-color: transparent;
                }

/*footer landing*/

.footer-landing {
    display: flex;
    background: var(--dark, #242628);
    justify-content: space-between;
    padding: 3.125rem 2.5rem;
    color: white;
}

.footer-landing-bloc {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.footer-landing .footer-landing-bloc .footer-presentation {
    font-size: 1rem;
    font-weight: 400;
}

.footer-landing-bloc .linkedin-icon {
    width: fit-content;
}

    .footer-landing-bloc .linkedin-icon p {
        color: var(--white);
        font-size: 50px;
    }

.footer-landing .footer-landing-bloc .footer-licence {
    font-size: 0.75rem;
    font-weight: 400;
    padding-top: 1.5rem;
}

.footer-landing .menu {
    display: flex;
    flex-direction: row;
}

.footer-landing .menu ul.dropdown
{
    visibility: visible !important;
}

    .footer-landing .menu li {
        list-style-type: none;
        padding-bottom: 0.62rem;
    }

        .footer-landing .menu li.has-children {
            border-left: 2px solid var(--grey-2);
            padding-left: 0.62rem;
            height: 90%;
        }

        .footer-landing .menu li .dropdown {
            padding: 1.25rem 4.38rem 0 0;
        }


        .footer-landing .menu li a {
            color: var(--grey-2);
            font-size: 0.75rem;
            font-weight: 400;
        }

        .footer-landing .menu li .dropdown li a {
            color: white;
            font-size: 0.875rem;
            font-weight: 400;
        }

        .footer-landing .menu li a:hover {
            position: relative;
            padding-bottom: 0.5rem; /* Space between text and underline */
        }

            .footer-landing .menu li a:hover::after {
                content: "";
                position: absolute;
                bottom: 0;
                left: 0;
                height: 3px; /* Thickness of the underline */
                width: 100%;
                background: var(--Gradient-Gradient); /* Gradient colors */
            }

/*#endregion footer*/

/*region responsive*/
@media (max-width: 1200px) {
    .bloc-header-accueil .header-accueil-texte {
        width: 20rem;
    }
    .bloc-header-accueil-background-image {
        background-size: cover;
        background-position: center;
    }
    .bloc-header-accueil {
        height: 33rem;
    }

    .bloc-presentation .bloc-presentation-texte {
        width: auto;
    }

    .bloc-presentation h2, .bloc-fonctionnalite h2, .bloc-demo h2 {
        font-size: 2.8125rem;
    }

    .bloc-fonctionnalite .fonctionnalite-presentation {
        flex-direction: column;
    }

    .bloc-fonctionnalite .fonctionnalite-presentation {
        align-self: center;
    }

    .bloc-recherche .bloc-recherche-image {
        width: 25rem;
        flex-direction: column;
    }

    .bloc-recherche-depliant .collapsibleFrameWrapper {
        width: 20rem;
    }

    .bloc-recherche-image div p img {
        max-width: 350px;
        height: auto;
    }

    .bloc-recherche-image div p {
        display: flex;
        justify-content: center;
        padding-top: 1.5rem;
    }

    .welcome-page .bloc-demo {
        height: auto;
    }

        .welcome-page .bloc-demo h2 {
            padding: 1.5rem 0 1.5rem 1rem;
        }

        .welcome-page .bloc-demo .demo-text {
            padding: 1.5rem 0 0 1rem;
        }

    .bloc-demo .link-button {
        margin-left: 0.5rem;
    }

    .header-accueil-texte p, .bloc-presentation p, p.recherche-texte, .welcome-page .bloc-demo p, .bloc-fonctionnalite p {
        font-size: 1rem;
    }

    .bloc-header-accueil .header-accueil-texte {
        padding: 12rem 0 0 1rem;
    }

    .welcome-page .bloc-presentation {
        padding: 6.25rem 2rem;
    }

    /*Footer landing*/
    .footer-landing {
        flex-direction: column;
    }

        .footer-landing .menu {
            flex-direction: column;
            align-items: start;
            padding-left: 0;
        }

            .footer-landing .menu li.has-children {
                margin-bottom: 1.5rem;
            }
}

/*endregion responsive*/


/*#region inscription*/

.connexion:has(.subscription-screen) {
    background-image: url(Images/hero_background_zoom.png);
    background-color: #fdfdfd;
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    display: unset;
    flex-direction: unset;
    align-items: unset;
    justify-content: unset;
    height: unset;
}

.connexion .wrapper:has(.subscription-screen) {
    background: transparent;
}

.connexion .content-wrapper:has(.subscription-screen) {
    background-image: unset;
    background: transparent;
    height: unset;
}

.connexion:has(.subscription-screen) footer {
    position: fixed;
}

.connexion .content-wrapper:has(.subscription-screen) .subscription-screen {
    background-image: unset;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.connexion .content-wrapper .subscription-info-screen {
    height: 100vh;
}

.connexion #simulation,
.connexion #contact-form {
    margin-top: 100px;
    margin-bottom: 100px;
    height: 100%;
}

.connexion #subscription-contact-frame,
.connexion .subscription-end-step-view {
    align-self: center;
}

.connexion #subscription-contact-frame,
.connexion .subscription-end-step-view,
.connexion #contact-form-content,
.connexion #simulation .simulation-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 34.0625rem;
    padding: 2.5rem;
    gap: 2.5rem;
    border-radius: 0.1875rem;
    background: rgba(255, 255, 255, 0.30);
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(15px);
    color: var(--white);
}

.connexion .subscription-end-step-view {
    align-items: unset;
}

.connexion .subscription-step-title {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 2.25rem;
    text-align: center;
    margin: unset;
}

.connexion .subscription-card-title {
    font-size: 1.25rem;
    font-weight: 400;
    margin: unset;
}

.connexion .subscription-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

    .connexion .subscription-card p {
        margin: unset;
        margin-bottom: 20px;
    }

.connexion .subscription-btn,
.connexion .submit-subscription-btn,
.connexion .next-btn,
.connexion .previous-btn,
#RecoverPassword button,
#ChangePassword button {
    border-radius: 3px;
    background-color: var(--strawberry);
    padding: 8px 20px;
    color: var(--white);
    font-size: 16px;
    font-weight: 600;
}

.connexion .previous-btn {
    background-color: var(--grey-2);
    color: var(--dark);
}

.connexion .subscription-card-button {
    align-self: center;
}

.subscription-card-button i {
    font-size: 1.2rem;
    transform: rotate(45deg);
    color: var(--white);
}

.connexion #contact-form-content {
    width: 50rem;
}

.connexion .simulation-content .flex-outer .form-layout-item label {
    color: var(--white);
    align-self: flex-start;
    flex: 0 0 200px;
}

.connexion .simulation-content.active .flex-outer .form-layout-item label {
    flex: 0 0 130px;
}

.connexion .simulation-content .flex-outer .form-layout-item .form-fieldset {
    display: flex;
    flex-direction: column;
}

    .connexion .simulation-content .flex-outer .form-layout-item .form-fieldset textarea {
        resize: none;
    }

        .connexion .simulation-content .flex-outer .form-layout-item .form-fieldset input:focus,
        .connexion .simulation-content .flex-outer .form-layout-item .form-fieldset textarea:focus {
            outline: none;
            border: 2px solid var(--strawberry);
        }

    .connexion .simulation-content .flex-outer .form-layout-item .form-fieldset .field-validation-error {
        margin-top: -20px;
    }

.connexion .toolbar-button {
    display: flex;
    flex: 1 0 100%;
    justify-content: space-between;
    width: 100%;
    margin-right: 10px;
}

    .connexion .toolbar-button button:only-child,
    .connexion .toolbar-button input:only-child {
        margin-left: auto;
    }

.connexion .toolbar-button-contact-form {
    display: flex;
    justify-content: flex-end;
}

.connexion .submit-subscription-btn,
.connexion #subscription-conflict-button {
    border-color: var(--strawberry);
    margin-right: 20px;
}

.connexion .center {
    display: flex;
    flex-direction: column;
    text-align: center;
    gap: 20px;
}

.connexion #subscription-conflict-button {
    align-self: center;
    margin-right: unset;
}

.connexion #simulation .wizard {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 50px;
}

    .connexion #simulation .wizard .step {
        display: flex;
        flex: 3 0 0;
        height: 100px;
        padding: 0;
        position: relative;
        margin: 0 200px;
    }

        .connexion #simulation .wizard .step:before {
            top: 35px;
            bottom: 0;
            position: absolute;
            content: " ";
            width: 100%;
            height: 2px;
            background-color: var(--grey-1);
        }

        .connexion #simulation .wizard .step li {
            list-style: none;
            display: flex;
            flex: 1 0 0;
            justify-content: center;
            align-items: center;
            flex-direction: column;
            color: var(--dark);
            font-size: 16px;
        }

            .connexion #simulation .wizard .step li.active span {
                background-color: var(--white);
                color: var(--dark);
            }

            .connexion #simulation .wizard .step li span {
                border: 2px solid var(--dark);
                width: 32px;
                height: 32px;
                border-radius: 50%;
                display: flex;
                justify-content: center;
                align-items: center;
                margin-bottom: 10px;
                background-color: var(--grey-2);
                z-index: 1;
            }

.connexion #simulation .simulation-content[name^="step"] {
    display: none;
}

.connexion #simulation .simulation-content.active {
    display: flex;
    align-items: initial;
}

.connexion #simulation .simulation-content {
    width: 60rem;
}

    .connexion #simulation .simulation-content .username-field {
        font-size: 16px;
        font-weight: 600;
        margin-bottom: 20px;
        color: var(--white);
    }

    .connexion #simulation .simulation-content.active a#terms-acceptance-link {
        color: var(--white);
        text-decoration: underline;
        text-decoration-color: var(--strawberry);
        text-decoration-thickness: 2px;
        text-underline-offset: 5px;
    }

        .connexion #simulation .simulation-content.active a#terms-acceptance-link:hover {
            color: var(--strawberry);
            text-decoration: underline;
            text-decoration-color: var(--strawberry);
            text-decoration-thickness: 2px;
            text-underline-offset: 5px;
        }

    .connexion #simulation .simulation-content.active input[name="RegisterModel.Password"],
    .connexion #simulation .simulation-content.active input[name="RegisterModel.ConfirmPassword"] {
        padding: .2rem .5rem;
        line-height: 1.5;
        color: var(--dark);
        background-color: #fff;
        background-clip: padding-box;
        border: 1px solid #aaa;
        border-radius: .25rem;
        transition: border-color .15s ease-in-out,box-shadow .15s ease-in-out;
        flex: 1;
        min-width: 40px;
        font-family: inherit;
        font-size: 14px;
    }

#password-rules {
    display: flex;
    flex-direction: column;
    margin-top: -2.5em;
    margin-bottom: -1.5em;
}

.password-rule {
    margin-bottom: -2px;
    font-size: 0.9em;
}

/*#region inscription responsive*/

@media (max-width: 900px), (max-height: 900px) {

    .connexion:has(.subscription-screen) footer {
        background: rgba(255, 255, 255, 0.30);
        box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.15);
        backdrop-filter: blur(15px);
    }
}

@media (max-width: 900px) {

    .connexion .content-wrapper:has(.subscription-screen) .subscription-screen {
        width: 80%;
        margin: 0 auto;
    }

    .connexion #contact-form-content,
    .connexion .subscription-end-step-view,
    .connexion #simulation,
    .connexion #simulation .simulation-content,
    .connexion #subscription-form ul.flex-outer .form-layout-item label {
        width: 100%;
    }

    .connexion #subscription-form ul.flex-outer .form-layout-item label {
        flex: none;
    }

    .connexion #contact-form-content {
        margin-bottom: 50px;
    }

    .connexion #simulation .wizard .step {
        margin: unset;
    }
}

@media (max-width: 600px) {

    .connexion #subscription-form ul.flex-outer.form-layout-2 {
        flex-direction: column;
        width: 100%;
    }

        .connexion #subscription-form ul.flex-outer.form-layout-2 .form-layout-item {
            display: block;
        }

            .connexion #subscription-form ul.flex-outer.form-layout-2 .form-layout-item .form-fieldset {
                width: 100%;
            }

    .connexion #simulation {
        margin-bottom: 150px;
    }

        .connexion #simulation .wizard .step::before {
            top: 16px;
        }

        .connexion #simulation .wizard .step li {
            justify-content: unset;
            text-align: center;
        }
}

/*#endregion inscription responsive*/

/*#endregion inscription*/


/*region design temporaire*/

/*.result h2 a:hover {
    background: var(--Gradient-Gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.excerpt-list h3 {
    margin: 0;
}

.excerpt-list .subcategory-list {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 10px;
    list-style: none;
}

#summary-groupclauses-1 .excerpt-list .subcategory-list {
     flex-direction: row; 
}

.excerpt-list ul.category-list {
    list-style: none;
}

.excerpt-list .subcategory-item {
    padding: 5px 15px;
    background-color: #f0f4f8;
    border-left: none;
    border-radius: 10px;
    font-weight: 500;
    color: #fdfdfd;
}

.subcategory-item:nth-child(5n+1) {
    background-color: var(--strawberry);
}

.subcategory-item:nth-child(5n+2) {
    background-color: var(--strawberry-1);
}

.subcategory-item:nth-child(5n+3) {
    background-color: var(--strawberry-2);
}

.subcategory-item:nth-child(5n+4) {
    background-color: var(--rose);
}

.subcategory-item:nth-child(5n+5) {
    background-color: var(--orange);
}

.subcategory-list.filtered .subcategory-item {
    flex: 1 1 100%;
}

.excerpt-item {
    margin: 10px 0;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background-color: #f9f9f9;
}

    .excerpt-item:hover {
        box-decoration-break: clone;
        -webkit-box-decoration-break: clone;
        border: 1px solid var(--strawberry);
        border-radius: 7.5px;
        background-color: #ffffff95;
        background: var(--Gradient-Gradient);
        color: var(--white);
    }



.excerpt-list .group-btn button {
    border: 2px solid #73a7bb;
    padding: 10px 30px;
    border-radius: 20px;
    color: var(--color-light-blue);
    background-color: var(--color-white);
    cursor: pointer;
}
	
*/

/*#endregion design temporaire*/

.tooltip-link {
    cursor: help;
    position: relative;
}

    .tooltip-link:hover::after {
        position: absolute;
        opacity: 0;
        content: attr(data-tooltip);
        bottom: 0%;
        animation: fadeIn 100ms cubic-bezier(0.42, 0, 0.62, 1.32) forwards;
        left: 50%;
        animation-delay: 100ms;
        color: #707070;
        background: #ffffff;
        border-radius: 20px;
        min-width: 200px;
        max-width: 100%;
        font-weight: 700;
        text-transform: uppercase;
        text-align: center;
        font-size: 12px;
        padding: 10px;
        box-shadow: 0px 10px 33px #3333332e;
    }

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translate(-50%, 50px);
    }

    100% {
        opacity: 1;
        transform: translate(-50%, -30px);
    }
}

/* Styles pour le toggle switch et la vue par page */
.summary-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.view-toggle-container {
    display: flex;
    align-items: center;
    gap: 12px;
}

.toggle-label {
    font-size: 14px;
    font-weight: 500;
    color: var(--color-dark-blue);
    min-width: 80px;
    text-align: right;
}

/* Le switch - le conteneur */
.switch {
    position: relative;
    display: inline-block;
    width: 36px;
    height: 18px;
    margin-left: 8px;
    vertical-align: middle;
}

    .switch input {
        opacity: 0;
        width: 0;
        height: 0;
        position: absolute;
        z-index: 1;
    }

/* Le slider */
.slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: #ccc;
    transition: .4s;
    border: 1px solid #ccc;
    height: 18px;
    width: 36px;
}

    .slider:before {
        position: absolute;
        content: "";
        height: 12px;
        width: 12px;
        left: 2px;
        bottom: 2px;
        background-color: white;
        transition: .4s;
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
    }

input:checked + .slider {
    background-color: var(--strawberry);
    border-color: var(--strawberry);
}

input:focus + .slider {
    box-shadow: 0 0 1px #2196F3;
}

input:checked + .slider:before {
    transform: translateX(20px);
}

/* Sliders arrondis */
.slider.round {
    border-radius: 18px;
}

    .slider.round:before {
        border-radius: 50%;
    }

.view-toggle-container {
    display: flex !important;
    align-items: center;
    gap: 8px;
    padding: 2px;
    border-radius: 5px;
    line-height: 1;
}

.toggle-label {
    font-size: 13px;
    font-weight: 500;
    color: var(--dark);
    min-width: 70px;
    text-align: right;
}

.segmented-toggle {
    display: flex;
    align-items: center;
}

    .segmented-toggle .seg-label {
        font-weight: 600;
        margin-right: 6px;
    }

    .segmented-toggle .seg-control {
        display: inline-flex;
        border: 2px solid var(--strawberry);
        border-radius: 28px;
        overflow: hidden;
    }

    .segmented-toggle .seg-option {
        background: transparent;
        color: var(--strawberry);
        padding: 10px 18px;
        border: none;
        cursor: pointer;
        font-weight: 700;
    }

        .segmented-toggle .seg-option.active {
            background: var(--strawberry);
            color: #ffffff;
        }

        .segmented-toggle .seg-option:focus {
            outline: none;
        }

        .segmented-toggle .seg-option:hover {
            filter: brightness(1.05);
        }


.page-view-container {
    margin-top: 20px;
}

.page-summary p {
    margin-bottom: 0;
}

.page-list {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    list-style: none;
    padding: 0;
    margin: 0;
}

    .page-list li.page-item {
        display: flex;
        flex-direction: column;
        gap: 1.25rem;
    }

.page-header {
    background-color: var(--color-light-blue);
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
    transition: background-color 0.3s ease;
}

    .page-header:hover {
        background-color: var(--color-medium-blue);
    }

.page-number {
    background-color: var(--strawberry);
    padding: 0.31rem 0.62rem;
    border-radius: 18.8rem;
    color: var(--white);
}

.page-view-container .toggle-container {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
}

.page-theme-section {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 1.5rem;
}

.theme-label {
    margin-bottom: 0.5rem;
}


.theme-header {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-bottom: 0.75rem;
}

.theme-name {
    color: var(--dark);
    font-weight: 600;
    padding: 0.3125rem 0.625rem;
    border-radius: 18.75rem;
    width: fit-content;
    border: solid 1px var(--strawberry);
}

.subtheme-section {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    border-left: solid 2px var(--grey-2);
    margin-left: 15px;
    padding: 0.75rem 0;
}

.subtheme-header {
    display: flex;
    flex-direction: column;
    gap: 0.25rem;
    margin-left: 10px;
    padding-left: 20px;
}

.subtheme-name {
    background-color: var(--white);
    border: 2px solid var(--strawberry);
    padding: 0.3125rem 0.625rem;
    border-radius: 18.75rem;
    border: 1px solid var(--grey-2, #B0B2B5);
    width: fit-content;
}

.clauses-section {
    display: flex;
    border-left: 2px solid var(--grey-2);
    margin-left: 46px;
    padding-left: 20px;
    flex-direction: column;
    gap: 0.25rem;
}

.clauses-container {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.clause-button {
    background-color: var(--white);
    border: 2px solid var(--strawberry);
    border-radius: 20px;
    cursor: pointer;
    padding: 0.3125rem 0.625rem;
    border-radius: 18.75rem;
    border: 1px solid var(--grey-2, #B0B2B5);
    font-size: 14px;
    font-family: 'Sora';
    transition: all 0.3s ease;
}

    .clause-button:hover {
        background-color: var(--strawberry);
        color: var(--white);
        transform: translateY(-1px);
        border: 1px solid var(--strawberry);
    }

/* Responsive design */
@media (max-width: 768px) {

    .dropMenuList.register-menu, .dropMenuList.user-menu {
        border: none !important;
    }

    .dropMenuList.register-menu {
        margin-right: 15px;
    }

    .dropMenuList.register-menu span, .dropMenuList.user-menu span {
        display: none !important;
    }

    .summary-header {
        flex-direction: column;
        align-items: stretch;
        gap: 10px;
    }

    .view-toggle-container {
        justify-content: center;
        order: 2;
    }

    .toggle-label {
        text-align: center;
        min-width: auto;
    }

    .page-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 8px;
    }

    .excerpt-clauses {
        flex-direction: column;
    }

    .clause-button {
        text-align: left;
    }
}


.loader-spinner{
    width: 18px;
    height: 18px;
    border: 2px solid var(--strawberry);
    border-bottom-color: transparent;
    border-radius: 50%;
    display: inline-block;
    box-sizing: border-box;
    animation: rotate 1s linear infinite;
}

#ButtonClassicSearch:hover .loader-spinner {
    border: 2px solid var(--white);
    border-bottom-color: transparent;
}

progress {
    display: none;
}

    progress + span {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        height: 56px;
        width: 56px;
        box-sizing: border-box;
        background: conic-gradient( from 90deg at 50% 50%, rgba(248, 51, 147, 0.1) 0deg, #F83393 90deg, #EC183B 160deg, #F84428 330deg, rgba(248, 68, 40, 0) 360deg );
        border-radius: 56px;
        animation: 1s rotate infinite linear;
    }

    progress + span::before {
        content: "";
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        height: 40px;
        width: 40px;
        background: #ccc;
        border-radius: 48px;
    }

        progress + span::after {
            content: "";
            position: absolute;
            right: 0;
            top: 50%;
            transform: translateY(-50%);
            height: 6px;
            width: 6px;
            background: rgba(248, 68, 40, 0);
            border-radius: 50%;
            box-shadow: 0 0 4px rgba(248, 68, 40, 0.5);
        }

@keyframes rotate {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*Mon Benchmark center un clic*/
.benchmark-container {
    display: flex;
    gap: 3rem;
    max-width: 1200px;
    margin: 0 auto;
    padding: 8rem 2rem;
    align-items: flex-start;
}

.benchmark-header {
    flex: 1;
    max-width: 400px;
    display: flex;
    flex-direction: column;
    gap: 2rem;
}

    .benchmark-header .benchmark-coming-soon {
        display: inline-block;
        padding: 0.875rem;
        border-radius: 0.375rem;
        background-color: rgba(50, 55, 111, 0.12);
        font-weight: 600;
        font-size: 0.95rem;
        text-transform: uppercase;
        color: var(--strawberry);
    }

    .benchmark-header h1 {
        font-size: 4.375rem;
        font-weight: bold;
        color: var(--dark);
        margin: 0;
        line-height: 1.1;
    }

        .benchmark-header h1 span {
            color: var(--grey-4);
        }

ul.benchmark-list {
    flex: 2;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    list-style: none;
    padding: 0;
    margin: 0;
    align-content: flex-start;
}

     ul.benchmark-list li {
         display: inline-flex;
         height: 6.25rem;
         padding: 0 1.875rem 0 3.125rem;
         align-items: center;
         gap: 1.25rem;
         background-color: var(--grey-5);
         border-radius: 18.75rem;
         justify-content: space-between;
         min-width: 200px;
         flex: 0 1 auto;
         cursor: pointer;
         transition: all 0.2s ease;
         overflow: hidden;
     }

     ul.benchmark-list li:hover {
         transform: translateY(-2px);
         box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
     }

.benchmark-header p {
    font-size: 1rem;
    color: var(--dark);
    line-height: 1.5;
    margin: 0;
}


.benchmark-item-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 2;
}


.benchmark-category {
    font-size: 1.5rem;
    font-weight: 500;
    color: var(--white);
    flex: 1;
}

.benchmark-value {
    font-size: 0.875rem;
    font-weight: 600;
    color: var(--white);
    margin-left: 1rem;
}

/* Navigation horizontale des items de benchmark */
.benchmark-items-navigation {
    margin: 2rem 0;
    padding: 1rem 0;
    border-bottom: solid 1px var(--grey-2);
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.5rem;
}

.benchmark-carousel-container {
    overflow-x: auto;
    overflow-y: hidden;
    flex: 1;
    /* Masquer la scrollbar */
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE and Edge */
}

.benchmark-carousel-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari, Opera */
}

.benchmark-carousel-btn {
    background-color: var(--grey-5);
    border: none;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    flex-shrink: 0;
    transition: all 0.3s ease;
    z-index: 10;
}

.benchmark-carousel-btn:hover {
    background-color: var(--grey-4);
    transform: scale(1.1);
}

.benchmark-carousel-btn i {
    font-size: 1rem;
    color: var(--dark);
}

.benchmark-list-inline {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    list-style: none;
    padding: 0 1rem;
    margin: 0;
    white-space: nowrap;
    flex-wrap: nowrap;
}

.benchmark-nav-item {
    display: inline-flex;
    height: 2.5rem;
    padding: 0 1.25rem;
    align-items: center;
    border-radius: 1.25rem;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
    position: relative;
    overflow: hidden;
}

.benchmark-nav-item:hover {
    transform: translateY(-1px);
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.benchmark-nav-link {
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 2;
}

.benchmark-nav-category {
    font-size: 0.875rem;
    font-weight: 500;
    color: var(--dark);
    white-space: nowrap;
}

.benchmark-nav-item.selected span.benchmark-nav-category {
    color: var(--white);
}


.benchmark-details-container {
    max-width: 100vw;
    margin: 0 auto;
    padding: 8rem 3rem;
}

.selected-item-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    /*margin: 2rem 0;*/
}

.selected-item-display {
    font-size: 2.5rem;
    color: var(--strawberry);
    margin: 0;
    font-weight: bold;
}

.download-link {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    text-decoration: none;
    color: var(--dark);
    cursor: pointer;
    transition: color 0.2s ease;
}

.indicator-category-section:not([open]) .download-link {
    display: none;
}

/*Masquage temporaire du lien de téléchargement*/
.indicator-category-section .download-link {
    display: none;
}

.download-link:hover {
    color: var(--strawberry);
}

.download-link i {
    font-size: 1rem;
}

/* Grille des clauses */
.clauses-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content:center;
    gap: 2rem;
    margin: 3rem 0;
}

@media (max-width: 1200px) {
    .clause-card {
        min-width: 280px;
    }
}

.clause-card {
    background-color: var(--white);
    border-radius: 1.875rem;
    padding: 1.85rem;
    box-shadow: 0 0 2.217px 0 rgba(0, 0, 0, 0.25);
    flex: 0 1 auto; /* Ne grandit pas automatiquement, s'adapte au contenu */
    min-width: 300px;
    max-width: 100%;
    height: fit-content;
}

.clause-card-header {
    display: flex;
    align-items: flex-start;
    margin-bottom: 1.5rem;
    padding-bottom: 1rem;
}

.clause-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: var(--dark);
    margin: 0;
    flex: 1;
}

.clause-download-btn {
    background-color: var(--grey-4);
    border: none;
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: all 0.2s ease;
    flex-shrink: 0;
}

.clause-download-btn:hover {
    background-color: var(--strawberry);
}

.clause-download-btn:hover i {
    color: white;
}

.clause-download-btn i {
    font-size: 0.875rem;
    color: var(--dark);
    transition: color 0.2s ease;
}

.clause-content {
    /*min-height: 200px;*/
    height: fit-content;
    overflow-x: hidden; /* empêche tout dépassement horizontal visible */
}

.clause-charts-container {
    display: flex;
    flex-direction: row;
    gap: 1.75rem;
    flex-wrap: wrap;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: center;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.chart-image-container {
    flex: 0 1 auto;
    flex-direction: column;
    max-width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    gap: 1rem;
}

.chart-image-container span {
    font-size: 1.1rem;
}

.chart-image {
    display: block;
    max-width: 100%; /* ne dépasse jamais le conteneur */
    height: auto; /* respecte le ratio sans imposer de largeur */
    border-radius: 0.5rem;
}

.no-data {
    text-align: center;
    color: var(--grey-2);
    padding: 2rem;
    font-style: italic;
}

.no-clauses {
    text-align: center;
    padding: 3rem;
    background-color: var(--grey-5);
    border-radius: 1rem;
    margin: 2rem 0;
}

.no-clauses p {
    color: var(--grey-2);
    font-size: 1.125rem;
}

.loading-spinner {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 300px;
    color: var(--strawberry);
}

.benchmark-details-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem 0;
    gap: 8rem;
}

.company-section {
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.company-logo {
    width: 4rem;
    height: 4rem;
    background-color: var(--dark);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.logo-letter {
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
}

.company-name h1 {
    font-size: 1.5rem;
    color: var(--dark);
    margin: 0;
    font-weight: bold;
}

.info-section {
    display: flex;
    gap: 3rem;
    flex: 1;
    justify-content: flex-end;
}

.info-column {
    display: flex;
    flex-direction: column;
    gap: 0.5rem;
    min-width: 200px;
}

.info-label {
    font-size: 0.875rem;
    color: var(--grey-2);
    font-weight: 400;
}

.info-value {
    font-size: 1rem;
    color: var(--dark);
    font-weight: 400;
    line-height: 1.4;
}

h2.selected-item-display {
    font-size: 2.25rem;
    font-style: normal;
    font-weight: 400;
    background: var(--Gradient-Gradient);
    background-clip: text;
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.selected-item-card {
    max-width: 400px;
    margin: 0 auto;
    height: 200px;
    border-radius: 1rem;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    overflow: hidden;
}

.selected-item-content {
    text-align: center;
    color: white;
    z-index: 2;
}

    .selected-item-content h2 {
        font-size: 2rem;
        margin-bottom: 1rem;
    }

.selected-item-value {
    font-size: 3rem;
    font-weight: bold;
}

.all-items-section {
    margin-bottom: 3rem;
}

    .all-items-section h3 {
        font-size: 1.5rem;
        color: var(--dark);
        margin-bottom: 2rem;
        text-align: center;
    }

.all-items-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 1rem;
}

.item-card {
    height: 100px;
    border-radius: 0.5rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 1rem;
    cursor: pointer;
    transition: transform 0.2s ease;
    position: relative;
    overflow: hidden;
}

    .item-card:hover {
        transform: translateY(-2px);
    }

    .item-card.selected {
        border: 3px solid var(--strawberry);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    }

.item-content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    color: white;
    z-index: 2;
}

.item-category {
    font-size: 1rem;
    font-weight: 500;
}

.item-value {
    font-size: 1.5rem;
    font-weight: bold;
}

.navigation-section {
    text-align: center;
}

.back-button {
    display: inline-block;
    padding: 1rem 2rem;
    background-color: var(--strawberry);
    color: white;
    text-decoration: none;
    border-radius: 0.5rem;
    font-weight: 500;
    transition: background-color 0.2s ease;
}

    .back-button:hover {
        background-color: var(--dark);
    }


/* Mobile responsive */
@media (max-width: 768px) {
    .benchmark-container {
        flex-direction: column;
        gap: 2rem;
        padding: 7rem 1.66rem;
    }
    
    .benchmark-header {
        max-width: none;
        text-align: left;
    }
    
    .benchmark-header h1 {
        font-size: 3rem;
    }

    ul.benchmark-list {
        flex: none;
        flex-direction: column;
        width: 100%;
    }
    
    ul.benchmark-list li {
        width: 100%;
        min-width: unset;
        height: 5rem;
        padding: 0 1.5rem 0 2.5rem;
        margin-bottom: 0.5rem;
    }
    
    .benchmark-category {
        font-size: 1.2rem;
    }
    
    .selected-item-header {
        flex-direction: column;
        gap: 1rem;
        align-items: flex-start;
    }
    
    .selected-item-display {
        font-size: 2rem;
    }
    
    .clauses-grid {
        gap: 1.5rem;
    }
    
    .clause-card {
        min-width: unset;
        flex: 1 1 100%;
    }
    
    .clause-card {
        padding: 1.5rem;
    }
    
    .clause-title {
        font-size: 1.125rem;
    }
    
    .clause-charts-container {
        flex-direction: column;
        gap: 0.75rem;
    }
    
    .chart-image-container {
        min-width: unset;
        width: 100%;
    }
}

/*#region indicator values*/
#indicator-section table {
    border-collapse: collapse;
    border: 2px solid black;
    margin-bottom:100px;
}

#indicator-section tr {
    display: revert;
}

#indicator-section th,
#indicator-section td {
    border: 1px solid black;
    padding: 4px;
}

/*#endregion indicator values*/

.SearchZoneColumn.indicators-results .results-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.indicator-subtheme-container > summary {
    list-style: none;
    display: flex;
    grid-gap: 2rem;
    font-size: 1.2rem;
    color: var(--grey-1);
    cursor: pointer;
}

.indicator-subtheme .accordion-icon {
    align-self: center;
}

.indicator-subtheme h2 {
    font-size: 2rem;
}

.indicator-category-section {
    margin: 0rem 0rem 1.5rem 2rem;
}

    /*.indicator-category-section .selected-item-header {
        padding: 0 0 1rem 0;
        margin: 0 0 2rem 0;
    }*/

        .indicator-category-section .selected-item-header:hover {
            cursor: pointer;
        }

    .indicator-category-section .selected-item-display {
        padding: 0.5rem 0;
        line-height: 1.2;
        font-size: 1.5rem;
        font-style: normal;
        font-weight: 400;
        background: var(--Gradient-Gradient);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

.selected-item-container {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 2rem;
}

    .selected-item-container .accordion-icon {
        transition: transform .25s ease;
        color: var(--dark);
        font-size: 1rem;
    }

details[open] > summary.indicator-subtheme .accordion-icon,
details [open] > summary .selected-item-container .accordion-icon {
    transform: rotate(90deg);
}




/* Style pour le sélecteur de catégories - même design que MixedSearchBar */
.filters.categorySelector {
    display: flex;
    justify-content: stretch;
    width: 100%;
}

.filters.categorySelector > ul {
    width: 100%;
}

.filters.categorySelector .form-fieldset {
    height: 2.8rem;
    background-color: var(--grey-5);
}

.filters.categorySelector .form-fieldset > span {
    display: flex;
    align-items: center;
}

.filters.categorySelector .ojcSelect2 .select2-container--default.select2-container--focus .select2-selection--multiple {
    outline: unset;
    border: unset;
}

/* Corriger la largeur du sélecteur de catégories pour éviter la coupure de texte */
.filters.categorySelector .select2-container {
    width: 100% !important;
}

.filters.categorySelector .select2-container .select2-selection--single {
    width: 100%;
    padding: 0.5rem;
    min-height: 2.8rem;
    display: flex;
    align-items: center;
}

.filters.categorySelector .select2-container .select2-selection--single .select2-selection__rendered {
    width: 100%;
    padding-left: 0;
    padding-right: 20px; /* Espace pour l'icône dropdown */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.filters.categorySelector .select2-container .select2-selection--single .select2-selection__placeholder {
    width: 100%;
    color: #999;
}

/* Forcer la largeur du champ de recherche Select2 */
.filters.categorySelector .select2-search--inline {
    width: 100% !important;
}

.filters.categorySelector .select2-search--inline .select2-search__field {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
}

/* S'assurer que le sélecteur occupe toute la largeur de son conteneur */
.filters.categorySelector {
    width: 100%;
}

.filters.categorySelector .select2-container,
.filters.categorySelector select {
    width: 100% !important;
}

/* Forcer le Select2 à occuper toute la largeur disponible */
.filters.categorySelector .ojcSelect2 {
    width: 100% !important;
    display: block !important;
}

.filters.categorySelector .select2-container {
    width: 100% !important;
    display: block !important;
}

.filters.categorySelector .select2-container .selection {
    width: 100% !important;
    display: block !important;
}

.filters.categorySelector .select2-container--default .select2-selection--single {
    width: 100% !important;
    height: 2.8rem !important;
    display: block !important;
}

.filters.categorySelector .select2-container--default .select2-selection--single .select2-selection__rendered {
    width: 100% !important;
    padding-left: 0.5rem !important;
    padding-right: 20px !important;
    display: block !important;
}

.filters.categorySelector .select2-container--default .select2-selection--single .select2-selection__arrow {
    right: 0.5rem !important;
}

.SearchZoneColumn .indicators-results {
    margin: unset;
}

.private .indicators-results .header-search {
    margin-left: unset;
	padding-left: 15rem;
}

.indicators-results .flexRow {
	justify-content: center;
	width: 110vw;
}

/* Affichage des charts sur deux colonnes */
.chart-group-container {
	background-color: var(--grey-6);
}

.chart-group {
	background-color: var(--grey-6);
}

.chart-title {
	padding-left: 20px;
    font-weight: bold;
}

.indicator-charts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    margin-top: 2rem;
}

.indicator-chart {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 450px;
}

.indicator-chart .ojcChart {
    width: 100%;
    max-width: 100%;
}

.indicator-chart canvas {
    width: 100% !important;
    height: auto !important;
}

.chart-group hr {
    opacity: 0.2;
}

.chart-caption {
    display: flex;
    flex-direction: column;
    padding: 1em 2em;
    font-size: 0.9em;
}

.chart-caption-title {
    font-weight: bold;
}

.chart-statistic {
    padding: 0.5em 2em;
    font-size: 0.70rem;
}

    .chart-statistic span {
        color: var(--strawberry);
        font-weight: 600;
    }



/* Responsive pour mobile */
@media (max-width: 1400px) {
    .indicator-charts {
        grid-template-columns: unset;
    }
}

@media (max-width: 768px) {
    .indicator-charts {
        grid-template-columns: 1fr;
        gap: 1.5rem;
    }
    
    .indicator-chart {
        min-height: 300px;
    }
}

/* Donut charts plus petits */
.donut-small canvas {
    width: 350px !important;
    /*height: 350px !important;*/
}

/* Page recherche indicateur */
.indicator-result-count {
	color : #DF203F
}




@-webkit-keyframes ph-animation {
    0% {
        transform: translate3d(-30%, 0, 0);
    }

    100% {
        transform: translate3d(30%, 0, 0);
    }
}

@keyframes ph-animation {
    0% {
        transform: translate3d(-30%, 0, 0);
    }

    100% {
        transform: translate3d(30%, 0, 0);
    }
}

.ph-item {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 30px 15px 15px 15px;
    margin-bottom: 30px;
    overflow: hidden;
    direction: ltr;
    background-color: #fff!important;
    border: 1px solid rgb(229.5, 229.5, 229.5);
    border-radius: 2px;
    min-height: 15em;
}

.ph-item,
.ph-item *,
.ph-item ::after,
.ph-item ::before {
    box-sizing: border-box;
}

.ph-item::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    z-index: 1;
    width: 500%;
    margin-left: -250%;
    pointer-events: none;
    content: " ";
    background: linear-gradient(to right, rgba(128, 128, 128, 0) 46%, rgba(128, 128, 128, 0.35) 50%, rgba(128, 128, 128, 0) 54%) 50% 50%;
    -webkit-animation: ph-animation 0.8s linear infinite;
    animation: ph-animation 0.8s linear infinite;
    }

.ph-item > * {
    display: flex;
    flex: 1 1 auto;
    flex-flow: column;
    padding-right: 15px;
    padding-left: 15px;
    margin-bottom: 15px;
}



.ph-item-small {
    position: relative;
    display: flex;
    flex-wrap: wrap;
    padding: 30px 15px 15px 15px;
    overflow: hidden;
    direction: ltr;
    min-height: 1em;
}

.ph-item-small,
.ph-item-small *,
.ph-item-small ::after,
.ph-item-small ::before {
    box-sizing: border-box;
}

.ph-item-small::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 50%;
    z-index: 1;
    width: 500%;
    margin-left: -250%;
    pointer-events: none;
    content: " ";
    background: linear-gradient(to right, rgba(128, 128, 128, 0) 46%, rgba(128, 128, 128, 0.35) 50%, rgba(128, 128, 128, 0) 54%) 50% 50%;
    -webkit-animation: ph-animation 0.8s linear infinite;
    animation: ph-animation 0.8s linear infinite;
}

.ph-item-small > * {
    display: flex;
    flex: 1 1 auto;
    flex-flow: column;
    padding-right: 15px;
    padding-left: 15px;
    margin-bottom: 15px;
}

/*#region FAQ*/

.faq {
    width: 100vw;
    padding: 0rem 3rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2rem;
    font-family: 'Sora' !important;
}

.faq-video {
    width: 50%;
    height: 50vh;
    margin-bottom: 6rem;
}

    .faq-video .ojcVideoPlayer.ojcVideoPlayer_Youtube {
        width: 100%;
        height: 100%;
    }

    .faq-video .ojcVideoPlayer.ojcVideoPlayer_Youtube iframe {
        width: 100%;
        height: 100%;
    }

.faq-content {
    display: flex;
    width: 70%;
    gap: 1.875rem;
    flex-direction: column;
}

    .faq-content .collapsibleFrameWrapper .closable-open .collapsibleFrameContent .collapsibleFrameTitle {
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 2.25rem;
        background: linear-gradient(89deg, #F83393 0%, #EC183B 45.41%, #F84428 109.44%);
        background-clip: text;
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
    }

    .faq-content .collapsibleFrameWrapper .collapsibleFrameHeader .collapsibleFrameContent .collapsibleFrameTitle {
        font-size: 1.5rem;
        font-weight: 600;
        line-height: 2.25rem;
    }

    .faq-content .collapsibleFrameWrapper .collapsibleFrameHeader .collapsibleFrameContent {
        padding: 10px 0;
        border-top: 1px solid #B0B2B5;
        align-items: baseline;
    }

/*#endregion FAQ*/

/* Region Radio button Company/Branch */
.toggleWrapper {
	visibility: hidden;
	height: 0px;
	display: flex;
	justify-content: flex-end;
	padding-right: 10rem;
	padding-left: 10rem;
}

.docTypeToggle {
	position: relative;
	width: 90px;
	height: 40px;
	background: #e5e5e5;
	border-radius: 20px;
	overflow: hidden;
}

.docTypeToggle .sliderRadio {
	position: absolute;
	top: 3px;
	left: 7px;
	width: calc(60% - 6px);
	height: calc(100% - 6px);
	background: var(--strawberry);
	border-radius: 16px;
	transition: transform 0.25s ease;
}

.docTypeToggle input[type="radio"]:nth-of-type(2):checked ~ .sliderRadio {
	transform: translateX(60%);
}

.docTypeToggle input[type="radio"] {
	position: absolute;
	top: 0;
	width: 50%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
	z-index: 2;
}

.docTypeToggle input[type="radio"]:nth-of-type(1) {
	left: 0;
}

.docTypeToggle input[type="radio"]:nth-of-type(2) {
	left: 50%;
}

.toggleWrapper.branch-active .branch {
	color: var(--strawberry);
}
.toggleWrapper.branch-active .company {
	color: #e5e5e5;
}
.toggleWrapper.company-active .branch {
	color: #e5e5e5;
}
.toggleWrapper.company-active .company {
	color: var(--strawberry);
}

.toggleWrapper span {
	padding-left: 1rem;
	padding-right: 1rem;
	font-size: 12px;
	font-weight: 600;
	transition: color 0.25s ease;
	display: inline-flex;
	align-items: center;
}
/*#endregion Radio button*/
