/* ===================================
   Farmer Registration - Professional Theme
=================================== */

:root{
    --primary:#198754;
    --primary-dark:#146c43;
    --light:#f8fff8;
    --border:#d8e8d8;
    --text:#2c3e2f;
    --danger:#dc3545;
    --success:#198754;
    --shadow:0 10px 30px rgba(0,0,0,.15);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

body{
    font-family:Arial,Helvetica,sans-serif;
    background:linear-gradient(135deg,#d4fc79,#96e6a1);
    color:var(--text);
    min-height:100vh;
}

/* Container */

.container{
    max-width:1100px;
}

/* Card */

.card{
    border:none;
    border-radius:20px;
    overflow:hidden;
    box-shadow:var(--shadow);
    animation:fadeUp .6s ease;
}

.card-header{
    background:linear-gradient(90deg,var(--primary),var(--primary-dark));
    color:#fff;
    padding:25px;
}

.card-header h2{
    font-weight:700;
    margin-bottom:8px;
}

.card-header p{
    margin-bottom:0;
    font-size:15px;
}

.card-body{
    background:#fff;
    padding:30px;
}

/* Section */

.section{
    background:var(--primary);
    color:#fff;
    padding:10px 15px;
    border-radius:8px;
    font-size:18px;
    margin-bottom:20px;
    font-weight:bold;
}

/* Labels */

.form-label,
label{
    font-weight:600;
    margin-bottom:6px;
}

.text-danger{
    font-weight:bold;
}

/* Inputs */

.form-control{
    border-radius:10px;
    border:1px solid var(--border);
    padding:12px;
    transition:border-color .3s ease, box-shadow .3s ease;
}

.form-control::placeholder{
    color:#9ca3af;
    font-size:14px;
}

.form-control:focus{
    border-color:var(--primary);
    box-shadow:0 0 8px rgba(25,135,84,.35);
    outline:none;
}

/* Validation */

.form-control.is-valid{
    border:2px solid var(--success);
}

.form-control.is-invalid{
    border:2px solid var(--danger);
}

.invalid-feedback{
    display:block;
    color:var(--danger);
    font-size:14px;
    font-weight:500;
    margin-top:5px;
}

.error-msg,
#cropError,
#farmingError{
    color:var(--danger);
    font-size:14px;
    font-weight:500;
    margin-top:6px;
}

/* Checkbox & Radio */

.form-check{
    background:#f9fff9;
    border:1px solid #dfeedd;
    border-radius:10px;
    padding:12px;
    margin-bottom:12px;
    transition:.3s;
    cursor:pointer;
}

.form-check:hover{
    background:#eefbea;
    border-color:var(--primary);
    transform:translateY(-2px);
}

.form-check-input{
    cursor:pointer;
}

.form-check-input:checked{
    background-color:var(--primary);
    border-color:var(--primary);
}

.form-check-label{
    cursor:pointer;
    font-weight:600;
    margin-left:5px;
}

/* Textarea */

textarea.form-control{
    min-height:120px;
    resize:vertical;
}

/* Button */

.btn-success{
    background:linear-gradient(90deg,var(--primary),var(--primary-dark));
    border:none;
    border-radius:12px;
    padding:14px;
    font-size:18px;
    font-weight:bold;
    transition:all .3s ease;
}

.btn-success:hover{
    transform:translateY(-3px);
    box-shadow:0 12px 25px rgba(25,135,84,.35);
}

.btn-success:active{
    transform:scale(.98);
}

/* Fade Animation */

@keyframes fadeUp{

    from{
        opacity:0;
        transform:translateY(20px);
    }

    to{
        opacity:1;
        transform:translateY(0);
    }

}

/* Responsive */

@media(max-width:992px){

    .card-body{
        padding:20px;
    }

}

@media(max-width:768px){

    .container{
        padding:10px;
    }

    .card-header{
        padding:20px;
    }

    .card-header h2{
        font-size:24px;
    }

    .section{
        font-size:16px;
    }

    .btn-success{
        font-size:16px;
        padding:12px;
    }

    .form-check{
        margin-bottom:10px;
    }

}

/* Footer */

footer{
    text-align:center;
    color:#fff;
    margin-top:20px;
    font-size:14px;
}