fix: resolve footer overlay issue on hero video for iOS Safari
All checks were successful
build-website / build (push) Successful in 1m48s

- Add proper z-index hierarchy with footer at z-index: 20
- Create isolated stacking context for hero section
- Implement iOS Safari GPU acceleration optimizations
- Ensure proper layer separation between video, content, and footer
- Add hardware acceleration hints for smooth rendering

🤖 Generated with Claude Code

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
2025-09-21 20:52:55 +02:00
parent 1b9581e90a
commit d25230920e
2 changed files with 14 additions and 2 deletions

View File

@@ -1520,6 +1520,8 @@ html {
background: var(--primary-blue); background: var(--primary-blue);
color: var(--white); color: var(--white);
padding: var(--space-2xl) 0 var(--space-md); padding: var(--space-2xl) 0 var(--space-md);
position: relative;
z-index: 20;
} }
.footer-container { .footer-container {

View File

@@ -183,9 +183,13 @@ onMounted(() => {
top: calc(-1 * env(safe-area-inset-top, 0px)); top: calc(-1 * env(safe-area-inset-top, 0px));
/* Extend height to compensate */ /* Extend height to compensate */
height: calc(100vh + env(safe-area-inset-top, 0px)); height: calc(100vh + env(safe-area-inset-top, 0px));
z-index: 0; z-index: 1; /* Changed from 0 to ensure proper stacking */
pointer-events: none; pointer-events: none;
/* Removed white background to allow transparency */ /* iOS Safari rendering optimizations */
-webkit-transform: translate3d(0, 0, 0); /* Force GPU layer */
transform: translateZ(0); /* Hardware acceleration */
will-change: transform; /* Optimization hint */
contain: layout style paint; /* Containment for performance */
} }
/* iOS Safari portrait bug workaround - env() returns 0 in portrait */ /* iOS Safari portrait bug workaround - env() returns 0 in portrait */
@@ -267,6 +271,12 @@ onMounted(() => {
min-height: 100vh; min-height: 100vh;
/* Allow video to extend into safe area */ /* Allow video to extend into safe area */
overflow: visible; overflow: visible;
isolation: isolate; /* Create new stacking context */
}
.hero-content {
position: relative;
z-index: 10; /* Ensure content is above video */
} }
.hero-main { .hero-main {