/*
 * Baukredos Warm Industrial — global design system
 * Presentation only. Business logic remains in WordPress/WooCommerce.
 */

:root {
    --bki-bg: #ebebe8;
    --bki-surface: #f4f4f5;
    --bki-paper: #fafaf8;
    --bki-ink: #18181b;
    --bki-muted: #5d5d63;
    --bki-line: #d4d4d8;
    --bki-line-dark: rgba(24, 24, 27, 0.24);
    --bki-red: #b4212a;
    --bki-red-dark: #8f1820;
    --bki-red-soft: rgba(180, 33, 42, 0.08);
    /* --bki-serif kept only for decorative accent elements */
    --bki-serif: Georgia, "Times New Roman", serif;
    --bki-sans: Inter, Arial, Helvetica, sans-serif;
    --bki-ease: cubic-bezier(0.16, 1, 0.3, 1);
    --bki-max: 1480px;
    --bki-pad: clamp(18px, 3.2vw, 48px);
}

body.bk-industrial-site {
    --bki-adminbar-offset: 0px;
    --bki-title-header-height: 94px;
    --bki-title-header-outer-height: 94px;
    --bki-menu-header-height: 60px;
    --bki-logo-max-height: 64px;
    --bki-site-title-size: 1.45rem;
    --bki-site-description-size: 0.72rem;
    --bki-site-description-gap: 5px;
    --bki-search-height: 56px;
    --bki-search-control-height: 54px;
    --bki-header-icon-size: 52px;
    --bki-nav-font-size: 0.88rem;
    --bki-cta-height: 46px;
    --bki-header-bg-alpha: 0.90;
    --bki-header-shadow-alpha: 0;
    --bki-header-border-alpha: 0.14;
    --bki-header-blur: 8px;
    color: var(--bki-ink);
    background-color: var(--bki-bg);
    font-family: var(--bki-sans);
    font-size: 16px;
    line-height: 1.6;
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

body.bk-industrial-site.admin-bar {
    --bki-adminbar-offset: 32px;
}

@media (max-width: 782px) {
    body.bk-industrial-site.admin-bar {
        --bki-adminbar-offset: 46px;
    }
}

body.bk-industrial-site:not(.bk-home-industrial) {
    background-image:
        linear-gradient(rgba(24, 24, 27, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(24, 24, 27, 0.035) 1px, transparent 1px);
    background-size: 96px 96px;
}

body.bk-industrial-site *,
body.bk-industrial-site *::before,
body.bk-industrial-site *::after {
    box-sizing: border-box;
}

body.bk-industrial-site :where(a, button, input, select, textarea) {
    transition:
        color 220ms ease,
        background-color 220ms ease,
        border-color 220ms ease,
        box-shadow 220ms ease,
        transform 420ms var(--bki-ease);
}

body.bk-industrial-site :where(a, button, input, select, textarea):focus-visible {
    outline: 2px solid var(--bki-red);
    outline-offset: 3px;
}

body.bk-industrial-site :where(.container, .elementor-section.elementor-section-boxed > .elementor-container) {
    max-width: var(--bki-max);
}

body.bk-industrial-site:not(.bk-home-industrial) #site-content.main-container {
    width: min(calc(100% - (2 * var(--bki-pad))), var(--bki-max));
    max-width: none;
    padding: clamp(34px, 5vw, 76px) 0 clamp(72px, 8vw, 128px);
}

body.bk-industrial-site:not(.bk-home-industrial) #site-content > .page-area,
body.bk-industrial-site:not(.bk-home-industrial) #site-content > .page-area > .row {
    width: 100%;
    margin-inline: 0;
}

body.bk-industrial-site:not(.bk-home-industrial) article.envo-content,
body.bk-industrial-site:not(.bk-home-industrial) article.woo-content {
    min-width: 0;
    padding-inline: 0;
}

/* All headings: strict sans-serif, no Georgia/Playfair */
body.bk-industrial-site h1,
body.bk-industrial-site h2,
body.bk-industrial-site h3,
body.bk-industrial-site h4,
body.bk-industrial-site h5,
body.bk-industrial-site h6 {
    color: var(--bki-ink);
    font-family: var(--bki-sans);
    font-weight: 700;
    text-wrap: balance;
}

body.bk-industrial-site .single-title,
body.bk-industrial-site .page-title {
    margin: 0 0 clamp(28px, 4vw, 54px);
    color: var(--bki-ink);
    font-family: var(--bki-sans);
    font-size: clamp(2.6rem, 6.5vw, 6rem);
    font-weight: 800;
    line-height: 0.92;
    letter-spacing: -0.04em;
    text-transform: uppercase;
}

body.bk-industrial-site .single-head {
    position: relative;
    margin-bottom: clamp(28px, 4vw, 52px);
    padding: clamp(30px, 5vw, 66px) 0 clamp(24px, 3vw, 42px);
    border-bottom: 1px solid var(--bki-line-dark);
}

body.bk-industrial-site .single-head::before {
    display: block;
    margin-bottom: 14px;
    color: var(--bki-red);
    font: 700 0.72rem/1 var(--bki-sans);
    letter-spacing: 0.16em;
    text-transform: uppercase;
    content: "BAUKREDOS";
}

body.bk-industrial-site .single-head .single-title {
    margin-bottom: 0;
}

body.bk-industrial-site .single-head time,
body.bk-industrial-site .single-head .posted-on:empty {
    display: none;
}

