/* Kombiniertes CSS */
/* ----------------------------
       📍 RESET SHEET 📍
----------------------------- */

/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
  font-weight: normal;
  font-size: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  font-smoothing: antialiased;
  -webkit-font-smoothing: antialiased;
  text-shadow: rgba(0, 0, 0, 0.01) 0 0 1px;
}

/* Remove default margin in favour of better control in authored CSS */
* {
  margin: 0;
  padding: 0;
  font: inherit;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role="list"],
ol[role="list"],
ul,
ol {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100svh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1,
h2,
h3,
h4,
button,
input,
label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1,
h2,
h3,
h4 {
  text-wrap: balance;
}

/* A elements that don't have a class get default styles */
a:not([class]),
a {
  text-decoration-skip-ink: auto;
  color: currentColor;
  text-decoration: none;
}

/* Remove default styles of buttons */
button,
input[type="submit"],
input[type="reset"] {
  background: none;
  color: currentColor;
  border: none;
  font: inherit;
  cursor: pointer;
  outline: inherit;
}

/* Make images easier to work with */
img,
picture,
svg,
video {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font-family: inherit;
  font-size: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}

/* ----------------------------------
     ⛲️ @font-face DECLARATIONS ⛲️
----------------------------------- */

/* NEW EDGE 666 */
@font-face {
  font-family: "NewEdge666-LightRounded";
  src: url(/assets/fonts/NewEdge666-LightRounded.otf) format(opentype);
}

@font-face {
  font-family: "NewEdge666-LightRoundedSlanted";
  src: url(/assets/fonts/NewEdge666-LightRoundedSlanted.otf) format(opentype);
  font-style: italic;
}

/* MRS EAVES */
@font-face {
  font-family: "MrsEavesNarrow-Regular";
  src: url(/assets/fonts/MrsEavesXLSerNarOT-Reg.otf) format(opentype);
}

@font-face {
  font-family: "MrsEavesNarrow-RegularItalic";
  src: url(/assets/fonts/MrsEavesXLSerNarOT-RegItalic.otf) format(opentype);
  font-style: italic;
}

/* APPLE SYMBOLS */
@font-face {
  font-family: "Apple-Symbols";
  src: url(/assets/fonts/Apple-Symbols.ttf) format(truetype);
}

/* MONACO */
@font-face {
  font-family: "Monaco";
  src: url(/assets/fonts/Monaco.ttf) format(truetype);
}

/* WINGDINGS */
@font-face {
  font-family: "Wingdings";
  src: url(/assets/fonts/Wingdings-2.ttf) format(truetype);
}

/* SAN FRANCISCO */
@font-face {
  font-family: "SF";
  src: url(/assets/fonts/SF-Pro.ttf) format(truetype);
}

/* ARIAL */
@font-face {
  font-family: "Arial-Regular";
  src: url(/assets/fonts/Arial.ttf) format(truetype);
}

@font-face {
  font-family: "Arial-Italic";
  src: url(/assets/fonts/Arial-Italic.ttf) format(truetype);
}

@font-face {
  font-family: "Arial-Bold";
  src: url(/assets/fonts/Arial-Bold.ttf) format(truetype);
}

@font-face {
  font-family: "Arial-Rounded";
  src: url(/assets/fonts/Arial-Rounded-Bold.ttf) format(truetype);
}

/* ----------------------------
          🚨 ROOT 🚨
----------------------------- */
:root {
  /* FARBEN */
  --red: #f74646;
  --dark-red: #c72531;
  --purple: #992cff;
  --dark-purple: #6228a3;
  --green: #96ff8c;
  --dark-green: #118163;
  --blue: #221bd7;
  --dark-blue: #0d1461;
  --orange: #ff8700;
  --dark-orange: #8a4800;
  --gelb: #fff93d;
  --black: #000000;
  --hintergrund: #af95d2;
  --header-bg-light: #f6f6f6;
  --header-bg-dark: #2f2e31;
  --pink: #ff00f0;
  --dark-pink: #85055e;
  --CRT-green: #92bca5;

  /* FONTS */
  --newEdgeLight: "NewEdge666-LightRounded";
  --newEdgeLightSlanted: "NewEdge666-LightRoundedSlanted";
  --MrsEavesRegular: "MrsEavesNarrow-Regular";
  --MrsEavesRegularItalic: "MrsEavesNarrow-RegularItalic";
  --appleSymbols: "Apple-Symbols";
  --arialReg: "Arial-Regular";
  --arialIta: "Arial-Italic";
  --arialBold: "Arial-Bold";
  --arialRounded: "Arial-Rounded";
  --wingdings: "Wingdings";
  --SF: "SF";
}

/* ----------------------------
       🧪 BASE STYLES 🧪
----------------------------- */
body {
  /* margin: 0 1.5vw 1.5vw 1.5vw; */
  overflow-x: hidden;
  scroll-behavior: smooth;
}

/* -----------------------------
        🌱 TYPOGRAPHY 🌱
----------------------------- */

/* ----------------------------
          🗣️ HEADER 🗣️
----------------------------- */

/* Wenn der Nutzer Light Mode eingestellt hat */
@media (prefers-color-scheme: light) {
}

/* Wenn der Nutzer Dark Mode eingestellt hat */
@media (prefers-color-scheme: dark) {
}

/* ----------------------------
         🦶🏻 FOOTER 🦶🏻
----------------------------- */
@media (prefers-color-scheme: light) {
}

/* Wenn der Nutzer Dark Mode eingestellt hat */
@media (prefers-color-scheme: dark) {
}

/* ----------------------------
        🧭 NAVIGATION 🧭
----------------------------- */
.dock-nav-wrapper {
  width: 100svw;
  height: 100px;
  position: absolute;
  bottom: 5px;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  font-family: var(--SF);
  z-index: 9999;
}

.dock-nav {
  height: 80px;
  width: fit-content;
  position: relative;
  padding: 1px 12px;
  border-radius: 22px;
  background-color: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(10px);
  /* border: 0.3px solid white; */
  box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 0px 20px -5px rgba(0, 0, 0, 0.3);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.dock-left {
  display: flex;
  align-items: center;
  gap: 15px;
  padding-bottom: 6px;
}

.dock-right {
  display: flex;
  align-items: center;
  gap: 17px;
}

.dock-right img {
  height: 65px;
  width: auto;
}

.dock-left img {
  height: 55px;
  width: auto;
}

.trenner {
  height: 60px;
  width: 10px;
  border-right: 1px solid black;
}

.dock-bin-tp {
  z-index: 9999;
}

/* Container der App-Icons wird Referenz für den Tooltip */
[data-app-id] {
  position: relative;
  display: flex;
  justify-content: center;
}

/* Tooltip unsichtbar standardmäßig */
.tooltip {
  position: absolute;
  top: -50px;
  left: 50%;
  transform: translate(-50%, 10px);
  padding: 3px 13px;
  border-radius: 5px;
  background-color: rgba(255, 255, 255, 0.7);
  font-size: 0.9rem;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition:
    opacity 0.15s ease,
    transform 0.15s ease;
}

/* Tooltip erscheint über Icon beim Hover */
[data-app-id]:hover .tooltip,
[data-app-id].drag-hover .tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}

/* ----------------------------
       🏠 HOME STYLES 🏠
----------------------------- */
.hidden {
  display: none !important;
}

.bold {
  font-weight: bold;
}

.bolder {
  font-weight: bolder;
}

.no-select {
  user-select: none;
}

.desktop {
  width: 100svw;
  height: 100svh;
  overflow: hidden;
  background-image: url(/assets/media/mojave-wallpaper.webp);
  background-size: cover;
  font-family: var(--SF);
}

.desktop-task-bar {
  width: 100%;
  height: 25px;
  padding: 0 20px;
  /* overflow: hidden; */
  background-color: rgba(84, 84, 84, 0.3);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: white;
  position: relative;
  z-index: 999;
}

.task-bar-left,
.task-bar-right {
  display: flex;
  text-transform: capitalize;
}

.apple-logo {
  width: 13px;
  height: auto;
}

.page-title {
  padding: 0 10px 0 20px;
  cursor: default;
}

.task-bar-right img {
  height: 13px;
  width: auto;
  margin-top: 3.5px;
}

.task-bar-nav {
  padding: 0 10px;
  border-radius: 3px;
}

.task-bar-nav:hover {
  background-color: rgba(129, 129, 129, 0.3);
}

.menu-item {
  position: relative;
  display: inline-block;
}

/* Basis-Dropdown-Stil */
.dropdown {
  width: 285px;
  height: 320px;
  position: absolute;
  top: 100%; /* direkt unter dem Trigger */
  margin-top: 6px;
  overflow: hidden;
  font-weight: 550;
  hyphens: auto;
  text-transform: none;
  background-color: rgba(227, 227, 227, 0.9);
  backdrop-filter: blur(10px);
  border: 1px solid #ccc;
  border-radius: 7px;
  color: grey;
  z-index: 1000;

  display: none;
}

/* Linke Taskbar: Dropdown öffnet sich nach rechts */
.task-bar-left .menu-item .dropdown {
  left: 0; /* links bündig zum Icon */
  right: auto;
}

/* Rechte Taskbar: Dropdown öffnet sich nach links */
.task-bar-right .menu-item .dropdown {
  right: 0; /* rechts bündig zum Icon */
  left: auto;
}

.dropdown-designring {
  width: 250px;
  height: 55px;
}

.dropdown-kontrollzentrum {
  height: 130px;
  padding-top: 1px;
  background-color: rgba(227, 227, 227, 0.6);
}

.scroll-content {
  max-height: 320px;
  overflow-y: auto;
  padding: 7px 10px 10px 10px;
}

.menu-item.open .dropdown {
  display: block;
}

hr {
  border: none;
  border-top: 0.1px solid grey;
  margin: 10px 0;
}

.design-ring-wrapper {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
}

.design-ring-wrapper h5 {
  color: black;
}

.hover-color:hover {
  color: #018df0;
}

.volume-wrapper,
.close-all-wrapper {
  padding: 5px;
}

.volume,
.close-all {
  height: 60px;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 7px;
  padding: 5px 10px;
  border-radius: 10px;
  background-color: rgba(218, 217, 217, 0.6);
  backdrop-filter: blur(10px);
}

.volume label {
  width: 100%;
  color: black;
}

.volume input[type="range"] {
  -webkit-appearance: none;
  width: 100%;
  height: 20px; /* Track-Höhe etwas größer als Thumb */
  border-radius: 10px; /* Abgerundete Ecken */
  background: linear-gradient(to right, #ffffff 50%, rgba(0, 0, 0, 0.1) 50%);
  outline: none;
  cursor: pointer;
  padding: 0;
}

/* Thumb */
.volume input[type="range"]::-webkit-slider-thumb {
  -webkit-appearance: none;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  margin-top: -1px; /* Zentriert den Thumb in der Track-Box */
  transition: transform 0.2s;
}

/* Hover Effekt */
.volume input[type="range"]::-webkit-slider-thumb:hover {
  transform: scale(1.1);
}

/* Firefox */
.volume input[type="range"]::-moz-range-thumb {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: #ffffff;
  border: 1px solid rgba(0, 0, 0, 0.2);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

/* Track Dynamisch anpassen */
.volume input[type="range"]::-webkit-slider-runnable-track {
  border-radius: 10px;
  height: 100%;
}

/* Für Firefox */
.volume input[type="range"]::-moz-range-track {
  border-radius: 10px;
  height: 100%;
  background: transparent;
}

.close-all {
  font-size: 1.2rem;
  text-align: center;
  height: 45px;
}

.close-all p {
  width: 100%;
}

/* ------------------------
 MODAL
 ------------------------ */
#modal-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 997; /* unter Modal, aber über allem anderen */
  display: none;
}

.modal {
  position: fixed;
  inset: 0;
  z-index: 998;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-top: -150px;
  /* display: none; REMOVE */
}

.modal-content-wrapper {
  background-color: rgb(217, 217, 217);
  border-radius: 7px;
  text-align: center;
  width: 400px;
  height: 150px;
  display: grid;
  grid-template-columns: 0.5fr 2fr;
  grid-template-rows: 1fr 2fr;
  position: relative;
  border: 0.5px solid grey;
  border-radius: 7px;
  font-size: 0.9rem;
}

.modal-tab-bar {
  width: 100%;
  height: 25px;
  background-color: rgb(189, 189, 189);
  position: absolute;
  border-bottom: 0.5px solid grey;
  border-radius: 7px 5px 0 0;
}

.modal-content-wrapper h3 {
  margin-top: 40px;
  grid-column: 1/3;
  grid-row: 1/2;
  text-align: left;
  padding: 5px 0 0 90px;
}

.modal-content-left {
  grid-column: 1/2;
  grid-row: 1/3;
  padding: 10px;
  padding: 0 0 10px 20px;
}

.modal-content-right {
  grid-column: 2/3;
  grid-row: 2/3;
}

.modal-content-left img {
  width: 50px;
  height: auto;
  margin-top: 55px;
}

.modal input {
  width: 90%;
  padding: 3px;
  margin: 10px 10px 0 0;
  border: none;
  border-radius: 3px;
}

.modal button {
  margin-top: 10px;
  padding: 0px 35px;
  border: none;
  border-radius: 5px;
  background: #018df0;
  color: white;
  cursor: pointer;
  font-weight: bold;
  background: linear-gradient(to bottom, #59a7fb 0%, #006aff 100%);
  position: absolute;
  bottom: 15px;
  right: 20px;
}

.spotlight {
  width: 600px;
  height: 55px;
  border-radius: 17px;
  position: absolute;
  z-index: 90;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin-top: -150px;
  padding: 8px 9px 10px 15px;
  background-color: rgba(237, 237, 237, 0.8);
  backdrop-filter: blur(10px);
  box-shadow: 0px 0px 30px -5px rgba(0, 0, 0, 0.3);
  -webkit-box-shadow: 0px 0px 30px -5px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 0px 30px -5px rgba(0, 0, 0, 0.3);
  color: grey;
  font-size: 1.7rem;
  display: flex;
  align-items: center;
  user-select: none; /* verhindert Markieren in allen modernen Browsern */
  -webkit-user-select: none; /* für Safari */
  -moz-user-select: none; /* für Firefox */
  -ms-user-select: none; /* für IE/Edge */
  cursor: text;
  display: none;
}

.spotlight img {
  width: auto;
  height: 21px;
  margin-bottom: -2px;
  padding-right: 5px;
}

.new-text {
  color: black; /* Farbe des neuen Textes */
  display: inline-block;
}

.cursor {
  display: inline-block;
  position: relative;
  margin-left: 1px;
}

.cursor::after {
  content: "|";
  animation: blink 1s steps(2, start) infinite;
}

@keyframes blink {
  0%,
  50% {
    opacity: 1;
  }
  50.01%,
  100% {
    opacity: 0;
  }
}

#usernameLabel {
  text-transform: uppercase;
}

/* ------------------------
 LAUNCHPAD
 ------------------------ */
#launchpad-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  overflow: hidden;
  backdrop-filter: blur(40px);
  display: flex;
  justify-content: center;
  align-items: center;
  opacity: 0;
  transform: scale(0.95);
  pointer-events: none;
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
  z-index: 9999;
}

/* When active */
#launchpad-overlay.active {
  opacity: 1;
  transform: scale(1);
  pointer-events: auto;
}

