/* ========== 1. Basisinstellingen ========== */

* {
  font-family: 'Inter', sans-serif;
}

body {
  background-color: #f9f9f8;
  color: #1a1a1a;
  margin: 0;
  padding: 0;
  line-height: 1.7;
}

.hidden {
  display: none;
}

/* ========== 2. Structuur en Layout ========== */

main {
  max-width: 930px;
  margin: 0 auto;
  padding: 40px 20px 10px;
}

.container {
  max-width: 930px;
  margin: 0 auto;
  padding: 40px 20px 10px;
}

header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 40px;
  font-size: 14px;
}

footer {
  padding: 40px;
  text-align: center;
  color: #666;
}

footer hr {
  border: none;
  border-top: 1px solid #ddd;
  margin-bottom: 20px;
}

.footer-container {
  max-width: 900px;
  margin: 0 auto;
  text-align: center;
}

.footer-container p {
  font-size: 15px;
  margin: 0 0 20 0;	
  color: #666;
}

.footer-nav {
  display: inline-block;
}

.footer-nav a {
  margin: 0 10px;
  text-decoration: none;
  color: #5a6770;
  font-size: 12px;
}

.footer-nav a:not(:last-child)::after {
  content: "|";
  margin-left: 10px;
  color: #ccc;
  font-size: 0.9em;
  vertical-align: baseline;
}

.footer-logo {
  text-align: center;
  margin: 20px 0 60px;
}

.footer-logo img {
  width: 120px;
  opacity: 0.6;
}

/* ========== 3. Typografie ========== */

h1 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 33px;
  margin: 20px 0 10px;
}

h2 {
  font-family: 'Playfair Display', serif;
  font-weight: 700;
  font-size: 32px;
  margin: 20px 0 10px;
}

h3 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  margin: 20px 0 10px;
}

h4 {
    font-size: 24px;
    font-weight: bold;
	text-decoration: underline;
    margin: 5px;
}

.aka-text {
    font-size: 17px;
    display: block; /* als je wilt dat het een blok wordt zoals een heading */
    font-weight: bold;
	font-style: italic; /* Herhaal hier voor zekerheid of stijlconsistentie */
}

p {
  font-size: 16px;
  margin: 0 0 20px;
}

.label {
  font-size: 12px;
  background-color: #e0e0e0;
  color: #333;
  padding: 2px 6px;
  border-radius: 8px;
  margin-left: 10px;
}

/* ========== 4. Navigatie ========== */

nav a {
  margin-left: 30px;
  text-decoration: none;
  color: #1a1a1a;
}

nav a:hover,
.footer-nav a:hover,
.bottom-page:hover,
.follow a:hover {
  text-decoration: underline;
}

.bottom-page {
  display: block;
  text-align: right;
  margin: 20px 0;
  color: #5a6770;
  text-decoration: none;
  font-size: 14px;
}

/* ========== 5. Knoppen ========== */

.buttons {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
}

.buttons a {
  border: 1px solid #1a1a1a;
  padding: 10px 20px;
  text-decoration: none;
  color: #1a1a1a;
  font-size: 14px;
}

.buttons a:hover {
  background-color: #1a1a1a;
  color: #f9f9f8;
}

a.donate-button {
  display: inline-block;
  background-color: #333;
  color: #fff;
  padding: 12px 24px;
  text-decoration: none;
  font-size: 14px;
  border-radius: 8px;
}

a.donate-button:hover {
  background-color: #1a1a1a;
  color: #fff;
  text-decoration: underline;
}

/* ========== 6. Afbeeldingen ========== */

img {
  max-width: 100%;
  height: auto;
}

.hero {
  max-width: 900px;
  margin: 40px auto;
  text-align: center;
}

.hero img {
  width: 100%;
  height: auto;
}

.hero h1 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  line-height: 1.4;
  margin: 30px 0;
}

.insta-icon {
  width: 20px;
  height: 20px;
}

.centered-image {
  display: block;
  margin: 0 auto;
}

/* ========== 7. Overige elementen ========== */

