/* =========================================================
   KONTAKTSEITE
   Core-Layout analog Karriere/Branchen
   ========================================================= */


.bd-contact-content {
    min-width: 0;
}

body.bd-contact-page .bd-layout-main {
    grid-template-columns: minmax(0, 1fr);
}

.bd-contact-section {
    scroll-margin-top: 7rem;
}

body.bd-contact-page main.bd-layout-content.bd-contact-content > section.bd-content-section,
body.bd-contact-page main.bd-layout-content.bd-contact-content > section.bd-contact-section {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-right: 0;
    padding-bottom: 0;
    padding-left: 0;
}

body.bd-contact-page main.bd-layout-content.bd-contact-content > section#weltkarte,
body.bd-contact-page main.bd-layout-content.bd-contact-content > section#kontaktdaten,
body.bd-contact-page main.bd-layout-content.bd-contact-content > section#fachberater_innendienst,
body.bd-contact-page main.bd-layout-content.bd-contact-content > section#kontaktformular {
    padding-top: 0;
}

.bd-contact-section-lead {
    max-width: 760px;
    margin: 0.75rem 0 0;
    color: var(--bd-color-body);
    font-size: 1.05rem;
    line-height: 1.6;
}

.bd-contact-intro .bd-prose {
    max-width: var(--bd-container-narrow);
}

/* Karte */
.bd-contact-selector-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: var(--bd-space-4);
    align-items: start;
    margin-top: 1.75rem;
}

.bd-contact-map-frame {
    min-width: 0;
    overflow: visible;
}

/* Fixed output area beside the selection map. */
.bd-contact-selection-panel {
    min-width: 0;
    position: static;
    color: var(--bd-color-body);
    font-family: var(--font-base);
    font-weight: var(--weight-regular);
    font-size: var(--bd-sidebar-font-size);
    line-height: var(--bd-sidebar-leading);
    scroll-margin-top: calc(var(--bd-sticky-top) + var(--bd-space-2));
}

.bdka-map-selector {
    position: relative;
    width: 100%;
    max-width: 28rem;
    margin: 0.5rem 0 1.25rem;
}

.bdka-map-selector label {
    position: absolute;
    top: 18px;
    left: 14px;
    z-index: 1;
    max-width: calc(100% - 4rem);
    padding: 0 6px;
    margin: 0;
    background: var(--form-field-bg);
    color: var(--bd-color-body);
    font-size: var(--text-sm);
    font-weight: var(--weight-regular);
    line-height: var(--leading-tight);
    pointer-events: none;
    transition: top 0.2s ease, font-size 0.2s ease, color 0.2s ease;
}

.bdka-map-selector select {
    display: block;
    width: 100%;
    min-height: 54px;
    padding: 16px 3rem 16px 20px;
    border: 1px solid var(--form-field-border);
    border-radius: var(--bd-md-border-radius, 4px);
    background: var(--form-field-bg);
    color: var(--bd-color-body);
    font-family: inherit;
    font-size: var(--text-md);
    font-weight: var(--weight-regular);
    line-height: var(--leading-snug);
    cursor: pointer;
    appearance: none;
    -webkit-appearance: none;
    transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.bdka-map-selector:has(option:checked[value=""]):not(:focus-within) select {
    color: transparent;
}

.bdka-map-selector select option {
    color: var(--bd-color-body);
}

.bdka-map-selector:focus-within label,
.bdka-map-selector:has(option:checked:not([value=""])) label {
    top: -7px;
    color: var(--form-field-focus);
    font-size: var(--text-s);
}

.bdka-map-selector select:focus {
    outline: none;
    border-color: var(--form-field-focus);
    box-shadow: 0 0 0 3px var(--bd-color-primary-20);
}

.bdka-map-selector__arrow {
    position: absolute;
    top: 50%;
    right: 18px;
    color: var(--bd-color-primary);
    font-size: 0.85rem;
    transform: translateY(-50%);
    pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
    .bdka-map-selector label,
    .bdka-map-selector select {
        transition: none;
    }
}

.bd-contact-selection-country {
    margin: 0 0 0.8rem;
    color: var(--bd-color-primary);
    font-size: inherit;
    font-weight: var(--weight-regular);
}

.bd-contact-selected-address {
    display: grid;
    grid-template-columns: 20px minmax(0, 1fr);
    gap: 0.55rem;
    margin: 0 0 1rem;
    font-size: inherit;
    text-align: left;
}

.bd-contact-selected-address > i {
    padding-top: 0.2rem;
    color: var(--bd-color-primary);
}

.bd-contact-selected-person {
    min-width: 0;
    width: 100%;
}

.bd-contact-selected-inside {
    margin-top: var(--bd-space-2);
    padding-top: var(--bd-space-2);
    border-top: 1px solid var(--bd-color-border);
}

.bd-contact-selected-inside > h4 {
    margin: 0 0 var(--bd-space-2);
}

.bd-contact-selected-person + .bd-contact-selected-person {
    margin-top: 1rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bd-color-border);
}

