/* Product-list layout/search hotfix 0.14.7 */

/* 가로형 ON: 한 상품을 1행 구조로 안정적으로 배치 */
.product-list.db-horizontal-view .db-product-row {
  display: grid;
  grid-template-columns: 30px 138px minmax(175px, .8fr) minmax(330px, 1.35fr) 150px 132px;
  gap: 18px;
  align-items: center;
  min-height: 236px;
  padding: 30px 0;
}

.product-list.db-horizontal-view .db-product-row .row-check {
  align-self: start;
}

.product-list.db-horizontal-view .db-product-row .row-image {
  width: 138px;
  height: 138px;
}

.product-list.db-horizontal-view .db-product-row .row-info,
.product-list.db-horizontal-view .db-product-row .row-options,
.product-list.db-horizontal-view .db-product-row .row-price-tools,
.product-list.db-horizontal-view .db-product-row .row-actions {
  min-width: 0;
}

.product-list.db-horizontal-view .db-product-row .row-options {
  align-self: center;
}

.product-list.db-horizontal-view .db-product-row .option-list li {
  grid-template-columns: minmax(105px, 1fr) 92px 76px;
  gap: 10px;
}

.product-list.db-horizontal-view .db-product-row .row-price-tools {
  width: 150px;
  justify-self: center;
}

.product-list.db-horizontal-view .db-product-row .row-actions {
  display: grid;
  grid-template-columns: 1fr;
  gap: 7px;
  width: 132px;
  justify-self: end;
}

.product-list.db-horizontal-view .db-product-row .row-actions button,
.product-list.db-horizontal-view .db-product-row .row-actions a {
  width: 132px;
  min-width: 132px;
  min-height: 42px;
  padding: 0 8px;
  white-space: nowrap;
}

/* 가로형 OFF: 2~3단 구조로 충분한 버튼 폭 확보 */
.product-list.db-compact-view .db-product-row {
  display: grid;
  grid-template-columns: 30px 126px minmax(0, 1fr) 164px;
  grid-template-areas:
    "check image info price"
    "check image options options"
    "check image actions actions";
  gap: 14px 20px;
  align-items: start;
  min-height: 248px;
  padding: 28px 0 30px;
}

.product-list.db-compact-view .db-product-row .row-check { grid-area: check; }
.product-list.db-compact-view .db-product-row .row-image {
  grid-area: image;
  width: 126px;
  height: 126px;
}
.product-list.db-compact-view .db-product-row .row-info { grid-area: info; }
.product-list.db-compact-view .db-product-row .row-options {
  grid-area: options;
  min-width: 0;
  padding-top: 2px;
}
.product-list.db-compact-view .db-product-row .row-price-tools {
  grid-area: price;
  align-self: start;
  width: 154px;
  justify-self: end;
}
.product-list.db-compact-view .db-product-row .row-actions {
  grid-area: actions;
  display: grid;
  grid-template-columns: repeat(3, minmax(120px, 1fr));
  gap: 8px;
  width: 100%;
  max-width: 520px;
  justify-self: end;
  align-self: end;
}
.product-list.db-compact-view .db-product-row .row-actions button,
.product-list.db-compact-view .db-product-row .row-actions a {
  width: 100%;
  min-width: 0;
  min-height: 42px;
  padding: 0 12px;
  white-space: nowrap;
}
.product-list.db-compact-view .db-product-row .option-list li {
  grid-template-columns: minmax(120px, 1fr) 96px 86px;
  gap: 12px;
}

/* 결과 0건일 때 legacy 행이 레이아웃 공간을 차지하지 않게 처리 */
.product-list .db-product-row[hidden] {
  display: none !important;
}

/* 검색/도구 영역의 폭 안정화 */
.listing-page .list-toolbar {
  grid-template-columns: minmax(170px, 1fr) minmax(260px, 340px) auto;
}
.listing-page .list-tools {
  flex-wrap: nowrap;
  min-width: 0;
}
.listing-page .page-size-control select { min-width: 142px; }
.listing-page .sort-control select { min-width: 128px; }

