@font-face{font-family:Skaut;src:url(fonts/skaut.woff2)}@font-face{font-family:Atkinson;src:url(fonts/atkinson.woff2)}:root{font-family:Atkinson,Arial,sans-serif;color:#191716;background:#fff;font-size:16px}*{box-sizing:border-box}body{margin:0}button,input{font:inherit}button,a,input{touch-action:manipulation}button{cursor:pointer}a{color:inherit}header{height:108px;padding:20px 38px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #191716}.brand{text-decoration:none;font-family:Skaut,serif;font-size:39px;line-height:1.15}.brand span{display:block;font:14px Atkinson,sans-serif;color:#666;margin-top:7px}.header-right{display:flex;align-items:center;gap:26px;font-size:14px}.demo{background:#f2f2f2;border:1px solid #dadada;padding:7px 12px;border-radius:3px}main{display:grid;grid-template-columns:390px 1fr;height:calc(100dvh - 108px)}aside{overflow-y:auto;border-right:1px solid #dadada;padding:28px 26px}.eyebrow{font-size:12px;letter-spacing:2px;color:#666}h1{font-family:Skaut,serif;font-weight:400;font-size:34px;margin:13px 0 10px}.intro p{color:#666;margin:0 0 28px}label,legend{font-size:14px}label{display:block}input[type=search],input[type=date]{display:block;border:1px solid #dadada;border-radius:3px;padding:11px;width:100%;min-width:0;background:#fff;color:#191716;margin-top:7px}fieldset{border:0;padding:0;margin:21px 0}legend{margin-bottom:10px}.chips{display:grid;grid-template-columns:1fr 1fr;gap:8px}.chip{border:1px solid #dadada;padding:10px;border-radius:3px;display:flex;gap:8px;align-items:center;cursor:pointer}.chip:has(input:checked){background:#191716;color:white;border-color:#191716}.chip input{position:absolute;opacity:0;width:1px}.chip:focus-within{outline:2px solid #4575ac;outline-offset:2px}.dot{height:9px;width:9px;border-radius:50%;background:var(--color);display:inline-block;flex-shrink:0}.dates{display:grid;grid-template-columns:1fr 1fr;gap:12px}.organizers{display:flex;flex-wrap:wrap;gap:12px}.organizers label,.check{display:flex;align-items:center;gap:5px}input[type=checkbox]{accent-color:#191716}.reset{border:0;background:none;text-decoration:underline;padding:14px 0;color:#666;font-size:14px}.results-heading{border-top:1px solid #191716;margin-top:10px;padding-top:15px;display:flex;justify-content:space-between;align-items:center}.results-heading h2{font-size:18px;margin:0}.results-heading>span{font-size:12px;color:#666}#count{font-size:14px;color:#666;margin-left:5px}.event{width:100%;text-align:left;background:white;border:0;border-bottom:1px solid #eee;padding:18px 2px;display:block}.event:hover{background:#f9f9f9}.event time{color:#666;font-size:13px}.event h3{font-size:19px;margin:7px 0}.event .meta{display:flex;gap:7px;align-items:center;font-size:14px;color:#666}.map-panel{display:flex;flex-direction:column;position:relative;min-width:0}.map-toolbar{padding:14px 20px;display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #dadada;font-size:14px}.map-toolbar button{background:white;border:1px solid #dadada;border-radius:3px;padding:8px 12px}#map{flex:1;min-height:300px;background:#e8ece8}.map-footer{padding:13px 20px;display:flex;justify-content:space-between;font-size:14px}.map-footer span{color:#666;font-size:12px}.pin{border:3px solid white;border-radius:50%;background:var(--color);color:white;box-shadow:0 2px 8px #0005;text-align:center;line-height:30px;font:700 15px/30px Atkinson,sans-serif}.leaflet-tooltip{font-family:Atkinson,sans-serif;font-size:14px}.leaflet-control-attribution{font-size:11px!important}#map-notice:empty{display:none}#map-notice{padding:8px 20px;background:#fff6d9;font-size:14px}dialog{border:1px solid #dadada;border-radius:5px;max-width:560px;width:calc(100% - 30px);padding:36px;color:#191716;max-height:85dvh}dialog::backdrop{background:#19171680}#close{position:absolute;right:12px;top:8px;border:0;background:none;font-size:28px}dialog h2{font:32px Skaut,serif;margin:12px 0 20px}dialog .meta{color:#666;font-size:14px}dialog dl{display:grid;grid-template-columns:100px 1fr;gap:12px;font-size:16px}dialog dt{color:#666}dialog dd{margin:0}.note{border-top:1px solid #dadada;margin-top:24px;padding-top:12px;line-height:1.6;overflow-wrap:anywhere}.note a{color:#245486}.place-link{display:inline-block;margin-top:12px}.empty{padding:28px 0;color:#666;line-height:1.5}#error{position:fixed;bottom:20px;left:20px;right:20px;z-index:2000;background:#fff0ef;border:1px solid #a32929;padding:18px;white-space:pre-wrap}button:focus-visible,a:focus-visible,input:focus-visible{outline:3px solid #547fa7;outline-offset:3px}@media(max-width:850px){header{padding:16px 20px;height:94px}.brand{font-size:30px}.header-right a{display:none}main{grid-template-columns:320px 1fr;height:calc(100dvh - 94px)}aside{padding:22px 18px}.map-toolbar{flex-wrap:wrap}.map-footer span{display:none}}@media(max-width:620px){header{height:90px}.brand{font-size:27px}.brand span{font-size:12px}.demo{font-size:12px}main{display:flex;flex-direction:column;height:auto}.map-panel{order:-1;height:48dvh;min-height:360px}aside{overflow:visible;border:0;padding:25px 22px}.map-footer{display:none}.map-toolbar{padding:8px 12px;font-size:12px}.map-toolbar button{font-size:12px}h1{font-size:30px}.intro p{margin-bottom:20px}#map{min-height:220px}}
@media(max-width:620px){header{gap:10px;padding:14px 16px}.header-right{flex-shrink:0}.brand{min-width:0;font-size:25px}.dates{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.dates label{min-width:0}input[type=date]{max-width:100%;font-size:14px;padding:9px 5px}.chip{font-size:14px;padding:9px 7px}dialog dl{grid-template-columns:1fr}dialog dd{overflow-wrap:anywhere}}

/* Horizontal filters, map and a dedicated event list. */
.header-right .calendar-link,.header-right .whatsapp-link{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;flex-shrink:0;border-radius:5px;text-decoration:none}.calendar-link:hover,.whatsapp-link:hover{background:#f2f2f2}.calendar-link svg,.whatsapp-link svg{display:block}
@media(max-width:850px){.header-right{gap:8px}}
main{height:calc(100dvh - 108px);display:grid;grid-template-columns:minmax(0,1fr) 350px;grid-template-rows:auto minmax(0,1fr)}
.filter-panel{grid-column:1/-1;border-bottom:1px solid #dadada;padding:18px 26px 22px}.intro h1{font-size:25px;margin:0 0 15px}
#filters{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 22px}#filters>label{flex:1 1 185px;min-width:0}#filters fieldset{margin:0;flex:0 1 auto}#filters legend{margin-bottom:7px}.chips{display:flex;flex-wrap:wrap;gap:7px}.chip{white-space:nowrap;padding:11px 10px}.dates{grid-template-columns:repeat(2,minmax(0,1fr));width:282px;flex:0 1 282px}.dates label{min-width:0}.reset{padding:12px 0;white-space:nowrap}select{display:block;width:100%;min-width:0;margin-top:7px;background:white;color:#191716;border:1px solid #dadada;border-radius:3px;padding:11px;font:inherit;height:44px}select:focus-visible{outline:3px solid #547fa7;outline-offset:3px}
aside{grid-column:2;grid-row:2;border-right:0;border-left:1px solid #dadada;padding:0 22px 20px;min-height:0}.results-heading{position:sticky;top:0;background:white;z-index:1;border-top:0;border-bottom:1px solid #dadada;margin:0;padding:19px 0}.map-panel{grid-column:1;grid-row:2;min-height:0}#map{min-height:200px}.map-footer{font-size:13px;color:#666}.pin-multiple{outline:2px solid #191716;outline-offset:1px}.location-popup{font-family:Atkinson,Arial,sans-serif}.location-popup h3{font-size:19px;margin:5px 0 9px}.location-popup .popup-summary{font-size:14px;color:#666;margin:0 0 8px}.location-popup .event{padding:12px 2px}.location-popup strong,.location-popup .event>span{display:block;margin-top:4px}.location-popup strong{font-size:16px}
@media(max-width:1100px){#filters>label{flex-basis:220px}main{grid-template-columns:minmax(0,1fr) 310px}.filter-panel{padding:16px 20px}#filters{gap:12px 18px}.map-toolbar{flex-wrap:wrap}}
@media(max-width:850px){main{height:calc(100dvh - 94px);grid-template-columns:minmax(0,1fr) 280px}.chips{gap:5px}.chip{padding:10px 8px}}
@media(max-width:700px){main{display:flex;flex-direction:column;height:auto}.filter-panel{order:0;padding:20px 16px}.map-panel{order:1;height:52dvh;min-height:350px;flex:none}aside{order:2;overflow:visible;border-left:0;padding:0 20px 20px}#filters{gap:14px}#filters>label{flex-basis:calc(50% - 14px)}#filters fieldset{flex-basis:100%}.dates{flex:1 1 220px}.map-footer{display:block;padding:10px 12px}.results-heading{position:static}.chip{font-size:14px}.map-toolbar{font-size:13px}.brand{font-size:25px}header{gap:10px;padding:14px 16px}.header-right{flex-shrink:0}.dates input{width:100%;max-width:100%;padding:10px 5px;font-size:14px}}

.event-title{display:flex;align-items:baseline;gap:8px}.event-title>span{min-width:0;overflow-wrap:anywhere}.event-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 28px;width:28px;height:28px;color:#666;border-radius:4px;align-self:center;text-decoration:none}.event-link:hover{color:#191716;background:#eee}.event-link svg{display:block;flex-shrink:0}

/* Attendance summaries work with a mouse, keyboard and touch. */
.event-card{border-bottom:1px solid #dadada;padding-bottom:12px}.event-card>.event{border-bottom:0}
.attendance-summary{display:flex;flex-wrap:wrap;gap:6px;margin:10px 0;font:13px Atkinson,Arial,sans-serif}
.attendance-group{position:relative}.attendance-group summary{cursor:pointer;padding:6px 8px;border:1px solid #dadada;border-radius:4px;list-style:none;background:#f6f6f6}.attendance-group summary::-webkit-details-marker{display:none}.attendance-group summary:focus-visible{outline:3px solid #547fa7;outline-offset:2px}
.attendance-names{display:none;margin:0;padding:10px 12px 10px 26px;background:white;border:1px solid #dadada;border-radius:4px;overflow-wrap:anywhere;max-height:180px;overflow-y:auto;min-width:130px}
.attendance-group[open] .attendance-names{display:block}.attendance-group[open]{flex-basis:100%}
@media(hover:hover){.attendance-group:not([open]):hover>.attendance-names{display:block;position:absolute;top:100%;left:0;z-index:5;width:180px;box-shadow:0 4px 12px #0002}}
.attendance-loading,.attendance-help{font-size:13px;color:#666;line-height:1.5}.attendance-form{margin-top:24px;border-top:1px solid #dadada;padding-top:10px}.attendance-form form{display:grid;gap:12px}.attendance-form input{display:block;width:100%;margin-top:6px;border:1px solid #dadada;padding:10px;border-radius:3px;font:inherit}.attendance-actions{display:flex;flex-wrap:wrap;gap:8px}.attendance-form button{border:1px solid #dadada;border-radius:3px;background:white;padding:9px 12px}.attendance-form button[type=submit]{background:#191716;color:white}.attendance-form button:disabled{opacity:.5;cursor:wait}.attendance-form [role=status]{margin:0;font-size:14px}.attendance-form [hidden]{display:none}

.attendance-names li{margin:5px 0}.attendance-delete{margin-left:8px;font:inherit;font-size:12px;border:0;background:none;text-decoration:underline;cursor:pointer}.attendance-delete-confirm{padding:8px 0}.attendance-delete-confirm p{margin:4px 0}.attendance-delete-confirm button{font:inherit;margin:4px 6px 4px 0;cursor:pointer}.attendance-names [hidden]{display:none}

.location-popup .popup-primary{display:block;width:100%;min-height:44px;font-family:inherit;font-size:14px;margin-top:14px;padding:12px 16px;border:1px solid #191716;border-radius:5px;background:#191716;color:#fff;font-weight:700;text-align:center;line-height:1.35}.location-popup .popup-primary:hover{background:#403b38;border-color:#403b38}.location-popup .popup-primary:focus-visible{outline:3px solid #547fa7;outline-offset:3px}

/* Shared page inset keeps the header, filters and map labels aligned. */
:root{--page-inset:26px}
header,.filter-panel,.map-toolbar,.map-footer,#map-notice{padding-left:var(--page-inset);padding-right:var(--page-inset)}
@media(max-width:1100px){:root{--page-inset:20px}}
@media(max-width:700px){:root{--page-inset:16px}aside{padding-left:var(--page-inset);padding-right:var(--page-inset)}}

.event-copy{border:0;background:transparent;padding:0;cursor:pointer}.copy-status{font:14px Atkinson,Arial,sans-serif;color:#38755b}.copy-status:empty{display:none}.copy-fallback{display:block;width:100%;min-height:180px;padding:10px;font:14px Atkinson,Arial,sans-serif}

/* Compact event metadata, including narrow screens. */
.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
dialog .event-facts{grid-template-columns:20px minmax(0,1fr);gap:10px 10px;margin:0;align-items:start;line-height:1.4}
.event-facts dt{display:flex;align-items:center;min-height:23px}.event-facts dt svg{display:block;flex-shrink:0}.event-facts dd{min-width:0;overflow-wrap:anywhere}.event-facts a{text-underline-offset:3px}.event-facts+.note{margin-top:18px}
.attendance-summary[hidden],.attendance-form[hidden]{display:none}
@media(max-width:700px){.event-facts dt[title="Kalendář"],.event-facts dt[title="Kalendář"]+dd{display:none}}
