:root{
  --primary:#f7b500;
  --green:#4caf50;
  --dark:#0f172a;
  --text:#475569;
  --light:#f8fafc;
  --border:#e2e8f0;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:Inter,sans-serif;
  background:var(--light);
  color:var(--dark);
  line-height:1.6;
}

.solar-hero{
  padding:100px 20px 70px;
  background:
  linear-gradient(
    135deg,
    rgba(247,181,0,0.08),
    rgba(76,175,80,0.08)
  );
}

.solar-hero-content{
  max-width:800px;
  margin:auto;
  text-align:center;
}

.solar-badge{
  display:inline-block;
  padding:10px 18px;
  border-radius:999px;
  background:#fff7d6;
  color:#a16207;
  font-size:.9rem;
  font-weight:600;
  margin-bottom:20px;
}

.solar-hero h1{
  font-size:clamp(2.3rem,5vw,4.5rem);
  line-height:1.1;
  margin-bottom:24px;
}

.solar-hero p{
  font-size:1.1rem;
  color:var(--text);
  max-width:700px;
  margin:auto;
}

.calculator-section{
  padding:70px 20px;
}

.calculator-container{
  max-width:1300px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  align-items:start;
}

.calculator-info h2{
  font-size:2.2rem;
  margin-bottom:20px;
}

.calculator-info p{
  color:var(--text);
  margin-bottom:30px;
}

.info-cards{
  display:grid;
  gap:20px;
}

.info-card{
  background:white;
  padding:24px;
  border-radius:20px;
  border:1px solid var(--border);
}

.info-card h3{
  margin-bottom:10px;
}

.info-card p{
  margin:0;
}

.calculator-card{
  background:white;
  padding:35px;
  border-radius:28px;
  border:1px solid var(--border);
  box-shadow:
  0 10px 40px rgba(15,23,42,0.06);
}

.step-header{
  margin-bottom:24px;
}

.step-header span{
  color:var(--green);
  font-weight:700;
  font-size:.9rem;
}

.step-header h2{
  margin-top:6px;
  font-size:1.8rem;
}

.form-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:20px;
  margin-bottom:40px;
}

.form-group{
  display:flex;
  flex-direction:column;
}

.form-group label{
  margin-bottom:10px;
  font-weight:600;
}

.form-group input,
.form-group select{
  height:56px;
  padding:0 18px;
  border-radius:14px;
  border:1px solid var(--border);
  background:#fff;
  font-size:1rem;
}

.form-group input:focus,
.form-group select:focus{
  outline:none;
  border-color:var(--primary);
}

.calculate-btn{
  width:100%;
  height:60px;
  border:none;
  border-radius:16px;
  background:var(--primary);
  color:#111827;
  font-size:1rem;
  font-weight:700;
  cursor:pointer;
  transition:.3s;
}

.calculate-btn:hover{
  transform:translateY(-2px);
}

/* Tabs (calculator criteria) */
.criteria-tabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.criteria-tabs .tab{
  border:1px solid var(--border);
  background:#fff;
  height:44px;
  padding:0 14px;
  border-radius:14px;
  font-weight:700;
  cursor:pointer;
  color:var(--text);
  transition:.15s;
}

.criteria-tabs .tab.active{
  border-color:var(--primary);
  background:rgba(247,181,0,0.14);
  color:#111827;
}

.calc-message{
  margin-top:14px;
  font-weight:600;
  font-size:.95rem;
  min-height:1.2em;
} 


.result-section{
  padding:0 20px 80px;
}

.result-card{
  max-width:1300px;
  margin:auto;
  background:white;
  padding:40px;
  border-radius:28px;
  border:1px solid var(--border);
}

.result-card h2{
  margin-bottom:30px;
  font-size:2rem;
}

.result-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.result-item{
  padding:24px;
  border-radius:20px;
  background:#f8fafc;
}

.result-item span{
  display:block;
  color:var(--text);
  margin-bottom:10px;
}

.result-item strong{
  font-size:1.7rem;
}

.result-note{
  margin-top:30px;
  color:var(--text);
}

@media(max-width:992px){

  .calculator-container{
    grid-template-columns:1fr;
  }

  .result-grid{
    grid-template-columns:1fr 1fr;
  }

}

@media(max-width:640px){

  .form-grid{
    grid-template-columns:1fr;
  }

  .result-grid{
    grid-template-columns:1fr;
  }

  .calculator-card,
  .result-card{
    padding:24px;
  }

  .step-header h2{
    font-size:1.4rem;
  }

  .result-card h2{
    font-size:1.5rem;
  }

  .solar-hero h1{
    font-size:2rem;
  }

  .calculator-info h2{
    font-size:1.6rem;
  }

}