/* Ziołowy Radar — styles.css (redesign 10.2026) */

/* ---------- fonty (lokalnie, bez Google Fonts) ---------- */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-400-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(fonts/inter-latin-ext-400-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/inter-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/inter-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/bricolage-grotesque-latin-500-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:500;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-500-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/bricolage-grotesque-latin-600-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:600;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-600-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-700-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Bricolage Grotesque';font-style:normal;font-weight:700;font-display:swap;src:url(fonts/bricolage-grotesque-latin-ext-700-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}

/* ---------- tokeny ---------- */
:root{
  --bg:#F3F4EE; --surface:#FFFFFF; --surface-muted:#E9ECE3; --segment-bg:#EBEEE5;
  --ink:#15201A; --muted:#55625A; --line:#DDE2D8; --line-strong:#C9D1C2;
  --primary:#2F5D3A; --primary-ink:#2B5535; --primary-soft:#E4EFDF; --accent-light:#9CC48A;
  --urgent-ink:#8A5300; --urgent-dot:#D08A1E; --promo-bg:#F6E3DC; --promo-ink:#8A3418;
  --kind-warsztat-bg:#E4EFDF; --kind-warsztat-fg:#2B5535; --kind-warsztat-band:#2F5D3A;
  --kind-kurs-bg:#E1EAF2; --kind-kurs-fg:#284E6B; --kind-kurs-band:#284E6B;
  --kind-studia-bg:#ECE4F2; --kind-studia-fg:#553A6E; --kind-studia-band:#553A6E;
  --radius-sm:10px; --radius-md:14px; --radius-lg:16px; --radius-pill:999px;
  --head:'Bricolage Grotesque',system-ui,sans-serif; --text:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;
  --gut:32px; --maxw:1320px;
  color-scheme:light;
}

/* ---------- baza ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:15px;line-height:1.45;-webkit-font-smoothing:antialiased}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
button:disabled{cursor:default}
a{color:var(--primary)} a:hover{color:#1E3D26}
h1,h2,h3{margin:0}
svg{flex-shrink:0}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--primary);outline-offset:2px}
.top :focus-visible{outline-color:var(--accent-light)}

/* przyciski ogólne */
.btn{height:44px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--line-strong);background:var(--surface);font-size:14px;font-weight:500;display:inline-flex;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:var(--ink);white-space:nowrap}
.btn svg{width:17px;height:17px}
.btn:hover{border-color:#A9B4A2}
.btn.pri{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:600}
.btn.pri:hover{background:#264D30;color:#fff}
.btn-o{height:44px;padding:0 16px;border-radius:var(--radius-sm);border:1px solid var(--primary);background:transparent;color:var(--primary);font-weight:600;font-size:14px;white-space:nowrap}
.btn-o:hover{background:var(--primary-soft)}
.btn-s{height:36px;padding:0 12px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);font-size:13.5px;font-weight:600;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.btn-s svg{width:14px;height:14px}
.link{background:none;border:0;padding:0;color:var(--primary);font-weight:600;font-size:13.5px;text-decoration:underline;text-underline-offset:3px;min-height:36px;display:inline-flex;align-items:center;gap:4px;text-align:left}
.link svg{width:14px;height:14px}

/* ---------- nagłówek ---------- */
.top{background:var(--ink);color:var(--bg)}
.top-in{max-width:var(--maxw);margin:0 auto;padding:18px var(--gut);display:flex;flex-wrap:wrap;align-items:center;gap:16px 24px}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--bg)}
.brand:hover{color:var(--bg)}
.logo{width:40px;height:40px}
.brand-t{display:flex;flex-direction:column}
.brand-t b{font-family:var(--head);font-weight:700;font-size:21px;letter-spacing:-.01em;line-height:1.1}
.brand-s{font-size:12.5px;color:#B9C4B4}
.views{display:flex;gap:4px;background:rgba(243,244,238,.08);padding:4px;border-radius:12px}
.views button{height:40px;padding:0 14px;border-radius:9px;border:0;background:transparent;color:var(--bg);font-weight:600;font-size:14px;display:flex;align-items:center;gap:8px}
.views button[aria-current=page]{background:var(--bg);color:var(--ink)}
.vbadge{min-width:20px;height:20px;padding:0 6px;border-radius:var(--radius-pill);background:var(--accent-light);color:var(--ink);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}
.views button[aria-current=page] .vbadge{background:var(--primary);color:#fff}
.search{flex:1 1 360px;display:flex;align-items:center;gap:10px;background:var(--bg);border-radius:var(--radius-pill);padding:0 6px 0 18px;height:48px;color:var(--ink);min-width:0}
.search>svg{width:18px;height:18px;color:var(--muted)}
.search input{flex:1;border:0;background:transparent;font-size:15px;outline:none;min-width:0;height:100%}
.search input::-webkit-search-cancel-button{cursor:pointer}
.search-go{height:36px;padding:0 16px;border-radius:var(--radius-pill);border:0;background:var(--primary);color:#fff;font-weight:600;font-size:14px}
.search:focus-within{box-shadow:0 0 0 2px var(--accent-light)}

/* ---------- układ ---------- */
.page{max-width:var(--maxw);margin:0 auto;padding:28px var(--gut) 56px}
#discover{display:flex;flex-direction:column;gap:24px}
.cols{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.list{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:26px}

/* ---------- najbliższe 7 dni ---------- */
.week{display:flex;flex-direction:column;gap:14px}
.sec-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}
.sec-row h2{font-family:var(--head);font-size:26px;font-weight:700;letter-spacing:-.015em}
.meta{font-size:13.5px;color:var(--muted)}
.wgrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.wday{min-width:0;padding:12px 4px 10px;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;color:var(--ink)}
.wday:not(:disabled):hover{border-color:var(--primary)}
.wday:disabled{background:var(--surface-muted);border-color:transparent;color:var(--muted)}
.wday.today{border:2px solid var(--primary)}
.wday.on{background:var(--ink);border:2px solid var(--ink);color:var(--bg)}
.w-wd{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;line-height:1;color:var(--muted)}
.wday.today .w-wd{color:var(--primary)}
.wday.on .w-wd{color:#CFE3C4}
.w-n{font-family:var(--head);font-size:26px;font-weight:700;line-height:1}
.w-dots{display:flex;gap:4px;height:7px}
.w-dots i{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--primary)}
.wday.on .w-dots i{background:var(--accent-light)}
.dayon{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;font-size:14px;color:var(--muted)}
.dayon strong{color:var(--ink)}

/* ---------- filtry ---------- */
.fwrap{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}
.seg{display:flex;gap:4px;background:var(--segment-bg);padding:4px;border-radius:var(--radius-sm)}
.seg button{height:36px;padding:0 14px;border-radius:8px;border:0;background:transparent;font-size:14px;font-weight:600;color:#45524A;white-space:nowrap;display:flex;align-items:center;justify-content:center;gap:5px}
.seg button[aria-pressed=true]{background:var(--surface);color:var(--ink);box-shadow:0 1px 2px rgba(21,32,26,.12)}
.seg .n{opacity:.75;font-weight:500}
.fbtn{display:none}
.fbar{display:contents}
.sheet-head{display:none}
.fsep{width:1px;height:28px;background:var(--line)}
.chips{display:contents}
.chip{height:40px;padding:0 14px;border-radius:var(--radius-pill);border:1px solid var(--line-strong);background:var(--surface);font-size:14px;color:var(--ink);display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.chip svg{width:15px;height:15px}
.chip:not(:disabled):hover{border-color:var(--primary)}
.chip[aria-pressed=true]{border-color:var(--primary);background:var(--primary-soft);color:var(--primary-ink);font-weight:600}
.chip:disabled{opacity:.55}
.chip .cn{color:var(--muted);font-weight:500}
.chip[aria-pressed=true] .cn{color:var(--primary-ink)}
.sel-chip{padding:0 6px 0 14px;gap:8px}
.sel-chip select{border:0;background:transparent;font-size:14px;font-weight:600;max-width:190px;height:36px;cursor:pointer}
.chk{margin-left:auto;display:flex;align-items:center;gap:8px;font-size:14px;color:var(--muted);min-height:40px;cursor:pointer}
.chk input{width:18px;height:18px;accent-color:var(--primary);margin:0}
#f-reset{font-size:13.5px}

/* ---------- lista ---------- */
.group{display:flex;flex-direction:column;gap:10px}
.g-h{display:flex;align-items:baseline;gap:10px;font-family:var(--head);font-size:20px;font-weight:700}
.g-h span{font-family:var(--text);font-size:13.5px;font-weight:500;color:var(--muted)}
.g-sub{margin:-4px 0 2px;font-size:13.5px;color:var(--muted)}
.foot{margin:0;font-size:13px;color:var(--muted)}
.loading{color:var(--muted)}

.card,.pitem{display:flex;align-items:flex-start;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);margin:1px}
.card.sel,.pitem.sel{border:2px solid var(--primary);margin:0}
.c-hit{all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:18px;align-items:flex-start;flex:1;min-width:0;padding:16px 8px 16px 18px;border-radius:var(--radius-md)}
.c-hit:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}
.c-hit:hover .c-title{color:var(--primary-ink)}
.date{width:76px;height:76px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;border-radius:12px;background:var(--bg);white-space:nowrap;color:var(--ink)}
.d-w,.d-m{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1.2}
.d-n{font-family:var(--head);font-size:26px;font-weight:700;line-height:1.1}
.date.rng .d-n{font-size:20px}
.date.any svg{width:26px;height:26px;color:var(--muted)}
.c-body{display:flex;flex-direction:column;gap:6px;min-width:0;padding-top:1px}
.tags{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center}
.kpill,.spill,.promo,.st{font-size:12px;font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);line-height:1.35;white-space:nowrap}
.k-warsztat{background:var(--kind-warsztat-bg);color:var(--kind-warsztat-fg)}
.k-kurs{background:var(--kind-kurs-bg);color:var(--kind-kurs-fg)}
.k-studia{background:var(--kind-studia-bg);color:var(--kind-studia-fg)}
.mode{font-size:12.5px;color:var(--muted)}
.spill{background:var(--segment-bg);color:#3F4B43}
.s-open{background:#E2F0E0;color:#24522F}
.s-check{background:#FBEFD5;color:#7A4F00}
.s-soon{background:var(--kind-kurs-bg);color:var(--kind-kurs-fg)}
.s-closed{background:var(--segment-bg);color:#3F4B43}
.urg{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:600;color:var(--urgent-ink)}
.urg i{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--urgent-dot)}
.promo{background:var(--promo-bg);color:var(--promo-ink)}
.c-title{font-family:var(--head);font-size:18px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
.c-meta{font-size:13.5px;color:var(--muted);display:flex;flex-wrap:wrap}
.c-meta>span+span::before{content:'·';margin:0 6px}
.people{font-size:13px;color:var(--primary-ink);font-weight:500}
.c-hint{font-size:13px;color:var(--muted)}

/* przyciski planu */
.plan-btns{display:flex;flex-direction:column;gap:6px}
.c-plan{width:150px;margin:16px 16px 16px 0;flex-shrink:0}
.pb{height:40px;padding:0 12px;border-radius:var(--radius-sm);font-size:13.5px;font-weight:600;white-space:nowrap;border:1px solid var(--line-strong);background:var(--surface);color:var(--ink)}
.pb.maybe:hover{border-color:#8C978F}
.pb.going{border-color:var(--primary);color:var(--primary-ink)}
.pb.going:hover{background:var(--primary-soft)}
.pb.maybe[aria-pressed=true]{border:1.5px dashed #3F4B43;background:var(--segment-bg);color:var(--ink)}
.pb.going[aria-pressed=true]{background:var(--primary);color:#fff}

/* wyróżniona karta (telefon) */
#feature:empty{display:none}
.feat{display:none}

/* intro / organizator / pusto */
.intro,.orgbar{display:flex;align-items:flex-start;gap:14px;padding:16px 18px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}
.intro{background:var(--primary-soft);border-color:#CFE1C7}
.intro p{margin:0;flex:1;font-size:14px;color:#2A362F}
.intro b{display:block;font-family:var(--head);font-size:17px;color:var(--ink);margin-bottom:2px}
.intro .x{width:44px;height:44px;margin:-10px -10px 0 0;border:0;background:transparent;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.intro .x svg{width:18px;height:18px}
.orgbar{align-items:center;flex-wrap:wrap}
.ob-t{flex:1 1 260px;display:flex;flex-direction:column;gap:2px;font-size:13.5px;color:var(--muted)}
.ob-t b{font-family:var(--head);font-size:20px;color:var(--ink)}
.lbl{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}
.empty{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:28px;background:var(--surface);border:1px dashed #B9C4B4;border-radius:var(--radius-md)}
.empty b{font-family:var(--head);font-size:18px}
.empty span{color:var(--muted);font-size:14px}

/* ---------- panel szczegółów ---------- */
.detail{flex:1 1 380px;max-width:440px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;position:sticky;top:16px;max-height:calc(100vh - 32px);overflow-y:auto;overscroll-behavior:contain}
.d-bar{display:none}
.band{padding:22px 24px;display:flex;justify-content:space-between;align-items:flex-end;gap:16px;color:#F3F4EE}
.band.k-warsztat{background:var(--kind-warsztat-band)} .band.k-kurs{background:var(--kind-kurs-band)} .band.k-studia{background:var(--kind-studia-band)}
.band>div{display:flex;flex-direction:column;min-width:0}
.b-l{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;opacity:.88}
.b-n{font-family:var(--head);font-size:52px;font-weight:700;line-height:1;letter-spacing:-.02em;white-space:nowrap}
.b-n.small{font-size:34px}
.b-u{font-size:13px;font-weight:600;padding:5px 10px;border-radius:var(--radius-pill);background:#FBEFD5;color:#7A4F00;white-space:nowrap}
.d-body{padding:22px 24px 24px;display:flex;flex-direction:column;gap:18px}
.d-head{display:flex;flex-direction:column;gap:6px;align-items:flex-start}
.d-head h2{font-family:var(--head);font-size:26px;font-weight:700;line-height:1.15;letter-spacing:-.01em;overflow-wrap:anywhere}
.d-head .org{font-size:14.5px;color:var(--muted);text-decoration:none;font-weight:500;min-height:0}
.d-head button.org{color:var(--muted);text-decoration:underline;text-decoration-color:var(--line-strong);text-underline-offset:3px;min-height:32px}
.d-head button.org:hover{color:var(--primary-ink)}
.d-head .people{font-size:13.5px}
.callout{margin:0;padding:10px 12px;border-radius:var(--radius-sm);font-size:13.5px}
.callout.hot{background:#FBEFD5;color:#7A4F00;font-weight:600}
.callout.warn{background:#FBEFD5;color:#5E3F00}
.facts{margin:0;display:grid;grid-template-columns:96px 1fr;gap:12px;font-size:14.5px}
.facts dt{color:var(--muted)}
.facts dd{margin:0;font-weight:600;overflow-wrap:anywhere}
.facts dd a{font-weight:500;font-size:13.5px}
.notes{margin:0;font-size:13.5px;color:var(--muted);padding:10px 12px;background:var(--bg);border-radius:var(--radius-sm)}
.opis{display:flex;flex-direction:column;gap:8px;border-top:1px solid var(--line);padding-top:16px}
.opis p{margin:0;font-size:14.5px;line-height:1.6;color:#2A362F}
.opis.clamp:not(.open) p{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.o-foot{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.src{font-size:12.5px;color:var(--muted)}
.src a{color:var(--muted)}
.cta{height:50px;border-radius:12px;font-size:15.5px;width:100%}
.cta svg{width:16px;height:16px}
.d-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.d-plan{display:contents}
.d-plan .pb{grid-column:1/-1;height:44px}
.d-grid .btn.wide{grid-column:1/-1}
.cap{margin:-8px 0 0;font-size:12.5px;color:var(--muted);text-align:center}
.more{display:flex;flex-direction:column;gap:4px;border-top:1px solid var(--line);padding-top:16px}
.more .lbl{margin-bottom:4px}
.more>button:not(.link){all:unset;box-sizing:border-box;cursor:pointer;display:flex;gap:12px;align-items:baseline;font-size:14.5px;padding:6px 0;min-height:36px;border-radius:6px}
.more>button:not(.link):hover span{color:var(--primary-ink);text-decoration:underline}
.more>button:not(.link):focus-visible{outline:2px solid var(--primary)}
.more time{font-weight:600;color:var(--primary);white-space:nowrap;min-width:52px}
.more .all{margin-top:4px}
.ph{padding:32px 24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.ph .ring{width:52px;height:52px;border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}
.ph .ring svg{width:34px;height:34px}
.ph b{font-family:var(--head);font-size:20px}
.ph p{margin:0;color:var(--muted);font-size:14px}
.ph .more{width:100%;margin-top:8px}

/* ---------- Mój plan ---------- */
.plan{display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start}
.p-main{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:22px}
.mc-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px}
.mc-head h1{font-family:var(--head);font-size:36px;font-weight:700;letter-spacing:-.02em;line-height:1.1}
.mc-head p{margin:6px 0 0;color:var(--muted)}
.p-group{display:flex;flex-direction:column;gap:10px}
.pitem{flex-wrap:wrap;align-items:center}
.pitem .c-hit{flex:1 1 300px}
.pitem .date{width:64px;height:64px}
.pitem .date .d-n{font-size:22px}
.pitem .date.rng .d-n{font-size:17px}
.pitem .c-title{font-size:19px}
.pitem.gone{opacity:.7}
.p-act{display:flex;gap:8px;flex-wrap:wrap;padding:0 18px 16px}
.pitem .p-act{padding:16px 18px 16px 0}
.p-act .pb{height:44px;padding:0 16px}
.st-maybe{background:var(--segment-bg);color:#3F4B43;border:1px dashed #8C978F;padding:2px 7px}
.st-going{background:var(--primary);color:#fff}
.todo{background:#FBF4E4;border:1px solid #EFDDB4;border-radius:var(--radius-md);padding:14px 18px}
.todo h2{display:flex;align-items:center;gap:8px;font-family:var(--head);font-size:17px;margin-bottom:4px}
.todo h2 svg{width:18px;height:18px;color:var(--urgent-ink)}
.todo ul{margin:0;padding:0 0 0 2px;list-style:none;font-size:14px;color:#4A3A16}
.todo li{padding:2px 0}
.todo .link{font-size:14px;min-height:32px}
.suggest{border:1px dashed #B9C4B4;border-radius:var(--radius-md);padding:22px 24px;display:flex;flex-wrap:wrap;gap:16px;align-items:center;justify-content:space-between}
.suggest>div{display:flex;flex-direction:column;gap:4px;flex:1 1 260px}
.suggest b{font-family:var(--head);font-size:18px;font-weight:600}
.suggest span{font-size:14px;color:var(--muted)}
.mc-empty{display:flex;flex-direction:column;align-items:flex-start;gap:10px;padding:26px;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}
.mc-empty b{font-family:var(--head);font-size:22px}
.mc-empty p{margin:0;color:var(--muted)}
.steps{margin:4px 0 6px;padding-left:20px;color:#2A362F;font-size:14.5px;display:grid;gap:4px}
.p-side{flex:1 1 340px;max-width:400px;display:flex;flex-direction:column;gap:14px}
.mini{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:14px}
.mini-h{display:flex;align-items:center;justify-content:space-between}
.mini-h b{font-family:var(--head);font-size:18px}
.mini-h>span{display:flex;gap:4px}
.navb{width:44px;height:44px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface);display:flex;align-items:center;justify-content:center}
.navb svg{width:16px;height:16px}
.mini-g{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;text-align:center;font-size:13px}
.mini-g .wd{font-size:11px;font-weight:600;color:var(--muted);padding-bottom:4px}
.cd{height:40px;display:flex;align-items:center;justify-content:center;position:relative;border:0;background:none;padding:0;color:var(--ink);font-size:13px}
.cd>span{width:36px;height:36px;border-radius:var(--radius-pill);display:flex;align-items:center;justify-content:center}
.cd.out{color:#6B776F}
.cd.today>span{box-shadow:inset 0 0 0 1px var(--line-strong);font-weight:700}
.cd.maybe>span{border:1.5px dashed #3F4B43;font-weight:700}
.cd.going>span{background:var(--primary);color:#fff;font-weight:700}
.cd.dl::after{content:'';position:absolute;right:4px;top:5px;width:8px;height:8px;border-radius:2px;background:#C2603C}
button.cd:hover>span{background:var(--primary-soft)}
button.cd.going:hover>span{background:#264D30}
.cd.on>span{outline:2px solid var(--ink);outline-offset:1px}
.legend{display:flex;flex-wrap:wrap;gap:14px;font-size:12.5px;color:var(--muted)}
.legend span{display:flex;align-items:center;gap:6px}
.legend i{width:10px;height:10px;border-radius:var(--radius-pill)}
.legend .lm{border:1.5px dashed #3F4B43}
.legend .lg{background:var(--primary)}
.legend .ld{border-radius:2px;background:#C2603C}
.btn.big{height:50px;border-radius:12px;font-size:15px}
.p-side .cap{margin-top:-6px}
.note-s{margin:0;font-size:12.5px;color:var(--muted)}

/* ---------- toast, scrim, dolny pasek ---------- */
.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;pointer-events:none;background:var(--ink);color:var(--bg);padding:10px 10px 10px 16px;border-radius:12px;display:flex;align-items:center;gap:12px;font-size:14px;z-index:60;transition:.2s;box-shadow:0 8px 24px rgba(21,32,26,.25);max-width:calc(100% - 32px)}
.toast.on{opacity:1;transform:translate(-50%,0);pointer-events:auto}
.toast button{height:36px;padding:0 12px;border-radius:8px;border:0;background:rgba(243,244,238,.14);color:var(--bg);font-weight:600}
.scrim{display:none;position:fixed;inset:0;background:rgba(21,32,26,.42);z-index:40}
body.f-open .scrim,body[data-view=mycal].d-open .scrim{display:block}
.bottomnav{display:none}

/* Mój plan: szczegóły jako panel z prawej */
body[data-view=mycal] .detail{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);max-width:none;max-height:none;border-radius:0;border:0;z-index:50;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;box-shadow:-12px 0 32px rgba(21,32,26,.18)}
body[data-view=mycal].d-open .detail{transform:none;visibility:visible}
body[data-view=mycal] .d-bar{display:flex;padding:10px 12px;background:var(--surface);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}

/* ---------- tablet i mniejsze: szczegóły jako panel ---------- */
@media (max-width:1079px){
  body.d-open .scrim{display:block}
  .detail{position:fixed;top:0;right:0;bottom:0;width:min(460px,100%);max-width:none;max-height:none;border-radius:0;border:0;z-index:50;transform:translateX(100%);visibility:hidden;transition:transform .25s,visibility .25s;box-shadow:-12px 0 32px rgba(21,32,26,.18)}
  body.d-open .detail{transform:none;visibility:visible}
  .d-bar{display:flex;padding:10px 12px;background:var(--surface);position:sticky;top:0;z-index:1;border-bottom:1px solid var(--line)}
  .d-bar .btn-s{height:44px;padding:0 14px}
  .cols{display:block}
  .p-side{max-width:none}
}
@media (max-width:860px){
  :root{--gut:20px}
  .top-in{padding:14px var(--gut);gap:12px 16px}
  .search{flex-basis:100%;order:3}
  .plan{flex-direction:column}
  .p-side{width:100%;flex-basis:auto}
}

/* ---------- telefon ---------- */
@media (max-width:640px){
  :root{--gut:16px}
  body{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .top-in{padding:14px 16px;gap:12px}
  .logo{width:28px;height:28px}
  .brand{gap:10px}
  .brand-t b{font-size:18px}
  .brand-s{display:none}
  .views{display:none}
  .search{height:44px;padding:0 6px 0 16px}
  .search-go{display:none}
  .page{padding:14px 16px 28px}
  #discover{gap:18px}

  .fwrap{order:-1;background:none;border:0;padding:0;flex-wrap:nowrap;gap:8px;align-items:stretch}
  .fwrap .seg{flex:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding:3px;border-radius:12px;background:#E6EAE0}
  .fwrap .seg button{height:44px;padding:0 4px;border-radius:9px;flex-direction:column;gap:0;font-size:13px;line-height:1.2;color:var(--ink)}
  .fwrap .seg .n{font-size:12px;color:var(--muted);opacity:1}
  .fbtn{display:flex;width:50px;flex-shrink:0;border-radius:12px;border:1px solid var(--line-strong);background:var(--surface);align-items:center;justify-content:center;position:relative}
  .fbtn svg{width:20px;height:20px}
  .fbtn .badge{position:absolute;top:-6px;right:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:var(--radius-pill);background:var(--primary);color:#fff;font-size:11.5px;font-weight:600;display:flex;align-items:center;justify-content:center}
  .fbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;position:fixed;left:0;right:0;bottom:0;z-index:50;background:var(--surface);border-radius:18px 18px 0 0;padding:16px 16px calc(20px + env(safe-area-inset-bottom));max-height:85vh;overflow-y:auto;transform:translateY(100%);visibility:hidden;transition:transform .25s,visibility .25s;box-shadow:0 -12px 32px rgba(21,32,26,.18)}
  body.f-open .fbar{transform:none;visibility:visible}
  .sheet-head{display:flex;width:100%;justify-content:space-between;align-items:center}
  .sheet-head b{font-family:var(--head);font-size:20px}
  .sheet-head .btn-s{height:44px;background:var(--primary);border-color:var(--primary);color:#fff;padding:0 16px}
  .fsep{display:none}
  .chips{display:flex;flex-wrap:wrap;gap:8px;width:100%}
  .chip{height:44px}
  .sel-chip{width:100%;justify-content:space-between}
  .sel-chip select{flex:1;max-width:none;text-align:right;height:42px}
  .chk{margin-left:0;width:100%;min-height:44px}
  #f-reset{min-height:44px}

  .week{gap:8px}
  .sec-row h2{font-size:17px}
  .sec-row .meta{display:none}
  .wgrid{gap:4px}
  .wday{height:58px;padding:0;gap:1px;justify-content:center;border-radius:10px;border-color:var(--line)}
  .w-wd{font-size:11px;letter-spacing:.02em}
  .w-n{font-family:var(--text);font-size:16px}
  .w-dots{gap:2px;height:6px}
  .w-dots i{width:6px;height:6px}

  .list{gap:20px}
  .feat{display:flex;flex-direction:column;gap:10px;background:var(--primary);color:var(--bg);border-radius:var(--radius-lg);padding:16px}
  .f-hit{all:unset;box-sizing:border-box;cursor:pointer;display:flex;flex-direction:column;gap:3px}
  .f-hit:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px;border-radius:8px}
  .f-lead{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:#CFE3C4;margin-bottom:4px}
  .f-lead i{width:7px;height:7px;border-radius:var(--radius-pill);background:#F2B544}
  .f-title{font-family:var(--head);font-size:22px;font-weight:700;line-height:1.15}
  .f-sub{font-size:13px;color:#D9E6D2}
  .f-ppl{color:var(--bg);margin-top:4px}
  .f-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .f-plan .pb{height:44px;background:transparent;border:1px solid rgba(243,244,238,.55);color:var(--bg)}
  .f-plan .pb.going{background:var(--bg);border-color:var(--bg);color:var(--ink)}
  .f-plan .pb.maybe[aria-pressed=true]{border:1.5px dashed var(--bg);background:rgba(243,244,238,.12);color:var(--bg)}
  .f-plan .pb.going[aria-pressed=true]{background:var(--bg);color:var(--primary-ink)}
  .card.is-feat,.group.only-feat{display:none}

  .g-h{font-size:17px}
  .g-h span{font-size:13px}
  .card{flex-direction:column;align-items:stretch}
  .card .c-hit{padding:14px 14px 0;gap:12px}
  .date{width:62px;height:62px;border-radius:10px}
  .d-n{font-size:20px}
  .date.rng .d-n{font-size:17px}
  .c-title{font-size:17px}
  .c-body{gap:3px}
  .c-meta.hasplace .m-org{display:none}
  .c-meta.hasplace .m-place::before{content:none}
  .c-meta{font-size:13px}
  .c-plan{width:auto;margin:10px 14px 14px 88px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .c-plan .pb{height:44px;padding:0 6px}

  .mc-head h1{font-size:28px}
  .mc-head .seg{width:100%;display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}
  .mc-head .seg button{height:44px;padding:0 4px;font-size:13px;white-space:normal;line-height:1.2}
  .pitem{flex-direction:column;align-items:stretch}
  .pitem .c-hit{flex-basis:auto;padding:14px 14px 0;gap:12px}
  .pitem .date{width:62px;height:62px}
  .pitem .c-title{font-size:17px}
  .pitem .p-act{padding:10px 14px 14px 88px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
  .p-act .btn,.p-act .pb{padding:0 6px}

  .detail,body[data-view=mycal] .detail{top:auto;left:0;width:100%;height:92vh;height:92dvh;border-radius:18px 18px 0 0;transform:translateY(100%)}
  body.d-open .detail{transform:none}
  .band{padding:18px 20px}
  .b-n{font-size:44px}
  .d-body{padding:18px 20px calc(24px + env(safe-area-inset-bottom))}
  .d-head h2{font-size:23px}
  .facts{grid-template-columns:88px 1fr}

  .bottomnav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--surface);border-top:1px solid var(--line);padding:6px 16px calc(8px + env(safe-area-inset-bottom))}
  .bottomnav button{height:56px;border:0;background:transparent;border-radius:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:var(--muted);font-size:12px;font-weight:600}
  .bottomnav button svg{width:22px;height:22px}
  .bottomnav button[aria-current=page]{color:var(--primary)}
  .bn-l{display:flex;align-items:center;gap:5px}
  .bottomnav .vbadge{min-width:18px;height:18px;font-size:11px;background:var(--primary);color:#fff}
  .toast{bottom:calc(84px + env(safe-area-inset-bottom))}
}
@media (max-width:360px){
  .fwrap .seg button{font-size:12px}
  .c-plan,.pitem .p-act{margin-left:14px;padding-left:0}
  .pitem .p-act{padding-left:14px}
}
/* ---------- Dodaj wydarzenie ---------- */
.addev{height:44px;padding:0 16px;border-radius:var(--radius-pill);border:1px solid rgba(243,244,238,.45);background:transparent;color:var(--bg);font-weight:600;font-size:14px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}
.addev svg{width:16px;height:16px}
.addev:hover{background:rgba(243,244,238,.1);border-color:var(--bg)}
.orgcta{display:flex;flex-wrap:wrap;gap:12px 16px;align-items:center;justify-content:space-between;padding:16px 18px;background:var(--surface);border:1px dashed #B9C4B4;border-radius:var(--radius-md)}
.orgcta>div{flex:1 1 260px;display:flex;flex-direction:column;gap:2px}
.orgcta b{font-family:var(--head);font-size:17px;font-weight:600}
.orgcta span{font-size:13.5px;color:var(--muted)}
.addsheet{padding:0;border:0;border-radius:var(--radius-lg);width:min(720px,calc(100% - 32px));max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);background:var(--surface);color:var(--ink);box-shadow:0 20px 48px rgba(21,32,26,.28);overflow:hidden}
.addsheet::backdrop{background:rgba(21,32,26,.42)}
.addsheet[open]{display:flex;flex-direction:column}
.as-in{display:flex;flex-direction:column;min-height:0;overflow-y:auto;overscroll-behavior:contain}
.as-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 16px 12px 24px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--surface);z-index:1}
.as-head h2{font-family:var(--head);font-size:22px;font-weight:700}
.as-x{width:44px;height:44px;border:0;background:transparent;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;color:var(--muted)}
.as-x svg{width:20px;height:20px}
.as-x:hover{background:var(--bg)}
#addform{padding:18px 24px 24px;display:flex;flex-direction:column;gap:16px}
.as-lead{margin:0;font-size:14px;color:var(--muted)}
.as-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px}
.fld{display:flex;flex-direction:column;gap:6px;min-width:0}
.fld.wide,.as-grid .chk.wide{grid-column:1/-1}
.fld>span{font-size:13.5px;font-weight:600}
.fld input,.fld select,.fld textarea{width:100%;min-height:44px;padding:10px 12px;border:1px solid var(--line-strong);border-radius:var(--radius-sm);background:var(--surface);font:inherit;font-size:15px;color:var(--ink)}
.fld textarea{resize:vertical;min-height:96px;line-height:1.45}
.fld input:focus,.fld select:focus,.fld textarea:focus{outline:2px solid var(--primary);outline-offset:0;border-color:var(--primary)}
.fld small{font-size:12.5px;color:var(--muted)}
.fld.bad input,.fld.bad select{border-color:#B3261E;background:#FDF3F2}
.as-grid .chk{margin:0;align-items:flex-start;color:var(--ink);font-size:13.5px;line-height:1.45}
.as-grid .chk input{margin-top:2px;flex-shrink:0}
.as-grid .chk.bad span{color:#B3261E}
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.as-err{margin:0;padding:10px 12px;border-radius:var(--radius-sm);background:#FDF3F2;color:#8C1D18;font-size:14px;font-weight:500}
.as-foot{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}
.as-done{padding:32px 24px 24px;display:flex;flex-direction:column;gap:10px;align-items:flex-start}
.as-done .ring{width:52px;height:52px;border-radius:var(--radius-pill);background:var(--primary-soft);color:var(--primary);display:flex;align-items:center;justify-content:center}
.as-done .ring svg{width:28px;height:28px}
.as-done b{font-family:var(--head);font-size:22px}
.as-done p{margin:0;color:var(--muted)}
.as-done .as-foot{width:100%;margin-top:8px}
@media (max-width:860px){
  .addev{order:2;margin-left:auto}
}
@media (max-width:640px){
  .addev{height:40px;padding:0 12px;font-size:13.5px}
  .addsheet{width:100%;max-width:100%;max-height:94vh;max-height:94dvh;margin:auto 0 0;border-radius:18px 18px 0 0}
  .as-head{padding:12px 12px 10px 16px}
  .as-head h2{font-size:20px}
  #addform{padding:16px 16px calc(20px + env(safe-area-inset-bottom))}
  .as-grid{grid-template-columns:minmax(0,1fr)}
  .as-foot .btn{flex:1}
}
@media (max-width:360px){
  .addev span{display:none}
  .addev{width:44px;padding:0;justify-content:center}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;scroll-behavior:auto!important}}
@media print{.top,.fwrap,.week,.bottomnav,.c-plan,.detail,.orgcta,.addsheet{display:none}}

/* odstępy listy */
#intro:empty{display:none}
.groups{display:flex;flex-direction:column;gap:28px}
@media (min-width:641px){#feature{display:none}}
.toast{width:max-content}
.toast span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
