/* ============================================================
   taksanotarialna.pl — system wizualny
   Język marki wspólny z notariuszprzypolnocnej.pl / asapnieruchomosci.pl /
   scrivano.pl: ciemna zieleń, serif z kolorowanym italikiem, złote pille,
   karty z ikoną, panel „aplikacji" w hero.
   Skala 8pt, typografia płynna clamp().
   ============================================================ */

:root{
  /* --- tło i powierzchnie --- */
  --bg:          #0a1310;
  --bg-2:        #0d1a15;
  --surface:     #101e19;
  --surface-2:   #142621;
  --elevated:    #12211c;
  --line:        rgba(232,237,234,.09);
  --line-2:      rgba(232,237,234,.14);

  /* --- tekst --- */
  --ink:         #e9efeb;
  --ink-2:       #a9b8b1;
  --ink-3:       #7d8d86;

  /* --- akcenty --- */
  --gold:        #d7b06a;
  --gold-2:      #eccb8a;
  --gold-3:      #b98f47;
  --gold-soft:   rgba(215,176,106,.12);
  --gold-line:   rgba(215,176,106,.32);

  --mint:        #8fd9a8;
  --mint-2:      #b6e9c6;
  --mint-soft:   rgba(143,217,168,.11);
  --mint-line:   rgba(143,217,168,.28);

  /* --- kolory danych (nigdy sam odcień: zawsze etykieta + kwota) --- */
  --c-taksa:     #8fd9a8;
  --c-sad:       #7fc9d9;
  --c-ms:        #9db6e0;   /* Ministerstwo Sprawiedliwości */
  --c-krn:       #bda9de;   /* Krajowa Rada Notarialna */
  --c-podatek:   #d7b06a;
  --c-taksa-bg:  rgba(143,217,168,.14);
  --c-sad-bg:    rgba(127,201,217,.14);
  --c-ms-bg:     rgba(157,182,224,.15);
  --c-krn-bg:    rgba(189,169,222,.16);
  --c-podatek-bg:rgba(215,176,106,.16);

  /* --- kształt --- */
  --r-sm:10px; --r:14px; --r-lg:20px; --r-xl:26px; --r-pill:999px;
  --sh-1: 0 1px 2px rgba(0,0,0,.4);
  --sh-2: 0 2px 6px rgba(0,0,0,.35), 0 12px 34px rgba(0,0,0,.35);
  --sh-3: 0 4px 12px rgba(0,0,0,.4), 0 24px 64px rgba(0,0,0,.5);
  --glow-gold: 0 8px 30px rgba(215,176,106,.28);
  --glow-mint: 0 8px 30px rgba(143,217,168,.22);

  /* --- rytm --- */
  --s1:8px; --s2:16px; --s3:24px; --s4:32px; --s5:48px; --s6:64px; --s7:96px;
  --sekcja: clamp(3rem, 6.5vw, 5.5rem);
  --max: 1180px;
  --max-prose: 66ch;

  /* --- typografia --- */
  --font-ui: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-display: "Playfair Display", Georgia, "Times New Roman", serif;

  --t--1: clamp(.8125rem, .79rem + .1vw, .875rem);
  --t-0:  clamp(1rem, .97rem + .15vw, 1.0625rem);
  --t-1:  clamp(1.0625rem, 1.02rem + .22vw, 1.1875rem);
  --t-2:  clamp(1.1875rem, 1.1rem + .38vw, 1.375rem);
  --t-3:  clamp(1.375rem, 1.2rem + .78vw, 1.9375rem);
  --t-4:  clamp(1.75rem, 1.42rem + 1.6vw, 2.875rem);
  --t-5:  clamp(2.125rem, 1.55rem + 2.85vw, 4rem);

  color-scheme: dark;
}

