﻿.configuratorContainer {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}

.configurator_titre_desc_container {
    display: none;
    flex-direction: column;
    width: 100%;
    min-height: 69px;
    gap: 5px;
}

.configurator_progress_container {
    display: none;
    width: 100%;
}

.configurator_titre {
    color: var(--noir);
    font-family: Outfit;
    font-size: 24px;
    font-weight: 400;
}

.configurator_desc {
    color: var(--noir);
    font-family: Outfit;
    font-size: 20px;
    font-weight: 300;
    letter-spacing: 0.2px;
}

.configurator_desc_avancee_container {
    display: none;
    justify-content: space-between;
    width: 100%;
}

.configurator_desc_avancee_content {
    display: flex;
    gap: 5px;
}

.configurator_desc_avancee_save_raz_container {
    display: flex;
    align-items: center;
    margin-left: auto;
    gap: 20px;
    cursor: pointer;
}

.configurator_desc_avancee_container--advanced .configurator_desc_avancee_content {
    display: none !important;
}

.configurator_desc_avancee_container--advanced .configurator_desc_avancee_save_raz_container {
    margin: 0 auto;
}

.configurator_desc_avancee_save {
    display: none;
    align-items: center;
    gap: 5px;
    height: 20px;
}

.configurator_desc_avancee_save_text {
    color: #1D1D1D;
    font-family: Montserrat;
    line-height: 13px;
    font-size: 16px;
    font-weight: 500;
}

.cyb-uc__configurator__step-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 16px 12px;
    align-items: center;
}

