/* ============================================
   Sandra Arnau — RE/MAX Distinguished Homes
   Custom Styles
   ============================================ */

/* --- Scrollbar --- */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #faf8f5;
}
::-webkit-scrollbar-thumb {
    background: #d44061;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #9c1c36;
}

/* --- Animations --- */
@keyframes scrollDown {
    0% { top: -100%; opacity: 0; }
    50% { opacity: 1; }
    100% { top: 200%; opacity: 0; }
}

@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Hero scroll indicator --- */
@keyframes bounce {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(6px); }
}

/* --- Navigation transitions --- */
.nav-color-transition {
    transition: color 0.4s ease;
}
.nav-subtext-transition {
    transition: color 0.4s ease;
}

/* --- Scroll Reveal (progressive enhancement) --- */
@media (prefers-reduced-motion: no-preference) {
    .about-reveal,
    .services-reveal,
    .neighborhoods-reveal,
    .testimonials-reveal,
    .contact-reveal {
        opacity: 0;
        transform: translateY(30px);
        transition: opacity 0.7s ease, transform 0.7s ease;
    }

    .about-reveal.revealed,
    .services-reveal.revealed,
    .neighborhoods-reveal.revealed,
    .testimonials-reveal.revealed,
    .contact-reveal.revealed {
        opacity: 1;
        transform: translateY(0);
    }

    .service-card {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .service-card.revealed {
        opacity: 1;
        transform: translateY(0);
    }

    .neighborhood-card {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .neighborhood-card.revealed {
        opacity: 1;
        transform: translateY(0);
    }

    .testimonial-card {
        opacity: 0;
        transform: translateY(20px);
        transition: opacity 0.5s ease, transform 0.5s ease;
    }

    .testimonial-card.revealed {
        opacity: 1;
        transform: translateY(0);
    }
}

/* --- Mobile menu transitions --- */
#mobile-menu {
    transition: transform 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

/* --- Smooth scroll --- */
html {
    scroll-behavior: smooth;
}

/* --- Focus styles --- */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
    outline: 2px solid #d44061;
    outline-offset: 2px;
}

/* --- Selection --- */
::selection {
    background: #fce7eb;
    color: #6c1b33;
}

/* --- Utility: ensure hero text is readable --- */
#hero h1,
#hero p,
#hero a {
    position: relative;
    z-index: 10;
}