/* ============================ podstawy ============================ */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%; scroll-behavior:smooth}
@media (prefers-reduced-motion: reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.01ms !important; transition-duration:.01ms !important}
}
body{
  margin:0; color:var(--ink); background:var(--bg);
  font-family:var(--font-ui); font-size:var(--t-0); line-height:1.7; font-weight:300;
  -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(1200px 620px at 78% -8%, rgba(143,217,168,.055), transparent 60%),
    radial-gradient(900px 520px at 4% 4%, rgba(215,176,106,.05), transparent 58%);
  background-attachment:fixed;
}
.wrap{width:100%; max-width:var(--max); margin-inline:auto; padding-inline:clamp(1.15rem,4vw,2.25rem)}

h1,h2,h3,h4{font-family:var(--font-display); font-weight:600; color:var(--ink); letter-spacing:-.01em}
h1{font-size:var(--t-5); line-height:1.08; margin:0 0 var(--s3); letter-spacing:-.02em}
h2{font-size:var(--t-4); line-height:1.16; margin:var(--s6) 0 var(--s3); letter-spacing:-.015em}
h3{font-size:var(--t-2); line-height:1.3; margin:var(--s5) 0 var(--s2)}
/* kolorowany italik w nagłówku — sygnatura marki */
h1 em, h2 em, .akcent{font-style:italic; color:var(--gold-2); font-weight:500}
h1 .mint, h2 .mint{font-style:italic; color:var(--mint); font-weight:500}

p{margin:0 0 var(--s3); max-width:var(--max-prose); color:var(--ink-2)}
main :where(h2,h3)+p{margin-top:0}
strong{font-weight:500; color:var(--ink)}
em{font-style:italic}

a{color:var(--mint); text-decoration:none; text-underline-offset:3px;
  transition:color .18s ease}
a:hover{color:var(--mint-2); text-decoration:underline}
:focus-visible{outline:2px solid var(--gold); outline-offset:3px; border-radius:6px}

.skip{position:absolute; left:-9999px}
.skip:focus{left:1rem; top:1rem; z-index:200; background:var(--surface); color:var(--ink);
  padding:.75rem 1.25rem; border-radius:var(--r-sm); box-shadow:var(--sh-3);
  border:1px solid var(--gold-line)}

/* eyebrow z kreską — sygnatura marki */
.eyebrow{
  display:flex; align-items:center; gap:.85rem; margin:0 0 var(--s3);
  font-family:var(--font-ui); font-size:.75rem; font-weight:500;
  letter-spacing:.22em; text-transform:uppercase; color:var(--gold);
}
.eyebrow::before{content:""; width:38px; height:1px; background:var(--gold-line); flex-shrink:0}

.lead{font-size:var(--t-1); line-height:1.72; color:var(--ink-2); max-width:56ch;
  margin-bottom:var(--s4); font-weight:300}
.muted{color:var(--ink-3); font-size:var(--t--1); line-height:1.6}
.num{font-variant-numeric:tabular-nums}

/* ============================ przyciski ============================ */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55rem;
  min-height:48px; padding:.8rem 1.6rem; border-radius:var(--r-pill);
  font-family:var(--font-ui); font-size:.9375rem; font-weight:500; letter-spacing:.01em;
  border:1px solid transparent; cursor:pointer; white-space:nowrap;
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease, border-color .2s ease;
}
.btn-primary{
  background:linear-gradient(135deg, var(--gold-2), var(--gold-3));
  color:#17120a !important; box-shadow:var(--glow-gold); font-weight:600;
}
.btn-primary:hover{transform:translateY(-2px); text-decoration:none;
  box-shadow:0 12px 38px rgba(215,176,106,.4)}
.btn-ghost{background:rgba(232,237,234,.05); color:var(--ink) !important; border-color:var(--line-2)}
.btn-ghost:hover{background:rgba(232,237,234,.09); border-color:var(--mint-line);
  transform:translateY(-2px); text-decoration:none}

