body {
  margin: 0;
  font-family: "Segoe UI", Arial, sans-serif;
  background: #111;
  color: #fff;
}



/* Hero */
.hero { 
  position: relative; height: 50vh; 
  background: url(/assets/hero-bg.jpg) center center no-repeat; 
  background-size: cover; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
  color: #fff; 
}

.hero-overlay { 
  background: rgba(0,0,0,0.6); /* donkere overlay */ 
  width: 100%; 
  height: 95%; 
  display: flex; 
  align-items: center; 
  justify-content: center; 
}

.hero-content {
  max-width: 800px;
}

.hero h1 {
  font-size: 3rem;
  margin-bottom: 20px;
}

.highlight {
  color: #ff3d00;
  font-weight: bold;
}

/* Diensten */
.diensten {
  padding: 80px 20px;
  text-align: center;
}

.diensten h2 {
  font-size: 2.2rem;
  margin-bottom: 40px;
  color: #ff3d00;
}

.grid {
  display: grid;
  gap: 20px;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  max-width: 1440px;
  margin: 0 auto;
}

.card {
  background: #303030;
  padding: 20px;
  border-radius: 10px;
  transition: transform 0.2s, box-shadow 0.3s;
}

.card:hover {
  transform: translateY(-5px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.4);
}

.card .icon {
  font-size: 2.5rem;
  margin-bottom: 15px;
  color: #ff3d00;
  background: #ff3d00; 
  color: #000; 
  width: 70px; 
  height: 70px; 
  border-radius: 50%;
  display: flex; 
  align-items: center; 
  justify-content: center; 
  margin: 0 auto 15px auto;
  transition: transform 0.3s;
}

.card:hover .icon {
  transform: rotate(15deg);
}

.card h3 {
  margin-bottom: 10px;
}

.hidden{
  visibility: hidden;
}

/* CTA */
.cta {
  background: linear-gradient(135deg, #ff3d00 55%, #000 30%);
  color: #ffffff;
  text-align: center;
  padding: 60px 20px;
}

.cta h2 {
  font-size: 2rem;
  margin-bottom: 15px;
}

.cta p {
  margin-bottom: 25px;
  font-size: 1.1rem;
}

.btn {
  display: inline-block;
  background: #ff3d00;
  color: #000;
  padding: 12px 25px;
  font-weight: bold;
  border-radius: 5px;
  text-decoration: none;
  transition: background 0.2s;
}

.btn:hover {
  background: #fff;
  color: #000;
}



/* --- RESPONSIVE --- */

/* Tablet */
@media (max-width: 1024px) {
  .hero {
    height: 60vh;
  }

  .hero h1 {
    font-size: 2.2rem;
  }
}

/* Telefoon */
@media (max-width: 768px) {
  .hero {
    height: 75vh;
    padding: 60px 15px;
  }

  .hero h1 {
    font-size: 1.8rem;
  }
}
