/* ============================================================
   Packagly — product/related-products.css
   Depends on: common.css (variables, reset, icon helpers)
   Responsive @media rules live in responsive.css
   ============================================================ */

/* ============================================================
   RELATED PRODUCTS  (auto slider — 4 cards + view-all box)
   ============================================================ */
.related-section {
  background: #ffffff;
  padding: 12px 0 64px;
}
.related-head {
  text-align: center;
  margin-bottom: 30px;
}
.related-heading {
  margin: 0;
  font-size: clamp(22px, 2.8vw, 30px);
  font-weight: 800;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  color: #15241b;
}
.related-heading .accent {
  color: var(--green);
}
.related-sub {
  margin: 8px 0 0;
  font-size: 14px;
  color: #5d6b62;
}

/* row = sliding viewport (4 cards) + fixed view-all */
.related-row {
  display: flex;
  gap: 20px;
  align-items: stretch;
}
.related-viewport {
  flex: 1 1 0;
  min-width: 0;
  overflow: hidden;
}
.related-track {
  display: flex;
  gap: 20px;
  will-change: transform;
}

/* cards + view-all share the same box look */
.related-card,
.related-viewall {
  flex: 0 0 auto;
  display: flex;
  flex-direction: column;
  background: #f6f7f5;
  border: 1px solid #e7ebe7;
  border-radius: 14px;
  padding: 16px;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}
.related-card:hover,
.related-viewall:hover {
  border-color: var(--green);
  box-shadow: 0 12px 26px rgba(20, 36, 27, 0.1);
  transform: translateY(-3px);
}
.related-thumb {
  position: relative;
  height: 150px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 14px;
}
.related-thumb::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 84%;
  height: 70%;
  background: radial-gradient(ellipse at center, rgba(112, 174, 19, 0.12), transparent 70%);
  border-radius: 50%;
}
.related-thumb img {
  position: relative;
  z-index: 1;
  max-width: 86%;
  max-height: 100%;
  object-fit: contain;
}
.related-viewall-ico {
  position: relative;
  z-index: 1;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: #eef5e3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.related-viewall-ico img {
  width: 28px;
  height: 28px;
}
.related-foot {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
}
.related-name {
  font-size: 13.5px;
  font-weight: 700;
  color: #16241c;
}
.related-arrow {
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  opacity: 0.5;
  transition: transform 0.2s ease;
}
.related-card:hover .related-arrow,
.related-viewall:hover .related-arrow {
  transform: translateX(3px);
}
