/*
Theme Name: Kolejowa Galeria
Description: Autorski katalog fotografii kolejowych, strony zdjęć i mapy. Wymaga wtyczki Kolejowe zdjęcia 2.0.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 7.4
License: GPL-2.0-or-later
Text Domain: kolejowa-galeria
*/
:root{--kg-cols:5;--kg-mid-cols:3;--kg-width:1500px;--ink:#172c3d;--muted:#697988;--line:#dfe6eb;--accent:#245b83;--paper:#f7f9fb}*{box-sizing:border-box}body{margin:0;background:white;color:var(--ink);font:14px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline;text-underline-offset:3px}button,input,select,textarea{font:inherit}button{cursor:pointer}button,a,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid #dc9234;outline-offset:3px}[hidden]{display:none!important}.kg-header,.kg-main,.kg-footer{max-width:var(--kg-width);margin:auto;padding-left:26px;padding-right:26px}.kg-header{min-height:108px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.kg-brand{display:flex;align-items:center;gap:12px;color:var(--ink);font-size:22px;font-weight:700;letter-spacing:-.5px;line-height:1.3}.kg-brand:hover{text-decoration:none}.kg-brand svg{flex-shrink:0;color:var(--accent)}.kg-brand small{display:block;margin-top:4px;font-size:11px;color:var(--muted);font-weight:400;letter-spacing:1px;text-transform:uppercase}.kg-header nav,.kg-header ul{display:flex;gap:24px;align-items:center;flex-wrap:wrap}.kg-header ul{list-style:none;padding:0;margin:0}.kg-header nav a{font-size:13px;font-weight:600;color:var(--ink)}.kg-main{padding-top:34px;padding-bottom:60px;min-height:65vh}.kg-top{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}.kg-eyebrow{font-size:10px;color:var(--muted);letter-spacing:1.5px;text-transform:uppercase;margin:0 0 7px}h1{font-size:28px;line-height:1.3;font-weight:650;margin:0;letter-spacing:-.6px}.kg-count{font-size:12px;padding:6px 12px;border:1px solid var(--line);border-radius:20px;white-space:nowrap;color:var(--muted)}.kg-muted{color:var(--muted)}.kg-archive-description{max-width:850px;color:#405468}.kg-small-button{display:inline-block;border:1px solid var(--line);padding:7px 12px;border-radius:4px;font-size:12px}.kg-filter-panel{background:var(--paper);border:1px solid var(--line);border-radius:6px;margin:0 0 14px}.kg-filter-panel summary{padding:13px 16px;font-size:12px;font-weight:600;cursor:pointer}.kg-filter-panel[open] summary{border-bottom:1px solid var(--line)}.kg-filters{padding:16px;display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.kg-filters label{display:flex;flex-direction:column;gap:5px;font-size:11px;color:var(--muted);flex:1 1 165px;min-width:0}.kg-filters .kg-search-label{flex:1.5 1 220px}.kg-filters input,.kg-filters select,.kg-directory-search input{width:100%;min-width:0;border:1px solid #cbd6df;border-radius:4px;padding:8px 10px;color:var(--ink);background:white;font-size:12px}.kg-filters .kg-select-search{padding:5px 10px;font-size:11px}.kg-filters button{padding:9px 22px;border:0;border-radius:4px;color:white;background:var(--accent);font-weight:600}.kg-filters button:hover{background:#163d5a}.kg-chips{display:flex;gap:8px;align-items:center;flex-wrap:wrap;min-height:28px;margin-bottom:24px}.kg-chip{padding:5px 10px;border-radius:20px;background:#eaf1f7;font-size:11px}.kg-reset{font-size:11px;color:var(--muted);margin-left:auto}.kg-grid{display:grid;grid-template-columns:repeat(var(--kg-cols),minmax(0,1fr));gap:30px 16px;align-items:start}.kg-card{min-width:0}.kg-photo{display:block;border:1px solid #bdc8d1;padding:3px;background:var(--paper);line-height:0}.kg-photo img{width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;display:block}.kg-photo:hover{border-color:var(--accent);box-shadow:0 2px 10px #183b581c}.kg-card h2{font-size:13px;font-weight:650;line-height:1.4;margin:8px 0 5px;overflow-wrap:anywhere}.kg-card h2 a{color:var(--ink)}.kg-new{display:inline-block;color:#aa5b1a;background:#fff4e5;padding:1px 5px;border-radius:2px;font-size:8px;font-weight:650;letter-spacing:.7px;margin-bottom:3px}.kg-details{margin:0;color:var(--muted);font-size:11px}.kg-details div{display:flex;gap:8px;justify-content:space-between;border-top:1px solid var(--line);padding:4px 0;overflow-wrap:anywhere}.kg-details dt{flex:0 0 auto;white-space:nowrap}.kg-details dd{min-width:0;margin:0;text-align:right;color:#3b5369}.kg-details dd a{color:var(--accent)}.kg-pagination{display:flex;gap:7px;justify-content:center;flex-wrap:wrap;margin-top:40px}.kg-pagination .page-numbers{padding:8px 12px;border:1px solid var(--line);border-radius:3px;font-size:12px}.kg-pagination .current{background:var(--ink);color:white}.kg-footer{padding-top:22px;padding-bottom:26px;border-top:1px solid var(--line);color:var(--muted);font-size:11px}.kg-empty{padding:40px 0;color:var(--muted)}.kg-content{max-width:850px;line-height:1.8}.kg-content h1{margin-bottom:24px}.kg-content img{max-width:100%;height:auto}.kg-content a{text-decoration:underline}.kg-year{grid-column:1/-1;font-size:21px;margin:10px 0 -12px;padding-bottom:8px;border-bottom:1px solid var(--line)}.kg-section-title{font-size:19px;font-weight:600;margin:34px 0 18px}.kg-breadcrumb{font-size:11px;color:var(--muted);margin-bottom:15px}.kg-photo-page h1{margin-bottom:24px}.kg-single-figure{margin:0;max-width:1100px}.kg-single-figure figcaption{font-size:11px;color:var(--muted);margin-top:8px}.kg-photo-large{padding:4px}.kg-photo-large img{aspect-ratio:auto;max-height:82vh;object-fit:contain}.kg-photo-info{display:grid;grid-template-columns:minmax(240px,320px) 1fr;gap:40px;margin-top:24px;max-width:1100px}.kg-photo-info .kg-details{font-size:13px}.kg-photo-info .kg-content>:first-child{margin-top:0}.kg-related{grid-template-columns:repeat(6,minmax(0,1fr))}.kg-directory-section{margin:30px 0 50px}.kg-directory-section h2{font-size:18px}.kg-directory-search{display:block;max-width:350px;font-size:12px;color:var(--muted);margin-bottom:20px}.kg-directory-search input{display:block;margin-top:7px}.kg-directory-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kg-directory-card{padding:20px;border:1px solid var(--line);border-radius:4px;display:flex;justify-content:space-between;gap:10px;align-items:center}.kg-directory-card strong{font-size:14px;overflow-wrap:anywhere}.kg-directory-card span{font-size:10px;white-space:nowrap;color:var(--muted)}.kg-skip{position:absolute;left:20px;top:-100px;background:white;padding:12px;z-index:10000}.kg-skip:focus{top:10px}
.kg-map-section{margin:20px 0 30px}.kg-map{height:360px;border:1px solid var(--line);border-radius:5px;z-index:0;background:#e8edf1}.kg-map-large{height:65vh;min-height:420px;max-height:760px}.kg-map-hint{font-size:11px;color:var(--muted);margin:10px 0}.kg-point-list{font-size:12px;color:var(--muted)}.kg-point-list summary{cursor:pointer}.kg-point-list ul{columns:3;padding-left:20px}.kg-point-list li{break-inside:avoid;padding-bottom:6px}.kg-point-list span{font-size:10px}.kg-marker{background:none!important;border:0!important}.kg-marker span{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#245b83;color:white;box-shadow:0 2px 5px #14293966;font-weight:700}.kg-marker span{font-size:12px}.kg-cluster{border-radius:50%;background:#c3d9e7b8;border:4px solid #c3d9e780;display:flex;align-items:center;justify-content:center}.kg-cluster span{background:#245b83;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;color:white;font-weight:700}.kg-map-popup{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif}.kg-popup-heading{display:block;font-size:12px;line-height:1.4;margin:0 0 12px;padding-right:10px}.kg-map-popup img{display:block;width:100%;max-height:180px;object-fit:contain;background:var(--paper);margin-bottom:8px}.kg-popup-title{display:block;font-weight:600}.kg-map-popup p{margin:6px 0!important;font-size:11px;color:var(--muted)}.kg-popup-controls{display:flex;align-items:center;justify-content:space-between;margin:10px 0}.kg-popup-controls button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:3px;padding:5px 12px}.kg-popup-controls button:disabled{opacity:.4}.kg-popup-controls span{font-size:11px;color:var(--muted)}.kg-popup-page,.kg-popup-all{display:block;font-size:11px;margin-top:8px}.kg-popup-all{border-top:1px solid var(--line);padding-top:10px}.kg-popup-status:empty{display:none}
.kg-lightbox{border:0;padding:0;margin:auto;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:#111a23;color:#eef2f6;overflow:auto}.kg-lightbox::backdrop{background:#000e}body.kg-open{overflow:hidden}.kg-viewer{min-height:100%;display:flex;align-items:center;justify-content:center;padding:40px 64px 20px;position:relative}.kg-viewer figure{margin:0;text-align:center;max-width:100%;width:100%}.kg-full{display:block;max-width:100%;max-height:calc(100dvh - 215px);width:auto;height:auto;margin:0 auto;object-fit:contain}.kg-viewer figcaption{padding-top:12px;overflow-wrap:anywhere}.kg-lightbox-title{font-size:18px}.kg-counter{margin-left:16px;color:#abb7c4;font-size:12px}.kg-lightbox-details,.kg-description{font-size:13px;color:#ccd5df;margin:7px auto;max-width:950px}.kg-description{white-space:pre-line}.kg-original,.kg-page-link,.kg-lightbox-details a{color:#9dc5ea;font-size:12px}.kg-status{font-size:13px;color:#f1b270;margin:5px}.kg-lightbox button{color:white;background:#232f3b;border:1px solid #46505d;cursor:pointer;border-radius:4px}.kg-close{position:absolute;top:12px;right:16px;z-index:2;font-size:28px;width:40px;height:40px}.kg-prev,.kg-next{position:fixed;top:45%;font-size:40px;width:44px;height:64px;z-index:2}.kg-prev{left:10px}.kg-next{right:10px}.kg-lightbox button:hover{background:#374555}.kg-lightbox button:disabled{opacity:.3;cursor:default}
@media(max-width:1200px){.kg-grid{grid-template-columns:repeat(var(--kg-mid-cols),minmax(0,1fr))}.kg-header nav,.kg-header ul{gap:16px}.kg-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.kg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-header,.kg-main,.kg-footer{padding-left:18px;padding-right:18px}.kg-header{align-items:flex-start;flex-direction:column;justify-content:center;padding-top:20px;padding-bottom:20px;gap:16px}.kg-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.kg-photo-info{grid-template-columns:1fr;gap:20px}.kg-point-list ul{columns:2}}
@media(max-width:600px){.kg-grid,.kg-directory-grid{grid-template-columns:1fr}.kg-grid{gap:30px}.kg-brand{font-size:20px}.kg-header nav,.kg-header ul{gap:12px}.kg-header nav a{font-size:11px}.kg-main{padding-top:24px}h1{font-size:25px}.kg-card h2{font-size:16px}.kg-details{font-size:12px}.kg-top{gap:12px}.kg-filters{gap:14px}.kg-filters label,.kg-filters .kg-search-label{flex-basis:100%}.kg-filters button{width:100%}.kg-point-list ul{columns:1}.kg-map{height:300px}.kg-map-large{height:60vh;min-height:360px}.kg-viewer{padding:64px 8px 24px;align-items:flex-start}.kg-prev,.kg-next{top:38%;width:36px;height:52px;background:#14202ccd}.kg-prev{left:5px}.kg-next{right:5px}.kg-full{max-height:calc(100dvh - 250px)}.kg-lightbox-details{padding:0 14px}.kg-count{font-size:10px}.kg-directory-card{padding:16px}}

.kg-marker{position:relative}.kg-marker:before{content:"";position:absolute;inset:0 0 6px;border:2px solid white;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:#245b83;box-shadow:0 2px 5px #14293966}.kg-marker span{position:relative;transform:none;border:0;background:none;box-shadow:none}
