/* ============ Page: Diensten  ============ */

.services-hero {
  background: var(--dark);
  color: var(--white);
  padding: 80px 20px;
  text-align: center;
}

.services-hero p {
  opacity: 0.8;
  max-width: 600px;
  margin: 0 auto;
}

.services-detail-list {
  max-width: 1100px;
  margin: 80px auto;
  padding: 0 20px;
}

.service-block {
  display: flex;
  align-items: center;
  gap: 80px;
  margin-bottom: 150px; 
  
  scroll-margin-top: 120px; 
}

.service-block:nth-child(even) {
  flex-direction: row-reverse;
}

.service-content {
  flex: 1;
}

.service-image {
  flex: 1;
}

.service-image img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  border-radius: 10px;
  box-shadow: 0 20px 40px rgba(0,0,0,0.1);
  transition: transform 0.4s ease;
}

.service-block:hover .service-image img {
  transform: scale(1.02);
}

.service-num {
  font-size: 4rem;
  font-weight: 900;
  color: var(--green);
  opacity: 0.1;
  line-height: 1;
  display: block;
  margin-bottom: -20px;
}

.service-content h2 {
  font-size: 2.5rem;
  color: var(--black);
  margin-bottom: 20px;
}

.service-content p {
  line-height: 1.8;
  color: #555;
  margin-bottom: 25px;
  font-size: 1.1rem;
}

.service-content ul {
  list-style: none;
  padding: 0;
}

.service-content li {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 15px;
  font-weight: 500;
  color: var(--dark);
}

.service-content li i {
  color: var(--green);
  font-size: 1.2rem;
}

.service-cta {
  display: inline-block;
  margin-top: 20px;
  color: var(--green);
  text-decoration: none;
  font-weight: 700;
  border-bottom: 2px solid transparent;
  transition: 0.3s;
}

.service-cta:hover {
  border-bottom-color: var(--green);
  padding-right: 10px;
}

/* Fix voor scheve blokken op desktop */
.service-block {
    align-items: center; /* Dit houdt de korte tekst netjes gecentreerd naast de grote foto */
}

.service-content, .service-image {
    flex: 1;
    min-width: 0; /* Voorkomt dat flex-items uit hun container breken */
}