/* === [BLOCK: wow-tokens-workpatrol] START === */
/* Tokeny wow dla NOWYCH podstron SEO (oferta/blog/feature-pages) - bez klasy wp-landing.
   Landing (one-pager) ma własne .wp-hero-bg-dark; te tokeny obsługują klocki wow:
   page-base / hero-dark (.bg-ok-ink) / ai-authority / section-eyebrow.
   :root scope - dotyczy wszystkich stron; ładuje się PO _style_90_wow.css więc wygrywa. */
:root {
	/* Brand czerwony WorkPatrol (spójny z landingiem #DC2626) */
	--mark: #DC2626;
	--mark-dark: #B91C1C;
	--mark-light: #EF4444;
	/* Ciemne tło sekcji bg-ok-ink (granat WorkPatrol z landingu) */
	--ink: #0F172A;
	--ink-2: #0A0F1F;
	--surface: #ffffff;
	--surface-2: #F1F5F9;   /* jasny tekst na ciemnym - 16:1 */
	--white: #ffffff;
	--line: #E2E8F0;
	/* Reguła #17: brand #DC2626 na granacie = 3.70:1 (FAIL <4.5). Jaśniejszy red-500
	   #EF4444 = 4.74:1 na #0F172A (PASS), zachowuje charakter brandu. Dotyczy dużych
	   liczb statów ai-authority (.ai-stat-num) + ikon chipów (.ai-chip ico) na bg-ok-ink. */
	--ok-cta: #EF4444;
}
/* === [BLOCK: wow-tokens-workpatrol] END === */

/* === [BLOCK: landing-workpatrol] START === */
/* ===== workpatrol.pl — landing-only CSS, palette granat + czerwony sztos B2B ===== */

/* Override --mark per-klient (body scope, NIE :root - Reguła #1):
   --mark zmienia kolor klocków używających tej zmiennej:
   pricing-card.featured border, step-number background, feature-card hover etc. */
body.wp-landing {
	--mark: #DC2626;
	--mark-dark: #B91C1C;
	--mark-light: rgba(220,38,38,.1);
}

