/* ===== Custom styles for NewEra Outlet ===== */

/* Marquee animation */
@keyframes marquee {
    0% { transform: translateX(0); }
    100% { transform: translateX(-50%); }
}

.animate-marquee {
    animation: marquee 30s linear infinite;
}

/* Thin vertical line accent */
.line-accent {
    width: 1px;
    background: rgba(82, 127, 80, 0.25);
}

/* Image hover zoom handled via JS progressive enhancement */
.img-zoom img {
    transition: transform 0.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.img-zoom:hover img {
    transform: scale(1.04);
}

/* Scroll reveal — progressive enhancement, hidden by default */
.reveal {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
                transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

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

/* Force visible when JS is disabled */
.no-js .reveal,
.reveal.no-transition {
    opacity: 1;
    transform: none;
    transition: none;
}

/* Mobile menu */
#mobile-menu {
    transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

#mobile-menu.open {
    transform: translateX(0);
}

#mobile-menu.closed {
    transform: translateX(100%);
}

/* Mobile nav links */
.mobile-link {
    display: block;
    padding: 0.5rem 0;
    border-bottom: 1px solid rgba(82, 127, 80, 0.12);
}

.mobile-link:last-child {
    border-bottom: none;
}

/* Form focus states */
input:focus,
textarea:focus {
    outline: none;
}

/* Selection color */
::selection {
    background: rgba(82, 127, 80, 0.2);
    color: inherit;
}
