*, *::before, *::after {
    box-sizing: border-box;
}

main {
    width: 100%;
    background-color: white;
    height: 100%;
    padding-bottom: 2rem;
}

main header h1 {
    text-align: center;
    color: var(--color-accent-50);
    padding: 1rem;
}

main header p {
    text-align: center;
    padding: 1rem;
}

.ui-form {
    max-width: 800px;
    margin: 0 auto;
    padding-bottom: 2rem;
}

.ui-form h1 {
    text-align: center;
    color: var(--color-accent-50);
    padding: 1rem;
}

.ui-form form {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    padding: 2rem 1rem;
}

.ui-form article {
    max-width: 600px;
    margin: 0 auto;
    text-align: center;
}

.ui-form label {
    font-weight: 600;
    color: var(--color-cyan-teal);
    margin-bottom: 0.25rem;
}

.ui-form input,
.ui-form select,
.ui-form textarea {
    padding: 0.75rem 1rem;
    border: 1px solid #ccc;
    border-radius: 8px;
    background-color: white;
    color: var(--color-dark-charcoal);
    font-size: 1rem;
    font-family: inherit;
    transition: border-color 0.3s ease;
}

.ui-form fieldset {
    border: 1px solid var(--color-cyan-teal);
    border-radius: 8px;
    padding: 1.5rem;
    margin-bottom: 2rem;
}

.ui-form .form-group {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}

.ui-form input:focus,
.ui-form select:focus,
.ui-form textarea:focus {
    border-color: var(--color-accent-50);
    outline: none;
    box-shadow: 0 0 5px var(--color-accent-50);
}

input:-webkit-autofill {
    background-color: white !important;
    -webkit-box-shadow: 0 0 0 1000px white inset;
    -webkit-text-fill-color: var(--color-dark-charcoal) !important;
    color: var(--color-dark-charcoal) !important;
}

.ui-form select {
    background-color: white;
    color: var(--color-dark-charcoal);
    border: 1px solid var(--color-cyan-teal);
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    font-family: inherit;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 140 140' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M70 95 L95 50 H45 Z' fill='%23333'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 1rem center;
    background-size: 1rem;
}
