:root {
    --primary: #0d6efd;
    --primary-dark: #0a58ca;
    --secondary: #6c757d;
    --hero-bg: linear-gradient(135deg, #0d6efd 0%, #0dcaf0 100%);
}

body {
    background-color: #f8f9fa;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
}

/* ===== HEADER STYLES ===== */
.site-header {
    background: linear-gradient(135deg, #1e88e5 0%, #42a5f5 100%);
    padding: 2rem 1rem;
    text-align: center;
    margin-bottom: -60px;
    padding-bottom: 80px;
}

.header-content {
    max-width: 1200px;
    margin: 0 auto;
}

.logo-container {
    margin-bottom: 1rem;
}

.site-logo {
    max-width: 500px;
    width: 100%;
    height: auto;
}

.header-text h1 {
    color: white;
    font-size: 2rem;
    margin-bottom: 0.5rem;
    font-weight: bold;
}

.subtitle {
    color: rgba(255, 255, 255, 0.95);
    font-size: 1.1rem;
}

/* ===== FOOTER STYLES ===== */
.site-footer {
    background-color: #2c3e50;
    color: #ecf0f1;
    padding: 2rem 0;
    margin-top: 4rem;
    text-align: center;
}

.footer-content {
    max-width: 1200px;
    margin: 0 auto;
}

.copyright {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
}

.powered-by {
    font-size: 0.85rem;
    color: #95a5a6;
}

.powered-by a {
    color: #3498db;
    text-decoration: none;
    font-weight: 600;
    transition: color 0.3s ease;
}

.powered-by a:hover {
    color: #2980b9;
    text-decoration: underline;
}

/* ===== RESPONSIVE HEADER ===== */
@media (max-width: 768px) {
    .site-logo {
        max-width: 120px;
    }

    .header-text h1 {
        font-size: 1.5rem;
    }

    .subtitle {
        font-size: 0.95rem;
    }
}

/* Legacy hero-section fallback */
.hero-section {
    background: var(--hero-bg);
    margin-bottom: -60px;
    padding-bottom: 80px !important;
}

.card {
    border: none;
    border-radius: 12px;
}

.shadow-lg {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1) !important;
}

.accordion-button:not(.collapsed) {
    background-color: rgba(13, 110, 253, 0.1);
    color: var(--primary);
}

.form-label {
    color: #495057;
}

/* Print Styles */
@media print {

    .hero-section,
    .btn,
    form,
    footer,
    .col-lg-4,
    .accordion {
        display: none !important;
    }

    #resultsSection,
    #resultsSection * {
        display: block !important;
        visibility: visible !important;
    }

    #resultsSection {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        margin: 0;
        padding: 0;
    }

    .card {
        box-shadow: none !important;
        border: none !important;
    }
}