.pkf-finder {
	--pkf-bg: #ffffff;
	--pkf-surface: #f9fbff;
	--pkf-text: #172033;
	--pkf-muted: #667085;
	--pkf-border: #e6e8ef;
	--pkf-primary: #1f6feb;
	--pkf-primary-dark: #1758bf;
	--pkf-primary-soft: rgba(31, 111, 235, 0.12);
	--pkf-primary-shadow: rgba(31, 111, 235, 0.24);
	--pkf-button-bg: var(--pkf-primary);
	--pkf-button-bg-hover: var(--pkf-primary-dark);
	--pkf-button-color: #ffffff;
	--pkf-link-color: var(--pkf-primary);
	--pkf-card-bg: #ffffff;
	--pkf-card-border-color: var(--pkf-border);
	--pkf-card-border-width: 1px;
	--pkf-card-radius: 24px;
	--pkf-card-shadow: 0 18px 45px rgba(16, 24, 40, 0.11);
	--pkf-error: #b42318;
	--pkf-warning: #8a4b00;
	--pkf-info: #1d4ed8;
	max-width: 760px;
	margin: 2rem auto;
	font-family: inherit;
	color: var(--pkf-text);
}

.pkf-palette-green {
	--pkf-primary: #0f8f5f;
	--pkf-primary-dark: #0b704b;
	--pkf-primary-soft: rgba(15, 143, 95, 0.13);
	--pkf-primary-shadow: rgba(15, 143, 95, 0.24);
	--pkf-surface: #f2fbf7;
}

.pkf-palette-turquoise {
	--pkf-primary: #0891b2;
	--pkf-primary-dark: #0e7490;
	--pkf-primary-soft: rgba(8, 145, 178, 0.13);
	--pkf-primary-shadow: rgba(8, 145, 178, 0.24);
	--pkf-surface: #f0fcff;
}

.pkf-palette-purple {
	--pkf-primary: #7c3aed;
	--pkf-primary-dark: #6d28d9;
	--pkf-primary-soft: rgba(124, 58, 237, 0.13);
	--pkf-primary-shadow: rgba(124, 58, 237, 0.24);
	--pkf-surface: #fbf7ff;
}

.pkf-palette-orange {
	--pkf-primary: #ea580c;
	--pkf-primary-dark: #c2410c;
	--pkf-primary-soft: rgba(234, 88, 12, 0.13);
	--pkf-primary-shadow: rgba(234, 88, 12, 0.24);
	--pkf-surface: #fff8f1;
}

.pkf-palette-red {
	--pkf-primary: #dc2626;
	--pkf-primary-dark: #b91c1c;
	--pkf-primary-soft: rgba(220, 38, 38, 0.13);
	--pkf-primary-shadow: rgba(220, 38, 38, 0.24);
	--pkf-surface: #fff5f5;
}

.pkf-palette-rose {
	--pkf-primary: #e11d48;
	--pkf-primary-dark: #be123c;
	--pkf-primary-soft: rgba(225, 29, 72, 0.13);
	--pkf-primary-shadow: rgba(225, 29, 72, 0.24);
	--pkf-surface: #fff1f2;
}

.pkf-palette-gold {
	--pkf-primary: #b7791f;
	--pkf-primary-dark: #92400e;
	--pkf-primary-soft: rgba(183, 121, 31, 0.14);
	--pkf-primary-shadow: rgba(183, 121, 31, 0.22);
	--pkf-surface: #fffaf0;
}

.pkf-palette-emerald {
	--pkf-primary: #047857;
	--pkf-primary-dark: #065f46;
	--pkf-primary-soft: rgba(4, 120, 87, 0.13);
	--pkf-primary-shadow: rgba(4, 120, 87, 0.23);
	--pkf-surface: #ecfdf5;
}

.pkf-palette-slate {
	--pkf-primary: #475569;
	--pkf-primary-dark: #334155;
	--pkf-primary-soft: rgba(71, 85, 105, 0.13);
	--pkf-primary-shadow: rgba(71, 85, 105, 0.22);
	--pkf-surface: #f8fafc;
}

.pkf-palette-dark {
	--pkf-bg: #111827;
	--pkf-surface: #172033;
	--pkf-text: #f8fafc;
	--pkf-muted: #cbd5e1;
	--pkf-border: #334155;
	--pkf-primary: #38bdf8;
	--pkf-primary-dark: #0ea5e9;
	--pkf-primary-soft: rgba(56, 189, 248, 0.16);
	--pkf-primary-shadow: rgba(56, 189, 248, 0.24);
	--pkf-card-bg: rgba(17, 24, 39, 0.92);
	--pkf-info: #bae6fd;
}

