.catalog-header {
padding: 32px 0 24px;
}

.catalog-section {
padding: 12px 0 60px;
}

.catalog-grid {
display: grid;
        grid-template-columns: repeat(auto-fill, minmax(min(100%, 320px), 1fr));
        gap: 24px;
}

.card-cover {
display: block;
        position: relative;
        background: #0e1317;
        overflow: hidden;
        border-bottom: 1px solid var(--border-subtle);
}

.card-cover img {
width: 100%;
        height: auto;
        display: block;
        transition: transform .3s ease;
}

.card-placeholder {
width: 100%;
        aspect-ratio: 16 / 9;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background: radial-gradient(circle at 50% 40%, #202c33 0%, #101519 80%);
        color: var(--text-faint);
        gap: 6px;
        font-size: var(--text-label);
}

.card-placeholder span.icon {
font-size: var(--text-h2);
        color: var(--border-gold);
}

.card-badge-top {
position: absolute;
        top: 12px;
        left: 12px;
        padding: 4px 10px;
        border-radius: 6px;
        font-size: var(--text-xs);
        font-weight: 700;
        text-transform: uppercase;
        letter-spacing: .05em;
}

.badge-ready {
background: var(--gold-gradient);
        color: #1a1407;
}

.badge-soon {
background: rgba(18, 23, 27, 0.88);
        border: 1px solid var(--border-subtle);
        color: var(--text-muted);
}

.card-body {
padding: 20px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        flex: 1;
}

.card-meta {
display: flex;
        flex-wrap: wrap;
        gap: 6px;
}

.card-meta span {
font-size: var(--text-xs);
        font-weight: 600;
        padding: 3px 8px;
        border-radius: 5px;
        background: rgba(212, 175, 55, 0.1);
        border: 1px solid rgba(212, 175, 55, 0.25);
        color: var(--gold-light);
}

.card-title {
font-family: var(--font-serif);
        font-size: var(--text-h3);
        color: var(--gold-light);
        line-height: 1.2;
}

.card-title a {
color: inherit;
}

.card-title a:hover {
color: var(--gold);
}

.card-desc {
color: var(--text-muted);
        font-size: var(--text-button);
        line-height: var(--line-body);
}

.card-inside {
font-size: var(--text-small);
        color: var(--text-main);
        background: rgba(11, 14, 17, 0.55);
        border: 1px solid var(--border-subtle);
        border-radius: 8px;
        padding: 10px 12px;
        margin-top: 2px;
}

.card-footer {
padding: 0 20px 20px;
        display: flex;
        gap: 10px;
}

@media (max-width: 768px) {
.catalog-grid {
grid-template-columns: 1fr; gap: 18px;
}

.card-body {
padding: 16px 14px;
}

.card-footer {
padding: 0 14px 16px;
}
}
