/* ==========================================================================
   SKJ Facilities — page-specific styles (/employment/ + /application/)
   Loaded AFTER css/site.css on both pages.
   Transliterated from the live site's own code:
   - Neve page layout: .container/.row/.col + right sidebar
     (style-legacy.min.css + customizer inline CSS: container 748/992/1170,
     content col 70% / sidebar 30% at >=960px)
   - WP core columns block + layout gap (columns/style.min.css,
     global-styles inline: :where(.wp-block-columns.is-layout-flex){gap:2em})
   - Gravity Forms gravity-theme (basic.min.css + theme.min.css) and the
     live /application/ page's own box-layout <style> block (field 58)
   ========================================================================== */

/* ==========================================================================
   Shared page layout (Neve .neve-main > .container > .row > .col)
   ========================================================================== */
/* Neve html rule (style-legacy.min.css): grayscale font smoothing on these
   pages, exactly as the live site renders them */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }
.page-container {
	width: 100%;
	max-width: 748px;
	padding: 0 15px;
	margin: 0 auto;
}
@media (min-width: 576px) {
	.page-container { max-width: 992px; }
}
@media (min-width: 960px) {
	.page-container { max-width: 1170px; }
}

.page-row { display: flex; flex-wrap: wrap; margin: 0 -15px; }
@media (min-width: 960px) {
	.page-row { flex-wrap: nowrap; }
}

/* Content column (Neve .nv-single-page-wrap.col) */
.page-content {
	position: relative;
	width: 100%;
	min-width: 0;
	padding: 0 15px;
	margin: 0 auto;
}
@media (min-width: 960px) {
	/* customizer: body.page .neve-main > .container .col { max-width: 70% } */
	.page-content { flex: 1 1 auto; max-width: 70%; margin-bottom: 40px; }
	/* live: .nv-single-page-wrap:not(:only-child) { padding-right: 40px } */
	.page-content--with-sidebar { padding-right: 40px; }
}

/* Right sidebar (Neve .nv-sidebar-wrap.nv-right) */
.page-sidebar {
	position: relative;
	width: 100%;
	min-width: 0;
	padding: 0 15px;
	margin: 30px 0 40px;
}
@media (min-width: 960px) {
	.page-sidebar {
		flex: 0 0 auto;
		max-width: 30%;
		margin: 30px 0 40px;
		padding: 0 15px 0 40px;
		border-left: 1px solid #ededed; /* var(--nv-light-bg) */
	}
}

/* Sidebar widgets (Neve .widget + SKJ child theme .widget p.widget-title) */
.widget { word-break: break-word; padding-bottom: 20px; margin-bottom: 20px; }
.widget:last-child { border: none; margin: 0; padding: 0; }
/* live: .widget p.widget-title (Neve) — a <p>, so line-height stays the
   body 27px (SKJ child theme), NOT the h1-h6 1.68421 */
.widget-title {
	font-family: "Libre Baskerville", Sans-serif;
	font-weight: 600;
	font-size: 1.25em;
	color: #313131;
	margin: 0 0 10px;
}
.widget ul { padding: 0; }
.widget ul li { margin-top: 5px; }

