/* ========================================
   GOOGLE FONTS IMPORT
   ======================================== */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@300;400;500;600;700;800&display=swap');


/* ========================================
   CSS VARIABLEN
   ======================================== */
:root {
    --color-red: #AB0802;
    --color-grey: #3F3F3F;
}


/* ========================================
   GLOBALE STYLES & RESET
   ======================================== */
* { 
    margin: 0; 
    padding: 0; 
    box-sizing: border-box; 
    font-family: 'Open Sans', sans-serif; 
}

html, 
body { 
    height: 100%; 
}

body { 
    display: flex; 
    flex-direction: column; 
    background: white; 
}


/* ========================================
   NAVBAR STYLES
   ======================================== */
.navbar-custom {
    background: var(--color-red) !important;
    padding: 15px 30px !important;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    z-index: 1030;
}

@media (min-width: 1440px) {
  .col-lg-6.col-md-12.content-wrapper {
    padding-left: 2rem;
  }
}


/* Navigation Links */
.nav-link {
    color: white !important;
    font-weight: 700!important;
    font-size: 18px!important;
    text-transform: uppercase!important;
    transition: opacity 0.3s!important;
}

.nav-link:hover { 
    opacity: 0.8; 
}

/* Accessibility Icon */
.fa-universal-access { 
    color: white; 
    font-size: 24px; 
    transition: opacity 0.3s; 
}

.fa-universal-access:hover { 
    opacity: 0.8; 
}

/* Hamburger Menü (Mobile) - weiße Farbe */
.navbar-toggler {
    border-color: white;
}

.navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba%28255, 255, 255, 1%29' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

/* Navbar Navigation - zentrierte Ausrichtung */
.navbar-nav {
    align-items: center;
    justify-content: center;
}


/* ========================================
   HERO IMAGE SECTION
   ======================================== */
.hero-image {
    width: 100%;
    height: 95%;
    object-fit: cover;
    border-radius: 0 30px 30px 0;
}


/* ========================================
   CONTENT WRAPPER
   ======================================== */
.content-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 3rem;
}

/* Logo Section */
.logo-section { 
    margin-bottom: 1rem; 
}

.logo-img {
    width: 350px;
    height: auto;
    max-width: 100%;
}

/* Tagline / Slogan */
.tagline { 
    color: var(--color-red); 
    font-weight: 700; 
    font-size: 30px; 
    line-height: 1.5; 
    margin: 1.5rem 0 2rem 0; 
}


/* ========================================
   CALL-TO-ACTION BUTTONS
   ======================================== */
.cta-buttons { 
    display: flex; 
    gap: 1rem; 
}

/* Button Base Styles */
.btn-custom {
    padding: 15px 30px; 
    font-weight: 700; 
    font-size: 16px;
    text-transform: uppercase; 
    border: none; 
    border-radius: 0;
    display: inline-flex; 
    align-items: center; 
    justify-content: center;
    gap: 0.5rem; 
    text-decoration: none; 
    transition: background-color 0.3s; 
    white-space: nowrap;
}

/* Primary Button (Rot) */
.btn-custom-primary { 
    background-color: var(--color-red); 
    color: white; 
}

.btn-custom-primary:hover { 
    background-color: var(--color-grey); 
    color: white; 
}

/* Secondary Button (Grau) */
.btn-custom-secondary { 
    background-color: var(--color-grey); 
    color: white; 
}

.btn-custom-secondary:hover { 
    background-color: var(--color-red); 
    color: white; 
}


/* ========================================
   FOOTER SECTION
   ======================================== */
footer { 
    background: white; 
    border-top: 2px solid #000; 
}

.footer-content { 
    padding: 2.5rem; 
    padding-bottom: 0px !important; 
}

.footer-column { 
    padding: 0 1rem; 
}

/* Footer Logo Section */
.footer-logo-section { 
    display: flex; 
    align-items: flex-start; 
    gap: 0.75rem; 
    margin-bottom: 1.5rem; 
}

.footer-logo-img {
    width: 260px;
    height: auto;
    max-width: 100%;
}

/* Footer Überschriften */
.footer-column h5 { 
    color: var(--color-red); 
    font-weight: 700; 
    font-size: 15px; 
    text-transform: uppercase; 
    margin: 1rem 0 0.5rem 0; 
    letter-spacing: 0.5px; 
}

/* Footer Text & Links */
.footer-column p, 
.footer-column a { 
    color: var(--color-grey); 
    font-size: 14px; 
    line-height: 1.6; 
    font-weight: 500; 
    text-decoration: none; 
    display: flex; 
    align-items: center; 
    gap: 0.5rem; 
}

.footer-column a:hover { 
    color: var(--color-red); 
}

.footer-column a {
    padding-top: 11px;
}

/* Footer Icons */
.footer-icon { 
    color: var(--color-red); 
    font-weight: 600; 
    width: 16px; 
}


/* ========================================
   ADDITIONAL ELEMENTS
   ======================================== */
#header {
    margin-top: 0px;
}


/* ========================================
   RESPONSIVE DESIGN - MEDIA QUERIES
   ======================================== */

/* Desktop ab 1441px: Navbar rechts kompakt fixiert */
@media (min-width: 1441px) {
    .navbar-custom {
        position: fixed;
        top: 50px;
        right: 0;
        width: auto;
        border-radius: 20px 0 0 20px;
    }
    
    .navbar-nav { 
        flex-direction: row; 
        gap: 2rem; 
    }
}

/* Alles unter 1441px: Navbar breit mit Hamburger-Menü */
@media (max-width: 1440px) {
    .navbar-custom {
        position: relative;
        top: auto;
        right: auto;
        width: 100%;
        border-radius: 0;
        padding: 12px 20px !important;
    }
    

}

/* Tablets kleiner 768px */
@media (max-width: 768px) {
    .hero-image { 
        height: 250px; 
        border-radius: 15px; 
    }
    
    .content-wrapper { 
        padding: 1.5rem; 
    }
    
    .cta-buttons { 
        flex-direction: column; 
    }
    
    .btn-custom { 
        width: 100%; 
    }
}

/* Smartphones kleiner 576px */
@media (max-width: 576px) {
    .hero-image { 
        height: 200px; 
        border-radius: 0px !important; 
    }
    
    .content-wrapper { 
        padding: 1rem; 
    }
    
    .cta-buttons { 
        gap: 0.5rem; 
    }
    
    footer .row { 
        flex-direction: column; 
    }
    
    .footer-column { 
        width: 100%; 
        margin-bottom: 1rem; 
        padding: 0; 
    }
}