/* === Reset / Base === */
body {
  font-family: 'Noto Sans TC', sans-serif;
  margin: 0;
  padding: 0;
  background: #F7F7F7;
  color: #14140C;
}

header {
  padding: 1rem;
  text-align: center;
  border-bottom: 1px solid #eee;
  background-color: #fff;
}

/* === Search page header === */
.search-page-header {
  padding: 5rem 1.25rem 0.75rem;
  background: #F7F7F7;
}
.search-page-title {
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 2.5rem;
  font-weight: 200;
  letter-spacing: -0.02em;
  margin: 0 0 0.375rem;
  color: #14140C;
  line-height: 1;
}
.search-page-subtitle {
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #14140C;
  margin: 0 0 1rem;
}
.search-form-wrap {
  display: flex;
  align-items: center;
  gap: 0.625rem;
}
.search-form {
  flex: 1;
  position: relative;
  display: flex;
  align-items: center;
  border: 1px solid #14140C;
  border-radius: 0;
  overflow: hidden;
  background: #F7F7F7;
}
.search-icon {
  position: absolute;
  left: 0.75rem;
  color: #14140C;
  font-size: 0.875rem;
  pointer-events: none;
}
#query {
  width: 100%;
  padding: 0.6875rem 0.75rem 0.6875rem 2.25rem;
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 0.75rem;
  color: #14140C;
  border: none;
  background: transparent;
  box-sizing: border-box;
  outline: none;
}
#query::placeholder { color: #A1A19F; }
.search-recommend-btn {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 0.375rem;
  padding: 0.625rem 1rem;
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  border: 1px solid #14140C;
  border-radius: 0;
  background: #F7F7F7;
  cursor: pointer;
  white-space: nowrap;
  color: #14140C;
  transition: background 0.15s;
}
.search-recommend-btn:hover { background: #ebebeb; }
.search-recommend-btn.has-filter { border-color: #14140C; color: #14140C; }
.search-hint {
  display: flex;
  align-items: center;
  gap: 0.3125rem;
  font-size: 0.75rem;
  color: #A1A19F;
  margin: 0.5rem 0 0;
}
.search-recommend-title {
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  margin: 0;
  padding: 1.25rem 1.25rem 1rem;
  color: #14140C;
  line-height: 1.1;
}

/* === Tabs row === */
.tabs-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 1.25rem;
  background: #F7F7F7;
  gap: 0.75rem;
  overflow: hidden;
}
.tabs {
  display: flex;
  overflow-x: auto;
  background-color: #F7F7F7;
  padding: 0.625rem 0;
  gap: 0.5rem;
  scrollbar-width: none;
  flex: 1;
}
.tabs::-webkit-scrollbar { display: none; }
.tabs-controls {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}
.sort-select {
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 0.8125rem;
  border: none;
  border-bottom: 1px solid #14140C;
  border-radius: 0;
  padding: 0.3125rem 0.5rem;
  background: transparent;
  color: #14140C;
  cursor: pointer;
  outline: none;
  -webkit-appearance: none;
  appearance: none;
}
.tabs-divider {
  border: none;
  border-top: 1px solid #14140C;
  margin: 0;
}

/* === Section header with count + arrows === */
.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 3.75rem 0 3.75rem;
  margin-bottom: 0;
}
.section-title {
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 1.5rem;
  font-weight: 700;
  color: #14140C;
  margin: 0;
}
.section-count {
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  color: #14140C;
  margin-left: 0.25rem;
}
.section-nav {
  display: flex;
  gap: 0.375rem;
}
.section-nav-btn {
  all: unset;
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
  color: #14140C;
  padding: 0.25rem 0.5rem;
  border: 1px solid #14140C;
  border-radius: 0;
  transition: background 0.15s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.section-nav-btn:hover { background: #14140C; color: #F7F7F7; }

/* === Card content top row: badge + heart === */
.card-content-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 1.5rem;
}
.card-icon-btn.heart {
  flex-shrink: 0;
  background: none;
  border: none;
  cursor: pointer;
  font-size: 1rem;
  color: #bbb;
  padding: 0;
  line-height: 1;
  transition: color 0.2s;
  margin-left: auto;
}
.card-icon-btn.heart:hover { color: #e53935; }

/* === Card action buttons === */
.card-action-btn--primary {
  flex: 1;
  padding: 0.625rem 0.875rem;
  background: #14140C;
  color: #F7F7F7;
  border: none;
  border-radius: 0;
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 0.8125rem;
  font-weight: 600;
  cursor: pointer;
  text-align: center;
  transition: background 0.15s;
}
.card-action-btn--primary:hover { background: #333; }
.card-action-btn--more {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border: 1px solid #14140C;
  border-radius: 0;
  font-size: 0.875rem;
  color: #14140C;
  background: #F7F7F7;
  text-decoration: none;
  letter-spacing: 0.1em;
  transition: background 0.15s, color 0.15s;
}
.card-action-btn--more:hover { background: #14140C; color: #F7F7F7; }
.card-actions {
  display: flex;
  gap: 0.5rem;
  margin-top: 0.625rem;
  align-items: center;
}

/* === Card meta: English subtitle + price === */
.card-meta-en {
  font-size: 0.8125rem;
  color: #888;
  font-style: normal;
}

/* Meta row icon */
.card-meta-icon {
  margin-right: 0.3125rem;
  color: #aaa;
  flex-shrink: 0;
  font-size: 0.75rem;
  margin-top: 0.125rem;
}

/* === Category badge inside card content === */
.card-cat-badge {
  display: inline-block;
  font-size: 0.6875rem;
  color: #14140C;
  background: #F7F7F7;
  border: none;
  border-radius: 0;
  padding: 0.1875rem 0.625rem;
  font-style: normal;
  letter-spacing: 0.02em;
}
.card-meta-price {
  font-size: 0.8125rem;
  color: #111;
  font-weight: 500;
}

/* === Ticker + Footer (imported from index_v2) === */
.v2-ticker-wrap {
  overflow: hidden;
  background: #F7F7F7;
  padding: 0.5625rem 0;
  border-bottom: 1px solid #14140C;
}
.v2-ticker-wrap--bottom {
  border-bottom: none;
  border-top: 1px solid #14140C;
  background: #F7F7F7;
}
.v2-ticker {
  display: flex;
  white-space: nowrap;
  width: max-content;
}
.v2-ticker__track {
  display: inline-block;
  white-space: nowrap;
  font-family: 'Courier New', monospace;
  font-size: 0.75rem;
  letter-spacing: 0.05em;
  color: #14140C;
  animation: ticker-scroll 28s linear infinite;
}
@keyframes ticker-scroll {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}

.loading {
  font-size: 0.875rem;
  color: #888;
  padding: 1.25rem 0.625rem;
}

/* skeleton loading */
@keyframes sk-shimmer {
  0%   { background-position: -25rem 0; }
  100% { background-position: 25rem 0; }
}
.sk-anim {
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 50rem 100%;
  animation: sk-shimmer 1.4s infinite linear;
  border-radius: 0;
}
.sk-card {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 0;
  border-bottom: 1px solid #f5f5f5;
}
.sk-img {
  width: 4rem;
  height: 4rem;
  border-radius: 0;
  flex-shrink: 0;
}
.sk-body { flex: 1; }
.sk-line {
  height: 0.875rem;
  border-radius: 0;
}

/* (old search-header / tabs replaced by search-page-header + tabs-row above) */
.tab {
  all: unset;
  display: inline-block;
  padding: 0.5rem 1.125rem;
  cursor: pointer;
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 0.875rem;
  color: #14140C;
  white-space: nowrap;
  border: 1px solid #14140C;
  transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.tab:hover { background: rgba(20,20,12,0.06); }
.tab.active { background: #14140C; color: #F7F7F7; border-color: #14140C; font-weight: 600; }

/* === Main === */
main { padding: 0 1.25rem; background-color: #F7F7F7; }
.category { margin-bottom: 0; }
#section-exhibitions, #section-galleries { padding-bottom: 6.5rem; }
#section-artworks, #section-artists { padding-bottom: 5rem; }

/* === Scroll containers === */
.scroll-container {
  display: flex;
  overflow-x: auto;
  gap: 1rem;
  padding-bottom: 0.375rem;
  scrollbar-width: thin;
  scrollbar-color: #ccc transparent;
}
.scroll-container::-webkit-scrollbar { height: 0.1875rem; }
.scroll-container::-webkit-scrollbar-thumb { background: #ccc; border-radius: 0.125rem; }
.scroll-container.vertical {
  flex-direction: column;
  overflow-x: hidden;
  overflow-y: auto;
  margin-bottom: 1rem;
  gap: 0.75rem;
}

/* === Card (shared) === */
.card {
  flex: 0 0 13.75rem;
  width: 13.75rem;
  border-radius: 0;
  overflow: hidden;
  background: #F7F7F7;
  border: none;
  box-shadow: none;
  display: flex;
  flex-direction: column;
}

.card img {
  width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  object-fit: cover;
  background-color: #f0f0f0;
  display: block;
}

.card-content {
  padding: 0.875rem 0.875rem 1rem;
  line-height: 1.4;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
}
.card-title {
  font-family: 'Noto Sans TC', sans-serif;
  font-size: 1.25rem;
  font-weight: 700;
  color: #14140C;
  line-height: 1.3;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.card-subtitle {
  font-family: 'Geist', 'Inter', sans-serif;
  font-size: 1rem;
  font-weight: 700;
  color: #14140C;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* === card meta 資訊列（新增）=== */
.card-meta-row {
  font-size: 0.75rem;
  color: #43423E;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  display: flex;
  align-items: flex-start;
}
/* list 模式下允許換行 */
.card--list .card-meta-row {
  white-space: normal;
}
/* 地址顏色稍淡 */
.card-address {
  font-size: 0.75rem;
  color: #999;
}

/* grid 模式：card-content-top(1) + card-title(2) + meta rows(3,4,5) → 最多顯示 3 行 meta */
.card-content:not(.card-content--list) .card-meta-row:nth-child(n+6) {
  display: none;
}

/* === 橫式（list）：左圖右文，橫向捲動 === */
.card--list {
  flex: 0 0 18.75rem;
  width: 18.75rem;
  max-width: none;
  flex-direction: row;
  align-items: stretch;
  min-height: 10rem;
}
.card--list .card-img-wrapper {
  position: relative;
  flex: 0 0 7.5rem;
  width: 7.5rem;
  overflow: hidden;
}
.card--list img {
  width: 100%;
  height: 100%;
  min-height: 10rem;
  aspect-ratio: unset;
  object-fit: cover;
}
.card--list .card-content {
  flex: 1 1 auto;
  display: flex;
  flex-direction: column;
  gap: 0.375rem;
  padding: 0.625rem 0.75rem;
  overflow: hidden;
}
.card--list .card-title {
  font-size: 0.9375rem;
  -webkit-line-clamp: 2;
}
.card--list .card-subtitle {
  white-space: normal;
  -webkit-line-clamp: 1;
}
.card--list .card-actions {
  margin-top: auto;
  flex-wrap: nowrap;
}
.card--list .card-action-btn--primary {
  font-size: 0.6875rem;
  padding: 0.4375rem 0.5rem;
}
.card--list .card-action-btn--more {
  width: 2rem;
  height: 2rem;
  font-size: 0.75rem;
}

/* === meta list & pills === */
.meta-list {
  margin: 0.25rem 0 0;
  padding: 0 0 0.125rem 1.125rem;
  color: #666;
  font-size: 0.75rem;
}
.meta-list li { margin: 0.25rem 0; }

.pill-row { display: flex; gap: 0.375rem; flex-wrap: wrap; }
.pill {
  display: inline-block;
  border-radius: 62.4375rem;
  font-size: 0.75rem;
  padding: 0.25rem 0.5rem;
  line-height: 1;
}
.pill--accent { background: #111; color: #fff; }
.pill--ghost { background: #f1f1f1; color: #666; }

/* === Card image hover zoom === */
.card-img-wrapper { position: relative; overflow: hidden; }
.card img { transition: transform 0.35s ease; }
.card:hover img { transform: scale(1.04); }

/* === Card meta icons === */
.card-meta-icon {
  font-size: 0.6875rem;
  margin-right: 0.3125rem;
  opacity: 0.6;
  flex-shrink: 0;
  margin-top: 0.125rem;
}

/* === Card image overlay badges === */

.card-badge {
  position: absolute;
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.1875rem 0.5rem;
  border-radius: 0;
  letter-spacing: 0.04em;
  pointer-events: none;
  line-height: 1.4;
}
.card-badge--tl { top: 0.5rem; left: 0.5rem; }
.card-badge--tr { top: 0.5rem; right: 0.5rem; }
.card-badge--accent  { background: #43423E; color: #F7F7F7; }
.card-badge--ghost   { background: #43423E; color: #F7F7F7; }
.card-badge--dark    { background: #14140C; color: #F7F7F7; }
.card-badge--warn    { background: #e53935; color: #fff; }
.card-badge--rating  { background: rgba(0,0,0,0.55); color: #fff; }

/* === Heart & actions === */
.card-icon-btn.heart {
  position: absolute;
  top: 0.5rem;
  right: 0.5rem;
  background: none;
  border: none;
  border-radius: 0;
  padding: 0.375rem;
  font-size: 1.125rem;
  cursor: pointer;
  color: #fff;
  text-shadow: 0 1px 0.25rem rgba(0,0,0,0.5);
  transition: color 0.2s ease;
}
.card-icon-btn.heart:hover { color: #f44; }

/* === Card section divider === */
.card-divider {
  border: none;
  border-top: 1px solid #e5e5e5;
  margin: 0.375rem 0;
}

.card-actions {
  display: flex;
  gap: 0.75rem;
  margin-top: 0.125rem;
  flex-wrap: wrap;
}
.card-action-btn {
  all: unset;
  cursor: pointer;
  font-size: 0.8125rem;
  color: #333;
  padding: 0.375rem 0.625rem;
  transition: color 0.2s ease;
}
.card-action-btn:hover { color: #000; }

/* === Footer === */
footer {
  text-align: center;
  padding: 1.25rem;
  font-size: 0.875rem;
  background: #F7F7F7;
  color: #888;
  border-top: 1px solid #e0e0e0;
}

/* === 尺寸優化（平板與桌面） === */
@media (min-width: 40rem) {
  .card:not(.card--list) { flex: 0 0 15rem; width: 15rem; }
  .card--list { flex: 0 0 20rem; width: 20rem; }
  .card--list .card-img-wrapper { flex: 0 0 8.125rem; width: 8.125rem; }
}

@media (min-width: 64rem) {
  .card:not(.card--list) { flex: 0 0 16.25rem; width: 16.25rem; }
  .card--list { flex: 0 0 22.5rem; width: 22.5rem; }
  .card--list .card-img-wrapper { flex: 0 0 9.375rem; width: 9.375rem; }
}

/* === 版型切換按鈕 (T092309/T092313/...) === */
.layout-toggle { display: flex; gap: 0.5rem; }
.layout-btn {
  all: unset;
  cursor: pointer;
  padding: 0.25rem 0.5rem;
  display: inline-flex;
  align-items: center;
  color: #A1A19F;
}
.layout-btn i { font-size: 1.125rem; line-height: 1; }
.layout-btn:hover { color: #14140C; }
.layout-btn.is-active { color: #14140C; }
/* 瀑布按鈕：手機顯示，桌面隱藏 */
.layout-btn--mobile { display: inline-flex; }
@media (min-width: 48rem) { .layout-btn--mobile { display: none; } }

.card-img-wrapper.clickable { cursor: pointer; }

/* === 藝術作品：圖片保持原始比例 === */
.card--artworks img {
  aspect-ratio: auto;
  max-height: 20rem;
  min-height: 10rem;
}

/* === 根節點模式控制 === */
.mode-all .layout-toggle { display: none; }
.mode-single .layout-toggle { display: flex; }
.mode-single.view-grid .card img {
  aspect-ratio: 4 / 3;
  height: auto;
  min-height: unset;
}

/* === 篩選按鈕指示器 === */
#btnFilter.has-filter { color: #201F21; position: relative; }
#btnFilter.has-filter::after {
  content: '';
  position: absolute; top: 0.125rem; right: 0.125rem;
  width: 0.375rem; height: 0.375rem; border-radius: 50%;
  background: #201F21;
}

/* === 進階篩選遮罩 === */
.filter-backdrop {
  display: none;
  position: fixed; inset: 0; z-index: 200;
  background: rgba(0,0,0,.4);
}
.filter-backdrop.open { display: block; }

/* === 進階篩選面板 === */
.filter-panel {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 201;
  max-width: 30rem; margin: 0 auto;
  background: #fff; border-radius: 0;
  padding: 0 0 5rem;
  transform: translateY(100%);
  transition: transform 0.28s ease;
}
.filter-panel.open { transform: translateY(0); }

.filter-panel-header {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem 0.75rem;
  border-bottom: 1px solid #e6e6e6;
}
.filter-panel-title { font-size: 0.9375rem; font-weight: 700; }
.filter-panel-close {
  background: none; border: none; cursor: pointer;
  font-size: 1.125rem; color: #757575; padding: 0.25rem;
}

.filter-section { padding: 1rem 1.25rem 0; }
.filter-section-label {
  font-size: 0.75rem; color: #757575; margin-bottom: 0.625rem;
}
.filter-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.filter-chip {
  background: none; border: 1px solid #D9D9D9; border-radius: 62.4375rem;
  font-size: 0.8125rem; color: #201F21; padding: 0.375rem 0.875rem;
  cursor: pointer; font-family: inherit;
  transition: background 0.15s, border-color 0.15s;
}
.filter-chip.active {
  background: #201F21; border-color: #201F21; color: #fff;
}

.filter-panel-footer {
  display: flex; justify-content: space-between; align-items: center;
  padding: 1rem 1.25rem 0;
  border-top: 1px solid #e6e6e6;
  margin-top: 1rem;
}
.filter-btn-clear {
  background: none; border: none; font-size: 0.875rem;
  color: #757575; cursor: pointer; text-decoration: underline;
  font-family: inherit;
}
.filter-btn-apply {
  background: #201F21; color: #fff;
  border: none; border-radius: 0;
  font-size: 0.875rem; font-weight: 600; font-family: inherit;
  padding: 0.625rem 1.75rem; cursor: pointer;
}
/* ── Active filter tags ── */
.active-filter-tag {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  background: #201F21;
  color: #fff;
  border-radius: 62.4375rem;
  font-size: 0.75rem;
  padding: 0.25rem 0.625rem;
}
.af-tag-close {
  background: none;
  border: none;
  color: #fff;
  cursor: pointer;
  padding: 0;
  font-size: 0.6875rem;
  line-height: 1;
  opacity: .7;
}
.af-tag-close:hover { opacity: 1; }

/* === Desktop overrides (≥ 768px) === */
@media (min-width: 48rem) {
  .search-page-header { padding-top: 3.75rem; padding-bottom: 1.25rem; }
  .search-page-title  { font-size: 3.75rem; }
  .search-page-subtitle { font-size: 1.125rem; }
  #query { font-size: 1rem; }
  .search-recommend-title { font-size: 2.25rem; font-weight: 600; padding: 2.25rem 1.25rem 1.25rem; }
  .section-title { font-size: 1.75rem; }
}

/* === Waterfall mode === */
.scroll-container.waterfall {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  overflow-x: hidden;
  overflow-y: visible;
  gap: 0.75rem;
}
.scroll-container.waterfall .card {
  flex: none;
  width: 100%;
}

/* ===================== TC26101404 搜尋頁 ===================== */
/* 搜尋建議下拉 */
.search-form { overflow: visible; }
.search-suggest {
  position: absolute; top: 100%; left: -1px; right: -1px; z-index: 30;
  margin: 0; padding: 0.25rem 0; list-style: none;
  background: #FFFFFF; box-shadow: 0 0.25rem 0.75rem rgba(20,20,12,0.12);
}
.search-suggest[hidden] { display: none; }
.search-suggest__item {
  all: unset; box-sizing: border-box; width: 100%; cursor: pointer;
  display: flex; align-items: center; gap: 0.75rem;
  padding: 0.75rem; font-size: 0.8125rem; color: #14140C;
}
.search-suggest__item i { font-size: 0.75rem; }
.search-suggest__item:hover, .search-suggest__item:focus-visible { background: #F0F0EE; }

/* 標題：“關鍵字” 搜尋結果 N筆 */
.search-recommend-title .section-count { color: #A1A19F; font-size: 0.875rem; font-weight: 500; margin-left: 0.5rem; }

/* 分類：桌面等寬框線按鈕；手機改黑色下拉 */
.tabs-row { padding-top: 0.5rem; padding-bottom: 1.5rem; }
.tab { box-sizing: border-box; text-align: center; font-weight: 700; padding: 0.75rem 0; min-width: 7.5rem; }
.tab-select-wrap { display: none; }
@media (min-width: 64rem) { .tab { min-width: 11.25rem; } }
.tabs-divider { margin: 0 1.25rem; }
/* 版型切換在「全部」也顯示（設計稿） */
.mode-all .layout-toggle { display: flex; }

@media (max-width: 47.999rem) {
  .tabs-row { flex-wrap: wrap; padding-bottom: 0.75rem; }
  .tabs { display: none; }
  .tab-select-wrap { display: block; flex: 0 0 100%; position: relative; }
  .tab-select-wrap::after {
    content: ''; position: absolute; top: 50%; left: calc(50% + 1.25rem);
    width: 0.375rem; height: 0.375rem; margin-top: -0.25rem;
    border-right: 1.5px solid #F7F7F7; border-bottom: 1.5px solid #F7F7F7;
    transform: rotate(45deg); pointer-events: none;
  }
  .tab-select {
    width: 100%; appearance: none; -webkit-appearance: none; border: none; border-radius: 0;
    background: #14140C; color: #F7F7F7; font-family: 'Noto Sans TC', sans-serif;
    font-size: 0.8125rem; font-weight: 700; text-align: center; text-align-last: center;
    padding: 0.625rem 2rem; cursor: pointer;
  }
  .tabs-controls { flex: 0 0 100%; justify-content: space-between; }
}

/* 搜尋結果（大圖）：直式卡片、圖片直幅 */
body:not(.search-idle) .card:not(.card--list) { flex: 0 0 15rem; width: 15rem; }
body:not(.search-idle) .card:not(.card--list) img,
body.mode-single.view-grid:not(.search-idle) .card img { aspect-ratio: 3 / 4; min-height: 0; max-height: none; }
body:not(.search-idle) .card--artists:not(.card--list) img { aspect-ratio: 4 / 5; }
body:not(.search-idle) .card--artworks:not(.card--list) img { aspect-ratio: auto; max-height: 24rem; }
body:not(.search-idle) .card:not(.card--list) .card-content { padding: 0.75rem 0 1rem; }
body:not(.search-idle) .card-divider { border-top-color: #14140C; }
@media (min-width: 64rem) {
  body:not(.search-idle) .card:not(.card--list) { flex: 0 0 18.75rem; width: 18.75rem; }
}
