/* Main CSS Entry Point - Unified Cendien Website Styles */

/* ===========================
   CORE SYSTEM
   =========================== */
@import url('./core/variables.css');
@import url('./core/base.css');
@import url('./core/components.css');

/* ===========================
   LAYOUT SYSTEM
   =========================== */
@import url('./layout/header.css');
@import url('./layout/responsive.css');

/* ===========================
   MODULES
   =========================== */
@import url('./modules/hero.css');
@import url('./modules/ai-module-suggester.css');
@import url('./modules/footer.css');
@import url('./modules/modals.css');
@import url('./modules/file-selection.css');
@import url('./modules/forms.css');
@import url('./modules/tables.css');
@import url('./modules/visual-hierarchy.css');
@import url('./modules/modern-enhancements.css');
@import url('./modules/chat-panel.css');

/* ===========================
   CONTRAST AND ACCESSIBILITY FIXES
   =========================== */

/* Ensure all main content areas have proper backgrounds and text colors */
main,
#main-content,
.main-content {
    background-color: var(--color-bg-surface);
    color: var(--color-text-primary);
}

/* Fix any dark background issues */
#rfp-analyzer-main-content,
#foia-analyzer-main-content {
    background-color: var(--color-bg-surface);
    color: var(--color-text-primary);
    padding: var(--space-lg);
}

/* ===========================
   LEGACY COMPATIBILITY
   (Temporary - to be removed after migration)
   =========================== */

/* Ensure section selector styling is available globally */
#section-selector,
select.section-selector {
    padding: 0.6rem 1.2rem;
    border: 1px solid var(--color-border-medium);
    border-radius: var(--radius-xl);
    font-size: var(--text-base);
    font-family: var(--font-family-primary);
    font-weight: var(--font-weight-medium);
    background-color: var(--color-bg-surface);
    color: var(--color-text-primary);
    cursor: pointer;
    min-width: 200px;
    transition: border-color var(--transition-normal), box-shadow var(--transition-normal);
    line-height: var(--line-height-normal);
    box-sizing: border-box;
}

#section-selector:focus,
select.section-selector:focus {
    outline: none;
    border-color: var(--color-primary);
    box-shadow: var(--shadow-focus-alt);
}

/* Form override for section selectors */
form select.section-selector {
    border-radius: var(--radius-sm);
    min-width: auto;
}

/* Navigation active state is defined in layout/header.css */

/* Contact details specific */
#services-overview-static.column h3,
#contact-details.column h3,
#contact-details h3:not(.column h3) {
    text-align: left;
    font-size: var(--text-lg);
    font-weight: var(--font-weight-medium);
    color: var(--color-brand-blue);
}

.address-block h3,
.phone-block h3 {
    font-size: var(--text-md);
    color: var(--color-primary);
    margin-bottom: var(--space-sm);
    text-align: left;
    font-weight: var(--font-weight-medium);
}

.address-block address,
.phone-block p {
    font-style: normal;
    line-height: var(--line-height-loose);
    color: var(--color-text-secondary);
    font-size: var(--text-base);
}

.phone-block a {
    color: var(--color-primary);
    text-decoration: none;
}

.phone-block a:hover {
    text-decoration: underline;
}

/* Resume generator specific */
#resume-generator-tool #outputFormat.section-selector {
    margin-bottom: var(--space-md);
    width: 100%;
}

#resume-generator-tool #generate-resume-button.btn-secondary {
    background-color: #212529;
    color: #ffffff;
    border-color: #212529;
}

#resume-generator-tool #generate-resume-button.btn-secondary:hover {
    background-color: #343a40;
    color: #ffffff;
    border-color: #343a40;
}

#resume-generator-tool #generate-resume-button.btn-primary {
    width: 100%;
    margin-top: var(--space-md);
}

#generated-resume-area,
#resume-generation-status {
    background-color: var(--color-secondary);
    padding: var(--space-lg);
    border-radius: var(--radius-md);
    border: 1px solid var(--color-border-accent);
    margin-top: var(--space-card-padding);
}

#generated-resume-area h3 {
    text-align: left;
    font-size: var(--text-lg);
    color: var(--color-brand-navy);
    margin-bottom: var(--space-md);
}

#resume-result p,
#resume-result li {
    color: var(--color-text-primary);
    font-size: var(--text-base);
}

#resume-result ul {
    list-style-type: disc;
    list-style-position: outside;
    padding-left: 20px;
    margin-top: var(--space-sm);
}

#resume-result ul li {
    margin-bottom: var(--space-sm);
}
/* ==
=========================
   ANALYSIS SECTION SPACING FIXES
   =========================== */

/* Fix vertical spacing between paragraphs and section titles in analysis content */
.analysis-content h4 {
    margin-top: 1.5rem !important;
    margin-bottom: 0.75rem !important;
}

.analysis-content h4:first-child {
    margin-top: 0 !important;
}

.analysis-content p + h4,
.analysis-content div + h4,
.analysis-content ul + h4,
.analysis-content ol + h4 {
    margin-top: 2rem !important;
}

.analysis-content .risk-section,
.analysis-content .budget-card,
.analysis-content .publisher-card,
.analysis-content .advantages-section,
.analysis-content .competitors-section,
.analysis-content .risks-section,
.analysis-content .market-position-section,
.analysis-content .win-strategy-section,
.analysis-content .registration-section,
.analysis-content .certification-section,
.analysis-content .compliance-section,
.analysis-content .gaps-section {
    margin-bottom: 2rem;
}

.analysis-content .risk-section:last-child,
.analysis-content .budget-card:last-child,
.analysis-content .publisher-card:last-child,
.analysis-content .advantages-section:last-child,
.analysis-content .competitors-section:last-child,
.analysis-content .risks-section:last-child,
.analysis-content .market-position-section:last-child,
.analysis-content .win-strategy-section:last-child,
.analysis-content .registration-section:last-child,
.analysis-content .certification-section:last-child,
.analysis-content .compliance-section:last-child,
.analysis-content .gaps-section:last-child {
    margin-bottom: 0;
}

/* Ensure proper spacing between content blocks */
.analysis-content > div + div {
    margin-top: 1.5rem;
}

/* Fix spacing for card content */
.card-body h4 {
    margin-top: 0 !important;
    margin-bottom: 1rem !important;
}

.card-body p:last-child {
    margin-bottom: 0;
}

/* Fix spacing for list items */
.analysis-content ul,
.analysis-content ol {
    margin-bottom: 1rem;
}

.analysis-content li {
    margin-bottom: 0.5rem;
}

.analysis-content li:last-child {
    margin-bottom: 0;
}