/* =============================================================================
   $Layout
   ========================================================================== */

.constrain {
    max-width: 1140px;
    margin: 0 auto;
    position: relative;
}

@media screen and (max-width: 1139px) {
    .constrain {
        max-width: 100%;
        /* padding: 0 20px; */
    }
}

section{
    position: relative;
    overflow: hidden;
    margin-bottom: 8px;
}

.layout_1c .section_main > div{
    margin: 24px 48px 40px 48px;

    &.noMarginX {
        margin-right: 0 !important;
        margin-left: 0 !important;
    }

    &.marginX16 {
        margin-right: 16px !important;
        margin-left: 16px !important;
    }
        
    &:first-child{
        margin-top: 0px;
        padding-top:24px;
    }
    &:last-child{
        margin-bottom: 0;
        padding-bottom:40px;
    }

    @media screen and (max-width: 1140px){
        margin: 8px 16px;
    }
}


/* Home */

    @media screen and (max-width: 1140px){        
        .Home .section_main > div {
            padding: 24px  16px 40px 16px;
            background-color: var(--background3) 
        }
        
    }


/* ------------------------ Liste de contenu : Default */

 /* générale  */

 .ContentListComponent , .KeywordListBySectionsComponent {
    section{
        padding: 48px 48px 40px 48px;
        @media screen and (max-width: 968px){
            padding: 24px 0px 0px 0px;
        }
    }
    #footer section {
        padding: 0;
    }
 }

.list{
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    align-self: stretch;
    flex-wrap: wrap;
    justify-content: space-between;
}

.section-title{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 24px;
}

.empty-book{
    height: 100%!important;
    background-color: var(--background2);
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
     @media screen and (max-width: 425px){
            height: 500px!important;
        }
}

/* Grid */
.grid{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
}

.grid.model3, .grid.model2, .keyword-model2, .keyword-model1, .keyword-model4{
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 24px;
    justify-items: center;
    grid-auto-rows: 1fr;
    @media screen and (min-width: 350px){
        grid-template-columns: repeat(2, 1fr);
    }
    @media screen and (min-width: 600px){
        grid-template-columns: repeat(3, 1fr);
    }
    @media screen and (min-width: 1140px){
        grid-template-columns: repeat(6, 1fr);
    }
}

.grid .hide{
    display: none;
}

/*Modéle 1*/

.list.model1{
    gap: 24px;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    @media screen and (max-width: 968px){
        grid-template-columns: repeat(2, 1fr);
    }
}

@media screen and (max-width: 701px){
    
    .list.model1{
        justify-content: center;
        grid-template-columns: repeat(2, 1fr);
    }
}

/*Modéle 2*/

.list.model2{
    gap: 24px;

    a{
        text-align: center;
    }
}

.m-edition{
    display:flex;
    width: 144px;
    height:144px;
    padding: 8px;
    border: 1px solid var(--discret);
    border-radius: 8px;
    justify-content: center;
    align-items: center;
    text-align: center;
    img{
        object-fit: scale-down;
        width: 100%;
    }
    &.bg-grey{
        border: none!important;
    }
}

/* ---- Générale livres ---- */
.item{
    display: flex;
    flex-direction: column;
    transition: transform .3s;
    height: 100%;
    a{
        display: contents;
        margin-bottom: 8px;
    }

    &.book figure {
        display: flex; 
        flex-direction: column;
        justify-content: center;
        height: 100%;
        background-color: var(--background2);
    }
}
.book{
    border-radius: 8px;
}

.book:hover{
    transform: scale(1.06);
}

.book img{
    display: flex;
    width: 100%;
    background-color: var(--discret);
}

.book-price{
    font-weight: bold;
    padding: 4px 0px;
    margin-top: auto;
}


/*Modéle 3*/

.list.model3, .list.list-by-section, .keyword-model2, .keyword-model4{
    gap:24px;
    justify-content: start;
    
    &:has(.auteur){
        justify-content: flex-start;
    }
}

