/* Ported from resources/views/frontend/pages/departments/index.blade.php <style> */

        .dept-grid {
            display: grid;
            grid-template-columns: repeat(4, 1fr);
            gap: 28px;
            align-items: stretch;
        }

        .dept-card {
            background: #fff;
            border-radius: 22px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            transition: .3s;
            box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
            min-height: 170px;
            padding: 24px 20px;
            transition: all .3s ease;

        }

        .dept-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 15px 35px rgba(44, 130, 52, .12);
        }

        .dept-icon {
            width: 60px;
            height: 60px;
            margin-bottom: 15px;
            display: flex;
            align-items: center;
            justify-content: center;
        }

        .dept-icon img,
        .dept-icon-img {
            object-fit: contain;
            width: 65px;
            height: 65px;
        }

        .dept-title {
            font-size: 22px;
            font-weight: 700;
            line-height: 1.35;
            min-height: 58px;
            margin-bottom: 18px;

            display: -webkit-box;
            -webkit-line-clamp: 2;
            -webkit-box-orient: vertical;
            overflow: hidden;
        }

        .dept-link {
            margin-top: auto;
            display: flex;
            align-items: center;
            gap: 10px;
            font-size: 15px;
            font-weight: 600 !important;
            color: #2c8234 !important;
        }

        .dept-card:hover .dept-link {
            letter-spacing: .3px;
        }

        .arrow-circle {
            width: 32px;
            height: 32px;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: .3s;
            background: #2c8234 !important;
            color: #fff;
        }

        .dept-card:hover .arrow-circle {
            transform: translateX(4px);
            background: #1f6d29;

        }

        .pagination-wrapper {
            display: flex;
            justify-content: center;
            align-items: center;
            gap: 8px;
            margin: 28px 0 40px;
        }

        .page-btn,
        .page-number {
            min-width: 42px;
            height: 42px;
            display: flex;
            align-items: center;
            justify-content: center;
            padding: 0 14px;
            text-decoration: none;
            border: 1px solid #ddd;
            border-radius: 8px;
            color: #2c8234;
            background: #fff;
            font-weight: 600;
            transition: .3s;
        }

        .page-number.active {
            background: #2c8234;
            border-color: #2c8234;
            color: #fff;
            box-shadow: 0 4px 10px rgba(44, 130, 52, .25);
        }

        .page-btn:hover,
        .page-number:hover {
            background: #2c8234;
            border-color: #2c8234;
            color: #fff;
        }

        .page-btn.disabled {
            opacity: .45;
            pointer-events: none;
        }

   
        @media (max-width:991px) {

            .dept-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 22px;
            }

            .dept-card {
                min-height: 180px;
                padding: 22px 18px;
            }

            .dept-title {
                font-size: 20px;
                min-height: auto;
            }

            .pagination-wrapper {
                flex-wrap: wrap;
            }

        }


        @media (max-width:767px) {

            .departments-section {
                padding: 50px 0;
            }

            .section-title {
                font-size: 34px;
            }

            .section-subtitle {
                font-size: 15px;
                line-height: 1.7;
                padding: 0 10px;
            }

            .dept-grid {
                grid-template-columns: 1fr;
                gap: 18px;
            }

            .dept-card {
                min-height: 170px;
                padding: 22px 18px;
                border-radius: 18px;
            }

            .dept-icon {
                width: 55px;
                height: 55px;
                margin-bottom: 14px;
            }

            .dept-icon img,
            .dept-icon-img {
                width: 55px;
                height: 55px;
            }

            .dept-title {
                font-size: 20px;
                min-height: auto;
                margin-bottom: 16px;
            }

            .dept-link {
                font-size: 15px;
            }

            .arrow-circle {
                width: 30px;
                height: 30px;
            }

            .pagination-wrapper {
                margin: 25px 0 35px;
                gap: 6px;
                flex-wrap: wrap;
            }

            .page-btn,
            .page-number {
                min-width: 40px;
                height: 40px;
                padding: 0 12px;
                font-size: 14px;
            }

        }


        @media (max-width:480px) {

            .section-title {
                font-size: 28px;
            }

            .section-subtitle {
                font-size: 14px;
            }

            .dept-card {
                padding: 20px 16px;
            }

            .dept-title {
                font-size: 18px;
            }

            .dept-link {
                font-size: 14px;
            }

            .page-btn {
                padding: 0 10px;
                font-size: 13px;
            }

            .page-number {
                min-width: 36px;
                height: 36px;
                font-size: 13px;
            }

        }
