/* --- kroje wlasne (self-hosted, bez CDN Google: RODO + szybkosc) --- */
@font-face{font-family:'Sora';font-style:normal;font-weight:600 800;font-display:swap;src:url('fonts/sora-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Sora';font-style:normal;font-weight:600 800;font-display:swap;src:url('fonts/sora-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url('fonts/inter-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Inter';font-style:normal;font-weight:400 600;font-display:swap;src:url('fonts/inter-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700 800;font-display:swap;src:url('fonts/manrope-var-latin-ext.woff2') format('woff2');unicode-range:U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700 800;font-display:swap;src:url('fonts/manrope-var-latin.woff2') format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;}

/* ===========================================================
   SEOINVEST — system wizualny (Kadence override)
   Paleta: indygo + fiolet (AI) na czystym, nowoczesnym layoucie
   =========================================================== */
:root{
  /* granat + jasny niebieski + cyan „AI" (kierunek premium, jak Vestigio) */
  --si-indigo:#2563eb; --si-indigo-700:#1d4ed8; --si-indigo-900:#0b1437;
  --si-violet:#22d3ee; --si-cyan:#38bdf8; --si-accent:#5eead4;
  --si-ink:#0b1437; --si-ink-2:#16234d;
  --si-text:#3a4663; --si-muted:#5b6786;
  --si-bg:#ffffff; --si-bg-2:#f6f8fd; --si-bg-3:#eef3ff;
  --si-border:#e4e8f3;
  --si-radius:16px; --si-radius-sm:12px;
  --si-shadow:0 22px 48px -22px rgba(11,20,55,.34);
  --si-shadow-sm:0 8px 22px -12px rgba(11,20,55,.22);
}
/* przejęcie palety Kadence (rekolorowanie przycisków/linków/akcentów motywu) */
:root{
  --global-palette1:#2563eb; --global-palette2:#1d4ed8;
  --global-palette3:#0b1437; --global-palette4:#16234d; --global-palette5:#3a4663;
  --global-palette6:#5b6786; --global-palette7:#e4e8f3; --global-palette8:#f6f8fd; --global-palette9:#ffffff;
  --global-palette-highlight:#2563eb;
}
.si-accent{ color:var(--si-accent); }

/* ---------- baza / typografia ---------- */
body{ color:var(--si-text); -webkit-font-smoothing:antialiased; }
.entry-content{ font-size:1.075rem; line-height:1.75; }
.entry-content p{ margin:0 0 1.15em; }
h1,h2,h3,h4,h5{ color:var(--si-ink); letter-spacing:-.018em; }
h1{ font-weight:800; line-height:1.12; }
h2{ font-weight:750; line-height:1.18; }
h3{ font-weight:700; }
.entry-content h2{ font-size:clamp(1.6rem,2.6vw,2.05rem); margin:2.2em 0 .7em; }
.entry-content h3{ font-size:1.22rem; margin:1.6em 0 .5em; }
.entry-content a{ color:var(--si-indigo-700); text-underline-offset:2px; text-decoration-thickness:1px; }
.entry-content a:hover{ color:var(--si-violet); }
strong{ color:var(--si-ink-2); }

/* ---------- nagłówek / nawigacja ---------- */
#masthead.site-header{ box-shadow:0 1px 0 rgba(15,23,42,.06); }
.site-branding a.brand img.custom-logo, .site-branding a.brand img.svg-logo-image{ height:40px !important; width:auto !important; max-width:230px; }
/* nie dubluj marki — logo (obrazek) zostaje, redundantny tekstowy tytuł chowamy */
.site-branding .brand.has-logo-image .site-title-wrap{ display:none !important; }
.header-navigation .menu-container>ul>li>a{ font-weight:600; color:var(--si-ink-2); }
.header-navigation .menu-container>ul>li>a:hover{ color:var(--si-indigo); }
.header-navigation .menu-container>ul>li.current-menu-item>a{ color:var(--si-indigo); }
/* przycisk CTA w nagłówku */
.header-navigation li.si-nav-cta>a{ background:var(--si-indigo); color:#fff !important; border-radius:9px;
  padding:.5em 1.15em !important; margin-left:.5em; box-shadow:0 10px 20px -10px rgba(37,99,235,.75); transition:.16s; }
.header-navigation li.si-nav-cta>a:hover{ background:var(--si-indigo-700); color:#fff !important; transform:translateY(-1px); }
/* układ: menu w jednym wierszu, zwarte, przycisk inline, bliżej logo */
.site-main-header-inner-wrap{ min-height:74px !important; }
.site-main-header-inner-wrap.site-header-row-has-sides{ justify-content:flex-start !important; }
.site-header-main-section-right{ flex:1 1 auto !important; margin-left:40px !important; }  /* menu tuż przy logo, sekcja wypełnia szerokość */
.main-navigation .menu, .header-navigation .menu-container>ul{ flex-wrap:nowrap !important; align-items:center; width:100%; }
.main-navigation .primary-menu-container>ul>li.menu-item>a{ padding-top:.5em !important; padding-bottom:.5em !important; padding-left:.7em !important; padding-right:.7em !important; font-size:15px; white-space:nowrap; }
.header-navigation li.si-nav-cta{ margin-left:auto !important; }   /* przycisk CTA na prawy brzeg */
/* dropdown „Pozycjonowanie" — szlif */
.header-navigation .header-menu-container ul ul.sub-menu{ border-radius:0 0 12px 12px !important; padding:8px 0 !important; box-shadow:0 20px 44px -18px rgba(11,20,55,.55) !important; }
.header-navigation .header-menu-container ul ul li.menu-item>a{ font-size:14px !important; padding-top:.7em !important; padding-bottom:.7em !important; }
.header-navigation .header-menu-container ul ul li.menu-item>a:hover{ background:var(--si-indigo) !important; color:#fff !important; }

/* ---------- przyciski ---------- */
.wp-block-button__link, .seoinvest-form-submit, button.wp-element-button{
  background:var(--si-indigo); color:#fff; border:0; border-radius:11px;
  padding:.86em 1.7em; font-weight:650; letter-spacing:.005em;
  box-shadow:0 12px 24px -12px rgba(79,70,229,.65); transition:transform .16s, box-shadow .16s, background .16s;
}
.wp-block-button__link:hover, .seoinvest-form-submit:hover, button.wp-element-button:hover{
  background:var(--si-indigo-700); transform:translateY(-2px); box-shadow:0 18px 30px -14px rgba(79,70,229,.7); color:#fff;
}
.wp-block-button.is-style-outline .wp-block-button__link{
  background:transparent; color:var(--si-indigo-700); border:2px solid #c7ccf5; box-shadow:none;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover{ border-color:var(--si-indigo); background:var(--si-bg-3); color:var(--si-indigo-700); }

/* ===========================================================
   HERO (strona główna) — pełna szerokość, ciemny gradient
   =========================================================== */
/* na home chowamy domyślne, puste pasmo tytułu Kadence (mamy własne hero) i zerujemy górne odstępy */
body.home .entry-hero, body.page-id-2 .entry-hero{ display:none !important; }
body.home #main, body.home .content-area, body.home .content-container,
body.home .content-wrap, body.home .entry-content-wrap, body.home .entry-content,
body.home article.entry{ padding-top:0 !important; margin-top:0 !important; }
body.home .content-container, body.home .entry-content{ padding-bottom:0 !important; max-width:100% !important; }
body.home .entry-content{ display:flow-root; }
/* sekcje pełnej szerokości — bez marginesów między sobą (odstęp daje padding sekcji) */
.entry-content>.wp-block-group.alignfull{ margin-top:0 !important; margin-bottom:0 !important; }
.si-hero, .si-section, .si-band{ margin-top:0 !important; margin-bottom:0 !important; }  /* tylko pion - poziom nalezy do alignfull */

.si-hero{
  position:relative; overflow:hidden; margin-top:0;
  background:
    radial-gradient(1100px 480px at 88% -20%, rgba(56,189,248,.28), transparent 60%),
    radial-gradient(900px 460px at 0% 115%, rgba(37,99,235,.40), transparent 55%),
    linear-gradient(135deg,#091031 0%, #122158 46%, #1e3a8a 100%);
  color:#fff;
}
.si-hero::before{ content:""; position:absolute; inset:0;
  background-image:radial-gradient(rgba(255,255,255,.07) 1px, transparent 1.4px); background-size:24px 24px; opacity:.55; pointer-events:none; }
.si-hero::after{ content:"SEO·AI"; position:absolute; right:-1%; bottom:-9%; z-index:0;
  font-size:clamp(9rem,22vw,22rem); font-weight:900; letter-spacing:-.05em; line-height:.78;
  color:#fff; opacity:.045; white-space:nowrap; pointer-events:none; }
.si-hero .si-hero-inner{ position:relative; z-index:1; }
.si-inner{ max-width:1180px; margin:0 auto; padding:0 28px; }
.si-hero .si-hero-inner{ max-width:1180px; margin:0 auto; padding:84px 28px 80px; }
.si-hero .si-eyebrow{ display:inline-block; color:#c7d2fe; font-weight:700; font-size:.8rem;
  letter-spacing:.14em; text-transform:uppercase; margin:0 0 14px;
  padding:6px 14px; border:1px solid rgba(199,210,254,.35); border-radius:999px; background:rgba(255,255,255,.04); }
.si-hero h1{ color:#fff; font-size:clamp(2.15rem,4.7vw,3.5rem); margin:.1em 0 .35em; max-width:16ch; }
.si-hero .si-lead{ color:#dde3f4; font-size:clamp(1.05rem,1.6vw,1.28rem); line-height:1.65; max-width:62ch; margin:0 0 1.7em; }
.si-hero .wp-block-buttons{ gap:14px; }
.si-hero .wp-block-button__link{ background:#fff; color:var(--si-indigo-700); box-shadow:0 16px 30px -14px rgba(0,0,0,.5); }
.si-hero .wp-block-button__link:hover{ background:#eef2ff; color:var(--si-indigo-900); }
.si-hero .wp-block-button.is-style-outline .wp-block-button__link{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.55); }
.si-hero .wp-block-button.is-style-outline .wp-block-button__link:hover{ border-color:#fff; background:rgba(255,255,255,.10); }
.si-hero .si-trust{ display:flex; flex-wrap:wrap; gap:10px 26px; margin-top:30px; color:#b9c2e6; font-size:.95rem; }
.si-hero .si-trust span{ display:inline-flex; align-items:center; gap:8px; }
.si-hero .si-trust svg{ width:18px; height:18px; color:#a5f3d0; }

/* hero: układ 2-kolumnowy (tekst + wizual) */
.si-hero-grid{ display:grid; grid-template-columns:1.04fr .96fr; gap:40px; align-items:center; }
.si-hero-visual{ display:flex; justify-content:center; align-items:center; }
.si-graph{ width:100%; max-width:480px; height:auto; }
.si-graph .si-line{ stroke:#7dd3fc; stroke-opacity:.32; stroke-width:1.4; }
.si-graph .si-dot{ animation:si-pulse 3.2s ease-in-out infinite; transform-box:fill-box; transform-origin:center; }
.si-graph .si-dot:nth-of-type(2n){ animation-delay:.8s; }
.si-graph .si-dot:nth-of-type(3n){ animation-delay:1.5s; }
.si-graph .si-nlabel{ fill:#dbe6ff; font-size:13px; font-weight:600; }
.si-graph .si-core-ring{ animation:si-ring 3.6s ease-out infinite; transform-box:fill-box; transform-origin:center; }
.si-graph .si-core-label{ fill:#fff; font-size:15px; font-weight:800; }
@keyframes si-pulse{ 0%,100%{opacity:.55} 50%{opacity:1} }
@keyframes si-ring{ 0%{opacity:.55; r:50px} 100%{opacity:0; r:84px} }
@media (prefers-reduced-motion:reduce){ .si-graph .si-dot,.si-graph .si-core-ring{ animation:none; } }

/* pasek statystyk pod hero (biała karta nachodząca na hero) */
.si-stats-section{ background:var(--si-bg); }
.si-stats{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px;
  background:#fff; border:1px solid var(--si-border); border-radius:var(--si-radius);
  box-shadow:var(--si-shadow); padding:26px 18px; margin-top:-48px; position:relative; z-index:3; }
.si-stat{ text-align:center; padding:6px 14px; }
.si-stat + .si-stat{ border-left:1px solid var(--si-border); }
.si-stat-num{ display:block; font-size:1.9rem; font-weight:800; color:var(--si-indigo-700); letter-spacing:-.02em; line-height:1.1; }
.si-stat-label{ display:block; margin-top:6px; font-size:.9rem; color:var(--si-muted); line-height:1.35; }

/* belka „Zaufali nam" — logotypy klientów (ujednolicone monochromatycznie) */
.si-logos-section{ background:var(--si-bg); padding:30px 0 10px; }
.si-logos-label{ text-align:center; text-transform:uppercase; letter-spacing:.14em; font-size:.78rem; font-weight:700; color:var(--si-muted); margin:0 0 20px; }
.si-logos{ display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:30px 56px; }
.si-logos img{ height:40px; width:auto; filter:grayscale(1); opacity:.5; transition:opacity .2s, filter .2s; }
.si-logos img:hover{ opacity:.85; }
.si-logos img.si-logo-inv{ filter:invert(1) grayscale(1); opacity:.55; } /* białe logo → ciemnoszare na jasnym tle */
.si-logos img.si-logo-inv:hover{ opacity:.85; }
@media (max-width:600px){ .si-logos{ gap:20px 34px; } .si-logos img{ height:30px; } }

/* ===========================================================
   SEKCJE
   =========================================================== */
.si-section{ padding:74px 0; }
.si-section--alt{ background:var(--si-bg-2); }
.si-section--tint{ background:linear-gradient(180deg,#fff, var(--si-bg-3)); }
.si-head{ text-align:center; max-width:720px; margin:0 auto 46px; }
.si-head .si-eyebrow{ color:var(--si-indigo); font-weight:750; font-size:.82rem; letter-spacing:.12em; text-transform:uppercase; }
.si-head h2{ font-size:clamp(1.8rem,3vw,2.35rem); margin:.25em 0 .35em; }
.si-head p{ color:var(--si-muted); font-size:1.08rem; margin:0; }

/* ---------- karty usług (Co robimy) ---------- */
.si-cards{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.si-card{ background:#fff; border:1px solid var(--si-border); border-radius:var(--si-radius);
  padding:30px 26px; box-shadow:var(--si-shadow-sm); transition:transform .18s, box-shadow .18s, border-color .18s;
  display:flex; flex-direction:column; }
.si-card:hover{ transform:translateY(-5px); box-shadow:var(--si-shadow); border-color:#c7ccf5; }
.si-card .si-ico{ width:54px; height:54px; border-radius:14px; display:grid; place-items:center; margin-bottom:18px;
  background:linear-gradient(135deg,#eff6ff,#dbeafe); color:var(--si-indigo-700); }
.si-card .si-ico svg{ width:28px; height:28px; }
.si-card h3{ margin:0 0 8px; font-size:1.18rem; }
.si-card h3 a{ color:var(--si-ink); text-decoration:none; }
.si-card:hover h3 a{ color:var(--si-indigo-700); }
.si-card p{ color:var(--si-muted); font-size:.985rem; line-height:1.6; margin:0 0 16px; }
.si-card .si-more{ margin-top:auto; color:var(--si-indigo); font-weight:650; font-size:.95rem; text-decoration:none; }
.si-card .si-more:hover{ color:var(--si-violet); }

/* ---------- cechy (Dlaczego my) ---------- */
.si-feats{ display:grid; grid-template-columns:repeat(3,1fr); gap:30px; }
.si-feat{ position:relative; padding:6px 4px 4px 64px; }
.si-feat .si-ico{ position:absolute; left:0; top:2px; width:46px; height:46px; border-radius:12px; display:grid; place-items:center;
  background:linear-gradient(135deg,var(--si-indigo),var(--si-violet)); color:#fff; box-shadow:0 12px 22px -12px rgba(79,70,229,.7); }
.si-feat .si-ico svg{ width:24px; height:24px; }
.si-feat h3{ margin:0 0 8px; font-size:1.16rem; }
.si-feat p{ color:var(--si-muted); margin:0; line-height:1.6; }

/* ---------- kroki (Jak zaczynamy) ---------- */
.si-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:26px; counter-reset:step; }
.si-step{ background:#fff; border:1px solid var(--si-border); border-radius:var(--si-radius); padding:30px 26px; box-shadow:var(--si-shadow-sm); }
.si-step .si-num{ width:42px; height:42px; border-radius:50%; background:var(--si-indigo); color:#fff; font-weight:750; display:grid; place-items:center; margin-bottom:16px; }
.si-step h3{ margin:0 0 6px; font-size:1.12rem; }
.si-step p{ color:var(--si-muted); margin:0; }

/* ---------- pasmo CTA ---------- */
.si-band{ position:relative; overflow:hidden; background:radial-gradient(820px 380px at 92% -30%, rgba(56,189,248,.30), transparent 60%), linear-gradient(135deg,#0b1437,#1e3a8a); color:#fff; }
.si-band::before{ content:""; position:absolute; inset:0; background-image:radial-gradient(rgba(255,255,255,.06) 1px, transparent 1.4px); background-size:24px 24px; opacity:.5; }
.si-band .si-inner{ position:relative; z-index:1; }
.si-band .si-inner{ text-align:center; padding-top:64px; padding-bottom:64px; }
.si-band h2{ color:#fff; font-size:clamp(1.7rem,2.8vw,2.25rem); margin:0 0 .4em; }
.si-band p{ color:#dde3f4; font-size:1.1rem; max-width:60ch; margin:0 auto 1.6em; }
.si-band .wp-block-button__link{ background:#fff; color:var(--si-indigo-700); }
.si-band .wp-block-button__link:hover{ background:#eef2ff; }

/* ===========================================================
   STRONY WEWNĘTRZNE — hero tytułu Kadence
   =========================================================== */
.page-hero-section.entry-hero, .page-hero-section .entry-hero-container-inner{ position:relative; overflow:hidden; border-bottom:0 !important;
  background:radial-gradient(900px 360px at 88% -45%, rgba(56,189,248,.20), transparent 60%), linear-gradient(135deg,#091031 0%,#122158 55%,#1e3a8a 100%) !important; }
.page-hero-section .hero-section-overlay{ background:transparent !important; opacity:1 !important; }
.page-hero-section.entry-hero::before{ content:""; position:absolute; inset:0; z-index:0; background-image:radial-gradient(rgba(255,255,255,.06) 1px,transparent 1.4px); background-size:24px 24px; opacity:.5; }
.page-hero-section .entry-hero-container-inner, .page-hero-section .hero-container{ position:relative; z-index:1; }
.page-hero-section .entry-title{ color:#fff !important; }
.page-hero-section .entry-hero-container-inner{ position:relative; padding-top:60px; padding-bottom:60px; }
.page-hero-section .entry-title{ font-size:clamp(2rem,3.6vw,2.75rem); color:#fff; max-width:26ch; margin-inline:auto; }
.title-align-center .entry-hero-container-inner{ text-align:center; }

/* lead/BLUF — akapit po breadcrumbs, z akcentem */
.entry-content>.seoinvest-breadcrumbs + .wp-block-paragraph{
  font-size:1.2rem; line-height:1.72; color:var(--si-ink-2); font-weight:500;
  border-left:3px solid var(--si-indigo); padding-left:20px; margin:.2em auto 1.7em; }

/* H2 z kolorowym akcentem */
.single-content h2.wp-block-heading::before{ content:""; display:block; width:44px; height:4px; border-radius:2px;
  background:linear-gradient(90deg,var(--si-indigo),var(--si-violet)); margin-bottom:14px; }

/* listy treści z „ptaszkami" */
.single-content ul.wp-block-list{ list-style:none; padding-left:0; }
.single-content ul.wp-block-list li{ position:relative; padding-left:32px; margin:.55em 0; }
.single-content ul.wp-block-list li::before{ content:""; position:absolute; left:0; top:.12em; width:20px; height:20px; border-radius:6px; background:var(--si-bg-3);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232563eb' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E"); background-size:13px; background-position:center; background-repeat:no-repeat; }

/* separator + CTA końcowe w treści */
.single-content .wp-block-separator{ border:0; height:1px; background:var(--si-border); opacity:1; margin:2.6em 0 1.5em; }
.single-content .seoinvest-cta-text{ font-size:1.15rem; color:var(--si-ink); }

/* ===========================================================
   FAQ — pytania jako karty
   =========================================================== */
.entry-content h2 + h3.wp-block-heading{ } /* no-op */
.entry-content h3.wp-block-heading{ }
.single-content h3.wp-block-heading{
  position:relative; margin-top:1.4em; padding:18px 20px 2px 52px;
}
/* znacznik "?" przy pytaniach FAQ: stylizujemy wszystkie h3 w sekcji pytań przez wrapper poniżej */
.si-faq{ margin-top:8px; }
.si-faq .si-qa{ border:1px solid var(--si-border); border-radius:var(--si-radius-sm); padding:20px 22px; margin:0 0 14px; background:#fff; box-shadow:var(--si-shadow-sm); }
.si-faq .si-qa h3{ margin:0 0 .4em; font-size:1.1rem; color:var(--si-ink); padding:0; }
.si-faq .si-qa p{ margin:0; color:var(--si-text); }

/* ---------- author box (Paweł) ---------- */
.si-author{ display:flex; gap:18px; align-items:flex-start; background:var(--si-bg-2); border:1px solid var(--si-border);
  border-radius:var(--si-radius); padding:22px 24px; margin:30px 0; }
.si-author .si-avatar{ width:56px; height:56px; border-radius:50%; background:linear-gradient(135deg,var(--si-indigo),var(--si-violet)); color:#fff; display:grid; place-items:center; font-weight:750; font-size:1.2rem; flex:0 0 auto; }
.si-author b{ color:var(--si-ink); }
.si-author p{ margin:.2em 0 0; color:var(--si-muted); font-size:.97rem; }

/* ---------- breadcrumbs ---------- */
.seoinvest-breadcrumbs{ font-size:.88rem; color:var(--si-muted); margin:0 0 1.4rem; }
.seoinvest-breadcrumbs a{ color:var(--si-muted); text-decoration:none; }
.seoinvest-breadcrumbs a:hover{ color:var(--si-indigo); }
.seoinvest-breadcrumbs .sep{ margin:0 .45em; color:#cbd2e0; }
.seoinvest-updated{ color:var(--si-muted); }

/* ---------- placeholdery [Paweł] ---------- */
mark.todo-pawel{ background:#fff3cd; color:#664d03; padding:.12em .4em; border-radius:4px; border:1px dashed #e0c156; }

/* ---------- formularz ---------- */
.seoinvest-form{ max-width:640px; }
/* pola wezsze niz tor tresci, ale formularz wyrownany do lewej krawedzi naglowkow */
.seoinvest-form input[type=text],.seoinvest-form input[type=email],
.seoinvest-form input[type=tel],.seoinvest-form textarea,
.seoinvest-form .si-consent{ max-width:640px; }
.seoinvest-form p{ margin:0 0 1.1rem; }
.seoinvest-form label{ display:block; font-weight:650; margin-bottom:.35rem; color:var(--si-ink-2); }
.seoinvest-form input[type=text],.seoinvest-form input[type=email],.seoinvest-form input[type=tel],.seoinvest-form textarea{
  width:100%; padding:.78em .9em; border:1px solid #cfd5e4; border-radius:11px; font:inherit; background:#fff; transition:border-color .15s, box-shadow .15s; }
.seoinvest-form input:focus,.seoinvest-form textarea:focus{ outline:0; border-color:var(--si-indigo); box-shadow:0 0 0 4px rgba(79,70,229,.12); }
.seoinvest-form .si-consent{ display:flex; gap:.6rem; align-items:flex-start; }
.seoinvest-form .si-consent input{ margin-top:.35rem; }
.seoinvest-form .si-consent label{ font-weight:400; color:var(--si-text); }
.seoinvest-form .si-req{ color:#dc2626; }
.seoinvest-form .si-opt{ color:var(--si-muted); font-weight:400; }
.seoinvest-form .si-hp{ position:absolute !important; left:-9999px !important; height:1px; overflow:hidden; }
.seoinvest-form-notice{ padding:.95em 1.15em; border-radius:11px; margin-bottom:1.3rem; }
.seoinvest-form-ok{ background:#ecfdf3; border:1px solid #abefc6; color:#067647; }
.seoinvest-form-err{ background:#fef3f2; border:1px solid #fecdca; color:#b42318; }

/* dane kontaktowe na /kontakt/ */
.si-contact-card{ background:var(--si-bg-2); border:1px solid var(--si-border); border-radius:var(--si-radius); padding:24px 26px; }

/* ---------- stopka / NAP ---------- */
.seoinvest-nap{ text-align:center; padding:22px 18px 20px; font-size:.95rem; color:#cbd5e1; background:var(--si-ink); }
.seoinvest-nap strong{ color:#fff; }
.seoinvest-nap a{ color:#c7d2fe; text-decoration:none; }
.seoinvest-nap a:hover{ color:#fff; }
.site-footer .site-footer-wrap{ background:#0b1224; }
/* stopka: pasek copyright tuz pod NAP - kasujemy domyslne odstepy Kadence */
.site-footer .site-bottom-footer-wrap{ padding-top:14px; padding-bottom:14px; }
.site-footer .site-bottom-footer-wrap .site-footer-row-container-inner{ padding-top:0; padding-bottom:0; }
.site-footer .site-bottom-footer-inner-wrap{ padding-top:0; padding-bottom:0; min-height:0; }
.site-footer .site-info,
.site-footer .footer-widget-area-inner{ padding-top:0; padding-bottom:0; }
.site-footer .footer-html{ margin-top:0; margin-bottom:0; }
.site-footer .footer-html-inner p{ margin:0; }
.site-footer, .site-footer a{ color:#94a3b8; }
.site-footer a:hover{ color:#fff; }

/* ---------- listy w treści ---------- */
.entry-content ul.wp-block-list li{ margin:.4em 0; }
.entry-content ul.wp-block-list li::marker{ color:var(--si-indigo); }

/* ===========================================================
   RESPONSYWNOŚĆ
   =========================================================== */
@media (max-width:1024px){
  .si-cards{ grid-template-columns:repeat(2,1fr); }
  .si-feats{ grid-template-columns:1fr; gap:22px; }
  .si-steps{ grid-template-columns:1fr; }
}
@media (max-width:920px){
  .si-hero-grid{ grid-template-columns:1fr; }
  .si-hero-visual{ display:none; }
  .si-stats{ grid-template-columns:repeat(2,1fr); }
  .si-stat:nth-child(3){ border-left:0; }
}
@media (max-width:600px){
  .si-cards{ grid-template-columns:1fr; }
  .si-section{ padding:52px 0; }
  .si-hero .si-hero-inner{ padding:60px 28px 56px; }
  .si-hero h1{ font-size:2rem; }
  .si-stats{ grid-template-columns:1fr; margin-top:-30px; }
  .si-stat + .si-stat{ border-left:0; border-top:1px solid var(--si-border); }
}

/* Tabela danych (np. wycinek raportu widoczności w AI) */
.wp-block-table.seoinvest-table{ margin:1.6rem 0; overflow-x:auto; }
.wp-block-table.seoinvest-table table{
  width:100%; border-collapse:collapse; background:var(--si-bg);
  border:1px solid var(--si-border); border-radius:var(--si-radius-sm); overflow:hidden;
  box-shadow:var(--si-shadow-sm); font-size:.97rem;
}
.wp-block-table.seoinvest-table thead th{
  background:var(--si-ink); color:#fff; text-align:left;
  padding:.75rem .95rem; font-weight:600; letter-spacing:.01em; border:0;
}
.wp-block-table.seoinvest-table tbody td{
  padding:.7rem .95rem; border-top:1px solid var(--si-border); color:var(--si-text);
}
.wp-block-table.seoinvest-table tbody tr:nth-child(even){ background:var(--si-bg-2); }
.wp-block-table.seoinvest-table tbody td:first-child{ color:var(--si-ink); font-weight:600; }
@media (max-width:600px){ .wp-block-table.seoinvest-table table{ font-size:.9rem; } }

/* Czytelnosc podstron: kolumna tekstu ~70 znakow zamiast ~120.
   Zwezamy POSZCZEGOLNE bloki, nie caly kontener - dzieki temu alignfull (pasmo CTA)
   dziala natywnie w Kadence i nie powoduje poziomego przewijania przez 100vw. */
body:not(.home) .entry-content.single-content > p,
body:not(.home) .entry-content.single-content > h2,
body:not(.home) .entry-content.single-content > h3,
body:not(.home) .entry-content.single-content > h4,
body:not(.home) .entry-content.single-content > ul,
body:not(.home) .entry-content.single-content > ol,
body:not(.home) .entry-content.single-content > .wp-block-list,
body:not(.home) .entry-content.single-content > .seoinvest-breadcrumbs,
body:not(.home) .entry-content.single-content > .si-trustbar,
body:not(.home) .entry-content.single-content > .si-cards,
body:not(.home) .entry-content.single-content > .si-steps,
body:not(.home) .entry-content.single-content > .si-faq,
body:not(.home) .entry-content.single-content > .si-author,
body:not(.home) .entry-content.single-content > .wp-block-table,
body:not(.home) .entry-content.single-content > .wp-block-buttons,
body:not(.home) .entry-content.single-content > .wp-block-separator,
body:not(.home) .entry-content.single-content > .seoinvest-form,
body:not(.home) .entry-content.single-content > .seoinvest-form-notice{
  max-width:840px; margin-left:auto; margin-right:auto;
}


/* ---------- Bloki pelnej szerokosci na stronie glownej ----------
   Wczesniejsze podejscie (ujemne marginesy liczone z jednostki vw) zawodzilo
   na iOS Safari, bo vw i clientWidth roznia sie tam przy pasku adresu.
   Zamiast rozciagac bloki POZA rodzica, zdejmujemy wciecia rodzicow - cala
   tresc home to i tak sekcje pelnej szerokosci, ktore wlasne marginesy maja
   w .si-inner. Czysty CSS, bez vw i bez JS, wiec zachowuje sie identycznie
   w kazdej przegladarce. */
body.home .content-container{ padding-left:0 !important; padding-right:0 !important; }
body.home article.entry{ margin-left:0 !important; margin-right:0 !important; }
body.home .entry-content-wrap{ padding-left:0 !important; padding-right:0 !important; }
body.home .entry-content{ max-width:none; }
body.home .entry-content > .alignfull{
  width:auto;
  max-width:none;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Pas bezpieczenstwa: nic nie moze wypchnac dokumentu w poziomie. */
html, body{ overflow-x:hidden; }

/* ---------- komponenty na podstronach ---------- */
/* pasmo CTA w tresci: karta w tej samej kolumnie co tekst (jedna os wyrownania) */
body:not(.home) .entry-content.single-content > .si-band{
  max-width:840px; margin:64px auto 0 !important; border-radius:var(--si-radius); overflow:hidden;
}
body:not(.home) .entry-content.single-content > .si-band .si-inner{ padding:44px 32px; }
body:not(.home) .entry-content.single-content > .si-band h2{ font-size:clamp(1.4rem,2.2vw,1.8rem); }
body:not(.home) .entry-content.single-content > .si-band .si-inner{ max-width:840px; margin:0 auto; padding-left:20px; padding-right:20px; }

/* pasek zaufania pod leadem */
.si-trustbar{ display:flex; flex-wrap:wrap; gap:10px 22px; margin:22px auto 34px;
  padding:16px 20px; background:var(--si-bg-2); border:1px solid var(--si-border); border-radius:var(--si-radius-sm); }
.si-trustbar span{ display:inline-flex; align-items:center; gap:8px; color:var(--si-ink); font-weight:600; font-size:.95rem; }
.si-trustbar svg{ width:17px; height:17px; color:var(--si-indigo); flex:0 0 auto; }

/* karty w kolumnie tekstu: 2 lub 3 w rzedzie zamiast sztywnych 4 */
body:not(.home) .entry-content.single-content > .si-cards{ grid-template-columns:repeat(2,1fr); gap:18px; margin:26px auto 34px; }
body:not(.home) .entry-content.single-content > .si-cards--3{ grid-template-columns:repeat(3,1fr); }
body:not(.home) .entry-content.single-content > .si-cards > .si-card{ padding:24px 22px; }
body:not(.home) .entry-content.single-content > .si-cards > .si-card .si-ico{ width:44px; height:44px; border-radius:12px; margin-bottom:14px; }
body:not(.home) .entry-content.single-content > .si-cards > .si-card .si-ico svg{ width:22px; height:22px; }
body:not(.home) .entry-content.single-content > .si-cards > .si-card h3{ margin:0 0 .45em; font-size:1.06rem; color:var(--si-ink); }
body:not(.home) .entry-content.single-content > .si-cards > .si-card p{ margin:0; color:var(--si-muted); font-size:.97rem; }

/* kroki w kolumnie tekstu */
body:not(.home) .entry-content.single-content > .si-steps{ grid-template-columns:repeat(2,1fr); gap:18px; margin:26px auto 34px; }
body:not(.home) .entry-content.single-content > .si-steps > .si-step{ padding:22px 20px; }
body:not(.home) .entry-content.single-content > .si-steps > .si-step .si-num{ width:34px; height:34px; margin-bottom:12px; font-size:.95rem; }
body:not(.home) .entry-content.single-content > .si-steps > .si-step h3{ font-size:1.02rem; }
body:not(.home) .entry-content.single-content > .si-steps > .si-step p{ font-size:.95rem; }

@media (max-width:780px){
  body:not(.home) .entry-content.single-content > .si-cards,
  body:not(.home) .entry-content.single-content > .si-cards--3,
  body:not(.home) .entry-content.single-content > .si-steps{ grid-template-columns:1fr; }
}

/* ---------- grafika ilustracyjna na podstronach ---------- */
body:not(.home) .entry-content.single-content > .si-visual{
  max-width:840px; margin:8px auto 30px !important; padding:22px 20px;
  background:linear-gradient(180deg,#f8fafe 0%,#eef3ff 100%);
  border:1px solid var(--si-border); border-radius:var(--si-radius);
}
.si-visual .si-vis{ display:block; width:100%; height:auto; max-height:330px; }

/* ---------- pasek wyroznionych liczb ---------- */
body:not(.home) .entry-content.single-content > .si-figures{
  max-width:840px; margin:30px auto 34px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px;
}
.si-figures .si-fig{
  background:#fff; border:1px solid var(--si-border); border-radius:var(--si-radius-sm);
  padding:20px 18px; box-shadow:var(--si-shadow-sm); text-align:center;
}
.si-figures .si-fig-num{
  display:block; font-size:1.6rem; font-weight:750; line-height:1.15; margin-bottom:6px;
  background:linear-gradient(135deg,var(--si-indigo),var(--si-cyan));
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.si-figures .si-fig-label{ display:block; color:var(--si-muted); font-size:.9rem; line-height:1.45; }

@media (max-width:780px){
  body:not(.home) .entry-content.single-content > .si-figures{ grid-template-columns:1fr; }
  body:not(.home) .entry-content.single-content > .si-visual{ padding:14px 12px; }
}

/* linki w tytulach kart - maja wygladac na klikalne */
.si-cards .si-card h3 a{ color:var(--si-indigo-700); text-decoration:none; }
.si-cards .si-card h3 a:hover,
.si-cards .si-card h3 a:focus-visible{ text-decoration:underline; }
.si-cards .si-card:hover h3 a{ color:var(--si-indigo); }


/* ===========================================================
   TYPOGRAFIA MARKI + SZLIF GRAFICZNY (2026-08-19)
   Manrope w nagłówkach (charakter), Inter w treści (czytelność).
   =========================================================== */
:root{
  --si-font-head:'Sora', 'Manrope', -apple-system, "Segoe UI", Roboto, sans-serif;
  --si-font-body:'Inter', -apple-system, "Segoe UI", Roboto, sans-serif;
}
body, .entry-content, .wp-block-paragraph, p, li, td, th, input, textarea, button, .si-lead{
  font-family:var(--si-font-body);
}
h1, h2, h3, h4, .si-hero h1, .si-stat-num, .si-fig-num, .si-card h3, .si-step h3, .si-band h2,
.wp-block-button__link, .si-eyebrow, .site-title, .kadence-menu-container a{
  font-family:var(--si-font-head);
}
body{ font-feature-settings:"kern" 1, "liga" 1; -webkit-font-smoothing:antialiased; }

/* rytm typograficzny: ciasniejsze nagłówki, luźniejszy tekst */
h1, .si-hero h1{ letter-spacing:-.022em; line-height:1.12; font-weight:800; }
h2{ letter-spacing:-.018em; line-height:1.2; font-weight:800; }
h3{ letter-spacing:-.012em; font-weight:700; }
.entry-content p, .entry-content li{ line-height:1.75; }
.si-stat-num, .si-fig-num{ font-variant-numeric:tabular-nums; letter-spacing:-.02em; }

/* --- szlif: głębia i akcenty zamiast płaskich prostokątów --- */
body:not(.home) .entry-content.single-content > .si-cards > .si-card,
body:not(.home) .entry-content.single-content > .si-steps > .si-step{
  border-radius:14px;
  box-shadow:0 1px 2px rgba(11,20,55,.04), 0 12px 28px -20px rgba(11,20,55,.28);
  transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
body:not(.home) .entry-content.single-content > .si-cards > .si-card:hover,
body:not(.home) .entry-content.single-content > .si-steps > .si-step:hover{
  transform:translateY(-3px);
  box-shadow:0 2px 4px rgba(11,20,55,.05), 0 22px 44px -24px rgba(11,20,55,.42);
  border-color:#c7d2fe;
}
/* ikona: kwadrat z gradientem + cienki pierścień */
body:not(.home) .entry-content.single-content > .si-cards > .si-card .si-ico{
  width:46px; height:46px; border-radius:13px; margin-bottom:15px;
  background:linear-gradient(140deg,#eff6ff,#dbeafe);
  box-shadow:inset 0 0 0 1px rgba(37,99,235,.14);
  color:var(--si-indigo-700);
}
/* numer kroku: pełny gradient marki */
body:not(.home) .entry-content.single-content > .si-steps > .si-step .si-num{
  width:36px; height:36px; border-radius:11px; display:grid; place-items:center;
  background:linear-gradient(140deg,var(--si-indigo),var(--si-cyan)); color:#fff;
  font-size:.95rem; font-weight:800; margin-bottom:13px;
  box-shadow:0 6px 14px -8px rgba(37,99,235,.85);
}

/* liczby: karty z akcentem u góry */
body:not(.home) .entry-content.single-content > .si-figures .si-fig{
  position:relative; overflow:hidden; border-radius:14px;
  box-shadow:0 1px 2px rgba(11,20,55,.04), 0 12px 28px -22px rgba(11,20,55,.3);
}
body:not(.home) .entry-content.single-content > .si-figures .si-fig::before{
  content:""; position:absolute; inset:0 0 auto 0; height:3px;
  background:linear-gradient(90deg,var(--si-indigo),var(--si-cyan));
}
.si-figures .si-fig-num{ font-size:1.72rem; font-weight:800; }

/* cytat: karta z akcentem, spójna z resztą (bez szeryfów) */
body:not(.home) .entry-content.single-content > .si-pull{
  max-width:840px; margin:32px auto; padding:26px 30px 26px 34px;
  background:linear-gradient(140deg,#f8fbff,#eef4ff);
  border:1px solid #dbe4f7; border-left:4px solid var(--si-indigo); border-radius:14px;
}
.si-pull p{
  margin:0; font-family:var(--si-font-head); font-size:1.22rem; line-height:1.55;
  font-weight:600; letter-spacing:-.012em; color:var(--si-ink);
}

/* grafika: delikatna ramka + podpis */
body:not(.home) .entry-content.single-content > .si-visual{
  background:linear-gradient(180deg,#fbfcff,#f2f6ff); border:1px solid var(--si-border);
  border-radius:16px; padding:24px 22px 18px; margin:10px auto 32px;
}
.si-visual figcaption{
  margin-top:14px; padding-top:12px; border-top:1px solid rgba(11,20,55,.07);
  color:var(--si-muted); font-size:.88rem; line-height:1.55;
}

/* pasek zaufania: subtelny gradient zamiast płaskiego tła */
body:not(.home) .entry-content.single-content > .si-trustbar{
  background:linear-gradient(140deg,#f8fbff,#eef4ff); border:1px solid #e2e9f8; border-radius:14px;
}

/* nagłówki sekcji: akcent w kolorach marki */
body:not(.home) .single-content h2.wp-block-heading::before{
  width:52px; height:4px; border-radius:2px;
  background:linear-gradient(90deg,var(--si-indigo),var(--si-cyan)); margin-bottom:16px;
}

/* --- pasek zaufania: trzy równe kolumny zamiast nierównego zawijania --- */
body:not(.home) .entry-content.single-content > .si-trustbar{
  display:grid; grid-template-columns:repeat(3,1fr); gap:14px 20px; padding:18px 22px;
}
.si-trustbar span{ align-items:flex-start; line-height:1.4; }
@media (max-width:780px){
  body:not(.home) .entry-content.single-content > .si-trustbar{ grid-template-columns:1fr; }
}

/* --- hero podstron: tekstura i poświata jak na home, zamiast płaskiego gradientu --- */
.page-hero-section.entry-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:radial-gradient(rgba(255,255,255,.075) 1px, transparent 1.4px);
  background-size:26px 26px; opacity:.65;
}
.page-hero-section .entry-hero-container-inner{ position:relative; z-index:1; }
.page-hero-section.entry-hero h1{
  text-shadow:0 18px 44px rgba(3,8,26,.42);
}

/* --- tło strony: bardzo delikatna głębia zamiast płaskiej bieli --- */
body:not(.home){
  background:
    radial-gradient(1100px 460px at 50% -180px, rgba(37,99,235,.055), transparent 70%),
    linear-gradient(180deg,#f7f9fe 0%, #ffffff 420px);
}
body:not(.home) .content-bg.single-entry{
  background:#fff; border:1px solid #edf1fa; border-radius:20px;
  box-shadow:0 1px 2px rgba(11,20,55,.03), 0 40px 80px -60px rgba(11,20,55,.5);
}


/* --- dostrojenie do kroju Sora (szerszy od Manrope) --- */
h1, .si-hero h1{ letter-spacing:-.032em; }
h2{ letter-spacing:-.028em; }
h3{ letter-spacing:-.018em; }
.si-stat-num, .si-fig-num{ letter-spacing:-.03em; }
.wp-block-button__link{ letter-spacing:-.01em; }
.si-eyebrow{ letter-spacing:.13em; }
