/*
 Theme Name:   Give.org Theme
 Template:     twentytwentyfive
 Author:       Andrea Riley
 Description:  A child theme of Twenty Twenty-Five
 Version:      1.0
*/

/* =================================================================
   TABLE OF CONTENTS
   =================================================================

   1. BASE STYLES
      1.1 Body & Main Elements
      1.2 Typography (Headings, Text)
      1.3 Buttons

   2. NAVIGATION & MENUS
      2.1 Main Navigation
      2.2 Pagination

   3. FOOTER
      3.1 Footer Container & Layout
      3.2 Footer Forms
      3.3 Footer Navigation
      3.4 Footer Responsive

   4. SEARCH & FILTER FUNCTIONALITY
      4.1 Search Pages Layout
      4.2 Search Forms & Inputs
      4.3 Filter Components
      4.4 Multiselect Dropdowns
      4.5 A-Z List Layout
      4.6 Search Results Display

   5. ARCHIVE PAGES
      5.1 News Archive
      5.2 Video Archive
      5.3 Podcast Archive
      5.4 Tips Archive
      5.5 Archive Components (Featured Posts, Post Lists)

   6. SINGLE POST TEMPLATES
      6.1 Single News
      6.2 Single Video
      6.3 Single Podcast
      6.4 Single Components (Navigation, Recommended)

   7. SPECIAL PAGES
      7.1 Wise Giving Guide/Tips Page
      7.2 AskGive Page
      7.3 Donate Page
      7.4 Subscribe Sections

   8. WORDPRESS BLOCK OVERRIDES

   9. MEDIA QUERIES & RESPONSIVE STYLES
      9.1 General Responsive
      9.2 News Page Responsive
      9.3 Footer Responsive
      9.4 Archive Pages Responsive
      9.5 Single Pages Responsive
      9.6 Search/Filter Responsive
      9.7 Special Pages Responsive

  11. Causes Page Styles

   ================================================================= */

/* =================================================================
   1. BASE STYLES
   ================================================================= */

/* 1.1 Body & Main Elements
   ----------------------------------------------------------------- */
body {
    letter-spacing: normal;
    font-weight: 400;
    font-family:
        "proxima-nova",
        -apple-system,
        "system-ui",
        "Segoe UI",
        Roboto,
        sans-serif;
    font-size: 16px;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0px;
}

/* Main element styling */
main {
    max-width: 90%;
    margin: 0 auto;
    padding-top: 70px;
    padding-bottom: 70px;
}

/* 1.2 Typography (Headings, Text)
   ----------------------------------------------------------------- */

h1 {
    font-size: 2.5rem;
}

h2 {
    font-size: 2rem;
}

h3 {
    font-size: 1.75rem;
}

h4 {
    font-size: 1.5rem;
}

h5 {
    font-size: 1.25rem;
}

h6 {
    font-size: 1rem;
}

strong,
p strong {
    font-weight: 700 !important;
}

a {
    color: #0079A3;
}

/* 1.3 Buttons
   ----------------------------------------------------------------- */

button {
    font-family:
        "proxima-nova",
        -apple-system,
        "system-ui",
        "Segoe UI",
        Roboto,
        sans-serif;
}


/* Reverting something inherited from 2025 theme */
:where(.wp-site-blocks *:focus) {
    outline-width: 0px;
}

p,
.entry-content p {
    line-height: initial;
}

/* Footer Main Container - Dark Gray Background */
.footer-main-container {
    background-color: #53565a !important;
    border-top: 10px solid #005f86 !important;
}

/* Footer Headings */
.footer-heading {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

/* Email Signup Form Styling */
.footer-signup-form {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 15px;
    max-width: 400px;
}

.footer-signup-form input[type="email"] {
    flex: 1;
    padding: 12px 15px;
    border: none;
    background-color: #ffffff;
    color: #333333;
    font-size: 14px;
    border-radius: 0;
    outline: none;
}

.footer-signup-form input[type="email"]::placeholder {
    color: #999999;
}

.footer-signup-form button {
    padding: 12px 20px;
    background-color: #ed8b00;
    color: #333333;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    border-radius: 0;
    transition: background-color 0.3s ease;
}

/* Footer Separator */
.footer-main-container .wp-block-separator {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.2);
    margin: 40px 0 30px 0;
}

/* Footer Logo */
.footer-logo img {
    max-width: 290px;
    height: auto;
}

/* Navigation Menu Specific Styling */
.footer-main-container .wp-block-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-main-container .wp-block-navigation li {
    margin: 0;
    padding: 0;
}

.footer-main-container .wp-block-navigation a {
    color: #e4d77e !important;
    text-decoration: none !important;
    font-size: 16px;
    line-height: 1.4;
    display: block;
    padding: 2px 0;
}

.footer-main-container .wp-block-navigation a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* Bottom Row Adjustments */
.footer-main-container .wp-block-columns:last-child {
    margin-top: 20px !important;
    align-items: center !important;
}


.footer-main-container .wp-block-columns:last-child .wp-block-column:first-child {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
}

.footer-main-container .wp-block-columns:last-child .wp-block-column:last-child {
    text-align: right !important;
}

/* Responsive Design - Footer */
@media (max-width: 768px) {
    .footer-main-container {
        padding: 40px 20px !important;
    }

    .footer-columns.wp-block-columns {
        flex-direction: column;
    }

    .footer-columns .wp-block-column {
        flex-basis: 100% !important;
        margin-bottom: 30px;
    }

    .footer-signup-form {
        max-width: 100%;
    }

    .footer-main-container .wp-block-columns:last-child .wp-block-column:last-child {
        text-align: left;
        margin-top: 20px;
    }
}

/* News Page Styling */

.item-wrap {
    font-family: -apple-system, "system-ui", "Segoe UI", Roboto, sans-serif;
}

/* =================================================================
   2. NAVIGATION & MENUS
   ================================================================= */

/* 2.1 Main Navigation
   ----------------------------------------------------------------- */

/* News Page Navigation Bar Styling */
.wp-block-navigation {
    font-family:
        "proxima-nova",
        -apple-system,
        "system-ui",
        "Segoe UI",
        Roboto,
        sans-serif;
}

.wp-block-navigation a:hover {
    color: #0079a3;
}

/* Active/current link styling */
.wp-block-navigation .current-menu-item a {
    color: #2d2926;
}

/* 2.2 Pagination
   ----------------------------------------------------------------- */

/* === Custom Pagination Styles === */
.wp-block-query-pagination {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-top: 40px;
    gap: 8px;
}

.wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-next,
.wp-block-query-pagination-previous,
.custom-pagination-last {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    padding: 10px;
    font-size: 16px;
    color: #005f86;
    background-color: #ffffff;
    border: 1px solid #eeeeee;
    border-radius: 6px;
    text-decoration: none;
    transition: all 0.1s ease;
}

.wp-block-query-pagination-numbers .page-numbers.current {
    background-color: #005f86;
    color: #ffffff;
    font-weight: 600;
}

.wp-block-query-pagination-numbers .page-numbers:hover,
.wp-block-query-pagination-next:hover,
.wp-block-query-pagination-previous:hover,
.custom-pagination-last:hover {
    background-color: #e6f4f9;
    color: #003b59;
    border-color: #cccccc;
}

.custom-pagination-last {
    min-width: 60px;
    padding: 10px 12px;
}

.wp-block-query-pagination-next,
.wp-block-query-pagination-previous {
    font-weight: 500;
}

/* Mobile Responsiveness - News Page */
@media (max-width: 768px) {

    /* Stack columns vertically on mobile */
    .item-wrap {
        text-align: center;
        margin-bottom: 20px;
    }

    .item-wrap h2 {
        font-size: 32px;
        line-height: 1.3;
        margin-bottom: 12px;
    }

    .item-wrap p {
        font-size: 18px;
        padding: 0 10px;
    }

    /* Navigation adjustments for mobile */
    .wp-block-navigation {
        justify-content: center;
    }

    .wp-block-navigation a {
        font-size: 16px;
        margin-right: 20px;
    }

    /* Reduce padding on main container */
    .has-custom-color-6-background-color {
        padding-top: 25px;
        padding-bottom: 25px;
    }
}

@media (max-width: 480px) {

    /* Extra small screens */
    .item-wrap h2 {
        font-size: 28px;
    }

    .item-wrap p {
        font-size: 16px;
    }

    .wp-block-navigation a {
        font-size: 14px;
        margin-right: 15px;
    }
}

.give-search-results {
    margin: 0 auto;
}

.give-search-meta {
    color: #666;
    margin-bottom: 20px;
}

.give-charity-card {
    background: white;
    padding: 20px;
    border-bottom: 1px solid #ddd;
    border-radius: 0px;
}

.charity-header {
    margin-bottom: 0px;
}

.charity-name {
    margin: 0;
    color: #0079a3;
    font-size: 16px;
    font-weight: bold;
}

.charity-aka {
    margin: 0;
    color: #777;
    font-weight: bold;
    font-size: 14px;
    line-height: 21px;
}

