/* Keep the existing brand, but let the layout fit small screens and FAL galleries. */
* { box-sizing: border-box; }
body { margin: 0; }
div#container { width: min(100% - 24px, 960px); min-width: 0; margin: 24px auto; border: 0; padding: 10px 0 15px; }
div#topmenue { width: 100%; min-height: 76px; height: auto; position: relative; display: flex; align-items: center; gap: 18px; padding: 12px; }
.tt-brand { margin-left: auto; }
.tt-brand img { max-width: 190px; height: auto; }
div#language { position: static; float: none; }
.tt-top-links, .tt-language-links { display: flex; flex-wrap: wrap; gap: 12px; margin: 0; padding: 0; list-style: none; }
div#navigation { width: 100%; height: auto; min-height: 34px; }
#nav { display: flex; flex-wrap: wrap; width: 100%; float: none; }
#nav li { position: relative; }
#nav li:focus-within > ul { display: block; left: 0; }
#nav li li:focus-within > ul { left: 100%; top: 0; }
#nav li:hover > ul { left: 0; }
#nav li li:hover > ul { left: 100%; top: 0; margin: 0; }
div#image { width: 100%; height: auto; margin: 0; }
#image > img, #image > a > img { display: block; width: 100%; height: auto; }
div#news { width: 100%; height: auto; float: none; padding: 10px; }
.tt-columns { display: grid; grid-template-columns: 230px minmax(0,1fr); gap: 24px; padding: 18px; }
div#left, div#center { float: none; width: auto; margin: 0; padding: 0; min-width: 0; }
div#footer { float: none; width: 100%; clear: both; }
#center img, #left img { max-width: 100%; height: auto; }
.ce-gallery { max-width: 100%; }
.ce-gallery img { max-width: 100%; height: auto; }
.frame { margin-bottom: 18px; }
table { max-width: 100%; }
.tt-external-media { border: 1px solid #ccc; padding: 16px; margin: 12px 0; }
.tt-external-media button { padding: 10px 16px; background: #fdcc12; color: #333; border: 0; cursor: pointer; }
.tt-external-media iframe { display: block; width: 100%; min-height: 300px; border: 0; }
.tt-skip { position: absolute; left: -10000px; }
.tt-skip:focus { left: 12px; top: 8px; z-index: 1000; background: #fff; padding: 8px; }
a:focus-visible, button:focus-visible { outline: 3px solid #555; outline-offset: 3px; }
a[href="#missing-migration-file"] { color: #9b2226; border-bottom: 1px dashed currentColor; }
a[href="#missing-migration-file"]::after { content: " [Datei fehlt / file missing]"; font-size: 0.85em; }
@media (max-width: 700px) {
  div#container { margin: 12px auto; }
  div#topmenue { flex-wrap: wrap; gap: 12px; }
  .tt-brand { order: -1; width: 100%; margin: 0; }
  .tt-columns { grid-template-columns: minmax(0,1fr); padding: 12px; gap: 20px; }
  #nav > li { float: none; flex: 1 1 auto; }
  #nav li ul { z-index: 100; }
#nav li li ul { position: static; margin: 0; }
}
