@font-face {
    font-family: 'Jersey_10';
    src: url('fonts/Jersey10-Regular.ttf') format('truetype');
}

@font-face {
    font-family: 'AnnieUseYourTelescope';
    src: url('fonts/AnnieUseYourTelescope-Regular.ttf') format('truetype');
}


body {
    margin: 0;
    background-color: black;
    overflow: hidden; /* Verhindert Scrollbalken, falls das Video breiter als der Screen ist */
}

/* ── Videos und Bilder: zentriert, decken den ganzen Screen ab ── */
video, img {
    position: fixed;
    top: 50%;
    left: 50%;
    height: 100vh;
    width: auto;
    transform: translate(-50%, -50%);
    pointer-events: none; /* Videos sollen keine Klicks schlucken */
    z-index: -10;
}

#hoverLabel {
    position: fixed;
    pointer-events: none;
    background: rgb(55, 0.7); /* Fix: Korrekter RGBA Wert */
    color: white;
    
    padding: clamp(1px, 0.1vw, 1px) clamp(10px, .1vw, 20px);
    font-size: clamp(12px, 6vw, 40px);
    border-radius: clamp(2px, .5vw, 7px);
    border: clamp(1px, 0.1vw, 2px) solid rgba(255, 255, 255, 0.3);
    
    font-family: 'Jersey_10', monospace;
    z-index: 1000;
    transition: opacity 0.3s ease;
    backdrop-filter: blur(5px);
}

#hoverLabel.hidden {
    opacity: 0;
}

/* Das Label wird nur auf Desktop-Geräten angezeigt */
@media (hover: hover) {
    #hoverLabel {
        display: block; 
    }
}

/* Auf Touch-Geräten kein Label */
@media (hover: none) {
    #hoverLabel {
        display: none !important;
    }
}

#beauty {
    z-index: 1; /* Hauptvideo liegt unten */
}

#idmap {
    z-index: 2;    /* ID-Map liegt drüber... */
    opacity: 0%;    /* ...aber unsichtbar */
}

/* ── Canvas wird nie angezeigt ────────────────────────── */
#hiddenCanvas {
    display: none;
}

/* ── Effect-Canvas über allem ───────────── */
#effectCanvas {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 3;       
    cursor: default;  
    pointer-events: auto; 
}

/*Buttons*/
.navigation {
    position: fixed;
    top: clamp(15px, 2vw, 40px);
    
    left: max(20px, calc(50vw - 1280px)); 
    
    display: flex;
    flex-direction: column; 
    gap: clamp(10px, 1.2vw, 20px); 
    z-index: 2000; 
}

.nav-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    
    width: clamp(40px, 3.5vw, 75px);
    height: clamp(40px, 3.5vw, 75px);
    
    border-radius: clamp(6px, 0.6vw, 14px);
    
    text-decoration: none;
    transition: all 0.2s ease-in-out;
}

.nav-btn .btn-text {
    color: white;
    font-family: sans-serif;
    font-size: clamp(10px, 0.7vw, 14px); 
    font-weight: 500;
}


.nav-btn img, 
.footer-left img, 
.social-icons img {
    position: static;
    height: auto;
    width: 100%;
    transform: none;
    pointer-events: auto;
    /*width: min(70%, 1080px);*/
}

@media (hover: hover) {
    .nav-btn:hover {
        transform: scale(1.1); 
    }
}


/* ==========================================================================
   Ab hier Kontakt Seite!!!
   ========================================================================== */
#kontaktseite {
    height: 100dvh;
    /*overflow: hidden; /* Verhindert Scrollen auf Desktop-Geräten */
}
.contact-page-wrapper {
    height: 100dvh; 
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    box-sizing: border-box;
    font-family: 'AnnieUseYourTelescope', sans-serif;
    color: #ffffff;
}

.contact-page-wrapper .main-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    flex-grow: 1;
    width: 100%;
    max-width: 600px;
    padding: clamp(10px, 3vh, 40px) 20px;
    box-sizing: border-box;
}

.contact-page-wrapper .pixel-title {
    font-family: 'Jersey_10', monospace;
    font-size: clamp(40px, 9vw, 120px); 
    margin-top: clamp(-40px, -4vh, -10px);
    text-transform: uppercase;
    line-height: 1;
    color: #ffffff;
    text-align: center;
}

.contact-page-wrapper .sub-title {
    font-size: clamp(18px, 3vh, 28px);
    margin-bottom: clamp(10px, 2vh, 20px);
    opacity: 0.9;
}

.contact-page-wrapper .contact-form {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: clamp(8px, 1.5vh, 12px);
}

.contact-page-wrapper .contact-form input, 
.contact-page-wrapper .contact-form textarea {
    background: rgba(255, 255, 255, 1); 
    border: 2px solid #ffffff;
    color: #000000;
    font-family: 'AnnieUseYourTelescope', sans-serif; 
    font-size: clamp(16px, 2.2vh, 20px);
    padding: clamp(8px, 1.2vh, 14px);
    width: 100%;
    box-sizing: border-box;
    border-radius: 10px;
}

.contact-page-wrapper .contact-form textarea {
    resize: vertical;
    min-height: 60px;
    height: clamp(80px, 11vh, 130px); 
}

.contact-page-wrapper .submit-btn {
    background: #ffffff;
    color: #000000;
    border: none;
    padding: clamp(8px, 1.2vh, 12px);
    font-family: 'Jersey_10', monospace;
    font-size: clamp(18px, 2.5vh, 24px);
    cursor: pointer;
    border-radius: 10px;
    text-transform: uppercase;
    transition: background 0.3s ease, transform 0.2s ease;
}