strong,
em {
  display: inline;
}

a {
  color: #189ae2;
  font-weight: 500;
  text-decoration: underline;
  transition: color 0.3s ease;
}

a:hover {
  color: #083d74;
}

/* ========== 8. skip-link naar main ========== */

.skip-link {
    position: absolute;
    left: -999px;
    top: auto;
    width: 1px;
    height: 1px;
    overflow: hidden;
    z-index: 1000;
    background: #000;
    color: #fff;
    padding: 0.5em 1em;
    text-decoration: none;
    font-size: 0.9rem;
}

.skip-link:focus {
    position: absolute;
    left: 10px;
    top: 10px;
    width: auto;
    height: auto;
    overflow: visible;
}

/* ========== 9. Grid & Projecten ========== */

.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  padding: 0;
  gap: 30px;
  margin: 0 auto 60px;
}

.grid-item {
  text-align: left;
}

.grid-item img {
  width: 100%;
  max-width: 400px;
  height: auto;
  border-radius: 8px;
  transition: transform 0.3s ease;
}

.grid-item img:hover {
  transform: scale(1.05);
}

.grid-item a {
  text-decoration: none;
  color: #1a1a1a;
  font-weight: 500;
  display: block;
  margin-top: 12px;
}

/* ========== 10. Etiket ========== */

.etiket {
  background-color: #fff;
  padding: 10px 50px 15px;
  color: #555;
  font-size: 14px;
  box-shadow: 0 0 7px rgba(0, 0, 0, 0.1);
  margin-bottom: 40px;
  border-radius: 12px;
}

/* ========== 11. Wall of Fame / Donateurs ========== */

.wall-container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  background-color: #fff;
  border-left: 6px solid #1a1a1a;
  padding: 30px;
  margin: 40px auto;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.05);
  border-radius: 8px;
  max-width: 900px;
  gap: 30px;
}

.wall-image {
  flex: 1 1 250px;
  max-width: 300px;
  display: block;
  transition: transform 0.3s ease;
  border-radius: 8px;
  overflow: hidden;
}

.wall-image img {
  width: 100%;
  height: auto;
  display: block;
  transition: transform 0.3s ease, filter 0.3s ease;
  border-radius: 8px;
}

.wall-image:hover img {
  transform: scale(1.05);
  filter: brightness(1.1);
}

.wall-text {
  flex: 2 1 400px;
}

.wall-text h2 {
  margin-top: 0;
  font-size: 40px;
}

.wall-text p {
  margin-bottom: 1.2em;
}

/* ========== 12. Afbeelding-hover effect ========== */

.image-hover {
  position: relative;
  width: 25%;
  max-width: 300px;
  margin: 0 auto;
}

.image-hover img.normal {
  display: block;
  width: 100%;
  height: auto;
}

.image-hover img.hover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: auto;
  opacity: 0;
  transition: opacity 0.4s ease-in-out;
}

.image-hover:hover .hover {
  opacity: 1;
}

.image-hover:hover .normal {
  opacity: 0;
}

/* ========== 13. Animaties ========== */
.haas {
  display: inline-block;
  width: 100px;
  height: 100px;
  background-image: url("../images/verbazer-sprite-100x100.png");
  background-repeat: no-repeat;
  background-position: 0 0;
  transition: transform 0.4s ease-in-out;
}

.haas:hover {
  animation: hop 0.9s steps(6) infinite;
  transform: translateY(-4px);
}

@keyframes hop {
  from {
    background-position: 0 0;
  }
  to {
    background-position: -600px 0;
  }
}

/* ========== 14. Responsive gedrag ========== */

@media (max-width: 600px) {
  nav a {
    display: block;
    margin: 10px 0;
  }

  .buttons {
    flex-direction: column;
    gap: 10px;
  }

  .grid-container {
    grid-template-columns: 1fr;
  }

  .footer-nav a {
    display: block;
    margin: 8px 0;
  }

  .image-hover {
    width: 80%;
  }
}



.buttons a {
  border-radius: 8px;
}

