html {
    box-sizing: border-box;
    scroll-behavior: smooth;
    scroll-padding-block-start: 10px;
}

*, ::after, ::before {
    box-sizing: inherit;
}

.lo-protect-registration {
    width: min(100%, 1520px);
    height: 100dvh;
    margin: 0 auto;
    margin-top: 15px;
    color: #3B444D;
    font-size: 18px;
    font-weight: 400;
    font-family: "Plus Jakarta Sans", sans-serif;
    position: relative;
    display: grid;
    grid-template-columns: 1fr 1fr;
}
.lo-protect-form__error {
    color: #ff0000;
    background-color: #ffe6e6;
    padding: 8px 12px;
    border-radius: 4px;
    margin-top: 8px;
    font-size: 14px;
    border: 1px solid #ff0000;
}

@media screen and (max-width: 768px) {
    .lo-protect-registration {
        grid-template-columns: 1fr;

    }
}

.lo-protect-registration__wrapper--banner {
    background: center no-repeat url(/img/baner_desktop.png);
    background-size: cover;
}

@media screen and (max-width: 768px) {
    .lo-protect-registration__wrapper--banner {
        background: center no-repeat url(/img/baner_mobile.jpg);
    }
}

.lo-protect-header__body {
    grid-column: 1 / -1;
    grid-row: 1 / -1;
    z-index: 1;
}

.lo-protect-header__body {
    padding-block-start: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
}

@media screen and (max-width: 1024px) {
    .lo-protect-header__body {
        flex-direction: column;
        padding: clamp(1.5625rem, -0.2361rem + 8.9928vw, 3.125rem);
        justify-content: flex-start;
        gap: 10px;
    }
}

@media screen and (max-width: 768px) {
    .lo-protect-header__body {
        align-items: flex-start;
        min-height: 495px;
    }
}

.lo-protect-header__imgWrapper,
.lo-protect-header__contentWrapper {
    flex-basis: 49%;
    flex-shrink: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 35px;
}

@media screen and (max-width: 1024px) {

    .lo-protect-header__imgWrapper,
    .lo-protect-header__contentWrapper {
        padding: 10px;
    }
}


@media screen and (max-width: 768px) {

    .lo-protect-header__imgWrapper,
    .lo-protect-header__contentWrapper {
        align-items: flex-start;
        justify-content: flex-start;
    }
}

.lo-protect-header__img {
    width: min(100%, 220px);
}

.lo-protect-header__content {
    display: flex;
    flex-direction: column;
}

.lo-protect-header__content * {
    color: #fff;
}

.lo-protect-header__title {
    font-size: 28px;
    line-height: 1.2;
    font-weight: 500;
    margin: 0 0 35px 0;
}

.lo-protect-header__list {
    margin: 0 0 45px 0;
    padding-inline-start: 25px;
}

@media screen and (max-width: 768px) {
    .lo-protect-header__list {
        display: none;
    }
}

.lo-protect-header__listItem {
    font-size: 16px;
    line-height: 1.1;
    margin-block-end: 15px;
}

@media screen and (max-width: 598px) {
    #lo-protect .lo-protect-header__listItem {
        text-align: center;
        font-size: clamp(1rem, 0.7122rem + 1.4388vw, 1.25rem);
    }
}

.lo-protect-header__divider {
    border-top: 1px solid #fff;
    margin: 0;
    height: 85%;
}

@media screen and (max-width: 598px) {
    .lo-protect-header__divider {
        display: none;
    }
}

.lo-protect-registration__wrapper--body {
    background: #F7F4F1;
    padding: 5px 20px 35px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
}

.lo-protect-registration__wrapper--nextSteps {
    padding-block: 35px;
}

.lo-protect-form__header {
    margin-block-end: 35px;
    width: 100%;
}

