/* PilotBooker v1.9.23 launch cleanup. */
:root,
.pilotbooker-pages-shell,
.pilotbooker-home-v2 {
	--pb-navy:#0b1e33;
	--pb-navy-2:#122a45;
	--pb-asphalt:#1c2b3a;
	--pb-amber:#f2a93b;
	--pb-amber-hover:#ffbf5c;
	--pb-sky:#2d6fa3;
	--pb-teal:#3fa796;
	--pb-cloud:#f7f9fb;
	--pb-cloud-dim:#dce4ea;
	--pb-ink:#0b1e33;
	--pb-white:#fff;
	--pb-line-dark:rgba(255,255,255,.12);
}

/* Shared shell repair for Jobs, DMCA and any other isolated public template. */
.pilotbooker-pages-shell .pb-header,
.pilotbooker-pages-shell .pb-footer { font-family:"Inter",sans-serif; }
.pilotbooker-pages-shell .pb-header { background:var(--pb-navy); }
.pilotbooker-pages-shell .pb-footer { background:var(--pb-navy);color:#b9c6d3; }
.pilotbooker-pages-shell .pb-foot-grid { display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:38px;padding:54px 0 38px; }
.pilotbooker-pages-shell .pb-footer h4 { color:#fff; }
.pilotbooker-pages-shell .pb-footer ul { list-style:none;margin:0;padding:0; }
.pilotbooker-pages-shell .pb-footer li { margin:0 0 10px; }
.pilotbooker-pages-shell .pb-footer li a { color:#b9c6d3;text-decoration:none;font-size:14px;line-height:1.5; }
.pilotbooker-pages-shell .pb-footer li a:hover,
.pilotbooker-pages-shell .pb-footer li a:focus-visible { color:#fff; }
.pilotbooker-pages-shell .pb-foot-bottom { display:flex;justify-content:space-between;gap:24px;padding:24px 0 30px;border-top:1px solid rgba(255,255,255,.12);font-size:13.5px;line-height:1.65; }
.pilotbooker-pages-shell .pb-foot-bottom span:last-child { max-width:760px; }

/* Footer readability and density. */
.pb-footer .pb-foot-grid li a { font-size:14px!important;line-height:1.55!important; }
.pb-footer .pb-foot-bottom { font-size:13.5px!important;line-height:1.65!important; }
.pb-footer .pb-foot-intro { line-height:1.65; }

/* Aviation medical search: four fields and one button on wide screens. */
@media (min-width:901px) {
	.pb-med-search { grid-template-columns:repeat(4,minmax(0,1fr)) minmax(174px,auto)!important; }
	.pb-med-search__field:nth-of-type(4) { border-right:1px solid #dce4ea!important; }
	.pb-med-search__button { grid-column:auto!important; }
}

/* Accessible searchable field used instead of oversized native lists. */
.pb-searchable-select { position:relative; }
.pb-searchable-select input[type="search"] { width:100%;min-height:32px;padding:0;border:0;background:transparent;color:#0b1e33;font:600 14px/1.4 "Inter",sans-serif;outline:0; }
.pb-searchable-select input[type="search"]:focus { box-shadow:none; }
.pb-searchable-select__help { display:block;margin-top:3px;color:#7a8b9b;font-size:10.5px;font-weight:500;line-height:1.3; }

/* Better search-results empty state. */
.pbs-empty-state { max-width:760px;margin:48px auto 72px;padding:42px 28px;border:1px solid #dce4ea;border-radius:14px;background:#fff;text-align:center;box-shadow:0 10px 28px rgba(11,30,51,.06); }
.pbs-empty-state__icon { display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;border-radius:15px;background:#eef4f8;font-size:25px; }
.pbs-empty-state h2 { margin:0 0 9px;font-size:26px; }
.pbs-empty-state p { max-width:560px;margin:0 auto 22px;color:#5c6e80;line-height:1.65; }
.pbs-empty-state__actions { display:flex;justify-content:center;gap:10px;flex-wrap:wrap; }
.pbs-empty-state__actions a { display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:1px solid #dce4ea;border-radius:8px;background:#fff;color:#0b1e33;font-weight:700;text-decoration:none; }
.pbs-empty-state__actions a:first-child { border-color:#f2a93b;background:#f2a93b; }

/* Login role choice belongs to sign-up only. */
#ptm-auth-v10:not(.ptm-auth-v10--signup) .ptm-auth-role-select { display:none!important; }

/* Retired route links should never appear as active controls. */
a[href*="/claim-provider/"],a[href*="/request-training/"] { text-decoration-thickness:auto; }

@media (max-width:900px) {
	.pilotbooker-pages-shell .pb-foot-grid { grid-template-columns:1fr 1fr;gap:30px 24px; }
	.pilotbooker-pages-shell .pb-foot-bottom { align-items:flex-start;flex-direction:column; }
}
@media (max-width:560px) {
	.pilotbooker-pages-shell .pb-foot-grid { grid-template-columns:1fr; }
	.pbs-empty-state { margin:32px 0 52px;padding:32px 20px; }
	.pbs-empty-state__actions { align-items:stretch;flex-direction:column; }
	.pbs-empty-state__actions a { width:100%; }
}

/* Controlled searchable-combobox menu: limited results, no giant native popup. */
.pb-searchable-select { z-index:4; }
.pb-searchable-select:focus-within { z-index:30; }
.pb-searchable-select__menu {
	position:absolute;
	top:calc(100% + 8px);
	left:0;
	right:0;
	z-index:90;
	max-height:330px;
	overflow-y:auto;
	padding:6px;
	border:1px solid #cfdbe5;
	border-radius:10px;
	background:#fff;
	box-shadow:0 16px 38px rgba(11,30,51,.18);
}
.pb-searchable-select__menu[hidden] { display:none!important; }
.pb-searchable-select__option {
	display:block;
	width:100%;
	padding:10px 11px;
	border:0;
	border-radius:7px;
	background:transparent;
	color:#0b1e33;
	font:600 13.5px/1.35 "Inter",sans-serif;
	text-align:left;
	cursor:pointer;
}
.pb-searchable-select__option:hover,
.pb-searchable-select__option.is-active,
.pb-searchable-select__option[aria-selected="true"] { background:#eef4f8; }
.pb-searchable-select__empty { padding:12px;color:#66798a;font-size:12.5px;line-height:1.5; }

/* The Jobs roadmap card is now a real, clearly interactive destination. */
a.pb-road-card { display:block;color:inherit;text-decoration:none; }
a.pb-road-card:hover,
a.pb-road-card:focus-visible { transform:translateY(-2px);border-color:#f2a93b;box-shadow:0 12px 30px rgba(11,30,51,.1); }

/* PilotBooker v1.9.24 compact footer: target about one quarter of a desktop viewport. */
.pb-footer.pb-footer--compact {
	padding: 26px 0 14px !important;
}
.pb-footer--compact .pb-foot-grid {
	grid-template-columns: minmax(220px,1.35fr) repeat(3,minmax(150px,1fr)) !important;
	gap: 18px 34px !important;
	padding: 0 0 20px !important;
	border-bottom: 1px solid rgba(255,255,255,.12) !important;
}
.pb-footer--compact .pb-logo--footer {
	margin: 0 0 9px !important;
}
.pb-footer--compact .pb-foot-intro {
	max-width: 285px;
	margin: 0 !important;
	font-size: 13px !important;
	line-height: 1.48 !important;
}
.pb-footer--compact h4 {
	margin: 2px 0 9px !important;
	font-size: 11px !important;
	line-height: 1.2 !important;
	letter-spacing: .09em !important;
}
.pb-footer--compact ul {
	gap: 0 !important;
}
.pb-footer--compact li {
	margin: 0 !important;
}
.pb-footer--compact .pb-foot-grid li a {
	display: inline-flex;
	align-items: center;
	min-height: 27px;
	font-size: 13px !important;
	line-height: 1.25 !important;
}
.pb-footer--compact .pb-foot-legal {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px 10px;
	padding: 12px 0 8px;
	font-size: 11.5px;
	line-height: 1.35;
}
.pb-footer--compact .pb-foot-legal a {
	color: #aebdcc;
	text-decoration: none;
}
.pb-footer--compact .pb-foot-legal a:hover,
.pb-footer--compact .pb-foot-legal a:focus-visible {
	color: #fff;
}
.pb-footer--compact .pb-foot-legal span {
	color: #f2a93b;
	font-size: 8px;
}
.pb-footer--compact .pb-footer-operator {
	justify-content: center;
	gap: 4px 12px;
	padding: 8px 0 4px !important;
	border-top: 0 !important;
	font-size: 11px !important;
	line-height: 1.35 !important;
}
.pb-footer--compact .pb-foot-bottom {
	justify-content: center !important;
	gap: 4px 10px !important;
	padding: 6px 0 0 !important;
	border-top: 0 !important;
	font-size: 11.5px !important;
	line-height: 1.35 !important;
	text-align: center;
}
.pb-footer--compact .pb-foot-mobile {
	display: none;
}

@media (min-width: 901px) and (min-height: 700px) {
	.pb-footer.pb-footer--compact {
		min-height: 0 !important;
		max-height: none !important;
	}
}

@media (max-width: 900px) {
	.pb-footer.pb-footer--compact {
		padding: 24px 0 14px !important;
	}
	.pb-footer--compact .pb-foot-grid--desktop,
	.pb-footer--compact .pb-foot-legal {
		display: none !important;
	}
	.pb-footer--compact .pb-foot-mobile {
		display: block;
	}
	.pb-footer--compact .pb-foot-mobile .pb-foot-intro {
		margin-bottom: 14px !important;
	}
	.pb-footer--compact .pb-foot-disclosure {
		border-top: 1px solid rgba(255,255,255,.12);
	}
	.pb-footer--compact .pb-foot-disclosure:last-of-type {
		border-bottom: 1px solid rgba(255,255,255,.12);
	}
	.pb-footer--compact .pb-foot-disclosure summary {
		position: relative;
		padding: 11px 28px 11px 0;
		color: #fff;
		font-size: 12px;
		font-weight: 700;
		letter-spacing: .06em;
		text-transform: uppercase;
		cursor: pointer;
		list-style: none;
	}
	.pb-footer--compact .pb-foot-disclosure summary::-webkit-details-marker {
		display: none;
	}
	.pb-footer--compact .pb-foot-disclosure summary::after {
		content: "+";
		position: absolute;
		right: 2px;
		top: 50%;
		transform: translateY(-50%);
		color: #f2a93b;
		font-size: 18px;
		font-weight: 400;
	}
	.pb-footer--compact .pb-foot-disclosure[open] summary::after {
		content: "−";
	}
	.pb-footer--compact .pb-foot-disclosure ul {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 0 18px !important;
		padding: 0 0 10px !important;
	}
	.pb-footer--compact .pb-foot-disclosure li a {
		display: flex;
		align-items: center;
		min-height: 32px;
		font-size: 13px !important;
		line-height: 1.25 !important;
	}
	.pb-footer--compact .pb-footer-currency {
		padding: 12px 0 0 !important;
		border-top: 0 !important;
	}
	.pb-footer--compact .pb-foot-bottom {
		align-items: center !important;
		flex-direction: row !important;
		flex-wrap: wrap;
		padding-top: 10px !important;
	}
}

@media (max-width: 520px) {
	.pb-footer--compact .pb-foot-disclosure ul {
		grid-template-columns: 1fr;
	}
}
