header.bg-dark {
    width: 100%;
    height: 100px; /* Schmaler Header */
    position: fixed; /* Fixiert beim Scrollen */
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    padding: 0 30px;
    box-sizing: border-box;
    z-index: 1050;
    background: rgba(0, 0, 0, 0.90) !important; /* 0.85 = 85% Deckkraft, anpassbar */
}

header.bg-dark h1 {
    font-size: 2rem;
    color: #fff3db;
    letter-spacing: 1px;
    font-weight: 350;
    text-align: left;
    margin: 0;
    line-height: 1.1;
    font-family:  Didot, serif;
}

header.bg-dark .nachname {
    font-size: 1.5rem;
    display: block;
    font-weight: 350;
}

body {
    font-family: Andale Mono, sans-serif;
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 2;
    padding-top: 100px; /* Gleiche Höhe wie der Header */
    background: url('Hintergrund2.jpeg') no-repeat center bottom fixed;
    background-size: cover;
    
}

h1, h2 {
    font-family: 'Didot', sans-serif;
    font-weight: 400;
    font-size: 2.5rem;
}

img {
    max-width: 100%;
    height: auto;
}

#gallery img {
    border-radius: 2px !important; /* z.B. 20px für stärker abgerundete Ecken */
}

.language-buttons {
    position: absolute;
    right: 30px;
    bottom: 10px;
    display: flex;
    gap: 8px;
}

.language-buttons button {
    background: #c76d6d;
    color: #fff;
    border: none;
    padding: 4px 9px;
    border-radius: 1px;
    cursor: pointer;
    font-size: 0.9rem;
}

.header-nav {
    margin-top: 50px; /* Abstand nach oben, Wert nach Wunsch anpassen */
    margin-left: 40px; /* Navigation nach rechts schieben */
}

.header-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    gap: 8px;
}

.header-nav li {
    display: inline;
}

.header-nav a {
    color: #ece8e0;
    text-decoration: none;
    font-size: 1.2rem;
    padding: 6px 10px;
    border-radius: 4px;
    transition: background 0.2s, color 0.2s;
    font-family: 'impact', sans-serif;
    font-weight: 100;
}

.header-nav a:hover,
.header-nav a:focus {
    background: #c1b7a2;
    color: #222;
}

section {
    scroll-margin-top: 110px;
    background: rgba(0, 0, 0, 0.4);
    border-radius: 0;
    padding: 50px 8vw;         /* Abstand innen, aber kein Außenabstand */
    width: 100vw;
    margin: 0 0 50px 0;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
}

section:not(#video,#gallery-slider,#gallery) {
    padding-left: 15vw !important;
    padding-right: 15vw !important;
}

section:first-of-type {
    margin-top: 10px; /* Abstand zum Header, Wert nach Wunsch anpassen */
}

.container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}

#services ul {
    list-style: none;
    padding-left: 0;
}

.hero {
    height: 100vh;
    width: 100vw;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between; /* Text oben, Pfeil unten */
    position: relative;
    padding-top: 100px; /* Höhe des Headers */
    box-sizing: border-box;
}

.hero-text {
    text-align: center;
    color: #fff;
    margin-top: 150px;
    margin-bottom: 0;
    font-family: 'Andale Mono', sans-serif;
    font-size: 2rem;
    font-weight: 350;
    line-height: 1.2;
    text-shadow: 0 0 10px rgba(0, 0, 0, 0.6);
    padding: 0 20px; /* Innenabstand */
    max-width: 800px; /* Maximale Breite */
    width: 100%; /* Volle Breite */
    box-sizing: border-box; /* Padding in Breite einbeziehen */
    position: relative;
    z-index: 1; /* Über dem Hintergrundbild */
    letter-spacing: 2px;
}

.hero-text h1 {
    font-size: 4rem;
    font-family: Didot;      /* Passe die Größe nach Wunsch an */
    margin-bottom: 1rem;
    margin-top: 0.5rem;  /* Optional: Abstand nach unten */
    font-weight: 400;     /* Optional: Schriftgewicht */
    letter-spacing: 2px;  /* Optional: Buchstabenabstand */
}

.down-arrow {
    font-size: 3rem;
    color: #fff;
    text-decoration: none;
    margin-bottom: 95px;
    animation: bounce 1.5s infinite;
    transition: color 0.2s;
}

.down-arrow:hover {
    color: #c1b7a2;
}

.down-arrow svg {
    display: block;
    margin-bottom: 32px;
    animation: bounce 1.5s infinite;
    transition: stroke 0.2s;
}

.down-arrow:hover svg polyline {
    stroke: #c1b7a2;
}

@keyframes bounce {
    0%, 100% { transform: translateY(0);}
    50% { transform: translateY(16px);}
}

/* Responsive Anpassung für Language-Buttons */
@media (max-width: 1220px) {
    .language-buttons {
        position: static;
        margin-top: 10px;
        justify-content: center;
        width: 100%;
    }
    header.bg-dark {
        flex-wrap: wrap;
        height: auto;
        padding-bottom: 10px;
    }
    .header-nav {
        margin-top: 10px;
        margin-left: 0;
        width: 100%;
        justify-content: center;
        display: flex;
    }
    header.bg-dark h1 {
        width: 100%;
        text-align: center;
        justify-content: center;
        display: flex;
    }
}

#gallery-slider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 40px 0;
    min-height: 400px; /* Optional: Mindesthöhe für gleichbleibende Pfeil-Position */
}

#gallery-slider button {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 2;
    background: none;
    color: #fff;
    border: none;
    font-size: 2rem;
    padding: 10px 18px;
    border-radius: 50%;
    cursor: pointer;
    transition: background 0.2s;
}
#gallery-slider button svg {
    width: 80px;
    height: 80px;
    
}

#prev-btn {
    left: 0;
}

#next-btn {
    right: 0;
}

#gallery-slider img {
    display: block;
    margin: 0 auto;
    max-width: 95vw;
    max-height: 80vh;
    width: auto;
    height: auto;
    border-radius: 2px;
    box-shadow: 0 2px 12px rgba(0,0,0,0.2);
    z-index: 1;
    position: relative;
}
.gallery-slider-section {
    background: rgba(0, 0, 0, 0.4);
    border-radius: 0;
    padding: 50px 5vw;
    width: 100vw;
    margin: 0 0 50px 0;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    position: relative;
    left: 50%;
    right: 50%;
    margin-left: -50vw;
    margin-right: -50vw;
    display: none !important;
}

@media (max-width: 700px) {
    #gallery-slider {
        flex-direction: column;
        min-height: unset;
    }
    #gallery-slider button {
        position: static;
        margin: 10px 0;
        transform: none;
        display: inline-block;
    }
    #gallery-slider img {
        max-width: 90vw;
        max-height: 50vh;
    }
}
