@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{--paper:#f5f3ec;--ink:#262d29;--muted:#6b7068;--red:#ac382c;--line:#dedfd5;--white:#fffefa;--green:#475344}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--paper);color:var(--ink);font-family:'DM Sans',sans-serif;font-size:15px;line-height:1.6}a{color:inherit}button,input,select{font:inherit}button,a,summary,input,select{-webkit-tap-highlight-color:transparent}:focus-visible{outline:3px solid var(--red);outline-offset:5px}button,summary,select{cursor:pointer}button{color:inherit}.wrap{max-width:1240px;margin:0 auto;padding-left:48px;padding-right:48px}.header{height:110px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:13px;text-decoration:none;font-family:Manrope,sans-serif;font-weight:800;font-size:23px;letter-spacing:-.8px}.brand-mark{background:var(--red);color:var(--white);width:43px;height:43px;display:grid;place-items:center;font-size:26px;font-family:serif;border-radius:50%;font-weight:400}.brand-sub{display:block;font:600 8px 'DM Sans',sans-serif;letter-spacing:1.7px;margin-top:1px}.nav-link{font-size:12px;font-weight:600;text-decoration:none}.nav-link span{margin-left:20px;font-size:19px}.hero{display:grid;grid-template-columns:1.3fr 1fr;align-items:center;padding-top:64px;padding-bottom:68px;min-height:535px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:700;margin:0 0 22px;display:flex;gap:10px;align-items:center}.red-line{width:25px;height:2px;background:var(--red)}h1,h2,h3,p{margin-top:0}h1{font-family:Manrope,sans-serif;font-size:clamp(48px,6.2vw,78px);line-height:1.12;letter-spacing:-4px;margin-bottom:24px;font-weight:500}h1 em{font-family:Georgia,serif;font-weight:400;color:var(--red)}.intro{color:var(--muted);font-size:15px;line-height:1.8}.hero-link{font-size:12px;font-weight:700;display:inline-flex;gap:34px;align-items:center;text-decoration:none;border-bottom:1px solid var(--ink);padding:12px 0 8px;margin-top:8px}.hero-link span{font-size:21px}.hero-art{position:relative;width:100%;max-width:420px;justify-self:end}.hero-art svg{width:100%;display:block}.enso{fill:none;stroke:var(--red);stroke-width:26;stroke-linecap:square;opacity:.89}.enso-shadow{fill:none;stroke:#e6e0d2;stroke-width:45}.enso-inner{fill:none;stroke:var(--paper);stroke-width:3;opacity:.7}.hero-art text{font-family:serif;font-size:52px;letter-spacing:7px;fill:var(--ink)}.art-caption{font-size:8px;letter-spacing:3px;position:absolute;bottom:30px;width:100%;text-align:center}.art-note{position:absolute;right:0;bottom:75px;font-family:Georgia,serif;font-size:16px;line-height:1.4;font-style:italic;transform:rotate(-7deg);background:var(--paper);padding:8px 3px}.calendar{padding-top:30px;padding-bottom:60px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:28px}.section-heading .eyebrow{margin-bottom:9px;color:var(--muted);font-size:9px}h2{font-family:Manrope,sans-serif;font-size:32px;line-height:1.3;font-weight:500;letter-spacing:-1.2px;margin-bottom:0}.count{vertical-align:middle;display:inline-flex;align-items:center;justify-content:center;font:500 12px 'DM Sans',sans-serif;background:#e9e8df;width:28px;height:28px;border-radius:50%;letter-spacing:0;margin-left:14px}.section-note{text-align:right;font-size:12px;line-height:1.7;color:var(--muted);margin:0}.filters{display:flex;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:5px;padding:12px 17px;gap:20px}.search-label{display:flex;align-items:center;gap:12px;flex:1;min-width:0}.search-label svg{width:19px;flex-shrink:0;color:var(--muted)}input{width:100%;border:0;outline:0;background:transparent;font-size:13px;padding:10px 0;color:var(--ink)}input:focus-visible{outline:2px solid var(--red);outline-offset:2px}input::placeholder{color:#898d83}.select-label{border-left:1px solid var(--line);padding-left:20px;display:flex;flex-direction:column;gap:1px}.select-label span{font-size:8px;letter-spacing:1px;color:var(--muted);font-weight:700}select{border:0;background:transparent;min-width:125px;font-size:12px;color:var(--ink);padding:2px 24px 2px 0}.reset{border:0;background:transparent;color:var(--muted);font-size:11px;padding:8px 0}.reset span{font-size:17px;margin-left:5px}.results-label{font-size:10px;color:var(--muted);margin:13px 0 25px}.month-group{margin-top:27px}.month-heading{display:flex;align-items:center;gap:14px;margin-bottom:17px;font-size:12px;font-weight:500;letter-spacing:.2px}.month-heading:after{content:"";height:1px;background:var(--line);flex:1}.month-heading span{font-size:10px;color:var(--muted);letter-spacing:1px}.cards{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.card{background:var(--white);border:1px solid var(--line);border-radius:6px;overflow:hidden;transition:border-color .2s}.card:hover{border-color:#b8bbaf}.card-top{padding:25px 25px 20px;display:flex;gap:20px}.date-block{flex:0 0 57px;padding-top:3px;text-align:center;border-right:1px solid var(--line);padding-right:16px}.date-day{display:block;font-family:Manrope,sans-serif;font-weight:500;font-size:26px;letter-spacing:-1.5px;white-space:nowrap;line-height:1.25}.date-block.range{flex-basis:80px}.date-month{font-size:9px;font-weight:700;letter-spacing:1px;text-transform:uppercase;display:block;margin-top:5px;color:var(--muted)}.date-week{display:block;color:var(--muted);font-size:9px;margin-top:12px}.card-info{min-width:0}.category{font-size:8px;text-transform:uppercase;letter-spacing:1.5px;color:var(--red);margin-bottom:8px;font-weight:700}.card h3{font-family:Manrope,sans-serif;font-size:21px;font-weight:600;letter-spacing:-.7px;line-height:1.3;margin-bottom:5px}.rank{font-size:10px;color:var(--muted);margin-bottom:10px}.event-title{font-size:12px;margin-bottom:11px;line-height:1.5}.location{font-size:11px;display:flex;gap:6px;align-items:center;margin:0}.location svg{width:13px;height:13px}.country{color:var(--muted)}.card-organizer{font-size:10px;color:var(--muted);padding:0 25px 18px;margin:0}.card-organizer span{color:var(--ink)}.details{border-top:1px solid var(--line)}.details summary{display:flex;align-items:center;justify-content:space-between;list-style:none;font-size:11px;font-weight:600;padding:14px 25px;user-select:none}.details summary::-webkit-details-marker{display:none}.details summary:after{content:"+";font-size:20px;font-weight:400;color:var(--red)}.details[open] summary:after{content:"−"}.detail-content{padding:6px 25px 25px;font-size:12px}.detail-content h4{font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:22px 0 9px}.detail-content p{margin-bottom:10px}.muted{color:var(--muted)}.day-title{font-size:11px;font-weight:700;margin:13px 0 4px;text-transform:capitalize}.day-location{font-size:10px;color:var(--muted)}.schedule-row,.price-row{display:grid;grid-template-columns:88px 1fr;gap:10px;border-bottom:1px solid #ecece5;padding:7px 0;font-size:11px}.schedule-row time{font-variant-numeric:tabular-nums;color:var(--muted)}.price-row{grid-template-columns:1fr auto}.price-row span:last-child{text-align:right;max-width:180px}.detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}.action{border:1px solid var(--line);border-radius:3px;background:transparent;text-decoration:none;padding:8px 11px;font-size:10px;font-weight:500;display:inline-block}.action:hover{background:var(--paper)}.action.primary{background:var(--ink);color:var(--white);border-color:var(--ink)}.sources a{font-size:10px;display:inline-block;margin:3px 14px 3px 0;text-underline-offset:3px}.source-note{font-size:9px;color:var(--muted);margin-top:12px}.empty{padding:55px 20px;text-align:center;border:1px dashed var(--line);border-radius:5px}.empty h3{font-family:Manrope,sans-serif;font-size:22px;margin-bottom:8px}.empty p{color:var(--muted);font-size:13px}.empty button{background:var(--ink);color:white;border:0;padding:10px 20px;border-radius:3px}.closing{padding-top:38px;padding-bottom:38px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;align-items:center;gap:23px}.closing-symbol{font-size:47px;line-height:1;font-family:serif;color:var(--red)}.closing h2{font-size:22px;letter-spacing:-.5px;margin-bottom:6px}.closing p{font-size:12px;color:var(--muted);margin:0}.back-top{margin-left:auto;width:40px;height:40px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;text-decoration:none}.footer{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-top:30px;padding-bottom:35px}.footer-brand{font-weight:700;font-size:14px}.footer p,.footer>span:last-child{font-size:9px;color:var(--muted);margin:0}.footer>span:last-child{text-align:right}.skip{position:absolute;top:-100px;padding:10px;background:white;z-index:10}.skip:focus{top:5px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(min-width:1400px){.hero{padding-top:70px;padding-bottom:80px}}@media(max-width:900px){.wrap{padding-left:28px;padding-right:28px}.hero{grid-template-columns:1.2fr 1fr;min-height:460px;padding-top:45px;padding-bottom:45px}h1{font-size:60px}.hero-art text{font-size:45px}.filters{gap:12px}.select-label{padding-left:12px}select{min-width:100px}.card-top{padding:20px 18px;gap:14px}.card h3{font-size:19px}.card-organizer{padding-left:18px;padding-right:18px}.date-block.range{flex-basis:72px}.details summary{padding:13px 18px}.detail-content{padding:6px 18px 22px}.reset{font-size:0}.reset span{font-size:20px}}@media(max-width:640px){.wrap{padding-left:21px;padding-right:21px}.header{height:85px}.brand{font-size:19px;gap:10px}.brand-mark{width:36px;height:36px;font-size:22px}.brand-sub{font-size:6px;letter-spacing:1.1px}.nav-link{font-size:0}.nav-link span{font-size:23px;margin:0}.hero{grid-template-columns:1fr;padding-top:40px;padding-bottom:40px;position:relative;overflow:hidden;min-height:400px}.hero-copy{z-index:1}.hero .eyebrow{font-size:8px;letter-spacing:1.4px}h1{font-size:59px;letter-spacing:-3px;line-height:1.13}.intro{font-size:13px;max-width:290px}.hero-art{position:absolute;right:-68px;top:50px;width:225px;opacity:.12;pointer-events:none;z-index:0}.hero-art text{display:none}.art-note,.art-caption{display:none}.hero-link{font-size:11px}.calendar{padding-top:8px}.section-heading{margin-bottom:22px}.section-heading .eyebrow{font-size:8px;letter-spacing:1.5px}h2{font-size:27px}.section-note{display:none}.filters{flex-wrap:wrap;gap:0;padding:8px 13px}.search-label{flex-basis:100%;border-bottom:1px solid var(--line);margin-bottom:10px}.search-label input{padding:10px 0 13px;font-size:12px}.select-label{border-left:0;padding:0 10px 4px 0;flex:1}.select-label+.select-label{padding-left:12px;border-left:1px solid var(--line)}select{font-size:11px;min-width:0;width:100%;max-width:140px}.reset{padding-left:8px}.results-label{margin-bottom:20px}.cards{grid-template-columns:1fr;gap:14px}.card-top{padding:22px 20px;gap:20px}.card h3{font-size:22px}.date-block{flex-basis:60px}.date-block.range{flex-basis:80px}.card-organizer{padding-left:20px}.details summary{padding:13px 20px}.detail-content{padding:6px 20px 24px}.closing{gap:15px;padding-top:28px;padding-bottom:28px}.closing h2{font-size:17px}.closing p{font-size:10px}.closing-symbol{font-size:36px}.back-top{width:32px;height:32px;flex-shrink:0}.footer{flex-wrap:wrap;gap:10px;padding-top:25px}.footer p{margin-left:auto}.footer>span:last-child{flex-basis:100%;text-align:left;font-size:8px}.month-group{margin-top:22px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}

.poster-section{margin-bottom:24px}.poster-preview{display:block;max-width:100%;width:230px;border:1px solid var(--line);background:var(--paper);padding:0;border-radius:4px;overflow:hidden;text-align:left}.poster-preview img{display:block;width:100%;height:auto}.poster-preview>span{display:flex;justify-content:space-between;padding:10px 12px;font-size:11px;font-weight:600}.poster-preview:hover{border-color:var(--red)}.poster-dialog{width:min(820px,calc(100% - 28px));max-width:820px;max-height:92dvh;padding:0;border:1px solid var(--line);border-radius:6px;background:var(--white);color:var(--ink);overflow:auto;overscroll-behavior:contain}.poster-dialog::backdrop{background:rgba(20,25,22,.75)}body:has(.poster-dialog[open]){overflow:hidden}.poster-dialog-header{display:flex;gap:20px;align-items:center;justify-content:space-between;padding:15px 20px;position:sticky;top:0;background:var(--white);border-bottom:1px solid var(--line);z-index:1}.poster-dialog-header h2{font-size:18px;letter-spacing:-.4px}.poster-close{border:1px solid var(--line);background:var(--paper);border-radius:50%;width:40px;height:40px;flex-shrink:0;font-size:16px}.poster-figure{margin:0;padding:18px}.poster-figure img{display:block;width:100%;height:auto}.poster-figure figcaption{font-size:11px;color:var(--muted);padding-top:12px}.poster-dialog-footer{padding:0 18px 18px}@media(max-width:640px){.poster-dialog-header{padding:12px}.poster-dialog-header h2{font-size:16px}.poster-figure{padding:10px}.poster-preview{width:210px}.poster-dialog-footer{padding:0 10px 14px}}

.event-link-row{padding:0 25px 18px}.event-link{color:var(--red);border-color:#d9c9bd}.event-link-missing{font-size:10px;color:var(--muted)}@media(max-width:900px){.event-link-row{padding-left:18px;padding-right:18px}}@media(max-width:640px){.event-link-row{padding-left:20px;padding-right:20px}}

.travel-origin{font-size:11px;color:var(--muted);margin:18px 0 0;line-height:1.8}.travel-origin a{text-underline-offset:3px}.travel-origin span{display:block;font-size:10px}.travel-summary{margin:0 25px 17px;padding:12px 14px;border-radius:4px;background:var(--paper)}.travel-mode{font-size:8px;letter-spacing:1px;color:var(--muted);font-weight:700;margin:0 0 4px}.travel-numbers{font-family:Manrope,sans-serif;font-size:17px;font-weight:600;letter-spacing:-.3px;margin:0}.travel-numbers span{padding:0 6px;color:var(--muted)}.travel-hint{font-size:9px;line-height:1.6;color:var(--muted);margin:5px 0 0}.route-option{padding:13px 0;border-bottom:1px solid var(--line)}.route-destination{font-weight:600;font-size:11px}.route-metrics{font-size:15px;font-weight:600}.travel-section{margin-bottom:24px}.travel-section .source-note{margin-top:12px}@media(max-width:900px){.travel-summary{margin-left:18px;margin-right:18px}}@media(max-width:640px){.travel-summary{margin-left:20px;margin-right:20px}.travel-origin{font-size:10px}.travel-numbers{font-size:16px}}

/* Odstęp między etykietą a polem oraz osobna ramka fokusu. */
.filters .select-label{gap:8px}.filters .select-label select{min-height:34px;padding:6px 24px 6px 8px;border:1px solid var(--line);border-radius:4px;background-color:var(--white)}.filters .select-label select:focus-visible{outline:2px solid var(--red);outline-offset:2px}

/* Zwarty układ: filtry i staże bez banerów dekoracyjnych. */
.header{height:72px}.calendar{padding-top:24px;padding-bottom:32px}.section-heading{margin-bottom:20px}.calendar h1{font-family:Manrope,sans-serif;font-size:30px;line-height:1.25;letter-spacing:-1px;margin:0;font-weight:600}.footer{border-top:1px solid var(--line);padding-top:20px;padding-bottom:20px}.footer-top{font-size:11px;color:var(--muted);text-underline-offset:3px}@media(max-width:640px){.header{height:66px}.calendar{padding-top:18px}.calendar h1{font-size:27px}.section-heading{margin-bottom:16px}}

/* Czytelne pole na telefonie ogranicza automatyczne zbliżenie przy wpisywaniu. */
@media (max-width:900px),(hover:none){.filters .search-label input{font-size:16px}}

.verification-section{border-left:3px solid var(--red);padding:1px 12px 8px;margin:12px 0 22px;background:var(--paper)}.verification-section h4{margin-top:12px}.contact-section a{overflow-wrap:anywhere}.registration-section .action{margin-bottom:8px}

/* Mapa jest dodatkiem otwieranym na żądanie i korzysta z tych samych filtrów. */
[hidden]{display:none!important}.results-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:14px 0 20px}.results-toolbar .results-label{margin:0}.map-toggle{font-size:12px;background:var(--white);white-space:nowrap}.route-map-panel{border:1px solid var(--line);border-radius:6px;background:var(--white);margin-bottom:24px;overflow:hidden}.map-toolbar{display:flex;align-items:center;gap:12px;padding:12px 16px}.map-toolbar p{font-size:12px;flex:1;margin:0}.map-toolbar button{flex-shrink:0;font-size:11px}.route-map{height:480px;width:100%;background:#e7e8df;isolation:isolate;z-index:0}.map-legend{display:grid;grid-template-columns:1fr 1fr;gap:6px;padding:12px}.map-legend:empty{display:none}.route-legend-item{display:flex;align-items:flex-start;gap:10px;text-align:left;background:transparent;border:1px solid var(--line);border-radius:4px;padding:10px;width:100%;min-width:0}.route-legend-item:hover{background:var(--paper);border-color:var(--route-color)}.route-number{display:grid;place-items:center;min-width:24px;height:24px;border-radius:50%;background:var(--route-color);color:#fff;font-size:12px;font-weight:700}.route-legend-item strong,.route-legend-item span span,.route-legend-item small{display:block}.route-legend-item strong{font-size:12px}.route-legend-item span span{font-size:12px}.route-legend-item small{font-size:11px;color:var(--muted);margin-top:2px}.map-note{font-size:10px;color:var(--muted);padding:0 16px 14px;margin:0}.route-date-icon{background:none;border:0}.route-date-icon>span{display:inline-flex;align-items:center;gap:5px;position:absolute;transform:translate(-50%,-100%);white-space:nowrap;background:#fffefa;color:#262d29;border:2px solid var(--route-color);border-radius:5px 5px 5px 0;padding:3px 6px;font:600 11px/1.4 'DM Sans',sans-serif;box-shadow:0 1px 4px #0003}.route-date-icon b{background:var(--route-color);color:#fff;border-radius:50%;width:20px;height:20px;display:grid;place-items:center;font-size:11px}.route-start-icon span{display:block;border:2px solid white;background:var(--ink);color:white;border-radius:4px;text-align:center;font:bold 10px/20px sans-serif;box-shadow:0 1px 5px #0005}.route-map .leaflet-popup-content{font-family:'DM Sans',sans-serif;font-size:13px;line-height:1.6}.route-map .leaflet-popup-content p{margin:8px 0}.route-map .leaflet-popup-content a{color:#8d2f25}.route-map .leaflet-control-attribution{font-size:10px}.map-toolbar button:disabled{opacity:.5;cursor:default}@media(max-width:640px){.route-map{height:390px}.map-legend{grid-template-columns:1fr;padding:8px}.map-toolbar{padding:10px;flex-wrap:wrap;gap:8px}.map-toolbar p{flex-basis:100%}.map-note{padding:4px 10px 12px}.results-toolbar{gap:8px}.map-toggle{font-size:11px;padding:8px}.route-date-icon>span{font-size:10px;padding:2px 4px}}

.route-date-icon>span{transform:none}.route-date-icon>i{position:absolute;left:-5px;top:-5px;width:10px;height:10px;border:2px solid #fff;border-radius:50%;box-shadow:0 1px 3px #0006}

/* Osobny wybór prowadzącego, również dla stażów z kilkoma nauczycielami. */
.filters{display:grid;grid-template-columns:minmax(180px,1fr) minmax(125px,150px) minmax(125px,150px) minmax(160px,210px) auto;gap:16px}.filters .select-label{min-width:0;padding-left:12px}.filters select{width:100%;min-width:0;max-width:100%}.filters .search-label{min-width:0}.filters .reset{white-space:nowrap}@media(max-width:1000px){.filters{grid-template-columns:repeat(3,minmax(0,1fr)) auto;gap:12px}.filters .search-label{grid-column:1/-1;border-bottom:1px solid var(--line);margin:0}.filters .select-label{border:0;padding:0}.filters .reset{padding-left:4px}}@media(max-width:640px){.filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr) 28px;padding:10px 13px;gap:12px}.filters .instructor-label{grid-column:1/3}.filters .reset{grid-column:3;grid-row:2/4;align-self:center}.filters select{font-size:12px}.filters .select-label+.select-label{border:0;padding:0}}
@media(max-width:640px){.filters{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.filters .search-label{padding-right:30px}.filters .reset{position:absolute;right:13px;top:14px;padding:0}.filters .instructor-label{grid-column:1/-1}}
