.elementor-1961 .elementor-element.elementor-element-a4f7838{--display:flex;--padding-top:40px;--padding-bottom:40px;--padding-left:40px;--padding-right:40px;}body.elementor-page-1961:not(.elementor-motion-effects-element-type-background), body.elementor-page-1961 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F9F9F9;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1961 .elementor-element.elementor-element-a4f7838{--padding-top:40px;--padding-bottom:40px;--padding-left:10px;--padding-right:10px;}}/* Start custom CSS for shortcode, class: .elementor-element-419589f *//* ===============================
   1. MAIN ARCHIVE WRAPPER & CARD
=============================== */
.archive-assignment-wrapper {
    display: flex;
    gap: 15px;
    flex-wrap: wrap;
    box-sizing: border-box;
    width: 100%;
}

.single-card-assignment {
    /* Perfectly calculates 3 columns based on the 15px gap */
    width: calc(33.333% - 10px); 
    padding: 20px;
    font-family: 'Inter', sans-serif; /* Fallback added */
    box-shadow: 0px 3px 7px 0px rgba(0, 0, 0, 0.08);
    display: flex;
    flex-direction: column;
    transition: transform 0.3s ease !important;
    box-sizing: border-box; /* Crucial for responsive padding */
}

.single-card-assignment:hover {
    transform: scale(1.01) !important; 
}

/* ===============================
   2. CARD INNER TEXT STYLING
=============================== */
.single-card-assignment p:first-of-type {
    color: #4A5565;
    font-weight: 400;
    font-size: 14px;
    line-height: 28px;
    margin: 0px;
}

.single-card-assignment p:nth-of-type(2) {
    color: #0F172A;
    font-weight: 600;
    font-size: 16px;
    margin: 0px;
    padding-bottom: 10px;
}

/* ===============================
   3. INTERNAL WRAPPERS (1, 2, 3)
=============================== */
.wrap-1 {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #F2F2F2;
    border-radius: 8px;
    padding: 5px 12px;
    flex-wrap: wrap; /* Prevents overflow */
    gap: 5px;
}

.wrap-1 p:nth-of-type(1) {
    font-size: 16px;
    color: #475569;
    line-height: 28px;
    margin: 0px;
}

.wrap-1 p:nth-of-type(2) {
    font-size: 16px;
    color: #0F172A;
    font-weight: 700;
    margin: 0px;
}

.short_info {
    font-size: 14px;
    line-height: 23px;
    color: #475569;
    padding-bottom: 10px;
    padding-top: 10px;
}

.wrap-2 {
    display: flex;
    justify-content: start;
    align-items: center;  
    gap: 15px;
    padding-bottom: 12px;
    flex-wrap: wrap; /* Safe wrapping */
}

.wrap-2 p:nth-of-type(1),
.wrap-2 p:nth-of-type(2) {
    padding: 3px 12px;
    background: #E6F3E2;
    color: #18500A;
    font-size: 14px;
    font-weight: 400;
    border-radius: 16px;
    margin: 0px;
}

.wrap-3 {
    display: flex;
    justify-content: space-between;
    align-items: center;  
    gap: 15px;
    padding-top: 20px;
    border-top: 1px solid #E9E9E9;
    flex-wrap: wrap; /* Keeps button safe on small cards */
}

.wrap-3 p:nth-of-type(1) {
    font-size: 14px;
    color: #000;
    margin: 0px;
    margin-right: auto;
}

.wrap-3 a:nth-of-type(1) {
    font-size: 14px;
    font-weight: 500;
    color: #fff;
    background: #22AA00;
    padding: 8px 15px;
    border-radius: 8px;
    text-decoration: none;
}

.wrap-3 img {
    width: 35px;
    height: 35px;
    border-radius: 100px;
}

.image-wrapper {
    display: flex;
    align-items: center;
    gap: 5px;
}

/* ===============================
   4. ELEMENTOR FORM STYLING
=============================== */
.elementor-1961 .elementor-element.elementor-element-419589f form {
    display: flex;
    align-items: center;
    background: #ffffff;
    border: 1px solid #E5E5E5;
    border-radius: 10px;
    padding: 4px;
    width: 100%;
    margin-bottom: 40px;
    box-sizing: border-box;
}

.elementor-1961 .elementor-element.elementor-element-419589f form input.search {
    flex: 1;
    border: none !important;
    background-color: transparent !important;
    box-shadow: none !important;
    outline: none !important;
    font-size: 14px;
    color: #4b5563;
    padding: 14px 15px 14px 45px; 
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ab2cd'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M21 21l-6-6m2-5a7 7 0 11-14 0 7 7 0 0114 0z'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: 15px center;
    background-size: 20px;
    box-sizing: border-box;
}

.elementor-1961 .elementor-element.elementor-element-419589f form input.search::placeholder {
    color: #A2AFCE;
}

.elementor-1961 .elementor-element.elementor-element-419589f form input[type="submit"] {
    background-color: #1aae20 !important; 
    color: #ffffff !important;
    border: none !important;
    border-radius: 6px !important;
    padding: 11px 25px 11px 42px !important; 
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer;
    transition: background-color 0.3s ease;
    margin: 0;
    background-image: url("https://staging.hsepool.nl/wp-content/uploads/2026/04/search-icon.svg");
    background-repeat: no-repeat;
    background-position: 15px center;
    background-size: 18px;
    box-sizing: border-box;
}

.elementor-1961 .elementor-element.elementor-element-419589f form input[type="submit"]:hover {
    background-color: #22AA00 !important; 
}

/* ===============================
   5. PAGINATION
=============================== */
.pagination-1 {
    display: flex;
    gap: 10px;
    justify-content: center;
    padding-top: 20px;
    flex-wrap: wrap;
}

.pagination-1 a, 
.pagination-1 .active {
    font-size: 16px;
    font-weight: 600;
    padding: 3px 10px;
    border-radius: 4px; /* Optional visual tweak */
}

.pagination-1 a {
    color: #0F172A;
    background: #F2F2F2;
    text-decoration: none;
}

.pagination-1 .active {
    color: #fff;
    background: #22AA00;
}


/* ===============================
   6. RESPONSIVE BREAKPOINTS
=============================== */

/* TABLET: Drop from 3 columns to 2 columns */
@media (max-width: 992px) {
    .single-card-assignment {
        width: calc(50% - 7.5px); 
    }
}

/* MOBILE: Drop to 1 column and stack the search form */
@media (max-width: 768px) {
    
    /* Make cards 100% full width */
    .single-card-assignment {
        width: 100%; 
    }
    
    /* Safely stack the search form */
    .elementor-1961 .elementor-element.elementor-element-419589f form {
        flex-direction: column;
        padding: 5px;
        background: transparent;
        border: none;
    }
    
    .elementor-1961 .elementor-element.elementor-element-419589f form input.search {
        width: 100%;
        background-color: #ffffff !important;
        border: 1px solid #E5E5E5 !important;
        border-radius: 8px !important;
        margin-bottom: 10px;
    }
    
    .elementor-1961 .elementor-element.elementor-element-419589f form input[type="submit"] {
        width: 100%;
        text-align: center;
        background-position: calc(50% - 35px) center;
    }
}/* End custom CSS */