/* =========================
   RESET
========================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial,sans-serif;
    background:#fafafa;
    color:#222;
    overflow-x:hidden;
}

.container{
    max-width:1400px;
    margin:auto;
    padding:0 15px;
}

/* =========================
   HEADER
========================= */

header{
    background:#111;
    color:#fff;
    position:sticky;
    top:0;
    z-index:1000;
}

.nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:18px 0;
}

.logo{
    font-size:30px;
    font-weight:bold;
    text-decoration:none;
    color:#fff;
    display:inline-block;
}

.logo span{
    color:#c9a227;
}

.logo:hover{
    opacity:.9;
}

.menu a{
    color:#fff;
    text-decoration:none;
    margin-left:20px;
}

/* =========================
   HERO
========================= */

.hero{
    height:75vh;
    background:
    linear-gradient(rgba(0,0,0,.55),rgba(0,0,0,.55)),
    url("imageshero.webp") center/cover no-repeat;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    color:#fff;
}

.hero h1{
    font-size:56px;
    margin-bottom:15px;
}

.hero p{
    font-size:20px;
    margin-bottom:20px;
}

/* =========================
   BUTTONS
========================= */

.btn{
    display:inline-block;
    background:#c9a227;
    color:#fff;
    text-decoration:none;
    padding:14px 28px;
    border-radius:8px;
}

.small-btn{
    display:inline-block;
    padding:8px 18px;
    background:#c9a227;
    color:#fff;
    border-radius:30px;
    font-size:14px;
    font-weight:600;
    text-decoration:none;
    transition:.3s;
}

.small-btn:hover{
    background:#111;
    transform:translateY(-2px);
}

/* =========================
   SECTIONS
========================= */

.section{
    padding:60px 0;
}

.section h2{
    text-align:center;
    margin-bottom:30px;
}

/* =========================
   CATEGORIES
========================= */

.grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
    gap:20px;
}

.cat{
    background:#fff;
    padding:25px;
    border-radius:15px;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    text-align:center;
    font-weight:600;
    font-size:18px;
    cursor:pointer;
    transition:.3s;
    position:relative;
    overflow:hidden;
    text-decoration:none;
    color:#222;
}

.cat:hover{
    color:#fff;
}

.cat::before{
    content:"";
    position:absolute;
    top:0;
    left:-100%;
    width:100%;
    height:100%;
    background:linear-gradient(
        90deg,
        transparent,
        rgba(255,255,255,.35),
        transparent
    );
    transition:.6s;
}

.cat:hover::before{
    left:100%;
}

.cat:hover{
    background:#111;
    color:#c9a227;
    transform:translateY(-8px);
    box-shadow:0 15px 30px rgba(0,0,0,.2);
}

/* =========================
   PRODUCTS
========================= */

.products{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,300px));
justify-content:center;
gap:35px;
}

.card{
background:#fff;
border-radius:16px;
overflow:hidden;
box-shadow:0 5px 15px rgba(0,0,0,.08);
transition:all .35s ease;
cursor:pointer;
border:2px solid transparent;
display:flex;
flex-direction:column;
height:100%;
}

.card:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.18);
    border-color:#c9a227;
}

.card img{
width:100%;
aspect-ratio:1/1;
object-fit:cover;
display:block;
transition:.4s;
}

.card:hover img{
    transform:scale(1.05);
}

.info{
padding:18px;
display:flex;
flex-direction:column;
flex:1;
}

.rating{
    color:#c9a227;
    font-size:14px;
    font-weight:bold;
}

.price{
    font-size:22px;
    font-weight:700;
    color:#c9a227;
    margin:8px 0;
}

.title{
font-size:20px;
font-weight:bold;
margin:10px 0;
line-height:1.4;
min-height:56px;
}

.card:hover .title{
    color:#c9a227;
}

.desc{
color:#666;
line-height:1.7;
min-height:72px;
}

.discount{
display:block;
margin-top:auto;
text-align:center;
background:#111;
color:#fff;
padding:12px;
border-radius:8px;
text-decoration:none;
transition:.3s;
}

.discount:hover{
    background:#c9a227;
    color:#fff;
}

/* =========================
   BLOG
========================= */

.blog-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(300px,340px));
justify-content:center;
gap:30px;
}

.blog{
background:#fff;
padding:20px;
border-radius:16px;
box-shadow:0 5px 15px rgba(0,0,0,.08);
transition:all .35s ease;
cursor:pointer;
border:2px solid transparent;
display:flex;
flex-direction:column;
height:100%;
text-decoration:none;
color:#222;
}

.blog:hover{
    transform:translateY(-10px);
    box-shadow:0 20px 40px rgba(0,0,0,.18);
    border-color:#c9a227;
}

.blog-image{
width:100%;
aspect-ratio:16/10;
object-fit:cover;
display:block;
border-radius:12px;
margin-bottom:15px;
transition:.4s;
}

.blog:hover .blog-image{
    transform:scale(1.05);
}

.blog h3{
font-size:22px;
line-height:1.4;
min-height:62px;
margin-bottom:10px;
transition:.3s;
}

.blog:hover h3{
    color:#c9a227;
}

.blog p{
color:#666;
line-height:1.7;
min-height:75px;
}

/* =========================
   FOOTER
========================= */

footer{
    background:#111;
    color:#ddd;
    padding:50px 0;
    margin-top:40px;
}

.footer-links{
    display:flex;
    flex-wrap:wrap;
    gap:20px;
    margin-top:20px;
}

.footer-links a{
    color:#ddd;
    text-decoration:none;
    transition:.3s;
}

.footer-links a:hover{
    color:#c9a227;
}

/* =========================
   MOBILE
========================= */

.menu-toggle{
    display:none;
    font-size:32px;
    cursor:pointer;
    color:#fff;
}

@media(max-width:768px){

    .hero h1{
        font-size:34px;
    }

    .hero p{
        font-size:16px;
    }

    .menu-toggle{
        display:block;
    }

    .menu{
        display:none;
        position:absolute;
        top:70px;
        right:15px;
        background:#111;
        width:220px;
        border-radius:12px;
        overflow:hidden;
        box-shadow:0 10px 30px rgba(0,0,0,.3);
    }

    .menu.active{
        display:block;
    }

    .menu a{
        display:block;
        margin:0;
        padding:15px 20px;
        border-bottom:1px solid rgba(255,255,255,.08);
    }

    .menu a:last-child{
        border-bottom:none;
    }
}