
.wizard {
    /* max-width: 96ch; /* 64ch */
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 3.125rem;
    scroll-margin-top: 80px; /* adapt scrollling position*/
}

.wizard .wizard__title {
    margin: 1rem 0 .75rem
}

/* Removed ".wizard " prefix so this works anywhere */
.wizard__description {
    position: relative;
    border-radius: 2rem;
    border: 3px solid #e40422;
    padding: 1.25rem 2rem;
    margin: 1.5rem 0 2.5rem;
    font-weight: 700
}

/* Removed ".wizard " prefix so this works anywhere */
.wizard__description .wizard__bubble-arrow {
    position: absolute;
    top: -26px; /* bottom */
    left: 2.5rem;
    transform: rotate(180deg);
}

.wizard .wizard__options-container {
    display: flex;
    flex-direction: column;
    gap: .75rem
}

.wizard .wizard__option-wrapper {
    display: flex;
    align-items: center;
    background-color: #f5f5f5
}

.wizard .wizard__option-wrapper:has(:checked) {
    color: #fff;
    background-color: #454545e6
}

.wizard .wizard__option-wrapper:has(:focus-visible) {
    outline: 3px solid #0076dd
}

.wizard .wizard__option-wrapper .wizard__option-label {
    display: flex;
    align-items: flex-start;
    flex-grow: 1;
    cursor: pointer;
    margin: 0;
    padding: .6rem .5rem;
    font-weight: 700
}

.wizard .wizard__option-wrapper .wizard__option-input {
    margin-top: .19rem;
    margin-right: .5rem
}

.wizard .wizard__additional-content p,
.wizard .wizard__additional-content ul,
.wizard .wizard__additional-content ol {
    margin-bottom: 1rem
}

.wizard .wizard__buttons-container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
    gap: .75rem;
    margin-top: 1.5rem;
    padding-top: 1.5rem;
    border-top: 1px solid #ddd
}

/*.wizard .wizard__buttons-container:has(.wizard__button-wrapper:only-child) {
    justify-content: flex-end
}*/

.wizard .wizard__buttons-container:has(.wizard__button-wrapper:only-child),
.wizard .wizard__buttons-container:has(.wizard__buttons-group--main:only-child) {
    justify-content: flex-end;
}

.wizard .wizard__buttons-group--main {
    display: flex;
    flex-wrap: wrap; /* Hilfreich für Mobile */
    gap: .75rem; /* Setzt den Abstand zwischen "Zurück" und "Weiter" */
}

/*.wizard .wizard__buttons-container>.wizard__button-wrapper {
    display: inline-flex;
    min-height: 2.75rem
}*/

.wizard .wizard__buttons-container .wizard__button-wrapper {
    display: inline-flex;
    min-height: 2.75rem;
}

.wizard .wizard__buttons-container>.wizard__button-wrapper--reset {
    flex-basis: 100%;
    order: 1
}

@media screen and (min-width: 430px) {
    .wizard .wizard__buttons-container>.wizard__button-wrapper--reset {
        flex-basis: initial;
        order: initial;
        margin-right: auto
    }
}


.wizard-stepper {
    --padding-x: .5rem;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-left: var(--padding-x);
    padding-right: var(--padding-x);
    margin-top: 2rem;
    margin-bottom: 3.5rem
}

.wizard-stepper .wizard-stepper__line {
    position: absolute;
    height: 2px;
    background-color: #ddd;
    left: var(--padding-x);
    right: var(--padding-x)
}

.wizard-stepper .wizard-stepper__step {
    position: relative;
    z-index: 10
}

.wizard-stepper .wizard-stepper__step .wizard-stepper__step-count {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    background-color: #ddd;
    border: 2px solid #ddd;
    outline: 4px solid white;
    font-weight: 700;
    font-size: 18px;
    border-radius: 100%;
    width: 2rem;
    height: 2rem
}

.wizard-stepper .wizard-stepper__step .wizard-stepper__step-label {
    display: none
}

.wizard-stepper .wizard-stepper__step.wizard-stepper__step--complete .wizard-stepper__step-count {
    color: #454545;
    background-color: #b3ccc1;
    border-color: #b3ccc1
}

.wizard-stepper .wizard-stepper__step.wizard-stepper__step--active .wizard-stepper__step-count {
    color: #454545;
    background-color: #fff;
    border-color: #454545
}

.wizard-stepper .wizard-stepper__step.wizard-stepper__step--active .wizard-stepper__step-label {
    display: flex;
    position: absolute;
    white-space: nowrap;
    top: 2.5rem;
    left: 50%;
    transform: translate(-50%)
}