/* FONTS */
@font-face {
  font-family: "Favorit Bold";
  src: url("fonts/ABCFavoritEdu-Bold.woff2") format("woff2"),
    url("fonts/ABCFavoritEdu-Bold.woff") format("woff");
  font-weight: bold;
  font-style: normal;
}
3 @font-face {
  font-family: "Favorit Regular";
  src: url("fonts/ABCFavoritEdu-Regular.woff2") format("woff2"),
    url("fonts/ABCFavoritEdu-Regular.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

body {
  margin: 0;
  padding: 0;
  font-size: 16px;
  background: white;
}

/* Header + Last Project Button */
.header {
  position: fixed;
  top: 5px;
  left: 50%;
  transform: translateX(-50%);
  font-family: "Favorit Bold", serif;
  font-size: 18px;
  margin: 0;
  z-index: 1000;
  background: none;
  color: black;
  text-align: center;
}

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

.header__last-project {
  display: none; /* wird per JS sichtbar */
  background: none;
  border: none;
  font: inherit;
  cursor: pointer;
  color: black;
  text-transform: uppercase;
}

.side-button {
  position: fixed;
  top: 50%;
  transform: translateY(-50%);
  font-family: "Favorit Bold", sans-serif;
  font-size: 18px;
  background: #d9d9d9;
  color: rgb(0, 0, 0);
  border: none;
  border-radius: 20px;
  padding: 2px;
  width: 275px;
  white-space: nowrap;
  cursor: pointer;
  z-index: 1000;
  box-sizing: border-box;
}

a.side-button {
  text-decoration: none; /* Unterstreichung weg */
  color: inherit; /* Farbe wie bei Button */
  display: inline-block; /* damit width/height greifen */
  text-align: center; /* Text zentrieren */
}

.header__last-project {
  transition: transform 0.2s ease; /* damit es weich animiert */
}

.header__last-project:hover {
  transform: translateY(+2px);
}

.side-button--left {
  left: 10px;
}

.side-button--right {
  right: 10px;
}

h2 {
  margin: 0;
}

a {
  color: black; /* Textfarbe */
  text-decoration: none; /* Unterstreichung weg */
}

section {
  width: 100%;
  height: 100dvh;
  position: relative;
}

.project__infos-inner {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: calc(100% - 570px);
  max-height: 28.5px;
  overflow: hidden;
  transition: max-height 0.5s ease;
  cursor: pointer;
}

.project__infos-inner.active {
  max-height: 100%;
}

.project__infos-inner.active > p {
  opacity: 1;
}

.project__title {
  font-family: "Favorit Bold", sans-serif;
  font-size: 18px;
  background: rgba(34, 34, 0, 0.95);
  color: white;
  border-radius: 20px;
  padding: 2px;
  text-align: center;
  white-space: nowrap;
}

.project__description {
  font-family: "Favorit Regular", sans-serif;
  margin: 6px;
  line-height: 1.29;
  font-size: 18px;
  text-align: center;
  opacity: 0;
  transition: opacity 0.8s ease;
  color: rgb(34, 34, 0);
  z-index: 100000;
}

.project__content {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  width: 100%;
  height: 100vh;
}

.project__content::-webkit-scrollbar {
  height: 0px;
}

.project__content-img {
  flex: 0 0 100vw;
  height: 100vh;
}

.project__content-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.project__next {
  text-decoration: none;
  position: fixed;
  left: 50%;
  bottom: 5px;
  transform: translateX(-50%);
  z-index: 999;
  border: none;
  background: none;
  font-family: "Favorit Bold", serif;
  font-size: 18px;
  color: rgb(34, 34, 0);
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.2s ease;
}

.project__next:hover {
  transform: translateX(-50%) translateY(-2px);
}

.bars {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  gap: 4px; /* Abstand von 4px zwischen den Bars */
  width: 99%;
  max-width: 99%;
  box-sizing: border-box;
  z-index: 1000;
}

.bar {
  display: flex;
  width: 100%;
}

.description_button,
.year_button {
  font-family: "Favorit Bold", sans-serif;
  flex: 0 0 275px;
  font-size: 18px;
  background: #d9d9d9;
  color: rgb(34, 34, 0);
  border: none;
  border-radius: 20px;
  padding: 2px;
  white-space: nowrap;
  cursor: pointer;
  z-index: 1000;
  box-sizing: border-box;
}

.bar {
  display: flex;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

.back-button {
  text-decoration: none;
  position: fixed;
  left: 50%;
  bottom: 5px;
  transform: translateX(-50%);
  z-index: 999;
  border: none;
  background: none;
  font-family: "Favorit Bold", serif;
  font-size: 18px;
  color: black;
  text-transform: uppercase;
  cursor: pointer;
  transition: transform 0.2s ease;
}

/* Vollbild-Vorschau-Bild */
.preview-bg {
  position: fixed;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0; /* hinter den Bars */
  pointer-events: none;
}

.preview-bg.active {
  opacity: 1;
}

/* Vollbild-Vorschau-Bild */
.preview-bg {
  position: fixed;
  inset: 0;
  background-size: cover;
  background-position: center;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0; /* hinter den Bars */
  pointer-events: none;
}

.preview-bg.active {
  opacity: 1;
}

.bar {
  display: flex;
  width: 100%;
  text-decoration: none;
  color: inherit;
}

.mid_bar {
  flex: 1;
  text-align: center;
  font-family: "Favorit Bold", sans-serif;
  font-size: 18px;
  background-color: #d9d9d9; /* normales Grau */
  color: rgb(34, 34, 0); /* Text schwarz im Normalzustand */
  border-radius: 20px;
  padding: 2px;
  white-space: nowrap;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: background-color 0.3s ease, color 0.3s ease;
  cursor: pointer;
}

.mid_bar:hover {
  background-color: rgba(
    34,
    34,
    34,
    0.95
  ); /* echtes Schwarz mit 95% Deckkraft */
  color: #fff; /* Text weiß */
}

body {
  cursor: none;
}
/* Cursor-Grundform */
#cursor {
  position: fixed;
  top: 0;
  left: 0;
  width: 14px;
  height: 14px;
  pointer-events: none;
  z-index: 99999;
  mix-blend-mode: difference;
  transform: translate(-9999px, -9999px);
}

/* Grundlinien — exakt zentriert */
#cursor::before,
#cursor::after {
  content: "";
  position: absolute;
  background: white;
  transition: width 0.18s ease, height 0.18s ease; /* sanfte, gleichmäßige Animation */
}

/* vertikale Linie */
#cursor::before {
  width: 3px;
  height: 16px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* horizontale Linie */
#cursor::after {
  width: 16px;
  height: 3px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* Klick-Effekt */
#cursor.click {
  animation: cursor-click 0.2s ease;
}

@keyframes cursor-click {
  0% {
    transform: translate(var(--tx, 0), var(--ty, 0)) scale(1);
  }
  50% {
    transform: translate(var(--tx, 0), var(--ty, 0)) scale(0.6);
  }
  100% {
    transform: translate(var(--tx, 0), var(--ty, 0)) scale(1);
  }
}

/* ------------------------------------------
   Cursor-Vergrößerung über schwarzem Balken
   — zentriert herauswachsende Animation
------------------------------------------- */

#cursor.hover-title::before {
  height: 22px; /* vertikale Linie wächst aus der Mitte */
}

#cursor.hover-title::after {
  width: 22px; /* horizontale Linie wächst aus der Mitte */
}

/* Standard-Cursor überall deaktivieren */
html,
body,
a,
button,
input,
textarea,
select,
label,
[role="button"],
[type="button"],
[type="submit"] {
  cursor: none !important;
}