.charity-address {
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.address-line1,
.address-line2 {
    margin: 0;
    color: #444;
    font-size: 14px;
}

.charity-details {
    margin: 0;
    padding: 0;
}

.charity-details p {
    margin: 0;
    color: #555;
    font-size: 14px;
}

.charity-category,
.charity-accredited {
    font-size: 14px;
}

.charity-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.view-report-btn {
    color: #0079a3;
    text-decoration: none;
    text-transform: capitalize;
    font-size: 14px;
}

.view-report-btn:hover {
    text-decoration: none;
    color: #0079a3;
}

.give-search-error,
.give-no-results {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 20px;
    text-align: center;
    margin: 20px 0;
}

.give-search-no-query {
    text-align: center;
    margin: 40px 0;
}

/* Wise Giving Guide Page */
main.tips-main {
    width: 100%;
    min-width: 100%;
    padding-top: 0;
}

h1.wp-block-post-title {
    margin: 0px 0px 18px 0px;
    font-weight: bold;
    font-size: 40px;
    color: #0079a3;
}

h2.tips-heading {
    color: #2d2926;
    text-decoration: none;
    font-size: 26px;
    font-weight: bold;
}

.tips-grid-container {
    max-width: 920px;
    margin: 0 auto;
}

.tips-body-content {
    width: 70%;
    margin: 0 auto;
}

.tips-body-content p {
    font-size: 1.125rem;
    color: #666;
    line-height: 1.7rem;
}

.tips-grid-container .tip-item {
    border-bottom: solid 1px #d0d0d0;
    font-size: 1rem;
    color: rgba(46, 46, 46, 1);
    line-height: 22px;
    margin-bottom: 25px;
}

.tip-content-grid {
    margin: 0 auto;
    align-items: start !important;
}

.tips-pagination a.wp-block-button__link.wp-element-button {
    background: #0079a3;
}

.tips-pagination {
    justify-content: center;
    display: flex;
    align-items: center;
    gap: 10px;
    align-items: center !important;
    margin-bottom: 3rem;
    margin-top: 3rem;
}

p.pagination-info {
    margin-right: 20px;
    margin-left: 20px;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .tip-content-grid {
        grid-template-columns: 1fr;
        width: 100%;
        gap: var(--wp--preset--spacing--30);
    }

    .tips-body-content {
        width: 90%;
    }

    h2.wp-block-heading.tips-heading {
        width: 100%;
        text-align: center;
    }

    .tip-thumbnail .tip-featured-image img,
    .tip-thumbnail .tip-placeholder-image img {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
        display: block;
    }

    .tip-content .wp-block-heading {
        font-size: 1.3rem;
        margin-bottom: var(--wp--preset--spacing--20);
    }

    .tips-pagination {
        flex-direction: column;
        gap: var(--wp--preset--spacing--30);
        text-align: center;
    }

    .wp-block-button .wp-block-button__link {
        padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .wp-block-post-title {
        font-size: 1.8rem;
    }

    .wp-block-group {
        padding-left: var(--wp--preset--spacing--30);
        padding-right: var(--wp--preset--spacing--30);
    }

    .tip-item {
        padding: var(--wp--preset--spacing--30);
    }

    .tip-content .wp-block-heading {
        font-size: 1.2rem;
    }

    .tip-text {
        font-size: 0.95rem;
    }
}

/* End Wise Giving Guide Page */

/* Pagination styles */
.give-pagination {
    margin: 30px 0;
    text-align: center;
}

.pagination-info {
    color: #666;
    font-size: 14px;
    margin-bottom: 15px;
}

.pagination-links {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.pagination-link {
    padding: 8px 12px;
    text-decoration: none;
    color: #007cba;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
    transition: all 0.3s ease;
}

.pagination-link:hover {
    background: #f8f9fa;
    text-decoration: none;
    color: #0056b3;
}

.pagination-link.current {
    background: #007cba;
    color: white;
    border-color: #007cba;
    cursor: default;
}

.pagination-link.prev-link,
.pagination-link.next-link {
    font-weight: 500;
}

.pagination-ellipsis {
    padding: 8px 4px;
    color: #666;
    font-size: 14px;
}

/* Pagination */
.pagination {
    margin-top: 40px;
    margin-bottom: 40px;
    text-align: center;
}

.pagination ul {
    list-style: none;
    padding: 0;
    display: inline-flex;
    gap: 10px;
}

.pagination li {
    display: inline-block;
}

.pagination a,
.pagination .current {
    display: block;
    padding: 8px 12px;
    text-decoration: none;
    border: 1px solid #ddd;
    border-radius: 4px;
    transition: background-color 0.3s ease;
}

.pagination a:hover {
    background-color: #f0f0f0;
}

.pagination .current {
    background-color: #0073aa;
    color: white;
    border-color: #0073aa;
}

/* =================================================================
   3. FOOTER
   ================================================================= */

/* 3.1 Footer Container & Layout
   ----------------------------------------------------------------- */

/* Footer Main Container - Dark Gray Background */
.footer-main-container {
    background-color: #53565a !important;
    border-top: 10px solid #005f86 !important;
}

/* Footer Headings */
.footer-heading {
    color: #ffffff !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    margin-bottom: 10px !important;
}

/* Footer Separator */
.footer-main-container .wp-block-separator {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: rgba(255, 255, 255, 0.2);
    margin: 40px 0 30px 0;
}

/* Footer Logo */
.footer-logo img {
    max-width: 290px;
    height: auto;
}

/* Bottom Row Adjustments */
.footer-main-container .wp-block-columns:last-child {
    margin-top: 20px !important;
    align-items: center !important;
}

.footer-main-container .wp-block-columns:last-child .wp-block-column:first-child {
    display: flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
}

.footer-main-container .wp-block-columns:last-child .wp-block-column:last-child {
    text-align: right !important;
}

/* 3.2 Footer Forms
   ----------------------------------------------------------------- */

/* Email Signup Form Styling */
.footer-signup-form {
    display: flex;
    align-items: center;
    gap: 0;
    margin-top: 15px;
    max-width: 400px;
}

.footer-signup-form input[type="email"] {
    flex: 1;
    padding: 12px 15px;
    border: none;
    background-color: #ffffff;
    color: #333333;
    font-size: 14px;
    border-radius: 0;
    outline: none;
}

.footer-signup-form input[type="email"]::placeholder {
    color: #999999;
}

.footer-signup-form button {
    padding: 12px 20px;
    background-color: #ed8b00;
    color: #333333;
    border: none;
    cursor: pointer;
    font-size: 16px;
    font-weight: bold;
    border-radius: 0;
    transition: background-color 0.3s ease;
}

/* 3.3 Footer Navigation
   ----------------------------------------------------------------- */

/* Navigation Menu Specific Styling */
.footer-main-container .wp-block-navigation ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.footer-main-container .wp-block-navigation li {
    margin: 0;
    padding: 0;
}

.footer-main-container .wp-block-navigation a {
    color: #e4d77e !important;
    text-decoration: none !important;
    font-size: 16px;
    line-height: 1.4;
    display: block;
    padding: 2px 0;
}

.footer-main-container .wp-block-navigation a:hover {
    color: #ffffff !important;
    text-decoration: underline !important;
}

/* =================================================================
   4. SEARCH & FILTER FUNCTIONALITY
   ================================================================= */

/* 4.1 Search Pages Layout
   ----------------------------------------------------------------- */

/* Main search page layout */
main.give-search-page,
main.give-az-page {
    max-width: 90% !important;
    margin: 0 auto;
    padding-top: 20px;
}

.give-results-summary {
    color: #a1a1a1;
}

/* Search header styles */
.search-header {
    background: #f8f9fa;
    margin-bottom: 30px;
}

.search-header h1 {
    color: #333;
    font-size: 2rem;
    margin-bottom: 15px;
}

.search-header .input-sample {
    color: #666;
    font-size: 1.2rem;
    margin-bottom: 20px;
    font-weight: normal;
}

.search-header .input-sample b {
    color: #0079a3;
}

/* Content layout */
.give-search-content {
    display: flex;
    gap: 30px;
    padding-top: 3%;
}

/* Main container styles */
.container.search {
    max-width: 1200px;
    margin: 0 auto;
    padding: 20px 15px;
}

.charity-result-desktop {
    width: 100%;
}

.row.search-page {
    display: flex;
    flex-wrap: wrap;
    margin-right: -15px;
    margin-left: -15px;
}

/* 4.2 Search Forms & Inputs
   ----------------------------------------------------------------- */

.give-search-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
}

.give-search-header h1 {
    margin-top: 0;
    margin-block-start: 0;
    margin-bottom: 0px;
    margin-block-end: 0px;
}

.input-group {
    position: relative;
}

.input-group .form-control {
    padding: 10px 0;
    font-size: 16px;
}

.input-group-text {
    cursor: pointer;
    color: #0079a3;
}

.give-search-input-wrapper {
    display: flex;
    align-items: center;
    max-width: 100%;
    border: 2px solid #ddd;
    border-radius: 0px;
    overflow: hidden;
    background: white;
    position: relative;
}

.give-search-icon-button {
    background: none;
    border: none;
    padding: 12px 15px;
    cursor: pointer;
    color: #666;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color 0.3s;
    flex-shrink: 0;
}

.give-search-icon-button:hover {
    color: #007cba;
}

.give-search-input {
    flex: 1;
    padding: 12px 15px 12px 5px;
    border: none;
    outline: none;
    font-size: 16px;
    background: transparent;
}

.give-search-input:focus {
    outline: none;
}

.give-search-input-wrapper:focus-within {
    border-color: #007cba;
    box-shadow: 0 0 0 1px #007cba;
}

/* 4.3 Filter Components
   ----------------------------------------------------------------- */

/* Sidebar */
.give-search-sidebar {
    width: 25%;
    min-width: 250px;
    max-width: 300px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

/* Left column - Filters */
.search-box-filter {
    padding: 0 15px;
}

.search-box-filter .help {
    border-left: 5px solid #0079a3;
    padding-left: 15px;
    margin-bottom: 30px;
}

.search-box-filter h5 {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
}

/* Filters section */
.give-filters-section,
.give-suggested-actions,
.give-az-sidebar {
    border-left: 4px solid #0079a3;
    padding: 16px;
    background-color: #f8f9fa;
}

.give-filters-section * {
    max-width: 100%;
}

.give-filters-section h2,
.give-suggested-actions h2,
.give-az-sidebar h2 {
    color: #333;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    letter-spacing: normal;
    margin: 0;
}

/* Fix h6 styling in filters */
.give-filters-section h3,
.give-suggested-actions h3,
.give-az-sidebar .filter-group label {
    color: #0079a3;
    font-size: 16px;
    font-weight: 400;
    text-transform: none;
    letter-spacing: normal;
    line-height: 1.4;
    margin: 0;
}

/* Override plugin filter styles */
.give-search-filters {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.give-search-filters .filter-header {
    display: none !important;
}

.give-suggested-actions ul {
    list-style: none;
    padding: 0;
}

.give-suggested-actions li {
    margin-bottom: 10px;
}

.give-suggested-actions a {
    color: #0079a3;
    text-decoration: none;
    font-weight: 500;
}

.give-suggested-actions a:hover {
    text-decoration: underline;
}

/* Filter buttons */
.give-filter-submit,
.give-filter-clear,
.give-az-filters .filter-group .clear-filters-btn {
    font-size: 16px;
    letter-spacing: normal;
    border-radius: 20px;
    padding: 3px 20px 4px 20px;
}

.give-results-tabs a.active {
    border-bottom-color: #0079a3;
    color: #7d7d7d;
}

.give-results-divider {
    border: none;
    border-top: 1px solid #ddd;
    margin: 0;
}

/* Mobile/Desktop visibility */
.give-desktop-only {
    display: block;
}

.give-mobile-only {
    display: none;
}

@media (max-width: 768px) {
    .give-search-content {
        flex-direction: column;
    }

    .give-search-sidebar,
    .give-az-sidebar {
        width: 100%;
        max-width: none;
    }

    .give-desktop-only {
        display: none;
    }

    .give-mobile-only {
        display: block;
        margin-top: 30px;
    }
}

/* Search header styles */
.search-header {
    background: #f8f9fa;
    margin-bottom: 30px;
}

.search-header h1 {
    color: #333;
    font-size: 2rem;
    margin-bottom: 15px;
}

.search-header .input-sample {
    color: #666;
    font-size: 1.2rem;
    margin-bottom: 20px;
    font-weight: normal;
}

.search-header .input-sample b {
    color: #0079a3;
}

/* Search form styles */
#charity-input {
    max-width: 500px;
}

.input-group {
    position: relative;
}

.input-group .form-control {
    padding: 10px 0;
    font-size: 16px;
}

.input-group-text {
    font-weight: 400;
    cursor: pointer;
    padding: 3px 20px;
    border-radius: 20px;
}

.give-filter-submit,
.give-az-filters .filter-group .clear-filters-btn {
    color: #fff;
    border: none;
    background: #0079a3;
}

.give-filter-clear {
    color: #0079a3;
    background: none;
    border: 1px solid #0079a3;
}

.give-filter-submit:hover,
.give-filter-clear:hover,
.give-az-filters .filter-group .clear-filters-btn:hover {
    opacity: 0.9;
}

/* Ensure filter buttons are displayed inline */
.give-az-filters .filter-buttons {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.give-az-filters .filter-group {
    margin-bottom: 15px;
}

.give-az-filters .filter-group label {
    display: block;
    margin-bottom: 5px;
}

/* Form styling */
#give-filters-form fieldset {
    border: none;
    padding: 0;
    margin-bottom: 20px;
}

#checkbox-isAccredited {
    margin-right: 8px;
    vertical-align: middle;
    width: max-content;
}

label[for="checkbox-isAccredited"] {
    display: inline;
    vertical-align: middle;
    font-size: 14px;
}

.give-help-text {
    display: block;
    font-size: 14px;
    color: #6c757d;
    margin-top: 5px;
    font-weight: 400;
}

.give-help-text a {
    color: #0079a3;
    text-decoration: none;
}

.give-help-text a:hover {
    text-decoration: underline;
}

/* 4.4 Multiselect Dropdowns
   ----------------------------------------------------------------- */

/* Multiselect dropdown */
.give-multiselect {
    position: relative;
    width: 100%;
}

.give-dropdown-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    padding: 4px 8px;
    background: transparent;
    border: none;
    border-radius: 4px;
    font-size: 14px;
    line-height: 21px;
    text-align: left;
    cursor: pointer;
    transition:
        border-color 0.15s ease-in-out,
        box-shadow 0.15s ease-in-out;
    min-height: 30px;
}

.give-dropdown-toggle:hover {
    border-color: #80bdff;
}

.give-dropdown-toggle:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.give-dropdown-text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #555;
    font-size: 14px;
}

