/* Profilio Landingi — Przeglądarka Wizytówek 3.0. Konwersja 1:1 z JSX. Prefix .pfl-wiz-*. */

/* ═══════════════════════════════════════════════════════════════════════════
   0. ROOT TOKENY (z JSX `colors` / gradientCover)
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz {
	--pfl-wiz-brand: #520F7D;
	--pfl-wiz-action: #00A859;
	--pfl-wiz-action-hover: #008A4B;
	--pfl-wiz-contrast: #111827;
	--pfl-wiz-info: #2563EB;
	--pfl-wiz-bg: #F5F7F9;
	--pfl-wiz-surface: #FFFFFF;
	--pfl-wiz-border: #E2E8F0;
	--pfl-wiz-heading: #10213E;
	--pfl-wiz-secondary: #5E6B82;
	--pfl-wiz-grad: linear-gradient(90deg, #00B4DB 0%, #00A859 100%);

	box-sizing: border-box;
	background: var(--pfl-wiz-bg);
	color: #212529;
	font-family: ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
	line-height: 1.5; /* Tailwind preflight: html{line-height:1.5} — baza dla text-[Npx] */
	padding-bottom: 80px;
	min-height: 100vh;
}
.pfl-wiz *,
.pfl-wiz *::before,
.pfl-wiz *::after { box-sizing: border-box; }

/* Mini-preflight form controls (Tailwind preflight): UA daje buttonom/inputom
   font Arial 13.33px — źródło dziedziczy font z html. Bez tego teksty w
   buttonach są szersze i chipy/przyciski zawijają się inaczej niż w źródle. */
.pfl-wiz :where(button, input, select, textarea) {
	font-family: inherit;
	font-size: 100%;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit; /* Tailwind preflight: inputy dziedziczą kolor (#212529 z roota) */
}
.pfl-wiz :where(input, textarea)::placeholder {
	color: #9CA3AF; /* Tailwind preflight: gray-400, opacity 1 */
	opacity: 1;
}

.pfl-wiz .pfl-icon { display: block; vertical-align: middle; flex-shrink: 0; } /* Tailwind preflight: svg{display:block} */

