/* GdzieZabawa — redesign 17.10.2026 „jak spędzić dzień”: karta imprezy (bilety, pogoda,
   dojazd, kalendarz) i karty list z filtrem rodzaju. Paleta i kroje = obecne GZ (gz-plus.css).
   Jeden wyrazisty element: bilet z perforacją w bloku „Bilety”; reszta spokojna. */
:root{--gzd-ink:#16231f;--gzd-green:#176b52;--gzd-green-dark:#0f4d3b;--gzd-soft:#e7f2ec;--gzd-panel:#fafbf8;--gzd-line:rgba(22,35,31,.17);--gzd-muted:#52655e;--gzd-paid:#7a4e00;--gzd-paid-soft:#fbf3e3}

/* szersza kolumna na dużym ekranie (było 1040 px, puste pola po bokach 1903) */
main.wrap:has(> article.event),main.wrap:has(> article.lista),main.wrap:has(> article.gmina){--content:1240px}

.gzd-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.gzd-note{margin:10px 0 0;color:var(--gzd-muted);font-size:.86rem;line-height:1.45}

/* ---------- karta imprezy: układ ---------- */
.gzd-layout{display:grid;gap:28px;align-items:start}
.gzd-main{min-width:0}
.gzd-main .lead{max-width:68ch}
@media (max-width:999px){
  /* telefon: bilet zaraz pod tytułem, pogoda i kalendarz po opisie */
  .gzd-layout > .gzd-aside{display:contents}
  .gzd-tickets{order:-1}
  .gzd-main{order:0}
  .gzd-wx,.gzd-cal{order:1}
}
@media (min-width:1000px){
  .gzd-layout{grid-template-columns:minmax(0,1fr) 360px;gap:36px}
  .gzd-layout.is-past{grid-template-columns:minmax(0,1fr)}
  .gzd-aside{position:sticky;top:18px}
}
.gzd-aside{display:grid;gap:16px;min-width:0}
.gzd-box{margin:0;padding:18px 18px 16px;border:1px solid var(--gzd-line);background:#fff;border-radius:6px}
.gzd-box h2,.gzd-route h2{margin:0 0 12px;font-family:"GZ Display","Arial Narrow",sans-serif;font-weight:600;font-size:1.45rem;line-height:1.1;color:var(--gzd-ink);letter-spacing:.01em}

/* Bilety: kartonik z perforacją (wycięcia po bokach) */
.gzd-tickets{position:relative;border:0;background:var(--gzd-ink);color:#fff;border-radius:8px;
  -webkit-mask:radial-gradient(circle 11px at 0 62px,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 62px,#0000 98%,#000) right/51% 100% no-repeat;
          mask:radial-gradient(circle 11px at 0 62px,#0000 98%,#000) left/51% 100% no-repeat,radial-gradient(circle 11px at 100% 62px,#0000 98%,#000) right/51% 100% no-repeat}
.gzd-tickets::after{content:"";position:absolute;left:18px;right:18px;top:61px;border-top:2px dashed rgba(255,255,255,.28)}
.gzd-tickets h2{color:#fff;margin-bottom:26px}
.gzd-tickets .gzd-note{color:rgba(255,255,255,.78)}
.gzd-buy{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px;border-radius:6px;background:#ffd34d;color:var(--gzd-ink)!important;text-decoration:none!important;transition:background .15s ease}
.gzd-buy:hover{background:#ffe07a}
.gzd-buy:focus-visible{outline:3px solid #fff;outline-offset:3px}
.gzd-buy span{display:grid;gap:2px}
.gzd-buy b{font-size:1.05rem}
.gzd-buy small{font-size:.9rem;font-weight:600}
.gzd-free{margin:0;display:grid;gap:4px;font-size:.92rem;line-height:1.45;color:rgba(255,255,255,.86)}
.gzd-free strong{font-family:"GZ Display","Arial Narrow",sans-serif;font-weight:600;font-size:1.9rem;line-height:1;color:#9ff0c9}
.gzd-free--paid strong{color:#ffd34d}
.gzd-free--unknown strong{font-family:inherit;font-size:1.05rem;color:#fff}

/* Pogoda */
.gzd-wx-row{display:flex;align-items:center;gap:14px}
.gzd-wx-ico{flex:none;color:var(--gzd-green)}
.gzd-wx-row p{margin:0;display:grid}
.gzd-wx-row b{font-family:"GZ Display","Arial Narrow",sans-serif;font-weight:600;font-size:2.2rem;line-height:1;color:var(--gzd-ink)}
.gzd-wx-row span{color:var(--gzd-muted)}

/* Przyciski pomocnicze */
.gzd-btns,.gzd-route-btns{display:flex;flex-wrap:wrap;gap:8px}
.gzd-btn{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:9px 14px;border:1px solid var(--gzd-line);border-radius:6px;background:var(--gzd-panel);color:var(--gzd-ink)!important;font-weight:600;font-size:.95rem;text-decoration:none!important;touch-action:manipulation}
.gzd-btn:hover{border-color:var(--gzd-green);background:var(--gzd-soft)}
.gzd-btn:focus-visible,.gzd-chip:focus-visible,.gzd-title:focus-visible{outline:3px solid var(--gzd-green);outline-offset:2px}
.gzd-btn--main{background:var(--gzd-green);border-color:var(--gzd-green);color:#fff!important}
.gzd-btn--main:hover{background:var(--gzd-green-dark);border-color:var(--gzd-green-dark)}

/* Jak dojechać */
.gzd-route{margin:36px 0 8px}
.gzd-route-grid{display:grid;gap:18px;align-items:stretch}
@media (min-width:860px){.gzd-route-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}
.gzd-route-info{display:flex;flex-direction:column;gap:14px;padding:18px;border:1px solid var(--gzd-line);border-radius:6px;background:#fff}
.gzd-addr{margin:0;display:grid;gap:4px}
.gzd-addr b{font-size:1.1rem;color:var(--gzd-ink)}
.gzd-addr span{color:var(--gzd-muted)}
.gzd-addr small{color:var(--gzd-muted);font-size:.84rem}
.gzd-map{position:relative;min-height:240px;overflow:hidden;border-radius:6px;border:1px solid var(--gzd-line);background:#e8ece6}
.gzd-map__tiles{position:absolute;left:50%;top:50%;width:768px;height:512px;display:grid;grid-template-columns:repeat(3,256px);transform:translate(calc(-1 * var(--mx)),calc(-1 * var(--my)));margin-left:0;margin-top:0}
.gzd-map__tiles img{display:block;width:256px;height:256px;max-width:none}
.gzd-map__pin{position:absolute;left:50%;top:50%;width:26px;height:26px;margin:-26px 0 0 -13px;border-radius:50% 50% 50% 0;background:#c2362b;transform:rotate(-45deg);box-shadow:0 2px 6px rgba(0,0,0,.35)}
.gzd-map__pin::after{content:"";position:absolute;inset:8px;border-radius:50%;background:#fff}
.gzd-map__credit{position:absolute;right:0;bottom:0;padding:2px 6px;background:rgba(255,255,255,.85);font-size:.72rem}

/* ---------- listy ---------- */
.gzd-filter{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 16px}
.gzd-chip{min-height:40px;padding:7px 14px;border:1px solid var(--gzd-line)!important;border-radius:999px!important;background:#fff!important;color:var(--gzd-ink)!important;font:600 .93rem/1.2 "IBM Plex Sans","Segoe UI",system-ui,sans-serif!important;cursor:pointer;touch-action:manipulation}
.gzd-chip span{color:var(--gzd-muted);font-weight:500;margin-left:2px}
.gzd-chip[aria-pressed="true"]{background:var(--gzd-ink)!important;border-color:var(--gzd-ink)!important;color:#fff!important}
.gzd-chip[aria-pressed="true"] span{color:rgba(255,255,255,.75)}
.gzd-filter-empty{color:var(--gzd-muted)}
.gzd-list{display:grid;gap:10px}
@media (min-width:1000px){.gzd-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.gzd-card{position:relative;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:14px;align-items:start;margin:0;padding:14px 16px 14px 14px;border:1px solid var(--gzd-line);border-radius:6px;background:#fff;min-width:0}
.gzd-card:hover{border-color:color-mix(in srgb,var(--kc,#176b52) 55%,white)}
.gzd-card[hidden]{display:none}
/* kartka z kalendarza: grzbiet w kolorze kategorii */
.gzd-date{display:grid;justify-items:center;align-content:start;overflow:hidden;border:1px solid var(--gzd-line);border-top:6px solid var(--kc,var(--gzd-green));border-radius:4px;background:var(--gzd-panel);padding:4px 0 6px;line-height:1;text-align:center}
.gzd-date small{font-size:.72rem;color:var(--gzd-muted);text-transform:none}
.gzd-date b{font-family:"GZ Display","Arial Narrow",sans-serif;font-weight:600;font-size:1.9rem;color:var(--gzd-ink);margin:2px 0}
.gzd-date span{font-size:.8rem;color:var(--gzd-muted)}
.gzd-body{display:grid;gap:3px;min-width:0}
.gzd-kind{font-size:.8rem;font-weight:600;color:color-mix(in srgb,var(--kc,#176b52) 85%,black)}
.gzd-title{color:var(--gzd-ink)!important;font-weight:700;font-size:1.04rem;line-height:1.3;text-decoration:none!important;overflow-wrap:anywhere}
.gzd-title::after{content:"";position:absolute;inset:0}
.gzd-title:hover{text-decoration:underline!important}
.gzd-when,.gzd-place{color:var(--gzd-muted);font-size:.9rem;line-height:1.35;overflow-wrap:anywhere}
.gzd-side{display:grid;justify-items:end;gap:4px;text-align:right}
.gzd-price{display:inline-block;padding:4px 9px;border-radius:4px;background:var(--gzd-paid-soft);color:var(--gzd-paid);font-weight:700;font-size:.86rem;white-space:nowrap}
.gzd-price.is-free{background:var(--gzd-soft);color:#08603a}
.gzd-price.is-unknown{background:#f0f2ef;color:#4a5752;font-weight:600}
.gzd-seller{font-size:.78rem;color:var(--gzd-muted)}
@media (max-width:560px){
  .gzd-card{grid-template-columns:56px minmax(0,1fr);gap:12px;padding:12px}
  .gzd-side{grid-column:2;justify-items:start;text-align:left;display:flex;flex-wrap:wrap;align-items:center;gap:8px}
  .gzd-date b{font-size:1.65rem}
  .gzd-chip{min-height:44px}
  .gzd-route-btns .gzd-btn{flex:1 1 calc(50% - 8px)}
}
@media (prefers-reduced-motion:reduce){.gzd-buy,.gzd-btn{transition:none}}
.gzd-more{margin-top:40px;padding-top:24px;border-top:1px solid var(--gzd-line)}
.gzd-more h2{font-family:"GZ Display","Arial Narrow",sans-serif;font-weight:600;font-size:1.6rem;margin:0 0 12px}
