/*
Theme Name: frei-finanziert Test
Theme URI: https://test.frei-finanziert.de
Author: frei-finanziert.de
Description: Individuelles Test-Theme auf Basis des bestehenden frei-finanziert.de HTML-Designs.
Version: 1.0.0
Text Domain: frei-finanziert
*/

:root{--navy:#132b43;--ink:#151515;--red:#e30613;--gold:#c9a227;--cream:#f5f0e7;--line:#dedbd4;--muted:#626b73;--white:#fff}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#fff}
.container{width:min(1160px,calc(100% - 36px));margin:auto}
a{text-decoration:none;color:inherit}
header{background:#fff;border-bottom:1px solid var(--line)}
.nav{min-height:82px;display:flex;align-items:center;justify-content:center;gap:35px}
.site-logo{width:235px}
.site-logo img{display:block;width:100%;height:auto}
nav{display:flex;align-items:center;justify-content:center;gap:28px;font-size:14px;font-weight:600;color:var(--navy)}
nav a:hover{color:var(--red)}
.navbtn{background:var(--red);color:#fff;padding:12px 18px;border-radius:5px}
.hero{background:var(--cream);position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;right:-120px;top:-170px;width:420px;height:420px;border:2px solid rgba(201,162,39,.18);border-radius:50%}
.hero-grid{min-height:470px;display:grid;grid-template-columns:1.05fr .95fr;gap:60px;align-items:center;padding:58px 0}
.hero h1{font-size:54px;line-height:1.06;color:var(--navy);margin:0 0 18px;letter-spacing:-1.5px}
.hero h1 strong{color:var(--red)}
.kicker{font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:1.1px;color:var(--red);margin-bottom:15px}
.lead{font-size:21px;line-height:1.5;margin:0 0 15px;color:#293744}
.hero p{font-size:16px;line-height:1.75;color:var(--muted);max-width:650px}
.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:25px}
.btn{padding:14px 22px;border-radius:5px;font-weight:700;font-size:14px;display:inline-block}
.primary{background:var(--red);color:#fff}.secondary{background:#fff;color:var(--navy);border:1px solid #ccc}
.brand-card{background:#fff;border:1px solid #ddd7ca;border-radius:14px;padding:25px;box-shadow:0 18px 45px rgba(0,0,0,.08);position:relative;z-index:2}
.brand-card:before{content:"";display:block;width:70px;height:4px;background:var(--red);margin-bottom:16px}
.brand-card img{width:100%;display:block}
.trust{background:#fff;border-bottom:1px solid var(--line)}
.trust-grid{display:grid;grid-template-columns:repeat(4,1fr)}
.trust-item{text-align:center;padding:19px 12px;border-right:1px solid var(--line)}
.trust-item:last-child{border:0}.trust-item b{font-size:19px;color:var(--navy)}.trust-item b i{color:var(--red);font-style:normal}.trust-item span{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.legal{text-align:center;font-size:10px;color:#777;padding:8px 12px}
.calc{padding:78px 0 88px}.section-title{text-align:center;max-width:780px;margin:0 auto 35px}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:800;color:var(--red);margin-bottom:10px}
h2{font-size:41px;line-height:1.12;color:var(--navy);margin:0 0 13px;letter-spacing:-.8px}
.section-title p{color:var(--muted);line-height:1.7;margin:0}
.calc-shell{border:1px solid #d9d9d9;border-radius:12px;box-shadow:0 15px 40px rgba(0,0,0,.07);padding:9px;background:#fff}
.calc-line{height:4px;border-radius:9px 9px 0 0;background:linear-gradient(90deg,var(--red) 0 78%,var(--gold) 78%)}
.europace-rechner-wrapper{width:100%;min-height:950px}.europace-rechner-wrapper baufi-passt-flex{display:block;width:100%;min-height:950px}
.services{background:#f8f8f8;padding:78px 0 82px}
.services-head{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:30px}
.services-head h2{margin:0}.services-head p{max-width:500px;color:var(--muted);line-height:1.7;margin:0}
.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.card{background:#fff;border:1px solid #ddd;border-radius:10px;padding:30px;min-height:235px;position:relative}
.card:before{content:"";position:absolute;left:30px;top:0;width:42px;height:3px;background:var(--gold)}
.card .num{font-size:12px;font-weight:800;color:#999;margin-bottom:27px}.card h3{font-size:23px;color:var(--navy);margin:0 0 12px}.card p{font-size:14px;line-height:1.75;color:var(--muted);margin:0}
.why{padding:82px 0}.why-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px;align-items:center}
.why h2{font-size:42px}.why h2 em{font-style:normal;color:var(--red)}
.why-intro{font-size:17px;line-height:1.8;color:var(--muted)}
.quote{background:var(--navy);color:#fff;border-radius:13px;padding:45px;position:relative;overflow:hidden}
.quote:after{content:"";position:absolute;right:-110px;bottom:-160px;width:330px;height:330px;border:2px solid rgba(201,162,39,.25);border-radius:50%}
.quote .small{color:var(--gold);font-size:12px;text-transform:uppercase;letter-spacing:1px;font-weight:800}.quote h3{font-size:31px;line-height:1.25;margin:14px 0}.quote p{color:rgba(255,255,255,.75);line-height:1.8;margin:0;position:relative;z-index:1}
.cta{background:var(--red);color:#fff;text-align:center;padding:68px 0}.cta h2{color:#fff}.cta p{max-width:650px;margin:0 auto 25px;line-height:1.7;color:rgba(255,255,255,.9)}.cta .btn{background:#fff;color:var(--navy)}
.contact{background:var(--cream);padding:78px 0}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}.contact h2{font-size:42px}.contact p{color:var(--muted);line-height:1.7}.details{border-top:1px solid #ddd5c7;margin-top:25px;padding-top:20px}.details div{margin:0 0 15px}.details b{display:block;color:var(--red);font-size:11px;text-transform:uppercase;letter-spacing:.8px;margin-bottom:4px}.details a,.details span{color:var(--navy);font-size:15px}.form{background:#fff;border-radius:11px;border:1px solid #ddd;padding:30px;border-top:4px solid var(--red)}
.site-footer{background:#111;color:#aaa;text-align:center;padding:25px;font-size:11px}.site-footer strong{color:#fff}
.entry-content{max-width:900px;margin:70px auto;padding:0 18px;line-height:1.8}
.entry-content h1,.entry-content h2,.entry-content h3{color:var(--navy)}
.entry-content a{color:var(--red);text-decoration:underline}
@media(max-width:850px){
.nav{min-height:72px}nav a:not(.navbtn){display:none}
.hero-grid,.why-grid,.contact-grid{grid-template-columns:1fr}.brand-card{max-width:600px;margin:auto}
.trust-grid{grid-template-columns:1fr 1fr}.trust-item:nth-child(2){border-right:0}
.cards{grid-template-columns:1fr}.services-head{display:block}.services-head p{margin-top:12px}
}
@media(max-width:600px){
.container{width:calc(100% - 28px)}.navbtn{padding:10px 12px;font-size:12px}
.hero-grid{padding:42px 0}.hero h1{font-size:40px}.lead{font-size:18px}.actions{flex-direction:column}.btn{text-align:center}
.trust-item{padding:15px 5px}.calc,.services,.why,.contact{padding:58px 0}h2,.why h2,.contact h2{font-size:33px}
.quote{padding:30px}.form{padding:22px}
.europace-rechner-wrapper,.europace-rechner-wrapper baufi-passt-flex{min-height:1200px}
}
/* =========================================
   HEADER / HAUPTNAVIGATION
   ========================================= */

.site-header {
    width: 100%;
    background: #ffffff;
    border-bottom: 1px solid #dddddd;
}

.site-header .container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

.main-navigation ul {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0;
    list-style: none;
    margin: 0;
    padding: 0;
}

.main-navigation li {
    margin: 0;
    padding: 0;
}

.main-navigation a {
    display: block;
    padding: 18px 18px;
    color: #102f4d;
    text-decoration: none;
    font-weight: 600;
    font-size: 15px;
}

.main-navigation a:hover {
    color: #ed1c24;
}

.main-navigation .current-menu-item a {
    color: #ed1c24;
}
