/*
Theme Name: AKTIMMO
Theme URI: https://www.aktimmo.ch
Author: AKTIMMO Consult GmbH
Description: Massgeschneidertes Theme fuer aktimmo.ch (Startseite, Portfolio-Screening, Impressum, Datenschutz). Schrift DIN Pro, monochrom, Akzent #33A277.
Version: 1.0.8
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: aktimmo
*/

/* ---------- Aus dem Design (Runde 5) */
@font-face{font-family:"AKTIMMO DIN";src:url("assets/fonts/DINPro-Light.woff2") format("woff2");font-weight:300;font-style:normal;font-display:swap}
@font-face{font-family:"AKTIMMO DIN";src:url("assets/fonts/DINPro-Medium.woff2") format("woff2");font-weight:500;font-style:normal;font-display:swap}
body{margin:0;background:#FFFFFF}
section[id]{scroll-margin-top:96px}
a{color:#1A1A1A}a:hover{color:#6E6E6E}
.wrap{max-width:1200px;margin:0 auto;padding:0 48px;box-sizing:border-box}
.hero{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:72px;align-items:end}
.g3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:48px}
.g2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:72px}
.row{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,9fr);gap:48px}
.dials{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:40px 24px}
.g4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:32px}
.faq{display:grid;grid-template-columns:minmax(0,4fr) minmax(0,5fr);gap:32px}
.rolle{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,3fr) minmax(0,6fr);gap:0;align-items:stretch}
.h1{font-size:50px;line-height:58px}
.h2{font-size:34px;line-height:42px}
.lede{font-size:21px;line-height:32px}
.nav{display:flex;gap:32px;align-items:center}
@media (max-width:860px){
.wrap{padding:0 16px}
.hero,.g3,.g2,.g4,.faq,.row,.rolle{grid-template-columns:minmax(0,1fr);gap:24px}
.h1{font-size:32px;line-height:39px}
.h2{font-size:25px;line-height:32px}
.lede{font-size:18px;line-height:28px}
.nav{display:none}
.dials{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
}
.zduo{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:56px;align-items:center}
.zpanel{display:grid}
.zp{grid-area:1/1;transition:opacity 300ms ease}
.zleft{display:flex;flex-direction:column;gap:40px;min-width:0}
.znm{font-size:21px}.zgp{font-size:15px}.zakt{font-size:13px}.zc1{font-size:27px}.zc2{font-size:19px}
@media (max-width:860px){
.zduo{grid-template-columns:minmax(0,1fr);gap:28px}
.zleft{display:contents}
.zlead{order:1}.zstage{order:2}.zpanel{order:3}
.zgp{display:none}.znm{font-size:31px}.zakt{font-size:16px}.zc1{font-size:32px}.zc2{font-size:24px}
.zhint{flex-basis:100%;order:3}
.zrow{grid-template-columns:minmax(0,1fr)!important;gap:2px!important}
}
.kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.kv{font-size:24px;line-height:30px;font-weight:500;color:#1A1A1A;overflow-wrap:break-word}
.kl{font-size:12px;line-height:17px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#6E6E6E;hyphens:auto;overflow-wrap:break-word}
@media (max-width:1240px){.kpis{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}.kv{font-size:26px;line-height:32px}}
@media (max-width:520px){.kpis{grid-template-columns:minmax(0,1fr)}}
@media (max-width:600px){.yl{font-size:10px}}
.fl{display:flex;flex-direction:column;gap:6px;min-width:0}
.fl>span{font-size:12px;line-height:17px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#6E6E6E}
.fi{width:100%;box-sizing:border-box;border:none;border-bottom:1px solid #1A1A1A;border-radius:0;background:transparent;font-family:inherit;font-size:17px;line-height:26px;font-weight:300;color:#1A1A1A;padding:10px 0;outline:none;-webkit-appearance:none;appearance:none}
.fi:focus{border-bottom:2px solid #33A277;padding-bottom:9px}
textarea.fi{resize:vertical;min-height:132px}
select.fi{cursor:pointer;background-image:linear-gradient(45deg,transparent 50%,#1A1A1A 50%),linear-gradient(135deg,#1A1A1A 50%,transparent 50%);background-position:calc(100% - 12px) 50%,calc(100% - 6px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:28px}
.chip{position:relative;display:inline-flex}
.chip input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.chip span{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid #C9C7C2;font-size:15px;line-height:20px;color:#1A1A1A;cursor:pointer;transition:background 200ms ease,color 200ms ease}
.chip input:checked+span{background:#1A1A1A;color:#FFFFFF;border-color:#1A1A1A}
.chip input:focus-visible+span{outline:2px solid #33A277;outline-offset:2px}
.f2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 32px}
.anf{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:48px;align-items:start}
.mapbox{aspect-ratio:4/3;background:#EDEDEB;overflow:hidden;border:1px solid #C9C7C2}
@media (max-width:860px){.f2,.anf{grid-template-columns:minmax(0,1fr);gap:24px}.mapbox{aspect-ratio:1/1}}
.ph{position:relative;aspect-ratio:16/7;background:#E4E3DF;background-image:repeating-linear-gradient(135deg,rgba(255,255,255,0.35) 0 1px,transparent 1px 14px);display:flex;flex-direction:column;justify-content:flex-end;gap:4px;padding:24px;box-sizing:border-box;overflow:hidden}
.ph-k{font-size:12px;line-height:17px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#6E6E6E}
.ph-t{font-size:15px;line-height:22px;color:#333333;max-width:520px}
.acc{display:flex;justify-content:space-between;align-items:center;gap:24px;width:100%;padding:24px 0;border:none;border-top:1px solid #1A1A1A;background:transparent;font-family:inherit;color:#1A1A1A;cursor:pointer;text-align:left}
.acc:hover .acc-t{color:#6E6E6E}
.acc-t{display:block;font-size:24px;line-height:32px;font-weight:500;transition:color 200ms ease}
.acc-d{display:block;font-size:16px;line-height:24px;font-weight:300;color:#6E6E6E;margin-top:4px}
.acc-c{flex:none;display:inline-block;width:10px;height:10px;border-right:1.5px solid #1A1A1A;border-bottom:1.5px solid #1A1A1A;transition:transform 300ms ease}
.rep{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px 32px}
@media (max-width:860px){.ph{aspect-ratio:4/3}.rep{grid-template-columns:minmax(0,1fr);gap:20px}.acc-t{font-size:20px;line-height:28px}}
.pair{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,15fr);gap:24px;align-items:start;margin:0}
.pair figure{margin:0;display:flex;flex-direction:column;gap:10px}
.pair img{display:block;width:100%;height:auto;object-fit:cover;background:#E4E3DF}
.pair figcaption{font-size:13px;line-height:18px;color:#6E6E6E}
.bef{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.bef>div{display:grid;grid-template-columns:32px minmax(0,1fr);gap:8px;padding:16px 0;border-top:1px solid #C9C7C2}
.opl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px}
.opl>div{padding:12px 0;border-top:1px solid #C9C7C2;display:flex;flex-direction:column;gap:2px}
@media (max-width:860px){.pair,.bef,.opl{grid-template-columns:minmax(0,1fr)}}

/* ---------- Grundlage WordPress */
body{font-family:"AKTIMMO DIN","Helvetica Neue",Arial,sans-serif;font-weight:300;color:#333333;font-size:17px;line-height:26px;-webkit-font-smoothing:antialiased}
img{max-width:100%}
.skip{position:absolute;left:-9999px;top:0;z-index:100;background:#1A1A1A;color:#FFFFFF;padding:12px 20px;text-decoration:none}
.skip:focus{left:16px;top:16px;color:#FFFFFF}

/* ---------- Header */
.site-header{position:sticky;top:0;z-index:10;height:97px;box-sizing:border-box;background:#FFFFFF;border-bottom:1px solid #C9C7C2}
.site-header .hd{display:flex;justify-content:space-between;align-items:center;gap:24px;height:96px}
.site-header .logo{display:block;line-height:0}
.site-header .logo img{width:120px;height:auto}
.site-header .nav{font-size:15px;font-weight:500;letter-spacing:0.02em}
.site-header .nav a{text-decoration:none}
.site-header .nav a.nav-k{padding-left:32px;border-left:1px solid #C9C7C2}
.site-header .nav-m{display:none;font-size:15px;font-weight:500;text-decoration:none}
@media (max-width:860px){.site-header .nav-m{display:inline-flex;align-items:center;min-height:44px}}
.site-header.is-front{margin-bottom:-97px;transition:transform 900ms cubic-bezier(0.22,1,0.36,1),opacity 900ms ease,visibility 900ms}
.js .site-header.is-front{transform:translateY(-100%);opacity:0;visibility:hidden}
.js .site-header.is-front.on{transform:translateY(0);opacity:1;visibility:visible}
.admin-bar .site-header{top:32px}
@media (max-width:782px){.admin-bar .site-header{top:46px}}
@media (max-width:600px){.admin-bar .site-header{top:0}}

/* ---------- Hero */
.js .herotext{opacity:0;transform:translateY(32px)}

/* ---------- Unterseite Screening */
.step{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,3fr);gap:32px;padding:28px 0;border-top:1px solid #1A1A1A}
@media (max-width:860px){.step{grid-template-columns:minmax(0,1fr);gap:8px}}

/* ---------- Rechtliche Seiten und Standardseiten */
.legal h2{margin:0;padding-top:24px;border-top:1px solid #C9C7C2;font-size:20px;line-height:28px;font-weight:500;color:#1A1A1A}
.legal h3{margin:0;font-size:17px;line-height:26px;font-weight:500;color:#1A1A1A}
.legal p,.legal ul,.legal ol{margin:0;max-width:760px}
.legal ul,.legal ol{padding-left:20px}
.legal li{margin:2px 0}
.legal a{word-break:break-word}

/* ---------- Footer */
.site-footer{position:relative;z-index:1;background:#FFFFFF;padding:72px 0 48px;border-top:1px solid #1A1A1A}

/* ---------- Kontaktformular (Contact Form 7) */
.kform .wpcf7-form{display:flex;flex-direction:column;gap:32px;max-width:760px}
.kform .kf-fields{display:flex;flex-direction:column;gap:32px}
.kform p{margin:0}
.kform br{display:none}
.kform fieldset{margin:0;padding:0;border:none;display:flex;flex-direction:column;gap:12px}
.kform legend{padding:0;margin-bottom:12px;font-size:12px;line-height:17px;font-weight:500;letter-spacing:0.1em;text-transform:uppercase;color:#6E6E6E}
.kform .wpcf7-form-control-wrap{display:block}
.kform .fl>.wpcf7-form-control-wrap{font-size:inherit;line-height:inherit;font-weight:300;letter-spacing:normal;text-transform:none;color:inherit}
.kform .chips{display:flex;flex-wrap:wrap;gap:8px}
.kform .chips .wpcf7-list-item{position:relative;display:inline-flex;margin:0}
.kform .chips label{display:inline-flex;cursor:pointer}
.kform .chips input{position:absolute;opacity:0;width:1px;height:1px;margin:0}
.kform .chips .wpcf7-list-item-label{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:1px solid #C9C7C2;font-size:15px;line-height:20px;color:#1A1A1A;cursor:pointer;transition:background 200ms ease,color 200ms ease}
.kform .chips input:checked+.wpcf7-list-item-label{background:#1A1A1A;color:#FFFFFF;border-color:#1A1A1A}
.kform .chips input:focus-visible+.wpcf7-list-item-label{outline:2px solid #33A277;outline-offset:2px}
.kform .kf-ds .wpcf7-list-item{margin:0}
.kform .kf-ds label{display:flex;gap:12px;align-items:flex-start;font-size:15px;line-height:22px;color:#333333;cursor:pointer}
.kform .kf-ds input{width:18px;height:18px;margin:2px 0 0;flex:none;accent-color:#1A1A1A}
.kform .kf-send{display:flex;flex-wrap:wrap;gap:24px;align-items:center}
.kform .kf-btn{display:inline-flex;align-items:center;min-height:52px;padding:0 28px;border:none;border-radius:0;background:#1A1A1A;color:#FFFFFF;font-family:inherit;font-size:16px;font-weight:500;cursor:pointer;-webkit-appearance:none;appearance:none}
.kform .kf-btn:hover{background:#333333}
.kform .kf-btn:disabled{background:#9B9994;cursor:not-allowed}
.kform .kf-hint{font-size:13px;line-height:18px;color:#6E6E6E}
.kform .wpcf7-spinner{margin:0}
.kform .wpcf7-not-valid{border-bottom-color:#B4513C}
.kform .wpcf7-not-valid-tip{display:block;margin-top:6px;font-size:13px;line-height:18px;color:#B4513C}
.kform .wpcf7-response-output{margin:0!important;padding:0!important;border:none!important;font-size:15px;line-height:22px;color:#B4513C}
.kform .wpcf7-response-output:empty{display:none}
.kform .wpcf7-form.sent .kf-fields{display:none}
.kform .wpcf7-form.sent .wpcf7-response-output{display:flex;flex-direction:column;gap:16px;max-width:640px;padding:32px 0!important;border-top:1px solid #1A1A1A!important;border-bottom:1px solid #C9C7C2!important;font-size:22px;line-height:30px;font-weight:500;color:#1A1A1A}
.kform .wpcf7-form.sent .wpcf7-response-output::before{content:"";display:block;width:40px;height:3px;background:#33A277}
.kform .screen-reader-response{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kform-fallback{max-width:640px;padding-top:24px;border-top:1px solid #1A1A1A}

@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}
html{scroll-behavior:smooth}

/* ---------- Absicherung gegen fremde Plugin-Stile */
html body.aktimmo{font-family:"AKTIMMO DIN","Helvetica Neue",Arial,sans-serif!important;font-weight:300;color:#333333;font-size:17px;line-height:26px;letter-spacing:normal;background:#FFFFFF}
body.aktimmo h1,body.aktimmo h2,body.aktimmo h3,body.aktimmo h4,body.aktimmo p,body.aktimmo a,body.aktimmo span,body.aktimmo li,body.aktimmo div,body.aktimmo label,body.aktimmo legend,body.aktimmo figcaption,body.aktimmo button,body.aktimmo input,body.aktimmo textarea,body.aktimmo select,body.aktimmo text,body.aktimmo tspan,body.aktimmo textPath{font-family:inherit!important}
body.aktimmo h1,body.aktimmo h2,body.aktimmo h3,body.aktimmo h4{text-transform:none;letter-spacing:normal}

/* ---------- Porträts Ansprechpartner */
.pp{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:end}
.pp img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;filter:grayscale(1)}
@media (max-width:1080px){.pp{grid-template-columns:200px minmax(0,1fr);gap:24px}}
@media (max-width:600px){.pp{grid-template-columns:minmax(0,1fr);gap:16px}.pp img{max-width:320px}}

/* ---------- Einblenden beim Scrollen */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity 800ms ease,transform 900ms cubic-bezier(0.22,1,0.36,1);will-change:opacity,transform}
.js .rv.in{opacity:1;transform:none}
