/*
  Template-only styles for `product_list_v2.php`
  Loaded automatically via Kirby's `@auto` in `site/snippets/header.php`.
*/

.product_list.product-grid {
  --grid-cols: 4;
  --grid-gap: 2px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-content: start;
  gap: var(--grid-gap);
  padding: 0;
  background: #000;
  box-sizing: border-box;
  height: 100%;

  white-space: normal;
  line-height: normal;

  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}

.product-card {
  display: flex;
  flex-direction: column;
  min-width: 0;
  background: #fff;
}

.product-card--placeholder {
  pointer-events: none;
}

.product-card__media {
  background: #fff;
  flex: 0 0 auto;
  position: relative;
}

.product-card__image {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
}

.product-card__image--thumb {
  position: relative;
  overflow: hidden;
  background: var(--thumb-bg, #f0f0eb);
}

.product-card[data-divider-right="light"] .product-card__media::after {
  content: '';
  position: absolute;
  top: 0;
  right: calc(var(--grid-gap) * -1);
  width: calc(var(--grid-gap) - 1px);
  height: 100%;
  background: #fff;
  pointer-events: none;
}

.product-card__thumb {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
}

.product-card__image--placeholder {
  background: #f0f0eb;
}

.product-card__meta {
  --meta-font-size-base: calc(10px + 0.5vw);
  --meta-line-height: calc(var(--meta-font-size-base) * 1.2);
  --meta-pad: 0.5vw;
  padding: var(--meta-pad);
  display: flex;
  flex-direction: column;
  text-align: left;
  border-top: 2px solid #000;
  font-size: var(--meta-font-size-base);
  line-height: var(--meta-line-height);
  min-height: calc(var(--meta-line-height) * 3);
}

.product-card__meta-top {
  display: flex;
  align-items: baseline;
  gap: 1vw;
  font-size: var(--meta-top-font-size, var(--meta-font-size-base));
}

.product-card__name {
  flex: 1;
  min-width: 0;
  font-family: 'NHass', 'Noto Sans KR', sans-serif;
  font-size: inherit;
  line-height: inherit;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-card__price {
  flex: none;
  margin-left: auto;
  font-family: 'NHass', sans-serif;
  font-size: inherit;
  line-height: inherit;
  text-align: right;
  white-space: nowrap;
}

.product-card__dimension,
.product-card__materials {
  font-family: 'NHass', 'Noto Sans KR', sans-serif;
  line-height: inherit;
  opacity: 0.85;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.product-card__dimension {
  font-size: var(--meta-dimension-font-size, var(--meta-font-size-base));
}

.product-card__materials {
  font-size: var(--meta-materials-font-size, var(--meta-font-size-base));
}

.product-card__sep {
  padding: 0 0.1em;
  opacity: 0.9;
}

@media screen and (max-width: 1600px) {
  .product_list.product-grid {
    --grid-cols: 3;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media screen and (max-width: 1100px) {
  .product_list.product-grid {
    --grid-cols: 2;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media screen and (max-width: 800px) {
  .product_list.product-grid {
    --grid-cols: 1;
    grid-template-columns: 1fr;
  }

  .product-card__meta {
    --meta-font-size-base: 4.2vw;
    --meta-pad: 2.5vw;
  }
}
