/* Seitenvorlage Photovoltaik ATMOCE */
.pv h2{margin-bottom:.4em}
.pv .lead{max-width:62ch}
.pv-sec{padding:88px 0}
.pv-alt{background:var(--concrete)}
.pv-dark{background:var(--ink);color:#fff}
.pv-dark .lead{opacity:.9}
.pv-foot{font-size:14px;opacity:.75;margin-top:22px;max-width:90ch}
.pv-note{font-size:15px;opacity:.8}

/* Hero */
.pv-hero{position:relative;color:#fff;min-height:640px;display:flex;align-items:flex-end;overflow:hidden}
.pv-hero-img{position:absolute;inset:0;background-size:cover;background-position:center 60%}
.pv-hero::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(22,37,45,.92) 0%,rgba(22,37,45,.75) 45%,rgba(22,37,45,.1) 85%)}
.pv-hero-txt{position:relative;z-index:1;padding-top:96px;padding-bottom:72px}
.pv-hero h1{max-width:16ch;font-size:clamp(38px,5vw,64px)}
.pv-hero .lead{margin:6px 0 30px;max-width:54ch}
.pv-hero .crumb{font-size:14px;opacity:.8;margin-bottom:20px}
.pv-hero .crumb a{color:#fff}
.pv-hero .actions{display:flex;flex-wrap:wrap;gap:12px}
.pv-facts{list-style:none;margin:44px 0 0;padding:20px 0 0;border-top:1px solid rgba(255,255,255,.3);display:grid;grid-template-columns:repeat(4,1fr);gap:16px 28px;max-width:860px;font-size:15px}
.pv-facts b{display:block;font-size:30px;font-weight:780;font-stretch:78%;line-height:1.1;color:#9CD3EC}
@media(max-width:760px){.pv-facts{grid-template-columns:1fr 1fr}.pv-hero::after{background:linear-gradient(0deg,rgba(22,37,45,.95) 30%,rgba(22,37,45,.5))}}

/* Interaktives Schema */
.pv-sys{display:grid;grid-template-columns:1.7fr 1fr;gap:24px;margin-top:32px;align-items:start}
.pv-sys-ctrl{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.pv-sys-ctrl button{font:inherit;font-weight:650;padding:10px 16px;border-radius:4px;border:2px solid var(--ink);background:#fff;color:var(--ink);cursor:pointer}
.pv-sys-ctrl button[aria-pressed="true"]{background:var(--ink);color:#fff}
.pv-sys-ctrl button[data-mode="blackout"][aria-pressed="true"]{background:#B3261E;border-color:#B3261E}
.pv-status{display:inline-flex;align-items:center;gap:8px;margin-left:auto;font-weight:600;font-size:15px}
.pv-status .dot{width:12px;height:12px;border-radius:50%;background:#2E7D32;box-shadow:0 0 0 4px rgba(46,125,50,.18)}
.pv-sys[data-mode="blackout"] .pv-status .dot{background:#B26A00;box-shadow:0 0 0 4px rgba(178,106,0,.2)}
.pv-stage{position:relative;border-radius:6px;overflow:hidden;border:2px solid var(--ink);background:#F4F7F8}
.pv-svg{display:block;width:100%;height:auto}
.pv-svg .sky-night{opacity:0;transition:opacity .6s}
.pv-svg .sun circle{fill:#F6C343}.pv-svg .sun line{stroke:#F6C343;stroke-width:4;stroke-linecap:round}
.pv-svg .ground{fill:#C9D3D0}
.pv-svg .grid-pole rect{fill:#5B6670}
.pv-svg .wire{fill:none;stroke:#5B6670;stroke-width:3;transition:stroke .3s}
.pv-svg .cut{opacity:0;transition:opacity .3s}.pv-svg .cut line{stroke:#B3261E;stroke-width:6;stroke-linecap:round}
.pv-svg .house{fill:#FFFFFF;stroke:#16252D;stroke-width:2}
.pv-svg .roof{fill:#3B4146}
.pv-svg .panels polygon{fill:#1E3A55;stroke:#8FB7D3;stroke-width:1.2}
.pv-svg .mi-dots circle{fill:#9CD3EC}
.pv-svg .windows rect{fill:#FFE38A;stroke:#16252D;stroke-width:2}
.pv-svg .door{fill:#E4E8E7;stroke:#16252D;stroke-width:2}
.pv-svg .cmp{fill:#F7F8F8;stroke:#16252D;stroke-width:1.6}
.pv-svg .backup{transition:fill .3s}
.pv-svg .soc{fill:#2E7D32;transition:height 1.2s,y 1.2s}
.pv-svg .hp rect{fill:#3B4146}.pv-svg .hp .fan{fill:none;stroke:#9CD3EC;stroke-width:3;stroke-dasharray:12 6;transform-origin:145px 375px;animation:pvspin 1.6s linear infinite}
.pv-svg .dhw rect{fill:#fff;stroke:#16252D;stroke-width:1.6}.pv-svg .dhw .top{fill:#16252D}.pv-svg .dhw .disp{fill:#16252D;stroke:none}
.pv-svg .wallbox rect{fill:#fff;stroke:#16252D;stroke-width:1.6}
.pv-svg .car path{fill:#16252D}.pv-svg .car circle{fill:#5B6670;stroke:#16252D;stroke-width:3}
.pv-svg .flow{fill:none;stroke:var(--brand);stroke-width:4;stroke-linecap:round;stroke-dasharray:2 12;animation:pvflow .9s linear infinite;transition:opacity .3s}
.pv-svg .f-pv{stroke:#E7A400}
.pv-svg .f-back{opacity:0}
@keyframes pvflow{to{stroke-dashoffset:-14}}
@keyframes pvspin{to{transform:rotate(360deg)}}
.pv-sys[data-mode="blackout"] .wire{stroke:#B3261E;stroke-dasharray:8 6}
.pv-sys[data-mode="blackout"] .cut{opacity:1}
.pv-sys[data-mode="blackout"] .f-grid{opacity:0}
.pv-sys[data-mode="blackout"] .f-bat{animation-direction:reverse;stroke:#2E7D32}
.pv-sys[data-mode="blackout"] .f-back{opacity:1;stroke:#2E7D32}
.pv-sys[data-mode="blackout"] .backup{fill:#C8E6C9}
.pv-sys[data-mode="blackout"] .soc{height:22px;y:368px}
.pv-toast{position:absolute;left:50%;top:14px;transform:translate(-50%,-30px);background:#2E7D32;color:#fff;font-weight:700;padding:8px 14px;border-radius:4px;opacity:0;transition:transform .35s,opacity .35s;pointer-events:none;white-space:nowrap}
.pv-sys[data-mode="blackout"] .pv-toast{opacity:1;transform:translate(-50%,0)}
@media (prefers-reduced-motion:reduce){.pv-svg .flow,.pv-svg .hp .fan{animation:none;stroke-dasharray:none}}

.hs{position:absolute;width:30px;height:30px;margin:-15px 0 0 -15px;border-radius:50%;border:3px solid #fff;background:var(--brand);cursor:pointer;box-shadow:0 2px 6px rgba(0,0,0,.25);padding:0}
.hs::before{content:"";position:absolute;inset:-9px;border-radius:50%;border:2px solid var(--brand);opacity:.6;animation:pvpulse 2s ease-out infinite}
.hs::after{content:"+";position:absolute;inset:0;display:grid;place-items:center;color:#fff;font-weight:800;font-size:18px;line-height:1}
.hs[aria-pressed="true"]{background:var(--ink)}
.hs[aria-pressed="true"]::after{content:"•"}
@keyframes pvpulse{from{transform:scale(.7);opacity:.7}to{transform:scale(1.3);opacity:0}}
@media (prefers-reduced-motion:reduce){.hs::before{animation:none}}

.pv-info{border:2px solid var(--ink);border-radius:6px;padding:22px 24px;background:#fff;min-height:100%}
.pv-info img{display:block;max-height:150px;width:auto;max-width:100%;margin:0 0 14px}
.pv-info h3{margin:0 0 8px}
.pv-info ul{margin:8px 0 0;padding-left:20px}
.pv-info li{margin-bottom:4px}
@media(max-width:900px){.pv-sys{grid-template-columns:1fr}.pv-status{margin-left:0;width:100%}.hs{width:26px;height:26px;margin:-13px 0 0 -13px}}

/* Vergleich */
.pv-tbl{overflow-x:auto;margin-top:28px}
.pv-compare{width:100%;border-collapse:collapse;background:#fff;min-width:640px}
.pv-compare th,.pv-compare td{padding:14px 16px;text-align:left;vertical-align:top;border-bottom:1px solid var(--line)}
.pv-compare thead th{background:var(--ink);color:#fff;font-weight:650}
.pv-compare thead th:nth-child(2){background:var(--brand)}
.pv-compare tbody th{font-weight:650;width:28%}
.pv-compare td:nth-child(2){background:#EEF5F9;font-weight:600}
.pv-compare td:nth-child(3){opacity:.75}

/* Effizienz */
.pv-eff{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pv-bars{border:2px solid var(--ink);border-radius:6px;padding:28px}
.pv-bar{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-bottom:22px}
.pv-bar .lbl{font-weight:600}
.pv-bar .val{font-weight:780;font-stretch:80%;font-size:26px;color:var(--brand);line-height:1}
.pv-bar .track{grid-column:1/-1;height:12px;background:var(--concrete);border-radius:6px;overflow:hidden}
.pv-bar .track span{display:block;height:100%;width:0;background:var(--brand);border-radius:6px;transition:width 1.4s cubic-bezier(.2,.8,.2,1)}
.pv-bars.in .track span{width:var(--v)}
.pv-scale{display:flex;justify-content:space-between;font-size:13px;opacity:.65;margin:0}
@media(max-width:900px){.pv-eff{grid-template-columns:1fr;gap:28px}}

/* Garantien */
.pv-war{margin-top:36px;--c:calc((100% - 200px) / 25)}
.pv-war-axis{display:grid;grid-template-columns:200px repeat(5,1fr) auto;font-size:13px;opacity:.7;margin-bottom:10px}
.pv-war-axis span:first-child{grid-column:2}
.pv-war-row{display:grid;grid-template-columns:200px 1fr;align-items:center;margin-bottom:12px}
.pv-war-row .name{font-weight:650}
.pv-war-row .bar{display:block;height:44px;width:0;background:#9CD3EC;color:var(--ink);border-radius:4px;padding:0 14px;line-height:44px;white-space:nowrap;overflow:visible;transition:width 1.2s cubic-bezier(.2,.8,.2,1);font-size:15px}
.pv-war-row:first-of-type .bar{background:#fff}
.pv-war.in .bar{width:calc(var(--y) / 25 * 100%)}
.pv-war-row .bar b{font-size:17px}
@media(max-width:700px){.pv-war-axis{display:none}.pv-war-row{grid-template-columns:1fr}.pv-war-row .name{margin-bottom:6px}}

/* Konfigurator */
.pv-cfg{display:grid;grid-template-columns:1fr 1.3fr;gap:40px;margin-top:32px;border:2px solid var(--ink);border-radius:6px;padding:28px}
.pv-cfg-in label{display:flex;justify-content:space-between;font-weight:650;margin:0 0 8px}
.pv-cfg-in output{font-weight:780;color:var(--brand);font-size:22px;font-stretch:80%}
.pv-cfg-in input[type=range]{width:100%;margin:0 0 28px;accent-color:var(--brand)}
.pv-cfg-hint{font-size:15px;opacity:.8}
.pv-roofgrid{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin-bottom:18px;background:#3B4146;padding:10px;border-radius:4px;min-height:60px;align-content:start}
.pv-roofgrid span{aspect-ratio:1/1.6;background:#1E3A55;border:1px solid #8FB7D3;border-radius:2px;animation:pvpop .25s ease-out}
@keyframes pvpop{from{transform:scale(.4);opacity:0}}
.pv-cfg-out dl{display:grid;grid-template-columns:1fr 1fr;gap:12px 24px;margin:0 0 18px}
.pv-cfg-out dt{font-size:14px;opacity:.75}
.pv-cfg-out dd{margin:0;font-size:24px;font-weight:780;font-stretch:80%}
.pv-stack{display:flex;flex-wrap:wrap;gap:6px}
.pv-stack span{width:34px;height:54px;background:#fff;border:2px solid var(--ink);border-radius:3px;position:relative;animation:pvpop .25s ease-out}
.pv-stack span::after{content:"";position:absolute;left:8px;right:8px;top:6px;height:3px;background:#5EC4E8;border-radius:2px}
@media(max-width:900px){.pv-cfg{grid-template-columns:1fr;padding:20px}}

/* Notstrom / Wallbox */
.pv-split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:center}
.pv-split img{width:100%;border-radius:6px}
.pv-list{list-style:none;margin:20px 0 0;padding:0}
.pv-list li{padding:10px 0 10px 28px;border-bottom:1px solid var(--line);position:relative}
.pv-list li::before{content:"";position:absolute;left:2px;top:17px;width:12px;height:7px;border-left:2.5px solid var(--brand);border-bottom:2.5px solid var(--brand);transform:rotate(-45deg)}
@media(max-width:900px){.pv-split{grid-template-columns:1fr;gap:28px}.pv-split-rev img{order:-1}}

.pv-feat{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:30px;border-top:2px solid var(--ink)}
.pv-feat>div{padding:22px 24px 0 0}
.pv-feat>div+div{padding-left:24px;border-left:1px solid var(--line)}
.pv-feat h3{font-size:21px}
@media(max-width:900px){.pv-feat{grid-template-columns:1fr 1fr}.pv-feat>div:nth-child(3){padding-left:0;border-left:0}}
@media(max-width:560px){.pv-feat{grid-template-columns:1fr}.pv-feat>div,.pv-feat>div+div{padding:18px 0 0;border-left:0}}

.pv-app{width:100%;max-width:1000px;border-radius:6px;margin-top:20px;background:#fff}

.pv-parts{display:grid;grid-template-columns:repeat(5,1fr);gap:18px;margin-top:30px}
.pv-parts figure{margin:0;background:#fff;border-radius:6px;padding:18px;display:flex;flex-direction:column}
.pv-parts img{height:150px;width:100%;object-fit:contain;margin-bottom:14px}
.pv-parts figcaption{font-size:14px;line-height:1.45}
.pv-parts b{display:block;font-size:16px;margin-bottom:4px}
@media(max-width:1000px){.pv-parts{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.pv-parts{grid-template-columns:1fr 1fr}}

.pv-cta{background:var(--brand);color:#fff;text-align:left}
.pv-cta .btn{background:#fff;color:var(--brand);border-color:#fff}
.pv-cta .btn-ghost{background:transparent;color:#fff;border-color:rgba(255,255,255,.7)}
.pv .entry-inner>*{max-width:760px}
.pv-info-link{margin:14px 0 0}
.pv-info-link a{font-weight:650}

/* Netzeinspeisung / Direktvermarktung */
.pv-feed-steps{list-style:none;counter-reset:s;display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding:0;margin:28px 0}
.pv-feed-steps li{counter-increment:s;background:#fff;border:2px solid var(--line);border-radius:8px;padding:22px 20px 20px;position:relative}
.pv-feed-steps li::before{content:counter(s);position:absolute;top:-16px;left:18px;width:32px;height:32px;border-radius:50%;background:var(--brand);color:#fff;font-weight:800;display:grid;place-items:center}
.pv-feed-steps b{display:block;font-size:19px;margin:6px 0 6px}
.pv-feed-box{display:grid;grid-template-columns:1fr 280px;gap:28px;align-items:center;background:#EEF5F9;border-left:5px solid var(--brand);border-radius:8px;padding:26px 28px}
.pv-feed-box h3{margin:0 0 10px;font-size:22px}
.pv-feed-box p{margin:0 0 16px}
.pv-feed-svg{width:100%;height:auto}
.pv-feed-flow{animation:pvfeed 1.2s linear infinite}
@keyframes pvfeed{to{stroke-dashoffset:-14}}
@media (prefers-reduced-motion:reduce){.pv-feed-flow{animation:none}}
@media(max-width:800px){.pv-feed-steps{grid-template-columns:1fr;gap:26px}.pv-feed-box{grid-template-columns:1fr}.pv-feed-svg{max-width:260px}}
.pv-feed-ok{list-style:none;padding:0;margin:0 0 18px}
.pv-feed-ok li{position:relative;padding-left:30px;margin:8px 0;font-weight:600}
.pv-feed-ok li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;border-radius:50%;background:#2E9E5B;color:#fff;font-size:13px;display:grid;place-items:center}

/* Welcher Modulwechselrichter: 1-in-1 oder 2-in-1 (ab 10.3) */
.pv-alt .pv-bars{background:#fff}
.pv-mi-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:34px}
.pv-mi-card{border:2px solid var(--ink);border-radius:6px;background:#fff;overflow:hidden;display:flex;flex-direction:column}
.pv-mi-plan{margin:0;background:#EEF5F9;padding:18px 18px 12px;border-bottom:1px solid var(--line)}
.pv-mi-plan svg{display:block;width:100%;height:auto}
.pv-mi-plan .f-s{fill:#CFDCE3}.pv-mi-plan .f-n{fill:#BCCBD4}.pv-mi-plan .f-e{fill:#C6D4DC}.pv-mi-plan .f-w{fill:#C2D0D8}
.pv-mi-plan .ridge{fill:none;stroke:#8DA1AC;stroke-width:2;stroke-linejoin:round}
.pv-mi-plan .mods rect{fill:#14304F;stroke:#3A6B8F;stroke-width:1}
.pv-mi-plan .chimney{fill:#8A5A44}
.pv-mi-plan .shade{fill:url(#pvMiHatch)}
.pv-mi-plan .tree circle{fill:#4E8A5B;fill-opacity:.92}
.pv-mi-plan .mi circle{fill:#F2B705;stroke:#fff;stroke-width:1.5}
.pv-mi-plan .pair rect{fill:none;stroke:#F2B705;stroke-width:1.6}
.pv-mi-plan text{font:600 14px var(--font);fill:var(--graphite)}
.pv-mi-plan text.dim{opacity:.55}
.pv-mi-plan figcaption{display:flex;align-items:center;gap:8px;font-size:14px;margin-top:8px;color:var(--graphite)}
.pv-mi-plan figcaption .dot{width:11px;height:11px;border-radius:50%;background:#F2B705;box-shadow:0 0 0 2px #fff}
.pv-mi-body{padding:24px 26px 26px;display:flex;flex-direction:column;flex:1}
.pv-mi-head{display:grid;grid-template-columns:92px 1fr;gap:18px;align-items:center;margin-bottom:16px}
.pv-mi-photo{display:block;width:92px;height:92px;border:1px solid var(--line);border-radius:6px;background:#fff;padding:6px}
.pv-mi-photo img{width:100%;height:100%;object-fit:contain;display:block}
.pv-mi-body h3{font-size:28px;margin:0 0 4px}
.pv-mi-sub{margin:0;color:var(--graphite)}
.pv-mi-ideal{margin:0 0 16px;padding:11px 14px;background:#EEF5F9;border-left:4px solid var(--brand);font-weight:700;line-height:1.35}
.pv-mi-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:6px 0 20px;padding-top:16px;border-top:1px solid var(--line)}
.pv-mi-facts div{display:flex;flex-direction:column-reverse;gap:4px}
.pv-mi-facts dd{margin:0;font-weight:780;font-stretch:80%;font-size:26px;line-height:1;color:var(--brand)}
.pv-mi-facts dt{font-size:14px;line-height:1.3;color:var(--graphite)}
.pv-mi-models{list-style:none;margin:auto 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.pv-mi-models li{font-size:14px;border:1px solid var(--line);border-radius:4px;padding:5px 9px;white-space:nowrap}
.pv-mi-models b{font-weight:700}
.pv-mi-common{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 26px;margin-top:28px;padding-top:16px;border-top:2px solid var(--ink)}
.pv-mi-common p{margin:0;font-weight:700}
.pv-mi-common ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 26px}
.pv-mi-common li{position:relative;padding-left:22px}
.pv-mi-common li::before{content:"";position:absolute;left:2px;top:.42em;width:11px;height:6px;border-left:2.5px solid var(--brand);border-bottom:2.5px solid var(--brand);transform:rotate(-45deg)}
.pv-mi-mix{margin:18px 0 0;max-width:72ch;font-size:18px}
@media(max-width:900px){.pv-mi-grid{grid-template-columns:1fr}}
@media(max-width:480px){.pv-mi-body{padding:20px 18px 22px}.pv-mi-head{grid-template-columns:72px 1fr;gap:14px}.pv-mi-photo{width:72px;height:72px}.pv-mi-facts dd{font-size:22px}.pv-mi-plan{padding:12px 10px 10px}}
