/* Inter Font - Locally hosted */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 100 900;
    font-display: swap;
    src: url('../fonts/inter-latin.woff2') format('woff2');
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Base Styles */
:root {
    --color-primary: #1e40af;
    --color-primary-dark: #1e3a8a;
    --color-secondary: #059669;
    --color-accent: #dc2626;
    --color-dark: #111827;
    --color-light: #f3f4f6;
}

body {
    font-family: 'Inter', system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Sticky Header */
.header-sticky {
    position: sticky;
    top: 0;
    z-index: 50;
    backdrop-filter: blur(12px);
    -webkit-backdrop-filter: blur(12px);
}

/* Hero Section */
.hero-gradient {
    background: linear-gradient(135deg, #1e3a8a 0%, #312e81 50%, #1e40af 100%);
}

/* Memorial Banner */
.memorial-overlay {
    background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.7) 100%);
}

/* Button Styles */
.btn-primary {
    @apply inline-flex items-center justify-center px-6 py-3 bg-blue-700 text-white font-semibold rounded-lg shadow-lg hover:bg-blue-800 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all duration-200;
}

.btn-secondary {
    @apply inline-flex items-center justify-center px-6 py-3 bg-white text-blue-700 font-semibold rounded-lg shadow-lg hover:bg-gray-100 focus:outline-none focus:ring-2 focus:ring-blue-500 focus:ring-offset-2 transition-all duration-200;
}

/* Modal Styles */
.modal-backdrop {
    @apply fixed inset-0 bg-black/60 backdrop-blur-sm z-50;
}

.modal-content {
    @apply fixed inset-0 flex items-center justify-center p-4 z-50;
}

.modal-panel {
    @apply bg-white rounded-2xl shadow-2xl max-w-md w-full p-6 transform transition-all;
}

/* Form Styles */
.form-input {
    @apply w-full px-4 py-3 border border-gray-300 rounded-lg focus:ring-2 focus:ring-blue-500 focus:border-blue-500 transition-colors duration-200;
}

.form-label {
    @apply block text-sm font-medium text-gray-700 mb-1;
}

.form-error {
    @apply text-red-600 text-sm mt-1;
}

/* Tribute Section */
.tribute-card {
    @apply bg-gradient-to-br from-gray-900 to-gray-800 text-white rounded-2xl overflow-hidden shadow-2xl;
}

.tribute-image {
    @apply w-48 h-48 md:w-64 md:h-64 rounded-full object-cover border-4 border-white/20 shadow-xl;
}

/* Animation Classes */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(10px); }
    to { opacity: 1; transform: translateY(0); }
}

.animate-fade-in {
    animation: fadeIn 0.5s ease-out;
}

@keyframes pulse-slow {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; }
}

.animate-pulse-slow {
    animation: pulse-slow 3s ease-in-out infinite;
}

/* Mobile Menu */
.mobile-menu {
    @apply fixed inset-0 bg-white z-40 transform transition-transform duration-300;
}

.mobile-menu.hidden {
    transform: translateX(-100%);
}

/* Footer */
.footer-gradient {
    background: linear-gradient(180deg, #111827 0%, #0f172a 100%);
}

/* Scrollbar Styling */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

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

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

::-webkit-scrollbar-thumb:hover {
    background: #64748b;
}

/* Focus Styles */
*:focus-visible {
    outline: 2px solid #3b82f6;
    outline-offset: 2px;
}

/* Print Styles */
@media print {
    .no-print {
        display: none !important;
    }
}
