/* BASG custom styles */

/* ── Sticky footer ── */
.wp-site-blocks {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background-image:
		radial-gradient(at 5%   8%,  rgb(255, 255, 255) 0px, transparent 50%),
		radial-gradient(at 96%  6%,  rgb(255, 252, 248) 0px, transparent 50%),
		radial-gradient(at 50% 45%,  rgb(247, 247, 247) 0px, transparent 55%),
		radial-gradient(at 7%  90%,  rgb(255, 252, 251) 0px, transparent 50%),
		radial-gradient(at 95% 90%,  rgb(241, 247, 253) 0px, transparent 50%),
		radial-gradient(at 60% 75%,  rgb(248, 231, 249) 0px, transparent 45%),
		linear-gradient(to right, rgb(253, 251, 249), rgba(251, 250, 248, 1));
	background-repeat: no-repeat;
	background-size: cover;
	background-attachment: fixed;
}

/* ── Navigation dropdown (desktop only) ── */
@keyframes basg-dropdown-in {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Ensure header stacks above page content */
header.wp-block-template-part {
	position: relative;
	z-index: 100;
}

@media (min-width: 600px) {
	header .wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		top: calc(100% + 5px);
		left: 0;
		z-index: 9999;
		background: #ffffff;
		border-radius: 10px;
		box-shadow: 0 10px 32px rgba(0, 0, 0, 0.10), 0 2px 8px rgba(0, 0, 0, 0.06);
		border: 1px solid rgba(0, 0, 0, 0.06);
		padding: 6px 0;
		min-width: 210px;
		overflow: hidden;
		animation: basg-dropdown-in 0.18s ease;
	}

	/* Transparent bridge over the 5px gap so hover state doesn't break */
	header .wp-block-navigation .has-child .wp-block-navigation__submenu-container::before {
		content: "";
		position: absolute;
		top: -5px;
		left: 0;
		right: 0;
		height: 5px;
	}

	/* No coloured bars in dropdown */
	header .wp-block-navigation__submenu-container > li.wp-block-navigation-item {
		border-bottom: none !important;
	}

	header .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
		padding: 10px 20px;
		font-size: 0.95rem;
		font-weight: 300;
		display: block;
		transition: background 0.12s ease, color 0.12s ease;
		text-decoration: none !important;
	}

	header .wp-block-navigation__submenu-container li:hover > .wp-block-navigation-item__content {
		background-image:
			radial-gradient(at 5%  8%,  oklch(0.97 0 0) 0px, transparent 50%),
			radial-gradient(at 96% 6%,  oklch(0.99 0 0) 0px, transparent 50%),
			radial-gradient(at 7%  90%, oklch(0.95 0 0) 0px, transparent 50%),
			radial-gradient(at 95% 90%, oklch(0.96 0 0) 0px, transparent 50%),
			linear-gradient(to right, oklch(0.98 0 0), oklch(0.98 0 0));
		background-repeat: no-repeat;
		background-size: cover;
		text-decoration: none;
	}
}


.wp-site-blocks > main {
	flex: 1 0 auto;
}

