/**
 * euroSKIES Stylesheet - Cleaned & Sorted Version
 */

/* ==========================================================================
   1. VARIABLES & GLOBALS
   ========================================================================== */
:root {
    --euroskies-navy: #071132;
    --euroskies-accent-blue: #417BBE;
    --euroskies-primary-red: #A30C0C;
    --euroskies-dark-red: #680404;
}

/* Base Links */
a {
    color: var(--euroskies-accent-blue) !important;
    text-decoration: none;
    transition: color 0.2s ease;
}

a:hover {
    color: var(--euroskies-navy) !important;
    text-decoration: underline;
}

/* Helper Utilities */
.font-large { font-size: 24px; }
.font-medium { font-size: 20px; }
.full-height { height: 50vh; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.position-ref { position: relative; }
.m-b-md { margin-bottom: 30px; }
.mini-splash { padding: 30px 0; text-align: center; color: #9A9A9A; font-weight: 300; }
.blue-bg { background: var(--euroskies-accent-blue); }

/* Vendor Plugin Fixes */
.select2-container { margin-top: 2px; }


/* ==========================================================================
   2. MAPS & DASHBOARD COMPONENTS
   ========================================================================== */
.map-info-box {
    position: absolute;
    bottom: 0;
    padding: 20px;
    height: 100px;
    z-index: 9999;
    background-color: rgba(232, 232, 232, 0.9);
}

.map-info-label {
    display: block;
    padding: 5px;
    background-color: rgba(232, 232, 232, 0.9);
}

.dashboard-box {
    background: var(--euroskies-navy);
    color: #FFF;
}

.dashboard-box .header {
    left: 0;
    right: 0;
    height: 100px;
    line-height: 100px;
    white-space: nowrap;
}

.dashboard-box .icon-background {
    float: left;
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    right: 0;
    font-size: 125px;
}

.dashboard-box .icon {
    opacity: .1;
}

.dashboard-box .description {
    position: absolute;
    color: white;
    bottom: 0;
    left: 0;
    right: 0;
    font-size: 1.45em; 
}


/* ==========================================================================
   3. CARDS STYLING
   ========================================================================== */
.card-bg {
    float: left;
    position: absolute;
    display: block;
    bottom: 10px;
    width: 100%;
    height: 100%;
    font-size: 275px;
    text-align: center;
}

.card-header {
    background-color: var(--euroskies-navy) !important;
    color: #fff !important;
    font-weight: bold;
}

.nav[role="tablist"] + .card.border-blue-bottom {
    margin-top: 0 !important;
    border-top-left-radius: 0 !important;
    border-top-right-radius: 0 !important;
    border-top: none !important;
}

div.card.border-blue-bottom {
    border: 1px solid #dee2e6 !important;
    border-top: none !important;
    border-bottom: 1px solid #dee2e6 !important;
}

.card.border-blue-bottom .card-body {
    font-size: 15px !important;
    color: #212529 !important;
}

/* Specific Card Buttons */
.card .btn-primary {
    background-color: var(--euroskies-accent-blue) !important;
    border-color: var(--euroskies-accent-blue) !important;
}

.card .btn-primary:hover {
    background-color: var(--euroskies-navy) !important;
    border-color: var(--euroskies-navy) !important;
}


/* ==========================================================================
   4. BUTTONS & INTERACTIONS (GLOBAL)
   ========================================================================== */
.btn-link { color: var(--euroskies-accent-blue) !important; }
.btn-link:hover { color: var(--euroskies-navy) !important; }

/* Global Primary Buttons */
.btn.btn-primary, button.btn-primary, .btn-primary {
    background-color: var(--euroskies-accent-blue) !important;
    background-image: none !important;
    border-color: var(--euroskies-accent-blue) !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.btn.btn-primary:hover, .btn.btn-primary:focus, .btn-primary:not(:disabled):not(.disabled):hover {
    background-color: var(--euroskies-navy) !important;
    background-image: none !important;
    border-color: var(--euroskies-navy) !important;
    color: #ffffff !important;
}

/* Global Outline Buttons */
.btn.btn-outline-primary, button.btn-outline-primary, .btn-outline-primary, a.btn-outline-primary {
    display: inline-block !important;
    background-color: transparent !important;
    background-image: none !important;
    color: var(--euroskies-accent-blue) !important;
    border: 2px solid var(--euroskies-accent-blue) !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    transition: all 0.2s ease-in-out;
}

.btn.btn-outline-primary:hover, .btn-outline-primary:not(:disabled):not(.disabled):hover, a.btn-outline-primary:hover {
    background-color: var(--euroskies-accent-blue) !important;
    background-image: none !important;
    border-color: var(--euroskies-accent-blue) !important;
    color: #ffffff !important;
    text-decoration: none !important;
}

/* Global Disabled Buttons */
.btn:disabled, button:disabled, .btn[disabled], button[disabled] {
    background-color: #e3e3e3 !important;
    background-image: none !important;
    border-color: #d2d2d2 !important;
    color: #9a9a9a !important;
    cursor: not-allowed !important;
    opacity: 0.65 !important;
}

/* Flight Booking / Bid Buttons */
.my-bids {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 50%;
    margin: 15px;
    padding: 10px;
    border-radius: .1875rem;
    background-color: var(--euroskies-primary-red);
}

.my-bids a {
    color: #fff;
    text-decoration: none;
    text-align: center;
    font-size: 17px;
}

.btn.euroskies-bid-btn {
    font-size: 13px !important;
    font-weight: 600 !important;
    padding: 5px 12px !important;
    border-radius: 4px !important;
    color: #ffffff !important;
    border: none !important;
    transition: background-color 0.2s ease;
}

.btn.euroskies-bid-btn.btn-success { background-color: #28a745 !important; }
.btn.euroskies-bid-btn.btn-success:hover { background-color: #218838 !important; }
.btn.euroskies-bid-btn.btn-danger { background-color: var(--euroskies-primary-red) !important; }
.btn.euroskies-bid-btn.btn-danger:hover { background-color: var(--euroskies-dark-red) !important; }


/* ==========================================================================
   5. AUTH / LOGIN PAGE SPECIFIC OVERRIDES
   ========================================================================== */
.login-page .btn.btn-primary, .login-page button.btn-primary, .login-page .btn-primary {
    background-color: var(--euroskies-accent-blue) !important;
    background-image: none !important;
    border-color: var(--euroskies-accent-blue) !important;
    color: #ffffff !important;
    opacity: 1 !important;
}

.login-page .btn.btn-primary:hover, .login-page .btn.btn-primary:focus, .login-page button.btn-primary:hover, .login-page .btn-primary:not(:disabled):not(.disabled):hover {
    background-color: var(--euroskies-navy) !important;
    background-image: none !important;
    border-color: var(--euroskies-navy) !important;
    color: #ffffff !important;
}

.login-page .btn.btn-primary:active, .login-page button.btn-primary:active {
    background-color: var(--euroskies-navy) !important;
    background-image: none !important;
    border-color: var(--euroskies-navy) !important;
}

.login-page .btn:disabled, .login-page button:disabled, .login-page .btn[disabled], .login-page button[disabled] {
    background-color: #e3e3e3 !important;
    background-image: none !important;
    border-color: #d2d2d2 !important;
    color: #9a9a9a !important;
    cursor: not-allowed !important;
    opacity: 0.65 !important;
}


/* ==========================================================================
   6. NAVIGATION & BRANDING
   ========================================================================== */
.navbar, .bg-light, .bg-dark { 
    background-color: var(--euroskies-navy) !important; 
}

/* Crew Center Brand Logo Left */
.navbar a.text-white[href*="crew"], .navbar .navbar-brand, .navbar > a.text-white:first-child {
    font-size: 16px !important;     
    font-weight: 500 !important;     
    letter-spacing: 0.3px;
    text-transform: none !important; 
}

/* Nav Bar Core Links */
.navbar-nav .nav-item .nav-link, .navbar-nav .dropdown-toggle {
    font-size: 12px !important; 
    font-weight: 400 !important;     
    color: rgba(255, 255, 255, 0.85) !important;
    display: flex !important;
    align-items: center !important;
}

.navbar-nav .nav-link:hover {
    color: var(--euroskies-accent-blue) !important;
}

.search-form .form-control {
    border-radius: 5px;
    width: 250px;
}

/* Dropdown Container */
.dropdown-menu {
    background-color: var(--euroskies-navy) !important;
    border: 1px solid var(--euroskies-accent-blue) !important;
}

.dropdown-menu:not(.show) {
    display: none;
}

/* Dropdown Items */
.dropdown-menu .dropdown-item, .dropdown-menu .dropdown-item p, .dropdown-menu a.dropdown-item {
    font-size: 13px !important;
    font-weight: 400 !important;
    color: rgba(255, 255, 255, 0.85) !important;
}

.dropdown-menu .dropdown-item:hover {
    background-color: var(--euroskies-accent-blue) !important;
    color: #fff !important;
}

/* Global Navbar Icons Alignment */
.navbar-nav .nav-item .nav-link i,
.navbar-nav .nav-item .nav-link far,
.navbar-nav .nav-item .nav-link fas,
.navbar-nav .nav-item .nav-link fab,
.dropdown-menu .dropdown-item i,
.dropdown-menu .dropdown-item fas,
.dropdown-menu .dropdown-item far {
    font-size: 14px !important;        
    margin-right: 6px !important;      
}
/* Vertical Alignment Fix für die gesamte Menüleiste */
.navbar .container,
.navbar .container-fluid,
.navbar {
    display: flex !important;
    align-items: center !important;
}

/* Bereinigt die Abstände der inneren Wrapper, damit nichts nach unten rutscht */
.nav-tabs-navigation,
.nav-tabs-wrapper,
.navbar-nav {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    align-items: center !important;
}