/* Custom Color Theme - Nachwuchsadler */
:root {
    /* Hauptfarben aus dem Logo */
    --primary-blue: #0066CC;
    --primary-blue-dark: #004C99;
    --primary-blue-light: #3385D6;
    --secondary-gold: #FFD700;
    --secondary-gold-dark: #E6C200;
    --secondary-gold-light: #FFE44D;
    
    /* Hintergrundfarben */
    --bg-main: #E8EAED;
    --bg-card: #FFFFFF;
    
    /* Bootstrap Variable Overrides */
    --bs-primary: #0066CC;
    --bs-primary-rgb: 0, 102, 204;
    --bs-secondary: #FFD700;
    --bs-secondary-rgb: 255, 215, 0;
}

/* Hintergrundfarbe der gesamten App */
body {
    background-color: var(--bg-main) !important;
}

/* Bootstrap Button Overrides */
.btn-primary {
    background-color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    color: white !important;
    transition: all 0.3s ease-in-out;
}

.btn-primary:hover {
    background-color: var(--primary-blue-dark) !important;
    border-color: var(--primary-blue-dark) !important;
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
}

.btn-primary:focus,
.btn-primary:active {
    background-color: var(--primary-blue-dark) !important;
    border-color: var(--primary-blue-dark) !important;
    box-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.25) !important;
}

.btn-secondary {
    background-color: var(--secondary-gold) !important;
    border-color: var(--secondary-gold) !important;
    color: #000000 !important;
    transition: all 0.3s ease-in-out;
}

.btn-secondary:hover {
    background-color: var(--secondary-gold-dark) !important;
    border-color: var(--secondary-gold-dark) !important;
    box-shadow: 0 4px 12px rgba(255, 215, 0, 0.3);
}

.btn-secondary:focus,
.btn-secondary:active {
    background-color: var(--secondary-gold-dark) !important;
    border-color: var(--secondary-gold-dark) !important;
    box-shadow: 0 0 0 0.25rem rgba(255, 215, 0, 0.25) !important;
}

/* Success Button (für Kasse) */
.btn-success {
    transition: all 0.3s ease-in-out;
}

.btn-success:hover {
    box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
}

/* Warning Button */
.btn-warning {
    transition: all 0.3s ease-in-out;
}

.btn-warning:hover {
    box-shadow: 0 4px 12px rgba(255, 193, 7, 0.3);
}

/* Outline Buttons */
.btn-outline-primary {
    color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    transition: all 0.3s ease-in-out;
}

.btn-outline-primary:hover {
    background-color: var(--primary-blue) !important;
    border-color: var(--primary-blue) !important;
    color: white !important;
    box-shadow: 0 4px 12px rgba(0, 102, 204, 0.3);
}

.btn-outline-light {
    color: white !important;
    border-color: white !important;
    transition: all 0.3s ease-in-out;
}

.btn-outline-light:hover {
    background-color: rgba(255, 255, 255, 0.2) !important;
    border-color: white !important;
    color: white !important;
}

/* Navbar */
.navbar.bg-primary {
    background-color: var(--primary-blue) !important;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.navbar-brand {
    transition: color 0.2s ease-in-out;
}

.navbar-brand:hover {
    color: var(--secondary-gold) !important;
}

/* Text Colors */
.text-primary {
    color: var(--primary-blue) !important;
}

.text-secondary {
    color: var(--secondary-gold-dark) !important;
}

/* Background Colors */
.bg-primary {
    background-color: var(--primary-blue) !important;
}

.bg-secondary {
    background-color: var(--secondary-gold) !important;
}

.bg-light {
    background-color: #F0F2F5 !important;
}

/* Cards */
.card {
    background-color: var(--bg-card);
    border: 1px solid #DEE2E6;
    transition: box-shadow 0.3s ease-in-out, border-color 0.2s ease-in-out;
}

.card:hover {
    box-shadow: 0 8px 20px rgba(0, 102, 204, 0.15);
    border-color: var(--primary-blue-light);
}

/* Card mit Erfolgs-Stil (z.B. Kasse) */
.card.border-success:hover {
    box-shadow: 0 8px 20px rgba(40, 167, 69, 0.15);
    border-color: #28a745;
}

/* Card mit Warning-Stil (z.B. Admin) */
.card.border-warning:hover {
    box-shadow: 0 8px 20px rgba(255, 193, 7, 0.15);
    border-color: #ffc107;
}

/* Alerts */
.alert-primary {
    background-color: rgba(0, 102, 204, 0.1) !important;
    border-color: var(--primary-blue-light) !important;
    color: var(--primary-blue-dark) !important;
}

/* Links */
a {
    color: var(--primary-blue);
    transition: color 0.2s ease-in-out;
}

a:hover {
    color: var(--primary-blue-dark);
}

/* Form Controls Focus */
.form-control:focus,
.form-select:focus {
    border-color: var(--primary-blue-light);
    box-shadow: 0 0 0 0.25rem rgba(0, 102, 204, 0.25);
}

/* Badge */
.badge.bg-primary {
    background-color: var(--primary-blue) !important;
}

.badge.bg-secondary {
    background-color: var(--secondary-gold) !important;
    color: #000000 !important;
}

/* Loading Progress */
.loading-progress-bar {
    stroke: var(--primary-blue) !important;
}

.spinner-fg {
    stroke: var(--primary-blue) !important;
}

/* Border Colors */
.border-primary {
    border-color: var(--primary-blue) !important;
}

.border-secondary {
    border-color: var(--secondary-gold) !important;
}

/* Collapsible Section Headers */
h2.bg-light {
    transition: background-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

h2.bg-light:hover {
    background-color: #E8EAED !important;
    box-shadow: 0 2px 8px rgba(0, 102, 204, 0.1);
}

/* Icon Hover Effects */
i.bi {
    transition: color 0.2s ease-in-out;
}

/* Smooth transitions for all interactive elements */
button,
.btn,
input,
select,
textarea {
    transition: all 0.2s ease-in-out;
}

.btn-link{
    text-decoration: none !important;
    font-weight: unset !important;
}