/* Paleta i typografia przeniesione z motywu kmt — wygląd ma zostać bez zmian. */
:root {
    --akcent: #9a8a61;          /* zloto-braz z oryginalu (bylo #cc0000) */
    --zloto-menu: #c0a068;      /* jasniejsze zloto na granatowym tle */
    --zloto-stopka: #a88455;    /* pas menu w stopce, jak w oryginale */
    --granat: #0b192d;
    --granat-ciemny: #0a192c;
    --zloto: #9a8a61;
    --zloto-ciemne: #886a3e;
    --tlo: #ffffff;
    --tlo-szare: #f3f3f3;
    --linia: #d6d6d6;
    --tekst: #333333;
    --tekst-jasny: #727272;
    --szerokosc: 1200px;
}

*, *::before, *::after { box-sizing: border-box; }
body {
    margin: 0;
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: var(--tekst);
    background: var(--tlo);
}
img { max-width: 100%; height: auto; }
a { color: var(--akcent); }

.kmt-kontener { max-width: var(--szerokosc); margin: 0 auto; padding: 0 20px; }
.kmt-tresc > .kmt-kontener > .blok:last-child { margin-bottom: 0; }

/* === Nagłówek: logo po lewej, menu po prawej w jednej linii === */
#head {
    position: fixed; top: 0; left: 0; width: 100%; z-index: 9999;
    background: var(--granat-ciemny);
    border-bottom: 2px solid var(--zloto-menu);
    transition: all .3s ease;
}
.container-head {
    max-width: var(--szerokosc); margin: 0 auto; padding: 0 20px;
    min-height: 104px; display: flex; align-items: center; gap: 30px;
}
.logo-container { flex-shrink: 0; }
.logo { width: auto; max-height: 76px; display: block; }

#catmenu {
    margin-left: auto; display: flex; align-items: center; flex-wrap: wrap;
    justify-content: flex-end; gap: 0;
}
#catmenu .poz { position: relative; display: flex; align-items: center; }
/* Ukośnik rozdzielający pozycje, jak w oryginale */
#catmenu .poz + .poz::before {
    content: '/'; color: var(--zloto-menu); opacity: .55; font-size: 13px; padding: 0 2px;
}
#catmenu a {
    display: inline-block; font-family: 'Roboto', sans-serif; font-size: 13px; font-weight: 400;
    text-transform: uppercase; text-decoration: none; color: var(--zloto-menu);
    letter-spacing: .03em; padding: 10px 13px; transition: color .2s ease;
}
#catmenu a:hover, #catmenu .jest-aktywny > a { color: #fff; }

#catmenu .podmenu {
    display: none; position: absolute; left: 0; top: 100%; margin: 0; padding: 6px 0;
    list-style: none; background: var(--granat-ciemny); min-width: 230px;
    border: 1px solid rgba(192, 160, 104, .3);
    box-shadow: 0 8px 22px rgba(0, 0, 0, .45); z-index: 10;
}
#catmenu .poz:hover .podmenu, #catmenu .poz:focus-within .podmenu { display: block; }
#catmenu .podmenu a { display: block; padding: 9px 18px; font-size: 12px; }
#catmenu .podmenu li + li a { border-top: 1px solid rgba(255, 255, 255, .06); }

.menu-mobilne {
    display: none; margin-left: auto;
    background: none; border: 0; color: var(--zloto-menu); font-size: 26px; cursor: pointer;
}

/* === Baner podstrony (#page-top) === */
#page-top { position: relative; width: 100%; margin-top: 106px; overflow: hidden; }
#page-top .page-top-img { width: 100%; height: auto; display: block; }
.fx-container {
    max-width: var(--szerokosc); width: 100%; height: 100%;
    position: absolute; left: 50%; top: 0; transform: translateX(-50%);
}
/* Plakietka celowo wystaje poza baner — tak jest w oryginale
   (.page-gold-belt{position:absolute;left:-20%;top:10px}, bez ograniczen). */
.page-gold-belt { position: absolute; left: -4%; top: 16%; max-width: 40%; height: auto; }

/* Treść */
.kmt-tresc { padding: 36px 0 60px; }
.kmt-tytul-strony { font-family: 'EB Garamond', 'PT Serif', serif; font-size: 36px; font-weight: 500; color: var(--granat); margin: 0 0 24px; }
.blok { margin: 0 0 26px; }
.blok--tekst h2, .blok--tekst h3, .blok--tekst h4 { font-family: 'EB Garamond', 'PT Serif', serif; color: var(--granat); font-weight: 600; }
.blok--separator { border: 0; border-top: 1px solid var(--linia); }
.blok--separator-maly { margin: 14px 0; }
.blok--separator-sredni { margin: 30px 0; }
.blok--separator-duzy { margin: 52px 0; }
.blok--obraz { margin: 0 0 26px; }
.blok--obraz figcaption { font-size: 13px; color: var(--tekst-jasny); padding-top: 6px; }
.blok--obraz-pelny img { width: 100%; }
.blok--dwie-kolumny { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; }
.blok--wideo video { width: 100%; height: auto; background: #000; display: block; }
/* Odtwarzacz z oryginalu bywal waski (200-400 px). Powiekszamy i centrujemy —
   pionowe nagrania byly przez to praktycznie nieczytelne. */
.blok--wideo { max-width: 560px !important; margin-left: auto !important; margin-right: auto !important; }

.kmt-przycisk {
    display: inline-block; padding: 12px 26px; background: var(--akcent); color: #fff;
    text-decoration: none; text-transform: uppercase; font-size: 12px; font-weight: 700;
    letter-spacing: .08em; border-radius: 2px;
}
.kmt-przycisk:hover { background: var(--granat); }

/* Akordeon (dawne moduły toggle) */
.kmt-akordeon { border-bottom: 1px solid var(--linia); }
.kmt-akordeon summary {
    cursor: pointer; padding: 14px 0; font-weight: 600; color: var(--granat);
    font-family: 'EB Garamond', 'PT Serif', serif; font-size: 19px; list-style: none;
}
.kmt-akordeon summary::-webkit-details-marker { display: none; }
.kmt-akordeon summary::before { content: '+'; color: var(--akcent); font-weight: 700; margin-right: 10px; }
.kmt-akordeon[open] summary::before { content: '–'; }
.kmt-akordeon__tresc { padding: 0 0 18px; }

/* Galeria — siatka zamiast slidera */
.kmt-galeria {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    gap: 10px;
    margin: 24px 0;
}
.kmt-galeria__kafel { display: block; position: relative; overflow: hidden; background: var(--tlo-szare); aspect-ratio: 4 / 3; }
.kmt-galeria__kafel img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease; }
.kmt-galeria__kafel:hover img { transform: scale(1.04); }
.kmt-galeria__licznik { color: var(--tekst-jasny); font-size: 13px; }