.bki-kicker,
.bki-commerce-label,
.bki-product-category,
.bki-single-category {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--bki-red);
    font: 700 0.72rem/1.2 var(--bki-sans);
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.bki-kicker::before,
.bki-commerce-label > span::before {
    width: 28px;
    height: 1px;
    background: currentColor;
    content: "";
}

.bki-index {
    display: block;
    margin-bottom: 28px;
    color: #99999d;
    font: 650 0.72rem/1 var(--bki-sans);
    letter-spacing: 0.14em;
}

.bki-button,
body.bk-industrial-site a.bki-button,
body.bk-industrial-site button.bki-button {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 13px 18px;
    border: 1px solid var(--bki-red);
    border-radius: 4px;
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: var(--bki-red);
    font: 700 0.82rem/1.1 var(--bki-sans);
    letter-spacing: 0.06em;
    text-decoration: none;
    text-transform: uppercase;
    opacity: 1;
}

body.bk-industrial-site :where(.bki-button, a.bki-button, button.bki-button):hover,
body.bk-industrial-site :where(.bki-button, a.bki-button, button.bki-button):visited {
    border-color: var(--bki-red-dark);
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: var(--bki-red-dark);
    transform: translateY(-2px);
}

.bki-text-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 7px;
    border-bottom: 1px solid currentColor;
    color: var(--bki-ink);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-decoration: none;
    text-transform: uppercase;
}

.bki-text-link:hover {
    gap: 20px;
    color: var(--bki-red);
}

/* Header */
body.bk-industrial-site .top-bar-section {
    display: none;
}

body.bk-industrial-site .site-header.title-header {
    position: sticky;
    top: var(--bki-adminbar-offset);
    z-index: 102;
    min-height: var(--bki-title-header-outer-height);
    padding: 0;
    border: 0;
    overflow: visible;
    background: rgb(245 245 242 / var(--bki-header-bg-alpha));
    box-shadow: 0 8px 28px rgb(0 0 0 / var(--bki-header-shadow-alpha));
    -webkit-backdrop-filter: blur(var(--bki-header-blur)) saturate(120%);
    backdrop-filter: blur(var(--bki-header-blur)) saturate(120%);
    transition:
        min-height 320ms var(--bki-ease),
        background-color 320ms var(--bki-ease),
        border-color 320ms var(--bki-ease),
        box-shadow 320ms var(--bki-ease);
}

body.bk-industrial-site.bki-header--compact {
    --bki-title-header-height: 78px;
    --bki-logo-max-height: 58px;
    --bki-site-title-size: 1.33rem;
    --bki-site-description-size: 0.68rem;
    --bki-site-description-gap: 3px;
    --bki-search-height: 48px;
    --bki-search-control-height: 46px;
    --bki-header-icon-size: 46px;
    --bki-cta-height: 46px;
    --bki-header-bg-alpha: 0.94;
    --bki-header-shadow-alpha: 0.04;
    --bki-header-border-alpha: 0.10;
    --bki-header-blur: 14px;
}

body.bk-industrial-site .title-header > .container,
body.bk-industrial-site .menu-header > .container {
    width: min(calc(100% - (2 * var(--bki-pad))), var(--bki-max));
    padding-inline: 0;
}

body.bk-industrial-site .title-header > .container {
    display: flex;
    min-height: var(--bki-title-header-outer-height);
    align-items: center;
    transition: min-height 320ms var(--bki-ease);
}

body.bk-industrial-site .title-header .heading-row {
    display: grid;
    width: 100%;
    grid-template-columns: minmax(190px, 0.68fr) minmax(420px, 1.9fr) auto;
    align-items: center;
    gap: clamp(18px, 2.5vw, 38px);
    min-height: var(--bki-title-header-height);
    margin: 0;
    transition:
        min-height 320ms var(--bki-ease),
        gap 320ms var(--bki-ease);
}

body.bk-industrial-site .site-heading,
body.bk-industrial-site .header-widget-area,
body.bk-industrial-site .header-right {
    width: auto;
    min-width: 0;
    padding: 0;
}

body.bk-industrial-site .site-branding-text .site-title,
body.bk-industrial-site .site-branding-text .site-title a {
    margin: 0;
    color: var(--bki-ink);
    font-size: clamp(1.12rem, 1.7vw, 1.5rem);
    font-weight: 850;
    line-height: 1;
    letter-spacing: -0.04em;
    text-decoration: none;
    text-transform: uppercase;
    transition:
        font-size 320ms var(--bki-ease),
        letter-spacing 320ms var(--bki-ease);
}

body.bk-industrial-site .site-branding-text .site-description {
    margin: 5px 0 0;
    color: var(--bki-muted);
    font-size: 0.7rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    transition:
        margin 320ms var(--bki-ease),
        font-size 320ms var(--bki-ease),
        letter-spacing 320ms var(--bki-ease);
}

body.bk-industrial-site .site-heading-sidebar {
    display: none;
}

body.bk-industrial-site .menu-search-widget,
body.bk-industrial-site .header-search-form,
body.bk-industrial-site .header-search-form form {
    width: 100%;
}

body.bk-industrial-site .header-search-form form {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(225px, 0.72fr) 48px;
    height: var(--bki-search-height);
    overflow: hidden;
    border: 1px solid var(--bki-line-dark);
    border-radius: 2px;
    background: rgba(250, 250, 248, 0.84);
    transition:
        height 320ms var(--bki-ease),
        background-color 320ms var(--bki-ease),
        border-color 320ms var(--bki-ease);
}

