/* Custom styles — overrides and additions beyond Tailwind */

/* Smooth scroll offset for fixed nav */
section[id] {
    scroll-margin-top: 80px;
}

/* Gold gradient accent line for section dividers */
.gold-divider {
    height: 3px;
    width: 60px;
    background: linear-gradient(90deg, #c9a84c, #e0ca7e);
    border: none;
    border-radius: 2px;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #0a1628;
}
::-webkit-scrollbar-thumb {
    background: #1a3a6e;
    border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
    background: #c9a84c;
}

/* Selection color */
::selection {
    background: #c9a84c;
    color: #0a1628;
}

/* Input autofill styling */
input:-webkit-autofill,
textarea:-webkit-autofill,
select:-webkit-autofill {
    -webkit-box-shadow: 0 0 0 30px #f5f5f5 inset !important;
    -webkit-text-fill-color: #0f2140 !important;
}

/* Hero floating cards animation */
@keyframes float {
    0%, 100% { transform: translateY(0px) rotate(var(--rotate, 0deg)); }
    50% { transform: translateY(-12px) rotate(var(--rotate, 0deg)); }
}

@media (prefers-reduced-motion: no-preference) {
    .absolute.top-0.right-0 { animation: float 6s ease-in-out infinite; --rotate: 2deg; }
    .absolute.top-40.right-24 { animation: float 7s ease-in-out infinite; --rotate: -1deg; animation-delay: 1s; }
    .absolute.bottom-20.right-8 { animation: float 5.5s ease-in-out infinite; --rotate: 1deg; animation-delay: 0.5s; }
    .absolute.bottom-0.right-48 { animation: float 6.5s ease-in-out infinite; --rotate: -2deg; animation-delay: 2s; }
}

/* Navbar scroll state */
.nav-scrolled {
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.3);
}

/* Image hover zoom for neighborhood cards */
.group:hover .group-hover\:scale-105 {
    transform: scale(1.05);
}

/* Print styles */
@media print {
    nav, #contact-form, #form-success, .reveal { display: none !important; }
    body { color: #000; background: #fff; }
}