.bd-contact-selected-details {
    margin-top: var(--bd-space-2);
    text-align: left;
}

.bd-contact-selected-action:focus-visible,
.bd-contact-selection-result:focus-visible,
.bd-contact-map-frame #back-btn.bdka-map-back:focus-visible,
.bd-contact-map-frame :is(.bdka-map-legend-item, .bdka-map-back, .leaflet-control-zoom a):focus-visible {
    outline-width: var(--focus-offset);
    outline-style: solid;
    outline-color: var(--bd-color-primary);
    outline-offset: var(--focus-offset);
}

.bd-contact-map-frame .bdka-map-legend-item,
.bd-contact-map-frame #back-btn.bdka-map-back {
    min-height: var(--btn-height);
    border-color: var(--btn-outline-border);
    color: var(--bd-color-primary);
    font-weight: var(--bd-btn-weight);
}

.bd-contact-map-frame .bdka-map-legend-item {
    font-size: var(--text-compact);
}

.bd-contact-map-frame .leaflet-container .leaflet-control-zoom a {
    width: var(--btn-height);
    height: var(--btn-height);
    line-height: var(--btn-height);
    font-family: var(--font-base);
    font-weight: var(--weight-regular);
}

.bd-contact-map-frame .leaflet-container:focus-visible {
    outline-width: var(--focus-offset);
    outline-style: solid;
    outline-color: var(--bd-color-primary);
    outline-offset: calc(var(--focus-offset) * -1);
}

.bd-contact-selected-region p {
    margin: 0 0 0.6rem;
    overflow-wrap: anywhere;
}

.bd-contact-selected-region .firma-block > p {
    display: flex;
    gap: 0.55rem;
}

.bd-contact-selected-region .ansprechpartner-block + .ansprechpartner-block {
    margin-top: 1rem;
}

.bd-contact-selection-empty {
    display: grid;
    gap: 0.85rem;
}

.bd-contact-selection-empty > i {
    color: var(--contact-icon-color);
    font-size: 1.75rem;
}

.bd-contact-selection-empty > p {
    margin: 0;
}

.bd-contact-sales-hotline {
    min-width: 0;
}

.bd-contact-selection-panel a:focus-visible {
    outline: 2px solid var(--bd-color-primary);
    outline-offset: 4px;
}

@media (min-width: 1180px) {
    .bd-contact-selector-grid {
        grid-template-columns: minmax(0, 1fr) minmax(320px, 380px);
        gap: clamp(2rem, 3vw, 3.5rem);
    }

    .bd-contact-selection-panel {
        position: sticky;
        top: var(--bd-sticky-top);
    }
}

.bd-contact-map-frame #krautzberger-map-wrapper {
    padding: 0;
    font-family: var(--font-base);
    font-weight: var(--weight-regular);
}

.bd-contact-map-frame :is(.leaflet-container, .leaflet-tooltip) {
    font-family: var(--font-base);
    font-weight: var(--weight-regular);
}

.bd-contact-map-frame .bdka-map-eyebrow {
    font-weight: var(--weight-semibold);
}