.give-dropdown-toggle::after {
    content: "";
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 5px;
    vertical-align: middle;
    border-top: 4px dashed;
    border-top: 4px solid;
    border-right: 4px solid transparent;
    border-left: 4px solid transparent;
    color: #333;
}

.give-dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1050;
    background: #fff;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
    margin-top: 2px;
    max-height: 300px;
    overflow: auto;
}

/* Search box */
.give-dropdown-search {
    padding: 8px 8px;
    border-bottom: 1px solid #e9ecef;
    box-sizing: border-box;
}

.give-dropdown-search input {
    width: 100%;
    padding: 4px 8px;
    border: 1px solid #ced4da;
    border-radius: 3px;
    font-size: 16px;
    line-height: 24px;
    box-sizing: border-box;
}

.give-dropdown-search input:focus {
    border-color: #80bdff;
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

/* Action buttons */
.give-dropdown-actions {
    padding: 4px 8px;
    border-bottom: none;
    display: flex;
    gap: 0;
}

.give-dropdown-actions button {
    flex: 1;
    padding: 4px 8px;
    font-size: 14px;
    line-height: 21px;
    border: none;
    background: #f8f9fa;
    cursor: pointer;
}

.give-select-all {
    border-bottom-left-radius: 3.2px;
    border-bottom-right-radius: 0;
    border-top-left-radius: 3.2px;
    border-top-right-radius: 0;
}

.give-deselect-all {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 3.2px;
    border-top-left-radius: 0;
    border-top-right-radius: 3.2px;
}

.give-dropdown-actions button:hover {
    background: #e9ecef;
}

/* Dropdown items */
.dropdown-options {
    max-height: 200px;
    overflow-y: auto;
}

.dropdown-item {
    display: flex;
    align-items: center;
    column-gap: 8px;
    padding: 4px 8px;
    cursor: pointer;
    font-size: 14px;
    color: #333;
    position: relative;
}

.dropdown-item:hover {
    background-color: #f8f9fa;
}

.dropdown-item.selected {
    background-color: rgba(0, 121, 163, 0.1);
}

.dropdown-item.selected:hover {
    background-color: rgba(0, 121, 163, 0.15);
}

.dropdown-item .check-mark {
    display: block;
    width: 8px;
    flex-shrink: 0;
}

.dropdown-item .check-mark.checked::after {
    content: "x";
    font-weight: 700;
}

.dropdown-item .text {
    flex-shrink: 1;
    color: #0079a3;
}

/* Optgroups */
.optgroup-label {
    padding: 3px 20px;
    font-size: 12px;
    font-weight: bold;
    color: #6c757d;
    background-color: #f8f9fa;
    border-bottom: 1px solid #e9ecef;
    border-top: 1px solid #e9ecef;
}

.optgroup-divider {
    height: 10px;
    background-color: #f8f9fa;
}

.give-multiselect.give-singleselect .dropdown-item {
    cursor: pointer;
    padding: 8px 12px;
}

.give-multiselect.give-singleselect .dropdown-item:hover {
    background-color: #f0f8ff;
}

.give-multiselect.give-singleselect .dropdown-item.selected {
    background-color: #e7f3ff;
    color: #0079a3;
}

/* 4.5 A-Z List Layout
   ----------------------------------------------------------------- */

.give-az-list {
    max-width: 1200px;
    margin: 0 auto;
}

/* Header spans only the right column */
.give-az-header {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}

.give-az-header h1 {
    text-align: left;
    margin: 0;
    margin-block: 0 0;
}

.give-az-header p {
    text-align: left;
}

.give-az-meta {
    color: #666;
    font-size: 14px;
    margin-bottom: 20px;
}

/* Container layout */
.give-az-container {
    align-items: flex-start;
    max-width: 1200px;
    position: relative;
    overflow: initial !important;
    margin: auto;
}

/* Sidebar */
.letter-filter {
    width: 100%;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 4px;
    font-size: 14px;
}

.give-az-sidebar {
    position: sticky;
    top: 30px;
}

/* Main content */
.give-az-content {
    flex: 1;
}

/* Letter sections */
.give-az-section {
    margin-bottom: 40px;
}

.give-az-section.hidden {
    display: none;
}

.give-az-letter-header {
    font-size: 28px;
    font-weight: bold;
    color: #007cba;
    margin-top: 0;
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 3px solid #007cba;
}

.give-az-names {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.give-az-name-item {
    padding: 0;
}

.give-az-name-item.hidden {
    display: none;
}

.give-az-name-link {
    color: #007cba;
    text-decoration: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0;
    font-size: 16px;
    margin-bottom: 8px;
}

.give-az-name-link:hover {
    text-decoration: underline;
    color: #005a87;
}

.give-az-name-no-link {
    color: #666;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 6px 0;
}

.accredited-badge {
    font-size: 12px;
    color: #28a745;
    font-weight: 500;
    flex-shrink: 0;
}

/* Error states */
.give-az-error,
.give-az-no-results {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 20px;
    text-align: center;
    margin: 20px 0;
}

/* A-Z List Grid Layout */
.give-az-grid-container {
    display: grid;
    grid-template-columns: minmax(250px, 300px) 1fr;
    /* Adjust 250px to match sidebar width */
    grid-template-rows: auto 1fr;
    gap: 30px;
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
}

/* Top left empty cell */
.give-az-top-spacer {
    grid-column: 1;
    grid-row: 1;
}

/* Sidebar in bottom left */
.give-az-sidebar {
    grid-column: 1;
    grid-row: 2;
    min-width: 250px;
    max-width: 300px;
    align-self: start;
}

/* Content in bottom right */
.give-az-content {
    grid-column: 2;
    grid-row: 2;
}

.give-az-header ul {
    margin-top: 16px;
    margin-bottom: 16px;
}

.wp-block-query-title {
    color: black;
}

.give-az-header li:not(:last-child) {
    margin-bottom: 16px;
}

/* 4.6 Search Results Display
   ----------------------------------------------------------------- */

.give-search-meta {
    color: #666;
    margin-bottom: 20px;
}

.give-results-list {
    padding: 0;
    list-style: none;
}

.give-charity-card {
    background: white;
    padding: 20px;
    border-bottom: 1px solid #ddd;
    border-radius: 0px;
}

.charity-header {
    margin-bottom: 0px;
}

.charity-name {
    margin: 0;
    color: #0079a3;
    font-size: 16px;
    font-weight: bold;
}

.charity-aka {
    margin: 0;
    color: #777;
    font-weight: bold;
    font-size: 14px;
    line-height: 21px;
}

.charity-address {
    margin: 0;
    padding: 0;
    font-size: 14px;
}

.address-line1,
.address-line2 {
    margin: 0;
    color: #444;
    font-size: 14px;
}

.charity-details {
    margin: 0;
    padding: 0;
}

.charity-details p {
    margin: 0;
    color: #555;
    font-size: 14px;
}

.charity-category,
.charity-accredited {
    font-size: 14px;
}

.charity-actions {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.view-report-btn {
    color: #0079a3;
    text-decoration: none;
    text-transform: capitalize;
    font-size: 14px;
}

.view-report-btn:hover {
    text-decoration: none;
    color: #0079a3;
}

.give-search-error,
.give-no-results {
    background: #f8f9fa;
    border: 1px solid #dee2e6;
    border-radius: 4px;
    padding: 20px;
    text-align: center;
    margin: 20px 0;
}

.give-search-no-query {
    text-align: center;
    margin: 40px 0;
}

/* Results section */
.give-search-results {
    flex: 1;
}

.give-results-tabs a {
    color: #0079a3;
    font-weight: 600;
    text-decoration: none;
    padding-bottom: 2px;
    border-bottom: 3px solid transparent;
    display: inline-block;
    font-size: 16px;
    text-transform: uppercase;
    letter-spacing: normal;
}

.give-results-tabs a.active {
    border-bottom-color: #0079a3;
    color: #7d7d7d;
}

.give-results-divider {
    border: none;
    border-top: 1px solid #ddd;
    margin: 0;
}

/* Mobile/Desktop visibility */
.give-desktop-only {
    display: block;
}

.give-mobile-only {
    display: none;
}

/* Not found section */
.not-found {
    padding-top: 20px;
    border-top: 1px solid #dee2e6;
}

.not-found h5 {
    color: #333;
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
}

.not-found-h6 {
    font-size: 14px;
    margin-bottom: 12px;
}

.not-found-h6 a {
    color: #0079a3;
    text-decoration: none;
    font-weight: normal;
}

.not-found-h6 a:hover {
    text-decoration: underline;
}

/* Right column - Results */
.charity-result.main-content {
    padding: 0 15px;
}

/* Search heading styles */
.search-heading {
    margin-bottom: 20px;
}

.search-heading__nav {
    display: flex;
    gap: 20px;
    margin-bottom: 10px;
}

.search-heading__nav a {
    padding: 3px 4px 2px 0px;
    text-transform: uppercase;
    color: #0079a3;
    font-weight: 600;
    text-decoration: none;
    font-size: 14px;
}

.search-heading__nav a.active {
    border-bottom: 3px solid #0079a3;
    color: #7d7d7d;
}

.search-heading__divider {
    margin: 15px 0;
    border: 0;
    border-top: 1px solid #dee2e6;
}

/* Result styling */

.charity-list-item {
    border-bottom: 1px solid #dee2e6;
}

.charity-list-item:last-child {
    border-bottom: none;
}

.give-charity-card {
    background: white;
    padding: 20px 0;
    border-radius: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    /* Two equal columns */
    grid-template-rows: auto auto;
    /* Two rows, height based on content */
    gap: 8px;
}

.give-charity-card:last-child {
    grid-column: 1 / -1;
}

.charity-name {
    color: #0079a3 !important;
    font-size: 18px !important;
    font-weight: 600 !important;
    margin-bottom: 5px !important;
}

.charity-seal {
    display: flex;
    align-items: center;
    align-self: baseline;
}

.charity-seal img {
    width: 128px;
    max-width: 100%;
    height: auto;
}

.view-report-btn {
    color: #0079a3;
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    text-transform: uppercase;
}

.view-report-btn:hover {
    text-decoration: underline;
}

.give-pagination-summary {
    color: #777;
    text-transform: uppercase;
    font-size: 12px;
    line-height: 18px;
    padding-left: 0;
    margin-bottom: 0;
    margin-top: 5px;
}

/* =================================================================
   5. ARCHIVE PAGES
   ================================================================= */

/* 5.1 News Archive
   ----------------------------------------------------------------- */

/* News Archive Styles */
.news-archive-main {
    max-width: none;
    margin: 0;
    padding: 0;
    margin-top: 0px !important;
}

.archive-header-wrapper {
    background-color: #f4f4f4;
    width: 100%;
    padding: 40px 0;
    margin-bottom: 40px;
}

.archive-header {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    text-align: left;
}

.archive-title {
    font-size: 2.5rem;
    margin: 0 0 20px 0;
}

.archive-description {
    font-size: 1.125rem;
    color: #666;
    margin-bottom: 0;
    max-width: 390px;
}

/* Archive content wrapper for side-by-side layout */
.archive-content-wrapper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
}

/* Archive Subnav */
.archive-subnav {
    display: flex;
    justify-content: flex-end;
    flex-shrink: 0;
}

.subnav-list {
    display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    gap: 40px;
    align-items: center;
}

.subnav-item {
    margin: 0;
}

.subnav-link {
    text-decoration: none;
    color: #666;
    font-size: 1rem;
    font-weight: 500;
    transition: color 0.3s ease;
}

.subnav-item.active .subnav-link {
    color: #333;
    font-weight: 600;
}

.subnav-item:not(.subscribe) .subnav-link:hover {
    color: #0073aa;
}

/* Subscribe button styling */
.subnav-item.subscribe .subnav-link {
    background-color: #ff9500;
    color: white;
    padding: 8px 16px;
    border-radius: 4px;
    font-weight: 600;
    display: flex;
    align-items: center;
    gap: 8px;
}

.subnav-item.subscribe .subnav-link:hover {
    background-color: #e68400;
    color: white;
}

.subnav-item.subscribe .subnav-link::before {
    content: "✉";
    font-size: 14px;
}

/* 5.2 Video Archive
   ----------------------------------------------------------------- */

/* Video Archive Styles */
.video-archive-main,
.tips-archive-main,
.wise-giving-guide-archive-main,
.donor-trust-report-archive-main {
    max-width: none;
    margin: 0;
    padding: 0;
    margin-top: 0px !important;
}

/* Video Archive YouTube iframe styling */
.video-archive-main .post-thumbnail iframe,
.podcast-archive-main .post-thumbnail iframe {
    width: 300px !important;
    height: 169px !important;
    /* 16:9 aspect ratio */
    max-width: 100%;
    border-radius: 8px;
    justify-content: center;
}

/* Play Icon Styles */
.play-icon {
    width: 16px;
    height: 16px;
    margin-left: 8px;
    vertical-align: middle;
    display: inline-block;
}

.featured-post-title .play-icon {
    width: 18px;
    height: 18px;
    margin-left: 10px;
}

/* Video Archive alignment adjustments */
.video-archive-main .archive-post-item,
.podcast-archive-main .archive-post-item {
    align-items: flex-start;
}

.video-archive-main .post-thumbnail,
.podcast-archive-main .post-thumbnail {
    display: flex;
    align-items: flex-start;
    justify-content: center;
}

/* 5.3 Podcast Archive
   ----------------------------------------------------------------- */

/* Podcast Archive Styles */
.podcast-archive-main {
    max-width: none;
    margin: 0;
    padding: 0;
    margin-top: 0px !important;
}

/* Remove max-width constraint for podcast archive description */
.podcast-archive-main .archive-description {
    max-width: none;
}

/* 5.4 Tips Archive
   ----------------------------------------------------------------- */

/* Remove max-width constraint for tips archive description */
.tips-archive-main .archive-description,
.wise-giving-guide-archive-main .archive-description,
.donor-trust-report-archive-main .archive-description {
    max-width: none;
}

/* 5.5 Archive Components (Featured Posts, Post Lists)
   ----------------------------------------------------------------- */

/* Featured Post Section */
.featured-post-section {
    margin-bottom: 60px;
    min-height: 450px;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    position: relative;
    display: flex;
    align-items: center;
    border-radius: 8px;
    overflow: hidden;
}

.featured-post-overlay {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 60px;
}

.featured-post-content {
    background: white;
    padding: 40px;
    max-width: 550px;
    border-radius: 8px;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}

.featured-label {
    color: #ff9500;
    font-size: 0.875rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 1px;
    display: block;
    margin-bottom: 15px;
}

.featured-post-title {
    font-size: 2.25rem;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #0073aa;
}

.featured-post-title a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.featured-post-title a:hover {
    color: #005a87;
}

.featured-post-excerpt {
    font-size: 1.125rem;
    line-height: 1.6;
    margin-bottom: 25px;
    color: #333;
}

.featured-read-more {
    display: inline-block;
    color: #0073aa;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: color 0.3s ease;
}

.featured-read-more:hover {
    color: #005a87;
    text-decoration: underline;
}

/* Regular Posts List */
.posts-list {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin-bottom: 0px;
}

.posts-list .archive-post-item:last-child {
    padding-bottom: 0;
}

.archive-post-item {
    display: flex;
    gap: 25px;
    padding: 30px 0;
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
}

.archive-post-item:last-child {
    border-bottom: none;
}

.archive-post-item .post-thumbnail {
    flex-shrink: 0;
    width: 280px;
}

.archive-post-item .post-thumbnail img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px;
}

/* Unset height for donor trust report archive images */
.donor-trust-report-archive-main .archive-post-item .post-thumbnail img {
    height: unset;
}

.wise-giving-guides-post-thumbnail img {
    width: 300px;
    object-fit: cover;
    border-radius: 6px;
}

.archive-post-item .post-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.archive-post-item .post-title {
    font-size: 1.5rem;
    margin-bottom: 12px;
    line-height: 1.3;
}

.archive-post-item .post-title a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.archive-post-item .post-title a:hover {
    color: #0073aa;
}

.archive-post-item .post-meta {
    color: #666;
    font-size: 0.875rem;
    margin-bottom: 15px;
}

.archive-post-item .post-excerpt {
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
    flex-grow: 1;
}

.archive-post-item .post-excerpt p:last-child {
    margin-bottom: 0;
}

/* =================================================================
   6. SINGLE POST TEMPLATES
   ================================================================= */

/* 6.1 Single News
   ----------------------------------------------------------------- */

/* Single News Post Styles */
.single-news-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.single-news-article {
    max-width: 920px;
    margin: 0 auto;
}

.single-news-header {
    margin-bottom: 40px;
    text-align: center;
}

.single-news-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #333;
}

