/* Custom styles for Hyland Vineyard */

/* Floating animation for hero cards */
@keyframes float {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-12px); }
}

@keyframes float-delayed {
    0%, 100% { transform: translateY(0px); }
    50% { transform: translateY(-8px); }
}

.animate-float {
    animation: float 4s ease-in-out infinite;
}

.animate-float-delayed {
    animation: float-delayed 5s ease-in-out infinite;
    animation-delay: 1s;
}

/* Scroll reveal base state - content is always visible */
.reveal {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

/* Only apply hidden state when JS is available and user prefers motion */
@media (prefers-reduced-motion: no-preference) {
    .reveal.hidden {
        opacity: 0;
        transform: translateY(30px);
    }
}

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

/* Navbar background on scroll */
nav.scrolled {
    background: rgba(254, 252, 243, 0.95);
    backdrop-filter: blur(10px);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}

/* Mobile menu link hover */
.mobile-link:hover {
    color: #dc4462;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: #fdfcf3;
}

::-webkit-scrollbar-thumb {
    background: #a11d35;
    border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
    background: #841d35;
}

/* Focus styles for accessibility */
a:focus-visible, button:focus-visible {
    outline: 2px solid #dc4462;
    outline-offset: 2px;
    border-radius: 4px;
}

/* Ensure all text has proper contrast */
.text-burgundy-950 { color: #3a0a14; }
.text-burgundy-900 { color: #6e1b31; }
.text-burgundy-800 { color: #841d35; }
.text-burgundy-700 { color: #a11d38; }
.text-burgundy-600 { color: #c42a48; }
.text-burgundy-500 { color: #dc4462; }
.text-burgundy-400 { color: #ed6a8a; }
.text-burgundy-300 { color: #f5a5b8; }
.text-burgundy-200 { color: #fad0d9; }
.text-burgundy-100 { color: #fce7eb; }

.text-blush-950 { color: #550511; }
.text-blush-900 { color: #9f0d28; }
.text-blush-800 { color: #bf0e2e; }
.text-blush-700 { color: #e8143d; }
.text-blush-600 { color: #ff2f54; }
.text-blush-500 { color: #ff5c78; }
.text-blush-400 { color: #ff8ba2; }
.text-blush-300 { color: #ffb4c4; }
.text-blush-200 { color: #ffd5dd; }
.text-blush-100 { color: #ffebef; }

/* Responsive adjustments */
@media (max-width: 768px) {
    .animate-float,
    .animate-float-delayed {
        display: none;
    }
}

/* Print styles */
@media print {
    nav, .animate-float, .animate-float-delayed, #mobileMenuBtn {
        display: none !important;
    }
    
    body {
        background: white;
        color: black;
    }
}
