﻿
/* ── Partners Section ── */
.partners-section {
    background: #f4f7fc;
    padding: 60px 0;
    overflow: hidden;
    font-family: 'Segoe UI', Arial, sans-serif;
}

.partners-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Section Heading */
.partners-section .sec-title {
    text-align: center;
    font-size: 1.9rem;
    font-weight: 800;
    color: #0d2a5e;
    text-transform: uppercase;
    letter-spacing: 0.06em;
    margin-bottom: 8px;
}

    .partners-section .sec-title span {
        color: #0a6ebd;
    }

.partners-section .sec-underline {
    width: 60px;
    height: 4px;
    background: linear-gradient(90deg, #0a6ebd, #00a86b);
    border-radius: 2px;
    margin: 0 auto 48px;
}

/* ── Single White Card ── */
.partners-card {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 4px 32px rgba(10, 110, 189, 0.10);
    padding: 36px 40px 32px;
    position: relative;
    overflow: hidden;
}

/* Category Label */
.partners-cat-label {
    text-align: center;
    margin-bottom: 28px;
    min-height: 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
}

    .partners-cat-label::before,
    .partners-cat-label::after {
        content: '';
        flex: 1;
        height: 1px;
        background: linear-gradient(90deg, transparent, #c0cfe8, transparent);
    }

    .partners-cat-label span {
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: #fff;
        background: linear-gradient(90deg, #0a6ebd, #0d5296);
        padding: 6px 22px;
        border-radius: 20px;
        white-space: nowrap;
        transition: opacity 0.4s;
    }

/* ── Slider Track ── */
.partners-slider-wrap {
    overflow: hidden;
    position: relative;
}

.partners-track {
    display: flex;
    align-items: center;
    gap: 0;
    transition: transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
    will-change: transform;
}

/* Individual slide = one category's logo row */
.partners-slide {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: nowrap;
    gap: 20px;
    flex-shrink: 0;
    width: 100%;
}

/* Logo card */
.p-logo {
    background: #f8fafd;
    border: 1px solid #e3eaf5;
    border-radius: 10px;
    padding: 14px 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 140px;
    min-height: 80px;
    transition: box-shadow 0.22s, border-color 0.22s, transform 0.22s;
}

    .p-logo:hover {
        border-color: #0a6ebd;
        box-shadow: 0 4px 18px rgba(10,110,189,0.13);
        transform: translateY(-3px);
    }

    .p-logo img {
        max-height: 86px;
		max-width: 275px;
		width: auto;
		height: auto;
		object-fit: contain;
    }

/* Placeholder logo (remove once real images added) */
.p-logo-ph {
    width: 110px;
    height: 48px;
    border-radius: 6px;
    background: #dde6f5;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.65rem;
    font-weight: 700;
    color: #7a95bb;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

/* ── Dot Indicators ── */
.partners-dots {
    display: flex;
    justify-content: center;
    gap: 8px;
    margin-top: 28px;
}

    .partners-dots button {
        width: 8px;
        height: 8px;
        border-radius: 50%;
        border: none;
        background: #ccd8eb;
        cursor: pointer;
        padding: 0;
        transition: background 0.3s, transform 0.3s, width 0.3s;
    }

        .partners-dots button.active {
            background: #0a6ebd;
            width: 24px;
            border-radius: 4px;
        }

/* ── Responsive ── */
@media (max-width: 768px) {
    .partners-card {
        padding: 24px 18px 22px;
    }

    .p-logo {
        min-width: 110px;
        min-height: 68px;
        padding: 10px 14px;
    }

    .partners-slide {
        gap: 12px;
    }

    .partners-section .sec-title {
        font-size: 1.4rem;
    }
}
