.work-hours-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr); /* Two grid items per row */
    gap: 10px; /* Adjust as needed */
}

.work-hours-item {
    display: grid;
	grid-template-columns: 40% 60%;
    /*grid-template-columns: repeat(2, 1fr); *//* Two grid items per row */
    gap: 5px; /* Adjust as needed */
}


.work-hours {

}
.work-days
 {

}

/* ==========================================================================
   Cathrin Müller – Onepager
   Schrift: Divi-Standard (keine eigenen Fonts). Farben als Variablen.
   Breakpoints wie Divi: Phone ≤767 · Tablet 768–980 · Desktop ≥981
   Menü: Desktop ab 1200px, darunter Mobil-Menü.
   ========================================================================== */
:root {
	--cm-anthrazit: #2A2826;
	--cm-creme: #F5F1EA;
	--cm-creme-hell: #FBF9F5;
	--cm-weiss: #FFFFFF;
	--cm-sand: #ECE6DC;
	--cm-gold-hell: #F3ECDF;
	--cm-gold: #B08A4E;
	--cm-gold-text: #85632D;
	--cm-gold-button: #8C6A32;
	--cm-gold-hover: #75582A;
	--cm-muted: #5E5953;
	--cm-border: #E0D8CB;
	--cm-border-strong: #8C8276;
	--cm-on-dark: #F7F3EC;
	--cm-header-h: 76px;
	--cm-gutter: clamp(16px, 5vw, 48px);
	--cm-row-max: 1200px;
	--cm-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; scroll-padding-top: 80px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

.cm-visually-hidden {
	position: absolute !important; width: 1px; height: 1px; overflow: hidden;
	clip: rect(0 0 0 0); white-space: nowrap; margin: -1px;
}

/* ---------- Buttons ---------- */
.cm-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 0 24px;
	font-size: 14px; font-weight: 500; line-height: 1; white-space: nowrap;
	letter-spacing: .14em; text-transform: uppercase; text-decoration: none;
	border: 1px solid transparent; border-radius: 2px; cursor: pointer;
	transition: background-color .15s var(--cm-ease), color .15s var(--cm-ease), border-color .15s var(--cm-ease);
}
.cm-btn--primary { background: var(--cm-gold-button); color: #fff; }
.cm-btn--primary:hover { background: var(--cm-gold-hover); color: #fff; }
.cm-btn--outline { border-color: var(--cm-gold-button); color: var(--cm-gold-text); background: transparent; }
.cm-btn--outline:hover { background: var(--cm-gold-button); color: #fff; }
.cm-btn--ghost-light { border-color: rgba(247,243,236,.5); color: var(--cm-on-dark); background: transparent; }
.cm-btn--ghost-light:hover { border-color: var(--cm-on-dark); background: rgba(247,243,236,.08); color: var(--cm-on-dark); }
.cm-btn--block { width: 100%; }

/* ==========================================================================
   HEADER  [cm_menu_desktop] / [cm_menu_mobile]
   ========================================================================== */
.cm-header {
	position: fixed; top: 0; left: 0; right: 0; z-index: 9990;
	background: var(--cm-creme); color: var(--cm-anthrazit);
	box-shadow: 0 1px 0 var(--cm-border);
	transition: background-color .28s var(--cm-ease), color .28s, box-shadow .28s;
}
.admin-bar .cm-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .cm-header { top: 46px; } }

/* Startseite: transparent über dem dunklen Hero, bis gescrollt wird */
html:not(.cm-scrolled) .home .cm-header { background: transparent; color: var(--cm-on-dark); box-shadow: none; }
html.cm-nav-open .cm-header { background: var(--cm-creme) !important; color: var(--cm-anthrazit) !important; box-shadow: 0 1px 0 var(--cm-border) !important; }

/* Unterseiten: Inhalt unter den fixen Header schieben */
body:not(.home) #et-main-area { padding-top: var(--cm-header-h); }

.cm-header__inner {
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	height: var(--cm-header-h); max-width: calc(var(--cm-row-max) + 2 * var(--cm-gutter));
	margin: 0 auto; padding: 0 var(--cm-gutter);
}

/* Logo */
.cm-logo { display: inline-flex; align-items: center; flex: none; line-height: 0; text-decoration: none; }
.cm-logo__img { display: block; width: auto !important; height: auto !important; max-height: 50px; max-width: 100%; }
.cm-logo:focus-visible { outline: 2px solid var(--cm-gold); outline-offset: 4px; }
/* Header (Variante „auto“): farbiges Logo, weißes nur über dem Hero der Startseite vor dem Scrollen */
.cm-logo--auto .cm-logo__img--light { display: none; }
html:not(.cm-scrolled):not(.cm-nav-open) .home .cm-header .cm-logo--auto .cm-logo__img--light { display: block; }
html:not(.cm-scrolled):not(.cm-nav-open) .home .cm-header .cm-logo--auto .cm-logo__img--dark { display: none; }

/* Sichtbarkeit Desktop / Mobil */
.cm-header--desktop { display: none; }
@media (min-width: 1200px) {
	.cm-header--desktop { display: block; }
	.cm-header--mobile { display: none; }
}

/* Desktop-Navigation */
.cm-nav__list { display: flex; gap: 24px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.cm-nav__list li { margin: 0; padding: 0 !important; list-style: none; }
.cm-nav__list a {
	position: relative; display: block; padding: 8px 0;
	color: inherit !important; text-decoration: none; white-space: nowrap;
	font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
}
.cm-nav__list a::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 1px;
	background: var(--cm-gold); transform: scaleX(0); transform-origin: left;
	transition: transform .28s var(--cm-ease);
}
.cm-nav__list a:hover::after, .cm-nav__list a[aria-current="true"]::after { transform: scaleX(1); }
.cm-header__cta { min-height: 42px; font-size: 12px; }
html:not(.cm-scrolled) .home .cm-header__cta { color: var(--cm-on-dark); border-color: var(--cm-gold); }
html:not(.cm-scrolled) .home .cm-header__cta:hover { background: var(--cm-gold-button); }

/* Burger */
.cm-burger {
	width: 48px; height: 48px; display: grid; place-items: center; margin-right: -12px;
	background: none; border: 0; color: inherit; cursor: pointer; padding: 0;
}
.cm-burger__bar, .cm-burger__bar::before, .cm-burger__bar::after {
	display: block; width: 24px; height: 1.5px; background: currentColor; content: "";
	transition: transform .28s var(--cm-ease);
}
.cm-burger__bar { position: relative; }
.cm-burger__bar::before { position: absolute; top: -7px; }
.cm-burger__bar::after { position: absolute; top: 7px; }
.cm-burger[aria-expanded="true"] .cm-burger__bar { background: transparent; }
.cm-burger[aria-expanded="true"] .cm-burger__bar::before { transform: translateY(7px) rotate(45deg); }
.cm-burger[aria-expanded="true"] .cm-burger__bar::after { transform: translateY(-7px) rotate(-45deg); }

/* Mobiles Overlay-Menü */
/* Vollbild über allem (inkl. Header); eigener Kopf mit Logo + X */
.cm-mobile-nav {
	position: fixed; inset: 0; z-index: 10000;
	overflow-y: auto; overscroll-behavior: contain;
	background: var(--cm-creme); color: var(--cm-anthrazit);
	display: flex; flex-direction: column;
	opacity: 0; visibility: hidden; transform: translateY(-8px);
	transition: opacity .28s var(--cm-ease), transform .28s var(--cm-ease), visibility 0s linear .28s;
}
.admin-bar .cm-mobile-nav { top: 32px; }
@media (max-width: 782px) { .admin-bar .cm-mobile-nav { top: 46px; } }
.cm-mobile-nav.is-open { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }
.cm-mobile-nav__head {
	position: sticky; top: 0; z-index: 1; flex: none;
	display: flex; align-items: center; justify-content: space-between; gap: 24px;
	height: var(--cm-header-h); padding: 0 var(--cm-gutter);
	background: var(--cm-creme); border-bottom: 1px solid var(--cm-border);
}
.cm-mobile-nav__body { display: flex; flex-direction: column; gap: 32px; padding: 16px var(--cm-gutter) 64px; }

/* X-Button im Menü */
.cm-close {
	position: relative; width: 48px; height: 48px; margin-right: -12px; padding: 0;
	background: none; border: 0; color: var(--cm-anthrazit); cursor: pointer;
}
.cm-close__icon::before, .cm-close__icon::after {
	content: ""; position: absolute; left: 12px; top: 50%; width: 24px; height: 1.5px; background: currentColor;
}
.cm-close__icon::before { transform: rotate(45deg); }
.cm-close__icon::after { transform: rotate(-45deg); }
.cm-close:hover { color: var(--cm-gold-text); }
.cm-close:focus-visible, .cm-burger:focus-visible { outline: 2px solid var(--cm-gold-button); outline-offset: 2px; }
.cm-mobile-nav__list { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.cm-mobile-nav__list li { margin: 0; padding: 0 !important; list-style: none; }
.cm-mobile-nav__list a {
	display: block; padding: 16px 0; color: inherit !important; text-decoration: none;
	font-size: 20px; letter-spacing: .14em; text-transform: uppercase;
	border-bottom: 1px solid var(--cm-border);
}
.cm-mobile-nav__list a[aria-current="true"] { color: var(--cm-gold-text) !important; }
html.cm-nav-open, html.cm-nav-open body { overflow: hidden; }

/* ==========================================================================
   FOOTER  [cm_footer]
   ========================================================================== */
.cm-footer { color: rgba(247,243,236,.75); }
.cm-footer__top { display: grid; gap: 32px; }
.cm-logo--footer { align-items: flex-start; color: var(--cm-on-dark) !important; }
.cm-footer__claim { margin: 12px 0 0; padding: 0; font-size: 15px; }
.cm-footer__list { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.cm-footer__list li { margin: 0; padding: 0 !important; list-style: none; }
.cm-footer a { color: inherit !important; text-decoration: none; }
.cm-footer__list a, .cm-footer__legal a {
	display: inline-block; padding: 8px 0; font-size: 12px; letter-spacing: .12em; text-transform: uppercase;
}
.cm-footer a:hover { color: var(--cm-gold) !important; }
.cm-footer__bottom {
	display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 24px;
	margin-top: 32px; padding-top: 24px; border-top: 1px solid rgba(247,243,236,.12);
	font-size: 12px;
}
.cm-footer__bottom p { margin: 0; padding: 0; }
.cm-footer__legal { display: flex; gap: 24px; }
@media (min-width: 981px) {
	.cm-footer__top { grid-template-columns: 1fr auto; align-items: center; }
	.cm-footer__list { justify-content: flex-end; }
}

/* ==========================================================================
   STARTSEITE – Sektionen  [cm_hero] … [cm_contact]
   Divi steuert: Section-Hintergrund, Section-Padding, Row-Breite.
   Shortcodes steuern: Inhalt + Raster innerhalb der Row.
   ========================================================================== */

/* ---------- Reset gegen Divi-Standardstile ---------- */
.cm-sec { color: var(--cm-anthrazit); font-size: 17px; line-height: 1.7; }
.cm-sec p { padding: 0; margin: 0; }
.cm-sec h1, .cm-sec h2, .cm-sec h3 { padding: 0; margin: 0; font-weight: 400; color: inherit; }
.cm-sec ul { list-style: none !important; margin: 0 !important; padding: 0 !important; line-height: inherit; }
.cm-sec li { list-style: none; margin: 0; padding: 0; }
.cm-sec figure { margin: 0; }
.cm-sec img { display: block; max-width: 100%; height: auto; }

/* ---------- Typo-Bausteine ---------- */
.cm-eyebrow {
	font-size: 12px; font-weight: 600; line-height: 1.4; letter-spacing: .14em; text-transform: uppercase;
	color: var(--cm-gold-text); margin-bottom: 12px !important;
}
.cm-eyebrow--light { color: var(--cm-gold); }
.cm-h1 { font-size: clamp(44px, 1.6rem + 4.5vw, 76px) !important; line-height: 1.02 !important; letter-spacing: .01em; text-transform: uppercase; color: var(--cm-on-dark) !important; }
.cm-h1 span { display: block; }
.cm-gold { color: var(--cm-gold); }
.cm-h2 { font-size: clamp(30px, 1.4rem + 2.2vw, 46px) !important; line-height: 1.15 !important; letter-spacing: .04em; text-transform: uppercase; text-wrap: balance; }
.cm-h2--light { color: var(--cm-on-dark) !important; }
.cm-h3 { font-size: 15px !important; font-weight: 600 !important; line-height: 1.4 !important; letter-spacing: .1em; text-transform: uppercase; }
.cm-divider { display: block; width: 56px; height: 2px; background: var(--cm-gold); margin: 24px 0 32px; }
.cm-center {/* text-align: center;*/ }
.cm-center .cm-divider { margin-left: auto; margin-right: auto; }
.cm-narrow {  margin: 0 auto; }
.cm-lead { font-size: 20px; line-height: 1.6; font-weight: 300; color: var(--cm-muted); }
.cm-lead--light { color: rgba(247,243,236,.88); }
.cm-text { color: var(--cm-anthrazit); }
.cm-muted { color: var(--cm-muted); }
.cm-split__content > .cm-text + .cm-btn, .cm-split__content > .cm-checklist + .cm-btn { margin-top: 32px; }

/* Icons */
.cm-icon { width: 44px; height: 44px; flex: none; fill: none; stroke: var(--cm-gold); stroke-width: 1.4; stroke-linecap: round; stroke-linejoin: round; }
.cm-icon--lg { width: 56px; height: 56px; }

/* Blurbs */
.cm-blurb--left { display: flex; gap: 16px; align-items: flex-start; }
.cm-blurb--top { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 12px; }
.cm-blurb__text { margin-top: 4px !important; font-size: 15px; line-height: 1.6; color: var(--cm-muted); }
.cm-blurb--top .cm-blurb__text { max-width: 30ch; }

/* Bilder */
.cm-figure img { width: 100%; object-fit: cover; border-radius: 2px; }
.cm-figure--portrait img { aspect-ratio: 4 / 5; }
.cm-figure--landscape img { aspect-ratio: 4 / 3; object-position: 50% 30%; }
.cm-figure--gallery img { aspect-ratio: 3 / 4; }
/* Desktop: Bild füllt die Höhe der Nachbarspalte. Phone/Tablet: ganzes Bild im Originalformat (kein Zuschnitt) */
.cm-figure--fill img { height: auto; object-position: 50% 30%; } /* Seitenverhältnis kommt aus width/height des <img> */
@media (min-width: 981px) {
	.cm-split--stretch { align-items: stretch; }
	.cm-figure--fill { position: relative; min-height: 360px; }
	.cm-figure--fill img { position: absolute; inset: 0; height: 100%; aspect-ratio: auto; }
}

/* Raster (Phone 1 Spalte · Tablet · Desktop) */
.cm-split { display: grid; gap: 48px; }
.cm-grid { display: grid; gap: 48px; }
@media (min-width: 768px) {
	.cm-grid--2, .cm-grid--4 { grid-template-columns: repeat(2, 1fr); }
	.cm-grid--3 { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 981px) {
	.cm-split { grid-template-columns: 1.1fr .9fr; gap: clamp(48px, 7vw, 112px); }
	.cm-split--media-left { grid-template-columns: .9fr 1.1fr; }
	.cm-split--middle { align-items: center; }
	.cm-split--bottom { align-items: end; }
	.cm-grid--4 { grid-template-columns: repeat(4, 1fr); }
}

/* ---------- 1 · Hero ---------- */
/* Bild vollflächig (Beitragsbild), Verlauf darüber, Inhalt in 80 % / max. 1080px */
.cm-hero {
	position: relative; isolation: isolate; overflow: hidden;
	display: flex; align-items: flex-end;
	/* Phone/Tablet: min. 65vh, max. 80vh (svh = stabile Höhe bei ein-/ausfahrender Browserleiste) */
	min-height: 65vh; min-height: 65svh;
	max-height: 80vh; max-height: 80svh;
	background: var(--cm-anthrazit); color: var(--cm-on-dark);
}
.cm-hero__bg { position: absolute; inset: 0; z-index: -2; overflow: hidden; }
.cm-hero__img {
	position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important;
	object-fit: cover; object-position: 50% 25%;
	transform-origin: 55% 35%;
	animation: cm-kenburns 26s ease-in-out infinite alternate;
	will-change: transform;
}
/* Ken Burns: langsamer Zoom + leichte Verschiebung */
@keyframes cm-kenburns {
	0%   { transform: scale(1) translate3d(0, 0, 0); }
	100% { transform: scale(1.14) translate3d(-2%, -1.5%, 0); }
}
@media (prefers-reduced-motion: reduce) {
	.cm-hero__img { animation: none; }
}
/* Verlauf für Lesbarkeit (Phone: von unten) */
.cm-hero::before {
	content: ""; position: absolute; inset: 0; z-index: -1;
	background: linear-gradient(180deg, rgba(42,40,38,.6) 0%, rgba(42,40,38,.1) 20%, rgba(42,40,38,.55) 36%, rgba(42,40,38,.9) 52%, rgba(42,40,38,.96) 100%);
}
.cm-hero__content {
	position: relative; width: 90%; max-width: 1080px; margin: 0 auto;
	padding: 88px 0 32px;
}
/* Phone/Tablet kompakter, damit der Inhalt in max. 80vh passt */
@media (max-width: 980px) {
	.cm-hero .cm-lead { font-size: 18px; line-height: 1.55; }
	.cm-hero .cm-btn-group { margin-top: 24px; }
}
.cm-hero .cm-divider { margin: 8px 0; }
.cm-hero .cm-lead {/* max-width: 34ch;*/ }
.cm-btn-group { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 32px; }
.cm-btn-group .cm-btn { flex: 1 1 100%; }
@media (min-width: 480px) { .cm-btn-group .cm-btn { flex: 0 0 auto; } }
@media (min-width: 981px) {
	.cm-hero { align-items: center; min-height: min(100vh, 960px); max-height: none; }
	.cm-hero__img { object-position: 50% 30%; }
	/* Desktop: Verlauf von links, oben leicht abgedunkelt für den Header */
	.cm-hero::before {
		background:
			linear-gradient(90deg, rgba(42,40,38,.9) 0%, rgba(42,40,38,.72) 32%, rgba(42,40,38,.25) 62%, rgba(42,40,38,.1) 100%),
			linear-gradient(180deg, rgba(42,40,38,.5) 0%, transparent 22%);
	}
	.cm-hero__content { width: 80%; max-width: 1080px; padding: 140px 0 96px; }
	.cm-hero__content > * { max-width: 620px; }
}

/* ---------- 2 · Säulen ---------- */
.cm-pillars { display: grid; }
.cm-pillars .cm-blurb { padding: 24px 0; border-bottom: 1px solid var(--cm-border); }
.cm-pillars .cm-blurb:last-child { border-bottom: 0; }
.cm-pillars .cm-h3 { font-size: 14px !important; }
@media (min-width: 768px) {
	.cm-pillars { grid-template-columns: repeat(2, 1fr); column-gap: 32px; }
	.cm-pillars .cm-blurb:nth-last-child(2) { border-bottom: 0; }
}
@media (min-width: 981px) {
	.cm-pillars { grid-template-columns: repeat(4, 1fr); column-gap: 0; }
	.cm-pillars .cm-blurb { border-bottom: 0; padding: 0 24px; }
	.cm-pillars .cm-blurb:first-child { padding-left: 0; }
	.cm-pillars .cm-blurb + .cm-blurb { border-left: 1px solid var(--cm-border); }
}

/* ---------- WYSIWYG-Inhalte (.cm-rte): Formatierung aus dem Editor übernehmen ---------- */
.cm-rte > * + * { margin-top: 1em !important; }
.cm-rte p { padding: 0 !important; }
.cm-rte strong, .cm-rte b { font-weight: 600; color: var(--cm-anthrazit); }
.cm-rte em, .cm-rte i { font-style: italic; }
.cm-rte a { color: var(--cm-gold-text); text-decoration: underline; text-underline-offset: 3px; }
.cm-rte a:hover { color: var(--cm-gold-hover); }
.cm-rte ul, .cm-rte ol { padding-left: 1.25em !important; text-align: left; }
.cm-rte ul { list-style: disc !important; }
.cm-rte ol { list-style: decimal !important; }
.cm-rte li { list-style: inherit; padding: 0; }
.cm-rte li + li { margin-top: .35em; }
.cm-rte h2, .cm-rte h3, .cm-rte h4 { font-weight: 600 !important; line-height: 1.3 !important; color: var(--cm-anthrazit) !important; padding: 0 !important; }
.cm-rte h2 { font-size: 1.4em !important; }
.cm-rte h3 { font-size: 1.2em !important; }
.cm-rte h4 { font-size: 1.05em !important; }
.cm-rte blockquote { margin: 0; padding: 0 0 0 1em; border-left: 2px solid var(--cm-gold); font-style: italic; }
.cm-rte hr { border: 0; height: 1px; background: var(--cm-border); }
/* Ausrichtung aus dem Editor (Inline-Stil text-align wirkt direkt; hier die WP-Klassen) */
.cm-rte .alignleft { float: left; margin: 0 1em 1em 0; }
.cm-rte .alignright { float: right; margin: 0 0 1em 1em; }
.cm-rte .aligncenter { display: block; margin-left: auto; margin-right: auto; }

/* ---------- 4 · Leistungen ---------- */
.cm-services__grid { margin-top: clamp(40px, 6vw, 80px); row-gap: 48px; }

/* ---------- 5 · Über mich ---------- */
.cm-about__media { position: relative; padding: 0 14% 14% 0; }
.cm-about__main { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; border-radius: 2px; }
.cm-about__accent { position: absolute; right: 0; bottom: -25px; width: 44%; }
.cm-about__accent img { width: 100%; aspect-ratio: 3 / 4; object-fit: cover; border: 6px solid var(--cm-creme); border-radius: 2px; }
.cm-about__badge {
	position: absolute; left: 16px; bottom: calc(14% + 16px);
	display: flex; align-items: center; gap: 12px; padding: 12px 16px !important;
	background: var(--cm-weiss); border-radius: 2px; box-shadow: 0 8px 24px -12px rgba(42,40,38,.3);
}
.cm-about__badge strong { font-size: 32px; font-weight: 400; line-height: 1; color: var(--cm-gold-text); }
.cm-about__badge span { max-width: 12ch; overflow-wrap: normal; word-break: normal; hyphens: manual; font-size: 11px; line-height: 1.3; letter-spacing: .12em; text-transform: uppercase; }
.cm-prose { color: var(--cm-muted); }
/* Qualifikationen als Checkliste (Stil: .cm-checklist, siehe „Für wen“) */
.cm-sec .cm-checklist.cm-about__quals { margin-top: 32px !important; }

/* ---------- 6 · Für wen ---------- */
.cm-sec .cm-checklist { display: grid !important; gap: 12px; margin-top: 24px !important; }
.cm-checklist li { position: relative; padding-left: 32px !important; }
.cm-checklist li::before {
	content: ""; position: absolute; left: 2px; top: .45em; width: 14px; height: 8px;
	border-left: 1.5px solid var(--cm-gold); border-bottom: 1.5px solid var(--cm-gold); transform: rotate(-45deg);
}
.cm-audience .cm-figure img { object-position: 60% 50%; }

/* ---------- 7 · Galerie ---------- */
/* Endlos-Karussell: sichtbare Bilder je Breite über --cm-per-view */
.cm-gallery { position: relative; --cm-per-view: 1.25; --cm-gap: 8px; padding: 0 8px; }
@media (min-width: 768px) { .cm-gallery { --cm-per-view: 2.5; } }
@media (min-width: 981px) { .cm-gallery { --cm-per-view: 4; } }
.cm-carousel__viewport { overflow: hidden; }
.cm-carousel__track {
	position: relative; display: flex; gap: var(--cm-gap);
	transition: transform .55s var(--cm-ease); will-change: transform;
	touch-action: pan-y; user-select: none;
}
.cm-carousel__slide { flex: 0 0 calc((100% - (var(--cm-per-view) - 1) * var(--cm-gap)) / var(--cm-per-view)); min-width: 0; }
.cm-carousel__open {
	display: block; width: 100%; padding: 0; border: 0; background: none; cursor: zoom-in;
	border-radius: 2px; overflow: hidden;
}
.cm-carousel__open img {
	width: 100%; aspect-ratio: 1 / 1; object-fit: cover; pointer-events: none;
	transition: transform .5s var(--cm-ease);
}
.cm-carousel__open:hover img { transform: scale(1.04); }
.cm-carousel__open:focus-visible { outline: 2px solid var(--cm-gold-button); outline-offset: -4px; }

/* Pfeile (Karussell + Lightbox) */
.cm-carousel__nav, .cm-lightbox__nav {
	position: absolute; top: 50%; transform: translateY(-50%); z-index: 2;
	width: 48px; height: 48px; padding: 0; border: 0; border-radius: 50%;
	background: rgba(251,249,245,.92); color: var(--cm-anthrazit); cursor: pointer;
	box-shadow: 0 4px 16px -6px rgba(42,40,38,.35);
	transition: background-color .15s, color .15s;
}
.cm-carousel__nav:hover, .cm-lightbox__nav:hover { background: var(--cm-gold-button); color: #fff; }
.cm-carousel__nav:focus-visible, .cm-lightbox__nav:focus-visible, .cm-lightbox__close:focus-visible { outline: 2px solid var(--cm-gold); outline-offset: 3px; }
.cm-carousel__nav--prev { left: 16px; }
.cm-carousel__nav--next { right: 16px; }
.cm-carousel__nav span, .cm-lightbox__nav span {
	position: absolute; top: 50%; left: 50%; width: 10px; height: 10px;
	border-top: 1.5px solid currentColor; border-right: 1.5px solid currentColor;
}
.cm-carousel__nav--prev span, .cm-lightbox__nav--prev span { transform: translate(-30%, -50%) rotate(-135deg); }
.cm-carousel__nav--next span, .cm-lightbox__nav--next span { transform: translate(-70%, -50%) rotate(45deg); }
@media (prefers-reduced-motion: reduce) {
	.cm-carousel__track, .cm-carousel__open img { transition: none; }
}

/* ---------- Lightbox (Markup im Footer) ---------- */
.cm-lightbox {
	position: fixed; inset: 0; z-index: 100000;
	display: flex; align-items: center; justify-content: center;
	padding: 64px 16px; background: rgba(28,26,24,.94);
	opacity: 0; transition: opacity .25s var(--cm-ease);
}
.cm-lightbox[hidden] { display: none; }
.cm-lightbox.is-open { opacity: 1; }
html.cm-lightbox-open, html.cm-lightbox-open body { overflow: hidden; }
.cm-lightbox__figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 12px; max-width: 100%; max-height: 100%; }
.cm-lightbox__img {
	display: block; max-width: min(1200px, 100%); max-height: calc(100vh - 160px); width: auto; height: auto;
	object-fit: contain; border-radius: 2px; box-shadow: 0 20px 60px -20px rgba(0,0,0,.6);
}
.cm-lightbox__caption { display: flex; gap: 16px; justify-content: center; flex-wrap: wrap; color: rgba(247,243,236,.8); font-size: 14px; text-align: center; }
.cm-lightbox__count { color: var(--cm-gold); letter-spacing: .1em; }
.cm-lightbox__close {
	position: absolute; top: 16px; right: 16px; width: 48px; height: 48px; padding: 0;
	border: 0; background: none; color: var(--cm-on-dark); cursor: pointer;
}
.admin-bar .cm-lightbox__close { top: 48px; }
.cm-lightbox__close span::before, .cm-lightbox__close span::after {
	content: ""; position: absolute; left: 12px; top: 50%; width: 24px; height: 1.5px; background: currentColor;
}
.cm-lightbox__close span::before { transform: rotate(45deg); }
.cm-lightbox__close span::after { transform: rotate(-45deg); }
.cm-lightbox__close:hover { color: var(--cm-gold); }
.cm-lightbox__nav--prev { left: 16px; }
.cm-lightbox__nav--next { right: 16px; }
@media (max-width: 767px) {
	.cm-lightbox__nav { top: auto; bottom: 16px; transform: none; }
	.cm-lightbox__img { max-height: calc(100vh - 200px); }
}

/* ---------- 8 · Preise ---------- */
.cm-pricing__grid { max-width: 1000px; margin: 0 auto; gap: 24px; }
.cm-card {
	display: flex; flex-direction: column; gap: 16px; align-items: flex-start;
	background: var(--cm-weiss); border: 1px solid var(--cm-border); border-radius: 6px;
	padding: clamp(24px, 4vw, 48px);
}
.cm-card--featured { background: var(--cm-gold-hell); border-color: var(--cm-gold); }
.cm-price { display: flex; align-items: baseline; gap: 12px; width: 100%; padding-bottom: 16px !important; border-bottom: 1px solid var(--cm-border); }
.cm-price__amount { font-size: 44px; font-weight: 300; line-height: 1; }
.cm-price__unit { font-size: 12px; letter-spacing: .12em; text-transform: uppercase; color: var(--cm-muted); }
.cm-card__text { flex: 1; font-size: 15px; color: var(--cm-muted); margin-bottom: 8px !important; }

/* ---------- 9 · Wissensbereich ---------- */
/* Kopf: Eyebrow, Überschrift, Linie, Text – untereinander, volle Breite */
.cm-knowledge__head { width: 100%; margin-bottom: 48px; }
.cm-knowledge__head > * { max-width: none; }
.cm-knowledge .cm-grid { gap: 16px; }
.cm-topic { display: flex; flex-direction: column; padding: 24px; background: var(--cm-creme-hell); border: 1px solid var(--cm-border); border-radius: 6px; }
.cm-topic .cm-blurb { flex: 1; }
.cm-toggle { margin-top: 16px; border-top: 1px solid var(--cm-border); }
.cm-toggle summary {
	display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 44px; padding-top: 12px;
	cursor: pointer; list-style: none; font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase;
	color: var(--cm-gold-text);
}
.cm-toggle summary::-webkit-details-marker { display: none; }
.cm-toggle summary::after {
	content: ""; width: 8px; height: 8px; margin-top: -4px;
	border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg); transition: transform .28s var(--cm-ease);
}
.cm-toggle[open] summary::after { transform: rotate(-135deg); margin-top: 4px; }
.cm-toggle p { padding-top: 12px !important; font-size: 15px; color: var(--cm-muted); text-align: center; }

/* ---------- 10 · CTA ---------- */
.cm-cta { color: var(--cm-on-dark); background-size: cover; background-position: 50% 40%; padding: clamp(96px, 13vw, 170px) var(--cm-gutter); }
.cm-cta__inner { max-width: 640px; }
@media (min-width: 1300px) { .cm-cta { padding-left: calc((100vw - var(--cm-row-max)) / 2); } }
.cm-cta .cm-lead { margin-bottom: 32px !important; }

/* ---------- 11 · Kontakt ---------- */
/* Alles untereinander, volle Breite: Kopf → Kontakt-Boxen (1 Reihe) → Formular */
.cm-contact__head { width: 100%; margin-bottom: clamp(40px, 5vw, 64px); text-align: left; }
.cm-contact__head .cm-lead { max-width: none; }
.cm-contact__body { display: grid; grid-template-columns: 100%; gap: clamp(32px, 4vw, 48px); }

/* Kontakt-Boxen: ab 600px nebeneinander in einer Reihe, Phone untereinander */
.cm-sec .cm-contact__boxes { display: grid !important; gap: 16px; }
@media (min-width: 600px) {
	.cm-sec .cm-contact__boxes { grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 24px; }
}
.cm-contact__box {
	display: flex; align-items: flex-start; gap: 16px; height: 100%;
	padding: 24px; background: var(--cm-weiss); color: inherit !important; text-decoration: none;
	border: 1px solid var(--cm-border); border-radius: 6px;
	transition: border-color .15s var(--cm-ease), box-shadow .15s var(--cm-ease);
}
.cm-contact__box:hover { border-color: var(--cm-gold); box-shadow: 0 12px 32px -18px rgba(42,40,38,.35); }
.cm-contact__box:focus-visible { outline: 2px solid var(--cm-gold-button); outline-offset: 3px; }
.cm-contact__box-text { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.cm-contact__label { font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--cm-gold-text); }
.cm-contact__value { font-size: 18px; line-height: 1.4; color: var(--cm-anthrazit); overflow-wrap: anywhere; }
.cm-contact__box:hover .cm-contact__value { color: var(--cm-gold-text); }
.cm-contact__note { font-size: 14px; line-height: 1.5; color: var(--cm-muted); }

.cm-form { margin: 0; }
