/*
Theme Name: Baumpflanzende Gesellschaft
Theme URI: https://www.bkowebdesign.de
Author: BKO
Description: Responsives One-Page-Theme für die Baumpflanzende Gesellschaft
Version: 2.0.1
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: bpg
*/

@font-face{font-family:Figtree;src:url("assets/fonts/Figtree-Variable.ttf") format("truetype");font-style:normal;font-weight:300 900;font-display:swap}
@font-face{font-family:Figtree;src:url("assets/fonts/Figtree-Italic-Variable.ttf") format("truetype");font-style:italic;font-weight:300 900;font-display:swap}
:root{--ink:#08382d;--green:#147e4f;--lime:#d8e9b3;--berry:#7d1a4e;--cream:#fffcf4;--field:#f3d9a3;--white:#fff;--line:rgba(8,56,45,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font:400 20px/1.55 Figtree,Arial,sans-serif}img{display:block;max-width:100%;height:auto}a{color:var(--green);text-decoration:none}h1,h2,h3,h4,h5,h6{margin-top:0;font-family:Figtree,Arial,sans-serif;font-weight:700}h1,.entry-title{margin-bottom:15px;color:var(--berry);font-size:2em;line-height:1.1}h2{color:var(--ink);font-size:1.2em;line-height:1.18;text-transform:uppercase}h3{color:var(--green);font-size:1.28em;line-height:1.22}h4{color:var(--berry);font-size:1.2em}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}::selection{background:var(--lime);color:var(--ink)}

/* Header und Navigation */
.site-header{height:145px;display:flex;align-items:center;justify-content:space-between;padding:18px clamp(24px,6vw,96px);position:relative;z-index:20;background:var(--cream)}.site-header .brand{display:flex;flex-direction:column;align-items:center;gap:7px;color:var(--ink);font-weight:700;text-align:center}.site-logo{width:auto;max-width:280px;max-height:96px;object-fit:contain}.site-title{font-size:18px;line-height:1.05}.main-nav>ul{display:flex;align-items:center;gap:clamp(22px,3.2vw,54px);margin:0;padding:0;list-style:none;font-size:clamp(18px,1.55vw,24px);font-weight:700}.main-nav li{position:relative}.main-nav a{color:var(--green)}.main-nav a::after{content:"";display:block;height:2px;background:var(--berry);transform:scaleX(0);transition:transform .2s}.main-nav a:hover::after,.main-nav a:focus-visible::after{transform:scaleX(1)}.main-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:220px;margin:0;padding:16px;background:var(--cream);box-shadow:0 15px 35px rgba(8,56,45,.14);list-style:none}.main-nav li:hover>.sub-menu,.main-nav li:focus-within>.sub-menu{display:grid;gap:10px}.menu-toggle{display:none;border:0;background:none}

/* Seiten und Headerbild */
.page-hero{width:100%;height:clamp(320px,56vw,760px);overflow:hidden}.page-hero img{width:100%;height:100%;object-fit:cover;object-position:center}.page-content{width:min(1120px,calc(100% - 48px));min-height:55vh;margin:0 auto;padding:80px 0 120px}.page-content .entry-content{font-size:clamp(18px,1.55vw,22px)}.page-content .entry-content>*{max-width:850px}.page-content .entry-content>.alignwide{max-width:1120px}.page-content .entry-content>.alignfull{width:100vw;max-width:none;margin-left:calc(50% - 50vw)}.page-content .entry-content a{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px}