/* Launchpad content box */
#launchpad-content {
  text-align: center;
  color: white;
  max-width: 500px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

#launchpad-content h4 {
  font-size: 2rem;
  text-shadow: 0px 0px 15px rgba(80, 80, 80, 0.8);
}

#launchpad-content p {
  font-size: 1.2rem;
  text-shadow: 0px 0px 15px rgba(80, 80, 80, 0.8);
}

/* App button */
.app {
  width: 60%;
  margin-top: 15px;
  padding: 15px 30px;
  background-color: rgba(194, 194, 194, 0.6);
  border-radius: 12px;
  border: 0.3px solid white;
  cursor: pointer;
  user-select: none;
  font-size: 1.5rem;
  font-weight: 500;
  color: white;
  text-shadow: 0px 0px 15px rgba(80, 80, 80, 0.8);
  box-shadow: 0 0 0 rgba(255, 255, 255, 0.3);
  animation: pulse 2s infinite ease-in-out;
  transition:
    background 0.3s,
    box-shadow 0.3s,
    transform 0.2s;
}

/* Pulse animation */
@keyframes pulse {
  0% {
    box-shadow: 0 0 0 rgba(250, 116, 255, 0.5);
    transform: scale(1);
  }
  50% {
    box-shadow: 0 0 25px rgba(250, 116, 255, 0.75);
    transform: scale(1.02);
  }
  100% {
    box-shadow: 0 0 0 rgba(250, 116, 255, 0.5);
    transform: scale(1);
  }
}

