/*
Theme Name: manufakt Child Theme
Theme URI: https://rush.example/
Author: Rush
Author URI: https://rush.example/
Description: Client child theme for Rush Bedrock. Override brand tokens in theme.json; optional client patterns in patterns/. Parent rush-theme is updated independently.
Version: 1.4.64
Template: rush-theme
Requires at least: 6.7
Tested up to: 7.0
Requires PHP: 8.1
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: rush-child
Tags: full-site-editing, block-patterns
*/

/*
 * Brand / client-only CSS — tokens from Bättig manufakt DS (Website.dc.html).
 */

html {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Nav height must live on :root — parent --rush-header-offset uses it for main padding. */
:root {
	--rush-nav-h: calc(clamp(56px, 6vw, 70px) + 32px);
	/* Design: the content area opens with this much air under the nav. */
	--manufakt-content-top: clamp(16px, 2.2vw, 28px);
	/* Shared subpage hero locks (page-intro + Kontakt). */
	--manufakt-subpage-hero-pad-top: 90px;
	--manufakt-subpage-eyebrow-size: 23px;
	--manufakt-subpage-eyebrow-mb: 16px;
	--manufakt-subpage-h1-size: clamp(36px, 4vw, 60px);
	--manufakt-subpage-h1-mb: 18px;
	--manufakt-icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%23000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/*
 * Anchor links glide instead of jumping, and their target clears the fixed
 * header. :where() keeps this at zero specificity so any block can still set
 * its own offset.
 */
@media (prefers-reduced-motion: no-preference) {
	html {
		scroll-behavior: smooth;
	}
}

:where([id]) {
	scroll-margin-top: calc(var(--rush-nav-h) + var(--wp--preset--spacing--40));
}

/*
 * Header, main and footer are siblings in the flow layout, so each picks up the
 * 24px root block gap. The design has them flush — the gap showed as a paper
 * seam above the sand footer.
 */
.wp-site-blocks > main,
.wp-site-blocks > footer {
	margin-block-start: 0;
}

/* —— Fixed header (agency default; design chrome only) —— */
.rush-site-header--manufakt.site-header {
	position: fixed;
	inset: 0 0 auto;
	/* border-box so the rendered height equals --rush-nav-h — the parent turns that
	 * token into main's padding-top, and the 1px border would otherwise offset it. */
	box-sizing: border-box;
	height: var(--rush-nav-h);
	background: rgba(250, 249, 247, 0.94);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(18, 18, 18, 0.1);
	z-index: 50;
	transform: none !important; /* no scroll-hide */
}

.rush-site-header--manufakt.site-header.nav-up,
.rush-site-header--manufakt.site-header.nav-down {
	transform: none !important;
}

/*
 * The nav must line up with the content below it. Sections are alignfull with a
 * gutter and a wide-size inner container, so their content box is
 * min(viewport − 2×gutter, wide-size) — the header only matches that if its
 * max-width carries the gutter too. box-sizing, or max-width + gutter add up
 * past the viewport and clip the CTA.
 */
.rush-site-header--manufakt .rush-header__container.container {
	box-sizing: border-box;
	padding-block: 16px;
	max-width: calc(var(--wp--style--global--wide-size, 1440px) + 2 * var(--wp--custom--spacing--fluid-gutter));
	padding-inline: var(--wp--custom--spacing--fluid-gutter);
}

.rush-site-header--manufakt .header--grid.header,
.rush-site-header--manufakt .header {
	height: auto;
	min-height: 0;
	background: transparent;
	background-color: transparent;
}

@media (min-width: 64rem) {
	.rush-site-header--manufakt .header--grid {
		grid-template-columns: auto 1fr auto;
		gap: clamp(16px, 2.8vw, 40px);
	}
}

/* —— Brand logo —— */
.rush-site-header--manufakt .header-left .brand {
	width: auto;
	max-width: min(100%, 14rem);
}

.rush-site-header--manufakt .header-left .brand svg.rush-brand-logo,
.rush-site-footer--manufakt .rush-site-footer__logo .rush-brand-logo {
	display: block;
	width: auto;
	height: clamp(56px, 6vw, 70px);
	max-height: none;
	color: var(--wp--preset--color--contrast, #121212);
}

.rush-site-footer--manufakt .rush-site-footer__logo .rush-brand-logo {
	height: 72px;
}

/* —— Primary nav (15px / 500 / .02em) —— */
.rush-site-header--manufakt .header ul.menu {
	justify-content: center;
	flex-wrap: wrap;
	gap: 4px clamp(0px, 0.4vw, 6px);
	white-space: nowrap;
}

.rush-site-header--manufakt .header ul.menu > .menu-item + .menu-item {
	margin-left: 0;
}

.rush-site-header--manufakt .header ul.menu > li > a {
	padding: 11px clamp(10px, 1.1vw, 20px);
	border-radius: 9999px;
	font-family: var(--wp--preset--font-family--geist);
	font-size: 15px;
	font-weight: 500;
	letter-spacing: 0.02em;
	line-height: 1.25;
	color: var(--wp--preset--color--contrast, #121212);
}

.rush-site-header--manufakt .header ul.menu > li > a:hover,
.rush-site-header--manufakt .header ul.menu > li.current-menu-item > a,
.rush-site-header--manufakt .header ul.menu > li.current-menu-parent > a {
	background: var(--wp--preset--color--muted, #e8e3da);
}

/* —— Actions: lang + Kontakt —— */
.rush-site-header--manufakt .rush-header__actions {
	gap: 8px;
}

.rush-site-header--manufakt .rush-header__cta--desktop {
	display: none;
	padding: 11px 24px !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	line-height: 1.25;
	border-radius: 9999px !important;
	white-space: nowrap;
	background: var(--wp--preset--color--contrast, #121212) !important;
	color: var(--wp--preset--color--base, #faf9f7) !important;
	border: none !important;
	text-decoration: none;
}

.rush-site-header--manufakt .rush-header__cta--desktop:hover {
	background: var(--wp--preset--color--primary-dark, #3a3733) !important;
	color: var(--wp--preset--color--base, #faf9f7) !important;
}

@media (min-width: 48rem) {
	.rush-site-header--manufakt .rush-header__cta--desktop {
		display: inline-flex;
		align-items: center;
	}
}

/*
 * The drawer is position:fixed inside a header that has backdrop-filter, so
 * it is positioned against the header — not the viewport. 100vw plus the
 * 2.5rem inner padding + button padding made the Kontakt CTA wider than the
 * screen. Stretch to the header edges and keep the button inside the box.
 */
.rush-site-header--manufakt .header-mobile-content {
	left: 0;
	right: 0;
	width: auto;
	max-width: none;
	box-sizing: border-box;
}

.rush-site-header--manufakt .mobile--inner--wrapper {
	box-sizing: border-box;
	max-width: 100%;
}

.rush-site-header--manufakt .rush-header__cta--mobile {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.manufakt-lang-switcher {
	position: relative;
	display: none;
}

@media (min-width: 48rem) {
	.manufakt-lang-switcher {
		display: block;
	}
}

/* Toggle carries the language code (design), the panel the native names. */
.manufakt-lang-switcher__toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 9px 14px;
	border: 0;
	border-radius: var(--wp--custom--radius--full);
	background: transparent;
	font-family: inherit;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.06em;
	line-height: 1;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
	cursor: pointer;
}

.manufakt-lang-switcher__toggle:hover,
.manufakt-lang-switcher__toggle[aria-expanded="true"] {
	background: var(--wp--preset--color--muted);
}

.manufakt-lang-switcher__toggle::after {
	content: "";
	display: block;
	flex: none;
	width: 10px;
	height: 6px;
	background-color: currentColor;
	-webkit-mask: var(--manufakt-icon-chevron) no-repeat center / contain;
	mask: var(--manufakt-icon-chevron) no-repeat center / contain;
}

/* The design keeps the chevron pointing down while the panel is open — no flip. */

/* Panel hangs off the right edge of the toggle, or it would slide under the CTA. */
.manufakt-lang-switcher__menu {
	position: absolute;
	top: calc(100% + 8px);
	right: 0;
	z-index: 60;
	min-width: 168px;
	margin: 0;
	padding: 6px;
	list-style: none;
	border-radius: 14px;
	background: var(--wp--preset--color--base);
	box-shadow: 0 10px 30px rgba(18, 18, 18, 0.12);
}

/* Explicit, so adding a display value here can never strip the hidden state. */
.manufakt-lang-switcher__menu[hidden] {
	display: none;
}

.manufakt-lang-switcher__menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 9px 14px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.manufakt-lang-switcher__menu a:hover {
	background: var(--wp--preset--color--primary-light);
}

.manufakt-lang-switcher__check {
	color: var(--wp--preset--color--secondary);
}

/* —— Notice pill (injected at top of main content → under fixed nav) —— */

/*
 * The design opens the page with one --manufakt-content-top under the nav,
 * whether or not the notice is showing. Whichever block comes first owns it,
 * so the two never stack.
 */
.manufakt-notice-wrap,
.manufakt-home-hero {
	padding-top: var(--manufakt-content-top);
}

.manufakt-notice-wrap + .wp-block-post-content > .manufakt-home-hero {
	padding-top: 0;
}

/*
 * Page intros: 90px is the full air under the fixed header clearance (main already
 * offsets the nav). When the notice pill is present it sits above post-content and
 * owns content-top — do not let intro padding fight it; keep intro top identical
 * so Showroom / Produkte / … stay visually aligned with each other.
 */
.manufakt-page-intro.alignfull:first-child,
.wp-block-post-content > .manufakt-page-intro.alignfull:first-child,
.manufakt-kontakt__hero.alignfull:first-child,
.wp-block-post-content > .manufakt-kontakt__hero.alignfull:first-child {
	padding-top: var(--manufakt-subpage-hero-pad-top) !important;
}

/*
 * Same trick as the header: the pill has to line up with the sections below it,
 * and those are alignfull + gutter + a wide-size inner container. Carrying the
 * gutter inside max-width makes the inner box min(viewport − 2×gutter, wide-size)
 * either side of the breakpoint — without it the pill ran to the screen edge on
 * anything narrower than the wide size.
 */
.manufakt-notice-wrap {
	max-width: calc(var(--wp--style--global--wide-size, 1440px) + 2 * var(--wp--custom--spacing--fluid-gutter));
	margin: 0 auto clamp(24px, 3vw, 40px);
	padding-bottom: 0;
	padding-inline: var(--wp--custom--spacing--fluid-gutter);
	box-sizing: border-box;
	width: 100%;
}

.manufakt-notice {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	padding: 14px 14px 14px clamp(18px, 2vw, 26px);
	box-sizing: border-box;
	width: 100%;
	background: var(--wp--preset--color--primary-light, #efece6);
	border-radius: 9999px;
	color: var(--wp--preset--color--primary-dark, #3a3733);
}

.manufakt-notice[hidden] {
	display: none !important;
}

.manufakt-notice__dot {
	flex: none;
	width: 9px;
	height: 9px;
	border-radius: 9999px;
	background: #d9a62e; /* --bm-lack-gelb */
}

.manufakt-notice__text {
	min-width: 0;
	flex: 1;
	font-size: 16px;
	line-height: 1.5;
	color: #3a3733;
}

.manufakt-notice__text p {
	margin: 0;
}

.manufakt-notice__text strong {
	font-weight: 700;
	color: #121212;
}

.manufakt-notice__close {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: none;
	margin-left: auto;
	width: 30px;
	height: 30px;
	padding: 0;
	border: none;
	border-radius: 9999px;
	background: transparent;
	color: #3a3733;
	font-family: inherit;
	font-size: 17px;
	line-height: 1;
	cursor: pointer;
}

.manufakt-notice__close:hover {
	background: #dbd5c9; /* --bm-sand-press */
}

/* —— Media placeholders (#d9d9d9) — only where no photo has been supplied yet —— */
.manufakt-media-ph,
.wp-block-cover.manufakt-media-ph,
.manufakt-kat-card__ph {
	background-color: #d9d9d9 !important;
}

.manufakt-media-ph .wp-block-cover__background {
	background-color: #d9d9d9 !important;
}

.wp-block-cover.manufakt-media-ph.is-light .wp-block-cover__background.has-background-dim:not([class*="-background-color"]) {
	background-color: #d9d9d9;
}

/* —— Eyebrow / accent face —— */
/* Design leaves Cormorant italic weight unset → 400 (not medium). */
.manufakt-eyebrow,
.has-accent-font-family {
	font-family: var(--wp--preset--font-family--accent, "Cormorant Garamond", Georgia, serif);
	font-style: italic;
	font-weight: 400;
	letter-spacing: 0.01em;
	color: #121212;
}

/*
 * The eyebrow is a single line in the design and sets no line-height, so its
 * box hugs the glyphs. Inheriting the body's 1.6 made it ~11px taller and the
 * gap to the heading read as too wide.
 */
.manufakt-eyebrow {
	line-height: normal;
}

.manufakt-home-hero__title {
	font-weight: 700 !important;
	letter-spacing: -0.035em;
	text-wrap: balance;
}

/* —— Centred page intro (one pattern for all inner-page heroes) —— */
/*
 * Locked sizes/spacing so Showroom / Produkte / Verkaufsstellen / Referenzen /
 * Über uns stay identical. Editors may change copy only — not type scale.
 * H1 = Produkte (display). Eyebrow = Showroom (eyebrow-sm / 23px).
 * Tokens shared with .manufakt-kontakt__hero below.
 */
.manufakt-page-intro {
	box-sizing: border-box;
	text-align: center;
	padding-top: var(--manufakt-subpage-hero-pad-top) !important;
	padding-bottom: 48px !important;
}

.manufakt-page-intro .manufakt-eyebrow {
	/* Hard px — do not inherit fluid `eyebrow` (clamp → 26px) from older page markup. */
	font-size: var(--manufakt-subpage-eyebrow-size) !important;
	line-height: normal !important;
	margin-top: 0 !important;
	margin-bottom: var(--manufakt-subpage-eyebrow-mb) !important;
	color: var(--wp--preset--color--contrast, #121212);
}

.manufakt-page-intro__title {
	text-wrap: balance;
	font-size: var(--manufakt-subpage-h1-size) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.05 !important;
	margin-top: 0 !important;
	margin-bottom: var(--manufakt-subpage-h1-mb) !important;
}

.manufakt-page-intro__lead {
	max-width: 520px;
	margin-inline: auto !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	font-size: 17px !important;
	line-height: 1.6 !important;
}

.manufakt-page-intro__lead--narrow {
	max-width: 520px;
}

/* —— CTA Projektband (Sand / Dunkel) —— */
.manufakt-cta-banner__row {
	align-items: center;
	gap: clamp(24px, 3vw, 40px);
}

.manufakt-cta-banner--dark .manufakt-cta-banner__lead {
	color: color-mix(in srgb, var(--wp--preset--color--base) 80%, transparent);
}

/* —— Dark CTA card with contact column (Showroom, Über uns) —— */
.manufakt-cta-dark.wp-block-group {
	padding: clamp(48px, 6vw, 88px);
	border-radius: var(--wp--custom--radius--hero);
}

.manufakt-cta-dark__title {
	font-size: clamp(28px, 3.2vw, 46px);
	font-weight: var(--wp--custom--font-weight--bold);
	line-height: var(--wp--custom--line-height--tight);
	text-wrap: balance;
}

.manufakt-cta-dark__lead {
	font-size: var(--wp--preset--font-size--medium);
	line-height: var(--wp--custom--line-height--relaxed);
	color: color-mix(in srgb, var(--wp--preset--color--base) 80%, transparent);
}

/*
 * Brand line and the Global Content address read as one block of set text in
 * the design, so the list loses its gap and both share the same leading.
 */
.manufakt-cta-dark__brand,
.manufakt-cta-dark .rush-contact-details__item {
	font-size: var(--wp--preset--font-size--medium);
	font-weight: var(--wp--custom--font-weight--regular);
	line-height: 1.9;
	color: color-mix(in srgb, var(--wp--preset--color--base) 85%, transparent);
}

.manufakt-cta-dark .rush-contact-details__list {
	gap: 0;
}

/* Brand line and address are one run of text — no block gap between them. */
.manufakt-cta-dark .wp-block-rush-contact-details {
	margin-block-start: 0;
}

.manufakt-cta-dark .rush-contact-details__link {
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

/*
 * The link is a flex: 1 1 auto child, so it fills the column and drags its
 * underline along with it — the design underlines only the address itself.
 */
.manufakt-cta-dark .rush-contact-details__link[href^="mailto"] {
	flex: 0 0 auto;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--base) 40%, transparent);
}

/*
 * Über uns spacing — design clamps on the section classes themselves.
 * Do not gate on body.page-ueber-uns: FSE/login shells often omit the slug class,
 * so every override silently no-op'd and left preset 50 + 24px column gaps.
 * WP also drops clamp() in columns blockGap `left` → enforce gaps here.
 */

.manufakt-ueber-uns__band--tight {
	padding-block: clamp(32px, 4vw, 56px);
}

.manufakt-ueber-uns__band--nachhaltigkeit {
	padding-top: clamp(32px, 4vw, 56px);
	padding-bottom: clamp(48px, 5vw, 80px);
}

.manufakt-ueber-uns__geschichte,
.manufakt-ueber-uns__team {
	padding-block: clamp(56px, 6vw, 96px);
}

.manufakt-ueber-uns__cta {
	padding-top: 0;
	padding-bottom: clamp(64px, 7vw, 96px);
}

/*
 * Vertical rhythm between inner sections. Do not zero this: WP layout sets
 * margin-block-end: 0 on constrained children, so child margin-bottom loses
 * and the bands collapse (images flush on copy, cards flush on the story).
 */
.manufakt-ueber-uns__band--nachhaltigkeit.wp-block-group > * + *,
.manufakt-ueber-uns__geschichte.wp-block-group > * + *,
.manufakt-ueber-uns__team.wp-block-group > * + * {
	margin-block-start: clamp(32px, 4vw, 56px);
}

.manufakt-ueber-uns__geschichte.wp-block-group > .manufakt-ueber-uns__story + *,
.manufakt-ueber-uns__geschichte.wp-block-group > .manufakt-ueber-uns__milestones + * {
	margin-block-start: clamp(36px, 4vw, 56px);
}

/*
 * Intro groups are the same 1440 band as the columns below (parent constrained).
 * Do not shrink the group or pin margin-left: 0 — that jumps past the centered
 * well to the full-bleed padding edge. Wrap the copy only.
 */
.manufakt-ueber-uns__geschichte-title {
	max-width: 16ch;
}

.manufakt-ueber-uns__team .manufakt-ueber-uns__section-intro > * {
	max-width: 640px;
}

/* Wide split (Handarbeit, Nachhaltigkeits-Text). WP drops clamp() in blockGap. */
.manufakt-ueber-uns__band--nachhaltigkeit > .wp-block-columns:not(.manufakt-ueber-uns__media-pair) {
	gap: clamp(28px, 4vw, 72px);
}

/* Same 74px image/copy gap as home news (Formensprache + Geschichte-Story). */
.manufakt-ueber-uns__band--tight > .wp-block-columns,
.manufakt-ueber-uns__geschichte > .wp-block-columns:not(.manufakt-ueber-uns__milestones),
.wp-block-columns.manufakt-ueber-uns__story {
	column-gap: 74px;
	row-gap: 44px;
}

@media (max-width: 781px) {
	.manufakt-ueber-uns__band--tight > .wp-block-columns,
	.manufakt-ueber-uns__geschichte > .wp-block-columns:not(.manufakt-ueber-uns__milestones),
	.wp-block-columns.manufakt-ueber-uns__story {
		column-gap: 44px;
	}
}

/* Tight pairs (image duo, milestone cards). Beat WP layout gap (same specificity). */
.wp-block-columns.manufakt-ueber-uns__media-pair,
.wp-block-columns.manufakt-ueber-uns__milestones {
	gap: clamp(14px, 1.6vw, 24px);
}

.manufakt-ueber-uns__media-pair .wp-block-image,
.manufakt-ueber-uns__band--tight .wp-block-image {
	margin: 0;
}

/* Presentational width/height on the img must not kill the design aspect-ratio. */
.manufakt-ueber-uns__band--tight .wp-block-image img,
.manufakt-ueber-uns__media-pair .wp-block-image img {
	width: 100%;
	height: auto;
}

.manufakt-ueber-uns__cta .manufakt-cta-dark.wp-block-group {
	padding: clamp(40px, 5vw, 80px);
}

.manufakt-ueber-uns__cta .manufakt-cta-dark > .wp-block-columns {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 0.8fr);
	gap: 15vw;
}

.manufakt-ueber-uns__cta .manufakt-cta-dark > .wp-block-columns > .wp-block-column {
	width: auto !important;
	flex-basis: auto !important;
}

@media (max-width: 781px) {
	.manufakt-ueber-uns__cta .manufakt-cta-dark > .wp-block-columns {
		grid-template-columns: minmax(0, 1fr);
	}
}

.manufakt-cta-dark__eyebrow {
	color: color-mix(in srgb, var(--wp--preset--color--base) 80%, transparent);
}

.manufakt-ueber-uns__h2,
.manufakt-ueber-uns__geschichte-title,
.manufakt-ueber-uns__pullquote {
	text-wrap: balance;
}

.manufakt-ueber-uns__body strong {
	font-weight: var(--wp--custom--font-weight--bold);
	color: var(--wp--preset--color--contrast);
}

/* Geschichte story card — sand-deep shell, caption inside the radius. */
.manufakt-ueber-uns__story-card.wp-block-group {
	border-radius: var(--wp--custom--radius--hero);
	overflow: hidden;
	padding: 0;
}

.manufakt-ueber-uns__story-card .wp-block-image {
	margin: 0;
	line-height: 0;
}

.manufakt-ueber-uns__story-card .wp-block-image img {
	width: 100%;
	height: auto;
}

.manufakt-ueber-uns__story-caption {
	padding: 18px 22px 20px;
}

.manufakt-ueber-uns__milestone.wp-block-group {
	box-sizing: border-box;
	height: 100%;
	gap: 8px;
	padding: clamp(22px, 2.4vw, 32px);
	border-radius: var(--wp--custom--radius--media);
}

.manufakt-ueber-uns__film {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.manufakt-ueber-uns__film .wp-block-embed {
	margin: 0;
}

.manufakt-ueber-uns__film .wp-block-embed__wrapper,
.manufakt-ueber-uns__film-frame {
	aspect-ratio: 16 / 9;
	border-radius: var(--wp--custom--radius--hero);
	overflow: hidden;
	background: var(--wp--preset--color--contrast);
}

.manufakt-ueber-uns__film iframe,
.manufakt-ueber-uns__film-frame iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 240px;
	border: 0;
}

.manufakt-ueber-uns__film-link {
	margin: 0;
	font-size: 14px;
	color: var(--wp--preset--color--primary-dark);
}

.manufakt-ueber-uns__film-link a {
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 25%, transparent);
}

.manufakt-ueber-uns__film-link a:hover {
	color: var(--wp--preset--color--secondary);
}

/* Team — design: 4-up, equal gap on both axes, sand initials when no photo. */
.manufakt-ueber-uns__team .rush-team__grid {
	--rush-team-gap-x: clamp(14px, 1.6vw, 24px);
	--rush-team-gap-y: clamp(14px, 1.6vw, 24px);
	justify-content: flex-start;
}

.manufakt-ueber-uns__team .rush-team--layout-portrait .rush-team__photo {
	aspect-ratio: 4 / 4.6;
	border-radius: var(--wp--custom--radius--media);
	background: var(--wp--preset--color--primary-light);
}

.manufakt-ueber-uns__team .rush-team__photo--empty {
	display: flex;
	align-items: center;
	justify-content: center;
}

.manufakt-team-initials {
	font-family: var(--wp--preset--font-family--accent, "Cormorant Garamond", Georgia, serif);
	font-style: italic;
	font-size: clamp(30px, 3.4vw, 44px);
	line-height: 1;
	color: var(--wp--preset--color--secondary);
}

.manufakt-ueber-uns__team .rush-team__card {
	gap: 16px;
}

.manufakt-ueber-uns__team .rush-team__body {
	gap: 4px;
}

.manufakt-ueber-uns__team .rush-team__name {
	font-size: 17px;
	font-weight: var(--wp--custom--font-weight--bold);
	letter-spacing: -0.01em;
	line-height: 1.25;
}

.manufakt-ueber-uns__team .rush-team__role {
	font-size: 14px;
	color: var(--wp--preset--color--secondary);
}

.manufakt-ueber-uns__team .rush-team__contact--text {
	margin-top: 6px;
	gap: 6px;
	font-size: 14px;
}

.manufakt-ueber-uns__team .rush-team__contact--text a[href^="mailto"] {
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 20%, transparent);
	align-self: flex-start;
	word-break: break-all;
	text-decoration: none;
}

.manufakt-ueber-uns__team .rush-team__contact--text a[href^="tel"] {
	color: var(--wp--preset--color--primary-dark);
	text-decoration: none;
}

/* —— Verkaufsstellen list (intro = shared .manufakt-page-intro) —— */

.manufakt-vs-page__list .manufakt-vs {
	margin-block-start: 0;
}

/* —— Kontakt page —— */

.manufakt-kontakt__hero {
	padding-top: var(--manufakt-subpage-hero-pad-top) !important;
}

.manufakt-kontakt__eyebrow {
	font-size: var(--manufakt-subpage-eyebrow-size) !important;
	line-height: normal !important;
	margin-top: 0 !important;
	margin-bottom: var(--manufakt-subpage-eyebrow-mb) !important;
}

.manufakt-kontakt__title {
	max-width: 18ch;
	text-wrap: balance;
	font-size: var(--manufakt-subpage-h1-size) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em !important;
	line-height: 1.05 !important;
	margin-top: 0 !important;
	margin-bottom: var(--manufakt-subpage-h1-mb) !important;
}

.manufakt-kontakt__form-title {
	max-width: 20ch;
	text-wrap: balance;
}

.manufakt-kontakt__lead {
	max-width: 52ch;
	/* WP fluid typography rewrites plain 17px — lock design size. */
	font-size: 17px !important;
}

.manufakt-kontakt__form-eyebrow {
	font-size: 23px !important;
}

/*
 * Design is CSS grid (fr + gap), not flex-basis % + gap. WP columns drop
 * clamp() in blockGap left and flex-% + gap mis-sizes the split.
 *
 * Mobile-first stack (agreed): hero = copy → image; form band = form → Anfahrt.
 * Our `display:grid` would otherwise keep two columns and kill WP’s default stack.
 * Side-by-side from 900px — same breakpoint as Anfrage / Produkt-Detail.
 */
.manufakt-kontakt__hero-cols,
.manufakt-kontakt__form-cols {
	display: grid !important;
	gap: clamp(28px, 4vw, 72px) !important;
	grid-template-columns: minmax(0, 1fr);
	align-items: start;
}

@media (min-width: 900px) {
	.manufakt-kontakt__hero-cols {
		grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
		/* Top-align so header→eyebrow matches centred page-intros (90px). */
		align-items: start;
	}

	.manufakt-kontakt__form-cols {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
		align-items: start;
	}
}

.manufakt-kontakt__hero-cols > .wp-block-column,
.manufakt-kontakt__form-cols > .wp-block-column {
	width: auto !important;
	flex-basis: auto !important;
	max-width: none !important;
}

/* Children carry their own margins — kill WP blockGap stacking. */
.manufakt-kontakt__hero-cols .wp-block-column > * + *,
.manufakt-kontakt__form-cols .wp-block-column > * + *,
.manufakt-kontakt__hero.wp-block-group > * + *,
.manufakt-kontakt__form-band.wp-block-group > * + * {
	margin-block-start: 0;
}

.manufakt-kontakt__hero-media {
	margin: 0;
	background: var(--wp--preset--color--primary-light);
	border-radius: var(--wp--custom--radius--hero);
	overflow: hidden;
}

.manufakt-kontakt__hero-media img {
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3.4;
	object-fit: cover;
	display: block;
}

.manufakt-kontakt__direct {
	display: flex;
	flex-direction: column;
	/* Design is gap:16px; with line-height:1 that reads a touch tight — 20px matches the visual. */
	gap: 20px;
}

.manufakt-kontakt__direct > * {
	margin: 0 !important;
}

.manufakt-kontakt__direct-link {
	display: inline-flex !important;
	align-items: center;
	gap: 14px;
	font-size: clamp(19px, 1.7vw, 24px) !important;
	font-weight: 700 !important;
	letter-spacing: -0.01em;
	line-height: 1 !important;
	color: var(--wp--preset--color--contrast) !important;
	text-decoration: none !important;
	align-self: flex-start;
}

.manufakt-kontakt__direct-link:hover {
	color: var(--wp--preset--color--secondary) !important;
}

.manufakt-kontakt__direct-link svg {
	flex: 0 0 auto;
}

.manufakt-kontakt__hours {
	font-size: 15px !important;
	line-height: 1 !important;
	color: var(--wp--preset--color--secondary) !important;
}

/* Paper Anfahrt card — exact design flex stack. */
.manufakt-kontakt__aside {
	display: flex;
	flex-direction: column;
	gap: 22px;
	padding: clamp(22px, 2.4vw, 32px);
	background: var(--wp--preset--color--base);
	border-radius: var(--wp--custom--radius--hero);
	box-sizing: border-box;
	width: 100%;
}

.manufakt-kontakt__aside-eyebrow {
	font-size: 21px !important;
	margin: 0;
	line-height: normal;
}

.manufakt-kontakt__aside-addr {
	margin: 0;
	font-size: 16px !important;
	line-height: 1.85;
}

.manufakt-kontakt__aside-meta {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding-top: 18px;
	border-top: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 12%, transparent);
	font-size: 15px !important;
	line-height: 1.6;
	color: var(--wp--preset--color--primary-dark);
}

.manufakt-kontakt__aside-link {
	align-self: flex-start;
	font-weight: var(--wp--custom--font-weight--semibold);
	font-size: 15px;
	color: inherit;
	text-decoration: none;
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--contrast) 25%, transparent);
	padding-bottom: 2px;
}

.manufakt-kontakt__aside-link:hover {
	color: var(--wp--preset--color--secondary);
}

.manufakt-kontakt__aside-link--showroom {
	font-size: 14px;
}

/* Map is the iframe itself — aspect-ratio on the iframe so the embed gets real
 * dimensions on load (wrapper+absolute often init at 0 height → wrong zoom). */
.manufakt-kontakt__map {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	height: auto;
	border: 0;
	border-radius: var(--wp--custom--radius--card);
	background: var(--wp--preset--color--muted);
}

/* —— Anfrage page —— */

.manufakt-anfrage__lead {
	max-width: 56ch;
}

.manufakt-anfrage__title {
	text-wrap: balance;
}

/*
 * Lightbox: the design rounds the enlarged photo — 20px on the product gallery,
 * `--radius-card` (the same 20px) on the references. One rule for both.
 */
.glightbox-container .gslide-media,
.glightbox-container .gslide-media img {
	border-radius: var(--wp--custom--radius--card);
}

/*
 * Produkt-Single: the free-text area sits below the product but the design has
 * no copy there, so the whole band folds away while the editor is empty —
 * post-content renders nothing at all in that case, leaving the group childless.
 */
.rush-produkt-content:not(:has(> *)) {
	display: none;
}

/* —— «Warum ein Bättig …» band (Produkte) —— */

.manufakt-warum__title {
	text-wrap: balance;
}

.manufakt-warum__lead {
	max-width: 440px;
}

/* Icons are flat SVG files, so they keep their own size instead of filling the column. */
.manufakt-warum__icon,
.manufakt-warum__icon img {
	width: 24px;
	height: 24px;
	margin: 0;
}

/* —— CTA cover with photo overlay (Produkte) —— */

.manufakt-cta-cover.wp-block-cover {
	overflow: hidden;
	border-radius: var(--wp--custom--radius--hero);
}

.manufakt-cta-cover__lead {
	max-width: 480px;
	margin-inline: auto;
}

.manufakt-home-hero__lead {
	max-width: 38ch;
	font-size: clamp(16px, 1.3vw, 19px) !important;
	line-height: 1.6;
	color: #3a3733 !important;
}

/*
 * Hero exception (Vorlage): Abstand Text → Karten = clamp(64px, 8.5vw, 132px).
 * Gibt dem Card-Parallax (max ~90px nach oben) Platz, ohne Buttons zu überdecken.
 */
.manufakt-home-hero > .wp-block-columns {
	margin-bottom: clamp(64px, 8.5vw, 132px) !important;
}

.manufakt-home-hero .manufakt-kat-cards--hero {
	position: relative;
	z-index: 0;
	isolation: isolate;
}

.manufakt-text-link {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 16px;
	font-weight: 600;
	color: #121212;
	text-decoration: none;
	border-bottom: 2px solid currentColor;
	padding-bottom: 4px;
}

.manufakt-text-link a {
	color: inherit;
	text-decoration: none;
}

.manufakt-text-link:hover,
.manufakt-text-link:hover a {
	color: #777;
}

.manufakt-text-link--sm {
	font-size: 15px;
	padding-bottom: 3px;
}

/* Arrow gap sits on the anchor — the "Link + arrow" style draws it as ::after. */
.manufakt-text-link--sm.is-style-link-arrow a {
	gap: 8px;
}

.manufakt-text-link--on-dark {
	color: #faf9f7;
	border-bottom-color: currentColor;
}

.manufakt-text-link--on-dark a {
	color: inherit;
}

.manufakt-text-link--on-dark:hover,
.manufakt-text-link--on-dark:hover a {
	color: #bbb;
}

/* Buttons (DS: 15px / 600 / 14×28) */
.wp-block-button .wp-block-button__link,
.wp-element-button {
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0.02em;
	padding: 14px 28px !important;
	line-height: 1.25;
}

.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button__link.is-style-outline {
	border-width: 1px !important;
	border-color: rgba(18, 18, 18, 0.22) !important;
	background: transparent !important;
	color: #121212 !important;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:focus-visible {
	/* Design: sand-deep fill, keep ink label/border (not theme primary-dark invert). */
	background: var(--wp--preset--color--muted, #e8e3da) !important;
	color: var(--wp--preset--color--contrast, #121212) !important;
	border-color: rgba(18, 18, 18, 0.22) !important;
}

.wp-block-heading,
h1, h2, h3 {
	font-weight: 700;
}

.has-primary-dark-color {
	color: #3a3733;
}

/*
 * Section rhythm comes from each section's own equal padding (theme-docs §14–15),
 * so the flow layout's block gap must not add margins between them — otherwise
 * adjacent bands (sand → photo → ink) show a paper-coloured seam.
 */
.wp-block-post-content > .alignfull {
	margin-block: 0;
}

/* Sand band via existing primary-light slug */
.has-primary-light-background-color {
	background-color: var(--wp--preset--color--primary-light, #efece6) !important;
}

/* —— News badge (Startseite sand band) —— */
.manufakt-news-badge {
	display: inline-flex;
	align-items: center;
	padding: 8px 20px;
	background: var(--wp--preset--color--contrast, #121212);
	color: var(--wp--preset--color--base, #faf9f7);
	border-radius: var(--wp--custom--radius--pill, 999px);
	font-family: var(--wp--preset--font-family--accent, "Cormorant Garamond", Georgia, serif);
	font-style: italic;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: 0.01em;
}

/* Design: 74px between image and copy (desktop) — News and Das Original. */
.manufakt-home-news > .wp-block-columns,
.manufakt-home-original > .wp-block-columns {
	column-gap: 74px;
}

@media (max-width: 781px) {
	.manufakt-home-news > .wp-block-columns,
	.manufakt-home-original > .wp-block-columns {
		column-gap: 44px;
	}
}

/* —— Referenzen mosaic (design: 6 columns × 200px rows) —— */
.manufakt-refs {
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	grid-auto-rows: 200px;
	gap: 20px;
}

/* The group is a flow layout, so core would stack block-gap margins onto the grid items. */
.manufakt-refs > * + * {
	margin-block-start: 0;
}

.manufakt-refs > .manufakt-refs__item {
	position: relative;
	margin: 0;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--card);
	background-color: var(--wp--preset--color--muted);
}

.manufakt-refs__item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.manufakt-refs__item figcaption,
.manufakt-refs__caption {
	position: absolute;
	inset-inline: 0;
	bottom: 0;
	margin: 0;
	padding: 24px 16px 12px;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0), rgba(0, 0, 0, 0.55));
	color: var(--wp--custom--color--neutral-0);
	font-size: var(--wp--custom--font-size--caption);
	letter-spacing: 0.03em;
	text-align: left;
}

/* Design mosaic: 4×2 · 2×1 · 2×1 · 3×2 · 3×2 */
.manufakt-refs__item:nth-child(1) {
	grid-column: span 4;
	grid-row: span 2;
}

.manufakt-refs__item:nth-child(2),
.manufakt-refs__item:nth-child(3) {
	grid-column: span 2;
	grid-row: span 1;
}

.manufakt-refs__item:nth-child(4),
.manufakt-refs__item:nth-child(5) {
	grid-column: span 3;
	grid-row: span 2;
}

@media (max-width: 781px) {
	.manufakt-refs {
		grid-template-columns: 1fr 1fr;
		grid-auto-rows: 160px;
	}

	.manufakt-refs__item:nth-child(n) {
		grid-column: span 1;
		grid-row: span 1;
	}

	.manufakt-refs__item:nth-child(1) {
		grid-column: span 2;
		grid-row: span 2;
	}
}

/* —— Gastro cover band —— */
.manufakt-gastro.wp-block-cover {
	min-height: max(480px, 72vh);
	/* Full-bleed photo; content aligns to the same gutter as other sections. */
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/*
 * Core Cover + contentPosition sets margin:0; width:auto on the inner box
 * (higher specificity than a single class). Match header/notice: wide + 2×gutter,
 * centered, then pad the gutter so copy lines up with constrained sections.
 */
.manufakt-gastro.wp-block-cover.has-custom-content-position .wp-block-cover__inner-container,
.manufakt-gastro .wp-block-cover__inner-container {
	box-sizing: border-box;
	position: relative;
	z-index: 2;
	width: 100% !important;
	max-width: calc(var(--wp--style--global--wide-size, 1440px) + 2 * var(--wp--custom--spacing--fluid-gutter));
	margin-left: auto !important;
	margin-right: auto !important;
	padding-inline: var(--wp--custom--spacing--fluid-gutter, 48px);
}

.manufakt-gastro .wp-block-cover__inner-container > * {
	max-width: 520px;
}

/* Design: paper-hover on the white CTA — not theme primary-dark fill invert. */
.manufakt-gastro .wp-block-button__link.has-base-background-color:hover,
.manufakt-gastro .wp-block-button__link.has-base-background-color:focus-visible,
.manufakt-gastro .wp-block-button.is-style-fill .wp-block-button__link.has-base-background-color:hover {
	background-color: #e9e6e0 !important;
	color: var(--wp--preset--color--contrast, #121212) !important;
	border-color: #e9e6e0 !important;
}

/*
 * Design uses a side veil, not a flat dim — keeps the right of the photo clear.
 * z-index 0 puts it in the same layer as the background image (and after it in
 * paint order) but below the inner container, which core pins at z-index 1 with
 * a selector we would otherwise have to out-shout.
 */
.manufakt-gastro::after {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 0;
	pointer-events: none;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.55) 0%, rgba(0, 0, 0, 0.15) 60%, rgba(0, 0, 0, 0) 100%);
}

.manufakt-gastro.manufakt-media-ph .wp-block-cover__background {
	background-color: #d9d9d9 !important;
	opacity: 1 !important;
}

/* —— Handwerk band —— */
.manufakt-handwerk-links {
	display: flex;
	flex-wrap: wrap;
	gap: 28px;
}

/* —— Footer (design: sand band, 2fr 1fr 1fr 1fr) —— */
.rush-site-footer--manufakt {
	background: var(--wp--preset--color--primary-light);
	border-top: 0;
	padding-block: 72px 40px;
}

.rush-site-footer--manufakt .rush-site-footer__inner {
	max-width: var(--wp--style--global--wide-size);
}

.rush-site-footer--manufakt .rush-site-footer__columns {
	grid-template-columns: 2fr 1fr 1fr 1fr;
	gap: 48px;
	align-items: start;
}

@media (max-width: 1023px) {
	.rush-site-footer--manufakt .rush-site-footer__columns {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 599px) {
	.rush-site-footer--manufakt .rush-site-footer__columns {
		grid-template-columns: 1fr;
	}
}

.rush-site-footer--manufakt .rush-site-footer__logo {
	margin: 0 0 20px;
}

.rush-site-footer--manufakt .rush-site-footer__address {
	font-size: var(--wp--custom--font-size--ui);
	line-height: 1.7;
	color: var(--wp--preset--color--primary-dark);
}

.rush-site-footer--manufakt .rush-site-footer__address p {
	margin: 0;
}

.rush-site-footer--manufakt .rush-site-footer__col-title {
	margin: 0 0 18px;
	font-family: var(--wp--preset--font-family--accent);
	font-style: italic;
	font-size: 21px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: var(--wp--preset--color--contrast);
}

.rush-site-footer--manufakt .rush-site-footer__link-list {
	display: flex;
	flex-direction: column;
	gap: 12px;
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: var(--wp--custom--font-size--ui);
}

.rush-site-footer--manufakt .rush-site-footer__link-list a,
.rush-site-footer--manufakt .rush-site-footer__address a {
	color: var(--wp--preset--color--contrast);
	text-decoration: none;
}

.rush-site-footer--manufakt .rush-site-footer__link-list a:hover,
.rush-site-footer--manufakt .rush-site-footer__address a:hover {
	text-decoration: underline;
}

/* Socials: 42px sand pills with the design's outline glyphs. */
.rush-site-footer--manufakt .rush-site-footer__socials {
	display: flex;
	gap: 12px;
	margin: 26px 0 0;
	padding: 0;
	list-style: none;
}

.rush-site-footer--manufakt .rush-site-footer__socials a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 42px;
	height: 42px;
	border-radius: var(--wp--custom--radius--full);
	background-color: var(--wp--preset--color--muted);
	color: var(--wp--preset--color--contrast);
	transition: background-color var(--wp--custom--motion--duration-hover-fast) var(--wp--custom--motion--ease-brand);
}

.rush-site-footer--manufakt .rush-site-footer__socials a:hover {
	background-color: var(--wp--custom--color--neutral-300);
}

.rush-site-footer--manufakt .rush-site-footer__legal {
	margin-top: 56px;
	padding-top: 24px;
	border-top: 1px solid rgba(18, 18, 18, 0.15);
	font-size: 12px;
	color: var(--wp--preset--color--secondary);
}

.rush-site-footer--manufakt .rush-site-footer__legal a {
	color: var(--wp--preset--color--secondary);
	text-decoration: none;
	font-size: 12px !important;
}

.rush-site-footer--manufakt .rush-site-footer__legal p,
.rush-site-footer--manufakt .rush-site-footer__legal-col {
	font-size: 12px !important;
}

/* Parent copyright uses has-small-font-size (= 15px !important in theme.json). */
.rush-site-footer--manufakt .rush-site-footer__legal .has-small-font-size {
	font-size: 12px !important;
}

.rush-site-footer--manufakt .rush-site-footer__legal a:hover {
	text-decoration: underline;
}

.rush-site-footer--manufakt .rush-site-footer__legal-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	justify-content: flex-end;
}

.rush-site-footer--manufakt .rush-site-footer__legal-nav span {
	display: none;
}

/* —— News single (kept) —— */
.rush-single-news__meta {
	color: var(--wp--preset--color--secondary, #737373);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.rush-single-news__terms:not(:empty)::before {
	content: "·";
	margin-right: 0.5rem;
	color: var(--wp--preset--color--secondary, #737373);
}

.rush-single-news__meta .wp-block-post-terms,
.rush-single-news__terms {
	color: inherit;
}

.rush-single-news__meta .wp-block-post-terms a,
.rush-single-news__terms a,
.editor-styles-wrapper .rush-single-news .wp-block-post-terms a,
.block-editor-iframe__body .rush-single-news .wp-block-post-terms a {
	color: inherit !important;
	text-decoration: none !important;
	pointer-events: none;
	cursor: default;
}

.rush-single-news__intro .wp-block-post-excerpt {
	margin-top: 0;
}

.rush-single-news__intro .wp-block-post-excerpt__excerpt,
.rush-single-news__intro .wp-block-post-excerpt p {
	margin: 0;
}

.rush-single-news__media,
.rush-single-news .wp-block-post-featured-image.rush-single-news__media {
	margin-top: var(--wp--custom--spacing--8, 2rem) !important;
	margin-bottom: 0;
	margin-left: 0;
	margin-right: 0;
}

.rush-single-news__content,
.rush-single-news .wp-block-post-content {
	margin-top: var(--wp--custom--spacing--12, 3rem);
}

.rush-single-news .wp-block-post-excerpt__more-text,
.rush-single-news .wp-block-post-excerpt__more-link {
	display: none !important;
}

.rush-single-news .wp-block-post-featured-image img,
.rush-single-news__media img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: var(--wp--custom--radius--lg, 1rem);
}

.editor-styles-wrapper .rush-single-news,
.block-editor-iframe__body .rush-single-news {
	box-sizing: border-box;
}

.editor-styles-wrapper .rush-single-news .wp-block-post-title,
.block-editor-iframe__body .rush-single-news .wp-block-post-title {
	font-size: var(--wp--custom--font-size--display, 3rem);
	line-height: 1.15;
	margin: 0;
}

.editor-styles-wrapper .rush-single-news__meta,
.block-editor-iframe__body .rush-single-news__meta {
	color: var(--wp--preset--color--secondary, #737373);
	font-size: var(--wp--preset--font-size--small, 0.875rem);
}

.editor-styles-wrapper .rush-single-news .wp-block-post-featured-image,
.block-editor-iframe__body .rush-single-news .wp-block-post-featured-image {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: var(--wp--custom--radius--lg, 1rem);
	margin-top: var(--wp--custom--spacing--8, 2rem) !important;
}

.editor-styles-wrapper .rush-single-news .wp-block-post-excerpt__more-text,
.editor-styles-wrapper .rush-single-news .wp-block-post-excerpt__more-link,
.block-editor-iframe__body .rush-single-news .wp-block-post-excerpt__more-text,
.block-editor-iframe__body .rush-single-news .wp-block-post-excerpt__more-link {
	display: none !important;
}

.editor-styles-wrapper .rush-single-news .wp-block-post-content,
.block-editor-iframe__body .rush-single-news .wp-block-post-content,
.editor-styles-wrapper .rush-single-news .is-root-container,
.block-editor-iframe__body .rush-single-news .is-root-container {
	max-width: var(--wp--style--global--content-size, 720px);
	margin-left: auto;
	margin-right: auto;
}



/* —— Scroll reveal (front end only — editor has no manufakt-motion.js) —— */
body:not(.block-editor-iframe__body) [data-reveal]:not(.is-revealed) {
	opacity: 0;
	transform: translateY(var(--wp--custom--motion--reveal-offset, 34px));
}

body:not(.block-editor-iframe__body) [data-reveal].is-revealed {
	opacity: 1;
	transform: translateY(0);
}

/* Kontakt hero: design uses 28px offset. */
body:not(.block-editor-iframe__body) .manufakt-kontakt__hero-media[data-reveal]:not(.is-revealed) {
	transform: translateY(28px);
}
