/* ===== CUSTOM CSS FOR DOSTEPNY WCAG ===== */
/* Format: compact (one line per selector) */

/* === CSS VARIABLES === */
:root {
    --color-primary: #0045AD;
    --color-primary-dark: #003580;
    --color-primary-light: #005BE5;
    --color-secondary: #0066FF;

    --color-accent: #FBBF24;
    --color-success: #10B981;
    --color-danger: #EF4444;
    --color-dark: #1F2937;
    --color-gray-900: #111827;
    --color-gray-800: #1F2937;
    --color-gray-700: #374151;
    --color-gray-600: #4B5563;
    --color-gray-500: #6B7280;
    --color-gray-400: #9CA3AF;
    --color-gray-300: #D1D5DB;
    --color-gray-200: #E5E7EB;
    --color-gray-100: #F3F4F6;
    --color-light: #F9FAFB;
    --color-white: #FFFFFF;
    --gradient-primary: linear-gradient(135deg, #0045AD 0%, #005BE5 100%);
    --gradient-primary-hover: linear-gradient(135deg, #003580 0%, #0045AD 100%);
    --gradient-hero: linear-gradient(135deg, #003580 0%, #0045AD 50%, #005BE5 100%);
    --gradient-cta: linear-gradient(135deg, #1F2937 0%, #374151 100%);
    --gradient-card: linear-gradient(180deg, #FFFFFF 0%, #F3F4F6 100%);
    --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --transition-base: all 0.3s ease;
    --transition-fast: all 0.15s ease;
    --border-radius-sm: 0.375rem;
    --border-radius-md: 0.5rem;
    --border-radius-lg: 0.75rem;
    --border-radius-xl: 1rem;
}
/* ==================================================================== */
/* === GLOBAL STYLES === */
body {font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', sans-serif; font-size: 1rem; line-height: 1.6; color: var(--color-gray-800); background-color: var(--color-white); -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}
html {scroll-behavior: smooth; scroll-padding-top: 80px;}
::selection {background-color: var(--color-primary); color: var(--color-white);}
:focus-visible {outline: 3px solid var(--color-accent); outline-offset: 3px;}

/* === TYPOGRAPHY === */
h1, h2, h3, h4, h5, h6 {font-weight: 800; color: var(--color-gray-900);}
h1 {font-size: 2.5rem;}
h2 {font-size: 2rem;}
h3 {font-size: 1.75rem;}
h4 {font-size: 1.5rem;}
h5 {font-size: 1.25rem;}
h6 {font-size: 1.125rem;}
strong {font-weight: 800; color: var(--color-primary);}

.lead {font-size: 1.25rem; font-weight: 400; line-height: 1.7; color: var(--color-gray-700);}
.subtitle {opacity: 0.7;}

.a-link {color: var(--color-primary); font-weight: 600; text-decoration: none; display: inline-flex; align-items: center; margin-top: auto;}
.a-link:hover, .a-link:focus {color: var(--color-primary-dark); text-decoration: underline; gap: 0.5rem;}

/* === WCAG === */
.skip-link {position: absolute; top: -40px; left: 0; background: var(--color-dark); color: var(--color-white); padding: 0.75rem 1.5rem; z-index: 100; text-decoration: none; font-weight: 600; border-radius: 0 0 var(--border-radius-md) 0;}
.skip-link:focus {top: 0; outline: 3px solid var(--color-accent); outline-offset: 2px;}

/* === BOOTSTRAP OVERRIDE === */
.text-primary {color: var(--color-primary) !important;} /* Bootstrap override */
.bg-primary {background-color: var(--color-primary) !important;} /* Bootstrap override */
.btn:focus-visible {outline: 3px solid var(--color-accent);}
.btn-primary       {background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white);transform: translateY(0);transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease;} 
.btn-primary:hover, 
.btn-primary:focus {background: var(--color-primary-dark); border-color: var(--color-primary-dark); transform: translateY(-2px); box-shadow: var(--shadow-lg);}
.btn-outline-primary {border-color: var(--color-primary); color: var(--color-primary);transform: translateY(0);transition: transform .25s ease, box-shadow .25s ease, background-color .25s ease, border-color .25s ease;}
.btn-outline-primary:hover, 
.btn-outline-primary:focus {background: var(--color-primary); border-color: var(--color-primary); color: var(--color-white); transform: translateY(-2px); box-shadow: var(--shadow-md);}
.btn-white       {background-color: var(--color-white); color: var(--color-primary); border: 2px solid var(--color-white);}
.btn-white:hover {background-color: var(--color-white); color: var(--color-primary-dark); border-color: var(--color-white);}
.btn-white:focus {background-color: var(--color-white);  color: var(--color-primary-dark); border-color: var(--color-white);}
.btn-white .bi {color: inherit;} 

/* ==================================================================== */
/* === HEADER & NAVIGATION === */

.header {box-shadow: var(--shadow-sm); transition: var(--transition-base);}
.logo-text strong {font-size: 1.4rem; font-weight: 800; color: var(--color-primary);}
.logo-text small  {font-size: 1.0rem; font-weight: 300; color: var(--color-gray-600);}
/* menu */
body > header nav ul li a {text-decoration: none;}
body > header nav ul li a:hover, 
body > header nav ul li a:focus {color: var(--color-primary-dark) !important; background: rgba(11,95,147,0.09) !important;}
body > header .navbar .nav-link {padding: 12px 16px; margin: 0 4px;} /* bootstrap override */
/* Dropdown Menu */
body > header nav ul li ul {display: none;}
body > header nav ul li:hover ul {display: block;}
body > header nav ul li ul li a.dropdown-item {padding: 8px 16px;}
/* Menu Mobile */
@media (max-width: 991.98px) {
    .navbar-nav > .nav-item {border-bottom: solid 1px #eee;}
    .navbar-nav > .nav-item:last-child {border-bottom: none;}
    .navbar-nav .dropdown-menu {position: static; display: block; border: none; box-shadow: none; background: transparent; padding-left: 20px;}
    .navbar-nav .dropdown-menu li {border-bottom: solid 1px #eee;}
}
/* === BREADCRUMB === */
.breadcrumb-bg {padding: 0.75rem; background: #f4f4f4; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);}
ol.breadcrumb {margin: 0; padding: 0; list-style: none; display: flex; align-items: center; gap: 0.35rem;}
ol.breadcrumb li + li::before {content: '›'; color: rgba(0, 0, 0, 0.4); margin-right: 0.35rem;}
ol.breadcrumb li {color: rgba(0, 0, 0, 0.7); font-size: 0.875rem; font-weight: 300; display: inline-flex; align-items: center;}
ol.breadcrumb a  {color: rgba(0, 0, 0, 0.7); text-decoration: none; transition: var(--transition-fast);}
ol.breadcrumb a:hover, 
ol.breadcrumb a:focus {color: rgba(0, 0, 0, 1); text-decoration: underline;}


/* ==================================================================== */
/* === FOOTER & NAVIGATION === */

footer.footer {background: var(--gradient-cta); color: var(--color-white); position: relative;}
footer.footer::before {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.2) 50%, transparent 100%);}
footer.footer .logo {max-width: 64px; height: auto;}
footer.footer h3 {font-size: 1.125rem; font-weight: 700; margin-bottom: 1rem; padding-bottom: 0.75rem; border-bottom: 2px solid rgba(255, 255, 255, 0.1);}
footer.footer h3,
footer.footer strong,
footer.footer li,
footer.footer a {color: var(--color-white); text-decoration: none; transition: var(--transition-fast)}
footer.footer a:hover {text-decoration: underline; padding-left: 0.25rem;}
footer.footer .footer-menu li {margin-bottom: 0.75rem;}
footer.footer .footer-divider {border-color: rgba(255, 255, 255, 0.2); margin: 2rem 0;}
footer.footer .footer-copyright {color: rgba(255, 255, 255, 0.5); font-size: 0.875rem;}
footer.footer .footer-copyright a {color: rgba(255, 255, 255, 0.5); font-weight: 600;}
footer.footer .footer-legal {margin: 0; padding: 0;}
footer.footer .footer-legal li {font-size: 0.875rem;}


/* ==================================================================== */
/* === HOME PAGE === */

/* === HERO SECTION === */
.hero-section {background: var(--gradient-hero); color: var(--color-white); padding: 5rem 0; position: relative; overflow: hidden;}
.hero-section::before {content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 1;}
.hero-section .container {position: relative; z-index: 1;}
.hero-title {font-size: 3rem; font-weight: 300; line-height: 1.2; margin-bottom: 1.5rem; color: var(--color-white);}
.hero-title strong {color: var(--color-white);}
.hero-description {color: rgba(255, 255, 255, 0.95);}
.hero-image {animation: float 6s ease-in-out infinite;}
@keyframes float {0%, 100% {transform: translateY(0);} 50% {transform: translateY(-20px);}}
/* === RESPONSIVE ADJUSTMENTS === */
@media (max-width: 991.98px) {.hero-title {font-size: 2rem;} .hero-description {font-size: 1.125rem;} .section-title {font-size: 1.75rem;} .cta-title {font-size: 1.75rem;} .hero-cta {flex-direction: column;} .hero-cta .btn {width: 100%;}}
@media (max-width: 767.98px) {.hero-section {padding: 3rem 0;} .py-5 {padding-top: 2.5rem; padding-bottom: 2.5rem;} .cta-section {padding: 3rem 0;} .hero-title {font-size: 1.75rem;} .section-title {font-size: 1.5rem;}}
@media (max-width: 575.98px) {.hero-title {font-size: 1.5rem;} .section-title {font-size: 1.375rem;} h1 {font-size: 1.75rem;} h2 {font-size: 1.5rem;}}


/* === SERVICES SECTION === */
.service-card {background: var(--gradient-card); border-radius: var(--border-radius-lg); padding: 1rem; text-align: center; transition: var(--transition-base); border: 1px solid var(--color-gray-200); box-shadow: var(--shadow-sm); height: 100%;}
.service-card:hover, .service-card:focus-within {transform: translateY(-5px); box-shadow: var(--shadow-xl); border-color: var(--color-primary);}
.service-icon {font-size: 3rem; color: var(--color-primary); margin-bottom: 1.5rem; border-radius: 50%; width: 80px; height: 80px; margin: 15px auto; background-color: rgba(0, 82, 204, 0.1);}
.service-card h3 {font-weight: 700; color: var(--color-gray-900); margin-bottom: 1rem;}
.service-card p {color: var(--color-gray-700); margin-bottom: 1.5rem; font-size: 0.95rem; line-height: 1.7;}

/* === WHY US SECTION === */
.feature-box {text-align: center; padding: 1rem 0.75rem; background: var(--gradient-card); border-radius: var(--border-radius-lg); transition: var(--transition-base); height: 100%; border: 1px solid var(--color-gray-200); box-shadow: var(--shadow-sm);}
.feature-box:hover, .feature-box:focus-within {transform: translateY(-5px); box-shadow: var(--shadow-xl); border-color: var(--color-primary);}
.feature-icon {font-size: 1.75rem; margin-bottom: 0.1rem; display: inline-block; transition: var(--transition-fast);}
.feature-box:hover .feature-icon {transform: scale(1.08);}
.feature-box h3 {font-size: 0.95rem; font-weight: 700; color: var(--color-gray-900); margin-bottom: 0.25rem; line-height: 1.3;}
.feature-box p {color: var(--color-gray-600); font-size: 0.85rem; margin-bottom: 0; line-height: 1.4;}

/* === BENEFITS SECTION === */
.benefits-section .card {transition: var(--transition-base);}
.benefits-section .card:hover, .benefits-section .card:focus-within {transform: translateY(-5px); box-shadow: var(--shadow-xl); border-color: var(--color-primary);}

/* === CTA SECTION === */
.cta-section {background: var(--gradient-cta); color: var(--color-white); padding: 5rem 0; position: relative; overflow: hidden;}
.cta-section::before {content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.03'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E"); opacity: 1;}

/* === FAQ SECTION === */
.accordion-button:not(.collapsed) {background: var(--color-primary); color: var(--color-white); box-shadow: none;}
.accordion-button:not(.collapsed)::after { background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23ffffff'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");}

/* === ARTICLES SECTION === */
.article-card {background: var(--gradient-card); border-radius: var(--border-radius-lg); padding: 2rem; transition: var(--transition-base); border: 1px solid var(--color-gray-200); height: 100%; display: flex; flex-direction: column; box-shadow: var(--shadow-sm);}
.article-card:hover, .article-card:focus-within {transform: translateY(-5px); box-shadow: var(--shadow-xl); border-color: var(--color-primary);}
.article-meta {display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; font-size: 0.875rem;}
.article-meta time {color: var(--color-gray-600);}
.article-meta .article-category {background: rgba(0, 102, 255, 0.15); color: var(--color-primary); padding: 0.25rem 0.75rem; border-radius: var(--border-radius-sm); font-weight: 600;}
.article-card h3 {margin-bottom: 1rem;}
.article-card h3 a {color: var(--color-gray-900); text-decoration: none; transition: var(--transition-fast);}
.article-card h3 a:hover, 
.article-card h3 a:focus {color: var(--color-primary);}
.article-card p {color: var(--color-gray-700); margin-bottom: 1.5rem; flex-grow: 1; font-size: 0.95rem; line-height: 1.7;}


/* ==================================================================== */
/* === NEWS LIST PAGE === */
.news-list .article-card:hover, .news-list .article-card:focus-within  {transform: none; }
.news-list .article-card h2  {margin-bottom: 1rem; }
.news-list .article-card h2 a {color: var(--color-gray-900); text-decoration: none; transition: var(--transition-fast);}
.news-list .article-card h2 a:hover, 
.news-list .article-card h2 a:focus {color: var(--color-primary); text-decoration: underline;}

/* ===== Animacje filtrowania – TYLKO aktualności ===== */
.news-list > .col-12 {transition: height .25s ease, margin .25s ease, opacity .25s ease; overflow: hidden;}
.news-list > .col-12.is-collapsing {height: 0 !important; margin-top: 0 !important; margin-bottom: 0 !important; opacity: 0;}
.news-list > .col-12.is-hidden {display: none;}

/* === SIDE BAR === */
.sidebar-card {background: var(--gradient-card); padding: 2rem; border-radius: var(--border-radius-lg); border: 1px solid var(--color-gray-200); margin-bottom: 2rem; box-shadow: var(--shadow-sm);}
.sidebar-card h3 {font-size: 1.125rem; font-weight: 700; margin-bottom: 1rem; color: var(--color-gray-900);}

.category-list {list-style: none; margin: 0; padding: 0;}
.category-filter {all: unset; width: 100%; padding: 0.5rem 1rem; cursor: pointer; font-size: .95rem;}
.category-filter:hover, .category-filter[aria-pressed="true"]:hover {color: white; background-color: var(--color-primary) !important; text-decoration: underline;}
.category-filter.active, .category-filter[aria-pressed="true"] {font-weight: 600; color: var(--color-primary)}

.wcag-timeline {position: relative; padding-left: 30px; margin-top: 20px;}
.wcag-timeline::before {content: ''; position: absolute; left: 8px; top: 0; bottom: 0; width: 2px; background: linear-gradient(to bottom, var(--color-primary-light) 0%, var(--color-primary-dark) 100%);}
.wcag-timeline li {position: relative; padding-bottom: 25px; padding-left: 15px;}
.wcag-timeline li:last-child {padding-bottom: 0;}
.wcag-timeline li::before {content: ''; position: absolute; left: -26px; top: 4px; width: 12px; height: 12px; border-radius: 50%; background: var(--color-primary); border: 3px solid var(--color-primary); z-index: 1; box-shadow: 0 0 0 3px rgba(13, 110, 253, 0.1);}
.wcag-timeline .timeline-date {display: block; font-weight: 700; font-size: 0.95rem; color: var(--color-primary); margin-bottom: 4px;}
.wcag-timeline .timeline-content {display: block; font-size: 0.9rem; color: #6c757d; line-height: 1.4;}


/* ==================================================================== */
/* === MODAL WINDOWS AND FORMS === */

.modal-backdrop.show { opacity: 1;}
.modal-backdrop { background-color: rgba(0, 61, 153, 0.5); opacity: 1;  -webkit-backdrop-filter: blur(5px);  backdrop-filter: blur(5px);}
.modal-content {border: none; border-radius: 12px; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);}
.modal-header {padding: 1.5rem 1.5rem 1rem 1.5rem; background-color: #eeeeff;}
.modal-title {color: #344352; font-weight: 600; font-size: 1rem;}
.modal-body {padding: 1rem 1.5rem 1.5rem 1.5rem; max-height: 80vh; overflow-y: auto; scroll-behavior: smooth;}
.modal-dialog {max-width: 900px !important; }

.alert {border-radius: 8px; border: none;}
.submit-spinner {display: inline-flex; align-items: center;}
.form-material{position:relative;margin-bottom:.75rem}
.form-material .form-control{background-color: #f4f4f4; border:0;border-bottom:2px solid var(--color-gray-300);border-radius:0;padding:.75rem .25rem .35rem .25rem;height:auto;font-size:.9rem;line-height:1.4;box-shadow:none;transition:border-color .2s cubic-bezier(.4,0,.2,1),border-bottom-width .2s cubic-bezier(.4,0,.2,1)}
.form-material .form-control:focus{border-bottom-color:var(--color-primary);outline:0;box-shadow:none}
.form-material .form-control:focus-visible{outline:0;box-shadow:none;border-bottom-width:3px}
.form-material .form-control::placeholder{color:transparent}
.form-material .form-control:focus+label,
.form-material .form-control:not(:placeholder-shown)+label,
.form-material .form-control:not([placeholder])+label{transform:translate3d(0,-1.25rem,0) scale(.85);color:var(--color-primary)}
.form-material .form-control:not(:focus):not(:placeholder-shown)+label{color:var(--color-gray-900)}
.form-material .form-control:required+label::after{display:inline}
.form-material textarea.form-control{resize:vertical;min-height:60px;}
.form-material label{position:absolute;left:0;top:1.05rem;transform:translate3d(0,0,0);font-size:.9rem;color:var(--color-gray-600);pointer-events:none;padding:0 .25rem;transform-origin:left top;transition:transform .2s cubic-bezier(.4,0,.2,1),color .2s cubic-bezier(.4,0,.2,1);will-change:transform}
.form-material label::after{content:" *";color:#dc3545;display:none}
.form-submit{padding:.5rem .75rem;font-size:.9rem}
.form-disclaimer{font-size:.75rem;line-height:1.3;margin-top:.5rem;color:var(--color-gray-600)}
.form-material textarea.form-control:focus + label,
.form-material textarea.form-control:not(:placeholder-shown) + label{transform:translate3d(0,-1.65rem,0) scale(.85);color:var(--color-primary)}
.form-material textarea.form-control + label{top:1.4rem;transform:translate3d(0,0,0)}

.form-check label.form-check-label.small {font-size: 0.8rem;} 


/* ==================================================================== */
/* === OFERTA === */
.service-badge {display: inline-block; padding: 0.5rem 1rem; background: linear-gradient(135deg, rgba(0, 82, 204, 0.1) 0%, rgba(0, 102, 255, 0.15) 100%); color: var(--color-primary); border-radius: var(--border-radius-md); font-weight: 600; font-size: 0.875rem;}
#service-nav .nav-link-custom.active-service {background-color: var(--color-primary) !important; color: white !important; border-color: var(--color-primary) !important;}


/* ==================================================================== */
/* === KONTAKT === */

.kontakt-status {margin-top: 1rem;padding: 0.75rem 1rem;border-radius: 0.375rem;font-size: 0.875rem;}







/* === ACCESSIBILITY IMPROVEMENTS === */
@media (prefers-reduced-motion: reduce) {*, *::before, *::after {animation-duration: 0.01ms !important; animation-iteration-count: 1 !important; transition-duration: 0.01ms !important;}}
@media (prefers-color-scheme: dark) {}
.visually-hidden {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0;}



/* Filtry - chip style z wyróżnionym resetem */
        .filter-section {margin-bottom: 2rem;}
        .filter-label {display: inline-flex; align-items: center; gap: 0.5rem; font-weight: 600; color: #495057; margin-right: 1rem; margin-bottom: 0.5rem;}
        .filter-label i {font-size: 1.1rem;}
        
        .filter-chips {display: inline-flex; flex-wrap: wrap; gap: 0.5rem; align-items: center;}
        .filter-chip {padding: 0.5rem 1rem; border: 1px solid #dee2e6; border-radius: 2rem; background: white; color: #495057; cursor: pointer; transition: all 0.3s ease; font-size: 0.9rem; white-space: nowrap;}
        .filter-chip:hover {background: #f8f9fa; border-color: #0d6efd;}
        .filter-chip.active {background: #0d6efd; color: white; border-color: #0d6efd;}
        
        .filter-reset {padding: 0.5rem 1rem; border: 2px solid #6c757d; border-radius: 2rem; background: white; color: #6c757d; cursor: pointer; transition: all 0.3s ease; font-size: 0.9rem; font-weight: 600; margin-left: 0.5rem;}
        .filter-reset:hover {background: #6c757d; color: white;}
        .filter-reset.active {background: #6c757d; color: white; border-color: #6c757d;}
        
        .filter-divider {width: 1px; height: 24px; background: #dee2e6; margin: 0 0.5rem; display: inline-block;}
        
        /* Masonry layout */
        .masonry-grid {column-count: 3; column-gap: 1.5rem;}
        @media (max-width: 992px) {.masonry-grid {column-count: 2;}}
        @media (max-width: 576px) {.masonry-grid {column-count: 1;}}
        
        .masonry-item {break-inside: avoid; margin-bottom: 1.5rem; display: inline-block; width: 100%;}
        .project-card {transition: all 0.3s ease;}
        .project-card.hidden {display: none;}
        
        /* Niebieska ramka dla JST/GOV, szara dla reszty */
        .card-gov {border: 2px solid #0d6efd !important;}
        .card-standard {border: 1px solid #dee2e6;}
        
        /* Ujednolicone nagłówki - wszystkie h3, czarne, pogrubione */
        .project-title {font-size: 1.1rem; font-weight: 700; color: #000; margin-bottom: 0.5rem;}
        .project-subtitle {font-size: 0.85rem; color: #6c757d; margin-bottom: 1rem;}
        
        .badge-custom {font-size: 0.75rem; font-weight: 500; padding: 0.4rem 0.7rem;}
        
        .stats-section {background:#f4f4f4; padding: 3rem 0; margin-bottom: 3rem;}
        .stat-number {font-size: 4rem; font-weight: 800; line-height: 1;}
        .stat-label {font-size: 1rem; opacity: 1; margin-top: 0.5rem;}





