/* Wygląd formularza WS Form w bloku formularza: kolory i proporcje dawnego Gravity Forms. */

.acf-block-form .wsf-form {
    --galina-orange: #d6682b;
    --galina-text: #565668;
    --galina-border: #8c9687;
    --galina-error: #ff5151;
    --galina-arrow-width: 3.5rem;

    --wsf-form-grid-gap: clamp(1rem, 2.2vw, 1.75rem);
    --wsf-field-color: var(--galina-text);
    --wsf-field-color-background: #fff;
    --wsf-field-color-placeholder: var(--galina-text);
    --wsf-field-font-size: clamp(1rem, 1.5vw, 1.125rem);
    --wsf-field-font-weight: 600;
    --wsf-field-line-height: 1.2;
    --wsf-field-padding-vertical: clamp(.75rem, 1.4vw, 1.125rem);
    --wsf-field-padding-horizontal: clamp(.75rem, 1.4vw, 1.25rem);
    --wsf-field-border-color: var(--galina-border);
    --wsf-field-border-color-hover: var(--galina-border);
    --wsf-field-border-color-focus: var(--galina-text);
    --wsf-field-border-color-invalid: var(--galina-error);
    --wsf-field-color-hover: var(--galina-text);
    --wsf-field-color-focus: var(--galina-text);
    --wsf-field-color-background-hover: #fff;
    --wsf-field-color-background-focus: #fff;
    --wsf-field-border-radius: 0;
    --wsf-field-box-shadow-color-focus: rgba(214, 104, 43, .35);
    --wsf-field-invalid-feedback-color: var(--galina-error);
    --wsf-field-select-padding-right: calc(var(--galina-arrow-width) + .75rem);

    --wsf-field-checkbox-size: 1rem;
    --wsf-field-checkbox-color-background: #fff;
    --wsf-field-checkbox-checked-color-background: var(--galina-orange);
    --wsf-field-checkbox-border-radius: 0;

    --wsf-field-texteditor-color: #fff;
    --wsf-field-texteditor-font-size: .8125rem;
    --wsf-field-texteditor-font-weight: 600;
    --wsf-field-texteditor-p-margin-bottom: 0;

    --wsf-field-button-color: #fff;
    --wsf-field-button-color-hover: #fff;
    --wsf-field-button-color-focus: #fff;
    --wsf-field-button-color-background: transparent;
    --wsf-field-button-color-background-hover: transparent;
    --wsf-field-button-color-background-focus: transparent;
    --wsf-field-button-primary-color: #fff;
    --wsf-field-button-primary-color-hover: #fff;
    --wsf-field-button-primary-color-focus: #fff;
    --wsf-field-button-primary-color-background: transparent;
    --wsf-field-button-primary-color-background-hover: transparent;
    --wsf-field-button-primary-color-background-focus: transparent;
    --wsf-field-button-primary-border-color: transparent;
    --wsf-field-button-primary-border-color-hover: transparent;
    --wsf-field-button-primary-border-color-focus: transparent;
    --wsf-field-button-border-width: 0;
    --wsf-field-button-font-size: clamp(1.25rem, 2vw, 1.5rem);
    --wsf-field-button-font-weight: 600;

    width: 100%;
}

/* Pola tekstowe: gruby pomarańczowy dolny border i delikatny cień */
.acf-block-form .wsf-form input.wsf-field:not([type=checkbox]):not([type=file]),
.acf-block-form .wsf-form textarea.wsf-field {
    box-shadow: 2px 2px .25rem rgba(0, 0, 0, .16);
}

/* WS Form ustawia na hover i focus cały border, więc selektor musi być od niego silniejszy */
.acf-block-form.acf-block-form .wsf-form.wsf-form input.wsf-field:not([type=checkbox]):not([type=file]),
.acf-block-form.acf-block-form .wsf-form.wsf-form textarea.wsf-field.wsf-field {
    border-bottom: .625rem solid var(--galina-orange);
}

.acf-block-form .wsf-form input.wsf-field::placeholder,
.acf-block-form .wsf-form textarea.wsf-field::placeholder {
    color: var(--galina-text);
    opacity: 1;
}

/* Lista rozwijana: pomarańczowe pole ze strzałką */
.acf-block-form .wsf-form .wsf-field-wrapper[data-type=select] {
    display: flex;
    flex-wrap: wrap;
}

.acf-block-form .wsf-form .wsf-field-wrapper[data-type=select] > * {
    flex: 0 0 100%;
}

.acf-block-form .wsf-form select.wsf-field {
    box-shadow: 2px 2px .25rem rgba(0, 0, 0, .16);
}

.acf-block-form .wsf-form select.wsf-field:not([multiple]):not([size]):not([data-wsf-select2]) + span.wsf-select-arrow {
    align-self: stretch;
    flex: 0 0 var(--galina-arrow-width);
    background: var(--galina-orange) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round' d='M2 2l10 10L22 2'/%3E%3C/svg%3E") center / 1.5rem auto no-repeat;
    border: 0;
    margin: 2px 2px 2px calc(-1 * var(--galina-arrow-width) - 2px);
    right: 0;
    top: 0;
    width: var(--galina-arrow-width);
}

