:root {
    --ek-red: #bf1e2e;  /*czerwony (akcent / aktywne)*/
    --ek-blue: #25aae1;  /*niebieski jasny*/
    --ek-bg-lilac: #f0eff5; /*tło jasnofioletowe*/
    --ek-bg-grey: #f8f9fa; /* tło jasnoszare   */
    --ek-navy: #040037; /* granat (stopka) */
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: 'Montserrat', sans-serif;
    color: #333;
}

h1, h2, h3, h4, h5, h6,
.uk-navbar-nav > li > a {
    font-family: 'Montserrat', sans-serif;
}

/* ---------- Nagłówek / menu ---------- */

.site-header {
    background: #fff;
    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
    position: relative;
    z-index: 100;
}

.site-header .uk-navbar-container {
    background: transparent;
    min-height: 110px;
}

.logo-link img {
    display: block;
}

.main-menu {
    font-weight: 600;
    letter-spacing: .03em;
}

.main-menu > li > a {
    color: var(--ek-blue);
    font-size: 15px;
    font-weight: 600;
    text-transform: uppercase;
    transition: color .2s ease;
}

.main-menu > li > a:hover,
.main-menu > li > a:focus {
    color: var(--ek-red) !important;
}

.main-menu > li.uk-active > a {
    color: var(--ek-red);
}

.offcanvas-menu > li > a {
    color: var(--ek-blue);
    font-weight: 600;
    text-transform: uppercase;
}

.offcanvas-menu > li.uk-active > a,
.offcanvas-menu > li > a:hover {
    color: var(--ek-red);
}

/* ---------- Karuzela główna (pełna szerokość) ---------- */

.hero-slider {
    width: 100%;
}

@media (max-width: 640px) {
    .hero-slider,
    .hero-slider .uk-slideshow-items {
        min-height: 260px !important;
        max-height: 260px !important;
    }
}

.hero-slider .slide-overlay {
    background: rgba(4, 0, 55, 0.35);
}

.hero-slider .slide-caption h1 {
    color: #fff;
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.35;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    max-width: 1100px;
    margin: 0 auto;
}

.tytul {
    color: #fff;
    font-weight: 700;
    font-size: 2.1rem;
    line-height: 1.35;
    text-shadow: 0 2px 10px rgba(0, 0, 0, .35);
    max-width: 1100px;
    margin: 0 auto;
}

@media (max-width: 640px) {
    .hero-slider .slide-caption h1 {
        font-size: 1.3rem;
    }
    
    .tytul {
        font-size: 1.3rem;
    }
}

.hero-slider .slide-nav {
    color: #fff;
    opacity: .8;
}

.hero-slider .slide-nav:hover {
    opacity: 1;
    color: var(--ek-blue);
}

.uk-slideshow-nav > * > * {
    background-color: rgba(255, 255, 255, .5);
}

.uk-slideshow-nav > .uk-active > * {
    background-color: var(--ek-red);
}

/* ---------- Sekcje ogólne ---------- */

.section {
    padding: 70px 0;
}

.section-title {
    color: #2b2b3d;
    font-weight: 600;
    margin-bottom: 22px;
}

.section p {
    color: #555;
    line-height: 1.75;
    font-size: 15px;
}

.section-fundacja,
.section-cele {
    background-color: var(--ek-bg-lilac);
}

.section-misja,
.section-cele-rowniez {
    background-color: var(--ek-bg-grey);
}

.title-misja,
.title-cele-rowniez {
    color: var(--ek-red);
}

/* Mały slider wewnątrz sekcji "Fundacja" */
.slide-nav-small {
    color: var(--ek-navy);
    opacity: .55;
}

.slide-nav-small:hover {
    opacity: 1;
    color: var(--ek-red);
}

/* Lista "Nasze cele to również" */
.cele-item {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin-bottom: 22px;
}

.cele-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border: 2px solid var(--ek-red);
    border-radius: 50%;
    color: var(--ek-red);
    margin-top: 4px;
    flex: 0 0 auto;
}

/* ---------- Cień na obrazkach, znika po najechaniu ---------- */

.img-shadow,
.uk-slider-items img,
.section img {
    box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15);
    border-radius: 4px;
    transition: box-shadow .3s ease, transform .3s ease;
    overflow: hidden;
}

.img-shadow img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}

/* Węższy wariant - "karta" (cień) dopasowuje się do szerokości obrazka */
.img-narrow {
    max-width: 420px;
    margin: 0 auto;
}

.img-shadow:hover,
.uk-slider-items li:hover img,
.section img:hover {
    box-shadow: none;
}

/* Mały slider w sekcji "Fundacja" - uk-cover potrzebuje zdefiniowanej
   wysokości kontenera, żeby poprawnie wypełnić go obrazkiem */
.section-fundacja .uk-slider-items > li {
    height: 340px;
}

.section-fundacja .uk-slider-items .img-shadow {
    height: 100%;
    box-shadow: none!important;
}