body.bk-industrial-site .header-search-form :where(input, select, button) {
    width: 100%;
    height: var(--bki-search-control-height);
    margin: 0;
    border: 0;
    border-radius: 0;
    box-shadow: none;
    background: transparent;
    transition:
        height 320ms var(--bki-ease),
        padding 320ms var(--bki-ease),
        font-size 320ms var(--bki-ease),
        color 220ms ease,
        background-color 220ms ease;
}

body.bk-industrial-site .header-search-form input {
    padding-inline: 16px;
    color: var(--bki-ink);
    font-size: 0.9rem;
}

body.bk-industrial-site .header-search-form select {
    min-width: 225px;
    padding: 0 34px 0 14px;
    border-left: 1px solid var(--bki-line);
    color: var(--bki-ink);
    font-size: 0.82rem;
    text-overflow: ellipsis;
}

body.bk-industrial-site .header-search-form button {
    display: grid;
    place-items: center;
    border-left: 1px solid var(--bki-line-dark);
    color: #fff;
    background: var(--bki-ink);
}

body.bk-industrial-site .header-search-form button:hover {
    background: var(--bki-red);
}

body.bk-industrial-site .header-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
}

body.bk-industrial-site .header-right :where(.header-cart, .header-my-account, .header-wishlist) {
    min-width: var(--bki-header-icon-size);
    min-height: var(--bki-header-icon-size);
    margin: 0;
    border: 0;
    background: transparent;
    transition:
        min-height 320ms var(--bki-ease),
        min-width 320ms var(--bki-ease);
}

body.bk-industrial-site .header-right :where(.header-cart-inner, .header-cart-block, .header-login a, .header-wishlist a) {
    display: grid;
    min-width: var(--bki-header-icon-size);
    min-height: var(--bki-header-icon-size);
    place-items: center;
    border: 1px solid transparent;
    border-radius: 2px;
    color: var(--bki-ink);
    transition:
        min-height 320ms var(--bki-ease),
        min-width 320ms var(--bki-ease),
        border-color 220ms ease,
        background-color 220ms ease,
        color 220ms ease;
}

body.bk-industrial-site .header-right :where(.header-cart-inner, .header-login a, .header-wishlist a):hover {
    border-color: var(--bki-line-dark);
    color: var(--bki-red);
    background: var(--bki-paper);
}

body.bk-industrial-site .cart-counter .amount-cart {
    display: none;
}

body.bk-industrial-site .cart-counter .count {
    color: #fff;
    background: var(--bki-red);
}

body.bk-industrial-site .site-header.menu-header {
    position: sticky;
    top: calc(var(--bki-adminbar-offset) + var(--bki-title-header-outer-height));
    z-index: 100;
    min-height: var(--bki-menu-header-height);
    padding: 0;
    border-top: 1px solid rgba(24, 24, 27, 0.08);
    overflow: visible;
    border-bottom: 1px solid rgb(24 24 27 / var(--bki-header-border-alpha));
    background: rgb(245 245 242 / var(--bki-header-bg-alpha));
    box-shadow: 0 8px 28px rgb(0 0 0 / var(--bki-header-shadow-alpha));
    -webkit-backdrop-filter: blur(var(--bki-header-blur)) saturate(120%);
    backdrop-filter: blur(var(--bki-header-blur)) saturate(120%);
    transition:
        top 320ms var(--bki-ease),
        min-height 320ms var(--bki-ease),
        background-color 320ms var(--bki-ease),
        border-color 320ms var(--bki-ease),
        box-shadow 320ms var(--bki-ease);
}

body.bk-industrial-site.admin-bar .site-header.menu-header {
    top: calc(var(--bki-adminbar-offset) + var(--bki-title-header-outer-height));
}

body.bk-industrial-site .menu-header .heading-row,
body.bk-industrial-site .menu-header .menu-heading,
body.bk-industrial-site .menu-header nav {
    position: relative;
    min-height: var(--bki-menu-header-height);
    margin: 0;
    padding: 0;
    transition: min-height 320ms var(--bki-ease);
}

/* Navigation: sans-serif 13–14px, reduced letter-spacing */
body.bk-industrial-site .navbar-nav > li > a {
    display: flex;
    min-height: var(--bki-menu-header-height);
    align-items: center;
    padding: 0 clamp(11px, 1.2vw, 18px);
    color: var(--bki-ink);
    font: 600 var(--bki-nav-font-size)/1 var(--bki-sans);
    letter-spacing: 0.07em;
    text-transform: uppercase;
    transition:
        padding 320ms var(--bki-ease),
        color 220ms ease,
        background-color 220ms ease;
}

body.bk-industrial-site .navbar-nav > li > a::after {
    bottom: -1px;
    height: 2px;
    background: var(--bki-red);
}

body.bk-industrial-site .navbar-nav > li:hover > a,
body.bk-industrial-site .navbar-nav > li.current-menu-item > a,
body.bk-industrial-site .navbar-nav > li.current-menu-ancestor > a {
    color: var(--bki-red);
    background: transparent;
}

body.bk-industrial-site .navbar-nav .dropdown-menu {
    max-width: min(430px, 90vw);
    padding: 10px;
    border: 1px solid var(--bki-line-dark);
    border-radius: 2px;
    box-shadow: 0 18px 50px rgba(24, 24, 27, 0.14);
    background: var(--bki-paper);
}

