/* ======================= FONTS ======================= */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap');
@import url('https://db.onlinewebfonts.com/c/56b1d105d2fa63f97d89d9626b476ec8?family=Bobby+Jones+Soft+Regular');
@import url('https://db.onlinewebfonts.com/c/4d22b68cae407e11b01b78c516928ff8?family=Sailors+Slant');

/* ======================= BASIS LAYOUT (voor oude pagina’s) ======================= */
.vacature-wrap {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  width: 60vw;
  max-width: 60vw;
  padding-left: 0;
  padding-right: 0;
  color: var(--muted-text);
  line-height: 1.5;
}

@media (max-width: 900px) {
  .vacature-wrap {
    width: 90vw;
    max-width: 90vw;
  }
}

/* ======================= HERO (oude) ======================= */
.vac-hero {
  position: relative;
  min-height: clamp(340px, 48vw, 480px);
  background-image: var(--hero-image, none);
  background-size: cover;
  background-position: 50% 30%;
  border-radius: 0;
  box-shadow: none;
  overflow: visible;
}

.vac-hero::before,
.vac-hero::after {
  content: none !important;
  display: none !important;
}

.hero-label {
  position: absolute;
  left: clamp(16px, 2.2vw, 24px);
  bottom: clamp(24px, 4.6vw, 40px);
  background: var(--primary-orange);
  color: #fff;
  padding: 14px 18px 12px;
  border-radius: 0;
  z-index: 2;
  /* max-width: min(88%, 520px); */
}

.hero-label .job-title {
  margin: 0 0 .25em 0;
  font-family: "Sailors Slant", "Poppins", sans-serif;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  font-size: clamp(18px, 3.2vw, 30px);
  line-height: 1.1;
}

.hero-label .hero-sub {
  margin: 0;
  font-family: "Sailors Slant", "Poppins", sans-serif;
  font-weight: 800;
  font-style: italic;
  text-transform: uppercase;
  letter-spacing: .6px;
  font-size: clamp(12px, 1.9vw, 18px);
  color: var(--primary-dark-grey);
}

/* ======================= SECTIES & KAARTEN (oude) ======================= */
.card {
  background: var(--tertiary-lightblue);
  border-radius: 22px;
  padding: clamp(16px, 2.2vw, 22px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, .08);
  color: var(--muted-text);
}

.intro-card {
  background: var(--primary-lightblue);
  margin-top: 2em;
}

.card.alt {
  background: var(--tertiary-light-grey);
}

.card h2 {
  margin: 0 0 .45em;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 900;
}

.card p {
  margin: .4em 0;
}

.card ul {
  margin: .3em 0 0 1.2em;
}

.twocol {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(14px, 2vw, 22px);
}

@media (max-width: 840px) {
  .twocol {
    grid-template-columns: 1fr;
  }
}

/* ======================= TAGLINE (oude) ======================= */
.tagline {
  font-family: "Bobby Jones Soft Regular", "Poppins", sans-serif;
  text-transform: uppercase;
  font-weight: 400;
  font-size: clamp(22px, 4.8vw, 44px);
  line-height: 1.12;
  letter-spacing: .6px;
  text-align: center;
  margin: clamp(10px, 2vw, 16px) 0 6px;
}

.tagline .line1,
.tagline .line2 {
  display: block;
  white-space: nowrap;
  margin: 0;
  font: inherit;
}

.tagline .line1 {
  color: var(--secondary-royalblue);
  margin-bottom: .08em;
}

.tagline .line2 {
  color: var(--tertiary-royalblue);
}

/* ======================= KNOPPEN (oude) ======================= */

.center {
  text-align: center;
}

/* ======================= EXTRA (oude) ======================= */
hr,
.divider {
  border-color: #d8e5ea;
}

.muted {
  color: var(--primary-dark-grey);
}

/* ======================= FSPVAC (gescoped) ======================= */
.fspvac {
  width: 60vw;
  max-width: 60vw;
  color: var(--primary-dark-grey);
}

@media (max-width:900px) {
  .fspvac {
    width: 90vw;
    max-width: 90vw;
  }
}

/* ========== HERO (Feijen SP – paneel 80% breed / 60% hoog, rechts, geen rounded) ========== */
.fspvac .fspvac-hero {
  position: relative;
  min-height: clamp(380px, 48vw, 520px);
  background-size: cover;
  background-position: center;
}

.fspvac .fspvac-hero::before,
.fspvac .fspvac-hero::after {
  content: none !important;
  display: none !important;
}

/* Oranje paneel: 80% breedte, 60% hoogte van de hero; rechts uitgelijnd; geen afgeronde hoeken */
.fspvac .fspvac-hero-label {
  position: absolute;
  right: 0;
  /* raakt rechterrand van de afbeelding */
  top: 50%;
  transform: translateY(-50%);
  width: 80%;
  height: 50%;
  background: rgba(224, 107, 39, 0.5);
  color: #fff;
  padding: clamp(18px, 3.4vw, 34px) clamp(22px, 4.2vw, 40px);
  box-sizing: border-box;
  /* padding telt mee in 80%/60% */
  border-radius: 0;
  box-shadow: none;
  z-index: 2;

  /* inhoud centreren binnen het vlak */
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;

  row-gap: 0;
  font-family: "Bobby Jones Soft Regular", "Poppins", sans-serif;
  text-align: left;
  overflow: hidden;
  /* nette clipping bij kleine hoogtes */
}