@media (max-width: 1380px) {
  .product-list.db-horizontal-view .db-product-row {
    grid-template-columns: 28px 118px minmax(150px, .75fr) minmax(280px, 1.2fr) 138px 120px;
    gap: 14px;
  }
  .product-list.db-horizontal-view .db-product-row .row-image {
    width: 118px;
    height: 118px;
  }
  .product-list.db-horizontal-view .db-product-row .row-price-tools { width: 138px; }
  .product-list.db-horizontal-view .db-product-row .row-actions,
  .product-list.db-horizontal-view .db-product-row .row-actions button,
  .product-list.db-horizontal-view .db-product-row .row-actions a {
    width: 120px;
    min-width: 120px;
  }
  .product-list.db-horizontal-view .db-product-row .option-list li {
    grid-template-columns: minmax(90px, 1fr) 86px 68px;
    gap: 8px;
  }
}

@media (max-width: 1180px) {
  .product-list.db-horizontal-view .db-product-row {
    grid-template-columns: 28px 112px minmax(0, 1fr) 150px;
    grid-template-areas:
      "check image info price"
      "check image options options"
      "check image actions actions";
    gap: 14px 18px;
    align-items: start;
  }
  .product-list.db-horizontal-view .db-product-row .row-check { grid-area: check; }
  .product-list.db-horizontal-view .db-product-row .row-image { grid-area: image; width: 112px; height: 112px; }
  .product-list.db-horizontal-view .db-product-row .row-info { grid-area: info; }
  .product-list.db-horizontal-view .db-product-row .row-options { grid-area: options; }
  .product-list.db-horizontal-view .db-product-row .row-price-tools { grid-area: price; width: 150px; justify-self: end; }
  .product-list.db-horizontal-view .db-product-row .row-actions {
    grid-area: actions;
    grid-template-columns: repeat(3, minmax(110px, 1fr));
    width: 100%;
    max-width: 500px;
  }
  .product-list.db-horizontal-view .db-product-row .row-actions button,
  .product-list.db-horizontal-view .db-product-row .row-actions a {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 900px) {
  .product-list.db-horizontal-view .db-product-row,
  .product-list.db-compact-view .db-product-row {
    grid-template-columns: 28px 92px minmax(0, 1fr);
    grid-template-areas:
      "check image info"
      "options options options"
      "price price price"
      "actions actions actions";
    gap: 12px;
    min-height: 0;
    padding: 24px 0;
  }
  .product-list.db-horizontal-view .db-product-row .row-image,
  .product-list.db-compact-view .db-product-row .row-image {
    grid-area: image;
    width: 92px;
    height: 92px;
  }
  .product-list.db-horizontal-view .db-product-row .row-check,
  .product-list.db-compact-view .db-product-row .row-check { grid-area: check; }
  .product-list.db-horizontal-view .db-product-row .row-info,
  .product-list.db-compact-view .db-product-row .row-info { grid-area: info; }
  .product-list.db-horizontal-view .db-product-row .row-options,
  .product-list.db-compact-view .db-product-row .row-options { grid-area: options; }
  .product-list.db-horizontal-view .db-product-row .row-price-tools,
  .product-list.db-compact-view .db-product-row .row-price-tools {
    grid-area: price;
    width: 100%;
    justify-items: start;
  }
  .product-list.db-horizontal-view .db-product-row .row-actions,
  .product-list.db-compact-view .db-product-row .row-actions {
    grid-area: actions;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    max-width: none;
  }
  .product-list.db-horizontal-view .db-product-row .row-actions button,
  .product-list.db-horizontal-view .db-product-row .row-actions a,
  .product-list.db-compact-view .db-product-row .row-actions button,
  .product-list.db-compact-view .db-product-row .row-actions a {
    width: 100%;
    min-width: 0;
    white-space: normal;
  }
}
