/* ============================================================
   OdpisKRS.pl - strona firmy (profil KRS)
   Układ przeniesiony z prototypu wariantu 11 „CZYSTA".
   Tylko style specyficzne dla strony - tokeny, chrome i atomy
   (.btn/.badge/.wrap/.num/.rv/.stagger) pochodzą z app.css.
   ============================================================ */

main{ display:block; }
.section{ padding:0; }

/* ---------- HERO kompaktowy + pasek identyfikacji ---------- */
/* pełnoszerokościowa linia oddziela sekcje; pasek metryk NIE ma już własnej
   dolnej linii (poniżej), więc nie dubluje się z tą krawędzią hero */
.hero{ border-bottom:1px solid var(--line); background:var(--paper); }
.hero-inner{ padding-top:2.4rem; }
.hero-eyebrow{ display:flex; align-items:center; gap:.8rem; flex-wrap:wrap; margin-bottom:1rem; }
.hero-eyebrow .form{ font-family:var(--font-mono); font-size:.7rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-3); }
.hero h1{ font-family:var(--font-sans); font-weight:700; font-size:clamp(1.9rem,4.5vw,2.9rem); letter-spacing:-.02em; line-height:1.06; text-wrap:balance; color:var(--ink); }
.hero-status{ margin-top:.9rem; display:flex; align-items:center; gap:.9rem; flex-wrap:wrap; }
.hero-status .note{ font-size:.86rem; color:var(--ink-2); }

/* rząd akcji: dwa przyciski obok siebie + nota */
.hero-actions{ margin-top:1.5rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.hero-actions .hero-cta-note{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.04em; color:var(--ink-3); }

/* pasek metryk - w stylu paska zaufania ze strony głównej */
.trust-strip{ margin-top:2rem; display:grid; grid-template-columns:repeat(4,1fr); border-top:1px solid var(--line); }
.trust-cell{ padding:1.15rem 1.4rem; border-left:1px solid var(--line); position:relative; }
.trust-cell:first-child{ border-left:0; }
.trust-cell .k{ font-family:var(--font-mono); font-size:.64rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); }
.trust-cell .v{ margin-top:.4rem; font-family:var(--font-mono); font-weight:600; font-size:1.05rem; letter-spacing:-.01em; color:var(--ink); }
.trust-cell .v small{ font-weight:500; font-size:.72rem; color:var(--ink-2); letter-spacing:0; }

/* ---------- układ działów: indeks + treść ---------- */
.register{ padding:2.6rem 0 3rem; }
.register-grid{ display:grid; grid-template-columns:13.5rem minmax(0,1fr); gap:3rem; align-items:start; }

/* lewa szyna - indeks działów */
.dz-index{ position:sticky; top:5.2rem; min-width:0; }
.dz-index .ix-label{ font-family:var(--font-mono); font-size:.64rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); padding:0 0 .8rem; border-bottom:1px solid var(--line); margin-bottom:.4rem; }
.dz-index nav{ display:flex; flex-direction:column; }
.ix-link{ display:flex; align-items:baseline; gap:.6rem; padding:.55rem .55rem; text-decoration:none; color:var(--ink-2); border-bottom:1px solid var(--line-2); transition:color .2s ease, background-color .2s ease; }
.ix-link:hover{ color:var(--ink); background:var(--paper-3); }
.ix-link[aria-current="true"]{ color:var(--ink); background:var(--paper-2); }
.ix-link[aria-current="true"] .ix-txt{ font-weight:600; color:var(--ink); }
.ix-link .ix-no{ font-family:var(--font-mono); font-size:.66rem; font-weight:600; color:var(--red); flex:none; min-width:3.6rem; }
.ix-link .ix-txt{ font-family:var(--font-sans); font-size:.84rem; font-weight:500; line-height:1.25; }

/* ---------- działy ---------- */
.dzialy-stack{ border-top:1px solid var(--line-3); border-left:1px solid var(--line); border-right:1px solid var(--line); display:flex; flex-direction:column; }
/* Wspólnicy figurują w Dziale 1 prawdziwego odpisu KRS (Rubryka 7) → pokazujemy
   je zaraz po danych podmiotu, przed Działem 2 (kolejność wizualna przez order). */
