/* MW Folientechnik – site-specific additions on top of the Canvas template */

/* Logos (SVG). The template forces #logo img to the header height (100px, 60px sticky);
   a fixed width with object-fit keeps the wide logo readable at both heights. */
#logo img {
	width: 230px;
	max-width: 100%;
	object-fit: contain;
}

#footer .footer-logo {
	display: block;
	width: 150px;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

/* Hero logo with a soft white glow on hover (both shadows exist at rest so the filter can interpolate) */
.hero-logo-wrap { text-align: center; }
.hero-logo {
	display: inline-block;
	width: clamp(220px, 38vw, 460px);
	height: auto;
	filter: drop-shadow(0 0 0 rgba(255, 255, 255, 0)) drop-shadow(0 0 0 rgba(255, 255, 255, 0));
	transition: filter .9s cubic-bezier(.22, 1, .36, 1);
}
.hero-logo:hover {
	filter: drop-shadow(0 0 10px rgba(255, 255, 255, .85)) drop-shadow(0 0 34px rgba(255, 255, 255, .45));
}

/* Skip link: hidden until focused with the keyboard */
.skip-link {
	position: absolute;
	left: 16px;
	top: -60px;
	z-index: 1000;
	padding: 12px 18px;
	background: #007eff;
	color: #fff;
	font-weight: 600;
	border-radius: 0 0 6px 6px;
	transition: top .15s;
}
.skip-link:focus { top: 0; color: #fff; outline: 3px solid #0a1145; }

/* Contact line under the hero (was an h3 inside <center>) */
.promo-contact {
	margin: 0;
	text-align: center;
	font-family: 'Source Sans Pro', sans-serif;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.5;
	color: #333;
}
.promo-contact a { color: #007eff; }
.promo-contact a:hover { text-decoration: underline; }

/* Impressum popup */
.legal-dialog {
	width: min(92vw, 520px);
	max-height: 90vh;
	padding: 36px 32px 28px;
	border: 0;
	border-top: 5px solid #007eff;
	border-radius: 6px;
	background: #fff;
	color: #333;
	box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
	font-size: 16px;
	line-height: 1.6;
}
.legal-dialog::backdrop { background: rgba(10, 20, 35, .7); }
.legal-dialog[open] { animation: legal-in .2s ease-out; }
@keyframes legal-in { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: none; } }

.legal-dialog h2 { margin: 0 0 2px; font-size: 26px; color: #007eff; }
.legal-dialog h3 { margin: 22px 0 6px; font-size: 15px; letter-spacing: 1px; text-transform: uppercase; color: #555; }
.legal-dialog p { margin: 0 0 12px; }
.legal-dialog a { color: #0063c7; }
.legal-dialog-sub { color: #777; font-size: 14px; }
.legal-dialog-note { margin-top: 20px !important; padding: 10px 14px; background: #eef6ff; border-radius: 4px; font-weight: 600; }

.legal-dialog-long { width: min(92vw, 680px); }
.legal-dialog-long p { font-size: 15px; }
.legal-dialog-more { margin: 18px 0 0 !important; font-size: 14px; }

.legal-dialog-close {
	position: absolute;
	top: 8px;
	right: 10px;
	width: 44px;
	height: 44px;
	border: 0;
	background: none;
	color: #777;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
}
.legal-dialog-close:hover { color: #007eff; }
.legal-dialog-close:focus-visible { outline: 3px solid rgba(0, 126, 255, .4); border-radius: 4px; }

#footer .footer-legal-link { color: inherit; }
#footer .footer-legal-link:hover { color: #007eff; }

@media (max-width: 480px) {
	.legal-dialog { padding: 32px 20px 22px; }
}

@media (prefers-reduced-motion: reduce) {
	.legal-dialog[open] { animation: none; }
	.hero-logo { transition: none; }
}

/* 404 page */
.not-found { padding: 60px 0 40px; }
.not-found-code { margin: 0; font-family: 'Source Sans Pro', sans-serif; font-size: 120px; font-weight: 700; line-height: 1; color: #007eff; }
.not-found h1 { margin: 10px 0 12px; }
.not-found .button { margin: 6px; }

/* Long legal text: keep the close button reachable while scrolling */
.legal-dialog-long .legal-dialog-close { position: sticky; top: -20px; float: right; margin: -26px -18px 0 0; background: #fff; border-radius: 50%; }

/* Print: content only */
@media print {
	#header, #gotoTop, .one-page-arrow, .skip-link, .legal-dialog { display: none !important; }
	#slider { height: auto !important; min-height: 0 !important; }
	a[href^="http"]::after { content: " (" attr(href) ")"; font-size: 90%; }
	body { color: #000; background: #fff; }
}
