/* --- BASIS & SCHRIFTEN --- */
* { box-sizing: border-box; }
body, html {
    margin: 0; padding: 0; width: 100%; height: 100%;
    overflow: hidden; font-family: 'Titillium Web', sans-serif;
}

/* --- HINTERGRUND EBENE 0 --- */
body {
    /* Wir entfernen das harte Schwarz und nutzen ein neutrales Hellgrau als Fallback */
    background-color: #f0f0f0; 
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
}

@media (orientation: portrait) {
    body { background-image: url('background_portrait_impressum.jpg'); }
}

@media (orientation: landscape) {
    body { background-image: url('background_landscape_impressum.jpg'); }
}

/* --- TEXT-FARBE --- */
.text-content {
    color: #000000; /* Tiefschwarz für beste Lesbarkeit auf hellem Grund */
    padding: 60px 30px;
}

/* Falls du das .bg-overlay im HTML hast, entferne es oder setze es auf transparent */
.bg-overlay {
    display: none;
}

/* --- RAHMEN EBENE 1 --- */
.outer-frame {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 92%; height: 88%;
    /* Der hellgraue Rahmen aus deiner Skizze */
    border: 3px solid #CCCCCC; 
    border-radius: 20px;
    z-index: 1;
    padding: 3px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.05); /* Sehr dezenter Schatten */
}

.inner-frame {
    width: 100%; height: 100%;
    /* 70% Transparenz = 0.3 Deckkraft (rgba) */
    /* Das lässt die Textur des Hintergrunds durchscheinen */
    background-color: rgba(255, 255, 255, 0.3); 
    border-radius: 16px;
    position: relative;
    overflow: hidden;
}

/* --- STEUERLEISTE EBENE 3 --- */
.control-bar {
    position: absolute;
    top: 15px; right: 15px;
    z-index: 100;
}

.control-bar img {
    height: 40px;
    cursor: pointer;
    transition: transform 0.2s;
}

.control-bar img:hover { transform: scale(1.1); }

/* --- TEXT-INHALT EBENE 2 --- */
.scroll-wrapper {
    width: 100%; height: 100%;
    overflow-y: auto;
    padding: 40px;
    -webkit-overflow-scrolling: touch;
}

.text-content {
    color: #000;
    max-width: 800px;
    margin: 0 auto;
}

h1, h3 {
    font-family: 'Source Sans 3', sans-serif;
    font-weight: 900;
    margin-top: 25px;
}

p { line-height: 1.6; font-size: 1rem; }

/* --- PFEIL OVERLAY --- */
.scroll-arrow {
    position: absolute;
    bottom: 20px;
    left: 50%;
    transform: translateX(-50%);
    background: rgba(204, 204, 204, 0.8);
    width: 40px; height: 40px;
    border-radius: 50%;
    display: flex; justify-content: center; align-items: center;
    z-index: 2;
    pointer-events: none; /* Klicks gehen durch den Pfeil durch */
    animation: bounce 2s infinite;
}

.scroll-arrow span { font-size: 24px; color: #FFF; font-weight: bold; }

@keyframes bounce {
    0%, 100% { bottom: 20px; }
    50% { bottom: 10px; }
}

.fade-out { opacity: 0; transition: opacity 0.5s ease; }