
/* =========================================================
   ROKAY SCHOOL MEDICAID RESOURCES
   COMPLETE CSS
   ========================================================= */


/* =========================================================
   1. FILTER PANEL
   ========================================================= */

.rokay-resource-filter-row {
    position: relative;
    z-index: 20;

    margin: 0 auto 34px !important;
    padding: 24px 22px 20px !important;

    background: #f5f9f9 !important;
    border: 1px solid #dbe7e8 !important;
    border-radius: 14px !important;
}

/* Remove the previous Find Resources heading */

.rokay-resource-filter-row::before {
    content: none !important;
    display: none !important;
}

/* Align both columns at the top */

.rokay-resource-filter-row
.sppb-container-inner > .sppb-row {
    align-items: flex-start !important;
}

.rokay-resource-filter-row .sppb-row-column {
    min-width: 0 !important;
    text-align: left !important;
}


/* =========================================================
   2. FILTER ADDON LAYOUT
   ========================================================= */

.rokay-resource-filter-row
.rokay-resource-filter {
    width: 100% !important;
    max-width: 300px !important;

    margin: 0 !important;

    font-family: "Work Sans", sans-serif !important;
    text-align: left !important;
}

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-list {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 300px !important;

    gap: 0 !important;
}

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;

    width: 100% !important;
    max-width: 300px !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   3. TOPIC DROPDOWN
   ========================================================= */

/* Dropdown wrapper */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-dropdown-wrapper {
    display: block !important;

    width: 100% !important;
    max-width: 300px !important;

    margin: 0 !important;
}

/* Label above dropdown */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-dropdown-wrapper::before {
    content: "Topic";

    display: block !important;

    margin: 0 0 8px !important;

    font-family: "Work Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 18px !important;

    color: #465d63 !important;
}

/* Dropdown control */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-dropdown-trigger {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;

    width: 100% !important;
    max-width: 300px !important;
    height: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
    padding: 9px 12px !important;

    background: #ffffff !important;
    border: 1px solid #cfdcde !important;
    border-radius: 8px !important;

    box-sizing: border-box !important;
    cursor: pointer !important;
}

/* Dropdown text */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-item-title-text {
    font-family: "Work Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;

    color: #25383d !important;
}

/* Dropdown arrow */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-dropdown-arrow {
    flex-shrink: 0 !important;
    margin-left: 12px !important;
}

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-dropdown-trigger:hover {
    border-color: #087f86 !important;
}


/* =========================================================
   4. TOPIC DROPDOWN OPTIONS
   ========================================================= */

.sppb-addon-dynamic-content-filter-dropdown-popup {
    width: 280px !important;
    min-width: 250px !important;
    max-width: 320px !important;

    padding: 10px 12px !important;

    background: #ffffff !important;
    border: 1px solid #dbe7e8 !important;
    border-radius: 8px !important;

    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12) !important;

    z-index: 9999 !important;
}

.sppb-addon-dynamic-content-filter-dropdown-popup
.sppb-addon-dynamic-content-filter-item-content {
    display: flex !important;
    flex-direction: column !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;

    width: 100% !important;
    gap: 4px !important;
}

.sppb-addon-dynamic-content-filter-dropdown-popup
.sppb-addon-dynamic-content-filter-item-radio-option {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;

    flex: 0 0 auto !important;

    width: 100% !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 8px 10px !important;

    border-radius: 5px !important;

    font-family: "Work Sans", sans-serif !important;
    font-size: 13px !important;
    line-height: 1.5 !important;

    white-space: normal !important;
    cursor: pointer !important;
}

.sppb-addon-dynamic-content-filter-dropdown-popup
.sppb-addon-dynamic-content-filter-item-radio-option:hover {
    background: #edf7f9 !important;
}

.sppb-addon-dynamic-content-filter-dropdown-popup
.sppb-addon-dynamic-content-filter-item-radio-option label {
    font-family: "Work Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;

    color: #25383d !important;
    cursor: pointer !important;
}

.sppb-addon-dynamic-content-filter-dropdown-popup
.sppb-addon-dynamic-content-filter-fake-radio-input {
    flex-shrink: 0 !important;
    margin-right: 8px !important;
}


/* =========================================================
   5. SEARCH LABEL
   ========================================================= */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-item-title {
    display: block !important;

    margin: 0 0 8px !important;
    padding: 0 !important;

    font-family: "Work Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 18px !important;

    color: #465d63 !important;
}


/* =========================================================
   6. SEARCH CONTROL
   ========================================================= */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-item-content,
.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-item-search-option {
    display: flex !important;

    width: 100% !important;
    max-width: 300px !important;
    min-width: 0 !important;

    margin: 0 !important;
    padding: 0 !important;
}

