/* Partner Ecosystem section */

:root {
    --Orange-Gradient: linear-gradient(90deg, #F74D0C 0%, #FFA82B 100%);
}

.partner-eco-section {
    padding: 48px 0 60px;
    background: linear-gradient(270deg, rgba(217, 207, 200, 1) 0%, rgba(217, 207, 200, 1) 50%, rgba(254, 247, 244, 1) 100%);
}

/* .partner-eco-section .wm-partners-ecosystem__filters {
    display: none;
} */

.partner-eco-section .wm-partners-ecosystem__filters .ms-options-wrap {
    display: none;
}

.partner-eco-section .wm-partners-ecosystem__filters {
    margin-bottom: 50px;
}

.partner-eco-section .wm-partners-ecosystem__filters .views-exposed-form.bef-exposed-form>div.form--inline {
    display: flex;
    justify-content: space-between;
}

.partner-eco-section .bef-exposed-form .form--inline>.form-item {
    float: left;
    margin: 0;
    padding: 0;
}

.partner-eco-section .wm-partners-ecosystem__filters .views-exposed-form .form-type-select {
    display: flex;
    margin: 0;
    padding: 0;
}

.partner-eco-section .wm-partners-ecosystem__filters .views-exposed-form .form-type-select .control-label {
    white-space: nowrap;
}

.partner-eco-section .wm-partners-ecosystem__filters .views-exposed-form .form-type-select .form-select[multiple],
.form-select[size]:not([size="1"]) {
    margin-left: 3rem;
}

.partner-eco-section .view--wmd-partnership-ecosystem {
    display: flex;
    flex-direction: column;
    position: relative;
}

.partner-eco-section .views-exposed-form .form-actions input.form-submit {
    background: linear-gradient(72deg, #F74D0C 32.38%, #FFA82B 120.96%);
    border-radius: 999px;
    border: 0;
    height: 31px;
    left: calc(505px - 70px);
    padding: 0 16px;
    position: absolute;
    top: 5px;
}

.partner-eco-section .js-form-item.form-item.js-form-type-textfield.form-type-textfield.js-form-item-search.form-item-search label.control-label {
    left: 20px;
    position: absolute;
    top: 13px;
}

.partner-eco-section .bef-exposed-form .form--inline>.form-item .form-text.form-control {
    background: #FEF7F4;
    border-radius: 999px;
    border: 1px solid #F74D0C;
    color: #172F50;
    font-size: 14px;
    font-weight: 400;
    height: 40px !important;
    padding:0 75px 0 20px;
    width: 500px !important;
}
.partner-eco-section .bef-exposed-form .form--inline>.form-item details.accordion-item {
    margin: 0 !important;
    background: transparent;
    border: 1px solid #F74D0C;
    min-width: 120px;
    border-radius: 15px;
    position: relative;
    display: none;
}
.partner-eco-section .bef-exposed-form .form--inline>.form-item details.accordion-item .accordion-body .exl-container {
    padding: 0 !important;
}
.partner-eco-section .bef-exposed-form .form--inline>.form-item details.accordion-item .accordion-body {
    background: var(--exl-white);
    border-radius: 0 0 15px 15px;
    border: 1px solid #F74D0C;
    box-shadow: 0 0 5px 0 #848484;
    margin-top: -8px;
    position: absolute;
    width: 100%;
    z-index: 2;
}
.partner-eco-section .bef-exposed-form .form--inline>.form-item details.accordion-item .accordion-body .form-checkboxes .form-item {
    cursor: pointer;
}
.partner-eco-section .bef-exposed-form .form--inline>.form-item details:not([open]) .accordion-button {
    background-color: transparent;
}
.partner-eco-section .bef-exposed-form .form--inline>.form-item details:not([open]) .accordion-button::after, .partner-eco-section .bef-exposed-form .form--inline>.form-item details[open] .accordion-button::after {
    filter: brightness(0) saturate(100%) invert(33%) sepia(65%) saturate(2460%) hue-rotate(357deg) brightness(98%) contrast(97%);
}
.partner-eco-section .bef-exposed-form .form--inline>.form-item .accordion-button:not(.collapsed) {
    box-shadow: none !important;
    background: none !important;
}

.partner-eco-section .bef-exposed-form .form--inline>.form-item .form-text.form-control::placeholder {
    color: #64768C;
    font-size: 14px;
    font-weight: 400;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager-nav .pager__items {
    margin: 0;
    padding: 0;
    text-align: left;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li>a,
.partner-eco-section .wm-partners-ecosystem__pager .pager li>span {
    background-color: transparent !important;
    border: 0 !important;
    color: #001632;
    font-size: 16px;
    font-weight: 400;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--active a {
    background: linear-gradient(90deg, #001632 0%, #172F50 50%, #384D6A 100%);
    border-radius: 100%;
    color: #ffffff !important;
    height: 28px;
    width: 28px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--first,
.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--last {
    display: none !important;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--previous a,
.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--next a {
    position: relative;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item {
    display: inline-block;
    padding: 0;
    height: auto;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--previous a::before {
    background: url(../../images/svg-icons/left-arrow-circle.svg) no-repeat;
    content: '';
    position: absolute;
    background-position: center;
    left: 0;
    height: 28px;
    width: 28px;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--next a::before {
    background: url(../../images/svg-icons/right-arrow-circle.svg) no-repeat;
    content: '';
    position: absolute;
    background-position: center;
    left: 0;
    height: 28px;
    width: 28px;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--next a .pager__item-title.pager__item-title--forward {
    display: none;
}

.partner-eco-section .wm-partners-ecosystem__pager .pager li.pager__item--previous a .pager__item-title.pager__item-title--backwards {
    display: none;
}

.partner-eco-section .latest-heading {
    color: #172F50;
    font-size: 44px;
    line-height: 38px;
}

.partner-eco-section .exl-section-head {
    margin-bottom: 0;
}

.heading-mark {
    width: 100px;
    height: 4px;
    margin: 0 0 20px;
    background: linear-gradient(90deg, #F74D0C 0%, #FFA82B 100%);
}

.partner-eco-header {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    justify-content: space-between;
    margin-bottom: 64px;
}

.partner-eco-title {
    font-size: 28px;
    font-weight: 700;
    margin: 0;
}

.partner-eco-title .text-accent {
    color: #f26c21;
}

.partner-eco-controls {
    align-items: flex-end;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: space-between;
}

.partner-filter-group {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}

.partner-filter-btn {
    padding: 8px 16px;
    font-size: 15px;
    font-weight: 500;
    color: #384D6A;
    border-radius: 999px;
    border: 1px solid #384D6A;
    text-transform: uppercase;
}

.partner-filter-btn.active,
.partner-filter-btn:hover {
    color: var(--exl-white);
    border-radius: 999px;
    border: 1px solid #F74D0C;
    background: linear-gradient(72deg, #F74D0C 20.4%, #FFA82B 163.56%);
}

.partner-view-toggle {
    background: var(--exl-white);
    border-radius: 999px;
    border: 1px solid#F74D0C;
    display: flex;
    height: 31px;
    overflow: hidden;
}

.partner-view-btn {
    align-items: center;
    background: var(--exl-white);
    border: none;
    display: flex;
    margin: 0;
    padding: 8px 12px;
}

.partner-view-btn.active {
    border: 2px solid var(--exl-white) !important;
    border-radius: 999px;
    background: linear-gradient(90deg, #FB4E0B 0%, #FFA92B 100%);
    border-color: var(--exl-white) !important;
}

.partner-view-btn:focus {
    border-color: var(--exl-white) !important;
}

.partner-view-btn.active svg {
    filter: brightness(0) saturate(100%) invert(99%) sepia(39%) saturate(2%) hue-rotate(164deg) brightness(109%) contrast(100%);
}

.partner-view-btn img {
    width: 18px;
    height: 18px;
}

/* Common card container: grid layout by default */
.partner-cards {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 25%));
    gap: 24px;
    margin-bottom: 64px;
}

.partner-card {
    background: var(--exl-white);
    border-radius: 14px;
}

.partner-card-inner {
    position: relative;
    padding: 24px;
    height: 100%;
}

.partner-card-inner a:hover {
    color: #001632;
}

.partner-badge {
    position: absolute;
    top: 0;
    right: 0;
    background: #384D6A;
    color: var(--exl-white);
    font-size: 12px;
    font-weight: 400;
    padding: 6px 16px;
    line-height: 12px;
    border-radius: 0 14px 4px 4px;
}

.partner-logo {
    height: 32px;
    width: max-content;
}

.partner-name {
    color: #001632;
    font-size: 32px;
    font-weight: 500;
    line-height: 32px;
    margin: 0 0 4px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.partner-tags {
    color: #FB4E0B;
    font-size: 16px;
    font-weight: 700;
    margin: 0 0 16px;
    line-height: 18px;
    display: none;
}

.partner-desc {
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    color: #172F50;
    display: -webkit-box;
    font-size: 16px;
    font-weight: 300;
    line-clamp: 2;
    line-height: 18px;
    margin: 0 0 12px;
    overflow: hidden;
    padding-right: 16px;
    min-height: 36px;
    display: none;
}

.partner-link {
    font-size: 16px;
    font-weight: 500;
    color: #f26c21;
    text-decoration: none;
    line-height: 16px;
    text-transform: uppercase;
}

.partner-link svg {
    margin-top: -1.5px;
}

/* List view: single column, row layout per card */
.partner-cards.list-view {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.partner-cards.list-view .partner-card-inner {
    align-items: flex-start;
    display: flex;
    gap: 24px;
    padding: 30px;
    flex-direction: column;
}

.partner-cards.list-view .partner-card-inner .d-flex.flex-column.custom-gap.w-100 {
    flex-direction: row !important;
}

.custom-gap {
    gap: 24px;
}

.partner-cards.list-view .partner-logo {
    margin-bottom: 0;
    flex-shrink: 0;
}

.bottom-link {
    flex-direction: column;
    gap: 20px;
}

.partner-cards.list-view .bottom-link {
    flex-direction: row;
    justify-content: space-between;
    padding-left: 54px;
}

.partner-cards.list-view .partner-name,
.partner-cards.list-view .partner-tags,
.partner-cards.list-view .partner-desc {
    margin: 0;
    min-height: inherit;
}

.partner-cards.list-view .partner-link {
    margin-left: auto;
    white-space: nowrap;
    margin-right: 20px;
}

@media (min-width: 1200px) and (max-width: 1399.98px) {
    .partner-link {
        font-size: 14px;
        line-height: 16px;
    }
}


@media (max-width: 1199.98px) {
    .partner-cards {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (max-width: 991.98px) {
    .partner-cards {
        grid-template-columns: repeat(2, minmax(0, 50%));
    }
}

@media (max-width: 767.98px) {
    .partner-cards.list-view .bottom-link {
        flex-direction: column;
        gap: 12px;
        padding-left: 0;
    }

    .partner-cards.list-view .partner-link {
        margin-left: 0;
    }

    .partner-cards.list-view .partner-desc {
        -webkit-line-clamp: none;
        padding-right: 0;
    }

    .custom-gap {
        gap: 16px;
    }
}

@media (max-width: 575.98px) {
    .partner-logo {
        height: 28px;
        margin-bottom: 0;
    }

    .partner-name {
        font-size: 22px;
        font-weight: 700;
        line-height: 20px;
    }

    .partner-tags {
        font-size: 14px;
        font-weight: 700;
        line-height: 16px;
        margin-bottom: 0;
    }

    .partner-desc {
        font-size: 14px;
        line-height: 16px;
        font-weight: 300;
        margin: 12px 0;
    }

    .partner-link {
        font-size: 12px;
        font-weight: 500;
        line-height: 14px;
    }

    .partner-eco-header,
    .partner-cards {
        margin-bottom: 32px;
    }

    .partner-eco-section {
        padding: 44px 0 44px;
    }

    .partner-cards,
    .partner-cards.list-view {
        gap: 12px;
    }

    .partner-cards.list-view .partner-card-inner {
        flex-wrap: wrap;
        padding: 24px;
    }

    .partner-cards.list-view .partner-link {
        margin-left: 0;
    }

    .partner-cards.list-view .bottom-link {
        flex-direction: column;
        gap: 12px;
    }

    .partner-eco-section .exl-shell {
        padding: 0 20px !important;
    }

    .partner-eco-section .latest-heading {
        font-size: 34px;
        line-height: 36px;
    }

    .heading-mark {
        height: 2px;
    }

    .partner-eco-controls {
        flex-wrap: nowrap;
    }

    .partner-view-toggle {
        min-width: 90px;
    }
}