/* 
 * CARDITAL OMNI - Final Design Calibration
 */

body {
    overflow-x: hidden;
    scroll-behavior: smooth;
}

/* Correct Hero Overlay image and opacity */
.hero-overlay-img {
    position: absolute;
    top: 0; left: 0; 
    width: 100%; height: 100%;
    background-image: url('images/cardital-fundo.png');
    background-size: cover; 
    background-position: center; 
    opacity: 0.15; /* Perfectly balanced for the reference look */
    z-index: 0;
}

/* Animations matching the premium reference */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

@keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-20px); }
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}

@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-15px); }
}

.animate-bounce {
    animation: bounce 2s infinite ease-in-out;
}

/* Custom backgrounds for footer as per reference */
.footer-section-bg {
    background-color: #020617;
    background-image: url('images/footer-bg.png');
    background-size: cover;
    background-position: center;
    background-blend-mode: overlay;
}

/* Modern Scrollbar */
.custom-scrollbar::-webkit-scrollbar { width: 6px; }
.custom-scrollbar::-webkit-scrollbar-track { background: #f1f1f1; }
.custom-scrollbar::-webkit-scrollbar-thumb { background: #cbd5e1; border-radius: 10px; }

/* Modal specific overrides for the Slate-950 look */
#policyModal .backdrop-blur-sm {
    background-color: rgba(2, 6, 23, 0.9);
}

/* Responsive adjustments */
@media (max-width: 768px) {
    .hero-overlay-img {
        opacity: 0.25; /* Slightly higher on mobile to fill space */
        background-position: 35% center;
    }
}