/* ── kolory ikon (z JSX class shortcuts) ─────────────────────────────────── */
.pfl-wiz .pfl-wiz-ico-info { color: var(--pfl-wiz-info); width: 1.2em; height: 1.2em; } /* JSX CountryFlag: Globe w-[1.2em] h-[1.2em] — em jak w źródle, niezależnie od atrybutów svg */
.pfl-wiz .pfl-wiz-ico-gray { color: #9CA3AF; }
.pfl-wiz .pfl-wiz-ico-yellow { color: #FACC15; }

/* ── flagi emoji ─────────────────────────────────────────────────────────── */
.pfl-wiz .pfl-wiz-flag { font-size: 1.2em; line-height: 1; }

/* ═══════════════════════════════════════════════════════════════════════════
   1. LAYOUT
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-main {
	max-width: 1440px;
	margin: 0 auto;
	padding: 32px 16px 0;
}
@media (min-width: 640px) { .pfl-wiz-main { padding-left: 24px; padding-right: 24px; } }
@media (min-width: 1024px) { .pfl-wiz-main { padding-left: 32px; padding-right: 32px; } }

/* ── Page header ─────────────────────────────────────────────────────────── */
.pfl-wiz-pagehead { margin-bottom: 32px; }
.pfl-wiz-pagehead__top {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
}
@media (min-width: 768px) {
	.pfl-wiz-pagehead__top { flex-direction: row; align-items: flex-end; }
}
/* JSX: h1 siedzi w div.flex.items-center.gap-3.mb-2 -> h1 = flex item (max-content) */
.pfl-wiz-pagehead__title-row {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 8px;
}
.pfl-wiz-pagehead__title {
	font-size: 30px;
	line-height: 36px; /* text-3xl */
	font-weight: 800;
	letter-spacing: -0.025em;
	color: var(--pfl-wiz-heading);
	margin: 0;
}
.pfl-wiz-pagehead__sub {
	color: var(--pfl-wiz-secondary);
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 500;
	margin: 0;
}
.pfl-wiz-pagehead__actions {
	display: flex;
	align-items: center;
	gap: 12px;
	width: 100%;
}
@media (min-width: 768px) { .pfl-wiz-pagehead__actions { width: auto; } }

/* ── Search bar (page) ───────────────────────────────────────────────────── */
.pfl-wiz-searchbar { position: relative; flex: 1; }
@media (min-width: 768px) { .pfl-wiz-searchbar { width: 320px; flex: none; } }
.pfl-wiz-searchbar__ico {
	position: absolute;
	left: 14px;
	top: 50%;
	transform: translateY(-50%);
	color: #9CA3AF;
	pointer-events: none;
}
.pfl-wiz-searchbar__input {
	width: 100%;
	padding: 12px 16px 12px 44px;
	background: #fff;
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 500;
	color: #212529; /* JSX: brak klasy koloru -> inherit z roota (sonda: rgb(33,37,41)) */
	outline: none;
	transition: all 0.2s;
}
.pfl-wiz-searchbar__input:focus {
	border-color: var(--pfl-wiz-action);
	box-shadow: 0 0 0 2px rgba(0,168,89,0.2);
}

/* ── Sort select (page) ──────────────────────────────────────────────────── */
.pfl-wiz-sort { display: none; }
@media (min-width: 1024px) { .pfl-wiz-sort { display: block; width: 240px; } }

/* ── Active filters bar ──────────────────────────────────────────────────── */
.pfl-wiz-active {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 16px;
	animation: pfl-wiz-fade 0.3s ease;
}
.pfl-wiz-active[hidden] { display: none !important; }
.pfl-wiz-mobile-actions__count[hidden] { display: none !important; }
.pfl-wiz-grid[hidden] { display: none !important; }
.pfl-wiz-active__label {
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 700;
	color: #6B7280;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	margin-right: 4px;
}
.pfl-wiz-active__chips { display: contents; }
.pfl-wiz-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 12px;
	border-radius: 9999px;
	background: #fff;
	border: 1px solid #E5E7EB;
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 600;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-chip__x {
	width: 14px;
	height: 14px;
	cursor: pointer;
	color: #9CA3AF;
	transition: color 0.15s;
}
.pfl-wiz-chip__x:hover { color: #EF4444; }
.pfl-wiz-active__clear {
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 700;
	color: var(--pfl-wiz-info);
	background: none;
	border: none;
	cursor: pointer;
	margin-left: 8px;
	padding: 0;
}
.pfl-wiz-active__clear:hover { text-decoration: underline; }

/* ── Layout grid: sidebar + content ──────────────────────────────────────── */
.pfl-wiz-layout {
	display: flex;
	flex-direction: column;
	gap: 32px;
}
@media (min-width: 1024px) { .pfl-wiz-layout { flex-direction: row; } }

.pfl-wiz-sidebar { display: none; }
@media (min-width: 1024px) {
	.pfl-wiz-sidebar { display: block; width: 320px; flex-shrink: 0; }
}
.pfl-wiz-sidebar__sticky { position: sticky; top: 100px; }

.pfl-wiz-results { flex: 1; min-width: 0; }
.pfl-wiz-results__head {
	margin-bottom: 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 600;
	color: #4B5563;
}
.pfl-wiz-results__num { color: var(--pfl-wiz-heading); margin-left: 4px; }

/* ── View switch ─────────────────────────────────────────────────────────── */
.pfl-wiz-viewswitch {
	display: flex;
	background: #fff;
	border: 1px solid #E5E7EB;
	border-radius: 12px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	overflow: hidden;
}
.pfl-wiz-viewswitch--desktop { display: none; height: 42px; }
@media (min-width: 1024px) { .pfl-wiz-viewswitch--desktop { display: flex; } }
.pfl-wiz-viewswitch--mobile { height: 44px; }
.pfl-wiz-viewswitch__btn {
	padding: 0 16px;
	background: none;
	border: none;
	cursor: pointer;
	color: #6B7280;
	display: flex;
	align-items: center;
	transition: background 0.15s, color 0.15s;
}
.pfl-wiz-viewswitch--desktop .pfl-wiz-viewswitch__btn:hover { background: #F9FAFB; }
.pfl-wiz-viewswitch--desktop .pfl-wiz-viewswitch__btn:nth-child(2) { border-left: 1px solid #E5E7EB; }
.pfl-wiz-viewswitch--desktop .pfl-wiz-viewswitch__btn.is-active {
	background: var(--pfl-wiz-contrast);
	color: #fff;
}
.pfl-wiz-viewswitch--mobile .pfl-wiz-viewswitch__btn { color: #9CA3AF; }
.pfl-wiz-viewswitch--mobile .pfl-wiz-viewswitch__btn:hover { color: #4B5563; }
.pfl-wiz-viewswitch--mobile .pfl-wiz-viewswitch__btn.is-active {
	background: #F3F4F6;
	color: var(--pfl-wiz-heading);
}
.pfl-wiz-viewswitch__sep { width: 1px; background: #E5E7EB; }

/* ── Mobile actions ──────────────────────────────────────────────────────── */
.pfl-wiz-mobile-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 16px;
}
@media (min-width: 1024px) { .pfl-wiz-mobile-actions { display: none; } }
.pfl-wiz-mobile-actions__filters { flex: 1; margin-right: 8px; }
.pfl-wiz-mobile-actions__count {
	margin-left: 8px;
	background: var(--pfl-wiz-contrast);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 9999px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   2. BUTTONS (z JSX Button variants)
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	transition: all 0.2s;
	cursor: pointer;
	border: none;
	font-size: 16px; /* JSX Button bez text-* -> bazowe 16px */
	gap: 6px;
}
.pfl-wiz-btn:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pfl-wiz-action); }
.pfl-wiz-btn--primary {
	background: var(--pfl-wiz-action);
	color: #fff;
	border-radius: 9999px;
	padding: 10px 20px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-btn--primary:hover { background: var(--pfl-wiz-action-hover); }
.pfl-wiz-btn--secondary {
	background: var(--pfl-wiz-contrast);
	color: #fff;
	border-radius: 12px;
	padding: 10px 16px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-btn--secondary:hover { background: #000; }
.pfl-wiz-btn--secondary:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pfl-wiz-contrast); }
.pfl-wiz-btn--ghost {
	background: #fff;
	border: 1px solid var(--pfl-wiz-border);
	color: var(--pfl-wiz-heading);
	border-radius: 12px;
	padding: 10px 16px;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-btn--ghost:hover { background: #F9FAFB; }
.pfl-wiz-btn--ghost:focus-visible { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pfl-wiz-info); }

/* ═══════════════════════════════════════════════════════════════════════════
   3. RESULTS GRID + CARDS (Flip)
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-grid {
	display: grid;
	gap: 24px;
	grid-template-columns: 1fr;
	animation: pfl-wiz-fade 0.5s ease;
}
@media (min-width: 768px) {
	.pfl-wiz[data-view="grid"] .pfl-wiz-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 1280px) {
	.pfl-wiz[data-view="grid"] .pfl-wiz-grid { grid-template-columns: repeat(3, 1fr); }
}
/* list view -> 1 kolumna */
.pfl-wiz[data-view="list"] .pfl-wiz-grid { grid-template-columns: 1fr; }

/* karta (hidden gdy filtr odrzuca) */
.pfl-wiz-card[hidden] { display: none; }

.pfl-wiz-card {
	position: relative;
	perspective: 1000px;
	height: auto;
}
.pfl-wiz-card__inner {
	position: relative;
	width: 100%;
	height: 100%;
	transition: transform 0.7s;
	transform-style: preserve-3d;
}
.pfl-wiz-card.is-flipped .pfl-wiz-card__inner { transform: rotateY(180deg); }

.pfl-wiz-card__face {
	backface-visibility: hidden;
	-webkit-backface-visibility: hidden;
}
.pfl-wiz-card__front {
	background: #fff;
	border-radius: 24px;
	border: 1px solid var(--pfl-wiz-border);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	height: 100%;
	transition: box-shadow 0.3s, transform 0.3s;
}
.pfl-wiz-card:hover .pfl-wiz-card__front {
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
}
.pfl-wiz-card__back {
	position: absolute;
	inset: 0;
	background: #fff;
	border-radius: 24px;
	border: 1px solid var(--pfl-wiz-border);
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
	transform: rotateY(180deg);
	display: flex;
	flex-direction: column;
	padding: 20px;
}

/* list-view front: horyzont od sm */
@media (min-width: 640px) {
	.pfl-wiz[data-view="list"] .pfl-wiz-card__front { flex-direction: row; }
}

/* ── Cover ───────────────────────────────────────────────────────────────── */
.pfl-wiz-card__cover {
	position: relative;
	background: #F3F4F6;
	flex-shrink: 0;
	height: 128px;
}
@media (min-width: 640px) {
	.pfl-wiz[data-view="list"] .pfl-wiz-card__cover { width: 192px; height: auto; }
}
.pfl-wiz-card__cover-grad { position: absolute; inset: 0; opacity: 0.9; }

.pfl-wiz-card__flip-btn {
	position: absolute;
	top: 16px;
	left: 16px;
	z-index: 20;
	width: 32px;
	height: 32px;
	background: rgba(0,0,0,0.15);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.2);
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	transition: background 0.2s;
}
.pfl-wiz-card__flip-btn:hover { background: rgba(0,0,0,0.3); }

.pfl-wiz-card__featured { position: absolute; top: 16px; right: 16px; }
.pfl-wiz-badge-featured {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	border-radius: 9999px;
	background: var(--pfl-wiz-contrast);
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.025em;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}

/* avatar */
.pfl-wiz-card__avatar-wrap {
	position: absolute;
	bottom: -48px;
	left: 24px;
}
/* list view (mobile <640): avatar bottom -40px (JSX -bottom-10) */
.pfl-wiz[data-view="list"] .pfl-wiz-card__avatar-wrap { bottom: -40px; }
@media (min-width: 640px) {
	.pfl-wiz[data-view="list"] .pfl-wiz-card__avatar-wrap {
		top: 50%;
		left: 50%;
		bottom: auto;
		transform: translate(-50%, -50%);
	}
}
.pfl-wiz-card__avatar-rel { position: relative; }
.pfl-wiz-card__avatar {
	width: 88px;
	height: 88px;
	border-radius: 9999px;
	border: 4px solid #fff;
	object-fit: cover;
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
	background: #fff;
	display: block;
}
.pfl-wiz-card__verify {
	position: absolute;
	top: -4px;
	right: -4px;
	width: 24px;
	height: 24px;
	border-radius: 9999px;
	border: 2px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	color: #fff;
}
.pfl-wiz-card__verify--green { background: #16A34A; }
.pfl-wiz-card__verify--blue { background: #2563EB; }
.pfl-wiz-card__aura {
	position: absolute;
	bottom: -4px;
	left: 50%;
	transform: translateX(-50%);
	width: 24px;
	height: 24px;
	border-radius: 9999px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	border: 1px solid #F3F4F6;
}
.pfl-wiz-aura-dot {
	width: 14px;
	height: 14px;
	border-radius: 9999px;
	display: inline-block;
}
.pfl-wiz-aura-dot--white { background: #fff; border: 1px solid var(--pfl-wiz-border); }
.pfl-wiz-aura-dot--sm { width: 10px; height: 10px; flex-shrink: 0; box-shadow: 0 1px 2px rgba(0,0,0,0.05); }

/* ── Card body ───────────────────────────────────────────────────────────── */
.pfl-wiz-card__body {
	flex: 1;
	padding: 24px;
	padding-top: 56px;
	display: flex;
	flex-direction: column;
}
.pfl-wiz[data-view="list"] .pfl-wiz-card__body { padding-top: 48px; }
@media (min-width: 640px) {
	.pfl-wiz[data-view="list"] .pfl-wiz-card__body { padding-top: 24px; }
}

.pfl-wiz-card__head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 16px;
	margin-bottom: 4px;
}
.pfl-wiz-card__head-l { min-width: 0; }
.pfl-wiz-card__name {
	font-size: 18px;
	line-height: 28px; /* text-lg */
	font-weight: 700;
	color: var(--pfl-wiz-heading);
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pfl-wiz-card__loc {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	line-height: 20px; /* text-sm */
	color: var(--pfl-wiz-secondary);
	margin-top: 2px;
}
.pfl-wiz-card__price-wrap { text-align: right; flex-shrink: 0; }
.pfl-wiz-card__price {
	font-size: 18px;
	line-height: 28px; /* text-lg */
	font-weight: 800;
	color: var(--pfl-wiz-heading);
	letter-spacing: -0.025em;
}

.pfl-wiz-card__rating {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}
.pfl-wiz-card__rating-num { font-weight: 700; color: var(--pfl-wiz-heading); }
.pfl-wiz-card__rating-num.is-empty { color: #9CA3AF; }
.pfl-wiz-card__stars { display: flex; gap: 2px; }
.pfl-wiz-star-on { color: #FACC15; }
.pfl-wiz-star-on polygon, .pfl-wiz-star-on path { fill: currentColor; }
.pfl-wiz-star-off { color: #D1D5DB; }
.pfl-wiz-card__jobs { font-size: 12px; line-height: 16px; /* text-xs */ font-weight: 600; color: #6B7280; }

.pfl-wiz-card__inds {
	margin-top: 16px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}
.pfl-wiz-ind {
	display: inline-flex;
	align-items: center;
	padding: 4px 10px;
	border-radius: 9999px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.025em;
}
.pfl-wiz-ind--main { background: #ECFDF5; color: #047857; border: 1px solid #A7F3D0; }
.pfl-wiz-ind--sub { background: #F9FAFB; color: #4B5563; border: 1px solid #E5E7EB; }
.pfl-wiz-ind--more { background: #F9FAFB; color: #6B7280; border: 1px solid #E5E7EB; padding: 4px 8px; }
.pfl-wiz-ind__tag {
	margin-left: 6px;
	opacity: 0.75;
	font-weight: 500;
	font-size: 9px;
	text-transform: uppercase;
}

.pfl-wiz-card__avail {
	margin-top: 12px;
	display: inline-flex;
	align-items: center;
	gap: 6px;
}
.pfl-wiz-card__avail-dot {
	width: 8px;
	height: 8px;
	border-radius: 9999px;
	background: var(--pfl-wiz-action);
	box-shadow: 0 0 4px rgba(0,168,89,0.5);
	animation: pfl-wiz-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;
}
.pfl-wiz-card__avail-txt {
	font-size: 11px;
	font-weight: 700;
	color: var(--pfl-wiz-action);
	text-transform: uppercase;
	letter-spacing: 0.025em;
}

.pfl-wiz-card__cat {
	margin-top: auto;
	padding-top: 16px;
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 600;
	color: var(--pfl-wiz-heading);
}
.pfl-wiz-card__cat-sep { margin: 0 6px; color: #D1D5DB; }
.pfl-wiz-card__org { color: var(--pfl-wiz-secondary); font-weight: 500; }

.pfl-wiz-card__actions {
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #F3F4F6;
	display: flex;
	align-items: center;
	gap: 12px;
}
.pfl-wiz-card__act { flex: 1; padding-top: 10px; padding-bottom: 10px; font-size: 12px; line-height: 16px; } /* py-2.5 wygrywa z py-2 w arkuszu; text-xs */

/* ── Card BACK ───────────────────────────────────────────────────────────── */
.pfl-wiz-card__back-head {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 12px;
}
.pfl-wiz-card__back-title {
	font-size: 18px;
	line-height: 28px; /* text-lg */
	font-weight: 800;
	color: var(--pfl-wiz-heading);
	margin: 0;
}
.pfl-wiz-card__back-sub {
	font-size: 11px;
	font-weight: 500;
	color: var(--pfl-wiz-secondary);
	margin: 2px 0 0;
}
.pfl-wiz-card__flip-back {
	width: 32px;
	height: 32px;
	background: #F3F4F6;
	border: 1px solid #E5E7EB;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #4B5563;
	cursor: pointer;
	flex-shrink: 0;
	transition: background 0.15s;
}
.pfl-wiz-card__flip-back:hover { background: #E5E7EB; }

.pfl-wiz-card__back-scroll {
	flex: 1;
	overflow-y: auto;
	padding-right: 4px;
	display: flex;
	flex-direction: column;
	gap: 16px;
	margin-top: 8px;
}
.pfl-wiz-card__back-top { display: flex; gap: 16px; }
.pfl-wiz-card__back-bio { flex: 1; min-width: 0; }
.pfl-wiz-card__back-h {
	font-size: 10px;
	font-weight: 700;
	color: var(--pfl-wiz-info);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 6px;
}
.pfl-wiz-card__back-text {
	font-size: 11px;
	color: var(--pfl-wiz-secondary);
	font-weight: 500;
	line-height: 1.625;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.pfl-wiz-card__back-tags {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 12px;
}
.pfl-wiz-mini-tag {
	padding: 2px 8px;
	background: #EFF6FF;
	color: var(--pfl-wiz-info);
	font-size: 9px;
	font-weight: 700;
	border-radius: 4px;
}
.pfl-wiz-card__back-div { width: 1px; height: 12px; background: #E5E7EB; margin: 0 4px; }
.pfl-wiz-soc { color: #9CA3AF; cursor: pointer; transition: color 0.15s; }
.pfl-wiz-soc--li:hover { color: var(--pfl-wiz-info); }
.pfl-wiz-soc--ig:hover { color: #E1306C; }

.pfl-wiz-card__qr {
	width: 84px;
	height: 84px;
	background: #fff;
	border: 2px solid var(--pfl-wiz-info);
	border-radius: 12px;
	padding: 6px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	position: relative;
	overflow: hidden;
}
.pfl-wiz-card__qr-grad { position: absolute; inset: 0; opacity: 0.05; }
.pfl-wiz-card__qr-ico { width: 100%; height: 100%; color: var(--pfl-wiz-info); }

.pfl-wiz-card__contact {
	background: var(--pfl-wiz-bg);
	border-radius: 12px;
	padding: 14px;
	border: 1px solid var(--pfl-wiz-border);
	margin-top: auto;
}
.pfl-wiz-card__contact-h {
	font-size: 10px;
	font-weight: 700;
	color: var(--pfl-wiz-heading);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin: 0 0 10px;
}
.pfl-wiz-card__contact-list { display: flex; flex-direction: column; gap: 10px; }
.pfl-wiz-card__contact-row { display: flex; align-items: center; gap: 12px; }
.pfl-wiz-card__contact-ico {
	width: 28px;
	height: 28px;
	border-radius: 9999px;
	background: #fff;
	border: 1px solid #E5E7EB;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-card__contact-data { min-width: 0; }
.pfl-wiz-card__contact-lbl {
	font-size: 9px;
	color: #6B7280;
	text-transform: uppercase;
	font-weight: 700;
	letter-spacing: 0.025em;
}
.pfl-wiz-card__contact-val {
	font-size: 11px;
	font-weight: 700;
	color: var(--pfl-wiz-heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.pfl-wiz-card__back-actions {
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid #F3F4F6;
	display: flex;
	gap: 8px;
}
.pfl-wiz-card__back-actions .pfl-wiz-card__act { padding-top: 10px; padding-bottom: 10px; font-size: 12px; line-height: 16px; }

/* ── Empty state ─────────────────────────────────────────────────────────── */
.pfl-wiz-empty {
	background: #fff;
	border-radius: 24px;
	border: 1px solid var(--pfl-wiz-border);
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	padding: 48px;
	text-align: center;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.pfl-wiz-empty[hidden] { display: none !important; }
.pfl-wiz-empty__ico {
	width: 80px;
	height: 80px;
	background: #F9FAFB;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 16px;
	border: 1px solid #F3F4F6;
}
.pfl-wiz-empty__h {
	font-size: 20px;
	line-height: 28px; /* text-xl */
	font-weight: 700;
	color: var(--pfl-wiz-heading);
	margin: 0 0 8px;
}
.pfl-wiz-empty__p {
	color: var(--pfl-wiz-secondary);
	margin: 0 0 24px;
	max-width: 28rem;
}

/* ═══════════════════════════════════════════════════════════════════════════
   4. FILTERS (Section / Toggle / Select / Range / StarRatingInput / Aura)
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-filters { display: flex; flex-direction: column; gap: 16px; }

.pfl-wiz-section {
	background: #fff;
	border-radius: 16px;
	border: 1px solid var(--pfl-wiz-border);
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-section__bar { height: 4px; width: 100%; opacity: 0.9; }
.pfl-wiz-section__toggle {
	width: 100%;
	padding: 16px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #fff;
	border: none;
	cursor: pointer;
	transition: background 0.15s;
}
.pfl-wiz-section__toggle:hover { background: #F9FAFB; }
.pfl-wiz-section__title {
	font-weight: 600;
	color: var(--pfl-wiz-heading);
	font-size: 14px;
	line-height: 20px; /* text-sm */
}
.pfl-wiz-section__chev { color: #9CA3AF; }
.pfl-wiz .pfl-wiz-section__chev--down { display: none; } /* musi wygrać z .pfl-wiz .pfl-icon */
.pfl-wiz-section.is-collapsed .pfl-wiz-section__chev--up { display: none; }
.pfl-wiz-section.is-collapsed .pfl-wiz-section__chev--down { display: block; }
.pfl-wiz-section__body { padding: 4px 20px 20px; }
.pfl-wiz-section.is-collapsed .pfl-wiz-section__body { display: none; }

/* ── Industries (tag toggle list + search) ───────────────────────────────── */
.pfl-wiz-inds-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 16px;
	max-height: 240px;
	overflow-y: auto;
	padding-right: 4px;
}
.pfl-wiz-ind-btn {
	padding: 6px 12px;
	border-radius: 9999px;
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 600;
	transition: all 0.2s;
	border: 1px solid var(--pfl-wiz-border);
	background: #fff;
	color: var(--pfl-wiz-secondary);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
}
.pfl-wiz-ind-btn:hover { background: var(--pfl-wiz-bg); }
.pfl-wiz-ind-btn.is-active {
	background: #ECFDF5;
	color: #047857;
	border-color: #6EE7B7;
	box-shadow: 0 0 0 1px #A7F3D0;
}
.pfl-wiz .pfl-wiz-ind-btn__check { display: none; margin-left: 4px; } /* musi wygrać z .pfl-wiz .pfl-icon */
.pfl-wiz-ind-btn.is-active .pfl-wiz-ind-btn__check { display: block; }
.pfl-wiz-ind-btn[hidden] { display: none; }
.pfl-wiz-inds-empty {
	font-size: 12px;
	line-height: 16px; /* text-xs */
	color: #6B7280;
	padding: 8px 0;
	width: 100%;
	text-align: center;
}

.pfl-wiz-ind-search { position: relative; margin-top: 8px; }
.pfl-wiz-ind-search__ico {
	position: absolute;
	left: 12px;
	top: 50%;
	transform: translateY(-50%);
	color: #9CA3AF;
	pointer-events: none;
}
.pfl-wiz-ind-search__input {
	width: 100%;
	padding: 10px 12px 10px 32px;
	background: var(--pfl-wiz-bg);
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 12px;
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 500;
	outline: none;
	transition: border-color 0.15s, box-shadow 0.15s;
}
.pfl-wiz-ind-search__input:focus {
	border-color: var(--pfl-wiz-action);
	box-shadow: 0 0 0 2px rgba(0,168,89,0.2);
}

/* ── Location block ──────────────────────────────────────────────────────── */
.pfl-wiz-loc { display: flex; flex-direction: column; gap: 20px; }

.pfl-wiz-field__label {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.025em;
	color: #6B7280;
	margin-bottom: 6px;
	display: block;
}
.pfl-wiz-input {
	width: 100%;
	padding: 10px 16px;
	background: var(--pfl-wiz-bg);
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 12px;
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 500;
	outline: none;
	transition: all 0.15s;
}
.pfl-wiz-input:hover { border-color: #D1D5DB; }
.pfl-wiz-input:focus {
	border-color: var(--pfl-wiz-action);
	background: #fff;
	box-shadow: 0 0 0 2px rgba(0,168,89,0.2);
}
.pfl-wiz-field__hint { margin-top: 6px; font-size: 11px; color: #6B7280; font-weight: 500; }
.pfl-wiz-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

/* ── Range box (zasięg / liczba zleceń / ocena) ──────────────────────────── */
.pfl-wiz-range-box {
	background: var(--pfl-wiz-bg);
	padding: 16px;
	border-radius: 16px;
	border: 1px solid var(--pfl-wiz-border);
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-range-box__head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 12px;
}
.pfl-wiz-range-box__head--tight { margin-bottom: 4px; }
.pfl-wiz-range-box__label {
	font-weight: 700;
	color: var(--pfl-wiz-heading);
	font-size: 14px;
	line-height: 20px; /* text-sm */
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	margin-right: 8px;
}
.pfl-wiz-range-box__chip {
	display: inline-flex;
	flex-shrink: 0;
	align-items: center;
	justify-content: center;
	padding: 4px 10px;
	background: rgba(0,168,89,0.1);
	color: var(--pfl-wiz-action);
	border-radius: 8px;
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 800;
	border: 1px solid rgba(0,168,89,0.2);
}
.pfl-wiz-range-box__hint {
	margin-top: 8px;
	font-size: 11px;
	color: var(--pfl-wiz-secondary);
	font-weight: 500;
	line-height: 1.25;
}

/* range slider */
.pfl-wiz-range {
	width: 100%;
	height: 6px;
	border-radius: 8px;
	appearance: none;
	-webkit-appearance: none;
	background: #E5E7EB;
	cursor: pointer;
	accent-color: var(--pfl-wiz-action);
}
.pfl-wiz-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 16px;
	height: 16px;
	border-radius: 9999px;
	background: var(--pfl-wiz-action);
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
	cursor: pointer;
}
.pfl-wiz-range::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border: none;
	border-radius: 9999px;
	background: var(--pfl-wiz-action);
	box-shadow: 0 4px 6px -1px rgba(0,0,0,0.1);
	cursor: pointer;
}
.pfl-wiz-range.is-disabled {
	accent-color: #9CA3AF;
	cursor: not-allowed;
}
.pfl-wiz-range.is-disabled::-webkit-slider-thumb { background: #9CA3AF; }
.pfl-wiz-range.is-disabled::-moz-range-thumb { background: #9CA3AF; }

/* ── Toggles ─────────────────────────────────────────────────────────────── */
.pfl-wiz-toggles { display: flex; flex-direction: column; gap: 4px; } /* space-y-1 */
.pfl-wiz-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 0;
	cursor: pointer;
}
.pfl-wiz-toggle__label { font-size: 14px; line-height: 20px; /* text-sm */ font-weight: 500; color: var(--pfl-wiz-heading); }
.pfl-wiz-toggle__track {
	position: relative;
	display: inline-flex;
	height: 24px;
	width: 44px;
	align-items: center;
	border-radius: 9999px;
	background: #E5E7EB;
	transition: background 0.2s;
	flex-shrink: 0;
}
.pfl-wiz-toggle.is-on .pfl-wiz-toggle__track { background: var(--pfl-wiz-action); }
.pfl-wiz-toggle__knob {
	display: inline-block;
	height: 16px;
	width: 16px;
	border-radius: 9999px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	transform: translateX(4px);
	transition: transform 0.2s;
}
.pfl-wiz-toggle.is-on .pfl-wiz-toggle__knob { transform: translateX(24px); }
.pfl-wiz-toggle__input { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; }

.pfl-wiz-trust { display: flex; flex-direction: column; gap: 16px; }

/* ── StarRatingInput (JSX 270-337) ───────────────────────────────────────── */
.pfl-wiz-stars-input {
	display: flex;
	align-items: center;
	width: 100%;
	margin-top: 6px;
}
.pfl-wiz-stars-input__row {
	display: flex;
	align-items: center;
	gap: 6px;
	flex: 1;
}
.pfl-wiz-star-cell {
	position: relative;
	width: 28px;
	height: 28px;
	cursor: pointer;
	transition: transform 0.2s;
}
@media (min-width: 640px) { .pfl-wiz-star-cell { width: 32px; height: 32px; } }
.pfl-wiz-star-cell:hover { transform: scale(1.1); }
.pfl-wiz-star-cell:active { transform: scale(0.95); }
.pfl-wiz-star-cell__half {
	position: absolute;
	top: 0;
	height: 100%;
	width: 50%;
	z-index: 10;
}
.pfl-wiz-star-cell__half--l { left: 0; }
.pfl-wiz-star-cell__half--r { right: 0; }
.pfl-wiz-star-cell__bg {
	width: 100%;
	height: 100%;
	color: #D1D5DB;
	transition: color 0.2s;
}
.pfl-wiz-star-cell__bg polygon { fill: none; }
/* podświetlona całość */
.pfl-wiz-star-cell.is-active .pfl-wiz-star-cell__bg { color: #FACC15; }
.pfl-wiz-star-cell.is-full .pfl-wiz-star-cell__bg polygon { fill: currentColor; }
/* połówka nakładana */
.pfl-wiz .pfl-wiz-star-cell__half-fill { /* prefiks .pfl-wiz: musi wygrać z .pfl-wiz .pfl-icon */
	width: 100%;
	height: 100%;
	color: #FACC15;
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
	clip-path: inset(0 50% 0 0);
	display: none;
}
.pfl-wiz-star-cell__half-fill polygon { fill: currentColor; }
.pfl-wiz-star-cell.is-half .pfl-wiz-star-cell__half-fill { display: block; }

.pfl-wiz-stars-input__num {
	margin-left: 12px;
	font-weight: 900;
	font-size: 20px;
	line-height: 28px; /* text-xl */
	width: 40px;
	text-align: center;
	color: var(--pfl-wiz-heading);
	transition: color 0.2s;
}
.pfl-wiz-stars-input__num.is-empty { color: #D1D5DB; }

.pfl-wiz-stars-input__clear {
	padding: 6px;
	border-radius: 9999px;
	background: #F3F4F6;
	color: #9CA3AF;
	border: none;
	cursor: pointer;
	transition: all 0.2s;
	opacity: 0;
	transform: scale(0.9);
	pointer-events: none;
}
.pfl-wiz-stars-input__clear:hover { color: #EF4444; background: #FEF2F2; }
.pfl-wiz-stars-input.is-set .pfl-wiz-stars-input__clear {
	opacity: 1;
	transform: scale(1);
	pointer-events: auto;
}

/* ── Aura ────────────────────────────────────────────────────────────────── */
.pfl-wiz-aura { padding-top: 4px; }
.pfl-wiz-aura__label { margin-bottom: 8px; }
.pfl-wiz-aura__list { display: flex; flex-wrap: wrap; gap: 8px; }
.pfl-wiz-aura-btn {
	padding: 6px 12px;
	border-radius: 12px;
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 600;
	border: 1px solid #E5E7EB;
	background: #fff;
	color: #374151;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6px;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.pfl-wiz-aura-btn.is-active {
	background: var(--pfl-wiz-contrast);
	color: #fff;
	border-color: transparent;
}

/* ═══════════════════════════════════════════════════════════════════════════
   5. CUSTOM SELECT (JSX 220-265)
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-select { position: relative; }
.pfl-wiz-select__btn {
	width: 100%;
	min-height: 48px;
	background: var(--pfl-wiz-bg);
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 12px;
	padding: 8px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 600;
	color: var(--pfl-wiz-heading);
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	cursor: pointer;
	transition: all 0.2s;
}
.pfl-wiz-select__btn:hover { border-color: var(--pfl-wiz-action); background: #fff; }
.pfl-wiz-select__btn:focus {
	outline: none;
	border-color: var(--pfl-wiz-action);
	box-shadow: 0 0 0 2px rgba(0,168,89,0.2);
}
.pfl-wiz-select__current {
	display: flex;
	align-items: center;
	gap: 8px;
	overflow: hidden;
}
.pfl-wiz-select__current-ico { display: inline-flex; align-items: center; }
.pfl-wiz-select__current-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.pfl-wiz-select__chev {
	color: #9CA3AF;
	flex-shrink: 0;
	margin-left: 8px;
	transition: transform 0.2s, color 0.2s;
}
.pfl-wiz-select.is-open .pfl-wiz-select__chev { transform: rotate(180deg); color: var(--pfl-wiz-action); }

.pfl-wiz-select__menu {
	position: absolute;
	z-index: 50;
	width: 100%;
	margin-top: 8px;
	background: #fff;
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 16px;
	box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1), 0 8px 10px -6px rgba(0,0,0,0.1);
	overflow: hidden;
	max-height: 256px;
	overflow-y: auto;
	padding: 4px;
	display: none;
	animation: pfl-wiz-fade-down 0.15s ease;
}
.pfl-wiz-select.is-open .pfl-wiz-select__menu { display: block; }
.pfl-wiz-select__opt {
	width: 100%;
	padding: 10px 12px;
	text-align: left;
	display: flex;
	align-items: center;
	gap: 12px;
	border-radius: 12px;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--pfl-wiz-heading);
	transition: background 0.15s;
}
.pfl-wiz-select__opt:hover { background: var(--pfl-wiz-bg); }
.pfl-wiz-select__opt.is-active { background: #ECFDF5; color: var(--pfl-wiz-action); }
.pfl-wiz-select__opt-ico { margin-top: 2px; display: inline-flex; }
.pfl-wiz-select__opt-body { display: flex; flex-direction: column; }
.pfl-wiz-select__opt-label { font-size: 14px; line-height: 20px; /* text-sm */ font-weight: 600; }
.pfl-wiz-select__opt.is-active .pfl-wiz-select__opt-label { font-weight: 700; }
.pfl-wiz-select__opt-hint { font-size: 11px; color: #6B7280; font-weight: 500; }
.pfl-wiz .pfl-wiz-select__opt-check { margin-left: auto; display: none; } /* musi wygrać z .pfl-wiz .pfl-icon */
.pfl-wiz-select__opt.is-active .pfl-wiz-select__opt-check { display: block; }

/* ═══════════════════════════════════════════════════════════════════════════
   6. MODALS (Modal — JSX 202-218)
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-modal {
	position: fixed;
	inset: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
}
@media (min-width: 640px) { .pfl-wiz-modal { padding: 24px; } }
.pfl-wiz-modal[hidden] { display: none; }
.pfl-wiz-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(17,24,39,0.5);
	backdrop-filter: blur(4px);
}
.pfl-wiz-modal__box {
	position: relative;
	background: #fff;
	border-radius: 24px;
	box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25);
	width: 100%;
	max-height: 95vh;
	display: flex;
	flex-direction: column;
	animation: pfl-wiz-zoom 0.2s ease;
}
.pfl-wiz-modal__box--narrow { max-width: 32rem; }
.pfl-wiz-modal__box--wide { max-width: 64rem; }
.pfl-wiz-modal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 24px;
	border-bottom: 1px solid var(--pfl-wiz-border);
}
.pfl-wiz-modal__title { font-size: 18px; line-height: 28px; /* text-lg */ font-weight: 700; color: var(--pfl-wiz-heading); margin: 0; }
.pfl-wiz-modal__x {
	padding: 8px;
	border-radius: 9999px;
	background: none;
	border: none;
	cursor: pointer;
	color: #6B7280;
	transition: background 0.15s;
}
.pfl-wiz-modal__x:hover { background: #F3F4F6; }
.pfl-wiz-modal__body { overflow-y: auto; padding: 24px; }

.pfl-wiz-modal__filters-foot {
	margin-top: 24px;
	display: flex;
	gap: 12px;
	position: sticky;
	bottom: 0;
	background: #fff;
	padding-top: 16px;
	border-top: 1px solid #F3F4F6;
}
.pfl-wiz-modal__filters-btn { flex: 1; }

/* ═══════════════════════════════════════════════════════════════════════════
   7. PREVIEW MODAL CONTENT (JSX 1074-1282)
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-preview {
	display: flex;
	flex-direction: column;
	gap: 32px;
}
@media (min-width: 1024px) { .pfl-wiz-preview { flex-direction: row; } }

.pfl-wiz-pv-card {
	flex: 1;
	background: #fff;
	border-radius: 24px;
	border: 1px solid var(--pfl-wiz-border);
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	overflow: visible;
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 10;
}

/* floating trust badges */
.pfl-wiz-pv-badge {
	display: none;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 20;
}
@media (min-width: 1280px) { .pfl-wiz-pv-badge { display: flex; } }
.pfl-wiz-pv-badge--l { left: -48px; }
.pfl-wiz-pv-badge--r { right: -48px; }
.pfl-wiz-pv-badge__box {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1), 0 4px 6px -4px rgba(0,0,0,0.1);
	border: 1px solid var(--pfl-wiz-border);
	padding: 12px 16px;
	display: flex;
	align-items: center;
	gap: 12px;
	width: 220px;
	transition: transform 0.2s;
}
.pfl-wiz-pv-badge--l .pfl-wiz-pv-badge__box:hover { transform: translateX(-4px); }
.pfl-wiz-pv-badge--r .pfl-wiz-pv-badge__box:hover { transform: translateX(4px); }
.pfl-wiz-pv-badge__ico {
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: #fff;
}
.pfl-wiz-pv-badge__ico--blue { background: var(--pfl-wiz-info); }
.pfl-wiz-pv-badge__ico--green { background: var(--pfl-wiz-action); }
.pfl-wiz-pv-badge__sub {
	font-size: 9px;
	font-weight: 700;
	color: #9CA3AF;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.pfl-wiz-pv-badge__title {
	font-size: 13px;
	font-weight: 700;
	color: var(--pfl-wiz-heading);
	line-height: 1.25;
}

/* cover */
.pfl-wiz-pv-cover {
	height: 224px;
	position: relative;
	flex-shrink: 0;
	border-radius: 24px 24px 0 0;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 32px;
}
.pfl-wiz-pv-cover__featured { position: absolute; top: 20px; right: 20px; }
.pfl-wiz-pv-cover__featured .pfl-wiz-badge-featured { padding: 6px 12px; font-size: 12px; line-height: 16px; /* text-xs */ }
.pfl-wiz-pv-avail {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 6px 12px;
	border-radius: 9999px;
	background: rgba(255,255,255,0.2);
	backdrop-filter: blur(8px);
	border: 1px solid rgba(255,255,255,0.3);
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	position: relative;
	z-index: 10;
	margin-top: 8px;
}
.pfl-wiz-pv-avail__dot {
	width: 10px;
	height: 10px;
	border-radius: 9999px;
	background: #34D399;
	box-shadow: 0 0 6px rgba(52,211,153,0.8);
	animation: pfl-wiz-pulse 2s cubic-bezier(0.4,0,0.6,1) infinite;
}
.pfl-wiz-pv-avail__txt {
	font-size: 11px;
	font-weight: 700;
	color: #fff;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

.pfl-wiz-pv-body {
	padding: 0 32px 32px;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	flex: 1;
}
.pfl-wiz-pv-avatar-wrap { position: relative; margin-top: -80px; margin-bottom: 16px; z-index: 20; }
.pfl-wiz-pv-avatar {
	width: 150px;
	height: 150px;
	border-radius: 9999px;
	border: 6px solid #fff;
	object-fit: cover;
	box-shadow: 0 10px 15px -3px rgba(0,0,0,0.1);
	background: #fff;
	display: block;
}
.pfl-wiz-pv-verify {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 32px;
	height: 32px;
	border-radius: 9999px;
	border: 4px solid #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	color: #fff;
}
.pfl-wiz-pv-verify--green { background: #16A34A; }
.pfl-wiz-pv-verify--blue { background: #2563EB; }
.pfl-wiz-pv-aura {
	position: absolute;
	bottom: -8px;
	left: 50%;
	transform: translateX(-50%);
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	border: 1px solid #F3F4F6;
}
.pfl-wiz-pv-aura .pfl-wiz-aura-dot { width: 24px; height: 24px; }

.pfl-wiz-pv-name {
	font-size: 30px;
	line-height: 36px; /* text-3xl */
	font-weight: 800;
	color: var(--pfl-wiz-heading);
	letter-spacing: -0.025em;
	margin: 0;
}
.pfl-wiz-pv-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	color: var(--pfl-wiz-secondary);
	margin-top: 8px;
	font-weight: 500;
}
.pfl-wiz-pv-meta__sep { color: #D1D5DB; margin: 0 4px; }
.pfl-wiz-pv-meta__scope { color: var(--pfl-wiz-action); font-weight: 700; }

.pfl-wiz-pv-stats {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 32px;
	margin-top: 24px;
	background: var(--pfl-wiz-bg);
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 16px;
	padding: 24px;
	width: 100%;
	max-width: 28rem;
}
.pfl-wiz-pv-stat { text-align: center; flex: 1; }
.pfl-wiz-pv-stat__num { font-size: 30px; font-weight: 900; line-height: 1; color: var(--pfl-wiz-heading); }
.pfl-wiz-pv-stat__num.is-empty { color: #9CA3AF; }
.pfl-wiz-pv-stat__stars { display: flex; justify-content: center; margin-top: 8px; gap: 2px; }
.pfl-wiz-pv-stat__lbl { font-size: 12px; line-height: 16px; /* text-xs */ color: #6B7280; font-weight: 600; margin-top: 4px; }
.pfl-wiz-pv-stat__div { width: 1px; height: 64px; background: #E5E7EB; }
.pfl-wiz-pv-stat__cap {
	font-size: 11px;
	color: #6B7280;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	margin-bottom: 8px;
}
.pfl-wiz-pv-stat__price { font-size: 20px; line-height: 28px; /* text-xl */ font-weight: 800; color: var(--pfl-wiz-heading); }

.pfl-wiz-pv-cta {
	margin-top: 32px;
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 100%;
	max-width: 28rem;
}
.pfl-wiz-pv-cta__main {
	width: 100%;
	background: var(--pfl-wiz-action);
	color: #fff;
	border-radius: 12px;
	padding: 16px 20px;
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 700;
	box-shadow: 0 4px 12px rgba(0,168,89,0.2);
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	cursor: pointer;
	transition: background 0.2s;
	gap: 8px;
}
.pfl-wiz-pv-cta__main:hover { background: var(--pfl-wiz-action-hover); }
.pfl-wiz-pv-cta__main:focus-visible { outline: none; box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--pfl-wiz-action); }
.pfl-wiz-pv-cta__sub { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; width: 100%; }
.pfl-wiz-pv-cta__btn {
	background: #F8FAFC;
	color: var(--pfl-wiz-heading);
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 12px;
	padding: 12px 16px;
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: background 0.15s, border-color 0.15s;
	gap: 8px;
}
.pfl-wiz-pv-cta__btn:hover { background: #EFF6FF; border-color: #BFDBFE; }
.pfl-wiz-pv-cta__btn .pfl-icon { color: var(--pfl-wiz-info); }

.pfl-wiz-pv-acts {
	margin-top: 40px;
	width: 100%;
	max-width: 28rem;
	text-align: left;
}
.pfl-wiz-pv-acts__h {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #8F9CAE;
	margin: 0 0 16px;
}
.pfl-wiz-pv-act {
	background: #fff;
	border: 1px solid var(--pfl-wiz-border);
	border-radius: 12px;
	padding: 16px;
	display: flex;
	align-items: center;
	gap: 16px;
}
.pfl-wiz-pv-act__ico {
	width: 40px;
	height: 40px;
	border-radius: 9999px;
	background: #EFF6FF;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--pfl-wiz-info);
}
.pfl-wiz-pv-act__data { flex: 1; min-width: 0; }
.pfl-wiz-pv-act__title {
	font-size: 14px;
	line-height: 20px; /* text-sm */
	font-weight: 700;
	color: var(--pfl-wiz-heading);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pfl-wiz-pv-act__sub {
	font-size: 12px;
	line-height: 16px; /* text-xs */
	color: var(--pfl-wiz-secondary);
	margin-top: 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.pfl-wiz-pv-act__badge {
	font-size: 11px;
	font-weight: 700;
	color: #059669;
	background: #ECFDF5;
	padding: 4px 8px;
	border-radius: 9999px;
	flex-shrink: 0;
}

/* prawa kolumna */
.pfl-wiz-pv-side {
	width: 100%;
	background: #fff;
	border-radius: 24px;
	border: 1px solid var(--pfl-wiz-border);
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	padding: 24px;
	display: flex;
	flex-direction: column;
}
@media (min-width: 1024px) { .pfl-wiz-pv-side { width: 320px; } }
.pfl-wiz-pv-side__h {
	font-size: 18px;
	line-height: 28px; /* text-lg */
	font-weight: 800;
	color: var(--pfl-wiz-heading);
	margin: 0 0 24px;
}
.pfl-wiz-pv-side__body { display: flex; flex-direction: column; gap: 24px; flex: 1; }
.pfl-wiz-pv-sec__h {
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #6B7280;
	margin: 0 0 12px;
}
.pfl-wiz-pv-cats { display: flex; flex-wrap: wrap; gap: 8px; }
.pfl-wiz-pv-cat {
	display: inline-flex;
	align-items: center;
	padding: 6px 12px;
	border-radius: 9999px;
	font-size: 12px;
	line-height: 16px; /* text-xs */
	font-weight: 700;
}
.pfl-wiz-pv-cat--main { background: #ECFDF5; color: #047857; border: 1px solid #A7F3D0; }
.pfl-wiz-pv-cat--sub { background: #F9FAFB; color: #4B5563; border: 1px solid #E5E7EB; }
.pfl-wiz-pv-cat__tag { margin-left: 6px; opacity: 0.8; font-size: 10px; text-transform: uppercase; }

.pfl-wiz-pv-comp {
	background: var(--pfl-wiz-bg);
	padding: 16px;
	border-radius: 12px;
	border: 1px solid var(--pfl-wiz-border);
}
.pfl-wiz-pv-comp__title { font-weight: 700; color: var(--pfl-wiz-heading); font-size: 15px; }
.pfl-wiz-pv-comp__sum {
	font-size: 11px;
	color: var(--pfl-wiz-secondary);
	margin-top: 6px;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: 6px;
}
.pfl-wiz-pv-comp__sum strong { color: var(--pfl-wiz-action); font-weight: 700; }
.pfl-wiz-pv-comp__roles { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px; }
.pfl-wiz-pv-role {
	display: inline-flex;
	align-items: center;
	padding: 4px 8px;
	border-radius: 4px;
	border: 1px solid #A7F3D0;
	background: rgba(236,253,245,0.7);
	color: #047857;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.025em;
}
.pfl-wiz-pv-role--more {
	border-color: #E5E7EB;
	background: #fff;
	color: #6B7280;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
}
.pfl-wiz-pv-comp__org {
	font-size: 14px;
	line-height: 20px; /* text-sm */
	color: var(--pfl-wiz-secondary);
	margin-top: 16px;
	padding-top: 12px;
	border-top: 1px solid var(--pfl-wiz-border);
}
.pfl-wiz-pv-comp__org-lbl {
	font-weight: 500;
	color: var(--pfl-wiz-heading);
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 2px;
}

.pfl-wiz-pv-trust {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	background: #F0FDF4;
	padding: 16px;
	border-radius: 12px;
	border: 1px solid #BBF7D0;
}
.pfl-wiz-pv-trust__ico { margin-top: 2px; }
.pfl-wiz-pv-trust__ico--green { color: var(--pfl-wiz-action); }
.pfl-wiz-pv-trust__ico--blue { color: #2563EB; }
.pfl-wiz-pv-trust__title { font-size: 13px; font-weight: 700; color: var(--pfl-wiz-heading); }
.pfl-wiz-pv-trust__date { font-size: 12px; line-height: 16px; /* text-xs */ color: #6B7280; margin-top: 4px; font-weight: 500; }

.pfl-wiz-pv-foot {
	margin-top: 32px;
	padding-top: 16px;
	border-top: 1px solid #F3F4F6;
	font-size: 11px;
	color: #8F9CAE;
	font-weight: 500;
	line-height: 1.625;
}

/* ═══════════════════════════════════════════════════════════════════════════
   8. SCROLLBARS + ANIMACJE
   ═══════════════════════════════════════════════════════════════════════════ */
.pfl-wiz-inds-list::-webkit-scrollbar,
.pfl-wiz-card__back-scroll::-webkit-scrollbar,
.pfl-wiz-select__menu::-webkit-scrollbar { width: 6px; }
.pfl-wiz-inds-list::-webkit-scrollbar-thumb,
.pfl-wiz-card__back-scroll::-webkit-scrollbar-thumb,
.pfl-wiz-select__menu::-webkit-scrollbar-thumb { background: #CBD5E1; border-radius: 9999px; }

@keyframes pfl-wiz-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.5; }
}
@keyframes pfl-wiz-fade {
	from { opacity: 0; }
	to { opacity: 1; }
}
@keyframes pfl-wiz-fade-down {
	from { opacity: 0; transform: translateY(-8px); }
	to { opacity: 1; transform: translateY(0); }
}
@keyframes pfl-wiz-zoom {
	from { opacity: 0; transform: scale(0.95); }
	to { opacity: 1; transform: scale(1); }
}

/* ─── CZYTELNOŚĆ +2px (design system: tylko teksty czytane; UI-labelki kart 1:1 ze źródłem) ─── */
.pfl-wiz .pfl-wiz-pagehead__sub { font-size: 16px !important; }
.pfl-wiz .pfl-wiz-card__back-text { font-size: 13px !important; }
