.input {
    box-shadow: 0 1px 2px 0 hsla(220, 29%, 5%, 0.05);
}
input[type='number'] {
    -moz-appearance: textfield;
}
input::-webkit-outer-spin-button,
input::-webkit-inner-spin-button {
    -webkit-appearance: none;
}
.control.has-icons-left .icon:first-child {
    width: var(--system-icon-dimensions);
    margin-right: .5rem;
    margin-left: .875rem;
}
.control.has-icons-left .input {
    padding-left: calc(var(--system-control-height) - 2px);
}
.control.has-icons-left .input:focus {
    padding-left: calc(var(--system-control-height) - 3px);
}
.control.has-icons-left .input:focus-visible {
    padding-left: calc(var(--system-control-height) - 3px);
}
div.multiple-checkbox {
    gap: .5rem;
    padding: .25rem;
    white-space: nowrap;
}
div.multiple-checkbox,
div.multiple-checkbox > * {
    border-width: var(--system-border-width);
    border-style: solid;
}
div.horizontal-checkboxes label,
div.horizontal-checkboxes > *,
div.multiple-checkbox,
div.multiple-checkbox label,
div.multiple-checkbox > * {
    display: inline-flex;
    align-items: center;
}
div.horizontal-checkboxes {
    display: flex;
    align-items: center;
    gap: 1rem;
    flex-wrap: wrap;
}
div.multiple-checkbox {
    border-radius: .625rem;
    border-color: var(--system-border-color-weak);
    background-color: var(--system-color-gray-50);
}
div.multiple-checkbox > * {
    border-radius: var(--system-border-radius-small);
    border-color: var(--system-border-color);
    background-color: var(--system-color-white);
    padding: .25rem .375rem;
    color: var(--system-color-gray-500);
}
div.horizontal-checkboxes label {
    color: var(--system-color-gray-700);
}
div.horizontal-checkboxes > div,
div.multiple-checkbox > div {
    height: 2rem;
}
div.horizontal-checkboxes label,
div.multiple-checkbox label {
    height: var(--system-font-size-normal);
    line-height: 1;
    gap: .5rem;
    user-select: none;
    cursor: pointer;
}
input[type="checkbox"],
input.multiple-checkbox {
    appearance: none;
    height: var(--system-font-size-normal);
    width: var(--system-font-size-normal);
    border: var(--system-border-width) solid var(--system-border-color);
    border-radius: .25rem;
    cursor: pointer;
    position: relative;
    background-color: var(--system-color-white);
    transition: all var(--bulma-duration);
}
input[type="checkbox"]:checked,
input.multiple-checkbox:checked {
    background-color: var(--system-color-primary);
    border-color: var(--system-color-primary);
}
input[type="checkbox"]:checked:before,
input.multiple-checkbox:checked:before {
    content: '\ea10';
    position: absolute;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--system-color-white);
    font-family: "Lukoil CP Icons", serif !important;
    font-size: .5rem;
    font-weight: var(--system-font-weight-semibold);
}
.field .control,
.field .control .input,
.field .control .select {
    width: 100%;
}
.field label,
.field .help,
.field .error {
    font-size: var(--system-font-size-small);
    font-weight: var(--system-font-size-normal);
}
.field label {
    --bulma-label-spacing: var(--system-input-spacing);
    color: var(--system-color-black);
    text-wrap: nowrap;
}
.field .help,
.field .error {
    margin-top: var(--system-input-spacing);
}
.field .error.is-danger {
    color: var(--system-color-danger);
}
.select:not(.is-multiple):not(.is-loading):not(.is-disabled)::after {
    display: none;
}

.custom-radio input[type="radio"] {
    position: absolute;
    opacity: 0;
    width: 0;
    height: 0;
}

.custom-radio .radio {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
    user-select: none;
    padding: 0.25rem 0.5rem;
}

.custom-radio .fake-radio {
    width: 1.25em;
    height: 1.25em;
    border-radius: 999px;
    border: 1px solid #4a4a4a;
    margin-right: 0.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.15s ease-in-out;
    background-clip: padding-box;
}

.custom-radio input[type="radio"]:checked + .fake-radio {
    border: 0.370rem solid var(--system-color-primary);
}

.custom-radio .radio-label {
    vertical-align: middle;
}
.input.is-disabled {
    pointer-events: none;
    background-color: #eaeaea;
}

/* Поле пароля с кнопкой показа/скрытия */
.password-control {
    position: relative;
}
.password-control input {
    padding-right: 2.75rem;
}
.password-toggle-btn {
    position: absolute;
    right: .75rem;
    top: 50%;
    transform: translateY(-50%);
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    display: flex;
    align-items: center;
    color: var(--system-color-gray-400);
}
.password-toggle-btn:hover {
    color: var(--system-color-gray-600);
}
.password-toggle-btn svg {
    width: 1.25rem;
    height: 1.25rem;
}
.password-toggle-btn .eye-closed {
    display: none;
}
.password-toggle-btn.is-active .eye-open {
    display: none;
}
.password-toggle-btn.is-active .eye-closed {
    display: block;
}
::-ms-reveal {
    display: none;
}  /* Убирает автоматически добавляемый глаз в Edge */

/* Инпут для ввода телефона с выбором кода страны */
.phone-input-wrapper {
    display: flex !important;
    flex-direction: row !important;
    align-items: center;
    border: var(--bulma-control-border-width) solid var(--bulma-input-border-color, var(--bulma-border));
    border-radius: var(--bulma-input-radius);
    background: var(--bulma-input-background-color, #fff);
    box-shadow: 0 1px 2px 0 hsla(220, 29%, 5%, 0.05);
    transition: border-color 0.2s, box-shadow 0.2s;
}
.phone-input-wrapper input.input {
    border: none !important;
}
.phone-input-wrapper .choices {
    flex-shrink: 0;
    border-right: var(--bulma-control-border-width) solid var(--bulma-input-border-color, var(--bulma-border));
}
.phone-input-wrapper .choices__inner {
    border: none !important;
    min-width: 105px;
    text-align: right;
}
