/* ===== PROFESSIONAL PRODUCT CARD ===== */
:root {
  --pc-primary: #431405;
  --pc-green: #28a745;
  --pc-red: #dc3545;
  --pc-orange: #fd7e14;
  --pc-gold: #ffc107;
}

/* ---- Grid wrapper: equal-height rows ---- */
.pc-grid-row {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -10px;
}

.pc-grid-col {
  padding: 0 10px 20px;
  display: flex;
}

/* ---- Card shell ---- */
.pc-card {
  background: #fff;
  border-radius: 14px;
  overflow: hidden;
  border: 1px solid #ede8e3;
  transition: transform 0.25s ease, box-shadow 0.25s ease;
  width: 100%;
  display: flex;
  flex-direction: column;
  box-shadow: 0 2px 8px rgba(67,20,5,0.06);
}

.pc-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 16px 36px rgba(67,20,5,0.14);
}

/* --- Badges --- */
.pc-badges {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.pc-badge-size {
  background: #17a2b8;
  color: #fff;
  font-size: 0.68rem;
  font-weight: 600;
  padding: 3px 9px;
  border-radius: 20px;
  display: inline-block;
  letter-spacing: 0.3px;
}

.pc-badge-offer {
  background: var(--pc-red);
  color: #fff;
  font-size: 0.68rem;
  font-weight: 700;
  padding: 3px 9px;
  border-radius: 20px;
  display: inline-block;
  letter-spacing: 0.3px;
}

/* --- Image --- */
.pc-img-link {
  display: block;
  overflow: hidden;
  background: #faf6f3;
}

.pc-img {
  width: 100%;
  height: 240px;
  object-fit: cover;
  transition: transform 0.35s ease;
  display: block;
}

.pc-card:hover .pc-img {
  transform: scale(1.05);
}

.pc-img-placeholder {
  width: 100%;
  height: 240px;
  background: #f8f4f1;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* --- Body --- */
.pc-body {
  padding: 14px 16px 16px;
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 0;
}

.pc-name {
  font-size: 0.95rem;
  font-weight: 700;
  color: var(--pc-primary);
  text-decoration: none;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-height: 1.4;
  margin-bottom: 3px;
  min-height: 2.8em;
}

.pc-name:hover { color: #7a2a10; }

.pc-type {
  font-size: 0.75rem;
  color: #999;
  margin: 0 0 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

/* --- Ratings --- */
.pc-rating {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-bottom: 8px;
}

.pc-stars {
  color: var(--pc-gold);
  font-size: 0.72rem;
  letter-spacing: 1px;
}

.pc-rating-count {
  font-size: 0.7rem;
  color: #aaa;
}

/* --- Price --- */
.pc-price {
  display: flex;
  align-items: baseline;
  gap: 7px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}

.pc-price-final {
  font-size: 1.1rem;
  font-weight: 800;
  color: var(--pc-primary);
}

.pc-price-original {
  font-size: 0.8rem;
  color: #bbb;
  text-decoration: line-through;
}

/* --- Stock --- */
.pc-stock {
  font-size: 0.72rem;
  font-weight: 600;
  margin-bottom: 12px;
}

.pc-in-stock  { color: var(--pc-green); }
.pc-low-stock { color: var(--pc-orange); }
.pc-out-stock { color: var(--pc-red); }

/* --- Action button --- */
.pc-action {
  margin-top: auto;
}

.pc-btn-cart {
  background: var(--pc-primary);
  color: #fff;
  border: none;
  border-radius: 8px;
  padding: 9px 18px;
  font-size: 0.82rem;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.25s;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  justify-content: center;
  letter-spacing: 0.2px;
}

.pc-btn-cart:hover {
  background: #6b2010;
  color: #fff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(67,20,5,0.25);
}

.pc-btn-cart.btn-success {
  background: var(--pc-green) !important;
  color: #fff !important;
}

.pc-btn-cart.btn-success:hover {
  background: #218838 !important;
}

.pc-btn-disabled {
  background: #e9e9e9 !important;
  color: #999 !important;
  cursor: not-allowed;
  border-radius: 8px;
  padding: 9px 18px;
  font-size: 0.82rem;
  font-weight: 600;
  border: none;
  width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

/* Wishlist button override for card */
.pc-card .btn-wishlist {
  top: 10px;
  right: 10px;
  z-index: 6;
}

/* ---- Swiper card sizing (homepage) ---- */
.swiper-slide .pc-card .pc-img,
.swiper-slide .pc-card .pc-img-placeholder {
  height: 220px;
}

/* ---- Responsive image heights ---- */
@media (max-width: 768px) {
  .pc-img,
  .pc-img-placeholder {
    height: 200px;
  }
  .swiper-slide .pc-card .pc-img,
  .swiper-slide .pc-card .pc-img-placeholder {
    height: 180px;
  }
}

@media (max-width: 576px) {
  .pc-img,
  .pc-img-placeholder {
    height: 180px;
  }
}
