@media print {
	/* ── Page Setup (DIN A4: 210mm × 297mm) ── */
	@page {
		size: A4 portrait;
		margin: 20mm 15mm 25mm 15mm;
	}

	@page :first {
		margin-top: 10mm;
	}

	style:not([src]) {
		display: none !important;
	}

	/* ── Reset & Base ── */
	*,
	*::before,
	*::after {
		background: transparent !important;
		color: #000 !important;
		box-shadow: none !important;
		text-shadow: none !important;
		position: relative !important;
		inset: auto !important;
	}

	html {
		font-size: 9pt;
		line-height: 1.4;
	}

	body {
		width: 100%;
		margin: 0;
		padding: 0;
		
	}

	/* ── Typography ── */
	h1,
	h2,
	h3,
	h4,
	h5,
	h6 {
		
		page-break-after: avoid;
		break-after: avoid;
		line-height: 1.2;
	}

	h1 {
		font-size: 22pt;	
	}
	h2 {
		font-size: 18pt;
	}
	h3 {
		font-size: 14pt;
	}
	h4 {
		font-size: 12pt;
	}
	h5,
	h6 {
		font-size: 10pt;
	}

	p,
	ul,
	ol,
	blockquote,
	table,
	figure {
		page-break-inside: avoid;
		break-inside: avoid;
		orphans: 3;
		widows: 3;
	}

	/* ── Links ── */
	a,
	a:visited {
		text-decoration: underline;
		color: #000 !important;
		font-weight: normal !important;
		vertical-align: baseline !important;
	}

	a strong {
		font-weight: inherit !important;
	}

	a[href^="/"]::after,
	a[href^="http"]::after {
		font-size: 7pt;
		font-weight: normal;
		word-break: break-all;
		display: block;
		break-inside: avoid;
		line-height: 1.2;
		text-transform: none;
	}

	a[href^="http"]::after {
		content: " (" attr(href) ")";
	}

	a[href^="#"],
	a[href^="javascript:"] {
		display: none !important;
	}

	/* ── Hide security links ── */
	a[href^="/Security" i],
	a[href^="Security" i] {
		display: none !important;
	}

	/* ── Images ── */
	img {
		max-width: 100% !important;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* ── Lazy-loaded images (lazysizes) ── */
	img.lazyload,
	img.lazyloading,
	img[data-src] {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* ── Tables ── */
	table {
		border-collapse: collapse;
		width: 100%;
	}

	th,
	td {
		border: 1px solid #ccc;
		padding: 6pt 8pt;
		text-align: left;
		vertical-align: top;
	}

	thead {
		display: table-header-group;
	}

	tr {
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* ── Pre / Code ── */
	pre,
	code {
		font-family: "Courier New", monospace;
		font-size: 10pt;
		border: 1px solid #ccc;
		padding: 2pt 4pt;
	}

	pre {
		white-space: pre-wrap;
		word-wrap: break-word;
		padding: 8pt;
		page-break-inside: avoid;
		break-inside: avoid;
	}

	/* ── Blockquote ── */
	blockquote {
		border-left: 3pt solid #999;
		margin-left: 0;
		padding-left: 12pt;
		font-style: italic;
	}

	/* ── Hide non-print elements ── */
	nav,
	aside,
	footer,
	.no-print,
	video,
	audio,
	iframe,
	form,
	button,
	input,
	select,
	textarea {
		display: none !important;
	}

	/* ── Container ── */
	.container {
		max-width: 100% !important;
		padding: 0 !important;
	}

	/* ── ScreenReader, but show the SEO Headline ── */
	.sr-only-focusable,
	.sr-only {
		display: none !important;
	}
	main > h1.sr-only-focusable,
	main > h1.sr-only,
	main > h1.sr-only-focusable:not(:focus):not(:focus-within) {
		display: block !important;

		border: 0 !important;
		clip: auto !important;
		height: auto !important;
		margin: 0 !important;
		overflow: visible !important;
		padding: 0 !important;
		position: relative !important;
		white-space: normal !important;
		width: auto !important;
	}

	/* ── Utility classes ── */
	.print-only {
		display: block !important;
	}

	.print-hidden {
		display: none !important;
	}

	.page-break-before {
		page-break-before: always;
		break-before: page;
	}

	.page-break-after {
		page-break-after: always;
		break-after: page;
	}

	/* ── Accordions / Collapsibles (force open) ── */
	details {
		display: block !important;
	}

	details > summary {
		list-style: none;
	}

	details > summary::marker,
	details > summary::-webkit-details-marker,
	.accordion-heading .accordion-trigger::before,
	.accordion-heading .accordion-trigger::after {
		display: none !important;
	}

	[aria-expanded],
	[data-toggle],
	.accordion-toggle,
	.collapse-toggle {
		cursor: default;
	}

	.collapse,
	.accordion-body,
	.accordion-content,
	.accordion-content[aria-hidden="true"],
	.accordion-panel,
	.accordion-heading .accordion-trigger {
		display: block !important;
		height: auto !important;
		max-height: none !important;
		overflow: visible !important;
		visibility: visible !important;
		opacity: 1 !important;
	}

	/* ── Swiper ── */
	.swiper-button-prev,
	.swiper-button-next,
	.swiper-pagination {
		display: none !important;
	}
	.swiper-wrapper {
		transform: none !important;
		display: flex !important;
		flex-wrap: wrap !important;
	}
	.swiper-slide {
		flex: 0 0 auto !important; 
		width: 33.333333% !important;
		padding: 15px !important;
		margin: 0 !important;
		opacity: 1 !important;
	}


	/* ── Project specific ── */
	/* ── Project specific ── */
	/* ── Project specific ── */


	/* ── Media Queries does not work as expected so define the required classes ── */
	.col-md-1  { flex: 0 0 auto; width:  8.333333%; }
	.col-md-2  { flex: 0 0 auto; width: 16.666667%; }
	.col-md-3  { flex: 0 0 auto; width: 25%; }
	.col-md-4  { flex: 0 0 auto; width: 33.333333%; }
	.col-md-5  { flex: 0 0 auto; width: 41.666667%; }
	.col-md-6  { flex: 0 0 auto; width: 50%; }
	.col-md-7  { flex: 0 0 auto; width: 58.333333%; }
	.col-md-8  { flex: 0 0 auto; width: 66.666667%; }
	.col-md-9  { flex: 0 0 auto; width: 75%; }
	.col-md-10 { flex: 0 0 auto; width: 83.333333%; }
	.col-md-11 { flex: 0 0 auto; width: 91.666667%; }
	.col-md-12 { flex: 0 0 auto; width: 100%; }
	 
	.col-lg-1  { flex: 0 0 auto; width:  8.333333%; }
	.col-lg-2  { flex: 0 0 auto; width: 16.666667%; }
	.col-lg-3  { flex: 0 0 auto; width: 25%; }
	.col-lg-4  { flex: 0 0 auto; width: 33.333333%; }
	.col-lg-5  { flex: 0 0 auto; width: 41.666667%; }
	.col-lg-6  { flex: 0 0 auto; width: 50%; }
	.col-lg-7  { flex: 0 0 auto; width: 58.333333%; }
	.col-lg-8  { flex: 0 0 auto; width: 66.666667%; }
	.col-lg-9  { flex: 0 0 auto; width: 75%; }
	.col-lg-10 { flex: 0 0 auto; width: 83.333333%; }
	.col-lg-11 { flex: 0 0 auto; width: 91.666667%; }
	.col-lg-12 { flex: 0 0 auto; width: 100%; }

	/* ── Internal links handling. Choose one option ── */

		/* ── Hide internal links ── */
		/*
		a[href^="/"] {
			display: none !important;
		}
		*/
		/* ── or hardcode the URL ── */
		a[href^="/"]::after {
			content: " (https://voelklinger-huette.de" attr(href) ")";
		}

	/* ── Hide project specific elements ── */
	.banner--header-message,
	.socialmedia-box,
	.header-search,
	.header-menu,
	.header-slang,
	.header-lang,
	.header-vnav,
	.inpage-navigation,
	.block-anchor-helper,
	.block:has(.exhibition-teaser-filter),
	.hero,
	.overview-form,
	.embed-responsive:has(.cookie-wall-3rdparty-content),
	#CybotCookiebotDialog,
	.newsletter-box,
	.map,
	.block:has(> form:first-child:last-child),
	.badge,
	.page-back {
		display: none !important;
	}

	.header-inner {
		padding: 20px 0 !important;
	}
	.header-logo > a::after {
		display: none !important;
	}
	.header-logo img {
		height: auto !important;
		width: 240px !important;
	}

	/* ── EntryFees table ── */
	table.table-entry-fees tr td,
	table.table-entry-fees tr th {
		border: 1px solid #ccc !important;
		padding: 6pt 8pt !important;
		text-align: left !important;
		vertical-align: top !important;
	}

	.contact-person {
		break-inside: avoid;
	}

	.exhibition-teaser.exhibition-teaser--v-overlay {
		display: block !important;
	}

	a.button {
		text-decoration: none !important;
		flex-direction: column !important;
	}

	.swiper-container--singleslides .swiper-slide,
	.swiper-container--timeline .swiper-slide {
		width: 50% !important;
	}
}
