html, body { overflow-x: hidden; max-width: 100%; } .site-header { position: sticky; top: 0; z-index: 9999; width: 100%; box-sizing: border-box; }
.nav-inner { padding: 0 .875rem; box-sizing: border-box; }
.site-logo img { height: 36px; }
.site-logo-name { font-size: .85rem; } .menu-toggle {
display: flex !important;
align-items: center;
justify-content: center;
width: 38px; height: 38px;
background: rgba(255,255,255,.15);
border: 1.5px solid rgba(255,255,255,.3);
border-radius: 4px;
color: #fff;
font-size: 1.3rem;
cursor: pointer;
flex-shrink: 0;
padding: 0;
} .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; }