/*
  NKML — style nagłówka (menu + podmenu) i stopki.

  ⚠️ TEN PLIK JEST GENEROWANY z motywu WordPressa — `scratchpad/zrownaj_css.py`.
  Nie edytować ręcznie: przy najbliższym zrównaniu zmiany przepadną. Poprawki wprowadzaj
  w motywie (`style.css` + `nkml_menu_inline_css()`), potem uruchom skrypt.

  Powód: do 13.08.2026 nagłówek opisywały DWA niezależnie napisane arkusze — motyw swój,
  strony statyczne swój. Wyglądały podobnie, ale różniły się w 64 miejscach (hamburger
  54 vs 48 px, podmenu 218 vs 240 px, strzałka z odstępem i bez, inne cienie i wagi pisma).
  Właściciel zgłosił to jako „nie wygląda identycznie" — i miał rację, bo identyczne
  nie było i przy dwóch źródłach być nie mogło.
*/

/*
Theme Name: Nie Każ Mu Liczyć Nowe
Theme URI: https://niekazmuliczyc.pl/
Author: Mateusz Bedkowski
Description: Lekki motyw WordPress dla niekazmuliczyc.pl: blog, wpisy, strony i menu bez zaleznosci od Astry ani Elementora.
Version: 1.1.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
Text Domain: nkml
*/

:root {
  --nkml-navy: #1a3a5c;
  --nkml-navy-dark: #14304d;
  --nkml-navy-soft: #eaf0f6;
  --nkml-orange: #f4a228;
  --nkml-orange-dark: #e0901a;
  --nkml-cream: #fbf7f1;
  --nkml-cream-2: #f4eee3;
  --nkml-card: #ffffff;
  --nkml-white: #ffffff;
  --nkml-text: #26384a;
  --nkml-muted: #5C6B7A;
  --nkml-line: #EADFCB;
  --nkml-line-soft: #f1e9da;
  --nkml-shadow-sm: 0 1px 2px rgba(26, 58, 92, .04), 0 4px 14px rgba(26, 58, 92, .05);
  --nkml-shadow-md: 0 12px 32px rgba(26, 58, 92, .10);
  --nkml-shadow-lg: 0 20px 48px rgba(26, 58, 92, .13);
  --nkml-radius: 18px;
  --nkml-radius-lg: 28px;
  --nkml-max: 1260px;
  --nkml-head: "Quicksand", "Nunito", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
  --nkml-body: "Nunito", system-ui, -apple-system, "Segoe UI", Arial, sans-serif;
}

/* Zmienne używane przez reguły motywu, ale w nim niezdefiniowane —
   uzupełnione, żeby reguła w ogóle zadziałała. Do dopisania także w motywie. */
:root {
  --nkml-focus: #2C7FA0;
}




body.admin-bar .nkml-site-header {
  top: 32px;
}



.screen-reader-text,
.skip-link {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
}



.skip-link:focus {
  z-index: 9999;
  left: 12px;
  top: 12px;
  width: auto;
  height: auto;
  padding: 10px 14px;
  border-radius: 12px;
  background: var(--nkml-navy);
  color: #fff;
}



.nkml-wrap {
  width: min(var(--nkml-max), calc(100% - 44px));
  margin: 0 auto;
}



.nkml-site-header {
  position: sticky;
  top: 0;
  z-index: 100;
  border-bottom: 1px solid var(--nkml-line-soft);
  background: rgba(251, 247, 241, .92);
  backdrop-filter: saturate(140%) blur(10px);
}



.nkml-header-inner {
  display: flex;
  align-items: center;
  gap: 18px;
  min-height: 72px;
}



.nkml-brand {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  color: var(--nkml-navy);
  font-family: var(--nkml-head);
  font-size: 18px;
  font-weight: 800;
  white-space: nowrap;
}



.nkml-brand svg {
  flex: 0 0 auto;
  width: 38px;
  height: 38px;
}



.nkml-nav {
  display: flex;
  align-items: center;
  margin-left: auto;
  min-width: 0;
}



.nkml-nav ul {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px;
  margin: 0;
  padding: 0;
  list-style: none;
}



.nkml-nav a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  min-height: 40px;
  padding: 8px 11px;
  border-radius: 999px;
  color: var(--nkml-navy);
  font-weight: 700;
  font-size: 15.5px;
  line-height: 1.1;
  white-space: nowrap;
  transition: background .15s ease, color .15s ease;
}



