/* Gelegenheden: same design system as Zangeres / Spreker / Zorgcongres.
   Reuse theme.css detail-section, detail-grid, process-section, faq-section,
   routes-section, route-card and page-cta unchanged. No independent font scale. */
.occasion-page{background:var(--ls-primary);color:var(--ls-dark)}
.occasion-page .occasion-small-label{
  margin:0 0 16px;
  color:var(--ls-dark);
  text-transform:uppercase;
  font-size:13px;
  font-weight:600;
  letter-spacing:.09em;
  line-height:1.5;
}
.occasion-page .occasion-small-label::before{
  content:"";display:inline-block;vertical-align:middle;
  width:27px;height:1px;background:var(--ls-gold);margin-right:12px;
}
.occasion-page .detail-copy .occasion-pitch{font-weight:500}
.occasion-page .occasion-experience .detail-media img{object-position:center 32%}
.occasion-page .occasion-inline-link{display:inline-flex;align-items:center;gap:8px}
.occasion-page .occasion-centered{max-width:860px;margin:0 auto;text-align:center}
.occasion-page .occasion-centered p{margin:0 auto 22px;max-width:800px}
.occasion-page .occasion-centered .inline-link{display:inline-block;margin-top:8px}
.occasion-page .occasion-route-card__more{
  display:inline-flex;gap:10px;align-items:center;margin-top:auto;
  font-size:15px;font-weight:600;text-decoration:underline;text-decoration-color:var(--ls-gold);
  text-underline-offset:5px;
}
.occasion-page .occasion-route-card{min-height:320px}
.occasion-page .occasion-route-card p{max-width:350px}
.occasion-page .occasion-all{margin:48px 0 0;text-align:center}
.occasion-page .occasion-all .inline-link{display:inline-block}
.occasion-page .occasion-related{background:var(--ls-primary)}
.occasion-page .occasion-overview-routes{background:var(--ls-ash)}
.occasion-page .detail-media img{object-fit:cover}
.occasion-page .route-card:focus-visible{outline:3px solid var(--ls-gold);outline-offset:4px}
@media(max-width:991px){
  .occasion-page .occasion-grid .route-card:last-child{
    grid-column:auto;width:100%;justify-self:stretch;
  }
  .occasion-page .occasion-opening .detail-copy{text-align:center}
  .occasion-page .occasion-opening .occasion-small-label::before{width:20px}
}
@media(max-width:767px){
  .occasion-page .occasion-opening .detail-media--landscape{aspect-ratio:5/4}
  .occasion-page .occasion-opening .detail-media--landscape img{min-height:0}
  .occasion-page .occasion-route-card{min-height:290px}
  .occasion-page .occasion-small-label{font-size:12px}
  .occasion-page .occasion-all{margin-top:34px}
}
@media(prefers-reduced-motion:reduce){
  .occasion-page .occasion-route-card{transition:none}
}

