
    :root {
        --primary: #0d6efd;
        --bg-light: #f8f9fa;
        --card-hover: 0 10px 25px rgba(0,0,0,0.1);
    }

    body {
        background-color: var(--bg-light);
        font-family: 'Inter', sans-serif;
        color: #343a40;
        overflow-x: hidden; /* Prevent Horizontal Scroll */
    }

    /* Navbar */
    .navbar { background: #fff; box-shadow: 0 1px 10px rgba(0,0,0,0.05); }
    .navbar-brand { font-weight: 700; }

    /* Hero Section */
    .hero-section {
        background: linear-gradient(135deg, #0d6efd 0%, #0043a7 100%);
        padding: 60px 0 90px;
        color: white;
        border-radius: 0 0 30px 30px;
        margin-bottom: 30px;
    }

    /* Search Box */
    .search-container {
        position: relative;
        max-width: 600px;
        margin: 0 auto;
        width: 100%;
        padding: 0 15px;
    }
    .search-input {
        padding: 15px 25px;
        padding-left: 50px;
        border-radius: 50px;
        border: none;
        box-shadow: 0 5px 20px rgba(0,0,0,0.15);
        font-size: 1rem;
        width: 100%;
    }
    .search-icon {
        position: absolute;
        left: 35px; /* Adjusted for container padding */
        top: 50%;
        transform: translateY(-50%);
        color: #aaa;
    }

    /* Filters - Fixed Scrolling */
    .filter-scroll {
        display: flex;
        gap: 10px;
        overflow-x: auto;
        padding: 5px 15px;
        margin-bottom: 30px;
        -webkit-overflow-scrolling: touch; /* Smooth Scroll iOS */
        scrollbar-width: none; /* Firefox Hide Scrollbar */
    }
    .filter-scroll::-webkit-scrollbar { display: none; } /* Chrome Hide Scrollbar */

    /* Center filters on Desktop only */
    @media (min-width: 768px) {
        .filter-scroll { justify-content: center; }
    }

    .filter-btn {
        background: white;
        border: 1px solid #dee2e6;
        padding: 8px 20px;
        border-radius: 30px;
        font-weight: 500;
        color: #555;
        white-space: nowrap; /* Prevent text break */
        transition: 0.2s;
    }
    .filter-btn:hover, .filter-btn.active {
        background: var(--primary);
        color: white;
        border-color: var(--primary);
    }

    /* Form Cards */
    .form-card {
        background: white;
        border: 1px solid #f0f0f0;
        border-radius: 16px;
        padding: 25px;
        height: 100%; /* Important for Equal Height */
        transition: transform 0.3s ease, box-shadow 0.3s ease;
        display: flex;
        flex-direction: column;
        position: relative;
    }
    .form-card:hover {
        transform: translateY(-5px);
        box-shadow: var(--card-hover);
        border-color: transparent;
    }

    /* Category Badge Fixed Position */
    .badge-category {
        background: #e7f1ff;
        color: var(--primary);
        font-size: 0.7rem;
        font-weight: 700;
        padding: 4px 10px;
        border-radius: 12px;
        align-self: flex-start; /* Left align */
        margin-bottom: 10px;
        text-transform: uppercase;
    }

    .icon-wrapper {
        width: 45px;
        height: 45px;
        background: #fff0f0;
        color: #dc3545;
        border-radius: 10px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1.4rem;
        margin-bottom: 15px;
    }

    .card-title {
        font-weight: 700;
        font-size: 1.1rem;
        color: #212529;
        margin-bottom: 8px;
        /* Prevent long text overlap */
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
    }

    .card-desc {
        font-size: 0.9rem;
        color: #6c757d;
        flex-grow: 1; /* Pushes button to bottom */
        margin-bottom: 20px;
    }

    .btn-download {
        background-color: #f8f9fa;
        color: #333;
        border: 1px solid #eee;
        padding: 10px;
        border-radius: 8px;
        font-weight: 600;
        text-decoration: none;
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 8px;
        transition: 0.2s;
    }
    .btn-download:hover {
        background-color: var(--primary);
        color: white;
        border-color: var(--primary);
    }

    .request-box {
        background: #fff;
        border-radius: 16px;
        padding: 30px 20px;
        text-align: center;
        margin-top: 50px;
        border: 2px dashed #dee2e6;
    }
