.home2 { padding: 16px 0 40px; }
.home2-cover { border-radius: 12px; overflow: hidden; box-shadow: 0 6px 20px rgba(0,0,0,.12); margin-bottom: 40px; }
.home2-cover .swiper-slide img { width: 100%; height: auto; display: block; aspect-ratio: 698 / 317; object-fit: cover; }
.home2-cover .swiper-pagination-bullet-active { background: var(--primary-color); }

.home2-section { margin-bottom: 44px; }
.home2-title { text-align: center; font-size: 26px; font-weight: 700; text-transform: uppercase; color: var(--text-title-color); margin: 0 0 8px; letter-spacing: .5px; }
.home2-title::after { content: ""; display: block; width: 70px; height: 3px; background: var(--primary-color); margin: 12px auto 28px; border-radius: 2px; }

.home2-cats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.home2-cat { display: flex; flex-direction: column; align-items: center; background: #fff; border: 1px solid var(--border-default-color); border-radius: 12px; padding: 14px 14px 18px; text-align: center; color: var(--text-color); transition: transform .2s, box-shadow .2s; }
.home2-cat:hover { transform: translateY(-4px); box-shadow: 0 10px 24px rgba(14,62,218,.15); text-decoration: none; color: var(--text-color); }
.home2-cat__img { width: 100%; aspect-ratio: 4 / 3; border-radius: 10px; overflow: hidden; background: #f3f4f8; margin-bottom: 14px; }
.home2-cat__img img { width: 100%; height: 100%; object-fit: contain; display: block; background: #fff; }
.home2-cat__name { font-size: 16px; font-weight: 700; text-transform: uppercase; color: var(--primary-color); margin-bottom: 8px; }
.home2-cat__meta { font-size: 14px; margin-bottom: 4px; }
.home2-cat__btn { margin-top: auto; padding-top: 12px; font-size: 13px; font-weight: 600; text-transform: uppercase; }
.home2-cat__btn::before { content: ""; }
.home2-cat__btn { display: inline-block; }
.home2-cat .home2-cat__btn { border: 1px solid var(--primary-color); color: var(--primary-color); border-radius: 6px; padding: 8px 22px; margin-top: 12px; }
.home2-cat:hover .home2-cat__btn { background: var(--primary-color); color: #fff; }

.home2-boards { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.home2-board { background: #fff; border: 1px solid var(--border-default-color); border-radius: 12px; overflow: hidden; }
.home2-board__head { background: var(--primary-color); color: #fff; font-size: 18px; font-weight: 700; text-transform: uppercase; text-align: center; padding: 14px; }
.home2-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.home2-table th { text-align: left; font-weight: 600; color: var(--text-blur); padding: 10px 16px; border-bottom: 1px solid var(--border-default-color); }
.home2-table td { padding: 9px 16px; border-bottom: 1px solid #f0f1f6; }
.home2-table tr:last-child td { border-bottom: 0; }
.home2-table .text-right { text-align: right; }
.home2-empty { text-align: center; color: var(--text-blur); padding: 24px 16px !important; }

.home2-footer { background: #2f3238; color: #cfd2d8; margin-top: 20px; }
.home2-footer__inner { display: grid; grid-template-columns: 1fr 1.4fr 1fr; gap: 24px; padding: 40px 0 28px; }
.home2-footer__brand { color: #fff; font-size: 20px; font-weight: 700; text-transform: uppercase; margin-bottom: 8px; }
.home2-footer__desc { font-size: 14px; line-height: 1.6; color: #a9adb6; margin-bottom: 14px; }
.home2-footer h4 { color: #fff; font-size: 15px; font-weight: 700; text-transform: uppercase; margin-bottom: 14px; }
.home2-footer ul { list-style: none; padding: 0; margin: 0; }
.home2-footer li { font-size: 14px; margin-bottom: 8px; }
.home2-footer li i { width: 20px; color: var(--primary-color); }
.home2-footer a { color: #cfd2d8; }
.home2-footer a:hover { color: #fff; text-decoration: none; }
.home2-footer__social a { display: inline-flex; width: 36px; height: 36px; align-items: center; justify-content: center; border-radius: 6px; background: #43474f; margin-right: 8px; color: #fff; }
.home2-footer__social a:hover { background: var(--primary-color); }
.home2-footer__bottom { border-top: 1px solid #43474f; padding: 14px 0; font-size: 13px; color: #a9adb6; }

@media (max-width: 991px) {
    .home2-cats { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .home2-boards { grid-template-columns: 1fr; }
    .home2-title { font-size: 20px; }
    .home2-footer__inner { grid-template-columns: 1fr; gap: 20px; padding: 28px 0 20px; }
    .home2 { padding-bottom: 10px; }
    .home2-footer { padding-bottom: 80px; }
}