/* Search wrapper */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-search-wrapper {
    position: relative !important;

    display: flex !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 300px !important;
    min-width: 0 !important;
    height: 44px !important;
    min-height: 44px !important;

    margin: 0 !important;
    padding: 0 !important;

    background: #ffffff !important;
    border: 1px solid #cfdcde !important;
    border-radius: 8px !important;

    box-sizing: border-box !important;
}

/* Search icon */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-search-icon {
    flex-shrink: 0 !important;

    margin-left: 12px !important;
    margin-right: 0 !important;

    color: #8399a0 !important;
}

/* Search input */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-search-wrapper
input[type="text"] {
    display: block !important;

    flex: 1 1 auto !important;

    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;

    height: 42px !important;
    min-height: 42px !important;

    margin: 0 !important;
    padding: 9px 12px !important;

    background: transparent !important;
    border: 0 !important;
    border-radius: 8px !important;

    box-shadow: none !important;
    outline: none !important;

    font-family: "Work Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;

    color: #25383d !important;

    box-sizing: border-box !important;
}

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-search-wrapper:focus-within {
    border-color: #087f86 !important;
    box-shadow: 0 0 0 3px rgba(8, 127, 134, 0.12) !important;
}


/* =========================================================
   7. RESET LINKS
   ========================================================= */

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-reset-btn-wrapper {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;

    width: 100% !important;
    max-width: 300px !important;

    margin: 10px 0 0 !important;
    padding: 0 !important;

    text-align: left !important;
}

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-reset-btn-wrapper,
.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-reset-btn-wrapper a,
.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-reset-btn-wrapper button {
    font-family: "Work Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;

    color: #087f86 !important;
    text-decoration: none !important;
}

.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-reset-btn-wrapper a:hover,
.rokay-resource-filter-row
.sppb-addon-dynamic-content-filter-reset-btn-wrapper button:hover {
    color: #056875 !important;
    text-decoration: underline !important;
}


/* =========================================================
   8. RESOURCE TITLES
   ========================================================= */

.rokay-resource-title {
    margin: 0 0 4px 0 !important;
}

.rokay-resource-title h3,
h3.rokay-resource-title,
.rokay-resource-title .sppb-addon-title {
    font-family: "Poppins", sans-serif !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;

    color: #075c6a !important;

    margin: 0 !important;
    padding: 0 !important;
}

.rokay-resource-title h3 a,
h3.rokay-resource-title a,
.rokay-resource-title .sppb-addon-title a,
.rokay-resource-title a {
    font-family: "Poppins", sans-serif !important;
    font-size: 19px !important;
    font-weight: 500 !important;
    line-height: 1.4 !important;

    color: #075c6a !important;
    text-decoration: none !important;
}

.rokay-resource-title a:hover {
    color: #0797a4 !important;
    text-decoration: none !important;
}


/* =========================================================
   9. RESOURCE DESCRIPTIONS
   ========================================================= */

.rokay-resource-description {
    margin: 0 0 20px 12px !important;
}

.rokay-resource-description p,
p.rokay-resource-description,
.rokay-resource-description .sppb-addon-content {
    font-family: "Work Sans", sans-serif !important;
    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.6 !important;

    color: #52686e !important;

    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 !important;
}


/* =========================================================
   10. TOPIC PILL + TITLE ON THE SAME LINE
   ========================================================= */

/* Each collection item contains three direct addon wrappers:
   Topic, Title, Description (in that order). */
.sppb-dynamic-content-collection > .sppb-dynamic-content-collection__item {
    display: grid !important;
    grid-template-columns: max-content minmax(0, 1fr) !important;
    column-gap: 12px !important;
    row-gap: 4px !important;
    align-items: center !important;
    justify-content: stretch !important;
    width: 100% !important;
    margin-bottom: 16px !important;
}

.sppb-dynamic-content-collection__item > .sppb-addon-wrapper:nth-child(1) {
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: start !important;
    margin-top: 3px !important;
    min-width: 0 !important;
}

.sppb-dynamic-content-collection__item > .sppb-addon-wrapper:nth-child(2) {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    align-self: start !important;
}

.sppb-dynamic-content-collection__item > .sppb-addon-wrapper:nth-child(3) {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    min-width: 0 !important;
}

/* Topic text itself is a <p> with the custom class. */
.sppb-dynamic-content-collection__item p.rokay-resource-topic {
    display: inline-flex !important;
    align-items: center !important;
    width: auto !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 4px 10px !important;
    border: 1px solid #cce5e6 !important;
    border-radius: 999px !important;
    background: #eaf5f5 !important;
    color: #086a73 !important;
    font-family: "Work Sans", sans-serif !important;
    font-size: 11px !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    letter-spacing: 0.02em !important;
    white-space: nowrap !important;
}

