.deinsa-site {
  min-width: 0;
  background: var(--deinsa-color-background);
  color: var(--deinsa-color-text);
  font-family: var(--deinsa-font-sans);
  font-size: 16px;
  line-height: 1.6;
}

.deinsa-site a {
  color: inherit;
}

.deinsa-site :focus-visible {
  outline: 3px solid var(--deinsa-color-focus);
  outline-offset: 3px;
}

.deinsa-skip-link {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  transform: translateY(-150%);
  padding: 0.75rem 1rem;
  background: var(--deinsa-color-text);
  color: #ffffff;
  text-decoration: none;
}

.deinsa-skip-link:focus {
  transform: translateY(0);
}

.deinsa-entry + .deinsa-entry {
  margin-top: var(--deinsa-space-5);
}

.deinsa-entry__title,
.deinsa-archive-title,
.deinsa-empty-state__title {
  margin: 0 0 var(--deinsa-space-2);
  line-height: 1.15;
}

.deinsa-entry__content > :first-child {
  margin-top: 0;
}

.deinsa-entry__content > :last-child {
  margin-bottom: 0;
}

.deinsa-empty-state {
  padding-block: var(--deinsa-space-7);
}

.deinsa-empty-state__text {
  margin: 0 0 var(--deinsa-space-3);
  color: var(--deinsa-color-muted);
}

.deinsa-site .screen-reader-text {
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  position: absolute;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

/* v0.3.3 — Sticky footer shell: footer reaches the viewport bottom on short pages. */
.deinsa-site {
  min-height: 100vh;
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
}

.deinsa-site > .deinsa-header,
.deinsa-site > .deinsa-consult-strip,
.deinsa-site > .deinsa-footer {
  flex: 0 0 auto;
}

.deinsa-site > .deinsa-main {
  flex: 1 0 auto;
}
