/* Scoped production polish for Vacancies and Gallery, 2026-07-13. */

/* Vacancies: consistent Elementor sections and a useful full-width job result. */
body.page-id-2284 .pa-vacancies-listings {
	padding: 64px 24px 72px !important;
	background: #f6f9f7 !important;
}

body.page-id-2284 .pa-vacancies-listings > .elementor-container {
	box-sizing: border-box !important;
	width: min(1180px, 100%) !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
	padding: 38px 40px 42px !important;
	border: 1px solid #dce8e1 !important;
	border-top: 5px solid #24702a !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 22px 58px rgba(12, 49, 31, .09) !important;
}

body.page-id-2284 .pa-vacancies-listings .awsm-filter-wrap {
	display: flex !important;
	margin: 28px 0 22px !important;
	padding: 0 !important;
	background: transparent !important;
}

body.page-id-2284 .pa-vacancies-listings .awsm-filter-item-search {
	width: min(100%, 460px) !important;
	max-width: 460px !important;
}

body.page-id-2284 .pa-vacancies-listings .awsm-job-listings.awsm-row {
	display: grid !important;
	width: 100% !important;
	max-width: none !important;
	grid-template-columns: minmax(0, 1fr) !important;
	gap: 16px !important;
	margin: 0 !important;
}

body.page-id-2284 .pa-vacancies-listings .awsm-job-listing-item.awsm-grid-item {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	padding: 0 !important;
}

body.page-id-2284 .pa-vacancies-listings .awsm-job-item {
	display: grid !important;
	grid-template-columns: minmax(220px, 1fr) minmax(360px, 1.4fr) !important;
	gap: 30px !important;
	align-items: center !important;
	min-height: 0 !important;
	padding: 24px 26px !important;
	border: 1px solid #dce8e1 !important;
	border-left: 5px solid #24702a !important;
	border-radius: 8px !important;
	background: #fff !important;
	box-shadow: 0 12px 30px rgba(12, 49, 31, .06) !important;
}

body.page-id-2284 .pa-vacancies-listings .awsm-job-post-title {
	margin: 0 !important;
	font-size: 23px !important;
	line-height: 1.25 !important;
}

body.page-id-2284 .pa-vacancies-listings .awsm-job-specification-wrapper {
	display: flex !important;
	flex-wrap: wrap !important;
	gap: 8px 20px !important;
}

body.page-id-2284 .pa-vacancies-section {
	padding: 76px 24px !important;
	background: #fff !important;
}

