*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
}

body{
background:#f8f9f7;
color:#111;
}

img{
width:100%;
height:100%;
object-fit:cover;
}

.header{
position:fixed;
top:0;
width:100%;
padding:clamp(1rem,2vw,2rem);
background:white;
display:grid;
grid-template-columns:1fr auto;
align-items:center;
box-shadow:0 5px 20px rgba(0,0,0,.05);
z-index:1000;
}

.logo{
font-weight:700;
letter-spacing:.2em;
}

.cart-button{
background:none;
border:none;
cursor:pointer;
position:relative;
font-size:1.2rem;
}

.cart-count{
position:absolute;
top:-6px;
right:-10px;
background:black;
color:white;
font-size:.7rem;
padding:.2em .5em;
border-radius:999px;
}

main{
padding-top:80px;
}

.banner{
position:relative;
min-height:70svh;
display:grid;
place-items:center;
overflow:hidden;
}

.banner-bg{
position:absolute;
inset:0;
}

.banner-bg img{
width:100%;
height:100%;
object-fit:cover;
}

.banner h1{
font-size:clamp(2rem,5vw,4rem);
}

.banner p{
opacity:.7;
}

.banner-content{
position:relative;
z-index:2;
display:grid;
place-items:center;
text-align:center;
gap:1.5rem;
padding:clamp(2rem,6vw,5rem) clamp(1rem,4vw,3rem);
color:white;
border-radius: 20px;
}

.button{
padding:.8em 1.5em;
background:black;
color:white;
border:none;
cursor:pointer;
transition:.3s;
justify-self:center;
}

.button:hover{
transform:translateY(-3px);
}

.products{
padding:clamp(1rem,5vw,4rem);
display:grid;
grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
gap:clamp(1rem,3vw,2rem);
}

.card{
background:white;
padding:1rem;
border-radius:1.5rem;
display:grid;
gap:.7rem;
transition:.4s;
}

.card:hover{
transform:translateY(-8px);
box-shadow:0 20px 40px rgba(0,0,0,.08);
}

.img-wrap{
aspect-ratio:4/5;
border-radius:1rem;
overflow:hidden;
}

.price{
font-weight:600;
}

.cart{
position:fixed;
right:-100%;
top:0;
width:min(90vw,350px);
height:100svh;
background:white;
padding:clamp(1rem,3vw,2rem);
box-shadow:-10px 0 30px rgba(0,0,0,.1);
transition:.4s;
display:grid;
align-content:start;
gap:1rem;
z-index:2000;
}

.cart.active{
right:0;
}

.cart-item{
display:grid;
grid-template-columns:1fr auto;
}

.floating{
animation:float 6s ease-in-out infinite;
}

@keyframes float{
0%,100%{transform:translateY(0)}
50%{transform:translateY(-12px)}
}

.cart-close{
position:absolute;
top:1rem;
right:1rem;
background:none;
border:none;
font-size:1.2rem;
cursor:pointer;
}

.button a {
    text-decoration: none;
}


