/*
 * Vacature detail page styles
 * Page: /wie-zijn-we/vacatures/junior-medior-developer/
 */

/* ============================================
   VACATURE DETAIL HERO (space background)
   ============================================ */
#vacature-space-background {
  margin-top: 80px;
  width: 100%;
  height: 65vh;
  object-fit: cover;
  overflow: hidden;
}

#vacaturerookwolk {
  margin-top: -8%;
  width: 100%;
  overflow: hidden;
}

#vacaturejames {
  position: absolute;
  top: 72vh;
  left: 10vw;
  width: 27vh;
  height: auto;
}

#vacature-page-title-wrapper {
  position: absolute;
  top: 13vh;
  left: 17vw;
  width: 32vw;
  color: var(--accent-green);
  font-size: 12.2px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  p {
    color: var(--white);
  }
}

#vacature-page-title-wrapper #page-title {
  font-weight: 600;
  font-size: 3em;
  line-height: 1em;
}

#vacature-page-title-wrapper #page-subtitle {
  font-weight: 700;
  font-size: 5em;
  line-height: 1em;
}

#vacature-page-title-wrapper #page-description {
  font-weight: 400;
  font-size: 1.5em;
  line-height: 1em;
  color: var(--white);
  display: flex;
  flex-direction: column;
  gap: 16px;
}

#vacature-page-title-wrapper #page-description .larger {
  font-weight: 600;
  font-size: 1.75em;
  line-height: 1em;
}

#page-content {
  margin-top: -200px;
}

/* ============================================
   TEXT GRID BOX + CHECKMARK
   ============================================ */

.text-grid-box {
  background: linear-gradient(to bottom, #004f89, #003a71);
  padding: 0;
  width: 100%;
  border-radius: 8px;
  min-height: 0;
  position: relative;
  height: 100%;
  grid-column: span 1;
  justify-content: center;
  display: flex;
  align-items: center;
}

.text-grid-box p {
  margin: 8px 8px;
  width: 100%;
}

.text-grid-box.nogradient {
  background: var(--blue-300);
  max-width: 30vw;
  min-height: 80px;
}

.text-grid-box.double {
  grid-column: span 2;
  justify-content: center;
}

.checkmark-alternate {
  color: var(--accent-green);
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
}

/* ============================================
   NARROW SECTION
   ============================================ */

.narrow-section h2,
.narrow-description {
  max-width: 670px;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 30px;
}

.narrow-section {
  padding-top: 80px;
}

/* ============================================
   VACATURE DETAIL MOBILE
   ============================================ */
@media (max-width: 1023px) {
  #page-content {
    margin-top: -20px;
  }

  .narrow-section {
    padding: 0 18px;
  }

  .text-grid-box.nogradient {
    max-width: 90vw;
    min-height: 0px;
  }

  #vacature-space-background {
    margin-top: 40px;
    width: 100%;
    height: 65vh;
    object-fit: cover;
    overflow: hidden;
  }

  #vacaturerookwolk {
    margin-top: -8%;
    width: 100%;
    overflow: hidden;
  }

  #vacaturejames {
    position: absolute;
    top: 70vh;
    left: 8vw;
    width: 20vh;
    height: auto;
  }

  #vacature-page-title-wrapper {
    position: absolute;
    top: 13vh;
    left: 2vw;
    width: 96vw;
    color: var(--accent-green);
    font-size: 12.2px;
  }

  #vacature-page-title-wrapper #page-title {
    font-weight: 600;
    font-size: 2em;
    line-height: 1em;
  }

  #vacature-page-title-wrapper #page-subtitle {
    font-weight: 700;
    font-size: 3em;
    line-height: 1em;
  }

  #vacature-page-title-wrapper #page-description {
    font-weight: 400;
    font-size: 1.4em;
    line-height: 1em;
    color: var(--white);
  }

  #vacature-page-title-wrapper #page-description .larger {
    font-weight: 600;
    font-size: 1.8em;
    line-height: 1em;
  }

  /* Style for vacature1.jpg image */
  #vacature1-img {
    height: 80vh;
    object-fit: cover;
  }

  /* Adjust text overlay position on mobile */
  #vacature1-text-overlay {
    left: 5vw !important;
    width: 90vw !important;
    padding: 15px 0 !important;
    justify-content: center !important;
    gap: 10px;
  }

  /* --- Timeline Mobile Adjustments --- */
  .timeline {
    padding: 40px 20px;
  }

  .timeline::before {
    display: none;
  }

  .timeline-items {
    flex-direction: column;
    align-items: center;
    gap: 20px;
    align-items: initial;
  }

  .item {
    display: block;
    flex-basis: auto;
    grid-template-rows: auto;
    width: 100%;
    max-width: 400px;
  }

  .item::before {
    display: none;
  }

  .node {
    display: none;
  }

  .card {
    max-width: 100%;
    margin-bottom: 0;
  }
  /* --- End Timeline Mobile Adjustments --- */

  /* --- Skills Accordion Mobile Adjustments --- */
  .skills-container {
    display: block;
  }

  .skills-tabs {
    flex-basis: auto;
    width: 100%;
  }

  .skills-content {
    display: none !important;
  }

  .skill-tab {
    width: 100%;
    border-radius: 8px !important;
    margin-right: 0 !important;
    justify-content: space-between;
    position: relative;
    z-index: 1;
  }

  /* Add caret icon */
  .skill-tab::after {
    content: "\2304";
    font-size: 1.5em;
    line-height: 1;
    margin-left: 15px;
    transition: transform 0.2s ease;
  }

  /* Hide original desktop arrow span on mobile */
  .skill-tab .desktop-arrow {
    display: none;
  }

  .skill-pane {
    background-color: var(--card-bg1);
    color: #8dceef;
    padding: 20px;
    border-radius: 0 0 8px 8px;
    margin-top: -8px;
    position: relative;
    z-index: 0;
  }

  /* Active state for mobile */
  .skill-tab.mobile-active {
    border-bottom-left-radius: 0 !important;
    border-bottom-right-radius: 0 !important;
    z-index: 2;
  }

  .skill-tab.mobile-active::after {
    transform: rotate(180deg);
    content: "\2303";
  }
  /* --- End Skills Accordion Mobile Adjustments --- */

  /* Reduce top margin for Skills section on mobile */
  #skills-section {
    margin-top: 20px !important;
    padding-top: 40px !important;
  }

  /* --- Soft Skills Mobile Adjustments --- */
  .soft-skills-grid {
    grid-template-columns: 1fr !important;
    gap: 20px !important;
    padding: 0 10px !important;
    max-width: 400px !important;
    margin: 0 auto !important;
  }

  #soft-skills-section {
    padding: 40px 0px;
    margin-top: 20px;
  }
  /* --- End Soft Skills Mobile Adjustments --- */
}
