/*
 * PilotBooker public design-system harmony layer — v1.8.0.
 *
 * Loaded after the existing page styles. It standardises public branding,
 * hero rhythm, search controls, section measures and responsive spacing while
 * preserving Directorist data, account flows, dashboards and messaging.
 */

:root {
	--pbds-navy: #0b1e33;
	--pbds-navy-2: #122a45;
	--pbds-asphalt: #1c2b3a;
	--pbds-amber: #f2a93b;
	--pbds-amber-hover: #ffbf5c;
	--pbds-sky: #2d6fa3;
	--pbds-teal: #3fa796;
	--pbds-danger: #c1443c;
	--pbds-cloud: #f7f9fb;
	--pbds-cloud-dim: #dce4ea;
	--pbds-white: #ffffff;
	--pbds-ink: #0b1e33;
	--pbds-copy: #5c6e80;
	--pbds-soft: #8496a6;
	--pbds-on-dark: #c6d2de;
	--pbds-line-dark: rgba(255, 255, 255, 0.12);
	--pbds-wrap: 1180px;
	--pbds-gutter: 24px;
	--pbds-gutter-mobile: 18px;
	--pbds-header-height: 72px;
	--pbds-radius-sm: 8px;
	--pbds-radius-md: 12px;
	--pbds-radius-lg: 14px;
	--pbds-shadow-card: 0 8px 24px rgba(11, 30, 51, 0.07);
	--pbds-shadow-search: 0 16px 40px rgba(11, 30, 51, 0.18);
}

/* Keep both historical public shells on one palette. */
.pilotbooker-home-v2 {
	--pb-navy: var(--pbds-navy);
	--pb-navy-2: var(--pbds-navy-2);
	--pb-asphalt: var(--pbds-asphalt);
	--pb-amber: var(--pbds-amber);
	--pb-amber-hover: var(--pbds-amber-hover);
	--pb-sky: var(--pbds-sky);
	--pb-teal: var(--pbds-teal);
	--pb-cloud: var(--pbds-cloud);
	--pb-cloud-dim: var(--pbds-cloud-dim);
	--pb-white: var(--pbds-white);
	--pb-ink: var(--pbds-ink);
	--pb-muted: var(--pbds-copy);
	--pb-muted-light: var(--pbds-soft);
	--pb-line-dark: var(--pbds-line-dark);
}

.pilotbooker-pages-shell {
	--navy: var(--pbds-navy);
	--navy-2: var(--pbds-navy-2);
	--asphalt: var(--pbds-asphalt);
	--amber: var(--pbds-amber);
	--amber-dim: #c98a2a;
	--sky: var(--pbds-sky);
	--teal: var(--pbds-teal);
	--danger: var(--pbds-danger);
	--cloud: var(--pbds-cloud);
	--cloud-dim: var(--pbds-cloud-dim);
	--ink: var(--pbds-ink);
	--line: var(--pbds-line-dark);
}

body.pilotbooker-home-v2-page,
body.pilotbooker-pages-page,
body.pilotbooker-search-v2-page,
body.pilotbooker-flight-schools-page {
	background: var(--pbds-cloud);
	color: var(--pbds-ink);
	font-family: "Inter", sans-serif;
}

.pb-wrap,
.pilotbooker-pages-shell .wrap,
.pilotbooker-flight-schools .pbf-wrap {
	width: min(100% - (2 * var(--pbds-gutter)), var(--pbds-wrap));
	max-width: var(--pbds-wrap);
	margin-right: auto;
	margin-left: auto;
	padding-right: 0;
	padding-left: 0;
}

/* ========================================================================
   Shared header and account actions
   ======================================================================== */

.pb-header,
.pilotbooker-pages-shell header.site {
	min-height: var(--pbds-header-height);
	background: var(--pbds-navy);
	border-bottom: 1px solid var(--pbds-line-dark);
}

.pb-nav,
.pilotbooker-pages-shell .nav-inner {
	width: min(100% - (2 * var(--pbds-gutter)), var(--pbds-wrap));
	max-width: var(--pbds-wrap);
	height: var(--pbds-header-height);
	min-height: var(--pbds-header-height);
	margin-right: auto;
	margin-left: auto;
	padding: 0;
	gap: 24px;
}

.pb-logo,
.pilotbooker-pages-shell .brand,
.pb-footer .pb-logo--footer,
.pilotbooker-pages-shell .footer-brand {
	gap: 10px !important;
	color: var(--pbds-white) !important;
	font-family: "Space Grotesk", sans-serif !important;
	font-size: 19px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	line-height: 1 !important;
}

.pb-logo__bug,
.pilotbooker-pages-shell .bug,
.pb-footer .pb-logo--footer .pb-logo__bug,
.pilotbooker-pages-shell .footer-brand .bug {
	width: 34px !important;
	height: 34px !important;
	min-width: 34px !important;
	flex: 0 0 34px !important;
	border-radius: 9px !important;
	background: var(--pbds-amber) !important;
	color: var(--pbds-navy) !important;
	font-size: 17px !important;
	line-height: 1 !important;
}

.pb-navlinks,
.pilotbooker-pages-shell .nav-links {
	gap: 28px;
}

.pb-navlinks a,
.pilotbooker-pages-shell .nav-links a {
	color: #c7d3de;
	font-size: 14.5px;
	font-weight: 500;
	line-height: 1.2;
}

.pb-nav-cta,
.pilotbooker-pages-shell .nav-actions {
	gap: 12px;
}

.pb-header .pb-btn,
.pilotbooker-pages-shell header.site .btn {
	min-height: 48px;
	padding: 0 18px;
	border-radius: var(--pbds-radius-sm);
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1;
}

.pilotbooker-pages-shell header.site .ptm-header-currency__button,
.pb-header .ptm-header-currency__button {
	height: 48px;
	min-height: 48px;
	border-radius: var(--pbds-radius-sm);
	font-size: 15px;
}

/* ========================================================================
   Shared hero geometry and typography
   ======================================================================== */

.pb-hero,
.pilotbooker-pages-shell .hero,
.pilotbooker-flight-schools .pbf-hero {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse at 18% -12%, rgba(45, 111, 163, 0.34), transparent 55%),
		linear-gradient(180deg, var(--pbds-navy) 0%, var(--pbds-navy-2) 100%) !important;
	color: var(--pbds-white);
}