.pkf-button-red {
	--pkf-button-bg: #dc2626;
	--pkf-button-bg-hover: #b91c1c;
	--pkf-primary-shadow: rgba(220, 38, 38, 0.26);
}

.pkf-button-dark {
	--pkf-button-bg: #111827;
	--pkf-button-bg-hover: #020617;
	--pkf-primary-shadow: rgba(17, 24, 39, 0.24);
}

.pkf-button-outline {
	--pkf-button-bg: transparent;
	--pkf-button-bg-hover: var(--pkf-primary-soft);
	--pkf-button-color: var(--pkf-primary);
}

.pkf-links-red {
	--pkf-link-color: #dc2626;
}

.pkf-links-dark {
	--pkf-link-color: #111827;
}

.pkf-palette-dark.pkf-links-dark {
	--pkf-link-color: #f8fafc;
}

.pkf-border-none {
	--pkf-card-border-width: 0;
	--pkf-card-border-color: transparent;
}

.pkf-border-subtle {
	--pkf-card-border-color: var(--pkf-border);
	--pkf-card-border-width: 1px;
}

.pkf-border-accent {
	--pkf-card-border-color: color-mix(in srgb, var(--pkf-primary) 34%, var(--pkf-border));
	--pkf-card-border-width: 1px;
}

.pkf-border-strong {
	--pkf-card-border-color: var(--pkf-primary);
	--pkf-card-border-width: 2px;
}

.pkf-bg-solid {
	--pkf-card-bg: #ffffff;
}

.pkf-bg-soft {
	--pkf-card-bg: #fbfcff;
}

.pkf-bg-translucent {
	--pkf-card-bg: rgba(255, 255, 255, 0.86);
}

.pkf-bg-glass {
	--pkf-card-bg: rgba(255, 255, 255, 0.72);
}

.pkf-radius-soft {
	--pkf-card-radius: 14px;
}

.pkf-radius-large {
	--pkf-card-radius: 20px;
}

.pkf-radius-extra {
	--pkf-card-radius: 28px;
}

.pkf-shadow-no {
	--pkf-card-shadow: none;
}

.pkf-search-form {
	padding: 1.25rem;
	border: 1px solid var(--pkf-border);
	border-radius: 22px;
	background: linear-gradient(180deg, var(--pkf-bg) 0%, var(--pkf-surface) 100%);
	box-shadow: 0 18px 45px rgba(16, 24, 40, 0.08);
}

.pkf-label {
	display: block;
	margin: 0 0 0.75rem;
	font-size: clamp(1.125rem, 2vw, 1.45rem);
	font-weight: 700;
	letter-spacing: -0.02em;
}

.pkf-search-row {
	display: flex;
	gap: 0.75rem;
	align-items: stretch;
}

.pkf-zip-input {
	width: 100%;
	min-height: 52px;
	padding: 0.85rem 1rem;
	border: 1px solid var(--pkf-border);
	border-radius: 15px;
	background: #fff;
	color: #172033;
	font-size: 1rem;
	outline: none;
	transition: border-color 180ms ease, box-shadow 180ms ease;
}

.pkf-zip-input:focus {
	border-color: var(--pkf-primary);
	box-shadow: 0 0 0 4px var(--pkf-primary-soft);
}

.pkf-submit-button {
	display: inline-flex;
	min-height: 52px;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	padding: 0.85rem 1.15rem;
	border: 1px solid transparent;
	border-radius: 15px;
	background: var(--pkf-button-bg);
	color: var(--pkf-button-color);
	font-weight: 700;
	white-space: nowrap;
	cursor: pointer;
	box-shadow: 0 10px 24px var(--pkf-primary-shadow);
	transition: transform 180ms ease, background 180ms ease, box-shadow 180ms ease, border-color 180ms ease;
}

.pkf-button-outline .pkf-submit-button {
	border-color: var(--pkf-primary);
	box-shadow: none;
}

.pkf-submit-button:hover,
.pkf-submit-button:focus {
	background: var(--pkf-button-bg-hover);
	transform: translateY(-1px);
	box-shadow: 0 14px 30px var(--pkf-primary-shadow);
}

