/* ===========================
   ERROR STATES
=========================== */
.has-error {
    background:#fdeeee;
    border:1px solid #e53935;
}

.error-msg {
    display:none;
    background:#e53935;
    color:#fff;
    font-size:12px;
    padding:6px 10px;
    margin-top:6px;
    border-radius:4px;
}

/* ===========================
   FORM WRAPPER
=========================== */
#patientForm {
    background:#fff;
    padding:30px 35px;
    border-radius:12px;
    max-width:900px;
    margin:40px auto;
    box-shadow:0 12px 30px rgba(0,0,0,.08);
}

#patientForm h2 {
    margin-bottom:20px;
    font-size:20px;
    color:#222;
}

/* ===========================
   LABELS & INPUTS
=========================== */
#patientForm label {
    display:block;
    margin-top:16px;
    font-weight:600;
    font-size:14px;
    color:#333;
}

#patientForm input,
#patientForm select {
    width:100%;
    padding:11px 12px;
    margin-top:6px;
    border:1px solid #d0d5dd;
    border-radius:6px;
    font-size:14px;
}

#patientForm input:focus,
#patientForm select:focus {
    border-color:#1976d2;
    outline:none;
    box-shadow:0 0 0 2px rgba(25,118,210,.15);
}

/* ===========================
   RADIO GROUP (Sex Field)
=========================== */
.radio-group {
    display:flex;
    gap:24px;
    margin-top:10px;
}

.radio-group label {
    display:flex;
    align-items:center;
    gap:6px;
    font-weight:500;
    cursor:pointer;
}

.radio-group input[type="radio"] {
    transform:scale(1.1);
}

/* ===========================
   ADDRESS GRID (OPTIONAL)
=========================== */
.form-grid {
    display:grid;
    grid-template-columns:repeat(2, 1fr);
    gap:16px;
}

.form-grid-3 {
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:16px;
}

@media (max-width:768px) {
    .form-grid,
    .form-grid-3 {
        grid-template-columns:1fr;
    }
}

/* ===========================
   STEPS BAR
=========================== */
.pf-steps-bar {
    display:flex;
    justify-content:space-between;
    margin:30px auto 50px;
    max-width:900px;
    position:relative;
}

.pf-steps-bar::before {
    content:'';
    position:absolute;
    top:20px;
    left:0;
    right:0;
    height:3px;
    background:#e0e0e0;
}

.pf-step {
    text-align:center;
    width:100%;
    position:relative;
    z-index:1;
}

.pf-step span {
    width:40px;
    height:40px;
    background:#e0e0e0;
    color:#555;
    border-radius:50%;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-weight:700;
    font-size:14px;
}

.pf-step p {
    margin:8px 0 0;
    font-size:13px;
    color:#777;
    max-width:120px;
    margin-inline:auto;
}

/* ACTIVE STEP */
.pf-step.active span {
    background:#1976d2;
    color:#fff;
}

.pf-step.active p {
    color:#1976d2;
    font-weight:600;
}

/* COMPLETED STEP */
.pf-step.completed span {
    background:#2e7d32;
    color:#fff;
}

.pf-step.completed p {
    color:#2e7d32;
}

/* ===========================
   STEP CONTENT
=========================== */
.step {
    display:none;
}

.step.active {
    display:block;
}

/* ===========================
   BUTTONS
=========================== */
button.next,
button.prev,
#submitForm {
    margin-top:30px;
    padding:12px 26px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
}

button.next,
#submitForm {
    background:#1976d2;
    color:#fff;
}

button.prev {
    background:#6b7280;
    color:#fff;
}

button:hover {
    opacity:.92;
}
.pf-success {
    margin-top: 25px;
    padding: 15px;
    background: #e8f5e9;
    color: #2e7d32;
    font-weight: 600;
    border-radius: 6px;
}

.pf-error {
    margin-top: 25px;
    padding: 15px;
    background: #fdecea;
    color: #c62828;
    font-weight: 600;
    border-radius: 6px;
}

/*7-2-26*/

form#patientForm {
    padding: 0;
    box-shadow: none;
}

form#patientForm .step h3 {
    font-size: 18px;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin: 0 0 10px !important;
}

form#patientForm .step label {
    margin: 0 0 0 !important;
}

.form_wrap_data .form_row {
    display: flex;
    flex-wrap: wrap;
    column-gap: 15px;
}


.form_wrap_data .form_row .form_col {
    flex: 1;
    width: 100%;
}

.form_wrap_data .form_row .form_col.full_width_col {
    flex-basis: 100%;
}

.form_wrap_data .form_row + .form_row {
    margin-top: 26px;
}

.form_wrap_data label > span {
    display: inline;
    background: transparent !important;
    margin: 0;
    padding: 0;
}

.form_wrap_data .form_row .form_col .radio-group {
    display: block;
}

.form_wrap_data .form_row .form_col .radio-group .ra_wrap {
    display: flex;
    gap: 10px;
}

.form_wrap_data .form_row .form_col .radio-group .ra_wrap label {
    display: flex !important;
    align-items: center;
}

.form_wrap_data .form_row .form_col .radio-group .ra_wrap label input[type="radio"] {
    margin: 0 2px 0 0 !important;
}

.form_wrap_data .form_row .form_col .radio-group.has-error {
    background: transparent;
    border: none;
}

.form_wrap_data .form_row .form_col input:not([type="radio"]), 
.form_wrap_data .form_row .form_col select {
    border-radius: 0 !important;
    padding: 8px 10px !important;
    min-height: 40px;
}

.form_wrap_data .form_row .form_col .radio-group .ra_wrap label {
    font-weight: normal !important;
}

.form_wrap_data .form_row.add_row .form_col.full_width_col:not(:first-child) {
    margin-bottom: 7px;
}

.form_wrap_data .form_row .form_col.full_width_col .form_list label {
    display: flex !important;
    align-items: center;
    gap: 11px;
}

.form_wrap_data .form_row .form_col.full_width_col .form_list label input[type="radio"] {
    margin-top: 0 !important;
}

.form_wrap_data .form_row .form_col.full_width_col .form_list {
    margin-top: 10px;
}

.form_wrap_data .form_row .form_col.full_width_col .form_list label {
    font-weight: normal !important;
}

.form_wrap_data .form_row .form_col.full_width_col .form_list label input[type="radio"], .form_wrap_data .form_row .form_col.full_width_col .form_list label input[type="checkbox"] {
    width: auto !important;
    margin-top: 0 !important;
}

.form_wrap_data .form_row .form_col .radio-group.check-group {
    column-count: 2;
    gap: 10px;
}

.form_wrap_data .form_row .form_col .radio-group.check-group label input[type="checkbox"] {
    min-height: unset;
    border-radius: 0;
}

#patientForm input[type="checkbox"], #patientForm input[type="radio"] {
    width: auto !important;
}


.form_wrap_data .form_row .form_col .radio-group.check-group.inline_list {
    column-count: unset;
    display: flex;
    gap: 30px;
}

.form_wrap_data .form_row .form_col .radio-group.check-group.inline_list label {
    gap: 7px;
}

.multi-form button:focus, .multi-form button:hover {
    color: #8e5039 !important;
}


@media (max-width:767px) {

    .form_wrap_data .form_row .form_col .radio-group.check-group.inline_list {
    flex-direction: column;
    gap: 6px;
}

.form_wrap_data .form_row .form_col .radio-group.check-group {
    column-count: 1;
    gap: 10px;
}

.form_wrap_data .form_row .form_col {
    flex-basis: 100%;
}

}