body.page-id-2284 .pa-vacancies-archive { background: #fff !important; }
body.page-id-2284 .pa-vacancies-notices { background: #f3f7f4 !important; }

body.page-id-2284 .pa-vacancies-section > .elementor-container {
	width: min(1180px, 100%) !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
}

body.page-id-2284 .pa-vacancies-kicker,
body.page-id-2284 .pa-vacancies-eyebrow {
	margin: 0 0 9px !important;
	color: #0a9f55 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
}

body.page-id-2284 .pa-vacancies-kicker p,
body.page-id-2284 .pa-vacancies-eyebrow p,
body.page-id-2284 .pa-vacancies-section-copy p,
body.page-id-2284 .pa-vacancies-card-copy p,
body.page-id-2284 .pa-vacancies-role-list p { margin: 0 !important; }

body.page-id-2284 .pa-vacancies-section-title .elementor-heading-title {
	margin: 0 !important;
	color: #13251d !important;
	font-size: clamp(31px, 4vw, 46px) !important;
	font-weight: 800 !important;
	line-height: 1.12 !important;
}

body.page-id-2284 .pa-vacancies-section-copy {
	max-width: 720px !important;
	margin: 13px 0 30px !important;
	color: #64746d !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

body.page-id-2284 .pa-vacancies-archive-card > .elementor-container,
body.page-id-2284 .pa-vacancies-notices-grid > .elementor-container {
	display: grid !important;
	gap: 22px !important;
}

body.page-id-2284 .pa-vacancies-archive-card > .elementor-container {
	grid-template-columns: minmax(0, 2.2fr) minmax(240px, .8fr) !important;
	padding: 0 !important;
	overflow: hidden !important;
	border: 1px solid #dce8e1 !important;
	border-radius: 10px !important;
	background: #fff !important;
	box-shadow: 0 18px 46px rgba(12, 49, 31, .08) !important;
}

body.page-id-2284 .pa-vacancies-archive-card .elementor-column,
body.page-id-2284 .pa-vacancies-notices-grid .elementor-column {
	width: auto !important;
}

body.page-id-2284 .pa-vacancies-archive-main > .elementor-widget-wrap { padding: 30px 32px !important; }
body.page-id-2284 .pa-vacancies-archive-action > .elementor-widget-wrap {
	display: flex !important;
	height: 100% !important;
	padding: 28px 30px !important;
	flex-direction: column !important;
	justify-content: center !important;
	background: #eef6f1 !important;
}

body.page-id-2284 .pa-vacancies-card-title .elementor-heading-title {
	color: #13251d !important;
	font-size: 23px !important;
	font-weight: 800 !important;
	line-height: 1.3 !important;
}

body.page-id-2284 .pa-vacancies-role-list,
body.page-id-2284 .pa-vacancies-card-copy {
	margin-top: 12px !important;
	color: #627069 !important;
	font-size: 14px !important;
	line-height: 1.75 !important;
}

body.page-id-2284 .pa-vacancies-dates { color: #42524b !important; font-size: 14px !important; line-height: 1.55 !important; }
body.page-id-2284 .pa-vacancies-dates p { margin: 0 0 12px !important; }

body.page-id-2284 .pa-vacancies-button { margin-top: 10px !important; }
body.page-id-2284 .pa-vacancies-button .elementor-button {
	padding: 13px 19px !important;
	border-radius: 999px !important;
	background: #0aa956 !important;
	color: #fff !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	text-transform: uppercase !important;
}

body.page-id-2284 .pa-vacancies-button .elementor-button:hover,
body.page-id-2284 .pa-vacancies-button .elementor-button:focus { background: #e64b35 !important; }

body.page-id-2284 .pa-vacancies-notices-grid > .elementor-container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
body.page-id-2284 .pa-vacancies-notice-card > .elementor-widget-wrap {
	display: flex !important;
	height: 100% !important;
	padding: 29px 30px !important;
	flex-direction: column !important;
	border: 1px solid #dce8e1 !important;
	border-top: 4px solid #24702a !important;
	border-radius: 9px !important;
	background: #fff !important;
	box-shadow: 0 15px 36px rgba(12, 49, 31, .07) !important;
}
body.page-id-2284 .pa-vacancies-notice-card .pa-vacancies-card-copy { flex: 1 1 auto !important; }

/* Gallery: explain the hierarchy and make category filtering reliably inline. */
body.page-id-2293 .pa-gallery-browser-head {
	padding: 82px 24px 20px !important;
	background: #f4f8f5 !important;
	text-align: center !important;
}

body.page-id-2293 .pa-gallery-browser-grid {
	padding: 12px 24px 90px !important;
	background: #f4f8f5 !important;
}

body.page-id-2293 .pa-gallery-browser-head > .elementor-container,
body.page-id-2293 .pa-gallery-browser-grid > .elementor-container {
	width: min(1180px, 100%) !important;
	max-width: 1180px !important;
	margin: 0 auto !important;
}

body.page-id-2293 .pa-gallery-browser-kicker {
	margin-bottom: 10px !important;
	color: #0a9f55 !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
}
body.page-id-2293 .pa-gallery-browser-kicker p,
body.page-id-2293 .pa-gallery-browser-copy p { margin: 0 !important; }

body.page-id-2293 .pa-gallery-browser-title .elementor-heading-title {
	color: #13251d !important;
	font-size: clamp(32px, 4vw, 48px) !important;
	font-weight: 800 !important;
	line-height: 1.12 !important;
}

body.page-id-2293 .pa-gallery-browser-copy {
	max-width: 760px !important;
	margin: 15px auto 0 !important;
	color: #64746d !important;
	font-size: 16px !important;
	line-height: 1.7 !important;
}

body.page-id-2293 .portfolio__filter {
	display: flex !important;
	margin: 0 0 28px !important;
	flex-wrap: wrap !important;
	gap: 10px !important;
	justify-content: center !important;
}

body.page-id-2293 .portfolio__filter a {
	display: inline-flex !important;
	min-height: 42px !important;
	padding: 11px 17px !important;
	align-items: center !important;
	border: 1px solid #d6e4dc !important;
	border-radius: 999px !important;
	background: #fff !important;
	color: #28443a !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.2 !important;
}

body.page-id-2293 .portfolio__filter a.active,
body.page-id-2293 .portfolio__filter a:hover,
body.page-id-2293 .portfolio__filter a:focus {
	border-color: #0a9f55 !important;
	background: #0a9f55 !important;
	color: #fff !important;
}

body.page-id-2293 .pa-gallery-browser-grid .wgl-portfolio_container {
	display: grid !important;
	height: auto !important;
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 18px !important;
	margin: 0 !important;
}

body.page-id-2293 .pa-gallery-browser-grid .wgl-portfolio-list_item {
	position: relative !important;
	top: auto !important;
	left: auto !important;
	width: auto !important;
	padding: 0 !important;
	transform: none !important;
}

body.page-id-2293 .pa-gallery-browser-grid .wgl-portfolio-list_item[hidden] { display: none !important; }

body.page-id-2293 .pa-gallery-browser-grid .wgl-portfolio-item_wrapper,
body.page-id-2293 .pa-gallery-browser-grid .wgl-portfolio-item_image {
	height: 100% !important;
	min-height: 248px !important;
	overflow: hidden !important;
	border-radius: 9px !important;
	background: #e7efea !important;
}

body.page-id-2293 .pa-gallery-browser-grid img {
	width: 100% !important;
	height: 100% !important;
	min-height: 248px !important;
	object-fit: cover !important;
}

@media (max-width: 900px) {
	body.page-id-2284 .pa-vacancies-listings .awsm-job-item { grid-template-columns: 1fr !important; gap: 15px !important; }
	body.page-id-2284 .pa-vacancies-archive-card > .elementor-container { grid-template-columns: 1fr !important; }
	body.page-id-2284 .pa-vacancies-notices-grid > .elementor-container,
	body.page-id-2293 .pa-gallery-browser-grid .wgl-portfolio_container { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}

@media (max-width: 600px) {
	body.page-id-2284 .pa-vacancies-listings,
	body.page-id-2284 .pa-vacancies-section,
	body.page-id-2293 .pa-gallery-browser-head,
	body.page-id-2293 .pa-gallery-browser-grid { padding-right: 18px !important; padding-left: 18px !important; }
	body.page-id-2284 .pa-vacancies-listings { padding-top: 52px !important; padding-bottom: 58px !important; }
	body.page-id-2284 .pa-vacancies-listings > .elementor-container { padding: 28px 22px 30px !important; }
	body.page-id-2284 .pa-vacancies-section { padding-top: 58px !important; padding-bottom: 58px !important; }
	body.page-id-2284 .pa-vacancies-notices-grid > .elementor-container,
	body.page-id-2293 .pa-gallery-browser-grid .wgl-portfolio_container { grid-template-columns: 1fr !important; }
	body.page-id-2284 .pa-vacancies-archive-main > .elementor-widget-wrap,
	body.page-id-2284 .pa-vacancies-archive-action > .elementor-widget-wrap,
	body.page-id-2284 .pa-vacancies-notice-card > .elementor-widget-wrap { padding: 24px 22px !important; }
	body.page-id-2293 .portfolio__filter { justify-content: flex-start !important; }
	body.page-id-2293 .portfolio__filter a { width: 100% !important; justify-content: center !important; text-align: center !important; }
}
