Commit d0fd542b by PLN (Algolia)

fix(parvagues): title overflow, image stretch, video thumbnails

- Remove max-w-4xl from hero content (title was clipped at "ParVag")
- Scope main.css img rule to non-parvagues pages (was forcing
  max-width:100% + display:block on next/image fill elements in Firefox)
- Use inline styles for video thumbnail positioning to avoid CSS
  specificity issues with legacy rules
parent 706b2d03
...@@ -23,7 +23,7 @@ export default function Hero() { ...@@ -23,7 +23,7 @@ export default function Hero() {
</div> </div>
{/* Content */} {/* Content */}
<div className="relative z-10 text-center px-6 max-w-4xl"> <div className="relative z-10 text-center px-6 w-full">
<h1 <h1
className="font-display font-extrabold leading-none tracking-tight" className="font-display font-extrabold leading-none tracking-tight"
style={{ style={{
......
...@@ -63,17 +63,19 @@ function VideoCard({ video }) { ...@@ -63,17 +63,19 @@ function VideoCard({ video }) {
<div> <div>
<button <button
onClick={() => setLoaded(true)} onClick={() => setLoaded(true)}
className="aspect-video w-full rounded-xl overflow-hidden relative cursor-pointer group transition-all duration-300 hover:ring-1 hover:ring-[var(--neon-high)]/30" className="aspect-video w-full rounded-xl overflow-hidden cursor-pointer group transition-all duration-300 hover:ring-1 hover:ring-[var(--neon-high)]/30"
style={{ position: 'relative', background: 'var(--surface-raised)' }}
> >
{/* Thumbnail from archive.org */} {/* Thumbnail from archive.org */}
<img <img
src={`https://archive.org/services/img/${video.id}`} src={`https://archive.org/services/img/${video.id}`}
alt={video.title} alt={video.title}
className="absolute inset-0 w-full h-full object-cover opacity-60 group-hover:opacity-80 transition-opacity duration-300" style={{ position: 'absolute', inset: 0, width: '100%', height: '100%', objectFit: 'cover', opacity: 0.6 }}
className="group-hover:opacity-80 transition-opacity duration-300"
loading="lazy" loading="lazy"
/> />
<div className="absolute inset-0 bg-gradient-to-t from-black/80 via-black/30 to-transparent" /> <div style={{ position: 'absolute', inset: 0 }} className="bg-gradient-to-t from-black/80 via-black/30 to-transparent" />
<div className="absolute inset-0 flex flex-col items-center justify-center gap-3"> <div style={{ position: 'absolute', inset: 0 }} className="flex flex-col items-center justify-center gap-3">
<div className="w-14 h-14 rounded-full bg-black/40 backdrop-blur-sm border border-white/10 flex items-center justify-center group-hover:bg-[var(--neon-high)]/20 group-hover:scale-110 group-hover:border-[var(--neon-high)]/30 transition-all duration-300"> <div className="w-14 h-14 rounded-full bg-black/40 backdrop-blur-sm border border-white/10 flex items-center justify-center group-hover:bg-[var(--neon-high)]/20 group-hover:scale-110 group-hover:border-[var(--neon-high)]/30 transition-all duration-300">
<FaPlay className="w-4 h-4 text-white/80 group-hover:text-white ml-0.5 transition-colors" /> <FaPlay className="w-4 h-4 text-white/80 group-hover:text-white ml-0.5 transition-colors" />
</div> </div>
......
...@@ -22,7 +22,7 @@ body:not(:has(.parvagues-root)) a:hover { ...@@ -22,7 +22,7 @@ body:not(:has(.parvagues-root)) a:hover {
text-decoration: underline; text-decoration: underline;
} }
img { body:not(:has(.parvagues-root)) img {
max-width: 100%; max-width: 100%;
display: block; display: block;
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment