/* ============================================ */
/* BIO SECTIONS COLUMN LAYOUT CONFIGURATION    */
/* ============================================ */
/* 
   This CSS file controls the column layout for the bio sections.
   
   TO CHANGE COLUMN LAYOUT:
   - Change ONLY the --bio-columns value below
   - Set to 1 for single column 
   - Set to 2 for two columns
   - Set to 3 for three columns
   
   LAYOUT BEHAVIOR:
   - Image stays on LEFT side of text content until screen width drops below 750px
   - Below 750px, image moves ABOVE text content (mobile layout)
   - Column count adjusts based on --bio-columns setting
   
   ALL CONTENT DISPLAYS FULLY IN ALL LAYOUTS - GUARANTEED
*/

/* ============================================ */
/* ⚙️ COLUMN CONFIGURATION - CHANGE ONLY THIS  */
/* ============================================ */
:root {
    --bio-columns: 1;  /* ⚙️ CHANGE THIS VALUE: Set to 1, 2, or 3 */
}

/* ============================================ */
/* BIO SECTIONS WRAPPER STYLING                */
/* ============================================ */
.bio-sections-wrapper {
    width: 100%;
    margin: 0 auto;
}

/* ============================================ */
/* CUSHYCMS REPEATABLE LIST - GRID LAYOUT     */
/* ============================================ */
.bio-sections-wrapper .cushycms_repeat {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(100%, max(300px, calc((100% - (var(--bio-columns) - 1) * 40px) / var(--bio-columns)))), 1fr));
    gap: 40px;
    width: 1100px;
    margin-left: auto;
    margin-right: auto;
}

/* ============================================ */
/* LIST ITEM STYLING                           */
/* ============================================ */
.bio-sections-wrapper .cushycms_repeat > li {
    list-style: none;
    margin: 0;
    padding: 0;
    min-width: 0;
}

/* ============================================ */
/* BIO SECTION ADJUSTMENTS                     */
/* ============================================ */
.bio-sections-wrapper .bio-section {
    margin: 0;
    max-width: 100%;
    padding: 0;
}

/* ============================================ */
/* BIO CONTAINER - SIDE-BY-SIDE LAYOUT         */
/* Image on left, content on right (above 750px) */
/* ============================================ */
.bio-sections-wrapper .bio-container {
    display: grid;
    grid-template-columns: 400px 1fr;
    gap: 60px;
    align-items: start;
    margin-bottom: 0;
}

.bio-sections-wrapper .bio-image-wrapper {
    width: 100%;
    max-width: 400px;
}

.bio-sections-wrapper .bio-image {
    width: 100%;
}

.bio-sections-wrapper .bio-content {
    width: 100%;
    padding-top: 20px;
}

@media (max-width: 1500px) {
    .bio-sections-wrapper .cushycms_repeat {

width: 90%;
    }
}

/* ============================================ */
/* MOBILE LAYOUT - STACK VERTICALLY            */
/* Below 750px: Image above, content below     */
/* ============================================ */
@media (max-width: 750px) {
    /* Force single column grid on mobile */
    .bio-sections-wrapper .cushycms_repeat {
        grid-template-columns: 1fr !important;
        gap: 60px;
        width: 90%;
    }
    
    /* Stack image above content */
    .bio-sections-wrapper .bio-container {
        display: flex;
        flex-direction: column;
        gap: 30px;
        margin-bottom: 0;
    }
    
    .bio-sections-wrapper .bio-image-wrapper {
        max-width: 100%;
    }
    
    .bio-sections-wrapper .bio-content {
        padding-top: 0;
    }
}

/* ============================================ */
/* PRINT STYLES                                */
/* ============================================ */
@media print {
    .bio-sections-wrapper .cushycms_repeat {
        display: block;
    }
    
    .bio-sections-wrapper .cushycms_repeat > li {
        page-break-inside: avoid;
        margin-bottom: 40px;
    }
}

/* ============================================ */
/* CUSHYCMS EDITOR MODE STYLING                */
/* ============================================ */
.cushycms_repeat > li.cushycms {
    position: relative;
}

body.cushycms-edit-mode .cushycms_repeat > li.cushycms {
    outline: 2px dashed rgba(0, 123, 255, 0.3);
    outline-offset: 10px;
}
