/* ── Tabs ──────────────────────────────────────────────────────────────────── */ .tabs { display: flex; gap: 0; border-bottom: 1px solid var(--border); margin-bottom: 3rem; } .tab { padding: 0.75rem 2rem; background: none; border: none; border-bottom: 2px solid transparent; font-size: 0.78rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--bone-dim); cursor: pointer; transition: color 0.2s, border-color 0.2s; font-family: inherit; margin-bottom: -1px; } .tab:hover { color: var(--bone); } .tabActive { color: var(--bone); border-bottom-color: var(--red); } /* ── Section ───────────────────────────────────────────────────────────────── */ .section {} /* ── Grid ──────────────────────────────────────────────────────────────────── */ .grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 1.5rem; margin-bottom: 3rem; } .card { background: var(--dark-card); border: 1px solid var(--border); overflow: hidden; transition: border-color 0.2s, transform 0.2s; } .card:hover { border-color: rgba(232,220,200,0.25); transform: translateY(-2px); } .cardImg { width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block; } .cardCaption { padding: 0.65rem 1rem; font-size: 0.78rem; color: var(--bone-dim); opacity: 0.7; border-top: 1px solid var(--border); } .cardCaption a { color: var(--red); text-decoration: underline; } /* ── Empty state ───────────────────────────────────────────────────────────── */ .empty { text-align: center; padding: 6rem 2rem; border: 1px dashed var(--border); background: var(--dark-card); } .emptyIcon { display: block; font-size: 3.5rem; margin-bottom: 1.25rem; opacity: 0.25; } .emptyTitle { font-family: var(--font-display); font-size: 1.1rem; color: var(--bone); margin-bottom: 0.65rem; } .emptyText { font-size: 0.88rem; color: var(--bone-dim); max-width: 440px; margin: 0 auto 2rem; line-height: 1.75; } .emptyLinks { display: flex; gap: 0.75rem; justify-content: center; flex-wrap: wrap; } .emptyBtn { display: inline-flex; padding: 0.6rem 1.4rem; background: transparent; color: var(--bone-dim); border: 1px solid var(--border); font-size: 0.75rem; letter-spacing: 0.1em; text-transform: uppercase; transition: border-color 0.2s, color 0.2s; } .emptyBtn:hover { border-color: var(--red); color: var(--bone); } /* ── Responsive ────────────────────────────────────────────────────────────── */ @media (max-width: 768px) { .tabs { overflow-x: auto; } .tab { padding: 0.65rem 1.25rem; white-space: nowrap; } .grid { grid-template-columns: 1fr 1fr; } .empty { padding: 3rem 1.25rem; } } @media (max-width: 480px) { .grid { grid-template-columns: 1fr; } }