/* Layout / Global */
    .top-banner {
        height: 80px;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1030;
    }
    .logo-img {
        max-height: 60px;
    }
    .titulo-central {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        color: #0b572d;
    }
    @media (max-width: 576px) {
        .titulo-central {
            left: auto;
            right: 1rem;
            top: 50%;
            transform: translateY(-50%);
            text-align: right;
        }
        .logo-img {
            max-height: 40px;
        }
    }
    .faixa-inicial {
        background-color: #0b572d;
        color: #fff;
        text-align: center;
        font-size: 1.3em;
        font-weight: 400;
        padding-top: 0.1rem;
        padding-top: 0.1rem;
        padding-bottom: 0.1rem;
        position: fixed;
        top: 80px; /* imediatamente abaixo do banner */
        width: 100%;
        z-index: 1020;
        min-height: 40px;
    }
    .navbar-thin {
        background-color: #0b572d;
        padding-top: 0.1rem;
        padding-top: 0.1rem;
        padding-bottom: 0.1rem;
        position: fixed;
        top: 80px; /* imediatamente abaixo do banner */
        width: 100%;
        z-index: 1020;
    }
    .nav-link {
        padding-left: 1rem;
        padding-right: 1rem;
        
    }
    .navbar-nav .nav-item .nav-link {
        border-left: 1px solid rgba(255, 255, 255, 0.3);
        border-right: 1px solid rgba(255, 255, 255, 0.3);
        font-size: 0.9em;
    }
    .navbar-dark .navbar-nav .nav-link {
        color: #fff;
    }
    .navbar-dark .navbar-nav .nav-link:hover {
        background-color: #15a355;
    }
    body {
        padding-top: 130px; /* altura do banner (80px) + navbar (50px aprox) */
    }
    .btn-google {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        padding: 5px 15px;
        background-color: #fff;
        border: 1px solid #ccc;
        border-radius: 50px;
        text-decoration: none;
        color: #444;
        font-weight: 500;
        font-family: Arial, sans-serif;
        transition: background-color 0.3s ease;
    }
    .btn-google:hover {
        background-color: #f0f0f0;
    }
    .google-icon {
        width: 24px;
        height: 24px;
    }
    input[type=number]::-webkit-inner-spin-button, 
    input[type=number]::-webkit-outer-spin-button {
        -webkit-appearance: none;
        margin: 0;
    }
    input[type=number] {
        -moz-appearance: textfield; /* Firefox */
    }
/* Animações */
    @keyframes shake {
    0% { transform: translateX(0); }
    20% { transform: translateX(-5px); }
    40% { transform: translateX(5px); }
    60% { transform: translateX(-5px); }
    80% { transform: translateX(5px); }
    100% { transform: translateX(0); }
    }

    .shake {
    animation: shake 0.3s;
    border: 2px solid red;
    }

    input.sucesso {
    background-image: url('data:image/svg+xml;utf8,<svg fill="green" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M20.285 6.708l-11.39 11.39-5.63-5.63 1.41-1.41 4.22 4.22 9.98-9.98z"/></svg>');
    background-repeat: no-repeat;
    background-position: right 8px center;
    background-size: 16px 16px;
    transition: background-image 0.3s ease-in-out;
    }