
/* ==========================================================================
   Slide Panel – Partner profile drawer
   ========================================================================== */

.slide-panel {
    border-radius: 30px 0 0 30px;
    position: fixed;
    top: 65px;
    right: -68%;
    width: 68% !important;
    height: 100%;
    background-color: #fff;
    box-shadow: -2px 0 5px rgba(0, 0, 0, 0.2);
    transition: right 0.3s ease-in-out;
    z-index: 9999;
    overflow-y: scroll;
}

.cButtonClose {
    border: solid 2px #000;
    font-size: 21px;
    width: 36px;
    border-radius: 10px;
    margin-top: 2rem;
    background: transparent;
    cursor: pointer;
}

.cPartnerDetailsSliderBox {
    padding: 1rem 3rem 5rem;
}

.cPartnerDetailsSliderBox .cRemovePadding {
    padding: 0;
}

.cPartnerCategoryLine {
    margin-bottom: 5px;
    font-weight: 600;
}

.cPartnerCategory {
    color: #000;
    display: inline-block;
    margin-left: 5px;
    font-weight: 400;
}

/* ── Expertise / product label pills inside the slide panel ── */

/* Generic base for all v2 cPartnerLabel* pills */
[class^="cPartnerLabel"],
[class*=" cPartnerLabel"] {
    padding: 3px 8px;
    margin-right: 6px;
    border-radius: 5px;
    display: inline-block;
    font-size: 12px;
    margin-top: 5px;
    color: #fff;
}

/* APIs */
.cPartnerLabelAPIs {
    background-color: #E6E7EC;
    color: #000;
}

/* AI */
.cPartnerLabelAI {
    background-color: #E6E7EC;
    color: #000;
}

/* Identity_and_Access_Management */
.cPartnerLabelIdentity_and_Access_Management {
    background-color: #E6E7EC;
    color: #000;
}

/* Platform_Engineering */
.cPartnerLabelPlatform_Engineering {
    background-color: #E6E7EC;
    color: #000;
}

/* Responsive */
@media screen and (max-width: 992px) {
    .slide-panel {
        width: 90%;
        right: -90%;
        top: 0;
        border-radius: 0;
    }
}

@media screen and (max-width: 600px) {
    .cPartnerDetailsSliderBox {
        padding: 1rem 1.5rem 4rem;
    }
}

/* ==========================================================================
   End slide panel
   ========================================================================== */

.footer-right{
    z-index:99999;
}
.footer-left{
    z-index:99999;
}
/* Fixed state */
.pd-filterbar-wrap.is-fixed {
    position: fixed;
    top: 87px; /* adjust if you have header */
    left: 0;
    width: 100%;
    z-index: 9999;
    display: flex;
    justify-content: center;
}

/* Keep original width alignment */
.pd-filterbar-wrap.is-fixed .pd-filterbar {
    margin-top:36px;
    max-width: 1200px;
    width: 100%;
}
.pd-filterbar-wrap.is-fixed .pd-active-bar{
    display:none!important;
}

/* Prevent content jump */
.pd-filter-placeholder {
    height: 0;
}

.pd-filter-placeholder.active {
    height: 80px; /* same height as filter bar */
}

.hero_product h1{
    color:#fff!important;
}
.hero_product p{
    color:#f2f2f2!important;
    font-weight:300!important;
}
.hero_product {
    z-index: 0;
    height: 90vh;
    position: relative;
    background: url('https://wso2.cachefly.net/wso2/sites/all/image_resources/wso2-brand-hero-banner.webp') center/cover no-repeat;
    background-position: center top;
}
body{
    padding-top: 87px;
}


/* ===== Filter bar ===== */

.pd-filterbar-wrap {
    position: relative;
    margin-top:-36px;
    transition: all 0.3s ease;
}
.pd-root .pd-filterbar {
    max-width: 1200px;
    margin: 0 auto;
    background: #fff;
    border-radius: 40px;
    box-shadow: 0 14px 40px -14px rgba(7,20,46,0.35), 0 1px 0 rgba(7,20,46,0.06);
    padding: 10px 40px;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
    gap: 8px;
    align-items: center;
}

