/* WK Event Leads — form.css
   Intentionally minimal: layout only, no colours or typography.
   Theme styles apply to inputs and buttons automatically.
*/

.wkel-form-wrap {
    max-width: 560px;
    width: 100%;
}

.wkel-form-heading {
    margin-bottom: 1.25rem;
}

.wkel-form {
    display: flex;
    flex-direction: column;
    gap: 1.125rem;
}

.wkel-field {
    display: flex;
    flex-direction: column;
    gap: 0.3rem;
}

.wkel-field label {
    font-weight: 600;
}

.wkel-required {
    color: currentColor;
    margin-left: 0.2em;
    opacity: 0.7;
}

.wkel-field input[type="text"],
.wkel-field input[type="email"],
.wkel-field textarea,
.wkel-field select {
    width: 100%;
    box-sizing: border-box;
}

.wkel-field textarea {
    min-height: 100px;
    resize: vertical;
}

.wkel-checkbox-group {
    border: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 0.4rem;
}

.wkel-checkbox-label {
    display: flex;
    align-items: flex-start;
    gap: 0.5rem;
    font-weight: normal;
    cursor: pointer;
}

.wkel-field-error {
    font-size: 0.875em;
    color: #dc2626;
    min-height: 1.2em;
}

.wkel-general-error {
    color: #dc2626;
    padding: 0.5rem 0;
}

.wkel-submit-wrap {
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.wkel-submit {
    display: inline-flex;
    align-items: center;
    gap: 0.5rem;
    cursor: pointer;
}

.wkel-submit:disabled {
    opacity: 0.65;
    cursor: not-allowed;
}

.wkel-spinner {
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid currentColor;
    border-right-color: transparent;
    border-radius: 50%;
    animation: wkel-spin 0.65s linear infinite;
}

@keyframes wkel-spin {
    to { transform: rotate(360deg); }
}

.wkel-success-message {
    padding: 1rem 0;
}

@media (max-width: 480px) {
    .wkel-form-wrap {
        width: 100%;
    }
}
