:root{
    --midgray:#D1D1D1;
    --border:#A0A0A0;
}

html, body{
    margin:0;
    padding:0;
}

*{ box-sizing:border-box; }

body{
    background:#000;
    font-family:Arial,Helvetica,sans-serif;
    color:var(--midgray);
}

/* Abstände */
.section{ margin-bottom:2rem; }
.section-tight{ margin-bottom:1.25rem; }

/* Video (randlos) */
#video_25ee779{
    display:block;
    width:100%;
    max-width:100%;
    background:#D1D1D1;
    border:none;
}

/* Zentrierte Bereiche */
.contact,
.pdf-title,
.footer-center{
    text-align:center;
}

.textstyle3{
    font-size:16pt;
    font-weight:bold;
}

/* Titel: garantiert zentriert */
.pdf-title{
    display:block;
    width:100%;
    text-align:center;
    font-size:18pt;
    letter-spacing:0.04em;
    margin:2.25rem auto 1.25rem;
}

/* PDF Wrapper */
.pdf-wrapper{
    background:#000;
    border:1px solid var(--border);
    padding:0.25rem;
    margin:0 auto;
    width:100%;
}

@media (min-width:900px){
    .pdf-wrapper,
    .pdf-title{
        max-width:900px;
    }
}

/* Desktop iFrame: höher */
.pdf-iframe{
    border:none;
    background:#fff;
    width:100%;
    min-height:650px;
    height:calc(92vh - 0.5rem);
}

/* iOS PDF.js */
.pdfjs-container{
    display:none;
    width:100%;
    background:#fff;
    overflow:auto;
    min-height:240px;
    max-height:calc(56vh - 0.5rem);
    position:relative;
}

html.is-ios .pdfjs-container{
    display:block;
    -webkit-overflow-scrolling:touch;
}
html.is-ios .pdf-iframe{ display:none; }

@media (max-width:600px){
    .pdf-wrapper{ padding:0.125rem; }
    .pdfjs-container{
        min-height:220px;
        max-height:calc(52vh - 0.25rem);
    }
}

/* Zoom Layer + Canvas */
.pdfjs-zoom-layer{
    display:block;
    transform-origin:0 0;
}

.pdfjs-canvas{
    display:block;
    background:#fff;
}

/* Status */
.pdfjs-loading,
.pdfjs-error,
.pdfjs-fallback{
    font-size:12pt;
    color:#000;
    padding:0.75rem;
    text-align:center;
}

/* Reset Button */
.pdfjs-reset{
    position:absolute;
    right:0.5rem;
    top:0.5rem;
    z-index:5;
    border:none;
    border-radius:999px;
    padding:0.35rem 0.6rem;
    background:rgba(0,0,0,0.6);
    color:var(--midgray);
    font-size:10pt;
}

/* Footer */
.footer-center{
    line-height:1.4;
}

/* ✅ mehr Abstand vor Impressum */
.footer-impressum{
    margin-top:4rem;     /* hier kannst du z.B. 5rem machen, wenn du noch mehr willst */
}

.footer-right{
    text-align:right;
    color:#000;
    line-height:1.4;
}

/* Links */
a{
    color:var(--midgray);
    text-decoration:none;
}

/* Logo */
#img_780a4201{
    position:absolute;
    left:3%;
    top:3%;
    width:19%;
}

/* Floating Menü unten rechts, rechtsbündig (bleibt sichtbar) */
.floating-menu{
    position:fixed;
    right:0.9rem;
    bottom:0.9rem;
    z-index:1000;

    display:flex;
    flex-direction:column;
    gap:0.35rem;

    padding:0.45rem 0.5rem;
    background:rgba(0,0,0,0.45);
    border-radius:14px;
    text-align:right;

    backdrop-filter:blur(6px);
    -webkit-backdrop-filter:blur(6px);
}

.floating-menu a{
    font-size:10pt;
    white-space:nowrap;
}
