/* GdzieZabawa plus — Sternik 30.09.2026 (S132): podpowiedzi gmin, karty imprez,
   województwa, „w okolicy”. Działa na stronie głównej i podstronach. */
.gzp-ac,.gzp-section,.gzp-matches{--gzp-ink:#16231f;--gzp-muted:#52655e;--gzp-line:rgba(22,35,31,.17);--gzp-green:#176b52;--gzp-green-soft:#e7f2ec;--gzp-panel:#fafbf8}

/* --- podpowiedzi gmin --- */
.gzp-ac-wrap{position:relative;display:block}
.gzp-ac{position:absolute;z-index:80;top:calc(100% + 6px);left:0;right:0;display:block;max-height:min(62vh,440px);overflow:auto;overscroll-behavior:contain;border:1px solid rgba(22,35,31,.22);background:#fff;color:var(--gzp-ink);box-shadow:0 18px 40px rgba(8,29,23,.22);text-align:left}
.gzp-ac[hidden]{display:none}
.gzp-ac__opt{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name badge" "meta badge";align-items:center;column-gap:12px;min-height:56px;padding:9px 16px;border-top:1px solid var(--gzp-line);color:var(--gzp-ink)!important;text-decoration:none!important;cursor:pointer}
.gzp-ac__opt:first-child{border-top:0}
.gzp-ac__opt strong{grid-area:name;overflow:hidden;font:700 15px/1.3 "IBM Plex Sans",system-ui,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.gzp-ac__opt strong mark{background:#fde7bf;color:inherit;padding:0 1px}
.gzp-ac__opt span{grid-area:meta;overflow:hidden;color:var(--gzp-muted);font:500 12px/1.35 "IBM Plex Sans",system-ui,sans-serif;text-overflow:ellipsis;white-space:nowrap}
.gzp-ac__opt em{grid-area:badge;padding:4px 9px;border:1px solid var(--gzp-line);color:var(--gzp-muted);font:700 11px/1.2 "IBM Plex Sans",system-ui,sans-serif;font-style:normal;white-space:nowrap}
.gzp-ac__opt em.is-on{border-color:transparent;background:var(--gzp-green);color:#fff}
.gzp-ac__opt:hover,.gzp-ac__opt.is-active,.gzp-ac__more:hover,.gzp-ac__more.is-active{background:var(--gzp-green-soft)}
.gzp-ac__more{display:block;width:100%;min-height:48px;padding:12px 16px;border:0;border-top:1px solid var(--gzp-line);background:#f4f6f1;color:var(--gzp-green);font:700 13px/1.3 "IBM Plex Sans",system-ui,sans-serif;text-align:left;cursor:pointer}
.gz-hero-search .gzp-ac{top:calc(100% + 8px);left:-1px;right:-1px}
.gz-hero__main:focus-within{z-index:6}

/* --- sekcje z kartami --- */
.gzp-section{padding-block:56px 52px;border-bottom:1px solid var(--gzp-line)}
.gzp-section--sub{padding-block:28px 8px;border-bottom:0}
.gzp-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:22px}
.gzp-head h2{margin:10px 0 0;color:var(--gzp-ink);font:600 clamp(36px,4.2vw,54px)/.95 "GZ Display","Arial Narrow",sans-serif;letter-spacing:-.02em;text-transform:uppercase;text-wrap:balance}
.gzp-section--sub .gzp-head h2{font-size:clamp(26px,3vw,34px)}
.gzp-section--sub .gzp-head{margin-bottom:16px}
.gzp-more{display:inline-flex;align-items:center;min-height:44px;color:var(--gzp-green)!important;font:700 13px/1 "IBM Plex Sans",system-ui,sans-serif;text-decoration:none!important;white-space:nowrap}
.gzp-more:hover{text-decoration:underline!important}

.gzp-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(262px,1fr));gap:12px;margin:0;padding:0;list-style:none}
.gzp-card{min-width:0;margin:0;padding:0}
.gzp-card a{display:grid;grid-template-columns:62px minmax(0,1fr);gap:14px;height:100%;padding:14px;border:1px solid var(--gzp-line);border-left:4px solid var(--kc,var(--gzp-green));background:var(--gzp-panel);color:var(--gzp-ink)!important;text-decoration:none!important;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.gzp-card a:hover{transform:translateY(-2px);box-shadow:0 10px 24px rgba(8,29,23,.12)}
.gzp-card time{display:flex;flex-direction:column;align-items:center;justify-content:center;align-self:start;min-height:78px;padding:8px 4px;background:#eceee8;text-align:center}
.gzp-card time small{color:var(--gzp-muted);font:700 10px/1 "IBM Plex Sans",system-ui,sans-serif;text-transform:uppercase}
.gzp-card time b{margin-top:4px;font:600 32px/.9 "GZ Display","Arial Narrow",sans-serif}
.gzp-card time span{margin-top:4px;color:var(--gzp-green);font:700 11px/1 "IBM Plex Sans",system-ui,sans-serif;text-transform:uppercase}
.gzp-card__body{display:flex;min-width:0;flex-direction:column;gap:4px}
.gzp-card__kat{color:var(--gzp-muted);font:600 10px/1.3 ui-monospace,"IBM Plex Mono",monospace;letter-spacing:.1em;text-transform:uppercase}
.gzp-card__body strong{display:-webkit-box;overflow:hidden;font:700 15px/1.3 "IBM Plex Sans",system-ui,sans-serif;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.gzp-card__meta{color:var(--gzp-muted);font:500 12px/1.4 "IBM Plex Sans",system-ui,sans-serif}
.gzp-card__foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-top:auto;padding-top:6px}
.gzp-badge{padding:3px 8px;border:1px solid var(--gzp-line);color:var(--gzp-muted);font:700 11px/1.3 "IBM Plex Sans",system-ui,sans-serif}
.gzp-badge.is-free{border-color:transparent;background:var(--gzp-green-soft);color:var(--gzp-green)}
.gzp-km{color:var(--gzp-ink);font:700 12px/1.3 "IBM Plex Sans",system-ui,sans-serif}
.gzp-km::before{content:"📍 ";font-size:11px}

/* --- województwa --- */
.gzp-regions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--gzp-line);background:var(--gzp-line)}
.gzp-regions a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name num" "name lab";align-items:center;column-gap:10px;min-height:76px;padding:14px 16px;background:var(--gzp-panel);color:var(--gzp-ink)!important;text-decoration:none!important;transition:background-color .16s ease}
.gzp-regions a:hover{background:var(--gzp-green-soft)}
.gzp-regions span{grid-area:name;font:650 14px/1.3 "IBM Plex Sans",system-ui,sans-serif}
.gzp-regions b{grid-area:num;justify-self:end;color:var(--gzp-green);font:600 30px/1 "GZ Display","Arial Narrow",sans-serif;font-variant-numeric:tabular-nums}
.gzp-regions small{grid-area:lab;justify-self:end;color:var(--gzp-muted);font:600 11px/1.2 "IBM Plex Sans",system-ui,sans-serif}
.gzp-regions a.is-empty b{color:#9aa8a2}
.gzp-regions a.is-empty span{color:var(--gzp-muted)}

/* --- kategorie z liczbami --- */
.gzp-dot{display:inline-block;width:10px;height:10px;margin-right:10px;border-radius:50%;background:var(--kc,#176b52);vertical-align:1px}

/* --- „Chodziło Ci o gminę?” na liście --- */
.gzp-matches{display:grid;gap:8px;margin:14px 0 18px;padding:0;list-style:none}
.gzp-matches a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"name badge" "meta badge";align-items:center;column-gap:12px;padding:12px 14px;border:1px solid var(--gzp-line);background:#fff;color:var(--gzp-ink)!important;text-decoration:none!important}
.gzp-matches a:hover{border-color:var(--gzp-green)}
.gzp-matches strong{grid-area:name;font-size:15px}
.gzp-matches span{grid-area:meta;color:var(--gzp-muted);font-size:12px}
.gzp-matches em{grid-area:badge;padding:3px 8px;background:var(--gzp-green);color:#fff;font-size:11px;font-style:normal;font-weight:700}

/* --- karta imprezy: licencja zwinięta --- */
.gzp-license{margin:-4px 0 12px;color:#52655e;font-size:12px}
.gzp-license summary{cursor:pointer;min-height:32px;line-height:32px}
.gzp-license .license-note{display:block;margin:4px 0 0}
.gzp-src-date{color:#52655e;font-size:.9em}

@media(max-width:900px){
  .gz-hero-search input,.gzp-ac-wrap input{font-size:16px!important}
  .gzp-section{padding-block:40px 36px}
  .gzp-head{flex-wrap:wrap;align-items:flex-end}
  .gzp-head h2{font-size:clamp(32px,9vw,42px)}
  .gzp-cards{grid-template-columns:1fr;gap:10px}
  .gzp-card a{grid-template-columns:56px minmax(0,1fr);padding:12px}
  .gzp-regions{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gzp-regions a{min-height:68px;padding:12px}
  .gzp-regions span{font-size:13px}
  .gzp-regions b{font-size:26px}
  .gzp-ac{max-height:min(52vh,380px)}
}
@media(prefers-reduced-motion:reduce){.gzp-card a{transition:none}}
