
@media all {

}
@media (max-width: 1200px) {

}
@media (max-width: 1000px) {
	
}
@media (max-width: 700px) {

}

/* === [BLOCK: header-logo-size] START === */
/* WiÄksze logo w headerze â 70px na PC, 55px na mobile */
header.header_main section .logo a img,
header.header_main .logo a img {
	height: 70px;
	width: auto;
	max-width: none;
}
@media (max-width: 600px) {
	header.header_main section .logo a img,
	header.header_main .logo a img {
		height: 55px;
	}
}
/* === [BLOCK: header-logo-size] END === */

/* === [BLOCK: landing-pozycjosprawdzator] START === */
/* ===== POZYCJOSPRAWDZATOR â landing-only CSS ===== */
/* HERO â bez bg, tÅo jest na <section class="ps-bg-hero"> (ReguÅa #11) */
.ps-hero{padding:3rem 0 4rem;overflow:hidden}
section.ps-bg-hero{background:linear-gradient(135deg,rgba(124,58,237,.08) 0%,#fff 50%,rgba(16,185,129,.08) 100%)}
.ps-hero-grid{display:grid;grid-template-columns:1fr;gap:2.5rem;align-items:center;max-width:1200px;margin:0 auto;padding:0 1rem}
@media(min-width:900px){.ps-hero-grid{grid-template-columns:1fr 1fr;gap:3rem}}
.ps-eyebrow{display:inline-flex;align-items:center;gap:.5rem;font-size:.78rem;font-weight:600;padding:.4rem .85rem;border-radius:9999px;margin-bottom:1.2rem}
.ps-eyebrow-lab{background:rgba(16,185,129,.12);color:#047857}
.ps-pulse{width:.5rem;height:.5rem;border-radius:9999px;background:#10b981;animation:pspulse 2s infinite}
@keyframes pspulse{0%,100%{opacity:1}50%{opacity:.4}}
.ps-h1{font-family:var(--font-family-header);font-size:clamp(2.2rem,5vw,3.8rem);font-weight:700;line-height:1.05;letter-spacing:-.02em;margin:0 0 1.2rem}
.ps-text-mark{color:#7c3aed}
.ps-text-lab{color:#047857}
.ps-text-warn{color:#b45309}
.ps-text-rose{color:#be123c}
.ps-text-muted{color:#94a3b8}
.ps-lead{font-size:clamp(1rem,1.5vw,1.2rem);color:#475569;line-height:1.6;max-width:550px;margin:0 0 1.8rem}
.ps-cta-row{display:flex;flex-wrap:wrap;gap:.8rem;margin-bottom:1.8rem}
.ps-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:.95rem;text-decoration:none;transition:all .2s}
.ps-btn-mark{background:#6d28d9;color:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1)}
.ps-btn-mark:hover{background:#5b21b6;color:#fff;box-shadow:0 4px 12px rgba(124,58,237,.3)}
.ps-btn-ghost{background:#fff;color:#1e293b;border:1px solid #e2e8f0}
.ps-btn-ghost:hover{background:#f8fafc;color:#1e293b}
.ps-btn-ghost-dark{background:rgba(15,23,42,.4);color:#fff;border:1px solid rgba(255,255,255,.3)}
.ps-btn-ghost-dark:hover{background:rgba(15,23,42,.6);color:#fff}
.ps-btn-light{background:#fff;color:#0f172a}
.ps-btn-light:hover{background:#f8fafc;color:#0f172a}
.ps-btn-big{font-size:1rem;padding:1rem 2rem}
.ps-checks{display:flex;flex-wrap:wrap;gap:.5rem 1.5rem;font-size:.88rem;color:#64748b}
.ps-checks div{display:flex;align-items:center;gap:.4rem}
.ps-check{color:#10b981;font-weight:700}

.ps-mockup-wrap{position:relative}
.ps-mockup{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 25px 50px -12px rgba(124,58,237,.15);overflow:hidden;transform:rotate(1deg);transition:transform .5s;max-width:100%;box-sizing:border-box}
@media(max-width:768px){.ps-mockup{transform:none}}
.ps-mockup:hover{transform:rotate(0)}
.ps-browser-bar{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.6rem 1rem;display:flex;align-items:center;gap:.4rem}
.ps-dot{width:.7rem;height:.7rem;border-radius:9999px}
.ps-dot-r{background:#fb7185}.ps-dot-y{background:#fbbf24}.ps-dot-g{background:#34d399}
.ps-url{margin-left:.7rem;font-family:'SF Mono',monospace;font-size:.7rem;color:#94a3b8}
.ps-mockup-body{padding:1.2rem}
.ps-kpi-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:1.2rem}
.ps-kpi{border:1px solid #e2e8f0;border-radius:.65rem;padding:.7rem}
.ps-kpi-label{display:flex;align-items:center;gap:.4rem;font-size:.65rem;color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-weight:600}
.ps-kpi-icon{width:1.6rem;height:1.6rem;border-radius:9999px;display:grid;place-items:center;font-size:.75rem}
.ps-bg-lab{background:rgba(16,185,129,.15)}
.ps-bg-mark{background:rgba(124,58,237,.15)}
.ps-bg-warn{background:rgba(245,158,11,.15)}
.ps-bg-rose{background:rgba(244,63,94,.15)}
.ps-bg-mark-soft{background:rgba(124,58,237,.1)}
.ps-bg-lab-soft{background:rgba(16,185,129,.1)}
.ps-bg-warn-soft{background:rgba(245,158,11,.1)}
.ps-kpi-num{font-family:var(--font-family-header);font-size:1.5rem;font-weight:700;margin-top:.2rem}
.ps-table-mini{display:flex;flex-direction:column;gap:.3rem}
.ps-tm-head{display:flex;justify-content:space-between;align-items:center;font-size:.72rem;margin-bottom:.4rem}
.ps-meta{color:#94a3b8;font-size:.78rem}
.ps-mono{font-family:'SF Mono',monospace;color:#64748b;font-size:.7rem}
.ps-tm-row{display:flex;justify-content:space-between;align-items:center;padding:.4rem .5rem;border-radius:.4rem;font-size:.85rem}
.ps-tm-row:hover{background:#f8fafc}
.ps-pos{font-family:'SF Mono',monospace;font-size:.72rem;font-weight:600;padding:.15rem .5rem;border-radius:9999px}
.ps-pos-good{background:rgba(16,185,129,.15);color:#047857}
.ps-pos-mid{background:rgba(245,158,11,.15);color:#b45309}
.ps-trend{font-size:.7rem;margin-left:.4rem}
.ps-up{color:#059669}
.ps-down{color:#e11d48}

.ps-trust{padding:1.5rem 0;background:#fff;border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0}
.ps-trust-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;text-align:center;max-width:1200px;margin:0 auto;padding:0 1rem}
@media(min-width:768px){.ps-trust-grid{grid-template-columns:repeat(4,1fr)}}
.ps-trust-num{font-family:var(--font-family-header);font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700}
.ps-trust-lbl{font-size:.85rem;color:#64748b;margin-top:.3rem;line-height:1.4}

.ps-section-roomy{max-width:1200px;margin:0 auto;padding:4rem 1rem;box-sizing:border-box;width:100%;min-width:0;overflow-x:hidden}
@media(max-width:768px){.ps-section-roomy{padding:3rem .75rem}}
.ps-section-head{text-align:center;max-width:780px;margin:0 auto 3rem}
.ps-section-head-tight{margin-bottom:1.5rem}
.ps-eyebrow-mark-text,.ps-eyebrow-lab-text,.ps-eyebrow-light{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.15em;margin-bottom:.8rem}
.ps-eyebrow-mark-text{color:#6d28d9}
.ps-eyebrow-lab-text{color:#047857}
.ps-eyebrow-light{color:#a78bfa}
.ps-h2{font-family:var(--font-family-header);font-size:clamp(1.5rem,3.5vw,3rem);font-weight:700;line-height:1.15;letter-spacing:-.01em;margin:0 0 1rem;word-break:break-word;hyphens:auto}
.ps-h2-light{font-family:var(--font-family-header);font-size:clamp(1.5rem,3.5vw,3rem);font-weight:700;line-height:1.15;color:#fff;margin:0 0 1rem;word-break:break-word;hyphens:auto}
.ps-h3{font-family:var(--font-family-header);font-size:clamp(1.2rem,2vw,1.5rem);font-weight:700;margin:0 0 .8rem}
.ps-section-lead{font-size:clamp(1rem,1.3vw,1.1rem);color:#475569;line-height:1.6;margin:.5rem auto;max-width:680px}
.ps-section-lead-light{font-size:clamp(1rem,1.3vw,1.1rem);color:#cbd5e1;line-height:1.6;margin:.5rem auto;max-width:680px}
.ps-section-foot{text-align:center;font-size:.78rem;color:#94a3b8;max-width:780px;margin:1.5rem auto 0 auto !important;line-height:1.5;text-wrap:balance;padding:0 1rem;display:block}
.ps-code-light{background:rgba(255,255,255,.1);padding:.15rem .4rem;border-radius:.3rem;font-family:'SF Mono',monospace;font-size:.85em;color:#c4b5fd}

.ps-features-grid{display:grid;grid-template-columns:1fr;gap:1.2rem;margin-bottom:2.5rem;grid-auto-rows:1fr}
@media(min-width:768px){.ps-features-grid{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1100px){.ps-features-grid{grid-template-columns:repeat(3,1fr)}}
.ps-feat-card{display:flex;flex-direction:column;height:100%}
.ps-feat-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;transition:all .2s}
.ps-feat-card:hover{box-shadow:0 10px 25px -5px rgba(0,0,0,.1);transform:translateY(-3px)}
.ps-feat-icon{width:3rem;height:3rem;border-radius:.75rem;display:grid;place-items:center;font-size:1.4rem;margin-bottom:1rem}
.ps-feat-card h3{font-family:var(--font-family-header);font-size:1.1rem;font-weight:600;margin:0 0 .5rem}
.ps-feat-card p{font-size:.88rem;color:#475569;line-height:1.6;margin:0}

.ps-gamechanger{background:linear-gradient(135deg,#6d28d9 0%,#5b21b6 50%,#4c1d95 100%);color:#fff;border-radius:1.5rem;padding:2.5rem 2rem;box-shadow:0 25px 50px -12px rgba(76,29,149,.4);position:relative;overflow:hidden}
.ps-gc-emoji{font-size:5rem;float:left;margin-right:1.5rem;line-height:1}
@media(min-width:768px){.ps-gamechanger{padding:3rem}}
.ps-gc-badge{display:inline-block;background:#f59e0b;color:#fff;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;padding:.3rem .8rem;border-radius:9999px;margin-bottom:.8rem}
.ps-gc-h3{font-family:var(--font-family-header);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;line-height:1.2;margin:0 0 1rem}
.ps-gc-lead{color:#ddd6fe;font-size:1.05rem;line-height:1.6;margin:0 0 .8rem}
.ps-gc-lead strong{color:#fff}
.ps-gc-sub{color:#c4b5fd;font-size:.88rem;margin:0}

.ps-steps-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:768px){.ps-steps-grid{grid-template-columns:repeat(4,1fr)}}
.ps-step{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;height:100%}
.ps-step-num{width:2.5rem;height:2.5rem;border-radius:9999px;background:#6d28d9;color:#fff;font-family:var(--font-family-header);font-weight:700;font-size:1.1rem;display:grid;place-items:center;margin-bottom:1rem}
.ps-step-num-final{background:#047857}
.ps-step h3{font-family:var(--font-family-header);font-size:1.1rem;font-weight:600;margin:0 0 .5rem}
.ps-step p{font-size:.88rem;color:#475569;line-height:1.6;margin:0}

/* PODGLAD ciemny â bg jest na <section class="ps-bg-app"> (ReguÅa #11) */
.ps-preview-wrap{color:#fff;padding:4rem 1rem;box-sizing:border-box;overflow-x:hidden}
@media(max-width:768px){.ps-preview-wrap{padding:3rem .75rem}}
/* RWD fix: wrapper text-bloku dnt braÅ width ~100vw i wychodziÅ poza .section-content (mobile +32px). Klamrujemy do szerokoÅci rodzica. */
section.ps-bg-app .section-content>div{max-width:100%}
.ps-preview-wrap{max-width:100%}
section.ps-bg-app{background:#0f172a;background-image:radial-gradient(circle at 20% 50%,rgba(124,58,237,.2) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(16,185,129,.15) 0%,transparent 50%),linear-gradient(180deg,#0f172a 0%,#1e293b 100%);color:#fff;overflow-x:hidden}
section.ps-bg-app .ps-app-mockup,section.ps-bg-app .ps-app-body{max-width:100%;min-width:0;box-sizing:border-box}
section.ps-bg-app h1,section.ps-bg-app h2,section.ps-bg-app h3{color:#fff}
.ps-preview-wrap > .ps-section-head{margin:0 auto 2.5rem}
.ps-app-mockup{max-width:100%;width:100%;margin:0 auto;background:#fff;color:#0f172a;border-radius:1rem;overflow:hidden;border:1px solid rgba(255,255,255,.1);box-shadow:0 25px 50px -12px rgba(0,0,0,.5);box-sizing:border-box;min-width:0}
@media(min-width:1100px){.ps-app-mockup{max-width:1100px}}
.ps-app-body{padding:.75rem;box-sizing:border-box;min-width:0}
@media(min-width:768px){.ps-app-body{padding:2rem}}
.ps-browser-bar .ps-url{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}
.ps-app-head{margin-bottom:1.5rem}
.ps-breadcrumb{font-size:.75rem;color:#94a3b8;margin-bottom:.3rem}
.ps-app-title-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.5rem}
.ps-app-title{font-family:var(--font-family-header);font-size:clamp(1.4rem,2vw,1.8rem);font-weight:700;margin:0}
.ps-app-sub{font-family:'SF Mono',monospace;font-size:.78rem;color:#64748b;margin:.2rem 0 0}
.ps-app-actions{display:flex;gap:.4rem;font-size:.75rem}
.ps-app-btn{background:#f1f5f9;padding:.4rem .7rem;border-radius:.5rem}
.ps-app-btn-mark{background:#6d28d9;color:#fff}
.ps-kpi-grid-6{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem;margin-bottom:1.5rem;width:100%}
@media(min-width:768px){.ps-kpi-grid-6{grid-template-columns:repeat(6,minmax(0,1fr));gap:.75rem}}
.ps-kpi-grid-6 .ps-kpi{padding:.55rem;min-width:0}
.ps-kpi-grid-6 .ps-kpi-label{font-size:.6rem;gap:.3rem}
.ps-kpi-grid-6 .ps-kpi-icon{width:1.3rem;height:1.3rem;font-size:.65rem}
.ps-table-cap{font-size:.72rem;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em;font-weight:600;margin-bottom:.5rem}
.ps-table-app{border:1px solid #e2e8f0;border-radius:.75rem;overflow:hidden}
.ps-tap-head,.ps-tap-row{display:grid;grid-template-columns:2fr 1.5fr .8fr .8fr .8fr .8fr;gap:.5rem;padding:.6rem .8rem;align-items:center;font-size:.82rem;min-width:0}
.ps-tap-head{background:#f8fafc;font-size:.65rem;text-transform:uppercase;color:#64748b;letter-spacing:.05em;font-weight:600}
.ps-tap-row{border-top:1px solid #f1f5f9}
.ps-tap-row:hover{background:#fafbfc}
.ps-tap-row > *,.ps-tap-head > *{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:768px){.ps-tap-head{display:none}.ps-tap-row{grid-template-columns:1fr auto;font-size:.8rem;padding:.6rem;min-width:0}.ps-tap-row > :nth-child(n+2):not(:last-child){display:none}.ps-tap-row > :first-child{white-space:normal;min-width:0;overflow:hidden;text-overflow:ellipsis}}
.ps-table-foot{text-align:center;font-size:.78rem;color:#94a3b8;margin-top:.8rem}
.ps-mockup-footnote{text-align:center;font-size:.78rem;color:#94a3b8;max-width:600px;margin:1.5rem auto 0}

.ps-audience-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:768px){.ps-audience-grid{grid-template-columns:repeat(3,1fr)}}
.ps-aud-card{border-radius:1rem;padding:1.5rem 2rem;color:#fff}
.ps-aud-mark{background:linear-gradient(135deg,#6d28d9 0%,#5b21b6 100%)}
.ps-aud-lab{background:linear-gradient(135deg,#059669 0%,#047857 100%)}
.ps-aud-dark{background:linear-gradient(135deg,#334155 0%,#1e293b 100%)}
.ps-aud-emoji{font-size:2.5rem;margin-bottom:.8rem}
.ps-aud-card h3{font-family:var(--font-family-header);font-size:1.4rem;font-weight:700;margin:0 0 .5rem;color:#fff}
.ps-aud-card p{font-size:.92rem;line-height:1.6;margin:0;color:rgba(255,255,255,.9)}

.ps-testimonials-grid{display:grid;grid-template-columns:1fr;gap:1.2rem}
@media(min-width:768px){.ps-testimonials-grid{grid-template-columns:repeat(3,1fr)}}
.ps-testimonial{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;margin:0;box-shadow:0 1px 2px rgba(0,0,0,.05)}
.ps-stars{color:#f59e0b;font-size:1.1rem;letter-spacing:.1em;margin-bottom:.8rem}
.ps-testimonial blockquote{flex:1;color:#334155;font-size:.92rem;line-height:1.6;margin:0;font-style:normal;quotes:none}
.ps-testimonial figcaption{display:flex;align-items:center;gap:.8rem;margin-top:1.2rem;padding-top:1rem;border-top:1px solid #f1f5f9;font-size:.85rem}
.ps-avatar{width:3rem;height:3rem;border-radius:9999px;display:grid;place-items:center;color:#fff;font-family:var(--font-family-header);font-weight:700;font-size:1rem}
.ps-avatar-mark{background:linear-gradient(135deg,#7c3aed,#5b21b6)}
.ps-avatar-lab{background:linear-gradient(135deg,#10b981,#047857)}
.ps-avatar-warn{background:linear-gradient(135deg,#f59e0b,#e11d48)}

.ps-cmp-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:1rem;border:1px solid #e2e8f0;background:#fff;box-shadow:0 1px 2px rgba(0,0,0,.05);max-width:100%;width:100%;margin:0 auto;box-sizing:border-box}
@media(min-width:1024px){.ps-cmp-wrap{max-width:1000px}}
.ps-cmp{width:100%;min-width:520px;border-collapse:collapse;font-size:.9rem}
@media(max-width:768px){.ps-cmp{font-size:.7rem;min-width:0}.ps-cmp th,.ps-cmp td{padding:.4rem .25rem !important;word-break:break-word}.ps-cmp th{font-size:.65rem}}
.ps-cmp thead tr{background:#f8fafc;border-bottom:2px solid #e2e8f0}
.ps-cmp th{padding:1rem;font-weight:600;color:#475569;text-align:center}
.ps-cmp th:first-child{text-align:left}
.ps-cmp td{padding:.75rem 1rem;border-top:1px solid #f1f5f9;text-align:center}
.ps-cmp td:first-child{text-align:left;font-weight:500}
.ps-yes{color:#059669;font-size:1.2rem;font-weight:700}
.ps-no{color:#e11d48;font-size:1.2rem;font-weight:700}
.ps-warn-text{color:#b45309;font-size:.78rem}

.ps-credits-row{display:grid;grid-template-columns:1fr;gap:.8rem;max-width:900px;margin:0 auto 2rem}
@media(min-width:768px){.ps-credits-row{grid-template-columns:repeat(3,1fr)}}
.ps-credit-card{background:#fff;border:2px solid;border-radius:1rem;padding:1.2rem;text-align:center}
.ps-credit-mark{border-color:#c4b5fd}
.ps-credit-lab{border-color:#a7f3d0}
.ps-credit-warn{border-color:#fde68a}
.ps-credit-emoji{font-size:1.8rem;margin-bottom:.4rem}
.ps-credit-name{font-family:var(--font-family-header);font-weight:600;font-size:1.05rem}
.ps-credit-cost{font-family:var(--font-family-header);font-size:1.6rem;font-weight:700;margin-top:.5rem}
.ps-credit-desc{font-size:.78rem;color:#64748b;margin-top:.5rem;line-height:1.4}

.ps-pricing-card{background:#fff;border:1px solid #e2e8f0;border-radius:1.5rem;box-shadow:0 25px 50px -12px rgba(124,58,237,.08);max-width:1000px;margin:0 auto 2rem;padding:2rem}
@media(min-width:768px){.ps-pricing-card{padding:3rem}}
.ps-pakiety{display:grid;grid-template-columns:1fr;gap:1rem}
@media(min-width:600px){.ps-pakiety{grid-template-columns:repeat(2,1fr)}}
@media(min-width:900px){.ps-pakiety{grid-template-columns:repeat(4,1fr)}}
.ps-pakiet{background:#fff;border:1px solid #e2e8f0;border-radius:.85rem;padding:1.2rem;text-align:center;display:flex;flex-direction:column;text-decoration:none;color:inherit;transition:all .2s;position:relative}
.ps-pakiet:hover{border-color:#c4b5fd;box-shadow:0 10px 25px -5px rgba(0,0,0,.1)}
.ps-pakiet-popular{border:2px solid #c4b5fd;background:rgba(124,58,237,.03)}
.ps-pakiet-badge{position:absolute;top:-.7rem;left:50%;transform:translateX(-50%);background:#f59e0b;color:#fff;font-size:.65rem;font-weight:700;padding:.2rem .6rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.05em}
.ps-pakiet-name{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:#64748b}
.ps-pakiet-credits{font-family:var(--font-family-header);font-size:1.3rem;font-weight:700;margin-top:.3rem}
.ps-pakiet-price{font-family:var(--font-family-header);font-size:1.8rem;font-weight:700;margin-top:.7rem}
.ps-pakiet-disc{font-size:.78rem;font-weight:600;margin-top:.2rem}
.ps-pakiet-hint{font-size:.7rem;color:#94a3b8;margin-top:.4rem}
.ps-pakiet-cta{margin-top:.8rem;font-size:.78rem;font-weight:600;color:#6d28d9}
.ps-pricing-info{display:grid;grid-template-columns:1fr;gap:.8rem;margin-top:1.5rem;font-size:.88rem}
@media(min-width:768px){.ps-pricing-info{grid-template-columns:repeat(2,1fr)}}
.ps-info-card{border-radius:.75rem;padding:1rem 1.2rem;border:1px solid}
.ps-info-lab{background:rgba(16,185,129,.05);border-color:rgba(16,185,129,.2)}
.ps-info-mark{background:rgba(124,58,237,.05);border-color:rgba(124,58,237,.2)}
.ps-info-h{font-weight:600;margin-bottom:.3rem}
.ps-info-lab .ps-info-h{color:#047857}
.ps-info-mark .ps-info-h{color:#6d28d9}
.ps-info-card p{font-size:.78rem;color:#475569;line-height:1.6;margin:0}
.ps-pricing-bottom{text-align:center;margin-top:2rem}
.ps-pricing-bottom .ps-meta{margin-top:.8rem;display:block;font-size:.75rem}

.ps-abonament{max-width:1000px;margin:0 auto 1.5rem}
.ps-abonament > div{background:linear-gradient(135deg,#6d28d9 0%,#5b21b6 50%,#4c1d95 100%);color:#fff;border-radius:1.5rem;padding:2rem;box-shadow:0 25px 50px -12px rgba(76,29,149,.4)}
@media(min-width:768px){.ps-abonament > div{padding:3rem}}
.ps-abon-grid{display:grid;grid-template-columns:1fr;gap:1.5rem;align-items:center}
@media(min-width:768px){.ps-abon-grid{grid-template-columns:1fr auto}}
.ps-abon-badge{display:inline-block;background:#f59e0b;color:#fff;font-size:.65rem;font-weight:700;padding:.25rem .7rem;border-radius:9999px;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.7rem}
.ps-abon-h3{font-family:var(--font-family-header);font-size:clamp(1.4rem,2.5vw,2rem);font-weight:700;line-height:1.2;margin:0 0 1rem;color:#fff}
.ps-abon-yellow{color:#fcd34d}
.ps-abon-h3 u{text-decoration-color:#f59e0b;text-decoration-thickness:3px;text-underline-offset:.25em}
.ps-abon-lead{color:#ddd6fe;font-size:1rem;line-height:1.6;margin:0 0 1rem;max-width:600px}
.ps-abon-checks{display:flex;flex-wrap:wrap;gap:.4rem 1.5rem;font-size:.85rem;color:#ddd6fe}
.ps-abon-checks div{display:flex;align-items:center;gap:.4rem}
.ps-abon-cta{display:flex;flex-direction:column;gap:.7rem}
.ps-abon-call{background:#f59e0b;color:#fff;padding:1rem 1.5rem;border-radius:.75rem;text-decoration:none;font-weight:700;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:.1rem;box-shadow:0 4px 12px rgba(245,158,11,.3)}
.ps-abon-call-lbl{font-size:.65rem;text-transform:uppercase;letter-spacing:.1em;opacity:.85}
.ps-abon-call-num{font-size:1.2rem}
.ps-abon-mail{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.3);padding:.7rem 1.2rem;border-radius:.75rem;text-decoration:none;font-weight:600;font-size:.85rem;text-align:center}

.ps-whitelabel{max-width:1000px;margin:0 auto 1rem}
.ps-whitelabel > div{background:linear-gradient(135deg,#1e293b 0%,#0f172a 100%);color:#fff;border-radius:1.5rem;padding:1.5rem 2rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.3)}
.ps-wl-grid{display:grid;grid-template-columns:1fr;gap:1rem;align-items:center}
@media(min-width:768px){.ps-wl-grid{grid-template-columns:auto 1fr auto}}
.ps-wl-emoji{font-size:3rem}
.ps-wl-eyebrow{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:#fcd34d;margin-bottom:.3rem}
.ps-wl-h3{font-family:var(--font-family-header);font-size:1.3rem;font-weight:700;margin:0 0 .5rem;color:#fff}
.ps-whitelabel p{font-size:.88rem;color:#cbd5e1;line-height:1.6;margin:0}

.ps-faq-wrap{max-width:850px}
.ps-faq-wrap .faq{display:flex;flex-direction:column;gap:.7rem}
.ps-faq-wrap .faq .f{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:1.2rem 1.4rem}
.ps-faq-wrap .faq .f h3{font-family:var(--font-family-text);font-size:1rem;font-weight:600;color:#1e293b;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin:0;line-height:1.5}
.ps-faq-wrap .faq .f h3 .faq_arrow{color:#6d28d9;font-size:1.2rem;font-weight:400;flex-shrink:0;transition:transform .2s}
.ps-faq-wrap .faq .f h3 .faq_arrow[data-status="1"]{transform:rotate(45deg)}
.ps-faq-wrap .faq .f .t{display:none;font-size:.92rem;color:#475569;line-height:1.65;margin-top:.8rem}
.ps-faq-wrap .faq .f .t.open{display:block}

/* CTA final â bg na <section class="ps-bg-cta"> (ReguÅa #11) */
.ps-cta-final{color:#fff;padding:4rem 1rem;position:relative;overflow:hidden}
@media(max-width:768px){.ps-cta-final{padding:3rem 1rem}}
section.ps-bg-cta{background:linear-gradient(135deg,#6d28d9 0%,#5b21b6 50%,#4c1d95 100%);color:#fff;position:relative;overflow:hidden}
section.ps-bg-cta::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(16,185,129,.4) 0%,transparent 40%);opacity:.2;pointer-events:none}
.ps-cta-final::before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 30%,rgba(16,185,129,.4) 0%,transparent 40%);opacity:.2}
.ps-cta-inner{max-width:850px;margin:0 auto;text-align:center;position:relative}
.ps-cta-lead{color:#ddd6fe;font-size:clamp(1rem,1.4vw,1.2rem);line-height:1.6;margin:1.2rem auto 2rem;max-width:600px}
.ps-cta-form{background:rgba(255,255,255,.95);backdrop-filter:blur(8px);color:#0f172a;border-radius:1rem;padding:1.5rem 2rem;box-shadow:0 25px 50px -12px rgba(0,0,0,.3);max-width:650px;margin:0 auto;text-align:left}
.ps-cta-form input,.ps-cta-form textarea,.ps-cta-form select{background:#fff !important;border:1px solid #cbd5e1 !important;color:#0f172a !important}
.ps-cta-form button[type="submit"]{background:#6d28d9 !important;color:#fff !important;border:none}
.ps-cta-buttons{margin-top:2rem;display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap}
.ps-cta-foot{margin-top:1.5rem;color:#c4b5fd;font-size:.88rem;padding:0 .5rem;line-height:1.7}
.ps-cta-foot a{color:#fff;text-decoration:underline;font-weight:600;white-space:nowrap}
/* === [BLOCK: landing-pozycjosprawdzator] END === */

/* === [BLOCK: feature-grid-wrapper] START === (dograne 2026-06-08 dla /monitorowanie-pozycji/) */
.feature-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:1.5rem; }
.feature-card .feat-ico .material-symbols-outlined { font-size:1.6rem; line-height:1; color:#6d28d9; }
/* === [BLOCK: feature-grid-wrapper] END === */

/* === [BLOCK: audit-spacing-pas-40] START === (2026-06-15) */
/* Zaostrzony standard audytu (page_audit prog pas=40px): kolorowe/jasne PASY z duzo
   tekstem (szerokosc >=700px, wlasne tlo) maja miec >=40px oddechu od krawedzi.
   Tylko DESKTOP (>=701px). Mobile (<=700px) zostaje na 16px - tam audyt liczy je jako
   karty (prog 16) i naruszen nie ma; nie ruszamy zeby nie zwezac tresci na telefonie. */
@media (min-width:701px){
	/* A) Bandy sekcji dnt_creator (.section-content) - artykuly (body.t) i strony (body.home/p)
	      maja ta sama strukture. Core daje 2rem (32px); podbijamy do 40px w poziomie. */
	.section-content { padding-left:40px !important; padding-right:40px !important; }

	/* B) Tabela porownawcza jest wlasna jasna wyspa (>=700px = "pas" w audycie).
	      Audyt mierzy ramke (box) skrajnych KOMOREK, a box komorki zawsze dotyka
	      krawedzi tabeli - padding wewnatrz komorki go nie odsuwa. Dlatego oddech
	      robimy na SAMEJ TABELI: przy border-collapse:separate padding tabeli odsuwa
	      caly grid komorek do wewnatrz, a tlo tabeli (jasna wyspa) wypelnia ramke.
	      Dzieki temu us-col dalej kompozytuje nad biala wyspa (czytelny na ciemnych
	      i fioletowych sekcjach) - zero regresji kontrastu. */
	.compare-table { padding:40px; }
}
/* === [BLOCK: audit-spacing-pas-40] END === */
/* === [BLOCK: contrast-body-t-restore] START === (2026-06-15) */
/* REGRESJA: na ARTYKULACH (body.t) reguly z bg-ok-ink/-2/mark-light traciy bitwe
   specyficznosci z core'owym `body.t h2..h6{color:var(--grey-darker)}` (=#0F172A,
   spec 0,1,2) -> naglowki H2-H6 i listy icon-list w ciemnych/fioletowych sekcjach
   wracaly do CIEMNEGO koloru = dark-on-dark (1.1-1.3:1). Tu odtwarzamy JASNY tekst
   z body.t-prefixem (spec 0,2,2 -> bije core), zeby kontrast >=4.5 (norm) / 3:1 (duzy).
   NIE rusza padding-40 (blok wyzej). Per-klient pozycjosprawdzator.pl. */

/* bg-ok-ink i bg-ok-ink-2: ciemne sekcje -> naglowki + lead jasne (--surface-2) */
body.t .bg-ok-ink h2, body.t .bg-ok-ink h3, body.t .bg-ok-ink h4,
body.t .bg-ok-ink h5, body.t .bg-ok-ink h6,
body.t .bg-ok-ink-2 h2, body.t .bg-ok-ink-2 h3, body.t .bg-ok-ink-2 h4,
body.t .bg-ok-ink-2 h5, body.t .bg-ok-ink-2 h6 {
	color:var(--surface-2) !important;
}
body.t .bg-ok-ink p, body.t .bg-ok-ink li, body.t .bg-ok-ink .lead,
body.t .bg-ok-ink-2 p, body.t .bg-ok-ink-2 li, body.t .bg-ok-ink-2 .lead {
	color:var(--line-soft) !important;
}
body.t .bg-ok-ink strong, body.t .bg-ok-ink-2 strong { color:var(--white) !important; }
body.t .bg-ok-ink em, body.t .bg-ok-ink-2 em { color:var(--ok-cta) !important; }

/* icon-list w ciemnych sekcjach na artykule: karta jest PRZEZROCZYSTA (nie jasna
   wyspa), wiec h4/tekst musza byc JASNE - nie var(--ink). Bije blok bullet-icon-list. */
body.t .bg-ok-ink .icon-list:not(.dark) li,
body.t .bg-ok-ink-2 .icon-list:not(.dark) li {
	color:var(--line-soft) !important;
}
body.t .bg-ok-ink .icon-list:not(.dark) li h4,
body.t .bg-ok-ink-2 .icon-list:not(.dark) li h4 {
	color:var(--surface-2) !important;
}
body.t .bg-ok-ink .icon-list:not(.dark) li .il-body p,
body.t .bg-ok-ink-2 .icon-list:not(.dark) li .il-body p {
	color:var(--line-soft) !important;
}

/* bg-mark-light (fioletowy pas): naglowki + tekst BIALE. H2 to duzy tekst (>=24px
   bold) -> 3:1 wystarcza, biel na fiolecie zdaje. Lead/p tez bialy (jak najjasniej). */
body.t .bg-mark-light h2, body.t .bg-mark-light h3, body.t .bg-mark-light h4,
body.t .bg-mark-light h5, body.t .bg-mark-light h6 {
	color:var(--white) !important;
}
body.t .bg-mark-light p, body.t .bg-mark-light li, body.t .bg-mark-light .lead {
	color:var(--white) !important;
}
body.t .bg-mark-light .icon-list:not(.dark) li,
body.t .bg-mark-light .icon-list:not(.dark) li h4,
body.t .bg-mark-light .icon-list:not(.dark) li .il-body p {
	color:var(--white) !important;
}
/* Fiolet #8B5CF6 daje bialemu tekstowi tylko 4.23:1 (norm. p 16px = FAIL 4.5).
   Tekst juz jest najjasniejszy mozliwy (bialy), wiec jedyne wyjscie = przyciemnic
   SAMO TLO pasa do #6D28D9 (purple-700) -> bialy tekst ~6.4:1. Scope: TYLKO
   artykuly (body.t); brand-kolor na landing/home nietkniety. */
body.t .bg-mark-light { background-color:#6D28D9 !important; }
/* === [BLOCK: contrast-body-t-restore] END === */
/* === [BLOCK: footer-contrast] START === (2026-06-15) */
/* REGRESJA: naglowki kolumn STOPKI (.footer_box h4: Pozycjosprawdzator/Produkt/
   Kontakt/Operator) na ARTYKULACH (body.t) traciy bitwe specyficznosci z core'owym
   `body.t h4{color:var(--grey-darker)}` (=#0F172A, spec 0,1,1) -> ciemny naglowek na
   ciemnym tle stopki #1E293B (.bg-grey-dark) = 1.22:1 (page_audit prog 3:1). Na home/p
   stopka dziedziczyla bialy z .footer_box i bylo OK; problem tylko gdy body.t bije
   dziedziczenie. Tu wymuszamy JASNY tekst stopki niezaleznie od typu strony - selektor
   z prefixem kontenera stopki (spec wyzsza niz body.t h4) + !important dla pewnosci.
   Stopka jest GLOBALNA (kazda strona), wiec scope BEZ body.t - naprawia wszedzie.
   Per-klient pozycjosprawdzator.pl. */
.footer_content .footer_box h1, .footer_content .footer_box h2,
.footer_content .footer_box h3, .footer_content .footer_box h4,
.footer_content .footer_box h5, .footer_content .footer_box h6 {
	color:var(--white) !important;
}
/* === [BLOCK: footer-contrast] END === */
/* === [BLOCK: home-audit] START === (2026-06-15) */
/* Audyt page_audit STRONY GLOWNEJ (body.home, p_id=1, sekcje ps-*).
   Naprawiamy REALNE naruszenia WCAG (kontrast/odstepy) NIE psujac designu makiety.
   Scope: TYLKO body.home - subpagey /oferta/ ktore wspoldziela ps-* klasy zostaja nietkniete.
   Nie rusza blokow: audit-spacing-pas-40, contrast-body-t-restore, footer-contrast. */

/* (1) KRYTYCZNY BUG: .ps-app-title (H3 "Jan Nowak") siedzi w BIALEJ makiecie
   .ps-app-mockup, ale regula section.ps-bg-app h3{color:#fff} (linia 546) maluje go
   na bialo -> bialy na bialym (1.0:1, NIEWIDOCZNY). Makieta jest biala -> tytul ma byc
   ciemny. Spec wyzsza (kontener mockup + body.home) bije regule sekcji. */
body.home section.ps-bg-app .ps-app-mockup .ps-app-title { color:#0f172a !important; }

/* (2) MUTED TEKST: .ps-meta i pochodne uzywaja slate-400 #94A3B8 (2.45-2.56:1 na bialym
   i jasnym glass). Podbijamy do slate-600 #475569 (>=6.1:1 na wszystkich jasnych tlach
   makiety: bialy 7.58, #F8FAFC 7.24, #E6E8EA 6.17, #FBF9FE 7.25). Wciaz wyraznie
   "wyciszony" wizualnie, ale czytelny. */
body.home .ps-meta,
body.home .ps-breadcrumb,
body.home .ps-table-cap,
body.home .ps-table-foot,
body.home .ps-pakiet-hint,
body.home .ps-section-foot,
body.home .ps-url,
body.home .ps-text-muted,
body.home td.ps-meta,
body.home p.ps-meta,
body.home .ps-pricing-bottom .ps-meta,
body.home .ps-tm-head .ps-meta { color:#475569 !important; }

/* (3) ZIELONE wskazniki: ✓ (.ps-check) i strzalki ↑ (.ps-up/.ps-trend) sa male
   (<24px) -> prog 4.5. emerald-500 #10B981 (2.4-2.5) i #059669 (3.77) FAIL.
   emerald-700 #047857: 5.48 na bialym, 5.23 na glass -> PASS, dalej wyraznie zielone. */
body.home .ps-check,
body.home .ps-up,
body.home .ps-trend.ps-up { color:#047857 !important; }

/* (4) AMBER badge: bialy tekst na #F59E0B (amber-500) = 2.15:1 FAIL. Przyciemniamy
   SAMO TLO badge'a do amber-700 #B45309 -> bialy 5.02:1 PASS. Zostaje "bursztynowy"
   akcent, tylko ciemniejszy. Dotyczy gamechanger/pakiet/abonament badge + przycisku
   telefonu (etykieta + numer w srodku diedzicza bialy). */
body.home .ps-gc-badge,
body.home .ps-pakiet-badge,
body.home .ps-abon-badge { background:#B45309 !important; color:#fff !important; }
body.home .ps-abon-call { background:#B45309 !important; box-shadow:0 4px 12px rgba(180,83,9,.3) !important; }

/* (5) ODSTEPY: .ps-trust to bialy PAS pelnej szerokosci (w1320 >=700 -> prog 40px),
   ma tylko 24px pt/pb -> tekst "3" przyklejony. Podbijamy do 40px na DESKTOP.
   Mobile (<=700) audyt liczy karty (prog 16) i 24px tam zdaje -> nie ruszamy. */
@media (min-width:701px){
	body.home .ps-trust { padding-top:40px !important; padding-bottom:40px !important; }
}

/* (6) Doszlifowanie po 1. iteracji audytu: */
/* 6a) .ps-mockup-footnote: lezy na CIEMNYM tle sekcji ps-bg-app (audyt mierzy #161E2D),
   wiec slate-600 z punktu (2) bylby dark-on-dark. Wymuszamy jasny slate-400 #94A3B8
   (6.51:1 na ciemnym) - wyzsza spec niz regula (2). */
body.home section.ps-bg-app .ps-mockup-footnote { color:#94A3B8 !important; }
/* 6b) .ps-eyebrow-lab (zielona pigulka "Polski produkt"): #047857 na rgba(16,185,129,.12)
   = 4.38 (tuz pod 4.5). emerald-800 #065F46 -> 6.82. */
body.home .ps-eyebrow-lab { color:#065F46 !important; }
/* 6c) Zielona karta audience .ps-aud-lab: tekst rgba(255,255,255,.9) na jasnym koncu
   gradientu #059669 = 3.87 FAIL. Tekst -> pelny bialy + start gradientu przyciemniony
   do #047857 (oba emerald, roznica subtelna) -> bialy 5.48:1. */
body.home .ps-aud-lab { background:linear-gradient(135deg,#047857 0%,#065F46 100%) !important; }
body.home .ps-aud-lab p { color:#fff !important; }
/* 6d) Avatar warn (inicjaly DM na gradiencie amber->rose): jasny amber koniec daje
   bialemu 2.64. Przyciemniamy start do amber-700 #B45309 (bialy 5.02), koniec rose-700
   #BE123C (bialy 6.29) -> caly gradient zdaje. */
body.home .ps-avatar-warn { background:linear-gradient(135deg,#B45309,#BE123C) !important; }
/* 6e) Avatar lab (inicjaly MK): gradient emerald #10b981->#047857 - jasny start (bialy
   2.54). Przyciemniamy start do emerald-700 #047857, koniec emerald-800 #065F46 ->
   bialy >=5.48. (mark/purple avatar #7c3aed=5.7 juz zdaje, nie ruszamy.) */
body.home .ps-avatar-lab { background:linear-gradient(135deg,#047857,#065F46) !important; }
/* === [BLOCK: home-audit] END === */

/* === [BLOCK: pozycjo-ok-cta-contrast] START === (2026-06-15)
   Reguła #17 ai-authority: duże staty + ikony chipów uzywaja --ok-cta (=--mark #7c3aed).
   Na bg-ok-ink (#0F172A->#1E293B) #7c3aed daje 2.57-3.13:1 = FAIL (duzy tekst potrzebuje >=3:1).
   Override na jasniejszy fiolet --mark-light family #a78bfa -> 5.38-6.56:1 (>=4.5 wszedzie).
   Per-klient pozycjosprawdzator.pl, laduje sie po wow (90<100) -> wygrywa. */
:root { --ok-cta:#a78bfa; }
/* === [BLOCK: pozycjo-ok-cta-contrast] END === */

/* === [BLOCK: pozycjo-cta-mobile-wrap] START === (2026-06-15)
   Overflow poziomy na 375: dolne CTA (sekcja bg-ok-ink "Zbierz wszystkie frazy..."/
   "Ustaw monitoring raz..." itd.) - dwa przyciski w .flex-center.gap-1rem maja
   flex-wrap:nowrap, wiec rzad (~365px: neon 132 + gap + ghost 217) nie miesci sie
   w kolumnie layout-1 (track 343px). Dodatkowo grid/flex-item z min-width:auto nie
   skraca sie ponizej intrinsic content -> wypycha kolumne do 365 i tnie +22px za
   viewport. Fix: na mobile (<=480) przyciski zawijaja sie (stackuja), a child kolumny
   dostaja min-width:0 zeby moc sie skurczyc. Desktop/tablet (>480) nietkniete.
   Per-klient pozycjosprawdzator.pl (jego wlasny produkt). */
@media (max-width:480px){
	body.home .container .section-content .flex-center,
	body.t .container .section-content .flex-center { flex-wrap:wrap; }
	body.home .container .section-content > div,
	body.t .container .section-content > div { min-width:0; }
}
/* === [BLOCK: pozycjo-cta-mobile-wrap] END === */

/* PATCH 2026-06-15: wyrownanie strzalki megamenu (core bug li:before bez vertical-align; fix tez w core _style.css) */
nav.header_menu .megamenu ul li:before{ top:50%; transform:translateY(-50%); }