.nkml-nav a:hover,
.nkml-nav .current-menu-item > a,
.nkml-nav .current_page_item > a,
.nkml-nav .current-menu-ancestor > a {
  background: var(--nkml-navy-soft);
  color: var(--nkml-navy);
}



/* Pomarańczowe CTA tylko dla ostatniej pozycji GÓRNEGO paska.
   Wcześniej selektor łapał też ostatnią pozycję każdego podmenu, przez co
   „Wszystkie działy", „Ortografia" czy „Dyskalkulia" wyskakiwały jako
   pomarańczowe guziki w środku białej listy rozwijanej. */
.nkml-nav > ul > li.nkml-menu-cta > a,
.nkml-nav > ul > li:last-child > a {
  background: var(--nkml-orange);
  color: #fff;
  box-shadow: 0 6px 14px rgba(244, 162, 40, .26);
}



.nkml-nav > ul > li.nkml-menu-cta > a:hover,
.nkml-nav > ul > li:last-child > a:hover {
  background: var(--nkml-orange-dark);
  color: #fff;
}

@media (max-width: 1200px) {
  .nkml-brand span {
    display: none;
  }
}



/* Przycisk rozwijania list istnieje w HTML-u zawsze (wstawia go navigation.js),
   więc musi być domyślnie ukryty — pokazuje się dopiero w widoku hamburgera. */
.nkml-nav .nkml-sub-toggle {
  display: none;
}



.nkml-burger {
  display: none;
  flex: 0 0 auto;
  width: 48px;
  height: 48px;
  margin-left: auto;
  border: 0;
  border-radius: 14px;
  background: var(--nkml-navy);
  box-shadow: var(--nkml-shadow-sm);
  cursor: pointer;
}



.nkml-burger-lines,
.nkml-burger-lines::before,
.nkml-burger-lines::after {
  display: block;
  width: 22px;
  height: 3px;
  margin: 0 auto;
  border-radius: 999px;
  background: #fff;
  content: "";
  transition: transform .22s ease, opacity .18s ease;
}



.nkml-burger-lines {
  position: relative;
}



.nkml-burger-lines::before {
  position: absolute;
  top: -8px;
  left: 0;
}



.nkml-burger-lines::after {
  position: absolute;
  top: 8px;
  left: 0;
}



.nkml-burger[aria-expanded="true"] .nkml-burger-lines {
  background: transparent;
}



.nkml-burger[aria-expanded="true"] .nkml-burger-lines::before {
  transform: translateY(8px) rotate(45deg);
}



.nkml-burger[aria-expanded="true"] .nkml-burger-lines::after {
  transform: translateY(-8px) rotate(-45deg);
}



.nkml-site-footer {
  margin-top: 60px;
  background: var(--nkml-navy);
  color: #cbd8e6;
}



.nkml-footer-inner {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 32px;
  padding: 44px 0 30px;
}



.nkml-footer-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff;
  font-family: var(--nkml-head);
  font-size: 18px;
  font-weight: 800;
}



.nkml-footer-brand svg {
  width: 36px;
  height: 36px;
}



.nkml-footer-copy {
  margin-top: 14px;
  color: #aec0d4;
  font-weight: 600;
}



.nkml-footer-col h3 {
  margin-bottom: 14px;
  color: #fff;
  font-size: 16px;
}



.nkml-footer-col ul {
  display: grid;
  gap: 9px;
  margin: 0;
  padding: 0;
  list-style: none;
}



.nkml-footer-col a {
  color: #cbd8e6;
  font-weight: 700;
}



.nkml-footer-col a:hover {
  color: var(--nkml-orange);
}



.nkml-footer-bottom {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 14px;
  padding: 20px 0;
  border-top: 1px solid rgba(255, 255, 255, .12);
  color: #9fb2c7;
  font-size: 14px;
  font-weight: 700;
}



.nkml-footer-bottom a {
  color: var(--nkml-orange);
}

@media (max-width: 920px) {
  .nkml-wrap {
    width: min(100% - 32px, var(--nkml-max));
  }

  .nkml-featured-card,
  .nkml-card-grid,
  .nkml-related-grid,
  .nkml-footer-inner,
  .nkml-home-hero,
  .nkml-home-grid-3,
  .nkml-home-grid-4 {
    grid-template-columns: 1fr;
  }

  .nkml-featured-media {
    min-height: 280px;
  }
}

