/**
 * PKLegal.net global header and navigation.
 */

:root {
	--pk-header-ink: #172033;
	--pk-header-muted: #667085;
	--pk-header-border: #e2e6ea;
	--pk-header-soft: #f6f7f9;
	--pk-header-navy: #102a43;
	--pk-header-red: #8a0104;
	--pk-header-red-dark: #690003;
	--pk-header-gold: #c7a45a;
	--pk-header-white: #ffffff;
	--pk-header-container: 1240px;
}

.pk-skip-link {
	position: fixed;
	top: 10px;
	left: 10px;
	z-index: 100000;
	padding: 11px 16px;
	border-radius: 4px;
	background: var(--pk-header-white);
	color: var(--pk-header-red);
	font-weight: 700;
	transform: translateY(-150%);
}

.pk-skip-link:focus {
	transform: translateY(0);
}

.pk-site-header,
.pk-site-header * {
	box-sizing: border-box;
}

.pk-site-header {
	position: relative;
	z-index: 999;
	width: 100%;
	background: var(--pk-header-white);
	box-shadow: 0 2px 14px rgba(16, 42, 67, 0.08);
	color: var(--pk-header-ink);
}

.pk-header-container {
	width: min(calc(100% - 40px), var(--pk-header-container));
	margin-inline: auto;
}

.pk-header-utility {
	min-height: 34px;
	background: var(--pk-header-navy);
	color: rgba(255, 255, 255, 0.9);
}

.pk-header-utility-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	min-height: 34px;
}

.pk-header-utility p {
	margin: 0 !important;
	font-size: 12px !important;
	font-weight: 600;
	line-height: 1.4 !important;
	letter-spacing: 0.02em;
}

.pk-header-utility-note {
	color: rgba(255, 255, 255, 0.68);
	font-weight: 500 !important;
}

.pk-header-branding {
	border-bottom: 1px solid var(--pk-header-border);
	background: var(--pk-header-white);
}

.pk-header-branding-inner {
	display: grid;
	grid-template-columns: minmax(180px, 260px) minmax(320px, 1fr) auto;
	align-items: center;
	gap: 38px;
	min-height: 104px;
	padding-block: 18px;
}

.pk-site-logo {
	display: inline-flex;
	align-items: center;
	max-width: 250px;
	text-decoration: none !important;
}

.pk-site-logo img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 68px;
}

.pk-site-name {
	color: var(--pk-header-red);
	font-family: Georgia, "Times New Roman", serif;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.1;
}

.pk-search-form {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 48px;
	overflow: hidden;
	border: 1px solid #cfd6de;
	border-radius: 6px;
	background: var(--pk-header-white);
	box-shadow: 0 1px 2px rgba(16, 42, 67, 0.04);
	transition: border-color 160ms ease, box-shadow 160ms ease;
}

.pk-search-form:focus-within {
	border-color: var(--pk-header-red);
	box-shadow: 0 0 0 3px rgba(138, 1, 4, 0.11);
}

.pk-search-field {
	width: 100%;
	min-width: 0;
	min-height: 46px;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 0 !important;
	outline: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	color: var(--pk-header-ink) !important;
	font-size: 15px !important;
	line-height: 46px !important;
}

.pk-search-field::placeholder {
	color: #8a94a3;
	opacity: 1;
}

.pk-search-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 52px;
	width: 52px;
	min-height: 46px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: var(--pk-header-red) !important;
	color: var(--pk-header-white) !important;
	cursor: pointer;
	transition: background-color 160ms ease;
}

.pk-search-submit:hover,
.pk-search-submit:focus-visible {
	background: var(--pk-header-red-dark) !important;
}

.pk-search-submit svg {
	width: 21px;
	height: 21px;
	fill: currentColor;
}

.pk-free-access {
	display: flex;
	align-items: center;
	gap: 11px;
	white-space: nowrap;
}

.pk-free-access > svg {
	width: 34px;
	height: 34px;
	padding: 7px;
	border-radius: 50%;
	background: #f8ecec;
	fill: var(--pk-header-red);
}

