/* ===========================================================
   Workshop- und Reiseberichte
   Version 1.3
   =========================================================== */

/* ===== Grundeinstellungen ================================= */

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
}

html{
    scroll-behavior:smooth;
}

body{

    font-family:Arial, Helvetica, sans-serif;

    background:#eef3f8;

    color:#333;

    line-height:1.7;

}



/* ===== Header ============================================= */

header{

    background:#1565c0;

    color:white;

    text-align:center;

    padding:40px 20px;

}

header h1{

    font-size:2.5rem;

    margin-bottom:10px;

}

header p{

    font-size:1.1rem;

    opacity:.9;

}



/* ===== Blauer Trennstrich ================================= */

.blue-line{

    height:5px;

    background:#1565c0;

}



/* ===== Hauptbereich ======================================= */

main{

    max-width:1200px;

    margin:auto;

    padding:30px;

}



/* ===== Bericht ============================================ */

.report{

    background:white;

    border-radius:12px;

    padding:35px;

    margin-bottom:50px;

    box-shadow:0 5px 15px rgba(0,0,0,.08);

}



/* ===== Überschrift ======================================== */

.report h2{

    color:#1565c0;

    margin-bottom:10px;

}



/* ===== Datum ============================================== */

.report-date{

    color:#777;

    margin-bottom:30px;

}



/* ===== Textblock ========================================== */

.textblock{

    padding-left:35px;

    padding-right:35px;

    margin-bottom:35px;

}

.textblock p{

    margin-bottom:18px;

    text-align:justify;

}



/* ===== Galerie ============================================ */

.gallery{

    display:grid;

    grid-template-columns:repeat(2,minmax(250px,380px));

    justify-content:center;

    gap:30px;

    margin-bottom:40px;

}



/* ===== Bild =============================================== */

.gallery figure{

    text-align:center;

}

.gallery img{

    width:100%;

    border-radius:10px;

    cursor:pointer;

    transition:all .3s;

    box-shadow:0 3px 10px rgba(0,0,0,.2);

}



/* ===== Hover ============================================== */

.gallery img:hover{

    transform:scale(1.03);

}



/* ===== Bildbeschreibung =================================== */

.gallery figcaption{

    margin-top:10px;

    font-size:.9rem;

    color:#555;

    font-style:italic;

}/* ===========================================================
   LIGHTBOX
   =========================================================== */

#lightbox{

    display:none;

    position:fixed;

    inset:0;

    background:rgba(0,0,0,.92);

    z-index:9999;

    justify-content:center;

    align-items:center;

    flex-direction:column;

    padding:30px;

}


/* ===== Bild im Vollbild =================================== */

#lightbox-image{

    max-width:95vw;

    max-height:85vh;

    border-radius:10px;

    box-shadow:0 10px 30px rgba(0,0,0,.5);

    animation:zoomIn .25s ease;

}


/* ===== Bildbeschreibung =================================== */

#caption{

    color:white;

    margin-top:20px;

    font-size:1rem;

    text-align:center;

    max-width:900px;

}


/* ===== Schließen-Button =================================== */

.close{

    position:absolute;

    top:20px;

    right:35px;

    color:white;

    font-size:50px;

    cursor:pointer;

    transition:.3s;

    user-select:none;

}

.close:hover{

    color:#4da3ff;

}


/* ===== Zoom-Animation ===================================== */

@keyframes zoomIn{

    from{

        opacity:0;

        transform:scale(.85);

    }

    to{

        opacity:1;

        transform:scale(1);

    }

}



/* ===========================================================
   RESPONSIVE DESIGN
   =========================================================== */


/* ===== Tablet ============================================= */

@media (max-width:900px){

    header h1{

        font-size:2rem;

    }

    .report{

        padding:25px;

    }

    .textblock{

        padding-left:20px;

        padding-right:20px;

    }

    .gallery{

        grid-template-columns:1fr;

        gap:25px;

    }

}



/* ===== Smartphone ========================================= */

@media (max-width:600px){

    header{

        padding:25px 15px;

    }

    header h1{

        font-size:1.6rem;

    }

    header p{

        font-size:.95rem;

    }

    main{

        padding:15px;

    }

    .report{

        padding:18px;

        margin-bottom:30px;

    }

    .textblock{

        padding-left:10px;

        padding-right:10px;

    }

    .textblock p{

        text-align:left;

    }

    .gallery{

        grid-template-columns:1fr;

        gap:18px;

    }

    .gallery img{

        border-radius:8px;

    }

    .close{

        top:10px;

        right:20px;

        font-size:40px;

    }

}



/* ===========================================================
   DRUCKANSICHT
   =========================================================== */

@media print{

    body{

        background:white;

    }

    header{

        background:white;

        color:black;

    }

    .blue-line{

        display:none;

    }

    .gallery img{

        box-shadow:none;

    }

    #lightbox{

        display:none !important;

    }

}
#prev,
#next {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    font-size: 50px;
    color: white;
    cursor: pointer;
    user-select: none;
    padding: 15px;
}

#prev {
    left: 20px;
}

#next {
    right: 20px;
}

#prev:hover,
#next:hover {
    color: #80bfff;
}