/* =========
   Legend Layout
   ========= */

/* Legend NICHT hart als flex erzwingen, sonst wird alles (inkl Pflichtfeld) "komisch".
   Wir machen inline-flow und setzen nur das Icon sauber daneben. */
.bkk-formulare-content .gform-theme fieldset > legend.gfield_label {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    flex-wrap: wrap;
}

/* =========
   Help Button (super robuster Reset gegen GF Button-Styles)
   ========= */

.bkk-formulare-content .gform-theme button.bkk-help {
    all: unset;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    cursor: pointer;
    user-select: none;
    position: relative;
    flex: 0 0 auto;
    vertical-align: middle;
}

/* =========
   Icon
   ========= */
.bkk-formulare-content .gform-theme .bkk-help__icon {
    width: 22px;
    height: 22px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgb(var(--bkk-form-color-7-rgb) / 1);
    border: 1.5px solid rgb(var(--bkk-form-color-1-rgb) / 0.55);
    color: rgb(var(--bkk-form-color-1-rgb) / 0.95);
    font-weight: 700;
    font-size: 14px;
    line-height: 1;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease, box-shadow .15s ease;
}

/* Hover */
.bkk-formulare-content .gform-theme button.bkk-help:hover .bkk-help__icon {
    border-color: rgb(var(--bkk-form-color-1-rgb) / 0.85);
}

/* Aktiv */
.bkk-formulare-content .gform-theme button.bkk-help.is-open .bkk-help__icon {
    background: rgb(var(--bkk-form-color-4-rgb) / 0.14);
    border-color: rgb(var(--bkk-form-color-4-rgb) / 1);
    color: rgb(var(--bkk-form-color-1-rgb) / 1);
}

/* Tastatur-Fokus */
.bkk-formulare-content .gform-theme button.bkk-help:focus-visible .bkk-help__icon {
    border-color: rgb(var(--bkk-form-color-4-rgb) / 1);
    box-shadow: 0 0 0 3px rgb(var(--bkk-form-color-4-rgb) / 0.30);
    background: rgb(var(--bkk-form-color-4-rgb) / 0.14);
    color: rgb(var(--bkk-form-color-1-rgb) / 1);
}

/* =========
   Tooltip
   ========= */
.bkk-formulare-content .gform-theme .bkk-help__tooltip {
    position: absolute;
    top: 50%;
    left: calc(100% + 10px);
    transform: translateY(-50%);
    min-width: 220px;
    max-width: 340px;
    padding: 10px 12px;
    border-radius: 12px;
    background: #fff;
    border: 1px solid rgb(var(--bkk-form-color-6-rgb) / 0.8);
    box-shadow: 0 8px 24px rgb(0 0 0 / 0.12);
    color: #0b1220;
    font-size: 14px;
    line-height: 1.35;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .12s ease, visibility .12s ease;
    z-index: 9999;
}

/* Pfeil */
.bkk-formulare-content .gform-theme .bkk-help__tooltip::before {
    content: "";
    position: absolute;
    top: 50%;
    left: -6px;
    transform: translateY(-50%) rotate(45deg);
    width: 12px;
    height: 12px;
    background: #fff;
    border-left: 1px solid rgb(var(--bkk-form-color-6-rgb) / 0.8);
    border-bottom: 1px solid rgb(var(--bkk-form-color-6-rgb) / 0.8);
}

/* Hover & Open */
.bkk-formulare-content .gform-theme button.bkk-help:hover .bkk-help__tooltip,
.bkk-formulare-content .gform-theme button.bkk-help.is-open .bkk-help__tooltip,
.bkk-formulare-content .gform-theme button.bkk-help:focus-visible .bkk-help__tooltip {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

/* Original-Description ausblenden */
.bkk-formulare-content .gform-theme .gfield_description.bkk-moved-description {
    display: none !important;
}

/* Theme-Kill */
.bkk-formulare-content .gform-theme .bkk-help {
    background: none !important;
    box-shadow: none !important;
}

/* Hard Reset nur im Legend */
.bkk-formulare-content .gform-theme legend .bkk-help,
.bkk-formulare-content .gform-theme legend button.bkk-help,
.bkk-formulare-content .bkk-help {
    appearance: none !important;
    -webkit-appearance: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
    margin-left: 10px !important;
    padding-inline-start: 0 !important;
    padding-inline-end: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: 22px !important;
    width: 22px !important;
    line-height: 22px !important;
    font-size: 0 !important;
    vertical-align: middle !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    cursor: pointer !important;
}

/* Icon wieder sichtbar machen */
.bkk-formulare-content .gform-theme legend button.bkk-help .bkk-help__icon {
    font-size: 14px !important;
    line-height: 1 !important;
}

.bkk-formulare-content, .bkk-formulare-info {
    z-index: 5000;
}

@media (min-width: 1025px) {
    .bkk-formulare-content .bkk-help {
        display: none !important;
    }
}