.bd-contact-map-frame .bdka-map-toolbar .map-title {
    font-weight: var(--weight-bold);
}

.bd-contact-map-frame #map-wrapper-inner,
.bd-contact-map-frame #worldmap,
.bd-contact-map-frame #germanymap {
    height: clamp(520px, 58vw, 650px);
    border-radius: 0;
    box-shadow: none;
}

.bd-contact-directory {
    margin-top: 2.5rem;
    margin-bottom: clamp(4rem, 7vw, 6.5rem);
}

.bd-contact-directory > h3 {
    margin: 0 0 1.25rem;
    color: var(--bd-color-darker);
}

.bd-contact-directory #krautzberger-contacts-wrapper {
    font-family: inherit;
    color: var(--bd-color-body);
}

.bd-contact-directory #contacts-filter {
    margin-bottom: 1.35rem;
    border-color: var(--bd-color-border);
    border-radius: var(--bd-radius-s);
}

.bd-contact-directory #contacts-filter label {
    color: var(--color-muted);
    font-family: inherit;
}

.bd-contact-directory #contacts-filter select {
    border-color: var(--bd-color-border);
    border-radius: var(--bd-radius-xs);
    font-family: inherit;
}

.bd-contact-directory .contacts-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 320px));
    justify-content: start;
    align-items: stretch;
    gap: var(--bd-space-3);
}

.bd-contact-directory .contact-entry {
    min-width: 0;
    padding: 1.2rem;
    border: 1px solid var(--bd-color-border);
    border-radius: var(--bd-radius-s);
    box-shadow: var(--bd-shadow-card);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.bd-contact-directory .contact-entry:hover {
    transform: translateY(-2px);
    border-color: var(--bd-color-primary);
    box-shadow: var(--bd-shadow-card-hover);
}

.bd-contact-directory .contact-entry header h3 {
    font-size: 1.12rem;
    color: var(--bd-color-primary);
}

.bd-contact-directory .contact-details {
    font-size: 0.95rem;
}

.bd-contact-directory .contact-details p {
    gap: 0.55rem;
}

.bd-contact-directory .contact-details a {
    word-break: break-word;
}

.bd-contact-directory .bdka-contact-card__action:hover {
    color: var(--bd-color-white);
    text-decoration: none;
}

/* Sidebar contact modules */
.bd-contact-sidebar {
    gap: 2.35rem;
}

.bd-contact-mini-list {
    display: grid;
    gap: 0.9rem;
}

.bd-contact-mini-card {
    display: grid;
    grid-template-columns: 48px 1fr;
    gap: 0.85rem;
    align-items: start;
    min-width: 0;
    padding: 0.95rem 0;
    border-bottom: 1px solid var(--bd-color-border);
}

body.bd-contact-page .bd-contact-mini-card {
    display: grid;
    grid-template-columns: 52px minmax(0, 1fr);
    gap: 0.9rem;
    align-items: start;
}

.bd-contact-mini-card:first-child {
    padding-top: 0;
}

.bd-contact-mini-card:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.bd-contact-mini-img,
.bd-contact-mini-initials {
    width: 48px;
    height: 48px;
    border-radius: 50%;
}

body.bd-contact-page .bd-contact-mini-img,
body.bd-contact-page .bd-contact-mini-initials {
    display: inline-flex;
    flex: 0 0 48px;
    align-items: center;
    justify-content: center;
}

.bd-contact-mini-img {
    object-fit: cover;
    border: 2px solid var(--bd-color-secondary);
}

.bd-contact-mini-initials {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: var(--bd-color-secondary);
    color: var(--bd-color-primary);
    font-size: 0.95rem;
    font-weight: 700;
}

.bd-contact-mini-body {
    display: grid;
    gap: 0.22rem;
    min-width: 0;
}

body.bd-contact-page .bd-contact-mini-body {
    align-content: start;
}

.bd-contact-mini-body strong {
    color: var(--bd-color-darker);
    font-size: 1rem;
    line-height: 1.25;
}

.bd-contact-mini-body > span {
    color: var(--color-muted);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.04em;
    line-height: 1.35;
    text-transform: uppercase;
}

.bd-contact-mini-actions {
    display: grid;
    gap: 0.2rem;
    margin-top: 0.35rem;
}

.bd-contact-mini-actions a {
    display: inline-grid;
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 0.45rem;
    align-items: baseline;
    min-width: 0;
    color: var(--bd-color-body);
    text-decoration: none;
    word-break: break-word;
}

body.bd-contact-page .bd-contact-mini-actions a,
body.bd-contact-page .bd-contact-sidebar-office a {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr);
    width: 100%;
    min-width: 0;
}