/* ── Footer background ── */
footer.wp-block-template-part {
	background-image:
		radial-gradient(at 5%   8%,  #eee7d2 0px, transparent 50%),
		radial-gradient(at 96%  6%,  rgb(233, 236, 249) 0px, transparent 50%),
		radial-gradient(at 50% 45%,  rgb(240, 238, 229) 0px, transparent 55%),
		radial-gradient(at 7%  90%,  rgb(240, 218, 210) 0px, transparent 50%),
		radial-gradient(at 95% 90%,  rgba(214, 214, 214, 1) 0px, transparent 50%),
		radial-gradient(at 60% 75%,  oklch(0.93 0.018 68) 0px, transparent 45%),
		linear-gradient(to right, rgb(247, 235, 235), rgb(210, 236, 218));
	background-repeat: no-repeat;
	background-size: cover;
}

.basg-footer-legal {
	background: #fff3;
	padding-top: var(--wp--preset--spacing--30) !important;
	padding-bottom: var(--wp--preset--spacing--30) !important;
}

.basg-footer-legal strong,
.basg-footer-legal b {
	font-weight: 700;
}

/* ── Header navigation ── */
header .wp-block-navigation-item {
	transition: translate 0.18s ease;
}

header .wp-block-navigation-item:hover {
	translate: 0 -3px;
}

header .wp-block-navigation .wp-block-navigation-item__content {
	font-size: 1.15rem;
	text-decoration: none !important;
}

/* Colour-coded bottom bars — colours injected dynamically via wp_head from page meta */
/* Using ::after instead of text-decoration to avoid Safari GPU-compositing thickness bug */
header .wp-block-navigation__container > li.wp-block-navigation-item > .wp-block-navigation-item__content {
	position: relative;
}

header .wp-block-navigation__container > li.wp-block-navigation-item > .wp-block-navigation-item__content::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	right: 0;
	height: 5px;
	background-color: var(--nav-bar-color, transparent);
}

/* ── Header logo focus ring ── */
.wp-block-basg-header-logo a {
	display: inline-block;
}

.wp-block-basg-header-logo img {
	display: block;
}

/* ── Footer Logo 3D effect ── */
figure.basg-logo-3d {
	display: flex;
	justify-content: flex-start;
	width: auto;
	margin: 0 0 2.5rem;
}

figure.basg-logo-3d a {
	perspective: 150px;
	display: block;
}

figure.basg-logo-3d img {
	height: 8rem;
	width: auto;
	max-width: unset;
	transform: rotateY(30deg);
	display: block;
}

/* ── Links page ── */
body.page-id-10 main .wp-block-heading {
	margin-top: 4rem;
	margin-bottom: 1rem;
}

body.page-id-10 main h2:first-of-type {
	margin-top: 2.5rem;
}

main .wp-block-separator {
	margin-top: 5rem;
	border-bottom-width: 3px;
	border-color: currentColor;
	opacity: 0.15;
}

/* ── Block: basg/link-item ── */
.wp-block-basg-link-item {
	display: flex;
	flex-direction: column;
	gap: 3px;
	background: #fffd;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 8px;
}

.wp-block-basg-link-item a {
	text-decoration: none;
	font-size: 1.25rem;
	align-self: start;
}

.wp-block-basg-link-item a strong {
	font-weight: 600;
}

.wp-block-basg-link-item .basg-link-desc {
	font-size: 1.1rem;
	color: #555;
	line-height: 1.5;
}

.wp-block-basg-link-item .basg-link-meta {
	font-size: 1rem;
	color: #999;
}

/* ── Block: basg/faq-item ── */
.wp-block-basg-faq-item {
	background: #fffd;
	border-radius: 10px;
	padding: 14px 20px;
	margin-bottom: 8px;
	list-style: none;
}

.wp-block-basg-faq-item summary {
	position: relative;
	display: block;
	padding-right: 40px;
	font-size: 1.35rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}

.wp-block-basg-faq-item summary::-webkit-details-marker { display: none; }

.wp-block-basg-faq-item summary::after {
	content: "+";
	position: absolute;
	right: 4px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 1.8rem;
	font-weight: 200;
	line-height: 1;
	transition: opacity 0.15s ease;
}

.wp-block-basg-faq-item[open] summary::after {
	content: "−";
}

.wp-block-basg-faq-item p {
	margin-top: 12px;
	font-size: 1.1rem;
	color: #444;
	line-height: 1.7;
}

