/* Mobile- und Tablet-Anpassungen */
@media (max-width: 768px) {
  /* Reduziere die Kartenbreite und Abstände */
  .karteikarte {
    width: 100%; /* Karten nutzen die volle Breite */
    margin-bottom: 15px;
  }

  /* Reduziere den Abstand zwischen den Karten */
  .container {
    gap: 15px;
    padding: 10px;
  }

  /* Passe den Header an kleinere Geräte an */
  h1 {
    font-size: 2em; /* Verkleinere die Schriftgröße */
    margin: 15px 0;
  }

  /* Eingabefelder und Buttons */
  .input-group {
    flex-direction: column; /* Elemente stapeln sich vertikal */
    gap: 10px;
  }

  .input-group input,
  .input-group button {
    width: 90%; /* Breite reduziert, damit es besser in den Screen passt */
  }

  /* Suchfeld */
  .search-input {
    width: 90%; /* Gleiche Anpassung wie für die Eingabefelder */
  }
}

@media (max-width: 480px) {
  /* Noch kleinere Anpassungen für Handys */
  h1 {
    font-size: 1.8em;
  }

  .karteikarte {
    padding: 15px;
  }

  .upload-photo,
  .delete-list,
  .restore-list,
  .delete-permanently {
    font-size: 14px; /* Buttons kleiner */
    padding: 8px;
  }

  .restore-list,
  .delete-permanently {
    width: 100%; /* Buttons auf voller Breite */
  }

  .deletedListsContainer {
    gap: 10px;
  }
}
/* Allgemeine Einstellungen */
/* Allgemeine Einstellungen */
body {
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  margin: 0;
  padding: 0;
  background-color: #f3e8ff; /* Sanftes Violett */
  color: #333;
}

/* Header */
h1 {
  text-align: center;
  margin: 20px 0;
  font-size: 2.5em;
  color: #4CAF50;
  font-weight: bold;
}

/* Eingabefeld-Gruppe */
.input-group {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 15px;
  margin: 20px;
}

.input-group input,
.input-group button {
  padding: 12px 16px;
  font-size: 16px;
  border: 1px solid #ccc;
  border-radius: 8px;
  transition: all 0.3s ease;
}

/* Eingabefelder und Buttons */
.input-group input:focus,
.input-group button:focus {
  outline: none;
  border-color: #4CAF50;
}

.input-group button {
  background-color: #4CAF50;
  color: white;
  border: none;
  cursor: pointer;
}

.input-group button:hover {
  background-color: #45a049;
}

/* Container für die Karten */
.container {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 30px;
  padding: 20px;
  max-width: 1200px;
  margin: 0 auto;
}

/* Einzelne Karte */
.karteikarte {
  width: 280px; /* Karte etwas schmaler */
  max-height: 600px;
  padding: 20px;
  border-radius: 12px;
  border: 1px solid rgba(0, 0, 0, 0.1);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  background-color: white;
  position: relative;
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  background: linear-gradient(135deg, #f9f9f9, #ffffff);
  margin-bottom: 25px;
  overflow: hidden; /* Verhindert, dass das Bild außerhalb der Karte "überläuft" */
}

.karteikarte:hover {
  transform: translateY(-8px);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.15);
}

.karteikarte h3 {
  font-size: 1.6em;
  color: #4CAF50;
  margin-bottom: 10px;
}

/* Eingabefelder in der Karte */
.karteikarte input {
  width: 90%; /* Eingabefelder schmaler machen */
  padding: 12px;
  margin-bottom: 12px;
  font-size: 14px;
  border: 1px solid #ccc;
  border-radius: 8px;
  background-color: #f1f1f1;
  box-sizing: border-box; /* Verhindert, dass Padding die Breite überschreitet */
}

.karteikarte input:focus {
  border-color: #4CAF50;
  background-color: #eaf9e1;
}

/* Bild in der Karte */
.karteikarte img {
  max-width: 100%;  /* Bild kann maximal die Breite der Karte ausfüllen */
  height: 10%; 
  display: block;  /* Sicherstellen, dass das Bild als Block-Element angezeigt wird */
  margin-top: 15px;
  border-radius: 8px;
  object-fit: cover; /* Bild passt sich der Kartengröße an */
  cursor: pointer; /* Bild wird klickbar */
  transition: transform 0.3s ease; /* Sanfte Übergangseffekte */
  margin: auto ;
  overflow: hidden; /* Verhindert, dass das Bild außerhalb der Karte "überläuft" */
}

/* Vergrößerungseffekt beim Klick auf das Bild */
.karteikarte img:active {
  transform: scale(5); /* Vergrößert das Bild beim Klicken */
}

/* Foto-Upload Button */
.upload-photo {
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  font-size: 14px;
  padding: 10px;
  width: 100%;
  margin-top: 15px;
  transition: background-color 0.3s ease;
}

.upload-photo:hover {
  background-color: #0056b3;
}

/* Löschen-Button (X) */
.delete-list {
  position: absolute;
  top: 10px;
  right: 10px;
  background-color: #dc3545;
  color: white;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  padding: 8px 12px;
  font-size: 1.2em;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  transition: background-color 0.3s ease;
}

.delete-list:hover {
  background-color: #c82333;
}

/* Papierkorb (Trash Bin) */
.papierkorb {
  background-color: white;
  padding: 20px;
  margin: 20px auto;
  max-width: 900px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  border-radius: 12px;
}

.papierkorb h2 {
  text-align: center;
  margin-bottom: 20px;
  font-size: 1.8em;
  color: #e53935;
}

/* Papierkorb Elemente */
.karteikarte img {
  max-width: 100%;
  max-height: 150px;
  display: block;
  margin-top: 15px;
  border-radius: 8px;
}

/* Wiederherstellen-Button im Papierkorb */
.restore-list {
  padding: 12px 20px;
  margin-top: 10px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  width: 48%;
  text-align: center; /* Text wird zentriert */
  transition: all 0.3s ease;
}

.restore-list {
  background-color: #4CAF50;
  color: white;
}

.restore-list:hover {
  background-color: #45a049;
}

/* Löschen-Button im Papierkorb */
.delete-permanently {
  padding: 12px 20px;
  margin-top: 10px;
  font-size: 16px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  width: 48%;
  transition: all 0.3s ease;
}

.delete-permanently {
  background-color: #dc3545;
  color: white;
}

.delete-permanently:hover {
  background-color: #c82333;
}

/* Layout für Buttons im Papierkorb */
.deletedListsContainer {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

/* Eingabefeld-Stil */
.search-input {
  padding: 12px;
  font-size: 14px;
  border-radius: 8px;
  border: 1px solid #ccc;
  width: 80%;
  margin: 15px auto;
  display: block;
  transition: border-color 0.3s ease;
}

.search-input:focus {
  border-color: #4CAF50;
  outline: none;
}