.single-news-tags {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 5px;
    color: #666;
    font-size: 0.9rem;
}

.single-news-date-wrapper {
    margin-bottom: 20px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
}

.single-news-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: #666;
    line-height: 1;
    font-size: 1.1rem;
}

/* Ensure share icons align vertically with the date */
.single-news-share,
.single-news-share .a2a_kit {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    line-height: 1;
    padding-top: 4px;
}

.podcast-iframe {
    align-items: center;
    justify-content: center;
    display: flex;
    margin-bottom: 30px;
}

.calendar-icon {
    width: 16px;
    height: 16px;
    display: inline-block;
}

.single-news-tags .tags-label {
    font-weight: 600;
}

.single-news-tags a {
    color: #0073aa;
    text-decoration: none;
}

.single-news-tags a:hover {
    text-decoration: underline;
}

.single-news-featured-image {
    margin-bottom: 40px;
    text-align: center;
}

.single-news-featured-image img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.single-news-content {
    font-size: 1.125rem;
    line-height: 1.7;
    margin-bottom: 60px;
}

.single-news-content p {
    margin-bottom: 20px;
}

.single-news-content h2,
.single-news-content h3,
.single-news-content h4 {
    margin-top: 40px;
    margin-bottom: 20px;
    color: #333;
}

.single-news-content iframe {
    display: block;
    margin: 0 auto;
}

/* Post Navigation */
.single-news-navigation {
    margin-bottom: 40px;
    padding: 30px 0;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}

/* 6.2 Single Video
   ----------------------------------------------------------------- */

/* Single Video Post Styles */
.single-video-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.single-video-article {
    max-width: 800px;
    margin: 0 auto;
}

.single-video-header {
    margin-bottom: 40px;
    text-align: center;
}

.single-video-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #333;
}

.single-video-date-wrapper {
    margin-bottom: 0px;
    text-align: left;
}

.single-video-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: #666;
    font-size: 0.95rem;
}

.single-video-featured-content {
    margin-bottom: 40px;
    text-align: center;
}

.single-video-featured-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.single-video-featured-content iframe {
    max-width: 100%;
    border-radius: 8px;
}

.single-video-content {
    font-size: 1.125rem;
    line-height: 1.7;
    margin-bottom: 60px;
}

.single-video-content p {
    margin-bottom: 20px;
}

.single-video-content h2,
.single-video-content h3,
.single-video-content h4 {
    margin-top: 40px;
    margin-bottom: 20px;
    color: #333;
}

.single-video-content iframe {
    display: block;
    margin: 0 auto;
    width: 720px;
    height: 405px;
}

/* Video Post Navigation */
.single-video-navigation {
    margin-bottom: 40px;
    padding: 30px 0;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}

/* Single Video Recommended Content Styles */
.single-video-main .recommended-post-thumbnail iframe {
    width: 100%;
    max-width: 300px;
    height: auto;
    aspect-ratio: 16/9;
    border-radius: 8px;
}

/* 6.3 Single Podcast
   ----------------------------------------------------------------- */

