
*{
    padding: 0;
    margin: 0;
    box-sizing: border-box;
    text-decoration: none;
    border: none;
    list-style: none;
    font-family: Arial, serif;
    scroll-behavior: smooth;
    outline: none;
}

:root {
    /* couleurs de base */
    --rose1: #B20349;
    --rose2: #FB025E;
    --gris: #303843;
    --color: rgba(42, 184, 42, 0.833);
    --noir: #000000;
    --light-white: #F7F6f7;
    --shad-white: #F3EEEB;
    --white: #ffffff;
    
    --bg1: #ffffff;
    --bg2: #dfdfdf;
    --bg3: #303843;
    
    --text-clr1: #303843;
    --text-clr2: #B20349;
    
    /* ombres et degrades */
    --btn-clr1: linear-gradient(90deg, var(--rose1), var(--rose2), var(--rose2));
    --btn-clr2: linear-gradient(90deg, var(--rose1), var(--rose2), var(--rose1));
    
    --shadow1: rgba(0,0,0,0.1);
    --shadow2: rgba(0,0,0,0.25);
    
    /* polices d'ecriture */
    --poppins: 'poppins';
    --rubik: 'rubik';
    }
    
::-webkit-scrollbar{
width: 1px;
}

::selection{
background: var(--rose2);
color: var(--light-white);

span{
    color: var(--gris);
}
}

.container{
    width: 100%;
    min-height: 100vh;
    background: var(--light-white);
}

.floating-home-btn {
    position: fixed;
    bottom: 100px;
    right: 30px;
    background: linear-gradient(135deg, var(--rose1), var(--rose2)); /* Dégradé chaleureux Check Pub */
    color: #fff;
    font-size: 1.6rem;
    width: 52px;
    height: 52px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 50%;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
    text-decoration: none;
    transition: transform 0.25s ease, box-shadow 0.25s ease;
    z-index: 9999;
}

.floating-home-btn:hover {
    transform: scale(1.08);
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.25);
}

.floating-home-btn .home-icon {
    pointer-events: none;
}

.floating-home-btn::after {
    content: attr(data-tooltip);
    position: absolute;
    bottom: 65px;
    right: 50%;
    transform: translateX(50%);
    background: rgba(0, 0, 0, 0.85);
    color: #fff;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 0.8rem;
    opacity: 0;
    white-space: nowrap;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s ease;
}

.floating-home-btn:hover::after {
    opacity: 1;
    transform: translateX(50%) translateY(-5px);
}

.container .header{
    width: 100%;
    height: 35vh;
    position: relative;
}

.container .header img.bg{
    width: 100%;
    height: 100%;
    object-fit: cover;
    user-select: none;
    animation: 5s trans linear infinite;
}


@keyframes trans{
     0%{
        opacity: 1;
     }
     50%{
        opacity: 1;
     }
     75%{
        opacity: 0.8;
     }
     100%{
        opacity: 1;
     }
}

.container .elements{
    position: absolute;
    bottom: 0;
    right: 0;
    width: 99%;
    height: 80px;
    background: var(--bg2);
    border-radius: 40px;
    padding-left: 80px;
    display: flex;
    align-items: center;
    gap: 30px;
}

.container .elements img{
    width: 100px;
    height: 100px;
    border-radius: 50%;
    object-fit: cover;
    border: 2px solid var(--gris);
    margin-top: -40px;
    margin-bottom: 20px;
    user-select: none;
}
.container .elements .ic {
    position: relative;
}
.container .elements i.ri-vip-crown-line{
    position: absolute;
    top: -50px;
    right: 0px;
    width: 30px;
    height: 30px;
    background: var(--noir);
    color: gold;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}

.contenus{
    display: flex;
    gap: 20%;
}

.contenus ul.infos li h1.titre{
    color: var(--rose1);
    letter-spacing: 1px;
    font-style: italic;
    font-size: 2rem;
    font-weight: 700;
}

.contenus ul.infos li h3.depart{
    color: green;
    font-size: 1.2rem;
    letter-spacing: normal;
    margin-left: 10px;
}

ul.nav{
    display: flex;
    align-items: center;
    gap: 20px;
}

ul.nav li{
    cursor: pointer;
    letter-spacing: 1px;
    color: var(--noir);
    padding: 10px;
    transition: .2s ease-in;
    user-select: none;
}
ul.nav li:hover{
    color: var(--rose1);
}

ul.nav li.active{
    transform: translateY(20px);
    color: var(--rose1);
    background: var(--light-white);
    padding-bottom: 22px;
    border-top-left-radius: 15px;
    border-top-right-radius: 15px;
    position: relative;
    cursor:default;
}

