/* =======================================================================
   photovoltaikreinigung.css - seitenlokale Regeln fuer /photovoltaikreinigung/
   -----------------------------------------------------------------------
   Herkunft: Viereck_PV_Prototype_CURRENT.html, <style>-Block.
   Von 388 Regeln stehen 295 bereits zeichengleich
   in site.css und sind hier NICHT wiederholt. Zusaetzlich entfallen:
     img                 - site.css fuehrt die korrigierte Fassung
     3 Data-URI-Hintergrundregeln - ersetzt durch echte Bilddateien
                           in <picture>/<img>.
   Inhaltlich wurde nichts geaendert.
   ======================================================================= */

.pvhero{padding:var(--s8) 0 calc(var(--s8) + 40px)}
.pvhero .in{max-width:var(--wrap)}
.pvhero .heroin{display:grid;grid-template-columns:55fr 45fr;gap:var(--s8);
  align-items:center;max-width:none}
.pvhero .heroin > *{min-width:0}
.pvhero h1{margin:0 0 var(--s5)}
.pvhero .display{font-size:clamp(34px,4.4vw,54px);font-weight:600;
  letter-spacing:-.026em;line-height:1.08;display:block}
.pvhero .lbl{color:var(--gold);margin-bottom:var(--s4)}
.pvhero .sub{max-width:52ch;margin-bottom:0;font-size:clamp(17px,1.5vw,19px);
  line-height:1.6;color:var(--n300)}
.pvhero .acts{margin-top:var(--s6)}
.pvhero figure{margin:0}
.pvhero .ph{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--n800);
  position:relative}
.pvhero .water{right:auto;bottom:auto;left:var(--gut);top:var(--s7);
  width:420px;height:420px;color:#fff;opacity:.045}
.pvsec .lbl{color:var(--red);margin-bottom:var(--s4)}
.pvsec .lead{margin-top:var(--s5)}
.pvsec p{color:var(--n700);line-height:1.7}
.pvsec .narrow > p + p{margin-top:var(--s4)}
.pvchips{margin-top:var(--s6)}
.pvchips .chip{cursor:text;background:#fff}
.pvflow{list-style:none;margin:var(--s7) 0 0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:var(--s7)}
.pvflow li{padding-top:var(--s4);border-top:2px solid var(--gold)}
.pvflow .k{display:block;font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--red);margin-bottom:var(--s3)}
.pvflow h3{font-size:19px;margin-bottom:var(--s3)}
.pvflow p{color:var(--n700);font-size:15px;line-height:1.7}
.pvvid{margin-top:var(--s8);display:grid;grid-template-columns:300px minmax(0,46ch);
  gap:var(--s7);align-items:start;justify-content:start}
.pvvid video{display:block;width:100%;height:auto;aspect-ratio:9/16;
  background:var(--n200);border:1px solid var(--n200);object-fit:cover}
.pvvid figure{margin:0}
.pvvid figcaption{color:var(--n700);line-height:1.7}
.pvvid > figure:nth-child(2){padding-top:var(--s2)}
.pvproof .pvpair{display:grid;grid-template-columns:1fr 1fr;gap:var(--s5);
  margin:var(--s7) 0 0}
.pvproof .pvpair figure{margin:0}
.pvproof .ph{aspect-ratio:4/3;overflow:hidden;border:1px solid var(--n200);
  position:relative}
.pvproof figcaption{padding-top:10px;font-size:13px;color:var(--n600);
  line-height:1.5}
.pvproof .capm{display:none}
.pvfacts{margin-top:var(--s7)}
.pvfacts .obj{margin-top:var(--s5)}
.pvfacts .obj:first-child{margin-top:0}
.pvfacts .facts{margin-top:var(--s3)}
.pvfacts .facts li{font-size:14px;color:var(--n700)}
.pvfacts .facts li::before{content:"";display:inline-block;width:7px;height:7px;
  background:var(--gold);transform:rotate(var(--tilt));margin-right:10px;
  vertical-align:middle}
.pvcards{display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--n200);border:1px solid var(--n200);margin-top:var(--s7)}
.pvcards > *{background:#fff;padding:var(--s7) var(--s6);display:flex;
  flex-direction:column;gap:var(--s3)}
.pvcards .k{font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--n500)}
.pvcards h3{font-size:19px}
.pvcards p{font-size:15px;color:var(--n700);line-height:1.6}
.pvcards .go{margin-top:auto;padding-top:var(--s4)}
.pvreach{margin-top:var(--s7);color:var(--n700);line-height:1.7}
.pvnext{list-style:none;margin:var(--s6) 0 0;padding:0;display:grid;
  grid-template-columns:repeat(3,1fr);gap:var(--s6)}
.pvnext li{border-top:1px solid var(--n300);padding-top:var(--s4)}
.pvnext .k{display:block;font-size:11px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--n500);margin-bottom:var(--s3)}
.pvfaq{list-style:none;margin:var(--s7) 0 0;padding:0;border-top:1px solid var(--n300)}
.pvfaq > li{border-bottom:1px solid var(--n300)}
.pvfaq details > summary{list-style:none;cursor:pointer;display:flex;gap:var(--s5);
  align-items:flex-start;justify-content:space-between;
  padding:var(--s5) 0;min-height:48px;font-size:17px;font-weight:600;
  line-height:1.4;color:var(--ink)}
