/* KK Biogramy – lista (ściana pamięci), wariant A. Wszystko zawężone do .kkbl. */
.kkbl{
	--kkbl-ink:#111;--kkbl-muted:#625c52;--kkbl-gold:#ad9a6d;--kkbl-gold-text:#74612f;
	--kkbl-cream:#faf5ef;--kkbl-line:rgba(17,17,17,.12);
	color:var(--kkbl-ink);font-family:Lora,Georgia,serif;display:flex;flex-direction:column;gap:40px;
	margin:0 0 72px;
}
.kkbl *,.kkbl *::before,.kkbl *::after{box-sizing:border-box}

/* Tytuł strony (H1 motywu) – typografia jak na stronie biogramu (KK Biogram: .kk-title):
   Marcellus clamp(34px…48px) / 1,1, wyrównany do lewej krawędzi treści, mniej pustego miejsca pod menu. */
body.kkbl-page main.gt-main{padding-top:0!important}
body.kkbl-page .gt-page-wrapper{padding-top:0!important}
body.kkbl-page .gt-title-bar .gt-content{max-width:none!important;margin:0!important;padding:44px 0 0!important}
body.kkbl-page .gt-title-bar h1{font-family:Marcellus,Georgia,serif!important;font-weight:400!important;font-size:clamp(34px,28px + 1.4vw,48px)!important;line-height:1.1!important;letter-spacing:-.005em!important;color:#111!important;margin:0!important}
@media (max-width:767px){body.kkbl-page .gt-title-bar .gt-content{padding:24px 0 0!important}}

/* Lead i liczby – lead jak na stronie biogramu (KK Biogram: .kk-lead): Lora clamp(18px…21px) / 1,65, #3a3732 */
.kkbl{margin-top:24px}
.kkbl-head{display:flex;flex-wrap:wrap;gap:28px 64px;align-items:flex-end;justify-content:space-between}
.kkbl .kkbl-intro{flex:1 1 520px;margin:0;font-family:Lora,Georgia,serif;font-size:clamp(18px,15px + .6vw,21px);line-height:1.65;color:#3a3732;max-width:680px;min-width:0}
.kkbl-stats{flex:0 1 400px;margin:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;font-family:'Josefin Sans',sans-serif}
.kkbl-stats>div{border-top:1px solid var(--kkbl-gold);padding-top:12px}
.kkbl-stats dt{font-family:Marcellus,serif;font-size:40px;line-height:1;font-weight:400}
.kkbl-stats dd{margin:6px 0 0;font-size:13px;letter-spacing:.04em;color:var(--kkbl-muted)}

/* Wyszukiwarka i filtry (tylko z JS) */
.kkbl-controls{display:flex;flex-direction:column;gap:14px;padding:22px 0;border-top:1px solid var(--kkbl-line);border-bottom:1px solid var(--kkbl-line)}
.kkbl-controls[hidden]{display:none}
.kkbl-row{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:flex-end}
.kkbl-search{flex:1 1 320px;display:flex;flex-direction:column;gap:6px;margin:0}
.kkbl-label{font-family:'Josefin Sans',sans-serif;font-size:13px;letter-spacing:.05em;text-transform:uppercase;color:var(--kkbl-muted)}
.kkbl-group .kkbl-label{min-width:92px}
.kkbl .kkbl-q{width:100%;min-height:48px;margin:0;padding:0 16px;border:1px solid rgba(17,17,17,.3);border-radius:0;background:#fff;color:var(--kkbl-ink);font-family:Lora,Georgia,serif;font-size:17px;box-shadow:none}
.kkbl .kkbl-q::placeholder{color:#8a8277}
.kkbl-group{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.kkbl .kkbl-chip{display:inline-flex;align-items:center;gap:6px;min-height:44px;margin:0;padding:0 18px;border:1px solid rgba(17,17,17,.22);border-radius:22px;background:#fff;color:var(--kkbl-ink);font-family:'Josefin Sans',sans-serif;font-size:14px;font-weight:400;letter-spacing:.03em;line-height:1.2;text-transform:none;cursor:pointer;box-shadow:none;transition:border-color .2s ease,background .2s ease,color .2s ease}
.kkbl .kkbl-chip:hover{border-color:var(--kkbl-gold);background:#fff;color:var(--kkbl-ink)}
.kkbl .kkbl-chip.is-on,.kkbl .kkbl-chip.is-on:hover{background:var(--kkbl-ink);border-color:var(--kkbl-ink);color:#fff}
.kkbl-n{font-size:12px;opacity:.75}
.kkbl .kkbl-chip:focus-visible,.kkbl .kkbl-q:focus-visible{outline:3px solid var(--kkbl-gold-text);outline-offset:2px}
.kkbl-status{margin:0;font-family:'Josefin Sans',sans-serif;font-size:14px;color:var(--kkbl-muted)}

/* Ściana portretów */
.kkbl .kkbl-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:44px 32px}
@media (max-width:900px){.kkbl .kkbl-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:36px 22px}}
.kkbl .kkbl-tile{margin:0;padding:0;transition:opacity .45s ease}
.kkbl .kkbl-tile::before{content:none}
.kkbl-tile.is-off{opacity:.13}
.kkbl-tile.is-off .kkbl-link{pointer-events:none}
.kkbl .kkbl-link{display:flex;flex-direction:column;gap:12px;color:var(--kkbl-ink);text-decoration:none}
.kkbl .kkbl-link:hover,.kkbl .kkbl-link:focus{color:var(--kkbl-ink);text-decoration:none}
.kkbl .kkbl-link:focus-visible{outline:3px solid var(--kkbl-gold-text);outline-offset:4px}
.kkbl-frame{display:block;padding:6px;background:var(--kkbl-cream);border:1px solid var(--kkbl-line);transition:border-color .3s ease,box-shadow .3s ease}
.kkbl-pt{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;aspect-ratio:1/1;overflow:hidden;background:#ede5d8}
.kkbl-ini{font-family:Marcellus,serif;font-size:44px;letter-spacing:.04em;color:#9c9182}
.kkbl-noph{font-family:'Josefin Sans',sans-serif;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--kkbl-muted)}
.kkbl .kkbl-img{position:absolute;inset:0;width:100%;height:100%;max-width:none;margin:0;object-fit:cover;object-position:50% 20%;transition:transform .6s ease}
/* Kadr wyliczony z położenia twarzy: rozmiar i położenie w atrybucie style (proporcje pliku zachowane). */
.kkbl .kkbl-img.is-framed{right:auto;bottom:auto;object-fit:fill;object-position:0 0}
.kkbl-link:hover .kkbl-img,.kkbl-link:focus-visible .kkbl-img{transform:scale(1.045)}
.kkbl-link:hover .kkbl-frame,.kkbl-link:focus-visible .kkbl-frame{border-color:var(--kkbl-gold);box-shadow:0 10px 28px rgba(17,17,17,.12)}
.kkbl-name{font-family:Marcellus,serif;font-size:19px;line-height:1.25}
.kkbl-line{margin-top:-6px;font-family:'Josefin Sans',sans-serif;font-size:13px;line-height:1.45;color:var(--kkbl-muted)}

/* Stopka listy */
.kkbl-foot{display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between;padding-top:24px;border-top:1px solid var(--kkbl-line)}
.kkbl-note{margin:0;max-width:720px;font-size:16px;line-height:1.6;color:var(--kkbl-muted)}
.kkbl-note-js{display:none}
.kkbl.kkbl--js .kkbl-note-js{display:inline}
.kkbl.kkbl--js .kkbl-note-nojs{display:none}
.kkbl-shuffle[hidden]{display:none}

/* Telefon */
@media (max-width:600px){
	.kkbl{gap:28px}
	.kkbl-stats dt{font-size:32px}
	.kkbl .kkbl-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 16px}
	.kkbl-ini{font-size:34px}
	.kkbl-name{font-size:17px}
	.kkbl-group .kkbl-label{min-width:0;width:100%}
}

@media (prefers-reduced-motion:reduce){
	.kkbl .kkbl-tile,.kkbl .kkbl-img,.kkbl-frame{transition:none}
	.kkbl-link:hover .kkbl-img{transform:none}
}
@media print{
	.kkbl-controls,.kkbl-foot .kkbl-shuffle{display:none!important}
	.kkbl-tile.is-off{opacity:1}
}