.pd-root .pd-search-input {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 0 14px;
    height: 48px;
    border-right: 1px solid #e2e5ec;
}
.pd-root .pd-search-input svg {
    color: #6b7591;
    flex-shrink: 0;
}
.pd-root .pd-search-input input {
    border: none;
    outline: none;
    font: inherit;
    font-size: 14px;
    width: 100%;
    background: transparent;
    color: #0e1a33;
}
.pd-root .pd-search-input input::placeholder {
    color: #6b7591;
}


.pd-root .pd-dropdown.pd-single .pd-opt .pd-check {
    display: none;
}
.pd-root .pd-dropdown.pd-single .pd-opt.pd-checked {
    background: #eceef3;
    color: #ff6300;
    font-weight: 600;
}
.pd-root .pd-dropdown.pd-single .pd-dropdown-menu {
    min-width: 340px;
}
.pd-root .pd-dropdown.pd-single .pd-opt span {
    white-space: normal;
    line-height: 1.35;
}
.pd-root .pd-dropdown {
    position: relative;
    height: 48px;
}
.pd-root .pd-dropdown-btn {
    width: 100%;
    height: 100%;
    background: transparent;
    border: none;
    padding: 0 14px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    font: inherit;
    font-size: 14px;
    font-weight: 500;
    color: #0e1a33;
    cursor: pointer;
    border-radius: 40px;
    transition: background 0.15s;
    text-align: left;
}
.pd-root .pd-dropdown-btn:hover {
    background: #eceef3;
}
.pd-root .pd-dropdown.pd-open .pd-dropdown-btn {
    background: #eceef3;
}
.pd-root .pd-dropdown-btn .pd-lbl {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.pd-root .pd-dropdown-btn .pd-lbl .pd-placeholder {
    color: #17223ab3;
    font-weight: 400;
    font-size: 1rem;
}
.pd-root .pd-dropdown-btn .pd-lbl .pd-val {
    color: #0e1a33;
    font-weight: 600;
}
.pd-root .pd-dropdown-btn .pd-count {
    background: #ff7300;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    padding: 2px 6px;
    border-radius: 999px;
    min-width: 18px;
    text-align: center;
}
.pd-root .pd-dropdown-btn .pd-chev {
    color: #6b7591;
    transition: transform 0.2s;
    flex-shrink: 0;
}
.pd-root .pd-dropdown.pd-open .pd-dropdown-btn .pd-chev {
    transform: rotate(180deg);
}

.pd-root .pd-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    background: #fff;
    border: 1px solid #e2e5ec;
    border-radius: 12px;
    box-shadow: 0 20px 50px -12px rgba(7,20,46,0.2), 0 4px 8px rgba(7,20,46,0.04);
    padding: 8px;
    max-height: 360px;
    overflow-y: auto;
    display: none;
    z-index: 60;
    min-width: 240px;
}
.pd-root .pd-dropdown.pd-open .pd-dropdown-menu {
    display: block;
}
.pd-root .pd-dropdown-menu .pd-opt {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 9px 10px;
    border-radius: 6px;
    font-size: 14px;
    cursor: pointer;
    user-select: none;
}
.pd-root .pd-dropdown-menu .pd-opt:hover {
    background: #eceef3;
}
.pd-root .pd-dropdown-menu .pd-opt .pd-check {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    border: 1.5px solid #d5d9e2;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.pd-root .pd-dropdown-menu .pd-opt.pd-checked .pd-check {
    background: #ff7300;
    border-color: #ff7300;
}
.pd-root .pd-dropdown-menu .pd-opt.pd-checked .pd-check svg {
    display: block;
    color: #fff;
}
.pd-root .pd-dropdown-menu .pd-opt .pd-check svg {
    display: none;
}
.pd-root .pd-dropdown-menu .pd-opt .pd-meta {
    margin-left: auto;
    color: #6b7591;
    font-size: 12px;
}

