/* ================================
   PRO MEMBERS ENTERPRISE UI
   FULL GRID + WPBAKERY SAFE CSS
================================ */

/* Wrapper */
.pmembers-wrapper{
    max-width:1100px;
    margin:0 auto;
    background:#ffffff;
    padding:40px;
    border-radius:12px;
    box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.pm-required{
color:#e63946;
margin-left:3px;
font-weight:700;
}

.pm-file-hint{
display:block;
font-size:12px;
color:#888;
margin-top:4px;
}


/* Sections */
.pm-section{
    margin-bottom:40px;
    padding-bottom:20px;
    border-bottom:1px solid #eee;
}

.pm-section h3{
    margin-bottom:20px;
    color:#3bb77e;
    font-size:22px;
    font-weight:700;
}

.pm-subtitle{
    margin:20px 0 10px;
    font-size:18px;
    color:#3bb77e;
    font-weight:600;
}

/* ================================
   GRID SYSTEM (WPBAKERY SAFE)
================================ */

.pmembers-grid-1,
.pmembers-grid-2,
.pmembers-grid-3,
.pmembers-grid-4{
    display:grid !important;
    width:100%;
    align-items:start;
    gap:20px;
    padding-top: 20px;
}

.pmembers-grid-1{
    grid-template-columns:1fr !important;
}

.pmembers-grid-2{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}

.pmembers-grid-3{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

.pmembers-grid-4{
    grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}

/* Fix WPBakery forcing width */
.pmembers-grid-1 > *,
.pmembers-grid-2 > *,
.pmembers-grid-3 > *,
.pmembers-grid-4 > *{
    width:auto !important;
    max-width:100% !important;
    flex:none !important;
}

/* ================================
   FIELD STYLING
================================ */

.pmembers-field{
    display:flex;
    flex-direction:column;
}

.pmembers-field label{
    font-weight:600;
    margin-bottom:6px;
    color:#333;
    font-size:14px;
}

.pmembers-field input,
.pmembers-field textarea,
.pmembers-field select{
    width:100% !important;
    padding:8px 14px;
    border:1px solid #ddd;
    border-radius:6px;
    font-size:15px;
    background:#fff;
    transition:all .2s ease;
    line-height: 22px !important;
}

.pmembers-field input:focus,
.pmembers-field textarea:focus,
.pmembers-field select:focus{
    border-color:#3bb77e;
    outline:none;
    box-shadow:0 0 0 2px rgba(59,183,126,0.1);
}

.pmembers-field textarea{
    min-height:100px;
    resize:vertical;
}

/* DATE INPUT FIX */
.pm-date{
    width:100% !important;
    max-width:100% !important;
    line-height: 22px !important;
}

/* FILE INPUT FIX */
.pmembers-field input[type="file"]{
    padding:8px;
}

/* ================================
   SUBMIT BUTTON
================================ */

.pmembers-submit{
    margin-top:30px;
    text-align:center;
}

.pmembers-submit button{
    background:#3bb77e;
    color:#fff;
    padding:14px 32px;
    border:none;
    border-radius:8px;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:.3s;
}

.pmembers-submit button:hover{
    background:#2ea56c;
}

/* Response Message */
.member-form-response{
    margin-top:20px;
    text-align:center;
    font-weight:600;
    color:#3bb77e;
}

.pm-payment-box{
display:flex;
justify-content:space-between;
gap:30px;
padding:25px;
border-radius:10px;
background:#f8fffb;
border:1px solid #dff3e9;
margin-bottom:30px;
align-items:center;
}

.pm-bank-info{
flex:1;
}

.pm-bank-info h4,
.pm-upi-box h4{
margin-bottom:10px;
color:#3bb77e;
font-size:18px;
}

.pm-bank-info p{
margin:6px 0;
font-size:15px;
}

.pm-upi-box{
text-align:center;
}

.pm-upi-box img{
width:160px;
height:auto;
border-radius:8px;
box-shadow:0 5px 15px rgba(0,0,0,0.08);
}

@media(max-width:768px){
.pm-payment-box{
flex-direction:column;
text-align:center;
}
}


/* ================================
   MOBILE RESPONSIVE
================================ */

@media(max-width:1024px){

    .pmembers-grid-4{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

    .pmembers-grid-3{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }

}

@media(max-width:768px){

    .pmembers-wrapper{
        padding:25px;
    }

    .pmembers-grid-2,
    .pmembers-grid-3,
    .pmembers-grid-4{
        grid-template-columns:1fr !important;
    }

}

.pm-text-scroller{
    width:100%;
    background:#3bb77e;
    padding:8px 0;
    border-top:1px solid #ddd;
    border-bottom:1px solid #ddd;
}

.pm-text-scroller marquee{
    font-size:20px;
}

.pm-scroller-link{
    color:#fff !important;
    font-weight:600;
    text-decoration:none;
}

.pm-scroller-link:hover{
    text-decoration:underline;
}

.pm-loading{
background:#f0f6ff;
padding:15px;
border-radius:6px;
color:#004085;
font-weight:600;
text-align:center;
}

.pm-success-box{
background:#e6ffed;
padding:20px;
border-radius:8px;
border-left:5px solid #28a745;
text-align:center;
}

.pm-success-box h4{
margin-bottom:8px;
color:#2f855a;
font-size:18px;
}

.pm-error-box{
background:#fff5f5;
border:1px solid #feb2b2;
padding:15px;
border-radius:8px;
color:#c53030;
font-weight:600;
margin-top:20px;
}

/* MEMBERS GRID */

.pmembers-grid-list{
display:grid;
grid-template-columns:repeat(4,minmax(0,1fr));
gap:25px;
}

.pmember-card{
background:#fff;
border-radius:12px;
box-shadow:0 6px 20px rgba(0,0,0,0.06);
overflow:hidden;
transition:0.3s;
text-align:center;
}

.pmember-card:hover{
transform:translateY(-5px);
}

.pmember-img{
width:100%;
height:260px;
display:flex;
align-items:center;
justify-content:center;
background:#f5f7f8;
overflow:hidden;
}

.pmember-img img{
max-width:100%;
max-height:100%;
object-fit:contain;
}

.pmember-info{
padding:15px;
}

.pm-error{
color:#e60000;
font-size:13px;
margin-top:6px;
font-weight:500;
}

.pmembers-submit button:disabled{
opacity:0.6;
cursor:not-allowed;
}

/* ICON STYLE FOR MEMBER GRID */

.pmember-info p,
.pmember-name{
display:flex;
align-items:center;
gap:8px;
margin-bottom:6px;
}

.pmember-info .dashicons{
color:#3bb77e;
font-size:18px;
width:18px;
height:18px;
}

/* Better hierarchy */
.pmember-name{
font-size:18px;
font-weight:700;
}

.pmember-designation{
font-weight:600;
color:#3bb77e;
}


.pmember-info h4{
margin-bottom:5px;
font-size:18px;
color:#222;
}

.pmember-designation{
font-size:14px;
color:#555;
margin-bottom:5px !important; 
}

.pmember-district{
font-size:14px;
color:#3bb77e;
margin-bottom:3px !important;
}

.pmember-mobile{
font-size:14px;
color:#555;
}

/* Responsive */

@media(max-width:1024px){
.pmembers-grid-list{
grid-template-columns:repeat(2,1fr);
}
}

@media(max-width:600px){
.pmembers-grid-list{
grid-template-columns:1fr;
}
}

/* ================================
   DECLARATION SECTION
================================ */

.pm-declaration-box{
background:#f9fffc;
border:1px solid #dff3e9;
padding:20px;
border-radius:10px;
font-size:15px;
line-height:1.7;
color:#333;
}

.pm-declaration-box p{
margin-bottom:12px;
}

.pm-declaration-check{
display:flex;
align-items:center;
gap:10px;
margin-top:15px;
font-weight:600;
}

.pm-declaration-check input{
width:18px;
height:18px;
cursor:pointer;
}

