/* ==========================================
        BOUTIQUE OFFICIELLE DÉBORAH BENISTY
========================================== */

body{

    margin:0;
    padding:0;

    background:#080808;
    color:#ffffff;

    font-family:Arial, Helvetica, sans-serif;

}


/* ===============================
            HERO
=============================== */

.shop-hero{

    position:relative;

    overflow:hidden;

    padding:140px 8% 20px;

    background:
    radial-gradient(circle at center,
    rgba(212,175,55,.10) 0%,
    rgba(0,0,0,.35) 40%,
    #000 100%);

}


/* halo lumineux */

.hero-glow{

    position:absolute;

    width:700px;
    height:700px;

    border-radius:50%;

    right:-120px;
    top:-60px;

    background:

    radial-gradient(circle,
    rgba(212,175,55,.22),
    transparent 72%);

    filter:blur(40px);

    z-index:0;

}


/* contenu */

.hero-content{

    position:relative;

    z-index:2;

    max-width:1450px;

    margin:auto;

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:60px;

}


/* colonne gauche */

.hero-left{

    width:52%;

}


/* badge */

.shop-badge{

    display:inline-block;

    padding:12px 26px;

    border-radius:40px;

    border:1px solid rgba(212,175,55,.35);

    background:rgba(212,175,55,.08);

    color:#d4af37;

    font-weight:bold;

    margin-bottom:30px;

}


/* titre */

.hero-left h1{

    font-size:78px;

    line-height:1.05;

    margin-bottom:28px;

}

.hero-left span{

    color:#d4af37;

}


/* texte */

.hero-left p{

    max-width:700px;

    font-size:23px;

    line-height:1.8;

    color:#d2d2d2;

}


/* bouton */

.hero-buttons{

    margin-top:45px;

}

.hero-btn{

    display:inline-block;

    padding:18px 42px;

    background:#d4af37;

    color:#111;

    text-decoration:none;

    border-radius:50px;

    font-weight:bold;

    transition:.35s;

}

.hero-btn:hover{

    background:white;

    transform:translateY(-5px);

}


/* photo */

.hero-right{

    width:48%;

    display:flex;

    justify-content:flex-end;

    align-items:flex-end;

    position:relative;

}


.hero-right img{

    width:100%;

    max-width:800px;

    display:block;

    vertical-align:bottom;

    opacity:.98;

    transition:.4s;

    filter:
    drop-shadow(0 0 60px rgba(212,175,55,.25));

    -webkit-mask-image:
    linear-gradient(to left,
    black 82%,
    transparent 100%);

    mask-image:
    linear-gradient(to left,
    black 82%,
    transparent 100%);

}

.hero-right img:hover{

    transform:scale(1.03);

}

/* =====================
      GRILLE PRODUITS
===================== */

.shop-grid{

    width:88%;

    max-width:1600px;

    margin:40px auto 120px;

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(420px,1fr));

    gap:45px;

}

/* =====================
        CARTES
===================== */

.product{

    background:#181818;

    border-radius:28px;

    overflow:hidden;

    border:1px solid #2b2b2b;

    transition:.40s;

    box-shadow:0 18px 55px rgba(0,0,0,.45);

}

.product:hover{

    transform:translateY(-12px);

    border-color:#d4af37;

    box-shadow:0 25px 70px rgba(212,175,55,.25);

}

/* =====================
      IMAGE PRODUIT
===================== */

.product-image{

    background:#222;

    height:420px;

    display:flex;

    justify-content:center;

    align-items:center;

    overflow:hidden;

}

.product-image img{

    width:85%;

    height:85%;

    object-fit:contain;

    transition:.45s;

}

.product:hover img{

    transform:scale(1.08);

}

/* =====================
      CONTENU
===================== */

.product-content{

    padding:38px;

}

.product h2{

    color:#d4af37;

    font-size:34px;

    margin-bottom:18px;

}

.product p{

    color:#d4d4d4;

    line-height:1.8;

    font-size:17px;

}

/* =====================
        PRIX
===================== */

.price{

    margin:28px 0;

    font-size:46px;

    color:#ffffff;

    font-weight:700;

}

/* =====================
      BOUTON
===================== */

.shop-btn{

    display:inline-block;

    padding:16px 42px;

    border-radius:45px;

    background:#d4af37;

    color:#111;

    text-decoration:none;

    font-weight:700;

    transition:.35s;

}

.shop-btn:hover{

    background:#ffffff;

    transform:scale(1.06);

    box-shadow:0 0 25px rgba(212,175,55,.45);

}

/* =====================
        BADGES
===================== */

.badge{

    display:inline-block;

    margin-top:22px;

    padding:10px 20px;

    border-radius:30px;

    background:#d4af37;

    color:#111;

    font-size:14px;

    font-weight:bold;

}

.badge.best{

    background:#ffce32;

}

.badge.new{

    background:#49c36f;

    color:white;

}

.badge.soon{

    background:#666;

    color:white;

}

/* =====================
      RESPONSIVE
===================== */

@media (max-width: 900px) {

    .shop-hero{

        padding:120px 25px 60px;

    }

    .hero-content{

        flex-direction:column;

        text-align:center;

        gap:35px;

    }

    .hero-left,
    .hero-right{

        width:100%;

    }

    .hero-left h1{

        font-size:52px;

        line-height:1.1;

    }

    .hero-left p{

        font-size:18px;

        max-width:100%;

    }

    .hero-buttons{

        margin-top:30px;

    }

    .hero-right{

        justify-content:center;

        align-items:center;

        margin-top:10px;

    }

    .hero-right img{

        max-width:420px;

        width:90%;

        -webkit-mask-image:none;
        mask-image:none;

    }

    .shop-grid{

        width:92%;

        grid-template-columns:1fr;

        gap:35px;

    }

    .product-image{

        height:320px;

    }

    .product h2{

        font-size:28px;

    }

    .price{

        font-size:38px;

    }

    .shop-info{

        grid-template-columns:1fr;

        gap:20px;

        width:92%;

    }

}