ul.nav li.active::before{
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background: transparent;
    bottom: 0px;
    left: -30px;
    border-bottom-right-radius: 20px;
    border-bottom: 5px solid var(--light-white);
    border-right: 5px solid var(--light-white);
}


ul.nav li.active::after{
    content: "";
    position: absolute;
    width: 30px;
    height: 30px;
    background: transparent;
    bottom: 0px;
    right: -30px;
    border-bottom-left-radius: 20px;
    border-bottom: 5px solid var(--light-white);
    border-left: 5px solid var(--light-white);
}

.content{
    width: 100%;
    min-height: 50vh;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 20px;
    padding: 30px 4%;
}

/* ---------cart--------- */
.cart{
    background: transparent;
    padding: 10px;
    border-radius: 20px;
    width: 250px;
    min-height: 400px;
    animation: cart .5s linear;
}

@keyframes cart {
    0%{
        transform: translateX(10px);
        opacity: 0;
    }
    20%{
        
        opacity: 0;
    }
    100%{
        transform: translateX(0px);
        opacity: 1;
    }
}

.cart:nth-child(1){
    animation-delay: .2s;
}
.cart:nth-child(2){
    animation-delay: .4s;
}
.cart:nth-child(3){
    animation-delay: .6s;
}
.cart:nth-child(4){
    animation-delay: .8s;
}
.cart:nth-child(5){
    animation-delay: 1s;
}
.cart:nth-child(6){
    animation-delay: 1.2s;
}


.cart h5.name{
    color: var(--gris);
    letter-spacing: 1px;
    font-size: .9rem;
}

.cart .prix{
    color: var(--rose2);
}

.cart .location{
    color: green;
}

.cart img.star{
    width: 100px;
}


.cart .vv{
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.cart .vv ul.options{
    position: absolute;
    right: 5px;
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.cart .vv ul.options li{
    color: var(--light-white);
    background: var(--gris); 
    width: 30px;
    height: 30px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: .8rem;
    transform: translateX(10px);
    opacity: 0;
    transition: .3s ease-in-out;
}

.cart .vv ul.options li:hover{
    cursor: pointer;
    background: var(--noir);
}

.cart .vv:hover ul.options li{
    transform: translateX(0px);
    opacity: 1;
}

.cart .vv:hover ul.options li i{
    transition: .1s ease-in-out;
}

.cart .vv:hover ul.options li i:hover{
    transform: scale(1.2);
}

.cart a.chanel{
    display: flex;
    align-items: center;
    padding: 5px;
    border-radius: 20px;
    background: var(--bg2);
    margin-top: 10px;
    width: 60%;
    color: var(--noir);
    font-size: .7rem;
    border: 1px dashed transparent;
    transition: .15s ease;
    position: relative;
}

.cart a.chanel i{
    color: gold;
    background: var(--noir);
    width: 25px;
    height: 25px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid gold;
    position: absolute;
    top: -7px;
    right: -3px;
    font-size: .8rem;
}

.cart a.chanel:hover{
    border: 1px dashed var(--bg3);
}

.cart a.chanel:hover i{
    animation: crown 1s linear;
}

@keyframes crown{
    0%{
        transform: rotate(0deg);
    }
    20%{
        transform: rotate(15deg);
    }
    40%{
        transform: rotate(0deg);
        top: -8px;
    }
    60%{
        transform: rotate(-15deg);
        top: -8px;
    }
    80%{
        transform: rotate(0deg);
        top: -8px;
    }
    100%{
        transform: rotate(0deg);
        top: -7px;
    }
}

.cart a.chanel img{
    width: 25px;
    height: 25px;
    border-radius: 50%;
    object-fit: cover;
    margin-right: 5px;
}

.cart .vv img.cover:hover{
    transform: scale(1.01);
}

/* like active */

.cart .ri-heart-3-fill{
    color: var(--rose2);
    display: inline-block;
    transition: .1s ease-in-out;
    animation: liked 1s linear;
}


@keyframes liked {
    0%{
        transform: scale(1) rotate(0deg);
    }
    20%{
        transform: scale(1.2) rotate(-20deg);
    }
    40%{
        transform: scale(1.2) rotate(20deg);
    }
    60%{
        transform: scale(1.2) rotate(-20deg);
    }
    80%{
        transform: scale(1.2) rotate(20deg);
    }
    100%{
        transform: scale(1) rotate(0deg);
    }
}

.cart img.cover{
    width: 100%;
    height: 250px;
    object-fit: cover;
    border-radius: 10px;
    transition: .2s ease;
    box-shadow: 1px 1px 2px 3px rgba(0,0,0,0.08);
}



.ri-file-copy-line{
    position: fixed;
    bottom: 30px;
    right: 30px;
    font-size: 2rem;
    background: var(--bg1);
    box-shadow: 2px 3px 7px rgba(0,0,0,0.14);
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rose2);
    transition: .2s ease-in;
}

.ri-file-copy-line:hover{
    transform: translateY(-5px);
    cursor: pointer;
}

.ri-file-copy-line:active{
    transform: translateY(-5px);
    transform: scale(0.97);
}

.ri-file-copy-line.store-link:hover{
    color: var(--rose1);
    box-shadow: 1px 0px 5px rgba(0,0,0,0.14);
}

.ri-file-copy-line.copied{
    color: var(--light-white);
    animation: varia 1s;
    background: rgba(0, 128, 0, 0.936);
}



@keyframes varia {
    0%{
        color: green;
    }
    20%{
        color: rgb(6, 186, 6);
    }
    40%{
        color: green;
    }
    60%{
        color: rgb(6, 186, 6);
    }
    80%{
        color: green;
    }
}

/* ---pagination--- */
ul.pagination{
    display: flex;
    align-items: center;
    gap: 20px;
    margin-bottom: 20px;
}

ul.pagination li.pre , ul.pagination li.suv {
    color: var(--bg1);
    background: var(--rose1);
    padding: 5px 15px;
    border-radius: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s ease;
    cursor: pointer;
    display: inline;
}

ul.pagination li.pre :hover{
    transform: translateX(-5px);
}

ul.pagination li.suv :hover{
    transform: translateX(5px);
}

ul.pagination li.clqu , ul.pagination li.dots {
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--rose1);
    border: 1px solid var(--rose1);
    transition: .3s ease;
    cursor: pointer;
}

