/* ============================================================
   Komponenty podstron wewnętrznych
   ============================================================ */

/* Slim hero podstrony */
.page-hero { background: #F7F3EE; border-bottom: 1px solid var(--line); }
.page-hero .wrap { padding-block: clamp(48px, 6vw, 84px); }
.page-hero .eyebrow { margin-bottom: 16px; }
.page-hero h1 { font-size: clamp(36px, 5vw, 60px); color: var(--navy); max-width: 18ch; }
.page-hero .lead { color: var(--ink-soft); font-size: clamp(17px, 1.5vw, 19px); margin-top: 20px; max-width: 60ch; }
.breadcrumb { display: flex; gap: 8px; align-items: center; font-size: 13.5px; color: var(--ink-mute); margin-bottom: 22px; flex-wrap: wrap; }
.breadcrumb a { color: var(--ink-mute); text-decoration: none; }
.breadcrumb a:hover { color: var(--gold-deep); }
.breadcrumb span { color: var(--gold-deep); }

/* Prose (biogram, akapity) */
.prose { max-width: 68ch; }
.prose p { color: var(--ink-soft); font-size: 17.5px; margin-top: 18px; }
.prose p:first-child { margin-top: 0; }
.prose h3 { font-size: 27px; color: var(--navy); margin-top: 38px; }
.prose h3 + p { margin-top: 14px; }

/* Lista z „ptaszkami” / wartościami */
.check-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 14px; }
.check-list li { display: flex; gap: 14px; align-items: flex-start; font-size: 16.5px; color: var(--ink); }
.check-list .tick {
  flex: none; width: 26px; height: 26px; border-radius: 50%;
  background: #F7F3EE; border: 1px solid var(--line);
  display: grid; place-items: center; margin-top: 1px;
}
.check-list .tick svg { width: 14px; height: 14px; stroke: var(--gold-deep); fill: none; stroke-width: 2.2; stroke-linecap: round; stroke-linejoin: round; }

/* Karta osoby / biogram split */
.bio-grid { display: grid; grid-template-columns: .85fr 1.15fr; gap: clamp(32px, 4vw, 64px); align-items: start; }
.bio-photo { aspect-ratio: 4/5; position: sticky; top: 108px; }
.bio-facts { list-style: none; margin: 28px 0 0; padding: 24px; background: #F7F3EE; border: 1px solid var(--line); border-radius: var(--r-md); display: flex; flex-direction: column; gap: 16px; }
.bio-facts li { display: flex; gap: 13px; align-items: flex-start; font-size: 15.5px; }
.bio-facts svg { width: 19px; height: 19px; stroke: var(--gold-deep); fill: none; stroke-width: 1.6; flex: none; margin-top: 3px; }
.bio-facts b { color: var(--navy); display: block; font-family: var(--sans); font-weight: 600; }
.bio-facts span { color: var(--ink-soft); }

@media (max-width: 860px) {
  .bio-grid { grid-template-columns: 1fr; }
  .bio-photo { position: static; aspect-ratio: 16/10; max-width: 420px; }
}

/* Kategorie czynności — sekcje z kotwicą */
.cat-block { scroll-margin-top: 100px; }
.cat-head { display: flex; gap: 18px; align-items: center; margin-bottom: 24px; }
.cat-head h2 { font-size: clamp(26px, 3vw, 36px); color: var(--navy); }
.list-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 12px 32px; }
.list-grid .check-list { gap: 12px; }

@media (max-width: 700px){ .list-grid { grid-template-columns: 1fr; } }

/* ============================================================
   SELEKTOR DOKUMENTÓW
   ============================================================ */
