/* =========================================================================
   Kleines Mäusenest – Styles (Frontend + Editor)
   Farben/Schriften kommen aus theme.json (var(--wp--preset--…)).
   ====================================================================== */

:root {
	--mn-tinte: var(--wp--preset--color--contrast, #2B3340);
	--mn-grau: var(--wp--preset--color--accent-4, #55606E);
	--mn-blau-text: var(--wp--preset--color--accent-3, #2E7FB8);
	--mn-rosa: var(--wp--preset--color--accent-2, #F6CFD8);
	--mn-gelb: var(--wp--preset--color--accent-1, #F1EC8C);
	--mn-salbei: var(--wp--preset--color--salbei, #9FD0C0);
	--mn-blau: var(--wp--preset--color--blau, #A8D3EE);
	--mn-rosa-hell: var(--wp--preset--color--rosa-hell, #FDEFF2);
	--mn-gelb-hell: var(--wp--preset--color--gelb-hell, #FBF9DD);
	--mn-salbei-hell: var(--wp--preset--color--salbei-hell, #EAF5F1);
	--mn-blau-hell: var(--wp--preset--color--blau-hell, #EAF4FB);
	--mn-beere: var(--wp--preset--color--beere, #C93F60);
	--mn-gruen: var(--wp--preset--color--gruen, #2F8A72);
	--mn-linie: var(--wp--preset--color--accent-6, #EDE8DC);
	--mn-schatten: 0 24px 48px -28px rgba(43, 51, 64, 0.4);
	--mn-kreis-deckkraft: 0.85;
	--mn-serif: var(--wp--preset--font-family--fraunces, Georgia, serif);
}

.wp-site-blocks { overflow-x: clip; }
.wp-site-blocks > footer, .wp-site-blocks > .wp-block-template-part:last-child { margin-block-start: 0; }
.mn-instagram, .mn-plaetze, .mn-formular, .mn-leiste, .is-style-mn-band, .is-style-mn-kachel, .is-style-mn-karte { box-sizing: border-box; }

h1 em, h2 em, h3 em, .wp-block-post-title em {
	font-style: italic;
	font-weight: 500;
	color: var(--mn-blau-text);
}
.has-contrast-background-color h1 em,
.has-contrast-background-color h2 em,
.has-contrast-background-color h3 em { color: var(--mn-rosa); }

.mn-einleitung, .mn-leise { color: var(--mn-grau); }
.mn-klein-fett { font-size: 0.95rem; margin-bottom: 0.5rem !important; }
.mn-gross-serif { font-family: var(--mn-serif); font-weight: 600; font-size: 1.3rem; line-height: 1.25; }

:where(.wp-site-blocks) a:focus-visible,
:where(.wp-site-blocks) button:focus-visible {
	outline: 3px solid var(--mn-blau-text);
	outline-offset: 3px;
	border-radius: 4px;
}

/* -------------------------------------------------------------------------
   Kopf & Navigation
   ---------------------------------------------------------------------- */
.mn-kopf { position: relative; z-index: 20; }
.mn-kopf .wp-block-site-logo img { width: auto; max-height: 42px; }
.mn-kopf .wp-block-site-logo { flex-shrink: 1; min-width: 0; }
.mn-hauptmenue .wp-block-navigation-item__content { padding: 0.35rem 0; }
.mn-hauptmenue .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-radius: 18px;
	padding: 0.6rem !important;
	box-shadow: 0 20px 40px -20px rgba(43, 51, 64, 0.35);
	min-width: 240px !important;
}
.mn-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.55rem 0.9rem !important;
	border-radius: 12px;
	font-weight: 700;
}
.mn-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--mn-rosa-hell); text-decoration: none; }
.mn-hauptmenue .current-menu-item > .wp-block-navigation-item__content { color: var(--mn-beere); }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-top: 3rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.25rem; }
.wp-block-navigation__responsive-container-open {
	width: 44px; height: 44px; border-radius: 50%;
	border: 2px solid var(--mn-tinte) !important;
	display: flex; align-items: center; justify-content: center;
}

.mn-rund-knopf {
	width: 44px; height: 44px; border-radius: 50%; flex: none;
	background: var(--mn-rosa-hell); color: var(--mn-tinte);
	display: inline-flex; align-items: center; justify-content: center;
}
.mn-rund-knopf:hover { background: var(--mn-rosa); }
.mn-kopf .mn-kontakt-knopf .wp-element-button { padding: 0.7rem 1.35rem; font-size: 1rem; }
@media (min-width: 782px) {
	.mn-kopf .mn-rund-knopf { display: none; }
}
@media (max-width: 480px) {
	.mn-kopf .mn-kontakt-knopf { display: none; }
	.mn-kopf .wp-block-site-logo img { max-height: 28px; }
}

/* -------------------------------------------------------------------------
   Inhaltsbereich
   ---------------------------------------------------------------------- */
.mn-inhalt > .alignfull { margin-block-start: 0; }
.mn-inhalt > .alignfull + .alignfull { margin-block-start: 0; }
.mn-seite:not(.mn-startseite) .mn-inhalt { padding-bottom: var(--wp--preset--spacing--60); }
.mn-inhalt:has(> .mn-kontakt-bereich:last-child),
.mn-inhalt:has(> .alignfull:last-child) { padding-bottom: 0 !important; }
.mn-inhalt > .wp-block-columns.alignwide,
.mn-inhalt > .wp-block-group.alignwide { margin-block-start: var(--wp--preset--spacing--50); }

.mn-brotkrumen { font-size: 0.95rem; font-weight: 700; color: var(--mn-grau); margin-bottom: 0.5rem; }
.mn-brotkrumen a { color: var(--mn-grau); }

/* -------------------------------------------------------------------------
   Kreise (Blockstile für Gruppen)
   ---------------------------------------------------------------------- */
[class*="is-style-mn-kreise-"] { position: relative; isolation: isolate; }
[class*="is-style-mn-kreise-"]::before,
[class*="is-style-mn-kreise-"]::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	z-index: -1;
	mix-blend-mode: multiply;
	pointer-events: none;
	opacity: var(--mn-kreis-deckkraft);
	aspect-ratio: 1;
}
.is-style-mn-kreise-hero::before { width: clamp(220px, 30vw, 420px); left: -150px; top: 30px; background: var(--mn-rosa); }
.is-style-mn-kreise-hero::after { width: clamp(140px, 18vw, 260px); left: 38%; bottom: -120px; background: var(--mn-blau); }
.is-style-mn-kreise-rechts::before { width: clamp(260px, 36vw, 520px); right: -220px; top: 120px; background: var(--mn-blau); }
.is-style-mn-kreise-rechts::after { width: clamp(150px, 20vw, 300px); right: 60px; top: 440px; background: var(--mn-salbei); }
.is-style-mn-kreise-links::before { width: clamp(200px, 26vw, 360px); left: -140px; bottom: -120px; background: var(--mn-salbei); }
.is-style-mn-kreise-links::after { width: clamp(110px, 13vw, 180px); left: 120px; bottom: 140px; background: var(--mn-gelb); }
.is-style-mn-kreise-motto::before { width: clamp(140px, 17vw, 240px); left: 6%; top: 30px; background: var(--mn-gelb); }
.is-style-mn-kreise-motto::after { width: clamp(110px, 13vw, 190px); right: 9%; bottom: 20px; background: var(--mn-rosa); }
.is-style-mn-kreise-seitenkopf::before { width: clamp(180px, 22vw, 320px); right: -70px; top: -120px; background: var(--mn-gelb); }
.is-style-mn-kreise-seitenkopf::after { width: clamp(90px, 10vw, 150px); right: 18%; top: 55%; background: var(--mn-rosa); }
.is-style-mn-kreise-seitenkopf .wp-block-post-title { max-width: 900px; }

/* -------------------------------------------------------------------------
   Karten, Kacheln, Bänder
   ---------------------------------------------------------------------- */
.is-style-mn-kachel {
	border-radius: 28px;
	padding: 1.75rem;
}
.is-style-mn-kachel > * { margin-block: 0; }
.is-style-mn-kachel > * + * { margin-block-start: 0.6rem; }
.is-style-mn-kachel h3 { font-size: 1.45rem; }
.is-style-mn-kachel .mn-icon { margin-bottom: 0.6rem; }

.is-style-mn-karte {
	background: #fff;
	border: 1.5px solid var(--mn-linie);
	border-radius: 32px;
	padding: 2rem 1.75rem;
	box-shadow: var(--mn-schatten);
}
.is-style-mn-karte > * { margin-block: 0; }
.is-style-mn-karte > * + * { margin-block-start: 0.75rem; }
.mn-karte-kopf { gap: 0.8rem; margin-bottom: 0.4rem !important; }
.mn-karte-dach {
	font-size: 0.85rem; font-weight: 800; letter-spacing: 0.06em;
	text-transform: uppercase; color: var(--mn-grau); margin: 0 !important;
}
.is-style-mn-karte h3 { font-size: 1.6rem; }

.is-style-mn-band {
	border-radius: 40px;
	padding: clamp(1.75rem, 5vw, 4rem);
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
.is-style-mn-band::after,
.is-style-mn-band::before {
	content: ""; position: absolute; border-radius: 50%; z-index: -1; pointer-events: none; aspect-ratio: 1;
}
.is-style-mn-band::after { width: 220px; right: -60px; bottom: -120px; background: var(--mn-rosa); }
.mn-band-salbei::after { width: 300px; right: -90px; top: -120px; bottom: auto; background: var(--mn-salbei); opacity: var(--mn-kreis-deckkraft); }
.mn-band-dunkel::after { width: 300px; right: -100px; top: -120px; bottom: auto; background: var(--mn-gelb); }
.mn-band-dunkel::before { width: 260px; left: -100px; bottom: -130px; background: var(--mn-rosa); }
.mn-band-dunkel .wp-block-button.is-style-outline > .wp-block-button__link { color: #fff; border-color: #fff; }
.mn-band-dunkel .is-style-mn-eyebrow { color: var(--mn-rosa); }
.mn-band-dunkel p { color: #D6DBE2; }
.mn-band-dunkel .is-style-mn-badge { color: var(--mn-tinte); }

.mn-aufruf-frage { font-family: var(--mn-serif); font-weight: 600; font-size: clamp(1.45rem, 2.4vw, 1.85rem); line-height: 1.2; margin: 0; }
.wp-block-column.mn-aufruf-knoepfe { display: flex; flex-wrap: wrap; gap: 0.75rem; justify-content: flex-end; align-items: center; }
.wp-block-column.mn-aufruf-knoepfe > * { margin: 0 !important; }
@media (max-width: 781px) { .wp-block-column.mn-aufruf-knoepfe { justify-content: flex-start; } .mn-aufruf-knoepfe .wp-block-buttons { justify-content: flex-start !important; } }

.mn-angebot { position: relative; overflow: hidden; isolation: isolate; display: flex; flex-direction: column; }
.mn-angebot::after { content: ""; position: absolute; width: 160px; aspect-ratio: 1; right: -50px; top: -50px; border-radius: 50%; z-index: -1; }
.mn-angebot.has-rosa-hell-background-color::after { background: var(--mn-rosa); }
.mn-angebot.has-gelb-hell-background-color::after { background: var(--mn-gelb); }
.mn-angebot.has-salbei-hell-background-color::after { background: var(--mn-salbei); }
.mn-angebot.has-blau-hell-background-color::after { background: var(--mn-blau); }
.mn-angebot.has-rosa-hell-background-color .is-style-mn-eyebrow { color: #A3324E; }
.mn-angebot.has-gelb-hell-background-color .is-style-mn-eyebrow { color: #6B6420; }
.mn-angebot.has-salbei-hell-background-color .is-style-mn-eyebrow { color: #22705C; }
.mn-angebot.has-blau-hell-background-color .is-style-mn-eyebrow { color: #1F5F8C; }
.mn-angebot .mn-pfeil-link { margin-top: auto !important; padding-top: 0.5rem; }
.mn-angebot .mn-pfeil-link a { color: var(--mn-tinte); }

.mn-pfeil-link a { font-weight: 800; text-decoration-thickness: 2px; text-underline-offset: 5px; }

/* -------------------------------------------------------------------------
   Bilder
   ---------------------------------------------------------------------- */
.is-style-mn-kreis img,
[class*="is-style-mn-kreis-"] img {
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 50%;
	border: 8px solid #fff;
	box-shadow: var(--mn-schatten);
	width: 100%;
	height: auto;
}
[class*="is-style-mn-kreis-"] {
	position: relative;
	isolation: isolate;
	max-width: 460px;
	margin-inline: auto;
	padding: 6% 6% 6% 4%;
}
[class*="is-style-mn-kreis-"]::before,
[class*="is-style-mn-kreis-"]::after {
	content: ""; position: absolute; border-radius: 50%; z-index: -1; aspect-ratio: 1; mix-blend-mode: multiply; opacity: var(--mn-kreis-deckkraft);
}
[class*="is-style-mn-kreis-"]::before { width: 92%; right: 0; top: 0; }
[class*="is-style-mn-kreis-"]::after { width: 36%; left: 0; bottom: 0; background: var(--mn-gelb); }
.is-style-mn-kreis-rosa::before { background: var(--mn-rosa); }
.is-style-mn-kreis-gelb::before { background: var(--mn-gelb); }
.is-style-mn-kreis-gelb::after { background: var(--mn-rosa); }
.is-style-mn-kreis-salbei::before { background: var(--mn-salbei); }
.is-style-mn-kreis-blau::before { background: var(--mn-blau); }

.is-style-mn-hinter-rosa, .is-style-mn-hinter-gelb { position: relative; isolation: isolate; }
.is-style-mn-hinter-rosa::before, .is-style-mn-hinter-gelb::before {
	content: ""; position: absolute; width: 78%; aspect-ratio: 1; left: -4%; top: 4%; border-radius: 50%; z-index: -1;
	mix-blend-mode: multiply; opacity: var(--mn-kreis-deckkraft);
}
.is-style-mn-hinter-rosa::before { background: var(--mn-rosa); }
.is-style-mn-hinter-gelb::before { background: var(--mn-gelb); }

.is-style-mn-buch { text-align: center; }
.is-style-mn-buch img {
	max-width: 280px; width: 100%; height: auto;
	border-radius: 6px 18px 18px 6px;
	box-shadow: 0 30px 50px -20px rgba(0, 0, 0, 0.55);
}
.is-style-mn-abgerundet img { border-radius: 28px; }

/* Foto-Duo: zwei runde Fotos mit Kreisen */
.is-style-mn-foto-duo {
	position: relative;
	aspect-ratio: 1;
	max-width: 540px;
	width: 100%;
	margin-inline: auto;
	isolation: isolate;
}
.is-style-mn-foto-duo::before,
.is-style-mn-foto-duo::after { content: ""; position: absolute; border-radius: 50%; z-index: -1; mix-blend-mode: multiply; opacity: var(--mn-kreis-deckkraft); aspect-ratio: 1; }
.is-style-mn-foto-duo::before { width: 74%; right: 0; top: 0; background: var(--mn-gelb); }
.is-style-mn-foto-duo::after { width: 50%; left: 0; bottom: 4%; background: var(--mn-salbei); }
.is-style-mn-foto-duo > .wp-block-image { position: absolute; margin: 0 !important; }
.is-style-mn-foto-duo > .wp-block-image:nth-of-type(1) { width: 62%; right: 6%; top: 6%; }
.is-style-mn-foto-duo > .wp-block-image:nth-of-type(2) { width: 40%; left: 6%; bottom: 8%; }
.is-style-mn-foto-duo > .wp-block-image img {
	aspect-ratio: 1; object-fit: cover; border-radius: 50%; border: 8px solid #fff;
	box-shadow: var(--mn-schatten); width: 100%; height: auto;
}

/* -------------------------------------------------------------------------
   Text-Stile
   ---------------------------------------------------------------------- */
.is-style-mn-badge {
	display: inline-flex !important;
	align-items: center;
	gap: 0.6rem;
	width: fit-content;
	padding: 0.45rem 1rem;
	border-radius: 999px;
	background: #fff;
	border: 1.5px solid #E7E2D6;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--mn-grau);
	line-height: 1.3;
}
.is-style-mn-badge::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--mn-salbei); flex: none; }
.is-style-mn-badge.mn-badge-gelb { background: var(--mn-gelb); border-color: var(--mn-gelb); color: var(--mn-tinte); font-weight: 800; }
.is-style-mn-badge.mn-badge-gelb::before { background: var(--mn-beere); }

.is-style-mn-eyebrow {
	font-size: 0.9rem !important;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--mn-blau-text);
	margin-bottom: -0.5rem !important;
}

.is-style-mn-haken { list-style: none; padding-left: 0; }
.is-style-mn-haken li { position: relative; padding-left: 2.5rem; margin: 0.9rem 0; }
.is-style-mn-haken li::before {
	content: ""; position: absolute; left: 0; top: 0.1em; width: 1.75rem; height: 1.75rem; border-radius: 50%;
	background: var(--mn-salbei) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232B3340' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center / 55% no-repeat;
}

.is-style-mn-pillen { list-style: none; padding-left: 0; display: flex; flex-wrap: wrap; gap: 0.7rem; }
.is-style-mn-pillen li {
	display: inline-flex; align-items: center; gap: 0.6rem;
	padding: 0.5rem 1.2rem 0.5rem 0.55rem; border-radius: 999px; font-weight: 800; margin: 0;
}
.is-style-mn-pillen li::before { content: ""; width: 1.7rem; height: 1.7rem; border-radius: 50%; flex: none; }
.is-style-mn-pillen li:nth-child(4n+1) { background: var(--mn-blau-hell); }
.is-style-mn-pillen li:nth-child(4n+1)::before { background: var(--mn-blau); }
.is-style-mn-pillen li:nth-child(4n+2) { background: var(--mn-rosa-hell); }
.is-style-mn-pillen li:nth-child(4n+2)::before { background: var(--mn-rosa); }
.is-style-mn-pillen li:nth-child(4n+3) { background: var(--mn-gelb-hell); }
.is-style-mn-pillen li:nth-child(4n+3)::before { background: var(--mn-gelb); }
.is-style-mn-pillen li:nth-child(4n+4) { background: var(--mn-salbei-hell); }
.is-style-mn-pillen li:nth-child(4n+4)::before { background: var(--mn-salbei); }

.wp-block-quote.is-style-mn-motto { text-align: center; max-width: 1040px; margin-inline: auto !important; }
.wp-block-quote.is-style-mn-motto p {
	font-family: var(--mn-serif); font-style: italic; font-weight: 500;
	font-size: clamp(2.1rem, 4.8vw, 4.25rem); line-height: 1.08; letter-spacing: -0.02em;
}
.wp-block-quote.is-style-mn-motto cite {
	display: block; margin-top: 1.2rem; font-family: var(--wp--preset--font-family--nunito);
	font-style: normal; font-weight: 700; font-size: 1rem; color: var(--mn-grau);
}

/* -------------------------------------------------------------------------
   Buttons
   ---------------------------------------------------------------------- */
.wp-element-button svg { flex: none; }
.wp-block-button.is-style-outline > .wp-block-button__link,
a.wp-element-button.mn-knopf-umriss {
	background: transparent;
	color: var(--mn-tinte);
	border: 2px solid currentColor;
	padding: calc(1rem - 2px) calc(1.75rem - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover,
a.wp-element-button.mn-knopf-umriss:hover { background: var(--mn-tinte); color: #fff; border-color: var(--mn-tinte); }
.mn-band-dunkel .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--mn-tinte); }

.wp-block-button.is-style-mn-pille > .wp-block-button__link {
	padding: 0.65rem 1.15rem; font-size: 0.95rem; font-weight: 800;
}
.wp-block-button.is-style-mn-pille > .wp-block-button__link:hover { filter: brightness(0.96); text-decoration: underline; }
.mn-pillen-knoepfe { gap: 0.6rem; }

.mn-kontakt-knopf { margin: 0; }
.mn-kontakt-knopf .wp-element-button { display: inline-flex; align-items: center; gap: 0.6rem; text-decoration: none; }

/* -------------------------------------------------------------------------
   Symbol im Kreis
   ---------------------------------------------------------------------- */
.mn-icon { display: flex; align-items: center; justify-content: center; border-radius: 50%; flex: none; color: var(--mn-tinte); }
.mn-icon--s { width: 32px; height: 32px; }
.mn-icon--m { width: 52px; height: 52px; }
.mn-icon--l { width: 72px; height: 72px; }
.mn-icon--rosa { background: var(--mn-rosa); }
.mn-icon--gelb { background: var(--mn-gelb); }
.mn-icon--salbei { background: var(--mn-salbei); }
.mn-icon--blau { background: var(--mn-blau); }

/* -------------------------------------------------------------------------
   Freie Plätze
   ---------------------------------------------------------------------- */
.mn-punkt {
	display: inline-block; flex: none; width: 12px; height: 12px; border-radius: 50%;
	background: var(--mn-gruen); box-shadow: 0 0 0 5px #D5EDE5;
}
.mn-punkt--hell { background: #7BD3B5; box-shadow: none; width: 10px; height: 10px; }

.mn-plaetze {
	background: #fff;
	color: var(--mn-tinte);
	border: 2px solid var(--mn-tinte);
	border-radius: 28px;
	padding: 1.35rem 1.5rem 1.5rem;
	box-shadow: 8px 8px 0 var(--mn-gelb);
	max-width: 600px;
	margin-block-start: 2rem;
}
.mn-plaetze p { margin: 0; }
.mn-plaetze__kopf { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem 1rem; margin-bottom: 0.9rem; }
.mn-plaetze__titel { display: inline-flex; align-items: center; gap: 0.75rem; font-size: 0.95rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
.mn-plaetze__zeiten { font-size: 0.95rem; font-weight: 700; color: var(--mn-grau); }
.mn-plaetze__liste { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 0.75rem; }
.mn-plaetze__eintrag { display: flex; align-items: center; gap: 0.9rem; padding: 0.75rem 0.9rem; border-radius: 18px; margin: 0; }
.mn-plaetze__zahl {
	flex: none; width: 48px; height: 48px; border-radius: 50%;
	display: flex; align-items: center; justify-content: center;
	font-family: var(--mn-serif); font-weight: 600; font-size: 1.5rem;
}
.mn-plaetze__text { line-height: 1.25; }
.mn-plaetze__text strong { display: block; font-family: var(--mn-serif); font-weight: 600; font-size: 1.25rem; }
.mn-plaetze__text span { font-size: 0.9rem; color: var(--mn-grau); }
.mn-farbe--gelb { background: var(--mn-gelb-hell); } .mn-farbe--gelb .mn-plaetze__zahl { background: var(--mn-gelb); }
.mn-farbe--rosa { background: var(--mn-rosa-hell); } .mn-farbe--rosa .mn-plaetze__zahl { background: var(--mn-rosa); }
.mn-farbe--salbei { background: var(--mn-salbei-hell); } .mn-farbe--salbei .mn-plaetze__zahl { background: var(--mn-salbei); }
.mn-farbe--blau { background: var(--mn-blau-hell); } .mn-farbe--blau .mn-plaetze__zahl { background: var(--mn-blau); }
.mn-plaetze__leer { padding: 0.9rem 1rem; border-radius: 18px; background: var(--mn-gelb-hell); }
.mn-plaetze__button { display: flex !important; align-items: center; justify-content: center; gap: 0.6rem; margin-top: 1rem; text-decoration: none; }
.mn-plaetze__hinweis { margin-top: 0.8rem !important; font-size: 0.85rem; line-height: 1.45; color: var(--mn-grau); text-align: center; }

.mn-plaetze--gross { max-width: none; padding: clamp(1.4rem, 3vw, 2.25rem); margin-block: 1.5rem 2rem; }
.mn-plaetze--gross .mn-plaetze__liste { grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); }
.mn-plaetze--gross .mn-plaetze__zahl { width: 64px; height: 64px; font-size: 2rem; }
.mn-plaetze--gross .mn-plaetze__text strong { font-size: 1.5rem; }
.mn-plaetze--gross .mn-plaetze__button { width: fit-content; margin-inline: auto; padding-inline: 2.5rem; }

.mn-plaetze-satz { display: flex; align-items: center; gap: 0.8rem; color: var(--mn-grau); font-size: 1.05rem; }

/* Mitwandernde Leiste */
.mn-leiste { position: fixed; right: 24px; bottom: 24px; z-index: 50; transition: transform 0.35s ease, opacity 0.35s ease; margin: 0 !important; }
html.mn-js .mn-leiste:not(.is-sichtbar) { transform: translateY(160%); opacity: 0; pointer-events: none; }
.mn-leiste__inhalt {
	display: flex; align-items: center; gap: 0.75rem;
	padding: 0.5rem 0.5rem 0.5rem 1.25rem; border-radius: 999px;
	background: var(--mn-tinte); color: #fff;
	box-shadow: 0 18px 36px -14px rgba(43, 51, 64, 0.55);
	font-weight: 800; font-size: 1rem; line-height: 1.25;
}
.mn-leiste__text { display: inline-flex; align-items: center; gap: 0.6rem; }
.mn-leiste__tel { flex: none; width: 44px; height: 44px; border-radius: 50%; background: #3D4757; color: #fff !important; display: flex; align-items: center; justify-content: center; }
.mn-leiste__button { flex: none; display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.25rem; border-radius: 999px; background: var(--mn-beere); color: #fff !important; text-decoration: none; }
.mn-leiste__button:hover { background: var(--wp--preset--color--beere-dunkel, #A3324E); }
@media (max-width: 600px) {
	.mn-leiste { left: 12px; right: 12px; bottom: 12px; }
	.mn-leiste__inhalt { border-radius: 22px; padding-left: 1rem; font-size: 0.9rem; }
	.mn-leiste__text { flex: 1 1 auto; min-width: 0; }
}
.mn-leiste--vorschau { position: static !important; transform: none !important; opacity: 1 !important; display: inline-block; }

/* -------------------------------------------------------------------------
   Kontakt-Bausteine
   ---------------------------------------------------------------------- */
.mn-telefon-gross { display: inline-flex; align-items: center; gap: 0.9rem; color: var(--mn-tinte) !important; text-decoration: none; margin-block: 1.5rem 0.5rem; }
.mn-telefon-gross__nr { font-family: var(--mn-serif); font-weight: 600; font-size: 1.75rem; }
.mn-telefon-gross:hover .mn-telefon-gross__nr { text-decoration: underline; }
.mn-kontakt-link a { font-weight: 700; }

.mn-instagram {
	position: relative; overflow: hidden; isolation: isolate;
	display: flex; flex-wrap: wrap; align-items: center; gap: 1.75rem;
	padding: 2.5rem clamp(1.75rem, 4vw, 3.5rem);
	border: 2px dashed #E4C3CC; border-radius: 36px; background: #fff;
}
.mn-instagram::after { content: ""; position: absolute; width: 200px; aspect-ratio: 1; right: -50px; top: -60px; border-radius: 50%; background: var(--mn-rosa); opacity: var(--mn-kreis-deckkraft); z-index: -1; }
.mn-instagram__icon { flex: none; width: 72px; height: 72px; border-radius: 22px; background: var(--mn-beere); color: #fff; display: flex; align-items: center; justify-content: center; }
.mn-instagram__text { flex: 1 1 320px; min-width: 0; }
.mn-instagram__text p { margin: 0; color: var(--mn-grau); }
.mn-instagram__text .mn-instagram__name { font-family: var(--mn-serif); font-weight: 600; font-size: 1.75rem; color: var(--mn-tinte); line-height: 1.2; }

/* Fußbereich */
.mn-fuss { color: #D6DBE2; }
.mn-fuss__zeile { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 1.25rem; font-size: 0.95rem; }
.mn-fuss__links { display: flex; align-items: center; gap: 0.8rem; }
.mn-fuss__nav { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 1.5rem; }
.mn-fuss__nav a { color: #fff; }
.mn-fuss__tel { font-weight: 800; }
.mn-punkte { display: inline-flex; }
.mn-punkte i { width: 14px; height: 14px; border-radius: 50%; display: block; }
.mn-punkte i + i { margin-left: -4px; }
.mn-punkte i:nth-child(1) { background: var(--mn-rosa); }
.mn-punkte i:nth-child(2) { background: var(--mn-gelb); }
.mn-punkte i:nth-child(3) { background: var(--mn-salbei); }
.mn-punkte i:nth-child(4) { background: var(--mn-blau); }

/* -------------------------------------------------------------------------
   Galerie + Lightbox
   ---------------------------------------------------------------------- */
.mn-galerie__filter { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1.25rem; }
.mn-galerie__filter button {
	min-height: 44px; padding: 0 1.1rem; border-radius: 999px; cursor: pointer;
	border: 2px solid var(--mn-tinte); background: #fff; color: var(--mn-tinte);
	font: inherit; font-weight: 800; font-size: 0.95rem;
}
.mn-galerie__filter button.is-aktiv { background: var(--mn-tinte); color: #fff; }
.mn-galerie__raster { display: grid; grid-template-columns: repeat(var(--mn-spalten, 3), minmax(0, 1fr)); gap: 1rem; }
.mn-galerie__bild { margin: 0; }
.mn-galerie__bild.is-versteckt { display: none; }
.mn-galerie__bild a { display: block; overflow: hidden; border-radius: 22px; background: var(--mn-linie); }
.mn-galerie__bild img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; transition: transform 0.4s ease; }
.mn-galerie__bild a:hover img { transform: scale(1.04); }
.mn-galerie__bild figcaption { margin: 0.5rem 0.3rem 0; font-size: 0.9rem; line-height: 1.35; color: var(--mn-grau); }
.mn-galerie--mosaik .mn-galerie__raster { display: block; columns: var(--mn-spalten, 3) 220px; column-gap: 1rem; }
.mn-galerie--mosaik .mn-galerie__bild { break-inside: avoid; margin-bottom: 1rem; }
.mn-galerie--mosaik .mn-galerie__bild img { aspect-ratio: auto; }
@media (max-width: 781px) { .mn-galerie__raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; } }

.mn-lightbox {
	position: fixed; inset: 0; z-index: 100000;
	background: rgba(30, 36, 46, 0.94);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	padding: 4.5rem 1rem 2rem; gap: 1rem;
}
.mn-lightbox[hidden] { display: none; }
.mn-lightbox img { max-width: min(1100px, 92vw); max-height: 78vh; width: auto; height: auto; border-radius: 14px; }
.mn-lightbox__text { color: #fff; font-size: 1rem; text-align: center; max-width: 700px; min-height: 1.5em; }
.mn-lightbox button {
	position: absolute; width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer;
	background: #fff; color: var(--mn-tinte); font-size: 1.6rem; line-height: 1; display: flex; align-items: center; justify-content: center;
}
.mn-lightbox__zu { top: 1rem; right: 1rem; }
.mn-lightbox__zurueck { left: 1rem; top: 50%; transform: translateY(-50%); }
.mn-lightbox__weiter { right: 1rem; top: 50%; transform: translateY(-50%); }
@media (max-width: 600px) { .mn-lightbox__zurueck, .mn-lightbox__weiter { top: auto; bottom: 1rem; transform: none; } }

/* -------------------------------------------------------------------------
   Kontaktformular
   ---------------------------------------------------------------------- */
.mn-formular {
	display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.1rem;
	padding: clamp(1.4rem, 3.5vw, 2.5rem); border-radius: 32px; background: #fff;
	box-shadow: 0 30px 60px -40px rgba(43, 51, 64, 0.45);
	position: relative;
}
.mn-feld { display: flex; flex-direction: column; gap: 0.4rem; min-width: 0; }
.mn-feld--breit { grid-column: 1 / -1; }
.mn-feld label { font-size: 0.95rem; font-weight: 800; }
.mn-feld input[type="text"], .mn-feld input[type="email"], .mn-feld select, .mn-feld textarea {
	min-height: 52px; padding: 0 1rem; border-radius: 14px; border: 1.5px solid #CFC9BC;
	font: inherit; font-size: 1.05rem; background: #fff; color: var(--mn-tinte); width: 100%; box-sizing: border-box;
}
.mn-feld textarea { padding: 0.9rem 1rem; resize: vertical; }
.mn-feld input:focus, .mn-feld select:focus, .mn-feld textarea:focus { outline: 3px solid var(--mn-blau); outline-offset: 0; border-color: var(--mn-blau-text); }
.mn-feld--check { flex-direction: row; align-items: flex-start; gap: 0.75rem; }
.mn-feld--check input { width: 22px; height: 22px; flex: none; margin-top: 0.15rem; accent-color: var(--mn-beere); }
.mn-feld--check label { font-weight: 400; font-size: 0.92rem; line-height: 1.45; color: var(--mn-grau); }
.mn-feld--absenden { align-items: flex-end; }
.mn-honig { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.mn-formular-meldung { padding: 1rem 1.25rem; border-radius: 16px; margin-bottom: 1rem; font-weight: 700; }
.mn-formular-meldung--erfolg { background: var(--mn-salbei-hell); border: 2px solid var(--mn-salbei); }
.mn-formular-meldung--fehler { background: var(--mn-rosa-hell); border: 2px solid var(--mn-rosa); }
.mn-formular-block { scroll-margin-top: 2rem; }

/* -------------------------------------------------------------------------
   Tagesablauf
   ---------------------------------------------------------------------- */
.mn-ablauf { display: flex; flex-direction: column; gap: 1.4rem; }
.mn-ablauf > * { margin: 0 !important; }
.mn-ablauf-schritt { gap: 1.25rem !important; align-items: flex-start !important; }
.mn-ablauf-schritt > * { margin: 0 !important; }
.mn-ablauf-schritt h3 { margin: 0 0 0.25rem; font-size: 1.35rem; }
.mn-ablauf-schritt p { margin: 0; }
.mn-zeit {
	flex: none; min-width: 6.5rem; text-align: center; padding: 0.45rem 0.9rem; border-radius: 999px;
	font-weight: 800; font-size: 0.95rem; color: var(--mn-tinte) !important; margin: 0;
}
.mn-zeit--gelb { background: var(--mn-gelb); }
.mn-zeit--rosa { background: var(--mn-rosa); }
.mn-zeit--salbei { background: var(--mn-salbei); }
.mn-zeit--blau { background: var(--mn-blau); }
@media (max-width: 600px) {
	.mn-ablauf-schritt { flex-direction: column; gap: 0.5rem !important; }
}

/* Unterseiten */
.mn-saeule-lang .wp-block-image { max-width: 340px; }

/* -------------------------------------------------------------------------
   Tabelle
   ---------------------------------------------------------------------- */
.mn-inhalt .wp-block-table table { border-collapse: separate; border-spacing: 0; border: 1.5px solid var(--mn-linie); border-radius: 18px; overflow: hidden; width: 100%; }
.mn-inhalt .wp-block-table th, .mn-inhalt .wp-block-table td { border: 0; border-bottom: 1px solid var(--mn-linie); padding: 0.8rem 1.1rem; text-align: left; }
.mn-inhalt .wp-block-table thead th { background: var(--mn-salbei-hell); font-weight: 800; }
.mn-inhalt .wp-block-table tr:last-child td { border-bottom: 0; }
.mn-inhalt .wp-block-table td:last-child { font-weight: 800; }

/* -------------------------------------------------------------------------
   Startseite: Feinheiten
   ---------------------------------------------------------------------- */
.mn-hero .wp-block-heading { margin-top: 1.2rem; }
.mn-hero .mn-einleitung { max-width: 560px; }
@media (max-width: 781px) {
	.wp-block-columns > .wp-block-column { width: 100%; }
	.is-style-mn-foto-duo { max-width: 380px; }
	.mn-band-dunkel::before { display: none; }
	.mn-band-dunkel::after { width: 180px; right: -80px; top: -90px; }
}

/* -------------------------------------------------------------------------
   WooCommerce (Mama-Artikel)
   ---------------------------------------------------------------------- */
.woocommerce ul.products li.product,
.wc-block-grid__product,
.wc-block-product {
	background: #fff; border: 1.5px solid var(--mn-linie); border-radius: 24px; padding: 1rem 1rem 1.25rem !important;
	box-shadow: var(--mn-schatten);
}
.woocommerce ul.products li.product img, .wc-block-components-product-image img { border-radius: 16px; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-family: var(--mn-serif); font-weight: 600; font-size: 1.25rem !important; }
.woocommerce ul.products li.product .price, .wc-block-components-product-price { color: var(--mn-tinte) !important; font-weight: 800; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .button.alt {
	background: var(--mn-beere) !important; color: #fff !important; border-radius: 999px !important;
	font-weight: 800; padding: 0.8rem 1.4rem !important; border: 0 !important;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--wp--preset--color--beere-dunkel, #A3324E) !important; }
.woocommerce span.onsale { background: var(--mn-gelb); color: var(--mn-tinte); border-radius: 999px; }

/* -------------------------------------------------------------------------
   Nur im Editor
   ---------------------------------------------------------------------- */
.mn-editor-hinweis { padding: 1rem 1.25rem; border: 2px dashed #CFC9BC; border-radius: 16px; color: var(--mn-grau); font-size: 0.95rem; }
.mn-editor-tipp { font-size: 12px; color: #757575; }
.editor-styles-wrapper .mn-leiste { position: static; transform: none; opacity: 1; }