@media (max-width: 1100px) {
  body.admin-bar .nkml-site-header {
    top: 46px;
  }

  .nkml-header-inner {
    min-height: 68px;
  }

  .nkml-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .nkml-nav {
    position: absolute;
    top: calc(100% + 10px);
    right: 0;
    left: 0;
    display: none;
    max-height: calc(100dvh - 120px);
    overflow-y: auto;
    margin: 0 auto;
    padding: 12px;
    width: min(var(--nkml-max), 100% - 44px);
    border: 1px solid var(--nkml-line);
    border-radius: var(--nkml-radius);
    background: var(--nkml-card);
    box-shadow: var(--nkml-shadow-lg);
  }

  .nkml-nav.is-open {
    display: block;
  }

  .nkml-nav ul {
    display: grid;
    gap: 4px;
  }

  .nkml-nav a {
    justify-content: flex-start;
    width: 100%;
  }
}

@media (max-width: 560px) {
  .nkml-brand {
    font-size: 17px;
  }

  .nkml-hero {
    padding-top: 38px;
  }

  .nkml-card-body,
  .nkml-featured-body,
  .nkml-home-card {
    padding: 22px;
  }

  .nkml-post-card h2 {
    font-size: 23px;
  }

  .nkml-single-shell,
  .nkml-page-shell {
    width: min(100% - 30px, 860px);
  }

  .nkml-content {
    font-size: 17px;
  }

  .nkml-author-box {
    align-items: flex-start;
  }
}




/* ── dołożone 12.08.2026 przy ujednoliceniu z paczkami statycznymi ──
   Trzy klasy, których ten arkusz nie znał, a które wypisują header.php i footer.php
   z repo: nkml-main, nkml-consent-link, nkml-footer-consent. */
.nkml-main:focus{outline: none;}


.nkml-consent-link{padding: 0;
  border: 0;
  background: none;
  color: #cbd8e6;
  font-family: inherit;
  font-size: inherit;
  font-weight: 700;
  text-align: left;
  text-decoration: none;
  cursor: pointer;}


.nkml-consent-link:hover{color: var(--nkml-orange);}


.nkml-consent-link:hover{color: var(--nkml-orange);
  text-decoration: none;}


.nkml-consent-link:focus-visible{outline: 2px solid var(--nkml-focus);
  outline-offset: 3px;
  border-radius: 4px;
  text-decoration: none;}


.nkml-footer-consent{margin: 9px 0 0;}

/* — zerowanie podkreśleń: odpowiednik reguły `a{text-decoration:none}` z motywu,
     zawężony do nagłówka i stopki, żeby nie ruszyć odnośników w treści stron — */
.nkml-site-header a,
.nkml-site-footer a,
.nkml-brand,
.nkml-nav a,
.nkml-footer-col a,
.nkml-footer-bottom a {
  text-decoration: none;
}