/* Rotate brand colours on the + icon */
.wp-block-basg-faq-item:nth-child(2)  summary::after { color: #e03e3e; }
.wp-block-basg-faq-item:nth-child(3)  summary::after { color: #ff7a45; }
.wp-block-basg-faq-item:nth-child(4)  summary::after { color: #ffc000; }
.wp-block-basg-faq-item:nth-child(5)  summary::after { color: #00b384; }
.wp-block-basg-faq-item:nth-child(6)  summary::after { color: #007cff; }
.wp-block-basg-faq-item:nth-child(7)  summary::after { color: #9b59b6; }
.wp-block-basg-faq-item:nth-child(8)  summary::after { color: #e03e3e; }
.wp-block-basg-faq-item:nth-child(9)  summary::after { color: #ff7a45; }
.wp-block-basg-faq-item:nth-child(10) summary::after { color: #ffc000; }

/* ── Page title – thick coloured bar (colour set per-page via Seitenfarbe meta) ── */
.wp-block-post-title {
	text-decoration: underline;
	text-decoration-thickness: 8px;
	text-underline-offset: 12px;
}

/* ── Global content styles ── */
main {
	padding-bottom: 5rem;
}

main .wp-block-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 8px;
}

main .wp-block-list li {
	background: #fffd;
	border-radius: 8px;
	padding: 12px 16px;
}

main h2.wp-block-heading {
	margin-top: 2.5rem;
	text-decoration: underline;
	text-decoration-thickness: 5px;
	text-underline-offset: 8px;
	text-align: left;
}

main h1.wp-block-heading {
	text-decoration: underline;
	text-decoration-thickness: 8px;
	text-underline-offset: 12px;
}

/* Rainbow h2 rotation – up to 10 */
main h2:nth-of-type(1)  { text-decoration-color: #e03e3e; }
main h2:nth-of-type(2)  { text-decoration-color: #ff7a45; }
main h2:nth-of-type(3)  { text-decoration-color: #ffc000; }
main h2:nth-of-type(4)  { text-decoration-color: #00b384; }
main h2:nth-of-type(5)  { text-decoration-color: #007cff; }
main h2:nth-of-type(6)  { text-decoration-color: #9b59b6; }
main h2:nth-of-type(7)  { text-decoration-color: #e03e3e; }
main h2:nth-of-type(8)  { text-decoration-color: #ff7a45; }
main h2:nth-of-type(9)  { text-decoration-color: #ffc000; }
main h2:nth-of-type(10) { text-decoration-color: #00b384; }

/* ── h2 colour utility block styles ── */
.is-style-basg-h2-yellow { text-decoration-color: #ffc000 !important; }
.is-style-basg-h2-green  { text-decoration-color: #00b384 !important; }

/* ── Block: basg/schedule ── */
.wp-block-basg-schedule {
	margin-bottom: 1.5rem;
}

.wp-block-basg-schedule table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
	background: #fffd;
	border-radius: 10px;
	overflow: hidden;
	border: none;
}

.wp-block-basg-schedule td,
.wp-block-basg-schedule th,
.wp-block-basg-schedule thead,
.wp-block-basg-schedule tbody,
.wp-block-basg-schedule tr {
	border: none !important;
}

.wp-block-basg-schedule th:first-child,
.wp-block-basg-schedule td:first-child {
	width: 140px;
}

.wp-block-basg-schedule thead th {
	padding: 12px 16px 10px;
	text-align: left;
	font-size: 1.4rem;
	font-weight: 600;
	text-decoration: underline;
	text-decoration-thickness: 5px;
	text-underline-offset: 8px;
	border: none !important;
}

.wp-block-basg-schedule:nth-of-type(6n+1) thead th { text-decoration-color: #e03e3e; }
.wp-block-basg-schedule:nth-of-type(6n+2) thead th { text-decoration-color: #ff7a45; }
.wp-block-basg-schedule:nth-of-type(6n+3) thead th { text-decoration-color: #ffc000; }
.wp-block-basg-schedule:nth-of-type(6n+4) thead th { text-decoration-color: #00b384; }
.wp-block-basg-schedule:nth-of-type(6n+5) thead th { text-decoration-color: #007cff; }
.wp-block-basg-schedule:nth-of-type(6n+6) thead th { text-decoration-color: #9b59b6; }

.wp-block-basg-schedule tbody td {
	padding: 9px 16px;
	vertical-align: top;
}

.wp-block-basg-schedule tbody tr:last-child td {
	padding-bottom: 20px;
}

@media (max-width: 599px) {
	.wp-block-basg-schedule {
		margin-left: -.6rem !important;
		margin-right: -.6rem !important;
	}

	.wp-block-basg-schedule th:first-child,
	.wp-block-basg-schedule td:first-child {
		width: 110px;
	}

	.wp-block-basg-schedule thead th {
		padding: 10px 12px 8px;
		font-size: 1.2rem;
	}

	.wp-block-basg-schedule tbody td {
		padding: 7px 12px;
	}

	.wp-block-basg-schedule tbody tr:last-child td {
		padding-bottom: 14px;
	}
}

/* ── Block: basg/talk-item ── */
.wp-block-basg-talk-item {
	display: flex;
	flex-direction: column;
	gap: 3px;
	background: #fffd;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 8px;
}

.wp-block-basg-talk-item .basg-talk-meta {
	font-size: 1.38rem;
	font-weight: 300;
	line-height: 1.5;
}

.wp-block-basg-talk-item .basg-talk-sep {
	font-size: 1.4em;
	font-weight: 700;
	line-height: 1;
}

.wp-block-basg-talk-item:nth-child(6n+1) .basg-talk-sep { color: #e03e3e; }
.wp-block-basg-talk-item:nth-child(6n+2) .basg-talk-sep { color: #ff7a45; }
.wp-block-basg-talk-item:nth-child(6n+3) .basg-talk-sep { color: #ffc000; }
.wp-block-basg-talk-item:nth-child(6n+4) .basg-talk-sep { color: #00b384; }
.wp-block-basg-talk-item:nth-child(6n+5) .basg-talk-sep { color: #007cff; }
.wp-block-basg-talk-item:nth-child(6n+6) .basg-talk-sep { color: #9b59b6; }

.wp-block-basg-talk-item .basg-talk-title {
	font-size: 1.15rem;
	font-weight: 600;
	line-height: 1.5;
}

/* ── Block: basg/simple-list ── */
.wp-block-basg-simple-list {
	list-style: none;
	padding: 0;
	margin: 0;
	margin-top: 2rem;
}

.wp-block-basg-simple-list li {
	background: #fffd;
	border-radius: 8px;
	padding: 12px 16px;
	margin-bottom: 8px;
	font-size: 1.38rem;
	font-weight: 300;
	line-height: 1.5;
}

/* Anfahrt/Anmeldung h2 colours match global rotation – no overrides needed */

/* ── Block: basg/quick-links ── */
.wp-block-basg-quick-links {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	gap: 8px;
	margin-top: 2rem;
}

.wp-block-basg-quick-links li {
	background: #fffd;
	border-radius: 8px;
	transition: translate 0.18s ease, box-shadow 0.18s ease;
}

.wp-block-basg-quick-links li:hover {
	translate: 0 -3px;
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.08);
}

.wp-block-basg-quick-links li a {
	display: block;
	padding: 12px 16px;
	text-decoration: none;
	font-weight: 600;
	font-size: 1.38rem;
}



/* ── Breadcrumbs ── */
.wp-block-breadcrumbs {
	font-size: 1.4rem;
	opacity: 0.6;
	margin-bottom: 2em;
}

.wp-block-breadcrumbs ol {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0 0.3em;
	align-items: center;
}

.wp-block-breadcrumbs a {
	text-decoration: none;
}

.wp-block-breadcrumbs a:hover {
	text-decoration: none;
}

/* Replace "Home" text with house icon on the first breadcrumb */
.wp-block-breadcrumbs ol li:first-child a {
	font-size: 0;
}

.wp-block-breadcrumbs ol li:first-child a::before {
	content: "⌂";
	font-size: 2.4rem;
	line-height: 1.4rem;
	margin-right: 0.4rem;
}

/* (topic-item removed — replaced by basg/simple-list) */