#dane{ order:1; } #udzialowcy{ order:2; } #wladze{ order:3; } #pkd{ order:4; } #zaleglosci{ order:5; }
.dz{ display:grid; grid-template-columns:9.5rem minmax(0,1fr); gap:2rem; background:var(--paper); padding:2.1rem 1.9rem 2.3rem; border-bottom:1px solid var(--line); position:relative; transition:background-color .25s ease; scroll-margin-top:5.5rem; }
.dz:hover{ background:var(--paper-3); }
.dz-tag{ font-family:var(--font-mono); font-size:.72rem; font-weight:600; letter-spacing:.05em; color:var(--red); position:sticky; top:5.5rem; align-self:start; }
.dz-tag .dz-title{ display:block; font-family:var(--font-sans); font-weight:600; font-size:1.04rem; letter-spacing:-.01em; color:var(--ink); margin-top:.4rem; text-transform:none; line-height:1.15; }
.dz-body{ min-width:0; }

/* nagłówek podsekcji */
.sub-head{ font-family:var(--font-mono); font-size:.64rem; font-weight:500; letter-spacing:.15em; text-transform:uppercase; color:var(--ink-3); margin:1.8rem 0 1rem; }
.sub-head:first-child{ margin-top:0; }
.sub-rubryka{ color:var(--ink-3); border:1px solid var(--line-3); padding:.05rem .42rem; margin-left:.5rem; letter-spacing:.06em; }

/* wiersze danych - kartoteka */
.data-rows{ border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.data-row{ display:grid; grid-template-columns:13rem 1fr; gap:1.4rem; padding:.6rem 0; align-items:baseline; }
.data-row dt{ font-family:var(--font-mono); font-size:.68rem; font-weight:500; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-3); }
.data-row dd{ font-size:.93rem; color:var(--ink); }
.data-row dd .mono{ font-family:var(--font-mono); font-weight:500; }
.data-row dd small{ display:block; font-size:.8rem; color:var(--ink-2); margin-top:.1rem; }
.val-strong{ font-weight:600; }

/* adres - kafel lokalizacji */
.addr-grid{ display:grid; grid-template-columns:1fr 19rem; gap:2rem; align-items:stretch; }
.addr-lines .line-1{ font-size:1.05rem; font-weight:600; color:var(--ink); }
.addr-lines .line-2{ font-family:var(--font-mono); font-size:.82rem; color:var(--ink-2); margin-top:.35rem; line-height:1.6; }
.addr-lines .line-2 b{ color:var(--ink); font-weight:600; }
.loc-tile{ border:1px solid var(--line); position:relative; min-height:150px; overflow:hidden; background:var(--paper-3); }
.loc-map{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.loc-tile .pin-cap{ position:absolute; left:0; bottom:0; right:0; font-family:var(--font-mono); font-size:.64rem; letter-spacing:.07em; text-transform:uppercase; color:var(--ink-2); padding:.5rem .7rem; background:rgba(255,255,255,.85); border-top:1px solid var(--line-2); }

/* reprezentacja - osoby */
.person-list{ display:flex; flex-direction:column; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.person{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.7rem 0; flex-wrap:wrap; }
.person + .person{ border-top:1px solid var(--line-2); }
.person .nm{ font-size:.97rem; font-weight:600; color:var(--ink); }
.person .role{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.04em; color:var(--ink-2); }
.person .role.proc{ color:var(--amber); }

/* cytat sposobu reprezentacji */
.repr-quote{ margin-top:1.5rem; background:var(--paper-2); padding:1.2rem 1.4rem 1.3rem 3.2rem; position:relative; }
.repr-quote::before{ content:"\201E"; position:absolute; left:.85rem; top:.55rem; font-family:Georgia,"Times New Roman",serif; font-size:3rem; line-height:1; color:var(--red); opacity:.45; }
.repr-quote .q-lbl{ font-family:var(--font-mono); font-size:.62rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3); margin-bottom:.4rem; }
.repr-quote p{ font-size:.95rem; color:var(--ink); line-height:1.55; }

/* tabela wspólników */
.share-table{ width:100%; border-collapse:collapse; border-top:1px solid var(--line-2); font-size:.9rem; }
.share-table th{ text-align:left; font-family:var(--font-mono); font-size:.62rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); padding:.55rem .8rem .55rem 0; border-bottom:1px solid var(--line); }
.share-table th.r, .share-table td.r{ text-align:right; padding-right:0; }
.share-table td{ padding:.75rem .8rem .75rem 0; vertical-align:baseline; }
.share-table td .nm{ font-weight:600; color:var(--ink); }
.share-table td .sub{ display:block; font-family:var(--font-mono); font-size:.7rem; color:var(--ink-3); margin-top:.1rem; }
.share-table td.r .mono{ font-family:var(--font-mono); }
.share-table .pct{ font-family:var(--font-mono); font-weight:600; color:var(--ink); }
.share-table tfoot td{ border-top:1.5px solid var(--ink); font-weight:600; padding-top:.8rem; }
.share-table tfoot td .mono{ font-family:var(--font-mono); }
.share-note{ margin-top:.9rem; font-family:var(--font-mono); font-size:.72rem; color:var(--ink-2); }
.share-note b{ color:var(--ink); }