.contact-page-wrapper .submit-btn:hover {
    background: #ffffff;
    transform: scale(1.02);
}

/* ── Footer DESKTOP ──────── */
.contact-page-wrapper .contact-footer {
    width: 100%;
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: clamp(10px, 2vh, 25px) 40px;
    box-sizing: border-box;
    z-index: 20;
    max-width: 2560px; 
    margin: 0 auto;
}

.contact-page-wrapper .footer-left {
    display: flex;
    align-items: center;
    gap: 15px;
}

.contact-page-wrapper .mail-icon-link {
    display: none; 
    text-decoration: none;
}

.contact-page-wrapper .mail-icon-placeholder {
    width: clamp(40px, 6vh, 60px);
    height: clamp(40px, 6vh, 60px);
    transition: transform 0.3s ease;
}

.contact-page-wrapper .mail-icon-link:hover .mail-icon-placeholder {
    transform: scale(1.05);
}

.contact-page-wrapper .mail-text-link {
    color: #ffffff;
    text-decoration: none;
    font-size: clamp(18px, 2.5vh, 28px);
    transition: transform 0.3s ease;
}
.contact-page-wrapper .mail-text-link:hover {  
    transform: scale(1.05);
}

/* Mittlerer Bereich für Impressum */
.contact-page-wrapper .footer-center {
    display: flex;
    justify-content: center;
}

.contact-page-wrapper .imprint-link {
    font-size: clamp(18px, 2.5vh, 28px);
}

.contact-page-wrapper .footer-right {
    display: flex;
    align-items: center;
    gap: 15px;
}

.contact-page-wrapper .socials-label {
    font-size: clamp(18px, 2.5vh, 28px);
}

.contact-page-wrapper .social-icons {
    display: flex;
    gap: 12px;
}

.contact-page-wrapper .icon-circle {
    width: clamp(35px, 5vh, 50px);
    height: clamp(35px, 5vh, 50px);
    transition: transform 0.3s ease;
}

.contact-page-wrapper .icon-circle:hover {
    transform: scale(1.1);
}

.contact-page-wrapper .mail-icon-placeholder:hover {
    transform: scale(1.1);
}

/* ── SMARTPHONE OPTIMIERUNG (Unter 768px) ──────────────── */
@media (max-width: 767px) {
    #kontaktseite {
        height: auto;
        overflow-y: auto; /* Aktiviert Scrollen */
    }
    .contact-page-wrapper {
        height: auto;
        min-height: 100dvh;
        justify-content: flex-start;
    }
    
    .contact-page-wrapper .main-content {
        flex-grow: 0;
        margin-top: 40px;
        padding: 20px;
    }
    
    /* Textbox auf Mobilgeräten feste/angemessene Mindesthöhe geben */
    .contact-page-wrapper .contact-form textarea {
        height: 100px;
    }

    /* Der Footer bleibt eine Reihe, darf umbrechen (wrap) */
    .contact-page-wrapper .contact-footer {
        flex-direction: row; 
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        padding: 30px 20px;
        gap: 15px; /* Abstand zwischen Mail-Icon und Socials */
    }

    /* Texte ausblenden */
    .contact-page-wrapper .mail-text-link,
    .contact-page-wrapper .socials-label {
        display: none !important;
    }

    .contact-page-wrapper .mail-icon-link {
        display: inline-block;
    }

    /* Reihenfolge festlegen */
    .contact-page-wrapper .footer-left {
        order: 1;
        display: flex;
    }
    
    .contact-page-wrapper .footer-right {
        order: 2;
        display: flex;
    }
    
    /* Unten: Imprint in eine neue Zeile*/
    .contact-page-wrapper .footer-center {
        order: 3;
        width: 100%; /* Nimmt die ganze Breite ein = bricht nach unten um */
        margin-top: 10px;
    }
}
/* ==========================================================================
   GLOBALER IMPRESSUM LINK (Für alle anderen Seiten)
   ========================================================================== */

.global-footer {
    position: fixed;
    bottom: 20px;
    
    
    left: max(20px, calc(50vw - 1280px)); 
    
    z-index: 1000;
}
.imprint-link {
    color: rgba(255, 255, 255, 1);
    text-decoration: none;
    font-size: 20px;
    font-family: 'AnnieUseYourTelescope', sans-serif;
    transition: color 0.3s ease, transform 0.3s ease;
}

.imprint-link:hover {
    transform: scale(1.05);
}



/* ==========================================================================
   IMPRINT PAGE */

.imprint-page .imprint-container {
    background: rgba(0, 0, 0, 0.6); 
    border: 2px solid #ffffff;
    border-radius: 10px;
    padding: 30px;
    width: 100%;
    max-width: 550px;
    box-sizing: border-box;
    text-align: center;
    font-family: 'AnnieUseYourTelescope', sans-serif;
    font-size: 24px;
    line-height: 1.4;
}

.imprint-page .imprint-intro {
    margin: 0 0 20px 0;
    opacity: 0.9;
}

.imprint-page .imprint-divider {
    border: none;
    border-top: 1px dashed rgba(255, 255, 255, 0.3);
    margin: 20px 0;
}

.imprint-page .imprint-highlight {
    font-size: 20px;
    color: rgba(255, 255, 255, 0.6);
    margin-bottom: 10px;
}

.imprint-page .imprint-name {
    font-size: 30px;
    font-weight: bold;
    margin: 0 0 5px 0;
}


.imprint-page .imprint-institution {
    font-size: 22px;
    opacity: 0.8;
    margin: 0;
}

/* Erlaubt Scrollen auf Seiten, die länger als Bildschirm sind */
body.scrollable-page {
    overflow-y: auto;
    overflow-x: hidden;
}