/* ── Custom properties ── */
:root {
    --gold-400: #d4a843;
    --gold-500: #c9a84c;
    --gold-600: #b8922e;
    --navy-950: #050c18;
    --navy-900: #081224;
    --navy-800: #0d1f3c;
}

/* ── Hero gradient ── */
.hero-gradient {
    background:
        radial-gradient(ellipse 80% 60% at 50% 40%, rgba(13, 31, 60, 0.9) 0%, transparent 70%),
        radial-gradient(ellipse 60% 50% at 20% 60%, rgba(201, 168, 76, 0.08) 0%, transparent 60%),
        radial-gradient(ellipse 60% 50% at 80% 40%, rgba(184, 146, 46, 0.06) 0%, transparent 60%),
        linear-gradient(180deg, #0a1a35 0%, #0d1f3c 30%, #081224 70%, #050c18 100%);
}

/* ── Subtle pattern overlays ── */
.hero-pattern {
    background-image:
        radial-gradient(circle at 25% 25%, rgba(201, 168, 76, 0.05) 1px, transparent 1px),
        radial-gradient(circle at 75% 75%, rgba(201, 168, 76, 0.03) 1px, transparent 1px);
    background-size: 60px 60px, 40px 40px;
}

.menu-pattern,
.visit-pattern {
    background-image: radial-gradient(circle, rgba(201, 168, 76, 0.08) 1px, transparent 1px);
    background-size: 32px 32px;
}

/* ── Hero entrance animation ── */
@keyframes heroFadeUp {
    from {
        opacity: 0;
        transform: translateY(30px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

#hero .hero-badge {
    animation: heroFadeUp 0.8s ease-out 0.2s both;
}

#hero h1 {
    animation: heroFadeUp 0.8s ease-out 0.4s both;
}

#hero p {
    animation: heroFadeUp 0.8s ease-out 0.6s both;
}

#hero a {
    animation: heroFadeUp 0.8s ease-out 0.8s both;
}

/* ── Scroll reveal (progressive enhancement) ── */
@media (prefers-reduced-motion: no-preference) {
    .reveal-up,
    .reveal-left,
    .reveal-right {
        opacity: 0;
        transition: opacity 0.7s ease-out, transform 0.7s ease-out;
    }
    .reveal-up { transform: translateY(30px); }
    .reveal-left { transform: translateX(-30px); }
    .reveal-right { transform: translateX(30px); }

    .reveal-up.revealed,
    .reveal-left.revealed,
    .reveal-right.revealed {
        opacity: 1;
        transform: translate(0);
    }
}

/* ── Navbar scroll state ── */
.navbar-scrolled {
    background: rgba(5, 12, 24, 0.92) !important;
    backdrop-filter: blur(20px);
    border-bottom: 1px solid rgba(201, 168, 76, 0.1);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* ── Menu card hover ── */
.menu-card {
    transform: translateY(0);
}
.menu-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.4), 0 0 40px rgba(201, 168, 76, 0.05);
}

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

/* ── Selection color ── */
::selection {
    background: rgba(201, 168, 76, 0.3);
    color: #fff;
}

/* ── Custom scrollbar ── */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: var(--navy-950);
}
::-webkit-scrollbar-thumb {
    background: rgba(201, 168, 76, 0.3);
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(201, 168, 76, 0.5);
}
