/* ═══════════════════════════════════════════
   Valley Gem Greenhouse — Custom Styles
   ═══════════════════════════════════════════ */

/* ── Base ── */
html {
    scroll-behavior: smooth;
}

body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

::selection {
    background: #d45510;
    color: #fefdf8;
}

/* ── Scrollbar ── */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #faf0e3;
}
::-webkit-scrollbar-thumb {
    background: #d45510;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #b53d08;
}

/* ── Nav ── */
.nav-link {
    position: relative;
}

/* ── Mobile Menu ── */
#mobile-menu {
    transition: opacity 0.3s ease, pointer-events 0.3s ease;
}

#mobile-menu.open {
    opacity: 1;
    pointer-events: auto;
}

.nav-bar {
    display: block;
}

/* Hamburger animation */
body.menu-open .nav-bar:first-child {
    transform: translateY(5px) rotate(45deg);
}
body.menu-open .nav-bar:nth-child(2) {
    opacity: 0;
    transform: scaleX(0);
}
body.menu-open .nav-bar:nth-child(3) {
    transform: translateY(-5px) rotate(-45deg);
    width: 1.25rem;
}

/* ── Mobile Nav Links ── */
.mobile-nav-link {
    transition: background-color 0.2s ease, transform 0.2s ease;
}
.mobile-nav-link:hover {
    transform: translateX(4px);
}

/* ── Scroll Indicator ── */
.scroll-dot {
    animation: scrollBounce 2s ease-in-out infinite;
}

@keyframes scrollBounce {
    0%, 100% { transform: translateY(0); opacity: 1; }
    50% { transform: translateY(6px); opacity: 0.5; }
}

/* ── Scroll Reveal ── */
.reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}

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

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    .reveal {
        opacity: 1;
        transform: none;
        transition: none;
    }
    html {
        scroll-behavior: auto;
    }
    .scroll-dot {
        animation: none;
        opacity: 0.5;
    }
}

/* ── Section Reveals ── */
.reveal-left {
    opacity: 0;
    transform: translateX(-40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-left.revealed {
    opacity: 1;
    transform: translateX(0);
}

.reveal-right {
    opacity: 0;
    transform: translateX(40px);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-right.revealed {
    opacity: 1;
    transform: translateX(0);
}

.reveal-scale {
    opacity: 0;
    transform: scale(0.95);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.reveal-scale.revealed {
    opacity: 1;
    transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
    .reveal-left,
    .reveal-right,
    .reveal-scale {
        opacity: 1;
        transform: none;
        transition: none;
    }
}

/* ── Geometric shape float animation ── */
@keyframes float {
    0%, 100% { transform: translateY(0) rotate(var(--rot, 12deg)); }
    50% { transform: translateY(-12px) rotate(var(--rot, 12deg)); }
}

.hero-shape {
    animation: float 6s ease-in-out infinite;
}

.hero-shape:nth-child(2) { animation-delay: -1.5s; animation-duration: 7s; }
.hero-shape:nth-child(3) { animation-delay: -3s; animation-duration: 5s; }
.hero-shape:nth-child(4) { animation-delay: -4.5s; animation-duration: 8s; }

@media (prefers-reduced-motion: reduce) {
    .hero-shape {
        animation: none;
    }
}

/* ── Card hover glow ── */
.card-glow:hover .card-glow-inner {
    box-shadow: 0 0 40px rgba(212, 85, 16, 0.15);
}