.pkf-button-outline .pkf-submit-button:hover,
.pkf-button-outline .pkf-submit-button:focus {
	box-shadow: 0 0 0 4px var(--pkf-primary-soft);
}

.pkf-submit-button:disabled {
	cursor: not-allowed;
	opacity: 0.78;
	transform: none;
}

.pkf-spinner {
	display: none;
	width: 17px;
	height: 17px;
	border: 2px solid rgba(255, 255, 255, 0.45);
	border-top-color: #fff;
	border-radius: 999px;
	animation: pkf-spin 800ms linear infinite;
}

.pkf-button-outline .pkf-spinner {
	border-color: color-mix(in srgb, var(--pkf-primary) 35%, transparent);
	border-top-color: var(--pkf-primary);
}

.pkf-is-loading .pkf-spinner {
	display: inline-block;
}

.pkf-status {
	margin-top: 1rem;
}

.pkf-message {
	padding: 0.85rem 1rem;
	border-radius: 14px;
	font-weight: 600;
}

.pkf-message-error {
	background: #fff1f0;
	color: var(--pkf-error);
}

.pkf-message-warning {
	background: #fff7e6;
	color: var(--pkf-warning);
}

.pkf-message-info {
	background: #eff6ff;
	color: var(--pkf-info);
}

.pkf-result {
	margin-top: 1rem;
}

.pkf-contact-card {
	display: grid;
	grid-template-columns: 140px 1fr;
	gap: 1.25rem;
	align-items: center;
	padding: 1.25rem;
	border: var(--pkf-card-border-width) solid var(--pkf-card-border-color);
	border-radius: var(--pkf-card-radius);
	background: var(--pkf-card-bg);
	box-shadow: var(--pkf-card-shadow);
	animation: pkf-card-in 260ms ease both;
}

.pkf-bg-glass .pkf-contact-card,
.pkf-bg-translucent .pkf-contact-card {
	backdrop-filter: blur(10px);
}

.pkf-layout-top .pkf-contact-card {
	grid-template-columns: 1fr;
	text-align: center;
}

.pkf-contact-media {
	display: flex;
	align-items: center;
	justify-content: center;
}

.pkf-contact-image {
	display: block;
	width: 128px;
	height: 128px;
	border-radius: 22px;
	object-fit: cover;
	background: var(--pkf-primary-soft);
}

.pkf-contact-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 3rem;
	font-weight: 800;
	color: var(--pkf-primary);
}

.pkf-contact-name {
	margin: 0 0 0.35rem;
	font-size: clamp(1.35rem, 3vw, 2rem);
	line-height: 1.1;
	letter-spacing: -0.03em;
}

.pkf-contact-title {
	margin: 0 0 1rem;
	color: var(--pkf-muted);
	font-size: 1.02rem;
	font-weight: 700;
	line-height: 1.35;
}

.pkf-contact-details {
	display: grid;
	gap: 0.7rem;
	margin: 0;
}

.pkf-contact-details div {
	display: grid;
	grid-template-columns: 90px 1fr;
	gap: 1rem;
	align-items: baseline;
}

.pkf-layout-top .pkf-contact-details div {
	grid-template-columns: 1fr;
	gap: 0.2rem;
}

.pkf-contact-details dt {
	color: var(--pkf-muted);
	font-weight: 700;
}

.pkf-contact-details dd {
	margin: 0;
	font-weight: 600;
	word-break: break-word;
}

.pkf-contact-details a {
	color: var(--pkf-link-color);
	font-weight: 800;
	text-decoration: none;
}

.pkf-contact-details a:hover,
.pkf-contact-details a:focus {
	text-decoration: underline;
}

@keyframes pkf-spin {
	to {
		transform: rotate(360deg);
	}
}

@keyframes pkf-card-in {
	from {
		opacity: 0;
		transform: translateY(10px) scale(0.985);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

@media (max-width: 640px) {
	.pkf-search-row,
	.pkf-contact-card,
	.pkf-contact-details div {
		grid-template-columns: 1fr;
	}

	.pkf-search-row {
		display: grid;
	}

	.pkf-submit-button {
		width: 100%;
	}

	.pkf-contact-card {
		text-align: center;
	}

	.pkf-contact-image {
		width: 112px;
		height: 112px;
	}

	.pkf-contact-details div {
		gap: 0.2rem;
	}
}