/* Keep descriptions aligned with the left edge of the entry. */
.sppb-dynamic-content-collection__item .rokay-resource-description {
    margin: 0 !important;
}

/* Narrow screens: put the badge above the title for readability. */
@media (max-width: 640px) {
    .sppb-dynamic-content-collection > .sppb-dynamic-content-collection__item {
        grid-template-columns: minmax(0, 1fr) !important;
        row-gap: 5px !important;
    }
    .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:nth-child(1) {
        grid-column: 1 !important;
        grid-row: 1 !important;
        margin-top: 0 !important;
    }
    .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:nth-child(2) {
        grid-column: 1 !important;
        grid-row: 2 !important;
    }
    .sppb-dynamic-content-collection__item > .sppb-addon-wrapper:nth-child(3) {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }
}


/* =========================================================
   11. RESPONSIVE STYLING
   ========================================================= */

@media (max-width: 991px) {

    .rokay-resource-filter-row {
        padding: 22px !important;
    }

    .rokay-resource-title h3,
    h3.rokay-resource-title,
    .rokay-resource-title .sppb-addon-title,
    .rokay-resource-title a {
        font-size: 18px !important;
    }

}

@media (max-width: 767px) {

    .rokay-resource-filter-row {
        padding: 20px !important;
        margin-bottom: 26px !important;
    }

    .rokay-resource-filter-row .sppb-row-column {
        margin-bottom: 18px !important;
    }

    .rokay-resource-filter-row
    .rokay-resource-filter,
    .rokay-resource-filter-row
    .sppb-addon-dynamic-content-filter-list,
    .rokay-resource-filter-row
    .sppb-addon-dynamic-content-filter-item,
    .rokay-resource-filter-row
    .sppb-addon-dynamic-content-filter-dropdown-wrapper,
    .rokay-resource-filter-row
    .sppb-addon-dynamic-content-filter-dropdown-trigger,
    .rokay-resource-filter-row
    .sppb-addon-dynamic-content-filter-search-wrapper {
        max-width: 100% !important;
    }

    .sppb-addon-dynamic-content-filter-dropdown-popup {
        width: 260px !important;
        max-width: calc(100vw - 32px) !important;
    }

}

@media (max-width: 640px) {

    .rokay-resource-title h3,
    h3.rokay-resource-title,
    .rokay-resource-title .sppb-addon-title,
    .rokay-resource-title a {
        font-size: 17px !important;
    }

    .rokay-resource-description {
        margin-left: 8px !important;
    }

    .rokay-resource-description p,
    p.rokay-resource-description,
    .rokay-resource-description .sppb-addon-content {
        font-size: 13px !important;
    }

}
/* Tighten spacing between resource entries */

.sppb-dynamic-content-collection > .sppb-dynamic-content-collection__item {
    margin-bottom: 10px !important;
    row-gap: 2px !important;
}

.sppb-dynamic-content-collection__item > .sppb-addon-wrapper {
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

.sppb-dynamic-content-collection__item .rokay-resource-title,
.sppb-dynamic-content-collection__item .rokay-resource-description {
    margin-bottom: 0 !important;
}
/* Resource list: reduce spacing between entries */

.sppb-dynamic-content-collection {
    row-gap: 8px !important;
}
/* =========================================================
   RESOURCES PAGE - MORE RESOURCES BUTTON
   ========================================================= */

.sppb-dynamic-content-collection__pagination {
    display: flex !important;
    justify-content: center !important;
    margin: 24px 0 32px !important;
}

.sppb-dynamic-content-collection__pagination
button[data-sppb-load-more-button] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;

    width: auto !important;
    min-width: 160px !important;
    padding: 10px 24px !important;

    background: #ffffff !important;
    border: 1px solid #087f86 !important;
    border-radius: 8px !important;

    color: #087f86 !important;
    font-family: "Work Sans", sans-serif !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    line-height: 1.5 !important;

    box-shadow: none !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease,
                color 0.2s ease,
                border-color 0.2s ease !important;
}

.sppb-dynamic-content-collection__pagination
button[data-sppb-load-more-button]:hover,
.sppb-dynamic-content-collection__pagination
button[data-sppb-load-more-button]:focus-visible {
    background: #087f86 !important;
    border-color: #087f86 !important;
    color: #ffffff !important;
}

.sppb-dynamic-content-collection__pagination
button[data-sppb-load-more-button]:focus-visible {
    outline: 2px solid #087f86 !important;
    outline-offset: 3px !important;
}