/* FICHE PRODUIT */

#product {
    margin-top: 3em;

    & h2.titre_global {
        text-align: center;
        font-family: var(--mf-cursive);
        font-size: clamp(1.5em,2vw,3em);
        margin-bottom: 2rem;

        &::after{
            content:'';
            display: block;
            width: min(350px, 100% - 1rem);
            height: 2px;
            margin-inline: auto;
            background:linear-gradient(to right,
                var(--mc-white) 15%,
                var(--mc-primary),
                var(--mc-white) 85%
            );
        }
    }

    & .box_medias_infos {
        display: grid;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: auto 1fr;
        grid-template-areas:
            'medias h1'
            'medias infos'
        ;
        gap: 1rem;

        & .titre {
            grid-area: h1;

            & .h1 {
                font-size: clamp(1.1rem, 2vw, 2rem);
                font-weight: bold;
                letter-spacing: -1px;
                line-height: 1.1em;
            }
        }

        & .medias {
            grid-area: medias;

            & .main_photo {
                position: relative;
                overflow: hidden;

                & img {
                    border-radius: 10px;
                }
            }
            & .autres_photos {
                padding: 1em 0;
                display: grid;
                grid-template-columns: repeat(5, 1fr);
                gap: 1rem;
                align-items: center;

                & .photo {

                    & a {
                        position: relative;
                        display: block;
                        width: 100%;
                        margin: 0.05em;
                        transition: all 0.5s;

                        &:hover {
                            opacity: 0.7;
                        }

                        &::after{
                            content:attr(data-nb-total);
                            position: absolute;
                            inset:0;
                            display: flex;
                            justify-content: center;
                            align-items: center;
                            font-size: 2rem;
                            color:var(--mc-white);
                            font-weight: 700;
                            text-shadow: 0px 0px 5px #000;
                        }
                    }

                    & img {
                        width: 120px;
                        height: 80px;
                        object-fit: cover;
                        border-radius: 10px;
                    }
                }
            }
            & .annotation_visuel {
                font-size: 0.9em;
            }
        }

        & .infos {
            grid-area: infos;

            & .box_tarifs {
                position: relative;
                margin-top: 1rem;
                margin-bottom: 1rem;

                & .bloc_details {
                    padding: 1em 1em 70px 1em;
                    border-radius: 10px;
                    background-color: #f8f8f8;
                    
                    & .titre {
                        display: none;
                    }
                    & .label_description {
                        font-weight: bold;
                    }
                    & .valeur_description {
                        font-size: 0.9em;
                    }
                }
                & .bloc_tarif {
                    position: relative;
                    & .sep {
                        position: relative;
                        height: 15px;
                        overflow: hidden;

                        &::before {
                            content: '';
                            position: absolute;
                            width: 100%;
                            height: 18px;
                            background-color: var(--mc-primary);
                            transform: rotate(-1deg) translateY(-10px);
                        }
                    }
                    & .prix_constructeur {
                        display: flex;
                        justify-content: end;
                        line-height: 1em;

                        & .valeur {
                            font-size: 1.5em;
                            color: #CCC;
                            text-decoration: line-through;
                        }
                    }
                    & .pourcentage {
                        position: absolute;
                        top: -40px;
                        left: 15px;
                        width: 130px;
                        height: 130px;
                        display: flex;
                        align-items: center;
                        justify-content: center;
                        border-radius: 50%;
                        color: #FFF;
                        font-size: 2.5em;
                        font-weight: bold;
                        background: linear-gradient(to left, var(--mc-primary) 0%, var(--mc-primary-dark) 100%);
                      
                    }
                    & .prix_final {
                        display: flex;
                        justify-content: end;

                        & .valeur {
                            font-size: 3.1em;
                            text-align: right;
                            display: inline-block;
                            letter-spacing: -1px;
                            font-weight: bold;
                            white-space: nowrap;
                        }
                    }
                }
            }
            & .box_btn_demander_devis {
                display: flex;
                justify-content: end;
                align-items: center;
                transition: all 0.3s;

                &:hover {
                    transform: scale(1.02);
                }
            }
        }

        @media (max-width: 768px) {

            grid-template-columns: 1fr 1fr;
            grid-template-areas:
                'h1 h1'
                'medias medias'
                'infos infos'
            ;

        }
    }

    & .info_details{
        width: 50%;
        margin: 1rem auto;

        @media (max-width: 999px) {
            width: 100%;
        }
    }

    & :is(.liste_equipements_serie, .options_incluses) {
        margin-top: 2em;
        margin-bottom: 5em;
    
        & .texte {
            position: relative;
            /*height: 300px;*/
            overflow: hidden;
            columns: 2;
            padding-bottom: 2em;
            transition: all 0.5s;
    
            & .voirplus {
                position: absolute;
                bottom: 0;
                width: 100%;
                height: 70%;
                background-image: linear-gradient(to bottom, transparent, white 70%);
    
                & a {
                    position: absolute;
                    width: fit-content;
                    left: 0;
                    right: 0;
                    bottom: 0;
                    display: block;
                    margin: 0 auto;
                }
            }
            &.texte_full {
                height: auto;
    
                & .voirplus {
                    background-image: linear-gradient(to bottom, transparent, transparent);
                }
            }
        }
        & ul {
            margin: 0;
            padding: 0 1em;
    
            & li {
                border-bottom: 1px solid #e5e5e5;
                padding: 0.25em 0;
    
                &::before {
                    content: '\f00c';
                    font-family: 'Font Awesome 5 Free', sans-serif;
                    margin-right: 4px;
                }
            }
        }

        @media (max-width:580px) {
            & .texte{
                columns: 1;
            }
        }
    }

}


