:root{
  --ge-bg:#F5F7FB;
  --ge-panel:#FFFFFF;
  --ge-text:#0F172A;
  --ge-muted:#64748B;
  --ge-primary:#227a18;
  --ge-border:#E5E7EB;
  --ge-shadow:0 8px 24px rgba(2,6,23,.08);
  --pri:#0a1f33;
  --sec:rgb(26, 94, 18);
}

main header, .p-dialog-header {
    background: #32465a !important;
    padding-left: 20px !important;
    border-left: solid #227a18 10px;
}
.p-dialog-title, header h2, header h3 {
    color: white !important;
}
html,body{margin:0;padding:0;color:var(--ge-text);font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;font-size:16px;line-height:1.6}
body{min-height:100vh;}
a{color:darkgreen;font-weight:600;transition:color .2s ease}
.ge-lang-link{color:white;text-decoration:none;transition:color .2s ease}
a:hover{color:inherit;}
p{margin:0 0 16px;}
ul,ol{margin:0 0 16px 20px;padding:0}
strong{font-weight:600}
h1,h2,h3,h4,h5{font-weight:600 !important;;color:var(--ge-text);margin:0 0 16px;line-height:1.25}
h1{font-size:38px !important;margin-top:0;margin-bottom:20px}
h2{font-size:28px !important;margin-top:36px;margin-bottom:12px}
h3{font-size:22px !important;margin-top:28px;margin-bottom:10px}
h4{font-size:18px !important;margin-top:24px;margin-bottom:8px}
table{width:100%;border-collapse:collapse;margin:16px 0;font-size:15px}
th,td{border:1px solid var(--ge-border);padding:8px 12px;text-align:left}
code{font-family:Menlo,Consolas,monospace;background:#0f172a12;padding:2px 6px;border-radius:6px;font-size:14px}
pre{background:#0f172a12;padding:16px;border-radius:12px;overflow:auto;font-size:14px}
.ge-layout{display:flex;min-height:100vh;position:relative}
.ge-nav-toggle{display:none;align-items:center;gap:8px;background:#0F172A;color:#E5E7EB;border:none;padding:10px 14px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;margin:16px}
.ge-nav-toggle span{display:block;width:18px;height:2px;background:currentColor;position:relative}
.ge-nav-toggle span::before,.ge-nav-toggle span::after{content:"";position:absolute;left:0;width:18px;height:2px;background:currentColor;transition:transform .2s ease,opacity .2s ease}
.ge-nav-toggle span::before{top:-6px}
.ge-nav-toggle span::after{top:6px}
.ge-sidebar{width:240px;background:#0F172A;color:#E5E7EB;padding:24px 18px;position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;gap:16px;z-index:500}
.ge-lang-switcher{display:flex;gap:6px;justify-content:center;padding:6px 10px;background:transparent;border-radius:10px;margin-bottom:12px}
.ge-lang-link{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:6px;text-decoration:none;transition:background .2s ease,opacity .2s ease;cursor:pointer;opacity:0.5}
.ge-lang-link:hover{background:rgba(255,255,255,0.08);opacity:0.8}
.ge-lang-link.active{background:rgba(255,255,255,0.12);opacity:1}
.ge-lang-link.active:hover{background:rgba(255,255,255,0.15)}
.ge-lang-flag{font-size:18px;line-height:1;user-select:none;font-weight:normal}
.ge-nav{list-style:none;margin:0;padding:0;flex:1;display:flex;flex-direction:column;gap:4px}
.ge-nav a{display:block;padding:9px 12px;color:#94A3B8;border-radius:10px;text-decoration:none;font-size:14px;line-height:1.4;transition:background .2s ease,color .2s ease}
.ge-nav li.active>a,.ge-nav a:hover{background:#1E293B;color:#F8FAFC}
.ge-subnav{list-style:none;margin:6px 0 6px 12px;padding:0;display:flex;flex-direction:column;gap:2px}
.ge-subnav a{padding:6px 10px;font-size:13px;color:#94A3B8;border-radius:8px}
.ge-subnav li.active>a,.ge-subnav a:hover{background:#1E293B;color:#F8FAFC}
.ge-content{flex:1;padding:32px;max-width:1280px;margin:0 auto;width:100%}
.ge-card{background:var(--ge-panel);border-radius:0px;padding:0px !important;}
.ge-nav-overlay{display:none}
body.ge-nav-open{overflow:hidden}
.p-tabview-panels {color: var(--ge-text) !important;}
.p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {
    background: #fffff0 !important;
}

@media (max-width:1024px){
  .ge-layout{flex-direction:column;min-height:100vh}
  .ge-nav-toggle{display:flex;position:relative;z-index:1100;margin:12px 16px}
  .ge-sidebar{position:fixed;left:0;top:0;bottom:0;width:260px;transform:translateX(-100%);transition:transform .25s ease;height:100vh;max-height:100vh;overflow-y:auto;overflow-x:hidden;padding:32px 20px;box-shadow:4px 0 12px rgba(15,23,42,.15);gap:20px;-webkit-overflow-scrolling:touch}
  .ge-sidebar.is-open{transform:translateX(0)}
  .ge-nav{gap:6px;padding-bottom:32px}
  .ge-subnav{margin-left:8px}
  .ge-nav-overlay{display:none;position:fixed;inset:0;background:rgba(15,23,42,.45);backdrop-filter:blur(2px);z-index:499;transition:opacity .25s ease;opacity:0;pointer-events:none}
  .ge-nav-overlay.is-active{display:block;opacity:1;pointer-events:auto}
  body.ge-nav-open .ge-nav-toggle span{background:transparent}
  body.ge-nav-open .ge-nav-toggle span::before{transform:translateY(6px) rotate(45deg)}
  body.ge-nav-open .ge-nav-toggle span::after{transform:translateY(-6px) rotate(-45deg)}
  body.ge-nav-open .ge-nav-toggle span::before,body.ge-nav-open .ge-nav-toggle span::after{top:0}
  .ge-content{padding:0px}
  h1{font-size:28px !important}
  h2{font-size:22px !important}
  h3{font-size:18px !important}
}
@media (max-width:640px){
  .ge-content{padding:0px}
  .ge-card{padding:5px}
  h1{font-size:24px !important}
  h2{font-size:20px !important}
  h3{font-size:17px !important}
  body{ padding: 10px;}
  .article-icon{ display: none;}
}

@media (max-width:1024px){
  .article-icon{ display: none !important;}
}

.p-accordionheader, .p-accordionpanel:not(.p-disabled).p-accordionpanel-active > .p-accordionheader {
    background: var(--pri) !important ;
    color: var(--p-accordion-header-active-color);
}

.p-accordioncontent-content {
    background-color: white !important;
    color: var(--ge-text) !important;
    
}

h1 {
    border-bottom: 1px solid darkslategray;
    padding-bottom: 30px;
}

header + div {
    padding: 10px;
}

.ge-content{
  max-width:920px;
  box-shadow: 0 0px 0px rgba(0,0,0,0)!important;
}

.ge-card{
 box-shadow: 0 0px 0px rgba(0,0,0,0)!important;
 

}

ge-heizlast .calculatorInner{
   border: solid 1px #E5E7EB !important;
    box-shadow: var(--color-shadow);
}

.p-dialog-header {
  padding: 10px !important;
    margin-bottom: 10px;
    font-size: large !important;
}

.bigButton{
  padding: 15px !important;
}



.p-tabview-tablist {
  background: white !important; 
  margin-top: 40px !important;
 
}

.p-dialog{
  min-height: 90vh !important;

}

.ge-subnav a{
width: 200px;;

}


ge-heizlast header.bg-white {
  margin-bottom: 40px ;
}

body {
    background: white !important;
 
}

.blog-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;
  margin-top:20px;
}
.blog-card{
  border:1px solid var(--ge-border);
  border-radius:12px;
  background:#fff;
  padding:18px;
  box-shadow:var(--ge-shadow);
  display:flex;
  flex-direction:column;
  gap:10px;
}
.blog-card h3{
  margin:0;
  font-size:18px !important;
}
.blog-card h3 a{
  color:var(--ge-text);
  text-decoration:none;
}
.blog-card h3 a:hover{
  color:var(--ge-primary);
}
.blog-card-meta{
  font-size:13px;
  color:var(--ge-muted);
}
.blog-card-summary{
  margin:0;
  color:var(--ge-text);
}
.blog-card-link{
  margin-top:auto;
  font-weight:600;
  color:var(--ge-primary);
  text-decoration:none;
}
.blog-card-link:hover{
  color:#166534;
}
.blog-card-icon{
  width:48px;
  height:48px;
  color:var(--ge-primary);
  flex-shrink:0;
}
.blog-card-header{
  display:flex;
  align-items:center;
  gap:12px;
}
.blog-card-header h3{
  flex:1;
}
.blog-empty{
  color:var(--ge-muted);
}
/* Article header with icon */
.article-header{
  display:flex;
  align-items:center;
  gap:20px;
  margin-bottom:24px;
}
.article-icon{
  width:96px;
  height:96px;
  color:var(--ge-primary);
  flex-shrink:0;
}
.article-header h1{
  flex:1;
  margin:0;
  border:none;
  padding:0;
}
/* Site header (homepage) with icon */
.site-header{
  display:flex;
  align-items:center;
  gap:24px;
  margin-bottom:28px;
}
.site-icon{
  width:90px;
  height:90px;
  flex-shrink:0;
}
.site-header h1{
  flex:1;
  margin:0;
  border:none;
  padding:0;
}
@media (max-width:640px){
  .site-header{
    flex-direction:column;
    text-align:center;
    gap:16px;
  }
  .site-icon{
    width:64px;
    height:64px;
  }
}
.ge-card img,
.ge-content img{
  max-width:100%;
  height:auto;
  display:block;
  border-radius:10px;
  margin:16px 0;
}


.quickstart-guide {
  clear: both;
  margin-top: 3rem;
  background: #fff;
  border-radius: 8px;
  font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  line-height: 1.7;
  color: #333;
  font-size: 16px;
}
.quickstart-guide h2 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: 1.5rem;
  color: #2c3e50;
  border-bottom: 1px solid #2c3e50;
  padding-bottom: 0.5rem;
}
.quickstart-guide h3 {
  font-size: 1.5rem;
  font-weight: 600;
  margin-top: 2rem;
  margin-bottom: 1rem;
  color: #34495e;
}
.quickstart-guide h4 {
  font-size: 1.25rem;
  font-weight: 600;
  margin-top: 1.5rem;
  margin-bottom: 0.75rem;
  color: #2c3e50;
}
.quickstart-guide p {
  margin-bottom: 1rem;
  font-size: 16px;
  line-height: 1.7;
}
.quickstart-guide ul, .quickstart-guide ol {
  margin-left: 1.5rem;
  margin-bottom: 1rem;
}
.quickstart-guide li {
  margin-bottom: 0.5rem;
  line-height: 1.6;
}
.quickstart-guide strong {
  font-weight: 600;
  color: #2c3e50;
}
.quickstart-guide a {
  color: #3498db;
  text-decoration: none;
  font-weight: 500;
}
.quickstart-guide a:hover {
  text-decoration: underline;
}
.quickstart-guide .notices {
  padding: 1.5rem;
  margin: 1.5rem 0.5rem;
  border-left: 4px solid #f39c12;
  background: #fff8e1;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}
.quickstart-guide .notices p {
  margin: 0;
  font-weight: 500;
  color: #856404;
}
.quickstart-guide hr {
  margin: 2rem 0;
  border: none;
  border-top: 2px solid #ddd;
}

/* Global Notice Boxes for Blog Articles */
.notice, .notices {
  padding: 1.25rem 1.5rem;
  margin: 1.5rem 0;
  border-left: 4px solid #f39c12;
  background: #fff8e1;
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0,0,0,0.08);
}
.notice p, .notices p {
  margin: 0;
  color: #856404;
}
.notice p:first-child, .notices p:first-child {
  font-weight: 600;
}
/* Info/Hinweis - Blue */
.notice.info, .notice-info {
  border-left-color: #3498db;
  background: #e3f2fd;
}
.notice.info p, .notice-info p {
  color: #1565c0;
}
/* Success/Fazit/Merksatz - Green */
.notice.success, .notice-success, .notice.fazit, .notice-fazit, .notice.merksatz, .notice-merksatz {
  border-left-color: #22C55E;
  background: #e8f5e9;
}
.notice.success p, .notice-success p, .notice.fazit p, .notice-fazit p, .notice.merksatz p, .notice-merksatz p {
  color: #2e7d32;
}
/* Warning - Orange (default) */
.notice.warning, .notice-warning {
  border-left-color: #f39c12;
  background: #fff8e1;
}
.notice.warning p, .notice-warning p {
  color: #856404;
}
/* Danger/Important - Red */
.notice.danger, .notice-danger, .notice.important, .notice-important {
  border-left-color: #e74c3c;
  background: #ffebee;
}
.notice.danger p, .notice-danger p, .notice.important p, .notice-important p {
  color: #c62828;
}
/* Tip - Purple */
.notice.tip, .notice-tip {
  border-left-color: #9b59b6;
  background: #f3e5f5;
}
.notice.tip p, .notice-tip p {
  color: #7b1fa2;
}

.projektButtons {
    top: -19px;
    position: relative;
    height: 19px;
}


li.p-tabview-tablist-item.p-tabview-tablist-item-active {
    background: #1a5e12;
	margin: 1px;
}

li.p-tabview-tablist-item.p-tabview-tablist-item-active a, li.p-tabview-tablist-item.p-tabview-tablist-item-active a:hover  {
    color: white;
}

li.p-tabview-tablist-item a,li.p-tabview-tablist-item a:hover {
    color: white;
}

li.p-tabview-tablist-item {
    background: #0a1f33;
	margin: 1px;
}

/* Calculator Cards for Homepage */
.calculator-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
  gap:20px;
  margin-top:24px;
  margin-bottom:32px;
}
.calculator-card{
  border-radius:12px;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.calculator-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(0,0,0,0.12);
}
.calculator-card h3{
  margin:0;
  font-size:20px !important;
  color:inherit;
}
.calculator-card h3 a{
  color:inherit;
  text-decoration:none;
}
.calculator-card p{
  margin:0;
  color:inherit;
  opacity:0.9;
  font-size:15px;
  line-height:1.5;
}
.calculator-card-link{
  margin-top:auto;
  font-weight:600;
  color:inherit;
  text-decoration:none;
  opacity:0.9;
}
.calculator-card-link:hover{
  opacity:1;
}
/* Heizlast - Darkest Green */
.calculator-card.heizlast{
  background:linear-gradient(135deg,#166534 0%,#15803d 100%);
  color:#fff;
}
/* Wärmepumpe - Medium Green */
.calculator-card.waermepumpe{
  background:linear-gradient(135deg,#22C55E 0%,#16a34a 100%);
  color:#fff;
}
/* Solar - Lightest Green */
.calculator-card.solar{
  background:linear-gradient(135deg,#86efac 0%,#4ade80 100%);
  color:#14532d;
}
/* Calculator Card Icons */
.calculator-card-icon{
  width:56px;
  height:56px;
  flex-shrink:0;
}
.calculator-card-icon svg{
  width:100%;
  height:100%;
}
.calculator-card-header{
  display:flex;
  align-items:center;
  gap:16px;
}
.calculator-card-header h3{
  flex:1;
}

/* Knowledge Section Cards */
.knowledge-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:18px;
  margin-top:24px;
}
.knowledge-card{
  border:1px solid var(--ge-border);
  border-radius:12px;
  background:#fff;
  padding:20px;
  box-shadow:var(--ge-shadow);
  display:flex;
  flex-direction:column;
  gap:10px;
  transition:transform .2s ease,box-shadow .2s ease;
}
.knowledge-card:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 32px rgba(0,0,0,0.1);
}
.knowledge-card-header{
  display:flex;
  align-items:center;
  gap:14px;
}
.knowledge-card-icon{
  width:52px;
  height:52px;
  color:var(--ge-primary);
  flex-shrink:0;
}
.knowledge-card h3{
  margin:0;
  font-size:17px !important;
  flex:1;
}
.knowledge-card h3 a{
  color:var(--ge-text);
  text-decoration:none;
}
.knowledge-card h3 a:hover{
  color:var(--ge-primary);
}
.knowledge-card-summary{
  margin:0;
  color:var(--ge-muted);
  font-size:14px;
  line-height:1.5;
}

/* Feature Sections for Homepage */
.feature-section{
  margin:32px 0;
  padding:32px;
  background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%);
  border-radius:16px;
  border:1px solid var(--ge-border);
}
.feature-content{
  max-width:100%;
}
.feature-content p{
  font-size:16px;
  line-height:1.75;
  color:var(--ge-text);
  margin-bottom:16px;
}
.feature-content p:last-of-type{
  margin-bottom:32px;
}
.feature-cta{
  display:inline-block;
  padding:14px 28px;
  background:linear-gradient(135deg,var(--ge-primary) 0%,#166534 100%);
  color:#fff !important;
  font-weight:600;
  font-size:16px;
  text-decoration:none;
  border-radius:10px;
  transition:transform .2s ease,box-shadow .2s ease;
  box-shadow:0 4px 12px rgba(34,122,24,0.25);
}
.feature-cta:hover{
  transform:translateY(-2px);
  box-shadow:0 8px 20px rgba(34,122,24,0.35);
  color:#fff;
}
@media (max-width:640px){
  .feature-section{
    padding:20px;
    margin:24px 0;
  }
  .feature-content p{
    font-size:15px;
  }
  .feature-cta{
    display:block;
    text-align:center;
    padding:12px 20px;
    font-size:15px;
  }
}
