/* =========================================================
   VELO VITAL — Fietsvakanties page
   Travel / adventure feel — trips by Merel & Karin
   ========================================================= */

/* ---------- hero ---------- */
.vak-hero{
  position:relative;min-height:55vh;display:flex;align-items:center;justify-content:center;
  padding:9rem clamp(1.1rem,4vw,2.2rem) 4rem;overflow:hidden;isolation:isolate;
  background:var(--purple);text-align:center;
}
.vak-hero::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(ellipse at 30% 60%,rgba(255,47,178,.5),transparent 55%),
    radial-gradient(ellipse at 70% 30%,rgba(255,140,35,.45),transparent 50%);
  pointer-events:none;
}
.vak-hero__bg{position:absolute;inset:0;z-index:-1;overflow:hidden}
.vak-hero__content{position:relative;max-width:740px;margin:0 auto}
.vak-hero .eyebrow{color:rgba(255,255,255,.9);border:1.5px solid rgba(255,255,255,.4);padding:.45rem 1.1rem;border-radius:100px;font-size:.75rem;display:inline-block;margin-bottom:1.4rem}
.vak-hero h1{font-size:clamp(3rem,8vw,6rem);color:#fff;margin-bottom:1.2rem}
.vak-hero h1 em{font-style:normal;color:var(--orange)}
.vak-hero p{font-size:clamp(1.02rem,1.8vw,1.25rem);color:rgba(255,255,255,.92);max-width:56ch;margin:0 auto;line-height:1.7}

/* ---------- intro ---------- */
.vak-intro{max-width:var(--maxw);margin:0 auto;padding:3.5rem clamp(1.1rem,4vw,2.2rem) 0}
.vak-intro__inner{max-width:720px;margin:0 auto;text-align:center}
.vak-intro__lead{font-size:1.15rem;color:rgba(26,11,24,.72);line-height:1.7}

/* ---------- trip cards ---------- */
.trips{max-width:var(--maxw);margin:0 auto;padding:3.5rem clamp(1.1rem,4vw,2.2rem) 5rem}
.trips__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:2rem}

.trip-card{
  display:flex;flex-direction:column;border-radius:var(--r-lg);overflow:hidden;
  background:#fff;border:1.5px solid rgba(128,0,255,.08);
  box-shadow:var(--shadow-sm);transition:transform .5s var(--ease),box-shadow .5s var(--ease);
}
.trip-card:hover{transform:translateY(-8px);box-shadow:var(--shadow)}
.trip-card--wide{grid-column:1 / -1}

/* card image areas — each trip gets its own feel */
.trip-card__img{
  position:relative;height:220px;overflow:hidden;
  background-size:cover;background-position:center;
}
.trip-card--wide .trip-card__img{height:260px}

.trip-card__img--belgie{
  background:url('assets/finish-belgie.jpg') center/cover no-repeat;
}
.trip-card__img--parijs{
  background:url('assets/finish-parijs.jpg') center/cover no-repeat;
}
.trip-card__img--luxemburg{
  background:url('assets/finish-luxemburg.jpg') center/cover no-repeat;
}
.trip-card__img--berlijn{
  background:url('assets/finish-berlijn.jpg') center/cover no-repeat;
}
.trip-card__img--london{
  background:url('assets/finish-londen.jpg') center/cover no-repeat;
}

.trip-card__overlay{
  position:absolute;inset:0;
  background:linear-gradient(to top,rgba(0,0,0,.45) 0%,rgba(0,0,0,.05) 50%,transparent 100%);
}

/* route label on image */
.trip-card__route-label{
  position:absolute;bottom:1.2rem;left:1.4rem;z-index:3;
  display:flex;align-items:center;gap:.6rem;
  background:rgba(0,0,0,.35);backdrop-filter:blur(8px);
  padding:.45rem 1rem;border-radius:100px;
}
.trip-card__from,.trip-card__to{
  font-size:.78rem;font-weight:700;color:#fff;letter-spacing:.04em;
}

.trip-card__badge{
  position:absolute;top:1rem;left:1rem;
  background:var(--purple);color:#fff;font-size:.72rem;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;padding:.4rem .9rem;border-radius:100px;
  box-shadow:0 4px 12px rgba(128,0,255,.4);z-index:4;
}

.trip-card__body{padding:1.8rem;display:flex;flex-direction:column;flex:1}
.trip-card__meta{display:flex;align-items:center;gap:.7rem;margin-bottom:.8rem}
.trip-card__tag{
  font-size:.72rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--purple);background:rgba(128,0,255,.08);padding:.3rem .7rem;border-radius:100px;
}

.trip-card h3{font-size:1.6rem;margin-bottom:.5rem;color:var(--ink)}
.trip-card__body>p{font-size:.95rem;color:rgba(26,11,24,.7);margin-bottom:1.2rem;line-height:1.6}

