
/* ===============================
   GLOBAL FORM STYLES
================================ */
form {
    padding: 0 !important;
    font-family: 'Poppins', sans-serif;
}


/* ===============================
   SECTION HEADERS
================================ */
.section-title {
    font-size: 18px;
    font-weight: 600;
    color: #0d3b66;
    margin-bottom: 14px;
    padding-left: 12px;
    border-left: 3px solid #2f80ed;
    border-bottom:1px solid #ccc;
}

/* ===============================
   INPUT FIELDS
================================ */
input,
select,
textarea {
    width: 100%;
    padding: 3px 5px !important;
    font-size: 14px;
    border: 1px solid #e3e8ef;
    border-radius: 6px;
    transition: all 0.25s ease;
    outline: none;
}

/* FOCUS STATE */
input:focus,
select:focus,
textarea:focus {
    border-color: #2f80ed;
    box-shadow: 0 0 0 2px rgba(47, 128, 237, 0.1);
}

/* TEXTAREA */
textarea {
    resize: none;
    min-height: 100px;
}

/* ===============================
   LABELS
================================ */
label {
    font-size: 15px;
    font-weight: 510;
    color: #333;
    margin-top: 2px;
    display: inline-block;
}


/* ===============================
   CHECKBOX & RADIO
================================ */
.form-check {
    margin-bottom: 3px;
         color: #333;
         font-size:15px;
}

.form-check-input {
    width: 16px;
    height: 16px;
    border-radius: 4px;
    cursor: pointer;
    margin-right: 6px;
     border: 1px solid #203a5f;

}

.form-check-input:checked {
    background-color: #2f80ed;
    border-color: #2f80ed;
}

/* ===============================
   BUTTON
================================ */
.btn-primary {
    background: linear-gradient(135deg, #2f80ed, #1c5ed6);
    border: none;
    border-radius: 30px;
    padding: 10px 35px;
    font-weight: 500;
    color: #fff;
    transition: all 0.3s ease;
}

.btn-primary:hover {
    background: linear-gradient(135deg, #1c5ed6, #2f80ed);
    transform: translateY(-1px);
}

/* ===============================
   SMALL HEADINGS
================================ */
h6 {
    font-weight: 600;
    margin-top: 15px;
    color: #0d3b66;
}
/* ===============================
   REQUIRED FIELD INDICATOR (*)
================================ */
label.required::after {
    content: " *";
    color: #e63946;
    font-weight: 600;
}

/* ===============================
   REQUIRED INPUT STYLE
================================ */
input:required,
select:required,
textarea:required {
    border-left: 3px solid #e63946;
    background-color: #fff;
}

/* ===============================
   FOCUS ON REQUIRED FIELD
================================ */
input:required:focus,
select:required:focus,
textarea:required:focus {
    border-color: #2f80ed;
    border-left: 3px solid #2f80ed;
    box-shadow: 0 0 0 2px rgba(47, 128, 237, 0.1);
}

/* ===============================
   INVALID (EMPTY REQUIRED FIELD)
================================ */
input:required:invalid,
select:required:invalid,
textarea:required:invalid {
    border-color: #c2cdff;
    background-color: #f9f9ff;
}

/* ===============================
   VALID (FILLED CORRECTLY)
================================ */
input:required:valid,
select:required:valid,
textarea:required:valid {
    border-color: #2ecc71;
    background-color: #f6fff9;
}

/* ===============================
   OPTIONAL SMALL TEXT NOTE
================================ */
.required-note {
    font-size: 13px;
    color: #e63946;
    margin-bottom: 10px;
}
.bank-title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: #000;
}

.bank-table {
    background: #fff;
    border:1px solid #ccc; border-radius:15px;
}

.bank-table th {
    background: #f5f5f5;
    font-weight: 600;
    text-align: left;
    color: #000;
}

.bank-table td {
    font-size: 15px;
    color: #333;
    padding:5px;
}

.bank-table td:first-child {
    width: 180px;
    font-weight: 500;
}
       