/* FN Thunderbird Tavern — Custom Styles */

/* Base resets and utilities */
*, *::before, *::after { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }

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

/* Selection color */
::selection {
    background: rgba(156, 28, 28, 0.15);
    color: #1a1414;
}

/* Focus visible */
a:focus-visible, button:focus-visible, input:focus-visible, textarea:focus-visible {
    outline: 2px solid #9c1c1c;
    outline-offset: 2px;
}

/* Custom scrollbar */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #faf7f5; }
::-webkit-scrollbar-thumb { background: rgba(156, 28, 28, 0.2); border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: rgba(156, 28, 28, 0.4); }

/* Image loading placeholder */
img {
    background: linear-gradient(135deg, #f0e6e6 0%, #faf7f5 100%);
}

/* Subtle animation for hero text */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

.hero h1 {
    animation: fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) forwards;
}

.hero p {
    animation: fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.2s forwards;
    opacity: 0;
}

.hero .btn-white,
.hero .border {
    animation: fadeInUp 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94) 0.4s forwards;
    opacity: 0;
}

/* Print styles */
@media print {
    .nav, .mobile-menu, .hero { display: none; }
    body { color: #000; background: #fff; }
    a { color: #000; }
}