/* Single Podcast Styles */
.single-podcast-main {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.single-podcast-article {
    max-width: 800px;
    margin: 0 auto;
}

.single-podcast-header {
    margin-bottom: 40px;
    text-align: center;
}

.single-podcast-title {
    font-size: 2.5rem;
    line-height: 1.2;
    margin-bottom: 20px;
    color: #333;
}

.single-podcast-date-wrapper {
    margin-bottom: 0px;
    text-align: left;
}

.single-podcast-date {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
    color: #666;
    font-size: 0.95rem;
}

.single-podcast-featured-content {
    margin-bottom: 40px;
    text-align: center;
}

.single-podcast-featured-content img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

.single-podcast-featured-content iframe {
    max-width: 100%;
    border-radius: 8px;
}

.single-podcast-content {
    font-size: 1.125rem;
    line-height: 1.7;
    margin-bottom: 60px;
}

.single-podcast-content p {
    margin-bottom: 20px;
}

.single-podcast-content h2,
.single-podcast-content h3,
.single-podcast-content h4 {
    margin-top: 40px;
    margin-bottom: 20px;
    color: #333;
}

.single-podcast-navigation {
    margin-bottom: 40px;
    padding: 30px 0;
    border-top: 1px solid #e0e0e0;
    border-bottom: 1px solid #e0e0e0;
}

/* 6.4 Single Components (Navigation, Recommended)
   ----------------------------------------------------------------- */

.nav-links {
    display: flex;
    justify-content: space-between;
    gap: 40px;
}

.nav-previous,
.nav-next {
    flex: 1;
}

.nav-next {
    text-align: right;
}

.nav-previous a,
.nav-next a {
    display: block;
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.nav-previous a:hover,
.nav-next a:hover {
    color: #0073aa;
}

.nav-subtitle {
    display: block;
    font-size: 0.875rem;
    color: #0073aa;
    font-weight: 600;
    margin-bottom: 5px;
}

.nav-title {
    display: block;
    font-size: 1rem;
    color: #333;
    font-weight: 500;
    line-height: 1.3;
}

/* Back to Archive Link */
.back-link {
    display: inline-block;
    color: #0073aa;
    text-decoration: none;
    font-weight: 600;
    font-size: 1rem;
    transition: color 0.3s ease;
}

.back-link:hover {
    color: #005a87;
    text-decoration: underline;
}

/* Recommended Content Section */
.recommended-content {
    margin-top: 60px;
    margin-bottom: 80px;
    padding-top: 40px;
    border-top: 1px solid #e0e0e0;
}

.recommended-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 30px;
}

.recommended-title {
    font-size: 1.75rem;
    margin: 0;
    color: #333;
}

.recommended-posts {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.recommended-post {
    display: flex;
    gap: 25px;
    padding: 30px 0;
    background: #fff;
    border-bottom: 1px solid #e0e0e0;
}

.recommended-post:last-child {
    border-bottom: none;
}

.recommended-post-thumbnail {
    flex-shrink: 0;
    width: 280px;
}

.recommended-post-thumbnail img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 6px;
}

.recommended-post-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.recommended-post-title {
    font-size: 1.5rem;
    margin-bottom: 12px;
    line-height: 1.3;
}

.recommended-post-title a {
    text-decoration: none;
    color: inherit;
    transition: color 0.3s ease;
}

.recommended-post-title a:hover {
    color: #0073aa;
}

.recommended-post-excerpt {
    font-size: 1rem;
    line-height: 1.6;
    color: #333;
    flex-grow: 1;
}

/* =================================================================
   7. SPECIAL PAGES
   ================================================================= */

.news-archive-main .wp-block-group__inner-container,
.podcast-archive-main .wp-block-group__inner-container,
.video-archive-main .wp-block-group__inner-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

.donor-trust-report-archive-main .wp-block-group__inner-container,
.tips-archive-main .wp-block-group__inner-container,
.wise-giving-guide-archive-main .wp-block-group__inner-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

/* 7.1 Wise Giving Guide/Tips Page
   ----------------------------------------------------------------- */

/* News Page Styling */
.item-wrap {
    font-family: -apple-system, "system-ui", "Segoe UI", Roboto, sans-serif;
}

/* Wise Giving Guide Page */
main.tips-main {
    width: 100%;
    min-width: 100%;
    padding-top: 0;
}

h1.wp-block-post-title {
    /* margin: 0px 0px 18px 0px; */
    padding: 20px;
}

h2.tips-heading {
    color: #2d2926;
    text-decoration: none;
    font-size: 26px;
    font-weight: bold;
}

.tips-grid-container {
    max-width: 920px;
    margin: 0 auto;
}

.tips-body-content {
    width: 70%;
    margin: 0 auto;
}

.tips-body-content p {
    font-size: 1.125rem;
    color: #666;
    line-height: 1.7rem;
}

.tips-grid-container .tip-item {
    border-bottom: solid 1px #d0d0d0;
    font-size: 1rem;
    color: rgba(46, 46, 46, 1);
    line-height: 22px;
    margin-bottom: 25px;
}

.tip-content-grid {
    margin: 0 auto;
    align-items: start !important;
}

.tips-pagination a.wp-block-button__link.wp-element-button {
    background: #0079a3;
}

.tips-pagination {
    justify-content: center;
    display: flex;
    align-items: center;
    gap: 10px;
    align-items: center !important;
    margin-bottom: 3rem;
    margin-top: 3rem;
}

p.pagination-info {
    margin-right: 20px;
    margin-left: 20px;
}

/* 7.2 AskGive Page
   ----------------------------------------------------------------- */

/* AskGive Page Styles */
.askgive-main {
    box-sizing: border-box;
    max-width: 100%;
    margin: 0;
    padding: 0 5%;
    display: flex;
    gap: 40px;
    position: relative;
    min-height: calc(100vh - 80px);
}

.askgive-news-sidebar {
    max-width: 20%;
    padding: 0 15px;
}

.askgive-news-sidebar h2 {
    font-weight: 700;
    font-size: 28px;
}

.askgive-news-sidebar .sidebar-news-item {
    display: flex;
    flex-direction: column;
    gap: 16px;
    padding: 20px 0;
    border-bottom: 2px solid rgba(128 128 126 / 10%);
}

.askgive-news-sidebar .sidebar-news-item:last-child {
    border-bottom: none;
}

.sidebar-news-item:first-child {
    padding-top: 0;
}

.askgive-news-sidebar .news-item-thumbnail {
    flex-shrink: 0;
}

.askgive-news-sidebar .news-item-thumbnail img {
    max-width: 100%;
    height: auto;
    object-fit: cover;
    border-radius: 8px;
    box-shadow: 0 1px 2px rgba(128 128 126 / 20%);
}

.askgive-news-sidebar .news-item-content {
    display: flex;
    flex-direction: column;
    flex: 1;
}

.askgive-news-sidebar .news-item-title {
    margin: 0 0 8px 0;
    line-height: 1.4;
    font-size: 28px;
    font-weight: 700;
}

.askgive-news-sidebar .news-item-title a {
    color: #2e2e2e;
    text-decoration: none;
    transition: color 0.2s;
}

.askgive-news-sidebar .news-item-title a:hover {
    color: #005f86;
    text-decoration: underline;
}

.askgive-news-sidebar .news-item-excerpt {
    color: #2e2e2e;
    line-height: 1.5;
    margin-bottom: 8px;
    font-size: 16px;
}

.askgive-news-sidebar .news-item-date {
    color: #6c757d;
    font-size: 16px;
}

.askgive-news-sidebar .news-pagination {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 20px;
    padding: 20px 0;
}

.askgive-container {
    flex: 1;
    position: sticky;
    top: 80px;
    height: calc(100vh - 100px);
    overflow: hidden;
    border-left: 2px solid rgba(128 128 126 / 10%);
}

/* Responsive: Hide sidebar on tablets and smaller screens */
@media (max-width: 992px) {
    .askgive-main {
        flex-direction: column;
        gap: 0;
        padding-left: 0;
        padding-right: 0;
    }

    .askgive-news-sidebar {
        display: none;
    }

    .askgive-container {
        border-left: none;
        width: 100%;
        max-width: 100%;
    }
}

.askgive-interface {
    height: 100%;
    margin-bottom: 0;
}

.askgive-chat-container {
    background: #f8f9fa;
    border-radius: 12px;
    padding: 30px;
    margin-bottom: 40px;
}

.askgive-welcome {
    text-align: center;
    margin-bottom: 30px;
}

.askgive-welcome h2 {
    font-size: 1.75rem;
    color: #333;
    margin-bottom: 10px;
}

.askgive-welcome p {
    color: #666;
    font-size: 1rem;
}

.askgive-chat-interface {
    background: white;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}

.chat-messages {
    min-height: 300px;
    max-height: 500px;
    overflow-y: auto;
    padding: 20px;
    border-bottom: 1px solid #e0e0e0;
}

.message {
    margin-bottom: 20px;
}

.bot-message .message-content {
    background: #e3f2fd;
    padding: 15px 20px;
    border-radius: 18px 18px 18px 4px;
    max-width: 80%;
}

.user-message .message-content {
    background: #007cba;
    color: white;
    padding: 15px 20px;
    border-radius: 18px 18px 4px 18px;
    max-width: 80%;
    margin-left: auto;
}

.message-content p {
    margin: 0 0 10px 0;
}

.message-content p:last-child {
    margin-bottom: 0;
}

.message-content ul {
    margin: 10px 0;
    padding-left: 20px;
}

.chat-input-container {
    padding: 20px;
    background: #fafafa;
}

.chat-input-wrapper {
    display: flex;
    gap: 10px;
    align-items: flex-end;
}

.chat-input {
    flex: 1;
    border: 1px solid #ddd;
    border-radius: 20px;
    padding: 12px 16px;
    font-size: 14px;
    resize: none;
    outline: none;
    transition: border-color 0.3s ease;
}

.chat-input:focus {
    border-color: #007cba;
}

.send-button {
    background: #007cba;
    color: white;
    border: none;
    border-radius: 50%;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.send-button:hover {
    background: #005a8b;
}

.send-icon {
    font-size: 16px;
    font-weight: bold;
}

.askgive-suggestions {
    margin-bottom: 40px;
}

.askgive-suggestions h3 {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 20px;
    text-align: center;
}

.suggestion-buttons {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 15px;
}

.suggestion-btn {
    background: white;
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 15px 20px;
    text-align: left;
    cursor: pointer;
    transition: all 0.3s ease;
    font-size: 14px;
    line-height: 1.4;
}

.suggestion-btn:hover {
    border-color: #007cba;
    background: #f0f8ff;
    transform: translateY(-2px);
}

.askgive-resources {
    border-top: 1px solid #e0e0e0;
    padding-top: 40px;
}

.askgive-resources h3 {
    font-size: 1.5rem;
    color: #333;
    margin-bottom: 20px;
    text-align: center;
}

.resource-links {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
    gap: 20px;
}

.resource-link {
    background: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 20px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
}

.resource-link:hover {
    border-color: #007cba;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    transform: translateY(-2px);
}

.resource-link h4 {
    color: #007cba;
    font-size: 1.125rem;
    margin-bottom: 8px;
}

.resource-link p {
    color: #666;
    font-size: 0.9rem;
    margin: 0;
}

/* 7.3 Donate Page
   ----------------------------------------------------------------- */

/* Page Donate Styles */
.wisegiving-bottom {
    padding: 16px;
    max-width: 500px;
    text-align: center;
    margin: 0 auto;
}

.bottom-paragraph {
    padding: 16px;
    text-align: center;
    margin: 40px auto;
    max-width: 600px;
}

.support-our-work p {
    padding-bottom: 30px;
}

.tax-status-privacy-policy {
    padding-left: 40px;
    padding-right: 40px;
}

/* Per kanban card */
* {
    box-sizing: border-box;
    min-width: 0px;
    /* Counter-intuitive: opts everything into correct overflow, if necessary */
}

/* Nick: margin on Featured Images in Post template was otherwise impossible to remove - affected Tips on Giving */
.wp-block-post-featured-image :where(img) {
    margin-top: 0px !important;
}

a.wp-block-query-pagination-previous,
a.wp-block-query-pagination-next {
    white-space: nowrap;
    border: 0px;
}

a.wp-block-query-pagination-previous:hover,
a.wp-block-query-pagination-next:hover {
    background-color: #ffffff;
    border-color: #ffffff;
}

@media (max-width: 1023px) {
    .wp-container-core-group-is-layout-1b5d9be8 .alignfull {
        padding: 0;
    }

    .wp-block-media-text__media img,
    .wp-block-media-text__media video {
        width: 80%;
        display: block;
        margin: 0 auto;
    }

    .wp-block-media-text>.wp-block-media-text__content {
        padding: 0 8%;
    }
}

/* 7.4 Subscribe Sections
   ----------------------------------------------------------------- */

/* Subscribe Section Styles */
.subscribe-section {
    padding: 0px;
    margin: 60px 0;
    text-align: center;
}

/* Podcast Platforms Grid */
.podcast-platforms {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 15px;
    max-width: 800px;
    margin: 0 auto;
    padding: 10px;
}

.platform-link {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 5px;
    transition: transform 0.3s ease;
}

.platform-link:hover {
    transform: scale(1.1);
}

.platform-icon {
    width: 36px;
    height: 36px;
    object-fit: contain;
}

.subscribe-title {
    font-size: 1.75rem;
    font-weight: 600;
    color: #333;
    margin-bottom: 10px;
}

.subscribe-description {
    font-size: 1.125rem;
    color: #666;
    margin-bottom: 10px;
}

.subscribe-subtitle {
    font-size: 0.95rem;
    color: #777;
    margin-bottom: 0px;
    font-style: italic;
}

.subscribe-options {
    display: flex;
    gap: 30px;
    justify-content: center;
    flex-wrap: wrap;
}

.subscribe-option {
    flex: 1;
    min-width: 200px;
    max-width: 300px;
}

.subscribe-link {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 20px;
    background-color: white;
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    text-decoration: none;
    color: inherit;
    transition: all 0.3s ease;
    height: 100%;
}

.subscribe-link:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
    border-color: #007cba;
}

.subscribe-icon {
    width: 48px;
    height: 48px;
    object-fit: contain;
    flex-shrink: 0;
}

.subscribe-content {
    text-align: left;
    flex: 1;
}

.subscribe-content h4 {
    font-size: 1.125rem;
    font-weight: 600;
    color: #333;
    margin: 0 0 5px 0;
}

.subscribe-content p {
    font-size: 0.95rem;
    color: #666;
    margin: 0;
    line-height: 1.4;
}

/* =================================================================
   8. WORDPRESS BLOCK OVERRIDES
   ================================================================= */

.wp-block-query-title {
    color: black;
}

/* Remove aspect ratio from WordPress image blocks to prevent whitespace issues */
.wp-block-image img {
    aspect-ratio: unset;
}

/* Remove aspect ratio from figcaption to prevent whitespace issues */
.wp-block-image figcaption {
    aspect-ratio: unset;
}

/* Bootstrap grid utilities */
.order-1 {
    order: 1;
}

.order-2 {
    order: 2;
}

.order-3 {
    order: 3;
}

/* =================================================================
   9. MEDIA QUERIES & RESPONSIVE STYLES
   ================================================================= */

/* 9.1 General Responsive
   ----------------------------------------------------------------- */

@media (min-width: 768px) {
    main {
        max-width: 65%;
        padding-top: 30px;
        padding-bottom: 30px;
    }

    .home main {
        max-width: 90% !important;
        margin: 0 auto;
        padding-top: 0;
    }

    main.give-causes-page {
        max-width: unset;
        padding-top: 0;
    }

    .order-md-1 {
        order: 1;
    }

    .order-md-2 {
        order: 2;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-none {
        display: none !important;
    }
}

@media (max-width: 767px) {
    .d-none {
        display: none !important;
    }

    .d-block {
        display: block !important;
    }
}

/* Responsive design */
@media (max-width: 600px) {
    .charity-actions {
        flex-direction: column;
        align-items: stretch;
    }

    .accredited-badge {
        text-align: center;
        margin-bottom: 10px;
    }

    .pagination-links {
        gap: 4px;
    }

    .pagination-link {
        padding: 6px 8px;
        font-size: 13px;
    }
}

@media (max-width: 768px) {
    .give-charity-card {
        display: flex;
        flex-direction: column;
    }
}

/* 9.2 News Page Responsive
   ----------------------------------------------------------------- */

/* Mobile Responsiveness - News Page */
@media (max-width: 768px) {

    /* Stack columns vertically on mobile */
    .item-wrap {
        text-align: center;
        margin-bottom: 20px;
    }

    .item-wrap h2 {
        font-size: 32px;
        line-height: 1.3;
        margin-bottom: 12px;
    }

    .item-wrap p {
        font-size: 18px;
        padding: 0 10px;
    }

    /* Navigation adjustments for mobile */
    .wp-block-navigation {
        justify-content: center;
    }

    .wp-block-navigation a {
        font-size: 16px;
        margin-right: 20px;
    }

    /* Reduce padding on main container */
    .has-custom-color-6-background-color {
        padding-top: 25px;
        padding-bottom: 25px;
    }
}

@media (max-width: 480px) {

    /* Extra small screens */
    .item-wrap h2 {
        font-size: 28px;
    }

    .item-wrap p {
        font-size: 16px;
    }

    .wp-block-navigation a {
        font-size: 14px;
        margin-right: 15px;
    }
}

/* 9.3 Footer Responsive
   ----------------------------------------------------------------- */

/* Responsive Design - Footer */
@media (max-width: 768px) {
    .footer-main-container {
        padding: 40px 20px !important;
    }

    .footer-columns.wp-block-columns {
        flex-direction: column;
    }

    .footer-columns .wp-block-column {
        flex-basis: 100% !important;
        margin-bottom: 30px;
    }

    .footer-signup-form {
        max-width: 100%;
    }

    .footer-main-container .wp-block-columns:last-child .wp-block-column:last-child {
        text-align: left;
        margin-top: 20px;
    }
}

/* 9.4 Archive Pages Responsive
   ----------------------------------------------------------------- */

/* Desktop: Remove top margin from post titles */
@media (min-width: 768px) {
    .archive-post-item .post-title {
        margin-top: 0rem;
    }

    .posts-list .archive-post-item:first-child {
        padding-top: 0;
    }
}

/* Responsive Design for News Archive */
@media (max-width: 768px) {
    .featured-post-section {
        min-height: 350px;
        background-image: none !important;
    }

    .featured-post-overlay {
        padding: 20px;
    }

    .featured-post-content {
        padding: 25px;
        max-width: 100%;
    }

    .featured-post-title {
        font-size: 1.75rem;
    }

    .featured-post-excerpt {
        font-size: 1rem;
    }

    .archive-title {
        font-size: 2rem;
    }

    /* Mobile layout adjustments */
    .archive-content-wrapper {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .archive-header-wrapper {
        margin-bottom: 0rem;
    }

    .archive-description {
        margin-bottom: 10px;
    }

    .archive-subnav {
        justify-content: center;
        width: 100%;
    }

    .subnav-list {
        gap: 20px;
        flex-wrap: wrap;
        justify-content: center;
    }

    .subnav-link {
        font-size: 0.9rem;
    }

    /* Stack post items vertically on mobile */
    .archive-post-item {
        padding-top: 30px;
        flex-direction: column;
        gap: 0px;
    }

    .archive-post-item .post-thumbnail {
        width: 100%;
    }

    .archive-post-item .post-thumbnail img {
        height: 200px;
    }

    .archive-post-item .post-title {
        font-size: 1.25rem;
    }

    .archive-post-item .post-excerpt {
        line-height: 1.4;
    }
}

/* Mobile responsive for podcast platforms */
@media (max-width: 768px) {
    .podcast-platforms {
        gap: 12px;
        max-width: 100%;
    }

    .platform-icon {
        width: 32px;
        height: 32px;
        min-width: 32px;
        min-height: 32px;
        max-width: 32px;
        max-height: 32px;
        object-fit: contain;
        display: block;
    }

    .platform-link {
        flex-shrink: 0;
        width: 32px;
        height: 32px;
        display: inline-block;
    }
}

/* Extra mobile constraints for Safari */
@media (max-width: 480px) {
    .podcast-platforms {
        gap: 10px;
        padding: 0 10px;
    }

    .platform-icon {
        width: 28px !important;
        height: 28px !important;
        min-width: 28px !important;
        min-height: 28px !important;
        max-width: 28px !important;
        max-height: 28px !important;
        object-fit: contain !important;
        display: block !important;
        flex-shrink: 0 !important;
    }

    .platform-link {}
}

/* Mobile Safari Archive Page Fixes */
@media (max-width: 768px) {

    /* Archive header fixes */
    .archive-header-wrapper {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        overflow-x: hidden;
    }

    .archive-header {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 20px 15px !important;
        max-width: 100% !important;
    }

    /* Featured post section fixes */
    .featured-post-section {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        margin-bottom: 0;
        background-size: cover !important;
        background-position: center !important;
        background-attachment: scroll !important;
        position: relative;
        overflow: hidden;
    }

    .featured-post-overlay {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        height: 100% !important;
        top: 0;
        left: 0;
    }

    .featured-post-content {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 20px 15px !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Posts list fixes */
    .posts-list {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        padding: 0 15px !important;
    }

    .archive-post-item {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        flex-direction: column !important;
        -webkit-flex-direction: column !important;
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
    }

    .archive-post-item .post-thumbnail {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        flex-shrink: 0 !important;
        -webkit-flex-shrink: 0 !important;
    }

    .archive-post-item .post-thumbnail img,
    .archive-post-item .post-thumbnail iframe {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 200px !important;
        max-height: 250px !important;
        object-fit: cover !important;
        display: block !important;
    }

    .archive-post-item .post-content {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        max-width: 100% !important;
        padding: 15px 0 !important;
        flex: 1 !important;
        -webkit-flex: 1 !important;
    }

    .archive-post-item .post-title {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        font-size: 1.25rem !important;
        line-height: 1.3 !important;
        margin-bottom: 10px !important;
    }

    .archive-post-item .post-excerpt {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100% !important;
        font-size: 0.95rem !important;
        line-height: 1.4 !important;
    }

    /* Play icon fixes */
    .play-icon {
        width: 20px !important;
        height: 20px !important;
        max-width: 20px !important;
        max-height: 20px !important;
        margin-left: 8px !important;
        vertical-align: middle !important;
        display: inline-block !important;
    }
}

/* Extra small mobile Safari fixes */
@media (max-width: 480px) {
    .archive-header {
        padding: 0px 20px !important;
    }

    .featured-post-content {
        padding: 15px 10px !important;
        box-shadow: none;
    }

    .posts-list {
        padding: 0 10px !important;
    }

    .archive-post-item .post-thumbnail img,
    .archive-post-item .post-thumbnail iframe {
        min-height: 180px !important;
        max-height: 200px !important;
    }

    .archive-post-item .post-title {
        font-size: 1.1rem !important;
    }

    .archive-post-item .post-excerpt {
        font-size: 0.9rem !important;
    }
}

/* 9.5 Single Pages Responsive
   ----------------------------------------------------------------- */

/* Mobile Responsive for Single News */
@media (max-width: 768px) {
    .single-news-title {
        font-size: 2rem;
    }

    .single-news-content {
        font-size: 1rem;
    }

    /* Stack share icons above the date on mobile */
    .single-news-date-wrapper {
        flex-direction: column-reverse;
        justify-content: flex-start;
        gap: 8px;
    }

    .single-news-share,
    .single-news-share .a2a_kit {
        justify-content: flex-start;
        align-items: flex-start;
        padding-top: 0;
    }

    .single-news-featured-image {
        margin-bottom: 20px;
        text-align: center;
    }

    .nav-links {
        flex-direction: column;
        gap: 30px;
    }

    .nav-next {
        text-align: left;
    }

    /* Mobile responsive for recommended content */
    .recommended-header {
        flex-direction: column;
        align-items: flex-start;
        gap: 20px;
    }

    .recommended-title {
        font-size: 1.5rem;
    }

    .recommended-post {
        flex-direction: column;
        padding: 25px 0;
        gap: 15px;
    }

    .recommended-post-thumbnail {
        width: 100%;
    }

    .recommended-post-thumbnail img {
        height: 200px;
    }

    .recommended-post-title {
        font-size: 1.25rem;
    }
}

/* Mobile Responsive for Single Video */
@media (max-width: 768px) {
    .single-video-title {
        font-size: 2rem;
    }

    .single-video-content {
        font-size: 1rem;
    }

    .single-video-content iframe {
        display: block;
        margin: 0 auto;
        width: 100%;
    }

    /* Tax Status Privacy Policy Styles */
    .tax-status-privacy-policy {
        text-align: center;
        margin: 40px auto;
        max-width: 800px;
    }

    /* Subscribe Section Mobile */
    .subscribe-section {
        /* padding: 30px 20px;
        padding-bottom: 0px;
        margin: 40px 0; */
    }

    .subscribe-title {
        font-size: 1.5rem;
    }

    .subscribe-description {
        font-size: 1rem;
        margin-bottom: 30px;
    }

    .subscribe-options {
        flex-direction: column;
        gap: 20px;
    }

    .subscribe-option {
        min-width: auto;
        max-width: none;
    }

    .subscribe-link {
        padding: 15px;
        gap: 12px;
    }

    .subscribe-icon {
        width: 40px;
        height: 40px;
    }

    .subscribe-content h4 {
        font-size: 1rem;
    }

    .subscribe-content p {
        font-size: 0.9rem;
    }
}

/* Ensure smallest screens override the 768px rule above */
@media (max-width: 480px) {
    .single-video-content iframe {
        height: auto;
    }
}

/* Mobile Responsive for Single Podcast */
@media (max-width: 768px) {
    .single-podcast-title {
        font-size: 2rem;
    }

    .single-podcast-content {
        font-size: 1rem;
    }
}

/* 9.6 Search/Filter Responsive
   ----------------------------------------------------------------- */

@media (max-width: 768px) {
    .give-search-content {
        flex-direction: column;
    }

    .give-search-sidebar,
    .give-az-sidebar {
        width: 100%;
        max-width: none;
    }

    .give-az-header .header-spacer {
        display: none;
    }

    .give-desktop-only {
        display: none;
    }

    .give-mobile-only {
        display: block;
        margin-top: 30px;
    }
}

/* Responsive styles */
@media (max-width: 767px) {
    .search-header h1 {
        font-size: 1.5rem;
    }

    .search-header .input-sample {
        font-size: 1rem;
    }

    .container.search {
        padding: 15px 10px;
    }

    .search-box-filter,
    .charity-result.main-content {
        width: 100%;
        margin-bottom: 20px;
    }
}

/* Mobile responsive - stack everything vertically */
@media (max-width: 768px) {
    .give-az-grid-container {
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
    }

    .give-az-top-spacer {
        display: none;
    }

    .give-az-header {
        grid-column: 1;
        grid-row: 1;
    }

    .give-az-sidebar {
        grid-column: 1;
        grid-row: 2;
        position: static;
        min-width: 100%;
        max-width: 100%;
        box-sizing: border-box;
    }

    .give-az-content {
        grid-column: 1;
        grid-row: 3;
    }
}

/* 9.7 Special Pages Responsive
   ----------------------------------------------------------------- */

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
    .tip-content-grid {
        grid-template-columns: 1fr;
        width: 100%;
        gap: var(--wp--preset--spacing--30);
    }

    .tips-body-content {
        width: 90%;
    }

    h1.wp-block-post-title {
        padding: 8px;
    }

    h2.wp-block-heading.tips-heading {
        width: 100%;
        text-align: center;
    }

    .tip-thumbnail .tip-featured-image img,
    .tip-thumbnail .tip-placeholder-image img {
        width: 100%;
        max-width: 300px;
        margin: 0 auto;
        display: block;
    }

    .tip-content .wp-block-heading {
        font-size: 1.3rem;
        margin-bottom: var(--wp--preset--spacing--20);
    }

    .tips-pagination {
        flex-direction: column;
        gap: var(--wp--preset--spacing--30);
        text-align: center;
    }

    .wp-block-button .wp-block-button__link {
        padding: var(--wp--preset--spacing--20) var(--wp--preset--spacing--30);
        font-size: 0.95rem;
    }
}

@media (max-width: 480px) {
    .wp-block-post-title {
        font-size: 1.8rem;
    }

    .wp-block-group {
        /* padding-left: var(--wp--preset--spacing--30);
        padding-right: var(--wp--preset--spacing--30); */
    }

    .tip-item {
        padding: var(--wp--preset--spacing--30);
    }

    .tip-content .wp-block-heading {
        font-size: 1.2rem;
    }

    .tip-text {
        font-size: 0.95rem;
    }
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .askgive-title {
        font-size: 2rem;
    }

    .askgive-chat-container {
        padding: 20px;
    }

    .suggestion-buttons {
        grid-template-columns: 1fr;
    }

    .chat-input-wrapper {
        flex-direction: column;
        gap: 15px;
    }

    .send-button {
        align-self: flex-end;
    }
}

/* Single Tips for Donors - Styling */
.single-tips-for-donors-title {
    text-align: center;
}

.single-tips-for-donors-featured-image {
    text-align: center;
    margin: var(--wp--preset--spacing--40) 0;
}

.single-tips-for-donors-featured-image img {
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border-radius: 12px;
}


/* =================================================================
   10. SAFARI/iOS COMPATIBILITY FIXES
   ================================================================= */

/* 10.1 Global Safari Fixes */
*,
*::before,
*::after {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* Fix Safari flexbox issues */
.wp-block-columns,
.wp-block-group,
.archive-post-item,
.posts-list,
.recommended-posts {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

/* Safari image rendering fixes */
img {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    max-width: 100%;
    height: auto;
}

/* Safari iframe fixes */
iframe {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-transform: translateZ(0);
    transform: translateZ(0);
    max-width: 100%;
}

/* 10.2 Flexbox Safari Compatibility */
@supports (-webkit-appearance: none) {
    .wp-block-columns {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .wp-block-column {
        -webkit-box-flex: 1;
        -webkit-flex: 1;
        flex: 1;
        -webkit-flex-basis: 0;
        flex-basis: 0;
        min-width: 0;
    }

    .archive-post-item {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
        flex-direction: row;
    }

    .posts-list {
        display: -webkit-box;
        display: -webkit-flex;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
        flex-direction: column;
    }
}

/* 10.3 Mobile Safari Specific Fixes */
@media screen and (-webkit-min-device-pixel-ratio: 1) {

    /* Fix viewport issues on iOS */
    @-webkit-viewport {
        width: device-width;
    }

    @viewport {
        width: device-width;
    }

    /* Prevent zoom on input focus */
    input[type="text"],
    input[type="email"],
    input[type="search"],
    textarea,
    select {
        font-size: 16px !important;
        -webkit-appearance: none;
        -webkit-border-radius: 0;
        border-radius: 0;
    }

    /* Fix sticky positioning on iOS */
    .sticky,
    .wp-block-navigation {
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }
}

/* 10.4 iOS Safari Media Query Fixes */
@media (max-width: 768px) and (-webkit-min-device-pixel-ratio: 1) {

    /* Force hardware acceleration for smoother scrolling */
    body {
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translateZ(0);
        transform: translateZ(0);
    }

    /* Fix flexbox issues on mobile Safari */
    .archive-post-item {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .archive-post-item .post-thumbnail {
        -webkit-box-flex: 0 !important;
        -webkit-flex: 0 0 auto !important;
        flex: 0 0 auto !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .archive-post-item .post-content {
        -webkit-box-flex: 1 !important;
        -webkit-flex: 1 !important;
        flex: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    /* Fix image sizing issues on iOS */
    .archive-post-item .post-thumbnail img,
    .archive-post-item .post-thumbnail iframe {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        min-height: 200px !important;
        max-height: 250px !important;
        object-fit: cover !important;
        -webkit-object-fit: cover !important;
    }

    /* Fix featured post section on iOS */
    .featured-post-section {
        -webkit-background-size: cover !important;
        background-size: cover !important;
        -webkit-background-attachment: scroll !important;
        background-attachment: scroll !important;
        position: relative !important;
        overflow: hidden !important;
    }

    /* Fix grid layouts on iOS */
    .tip-content-grid {
        display: -webkit-box !important;
        display: -webkit-flex !important;
        display: flex !important;
        -webkit-box-orient: vertical !important;
        -webkit-box-direction: normal !important;
        -webkit-flex-direction: column !important;
        flex-direction: column !important;
        gap: 20px !important;
    }
}

/* 10.5 iOS Safari Text and Typography Fixes */
@supports (-webkit-touch-callout: none) {

    /* iOS Safari specific styles */
    h1,
    h2,
    h3,
    h4,
    h5,
    h6 {
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale;
        text-rendering: optimizeLegibility;
    }

    p,
    span,
    div {
        -webkit-font-smoothing: subpixel-antialiased;
        -moz-osx-font-smoothing: auto;
    }

    /* Fix text selection on iOS */
    ::selection {
        background-color: rgba(0, 115, 170, 0.3);
    }

    ::-webkit-selection {
        background-color: rgba(0, 115, 170, 0.3);
    }
}

/* 10.6 Safari Button and Form Fixes */
@media screen and (-webkit-min-device-pixel-ratio: 1) {

    button,
    .wp-block-button__link,
    input[type="submit"],
    input[type="button"] {
        -webkit-appearance: none;
        -webkit-border-radius: 0;
        border-radius: 4px;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none;
    }
}

/* Fix hover states on touch devices */
@media (hover: none) and (pointer: coarse) {

    .platform-link:hover,
    .wp-block-button__link:hover,
    button:hover {
        transform: none;
        -webkit-transform: none;
    }
}


/* 10.7 Safari Performance Optimizations */
.archive-post-item,
.featured-post-section,
.wp-block-columns,
.posts-list {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    perspective: 1000px;
}

/* 10.8 iOS Safari Scroll Fixes */
@supports (-webkit-overflow-scrolling: touch) {

    .wp-block-group__inner-container,
    main,
    .archive-posts {
        -webkit-overflow-scrolling: touch;
    }
}

/* ================================================================
    11. Causes Page Styles
   ================================================================= */

main.give-causes-page {
    padding-top: 0;
    margin: unset;
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    max-width: unset;
}

.give-causes-header {
    padding-top: 4%;
    width: 100%;
}

.give-causes-header-text {
    max-width: 65%;
    margin: 0 auto;
}

@media(max-width: 769px) {
    .give-causes-header-text {
        max-width: 90%;
    }
}

.give-causes-page h1 {
    margin: 0;
    font-size: 60px;
    font-weight: 500;
    color: #0079A3;
}

.give-causes-grid-container {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    gap: 16px;
    max-width: 65%;
}

@media(max-width: 990px) {
    .give-causes-grid-container {
        grid-template-columns: 1fr 1fr;
    }
}

@media(max-width: 769px) {
    .give-causes-grid-container {
        max-width: 90%;
    }
}

@media(max-width: 480px) {
    .give-causes-grid-container {
        grid-template-columns: 1fr;
    }
}

.give-causes-grid-item {
    border-radius: 10px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}

.give-causes-item-image {
    line-height: 0;
}

.give-causes-item-image img {
    width: 100%;
    height: auto;
}

h2.give-causes-title {
    font-size: 18px;
    font-weight: 700;
    margin: 0;
}

.give-causes-item-content {
    background-color: #f6f4ee;
    padding: 20px;
    flex: 1;
}

.give-causes-newsletter {
    display: flex;
    padding: 20px 20px 5px 20px;
    flex-direction: column;
    gap: 10px;
    flex-shrink: 0;
    border-radius: 10px;
    background: #7275b7;
    color: #fff;
}

h2.give-causes-newsletter-title {
    margin: 0;
    font-size: 18px;
    font-weight: 500;
    line-height: 125%;
}

.give-causes-newsletter-description {
    font-size: 16px;
    color: #eee;
    margin: 0;
}

.give-causes-newsletter-form {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 15px;
}

input.give-causes-newsletter-input {
    width: 100%;
    height: 46px;
    border-radius: 5px;
    border: none;
    padding: 12px;
}

input.give-causes-newsletter-input::placeholder {
    font-size: 14px;
}

.give-causes-newsletter-combo-input {
    display: flex;
    width: 100%;
    padding-left: 0px;
    justify-content: space-between;
    align-items: flex-start;
    border-radius: 5px;
}

.give-causes-newsletter-combo-input input.give-causes-newsletter-input {
    border-radius: 5px 0 0 5px;
}

button.give-causes-newsletter-button {
    display: flex;
    padding: 15px;
    height: 46px;
    justify-content: center;
    align-items: center;
    gap: 56px;
    border-radius: 0px 5px 5px 0px;
    background: #3f454f;
    color: #fff;
    border: none;
    font-size: 16px;
    padding: 15px;
    flex-shrink: 0;
}

.give-causes-newsletter-privacy {
    width: 100%;
    color: #eee;
    font-size: 13px;
    font-style: italic;
    font-weight: 400;
    line-height: 135%;
    margin: 0;
}

@media screen and (max-width: 782px) {
    html #wpadminbar {
        height: 46px;
        min-width: 240px;
        top: -46px;
    }
}

/* ================================================================
    12. Lore Chat Widget Overrides
   ================================================================= */

#lore-widget-root {
    font-family:
        "proxima-nova",
        -apple-system,
        "system-ui",
        "Segoe UI",
        Roboto,
        sans-serif;
}

#lore-widget-root .ag-minibar.ag-right {
    padding: 16px;
    line-height: 1;
}

#lore-widget-root .ag-badge {
    background: transparent;
    border: none;
    color: rgb(242, 169, 0);
    font-size: 16px;
    font-weight: 600;
}

#lore-widget-root .ag-title {
    font-size: 16px;
    font-weight: 600;
}

@keyframes ag-bounce {

    0%,
    100% {
        animation-timing-function: cubic-bezier(.8, 0, 1, 1);
        transform: translateY(-25%);
    }

    50% {
        animation-timing-function: cubic-bezier(0, 0, .2, 1);
        transform: none;
    }
}

#lore-widget-root .ag-open-btn {
    animation: ag-bounce 1s infinite;
}

#lore-widget-root .ag-panel {
    height: calc(100vh - 80px);
    background-color: #D9EBF1;
}

#lore-widget-root .ag-header {
    background-color: #D9EBF1;
    color: #212529;
    line-height: 1;
}

#lore-widget-root .ag-header .ag-title:before {
    content: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.813 15.904L9 18.75L8.187 15.904C7.97687 15.1689 7.5829 14.4994 7.04226 13.9587C6.50162 13.4181 5.83214 13.0241 5.097 12.814L2.25 12L5.096 11.187C5.83114 10.9769 6.50062 10.5829 7.04126 10.0423C7.5819 9.50162 7.97587 8.83214 8.186 8.097L9 5.25L9.813 8.096C10.0231 8.83114 10.4171 9.50062 10.9577 10.0413C11.4984 10.5819 12.1679 10.9759 12.903 11.186L15.75 12L12.904 12.813C12.1689 13.0231 11.4994 13.4171 10.9587 13.9577C10.4181 14.4984 10.0241 15.1679 9.814 15.903L9.813 15.904ZM18.259 8.715L18 9.75L17.741 8.715C17.5927 8.12159 17.286 7.57962 16.8536 7.14703C16.4212 6.71444 15.8794 6.40749 15.286 6.259L14.25 6L15.286 5.741C15.8794 5.59251 16.4212 5.28556 16.8536 4.85297C17.286 4.42038 17.5927 3.87841 17.741 3.285L18 2.25L18.259 3.285C18.4073 3.87854 18.7142 4.42059 19.1468 4.85319C19.5794 5.28579 20.1215 5.59267 20.715 5.741L21.75 6L20.715 6.259C20.1215 6.40733 19.5794 6.71421 19.1468 7.14681C18.7142 7.57941 18.4073 8.12147 18.259 8.715ZM16.894 20.567L16.5 21.75L16.106 20.567C15.9955 20.2356 15.8094 19.9345 15.5625 19.6875C15.3155 19.4406 15.0144 19.2545 14.683 19.144L13.5 18.75L14.683 18.356C15.0144 18.2455 15.3155 18.0594 15.5625 17.8125C15.8094 17.5655 15.9955 17.2644 16.106 16.933L16.5 15.75L16.894 16.933C17.0045 17.2644 17.1906 17.5655 17.4375 17.8125C17.6845 18.0594 17.9856 18.2455 18.317 18.356L19.5 18.75L18.317 19.144C17.9856 19.2545 17.6845 19.4406 17.4375 19.6875C17.1906 19.9345 17.0045 20.2356 16.894 20.567Z' stroke='black' stroke-opacity='0.8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/svg%3E");
    display: inline-block;
    position: relative;
    top: 5px;
    margin-right: 8px;
}

