 /* ===================================================================
          1. Global, Navbar, and General Component Styles
          =================================================================== */
       
       /* ADDED FOR SMOOTH SCROLLING */
       html {
           scroll-behavior: smooth;
           scroll-padding-top: 100px; 
       }

       /* General Body Styles */
        body {
            padding-top: 80px;
            background-color: #f7f9fc; 
            font-family: 'Segoe UI', sans-serif; 
            color: #333;
        }

        /* Navbar Styles */
        .navbar {
            backdrop-filter: blur(12px);
            background-color: rgba(255, 255, 255, 0.85);
            transition: all 0.3s ease-in-out;
            padding: 20px 0;
            border-bottom: none; 
        }

        .navbar.scrolled {
            background-color: rgba(255, 255, 255, 0.95);
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
            padding: 10px 0;
        }

        .navbar-brand {
            font-weight: 750; 
            font-size: 1.40rem; 
            color: #274D76 !important; 
            text-decoration: none; 
        }

        .navbar-brand img {
            height: 40px; 
            object-fit: contain;
        }

        /* Nav Links & Buttons Common Styles */
        .nav-link,
        .btn-rounded {
            font-weight: 500;
            transition: all 0.25s;
        }

        .nav-link {
            color: #333; 
            margin: 0 10px; 
            text-decoration: none; 
        }

        .nav-link:hover,
        .nav-link:active,
        .nav-link:focus {
            color: #4661E6; 
            transform: translateY(-2px);
            text-decoration: none; 
        }

        .btn-rounded {
            border-radius: 50px; 
            padding: 8px 22px; 
            font-size: 1rem; 
        }
        
        .btn-outline-primary.btn-rounded {
            color: #0d6efd; 
            border-color: #0d6efd; 
        }
        .btn-outline-primary.btn-rounded:hover {
            background-color: #0d6efd;
            color: #fff;
            box-shadow: 0 0 10px rgba(70, 97, 230, 0.4);
        }

        /* Navbar Toggler (Hamburger) Styles */
        .navbar-toggler {
            border: none !important;
            box-shadow: none !important;
            padding: 0.25rem 0.5rem;
        }

        .navbar-toggler-icon-custom {
            display: inline-block;
            width: 24px;
            height: 18px;
            position: relative;
            cursor: pointer;
            transition: transform 0.3s ease-in-out;
        }

        .navbar-toggler-icon-custom span {
            position: absolute;
            height: 3px;
            width: 100%;
            background: #333; 
            left: 0;
            transition: 0.3s ease;
            border-radius: 2px;
        }

        .navbar-toggler-icon-custom span:nth-child(1) { top: 0; }
        .navbar-toggler-icon-custom span:nth-child(2) { top: 7px; }
        .navbar-toggler-icon-custom span:nth-child(3) { top: 14px; }

        .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-custom span:nth-child(1) {
            top: 7px;
            transform: rotate(45deg);
        }

        .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-custom span:nth-child(2) {
            opacity: 0;
        }

        .navbar-toggler[aria-expanded="true"] .navbar-toggler-icon-custom span:nth-child(3) {
            top: 7px;
            transform: rotate(-45deg);
        }

        /* Offcanvas Menu Styles */
        .offcanvas-end {
            width: 260px; 
            background-color: #fff;
            box-shadow: none; 
        }

        .offcanvas a {
            font-weight: 500;
            padding: 10px 0; 
            color: #333; 
            text-decoration: none; 
            display: block; 
        }

        .offcanvas a:hover,
        .offcanvas a:active,
        .offcanvas a:focus {
            color: #4661E6; 
            background-color: transparent; 
            text-decoration: none;
        }

        /* Skip Link Styles */
        .visually-hidden-focusable:active,
        .visually-hidden-focusable:focus {
            position: static;
            width: auto;
            height: auto;
            margin: 0;
            overflow: visible;
            clip: auto;
            white-space: normal;
        }
        
       /* ===================================================================
          2. Page Header, Footer, and Utility Styles
          =================================================================== */

        /* Page Header & Breadcrumb Styles */
        .breadcrumb {
          background-color: transparent;
          margin-bottom: 0;
          padding: 1rem 0;
        }
        .breadcrumb-item a { color: #0d6efd; text-decoration: none; }
        .breadcrumb-item a:hover { color: #0a58ca; }
        .breadcrumb-item.active { color: #6c757d; }
    
        .page-header {
          background-color: #f7f9fc;
          padding: 2rem 0;
          border-bottom: none;
        }
        .page-header h1 {
          font-weight: 700;
          color: #1e293b;
          font-size: 2.5rem;
        }
    
        /* Scroll to Top Button Styles */
        #scrollToTopBtn {
            display: none; position: fixed; bottom: 30px; right: 30px; z-index: 99;
            border: none; outline: none; background-color: rgba(0, 0, 0, 0.7);
            color: white; cursor: pointer; width: 50px; height: 50px;
            border-radius: 50%; font-size: 20px; box-shadow: 0 2px 10px rgba(0, 0, 0, 0.3);
            transition: background-color 0.3s, opacity 0.3s; opacity: 0;
            display: flex; justify-content: center; align-items: center;
        }
        #scrollToTopBtn:hover { background-color: rgba(0, 0, 0, 0.9); }
    
        /* Footer Styles */
        .rs-footer {
            padding: 60px 0 30px 0; font-family: system-ui, sans-serif;
            background-color: #1A222F; color: #ffffff;
        }
        .rs-footer a { text-decoration: none; color: #adb5bd; }
        .rs-footer a:hover { color: #ffffff; }
        .rs-footer-bottom {
            border-top: 1px solid #495057; margin-top: 40px;
            padding-top: 20px; font-size: 14px; color: #ffffff;
        }
        .rs-footer-bottom a { color: #ffffff; }
    
        /* Accordion items for mobile footer */
        .accordion-item {
            background-color: #1A222F; border: none; margin-bottom: 5px;
            border-radius: 0.25rem; box-shadow: none !important;
        }
        .accordion-item:last-of-type { margin-bottom: 0; }
        .accordion-header { background-color: #1A222F; }
        .rs-accordion-button {
            position: relative; background-color: transparent !important;
            color: #ffffff !important; font-weight: 600; padding-left: 1.5rem;
            border: none !important; box-shadow: none !important;
            outline: none !important; transition: none !important;
        }
        .rs-accordion-button:hover, .rs-accordion-button:active, .rs-accordion-button:not(.collapsed) {
            background-color: transparent !important; color: #ffffff !important;
            border: none !important; box-shadow: none !important; outline: none !important;
        }
        .rs-accordion-button::after {
            content: ""; position: absolute; right: 1rem; top: 50%;
            transform: translateY(-50%) rotate(45deg); width: 12px; height: 12px;
            border-style: solid; border-width: 2px 2px 0 0; border-color: #ffffff;
            transition: transform 0.3s ease; transform-origin: center; pointer-events: none;
        }
        .rs-accordion-button.collapsed::after { transform: translateY(-50%) rotate(45deg); }
        .rs-accordion-button:not(.collapsed)::after { transform: translateY(-50%) rotate(135deg); }
        .accordion-body { background-color: #1A222F; color: #adb5bd; padding-bottom: 0.5rem; }
    
        /* Responsive adjustments for footer */
        @media (min-width: 768px) { .rs-mobile-footer { display: none; } }
        @media (max-width: 767.98px) { .rs-desktop-footer { display: none; } }
        
       /* ===================================================================
          3. "All the Latest" / Blog Cards Section
          =================================================================== */
        .container-main {
            padding-top: 4rem;
            padding-bottom: 4rem;
            max-width: 1200px; /* Limit content width */
        }
    
        .section-title {
            font-size: 2.2rem;
            font-weight: 600;
            margin-bottom: 3rem;
            color: #212529; /* Dark text */
        }
    
        .card-custom {
            border: 1px solid #dee2e6; /* Light border */
            border-radius: 0.75rem; /* Rounded corners for cards */
            overflow: hidden; /* Ensures image corners are also rounded within the card */
            transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
            height: 100%; /* Ensure all cards in a row have same height */
            display: flex;
            flex-direction: column;
        }
    
        .card-custom:hover {
            transform: translateY(-5px);
            box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08); /* Subtle shadow on hover */
        }
    
        .card-body-custom {
            padding: 1.5rem;
            flex-grow: 1; /* Allows content to expand */
            display: flex;
            flex-direction: column; /* Always stack text and image vertically */
            justify-content: space-between; /* Pushes image to bottom if content is short */
        }
    
        .card-meta {
            font-size: 0.85rem;
            color: #6c757d; /* Grey text for meta info */
            margin-bottom: 0.5rem;
        }
    
        .card-meta strong {
            color: #0d6efd; /* Bootstrap primary blue for category */
            font-weight: 500;
        }
    
        .card-title-custom {
            font-size: 1.15rem;
            font-weight: 600;
            color: #212529; /* Dark text for title */
            line-height: 1.4;
            margin-bottom: 1rem; /* Space below title */
            flex-grow: 1; /* Allows title to take available height */
        }
    
        .card-image-wrapper {
            flex-shrink: 0; /* Prevents image from shrinking */
            width: 100%; /* Take full width of the card body */
            height: 180px; /* Fixed height for consistent cropping */
            border-radius: 0.5rem;
            overflow: hidden;
            margin-top: 1rem; /* Space between text and image */
        }
    
        .card-image-wrapper img {
            width: 100%;
            height: 100%;
            object-fit: cover; /* Ensures image covers the container and is center-cropped */
            object-position: center; /* Explicitly center the image */
            border-radius: 0.5rem; /* Ensure image itself has rounded corners */
        }

     
       /* ===================================================================
   4. Pagination Styles (New Design)
   =================================================================== */
		.pagination {
		    gap: 0.75rem;
		    flex-wrap: wrap;
		}
		
		.page-item .page-link {
		    display: flex;
		    align-items: center;
		    justify-content: center;
		    width: 42px;
		    height: 42px;
		    border: 1px solid #e0e5eb;
		    border-radius: 0.5rem;
		    background-color: #fff;
		    color: #4a5568;
		    font-weight: 600;
		    font-size: 0.9rem;
		    padding: 0;
		    box-shadow: none;
		    transition: none;
		}
		
		.page-item .page-link:hover {
		    background-color: #f0f5ff;
		    border-color: #0d6efd;
		    color: #0d6efd;
		    transform: none;
		    box-shadow: none;
		}
		
		.page-item.active .page-link {
		    background-color: #0d6efd;
		    border-color: #0d6efd;
		    color: #fff;
		    transform: none;
		    box-shadow: none;
		}
		
		.page-item.disabled .page-link {
		    background-color: #f8f9fa;
		    border-color: #e0e5eb;
		    color: #adb5bd;
		    pointer-events: none;
		    box-shadow: none;
		    transform: none;
		}
		
		/* Ellipsis */
		.page-item.disabled .page-link.ellipsis {
		    background-color: transparent;
		    border-color: transparent;
		    box-shadow: none;
		}
		
		/* Responsive */
		@media (max-width: 576px) {
		    .pagination-wrapper {
		        padding: 0 1rem;
		    }
		
		    .pagination {
		        gap: 0.5rem;
		        flex-wrap: nowrap;
		    }
		
		    .page-item .page-link {
		        width: 36px;
		        height: 36px;
		        font-size: 0.8rem;
		    }
		
		    .pagination li:not(.active):not(.page-item-prev):not(.page-item-next) {
		        display: none;
		    }
		
		    .pagination li.active,
		    .pagination li.page-item-prev,
		    .pagination li.page-item-next {
		        display: inline-flex;
		    }
		}
