.form-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.form-field {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.form-field__label {
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--color-text);
}

.input,
.textarea,
.select {
    width: 100%;
    min-height: 48px;
    padding: 13px 15px;
    border: 1px solid rgba(36, 29, 24, 0.1);
    border-radius: 14px;
    background: rgba(255, 255, 255, 0.84);
    color: var(--color-text);
    outline: none;
    transition:
        border-color var(--transition-base),
        box-shadow var(--transition-base),
        background-color var(--transition-base);
}

.input::placeholder,
.textarea::placeholder {
    color: var(--color-text-soft);
}

.input:focus,
.textarea:focus,
.select:focus {
    border-color: rgba(216, 91, 69, 0.28);
    box-shadow: 0 0 0 4px var(--focus-ring);
    background: #ffffff;
}

.select {
    appearance: none;
    cursor: pointer;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--color-text-muted) 50%),
        linear-gradient(135deg, var(--color-text-muted) 50%, transparent 50%);
    background-position:
        calc(100% - 20px) calc(50% - 3px),
        calc(100% - 14px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.select option,
select.input option {
    background: #fffaf1;
    color: var(--color-text);
    font-family: var(--font-family-base);
}

.select option:checked,
select.input option:checked {
    background: linear-gradient(180deg, rgba(205, 199, 121, 0.3), rgba(205, 199, 121, 0.22));
    color: var(--color-text);
    font-weight: 700;
}

.textarea {
    resize: vertical;
    min-height: 132px;
    line-height: 1.6;
}

.input-group {
    position: relative;
}

.input-group .input {
    padding-right: 48px;
}

.input-group__suffix {
    position: absolute;
    top: 50%;
    right: 16px;
    transform: translateY(-50%);
    color: var(--color-text-soft);
    font-weight: 700;
    pointer-events: none;
}

@media (max-width: 760px) {
    .form-grid {
        grid-template-columns: 1fr;
    }
}
