/* --- Basis & Layout --- */
:root {
    /* Definiert eine Basis für Berechnungen, falls nötig */
    font-size: 100%; /* 16px */
}

body {
    margin: 0;
    background-color: #FFB9C7;
    /*  hsl(348, 100%, 86.27%);  als rgb color */    
    font-family: 'Roboto', sans-serif;
    line-height: 1.5;
}

.container-all {
    /* 850px / 16 = 53.125rem */
    max-width: 53.125rem;
    margin: 0 auto;
    padding: 0 1.25rem;
}

.container-all {
    /* Minimum 53rem, wächst mit 80% der Viewportbreite, Maximum 75rem (1200px) */
    max-width: clamp(51rem, 75vw, 64rem);
    margin: 0 auto;
    padding: 0 1.25rem;
}

.container {
    margin: 0 auto;
    padding: 0;
}

/* --- Projekte untereinander --- */
.list {
    display: flex;
    flex-direction: column;
    /* 60px = 3.75rem */
    gap: 3.75rem; 
    margin-top: 1.25rem;
}

.item img, .item video {
    width: 100%;
    height: auto;
    display: block;
    margin-top: 0.625rem; 
    margin-bottom: 0.625rem;
}

/* --- Header Master-Skalierung --- */
.navbar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 1.25rem 0;
    padding: clamp(1rem, 3.3vw, 1.5rem) 0;
    margin-bottom: 1.5rem;
    /* padding-bottom: 1.5rem; */

    position: relative;
    
    /* Skaliert die Basisgröße des Headers proportional */
    font-size: clamp(0.625rem, 3.12vw, 1.125rem); 
}

#menu-toggle {
    display: none;
}

.menu-wrapper {
    margin-top: 0;
}

.hamburger {
    display: flex;
    flex-direction: column;
    gap: 0.3em; 
    cursor: pointer;
    z-index: 15;
    position: relative; /* Das sorgt dafür, dass das X über dem Overlay liegt! */
}

.hamburger span {
    width: 2.3em; 
    height: 0.5em;
    background: hsl(343.85, 100%, 78%);
    transition: 0.3s ease;
}

/* --- 2. Hover-Effekt (Desktop) für BEIDE Zustände --- */
@media (hover: hover) {
    /* Normaler Hover (wenn geschlossen) */
    .hamburger:hover span {
        background: #606;
    }
    
    /* Hover wenn das Menü offen ist (X wird beim Hover violett) */
    #menu-toggle:checked ~ .hamburger:hover span {
        background: #606;
    }
}

/* --- Hamburger Animation (X) --- */
#menu-toggle:checked ~ .hamburger span {
    background: hsl(343.85, 100%, 92%); /* Deutlich helleres Rosa/Weißlich */
}

/* translateY = (Höhe 0.5em + Gap 0.3em) */
#menu-toggle:checked ~ .hamburger span:nth-child(1) {
    transform: translateY(0.8em) rotate(45deg);
}

#menu-toggle:checked ~ .hamburger span:nth-child(2) {
    opacity: 0;
}

#menu-toggle:checked ~ .hamburger span:nth-child(3) {
    transform: translateY(-0.8em) rotate(-45deg);
}

/* Wenn das Menü offen ist, fade das Overlay ein */
#menu-toggle:checked ~ .menu-overlay {
    opacity: 1;
    visibility: visible;
}

/* Dropdown Menü Style mit Fade-In Animation */
.nav-links {
    /* Anstatt display: none nutzen wir Sichtbarkeit und Deckkraft */
    display: flex;             /* Immer flex, damit die Animation greift */
    opacity: 0;                /* Unsichtbar */
    visibility: hidden;        /* Verhindert Klicks im unsichtbaren Zustand */
    pointer-events: none;      /* Sicherheitshalber Klicks deaktivieren */
    
    transform: translateY(-1rem); /* Startet ein Stück weiter oben */
    transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s;

    list-style: none;
    margin: 0;
    padding: 2rem 3rem;
    position: absolute;
    top: 5.3rem;
    right: 0;
    background-color: hsl(348, 100%, 86.27%);
    flex-direction: column;
    gap: 1.2rem;
    z-index: 10;
    box-shadow: 0.125rem 0.25rem 1.25rem rgba(0,0,0,0.25);
    text-align: center;
}

/* Zeige Menü wenn Checkbox aktiv */
#menu-toggle:checked ~ .nav-links {
    opacity: 1;                /* Voll sichtbar */
    visibility: visible;       /* Klickbar machen */
    pointer-events: auto;      /* Klicks erlauben */
    transform: translateY(0);  /* Gleitet an die Zielposition */
}

