* {
    font-family: "Montserrat", sans-serif !important;
}

.bg-primary {
    background-color: #0c3827 !important;
}

.btn-primary {
    background-color: #0c3827 !important;
    border-color: #0c3827 !important;
    transition: filter 125ms ease-in-out;
    color: #fff4e0 !important;
}

.btn-primary:hover {
    filter: brightness(1.25);
}

.btn-outline-primary {
    color: #0c3827 !important;
    border-color: #0c3827 !important;
    transition: all 0.25s ease-in-out;
}

.btn-outline-primary:hover {
    background-color: #0c3827 !important;
    color: #fff4e0 !important;
    border-color: #0c3827 !important;
}

.bg-light {
    background-color: #fff4e0 !important;
}

.ver-mais {
    color: #001d12 !important;
    text-decoration: underline !important;
    transition: color 125ms ease-in-out;
}

.ver-mais:hover {
    color: #d5ab65 !important;
}

.text-primary {
    color: #0c3827 !important;
}

.text-light {
    color: #fff4e0 !important;
}

.text-dark {
    color: #001d12 !important;
}

.logout {
    transition: color 125ms ease-in-out;
}

.logout:hover {
    color: #fff4e0 !important;
}

.scroll-wrapper {
    display: flex;
    overflow-x: auto;
    padding-bottom: 8px;
    scroll-behavior: smooth;
    gap: 1rem;
}

.scroll-wrapper::-webkit-scrollbar {
    height: 6px;
}

.scroll-wrapper::-webkit-scrollbar-track {
    background: transparent;
}

.scroll-wrapper::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.2);
    border-radius: 4px;
}

.scroll-wrapper:hover::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 0, 0.4);
}

.scroll-container {
    display: flex;
    overflow-x: auto;
    scroll-behavior: smooth;
    padding-bottom: 10px;
    scrollbar-width: none; /* Firefox */
    -ms-overflow-style: none; /* IE 10+ */
}
.scroll-container::-webkit-scrollbar {
    display: none; /* Chrome, Safari */
}

.scroll-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background-color: rgba(255, 255, 255, 0.8);
    border: none;
    font-size: 1.5rem;
    padding: 0.5rem 0.8rem;
    border-radius: 50%;
    cursor: pointer;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
    transition: background-color 0.2s;
}

.scroll-btn:hover {
    background-color: rgba(255, 255, 255, 1);
}

.scroll-btn.left {
    left: -10px;
}

.scroll-btn.right {
    right: -10px;
}

.card[data-hover-shadow="true"]:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition:
        box-shadow 0.3s ease-in-out,
        transform 0.1s ease-in-out;
    transform: translateX(2.5px) translateY(2.5px);
}

a[data-hover-shadow="true"]:hover {
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.2);
    transition:
        box-shadow 0.3s ease-in-out,
        transform 0.1s ease-in-out;
    transform: translateX(2.5px) translateY(2.5px);
    cursor: pointer;
}

.hero-banner {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    display: none;
}

/* Animações diferentes */
@keyframes zoomIn {
    from {
        transform: scale(1);
    }
    to {
        transform: scale(1.1);
    }
}

@keyframes zoomOut {
    from {
        transform: scale(1.1);
    }
    to {
        transform: scale(1);
    }
}

@keyframes slideLeft {
    from {
        transform: translateX(20px);
        opacity: 0.8;
    }
    to {
        transform: translateX(0);
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(20px);
        opacity: 0.8;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

/* Classes que aplicam cada animação */
.zoom-in {
    animation: zoomIn 10s ease-in-out forwards;
}
.zoom-out {
    animation: zoomOut 10s ease-in-out forwards;
}
.slide-left {
    animation: slideLeft 5s ease-in-out forwards;
}
.slide-up {
    animation: slideUp 5s ease-in-out forwards;
}

.home-background {
    position: relative;
    min-height: 70dvh;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: clip;
}

.hero-overlay {
    text-align: center;
    color: #fff4e0;
    padding: 2rem;
    backdrop-filter: blur(2px) brightness(0.85);
    border-radius: 1rem;
    box-shadow: 0 0 40px rgba(0, 0, 0, 0.5);
}

.home-form .form-control {
    font-size: 1.25rem;
    padding: 1rem 1.25rem;
    border-radius: 0.5rem 0 0 0.5rem;
    border-right: none;
}

.home-form .btn {
    font-size: 1.25rem;
    padding: 1rem 2rem;
    border-radius: 0 0.5rem 0.5rem 0;
}

.home-form .input-group {
    max-width: 700px;
    margin: 0 auto;
    overflow: hidden;
}

.divider {
    width: 100%;
    border-radius: 10px;
    border-width: 0.25em;
    color: #0c3827;
    border-color: #0c3827;
    margin-left: 0;
    margin-right: auto;
}