.categorie{
    text-align: center;
    img{
        width: 107px;
        height: 107px;
        margin-bottom: 8px;
        background: var(--background2);
        border-radius: 156px;
        object-fit: none;
    }

    span{
        min-height: 40px;
    }
}

/*Modèle 4*/
section:has(.list.model4){
    padding: 24px 16px;
}

.list.model4 {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 24px;
    padding: 0px 48px 40px 48px;

     img{
            background-color: var(--background2);
            width: 100%;
            height: 100%;
            border-radius: 8px;
        }

        li{
            margin: 0;
        }
    div{
        position: relative;
        border-radius: 8px;
        height: fit-content;
        cursor: pointer;
       
        span{
            color: var(--Texte, rgba(33, 33, 33, 0.85));
            font-family: Roboto;
            font-size: 14px;
            font-style: normal;
            font-weight: 700;
            line-height: 20px; /* 142.857% */
        }
    }
    &:not(:has(*)) { display: none; }
    @media screen and (max-width: 1139px){
        grid-template-columns: repeat(4, 1fr);
    }
     @media screen and (max-width: 968px){
        grid-template-columns: repeat(2, 1fr);
        padding: 0px 0px 40px 0px;
    }
    @media screen and (max-width: 425px){
        grid-template-columns: repeat(1, 1fr)!important;
    }
}


/*Catalogue */