/* Na telefonie dłuższy placeholder RU musi się zmieścić obok strzałki */
@media (max-width: 575px) {
    .acf-block-form .wsf-form {
        --galina-arrow-width: 2.75rem;
    }

    .acf-block-form .wsf-form select.wsf-field {
        font-size: .9375rem;
    }
}

/* Dolna część formularza i wiadomość na pełną wysokość lewej kolumny */
.acf-block-form .wsf-form .galina-form__message > .wsf-fields {
    height: 100%;
}

.acf-block-form .wsf-form .galina-form__message .wsf-field-wrapper {
    height: calc(100% - var(--wsf-form-grid-gap));
}

.acf-block-form .wsf-form .galina-form__message textarea.wsf-field {
    display: block;
    height: 100%;
    min-height: 10.75rem;
    resize: none;
}

/*
 * Pole pliku: ramkę, napis i przycisk w języku strony daje tekst pomocy pola.
 * Natywne etykiety mają język przeglądarki, więc input jest przezroczysty i leży nad ramką:
 * dalej obsługuje kliknięcie, klawiaturę i upuszczanie plików.
 */
.acf-block-form .wsf-form .galina-form__upload {
    position: relative;
}

/* Napis wisi nad ramką, żeby ramka i select obok zaczynały się na tej samej wysokości */
.acf-block-form .wsf-form .galina-form__note {
    left: calc(var(--wsf-form-grid-gap) / 2);
    margin: 0;
    padding: 0;
    position: absolute;
    top: -1.5rem;
    width: auto;
}

@media (max-width: 767px) {
    .acf-block-form .wsf-form .galina-form__upload {
        margin-top: .75rem;
    }
}

.acf-block-form .wsf-form .wsf-field-wrapper[data-type=file] {
    --galina-file-height: 7.5rem;

    display: flex;
    flex-direction: column;
    position: relative;
}

.acf-block-form .wsf-form input[type=file].wsf-field {
    cursor: pointer;
    height: var(--galina-file-height);
    left: calc(var(--wsf-form-grid-gap) / 2);
    opacity: 0;
    padding: 0;
    position: absolute;
    top: 0;
    width: calc(100% - var(--wsf-form-grid-gap));
}

.acf-block-form .wsf-form .wsf-field-wrapper[data-type=file] .wsf-help {
    align-items: center;
    border: 1px dashed rgba(255, 255, 255, .6);
    border-radius: .25rem;
    color: #fff;
    display: flex;
    flex-direction: column;
    font-size: 1rem;
    gap: .5rem;
    height: var(--galina-file-height);
    justify-content: center;
    margin: 0;
    order: -1;
    padding: .5rem 1rem;
    text-align: center;
    transition: background-color .2s ease, border-color .2s ease;
}

.acf-block-form .wsf-form input[type=file].wsf-field:hover ~ .wsf-help,
.acf-block-form .wsf-form input[type=file].wsf-field:focus ~ .wsf-help,
.acf-block-form .wsf-form .wsf-field-wrapper.galina-file--dragover .wsf-help {
    background-color: rgba(214, 104, 43, .2);
    border-color: #fff;
}

.acf-block-form .wsf-form input[type=file].wsf-field:focus-visible ~ .wsf-help {
    outline: 2px solid #fff;
    outline-offset: 2px;
}

.acf-block-form .wsf-form .galina-file__button {
    background: #fff;
    border: 1px solid var(--galina-border);
    color: var(--galina-text);
    line-height: 1.2;
    padding: .375rem .75rem;
    transition: background-color .2s ease, color .2s ease;
}

.acf-block-form .wsf-form input[type=file].wsf-field:hover ~ .wsf-help .galina-file__button,
.acf-block-form .wsf-form input[type=file].wsf-field:focus ~ .wsf-help .galina-file__button {
    background: var(--galina-orange);
    border-color: var(--galina-orange);
    color: #fff;
}

.acf-block-form .wsf-form .galina-file__names {
    font-size: .8125rem;
    line-height: 1.2;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

/* Zgoda */
.acf-block-form .wsf-form .galina-form__consent {
    margin-top: 1rem;
}

/* Miejsce po lewej od zgody na widget Turnstile (300 x 65 px) */
@media (min-width: 992px) {
    .acf-block-form .wsf-form .galina-form__turnstile {
        margin-top: 1rem;
        min-height: 4.0625rem;
    }
}

/* Widget Turnstile nie jest polem HTML, więc WS Form sam nie pokaże jego komunikatu */
.acf-block-form .wsf-form.wsf-validated .wsf-field[data-turnstile]:not(.wsf-valid) ~ .wsf-invalid-feedback {
    display: block;
}

.acf-block-form .wsf-form .galina-form__consent label.wsf-label {
    color: #fff;
    font-size: .8125rem;
    font-weight: 400;
    line-height: 1.5;
}

.acf-block-form .wsf-form .galina-form__consent a {
    color: var(--galina-orange);
}

/* Przycisk: wygląd daje klasa crunch-button motywu */
.acf-block-form .wsf-form .galina-form__footer {
    margin-top: 2rem;
}

.acf-block-form .wsf-form .wsf-button {
    min-width: 12.75rem;
}

.acf-block-form .wsf-form .wsf-invalid-feedback {
    font-size: .8125rem;
}
