/*** 
=============================================
    Partner Area Css
=============================================
***/
.partner-area {
    position: relative;
    display: block;
    background: #ffffff;
    padding-bottom: 120px;
    z-index: 10;
}

.partner-area.pdtop120 {
    padding-top: 120px;
}

.brand-content {
    position: relative;
    display: block;
}

.brand-content .inner {
    position: relative;
    display: block;
}

.partner-box {
    position: relative;
    display: block;
}

.partner-box li {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}

.single-partner-logo-box {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border: 1px dashed rgba(var(--thm-primary-rgb), .10);
    z-index: 1;
    min-height: 150px;
    padding: 20px;
    width: 100%;
}

.single-partner-logo-box:before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
    border: 1px dashed rgba(var(--thm-primary-rgb), .50);
    transform: perspective(400px) scaleX(0);
    transform-origin: center;
    transition: all 500ms linear;
    transition-delay: 0.5s;
    z-index: -1;
}

.single-partner-logo-box:hover:before {
    transform: perspective(400px) scaleX(1.0);
}

.single-partner-logo-box a {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    min-height: 120px;
    padding: 20px;
    overflow: hidden;
}

.single-partner-logo-box a img {
    opacity: 0.20;
    max-width: 100% !important;
    max-height: 100px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
    transition: all 0.2s ease-in-out 0.1s;
    display: block;
    margin: 0 auto;
}

.single-partner-logo-box:hover a img {
    opacity: .60;
    transition: all 0.8s ease-in-out 0.1s;
}

.partner-carousel.owl-carousel.owl-dot-style1 .owl-dots {
    display: none;
}

/* Grille statique pour les partenaires (sans carousel) */
.partner-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 20px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.partner-grid .single-partner-logo-box {
    margin: 0;
}

/* Responsive pour la grille */
@media (max-width: 576px) {
    .partner-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (min-width: 577px) and (max-width: 768px) {
    .partner-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

@media (min-width: 769px) and (max-width: 992px) {
    .partner-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (min-width: 993px) {
    .partner-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}

@media (min-width: 1200px) {
    .partner-grid {
        grid-template-columns: repeat(6, 1fr);
    }
}