/* PrawoZiemi — nadpisania zlecone przez klienta (świadome odstępstwa od designu)
 * Ładowany PO page.css na każdej podstronie w czystym kodzie.
 *
 * 1) Telefony: gridy kart mają być pojedyncze (1 karta na wiersz), nie po 2.
 *    Dotyczy gridów kartowych — m.in. karty urządzeń (.feature-grid),
 *    operatorzy (.od kogo odzyskujemy → .operator-grid) oraz analogiczne
 *    karty zespołu (.team-grid) na kolejnych podstronach.
 *    Stopka (.footer-grid) celowo POMINIĘTA — to kolumny nawigacji, nie karty.
 */
@media (max-width: 540px) {
  .feature-grid  { grid-template-columns: 1fr !important; }
  .operator-grid { grid-template-columns: 1fr !important; }
  .team-grid     { grid-template-columns: 1fr !important; }
}

/* 2) Mobilne menu (hamburger) dla podstron w czystym kodzie — zlecone przez klienta.
 *    page.css pokazuje .hdr-burger ≤960px i ukrywa .hdr-nav, ale nie ma panelu menu —
 *    panel + backdrop wstrzykuje pz-nav.js, a poniżej są jego style. */
.pz-mnav-backdrop { position: fixed; inset: 0; background: rgba(26,39,68,.55); opacity: 0; visibility: hidden; transition: opacity .25s ease; z-index: 90; }
.pz-mnav-backdrop.open { opacity: 1; visibility: visible; }
.pz-mnav { position: fixed; top: 0; right: 0; bottom: 0; width: min(82vw, 340px); background: #fff; box-shadow: -12px 0 32px rgba(15,23,42,.18); z-index: 95; display: flex; flex-direction: column; gap: 6px; padding: 72px 24px 28px; transform: translateX(100%); transition: transform .28s var(--ease-out); overflow-y: auto; }
.pz-mnav.open { transform: translateX(0); }
.pz-mnav a { font-family: var(--font-display); font-weight: 600; font-size: 18px; color: var(--ink); text-decoration: none; padding: 12px 10px; border-radius: 8px; }
.pz-mnav a:hover { background: var(--gray-50); color: var(--tw-accent); }
.pz-mnav a.is-current { color: var(--tw-accent); }
.pz-mnav .pz-mnav-cta { margin-top: 14px; justify-content: center; color: #fff; }
.pz-mnav .pz-mnav-cta:hover { color: #fff; }
.pz-mnav-close { position: absolute; top: 18px; right: 18px; background: none; border: 0; color: var(--ink); cursor: pointer; padding: 6px; }
@media (min-width: 961px) { .pz-mnav, .pz-mnav-backdrop { display: none !important; } }

/* 3) Mobile: w pasku nagłówka tylko logo + hamburger — chowamy przycisk CTA
 *    „Sprawdź za darmo" (zlecone przez klienta). Hamburger jest dzieckiem
 *    .hdr-inner (nie .hdr-cta), więc pozostaje widoczny. */
@media (max-width: 960px) { .hdr-cta { display: none !important; } }


/* === PZ lead form (unified) === */
.pz-upload input[type=file]{display:block;width:100%;margin-top:4px;font:inherit;color:var(--fg-2,#334155)}
.pz-upload-hint{display:block;margin-top:6px;font-size:12px;color:var(--gray-600,#64748b)}
.pz-consent{display:flex;gap:10px;align-items:flex-start;margin:14px 0 4px;font-size:13px;line-height:1.45;color:var(--fg-2,#334155);cursor:pointer}
.pz-consent input[type=checkbox]{margin-top:2px;flex-shrink:0;width:18px;height:18px}
.pz-consent a{color:#2e7d32;text-decoration:underline}
.pz-field-error{color:#c0392b;font-size:12.5px;margin-top:5px}
.pz-form-error{background:#fdecea;border:1px solid #f5c6cb;color:#a12622;border-radius:8px;padding:10px 12px;font-size:13.5px;margin:12px 0}
.pz-lead-form .btn.is-loading{opacity:.75;pointer-events:none;position:relative}
.pz-lead-form .btn.is-loading::after{content:"";position:absolute;right:14px;top:50%;width:16px;height:16px;margin-top:-8px;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:pz-spin .7s linear infinite}
@keyframes pz-spin{to{transform:rotate(360deg)}}

/* Naglowek przewija sie ze strona (nie sticky) */
.hdr{position:relative;z-index:50}
