/**
 * FX Team Plugin Styles
 * 
 * Responsive grid layout matching the current site design
 * Typography matches theme fonts (Proxima Nova)
 * 
 * @package FX_Team
 * @version 1.0.0
 */

/* ===================================
   Team Wrapper
   =================================== */
.fx-team-wrapper {
    width: 100%;
    margin: 0 auto;
}

/* ===================================
   Department Section
   =================================== */
.fx-team-department {
    margin-bottom: 40px;
}

.fx-team-department-title {
    font-family: 'tahoma', 'proxima_nova_rgregular', arial;
    font-size: 25px;
    font-weight: 700;
    text-transform: uppercase;
    color: #231f20;
    margin-top: 0;
    margin-bottom: 12.5px;
    line-height: 32.5px;
    padding-left: 20px;
}

/* ===================================
   Members Grid
   =================================== */
.fx-team-members-grid {
    margin-left: -15px;
    margin-right: -15px;
}

/* ===================================
   Individual Member Card
   =================================== */
.fx-team-member {
    position: relative;
    min-height: 1px;
    padding-left: 15px;
    padding-right: 15px;
    margin-bottom: 30px;
    text-align: center;
    float: left;
}

/* Member Image */
.fx-team-member-image {
    margin-bottom: 15px;
    overflow: hidden;
    position: relative;
}

.fx-team-member-image img {
    width: 100% !important;
    height: auto !important;
    display: block;
    max-width: none !important;
}

/* Placeholder for members without photos */
.fx-team-member-placeholder {
    background-color: #f1f1f1;
    border: 1px solid #ddd;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 211;
    aspect-ratio: 163 / 211;
}

.fx-team-placeholder-icon {
    font-size: 60px;
    color: #ccc;
}

.fx-team-placeholder-icon .dashicons {
    width: 60px;
    height: 60px;
    font-size: 60px;
}

/* Member Info */
.fx-team-member-info {
    font-family: 'proxima_nova_rgregular', arial;
    font-size: 15px;
    line-height: 33px;
    color: #231f20;
}

.fx-team-member-name {
    font-size: 15px;
    line-height: 15px;
    margin: 0 0 5px 0;
    font-weight: normal;
}

.fx-team-member-name strong {
    font-family: 'proxima_nova_rgbold';
    font-weight: 400;
    color: #231f20;
}

.fx-team-member-position {
    font-family: 'proxima_nova_rgregular', arial;
    font-size: 15px;
    line-height: 33px;
    color: #231f20;
    margin: 0;
}

/* Member Contact Info */
.fx-team-member-contact {
    margin-top: 10px;
    font-size: 14px;
    line-height: 1.6;
}

.fx-team-member-contact a {
    display: block;
    color: #231f20;
    text-decoration: none;
}

.fx-team-member-contact a:hover {
    text-decoration: underline;
}

/* ===================================
   Responsive Grid - Bootstrap 3 Style
   =================================== */

/* Mobile First - Extra Small devices (phones, <768px) */
/* col-xs-6 = 50% width = 2 columns per row */
.fx-team-member {
    width: 50%;
}

/* Small devices (tablets, ≥768px) */
@media (min-width: 768px) {
    /* col-sm-6 = 50% width = 2 columns per row */
    .fx-team-member {
        width: 50%;
    }
}

/* Medium devices (desktops, ≥992px) */
@media (min-width: 992px) {
    /* col-md-3 = 25% width = 4 columns per row */
    .fx-team-member {
        width: 25%;
    }
}

/* Large devices (large desktops, ≥1200px) */
@media (min-width: 1200px) {
    /* Maintain 4 columns per row */
    .fx-team-member {
        width: 25%;
    }
}

/* Force clear every 4th item on desktop to prevent layout issues */
@media (min-width: 992px) {
    .fx-team-member:nth-child(4n+1) {
        clear: left;
    }
}

/* Force clear every 2nd item on tablet and mobile */
@media (max-width: 991px) {
    .fx-team-member:nth-child(2n+1) {
        clear: left;
    }
}

/* ===================================
   Clearfix for Floated Elements
   =================================== */
.fx-team-members-grid:before,
.fx-team-members-grid:after {
    content: " ";
    display: table;
}

.fx-team-members-grid:after {
    clear: both;
}

/* ===================================
   Responsive Adjustments
   =================================== */

/* Adjust spacing on smaller screens */
@media (max-width: 767px) {
    .fx-team-member {
        margin-bottom: 20px;
    }
    
    .fx-team-department {
        margin-bottom: 30px;
    }
    
    .fx-team-member-position {
        line-height: 1.6;
    }
}

/* Adjust image sizing for very small screens */
@media (max-width: 480px) {
    .fx-team-member-image img {
        max-width: 100%;
    }
    
    .fx-team-placeholder-icon {
        font-size: 40px;
    }
    
    .fx-team-placeholder-icon .dashicons {
        width: 40px;
        height: 40px;
        font-size: 40px;
    }
}

/* ===================================
   Print Styles
   =================================== */
@media print {
    .fx-team-member {
        width: 33.333333%;
        page-break-inside: avoid;
    }
    
    .fx-team-department {
        page-break-after: avoid;
    }
}

