/* ==========================================================================
   Kuriger Holzfinish – Theme-CSS (Basis: PMW Basis 1.1.0, für Kuriger neu geschrieben)
   «Sanft modernisiert»: Farben, Schrift und Aufbau wie bisher, ruhiger und luftiger.
   Farben/Schriften kommen aus theme.json (--wp--preset--…).
   Abstände der Abschnitte stehen hier fest (mit !important), damit sie beim Bearbeiten
   im Editor nicht verloren gehen.
   ========================================================================== */

:root {
	--k-creme: var(--wp--preset--color--creme, #FAF8F3);
	--k-gold: var(--wp--preset--color--gold, #E9C66A);
	--k-gold-dunkel: #B8902E;      /* Sterne, feine Akzente auf hellem Grund */
	--k-taupe: var(--wp--preset--color--taupe, #AF9984);
	--k-grau: var(--wp--preset--color--grau, #626264);
	--k-schwarz: var(--wp--preset--color--schwarz, #222222);
	--k-linie: var(--wp--preset--color--linie, #E6E0D6);
	--k-schrift: var(--wp--preset--font-family--montserrat, Montserrat, Arial, sans-serif);

	--pmwt-breit: var(--wp--style--global--wide-size, 1320px);
	--pmwt-text: var(--wp--style--global--content-size, 820px);
	--pmwt-rand: clamp(1rem, 4vw, 3rem);
	--pmwt-header-h: 96px;
	--pmwt-abstand: clamp(3.5rem, 8vw, 7rem);      /* Innenabstand der Abschnitte */
	--pmwt-radius: 4px;
	--pmwt-schatten: 0 1px 2px rgb(0 0 0 / .04), 0 12px 32px -14px rgb(0 0 0 / .22);
}
@media (max-width: 1279px) { :root { --pmwt-header-h: 72px; } }

/* --------------------------------------------------------------------------
   Grundlagen
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--pmwt-header-h) + 1rem); -webkit-text-size-adjust: 100%; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; text-rendering: optimizeLegibility; -webkit-font-smoothing: antialiased; }
img, svg, video { max-width: 100%; height: auto; }
a { text-underline-offset: .2em; text-decoration-thickness: 1px; }
:focus-visible { outline: 3px solid var(--k-gold-dunkel); outline-offset: 3px; }
::selection { background: var(--k-gold); color: var(--k-schwarz); }

.pmwt-skip { position: absolute; left: -9999px; top: 0; z-index: 1000; background: var(--k-schwarz); color: #fff; padding: .75rem 1rem; }
.pmwt-skip:focus { left: 1rem; top: 1rem; }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

h1, h2, h3, h4 { text-wrap: balance; overflow-wrap: break-word; hyphens: manual; }
/* Trennen nur auf schmalen Bildschirmen, damit lange Wörter nicht überlaufen (am Desktop keine «Möbeloberflä-chen») */
@media (max-width: 600px) { h1, h2, h3, h4 { hyphens: auto; -webkit-hyphens: auto; hyphenate-limit-chars: 10 4 4; } }
p { text-wrap: pretty; }

/* Überzeile: klein, Grossbuchstaben, mit goldenem Strich */
.is-style-overline, .pmwt-overline {
	font-size: .78rem !important; font-weight: 600; letter-spacing: .16em; text-transform: uppercase;
	color: var(--k-grau); margin: 0 0 .9rem !important;
}
.is-style-overline::before, .pmwt-overline::before {
	content: ""; display: inline-block; width: 1.75rem; height: 2px; background: var(--k-gold); vertical-align: middle; margin: -.15em .75rem 0 0;
}
.has-text-align-center.is-style-overline::after { content: ""; display: inline-block; width: 1.75rem; height: 2px; background: var(--k-gold); vertical-align: middle; margin: -.15em 0 0 .75rem; }

/* Knöpfe */
.wp-element-button, .wp-block-button__link { transition: background .2s, color .2s, border-color .2s; }
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: currentColor; border: 1.5px solid currentColor; }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--k-schwarz); border-color: var(--k-schwarz); color: #fff; }

/* Listen mit Häkchen */
.wp-block-list.is-style-haken { list-style: none; padding-left: 0; }
.wp-block-list.is-style-haken li { position: relative; padding-left: 1.75rem; margin: .4rem 0; }
.wp-block-list.is-style-haken li::before {
	content: ""; position: absolute; left: 0; top: .5em; width: .95rem; height: .55rem;
	border-left: 2px solid var(--k-gold-dunkel); border-bottom: 2px solid var(--k-gold-dunkel); transform: rotate(-45deg);
}

img[src*="platzhalter"] { background: var(--k-linie); }

/* --------------------------------------------------------------------------
   Header
   -------------------------------------------------------------------------- */
.pmwt-header {
	position: sticky; top: 0; z-index: 100; background: #fff;
	border-bottom: 1px solid transparent; transition: border-color .2s, box-shadow .2s;
}
.admin-bar .pmwt-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .pmwt-header { top: 0; } }
.pmwt-header.is-scrolled { border-color: var(--k-linie); box-shadow: 0 8px 24px -18px rgb(0 0 0 / .35); }
.pmwt-header__inner {
	max-width: calc(var(--pmwt-breit) + 2 * var(--pmwt-rand)); margin: 0 auto; padding: 0 var(--pmwt-rand);
	min-height: var(--pmwt-header-h); display: flex; align-items: center; gap: 2rem;
}
.pmwt-logo { display: inline-flex; flex: 0 0 auto; text-decoration: none; }
.pmwt-logo__bild { height: 70px; width: auto; display: block; }
.pmwt-logo__text { font-weight: 800; font-size: 1.15rem; letter-spacing: .04em; text-transform: uppercase; color: var(--k-schwarz); }
.pmwt-logo__kante { display: none; }

.pmwt-nav { margin-left: auto; display: flex; align-items: center; gap: 1.5rem; }
.pmwt-menu, .pmwt-menu ul { list-style: none; margin: 0; padding: 0; }
.pmwt-menu { display: flex; align-items: center; gap: .15rem; }
.pmwt-menu > li { position: relative; display: flex; align-items: center; }
.pmwt-menu a {
	display: block; padding: .6rem .7rem; color: var(--k-schwarz); text-decoration: none;
	font-size: .8125rem; font-weight: 600; letter-spacing: .08em; text-transform: uppercase;
}
.pmwt-menu > li > a { position: relative; }
.pmwt-menu > li > a::after {
	content: ""; position: absolute; left: .7rem; right: .7rem; bottom: .25rem; height: 2px;
	background: var(--k-gold); transform: scaleX(0); transform-origin: left; transition: transform .25s ease;
}
.pmwt-menu > li:hover > a::after,
.pmwt-menu > .current-menu-item > a::after,
.pmwt-menu > .current-menu-ancestor > a::after,
.pmwt-menu > .current_page_item > a::after,
.pmwt-menu > .current_page_ancestor > a::after { transform: scaleX(1); }

.pmwt-sub-toggle {
	width: 24px; height: 28px; margin-left: -.55rem; border: 0; background: none; cursor: pointer; color: inherit;
	display: inline-grid; place-items: center;
}
.pmwt-sub-toggle span { width: 6px; height: 6px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.pmwt-menu .sub-menu {
	position: absolute; top: 100%; left: 0; min-width: 240px; padding: .5rem 0;
	background: #fff; box-shadow: var(--pmwt-schatten);
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .18s, transform .18s, visibility .18s;
}
.pmwt-menu .sub-menu a { text-transform: none; letter-spacing: 0; font-weight: 400; font-size: .95rem; padding: .55rem 1.25rem; }
.pmwt-menu .sub-menu a:hover, .pmwt-menu .sub-menu .current-menu-item > a { background: var(--k-creme); }
.pmwt-menu > li:hover > .sub-menu,
.pmwt-menu > li:focus-within > .sub-menu,
.pmwt-menu > li.is-open > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.pmwt-menu > li.is-open > .pmwt-sub-toggle span { transform: translateY(2px) rotate(-135deg); }

.pmwt-nav__extras { display: flex; align-items: center; gap: 1rem; }
.pmwt-tel-button {
	display: inline-flex; align-items: center; gap: .5rem; padding: .6rem 1rem; border: 1.5px solid var(--k-schwarz);
	color: var(--k-schwarz); text-decoration: none; font-weight: 600; font-size: .85rem; white-space: nowrap; transition: background .2s, color .2s;
}
.pmwt-tel-button svg { flex-shrink: 0; }
.pmwt-menu > li > a { white-space: nowrap; }
.pmwt-tel-button:hover { background: var(--k-schwarz); color: #fff; }
.pmwt-mail-link { display: none; }
.pmwt-insta { color: var(--k-schwarz); display: inline-grid; place-items: center; width: 40px; height: 40px; }

.pmwt-nav-toggle { display: none; }

@media (max-width: 1279px) {
	.pmwt-logo__bild { height: 50px; }
	.pmwt-nav-toggle {
		display: inline-flex; align-items: center; gap: .65rem; margin-left: auto;
		background: none; border: 0; padding: .5rem 0; cursor: pointer;
		font: 600 .8rem var(--k-schrift); letter-spacing: .1em; text-transform: uppercase; color: var(--k-schwarz);
	}
	.pmwt-nav-toggle__balken, .pmwt-nav-toggle__balken::before, .pmwt-nav-toggle__balken::after {
		display: block; width: 26px; height: 2px; background: currentColor; position: relative; transition: transform .2s, background .2s;
	}
	.pmwt-nav-toggle__balken::before, .pmwt-nav-toggle__balken::after { content: ""; position: absolute; left: 0; }
	.pmwt-nav-toggle__balken::before { top: -8px; }
	.pmwt-nav-toggle__balken::after { top: 8px; }
	.pmwt-nav-toggle[aria-expanded="true"] .pmwt-nav-toggle__balken { background: transparent; }
	.pmwt-nav-toggle[aria-expanded="true"] .pmwt-nav-toggle__balken::before { transform: translateY(8px) rotate(45deg); }
	.pmwt-nav-toggle[aria-expanded="true"] .pmwt-nav-toggle__balken::after { transform: translateY(-8px) rotate(-45deg); }

	/* kein backdrop-filter am Header – sonst wird das fixierte Menü in der Kopfzeile eingesperrt */
	.pmwt-nav {
		position: fixed; inset: var(--pmwt-header-h) 0 0 0; z-index: 200; background: #fff; margin: 0;
		flex-direction: column; align-items: stretch; gap: 1.75rem; padding: .5rem var(--pmwt-rand) 2.5rem; overflow-y: auto;
		opacity: 0; transform: translateY(-10px); visibility: hidden; transition: opacity .2s ease, transform .2s ease, visibility .2s;
		border-top: 1px solid var(--k-linie);
	}
	.admin-bar .pmwt-nav { top: calc(var(--pmwt-header-h) + 46px); }
	.pmwt-nav.is-open { opacity: 1; transform: none; visibility: visible; }
	.pmwt-menu { flex-direction: column; align-items: stretch; gap: 0; }
	.pmwt-menu > li { flex-wrap: wrap; border-bottom: 1px solid var(--k-linie); }
	.pmwt-menu > li > a { flex: 1; padding: 1.05rem 0; font-size: .95rem; }
	.pmwt-menu > li > a::after { display: none; }
	.pmwt-sub-toggle { width: 48px; height: 48px; margin: 0; }
	.pmwt-menu .sub-menu {
		position: static; flex-basis: 100%; box-shadow: none; padding: 0 0 .75rem .75rem;
		opacity: 1; visibility: visible; transform: none; display: none;
	}
	.pmwt-menu > li:hover > .sub-menu, .pmwt-menu > li:focus-within > .sub-menu { display: none; }
	.pmwt-menu > li.is-open > .sub-menu { display: block; }
	.pmwt-menu .sub-menu a { padding: .6rem 0; }
	.pmwt-nav__extras { flex-direction: column; align-items: flex-start; gap: .9rem; }
	.pmwt-mail-link { display: inline; color: var(--k-schwarz); font-weight: 600; }
	body.pmwt-nav-offen { overflow: hidden; }
}

/* --------------------------------------------------------------------------
   Inhalt: Grundraster
   -------------------------------------------------------------------------- */
.pmwt-main { display: block; }
.entry-content { padding-bottom: var(--pmwt-abstand); }
.entry-content:has(> .alignfull:last-child) { padding-bottom: 0; }
.entry-content > :first-child { margin-top: var(--pmwt-abstand); }
.entry-content.pmwt-start > :first-child, .entry-content > .alignfull:first-child { margin-top: 0 !important; }
body .entry-content > .alignfull { margin-top: 0 !important; margin-bottom: 0 !important; }
body .entry-content > .alignfull + :not(.alignfull) { margin-top: var(--pmwt-abstand) !important; }
body .entry-content > :not(.alignfull) + .alignfull { margin-top: var(--pmwt-abstand) !important; }
.entry-content > h2 { margin-top: var(--pmwt-abstand); }

/* Schlichter Titelbereich (Seiten ohne Titelbild: Impressum, Datenschutz, Sitemap) */
.pmwt-seitenkopf { background: #fff; border-bottom: 1px solid var(--k-linie); padding: clamp(2.5rem, 6vw, 4.5rem) var(--pmwt-rand) clamp(2rem, 4vw, 3rem); }
.pmwt-seitenkopf__inner { max-width: var(--pmwt-text); margin: 0 auto; }
.pmwt-seitenkopf h1 { margin: 0; font-size: var(--wp--preset--font-size--xl); }
.pmwt-seitenkopf h1::after { content: ""; display: block; width: 3rem; height: 3px; background: var(--k-gold); margin-top: 1.1rem; }
.pmwt-seitenkopf .pmwt-overline { margin-bottom: .6rem !important; }

/* --------------------------------------------------------------------------
   Abschnitt (Gruppe .pmwt-abschnitt, volle Breite, Farbe wählbar)
   -------------------------------------------------------------------------- */
body .wp-block-group.pmwt-abschnitt {
	padding-top: var(--pmwt-abstand) !important; padding-bottom: var(--pmwt-abstand) !important;
	padding-left: var(--pmwt-rand) !important; padding-right: var(--pmwt-rand) !important;
}
.pmwt-abschnitt > * { margin-left: auto !important; margin-right: auto !important; }
.pmwt-abschnitt > :first-child { margin-top: 0 !important; }
.pmwt-abschnitt > :last-child { margin-bottom: 0 !important; }
.pmwt-abschnitt > h2, .pmwt-abschnitt > h3 { margin-bottom: 1.25rem; }
.pmwt-abschnitt > h2 + p, .pmwt-abschnitt > h3 + p { margin-top: 0; }
.pmwt-abschnitt > .wp-block-image, .pmwt-abschnitt > .wp-block-gallery, .pmwt-abschnitt > .wp-block-video { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.pmwt-abschnitt > .wp-block-video { margin-top: var(--pmwt-abstand) !important; } /* Film: gleich viel Luft wie der Abschnitt oben */
.pmwt-abschnitt > .pmwt-mehr { margin-top: 1.5rem !important; }
.pmwt-abschnitt.is-zentriert { text-align: center; }
/* Aufzählungen in zentrierten Abschnitten: als Block mittig, Punkte und Text aber linksbündig */
.pmwt-abschnitt.is-zentriert > .wp-block-list { display: table; max-width: var(--pmwt-text); margin-left: auto !important; margin-right: auto !important; text-align: left; }

/* «Erfahren Sie mehr»-Link */
.pmwt-mehr a { font-weight: 600; text-decoration: none; border-bottom: 2px solid var(--k-gold); padding-bottom: .15em; color: inherit; }
.pmwt-mehr a::after { content: " →"; transition: margin .2s; }
.pmwt-mehr a:hover::after { margin-left: .25em; }

/* Farbige Abschnitte: Schriftfarbe automatisch passend */
.has-grau-background-color, .has-schwarz-background-color { color: #fff; }
.has-grau-background-color :is(h1, h2, h3, h4, a), .has-schwarz-background-color :is(h1, h2, h3, h4, a) { color: #fff; }
.has-grau-background-color .is-style-overline, .has-schwarz-background-color .is-style-overline { color: rgb(255 255 255 / .8); }
.has-gold-background-color .is-style-overline::before, .has-gold-background-color .is-style-overline::after { background: var(--k-schwarz); }
.has-gold-background-color .pmwt-mehr a { border-color: var(--k-schwarz); }
.has-grau-background-color .wp-block-button__link, .has-schwarz-background-color .wp-block-button__link { background: #fff; color: var(--k-schwarz); }
.has-grau-background-color .wp-block-button__link:hover, .has-schwarz-background-color .wp-block-button__link:hover { background: var(--k-gold); color: var(--k-schwarz); }
.has-gold-background-color .wp-block-button__link:hover { background: #fff; color: var(--k-schwarz); }

/* --------------------------------------------------------------------------
   Bildband mit Titel / Seitenkopf (core/cover mit Klasse .pmwt-bildband)
   -------------------------------------------------------------------------- */
.wp-block-cover.pmwt-bildband {
	min-height: clamp(24rem, 50vw, 44rem) !important; padding: 0 var(--pmwt-rand) !important;
	align-items: flex-end; margin-top: 0; margin-bottom: 0; /* links/rechts nicht anfassen, sonst nicht mehr volle Breite */
}
.wp-block-cover.pmwt-bildband::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(to top, rgb(20 18 16 / .72) 0%, rgb(20 18 16 / .32) 45%, rgb(20 18 16 / 0) 75%);
}
.wp-block-cover.pmwt-bildband .wp-block-cover__inner-container {
	position: relative; z-index: 2; width: 100%; max-width: var(--pmwt-breit); margin: 0 auto;
	padding-bottom: clamp(2rem, 5vw, 4.5rem); color: #fff;
}
.pmwt-bildband__box { max-width: 36rem; }
.wp-block-cover.is-style-text-rechts .pmwt-bildband__box { margin-left: auto !important; }
.pmwt-bildband :is(h1, h2) { color: #fff; font-size: var(--wp--preset--font-size--xxl); font-weight: 800; margin: 0 0 1rem; text-shadow: 0 1px 18px rgb(0 0 0 / .25); }
.pmwt-bildband p { font-size: var(--wp--preset--font-size--mittel); line-height: 1.5; margin: 0 0 1.5rem; color: rgb(255 255 255 / .95); }
.pmwt-bildband p:last-child { margin-bottom: 0; }
.pmwt-bildband .is-style-overline { color: #fff; font-size: .78rem !important; }
.pmwt-bildband .wp-block-button__link { background: #fff; color: var(--k-schwarz); }
.pmwt-bildband .wp-block-button__link:hover { background: var(--k-gold); color: var(--k-schwarz); }
.pmwt-bildband .wp-block-cover__image-background { object-fit: cover; }
@media (max-width: 700px) {
	.wp-block-cover.pmwt-bildband { min-height: 26rem !important; }
	.wp-block-cover.pmwt-bildband::before { background: linear-gradient(to top, rgb(20 18 16 / .82) 0%, rgb(20 18 16 / .45) 55%, rgb(20 18 16 / .1) 100%); }
}

/* Bild über die volle Breite (ohne Text) */
.entry-content > .wp-block-image.alignfull { margin-top: 0; margin-bottom: 0; }
.wp-block-image.alignfull img { width: 100%; display: block; }
.wp-block-image.pmwt-bildstreifen img { max-height: 46rem; object-fit: cover; }

/* --------------------------------------------------------------------------
   Videos ohne Ton (inc/hero-video.php)
   -------------------------------------------------------------------------- */
.wp-block-video.pmwt-titelvideo { margin-top: 0 !important; margin-bottom: 0 !important; position: relative; background: var(--k-schwarz); }
.wp-block-video.pmwt-titelvideo video {
	display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover;
}
@media (min-width: 768px) {
	.wp-block-video.pmwt-titelvideo video { aspect-ratio: auto; height: min(calc(100svh - var(--pmwt-header-h)), 56.25vw); }
}
.wp-block-video.pmwt-titelvideo figcaption { display: none; }
.wp-block-video.pmwt-autovideo video { display: block; width: 100%; aspect-ratio: 16 / 9; object-fit: cover; background: var(--k-schwarz); }
@media (min-width: 768px) { .wp-block-video.alignfull.pmwt-autovideo video { aspect-ratio: auto; height: min(56.25vw, 85svh); } }

/* Stehende Videos («Fenster»-Effekt): Das Video bleibt beim Scrollen im Fenster stehen,
   der Inhalt davor und danach fährt darüber. Nur CSS: der Block schneidet ein fixiertes Video zu.
   Aus bei «Bewegung reduzieren». */
:root { --pmwt-oben: var(--pmwt-header-h); }
.admin-bar { --pmwt-oben: calc(var(--pmwt-header-h) + 32px); }
@media (max-width: 782px) { .admin-bar { --pmwt-oben: calc(var(--pmwt-header-h) + 46px); } }
@media (prefers-reduced-motion: no-preference) {
	.wp-block-video.pmwt-titelvideo,
	.wp-block-video.alignfull.pmwt-autovideo { clip-path: inset(0); height: 56.25vw; background: var(--k-schwarz); }
	.wp-block-video.pmwt-titelvideo video,
	.wp-block-video.alignfull.pmwt-autovideo video {
		position: fixed; left: 0; top: var(--pmwt-oben); width: 100%; aspect-ratio: auto; object-fit: cover;
	}
	.wp-block-video.pmwt-titelvideo video { height: 56.25vw; }
	.wp-block-video.alignfull.pmwt-autovideo video { height: calc(100svh - var(--pmwt-oben)); }
	@media (min-width: 768px) {
		.wp-block-video.pmwt-titelvideo,
		.wp-block-video.pmwt-titelvideo video { height: min(calc(100svh - var(--pmwt-oben)), 56.25vw); }
		.wp-block-video.alignfull.pmwt-autovideo { height: min(56.25vw, 85svh); }
	}
}

/* Video, das erst nach Klick lädt ([pmwt_video]) */
.pmwt-video { position: relative; aspect-ratio: 16 / 9; background: var(--k-schwarz) center / cover no-repeat; overflow: hidden; margin-block: 2rem; }
.pmwt-video::before { content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgb(0 0 0 / .55), rgb(0 0 0 / .05)); }
.pmwt-video__start { position: absolute; inset: 0; width: 100%; border: 0; background: none; cursor: pointer; color: #fff; display: grid; place-items: center; align-content: center; gap: 1rem; }
.pmwt-video__play { width: 80px; height: 80px; border-radius: 50%; background: var(--k-gold); position: relative; transition: transform .2s; }
.pmwt-video__play::after { content: ""; position: absolute; left: 32px; top: 24px; border-left: 22px solid var(--k-schwarz); border-top: 16px solid transparent; border-bottom: 16px solid transparent; }
.pmwt-video__start:hover .pmwt-video__play { transform: scale(1.08); }
.pmwt-video__titel { font-weight: 600; font-size: 1.1rem; text-shadow: 0 1px 8px rgb(0 0 0 / .5); }
.pmwt-video__hinweis { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: .6rem 1rem; font-size: .8rem; color: rgb(255 255 255 / .85); text-align: center; pointer-events: none; }
.pmwt-video iframe, .pmwt-video video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; object-fit: cover; }
.pmwt-video.is-lokal::before { display: none; }

/* --------------------------------------------------------------------------
   Mustergalerie (core/gallery .pmwt-muster): Bildunterschrift unter dem Bild, Lightbox
   -------------------------------------------------------------------------- */
.wp-block-gallery.pmwt-muster { --g: clamp(.5rem, 1vw, .9rem); gap: 1.5rem var(--g) !important; }
.wp-block-gallery.pmwt-muster.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: calc((100% - 5 * var(--g)) / 6) !important; flex-grow: 0 !important; flex-direction: column; justify-content: flex-start;
}
@media (max-width: 1000px) { .wp-block-gallery.pmwt-muster.has-nested-images figure.wp-block-image:not(#individual-image) { width: calc((100% - 2 * var(--g)) / 3) !important; } }
@media (max-width: 560px) { .wp-block-gallery.pmwt-muster.has-nested-images figure.wp-block-image:not(#individual-image) { width: calc((100% - var(--g)) / 2) !important; } }
.wp-block-gallery.pmwt-muster figure.wp-block-image img { aspect-ratio: 1 / 1; height: auto !important; width: 100%; object-fit: cover; flex: none !important; }
.wp-block-gallery.pmwt-muster.has-nested-images figure.wp-block-image:has(figcaption)::before { display: none; }
.wp-block-gallery.pmwt-muster.has-nested-images figure.wp-block-image figcaption {
	position: static; background: none; color: inherit; text-shadow: none; padding: .6rem 0 0; margin: 0;
	font-size: var(--wp--preset--font-size--klein); line-height: 1.35; text-align: left; max-height: none; overflow: visible; flex: none;
}

/* Bilder-Slider (core/gallery mit Stil «Bilder-Slider»), assets/js/theme.js */
.wp-block-gallery.is-style-slider { position: relative; display: block !important; }
.wp-block-gallery.is-style-slider .pmwt-slider__spur {
	display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; scrollbar-width: none; gap: 0;
}
.wp-block-gallery.is-style-slider .pmwt-slider__spur::-webkit-scrollbar { display: none; }
.wp-block-gallery.is-style-slider figure.wp-block-image,
.wp-block-gallery.is-style-slider.has-nested-images figure.wp-block-image:not(#individual-image) {
	flex: 0 0 100% !important; width: 100% !important; margin: 0 !important; scroll-snap-align: center;
}
.wp-block-gallery.is-style-slider figure.wp-block-image img { width: 100%; height: auto !important; aspect-ratio: 3 / 2; object-fit: contain; background: transparent; }
.wp-block-gallery.is-style-slider:not(.is-bereit) { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; flex-wrap: nowrap !important; }
.pmwt-slider__pfeil {
	position: absolute; top: calc(50% - 1.5rem); transform: translateY(-50%); z-index: 2; width: 48px; height: 48px; border-radius: 50%;
	border: 0; background: rgb(255 255 255 / .92); color: var(--k-schwarz); cursor: pointer; display: grid; place-items: center; box-shadow: var(--pmwt-schatten);
}
.pmwt-slider__pfeil:hover { background: var(--k-gold); }
.pmwt-slider__pfeil--zurueck { left: .75rem; }
.pmwt-slider__pfeil--weiter { right: .75rem; }
.pmwt-slider__pfeil[disabled] { opacity: 0; pointer-events: none; }
.pmwt-slider__punkte { display: flex; justify-content: center; gap: .5rem; margin-top: 1.25rem; flex-wrap: wrap; }
.pmwt-slider__punkt { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid currentColor; background: transparent; padding: 0; cursor: pointer; opacity: .6; }
.pmwt-slider__punkt[aria-current="true"] { background: currentColor; opacity: 1; }

/* --------------------------------------------------------------------------
   Kundenstimmen (.pmwt-stimmen > .pmwt-stimme)
   -------------------------------------------------------------------------- */
.pmwt-stimmen { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr)); gap: 1.25rem !important; text-align: left; }
.pmwt-stimme { background: #fff; color: var(--k-schwarz); padding: clamp(1.5rem, 2.5vw, 2rem) !important; box-shadow: var(--pmwt-schatten); margin: 0 !important; display: flex; flex-direction: column; }
.pmwt-stimme > * { margin: 0 !important; }
.pmwt-stimme > * + * { margin-top: .9rem !important; }
.pmwt-sterne { color: var(--k-gold-dunkel); letter-spacing: .15em; font-size: 1.05rem; line-height: 1; }
.pmwt-stimme__name { font-weight: 700; margin-top: auto !important; padding-top: 1rem; border-top: 1px solid var(--k-linie); font-size: var(--wp--preset--font-size--klein); }
.pmwt-stimme__text { font-size: .98rem; line-height: 1.6; }

/* --------------------------------------------------------------------------
   Vorteile (.pmwt-vorteile > .pmwt-vorteil): Bild, Titel, kurzer Text
   -------------------------------------------------------------------------- */
.pmwt-vorteile { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1.5rem, 3vw, 2.5rem) clamp(1rem, 2vw, 1.75rem) !important; }
@media (max-width: 1000px) { .pmwt-vorteile { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 480px) { .pmwt-vorteile { grid-template-columns: 1fr; } }
.pmwt-vorteil { margin: 0 !important; text-align: center; }
.pmwt-vorteil .wp-block-image { margin: 0 0 1rem; }
.pmwt-vorteil .wp-block-image img { width: 100%; max-width: 9.5rem; height: auto; margin-inline: auto; aspect-ratio: 1 / 1; object-fit: contain; }
/* WordPress reserviert für faul geladene Bilder (sizes="auto") 1500 px Höhe, wenn kein Seitenverhältnis bekannt ist – hier immer quadratisch. */
.pmwt-vorteil .wp-block-image img[sizes^="auto"] { contain-intrinsic-size: 152px 152px; }
.pmwt-vorteil h3 { font-size: var(--wp--preset--font-size--mittel); margin: 0 0 .5rem; }
.pmwt-vorteil p { margin: 0; font-size: .95rem; }

/* --------------------------------------------------------------------------
   Projekt-Zeile (core/media-text .pmwt-zeile): Bild und Text nebeneinander
   -------------------------------------------------------------------------- */
.wp-block-media-text.pmwt-zeile { margin-top: 0 !important; margin-bottom: 0 !important; }
.wp-block-media-text.pmwt-zeile .wp-block-media-text__content { padding: clamp(2rem, 5vw, 5rem) clamp(1.25rem, 5vw, 5rem) !important; }
.wp-block-media-text.pmwt-zeile .wp-block-media-text__content > :first-child { margin-top: 0; }
.wp-block-media-text.pmwt-zeile .wp-block-media-text__content > :last-child { margin-bottom: 0; }
.wp-block-media-text.pmwt-zeile h3 { font-size: var(--wp--preset--font-size--gross); margin: 0 0 1rem; }
.wp-block-media-text.pmwt-zeile .wp-block-media-text__content { max-width: 40rem; }
.wp-block-media-text.pmwt-zeile.has-media-on-the-right .wp-block-media-text__content { margin-left: auto; }
.wp-block-media-text.pmwt-zeile .wp-block-media-text__media img { width: 100%; height: 100%; object-fit: cover; }
.pmwt-zitat { border-left: 3px solid var(--k-gold); padding-left: 1rem; font-style: italic; }
.has-grau-background-color .pmwt-zitat { border-color: var(--k-gold); }
@media (max-width: 600px) {
	.wp-block-media-text.pmwt-zeile.is-stacked-on-mobile .wp-block-media-text__media img { height: auto; aspect-ratio: 3 / 2; }
}

/* --------------------------------------------------------------------------
   Team (.pmwt-team > .pmwt-person)
   -------------------------------------------------------------------------- */
.pmwt-team { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(2rem, 4vw, 3rem) clamp(1rem, 3vw, 2.5rem) !important; }
@media (max-width: 900px) { .pmwt-team { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 520px) { .pmwt-team { grid-template-columns: 1fr; } }
.pmwt-person { margin: 0 !important; text-align: center; }
.pmwt-person .wp-block-image { margin: 0 0 1.1rem; }
.pmwt-person .wp-block-image img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--pmwt-radius); }
.pmwt-person h3 { font-size: 1rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; margin: 0; }
.pmwt-person .pmwt-person__funktion { margin: .25rem 0 0; font-weight: 600; color: var(--k-grau); font-size: .95rem; }
.pmwt-person .pmwt-person__details { margin: .9rem 0 0; font-size: var(--wp--preset--font-size--klein); line-height: 1.55; }

/* --------------------------------------------------------------------------
   Häufige Fragen (Basis 1.1.0, inc/ki-sichtbarkeit.php)
   -------------------------------------------------------------------------- */
.pmwt-faq .wp-block-details { border-bottom: 1px solid rgba(0, 0, 0, .14); padding: 0; margin: 0; }
.pmwt-faq .wp-block-details:first-of-type { border-top: 1px solid rgba(0, 0, 0, .14); }
.pmwt-faq summary { list-style: none; cursor: pointer; padding: 1.1rem 2.5rem 1.1rem 0; font-weight: 600; position: relative; text-align: left; }
.pmwt-faq summary::-webkit-details-marker { display: none; }
.pmwt-faq summary::after { content: "+"; position: absolute; right: .25rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; line-height: 1; color: var(--k-gold-dunkel); transition: transform .2s; }
.pmwt-faq details[open] summary::after { transform: translateY(-50%) rotate(45deg); }
.pmwt-faq .wp-block-details > :not(summary) { margin: 0 0 1.25rem; max-width: 65ch; text-align: left; }

/* --------------------------------------------------------------------------
   Kontaktformular
   -------------------------------------------------------------------------- */
.pmwt-formular { display: grid; gap: 1rem; text-align: left; max-width: 44rem; margin-inline: auto; }
.pmwt-reihe { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.pmwt-reihe--anrede { grid-template-columns: minmax(0, 14rem); }
@media (max-width: 600px) { .pmwt-reihe { grid-template-columns: 1fr; } }
.pmwt-feld label { display: block; font-weight: 600; font-size: .88rem; margin-bottom: .35rem; }
.pmwt-feld input, .pmwt-feld select, .pmwt-feld textarea {
	width: 100%; font: inherit; color: var(--k-schwarz); padding: .8rem .9rem; border: 1px solid #CBC3B6; border-radius: 2px; background: #fff;
	transition: border-color .15s, box-shadow .15s;
}
.pmwt-feld input:focus, .pmwt-feld select:focus, .pmwt-feld textarea:focus { outline: none; border-color: var(--k-schwarz); box-shadow: 0 0 0 3px rgb(34 34 34 / .12); }
.pmwt-hp { position: absolute !important; left: -9999px !important; }
.pmwt-formular-hinweis { font-size: .85rem; margin: 0; }
.pmwt-formular button { border: 0; cursor: pointer; }
.pmwt-formular-meldung { padding: 1rem 1.25rem; margin: 0 auto 1.25rem; max-width: 44rem; background: #fff; text-align: left; }
.pmwt-formular-meldung.is-ok { border-left: 4px solid #2E7D3A; }
.pmwt-formular-meldung.is-fehler { border-left: 4px solid #B3261E; }

/* Sitemap */
.pmwt-sitemap { list-style: none; padding: 0; margin: 0 0 2rem; columns: 2 16rem; column-gap: 3rem; }
.pmwt-sitemap > li { break-inside: avoid; margin-bottom: .75rem; }
.pmwt-sitemap > li > a { font-weight: 600; }
.pmwt-sitemap .sub-menu, .pmwt-sitemap .children { list-style: none; padding-left: 1rem; margin: .35rem 0 0; }
.pmwt-sitemap .pmwt-sub-toggle { display: none; }

/* Rechtstexte ruhiger */
.page-impressum .entry-content, .page-datenschutzerklaerung .entry-content { font-size: .97rem; }
.page-impressum .entry-content h2, .page-datenschutzerklaerung .entry-content h2 { font-size: var(--wp--preset--font-size--gross); margin-top: 2.5rem; }

/* --------------------------------------------------------------------------
   Fusszeile
   -------------------------------------------------------------------------- */
.pmwt-footer { background: var(--k-schwarz); color: rgb(255 255 255 / .82); font-size: .95rem; }
.pmwt-footer a { color: #fff; text-decoration: none; }
.pmwt-footer a:hover { color: var(--k-gold); }
.pmwt-footer__inner {
	max-width: calc(var(--pmwt-breit) + 2 * var(--pmwt-rand)); margin: 0 auto; padding: clamp(3rem, 6vw, 5rem) var(--pmwt-rand) clamp(2rem, 4vw, 3rem);
	display: grid; grid-template-columns: 1.1fr 1fr 1fr 1fr; gap: 2.5rem;
}
@media (max-width: 1000px) { .pmwt-footer__inner { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .pmwt-footer__inner { grid-template-columns: 1fr; gap: 2rem; } }
.pmwt-footer__titel { font-size: .78rem; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; color: var(--k-gold); margin: 0 0 1rem; }
.pmwt-footer__titel a { color: var(--k-gold); }
.pmwt-footer__titel a:hover { color: #fff; }
.pmwt-footer p { margin: 0 0 .9rem; line-height: 1.6; }
.pmwt-footer__logo { display: inline-block; background: #fff; padding: .75rem 1rem; }
.pmwt-footer__logo img { display: block; width: 150px; height: auto; }
.pmwt-footer__name { color: var(--k-schwarz); font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
.pmwt-footer__zeiten { font-size: .88rem; color: rgb(255 255 255 / .7); }
.pmwt-footer__links { list-style: none; margin: 0; padding: 0; display: grid; gap: .55rem; }
.pmwt-footer__leiste {
	max-width: calc(var(--pmwt-breit) + 2 * var(--pmwt-rand)); margin: 0 auto; padding: 1.25rem var(--pmwt-rand);
	border-top: 1px solid rgb(255 255 255 / .12); display: flex; flex-wrap: wrap; align-items: center; gap: .75rem 2rem; font-size: .85rem;
}
.pmwt-footer__leiste nav { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; }
.pmwt-fussmenu { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 0; padding: 0; }
.pmwt-footer__copy { margin: 0 !important; color: rgb(255 255 255 / .6); }
.pmwt-footer__copy a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.pmwt-footer__trenner { margin: 0 .6em; }
.pmwt-nach-oben {
	margin-left: auto; width: 40px; height: 40px; border: 1px solid rgb(255 255 255 / .5); border-radius: 50%;
	display: grid; place-items: center; color: #fff;
}
.pmwt-nach-oben:hover { border-color: var(--k-gold); }

/* --------------------------------------------------------------------------
   Cookie-Banner (inc/tracking.php) – nur sichtbar mit GTM-ID
   -------------------------------------------------------------------------- */
.pmwt-cookie { position: fixed; left: 0; right: 0; bottom: 0; z-index: 300; padding: 0 var(--pmwt-rand) var(--pmwt-rand); pointer-events: none; }
.pmwt-cookie[hidden] { display: none; }
.pmwt-cookie__inner {
	pointer-events: auto; max-width: 56rem; margin: 0 auto; background: #fff; color: var(--k-schwarz);
	box-shadow: 0 10px 40px -10px rgb(0 0 0 / .4); border-top: 3px solid var(--k-gold); padding: 1.25rem 1.5rem;
	display: grid; grid-template-columns: 1fr auto; gap: .5rem 1.5rem; align-items: end; font-size: .9rem;
}
.pmwt-cookie__titel { font-weight: 700; margin: 0; grid-column: 1 / -1; }
.pmwt-cookie__text { margin: 0; line-height: 1.5; }
.pmwt-cookie__auswahl { grid-column: 1; }
.pmwt-cookie__auswahl summary { cursor: pointer; font-weight: 600; text-decoration: underline; text-underline-offset: .2em; width: max-content; }
.pmwt-cookie__auswahl label { display: flex; gap: .5rem; align-items: center; margin: .5rem 0; }
.pmwt-cookie__knoepfe { grid-column: 2; grid-row: 2 / span 2; display: flex; gap: .5rem; flex-wrap: wrap; justify-content: flex-end; }
.pmwt-cookie__knopf { font: 600 .88rem var(--k-schrift); padding: .75rem 1.2rem; border: 1.5px solid var(--k-schwarz); background: var(--k-schwarz); color: #fff; cursor: pointer; border-radius: 2px; }
.pmwt-cookie__knopf.is-leise { background: #fff; color: var(--k-schwarz); }
.pmwt-cookie__knopf:hover { background: var(--k-gold); border-color: var(--k-gold); color: var(--k-schwarz); }
@media (max-width: 700px) {
	.pmwt-cookie__inner { grid-template-columns: 1fr; }
	.pmwt-cookie__knoepfe { grid-column: 1; grid-row: auto; justify-content: stretch; }
	.pmwt-cookie__knoepfe .pmwt-cookie__knopf { flex: 1; }
}

/* --------------------------------------------------------------------------
   Sanftes Einblenden beim Scrollen (nur mit JS)
   -------------------------------------------------------------------------- */
.js .pmwt-einblenden { opacity: 0; transform: translateY(16px); transition: opacity .6s ease, transform .6s ease; }
.js .pmwt-einblenden.is-sichtbar { opacity: 1; transform: none; }

/* Raster (Kundenstimmen, Vorteile, Team, Galerien) mit etwas Luft unter dem Titel */
.pmwt-abschnitt > .alignwide, .pmwt-abschnitt > .wp-block-gallery { margin-top: clamp(2rem, 4vw, 3.25rem) !important; }

/* 404-Seite */
.pmwt-404-knoepfe { display: flex; flex-wrap: wrap; gap: 1rem; align-items: center; margin-top: 1.5rem; }
.pmwt-404-knoepfe .wp-block-button { margin: 0; }
.pmwt-404-links { margin-top: 2.5rem; color: var(--k-grau); }
.pmwt-404-links a { color: inherit; text-underline-offset: .2em; }
.pmwt-404-links a:hover { color: var(--k-schwarz); }

/* Titelvideo auf dem Handy: flacher (Filme sind ca. 2:1), damit seitlich weniger abgeschnitten wird */
@media (max-width: 767px) {
	.wp-block-video.pmwt-titelvideo video { aspect-ratio: auto; height: 46vw; }
	@media (prefers-reduced-motion: no-preference) {
		.wp-block-video.pmwt-titelvideo, .wp-block-video.pmwt-titelvideo video { height: 46vw; }
	}
}
