/* * Plugin: Desmog Partners Block 
 * Specificity increased to override Theme/Elementor defaults 
 */

/* Container Wrapper */
.desmog-partners-block {
    display: flex;
    flex-wrap: wrap;
    gap: 40px;
    margin-bottom: 2rem;
    align-items: center; 
    width: 100%;
}

/* Layout Logic - Split */
.desmog-partners-block.split-layout .desmog-partners-left {
    /* * CHANGED: 
     * flex-grow: 0 (don't grow beyond content)
     * flex-shrink: 1 (allow shrinking if needed)
     * flex-basis: auto (size based on content)
     */
    flex: 0 1 auto;
    
    /* Still cap it at 50% so it never dominates more than half */
    max-width: 50%;
    
    box-sizing: border-box;
}

.desmog-partners-block.split-layout .desmog-partners-right {
    /* * CHANGED:
     * flex: 1 (grow to fill all remaining space)
     */
    flex: 1;
    
    box-sizing: border-box;
    min-width: 0; 
}

/* Full Width Scenarios */
.desmog-partners-block.only-partners .desmog-partners-left,
.desmog-partners-block.only-content .desmog-partners-right {
    flex: 0 0 100%;
    max-width: 100%;
}

/* Left Side: Logos Grid */
.desmog-partners-block .partners-grid {
    display: flex;
    flex-wrap: wrap;
    gap: 30px;
    align-items: center;
}

/* Center logos if only the logo section is present */
.desmog-partners-block.only-partners .partners-grid {
    justify-content: center;
}

/* Individual Item Wrapper */
.desmog-partners-block .partner-item {
    display: block;
    line-height: 0;
    margin: 0;
    padding: 0;
}

/* * IMAGE STYLING RULES
 * Covers both standard <img> tags and <picture> tag structures
 */

/* 1. Reset the wrapper if it is a picture tag */
.desmog-partners-block .partner-item picture.partner-logo-img {
    display: block;
    margin: 0;
    padding: 0;
    border: none;
    max-width: 100%;
}

/* 2. Target the Image itself */
.desmog-partners-block .partner-item img.partner-logo-img,
.desmog-partners-block .partner-item picture.partner-logo-img img {
    display: block;
    width: auto !important;      
    max-width: 200px !important; 
    height: auto !important;
    max-height: 150px;           
    object-fit: contain;
    margin: 0;
    padding: 0;
    border: none;
    box-shadow: none;
}

/* Fallback text */
.desmog-partners-block .partner-name {
    display: inline-block;
    font-weight: bold;
    font-size: 14px;
    line-height: 1.4;
}

/* Right Side: Content */
.desmog-partners-block .desmog-content-body {
    line-height: 1.6;
}

/* Mobile Responsive */
@media (max-width: 768px) {
    .desmog-partners-block {
        flex-direction: column;
        gap: 30px;
    }
    
    .desmog-partners-block.split-layout .desmog-partners-left,
    .desmog-partners-block.split-layout .desmog-partners-right {
        flex: 0 0 100%;
        max-width: 100%;
    }
    
    .desmog-partners-block .partners-grid {
        justify-content: center;
    }
}