/* Wandel- en fietsroutes: drie groepen (wandelen, lange afstand, fietsen) met een springbalk erboven.
   Elke route is een witte kaart met afstand, naam, korte tekst en links naar de route en de download. */
.routes {
  background-color: var(--secondary);
  padding: var(--space-xl) var(--space-m) var(--space-2xl);
}
.routes__binnen { width: var(--max-screen-width); max-width: 100%; margin: 0 auto; }
.routes__spring { display: flex; flex-wrap: wrap; gap: var(--space-xs); margin-bottom: var(--space-l); }
.routes__spring a {
  padding: .4rem 1rem;
  border: 1px solid var(--dark-20);
  border-radius: 999px;
  color: var(--dark);
  text-decoration: none;
  font-weight: 600;
}
.routes__spring a:hover { background: var(--dark); color: var(--secondary); border-color: var(--dark); }
.routes__groep { scroll-margin-top: calc(var(--header-hoogte, 12rem) + var(--space-m)); }
.routes__groep + .routes__groep { margin-top: var(--space-2xl); }
.routes__tagline { margin: 0 0 .6rem; font-weight: 600; color: var(--primary-tekst); }
.routes__kop { font-family: "Bearmen"; font-size: var(--text-2xl); color: var(--dark); margin: 0 0 var(--space-xs); }
.routes__intro { max-width: 62ch; margin: 0 0 var(--space-l); color: var(--text-body); }

.routes__lijst {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-m);
}
.route {
  display: flex;
  flex-direction: column;
  background: #fff;
  border-radius: var(--radius-m);
  padding: var(--space-m) var(--space-m) var(--space-s);
}
.route__km { margin: 0; font-family: "Bearmen"; font-size: var(--text-xl); color: var(--primary-tekst); line-height: 1.1; }
.route__naam { margin: .3rem 0 var(--space-xs); font-size: var(--text-l); font-weight: 600; color: var(--dark); line-height: 1.25; }
.route__tekst { margin: 0 0 var(--space-s); color: var(--text-body); }
.route__tip { margin: 0 0 var(--space-s); font-size: var(--text-s); color: var(--dark-60); font-style: italic; }
.route__links {
  margin: auto 0 0;
  padding-top: var(--space-s);
  border-top: 1px solid var(--dark-10);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-m);
}
.route__links a { color: var(--primary-tekst); font-weight: 600; text-decoration: none; }
.route__links a:hover { text-decoration: underline; }

.routes__slot {
  margin-top: var(--space-2xl);
  padding: var(--space-l);
  border: 1px solid var(--dark-20);
  border-radius: var(--radius-m);
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: var(--space-l);
  align-items: center;
}
.routes__slot-kop { margin: 0 0 .4rem; font-family: "Bearmen"; font-size: var(--text-l); color: var(--dark); }
.routes__slot p { margin: 0; color: var(--text-body); }
.routes__knoppen { display: flex; flex-wrap: wrap; gap: var(--space-xs); }
.routes__knop-rand { border: 1px solid var(--dark); color: var(--dark); background: transparent; }
.routes__knop-rand:hover { background: var(--dark); color: var(--secondary); }

@media (max-width: 991px) {
  .routes__lijst { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .routes__slot { grid-template-columns: 1fr; }
}
@media (max-width: 767px) {
  .routes__lijst { grid-template-columns: 1fr; }
}
