/* Markus Geretshauser – Gestaltung
   Maße abgenommen an markus-geretshauser.de bei 1440 px Breite. */

:root {
	--mg-dunkel: var(--wp--preset--color--dunkel, #222D35);
	--mg-rot: var(--wp--preset--color--rot, #D72323);
	--mg-rot-dunkel: var(--wp--preset--color--rot-dunkel, #B81B1B);
	--mg-grau: var(--wp--preset--color--grau, #7E8285);
	--mg-grau-hell: var(--wp--preset--color--grau-hell, #A4A7A9);
	--mg-rahmen: var(--wp--preset--color--rahmen, #EFEFEF);
	--mg-fd: var(--wp--preset--font-family--fjalla, "Fjalla One", sans-serif);
	--mg-fu: var(--wp--preset--font-family--montserrat, "Montserrat", sans-serif);
	--mg-rand: 28px;            /* Abstand des Kopf-Kastens zum Fensterrand */
	--mg-breite: 1240px;
}

body { -webkit-font-smoothing: antialiased; overflow-x: hidden; }
.wp-site-blocks { padding-top: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
:where(.wp-site-blocks) :focus-visible { outline: 3px solid var(--mg-rot); outline-offset: 2px; }

/* ---------------- Kopfzeile ---------------- */
.mg-kopf-aussen { position: relative; z-index: 50; padding: 30px var(--mg-rand) 0; }
.mg-kopf {
	background: var(--mg-dunkel); min-height: 78px;
	padding: 0 21px 0 32px; gap: 24px;
}
.mg-kopf-marke { flex: 0 1 auto; min-width: 0; }
.mg-kopf-marke img { display: block; max-height: 46px; width: auto; }
.mg-hauptmenue { color: #fff; }
.mg-hauptmenue .wp-block-navigation__container { gap: 0; }
.mg-hauptmenue .wp-block-navigation-item__content { color: #fff; padding: 27px 0; transition: color .2s; }
/* wie bisher: 1em links und rechts, Punkte mit Untermenü rechts 2em */
.mg-hauptmenue .wp-block-navigation__container > li > .wp-block-navigation-item__content { padding: 25.5px 24px; }
.mg-mehr > .wp-block-navigation-item__content { color: var(--mg-grau-hell) !important; font-size: 13px; letter-spacing: 1px; padding-left: 19px !important; }
.mg-hauptmenue .wp-block-navigation-item__content:hover,
.mg-hauptmenue .current-menu-item > .wp-block-navigation-item__content,
.mg-hauptmenue .wp-block-navigation-item__content[aria-current="page"] { color: var(--mg-rot); }
.mg-hauptmenue .wp-block-navigation__submenu-icon { display: none; }

/* Aufklappmenüs: dunkler Kasten, Montserrat in normaler Schreibung wie bisher */
.mg-hauptmenue .wp-block-navigation__submenu-container {
	background: var(--mg-dunkel) !important; color: #fff !important; border: 0 !important;
	min-width: 230px !important; padding: 14px 0 !important; left: -24px !important;
	font-family: var(--mg-fu); font-size: 14px; text-transform: none; letter-spacing: 0;
	box-shadow: 0 10px 30px rgba(0,0,0,.18);
}
.mg-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 24px !important; color: var(--mg-grau-hell); }
.mg-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: #fff; }
.mg-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { left: 100% !important; top: -14px !important; }
/* Trenner „——“ und Zwischentitel ohne Link wirken als Gruppenkopf */
.mg-hauptmenue .wp-block-navigation__submenu-container a[href="#"] { pointer-events: none; color: #5d666d; }
.mg-mehr > .wp-block-navigation-item__content { letter-spacing: .1em; }
.mg-mehr > .wp-block-navigation__submenu-container { left: auto !important; right: -24px; }

/* Handy-Menü: Burger mittig, Overlay dunkel */
.mg-hauptmenue .wp-block-navigation__responsive-container-open { color: #fff; margin: 0 auto; }
.mg-hauptmenue .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--mg-dunkel) !important; color: #fff !important; padding: 32px 24px;
}
.mg-hauptmenue .is-menu-open .wp-block-navigation-item__content { padding: 8px 0 !important; font-size: 20px; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container { background: transparent !important; box-shadow: none; padding: 0 0 8px 16px !important; font-size: 15px; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-size: 15px; padding: 4px 0 !important; }

@media (max-width: 599px) {
	.mg-kopf { justify-content: center !important; min-height: 98px; padding: 0 16px; }
	.mg-kopf-marke:empty { display: none; }
}

/* ---------------- Bausteine ---------------- */
.mg-oberzeile { font-family: var(--mg-fu); font-style: italic; font-size: 14px; color: var(--mg-rot); margin: 0 0 6px; }
.mg-abschnitt-titel { margin: 0; }
.mg-abschnitt-titel::after,
.mg-seitentitel.mg-mit-strich::after {
	content: ""; display: block; width: 56px; height: 2px; margin: 26px auto 0;
	background: linear-gradient(90deg, var(--mg-rot) 0 36px, transparent 36px 41px, rgba(215,35,35,.45) 41px 56px);
}
.mg-einleitung { margin: 30px auto 0; max-width: 820px; }
.mg-strichel { color: var(--mg-grau); font-size: 13px; letter-spacing: .05em; line-height: 1; margin: 4px 0 30px; }

.mg-liste { list-style: none; padding: 0; margin: 0; font-size: 14px; line-height: 1.5; }
.mg-liste li { position: relative; padding-left: 23px; margin: 0 0 5px; }
.mg-liste li::before { content: ""; position: absolute; left: 1px; top: .55em; width: 5px; height: 5px; background: var(--mg-rot); }
.mg-liste a:hover { color: #fff; }

.mg-karte-bild { margin: 0 0 14px; }
.mg-karte-bild img, .mg-karte-bild a { display: block; }
.mg-karte-bild img { border: 6px solid var(--mg-rahmen); width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }

.wp-element-button, .wp-block-button__link { transition: background-color .25s, color .25s; }
.mg-knopf-breit .wp-block-button__link { padding-left: 43px; padding-right: 43px; }

/* ---------------- Startseite: Startbild ---------------- */
.mg-start > * { margin-block: 0; }
.mg-startbild { margin-top: 28px !important; padding-left: max(var(--wp--style--root--padding-left), calc((100% - var(--mg-breite)) / 2)) !important; padding-right: var(--wp--style--root--padding-right) !important; }
.mg-startbild .wp-block-cover__background.has-background-dim { opacity: .5; }
.mg-startbild .wp-block-cover__inner-container { width: 100% !important; max-width: none !important; padding: 0 !important; }
.mg-startbild-text { max-width: 470px; margin: 0 !important; }
.mg-startbild-titel { font-size: clamp(34px, 4.45vw, 64px); line-height: 1.1; margin: 0 0 24px; color: var(--mg-dunkel); }
.mg-startbild-unterzeile { font-family: var(--mg-fd); text-transform: uppercase; color: var(--mg-rot); font-size: clamp(22px, 2.65vw, 38px); line-height: 1.22; margin: 0 0 28px; }
.mg-startbild-leitspruch { font-family: var(--mg-fd); text-transform: uppercase; color: var(--mg-dunkel); font-size: clamp(16px, 1.8vw, 26px); line-height: 1.15; margin: 0; }
.mg-startbild .mg-strichel { margin: 4px 0 38px; }
.mg-startbild .wp-block-button__link { padding: 13px 43px; }

/* ---------------- Startseite: Dienstleistungen ---------------- */
.mg-leistungen { background: var(--mg-dunkel); color: var(--mg-grau-hell); margin-top: 30px !important; padding-top: 38px; padding-bottom: 40px; }
.mg-leistungen .mg-abschnitt-titel { color: #fff; }
.mg-leistungen .mg-abschnitt-titel::after { background: linear-gradient(90deg, #fff 0 36px, transparent 36px 41px, rgba(255,255,255,.45) 41px 56px); }
.mg-leistungen .mg-einleitung { color: var(--mg-grau-hell); margin-bottom: 76px; }
.mg-karten { gap: 30px !important; margin-top: 0 !important; margin-bottom: 33px !important; }
.mg-karte-titel { color: #fff; margin: 0 0 9px; font-size: clamp(24px, 2.25vw, 32px); line-height: 1.15; }
.mg-karte-titel a:hover { color: var(--mg-rot); }
.mg-leistungen .mg-karte-titel { overflow-wrap: anywhere; }

/* ---------------- Startseite: Über uns ---------------- */
.mg-ueber { padding-top: 30px; padding-bottom: 0; }
.mg-ueber-spalten { gap: 30px !important; margin-top: 34px !important; align-items: flex-start !important; }
.mg-ueber-spalten > .wp-block-column { flex: 0 0 calc((100% - 60px) / 3) !important; min-width: 0; }
.mg-kasten-bild img { aspect-ratio: 1; object-fit: cover; }
.mg-kasten { padding: 72px 54px 30px; color: #fff; box-sizing: border-box; }
.mg-kasten h3 { color: #fff; font-size: clamp(26px, 2.3vw, 32px); margin: 0 0 20px; }
.mg-kasten p { font-family: var(--mg-fd); text-transform: uppercase; font-size: clamp(19px, 1.85vw, 26px); line-height: 1.25; margin: 0; }
.mg-kasten-rot { background: var(--mg-rot); margin-top: 21px !important; padding-bottom: 30px; }
.mg-kasten-dunkel { background: var(--mg-dunkel); padding-top: 86px; }
.mg-kasten-bild figure { margin: 0; }
.mg-kasten-bild img { display: block; width: 100%; height: auto; }

/* ---------------- Startseite: Aufruf ---------------- */
.mg-aufruf { padding-top: 30px; padding-bottom: 38px; text-align: center; }
.mg-zickzack {
	border: 0 !important; height: 14px !important; margin: 0 auto 50px !important; opacity: 1 !important; max-width: var(--mg-breite) !important;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M0 3.5l7 7 7-7' fill='none' stroke='%23222D35' stroke-width='3.6'/%3E%3C/svg%3E") repeat-x left center / 14px 14px;
}
.mg-aufruf .mg-einleitung { margin-top: 38px; margin-bottom: 18px; }

/* ---------------- Unterseiten ---------------- */
.mg-seite { padding-top: 36px; padding-bottom: 70px; }
.mg-seitentitel { font-size: clamp(34px, 3.4vw, 48px); margin: 0 0 30px; }
.mg-inhalt > .alignfull { margin-left: calc(-1 * var(--wp--style--root--padding-left)); margin-right: calc(-1 * var(--wp--style--root--padding-right)); }
.mg-seite-voll { padding-top: 28px; }
.mg-seite-ohne-titel { padding-top: 28px; }
/* Seiten aus WPBakery: Zeilen dürfen die volle Inhaltsbreite nutzen */
.mg-inhalt > .vc_row, .mg-inhalt > .vc_section, .mg-inhalt > .wpb-content-wrapper,
.mg-inhalt > .elementor { max-width: var(--mg-breite) !important; }
.mg-inhalt ul:not([class]) li::marker { color: var(--mg-rot); }

.mg-beitraege .wp-block-post-template { gap: 30px; }
.mg-beitrag-karte .mg-karte-titel { color: var(--mg-dunkel); font-size: 24px; }
.mg-beitrag-karte .mg-oberzeile { margin-top: 4px; }
.mg-blaettern { font-family: var(--mg-fd); text-transform: uppercase; }
.mg-suche { max-width: 560px; margin: 0 auto 40px; }
.mg-suche .wp-block-search__input { border: 1px solid #ddd; border-radius: 0; padding: 12px 16px; font: inherit; }

.wp-block-query-pagination { margin-top: 50px; gap: 6px; font-family: var(--mg-fd); }
.wp-block-query-pagination a, .wp-block-query-pagination .current { display: inline-grid; place-items: center; min-width: 44px; height: 44px; background: #f2f2f2; color: var(--mg-dunkel); }
.wp-block-query-pagination .current { background: var(--mg-rot); color: #fff; }

/* ---------------- WooCommerce ---------------- */
.woocommerce ul.products li.product, .wc-block-product {
	background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.08); padding: 0 0 24px; text-align: center;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.wc-block-product .wp-block-post-title {
	font-family: var(--mg-fd); text-transform: uppercase; color: var(--mg-dunkel); font-size: 17px; padding: 0 16px; line-height: 1.35;
}
.woocommerce ul.products li.product .price, .wc-block-components-product-price, .woocommerce div.product p.price { color: var(--mg-rot) !important; font-weight: 600; font-size: 14px; }
.woocommerce span.onsale { background: var(--mg-rot); border-radius: 0; font-family: var(--mg-fd); text-transform: uppercase; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button,
.wc-block-components-button:not(.is-link) {
	background: var(--mg-rot) !important; color: #fff !important; border-radius: 0 !important;
	font-family: var(--mg-fd) !important; text-transform: uppercase; font-weight: 400 !important; letter-spacing: .03em;
}
.woocommerce .button:hover, .wc-block-components-button:not(.is-link):hover { background: var(--mg-dunkel) !important; }
.woocommerce-pagination .page-numbers li .current { background: var(--mg-rot); color: #fff; }

/* ---------------- Fußzeile ---------------- */
.mg-fuss { background: var(--mg-dunkel); color: var(--mg-grau-hell); padding-top: 80px; padding-bottom: 110px; margin-top: 0; }
.mg-fuss-titel { color: #fff; font-size: 32px; margin: 0 0 20px; }
.mg-fuss .mg-liste { font-size: 14px; }
.mg-fuss .mg-liste li { margin-bottom: 6px; }
.mg-fuss-linie { border: 0 !important; border-top: 1px solid #46515a !important; margin: 58px auto 32px !important; opacity: 1; }
.mg-copyright { font-size: 14px; margin: 14px 0 0; }
.mg-symbole { display: flex; gap: 14px; }
.mg-symbole a { color: #6b747a; display: block; width: 16px; height: 16px; transition: color .2s; }
.mg-symbole a:hover { color: #fff; }
.mg-symbole svg { width: 16px; height: 16px; display: block; }

/* ---------------- Mittel und Handy ---------------- */
@media (max-width: 1023px) {
	:root { --mg-rand: 20px; }
	.mg-karten-5 .mg-karte-leer { display: none; }
	.mg-karten { flex-wrap: wrap !important; }
	.mg-karten > .mg-karte { flex-basis: calc(50% - 15px) !important; }
	.mg-kasten { padding: 44px 32px; }
}
@media (max-width: 781px) {
	.mg-ueber-spalten > .wp-block-column { flex-basis: 100% !important; }
	.mg-kopf-aussen { padding: 28px 26px 0; }
	.mg-startbild { min-height: 510px !important; margin: 26px 20px 0 !important; padding: 70px 32px !important; width: auto !important; }
	.mg-startbild-titel { font-size: 31px; margin-bottom: 16px; }
	.mg-startbild-unterzeile { font-size: 22px; margin-bottom: 18px; }
	.mg-startbild-leitspruch { font-size: 16px; }
	.mg-startbild .mg-strichel { margin-bottom: 22px; }
	.mg-leistungen { margin: 26px 20px 0 !important; padding: 26px 30px 30px; width: auto !important; }
	.mg-leistungen .mg-abschnitt-titel { font-size: 28px; }
	.mg-leistungen .mg-einleitung { margin-bottom: 54px; }
	.mg-karten > .mg-karte { flex-basis: 100% !important; }
	.mg-karte-titel { font-size: 21px; }
	.mg-kasten-rot, .mg-kasten-dunkel { margin-top: 0; padding: 40px 30px; }
	.mg-fuss { padding-top: 56px; padding-bottom: 70px; }
	.mg-fuss-unten { flex-direction: column; gap: 18px; }
}


/* ================= Endfassung (29.10.2026) ================= */
/* Kopfzeile bleibt beim Scrollen oben und wird dabei flacher */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 60; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
.mg-kopf-aussen { transition: padding .25s; }
.mg-kopf-aussen.ist-gescrollt { padding-top: 0; }
.mg-kopf { transition: min-height .25s, box-shadow .25s; }
.mg-kopf-aussen.ist-gescrollt .mg-kopf { min-height: 60px; box-shadow: 0 8px 24px rgba(0,0,0,.22); }
.mg-kopf-aussen.ist-gescrollt .mg-hauptmenue > .wp-block-navigation__responsive-container .wp-block-navigation__container > li > .wp-block-navigation-item__content { padding-top: 18px; padding-bottom: 18px; }

/* Zweite Kartenreihe: vier gleich breite Karten ohne Lücke */
.mg-karten-5 .mg-karte-leer { display: none; }
.mg-karten > .mg-karte { flex: 1 1 0 !important; min-width: 0; }
@media (max-width: 1023px) { .mg-karten > .mg-karte { flex-basis: calc(50% - 15px) !important; } }
@media (max-width: 781px) { .mg-karten > .mg-karte { flex-basis: 100% !important; } }

/* Über-uns-Kästen: Fließtext in normaler Schreibung */
.mg-kasten p { font-family: var(--mg-fu); text-transform: none; font-size: 17px; line-height: 1.7; font-weight: 500; }
.mg-kasten-dunkel p { color: #D3D6D8; }

/* Kleiner Pfeil in den roten Knöpfen */
.wp-block-button__link::after { content: "\2192"; display: inline-block; margin-left: 10px; transition: transform .25s; }
.wp-block-button__link:hover::after { transform: translateX(4px); }

/* Fußzeile mit zwei Spalten */
.mg-fuss-spalten { gap: 48px !important; }
.mg-fuss .mg-liste a:hover { color: #fff; }
@media (max-width: 781px) { .mg-fuss-spalten { gap: 24px !important; } }

/* ================= Animationen ================= */
@keyframes mg-hoch { from { opacity: 0; transform: translateY(26px); } to { opacity: 1; transform: none; } }
@keyframes mg-zoom { from { transform: scale(1); } to { transform: scale(1.07); } }
@keyframes mg-glanz { from { transform: translateX(-120%) skewX(-20deg); } to { transform: translateX(220%) skewX(-20deg); } }

/* Startbild: Texte gleiten nacheinander herein, das Foto zoomt ganz langsam */
.mg-startbild { overflow: hidden; }
.mg-startbild .wp-block-cover__image-background { animation: mg-zoom 22s ease-in-out infinite alternate; }
.mg-startbild-text > * { animation: mg-hoch .9s cubic-bezier(.2,.7,.2,1) both; }
.mg-startbild-text > :nth-child(1) { animation-delay: .15s; }
.mg-startbild-text > :nth-child(2) { animation-delay: .35s; }
.mg-startbild-text > :nth-child(3) { animation-delay: .55s; }
.mg-startbild-text > :nth-child(4) { animation-delay: .65s; }
.mg-startbild-text > :nth-child(5) { animation-delay: .8s; }

/* Beim Scrollen: Bausteine blenden von unten ein, Karten nacheinander */
.mg-js .mg-erscheint { opacity: 0; transform: translateY(32px); transition: opacity .8s cubic-bezier(.2,.7,.2,1), transform .8s cubic-bezier(.2,.7,.2,1); }
.mg-js .mg-kasten-rot.mg-erscheint { transform: translateX(-40px); }
.mg-js .mg-kasten-dunkel.mg-erscheint { transform: translateX(40px); }
.mg-js .mg-kasten-bild.mg-erscheint { transform: scale(.94); }
.mg-js .mg-erscheint.mg-da { opacity: 1; transform: none; }

/* Doppelstrich unter Überschriften zieht sich auf */
.mg-js .mg-abschnitt-titel.mg-erscheint::after { width: 0; transition: width .9s .35s cubic-bezier(.2,.7,.2,1); }
.mg-js .mg-abschnitt-titel.mg-da::after { width: 56px; }

/* Zickzacklinie läuft von links nach rechts */
.mg-js .mg-zickzack.mg-erscheint { opacity: 1; transform: none; clip-path: inset(0 100% 0 0); transition: clip-path 1.4s cubic-bezier(.6,.1,.2,1); }
.mg-js .mg-zickzack.mg-da { clip-path: inset(0 0 0 0); }

/* Karten: Foto zoomt im Rahmen, Titel wird rot */
.mg-karte-bild a { overflow: hidden; border: 6px solid var(--mg-rahmen); }
.mg-karte-bild a img { border: 0; transition: transform .7s cubic-bezier(.2,.7,.2,1), filter .7s; }
.mg-karte:hover .mg-karte-bild a img { transform: scale(1.08); filter: saturate(1.15); }
.mg-karte-titel a { transition: color .3s; }
.mg-karte:hover .mg-karte-titel a { color: var(--mg-rot); }
/* Rahmen wird beim Darüberfahren rot, wie im Angebote-Panel */
.mg-karte-bild a, .mg-karte-bild img { transition: border-color .2s; }
.mg-karte:hover .mg-karte-bild a, .mg-karte:hover .mg-karte-bild > img { border-color: var(--mg-rot); }
.mg-liste li { transition: transform .25s; }
.mg-liste li:hover { transform: translateX(4px); }

/* Menü: rote Linie gleitet unter den Punkt */
.mg-hauptmenue .wp-block-navigation__container > li > .wp-block-navigation-item__content { position: relative; }
.mg-hauptmenue .wp-block-navigation__container > li > .wp-block-navigation-item__content::after {
	content: ""; position: absolute; left: 24px; right: 24px; bottom: 20px; height: 2px; background: var(--mg-rot);
	transform: scaleX(0); transform-origin: right; transition: transform .35s cubic-bezier(.2,.7,.2,1);
}
.mg-hauptmenue .wp-block-navigation__container > li:hover > .wp-block-navigation-item__content::after,
.mg-hauptmenue .wp-block-navigation__container > li.current-menu-item > .wp-block-navigation-item__content::after,
.mg-hauptmenue .wp-block-navigation__container > li > .wp-block-navigation-item__content[aria-current="page"]::after { transform: scaleX(1); transform-origin: left; }
.mg-hauptmenue .wp-block-navigation__submenu-container { transition: opacity .25s, transform .25s !important; }
.mg-hauptmenue .has-child:not(:hover):not(:focus-within) > .wp-block-navigation__submenu-container { transform: translateY(8px); }
.mg-hauptmenue .is-menu-open .wp-block-navigation-item__content::after { display: none; }

/* Knöpfe: heller Glanz huscht beim Darüberfahren durch */
.wp-block-button__link { position: relative; overflow: hidden; }
.wp-block-button__link::before {
	content: ""; position: absolute; top: 0; bottom: 0; left: 0; width: 40%;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,.35), transparent); transform: translateX(-120%) skewX(-20deg); pointer-events: none;
}
.wp-block-button__link:hover::before { animation: mg-glanz .8s ease; }

/* Wer weniger Bewegung eingestellt hat, bekommt keine */
@media (prefers-reduced-motion: reduce) {
	.mg-startbild .wp-block-cover__image-background, .mg-startbild-text > *, .wp-block-button__link:hover::before { animation: none !important; }
	.mg-js .mg-erscheint { opacity: 1 !important; transform: none !important; clip-path: none !important; transition: none !important; }
	.mg-js .mg-abschnitt-titel.mg-erscheint::after { width: 56px; transition: none; }
	.mg-karte:hover .mg-karte-bild a img, .mg-liste li:hover { transform: none; }
}


/* ================= Bausteine der Unterseiten (inc/bausteine.php) ================= */
/* Maße abgenommen an den Unterseiten von markus-geretshauser.de */
.mg-b { margin: 0 0 30px; font-family: var(--mg-fu); }
.mg-b-left { text-align: left; } .mg-b-center { text-align: center; } .mg-b-right { text-align: right; }
.mg-b-unterzeile { font-family: var(--mg-fu); font-style: italic; font-weight: 500; font-size: 14px; color: var(--mg-rot); margin-bottom: 6px; }
.mg-b-titel { font-family: var(--mg-fd); font-weight: 400; text-transform: uppercase; color: var(--mg-dunkel); margin: 0 0 .4em; }
.mg-b-kopf .mg-b-titel { font-size: 36px; line-height: 1.15; }
.mg-b-text { color: var(--mg-grau); font-size: 15px; line-height: 1.7; }
.mg-b-text p { margin: 0 0 .8em; }
.mg-b-knopf { display: inline-block; margin-top: 24px; background: var(--mg-rot); color: #fff !important; text-decoration: none; font-family: var(--mg-fd); text-transform: uppercase; font-size: 15px; letter-spacing: 1px; line-height: 1.5; padding: 12px 40px; transition: background .2s; }
.mg-b-knopf:hover, .mg-b-knopf:focus-visible { background: var(--mg-dunkel); }

/* Preistabelle */
.mg-b-preise > .mg-b-titel, .mg-b-preise > .mg-b-unterzeile, .mg-b-preise > .mg-b-text { text-align: center; }
.mg-b-preisraster { display: grid; grid-template-columns: repeat(var(--mg-spalten, 3), minmax(0, 1fr)); gap: 30px; }
.mg-b-preis { background: #fff; border-top: 10px solid var(--mg-dunkel); padding: 47px 34px 34px; text-align: center; color: var(--mg-grau); font-size: 13px; font-weight: 500; line-height: 2; box-shadow: 0 0 0 1px var(--mg-rahmen); display: flex; flex-direction: column; }
.mg-b-preis-unterzeile { text-transform: uppercase; letter-spacing: 1px; color: var(--mg-dunkel); font-weight: 400; }
.mg-b-preis-titel { font-family: var(--mg-fd); font-weight: 400; text-transform: uppercase; letter-spacing: 1px; font-size: 33px; line-height: 1.2; color: var(--mg-dunkel); margin: 4px 0 14px; }
.mg-b-preis-betrag { font-family: var(--mg-fd); font-size: 40px; line-height: 1.1; color: var(--mg-rot); margin-bottom: 18px; }
.mg-b-preis-betrag small { font-size: .45em; margin: 0 4px; }
.mg-b-preis-text { text-align: left; }
.mg-b-preis-text ul { list-style: none; margin: 0; padding: 0; text-align: left !important; }
.mg-b-preis-text li { position: relative; padding-left: 20px; }
.mg-b-preis-text li::before { content: ""; position: absolute; left: 0; top: .85em; width: 6px; height: 6px; background: var(--mg-rot); }
.mg-b-preis .mg-b-knopf { margin-top: auto; align-self: center; }
.mg-b-preis .mg-b-preis-text + .mg-b-knopf { margin-top: 30px; }

/* Aktionskasten */
.mg-b-aktion { display: grid; grid-template-columns: 1fr 1fr; align-items: center; background: #fff; }
.mg-b-aktion.mg-b-ohne-bild { grid-template-columns: 1fr; }
.mg-b-aktion.mg-b-bild-rechts .mg-b-aktion-bild { order: 2; }
.mg-b-aktion-bild img { display: block; width: 100%; height: 100%; object-fit: cover; }
.mg-b-aktion-text { padding: 40px; }
.mg-b-aktion .mg-b-titel { font-size: 30px; }

/* Kreise und Balken */
.mg-b-kreise { display: flex; flex-wrap: wrap; justify-content: center; gap: 40px; }
.mg-b-kreise > .mg-b-titel, .mg-b-kreise > .mg-b-unterzeile, .mg-b-kreise > .mg-b-text { flex-basis: 100%; text-align: center; }
.mg-b-kreis { width: 180px; text-align: center; }
.mg-b-kreis-ring { position: relative; aspect-ratio: 1; border-radius: 50%; background: conic-gradient(var(--mg-farbe) var(--mg-anteil), var(--mg-grund) 0); display: grid; place-items: center; }
.mg-b-kreis-ring::before { content: ""; position: absolute; inset: calc((100% - var(--mg-loch)) / 2); border-radius: 50%; background: #fff; }
.mg-b-kreis-ring span { position: relative; font-family: var(--mg-fd); font-size: 36px; color: var(--mg-dunkel); }
.mg-b-kreis-titel { margin-top: 14px; font-family: var(--mg-fd); text-transform: uppercase; font-size: 18px; color: var(--mg-dunkel); }
.mg-b-balken-zeile { margin-bottom: 18px; }
.mg-b-balken-kopf { display: flex; justify-content: space-between; font-family: var(--mg-fd); text-transform: uppercase; color: var(--mg-dunkel); font-size: 16px; margin-bottom: 6px; }
.mg-b-balken-spur { height: 8px; background: var(--mg-grund); }
.mg-b-balken-spur i { display: block; height: 100%; background: var(--mg-farbe); }

/* Inhaltskasten */
.mg-b-inhalt { margin-left: auto; margin-right: auto; }
.mg-b-breite-tiny { max-width: 480px; } .mg-b-breite-small { max-width: 640px; } .mg-b-breite-medium { max-width: 860px; } .mg-b-breite-large { max-width: 1080px; }

/* Audio und Video */
.mg-b-audio-stueck { margin: 0 0 14px; }
.mg-b-audio-stueck figcaption { font-family: var(--mg-fd); text-transform: uppercase; color: var(--mg-dunkel); margin-bottom: 6px; }
.mg-b-audio audio, .mg-b-video video { width: 100%; display: block; }
.mg-b-video iframe, .mg-b-video-start { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; }
.mg-b-video-start { position: relative; padding: 0; background: var(--mg-dunkel); cursor: pointer; overflow: hidden; }
.mg-b-video-start img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .85; }
.mg-b-video-play { position: absolute; left: 50%; top: 50%; width: 76px; height: 76px; margin: -38px 0 0 -38px; background: var(--mg-rot); border-radius: 50%; transition: transform .2s; }
.mg-b-video-play::after { content: ""; position: absolute; left: 31px; top: 24px; border-style: solid; border-width: 14px 0 14px 22px; border-color: transparent transparent transparent #fff; }
.mg-b-video-start:hover .mg-b-video-play { transform: scale(1.08); }
.mg-b-video-hinweis { position: absolute; left: 0; right: 0; bottom: 0; padding: 8px 12px; background: rgba(34,45,53,.85); color: #fff; font-size: 12px; text-align: center; }

/* Beitragsliste */
.mg-b-beitragsraster { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
.mg-b-beitrag a { display: block; text-decoration: none; color: var(--mg-dunkel); }
.mg-b-beitrag img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; margin-bottom: 12px; }
.mg-b-beitrag time { font-size: 13px; font-style: italic; color: var(--mg-rot); }
.mg-b-beitrag h3 { font-family: var(--mg-fd); font-weight: 400; text-transform: uppercase; font-size: 22px; margin: 4px 0 0; }

@media (max-width: 1023px) {
	.mg-b-preisraster { grid-template-columns: repeat(min(var(--mg-spalten, 3), 2), minmax(0, 1fr)); }
	.mg-b-beitragsraster { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 781px) {
	.mg-b-preisraster, .mg-b-beitragsraster, .mg-b-aktion { grid-template-columns: 1fr; }
	.mg-b-aktion.mg-b-bild-rechts .mg-b-aktion-bild { order: 0; }
	.mg-b-kopf .mg-b-titel { font-size: 30px; }
	.mg-b-aktion-text { padding: 28px 20px; }
}

/* ================= Kopfleiste M01.7 (30.10.2026, Auswahl von Markus) =================
   Weißer Balken, Originallogo links mit roter Schräge, Menü dunkel mit roten Nummern. */
.mg-kopf { background: #fff; min-height: 92px; padding: 0 21px 0 0; align-items: stretch !important; box-shadow: 0 16px 40px rgba(0,0,0,.14); }
.mg-kopf-marke { position: relative; align-items: center; padding: 0 64px 0 22px; clip-path: polygon(0 0, 100% 0, calc(100% - 36px) 100%, 0 100%); }
.mg-kopf-marke::after { content: ""; position: absolute; top: 0; bottom: 0; right: 0; width: 42px; background: var(--mg-rot); clip-path: polygon(36px 0, 42px 0, 6px 100%, 0 100%); }
.mg-kopf-logo { display: block; line-height: 0; }
.mg-kopf-marke img { height: 50px; max-height: none; width: auto; transition: height .25s; }
.mg-hauptmenue, .mg-hauptmenue .wp-block-navigation-item__content { color: var(--mg-dunkel); }
.mg-hauptmenue .wp-block-navigation__container { counter-reset: mg-nr; }
.mg-hauptmenue .wp-block-navigation__container > li:not(.mg-mehr) { counter-increment: mg-nr; }
.mg-hauptmenue .wp-block-navigation__container > li > .wp-block-navigation-item__content { padding: 22px 12px; line-height: 1.1; }
.mg-hauptmenue .wp-block-navigation__container > li:not(.mg-mehr) > .wp-block-navigation-item__content::before {
	content: counter(mg-nr, decimal-leading-zero); display: block; margin-bottom: 3px;
	font-family: var(--mg-fu); font-size: 10px; font-weight: 700; letter-spacing: .1em; color: var(--mg-rot);
}
.mg-hauptmenue .wp-block-navigation__container > li > .wp-block-navigation-item__content::after { left: 12px; right: 12px; bottom: 14px; }
.mg-mehr { align-self: center; }
.mg-mehr > .wp-block-navigation-item__content { width: 48px; height: 48px; margin-left: 8px; padding: 0 !important; display: flex; align-items: center; justify-content: center; border: 2px solid currentColor; color: var(--mg-dunkel) !important; font-size: 11px; }
.mg-mehr > .wp-block-navigation-item__content:hover { color: var(--mg-rot) !important; }
.mg-mehr > .wp-block-navigation-item__content::after { display: none; }
.mg-hauptmenue .wp-block-navigation__submenu-container { background: var(--mg-rot) !important; }
.mg-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: #fff; }
.mg-hauptmenue .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--mg-dunkel); }
.mg-hauptmenue .wp-block-navigation__submenu-container a[href="#"] { color: rgba(255,255,255,.6); }
.mg-hauptmenue .wp-block-navigation__responsive-container-open,
.mg-hauptmenue .wp-block-navigation__responsive-container-close { color: var(--mg-dunkel); }
.mg-hauptmenue .wp-block-navigation__responsive-container.is-menu-open { background: #fff !important; color: var(--mg-dunkel) !important; border-top: 4px solid var(--mg-rot); }
.mg-hauptmenue .is-menu-open .wp-block-navigation-item__content { color: var(--mg-dunkel); }
.mg-hauptmenue .is-menu-open .wp-block-navigation-item__content::before { display: none !important; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--mg-grau); }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container a[href="#"] { color: var(--mg-grau-hell); }
.mg-kopf-aussen.ist-gescrollt .mg-kopf { min-height: 64px; }
.mg-kopf-aussen.ist-gescrollt .mg-kopf-marke img { height: 38px; }
.mg-kopf-aussen.ist-gescrollt .mg-hauptmenue > .wp-block-navigation__responsive-container .wp-block-navigation__container > li > .wp-block-navigation-item__content { padding-top: 12px; padding-bottom: 12px; }
.mg-kopf-aussen.ist-gescrollt .mg-hauptmenue .wp-block-navigation__container > li > .wp-block-navigation-item__content::after { bottom: 6px; }
@media (max-width: 599px) {
	.mg-kopf { justify-content: space-between !important; min-height: 72px; padding: 0 16px 0 0; }
	.mg-kopf-marke { padding: 0 40px 0 12px; clip-path: polygon(0 0, 100% 0, calc(100% - 24px) 100%, 0 100%); }
	.mg-kopf-marke::after { width: 28px; clip-path: polygon(24px 0, 28px 0, 4px 100%, 0 100%); }
	.mg-kopf-marke img { height: 34px; }
	.mg-hauptmenue { align-self: center; }
	.mg-hauptmenue .wp-block-navigation__responsive-container-open { margin: 0; }
}

/* ================= Startbild M07.2 in hell (30.10.2026, Wunsch von Markus) =================
   Heller Schleier statt dunkelblau, dunkle Schrift, rote Kursivzeile, Doppelstrich, zwei Knöpfe. */
.mg-startbild .wp-block-cover__background { background: linear-gradient(90deg, rgba(255,255,255,.94) 0%, rgba(255,255,255,.82) 48%, rgba(255,255,255,.4) 100%) !important; opacity: 1 !important; }
.mg-startbild-text { max-width: 640px; }
.mg-startbild-oberzeile { font-style: italic; font-weight: 500; font-size: 16px; color: var(--mg-rot); margin: 0 0 8px; }
.mg-startbild-titel { margin: 0; color: var(--mg-dunkel); }
.mg-doppelstrich { display: flex; gap: 4px; margin: 20px 0 24px; min-height: 0; }
.mg-doppelstrich::before, .mg-doppelstrich::after { content: ""; display: block; height: 2px; width: 36px; background: var(--mg-dunkel); }
.mg-doppelstrich::after { width: 14px; background: var(--mg-grau); }
.mg-startbild-unterzeile { font-family: var(--mg-fu); text-transform: none; font-size: 16px; line-height: 1.7; color: #4a555d; margin: 0; max-width: 520px; }
.mg-startbild-leitspruch { font-size: 22px; letter-spacing: .02em; margin: 14px 0 0; }
.mg-startbild .wp-block-buttons { gap: 14px; margin-top: 32px; }
.mg-startbild .wp-block-button__link { border: 2px solid var(--mg-rot); }
.mg-startbild .mg-knopf-zwei .wp-block-button__link { background: transparent; color: var(--mg-dunkel); border-color: rgba(34,45,53,.6); }
.mg-startbild .mg-knopf-zwei .wp-block-button__link:hover { background: var(--mg-dunkel); border-color: var(--mg-dunkel); color: #fff; }
.mg-startbild-text > :nth-child(6) { animation-delay: .95s; }
@media (max-width: 781px) {
	.mg-startbild .wp-block-cover__background { background: rgba(255,255,255,.86) !important; }
	.mg-startbild-unterzeile { font-size: 15px; margin-bottom: 0; }
	.mg-startbild-leitspruch { font-size: 18px; }
	.mg-startbild .wp-block-button, .mg-startbild .wp-block-button__link { width: 100%; text-align: center; }
}

/* ================= Handy-Menü M03.3 (30.10.2026) =================
   Weiße Schublade von rechts, Seite dahinter abgedunkelt, Oberpunkte klappen auf. */
.mg-klapp, .mg-schublade-kopf, .mg-schublade-fuss { display: none; }
.mg-hauptmenue .wp-block-navigation__responsive-container.is-menu-open {
	background: rgba(27,39,48,.55) !important; padding: 0 !important; border-top: 0 !important; animation: mg-schleier .3s both;
}
.mg-hauptmenue .is-menu-open .wp-block-navigation__responsive-close {
	flex: none !important; height: auto !important; margin: 0 0 0 auto; max-width: none; width: min(340px, 88%); min-height: 100%; background: #fff;
	box-shadow: -20px 0 50px rgba(0,0,0,.2); animation: mg-schublade .35s cubic-bezier(.2,.8,.2,1) both;
}
.mg-hauptmenue .is-menu-open .wp-block-navigation__responsive-dialog { display: flex; flex-direction: column; min-height: 100vh; margin: 0 !important; }
/* Angemeldet: Schublade beginnt unter der schwarzen WordPress-Leiste */
.admin-bar .mg-hauptmenue .wp-block-navigation__responsive-container.is-menu-open { top: var(--wp-admin--admin-bar--height, 46px) !important; }
.admin-bar .mg-hauptmenue .is-menu-open .wp-block-navigation__responsive-dialog { min-height: calc(100vh - var(--wp-admin--admin-bar--height, 46px)); }
.is-menu-open .mg-schublade-kopf { display: block; padding: 18px 70px 14px 22px; border-bottom: 4px solid var(--mg-rot); }
.mg-schublade-kopf small { display: block; font-family: var(--mg-fu); font-style: italic; font-weight: 500; font-size: 14px; color: var(--mg-rot); text-transform: none; }
.mg-schublade-kopf b { display: block; font-family: var(--mg-fd); font-weight: 400; text-transform: uppercase; font-size: 24px; line-height: 1.1; color: var(--mg-dunkel); }
.mg-hauptmenue .is-menu-open .wp-block-navigation__responsive-container-close {
	top: 16px !important; right: 14px !important; width: 44px; height: 44px; display: flex; align-items: center; justify-content: center; background: #f4f5f6; color: var(--mg-dunkel);
}
.mg-hauptmenue .is-menu-open .wp-block-navigation__responsive-container-content { padding: 8px 22px 16px !important; align-items: stretch !important; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; width: 100%; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__container > li { display: grid !important; grid-template-columns: 1fr auto; align-items: center; width: 100%; border-bottom: 1px solid #e6e8ea; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__container > li > .wp-block-navigation-item__content {
	display: flex; justify-content: space-between; align-items: center; padding: 13px 0 !important;
	font-family: var(--mg-fd); text-transform: uppercase; font-size: 18px; letter-spacing: .03em; color: var(--mg-dunkel);
}
.mg-hauptmenue .is-menu-open .wp-block-navigation__container > li:not(.has-child) > .wp-block-navigation-item__content::after {
	content: "\203A"; display: block; position: static; height: auto; background: none; transform: none; font-family: var(--mg-fu); font-size: 20px; color: var(--mg-grau);
}
.mg-hauptmenue .is-menu-open .current-menu-item > .wp-block-navigation-item__content,
.mg-hauptmenue .is-menu-open .wp-block-navigation-item__content[aria-current="page"] { color: var(--mg-rot); }
.mg-hauptmenue .is-menu-open .wp-block-navigation-submenu__toggle { display: none !important; }
.is-menu-open .mg-klapp { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 0; background: none; color: var(--mg-rot); cursor: pointer; }
.is-menu-open .mg-klapp svg { transition: transform .2s; }
.is-menu-open .mg-klapp[aria-expanded="true"] svg { transform: rotate(180deg); }
.mg-hauptmenue .is-menu-open .wp-block-navigation__container > li > .wp-block-navigation__submenu-container { grid-column: 1 / -1; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__container > li.has-child:not(.mg-auf) > .wp-block-navigation__submenu-container { display: none !important; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container { padding: 4px 0 12px 16px !important; gap: 0 !important; align-items: flex-start !important; text-align: left; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { align-items: flex-start !important; }
.mg-hauptmenue .is-menu-open .mg-trenner { display: none !important; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	position: relative; padding: 6px 0 !important; font-family: var(--mg-fu); text-transform: none; letter-spacing: 0; font-size: 14.5px; color: #4a555d;
}
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before {
	content: "" !important; display: block !important; position: absolute; left: -16px; top: 50%; width: 6px; height: 6px; margin-top: -3px; background: var(--mg-rot);
}
/* KI-Angebote als kleine rote Schilder */
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container { flex-direction: row !important; flex-wrap: wrap; gap: 6px !important; padding: 6px 0 4px !important; }
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 4px 9px !important; font-size: 12.5px; font-weight: 600; background: #fbe9e9; color: var(--mg-rot);
}
.mg-hauptmenue .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container .wp-block-navigation-item__content::before { display: none !important; }
.is-menu-open .mg-schublade-fuss { display: block; margin-top: auto; background: #f4f5f6; padding: 18px 22px; }
.mg-schublade-mail { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font-family: var(--mg-fu); font-size: 13.5px; font-weight: 600; color: var(--mg-dunkel); text-decoration: none; text-transform: none; letter-spacing: 0; }
.mg-schublade-mail svg { color: var(--mg-rot); }
.mg-schublade-sozial { display: flex; gap: 8px; }
.mg-schublade-sozial a { width: 42px; height: 42px; display: flex; align-items: center; justify-content: center; background: var(--mg-dunkel); color: #fff; }
.mg-schublade-sozial a:hover { background: var(--mg-rot); }
@keyframes mg-schleier { from { opacity: 0; } }
@keyframes mg-schublade { from { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) {
	.mg-hauptmenue .is-menu-open, .mg-hauptmenue .is-menu-open .wp-block-navigation__responsive-close { animation: none !important; }
}

/* ================= Dienstleistungen als weißes Panel M02.2 (30.10.2026, Wunsch von Markus) =================
   Statt dunklem Band: weißes Panel, Bildkarten mit 6-px-Rahmen (rot beim Darüberfahren), KI-Leiste unten. */
.mg-leistungen { background: #fff; color: var(--mg-grau); box-shadow: 0 26px 60px rgba(34,45,53,.14); }
.mg-leistungen .mg-abschnitt-titel { color: var(--mg-dunkel); }
.mg-leistungen .mg-abschnitt-titel::after { background: linear-gradient(90deg, var(--mg-rot) 0 36px, transparent 36px 41px, rgba(215,35,35,.45) 41px 56px); }
.mg-leistungen .mg-einleitung { color: var(--mg-grau); margin-bottom: 56px; }
.mg-leistungen .mg-karten { gap: 24px !important; margin-bottom: 24px !important; }
.mg-leistungen .mg-karte-bild { margin-bottom: 10px; }
.mg-leistungen .mg-karte-titel { color: var(--mg-dunkel); font-size: 18px; line-height: 1.2; margin: 0 0 4px; }
.mg-leistungen .mg-karte-titel a { color: inherit; text-decoration: none; }
.mg-leistungen .mg-liste { font-size: 13px; }
.mg-leistungen .mg-liste li { padding-left: 14px; margin: 2px 0; color: var(--mg-grau); }
.mg-leistungen .mg-liste li::before { left: 0; width: 6px; height: 6px; }
.mg-ki-leiste { display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin: 6px 0 0 !important; background: #f4f5f6; padding: 14px 18px; border-left: 4px solid var(--mg-rot); }
.mg-ki-leiste strong { font-family: var(--mg-fd); font-weight: 400; text-transform: uppercase; font-size: 16px; color: var(--mg-dunkel); }
.mg-ki-leiste a { font-family: var(--mg-fd); text-transform: uppercase; font-size: 15px; color: var(--mg-rot); text-decoration: none; padding: 4px 10px; border: 1px solid var(--mg-rot); transition: background-color .2s, color .2s; }
.mg-ki-leiste a:hover { background: var(--mg-rot); color: #fff; }
@media (max-width: 781px) { .mg-ki-leiste strong { width: 100%; } }

/* ================= Nachbesserungen Unterseiten (30.10.2026) ================= */
/* WordPress 7.1 setzt Menüpfeile und Linkdarstellung stärker: hier fest überschreiben */
.mg-hauptmenue .wp-block-navigation__container .wp-block-navigation__submenu-icon { display: none !important; }
.mg-hauptmenue .mg-mehr > .wp-block-navigation-item__content { display: flex !important; }
/* Konto und Warenkorb von WooCommerce mittig in der weißen Leiste */
.mg-kopf > .wp-block-woocommerce-customer-account, .mg-kopf > .wp-block-woocommerce-mini-cart { align-self: center; flex: none; color: var(--mg-dunkel); }
.mg-kopf > .wp-block-woocommerce-customer-account a, .mg-kopf .wc-block-mini-cart__button { color: var(--mg-dunkel); padding: 8px; }
.mg-kopf > .wp-block-woocommerce-customer-account a:hover, .mg-kopf .wc-block-mini-cart__button:hover { color: var(--mg-rot); }
.mg-kopf .wc-block-mini-cart__badge { background: var(--mg-rot) !important; color: #fff !important; }
@media (max-width: 599px) { .mg-kopf > .wp-block-woocommerce-customer-account { display: none; } }
/* Preis-Kästen: Listenpunkte des alten Plugins (trx_addons) neutralisieren */
.mg-b-preis-text ul.trx_addons_list li, .mg-b-preis-text li { padding-left: 20px !important; margin: 0 0 6px !important; text-indent: 0 !important; }
.mg-b-preis-text ul.trx_addons_list li::before, .mg-b-preis-text li::before {
	content: "" !important; font-family: inherit !important; position: absolute !important; left: 0 !important; top: .7em !important;
	width: 6px !important; height: 6px !important; margin: 0 !important; background: var(--mg-rot) !important; color: transparent !important; transform: none !important;
}
/* WPBakery-Einzelbilder: nie breiter als die Spalte (sonst schob z. B. /links am Handy die ganze Seite nach rechts) */
.wpb_single_image .vc_figure, .wpb_single_image .vc_single_image-wrapper { max-width: 100%; }
.mg-inhalt img, .wpb_single_image img { max-width: 100%; height: auto; }
/* Baustellen-Hinweis */
.mg-baustelle { position: relative; z-index: 51; background: var(--mg-rot); color: #fff; text-align: center; font-family: var(--mg-fu); font-size: 14px; font-weight: 600; line-height: 1.4; padding: 9px 16px; }
@media (max-width: 599px) { .mg-baustelle { font-size: 12.5px; padding: 8px 12px; } }
