.shop-header {
  padding: 70px 8% 35px;
}

.shop-header h1 {
  font-size: clamp(42px, 7vw, 80px);
}

.shop-header p {
  color: var(--gray);
  margin-top: 12px;
}

.filters {
  padding: 0 8% 30px;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr;
  gap: 15px;
}

.filters input,
.filters select {
  border: 1px solid var(--border);
  padding: 15px;
  border-radius: var(--radius-sm);
  background: var(--white);
}

.products-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 28px;
}

.product-card {
  background: var(--white);
  border-radius: var(--radius-lg);
  overflow: hidden;
  box-shadow: var(--shadow);
  transition: var(--transition);
}

.product-card:hover {
  transform: translateY(-8px);
}

.product-image {
  height: 330px;
  background: linear-gradient(135deg, #111, #d8c3aa);
  display: grid;
  place-items: center;
  color: var(--white);
  font-size: 50px;
}

.product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.product-info {
  padding: 22px;
}

.product-category {
  color: var(--gray);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 2px;
}

.product-info h3 {
  margin: 10px 0;
  font-size: 20px;
}

.product-price {
  font-weight: 900;
  margin-bottom: 18px;
}

.product-actions {
  display: grid;
  grid-template-columns: 1fr 46px;
  gap: 10px;
}

.product-detail {
  width: min(1100px, 90%);
  margin: auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 45px;
  align-items: center;
}

.product-detail-image {
  min-height: 560px;
  border-radius: var(--radius-lg);
  background: linear-gradient(135deg, #111, #d8c3aa);
  display: grid;
  place-items: center;
  color: white;
  font-size: 80px;
}

.product-detail-info {
  background: var(--white);
  padding: 45px;
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow);
}

.product-detail-info h1 {
  font-size: clamp(36px, 5vw, 60px);
  margin: 15px 0;
}

.size-options {
  display: flex;
  gap: 10px;
  margin: 20px 0;
}

.size-options button {
  padding: 12px 16px;
  border: 1px solid var(--border);
  background: var(--white);
  border-radius: var(--radius-sm);
}