/* ----------------------------------------------- floating labels ----------------------------------------- */
.mohtava-field {
    position: relative;
}
.mohtava-input::placeholder {
    color: transparent;
}
.mohtava-input:focus::placeholder {
    color: #9ca3af;
}
.mohtava-label {
    position: absolute;
    right: 12px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 14px;
    font-weight: 500;
    color: #767790;
    pointer-events: none;
    transition: all .15s ease-out;
    background: transparent;
    padding: 0 2px;
    line-height: 1;
}
.mohtava-input:focus ~ .mohtava-label,
.mohtava-input:not(:placeholder-shown) ~ .mohtava-label,
.mohtava-input.has-value ~ .mohtava-label {
    top: 6px;
    transform: translateY(0);
    font-size: 10px;
    color: var(--color-primary);
}
.mohtava-input.is-error {
    border-color: #ef4444 !important;
}
.mohtava-input.is-error:focus {
    box-shadow: 0 0 0 3px rgba(239,68,68,.1) !important;
}
.mohtava-error {
    font-size: 12px;
    color: #ef4444;
    margin-top: 4px;
    display: none;
}
.mohtava-error.visible {
    display: block;
}
/* Select override for floating label */
select.mohtava-input {
    padding-top: 20px;
    padding-bottom: 8px;
}
select.mohtava-input ~ .mohtava-label {
    top: 6px;
    transform: translateY(0);
    font-size: 10px;
}
textarea.mohtava-input {
    min-height: 80px;
}
textarea.mohtava-input ~ .mohtava-label {
    top: 12px;
    transform: translateY(0);
}
textarea.mohtava-input:focus ~ .mohtava-label {
    top: 6px;
}
/* Custom checkbox */
.sr-only.peer + div svg {
    transition: opacity .15s ease;
}
/* ----------------------------------------------- /floating labels ----------------------------------------- */

/* ----------------------------------------------- checkout specific ----------------------------------------- */
#checkout-error-toast {
    animation: slideDown .3s ease-out;
}
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translate(-50%, -10px);
    }
    to {
        opacity: 1;
        transform: translate(-50%, 0);
    }
}
#checkout-coupon-msg {
    transition: all .2s ease;
}
/* Payment method radio animation */
.payment-method-label .peer + div > div {
    transition: transform .15s ease;
}
/* ----------------------------------------------- /checkout specific ----------------------------------------- */
