/* ===== SSV Hasenberg - Custom Styles ===== */

/* Font Import */
@font-face {
    font-family: 'Inter';
    font-style: normal;
    font-weight: 300 700;
    font-display: swap;
    src: url('../fonts/Inter-Variable.woff2') format('woff2');
}

/* Base */
body {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: #f8fafc;
    color: #1e293b;
}

/* Custom Animations */
.fade-in {
    animation: fadeIn 0.8s ease-out forwards;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(20px); }
    to { opacity: 1; transform: translateY(0); }
}

/* Card hover effects */
.hover-card {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
.hover-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 20px -3px rgba(0, 0, 0, 0.08);
}

/* Active navigation class */
.nav-link-active {
    color: #8b0000 !important;
    border-bottom-color: #b22222 !important;
    font-weight: 600;
}

/* Accordion transitions */
.accordion-content {
    transition: max-height 0.35s ease-out, opacity 0.25s ease-out;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}

/* Focus visible (keyboard navigation only) */
:focus-visible {
    outline: 2px solid #b22222 !important;
    outline-offset: 2px;
    border-radius: 8px;
}
:focus:not(:focus-visible) {
    outline: none !important;
}

/* Hero section custom heights */
.hero-min-height {
    min-height: 90vh;
}

/* Bewerbe / Ergebnisse toggle arrow rotation */
.toggle-arrow {
    transition: transform 0.3s ease;
}
.toggle-arrow.rotated {
    transform: rotate(45deg);
}

/* Contact form success animation */
.animate-fadeIn {
    animation: fadeIn 0.5s ease-out forwards;
}

/* Archives accordion */
.archive-content {
    transition: max-height 0.4s ease-out, opacity 0.3s ease-out;
}

/* Custom scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Logo sizing */
.logo-img {
    max-height: 60px;
    width: auto;
}

/* Details content for bewerbe */
.details-content {
    transition: max-height 0.35s ease-out, opacity 0.25s ease-out;
}
.details-content.open {
    max-height: 2000px !important;
    opacity: 1 !important;
}
.details-content.closed {
    max-height: 0 !important;
    opacity: 0 !important;
    overflow: hidden;
}

/* Archive list styling */
.archive-item {
    border-bottom: 1px solid #e2e8f0;
    padding: 0.75rem 0;
}
.archive-item:last-child {
    border-bottom: none;
}