body{

    & .page_fiche{

        .container{
            --w-container:1200px;	
        }
        .h3{
            font-size: clamp(1.5rem,3vw,26px);
            margin-top: 0.5rem;
            display: flex;
            align-items: center;

            &::before{
                content:'';
                display: inline-flex;
                width: 4px;
                height: 1.5rem;
                margin-right: 0.5rem;
                background-color: var(--mc-secondary);
                border-radius: 5px 0 0 5px;
            }
        }
        .fiche_titre{
            --_width-logo:150px;
            position: relative;      
            display: grid;
            grid-template-columns: 100px auto 1fr;
            grid-template-areas: 
                'visuel titre lien' 'visuel note  lien'
            ;
            gap:0 0.5rem;
            padding: 1rem 0 0 0;
            margin-bottom: 1rem;
            background-color: #FFF;

            & .h1{
                grid-area: titre;
                margin-top: 0;
                margin-bottom: 0;
            }
            & .note{
                grid-area: note;
                & .stars{                
                    color: var(--mc-secondary);
                }
            }
            & .lien_choix_contact{
                grid-area: lien;
                padding-top: 1rem;
                padding-bottom: 1rem;
                padding-left: 1rem;

                & .fa-whatsapp{
                    background: #12db50;
                    color: #FFF;
                    padding: 5px 6px 5px 6px;
                    border-radius: 50px;
                }
            }
            & .visuel{
                grid-area: visuel;
                display: block;
                width:calc(var(--_width-logo) / 2);
                height:calc(var(--_width-logo) / 2);
                animation: all 350ms ease-in;

                & img{            
                    width:calc(var(--_width-logo) / 2);
                    height:calc(var(--_width-logo) / 2);
                    object-fit: cover;
                    border-radius:50%;
                    border:3px solid #FFF;
                }
            }
        }
        .fiche__texte{
            content-visibility: auto;
            padding-right:150px;
        }
        .fiche__lieu{
            padding: 0.5rem 1rem 1rem 0;
            font-weight: 600;
        }
        .fiche__details{
            display: flex;
            align-items: center;
            gap: 2rem;
            margin-top: 2rem;
            padding-inline: 1rem;	

            & i{
                font-size: 1.3rem;
            }
            & > span{
                display: flex;
                align-items: center;
                gap:0.5rem;
            }
            & .fiche__details_langues{

                & img{
                    width:20px;
                    height:20px;
                    object-fit: contain;
                }
            }
            
        }
        .liste_vehicules{

            .fiche__visuels{
                position:relative;
                --_width-logo:150px;

                .logo_allotaxicab{
                    position:absolute;
                    z-index:5;
                    top:0;
                    right:0;
                    width:var(--_width-logo);
                    height:var(--_width-logo);
                    translate: 0 -75%;
                }
                .visuel{
                    position:absolute;
                    z-index:6;
                    top:25px;
                    right:calc(var(--_width-logo));
                    width:calc(var(--_width-logo) / 2);
                    height:calc(var(--_width-logo) / 2);

                    img{            
                        width:calc(var(--_width-logo) / 2);
                        height:calc(var(--_width-logo) / 2);
                        object-fit: cover;
                        border-radius:50px;
                        border:3px solid #FFF;
                        translate: 25px -75%;
                    }
                }
            }        
            .tabs{
                position: relative;
                display: flex;
                align-items: center;
                gap: 2rem;
                padding: 1rem 150px 1rem 1rem;	
                background-color: var(--mc-primary);
                color: var(--mc-over-primary);
                border-radius:0 0 5px 5px;

                li{
                    max-width: 25ch;

                    a{
                        --_clr-a:var(--mc-over-primary);
                        text-transform: uppercase;
                    }
                    &.active a{
                        font-weight: 600;
                        color:var(--mc-secondary);						
                    }
                }
            }
            .custom-tab-select{
                position: relative;
                display: none;
                margin-top: 3rem;
                padding:1rem 0.5rem;
                background-color: var(--mc-primary);

                &::before {
                    content: 'Nos véhicules';
                    position: absolute;
                    top: 0;
                    translate: 0 -100%;
                    font-weight: 800;
                    text-transform: uppercase;
                    width: 100%;
                    text-align: center;
                }
                select{
                    width: 100%;
                    margin: 0;
                    padding: 0.5rem;
                    background-color: #FFF;
                    border-radius: 5px;
                }
            }
            .content_vehicules{
                --_w_vehicule_imgs:400px;
                --_maxw_vehicule_imgs:400px;
                --_h_vehicule_imgs:200px;
                padding:0;
                
                & .tab-content{
                    display: none;

                    &.active{
                        display: block;
                    }

                    & .wrapper{
                        display: grid;
                        grid-template-columns: 2fr 1fr;
                        grid-template-areas: 
                            'titre visuels'
                            'texte visuels'
                            'services visuels'
                        ;
                        grid-template-rows: auto auto 1fr;
                        gap: 1rem;
                    }
                    & .titre{
                        grid-area: titre;
                        margin-top: 0;
                        text-align: left;
                        font-weight: 600;
                        line-height: 1;
                        color: var(--mc-primary-light);
                    }
                    & .h3{
                        margin-top: 0;
                        margin-bottom: 0;
                        display: flex;
                        align-items: center;

                        &::before{
                            content:'';
                            display: inline-flex;
                            width: 4px;
                            height: 1.5rem;
                            margin-right: 0.5rem;
                            background-color: var(--mc-secondary);
                            border-radius: 5px 0 0 5px;
                        }
                    }
                    & .texte{
                        grid-area: texte;

                    }
                    & .visuels{
                        grid-area: visuels;
                    }
                    & .swiper_vehicule_photos{
                        width: var(--_w_vehicule_imgs);
                        max-width: var(--_maxw_vehicule_imgs);

                        & div{
                            overflow: hidden;
                            
                            & img{
                                width:100%;
                                height:var(--_h_vehicule_imgs);
                                object-fit:cover;
                                border-radius:15px;
                            }
                        }
                        & .swiper-navigation-wrapper{
                            display: flex;
                            justify-content: center;
                            gap:1rem;

                            & .navigation{                                
                                color:var(--mc-primary);
                                cursor: pointer;
                            }
                            & .pagination{
                                --swiper-pagination-bullet-size:10px;
                                --swiper-pagination-color:var(--mc-primary);
                                width: fit-content;
                                text-align: center;
                            }
                        }
                    }
                    & .services{
                        grid-area: services;
                        & ul{
                            columns:2;
                            margin-top: 0;
                        
                            @media (max-width: 480px) {
                                columns:unset;
                            }
                        }
                    }
                }
            }
        }

        .fiche_lieux{
            & .h3{
                margin-bottom: 0;
            }
            & .wrapper > ul{
                margin-top: 0;

                & li{     
                    padding: 1rem;

                    & .titre{
                        margin-top:0;
                        margin-bottom: 0;
                        font-size: clamp(1.1rem,3vw,18px);
                        font-weight: 600;
                        color:var(--mc-primary);

                        & svg{
                            width:21px;
                            height:21px;
                            fill:var(--mc-primary);
                        }
                    }
                    & .soustitre{
                        font-size: 1.1em;
                        font-weight: 500;
                        padding-left: 1rem;
                    }
                    & .texte{
                        padding-left: 1rem;
                        font-style: italic;

                        & blockquote{
                            margin-inline:0;
                        }
                    }
                    &:hover{
                        background-color: #f8f8f8;
                        & svg{      
                            fill:var(--mc-secondary);                      
                            animation: bounce 2.5s infinite;
                            transform-origin: center bottom;
                        }
                    }
                }
            }
        }
        .fiche_texte_general{
            & .wrapper{
                margin-top: 2rem;
                margin-bottom: 2rem;
                padding: 2rem;
                background-color: var(--mc-grey-light-light);
                border-radius: 10px;
                text-align: center;
            }
        }

        .contact_choix{
            display: grid;
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
            margin-top: 2rem;

            & > a{
                padding: 1rem;
                font-size: 1.4rem;
                font-weight: 600;

                &.contact_choix__devis{
                    background-color: var(--mc-secondary);
                    color:var(--mc-over-secondary);
                }
                &.contact_choix__reservation{				
                    background-color: var(--mc-grey-dark);
                    color:var(--mc-over-grey-dark);
                }
            }

            
        }
        .section_booking{
            & .booking{
                width:min(800px, 90%);
                margin-inline:auto;

                & .h1{
                    text-align: center;
                }
                & .accroche{
                    padding:1rem;
                    text-align:center;
                }
                & .wrapper{
                    padding:2rem;
                    text-align: center;
                    border:1px solid var(--mc-primary);
                    border-radius:20px;
                }
            }
        }
        .section_map{
            & .map{
                width:100%;
                height: 400px;
            }
            & .contacts{
                & .pres_de_moi{
                    padding:0.25rem 0;
                    text-align:center;
                }
                & .modes{
                    display:flex;
                    flex-direction:row;
                    justify-content:center;
                    gap:1rem;
                    padding:1rem;
                    margin-bottom:2rem;
                }
            }
        }
        .section_avis{
            & .wrapper{
                display: grid;
                grid-template-columns: 2fr 1fr;
                gap: 2rem ;

                & .liste_avis{

                    & .item{
                        display: grid;
                        grid-template-columns: auto auto 1fr;
                        grid-template-areas: 
                            'auteur note date'
                            'texte texte texte'
                            'reponse reponse reponse'
                        ;
                        align-items: center;
                        gap: 0.25rem 1rem;
                        margin-bottom: 1rem;
                        padding-bottom: 1rem;
                        border-bottom: 1px solid var(--mc-primary-light);

                        & .date{
                            grid-area: date;
                            font-style: italic;
                            color: #323232;
                        }
                        & .note{
                            grid-area: note;
                            color: var(--mc-secondary);
                        }
                        & .auteur{
                            grid-area: auteur;
                            color: var(--mc-primary);
                            font-weight: 600;
                        }
                        & .texte{
                            grid-area: texte;
                        }
                        & .reponse{
                            grid-area: reponse;
                            text-align: right;
                            font-size: 0.9rem;
                            padding: 0.5rem 1rem;

                            & div{
                                display: inline-flex;
                                flex-direction: column;
                                align-items: end;
                                width:min(500px,100%);

                                & > *{
                                    padding-inline: 1rem;
                                }

                                & span{    
                                    display: flex;
                                    justify-content: end;
                                    padding-top: 0.5rem;
                                    padding-bottom: 0.5rem;                         
                                    background-color: #f8f8f8;
                                    border-radius: 10px;
                                }
                            }                            
                        }
                    }
                }
                & .section_avis__actions{
                    display: flex;
                    flex-direction: column;
                    padding-top: 1rem;

                    & > .titre{
                        display: none;
                    }
                    & .wrapper{
                        position:sticky;
                        top:2rem;
                        display: flex;
                        flex-direction: column;
                    }
                    & .action{
                        display: flex;
                        flex-direction: column;
                        gap: 1rem;
                        margin-bottom: 1rem;
                        padding: 1rem;

                        background-color: #F8F8F8;
                        border-radius: 1rem;

                        & .thumb{
                            display:flex;
                            justify-content:center;
                            font-size:4rem;
                        }
                        & .bouton{
                            text-align: center;
                        }
                        & .tipee a{
                            display: flex;
                            flex-flow: row wrap;
                            align-items: center;
                            text-wrap: balance;
                            gap: 1rem;
                            
                            & span {
                                flex: 2;
                            }
                            & img{
                                flex: 1;
                                width: 100%;
                                height: auto;
                                object-fit: scale-down;
                                border-radius: 10px;
                            }
                        }
                    }
                }

            }
        }

        /* text content global fiche*/
        .texte_content{
            padding-left: 0.5rem;
        }

        @media (max-width: 999px){
            .container{
                --w-container:unset;
            }
            .fiche_titre{
                grid-template-areas: 
                'visuel titre' 
                'visuel note' 
                'lien lien'
                ;
            }
            .fiche__texte{
                padding-right:50px;
            }
            .liste_vehicules{
                
                .tabs {
                    display: none;
                }            
                .custom-tab-select{
                    display: block;
                }
                .content_vehicules{
                    --_w_vehicule_imgs:95vw;
                    --_maxw_vehicule_imgs:990px;
                    --_h_vehicule_imgs:25vh;

                    .tab-content{
                        .wrapper{
                            display: grid;
                            grid-template-columns: 1fr !important;
                            grid-template-areas: 
                                'titre'
                                'visuels'
                                'texte'
                                'services'
                            ;
                        }
                    }
                    .services{
                        & ul li{
                            padding-top: 0.5rem;
                        }
                    }
                }
            }
            .section_avis{
                & .wrapper{
                    & .section_avis__actions{
                        & .action{
                            & .tipee a{
                                flex-direction: column;
                            }
                        }
                    }
                }
            }
        }
        @media (max-width: 768px) {
            & .h3{
                line-height: 1.1;

                &::before{
                    height: 50px !important;
                }
            }
            & .fiche_titre{
                --_width-logo:150px;
                grid-template-columns: var(--_width-logo) 1fr;

                & .h1{
                    display: flex;
                    align-items: center;
                    line-height: 1;
                }
                & .lien_choix_contact{
                    display: flex;
                    flex-flow: row wrap;
                    justify-content: center;
                    gap: 0.5rem;
                    width: fit-content;
                    margin-inline:auto;
                    padding: 1rem 0;
                }
                & .visuel{
                    width: 100%;
                    text-align: center;
                }
                
            }
            & .liste_vehicules{               
                .content_vehicules{
                    margin-top: 1rem;
                }
            }
            & .fiche_texte_general{
                & .wrapper{
                    padding-inline:0;
                }
            }
            & .fiche__details{
                flex-direction: column;
                align-items: start;
                justify-content: space-between;
                gap: 0.25rem;
                margin-top: 2.5rem;
                margin-bottom: 2.5rem;
                padding-inline: 0;

                & > span{
                    flex:1;
                    display: flex;
                    flex-direction: row;

                    & span{
                        display: flex;
                        flex-flow: row wrap;
                        align-items: center;
                        gap: 0.25rem;
                    }
                }
            }    
            & .section_map{
                & .contacts{
                    & .modes{  
                        flex-direction: column;
                        align-items: center;
                    }
                }
            }
            .contact_choix{
                & > a{
                    font-size: 1.1rem;
                }
            }
        }
        @media (max-width: 580px) {

            & .fiche_titre{                
                --_width-logo:120px;
                grid-template-areas: 
                    'visuel titre'
                    'visuel note'
                    'lien lien'
                ;
            }
            & .fiche__texte{
                padding-right:unset;
            }
            & .liste_vehicules{
                & .fiche__visuels{
                    & .logo_allotaxicab{
                        display: none;
                    }
                }
                & > ul{
                    flex-direction: column;
                    gap: 0.5rem;
                    margin:0;
                    padding: 1rem;

                    &::after{
                        display: none;
                    }
                }
                
            }
            & .contact_choix{
                grid-template-columns: 1fr;
            }
            & .section_avis{
                & .wrapper{                    
                    grid-template-columns: 1fr;

                    & .section_avis__actions{
                        & .action{
                            & .tipee a{
                                flex-direction: row;
                            }
                        }
                    }
                }                
            }
        }
    }

    &.stick{
        & .page_fiche{
            @media (max-width: 990px) {
                & .section_titre{
                    position:fixed;
                    top: 0;
                    left: 0;
                    right: 0;
                    width: auto;
                    margin-inline: auto;
                    z-index: 5000;
                    padding:1rem 1rem 1rem 1rem;
                    background-color: #fff;
                    box-shadow: rgba(255, 255, 255, 0.1) 0px 1px 1px 0px inset, rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;

                    & .fiche_titre{
                        margin-bottom: 0;
                    }

                }
            }

            @media (max-width: 580px) {
                & .section_titre{
                    width: auto;
                    padding-bottom: 0.25rem;

                    & .fiche_titre{
                        padding:0;

                        & .h1{
                            font-size: 1.3rem;
                        }

                        & .lien_choix_contact{
                            & a{
                                & span{
                                    display: none;
                                }
                            }
                        }
                    }
                }
            }
        }
    }
        
}


