/*
Theme Name: FB-Webdesign Theme
Author: FB
Description: Eigenständiges, responsives und barrierebewusstes Classic-Theme.
Version: 6.8.8
Requires at least: 6.6
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kis
Tags: custom-logo, custom-menu, featured-images, accessibility-ready, blog
*/
:root{--kis-accent:#2563eb;--kis-text:#1f2937;--kis-muted:#6b7280;--kis-bg:#fff;--kis-content:#fff;--kis-header:#fff;--kis-footer:#f3f4f6;--kis-width:1200px;--kis-radius:8px;--kis-base:17px;--kis-header-height:80px;--kis-menu-gap:22px;--kis-heading-weight:700;--kis-font:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--kis-bg);color:var(--kis-text);font-family:var(--kis-font);font-size:var(--kis-base);line-height:1.65}h1,h2,h3,h4,h5,h6{font-weight:var(--kis-heading-weight);line-height:1.2}a{color:var(--kis-accent);text-underline-offset:.16em}a:hover{text-decoration-thickness:2px}img{max-width:100%;height:auto}.container{width:min(calc(100% - 2rem),var(--kis-width));margin-inline:auto}.skip-link{position:absolute;left:-9999px}.skip-link:focus{left:1rem;top:1rem;z-index:99999;background:#fff;color:#000;padding:.75rem 1rem;box-shadow:0 0 0 3px #000}.site-header{background:var(--kis-header);border-bottom:1px solid #e5e7eb;position:relative;z-index:20}.sticky-header .site-header{position:sticky;top:var(--wp-admin--admin-bar--height,0)}.header-inner{min-height:var(--kis-header-height);display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.site-branding{display:flex;align-items:center;gap:.75rem}.custom-logo{max-height:58px;width:auto}.site-title{font-weight:800;font-size:1.3rem;color:var(--kis-text);text-decoration:none}.site-description{margin:0;color:var(--kis-muted);font-size:.9rem}.header-centered .header-inner,.header-stacked .header-inner{flex-direction:column;justify-content:center;padding-block:1rem}.header-centered .site-branding,.header-centered .main-navigation,.header-stacked .site-branding,.header-stacked .main-navigation{justify-content:center}.header-search{max-width:230px}.header-search label{display:block}.header-search .search-field{width:100%}.header-search .search-submit{display:none}.menu-toggle{display:none;border:1px solid #d1d5db;background:#fff;color:#111827;border-radius:var(--kis-radius);padding:.6rem .8rem;font:inherit}.primary-menu{display:flex;gap:var(--kis-menu-gap);list-style:none;margin:0;padding:0}.primary-menu a{color:var(--kis-text);text-decoration:none;font-weight:600}.primary-menu a:hover,.primary-menu a:focus-visible,.current-menu-item>a{color:var(--kis-accent)}.menu-uppercase .primary-menu{text-transform:uppercase;font-size:.92em}main{min-height:55vh}.content-area{padding:clamp(2rem,5vw,4.5rem) 0}.content-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:3rem}.has-sidebar .content-grid{grid-template-columns:minmax(0,1fr) 300px}.sidebar-left .content-main{order:2}.sidebar-left .widget-area{order:1}.content-boxed .content-main,.content-boxed .widget{background:var(--kis-content);padding:clamp(1rem,3vw,2rem);border:1px solid #e5e7eb;border-radius:var(--kis-radius);box-shadow:0 4px 20px rgb(0 0 0/.04)}.entry-card{padding:0 0 2.5rem;margin-bottom:2.5rem;border-bottom:1px solid #e5e7eb}.entry-title{line-height:1.15;margin:.3rem 0 1rem;font-size:clamp(1.8rem,4vw,3rem)}.entry-title a{color:inherit;text-decoration:none}.entry-meta{color:var(--kis-muted);font-size:.9rem;margin-bottom:1rem}.entry-content>:first-child{margin-top:0}.entry-content>:last-child{margin-bottom:0}.archive-grid{display:grid;gap:2rem}.archive-grid.grid2{grid-template-columns:repeat(2,minmax(0,1fr))}.archive-grid.grid3{grid-template-columns:repeat(3,minmax(0,1fr))}.archive-grid .entry-card{margin:0}.wp-block-button__link,.button,input[type=submit],button{border-radius:var(--kis-radius)}.widget{margin-bottom:2rem}.widget-title{font-size:1.1rem}.hide-widget-titles .widget-title{display:none}.site-footer{background:var(--kis-footer);padding:2.5rem 0}.footer-widgets{display:grid;gap:2rem;margin-bottom:2rem}.footer-cols-2{grid-template-columns:repeat(2,1fr)}.footer-cols-3{grid-template-columns:repeat(3,1fr)}.footer-cols-4{grid-template-columns:repeat(4,1fr)}.footer-inner{display:grid;grid-template-columns:2fr 1fr;gap:2rem;border-top:1px solid rgb(0 0 0/.08);padding-top:1.5rem}.footer-menu{list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:1rem}.cookie-notice{position:fixed;z-index:9999;bottom:1rem;left:1rem;right:1rem;max-width:760px;margin:auto;background:#111827;color:#fff;padding:1rem;border-radius:var(--kis-radius);box-shadow:0 10px 30px rgb(0 0 0/.25);display:flex;align-items:center;justify-content:space-between;gap:1rem}.cookie-notice button{background:#fff;color:#111827;border:0;padding:.55rem .8rem}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.screen-reader-text:focus{clip:auto!important;width:auto;height:auto;margin:0;overflow:visible}.pagination .nav-links{display:flex;gap:.5rem;flex-wrap:wrap}.page-numbers{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:var(--kis-radius)}input,textarea,select{max-width:100%;font:inherit;padding:.65rem;border:1px solid #9ca3af;border-radius:var(--kis-radius)}:focus-visible{outline:3px solid var(--kis-accent);outline-offset:3px}@media(max-width:900px){.header-search{display:none}.archive-grid.grid3{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:800px){.menu-toggle{display:block}.header-inner{flex-direction:row!important}.main-navigation .primary-menu{display:none;position:absolute;left:0;right:0;top:100%;background:var(--kis-header);padding:1rem;box-shadow:0 8px 20px rgb(0 0 0/.08);flex-direction:column}.main-navigation.is-open .primary-menu{display:flex}.has-sidebar .content-grid,.footer-inner,.footer-cols-2,.footer-cols-3,.footer-cols-4{grid-template-columns:1fr}.sidebar-left .content-main,.sidebar-left .widget-area{order:initial}.site-description{display:none}}@media(max-width:600px){.archive-grid.grid2,.archive-grid.grid3{grid-template-columns:1fr}.cookie-notice{align-items:stretch;flex-direction:column}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}

/* Global button system: primary, secondary and outline. */
.wp-block-button__link,.button,input[type=submit],button:not(.menu-toggle):not(.cookie-notice button){background:var(--kis-btn-primary-bg);color:var(--kis-btn-primary-text);border:2px solid transparent;border-radius:var(--kis-btn-radius);padding:var(--kis-btn-py) var(--kis-btn-px);font-weight:var(--kis-btn-weight);text-decoration:none;cursor:pointer}.wp-block-button__link:hover,.wp-block-button__link:focus-visible,.button:hover,.button:focus-visible,input[type=submit]:hover,input[type=submit]:focus-visible{background:var(--kis-btn-primary-hover-bg);color:var(--kis-btn-primary-hover-text)}.button-secondary,.is-style-kis-secondary .wp-block-button__link{background:var(--kis-btn-secondary-bg);color:var(--kis-btn-secondary-text)}.button-secondary:hover,.button-secondary:focus-visible,.is-style-kis-secondary .wp-block-button__link:hover,.is-style-kis-secondary .wp-block-button__link:focus-visible{background:var(--kis-btn-secondary-hover-bg);color:var(--kis-btn-secondary-hover-text)}.button-outline,.is-style-outline>.wp-block-button__link,.is-style-kis-outline .wp-block-button__link{background:transparent;color:var(--kis-btn-outline-color);border:var(--kis-btn-outline-width) solid var(--kis-btn-outline-color)}.button-outline:hover,.button-outline:focus-visible,.is-style-outline>.wp-block-button__link:hover,.is-style-outline>.wp-block-button__link:focus-visible,.is-style-kis-outline .wp-block-button__link:hover,.is-style-kis-outline .wp-block-button__link:focus-visible{background:var(--kis-btn-outline-hover-bg);color:var(--kis-btn-outline-hover-text)}


/* Typography 2.2: independent paragraph and H1-H6 controls with rem/clamp. */
body{font-family:var(--kis-type-body-family,var(--kis-font));font-size:var(--kis-type-body-size,var(--kis-base));line-height:var(--kis-type-body-line,1.65);letter-spacing:var(--kis-type-body-letter,0);font-weight:var(--kis-type-body-weight,400);text-transform:var(--kis-type-body-transform,none)}
p,.entry-content li{font-size:inherit;line-height:inherit}
h1{font-size:var(--kis-type-h1-size,clamp(2.25rem,2.75vw,3.5rem));line-height:var(--kis-type-h1-line,1.15);letter-spacing:var(--kis-type-h1-letter,0);font-weight:var(--kis-type-h1-weight,700);text-transform:var(--kis-type-h1-transform,none)}
h2{font-size:var(--kis-type-h2-size,clamp(1.85rem,2.2vw,2.75rem));line-height:var(--kis-type-h2-line,1.2);letter-spacing:var(--kis-type-h2-letter,0);font-weight:var(--kis-type-h2-weight,700);text-transform:var(--kis-type-h2-transform,none)}
h3{font-size:var(--kis-type-h3-size,clamp(1.55rem,1.8vw,2.15rem));line-height:var(--kis-type-h3-line,1.25);letter-spacing:var(--kis-type-h3-letter,0);font-weight:var(--kis-type-h3-weight,700);text-transform:var(--kis-type-h3-transform,none)}
h4{font-size:var(--kis-type-h4-size,clamp(1.3rem,1.45vw,1.7rem));line-height:var(--kis-type-h4-line,1.3);letter-spacing:var(--kis-type-h4-letter,0);font-weight:var(--kis-type-h4-weight,700);text-transform:var(--kis-type-h4-transform,none)}
h5{font-size:var(--kis-type-h5-size,clamp(1.15rem,1.25vw,1.4rem));line-height:var(--kis-type-h5-line,1.35);letter-spacing:var(--kis-type-h5-letter,0);font-weight:var(--kis-type-h5-weight,700);text-transform:var(--kis-type-h5-transform,none)}
h6{font-size:var(--kis-type-h6-size,clamp(1rem,1.1vw,1.2rem));line-height:var(--kis-type-h6-line,1.4);letter-spacing:var(--kis-type-h6-letter,0);font-weight:var(--kis-type-h6-weight,700);text-transform:var(--kis-type-h6-transform,none)}
.entry-title{font-size:var(--kis-type-h1-size,clamp(2.25rem,2.75vw,3.5rem))}

/* 2.8 per-element font families */
h1{font-family:var(--kis-type-h1-family,inherit)}h2{font-family:var(--kis-type-h2-family,inherit)}h3{font-family:var(--kis-type-h3-family,inherit)}h4{font-family:var(--kis-type-h4-family,inherit)}h5{font-family:var(--kis-type-h5-family,inherit)}h6{font-family:var(--kis-type-h6-family,inherit)}

/* 3.2 – Erweiterte Button-Typografie, responsive Innenabstände und Schatten. */
.wp-block-button__link,.button,input[type=submit],button:not(.menu-toggle):not(.cookie-notice button){font-family:var(--kis-btn-primary-family);font-size:var(--kis-btn-primary-size);line-height:var(--kis-btn-primary-line);letter-spacing:var(--kis-btn-primary-letter);font-weight:var(--kis-btn-primary-weight);padding:var(--kis-btn-primary-pad-top) var(--kis-btn-primary-pad-right) var(--kis-btn-primary-pad-bottom) var(--kis-btn-primary-pad-left);box-shadow:var(--kis-btn-primary-shadow-normal)}
.wp-block-button__link:hover,.wp-block-button__link:focus-visible,.button:hover,.button:focus-visible,input[type=submit]:hover,input[type=submit]:focus-visible{box-shadow:var(--kis-btn-primary-shadow-hover)}
.button-secondary,.is-style-kis-secondary .wp-block-button__link{font-family:var(--kis-btn-secondary-family);font-size:var(--kis-btn-secondary-size);line-height:var(--kis-btn-secondary-line);letter-spacing:var(--kis-btn-secondary-letter);font-weight:var(--kis-btn-secondary-weight);padding:var(--kis-btn-secondary-pad-top) var(--kis-btn-secondary-pad-right) var(--kis-btn-secondary-pad-bottom) var(--kis-btn-secondary-pad-left);box-shadow:var(--kis-btn-secondary-shadow-normal)}
.button-secondary:hover,.button-secondary:focus-visible,.is-style-kis-secondary .wp-block-button__link:hover,.is-style-kis-secondary .wp-block-button__link:focus-visible{box-shadow:var(--kis-btn-secondary-shadow-hover)}
.button-outline,.is-style-outline>.wp-block-button__link,.is-style-kis-outline .wp-block-button__link{font-family:var(--kis-btn-outline-family);font-size:var(--kis-btn-outline-size);line-height:var(--kis-btn-outline-line);letter-spacing:var(--kis-btn-outline-letter);font-weight:var(--kis-btn-outline-weight);padding:var(--kis-btn-outline-pad-top) var(--kis-btn-outline-pad-right) var(--kis-btn-outline-pad-bottom) var(--kis-btn-outline-pad-left);box-shadow:var(--kis-btn-outline-shadow-normal)}
.button-outline:hover,.button-outline:focus-visible,.is-style-outline>.wp-block-button__link:hover,.is-style-outline>.wp-block-button__link:focus-visible,.is-style-kis-outline .wp-block-button__link:hover,.is-style-kis-outline .wp-block-button__link:focus-visible{box-shadow:var(--kis-btn-outline-shadow-hover)}

/* 3.3: Button typography must win over WordPress/Gutenberg block defaults. */
.wp-block-button > .wp-block-button__link,
.wp-block-button .wp-element-button,
a.wp-block-button__link,
a.wp-element-button,
.button,
a.button,
input[type="submit"],
input[type="button"],
input[type="reset"],
button:not(.menu-toggle):not(.customize-partial-edit-shortcut-button) {
  font-size: var(--kis-btn-primary-size, 1rem) !important;
}
.button-secondary,
.wp-block-button.is-style-kis-secondary > .wp-block-button__link,
.wp-block-button.is-style-kis-secondary > .wp-element-button {
  font-size: var(--kis-btn-secondary-size, 1rem) !important;
}
.button-outline,
.wp-block-button.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline > .wp-element-button,
.wp-block-button.is-style-kis-outline > .wp-block-button__link,
.wp-block-button.is-style-kis-outline > .wp-element-button {
  font-size: var(--kis-btn-outline-size, 1rem) !important;
}

/* 4.0 Header Builder */
.header-builder{background:transparent}.hb-row{background:var(--hb-bg);border-bottom:1px solid rgb(0 0 0/.08)}.hb-grid{min-height:var(--hb-height);display:grid;grid-template-columns:max-content minmax(0,1fr) max-content;align-items:center;gap:1rem}.hb-cell{display:flex;align-items:center;gap:1rem;min-width:0;max-width:100%}.hb-cell:empty{min-width:0}.hb-cell>*{min-width:0;max-width:100%}.hb-c{justify-content:center}.hb-r{justify-content:flex-end}.hb-brand{display:flex;align-items:center;gap:.75rem;white-space:nowrap}.hb-brand .custom-logo{max-height:calc(var(--hb-height) - 16px);width:auto}.hb-nav{min-width:0;max-width:100%}.hb-nav ul,.secondary-menu{display:flex;align-items:center;justify-content:inherit;gap:var(--kis-menu-gap);list-style:none;margin:0;padding:0;min-width:0;max-width:100%;flex-wrap:wrap}.hb-nav a,.secondary-menu a{text-decoration:none;color:var(--kis-text);font-weight:600}.hb-search{max-width:220px}.hb-search .search-submit{display:none}.hb-social{display:flex;gap:.75rem;flex-wrap:wrap}.hb-social a{text-decoration:none}.hb-button{white-space:nowrap}.hb-sticky .header-builder{position:sticky;top:var(--wp-admin--admin-bar--height,0);z-index:1000}.hb-transparent .header-builder{position:absolute;left:0;right:0;top:var(--wp-admin--admin-bar--height,0);z-index:1000}.hb-transparent .hb-row{background:transparent;border-color:transparent}.hb-transparent .header-builder a:not(.button){color:inherit}@media(max-width:800px){.header-builder .hb-row:not(.hb-row-2){display:none}.header-builder .hb-row-2 .hb-grid{display:flex;justify-content:space-between}.header-builder .hb-row-2 .hb-c{display:none}.header-builder .hb-row-2 .hb-r{margin-left:auto}.header-builder .hb-row-2 .hb-r>*:not(.main-navigation){display:none}.header-builder .main-navigation .primary-menu{top:100%;z-index:1001}.hb-brand .site-title{font-size:1.05rem}.hb-brand .custom-logo{max-height:48px}}

/* 4.4 Header element design */
.hb-cell{background:transparent}.hb-nav{background:transparent}.hb-nav .sub-menu{list-style:none;padding:.6rem;margin:0;border-radius:var(--kis-radius)}

/* 5.0 Footer Builder */
.footer-builder{background:transparent;padding:0}.fb-grid{display:grid;align-items:center;min-width:0}.fb-cell{display:flex;align-items:center;gap:1rem;min-width:0}.fb-cell>*{min-width:0;max-width:100%}.fb-c{justify-content:center}.fb-r{justify-content:flex-end}.fb-brand .custom-logo{max-height:64px;width:auto}.footer-navigation ul,.footer-menu{display:flex;align-items:center;gap:1.25rem;flex-wrap:wrap;list-style:none;margin:0;padding:0}.footer-navigation a{text-decoration:none}.fb-social{display:flex;gap:.85rem;flex-wrap:wrap}.fb-social a{text-decoration:none}.fb-widget .widget{margin:0}.fb-widget .widget-title{margin-top:0}@media(max-width:600px){.fb-grid{display:flex;flex-direction:column;align-items:stretch;gap:1rem}.fb-cell,.fb-c,.fb-r{justify-content:flex-start}.footer-navigation ul,.footer-menu{flex-direction:column;align-items:flex-start;gap:.6rem}}

/* 5.5 Footer desktop layout parity: keep builder rows identical in Customizer preview and frontend. */
@media (min-width:601px){
 .site-footer.footer-builder .fb-grid{width:min(calc(100% - 2rem),var(--kis-width));margin-inline:auto;}
 .site-footer.footer-builder .fb-cell{min-width:0;}
 .site-footer.footer-builder .footer-credit{white-space:nowrap;max-width:none;}
 .site-footer.footer-builder .footer-navigation{width:auto;max-width:100%;}
 .site-footer.footer-builder .footer-navigation ul,
 .site-footer.footer-builder .footer-menu{display:flex!important;flex-direction:row!important;align-items:center;justify-content:flex-end;flex-wrap:nowrap!important;width:max-content;max-width:100%;}
 .site-footer.footer-builder .footer-navigation li{display:block;flex:0 0 auto;margin:0;}
 .site-footer.footer-builder .footer-navigation a{display:block;white-space:nowrap;}
}

/* 6.3 – Mobile header: exactly one menu toggle. */
@media (max-width:800px){
  .site-header .menu-toggle:not(.mobile-menu-toggle),
  .site-header .nav-toggle:not(.mobile-menu-toggle),
  .site-header .mobile-toggle:not(.mobile-menu-toggle),
  .site-header [class*="menu-toggle"]:not(.mobile-menu-toggle),
  .site-header [class*="nav-toggle"]:not(.mobile-menu-toggle){display:none!important;visibility:hidden!important;pointer-events:none!important}
  .site-header .kis-mobile-header .mobile-menu-toggle{display:inline-flex!important;visibility:visible!important;pointer-events:auto!important}
}