ul.pagination li.clqu.active , ul.pagination li.dots.active , ul.pagination li.clqu:hover , ul.pagination li.dots:hover {
    transform: scale(1.15);
    background: var(--rose1);
    color: var(--light-white);
    border: none;
}

.toud, .poud, .ann1, .ann2{
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.pub_container{
    width: 80%;
    margin-top: 30px;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    grid-gap: 20px;
    margin-bottom: 30px;
}

.pub_container .pub-box{
    width: 100%;
    height: 350px;
    overflow: auto;
    overflow: hidden;
    border-radius: 10px;
    border: 1px solid transparent;
    box-shadow: 2px 8px 16px var(--shadow2);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    position: relative;
}

.pub_container .pub-box .title{
    color: var(--bg1);
    text-shadow: 1px 0px 6px var(--noir);
    text-align: center;
    position: absolute;
    width: 100%;
    height: 100%;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    font-weight: 900;
    -webkit-text-stroke: .2px var(--bg1);
    transform: translateY(100px);
    z-index: 1;
    opacity: 0;
    transition: all .4s linear;
    font-size: 1.2rem;
}

.pub_container .pub-box:hover .title{
    transform: translateY(0px);
    z-index: 1;
    opacity: 1;
    background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.3), rgba(0,0,0,0.4));
}

.pub_container .pub-box .like{
    z-index: 3;
    transform: scale(0);
}

.pub_container .pub-box:hover .like{
    transform: scale(1);
}

.pub_container .pub-box .title:hover{
    cursor: pointer;
}

.pub_container .pub-box img{
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top;
    transition: all .2s ease;
}

.pub_container .pub-box:hover img{
    transform: scale(1.009);
}

/* fenetre modal */

.modal {
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.8);
    align-items: center; /* Centrer le modal verticalement */
    justify-content: center; /* Centrer le modal horizontalement */
    transition: opacity 0.3s ease; /* Transition pour l'effet d'apparition */
}

/* Contenu du modal */
.modal-content {
    position: relative;
    background-color: white;
    padding: 20px;
    width: 90%; /* Largeur du modal */
    max-width: 800px; /* Largeur maximale du modal */
    border-radius: 10px; /* Coins arrondis */
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2); /* Ombre pour donner un effet de profondeur */
    display: flex; /* Utilisation de flexbox pour la disposition */
    align-items: center; /* Centrer verticalement les éléments */
    justify-content: space-between; /* Espacer les éléments (image et description) */
}

/* Image du modal */
#modal-image {
    width: 45%; /* Limite la largeur de l'image à 45% du modal */
    height: auto; /* Maintient les proportions de l'image */
    max-height: 400px; /* Limite la hauteur de l'image */
    object-fit: contain; /* Garde l'image dans ses proportions sans déformation */
    border-radius: 8px; /* Coins arrondis pour l'image */
}

/* Section de la description à droite de l'image */
.modal-description-container {
    width: 50%; /* La description prend 50% de la largeur */
    padding-left: 20px; /* Espacement à gauche de la description */
    text-align: left;
}

