/* ============================================================
   Barbara Wieland - Kunst, Bilder und Skulpturen
   Neu aufgebautes, framefreies Stylesheet.
   Farben, Schriften und Abstände 1:1 aus dem Original übernommen.
   ============================================================ */

* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background-color: #333333;   /* wie body.css im Original */
  color: #ffffff;
  font-family: 'Sen', Arial, sans-serif;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
}

a { color: #ffffff; }
a:hover { color: #B1C7D1; }

/* ---------- Banner (ehem. Banner.htm-Frame) ---------- */
#banner {
  background-color: #000000;
  color: #ffffff;
  padding: 14px 20px;
}
#banner p {
  margin: 0;
  font-size: 28px;
  font-weight: bold;
  text-align: left;
}

/* ---------- Layout: Sidebar links, Inhalt rechts (ehem. Frameset cols="240,*") ---------- */
#layout {
  display: flex;
  align-items: stretch;
  flex: 1 0 auto;
}

#sidebar {
  width: 240px;
  flex: 0 0 240px;
  padding: 12px;
  background-color: #333333;
}

#sidebar img#portraet {
  display: block;
  border: 0;
  margin-bottom: 12px;
}

#content {
  flex: 1;
  min-width: 0;
  padding: 20px;
  background-color: #ffffff;
  color: #000000;
  min-height: 480px;
}

#content p, #content font, #content span, #content li, #content dd, #content dt,
#content b, #content h1, #content h2, #content h3 {
  color: #000000;
}

#content, #content font, #content p, #content li, #content span, #content div, #content b {
  font-family: 'Sen', Arial, sans-serif;
}

#content a { color: #34505C; }
#content a:hover { color: #1b2e35; }

#footer {
  padding: 10px 20px;
  background-color: #000000;
  color: #aaaaaa;
  font-size: 11px;
}

/* ---------- Hauptmenü links (aus stylesheets.css #hauptmenul) ---------- */
#hauptmenul {
  width: 216px;
  background-color: #555555;
  margin: 0;
  padding: 4px 10px 4px 12px;
  font: normal 12px 'Sen', Arial, sans-serif;
}

#hauptmenul ul { list-style-type: none; padding: 0; margin: 0; }
#hauptmenul li { list-style-type: none; }

#hauptmenul li a {
  display: block;
  background-color: #444444;
  color: #FFF;
  text-decoration: none;
  margin: 4px 0;
  padding-left: 7px;
  height: 22px;
  line-height: 26px;
}

#hauptmenul li a:hover,
#hauptmenul li a.active {
  background-color: #B1C7D1;
  color: #34505C;
}

/* ---------- Untermenü (Bild-/Skulptur-Titel unter Thumbnails, aus #menu1a/#menu1b) ---------- */
.menu1a, #menu1a {
  width: 200px;
  margin: 0;
  padding: 6px 8px;
  text-align: center;
  font: bold 13px 'Sen', Arial, sans-serif;
}
.menu1a ul, #menu1a ul { list-style-type: none; padding: 0; margin: 0; }
.menu1a li a, #menu1a li a {
  display: block;
  color: #000000;
  font-weight: bold;
  text-decoration: none;
  margin: 2px 0;
  padding-left: 5px;
  height: 24px;
  line-height: 24px;
}
.menu1a li a:hover, #menu1a li a:hover { color: #34505C; }

.menu1b, #menu1b {
  width: 200px;
  margin: 10px;
  padding: 6px 8px;
  text-align: center;
  font: bold 13px 'Sen', Arial, sans-serif;
}
.menu1b ul, #menu1b ul { list-style-type: none; padding: 0; margin: 0; }
.menu1b li a, #menu1b li a {
  display: block;
  color: #000000;
  font-weight: bold;
  text-decoration: none;
  margin: 2px 0;
  padding: 4px 5px;
  line-height: 1.3;
  white-space: normal;
}
.menu1b li a:hover, #menu1b li a:hover { color: #34505C; }

/* ---------- Bildergalerie-Grid (Bild + Beschriftung fest verankert je Spalte) ---------- */
.gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 32px 24px;
  margin-bottom: 32px;
}
.gallery-item {
  text-align: center;
}
.gallery-item .thumb-box {
  height: 110px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  margin-bottom: 8px;
}
.gallery-item img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  height: auto;
  border: 0;
}
.gallery-item .menu1b {
  width: 140px;
  margin: 0 auto;
}

/* ---------- Detailseiten (Kunstwerk + Titel + Maße) ---------- */
#content img[align="right"] {
  float: right;
  margin: 0 0 16px 20px;
  border: 0;
  max-width: 100%;
  height: auto;
}

table[align="left"] { border-collapse: collapse; margin-top: 20px; clear: both; }
table[align="left"] td { padding: 0; }

/* ---------- Textformatierungs-Hilfsklassen (aus Original übernommen) ---------- */
.linksbuendig, .linksbündig { text-align: left; }
.rechtsbuendig { text-align: right; }
.zentriert { text-align: center; }
.blocksatz { text-align: justify; }

/* ---------- Responsive: Mobile ---------- */
@media (max-width: 700px) {
  #layout { flex-direction: column; }
  #sidebar { width: 100%; flex-basis: auto; }
  #hauptmenul { width: 100%; }
  #content img[align="right"] { float: none; margin: 0 0 16px 0; }
}
