@font-face {
  font-family: "Archivo";
  font-style: normal;
  font-weight: 400 800;
  font-stretch: 100%;
  font-display: swap;
  src: url("https://assets.wiedastier.de/shared/fonts/archivo-latin.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 7 Free";
  font-style: normal;
  font-weight: 900;
  font-display: block;
  src: url("https://assets.wiedastier.de/shared/fonts/fa-solid-900.woff2") format("woff2");
}

@font-face {
  font-family: "Font Awesome 7 Brands";
  font-style: normal;
  font-weight: 400;
  font-display: block;
  src: url("https://assets.wiedastier.de/shared/fonts/fa-brands-400.woff2") format("woff2");
}

:root {
  --font-ui: "Archivo", "Avenir Next", "Segoe UI", Arial, sans-serif;
  --shared-card-radius: 2px;
  --shared-accent: var(--accent, #b8ff6a);
  --shared-accent-rgb: var(--accent-rgb, 184, 255, 106);
  --shared-button-hover: var(--button-hover, #5b9d22);
  --shared-button-hover-rgb: var(--button-hover-rgb, 91, 157, 34);
  --shared-panel-bg: var(--panel-bg, #14161b);
  --shared-panel-gloss: var(--panel-gloss, linear-gradient(180deg, rgba(255, 255, 255, 0.035), transparent));
  --shared-control-text: var(--control-text, var(--text, #f5f7ef));
  --shared-control-shadow: var(--control-shadow, 0 14px 24px rgba(0, 0, 0, 0.24));
  --shared-control-hover-shadow: var(--control-hover-shadow, 0 18px 34px rgba(var(--shared-button-hover-rgb), 0.32));
}

* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

html,
body {
  min-width: 320px;
  min-height: 100%;
}

body {
  margin: 0;
  font-family: var(--font-ui);
  font-size: 16px;
}

a {
  color: inherit;
  text-decoration: none;
}

button,
input,
select,
textarea {
  font: inherit;
}

img {
  display: block;
  max-width: 100%;
}

.sr-only {
  position: absolute !important;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.fa-solid,
.fa-brands {
  display: inline-block;
  flex: 0 0 auto;
  font-style: normal;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

.fa-solid {
  font-family: "Font Awesome 7 Free";
  font-weight: 900;
}

.fa-brands {
  font-family: "Font Awesome 7 Brands";
  font-weight: 400;
}

.fa-solid::before,
.fa-brands::before {
  content: var(--fa, "");
}

.fa-arrow-left { --fa: "\f060"; }
.fa-arrow-right { --fa: "\f061"; }
.fa-arrow-up { --fa: "\f062"; }
.fa-briefcase { --fa: "\f0b1"; }
.fa-bullseye { --fa: "\f140"; }
.fa-calendar { --fa: "\f073"; }
.fa-caret-left { --fa: "\f0d9"; }
.fa-clipboard-list { --fa: "\f46d"; }
.fa-diagram-project { --fa: "\f542"; }
.fa-envelope { --fa: "\f0e0"; }
.fa-feather-pointed { --fa: "\f56b"; }
.fa-globe { --fa: "\f0ac"; }
.fa-graduation-cap { --fa: "\f19d"; }
.fa-location-dot { --fa: "\f3c5"; }
.fa-magnifying-glass-plus,
.fa-search-plus { --fa: "\f00e"; }
.fa-computer-mouse,
.fa-mouse { --fa: "\f8cc"; }
.fa-moon { --fa: "\f186"; }
.fa-pen-nib { --fa: "\f5ad"; }
.fa-print { --fa: "\f02f"; }
.fa-sun { --fa: "\f185"; }
.fa-trello { --fa: "\f181"; }
.fa-up-right-from-square { --fa: "\f35d"; }

.utility-toggles,
.print-actions,
.modal-utility-toggles {
  position: absolute;
  top: 0;
  z-index: 8;
  display: flex;
  gap: 8px;
  align-items: center;
  transform: translateY(-50%);
}

.utility-toggles,
.modal-utility-toggles {
  left: var(--shared-control-left, clamp(16px, 2vw, 24px));
}

.print-actions {
  right: var(--shared-control-right, clamp(16px, 2vw, 24px));
}

.utility-toggle {
  position: relative;
  display: inline-flex;
  min-height: 38px;
  gap: 8px;
  align-items: center;
  justify-content: center;
  padding: 0 13px;
  border: 0;
  border-radius: var(--card-radius, var(--shared-card-radius));
  appearance: none;
  background:
    var(--shared-panel-gloss),
    var(--shared-panel-bg);
  box-shadow: var(--shared-control-shadow);
  color: var(--shared-control-text);
  cursor: pointer;
  font-family: var(--font-ui);
  font-size: 0.82rem;
  font-weight: 800;
  line-height: 1;
  text-decoration: none;
  text-transform: uppercase;
  transform: scale(1);
  transform-origin: center;
  transition:
    background 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 180ms cubic-bezier(0.16, 1, 0.3, 1);
  will-change: transform;
}

.utility-toggle:hover,
.utility-toggle:focus-visible,
.utility-toggle[aria-current] {
  background: var(--shared-button-hover);
  box-shadow: var(--shared-control-hover-shadow);
  color: #fff;
  outline: none;
  transform: scale(1.06);
}

.utility-toggle:disabled,
.utility-toggle[aria-disabled="true"] {
  cursor: default;
  opacity: 0.48;
  transform: none;
}

.utility-toggle:disabled:hover,
.utility-toggle:disabled:focus-visible,
.utility-toggle[aria-disabled="true"]:hover,
.utility-toggle[aria-disabled="true"]:focus-visible {
  background:
    var(--shared-panel-gloss),
    var(--shared-panel-bg);
  box-shadow: var(--shared-control-shadow);
  color: var(--shared-control-text);
}

.utility-toggle .fa-solid,
.utility-toggle .fa-brands {
  color: var(--shared-accent);
  font-size: 0.95rem;
  transition: color 180ms ease;
}

.utility-toggle:hover .fa-solid,
.utility-toggle:hover .fa-brands,
.utility-toggle:focus-visible .fa-solid,
.utility-toggle:focus-visible .fa-brands,
.utility-toggle[aria-current] .fa-solid,
.utility-toggle[aria-current] .fa-brands {
  color: #fff;
}

.utility-toggle:disabled:hover .fa-solid,
.utility-toggle:disabled:hover .fa-brands,
.utility-toggle:disabled:focus-visible .fa-solid,
.utility-toggle:disabled:focus-visible .fa-brands,
.utility-toggle[aria-disabled="true"]:hover .fa-solid,
.utility-toggle[aria-disabled="true"]:hover .fa-brands,
.utility-toggle[aria-disabled="true"]:focus-visible .fa-solid,
.utility-toggle[aria-disabled="true"]:focus-visible .fa-brands {
  color: var(--shared-accent);
}

.legal-links,
.legal-actions,
.modal-legal-actions {
  position: absolute;
  right: clamp(16px, 2vw, 24px);
  bottom: 0;
  z-index: 8;
  display: flex;
  gap: 8px;
  align-items: center;
  transform: translateY(50%);
}

@media (max-width: 680px) {
  .utility-toggles,
  .modal-utility-toggles {
    left: 16px;
  }

  .print-actions {
    right: 16px;
  }

  .legal-links,
  .legal-actions,
  .modal-legal-actions {
    right: 12px;
    bottom: 12px;
    left: 12px;
    flex-wrap: wrap;
    justify-content: flex-end;
    transform: none;
  }

  .utility-toggle {
    min-height: 34px;
    padding-inline: 11px;
    font-size: 0.72rem;
  }
}

@media print {
  .utility-toggles,
  .print-actions,
  .legal-links,
  .page-legal-links,
  .legal-actions,
  .modal-legal-actions {
    display: none !important;
  }
}
