/* Adaptive Anpassung – Desktop bleibt wie das Original */
img, video, iframe, object, embed { max-width: 100%; }
video { height: auto; }

/* Breite anpassen, ohne Schriften, Videos oder das Rasterlogo aufzublasen. */
@media (min-width: 781px) {
  #container { width: 100% !important; }
  #top {
    width: 100% !important;
    box-sizing: border-box;
    background-size: cover;
    height: max(380px, calc(100vh - 150px)) !important;
  }
  #topinfo { background-image: none !important; height: 100% !important; }
  #trailer, #leftside, #leftside_start, #tourdaten, #leftsiiframe {
    height: calc(100% - 5px) !important;
    box-sizing: border-box;
  }
  #bottom { width: 100% !important; }
  #nav {
    width: calc(100% - 122px) !important;
    box-sizing: border-box;
  }
  #pagetitle { width: 100% !important; }
  #subnav {
    width: calc(100% - 122px) !important;
    box-sizing: border-box;
  }
  #hfhlogo { width: 122px !important; }
  #hfhlogo img { max-width: 100%; height: auto; }
}
@media (max-width: 780px) {
  #container, #top, #topinfo, #bottom, #nav, #pagetitle, #subnav, #leftside, #tourdaten, #globalNav, #globalLink, .subglobalNav {
    width: auto !important; min-width: 0 !important; max-width: 100% !important;
    height: auto !important; box-sizing: border-box;
  }
  #top { padding-left: 0 !important; background-size: cover; min-height: 0; }
  #topinfo { background-position: center top !important; background-size: contain; }
  #topinfo > div, #trailer { width: auto !important; max-width: 100%; height: auto !important; float: none !important; box-sizing: border-box; padding: 8px; }
  #trailer.tall { overflow: visible; }
  #leftside { overflow: visible; }
  iframe, iframe#ntb, iframe#texts, iframe#pvAnTopicList, iframe#pvAnTopic, #leftsiiframe { width: 100% !important; }
  table { max-width: 100% !important; width: auto !important; }
  td { word-break: break-word; }
  #hfhlogo { float: none; width: auto; height: auto; }
  #nav { float: none; padding: 6px 8px; }
  #nav .menu_level1 a { display: inline-block; margin: 3px 0; line-height: 1.6; }
  #subnav { float: none; padding: 6px 8px; }
  #subright { float: none; width: auto; text-align: left; }
  p, li, h1, h2, h3 { font-size: 13px; }
  #nav a, #nav a:visited { font-size: 15px; }
  /* Logo, Menü und Footer unten am Bildschirm fixieren */
  #bottom {
    position: fixed !important;
    left: 0; right: 0; bottom: 0;
    z-index: 1000;
    max-height: 45vh;
    overflow-y: auto;
    box-shadow: 0 -2px 8px rgba(0,0,0,0.25);
  }
  body { padding-bottom: var(--mobile-bottom-height, 0px) !important; background: #ffffff !important; }
  #pagetitle { background: #ffffff; padding: 6px 8px; }
}
