@import "_reset.css";
:root {
  --color-background: #FFF;
  --color-foreground: #000;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-background: #000;
    --color-foreground: #FFF;
  }

}

html, body {
  font-size: 24px;
  line-height: 24px;
  background-color: var(--color-background);
  color: var(--color-foreground);
  font-family: Times , serif;
  font-weight: normal;
  letter-spacing: -.25px;
  margin: 0px;
}


header, footer {
  position: relative;
  z-index: 1000;
  width: 100%;             
}


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

a:hover {
  color: rgb(255, 0, 225);
}

.oben-rechts a {
  text-decoration: none; /* standardmäßig keine Unterstreichung */
  pointer-events: auto;
}

.oben-rechts a.active {
  color: rgb(255, 0, 225);
}


.oben-links {
  position: fixed;
  top: 5px;
  left: 5px;
  text-align: left;
}

.oben-rechts {
  position: fixed;
  top: 5px;
  right: 5px;
  text-align: right;
}

.oben-mitte {
  position: fixed;
  top: 5px;
  text-align: center;
  width: 100%;
}

.zurück,
.zurück_archiv,
.unten-rechts {
  position: fixed;
  bottom: 5px;
  right: 5px;
  text-align: right;
}




/* ===========================
   CV
=========================== */
.text-about {
  margin-top: 80px;
  padding: 0 5px;
  box-sizing: border-box;
}

.cv-container {
  display: table;
  border-collapse: collapse;
  width: 100%;
  padding: 0 5px; 
  box-sizing: border-box;
}

.cv-container .row {
  display: table-row;
}


.col {
  display: table-cell;
  padding: 0 5px; 
  box-sizing: border-box;
}

.col.left {
  width: 50%;
  text-align: left;
}

.col.middle {
  width: 45%; 
}

.col.right {
  width: 5%;  
  text-align: right;
  white-space: nowrap;
}





/* ===========================
swipers
=========================== */
.home-swiper {
  width: 100vw;
  height: 100vh;
}

.home-swiper .swiper-slide {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: auto;
  /* transition: transform 300ms; */
  transition: transform 0.3s ease;
}





/* .home-swiper .swiper-wrapper .swiper-slide:has(~ .swiper-slide-prev) {
  transform: translateZ(0) translateY(25vh) scale(.2);
}

.home-swiper .swiper-wrapper .swiper-slide-prev {
  transform: translateZ(0) translateY(20vh) scale(.6);
} */

/* .home-swiper .swiper-wrapper .swiper-slide-next > *:first-child {
  transform: translateZ(0) translateY(-20vh) scale(.6);
}

.home-swiper .swiper-wrapper .swiper-slide-next + .swiper-slide > *:first-child {
  transform: translateZ(0) translateY(-25vh) scale(.2);
} */

.home-swiper .swiper-slide {
  cursor: none;
}

.home-swiper .swiper-slide img {
  display: flex;
  justify-content: center;
  align-items: center;
  max-width: 85vw;
  width: auto;
  height: 70vh;
  object-fit: contain;
  transition: scale 550ms ease;

}
.home-swiper .swiper-slide img:hover{
  scale: 102%;
} 

.archive-swiper {
  height: 100%;
  width: 100%;
}

.archive-swiper .swiper-slide img {
  max-width: 100vw;
  width: auto;
  height: 100%;
  object-fit: contain;
  object-position: center;
  cursor: pointer;
}

.archive-swiper .swiper-slide {
  width: auto;
}


.project-swiper {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}


.swiper-inactive .swiper-wrapper {
  display: block;
}

.project-swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  width: auto;
}

.project-swiper .swiper-slide img {
  max-width: 90vw;   /* nicht breiter als Viewport */
  max-height: 98%;  /* nicht höher als Viewport */
  object-fit: contain;
}








/* ===========================
hard facts
=========================== */

.project-meta {
    position: fixed;
    width: 33vw;
    bottom: 5px;
    left: 5px;
    opacity: 0;
    transition: opacity 0.6s ease;
}

.project-meta.visible {
    opacity: 1;
}


.project-meta .meta-row {
  display: grid;
  grid-template-columns: 60px auto;
}

.project-meta .label {
  font-weight: normal;
}

.project-meta .value {
  font-weight: normal;
}


/* ===========================
   Archiv (Projects list)
=========================== */
.projects {
  margin: 80px 0px 0 0px;
}

.projects .year {
  text-align: right;
  white-space: nowrap;
}

.projects .row {
  /* display: contents; */
  width: 100%;
  display: grid;
  grid-template-columns: 2fr 1fr 1fr 80px;
  grid-template-rows: auto 0px;
  overflow: hidden;
  transition: grid-template-rows 0.7s ease;
  column-gap: 5px;

}

.projects .row.open {
  grid-template-rows: auto 400px;
  color: rgb(255, 0, 225);
}

.col.images { 
  grid-column: 1 / -1;
  grid-row: 2;         /* <<< force into second row */
  width: auto;
  height: 400px;
  display: flex;
  justify-content: center;
}

.row-hover:hover{
  color: rgb(255, 0, 225);
  cursor: pointer;
}


/* ===========================
Project
=========================== */
.text-project {
  position: fixed;
  top: 0;
  margin: 80px 5px 0 5px;
}


.hard-facts_project{
    position: fixed;
    bottom: 5px;
    left: 5px;
}

.hard-facts_project .meta-row {
  display: grid;
  grid-template-columns: 60px auto;
}

.hard-facts_project .label {
  font-weight: normal;
}

.hard-facts_project .value {
  font-weight: normal;
}

@media screen and (max-width: 680px) {
  .text-project {
    position: relative;
    margin: 60px 5px 5px 5px;
    }

  .hard-facts_project,
  .zurück_archiv {
    position: relative;
  }
}





/* ===========================
Currosr_Bild_alt
=========================== */
img {
  cursor: none; /* versteckt den normalen Cursor */
  position: relative;
}

/* Text, der der Maus folgt */
#custom-cursor {
  position: fixed;
  pointer-events: none; /* verhindert, dass Cursor selbst klickbar ist */
  color: white;
  mix-blend-mode: difference;
  padding: 2px 6px;
  border-radius: 4px;
  white-space: nowrap;
  transform: translate(-50%, -50%);
  display: none; /* standardmäßig versteckt */
  z-index: 2000; /* immer vorne */
}


/* ===========================
RESPONSIVE/DARK
=========================== */

/* body.dark {
  background: #000;
  color: #fff;
}


body.dark header,
body.dark footer,
body.dark .oben-links,
body.dark .oben-mitte,
body.dark .oben-rechts,
body.dark .zurück,
body.dark .unten-rechts {
    background-color: #000;
    color: #fff;
} */

@media screen and (max-width: 1000px) {
  .projects .row {
    grid-template-columns: 2fr 1fr 80px; /* title | medium | year */
  }
  .projects .row .client {
    display: none;
  }
}

@media screen and (max-width: 680px) {
  html, body {
    font-size: 20px;
    line-height: 20px;
  }
  .projects {
    grid-template-columns: 1fr 1fr;
    margin-top: 60px;
  }
   .projects .row {
    grid-template-columns: 2fr 1fr 0px; /* title | year */
  }
  .projects .row .medium {
    display: none;
  }

  .text-about{
    margin-top: 60px;
  }
}

@media screen and (max-width: 480px) {
  .oben-mitte{
    opacity: 0;
  }
  .project-meta {
    width: 50vw;
}
}

