*{
margin:0;
padding:0;
box-sizing:border-box;
scroll-behavior:smooth;
}

:root{
--bg:#f8f1ea;
--card:#ffffff;
--text:#222;
--gold:#c89b3c;
--shadow:0 8px 25px rgba(0,0,0,0.08);
}

body.dark{
--bg:#121212;
--card:#1e1e1e;
--text:#f5f5f5;
--gold:#d9aa38;
}

body{
font-family:'Poppins',sans-serif;
background:var(--bg);
color:var(--text);
transition:.3s;
}

/* HEADER */

header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px 8%;
background:white;
box-shadow:0 2px 15px rgba(0,0,0,.08);
position:sticky;
top:0;
z-index:1000;
}

body.dark header{
background:#1a1a1a;
}

.logo-container{
display:flex;
align-items:center;
gap:15px;
}

.logo{
width:65px;
height:65px;
object-fit:cover;
border-radius:50%;
border:3px solid var(--gold);
}

.logo-container h1{
font-family:'Cinzel',serif;
font-size:2rem;
color:var(--gold);
}

nav ul{
display:flex;
list-style:none;
gap:30px;
}

nav a{
text-decoration:none;
color:var(--text);
font-weight:500;
transition:.3s;
}

nav a:hover{
color:var(--gold);
}

#darkModeBtn{
border:none;
background:var(--gold);
color:white;
padding:10px 14px;
border-radius:50%;
cursor:pointer;
font-size:1rem;
}

/* HERO */

.hero{
min-height:90vh;
display:flex;
justify-content:center;
align-items:center;
text-align:center;
padding:40px;
}

.hero-content{
max-width:800px;
}

.hero-logo{
width:180px;
height:180px;
object-fit:cover;
border-radius:50%;
border:5px solid var(--gold);
margin-bottom:25px;
box-shadow:var(--shadow);
}

.hero h2{
font-family:'Cinzel',serif;
font-size:4rem;
margin-bottom:20px;
}

.hero p{
font-size:1.1rem;
line-height:1.8;
max-width:650px;
margin:auto;
}

.btn{
display:inline-block;
margin-top:30px;
padding:15px 35px;
background:var(--gold);
color:white;
text-decoration:none;
border-radius:50px;
font-weight:600;
transition:.3s;
}

.btn:hover{
transform:translateY(-3px);
}

/* SECTION */

section{
padding:80px 8%;
}

.section-title{
text-align:center;
font-family:'Cinzel',serif;
font-size:3rem;
margin-bottom:30px;
color:var(--gold);
}

/* SEARCH */

#searchInput{
width:100%;
padding:15px;
border:2px solid var(--gold);
border-radius:50px;
margin-bottom:25px;
font-size:1rem;
}

/* FILTERS */

.filters{
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:15px;
margin-bottom:40px;
}

.filter-btn{
padding:12px 24px;
border:none;
background:#e8e0d6;
cursor:pointer;
border-radius:40px;
font-weight:600;
transition:.3s;
}

.filter-btn.active,
.filter-btn:hover{
background:var(--gold);
color:white;
}

/* PRODUCTS */

.product-grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
gap:30px;
}

.product-card{
background:var(--card);
padding:20px;
border-radius:20px;
box-shadow:var(--shadow);
text-align:center;
transition:.3s;
}

.product-card:hover{
transform:translateY(-8px);
}

.product-card img{
width:100%;
height:300px;
object-fit:cover;
border-radius:15px;
cursor:zoom-in;
}

.product-card h3{
margin-top:15px;
font-size:1.1rem;
}

.product-card p{
margin-top:10px;
font-size:1.2rem;
font-weight:600;
color:var(--gold);
}

.buy-btn{
margin-top:15px;
padding:12px 25px;
background:var(--gold);
border:none;
color:white;
border-radius:50px;
cursor:pointer;
font-weight:600;
transition:.3s;
}

.buy-btn:hover{
opacity:.9;
}

/* ABOUT */

#about{
text-align:center;
max-width:900px;
margin:auto;
}

#about h2{
font-family:'Cinzel',serif;
font-size:2.5rem;
color:var(--gold);
margin-bottom:20px;
}

#about p{
line-height:1.9;
font-size:1.05rem;
}

/* CONTACT */

#contact{
text-align:center;
}

#contact h2{
font-family:'Cinzel',serif;
font-size:2.5rem;
color:var(--gold);
margin-bottom:20px;
}

#contact p{
margin:10px 0;
}

.instagram-btn{
display:inline-block;
margin-top:20px;
padding:12px 30px;
background:#E1306C;
color:white;
text-decoration:none;
border-radius:40px;
}

/* FOOTER */

footer{
background:#111;
color:white;
text-align:center;
padding:25px;
margin-top:50px;
}

/* MOBILE */

@media(max-width:768px){

header{
flex-direction:column;
gap:15px;
}

nav ul{
flex-wrap:wrap;
justify-content:center;
gap:15px;
}

.hero h2{
font-size:2.5rem;
}

.hero-logo{
width:130px;
height:130px;
}

.logo-container h1{
font-size:1.5rem;
}

.section-title{
font-size:2rem;
}

}