.pb-hero::before,
.pb-hero::after,
.pilotbooker-pages-shell .hero::before,
.pilotbooker-pages-shell .hero::after,
.pilotbooker-flight-schools .pbf-hero::before,
.pilotbooker-flight-schools .pbf-hero::after {
	position: absolute;
	z-index: 0;
	border: 1px solid rgba(255, 255, 255, 0.065);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

.pb-hero::after,
.pilotbooker-pages-shell .hero::after,
.pilotbooker-flight-schools .pbf-hero::after {
	top: 22px;
	right: -120px;
	width: 500px;
	height: 500px;
}

.pb-hero::before,
.pilotbooker-pages-shell .hero::before,
.pilotbooker-flight-schools .pbf-hero::before {
	top: 112px;
	right: -34px;
	width: 330px;
	height: 330px;
}

.pb-hero > .pb-wrap,
.pilotbooker-pages-shell .hero > .wrap,
.pilotbooker-flight-schools .pbf-hero > .pbf-wrap {
	position: relative;
	z-index: 1;
}

/* Informational pages share one compact, readable hero rhythm. */
.pilotbooker-pages-shell .hero {
	padding: 56px 0 44px !important;
}

.pilotbooker-pages-shell .hero .breadcrumb {
	margin: 0 0 12px;
	color: var(--pbds-soft) !important;
	font-size: 13px;
	line-height: 1.4;
}

.pilotbooker-pages-shell .hero .breadcrumb a {
	color: var(--pbds-soft) !important;
}

.pb-eyebrow,
.pilotbooker-pages-shell .hero .eyebrow,
.pilotbooker-flight-schools .pbf-hero__tag {
	margin: 0 0 14px;
	color: var(--pbds-amber);
	font-family: "JetBrains Mono", monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

.pilotbooker-pages-shell .hero .eyebrow::before {
	width: 28px;
	height: 1px;
}

.pilotbooker-pages-shell .hero h1,
.pilotbooker-flight-schools .pbf-hero h1 {
	max-width: 880px;
	margin: 0;
	color: var(--pbds-white);
	font-family: "Space Grotesk", sans-serif;
	font-size: clamp(34px, 3.5vw, 48px);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.08;
}

.pilotbooker-pages-shell .hero p.lead,
.pilotbooker-flight-schools .pbf-hero__intro {
	max-width: 680px;
	margin: 16px 0 0;
	color: #b9c6d3;
	font-size: 17px;
	line-height: 1.6;
}

.pilotbooker-pages-shell .hero .cta-row {
	margin-top: 24px;
	gap: 12px;
}

.pilotbooker-pages-shell .hero .stats-row {
	gap: 40px;
	margin: 28px 0 0 !important;
}

.pilotbooker-pages-shell .hero .stat .num {
	font-size: 25px;
	line-height: 1.15;
}

.pilotbooker-pages-shell .hero .stat .label {
	margin-top: 4px;
	color: #9fb0c0;
	font-size: 13px;
	line-height: 1.4;
}

/* Centred page variants use the same measure and rhythm. */
.pilotbooker-pages-help-centre .hero > .wrap,
.pilotbooker-pages-how-it-works .hero > .wrap,
.pilotbooker-pages-partnerships .hero > .wrap,
.pilotbooker-pages-provider-pricing .hero > .wrap,
.pilotbooker-pages-resources .hero > .wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.pilotbooker-pages-help-centre .hero h1,
.pilotbooker-pages-how-it-works .hero h1,
.pilotbooker-pages-partnerships .hero h1,
.pilotbooker-pages-provider-pricing .hero h1,
.pilotbooker-pages-resources .hero h1 {
	max-width: 780px !important;
}

.pilotbooker-pages-help-centre .hero p.lead,
.pilotbooker-pages-how-it-works .hero p.lead,
.pilotbooker-pages-partnerships .hero p.lead,
.pilotbooker-pages-provider-pricing .hero p.lead,
.pilotbooker-pages-resources .hero p.lead {
	max-width: 650px !important;
}

/* Search-led informational pages reserve a controlled overlap. */
.pilotbooker-pages-category-landing .hero,
.pilotbooker-pages-provider-directory .hero,
.pilotbooker-pages-help-centre .hero,
.pilotbooker-pages-claim-provider .hero {
	padding-bottom: 34px !important;
}

/* Homepage: two balanced statements instead of four forced lines. */
.pilotbooker-home-v2 .pb-hero {
	padding: 50px 0 44px !important;
}

.pilotbooker-home-v2 .pb-eyebrow {
	margin-bottom: 14px;
}

.pilotbooker-home-v2 .pb-hero h1,
.pilotbooker-home-v2 .pb-hero-title {
	width: 100%;
	max-width: 1120px !important;
	margin: 0 !important;
	font-size: clamp(44px, 3.35vw, 56px) !important;
	font-weight: 600 !important;
	letter-spacing: -0.035em !important;
	line-height: 1.02 !important;
}

.pilotbooker-home-v2 .pb-hero-title {
	display: grid !important;
	row-gap: 0 !important;
}

.pilotbooker-home-v2 .pb-hero-title__statement {
	display: block;
	margin: 0 !important;
}

/*
 * The two homepage statements are separate block rows. Their line boxes create
 * more visual whitespace than an ordinary wrapped heading, even with a zero
 * grid gap. Move the second row upward by 38 CSS pixels (approximately 10 mm
 * at the standard 96 px/in reference) so the visible gap matches the compact
 * rhythm used by every other PilotBooker hero.
 */
.pilotbooker-home-v2 .pb-hero-title__statement--second {
	margin-top: -38px !important;
}

.pilotbooker-home-v2 .pb-lead {
	max-width: 720px !important;
	margin: 20px 0 26px !important;
	color: #c6d2de;
	font-size: 17px !important;
	line-height: 1.58 !important;
}

.pilotbooker-home-v2 .pb-hero-stats {
	max-width: 1040px;
	gap: 32px 52px;
	margin-top: 26px !important;
}

.pilotbooker-home-v2 .pb-hstat b {
	margin-bottom: 3px;
	font-size: 25px;
	line-height: 1.15;
}

.pilotbooker-home-v2 .pb-hstat span {
	font-size: 13px;
	line-height: 1.4;
}

/* Flight Schools now uses the same hero scale as the other discovery pages. */
.pilotbooker-flight-schools .pbf-hero {
	padding: 50px 0 40px !important;
}

.pilotbooker-flight-schools .pbf-hero h1 {
	font-size: clamp(34px, 3.5vw, 48px) !important;
}

.pilotbooker-flight-schools .pbf-chips {
	gap: 8px;
	margin-top: 22px;
}

/* ========================================================================
   Legacy public and legal page heroes
   ======================================================================== */

body.pilotbooker-about-page .pb-about-hero,
body.pilotbooker-contact-page .pb-contact-hero,
.pilotbooker-listing-rules-page .pb-listing-rules-head,
.pilotbooker-privacy-page .pb-privacy-head,
.pilotbooker-provider-terms-page .pb-provider-terms-head,
.pilotbooker-terms-page .pb-terms-head {
	position: relative;
	overflow: hidden;
	background:
		radial-gradient(ellipse at 18% -12%, rgba(45, 111, 163, 0.34), transparent 55%),
		linear-gradient(180deg, var(--pbds-navy) 0%, var(--pbds-navy-2) 100%) !important;
	color: var(--pbds-white);
}

body.pilotbooker-about-page .pb-about-hero::before,
body.pilotbooker-contact-page .pb-contact-hero::before,
.pilotbooker-listing-rules-page .pb-listing-rules-head::before,
.pilotbooker-privacy-page .pb-privacy-head::before,
.pilotbooker-provider-terms-page .pb-provider-terms-head::before,
.pilotbooker-terms-page .pb-terms-head::before {
	position: absolute;
	top: -92px;
	right: -76px;
	width: 330px;
	height: 330px;
	border: 1px solid rgba(255, 255, 255, 0.065);
	border-radius: 50%;
	content: "";
	pointer-events: none;
}

body.pilotbooker-about-page .pb-about-hero .pb-about-wrap,
body.pilotbooker-contact-page .pb-contact-hero .pb-contact-wrap,
.pilotbooker-listing-rules-page .pb-listing-rules-head .pb-listing-rules-wrap,
.pilotbooker-privacy-page .pb-privacy-head .pb-privacy-wrap,
.pilotbooker-provider-terms-page .pb-provider-terms-head .pb-provider-terms-wrap,
.pilotbooker-terms-page .pb-terms-head .pb-terms-wrap {
	position: relative;
	z-index: 1;
}

body.pilotbooker-about-page .pb-about-hero,
body.pilotbooker-contact-page .pb-contact-hero {
	padding: 56px 0 44px !important;
}

body.pilotbooker-about-page .pb-about-hero .pb-about-wrap,
body.pilotbooker-contact-page .pb-contact-hero .pb-contact-wrap {
	width: min(100% - (2 * var(--pbds-gutter)), var(--pbds-wrap));
	max-width: var(--pbds-wrap);
	padding-right: 0;
	padding-left: 0;
}

body.pilotbooker-about-page .pb-about-eyebrow,
body.pilotbooker-contact-page .pb-contact-tag,
.pilotbooker-listing-rules-page .pb-listing-rules-tag,
.pilotbooker-privacy-page .pb-privacy-tag,
.pilotbooker-provider-terms-page .pb-provider-terms-tag,
.pilotbooker-terms-page .pb-terms-tag {
	margin: 0 0 14px;
	color: var(--pbds-amber);
	font-family: "JetBrains Mono", monospace;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.12em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.pilotbooker-about-page .pb-about-hero h1,
body.pilotbooker-contact-page .pb-contact-hero h1 {
	max-width: 780px;
	margin: 0 auto 16px;
	color: var(--pbds-white) !important;
	font-family: "Space Grotesk", sans-serif;
	font-size: clamp(34px, 3.5vw, 48px);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.08;
}

body.pilotbooker-about-page .pb-about-hero p,
body.pilotbooker-contact-page .pb-contact-hero p {
	max-width: 650px;
	margin: 0 auto;
	color: var(--pbds-on-dark);
	font-size: 17px;
	line-height: 1.6;
}

.pilotbooker-listing-rules-page .pb-listing-rules-head,
.pilotbooker-privacy-page .pb-privacy-head,
.pilotbooker-provider-terms-page .pb-provider-terms-head,
.pilotbooker-terms-page .pb-terms-head {
	padding: 44px 0 36px !important;
}

.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
.pilotbooker-privacy-page .pb-privacy-head h1,
.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
.pilotbooker-terms-page .pb-terms-head h1 {
	margin: 0 0 8px;
	color: var(--pbds-white);
	font-family: "Space Grotesk", sans-serif;
	font-size: clamp(32px, 3vw, 42px);
	font-weight: 600;
	letter-spacing: -0.025em;
	line-height: 1.1;
}

.pilotbooker-listing-rules-page .pb-listing-rules-updated,
.pilotbooker-privacy-page .pb-privacy-updated,
.pilotbooker-provider-terms-page .pb-provider-terms-updated,
.pilotbooker-terms-page .pb-terms-updated {
	margin: 0;
	color: #9fb0c0;
	font-size: 13px;
	line-height: 1.5;
}

/* ========================================================================
   One search-bar system, adapted only by field count
   ======================================================================== */

.pb-search-strip,
.pilotbooker-pages-shell .flight-strip,
.pilotbooker-pages-shell .help-search,
.pilotbooker-pages-shell .search-box,
.pilotbooker-pages-shell .authority-search-card,
.pilotbooker-flight-schools .pbf-search-form,
body.pilotbooker-search-v2-page .pbs-searchbar form.directorist-search-form > .directorist-search-form-wrap {
	border: 0 !important;
	border-top: 3px solid var(--pbds-amber) !important;
	border-radius: var(--pbds-radius-md) !important;
	background: var(--pbds-white) !important;
	box-shadow: var(--pbds-shadow-search) !important;
}

/* Multi-field bars. */
.pilotbooker-home-v2 .pb-search-strip,
.pilotbooker-pages-shell .flight-strip {
	width: 100% !important;
	max-width: 1120px !important;
	margin: 0 !important;
	padding: 7px !important;
}

.pilotbooker-home-v2 .pb-search-strip .pb-custom-search {
	grid-template-columns:
		minmax(200px, 1.35fr)
		minmax(160px, 1fr)
		minmax(185px, 1.15fr)
		minmax(155px, 1fr)
		140px !important;
}

.pilotbooker-home-v2 .pb-custom-search__field,
.pilotbooker-pages-shell .flight-strip .strip-field {
	min-height: 64px !important;
	padding: 10px 16px !important;
	border: 0 !important;
	border-right: 1px solid var(--pbds-cloud-dim) !important;
	background: var(--pbds-white) !important;
}

.pilotbooker-pages-shell .flight-strip .strip-field {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-width: 150px;
}

.pilotbooker-home-v2 .pb-custom-search__field label,
.pilotbooker-pages-shell .flight-strip .strip-field label {
	margin: 0 0 5px !important;
	color: var(--pbds-soft) !important;
	font-family: "JetBrains Mono", monospace !important;
	font-size: 10px !important;
	font-weight: 500 !important;
	letter-spacing: 0.09em !important;
	line-height: 1.25 !important;
	text-transform: uppercase !important;
}

.pilotbooker-home-v2 .pb-custom-search__field input,
.pilotbooker-home-v2 .pb-custom-search__field select,
.pilotbooker-pages-shell .flight-strip .strip-field input,
.pilotbooker-pages-shell .flight-strip .strip-field select {
	height: 27px !important;
	min-height: 27px !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	color: var(--pbds-ink) !important;
	font-family: "Inter", sans-serif !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	line-height: 1.4 !important;
}

.pilotbooker-home-v2 .pb-custom-search__button,
.pilotbooker-pages-shell .flight-strip .strip-btn {
	align-self: stretch;
	min-width: 140px !important;
	min-height: 64px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: var(--pbds-radius-sm) !important;
	background: var(--pbds-navy) !important;
	color: var(--pbds-white) !important;
	font-family: "Inter", sans-serif !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

.pilotbooker-home-v2 .pb-custom-search__button:hover,
.pilotbooker-home-v2 .pb-custom-search__button:focus,
.pilotbooker-pages-shell .flight-strip .strip-btn:hover,
.pilotbooker-pages-shell .flight-strip .strip-btn:focus {
	background: var(--pbds-sky) !important;
}

.pilotbooker-pages-category-landing .flight-strip,
.pilotbooker-pages-provider-directory .flight-strip {
	margin-top: -22px !important;
}

/* Simple help/claim searches keep the same shell and 64px control height. */
.pilotbooker-pages-shell .help-search,
.pilotbooker-pages-shell .search-box {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) 132px;
	width: min(100%, 720px) !important;
	max-width: 720px !important;
	margin: 24px 0 0 !important;
	padding: 7px !important;
}

.pilotbooker-pages-help-centre .help-search {
	margin-right: auto !important;
	margin-left: auto !important;
}

.pilotbooker-pages-shell .help-search input,
.pilotbooker-pages-shell .search-box input {
	min-width: 0;
	height: 64px !important;
	margin: 0 !important;
	padding: 0 16px !important;
	border: 0 !important;
	border-right: 1px solid var(--pbds-cloud-dim) !important;
	border-radius: 0 !important;
	background: transparent !important;
	color: var(--pbds-ink) !important;
	font-size: 15px !important;
	font-weight: 500;
	box-shadow: none !important;
}

.pilotbooker-pages-shell .help-search button,
.pilotbooker-pages-shell .search-box button {
	height: 64px !important;
	min-height: 64px !important;
	margin: 0 !important;
	padding: 0 18px !important;
	border: 0 !important;
	border-radius: var(--pbds-radius-sm) !important;
	background: var(--pbds-navy) !important;
	color: var(--pbds-white) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
}

.pilotbooker-pages-claim-provider > .pilotbooker-pages-shell main > .wrap > .search-box {
	position: relative;
	z-index: 5;
	margin-top: -22px !important;
}

/* Authority directory search follows the same visual family. */
.pilotbooker-pages-shell .authority-search-card {
	width: min(100%, 760px);
	margin: 0 auto;
	padding: 12px 16px 14px !important;
}

.pilotbooker-pages-shell .authority-search-card label {
	display: block;
	margin: 0 0 5px;
	color: var(--pbds-soft);
	font-family: "JetBrains Mono", monospace;
	font-size: 10px;
	font-weight: 500;
	letter-spacing: 0.09em;
	line-height: 1.3;
	text-transform: uppercase;
}

.pilotbooker-pages-shell .authority-search-card input {
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	color: var(--pbds-ink);
	font-size: 15px;
	font-weight: 600;
	box-shadow: none;
}

.pilotbooker-pages-shell .authority-search-card p {
	margin: 7px 0 0;
	color: var(--pbds-soft);
	font-size: 12.5px;
}

/* Search-results Directorist bar: same outer shell and control height. */
body.pilotbooker-search-v2-page .pilotbooker-search-v2 .pbs-searchbar {
	padding: 18px 0 !important;
	border-bottom: 1px solid var(--pbds-cloud-dim);
	background: var(--pbds-cloud) !important;
}

body.pilotbooker-search-v2-page .pbs-searchbar form.directorist-search-form > .directorist-search-form-wrap {
	height: 81px !important;
	min-height: 81px !important;
	padding: 7px !important;
}

body.pilotbooker-search-v2-page .pbs-searchbar form.directorist-search-form > .directorist-search-form-wrap > .directorist-search-form__box,
body.pilotbooker-search-v2-page .pbs-searchbar .directorist-search-form__box > .directorist-search-form-top,
body.pilotbooker-search-v2-page .pbs-searchbar .directorist-search-form-top > .directorist-search-adv-filter {
	height: 64px !important;
	min-height: 64px !important;
	grid-template-rows: 64px !important;
}

body.pilotbooker-search-v2-page .pbs-searchbar .directorist-search-form-top > .directorist-search-adv-filter > .directorist-search-field {
	height: 64px !important;
	min-height: 64px !important;
	padding: 10px 16px !important;
	border-right-color: var(--pbds-cloud-dim) !important;
}

body.pilotbooker-search-v2-page .pbs-searchbar .directorist-search-form__box > .directorist-search-form-action,
body.pilotbooker-search-v2-page .pbs-searchbar .directorist-search-form-action__submit,
body.pilotbooker-search-v2-page .pbs-searchbar button.directorist-btn-search {
	height: 64px !important;
	min-height: 64px !important;
	border-radius: var(--pbds-radius-sm) !important;
}

/* Flight Schools search bar uses the same 64px geometry. */
.pilotbooker-flight-schools .pbf-search-panel {
	top: var(--pbds-header-height);
	padding: 14px 0;
	border-bottom: 1px solid var(--pbds-cloud-dim);
	background: rgba(247, 249, 251, 0.97);
}

.pilotbooker-flight-schools .pbf-search-form {
	gap: 0;
	padding: 7px;
}

.pilotbooker-flight-schools .pbf-search-form__field {
	min-height: 64px;
	border-right: 1px solid var(--pbds-cloud-dim);
}

.pilotbooker-flight-schools .pbf-search-form input[type="search"] {
	height: 64px;
	padding: 0 16px 0 44px;
	border: 0;
	border-radius: 0;
	font-size: 15px;
	font-weight: 600;
}

.pilotbooker-flight-schools .pbf-search-form__button {
	min-width: 140px;
	height: 64px;
	min-height: 64px;
	padding: 0 18px;
	border: 0;
	border-radius: var(--pbds-radius-sm);
	font-size: 14px;
}

/* ========================================================================
   Sections, headings, cards and buttons
   ======================================================================== */

.pilotbooker-pages-shell section:not(.hero),
.pilotbooker-home-v2 .pb-section {
	padding-top: 64px;
	padding-bottom: 64px;
}

.pilotbooker-pages-shell .section-head,
.pilotbooker-home-v2 .pb-sec-head {
	margin-bottom: 36px;
}

.pilotbooker-pages-shell .section-head h2,
.pilotbooker-home-v2 .pb-sec-head h2 {
	color: var(--pbds-ink);
	font-family: "Space Grotesk", sans-serif;
	font-size: clamp(28px, 2.4vw, 34px);
	font-weight: 600;
	letter-spacing: -0.02em;
	line-height: 1.16;
}

.pilotbooker-pages-shell .card,
.pilotbooker-pages-shell [class$="-card"],
.pilotbooker-pages-shell [class*="-card "],
.pilotbooker-flight-schools [class$="-card"],
.pilotbooker-flight-schools [class*="-card "] {
	border-color: var(--pbds-cloud-dim);
	border-radius: var(--pbds-radius-md);
}

.pilotbooker-pages-shell .btn {
	min-height: 44px;
	padding: 0 20px;
	border-radius: var(--pbds-radius-sm);
	font-size: 14.5px;
	font-weight: 600;
}

.pilotbooker-pages-shell .btn-sm {
	min-height: 38px;
	padding: 0 16px;
	font-size: 13.5px;
}

.pilotbooker-pages-shell .btn-amber {
	background: var(--pbds-amber);
	color: var(--pbds-navy);
}

.pilotbooker-pages-shell .btn-amber:hover,
.pilotbooker-pages-shell .btn-amber:focus {
	background: var(--pbds-amber-hover);
}

/* ========================================================================
   Footer geometry
   ======================================================================== */

.pb-footer,
.pilotbooker-pages-shell footer.site {
	margin-top: 72px;
	padding: 56px 0 28px;
	background: var(--pbds-navy);
	color: #9fb0c0;
}

.pb-foot-grid,
.pilotbooker-pages-shell .footer-grid {
	grid-template-columns: 1.35fr 1fr 1fr 1fr;
	gap: 40px;
	padding-bottom: 40px;
	border-bottom: 1px solid var(--pbds-line-dark);
}

.pb-foot-grid h4,
.pilotbooker-pages-shell .footer-grid h4 {
	margin: 0 0 16px;
	color: var(--pbds-white);
	font-family: "JetBrains Mono", monospace;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	line-height: 1.4;
	text-transform: uppercase;
}

.pb-foot-grid a,
.pilotbooker-pages-shell .footer-grid a {
	margin-bottom: 10px;
	color: #9fb0c0;
	font-size: 14px;
	line-height: 1.45;
}

.pb-foot-bottom,
.pilotbooker-pages-shell .footer-bottom {
	gap: 12px 24px;
	padding-top: 24px;
	font-size: 13px;
	line-height: 1.5;
}

/* ========================================================================
   Responsive harmony
   ======================================================================== */

@media (max-width: 1080px) {
	.pb-navlinks,
	.pilotbooker-pages-shell .nav-links {
		gap: 20px;
	}

	.pb-navlinks a,
	.pilotbooker-pages-shell .nav-links a {
		font-size: 14px;
	}

	.pilotbooker-home-v2 .pb-hero h1,
	.pilotbooker-home-v2 .pb-hero-title {
		font-size: clamp(41px, 4.7vw, 50px) !important;
	}
}

@media (max-width: 900px) {
	.pb-wrap,
	.pilotbooker-pages-shell .wrap,
	.pilotbooker-flight-schools .pbf-wrap,
	.pb-nav,
	.pilotbooker-pages-shell .nav-inner {
		width: min(100% - (2 * var(--pbds-gutter)), var(--pbds-wrap));
	}

	.pilotbooker-pages-shell .hero,
	.pilotbooker-home-v2 .pb-hero,
	.pilotbooker-flight-schools .pbf-hero {
		padding-top: 46px !important;
		padding-bottom: 38px !important;
	}

	.pilotbooker-pages-shell .hero h1,
	.pilotbooker-flight-schools .pbf-hero h1 {
		max-width: 100%;
		font-size: clamp(31px, 5vw, 40px);
	}

	.pilotbooker-home-v2 .pb-hero h1,
	.pilotbooker-home-v2 .pb-hero-title {
		font-size: clamp(38px, 5.6vw, 47px) !important;
	}

	.pilotbooker-home-v2 .pb-search-strip .pb-custom-search {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.pilotbooker-home-v2 .pb-custom-search__field,
	.pilotbooker-pages-shell .flight-strip .strip-field {
		border-right: 0 !important;
		border-bottom: 1px solid var(--pbds-cloud-dim) !important;
	}

	.pilotbooker-home-v2 .pb-custom-search__field:nth-of-type(odd) {
		border-right: 1px solid var(--pbds-cloud-dim) !important;
	}

	.pilotbooker-home-v2 .pb-custom-search__button {
		grid-column: 1 / -1 !important;
		min-height: 52px !important;
		margin-top: 7px !important;
	}

	.pilotbooker-pages-shell .flight-strip {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.pilotbooker-pages-shell .flight-strip .strip-btn {
		grid-column: 1 / -1;
		min-height: 52px !important;
		margin-top: 7px !important;
	}

	.pb-foot-grid,
	.pilotbooker-pages-shell .footer-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 34px 28px;
	}
}

@media (max-width: 700px) {
	:root {
		--pbds-gutter: var(--pbds-gutter-mobile);
	}

	.pb-nav,
	.pilotbooker-pages-shell .nav-inner {
		gap: 14px;
	}

	.pilotbooker-pages-shell .hero,
	.pilotbooker-home-v2 .pb-hero,
	.pilotbooker-flight-schools .pbf-hero {
		padding-top: 38px !important;
		padding-bottom: 32px !important;
	}

	.pilotbooker-pages-shell .hero h1,
	.pilotbooker-flight-schools .pbf-hero h1 {
		font-size: clamp(29px, 8.2vw, 35px) !important;
		line-height: 1.1;
	}

	.pilotbooker-pages-shell .hero p.lead,
	.pilotbooker-flight-schools .pbf-hero__intro {
		margin-top: 12px;
		font-size: 15.5px;
		line-height: 1.55;
	}

	.pilotbooker-home-v2 .pb-hero h1,
	.pilotbooker-home-v2 .pb-hero-title {
		font-size: clamp(34px, 9.2vw, 42px) !important;
		line-height: 1.08 !important;
	}

	.pilotbooker-home-v2 .pb-hero-title__statement--second {
		margin-top: -24px !important;
	}

	.pilotbooker-home-v2 .pb-lead {
		margin: 16px 0 22px !important;
		font-size: 15.5px !important;
		line-height: 1.55 !important;
	}

	.pilotbooker-home-v2 .pb-search-strip .pb-custom-search,
	.pilotbooker-pages-shell .flight-strip,
	.pilotbooker-pages-shell .help-search,
	.pilotbooker-pages-shell .search-box {
		grid-template-columns: 1fr !important;
	}

	.pilotbooker-home-v2 .pb-custom-search__field,
	.pilotbooker-home-v2 .pb-custom-search__field:nth-of-type(odd),
	.pilotbooker-pages-shell .flight-strip .strip-field,
	.pilotbooker-pages-shell .help-search input,
	.pilotbooker-pages-shell .search-box input {
		min-height: 60px !important;
		border-right: 0 !important;
		border-bottom: 1px solid var(--pbds-cloud-dim) !important;
	}

	.pilotbooker-home-v2 .pb-custom-search__button,
	.pilotbooker-pages-shell .flight-strip .strip-btn,
	.pilotbooker-pages-shell .help-search button,
	.pilotbooker-pages-shell .search-box button {
		grid-column: auto !important;
		height: 50px !important;
		min-height: 50px !important;
		margin-top: 7px !important;
	}

	.pilotbooker-pages-category-landing .flight-strip,
	.pilotbooker-pages-provider-directory .flight-strip,
	.pilotbooker-pages-claim-provider > .pilotbooker-pages-shell main > .wrap > .search-box {
		margin-top: -16px !important;
	}

	.pilotbooker-home-v2 .pb-hero-stats,
	.pilotbooker-pages-shell .hero .stats-row {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 18px 20px;
		margin-top: 22px !important;
	}

	.pilotbooker-pages-shell section:not(.hero),
	.pilotbooker-home-v2 .pb-section {
		padding-top: 48px;
		padding-bottom: 48px;
	}

	.pb-foot-grid,
	.pilotbooker-pages-shell .footer-grid {
		grid-template-columns: 1fr;
	}
}

@media (min-width: 1100px) {
	.pilotbooker-home-v2 .pb-hero-title__statement {
		white-space: nowrap;
	}
}

@media (max-width: 700px) {
	body.pilotbooker-about-page .pb-about-hero,
	body.pilotbooker-contact-page .pb-contact-hero {
		padding: 38px 0 32px !important;
	}

	body.pilotbooker-about-page .pb-about-hero h1,
	body.pilotbooker-contact-page .pb-contact-hero h1 {
		font-size: clamp(29px, 8.2vw, 35px);
		line-height: 1.1;
	}

	body.pilotbooker-about-page .pb-about-hero p,
	body.pilotbooker-contact-page .pb-contact-hero p {
		font-size: 15.5px;
		line-height: 1.55;
	}

	.pilotbooker-listing-rules-page .pb-listing-rules-head,
	.pilotbooker-privacy-page .pb-privacy-head,
	.pilotbooker-provider-terms-page .pb-provider-terms-head,
	.pilotbooker-terms-page .pb-terms-head {
		padding: 34px 0 30px !important;
	}

	.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
	.pilotbooker-privacy-page .pb-privacy-head h1,
	.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
	.pilotbooker-terms-page .pb-terms-head h1 {
		font-size: clamp(29px, 8vw, 35px);
	}
}

/* Use the complete mobile navigation before the desktop header becomes tight. */
@media (max-width: 1020px) {
	.pb-header .pb-navlinks,
	.pb-header .pb-nav-cta,
	.pilotbooker-pages-shell header.site .pbp-desktop-navigation,
	.pilotbooker-pages-shell header.site .nav-actions {
		display: none !important;
	}

	.pb-header .pb-menu-toggle,
	.pilotbooker-pages-shell header.site .pbp-menu-toggle {
		display: flex !important;
	}

	.pb-header .pb-mobile-menu:not([hidden]),
	.pilotbooker-pages-shell header.site .pbp-mobile-menu:not([hidden]) {
		display: block !important;
	}
}

/* PilotBooker v1.9 unified public shell structure. */
.pb-header { position: sticky; top: 0; z-index: 1000; }
.pb-header .pb-wrap,
.pb-footer .pb-wrap { width: min(100% - (2 * var(--pbds-gutter)), var(--pbds-wrap)); margin-inline: auto; }
.pb-nav { display: flex; align-items: center; justify-content: space-between; }
.pb-logo { display: inline-flex; align-items: center; flex: 0 0 auto; text-decoration: none; }
.pb-logo__bug { display: inline-flex; align-items: center; justify-content: center; }
.pb-navlinks { display: flex; align-items: center; justify-content: center; margin-left: auto; }
.pb-navlinks a { display: inline-flex; align-items: center; white-space: nowrap; text-decoration: none; }
.pb-nav-cta { display: flex; align-items: center; flex: 0 0 auto; }
.pb-btn { display: inline-flex; align-items: center; justify-content: center; border: 1px solid transparent; text-decoration: none; }
.pb-btn--amber { background: var(--pbds-amber); color: var(--pbds-navy) !important; }
.pb-btn--ghost { border-color: rgba(255,255,255,.28); background: transparent; color: #fff !important; }
.pb-menu-toggle { display: none; width: 42px; height: 42px; padding: 9px; border: 1px solid rgba(255,255,255,.22); border-radius: 7px; background: transparent; color: #fff; cursor: pointer; }
.pb-menu-toggle > span:not(.screen-reader-text) { display: block; width: 100%; height: 2px; margin: 4px 0; border-radius: 99px; background: currentColor; }
.pb-menu-toggle[aria-expanded="true"] > span:nth-child(1) { transform: translateY(6px) rotate(45deg); }
.pb-menu-toggle[aria-expanded="true"] > span:nth-child(2) { opacity: 0; }
.pb-menu-toggle[aria-expanded="true"] > span:nth-child(3) { transform: translateY(-6px) rotate(-45deg); }
.pb-mobile-menu { display: none; padding: 4px 0 18px; border-top: 1px solid rgba(255,255,255,.12); background: var(--pbds-navy); }
.pb-mobile-menu[hidden] { display: none !important; }
.pb-mobile-menu nav > a,
.pb-mobile-menu > a:not(.pb-btn) { display: block; padding: 12px 4px; border-bottom: 1px solid rgba(255,255,255,.08); color: #c6d2de; font-size: 14px; font-weight: 500; text-decoration: none; }
.pb-mobile-menu .pb-btn { width: 100%; margin-top: 14px; }
.pb-skip-link { position: fixed; top: 8px; left: 8px; z-index: 10000; padding: 10px 14px; border-radius: 6px; background: #fff; color: #0b1e33; transform: translateY(-150%); }
.pb-skip-link:focus { transform: translateY(0); }
.pb-foot-grid { display: grid; }
.pb-footer ul { margin: 0; padding: 0; list-style: none; }
.pb-footer li { margin: 0; }
.pb-footer .pb-logo--footer { display: inline-flex; align-items: center; text-decoration: none; }
.pb-foot-intro { max-width: 290px; margin: 18px 0 0; color: #9fb0c0; line-height: 1.6; }
.pb-foot-bottom { display: flex; flex-wrap: wrap; justify-content: space-between; }

@media (max-width: 1120px) {
	.pb-header .pb-navlinks,
	.pb-header .pb-nav-cta { display: none !important; }
	.pb-header .pb-menu-toggle { display: block !important; }
	.pb-header .pb-mobile-menu:not([hidden]) { display: block !important; }
}

/* v1.9 current-route and mobile-shell polish. */
.pb-header .pb-navlinks a.is-current {
	position: relative;
	color: #ffffff;
}
.pb-header .pb-navlinks a.is-current::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -12px;
	height: 2px;
	border-radius: 99px;
	background: var(--pbds-amber);
}
.pb-header .pb-mobile-menu a.is-current {
	color: #ffffff;
	font-weight: 700;
}
.pb-header .pb-mobile-menu a.is-current::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 9px;
	border-radius: 50%;
	background: var(--pbds-amber);
	vertical-align: 1px;
}
@media (max-width: 1120px) {
	html.pb-menu-is-open,
	html.pb-menu-is-open body {
		overflow: hidden;
	}
	.pb-header .pb-mobile-menu {
		max-height: calc(100vh - 72px);
		overflow-y: auto;
		overscroll-behavior: contain;
	}
}


/* ========================================================================
   PilotBooker v1.9.3 — compact, balanced public hero headings
   ======================================================================== */

/*
 * Keep wrapped hero lines close and consistent.  A wider text measure and
 * balanced wrapping prevent isolated one-word lines without shrinking the
 * entire public design system.
 */
.pilotbooker-pages-shell .hero h1,
.pilotbooker-flight-schools .pbf-hero h1,
body.pilotbooker-about-page .pb-about-hero h1,
body.pilotbooker-contact-page .pb-contact-hero h1,
.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
.pilotbooker-privacy-page .pb-privacy-head h1,
.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
.pilotbooker-terms-page .pb-terms-head h1 {
	max-width: 1080px;
	line-height: 0.94 !important;
	text-wrap: balance;
}

/*
 * The type-rating headline is short enough to remain a single line on normal
 * desktop and laptop widths.  It returns to balanced wrapping before it could
 * overflow a narrow tablet or phone.
 */
.pilotbooker-pages-category-landing .hero h1 {
	width: 100%;
	max-width: 1180px !important;
	font-size: clamp(36px, 3.45vw, 44px) !important;
	letter-spacing: -0.035em !important;
	line-height: 0.94 !important;
	text-wrap: balance;
}

.pb-hero-no-break {
	white-space: nowrap;
}

@media (min-width: 981px) {
	.pilotbooker-pages-category-landing .hero h1 {
		white-space: nowrap;
	}
}

@media (max-width: 980px) {
	.pilotbooker-pages-shell .hero h1,
	.pilotbooker-flight-schools .pbf-hero h1,
	body.pilotbooker-about-page .pb-about-hero h1,
	body.pilotbooker-contact-page .pb-contact-hero h1,
	.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
	.pilotbooker-privacy-page .pb-privacy-head h1,
	.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
	.pilotbooker-terms-page .pb-terms-head h1,
	.pilotbooker-pages-category-landing .hero h1 {
		line-height: 0.98 !important;
		white-space: normal;
	}
}

@media (max-width: 560px) {
	.pilotbooker-pages-shell .hero h1,
	.pilotbooker-flight-schools .pbf-hero h1,
	body.pilotbooker-about-page .pb-about-hero h1,
	body.pilotbooker-contact-page .pb-contact-hero h1,
	.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
	.pilotbooker-privacy-page .pb-privacy-head h1,
	.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
	.pilotbooker-terms-page .pb-terms-head h1,
	.pilotbooker-pages-category-landing .hero h1 {
		line-height: 1.02 !important;
	}

	.pb-hero-no-break {
		white-space: normal;
	}
}


@media (max-width: 560px) {
	.pilotbooker-home-v2 .pb-hero-title__statement--second {
		margin-top: -18px !important;
	}
}


/* ========================================================================
   PilotBooker v1.9.6 — one public navigation shell everywhere
   ======================================================================== */
.pb-header .pb-wrap {
	width: min(calc(100% - 40px), 1280px);
}
.pb-header .pb-nav {
	gap: 18px;
}
.pb-header .pb-navlinks {
	gap: 14px;
	font-size: 13.5px;
}
.pb-header .pb-navlinks a {
	font-weight: 600;
}
.pb-header .pb-nav-cta {
	gap: 10px;
}
.pb-header .pb-btn {
	padding-inline: 14px;
}
@media (max-width: 1260px) {
	.pb-header .pb-navlinks,
	.pb-header .pb-nav-cta {
		display: none !important;
	}
	.pb-header .pb-menu-toggle {
		display: block !important;
	}
	.pb-header .pb-mobile-menu:not([hidden]) {
		display: block !important;
	}
}

/* ========================================================================
   PilotBooker v1.9.7 — responsive desktop header correction
   ======================================================================== */
/*
 * The seven-link public navigation plus currency/account actions is wider
 * than a normal 1366px laptop viewport. Use a compact desktop shell before
 * labels can wrap or controls become crowded:
 *
 * 1541px and wider: full navigation + account actions.
 * 1121px–1540px:    account actions + menu button; links live in the menu.
 * 1120px and below: complete mobile menu.
 */
.pb-header .pb-navlinks a {
	white-space: nowrap !important;
}

@media (min-width: 1541px) {
	.pb-header .pb-navlinks {
		display: flex !important;
	}

	.pb-header .pb-nav-cta {
		display: flex !important;
	}

	.pb-header .pb-menu-toggle {
		display: none !important;
	}
}

@media (min-width: 1121px) and (max-width: 1540px) {
	.pb-header .pb-navlinks {
		display: none !important;
	}

	.pb-header .pb-nav-cta {
		display: flex !important;
		margin-left: auto;
	}

	.pb-header .pb-menu-toggle {
		display: inline-flex !important;
		flex: 0 0 42px;
		flex-direction: column;
		align-items: stretch;
		justify-content: center;
		margin-left: 2px;
	}

	.pb-header .pb-mobile-menu:not([hidden]) {
		display: block !important;
	}
}

@media (max-width: 1120px) {
	.pb-header .pb-navlinks,
	.pb-header .pb-nav-cta {
		display: none !important;
	}

	.pb-header .pb-menu-toggle {
		display: inline-flex !important;
		flex: 0 0 42px;
		flex-direction: column;
		align-items: stretch;
		justify-content: center;
	}

	.pb-header .pb-mobile-menu:not([hidden]) {
		display: block !important;
	}
}

@media (max-width: 560px) {
	.pb-header .pb-wrap {
		width: min(calc(100% - 28px), 1280px);
	}
}


/* ========================================================================
   PilotBooker v1.9.9 — content-aligned header with persistent desktop links
   ======================================================================== */
/*
 * Match the public content measure exactly. The logo now begins on the same
 * vertical line as headings such as “Structured and flexible routes”.
 * Resources is intentionally footer-only, leaving six primary destinations.
 */
.pb-header .pb-wrap {
	width: min(calc(100% - 48px), 1180px);
	max-width: 1180px;
}

/* Keep all six desktop destinations visible through laptop and zoomed views. */
@media (min-width: 1051px) {
	.pb-header .pb-nav {
		gap: 10px;
	}

	.pb-header .pb-logo {
		gap: 8px !important;
		font-size: 18px !important;
	}

	.pb-header .pb-logo__bug {
		width: 32px !important;
		height: 32px !important;
		min-width: 32px !important;
		flex-basis: 32px !important;
	}

	.pb-header .pb-navlinks {
		display: flex !important;
		min-width: 0;
		gap: 8px !important;
		margin-left: auto;
	}

	.pb-header .pb-navlinks a {
		font-size: 12.4px !important;
		font-weight: 600;
		letter-spacing: -0.012em;
	}

	.pb-header .pb-nav-cta {
		display: flex !important;
		gap: 7px !important;
		margin-left: 2px;
		padding-left: 90px !important;
		min-height: 44px !important;
	}

	.pb-header .pb-nav-cta > .ptm-header-currency--desktop {
		width: 82px !important;
	}

	.pb-header .ptm-header-currency__button {
		width: 82px;
		min-width: 82px;
		height: 44px;
		min-height: 44px;
		padding-right: 10px;
		padding-left: 10px;
		font-size: 14px;
	}

	.pb-header .pb-btn {
		min-height: 44px;
		padding-right: 10px !important;
		padding-left: 10px !important;
		font-size: 12.5px;
	}

	.pb-header .pb-menu-toggle {
		display: none !important;
	}
}

/*
 * Ultra-compact desktop tier. This is intentionally used only when browser
 * zoom or a small laptop leaves less CSS width; physical text remains legible
 * because browser zoom enlarges it on screen.
 */
@media (min-width: 901px) and (max-width: 1050px) {
	.pb-header .pb-nav {
		gap: 6px;
	}

	.pb-header .pb-logo {
		gap: 6px !important;
		font-size: 15px !important;
	}

	.pb-header .pb-logo__bug {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		flex-basis: 28px !important;
		border-radius: 8px !important;
		font-size: 14px !important;
	}

	.pb-header .pb-navlinks {
		display: flex !important;
		min-width: 0;
		gap: 4px !important;
		margin-left: auto;
	}

	.pb-header .pb-navlinks a {
		font-size: 10.25px !important;
		font-weight: 700;
		letter-spacing: -0.025em;
	}

	.pb-header .pb-nav-cta {
		display: flex !important;
		gap: 4px !important;
		margin-left: 0;
		padding-left: 74px !important;
		min-height: 40px !important;
	}

	.pb-header .pb-nav-cta > .ptm-header-currency--desktop {
		width: 68px !important;
	}

	.pb-header .ptm-header-currency__button {
		width: 68px;
		min-width: 68px;
		height: 40px;
		min-height: 40px;
		gap: 5px;
		padding-right: 7px;
		padding-left: 7px;
		font-size: 11px;
	}

	.pb-header .pb-btn {
		min-height: 40px;
		padding-right: 7px !important;
		padding-left: 7px !important;
		font-size: 10.75px;
		letter-spacing: -0.015em;
	}

	.pb-header .pb-menu-toggle {
		display: none !important;
	}
}

/* Use the complete touch menu only at the established tablet/mobile width. */
@media (max-width: 900px) {
	.pb-header .pb-navlinks,
	.pb-header .pb-nav-cta {
		display: none !important;
	}

	.pb-header .pb-menu-toggle {
		display: inline-flex !important;
		flex: 0 0 42px;
		flex-direction: column;
		align-items: stretch;
		justify-content: center;
	}

	.pb-header .pb-mobile-menu:not([hidden]) {
		display: block !important;
	}
}

@media (max-width: 560px) {
	.pb-header .pb-wrap {
		width: min(calc(100% - 28px), 1180px);
	}
}


/* ========================================================================
   PilotBooker v1.9.10 — logo aligned to the header frame edge
   ======================================================================== */
/*
 * The shared header already has one outer 1180px wrapper. Earlier rules also
 * constrained the inner navigation, creating a second left inset. Remove that
 * duplicate inset so the logo begins exactly at the left edge of the header
 * content frame while preserving the established desktop and mobile gutters.
 */
.pb-header .pb-nav {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}


/* ========================================================================
   PilotBooker v1.9.11 — balanced desktop navigation and Jobs destination
   ======================================================================== */
/*
 * With six compact destinations, distribute the remaining header space
 * evenly on both sides of the navigation group. This keeps the first tab the
 * same visual distance from the PilotBooker brand as Jobs is from the USD
 * control, without hiding links at normal laptop zoom levels.
 */
@media (min-width: 1051px) {
	.pb-header .pb-navlinks {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.pb-header .pb-nav-cta {
		margin-left: 0 !important;
		padding-left: 0 !important;
	}
}

@media (min-width: 901px) and (max-width: 1050px) {
	.pb-header .pb-navlinks {
		margin-right: auto !important;
		margin-left: auto !important;
	}

	.pb-header .pb-nav-cta {
		margin-left: 0 !important;
		padding-left: 0 !important;
	}
}

/* ========================================================================
   PilotBooker v1.9.12 — add 2 mm between wrapped hero-title lines
   ======================================================================== */
/*
 * CSS absolute units are anchored to 96 px per inch on screens, so 2 mm is
 * approximately 7.56 CSS pixels. Add that amount to the established line
 * rhythm without changing hero font sizes, wrapping widths or section space.
 */
.pilotbooker-pages-shell .hero h1,
.pilotbooker-flight-schools .pbf-hero h1,
body.pilotbooker-about-page .pb-about-hero h1,
body.pilotbooker-contact-page .pb-contact-hero h1,
.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
.pilotbooker-privacy-page .pb-privacy-head h1,
.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
.pilotbooker-terms-page .pb-terms-head h1 {
	line-height: calc(0.94em + 2mm) !important;
}

/* The homepage uses two separate title rows rather than one wrapped heading. */
.pilotbooker-home-v2 .pb-hero-title__statement--second {
	margin-top: calc(-38px + 2mm) !important;
}

@media (max-width: 980px) {
	.pilotbooker-pages-shell .hero h1,
	.pilotbooker-flight-schools .pbf-hero h1,
	body.pilotbooker-about-page .pb-about-hero h1,
	body.pilotbooker-contact-page .pb-contact-hero h1,
	.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
	.pilotbooker-privacy-page .pb-privacy-head h1,
	.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
	.pilotbooker-terms-page .pb-terms-head h1 {
		line-height: calc(0.98em + 2mm) !important;
	}
}

@media (max-width: 700px) {
	.pilotbooker-home-v2 .pb-hero-title__statement--second {
		margin-top: calc(-24px + 2mm) !important;
	}
}

@media (max-width: 560px) {
	.pilotbooker-pages-shell .hero h1,
	.pilotbooker-flight-schools .pbf-hero h1,
	body.pilotbooker-about-page .pb-about-hero h1,
	body.pilotbooker-contact-page .pb-contact-hero h1,
	.pilotbooker-listing-rules-page .pb-listing-rules-head h1,
	.pilotbooker-privacy-page .pb-privacy-head h1,
	.pilotbooker-provider-terms-page .pb-provider-terms-head h1,
	.pilotbooker-terms-page .pb-terms-head h1 {
		line-height: calc(1.02em + 2mm) !important;
	}

	.pilotbooker-home-v2 .pb-hero-title__statement--second {
		margin-top: calc(-18px + 2mm) !important;
	}
}

/* ========================================================================
   PilotBooker v1.9.13 — 4 mm navigation spacing and separated header actions
   ======================================================================== */
/*
 * The currency control is server-rendered, so it belongs in the normal flex
 * row. Cancel the earlier first-paint absolute positioning after the public
 * styles load. USD, Log in/Dashboard and List a Service then remain separate
 * flex items at every desktop width.
 */
@media (min-width: 901px) {
	.pb-header .pb-nav-cta {
		position: relative !important;
		display: flex !important;
		align-items: center !important;
		flex: 0 0 auto !important;
		flex-wrap: nowrap !important;
		min-width: max-content !important;
		padding-left: 0 !important;
		white-space: nowrap !important;
	}

	.pb-header
	.pb-nav-cta
	> .ptm-header-currency--desktop {
		position: relative !important;
		top: auto !important;
		left: auto !important;
		display: flex !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
		transform: none !important;
	}

	.pb-header .pb-nav-cta > .pb-btn,
	.pb-header .pb-nav-cta > .pb-account-menu {
		position: relative !important;
		flex: 0 0 auto !important;
		margin: 0 !important;
	}
}

/* Full desktop: add exactly 4 mm to the established 8px tab gap. */
@media (min-width: 1201px) {
	.pb-header .pb-navlinks {
		flex: 0 0 auto !important;
		gap: calc(8px + 4mm) !important;
	}

	.pb-header .pb-nav-cta {
		gap: 10px !important;
	}
}

/*
 * Zoomed laptops: retain the same 4 mm increase while using the existing
 * compact typography and controls. Fixed flex bases prevent link text from
 * intruding into either the brand or the action group.
 */
@media (min-width: 951px) and (max-width: 1200px) {
	.pb-header .pb-nav {
		gap: 6px !important;
	}

	.pb-header .pb-logo {
		gap: 6px !important;
		font-size: 15px !important;
	}

	.pb-header .pb-logo__bug {
		width: 28px !important;
		height: 28px !important;
		min-width: 28px !important;
		flex-basis: 28px !important;
		border-radius: 8px !important;
		font-size: 14px !important;
	}

	.pb-header .pb-navlinks {
		flex: 0 0 auto !important;
		gap: calc(4px + 4mm) !important;
	}

	.pb-header .pb-navlinks a {
		font-size: 10px !important;
		font-weight: 700 !important;
		letter-spacing: -0.025em !important;
	}

	.pb-header .pb-nav-cta {
		gap: 8px !important;
		min-height: 40px !important;
	}

	.pb-header .pb-nav-cta > .ptm-header-currency--desktop,
	.pb-header .ptm-header-currency__button {
		width: 68px !important;
		min-width: 68px !important;
	}

	.pb-header .ptm-header-currency__button,
	.pb-header .pb-nav-cta > .pb-btn,
	.pb-header .pb-account-menu {
		height: 40px !important;
		min-height: 40px !important;
		max-height: 40px !important;
		font-size: 10.5px !important;
	}

	.pb-header .pb-nav-cta > .pb-btn {
		padding-right: 7px !important;
		padding-left: 7px !important;
		letter-spacing: -0.015em !important;
	}

	.pb-header .pb-account-menu__dashboard {
		height: 38px !important;
		min-height: 38px !important;
		padding-right: 6px !important;
		padding-left: 7px !important;
		font-size: 10.5px !important;
	}

	.pb-header .pb-account-menu__toggle {
		flex-basis: 26px !important;
		width: 26px !important;
		height: 38px !important;
		min-height: 38px !important;
	}
}

/* Narrowest desktop tier immediately above the touch-menu breakpoint. */
@media (min-width: 901px) and (max-width: 950px) {
	.pb-header .pb-nav {
		gap: 4px !important;
	}

	.pb-header .pb-logo {
		gap: 5px !important;
		font-size: 14px !important;
	}

	.pb-header .pb-logo__bug {
		width: 26px !important;
		height: 26px !important;
		min-width: 26px !important;
		flex-basis: 26px !important;
		border-radius: 7px !important;
		font-size: 13px !important;
	}

	.pb-header .pb-navlinks {
		flex: 0 0 auto !important;
		gap: calc(4px + 4mm) !important;
	}

	.pb-header .pb-navlinks a {
		font-size: 9.25px !important;
		font-weight: 700 !important;
		letter-spacing: -0.035em !important;
	}

	.pb-header .pb-nav-cta {
		gap: 6px !important;
		min-height: 38px !important;
	}

	.pb-header .pb-nav-cta > .ptm-header-currency--desktop,
	.pb-header .ptm-header-currency__button {
		width: 60px !important;
		min-width: 60px !important;
	}

	.pb-header .ptm-header-currency__button,
	.pb-header .pb-nav-cta > .pb-btn,
	.pb-header .pb-account-menu {
		height: 38px !important;
		min-height: 38px !important;
		max-height: 38px !important;
		font-size: 9.5px !important;
	}

	.pb-header .ptm-header-currency__button {
		gap: 4px !important;
		padding-right: 5px !important;
		padding-left: 5px !important;
	}

	.pb-header .pb-nav-cta > .pb-btn {
		padding-right: 5px !important;
		padding-left: 5px !important;
		letter-spacing: -0.02em !important;
	}

	.pb-header .pb-account-menu__dashboard {
		height: 36px !important;
		min-height: 36px !important;
		padding-right: 5px !important;
		padding-left: 5px !important;
		font-size: 9.5px !important;
	}

	.pb-header .pb-account-menu__toggle {
		flex-basis: 24px !important;
		width: 24px !important;
		height: 36px !important;
		min-height: 36px !important;
	}
}


/* ========================================================================
   PilotBooker v1.9.14 — reliable mobile navigation control
   ======================================================================== */
/*
 * Use inline SVG icons instead of theme-sensitive empty spans and keep the
 * touch target above decorative page layers. The button also has a tiny
 * inline fallback in header.php, so LiteSpeed delay/defer settings cannot
 * consume the first tap before the navigation controller becomes available.
 */
@media (max-width: 900px) {
	.pb-header .pb-menu-toggle {
		position: relative !important;
		z-index: 1003 !important;
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;
		flex-direction: row !important;
		padding: 8px !important;
		pointer-events: auto !important;
		touch-action: manipulation !important;
		-webkit-tap-highlight-color: rgba(242, 169, 59, 0.22);
	}

	.pb-header .pb-menu-toggle__icon {
		display: block !important;
		width: 24px !important;
		height: 24px !important;
		margin: 0 !important;
		color: #ffffff !important;
		background: transparent !important;
		pointer-events: none !important;
	}

	.pb-header .pb-menu-toggle__icon--close {
		display: none !important;
	}

	.pb-header .pb-menu-toggle[aria-expanded="true"]
	.pb-menu-toggle__icon--open {
		display: none !important;
	}

	.pb-header .pb-menu-toggle[aria-expanded="true"]
	.pb-menu-toggle__icon--close {
		display: block !important;
	}

	.pb-header .pb-mobile-menu {
		position: relative;
		z-index: 1002;
	}

	.pb-header .pb-mobile-menu:not([hidden]) {
		display: block !important;
		animation: pb-mobile-menu-reveal 180ms ease-out both;
	}
}

@keyframes pb-mobile-menu-reveal {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.pb-header .pb-mobile-menu:not([hidden]) {
		animation: none !important;
	}
}

/* ========================================================================
   PilotBooker v1.9.16 — desktop primary-navigation text increased by 10%
   ======================================================================== */
/*
 * Increase only the six visible desktop destination labels. The existing
 * spacing, controls, breakpoints and mobile navigation remain unchanged.
 */
@media (min-width: 1201px) {
	.pb-header .pb-navlinks a {
		font-size: 13.64px !important;
	}
}

@media (min-width: 951px) and (max-width: 1200px) {
	.pb-header .pb-navlinks a {
		font-size: 11px !important;
	}
}

@media (min-width: 901px) and (max-width: 950px) {
	.pb-header .pb-navlinks a {
		font-size: 10.175px !important;
	}
}