/* PKD */
.pkd-lead{ border:1px solid rgba(192,18,40,.4); background:var(--red-wash); padding:1rem 1.2rem; display:flex; align-items:baseline; gap:1rem; flex-wrap:wrap; }
.pkd-lead .code{ font-family:var(--font-mono); font-weight:600; font-size:1.02rem; color:var(--red); flex:none; }
.pkd-lead .desc{ font-size:.95rem; font-weight:600; color:var(--ink); }
.pkd-lead .tag{ font-family:var(--font-mono); font-size:.6rem; font-weight:500; letter-spacing:.12em; text-transform:uppercase; color:var(--red); border:1px solid rgba(192,18,40,.4); padding:.18rem .45rem; margin-left:auto; }
.pkd-list{ margin-top:1.2rem; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.pkd-row{ display:grid; grid-template-columns:5.5rem 1fr; gap:1.2rem; padding:.6rem 0; align-items:baseline; }
.pkd-row .code{ font-family:var(--font-mono); font-weight:500; font-size:.86rem; color:var(--ink); }
.pkd-row .desc{ font-size:.9rem; color:var(--ink-2); }
.pkd-foot{ margin-top:1.2rem; font-size:.86rem; color:var(--ink-2); }
.pkd-foot b{ color:var(--ink); font-weight:600; }

/* zaległości - zielony status (czysty) */
.clear-panel{ border:1px solid rgba(31,122,77,.4); background:var(--green-wash); padding:1.1rem 1.3rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.clear-panel .ttl{ font-weight:600; color:var(--green); font-size:1rem; }
/* zaległości - czerwony/amber status (są wpisy) */
.alert-panel{ border:1px solid rgba(192,18,40,.4); background:var(--red-wash); padding:1.1rem 1.3rem; display:flex; align-items:center; gap:1rem; flex-wrap:wrap; }
.alert-panel .ttl{ font-weight:600; color:var(--red); font-size:1rem; }
.alert-panel.warn{ border-color:rgba(176,106,0,.4); background:var(--amber-wash); }
.alert-panel.warn .ttl{ color:var(--amber); }
.clear-list{ margin-top:1.5rem; border-top:1px solid var(--line-2); border-bottom:1px solid var(--line-2); }
.clear-row{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding:.62rem 0; flex-wrap:wrap; }
.clear-row + .clear-row{ border-top:1px solid var(--line-2); }
.clear-row .it{ font-size:.91rem; color:var(--ink); }
.clear-row .st{ font-family:var(--font-mono); font-size:.72rem; letter-spacing:.04em; color:var(--ink-3); text-transform:uppercase; }
.clear-row .st.hit{ color:var(--red); }
.clear-positive{ margin-top:1.4rem; border-left:3px solid var(--green); background:var(--paper-2); padding:.85rem 1.2rem; font-size:.9rem; color:var(--ink); }
.clear-positive b{ font-weight:600; }
.clear-disc{ margin-top:.9rem; font-size:.8rem; color:var(--ink-3); }

/* ---------- moduł #odpis - JASNY ---------- */
.odpis{ background:var(--paper-2); border-top:3px solid var(--red); }
.odpis-inner{ padding-block:3.4rem 3.6rem; }
.odpis-head{ max-width:60ch; }
.odpis-head .kick{ font-family:var(--font-mono); font-size:.66rem; font-weight:500; letter-spacing:.16em; text-transform:uppercase; color:var(--red); }
.odpis-head h2{ margin-top:.7rem; font-family:var(--font-sans); font-weight:700; font-size:clamp(1.6rem,3.5vw,2.3rem); letter-spacing:-.02em; line-height:1.1; color:var(--ink); text-wrap:balance; }
.odpis-head p{ margin-top:.8rem; color:var(--ink-2); font-size:.96rem; }
.odpis-grid{ margin-top:2rem; display:grid; grid-template-columns:1fr 1.05fr; gap:1.4rem; align-items:start; }
.odpis-buy{ border:1.5px solid var(--ink); background:var(--paper); padding:1.8rem 1.8rem 1.9rem; }
.odpis-buy .oc-head{ display:flex; align-items:baseline; justify-content:space-between; gap:1rem; padding-bottom:1rem; border-bottom:1px solid var(--line); }
.odpis-buy h3{ font-family:var(--font-sans); font-weight:700; font-size:1.35rem; letter-spacing:-.015em; color:var(--ink); }
.odpis-buy .price{ font-family:var(--font-mono); font-weight:600; font-size:1.15rem; color:var(--red); }
.odpis-buy .oc-desc{ margin-top:1rem; color:var(--ink-2); font-size:.92rem; line-height:1.55; }
.odpis-buy .oc-desc b{ color:var(--ink); }
.odpis-buy .btn{ margin-top:1.4rem; width:100%; justify-content:center; }
.odpis-buy .free{ display:block; text-align:center; font-family:var(--font-mono); font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-3); margin-top:.7rem; }
.odpis-alt2{ margin-top:1.1rem; padding-top:1rem; border-top:1px solid var(--line); text-align:center; }
.odpis-alt2 a{ font-family:var(--font-mono); font-size:.78rem; color:var(--ink-2); text-decoration:none; border-bottom:1px solid var(--line-3); padding-bottom:1px; transition:color .2s ease, border-color .2s ease; }
.odpis-alt2 a:hover{ color:var(--red); border-color:var(--red); }
.odpis-fresh{ margin-top:.9rem; font-size:.72rem; line-height:1.45; color:var(--ink-3); }
.odpis-about{ display:flex; flex-direction:column; gap:1.2rem; }
.odpis-zawiera h4, .odpis-moc .moc-t{ font-family:var(--font-mono); font-size:.66rem; font-weight:500; letter-spacing:.14em; text-transform:uppercase; color:var(--red); margin-bottom:.8rem; }
.odpis-zawiera ul{ list-style:none; }
.odpis-zawiera li{ font-size:.9rem; color:var(--ink-2); line-height:1.5; padding:.55rem 0 .55rem 1.3rem; border-bottom:1px solid var(--line-2); position:relative; }
.odpis-zawiera li:last-child{ border-bottom:0; }
.odpis-zawiera li::before{ content:""; position:absolute; left:0; top:.95rem; width:6px; height:6px; background:var(--red); }
.odpis-zawiera li b{ color:var(--ink); font-weight:600; }
.odpis-moc{ border:1px solid var(--line); background:var(--paper-2); padding:1.2rem 1.4rem; }
.odpis-moc .moc-t{ display:flex; align-items:center; gap:.45rem; }
.odpis-moc .moc-t svg{ color:var(--red); }
.odpis-moc p:not(.moc-t){ font-size:.88rem; color:var(--ink-2); line-height:1.55; }
.odpis-moc b{ color:var(--ink); font-weight:600; }

/* ---------- breadcrumbs ---------- */
.cp-breadcrumb{ border-bottom:1px solid var(--line-2); }
.cp-breadcrumb ol{ list-style:none; display:flex; flex-wrap:wrap; align-items:baseline; gap:.5rem; padding:.7rem 0; font-family:var(--font-mono); font-size:.72rem; letter-spacing:.03em; color:var(--ink-3); }
.cp-breadcrumb li{ display:flex; align-items:baseline; gap:.5rem; min-width:0; }
.cp-breadcrumb li::after{ content:"/"; color:var(--line-3); }
.cp-breadcrumb li:last-child::after{ content:""; }
.cp-breadcrumb a{ color:var(--ink-2); text-decoration:none; border-bottom:1px solid transparent; transition:color .2s ease, border-color .2s ease; }
.cp-breadcrumb a:hover{ color:var(--red); border-color:var(--red); }
.cp-breadcrumb [aria-current="page"]{ color:var(--ink); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:42ch; }

/* ---------- FAQ ---------- */
.cp-faq{ background:var(--paper-2); border-top:1px solid var(--line); padding:3rem 0 3.4rem; }
.cp-faq-h{ font-family:var(--font-sans); font-weight:700; font-size:clamp(1.4rem,2.6vw,1.9rem); letter-spacing:-.02em; margin:.6rem 0 1.6rem; }
.cp-faq-list{ max-width:800px; border-top:1px solid var(--line-3); }
.cp-faq-item{ border-bottom:1px solid var(--line); }
.cp-faq-item summary{ list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:1rem; padding:1.1rem 0; font-weight:600; font-size:1.02rem; color:var(--ink); }
.cp-faq-item summary::-webkit-details-marker{ display:none; }
.cp-faq-item summary::after{ content:"+"; font-family:var(--font-mono); color:var(--red); font-size:1.2rem; line-height:1; flex:none; }
.cp-faq-item[open] summary::after{ content:"\2212"; }
.cp-faq-item summary:hover{ color:var(--red); }
.cp-faq-a{ padding:0 0 1.2rem; color:var(--ink-2); font-size:.95rem; line-height:1.6; max-width:74ch; }

/* ---------- sticky dolny pasek ---------- */
.sticky-bar{ position:fixed; left:0; right:0; bottom:0; z-index:150; background:var(--ink); border-top:2px solid var(--red); transform:translateY(100%); transition:transform .4s cubic-bezier(.2,.7,.2,1); }
.sticky-bar.show{ transform:translateY(0); }
.sticky-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.4rem; padding-block:.7rem; }
.sticky-id{ min-width:0; }
.sticky-id .nm{ font-family:var(--font-sans); font-weight:600; font-size:.92rem; color:#fff; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.sticky-id .meta{ font-family:var(--font-mono); font-size:.66rem; letter-spacing:.05em; color:rgba(255,255,255,.55); }

/* ---------- responsywność ---------- */
@media (max-width:980px){
  .register-grid{ grid-template-columns:minmax(0,1fr); gap:1.4rem; }
  .dz-index{ position:sticky; top:0; z-index:80; margin:0 -2rem; padding:0 2rem; background:rgba(255,255,255,.95); backdrop-filter:saturate(1.4) blur(8px); border-bottom:1px solid var(--line); }
  .dz-index .ix-label{ display:none; }
  .dz-index nav{ flex-direction:row; overflow-x:auto; gap:.2rem; padding:.6rem 0; -webkit-overflow-scrolling:touch; }
  .ix-link{ border-bottom:0; white-space:nowrap; padding:.4rem .7rem; border:1px solid var(--line); flex:none; }
  .ix-link::before{ display:none; }
  .ix-link .ix-no{ min-width:auto; }
  .ix-link .ix-txt{ font-size:.78rem; }
}
@media (max-width:760px){
  .trust-strip{ grid-template-columns:1fr 1fr; }
  .trust-cell:nth-child(3){ border-left:0; }
  .trust-cell:nth-child(1),.trust-cell:nth-child(2){ border-bottom:1px solid var(--line); }
  .odpis-grid{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .dz-index{ margin:0 -1.2rem; padding:0 1.2rem; }
  .dz{ grid-template-columns:1fr; gap:.9rem; padding:1.6rem 1.3rem; }
  .dz-tag{ position:static; }
  .data-row{ grid-template-columns:1fr; gap:.15rem; }
  .data-row dd{ margin-bottom:.2rem; }
  .addr-grid{ grid-template-columns:1fr; }
  .pkd-row{ grid-template-columns:1fr; gap:.1rem; }
  .share-table{ font-size:.82rem; }
  .share-table th:nth-child(2), .share-table td:nth-child(2){ display:none; }
  .sticky-inner{ padding-block:.6rem; }
  .sticky-id .nm{ font-size:.82rem; }
}
@media (max-width:420px){
  .trust-strip{ grid-template-columns:1fr; }
  .trust-cell{ border-left:0; border-bottom:1px solid var(--line); }
  .trust-cell:last-child{ border-bottom:0; }
  .hero-actions{ gap:.8rem; }
}
