:root{
  --max:1200px; --gap:16px; --bg:#ffffff; --ink:#0a0a0a; --muted:#6b7280;
  --brand:#1d4ed8; --brand-ink:#ffffff; --line:#e5e7eb; --radius:6px;
  --hdr-h:84px;
  --fg: var(--ink);
}

/* ========== BASE ========== */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  font:400 16px/1.5 "InterVariable", system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, "Helvetica Neue", Arial, "Noto Sans";
  color:var(--fg);
  background:#fff;
  -webkit-font-smoothing:antialiased;
  font-kerning:normal;
  font-optical-sizing:auto;
  font-variant-numeric:tabular-nums;
  text-rendering:optimizeLegibility;
  letter-spacing:.005em;
}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max);width:100%;margin:auto;padding:0 var(--gap)}
.skip-link{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip-link:focus{left:var(--gap);top:var(--gap);width:auto;height:auto;background:#000;color:#fff;padding:8px 12px;z-index:1000}

/* ========== HEADER ========== */
.site-header{
  position:sticky; top:0; background:#fff; border-bottom:1px solid var(--line); z-index:1000;
  height:var(--hdr-h);
}
.header__inner{
  display:flex; align-items:center; gap:var(--gap); min-height:var(--hdr-h);
}

/* Brand (logo + tytuł + opis) — SCALONE, BEZ DUPLIKATÓW */
.brand-wrap{display:flex;align-items:center;gap:16px;min-width:0}
.brand-text{display:flex;flex-direction:column;line-height:1.2;min-width:0}

/* Ujednolicony rozmiar logotypu – wspiera zarówno .custom-logo jak i <img> w .brand-logo */
.custom-logo,
.brand-logo img{
  display:block;
  height:auto;
  width:auto;
  max-height:44px;     /* desktop */
  max-width:120px;
}

/* Tytuł nad opisem + ładny link */
.site-title{
  margin:0;
  font-weight:800;
  letter-spacing:-0.01em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:clamp(0.95rem, 2vw, 1.25rem);
}
.site-title__link{
  text-decoration:none;
  color:inherit;
}
.site-title__link:hover,
.site-title__link:focus{
  text-decoration:underline;
}
.site-desc{
  margin:2px 0 0;
  color:var(--muted);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-size:clamp(0.75rem, 1.5vw, 0.92rem);
}

/* ========== HERO ========== */
.hero{
  position:relative;
  min-height:calc(var(--hero-h, 100svh) - var(--hdr-h));
  background:#0b111b center/cover no-repeat;
  display:grid;align-items:center
}
.hero__overlay{position:absolute;inset:0;background:rgba(0,0,0,var(--hero-overlay,.45))}
.hero__inner{position:relative;color:#fff;padding:84px 0;text-align:center}
.hero__title{font-size:clamp(28px,5vw,45px);margin:0 0 10px;font-weight:800;letter-spacing:-0.01em}
.hero__lead{font-size:clamp(16px,2.2vw,22px);opacity:.95}

/* HERO chips */
.hero__features{
  display:grid;
  grid-template-columns:repeat(2, max-content);
  justify-content:center;
  gap:12px;
  margin:18px 0 26px;
  padding:0;
  list-style:none;
}
.hero__feature{
  width:clamp(260px, 45vw, 390px);
  display:flex; align-items:center; gap:8px;
  padding:10px 12px;
  background:rgba(255,255,255,.12);
  backdrop-filter:saturate(180%) blur(4px);
  border-radius:6px; font-weight:600;
  justify-self:center;
}
.hero__feature:nth-child(odd){ justify-self:end; }
.hero__feature:nth-child(even){ justify-self:start; }
.hero__icon{display:inline-flex;align-items:center;justify-content:center;line-height:0;opacity:.95}

.hero__cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.btn{display:inline-block;padding:12px 18px;border-radius:6px;text-decoration:none;font-weight:700;letter-spacing:.01em}
.btn--primary{background:var(--brand);color:var(--brand-ink)}
.btn--ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.9)}
.btn:active{transform:translateY(1px)}
.btn:focus-visible{outline:3px solid #111;outline-offset:2px}
.hero--btn-light .btn--primary{background:#fff;color:#111}
.hero--btn-light .btn--ghost{border-color:#fff;color:#fff}
.hero--btn-dark .btn--primary{background:var(--brand);color:var(--brand-ink)}
.hero--btn-dark .btn--ghost{border-color:rgba(255,255,255,.9);color:#fff}

/* Subtelna animacja hero */
.hero--animate .anim-item{opacity:0;transform:translateY(10px);animation:heroFade .6s ease forwards}
.hero--animate .hero__title{animation-delay:.05s}
.hero--animate .hero__lead{animation-delay:.15s}
.hero--animate .hero__features{animation-delay:.25s}
.hero--animate .hero__cta{animation-delay:.35s}
@keyframes heroFade{to{opacity:1;transform:none}}

/* ========== CONTENT / ARTICLE LAYOUT ========== */
.content__inner{padding:42px 0}

/* Grid: artykuł + sidebar */
.article-layout{display:grid;grid-template-columns:minmax(0,1fr) 365px;gap:24px}
.article-layout>*{min-width:0}
@media (max-width:980px){.article-layout{grid-template-columns:1fr;margin-top: 60px;}}

.sidebar{position:sticky;top:calc(var(--hdr-h) + 16px);align-self:start}
@media (max-width:980px){.sidebar{position:static;top:auto}}

/* Nagłówek artykułu + responsywne meta */
.article__header{margin-bottom:16px}
.article__title{margin:0 0 6px;font-size:clamp(24px,3vw,34px);line-height:1.2;overflow-wrap:anywhere;word-break:break-word;font-weight:700;letter-spacing:-0.01em}

/* ---------- META (chipsy) ---------- */
.post-meta{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:.4rem .8rem;
  margin:.25rem 0 1rem;
  padding:0;
  list-style:none;
  font-size:clamp(13px, 2.5vw, 13px);
  line-height:1.4;
  color:var(--muted);
}

/* Ujednolicone linki w kilku sekcjach */
:where(.post-card__title a, .related a, .post-nav a, .widget a){
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}

.post-meta a{ text-decoration:none; color:inherit; }
.post-meta__cats a,
.post-meta__tags a{
  display:inline-block;
  max-width:60vw;
  overflow:hidden;
  text-overflow:ellipsis;
  vertical-align:bottom;
}
@media (min-width: 993px){
  .post-meta .meta__item + .meta__item{ position:relative; }
  .post-meta .meta__item + .meta__item::before{
    content:"·";
    margin:0 .35rem 0 .1rem;
  }
}
@media (max-width: 992px){
  .post-meta{ gap:.35rem .6rem; }
  .post-meta__readtime,
  .post-meta__date{ white-space:nowrap; }
}

/* SINGLE: karta z obramowaniem */
.article{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:clamp(16px,2.2vw,28px);
  box-shadow:0 2px 16px rgba(0,0,0,.03);
}
.article__content > *:first-child{margin-top:0}
.article__content > *:last-child{margin-bottom:0}
.article__content{line-height:1.75;overflow-wrap:anywhere;word-break:break-word;font-size:14px;}
.article__content figure,
.article__content .wp-caption{border-radius:6px;overflow:hidden}
.article__content img,
.article__content figure img,
.article__content .wp-caption img{width:100% !important;max-width:100% !important;height:auto !important}
.article__content figure,.article__content .wp-caption{max-width:100%;margin:0 0 1em}
.article__content iframe,.article__content embed,.article__content video{max-width:100%;width:100%;height:auto;display:block}
.article__content table{width:100%;border-collapse:collapse;display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
.article__content pre{max-width:100%;overflow:auto}

/* Nawigacja i powiązane */
.article__footer{margin-top:22px;color:var(--muted);display:flex;gap:12px;flex-direction:column}
.post-nav{display:flex;justify-content:space-between;align-items:center;margin-top:26px;padding-top:16px;border-top:1px solid var(--line);gap:10px}

.related{margin-top:28px}
.related__title{margin:0 0 12px;font-size:1.2rem}
.related__grid{display:grid;gap:14px;grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.related__grid{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.related__grid{grid-template-columns:1fr}}
.related__item{border:1px solid var(--line);border-radius:6px;padding:12px;background:#fff}
.related__item-title{margin:0 0 6px;font-size:1rem;line-height:1.35}
.related__date{color:var(--muted);font-size:.7rem}

/* ========== WIDGETS ========== */
.widget{display:flex;flex-direction:column;gap:10px}
.widget__title,.widget h3,.widget h2,.widget-title{
  margin:0 0 8px;font-size:1.05rem;font-weight:700;line-height:1.2;position:relative;padding-bottom:8px
}
.widget__title::after,.widget h3::after,.widget h2::after,.widget-title::after{
  content:"";display:block;height:2px;width:52px;background:var(--line);border-radius:6px;margin-top:8px
}
.widget ul{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.widget ul li{display:flex;align-items:flex-start;gap:10px}
.widget ul li::before{content:"";flex:0 0 6px;height:6px;margin-top:.55em;border-radius:50%;background:var(--muted);opacity:.6}
.widget li ul{margin-top:6px;padding-left:14px;border-left:1px solid var(--line)}

/* Wyszukiwarka */
.widget_search form{display:flex;gap:8px;align-items:stretch}
.widget_search input[type="search"]{
  flex:1;border:1px solid var(--line);border-radius:6px;
  padding:10px 12px;font:inherit;background:#fff;
  transition:border-color .2s ease, box-shadow .2s ease;
}
.widget_search input[type="search"]:focus{
  outline:none;border-color:var(--brand);
  box-shadow:0 0 0 3px rgba(29,78,216,.1);
}
.widget_search input[type="submit"]{
  border:0;background:var(--brand);color:var(--brand-ink);
  padding:10px 24px;border-radius:6px;font-weight:700;
  cursor:pointer;
  white-space:nowrap;min-width:90px;
}
.widget_search input[type="submit"]:hover{ background:#1e40af; }
.widget_search input[type="submit"]:active{ transform:translateY(1px); }

.widget_tag_cloud .tagcloud{display:flex;flex-wrap:wrap;gap:8px}

/* Odstępy między widgetami w sidebar i footer */
.sidebar .widget{
  padding:16px;border:1px solid var(--line);
  border-radius:6px;background:#fff;
  margin-bottom:18px;
}
.sidebar .widget:last-child{margin-bottom:0}

.footer__widgets .widget{
  padding:16px;border:1px solid var(--line);
  border-radius:6px;background:#fff;
}

/* ========== FOOTER ========== */
.site-footer{border-top:1px solid var(--line);margin-top:40px}
.footer__widgets{display:grid;gap:18px;grid-template-columns:repeat(3,1fr);padding:28px 0}
.footer__bottom{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:12px 0;color:var(--muted)}
.footer-menu{display:flex;gap:12px;list-style:none;margin:0;padding:0}
@media (max-width:900px){.footer__widgets{grid-template-columns:1fr;row-gap:22px}}

/* ========== MOBILE PADDINGS ========== */
@media (max-width:900px){
  .container{padding-left:calc(var(--gap) + 10px);padding-right:calc(var(--gap) + 10px)}
  .hero .container{padding-left:var(--gap);padding-right:var(--gap)}
}
@supports(padding:max(0px)){
  @media (max-width:900px){
    .container{
      padding-left:max(calc(var(--gap) + 1px), env(safe-area-inset-left));
      padding-right:max(calc(var(--gap) + 1px), env(safe-area-inset-right))
    }
    .hero .container{padding-left:var(--gap);padding-right:var(--gap)}
  }
}

/* Mobile: jedna kolumna, pełna szerokość */
@media (max-width:720px){
  .hero__features{ grid-template-columns:1fr; }
  .hero__feature{ width:100%; justify-self:stretch; }
}

/* ===== Modern headings & links ===== */
h1,h2,h3,h4,h5,h6{line-height:1.15;letter-spacing:-0.01em;font-weight:600;margin:0 0 .55em}
h1{font-size:clamp(2rem, 1.6rem + 2.5vw, 2.75rem)}
h2{font-size:clamp(1.5rem, 1.2rem + 1.6vw, 2rem)}
h3{font-size:clamp(1.25rem, 1.05rem + 1vw, 1.5rem)}
h4{font-size:clamp(1.125rem, 1.05rem + .6vw, 1.25rem)}
a:hover{ text-decoration-thickness:2px; }

/* ========== FAQ (sekcja per strona) ========== */
.faq{margin:40px 0}
.faq__title{margin:0 0 10px;font-weight:700}
.faq__desc{margin:0 0 16px;color:var(--muted)}
.faq__list{list-style:none;margin:0;padding:0;display:grid;gap:12px;align-items:start}
.faq__list > .faq-item{align-self:start}
@media (min-width:900px){ .faq__list{grid-template-columns:1fr 1fr;gap:14px} }
.faq-item > details{
  border:1px solid var(--line);border-radius:var(--radius);background:#fff;overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease;
}
.faq-item > details[open]{border-color:#d4d7df;box-shadow:0 4px 16px rgba(0,0,0,.04)}
.faq-item__q{
  display:flex;align-items:center;gap:10px;cursor:pointer;padding:14px 16px;font-weight:700;list-style:none;position:relative;
}
.faq-item__q::-webkit-details-marker{display:none}
.faq-item__q:after{
  content:"";width:10px;height:10px;margin-left:auto;border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(-45deg);opacity:.7;transition:transform .2s ease;
}
.faq-item > details[open] .faq-item__q{border-bottom:1px solid var(--line)}
.faq-item > details[open] .faq-item__q:after{transform:rotate(45deg)}
.faq-item__q:focus-visible{outline:3px solid #111;outline-offset:2px;border-radius:4px}
.faq-item__a{padding:14px 16px;color:var(--fg);line-height:1.7}
.faq-item__a > *:first-child{margin-top:0}
.faq-item__a > *:last-child{margin-bottom:0}

/* ========== COMMENTS ========== */
.comments{ margin-top:28px }
.comments__title{ margin:0 0 12px; font-size:1.25rem; font-weight:700 }
.comments__form-title{ margin:22px 0 10px; font-size:1.1rem; font-weight:700 }
.comments__closed{ color:var(--muted) }

.comment-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px }
.comment-list .children{ list-style:none; margin:12px 0 0 24px; padding:0; display:flex; flex-direction:column; gap:12px }

.comment-body{ border:1px solid var(--line); border-radius:var(--radius); background:#fff; padding:12px 14px; }
.comment-author{ display:flex; align-items:center; gap:8px; font-weight:700 }
.comment-author .avatar{ border-radius:50% }
.comment-metadata{ font-size:.85rem; color:var(--muted) }
.comment-content{ margin-top:8px; line-height:1.7 }
.comment-content > *:first-child{ margin-top:0 }
.comment-content > *:last-child{ margin-bottom:0 }
.reply{ margin-top:8px }

.comment-form{ display:grid; gap:10px; max-width:680px }
.comment-form p{ margin:0 }
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form input[type="url"],
.comment-form textarea{
  width:100%; border:1px solid var(--line); border-radius:var(--radius);
  padding:10px 12px; font:inherit; background:#fff;
}
.comment-form textarea{ resize:vertical }
.comment-form .form-submit{ margin-top:6px }
.comment-form input[type="submit"]{
  border:0; background:var(--brand); color:var(--brand-ink);
  padding:10px 14px; border-radius:var(--radius); font-weight:700; cursor:pointer;
}

/* ========== ARCHIVE LOOP / CARDS ========== */
.archive-header{ margin-bottom:16px }
.archive-title{ margin:0 0 6px; font-size:clamp(22px,2.6vw,28px); font-weight:800; letter-spacing:-.01em }
.archive-desc{ color:var(--muted) }

/* Domyślny grid (np. na stronach listujących), 3 kolumny */
.loop{ display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px }
@media (max-width:900px){ .loop{ grid-template-columns:1fr 1fr } }
@media (max-width:560px){ .loop{ grid-template-columns:1fr } }

/* W archiwach używamy: class="loop loop--grid" -> 4 kolumny */
.loop.loop--grid{ grid-template-columns:repeat(4, minmax(0,1fr)); }
@media (max-width:1200px){ .loop.loop--grid{ grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width:900px){  .loop.loop--grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:560px){  .loop.loop--grid{ grid-template-columns:1fr; } }

.post-card{
  border:1px solid var(--line);
  border-radius:var(--radius);
  background:#fff;
  padding:14px;
  display:flex; flex-direction:column; gap:8px;
}

.post-card__title{ margin:0; font-size:1.1rem; line-height:1.3;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

.post-card__date{ color:var(--muted); font-size:.9rem }

.post-card__excerpt{
  color:var(--fg);
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  font-size:12px;
}

.post-card__more{ margin-top:auto }

/* Pagination */
.posts-pagination{ margin-top:18px; }
.posts-pagination .page-numbers{ padding:8px 12px; border:1px solid var(--line); border-radius:var(--radius); margin-right:6px; text-decoration:none; color:inherit }
.posts-pagination .page-numbers.current{ background:#f6f7f9; font-weight:700 }

/* POCZĄTEK TABELEK SKĄPCA */
.tabela {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  margin-bottom: 12px;
  transition: box-shadow .2s ease;
}
.tabela:hover {
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
}

.pozycja {
  min-width: 32px;
  font-weight: 700;
  color: var(--muted);
  font-size: 0.95rem;
}

.zdjecie {
  flex-shrink: 0;
  width: 70px;
}

.imgskapiec {
  max-height: 60px;
  width: 100%;
  height: auto;
  object-fit: contain;
  border-radius: 4px;
}

.nazwa {
  flex: 1;
  min-width: 200px;
  font-size: 0.95rem;
  line-height: 1.4;
}

.link {
  flex-shrink: 0;
}

.linek {
  display: inline-block;
  width: 100%;
  padding: 10px 16px;
  background: var(--brand);
  color: var(--brand-ink);
  border: 0;
  border-radius: var(--radius);
  font-size: 0.9rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.linek:hover { background: #1e40af; }
.linek:active { transform: translateY(1px); }

/* Responsywność mobile */
@media (max-width: 720px) {
  .tabela { flex-direction: column; align-items: flex-start; gap: 10px; position: relative; padding-top: 16px; }
  .pozycja { top: 16px; right: 16px; font-size: 1.1rem; }
  .zdjecie { width: 100%; text-align: center; }
  .imgskapiec { max-width: 120px; margin: 0 auto; }
  .nazwa { width: 100%; text-align: center; }
  .link { width: 100%; }
}
/* KONIEC TABELEK SKĄPCA */

/* POCZĄTEK OPISU KATEGORII */
.uno {
  margin-bottom: 20px;
  box-shadow: 0px 0px 4px 1px rgba(242,242,242,1);
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.tabelaa { width: 85%; padding: 10px; }
.tabelac { width: 15%; padding: 10px; }
/* KONIEC OPISU KATEGORII */

/* POCZĄTEK DWUPAKU CENEO SKAPIEC */
.jedynka {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  padding: 20px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: #fff;
  margin-bottom: 20px;
  box-shadow: 0 2px 12px rgba(0,0,0,.06);
  text-align: center;
  transition: box-shadow .2s ease;
}
.jedynka:hover { box-shadow: 0 4px 20px rgba(0,0,0,.1); }

.tabsa { width: 100%; max-width: 120px; }
.tabsa img { width: 100%; height: auto; display: block; }
.tabsb { width: 100%; font-size: 1.1rem; line-height: 1.4; font-weight: 600; }
.tabsc { width: 100%; }
.tabsd, .tabse, .tabsf { width: 100%; padding: 8px 0; }
.tabse { font-weight: 700; font-size: 1rem; }

.120hz {
  display: inline-block;
  width: 100%;
  max-width: 280px;
  padding: 12px 24px;
  background: var(--brand);
  color: var(--brand-ink);
  border: 0;
  border-radius: var(--radius);
  font-size: 0.95rem;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
}
.120hz:hover { background: #1e40af; }
.120hz:active { transform: translateY(1px); }

/* Desktop - układ poziomy */
@media (min-width: 768px) {
  .jedynka { flex-direction: row; text-align: left; justify-content: space-between; }
  .tabsa { flex-shrink: 0; width: 100px; }
  .tabsb { flex: 1; padding: 0 20px; text-align: left; }
  .tabsc { flex-shrink: 0; width: auto; }
  .120hz { max-width: 200px; }
}
/* KONIEC DWUPAKU CENEO SKAPIEC */

/* ========== MENU (DESKTOP) ========== */
.site-nav{margin-left:auto}
.menu{
  margin:0;padding:0;list-style:none;
  display:flex;align-items:center;gap:10px;
  white-space:nowrap;
}
.menu > li{position:relative}
.menu > li > a{
  display:flex;align-items:center;gap:8px;
  border-radius:8px;text-decoration:none;
  color:var(--ink);font-weight:600;
}
.menu > li > a:hover{background:#f6f7f9}

/* Dropdowny: poziom 2 i 3 (pozycjonowanie + wygląd) */
.menu .sub-menu{
  position:absolute;left:0;top:calc(100% + 8px);
  min-width:220px;background:#fff;border:1px solid var(--line);border-radius:10px;
  padding:6px;margin:0;list-style:none;display:none;
  box-shadow:0 10px 30px rgba(0,0,0,.06);z-index:1000;
  white-space:normal;
}
.menu .sub-menu li{position:relative}
.menu .sub-menu a{
  display:flex;align-items:center;gap:8px;
  padding:9px 10px;border-radius:8px;text-decoration:none;color:inherit
}
.menu .sub-menu a:hover{background:#f6f7f9}

/* Poziom 3: w bok od poziomu 2 */
.menu .sub-menu .sub-menu{
  top:0; left:100%; margin-left:8px;
  z-index:1001; min-width:220px; display:none;
}

/* POKAZYWANIE WSZYSTKICH POZIOMÓW NA DESKTOPIE */
@media (hover:hover){
  .menu li:hover > .sub-menu,
  .menu li:focus-within > .sub-menu{ display:block; }
  .menu .sub-menu li:hover > .sub-menu,
  .menu .sub-menu li:focus-within > .sub-menu{ display:block; }
}

/* Strzałki przy elementach z dziećmi – poziom 1, 2 i 3 */
.menu > li.menu-item-has-children > a::after,
.menu .sub-menu li.menu-item-has-children > a::after{
  content:"";width:8px;height:8px;margin-left:6px;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;
  transform:rotate(45deg);opacity:.6
}

/* Stabilizatory hover (bez „dziury") */
@media (min-width:993px){
  .menu > li.menu-item-has-children::after{
    content:"";position:absolute;left:0;right:0;top:100%;height:10px
  }
  .menu .sub-menu li.menu-item-has-children::after{
    content:"";position:absolute;top:0;bottom:0;right:-8px;width:8px
  }
}

/* ========== HAMBURGER/MOBILE ========== */
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--line);
  border-radius:8px;padding:8px 10px;cursor:pointer;margin-left:8px;
}
.nav-toggle__bar{display:block;width:26px;height:2px;background:var(--ink);
  margin:6px 0;border-radius:6px;transition:transform .2s,opacity .2s}
.nav-toggle.is-open .nav-toggle__bar:nth-child(1){transform:translateY(8px) rotate(45deg)}
.nav-toggle.is-open .nav-toggle__bar:nth-child(2){opacity:0}
.nav-toggle.is-open .nav-toggle__bar:nth-child(3){transform:translateY(-8px) rotate(-45deg)}

@media (max-width:992px){
  .site-header{position:fixed;top:0;left:0;right:0;z-index:9999;background:#fff}
  .nav-toggle{display:inline-flex;z-index:10002}

  /* Panel rozsuwa się POD headerem */
  .site-nav{
    position:fixed;
    top:var(--hdr-h);
    left:0; right:0; bottom:0;
    background:#fff;
    border-top:1px solid var(--line);
    overflow:auto;
    padding:12px;
    max-height:0;
    opacity:0;
    visibility:hidden;
    transition:max-height .28s ease, opacity .28s ease, visibility .28s;
    z-index:10000;
  }
  .site-nav.is-open{
    max-height:calc(100vh - var(--hdr-h));
    opacity:1;
    visibility:visible;
  }

  .menu{flex-direction:column;gap:0;align-items:stretch}
  .menu > li{border-bottom:1px solid var(--line)}
  .menu > li:last-child{border-bottom:0}
  .menu > li > a{padding:14px 10px;border-radius:8px}
  .menu .sub-menu{
    position:static;display:none;border:0;border-left:2px solid var(--line);
    border-radius:0;box-shadow:none;padding:0 0 0 12px;margin:6px 0
  }
  .menu li.submenu-open > .sub-menu{display:block}
  .menu .menu-item-has-children > a{position:relative;padding-right:30px}
  .menu .menu-item-has-children > a::after{
    content:"";position:absolute;right:10px;top:50%;width:8px;height:8px;
    border-right:2px solid currentColor;border-bottom:2px solid currentColor;
    transform:translateY(-50%) rotate(-45deg);opacity:.6;transition:transform .2s
  }
  .menu li.submenu-open > a::after{transform:translateY(-50%) rotate(45deg)}
  .no-scroll{overflow:hidden}

  /* Header mobile - logo/tytuł po lewej, hamburger po prawej */
  .header__inner{ 
    justify-content: space-between;
  }
  .brand-wrap{ 
    min-width: 0;
    position: absolute;
    left: var(--gap);
    top: 50%;
    transform: translateY(-50%);
    max-width: calc(100% - 80px);
  }
  .nav-toggle{ margin-left: auto; }
  /* Usunięto duplikat: .custom-logo{max-height:36px} — pokrywa już media 640px */
}

/* Napraw skalowanie małych obrazów */
img[width="65"][height="65"] {
  image-rendering: -webkit-optimize-contrast;
  image-rendering: crisp-edges;
}

/* Zunifikowane style dla wszystkich info-boxów */
.page-pricing,
.contact-info,
.location-card,
.page-address {
  background: #f0f9ff;
  border-left: 4px solid #3b82f6;
  padding: 1.5rem;
  margin: 1.5rem 0;
  border-radius: 4px;
}

/* Tytuły sekcji */
.page-pricing__label,
.contact-info__label,
.location-card__title {
  color: #1e40af;
  font-weight: 600;
}

.location-card__title {
  font-size: 1.25rem;
  margin: 0 0 1rem;
}

/* Wartości/treść */
.page-pricing__value,
.contact-info__value,
.location-card__list,
.page-address {
  color: #1e3a8a;
}

.page-pricing__value {
  font-size: 1.125rem;
  font-weight: 600;
}

/* Contact info items */
.contact-info__item {
  margin: 0.75rem 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  align-items: baseline;
}
.contact-info__label { margin-right: 0.5rem; }
.contact-info__value a {
  color: #2563eb;
  text-decoration: none;
  font-weight: 500;
}
.contact-info__value a:hover { text-decoration: underline; }

/* Location card list */
.location-card__list { list-style: none; padding: 0; margin: 0; }
.location-card__list li { padding: 0.75rem 0; border-bottom: 1px solid #bfdbfe; }
.location-card__list li:last-child { border-bottom: none; }
.location-card__list strong { color: #1e40af; margin-right: 0.5rem; font-weight: 600; }

/* Page address (jednolinijkowy) */
.page-address { font-style: normal; line-height: 1.6; }

/* Pełna szerokość gdy sidebar jest ukryty */
.article-layout--full .faq { max-width: 100%; width: 100%; }
.article-layout--full .faq .container { max-width: 1200px; width: 100%; margin: 0 auto; }
.article-layout--full .faq__list { max-width: 100%; }
.article-layout--full { display: block; width: 100%; max-width: 100%; grid-template-columns: 1fr; }
.article-layout--full .article { max-width: 100%; width: 100%; }
.article-layout--full .article__content { max-width: 1200px; margin: 0 auto; }

/* WIDGET: Menu nawigacji – wyrównanie do lewej + 100% szerokości */
.widget_nav_menu,
.widget_nav_menu .menu,
.widget_nav_menu .menu > li,
.widget_nav_menu .menu > li > a {
  text-align: left;
  width: 100%;
  font-size:12px;
}
.widget_nav_menu .menu { align-items: stretch; }
.widget_nav_menu .menu > li { justify-content: flex-start; }
.widget_nav_menu .menu > li > a { display: block; }
.widget_nav_menu .sub-menu {
  width: 100%;
  margin-top: 6px;
  padding-left: 14px;
  border-left: 1px solid var(--line);
}
.widget_nav_menu .menu > li::before {
  content: "";
  flex: 0 0 6px;
  height: 6px;
  margin-top: .55em;
  border-radius: 50%;
  background: var(--muted);
  opacity: .6;
}

/* Adres w hero ma wyglądać jak lead */
.hero .hero__lead--address{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  margin-top:.35rem;
}
/* Ikonka – dziedziczy kolor tekstu */
.hero .hero__addr-ico svg{ display:block; fill:currentColor; }
/* Zresetuj <address> w hero */
.hero .page-address{
  display:inline;
  font-style:normal;
  margin:0; padding:0; background:none; border:0; box-shadow:none;
  color:inherit;
  font-size: 14px;
}
.hero .hero__lead--company{ margin-top:.25rem; font-weight:600; }

/* Mobile brand tweaks (jeden blok — żadnych duplikatów) */
@media (max-width:640px){
  .brand-wrap{gap:12px}
  .custom-logo, .brand-logo img{max-height:36px}
  .site-title{font-size:1rem}
  .site-desc{font-size:.85rem}
}

/* ====== Preferencje ograniczania animacji ====== */
@media (prefers-reduced-motion: reduce){
  *{
    animation-duration:0.001ms !important;
    animation-iteration-count:1 !important;
    transition-duration:0.001ms !important;
  }
}

/* ===== Nav button (CTA) ===== */
.menu .menu-item-cta > a,
.menu .menu-item-cta--ghost > a{
  padding:10px 14px;
  border-radius:9999px;           /* pigułka */
  font-weight:700;
  letter-spacing:.01em;
  text-decoration:none;
  line-height:1;
  border:1px solid transparent;
  box-shadow:0 1px 0 rgba(0,0,0,.04);
  transition:background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .02s ease;
}

/* Wypełniony (primary) */
.menu .menu-item-cta > a{
  background:var(--brand);
  color:var(--brand-ink);
}
.menu .menu-item-cta > a:hover{ background:#1e40af; }
.menu .menu-item-cta > a:active{ transform:translateY(1px); }
.menu .menu-item-cta > a:focus-visible{ outline:3px solid #111; outline-offset:2px; }

/* Obrys (ghost) */
.menu .menu-item-cta--ghost > a{
  background:transparent;
  color:var(--ink);
  border-color:var(--line);
}
.menu .menu-item-cta--ghost > a:hover{
  background:#f9fafb;
  border-color:#d1d5db;
}
.menu .menu-item-cta--ghost > a:active{ transform:translateY(1px); }
.menu .menu-item-cta--ghost > a:focus-visible{ outline:3px solid #111; outline-offset:2px; }

/* Mobile: pełna szerokość i odstęp */
@media (max-width:992px){
  .menu .menu-item-cta > a,
  .menu .menu-item-cta--ghost > a{
    width:100%;
    text-align:center;
    margin:8px 0 0;
  }
}
.menu .menu-item-cta > a svg{ width:16px;height:16px;margin-left:8px;vertical-align:-2px }