/* ===== Hero (ciemne tło granat + radial glows + czerwone akcenty) ===== */
.wp-hero-bg-dark {
	background:
		radial-gradient(900px 500px at 12% 10%, rgba(220,38,38,.08), transparent 60%),
		radial-gradient(700px 400px at 90% 0%, rgba(220,38,38,.12), transparent 65%),
		linear-gradient(180deg, #0A0F1F 0%, #0F172A 100%) !important;
	color: #F1F5F9 !important;
}
.wp-hero-bg-dark h1,
.wp-hero-bg-dark h2,
.wp-hero-bg-dark h3,
.wp-hero-bg-dark h4 { color: #F1F5F9; }
.wp-hero-bg-dark p,
.wp-hero-bg-dark li { color: #CBD5E1; }
.wp-hero-bg-dark em { color: #DC2626; font-style: normal; font-weight: 700; }
.wp-hero-bg-dark strong { color: #fff; }

.wp-hero-bg-dark .eyebrow {
	display: inline-block;
	font-size: .8rem;
	font-weight: 700;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: #FCA5A5;
	margin-bottom: 1.5rem;
	padding: .4rem .9rem;
	background: rgba(220,38,38,.15);
	border: 1px solid rgba(220,38,38,.4);
	border-radius: 999px;
}

.wp-hero-bg-dark h1 {
	font-size: clamp(2rem, 4.8vw, 3.8rem) !important;
	font-weight: 700 !important;
	line-height: 1.1 !important;
	letter-spacing: -.02em;
	margin: 0 0 1.5rem !important;
}

.wp-hero-bg-dark .hero-subtitle {
	font-size: clamp(1rem, 1.4vw, 1.2rem) !important;
	line-height: 1.6 !important;
	color: #94A3B8 !important;
	max-width: 62ch;
	margin: 0 0 2rem !important;
}

/* CTA workpatrol — primary (czerwony) + outline (ghost) */
.wp-cta-row {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1rem;
}
.wp-btn-primary,
a.wp-btn-primary {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background: #DC2626;
	color: #fff !important;
	border: 0;
	padding: 1rem 1.8rem;
	border-radius: 12px;
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none !important;
	transition: background .2s, transform .15s, box-shadow .2s;
	box-shadow: 0 8px 28px -8px rgba(220,38,38,.6);
}
.wp-btn-primary:hover {
	background: #B91C1C;
	transform: translateY(-1px);
	box-shadow: 0 12px 36px -8px rgba(220,38,38,.7);
}
.wp-btn-ghost,
a.wp-btn-ghost {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	background: transparent;
	color: #F1F5F9 !important;
	border: 1px solid rgba(255,255,255,.25);
	padding: 1rem 1.8rem;
	border-radius: 12px;
	font-weight: 600;
	font-size: 1rem;
	text-decoration: none !important;
	transition: background .2s, border-color .2s, transform .15s;
}
.wp-btn-ghost:hover {
	background: rgba(255,255,255,.05);
	border-color: rgba(255,255,255,.4);
	transform: translateY(-1px);
}
.wp-btn-tertiary,
a.wp-btn-tertiary {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	color: #FCA5A5 !important;
	text-decoration: none !important;
	font-size: .92rem;
	font-weight: 500;
	border-bottom: 1px dashed rgba(252,165,165,.4);
	padding-bottom: 2px;
	transition: color .2s, border-color .2s;
}
.wp-btn-tertiary:hover {
	color: #fff !important;
	border-bottom-color: #fff;
}

.wp-gratis-badge {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-top: 1.5rem;
	padding: .65rem 1rem;
	background: rgba(16,185,129,.12);
	border: 1px solid rgba(16,185,129,.3);
	border-radius: 8px;
	color: #6EE7B7;
	font-size: .88rem;
	font-weight: 500;
}
.wp-gratis-badge .material-symbols-outlined {
	color: #10B981;
	font-size: 18px;
}

.wp-hero-social {
	font-size: .85rem;
	color: #64748B !important;
	margin-top: 2rem !important;
}

/* ===== Bridge line (między dwiema sub-sekcjami features) ===== */
.wp-bridge {
	text-align: center;
	max-width: 800px;
	margin: 3rem auto 0;
	padding: 1.75rem 2.5rem;
	background: rgba(220,38,38,.06);
	border-top: 3px solid #DC2626;
	border-bottom: 3px solid #DC2626;
	border-radius: 4px;
	font-size: 1.1rem !important;
	line-height: 1.55;
	color: #334155 !important;
	font-weight: 500;
}
.wp-bridge strong { color: #0F172A; }

/* ===== Sub-sekcje "Co dostajesz" - eyebrow grup zielony/czerwony ===== */
.wp-features-eyebrow {
	display: inline-block;
	font-size: .75rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: .35rem .8rem;
	border-radius: 999px;
	margin-bottom: 1rem;
}
.wp-features-eyebrow.green {
	background: rgba(16,185,129,.12);
	color: #047857;
}
.wp-features-eyebrow.red {
	background: rgba(220,38,38,.1);
	color: #B91C1C;
}
.wp-features-eyebrow .material-symbols-outlined {
	font-size: 14px;
	vertical-align: middle;
	margin-right: .25rem;
}

/* ===== Sytuacje "Brzmi znajomo?" (sekcja problem) ===== */
.wp-situations {
	max-width: 800px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.wp-situation-item {
	display: flex;
	gap: 1rem;
	padding: 1.25rem 1.5rem;
	background: #fff;
	border: 1px solid #E5E9F2;
	border-radius: 12px;
	border-left: 4px solid #DC2626;
	font-size: 1.05rem !important;
	color: #1E293B !important;
	line-height: 1.55 !important;
	font-style: italic;
}
.wp-situation-item .material-symbols-outlined {
	font-size: 24px;
	color: #DC2626;
	flex-shrink: 0;
	margin-top: .15rem;
}

.wp-hook-line {
	text-align: center;
	font-size: 1.15rem !important;
	font-weight: 600 !important;
	color: #0F172A !important;
	margin: 2rem auto 0 !important;
	max-width: 700px;
}
.wp-hook-line strong { color: #DC2626; }

/* ===== Deep features (4 z screenami, grid 2x2) ===== */
.wp-deep-features {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	max-width: 1100px;
	margin: 0 auto;
}
.wp-deep-card {
	background: #fff;
	border: 1px solid #E5E9F2;
	border-radius: 16px;
	padding: 2rem !important;
	transition: transform .2s, box-shadow .2s;
}
.wp-deep-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 24px 60px -20px rgba(15,23,42,.18);
}
.wp-deep-card .wp-deep-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 14px;
	background: rgba(220,38,38,.1);
	color: #DC2626;
	margin-bottom: 1.25rem;
}
.wp-deep-card .wp-deep-icon .material-symbols-outlined {
	font-size: 30px;
}
.wp-deep-card h3 {
	font-size: 1.25rem !important;
	font-weight: 700 !important;
	color: #0F172A;
	margin: 0 0 .75rem !important;
	line-height: 1.3;
}
.wp-deep-card p {
	font-size: .95rem !important;
	color: #475569 !important;
	line-height: 1.6 !important;
	margin: 0 0 1.25rem !important;
}
.wp-deep-card .wp-deep-screen {
	display: block;
	width: 100%;
	height: auto;
	max-height: 360px;
	object-fit: cover;
	object-position: top center;
	border-radius: 8px;
	border: 1px solid #E5E9F2;
	cursor: pointer;
	transition: transform .2s;
}
.wp-deep-card .wp-deep-screen:hover {
	transform: scale(1.02);
}

/* ===== Sekcja Legalność (krótka, uspokajająca) ===== */
.wp-legal-grid {
	max-width: 850px;
	margin: 0 auto;
	display: grid;
	gap: 1rem;
}
.wp-legal-item {
	display: flex;
	gap: 1rem;
	padding: 1rem 1.25rem;
	background: #fff;
	border-radius: 8px;
	border-left: 3px solid #10B981;
}
.wp-legal-item .material-symbols-outlined {
	color: #10B981;
	font-size: 24px;
	flex-shrink: 0;
}
.wp-legal-item strong {
	color: #0F172A;
	font-weight: 700;
}
.wp-legal-item p {
	margin: 0 !important;
	font-size: .95rem !important;
	color: #334155 !important;
	line-height: 1.5 !important;
}

/* ===== Demo teaser ===== */
.wp-demo-teaser-img {
	display: block;
	width: 100%;
	max-width: 1100px;
	height: auto;
	margin: 0 auto;
	border-radius: 16px;
	box-shadow: 0 32px 80px -24px rgba(15,23,42,.25);
	border: 1px solid #E5E9F2;
	cursor: pointer;
	transition: transform .25s;
}
.wp-demo-teaser-img:hover {
	transform: translateY(-4px);
}

/* ===== Final CTA strip ===== */
.wp-cta-final {
	background: linear-gradient(135deg, #0F172A 0%, #1E293B 100%);
	color: #fff;
	padding: 4rem 2rem !important;
	border-radius: 20px;
	text-align: center;
	max-width: 1000px;
	margin: 0 auto;
	box-shadow: 0 32px 80px -32px rgba(15,23,42,.5);
	position: relative;
	overflow: hidden;
}
.wp-cta-final::before {
	content: "";
	position: absolute;
	top: -50%;
	right: -10%;
	width: 400px;
	height: 400px;
	background: radial-gradient(circle, rgba(220,38,38,.2) 0%, transparent 70%);
	pointer-events: none;
}
.wp-cta-final .eyebrow {
	color: #FCA5A5 !important;
	margin-bottom: 1rem;
	position: relative;
}
.wp-cta-final h2 {
	color: #fff !important;
	font-size: clamp(1.8rem, 3.5vw, 2.5rem) !important;
	margin: 0 0 1.5rem !important;
	position: relative;
}
.wp-cta-final .wp-cta-row {
	justify-content: center;
	margin-bottom: 1.5rem;
	position: relative;
}
.wp-cta-final .wp-cta-meta {
	color: rgba(255,255,255,.6) !important;
	font-size: .9rem !important;
	margin: 0 !important;
	position: relative;
}

@media (max-width: 768px) {
	.wp-deep-features { grid-template-columns: 1fr; }
	.wp-cta-row .wp-btn-primary,
	.wp-cta-row .wp-btn-ghost { width: 100%; justify-content: center; }
	.wp-cta-final { padding: 3rem 1.5rem !important; margin: 0 1rem; }
}

/* === [BLOCK: landing-workpatrol] END === */

/* === [BLOCK: workpatrol-kontrast-fix] START === */
/* Celowany fix kontrastu czerwieni brandu (WCAG <4.5:1, zmierzone page_audit).
   NIE ruszamy --ok-cta globalnie - staty .ai-stat-num = 5.55:1 PASS.
   UWAGA: bazowy _style_90_wow.css ustawia te elementy z !important
   (nav.neon p > a / .bg-ok-ink .eyebrow = var(--ok-cta) !important), wiec
   override MUSI byc !important i matchowac ten sam selektor, inaczej przegrywa.
   1) przycisk "Zamow demo" (nav.neon p > a): bialy na #EF4444 = 3.76:1 ->
      ciemniejszy czerwony #C81E1E daje ~5.6:1 (bialy tekst zostaje).
   2) .hero-banner + .ai-auth .eyebrow: #EF4444 na ciemnym (#361928/#2A1929)
      = 3.92-4.40:1 -> jasna czerwien #FCA5A5 ~6:1 (spojne z .wp-hero-bg-dark .eyebrow). */
nav.neon p > a,
.neon a { background:#C81E1E !important; }
.hero-banner { color:#FCA5A5 !important; }
.bg-ok-ink .ai-auth .eyebrow,
.ai-auth .eyebrow { color:#FCA5A5 !important; }
/* === [BLOCK: workpatrol-kontrast-fix] 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%); }

/* === [BLOCK: workp-link-contrast-grey] START === */
.bg-grey-lighter a:not(.button):not(.btn):not(.neon a) { color: #B91C1C; }
/* === [BLOCK: workp-link-contrast-grey] END === */

/* === [BLOCK: workpatrol-menu-fit] START === */
/* Menu glowne ma sie miescic w 1 linii na desktopie. Etykiety skrocone w DB
   (name kolumny: "Start"/"Ewidencja czasu pracy"/"Oferta"/"Rejestracja") wystarczaja
   na >=1440px. W pasie 1001-1200px (desktop menu jeszcze widoczne, hamburger wchodzi
   dopiero <=1000px) brakuje ~80px -> domykamy zmniejszeniem odstepow miedzy pozycjami.
   Mobile/hamburger (<=1000px) NIE ruszamy. */
@media (min-width: 1001px) and (max-width: 1200px) {
	nav.header_menu > ul > li > a { padding-left: .45rem; padding-right: .45rem; font-size: .95em; }
}
@media (min-width: 1001px) and (max-width: 1100px) {
	nav.header_menu > ul > li > a { padding-left: .22rem; padding-right: .22rem; font-size: .86em; }
	header.header_main .header_icon { gap: .4rem; }
}
/* === [BLOCK: workpatrol-menu-fit] END === */
