/* Layout helpers that theme.json cannot express. Keep this file small. */

/* Sticky header with a soft backdrop. */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part {
	top: var(--wp-admin--admin-bar--height, 0px);
}

/* Photos: soft rounded corners like the brand guide mockups. */
.wp-block-image.is-style-rounded img,
.wp-block-image img {
	border-radius: 18px;
}
.wp-block-site-logo img {
	border-radius: 0;
}

/* FAQ (core/details): clear clickable summary. */
.wp-block-details summary {
	cursor: pointer;
	font-weight: 700;
}
.wp-block-details[open] summary {
	margin-bottom: 0.75rem;
}

/* Keyboard focus visible everywhere. */
:where(a, button, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--summer-night);
	outline-offset: 3px;
}

/* Mobile: stacked columns get breathing room. */
@media (max-width: 781px) {
	.wp-block-columns.is-not-stacked-on-mobile > .wp-block-column {
		flex-basis: 100%;
	}
	.wp-block-cover {
		min-height: 70vh !important;
	}
}

/* Coloured sections sit flush against header and footer (no root block gap between them). */
.wp-site-blocks > main,
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* Navigation: dropdown under "Angebote" (desktop). */
.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container,
.wp-block-navigation .wp-block-navigation__submenu-container {
	background-color: var(--wp--preset--color--soft-white) !important;
	color: var(--wp--preset--color--summer-night);
	border: 0;
	border-radius: 16px;
	box-shadow: 0 12px 32px rgba(64, 63, 62, 0.14);
	padding: 0.5rem;
	min-width: 16rem;
	margin-top: 0.5rem;
}

/* Keeps the dropdown open while the pointer crosses the gap. */
.wp-block-navigation .has-child > .wp-block-navigation__submenu-container::before {
	content: "";
	position: absolute;
	inset: -0.5rem 0 auto 0;
	height: 0.5rem;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	border-radius: 10px;
	padding: 0.6rem 0.9rem;
	white-space: nowrap;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible {
	background: var(--wp--preset--color--melted-butter);
}

.wp-block-navigation .wp-block-navigation-item__content:hover {
	text-decoration: underline;
	text-decoration-color: var(--wp--preset--color--juicy-melon);
	text-decoration-thickness: 2px;
	text-underline-offset: 0.3em;
}

.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover {
	text-decoration: none;
}

/* Mobile overlay: the submenu is listed inline, no box. */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	background-color: transparent !important;
	box-shadow: none;
	min-width: 0;
	margin-top: 0;
}

/* Cards in a row: equal height, the button row sits at the bottom of every card. */
.wp-block-column.is-style-card {
	display: flex;
	flex-direction: column;
}

.wp-block-column.is-style-card > .wp-block-buttons:last-child {
	margin-top: auto;
	padding-top: 1.25rem;
}