/* Titre du modal */
#modal-title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    text-align: left;
    padding-left: 10px;
    margin-bottom: 15px; /* Espacement sous le titre */
}

/* Description sous l'image */
#modal-description {
    font-size: 16px;
    color: #555;
    line-height: 1.6;
    padding: 0 10px;
    text-align: left;
}

/* Bouton de fermeture */
.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    font-size: 30px;
    font-weight: bold;
    color: #fff;
    background-color: rgba(0, 0, 0, 0.5);
    border: none;
    border-radius: 50%;
    width: 30px;
    height: 30px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.close-btn:hover {
    background-color: rgba(0, 0, 0, 0.7); /* Effet hover pour le bouton */
}

@media screen AND (max-width: 1300px){
    .pub_container{
        width: 90%;
    }
    .cart{
        width: 200px;
    }

    .cart img.cover{
        height: 200px;
    }

    .boutique{
        padding: 20px 5%;
    }
}

@media screen AND (max-width: 1000px){
    .pub_container{
        grid-template-columns: repeat(4, 1fr);
    }
    .cart .vv ul.options li{
        transform: translateX(0px);
        opacity: 1;
    }
}

@media screen AND (max-width: 870px) {
    .pub_container .pub-box .title{
        transform: translateY(0px);
        z-index: 1;
        opacity: 1;
        background: linear-gradient(to bottom, transparent, rgba(0,0,0,0.3), rgba(0,0,0,0.4));
    }
    
    .pub_container .pub-box .like{
        transform: scale(1);
    }
    .content{
        grid-template-columns: repeat(3, 1fr);
    }

    .pub_container{
        grid-template-columns: repeat(3, 1fr);
    }
    .cart{
        width: 200px;
    }

    .boutique .box-prod .cart{
        width: 100%;
    }
}


@media screen AND (max-width: 700px) {

    .content{
        grid-template-columns: repeat(2, 1fr);
    }

    .pub_container .pub-box .title{
        font-size: 1rem;
    }
    
    .container .elements img{
        width: 75px;
        height: 75px;
    }

    .container .elements{
        gap: 5px;
    }

    .container .elements{
        padding-top: 10px;
        padding-left: 40px;
    }

    .contenus ul.infos li h1.titre{
        font-size: 1.5rem;
    }
    
    .contenus ul.infos li h3.depart{
        font-size: 1rem;
    }

    .contenus{
        gap: 0%;
        margin-left: 0px;
    }
     
    ul.nav{
        gap: 10px;
    }
    
    ul.nav li{
        cursor: pointer;
        letter-spacing: 1px;
        color: var(--noir);
        padding: 10px;
        transition: .2s ease-in;
        user-select: none;
        font-size: .8rem;
    }

    .pub_container .pub-box{
        height: 250px;
    }

    .cart a.chanel{
        width: 80%;
    }

    .cart .vv ul.options li{
        font-size: 1.1rem;
        font-weight: 200;
    }
}

@media screen AND (max-width: 495px) {
    .container .elements{
        padding-left: 20px;
    }

    a.ent p{
        font-size: 0.6rem;
    }

    .content .box_prod{
        height: 160px;
    }
    .cart a.chanel{
        width: 100%;
    }

    .cart-box{
        width: 300px;
    }

    .cart-flex td {
        padding: 6px;
    }

    .cart img.cover{
        height: 150px;
    }

    .cart{
        width: 150px;
    }
    .ri-file-copy-line{
        bottom: 20px;
    }
}


@media screen AND (max-width: 400px) {

    .container .elements{
        margin-bottom: 0px;
    }

    ul.nav li{
        margin-left: -10px;
    }

    .contenus ul.infos li h1.titre{
        font-size: 1.1rem;
    }
    
    .contenus ul.infos li h3.depart{
        letter-spacing: normal;
        margin-left: 5px;
    }

    .content .box_prod{
        height: 150px;
    }

    .text-items h4{
        font-size: 0.9rem;
        margin-bottom: 5px;
    }
    
    .text-items h5{
        font-size: 0.8rem;
        margin-bottom: 7px;
    }
    
    .text-items h3{
        color: var(--rose2);
        font-size: 0.9rem;
        margin-bottom: 10px;
    }

    .content{
        width: 100%;
        min-height: 50vh;
        display: grid;
        grid-gap: 10px;
        padding: 30px 4%;
    }

    .pub_container{
        grid-template-columns: repeat(2, 1fr);
        grid-gap: 20px 10px;
    }

    ul.nav li{
        letter-spacing: 0px;
    }
}


@media screen AND (max-width: 365px) {
    ul.nav li{
        font-size: 0.7rem;
    }
}