.deal-grid.is-loading::after{content:attr(data-loading-label);background:rgba(16,17,20,.62);backdrop-filter:blur(1px);pointer-events:none}
.deal-grid.is-loading .deal-card{visibility:visible;pointer-events:none}
.deal-grid.is-loading .deal-card .cover,.deal-grid.is-loading .deal-card .deal-body{opacity:.58}

.search-box{grid-template-columns:34px minmax(220px,1fr) 72px 96px;min-width:min(100%,780px)}
.search-box .search-submit{background:var(--accent);color:#111}
.search-box .search-reset{background:#1b1e23;color:#c9cbd0;font-size:12px;font-weight:700}
.search-box .search-reset:hover{background:#24282e;color:#fff;filter:none}

.empty-state[hidden]{display:none!important}
.empty-state{min-height:250px;margin-top:1px;border:1px solid var(--line);background:linear-gradient(180deg,#15171a,#121417);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:36px 24px}
.empty-state strong{font-size:20px;letter-spacing:-.03em;color:var(--text)}
.empty-state p{max-width:520px;margin:10px 0 20px;color:var(--muted);font-size:13px;line-height:1.7}
.reset-filters{height:38px;padding:0 16px;border:1px solid rgba(185,243,75,.5);border-radius:2px;background:rgba(185,243,75,.09);color:var(--accent);font-weight:800;font-size:12px;cursor:pointer}
.reset-filters:hover{background:var(--accent);color:#111}

.deal-options{display:grid;gap:5px;margin:2px 0 14px;padding-top:11px;border-top:1px solid #30343a}
.deal-options-title{margin-bottom:2px;color:#85888e;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.deal-option{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;min-height:32px;padding:7px 9px;border:1px solid #2d3239;background:#141619;color:#bfc2c8;font-size:11px;line-height:1.35;transition:border-color .15s,background .15s,color .15s}
.deal-option span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.deal-option strong{color:var(--text);font-size:12px;white-space:nowrap}
.deal-option:hover{border-color:#56642e;background:#1a1d16;color:var(--accent)}
.deal-option:hover strong{color:var(--accent)}

/* Small search-result sets are deliberately centered instead of leaving a large empty right side. */
.deal-grid.search-count-1{grid-template-columns:minmax(0,520px);max-width:520px;margin-left:auto;margin-right:auto}
.deal-grid.search-count-2{grid-template-columns:repeat(2,minmax(0,460px));max-width:932px;margin-left:auto;margin-right:auto;gap:12px}
.deal-grid.search-count-3{grid-template-columns:repeat(3,minmax(0,380px));max-width:1164px;margin-left:auto;margin-right:auto;gap:12px}
.deal-grid.search-count-1,.deal-grid.search-count-2,.deal-grid.search-count-3{align-items:start}
.deal-grid.search-count-1 .deal-card,.deal-grid.search-count-2 .deal-card,.deal-grid.search-count-3 .deal-card{height:auto;align-self:start}

/* Keep real game artwork. Only generic/missing store artwork becomes a VEYRIX fallback. */
.cover-wrap.veyrix-placeholder{display:flex;align-items:center;justify-content:center;background:
  radial-gradient(circle at 50% 40%,rgba(185,243,75,.08),transparent 38%),
  linear-gradient(135deg,#171a1f 0%,#0f1114 100%);isolation:isolate}
.cover-wrap.veyrix-placeholder .cover{display:none!important}
.cover-wrap.veyrix-placeholder::before{content:'VEYRIX';position:absolute;left:50%;top:45%;transform:translate(-50%,-50%);font-family:'Orbitron',sans-serif;font-size:16px;font-weight:800;letter-spacing:.16em;color:#e8ebef;opacity:.88;z-index:1}
.cover-wrap.veyrix-placeholder::after{content:'게임 이미지 준비 중';position:absolute;left:50%;top:61%;transform:translateX(-50%);color:#727780;font-size:10px;letter-spacing:.06em;white-space:nowrap;z-index:1}
.cover-wrap.veyrix-placeholder .discount-badge{z-index:3}

@media(max-width:1100px){
  .search-box{min-width:0}
  .deal-grid.search-count-2{grid-template-columns:repeat(2,minmax(0,1fr));max-width:900px;gap:1px}
  .deal-grid.search-count-3{grid-template-columns:repeat(3,minmax(0,1fr));max-width:none;gap:1px}
}

@media(max-width:760px){
  .masthead h1{word-break:keep-all;overflow-wrap:normal}
  .masthead-lead{word-break:keep-all}
  .search-box{width:100%;min-width:0;grid-template-columns:30px minmax(0,1fr) 58px 84px;overflow:hidden}
  .search-box input{min-width:0;font-size:13px}
  .search-box button{padding-left:6px;padding-right:6px;white-space:nowrap}
  .search-box .search-reset{font-size:11px}
  .quick-filters{width:100%}
  .quick-filters button{flex:1 1 calc(25% - 6px);min-width:0;padding-left:8px;padding-right:8px}
  .controls{display:grid;grid-template-columns:1fr;gap:12px;width:100%}
  .controls label{display:grid;grid-template-columns:1fr;gap:6px;align-items:stretch;width:100%}
  .controls label>span{white-space:nowrap;line-height:1.3}
  .controls select{width:100%;min-width:0}
  .status{height:auto;min-height:34px;padding:8px 0;line-height:1.5}
  .empty-state{min-height:220px;padding:30px 18px}
  .empty-state strong{font-size:18px}
  .deal-option{grid-template-columns:1fr;gap:3px}
  .deal-option span{white-space:normal}
  .deal-grid.search-count-1{grid-template-columns:minmax(0,1fr);max-width:none}
  .deal-grid.search-count-2,.deal-grid.search-count-3{grid-template-columns:repeat(2,minmax(0,1fr));max-width:none;gap:1px}
}

@media(max-width:500px){
  .search-box{grid-template-columns:28px minmax(0,1fr) 52px 74px}
  .search-box .search-submit{font-size:12px}
  .search-box .search-reset{font-size:10px}
  .quick-filters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}
  .quick-filters button{width:100%;min-width:0;padding:0 8px}
  .section-title-row{flex-wrap:wrap}
  .deal-grid.search-count-1,.deal-grid.search-count-2,.deal-grid.search-count-3{grid-template-columns:1fr;max-width:none;gap:1px}
}