.pk-free-access span {
	display: flex;
	flex-direction: column;
	gap: 1px;
}

.pk-free-access strong,
.pk-free-access small {
	line-height: 1.3;
}

.pk-free-access strong {
	color: var(--pk-header-ink);
	font-size: 14px;
}

.pk-free-access small {
	color: var(--pk-header-muted);
	font-size: 11px;
}

.pk-header-navigation {
	background: var(--pk-header-red);
}

.pk-header-navigation-inner {
	display: flex;
	align-items: stretch;
	min-height: 52px;
}

.pk-browse-label {
	display: inline-flex;
	align-items: center;
	margin-right: 14px;
	padding-right: 16px;
	border-right: 1px solid rgba(255, 255, 255, 0.22);
	color: rgba(255, 255, 255, 0.66);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.pk-primary-navigation {
	min-width: 0;
	flex: 1;
}

.pk-primary-menu,
.pk-primary-menu ul,
.pk-mobile-nav-menu,
.pk-mobile-nav-menu ul {
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.pk-primary-menu {
	display: flex;
	align-items: stretch;
	min-height: 52px;
}

.pk-primary-menu > li {
	position: relative;
	display: flex;
	align-items: stretch;
	margin: 0 !important;
}

.pk-primary-menu a {
	display: flex;
	align-items: center;
	padding: 0 17px;
	color: var(--pk-header-white) !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.3;
	text-decoration: none !important;
	transition: background-color 160ms ease;
}

.pk-primary-menu > li:hover > a,
.pk-primary-menu > li:focus-within > a,
.pk-primary-menu > .current-menu-item > a,
.pk-primary-menu > .current-menu-ancestor > a {
	background: rgba(0, 0, 0, 0.14);
}

.pk-primary-menu .menu-item-has-children > a::after {
	width: 7px;
	height: 7px;
	margin: -4px 0 0 9px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	content: "";
	transform: rotate(45deg);
}

.pk-primary-menu .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	z-index: 20;
	visibility: hidden;
	width: 260px;
	padding: 8px 0 !important;
	border: 1px solid var(--pk-header-border);
	border-top: 3px solid var(--pk-header-gold);
	background: var(--pk-header-white);
	box-shadow: 0 14px 30px rgba(16, 42, 67, 0.16);
	opacity: 0;
	transform: translateY(8px);
	transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.pk-primary-menu li:hover > .sub-menu,
.pk-primary-menu li:focus-within > .sub-menu {
	visibility: visible;
	opacity: 1;
	transform: translateY(0);
}

.pk-primary-menu .sub-menu li {
	position: relative;
	margin: 0 !important;
}

.pk-primary-menu .sub-menu a {
	min-height: 42px;
	padding: 9px 18px;
	border-bottom: 1px solid #edf0f3;
	color: var(--pk-header-ink) !important;
	font-size: 13px;
	font-weight: 600;
}

.pk-primary-menu .sub-menu li:last-child > a {
	border-bottom: 0;
}

.pk-primary-menu .sub-menu a:hover,
.pk-primary-menu .sub-menu a:focus {
	background: var(--pk-header-soft);
	color: var(--pk-header-red) !important;
}

.pk-primary-menu .sub-menu .sub-menu {
	top: -11px;
	left: 100%;
}

.pk-mobile-menu {
	display: none;
}

.pk-site-header a:focus-visible,
.pk-site-header button:focus-visible,
.pk-mobile-menu summary:focus-visible {
	outline: 3px solid var(--pk-header-gold);
	outline-offset: 2px;
}

@media (max-width: 1100px) {
	.pk-header-branding-inner {
		grid-template-columns: minmax(170px, 220px) minmax(260px, 1fr) auto;
		gap: 24px;
	}

	.pk-primary-menu a {
		padding-inline: 12px;
		font-size: 13px;
	}
}

@media (max-width: 991px) {
	.pk-header-container {
		width: min(calc(100% - 32px), var(--pk-header-container));
	}

	.pk-header-utility {
		display: none;
	}

	.pk-header-branding-inner {
		position: relative;
		display: grid;
		grid-template-columns: minmax(0, 1fr) auto;
		gap: 14px 18px;
		min-height: 0;
		padding-block: 14px;
	}

	.pk-site-logo {
		max-width: 210px;
	}

	.pk-site-logo img {
		max-height: 54px;
	}

	.pk-header-search {
		grid-column: 1 / -1;
		grid-row: 2;
	}

	.pk-free-access,
	.pk-header-navigation {
		display: none;
	}

	.pk-mobile-menu {
		position: relative;
		display: block;
		justify-self: end;
	}

	.pk-mobile-menu summary {
		display: inline-flex;
		align-items: center;
		gap: 9px;
		min-height: 44px;
		padding: 0 14px;
		border: 1px solid #d6dbe1;
		border-radius: 5px;
		background: var(--pk-header-white);
		color: var(--pk-header-ink);
		font-size: 13px;
		font-weight: 700;
		cursor: pointer;
		list-style: none;
	}

	.pk-mobile-menu summary::-webkit-details-marker {
		display: none;
	}

	.pk-mobile-menu[open] summary {
		border-color: var(--pk-header-red);
		color: var(--pk-header-red);
	}

	.pk-menu-icon {
		display: flex;
		flex-direction: column;
		gap: 4px;
		width: 19px;
	}

	.pk-menu-icon i {
		display: block;
		width: 100%;
		height: 2px;
		border-radius: 999px;
		background: currentColor;
	}

	.pk-mobile-menu-panel {
		position: absolute;
		top: calc(100% + 12px);
		right: 0;
		z-index: 30;
		width: min(380px, calc(100vw - 32px));
		max-height: min(68vh, 620px);
		overflow-y: auto;
		padding: 10px;
		border: 1px solid var(--pk-header-border);
		border-top: 4px solid var(--pk-header-red);
		border-radius: 6px;
		background: var(--pk-header-white);
		box-shadow: 0 18px 40px rgba(16, 42, 67, 0.2);
	}

	.pk-mobile-nav-menu li {
		margin: 0 !important;
	}

	.pk-mobile-nav-menu a {
		display: block;
		padding: 12px 13px;
		border-bottom: 1px solid #edf0f3;
		color: var(--pk-header-ink) !important;
		font-size: 14px;
		font-weight: 700;
		line-height: 1.35;
		text-decoration: none !important;
	}

	.pk-mobile-nav-menu a:hover,
	.pk-mobile-nav-menu a:focus,
	.pk-mobile-nav-menu .current-menu-item > a,
	.pk-mobile-nav-menu .current-menu-ancestor > a {
		background: var(--pk-header-soft);
		color: var(--pk-header-red) !important;
	}

	.pk-mobile-nav-menu .sub-menu {
		margin-left: 14px !important;
		border-left: 2px solid #e7d2d3;
	}

	.pk-mobile-nav-menu .sub-menu a {
		padding-block: 10px;
		font-size: 13px;
		font-weight: 600;
	}
}

@media (max-width: 520px) {
	.pk-header-container {
		width: calc(100% - 24px);
	}

	.pk-site-logo {
		max-width: 170px;
	}

	.pk-site-logo img {
		max-height: 46px;
	}

	.pk-mobile-menu summary {
		width: 44px;
		padding: 0 11px;
	}

	.pk-mobile-menu summary > span:last-child {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
		white-space: nowrap;
		clip-path: inset(50%);
	}

	.pk-mobile-menu-panel {
		right: 0;
		width: calc(100vw - 24px);
	}

	.pk-search-form,
	.pk-search-field,
	.pk-search-submit {
		min-height: 44px;
	}

	.pk-search-field {
		padding-inline: 13px !important;
		font-size: 14px !important;
		line-height: 44px !important;
	}

	.pk-search-submit {
		flex-basis: 48px;
		width: 48px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.pk-site-header * {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