/* Hoofdregel: wit, zwaar, uppercase */
.fspvac .fspvac-hero-title {
  margin: 0;
  font-family: "Bobby Jones Soft Regular", "Poppins", sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .6px;
  line-height: 1.06;
  font-size: clamp(28px, 4.6vw, 56px);
  color: #fff;
}

/* Tweede regel: #C0CADE cursief */
.fspvac .fspvac-hero-sub {
  margin: 0;
  font-family: "Bobby Jones Soft Regular", "Poppins", sans-serif;
  font-weight: 900;
  /* font-style: italic; */
  text-transform: uppercase;
  letter-spacing: .6px;
  line-height: 1.06;
  font-size: clamp(28px, 4.6vw, 56px);
  color: var(--tertiary-royalblue);
}


/* Verberg oude blauwe pill buiten het paneel */
.fspvac .fspvac-hero-cta {
  display: none !important;
}

/* Responsive: op mobiel volle-breedte balk onderin (leesbaarheid gaat voor) */
@media (max-width: 960px) {
  .fspvac .fspvac-hero {
    min-height: clamp(320px, 52vw, 460px);
  }

  .fspvac .fspvac-hero-label {
    left: 0;
    right: 0;
    bottom: 0;
    top: auto;
    transform: none;

    width: auto;
    /* reset 80% */
    height: auto;
    /* reset 60% */
    border-radius: 0;
    background: rgba(224, 107, 39, 0.5);
    padding: clamp(16px, 4vw, 24px) clamp(18px, 4.8vw, 28px);

    display: grid;
    row-gap: clamp(6px, 1.2vw, 10px);
    align-items: start;
  }

  .fspvac .fspvac-hero-title {
    font-size: clamp(22px, 6vw, 36px);
  }

  .fspvac .fspvac-hero-sub {
    font-size: clamp(14px, 4.2vw, 24px);
  }
}

.fspvac-h2 {
  margin: 0 0 .45em;
  font-size: clamp(18px, 2.2vw, 22px);
  font-weight: 900;
  color: var(--primary-royalblue);
  text-transform: uppercase;
  letter-spacing: .4px;
}

.fspvac-card {
  background: var(--tertiary-light-grey);
  border-radius: 22px;
  padding: clamp(16px, 2.2vw, 22px);
  box-shadow: 0 12px 26px rgba(0, 0, 0, .08);
  color: var(--primary-dark-grey);
}

.fspvac-card--intro {
  background: var(--primary-lightblue);
}

.fspvac-card--alt {
  background: var(--tertiary-light-grey);
}

.fspvac-ul {
  margin: .3em 0 0 1.2em;
}

/* TAGLINE */
.fspvac-tagline {
  text-align: center;
  line-height: 1.12;
  margin: clamp(10px, 2vw, 16px) 0 6px;
  font-size: clamp(22px, 4.8vw, 44px);
  letter-spacing: .6px;
  font-family: "Bobby Jones Soft Regular", "Poppins", sans-serif;
}

.fspvac-tagline-line1 {
  display: block;
  color: var(--secondary-royalblue);
  margin-bottom: .08em;
}

.fspvac-tagline-line2 {
  display: block;
  color: var(--tertiary-royalblue);
}

/* GRID (2 kolommen + staggered offset) */
.fspvac-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2.2vw, 22px);
  align-items: start;
  grid-auto-flow: dense;
  column-gap: clamp(21px, 3vw, 48px);
  margin-bottom: 2rem;
}

.fspvac-grid>* {
  margin-top: 0;
}

.fspvac-grid>*:nth-child(2n) {
  margin-top: 28px;
}

/* linkerkolom offset */

/* KAARTEN (vierkant, titel zonder bg, blauwe streep) */
.fspvac-cardItem,
.fspvac-ctaTile {
  aspect-ratio: 1/1;
  position: relative;
  overflow: hidden;
  border-radius: 0 !important;
}

.fspvac-cardItem-media {
  position: absolute;
  inset: 0;
  background: #e9eef1 center/cover no-repeat;
  transition: transform .35s ease;
}

.fspvac-cardItem:hover .fspvac-cardItem-media {
  transform: scale(1.03);
}

.fspvac-cardItem-title {
  position: absolute;
  left: 14px;
  right: 14px;
  bottom: 16px;
  color: #fff;
  text-transform: uppercase;
  font-weight: 900;
  letter-spacing: .3px;
  font-size: clamp(20px, 3.0vw, 30px);
  line-height: 1.2;
  padding: 0;
  background: none;
}

