.nxt-gewinnspiel-element,
.nxt-gewinnspiel-unsubscribe-element {
    /* --min-height: 160px; */

    --content-max-width: 786px;
    --ui-base-form-gap: 40px;
    --text-color: #E9E9E9;
    --ui-controls-placeholder-color: #E9E9E9; 



    max-width: var(--content-max-width);

    margin: 0 auto;
}

.nxt-gewinnspiel-element {
    min-width: var(--content-max-width);
}

.nxt-gewinnspiel-element .nxt-field-error,
.nxt-gewinnspiel-unsubscribe-element .nxt-field-error,
.nxt-gewinnspiel-element .nxt-label-error .cb-box,
.nxt-gewinnspiel-unsubscribe-element .nxt-label-error .cb-box,
.nxt-gewinnspiel-element .nxt-label-error .cb-label,
.nxt-gewinnspiel-unsubscribe-element .nxt-label-error .cb-label {
    border-color: red !important;
    color: red !important;
}

.nxt-gewinnspiel-element .nxt-field-error::placeholder,
.nxt-gewinnspiel-unsubscribe-element .nxt-field-error::placeholder {
    color: red;
}

.nxt-gewinnspiel-element.scheme-light,
.nxt-gewinnspiel-unsubscribe-element.scheme-light {
    --color-1: #262626;
    --text-color: #262626;
    --body-bg: transparent;
    --ui-controls-border-color: #666;
    --text-color-medium: rgba(38, 38, 38, 0.64);
    --ui-controls-placeholder-color: rgba(38, 38, 38, 0.64);
}

.nxt-gewinnspiel-element .hidden,
.nxt-gewinnspiel-unsubscribe-element .hidden {
    display: none;
}

.nxt-gewinnspiel-element .tip {
    display: flex;
    align-items: center;
    gap: var(--page-basics-grid-gap, 40px);
    align-self: stretch;
    justify-content: center;
}

