/* =========================================================
   ENERGIEVIELFALT PLUS — Seitenmodule im Stil der Energievielfalt
   Farben, Schriften, Buttons und Abstände kommen unverändert aus style.css;
   hier stehen nur die Module, die es nur auf den Plus-Seiten gibt.
   ========================================================= */
.page-plus .nav-logo em{font-style:italic;color:var(--primary);}
/* Längeres Logo + CTA als auf den übrigen Seiten → Burger-Menü etwas früher */
@media (max-width:1180px){
    .page-plus .nav-links,.page-plus .nav-cta{display:none;}
    .page-plus .nav-burger{display:flex;}
}
.page-plus .btn:focus-visible{outline:3px solid var(--primary);outline-offset:3px;}
.plus-hero .btn:focus-visible,.cta-final .btn:focus-visible{outline:3px solid #fff;outline-offset:3px;}
.btn-ghost-light{background:transparent;color:#fff;border:1px solid rgba(255,255,255,.55);}
.btn-ghost-light:hover{background:#fff;color:var(--ink-900);border-color:#fff;transform:translateY(-2px);}

/* -------- Hero (wie die Startseite: Bild mit dunklem Verlauf) -------- */
.plus-hero{
    position:relative;isolation:isolate;overflow:hidden;
    min-height:92svh;display:flex;align-items:flex-end;
    padding:calc(var(--nav-h) + 64px) 0 clamp(64px,10vw,128px);
    color:#fff;background:var(--ink-900);
}
.plus-hero > .container{width:100%;} /* Flex-Kind würde sonst auf Inhaltsbreite schrumpfen und zentrieren */
.plus-hero-media{position:absolute;inset:0;z-index:-2;}
.plus-hero-media img{width:100%;height:100%;object-fit:cover;object-position:center 55%;}
.plus-hero::after{
    content:"";position:absolute;inset:0;z-index:-1;
    background:
        linear-gradient(90deg, rgba(18,24,22,.86) 0%, rgba(18,24,22,.62) 45%, rgba(18,24,22,.15) 100%),
        linear-gradient(0deg, rgba(18,24,22,.6) 0%, transparent 50%);
}
.plus-hero .eyebrow{color:var(--orange-300);}
.plus-hero .eyebrow::before{background:var(--orange-500);}
.plus-hero h1{
    font-family:var(--font-serif);font-weight:300;
    font-size:clamp(2.5rem,5vw + .5rem,5.5rem);line-height:1;letter-spacing:-.02em;
    max-width:16ch;margin-top:var(--s-5);
}
.plus-hero h1 em{font-style:italic;color:var(--accent);}
.plus-hero-lead{max-width:52ch;margin-top:var(--s-5);font-size:clamp(1.05rem,1vw + .7rem,1.3rem);line-height:1.6;color:rgba(255,255,255,.82);}
.plus-hero-ctas{display:flex;gap:var(--s-3);flex-wrap:wrap;margin-top:var(--s-6);}
.plus-rise{opacity:0;transform:translateY(20px);animation:hero-fade var(--dur-3) var(--ease-out) forwards;}
.plus-rise:nth-child(2){animation-delay:.12s;}
.plus-rise:nth-child(3){animation-delay:.24s;}
.plus-rise:nth-child(4){animation-delay:.36s;}
@media (max-width:768px){
    .plus-hero{min-height:auto;padding-top:calc(var(--nav-h) + 96px);}
    .plus-hero::after{background:linear-gradient(180deg, rgba(18,24,22,.5) 0%, rgba(18,24,22,.7) 40%, rgba(18,24,22,.94) 100%);}
}
@media (max-width:560px){
    .plus-hero-ctas{flex-direction:column;align-items:stretch;}
    .plus-hero-ctas .btn{width:100%;}
}

/* -------- Sektionen (Abstände wie .section / .section-tight) -------- */
.plus-section{padding:clamp(64px,10vw,144px) 0;position:relative;}
.plus-section-tight{padding:clamp(48px,6vw,80px) 0;}
.plus-section-soft{background:var(--paper-soft);}
.plus-h2{margin-top:var(--s-4);max-width:22ch;}
.plus-h2 em{font-family:var(--font-serif);font-style:italic;font-weight:400;color:var(--primary);}
.plus-text{font-size:1.08rem;line-height:1.7;color:var(--text-soft);max-width:54ch;margin-top:var(--s-5);}

/* -------- Was ist Plus: Text + „Aus einer Hand“ -------- */
.plus-intro{display:grid;grid-template-columns:1.05fr .95fr;gap:clamp(40px,7vw,112px);align-items:center;}
@media (max-width:900px){.plus-intro{grid-template-columns:1fr;}}

/* Rein typografisch wie eine schriftliche Addition — bewusst ohne Karten, Hover oder Pfeile,
   damit die Bereiche nicht wie einzeln buchbare Leistungen wirken. */
.plus-equation{
    margin:0;position:relative;overflow:hidden;
    background:var(--ink-900);color:#fff;border-radius:var(--r-xl);
    padding:clamp(32px,4vw,56px);
}
.plus-equation::before{
    content:"";position:absolute;right:-140px;top:-140px;width:360px;height:360px;border-radius:50%;
    background:radial-gradient(circle, rgba(46,125,50,.45), transparent 70%);pointer-events:none;
}
.plus-parts{
    position:relative;list-style:none;display:grid;gap:4px;
    font-family:var(--font-serif);font-weight:400;
    font-size:clamp(1.3rem,1.4vw + .6rem,1.8rem);line-height:1.3;color:rgba(255,255,255,.92);
}
.plus-parts li{display:flex;align-items:baseline;gap:16px;}
.plus-parts li::before{content:"+";width:1ch;flex-shrink:0;color:var(--orange-300);}
.plus-parts li:first-child::before{visibility:hidden;}
.plus-equation-rule{position:relative;height:1px;margin:var(--s-5) 0 var(--s-4);background:linear-gradient(90deg, var(--orange-500), rgba(245,124,0,0));}
.plus-result{
    position:relative;display:flex;align-items:baseline;gap:16px;
    font-family:var(--font-serif);font-style:italic;font-weight:400;
    font-size:clamp(1.45rem,1.9vw + .6rem,2.2rem);line-height:1.15;color:var(--orange-300);
}
.plus-result-sign{flex-shrink:0;width:1ch;font-style:normal;font-size:clamp(1.3rem,1.4vw + .6rem,1.8rem);}
.plus-equation figcaption{position:relative;margin-top:var(--s-5);font-size:.92rem;line-height:1.55;color:rgba(255,255,255,.7);max-width:46ch;}

/* Zwei Wege · eine Markenwelt */
.plus-paths{display:grid;grid-template-columns:1fr 1fr;gap:var(--s-4);margin-top:clamp(56px,7vw,96px);}
@media (max-width:760px){.plus-paths{grid-template-columns:1fr;}}
.plus-path{padding:28px 30px;border-radius:var(--r-lg);border:1px solid var(--line);background:#fff;}
.plus-path-label{font-size:.75rem;letter-spacing:.22em;text-transform:uppercase;font-weight:500;color:var(--primary);}
.plus-path h3{font-size:1.35rem;margin-top:10px;}
.plus-path p{color:var(--text-soft);margin-top:8px;font-size:.98rem;}
.plus-path .link-arrow{margin-top:18px;}
.plus-path.is-current{background:var(--ink-900);border-color:var(--ink-900);color:#fff;}
.plus-path.is-current .plus-path-label{color:var(--orange-300);}
.plus-path.is-current p{color:rgba(255,255,255,.74);}
.plus-path-here{display:inline-flex;align-items:center;gap:8px;margin-top:18px;font-size:.9rem;color:var(--orange-300);}

/* -------- Große Aussage (Eigentümer) -------- */
.plus-statement{max-width:980px;}
.plus-statement .plus-h2{font-size:clamp(2rem,4vw + .5rem,4rem);line-height:1.05;letter-spacing:-.02em;}
.plus-statement .plus-text{font-size:clamp(1.05rem,1.4vw + .5rem,1.3rem);}

/* -------- Gewerbe: kompakte Karte statt eigener Bildsektion -------- */
.plus-gewerbe{
    display:grid;grid-template-columns:1fr auto;gap:var(--s-6) var(--s-7);align-items:end;
    padding:clamp(28px,4vw,48px);background:#fff;
    border:1px solid var(--line);border-top:4px solid var(--primary);border-radius:var(--r-lg); /* wie .compare-col.col-pos */
    box-shadow:var(--shadow-sm);
}
.plus-gewerbe .plus-h2{max-width:none;}
.plus-gewerbe .plus-text{margin-top:var(--s-4);}
@media (max-width:760px){.plus-gewerbe{grid-template-columns:1fr;align-items:start;}}

/* -------- Olaf George -------- */
.plus-person{display:grid;grid-template-columns:minmax(0,.8fr) 1.2fr;gap:clamp(40px,7vw,112px);align-items:start;}
@media (max-width:900px){.plus-person{grid-template-columns:1fr;}}
.plus-portrait{
    position:sticky;top:calc(var(--nav-h) + 32px);
    width:100%;max-width:420px;aspect-ratio:4/5;border-radius:var(--r-xl);overflow:hidden;
    background:var(--ink-900);
}
.plus-portrait img{width:100%;height:100%;object-fit:cover;object-position:center 20%;}
@media (max-width:900px){.plus-portrait{position:relative;top:auto;max-width:320px;}}
.plus-name{font-family:var(--font-serif);font-weight:400;font-size:clamp(2.25rem,4vw + .5rem,4rem);line-height:1;letter-spacing:-.02em;margin-top:var(--s-4);}
.plus-quote{
    margin:var(--s-6) 0 0;padding-left:var(--s-5);border-left:2px solid var(--primary);
    font-family:var(--font-serif);font-style:italic;font-weight:400;
    font-size:clamp(1.35rem,1.8vw + .6rem,2rem);line-height:1.25;color:var(--ink-900);max-width:28ch;
}
.plus-bio p{font-size:1.05rem;line-height:1.75;color:var(--text-soft);margin-top:var(--s-4);max-width:58ch;}
.plus-bio .plus-bio-close{margin-top:var(--s-5);font-family:var(--font-serif);font-style:italic;font-size:clamp(1.35rem,1.6vw + .6rem,1.9rem);line-height:1.2;color:var(--ink-900);}
.plus-signature{margin-top:var(--s-5);font-family:var(--font-serif);font-size:1.1rem;color:var(--primary);}

/* -------- Abschluss-CTA: .cta-final aus style.css -------- */
.page-plus .cta-final h2 em{font-family:var(--font-serif);font-style:italic;color:var(--accent);}

/* -------- Projektanfrage (Modal) — Auswahl wie im Förderrechner -------- */
.plus-modal-head{padding-right:48px;}
.plus-modal-head h2 em{font-style:italic;color:var(--primary);}
.plus-form legend{display:block;padding:0;margin-bottom:8px;font-size:.85rem;font-weight:500;color:var(--ink-900);}
.plus-form fieldset{border:0;margin:0;padding:0;min-width:0;}
.plus-choices{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
@media (max-width:420px){.plus-choices{grid-template-columns:1fr;}}
.plus-choice{position:relative;display:block;cursor:pointer;}
.plus-choice input{position:absolute;opacity:0;width:1px;height:1px;}
.plus-choice span{
    display:flex;align-items:center;gap:10px;min-height:52px;padding:12px 14px;
    background:#fff;border:1.5px solid var(--line);border-radius:var(--r-sm);
    font-size:.95rem;font-weight:500;color:var(--ink-900);
    transition:border-color var(--dur-1) var(--ease), background var(--dur-1) var(--ease);
}
.plus-choice span i{color:var(--primary);width:18px;text-align:center;}
.plus-choice:hover span{border-color:var(--primary);}
.plus-choice input:checked + span{border-color:var(--primary);background:var(--green-50);box-shadow:inset 0 0 0 1px var(--primary);}
.plus-choice input:focus-visible + span{outline:3px solid var(--primary);outline-offset:2px;}

/* -------- Footer -------- */
.page-plus .footer-logo em{font-style:italic;color:var(--orange-300);}
.footer-link-btn{padding:0;color:rgba(255,255,255,.85);font-size:inherit;text-align:left;}
.footer-link-btn:hover{color:var(--orange-300);}
/* WhatsApp-Kanal gehört zur Energievielfalt (main.js legt ihn auf allen Seiten an) — auf Plus ausblenden */
.page-plus .wa-float{display:none !important;}
