/* Custom Style for Frontend */
/* Custom Forms - START */

/* Reset radio and checkbox appearance */
.elementor-field-type-radio input[type="radio"],
.elementor-form input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
}

/* Default styles for radio and checkbox */
.elementor-field-type-radio input[type="radio"]:before,
.elementor-form input[type="checkbox"]:before {
    content: "";
    display: block;
    position: absolute;
    height: 25px;
    width: 25px;
    top: 4px;
    left: 0;
    background-color: #efefef;
    border-radius: 50% !important;
    cursor: pointer;
}

/* Checked state for radio and checkbox */
.elementor-field-type-radio input[type="radio"]:checked:after,
.elementor-form input[type="checkbox"]:checked:after {
    content: '';
    display: block;
    position: absolute;
    width: 7px;
    height: 14px;
    top: 9px;
    left: 9px;
    border: 2px solid #fff;
    border-width: 0 4px 4px 0;
    transform: rotate(45deg);
    cursor: pointer;
}

/* Checked appearance and transition */
.elementor-field-type-radio input[type="radio"]:checked:before,
.elementor-form input[type="checkbox"]:checked:before {
    background: #2161EA;
    border-color: #2161EA;
    box-shadow: 0 0 0 4px rgba(255, 0, 0, 0.527);
    outline: 0;
    transition: background-color 200ms ease-in-out, 
                border-color 200ms ease-in-out, 
                box-shadow 200ms ease-in-out;
}

/* Label padding */
.elementor-field-type-radio label,
.elementor-field-type-checkbox label,
.elementor-field-option label {
    padding-left: 40px;
}

/* Field group option positioning */
.elementor-field-group span.elementor-field-option {
    position: relative;
    margin-top: 15px;
}

/* Remember me checkbox adjustments */
label[for="pp-login-remember-me"],
label[for="elementor-login-remember-me"] {
    line-height: inherit;
    position: relative;
}

label[for="pp-login-remember-me"] input[type="checkbox"]:before,
label[for="elementor-login-remember-me"] input[type="checkbox"]:before {
    top: 0px;
}

label[for="pp-login-remember-me"] input[type="checkbox"]:checked:after,
label[for="elementor-login-remember-me"] input[type="checkbox"]:checked:after {
    top: 5px;
}

/* Page-specific styles */
.page-id-115 .elementor-field-type-checkbox label {
    background-color: #dbdbdb !important;
    padding: 5px 12px 5px 16px !important;
    border-radius: 9px !important;
}

.page-id-115 .elementor-field-type-checkbox .pp-login-remember-text {
    padding-left: 30px;
}

.page-id-15 .elementor-field-type-checkbox input[type="checkbox"]:before {
    left: 11px;
    top: 8px;
}

.page-id-15 .elementor-field-type-checkbox input[type="checkbox"]:after {
    top: 13px !important;
    left: 20px;
}

.page-id-115 label[for="pp-login-remember-me"] input[type="checkbox"]:before,
label[for="elementor-login-remember-me"] input[type="checkbox"]:before {
    top: 5px;
    left: 10px;
}

.page-id-115 label[for="pp-login-remember-me"] input[type="checkbox"]:checked:after,
label[for="elementor-login-remember-me"] input[type="checkbox"]:checked:after {
    top: 9px;
    left: 19px;
}

/* Custom Forms - END */

/* eForms - START */

/* Material style adjustments for active label */
.ipt-uif-custom-material-red.eform-override-element-boxy .input-field.has-icon > label.active {
    display: none;
}

/* Forms - END */
