:root{
  --adv-green:#0FA958;
  --adv-green-dark:#08763e;
  --adv-blue:#123d68;
  --adv-dark:#101820;
  --adv-light:#f4f7fb;
  --adv-border:#dde5ee;
  --adv-yellow:#f7c948;
}

.adviseur-page{
  background:var(--adv-light);
  padding:34px 16px 60px;
}

.adviseur-hero,
.adviseur-card,
.results-head,
.advies-result,
.no-results,
.intro-blocks{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

.adviseur-hero{
  background:linear-gradient(135deg,var(--adv-green),var(--adv-green-dark));
  color:#fff;
  border-radius:22px;
  padding:34px;
  margin-bottom:22px;
  box-shadow:0 18px 44px rgba(15,169,88,.18);
}

.adviseur-hero h1{
  margin:6px 0 10px;
  font-size:38px;
  line-height:1.1;
  color:#fff;
}

.adviseur-hero p{
  max-width:760px;
  margin:0;
  font-size:17px;
  line-height:1.55;
}

.eyebrow{
  display:inline-block;
  background:rgba(255,255,255,.18);
  border:1px solid rgba(255,255,255,.25);
  border-radius:999px;
  padding:6px 12px;
  font-weight:700;
  font-size:13px;
}

.adviseur-card{
  background:#fff;
  border:1px solid var(--adv-border);
  border-radius:20px;
  padding:22px;
  box-shadow:0 12px 34px rgba(0,0,0,.07);
  margin-bottom:22px;
}

.adviseur-form{
  display:grid;
  gap:16px;
}

.search-label span,
.adviseur-options span{
  display:block;
  font-size:13px;
  color:#596675;
  margin-bottom:6px;
  font-weight:700;
}

.adviseur-form input,
.adviseur-form select{
  width:100%;
  border:1px solid var(--adv-border);
  border-radius:13px;
  padding:14px 15px;
  font-size:16px;
  background:#fff;
}

.adviseur-options{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.adviseur-form button{
  border:0;
  background:var(--adv-yellow);
  color:var(--adv-dark);
  border-radius:13px;
  padding:15px 22px;
  font-size:16px;
  font-weight:800;
  cursor:pointer;
  justify-self:start;
}

.results-head h2{
  font-size:22px;
  margin:18px 0 12px;
}

.advies-result{
  display:grid;
  grid-template-columns:minmax(0,1fr) 340px;
  gap:22px;
  background:#fff;
  border:1px solid var(--adv-border);
  border-radius:20px;
  padding:22px;
  margin-bottom:18px;
  box-shadow:0 10px 28px rgba(0,0,0,.05);
}

.result-main h2{
  margin:0 0 4px;
  font-size:28px;
  color:var(--adv-dark);
}

.muted{
  color:#617080;
  margin:0 0 16px;
}

.spec-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:16px 0;
}

.spec-grid div{
  border:1px solid var(--adv-border);
  background:#f9fbfd;
  border-radius:14px;
  padding:13px;
}

.spec-grid span{
  display:block;
  font-size:12px;
  text-transform:uppercase;
  color:#657282;
  margin-bottom:4px;
  letter-spacing:.04em;
}

.spec-grid strong{
  display:block;
  font-size:15px;
  color:var(--adv-dark);
}

.installatieadvies{
  background:#eefaf3;
  border:1px solid #c9efd8;
  border-radius:16px;
  padding:16px;
}

.installatieadvies h3{
  margin:0 0 8px;
  color:var(--adv-green-dark);
}

.installatieadvies p{
  margin:0 0 8px;
}

.small-note{
  font-size:14px;
  color:#4c5966;
}

.charger-advice{
  background:#102033;
  color:#fff;
  border-radius:18px;
  padding:20px;
  align-self:start;
}

.charger-advice h3{
  margin:0 0 12px;
  color:#fff;
}

.charger-advice strong{
  display:block;
  font-size:21px;
  line-height:1.25;
  margin-bottom:12px;
}

.charger-advice p{
  color:rgba(255,255,255,.84);
}

.ere-box{
  margin-top:14px;
  padding:13px;
  border-radius:14px;
  background:rgba(247,201,72,.12);
  border:1px solid rgba(247,201,72,.35);
}

.ere-box b{
  display:block;
  margin-bottom:6px;
  color:#fff;
}

.ere-box p{
  margin:0;
  font-size:14px;
}

.result-actions{
  display:grid;
  gap:9px;
  margin-top:16px;
}

.btn-main,
.btn-sub{
  display:block;
  text-align:center;
  text-decoration:none;
  border-radius:12px;
  padding:12px 14px;
  font-weight:800;
}

.btn-main{
  background:var(--adv-yellow);
  color:var(--adv-dark);
}

.btn-sub{
  background:rgba(255,255,255,.1);
  color:#fff;
  border:1px solid rgba(255,255,255,.18);
}

.no-results{
  background:#fff;
  border:1px dashed var(--adv-border);
  border-radius:20px;
  padding:24px;
}

.intro-blocks{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}

.intro-blocks div{
  background:#fff;
  border:1px solid var(--adv-border);
  border-radius:18px;
  padding:20px;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.intro-blocks h2{
  margin:0 0 8px;
  font-size:21px;
}

.intro-blocks p{
  margin:0;
  color:#596675;
}

@media (max-width:900px){
  .adviseur-hero h1{
    font-size:30px;
  }

  .adviseur-options,
  .intro-blocks{
    grid-template-columns:1fr;
  }

  .advies-result{
    grid-template-columns:1fr;
  }

  .spec-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media (max-width:560px){
  .adviseur-page{
    padding:20px 12px 44px;
  }

  .adviseur-hero,
  .adviseur-card,
  .advies-result{
    border-radius:16px;
    padding:18px;
  }

  .spec-grid{
    grid-template-columns:1fr;
  }

  .adviseur-form button{
    width:100%;
  }
}
