body {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    background-color: #f8f9fa;
    opacity: 1;
    transition: .25s opacity;
}

.page {
    position: relative;
    display: flex;
    flex-direction: column;
}

main {
    flex: 1;
}

.validity-styles sl_input,
.validity-styles sl_select,
.validity-styles sl_checkbox,
.validity-styles sl_textarea {
    display: block;
    margin-bottom: 1rem;
}

/* user invalid styles */
.validity-styles sl_input[data-user-invalid]::part(base),
.validity-styles sl_select[data-user-invalid]::part(combobox),
.validity-styles sl_checkbox[data-user-invalid]::part(control),
.validity-styles sl_textarea[data-user-invalid]::part(base) {
    border-color: var(--sl-color-danger-600);
}

.validity-styles [data-user-invalid]::part(form-control-label),
.validity-styles [data-user-invalid]::part(form-control-help-text),
.validity-styles sl_checkbox[data-user-invalid]::part(label) {
    color: var(--sl-color-danger-700);
}

.custom-control {
    padding-left: 0 !important;
}

.alert {
    padding: 1rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem;
}

.alert-light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe;
}

.text-error {
    color: var(--sl-color-danger-700);
    font-size: 0.875rem;
    margin-top: 0.25rem;
}

/* Custom styles for Lexporta */

.navbar-dark {
    background-color: var(--bs-primary) !important;
}

/* Additional spacing utilities */
.mt-6 {
    margin-top: 4rem !important;
}

/* Ensure navbar brand is visible */
.navbar-brand {
    font-weight: 500;
    font-size: 1.25rem;
}

/* Smooth transitions */
body {
    font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}