body.bk-industrial-site .navbar-nav .dropdown-menu a {
    padding: 11px 13px;
    border-radius: 1px;
    color: var(--bki-ink);
    font-size: 0.86rem;
    line-height: 1.35;
    white-space: normal;
}

body.bk-industrial-site .navbar-nav .dropdown-menu a:hover,
body.bk-industrial-site .navbar-nav .dropdown-menu a:focus {
    color: var(--bki-red);
    background: var(--bki-red-soft);
}

/* Anfrage nav CTA */
body.bk-industrial-site #my-menu-right .bk-anfrage-nav-cta > a.bk-anfrage-nav-cta__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: var(--bki-cta-height);
    margin: 0 0 0 14px;
    padding: 0 17px;
    border: 1px solid var(--bki-red);
    border-radius: 4px;
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: var(--bki-red);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    opacity: 1;
}

body.bk-industrial-site #my-menu-right .bk-anfrage-nav-cta > a.bk-anfrage-nav-cta__link:hover,
body.bk-industrial-site #my-menu-right .bk-anfrage-nav-cta > a.bk-anfrage-nav-cta__link:focus {
    color: #fff;
    -webkit-text-fill-color: #fff;
    background: var(--bki-red-dark);
    transform: translateY(-1px);
}

/* Shared forms, controls and notices */
body.bk-industrial-site :where(.woocommerce, .bk-contact, .bk-anfrage) :where(input[type="text"], input[type="email"], input[type="tel"], input[type="password"], input[type="number"], input[type="search"], select, textarea) {
    min-height: 50px;
    padding: 12px 14px;
    border: 1px solid var(--bki-line-dark);
    border-radius: 2px;
    color: var(--bki-ink);
    background: rgba(250, 250, 248, 0.72);
    box-shadow: none;
    font-family: var(--bki-sans);
    font-size: 0.95rem;
}

body.bk-industrial-site :where(.woocommerce, .bk-contact, .bk-anfrage) :where(input, select, textarea):focus {
    border-color: var(--bki-red);
    background: #fff;
    box-shadow: 0 0 0 3px var(--bki-red-soft);
}

body.bk-industrial-site :where(.woocommerce-message, .woocommerce-info, .woocommerce-error, .bk-contact-errors, .bk-anfrage-errors) {
    border: 1px solid var(--bki-line-dark);
    border-top: 3px solid var(--bki-red);
    border-radius: 2px;
    color: var(--bki-ink);
    background: var(--bki-paper);
    box-shadow: none;
    font-size: 0.95rem;
}

/* Global editorial footer panel — compact */
.bki-footer-panel {
    position: relative;
    overflow: hidden;
    color: var(--bki-bg);
    background: var(--bki-ink);
}

.bki-footer-panel__grid {
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: repeating-linear-gradient(90deg, transparent 0 calc(8.333% - 1px), rgba(235, 235, 232, 0.065) calc(8.333% - 1px) 8.333%);
}

.bki-footer-panel__inner {
    position: relative;
    display: grid;
    width: min(calc(100% - (2 * var(--bki-pad))), var(--bki-max));
    grid-template-columns: 1.1fr 0.9fr;
    gap: clamp(32px, 5vw, 80px);
    margin: 0 auto;
    padding: clamp(40px, 5.5vw, 70px) 0 26px;
}

.bki-footer-panel .bki-kicker {
    color: #f06a70;
}

/* Footer H2: compact, all-caps, sans-serif, no italic em */
.bki-footer-panel__lead h2 {
    margin: 14px 0 24px;
    color: var(--bki-bg);
    font-family: var(--bki-sans);
    font-size: clamp(2rem, 5vw, 4.5rem);
    font-weight: 850;
    line-height: 0.9;
    letter-spacing: -0.04em;
}

.bki-footer-panel__lead h2 em {
    color: #f06a70;
    font-family: var(--bki-sans);
    font-weight: 850;
    font-style: normal;
}

/* Footer CTA button — red bg, white text, always readable */
.bki-footer-panel__cta {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    min-width: min(100%, 260px);
    padding: 14px 18px;
    border: 1px solid var(--bki-red);
    border-radius: 4px;
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    opacity: 1;
    background: var(--bki-red);
    font-family: var(--bki-sans);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

.bki-footer-panel__cta:hover,
.bki-footer-panel__cta:visited,
.bki-footer-panel__cta:focus {
    color: #fff !important;
    -webkit-text-fill-color: #fff;
    background: var(--bki-red-dark);
    border-color: var(--bki-red-dark);
    transform: translateY(-2px);
}

/* Contact data grid */
.bki-footer-panel__contacts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-content: center;
    border-top: 1px solid rgba(235, 235, 232, 0.22);
    border-left: 1px solid rgba(235, 235, 232, 0.22);
}

.bki-footer-panel__contacts > div {
    min-width: 0;
    padding: 16px 18px;
    border-right: 1px solid rgba(235, 235, 232, 0.22);
    border-bottom: 1px solid rgba(235, 235, 232, 0.22);
}

.bki-footer-panel__contacts span {
    display: block;
    margin-bottom: 7px;
    color: #a9a9ad;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.14em;
}

.bki-footer-panel__contacts :where(a, p, address) {
    margin: 0;
    color: var(--bki-bg);
    font-family: var(--bki-sans);
    font-size: clamp(0.9rem, 1.2vw, 1.02rem);
    font-style: normal;
    line-height: 1.5;
    overflow-wrap: anywhere;
}

.bki-footer-panel__contacts a:hover {
    color: #f06a70;
}

