form {
    max-width: 1200px;
    width: 1200px;
    margin: 0 auto;
    padding: 2rem;
    background: #fff;
    border: 1px solid #e5e5e5;
    border-radius: 12px;

    display: flex;
    flex-direction: column;
    gap: 1rem;
}

form > input,
form > textarea,
form > button {
    font: inherit;
}

form > input,
form > textarea {
    padding: 0.9rem 1rem;

    border: 1px solid #dcdcdc;
    border-radius: 8px;
    background: #fafafa;

    transition: border-color 0.2s ease,
                box-shadow 0.2s ease,
                background-color 0.2s ease;
}

form > textarea {
    min-height: 140px;
    resize: vertical;
}

form > input:focus,
form > textarea:focus {
    outline: none;
    border-color: #2563eb;
    background: #fff;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}

form > button {
    padding: 0.9rem 1.5rem;

    border: none;
    border-radius: 8px;

    background: #2563eb;
    color: #fff;

    cursor: pointer;
    transition: background-color 0.2s ease,
                transform 0.2s ease;
    
    width: fit-content;
    align-self: left; /* or flex-start */
}

form > button:hover {
    background: #1d4ed8;
}

form > button:active {
    transform: translateY(1px);
}

form > input::placeholder,
form > textarea::placeholder {
    color: #888;
}