/* ============================ nagłówek ============================ */
.site-head{
  position:sticky; top:0; z-index:100;
  background:rgba(10,19,16,.72);
  backdrop-filter:saturate(160%) blur(16px); -webkit-backdrop-filter:saturate(160%) blur(16px);
  border-bottom:1px solid var(--line);
}
.site-head .wrap{display:flex; align-items:center; gap:var(--s3); min-height:76px}
.logo{display:inline-flex; align-items:center; gap:12px; flex-shrink:0; color:var(--ink)}
.logo:hover{text-decoration:none}
.logo-mark{
  display:grid; place-items:center; width:40px; height:40px; border-radius:12px;
  background:linear-gradient(140deg, rgba(143,217,168,.18), rgba(215,176,106,.14));
  border:1px solid var(--line-2); color:var(--gold-2);
  font-family:var(--font-display); font-size:1.3rem; line-height:1;
  transition:transform .25s ease, border-color .25s ease;
}
.logo:hover .logo-mark{transform:rotate(-8deg); border-color:var(--gold-line)}
.logo-txt{display:flex; flex-direction:column; line-height:1.15}
.logo-txt b{font-family:var(--font-display); font-weight:600; font-size:1.15rem; letter-spacing:-.01em}
.logo-txt b i{font-style:normal; color:var(--gold-2)}
.logo-txt span{font-size:.5625rem; letter-spacing:.2em; text-transform:uppercase; color:var(--ink-3)}
.site-head nav{display:flex; align-items:center; gap:var(--s3); margin-left:auto}
.site-head nav a:not(.btn){
  color:var(--ink-2); font-size:.9375rem; font-weight:300; padding:.5rem 0;
  position:relative;
}
.site-head nav a:not(.btn):hover{color:var(--ink); text-decoration:none}
.site-head nav a:not(.btn)::after{
  content:""; position:absolute; left:0; right:0; bottom:2px; height:1px;
  background:var(--mint); transform:scaleX(0); transform-origin:left;
  transition:transform .22s ease;
}
.site-head nav a:not(.btn):hover::after{transform:scaleX(1)}
.site-head .btn{min-height:42px; padding:.55rem 1.2rem; font-size:.875rem}
@media (max-width:820px){
  .site-head .wrap{flex-wrap:wrap; min-height:auto; padding-block:.85rem; gap:.75rem}
  .site-head nav{margin-left:0; width:100%; overflow-x:auto; gap:1.15rem;
    scrollbar-width:none; -ms-overflow-style:none; padding-bottom:2px}
  .site-head nav::-webkit-scrollbar{display:none}
  .site-head nav a:not(.btn){white-space:nowrap; font-size:.875rem}
  .site-head .btn{min-height:38px; padding:.45rem 1rem}
}

/* ============================ okruchy ============================ */
.crumbs{display:flex; flex-wrap:wrap; align-items:center; gap:.4em;
  font-size:.8125rem; color:var(--ink-3); margin:0 0 var(--s3)}
.crumbs a{color:var(--ink-3); font-weight:300}
.crumbs a:hover{color:var(--mint)}
.crumbs .sep{opacity:.4}
.crumbs .current{color:var(--ink-2)}

/* ============================ hero ============================ */
.hero{
  position:relative; overflow:hidden;
  padding-block:clamp(2.25rem,5vw,4rem) clamp(3rem,6vw,5rem);
  border-bottom:1px solid var(--line);
  background:
    radial-gradient(900px 460px at 15% 0%, rgba(143,217,168,.08), transparent 62%),
    linear-gradient(180deg, var(--bg-2), var(--bg) 88%);
}
/* pieczęć w tle — jak na stronach kancelarii */
.hero::after{
  content:""; position:absolute; right:-140px; top:-90px; width:520px; height:520px;
  border-radius:50%; pointer-events:none; opacity:.5;
  border:1px solid rgba(215,176,106,.10);
  box-shadow:inset 0 0 0 34px rgba(215,176,106,.035), inset 0 0 0 35px rgba(215,176,106,.08);
}
.hero > *{position:relative; z-index:1}
.hero-grid{display:grid; gap:clamp(2.25rem,4vw,3.5rem); align-items:start}
@media (min-width:1000px){
  .hero-grid{grid-template-columns:minmax(0,1fr) minmax(430px,.92fr)}
}

