*{
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;
}

.filters {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 12px;
  padding: 20px;
  margin: 30px auto;
}

.filters button {
  background: rgba(0, 0, 0, 0.85);
  color: #fff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  padding: 12px 22px;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.5px;
  text-transform: uppercase;
  cursor: pointer;
  border-radius: 4px;
  transition: all 0.25s ease;
  position: relative;
  overflow: hidden;
  backdrop-filter: blur(4px);
}

.filters button::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    135deg,
    rgba(255, 255, 255, 0.25),
    rgba(255, 0, 51, 0)
  );
  opacity: 0;
  transition: opacity 0.25s ease;
}

.filters button:hover {
  transform: translateY(-2px);
  border-color: rgba(255, 255, 255, 0.5);
  box-shadow: 0 0 18px rgba(255, 0, 51, 0.35);
  color: #ff0000;
}

.filters button:hover::before {
  opacity: 1;
}

.filters button.active {
  background: #ff0000;
  border-color: #ff0000;
  color: #fff;
  box-shadow: 0 0 20px rgba(255, 0, 51, 0.5);
}

@media (max-width: 768px) {
  .filters {
    gap: 10px;
    padding: 15px;
  }

  .filters button {
    padding: 10px 16px;
    font-size: 0.8rem;
  }
}


