/* VCS – zentrale Tablet-/Mobile-Anpassungen */
@media (max-width: 900px) {
    .members-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
    .sponsor-name { font-size: 23px; }
}

@media (max-width: 768px) {
    body { font-size: 16px; line-height: 1.5; }
    .site-shell { width: 100%; min-height: 0; margin: 0; background-image: none; }

    .site-nav { padding: 0; }
    .mobile-menu-toggle {
        display: flex; width: 100%; min-height: 52px; align-items: center; justify-content: space-between;
        padding: 11px 15px; border: 0; background: #1d1d1d; color: #fff; font: inherit; font-weight: 700; cursor: pointer;
    }
    .hamburger { position: relative; width: 26px; height: 18px; }
    .hamburger::before, .hamburger::after, .hamburger span {
        content: ""; position: absolute; left: 0; width: 26px; height: 2px; background: currentColor; transition: .2s ease;
    }
    .hamburger::before { top: 0; } .hamburger span { top: 8px; } .hamburger::after { top: 16px; }
    .mobile-menu-toggle[aria-expanded="true"] .hamburger::before { top: 8px; transform: rotate(45deg); }
    .mobile-menu-toggle[aria-expanded="true"] .hamburger span { opacity: 0; }
    .mobile-menu-toggle[aria-expanded="true"] .hamburger::after { top: 8px; transform: rotate(-45deg); }

    .nav-list { display: none; grid-template-columns: 1fr; background: #282828; }
    .site-nav.nav-open .nav-list { display: block; }
    .nav-item { border-top: 1px solid rgba(255,255,255,.10); }
    .nav-link, .nav-submenu-toggle { justify-content: flex-start; min-height: 46px; padding: 10px 15px; background: transparent; text-align: left; }
    .nav-submenu-toggle::after { content: "▾"; margin-left: auto; transition: transform .2s ease; }
    .nav-item.submenu-open > .nav-submenu-toggle::after { transform: rotate(180deg); }
    .nav-submenu { display: none !important; position: static; width: 100%; box-shadow: none; background: #353535; }
    .nav-item.submenu-open > .nav-submenu { display: block !important; }
    .nav-submenu .nav-link { padding-left: 30px; }

    .hero, .hero.home { padding: 0; }
    .hero-image, .hero-image.club-photo { width: 100%; max-width: 100%; }
    .content { padding: 18px 14px 28px; }
    .page-title { font-size: 23px; margin-bottom: 14px; }
    .prose { text-align: left; }

    .gallery-card { padding: 12px; }
    .gallery-card iframe { height: 260px; }

    .sponsor-grid { gap: 14px; }
    .sponsor-card { grid-template-columns: 1fr; gap: 6px; padding: 14px; text-align: center; }
    .sponsor-logo { min-height: 90px; }
    .sponsor-name { font-size: 21px; }

    .contact-layout { grid-template-columns: 1fr; }
    .contact-photo { order: -1; width: min(300px, 100%); justify-self: center; }

    .members-grid { grid-template-columns: 1fr; gap: 16px; }
    .members-section { margin: 24px 0 34px; }
    .member-card { max-width: 430px; width: 100%; margin: 0 auto; }

    .imprint-intro { grid-template-columns: 1fr; }
    .imprint-logo { order: -1; width: 150px; justify-self: center; }
    .download-links { display: grid; grid-template-columns: 1fr; }
    .download-link { text-align: center; }

    .site-footer { width: 100%; margin-bottom: 0; padding: 10px 12px; }
}

@media (max-width: 420px) {
    .content { padding-left: 10px; padding-right: 10px; }
    .gallery-card iframe { height: 230px; }
}

@media (max-width: 768px) {
    .gallery-list { grid-template-columns: 1fr; }
}
