:root {
    --color-1: #002F5C;
}

body {
    /* background-color: #e2e6fd7a; */
    background-color: white;
    font-family: Arial, Helvetica, sans-serif;
}

.col {
    display: flex;
    flex-direction: column;
    align-items: center;
}

.row {
    display: flex;
    flex-direction: row;
    align-items: center;
}

.info-text {
    text-align: center;
    font-size: 1rem;
    margin: .5rem auto;
    width: 100%;
}

.btn_container {
    display: flex;
    flex-direction: row;
    gap: 2rem;
}

section {
    display: flex;
    flex-direction: column;
    align-items: center;
    box-sizing: border-box;
}

button.btn-1 {
    overflow: hidden;
    padding: 12px 20px;
    text-transform: uppercase;
    border-radius: 15px;
    border: none;
    color: white;
    position: relative;
    z-index: 10;
    box-shadow: rgba(70, 93, 255, 0.3) 0px 13px 30px 0px;
    cursor: pointer;
}

button.btn-1::before {
    content: "";
    background: var(--color-1);
    background: linear-gradient(142deg, #5ca2db 0%, #3A83BE 50%, var(--color-1) 80%);
    height: 500px;
    width: 500px;
    position: absolute;
    bottom: -200%;
    left: -100%;

    z-index: -1;
    animation-name: rotate-center;
    animation-duration: 3s;
    animation-timing-function: ease;
    animation-delay: 0s;
    animation-iteration-count: infinite;
    animation-direction: alternate;
    animation-fill-mode: none;
    transform-origin: center center;
    border-radius: 1000px;

}

@keyframes rotate-center {

    0% {
        transform: rotate(0);
    }

    100% {
        transform: rotate(360deg);
    }
}


/* TITRES =====================*/
h6 {
    font-weight: 500;
    font-family: "Inter", Arial, sans-serif;
    text-transform: uppercase;
    letter-spacing: 2px;
    font-size: .9rem;
    color: #303030;
    margin: 1rem 0;
}

section h2 {
    color: #303030;
    font-family: "Assistant", Arial, sans-serif;
    font-size: 3rem;
    line-height: 3rem;
    text-align: center;
}

section p,
section li {
    color: #7B7D8A;
    font-family: "Assistant", Arial, sans-serif;
    font-weight: 400;
    font-size: 1rem;
}

section>p {
    text-align: center;
}




/* =====================*/

section#presentation {
    display: flex;
    flex-direction: column;
    align-items: center;
    max-width: 560px;
    margin: 2rem auto;
    text-align: center;
}



section#fonctionnement {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 2rem auto;
    text-align: center;
    width: 100%;
}

section#fonctionnement .col {
    gap: 1rem;
    /* -webkit-flex-wrap: wrap;
    flex-wrap: wrap; */
}

section#fonctionnement .steps_container {
    flex: 1;
    font-family: "Assistant", Arial, sans-serif;
    font-weight: 400;
    font-size: 1rem;
    text-align: left;
    display: flex;
    flex-direction: row;
    align-items: stretch;
    gap: 1rem;
    max-width: 1000px;
    flex-wrap: wrap;
}

section#fonctionnement .steps_container .row {
    gap: 1rem;
    padding: 0;
    flex: 1;
    align-items: stretch;
}

section#fonctionnement .steps_container .row div,
section#fonctionnement .last_step {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
    background-color: rgb(240, 243, 255);
    border-radius: 15px;
    padding: 1.5rem 1rem;
    gap: 3rem;
    flex: 1;
    text-align: left;
    max-width: 1000px;
    box-sizing: border-box;
}

section#fonctionnement .last_step {
    flex-direction: row;
    gap: 1rem;
    align-items: center;
    padding: 1rem;
}

section#fonctionnement .last_step p {
    margin: 0;
}

section#fonctionnement .last_step img {
    display: unset;
    opacity: .5;
    height: 2rem;
    width: auto;
}

/* MOBILE VERSION ========================== */
@media (max-width: 768px) {
    section#fonctionnement .last_step img {
        display: none;
    }

}

section#fonctionnement .steps_container h4,
section#fonctionnement .steps_container p {
    margin: 0;
}

section#fonctionnement .steps_container p {
    font-size: .8rem;
}


/* VIDEO */
section#fonctionnement img {
    display: none;
    flex: 1;
    width: 100%;
    max-width: 500px;
    border-radius: 20px;
    transition: transform ease-out .5s, box-shadow .5s ease;
    box-shadow: rgba(100, 100, 111, 0.2) 0px 0px 0px 0px;
}

