/* ===== PRODUCT CARD (home teaser grid + shop listing) ===== */
.products-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:36px;}
.product-card{
  background:var(--white); border-radius:36px; overflow:visible; padding:20px 20px 26px;
  transition:transform .4s cubic-bezier(.34,1.4,.64,1), box-shadow .4s ease;
  box-shadow:0 8px 24px rgba(59,36,24,.05);
}
.product-card:hover{box-shadow:0 30px 50px rgba(59,36,24,.12); transform:translateY(-6px);}
.product-img{
  aspect-ratio:1/1; position:relative; overflow:hidden; margin-bottom:18px;
  background:linear-gradient(145deg,#d8c299,#b08c56);
  border-radius:58% 42% 45% 55%/50% 55% 45% 50%;
  transition:border-radius .5s cubic-bezier(.34,1.4,.64,1);
}
.product-card:hover .product-img{border-radius:50%;}
.product-img img{width:100%; height:100%; object-fit:cover; transition:transform .6s ease;}
.product-card:hover .product-img img{transform:scale(1.08);}
.pill-badge{
  position:absolute; top:14px; left:14px; background:var(--beige); color:var(--brown);
  font-size:11px; font-weight:700; padding:6px 14px; border-radius:100px; letter-spacing:.3px; z-index:2;
}
.wish-btn{
  position:absolute; top:12px; right:12px; width:38px; height:38px; border-radius:50%; z-index:2;
  background:rgba(255,255,255,.92); display:flex; align-items:center; justify-content:center;
  transition:all .25s cubic-bezier(.34,1.4,.64,1);
}
.wish-btn svg{width:18px; height:18px; stroke:var(--brown); fill:none; stroke-width:1.7;}
.wish-btn:hover{transform:scale(1.15); border-radius:40% 60% 60% 40%/60% 40% 60% 40%;}
.wish-btn.active svg, .wish-btn:hover svg{fill:var(--green); stroke:var(--green);}
.product-info{padding:0 6px;}
.product-info h3{font-size:19px; margin-bottom:4px;}
.product-info .weight{font-size:13px; color:var(--brown-muted); margin-bottom:12px;}
.product-meta{display:flex; align-items:center; gap:10px; margin-bottom:16px;}
.protein-pill{background:var(--cream); border:1px solid var(--line); font-size:11.5px; font-weight:700; padding:5px 12px; border-radius:100px; color:var(--green);}
.price-row{display:flex; align-items:center; justify-content:space-between; margin-bottom:16px; gap:10px;}
.price{font-family:var(--serif); font-size:22px; font-weight:600;}
.price .was{font-size:14px; color:var(--brown-muted); text-decoration:line-through; font-weight:400; margin-right:6px;}
.stepper{display:flex; align-items:center; border:1px solid var(--line); border-radius:100px; overflow:hidden;}
.stepper button{width:30px; height:30px; font-size:16px; color:var(--brown-muted);}
.stepper span{font-size:13px; font-weight:600; padding:0 8px;}
.add-cart{width:100%; padding:14px; border-radius:100px; background:var(--green); color:var(--cream); font-size:14px; font-weight:600; transition:all .3s cubic-bezier(.34,1.4,.64,1);}
.add-cart:hover{background:var(--green-dark); transform:scale(1.02);}
.add-cart:disabled{background:var(--line); color:var(--brown-muted); cursor:not-allowed;}

/* ===== SHOP LISTING TOOLBAR ===== */
.shop-toolbar{display:flex; align-items:center; justify-content:space-between; gap:20px; flex-wrap:wrap; margin-bottom:40px;}
.shop-filters{display:flex; gap:10px; flex-wrap:wrap;}
.filter-chip{padding:10px 20px; border-radius:100px; border:1.5px solid var(--line); font-size:13px; font-weight:600; color:var(--brown-muted); transition:all .25s ease;}
.filter-chip.active, .filter-chip:hover{border-color:var(--green); color:var(--brown); background:var(--cream);}
.shop-search{display:flex; gap:8px;}
.shop-search input{padding:12px 18px; border-radius:100px; border:1px solid var(--line); background:var(--white); font-size:13.5px; outline:none; min-width:220px;}
.shop-search input:focus{border-color:var(--green);}
.shop-sort select{padding:12px 18px; border-radius:100px; border:1px solid var(--line); background:var(--white); font-size:13.5px; color:var(--brown);}
.empty-note{background:var(--cream); border-radius:28px; padding:24px 30px; margin-top:20px; font-size:14px; color:var(--brown-muted); text-align:center;}
.pagination{display:flex; justify-content:center; gap:8px; margin-top:56px;}
.pagination a, .pagination span{width:40px; height:40px; border-radius:50%; display:flex; align-items:center; justify-content:center; font-size:13.5px; font-weight:600; border:1px solid var(--line); color:var(--brown-muted);}
.pagination a:hover{border-color:var(--green); color:var(--green);}
.pagination .current{background:var(--green); border-color:var(--green); color:var(--cream);}

/* ===== PRODUCT DETAIL ===== */
.pd-layout{display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; margin-bottom:60px;}
.pd-gallery-main{aspect-ratio:1/1; border-radius:56% 44% 48% 52%/50% 54% 46% 50%; overflow:hidden; background:linear-gradient(145deg,#d8c299,#b08c56); box-shadow:0 30px 60px rgba(59,36,24,.12);}
.pd-gallery-main img{width:100%; height:100%; object-fit:cover;}
.pd-thumbs{display:flex; gap:12px; margin-top:16px;}
.pd-thumbs img{width:64px; height:64px; border-radius:50%; object-fit:cover; border:2px solid var(--line); cursor:pointer;}
.pd-info h1{font-size:34px; margin-bottom:8px;}
.pd-price-row{display:flex; align-items:baseline; gap:12px; margin:18px 0;}
.pd-price{font-family:var(--serif); font-size:30px; font-weight:600;}
.pd-price .was{font-size:18px; color:var(--brown-muted); text-decoration:line-through; font-weight:400;}
.pd-stock{font-size:13px; font-weight:600; color:var(--green); margin-bottom:24px;}
.pd-stock.out{color:var(--danger);}
.pd-actions{display:flex; gap:14px; align-items:center; margin-bottom:32px;}
.pd-tabs{display:flex; gap:8px; border-bottom:1px solid var(--line); margin-bottom:24px;}
.pd-tab{padding:14px 4px; margin-right:24px; font-size:14px; font-weight:600; color:var(--brown-muted); border-bottom:2px solid transparent; cursor:pointer;}
.pd-tab.active{color:var(--brown); border-color:var(--green);}
.pd-tab-panel{display:none; color:var(--brown-muted); font-size:14.5px; line-height:1.8;}
.pd-tab-panel.active{display:block;}

.related-heading{font-size:28px; margin:80px 0 28px;}
