/* RESET */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* PODSTAWY */
body {
    font-family: Tahoma, Arial, sans-serif;
    background: #f4f4f4;
    color: #111;
    line-height: 1.6;
}

/* ================= HEADER ================= */
header {
    background:
        linear-gradient(
            rgba(225, 6, 0, 0.72),
            rgba(225, 6, 0, 0.72)
        ),
        url("images/Warszawa.jpg");
    background-size: cover;
    background-position: center 30%;
    color: white;
    min-height: 360px;
}

/* GÓRNY PASEK */
.top-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 22px 24px;
}

/* TYTUŁ */
.site-title h1 {
    font-size: 32px;
    font-weight: bold;
}

.site-title p {
    font-size: 16px;
    margin-top: 6px;
}

/* HAMBURGER */
.hamburger {
    font-size: 34px;
    width: 48px;
    height: 48px;
    display: flex;
    algin-items: center;
    justify-content: pointer;
    cursor: pointer;
    user-select: none;
}

/* ================= MENU ================= */
nav {
    display: none;
    background: #0072CE;
    padding: 18px 24px;
    text-align: right;
}

nav a {
    display: block;
    color: white;
    text-decoration: none;
    font-weight: bold;
    margin: 12px 0;
}

nav a:hover {
    text-decoration: underline;
}

/* ================= TREŚĆ ================= */
main {
    max-width: 900px;
    margin: 0 auto;
    padding: 32px 22px;
    background: #ffffff;
}

/* SEKCJE */
section {
    margin-bottom: 50px;
}

section h2 {
    color: #E10600;
    font-size: 24px;
    margin-bottom: 15px;
    border-bottom: 2px solid #E10600;
    padding-bottom: 6px;
}

/* AKAPITY */
p {
    margin-bottom: 15px;
    text-align: justify;
    hyphens: auto;
}

/* LISTY */
ul {
    padding-left: 20px;
}

li {
    margin-bottom: 6px;
}

/* ================= UKŁAD ZDJĘCIE + TEKST ================= */
.text-with-image {
    display: flex;
    gap: 30px;
    align-items: flex-start;
}

.text-with-image img {
    max-width: 320px;
    height: auto;
    border: 1px solid #ccc;
}

/* ZDJĘCIE ERWINA */
.photo {
    float: left;
    max-width: 220px;
    margin: 0 22px 15px 0;
    border: 1px solid #ccc;
}

/* CLEAR FLOAT */
.clear {
    clear: both;
}

/* LINKI */
a {
    color: #E10600;
}

a:hover {
    text-decoration: underline;
}

/* ================= MOBILE ================= */
@media (max-width: 768px) {

    header {
        min-height: 260px;
        background-position: center 25%;
    }

    .text-with-image {
        flex-direction: column;
    }

    .text-with-image img {
        max-width: 100%;
    }

    .photo {
        float: none;
        display: block;
        margin: 0 auto 20px auto;
    }

    nav {
        text-align: center;
    }
}