/* Source map geometry/popups with the user-selected OpenStreetMap basemap. */
/* This stylesheet is enqueued only on the projects screen. Keep its content
 * width stable when the short map replaces the much longer project grid. */
html { overflow-y:scroll; }
.k2y-effekt-work .k2y-work-map::before { content:none; display:none; }
.k2y-work-map { position:relative; }
.k2y-work-map__tile-status { position:absolute; z-index:500; left:12px; top:12px; max-width:calc(100% - 24px); margin:0; padding:.75rem; background:#fff; color:#111; font-size:.9rem; box-shadow:0 1px 5px rgba(0,0,0,.2); }
.k2y-work-toolbar .k2y-work-filter-toggle::after { top:calc(50% - 2px); }
.k2y-work-toolbar .k2y-work-filter-toggle:disabled { cursor:default; color:#888; text-decoration:line-through; opacity:1; }
.k2y-work-toolbar .k2y-work-filter-toggle:disabled::after { color:#888; }
.k2y-work-map__canvas { height:65vh; background:#eee; font-family:Arial,sans-serif; }
.k2y-work-map__canvas .leaflet-tile-pane { filter:grayscale(1) contrast(.65) brightness(1.15); }
.k2y-work-map__canvas .leaflet-control-zoom { border:0; border-radius:2px; box-shadow:0 1px 5px rgba(0,0,0,.3); margin-right:10px; margin-bottom:10px; }
.k2y-work-map__canvas .leaflet-control-zoom a { display:flex; align-items:center; justify-content:center; width:40px; height:40px; line-height:40px; color:#666; }
.k2y-work-map__canvas .leaflet-control-zoom a img { display:block; width:28px; height:28px; max-width:none; margin:0; border:0; }
.k2y-work-map__canvas .leaflet-control-zoom a:focus-visible { outline:2px solid #111; outline-offset:2px; }
.k2y-work-map__canvas .leaflet-control-attribution { font-size:10px; line-height:1.4; background:rgba(255,255,255,.85); }
.k2y-work-map__canvas .leaflet-control-attribution a { color:#444; text-decoration:underline; }
.k2y-map-cluster { background:none; border:0; border-radius:0; }
.k2y-map-cluster__inner { position:relative; width:35px; height:35px; }
.k2y-map-cluster__inner img { width:35px; height:35px; max-width:none; display:block; }
.k2y-map-cluster__inner span { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:#fff; font:600 11px/1 Arial,sans-serif; }
.k2y-map-pin { max-width:none; }
.k2y-map-cluster:focus-visible,.k2y-map-pin:focus-visible { outline:2px solid #111; outline-offset:3px; }
.k2y-work-map__canvas .leaflet-popup-content-wrapper { border-radius:0; padding:0; box-shadow:0 2px 7px rgba(0,0,0,.3); }
.k2y-work-map__canvas .leaflet-popup-content { width:350px !important; margin:0; font-family:Arial,sans-serif; }
.k2y-work-map__canvas .leaflet-popup-tip-container { margin-top:-1px; }
.k2y-map-info { display:flex; flex-direction:column; width:100%; color:#111 !important; text-decoration:none !important; user-select:none; }
.k2y-map-info__image { height:175px; width:100%; overflow:hidden; }
.k2y-map-info__image img { display:block; width:100%; height:100%; object-fit:cover; object-position:center; max-width:none; }
.k2y-map-info__inner { padding:17px; position:relative; }
.k2y-map-info__title { font-size:1.125rem; font-weight:600; line-height:1; color:#111; text-transform:capitalize; margin:0 51px 12.75px 0; }
.k2y-work-map__canvas .k2y-map-info__description { margin:8.5px 0; color:#444; font-weight:300; line-height:157%; font-size:clamp(.765rem,.737rem + .126vw,.85rem); }
.k2y-map-info__link { position:absolute; top:17px; right:17px; width:25px; height:25px; border-radius:50%; box-shadow:inset 0 0 0 1px #111; background:#fff; transition:background-color .25s ease; }
.k2y-map-info__link img { display:block; width:25px; height:25px; }
.k2y-map-info:hover .k2y-map-info__link,.k2y-map-info:focus-visible .k2y-map-info__link { background:#111; }
.k2y-map-info:hover .k2y-map-info__link img,.k2y-map-info:focus-visible .k2y-map-info__link img { filter:invert(1); }
@media(max-width:1024px) { .k2y-work-map__canvas .leaflet-popup-content { width:300px !important; } }
@media(max-width:640px) { .k2y-effekt-work .k2y-work-filters { margin-bottom:.36rem; } .k2y-work-map__canvas .leaflet-popup-content { width:250px !important; } .k2y-map-info__image { height:150px; } }
@media(prefers-reduced-motion:reduce) { .k2y-map-info__link { transition:none; } }