#lore-widget-root .ag-header .ag-title {
    font-size: 18px;
    font-weight: 700;
}

#lore-widget-root :not(.ag-open-btn .ag-icon).ag-icon {
    color: #212529;
}

#lore-widget-root .ag-body,
#lore-widget-root .ag-footer {
    background-color: transparent;
}

#lore-widget-root .ag-input-row {
    background-color: rgb(0, 67, 123);
}

#lore-widget-root .ag-welcome,
#lore-widget-root .ag-hint,
#lore-widget-root .ag-messages {
    font-size: 16px;
    color: #212529;
}

#lore-widget-root .ag-welcome,
#lore-widget-root .ag-hint {
    padding: 16px;
}

#lore-widget-root .ag-new-chat-btn {
    margin-right: unset !important;
}

#lore-widget-root .ag-bot-message>div:first-child:not(.ag-bot-content),
#lore-widget-root .ag-welcome-logo {
    width: 48px !important;
    height: 48px !important;
    background-color: #fff;
    padding: 2px;
}

#lore-widget-root .ag-welcome-logo img {
    max-height: 100%;
    max-width: 100%;
}

#lore-widget-root .ag-bot-content div:first-child,
.ag-user-message {
    padding: 16px !important;
    font-size: 16px !important;
}

#lore-widget-root .ag-references {
    font-size: 12px !important;
}

