/* =========================================================
   Sabinweb Products Archive & Single Product Styling
   Inheriting exact font, typography, colors, borders & geometry
   ========================================================= */

/* Filter panel active state */
.filter-select.is-active {
  background: var(--orange) !important;
  color: #fff !important;
  font-weight: 700;
  box-shadow: 0 4px 14px rgba(246, 107, 14, 0.28);
}
.filter-select {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-decoration: none;
  transition: all 0.18s ease;
}
.filter-select:hover:not(.is-active) {
  background: #f7f9fa;
  color: var(--orange);
}

/* Product Card customizations inside archive-grid */
.sw-product-archive-card {
  height: 442px !important;
  position: relative;
}
.card-media-wrap {
  display: block;
  height: 148px;
  overflow: hidden;
  border-radius: 12px;
  border: 1px solid #e8edf0;
  background: #f8fafb;
}
.card-media-wrap .card-media {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.25s ease;
}
.sw-product-archive-card:hover .card-media {
  transform: scale(1.03);
}
.card-media-placeholder {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #f5f7f9, #edf1f4);
}
.card-media-placeholder img {
  opacity: 0.75;
}

.product-type-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 6px;
}
.product-type-row .badge {
  font-size: 10.5px;
  font-weight: 700;
  color: var(--orange);
  background: var(--orange-soft);
  padding: 2px 8px;
  border-radius: 5px;
}
.product-type-row .version-tag {
  font-size: 10px;
  color: #8c959d;
  font-weight: 600;
}

.sw-product-archive-card .project-body h3 {
  font-size: 15.5px;
  line-height: 1.6;
  margin-bottom: 4px;
}
.sw-product-archive-card .project-body>p {
  font-size: 12px;
  line-height: 1.95;
  color: #7b868f;
  height: 48px;
  overflow: hidden;
  margin-bottom: 8px;
}

.sw-product-archive-card footer {
  height: 60px;
  display: grid;
  grid-template-columns: 44px 1fr auto;
  gap: 10px;
  align-items: center;
  direction: ltr;
  padding: 0;
  border-top: 1px solid #edf0f2;
}
.sw-product-archive-card footer .price-box {
  background: #f5f6f8;
  border-radius: 8px;
  height: 48px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 0 10px;
  direction: rtl;
}
.sw-product-archive-card footer .price-box strong {
  font-size: 13.5px;
  color: var(--navy);
  line-height: 1.2;
}
.sw-product-archive-card footer .price-box small {
  font-size: 9px;
  color: #88939b;
}
.sw-product-archive-card footer .action-box .details-link {
  font-size: 11.5px;
  font-weight: 700;
  color: var(--orange);
  padding: 8px 12px;
  border-radius: 6px;
  border: 1px solid rgba(246, 107, 14, 0.25);
  background: #fff;
  transition: all 0.18s ease;
  white-space: nowrap;
}
.sw-product-archive-card footer .action-box .details-link:hover {
  background: var(--orange-soft);
  border-color: var(--orange);
}

/* Single Product Overrides */
.product-detail .detail-copy h1 {
  font-size: 34px;
  margin-bottom: 12px;
}
.product-overview-grid {
  grid-template-columns: 210px 1fr !important;
  gap: 40px !important;
}
.product-features-grid {
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)) !important;
}

@media(max-width: 900px) {
  .sw-product-archive-card {
    height: auto !important;
  }
  .product-overview-grid {
    grid-template-columns: 1fr !important;
  }
}
