/* Wynen's Jobs UX – listing layouts 1–6 and job page layouts 1–6.
   Colours: set under Job Openings → Page Layouts (printed as :root variables after this file). */
:root {
	--wju-accent: var(--theme-palette-color-1, #2563eb);
	/* Text links (clickable job titles, Similar jobs, breadcrumbs…) follow the main colour unless a link colour is chosen */
	--wju-link: var(--wju-accent);
	/* Buttons follow the main colour unless a button colour is chosen */
	--wju-button: var(--wju-accent);
	--wju-accent-hover: color-mix(in srgb, var(--wju-button) 82%, #000);
	--wju-button-text: #fff;
	--wju-banner: #0f2747;
	--wju-highlight: #f26b3a;
	--wju-text: var(--theme-headings-color, #111827);
	--wju-muted: #5b6474;
	--wju-border: #e3e7ee;
	--wju-surface: #fff;
	--wju-soft: color-mix(in srgb, var(--wju-accent) 7%, #fff);
	--wju-radius: 12px;
	--wju-shadow: 0 8px 28px rgba(16, 24, 40, .07);
}

.wju-icon { flex: none; vertical-align: -3px; }
.wju-lock { overflow: hidden; }

/* Shared bits */
.wju-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 12px 24px;
	border: 0;
	border-radius: 10px;
	background: var(--wju-button);
	color: var(--wju-button-text) !important;
	font-weight: 600;
	font-size: 15px;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
	cursor: pointer;
	transition: background .15s;
}
.wju-btn:hover, .wju-btn:focus-visible { background: var(--wju-accent-hover); }
/* <button> versions ("Create Alert", V4 "Apply for this job"): the theme's own [type=submit] / [type=button] styles would win otherwise */
button.wju-btn[type] { background: var(--wju-button); border: 0; color: var(--wju-button-text) !important; }
button.wju-btn[type]:hover,
button.wju-btn[type]:focus-visible { background: var(--wju-accent-hover); }
.wju-btn .wju-icon { transition: transform .2s; }
.wju-btn[aria-expanded="true"] .wju-icon { transform: rotate(180deg); }

.wju-facts {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.wju-fact {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	margin: 0;
	color: var(--wju-muted);
	font-size: 14px;
}

.wju-back {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: var(--wju-muted);
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
}
.wju-back:hover { color: var(--wju-link); }

/* =====================================================================
   LISTING
   ===================================================================== */

/* The /jobs/ archive uses the plugin's own wrapper, which has no side gutter */
.awsm-job-archive-content .awsm-job-container {
	box-sizing: border-box;
	max-width: 1040px;
	margin: 0 auto;
	padding: 0 24px 56px;
}

.wju-count {
	margin: 0 0 16px;
	color: var(--wju-muted);
	font-size: 15px;
	font-weight: 600;
}

.awsm-job-wrap .awsm-job-listings {
	display: grid;
	grid-template-columns: 1fr;
	gap: 14px;
	margin: 0;
	border: 0;
}
.awsm-job-listings .wju-item {
	position: relative;
	box-sizing: border-box;
	width: auto;
	margin: 0;
	float: none;
}
.awsm-job-listings .wju-item[hidden] { display: none !important; }
/* WP Job Openings' grid view stacks items (.awsm-grid-item { flex-direction: column }); set each layout's direction explicitly */
.awsm-job-listings .wju-item-1,
.awsm-job-listings .wju-item-4,
.awsm-job-listings .wju-item-6 { flex-direction: row; }
.awsm-job-listings .wju-item-5 { display: block; }
.awsm-job-listings .wju-item-title {
	margin: 0;
	font-size: 20px;
	line-height: 1.3;
}
.awsm-job-listings .wju-item-link {
	color: var(--wju-text);
	text-decoration: none;
}
/* Whole item is clickable */
.wju-item-link::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	border-radius: inherit;
}
.wju-item-link:focus-visible { outline: none; }
.wju-item-link:focus-visible::after { outline: 3px solid var(--wju-accent); outline-offset: 2px; }
.wju-item-teaser {
	margin: 10px 0 0;
	color: var(--wju-muted);
	font-size: 15px;
	line-height: 1.55;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* ---------- Listing 1: Cards ---------- */
.awsm-job-listings .wju-item-1 {
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 22px 24px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: var(--wju-radius);
	box-shadow: 0 1px 2px rgba(16, 24, 40, .04);
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.awsm-job-listings .wju-item-1:hover,
.awsm-job-listings .wju-item-1:focus-within {
	border-color: var(--wju-accent);
	box-shadow: 0 6px 20px rgba(16, 24, 40, .08);
	transform: translateY(-1px);
}
.wju-item-1 .wju-item-main { flex: 1; min-width: 0; }
.wju-item-1 .wju-item-title { margin-bottom: 8px; }
.wju-item-cta {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 10px 16px;
	border-radius: 999px;
	background: var(--wju-soft);
	color: var(--wju-accent);
	font-weight: 600;
	font-size: 15px;
	white-space: nowrap;
	transition: background .15s, color .15s;
}
.wju-item-1:hover .wju-item-cta { background: var(--wju-button); color: var(--wju-button-text); }

/* ---------- Listing 2: Grid ---------- */
.wju-list-2 .awsm-job-wrap .awsm-job-listings {
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 18px;
}
.awsm-job-listings .wju-item-2 {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 22px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 16px;
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
.awsm-job-listings .wju-item-2:hover,
.awsm-job-listings .wju-item-2:focus-within {
	border-color: var(--wju-accent);
	box-shadow: var(--wju-shadow);
	transform: translateY(-2px);
}
.wju-badge {
	padding: 4px 10px;
	border-radius: 999px;
	background: var(--wju-soft);
	color: var(--wju-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .03em;
	text-transform: uppercase;
}
.wju-item-2 .wju-item-title { font-size: 19px; }
.wju-item-2 .wju-item-teaser { margin: 0; font-size: 14px; -webkit-line-clamp: 3; }
.wju-tile-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	width: 100%;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--wju-border);
}
.wju-tile-arrow {
	display: grid;
	place-items: center;
	flex: none;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--wju-soft);
	color: var(--wju-accent);
	transition: background .15s, color .15s;
}
.wju-item-2:hover .wju-tile-arrow { background: var(--wju-accent); color: #fff; }

/* ---------- Listing 3: Table ---------- */
.wju-list-3 .awsm-job-wrap .awsm-job-listings {
	gap: 0;
	overflow: hidden;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: var(--wju-radius);
}
.wju-table-head,
.awsm-job-listings .wju-item-3 {
	display: grid;
	grid-template-columns: minmax(0, 2.2fr) minmax(0, 1.4fr) minmax(0, 1fr) minmax(0, 1fr) 24px;
	align-items: center;
	gap: 16px;
	padding: 16px 22px;
}
.wju-table-head {
	background: var(--wju-soft);
	color: var(--wju-muted);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}
.awsm-job-listings .wju-item-3 {
	border-top: 1px solid var(--wju-border);
	transition: background .15s;
}
.awsm-job-listings .wju-table-head + .wju-item-3 { border-top: 0; }
.awsm-job-listings .wju-item-3:hover,
.awsm-job-listings .wju-item-3:focus-within { background: var(--wju-soft); }
.wju-item-3 .wju-item-title { font-size: 17px; }
.wju-item-3 .wju-item-title a { color: var(--wju-text); }
.wju-item-3:hover .wju-item-title a { color: var(--wju-link); }
.wju-cell {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	min-width: 0;
	color: var(--wju-text);
	font-size: 14px;
}
.wju-cell .wju-icon { display: none; color: var(--wju-muted); }
.wju-cell-muted { color: var(--wju-muted); }
.wju-row-arrow { display: inline-flex; color: var(--wju-accent); transition: transform .15s; }
.wju-item-3:hover .wju-row-arrow,
.wju-item-4:hover .wju-row-arrow { transform: translateX(3px); }

/* ---------- Listing 4: Search list ---------- */
.wju-search {
	margin: 0 0 24px;
	padding: 24px;
	background: var(--wju-soft);
	border-radius: 16px;
}
.wju-search-label {
	display: block;
	margin: 0 0 12px;
	color: var(--wju-text);
	font-size: 20px;
	font-weight: 700;
}
.wju-search-field { position: relative; }
.wju-search-field .wju-icon {
	position: absolute;
	top: 50%;
	left: 16px;
	width: 20px;
	height: 20px;
	color: var(--wju-muted);
	transform: translateY(-50%);
	pointer-events: none;
}
/* Extra specificity: Blocksy's own input[type=search] padding loads after this file */
.wju-search .wju-search-field input[type="search"] {
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	padding: 0 16px 0 46px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 10px;
	font-size: 16px;
}
.wju-search .wju-search-field input[type="search"]:focus { border-color: var(--wju-accent); outline: 3px solid color-mix(in srgb, var(--wju-accent) 25%, transparent); }
.wju-search .wju-count { margin: 12px 0 0; }
.wju-list-4 .awsm-job-wrap .awsm-job-listings { gap: 0; }
.awsm-job-listings .wju-item-4 {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 20px 4px;
	border-bottom: 1px solid var(--wju-border);
}
.wju-item-4 .wju-item-main { flex: 1; min-width: 0; }
.wju-item-4 .wju-item-title { margin-bottom: 6px; }
.wju-item-4:hover .wju-item-title a { color: var(--wju-link); }
.wju-no-results {
	padding: 32px 0;
	color: var(--wju-muted);
	text-align: center;
}

/* =====================================================================
   JOB PAGE
   ===================================================================== */

/* Each layout prints its own title, so hide the theme's (Blocksy) title area */
.wju-job-page .hero-section { display: none; }

.wju-job { color: var(--wju-text); }
.wju-job .wju-title { margin: 0; color: var(--wju-text); line-height: 1.15; }

.wju-description { font-size: 16px; line-height: 1.75; color: var(--wju-text); }
.wju-description > :first-child { margin-top: 0; }
.wju-description .wju-section-title { margin: 32px 0 10px; font-size: 19px; line-height: 1.3; }
.wju-description .wju-section-title:first-child { margin-top: 0; }
.wju-description ul { margin: 0 0 16px; padding-left: 1.2em; }
.wju-description li { margin-bottom: 6px; }
.wju-description li::marker { color: var(--wju-accent); }

/* Application form */
.wju-job .awsm-job-form { width: auto; float: none; }
/* Reset the plugin's form padding, but keep the padding of forms that sit in a card */
.wju-job .awsm-job-form:not(.wju-card):not(.wju-detail-panel) { padding: 0; }
.wju-job .awsm-job-form-inner { padding: 0; background: none; border: 0; box-shadow: none; }
.wju-job .awsm-job-form-inner > h2 { margin: 0 0 18px; font-size: 22px; }
.wju-job .awsm-job-form-group { margin-bottom: 16px; }
.wju-job .awsm-job-form-group label { font-weight: 600; font-size: 14px; }
/* Text fields only: the plugin also puts .awsm-job-form-field on checkboxes, radios and the file input */
.wju-job .awsm-job-form-field:not([type="checkbox"]):not([type="radio"]):not([type="file"]) { width: 100%; min-height: 44px; border-color: var(--wju-border); border-radius: 8px; }
/* Consent checkbox: normal size, on the same line as its label */
.wju-job .awsm-job-inline-group { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 4px 10px; }
.wju-job .awsm-job-inline-group label { flex: 1; min-width: 0; }
/* Validation messages ("This field is required.") and invalid fields */
.wju-job div.awsm-job-form-error { margin-top: 6px; color: #b42318; font-size: 13px; font-weight: 500; }
.wju-job .awsm-job-inline-group div.awsm-job-form-error { flex-basis: 100%; margin-top: 2px; padding-left: 28px; }
.wju-job .awsm-job-form-field.awsm-job-form-error:not([type="checkbox"]):not([type="radio"]) { border-color: #f04438; }
.wju-job .awsm-job-inline-group input.awsm-job-form-error { outline: 2px solid #f04438; outline-offset: 1px; }
.wju-job .awsm-job-inline-group input[type="checkbox"],
.wju-job .awsm-job-form-options-container input[type="checkbox"],
.wju-job .awsm-job-form-options-container input[type="radio"] {
	flex: none;
	width: 18px;
	min-width: 18px;
	height: 18px;
	min-height: 0;
	margin: 3px 0 0;
	padding: 0;
	accent-color: var(--wju-accent);
	cursor: pointer;
}
.wju-job .awsm-job-inline-group label { margin: 0; color: var(--wju-muted); font-size: 14px; font-weight: 400; line-height: 1.5; cursor: pointer; }
/* CV upload */
.wju-job .awsm-job-form-group input[type="file"] {
	box-sizing: border-box;
	width: 100%;
	padding: 10px;
	background: var(--wju-soft);
	border: 1px dashed color-mix(in srgb, var(--wju-accent) 35%, var(--wju-border));
	border-radius: 8px;
	color: var(--wju-muted);
	font-size: 14px;
	cursor: pointer;
}
.wju-job .awsm-job-form-group input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 14px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 6px;
	color: var(--wju-text);
	font-weight: 600;
	cursor: pointer;
}
.wju-job .awsm-job-form-group input[type="file"]:hover::file-selector-button { border-color: var(--wju-accent); color: var(--wju-accent); }
.wju-job textarea.awsm-job-form-field { min-height: 110px; }
.wju-job .awsm-application-submit-btn {
	width: 100%;
	min-height: 48px;
	border-color: var(--wju-button);
	border-radius: 10px;
	background: var(--wju-button);
	color: var(--wju-button-text);
	font-weight: 600;
	font-size: 16px;
}
.wju-job .awsm-application-submit-btn:hover { background: var(--wju-accent-hover); border-color: var(--wju-accent-hover); }
.wju-card {
	box-sizing: border-box;
	padding: 32px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 16px;
	box-shadow: var(--wju-shadow);
}
#apply { scroll-margin-top: 24px; }

/* ---------- Job 1: Banner ---------- */
.wju-job-page.wju-job-1 { overflow-x: clip; }
.wju-job-page.wju-job-1 .ct-container-full { padding-top: 0; }
.wju-v1 .wju-in { box-sizing: border-box; max-width: 760px; margin: 0 auto; padding: 0 24px; }
.wju-hero {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	padding: 48px 0 40px;
	background: linear-gradient(135deg, var(--wju-banner) 0%, var(--wju-accent) 100%);
	color: #fff;
}
.wju-hero .wju-back { color: rgba(255, 255, 255, .8); }
.wju-hero .wju-back:hover { color: #fff; }
.wju-v1 .wju-hero .wju-title { margin: 14px 0 16px; color: #fff; font-size: clamp(30px, 5vw, 44px); }
.wju-chips { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 26px; padding: 0; list-style: none; }
.wju-chips .wju-fact {
	padding: 7px 13px;
	border-radius: 999px;
	background: rgba(255, 255, 255, .15);
	color: #fff;
	font-weight: 500;
}
.wju-btn-light { background: #fff; color: var(--wju-banner) !important; }
.wju-btn-light:hover, .wju-btn-light:focus-visible { background: color-mix(in srgb, var(--wju-accent) 12%, #fff); }
.wju-v1 .wju-body { padding-top: 44px; }
.wju-apply {
	width: 100vw;
	margin: 40px 0 0 calc(50% - 50vw);
	padding: 48px 0 64px;
	background: var(--wju-soft);
}

/* ---------- Job 2: Overview card + slide-in form ---------- */
.wju-v2 .wju-head { margin: 0 0 32px; }
.wju-v2 .wju-title { margin-top: 12px; font-size: clamp(30px, 5vw, 42px); }
.wju-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 300px;
	align-items: start;
	gap: 48px;
}
.wju-side { position: sticky; top: 24px; }
.admin-bar .wju-side { top: 56px; }
.wju-overview {
	padding: 24px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 16px;
	box-shadow: var(--wju-shadow);
}
.wju-overview h2 {
	margin: 0 0 8px;
	color: var(--wju-muted);
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
}
.wju-overview dl { margin: 0 0 20px; }
.wju-overview dl > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	padding: 12px 0;
	border-bottom: 1px solid var(--wju-border);
}
.wju-overview dt { display: flex; align-items: center; gap: 6px; color: var(--wju-muted); font-size: 14px; }
.wju-overview dd { margin: 0; font-size: 14px; font-weight: 600; text-align: right; }
.wju-overview .wju-btn { width: 100%; box-sizing: border-box; }
/* Without JavaScript the form shows as a normal section */
.wju-drawer { margin-top: 48px; }
.wju-drawer .wju-panel { max-width: 640px; }
.wju-scrim, .wju-close, .wju-panel-job { display: none; }
/* With JavaScript it becomes a slide-in panel */
.wju-js .wju-drawer { display: none; position: fixed; inset: 0; z-index: 99999; margin: 0; }
.wju-js .wju-drawer.is-open { display: block; }
.wju-js .wju-scrim { display: block; position: absolute; inset: 0; background: rgba(15, 23, 42, .5); animation: wju-fade .2s; }
.wju-js .wju-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	box-sizing: border-box;
	width: min(480px, 100%);
	max-width: none;
	padding: 28px;
	overflow: auto;
	background: var(--wju-surface);
	box-shadow: -12px 0 40px rgba(0, 0, 0, .15);
	animation: wju-slide-in .28s cubic-bezier(.2, .8, .2, 1);
}
.wju-js .wju-panel-job { display: block; margin: 0 48px 4px 0; color: var(--wju-muted); font-size: 14px; }
.wju-js .wju-close {
	display: block;
	position: absolute;
	top: 16px;
	right: 16px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--wju-soft);
	color: var(--wju-text);
	font-size: 24px;
	line-height: 1;
	cursor: pointer;
}
@keyframes wju-slide-in { from { transform: translateX(100%); } }
@keyframes wju-slide-up { from { transform: translateY(100%); } }
@keyframes wju-fade { from { opacity: 0; } }

/* ---------- Job 3: Two-step tabs ---------- */
.wju-head-card {
	padding: 24px 28px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 16px;
	box-shadow: var(--wju-shadow);
}
.wju-head-row {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: flex-end;
	gap: 20px;
	margin-top: 14px;
}
.wju-v3 .wju-title { margin-bottom: 10px; font-size: clamp(28px, 4.5vw, 38px); }
.wju-tabs { display: none; }
.wju-js .wju-tabs {
	display: flex;
	gap: 4px;
	position: sticky;
	top: 0;
	z-index: 20;
	margin: 20px 0 32px;
	background: var(--wju-page, #fff);
	border-bottom: 1px solid var(--wju-border);
}
.admin-bar.wju-job-3 .wju-tabs { top: 32px; }
.wju-tabs button {
	margin-bottom: -1px;
	padding: 14px 18px;
	background: none;
	border: 0;
	border-bottom: 3px solid transparent;
	border-radius: 0;
	color: var(--wju-muted);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.wju-tabs button:hover { color: var(--wju-text); background: none; }
.wju-tabs button[aria-selected="true"] { color: var(--wju-accent); border-bottom-color: var(--wju-accent); }
.wju-step {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	margin-right: 8px;
	border-radius: 50%;
	background: var(--wju-soft);
	font-size: 12px;
}
.wju-tabs button[aria-selected="true"] .wju-step { background: var(--wju-accent); color: #fff; }
.wju-v3 .wju-tab-panel { margin-top: 32px; }
.wju-js .wju-v3 .wju-tab-panel { margin-top: 0; }
.wju-tab-panel[hidden] { display: none; }
.wju-next {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	margin-top: 40px;
	padding: 20px 24px;
	background: var(--wju-soft);
	border-radius: 12px;
	font-weight: 600;
}
.wju-v3 .wju-card { max-width: 640px; }

/* ---------- Job 4: Minimal ---------- */
.wju-v4 { max-width: 680px; margin: 0 auto; }
.wju-crumb { display: flex; flex-wrap: wrap; gap: 8px; color: var(--wju-muted); font-size: 14px; }
.wju-crumb a { color: var(--wju-link); font-weight: 600; text-decoration: none; }
.wju-v4 .wju-title { margin: 14px 0 12px; font-size: clamp(34px, 6vw, 52px); letter-spacing: -.02em; line-height: 1.1; }
.wju-line { margin: 0; color: var(--wju-muted); font-size: 16px; }
.wju-line i { margin: 0 10px; font-style: normal; opacity: .5; }
.wju-rule { margin: 28px 0 36px; border: 0; border-top: 1px solid var(--wju-border); }
.wju-cta {
	margin-top: 56px;
	padding: 36px 32px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 20px;
	text-align: center;
}
.wju-cta h2 { margin: 0 0 6px; font-size: 26px; }
.wju-cta > p { margin: 0 0 22px; color: var(--wju-muted); }
.wju-collapse { margin-top: 28px; padding-top: 28px; border-top: 1px solid var(--wju-border); text-align: left; }
.wju-collapse[hidden] { display: none; }
.wju-v4 .wju-collapse .awsm-job-form-inner > h2 { display: none; }
.wju-fab { display: none; }

/* =====================================================================
   RESPONSIVE
   ===================================================================== */
@media (max-width: 900px) {
	.wju-grid { grid-template-columns: 1fr; gap: 28px; }
	.wju-side { position: static; order: -1; }

	.wju-table-head { display: none; }
	.awsm-job-listings .wju-item-3 { display: flex; flex-wrap: wrap; gap: 6px 18px; padding: 18px 20px; }
	.awsm-job-listings .wju-table-head + .wju-item-3 { border-top: 0; }
	.wju-item-3 .wju-item-title { flex: 1 0 100%; margin-bottom: 4px; padding-right: 28px; }
	.wju-cell .wju-icon { display: inline; }
	.wju-cell-empty { display: none; }
	.wju-item-3 .wju-row-arrow { position: absolute; top: 20px; right: 20px; }
}

@media (max-width: 640px) {
	.awsm-job-archive-content .awsm-job-container { padding: 0 16px 40px; }
	.awsm-job-listings .wju-item-1 { flex-direction: column; align-items: stretch; gap: 14px; padding: 18px; }
	.awsm-job-listings .wju-item-4 { flex-direction: row; }
	.wju-item-1 .wju-item-cta { align-self: flex-start; }
	.awsm-job-listings .wju-item-title { font-size: 18px; }
	.wju-search { padding: 18px; }

	.wju-card { padding: 22px; }
	.wju-v1 .wju-in { padding: 0 16px; }
	.wju-hero { padding: 28px 0 32px; }
	.wju-hero .wju-btn { width: 100%; box-sizing: border-box; }

	.wju-js .wju-panel {
		top: auto;
		width: 100%;
		height: 92vh;
		padding: 24px 20px;
		border-radius: 20px 20px 0 0;
		animation-name: wju-slide-up;
	}

	.wju-head-card { padding: 20px; }
	.wju-head-row .wju-btn, .wju-next .wju-btn { width: 100%; box-sizing: border-box; }
	.wju-tabs button { flex: 1; padding: 14px 8px; }

	.wju-cta { padding: 28px 20px; }
	.wju-cta .wju-btn { width: 100%; box-sizing: border-box; }
	.wju-js .wju-fab {
		display: flex;
		align-items: center;
		position: fixed;
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom));
		z-index: 50;
		height: 54px;
		padding: 0 26px;
		border-radius: 999px;
		background: var(--wju-button);
		color: var(--wju-button-text) !important;
		font-size: 16px;
		font-weight: 700;
		text-decoration: none;
		box-shadow: 0 10px 24px color-mix(in srgb, var(--wju-button) 40%, transparent);
		transition: opacity .2s, transform .2s;
	}
	.wju-js .wju-fab.is-hidden { opacity: 0; transform: translateY(20px); pointer-events: none; }
}

@media (prefers-reduced-motion: reduce) {
	.wju-job *, .awsm-job-listings * { animation: none !important; transition: none !important; }
}

/* =====================================================================
   JOB BOARD LISTINGS (layouts 5 and 6)
   ===================================================================== */
.wju-list-5 .awsm-job-archive-content .awsm-job-container,
.wju-list-6 .awsm-job-archive-content .awsm-job-container { max-width: 1240px; }

.awsm-job-wrap.wju-board { display: grid; gap: 24px; align-items: start; }
.wju-board-5 { grid-template-columns: minmax(0, 1fr) 290px; grid-template-areas: "main side"; }
.wju-board-6 { grid-template-columns: 220px minmax(0, 1fr) 290px; grid-template-areas: "filters main side"; }
.wju-board-filters { grid-area: filters; }
.wju-board-main { grid-area: main; min-width: 0; }
.wju-board-side { grid-area: side; display: grid; gap: 20px; }
.wju-board .awsm-job-listings { gap: 12px; }

.wju-board-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 6px 12px; }
.wju-board-head h2 { margin: 0; color: var(--wju-text); font-size: 20px; font-weight: 600; }
.wju-board-head span { color: var(--wju-muted); font-size: 14px; }
.wju-board-6 .wju-board-head { margin: 2px 0 14px; }
.wju-board-6 .wju-board-head h2 { font-size: 22px; }

.wju-item-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.wju-date {
	flex: none;
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding-top: 3px;
	color: var(--wju-muted);
	font-size: 13px;
	white-space: nowrap;
}

/* Layout 5: one panel, rows */
.wju-board-panel {
	overflow: hidden;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: var(--wju-radius);
}
.wju-board-panel .wju-board-head { padding: 20px 24px; border-bottom: 1px solid var(--wju-border); }
.wju-board-5 .awsm-job-listings { gap: 0; }
.awsm-job-listings .wju-item-5 {
	padding: 22px 24px;
	border-top: 1px solid var(--wju-border);
	transition: background .15s;
}
.awsm-job-listings .wju-item-5:first-child { border-top: 0; }
.awsm-job-listings .wju-item-5:hover,
.awsm-job-listings .wju-item-5:focus-within { background: var(--wju-soft); }
.wju-item-5 .wju-item-title { font-size: 19px; font-weight: 600; }
.awsm-job-listings .wju-item-5 .wju-item-link { color: var(--wju-link); }
.wju-item-5 .wju-facts { margin-top: 8px; }
.wju-item-5 .wju-item-teaser { font-size: 14.5px; color: var(--wju-text); opacity: .85; }

/* Layout 6: cards with letter badge */
.awsm-job-listings .wju-item-6 {
	display: flex;
	gap: 18px;
	padding: 20px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 14px;
	transition: border-color .15s, box-shadow .15s;
}
.awsm-job-listings .wju-item-6:hover,
.awsm-job-listings .wju-item-6:focus-within { border-color: var(--wju-accent); box-shadow: var(--wju-shadow); }
.wju-avatar {
	display: grid;
	place-items: center;
	flex: none;
	width: 44px;
	height: 44px;
	overflow: hidden;
	border-radius: 10px;
	background: var(--wju-soft);
	color: var(--wju-accent);
	font-size: 18px;
	font-weight: 700;
}
.wju-avatar img { width: 100%; height: 100%; object-fit: cover; }
.wju-item-6 .wju-item-main { flex: 1; min-width: 0; }
.wju-item-6 .wju-item-title { font-size: 18px; font-weight: 600; }
.wju-company { margin: 2px 0 0; color: var(--wju-muted); font-size: 14px; font-weight: 700; }
.wju-item-6 .wju-facts { margin-top: 10px; }
.wju-item-6 .wju-fact { font-size: 13px; }
.wju-item-6 .wju-item-teaser { font-size: 14px; }

/* Filter column */
.wju-board-filters {
	position: sticky;
	top: 24px;
	padding: 20px;
	background: var(--wju-soft);
	border-radius: 14px;
}
.wju-filter-head {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 16px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--wju-border);
	color: var(--wju-text);
	font-size: 16px;
	font-weight: 600;
}
.wju-filter-head a { color: var(--wju-link); font-size: 14px; font-weight: 500; }
.wju-board-filters .awsm-filter-wrap,
.wju-board-filters .awsm-filter-wrap form { display: block; margin: 0; }
.wju-board-filters .awsm-filter-toggle { display: none; }
.wju-board-filters .awsm-filter-items { display: block !important; width: 100%; }
.wju-board-filters .awsm-filter-item,
.wju-board-filters .awsm-filter-item-search,
.wju-board-filters .awsm-job-search-wrapper { float: none; width: 100%; max-width: none; margin: 0 0 14px; padding: 0; }
.wju-board-filters select,
.wju-board-filters .awsm-job-search { box-sizing: border-box; width: 100%; }
.wju-search-compact { margin: 0; padding: 0; background: none; }
.wju-search-compact .wju-search-label { font-size: 14px; }
.wju-search.wju-search-compact .wju-search-field input[type="search"] { height: 44px; font-size: 15px; }

/* Sidebar boxes (listing boards and job pages 5–6) */
.wju-box {
	padding: 22px 24px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: var(--wju-radius);
}
.wju-box h3 { margin: 0 0 12px; color: var(--wju-text); font-size: 19px; font-weight: 600; }
.wju-box p { margin: 0; color: var(--wju-muted); font-size: 15px; line-height: 1.6; }
.wju-box p + p { margin-top: 8px; }
.wju-alerts form { display: grid; gap: 12px; }
.wju-alerts input {
	box-sizing: border-box;
	width: 100%;
	height: 44px;
	padding: 0 14px;
	background: #fff;
	border: 1px solid var(--wju-border);
	border-radius: 8px;
	font-size: 15px;
}
.wju-alerts input:focus { border-color: var(--wju-accent); outline: 3px solid color-mix(in srgb, var(--wju-accent) 25%, transparent); }
.wju-alerts .wju-btn { width: 100%; box-sizing: border-box; }
.wju-box .wju-fine { font-size: 12.5px; line-height: 1.5; }
.wju-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.wju-box .wju-notice { margin: 0 0 12px; padding: 10px 12px; border-radius: 8px; font-size: 14px; }
.wju-notice-success { background: #ecfdf3; color: #05603a !important; }
.wju-notice-error { background: #fef3f2; color: #b42318 !important; }
.wju-browse {
	display: inline-flex;
	justify-self: center;
	align-items: center;
	gap: 6px;
	padding: 6px;
	color: var(--wju-link);
	font-weight: 700;
	text-decoration: none;
}
.wju-board-side-alone { max-width: 360px; margin-top: 24px; display: grid; gap: 20px; }

/* =====================================================================
   JOB PAGES 5 and 6
   ===================================================================== */
.wju-job-page.wju-job-6 { overflow-x: clip; }
.wju-job-page.wju-job-6 .ct-container-full { padding-top: 0; }

.wju-detail { display: grid; grid-template-columns: minmax(0, 1fr) 300px; align-items: start; gap: 28px; }
.wju-detail-main { display: grid; gap: 24px; min-width: 0; }
.wju-detail-side { position: sticky; top: 24px; display: grid; gap: 20px; }
.admin-bar .wju-detail-side { top: 56px; }
.wju-detail-panel {
	box-sizing: border-box;
	padding: 32px 36px;
	background: var(--wju-surface);
	border: 1px solid var(--wju-border);
	border-radius: 14px;
}

/* Layout 5 */
.wju-posted { margin: 0 0 10px; color: var(--wju-muted); font-size: 15px; }
.wju-v5 .wju-title { margin-bottom: 20px; font-size: clamp(26px, 4vw, 34px); font-weight: 600; }
.wju-v5 .wju-company { margin: 0 0 8px; color: var(--wju-accent); font-size: 19px; }
.wju-v5 .wju-detail-panel .wju-fact { color: var(--wju-text); font-size: 15px; }
.wju-v5 .wju-rule { margin: 24px 0 28px; border: 0; border-top: 1px solid var(--wju-border); }
.wju-apply-box > p { margin-bottom: 14px; color: var(--wju-text); }
.wju-apply-box .wju-btn { width: 100%; box-sizing: border-box; }

/* Layout 6 */
.wju-v6 .wju-hero { padding: 28px 0 60px; background: var(--wju-banner); }
/* Same width as the theme's content area (Blocksy variable), so the banner text lines up with the cards below */
.wju-in-wide { box-sizing: border-box; width: var(--theme-container-width, calc(100% - 48px)); max-width: 1140px; margin: 0 auto; }
.wju-hero-dark .wju-back { color: #fff; }
.wju-hero-dark .wju-back:hover { color: color-mix(in srgb, var(--wju-accent) 40%, #fff); }
.wju-eyebrow {
	margin: 0 0 6px;
	color: var(--wju-accent);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.wju-hero-dark .wju-eyebrow { margin-top: 32px; color: color-mix(in srgb, var(--wju-accent) 45%, #fff); }
.wju-v6 .wju-hero .wju-title { margin: 0 0 18px; color: #fff; font-size: clamp(34px, 6vw, 60px); font-weight: 800; letter-spacing: -.03em; }
.wju-hero-dark .wju-fact { color: rgba(255, 255, 255, .85); font-size: 15px; }
.wju-v6 .wju-detail { max-width: 1140px; margin: 48px auto 0; }
.wju-v6 .wju-detail-panel { border-radius: 18px; box-shadow: 0 20px 44px rgba(16, 24, 40, .07); }
.wju-section-head { position: relative; margin: 0 0 26px; padding: 0 0 22px 22px; border-bottom: 1px solid var(--wju-border); }
.wju-section-head::before {
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 4px;
	height: 44px;
	border-radius: 4px;
	background: var(--wju-highlight);
}
.wju-section-head h2 { margin: 0; color: var(--wju-text); font-size: 28px; font-weight: 800; }
.wju-apply-box-warm { background: color-mix(in srgb, var(--wju-highlight) 9%, #fff); border-color: transparent; }
.wju-apply-box-warm .wju-eyebrow { color: var(--wju-highlight); }
.wju-apply-box-warm h3 { margin: 0 0 10px; font-size: 22px; font-weight: 800; }
.wju-apply-box-warm > p:not(.wju-eyebrow) { margin-bottom: 18px; color: var(--wju-muted); }
.wju-btn-pill { border-radius: 999px; padding: 14px 24px; }

/* Share + similar jobs */
.wju-share-links { display: flex; flex-wrap: wrap; gap: 10px; }
.wju-share-links a { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 4px; color: #fff; transition: opacity .15s; }
.wju-share-links a:hover { opacity: .85; color: #fff; }
.wju-share-facebook { background: #3b5998; }
.wju-share-linkedin { background: #0a66c2; }
.wju-share-x { background: #000; }
.wju-share-rss { background: #f26522; }
.wju-similar ul { margin: 0; padding: 0; list-style: none; }
.wju-similar li { display: grid; gap: 4px; margin: 0; padding: 14px 0; border-bottom: 1px solid var(--wju-border); }
.wju-similar li:first-child { padding-top: 2px; }
.wju-similar li:last-child { padding-bottom: 0; border-bottom: 0; }
.wju-similar a { color: var(--wju-link); font-size: 16px; font-weight: 700; line-height: 1.35; text-decoration: none; }
.wju-similar a:hover { text-decoration: underline; }
.wju-similar-company { color: var(--wju-text); font-size: 14px; }
.wju-similar .wju-fact { font-size: 13px; }

@media (max-width: 1100px) {
	.wju-board-6 { grid-template-columns: minmax(0, 1fr) 280px; grid-template-areas: "filters filters" "main side"; }
	.wju-board-filters { position: static; }
}
@media (max-width: 900px) {
	.wju-board-5,
	.wju-board-6 { grid-template-columns: minmax(0, 1fr); grid-template-areas: "filters" "main" "side"; }
	.wju-detail { grid-template-columns: minmax(0, 1fr); }
	.wju-detail-side { position: static; }
	.wju-detail-side .wju-apply-box { display: none; } /* the form follows the description */
}
@media (max-width: 640px) {
	.wju-board-panel .wju-board-head,
	.awsm-job-listings .wju-item-5 { padding: 18px; }
	.wju-item-top { flex-direction: column; gap: 4px; }
	.wju-date { padding-top: 0; }
	.awsm-job-listings .wju-item-6 { gap: 14px; padding: 16px; }
	.wju-avatar { width: 38px; height: 38px; font-size: 16px; }
	.wju-detail-panel { padding: 22px 20px; }
	.wju-in-wide { width: var(--theme-container-width, calc(100% - 32px)); }
	.wju-v6 .wju-hero { padding: 20px 0 40px; }
	.wju-v6 .wju-detail { margin-top: 28px; }
}

/* =====================================================================
   SEARCH BANNER (Job Openings → Page Layouts → Search banner)
   ===================================================================== */
:root {
	--wju-hero-bg: #0b1d45;
	--wju-hero-text: #fff;
	--wju-hero-eyebrow: #5eead4;
	--wju-hero-highlight: #facc15;
	--wju-hero-button: var(--wju-button);
	--wju-hero-button-text: var(--wju-button-text);
}

body.wju-has-hero { overflow-x: clip; }
/* The banner headline replaces the page title */
.wju-hide-title .hero-section,
.wju-hide-title .awsm-jobs-archive-title { display: none; }
.wju-hide-title [data-vertical-spacing*="top"] { padding-top: 0; }

/* Doubled class: themes such as Blocksy size every block in the page content
   (article > .entry-content > *), which would otherwise box the banner in. */
.wju-hero-banner.wju-hero-banner {
	position: relative;
	box-sizing: border-box;
	width: 100vw;
	max-width: none;
	margin: 0 0 40px calc(50% - 50vw);
	overflow: hidden;
	background-color: var(--wju-hero-bg);
	color: var(--wju-hero-text);
}
.wju-hero-banner.has-image {
	background-image:
		linear-gradient(color-mix(in srgb, var(--wju-hero-bg) var(--wju-hero-overlay, 60%), transparent), color-mix(in srgb, var(--wju-hero-bg) var(--wju-hero-overlay, 60%), transparent)),
		var(--wju-hero-image);
	background-position: center;
	background-size: cover;
}
.wju-hero-banner.has-shape::after {
	content: "";
	position: absolute;
	top: -170px;
	right: -150px;
	z-index: 0;
	width: 340px;
	height: 340px;
	box-sizing: border-box;
	border: 56px solid color-mix(in srgb, var(--wju-accent) 75%, var(--wju-hero-bg));
	border-radius: 50%;
	pointer-events: none;
}
.wju-hero-inner {
	position: relative;
	z-index: 1;
	box-sizing: border-box;
	width: var(--theme-container-width, calc(100% - 48px));
	max-width: 1140px;
	margin: 0 auto;
	padding: 64px 0 72px;
}
.wju-hero-compact .wju-hero-inner { padding: 40px 0 48px; }
.wju-hero-tall .wju-hero-inner { padding: 110px 0 120px; }

.wju-hero-eyebrow {
	margin: 0 0 14px;
	color: var(--wju-hero-eyebrow);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}
.wju-hero-banner .wju-hero-title {
	max-width: 15ch;
	margin: 0 0 18px;
	color: var(--wju-hero-text);
	font-size: clamp(36px, 6vw, 72px);
	font-weight: 800;
	line-height: 1.02;
	letter-spacing: -.035em;
}
.wju-hero-title .wju-hl { color: var(--wju-hero-highlight); }
.wju-hero-subtitle {
	max-width: 640px;
	margin: 0 0 34px;
	color: color-mix(in srgb, var(--wju-hero-text) 85%, transparent);
	font-size: 18px;
	line-height: 1.55;
}

/* Search bar */
.wju-hero-search {
	display: flex;
	align-items: stretch;
	max-width: 900px;
	margin: 0;
	padding: 8px;
	background: #fff;
	border-radius: 14px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, .25);
}
.wju-hero-field { position: relative; display: flex; flex: 1; align-items: center; min-width: 0; }
.wju-hero-field + .wju-hero-field { border-left: 1px solid #e5e7eb; }
.wju-hero-field .wju-icon { position: absolute; left: 16px; width: 18px; height: 18px; color: #6b7280; pointer-events: none; }
.wju-hero-search .wju-hero-field input[type] {
	box-sizing: border-box;
	width: 100%;
	height: 52px;
	margin: 0;
	padding: 0 16px 0 46px;
	background: transparent;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	color: #111827;
	font-size: 16px;
	outline: none;
}
.wju-hero-search .wju-hero-field input[type]::placeholder { color: #6b7280; }
.wju-hero-search button.wju-hero-btn[type] {
	display: inline-flex;
	flex: none;
	align-items: center;
	gap: 8px;
	min-height: 52px;
	padding: 0 26px;
	background: var(--wju-hero-button);
	border: 0;
	border-radius: 10px;
	color: var(--wju-hero-button-text) !important;
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: filter .15s;
}
.wju-hero-search button.wju-hero-btn[type]:hover { filter: brightness(.92); }
.wju-hero-search:focus-within { box-shadow: 0 20px 50px rgba(0, 0, 0, .25), 0 0 0 3px color-mix(in srgb, var(--wju-hero-button) 45%, transparent); }

/* Style 2: centered */
.wju-hero-s2 .wju-hero-inner { padding: 120px 0 64px; text-align: center; }
.wju-hero-s2.wju-hero-compact .wju-hero-inner { padding: 64px 0 48px; }
.wju-hero-s2.wju-hero-tall .wju-hero-inner { padding: 170px 0 96px; }
.wju-hero-s2 .wju-hero-title { max-width: none; font-size: clamp(30px, 4.6vw, 52px); font-weight: 600; letter-spacing: -.02em; }
.wju-hero-s2 .wju-hero-subtitle { margin-right: auto; margin-left: auto; font-size: 19px; }
.wju-hero-s2 .wju-hero-search { max-width: none; padding: 0; border-radius: 4px; overflow: hidden; }
.wju-hero-s2 .wju-hero-search button.wju-hero-btn[type] { padding: 0 34px; border-radius: 0; }
.wju-hero-s2 .wju-hero-search button.wju-hero-btn[type] .wju-icon { display: none; }

/* Search results line */
.wju-search-summary { margin: 0 0 16px; color: var(--wju-muted); font-size: 15px; }
.wju-search-summary strong { color: var(--wju-text); }
.wju-search-summary a { margin-left: 8px; color: var(--wju-link); font-weight: 600; }

@media (max-width: 640px) {
	.wju-hero-inner { padding: 40px 0 44px; }
	.wju-hero-s2 .wju-hero-inner { padding: 56px 0 44px; }
	.wju-hero-banner .wju-hero-title { font-size: clamp(32px, 10vw, 44px); }
	.wju-hero-subtitle { font-size: 16px; }
	.wju-hero-search { flex-direction: column; gap: 6px; }
	.wju-hero-field + .wju-hero-field { border-top: 1px solid #e5e7eb; border-left: 0; }
	.wju-hero-search button.wju-hero-btn[type] { justify-content: center; width: 100%; }
	.wju-hero-s2 .wju-hero-search { padding: 6px; border-radius: 10px; }
	.wju-hero-s2 .wju-hero-search button.wju-hero-btn[type] { border-radius: 8px; }
	.wju-hero-banner.has-shape::after { top: -120px; right: -140px; width: 220px; height: 220px; border-width: 36px; }
}

/* =====================================================================
   FOOTER (Job Openings → Page Layouts → Footer)
   ===================================================================== */
/* Hide the theme's own footer while this one is used */
.wju-custom-footer #footer.ct-footer,
.wju-custom-footer footer.site-footer,
.wju-custom-footer #colophon { display: none !important; }

.wju-footer {
	--f-bg: var(--wju-footer-bg, #0b1d45);
	--f-text: var(--wju-footer-text, rgba(255, 255, 255, .75));
	--f-heading: var(--wju-footer-heading, #fff);
	--f-link: var(--wju-footer-link, #fff);
	--f-bottom: var(--wju-footer-bottom-bg, color-mix(in srgb, var(--f-bg) 82%, #000));
	background: var(--f-bg);
	color: var(--f-text);
	font-size: 15px;
	line-height: 1.6;
}
.wju-footer-s1 {
	--f-bg: var(--wju-footer-bg, #f3f4f6);
	--f-text: var(--wju-footer-text, #4b5563);
	--f-heading: var(--wju-footer-heading, #111827);
	--f-link: var(--wju-footer-link, var(--wju-link));
	--f-bottom: var(--wju-footer-bottom-bg, color-mix(in srgb, var(--f-bg) 94%, #000));
}
.wju-footer-in {
	box-sizing: border-box;
	width: var(--theme-container-width, calc(100% - 48px));
	max-width: 1140px;
	margin: 0 auto;
}
.wju-footer p { margin: 0; }
.wju-footer ul { margin: 0; padding: 0; list-style: none; }
.wju-footer li { margin: 0 0 8px; }
.wju-footer a { color: var(--f-link); text-decoration: none; }
.wju-footer a:hover { text-decoration: underline; }

/* Call-to-action band (Style 2) */
.wju-footer-cta { padding: 36px 0; background: var(--wju-footer-cta-bg, var(--wju-accent)); color: #fff; }
.wju-footer-cta .wju-footer-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px 32px; }
.wju-footer .wju-footer-cta-title { color: #fff; font-size: 24px; font-weight: 700; line-height: 1.3; }
.wju-footer .wju-footer-cta-text { margin-top: 4px; color: rgba(255, 255, 255, .85); }
.wju-footer a.wju-footer-cta-btn { background: #fff; color: var(--wju-footer-cta-bg, var(--wju-accent)) !important; text-decoration: none; }
.wju-footer a.wju-footer-cta-btn:hover { background: color-mix(in srgb, #fff 88%, #000); }

/* Main area */
.wju-footer-main { padding: 56px 0 40px; }
.wju-footer-cols { display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 32px 40px; }
.wju-footer a.wju-footer-brand { display: inline-block; color: var(--f-heading); text-decoration: none; }
.wju-footer-name { color: var(--f-heading); font-size: 22px; font-weight: 800; letter-spacing: -.01em; }
.wju-footer-logo { display: block; max-width: 100%; height: auto; }
.wju-footer .wju-footer-about { max-width: 360px; margin-top: 14px; }
.wju-footer .wju-footer-heading { margin-bottom: 14px; color: var(--f-heading); font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.wju-footer-social { display: flex; flex-wrap: wrap; gap: 10px; }
.wju-footer-social a {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: color-mix(in srgb, var(--f-link) 14%, transparent);
	color: var(--f-link);
	transition: background .15s, color .15s;
}
.wju-footer-social a:hover { background: var(--f-link); color: var(--f-bg); text-decoration: none; }

/* Bottom bar */
.wju-footer-bottom { padding: 18px 0; background: var(--f-bottom); font-size: 14px; }
.wju-footer-bottom .wju-footer-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 24px; }
.wju-footer-bottom-links { display: flex; flex-wrap: wrap; gap: 8px 20px; }
.wju-footer .wju-footer-bottom-links li { margin: 0; }

/* Style 1: simple, centered */
.wju-footer-s1 .wju-footer-main { padding: 44px 0 28px; }
.wju-footer-s1 .wju-footer-main .wju-footer-in { display: flex; flex-direction: column; align-items: center; gap: 16px; text-align: center; }
.wju-footer-s1 .wju-footer-about { margin: 0 auto; }
.wju-footer-s1 .wju-footer-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px 24px; }
.wju-footer-s1 .wju-footer-links li { margin: 0; }
.wju-footer-s1 .wju-footer-bottom .wju-footer-in { justify-content: center; text-align: center; }

@media (max-width: 900px) {
	.wju-footer-cols { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wju-footer-col-brand { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
	.wju-footer-cols { grid-template-columns: minmax(0, 1fr); }
	.wju-footer-main { padding: 40px 0 28px; }
	.wju-footer-cta .wju-footer-cta-btn { justify-content: center; width: 100%; box-sizing: border-box; }
	.wju-footer-bottom .wju-footer-in { flex-direction: column; align-items: flex-start; }
	.wju-footer-s1 .wju-footer-bottom .wju-footer-in { align-items: center; }
}