#lore-widget-root .ag-references a {
    background-color: #FFD368 !important;
    gap: 8px !important;
    max-width: 100% !important;
}

#lore-widget-root .ag-references a>span:first-child {
    display: inline-block;
    width: 13px !important;
    flex-shrink: 0;
}

#lore-widget-root .ag-bot-content .ag-actions {
    display: flex !important;
    justify-content: flex-start !important;
    border-top: 1px solid rgba(0, 0, 0, 0.05) !important;
}

#lore-widget-root .ag-bot-content .ag-actions button {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    padding: 4px 8px !important;
    background: transparent !important;
    border: 1px solid transparent !important;
    border-radius: 4px !important;
    color: #6b7280 !important;
    font-size: 12px !important;
    cursor: pointer !important;
    transition: all 0.2s !important;
}

#lore-widget-root .ag-bot-content .ag-actions button:hover,
#lore-widget-root .ag-bot-content .ag-actions button:focus {
    background-color: rgba(0, 0, 0, 0.05) !important;
    color: #dc2626 !important;
}

#lore-widget-root .ag-textarea {
    font-family: "proxima-nova",
        -apple-system,
        "system-ui",
        "Segoe UI",
        Roboto,
        sans-serif !important;
}

#lore-widget-root .ag-user-message {
    background-image: linear-gradient(90deg, #027ba4, #02a873) !important;
}