/* Hover effect */
.app:hover {
  background-color: rgba(242, 242, 242, 0.6);
  box-shadow: 0 0 30px rgba(255, 255, 255, 0.8);
  transform: scale(1.05);
}

/* ------------------------
 SYSTEM UPDATE NOTIFICATION
 ------------------------ */
.system-update-wrapper {
  width: 350px;
  height: 67px;
  position: absolute;
  z-index: 999;
  right: -361px;
  /* right: 10px; FÜR ANIMATION LÖSCHEN! */
  top: 50px;
  background-color: rgba(237, 237, 237, 1);
  box-shadow: 0px 0px 30px 10px rgba(22, 22, 22, 0.3);
  -webkit-box-shadow: 0px 0px 30px 10px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0px 0px 30px 10px rgba(0, 0, 0, 0.3);
  border-radius: 8px;
  display: grid;
  grid-template-columns: 2fr 0.6fr;
  grid-template-rows: 1fr 1fr;
  color: grey;
  font-size: 0.85rem;

  /* display: none; REMOVE */
}

@keyframes slideIn {
  from {
    right: -361px;
  }
  to {
    right: 10px;
  }
}

@keyframes slideOut {
  from {
    right: 10px;
  }
  to {
    right: -361px;
  }
}

.slide-out {
  animation: slideOut 0.3s ease-out forwards;
}

