
/* ========================================
   FEATURED NEWS
======================================== */

/* Hide Featured News on paginated pages */
.paged #featured-news {
    display: none;
}

/* Featured News buttons */
#featured-posts a.news_pc_button,
#featured-posts .fusion-button-default .fusion-button-text {
    background-color: #3B6D92;
    color: #fff !important;
}

#featured-posts a.news_pc_button:hover {
    opacity: 0.9;
}


/* ========================================
   NEWS POST CARD LAYOUT
======================================== */

.news_pc {
    min-height: 415px !important;
}

.nested_news {
    min-height: 200px;
}

.title_list_sidebar .fusion-title-heading a {
    text-decoration: none !important;
}

.news_title a {
    text-decoration: underline !important;
}


/* ========================================
   NEWS FILTER FORM
======================================== */

.news-search-form {
    display: grid !important;
    grid-template-columns:
        minmax(0, 1fr)
        minmax(0, 1fr)
        auto;
    align-items: end !important;
    column-gap: 16px;
    row-gap: 16px;
    width: 100%;
    margin: 0 0 30px;
}

/* Category and search field wrappers */
.news-search-form .news-filter-field {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-end;
    align-items: stretch !important;
    gap: 5px;
    width: 100%;
    min-width: 0;
    margin: 0 !important;
    padding: 0 !important;
}

/* Field labels */
.news-search-form .news-filter-field label {
    display: block;
    width: 100%;
    margin: 0 !important;
    padding: 0 !important;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    color: #111;
}

/* Dropdown and search input */
.news-search-form .news-filter-field select,
.news-search-form .news-filter-field input[type="search"] {
    display: block;
    width: 100% !important;
    max-width: none !important;
    height: 36px !important;
    min-height: 36px !important;
    margin: 0 !important;
    padding: 5px 10px !important;
    border: 1px solid #333;
    background-color: #fff;
    color: #111;
    font-size: 14px;
    box-sizing: border-box;
}

/* Search and Reset controls */
.news-search-form .news-filter-actions {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    flex-wrap: nowrap;
    gap: 10px;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Search button */
.news-search-form .news-filter-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 36px !important;
    min-height: 36px !important;
    padding: 0 24px !important;
    margin: 0 !important;
    border: 0;
    border-radius: 0;
    background: #007eae;
    color: #fff;
    font-size: 14px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
}

.news-search-form .news-filter-actions button:hover {
    background: #005f86;
}

/* Reset link */
.news-search-form .news-search-reset {
    display: inline-block;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #111;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
    text-decoration: underline;
    white-space: nowrap;
}


/* ========================================
   RESULTS SUMMARY
======================================== */

.news-results-section {
    margin: 0 0 40px;
}

/* Beige results box */
.news-results-summary {
    background-color: #f2f0e9;
    padding: 30px 32px;
    margin-bottom: 30px;
}

/* Results heading */
.news-results-summary h2 {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    color: #000;
    margin: 0 0 12px;
}

/* Selected category and search terms */
.news-results-description {
    font-size: 16px;
    line-height: 1.3;
    color: #000;
    margin: 0 0 40px;
}

/* Show all news link */
.news-results-reset {
    display: inline-block;
    color: #007eae;
    font-size: 16px;
    line-height: 1.3;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Results count */
.news-results-count {
    font-size: 16px;
    line-height: 1.3;
    color: #000;
    margin: 0 0 65px;
}

/* No results message: paragraph */
.news-no-results {
    font-size: 16px;
    font-weight: 400;
    line-height: 1.3;
    color: #000;
    margin: 0 0 30px;
}

.news-no-results a {
    color: #007eae;
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ========================================
   KEYBOARD ACCESSIBILITY
======================================== */

.news-search-form select:focus-visible,
.news-search-form input:focus-visible,
.news-search-form button:focus-visible,
.news-search-form a:focus-visible,
.news-results-reset:focus-visible,
.news-no-results a:focus-visible {
    outline: 3px solid #000;
    outline-offset: -3px;
}

#news-results-heading:focus-visible{ 
	outline:0px;
	border:none!important;
}

#news-results-heading{
    scroll-margin-top: 120px;
}

#news-results-heading:not(.news-all-heading) {
    font-weight:bold;
    font-size:16px;
}

/* ========================================
   TABLET
======================================== */

@media (max-width: 900px) {

    .news-search-form {
        grid-template-columns: 1fr !important;
    }

    .news-search-form .news-filter-actions {
        flex-wrap: wrap;
    }

}


/* ========================================
   MOBILE
======================================== */

@media (max-width: 767px) {

    .news-results-summary {
        padding: 24px 20px 32px;
        margin-bottom: 35px;
    }

    .news-results-summary h2 {
        font-size: 24px;
    }

    .news-results-description,
    .news-results-reset,
    .news-results-count,
    .news-no-results {
        font-size: 20px;
    }

    .news-results-count {
        margin-bottom: 35px;
    }

}

/* Compact results heading */
.news-results-summary h2,
.news-all-heading {
    font-size: 16px;
}

/* No results paragraph */
.news-no-results {
    font-size: 16px;
}

@media (max-width: 767px) {
    .news-results-summary h2,
    .news-all-heading,
    .news-no-results {
        font-size: 16px;
    }
}