/* Tighten the first impression without introducing a new visual language. */
.occasion-page .occasion-opening .occasion-tagline{
  position:relative;margin:0 0 22px!important;padding-left:17px;
  border-left:2px solid var(--ls-gold);
  font-weight:600;line-height:1.55;color:#4c5561;
  font-size:18px;
}
.occasion-page .occasion-opening .occasion-pitch{
  margin:0 0 18px;font-size:17px;line-height:1.72;
}
.occasion-page .occasion-opening .detail-copy h1{
  text-wrap:balance;letter-spacing:-.028em;
}
.occasion-page .occasion-experience{
  border-top:1px solid rgba(10,17,34,.055);
}
.occasion-page .occasion-experience .detail-media{background:#f0efed}
.occasion-page .occasion-approach .inline-link{padding-bottom:4px;border-bottom:1px solid var(--ls-gold)}
@media(max-width:991px){
  .occasion-page .occasion-opening .occasion-tagline{
    width:fit-content;max-width:100%;margin-left:auto!important;margin-right:auto!important;
    padding:0 0 12px;border:0;border-bottom:2px solid var(--ls-gold);
  }
}
@media(max-width:767px){
  .occasion-page .occasion-opening .occasion-tagline{font-size:16px}
  .occasion-page .occasion-opening .occasion-pitch{font-size:16px}
}

/* A purposeful, distinct ending on each occasion page.
   Still the standard site-wide navy page-cta; original font sizes unchanged. */
.occasion-page .occasion-close .occasion-close__eyebrow {
  display:inline-flex;
  align-items:center;
  gap:12px;
  margin:0 auto 15px;
  color:var(--ls-gold);
  font-size:12px;
  letter-spacing:.14em;
  line-height:1.6;
  font-weight:600;
  text-transform:uppercase;
}
.occasion-page .occasion-close .occasion-close__eyebrow::before,
.occasion-page .occasion-close .occasion-close__eyebrow::after {
  content:"";
  display:block;
  flex:none;
  height:1px;
  width:22px;
  background:var(--ls-gold);
  opacity:.85;
}
.occasion-page .occasion-close h2{
  text-wrap:balance;
}
.occasion-page .occasion-close .occasion-close__copy {
  max-width:650px;
  margin:0 auto 23px;
}
.occasion-page .occasion-close .occasion-close__meta {
  display:flex;
  justify-content:center;
  flex-wrap:wrap;
  gap:8px 0;
  padding:0;
  margin:0 auto 31px;
  list-style:none;
}
.occasion-page .occasion-close .occasion-close__meta li {
  display:flex;
  align-items:center;
  color:#f2f1ed;
  font-size:14px;
  line-height:1.55;
  padding:0 14px;
}
.occasion-page .occasion-close .occasion-close__meta li+li::before {
  content:"";
  width:3px;
  height:3px;
  border-radius:50%;
  background:var(--ls-gold);
  margin-right:25px;
}
@media(max-width:767px){
  .occasion-page .occasion-close .occasion-close__eyebrow{font-size:11px}
  .occasion-page .occasion-close .occasion-close__meta{gap:9px 5px}
  .occasion-page .occasion-close .occasion-close__meta li{
    padding:0 8px;
    font-size:13px;
  }
  .occasion-page .occasion-close .occasion-close__meta li+li::before{
    margin-right:10px;
  }
}

/* Gelegenheden overview: restore the original image-led gallery of authentic
   Lisanne images. No collage and no secondary design language. */
.occasion-page .occasion-overview-hero{
  padding:clamp(66px,6vw,88px) 0 clamp(65px,5vw,82px);
  background:linear-gradient(180deg,#f9fafb 0%,#f3f0e9 100%);
  text-align:center;
}
.occasion-page .occasion-overview-hero .ls-container{max-width:940px}
.occasion-page .occasion-overview-hero__eyebrow{
  display:inline-flex;align-items:center;gap:12px;
  margin:0;color:#4d5661;font-size:12px;font-weight:600;
  letter-spacing:.14em;line-height:1.6;text-transform:uppercase;
}
.occasion-page .occasion-overview-hero__eyebrow::before,
.occasion-page .occasion-overview-hero__eyebrow::after{
  content:"";display:block;flex:none;width:25px;height:1px;background:var(--ls-gold);
}
.occasion-page .occasion-overview-hero h1{
  max-width:830px;margin:20px auto 24px;
  font-size:clamp(43px,4.6vw,68px);line-height:1.12;letter-spacing:-.035em;
  text-wrap:balance;
}
.occasion-page .occasion-overview-hero__intro{
  max-width:810px;margin:0 auto;font-size:19px;line-height:1.77;color:#424957;
}
.occasion-page .occasion-overview-hero__subtext{
  max-width:740px;margin:14px auto 0;font-size:16px;line-height:1.7;color:#5c636e;
}
.occasion-page .occasion-overview-hero__link{
  display:inline-flex;align-items:center;gap:11px;
  margin-top:21px;padding:7px 0 10px;
  border-bottom:1px solid var(--ls-gold);
  text-decoration:none;font-size:16px;font-weight:600;
}
.occasion-page .occasion-overview-hero__link span{
  font-size:20px;line-height:1;transition:transform .25s ease;
}
.occasion-page .occasion-overview-hero__link:hover span,
.occasion-page .occasion-overview-hero__link:focus-visible span{transform:translateY(3px)}
.occasion-page .occasion-overview-routes{
  background:var(--ls-ash);
  padding-top:clamp(70px,6.5vw,104px);
}
.occasion-page .occasion-gallery-grid{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:26px 23px;
}
.occasion-page .occasion-photo-card{
  display:flex;flex-direction:column;min-width:0;
  background:#fff;border:1px solid rgba(10,17,34,.075);
  border-radius:12px;overflow:hidden;
  color:var(--ls-dark);text-decoration:none;
  transition:transform .26s ease,box-shadow .26s ease;
}
.occasion-page .occasion-photo-card:hover,
.occasion-page .occasion-photo-card:focus-visible{
  transform:translateY(-4px);
  box-shadow:0 18px 44px rgba(10,17,34,.095);
}
.occasion-page .occasion-photo-card:focus-visible{
  outline:3px solid var(--ls-gold);outline-offset:3px;
}
.occasion-page .occasion-photo-card__media{
  width:100%;aspect-ratio:16/10;
  background:#eae4dc;overflow:hidden;
}
.occasion-page .occasion-photo-card__media img{
  display:block;width:100%;height:100%;
  object-fit:cover;object-position:center 39%;
  transition:transform .5s ease;
}
.occasion-page .occasion-photo-card:hover .occasion-photo-card__media img{
  transform:scale(1.04);
}
.occasion-page .occasion-photo-card__content{
  display:flex;flex-direction:column;align-items:stretch;
  flex:1;padding:27px 29px 29px;
}
.occasion-page .occasion-photo-card__eyebrow{
  color:#4d5661;font-size:11px;font-weight:600;
  line-height:1.5;letter-spacing:.13em;text-transform:uppercase;
}
.occasion-page .occasion-photo-card h3{
  font-size:27px;line-height:1.25;
  margin:12px 0 12px;letter-spacing:-.028em;
}
.occasion-page .occasion-photo-card p{
  font-size:15px;line-height:1.75;color:#535b67;
  margin:0 0 26px;flex:1;
}
.occasion-page .occasion-photo-card__link{
  align-self:stretch;display:flex;align-items:center;justify-content:space-between;
  gap:18px;padding-top:16px;
  border-top:1px solid rgba(10,17,34,.095);
  font-size:14px;font-weight:600;line-height:1.5;
}
.occasion-page .occasion-photo-card__link span{
  font-size:18px;line-height:1;color:var(--ls-dark);
  transition:transform .24s ease;
}
.occasion-page .occasion-photo-card:hover .occasion-photo-card__link span{
  transform:translate(3px,-2px);
}
@media (min-width:768px) and (max-width:1050px){
  .occasion-page .occasion-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .occasion-page .occasion-overview-hero h1{font-size:clamp(43px,5.2vw,58px)}
}
@media (max-width:767px){
  .occasion-page .occasion-overview-hero{padding:57px 0 64px}
  .occasion-page .occasion-overview-hero h1{
    font-size:clamp(34px,9vw,43px);
    margin:17px auto 21px;
  }
  .occasion-page .occasion-overview-hero__eyebrow{font-size:10px}
  .occasion-page .occasion-overview-hero__eyebrow::before,
  .occasion-page .occasion-overview-hero__eyebrow::after{width:16px}
  .occasion-page .occasion-overview-hero__intro{font-size:16px;line-height:1.75}
  .occasion-page .occasion-overview-hero__subtext{font-size:15px}
  .occasion-page .occasion-overview-routes{padding-top:68px}
  .occasion-page .occasion-gallery-grid{grid-template-columns:minmax(0,1fr);gap:19px}
  .occasion-page .occasion-photo-card__media{aspect-ratio:16/10}
  .occasion-page .occasion-photo-card__content{padding:24px 24px 26px}
  .occasion-page .occasion-photo-card h3{font-size:26px}
}
@media(prefers-reduced-motion:reduce){
  .occasion-page .occasion-photo-card,
  .occasion-page .occasion-photo-card__media img,
  .occasion-page .occasion-photo-card__link span,
  .occasion-page .occasion-overview-hero__link span{transition:none}
  .occasion-page .occasion-photo-card:hover,
  .occasion-page .occasion-photo-card:hover .occasion-photo-card__media img,
  .occasion-page .occasion-photo-card:hover .occasion-photo-card__link span,
  .occasion-page .occasion-overview-hero__link:hover span{transform:none}
}
