        body {
            font-family: 'Georgia', serif; /* Bardziej klasyczny krój pisma */
            background-color: #f4f1ea;
            color: #2c2c2c;
            margin: 0;
            padding: 20px;
        }

        header {
            text-align: center;
            border-bottom: 2px solid #8b7355;
            margin-bottom: 30px;
            padding-bottom: 10px;
        }

        h1 { color: #5d4037; text-transform: uppercase; letter-spacing: 2px; }

        .registry-container {
            max-width: 900px;
            margin: 0 auto;
        }

        .noble-item {
            background: #fff;
            border: 1px solid #dcd3c1;
            margin-bottom: 15px;
            border-radius: 4px;
            box-shadow: 0 2px 8px rgba(0,0,0,0.05);
        }

        /* Tytuł zakładki wg pkt 1 */
        .noble-header {
            background-color: #8b7355;
            color: white;
            padding: 15px 25px;
            cursor: pointer;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .noble-header h2 { margin: 0; font-size: 1.1rem; font-weight: normal; }

        .noble-content {
            display: none;
            padding: 0;
            background-color: #fff;
        }

        /* Podział na sekcje wg pkt 2, 3 i 4 */
        .section-part {
            padding: 20px 25px;
        }

        .separator {
            border-top: 1px double #dcd3c1;
            margin: 0 25px;
            height: 1px;
        }

        .info-row {
            margin-bottom: 12px;
            display: flex;
            flex-direction: column;
        }

        /* Numeracja wg pkt 5 */
        .label { 
            font-weight: bold; 
            color: #5d4037; 
            font-size: 0.85rem;
            text-transform: uppercase;
            margin-bottom: 3px;
        }

        .value { font-size: 1.05rem; color: #333; }

        .heraldry-container {
            margin-top: 10px;
            display: flex;
            gap: 15px;
            align-items: flex-start;
        }

        .herb-img {
            width: 100px;
            height: 120px;
            background: #f9f9f9;
            border: 1px solid #ccc;
            display: flex;
            align-items: center;
            justify-content: center;
            font-size: 0.7rem;
            text-align: center;
        }

        .arrow {
            border: solid white;
            border-width: 0 2px 2px 0;
            display: inline-block;
            padding: 4px;
            transform: rotate(45deg);
        }
        .active .arrow { transform: rotate(-135deg); }

        /* Styl paska głównego */
.navbar {
    background-color: #5d4037;
    width: 100%;
    position: sticky;
    top: 0;
    z-index: 1000;
    box-shadow: 0 2px 5px rgba(0,0,0,0.2);
    font-family: sans-serif;
}

/* Lista główna */
.menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    justify-content: center;
}

.menu > li {
    position: relative;
}

.menu a {
    display: block;
    color: #f4f1ea;
    text-decoration: none;
    padding: 15px 25px;
    font-size: 0.9rem;
    text-transform: uppercase;
    transition: background 0.3s;
}

.menu > li > a:hover {
    background-color: #8b7355;
}

/* Styl rozwijanego podmenu */
.submenu {
    display: none;
    position: absolute;
    background-color: #fff;
    min-width: 250px;
    box-shadow: 0 8px 16px rgba(0,0,0,0.1);
    list-style: none;
    padding: 0;
    margin: 0;
    border: 1px solid #dcd3c1;
}

.submenu li a {
    color: #333;
    padding: 12px 20px;
    text-transform: none;
    border-bottom: 1px solid #eee;
}

.submenu li a:hover {
    background-color: #f4f1ea;
    color: #5d4037;
}

/* Wyświetlanie po najechaniu myszką */
.menu li:hover .submenu {
    display: block;
}

.footer-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    background-color: #5d4037; /* Ten sam kolor co navbar dla spójności */
    color: #f4f1ea;
    text-align: center;
    padding: 10px 0;
    font-size: 0.8rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-top: 2px solid #8b7355;
    z-index: 1000;
}

/* Opcjonalnie: dodaj margines na dole głównej treści, 
   aby ostatnia pozycja nie schowała się pod stopką */
.main-content {
    padding-bottom: 60px; 
}