.pd-root .pd-filter-btn {
    height: 48px;
    background: #17223a;
    color: #fff;
    border: none;
    padding: 0 22px;
    border-radius: 40px;
    font: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 8px;
    transition: background 0.15s;
    margin: 0 1rem;
}
.pd-root .pd-filter-btn:hover {
    background: #ff7300;
}
.pd-root .pd-filter-btn .pd-badge {
    background: rgba(255,255,255,0.25);
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 12px;
}

/* ===== Active filter chips ===== */
.pd-root .pd-active-bar {
    max-width: 1320px;
    margin: 16px auto 0;
    padding: 0 32px;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}
.pd-root .pd-active-bar .pd-lbl {
    font-size: 12px;
    color: #6b7591;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.06em;
}
.pd-root .pd-chip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px 8px 6px 12px;
    background: #fff;
    border: 1px solid #e2e5ec;
    border-radius: 999px;
    font-size: 13px;
    color: #0e1a33;
    font-weight: 500;
}
.pd-root .pd-chip .pd-cat {
    color: #6b7591;
}
.pd-root .pd-chip .pd-x {
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #eceef3;
    border-radius: 50%;
    cursor: pointer;
    color: #17223a!important;
}
.pd-root .pd-chip .pd-x:hover {
    background: #ff7300;
    color: #fff;
}
.pd-root .pd-chip-clear {
    background: transparent;
    border: none;
    font: inherit;
    font-size: 13px;
    color: #ff7300;
    font-weight: 600;
    cursor: pointer;
    padding: 6px 8px;
}

/* ===== Toolbar ===== */
.pd-root .pd-toolbar {
    max-width: 1320px;
    margin: 24px auto 16px;
    padding: 0 32px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.pd-root .pd-results-count {
    font-size: 14px;
    color: #6b7591;
}
.pd-root .pd-results-count strong {
    color: #0e1a33;
    font-weight: 700;
}
.pd-root .pd-toolbar-right {
    display: flex;
    align-items: center;
    gap: 12px;
}
.pd-root .pd-sort-select {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: #fff;
    border: 1px solid #e2e5ec;
    height: 38px;
    padding: 0 12px;
    border-radius: 40px;
    font-size: 13px;
    cursor: pointer;
    color: #0e1a33;
    font-weight: 500;
}
.pd-root .pd-sort-select .pd-lbl-sm {
    color: #6b7591;
}
.pd-root .pd-view-toggle {
    display: inline-flex;
    background: #fff;
    border: 1px solid #e2e5ec;
    border-radius: 40px;
    padding: 3px;
}
.pd-root .pd-view-toggle button {
    width: 32px;
    height: 32px;
    background: transparent;
    border: none;
    border-radius: 5px;
    cursor: pointer;
    color: #6b7591;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pd-root .pd-view-toggle button.pd-active {
    background: #0e1a33;
    color: #fff;
}

/* ===== Grid ===== */
.pd-root .pd-grid-wrap {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0 32px 32px;
}
.pd-root .pd-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}
.pd-root .pd-card {
    box-shadow: 0 18px 40px -16px rgba(7, 20, 46, 0.18);
    background: #fff;
    border: 1px solid #e2e5ec;
    border-radius: 14px;
    padding: 30px 40px 40px 40px;
    display: flex;
    flex-direction: column;
    transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
    cursor: pointer;
    position: relative;
    margin-bottom: 30px;
    min-height:520px
}
.pd-root .pd-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 18px 40px -16px rgba(7,20,46,0.18);
    border-color: #d5d9e2;
}
.pd-root .pd-card-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 18px;
}