.doc-tool { display: grid; grid-template-columns: minmax(240px, 320px) 1fr; gap: clamp(20px, 3vw, 40px); align-items: start; }
.doc-tablist {
  display: flex; flex-direction: column; gap: 6px;
  position: sticky; top: 104px;
}
.doc-tab {
  display: flex; align-items: center; gap: 13px;
  text-align: left; width: 100%;
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm);
  padding: 15px 18px; cursor: pointer;
  font-family: var(--sans); font-size: 15.5px; font-weight: 500; color: var(--ink-soft);
  transition: all .16s;
}
.doc-tab svg { width: 20px; height: 20px; stroke: var(--gold-deep); fill: none; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; flex: none; opacity: .8; }
.doc-tab:hover { border-color: var(--gold); background: #F7F3EE; color: var(--navy); }
.doc-tab[aria-selected="true"] {
  background: var(--navy); border-color: var(--navy); color: #fff;
  box-shadow: var(--shadow-sm);
}
.doc-tab[aria-selected="true"] svg { stroke: var(--gold); opacity: 1; }

.doc-panel {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  box-shadow: var(--shadow-sm); padding: clamp(26px, 3vw, 40px);
  min-height: 340px;
}
.doc-panel-head { border-bottom: 1px solid var(--line); padding-bottom: 22px; margin-bottom: 26px; }
.doc-panel-head h2 { font-size: clamp(24px, 3vw, 33px); color: var(--navy); }
.doc-panel-head p { color: var(--ink-soft); font-size: 15.5px; margin-top: 8px; }
.doc-docs { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 13px 28px; }
.doc-docs li { display: flex; gap: 13px; align-items: flex-start; font-size: 16px; color: var(--ink); }
.doc-docs .tick {
  flex: none; width: 25px; height: 25px; border-radius: 50%;
  background: #F7F3EE; border: 1px solid var(--line); display: grid; place-items: center; margin-top: 1px;
}
.doc-docs .tick svg { width: 13px; height: 13px; stroke: var(--gold-deep); fill: none; stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.doc-note {
  margin-top: 26px; padding: 16px 20px; background: #F7F3EE;
  border: 1px solid var(--line); border-radius: var(--r-sm);
  font-size: 14.5px; color: var(--ink-soft); display: flex; gap: 12px; align-items: flex-start;
}
.doc-note svg { width: 19px; height: 19px; stroke: var(--gold-deep); fill: none; stroke-width: 1.7; flex: none; margin-top: 2px; }

.doc-select-mobile { display: none; }

@media (max-width: 820px) {
  .doc-tool { grid-template-columns: 1fr; }
  .doc-tablist { display: none; }
  .doc-select-mobile {
    display: block; width: 100%; font-family: var(--sans); font-size: 16px;
    padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--r-sm);
    background: #fff; color: var(--navy); margin-bottom: 18px;
  }
  .doc-docs { grid-template-columns: 1fr; }
}

/* ============================================================
   OPŁATY
   ============================================================ */
.price-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; }
.price-card {
  background: #fff; border: 1px solid var(--line); border-radius: var(--r-md);
  padding: 30px 28px; box-shadow: var(--shadow-sm); display: flex; flex-direction: column; gap: 14px;
}
.price-card h3 { font-size: 24px; color: var(--navy); }
.price-card p { color: var(--ink-soft); font-size: 16px; }
.pay-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.pay-card {
  background: #F7F3EE;
  border: 1px solid rgba(201,168,76,.25);
  border-radius: var(--r-md);
  padding: 26px 20px; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 12px;
  box-shadow: 0 4px 20px rgba(107,76,42,.08), inset 0 1px 0 rgba(255,255,255,.9);
  transition: transform .2s ease, box-shadow .2s ease;
}
.pay-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 28px rgba(107,76,42,.14), inset 0 1px 0 rgba(255,255,255,.9);
  border-color: rgba(201,168,76,.5);
}
.pay-card .icon-badge {
  background: linear-gradient(160deg, #ffffff 0%, #fafafa 60%, #f5f5f5 100%);
  border-color: rgba(201,168,76,.3);
  box-shadow: 0 2px 8px rgba(0,0,0,.06), inset 0 1px 0 rgba(255,255,255,1);
}
.pay-card h3 { font-size: 19px; color: var(--navy); }
.account-card {
  background: var(--navy); color: #fff; border-radius: var(--r-lg);
  padding: 34px 36px; display: flex; gap: 26px; align-items: center; flex-wrap: wrap; justify-content: space-between;
}
.account-card .num { font-family: var(--serif); font-size: clamp(22px, 3vw, 32px); letter-spacing: .04em; color: #fff; }
.account-card .lab { color: var(--gold); font-size: 13px; letter-spacing: .14em; text-transform: uppercase; font-weight: 600; }

@media (max-width: 760px) {
  .price-grid { grid-template-columns: 1fr; }
  .pay-grid { grid-template-columns: 1fr 1fr; }
}

/* ============================================================
   KONTAKT
   ============================================================ */
.contact-grid { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(28px, 4vw, 52px); align-items: start; }
.contact-info { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 22px; }
.contact-info li { display: flex; gap: 16px; align-items: flex-start; }
.contact-info .icon-badge { flex: none; }
.contact-info b { display: block; color: var(--navy); font-family: var(--sans); font-weight: 600; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; margin-bottom: 4px; }
.contact-info a, .contact-info span { color: var(--ink-soft); font-size: 16.5px; text-decoration: none; }
.contact-info a:hover { color: var(--gold-deep); }

.form-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); padding: clamp(26px, 3vw, 38px); box-shadow: var(--shadow-sm); }
.form-row { display: flex; flex-direction: column; gap: 7px; margin-bottom: 18px; }
.form-row label { font-size: 14px; font-weight: 600; color: var(--navy); }
.form-row input, .form-row textarea {
  font-family: var(--sans); font-size: 16px; color: var(--ink);
  padding: 13px 15px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff;
  transition: border-color .16s, box-shadow .16s;
}
.form-row input:focus, .form-row textarea:focus {
  outline: none; border-color: var(--gold); box-shadow: 0 0 0 3px rgba(193,154,91,.15);
}
.form-row textarea { resize: vertical; min-height: 130px; }
.form-check { display: flex; gap: 11px; align-items: flex-start; font-size: 13.5px; color: var(--ink-soft); margin-bottom: 20px; }
.form-check input { margin-top: 3px; width: 17px; height: 17px; accent-color: var(--gold-deep); flex: none; }
.form-check a { color: var(--gold-deep); }
.form-status { font-size: 14.5px; margin-top: 14px; display: none; padding: 12px 16px; border-radius: var(--r-sm); }
.form-status.ok { display: block; background: #EAF3EC; color: #2C6A3F; border: 1px solid #BFE0C8; }

.map-frame { margin-top: 8px; border-radius: var(--r-md); overflow: hidden; border: 1px solid var(--line); }
.map-frame iframe { display: block; width: 100%; height: 420px; border: 0; }

@media (max-width: 820px) {
  .contact-grid { grid-template-columns: 1fr; }
}

/* ============================================================
   DOKUMENT PRAWNY (polityki)
   ============================================================ */
.legal { max-width: 80ch; }
.legal h2 { font-size: 26px; color: var(--navy); margin-top: 40px; }
.legal h2:first-child { margin-top: 0; }
.legal h3 { font-size: 20px; color: var(--navy); margin-top: 26px; }
.legal p, .legal li { color: var(--ink-soft); font-size: 16.5px; margin-top: 14px; line-height: 1.7; }
.legal ul { margin: 8px 0 0; padding-left: 22px; }
.legal li { margin-top: 8px; }
.legal .updated { color: var(--ink-mute); font-size: 14px; margin-bottom: 8px; }
