/* Apply theme color */
:root {
    --softmaji-primary: #673de6;
    --softmaji-primary-darker: #552cbf;
    --softmaji-light-bg: #f8f9fa; /* Standard Bootstrap light */
}

.bg-primary-custom {
    background-color: var(--softmaji-primary) !important;
}

.btn-primary {
    background-color: var(--softmaji-primary);
    border-color: var(--softmaji-primary);
}

.btn-primary:hover {
     background-color: var(--softmaji-primary-darker);
     border-color: var(--softmaji-primary-darker);
}

.text-primary-custom {
     color: var(--softmaji-primary) !important;
}

/* Header Styles */
.app-header {
    background-color: var(--softmaji-primary);
    color: white;
}
.app-header img {
    filter: brightness(0) invert(1); /* Make light logo visible on dark bg if needed, or use white version */
}

/* Footer Styles */
.app-footer {
     background-color: var(--softmaji-light-bg); /* Light off-white */
     padding: 1.5rem 0;
     border-top: 1px solid #dee2e6; /* Subtle top border */
}
.app-footer img{
    max-height: 35px; /* Adjust footer logo size */
}

/* Form Styling Enhancements */
body {
    background-color: #f4f7f6; /* Slightly off-white background for the page */
}

.form-section-card {
    background-color: #ffffff;
    border: none; /* Remove default card border if using shadows */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); /* Softer shadow */
    border-radius: 8px; /* Slightly more rounded corners */
    margin-bottom: 2rem;
}

fieldset {
    border: 1px solid #e9ecef; /* Lighter border for fieldsets */
    border-radius: 6px;
    padding: 1.5rem !important; /* Consistent padding using !important if needed to override BS */
    margin-bottom: 1.5rem; /* Space between fieldsets */
}

legend {
    float: none;
    width: auto;
    padding: 0 10px;
    font-size: 1.2rem; /* Slightly larger legend */
    font-weight: 500; /* Medium weight */
    color: var(--softmaji-primary);
    margin-bottom: 1.5rem; /* Space below legend */
}

/* Required field marker */
.form-label .text-danger {
    font-weight: bold; /* Make asterisk stand out more */
    margin-left: 3px;
    color: #dc3545; /* Standard Bootstrap danger color */
}

/* Adjust file input text */
.form-text {
    font-size: 0.85em;
    color: #6c757d; /* Muted text color */
}

/* Privacy Notice */
.privacy-notice {
    font-size: 0.9em;
    color: #6c757d;
    margin-top: 1.5rem;
    padding: 1rem;
    background-color: var(--softmaji-light-bg);
    border-radius: 5px;
    border: 1px solid #dee2e6;
}

/* Consent Checkbox */
.consent-section {
    margin-top: 1.5rem;
    padding: 1rem;
    background-color: #fff0f1; /* Light red background to draw attention */
    border: 1px solid #f5c6cb; /* Bootstrap danger border color */
    border-radius: 5px;
}
.consent-section .form-check-label {
    font-weight: 500;
}

/* Responsive adjustments if needed */
@media (max-width: 768px) {
    legend {
        font-size: 1.1rem;
    }
    fieldset {
        padding: 1rem !important;
    }
}