/* Elementor also hides the document at every responsive breakpoint. */
.vacancy-print-document {
	display: none !important;
}

@page {
	size: A4 portrait;
	margin: 13mm 15mm 16mm;
}

@media print {
	html,
	body {
		margin: 0 !important;
		padding: 0 !important;
		background: #fff !important;
		color: #111 !important;
		font-family: Inter, Arial, Helvetica, sans-serif !important;
		font-size: 9.5pt !important;
		line-height: 1.28 !important;
		overflow: visible !important;
	}

	*,
	*::before,
	*::after {
		box-sizing: border-box !important;
		box-shadow: none !important;
		text-shadow: none !important;
	}

	/* Remove the website shell and the normal vacancy layout. */
	.elementor-location-header,
	.elementor-location-footer,
	header.site-header,
	footer.site-footer,
	.site-header,
	.site-footer,
	.vacancy-screen-document,
	.dra-vacancies-print-meta,
	.cookie-banner,
	.cookie-notice,
	.cky-consent-container,
	.dra-vacancies-print-button,
	.dra-vacancies-apply,
	.share-buttons,
	.social-share,
	[aria-label="Share"] {
		display: none !important;
	}

	.elementor-location-header,
	.elementor-location-header *,
	.site-header,
	.site-header * {
		position: static !important;
		inset: auto !important;
		transform: none !important;
	}

	/* The dedicated Elementor document is the only printed vacancy content. */
	.vacancy-print-document,
	.vacancy-print-document.elementor-hidden-desktop,
	.vacancy-print-document.elementor-hidden-tablet,
	.vacancy-print-document.elementor-hidden-mobile {
		display: block !important;
		visibility: visible !important;
		position: static !important;
		width: 100% !important;
		max-width: 180mm !important;
		min-height: 0 !important;
		margin: 0 auto !important;
		padding: 0 !important;
		background: #fff !important;
		color: #111 !important;
		overflow: visible !important;
	}

	.vacancy-print-document .e-con,
	.vacancy-print-document .e-con-inner,
	.vacancy-print-document .elementor-widget,
	.vacancy-print-document .elementor-widget-container {
		min-width: 0 !important;
		min-height: 0 !important;
		max-width: none !important;
		margin: 0 !important;
		padding: 0 !important;
		background: transparent !important;
		border: 0 !important;
		overflow: visible !important;
	}

	.vacancy-print-document p,
	.vacancy-print-document .elementor-heading-title {
		margin: 0 0 2mm !important;
		padding: 0 !important;
		font-family: Inter, Arial, Helvetica, sans-serif !important;
		font-size: 9.5pt !important;
		font-weight: 400 !important;
		line-height: 1.28 !important;
		color: #111 !important;
		orphans: 3;
		widows: 3;
	}

	.vacancy-print-document strong {
		font-weight: 700 !important;
	}

	.vacancy-print-document a {
		color: inherit !important;
		text-decoration: none !important;
	}

	/* Header: a single logo, office details and restrained DRA rule. */
	.vacancy-print-header {
		display: block !important;
		margin: 0 0 4mm !important;
		padding: 0 !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.vacancy-print-header-row {
		display: flex !important;
		flex-flow: row nowrap !important;
		align-items: flex-start !important;
		justify-content: space-between !important;
		gap: 8mm !important;
	}

	.vacancy-print-logo {
		flex: 0 0 31% !important;
	}

	.vacancy-print-logo img {
		display: block !important;
		width: auto !important;
		max-width: 39mm !important;
		max-height: 21mm !important;
		height: auto !important;
		object-fit: contain !important;
	}

	.vacancy-print-offices {
		display: flex !important;
		flex: 1 1 auto !important;
		flex-flow: row nowrap !important;
		gap: 4mm !important;
	}

	.vacancy-print-office {
		flex: 1 1 0 !important;
	}

	.vacancy-print-office p {
		margin: 0 !important;
		font-size: 7.3pt !important;
		line-height: 1.18 !important;
	}

	.vacancy-print-office strong,
	.vacancy-print-contact strong {
		color: #c8202f !important;
	}

	.vacancy-print-contact {
		margin: 1.5mm 0 1.8mm auto !important;
		text-align: right !important;
	}

	.vacancy-print-contact p {
		margin: 0 !important;
		font-size: 7.7pt !important;
	}

	.vacancy-print-rule {
		display: block !important;
		width: 100% !important;
		height: 0 !important;
		margin: 0 !important;
		border-top: 0.8pt solid #c8202f !important;
	}

	.vacancy-print-title .elementor-heading-title {
		margin: 0 0 3mm !important;
		font-size: 16pt !important;
		font-weight: 700 !important;
		line-height: 1.12 !important;
		text-align: center !important;
		break-after: avoid !important;
		page-break-after: avoid !important;
	}

	/* Compact vacancy summary. */
	.vacancy-print-summary {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 1mm !important;
		margin: 0 0 3.5mm !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.vacancy-print-summary-row {
		display: grid !important;
		grid-template-columns: 32mm 1fr !important;
		gap: 3mm !important;
	}

	.vacancy-print-summary-row .elementor-widget,
	.vacancy-print-summary-row .elementor-shortcode,
	.vacancy-print-summary-row .elementor-heading-title {
		margin: 0 !important;
		font-size: 9pt !important;
		line-height: 1.22 !important;
	}

	.vacancy-print-summary-label .elementor-heading-title {
		font-weight: 600 !important;
		font-style: italic !important;
	}

	/* Document sections remain ordinary, editable Elementor sections. */
	.vacancy-print-section {
		display: block !important;
		margin: 0 0 3.2mm !important;
		padding: 0 !important;
		break-inside: auto !important;
		page-break-inside: auto !important;
	}

	.vacancy-print-section-title .elementor-heading-title {
		margin: 0 0 1.5mm !important;
		padding: 0 0 0.8mm !important;
		font-size: 11pt !important;
		font-weight: 700 !important;
		line-height: 1.15 !important;
		border-bottom: 0.45pt solid #b8b8b8 !important;
		break-after: avoid !important;
		page-break-after: avoid !important;
	}

	.vacancy-print-section-title + .elementor-widget,
	.vacancy-print-section-title + .elementor-element {
		break-before: avoid !important;
		page-break-before: avoid !important;
	}

	.vacancy-print-document ul,
	.vacancy-print-document ol,
	.vacancy-print-document .dra-vacancies-list {
		margin: 0 0 1.8mm !important;
		padding: 0 0 0 5mm !important;
		overflow: visible !important;
		max-height: none !important;
	}

	.vacancy-print-document li,
	.vacancy-print-document .dra-vacancies-list li {
		margin: 0 0 0.9mm !important;
		padding: 0 0 0 0.8mm !important;
		font-size: 9.3pt !important;
		line-height: 1.22 !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.vacancy-print-document .dra-vacancies-content {
		display: block !important;
		width: 100% !important;
		overflow: visible !important;
		max-height: none !important;
	}

	.vacancy-print-long-section {
		break-inside: auto !important;
		page-break-inside: auto !important;
	}

	.vacancy-print-page-two {
		break-before: page !important;
		page-break-before: always !important;
	}

	.vacancy-print-optional-shortcode:not(:has(.elementor-shortcode:not(:empty))),
	.vacancy-print-dynamic-content:not(:has(.elementor-heading-title:not(:empty))) {
		display: none !important;
	}

	.vacancy-print-salary {
		display: none !important;
	}

	.vacancy-print-salary:has(.vacancy-print-salary-flag .elementor-heading-title:not(:empty)):has(.vacancy-print-salary-value .elementor-heading-title:not(:empty)) {
		display: block !important;
	}

	.vacancy-print-salary-flag {
		display: none !important;
	}

	.vacancy-print-salary-meta {
		display: flex !important;
		flex-flow: row wrap !important;
		gap: 1mm 5mm !important;
	}

	.vacancy-print-salary-meta .elementor-heading-title {
		margin: 0 !important;
		font-size: 8.8pt !important;
	}

	/* Footer is normal flow content, so it cannot repeat on every page. */
	.vacancy-print-footer {
		display: block !important;
		margin: 4mm 0 0 !important;
		padding: 0 !important;
		font-size: 8pt !important;
		break-inside: avoid !important;
		page-break-inside: avoid !important;
	}

	.vacancy-print-footer .vacancy-print-rule {
		margin-bottom: 1.8mm !important;
	}

	.vacancy-print-footer-contact p,
	.vacancy-print-url .elementor-heading-title,
	.vacancy-print-url a,
	.vacancy-print-url a::after {
		margin: 0 0 0.8mm !important;
		font-size: 8pt !important;
		line-height: 1.2 !important;
	}

	.vacancy-print-url a::after {
		content: ": " attr(href) !important;
		font-weight: 400 !important;
	}
}