.bd-contact-mini-actions i {
    color: var(--bd-color-primary);
}

/* Formular */
.bd-contact-form-section {
    margin-top: 0;
}

/* Same inset surface as the product enquiry panel. */
.bd-contact-form-panel {
    display: grid;
    gap: var(--bd-space-3);
    padding: clamp(1.25rem, 3vw, 2rem);
    border: 1px solid var(--bd-color-border);
    border-radius: var(--bd-radius-l);
    background: linear-gradient(135deg, var(--bd-color-primary-10), rgba(var(--bd-color-white-rgb), 0.96) 42%, var(--bd-color-white));
    box-shadow: none;
    min-width: 0;
    max-width: 1120px;
}

.bd-contact-form-copy h2 {
    margin-top: 0;
    margin-bottom: 0.75rem;
}

.bd-contact-form-copy p {
    margin-bottom: 0;
    max-width: 620px;
    line-height: 1.6;
}

.bd-contact-form {
    min-width: 0;
}

.bd-contact-form .wpcf7,
.bd-contact-form .wpcf7-form,
.bd-contact-form .wpcf7-response-output,
.bd-contact-form .wpcf7 form .wpcf7-response-output {
    max-width: none;
    margin-left: 0;
    margin-right: 0;
}

.bd-contact-form form {
    display: grid;
    gap: 1.1rem;
}

.bd-contact-form .md-form {
    display: grid;
    gap: var(--bd-gap, 20px);
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: start;
}

.bd-contact-form .md-form > .md-raw,
.bd-contact-form .md-form > .md-accept,
.bd-contact-form .md-form > .md-submit,
.bd-contact-form .md-form > .md-heading,
.bd-contact-form .md-form > .md-field[desktopwidth="12"],
.bd-contact-form .md-form > .md-field.md-textarea {
    grid-column: 1 / -1;
}

.bd-contact-form .wpcf7-form span.wpcf7-form-control-wrap {
    display: block;
}

.bd-contact-form .md-field .md-control .md-label {
    position: absolute;
    left: 14px;
    top: 18px;
    display: block;
    padding: 0 6px;
    margin: 0;
    background: var(--bd-color-white);
    color: var(--bd-color-body);
    font-size: 14px;
    font-weight: 400;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: none;
    pointer-events: none;
    transition: top .22s ease, font-size .22s ease, color .22s ease, background-color .22s ease;
    z-index: 1;
}

.bd-contact-form .md-field .md-control .md-label::before {
    content: "";
    position: absolute;
    left: 4px;
    right: 4px;
    top: 50%;
    display: block;
    height: 1.2em;
    background: var(--bd-color-white);
    transform: translateY(-50%);
    z-index: -1;
}

.bd-contact-form .md-field .md-control.is-focused .md-label,
.bd-contact-form .md-field .md-control.has-value .md-label {
    top: -7px;
    color: var(--bd-color-primary);
    font-size: 12px;
}

.bd-contact-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.bd-contact-form textarea,
.bd-contact-form select,
.bd-contact-form .md-field .wpcf7-form-control {
    width: 100%;
    min-height: 48px;
    padding: 16px;
    border: 1px solid var(--bd-md-border);
    border-radius: var(--bd-md-border-radius);
    background: var(--bd-color-white);
    color: var(--bd-color-body);
    font-family: var(--font-base, inherit);
    font-size: var(--text-sm, 14px);
    line-height: 1.45;
    box-shadow: none;
}

