/* InfoGrunt — logowanie kodem + konto + ulubione (Etap 1). */

/* Ikona klucza w nagłówku — spójna z .menu-toggle / .lang-toggle */
.account-toggle{
  position:relative;
  display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:0; cursor:pointer; color:inherit;
  width:38px; height:38px; border-radius:12px; transition:background .15s,color .15s;
}
.account-toggle:hover{ background:rgba(255,255,255,.16); }
.account-toggle svg{ display:block; }
.account-toggle.logged{ color:#a7ff45; }
.account-toggle.logged::after{
  content:""; position:absolute; width:7px; height:7px; border-radius:50%;
  background:#a7ff45; transform:translate(11px,-11px); box-shadow:0 0 0 2px rgba(16,50,33,.9);
}

/* Modal */
.ig-auth-modal{ position:fixed; inset:0; z-index:10000; display:none; }
.ig-auth-modal.open{ display:block; }
.ig-auth-backdrop{ position:absolute; inset:0; background:rgba(8,22,14,.55); backdrop-filter:blur(3px); }
.ig-auth-card{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  width:min(420px,calc(100vw - 28px)); max-height:calc(100vh - 40px); overflow:auto;
  background:#fff; border-radius:20px; padding:26px 24px 24px;
  box-shadow:0 26px 70px rgba(7,31,18,.40); font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif; color:#0c2719;
}
@media (max-width:520px){
  .ig-auth-card{ left:0; right:0; bottom:0; top:auto; transform:none; width:auto;
    border-radius:22px 22px 0 0; max-height:88vh; padding-bottom:calc(24px + env(safe-area-inset-bottom,0px)); }
}
.ig-auth-x{
  position:absolute; top:12px; right:12px; width:34px; height:34px; border-radius:10px;
  border:0; background:#f0f4ef; color:#3a4a40; font-size:22px; line-height:1; cursor:pointer;
}
.ig-auth-x:hover{ background:#e4ece4; }
.ig-auth-h{ margin:2px 30px 6px 0; font-size:20px; font-weight:800; }
.ig-auth-lead{ margin:0 0 16px; font-size:14px; line-height:1.45; color:#536457; }
.ig-auth-input{
  width:100%; box-sizing:border-box; padding:13px 14px; font-size:16px;
  border:1.5px solid #d5e0d6; border-radius:13px; outline:none; background:#fbfdfb; color:#0c2719;
}
.ig-auth-input:focus{ border-color:#1f7a3d; box-shadow:0 0 0 3px rgba(31,122,61,.14); }
.ig-auth-code{ text-align:center; letter-spacing:.5em; font-size:26px; font-weight:800; padding-left:.5em; }
.ig-auth-btn{
  width:100%; margin-top:14px; padding:13px 16px; font-size:15px; font-weight:800; cursor:pointer;
  border:0; border-radius:13px; color:#fff; background:linear-gradient(135deg,#1f7a3d,#2f9a4e);
  box-shadow:0 8px 22px rgba(31,122,61,.28); transition:transform .12s,box-shadow .12s;
}
.ig-auth-btn:hover{ transform:translateY(-1px); box-shadow:0 12px 26px rgba(31,122,61,.34); }
.ig-auth-btn:disabled{ opacity:.65; cursor:default; transform:none; }
.ig-auth-btn--ghost{ background:#f3f6f2; color:#2f5a3e; box-shadow:none; margin-top:18px; }
.ig-auth-btn--ghost:hover{ background:#e9efe8; }
.ig-auth-err{ margin-top:10px; font-size:13px; color:#b3261e; font-weight:600; }
.ig-auth-spam{ margin:12px 0 0; font-size:12px; color:#8a978d; text-align:center; }
.ig-auth-links{ display:flex; justify-content:center; gap:16px; margin-top:12px; }
.ig-auth-link{ background:none; border:0; color:#1f7a3d; font-size:13px; font-weight:700; cursor:pointer; text-decoration:underline; padding:4px; }

/* Konto */
.ig-acc-sec{ margin-top:16px; border-top:1px solid #eef2ee; padding-top:14px; }
.ig-acc-sec-h{ font-size:14px; font-weight:800; color:#103221; margin-bottom:10px; }
.ig-soon{ font-size:11px; font-weight:700; color:#8a978d; background:#f0f4ef; border-radius:999px; padding:2px 8px; margin-left:4px; }
.ig-fav-list{ display:flex; flex-direction:column; gap:8px; }
.ig-fav-empty{ font-size:13px; color:#8a978d; margin:0; }
.ig-fav-row{ display:flex; align-items:center; gap:8px; background:#f7faf6; border:1px solid #eaf0e9; border-radius:12px; padding:8px 10px; }
.ig-fav-open{ flex:1; min-width:0; font-size:13.5px; font-weight:700; color:#15412a; text-decoration:none; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ig-fav-open:hover{ text-decoration:underline; }
.ig-fav-del{ flex:0 0 auto; width:26px; height:26px; border-radius:8px; border:0; background:#fff; color:#b3261e; font-size:17px; line-height:1; cursor:pointer; }
.ig-fav-del:hover{ background:#fde8e6; }

/* Linki sekcji „Moje ogłoszenia" w panelu konta (Etap 2) */
.ig-acc-links{ display:flex; flex-direction:column; gap:8px; }
.ig-acc-link{
  display:block; background:#f7faf6; border:1px solid #eaf0e9; border-radius:12px;
  padding:10px 12px; font-size:13.5px; font-weight:700; color:#15412a; text-decoration:none;
}
.ig-acc-link:hover{ border-color:#1f7a3d; }
.ig-acc-link--add{ background:#ecf8ef; border-color:#bfe3cc; color:#15703a; }

/* Guzik „Wystaw ogłoszenie" w pasku raportu (Etap 2) — pełna szerokość pod 3 guzikami akcji */
.report-share .share-btn--sell{ grid-column:1 / -1; background:#103221!important; color:#a7ff45!important; border-color:#103221!important; }
.report-share .share-btn--sell:hover{ background:#15412a!important; }

/* v6.34.3 FIX (iPhone Safari): mini-mapy Leaflet w raporcie renderowały się szersze niż kontener
   (643px w boxie ~345px). Element szerszy od ekranu wymusza na iOS Safari „shrink-to-fit" całej
   strony → raport wyglądał na zzoomowany i ucięty z prawej. Twardy limit szerokości + zapas. */
#reportContent .ig-mini-map,
#reportContent .ig-mini-map.leaflet-container{
  width:100% !important; max-width:100% !important; box-sizing:border-box !important;
}
/* Sieć bezpieczeństwa: żaden blok detalu metryki nie może rozpychać raportu poza ekran. */
#reportContent .ig-metric__details{ max-width:100% !important; }
#reportContent .ig-metric__details img,
#reportContent .ig-metric__details table{ max-width:100% !important; }

/* v6.34.4 FIX (iPhone Safari — raport „zzoomowany / ucięty z prawej"): cały łańcuch kontenerów
   raportu (hero, sekcje akordeonu, mini-mapy, canvas) NIE może przekraczać szerokości ekranu na
   mobile — inaczej element szerszy od viewportu wymusza shrink-to-fit całej strony w iOS Safari.
   overflow-x:hidden na kontenerze raportu = twardy backstop (i tak scrolluje się w pionie). */
@media (max-width:860px){
  body.has-map-shell #reportContent{ overflow-x:hidden !important; max-width:100% !important; }
  #reportContent .ig-parcel-c,
  #reportContent .ig-hero,
  #reportContent .ig-main-visual-card,
  #reportContent .parcel-hero-canvas,
  #reportContent .summary-stack,
  #reportContent .report-acc-section,
  #reportContent .report-acc-body,
  #reportContent .ig-mini-map,
  #reportContent .ig-mini-map.leaflet-container{
    width:100% !important; max-width:100% !important; box-sizing:border-box !important;
  }
  /* Wiersze cen RCN: długi tekst meta (N transakcji · obrębów · wiarygodność) MA się zawijać,
     a nie wystawać poza ekran (był ucinany do 390px → „nie widać prawej strony"). */
  #reportContent .ig-rcn-row{ flex-wrap:wrap !important; }
  #reportContent .ig-rcn-row,
  #reportContent .ig-rcn-row > *,
  #reportContent .ig-rcn-row__type,
  #reportContent .ig-rcn-row__val,
  #reportContent .ig-rcn-row__meta{ min-width:0 !important; max-width:100% !important; white-space:normal !important; overflow-wrap:anywhere; }
  #reportContent small{ white-space:normal !important; overflow-wrap:anywhere; }
}

/* Serduszko przy raporcie (obok ✕) */
.report-fav-btn{
  position:absolute; top:14px; right:58px; z-index:6;
  width:38px; height:38px; border-radius:12px; border:0; cursor:pointer;
  background:rgba(255,255,255,.92); color:#b3b9b4; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(8,28,18,.14); transition:transform .12s,color .15s,background .15s;
}
.report-fav-btn:hover{ transform:scale(1.08); color:#e0526a; }
.report-fav-btn svg{ display:block; fill:none; stroke:currentColor; stroke-width:2; }
.report-fav-btn.on{ color:#e0526a; }
.report-fav-btn.on svg{ fill:#e0526a; stroke:#e0526a; }
.report-fav-btn.busy{ opacity:.5; pointer-events:none; }
@media (max-width:520px){ .report-fav-btn{ top:12px; right:54px; width:36px; height:36px; } }

/* Strażnik „🛡️ Monitoruj" — toggle obok serduszka w pasku tytułu raportu.
   position:static (NIE absolute jak ♥) → płynie w flexie .drawer-titlebar bez override. */
.report-guard-btn{
  position:static; flex:0 0 auto;
  width:38px; height:38px; border-radius:12px; border:0; cursor:pointer;
  background:rgba(255,255,255,.92); color:#7c8a80; display:flex; align-items:center; justify-content:center;
  box-shadow:0 4px 14px rgba(8,28,18,.14); transition:transform .12s,color .15s,background .15s;
}
.report-guard-btn:hover{ transform:scale(1.08); color:#1f7a3d; }
.report-guard-btn svg{ display:block; fill:none; stroke:currentColor; stroke-width:2; }
.report-guard-btn.on{ color:#1f7a3d; background:#e7f7ec; }
.report-guard-btn.on svg{ fill:#1f7a3d; stroke:#1f7a3d; }
.report-guard-btn.busy{ opacity:.5; pointer-events:none; }
@media (max-width:520px){ .report-guard-btn{ width:36px; height:36px; } }

body.ig-auth-open{ overflow:hidden; }

/* AUDYT-V2 E3 (2026-07-12): toast potwierdzeń (Strażnik/Ulubione) — jeden mechanizm, fade+slide. */
.ig-toast{ position:fixed; left:50%; bottom:24px; transform:translate(-50%,16px);
  background:#103221; color:#eafff0; font-weight:800; font-size:14px; line-height:1.2;
  padding:12px 18px; border-radius:999px; box-shadow:0 12px 30px rgba(4,26,14,.34);
  z-index:6000; opacity:0; pointer-events:none; max-width:calc(100vw - 32px);
  transition:opacity .22s ease, transform .22s ease; }
.ig-toast.is-show{ opacity:1; transform:translate(-50%,0); }
.ig-toast--ok{ background:linear-gradient(135deg,#106238,#17ad52); }
@media (max-width:520px){ .ig-toast{ bottom:16px; font-size:13px; padding:11px 15px; } }

/* Premium login separator + Google OAuth. */
.ig-auth-or{display:flex;align-items:center;gap:12px;margin:18px 0 14px;color:#65736a;font-size:12px;font-weight:700;text-transform:lowercase}
.ig-auth-or::before,.ig-auth-or::after{height:1px;flex:1 1 auto;content:"";background:#dce4dc}
.ig-auth-btn--google{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:48px;box-sizing:border-box;color:#1b2a21!important;background:#fff!important;border:1px solid #c9d4cb!important;box-shadow:0 1px 2px rgba(12,39,25,.06)!important;text-decoration:none}
.ig-auth-btn--google:hover{color:#0d3a26!important;background:#f7faf5!important;border-color:#91a595!important}
.ig-auth-google-mark{display:block;flex:0 0 20px}

.ig-auth-privacy{font-size:12px;line-height:1.55;color:#415348;margin:14px 0 0}.ig-auth-privacy a{color:#145c35;text-decoration:underline}
