.kb-company-filter {
    align-items: end;
    background: #fff;
    border-radius: 22px;
    box-shadow: 0 18px 50px rgba(34, 87, 122, .08);
    color: #2C2C34;
    display: grid;
    gap: 14px;
    grid-template-columns: minmax(0, 1.4fr) minmax(180px, .9fr) minmax(180px, .9fr) auto;
    padding: 24px;
}

.kb-company-filter > div { display: grid; gap: 7px; }
.kb-company-filter label { color: #2C2C34; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.kb-company-filter input, .kb-company-filter select { background: #f7f9fa; border: 1px solid #c8d5dc; border-radius: 12px; color: #2c2c34; font: inherit; min-height: 50px; padding: 0 14px; width: 100%; }
.kb-company-filter button { background: #223843; border: 0; border-radius: 999px; color: #fff; cursor: pointer; font-weight: 700; min-height: 50px; padding: 0 24px; }
.kb-company-filter__reset { color: #223843; font-weight: 700; grid-column: 1 / -1; }
.kb-company-filter__count { color: #2C2C34; font-size: 14px; margin: 12px 2px 0; }
.kb-company-filter__empty { background: #fff; border: 1px solid #d6e5eb; border-radius: 18px; color: #2C2C34; display: grid; gap: 5px; margin-top: 18px; padding: 24px; }
.kb-company-filter__empty strong { font-size: 20px; }
.kb-company-terms { display: flex; flex-wrap: wrap; gap: 6px; }
.kb-company-terms span { background: #e7f6fa; border-radius: 999px; color: #223843; display: inline-flex; font-size: 12px; font-weight: 700; padding: 6px 10px; }
.kb-company-video { aspect-ratio: 16 / 9; background: #03080c; border-radius: 20px; overflow: hidden; position: relative; }
.kb-company-video iframe { border: 0; height: 100%; inset: 0; position: absolute; width: 100%; }
.kb-company-contacts, .kb-company-gallery, .kb-company-events { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.kb-company-contact, .kb-company-event { background: #fff; border-radius: 18px; color: #2C2C34; display: flex; gap: 16px; padding: 20px; }
.kb-company-contact img { border-radius: 50%; height: 72px; object-fit: cover; width: 72px; }
.kb-company-contact h3 { margin: 0 0 4px; }
.kb-company-contact p, .kb-company-contact a { display: block; margin: 0 0 4px; }
.kb-company-gallery img { border-radius: 18px; height: 250px; object-fit: cover; width: 100%; }
.kb-company-event { flex-direction: column; text-decoration: none; }
.kb-company-event span { font-size: 12px; letter-spacing: .06em; text-transform: uppercase; }
.kb-company-event strong { font-size: 20px; }
.kb-company-card-copy { display: grid; gap: 8px; }
.kb-company-card-copy p { color: #2C2C34; font-size: 14px; line-height: 1.55; margin: 0; }
.kb-company-card-meta { color: #2C2C34; display: flex; flex-wrap: wrap; font-size: 13px; gap: 8px; }
.kb-company-access { margin: 0 auto; max-width: 760px; }
.kb-company-access form { background: #fff; border: 1px solid #d6e5eb; border-radius: 22px; display: grid; gap: 12px; margin-top: 18px; padding: clamp(22px, 4vw, 38px); }
.kb-company-access label { color: #2c2c34; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.kb-company-access input { background: #f7f9fa; border: 1px solid #c8d5dc; border-radius: 12px; color: #2c2c34; font: inherit; min-height: 52px; padding: 0 14px; }
.kb-company-access button { background: #223843; border: 0; border-radius: 999px; color: #fff; cursor: pointer; font-weight: 700; min-height: 50px; padding: 0 24px; width: max-content; }
.single-kommbleib_company .elementor-widget-button .elementor-button:not([href]),
.single-kommbleib_company .elementor-widget-button .elementor-button[href=""],
.single-kommbleib_company .elementor-social-icons-wrapper .elementor-icon:not([href]),
.single-kommbleib_company .elementor-social-icons-wrapper .elementor-icon[href=""] { display: none !important; }

@media (max-width: 900px) {
    .kb-company-filter { grid-template-columns: 1fr 1fr; }
    .kb-company-filter button { width: 100%; }
    .kb-company-contacts, .kb-company-gallery, .kb-company-events { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 600px) {
    .kb-company-filter { grid-template-columns: 1fr; padding: 18px; }
    .kb-company-contacts, .kb-company-gallery, .kb-company-events { grid-template-columns: 1fr; }
    .kb-company-gallery img { height: 210px; }
}
