/* ============================================
PROFESSIONAL FORMS - WCAG AA
============================================ */
.astra-child-form {
max-width: 600px;
margin: 0 auto;
}
.astra-child-form .form-group {
margin-bottom: 1.5rem;
}
.astra-child-form label {
display: block;
margin-bottom: 0.5rem;
font-weight: 500;
color: var(--med-text);
}
.astra-child-form input,
.astra-child-form textarea,
.astra-child-form select {
width: 100%;
padding: 0.875rem 1rem;
border: 2px solid var(--med-border);
border-radius: var(--med-radius-sm);
font-size: 1rem;
transition: border-color 0.2s, box-shadow 0.2s;
background: var(--med-bg);
color: var(--med-text);
min-height: 48px;
}
.astra-child-form .form-group:focus-within label {
color: var(--med-primary);
}
.astra-child-form input:focus,
.astra-child-form textarea:focus,
.astra-child-form select:focus {
outline: none;
border-color: var(--med-focus);
box-shadow: 0 0 0 3px var(--med-focus-ring);
}
.astra-child-form input:focus-visible,
.astra-child-form textarea:focus-visible,
.astra-child-form select:focus-visible {
outline: 3px solid var(--med-focus);
outline-offset: 2px;
}
.astra-child-form .form-submit {
padding: 0.875rem 1.5rem;
background: var(--med-primary);
color: #ffffff;
border: none;
border-radius: var(--med-radius-sm);
font-size: 1rem;
font-weight: 600;
cursor: pointer;
transition: all 0.2s;
min-height: 48px;
}
.astra-child-form .form-submit:hover {
filter: brightness(1.05);
transform: translateY(-1px);
}
.astra-child-form .form-submit:focus-visible {
outline: 3px solid #ffffff;
outline-offset: 2px;
box-shadow: 0 0 0 4px var(--med-focus-ring);
}
