/* Category page */
.category-page { background: #fff; }
.category-page .breadcrumb a { text-decoration: none; }
.cat-wrap { max-width: 1240px; }
.cat-section { padding: 3.5rem 0 4.5rem; }
.cat-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; }
.cat-head h2 { margin: .4rem 0 0; font-size: clamp(1.6rem, 3vw, 2.4rem); font-weight: 600; letter-spacing: -.03em; }

.sub-card { display: flex; flex-direction: column; height: 100%; overflow: hidden; color: #111; text-decoration: none; background: #fff; border: 1px solid #e8ebee; border-radius: 18px; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.sub-card:hover { color: #111; transform: translateY(-6px); border-color: var(--brand-red); box-shadow: 0 22px 42px rgba(0,0,0,.12); }
.sub-card-media { display: block; aspect-ratio: 4 / 3; overflow: hidden; background: #f2f4f5; }
.sub-card-media img { width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease; }
.sub-card:hover .sub-card-media img { transform: scale(1.07); }
.sub-card-noimg { display: grid; place-items: center; width: 100%; height: 100%; color: #b5bbc0; font-size: 3rem; }
.sub-card-body { display: flex; flex: 1; flex-direction: column; gap: .5rem; padding: 1.1rem 1.2rem 1.3rem; border-bottom: 4px solid transparent; transition: border-color .25s ease; }
.sub-card:hover .sub-card-body { border-bottom-color: var(--brand-red); }
.sub-card-body strong { font-size: 1.1rem; font-weight: 700; line-height: 1.3; }
.sub-card-go { color: var(--brand-red); font-size: .92rem; font-weight: 700; }
.sub-card-go i { display: inline-block; transition: transform .2s; }
.sub-card:hover .sub-card-go i { transform: translateX(4px); }

.cat-others { margin-top: 3.5rem; padding-top: 2rem; border-top: 1px solid #e8ebee; }
.cat-others h3 { margin-bottom: 1rem; font-size: 1.2rem; font-weight: 700; }
.cat-chips { display: flex; flex-wrap: wrap; gap: .6rem; }
.cat-chips a { padding: .5rem 1rem; color: #222; font-size: .92rem; font-weight: 600; text-decoration: none; background: #f2f3f4; border-radius: 99px; transition: background .2s, color .2s; }
.cat-chips a:hover { color: #fff; background: var(--brand-red); }

.cat-cta { padding: 3rem 0; color: #fff; background: radial-gradient(circle at 90% 20%, rgba(237,28,36,.4), transparent 45%), #0b0b0c; }
.cat-cta .cat-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.5rem; }
.cat-cta h2 { margin-bottom: .4rem; font-size: clamp(1.4rem, 2.4vw, 2rem); font-weight: 600; }
.cat-cta p { margin: 0; color: rgba(255,255,255,.75); }

@media (max-width: 575.98px) { .cat-section { padding: 2.5rem 0 3.5rem; } }
