/* =============================================================================
   Graphic House - Base Styles
   Zmienne, typografia, linki, utilities, print
   ============================================================================= */

/* CSS Custom Properties (Variables) */
:root {
    /* Brand Colors - only burgundy + grays */
    --gh-primary: #A42621;
    --gh-primary-dark: #8B1F1B;
    --gh-primary-light: #C73B35;

    /* Grays - monochromatic scale */
    --gh-gray-900: #212529;
    --gh-gray-800: #343a40;
    --gh-gray-700: #495057;
    --gh-gray-600: #6c757d;
    --gh-gray-500: #9E9E9E;
    --gh-gray-400: #ced4da;
    --gh-gray-300: #dee2e6;
    --gh-gray-200: #e9ecef;
    --gh-gray-100: #f8f9fa;
    --gh-white: #ffffff;

    /* Semantic tokens - light mode defaults */
    --gh-body-bg: #f8f9fa;
    --gh-body-color: #212529;
    --gh-card-bg: #ffffff;
    --gh-card-header-bg: #f8f9fa;
    --gh-card-border: #e9ecef;
    --gh-table-header-bg: #f8f9fa;
    --gh-table-hover-bg: #f8f9fa;
    --gh-input-bg: #ffffff;
    --gh-input-border: #ced4da;
    --gh-input-color: #212529;
    --gh-dropdown-bg: #ffffff;
    --gh-dropdown-border: #e9ecef;
    --gh-dropdown-hover-bg: #f8f9fa;
    --gh-shadow-color: rgba(0, 0, 0, 0.08);
    --gh-link-color: #A42621;
    --gh-muted-color: #6c757d;
    --gh-label-color: #343a40;
    --gh-section-border: #dee2e6;
    --gh-scrollbar-track: #f8f9fa;
    --gh-scrollbar-thumb: #ced4da;
    --gh-scrollbar-thumb-hover: #6c757d;
}

/* Dark Mode */
[data-bs-theme="dark"] {
    --gh-primary: #D4453F;
    --gh-primary-dark: #C73B35;
    --gh-primary-light: #E85C56;

    --gh-body-bg: #121416;
    --gh-body-color: #dee2e6;
    --gh-card-bg: #1e2125;
    --gh-card-header-bg: #272b30;
    --gh-card-border: #373b3f;
    --gh-table-header-bg: #272b30;
    --gh-table-hover-bg: #272b30;
    --gh-input-bg: #1e2125;
    --gh-input-border: #495057;
    --gh-input-color: #dee2e6;
    --gh-dropdown-bg: #1e2125;
    --gh-dropdown-border: #495057;
    --gh-dropdown-hover-bg: #272b30;
    --gh-shadow-color: rgba(0, 0, 0, 0.4);
    --gh-link-color: #E85C56;
    --gh-muted-color: #9E9E9E;
    --gh-label-color: #ced4da;
    --gh-section-border: #373b3f;
    --gh-scrollbar-track: #1e2125;
    --gh-scrollbar-thumb: #495057;
    --gh-scrollbar-thumb-hover: #6c757d;

    /* Override Bootstrap 5.3 dark mode variables */
    --bs-body-bg: #121416;
    --bs-body-color: #dee2e6;
    --bs-tertiary-bg: #1e2125;
    --bs-emphasis-color: #f8f9fa;
    --bs-secondary-bg: #272b30;
    --bs-border-color: #373b3f;
    --bs-link-color: #E85C56;
    --bs-link-hover-color: #D4453F;
    color-scheme: dark;
}

/* Body */
body {
    min-height: 100vh;
    display: flex;
    flex-direction: column;
    background-color: var(--gh-body-bg);
    color: var(--gh-body-color);
    transition: background-color 0.3s ease, color 0.3s ease;
}

main {
    flex: 1;
}

/* =============================================================================
   Links & Text
   ============================================================================= */
a {
    color: var(--gh-link-color);
}

a:hover {
    color: var(--gh-primary-dark);
}

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

.text-muted {
    color: var(--gh-muted-color) !important;
}

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

/* =============================================================================
   Utilities
   ============================================================================= */
.border-primary {
    border-color: var(--gh-primary) !important;
}

.hover-lift {
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.hover-lift:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px var(--gh-shadow-color);
}

/* =============================================================================
   Print Styles
   ============================================================================= */
@media print {
    .navbar,
    .footer,
    .btn,
    .no-print {
        display: none !important;
    }

    .card {
        border: 1px solid #000;
        box-shadow: none;
    }

    body {
        font-size: 12pt;
        background: white;
    }

    .card-header {
        background-color: #eee !important;
        -webkit-print-color-adjust: exact;
    }
}
