.resource-catalog { background: var(--color-bg-light); }
.resource-catalog--muted { background: var(--color-bg-muted); }
.resource-catalog__header { max-width: 920px; margin-bottom: 42px; }
.resource-catalog__header > span { display: block; margin-bottom: 14px; color: var(--color-accent); font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.resource-catalog__header h2 { margin-bottom: 15px; }
.resource-catalog__header p { max-width: 720px; margin: 0; color: var(--color-text); font-size: 17px; line-height: 1.6; }
.resource-catalog__grid { display: grid; align-items: stretch; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.resource-card { display: flex; min-width: 0; height: 100%; border: 1px solid var(--color-border); border-radius: var(--radius-card); overflow: hidden; background: #fff; flex-direction: column; }
.resource-card__media { display: grid; flex: 0 0 auto; aspect-ratio: 16 / 9; padding: 22px; overflow: hidden; background: #f1f2f2; place-items: center; }
.resource-card__media img { width: 100%; height: 100%; object-fit: contain; }
.resource-card__body { display: flex; min-height: 0; padding: 30px; flex: 1; flex-direction: column; }
.resource-card__label { display: block; margin-bottom: 13px; color: var(--color-accent); font-size: 12px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.resource-card h3 { margin: 0 0 14px; font-size: 25px; line-height: 1.25; }
.resource-card p { margin: 0 0 22px; color: var(--color-text); font-size: 15px; line-height: 1.6; }
.resource-card ul { display: grid; gap: 10px; margin: 0 0 26px; padding: 0; list-style: none; }
.resource-card li { position: relative; padding-left: 28px; color: var(--color-text); font-size: 14px; line-height: 1.45; }
.resource-card li::before { position: absolute; top: .25em; left: 0; width: 17px; height: 17px; border-radius: var(--radius-round); color: #fff; background: var(--color-accent); content: "✓"; font-size: 11px; font-weight: 900; line-height: 17px; text-align: center; }
.resource-card__price { display: block; margin-top: auto; color: var(--color-dark); font-size: 22px; line-height: 1.3; }
.resource-card__actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.resource-card__actions .btn { flex: 1 1 170px; }

@media (max-width: 900px) { .resource-catalog__grid { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .resource-catalog__header { margin-bottom: 30px; } .resource-card__body { padding: 24px; } .resource-card h3 { font-size: 21px; } .resource-card__actions .btn { width: 100%; flex-basis: 100%; } }