.pd-card h5{
    margin-bottom:0.5rem!important;
    text-transform:lowercase
}
.pd-card h5:first-letter {
    text-transform: uppercase;
}
.pd-root .pd-logo-box {
    width: 64px;
    height: 64px;
    border-radius: 10px;
    background: #eceef3;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 800;
    font-size: 22px;
    color: #0e1a33;
    letter-spacing: -0.01em;
    border: 1px solid #e2e5ec;
}
.pd-root .pd-logo-box.pd-orange {
    background: linear-gradient(135deg, #FF6B1A, #FF9A5A);
    color: #fff;
}
.pd-root .pd-logo-box.pd-navy {
    background: #0a1f44;
    color: #fff;
}
.pd-root .pd-logo-box.pd-dark {
    background: #0e1a33;
    color: #fff;
}
.pd-root .pd-logo-box.pd-beige {
    background: #EDE6D8;
    color: #0e1a33;
}
.pd-root .pd-logo-box.pd-gray {
    background: #eceef3;
    color: #0e1a33;
}
.pd-root .pd-logo-box.pd-green {
    background: #1F4D3E;
    color: #fff;
}
.pd-root .pd-logo-box.pd-purple {
    background: #2D2351;
    color: #fff;
}
.pd-root .pd-logo-box.pd-red {
    background: #5C1F1F;
    color: #fff;
}

.pd-root .pd-tier {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 6px 10px;
    border-radius: 30px;
    border: 1px solid;
    margin-top: 24px;
}
.pd-root .pd-tier-platinum {
    color: #1f2d52;
    border-color: rgba(31,45,82,0.2);
    background: rgba(31,45,82,0.04);
}
.pd-root .pd-tier-gold {
    color: #c08a2e;
    border-color: rgba(192,138,46,0.3);
    background: rgba(192,138,46,0.06);
}
.pd-root .pd-tier-silver {
    color: #6e7892;
    border-color: rgba(110,120,146,0.25);
    background: rgba(110,120,146,0.05);
}
.pd-root .pd-tier .pd-dot {
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: currentColor;
}

.pd-root .pd-card h3 {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.01em;
    margin: 0 0 4px;
    color: #0e1a33;
}
.pd-root .pd-card .pd-region {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: #6b7591;
    margin-bottom: 14px;
}
.pd-root .pd-card .pd-region svg {
    color: #a4abbf;
}
.pd-root .pd-card .pd-desc {
    font-size: 13.5px;
    color: #17223a!important;
    line-height: 1.55;
    margin: 0 0 18px;
    text-wrap: pretty;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    border-bottom: 1px solid #e2e5ec;
    padding-bottom: 1rem;
}

.pd-root .pd-meta-row {
    display: block!important;
    gap: 12px;
    padding: 28px 0;
    margin-bottom: 14px;
}
.pd-root .pd-meta-row .pd-item .pd-k {
    font-size: 10px;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: #6b7591;
    font-weight: 600;
    margin-bottom: 4px;
}
.pd-root .pd-meta-row .pd-item .pd-v {
    font-size: 13px;
    color: #0e1a33;
    font-weight: 600;
}

.pd-root .pd-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 18px;
}
.pd-root .pd-tag {
    font-size: 11.5px;
    padding: 4px 9px;
    background: #f4f5f8;
    border-radius: 999px;
    color: #17223a!important;
    font-weight: 500;
    border: 1px solid #e2e5ec;
}
.pd-root .pd-tag.pd-more {
    color: #6b7591;
    background: transparent;
    border-style: dashed;
}

.pd-root .pd-card-foot {
    margin-top: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 4px;
    width: 100%;
}
.pd-root .pd-card-foot .pd-since {
    font-size: 12px;
    color: #6b7591;
}
.pd-root .pd-view-link {
    color: #ff7300;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 4px;
}
.pd-root .pd-view-link:hover {
    color: #ff7300;
}

