/**
 * Financial Clarity Days - Main Stylesheet
 * Imports all modular CSS files
 *
 * @version 1.0.0
 * @author Financial Clarity Days
 */

/* ===== CSS VARIABLES ===== */
@import url('variables.css');

/* ===== BASE STYLES ===== */
@import url('base.css');

/* ===== COMPONENT STYLES ===== */
@import url('header.css');
@import url('hero.css');
@import url('countdown.css');
@import url('meta-grid.css');
@import url('forms.css');
@import url('stats.css');
@import url('sections.css');
@import url('cta-band.css');
@import url('footer.css');
@import url('faq.css');

/* ===== PAGE SPECIFIC STYLES ===== */
@import url('pages.css');
@import url('legal.css');

/* ===== MODAL STYLES ===== */
@import url('modal.css');

/* ===== RESPONSIVE STYLES ===== */
@import url('responsive.css');

/* ===== ADDITIONAL UTILITIES ===== */

/* Scrollbar Styling */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: var(--color-gray-200);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb {
    background: var(--color-primary);
    border-radius: var(--radius-full);
}

::-webkit-scrollbar-thumb:hover {
    background: var(--color-primary-dark);
}

/* Selection Styling */
::selection {
    background: var(--color-primary-lightest);
    color: var(--color-primary);
}

/* Focus Visible Outline */
:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

/* Skip to content link */
.skip-to-content {
    position: absolute;
    top: -40px;
    left: 0;
    background: var(--color-primary);
    color: var(--color-white);
    padding: var(--spacing-sm) var(--spacing-md);
    z-index: calc(var(--z-fixed) + 1);
    transition: top var(--transition-normal);
}

.skip-to-content:focus {
    top: 0;
}

/* Loading Spinner */
.spinner {
    width: 40px;
    height: 40px;
    border: 3px solid var(--color-gray-300);
    border-top-color: var(--color-primary);
    border-radius: 50%;
    animation: spin 0.8s linear infinite;
}

@keyframes spin {
    to { transform: rotate(360deg); }
}

/* Error Message Styles (from forms, reused globally) */
.error-message {
    color: var(--color-secondary);
    font-size: var(--font-size-xs);
    margin-top: var(--spacing-xs);
    display: block;
}

/* Success Message Styles */
.success-message {
    color: var(--color-primary);
    font-size: var(--font-size-sm);
    margin-top: var(--spacing-sm);
    display: block;
}

/* Print Styles Override */
@media print {
    @import url('responsive.css');

    .no-print,
    .topbar,
    .footer,
    .mobile-cta,
    .cta-band,
    .form-panel,
    .search-modal {
        display: none !important;
    }

    body {
        padding-top: 0 !important;
        background: white;
    }

    a {
        text-decoration: underline;
        color: black;
    }
}