/* chipsy pod leadem */
.facts{list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:.6rem}
.facts li{
  display:inline-flex; align-items:baseline; gap:.5rem;
  padding:.55rem 1rem; border-radius:var(--r-pill);
  background:rgba(232,237,234,.04); border:1px solid var(--line);
  transition:border-color .2s ease, background .2s ease;
}
.facts li:hover{border-color:var(--mint-line); background:rgba(143,217,168,.06)}
.facts .k{font-size:.6875rem; letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3)}
.facts .v{font-size:.9375rem; font-weight:500; color:var(--ink); font-variant-numeric:tabular-nums}

/* ============================ panel „aplikacji" ============================ */
.panel{
  background:linear-gradient(165deg, var(--surface), var(--bg-2));
  border:1px solid var(--line-2); border-radius:var(--r-xl);
  box-shadow:var(--sh-3); overflow:hidden; position:relative;
}
.panel::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(420px 200px at 80% 0%, rgba(215,176,106,.09), transparent 70%);
}
.panel > *{position:relative}
.panel-bar{
  display:flex; align-items:center; gap:.5rem; padding:.85rem 1.25rem;
  border-bottom:1px solid var(--line); font-size:.75rem; color:var(--ink-3);
  letter-spacing:.05em;
}
.panel-bar i{width:9px; height:9px; border-radius:50%; background:var(--line-2); flex-shrink:0}
.panel-bar i:first-child{background:rgba(215,176,106,.5)}
.panel-bar span{margin-left:.5rem}

/* ============================ karta wyniku ============================ */
.result{
  background:linear-gradient(165deg, var(--surface), var(--bg-2));
  border:1px solid var(--line-2); border-radius:var(--r-lg);
  box-shadow:var(--sh-2); overflow:hidden;
}
.result-head{padding:var(--s3) var(--s3) .75rem}
.result-label{display:block; font-size:.6875rem; font-weight:500; letter-spacing:.2em;
  text-transform:uppercase; color:var(--gold)}
.result-total{
  display:block; margin-top:.35rem; font-family:var(--font-display); font-weight:600;
  font-size:clamp(2.1rem,5vw,2.9rem); line-height:1.04; letter-spacing:-.02em;
  color:var(--ink); font-variant-numeric:tabular-nums;
}
.bar{display:flex; height:9px; border-radius:var(--r-pill); overflow:hidden;
  margin:0 var(--s3) var(--s3); background:rgba(232,237,234,.06)}
.bar i{display:block; height:100%}
.bar .b-taksa{background:var(--c-taksa)}
.bar .b-sad{background:var(--c-sad)}
.bar .b-podatek{background:var(--c-podatek)}
.legend{list-style:none; margin:0; padding:0 var(--s3) var(--s3); display:grid; gap:.55rem}
.legend li{display:flex; align-items:center; gap:.6rem; font-size:.9375rem; color:var(--ink-2)}
.legend .dot{width:9px; height:9px; border-radius:3px; flex-shrink:0}
.legend .d-taksa{background:var(--c-taksa)} .legend .d-sad{background:var(--c-sad)}
.legend .d-podatek{background:var(--c-podatek)}
.legend .val{margin-left:auto; font-weight:500; color:var(--ink); font-variant-numeric:tabular-nums}
.legend .pct{color:var(--ink-3); font-size:.8125rem; min-width:3.1em; text-align:right}