.pvfaq details > summary::-webkit-details-marker{display:none}
.pvfaq details > summary:hover{color:var(--red)}
.pvfaq details > summary:focus-visible{outline:3px solid var(--focus);
  outline-offset:2px}
.pvfaq .pl{flex:0 0 auto;font-weight:400;font-size:22px;line-height:1;
  color:var(--red);transition:transform .16s}
.pvfaq details[open] .pl{transform:rotate(45deg)}
.pvfaq .ans{padding:0 0 var(--s6);color:var(--n700);line-height:1.7;
  max-width:var(--narrow)}
.pvanf{background:var(--ink);color:#fff;position:relative;overflow:hidden;
  padding:var(--s8) var(--s7)}
.pvanf .water{right:-12%;top:-30%;width:56%;height:170%;color:#fff;opacity:.05}
.pvanf .inr{position:relative;z-index:2;display:flex;gap:var(--s7);
  align-items:center;flex-wrap:wrap}
.pvanf h2{max-width:24ch}
.pvanf .tx{margin-top:var(--s4);max-width:62ch;color:var(--n300);line-height:1.7}
.pvanf .trustline{margin-top:var(--s5);max-width:62ch;font-size:14px;
  line-height:1.6;color:rgba(255,255,255,.72)}
.pvanf .acts{margin-left:auto}
@media (max-width:1023px){
  .pvhero{padding:var(--s7) 0 calc(var(--s7) + 30px)}
  .pvhero .heroin{grid-template-columns:1fr;gap:var(--s6)}
  .pvhero figure{max-width:620px}
  .pvhero .water{left:var(--gut);top:var(--s6);
    width:min(74%,340px);height:min(74vw,340px)}
  .pvvid{grid-template-columns:260px minmax(0,42ch);gap:var(--s6)}
  .pvnext{grid-template-columns:1fr 1fr}
}
@media (max-width:639px){
  .pvhero .display{font-size:clamp(21px,6.8vw,34px)}
  .pvfacts .facts{gap:var(--s2) var(--s4)}
  .pvfacts .facts li{font-size:12.5px}
  .pvflow{grid-template-columns:1fr;gap:0;border-left:2px solid var(--gold);
    padding-left:var(--s5)}
  .pvflow li{border-top:0;padding-top:0;padding-bottom:var(--s6)}
  .pvflow li:last-child{padding-bottom:0}
  .pvproof .pvpair{grid-template-columns:1fr;gap:var(--s6)}
  .pvproof .capd{display:none}
  .pvproof .capm{display:inline}
  .pvcards{grid-template-columns:1fr}
  .pvnext{grid-template-columns:1fr;gap:var(--s5)}
  .pvvid{grid-template-columns:1fr;gap:var(--s5)}
  .pvvid video{max-width:280px;margin:0 auto}
  .pvanf{padding:var(--s7) var(--s5)}
  .pvanf .inr{gap:var(--s6)}
  .pvanf .acts{margin-left:0}
  .pvanf .acts .btn{width:100%;justify-content:center}
}
@media (max-width:380px){
  .pvsec h2{font-size:22px}
}

/* V1-Review PV-M1: Textspalte neben dem Robotervideo */
.pvvid > .pvvidbd{padding-top:var(--s2)}
.pvvidbd h3{margin-bottom:var(--s3)}
.pvvidbd p{color:var(--n700);line-height:1.7}
.pvvidbd p + p{margin-top:var(--s4)}

/* =======================================================================
   V1-Review E3 · Block 2 · PV5: Bildunterschriften im Projektbeleg #h-proof
   Zeile 1 fett, Zeile 2 klein. Mobil (bis 639 px) stehen Bild und Daten bereits
   untereinander (.pvpair einspaltig). Die Regeln fuer .capd/.capm/.pvfacts
   werden nicht mehr genutzt und bleiben stehen.
   ======================================================================= */
.pvproof figcaption{font-size:15px;color:var(--ink);line-height:1.45}
.pvproof figcaption b{font-weight:600}
.pvproof figcaption .sm{font-size:13px;color:var(--n600);line-height:1.5}

/* =======================================================================
   V1-Review E3 · Block 2 · AF1: Variante "Schwerpunkt, dunkel" (PV)
   Gleicher Aufbau wie Glas: Label, H2, Text, Schaltflaeche + Telefon,
   Unverbindlichkeit, Inhaberzeile - einspaltig statt Text/Schaltflaeche
   nebeneinander.
   ======================================================================= */
.pvanf .inr{display:block}
.pvanf .lbl{color:var(--gold);margin-bottom:var(--s4)}
.pvanf .acts.anfacts{margin-left:0}
.pvanf .anftel{color:var(--n300);border-bottom-color:var(--n600)}
.pvanf .anftel:hover{color:var(--gold);border-bottom-color:var(--gold)}
.pvanf .anfnote{color:rgba(255,255,255,.72)}
.pvanf .trustline.anfowner{margin-top:var(--s2)}
