/* Small live refinements that intentionally sit after the generated Elementor bridge. */

/* WordPress reserves this space for the authenticated admin bar. */
html:has(body.admin-bar.bw-web-stage) {
	margin-top: 32px !important;
}

@media (max-width: 782px) {
	html:has(body.admin-bar.bw-web-stage) {
		margin-top: 46px !important;
	}
}

/*
 * This installation adds enough admin-toolbar items to wrap onto a second
 * line on narrower notebooks and tablets. Reserve the measured 64 pixels so
 * the public site header never sits underneath that second row.
 */
@media (min-width: 783px) and (max-width: 1319px) {
	html:has(body.admin-bar.bw-web-stage) {
		margin-top: 64px !important;
	}

	body.admin-bar.bw-web-stage .site-header {
		top: 64px !important;
	}
}

/* Keep every wooden navigation sign visible on ordinary notebook widths. */
@media (min-width: 1121px) and (max-width: 1450px) {
	html body.bw-web-stage .bw-native-elementor .site-header .header-inner {
		width: min(1460px, 100% - 24px) !important;
		gap: 9px !important;
	}

	html body.bw-web-stage .bw-native-elementor .site-header .desktop-nav {
		--gap: 3px !important;
		--row-gap: 3px !important;
		--column-gap: 3px !important;
		gap: 3px !important;
	}

	html body.bw-web-stage .bw-native-elementor .site-header .desktop-nav > a,
	html body.bw-web-stage .bw-native-elementor .site-header .discover-menu > .bw-native-summary {
		min-height: 40px !important;
		gap: 5px !important;
		padding-inline: 8px !important;
		font-size: .68rem !important;
	}

	html body.bw-web-stage .bw-native-elementor .site-header .desktop-nav > .nav-request {
		min-height: 40px !important;
		margin-left: 0 !important;
		padding-inline: 9px !important;
	}

	html body.bw-web-stage .bw-native-elementor .site-header .desktop-nav > a::after,
	html body.bw-web-stage .bw-native-elementor .site-header .discover-menu > .bw-native-summary::after {
		width: 13px !important;
		height: 13px !important;
		flex-basis: 13px !important;
	}
}

/* Large Blickwinkel lockup in place of the former question on the home hero. */
@media (min-width: 821px) {
	html body.bw-web-stage .bw-native-elementor
		.bw-native-home-hero.bw-home-slider > .home-hero-content.page-shell {
		padding-bottom: clamp(150px, 18vh, 210px) !important;
	}
}

html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand {
	display: inline-flex;
	align-items: center;
	gap: clamp(18px, 2.5vw, 34px);
	max-width: 100%;
	color: var(--cream);
	text-transform: uppercase;
}

html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand > img {
	width: clamp(88px, 10vw, 148px) !important;
	height: clamp(88px, 10vw, 148px) !important;
	flex: 0 0 auto;
	border-radius: 24px;
	filter: drop-shadow(0 18px 32px rgba(0, 0, 0, .34));
}

html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand > span {
	display: flex;
	min-width: 0;
	flex-direction: column;
	align-items: flex-start;
	line-height: .86;
}

html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand strong {
	font-size: clamp(3.3rem, 7.1vw, 7.5rem);
	font-weight: 760;
	letter-spacing: -.065em;
}

html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand small {
	margin-top: clamp(12px, 1.5vw, 22px);
	color: var(--copper-light);
	font-family: var(--font-geist-mono), monospace;
	font-size: clamp(.9rem, 1.6vw, 1.55rem);
	font-weight: 680;
	letter-spacing: .28em;
	line-height: 1;
}

html body.bw-web-stage .bw-native-elementor .bw-home-social-heading__subline {
	display: block;
	margin-top: .28em;
	color: var(--cream-dim);
	font-size: .53em;
	font-weight: 520;
	letter-spacing: -.025em;
	line-height: 1.08;
}

/* The four requested date shortcuts remain visible above the detailed filter. */
html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 0 0 22px;
}

html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters a {
	display: inline-flex;
	min-height: 42px;
	align-items: center;
	justify-content: center;
	padding: 9px 16px;
	border: 1px solid var(--line);
	border-radius: 999px;
	color: var(--cream-dim);
	background: rgba(255, 255, 255, .025);
	font-size: .72rem;
	font-weight: 680;
	transition: color .18s ease, border-color .18s ease, background .18s ease, transform .18s ease;
}

html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters a:hover,
html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters a:focus-visible,
html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters a.is-active {
	border-color: var(--copper);
	color: #fff;
	background: var(--copper);
	transform: translateY(-1px);
}

@media (max-width: 720px) {
	html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand {
		gap: 14px;
	}

	html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand > img {
		width: clamp(66px, 20vw, 92px) !important;
		height: clamp(66px, 20vw, 92px) !important;
		border-radius: 18px;
	}

	html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand strong {
		font-size: clamp(2rem, 10.7vw, 3.55rem);
	}

	html body.bw-web-stage .bw-native-elementor .bw-home-hero-brand small {
		margin-top: 8px;
		font-size: clamp(.62rem, 3.1vw, .9rem);
		letter-spacing: .2em;
	}

	html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters a {
		padding-inline: 10px;
		text-align: center;
	}
}

@media (max-width: 420px) {
	html body.bw-web-stage .bw-native-elementor .bw-event-quickfilters {
		grid-template-columns: 1fr;
	}
}