/* ============================ kalkulator ============================ */
.calc{
  background:linear-gradient(165deg, var(--surface), var(--bg-2));
  border:1px solid var(--line-2); border-radius:var(--r-xl);
  box-shadow:var(--sh-3); overflow:hidden; position:relative;
}
.calc::before{
  content:""; position:absolute; inset:0; pointer-events:none; border-radius:inherit;
  background:radial-gradient(420px 220px at 82% 0%, rgba(215,176,106,.08), transparent 70%);
}
.calc > *{position:relative}
.calc-head{padding:var(--s3) var(--s3) 0}
.calc-head h2{margin:0 0 .3rem; font-size:var(--t-2); letter-spacing:-.01em}
.calc-head p{margin:0; font-size:.8125rem; color:var(--ink-3); max-width:none}
.calc-body{padding:var(--s3)}
.calc-grid{display:grid; gap:var(--s2); grid-template-columns:1fr}
@media (min-width:520px){ .calc-grid{grid-template-columns:1fr 1fr} }
.field label{display:block; margin-bottom:.45rem; font-size:.6875rem; font-weight:500;
  letter-spacing:.14em; text-transform:uppercase; color:var(--ink-3)}
.field input,.field select{
  width:100%; min-height:50px; padding:.7rem .95rem; font:inherit; font-size:var(--t-0);
  font-weight:400; color:var(--ink); background:rgba(232,237,234,.04);
  border:1px solid var(--line-2); border-radius:var(--r-sm);
  font-variant-numeric:tabular-nums;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.field select{cursor:pointer; appearance:none; padding-right:2.5rem;
  background-image:linear-gradient(45deg,transparent 50%,var(--ink-3) 50%),
                   linear-gradient(135deg,var(--ink-3) 50%,transparent 50%);
  background-position:calc(100% - 20px) 52%, calc(100% - 15px) 52%;
  background-size:5px 5px,5px 5px; background-repeat:no-repeat;
}
.field input:hover,.field select:hover{border-color:var(--line-2); background:rgba(232,237,234,.06)}
.field input:focus,.field select:focus{outline:none; border-color:var(--gold-line);
  box-shadow:0 0 0 3px var(--gold-soft); background:rgba(232,237,234,.06)}
.checks{display:grid; gap:.35rem; margin-top:var(--s2)}
.checks label{
  display:flex; align-items:center; gap:.7rem; min-height:44px; cursor:pointer;
  font-size:.9375rem; color:var(--ink-2); padding:.3rem .6rem; margin-inline:-.6rem;
  border-radius:var(--r-sm); transition:background .16s ease, color .16s ease;
}
.checks label:hover{background:rgba(232,237,234,.04); color:var(--ink)}
.checks input{width:18px; height:18px; accent-color:var(--mint); flex-shrink:0; cursor:pointer}

.calc-out{border-top:1px solid var(--line); background:rgba(0,0,0,.18)}
.calc-out .row{
  display:flex; justify-content:space-between; align-items:baseline; gap:var(--s2);
  padding:.65rem var(--s3); font-size:.9375rem; color:var(--ink-2);
  border-bottom:1px solid var(--line);
}
.calc-out .row span:last-child{font-weight:500; color:var(--ink); white-space:nowrap;
  font-variant-numeric:tabular-nums}
.calc-out .row.total{
  border-bottom:none; padding:var(--s3); color:#17120a;
  background:linear-gradient(135deg, var(--gold-2), var(--gold-3));
  font-weight:600; font-size:var(--t-1);
}
.calc-out .row.total span:last-child{color:#17120a; font-family:var(--font-display);
  font-size:var(--t-3); font-weight:600; letter-spacing:-.02em}
.calc-note{margin:0; padding:var(--s2) var(--s3); font-size:.75rem; line-height:1.6;
  color:var(--ink-3); border-top:1px solid var(--line); max-width:none}

/* ============================ sekcje ============================ */
.sekcja{padding-block:var(--sekcja)}
.sekcja > .wrap > *:first-child,
.sekcja > .wrap > *:first-child > *:first-child{margin-top:0}
.sekcja-alt{background:linear-gradient(180deg, rgba(16,30,25,.55), rgba(10,19,16,.2));
  border-block:1px solid var(--line)}
.split{display:grid; gap:clamp(1.75rem,3.5vw,3rem); align-items:start}
@media (min-width:880px){ .split{grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)} }
.split > * > :first-child{margin-top:0}

