/* Product List Module — CSS 변수 지원 */
.pl-wrap{
  max-width:var(--mod-max-width, 1200px);
  margin:0 auto;
  padding:var(--mod-padding, 30px 20px);
  background:var(--mod-bg, transparent);
  font-size:var(--mod-font-size, 14px);
  border-radius:var(--mod-radius, 0);
  color:var(--mod-text, #333);
}
.pl-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}
.pl-title{font-size:20px;font-weight:800;color:var(--mod-text, #1a1a2e);display:flex;align-items:center;gap:8px}
.pl-title .pl-icon{color:var(--mod-accent, #1a73e8)}
.pl-more{font-size:13px;color:var(--mod-accent, #1a73e8);text-decoration:none;font-weight:600;display:flex;align-items:center;gap:4px}
.pl-more:hover{text-decoration:underline}
.pl-grid{display:grid;gap:var(--mod-gap, 16px)}
.pl-grid.cols-2{grid-template-columns:repeat(2,1fr)}
.pl-grid.cols-3{grid-template-columns:repeat(3,1fr)}
.pl-grid.cols-4{grid-template-columns:repeat(4,1fr)}
.pl-grid.cols-5{grid-template-columns:repeat(5,1fr)}
.pl-grid.cols-6{grid-template-columns:repeat(6,1fr)}
.pl-grid.cols-7{grid-template-columns:repeat(7,1fr)}
.pl-grid.cols-8{grid-template-columns:repeat(8,1fr)}
.pl-card{background:var(--mod-card-bg, #fff);border:1px solid var(--mod-card-border, #eee);border-radius:var(--mod-card-radius, 10px);overflow:hidden;transition:all .2s;text-decoration:none;color:var(--mod-text, #333);display:block}
.pl-card:hover{border-color:var(--mod-accent, #1a73e8);box-shadow:0 4px 20px rgba(26,115,232,.1);transform:translateY(-2px)}
.pl-thumb{position:relative;overflow:hidden;background:#f8f9fb}
.pl-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .3s}
.pl-card:hover .pl-thumb img{transform:scale(1.05)}
.pl-badge{position:absolute;top:8px;left:8px;padding:3px 10px;border-radius:4px;font-size:10px;font-weight:700;color:#fff}
.pl-badge.best{background:var(--mod-badge-best, var(--mod-accent, #1a73e8))}
.pl-badge.rank-1{background:var(--mod-badge-rank-1, var(--mod-badge-rank, #f59e0b))}
.pl-badge.rank-2{background:var(--mod-badge-rank-2, var(--mod-badge-rank, #ef4444))}
.pl-badge.rank-3{background:var(--mod-badge-rank-3, var(--mod-badge-rank, #8b5cf6))}
.pl-badge.rank-4{background:var(--mod-badge-rank-4, var(--mod-badge-rank, #06b6d4))}
.pl-badge.rank-5{background:var(--mod-badge-rank-5, var(--mod-badge-rank, #10b981))}
.pl-badge.rank-6{background:var(--mod-badge-rank-6, var(--mod-badge-rank, #ec4899))}
.pl-badge.rank-7{background:var(--mod-badge-rank-7, var(--mod-badge-rank, #6366f1))}
.pl-badge.new{background:#22c55e}
.pl-info{padding:12px 14px}
.pl-name{font-size:var(--mod-name-size, 13px);font-weight:600;color:var(--mod-text, #333);margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl-summary{font-size:11px;color:#999;margin-bottom:6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pl-price{display:flex;align-items:baseline;gap:6px;flex-wrap:wrap}
.pl-price-sale{font-size:var(--mod-price-size, 15px);font-weight:800;color:var(--mod-price-color, #e74c3c)}
.pl-price-origin{font-size:11px;color:#bbb;text-decoration:line-through}
.pl-empty{text-align:center;padding:40px;color:#bbb;font-size:13px;grid-column:1/-1}
.pl-loading{text-align:center;padding:40px;color:#999;font-size:13px;grid-column:1/-1}

@media(max-width:1200px){
  .pl-grid.cols-7,.pl-grid.cols-8{grid-template-columns:repeat(5,1fr)}
}
@media(max-width:992px){
  .pl-grid.cols-4,.pl-grid.cols-5,.pl-grid.cols-6,.pl-grid.cols-7,.pl-grid.cols-8{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:768px){
  .pl-grid.cols-3,.pl-grid.cols-4,.pl-grid.cols-5,.pl-grid.cols-6,.pl-grid.cols-7,.pl-grid.cols-8{grid-template-columns:repeat(2,1fr)}
  .pl-title{font-size:17px}
}
@media(max-width:480px){
  .pl-grid.cols-2,.pl-grid.cols-3,.pl-grid.cols-4,.pl-grid.cols-5,.pl-grid.cols-6,.pl-grid.cols-7,.pl-grid.cols-8{grid-template-columns:repeat(2,1fr)}
  .pl-info{padding:10px 12px}
  .pl-name{font-size:12px}
}
