﻿
/* Padrão global dos campos de formulário. */
.form-floating {
    min-height: 2.5rem;
}

.form-floating > .form-control,
.form-floating > .form-select {
    min-height: 2.5rem;
    height: 2.5rem;
    padding: .55rem .75rem;
    color: #263c55;
    line-height: 1.25;
}

.form-floating > label {
    height: 2.5rem;
    padding: .55rem .75rem;
    line-height: 1.25;
}

.form-floating > .form-control:focus,
.form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-select {
    padding-top: 1.05rem;
    padding-bottom: .1rem;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-select ~ label {
    opacity: .7;
    transform: scale(.72) translateY(-.3rem) translateX(.15rem);
}

.form-floating > textarea.form-control {
    min-height: 5rem;
    height: 5rem;
    line-height: 1.35;
}

.form-floating > textarea.form-control:focus,
.form-floating > textarea.form-control:not(:placeholder-shown) {
    padding-top: 1.6rem;
    padding-bottom: .45rem;
}

.form-floating > textarea.form-control:focus ~ label::after,
.form-floating > textarea.form-control:not(:placeholder-shown) ~ label::after {
    content: none;
}

.form-control.documento-invalido {
    color: var(--bs-danger, #ff5b5c) !important;
}

.section-label {
    display: flex;
    align-items: center;
    gap: .65rem;
    color: var(--bs-primary);
    font-style: italic;
    font-size: .875rem;
}

    .section-label::before {
        content: "";
        width: 1rem;
        height: 1px;
        background: currentColor;
    }

/* Noty - apresentação baseada no tema Limitless. */
.noty_layout {
    --noty-width: 20rem;
    --noty-bg: #263c55;
    --noty-color: #fff;
    --noty-radius: var(--bs-border-radius, .375rem);
    --noty-shadow: 0 .5rem 1rem rgba(38, 60, 85, .22);
}

#noty_layout__topRight {
    position: fixed;
    top: 1.25rem;
    right: 1.25rem;
    z-index: 1090;
    width: var(--noty-width);
    max-width: calc(100% - 2.5rem);
    margin: 0;
    padding: 0;
    list-style: none;
}

.noty_bar {
    position: relative;
    margin: .25rem 0;
    overflow: hidden;
    color: var(--noty-color);
    background: var(--noty-bg);
    border-radius: var(--noty-radius);
    box-shadow: var(--noty-shadow);
    -webkit-font-smoothing: antialiased;
}

.noty_body {
    padding: .8rem 2.5rem .8rem 1rem;
}

.noty_theme__limitless.noty_type__success { --noty-bg: var(--bs-success, #39da8a); }
.noty_theme__limitless.noty_type__error { --noty-bg: var(--bs-danger, #ff5b5c); }
.noty_theme__limitless.noty_type__warning { --noty-bg: var(--bs-warning, #fdac41); color: #263c55; }
.noty_theme__limitless.noty_type__info { --noty-bg: var(--bs-primary, #5a8dee); }

.noty_close_button {
    position: absolute;
    top: .65rem;
    right: .75rem;
    width: 1rem;
    height: 1rem;
    padding: 0;
    color: inherit;
    font-size: 0;
    line-height: 1;
    background: transparent;
    border: 0;
    cursor: pointer;
    opacity: .75;
}

.noty_close_button::before,
.noty_close_button::after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: 2px;
    content: "";
    background: currentColor;
    border-radius: 1px;
}

.noty_close_button::before { transform: translateY(-50%) rotate(45deg); }
.noty_close_button::after { transform: translateY(-50%) rotate(-45deg); }
.noty_close_button:hover { opacity: 1; }

.noty_progressbar {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 3px;
    background: rgba(0, 0, 0, .2);
}

.noty_effects_open {
    opacity: 0;
    transform: translateX(50%);
    animation: noty-in .35s ease forwards;
}

.noty_effects_close { animation: noty-out .3s ease forwards; }
.noty_fix_effects_height { animation: noty-height 75ms ease-out forwards; }
.noty_close_with_click { cursor: pointer; }

@keyframes noty-in { to { opacity: 1; transform: translateX(0); } }
@keyframes noty-out { to { opacity: 0; transform: translateX(50%); } }
@keyframes noty-height { to { height: 0; } }