/* Mały slider w sekcji "Fundacja" - bez cienia na obrazkach
   (i tak byłby ucięty po bokach przez overflow: hidden slidera) */
.section-fundacja .uk-slider-items img {
    box-shadow: none;
}

/* ---------- Stopka (pełna szerokość) ---------- */

.site-footer {
    width: 100%;
    background-color: var(--ek-navy);
    padding: 26px 0;
}

.footer-text {
    color: #d7d7e6;
    font-size: 14px;
    margin: 0;
    letter-spacing: .02em;
}

/* ---------- Strona: Kontakt ---------- */

.page-title-section {
    background-color: #fbfbfc;
    padding: 55px 0 40px;
}

.page-title {
    color: var(--ek-blue);
    font-weight: 400;
    font-size: 2.6rem;
    letter-spacing: .12em;
    margin: 0 0 20px;
}

.page-title-line {
    width: 100%;
    max-width: 950px;
    height: 1px;
    background-color: var(--ek-blue);
    margin: 0 auto;
}

.section-kontakt {
    background-color: var(--ek-bg-lilac);
}

.kontakt-logo {
    max-width: 220px;
    height: auto;
    margin-bottom: 30px;
    box-shadow: none!important;
}

.kontakt-item {
    display: flex;
    align-items: center;
    gap: 16px;
}

.kontakt-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: 1px solid var(--ek-navy);
    color: var(--ek-navy);
    font-size: 20px;
    flex: 0 0 auto;
}

.kontakt-email {
    color: var(--ek-red);
    font-weight: 600;
    letter-spacing: .06em;
    text-decoration: none;
}

.kontakt-email:hover {
    color: var(--ek-blue);
}

.form-title {
    color: #2b2b3d;
    font-weight: 500;
    text-align: center;
    margin-bottom: 30px;
}

.contact-form .uk-form-label {
    color: #333;
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 6px;
    display: inline-block;
}

.contact-form .required {
    color: var(--ek-red);
}

.contact-form .uk-input,
.contact-form .uk-textarea {
    background-color: #fff;
    border: 1px solid #dcdce3;
    border-radius: 3px;
}

.contact-form .uk-input:focus,
.contact-form .uk-textarea:focus {
    border-color: var(--ek-blue);
}

.captcha-input {
    max-width: 140px;
}

.btn-send {
    background-color: var(--ek-red);
    color: #fff;
    font-weight: 600;
    letter-spacing: .05em;
    padding: 0 34px;
    border-radius: 3px;
    transition: background-color .2s ease;
}

.btn-send:hover {
    background-color: var(--ek-blue);
    color: #fff;
}

/* Honeypot - pole ukryte przed użytkownikiem, ale dostępne dla botów w kodzie DOM */
.hp-field {
    position: absolute;
    left: -9999px;
    top: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* ---------- Strona: Statut ---------- */

.section-statut {
    background-color: #f8f9fa;
}

.statute {
    max-width: 900px;
    margin: 0 auto;
    color: #444;
}

.statute p,
.statute li {
    line-height: 1.8;
    font-size: 15px;
    text-align: justify;
}

.statute-main-title {
    text-align: center;
    font-weight: 700;
    color: var(--ek-red);
    font-size: 1.7rem;
    margin-bottom: 45px;
}

.chapter-title {
    text-align: center;
    font-weight: 700;
    color: var(--ek-navy);
    font-size: 1.4rem;
    margin-top: 55px;
    margin-bottom: 28px;
}

.statute-main-title + .chapter-title {
    margin-top: 0;
}

.subsection-title {
    text-align: center;
    font-weight: 700;
    color: var(--ek-navy);
    font-size: 1.15rem;
    margin-top: 40px;
    margin-bottom: 22px;
}

.paragraf-title {
    text-align: center;
    font-weight: 700;
    color: var(--ek-red);
    font-size: 1.1rem;
    margin-top: 34px;
    margin-bottom: 16px;
}

.statute > ol,
.statute > p {
    margin-bottom: 16px;
}

.statute ol {
    padding-left: 26px;
}

.statute ol > li {
    margin-bottom: 10px;
}

.statute .sub-list {
    margin-top: 10px;
    padding-left: 22px;
}

.statute .sub-list > li {
    margin-bottom: 6px;
}

.pkd-list {
    list-style: none;
    padding-left: 0;
    margin-top: 10px;
}

.pkd-list > li {
    margin-bottom: 8px;
    padding-left: 0;
}

.pkd-code {
    display: inline-block;
    min-width: 78px;
    font-weight: 700;
    color: var(--ek-blue);
}

/* ---------- Przycisk "to top" ---------- */

.back-to-top {
    position: fixed;
    left: 24px;
    bottom: 24px;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background-color: var(--ek-red);
    color: #fff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .25s ease, transform .25s ease, background-color .25s ease, visibility .25s ease;
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
    z-index: 999;
}

.back-to-top.is-visible {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.back-to-top:hover {
    background-color: var(--ek-blue);
    color: #fff !important;
}