/* Form devis / réservation */
.form_fiche{

    & .form{
        & .ligne{
            margin-bottom: 0;

            & input:not([type="checkbox"]):not([type="radio"]){
                height: 40px !important;
            }
        }
        & .ligne:has(.champ_rubrique) {
            margin-top: 0.5rem;
        }
    }

    & .liste_mise_a_disposition_heure{
        display: flex;
        align-items: center;
        flex-flow: row wrap;
        gap:0.25rem;

        & label{
            background-color: var(--mc-over-primary);
            border:1px solid var(--mc-primary);
            margin: 0;
            padding: 0.25rem 1rem;
            border-radius: 10px;
            white-space: nowrap;
            cursor: pointer;
        }
        & input{
            display: none !important;
        }
        & input:checked + label{
            background-color: var(--mc-primary);
            color: var(--mc-over-primary);
        }    
    }
    & .liste_nb_passagers{
        display: flex;
        align-items: center;
        flex-flow: row wrap;
        gap:0.25rem;

        & label{
            background-color: var(--mc-over-primary);
            border:1px solid var(--mc-primary);
            margin: 0;
            padding: 0.25rem 1rem;
            border-radius: 10px;
            white-space: nowrap;
            cursor: pointer;
        }
        & input{
            display: none !important;
        }
        & input:checked + label{
            background-color: var(--mc-primary);
            color: var(--mc-over-primary);
        }    
    }
}

/* Form depot avis */
.form_avis .form{
    padding: 0.5rem;
}


/* TEST */
@media (max-width: 768px) {
    .truncated-text {
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 3; /* Nombre de lignes visibles avant le tronquage */
        overflow: hidden;
        position: relative;
        transition: all 0.3s ease-in-out;

        &.expanded {
            -webkit-line-clamp: unset; /* Supprime la limitation */
            overflow: visible;
        }
    }    
    .read-more {
        display: block;
        cursor: pointer;
        margin-top: 5px;
    }
}