section#fonctionnement img:hover {
    transform: translateY(-.5rem) scale(1.005);
    box-shadow: rgba(100, 100, 111, 0.2) 0px 7px 29px 0px;
}




section#estimateur_container {
    margin: 4rem auto;
    max-width: 1000px;
    background-color: rgb(240, 243, 255);
    border-radius: 20px;
    padding: 2rem;
    padding-top: 140px;
    position: relative;
}

section#estimateur_container #calculator-icon {
    width: auto;
    height: 150px;
    position: absolute;
    top: -20px;
    left: 50%;
    transform: translate(-50%, -0%);
}

section#estimateur_container h2 {
    color: rgb(22 37 176 / 20%);
    text-align: center;
    font-size: 4rem;
    margin: 1rem;
}

section#estimateur_container h3 {
    text-align: center;
    font-size: 1rem;
    margin: auto;
    margin-bottom: 3rem;
    width: 80%;
    opacity: .5;
    font-weight: 100;
}

section#estimateur_container h4 {
    margin: auto;
    margin-bottom: 1rem;
    width: 100%;
    text-align: center;

}

table {
    width: 100%;
    border-spacing: 10px;
}

table,
th,
td {
    box-sizing: border-box;
    border: none;
    text-align: center;
}

tr {
    position: relative;
}

table td input,
table td select {
    width: 100%;
    box-sizing: border-box;
    border-radius: 15px;
    border: thin solid #e2e6fd7a;
    padding: 10px 0;
    text-align: center;
}

table td select {
    background: white;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("https://img.icons8.com/material-rounded/500/chevron-down.png");
    background-size: 1rem;
    background-repeat: no-repeat;
    background-position-x: calc(100% - 1rem);
    background-position-y: 50%;
    padding-right: 2.5rem;
}

/* MOBILE VERSION ========================== */
@media (max-width: 768px) {
    table td select {
        background-image: url("https://img.icons8.com/material-rounded/500/chevron-down.png");
        background-size: 1rem;
        background-repeat: no-repeat;
        background-position-x: calc(100% - .5rem);
        background-position-y: 50%;
        padding-right: 1rem;
    }

    table#tablePanneaux {
        border-spacing: 2px;
    }

}

table td input:focus,
table td select:focus {
    outline: solid 2px #1126b7;
}

th {
    padding: 10px;
    width: 30%;
    background-color: #e2e6fd7a;
    border-radius: 8px;
    font-weight: 500;
}


#estimateur_container {
    border-radius: 20px;
    background-color: white;
    display: flex;
    flex-direction: column;
    margin: 2rem;
    flex: 1;
    overflow: hidden;
    position: relative;
}

#estimateur_container .select_container {
    display: flex;
    flex-direction: column;
    border: none;
    padding: 1rem;
    box-sizing: border-box;
    width: 100%;
    position: relative;
    flex: 1;
}

#estimateur_container .select_container>label,
#estimateur_container .select_container .select_title {
    font-size: 1rem;
    font-weight: 600;
    font-family: "Assistant", Arial, sans-serif;
    color: rgb(29, 29, 29);
}

#estimateur_container .select_container .form_choices {
    display: flex;
    flex-direction: row;
    margin: 1rem 0;
    gap: 1rem;
    width: 100%;
    flex-wrap: wrap;
}

#estimateur_container .select_container .form-check {}

#estimateur_container .form-check input[type=radio] {
    position: relative;
    height: 100%;
    inset: 0 auto auto 0;
    margin: auto;
    position: absolute;
    visibility: hidden;
    width: 100%;
}

#estimateur_container .form-check input[type=radio]+label {
    align-items: center;
    background-color: #fff;
    border-radius: 16px;
    cursor: pointer;
    display: flex;
    font-weight: 500;
    height: 2rem;
    justify-content: center;
    min-width: 4rem;
    padding: .5rem 1.2rem;
    position: relative;
    font-size: 1rem;
    z-index: 1;
}

#estimateur_container .form-check input[name=couleurPanneau]+label {
    padding-left: .5rem;
    /*SUPPR PADDING POUR CHIP*/
}

#estimateur_container .form-check input[type=radio]:checked+label {
    background-color: var(--color-1);
    border-color: white;
    color: white;
}

#estimateur_container .form-check .couleurChip {
    height: 1.5rem;
    width: 1.5rem;
    border-radius: 100%;
    margin-right: .5rem;
    border: solid rgba(0, 0, 0, 0.2) 1px;
}