/* Startseitenbilder und Abschlussbereich */
.home .entry-content figure.wp-block-image{width:min(100%,700px);aspect-ratio:3/2;overflow:hidden;border-radius:50%;margin-inline:auto;transform:rotate(10deg)}.home .entry-content figure.wp-block-image img{width:100%;height:100%;max-width:none;object-fit:cover;transform:rotate(-10deg) scale(1.16)}.entry-content .bpg-end-panels{display:grid!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr)!important;align-items:center!important;gap:clamp(45px,7vw,110px)!important;max-width:1280px!important;margin-top:clamp(70px,9vw,140px)!important}.entry-content .bpg-end-panels>.bpg-panel{padding:clamp(28px,3vw,48px)!important}.entry-content .bpg-end-panels>.bpg-panel:first-child{padding-left:0!important;background:transparent!important}.entry-content .bpg-end-panels>.bpg-panel:last-child{padding:clamp(38px,4vw,62px)!important;background:var(--lime)!important;border-radius:16px!important}.entry-content .bpg-end-panels h2,.entry-content .bpg-end-panels h3{margin-bottom:28px!important;color:var(--green)!important;text-transform:none!important}.entry-content .bpg-end-panels .wp-block-button__link,.entry-content .bpg-end-panels .elementor-button{padding:14px 34px!important;background:var(--berry)!important;color:#fff!important;border-radius:14px!important;text-decoration:none!important}

/* Buttons */
.button,.wp-element-button,.wp-block-button__link{display:inline-flex;padding:.8em 1.25em;border:0;border-radius:0;background:var(--green);color:#fff;font:700 1em/1.2 Figtree,Arial,sans-serif}

/* Footer */
footer{padding:70px clamp(24px,6vw,96px) 28px;background:var(--cream);color:var(--ink)}footer .footer-main{display:flex;flex-direction:column;align-items:flex-start;gap:34px;text-align:left}footer .footer-links{width:100%}footer .footer-links ul{display:flex;flex-wrap:wrap;justify-content:flex-start;gap:12px 30px;margin:0;padding:0;list-style:none;font-weight:400}footer a,.footer-links a{color:var(--green);font-weight:400}footer .site-logo{filter:none}.footer-bottom{display:flex;justify-content:flex-start;margin-top:60px;padding-top:25px;border-top:1px solid var(--line);font-size:14px;text-align:left}

/* Kategorieansicht */
.archive-page{width:min(1320px,calc(100% - 48px));margin:0 auto;padding:clamp(70px,8vw,125px) 0}.archive-header{max-width:850px;margin-bottom:clamp(45px,6vw,80px)}.archive-description{max-width:720px;font-size:1.08em}.post-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(24px,3vw,42px)}.post-card{display:flex;flex-direction:column;overflow:hidden;min-width:0;background:#fff;border-radius:140px 140px 18px 18px;box-shadow:0 16px 45px rgba(8,56,45,.08);transition:.25s}.post-card:hover{transform:translateY(-7px);box-shadow:0 22px 55px rgba(8,56,45,.13)}.post-card-image{display:grid;place-items:center;aspect-ratio:4/3;overflow:hidden;background:var(--lime)}.post-card-image>img:not(.post-card-logo){width:100%;height:100%;object-fit:cover}.post-card-logo{width:72%;height:72%;padding:24px;object-fit:contain}.post-card-placeholder{font-size:90px;color:var(--green)}.post-card-body{display:flex;flex:1;flex-direction:column;padding:28px 30px 34px}.post-card h2{margin:0 0 16px;font-size:1.35em;text-transform:none}.post-card h2 a{color:var(--ink)}.post-card-body p{margin:0 0 25px;font-size:17px}.post-card-link{align-self:flex-start;margin-top:auto;color:var(--berry);font-weight:700;border-bottom:2px solid}.archive-pagination{margin-top:70px}.archive-pagination .nav-links{display:flex;justify-content:center;gap:10px}.archive-pagination .page-numbers{display:grid;place-items:center;min-width:45px;height:45px;padding:0 12px;border:1px solid var(--green);border-radius:50%;font-weight:700}.archive-pagination .current,.archive-pagination a:hover{background:var(--green);color:#fff}.archive-hero{height:clamp(250px,38vw,560px)}

/* Einzelbeiträge */
.single-page{width:min(1120px,calc(100% - 48px));margin:0 auto;padding:clamp(70px,8vw,125px) 0}.single-header{max-width:900px;margin:0 auto clamp(45px,6vw,75px);text-align:center}.single-categories{margin-bottom:18px;color:var(--green);font-size:15px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.single-featured-image{width:100%;aspect-ratio:16/9;margin:0 0 clamp(55px,7vw,90px);overflow:hidden;border-radius:48% 52% 46% 54%/8% 9% 8% 10%}.single-featured-image img{width:100%;height:100%;object-fit:cover}.single-content{width:min(780px,100%);margin:0 auto;font-size:1.05em;line-height:1.7}.single-content>*{margin-top:0;margin-bottom:1.4em}.single-content h2,.single-content h3{margin-top:2em}.single-content blockquote{margin:2.2em 0;padding:26px 32px;background:var(--lime);border-left:5px solid var(--green);font-size:1.15em}.single-content figure.wp-block-image,.single-content .wp-caption{width:min(680px,90%)!important;margin:2em auto}.single-content figure.wp-block-image img,.single-content .wp-caption img,.single-content>img,.single-content p>img{display:block;width:100%!important;height:min(calc(60vw - 24px),453px)!important;object-fit:cover!important;object-position:center;border-radius:12px!important}.single-content>img,.single-content p>img{width:min(680px,90%)!important;margin-inline:auto}.single-content figcaption,.single-content .wp-caption-text{margin:10px auto 0;color:var(--green);font-size:15px;font-style:italic;line-height:1.4;text-align:center}.single-footer{width:min(900px,100%);margin:clamp(65px,8vw,110px) auto 0}.single-tags{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:45px}.single-tags a{padding:8px 14px;background:var(--lime);border-radius:999px;font-size:14px;font-weight:700}.post-navigation{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding-top:35px;border-top:1px solid var(--line)}.post-navigation>div:last-child{text-align:right}.post-navigation a{display:flex;flex-direction:column;gap:7px}.post-navigation span{font-size:14px;font-weight:700;text-transform:uppercase}.post-navigation strong{color:var(--ink);font-size:18px}.single-global-hero{height:clamp(250px,38vw,560px)}

/* Contact Form 7 mit Tabellenlayout */
.wpcf7{width:100%;color:var(--ink)}.wpcf7 table{width:100%;margin:0 0 28px;border:0;border-collapse:separate;border-spacing:6px 0}.wpcf7 table th,.wpcf7 table td{width:50%;padding:0 0 9px;border:0;background:transparent;vertical-align:bottom;text-align:left;font-size:20px}.wpcf7 table td[colspan="2"],.wpcf7 table th[colspan="2"]{width:100%}.wpcf7 label,.wpcf7 .wpcf7-form-control-wrap{display:block;width:100%}.wpcf7 .wpcf7-form-control-wrap{margin-top:7px}.wpcf7 input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]),.wpcf7 select,.wpcf7 textarea{display:block;width:100%;min-height:54px;padding:10px 14px;border:0;border-radius:8px;outline:2px solid transparent;background:var(--field);color:var(--ink);font:inherit;box-shadow:none}.wpcf7 textarea{min-height:150px;resize:vertical}.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline-color:var(--green)}.wpcf7 input[type="checkbox"],.wpcf7 input[type="radio"]{width:20px;height:20px;accent-color:var(--green)}.wpcf7 input[type="submit"]{min-height:54px;padding:13px 30px;border:0;border-radius:10px;background:var(--berry);color:#fff;font:700 20px/1.2 Figtree,Arial,sans-serif;cursor:pointer}.wpcf7 .wpcf7-not-valid{outline-color:var(--berry)!important}.wpcf7 .wpcf7-not-valid-tip{color:var(--berry);font-size:14px}.wpcf7 form .wpcf7-response-output{margin:25px 0 0;padding:14px 18px;border:2px solid var(--green);border-radius:8px}

@media(max-width:1050px){.post-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:900px){.site-header{height:118px;padding:14px 24px}.site-logo{max-width:220px;max-height:72px}.menu-toggle{display:grid;gap:6px;padding:12px;z-index:3}.menu-toggle span:not(.sr-only){display:block;width:28px;height:3px;background:var(--ink)}.main-nav{display:none;position:absolute;top:0;left:0;right:0;padding:118px 30px 35px;background:var(--cream);box-shadow:0 18px 30px rgba(0,0,0,.1)}.main-nav.open{display:block}.main-nav>ul{align-items:flex-start;flex-direction:column}.main-nav .sub-menu{position:static;box-shadow:none}.entry-content .bpg-end-panels{grid-template-columns:1fr!important;gap:32px!important}.entry-content .bpg-end-panels>.bpg-panel:first-child{padding-left:0!important}}
@media(max-width:720px){body{font-size:18px}.site-title{font-size:15px}.page-content,.archive-page,.single-page{width:calc(100% - 32px);padding-top:60px}.post-grid{grid-template-columns:1fr}.post-card{border-radius:110px 110px 18px 18px}.single-header{text-align:left}.post-navigation{grid-template-columns:1fr}.post-navigation>div:last-child{text-align:left}.single-content figure.wp-block-image,.single-content .wp-caption{width:94%!important}.single-content figure.wp-block-image img,.single-content .wp-caption img,.single-content>img,.single-content p>img{height:calc(62.667vw - 20px)!important}.wpcf7 table,.wpcf7 tbody,.wpcf7 tr,.wpcf7 th,.wpcf7 td{display:block;width:100%!important}.wpcf7 table{border-spacing:0}.wpcf7 table th,.wpcf7 table td{padding:0 0 12px}.wpcf7 input[type="submit"]{width:100%}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