/* Footer nav */
.bki-footer-panel__nav {
    display: flex;
    grid-column: 1 / -1;
    flex-wrap: wrap;
    gap: 8px 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(235, 235, 232, 0.18);
}

.bki-footer-panel__nav a {
    color: #b9b9bc;
    font-family: var(--bki-sans);
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.07em;
    text-decoration: none;
    text-transform: uppercase;
}

.bki-footer-panel__nav a:hover {
    color: #fff;
}

.bki-footer-panel__legal {
    display: flex;
    grid-column: 1 / -1;
    flex-wrap: wrap;
    gap: 8px 16px;
    align-items: center;
    margin-top: -8px;
    padding-top: 16px;
    border-top: 1px solid rgba(235, 235, 232, 0.12);
}

.bki-footer-panel__legal span {
    margin-right: 4px;
    color: rgba(235, 235, 232, 0.5);
    font-family: var(--bki-sans);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
}

.bki-footer-panel__legal a {
    color: rgba(235, 235, 232, 0.68);
    font-family: var(--bki-sans);
    font-size: 13.5px;
    font-weight: 650;
    text-decoration: none;
}

.bki-footer-panel__legal a:hover,
.bki-footer-panel__legal a:focus-visible {
    color: #fff;
}

body.bk-industrial-site #content-footer-section,
body.bk-industrial-site footer.footer-credits {
    border: 0;
    color: #9d9da2;
    background: var(--bki-ink);
}

body.bk-industrial-site #content-footer-section {
    border-top: 1px solid rgba(235, 235, 232, 0.15);
}

body.bk-industrial-site #content-footer-section a,
body.bk-industrial-site footer.footer-credits a {
    color: var(--bki-bg);
}

body.bk-industrial-site footer.footer-credits {
    min-height: 0;
    padding: 12px 0;
    border-top: 1px solid rgba(235, 235, 232, 0.12);
    font-size: 0.72rem;
}

/* Lightweight scroll reveal — progressive enhancement; content never fully disappears. */
.js .bki-reveal {
    --bki-reveal-y: 20px;
    --bki-reveal-blur: 3px;
    --bki-reveal-start-opacity: .22;
    opacity: var(--bki-reveal-start-opacity);
    filter: blur(var(--bki-reveal-blur));
    transform: translateY(var(--bki-reveal-y));
    will-change: opacity, filter, transform;
}

/* Legal documents must remain immediately readable and never participate in decorative reveal effects. */
.js body.bk-legal-page .bki-reveal,
.js body.bk-legal-page .bk-legal,
.js body.bk-legal-page .bk-legal *,
body.bk-legal-page .bki-reveal,
body.bk-legal-page .bk-legal,
body.bk-legal-page .bk-legal * {
    opacity: 1;
    filter: none;
    transform: none;
    animation: none;
    transition-delay: 0ms;
    will-change: auto;
}

.js .woocommerce ul.products:not(.slick-slider) > li.product.bki-reveal {
    --bki-reveal-y: 16px;
    --bki-reveal-blur: 2px;
    --bki-reveal-start-opacity: .24;
}

.js :where(.single-head, .woocommerce-products-header, .bk-contact-hero, .bk-anfrage-hero).bki-reveal {
    --bki-reveal-y: 16px;
    --bki-reveal-blur: 2px;
    --bki-reveal-start-opacity: .28;
}

.js :where(.bk-industrial-project, .bk-industrial-service).bki-reveal {
    --bki-reveal-y: 24px;
    --bki-reveal-blur: 3px;
    --bki-reveal-start-opacity: .22;
}

.js .bki-reveal.is-visible,
.js .bki-reveal.is-revealed {
    animation: bkiRevealUp 640ms var(--bki-ease) var(--bki-reveal-delay, 0ms) both;
}

@keyframes bkiRevealUp {
    from {
        opacity: var(--bki-reveal-start-opacity);
        filter: blur(var(--bki-reveal-blur));
        transform: translateY(var(--bki-reveal-y));
    }

    to {
        opacity: 1;
        filter: blur(0);
        transform: translateY(0);
    }
}

@media (max-width: 767px) {
    .js .bki-reveal {
        --bki-reveal-y: 14px;
        --bki-reveal-blur: 2px;
    }

    .js .bki-reveal.is-visible,
    .js .bki-reveal.is-revealed {
        animation-duration: 500ms;
    }

    .js .woocommerce ul.products:not(.slick-slider) > li.product.bki-reveal {
        --bki-reveal-y: 12px;
        --bki-reveal-blur: 1.5px;
    }
}