/* ============================ tabele ============================ */
.tbl-wrap{
  margin:var(--s3) 0 var(--s4); border:1px solid var(--line-2); border-radius:var(--r-lg);
  overflow:hidden; background:linear-gradient(165deg, var(--surface), var(--bg-2));
}
.tbl-scroll{overflow-x:auto; -webkit-overflow-scrolling:touch}
table{border-collapse:collapse; width:100%; font-size:.9375rem}
th,td{text-align:left; padding:.9rem 1.2rem; border-bottom:1px solid var(--line)}
thead th{
  background:rgba(0,0,0,.2); font-family:var(--font-ui); font-size:.6875rem; font-weight:500;
  letter-spacing:.16em; text-transform:uppercase; color:var(--ink-3); white-space:nowrap;
}
td{color:var(--ink-2); font-weight:300}
td.num,th.num{text-align:right; font-variant-numeric:tabular-nums; white-space:nowrap}
td.num{color:var(--ink); font-weight:400}
tbody tr{transition:background .16s ease}
tbody tr:hover{background:rgba(232,237,234,.03)}
tbody tr:last-child td{border-bottom:none}
tr.sum td{background:rgba(215,176,106,.07); color:var(--ink); font-weight:500;
  border-top:1px solid var(--gold-line)}
tr.sum:hover td{background:rgba(215,176,106,.09)}
tr.sum td strong{color:var(--gold-2)}
td strong{color:var(--ink); font-weight:500}

.tag{
  display:inline-block; margin-left:.45em; padding:.12em .65em; border-radius:var(--r-pill);
  font-size:.625rem; font-weight:500; letter-spacing:.1em; text-transform:uppercase;
  vertical-align:1px; white-space:nowrap;
}
/* Znaczniki odbiorcy opłaty. Nie każda pozycja bez VAT idzie do sądu:
   MS  = Ministerstwo Sprawiedliwości (odpis z centralnej bazy KW),
   KRN = Krajowa Rada Notarialna (wypis dla Szefa KAS, Rejestr Spadkowy). */
.tag.court{background:var(--c-sad-bg); color:var(--c-sad)}
.tag.ms{background:var(--c-ms-bg); color:var(--c-ms)}
.tag.krn{background:var(--c-krn-bg); color:var(--c-krn)}
.tag.tax{background:var(--c-podatek-bg); color:var(--c-podatek)}
/* Znaczniki nie mają być klikalne ani przerywać czytania nazwy pozycji. */
.tag[title]{cursor:help}

/* ============================ karty ============================ */
.cards{list-style:none; padding:0; margin:var(--s3) 0 0;
  display:grid; gap:var(--s2); grid-template-columns:repeat(auto-fill,minmax(min(100%,265px),1fr))}
.cards a{
  display:flex; flex-direction:column; gap:.35rem; height:100%;
  padding:1.35rem 1.4rem; border-radius:var(--r-lg);
  background:linear-gradient(165deg, var(--surface), var(--bg-2));
  border:1px solid var(--line); color:var(--ink);
  font-size:1rem; font-weight:400; line-height:1.4;
  transition:border-color .22s ease, box-shadow .22s ease, transform .22s ease;
}
.cards a:hover{
  text-decoration:none; border-color:var(--mint-line); transform:translateY(-3px);
  box-shadow:var(--sh-2), var(--glow-mint);
}
.cards .sub{font-size:.8125rem; font-weight:300; color:var(--ink-3)}

.linkgrid{list-style:none; padding:0; margin:var(--s3) 0 0;
  display:grid; gap:.4rem; grid-template-columns:repeat(auto-fill,minmax(min(100%,240px),1fr))}
.linkgrid a{
  display:flex; align-items:center; min-height:44px; padding:.6rem .95rem;
  border-radius:var(--r-sm); border:1px solid transparent;
  color:var(--ink-2); font-size:.9375rem; font-weight:300;
  transition:background .18s ease, border-color .18s ease, color .18s ease;
}
.linkgrid a:hover{text-decoration:none; color:var(--ink);
  background:rgba(232,237,234,.045); border-color:var(--line-2)}

