/*
Neustart April 2026.
Mit Hilfe von duck.ai, moeglichst
barrierearm und zeitgemaeß.
*/

:root {
  --bg: #4d757f;
  --card-bg: rgba(255, 255, 255, .92);
  --text: #001233;
  --muted: #334;
  --accent: #8c1a1a;
  --link: lightgray;
  --border: #e6e6e6;
  --radius: .5rem;
  --max-width: 38rem;
  --gutter: 1rem;
  --fs-base: 16px;
  --bg-img-size: 25rem;
  --display: grid;
}

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

html,
body {
  height: 100%;
}

body {
  margin: 0;
  font-family: Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size: var(--fs-base);
  color: var(--text);
  line-height: 1.45;
  letter-spacing: .5pt;
  word-spacing: 1pt;
  background-color: var(--bg);
  background-image: url("./img/bg.htm");
  background-position: center;
  background-size: cover;
  background-attachment: fixed;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a {
  color: #001233;
  text-decoration: none;
}

a:hover {
  border-bottom: .12em dotted var(--accent);
  padding: 0 0 .13em 0;
}

main a.url {
  border-bottom: .12em solid var(--link);
  padding: 0 0 .13em 0;
}

main a:hover.url {
  border-bottom: .12em dotted var(--accent);
  padding: 0 0 .13em 0;
}

a:focus {
  outline: 3px solid rgba(11, 102, 195, .18);
  outline-offset: 3px;
  border-radius: 6px;
}

a.click {
  padding: 1em;
  margin: -1em;
}

a:hover.click {
  padding: .13em .5em;
  margin: .13em -.5em;
}

.page {
  min-height: 100vh;
  display: flex;
  align-items: center;
  justify-content: center;
  padding-inline: clamp(1rem, 4vw, 3rem);
}

.card {
  width: 100%;
  max-width: var(--max-width);
  background: var(--card-bg);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  padding: 1em 1.5em;
  margin: 1em 0;
  box-shadow: 0 8px 24px rgba(0, 0, 0, .06);
  position: relative;
}

h1 {
  font-size: 1.85rem;
  font-weight: 400;
  letter-spacing: 1pt;
  margin: 0;
  position: absolute;
  top: .68rem;
  right: 1.15rem;
}

h1 a:hover {
  border-bottom: none;
  color: var(--accent);
}

h2 {
  margin: 2em 0 0 2em;
  font-weight: normal;
}

h3 {
  margin: 0 0 0 2.7em;
  font-weight: lighter;
}

h4 {
  font-weight: normal;
  font-size: 1.125em;
}

.logo-link {
  position: absolute;
  top: 1rem;
  right: 1rem;
  display: inline-block;
}

.logo-link img {
  width: 2.1rem;
  height: auto;
  display: block;
}

a:hover.logo-link {
  border-bottom: none;
}

nav {
  position: absolute;
  top: .6rem;
  left: 1rem;
  display: inline-block;
}

nav ul {
  padding: 0;
  margin: 0;
  list-style: none;
  position: relative;
  top: unset;
}

svg {
  position: relative;
  top: .2em;
}

nav ul li {
  display: inline-block;
  list-style-type: none;
}

#first {
  border-bottom: .1em dotted transparent;
}

nav a {
  display: block;
  text-decoration: none;
  border-bottom: .12em dotted transparent;
  padding-bottom: .13em;
  touch-action: manipulation;
}

nav a:hover {
  text-decoration: none;
  border-bottom: .12em dotted var(--accent);
}

nav ul ul {
  z-index: 1;
  display: none;
  position: absolute;
  white-space: nowrap;
  top: 2em;
}

nav ul li:hover>ul {
  display: inherit;
}

nav ul ul li {
  padding: .3em 1em;
  float: none;
  display: list-item;
  position: relative;
  background: rgba(250, 250, 250, .9);
}

nav ul ul ul li {
  position: relative;
  top: -2em;
  left: 8em;
}

main p {}

main p.content {
  margin: 2em 4em;
}

main p.content a:hover {
  border-bottom: none;
  color: var(--accent);
}

main ul {
  margin: 0 4em;
}

main li {
  margin: .5rem 0;
  list-style-image: url(./red-dot.svg);
}

