/*
Theme Name: PV-KOMPASS
Author: PV-KOMPASS
Description: Individuelles responsives Theme für PV-Direktinvestments. Benötigt das Plugin PV-KOMPASS Projekte.
Version: 1.9.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: pv-kompass
*/
:root{--navy:#202d41;--yellow:#efbd34;--light:#f5f7fa;--ink:#233044;--muted:#657183}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font:16px/1.65 system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink)}a{color:inherit;text-decoration:none}.wrap{width:min(1160px,90%);margin:auto}.site-header{position:sticky;top:0;z-index:20;background:#fff;box-shadow:0 3px 20px #15203313}.nav{min-height:90px;display:flex;align-items:center;justify-content:space-between;gap:25px}.brand img{width:250px;max-width:100%;height:auto;display:block}.links{display:flex;align-items:center;gap:23px;font-weight:650;font-size:14px}.links a:hover{color:#b58713}.btn,.wp-block-button__link{display:inline-block;background:var(--yellow);color:#19283b;padding:13px 23px;border-radius:7px;font-weight:750;border:0;cursor:pointer}.btn:hover{background:#ffd15b}.btn.alt{background:transparent;border:1px solid #fff;color:#fff}.hero{background:linear-gradient(90deg,#152238ed 0%,#152238c9 48%,#15223838 100%),url('https://images.unsplash.com/photo-1508514177221-188b1cf16e9d?auto=format&fit=crop&w=1800&q=85') center/cover;color:white;padding:115px 0 130px}.eyebrow{text-transform:uppercase;letter-spacing:.18em;font-size:12px;font-weight:800;color:#dca91b}h1{font-size:clamp(40px,5vw,70px);line-height:1.12;max-width:780px;margin:16px 0 24px;letter-spacing:-.04em}h2{font-size:clamp(30px,3.5vw,44px);line-height:1.17;letter-spacing:-.035em;margin:12px 0 22px}h3{font-size:21px;line-height:1.3}.hero p{max-width:610px;font-size:19px;color:#e1e6ed}.actions{display:flex;flex-wrap:wrap;gap:14px;margin-top:30px}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:-54px;position:relative}.stat{padding:30px;background:white;box-shadow:0 12px 40px #1b2a3a19;border-radius:12px}.stat strong{font-size:24px;color:var(--navy);display:block}.stat small{color:var(--muted)}section{padding:85px 0}.intro{max-width:760px;color:var(--muted);font-size:18px}.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:36px}.tile{padding:32px;border:1px solid #e3e8ee;border-radius:12px;background:#fff}.num{color:#c69216;font-weight:850;font-size:32px}.soft{background:var(--light)}.split{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center}.photo{width:100%;height:430px;object-fit:cover;border-radius:15px}.checks{padding-left:20px}.checks li{margin-bottom:12px}.project-section{background:var(--navy);color:#fff}.project-section .intro{color:#cbd4df}.projectcards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:35px}.projectcard{background:#fff;color:var(--ink);border-radius:13px;overflow:hidden}.projectcard img{width:100%;height:210px;object-fit:cover}.projectcard .inside{padding:25px}.facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:25px 0}.fact{background:#f3f6f8;padding:14px;border-radius:8px}.fact b{display:block;font-size:19px}.fact span{font-size:12px;color:var(--muted)}.notice{font-size:13px;color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:35px}.step{border-top:3px solid var(--yellow);padding-top:18px}.faq details{border-bottom:1px solid #dbe1e7;padding:19px 0}.faq summary{cursor:pointer;font-weight:750}.faq p{color:var(--muted)}.contact{background:#f3f6fa}.contactgrid{display:grid;grid-template-columns:1fr 1fr;gap:60px}.contact .contact-panel{background:#fff;padding:30px;border-radius:13px}.risk{background:#fff8e8;padding:18px;border-left:4px solid var(--yellow);font-size:14px;margin-top:25px}.site-footer{background:#172338;color:#c7d0da;padding:38px 0;font-size:13px}.site-footer .wrap{display:flex;justify-content:space-between;gap:30px;flex-wrap:wrap}.site-footer a{text-decoration:underline}.page-content{padding:65px 0;min-height:45vh}.project-detail{max-width:900px;margin:auto}.project-detail img{width:100%;height:auto;border-radius:12px}.menu-toggle{display:none;background:var(--navy);color:#fff;border:0;padding:9px 13px;border-radius:6px}.screen-reader-text{position:absolute;left:-9999px}@media(max-width:850px){.menu-toggle{display:block}.nav{flex-wrap:wrap;padding:15px 0}.brand img{width:205px}.links{display:none;width:100%;flex-direction:column;align-items:stretch;padding:12px 0}.links.open{display:flex}.hero{padding:90px 0 110px}.stats,.grid3,.steps{grid-template-columns:1fr}.split,.contactgrid{grid-template-columns:1fr}.photo{height:290px}section{padding:60px 0}}

/* Featured project on homepage */
.featured-project{display:grid;grid-template-columns:1.04fr 1fr;background:#fff;color:var(--ink);border-radius:14px;overflow:hidden;margin-top:35px;min-height:385px;box-shadow:0 18px 45px #101b2a22}
.featured-project-media{min-height:385px;background:#e5edf1}
.featured-project-media img{width:100%;height:100%;min-height:385px;object-fit:cover;display:block}
.featured-project-placeholder{height:100%;min-height:385px;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:12px;background:linear-gradient(145deg,#dbe6ec,#aabfc8);color:#203248;text-align:center}
.featured-project-placeholder span{font-size:27px;font-weight:800;letter-spacing:.08em}.featured-project-placeholder small{font-size:15px}
.featured-project-content{padding:40px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center}.featured-project-content h3{font-size:clamp(26px,3vw,36px);margin:10px 0 8px;color:var(--navy)}.featured-project-content p{color:var(--muted);margin:0 0 20px}.featured-facts{display:grid;grid-template-columns:1fr 1fr;gap:12px;width:100%;margin-bottom:25px}.featured-fact{background:#f3f6f8;border-radius:8px;padding:12px 14px;min-width:0}.featured-fact small{display:block;color:var(--muted);font-size:12px}.featured-fact strong{display:block;font-size:17px;overflow-wrap:anywhere}
@media(max-width:850px){.featured-project{grid-template-columns:1fr}.featured-project-media,.featured-project-media img,.featured-project-placeholder{min-height:230px;max-height:320px}.featured-project-content{padding:25px}}
@media(max-width:420px){.featured-facts{grid-template-columns:1fr}}

/* Kontaktformular v1.4 */
.pvk-form{display:flex;flex-direction:column;gap:9px}.pvk-form label:not(.pvk-privacy){font-size:14px;font-weight:700;margin-top:8px}.pvk-form input:not([type=checkbox]),.pvk-form textarea{display:block;width:100%;border:1px solid #cbd5df;border-radius:7px;background:#fff;padding:12px 13px;color:#233044;font:inherit}.pvk-form input:focus,.pvk-form textarea:focus{outline:2px solid #efbd34;outline-offset:1px}.pvk-form .btn{align-self:flex-start;margin-top:8px}.pvk-privacy{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin-top:10px}.pvk-privacy input{margin-top:4px;flex-shrink:0}.pvk-privacy a{text-decoration:underline}.pvk-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.pvk-form-feedback{padding:12px;border-radius:7px}.pvk-form-feedback.success{background:#e7f5eb;color:#205b35}.pvk-form-feedback.error{background:#fff0ef;color:#8d2424}.pvk-project-contact{padding:40px 0 25px;max-width:680px}.pvk-project-contact .pvk-form-wrap{background:#f3f6fa;border-radius:13px;padding:25px}.pvk-form-project{font-size:14px;margin:0 0 6px}

/* PV-KOMPASS v1.5: großzügiges, responsives Kontaktformular */
.contact .contact-panel{padding:clamp(24px,3.2vw,44px);border-radius:17px;box-shadow:0 18px 45px rgba(22,42,64,.07)}
.contact .contact-panel h3{font-size:clamp(23px,2.4vw,30px);letter-spacing:-.025em;color:var(--navy);margin:0 0 12px}
.contact .contact-panel>p{color:var(--muted);line-height:1.65;margin:0 0 24px}
.pvk-form{display:flex;flex-direction:column;gap:19px;width:100%}
.pvk-form-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.pvk-field{display:flex;flex-direction:column;gap:8px;min-width:0}
.pvk-form .pvk-field label{font-size:14px;font-weight:700;margin:0;color:var(--navy);line-height:1.4}
.pvk-form .pvk-field input,.pvk-form .pvk-field textarea{width:100%;min-width:0;max-width:100%;padding:14px 16px;border:1px solid #cfd8e3;border-radius:9px;background:#fff;color:var(--navy);font:inherit;font-size:15px;line-height:1.5;box-shadow:none}
.pvk-form .pvk-field input{min-height:51px}
.pvk-form .pvk-field textarea{min-height:128px;resize:vertical}
.pvk-form .pvk-field input::placeholder,.pvk-form .pvk-field textarea::placeholder{color:#8a98a9}
.pvk-form .pvk-field input:focus,.pvk-form .pvk-field textarea:focus{border-color:#d8a41b;outline:3px solid rgba(239,189,52,.22);outline-offset:0}
.pvk-form .pvk-privacy{display:flex;align-items:flex-start;gap:11px;margin:0;font-size:13px;line-height:1.65;color:#526278;font-weight:400}
.pvk-form .pvk-privacy input[type=checkbox]{width:17px;height:17px;margin:2px 0 0;flex-shrink:0;accent-color:#c89617}
.pvk-form .pvk-privacy a{color:var(--navy);text-decoration:underline;text-underline-offset:3px}
.pvk-form .btn{align-self:stretch;min-height:52px;margin:0;text-align:center;font-size:15px;border-radius:9px}
.pvk-form .notice{margin:-5px 0 0;font-size:12px;color:var(--muted)}
.pvk-form .pvk-honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
.pvk-project-contact{max-width:740px}.pvk-project-contact .pvk-form-wrap{background:#fff;border:1px solid #e3e8ee;border-radius:16px;padding:clamp(22px,3vw,36px);box-shadow:0 12px 35px rgba(22,42,64,.06)}
@media(max-width:560px){.pvk-form-row{grid-template-columns:1fr}.contact .contact-panel{padding:24px}.pvk-form{gap:17px}}

/* Hero background video; retains image as fallback */
.hero-video{position:relative;isolation:isolate;overflow:hidden}
.hero-video .hero-bg-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2;pointer-events:none}
.hero-video .hero-video-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,34,56,.93) 0%,rgba(21,34,56,.78) 48%,rgba(21,34,56,.32) 100%);z-index:-1;pointer-events:none}
.hero-video>.wrap{position:relative;z-index:1}
@media(prefers-reduced-motion:reduce){.hero-video .hero-bg-video{display:none}.hero-video .hero-video-shade{display:none}}

.pvk-footer-legal{display:flex;gap:22px;align-items:center}.pvk-footer-legal a:hover{color:#fff}

/* v1.9 – typographic refinement limited to legal pages */
.pvk-legal-page{max-width:960px;padding-top:52px;padding-bottom:75px;overflow-wrap:anywhere}
.pvk-legal-page>h1{font-size:clamp(30px,3.2vw,36px);line-height:1.2;letter-spacing:-.025em;max-width:none;margin:0 0 28px;color:var(--navy)}
.pvk-legal-page h2,.pvk-legal-page .wp-block-heading:is(h2){font-size:20px;line-height:1.35;letter-spacing:-.012em;margin:30px 0 12px;color:var(--navy);font-weight:750}
.pvk-legal-page h3,.pvk-legal-page .wp-block-heading:is(h3){font-size:18px;line-height:1.4;letter-spacing:0;margin:24px 0 10px;color:var(--navy)}
.pvk-legal-page h4{font-size:16px;line-height:1.4;margin:20px 0 8px}
.pvk-legal-page p,.pvk-legal-page li{font-size:16px;line-height:1.75}
.pvk-legal-page p{margin:0 0 15px}
.pvk-legal-page ul,.pvk-legal-page ol{padding-left:25px;margin:10px 0 20px}
.pvk-legal-page a{text-decoration:underline;text-underline-offset:3px;overflow-wrap:anywhere}
@media(max-width:600px){.pvk-legal-page{padding-top:38px;padding-bottom:55px}.pvk-legal-page h2{font-size:19px;margin-top:26px}}