/* ============================ callouty ============================ */
.note{
  margin:var(--s4) 0; padding:1.2rem 1.45rem; border-radius:var(--r);
  background:var(--mint-soft); border:1px solid var(--mint-line); color:var(--ink-2);
}
.note p{margin:0; max-width:none}
.note p + p{margin-top:.6rem}
.note strong{color:var(--mint-2); font-weight:500}
.note.warn{background:var(--gold-soft); border-color:var(--gold-line)}
.note.warn strong{color:var(--gold-2)}

ul.checklist{list-style:none; padding:0; margin:var(--s3) 0}
ul.checklist li{
  position:relative; padding-left:1.9rem; margin-bottom:.85rem;
  max-width:var(--max-prose); color:var(--ink-2); font-weight:300;
}
ul.checklist li::before{
  content:""; position:absolute; left:.25rem; top:.72em; width:6px; height:6px;
  border-radius:50%; background:var(--gold); box-shadow:0 0 0 3px var(--gold-soft);
}

/* ============================ FAQ ============================ */
.faq{margin:var(--s3) 0 0; border:1px solid var(--line-2); border-radius:var(--r-lg);
  overflow:hidden; background:linear-gradient(165deg, var(--surface), var(--bg-2))}
.faq details{border-bottom:1px solid var(--line)}
.faq details:last-child{border-bottom:none}
.faq summary{
  display:flex; justify-content:space-between; align-items:flex-start; gap:var(--s2);
  padding:1.15rem 1.45rem; cursor:pointer; list-style:none; min-height:44px;
  color:var(--ink); font-weight:400; transition:background .16s ease;
}
.faq summary:hover{background:rgba(232,237,234,.03)}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{
  content:""; flex-shrink:0; width:10px; height:10px; margin-top:.5em;
  border-right:1.5px solid var(--gold); border-bottom:1.5px solid var(--gold);
  transform:rotate(45deg); transform-origin:60% 60%; transition:transform .22s ease;
}
.faq details[open] summary::after{transform:rotate(-135deg)}
.faq details[open] summary{color:var(--gold-2)}
.faq .a{padding:0 1.45rem 1.35rem; color:var(--ink-2); font-weight:300}
.faq .a p{margin:0; max-width:none}

/* ============================ stopka ============================ */
.site-foot{
  margin-top:var(--sekcja); padding-block:var(--s6) var(--s4);
  border-top:1px solid var(--line); background:linear-gradient(180deg, rgba(16,30,25,.5), var(--bg));
  font-size:.9375rem; color:var(--ink-2);
}
.foot-cols{display:grid; gap:var(--s4);
  grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.foot-cols h3{margin:0 0 var(--s2); font-family:var(--font-ui); font-size:.6875rem;
  font-weight:500; letter-spacing:.2em; text-transform:uppercase; color:var(--gold)}
.foot-cols ul{list-style:none; padding:0; margin:0}
.foot-cols li{margin-bottom:.55rem}
.foot-cols a{color:var(--ink-2); font-weight:300}
.foot-cols a:hover{color:var(--mint)}
.disclaimer{margin-top:var(--s5); padding-top:var(--s3); border-top:1px solid var(--line);
  color:var(--ink-3); font-size:.75rem; line-height:1.7; max-width:none; font-weight:300}
.copy{margin:var(--s2) 0 0; color:var(--ink-3); font-size:.75rem; font-weight:300}

/* ============================ druk ============================ */
@media print{
  .site-head,.site-foot,.calc,.linkgrid,.cards,.skip{display:none !important}
  body{background:#fff; color:#000; font-size:11pt}
  .hero{background:none; border:none; padding-block:0}
  .hero::after{display:none}
  h1,h2,h3{color:#000}
  p,td,li{color:#111}
  .tbl-wrap,.result{background:#fff; box-shadow:none; border:1px solid #bbb; break-inside:avoid}
  a{color:#000; text-decoration:underline}
}