#estimateur_container .form-check .illustration {
    top: -1rem;
    z-index: 0;
    align-items: center;
    background-color: #fff;
    border-radius: 16px;
    display: flex;
    height: 0;
    justify-content: center;
    min-width: 4rem;
    margin: 0 10px;
    position: relative;
    opacity: 0;
    padding: 0;
    box-sizing: border-box;
}
#estimateur_container .form-check:hover .illustration {
}
#estimateur_container .form-check input[type=radio]:checked + label + .illustration {
    opacity: 1;
    padding: .5rem;
    padding-top: 1.5rem;
    height: 10rem;
    transition: height .3s ease, opacity .2s ease;
}

#estimateur_container .form-check .illustration img {
    height: 100%;
    width: auto;
}

#estimateur_container #ajouterLigne {
    border: none;
    padding: 5px 10px;
    border-radius: 5px;
    width: fit-content;
    margin: auto;
    margin-top: 1rem;
    background-color: transparent;
    cursor: pointer;
    transition: border .2s ease;
    border: solid 1px transparent;
}

#estimateur_container #ajouterLigne:hover {
    border-color: var(--color-1);
}

/* ACCESSOIRES ================ */


#afficherAccessoires {
    background-color: var(--color-1);
    color: white;
    border: none;
    border-radius: 10px;
    padding: .4rem 1rem;
    margin-bottom: 2rem;
    cursor: pointer;
}

#listeAccessoires {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 1rem;
}

#listeAccessoires .accessoire_container {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    padding: .5rem;
    box-sizing: border-box;
    background-color: #e2e6fd7a;
    border-radius: 20px;
    overflow: hidden;
    border: 2px solid transparent;
    transition: border-color .3s ease;
}

#listeAccessoires .accessoire_container:hover {
    border-color: #e5e9fc;

}

#listeAccessoires .accessoire_container.selected {
    border-color: var(--color-1);
}

#listeAccessoires .accessoire_container .cover {
    height: 15vw;
    width: 15vw;
    max-height: 200px;
    max-width: 190px;
    min-width: 120px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 20px;
    overflow: hidden;
    background-color: #fff;
}

#listeAccessoires .accessoire_container .cover img {
    width: 100%;
    height: auto;
}

#listeAccessoires .accessoire_container .acc_details {
    width: 15vw;
    max-width: 190px;
    min-width: 120px;
    padding: .5rem;
    box-sizing: border-box;
    overflow: hidden;
    gap: .4rem;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    flex: 1;
}

#listeAccessoires .accessoire_container .acc_details p {
    margin: 0;
    color: black;
}

#listeAccessoires .accessoire_container .acc_details p.nom {
    font-weight: 600;
    font-size: 1rem;
}

#listeAccessoires .accessoire_container .acc_details p.prix {
    font-weight: 400;
    font-size: .8rem;
}

#listeAccessoires .accessoire_container .acc_details .btn_container {
    margin: 0;
    margin-top: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    width: 100%;
    gap: 5px;
}

#listeAccessoires .acc_details .btn_container button,
#listeAccessoires .acc_details .btn_container .select_acc {
    border-radius: 10px;
    box-sizing: border-box;
    border: none;
    background-color: #fff;
    height: 2rem;
    width: 2rem;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

#listeAccessoires .acc_details .btn_container .select_acc {
    flex: 1;
}

#listeAccessoires .accessoire_container.selected .acc_details .btn_container .select_acc {
    background-color: var(--color-1);
    color: white;
}






.total {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    justify-content: center;
    border: 2px solid #e1e6ff;
    border-radius: 20px;
    margin: 2rem;
    position: relative;
    padding: 1rem;
    font-weight: bold;
    transition: background-color .4s ease;
    font-size: 1.5rem;
    width: 100%;
    box-sizing: border-box;
    flex: 1;
}

.total:hover {
    background-color: #fff;
}

.total .tableContainer {
    overflow-x: auto;
}

.total table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}

.total thead th {
    background-color: #e2e6fd7a;
    width: auto;
    white-space: nowrap;
}

.total thead th:first-child {
    border-radius: 8px 0 0 0;
}

.total thead th:last-child {
    border-radius: 0 8px 0 0;
}

.total tbody:last-child tr:last-child td:first-child {
    border-radius: 0 0 0 8px;
}

.total tbody:last-child tr:last-child td:last-child {
    border-radius: 0 0 8px 0;
}



.total td {
    border: 1px solid #e8e9f0;
    border-top: none;
    border-right: none;
    white-space: nowrap;
}

.total td:last-child {
    border-right: 1px solid #e8e9f0;
}

