/* ==========================================
   CATEGORY PAGE
   ========================================== */

.category-page {

  max-width: 1500px;

  margin: 0 auto;

  padding:
    100px 5vw 120px;

}


/* ==========================================
   CATEGORY HEADER
   ========================================== */




/* ==========================================
   PRODUCT GRID
   ========================================== */

.product-grid {

  display: grid;

  grid-template-columns:
    repeat(3, minmax(0, 1fr));

  gap:
    50px 24px;

}


/* ==========================================
   PRODUCT CARD
   ========================================== */

.product-card {

  cursor: pointer;

  background: var(--white);

  border: 1px solid var(--border);

  border-radius: 6px;

  padding: 14px;

  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    box-shadow 0.25s ease;

}


.product-card:hover {

  transform:
    translate(-4px, -4px);

  border-color: var(--black);

  box-shadow:
    6px 6px 0px var(--black);

}


/* ==========================================
   IMAGE
   ========================================== */

.product-card-image {

  width: 100%;

  aspect-ratio:
    1 / 1.25;

  background: #e8e8e6;

  overflow: hidden;

  position: relative;

  border-radius: 4px;

}


.product-card-image img {

  width: 100%;

  height: 100%;

  object-fit: cover;

  display: block;

  transition:
    transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);

}


.product-card:hover .product-card-image img {

  transform:
    scale(1.03);

}


.badge-custom {

  position: absolute;

  top: 12px;

  left: 12px;

  background: var(--white);

  color: var(--black);

  border: 1px solid var(--black);

  font-size: 9px;

  font-weight: 850;

  letter-spacing: 0.08em;

  padding: 4px 10px;

  z-index: 3;

  text-transform: uppercase;

  border-radius: 20px;

  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.04);

}


.quick-view-bar {

  position: absolute;

  bottom: 0;

  left: 0;

  right: 0;

  background: var(--black);

  color: var(--white);

  font-size: 10px;

  font-weight: 800;

  letter-spacing: 0.15em;

  text-align: center;

  padding: 14px 0;

  transform:
    translateY(101%);

  transition:
    transform 0.35s cubic-bezier(0.16, 1, 0.3, 1);

  z-index: 2;

  text-transform: uppercase;

}


.product-card:hover .quick-view-bar {

  transform:
    translateY(0);

}


/* ==========================================
   PRODUCT INFORMATION
   ========================================== */

.product-card-info {

  padding-top: 18px;

  display: flex;

  justify-content: space-between;

  align-items: flex-start;

  gap: 16px;

}


.product-card-meta {

  display: flex;

  flex-direction: column;

  gap: 5px;

}


.product-card-info h2 {

  font-size: 15px;

  font-weight: 700;

  line-height: 1.35;

  letter-spacing: -0.01em;

  color: var(--black);

}


.product-card-fit {

  font-size: 11px;

  font-weight: 600;

  color: #777;

  text-transform: uppercase;

  letter-spacing: 0.05em;

}


.product-card-price {

  font-size: 16px;

  font-weight: 800;

  color: var(--black);

  white-space: nowrap;

}


/* ==========================================
   EMPTY STATE
   ========================================== */

.empty-state {

  padding:
    100px 20px;

  text-align: center;

}


.empty-state h2 {

  font-size: 40px;

  margin-bottom: 15px;

}


.empty-state p {

  color: #777;

}


/* ==========================================
   TABLET
   ========================================== */

@media (max-width: 1000px) {

  .product-grid {

    grid-template-columns:
      repeat(2, minmax(0, 1fr));

  }

}


/* ==========================================
   MOBILE
   ========================================== */

@media (max-width: 600px) {

  .category-page {

    padding:
      70px 20px 80px;

  }


  .category-header {

    margin-bottom: 50px;

  }


  .product-grid {

    grid-template-columns: 1fr;

    gap: 35px;

  }


  .product-card-info h2 {

    font-size: 15px;

  }

}

/* ==========================================
   BACK BUTTON
   ========================================== */

.back-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.1em;
  color: var(--black);
  text-transform: uppercase;
  margin-bottom: 30px;
  text-decoration: none;
  cursor: pointer;
}

.back-btn svg {
  display: block;
}