.bd-contact-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]):focus,
.bd-contact-form textarea:focus,
.bd-contact-form select:focus,
.bd-contact-form .md-field .wpcf7-form-control:focus {
    outline: none;
    border-color: var(--bd-color-primary);
    box-shadow: 0 0 0 3px rgba(53, 61, 146, .18);
}

.bd-contact-form textarea,
.bd-contact-form .md-field textarea.wpcf7-form-control {
    min-height: 160px;
    padding-top: 24px;
    resize: vertical;
}

.bd-contact-form .md-form .md-heading {
    margin: 0.6rem 0 0.2rem;
    padding-top: 1rem;
    border-top: 1px solid var(--bd-color-border);
}

.bd-contact-form .md-form .md-heading h2,
.bd-contact-form .md-form .md-heading h3,
.bd-contact-form .md-form .md-heading h4,
.bd-contact-form .md-form .md-heading p {
    margin: 0;
    color: var(--bd-color-darker);
    font-size: 1.1rem;
    line-height: 1.35;
}

.bd-contact-form .md-form .md-raw {
    grid-column: 1 / -1;
    min-width: 0;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-with-individual-styles[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] {
    --content-blocker-background-color: transparent;
    --content-blocker-background: transparent;
    --content-blocker-text-color: var(--bd-color-body);
    --content-blocker-link-color: var(--bd-color-primary);
    --content-blocker-link-color-hover: var(--bd-color-hover);
    width: 100%;
    max-width: 760px;
    min-height: 0;
    margin: 0.25rem 0 0;
    overflow: hidden;
    border: 1px solid var(--bd-color-border);
    border-radius: var(--bd-radius-s);
    background: var(--bd-color-secondary);
    color: var(--bd-color-body);
    box-shadow: none;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-preset-b {
    display: block;
    width: 100%;
    max-height: none;
    min-height: 0;
    padding: 1rem;
    background: transparent;
    color: var(--bd-color-body);
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-thumbnail {
    display: none;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-preset-b .brlbs-cmpnt-cb-main {
    display: grid;
    gap: 0.85rem;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
    background: transparent;
    color: var(--bd-color-body);
}

.bd-contact-form .md-raw .brlbs-cmpnt-container[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-content {
    display: grid;
    gap: 0.35rem;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-description {
    margin: 0;
    color: var(--bd-color-body);
    font-size: 0.92rem;
    line-height: 1.5;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-description strong {
    color: var(--bd-color-darker);
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-provider-toggle {
    justify-self: start;
    color: var(--bd-color-primary);
    font-size: 0.9rem;
    font-weight: 700;
    text-decoration: none;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-provider-toggle:hover {
    color: var(--bd-color-hover);
    text-decoration: underline;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-buttons {
    display: flex;
    flex-wrap: wrap;
    gap: 0.65rem;
    align-items: center;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-with-individual-styles[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: 42px;
    max-width: 100%;
    padding: 0.68rem 1rem;
    border: 1px solid var(--bd-color-primary);
    border-radius: var(--bd-radius-xs);
    background: var(--bd-color-primary);
    color: var(--bd-color-white);
    font-size: 0.9rem;
    font-weight: 700;
    line-height: 1.25;
    text-align: center;
    text-decoration: none;
    white-space: normal;
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-with-individual-styles[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-btn:hover {
    border-color: var(--bd-color-hover);
    background: var(--bd-color-hover);
    color: var(--bd-color-white);
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-with-individual-styles[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-btn[data-borlabs-cookie-accept-service] {
    border-color: var(--bd-color-border);
    background: var(--bd-color-white);
    color: var(--bd-color-primary);
}

body.bd-contact-page .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-with-individual-styles[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-btn[data-borlabs-cookie-accept-service]:hover {
    border-color: var(--bd-color-primary);
    background: var(--bd-color-white);
    color: var(--bd-color-hover);
}

.bd-contact-form .md-accept .md-label-static {
    display: block;
    margin: 1em 0 .4em;
    color: var(--bd-color-darker);
    font-size: var(--text-sm, 14px);
    font-weight: 600;
    letter-spacing: 0;
    line-height: var(--leading-tight, 1.2);
    text-transform: none;
}

.bd-contact-form .md-accept .wpcf7-list-item label {
    font-size: var(--text-sm, 14px);
    line-height: var(--leading-base, 1.5);
}

.bd-contact-form .md-accept .wpcf7-list-item-label {
    font-size: var(--text-sm, 14px);
    line-height: var(--leading-base, 1.5);
}

.bd-contact-form .md-submit {
    margin-top: 0.25rem;
}

.bd-contact-form .wpcf7-spinner {
    visibility: hidden;
    margin: 0 0 0 0.75rem;
}

.bd-contact-form .wpcf7-form.submitting .wpcf7-spinner {
    visibility: visible;
}

.bd-contact-form input[type="submit"],
.bd-contact-form button[type="submit"],
.bd-contact-form .md-submit input[type="submit"].wpcf7-form-control {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: auto;
    min-height: var(--bd-btn-min-h);
    padding: var(--bd-btn-py) var(--bd-btn-px);
    border: 2px solid var(--bd-color-primary);
    border-radius: var(--bd-btn-radius);
    background: var(--bd-color-primary);
    color: var(--bd-color-white);
    font: inherit;
    font-weight: var(--bd-btn-weight);
    box-shadow: none;
    cursor: pointer;
}

.bd-contact-form input[type="submit"]:hover,
.bd-contact-form button[type="submit"]:hover,
.bd-contact-form .md-submit input[type="submit"].wpcf7-form-control:hover {
    border-color: var(--bd-color-hover);
    background: var(--bd-color-hover);
}

.bd-contact-form .wpcf7 .wpcf7-response-output {
    margin: 1rem 0 0;
    border-width: 1px;
    border-radius: var(--bd-radius-xs);
    padding: 0.9rem 1rem;
}

.bd-contact-sidebar-office {
    display: grid;
    gap: 0.8rem;
}

.bd-contact-sidebar-office a {
    display: grid;
    grid-template-columns: 22px 1fr;
    gap: 0.65rem;
    align-items: start;
    word-break: break-word;
}

.bd-contact-sidebar-office i {
    margin-top: 0.2rem;
    color: var(--bd-color-primary);
}

@media (min-width: 1180px) {
    .bd-contact-form-panel {
        grid-template-columns: 1fr;
        align-items: start;
    }
}

@media (max-width: 768px) {
    .bd-contact-page .footer__social-bar {
        display: none;
    }


    .bd-contact-map-frame #map-wrapper-inner,
.bd-contact-map-frame #worldmap,
.bd-contact-map-frame #germanymap {
        height: 480px;
    }

    .bd-contact-map-frame #krautzberger-map-wrapper {
        padding: 0;
    }

    .bd-contact-directory .contacts-grid {
        grid-template-columns: 1fr;
    }

}

@media (max-width: 640px) {
    .bd-contact-form .md-form {
        grid-template-columns: 1fr;
    }

    .bd-contact-form .md-field,
.bd-contact-form .md-raw,
.bd-contact-form .md-accept,
.bd-contact-form .md-submit {
        grid-column: 1 / -1;
    }

    .bd-contact-form .md-raw .brlbs-cmpnt-container[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] {
        max-width: none;
    }

    .bd-contact-form .md-raw .brlbs-cmpnt-container[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-buttons {
        align-items: stretch;
        flex-direction: column;
    }

    .bd-contact-form .md-raw div.brlbs-cmpnt-container.brlbs-cmpnt-content-blocker.brlbs-cmpnt-with-individual-styles[data-borlabs-cookie-content-blocker-id="contact-form-seven-turnstile"] .brlbs-cmpnt-cb-btn {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .bd-contact-map-frame #map-wrapper-inner,
.bd-contact-map-frame #worldmap,
.bd-contact-map-frame #germanymap {
        height: 420px;
    }

}

.bd-contact-card { --bd-contact-placeholder-size: 2.4rem; }
