.th-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 16px; }
.th-grid figure { margin: 0; padding: 12px; border: 1px solid var(--line); border-radius: var(--r); background: #fff; }
.th-grid img { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; border-radius: 6px; background: var(--fill); }
.th-grid figcaption { display: flex; justify-content: space-between; align-items: baseline; margin-top: 10px; font-size: 14px; }
.th-grid figcaption span { font-size: 13px; color: var(--ink-3); }
.th-grid .btn.ghost { height: 40px; margin-top: 10px; font-size: 14px; }
.th-grid + .notice-box { margin-top: 16px; }
@media (max-width: 720px) { .th-grid { grid-template-columns: 1fr 1fr; gap: 10px; } .th-grid figure { padding: 8px; } }
