/* Bewonersvereniging Kerk-Avezaath — gedeelde custom styles
   Basisregel: alles wat Tailwind-utility-classes niet dekken komt hier. */

html {
  scroll-behavior: smooth;
}

body {
  font-size: 18px; /* groter dan de standaard 16px — leesbaarheid voor oudere doelgroep */
  -webkit-font-smoothing: antialiased;
}

/* Duidelijke, zichtbare focus-ring voor toetsenbordgebruikers (toegankelijkheid) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: 3px solid #DD183B;
  outline-offset: 3px;
  border-radius: 4px;
}

/* Skip-to-content link: onzichtbaar tot je 'm met Tab bereikt */
.skip-link {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 100;
  background: #0F172A;
  color: #fff;
  padding: 0.75rem 1.25rem;
  border-radius: 0 0 0.5rem 0;
  font-weight: 600;
}
.skip-link:focus {
  left: 0;
}

/* Hero achtergrondvideo */
.hero-video-wrap {
  position: relative;
  overflow: hidden;
}
.hero-video-wrap video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}
.hero-video-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,23,42,0.75) 0%, rgba(15,23,42,0.55) 45%, rgba(15,23,42,0.85) 100%);
  z-index: 1;
}
.hero-video-wrap > .hero-content {
  position: relative;
  z-index: 2;
}

/* Kaartjes: zachte schaduw + hover-tilt, subtiel (geen flitsende animatie) */
.card-hover {
  transition: transform 0.15s ease, box-shadow 0.15s ease;
}
.card-hover:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 28px -8px rgba(15, 23, 42, 0.18);
}

/* Generieke persoon-avatar placeholder (bestuur) */
.avatar-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #FFEDE6;
  color: #DD183B;
}

/* Leesbare tekstbreedte in lopende tekst */
.prose-readable {
  max-width: 68ch;
}

/* Mobiel menu: verberg content tot Alpine 'x-cloak' oplost flikkering */
[x-cloak] { display: none !important; }

/* Actieve nav-link */
.nav-active {
  color: #DD183B;
  font-weight: 700;
}