.total th,
.total td {
    padding: 6px;
    text-align: center;
    font-size: 1rem;
    background-color: transparent;
    border-radius: 0;
}


#resultat-estimation {
    background-color: #e1e6ff;
    border-radius: 16px;
    padding: 2rem 1rem;
    color: #424246;
    font-family: "Assistant", Arial, sans-serif;
    justify-content: space-between;
    position: relative;
    box-sizing: border-box;
    margin: 2rem;
    width: 100%;
}

#resultat-estimation .col {
    align-items: flex-start;
}

#resultat-estimation h4 {
    margin: 0;
    font-size: 1.5rem;
    font-weight: normal;
}

#resultat-estimation span#prixTotal {
    font-size: 2rem;
    font-weight: 600;
}




.toggle_btn {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 6px;
    font-weight: bold;
    font-size: 1rem;
}

.toggle_btn img {
    width: 12px;
    height: 12px;
    margin-right: 6px;
    transition: transform 0.3s;
}

.toggle_btn.expand img {
    transform: rotate(180deg);
}




/* EXPORT PDF */

#overlayPdf.overlay_content {
    margin-top: 2rem;
    background: white;
    padding: 20px;
    border-radius: 20px;
    width: 100%;
    text-align: center;
    position: relative;
    box-sizing: border-box;
    margin-bottom: 1rem;
}

#overlayPdf.overlay_content h4 {
    font-size: 2rem;
}

#overlayPdf.overlay_content input {
    width: 100%;
    padding: 8px;
    box-sizing: border-box;
    border: none;
    background-color: white;
    border: solid 2px rgb(240, 243, 255);
    border-radius: 15px;
    margin: 10px 0;
}

#overlayPdf.overlay_content button {
    margin-right: 10px;
    padding: .6rem 1.4rem;
    color: rgb(48, 48, 48);
    border: none;
    border-radius: 15px;
    cursor: pointer;
    background: rgb(240, 243, 255);
}

#overlayPdf.overlay_content button:hover {
    opacity: .8;
}

#overlayPdf.overlay_content button:first-child {
    background: #002f5c;
    color: white;
}



section#avantages {}

section#avantages ul {
    list-style: none;
    padding-inline-start: 1rem;
    padding: 0 1rem;
}

section#avantages li {
    position: relative;
    border-radius: 15px;
    background-color: rgb(240, 243, 255);
    margin-bottom: .5rem;
    padding: .5rem 2rem;
}

section#avantages li::before {
    content: '';
    background-image: url('https://img.icons8.com/ios-glyphs/500/approval.png');
    background-size: contain;
    height: 1rem;
    width: 1rem;
    position: absolute;
    opacity: .6;
    left: .5rem;
    top: 50%;
    transform: translateY(-50%);
}





section#questions-reponses {}

section#questions-reponses>p {
    text-align: center;
}

section#questions-reponses #insert_estimateur_faq {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 10px;
    width: 750px;
    max-width: 80vw;
}

section#questions-reponses .faq-item {
    background-color: rgb(240, 243, 255);
    padding: 1rem 1.5rem;
    border-radius: 20px;
    box-sizing: border-box;
}

section#questions-reponses .faq-question {
    font-weight: bold;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

section#questions-reponses .faq-item:hover {
    background-color: rgba(240, 243, 255, .6);
}

section#questions-reponses .faq-answer {
    padding: 8px 0 0 0;
    color: #444;
}

section#questions-reponses .arrow {
    font-size: 1.5rem;
    font-family: 'Assistant', sans-serif;
    color: #666;
    font-weight: 600;
}











section#contact {
    text-align: center;
}


#bug-review {
    margin-top: 4rem;
    margin-bottom: 1rem;
    text-align: center;
    font-size: .8rem;
}


/* MOBILE VERSION ========================== */
@media (max-width: 768px) {
    button.btn-1 {
        padding: .5rem 1rem;
    }

    #estimateur_container,
    .total {
        margin: 2rem 0;
    }

    section#fonctionnement .row {
        gap: 1rem;
        padding: 0 1rem;
    }

    section#fonctionnement ul {
        padding-left: 2rem;
    }

    section#estimateur_container {
        padding: 0 10px;
        padding-top: 140px;
    }

    section#estimateur_container h2 {
        font-size: 14vw;
    }

    section#estimateur_container h4 {
        margin: 0;
    }

    section#estimateur_container .btn_container {
        margin-bottom: 2rem;
    }

    #listeAccessoires {
        justify-content: center;
    }

}