#fiche .reference {
    padding: 0.5em 1.5em;
    background-color: var(--mc-red);
    color: #FFF;
    text-align: center;
    border-radius: 5px;
    font-size: 0.9em;
}

#fiche .reference span {
    font-size: 1.4em;
    display: block;
}

#fiche a {
    outline: none;
}

#fiche a:hover {
    outline: none;
}




#fiche .cadre_tarifs{
    & .titre {
        text-transform: uppercase;
        line-height: 1em;
    }
    & .valeur {
        text-align: right;
    }
    & .tarifs_asterisque {
        text-align: right;
        padding: 10px 15px;
        color: #999;
        font-style: italic;
        font-size: 0.9em;
    }
}


#fiche .tarif_final .titre .soustitre {
    display: block;
    font-size: 0.7em;
}

#fiche .tarif_final_annotation {
    border-top: 1px solid #CCC;
    margin-top: 0.5em;
    padding: 0.5em;
    font-size: 0.8em;
}



#fiche .cadre_infos_techniques {
    padding: 1em 1em;
    margin: 1px 0;
}

#fiche .cadre_infos_techniques p {
    position: relative;
    border-bottom: 1px solid var(--mc-black);
    margin: 0.25em;
    padding: 0.25em 0.25em 0.25em 1em;
}

#fiche .cadre_infos_techniques p::before {
    content: '';
    width: 10px;
    height: 10px;
    background-color: var(--mc-black);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
}

#fiche .info_details {
    margin: 2em 0;
    padding: 2em;
    background: #f5f5f5;
    border-radius: 10px;
}

#fiche .cadre_infos_couleur {
    width: 100%;
}

#fiche .cadre_infos_couleur .btn-couleur {
    display: block;
    width: 30px;
    height: 30px;
    border-radius: 0;
    box-shadow: 0px 0px 2px #000;
}


/* TECHNIQUE */
.details_techniques {
    position: relative;
}

.details_techniques .wrapper {
    border: 1px solid #CCC;
    border-top: 0;
    padding: 0.5em;
}

.details_techniques .wrapper div {
    padding: 0.25em 0;
    border-bottom: 1px solid #CCC;
    display: flex;
    justify-content: space-between;
}

.details_techniques .wrapper div:last-child {
    border-bottom: 0;
}

.fiche_technique {
    position: relative;
}

.fiche_technique .wrapper {
    border: 1px solid #CCC;
    border-top: 0;
    padding: 0.5em;
}


.cadre_personnalisation {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
    margin-bottom: 3em;

    @media(max-width:999px){
        grid-template-columns: auto;
    }
}

