input:disabled, input:disabled + p, input:disabled + label, textarea:disabled, select:disabled, option:disabled, button:disabled {
    opacity: .7;
    cursor: not-allowed;
}

.inputText {
    font-family: 'Lato', sans-serif;
    border: var(--borderHeightL) var(--borderStyle) var(--black);
    border-radius: var(--borderRadius);
    background-color: var(--white);
    color: var(--black);
    cursor: text;
    outline: none;
    width: 100%;
    padding: 10px;
    margin: 2px auto;
    transition: border-color var(--durationS) var(--course);
}

.inputText:hover, .inputText:active, .inputText:focus {
    border-color: var(--primaryColor);
    transition: border-color var(--durationS) var(--course);
}

.inputText, .inputFile, .textarea {
    font-size: clamp(10px, 1dvw, 14px);
}

.textarea {
    height: clamp(200px, 20dvw, 280px);
}

.checkbox, .radio {
    height: clamp(12px, 3dvw, 14px);
    width: clamp(12px, 3dvw, 14px);
}

.checrad {
    margin: 2px 0;
}

input[type="number"], input[type="date"] {
    appearance: none;
}

.inputFile {
    display: flex;
    align-items: center;
    position: relative;
    margin: 2px auto;
    background-color: var(--white);
    color: var(--black);
    border: var(--borderHeightL) var(--borderStyle) var(--black);
    border-radius: var(--borderRadius);
    overflow: hidden;
    cursor: pointer;
    outline: none;
    width: 100%;
    height: 106px;
    padding: 10px;
    font-weight: bold;
    transition: border-color var(--durationS) var(--course);
}

.inputImage {
    display: block;
    position: absolute;
    width: 100px;
    height: 100px;
    top: 0;
    right: 0;
    object-fit: cover;
}

.inputFile:hover, .inputFile:active, .inputFile:focus {
    border-color: var(--primaryColor);
    transition: border-color var(--durationS) var(--course);
}

input[type="file"] {
    width: 0;
    height: 0;
}

.checkbox, .radio {
    appearance: none;
    background: var(--white);
    border: var(--borderHeightL) var(--borderStyle) var(--black);
    cursor: pointer;
    margin: 2px 10px 2px 0;
    outline: none;
    transition: background var(--durationS) var(--course), border-color var(--durationS) var(--course);
}

.inputBlock {
    text-align: center;
}

.inputBlockPlaceholder {
    margin-top: 2px;
}

.inputBlockValue {
    display: flex;
    align-content: center;
    justify-content: center;
    text-align: center;
}

.inputBlockValue:has(.checkbox) {
    justify-content: flex-start;
}

.inputBlockFeedback {
    margin-bottom: 2px;
}

.checkbox {
    border-radius: var(--borderRadius);
}

.radio {
    border-radius: 50%;
}

.checkbox:hover, .checkbox:active, .checkbox:focus, .radio:hover, .radio:active, .radio:focus {
    background: var(--white);
    border-color: var(--primaryColor);
    transition: background var(--durationS) var(--course), border-color var(--durationS) var(--course);
}

.checkbox:checked, .radio:checked {
    background: var(--primaryColor);
    border: var(--borderHeightL) var(--borderStyle) var(--primaryColor);
    transition: background var(--durationS) var(--course), border-color var(--durationS) var(--course);
}

.textarea {
    font-family: 'Lato', sans-serif;
    background-color: var(--white);
    color: var(--black);
    cursor: text;
    outline: none;
    width: 100%;
    padding: 10px;
    margin: 2px auto;
    resize: none;
    border: var(--borderHeightL) var(--borderStyle) var(--black);
    border-radius: var(--borderRadius);
    transition: border-color var(--durationS) var(--course);
}

.textarea:hover, .textarea:active, .textarea:focus {
    border: var(--borderHeightL) var(--borderStyle) var(--primaryColor);
    transition: border-color var(--durationS) var(--course);
}

button[type="submit"] {
    outline: none;
}

.grecaptcha-badge {
    display: none !important;
}

@media (prefers-color-scheme: dark) {
    .inputText {
        border-color: var(--blackD);
        background-color: var(--whiteD);
        color: var(--blackD);
    }

    .inputText:hover, .inputText:active, .inputText:focus {
        border-color: var(--primaryColorD);
    }

    .inputFile {
        border-color: var(--blackD);
        background-color: var(--whiteD);
        color: var(--blackD);
    }

    .inputFile:hover, .inputFile:active, .inputFile:focus {
        border-color: var(--primaryColorD);
    }

    .checkbox, .radio {
        border-color: var(--blackD);
        background: var(--whiteD);
    }

    .checkbox:hover, .checkbox:active, .checkbox:focus, .radio:hover, .radio:active, .radio:focus {
        border-color: var(--primaryColorD);
        background: var(--whiteD);
    }

    .checkbox:checked, .radio:checked {
        border-color: var(--primaryColorD);
        background: var(--primaryColorD);
    }

    .textarea {
        border-color: var(--blackD);
        background: var(--whiteD);
        color: var(--blackD);
    }

    .textarea:hover, .textarea:active, .textarea:focus {
        border-color: var(--primaryColorD);
    }
}