.cyb-uc__configurator__stepRecap-container {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.cyb-uc__configurator__stepRecap-title {
    color: var(--noir);
    font-family: Outfit;
    font-size: 24px;
    font-weight: 500;
}

.cyb-uc__configurator__stepRecap-subTitle {
    color: var(--noir);
    font-family: Outfit;
    font-size: 20px;
    font-weight: 500;
}

.cyb-uc__configurator__stepRecap_comp_totalConfig-container {
    display: flex;
    gap: 20px;
    justify-content: space-between;
}

.cyb-uc__configurator__stepRecap_comp-content {
    width: 100%;
    max-width: 70%;
}

    .cyb-uc__configurator__stepRecap_comp-content > *:nth-child(even) {
        background: #FAFAFA;
    }

    .cyb-uc__configurator__stepRecap_comp-content > *:nth-child(odd) {
        background: var(--blanc);
    }

.cyb-uc__configurator__stepRecap_options_totalConfig-container {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 20px;
}

.cyb-uc__configurator__stepRecap_totalConfig-content {
    width: 25%;
}

.cyb-uc__configurator__stepRecap-modifierCta, .cyb-uc__configurator__stepRecap-modifierOptionsCta {
    border-radius: 32px;
    background: #000;
    height: 40px;
    display: flex;
    width: 220px;
    color: var(--blanc);
    justify-content: center;
    align-items: center;
    cursor: pointer;
}

.cyb-uc__configurator__step-grid__arrow-container {
    display: none;
    width: 19px;
    justify-content: center;
}

    .cyb-uc__configurator__step-grid__arrow-container img {
        position: absolute;
        width: 40px;
        align-self: center;
    }

.configurator_cta_raz {
    color: var(--noir);
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 500;
    line-height: 13px;
    text-decoration-line: underline;
}

.configurator_desc_avancee {
    color: var(--noir);
    font-family: Outfit;
    font-size: 20px;
    font-weight: 200;
    letter-spacing: 0.2px
}

.configurator_cta_avancee {
    color: var(--noir);
    font-family: Outfit;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: 0.2px;
    cursor: pointer;
    text-decoration-line: underline;
    text-decoration-skip-ink: none;
    text-decoration-thickness: auto;
    text-underline-position: from-font;
}

.configurator_totalConfig_content {
    display: none;
    width: 100%;
    background: var(--blanc);
    height: 50px;
    padding: 0 20px;
    justify-content: space-between;
    align-items: center;
}

.configurator_totalConfig_title, .configurator_totalConfig_price {
    color: var(--noir);
    font-family: Outfit;
    font-size: 24px;
    font-weight: 400;
    line-height: 17px;
}

.configurator_steps_container {
    min-height: 316px;
    width: 100%;
}

.configurator_steps_container_disabled {
    display: none;
}

.cyb-uc__configurateur__step-card__popup-overlay {
    width: 100%;
    height: 100vh;
    background: #00000050;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 10000000;
    display: flex;
    justify-content: end;
}

.cyb-uc__configurateur__step-card__popup__product-container {
    display: flex;
    flex-direction: column;
    gap: 10px;
    overflow-y: auto;
    width: auto;
    height: 100%;
    align-content: flex-start;
    align-items: center;
}

.cyb-uc__configurateur__step-card__popup__product-container--multiple-choice {
    flex-wrap: wrap;
    gap: 4px;
    flex-direction: row;
    justify-content: center;
}

.cyb-uc_configurateur__recap__popup-modifier__config {
    width: 220px;
    height: 40px;
    padding: 10px;
    justify-content: space-around;
    align-items: center;
    background: linear-gradient(0deg, #000 0%, #000 100%), #1D1D1D;
    cursor: pointer;
    border-radius: 35px;
    color: var(--blanc);
    text-align: center;
    font-family: Outfit;
    font-size: 16px;
    font-weight: 400;
    order: 1;
}

.cyb-uc__configurateur__step-card__popup-container {
    background: #ffffff;
    height: 100dvh;
    width: 440px;
    display: flex;
    flex-direction: column;
    padding: 20px;
    gap: 10px;
    position: relative;
}

.cyb-uc__configurateur__step-card__popup-closeContainer {
    display: flex;
    padding-bottom: 20px;
    gap: 15px;
    height: 52px;
}

.cyb-uc__configurateur__step-card__popup-filters {
    border-radius: 32px;
    background: var(--noir);
    height: 40px;
    display: none;
    justify-content: center;
    align-items: center;
    width: 100%;
    cursor: pointer;
    color: var(--blanc);
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 500;
    line-height: normal;
}

.cyb-uc__configurateur__step-card__popup-close {
    display: flex;
    width: 32px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
    align-self: stretch;
    border-radius: 16px;
    background: rgba(71, 77, 83, 0.32);
    cursor: pointer;
}

.cyb-uc__configurateur__step-card__popup-close-title {
    color: #292929;
    font-family: Montserrat;
    font-size: 24px;
    font-style: normal;
    font-weight: 500;
    line-height: 34px;
}

.cyb-uc__configurateur__produit-infos-content {
    display: flex;
    flex-direction: column;
    border-radius: 11px;
    border: 1px solid #000;
    width: 100%;
}

    .cyb-uc__configurateur__produit-infos-content > div:not(:first-child) {
        border-top: 1px solid var(--noir);
        padding-top: 10px;
    }

.cyb-uc__configurateur__produit-infos-content-header {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding: 10px;
    gap: 5px;
}

.cyb-uc__configurateur__produit-infos-content-header-img {
    width: 156px;
    object-fit: contain;
}

.cyb-uc__configurateur__produit-infos-content-header-title {
    color: var(--noir);
    text-align: center;
    font-family: Montserrat;
    font-size: 16px;
    font-weight: 500;
    text-transform: uppercase;
}

.cyb-uc__configurateur__produit-infos-content-specs {
}

    .cyb-uc__configurateur__produit-infos-content-specs > div:not(:first-child) {
        border-top: 0.5px solid #d5d5d5;
        padding-top: 10px;
    }

    .cyb-uc__configurateur__produit-infos-content-specs div {
        display: flex;
        flex-direction: column;
        gap: 5px;
        justify-content: center;
        align-items: center;
        padding-bottom: 10px;
    }

        .cyb-uc__configurateur__produit-infos-content-specs div span:first-child {
            color: var(--noir);
            text-align: center;
            font-family: Montserrat;
            font-size: 13px;
            font-weight: 700;
            line-height: 13px;
        }

        .cyb-uc__configurateur__produit-infos-content-specs div span:last-child {
            text-transform: uppercase;
            color: var(--noir);
            text-align: center;
            font-family: Montserrat;
            font-size: 14px;
            font-weight: 500;
            line-height: 13px;
        }

.cyb-uc__configurateur__produit-infos-content-moreInfos {
    display: flex;
    flex-direction: column;
    padding: 20px;
    gap: 10px;
    justify-content: center;
    align-items: center;
}

.cyb-uc__configurateur__produit-infos-content-moreInfos-price {
    color: var(--noir);
    font-family: Montserrat;
    font-size: 20px;
    font-weight: 700;
    line-height: 28px;
}

.cyb-uc__configurateur__produit-infos-content-moreInfos-addConfig {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #FFC600;
    width: 100%;
    max-width: 270px;
    border-radius: 50px;
    padding: 12px;
    cursor: pointer;
}

.cyb-uc__configurateur__produit-infos-content-moreInfos-addConfigAnother {
    display: flex;
    justify-content: center;
    align-items: center;
    background: #ededed;
    color: var(--noir);
    width: 100%;
    max-width: 270px;
    border-radius: 50px;
    padding: 12px;
    cursor: pointer;
}

.cyb-uc__configurateur__produit-infos-content-moreInfos-fiche {
    color: var(--noir);
    font-family: Montserrat;
    font-size: 14px;
    font-weight: 500;
    line-height: normal;
    text-decoration-line: underline;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50px;
    border: solid 1px var(--noir);
    max-width: 270px;
    width: 100%;
    padding: 12px;
    cursor: pointer;
}

.cyb-uc__configurateur__produit-infos-content-moreInfos-extra-description {
    display: none;
    width: 80%;
    justify-content: center;
    color: #0073FF;
    text-align: center;
    font-family: Outfit;
    font-size: 15px;
    font-weight: 500;
    line-height: normal;
}

.cyb-uc__configurateur__produit-infos-content-moreInfos-extra-description2 {
    display: none;
    width: 80%;
    justify-content: center;
    color: #be1f1f;
    text-align: center;
    font-family: Outfit;
    font-size: 15px;
    font-weight: 500;
    line-height: normal;
}

.cyb-uc__others__configurator__waiting__overlay__message__container {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    padding-bottom: 227px;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(7px);
    z-index: 999;
}

.cyb-uc__others__configurator__waiting__overlay__message {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: fit-content;
    z-index: 999;
}

    .cyb-uc__others__configurator__waiting__overlay__message img {
        filter: brightness(0) saturate(100%) invert(100%) sepia(10%) saturate(7461%) hue-rotate(232deg) brightness(112%) contrast(110%);
        top: 25px;
        height: 30px;
        position: relative;
    }

    .cyb-uc__others__configurator__waiting__overlay__message p {
        font-family: Outfit;
        color: var(--blanc);
        font-size: 80px;
    }

.cyb-uc__others__configurator__waiting__overlay {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(7px);
    z-index: 999;
}

.cyb-uc__others__configurator__waiting__overlay__animContainer {
    position: relative;
    width: 300px;
    object-fit: contain;
}

.save-overlay {
    display: none;
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.6);
    align-items: center;
    justify-content: center;
    z-index: 9999;
}

    .save-overlay.show {
        display: flex;
        animation: overlayFadeIn 0.4s ease forwards;
    }

    .save-overlay.hide {
        display: flex;
        animation: overlayFadeOut 0.4s ease forwards;
    }

.save-overlay__message {
    color: white;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    opacity: 0;
}

.save-overlay.show .save-overlay__message {
    animation: textFadeInUp 0.5s ease forwards;
}

.save-overlay.hide .save-overlay__message {
    animation: textFadeOutDown 0.3s ease forwards;
}

.cyb-uc__configurateur__step-card__login__popup-container {
    display: none;
    width: 100%;
    height: 100vh;
    background: #00000050;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.cyb-uc__configurateur__step-card__login__popup-title {
    background: linear-gradient(0deg, #FFC600 0%, #FFC600 100%), #1D1D1D;
    height: 20px;
    padding: 20px 0;
    width: 100%;
    width: 800px;
    display: flex;
    position: relative;
    justify-content: center;
    align-items: center;
    border-radius: 10px 10px 0 0;
}

.cyb-uc__configurateur__step-card__login__popup-close {
    position: absolute;
    right: 10px;
    width: 20px;
    height: 20px;
    cursor: pointer;
}

.cyb-uc__configurateur__step-card__login__popup-title p {
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
}

.cyb-uc__configurateur__step-card__login__popup-content {
    background: #ffffff;
    height: auto;
    width: 800px;
    display: flex;
    flex-direction: column;
    padding: 20px;
    gap: 10px;
    position: relative;
    justify-content: center;
    align-items: center;
    border-radius: 0 0 10px 10px;
}

.cyb-uc__configurateur__step-card__login__popup-content-login {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.cyb-uc__configurateur__step-card__login__popup-content-login-input {
    padding: 5px;
    width: 290px;
    border: 1px solid #000000;
    border-radius: 5px !important;
    font-size: 14px;
    background-color: rgb(243 243 243) !important;
}

.cyb-uc__configurateur__step-card__login__popup-content-login-cta {
    display: flex;
    align-items: center;
    width: 200px;
    justify-content: center;
    border-radius: 20px !important;
    background: #2A2929;
    padding: 10px;
    color: var(--blanc);
    cursor: pointer;
}

.cyb-uc__configurateur__step-card__login__popup-content-create-account-cta {
    display: flex;
    align-items: center;
    width: 200px;
    justify-content: center;
    border-radius: 20px !important;
    background: var(--blanc);
    padding: 10px;
    color: var(--noir);
    border: solid 1px #505050;
    cursor: pointer;
}

.cyb-uc__configurateur__step-card__login__popup-content-delimitor {
    width: 290px;
    height: 1px;
    background: #bfbfbf;
}

.cyb-uc__configurateur__step-card__login__popup-content-create-account {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    gap: 10px;
}

.cyb-uc__configurateur__step-card__login__popup-content-forgot-password {
    font-size: 13px;
    font-style: italic;
    text-decoration: underline;
    font-weight: 500;
    cursor: pointer;
}

@media screen and (max-width: 1920px) {
    .configuratorContainer {
        max-width: 1300px;
    }

    .cyb-uc__configurator__stepRecap_comp-content {
        max-width: 68%;
    }

    .cyb-uc__configurator__stepRecap_totalConfig-content {
        width: 30%;
    }
}

@media screen and (max-width: 1300px) {
    .configuratorContainer {
        padding: 0 20px;
        width: 100%;
    }

    #stepRecapContainer {
        padding: 0 10px;
    }

    .cyb-uc__configurator__stepRecap_comp-content {
        max-width: 100%;
    }

    .cyb-uc__configurator__stepRecap_comp_totalConfig-container {
        flex-direction: column-reverse;
        align-items: center;
    }

    .cyb-uc__configurator__stepRecap-modifierCta, .cyb-uc__configurator__stepRecap-modifierOptionsCta {
        align-self: center;
    }

    .cyb-uc__configurator__stepRecap_totalConfig-content {
        width: 100%;
    }
}

@media screen and (max-width: 880px) {
    .cyb-uc__others__configurator__waiting__overlay__message {
        flex-direction: column;
        text-align: center;
    }

        .cyb-uc__others__configurator__waiting__overlay__message p {
            font-size: 40px;
        }
}

@media screen and (max-width: 745px) {
    .configurator_desc_avancee_content {
        flex-direction: column;
    }
}

@media screen and (max-width: 630px) {
    .configuratorContainer {
        padding: unset;
    }

    .cyb-uc__configurateur__step-card__popup-container {
        padding: 10px;
    }

    #stepRecapContainer {
        padding: 0px;
    }

    .configurator_titre_desc_container {
        padding-left: 10px;
    }

    .cyb-uc__configurateur__step-card__popup-close-title {
        font-size: 20px;
    }

    .cyb-uc__configurator__stepRecap-subTitle {
        padding: 0 10px;
    }

    .cyb-uc__configurator__stepRecap-title {
        padding: 0 10px;
    }

    .cyb-uc__configurateur__step-card__popup__product-container {
        -ms-overflow-style: none;
    }

        .cyb-uc__configurateur__step-card__popup__product-container::-webkit-scrollbar {
            display: none;
        }

    .configurator_progress_container {
        display: none !important;
    }

    .configurator_desc_avancee_content {
        align-items: center;
    }

    .configurator_titre {
        font-size: 16px;
    }

    .configurator_desc_avancee_save_raz_container {
        margin-left: unset;
    }

    .configurator_desc {
        font-size: 14px;
        font-weight: 200;
    }

    .configurator_desc_avancee_container {
        flex-direction: column;
        align-items: center;
        gap: 15px;
    }

    .cbk_header_logo--mobile-show {
        z-index: 1000 !important;
        position: relative;
    }

    .cyb-uc__configurator__step-grid {
        gap: 5px;
    }

    .configurator_cta_avancee {
        font-size: 16px;
    }

    .cyb-uc__configurateur__step-card__login__popup-title {
        width: 100%;
    }

        .cyb-uc__configurateur__step-card__login__popup-title p {
            font-size: 10px;
        }

    .cyb-uc__configurateur__step-card__login__popup-content {
        width: 100%;
    }
}

@keyframes overlayFadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes overlayFadeOut {
    from {
        opacity: 1;
    }

    to {
        opacity: 0;
    }
}

@keyframes textFadeInUp {
    from {
        opacity: 0;
        transform: translateY(15px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes textFadeOutDown {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 0;
        transform: translateY(10px);
    }
}
