html, body { overflow-x: hidden; max-width: 100%; } .site-header {
position: sticky !important;
top: 0 !important;
z-index: 9999 !important;
width: 100vw !important;
max-width: 100vw !important;
box-sizing: border-box !important;
left: 0 !important;
right: 0 !important;
}
.nav-inner {
width: 100% !important;
max-width: 100% !important;
box-sizing: border-box !important;
padding: 0 .875rem !important;
margin: 0 !important;
gap: 0 !important;
display: flex !important;
align-items: center !important;
justify-content: space-between !important;
height: 58px !important;
}
.site-logo { flex-shrink: 1; min-width: 0; overflow: hidden; }
.site-logo img { height: 34px; }
.site-logo-text { font-size: .82rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 180px; } .nav-desktop {
display: contents !important; } .nav-cta { display: none !important; } .menu-toggle {
display: flex !important;
align-items: center !important;
justify-content: center !important;
width: 40px !important;
min-width: 40px !important;
height: 40px !important;
background: rgba(255,255,255,.15) !important;
border: 1.5px solid rgba(255,255,255,.3) !important;
border-radius: 4px !important;
color: #fff !important;
font-size: 1.3rem !important;
cursor: pointer !important;
flex-shrink: 0 !important;
padding: 0 !important;
margin-left: .75rem !important;
position: relative !important;
z-index: 10000 !important;
} .primary-menu { display: none !important; } .primary-menu.is-open {
display: flex !important;
flex-direction: column;
position: fixed;
top: 57px; left: 0; right: 0;
background: #1a1a1a;
border-top: 3px solid #cc0000;
padding: 0;
box-shadow: 0 8px 32px rgba(0,0,0,.5);
z-index: 9998;
max-height: calc(100vh - 57px);
overflow-y: auto;
}
.primary-menu.is-open > li { border-bottom: 1px solid rgba(255,255,255,.08); }
.primary-menu.is-open > li > a {
display: block;
padding: .9rem 1.25rem;
font-size: .95rem; font-weight: 600;
color: #fff; text-decoration: none;
}
.primary-menu.is-open > li.current-menu-item > a,
.primary-menu.is-open > li.current-menu-parent > a { color: #cc0000; } .primary-menu.is-open .sub-menu {
display: none;
position: static;
background: rgba(255,255,255,.04);
box-shadow: none; border-radius: 0; animation: none;
padding: 0; width: 100%; min-width: unset;
}
.primary-menu.is-open .menu-item-has-children.submenu-open > .sub-menu { display: block; }
.primary-menu.is-open .sub-menu a {
display: block;
padding: .75rem 1.25rem .75rem 2.25rem;
font-size: .875rem; color: rgba(255,255,255,.65);
text-decoration: none;
border-bottom: 1px solid rgba(255,255,255,.04);
}
.menu-arrow { float: right; font-size: 1rem; opacity: .55; }
.submenu-open > a .menu-arrow { color: #cc0000; opacity: 1; }
.nav-cta { display: block !important; margin: .75rem 1.25rem; text-align: center; } .hero { overflow: hidden; }
.hero-inner { padding: 2rem 1.25rem; }
.hero-title { font-size: 2.5rem; line-height: 1; }
.hero-lead { font-size: .85rem; }
.hero-actions { flex-direction: column; gap: .625rem; }
.hero-actions .btn { width: 100%; justify-content: center; }
.hero-logo-3d { display: none; } .generic-page-hero, .news-hero, .kurs-hero,
.spenden-hero, .contact-hero, .dept-hero, .tz-header {
padding: 1.5rem 1.25rem; overflow: hidden;
}
.generic-page-hero-title, .news-hero-title, .kurs-hero-title,
.spenden-hero-title, .contact-hero-title, .dept-hero-title, .tz-header-title {
font-size: 1.75rem; line-height: 1.05; max-width: 58%;
}
.generic-page-hero-sub, .news-hero-sub, .kurs-hero-sub,
.spenden-hero-sub, .contact-hero-sub { font-size: .75rem; max-width: 55%; }
.generic-page-hero-logo, .news-hero-logo, .kurs-hero-logo,
.spenden-hero-logo, .contact-hero-logo, .dept-hero-logo { display: none; } .stats-bar { padding: 1rem .75rem; }
.stats-inner { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: .75rem .5rem !important; }
.stat { text-align: center; }
.stat-number { font-size: 1.75rem; }
.stat-label { font-size: .55rem; } .hp-week-scroll-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
.hp-week-grid { display: grid !important; grid-template-columns: repeat(4,140px) !important; gap: 8px !important; width: max-content !important; }
.hp-day-col { width: 140px; }
.hp-day-header { font-size: .72rem; padding: 6px 8px; }
.hp-day-body { padding: 4px; gap: 4px; }
.hp-kurs-slot { padding: 5px 6px; }
.hp-slot-kat { font-size: .52rem; }
.hp-slot-name { font-size: .7rem; }
.hp-slot-time { font-size: .58rem; }
.hp-slot-ort { font-size: .55rem; } .kurs-filter-bar { top: 57px; padding: .75rem 1rem; }
.kurs-grid { grid-template-columns: 1fr 1fr !important; gap: .625rem !important; } .section-inner { padding: 0 1rem !important; box-sizing: border-box; }
.section-title { font-size: clamp(1.4rem,6vw,2rem); }
.two-col { grid-template-columns: 1fr !important; }
.footer-top { grid-template-columns: 1fr !important; }
.footer-bottom { flex-direction: column; gap: .75rem; text-align: center; }
.sponsors-section, .sponsors-track-wrap { overflow: hidden; } .tz-legend { display: none; } .list-row {
flex-wrap: wrap;
padding: 10px 12px;
gap: .375rem;
align-items: flex-start;
}
.lr-day {
font-weight: 700;
font-size: .82rem;
min-width: 80px;
flex-shrink: 0;
}
.lr-time {
font-size: .82rem;
flex-shrink: 0;
min-width: 120px;
}
.lr-group {
font-size: .82rem;
font-weight: 600;
flex: 1;
min-width: 100%;
color: var(--color-text);
}
.lr-loc {
font-size: .72rem;
color: var(--color-gray-text);
background: var(--color-gray-light);
padding: 2px 8px;
border-radius: 20px;
white-space: normal;
word-break: break-word;
}
.lr-tbd {
font-size: .72rem;
font-style: italic;
color: var(--color-gray-text);
}
.lr-hint {
font-size: .75rem;
} .list-dept-header { flex-wrap: wrap; }
.list-dept-title { font-size: 1.2rem; }