/* =========================================================
   KONTENEROLOGIA — WSPÓLNY MOTYW, MENU, STOPKA I CTA PDF
   Zmieniasz ten plik raz, a zmiana trafia do wszystkich stron PHP.
   ========================================================= */

*,*::before,*::after{box-sizing:border-box}

:root{
  --ink:#0B0F1A;
  --ink-2:#10162A;
  --ink-3:#161D31;
  --rule:#1E2740;

  --white:#FFFFFF;
  --text:#D7E2F1;
  --muted:#7F93B2;
  --dim:#4A5D7A;

  --signal:#4C7FD4;
  --signal-2:#2B5A9E;
  --signal-soft:rgba(76,127,212,.12);

  --green:#4ADE80;
  --green-bg:rgba(74,222,128,.10);
  --yellow:#FBBF24;
  --yellow-bg:rgba(251,191,36,.10);
  --red:#F87171;
  --red-bg:rgba(248,113,113,.10);

  --font-heading:'Playfair Display',serif;
  --font-body:'Geist',sans-serif;
  --font-mono:'IBM Plex Mono',monospace;

  /* Aliasy dla obecnych narzędzi */
  --ink2:var(--ink-2);
  --ink3:var(--ink-3);
  --signal2:var(--signal-2);
}

html{scroll-behavior:smooth}

body{
  margin:0;
  background:var(--ink);
  color:var(--text);
  font-family:var(--font-body);
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}

/* HEADER */
.k-site-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(11,15,26,.96);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--rule);
}

.k-header-inner{
  max-width:1120px;
  min-height:68px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
}

.k-logo{
  color:var(--white);
  font-family:var(--font-heading);
  font-size:1.1rem;
  font-weight:700;
  letter-spacing:-.02em;
  white-space:nowrap;
}

.k-logo em,
.k-footer-brand em,
.k-pdf-brand em{
  color:var(--signal);
  font-style:italic;
}

.k-main-nav{
  display:flex;
  align-items:center;
  gap:26px;
  margin-left:auto;
}

.k-main-nav>a,
.k-dropdown-toggle{
  border:0;
  padding:0;
  background:transparent;
  color:var(--muted);
  font-size:.84rem;
  font-weight:500;
  cursor:pointer;
  transition:color .2s ease;
}

.k-main-nav>a:hover,
.k-main-nav>a:focus-visible,
.k-dropdown-toggle:hover,
.k-dropdown-toggle:focus-visible,
.k-dropdown.open .k-dropdown-toggle{
  color:var(--white);
}

.k-header-cta{
  padding:9px 18px;
  border:1px solid var(--rule);
  border-radius:3px;
  color:var(--white);
  font-size:.84rem;
  font-weight:600;
  white-space:nowrap;
  transition:border-color .2s ease;
}

.k-header-cta:hover{border-color:var(--signal)}

.k-mobile-toggle{
  display:none;
  border:0;
  background:transparent;
  color:var(--white);
  font-size:1.35rem;
  cursor:pointer;
}

.k-dropdown{
  position:relative;
  display:flex;
  align-items:center;
}

.k-dropdown::after{
  content:'';
  position:absolute;
  top:100%;
  left:-18px;
  right:-18px;
  height:16px;
}

.k-dropdown-toggle{
  display:flex;
  align-items:center;
  gap:6px;
}

.k-dropdown-arrow{
  font-size:.7rem;
  transition:transform .2s ease;
}

.k-dropdown.open .k-dropdown-arrow{transform:rotate(180deg)}

.k-dropdown-menu{
  position:absolute;
  top:calc(100% + 15px);
  left:50%;
  z-index:1010;
  min-width:320px;
  padding:8px;
  border:1px solid var(--rule);
  border-radius:6px;
  background:#10182B;
  box-shadow:0 18px 40px rgba(0,0,0,.38);

  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translate(-50%,8px);
  transition:opacity .16s ease,visibility .16s ease,transform .16s ease;
}

.k-dropdown-menu::before{
  content:'';
  position:absolute;
  top:-15px;
  left:0;
  right:0;
  height:15px;
}

.k-dropdown-menu a{
  display:block;
  padding:10px 12px;
  border-radius:4px;
  color:var(--muted);
  font-size:.84rem;
  white-space:nowrap;
}

.k-dropdown-menu a:hover,
.k-dropdown-menu a:focus-visible,
.k-dropdown-menu a[aria-current="page"]{
  color:var(--white);
  background:#17243E;
}

