/* bickhofe.net – schlichtes Stylesheet im Stil des bisherigen Auftritts */

*, *::before, *::after { box-sizing: border-box; }

html {
  -webkit-text-size-adjust: 100%;
  background: #fff;
}

body {
  margin: 0;
  color: #444;
  font: 14px/1.7 "Open Sans", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
}

a { color: #21759b; }
a:hover { color: #0f3647; }
:focus-visible { outline: 2px solid #21759b; outline-offset: 2px; }

.skip { position: absolute; left: -999px; }
.skip:focus { left: 1rem; top: 1rem; background: #fff; padding: .5rem 1rem; z-index: 10; }

/* Seitenrahmen */
.site {
  background: #fff;
  max-width: 960px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Kopf */
.site-header { padding: 24px 0; text-align: center; }
.site-title { margin: 0; font-size: 24px; line-height: 1.3; font-weight: 700; }
.site-title a { color: #515151; text-decoration: none; }
.site-description { margin: 10px 0 0; font-size: 13px; color: #757575; font-weight: normal; }

/* Navigation */
.nav {
  margin-top: 24px;
  border-top: 1px solid #ededed;
  border-bottom: 1px solid #ededed;
}
.nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 28px;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav a {
  display: block;
  padding: 10px 0;
  color: #6a6a6a;
  font-size: 12px;
  text-transform: uppercase;
  text-decoration: none;
}
.nav a:hover { color: #444; }
.nav a[aria-current="page"] { color: #636363; font-weight: 700; }

/* Inhalt */
main { padding: 24px 0 48px; }
h1 { margin: 0 0 24px; font-size: 20px; line-height: 1.2; font-weight: normal; }
h2 { margin: 28px 0 12px; font-size: 16px; line-height: 1.4; font-weight: normal; }
p, ul, dl, address { margin: 0 0 20px; }
ul { padding-left: 36px; }
address { font-style: normal; }
b, strong { font-weight: 700; }

.prose { overflow-wrap: anywhere; }
.prose ul.plain { list-style: none; padding-left: 0; }
.prose .sub { font-style: italic; }

.defs { display: grid; grid-template-columns: max-content 1fr; gap: 0 16px; }
.defs dt { font-weight: 700; }
.defs dd { margin: 0; }

/* Fuß */
.site-footer {
  border-top: 1px solid #ededed;
  padding: 24px 0;
  font-size: 12px;
  color: #757575;
}
.site-footer a { color: #686868; }

/* Ab Tablet: linksbündig, Box mit Schatten wie bisher */
@media (min-width: 600px) {
  html { background: #e6e6e6; }
  body { font-size: 15px; }
  .site {
    margin: 48px auto;
    padding: 0 40px;
    box-shadow: 0 2px 6px rgba(100, 100, 100, .3);
  }
  .site-header { text-align: left; }
  .site-title { font-size: 28px; }
  .nav ul { justify-content: flex-start; gap: 0 40px; }
  .nav a { padding: 12px 0; font-size: 13px; }
  h1 { font-size: 22px; }
  main { padding-top: 40px; }
}

@media (max-width: 420px) {
  .defs { grid-template-columns: 1fr; }
  .defs dd { margin-bottom: 8px; }
}