.infos{
    padding-bottom: 0;
    margin: 0;
    display: grid;
    gap: 24px;

    figure { 
        & img {
            display: flex;

            &:not(.auteur) {
                max-width: 260px;
            }
        }
    }
    
    p{
        /* max-width: 700px; */
        overflow: hidden;
        color: var(--Texte, rgba(33, 33, 33, 0.85));
        text-overflow: ellipsis;
        font-family: Roboto;
        font-size: 20px;
        font-style: normal;
        font-weight: 500;
        line-height: 30px;
        letter-spacing: -1px;
        margin: 0 0 30px 0;
        
        &:last-child{
            margin: 0;
        }
         @media screen and (max-width: 1139px){
            min-width: 100%;
        }
    } 

    .description{
         @media screen and (max-width: 1139px){
            margin-bottom: 24px;
        }
    }

    .showmore{
        overflow: hidden;
        color: var(--cta, #2F5BEA);
        text-overflow: ellipsis;
        font-family: Roboto;
        font-size: 18px;
        font-style: normal;
        font-weight: 500;
        line-height: 24px; /* 133.333% */
        letter-spacing: -0.45px;
    }
     @media screen and (max-width: 1139px){
         h1{
             margin-bottom:24px;
         }
    }
}

/* Menu catalogue */

.menu-catalogue{
    ul li{
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        border-radius: 8px;
        border: 1px solid rgba(25, 16, 16, 0.46);
        background: var(--Background-03, #F6F8F9);
        cursor: pointer;
        color: var(--Texte, rgba(33, 33, 33, 0.85));
        font-family: Roboto;
        font-size: 18px;
        font-style: normal;
        font-weight: 500;
        line-height: 24px;
        width: calc(150px);
        letter-spacing: -0.45px;
        position: relative;
        height: 60px;
        a{
            position: absolute;
            width: 100%;
            height: 100%;
            display: flex;
            justify-content: center;
            align-items: center;
            text-align: center;
        }
    }
}


/* Pagination */

.pagination{
    margin-bottom: 64px;
    ul{
        padding: 24px;
        gap: 12px;
        margin: 0 auto;
        width: fit-content;
        li{
            padding: 12px 15px;
            flex-direction: column;
            align-items: flex-start;
            border-radius: 8px;
            &:first-child:not(.previous), &.selected{
                background-color: transparent!important;
                border: 1px solid rgba(25, 16, 16, 0.46);
            }
            &:not(:first-child), &.previous{
                background-color: #2F5BEA;
                a{
                    color: white;
                }
            }
            &.selected a{
                    color: var(--texte)!important;
                }
        }
    }
}

/* ------------------ Liste de contenu : 'AUTEURS */

/* Auteurs */

.KeywordListBySectionsComponent.auteurs{

    @media screen and (max-width: 968px) {
         .constrain{
            padding: 0;    
        }

        section{
            margin-bottom: 0;
        }

        .breadcrumb{
            padding: 24px 0 0 24px!important;   
        }


        h2{
            margin: 0px 24px 24px 24px;
            padding: 16px 0;
        }

        .list.model3, .list.list-by-section{
            display: block;
                width: 100%;
                background-color: var(--background3);
                padding: 24px 0 40px 0;
                margin: 0;
                li{
                    margin: 0 20px;
                }
                .item{
                    flex-direction: row;
                    width: 100%;
                    align-items: center;
                    gap:16px;
                    .main-img, .empty-auteur2-img{
                        width: 36px;
                        height: 36px;
                    }

                    .cat-title{
                        width: 100%;
                        text-align: left;
                        padding: 16px 0;
                        border-top: 1px var(--discret) solid;
                    }
                &:last-child .cat-title{
                    border-bottom: 1px var(--discret) solid;
                }
                }
        }
    }

}

img.auteur{
    height: 172px !important;
    border-radius: 252px;
    width: 172px !important;
}
.auteur{
    text-align: center;
    width: 100%;
    object-fit: cover;
    
    img{
        width: 154px;
        height: 154px;
        border-radius: 156px;
        margin-bottom: 8px;
        background-color: var(--background2);
        object-fit: contain;
    }
}

.auteur2{
    text-align: center;
    width: 107px;
    img{
        width: 100%;
        height: 107px;
        border-radius: 156px;
        /* margin-bottom: 8px; */
        background-color: var(--background2);
        object-fit: cover;
    }
}

.auteur-books{
    padding: 0!important;
}

.empty-auteur-img{
    width: 154px;
    height: 154px;
    border-radius: 156px;
    margin-bottom: 8px;
    background-color: var(--background2);
}

.empty-auteur2-img{
    width: 107px;
    height: 107px;
    border-radius: 156px;
    margin-bottom: 8px;
    background-color: var(--background2);
}

/* ContentList (Detail) Auteur */

.ContentListComponent.auteurs{
    div[data-type="auteurs"],
    .nouveautes{
        margin: 0;
        padding: 24px 16px 40px 16px;
        /* background-color: var(--background3); */
    }
}

/* ------------------ Liste de mots-clés */
.KeywordListBySectionsComponent #wrapper, .ContentDetailComponent #wrapper{
    box-shadow: none;
}
.menu-catalogue .current{
    display: none;
}

/* categorie */

div[data-type="menu"]:has(.categories){
    padding: 48px 48px 40px 48px;
    background-color: var(--background3);
    margin: 0;
}

/* --------- Detail de contenu 'LiVRES' */

.fiche-produit{
    display: flex;
    gap: 24px;
    margin-bottom: 48px;
    @media screen and (max-width: 1139px){
        flex-direction:column;
    }
}

.components-list{
    margin: 24px 16px!important;
}   

.images-produit{
    width: 25%;
    .main-img{
        width: 100%;
        background-color: var(--background2);
        min-height: 360px;
        object-fit: contain;
    }
    
    .miniatures-produit {
        display: flex;
        gap:8px;
        img{
            width:39px;
            height:39px;
            padding:4px;
            cursor:pointer;
            object-fit: cover;
        }   
    }

    .empty-book{
        min-height: 300px;
        display: flex;
        align-items: center;
        text-align: center;
        border-radius: 8px;
        width: 100%;
        justify-content: center;
        @media screen and (max-width: 425px){
            width: 300px;
        }
    }
    @media screen and (max-width: 1139px){
        width:100%;
        .main-img{
            width:50%;
            margin:0 auto
        }
    }
    @media screen and (max-width: 500px){
        .main-img{
            width:100%;
            margin:0 auto
        }
    }    
}

.info-auteur{
    background-color: var(--cta_120);
    display: flex;
    align-items:center;
    width:fit-content;
    padding-right:15px;
    border-radius:156px;
    margin-bottom:24px;
    margin-top:16px;
    height: 48px;

    figure {
        height: 100%;
    }

    img{
        border-radius:156px;
        width:48px;
        height: 48px;
        margin-right:5px;
        object-fit: cover;
    }

    &.no-image > figure{
        width:48px;
        height: 48px;
        background-color: var(--background2);
        margin-right:5px;
        border-radius:156px;
        img{
            display: none;
        }
    }

    .auteur-img-vide{
        width:48px;
        height: 48px;
        background-color: var(--background2);
        margin-right:5px;
        border-radius:156px;
    }
    
}

.textComponent h2{
    color: var(--Texte, rgba(33, 33, 33, 0.85)) !important;
    font-family: Roboto;
    font-size: 18px;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    padding: 12px 0;
}

.Infos-produit{
    width:50%;
    .livre-auteurs{
        display: flex;
        gap: 10px;
    }
    @media screen and (max-width: 1139px){
        
        width:100%;
        flex-direction:column-reverse;
        order: 3;
        
    }
}

.info-Description{
    span{
        font-size:24px;
        color: var(--texte);
        font-weight:bold;
        padding-bottom: 16px;
        display: block;
    }
}

.prix{
    font-size:40px;
}

.Prix-produit{
    h2{
       color: var(--texte , rgba(33, 33, 33, 0.85));
        font-family: Roboto;
        font-size: 40px;
        font-style: normal;
        font-weight: 400;
        line-height: 56px; /* 140% */
        letter-spacing: -0.8px;
    }

    p:last-of-type {
        margin-bottom: 0;
    }

    .linkBtn1,
    .linkBtn2,
    .linkBtn3,
    .linkBtn4{
        color: var(--texte_medium);
        border: 1px solid var(--texte_medium);
        border-radius: 4px;
        display:flex!important;
        flex-direction:column;
        padding: 4px 30px 4px 5px;
        margin-top: 8px;
        font-weight: bold;
        width: 100%;
        position: relative;

        &:before {
            content:"\e903";
            font-family: "icon";
            font-weight: 400;
            position: absolute;
            right: 6px;
            top: 50%;
            transform: translateY(-50%);
        }

        &::after {
            display: inline-block;
            font-size: 12px;
            font-weight: normal;
        }

        @media screen and (max-width: 1140px){
            width:300px;
        }

        @media screen and (max-width: 500px){
            width:100%;
        }
    }

    a.linkBtn1:hover,
    a.linkBtn2:hover,
    a.linkBtn3:hover,
    a.linkBtn4:hover{
        text-decoration: none;
    }

    .linkBtn1{
        color: white;
        background-color: var(--cta);
        border-color: var(--cta);
      
        &::after{
            content: "sur notre boutique partenaire";
        }
    }

     .linkBtn2, .linkBtn3 {
        color: var(--texte_medium);
        border-color: var(--texte_medium);
    }

     .linkBtn2 {
        &::after{
            content: "sur Place des libraires";
        }
     }

    .linkBtn3 {
        &::after {
            content: "sur 7switch";
        }
    }

    .linkBtn4 {
        &::after {
            content: "sur Bookdoreille";
        }
    }

    @media screen and (max-width: 1139px){
        grid-row:2;
        /* height:150px!important; */
        order: 2!important;
    }
}

.plus-prix{
    text-align: center;
    color: var(--cta);
    font-size: 18px;
    padding: 10px 0;
    font-weight: 500;
}

/* GRDC Search */

.GRDC_search .appContent {
    display:flex;
    flex-direction: column;
    gap: 24px
}

#results .contentList{
    padding: 0;
}