main img {
  justify-content: center;
  display: flex;
  width: 300px;
  margin: 0 auto 2em;
  border-radius: 4px;
  padding: 5px;
  border: 1px solid;
  cursor: pointer;
}

main .border {
  border-radius: 4px;
  padding: 5px;
  border: 1px solid;
}

main #gallery {
  margin: 0 auto;
  max-width: 31.2rem;
  position: relative;
}

main #gallery img {
  width: 150px;
  float: left;
  margin: .5em;
}

main #gallery img.q {
  width: 96px;
}

.sml {
  font-size: .6em;
  transition: font-size 0.5s ease;
  cursor: pointer;
}

.sml:hover {
  font-size: var(--fs-base);
}

.c {
  text-align: center;
}

.r {
  text-align: right;
}

.bold {
  font-weight: 400;
}

.black {
  color: #000;
}

.nbr {
  white-space: nowrap;
}

.float {
  float: left;
}

/*
img.float {
    margin: .5em;
} */

.clear {
  clear: both
}

.zeile {
  display: block;
  font-size: .95rem;
  color: var(--muted);
  margin-top: .15rem;
  margin-left: .25rem;
}

footer {
  margin-top: 1.25rem;
  border-top: .02em dashed var(--text);
  padding-top: .75rem;
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: center;
  flex-wrap: wrap;
}

hr {
  border: 0;
  border-top: .02em dashed var(--text);
  background-color: transparent;
  width: 90%;
  margin: 1em auto;
}

.bt {
  border-top: .02em dashed var(--text);
  padding-top: 1em;
}

audio {
  background: url("./img/VEB_AMIGA.png") #398c8e;
  background-position: center 0rem;
  background-repeat: no-repeat;
  background-size: 32rem 32rem;
  border-radius: .2rem;
  width: 31.2rem;
  height: 33.7rem;
  margin: 1rem auto;
  display: var(--display);
}

video {
  border-radius: 0.2rem;
  width: 31.2rem;
  margin: .5rem auto;
  display: var(--display);
  aspect-ratio: 16 / 9;
  background: #fff;
}

.sub {
  width: 31.2rem;
  margin: 0 auto;
  font-size: smaller;
  font-style: italic;
}

/* Mobile Anpassungen */
@media (max-width:700px) {
  :root {
    --bg-img-size: 17rem;
  }

  .logo {
    top: .5rem;
    right: .5rem;
  }

  .card {
    padding: 1rem;
  }

  nav ul li:focus-within>ul,
  nav ul li:active>ul {
    display: inherit;
  }

  nav a {
    touch-action: manipulation;
  }

  h1 {
    font-size: 1.6em;
    right: 1rem;
  }

  h2 {
    font-size: 1.4em;
    margin: 2em 0 0 .8em;
  }

  h3 {
    margin: 0 0 0 1em;
  }

  main ul {
    margin: 0;
    padding: 0 2.4em;
  }

  main #gallery img {
    width: 18rem;
    float: none;
    margin: .5em auto;
  }

  main #gallery img.q {
    width: 18rem;
  }

  video, .sub {
    width: 18rem;
  }

  audio {
    width: 18rem;
    height: 21rem;
    background-size: 18rem 18rem;
  }
}

/* Spezial, kam von duck.ai gpt, keine Ahnung, ob das Sinn macht */
.visually-hidden {
  position: absolute !important;
  height: 1px;
  width: 1px;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
  border: 0;
  padding: 0;
  margin: -1px
}

/* Anpassung spezial */
.zoomora-counter {
  opacity: 0;
  /* ausgeblendet */
}

/* Anpassungen für Äpfelchen Safari */
.zoomora {
  -webkit-backdrop-filter: blur(20px);
}

.zoomora-btn {
  -webkit-backdrop-filter: blur(10px);
}

/* Abstände zwischen den Bedienknöpfen für Safari vor 14.1 */
.on-apple .zoomora-btn {
  /* seufz */
}

/*
Failed:
  grid-template-columns: 1fr 1fr;
  grid-gap: 8rem; /* Safari 10-11 *
  gap: 8rem;      /* Safari 12+ *
.on-apple .zoomora-btn > * + *  {
  justify-content: space-between;
    https://stackoverflow.com/questions/65452057/flexbox-gap-workaround-for-safari

  margin: 0 .25em !important;
}
*/