@media (max-width: 1024px) {
    body.bk-industrial-site .title-header .heading-row {
        grid-template-columns: minmax(170px, 0.6fr) minmax(350px, 1.4fr) auto;
    }

    body.bk-industrial-site .header-search-form form {
        grid-template-columns: minmax(100px, 1fr) 205px 44px;
    }

    body.bk-industrial-site .header-search-form select {
        min-width: 205px;
    }

    .bki-footer-panel__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 767px) {
    body.bk-industrial-site:not(.bk-home-industrial) {
        background-image: none;
    }

    body.bk-industrial-site:not(.bk-home-industrial) #site-content.main-container {
        width: min(calc(100% - 32px), var(--bki-max));
        padding-top: 26px;
    }

    body.bk-industrial-site .site-header.title-header {
        min-height: 64px;
    }

    body.bk-industrial-site .title-header .heading-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
        min-height: 64px;
    }

    body.bk-industrial-site .title-header .header-widget-area {
        display: none;
    }

    body.bk-industrial-site .site-branding-text .site-description {
        display: none;
    }

    body.bk-industrial-site .menu-header {
        display: none;
    }

    body.bk-industrial-site .header-right .menu-button {
        display: block;
        order: 5;
        margin-left: 2px;
    }

    body.bk-industrial-site .header-wishlist {
        display: none;
    }

    body.bk-industrial-site .hc-offcanvas-nav a.bk-anfrage-nav-cta__link {
        margin: 12px;
        border: 1px solid var(--bki-red);
        border-radius: 4px;
        color: #fff;
        -webkit-text-fill-color: #fff;
        background: var(--bki-red);
        text-align: center;
    }

    body.bk-industrial-site .single-title,
    body.bk-industrial-site .page-title {
        font-size: clamp(2.2rem, 13vw, 3.8rem);
    }

    .bki-footer-panel__inner {
        width: calc(100% - 32px);
        padding-top: 44px;
    }

    .bki-footer-panel__contacts {
        grid-template-columns: 1fr;
    }

    .bki-footer-panel__contacts > div {
        padding: 14px 16px;
    }

    .bki-footer-panel__grid {
        display: none;
    }
}

@media (max-width: 380px) {
    body.bk-industrial-site .site-branding-text .site-title,
    body.bk-industrial-site .site-branding-text .site-title a {
        font-size: 1rem;
    }

    body.bk-industrial-site .header-right :where(.header-cart, .header-my-account),
    body.bk-industrial-site .header-right :where(.header-cart-inner, .header-cart-block, .header-login a) {
        min-width: 38px;
    }
}

/* Commercial readability pass: strict sans-serif and stronger UI contrast. */
body.bk-industrial-site {
    --bki-serif: Inter, Arial, Helvetica, sans-serif;
    font-family: Inter, Arial, Helvetica, sans-serif;
    font-size: 17px;
}

body.bk-industrial-site :where(h1, h2, h3, h4, h5, h6, p, a, button, input, select, textarea, label, table, th, td, .price, .amount) {
    font-family: Inter, Arial, Helvetica, sans-serif;
    letter-spacing: 0;
}

body.bk-industrial-site :where(.single-title, .page-title) {
    font-size: 4rem;
    line-height: 1;
    letter-spacing: 0;
}

body.bk-industrial-site :where(.bki-kicker, .bki-commerce-label, .bki-product-category, .bki-single-category) {
    font-size: 0.72rem;
    letter-spacing: 0.08em;
}

body.bk-industrial-site .title-header .heading-row {
    min-height: var(--bki-title-header-height);
}

body.bk-industrial-site .site-branding-text .site-title,
body.bk-industrial-site .site-branding-text .site-title a {
    font-size: 1.45rem;
    letter-spacing: 0;
}

body.bk-industrial-site .site-branding-text .site-description {
    font-size: 0.72rem;
    letter-spacing: 0.06em;
}

body.bk-industrial-site .navbar-nav > li > a {
    min-height: var(--bki-menu-header-height);
    font-size: 0.88rem;
    letter-spacing: 0.04em;
}

body.bk-industrial-site .site-header.menu-header,
body.bk-industrial-site .menu-header .heading-row,
body.bk-industrial-site .menu-header .menu-heading,
body.bk-industrial-site .menu-header nav {
    min-height: var(--bki-menu-header-height);
}

body.bk-industrial-site :where(
    .button,
    button.button,
    input[type="submit"],
    .wp-element-button,
    .checkout-button,
    #place_order,
    .bk-product-anfrage-cta__button,
    .bk-loop-anfrage-button,
    .bk-contact-submit,
    .bk-anfrage-submit,
    .bk-contact-hero__cta,
    .bki-footer-panel__cta,
    .bk-anfrage-nav-cta__link
) {
    color: #fff;
    -webkit-text-fill-color: #fff;
    opacity: 1;
    font-family: Inter, Arial, Helvetica, sans-serif;
    font-size: 0.9rem;
    font-weight: 700;
    letter-spacing: 0.03em;
}

body.bk-industrial-site :where(
    .button,
    button.button,
    input[type="submit"],
    .wp-element-button,
    .checkout-button,
    #place_order,
    .bk-product-anfrage-cta__button,
    .bk-loop-anfrage-button,
    .bk-contact-submit,
    .bk-anfrage-submit,
    .bk-contact-hero__cta,
    .bki-footer-panel__cta,
    .bk-anfrage-nav-cta__link
):where(:hover, :focus, :focus-visible, :active, :visited) {
    color: #fff;
    -webkit-text-fill-color: #fff;
    opacity: 1;
}

/* Safe shrinking sticky header: only the top row compacts; nav row stays stable. */
body.bk-industrial-site .site-header.title-header,
body.bk-industrial-site .site-header.menu-header {
    overflow: visible;
}

body.bk-industrial-site .title-header .heading-row {
    gap: clamp(14px, 2.5vw, 38px);
}

body.bk-industrial-site .site-branding-logo img {
    max-height: var(--bki-logo-max-height);
}

body.bk-industrial-site .site-branding-text .site-title,
body.bk-industrial-site .site-branding-text .site-title a {
    font-size: var(--bki-site-title-size);
}

body.bk-industrial-site .site-branding-text .site-description {
    margin-top: var(--bki-site-description-gap);
    font-size: var(--bki-site-description-size);
    letter-spacing: 0.055em;
}