/* ========== 14 Project Etiket =========== */ 

.etiket {
	background-color: #FFF;
	padding-left: 50px;
	padding-right: 50px;
	padding-top: 10px;
	padding-bottom: 15px;
    color: #555;
	font-size: 14px;
	box-shadow: 0 0 7px rgba(0,0,0,0.1);
	margin-bottom: 40px;
}

.right{
	  text-align: right;
	  font-size: 12px;
}

/* ========== 15. mp4 ========== */

.centered-video {
    display: block;
    max-width: 100%;
    height: auto;
    margin: 0 auto;
}

/* ========== 16 ING QR-code =========== */

.hover-link-image {
  display: block;
  max-width: 600px;
  margin: 40px auto;
  border-radius: 8px;
  overflow: hidden;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.hover-link-image img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 8px;
  transition: transform 0.3s ease, filter 0.3s ease;
}

.hover-link-image:hover img {
  transform: scale(1.05);
  filter: brightness(1.1);
}

/* ========== 17 Ace of Spades =========== */

.project-title::before {
  content: "\2660";
  margin-right: 0.5em;
  color: black;
}

/* ========== 18 Binnenkort Badge =========== */

.badge {
  position: absolute;
  bottom: 9px;       /* â†©ï¸Ž rechtsonder */
  right: 8px;
  color: #000;
  padding: 4px 8px;
  font-size: 0.75rem;
  border-radius: 8px;
  opacity: 0.8;       /* â†©ï¸Ž lichte transparantie */
  z-index: 1;	
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.75);
  color: #000;
  font-weight: bold;	
}

.badge.nieuw {
  background-color: #ef310e;
  color: #fff;	
}

.badge.binnenkort {
  background-color: #ccff99;
}

.badge.tip {
  background-color: #189ae2;
  color: #fff;
  font-style: italic;
}

/* ========== 19 Datum Portfolio =========== */

.project-title {
  display: block;
}

.project-date {
  display: block;
  font-size: 0.9em;
  color: #777;
  margin-top: 1px;
}

/* ========== 20 H1 Typewriter =========== */

.typewriter {
  font-family: 'Playfair Display', serif;
  font-size: 32px;
  font-weight: 700;
  display: inline;
  vertical-align: top;
}

/* ========== 21 Sectret Pop-Up =========== */

.secret-popup {
    position: fixed;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    background-color: rgba(0, 0, 0, 0); /* standaard volledig transparant */
    overflow: hidden;
    box-sizing: border-box;
}

/* Donker transparante achtergrond voor popup */
.popup-dark {
    background-color: rgba(0, 0, 0, 0.7);
}

/* Volledig transparant (onzichtbaar) */
.popup-transparent {
    background-color: rgba(0, 0, 0, 0);
}

/* blauw transparant */
.popup-blue {
    background-color: rgba(0, 207, 230, 0.5);
}

/* roze transparant */
.popup-pink {
    background-color: rgba(219, 13, 98, 0.5);
}

.secret-popup img {
    max-width: 90vw;
    max-height: 90vh;
    object-fit: contain;
}

.popup-dark img,
.popup-transparent img {
    max-width: 90%;
    max-height: 90%;
    display: block;
    margin: 0 auto;
}

/* fade in en fade out */
#popup-tim {
    transition: opacity 0.3s ease;
    opacity: 0;
    pointer-events: none; /* voorkomt dat je erop klikt terwijl hij onzichtbaar is */
}

#popup-tim.show {
    opacity: 1;
    pointer-events: auto;
}

/* ========== 22. Vierkante afbeeldingscontainers ========== */

