
:root{--kf-navy:#061B49;--kf-red:#DF1C23;--kf-text:#131922;--kf-muted:#69727E;--kf-line:#E3E6E9;--kf-bg:#F5F6F8}
.kf-main,.kf-embed{font-family:"Source Sans 3",Arial,sans-serif;color:var(--kf-text)}
.kf-container{width:min(1300px,calc(100% - 36px));margin:0 auto}
.kf-archive-hero,.kf-single-hero{padding:46px 0 28px;background:#fff}
.kf-eyebrow{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:1.2px;color:var(--kf-red);margin-bottom:8px}
.kf-archive-hero h1,.kf-single-hero h1{margin:0;font-size:42px;line-height:1.05;color:var(--kf-navy)}
.kf-intro{max-width:760px;color:var(--kf-muted);font-size:16px}
.kf-list-section{padding:24px 0 56px}
.kf-section-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;padding-bottom:12px;border-bottom:3px solid var(--kf-navy);margin-bottom:14px}
.kf-section-heading h2{margin:0;font-size:26px;color:var(--kf-text)}
.kf-section-heading span{font-size:12px;color:var(--kf-muted)}
.kf-filters{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 22px}
.kf-filters a{display:inline-block;padding:7px 11px;border:1px solid var(--kf-line);border-radius:3px;text-decoration:none;color:var(--kf-text);font-size:12px;font-weight:700;background:#fff}
.kf-filters a:hover,.kf-filters a.is-active{background:var(--kf-navy);border-color:var(--kf-navy);color:#fff}
.kf-grid{display:grid;gap:22px}
.kf-columns-1{grid-template-columns:1fr}.kf-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.kf-columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.kf-card{border:1px solid var(--kf-line);background:#fff;min-width:0;position:relative}
.kf-card.is-featured{border-top:3px solid var(--kf-red)}
.kf-card-link{display:block;height:100%;text-decoration:none;color:inherit}
.kf-card-image{height:210px;position:relative;overflow:hidden;background:#eef0f2}
.kf-card-image>img{width:100%;height:100%;object-fit:contain;object-position:center;background:#fff;transition:transform .25s ease}
.kf-card:hover .kf-card-image>img{transform:scale(1.025)}
.kf-image-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#eef0f2;color:#9aa1a9;font-weight:800;letter-spacing:1px}
.kf-badge{position:absolute;right:12px;left:auto;top:12px;background:var(--kf-navy);color:#fff;font-size:10px;font-weight:800;text-transform:uppercase;padding:5px 8px}
.kf-card-body{padding:17px}
.kf-card-top{display:flex;gap:12px;align-items:flex-start}
.kf-card-logo{width:58px;height:50px;flex:0 0 58px;border:1px solid var(--kf-line);background:#fff;display:flex;align-items:center;justify-content:center;padding:5px}
.kf-card-logo img{max-width:100%;max-height:100%;object-fit:contain}
.kf-card-branch{font-size:10px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;color:var(--kf-red)}
.kf-card h3{margin:3px 0 0;font-size:20px;line-height:1.1;color:var(--kf-navy)}
.kf-card-location{margin-top:10px;font-size:12px;font-weight:700;color:var(--kf-muted)}
.kf-card p{font-size:13px;line-height:1.45;color:#4f5966;margin:10px 0 0}
.kf-more{display:block;margin-top:14px;color:var(--kf-red);font-size:12px;font-weight:800}
.kf-pagination{margin-top:30px;display:flex;gap:6px}.kf-pagination .page-numbers{padding:8px 11px;border:1px solid var(--kf-line);text-decoration:none;color:var(--kf-text)}.kf-pagination .current{background:var(--kf-navy);color:#fff;border-color:var(--kf-navy)}
.kf-back{display:inline-block;margin-bottom:22px;text-decoration:none;color:var(--kf-muted);font-weight:700;font-size:12px}
.kf-company-heading{display:flex;align-items:center;gap:20px;margin-bottom:24px}
.kf-single-logo{width:120px;height:90px;border:1px solid var(--kf-line);display:flex;align-items:center;justify-content:center;padding:12px;background:#fff}
.kf-single-logo img{max-width:100%;max-height:100%;object-fit:contain}
.kf-company-heading p{margin:8px 0 0;color:var(--kf-muted)}
.kf-single-cover{height:min(520px,48vw);min-height:320px;overflow:hidden;background:#eef0f2}
.kf-single-cover>img{width:100%;height:100%;object-fit:cover}
.kf-single-content{padding:34px 0 60px}
.kf-single-layout{display:grid;grid-template-columns:310px minmax(0,1fr);gap:38px;align-items:start}
.kf-facts{border-top:4px solid var(--kf-navy);background:var(--kf-bg);padding:20px}
.kf-facts h2{margin:0 0 12px;font-size:20px}
.kf-facts>div{padding:11px 0;border-top:1px solid #dfe3e8}
.kf-facts span{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.8px;font-weight:800;color:var(--kf-muted);margin-bottom:3px}
.kf-facts strong{font-size:13px}.kf-facts a{color:var(--kf-navy);text-decoration:none}.kf-facts a:hover{color:var(--kf-red)}
.kf-opening{line-height:1.5}
.kf-socials p{display:flex;gap:10px;flex-wrap:wrap;margin:0}
.kf-description h2,.kf-gallery h2{font-size:26px;margin:0 0 16px;color:var(--kf-navy)}
.kf-entry-content{font-size:16px;line-height:1.68}
.kf-gallery{grid-column:1/-1;margin-top:10px}
.kf-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.kf-gallery-image{padding:0;border:0;background:none;cursor:pointer;height:220px;overflow:hidden}
.kf-gallery-image img{width:100%;height:100%;object-fit:cover}
.kf-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);z-index:999999;display:flex;align-items:center;justify-content:center}
.kf-lightbox[hidden]{display:none!important}
.kf-lightbox-stage{width:min(1100px,84vw);height:84vh;display:flex;align-items:center;justify-content:center}.kf-lightbox-stage img{max-width:100%;max-height:100%;object-fit:contain}
.kf-lightbox button{position:absolute;border:0;background:rgba(255,255,255,.1);color:#fff;font-size:28px;cursor:pointer;width:48px;height:48px}.kf-lightbox-close{right:18px;top:18px}.kf-lightbox-prev{left:18px;top:50%}.kf-lightbox-next{right:18px;top:50%}
@media(max-width:1024px){.kf-columns-3,.kf-columns-4{grid-template-columns:repeat(2,minmax(0,1fr))}.kf-single-layout{grid-template-columns:260px minmax(0,1fr)}}
@media(max-width:767px){.kf-container{width:min(100% - 28px,1300px)}.kf-archive-hero,.kf-single-hero{padding:30px 0 22px}.kf-archive-hero h1,.kf-single-hero h1{font-size:32px}.kf-grid,.kf-columns-2,.kf-columns-3,.kf-columns-4{grid-template-columns:1fr}.kf-card-image{height:220px}.kf-single-layout{grid-template-columns:1fr}.kf-company-heading{align-items:flex-start}.kf-single-logo{width:90px;height:72px;flex:0 0 90px}.kf-single-cover{height:260px;min-height:0}.kf-gallery-grid{grid-template-columns:1fr 1fr}.kf-gallery-image{height:150px}}

/* v1.1.0 — wyszukiwarka katalogu */
.kf-searchbar{
  display:grid;
  grid-template-columns:1.25fr .9fr 1fr 1fr 1fr auto;
  gap:10px;
  align-items:end;
  padding:14px;
  margin:0 0 24px;
  background:#F5F6F8;
  border:1px solid var(--kf-line);
}
.kf-search-field{min-width:0}
.kf-search-field label{
  display:block;
  margin-bottom:5px;
  color:#596270;
  font-size:9px;
  font-weight:800;
  letter-spacing:.7px;
  text-transform:uppercase;
}
.kf-search-field input,
.kf-search-field select{
  width:100%;
  min-height:38px;
  padding:7px 9px;
  border:1px solid #D8DDE3;
  border-radius:2px;
  background:#fff;
  color:var(--kf-text);
  font:600 12px/1.2 "Source Sans 3",Arial,sans-serif;
}
.kf-search-actions{display:flex;gap:7px;align-items:center}
.kf-search-actions button{
  min-height:38px;
  padding:0 15px;
  border:0;
  border-radius:2px;
  background:var(--kf-navy);
  color:#fff;
  font-weight:800;
  cursor:pointer;
}
.kf-search-actions a{
  color:var(--kf-muted);
  font-size:11px;
  font-weight:700;
  text-decoration:none;
}
@media(max-width:1100px){
  .kf-searchbar{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kf-search-actions{grid-column:1/-1}
}
@media(max-width:767px){
  .kf-searchbar{grid-template-columns:1fr}
  .kf-search-actions{grid-column:auto}
}

/* v1.1.3 — kontakt chroniony przed prostymi botami */
.kf-reveal-contact{
  padding:0;
  border:0;
  background:transparent;
  color:var(--kf-navy);
  font:700 13px/1.35 "Source Sans 3",Arial,sans-serif;
  cursor:pointer;
  text-decoration:underline;
  text-underline-offset:2px;
}
.kf-reveal-contact:hover{color:var(--kf-red)}
.kf-revealed-contact{
  color:var(--kf-navy);
  font-weight:700;
  text-decoration:none;
}
.kf-revealed-contact:hover{color:var(--kf-red)}


/* v1.2.2 — landing /firmy-i-uslugi/branze/ */
.kf-branches-index .kf-list-section{padding-top:18px}
.kf-branches-grid{margin-top:18px}
.kf-branches-level-0{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:18px;
}
.kf-branch-card{
	min-width:0;
	border:1px solid var(--kf-line);
	background:#fff;
}
.kf-branch-card-link{
	display:flex;
	align-items:center;
	justify-content:space-between;
	gap:18px;
	padding:20px 22px;
	color:var(--kf-text);
	text-decoration:none;
	transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.kf-branch-card:hover{
	border-color:#cfd5dc;
	box-shadow:0 7px 22px rgba(6,27,73,.07);
}
.kf-branch-card:hover>.kf-branch-card-link{transform:translateY(-1px)}
.kf-branch-card h2{
	margin:0;
	color:var(--kf-navy);
	font-size:21px;
	line-height:1.15;
}
.kf-branch-card p{
	margin:7px 0 0;
	color:var(--kf-muted);
	font-size:13px;
	line-height:1.45;
}
.kf-branch-card-meta{
	display:flex;
	flex:0 0 auto;
	align-items:center;
	gap:12px;
	color:var(--kf-muted);
	font-size:11px;
	font-weight:700;
	white-space:nowrap;
}
.kf-branch-card-meta b{
	color:var(--kf-red);
	font-size:18px;
}
.kf-branches-level-1{
	margin:0 14px 14px;
	border-top:1px solid var(--kf-line);
}
.kf-branches-level-1 .kf-branch-card{
	border:0;
	border-bottom:1px solid var(--kf-line);
}
.kf-branches-level-1 .kf-branch-card:last-child{border-bottom:0}
.kf-branches-level-1 .kf-branch-card-link{padding:13px 8px}
.kf-branches-level-1 .kf-branch-card h2{font-size:15px}
.kf-branches-level-1 .kf-branch-card p{font-size:12px}
.kf-branches-level-2{
	margin-left:18px;
	border-left:2px solid #eef0f3;
}
.kf-branches-level-2 .kf-branch-card-link{padding:10px 12px}
.kf-branches-level-2 .kf-branch-card h2{font-size:14px}
.kf-branches-empty{
	padding:22px;
	border:1px solid var(--kf-line);
	background:var(--kf-bg);
	color:var(--kf-muted);
}
@media(max-width:1024px){
	.kf-branches-level-0{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:767px){
	.kf-branches-level-0{grid-template-columns:1fr}
	.kf-branch-card-link{padding:17px}
	.kf-branch-card-meta{gap:7px}
}


/* v1.2.3 — Miasta / Województwa */
.kf-alpha-nav{display:flex;flex-wrap:wrap;gap:7px;margin:18px 0 28px;padding:14px;border:1px solid var(--kf-line);background:var(--kf-bg)}
.kf-alpha-nav a{display:inline-flex;align-items:center;justify-content:center;min-width:32px;height:32px;padding:0 8px;border:1px solid var(--kf-line);background:#fff;color:var(--kf-navy);font-size:12px;font-weight:800;text-decoration:none}
.kf-alpha-nav a:hover{border-color:var(--kf-red);color:var(--kf-red)}
.kf-location-group{margin:0 0 30px}
.kf-location-group>h3{margin:0 0 12px;padding-bottom:8px;border-bottom:2px solid var(--kf-navy);color:var(--kf-navy);font-size:22px}
.kf-location-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.kf-location-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 14px;border:1px solid var(--kf-line);background:#fff;color:var(--kf-text);text-decoration:none;font-size:13px;font-weight:700}
.kf-location-card small{color:var(--kf-muted);font-size:10px;font-weight:600;white-space:nowrap}
.kf-region-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.kf-region-card{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name arrow" "count arrow";align-items:center;gap:4px 14px;padding:18px;border:1px solid var(--kf-line);background:#fff;color:var(--kf-text);text-decoration:none}
.kf-region-card strong{grid-area:name;color:var(--kf-navy);font-size:16px}
.kf-region-card span{grid-area:count;color:var(--kf-muted);font-size:11px}
.kf-region-card b{grid-area:arrow;color:var(--kf-red);font-size:18px}
@media(max-width:1024px){.kf-location-grid,.kf-region-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:767px){.kf-location-grid,.kf-region-grid{grid-template-columns:1fr}}
