
/* Responsive Ergänzung: Desktop-Design bleibt unangetastet. */
html { -webkit-text-size-adjust: 100%; }
body { overflow-x: hidden; }
img, video, iframe { max-width: 100%; }
img { height: auto; }
.container, .container-fluid, main, section { min-width: 0; }
table { max-width: 100%; }
@media (max-width: 991.98px) {
  .exact-masthead { width: 100%; background-size: 100% 100% !important; }
  nav.navbar.exact-navbar { position: relative; z-index: 50; min-height: 58px; }
  .exact-navbar .navbar-toggler {
    display: flex; align-items: center; justify-content: center;
    min-width: 48px; min-height: 44px; margin: 4px auto;
    border: 1px solid #d5b477; border-radius: 12px;
  }
  .exact-navbar .navbar-collapse { width: 100%; padding: 6px 10px 14px; }
  .exact-navbar .navbar-nav { align-items: stretch !important; width: 100%; gap: 0 !important; }
  .exact-navbar .nav-item { width: 100%; }
  .exact-navbar .nav-link,
  .exact-navbar .nav-link.active {
    display: flex !important; align-items: center; justify-content: center !important;
    min-height: 44px; padding: 9px 16px !important;
    font-size: 1.15rem !important; line-height: 1.35;
    text-align: center; white-space: normal;
  }
  .exact-navbar .dropdown-menu {
    position: static !important; float: none !important; transform: none !important;
    width: min(100%, 500px); margin: 0 auto 8px; max-height: 55vh; overflow-y: auto;
  }
  .exact-navbar .dropdown-item { white-space: normal; padding: 12px 16px; }
  .search-panel.open { max-height: 130px; }
  .search-panel input { min-height: 44px; }
  .vintage-footer .vintage-footer-bottom {
    display: flex !important; flex-direction: column; align-items: center;
    gap: 10px; padding: 18px 18px 80px !important;
  }
  .vintage-footer .vintage-footer-right { text-align: center; align-items: center; padding-right: 0 !important; }
  .vintage-footer .vintage-footer-links { gap: 10px; }
  .vintage-footer .vintage-footer-slogan { white-space: normal; }
  .vintage-footer .vintage-footer-banner { background-size: cover !important; background-position: center; }
  #toTop { right: 12px !important; bottom: 12px !important; }
}
.start-mobile-layout { display: none; }
@media (max-width: 991.98px) {
  .vintage-startmitte .vintage-startmitte-bild { display: none !important; }
  .vintage-startmitte .mitte-mobile-links { display: none !important; }
  .start-mobile-layout { display: block; background: #f1dfbc; color: #493321; padding: 18px clamp(12px,3vw,28px) 30px; }
  .start-mobile-intro { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; align-items: center; max-width: 960px; margin: auto; }
  .start-mobile-intro-text h1 { font-family: "URW Chancery L", "Brush Script MT", Georgia, serif; font-style: italic; font-size: clamp(2rem,5vw,3.3rem); font-weight: 400; line-height: 1.15; margin: 0 0 14px; }
  .start-mobile-intro-text p { font-family: Georgia, serif; font-size: clamp(1rem,2vw,1.18rem); line-height: 1.6; }
  .start-mobile-motto { border-top: 1px solid #9e7a51; padding-top: 10px; text-align: center; font-style: italic; }
  .start-mobile-photo { margin: 0; padding: 7px; background: #e9d5ae; border: 1px solid #9b7950; box-shadow: 3px 4px 8px #4b332533; transform: rotate(-1deg); }
  .start-mobile-photo img { width: 100%; aspect-ratio: 485/292; object-fit: cover; display: block; }
  .start-mobile-photo figcaption { text-align: right; font: italic 13px Georgia,serif; margin-top: 4px; }
  .start-mobile-values { grid-column: 1/-1; text-align: center; font-style: italic; font-size: 1.2rem; margin: 0 0 12px; }
  .start-mobile-cards { max-width: 960px; margin: auto; display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .start-mobile-card { min-width: 0; padding: 18px 14px; text-align: center; border: 3px double #9e7851; background: #f6e8cb; }
  .start-mobile-card img { width: 145px; height: 132px; max-width: 85%; object-fit: cover; border-radius: 3px; }
  .start-mobile-card h2 { font-family: "URW Chancery L", Georgia, serif; font-style: italic; font-size: clamp(1.3rem,3vw,1.8rem); font-weight: 400; color: #493321; margin: 10px 0 8px; }
  .start-mobile-card p { font: 1rem/1.5 Georgia,serif; margin: 0 0 12px; }
  .start-mobile-card a { color: #842725; text-decoration: none; font-style: italic; display: inline-block; min-height: 40px; padding: 8px 10px; }
  .start-mobile-card a:focus-visible { outline: 2px solid #842725; }
}
@media (max-width: 599.98px) {
  .exact-masthead { min-height: 0 !important; height: auto !important; aspect-ratio: 1535/194; }
  .start-mobile-intro { grid-template-columns: 1fr; }
  .start-mobile-intro-text h1 { text-align: center; }
  .start-mobile-photo { max-width: 440px; width: 100%; justify-self: center; }
  .start-mobile-values { grid-column: 1; }
  .start-mobile-cards { grid-template-columns: 1fr; gap: 14px; }
  .start-mobile-card { padding: 16px 12px; }
  .vintage-footer .vintage-footer-banner { min-height: 65px !important; }
  .vintage-footer .vintage-footer-links { flex-wrap: wrap; }
}
@media (max-width: 380px) {
  .exact-navbar .nav-link { font-size: 1.05rem !important; }
  .start-mobile-layout { padding-left: 10px; padding-right: 10px; }
}
