/* Floating label — registration form variant (targets .form-label class) */
.has-float-label { position: relative; }
.has-float-label .form-label {
    position: absolute;
    cursor: text;
    font-size: 55%;
    opacity: 1;
    transition: all .2s;
    top: 0.5em;
    left: 12px;
    z-index: 3;
    line-height: 1;
    font-weight: 400;
    padding: 0 1px;
}
.has-float-label .k-form-error { position: initial; }
.has-float-label .form-label::after {
    content: " ";
    display: block;
    position: absolute;
    background: #fff;
    height: 2px;
    top: 50%;
    left: -.2em;
    right: -.2em;
    z-index: -1;
}
.has-float-label .form-control::-webkit-input-placeholder { opacity: 1; transition: all .2s; }
.has-float-label .form-control:placeholder-shown:not(:focus)::-webkit-input-placeholder { opacity: 0; }
.has-float-label .form-control:placeholder-shown:not(:focus) + label {
    font-size: 14px;
    opacity: .8;
    top: .6em;
    font-weight: 400;
    margin: 0;
    line-height: 1.7;
}
.has-float-label .form-control { font-weight: 400; height: 38px; padding: 10px 12px 0; }

.disclaimer-basic { color: #d9534f; }
.parent { display: flex; flex-flow: row wrap; }
.form-group { margin-bottom: 15px !important; font-weight: 400; }

/* Kendo validation */
.k-widget.k-tooltip-validation {
    color: red !important;
    font-size: 12px;
    font-weight: 400;
    letter-spacing: 0;
    margin: 2px 0;
    padding: 0 3px;
    border: none;
    background: none !important;
    box-shadow: none !important;
    position: absolute;
    margin-top: -32px;
    right: 25px;
    z-index: 0;
    pointer-events: none;
}
.k-tooltip-validation .k-i-warning { vertical-align: middle !important; }
.k-form-error { font-size: 14px; font-weight: 600; line-height: 1.5; }
.form_checkbox .k-widget.k-tooltip-validation { position: relative !important; bottom: -25px !important; }
.checkbox-label { line-height: normal; font-weight: normal !important; }

/* Kendo progress bar */
.k-progressbar { width: 100% !important; height: 15px !important; }
.k-state-selected { background: #428bca; margin-top: -15px; }
.k-progress-status { font-size: 12px; font-weight: 400; }

/* Registration modal */
.modal-body { height: 300px; overflow: auto; }
#RegistrationModal .modal-dialog .modal-content .modal-body .modalContent div p {
    font-weight: 400 !important;
    font-size: 16px !important;
}
.modal-footer .scrolltoaccept { float: left; font-size: 14px; font-weight: 400; }
.modal-dialog { width: 600px; margin: 15rem auto; }
@media (min-width: 768px) {
    .modal-dialog { width: 600px; margin: 15rem auto; }
}

/* Tab widget — shared between EtapTabForm and SimpleRegistrationWidget */
.srw-tabs { display: flex; gap: 1.5rem; margin-bottom: 1.5rem; border-bottom: 2px solid #e0e0e0; }
.srw-tab {
    background: none;
    border: none;
    padding: 0.5rem 0;
    font-size: 1rem;
    font-weight: 600;
    color: #888;
    cursor: pointer;
    position: relative;
    bottom: -2px;
}
.srw-tab.active { color: #ed1c24; border-bottom: 2px solid #ed1c24; }
.srw-pane { display: none; }
.srw-pane.active { display: block; }
.srw-login-pane { max-width: 600px; }
.srw-login-actions { margin-top: 0.75rem; display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; }
.srw-forgot { font-size: 0.875rem; }