.pd-root .pd-card.pd-featured {
    background: #0a1f44;
    color: #fff;
    border-color: transparent;
    overflow: hidden;
}
.pd-root .pd-card.pd-featured::before {
    content: "";
    position: absolute;
    right: -80px;
    bottom: -80px;
    width: 240px;
    height: 240px;
    background: radial-gradient(circle, rgba(255,107,26,0.25), transparent 70%);
}
.pd-root .pd-card.pd-featured .pd-logo-box {
    background: rgba(255,255,255,0.08);
    border-color: rgba(255,255,255,0.12);
    color: #fff;
}
.pd-root .pd-card.pd-featured .pd-desc {
    color: rgba(255,255,255,0.78);
}
.pd-root .pd-card.pd-featured .pd-tier-platinum {
    color: #fff;
    border-color: rgba(255,255,255,0.2);
    background: rgba(255,255,255,0.08);
}
.pd-root .pd-card.pd-featured h3 {
    color: #fff;
}
.pd-root .pd-card.pd-featured .pd-region {
    color: rgba(255,255,255,0.6);
}
.pd-root .pd-card.pd-featured .pd-region svg {
    color: rgba(255,255,255,0.4);
}
.pd-root .pd-card.pd-featured .pd-meta-row {
    border-top-color: rgba(255,255,255,0.12);
}
.pd-root .pd-card.pd-featured .pd-meta-row .pd-k {
    color: rgba(255,255,255,0.55);
}
.pd-root .pd-card.pd-featured .pd-meta-row .pd-v {
    color: #fff;
}
.pd-root .pd-card.pd-featured .pd-tag {
    background: rgba(255,255,255,0.08);
    color: rgba(255,255,255,0.85);
    border-color: rgba(255,255,255,0.12);
}
.pd-root .pd-card.pd-featured .pd-since {
    color: rgba(255,255,255,0.55);
}
.pd-root .pd-featured-badge {
    position: absolute;
    top: 16px;
    right: 16px;
    background: #ff7300;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    padding: 5px 9px;
    border-radius: 6px;
    z-index: 2;
}

/* ===== Pagination ===== */
.pd-root .pd-pagination {
    max-width: 1320px;
    margin: 12px auto 0;
    padding: 0 32px 64px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.pd-root .pd-pagination .pd-info {
    font-size: 13px;
    color: #6b7591;
}
.pd-root .pd-page-btns {
    display: flex;
    gap: 4px;
}
.pd-root .pd-page-btns button {
    min-width: 38px;
    height: 38px;
    background: #fff;
    border: 1px solid #e2e5ec;
    border-radius: 40px;
    font: inherit;
    font-size: 13px;
    font-weight: 600;
    color: #0e1a33;
    cursor: pointer;
    padding: 0 10px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}
.pd-root .pd-page-btns button:hover:not(.pd-disabled):not(.pd-active) {
    background: #eceef3;
}
.pd-root .pd-page-btns button.pd-active {
    background: #0e1a33;
    color: #fff;
    border-color: #0e1a33;
}
.pd-root .pd-page-btns button.pd-disabled {
    color: #a4abbf;
    cursor: not-allowed;
}
.pd-root .pd-page-btns .pd-ellipsis {
    background: transparent;
    border: none;
}
.logo_wrapper{
    min-height:76px;
}

.logo_wrapper img{min-height: 72px;}

@media (max-width: 1100px) {
    .pd-root .pd-filterbar {
        grid-template-columns: 1fr 1fr 1fr auto;
    }
    .pd-root .pd-filterbar .pd-search-input {
        grid-column: 1 / -1;
        border-right: none;
        border-bottom: 1px solid #e2e5ec;
    }
    .pd-root .pd-grid {
        grid-template-columns: repeat(2, 1fr);
    }
    .pd-root .pd-footer-inner {
        grid-template-columns: 1fr 1fr;
    }
}
@media (max-width: 768px) {
    .pd-root .pd-grid {
        grid-template-columns: 1fr;
    }
    .pd-root .pd-cta {
        flex-direction: column;
        align-items: flex-start;
        padding: 36px 28px;
    }
    .pd-filterbar{display: none !important;}
}
