@font-face {
    font-family: 'Helvetica Neue';
    src: url('../LOGO_FOND/HelveticaNeue Bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
} 
/* --- Grundlegendes Styling --- */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Helvetica Neue', sans-serif;
    font-weight: 900; /* nutzt automatisch Light-Version vorher 300*/
    font-style: normal;
    background-color: #ffffff;
    color: #000000;
    letter-spacing: 0.035em;
    line-height: 1.0;
    text-transform: uppercase;
}

/* --- Header Navigation --- */
header {
    background-color: white;
    padding: 20px 0; 
    position: fixed;
    width: 100%;
    top: 0;
    z-index: 1000;
}

nav {
    max-width: 100%;
    margin: 0;
    display: flex;
    align-items: center;
    padding: 0 20px;
    position: relative;
}

.logo-link {
    display: flex;
    align-items: center;
    position: absolute;
    background-color: white;
    left: 20px;
}

.logo-link img {
    height: 15px;
    width: auto;
}

.nav-center {
    display: flex;
    margin: 0 auto;
}

.nav-links {
        display: flex;
        align-items: center;
        gap: 40px;
        margin: auto;
    }
    
a {
    text-decoration: none;
    color: #000000;
    font-size: 15px;
    font-weight: 900; /* Light-Version vorher 300*/
    text-transform: uppercase;
    line-height: 1.0;
}

a:hover {
    text-decoration: underline;
}
        /* Main Content */
        main {
            margin-top: 55px;
            min-height: calc(100vh - 80px);
        }

        /* Home Page */
        .home-container {
            display: flex;
            justify-content: center;
            align-items: center;
            min-height: calc(100vh - 80px);
            padding: 40px 20px;
        }

        .logo-container {
            text-align: center;
        }
        
        .logo-container img {
            width: 250px;            /* bei Logo 50px */
            height: auto;
        }

        /* Content Pages */
        .content-container {
            max-width: 1200px;
            margin: 0 auto;
            margin-top: 0px;
            padding: 60px 20px;
        }

        .content-container h1 {
            font-size: 15px;
            margin-bottom: 30px;
            text-align: center;
        }

        .normal-text {
            background-color: white;
            padding: 10px;
            border-radius: 8px;
            /* box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); */
            min-height: 40px;
            display: flex;
            justify-content: center;
            align-items: center;
            color: #000000;
            font-size: 15px;
        }
 
.scroll-background {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    font-size: 12px;
    text-align: justify;
    padding: 10px;
    line-height: 1.6;
    z-index: -1;     /* → Ganz nach hinten */
    opacity: 0.8;    /* → Durchscheinend */
    pointer-events: none; /* → Scroll-Events gehen durch */
}

.scroll-content {
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  white-space: pre-wrap; /* behält Zeilenumbrüche */
  margin: 0;
  margin-top: 0;
  box-sizing: border-box;
  will-change: transform;
  padding: 0 20px;
}

/* .scroll-content-duplicate {
    top: 100%;
    margin-top: -10px; 
} */

/* Optimierte Animation mit GPU */
        @keyframes scroll-seamless {
    0% {
        transform: translate3d(0, 0, 0);
    }
    100% {
        transform: translate3d(0, -100%, 0); /* Komplett durchscrollen */
    }
}

    /* Performance: Reduziere Animation wenn Seite nicht sichtbar */
    @media (prefers-reduced-motion: reduce) {
    .scroll-content {
        animation-duration: 300s; /* Langsamere Animation */
    }
    }

        /* Overlay Text */
.overlay-text {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 100;
    font-size: 80px;
    text-align: center;
    color: #000000;
    pointer-events: none;
    width: 90%;
    max-width: 1500px;
    padding: 0 20px;
    will-change: transform;
    backface-visibility: hidden;
}

        .exhibition-grid {
    display: flex;
    flex-direction: column;
    gap: 40px;
    max-width: 1200px;
    margin: 0 auto;
    margin-top: -50px; /* Zieht das Grid nach oben */
}

.exhibition-item {
    display: block; /* flex nicht mehr nötig, da Text über Bild */
    text-decoration: none;
    color: inherit;
    position: relative;
}

.exhibition-item-2 {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 0px;
    text-decoration: none;
    color: inherit;
    padding-bottom: 0px;
    /*border-bottom: 1px solid #ddd;*/
}

.exhibition-item:last-child {
    border-bottom: none;
}

.exhibition-image {
    position: relative; /* wichtig für absolute Positionierung des Textes */
    width: 100%;
    overflow: hidden;
    height: 600px; /* statt max-height */
    z-index: 1;
}

.exhibition-image img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* Bild wird beschnitten, bleibt proportional */
    display: block;
}