body.bk-industrial-site .header-search-form form {
    height: var(--bki-search-height);
    background: rgba(250, 250, 248, 0.9);
}

body.bk-industrial-site .header-search-form :where(input, select, button) {
    height: var(--bki-search-control-height);
}

body.bk-industrial-site .header-search-form input {
    padding-inline: 14px;
    font-size: 0.87rem;
}

body.bk-industrial-site .header-search-form select {
    font-size: 0.8rem;
}

body.bk-industrial-site .header-right :where(.header-cart, .header-my-account, .header-wishlist),
body.bk-industrial-site .header-right :where(.header-cart-inner, .header-cart-block, .header-login a, .header-wishlist a) {
    min-width: var(--bki-header-icon-size);
    min-height: var(--bki-header-icon-size);
}

body.bk-industrial-site .navbar-nav > li > a {
    padding-inline: clamp(10px, 1.2vw, 18px);
    font-size: var(--bki-nav-font-size);
}

body.bk-industrial-site .bk-anfrage-nav-cta__link {
    min-height: var(--bki-cta-height);
    padding-block: 0;
    padding-inline: 16px;
    align-items: center;
    justify-content: center;
}

body.bk-industrial-site #my-menu-right .bk-anfrage-nav-cta > a.bk-anfrage-nav-cta__link {
    min-height: var(--bki-cta-height);
    margin-top: 0;
    margin-bottom: 0;
    padding-inline: 16px;
}

@media (max-width: 767px) {
    body.bk-industrial-site {
        --bki-title-header-height: 64px;
        --bki-title-header-outer-height: 64px;
        --bki-menu-header-height: 0px;
        --bki-header-icon-size: 44px;
    }

    body.bk-industrial-site.bki-header--compact {
        --bki-title-header-height: 60px;
        --bki-logo-max-height: 54px;
        --bki-search-height: 48px;
        --bki-search-control-height: 46px;
        --bki-header-icon-size: 44px;
    }

    body.bk-industrial-site .site-header.title-header {
        min-height: var(--bki-title-header-outer-height);
    }

    body.bk-industrial-site .title-header .heading-row {
        min-height: var(--bki-title-header-height);
    }

    body.bk-industrial-site .header-right :where(.header-cart, .header-my-account),
    body.bk-industrial-site .header-right :where(.header-cart-inner, .header-cart-block, .header-login a),
    body.bk-industrial-site .header-right .menu-button {
        min-width: 44px;
        min-height: 44px;
    }
}

.bki-footer-panel__inner {
    gap: 34px;
    padding: 34px 0 18px;
}

.bki-footer-panel__lead h2 {
    margin: 10px 0 18px;
    font-size: 3.35rem;
    line-height: 1.02;
    letter-spacing: 0;
}

.bki-footer-panel__cta {
    min-height: 48px;
    padding: 13px 18px;
}

.bki-footer-panel__contacts > div {
    padding: 14px 16px;
}

.bki-footer-panel__contacts span,
.bki-footer-panel__nav a {
    letter-spacing: 0.07em;
}

.bki-footer-panel__contacts :where(a, p, address) {
    font-size: 1rem;
}

body.bk-industrial-site.bk-blog-page #sidebar {
    display: none;
}

body.bk-industrial-site.bk-blog-page article.envo-content {
    width: 100%;
    max-width: none;
}

body.bk-industrial-site.bk-blog-page .single-head::before {
    content: "BAUKREDOS BLOG";
}

body.bk-industrial-site.bk-blog-page .single-head {
    padding-top: 30px;
    padding-bottom: 28px;
}

body.bk-industrial-site.bk-blog-page .single-title,
body.bk-industrial-site.bk-blog-page .page-title {
    font-size: 4rem;
}

body.bk-industrial-site.bk-blog-page :where(.post, .page.type-page) {
    max-width: 1120px;
    padding: 24px;
    border: 1px solid var(--bki-line);
    border-radius: 4px;
    background: rgba(250, 250, 248, 0.75);
}

@media (max-width: 767px) {
    body.bk-industrial-site {
        font-size: 16px;
    }

    body.bk-industrial-site :where(.single-title, .page-title),
    body.bk-industrial-site.bk-blog-page .single-title,
    body.bk-industrial-site.bk-blog-page .page-title {
        font-size: 2.5rem;
    }

    .bki-footer-panel__lead h2 {
        font-size: 2.45rem;
    }
}

/* Produkte mega menu and header chevron alignment. */
body.bk-industrial-site .navbar-nav > li.menu-item-has-children > a,
body.bk-industrial-site .navbar-nav > li.dropdown > a {
    align-items: center;
    gap: 9px;
}

body.bk-industrial-site .bk-products-trigger-text,
body.bk-industrial-site .bk-products-trigger-toggle {
    display: inline-flex;
    align-items: center;
}

body.bk-industrial-site .bk-products-trigger-toggle {
    display: inline-flex;
    align-items: center;
    width: 18px;
    height: 18px;
    justify-content: center;
    margin-left: 0;
    border: 0;
    border-radius: 0;
    color: var(--bki-red);
    font-size: 0;
    line-height: 1;
    cursor: pointer;
    transition:
        color 180ms var(--bki-ease),
        transform 180ms var(--bki-ease);
}

body.bk-industrial-site .bk-products-trigger-toggle::before {
    display: block;
    width: 8px;
    height: 8px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    content: "";
    transform: translateY(-2px) rotate(45deg);
}

