:root {
  --royal:#1e3a8a;
  --gold:#f9d342;
  --dark:#0f172a;
}

/* ================= HEADER ================= */
.shop-header{
  background:var(--royal);
  color:white;
  text-align:center;
  padding:40px 20px;
  border-bottom:4px solid var(--gold);
}

.shop-header h2{
  font-weight:800;
  letter-spacing:.5px;
}

.shop-header p{
  opacity:.9;
}

/* ================= FILTERS ================= */
#shopFilters{
  gap:10px;
}

.filter-btn{
  border:none;
  padding:8px 18px;
  border-radius:30px;
  background:#f1f1f1;
  font-weight:600;
  cursor:pointer;
  transition:.3s;
}

.filter-btn:hover{
  background:#e5e7eb;
}

.filter-btn.active{
  background:var(--gold);
  color:#000;
}

/* ================= PRODUCT CARD ================= */
.product-card{
  background:white;
  border-radius:18px;
  box-shadow:0 6px 25px rgba(0,0,0,0.08);
  overflow:hidden;
  transition:.3s;
  height:100%;
  display:flex;
  flex-direction:column;
}

.product-card:hover{
  transform:translateY(-6px);
  box-shadow:0 14px 30px rgba(0,0,0,0.16);
}

/* Clickable area */
.product-card .click-area{
  cursor:pointer;
}

/* ================= IMAGE ================= */
.img-wrap{
  background:#f8fafc;
}

.img-wrap img{
  width:100%;
  height:220px;
  object-fit:cover;
  transition:.3s;
}

.product-card:hover .img-wrap img{
  transform:scale(1.04);
}

/* ================= CONTENT ================= */
.content{
  padding:15px;
  text-align:center;
}

.product-title{
  font-size:15px;
  font-weight:700;
  color:var(--dark);
  margin-bottom:4px;
}

.content small{
  font-size:12px;
}

/* ================= BOTTOM ================= */
.content-bottom{
  padding:15px;
  margin-top:auto;
}

/* ================= BUTTON ================= */
.btn-add{
  width:100%;
  padding:10px;
  border-radius:30px;
  background:var(--gold);
  border:none;
  font-weight:700;
  transition:.25s;
}

.btn-add:hover{
  background:#facc15;
}

.btn-add.added{
  background:#16a34a;
  color:#fff;
}

/* ================= VARIANT ================= */
.variant{
  margin-bottom:10px;
  border-radius:10px;
  font-size:14px;
}

/* ================= RESPONSIVE ================= */
@media (max-width:768px){
  .img-wrap img{
    height:180px;
  }
}
