/* ---------- Boutique ---------- */
.boutique-hero { padding-bottom: 32px; }

.grid-boutique {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 26px;
}

.product-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--radius);
  overflow: hidden; display: flex; flex-direction: column; transition: .25s;
}
.product-card:hover { transform: translateY(-6px); box-shadow: var(--shadow); }

.product-thumb {
  position: relative; height: 170px; overflow: hidden;
  background: linear-gradient(135deg,#0ea5e9,#0891b2);
  display: grid; place-items: center;
}
.product-thumb-img img { width: 100%; height: 100%; object-fit: cover; position: relative; z-index: 1; }
.product-thumb-img.contain img { object-fit: contain; padding: 22px; background: #fff; }

.product-body { padding: 18px 20px 22px; display: flex; flex-direction: column; flex: 1; }
.product-body h3 { font-size: 1.2rem; }
.product-body p { margin: 0 0 18px; font-size: .92rem; color: var(--muted); flex: 1; }

.product-pay { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.product-pay .price { font-family: var(--serif); font-weight: 900; font-size: 1.25rem; }
.product-pay .btn { padding: 10px 18px; font-size: .9rem; white-space: nowrap; }

@media (max-width: 900px) {
  .grid-boutique { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 620px) {
  .grid-boutique { grid-template-columns: 1fr; }
}