/* Das Overlay-Styling mit Fade-In Animation */
.menu-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background-color: rgba(0, 0, 0, 0.17); /* Dezent dunkler Hintergrund */
/*     background-color: rgba(255, 143, 175, 0.5); */
    /* Animation-Setup */
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s;
    
    z-index: 5; /* Hinter dem Menü (z-index 10) */
    cursor: default;
}

/* --- Typography & Fonts --- */
/* Hier deine @font-face Definitionen einfügen (Roboto, Figtree) */
/* roboto-200 - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: normal;
  font-weight: 200;
  src: url('fonts/roboto-v50-latin-200.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}
/* roboto-200italic - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Roboto';
  font-style: italic;
  font-weight: 200;
  src: url('fonts/roboto-v50-latin-200italic.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

/* Figtree - latin */
@font-face {
  font-display: swap; /* Check https://developer.mozilla.org/en-US/docs/Web/CSS/@font-face/font-display for other options. */
  font-family: 'Figtree';
  font-style: normal;
  font-weight: 850;
  src: url('fonts/figtree-v9-latin-850.woff2') format('woff2'); /* Chrome 36+, Opera 23+, Firefox 39+, Safari 12+, iOS 10+ */
}

.text {
    font-family: 'Roboto', sans-serif;
    font-weight: 200;
    color: #606;
    /* 20px bis 28px */
    font-size: clamp(1.4rem, 6.5vw, 1.9rem);     
    line-height: 1.35;
    margin: 0.4rem 0;
}

.text p {
    margin-top: 1.6rem;           /* Verhindert unnötigen Platz nach oben */
    margin-bottom: 1.6rem;    /* Erzeugt eine schöne Lücke zum nächsten Absatz */
}

.textunter {
    line-height: 1.2;
    margin-bottom: 1.2rem;
}

.nosp {
    display: none;
}

.headlogo {
    font-family: 'Figtree', sans-serif;
    font-weight: 850;
    color: hsl(348, 100%, 94.5%);
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    font-size: 3.1em; 
    line-height: 1.2;
}

.headbold {
    font-family: 'Figtree', sans-serif;
    font-weight: 850;
    color: #FFF;
    /* 30px bis 45px */
    font-size: clamp(2.3rem, 6.5vw, 3.1rem); 
    line-height: 1.1;
}

.lightbold {
    color: hsl(348, 100%, 94.5%);
}

.textlist {
    list-style-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" width="5" height="10"><circle fill="white" cx="5" cy="" r="4"/></svg>');
    padding-inline-start: 0.3rem;
    margin-top: 0.3125rem;
    margin-bottom: 2rem;
    max-width: 40rem;
}

li {
 margin: 0.4rem;
}

/* --- Links Styling --- */
/* Gemeinsame Link-Stile für bessere Wartbarkeit */
.text a {
    text-decoration: underline;
    text-decoration-color: hsl(348, 100%, 90.3%);
    text-decoration-thickness: 0.375rem;
    text-decoration-skip-ink: auto;
    color: #606;
    transition: all 0.2s ease;
}

.text a:active {
    color: #ffffff;
    text-decoration-color: hsl(343.85, 100%, 83.6%);
}

/* 2. Hover-Effekt NUR für Desktop (Maus-Geräte) */
@media (hover: hover) {
    .text a:hover {
        color: #ffffff;
        text-decoration-color: hsl(343.85, 100%, 83.6%);
    }
}

.headbold a {
    text-decoration: none;
    color: #ffffff;
}

.headlogo a {
    text-decoration: none;
    color: hsl(348, 100%, 94.5%);
}

/* 1. Der Klick-Effekt (Active) für alle Geräte */
:is(.headbold, .headlogo) a:active {
    color: #606;
    text-decoration: underline;
    text-decoration-color: hsl(343.85, 100%, 81.6%);
    text-decoration-thickness: 0.375rem;
}

/* 2. Der Hover-Effekt NUR für Computer mit Maus */
@media (hover: hover) {
    :is(.headbold, .headlogo) a:hover {
        color: #606;
        text-decoration: underline;
        text-decoration-color: hsl(343.85, 100%, 81.6%);
        text-decoration-thickness: 0.375rem;
    }
}

.space-overview {
    margin: 0.3rem 0;
}

.space-single {
    margin-top: 1rem;
    margin-bottom: 1.3rem;


}