/* — podmenu: CSS wstrzykiwany przez nkml_menu_inline_css() — */
.nkml-nav li.menu-item-has-children{position:relative}
/* Strzałka: dotąd nic nie sygnalizowało, że pozycja ma listę rozwijaną. */
.nkml-nav > ul > li.menu-item-has-children > a::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.55;transition:transform .2s ease}
.nkml-nav > ul > li.menu-item-has-children:hover > a::after,.nkml-nav > ul > li.menu-item-has-children:focus-within > a::after{transform:rotate(180deg);opacity:.9}
.nkml-nav .sub-menu{display:block;position:absolute;top:100%;left:0;min-width:240px;margin:0;padding:8px;list-style:none;background:#fff;border:1px solid #EADFCB;border-radius:14px;box-shadow:0 14px 34px rgba(26,58,92,.15);opacity:0;visibility:hidden;transform:translateY(6px);transition:opacity .15s,transform .15s,visibility .15s;z-index:60}
.nkml-nav .menu-item-has-children:hover > .sub-menu,.nkml-nav .menu-item-has-children:focus-within > .sub-menu{opacity:1;visibility:visible;transform:translateY(0)}
.nkml-nav .sub-menu li{display:block;width:100%;margin:0}
.nkml-nav .sub-menu a{display:block;width:100%;padding:9px 12px;border-radius:9px;font-size:14px;font-weight:600;white-space:nowrap}
.nkml-nav .sub-menu a:hover{background:#FBF7F1;color:#E0901A}
/* Próg zrównany z progiem hamburgera (1100 px) — musi być ten sam, inaczej
   w przedziale między progami panel zawiera listy pozycjonowane absolutnie
   i pozycje podrzędne są niedostępne. */
@media(max-width:1100px){
  .nkml-nav .nkml-sub-toggle{display:grid}
  .nkml-nav > ul > li.menu-item-has-children > a::after{display:none}
  .nkml-nav li.menu-item-has-children{display:grid;grid-template-columns:1fr auto;align-items:center}
  .nkml-nav li.menu-item-has-children > a{justify-content:flex-start}
  .nkml-nav .nkml-sub-toggle{grid-column:2;width:40px;height:40px;place-items:center;border:0;border-radius:10px;background:#F4EEE3;color:#1A3A5C;font:inherit;cursor:pointer}
  .nkml-nav .nkml-sub-toggle::before{content:"";width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor;transition:transform .2s ease}
  .nkml-nav .nkml-sub-toggle[aria-expanded="true"]::before{transform:rotate(180deg)}
  .nkml-nav .sub-menu{grid-column:1 / -1;position:static;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-left:2px solid #EADFCB;border-radius:0;padding:0 0 0 12px;margin:2px 0 6px 12px;min-width:0;max-height:0;overflow:hidden;transition:max-height .26s ease}
  .nkml-nav li.is-expanded > .sub-menu{max-height:640px}
  .nkml-nav .sub-menu a{white-space:normal}
}

/* — tylko strona samodzielna — */
body{margin:0;background:var(--nkml-cream);color:var(--nkml-text);font-family:var(--nkml-body)}
.nkml-main{display:block}
.paw{max-width:900px;margin:0 auto;padding:26px 22px 70px}
.nkml-site-footer .nkml-wrap a{text-decoration:none}

/* — klasy edytora blokowego WordPressa —
   Treści przygotowane pierwotnie do wklejenia w WordPressa niosą klasy wp-block-*.
   Na WordPressie stylizuje je sam edytor; na stronie serwowanej jako plik nie ma ich
   skąd wziąć i grupa renderuje się jako goły akapit, a przycisk jako podkreślony
   odnośnik. Te reguły odtwarzają wygląd zgodny z resztą serwisu — bez nich strony
   krzyżówek wyglądały jak surowy tekst. */
.wp-block-group{margin:22px 0;border:1px solid var(--nkml-line,#EADFCB);border-radius:16px;padding:18px 22px}
.wp-block-group>*:first-child{margin-top:0}
.wp-block-group>*:last-child{margin-bottom:0}
.wp-block-buttons{display:flex;flex-wrap:wrap;gap:10px;margin:14px 0 0}
.wp-block-button__link,.wp-element-button{display:inline-block;background:var(--nkml-orange,#F4A228);
  color:#26384A;font-weight:800;text-decoration:none;border-radius:12px;padding:12px 22px;line-height:1.2}
.wp-block-button__link:hover,.wp-element-button:hover{background:#E0901A;color:#26384A;text-decoration:none}
.wp-block-button__link:focus-visible,.wp-element-button:focus-visible{outline:3px solid #2C7FA0;outline-offset:2px}

/* — wydruk —
   Szkielet znika Z UKŁADU, a nie tylko z widoku. To rozróżnienie jest tu całą różnicą:
   strony z generatorami chowają swoje elementy przez visibility:hidden, co zostawia
   po nich puste miejsce. Dopóki treść była fragmentem w WordPressie, nad nią prawie nic
   nie stało. Po dołożeniu naszego nagłówka, stopki i reklamy drukowały się najpierw
   dwie–trzy puste kartki, a dopiero potem właściwa plansza.
   Dlatego display:none — element przestaje zajmować miejsce i wydruk zaczyna się
   od treści. */
@media print{
  .nkml-site-header,.nkml-site-footer,.skip-link,.nkc,.nkc-ov,
  .adsbygoogle,ins.adsbygoogle,.nkml-nav,.nkml-burger{display:none!important}
  body{background:#fff}
  .nkml-wrap,.paw{max-width:none;margin:0;padding:0}
  a[href^="http"]::after{content:""}          /* bez doklejania adresów do odnośników */
}