#lore-widget-root .ag-send-btn:hover {
    background-color: transparent !important;
}

#lore-widget-root .ag-hint {
    border: 1px solid #e5e7eb;
}

#lore-widget-root .ag-bot-content {
    padding: 0 !important;
}

#lore-widget-root .ag-bot-content>div:first-child {
    margin: 0 !important;
}

#lore-widget-root .ag-references,
#lore-widget-root .ag-body .ag-actions {
    padding: 8px 16px 16px 16px !important;
    margin: 0 !important;
}

/* =================================================================
   ASKGIVE FEEDBACK MODAL
   ================================================================= */

/* Feedback Modal Container */
.feedback-modal {
    position: fixed;
    z-index: 50;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgba(0, 0, 0, 0.4);
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Hide modal when it has .hidden class */
.feedback-modal.hidden {
    display: none !important;
}

/* Modal Content */
.feedback-modal .modal-content {
    background-color: white;
    padding: 20px;
    border-radius: 8px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    margin: 16px;
    max-width: 600px;
    width: 100%;
}

.feedback-modal .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}

.feedback-modal .modal-title {
    font-size: 24px;
    font-weight: 600;
    margin: 0;
}

.feedback-modal .modal-close {
    background: none;
    border: none;
    font-size: 28px;
    cursor: pointer;
    color: #000;
    line-height: 1;
    padding: 0;
}

.feedback-modal .modal-body {
    display: flex;
    flex-direction: column;
}

/* Gravity Forms in Modal - Custom Styling */
.feedback-modal .gform_wrapper {
    margin: 0;
}

.feedback-modal .gform_wrapper .gform_body {
    padding: 0;
}

.feedback-modal .gform_wrapper .gfield {
    margin-bottom: 16px;
}

.feedback-modal .gform_wrapper .gfield_label {
    font-size: 14px;
    color: rgba(0, 0, 0, 0.5);
    margin-bottom: 4px;
}

.feedback-modal .gform_wrapper textarea {
    width: 100%;
    border-radius: 4px;
    border: 1px solid #fdb913;
    padding: 8px;
    font-size: 14px;
    resize: vertical;
}

.feedback-modal .gform_wrapper textarea:focus {
    outline: none;
    border-color: #fdb913;
    box-shadow: 0 0 0 3px rgba(253, 185, 19, 0.1);
}

.feedback-modal .gform_wrapper .gform_footer {
    display: flex;
    justify-content: space-between;
    margin-top: 16px;
    padding: 0;
}

.feedback-modal .gform_wrapper .gform_button {
    padding: 8px 16px;
    background-color: #fdb913;
    color: black;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: all 0.15s ease-in-out;
    font-size: 14px;
    font-weight: 500;
}

.feedback-modal .gform_wrapper .gform_button:hover {
    background-color: #e99918;
}

/* Hide default Gravity Forms ajax spinner */
.feedback-modal .gform_ajax_spinner {
    display: none;
}

@media (max-width: 768px) {
    .feedback-modal .modal-content {
        margin: 8px;
    }
}

/* =================================================================
   ASKGIVE WIDGET - CHARITY REPORT PAGE CUSTOMIZATIONS
   ================================================================= */

/* Customizations specific to single charity report pages */
.single-charity_report #lore-widget-root .ag-header {
    background-color: #00965E !important;
    color: #fff !important;
}

.single-charity_report #lore-widget-root .ag-header .ag-title:before {
    content: url("data:image/svg+xml,%3Csvg width='24' height='24' viewBox='0 0 24 24' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.813 15.904L9 18.75L8.187 15.904C7.97687 15.1689 7.5829 14.4994 7.04226 13.9587C6.50162 13.4181 5.83214 13.0241 5.097 12.814L2.25 12L5.096 11.187C5.83114 10.9769 6.50062 10.5829 7.04126 10.0423C7.5819 9.50162 7.97587 8.83214 8.186 8.097L9 5.25L9.813 8.096C10.0231 8.83114 10.4171 9.50062 10.9577 10.0413C11.4984 10.5819 12.1679 10.9759 12.903 11.186L15.75 12L12.904 12.813C12.1689 13.0231 11.4994 13.4171 10.9587 13.9577C10.4181 14.4984 10.0241 15.1679 9.814 15.903L9.813 15.904ZM18.259 8.715L18 9.75L17.741 8.715C17.5927 8.12159 17.286 7.57962 16.8536 7.14703C16.4212 6.71444 15.8794 6.40749 15.286 6.259L14.25 6L15.286 5.741C15.8794 5.59251 16.4212 5.28556 16.8536 4.85297C17.286 4.42038 17.5927 3.87841 17.741 3.285L18 2.25L18.259 3.285C18.4073 3.87854 18.7142 4.42059 19.1468 4.85319C19.5794 5.28579 20.1215 5.59267 20.715 5.741L21.75 6L20.715 6.259C20.1215 6.40733 19.5794 6.71421 19.1468 7.14681C18.7142 7.57941 18.4073 8.12147 18.259 8.715ZM16.894 20.567L16.5 21.75L16.106 20.567C15.9955 20.2356 15.8094 19.9345 15.5625 19.6875C15.3155 19.4406 15.0144 19.2545 14.683 19.144L13.5 18.75L14.683 18.356C15.0144 18.2455 15.3155 18.0594 15.5625 17.8125C15.8094 17.5655 15.9955 17.2644 16.106 16.933L16.5 15.75L16.894 16.933C17.0045 17.2644 17.1906 17.5655 17.4375 17.8125C17.6845 18.0594 17.9856 18.2455 18.317 18.356L19.5 18.75L18.317 19.144C17.9856 19.2545 17.6845 19.4406 17.4375 19.6875C17.1906 19.9345 17.0045 20.2356 16.894 20.567Z' stroke='white' stroke-opacity='0.8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3C/path%3E%3C/svg%3E");
}

.single-charity_report #lore-widget-root .ag-header .ag-icon {
    stroke: #fff !important;
}

.single-charity_report #lore-widget-root .ag-header .ag-custom-icon-link path {
    fill: #fff !important;
    fill-opacity: 1 !important;
}

.single-charity_report #lore-widget-root .ag-body {
    background: linear-gradient(180deg, #00965e 0%, #fff 100%) !important;
}

.single-charity_report #lore-widget-root .ag-footer {
    background-color: #fff !important;
    border-top: none !important;
}

.single-charity_report #lore-widget-root .ag-panel {
    max-height: 50vh !important;
    height: 50vh !important;
    width: 80vw !important;
    border-color: #00965E !important;
}

@media (min-width: 768px) {
    .single-charity_report #lore-widget-root .ag-panel {
        width: 31vw !important;
    }
}

/* Fix for stretched images on veterans page */
.wp-block-image img[class*="wp-image-23630"],
.wp-block-image img[class*="wp-image-23631"] {
    aspect-ratio: auto !important;
    /* Add this */
    height: auto !important;
    contain: none !important;
}