.fspvac-cardItem-title::after {
  content: "";
  display: block;
  width: 42px;
  height: 4px;
  margin-top: 6px;
  background: var(--primary-royalblue);
  border-radius: 2px;
  transition: width .24s cubic-bezier(.2, .6, .2, 1);
}

/* groei van blauwe streep op hover */
.fspvac .fspvac-cardItem:hover .fspvac-cardItem-title::after {
  width: clamp(72px, 35%, 140px);
}

.fspvac-cardItem.is-collapsed[hidden] {
  display: none !important;
}

/* CTA-tegel (rechts na kaart #2) — TEKST ONDERIN */
.fspvac-ctaTile {
  grid-column: 2;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: flex-start;
  padding: clamp(18px, 2.6vw, 24px);
  background: var(--primary-orange);
  color: #fff;
  box-shadow: 0 14px 28px rgba(224, 107, 39, .35);
  cursor: pointer;
  text-align: left;
  border: 0 !important;
  outline: none !important;
}

.fspvac-ctaTile-text {
  font-weight: 900;
  text-transform: uppercase;
  font-size: clamp(28px, 4.1vw, 49px);
  line-height: 1.15;
  letter-spacing: .6px;
  display: block;
  max-width: 16ch;
  margin-top: auto;
}

@media (max-width: 880px) {
  .fspvac-ctaTile-text {
    font-size: clamp(16px, 2.3vw, 28px);
  }
}

.fspvac-ctaTile-underline {
  display: block;
  width: 52px;
  height: 6px;
  margin-top: 12px;
  background: var(--primary-royalblue);
  border-radius: 3px;
}

/* Animatie voor nieuw onthulde kaarten */
@keyframes fspvac-fade-up {
  from {
    opacity: 0;
    transform: translateY(16px) scale(0.98);
  }

  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}

.fspvac .fspvac-cardItem.fspvac-reveal {
  opacity: 0;
  animation: fspvac-fade-up 0.5s cubic-bezier(.2, .6, .2, 1) forwards;
  animation-delay: var(--fspvac-delay, 0s);
  will-change: transform, opacity;
}

@media (prefers-reduced-motion: reduce) {
  .fspvac .fspvac-cardItem.fspvac-reveal {
    animation: none;
    opacity: 1;
    transform: none;
  }
}

/* Muted tekst alleen in dit blok */
.fspvac-muted {
  color: var(--primary-light-grey);
}

/* Basis: korte streep + animatie */
.fspvac .fspvac-ctaTile-underline {
  width: 52px;
  height: 6px;
  background: var(--primary-royalblue);
  border-radius: 3px;
  transition: width .24s cubic-bezier(.2, .6, .2, 1);
}

@media (prefers-reduced-motion: reduce) {
  .fspvac .fspvac-ctaTile-underline {
    transition: none;
  }
}

/* ================== FSPVAC INFO BLOKKEN (strak, geen achtergrond) ================== */
.fspvac-info {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: clamp(16px, 2.2vw, 24px);
  align-items: start;
}

.fspvac-info-item {
  background: transparent;
  padding: 0;
}

/* Kopstijlen */
.fspvac-info-title {
  margin: 0 0 .4em;
  font-size: clamp(20px, 2.4vw, 26px);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .4px;
  color: var(--primary-royalblue);
  font-family: "Bobby Jones Soft Regular", "Poppins", sans-serif;
}

.fspvac-info-title--orange {
  color: var(--primary-orange);
}

.fspvac-info-title--right {
  text-align: right;
}

.fspvac-text--right {
  text-align: right;
}

.fspvac-ul {
  margin: .3em 0 0 1.2em;
}

@media (max-width: 840px) {
  .fspvac-info {
    grid-template-columns: 1fr;
  }

  .fspvac-info-title--right,
  .fspvac-text--right {
    text-align: left;
  }
}

.fspvac .fspvac-info {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 2.2vw, 24px);
}

.fspvac .fspvac-info-item {
  justify-self: start;
}

.fspvac .fspvac-info-offer,
.fspvac .fspvac-info-visit {
  justify-self: end;
  text-align: right;
}

.fspvac .fspvac-info-title--right {
  text-align: right;
}

@media (max-width: 840px) {
  .fspvac .fspvac-info-item {
    width: 100%;
    max-width: 100%;
    justify-self: stretch;
    text-align: left;
  }
}

@media (max-width: 760px) {
  .fspvac-grid {
    grid-template-columns: 1fr;     
    column-gap: 0;              
    row-gap: clamp(14px, 3.5vw, 18px); 
  }

  .fspvac-grid > *:nth-child(2n) {
    margin-top: 0;
  }

  .fspvac-ctaTile {
    grid-column: auto;
  }

  .fspvac-cardItem,
  .fspvac-ctaTile {
    aspect-ratio: auto;
    min-height: 56vw; 
  }

  .fspvac-cardItem-title {
    font-size: clamp(16px, 5vw, 22px);
    left: 12px;
    right: 12px;
    bottom: 14px;
  }
}
