/* =====================================================================
   ZGODY — wygląd banera i panelu ustawień prywatności
   Nieruchomosci-Wroclaw.Net

   Zmienne z własnymi wartościami awaryjnymi, żeby plik działał tak samo
   na stronach z nwo.css i na starych podstronach bez niego.
   Wszystko pod prefiksem .zg- — nie ma jak zderzyć się z resztą serwisu.
   ===================================================================== */

.zg-baner, .zg-modal {
  --zg-ink:#1d2530; --zg-ink2:#5b6572; --zg-line:#d7dce3;
  --zg-tlo:#fff; --zg-akcent:#f5a100; --zg-akcent-ink:#241a00;
  font:400 14px/1.6 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  color:var(--zg-ink);
  box-sizing:border-box;
}
.zg-baner *, .zg-modal * { box-sizing:border-box; }
.zg-baner[hidden], .zg-modal[hidden] { display:none !important; }

/* ── baner ── */
.zg-baner{
  position:fixed; left:0; right:0; bottom:0; z-index:2147483000;
  background:var(--zg-tlo); border-top:1px solid var(--zg-line);
  box-shadow:0 -6px 28px rgba(12,16,22,.14);
  padding:18px 16px calc(18px + env(safe-area-inset-bottom, 0px));
  animation:zg-wjazd .22s ease-out;
}
@keyframes zg-wjazd { from { transform:translateY(100%); } to { transform:none; } }
@media (prefers-reduced-motion: reduce) { .zg-baner{ animation:none } }

.zg-in{ max-width:1180px; margin:0 auto; display:grid; gap:16px; align-items:center; }
@media (min-width:900px){ .zg-in{ grid-template-columns:1fr auto; gap:28px } }

.zg-txt h2{ margin:0 0 6px; font-size:16px; font-weight:700; letter-spacing:-.01em; }
.zg-txt p{ margin:0 0 6px; color:var(--zg-ink2); }
.zg-txt p:last-child{ margin-bottom:0 }
.zg-mini{ font-size:12.5px }
.zg-txt a{ color:inherit; text-decoration:underline }
.zg-txt a:hover{ color:var(--zg-ink) }

.zg-btns{ display:flex; flex-wrap:wrap; gap:9px; }
@media (min-width:900px){ .zg-btns{ flex-direction:column; min-width:230px } }

.zg-b{
  flex:1 1 auto; min-width:150px; padding:11px 18px; border-radius:9px;
  border:1px solid var(--zg-line); background:var(--zg-tlo); color:var(--zg-ink);
  font:600 14px/1 inherit; font-family:inherit; cursor:pointer; text-align:center;
  transition:background .15s, border-color .15s;
}
.zg-b:hover{ background:#f4f6f8 }
.zg-b:focus-visible{ outline:2px solid var(--zg-akcent); outline-offset:2px }
.zg-b--p{ background:var(--zg-akcent); border-color:var(--zg-akcent); color:var(--zg-akcent-ink) }
.zg-b--p:hover{ filter:brightness(.95); background:var(--zg-akcent) }
.zg-b--l{ border-color:transparent; text-decoration:underline; font-weight:500 }
.zg-b--l:hover{ background:transparent; border-color:var(--zg-line) }

/* ── panel ustawień ── */
.zg-modal{
  position:fixed; inset:0; z-index:2147483001;
  background:rgba(12,16,22,.55);
  display:grid; place-items:center; padding:16px;
  overflow:auto;
}
.zg-box{
  width:min(560px, 100%); max-height:calc(100vh - 32px);
  background:var(--zg-tlo); border-radius:14px; overflow:auto;
  box-shadow:0 24px 60px rgba(0,0,0,.3);
  display:flex; flex-direction:column;
}
.zg-box-h{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:18px 20px 12px; border-bottom:1px solid var(--zg-line);
}
.zg-box-h h2{ margin:0; font-size:18px; font-weight:700 }
.zg-x{ border:0; background:none; font-size:26px; line-height:1; color:var(--zg-ink2);
  cursor:pointer; padding:0 4px }
.zg-x:hover{ color:var(--zg-ink) }
.zg-x:focus-visible{ outline:2px solid var(--zg-akcent); outline-offset:2px }

.zg-box-b{ padding:6px 20px 12px }
.zg-kat{ padding:15px 0; border-bottom:1px solid var(--zg-line) }
.zg-kat:last-child{ border-bottom:0 }
.zg-kat-h{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:5px }
.zg-kat-h b{ font-size:15px }
.zg-kat p{ margin:0; font-size:13.5px; color:var(--zg-ink2) }
.zg-zawsze{ font-size:12px; color:var(--zg-ink2); font-weight:500 }

/* przełącznik */
.zg-sw{ position:relative; display:inline-block; width:46px; height:26px; flex:0 0 auto; cursor:pointer }
.zg-sw input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer }
.zg-sw span{
  position:absolute; inset:0; border-radius:999px; background:#c9cfd7; transition:background .18s;
  pointer-events:none;
}
.zg-sw span::after{
  content:''; position:absolute; top:3px; left:3px; width:20px; height:20px; border-radius:50%;
  background:#fff; transition:transform .18s; box-shadow:0 1px 3px rgba(0,0,0,.25);
}
.zg-sw input:checked + span{ background:#089981 }
.zg-sw input:checked + span::after{ transform:translateX(20px) }
.zg-sw input:focus-visible + span{ outline:2px solid var(--zg-akcent); outline-offset:2px }

.zg-box-f{
  display:flex; flex-wrap:wrap; gap:9px; padding:14px 20px 18px;
  border-top:1px solid var(--zg-line); background:#fafbfc;
}
.zg-box-f .zg-b{ flex:1 1 180px }

/* ── blok zgód pod formularzem (klasa .zg-form) ── */
.zg-form{ margin:14px 0 4px; font-size:12.5px; line-height:1.55; color:var(--zg-ink2) }
.zg-form label{ display:flex; gap:9px; align-items:flex-start; margin-bottom:10px; cursor:pointer }
.zg-form input[type=checkbox]{ margin-top:2px; flex:0 0 auto; width:auto }
.zg-form a{ color:inherit; text-decoration:underline }
.zg-form .zg-wym{ color:#b3261e }
.zg-form details{ margin-top:8px; border-top:1px solid var(--zg-line); padding-top:8px }
.zg-form summary{ cursor:pointer; font-weight:600; color:var(--zg-ink); font-size:12.5px }
.zg-form details p{ margin:8px 0 0 }
.zg-form details ul{ margin:6px 0 0; padding-left:20px }
.zg-form details li{ margin-bottom:4px }
