/* 商品大全 · 对齐原站品牌/系列导航 */
.spdq-page { padding-bottom: 48px; }
.spdq-inner { background: #fff; border: 1px solid #e6e6e6; padding: 18px 18px 28px; }
.spdq-head { margin-bottom: 14px; }
.spdq-title {
  margin: 0 0 6px;
  font-size: 22px;
  font-weight: 700;
  color: #222;
  border-left: 4px solid #2b7bb9;
  padding-left: 10px;
  line-height: 1.2;
}
.spdq-sub { margin: 0; color: #888; font-size: 13px; }
.spdq-sub strong { color: #333; }

.spdq-tabs {
  display: flex;
  gap: 0;
  border-bottom: 1px solid #e8e8e8;
  margin: 16px 0 0;
}
.spdq-tab {
  appearance: none;
  border: 0;
  background: transparent;
  padding: 10px 18px;
  font-size: 14px;
  color: #666;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  margin-bottom: -1px;
  font-family: inherit;
}
.spdq-tab.is-active {
  color: #1a1a1a;
  font-weight: 600;
  border-bottom-color: #2b7bb9;
}

.spdq-panel { padding: 16px 0 8px; }
.spdq-panel[hidden] { display: none !important; }

.spdq-mega {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px 28px;
  padding: 8px 4px 12px;
  background: #fafafa;
  border: 1px solid #eee;
}
.spdq-col-title {
  margin: 0 0 8px;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #111;
  text-transform: uppercase;
}
.spdq-col-title button {
  all: unset;
  cursor: pointer;
  color: inherit;
  font: inherit;
}
.spdq-col-title button:hover { color: #2b7bb9; }
.spdq-link {
  display: block;
  padding: 8px 0;
  border-bottom: 1px solid #e8e8e8;
  color: #444;
  font-size: 13px;
  line-height: 1.35;
  cursor: pointer;
  background: none;
  border-left: 0;
  border-right: 0;
  border-top: 0;
  width: 100%;
  text-align: left;
  font-family: inherit;
}
.spdq-link:last-child { border-bottom: 0; }
.spdq-link:hover,
.spdq-link.is-active {
  color: #2b7bb9;
}
.spdq-link em {
  float: right;
  color: #aaa;
  font-style: normal;
  font-size: 12px;
}

.spdq-smart {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 4px 0 8px;
}
.spdq-chip {
  appearance: none;
  border: 1px solid #ddd;
  background: #fff;
  color: #333;
  border-radius: 2px;
  padding: 8px 14px;
  font-size: 13px;
  cursor: pointer;
  font-family: inherit;
}
.spdq-chip:hover { border-color: #2b7bb9; color: #2b7bb9; }
.spdq-chip.is-active {
  background: #2b7bb9;
  border-color: #2b7bb9;
  color: #fff;
}

.spdq-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 14px 0 12px;
  padding-top: 8px;
  border-top: 1px solid #eee;
}
.spdq-filter-label {
  font-size: 14px;
  font-weight: 600;
  color: #222;
}
.spdq-search {
  width: min(320px, 100%);
  height: 34px;
  border: 1px solid #ddd;
  padding: 0 10px;
  font-size: 13px;
  font-family: inherit;
}

.spdq-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.spdq-card {
  background: #fff;
  border: 1px solid #ececec;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.spdq-card a.spdq-thumb {
  display: block;
  aspect-ratio: 1 / 1;
  background: #f3f3f3 center/cover no-repeat;
  position: relative;
}
.spdq-card a.spdq-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.spdq-card .spdq-ph {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #bbb;
  font-size: 12px;
  background: linear-gradient(145deg, #f7f7f7, #ececec);
}
.spdq-card .spdq-meta {
  padding: 10px 10px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.spdq-card .spdq-brand {
  font-size: 11px;
  color: #2b7bb9;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.spdq-card .spdq-name {
  margin: 0;
  font-size: 13px;
  line-height: 1.4;
  color: #222;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.8em;
}
.spdq-card .spdq-price {
  margin-top: auto;
  color: #c0392b;
  font-size: 14px;
  font-weight: 600;
}

.spdq-pager {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: center;
  margin-top: 22px;
}
.spdq-pager button {
  min-width: 34px;
  height: 34px;
  border: 1px solid #ddd;
  background: #fff;
  cursor: pointer;
  font-family: inherit;
  font-size: 13px;
}
.spdq-pager button.is-active {
  background: #2b7bb9;
  border-color: #2b7bb9;
  color: #fff;
}
.spdq-empty {
  grid-column: 1 / -1;
  text-align: center;
  color: #888;
  padding: 40px 12px;
  font-size: 14px;
}

@media (max-width: 980px) {
  .spdq-mega { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spdq-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .spdq-mega { grid-template-columns: 1fr; }
  .spdq-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .spdq-inner { padding: 12px; }
}
