/* Custom Styles for Bait Al Noor Real Estate Website */
/* Mobile-First Approach */

:root {
    --primary: #1e3a5f;
    --secondary: #c9a87b;
    --accent: #b22222;
    --light: #f8f9fa;
    --dark: #212529;
}

/* Smooth Scroll Behavior */
html {
    scroll-behavior: smooth;
}

/* Animation Keyframes */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

/* Animation Classes */
.animate-fadeInUp {
    animation: fadeInUp 0.8s ease-out forwards;
}

.animate-fadeIn {
    animation: fadeIn 0.6s ease-out forwards;
}

/* Sticky Header Transition */
.sticky-header {
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

/* Hamburger Menu Animation */
#mobileMenu.active {
    transform: translateX(0);
}

#mobileMenu .active {
    display: flex;
}

/* Button Hover Effects */
.btn-hover-effect {
    transition: all 0.3s ease;
}

.btn-hover-effect:hover {
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
}

/* Testimonial Slider Styles */
.slider-transition {
    transition: transform 0.5s ease-in-out;
}

/* Form Focus Styles */
input:focus, textarea:focus, select:focus {
    box-shadow: 0 0 0 3px rgba(201, 168, 123, 0.2);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--light);
}

::-webkit-scrollbar-thumb {
    background: var(--secondary);
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--accent);
}

/* Loading Spinner */
.spinner {
    border: 3px solid var(--light);
    border-top: 3px solid var(--secondary);
    border-radius: 50%;
    width: 24px;
    height: 24px;
    animation: spin 0.8s linear infinite;
    display: inline-block;
}

@keyframes spin {
    0% { transform: rotate(0deg); }
    100% { transform: rotate(360deg); }
}

/* Image Lazy Loading Effect */
.lazy-image {
    opacity: 0;
    transition: opacity 0.3s ease-in;
}

.lazy-image.loaded {
    opacity: 1;
}

/* Responsive Container */
@media (max-width: 640px) {
    .container {
        padding-left: 1rem;
        padding-right: 1rem;
    }
}

/* Accessibility Focus Outline */
a:focus-visible, button:focus-visible {
    outline: 2px solid var(--secondary);
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    header, footer, .fixed, .sticky, .bottom-fixed {
        display: none;
    }
}