diff --git a/GUESTS.md b/GUESTS.md
index e5b85af..e0f43f3 100644
--- a/GUESTS.md
+++ b/GUESTS.md
@@ -8,7 +8,7 @@ Anzahl Gruppen: **41**
|---|---|---|---|
| Bubus | admin | `Bubu!Herz24#` | Svenja, Dominic |
| Remi | guest | `Remi#Ring24!` | Remi |
-| Chantal | guest | `Chan!Tanz24#` | Chantal |
+ | Chantal |
| Madeleine | guest | `Madi$Rose24!` | Madeleine |
| Julie & Daniel | guest | `Juli&Dan24!#` | Julie, Daniel |
| Tim & Sophie | guest | `Tim+Sofi24!#` | Tim, Sophie |
diff --git a/backend/__pycache__/app.cpython-312.pyc b/backend/__pycache__/app.cpython-312.pyc
index 09f810c..13b0fe0 100644
Binary files a/backend/__pycache__/app.cpython-312.pyc and b/backend/__pycache__/app.cpython-312.pyc differ
diff --git a/backend/app.py b/backend/app.py
index 5148b52..a199f82 100644
--- a/backend/app.py
+++ b/backend/app.py
@@ -455,6 +455,7 @@ TEXTS = {
"gallery_uploaded_by": "von {name}",
"gallery_empty": "Noch keine Bilder vorhanden.",
"gallery_image_alt": "Upload von {name}",
+ "gallery_save_hint": "Tipp: Halte das Bild länger gedrückt, um es in deiner Mediathek zu speichern.",
"flash_enter_group_name": "Bitte Gruppenname eingeben.",
"flash_invalid_group_login": "Ungültiger Gruppenname oder Passwort.",
"flash_rsvp_select": "Bitte für alle Mitglieder eine RSVP-Auswahl treffen.",
@@ -728,6 +729,7 @@ TEXTS = {
"gallery_uploaded_by": "by {name}",
"gallery_empty": "No photos available yet.",
"gallery_image_alt": "Uploaded by {name}",
+ "gallery_save_hint": "Tip: Touch and hold the photo to save it to your photo library.",
"flash_enter_group_name": "Please enter group name.",
"flash_invalid_group_login": "Invalid group name or password.",
"flash_rsvp_select": "Please choose RSVP values for all members.",
diff --git a/backend/static/styles.css b/backend/static/styles.css
index 2636e05..7614ef7 100644
--- a/backend/static/styles.css
+++ b/backend/static/styles.css
@@ -1412,6 +1412,29 @@ input[type="file"]:focus {
fill: currentColor;
}
+.lightbox-save-hint {
+ position: absolute;
+ z-index: 4;
+ left: 50%;
+ bottom: 1rem;
+ width: min(78vw, 34rem);
+ padding: 0.65rem 0.9rem;
+ border-radius: 999px;
+ background: rgba(20, 20, 20, 0.78);
+ color: #fff;
+ font-size: 0.85rem;
+ text-align: center;
+ opacity: 0;
+ pointer-events: none;
+ transform: translate(-50%, 0.5rem);
+ transition: opacity 220ms ease, transform 220ms ease;
+}
+
+.lightbox-save-hint.is-visible {
+ opacity: 1;
+ transform: translate(-50%, 0);
+}
+
.lightbox-nav {
top: 50%;
transform: translateY(-50%);
diff --git a/backend/templates/gallery.html b/backend/templates/gallery.html
index ebc7f89..19faf84 100644
--- a/backend/templates/gallery.html
+++ b/backend/templates/gallery.html
@@ -40,6 +40,7 @@
+