body.bk-industrial-site .bk-products-mega-menu-parent.is-open .bk-products-trigger-toggle,
body.bk-industrial-site .bk-products-mega-menu-parent:hover .bk-products-trigger-toggle,
body.bk-industrial-site .bk-products-trigger-toggle:hover {
    color: var(--bki-red-dark);
}

body.bk-industrial-site .bk-products-mega-menu-parent.is-open .bk-products-trigger-toggle {
    transform: translateY(2px) rotate(180deg);
}

body.bk-industrial-site .navbar-nav > li.menu-item-has-children > a .caret,
body.bk-industrial-site .navbar-nav > li.dropdown > a .caret,
body.bk-industrial-site .navbar-nav > li.menu-item-has-children > a::before,
body.bk-industrial-site .navbar-nav > li.dropdown > a::before {
    display: none;
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent {
    position: static;
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent::before {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: -14px;
    left: 0;
    height: 18px;
    pointer-events: none;
    content: "";
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent:hover::before,
body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent:focus-within::before,
body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent.is-open::before,
body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent.open::before {
    pointer-events: auto;
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu {
    position: absolute;
    top: calc(100% - 1px);
    left: 50%;
    right: auto;
    display: grid;
    width: min(1040px, calc(100vw - 40px));
    max-width: none;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
    padding: 18px;
    border: 1px solid #d9d9d4;
    border-radius: 14px;
    background: rgba(247, 247, 245, 0.98);
    box-shadow: 0 18px 44px rgba(24, 24, 27, 0.13);
    opacity: .001;
    pointer-events: none;
    transform: translate(-50%, 8px);
    visibility: hidden;
    transition: opacity 180ms ease, transform 260ms var(--bki-ease), visibility 180ms ease;
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent:hover > .dropdown-menu,
body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent:focus-within > .dropdown-menu,
body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent.is-open > .dropdown-menu,
body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent.open > .dropdown-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translate(-50%, 0);
    visibility: visible;
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu > li {
    width: auto;
    min-width: 0;
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu > li > a {
    display: grid;
    height: 126px;
    min-height: 0;
    grid-template-columns: 100px minmax(0, 1fr);
    gap: 13px;
    align-items: stretch;
    padding: 12px;
    border: 1px solid #d9d9d4;
    border-radius: 12px;
    background: #fff;
    color: var(--bki-ink);
    box-shadow: 0 1px 0 rgba(255, 255, 255, 0.9) inset;
    transition:
        border-color 180ms var(--bki-ease),
        background-color 180ms var(--bki-ease),
        transform 180ms var(--bki-ease),
        box-shadow 180ms var(--bki-ease);
}

body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu > li > a:hover,
body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu > li > a:focus {
    border-color: var(--bki-red);
    background: #fffdfd;
    color: var(--bki-ink);
    transform: translateY(-2px);
    box-shadow: 0 10px 24px rgba(24, 24, 27, 0.08);
}

.bk-products-mega-card__media {
    display: block;
    min-width: 0;
    overflow: hidden;
    border-radius: 3px;
    background: #fff;
}

.bk-products-mega-card__image,
.bk-products-mega-card__image-fallback {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.bk-products-mega-card__image-fallback {
    background:
        linear-gradient(135deg, rgba(180, 33, 42, 0.16), transparent 58%),
        var(--bki-paper);
}

.bk-products-mega-card__body {
    display: flex;
    min-width: 0;
    min-height: 0;
    flex-direction: column;
    justify-content: flex-start;
    gap: 8px;
    padding: 2px 0;
}

.bk-products-mega-card__title {
    color: var(--bki-ink);
    font-size: 0.98rem;
    font-weight: 700;
    line-height: 1.22;
}

.bk-products-mega-card__subtitle {
    display: -webkit-box;
    overflow: hidden;
    color: var(--bki-muted);
    font-size: 0.82rem;
    line-height: 1.4;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.bk-products-mega-card__arrow {
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
    align-self: flex-end;
    margin-top: auto;
    border: 1px solid rgba(180, 33, 42, 0.35);
    border-radius: 3px;
    color: var(--bki-red);
    font-size: 1rem;
}

@media (max-width: 1099px) and (min-width: 768px) {
    body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu > li > a {
        height: 122px;
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .bk-products-mega-card__image,
    .bk-products-mega-card__image-fallback {
        min-height: 0;
    }
}

@media (max-width: 767px) {
    body.bk-industrial-site .hc-offcanvas-nav .bk-products-mega-menu-card a,
    body.bk-industrial-site .navbar-nav > li.bk-products-mega-menu-parent > .dropdown-menu > li > a {
        display: grid;
        grid-template-columns: 70px minmax(0, 1fr);
        gap: 10px;
        height: auto;
        min-height: 96px;
    }

    .bk-products-mega-card__image,
    .bk-products-mega-card__image-fallback {
        min-height: 84px;
    }

    .bk-products-mega-card__title {
        font-size: 0.88rem;
    }

    .bk-products-mega-card__subtitle {
        font-size: 0.76rem;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.bk-industrial-site *,
    body.bk-industrial-site *::before,
    body.bk-industrial-site *::after {
        scroll-behavior: auto;
        transition-duration: 0.01ms;
        animation-duration: 0.01ms;
        animation-iteration-count: 1;
    }

    .js .bki-reveal {
        opacity: 1;
        filter: none;
        transform: none;
        animation: none !important;
        transition: none !important;
        will-change: auto;
    }
}