/* COLORIS */
    .cadre_coloris {
        font-size: 0.9em;

        & h3 {
            font-size: 1em;
            text-transform: uppercase;
        }
        & .liste_couleurs {
            max-height: 250px;
            overflow: auto;
    
            & li {
                display: flex;
                gap: 1em;
                align-items: center;
                border-bottom: 1px solid #DDD;
    
                & .wrapper {
                    flex-basis: 100%;
                    min-height: 25px;
                    padding: 5px;

                    &.coul_active{
                        & .titre{
                            color: var(--mc-primary);
                            font-weight: bold;
                            & .check {
                                display: inline-block;
                                margin-right: 1rem;
                            }
                            & .plus {
                                display: none;
                            }
                        }
                        & .visuel_couleur {
                            text-align: center;
                        }
                    }

                }
                & .btn {
                    min-height: 25px;
                    display: inline-block;
                }
                & .visuel_couleur {
                    padding: 0;
                    transition: all .3s;
                }
                & .lien {
                    display: flex;
                    align-items: center;
                    justify-content: space-between;
    
                    & .infos{
                        display: flex;
                        align-items: center;
                        gap: 1rem;
                    }
                    & .titre {
                        display: inline-block;
                        ;
                        text-transform: none;
                        padding-top: 4px;
                        padding-bottom: 5px;
        
                        & .check {
                            display: none;
                        }
                        & .plus {
                            display: inline-block;
                            color: var(--mc-black);
                            margin-right: 0.75rem;
                        }
                    }
                }
                
                & .tarif_couleur {
                    text-transform: none;
                    padding-top: 4px;
                    padding-bottom: 5px;
                    text-align: right;
                }
                & .btn-couleur {
                    position: relative;
                    overflow: hidden;
                    border-radius: 0px;
                    border: 0 none;
                    width: 30px;
                    box-shadow: 0px 0px 1px #000;
                }
                
            }
        }
    } 

/* OPTIONS */
    .cadre_options {
        font-size: 0.9em;

        & h3 {
            font-size: 1em;
            text-transform: uppercase;
        }
        & .liste_options {
            max-height: 250px;
            overflow: auto;
            margin-left: 0;
            padding-left: 0;
        
            & .opt_ {
                display: flex;
                gap: 1em;
                align-items: center;
                border-bottom: 1px solid #DDD;
        
                &.inactive {
                    opacity: 0.4;
                }
                & .wrapper {
                    flex-basis: 100%;
                    min-height: 25px;
                    padding: 5px;
                }
                & .lien {
                    display: flex;
                    justify-content: space-between;
                    align-items: center;
                    gap: 1rem;

                    & .titre {
                        text-transform: none;
            
                        & .check {
                            display: none;
                        }
                        & .plus {
                            display: inline-block;
                            color: var(--mc-black)
                        }
                    }
                    & .tarif {
                        text-transform: none;
                        padding-top: 4px;
                        padding-bottom: 5px;
                        text-align: right;
                    }
                }
                
                & .opt_active {
                    & .titre{
                        color: var(--mc-primary);
                        font-weight: bold;
                        
                        & .check {
                            display: inline-block;
                            margin-right: 1rem;
                        }
                        & .plus {
                            display: none;
                        }
                    }
                }
            }
        }

        @media (max-width: 768px) {
            margin-top: 1em;
        }
    }

/* PERSONNALISATIONS */
    .cadre_total_personnalisation {
        position: relative;
        overflow: hidden;
        display: flex;
        justify-content: center;
        align-items: center;
        width: 75%;
        margin-inline: auto;
        gap: 1em;
        padding: 3em 4em;
        background-color: #f8f8f8;
        border-radius: 10px;

        &::before {
            content: '';
            position: absolute;
            bottom: 0;
            width: 100%;
            height: 18px;
            background-color: var(--mc-primary);
            transform: rotate(-0.9deg) translateY(10px);
        }

        .part1{
            flex:1;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;

            & .visuel img {
                width: 300px;
                height: 200px;
                object-fit: scale-down;
            }
            & .titre{
                font-size: 1.1em;
                font-weight:bold;
                text-align: center;
            }
        }

        .part2{
            flex:2;
            display: flex;
            flex-direction: column;
            gap: 0.5rem;

            & .tarif_final_recap {
                margin-bottom: 0;
            }
            & .ligne {
                display: flex;
                justify-content: space-between;
                align-items: center;

                & .libelle {
                    font-size: 1.2em;
                    font-weight: bold;
                }
                & .valeur {
                    font-size: 1.4em;
                }
                & .tarif_final_economie .libelle span {
                    color: var(--mc-red);
                }
                &.tarif_final_recap .libelle {
                    text-transform: uppercase;

                    & span {
                        color: var(--mc-red);
                        text-transform: unset;
                    }
                }
            }
            & .ligne_valider{
                margin-top: 2rem;
                text-align: right;
            }
        }   
        
        @media(max-width:999px){
            flex-direction: column;
        }
    }


    @media (max-width: 768px) {
        .cadre_total_personnalisation {
            flex-direction: column;
            padding: 1em;
            width: 100%;

            & .ligne {
                flex-direction: column;
            }
            & .tarifs_total_valeur {
                font-size: 2em !important;
                font-weight: bold;
            }
        }
    }