.slide-in {
  animation: slideIn 0.3s ease-out forwards;
}

.system-update-content-left {
  grid-column: 1/2;
  grid-row: 1/3;
  border-right: 0.5px solid grey;
  display: flex;
  align-items: center;
  font-size: 0.8rem;
}

.system-update-content-left img {
  width: 40px;
  height: auto;
  margin-left: 13px;
}

.system-update-content-left div {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  padding: 3px 12px;
}

.update-header {
  font-weight: bold;
  margin-bottom: 3px;
}

.update-text {
  line-height: 1rem;
}

.system-update-content-right {
  grid-column: 2/3;
  grid-row: 1/3;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}

.system-update-content-right div {
  width: 100%;
  text-align: center;
}

.border {
  width: 100%;
  border-bottom: 0.5px solid grey;
}

.cta-btn {
  padding-top: 4px;
}

.close-btn {
  padding-bottom: 4px;
}

/* ------------------------
 DESKTOP
 ------------------------ */
.hd-icon {
  width: 60px;
  height: auto;
  position: absolute;
  top: 55px;
  right: 35px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

.hd-icon img {
  padding-left: 7px;
}

.folder-1 {
  width: 75px;
  height: auto;
  position: absolute;
  top: 11svw;
  left: 9svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

.folder-2 {
  width: 75px;
  height: auto;
  position: absolute;
  top: 5svw;
  left: 18svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

.folder-3 {
  width: 75px;
  height: auto;
  position: absolute;
  top: 15svw;
  left: 22svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

.folder-4 {
  position: absolute;
  top: 8svw;
  right: 23svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

.folder-5 {
  position: absolute;
  top: 14svw;
  right: 12svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

.folder-6 {
  position: absolute;
  top: 23svw;
  right: 39svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

.folder-7 {
  position: absolute;
  top: 28svw;
  right: 28svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
}

/* .folder-8 {
  position: absolute;
  top: 28svw;
  left: 33svw;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  font-weight: bold;
} */

.folder-img {
  width: 75px;
  height: auto;
}

.pointer:hover {
  cursor: pointer;
}

.folder-text {
  width: 110%;
  color: white;
  font-size: 0.9rem;
  line-height: 1.1rem;
  font-family: var(--SF);
  text-align: center;
  padding-top: 7px;
}

/* --------------------
* POP UP MEDIA WINDOWS
* ------------------- */
.preview-window {
  background-color: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(10px);
  border-radius: 12px;
  padding: 35px 3px 3px 3px;
  position: absolute;
  z-index: 99;
  cursor: grab;
  pointer-events: auto;
}

.window-content {
  width: 100%;
  height: 100%;
  border-radius: 7px;
  cursor: default;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  padding: 0;
  margin: 0;
  background-color: rgba(200, 200, 200, 1);
}

.window-content img,
.window-content video {
  width: 100%;
  height: 100%;
  display: block;
  margin: auto; /* zentriert horizontal */
  object-fit: contain; /* skaliert, ohne das Bild zu beschneiden */
}

.tab-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.tab-left {
  width: 100%;
  display: flex;
  align-items: center;
}

.close {
  width: 13px;
  height: 13px;
  border-radius: 10px;
  background-color: grey;
  position: absolute;
  top: 12px;
  left: 15px;
}

.close:hover {
  background: #ff5f57;
  cursor: pointer !important;
}

.maximize {
  width: 13px;
  height: 13px;
  border-radius: 10px;
  background-color: grey;
  position: absolute;
  top: 12px;
  left: 37px;
}

.maximize:hover {
  background-color: rgb(97, 207, 24);
  cursor: pointer;
}

.file-name {
  position: absolute;
  top: 7px;
  left: 60px;
  font-weight: bold;
  font-size: 0.95rem;
  user-select: none;
  width: 100%;
  text-align: left;
}

/* --------------------
* WEALTH CALCULATOR
* ------------------- */
/*--------- SLIDE 1 ---------*/
.wealth-calculator {
  width: 750px;
  height: 550px;
  background-color: rgba(255, 255, 255, 0.7);
  border-radius: 12px;
  margin-top: -7svh;
  padding: 35px 3px 3px 3px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 99;
  /* cursor: grab; */
}

.wc-border {
  width: 95%;
  height: 91%;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  position: absolute;
  border: 5px dotted #17ad76;
  border-radius: 30px;
  z-index: 0;
}

.wealth-calc-content-wrapper {
  width: 100%;
  height: 100%;
  border-radius: 0 0 7px 7px;
  cursor: default;
  background: rgba(236, 236, 236, 0.85);
  padding: 30px 50px;
  font-size: 1.3rem;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}

.wealth-calc-content {
  width: 100%;
  height: 100%;
  margin: 80px 0px;
  padding-top: 20px;
  padding-left: 10px;
  padding-right: 10px;
}

.slide-title {
  display: flex;
  justify-content: center;
  font-weight: bold;
}

.billionaire-selection {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(4, 1fr);
  gap: 15px;
  margin-top: 30px;
  position: relative;
  z-index: 2;
}

.billionaire {
  width: 100%;
  max-width: 310px;
  height: 65px;
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 1.1rem;
}

.tech-bro-wrapper {
  display: grid;
  grid-template-rows: 1fr 1fr;
  width: 100%;
  justify-content: center;
  background: #17ad76;
  color: white;
  border-radius: 12px;
  padding: 7px 10px 9px 10px;
  text-align: center;
}

.tech-bro-wrapper span {
  font-size: 0.9rem;
  font-style: italic;
}

.tech-bro {
  transition: font-weight 0.1s;
}

.tech-bro:hover {
  font-weight: bolder;
  cursor: pointer;
}

/*--------- SLIDE 2 ---------*/
.work-data-slide {
  width: 100%;
  height: 100%;
  margin: 80px 30px;
  padding-top: 10px;
  border-radius: 0 0 7px 7px;
  cursor: default;
  font-size: 1.3rem;
  display: flex;
  flex-wrap: wrap;
}

.work-data-content {
  margin-top: 66px;
  position: relative;
  z-index: 2;
}

.label-wrapper {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.work-data-slide p {
  width: 100%;
  height: fit-content;
}

.work-data-info {
  font-size: 0.9rem;
  padding-top: 40px;
}

input[type="number"] {
  margin-left: 10px;
  padding: 2px 10px;
  width: 100px;
  border-radius: 15px;
  border: 1px solid #17ad76;
  font-size: 1.15rem;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

/*--------- SLIDE 3 ---------*/
.result-slide {
  margin-top: -80px;
}

.slide-drei-title {
  font-weight: bold;
}

#result-text {
  font-size: 1.2rem;
  line-height: 1.5;
  color: #333;
  margin-top: 12px;
  white-space: pre-line; /* Zeilenumbrüche werden übernommen */
  position: relative;
  z-index: 2;
}

.currency-toggle-global {
  position: fixed;
  bottom: 52px;
  left: 63px;
  display: flex;
  align-items: center;
  z-index: 2;
}

.switch {
  position: relative;
  display: inline-block;
  width: 47px;
  height: 23px;
  margin-right: 10px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #ccc;
  transition: 0.4s;
  border-radius: 34px;
}

.slider:before {
  position: absolute;
  content: "";
  height: 18px;
  width: 18px;
  left: 3.5px;
  bottom: 2.5px;
  background-color: white;
  transition: 0.4s;
  border-radius: 50%;
}

input:checked + .slider {
  background-color: #3493f8;
}

input:checked + .slider:before {
  transform: translateX(22px);
}

button {
  font-size: 1rem;
  margin-top: 10px;
  padding: 1px 35px 4px 35px;
  border: none;
  border-radius: 10px;
  background: #018df0;
  color: white;
  cursor: pointer;
  font-weight: bold;
  background: linear-gradient(to bottom, #59a7fb 0%, #006aff 100%);
  position: absolute;
  right: 60px;
  bottom: 48px;
}

#calculate-button {
  right: -27px;
  bottom: 18px;
}

button:hover {
  background-color: #0056b3;
}

/* --------------------
* DRAGGABLE WINDOWS
* ------------------- */
#desktop {
  position: relative;
  width: 100%;
  height: calc(100% - 25px); /* Höhe minus Taskbar */
  inset: 0;
  pointer-events: none;
}

/* --------------------
* Fake Safari
* ------------------- */
.fake-browser {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: white;
}

.browser-bar {
  height: 36px;
  display: flex;
  align-items: center;
  padding: 3px 5px;
  gap: 10px;
  /* color: #ccc; */
  font-size: 13px;
  flex-shrink: 0;
  margin-top: 2px;
}

.url {
  width: 100%;
  height: 100%;
  background: #dadada;
  padding: 5px 0px 0px 30px;
  border-radius: 20px;
  font-weight: 600;
  color: rgb(84, 84, 84);
}

.browser-frame {
  flex: 1;
  width: 100%;
  border: none;
  background: white;
}

/* ----------------------------
         📦 IMPRINT 📦
----------------------------- */

/* Datei nicht gefunden: assets/css/layout/about.css */
