feat(photos): blurred ambient fill, dots overlay, PhotoSwipe on trip + dailies

- object-fit: contain + ::before blurred background fill on all slides
- dots moved inside photo-wrap, overlaid at bottom with shadow for contrast
- arrows hidden on touch devices via @media (hover: none)
- margin-bottom increased for breathing room below photo block
- trip.html.twig brought up to parity with dailies: same structure,
  same PhotoSwipe init, same expand button, same dot overlay

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Vgmzx8VTTTmCskSpQtsLTr
This commit is contained in:
2026-06-21 20:09:24 +02:00
parent 3379e50503
commit 5c75f1416f
3 changed files with 96 additions and 25 deletions
+30 -6
View File
@@ -204,7 +204,7 @@ body::after {
.journal-photo-wrap {
position: relative;
margin-bottom: var(--space-3);
margin-bottom: var(--space-5);
border-radius: var(--radius-md);
overflow: hidden;
}
@@ -225,12 +225,27 @@ body::after {
overflow: hidden;
display: block;
text-decoration: none;
position: relative;
}
.journal-photo-slide::before {
content: '';
position: absolute;
inset: 0;
background-image: var(--thumb);
background-size: cover;
background-position: center;
filter: blur(24px) brightness(0.75);
transform: scale(1.15);
z-index: 0;
}
.journal-photo-slide img {
position: relative;
z-index: 1;
width: 100%;
height: 100%;
object-fit: cover;
object-fit: contain;
display: block;
}
@@ -251,27 +266,32 @@ body::after {
padding: 0;
z-index: 2;
-webkit-tap-highlight-color: transparent;
transform: translateZ(0);
}
.journal-photo-expand:active { background: rgba(0,0,0,0.7); }
.journal-photo-dots {
position: absolute;
bottom: var(--space-3);
left: 50%;
transform: translateX(-50%);
display: flex;
justify-content: center;
gap: var(--space-2);
margin-bottom: var(--space-4);
z-index: 2;
}
.journal-photo-dot {
width: 6px;
height: 6px;
border-radius: 9999px;
background: var(--color-border);
background: rgba(255,255,255,0.5);
box-shadow: 0 0 0 1px rgba(0,0,0,0.2), 0 1px 3px rgba(0,0,0,0.4);
transition: background 0.2s;
}
.journal-photo-dot.is-active {
background: var(--color-ink-muted);
background: #fff;
}
.strip-controls {
@@ -282,6 +302,10 @@ body::after {
margin-bottom: var(--space-4);
}
@media (hover: none) {
.strip-controls { display: none; }
}
.strip-prev,
.strip-next {
background: transparent;