/* ============================================================
   LP Energy GmbH – gemeinsames Stylesheet für alle Seiten
   Farben: Grün #4ca832 / #5cbf3d · Dunkel #404a3d
   ============================================================ */
:root{
  --gruen:#4ca832;
  --gruen-hell:#5cbf3d;
  --dunkel:#404a3d;
  --text:#333333;
  --grau:#f4f6f4;
}
*{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:'Segoe UI',Arial,Helvetica,sans-serif;color:var(--text);line-height:1.6;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
.container{width:100%;max-width:1140px;margin:0 auto;padding:0 20px;}
.center{text-align:center;}

/* ---------- Buttons ---------- */
.btn{
  display:inline-block;background:var(--gruen);color:#fff;font-weight:bold;
  text-transform:uppercase;letter-spacing:.5px;font-size:15px;
  padding:15px 34px;border-radius:4px;transition:background .2s;border:none;cursor:pointer;
}
.btn:hover{background:var(--gruen-hell);}
.btn-outline{background:transparent;border:2px solid #fff;}
.btn-outline:hover{background:#fff;color:var(--gruen);}

/* ---------- Header ---------- */
header{background:#fff;position:sticky;top:0;z-index:100;box-shadow:0 1px 6px rgba(0,0,0,.08);}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;max-width:1140px;margin:0 auto;}
.logo img{height:60px;width:auto;}
nav ul{display:flex;list-style:none;gap:24px;}
nav a{font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.5px;color:#444;transition:color .2s;}
nav a:hover,nav a.active{color:var(--gruen);}
.menu-toggle{display:none;font-size:26px;background:none;border:none;cursor:pointer;color:#444;}

/* ---------- Hero ---------- */
.hero{position:relative;color:#fff;text-align:center;padding:120px 20px;background:var(--dunkel);}
.hero.klein{padding:80px 20px;}
.hero h1{font-size:20px;font-weight:600;margin-bottom:14px;}
.hero h2{font-size:44px;font-weight:800;text-transform:uppercase;margin-bottom:28px;line-height:1.15;}
.hero.klein h1{font-size:34px;font-weight:800;text-transform:uppercase;margin-bottom:0;}

/* ---------- Sections ---------- */
section{padding:70px 0;}
.section-title{text-align:center;font-size:34px;font-weight:800;text-transform:uppercase;margin-bottom:16px;}
.lead{max-width:820px;margin:0 auto 26px;text-align:center;}

/* ---------- Split / Leistungsblöcke ---------- */
.split{display:flex;gap:50px;align-items:center;flex-wrap:wrap;}
.split .col{flex:1;min-width:300px;}
.split img{border-radius:6px;width:100%;object-fit:cover;}
.split.rev{flex-direction:row-reverse;}
.checkliste{list-style:none;margin:22px 0;}
.checkliste li{display:flex;align-items:flex-start;gap:14px;font-size:17px;font-weight:600;margin-bottom:14px;}
.checkliste li::before{content:"\2714";color:var(--gruen);font-size:20px;flex:none;line-height:1.4;}

/* ---------- Dunkler Abschnitt ---------- */
.dunkel{background:var(--dunkel);color:#fff;}
.dunkel .section-title{color:#fff;}
.karten{display:flex;gap:34px;margin-top:40px;flex-wrap:wrap;}
.karten .karte{flex:1;min-width:260px;}
.karte h3{color:var(--gruen-hell);text-transform:uppercase;font-size:20px;margin-bottom:14px;}
.karte p{color:#dce2d8;margin-bottom:12px;}

/* ---------- Zitat ---------- */
.zitat{background:var(--grau);text-align:center;}
.zitat p{font-size:26px;font-weight:700;font-style:italic;color:var(--dunkel);max-width:850px;margin:0 auto;}

/* ---------- Schritte ---------- */
.schritte{display:flex;gap:30px;margin-top:44px;flex-wrap:wrap;}
.schritt{flex:1;min-width:220px;text-align:center;padding:30px 20px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.schritt .num{width:60px;height:60px;border-radius:50%;background:var(--gruen);color:#fff;font-size:24px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto 18px;}
.schritt h4{text-transform:uppercase;margin-bottom:8px;}

/* ---------- Fakten ---------- */
.fakten{background:var(--gruen);color:#fff;text-align:center;}
.fakten .zahlen{display:flex;gap:40px;justify-content:center;flex-wrap:wrap;margin-top:20px;}
.fakten .zahl{flex:1;min-width:220px;}
.fakten .zahl .big{font-size:56px;font-weight:800;}
.fakten .zahl .label{text-transform:uppercase;letter-spacing:1px;}

/* ---------- Team ---------- */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:26px;margin-top:40px;}
.member{background:#fff;border:1px solid #e7ece5;border-radius:8px;overflow:hidden;text-align:center;transition:box-shadow .2s;}
.member:hover{box-shadow:0 6px 18px rgba(0,0,0,.10);}
.member .foto{height:170px;background:var(--grau) center/cover;display:flex;align-items:center;justify-content:center;font-size:52px;color:var(--gruen);}
.member .info{padding:18px 14px;}
.member h3{font-size:18px;margin-bottom:4px;}
.member .rolle{color:#777;font-size:14px;margin-bottom:8px;}
.member a{color:var(--gruen);font-size:13px;word-break:break-all;}
.member.offen .foto{background:var(--gruen);color:#fff;}

/* ---------- Benefits / Jobs Grid ---------- */
.grid3{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:26px;margin-top:40px;}
.box{background:#fff;border:1px solid #e7ece5;border-radius:8px;padding:26px;}
.box h3{color:var(--gruen);text-transform:uppercase;font-size:19px;margin-bottom:12px;}
.job{background:#fff;border:1px solid #e7ece5;border-left:4px solid var(--gruen);border-radius:6px;padding:22px 24px;display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;}
.job h3{text-transform:uppercase;font-size:18px;}
.job span{color:#777;font-weight:400;font-size:14px;display:block;}

/* ---------- FAQ ---------- */
.faq details{background:#fff;border:1px solid #e7ece5;border-radius:6px;margin-bottom:12px;padding:0 20px;}
.faq summary{cursor:pointer;font-weight:700;padding:18px 0;list-style:none;position:relative;}
.faq summary::after{content:"+";position:absolute;right:0;color:var(--gruen);font-size:22px;}
.faq details[open] summary::after{content:"\2013";}
.faq details p{padding:0 0 18px;color:#555;}

/* ---------- Formular ---------- */
.form-wrap{max-width:640px;margin:30px auto 0;}
form.kontaktform{display:grid;gap:14px;grid-template-columns:1fr 1fr;}
form.kontaktform input,form.kontaktform textarea,form.kontaktform select{padding:14px;border:1px solid #ccc;border-radius:4px;font-size:15px;font-family:inherit;width:100%;}
form.kontaktform .full{grid-column:1 / -1;}
form.kontaktform label.dsgvo{grid-column:1/-1;font-size:13px;color:#666;text-align:left;display:flex;gap:8px;}

/* ---------- Info-Karten (Kontakt) ---------- */
.info-karten{display:flex;gap:26px;flex-wrap:wrap;margin-top:20px;}
.info-karte{flex:1;min-width:250px;background:#fff;border:1px solid #e7ece5;border-radius:8px;padding:26px;text-align:center;}
.info-karte .ico{font-size:34px;color:var(--gruen);margin-bottom:10px;}

/* ---------- Impressum-Text ---------- */
.textseite h2{color:var(--dunkel);margin:28px 0 10px;font-size:22px;}
.textseite p{margin-bottom:10px;}

/* ---------- Footer ---------- */
footer{background:var(--dunkel);color:#cdd4c8;padding:60px 0 24px;}
.footer-grid{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between;}
.footer-grid .fcol{flex:1;min-width:220px;}
footer h4{color:var(--gruen-hell);text-transform:uppercase;font-size:16px;margin-bottom:16px;}
footer a:hover{color:#fff;}
footer ul{list-style:none;}
footer ul li{margin-bottom:8px;}
.footer-bottom{border-top:1px solid #55604f;margin-top:40px;padding-top:20px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;font-size:13px;}
.footer-bottom a{margin-left:16px;}

/* ---------- Schwebende Buttons ---------- */
.floating{position:fixed;left:0;top:45%;z-index:90;}
.floating a{display:flex;width:44px;height:44px;background:var(--gruen);color:#fff;align-items:center;justify-content:center;font-size:18px;border-bottom:1px solid rgba(255,255,255,.2);}
.floating a:hover{background:var(--gruen-hell);}

/* ---------- Responsive ---------- */
@media(max-width:860px){
  nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;flex-direction:column;padding:10px 20px;gap:0;box-shadow:0 6px 12px rgba(0,0,0,.1);}
  nav ul.open{display:flex;}
  nav ul li{padding:12px 0;border-bottom:1px solid #eee;}
  .menu-toggle{display:block;}
  .hero h2{font-size:30px;}
  .split.rev{flex-direction:row;}
  .section-title{font-size:26px;}
  form.kontaktform{grid-template-columns:1fr;}
}