.img-wrapper {
  width: 100%;
  padding-bottom: 100%;
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.img-wrapper img {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  top: 0;
  left: 0;
}

.centered-image {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

/* ========== 23. Easter Egg ========== */

.highlighted-egg {
  background-color: #ccff99;
  border-left: 6px solid #9acc3c;
  padding: 12px;
  margin: 20px 0;
  font-size: 1.25em;
  font-weight: bold;
  color: #2d3e00;
  animation: pulse-egg 2s infinite;
  border-radius: 6px;
}

@keyframes pulse-egg {
  0% { background-color: #ccff99; }
  50% { background-color: #e6ffc9; }
  100% { background-color: #ccff99; }
}

/* ========== 24. Carousel ========== */

.carousel {
  position: relative;
  width: 80%;
  margin: 40px auto;
  overflow: hidden;
}

.carousel-images {
  display: flex;
  transition: transform 0.4s ease;
}

.carousel-images img {
  width: 100%;
  flex-shrink: 0;
}

.carousel button {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.7);
  border: none;
  padding: 10px;
  cursor: pointer;
  z-index: 2;
}

.carousel .prev {
  left: 10px;
}

.carousel .next {
  right: 10px;
}

button.prev,
button.next {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}

button.prev img,
button.next img {
    width: 48px;   /* pas dit aan aan jouw icoon */
    height: auto;
    display: block;
}

@keyframes spat {
  0% { transform: translateY(-50%) scale(1) rotate(0deg); }
  30% { transform: translateY(-50%) scale(1.2) rotate(5deg); }
  60% { transform: translateY(-50%) scale(0.95) rotate(-5deg); }
  100% { transform: translateY(-50%) scale(1) rotate(0deg); }
}

.carousel button:hover {
  animation: spat 0.4s ease forwards;
}

/* ========== 25. employee ========== */

.employee-of-the-month {
  max-width: 600px;
  margin: 60px auto;
  background-color: #f7baa6; /* milkshake pink */
  border: 4px solid #c64831;
  padding: 30px;
  text-align: center;
  border-radius: 12px;	
  box-shadow: 0 0 12px rgba(0,0,0,0.1);
}

.employee-of-the-month h2 {
  font-family: 'Playfair Display', serif;
  font-size: 28px;
  margin-bottom: 20px;
}

.employee-card {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.employee-card img {
  width: 250px;
  height: 250px;
  border-radius: 50%;
  object-fit: cover;
  border: 4px solid #c64831;
  margin-bottom: 16px;
}

.employee-info h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
}

.employee-info p {
  margin: 6px 0 0;
  font-size: 14px;
  color: #1a1a1a;
}

.employee-info .highlight-quote {
    font-style: italic;
    color: #464646;
    margin-top: 10px;
    font-size: 0.9em;
}

/* ========== 26. werk buttons voor mobiel ========== */

@media (max-width: 600px) {
    .filter-buttons {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        gap: 10px;
        padding: 0 10px;
    }

    .filter-buttons button {
        flex: 1 1 45%;
        box-sizing: border-box;
        min-width: 140px;
        text-align: center;
    }
}

.filter-buttons {
    text-align: center;
    margin: 40px 0 20px;
}

.filter-buttons button {
    position: relative;
    overflow: hidden;
    z-index: 1;
    background-color: #f0f0f0;
    color: #1a1a1a;
    border: 1px solid #ccc;
    padding: 10px 20px;
    margin: 0 10px;
    cursor: pointer;
    border-radius: 8px;
    transition: background 0.4s ease, color 0.4s ease;
}

.filter-buttons button:hover {
    background: linear-gradient(135deg, #ffffff 0%, #dddddd 100%);
    color: #1a1a1a;
}

.filter-buttons button.active {
    background-color: #1a1a1a;
    color: #fff;
}

.filter-buttons button::after {
    content: '';
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 100%;
    background-color: rgba(0, 0, 0, 0.05);
    opacity: 0;
    transition: opacity 0.3s ease;
    z-index: -1;
}

.filter-buttons button:hover::after {
    opacity: 1;
}

.filter-buttons button.active:hover {
    background-color: #1a1a1a !important;
    color: #fff !important;
    transform: translateY(-1px) scale(0.97);
    transition: background 0.4s ease, color 0.4s ease, transform 0.2s ease;
    box-shadow: none;
    background-image: none;
}

/* ========== 27. T2D Disclaimer Tabel ========== */

.t2d-table {
    width: 100%;
    border-collapse: collapse;
    margin-bottom: 20px;
    font-size: 16px;
}

.t2d-table th, .t2d-table td {
    border: 1px solid #ccc;
    padding: 12px;
    text-align: left;
    vertical-align: top;
}

.t2d-table th {
    background-color: #f2f2f2;
    font-weight: 600;
}

.t2d-advies {
    padding: 15px;
    background-color: #ccff99;
    border: 1px solid #c3d6b1;
    font-style: italic;
    border-radius: 6px;
    max-width: 800px;
    margin: 20px 0;
}

/* ========== 28. Contactformulier ========== */

form {
  background-color: transparent;
  border: none;
  padding: 0;
}

label {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

input, textarea {
  width: 100%;
  padding: 10px;
  margin-bottom: 20px;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-family: inherit;
  font-size: 14px;
}

/* ========== 29. donderdagdrop ========== */

.dropbox {
  background-color: #fff;
  border-left: 6px solid #000;
  padding: 3px 40px 15px;
  margin-bottom: 2em;
  font-family: 'Playfair Display', serif;
  border-radius: 12px;	
  box-shadow: 0 0 12px rgba(0,0,0,0.1);
}

.drop-time {
  font-size: 0.95em;
  color: #666;
  margin-top: 0.2em;
}

/* ========== 30. voor als de bezoeker geen js heeft ========== */

.no-js-warning {
    color: #777;
    font-style: italic;
    font-size: 0.9rem;
    margin: 1em 0;
}

/* ========== 31. insta folow ========== */

.follow {
    display: flex;
    justify-content: center;
    font-size: 14px;
    margin: 40px 0 60px 0;
}

.follow a {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: #5a6770;
    text-decoration: none;
}

.follow a:hover {
    text-decoration: underline;
    color: #1a1a1a;
}

/* ========== 32. figure voor afbeeldingen ========== */

figure {
    display: block;
    margin: 40px auto;
    text-align: center;
}

figure img {
    display: block;
    margin: 0 auto;
    max-width: 100%;
    height: auto;
}

figcaption {
    font-size: 0.85rem;
    color: #777;
    margin-top: 0.5em;
    font-style: italic;
}

/* ========== 33. social media icons ========== */

.social-icons {
    text-align: center;
    margin: 40px 0;
}

.social-icons a {
    margin: 0 20px;
}

.social-icons a img {
    width: 80px;
    height: 80px;
    transition: transform 0.3s ease;
}

.social-icons a:hover img {
    transform: scale(1.1) translateY(-2px);
}

/* ========== 34. bouwstenen ========== */

.wall {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-inline: 5%; /* ruimte voor verspringen */
    margin: 40px 0;
    background-color: transparent;
    box-sizing: border-box;
}

.brick {
    display: flex;
    gap: 10px;
    width: 100%;
}

.brick span {
    background-color: #fff;
    padding: 15px 20px;
    text-align: center;
    border-radius: 3px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
    border: none;
}

.brick .name {
    flex: 2;
    font-weight: bold;
}

.brick .message {
    flex: 4;
    font-style: italic;
}

.brick .amount {
    flex: 1;
    white-space: nowrap;
}

/* Halfsteensverband (verspringen) */
.wall .brick:nth-child(even) {
    transform: translateX(5%);
}

/* Mobiel: stapel alles netjes onder elkaar */
@media (max-width: 600px) {
    .brick {
        flex-direction: column;
        gap: 5px;
    }

    .brick span {
        width: 100%;
    }

    .wall .brick:nth-child(even) {
        transform: none; /* Geen verspringing op mobiel */
    }
}

/* ========== 35. project-label tekst ========== */

.logo-tekst {
  margin-left: 10px;
  font-weight: bold;
  font-size: 1rem;
  animation: pop-in 0.5s ease-out;
  display: inline-block;
  transform-origin: left center;
}

@keyframes pop-in {
  0% {
    opacity: 0;
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}

/* ========== 36. fade in van header en footer op de pagina ========== */

.fade-in {
  opacity: 0;
  animation: fadeIn 0.5s ease forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
  }
}

.slide-in-left.delay-1 {
  animation-delay: 0.2s;
}
.slide-in-left.delay-2 {
  animation-delay: 0.4s;
}

/* ========== 37. de nav voor de js ========== */

.header-nav {
  display: flex;
  gap: 30px;
  justify-content: center;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.js-nav {
  display: flex;
  gap: 30px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-bottom: 40px;
}

.js-nav a {
    text-decoration: none;
    color: inherit;
}

/* Hamburger-knop */
.hamburger {
  font-size: 24px;
  background: none;
  border: none;
  cursor: pointer;
  display: block;
}

/* Verborgen nav op mobiel */
.js-nav {
  overflow: hidden;
  max-height: 0;
  opacity: 0;
  flex-direction: column;
  transition: max-height 0.4s ease, opacity 0.4s ease;
  gap: 10px;
}

/* Actief menu zichtbaar */
.js-nav.active {
  max-height: 500px;
  opacity: 1;
}

/* Desktop: sticky + nav altijd zichtbaar */
@media (min-width: 768px) {
  .site-header {
    position: sticky;
    top: 0;
    z-index: 1000;
    background-color: white;
  }

  .hamburger {
    display: none;
  }

  .js-nav {
    display: flex !important;
    max-height: none;
    opacity: 1;
    overflow: visible;
    flex-direction: row;
    justify-content: flex-end;
    gap: 30px;
  }
}

/* ========== 38. de body van een project-pagina ========== */

body:not(.project-pagina) .js-nav {
  display: none;
}

/* ========== 39. 69 ice cream flavors ========== */

.ijs-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  max-width: 1200px;
  margin: 0 auto;
}

.ijs-blok {
  position: relative;
  background-color: white;
  border-radius: 5px;
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.2);
  padding: 15px;
  text-align: center;
  transition: filter 0.2s;
}

.ijs-label {
  position: absolute;
  top: 8px;
  left: 8px;
  font-size: 20px;
  color: black;
}

.ijs-label .nummer {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 12px;
  color: white;
  background: black;
  border-radius: 50%;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.ijs-blok:hover {
  animation: shake 0.4s;
  filter: invert(100%);
}

@keyframes shake {
  0% { transform: translate(0, 0) rotate(0); }
  25% { transform: translate(-3px, 2px) rotate(-2deg); }
  50% { transform: translate(3px, -2px) rotate(2deg); }
  75% { transform: translate(-3px, 2px) rotate(-2deg); }
  100% { transform: translate(0, 0) rotate(0); }
}

/* ========== 40. ijs van het jaar ========== */

.smaak-lijst {
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.smaak {
  position: relative;
  display: inline-block;
  font-size: 1.1rem;
  padding: 1rem 2rem;
  border-radius: 8px;
  background: #FFFEE9;
  border: 1px solid #ccc;
  overflow: hidden;
  color: #333;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

.smaak::before {
  content: "";
  position: absolute;
  top: 0;
  left: -75%;
  width: 50%;
  height: 100%;
  background: linear-gradient(
    120deg,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.6) 50%,
    rgba(255, 255, 255, 0) 100%
  );
  animation: glans 10s ease-in-out infinite;
}

@keyframes glans {
  0% {
    left: -75%;
  }
  30% {
    left: 125%;
  }
  100% {
    left: 125%; /* blijft buiten beeld */
  }
}

/* ========== 41. figure met rand ========== */

.met-rand img {
  border: 1px solid #ccc;
  border-radius: 4px;
  display: block;
  max-width: 100%;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1);
}

/* ========== 42. terug naar boven ========== */

#page-navigation {
  display: flex;
  justify-content: center;
  gap: 16px;
}

#page-navigation .bottom-page {
  display: inline-block;
  color: #5a6770;
  text-decoration: none;
  font-size: 14px;
  padding: 4px 8px;
  transition: color 0.2s;
}