.lo-protect-form_logoWrapper {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.lo-protect-form__body {
    margin-block-end: 35px;
}

.lo-protect-form__title {
    font-size: 32px;
    font-weight: 600;
    margin-block: 0 25px;
}

.lo-protect-form__content {
    font-size: 16px;
    line-height: 1.3;
    font-weight: 400;
    margin: 0;
}

.lo-protect-form__content--margin {
    margin-block-end: 20px;
}

.lo-protect-form__form {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: flex-start;
    flex-grow: 1;
}

.lo-protect-form__fieldset {
    border: none;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    gap: 15px 25px;
    padding-block-start: 12px;
    margin-block-end: 35px;
}

.lo-protect-form__setTitle {
    font-size: 16px;
    font-weight: 600;
}

.lo-protect-form__input {
    flex: 1 1 250px;
    padding: 15px;
    border-radius: 10px;
    border: 0.5px solid #3B444D;
    background: rgba(255, 255, 255, 0.00);
    color: #3B444D;
    font-size: 12px;
    font-weight: 400;
}

.lo-protect-form__buttonWrapper {
    flex: 1 1 250px;
    border: none;
    padding: 0;
    display: flex;
    align-items: center;
}

@media screen and (max-width: 425px) {
    .lo-protect-form__buttonWrapper {
        flex-wrap: wrap;
        gap: 8px;
    }
}

.lo-protect-form__input--button {
    flex: 0 0 auto;
    padding: 0;
    border: none;
}

@media screen and (max-width: 425px) {
    .lo-protect-form__input--button {
        flex: 1 1 auto;
    }
}
  .lo-protect-form__input--inputfile {
      opacity: 0;
      position: absolute;
      z-index: -1;
      pointer-events: none;
      /* Remove display: none to make it focusable */
  }
.lo-protect-form__input--button {
    content: "Załącz dowód zakupu";
    display: inline-block;
    background: #D8D8D8;
    width: fit-content;
    cursor: pointer;
    transition: all 350ms ease-in;
    border-radius: 10px;
    border: 0.5px solid #3B444D;
    padding: 15px;
    outline: none;
    white-space: nowrap;
    -webkit-user-select: none;
    font-size: 12px;
    font-weight: 400;
}

.lo-protect-form__input--button:hover {
    background: #3B444D;
    color: #fff;
}

.lo-protect-form__fileName {
    margin-left: 10px;
    font-size: 12px;
}

.lo-protect-form__consents {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 15px;
    margin-block-end: 35px;

}

.lo-protect-form__inputWrapper {
    display: flex;
    gap: 8px;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.2;
    margin-inline-start: 5px;
}

.lo-protect-form__inputWrapper * {
    cursor: pointer;
}

.lo-protect-form__submitBtnWrapper {
    width: 100%;
}

.lo-protect-form__submitBtn {
    display: block;
    border-radius: 41px;
    border: 0.5px solid #3B444D;
    background: #3B444D;
    color: #F7F4F1;
    text-align: center;
    font-family: "Plus Jakarta Sans";
    font-size: 14px;
    font-weight: 600;
    line-height: 1;
    padding: 10px 35px 12px;
    margin-inline: auto 5px;
    cursor: pointer;
    transition: all 350ms ease-in;
}

.lo-protect-form__submitBtn:hover {
    background: #F7F4F1;
    color: #3B444D;
}

@media screen and (max-width: 468px) {
    .lo-protect-registration__wrapper--surveyBanner {
        display: none;
    }
}

.lo-protect-registration__wrapper--survey {
    align-items: flex-start;

}

.lo-protect-form__form--survey {
    width: 100%;
}

.lo-protect-form__fieldset--survey {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.lo-protect-form__input--survey {
    flex: none;
    width: min(100%, 320px);
}

.lo-protect-form__submitBtnWrapperr--survey {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 20px;
    width: 100%;
    flex-wrap: wrap-reverse;
}

.lo-survey-btn {
    margin-inline: 0;
    flex: 1 1 270px;
}

.lo-survey-btn__cancel {
    color: #3B444D;
    background: #F7F4F1;
    transition: all 350ms ease-in;
}

.lo-survey-btn__cancel:hover {
    color: #F7F4F1;
    background: #3B444D;
}

.lo-protect-thankyou {
    flex-grow: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}

.lo-protect-thankyou__body {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 38px;
}

.lo-protect-thankyou__title,
.lo-protect-thankyou__content {
    margin: 0;
}

.lo-protect-thankyou__btn {
    margin: 0;
}