:root {
    --content-max-width: 1440px;
    --header-height-desktop: 150px;
    --header-height-mobile-portrait: 80px;
    --header-height-mobile-landscape: 48px;
}

.container {
    max-width: var(--content-max-width);
    margin: 0 auto; /* zentriert horizontal */
    padding: 0;
}

.header {
    height: var(--header-height-desktop);
    background-image: url("/jakarta.faces.resource/images/header-green.png.xhtml");
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000;
    display: flex;
    align-items: flex-end;
}

@media (max-width: 992px) {
    .header {
        height: var(--header-height-mobile-portrait);
    }
}

@media (max-height: 450px) {
    .header {
        height: var(--header-height-mobile-landscape);
    }
}

.header .container {;
    width: 100%;
    display: flex;
    justify-content: space-between;  /* left / right */
    align-items: flex-end;           /* bottom within header */
}

.header-menu-container {
    display: flex;
}

.main-menubar {
    padding: var(--gap-0_5) 0 !important;
}

.menu-container-left {
    margin-left: var(--gap-1);
    padding: 0;
    position: absolute;
    bottom: 0;
    left: 0;
}

.menu-container-center {
    padding: 0;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
}

.menu-container-right {
    margin-right: var(--gap-1);
    padding: 0;
    position: absolute;
    bottom: 0;
    right: 0;
}

.main-menu .ui-menubar {
    background: transparent !important; /* Hintergrund entfernen */
    border: none !important; /* Rand entfernen */
}

/* Main Menu > Menubar */
.main-menu .ui-menuitem-link.ui-state-hover {
    background: rgba(255, 255, 255, 0.2) !important; /* Hintergrund entfernen */
}

.main-menu .ui-menuitem-icon,
.main-menu .ui-menuitem-text,
.main-menu .ui-menuitem-link .ui-icon {
    color: white !important;
}

/* Main Menu > Submenu */
.main-menu .ui-menu-child .ui-menuitem-icon,
.main-menu .ui-menu-child .ui-menuitem-text,
.main-menu .ui-menu-child .ui-menuitem-link .ui-icon {
    color: var(--text-color-secondary) !important;
}

.main-menu .ui-menu-child .ui-menuitem-link:hover {
    background: var(--primary-50) !important;
}

.dropdown-menu.ui-menu {
    width: 16em !important;
}

.sidebar-container {
    padding: 0 !important;
}

.sidebar-menu {
    border: 0 !important;
}

h1.sidebar-menu-title {
    font-size: 32px;
    padding-left: var(--gap-1);
}

.sidebar-submenu-item {
    padding-left: var(--gap-2) !important;
}

.sidebar-divider {
    margin-top: 2em !important;
    margin-bottom: 1em !important;
}

.sidebar-menu .ui-menuitem-link:hover {
    background: var(--primary-50) !important;
}

.main-menu-title {
    color: white !important;
    font-weight: bold !important;
    margin-bottom: 8px;
    text-align: center;
}


.menu-container-right .ui-button {
    color: white !important;
}

.content-wrapper {
    margin-top: var(--header-height-desktop);
}

@media (max-width: 992px) {
    .content-wrapper {
        margin-top: var(--header-height-mobile-portrait);
    }
}

@media (max-height: 450px) {
    .content-wrapper {
        margin-top: var(--header-height-mobile-landscape);
    }
}

.content {;
    padding: var(--gap-1);
}

.footer {
    padding: var(--gap-1);
}

.footer-content {
    display: flex;
    align-items: center;
    gap: var(--gap-2);
}

/* desktop: */
.footer-content {
    display: flex;
    align-items: center;
    gap: var(--gap-1);
    flex-wrap: wrap;       /* wrap if too many links */
}

/* Version label stays on the left */
.version-label {
    flex-shrink: 0;        /* do not shrink */
}

/* All links side by side */
.footer-links {
    display: flex;         /* direct children horizontal */
    row-gap: var(--gap-1);
    column-gap: var(--gap-2);
    flex-wrap: wrap;
}

.footer-links > div.release-notes {
    display: flex;
    align-items: center;
    gap: var(--gap-0_5);
}

/* Grid for mobile devices */
@media (max-width: 768px) {
    .footer-content {
        display: block;
    }

    .version-label {
        display: block;
        margin-bottom: var(--gap-1);
    }

    .footer-links {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
        gap: var(--gap-1); /* spacing between elements */
    }
}

.footer-text {
    font-size: var(--font-size-small) !important;
}
