/* Generated from public/css/anmeldeformular.css by the plugin builder. */
@font-face { font-family:'Nexa Regular'; src:url('fonts/Nexa-Regular.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap; }
.stepke-fa-wordpress-form, .kita-search-list {
  font-family: 'Nexa Regular',sans-serif;
}

.anmeldeformular .tab-body {
    padding: 15px 0;
}

.tabs-row {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
}

.tab-button>.tab-label {
    background-color: #ffffff;
    color: #adadad;
    float: left;
    border: none;
    outline: none;
    padding: 14px 16px;
    font-size: 17px;
    width: 100%;
    cursor: pointer;
}
.tab-button>.tab-label:not(.done, .active) {
    cursor: default;
}

.tab-button>.tab-label.done {
    background-color: #96c1ac;
    color: #f5f5f5;
}

.tab-button>.tab-label.selected {
    background-color: #026d60;
    color: #f5f5f5;
    cursor: pointer;
}

/* four steps do not fit next to each other on phones */
.tabs-row-compact {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width: 575.98px) {
    .tabs-row-compact {
        display: flex;
    }

    .tabs-row-compact .tab-button {
        flex: 0 0 auto;
    }

    .tabs-row-compact .tab-button:has(.selected) {
        flex: 1 1 auto;
        min-width: 0;
    }

    .tabs-row-compact .tab-label:not(.selected) .tab-text {
        position: absolute;
        width: 1px;
        height: 1px;
        overflow: hidden;
        clip: rect(0, 0, 0, 0);
        white-space: nowrap;
    }
}

.tab-body {
    display: none;
}

.tab-body.selected {
    display: block;
}

.date-list{
    line-height: 1.8;
}

.form-group {
    margin-bottom: 1rem;
}

.anmeldeformular h4{
    margin-top: 0.75em;
}

/* long single words like "AGB/Teilnahmebedingungen" must wrap inside the label column */
.tab-body dt {
    overflow-wrap: break-word;
    hyphens: auto;
    hyphenate-limit-chars: 8 4 4;
}

.border-danger {
    border-width: 2px !important;
    border-color: #dc3545 !important;
    border-style: solid !important;
}

.rounded {
    border-radius: 0.5rem !important;
}

fieldset.border,
fieldset.border-danger {
    border-width: 2px !important;
    border-style: solid !important;
    border-radius: 0.5rem !important;
}

fieldset.border-danger {
    border-color: #dc3545 !important;
    background-color: #fff6f6;
}

/* kita-suche.js positions the overlay inside the visible frame viewport. */
.kita-search-field {
    position: relative;
}

.kita-search-icon {
    position: absolute;
    top: 50%;
    left: 0.75rem;
    transform: translateY(-50%);
    color: #6c757d;
    pointer-events: none;
}

.kita-search-field .kita-search-input {
    padding-left: 2.25rem;
}

.kita-search-list {
    position: fixed;
    z-index: 1050;
    box-sizing: border-box;
    max-height: 320px;
    overflow-y: auto;
    overscroll-behavior: contain;
    margin: 0;
    padding: 4px 0;
    list-style: none;
    background: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.08);
}

.kita-search-list [role="option"] {
    padding: 8px 12px;
    cursor: pointer;
}

.kita-search-list [role="option"] small {
    display: block;
    color: #6c757d;
}

.kita-search-list [role="option"].active,
.kita-search-list [role="option"]:hover {
    background: #e6f2ef;
}

.kita-search-list [role="option"][aria-selected="true"] {
    font-weight: bold;
}

.kita-search-list .kita-search-hint {
    padding: 6px 12px;
    color: #6c757d;
    font-size: 0.9em;
}