.k-dropdown:hover .k-dropdown-menu,
.k-dropdown:focus-within .k-dropdown-menu,
.k-dropdown.open .k-dropdown-menu{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
  transform:translate(-50%,0);
}

/* SITE FOOTER */
.k-site-footer{
  padding:34px 0;
  border-top:1px solid var(--rule);
  background:var(--ink);
}

.k-footer-inner{
  max-width:1120px;
  margin:0 auto;
  padding:0 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}

.k-footer-brand{
  color:var(--white);
  font-family:var(--font-heading);
  font-weight:700;
}

.k-footer-links{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}

.k-footer-links a,
.k-footer-copy{
  color:var(--dim);
  font-size:.74rem;
}

.k-footer-links a:hover{color:var(--muted)}

/* SHARED PDF CTA */
.k-pdf-cta{display:none}

@media print{
  .k-site-header,
  .k-site-footer{
    display:none!important;
  }

  .k-pdf-cta{
    display:grid;
    grid-template-columns:1fr 27mm;
    gap:5mm;
    align-items:center;
    margin-top:4mm;
    padding:4mm 4.5mm;
    border:1px solid #CBD5E1;
    border-left:1.5mm solid #4C7FD4;
    border-radius:2mm;
    background:#F8FAFC;
    color:#334155;
    break-inside:avoid;
  }
  .k-pdf-cta.is-print-source{display:none!important}

  .k-pdf-brand{
    margin-bottom:1.5mm;
    color:#0B0F1A;
    font-family:var(--font-heading);
    font-size:10.5pt;
    font-weight:700;
  }

  .k-pdf-cta h2{
    margin:0 0 1.5mm;
    color:#0F172A;
    font-family:var(--font-heading);
    font-size:8.5pt;
    line-height:1.25;
  }

  .k-pdf-cta p{
    margin:0 0 1mm;
    color:#64748B;
    font-size:6.8pt;
    line-height:1.35;
  }

  .k-pdf-cta strong{
    color:#2B5A9E;
    font-size:7.2pt;
  }

  .k-pdf-qr{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:1mm;
    text-align:center;
  }

  .k-pdf-qr img,.k-pdf-qr [data-ktlg-pdf-qr],.k-pdf-qr canvas,.k-pdf-qr svg{
    width:23mm;
    height:23mm;
    object-fit:contain;
  }
  .k-pdf-qr [data-ktlg-pdf-qr]{display:grid;place-items:center;background:#fff}.k-pdf-qr [data-ktlg-pdf-qr]>img{display:block;width:100%;height:100%}.k-pdf-qr-url{font-size:6pt;color:#334155;overflow-wrap:anywhere}

  .k-pdf-qr span{
    color:#64748B;
    font-size:5.8pt;
    line-height:1.15;
  }
}

@media(max-width:820px){
  .k-main-nav{
    display:none;
    position:absolute;
    top:100%;
    left:0;
    right:0;
    padding:17px 24px 20px;
    border-bottom:1px solid var(--rule);
    background:var(--ink);
    flex-direction:column;
    align-items:flex-start;
    gap:16px;
  }

  .k-main-nav.open{display:flex}

  .k-header-cta{display:none}
  .k-mobile-toggle{display:block}

  .k-dropdown{
    display:block;
    width:100%;
  }

  .k-dropdown::after{display:none}

  .k-dropdown-toggle{
    width:100%;
    justify-content:space-between;
  }

  .k-dropdown-menu{
    position:static;
    display:none;
    width:100%;
    min-width:0;
    margin-top:10px;
    padding:7px;
    opacity:1;
    visibility:visible;
    pointer-events:auto;
    transform:none;
    box-shadow:none;
    background:var(--ink-2);
  }

  .k-dropdown-menu::before{display:none}

  .k-dropdown:hover .k-dropdown-menu,
  .k-dropdown:focus-within .k-dropdown-menu{
    display:none;
  }

  .k-dropdown.open .k-dropdown-menu{
    display:block;
    transform:none;
  }

}

/* =========================================================
   GLOBAL BRAND WORDMARK
   Musi być poza @media — obowiązuje desktop + mobile.
   ========================================================= */
.k-logo,
.k-footer-brand,
.k-pdf-brand{
  color:#FFFFFF !important;
}

.k-logo em,
.k-footer-brand em,
.k-pdf-brand em{
  color:#4C7FD4 !important;
  font-style:italic !important;
}