.exhibition-titel {
   position: absolute;
    top: 50px; /* Abstand vom oberen Rand des Bildes top: 100px left: 20px*/
    left: 20px;
    color: rgb(0, 0, 0); /* Farbe anpassen */
    font-size: 80px; /* 50 vorher */
    font-weight: lighter;
    text-align: left;
    pointer-events: none; /* verhindert dass Text klickt */
    z-index: 2;
    overflow-wrap: anywhere; 
    hyphens: auto;
    word-break: break-word;
}

.exhibition-item:hover .exhibition-titel {
    text-decoration: underline;
}

/* Arow for Scroll Up */
#scrollToTopBtn {
    display: none;
    position: fixed;
    bottom: 30px;
    right: 30px;
    width: 50px;
    height: 50px;
    background-color: #b3b3b3;
    color: white;
    border: none;
    border-radius: 8px;
    font-size: 24px;
    cursor: pointer;
    z-index: 9998;
    line-height: 50px;
    text-align: center;
}

#scrollToTopBtn:hover {
    background-color: #646464;
}

.image-gallery-pictures {
    display: flex;
    max-width: 1200px; /* Gleiche Breite wie exhibition-grid */
    width: 100%;
    /*margin-left: calc(-50vw + 50%);*/
    padding: 40px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-top: -40px; /* Reduziert von -40px auf -20px */
}

.image-gallery-pictures img {
    width: 100%;
    height: auto;
    object-fit: cover;          /* display: block; */
    margin: 0;
}

.image-grid-pictures,
.image-grid-pictures2 {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 Spalten */
    gap: 20px; /* Abstand zwischen Bildern */
    padding: 40px;
}

.image-grid-pictures img,
.image-grid-pictures2 img {
    width: 100%;
    height: auto;
    object-fit: cover; /* Bild wird zugeschnitten, behält Proportionen */
}

/*Lightbox Bilder*/
/* Lightbox Overlay */
.lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.7); /* Dunkler auf Mobile */
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 9999;
}

/* Großes Bild */
.lightbox-overlay img {
    max-width: 90%;
    max-height: 90%;
    transition: transform 0.3s ease;
    object-fit: contain; /* Bild wird nicht beschnitten */
}

/* Mobile Optimierungen */
@media (max-width: 768px) {
    .lightbox-overlay img {
        max-width: 95%;
        max-height: 95%;
    }
}

/* Cursor ändern für besseres UX */
.lightbox-overlay {
    cursor: pointer; /* Zeigt, dass man klicken kann zum Schließen */
}

.lightbox-overlay img {
    cursor: default; /* Normaler Cursor auf dem Bild */
}


.image-wrapper {
    position: relative;
    width: 100%;
    height: 100vh; /* Volle Viewport-Höhe minus Header */
    min-height: 400px; /* Mindesthöhe für sehr kleine Bildschirme */
    overflow: hidden;
}

.image-wrapper img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.wrapper-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 Spalten */
    padding: 0;
    margin: 0;
}

.image-text-banner {
    position: absolute;
    margin-top: 10px;
    top: 50px;        /* Abstand vom unteren Rand */
    left: 200px;          /* Abstand vom linken Rand */
    color: rgb(0, 0, 0);        /* Textfarbe */
    font-size: 90px;     /* Textgröße */
    pointer-events: none; /* verhindert Klickprobleme */
    transform: rotate(90deg); /* Text drehen */
    transform-origin: left top; /* Drehpunkt anpassen */
}

/* Hover auf dem Link-Element, wirkt sich auf den Text aus */
.exhibition-item-2:hover .image-text-banner {
    text-decoration: underline;
}

footer {
            background-color: #ffffff;
            color: white;
            padding: 15px;
            text-align: left;
        }
        
        footer a {
            color: rgb(0, 0, 0);
            text-decoration: none;
            margin: 20px;
            font-size: 15px;
        }
        
        footer a:hover {
            text-decoration: underline;
        }
    
/* Project Navigation - volle Breite mit Padding wie Bilder */
.project-navigation {
    max-width: 1200px; /* Gleiche Breite wie exhibition-grid */
    width: 100%;
    margin: 20px auto; /* Zentriert wie exhibition-grid */
    padding: 0 20px; /* Gleiches Padding wie content-container */
    margin-bottom: 0px; /* hier reduzieren für Back Button und Bilder näher */
    display: flex;
    justify-content: space-between;
    margin-top: 0px;
    z-index: 10;
}

.nav-btn,
.back-btn {
    text-decoration: none;
    color: #000;
    font-size: 15px;
    font-weight: 900;
    padding: 20px;
    background: transparent;
    border: none;
    cursor: pointer;
}

.nav-btn:hover, .back-btn:hover {
    text-decoration: underline;
}

.prev-btn {
    text-align: left;
}

.next-btn {
    text-align: right;
}

.menu-close,
.only-phone-menu,
.mobile-slider-wrapper,
.mobile-slider-wrapper-2,
.mobile-slider-wrapper-3,
.slider,
.slider-2,
.slider-3 {
    display: none;
}