/* Kalendarz mieszkańców — izolowane reguły; nie zmieniają belki ani artykułów. */
.os-events-home{margin:35px 0;padding:26px;background:#faf6f3;border:1px solid #eadfe1;border-radius:16px}.os-events-home .section-head{margin-bottom:18px}.os-event-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.os-event-card{display:flex;align-items:flex-start;gap:15px;padding:18px;border:1px solid #e5d5dc;border-radius:12px;background:white;text-decoration:none;color:#35212b}.os-event-card:hover{border-color:#64283b}.os-event-date{display:flex;flex-direction:column;align-items:center;min-width:58px;color:#64283b}.os-event-date strong{font-size:32px;line-height:1.1}.os-event-date small{font-size:12px}.os-event-info{display:flex;flex-direction:column;gap:6px;min-width:0}.os-event-info small,.os-calendar-event-meta{font-size:12px;color:#8b6273}.os-event-info strong{font-size:17px;line-height:1.3}.os-event-info span{font-size:13px}.os-events-all{display:inline-block;margin-top:16px;color:#64283b;font-weight:700}.os-events-muted{color:#6f6066}.os-calendar-page{max-width:1180px;margin:auto}.os-calendar-page h1{color:#64283b}.os-calendar-filters{display:flex;gap:12px;align-items:end;flex-wrap:wrap;margin:22px 0}.os-calendar-filters label{display:flex;flex-direction:column;gap:6px;font-weight:600}.os-calendar-filters input,.os-calendar-filters select{border:1px solid #ccb7c1;padding:10px;border-radius:8px;min-height:42px;background:#fff}.os-calendar-filters button{background:#64283b;color:#fff;border:0;border-radius:8px;padding:12px 18px;cursor:pointer}.os-calendar-layout{display:grid;grid-template-columns:minmax(340px,1.1fr) minmax(300px,1fr);gap:22px}.os-calendar-month,.os-calendar-results{background:white;border:1px solid #eadfe1;border-radius:14px;padding:20px;min-width:0}.os-calendar-month-head{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:15px}.os-calendar-month-head h2{margin:0;font-size:22px;color:#64283b}.os-calendar-month-head a{font-size:28px;text-decoration:none;color:#64283b;padding:0 12px}.os-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}.os-calendar-weekday{text-align:center;font-size:12px;font-weight:700;padding:8px 0}.os-calendar-day{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:61px;gap:5px;border:1px solid #e8dce0;border-radius:8px;text-decoration:none;color:#37252e}.os-calendar-day small{font-size:11px;color:#8b6273}.os-calendar-day.has-event{background:#f4e6eb;border-color:#b98fa0}.os-calendar-day.selected{outline:2px solid #64283b}.os-calendar-day.today strong{text-decoration:underline}.os-calendar-event{padding:14px 0;border-bottom:1px solid #eee1e6}.os-calendar-event h3{font-size:17px;color:#64283b;margin:6px 0}.os-calendar-event p{font-size:14px;margin:8px 0;overflow-wrap:anywhere}.os-calendar-results h2{color:#64283b;margin-top:0}@media(max-width:900px){.os-calendar-layout{grid-template-columns:1fr}.os-event-cards{grid-template-columns:1fr}}@media(max-width:550px){.os-calendar-month,.os-calendar-results{padding:12px}.os-calendar-day{min-height:46px}.os-calendar-page{padding:0 8px}.os-events-home{padding:16px}}
.os-calendar-selected{padding:14px;margin-bottom:18px;background:#faf5f7;border:1px solid #eadce2;border-radius:10px}.os-calendar-selected h2{font-size:18px;margin:0 0 8px}.os-calendar-selected p{margin:5px 0;font-size:14px}

/* Kalendarz: zwarty nagłówek i opcje pod widokiem. */
.os-calendar-page{margin-top:-16px}
.os-calendar-page>.eyebrow{margin-bottom:5px}
.os-calendar-page>h1{margin:0 0 7px}
.os-calendar-page>p{margin:0 0 10px}
.os-calendar-filters{margin:14px 0 17px}
.os-calendar-bottom{margin-top:20px}
.os-calendar-share{display:flex;align-items:center;justify-content:space-between;gap:22px;padding:19px 22px;border:1px solid #eadfe1;border-radius:14px;background:#faf6f7}
.os-calendar-share h2{margin:0 0 7px;color:#64283b;font-size:20px}
.os-calendar-share p{margin:0 0 12px}
.os-calendar-share-actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px}
.os-calendar-share-actions a{display:inline-block;border:1px solid #64283b;border-radius:9px;padding:10px 14px;color:#64283b;background:#fff;text-decoration:none;font-weight:700}
.os-calendar-share-actions a:first-child{background:#64283b;color:white}
.os-calendar-share-info small{color:#6f6066}
.os-calendar-share-qr{display:flex;flex-direction:column;align-items:center;gap:6px;flex:0 0 154px;text-align:center;font-size:12px;color:#6f6066}
.os-calendar-share-qr img{background:white;border:5px solid white;border-radius:7px}
.os-calendar-edit{text-align:right;margin:7px 0 0}
@media(max-width:650px){.os-calendar-page{margin-top:-8px}.os-calendar-share{flex-direction:column;align-items:stretch;padding:15px}.os-calendar-share-qr{flex-basis:auto}.os-calendar-edit{text-align:left}}

/* Odbiór odpadów: równoległe kolory w tym samym dniu. */
.os-calendar-page{--waste-brown:#a87851;--waste-blue:#6aa7d8;--waste-yellow:#f2d366;--waste-green:#78b58c}
.os-calendar-day.waste-day{background:var(--waste-gradient);border-color:#b7a9a9;color:#1e2528}
.os-calendar-day.waste-day strong,.os-calendar-day.waste-day small{background:rgba(255,255,255,.85);padding:1px 6px;border-radius:5px;color:#202020}
.os-waste-legend{display:flex;flex-wrap:wrap;gap:8px 17px;margin:0 0 13px;font-size:12px;color:#65565c}
.os-waste-legend span{display:inline-flex;align-items:center;gap:6px}
.os-waste-legend i{width:12px;height:12px;border-radius:3px;display:inline-block}
.os-waste-brown{background:var(--waste-brown)}.os-waste-blue{background:var(--waste-blue)}.os-waste-yellow{background:var(--waste-yellow)}.os-waste-green{background:var(--waste-green)}
.os-calendar-event-current{background:#faf2f5;border-left:3px solid #64283b;padding-left:12px;padding-right:8px;border-radius:6px}
.os-calendar-event-current h3,.os-calendar-event-current .os-calendar-event-meta{font-weight:800}

/* Korekta: brąz zamiast różu; zwykła grubość wpisów po prawej. */
.os-calendar-day.has-event:not(.waste-day){background:#e7d5c4;border-color:#b78d6e}
.os-calendar-event-current{background:#f2e7dc;border-left-color:#987052}
.os-calendar-event h3,.os-calendar-event-current h3,.os-calendar-event-current .os-calendar-event-meta{font-weight:400}

/* Lista wydarzeń: białe tło wszystkich pozycji poza zaznaczonymi w kalendarzu. */
.os-calendar-results .os-calendar-event:not(.os-calendar-event-current){background:#fff;border-left-color:transparent}

/* Jednolite biale tlo wszystkich wpisow na liscie po prawej, rowniez w biezacym miesiacu. */
.os-calendar-results .os-calendar-event,
.os-calendar-results .os-calendar-event.os-calendar-event-current{background:#fff;border-left-color:transparent;font-weight:400}

/* Jeden kalendarz: okno edycji dostępne wyłącznie dla zalogowanego administratora. */
.os-selected-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.os-admin-event-open{border:1px solid #64283b;background:#64283b;color:#fff;padding:9px 13px;border-radius:8px;cursor:pointer;font:inherit;font-weight:600}
.os-editor-overlay[hidden]{display:none!important}.os-editor-overlay{position:fixed;inset:0;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}.os-editor-shade{position:absolute;inset:0;background:rgba(20,13,17,.65)}.os-editor-dialog{position:relative;display:flex;flex-direction:column;width:min(720px,100%);height:min(88vh,850px);background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 20px 65px #0005}.os-editor-top{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:#64283b;color:#fff}.os-editor-top button{border:0;background:transparent;color:white;font-size:28px;cursor:pointer}.os-editor-dialog iframe{width:100%;flex:1;border:0;background:#fff}.os-editor-active{overflow:hidden}
/* Unikamy wychodzenia wpisów poza prawą kolumnę. */
.os-calendar-results,.os-calendar-event{min-width:0;max-width:100%;box-sizing:border-box}.os-calendar-event h3,.os-calendar-event-meta{overflow-wrap:anywhere;word-break:normal}

/* Kolory wybierane w edytorze; dni bez koloru mają neutralne tło. */
.os-calendar-page{--waste-burgundy:#a84f70;--waste-purple:#9570b5;--waste-orange:#e8a357}
.os-calendar-day.has-event:not(.waste-day){background:#f1f3f5;border-color:#cbd2d9}
.os-calendar-day.selected{outline:3px solid #64283b;outline-offset:1px;box-shadow:0 0 0 2px #fff inset}
.os-calendar-day.selected strong{background:#64283b;color:white;border-radius:5px;padding:2px 8px;text-decoration:none}
.os-calendar-day.waste-day.selected strong{background:#64283b;color:white}

/* Korekta 31.10: inne wydarzenia odroznione od brazowych odpadow. */
.os-calendar-page .os-calendar-day.has-event:not(.waste-day){background:#e6e8f5;border-color:#b9bfd9}
/* Delikatna ramka wyboru, bez dodatkowej grubej obwodki. */
.os-calendar-page .os-calendar-day.selected{outline:1px solid #64283b;outline-offset:0;box-shadow:none}
/* Filtry: napisy i kontrolki w jednym wierszu na desktopie. */
@media(min-width:901px){
 .os-calendar-page .os-calendar-filters{display:flex;flex-flow:row nowrap;align-items:center;gap:10px;margin:14px 0 17px}
 .os-calendar-page .os-calendar-filters label{display:inline-flex;flex-flow:row nowrap;align-items:center;gap:8px;white-space:nowrap;flex:0 0 auto}
 .os-calendar-page .os-calendar-filters input[type=search]{width:240px;max-width:none;min-width:0}
 .os-calendar-page .os-calendar-filters select{width:135px;max-width:none}
 .os-calendar-page .os-calendar-filters button,.os-calendar-page .os-calendar-filters>a{flex:0 0 auto;white-space:nowrap;margin:0}
}
