/* All-categories page */
.cat-cards { padding: clamp(2rem, 4vw, 3rem) 0 clamp(4rem, 8vw, 7rem); }
.ccards { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.6rem 1.4rem; }
.ccard a { display: block; text-decoration: none; }
.ccard-img {
    display: block; aspect-ratio: 4 / 5; overflow: hidden; border-radius: 999px 999px var(--r) var(--r);
    background: linear-gradient(135deg, var(--paper-2), var(--paper)); box-shadow: var(--sh-1); transition: box-shadow 0.35s var(--ease), transform 0.35s var(--ease);
}
.ccard-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.9s var(--ease); }
@media (hover: hover) and (min-width: 701px) {
    .ccard a:hover .ccard-img { box-shadow: var(--sh-2); transform: translateY(-4px); }
    .ccard a:hover .ccard-img img { transform: scale(1.06); }
}
.ccard-name { display: block; margin-top: 1.1rem; font: 400 1.6rem/1.15 var(--serif); letter-spacing: -0.015em; }
.ccard-d { display: block; margin-top: 0.35rem; color: var(--ink-soft); font-size: 0.93rem; }
.ccard-n { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.7rem; color: var(--red); font-weight: 600; font-size: 0.9rem; }
.ccard-n svg { transition: transform 0.25s var(--ease); }
@media (hover: hover) and (min-width: 701px) {
.ccard a:hover .ccard-n svg { transform: translateX(0.3rem); }
}

@media (hover: hover) and (min-width: 701px) {
.ccard a:hover .ccard-name { color: var(--red); }
}

@media (max-width: 1000px) { .ccards { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) {
    .ccards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 2rem 0.9rem; }
    .ccard-name { font-size: 1.25rem; }
    .ccard-d { display: none; }
}