/* CTA button (live wp-custom-css: a.cta-button) */
.cta-button {
	display: inline-block;
	font-family: "Poppins", Sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 50px;
	color: #ffffff;
	background-color: #005496;
	border: none;
	border-radius: 30px;
	padding: 0 40px;
	transition: opacity 0.3s ease;
}
.cta-button:hover { color: #ffffff; text-decoration: none; opacity: 0.9; }

/* ==========================================================================
   /employment/ content
   ========================================================================== */
/* Neve headings (style-legacy: base sizes <769px, larger >=769px) + live
   wp-custom-css .nv-single-page-wrap h1 border rule */
.page-title {
	font-size: 1.5em;
	font-weight: 600;
	line-height: 1.68421;
	padding-top: 30px;
	padding-bottom: 10px;
	border-bottom: 1px solid #f0f0f0;
	margin: 0 0 20px;
}
.page-content h3 {
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1.68421;
	margin: 0 0 0.8rem;
}
@media (min-width: 769px) {
	.page-title { font-size: 2em; }
	.page-content h3 { font-size: 1.5em; }
}

/* Content links (Neve .nv-content-wrap a) */
.page-content a:not(.cta-button) { text-decoration: underline; }
.page-content a:not(.cta-button):hover { text-decoration: none; }

/* Job columns (WP .wp-block-columns.has-2-columns.is-layout-flex) */
.job-columns {
	display: flex;
	flex-wrap: wrap;
	gap: 2em; /* :where(.wp-block-columns.is-layout-flex){gap:2em} */
	margin-bottom: 1.75em;
}
.job-column {
	flex-grow: 1;
	min-width: 0;
	overflow-wrap: break-word;
	word-break: break-word;
}
@media (max-width: 781px) {
	.job-column { flex-basis: 100%; }
}
@media (min-width: 782px) {
	.job-columns { flex-wrap: nowrap; }
	.job-column { flex-basis: 0; flex-grow: 1; }
}

/* ==========================================================================
   /application/ — EMPLOYMENT APPLICATION FORM
   Transliterated from the live Gravity Forms "gravity-theme" rendering
   (basic.min.css + theme.min.css + the page's own box-layout <style> block)
   on top of the Neve/SKJ base. All non-obvious values verified against
   computed styles on the live site.
   ========================================================================== */

.app-spacer { height: 60px; } /* wp-block-spacer above the form */
.app-spacer--after { height: 50px; } /* wp-block-spacer below the form */

/* Submit-success state: js/application.js hides the heading block (title +
   required-fields legend) together with the form, leaving only the GF
   confirmation. Without a floor the page collapsed to the confirmation line
   and the footer jumped up (JB 2026-09-19). Floor matches the confirmation
   band to the header's top margin + .app-spacer. */
.gform_wrapper:has(.gform_heading[hidden]) { min-height: 420px; }

/* Form heading (Neve h2 sizing: 1.3em <769px, 1.75em >=769px) */
.gform_title {
	font-size: 1.3em;
	font-weight: 600;
	line-height: 1.68421;
	margin: 0 0 0.8rem;
}
@media (min-width: 769px) {
	.gform_title { font-size: 1.75em; }
}

/* Required asterisk (GF theme: #c02b0a 13.008px) */
.gfield_required {
	color: #c02b0a;
	display: inline-block;
	font-size: 13.008px;
	padding-inline-start: 0.125em;
}
.gform_required_legend .gfield_required { padding-inline-start: 0; }

/* Field grid (GF: 12-col grid, 2% col gap, 16px row gap) */
.gform_fields {
	display: grid;
	grid-column-gap: 2%;
	grid-row-gap: 16px;
	grid-template-columns: repeat(12, 1fr);
	width: 100%;
}
.gfield { grid-column: 1 / -1; min-width: 0; }
.gfield--width-full { grid-column: span 12; }
.gfield--width-two-thirds { grid-column: span 8; }
.gfield--width-half { grid-column: span 6; }
.gfield--width-third { grid-column: span 4; }
@media (max-width: 640px) {
	.gform_fields { grid-column-gap: 0; }
	.gfield:not(.gfield--width-full) { grid-column: 1 / -1; }
}
/* [hidden] must win over class display rules: GF's own button/confirmation
   styles set display, so the attribute alone is not enough (same failure class
   as .gfield_list_group{display:flex}). The submit button ships hidden so a
   JavaScript-disabled visitor cannot post an empty digest; JS reveals it. */
.gfield[hidden], .form-hp[hidden], .gform_confirmation[hidden],
.gform_button[hidden], .gform-footer[hidden], .application-digest[hidden] { display: none !important; }

/* Fieldset/legend reset (GF gravity-theme) */
.gform_wrapper fieldset { border: none; display: block; margin: 0; padding: 0; }
.gform_wrapper legend { margin-left: 0; margin-right: 0; padding: 0; background: 0 0; }

/* Labels (GF theme .gfield_label: 16px/700, margin-bottom 8px) */
.gfield_label {
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	margin-bottom: 8px;
	padding: 0;
}
legend.gfield_label { display: block; }

/* Sub-labels + list column headers (GF theme: 15px, padding-top 5px) */
.ginput_complex label,
.gfield_header_item {
	display: block;
	font-size: 15px;
	font-weight: 400;
	padding-top: 5px;
}
.gfield_header_item { word-break: break-word; }

/* Descriptions (GF theme: 15px; below = padding-top 13px, above adds padding-bottom 16px) */
.gfield_description {
	clear: both;
	font-family: inherit;
	font-size: 15px;
	letter-spacing: normal;
	line-height: inherit;
	padding-top: 13px;
	width: 100%;
}
.field_description_above .gfield_description { padding-bottom: 16px; }

/* Text inputs (Neve input base + GF theme 15px/8px overrides; 45px rendered height) */
.gform_wrapper input[type="text"],
.gform_wrapper input[type="email"],
.gform_wrapper input[type="tel"],
.gform_wrapper input[type="number"],
.gform_wrapper textarea {
	display: inline-block;
	width: 100%;
	max-width: 100%;
	font-size: 15px;
	line-height: inherit;
	padding: 8px;
	border: 1px solid #ddd;
	border-radius: 3px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: 0;
	color: #393939;
	background-color: #ffffff;
	transition: all 0.3s ease;
	box-sizing: border-box;
	margin: 0;
}
/* live renders textareas inline-block (Neve input rule) — the line-box strut
   adds ~9px inside the container; do NOT switch to display:block */
.gform_wrapper .textarea.small { height: 96px; }
.gform_wrapper .textarea.medium { height: 192px; }
.gform_wrapper .textarea.large { height: 288px; }

/* Complex fields (name/address/date): flex row, spans share width */
.ginput_complex { display: flex; flex-flow: row wrap; }
.ginput_complex span { flex: 1 1 0%; display: block; min-width: 0; }
.ginput_complex .ginput_full { flex: 0 0 100%; }
/* name row gutters (GF theme): first span padding-right 1%, rest padding-left 1% */
.ginput_complex:not(.ginput_container_address) span:not(.ginput_full) { padding-right: 1%; }
.ginput_complex:not(.ginput_container_address) span:not(.ginput_full) ~ span:not(.ginput_full) { padding-left: 1%; padding-right: 0; }
/* address block (GF theme): container -1% margins, spans 50% + .9804% side padding, 8px row gaps */
.ginput_container_address { margin: 0 -1% -8px; }
.ginput_container_address span {
	flex: 0 0 50%;
	padding-left: 0.9804%;
	padding-right: 0.9804%;
	margin-bottom: 8px;
}
.ginput_container_address span.ginput_full { flex: 0 0 100%; }

/* Date sub-inputs (GF theme: min-width 84px, containers max 30%, 2% between) */
.ginput_container_date {
	display: flex;
	align-items: center;
	align-content: flex-start;
	flex: 0 1 min-content;
	max-width: 30%;
}
.ginput_container_date + .ginput_container_date { margin-left: 2%; }
.ginput_container_date input { width: 100%; min-width: 84px; }

/* Sections (GF theme .gsection: bottom rule) */
.gsection {
	border-bottom: 1px solid #cccccc;
	padding: 0 16px 8px 0;
}
.gsection_title {
	font-size: 1.1em;
	font-weight: 600;
	line-height: 1.68421;
	margin: 0 0 0.8rem;
}
@media (min-width: 769px) {
	.gsection_title { font-size: 1.5em; }
}

/* Radio groups (GF gf_list_inline: choices inline, 16px apart; labels 15px) */
.gfield_radio .gchoice { display: inline-block; padding-right: 16px; vertical-align: top; }
.gfield_radio .gchoice label {
	display: inline-block;
	font-size: 15px;
	max-width: none;
	vertical-align: middle;
}
.gfield-choice-input { display: inline-block; margin: 0; vertical-align: middle; }

/* Consent checkbox (label 16px inline; no max-width cap on live) */
.ginput_container_consent .gfield_consent_label {
	display: inline-block;
	vertical-align: middle;
	margin-bottom: 0;
}

/* List repeaters (GF theme list layout) */
.gfield_list_header {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin-bottom: 8px;
}
.gfield_list_group {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	margin-bottom: 8px;
}
/* Pooled repeater rows (rows 2..6, for Netlify deploy-time field
   registration) live in a hidden pool container — invisible to layout
   entirely, so no :last-child/margin side effects on visible rows.
   Rows move between pool and .gfield_list_groups via JS. */
.gfield_list_pool { display: none; }
.gfield_list_group:last-child { margin-bottom: 0; }
.gfield_header_item, .gfield_list_group_item { flex-grow: 1; width: 0; }
.gfield_header_item + .gfield_header_item:not(.gfield_header_item--icons),
.gfield_list_group_item + .gfield_list_group_item { margin-left: 2%; }
.gfield_list_group_item input { width: 100%; }
.gfield_header_item--icons, .gfield_list_icons {
	align-items: center;
	display: flex;
	flex: none;
	justify-content: center;
	width: 48px;
}
.gfield_list_icons button {
	background: transparent url("/wp-content/plugins/gravityforms/images/list-add.svg") no-repeat 0 0;
	border: none;
	font-size: 0;
	height: 16px;
	opacity: 0.5;
	padding: 0;
	transition: opacity 0.5s ease-out;
	width: 16px;
	cursor: pointer;
}
.gfield_list_icons button:focus, .gfield_list_icons button:hover { opacity: 1; outline: 0; }
.gfield_list_icons button.delete_list_item {
	background-image: url("/wp-content/plugins/gravityforms/images/list-remove.svg");
	margin-left: 5px;
}
/* GF: single-row lists hide the remove button */
.gfield_list_group:only-child .delete_list_item { visibility: hidden; }

/* <=641px (GF basic.min.css): mobile inputs line-height 2 + min-height 32px;
   textareas line-height 1.5 */
@media only screen and (max-width: 641px) {
	.gform_wrapper input[type="text"],
	.gform_wrapper input[type="email"],
	.gform_wrapper input[type="tel"],
	.gform_wrapper input[type="number"] {
		line-height: 2;
		min-height: 32px;
	}
	.gform_wrapper textarea { line-height: 1.5; }
}

/* <=640px: every list becomes stacked labeled boxes (GF basic.min.css media block) */
@media (max-width: 640px) {
	.gform_wrapper .gfield_list_header { display: none; }
	.gform_wrapper .gfield_list_group {
		border: 1px solid rgba(0, 0, 0, 0.2);
		display: block;
		margin-bottom: 16px;
		padding: 16px;
	}
	.gform_wrapper .gfield_header_item, .gform_wrapper .gfield_list_group_item { width: auto; }
	.gform_wrapper .gfield_list_group:last-child { margin-bottom: 0; }
	.gform_wrapper .gfield_list_group_item:not(:last-child) { margin-bottom: 8px; }
	.gform_wrapper .gfield_list_group_item::before {
		content: attr(data-label);
		font-size: 14.992px;
	}
	.gform_wrapper .gfield_list_icons {
		background-color: rgba(0, 0, 0, 0.1);
		line-height: 0;
		margin: 16px -16px -16px;
		padding: 12px 16px;
		text-align: left;
		width: auto;
	}
	.gform_wrapper .gfield_header_item + .gfield_header_item:not(.gfield_header_item--icons),
	.gform_wrapper .gfield_list_group_item + .gfield_list_group_item { margin-left: 0; }
	/* GF mobile: complex sub-inputs stack full width */
	.ginput_complex span { flex: 0 0 100%; margin-bottom: 8px; padding-left: 0; }
	.ginput_complex:not(.ginput_container_address) span:not(.ginput_full) { padding-right: 0; }
	.ginput_container_address { margin-bottom: 0; }
	.ginput_container_address span { padding-left: 0.9804%; }
}

/* Authorization legal list (Neve .nv-content-wrap ul: circle bullets, 20px pad) */
.gfield_html ul { list-style-type: circle; padding-left: 20px; }
.gfield_html ul li { margin-top: 10px; }

/* Footer + submit (Neve button base + wp-custom-css input[type=submit].gform_button) */
.gform_footer {
	display: flex;
	margin: 6px 0 0;
	padding: 16px 0;
}
.gform_button {
	display: block;
	font-family: "Poppins", Sans-serif;
	font-size: 16px;
	font-weight: 500;
	line-height: 50px;
	text-transform: uppercase;
	text-align: center;
	color: #ffffff;
	background-color: #005496;
	border: none;
	border-radius: 30px;
	padding: 0 40px;
	margin-bottom: 8px;
	cursor: pointer;
	transition: opacity 0.3s ease;
}
.gform_button:hover { opacity: 0.9; }