/* TEMOIGNAGES */
    .info_avis {
        margin-top: 3em;
        
        & ul {
            display: flex;
            justify-content: center;
            padding: 0 0 1em 0;
            margin: 1em auto 0 auto;
            text-align: center;
        }
        & li {
            display: flex;
            align-items: center;
            flex-direction: column;
            padding: 0;
            padding: 0.25em 2em;
            max-width: 400px;
            font-style: italic;
            color: #000;
            border-bottom: 1px solid #DDD;
            background-color: #f5f5f5;
            border-radius: 10px;

            &:nth-of-type(2n) {
                flex-direction: row;
            }
            & .titre {
                display: block;
                width: 125px;
                min-width: 125px;
                max-width: 125px;
                margin-top: 1.5em;
                font-style: normal;
                font-weight: normal;
                color: #333;
                font-size: 0.8em;

                & img {
                    opacity: 0.7;
                }
            }
            & .texte {
                width: 100%;

                & p {
                    font-style: normal;
                }
            }
            & blockquote {
                padding: 1em;
                background-color: #FFF;
                border-radius: 5px;
                padding: 2em;
                font-style: italic;
                position: relative;
                font-family: 'Work Sans', sans-serif;
                font-size: 1.1em;
                line-height: 1em;
                display: flex;
                -ms-align-items: center;
                align-items: center;
                width: 100%;
            }
            & .liens{
                --_clr-a:var(--mc-primary-dark);
            }
        }
    }    

/* PRODUITS CONNEXES */
    .liste_produits_connexes {
        padding: 3em 1em;
        background: rgb(255, 255, 255);
        background: linear-gradient(180deg, rgba(255, 255, 255, 1) 0%, rgba(248, 248, 248, 1) 100%);

        & .aucun{
            display: flex;
            justify-content: center;
        }
        & .liste_mosaique.selection {
            max-width: unset !important;
        }

    }

    @media (max-width: 1350px) {
        #fiche .tarif_final .valeur::before {
            display: none;
        }

        #fiche .tarif_final .valeur {
            color: var(--mc-black);
        }
    }

    @media (max-width: 768px) {
        #fiche_medias {
            order: 1;
        }

        #fiche_medias .fiche_photos {
            display: none !important;
        }

        #fiche .autres_photos {
            margin: 0.5em 0;
        }

        #fiche .photo {
            margin-bottom: 0.5em;
        }

        #fiche_infos {
            order: 2;
        }

        #fiche .tarif_constructeur {
            font-size: 1.5em;
            justify-content: center;
        }

        #fiche .tarif_produit {
            -ms-align-items: center;
            align-items: center;
        }

        #fiche .tarif_produit .titre {
            font-size: 1.5em;
        }

        #fiche .tarif_produit .titre strong {
            margin-left: 0;
        }

        #fiche .tarif_produit .valeur {
            font-size: 4em;
            line-height: normal;
        }

        #fiche .tarif_final .valeur {
            font-size: 2.5em
        }

        #fiche .tarif_final .valeur::before {
            transform: skew(-88deg);
        }

        #fiche .img_palm {
            transform: translateX(0%) translateY(-10%) rotate(5deg);
        }

        #fiche .liste_equipements ul {
            columns: 1;
        }

        #fiche .cadre_infos_techniques .item .titre {
            display: block;
        }



        #fiche .cadre_rappel {
            width: 100%;
        }

        #fiche .cadre_reprise {
            width: 100%;
        }

        #fiche .info_avis ul {
            width: 100%;
        }

        #fiche .info_avis ul .item {
            flex-direction: column;
        }

        #fiche .info_avis ul .item .texte {
            width: 100%;
        }

        #fiche .info_avis ul .item .details {
            width: 100%;
        }
    }

    @media (max-width: 576px) {
        #fiche .tarif_final .titre {
            font-size: 1.5em;
        }

        #fiche .tarif_final .valeur::before {
            display: block;
            transform: skew(-88deg);
        }

        #fiche .img_palm {
            width: 100px;
        }
    }