.trip-card__details{
  list-style:none;display:flex;flex-wrap:wrap;gap:.8rem 1.4rem;
  padding:1rem 0;border-top:1px solid rgba(128,0,255,.1);margin-bottom:1.4rem;
}
.trip-card__details li{
  display:flex;align-items:center;gap:.4rem;font-size:.85rem;font-weight:600;color:rgba(26,11,24,.7);
}
.trip-card__details svg{color:var(--purple);flex-shrink:0}

.trip-card__actions{display:flex;align-items:center;gap:1rem;margin-top:auto}
.trip-card__dl{
  display:flex;align-items:center;gap:.35rem;font-weight:700;font-size:.85rem;
  color:var(--purple);transition:transform .3s var(--ease);
}
.trip-card__dl:hover{transform:translateY(-2px)}
.trip-card__dl svg{transition:transform .3s var(--ease)}
.trip-card__dl:hover svg{transform:translateY(2px)}

/* ---------- bikepacking section ---------- */
.bikepacking{
  padding:5rem clamp(1.1rem,4vw,2.2rem);
  background:var(--purple);position:relative;overflow:hidden;
}
.bikepacking::before{
  content:"";position:absolute;inset:0;
  background:
    radial-gradient(circle at 10% 80%,rgba(255,47,178,.4),transparent 50%),
    radial-gradient(circle at 90% 20%,rgba(255,140,35,.35),transparent 50%);
  pointer-events:none;
}
.bikepacking__inner{
  position:relative;max-width:var(--maxw);margin:0 auto;
  display:grid;grid-template-columns:1.1fr 1fr;gap:3.5rem;align-items:center;
}
.bikepacking__text{color:#fff}
.bikepacking .eyebrow{
  color:var(--orange);background:rgba(255,140,35,.15);border:1.5px solid rgba(255,140,35,.4);
  padding:.4rem 1rem;border-radius:100px;display:inline-block;margin-bottom:1.2rem;
  font-size:.75rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.bikepacking h2{font-size:clamp(2.2rem,5vw,3.4rem);margin-bottom:1.2rem;color:#fff}
.bikepacking h2 em{font-style:normal;color:var(--orange)}
.bikepacking__text>p{font-size:1.05rem;color:rgba(255,255,255,.9);line-height:1.7;margin-bottom:1rem}
.bikepacking__points{
  list-style:none;display:flex;flex-direction:column;gap:.6rem;margin-top:1.6rem;
}
.bikepacking__points li{
  position:relative;padding-left:1.7rem;font-size:.95rem;font-weight:600;color:rgba(255,255,255,.92);
}
.bikepacking__points li::before{
  content:"";position:absolute;left:0;top:.35em;width:14px;height:8px;
  border-left:2.5px solid var(--orange);border-bottom:2.5px solid var(--orange);
  transform:rotate(-45deg);
}

/* signup card */
.bikepacking__card{
  background:rgba(255,255,255,.12);backdrop-filter:blur(16px);
  border:1.5px solid rgba(255,255,255,.25);border-radius:var(--r-lg);
  padding:2.4rem;color:#fff;
}
.bikepacking__card h3{font-size:1.5rem;margin-bottom:.7rem}
.bikepacking__card>p{font-size:.95rem;color:rgba(255,255,255,.85);margin-bottom:1.4rem;line-height:1.6}
.bikepacking__form{display:flex;flex-direction:column;gap:.9rem}
.bikepacking__form input[type=email]{
  width:100%;padding:1rem 1.3rem;border-radius:100px;
  border:2px solid rgba(255,255,255,.45);background:rgba(255,255,255,.12);
  color:#fff;font-family:var(--font-b);font-size:1rem;font-weight:500;
  backdrop-filter:blur(6px);transition:border-color .3s,background .3s;
}
.bikepacking__form input[type=email]::placeholder{color:rgba(255,255,255,.7)}
.bikepacking__form input[type=email]:focus{outline:none;border-color:#fff;background:rgba(255,255,255,.22)}
.bikepacking__check{
  display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.88rem;color:rgba(255,255,255,.9);
}
.bikepacking__check input[type=checkbox]{
  width:18px;height:18px;margin-top:.1em;accent-color:var(--orange);flex-shrink:0;cursor:pointer;
}
.bikepacking__form .btn{margin-top:.3rem}

/* success state */
.bikepacking__success{text-align:center;padding:1.5rem 0}
.bikepacking__done-icon{
  width:56px;height:56px;border-radius:50%;background:#fff;color:var(--purple);
  display:grid;place-items:center;margin:0 auto 1rem;
}
.bikepacking__success p{font-size:1.05rem;color:rgba(255,255,255,.95)}
.bikepacking__success strong{color:#fff}

/* ---------- responsive ---------- */
@media(max-width:1000px){
  .bikepacking__inner{grid-template-columns:1fr;gap:2.5rem}
}
@media(max-width:760px){
  .trips__grid{grid-template-columns:1fr}
  .trip-card--wide{grid-column:auto}
  .nav__links{display:none}
  .nav__cta{display:none}
  .nav__burger{display:flex}
}
