/* Alleen de aanbodoverzichtspagina; dezelfde inhoud blijft bewerkbaar in het CMS. */
.aanbod-overzicht { --wrap: 1240px; }
.aanbod-overzicht .hero--sub { min-height: auto; padding: 100px 0 78px; }
.aanbod-overzicht .hero__inner { max-width: 1000px; }
.aanbod-overzicht h1 { font-size: clamp(42px, 5.8vw, 78px); line-height: 1.08; letter-spacing: -.045em; }
.aanbod-overzicht .lede { max-width: 710px; font-size: clamp(18px, 1.5vw, 21px); }
.aanbod-overzicht .sec { padding: 84px 0; }
.aanbod-overzicht #routes { scroll-margin-top: 110px; padding-bottom: 36px; }
.aanbod-overzicht h2 { font-size: clamp(30px, 3.5vw, 48px); line-height: 1.15; letter-spacing: -.035em; }
.aanbod-overzicht .routes { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.aanbod-overzicht .route { display: flex; flex-direction: column; align-items: flex-start; padding: 30px; background: #fffdf8; color: #101010; border: 1px solid #d9d4ca; border-radius: 4px; box-shadow: none; }
.aanbod-overzicht .route__ico { color: #101010; background: #ffbe00; padding: 12px; width: 52px; height: 52px; border-radius: 4px; margin-bottom: 30px; }
.aanbod-overzicht .route__label { color: #655523; font-size:0.78rem; font-weight: 700; letter-spacing: .055em; text-transform: uppercase; }
.aanbod-overzicht .route h3 { font-size: clamp(20px, 1.7vw, 24px); line-height: 1.4; letter-spacing: -.02em; margin: 12px 0 30px; }
.aanbod-overzicht .route .btn { margin-top: auto; width: 100%; white-space: normal; text-align: center; font-size:0.8125rem; padding: 14px 12px; }
.aanbod-overzicht .route h3 { min-height: 3.5em; }
.aanbod-overzicht .btn { border-radius: 4px; box-shadow: none; }
.aanbod-overzicht .btn:not(.btn--ghost) { background: #ffbe00; color: #101010; }
.aanbod-overzicht .btn:hover { transform: translateY(-2px); }
.aanbod-overzicht a:focus-visible,.aanbod-overzicht summary:focus-visible { outline: 3px solid #bf8700; outline-offset: 5px; }
.aanbod-overzicht #routes + .sec { padding-top: 30px; padding-bottom: 70px; }
.aanbod-overzicht #routes + .sec > .wrap { border-top: 1px solid #d5cfc2; padding-top: 32px; }
.aanbod-overzicht #routes + .sec h2 { font-size: clamp(25px, 2.5vw, 34px); }
.aanbod-overzicht .beeldtekst { gap: clamp(30px, 5vw, 80px); align-items: center; }
.aanbod-overzicht .beeldtekst__beeld { margin: 0; }
.aanbod-overzicht .beeldtekst__beeld img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 4px; }
.aanbod-overzicht .beeldtekst__beeld figcaption { font-size:0.78rem; margin-top: 12px; opacity: .75; }
.aanbod-overzicht .steps--3 { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 36px; }
.aanbod-overzicht .faq { text-align: left; }
.aanbod-overzicht .faq summary { cursor: pointer; padding-right: 42px; }
.aanbod-overzicht .faq p { max-width: 70ch; }
.aanbod-overzicht .reveal { opacity: 1; transform: none; }
.route-details { padding-top: 34px !important; background: var(--ink); }
.route-details__grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 20px; align-items: stretch; }
.route-detail { scroll-margin-top: 100px; display: flex; flex-direction: column; min-width: 0; padding: 30px; color: #101010; background: #fffdf8; border-top: 4px solid #ffbe00; border-radius: 4px; }
.route-detail__label { margin: 0 0 10px; color: #6b5b2a; font-size:0.78rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.route-detail h2 { margin: 0 0 25px; font-size: clamp(25px,2.2vw,34px); color: #101010; }
.route-detail__points { display: grid; gap: 0; margin-bottom: 28px; }
.route-detail__points div { display: grid; gap: 4px; padding: 18px 0; border-top: 1px solid #ded8cd; }
.route-detail__points strong { font-family: var(--ff-head); font-size:0.9375rem; line-height: 1.35; }
.route-detail__points span { color: #504b43; font-size:0.875rem; line-height: 1.55; }
.route-detail>.btn { width: 100%; margin-top: auto; text-align: center; }
.route-measure { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 14px; margin-top: 22px; padding-block: 17px; border: 1px solid rgba(255,190,0,.55); color: #dedcd7; }
.route-measure strong { margin-right: 12px; color: #ffbe00; }
.route-measure span[aria-hidden] { color: #ffbe00; font-size:1.375rem; }
.aanbod-overzicht .beeldtekst__beeld figcaption { display: none; }
@media (max-width: 850px) {
  .aanbod-overzicht .hero--sub { padding: 68px 0 54px; }
  .aanbod-overzicht .sec { padding: 56px 0; }
  .aanbod-overzicht .routes,.aanbod-overzicht .steps--3 { grid-template-columns: 1fr; }
  .route-details__grid { grid-template-columns: 1fr; }
  .route-detail { padding: 25px; }
  .aanbod-overzicht .route h3 { min-height: 0; }
  .route-measure { align-items: flex-start; flex-direction: column; padding: 20px; }
  .route-measure span[aria-hidden] { transform: rotate(90deg); }
  .aanbod-overzicht .route { padding: 26px; }
  .aanbod-overzicht .route__ico { margin-bottom: 16px; }
  .aanbod-overzicht .route h3 { max-width: 34ch; }
  .aanbod-overzicht .beeldtekst { grid-template-columns: 1fr; }
  .aanbod-overzicht .beeldtekst__tekst { order: 0; }
  .aanbod-overzicht .beeldtekst__beeld { order: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .aanbod-overzicht .btn:hover { transform: none; }
}
