/* Berliner Gruppe – small additions to theme.json. */

html { scroll-behavior: smooth; -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* Header -------------------------------------------------------------- */
.bg-header { background: var(--wp--preset--color--base); }
.bg-brand {
	display: inline-flex; align-items: center; gap: 10px; color: var(--wp--preset--color--ink); text-decoration: none;
	font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 18px; letter-spacing: -0.01em;
	min-height: 44px;
}
.bg-brand:hover { color: var(--wp--preset--color--ink); }
.bg-nav .wp-block-navigation-item__content { padding: 10px 12px; border-radius: 8px; }
.bg-nav .wp-block-navigation-item__content:hover { background: #eef0f3; }
.bg-nav .current-menu-item > .wp-block-navigation-item__content,
.bg-nav .wp-block-navigation-item__content[aria-current="page"] { background: #eef0f3; font-weight: 600; }
.bg-nav .wp-block-navigation__responsive-container-open,
.bg-nav .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; justify-content: center; align-items: center; }
.bg-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 24px; background: var(--wp--preset--color--base); }
.bg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 22px; padding: 12px 0; }
@media (max-width: 600px) {
	.bg-header > .alignwide { flex-wrap: nowrap !important; gap: 8px !important; }
	.bg-brand { font-size: 16px; gap: 8px; }
	.bg-brand svg { width: 24px; height: 24px; }
	.bg-header .bg-btn { min-height: 40px; padding: 0 14px; font-size: 13px; }
}
.bg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { align-items: flex-start; }
.bg-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { align-items: flex-start; }

/* Footer -------------------------------------------------------------- */
.bg-footnav .wp-block-navigation-item__content { color: #2a2f37; }
.bg-footnav .wp-block-navigation-item__content:hover { text-decoration: underline; text-underline-offset: 3px; }
.bg-footer p { margin: 0; }

/* Type helpers -------------------------------------------------------- */
.bg-eyebrow {
	margin: 0 !important; font-family: var(--wp--preset--font-family--mono); font-size: 13px; letter-spacing: .06em;
	text-transform: uppercase; color: var(--wp--preset--color--accent);
}
.bg-eyebrow--light { color: var(--wp--preset--color--accent-light); }
.bg-lead { font-size: clamp(18px, 1.6vw, 20px); line-height: 1.6; color: #4a505a; max-width: 640px; }
.bg-crumb a { text-decoration: none; font-weight: 500; }
.bg-crumb a:hover { text-decoration: underline; text-underline-offset: 3px; }

/* Buttons ------------------------------------------------------------- */
.wp-block-button.is-style-outline > .wp-block-button__link {
	border: 1px solid #d5d8dd; color: var(--wp--preset--color--ink); background: transparent; padding: 12px 21px;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: var(--wp--preset--color--ink); background: transparent; color: var(--wp--preset--color--ink); }
.bg-btn-arrow .wp-block-button__link::after {
	content: ""; display: inline-block; width: 16px; height: 16px; margin-left: 10px; vertical-align: -3px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8h10M9 4l4 4-4 4' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}
.has-accent-background-color.wp-block-button__link:hover { background-color: var(--wp--preset--color--accent-dark) !important; }
.has-surface-background-color.wp-block-button__link:hover { background-color: #e6e7ea !important; color: var(--wp--preset--color--ink) !important; }

/* Homepage ------------------------------------------------------------ */
.bg-hero h1 { margin-top: 24px; }
.bg-hero .bg-lead { margin-top: 28px; }
.bg-band h2 { margin-top: 20px; }
.bg-band .bg-teaser-topics { margin-top: 32px; max-width: 600px; }

.bg-principle { background: var(--wp--preset--color--surface); border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 28px; }
.bg-principle h3 { margin: 40px 0 10px; font-size: 22px; letter-spacing: -0.01em; }
.bg-principle p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--wp--preset--color--muted); }
.bg-principle .bg-principle__n { font-family: var(--wp--preset--font-family--mono); font-size: 13px; color: var(--wp--preset--color--accent); }

/* Publications list --------------------------------------------------- */
.bg-pubs { margin-top: 48px; }
.bg-pubs__list { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--wp--preset--color--ink); }
.bg-pubs__list > li { border-bottom: 1px solid var(--wp--preset--color--line); margin: 0; }
.bg-pub { padding: 28px 0; gap: 8px 32px !important; }
.bg-pub__year { flex: 0 0 72px; font-family: var(--wp--preset--font-family--mono); font-size: 14px; color: var(--wp--preset--color--muted); padding-top: 4px; }
.bg-pub__main { flex: 999 1 420px; min-width: 0; }
.bg-pub__title { margin: 0; font-size: clamp(20px, 2vw, 24px); letter-spacing: -0.015em; }
.bg-pub__title a { text-decoration: none; }
.bg-pub__title a:hover { text-decoration: underline; text-underline-offset: 4px; }
.bg-pub__teaser { margin-top: 8px; }
.bg-pub__teaser p { margin: 0; font-size: 15px; line-height: 1.55; color: var(--wp--preset--color--muted); }
.bg-pub__teaser .wp-block-post-excerpt__more-text { display: none; }
.bg-pub__meta { flex: 1 1 220px; font-size: 14px; color: #2a2f37; }
.bg-pub__meta p, .bg-pub-meta p { margin: 0; }
.bg-pub__cite { font-family: var(--wp--preset--font-family--mono); font-size: 13px; color: var(--wp--preset--color--muted); }
.bg-pub__authors:empty, .bg-pub__cite:empty, .bg-pub-meta p:empty { display: none; }
.bg-pub-source:has(a:not([href])), .bg-pub-source:has(a[href=""]) { display: none; }

/* Project page -------------------------------------------------------- */
.bg-project-title { margin: 0; }
.bg-project-lead p { margin: 0; font-size: clamp(19px, 2vw, 24px); line-height: 1.45; color: #2a2f37; max-width: 780px; }
.bg-project-content { font-size: 18px; line-height: 1.7; color: #2a2f37; }
.bg-project-content > * + * { margin-top: 20px; }

/* Long-form content --------------------------------------------------- */
.bg-post-content h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 48px; }
.bg-post-content h3 { font-size: var(--wp--preset--font-size--large); margin-top: 32px; }
.bg-post-content h4 { font-size: var(--wp--preset--font-size--medium); margin-top: 24px; }
.bg-post-content ul, .bg-post-content ol { padding-left: 1.2em; }