.nxt-gewinnspiel-element .tip input {
    display: flex;
    height: 80px !important;
    padding: 0 24px !important;
    align-items: center;
    align-self: stretch;
    border-radius: var(--ui-base-control-radius, 999px);
    border: 1px solid var(--ui-controls-border-color, #666);
    max-width: 235px;
    text-align: center;
    font-size: 32px;
}

.nxt-gewinnspiel-element .tip input::placeholder {
    letter-spacing: 0.2em;
    text-align: center;
}

.nxt-gewinnspiel-element .tip span {
    color: var(--ui-controls-placeholder-color, rgba(38, 38, 38, 0.64));
    text-align: right;
    font-size: 24px;
    font-style: normal;
    font-weight: 600;
    line-height: normal;
    flex-shrink: 0;
}

.nxt-gewinnspiel-element .form-wrapper,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper {
    text-align: center;
}

.nxt-gewinnspiel-element .form-wrapper .head {
    display: flex;
    align-items: center;
    align-content: center;
    gap: 40px var(--ui-base-form-gap, 40px);
    align-self: stretch;
}

.nxt-gewinnspiel-element .form-wrapper .title,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .title {
    color: var(--color-1);
    font-size: var(--h2-font-size);
    line-height: var(--h2-font-line-height);
    font-weight: 600;
    text-align: center;
}

.nxt-gewinnspiel-element .form-wrapper .image {
    height: 220px;
    width: auto;
    border-radius: 32px;
    border: 1px solid var(--ui-controls-border-color, #666);
    margin-top: var(--section-section-inner-spc-3x, 48px);
}

.nxt-gewinnspiel-element .nxt-gewinnspiel-message.success,
.nxt-gewinnspiel-element .nxt-gewinnspiel-message.error,
.nxt-gewinnspiel-element .form-wrapper .text,
.nxt-gewinnspiel-unsubscribe-element .nxt-gewinnspiel-message.success,
.nxt-gewinnspiel-unsubscribe-element .nxt-gewinnspiel-message.error,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .text {
    margin-top: var(--h2-margin-top);
    text-align: center;
    color: var(--text-color, #E9E9E9);

    font-size: var(--typography-text-text-large-font-size, 20px);
    font-weight: var(--text-body-body-font-weight, 400);
    line-height: var(--typography-text-text-large-line-height, 30px);
}

.nxt-gewinnspiel-element .form-wrapper form,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper form {
    margin-top: var(--section-section-inner-spc-3x);
    display: flex;

    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: var(--section-section-inner-spc-3x, 48px);
    margin: var(--section-section-inner-spc-3x) auto 0 auto;
}

.nxt-gewinnspiel-element .form-wrapper .form-collapse,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-collapse {
    display: flex;
    flex-direction: column;
    gap: var(--section-section-inner-spc-2x, 32px);
    width: 100%;
}

.nxt-gewinnspiel-element .form-wrapper .two-column {
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    gap: 40px var(--ui-base-form-gap, 40px);
    align-self: stretch;
}

.nxt-gewinnspiel-element .form-wrapper input[type="text"],
.nxt-gewinnspiel-element .form-wrapper input[type="email"],
.nxt-gewinnspiel-unsubscribe-element .form-wrapper input[type="text"],
.nxt-gewinnspiel-unsubscribe-element .form-wrapper input[type="email"] {
    display: flex;
    height: var(--ui-base-control-height, 40px);
    padding: 0 var(--ui-base-control-px, 16px);
    align-items: center;
    align-self: stretch;
    border-radius: var(--ui-base-control-radius, 999px);
    border: 1px solid var(--ui-controls-border-color, #666);
    background: var(--body-bg, #1C1C1C);
    color: var(--text-color, #E9E9E9);
}

.nxt-gewinnspiel-element .form-wrapper.active input[type="text"],
.nxt-gewinnspiel-element .form-wrapper.active input[type="email"],
.nxt-gewinnspiel-unsubscribe-element .form-wrapper.active input[type="text"],
.nxt-gewinnspiel-unsubscribe-element .form-wrapper.active input[type="email"] {
    border: 1px solid var(--ui-controls-border-color, #E9E9E9);
}

.nxt-gewinnspiel-element .form-wrapper .form-radio,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-radio {
    display: flex;
    justify-content: start;
    align-items: flex-start;
    gap: var(--ui-base-form-gap, 40px);
}

.nxt-gewinnspiel-element .form-wrapper .radio-title,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .radio-title {
    text-align: left;
    font-family: var(--text-body-font-family, Roboto);
    font-size: var(--typography-text-text-medium-font-size, 18px);
    font-style: normal;
    font-weight: var(--text-body-body-font-weight-bold, 800);
    line-height: var(--typography-text-text-medium-line-height, 27px);
    color: var(--text-color-medium, rgba(233, 233, 233, 0.64));
    margin-bottom: 25px;

}

.nxt-gewinnspiel-element .form-wrapper .checkbox-wrapper,
.nxt-gewinnspiel-element .form-wrapper .checkbox-wrapper a,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .checkbox-wrapper,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .checkbox-wrapper a {
    color: var(--text-color, #E9E9E9);
    align-self: start;
}

.nxt-gewinnspiel-element .form-wrapper .checkbox-wrapper a,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .checkbox-wrapper a {
    text-decoration: underline;
}

/* Hide native radio */
.nxt-gewinnspiel-element .form-wrapper .form-radio input[type="radio"],
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-radio input[type="radio"] {
    appearance: none;
    -webkit-appearance: none;
    margin: 0;

    /* Box */
    display: flex;
    width: 20px;
    height: var(--ui-base-radio-check-height, 20px);
    aspect-ratio: 1/1;
    flex-direction: column;
    justify-content: center;
    align-items: center;

    /* Border */
    border-radius: var(--ui-base-control-radius, 999px);
    border: 1px solid var(--ui-controls-border-color, #E9E9E9);

    cursor: pointer;
    position: relative;
}

/* Inner bubble */
.nxt-gewinnspiel-element .form-wrapper .form-radio input[type="radio"]::after,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-radio input[type="radio"]::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: transparent;
    transition: background 0.15s ease;
}

/* Active state - red bubble */
.nxt-gewinnspiel-element .form-wrapper .form-radio input[type="radio"]:checked::after,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-radio input[type="radio"]:checked::after {
    background: var(--colors-core-red, #FF2E08);
}

.nxt-gewinnspiel-element .form-wrapper .form-radio label,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-radio label {
    color: var(--text-color, #E9E9E9);
    font-size: var(--typography-text-text-medium-font-size, 18px);
    white-space: nowrap;
}

.nxt-gewinnspiel-element .form-wrapper .form-radio input[type="radio"]:checked+label,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-radio input[type="radio"]:checked+label {
    color: var(--text-color, #E9E9E9);
}

.nxt-gewinnspiel-element .form-wrapper .radio-wrapper,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper .radio-wrapper {
    display: flex;
    align-items: center;
    gap: var(--ui-base-radio-check-gap, 10px);
}

.nxt-gewinnspiel-element .form-wrapper input[type="submit"],
.nxt-gewinnspiel-unsubscribe-element .form-wrapper input[type="submit"] {
    border-radius: 999px;
    opacity: var(--buttons-button-inactive-opacity, 0.5);
    background: var(--buttons-primary-button-bg, #FF2E08);
    color: var(--buttons-primary-button-color, #FFF);
    text-align: center;
    font-size: var(--ui-base-ui-fs, 20px);
    height: var(--ui-buttons-button-standard-button-min-height, 64px);
    min-height: var(--ui-buttons-button-standard-button-min-height, 64px);
    padding: 0 var(--ui-buttons-button-standard-button-px, 40px);
    font-weight: var(--text-body-body-font-weight-bold, 800);
    cursor: pointer;
    border: none;
}

.nxt-gewinnspiel-element .form-wrapper input[type="submit"].active,
.nxt-gewinnspiel-unsubscribe-element .form-wrapper input[type="submit"].active {
    opacity: 1;
}


.cb-item {
    display: inline-flex;
    align-items: start;
    gap: 12px;
    cursor: pointer;
    user-select: none;
}

.cb-item input[type="checkbox"] {
    display: none;
}

.cb-box {
    width: 20px;
    height: 20px;
    border: 1px solid #666;
    background: transparent;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

.cb-box::after {
    content: '';
    display: block;
    width: 10px;
    height: 10px;
    background: transparent;
    transition: background 0.1s;
}

input:checked~.cb-box::after {
    background: #E24B4A;
}

.cb-label {
    font-family: Roboto;
    font-size: var(--typography-text-text-medium-font-size, 18px);
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    color: var(--text-color, #E9E9E9);
}


@media (max-width: 768px) {

    .nxt-gewinnspiel-element,
    .nxt-gewinnspiel-unsubscribe-element {
        --content-max-width: 500px;
        min-width: auto;
        --ui-base-form-gap: 32px;
    }

    .nxt-gewinnspiel-element .form-wrapper .head {
        flex-direction: column;
        align-items: start;
    }

    .nxt-gewinnspiel-element .tip {
        gap: var(--page-basics-grid-gap, 20px);
    }

    .nxt-gewinnspiel-element .tip span {
        font-size: 18px;
    }

    .nxt-gewinnspiel-element .tip input {
        height: 60px !important;
        padding: 0px 18px !important;
        font-size: 18px;
    }

    .nxt-gewinnspiel-element .form-wrapper .two-column {
        gap: 32px var(--ui-base-form-gap, 32px);
    }
}

@media (max-width: 550px) {

    .nxt-gewinnspiel-element,
    .nxt-gewinnspiel-unsubscribe-element {
        width: 100%;
        --typography-text-text-medium-font-size: 16px;
    }

    .nxt-gewinnspiel-element .form-wrapper .two-column {
        flex-direction: column;
    }

    .nxt-gewinnspiel-element .form-wrapper .form-radio,
    .nxt-gewinnspiel-unsubscribe-element .form-wrapper .form-radio {
        flex-direction: column;
        --ui-base-form-gap: 20px;
    }

}