/* Lightbox */
.kmt-lightbox { position: fixed; inset: 0; background: rgba(10, 25, 44, .96); display: none; z-index: 9999; }
.kmt-lightbox.jest-otwarty { display: flex; align-items: center; justify-content: center; }
.kmt-lightbox img { max-width: 94vw; max-height: 86vh; object-fit: contain; }
.kmt-lightbox__pasek { position: absolute; top: 0; left: 0; right: 0; display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; color: #fff; font-size: 13px; }
.kmt-lightbox__przycisk {
    background: none; border: 0; color: #fff; font-size: 34px; line-height: 1; cursor: pointer; padding: 10px 16px;
}
.kmt-lightbox__przycisk:hover { color: var(--akcent); }
.kmt-lightbox__poprzedni { position: absolute; left: 0; top: 50%; transform: translateY(-50%); }
.kmt-lightbox__nastepny { position: absolute; right: 0; top: 50%; transform: translateY(-50%); }

/* YouTube — odtwarzacz ładowany dopiero po kliknięciu */
.kmt-youtube { position: relative; aspect-ratio: 16 / 9; background: #000 center/cover no-repeat; cursor: pointer; }
.kmt-youtube iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.kmt-youtube__start { position: absolute; inset: 0; width: 100%; height: 100%; background: none; border: 0; cursor: pointer; }
.kmt-youtube__ikona {
    position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
    width: 68px; height: 48px; border-radius: 10px; background: var(--akcent);
}
.kmt-youtube__ikona::after {
    content: ''; position: absolute; left: 27px; top: 14px;
    border-style: solid; border-width: 10px 0 10px 17px; border-color: transparent transparent transparent #fff;
}

/* Stopka */
.kmt-stopka { background: var(--granat-ciemny); color: #9fb0c4; padding: 28px 0; font-size: 13px; }
.kmt-powrot { margin-top: 34px; }

@media (max-width: 860px) {
    .blok--dwie-kolumny { grid-template-columns: 1fr; }
    .kmt-galeria { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); }
    .kmt-tytul-strony { font-size: 28px; }
}

/* Kafel albumu w archiwum — pozioma lista zamiast wstawiania setek zdjęć na stronę */
.blok--galeria { margin: 0 0 16px; }
.kmt-album {
    display: grid; grid-template-columns: 300px 1fr; gap: 0;
    text-decoration: none; color: inherit;
    border: 1px solid var(--linia); background: #fff; transition: box-shadow .2s ease;
}
.kmt-album:hover { box-shadow: 0 6px 22px rgba(10, 25, 44, .13); }
.kmt-album__obraz { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: var(--tlo-szare); }
.kmt-album__obraz img { width: 100%; height: 100%; object-fit: cover; display: block; }
.kmt-album__opis { display: flex; flex-direction: column; justify-content: center; padding: 18px 24px; }
.kmt-album__zobacz {
    display: block; font-family: 'EB Garamond', 'PT Serif', serif; font-size: 21px;
    color: var(--granat); font-weight: 600; line-height: 1.3;
}
.kmt-album:hover .kmt-album__zobacz { color: var(--akcent); }
.kmt-album__meta { display: block; color: var(--tekst-jasny); font-size: 13px; padding-top: 6px; }

@media (max-width: 700px) {
    .kmt-album { grid-template-columns: 1fr; }
    .kmt-album__zobacz { font-size: 17px; }
}

/* === Wyrównania przeniesione z modułów Divi === */
.wyr-lewo       { text-align: left; }
.wyr-srodek     { text-align: center; }
.wyr-prawo      { text-align: right; }
.wyr-justowanie { text-align: justify; }

/* Obraz z ustawionym wyrównaniem — figure zachowuje się jak blok o własnej szerokości */
figure.blok--obraz { margin-left: 0; margin-right: 0; }
figure.blok--obraz.wyr-srodek { margin-left: auto; margin-right: auto; text-align: center; }
figure.blok--obraz.wyr-srodek img { margin-left: auto; margin-right: auto; }
figure.blok--obraz.wyr-prawo  { margin-left: auto; margin-right: 0; }
/* Obrazy w naturalnym rozmiarze, nigdy powiekszane - tak jak w Divi. */
figure.blok--obraz img { display: block; max-width: 100%; width: auto; height: auto; }

/* === Klasy przeniesione ze stylu motywu kmt === */
.kapitula-container { padding-top: 10px; padding-bottom: 10px; }
.kapitula-p-img { padding: 0; }
.kapitula-p-img img { max-width: 165px; }
.kapitula-name {
    font-size: 22px; font-weight: bold; color: #0B192D;
    padding-left: 15px; margin-top: 36px;
}
.kapitula-p-title { padding-left: 15px; }
.laureaci-row { border-top: 1px solid #BCBEC0; padding-bottom: 20px; transition: all .3s ease; }
.press-item { box-shadow: 0 4px 6px 0 rgba(33, 33, 33, .48); }

/* === Układy kolumnowe przeniesione z siatki Divi (gutter 3: kolumna 23,25% / 29,66% / 47,25%) === */
.kmt-wiersz { display: grid; gap: 0 5.5%; align-items: flex-start; margin: 0 0 26px; }
.kmt-wiersz > .kmt-kolumna > .blok:last-child { margin-bottom: 0; }

.kmt-wiersz--1_4-3_4          { grid-template-columns: 23.25% 71.25%; }
.kmt-wiersz--3_4-1_4          { grid-template-columns: 71.25% 23.25%; }
.kmt-wiersz--1_3-2_3          { grid-template-columns: 29.66% 64.84%; }
.kmt-wiersz--2_3-1_3          { grid-template-columns: 64.84% 29.66%; }
.kmt-wiersz--1_2-1_2          { grid-template-columns: 47.25% 47.25%; }
.kmt-wiersz--1_3-1_3-1_3      { grid-template-columns: repeat(3, 29.66%); }
.kmt-wiersz--1_4-1_4-1_4-1_4  { grid-template-columns: repeat(4, 23.25%); gap: 0 2.33%; }
.kmt-wiersz--1_3-1_3          { grid-template-columns: 29.66% 29.66%; }
.kmt-wiersz--1_4-1_4          { grid-template-columns: 23.25% 23.25%; }
.kmt-wiersz--4_4              { grid-template-columns: 100%; }

@media (max-width: 860px) {
    .kmt-wiersz { grid-template-columns: 1fr !important; gap: 0; }
    .kmt-kolumna + .kmt-kolumna { margin-top: 18px; }
}

/* Menu mobilne */
@media (max-width: 1100px) {
    #catmenu a { font-size: 13px; padding: 12px 7px 24px; }
}
@media (max-width: 1150px) {
    #catmenu a { font-size: 12px; padding: 10px 8px; }
}
@media (max-width: 950px) {
    .container-head { min-height: 86px; }
    .logo { max-height: 62px; }
    .menu-mobilne { display: block; }
    #catmenu {
        display: none; position: absolute; left: 0; right: 0; top: 100%;
        border-bottom: 2px solid var(--zloto-menu);
        background: var(--granat-ciemny); padding: 10px 0;
    }
    #catmenu.jest-otwarte { display: block; }
    #catmenu .poz { display: block; }
    #catmenu .poz + .poz::before { display: none; }
    #catmenu a { display: block; padding: 10px 18px; }
    #catmenu .podmenu { position: static; display: block; box-shadow: none; padding-left: 14px; }
    #page-top { margin-top: 88px; }
    .page-gold-belt { max-width: 56%; }
}

/* === Slider strony głównej (odpowiednik et_pb_fullwidth_slider) === */
.kmt-tresc--glowna { padding-top: 106px; }   /* wysokosc stalego naglowka */
/* Slider renderowany poza kontenerem, wiec zajmuje pelna szerokosc bez sztuczek z vw. */
.kmt-slider { position: relative; width: 100%; margin: 0 0 40px; overflow: hidden; background: var(--granat-ciemny); }
.kmt-slajd {
    display: none; width: 100%; min-height: 620px;
    background-size: cover; background-position: center; position: relative;
}
.kmt-slajd.jest-widoczny { display: block; animation: kmt-pojaw .6s ease; }
/* Przyciemnienie od dolu — bez niego bialy podpis ginie na jasnych slajdach. */
.kmt-slajd::after {
    content: ''; position: absolute; inset: 0; pointer-events: none;
    background: linear-gradient(to top, rgba(10, 25, 44, .62) 0%, rgba(10, 25, 44, .22) 42%, rgba(10, 25, 44, 0) 70%);
}
.kmt-slajd__wnetrze { position: relative; z-index: 1; }
@keyframes kmt-pojaw { from { opacity: .25 } to { opacity: 1 } }

.kmt-slajd__wnetrze {
    max-width: var(--szerokosc); margin: 0 auto; position: relative;
    min-height: 620px; box-sizing: border-box;
}
/* Złota plakietka — po lewej, u góry, jak na podstronach */
.kmt-slajd__plakietka {
    position: absolute; left: -4%; top: 12%; max-width: 40%; height: auto;
}
/* Podpis — przy dolnej krawędzi po prawej */
.kmt-slajd__podpis {
    position: absolute; right: 20px; bottom: 90px; margin: 0; max-width: 60%;
    text-align: right; color: #fff;
    font-family: 'EB Garamond', 'PT Serif', serif; font-size: 34px; line-height: 1.25;
    text-shadow: 0 2px 16px rgba(0, 0, 0, .75);
}
.kmt-slider__kropki { position: absolute; left: 0; right: 0; bottom: 22px; text-align: center; z-index: 2; }
.kmt-slider__kropki button {
    width: 11px; height: 11px; margin: 0 5px; padding: 0; border: 0; border-radius: 50%;
    background: rgba(255, 255, 255, .45); cursor: pointer;
}
.kmt-slider__kropki button.jest-aktywna { background: var(--akcent); }

/* Nagłówek jest pełny także na stronie głównej — slider zaczyna się pod nim. */

@media (max-width: 950px) {
    .kmt-tresc--glowna { padding-top: 88px; }
}
@media (max-width: 860px) {
    .kmt-slajd, .kmt-slajd__wnetrze { min-height: 440px; }
    /* Jak w oryginale: na wąskim ekranie plakietka znika, podpis idzie na środek zdjęcia. */
    .kmt-slajd__plakietka { display: none; }
    /* Podpis siedzi na srodku zdjecia, wiec przyciemnienie musi byc rownomierne. */
    .kmt-slajd::after {
        background: linear-gradient(to top, rgba(10, 25, 44, .55) 0%, rgba(10, 25, 44, .42) 50%, rgba(10, 25, 44, .25) 100%);
    }
    .kmt-slajd__podpis {
        left: 18px; right: 18px; bottom: auto; top: 50%; transform: translateY(-50%);
        max-width: none; text-align: center; font-size: 26px; line-height: 1.3;
    }
    .kmt-slider__kropki { bottom: 14px; }
}
@media (max-width: 420px) {
    .kmt-slajd, .kmt-slajd__wnetrze { min-height: 420px; }
    .kmt-slajd__podpis { font-size: 21px; }
}

/* === Stopka: dane kontaktowe, pięć kolumn menu, ikony społecznościowe === */
.kmt-stopka { background: var(--granat-ciemny); color: #9fb0c4; font-size: 13px; margin-top: 50px; }
.kmt-stopka a { color: #c8d0da; text-decoration: none; }
.kmt-stopka a:hover { color: var(--akcent); }
.kmt-stopka__gora {
    display: grid; grid-template-columns: 1fr 1.15fr; gap: 50px;
    padding: 48px 20px 40px; align-items: start;
}
.kmt-stopka__dane p { margin: 0 0 16px; line-height: 1.85; }
.kmt-stopka__wstep { margin: 0 0 18px; line-height: 1.7; }
.kmt-stopka__nazwa {
    font-family: 'EB Garamond', 'PT Serif', serif; font-size: 20px; color: #fff; margin: 0 0 10px;
}
.kmt-stopka__spoleczne { display: flex; gap: 10px; margin-top: 22px; }
.kmt-stopka__spoleczne a {
    width: 36px; height: 36px; border-radius: 50%; background: rgba(255, 255, 255, .12);
    display: flex; align-items: center; justify-content: center; font-size: 16px; color: #fff;
}
.kmt-stopka__spoleczne a:hover { background: var(--akcent); color: #fff; }

.kmt-stopka__menu { background: var(--zloto-stopka); }
.kmt-stopka__kolumny {
    display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; padding: 28px 20px;
}
.kmt-stopka__kolumna { display: flex; flex-direction: column; gap: 9px; }
.kmt-stopka__kolumna { border-left: 1px solid rgba(255, 255, 255, .35); padding-left: 18px; }
.kmt-stopka__kolumna:first-child { border-left: 0; padding-left: 0; }
.kmt-stopka__kolumna a { text-transform: uppercase; font-size: 11px; letter-spacing: .05em; color: #fff; }
.kmt-stopka__menu a:hover { color: var(--granat-ciemny); }

.kmt-stopka__dol { background: var(--granat-ciemny); border-top: 1px solid rgba(255, 255, 255, .1); }
.kmt-stopka__dol p { margin: 0; padding: 16px 20px; font-size: 12px; }

@media (max-width: 760px) {
    .kmt-stopka__kolumny { grid-template-columns: repeat(2, 1fr); }
}

/* === Formularz kontaktowy === */

.kmt-stopka__naglowek {
    font-family: 'EB Garamond', 'PT Serif', serif; font-size: 28px; font-weight: 500;
    color: #fff; margin: 0 0 22px;
}
.kmt-formularz { max-width: none; }
.kmt-formularz__wiersz { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.pole { margin: 0 0 16px; }
.pole label { display: block; font-size: 13px; color: #c8d0da; margin: 0 0 6px; }
.pole input[type="text"], .pole input[type="email"], .pole input[type="tel"], .pole textarea {
    width: 100%; box-sizing: border-box; padding: 11px 13px;
    background: rgba(255, 255, 255, .06); color: #fff;
    border: 1px solid rgba(255, 255, 255, .18); border-radius: 2px;
    font-family: inherit; font-size: 14px;
}
.pole input:focus, .pole textarea:focus {
    outline: none; border-color: var(--zloto); background: rgba(255, 255, 255, .1);
}
.pole textarea { resize: vertical; min-height: 120px; }
.pole--captcha { max-width: 260px; }
.wymagane { color: var(--akcent); }

.pole--zgoda label { display: flex; gap: 10px; align-items: flex-start; font-size: 12px; line-height: 1.6; }
.pole--zgoda input { margin-top: 3px; flex-shrink: 0; }

.kmt-formularz .kmt-przycisk { border: 0; cursor: pointer; font-family: inherit; }

/* Pułapka na boty — ukryta przed ludźmi, widoczna dla automatów.
   Nie używamy display:none, bo część botów takie pola pomija. */
.pole-pulapka {
    position: absolute !important; left: -9999px !important; top: auto !important;
    width: 1px !important; height: 1px !important; overflow: hidden !important;
}

.kmt-komunikat { padding: 12px 16px; margin: 0 0 18px; border-radius: 2px; font-size: 14px; }
.kmt-komunikat--ok { background: rgba(120, 190, 120, .16); border: 1px solid rgba(120, 190, 120, .4); color: #d6f0d6; }
.kmt-komunikat--blad { background: rgba(204, 0, 0, .14); border: 1px solid rgba(204, 0, 0, .45); color: #ffd7d7; }
.kmt-komunikat ul { margin: 8px 0 0; padding-left: 20px; }

@media (max-width: 700px) {
    .kmt-formularz__wiersz { grid-template-columns: 1fr; gap: 0; }
}

/* === Baner zgód (Consent Mode v2) === */
.kmt-zgody {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 10000;
    background: var(--granat-ciemny); color: #c8d0da;
    box-shadow: 0 -8px 30px rgba(0, 0, 0, .35); font-size: 13px; line-height: 1.6;
}
.kmt-zgody__wnetrze {
    max-width: var(--szerokosc); margin: 0 auto; padding: 18px 20px;
    display: flex; gap: 22px; align-items: center; justify-content: space-between; flex-wrap: wrap;
}
.kmt-zgody__tresc { flex: 1 1 380px; }
.kmt-zgody__tytul {
    font-family: 'EB Garamond', 'PT Serif', serif; font-size: 19px; color: #fff; margin: 0 0 4px;
}
.kmt-zgody p { margin: 0; }
.kmt-zgody__przyciski { display: flex; gap: 10px; flex-wrap: wrap; }
.kmt-zgody .kmt-przycisk { border: 0; cursor: pointer; font-family: inherit; padding: 10px 18px; font-size: 11px; }
.kmt-przycisk--jasny { background: rgba(255, 255, 255, .12); color: #fff; }
.kmt-przycisk--jasny:hover { background: rgba(255, 255, 255, .22); }

.kmt-zgody__ustawienia {
    max-width: var(--szerokosc); margin: 0 auto; padding: 4px 20px 20px;
    border-top: 1px solid rgba(255, 255, 255, .12);
}
.kmt-zgoda { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; }
.kmt-zgoda input { margin-top: 3px; flex-shrink: 0; }
.kmt-zgoda strong { display: block; color: #fff; font-size: 13px; }
.kmt-zgoda small { display: block; color: #9fb0c4; font-size: 12px; }

.kmt-zgody__wroc {
    position: fixed; left: 14px; bottom: 14px; z-index: 9998;
    background: var(--granat-ciemny); color: #c8d0da; border: 1px solid rgba(255, 255, 255, .18);
    border-radius: 3px; padding: 7px 12px; font-size: 11px; cursor: pointer; font-family: inherit;
    opacity: .75;
}
.kmt-zgody__wroc:hover { opacity: 1; color: #fff; }

@media (max-width: 700px) {
    .kmt-zgody__wnetrze { padding: 14px; gap: 12px; }
    .kmt-zgody__przyciski { width: 100%; }
    .kmt-zgody__przyciski .kmt-przycisk { flex: 1 1 auto; text-align: center; }
}


/* === Sekcja z własnym tłem (pełna szerokość okna) === */
.kmt-sekcja { width: 100%; padding: 46px 0; margin: 0 0 30px; }
.kmt-sekcja > .kmt-kontener > .blok:last-child { margin-bottom: 0; }

/* Blok tekstu z KOLOREM tła — złote pasy nagłówków. Tu biały tekst jest właściwy. */
.blok--tekst-tlo { padding: 10px 18px; }
.blok--tekst-tlo p { margin: 0; }

/* Blok ze znakiem wodnym w tle — kolor tekstu BEZ ZMIAN.
   Wcześniej wymuszałem tu biel i treść stawała się niewidoczna. */
.blok--tekst-znak {
    background-repeat: no-repeat; background-position: center center;
    background-size: contain; padding: 26px 0;
}

/* Baner na całą szerokość (fullwidth_image z Divi) */
figure.blok--obraz-pelny { max-width: none !important; margin: 0 0 30px; }
figure.blok--obraz-pelny img { width: 100%; height: auto; }

/* Obrazy wstawione bezpośrednio w treści tekstu — nigdy powiększane ponad oryginał */
.blok--tekst img { max-width: 100%; height: auto; }
.blok--tekst img.aligncenter { display: block; margin-left: auto; margin-right: auto; }
.blok--tekst img.alignright { float: right; margin: 0 0 12px 18px; }
.blok--tekst img.alignleft { float: left; margin: 0 18px 12px 0; }
.blok--tekst { clear: both; }

/* ==========================================================================
   Zgodność z HTML wklejonym z Divi
   Część treści (np. blok sponsorów na stronie głównej) została kiedyś wklejona
   do edytora jako gotowy HTML i zachowała klasy Divi. Bez tych reguł logotypy
   rozlewały się na całą szerokość zamiast układać w siatkę.
   ========================================================================== */
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row {
    display: flex; flex-wrap: wrap; gap: 0 5.5%;
    max-width: 100%; margin: 0 auto 22px; align-items: center; justify-content: center;
}
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column { box-sizing: border-box; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_4_4 { width: 100%; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_1_2 { width: 47.25%; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_1_3 { width: 29.66%; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_2_3 { width: 64.84%; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_1_4 { width: 23.25%; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_3_4 { width: 71.25%; }

:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_image,
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_module { margin: 0 0 14px; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_image_wrap { display: inline-block; max-width: 100%; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_image img { max-width: 100%; width: auto; height: auto; display: inline-block; }
.blok--tekst .et_always_center_on_mobile,
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_text_align_center { text-align: center; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_divider { height: 24px; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_divider_internal { display: block; }

/* Złoty pasek nagłówka sekcji — przeniesiony 1:1 z motywu.
   Etykiety sponsorów siedzą w blokach typu "kod", nie tylko w tekstowych. */
:is(.blok--tekst, .blok--kod) .patron-typ {
    margin: 0 auto; display: inline-block; color: #fff; background: #937A51;
    padding: 7px 40px; line-height: 1; font-weight: 600; width: 100%; max-width: 330px;
}

@media (max-width: 860px) {
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_1_4 { width: 47.25%; }
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_1_3,
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_2_3,
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_1_2,
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_column_3_4 { width: 100%; }
}


/* Przycisk .kmt-button — przeniesiony 1:1 z motywu */
.blok--przycisk.kmt-button,
.kmt-button > .kmt-przycisk,
.blok--przycisk.kmt-button .kmt-przycisk {
    font-family: 'EB Garamond', 'PT Serif', serif; font-weight: 400; font-size: 17px;
    text-transform: none; letter-spacing: 0; text-align: center;
    max-width: 385px; width: 100%; padding: 12px 20px; background: #937a51;
}
.blok--przycisk.kmt-button { margin-left: auto; margin-right: auto; max-width: 385px; }
.blok--przycisk.kmt-button .kmt-przycisk:hover { background: #727272; }

/* === Mozaika galerii na stronie głównej ===
   Oryginał: kafle 330x220 px (proporcja 3:2), odstęp 6 px, pełna szerokość okna.
   Wysokości ustawiamy PROPORCJĄ, nie flexem — flex w kontenerze bez zadanej
   wysokości zapadał się do zera. */
.strona-home .kmt-wiersz--2_3-1_3,
.strona-home .kmt-wiersz--1_3-2_3 {
    gap: 6px; margin: 0 -20px 6px; align-items: stretch;
}
.strona-home .kmt-wiersz--2_3-1_3 { grid-template-columns: calc(66.66% - 3px) calc(33.34% - 3px); }
.strona-home .kmt-wiersz--1_3-2_3 { grid-template-columns: calc(33.34% - 3px) calc(66.66% - 3px); }

.strona-home .kmt-wiersz--2_3-1_3 > .kmt-kolumna,
.strona-home .kmt-wiersz--1_3-2_3 > .kmt-kolumna { display: flex; flex-direction: column; gap: 6px; }
.strona-home .kmt-wiersz--2_3-1_3 .blok,
.strona-home .kmt-wiersz--1_3-2_3 .blok { margin: 0; }

/* Zagnieżdżone wiersze — po dwa kafle obok siebie */
.strona-home .kmt-wiersz--2_3-1_3 .kmt-wiersz,
.strona-home .kmt-wiersz--1_3-2_3 .kmt-wiersz {
    display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin: 0;
}
.strona-home .kmt-wiersz--2_3-1_3 .kmt-wiersz--4_4,
.strona-home .kmt-wiersz--1_3-2_3 .kmt-wiersz--4_4 { grid-template-columns: 1fr; }

/* Kafle: proporcja 3:2 jak w oryginale */
.strona-home .kmt-wiersz--2_3-1_3 figure.blok--obraz,
.strona-home .kmt-wiersz--1_3-2_3 figure.blok--obraz {
    margin: 0; overflow: hidden; max-width: none !important; aspect-ratio: 3 / 2;
}
/* Wysoki kafel w wąskiej kolumnie sięga wysokości dwóch rzędów */
.strona-home .kmt-wiersz--2_3-1_3 > .kmt-kolumna:last-child > figure.blok--obraz,
.strona-home .kmt-wiersz--1_3-2_3 > .kmt-kolumna:first-child > figure.blok--obraz { aspect-ratio: 3 / 4; }

.strona-home .kmt-wiersz--2_3-1_3 figure.blok--obraz img,
.strona-home .kmt-wiersz--1_3-2_3 figure.blok--obraz img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}

@media (max-width: 860px) {
    .kmt-wiersz--2_3-1_3, .kmt-wiersz--1_3-2_3 { grid-template-columns: 1fr !important; }
}


@media (max-width: 900px) {
    .kmt-stopka__gora { grid-template-columns: 1fr; gap: 32px; }
}

/* Strzałki slidera */
.kmt-slider__strzalka {
    position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
    width: 52px; height: 52px; padding: 0; border: 0; cursor: pointer;
    background: rgba(10, 25, 44, .42); color: #fff;
    font-size: 34px; line-height: 1; display: flex; align-items: center; justify-content: center;
    transition: background .2s ease, color .2s ease, opacity .2s ease;
    opacity: .75;
}
.kmt-slider__strzalka:hover,
.kmt-slider__strzalka:focus-visible { background: var(--zloto-menu); color: var(--granat-ciemny); opacity: 1; }
.kmt-slider__strzalka:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.kmt-slider__strzalka--wstecz { left: 0; }
.kmt-slider__strzalka--dalej  { right: 0; }
.kmt-slider__strzalka span { display: block; margin-top: -4px; }

@media (max-width: 860px) {
    .kmt-slider__strzalka { width: 40px; height: 40px; font-size: 26px; }
}

/* === Ściana logotypów sponsorów ===
   Pliki mają bardzo różne rozmiary (od 300 do 600 px, kwadraty i paski),
   więc normalizujemy je do wspólnej wysokości. Bez tego AMI i Hasco-Lek
   przytłaczały resztę, a między rzędami zostawały ogromne puste pola. */
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col {
    /* Siatka, nie flex-wrap. Przy flexie kolumny mialy po 23,25% i jeszcze 3%
       odstepu miedzy nimi — razem 102%, wiec czwarte logo zawijalo sie do
       nastepnego rzedu i wychodzily trzy w wierszu. W gridzie odstep jest
       odejmowany od torow, wiec zawsze mieszcza sie cztery. */
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
    justify-items: center;
    gap: 18px 3%;
    margin-bottom: 8px;
}
/* Procentowe szerokosci z ukladu Divi w gridzie tylko przeszkadzaja. */
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col > .et_pb_column {
    width: 100%;
}
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col .et_pb_column {
    display: flex; align-items: center; justify-content: center;
    min-height: 118px;
}
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col .et_pb_module { margin: 0; width: 100%; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col .et_pb_image_wrap { display: block; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col img {
    max-height: 96px; max-width: 100%; width: auto; height: auto;
    object-fit: contain; margin: 0 auto; display: block;
}

/* Logotypy w rzędach pojedynczych (Sponsor Główny, Mecenas, Partner) — większe */
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row:not(.et_pb_row_4col) .et_pb_image img { max-height: 130px; }

/* Odstępy między blokami sponsorów — bez pustych pasów */
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_divider { height: 14px; }
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row { margin-bottom: 14px; }

@media (max-width: 860px) {
    /* Na waskim ekranie po dwa loga w rzedzie; puste pola chowamy, zeby
       ostatnia para nie miala dziury po lewej. */
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col {
        grid-template-columns: 1fr 1fr;
    }
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col > .et_pb_column:not(:has(img)) {
        display: none;
    }
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col .et_pb_column { min-height: 92px; }
    :is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_row_4col img { max-height: 72px; }
}

/* === Klasy z motywu kmt używane w treści === */
/* Lista kategorii: blok wyśrodkowany, pozycje wyrównane do lewej — jak w motywie.
   Centrowanie przez max-content, a nie przez :has() na rodzicu — działa wszędzie. */
.center-list {
    display: block; width: max-content; max-width: 100%;
    margin: 6px auto 0; text-align: left; font-size: 17px;
}
.center-list p { margin: 0 0 14px; }
.center-list p:last-child { margin-bottom: 0; }

.button-download { display: inline-block; text-align: center; width: 100%; }

/* Przyciski sekcji galerii — odstęp od mozaiki, żeby się nie stykały */
.blok--przycisk { margin-bottom: 22px; }
.strona-home .kmt-wiersz--2_3-1_3,
.strona-home .kmt-wiersz--1_3-2_3 { margin-top: 34px; }
.strona-home .kmt-wiersz--2_3-1_3 + .kmt-wiersz--1_3-2_3,
.strona-home .kmt-wiersz--1_3-2_3 + .kmt-wiersz--2_3-1_3 { margin-top: 6px; }


/* === Filmy przeniesione ze starej strony jako surowy kod Divi ===
   W tresci siedza albo goly <iframe width="560" height="315">, albo wrapper
   .fluid-width-video-wrapper z padding-top: 56.25%. Bez tych regul pierwszy
   trzymal sztywne 560 px przy lewej krawedzi, a drugi rozpychal sie na cala
   szerokosc kontenera, zostawiajac w rozwinietym akordeonie pusta plache. */
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_video,
:is(.blok--tekst,.kmt-akordeon__tresc) .et_pb_video_box {
    max-width: 700px;
    margin-left: auto;
    margin-right: auto;
}
:is(.blok--tekst,.kmt-akordeon__tresc) .fluid-width-video-wrapper {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25% !important;
    overflow: hidden;
}
:is(.blok--tekst,.kmt-akordeon__tresc) .fluid-width-video-wrapper iframe {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
}
:is(.blok--tekst,.kmt-akordeon__tresc) iframe[src*="youtube"],
:is(.blok--tekst,.kmt-akordeon__tresc) iframe[src*="youtu.be"],
:is(.blok--tekst,.kmt-akordeon__tresc) iframe[src*="player.vimeo"] {
    display: block;
    width: 100%;
    max-width: 700px;
    aspect-ratio: 16 / 9;
    height: auto;
    margin: 0 auto;
    border: 0;
}

/* Logo i obrazy w rozwinietym panelu — tak jak w oryginale, wysrodkowane. */
.kmt-akordeon__tresc .et_pb_image { text-align: center; }
.kmt-akordeon__tresc .et_pb_image_wrap img { margin: 0 auto; }

/* Divi zostawial po sobie puste akapity-komentarze; zjadaly pionowy rytm. */
:is(.blok--tekst,.kmt-akordeon__tresc) p:empty { display: none; }

/* === Rozwiniety panel akordeonu (laureaci poszczegolnych edycji) ===
   Tresc paneli jest juz przepisana na nasze klasy (patrz porzadkuj_divi_html
   w konwerterze), wiec korzysta z siatki .kmt-wiersz. Zostaje dolozyc to, co
   w Divi bylo ustawione w panelu modulu i nie przeszlo w kodzie: zlote
   etykiety nagrod w lewej kolumnie i wysrodkowane logo. */
.kmt-akordeon__tresc { padding-top: 6px; }
.kmt-akordeon__tresc .kmt-wiersz { margin-bottom: 0; }
.kmt-akordeon__tresc .kmt-wiersz--1_3-2_3 {
    border-top: 1px solid var(--linia);
    padding: 16px 0;
    align-items: start;
}
.kmt-akordeon__tresc .kmt-wiersz--1_3-2_3 > .kmt-kolumna:first-child p {
    color: var(--zloto-ciemne);
    font-family: 'EB Garamond', 'PT Serif', serif;
    font-size: 17px;
    text-transform: uppercase;
    letter-spacing: .02em;
    margin: 0;
}
.kmt-akordeon__tresc .kmt-wiersz--1_3-2_3 > .kmt-kolumna:last-child p { margin: 0; }
.kmt-akordeon__tresc .blok--obraz { text-align: center; margin: 10px 0 4px; }
.kmt-akordeon__tresc .blok--obraz img { max-width: 135px; height: auto; margin: 0 auto; }
.kmt-akordeon__tresc h2 { font-family: 'EB Garamond', 'PT Serif', serif; font-weight: 600; margin: 6px 0 18px; }
.kmt-akordeon__tresc .blok--wideo { margin-bottom: 20px; }

/* === Strona 404 === */
.kmt-404 { margin: 70px auto 80px; text-align: center; }
.kmt-404 h1 { font-family: 'EB Garamond', 'PT Serif', serif; font-size: 34px; font-weight: 600; color: var(--granat); margin: 0 0 14px; }
.kmt-404 p { color: var(--tekst); line-height: 1.7; }
.kmt-404__linki { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; margin-top: 26px; }


/* === Siatka logotypów sponsorów ===
   Cztery loga w wierszu, wszystkie pola tej samej wysokości, logo wyśrodkowane
   w pionie i w poziomie. Bez tego kafle mialy wysokosc obrazka i rzad rozjezdzal
   sie pionowo. Puste kolumny zostaja — trzymaja uklad "pusto, logo, logo, pusto". */
.kmt-wiersz--1_4-1_4-1_4-1_4 > .kmt-kolumna {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 130px;
    padding: 6px 10px;
}
.kmt-wiersz--1_4-1_4-1_4-1_4 > .kmt-kolumna > .blok--obraz {
    margin: 0;
    max-width: 100%;
}
.kmt-wiersz--1_4-1_4-1_4-1_4 > .kmt-kolumna img {
    max-width: 100%;
    max-height: 110px;
    width: auto;
    height: auto;
    object-fit: contain;
}

@media (max-width: 860px) {
    /* Na waskim ekranie po dwa loga w wierszu — jedno pod drugim bylo za dlugie. */
    .kmt-wiersz--1_4-1_4-1_4-1_4 {
        grid-template-columns: 1fr 1fr !important;
        gap: 0 4% !important;
    }
    .kmt-wiersz--1_4-1_4-1_4-1_4 > .kmt-kolumna:empty { display: none; }
    .kmt-wiersz--1_4-1_4-1_4-1_4 > .kmt-kolumna { min-height: 104px; }
    .kmt-wiersz--1_4-1_4-1_4-1_4 > .kmt-kolumna img { max-height: 88px; }
}

/* === Lamanie dlugich adresow ===
   Na /materialy-prasowe odnosniki sa wypisane pelnym adresem. Na telefonie
   (375 px) taki ciag bez spacji rozpychal strone do 661 px i pojawialo sie
   przewijanie poziome. "break-word" lamie wylacznie wtedy, gdy slowo i tak
   sie nie miesci — zwykly tekst polski zostaje nietkniety. */
.blok--tekst,
.kmt-akordeon__tresc,
.kmt-kolumna,
.kmt-formularz {
    overflow-wrap: break-word;
}
.blok--tekst a,
.kmt-akordeon__tresc a {
    overflow-wrap: anywhere;
}


/* Na telefonie baner ma juz tylko ~69 px wysokosci, a plakietka 130 px —
   nachodzila na tresc pod banerem. Oryginal tego nie rozwiazywal (nie ma tam
   zadnej reguly na waski ekran), wiec na telefonie ja chowamy. Na desktopie
   zostaje dokladnie tak, jak byla. */
@media (max-width: 600px) {
    .page-gold-belt { display: none; }
}

/* Podstrony bez banera (/galeria, /archiwum-galerii, /kontakt, /idea-konkursu)
   zaczynaja sie od razu trescia — musza same odsunac sie od stalego naglowka. */
.kmt-tresc--bez-banera { padding-top: 142px; }
@media (max-width: 860px) {
    .kmt-tresc--bez-banera { padding-top: 116px; }
}

/* === Wskaznik wczytywania w lightboksie ===
   Duze zdjecie (1800 px) idzie kilka sekund i przez ten czas widac bylo samo
   ciemne tlo. Spinner pojawia sie dopiero po 150 ms (patrz kmt.js), zeby przy
   zdjeciu z pamieci podrecznej nie mrugnal. */
.kmt-lightbox__ladowanie {
    /* Srodek wyznaczamy jawnie. Bez tego element siedzial na swojej pozycji
       statycznej w kontenerze flex — wychodzilo mniej wiecej na srodku, ale
       zaleznie od proporcji zdjecia. */
    position: absolute;
    top: 50%; left: 50%;
    margin: -23px 0 0 -23px;
    width: 46px; height: 46px;
    border: 3px solid rgba(255, 255, 255, .22);
    border-top-color: var(--zloto-menu);
    border-radius: 50%;
    opacity: 0;
    transition: opacity .2s ease;
    pointer-events: none;
    animation: kmt-obrot .85s linear infinite;
}
.kmt-lightbox__ladowanie.jest-widoczny { opacity: 1; }
@keyframes kmt-obrot { to { transform: rotate(360deg); } }

/* Zdjecie wchodzi dopiero, gdy jest gotowe — bez tego widac je liniami. */
.kmt-lightbox img { opacity: 0; transition: opacity .25s ease; }
.kmt-lightbox img.jest-gotowy { opacity: 1; }

/* Tekst wylacznie dla czytnikow ekranu. */
.kmt-tylko-dla-czytnika {
    position: absolute; width: 1px; height: 1px; overflow: hidden;
    clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
    .kmt-lightbox__ladowanie { animation-duration: 2.4s; }
    .kmt-lightbox img { transition: none; }
}

/* ==========================================================================
   Archiwum galerii — jeden rocznik = jedna sekcja
   Wczesniej strona byla plaskim strumieniem: naglowek, kafel, przycisk, film,
   naglowek, kafel... i nie bylo widac, co do ktorego rocznika nalezy.
   ========================================================================== */
.kmt-archiwum {
    background-size: cover;
    background-position: center;
    background-attachment: fixed;
    padding: 54px 0 70px;
}
.kmt-archiwum__tytul {
    font-family: 'EB Garamond', 'PT Serif', serif;
    font-size: 34px; font-weight: 600; color: var(--granat);
    text-align: center; margin: 0 0 10px;
}
.kmt-archiwum__wstep {
    text-align: center; color: var(--tekst); margin: 0 auto 38px; max-width: 620px;
}

.kmt-rocznik {
    background: rgba(255, 255, 255, .94);
    border-top: 3px solid var(--akcent);
    box-shadow: 0 4px 18px rgba(10, 25, 44, .10);
    padding: 24px 26px 26px;
    margin-bottom: 26px;
}
.kmt-rocznik__naglowek {
    display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap;
    border-bottom: 1px solid var(--linia);
    padding-bottom: 14px; margin-bottom: 20px;
}
.kmt-rocznik__edycja {
    background: var(--akcent); color: #fff;
    font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
    padding: 5px 11px; white-space: nowrap;
}
.kmt-rocznik__naglowek .kmt-rocznik__tytul {
    font-family: 'EB Garamond', 'PT Serif', serif;
    font-size: 23px; font-weight: 600; color: var(--granat); margin: 0;
}

/* Kafel z okladka obok materialow rocznika */
.kmt-rocznik__tresc { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; align-items: start; }
.kmt-rocznik--bez-materialow .kmt-rocznik__tresc { grid-template-columns: 1fr; }

.kmt-rocznik__kafel { display: block; position: relative; overflow: hidden; text-decoration: none; }
.kmt-rocznik__kafel img {
    width: 100%; height: auto; display: block; aspect-ratio: 76 / 50;
    object-fit: cover; transition: transform .35s ease;
}
.kmt-rocznik__kafel:hover img { transform: scale(1.04); }
.kmt-rocznik__etykieta {
    position: absolute; left: 0; right: 0; bottom: 0;
    display: flex; justify-content: space-between; align-items: baseline; gap: 10px;
    padding: 12px 14px; color: #fff;
    background: linear-gradient(to top, rgba(10, 25, 44, .86), rgba(10, 25, 44, 0));
}
.kmt-rocznik__liczba { font-size: 13px; }
.kmt-rocznik__zobacz { font-family: 'EB Garamond', 'PT Serif', serif; font-size: 17px; }
.kmt-rocznik__kafel:hover .kmt-rocznik__zobacz { color: var(--zloto-menu); }

/* Obie czesci karty maja wlasny naglowek, zeby bylo jasne, co jest galeria,
   a co filmem — wczesniej kafel i odtwarzacze stały obok siebie bez opisu. */
.kmt-rocznik__czesc { display: flex; flex-direction: column; gap: 12px; }
.kmt-rocznik__etykieta-czesci {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
    color: var(--tekst-jasny);
    margin: 0 0 2px; padding-bottom: 6px;
    border-bottom: 1px solid var(--linia);
}
.kmt-rocznik__materialy { display: flex; flex-direction: column; gap: 14px; }
.kmt-rocznik__film video { width: 100%; height: auto; display: block; background: #000; }
.kmt-rocznik__paczka { align-self: flex-start; }

@media (max-width: 860px) {
    .kmt-archiwum { background-attachment: scroll; padding: 34px 0 44px; }
    .kmt-rocznik { padding: 18px 16px 20px; }
    .kmt-rocznik__tresc { grid-template-columns: 1fr; gap: 16px; }
    .kmt-rocznik__naglowek .kmt-rocznik__tytul { font-size: 20px; }
}

/* Plakat pod przyciskiem odtwarzania — przyciemniony, zeby ikona byla czytelna. */
.kmt-youtube[style*="background-image"]::before {
    content: ''; position: absolute; inset: 0;
    background: rgba(10, 25, 44, .34);
}
.kmt-youtube__start { z-index: 1; }

/* Kafel galerii: szare pole zanim miniatura dojdzie, potem plynne wejscie. */
.kmt-galeria__kafel img { opacity: 0; transition: opacity .32s ease; }
.kmt-galeria__kafel img.jest-gotowy { opacity: 1; }
@media (prefers-reduced-motion: reduce) {
    .kmt-galeria__kafel img { transition: none; }
}

/* Naglowki czesci na stronie albumu — jak w karcie rocznika w archiwum. */
.kmt-album__naglowek {
    font-family: 'Open Sans', Arial, sans-serif;
    font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase;
    color: var(--tekst-jasny);
    margin: 30px 0 12px; padding-bottom: 6px;
    border-bottom: 1px solid var(--linia);
}

/* === Pasek pobierania galerii (strona albumu) ===
   Przy kilkuset zdjeciach przycisk schowany pod galeria byl nie do znalezienia,
   wiec towarzyszy przewijaniu. Pokazywany tylko, gdy paczka istnieje. */
.kmt-pasek-pobierania {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 9997;
    background: rgba(10, 25, 44, .96);
    border-top: 3px solid var(--akcent);
    box-shadow: 0 -4px 16px rgba(10, 25, 44, .22);
}
.kmt-pasek-pobierania__wnetrze {
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px; padding-top: 11px; padding-bottom: 11px;
}
.kmt-pasek-pobierania__opis { color: #fff; line-height: 1.35; }
.kmt-pasek-pobierania__opis strong {
    font-family: 'EB Garamond', 'PT Serif', serif; font-size: 18px; font-weight: 600;
    display: block;
}
.kmt-pasek-pobierania__szczegoly { font-size: 12px; color: rgba(255, 255, 255, .72); }
.kmt-pasek-pobierania__akcja { white-space: nowrap; }

/* Miejsce na pasek, zeby nie zaslanial ostatniego rzedu zdjec i stopki.
   Klase ustawia uklad (ma-pasek-pobierania) — :has() dziala tylko w nowszych
   przegladarkach, a tu nie moze zabraknac miejsca na pasek. */
.ma-pasek-pobierania .kmt-stopka { padding-bottom: 86px; }
/* Przycisk ustawien cookie chowa sie za paskiem — podnosimy go ponad niego. */
.ma-pasek-pobierania .kmt-zgody__wroc { bottom: 84px; }

@media (max-width: 600px) {
    .kmt-pasek-pobierania__wnetrze { gap: 10px; padding-top: 9px; padding-bottom: 9px; }
    .kmt-pasek-pobierania__opis strong { font-size: 15px; }
    .kmt-pasek-pobierania__szczegoly { display: none; }
    .ma-pasek-pobierania .kmt-zgody__wroc { bottom: 70px; }
}
