/**
 * pkdev-company-lookup — autocomplete dropdown styles.
 * All selectors scoped under .pkdev-cl-* — no bleed into theme or WPForms.
 * Themable via CSS variables at :root. Override in your theme's stylesheet.
 */

:root {
	--pkdev-cl-bg: #ffffff;
	--pkdev-cl-text: #1a1a1a;
	--pkdev-cl-text-muted: #6b7280;
	--pkdev-cl-border: #e5e7eb;
	--pkdev-cl-hover-bg: #f3f4f6;
	--pkdev-cl-active-bg: #e0f2fe;
	--pkdev-cl-accent: #0284c7;
	--pkdev-cl-error-text: #b91c1c;
	--pkdev-cl-error-bg: #fef2f2;
	--pkdev-cl-radius: 6px;
	--pkdev-cl-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
	--pkdev-cl-font: inherit;
	--pkdev-cl-z-dropdown: 9999;
}

.pkdev-cl-dropdown {
	position: absolute;
	z-index: var(--pkdev-cl-z-dropdown);
	background: var(--pkdev-cl-bg);
	border: 1px solid var(--pkdev-cl-border);
	border-radius: var(--pkdev-cl-radius);
	box-shadow: var(--pkdev-cl-shadow);
	font-family: var(--pkdev-cl-font);
	color: var(--pkdev-cl-text);
	max-height: 360px;
	overflow-y: auto;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.pkdev-cl-dropdown[hidden] {
	display: none;
}

/* === Result items === */

.pkdev-cl-item {
	padding: 10px 12px;
	cursor: pointer;
	border-bottom: 1px solid var(--pkdev-cl-border);
	transition: background-color 0.1s ease-in-out;
	box-sizing: border-box;
}

.pkdev-cl-item:last-child {
	border-bottom: none;
}

.pkdev-cl-item:hover,
.pkdev-cl-item-active {
	background: var(--pkdev-cl-hover-bg);
}

.pkdev-cl-item-active {
	background: var(--pkdev-cl-active-bg);
}

.pkdev-cl-item-row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
}

.pkdev-cl-item-row-primary {
	margin-bottom: 2px;
}

.pkdev-cl-item-name {
	font-weight: 600;
	font-size: 0.95em;
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pkdev-cl-item-ico {
	color: var(--pkdev-cl-accent);
	font-size: 0.85em;
	white-space: nowrap;
	flex: 0 0 auto;
}

.pkdev-cl-item-address {
	color: var(--pkdev-cl-text-muted);
	font-size: 0.85em;
	flex: 1 1 auto;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pkdev-cl-item-reg {
	color: var(--pkdev-cl-text-muted);
	font-size: 0.7em;
	font-weight: 600;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	background: var(--pkdev-cl-hover-bg);
	padding: 2px 6px;
	border-radius: 3px;
	flex: 0 0 auto;
}

/* === Non-result message states === */

.pkdev-cl-message {
	padding: 14px 16px;
	font-size: 0.9em;
	line-height: 1.4;
	text-align: center;
	box-sizing: border-box;
}

.pkdev-cl-loading {
	color: var(--pkdev-cl-text-muted);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

.pkdev-cl-empty {
	color: var(--pkdev-cl-text-muted);
}

.pkdev-cl-error {
	color: var(--pkdev-cl-error-text);
	background: var(--pkdev-cl-error-bg);
	border-radius: var(--pkdev-cl-radius);
}

.pkdev-cl-spinner {
	display: inline-block;
	width: 14px;
	height: 14px;
	border: 2px solid var(--pkdev-cl-border);
	border-top-color: var(--pkdev-cl-accent);
	border-radius: 50%;
	animation: pkdev-cl-spin 0.6s linear infinite;
}

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

/* === Mobile === */

@media (max-width: 480px) {
	.pkdev-cl-item {
		padding: 14px 16px;
		min-height: 44px; /* WCAG 2.5.5 tap target */
	}
	.pkdev-cl-item-row {
		flex-wrap: wrap;
	}
	.pkdev-cl-item-name,
	.pkdev-cl-item-address {
		white-space: normal;
	}
}
