/*
Theme Name: ComniPOS
Theme URI: https://comnipos.de
Description: Child-Theme der Produktseite comnipos.de. Basiert auf GeneratePress.
Author: SW-Comnizept GmbH & Co. KG
Template: generatepress
Version: 1.0.0
Text Domain: comnipos
*/

/* =========================================================
   1. Schrift (selbst gehostet – kein Aufruf bei Google)
   ========================================================= */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 400; font-display: swap; src: url("fonts/montserrat-400.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 500; font-display: swap; src: url("fonts/montserrat-500.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 600; font-display: swap; src: url("fonts/montserrat-600.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 700; font-display: swap; src: url("fonts/montserrat-700.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 800; font-display: swap; src: url("fonts/montserrat-800.woff2") format("woff2"); }

/* =========================================================
   2. Design-Tokens – die Comni-Familie
   ========================================================= */
:root {
	--cpo-ink:        #111418;
	--cpo-ink-soft:   #1f242c;
	--cpo-red:        #B40217;
	--cpo-red-dark:   #8e0112;
	--cpo-red-light:  #fbeef0;
	--cpo-gray:       #f2f3f5;
	--cpo-gray-2:     #e6e8ec;
	--cpo-line:       #dcdfe5;
	--cpo-muted:      #5d6572;
	--cpo-white:      #ffffff;
	--cpo-green:      #146c2e;

	--cpo-radius:     14px;
	--cpo-radius-sm:  9px;
	--cpo-shadow:     0 1px 2px rgba(17,20,24,.05), 0 14px 36px -14px rgba(17,20,24,.16);
	--cpo-shadow-lg:  0 2px 4px rgba(17,20,24,.06), 0 32px 64px -24px rgba(17,20,24,.32);

	--cpo-font: "Montserrat", "Segoe UI", system-ui, -apple-system, sans-serif;
	--cpo-wrap: 1180px;
	--cpo-section: clamp(64px, 8vw, 112px);
}

/* =========================================================
   3. Grundlagen
   ========================================================= */
body {
	font-family: var(--cpo-font);
	color: var(--cpo-ink);
	background: var(--cpo-white);
	font-size: 17px;
	line-height: 1.7;
	-webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 {
	font-family: var(--cpo-font);
	color: var(--cpo-ink);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: -.025em;
	margin-top: 0;
}
h1 { font-size: clamp(2.3rem, 4.6vw, 3.6rem); font-weight: 800; }
h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
h3 { font-size: clamp(1.15rem, 1.6vw, 1.35rem); }
a { color: var(--cpo-red); text-decoration-thickness: 1px; text-underline-offset: 3px; }
a:hover { color: var(--cpo-red-dark); }
p.cpo-lead, .cpo-lead { font-size: clamp(1.08rem, 1.5vw, 1.28rem); line-height: 1.6; color: var(--cpo-muted); }
.cpo-muted { color: var(--cpo-muted); }

/* GeneratePress-Container auf unser Raster bringen */
.site-content .content-area { padding: 0; }
.cpo-main .site-content > .container,
.cpo-main .site-content .grid-container { max-width: 100%; width: 100%; padding: 0; }
.cpo-main .content-area { width: 100%; float: none; }
.cpo-main .separate-containers .site-main { margin: 0; }
.cpo-main .entry-content > * { margin-block: 0; }
.cpo-main .entry-content { margin-top: 0; }
.cpo-main .inside-article { padding: 0; }
.cpo-main .entry-header { display: none; }
[class*="cpo-"] > .wp-block-group__inner-container { display: contents; }

/* =========================================================
   4. Kopf
   ========================================================= */
.site-header { background: var(--cpo-white); border-bottom: 1px solid var(--cpo-line); }
.site-header .site-branding, .site-header .site-title, .site-header .site-description { display: none; }
/* Marke und Navigation auf einer Höhe – GP lässt beide schwimmen, dann hängt
   das Logo oben, weil die Navigation ihre eigene Zeilenhöhe mitbringt. */
.site-header .inside-header { display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.site-header .inside-header::before, .site-header .inside-header::after { display: none; }
.site-header .site-logo, .site-header .main-navigation { float: none; margin: 0; }
.site-header .site-logo { display: flex; align-items: center; }
.main-navigation, .main-navigation .inside-navigation, .main-navigation .main-nav > ul { background: transparent !important; }
.main-navigation .main-nav ul li a, .main-navigation .menu-toggle { color: var(--cpo-ink) !important; background: transparent !important; }
.main-navigation .main-nav ul li a:hover, .main-navigation .main-nav ul li.current-menu-item > a { color: var(--cpo-red) !important; }
.inside-header { padding: 14px 24px; max-width: var(--cpo-wrap); }
.site-logo img { height: 34px; width: auto; }
.cpo-marke { display: inline-flex; align-items: center; gap: 10px; text-decoration: none; color: var(--cpo-ink); font-weight: 800; font-size: 1.35rem; letter-spacing: -.03em; }
.cpo-marke:hover { color: var(--cpo-ink); }
.cpo-marke img { display: block; height: 34px; width: 34px; }
.cpo-footer-brand strong::before { content: ""; display: inline-block; width: 26px; height: 26px; background: url("img/marke-invers.svg") center/contain no-repeat; }
.main-navigation, .main-navigation a { font-family: var(--cpo-font); }
.main-navigation .main-nav ul li a {
	font-size: .95rem; font-weight: 600; color: var(--cpo-ink);
	padding: 0 14px; line-height: 56px;
}
.main-navigation .main-nav ul li:hover > a,
.main-navigation .main-nav ul li.current-menu-item > a { color: var(--cpo-red); background: transparent; }
.main-navigation .main-nav ul li.cpo-nav-cta > a {
	background: var(--cpo-red) !important; color: #fff !important; border-radius: 999px;
	line-height: 40px; padding: 0 20px; margin-left: 10px; margin-top: 8px;
}
.main-navigation .main-nav ul li.cpo-nav-cta > a:hover { background: var(--cpo-red-dark) !important; color: #fff !important; }
.main-navigation .main-nav ul li.cpo-nav-quiet > a { color: var(--cpo-muted); font-weight: 500; }
.main-navigation .menu-toggle, .main-navigation .mobile-bar-items a { color: var(--cpo-ink); }
.main-navigation.toggled .main-nav > ul { background: #fff; border-top: 1px solid var(--cpo-line); }
.main-navigation.toggled .main-nav ul li a { line-height: 48px; }
.main-navigation.toggled .main-nav ul li.cpo-nav-cta > a { margin: 8px 14px; display: inline-block; line-height: 40px; }

/* Schmale Schirme: Marke links, Menüknopf rechts, aufgeklapptes Menü darunter */
@media (max-width: 768px) {
	.site-header .inside-header { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; padding: 10px 16px; text-align: left; }
	.site-header .site-logo { margin: 0; }
	.site-header .main-navigation { flex: 0 0 auto; }
	.main-navigation .menu-toggle { padding: 8px 4px; font-weight: 600; }
	.main-navigation.toggled { flex-basis: 100%; }
	.main-navigation.toggled .main-nav { margin-top: 8px; }
	.cpo-marke { font-size: 1.2rem; }
	.cpo-marke img { height: 30px; width: 30px; }
}

/* =========================================================
   5. Sektionen, Raster
   ========================================================= */
.cpo-section { padding-top: var(--cpo-section); padding-bottom: var(--cpo-section); }
.cpo-section--tight { padding-top: clamp(44px, 5vw, 72px); padding-bottom: clamp(44px, 5vw, 72px); }
.cpo-wrap { max-width: var(--cpo-wrap); margin-inline: auto; padding-inline: 24px; box-sizing: border-box; }
.cpo-wrap-text { max-width: 800px; }
.cpo-wrap-text h2 { font-size: 1.4rem; margin-top: 44px; margin-bottom: 12px; }
.cpo-wrap-text h2:first-child { margin-top: 0; }
.cpo-wrap-text h3 { font-size: 1.1rem; margin-top: 28px; margin-bottom: 8px; }
.cpo-wrap-text p, .cpo-wrap-text ul { margin-bottom: 16px; }
.cpo-bg-gray { background: var(--cpo-gray); }
.cpo-bg-ink { background: var(--cpo-ink); color: #fff; }
.cpo-bg-ink h1, .cpo-bg-ink h2, .cpo-bg-ink h3, .cpo-bg-ink p, .cpo-bg-ink li { color: #fff; }
.cpo-bg-ink p, .cpo-bg-ink .cpo-lead { color: rgba(255,255,255,.8); }
.cpo-bg-red { background: var(--cpo-red); color: #fff; }
.cpo-bg-red h2, .cpo-bg-red h3, .cpo-bg-red p { color: #fff; }

.cpo-eyebrow {
	display: inline-block; font-size: .76rem; font-weight: 700; letter-spacing: .14em;
	text-transform: uppercase; color: var(--cpo-red); margin-bottom: 14px !important;
}
.cpo-bg-ink .cpo-eyebrow, .cpo-bg-red .cpo-eyebrow { color: rgba(255,255,255,.7); }
.cpo-head { max-width: 760px; margin-bottom: 48px !important; }
.cpo-head h2 { margin-bottom: 14px; }
.cpo-head p { margin-bottom: 0; }
.cpo-head--center { margin-inline: auto; text-align: center; }

.cpo-grid { display: grid; gap: 22px; }
.cpo-grid--2 { grid-template-columns: repeat(2, 1fr); }
.cpo-grid--3 { grid-template-columns: repeat(3, 1fr); }
.cpo-grid--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 980px) { .cpo-grid--3, .cpo-grid--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cpo-grid--2, .cpo-grid--3, .cpo-grid--4 { grid-template-columns: 1fr; } }

.cpo-split { display: grid; grid-template-columns: 1.05fr .95fr; gap: clamp(32px, 6vw, 80px); align-items: center; }
.cpo-split--rev { direction: rtl; } .cpo-split--rev > * { direction: ltr; }
@media (max-width: 900px) { .cpo-split, .cpo-split--rev { grid-template-columns: 1fr; direction: ltr; } }

/* =========================================================
   6. Buttons
   ========================================================= */
.wp-block-buttons { gap: 12px; }
.cpo-main .wp-block-buttons { margin-top: 30px; }
.cpo-main .wp-block-button .wp-block-button__link, .cpo-btn {
	font-family: var(--cpo-font); font-size: .98rem; font-weight: 600; line-height: 1.2;
	padding: 15px 26px; border-radius: 999px; border: 1px solid transparent;
	background: var(--cpo-red); color: #fff; text-decoration: none; display: inline-block;
	transition: transform .15s ease, background .15s ease, color .15s ease;
	box-shadow: 0 10px 22px -12px rgba(180,2,23,.7);
}
.cpo-main .wp-block-button .wp-block-button__link:hover, .cpo-btn:hover { background: var(--cpo-red-dark); color: #fff; transform: translateY(-1px); }
.cpo-main .cpo-btns .wp-block-button:not(:first-child) .wp-block-button__link {
	background: transparent; color: var(--cpo-ink); border-color: var(--cpo-line); box-shadow: none;
}
.cpo-main .cpo-btns .wp-block-button:not(:first-child) .wp-block-button__link:hover { border-color: var(--cpo-ink); color: var(--cpo-ink); background: transparent; }
.cpo-main .cpo-bg-ink .cpo-btns .wp-block-button:not(:first-child) .wp-block-button__link,
.cpo-main .cpo-bg-red .cpo-btns .wp-block-button:not(:first-child) .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.35); }
.cpo-main .cpo-bg-red .cpo-btns .wp-block-button:first-child .wp-block-button__link { background: #fff; color: var(--cpo-red); box-shadow: none; }
.cpo-main .cpo-bg-red .cpo-btns .wp-block-button:first-child .wp-block-button__link:hover { background: #fbeef0; }

/* =========================================================
   7. Hero
   ========================================================= */
.cpo-hero { padding-top: clamp(56px, 8vw, 104px); padding-bottom: clamp(56px, 8vw, 104px); background:
	radial-gradient(1200px 600px at 80% -10%, rgba(180,2,23,.07), transparent 60%), var(--cpo-white); }
.cpo-hero .cpo-split { align-items: center; }
.cpo-hero h1 { margin-bottom: 20px; }
.cpo-hero h1 em { font-style: normal; color: var(--cpo-red); }
.cpo-hero .cpo-lead { margin-bottom: 0; }
.cpo-hero__note { font-size: .88rem; color: var(--cpo-muted); margin-top: 18px; }
.cpo-hero__note strong { color: var(--cpo-ink); font-weight: 600; }

/* Mail-Attrappe mit Signatur */
.cpo-mail {
	background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius);
	box-shadow: var(--cpo-shadow-lg); overflow: hidden; font-size: 14px; max-width: 560px; margin-inline: auto;
}
.cpo-mail__bar { display: flex; gap: 6px; padding: 12px 14px; background: var(--cpo-gray); border-bottom: 1px solid var(--cpo-line); }
.cpo-mail__bar i { width: 10px; height: 10px; border-radius: 50%; background: var(--cpo-gray-2); display: block; }
.cpo-mail__bar i:first-child { background: #e8b1b8; }
.cpo-mail__head { padding: 10px 18px; border-bottom: 1px solid var(--cpo-line); color: var(--cpo-muted); font-size: 13px; }
.cpo-mail__head span { color: var(--cpo-ink); }
.cpo-mail__body { padding: 18px 18px 6px; color: var(--cpo-ink); line-height: 1.55; }
.cpo-mail__body p { margin: 0 0 10px; font-size: 14px; }
.cpo-sig { display: grid; grid-template-columns: 64px 1fr auto; gap: 16px; align-items: start; padding: 16px 18px 20px; border-top: 3px solid var(--cpo-red); margin-top: 6px; font-family: Arial, Helvetica, sans-serif; }
.cpo-sig__portrait { width: 64px; height: 64px; border-radius: 50%; background: linear-gradient(135deg, #2b3138, #111418); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 20px; font-family: var(--cpo-font); }
.cpo-sig__name { font-weight: 700; font-size: 15px; margin: 0 0 2px; }
.cpo-sig__role { color: var(--cpo-muted); font-size: 12.5px; margin: 0 0 8px; }
.cpo-sig__line { font-size: 12.5px; margin: 0; line-height: 1.5; }
.cpo-sig__line a { color: var(--cpo-red); text-decoration: none; }
.cpo-sig__logo { font-family: var(--cpo-font); font-weight: 800; font-size: 15px; letter-spacing: -.02em; color: var(--cpo-ink); text-align: right; }
.cpo-sig__logo b { color: var(--cpo-red); }
.cpo-sig__banner { grid-column: 1 / -1; margin-top: 8px; background: linear-gradient(90deg, var(--cpo-red), #d8253a); color: #fff; border-radius: 6px; padding: 10px 14px; font-size: 12.5px; font-weight: 600; display: flex; justify-content: space-between; align-items: center; }
.cpo-sig__banner span { font-weight: 400; opacity: .9; }
.cpo-sig__legal { grid-column: 1 / -1; font-size: 10.5px; color: #8a919c; margin: 6px 0 0; line-height: 1.5; }
@media (max-width: 480px) { .cpo-sig { grid-template-columns: 52px 1fr; } .cpo-sig__logo { grid-column: 1 / -1; text-align: left; } }

/* Geräte-Zeile unter der Attrappe */
.cpo-devices { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin-top: 18px; }
.cpo-devices span { font-size: .8rem; font-weight: 600; color: var(--cpo-muted); background: var(--cpo-gray); border-radius: 999px; padding: 6px 12px; }

/* =========================================================
   8. Karten, Schritte, Zahlen
   ========================================================= */
.cpo-card {
	background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius);
	padding: 28px 26px; box-shadow: var(--cpo-shadow); display: flex; flex-direction: column; gap: 8px;
}
.cpo-card h3 { margin: 0; }
.cpo-card p { margin: 0; color: var(--cpo-muted); font-size: .98rem; }
.cpo-main .cpo-card .wp-block-buttons { margin: 10px 0 6px; }
.cpo-card--icon::before {
	content: ""; width: 44px; height: 44px; border-radius: 12px; background: var(--cpo-red-light); margin-bottom: 8px;
	background-repeat: no-repeat; background-position: center; background-size: 24px;
}
.cpo-bg-ink .cpo-card { background: var(--cpo-ink-soft); border-color: rgba(255,255,255,.1); box-shadow: none; }
.cpo-bg-ink .cpo-card p { color: rgba(255,255,255,.72); }
.cpo-bg-ink .cpo-card--icon::before { background-color: rgba(255,255,255,.08); }

.cpo-ico-phone::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='7' y='2.5' width='10' height='19' rx='2'/><path d='M11 18h2'/></svg>"); }
.cpo-ico-desktop::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='12' rx='2'/><path d='M8 20h8M12 16v4'/></svg>"); }
.cpo-ico-server::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='7' rx='1.5'/><rect x='3' y='13' width='18' height='7' rx='1.5'/><path d='M7 7.5h.01M7 16.5h.01'/></svg>"); }
.cpo-ico-template::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h8l4 4v14H6z'/><path d='M14 3v4h4M9 12h6M9 16h4'/></svg>"); }
.cpo-ico-law::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v18M5 7h14M7 7l-3 7a3 3 0 0 0 6 0zM17 7l-3 7a3 3 0 0 0 6 0z'/></svg>"); }
.cpo-ico-banner::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='9' rx='1.5'/><path d='M7 9.5h7M8 19h8'/></svg>"); }
.cpo-ico-users::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='8' r='3.2'/><path d='M3.5 19c0-3 2.5-5 5.5-5s5.5 2 5.5 5'/><path d='M16 5.5a3 3 0 0 1 0 6M17.5 14c2 .5 3 2.2 3 5'/></svg>"); }
.cpo-ico-cloud::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M7 18a4 4 0 0 1-.5-8 5.5 5.5 0 0 1 10.6-1.2A4 4 0 0 1 17 18z'/></svg>"); }
.cpo-ico-shield::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z'/><path d='m9 12 2 2 4-4'/></svg>"); }
.cpo-ico-image::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='16' rx='2'/><circle cx='8.5' cy='9' r='1.5'/><path d='m4 18 5-5 3 3 3-4 5 6'/></svg>"); }
.cpo-ico-sync::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12a8 8 0 0 1-14 5.3M4 12a8 8 0 0 1 14-5.3'/><path d='M18 3v4h-4M6 21v-4h4'/></svg>"); }
.cpo-ico-handshake::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 10h4l3-3 4 1 3 3 4-1v6l-4 2-3-1-3 3-4-1-3-3H3z'/></svg>"); }

/* Nummerierte Schritte */
.cpo-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; counter-reset: schritt; }
@media (max-width: 800px) { .cpo-steps { grid-template-columns: 1fr; } }
.cpo-step { position: relative; padding: 26px 26px 26px 26px; background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); }
.cpo-step::before {
	counter-increment: schritt; content: counter(schritt);
	display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 50%;
	background: var(--cpo-red); color: #fff; font-weight: 800; margin-bottom: 14px;
}
.cpo-step h3 { margin: 0 0 6px; }
.cpo-step p { margin: 0; color: var(--cpo-muted); font-size: .98rem; }
.cpo-step__time { display: inline-block; margin-top: 12px !important; font-size: .8rem !important; font-weight: 600; color: var(--cpo-red) !important; }

/* Drei Wege */
.cpo-way { border-top: 4px solid var(--cpo-red); }
.cpo-way p.cpo-way__for { font-size: .82rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--cpo-red); margin: 0 0 4px; }
.cpo-way ul { margin: 6px 0 0; padding-left: 18px; color: var(--cpo-muted); font-size: .95rem; }
.cpo-way li { margin-bottom: 4px; }

/* Häkchenliste */
.cpo-check { list-style: none; padding: 0; margin: 20px 0 0; }
.cpo-check li { position: relative; padding-left: 32px; margin-bottom: 12px; }
.cpo-check li::before {
	content: ""; position: absolute; left: 0; top: 4px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--cpo-red-light) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23B40217' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><path d='m6 10.5 2.5 2.5 5.5-6'/></svg>") center/14px no-repeat;
}
.cpo-bg-ink .cpo-check li::before { background-color: rgba(255,255,255,.1); }

/* Vergleich CodeTwo */
.cpo-table { overflow-x: auto; }
.cpo-table table { width: 100%; border-collapse: collapse; font-size: .95rem; }
.cpo-table th, .cpo-table td { padding: 12px 14px; border-bottom: 1px solid var(--cpo-line); text-align: left; vertical-align: top; }
.cpo-table th { font-weight: 700; background: var(--cpo-gray); }
.cpo-table td:first-child { font-weight: 600; }

/* FAQ */
.cpo-faq { margin-inline: auto; }
.cpo-faq .wp-block-details { border-bottom: 1px solid var(--cpo-line); padding: 6px 0; margin: 0; }
.cpo-faq summary { font-weight: 600; cursor: pointer; padding: 12px 0; font-size: 1.04rem; list-style: none; position: relative; padding-right: 36px; }
.cpo-faq summary::-webkit-details-marker { display: none; }
.cpo-faq summary::after { content: "+"; position: absolute; right: 4px; top: 8px; font-size: 1.5rem; color: var(--cpo-red); font-weight: 400; }
.cpo-faq details[open] summary::after { content: "–"; }
.cpo-faq details > p { margin: 0 0 14px; color: var(--cpo-muted); }

/* CTA-Band */
.cpo-cta { display: grid; grid-template-columns: 1.4fr 1fr; gap: 32px; align-items: center; }
@media (max-width: 800px) { .cpo-cta { grid-template-columns: 1fr; } }
.cpo-cta h2 { margin-bottom: 10px; }
.cpo-cta p { margin: 0; }
.cpo-cta .wp-block-buttons { justify-content: flex-end; margin-top: 0; }
@media (max-width: 800px) { .cpo-cta .wp-block-buttons { justify-content: flex-start; } }

/* Infobox */
.cpo-infobox { background: var(--cpo-red-light); border-left: 4px solid var(--cpo-red); border-radius: var(--cpo-radius-sm); padding: 20px 24px; margin-top: 28px; }
.cpo-infobox h3 { margin: 0 0 6px; font-size: 1.05rem; }
.cpo-infobox p { margin: 0; color: var(--cpo-ink); }
.cpo-infobox--quiet { background: var(--cpo-gray); border-left-color: var(--cpo-muted); }

/* Kontaktkarte */
.cpo-contact { display: grid; gap: 6px; }
.cpo-contact .wp-block-heading { font-size: 1.15rem; margin: 0 0 4px; }
.cpo-contact p { margin: 0; }
.cpo-contact .cpo-contact__big { font-size: 1.3rem; font-weight: 700; }

/* Vorlagen-Galerie */
.cpo-galerie { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px; }
@media (max-width: 800px) { .cpo-galerie { grid-template-columns: 1fr; } }
.cpo-galerie__item { margin: 0; display: flex; flex-direction: column; gap: 12px; }
.cpo-galerie__bild { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow); overflow: hidden; display: flex; align-items: flex-start; min-height: 220px; }
.cpo-galerie__bild img { display: block; max-width: 100%; height: auto; }
.cpo-galerie figcaption { font-size: .92rem; color: var(--cpo-muted); line-height: 1.5; }
.cpo-galerie figcaption strong { display: block; color: var(--cpo-ink); font-size: 1rem; margin-bottom: 2px; }
.cpo-bg-gray .cpo-galerie__bild { box-shadow: none; }

/* Formular */
.cpo-formular { display: grid; gap: 16px; }
.cpo-formular__reihe { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 640px) { .cpo-formular__reihe { grid-template-columns: 1fr; } }
.cpo-formular label { display: block; font-size: .9rem; font-weight: 600; color: var(--cpo-ink); }
.cpo-formular input[type="text"], .cpo-formular input[type="email"], .cpo-formular input[type="tel"],
.cpo-formular select, .cpo-formular textarea {
	display: block; width: 100%; margin-top: 6px; padding: 12px 14px; font: inherit; font-weight: 400; font-size: 1rem;
	border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius-sm); background: #fff; color: var(--cpo-ink); box-sizing: border-box;
}
.cpo-formular input:focus, .cpo-formular select:focus, .cpo-formular textarea:focus { outline: 2px solid var(--cpo-red); outline-offset: 1px; border-color: var(--cpo-red); }
/* einzeilige Felder gleich hoch – das Auswahlfeld rechnet der Browser sonst anders */
.cpo-formular input[type="text"], .cpo-formular input[type="email"], .cpo-formular input[type="tel"],
.cpo-formular select { height: 52px; line-height: 1.5; }
.cpo-formular select { padding-top: 0; padding-bottom: 0; }
.cpo-formular textarea { resize: vertical; min-height: 120px; }
.cpo-pflicht { color: var(--cpo-red); }
.cpo-formular__topf { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.cpo-formular__haken { display: flex; gap: 10px; align-items: flex-start; font-weight: 400 !important; font-size: .88rem !important; color: var(--cpo-muted) !important; }
.cpo-formular__haken input { margin-top: 4px; flex: none; }
.cpo-formular .cpo-btn { justify-self: start; border: 0; cursor: pointer; }
.cpo-formular__hinweis { font-size: .9rem; color: var(--cpo-muted); }
.cpo-formular--danke { background: var(--cpo-red-light); border-left: 4px solid var(--cpo-red); border-radius: var(--cpo-radius-sm); padding: 22px 26px; }
.cpo-formular--danke h3 { margin: 0 0 6px; }
.cpo-formular--danke p { margin: 0; }
.cpo-formular-fehler { background: #fdecec; border-left: 4px solid #b00; border-radius: var(--cpo-radius-sm); padding: 14px 18px; margin: 0 0 16px; }
.cpo-kontaktraster { display: grid; grid-template-columns: 1.3fr .9fr; gap: 28px; align-items: start; }
@media (max-width: 900px) { .cpo-kontaktraster { grid-template-columns: 1fr; } }

/* =========================================================
   9. Fuß
   ========================================================= */
.site-footer { background: var(--cpo-ink); color: rgba(255,255,255,.75); font-size: .93rem; }
.footer-widgets-container, .inside-footer-widgets { background: transparent; }
.footer-widgets { background: transparent; padding: 56px 24px 24px; max-width: var(--cpo-wrap); margin-inline: auto; }
.footer-widgets .widget-title { font-size: .8rem; letter-spacing: .12em; text-transform: uppercase; color: #fff; margin-bottom: 14px; }
.footer-widgets a { color: rgba(255,255,255,.8); text-decoration: none; }
.footer-widgets a:hover { color: #fff; text-decoration: underline; }
.footer-widgets ul { list-style: none; margin: 0; padding: 0; }
.footer-widgets li { margin-bottom: 8px; }
.footer-widgets p { color: rgba(255,255,255,.75); }
.cpo-footer-brand strong { color: #fff; font-size: 1.15rem; display: inline-flex; align-items: center; gap: 8px; }
.cpo-footer-brand img { height: 26px; width: auto; }
.site-info { background: transparent; border-top: 1px solid rgba(255,255,255,.1); }
.inside-site-info { max-width: var(--cpo-wrap); padding: 18px 24px; }
.copyright-bar { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 8px 24px; color: rgba(255,255,255,.55); font-size: .85rem; }
.copyright-bar a { color: rgba(255,255,255,.75); text-decoration: none; }
.copyright-bar a:hover { color: #fff; }

/* =========================================================
   10. ComniPOS-Bausteine (Bericht, Treffer, Befund, Prüfungen …)
   ========================================================= */

/* Kopf-Schriftzug: „SEO" in Markenrot */
.cpo-marke span b { color: var(--cpo-red); font-weight: 800; }

/* --- Kennzahlenband --- */
.cpo-stats { display: grid; grid-template-columns: repeat(4, 1fr); gap: 26px; }
@media (max-width: 900px) { .cpo-stats { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .cpo-stats { grid-template-columns: 1fr; } }
.cpo-stat .zahl, .cpo-stat p.zahl { font-family: var(--cpo-font); font-weight: 800; font-size: clamp(1.8rem, 3.2vw, 2.4rem); color: var(--cpo-red); letter-spacing: -.03em; line-height: 1.1; }
.cpo-stat .txt, .cpo-stat p.txt { color: var(--cpo-muted); font-size: .95rem; margin-top: 4px; }

/* --- Szenen: echte Fragen aus dem Arbeitsalltag --- */
.cpo-szenen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 980px) { .cpo-szenen { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cpo-szenen { grid-template-columns: 1fr; } }
.cpo-szene { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); padding: 26px 24px; box-shadow: var(--cpo-shadow); display: flex; flex-direction: column; gap: 14px; }
.cpo-szene__marker { font-family: var(--cpo-font); font-weight: 700; font-size: .72rem; text-transform: uppercase; letter-spacing: .1em; color: var(--cpo-muted); }
.cpo-szene__frage { font-family: var(--cpo-font); font-weight: 700; font-size: 1.18rem; line-height: 1.3; letter-spacing: -.02em; color: var(--cpo-ink); }
.cpo-szene__frage::before { content: "\201E"; } .cpo-szene__frage::after { content: "\201C"; }
.cpo-szene__antwort { color: var(--cpo-muted); font-size: .98rem; margin: 0; }
.cpo-szene__antwort b { color: var(--cpo-ink); font-weight: 600; }

/* --- Warum ComniPOS: 9 Kacheln mit rotem Brand-Punkt --- */
.cpo-warum { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 900px) { .cpo-warum { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 560px) { .cpo-warum { grid-template-columns: 1fr; } }
.cpo-wkarte { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); padding: 24px; box-shadow: var(--cpo-shadow); display: flex; flex-direction: column; gap: 10px; }
.cpo-wkarte .wpunkt { width: 11px; height: 11px; border-radius: 50%; background: var(--cpo-red); box-shadow: 0 0 0 5px var(--cpo-red-light); }
.cpo-wkarte h3 { margin: 0; font-size: 1.1rem; }
.cpo-wkarte p { margin: 0; color: var(--cpo-muted); font-size: .95rem; }

/* --- Hero-Häkchen inline --- */
.cpo-hero__checks { display: flex; flex-wrap: wrap; gap: 8px 22px; margin-top: 22px; font-size: .9rem; color: var(--cpo-muted); }
.cpo-hero__checks span { display: inline-flex; align-items: center; gap: 8px; }
.cpo-hero__checks span::before { content: ""; width: 18px; height: 18px; flex: none; background: var(--cpo-red-light) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%23B40217' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><path d='m6 10.5 2.5 2.5 5.5-6'/></svg>") center/12px no-repeat; border-radius: 50%; }

/* --- Suchtreffer: so sieht die Website in den Ergebnissen aus --- */
.cpo-treffer-paar { display: grid; gap: 18px; }
.cpo-treffer { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); padding: 22px 24px; box-shadow: var(--cpo-shadow); position: relative; }
.cpo-treffer__marke { position: absolute; top: -10px; left: 22px; font-family: var(--cpo-font); font-weight: 700; font-size: .66rem; text-transform: uppercase; letter-spacing: .1em; background: var(--cpo-gray-2); color: var(--cpo-muted); border-radius: 999px; padding: 3px 12px; }
.cpo-treffer--nachher .cpo-treffer__marke { background: var(--cpo-red); color: #fff; }
.cpo-treffer--vorher { opacity: .82; }
.cpo-treffer__pfad { font-size: .8rem; color: #5f6368; margin-bottom: 4px; }
.cpo-treffer__titel { font-family: var(--cpo-font); font-size: 1.12rem; line-height: 1.3; color: #1a0dab; margin-bottom: 5px; }
.cpo-treffer__text { font-size: .88rem; line-height: 1.5; color: #4d5156; }

/* --- Berichts-Attrappe: der Bericht, wie ComniPOS ihn aufbaut --- */
.cpo-bericht { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow-lg); overflow: hidden; }
.cpo-bericht__kopf { display: flex; align-items: center; gap: 10px; padding: 14px 20px; border-bottom: 1px solid var(--cpo-line); background: var(--cpo-gray); }
.cpo-bericht__kopf b { font-family: var(--cpo-font); font-weight: 700; letter-spacing: -.01em; }
.cpo-bericht__marke { width: 24px; height: 24px; flex: none; display: block; }
.cpo-bericht__body { padding: 20px 22px 22px; }
.cpo-bericht__stand { font-size: .98rem; line-height: 1.55; margin: 0 0 16px; }
.cpo-bericht__gut { margin-bottom: 14px; }
.cpo-bericht .cpo-zeile { display: flex; align-items: center; gap: 10px; padding: 9px 0; border-top: 1px solid var(--cpo-gray-2); font-size: .88rem; }
.cpo-bericht .cpo-zeile--gut { color: var(--cpo-muted); border-top: 0; padding: 4px 0 4px 22px; position: relative; }
.cpo-bericht .cpo-zeile--gut::before { content: ""; position: absolute; left: 3px; top: 12px; width: 7px; height: 7px; border-radius: 50%; background: #2e8b57; }
.cpo-bericht .cpo-zeile__text { flex: 1; }
.cpo-bericht .rest { color: var(--cpo-muted); font-size: .78rem; white-space: nowrap; }

/* Gewicht eines Befunds – dieselben vier Stufen wie im Plugin */
.cpo-gewicht { font-family: var(--cpo-font); font-weight: 700; font-size: .64rem; text-transform: uppercase; letter-spacing: .08em; color: var(--cpo-muted); flex: none; min-width: 74px; }
.cpo-gewicht--kritisch { color: var(--cpo-red); }
.cpo-gewicht--wichtig { color: #b8600d; }

/* --- Ein Befund in voller Länge: was, warum, was geschieht --- */
.cpo-befund { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); padding: 26px 26px 22px; box-shadow: var(--cpo-shadow-lg); }
.cpo-befund__kopf { margin-bottom: 12px; }
.cpo-befund__was { font-family: var(--cpo-font); font-weight: 600; font-size: 1.12rem; line-height: 1.35; letter-spacing: -.01em; margin: 0 0 12px; color: var(--cpo-ink); }
.cpo-befund__warum { font-size: .92rem; line-height: 1.6; color: var(--cpo-muted); margin: 0 0 16px; }
.cpo-befund__tun { display: flex; align-items: flex-start; gap: 10px; font-size: .92rem; line-height: 1.55; margin: 0; padding-top: 14px; border-top: 1px solid var(--cpo-gray-2); }
.cpo-punkt { width: 9px; height: 9px; border-radius: 50%; background: var(--cpo-red); flex: none; margin-top: 7px; }

/* --- Prüfliste in Gruppen --- */
.cpo-pruefungen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 980px) { .cpo-pruefungen { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) { .cpo-pruefungen { grid-template-columns: 1fr; } }
.cpo-pruefgruppe { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); padding: 24px 24px 20px; box-shadow: var(--cpo-shadow); }
.cpo-pruefgruppe h2, .cpo-pruefgruppe h3 { font-size: 1.02rem; margin: 0 0 14px; letter-spacing: -.01em; }
.cpo-pruefgruppe ul { list-style: none; margin: 0; padding: 0; }
.cpo-pruefgruppe li { position: relative; padding-left: 20px; margin-bottom: 10px; font-size: .9rem; line-height: 1.5; color: var(--cpo-muted); }
.cpo-pruefgruppe li::before { content: ""; position: absolute; left: 0; top: 9px; width: 6px; height: 6px; border-radius: 50%; background: var(--cpo-red); opacity: .55; }

/* --- Markenprofil: was Maschinen über die Marke erfahren --- */
.cpo-entitaet { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow-lg); overflow: hidden; }
.cpo-entitaet__kopf { padding: 14px 20px; border-bottom: 1px solid var(--cpo-line); background: var(--cpo-gray); font-family: var(--cpo-font); font-weight: 600; font-size: .92rem; }
.cpo-entitaet .cpo-zeile { display: flex; align-items: center; gap: 14px; padding: 12px 20px; border-top: 1px solid var(--cpo-gray-2); font-size: .9rem; }
.cpo-entitaet .cpo-zeile:first-of-type { border-top: 0; }
.cpo-entitaet .cpo-feld { font-family: var(--cpo-font); font-weight: 600; min-width: 130px; color: var(--cpo-ink); }
.cpo-entitaet .rest { color: var(--cpo-muted); }

/* --- Dunkle Sektion: Kontrast für die KI-Abschnitte --- */
.cpo-bg-dark { background: var(--cpo-ink); color: #fff; }
.cpo-bg-dark h2, .cpo-bg-dark h3 { color: #fff; }
.cpo-bg-dark p { color: rgba(255,255,255,.78); }
.cpo-bg-dark .cpo-eyebrow { color: rgba(255,255,255,.55); }
.cpo-bg-dark .cpo-check li::before { background-color: rgba(255,255,255,.12); }
.cpo-bg-dark .cpo-muted { color: rgba(255,255,255,.6); }
.cpo-bg-dark .cpo-befund, .cpo-bg-dark .cpo-entitaet { color: var(--cpo-ink); }
.cpo-bg-dark .cpo-befund p, .cpo-bg-dark .cpo-entitaet p { color: inherit; }
.cpo-bg-dark .cpo-befund__warum { color: var(--cpo-muted); }
.cpo-btns--hell .wp-block-button__link { background: #fff; color: var(--cpo-ink); }
.cpo-btns--hell .wp-block-button__link:hover { background: var(--cpo-gray-2); }

/* --- Schmaler Textblock für ruhige Absätze --- */
.cpo-wrap-schmal { max-width: 720px; margin: 0 auto; }
.cpo-wrap-schmal h2 { margin-bottom: 18px; }

/* --- Dreierraster für Karten --- */
.cpo-dreier { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
@media (max-width: 900px) { .cpo-dreier { grid-template-columns: 1fr; } }


/* Symbole der Ausfuehrungsarten und der KI-Karten */
.cpo-ico-klick::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 4.5v7'/><path d='M9 11.5 7 13.5a2 2 0 0 0 0 3l4 4h6l2-6-6-3'/></svg>"); }
.cpo-ico-vorschlag::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='16' rx='2'/><path d='m7 12 3 3 6-6'/></svg>"); }
.cpo-ico-hand::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M8 13V5.5a1.5 1.5 0 0 1 3 0V11m0-1.5a1.5 1.5 0 0 1 3 0V12m0-1a1.5 1.5 0 0 1 3 0v4a5 5 0 0 1-5 5h-1a5 5 0 0 1-5-5v-3l-1.5-2a1.5 1.5 0 0 1 2.5-1.6L8 13'/></svg>"); }
.cpo-ico-text::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 6h14M5 11h14M5 16h8'/></svg>"); }
.cpo-ico-zitat::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 7H5.5A1.5 1.5 0 0 0 4 8.5V12h5V7zm0 5c0 3-1.5 4.5-4 5M20 7h-3.5A1.5 1.5 0 0 0 15 8.5V12h5V7zm0 5c0 3-1.5 4.5-4 5'/></svg>"); }
.cpo-ico-quelle::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M3.5 12h17M12 3.5c2.5 2.6 2.5 14.4 0 17M12 3.5c-2.5 2.6-2.5 14.4 0 17'/></svg>"); }

/* --- Nachtrag: die Textbausteine sind jetzt echte Gutenberg-Blöcke ---
   Gutenberg setzt Gruppen als <div class="wp-block-group …"> und Absätze als
   <p>. Die Abstände kommen deshalb hier, statt aus den früheren <div>s. */
.cpo-stats > .wp-block-group,
.cpo-szenen > .wp-block-group,
.cpo-warum > .wp-block-group,
.cpo-pruefungen > .wp-block-group { margin: 0; }
.cpo-stat p { margin: 0; }
.cpo-szene p { margin: 0; }
.cpo-wkarte .wp-block-heading { margin: 0; }
.cpo-wkarte p { margin: 0; }

/* Der rote Punkt der Warum-Kachel kam früher aus einem leeren <span>.
   Jetzt zeichnet ihn das CSS – ein Element weniger, das im Editor stört. */
.cpo-wkarte { position: relative; padding-top: 30px; }
.cpo-wkarte::before { content: ""; position: absolute; top: 24px; left: 24px; width: 11px; height: 11px; border-radius: 50%; background: var(--cpo-red); box-shadow: 0 0 0 5px var(--cpo-red-light); }
.cpo-wkarte .wp-block-heading { margin-top: 12px; }

/* Die Prüfliste nutzt jetzt eine echte Liste statt <div>+<ul>. */
.cpo-pruefgruppe .wp-block-list { list-style: none; margin: 0; padding: 0; }


/* =========================================================
   ComniPOS: Betriebsarten, Kassen-Attrappen, Symbole
   ========================================================= */

/* --- Zwei Betriebsarten nebeneinander --- */
.cpo-wege { display: grid; grid-template-columns: repeat(2, 1fr); gap: 22px; margin-top: 8px; }
.cpo-wege > .wp-block-group { margin: 0; }
@media (max-width: 800px) { .cpo-wege { grid-template-columns: 1fr; } }

/* --- Kassenoberfläche --- */
.cpo-kasse { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow-lg); overflow: hidden; font-size: .86rem; }
.cpo-kasse__kopf { display: flex; gap: 14px; align-items: center; padding: 10px 14px; background: #16181c; color: #d6d8dc; }
.cpo-kasse__kopf b { color: #fff; font-weight: 700; }
.cpo-kasse__kopf b span { color: #ff5a6a; }
.cpo-kasse__wer { margin-left: auto; background: rgba(255,255,255,.1); border-radius: 999px; padding: 2px 10px; }
.cpo-kasse__leib { display: grid; grid-template-columns: 1.15fr 1fr; gap: 0; }
.cpo-kacheln { display: grid; grid-template-columns: repeat(auto-fill, minmax(108px, 1fr)); gap: 16px 9px; padding: 12px; background: var(--cpo-gray); align-content: start; }
.cpo-kacheln__kopf { grid-column: 1 / -1; display: flex; align-items: center; gap: 8px; margin-bottom: -4px; }
.cpo-kacheln__kopf > span:first-child { font-weight: 700; padding: 4px 2px; }
.cpo-kacheln__suche { flex: 1; padding: 6px 10px; border: 1px solid var(--cpo-line); border-radius: 8px; background: #fff; color: var(--cpo-muted); font-size: .78rem; }
/* Kategorieordner – nachgebaut nach public/assets/app.css der Kasse (.kachel-ordner) */
.cpo-ordner { position: relative; display: flex; flex-direction: column; align-items: center; gap: 4px; min-height: 74px; padding: 9px 6px 8px;
	border-radius: 0 9px 9px 9px; background-color: var(--f); color: #fff; text-align: center; line-height: 1.15;
	background-image: linear-gradient(rgba(255,255,255,.16), rgba(0,0,0,.06)); box-shadow: 0 2px 4px rgba(15,23,42,.18); min-width: 0; overflow-wrap: break-word; hyphens: auto; }
.cpo-ordner::before { content: ""; position: absolute; top: -9px; left: 0; width: 44%; height: 10px; background-color: var(--f); border-radius: 7px 7px 0 0; }
.cpo-ordner b { font-weight: 600; font-size: .86rem; }
.cpo-ordner small { margin-top: auto; font-size: .74rem; color: rgba(255,255,255,.85); }
.cpo-fx__visual .cpo-ordner b { font-size: .8rem; }
.cpo-kachel { display: flex; align-items: flex-end; min-height: 54px; padding: 7px 8px; border-radius: 8px; background: #fff; border: 1px solid var(--cpo-line); font-weight: 600; line-height: 1.2; }
.cpo-kachel--rot { background: var(--cpo-red); border-color: var(--cpo-red); color: #fff; }
.cpo-kachel--dunkel { background: var(--cpo-ink-soft); border-color: var(--cpo-ink-soft); color: #fff; }
.cpo-bon { display: flex; flex-direction: column; padding: 12px 14px; }
.cpo-bon__kopf { font-weight: 700; padding-bottom: 8px; border-bottom: 1px solid var(--cpo-line); margin-bottom: 4px; }
.cpo-bonzeile { display: grid; grid-template-columns: 18px 1fr auto; gap: 6px; padding: 5px 0; border-bottom: 1px dashed var(--cpo-gray-2); }
.cpo-bonzeile span:first-child { color: var(--cpo-muted); }
.cpo-bonzeile--extra { color: var(--cpo-muted); font-size: .8rem; }
.cpo-bon__summe { display: flex; justify-content: space-between; align-items: baseline; margin-top: auto; padding-top: 10px; font-size: 1rem; }
.cpo-bon__summe b { font-size: 1.25rem; }
.cpo-bon__knoepfe { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; margin-top: 10px; }
.cpo-bon__knoepfe span { text-align: center; padding: 9px 4px; border-radius: 8px; border: 1px solid var(--cpo-line); font-weight: 600; }
.cpo-bon__knoepfe .cpo-bon__zahlen { background: var(--cpo-green); border-color: var(--cpo-green); color: #fff; }
@media (max-width: 520px) { .cpo-kasse__leib { grid-template-columns: 1fr; } .cpo-kacheln { grid-template-columns: repeat(3, 1fr); } }

/* --- Tischplan mit Gruppe --- */
.cpo-plan { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow-lg); overflow: hidden; }
.cpo-plan__raum { position: relative; aspect-ratio: 16 / 9; background:
	linear-gradient(var(--cpo-gray-2) 1px, transparent 1px) 0 0 / 20px 20px,
	linear-gradient(90deg, var(--cpo-gray-2) 1px, transparent 1px) 0 0 / 20px 20px, #fafbfc; }
.cpo-tisch { position: absolute; display: flex; flex-direction: column; align-items: center; justify-content: center; border-radius: 10px;
	font-size: .78rem; line-height: 1.2; text-align: center; border: 2px solid var(--cpo-line); background: #fff; }
.cpo-tisch b { font-size: .9rem; }
.cpo-tisch span { color: var(--cpo-muted); }
.cpo-tisch--belegt { border-color: var(--cpo-red); background: var(--cpo-red-light); }
.cpo-tisch--gruppe { border-color: #7c3aed; background: #f1eafe; box-shadow: 0 0 0 3px rgba(124,58,237,.18); }
.cpo-tisch--gruppe span, .cpo-tisch--belegt span { color: var(--cpo-ink); font-weight: 600; }
.cpo-gruppe { display: flex; flex-wrap: wrap; gap: 6px 8px; align-items: center; padding: 10px 12px; border-top: 4px solid #7c3aed; background: #fbf9ff; font-size: .8rem; }
.cpo-gruppe b { margin-right: 4px; }
.cpo-gruppe__tisch { padding: 3px 8px; border-radius: 999px; background: #fff; border: 1px solid #ddd0fb; }
.cpo-gruppe__summe { margin-left: auto; font-weight: 700; }
.cpo-gruppe__knopf { padding: 5px 10px; border-radius: 8px; background: var(--cpo-green); color: #fff; font-weight: 600; }

/* --- Getrennt zahlen --- */
.cpo-teilen { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow-lg); overflow: hidden; font-size: .84rem; }
.cpo-teilen__kopf { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 11px 14px; border-bottom: 1px solid var(--cpo-line); }
.cpo-teilen__teil { padding: 4px 10px; border-radius: 8px; border: 1px solid var(--cpo-line); font-weight: 600; }
.cpo-teilen__spalten { display: grid; grid-template-columns: 1fr 1fr; }
.cpo-teilen__spalten > div { padding: 10px 14px; }
.cpo-teilen__jetzt { background: var(--cpo-gray); }
.cpo-teilen__titel { display: flex; justify-content: space-between; color: var(--cpo-muted); padding-bottom: 6px; border-bottom: 1px solid var(--cpo-line); }
.cpo-teilen__titel b { color: var(--cpo-ink); }
.cpo-teilen ul { list-style: none; margin: 0; padding: 0; }
.cpo-teilen li { display: flex; justify-content: space-between; gap: 8px; padding: 6px 0; border-bottom: 1px dashed var(--cpo-gray-2); }
.cpo-teilen li.extra { color: var(--cpo-muted); font-size: .78rem; padding-left: 10px; }
.cpo-teilen__hinweis { margin: 10px 0 0; padding: 7px 9px; border-radius: 8px; background: #fff; border: 1px solid var(--cpo-line); font-weight: 600; }
.cpo-teilen__fuss { display: flex; justify-content: space-between; gap: 8px; padding: 10px 14px; border-top: 1px solid var(--cpo-line); }
.cpo-teilen__fuss span { padding: 8px 12px; border-radius: 8px; border: 1px solid var(--cpo-line); font-weight: 600; }
.cpo-teilen__fuss .cpo-teilen__zahlen { background: var(--cpo-green); border-color: var(--cpo-green); color: #fff; }
@media (max-width: 520px) { .cpo-teilen__spalten { grid-template-columns: 1fr; } }

/* --- Kassenbon mit TSE --- */
.cpo-kbon { max-width: 300px; margin: 0 auto; background: #fff; color: #111; padding: 22px 20px 26px; font: 500 .8rem/1.5 ui-monospace, "Cascadia Mono", Consolas, monospace;
	box-shadow: var(--cpo-shadow-lg); border-radius: 4px;
	-webkit-mask: radial-gradient(circle 6px at 50% 100%, transparent 98%, #000) 0 0 / 14px 100% repeat-x;
	        mask: radial-gradient(circle 6px at 50% 100%, transparent 98%, #000) 0 0 / 14px 100% repeat-x; }
.cpo-kbon__mitte { text-align: center; margin-bottom: 12px; }
.cpo-kbon__z { display: flex; justify-content: space-between; gap: 10px; }
.cpo-kbon__summe { font-weight: 800; border-top: 1px dashed #999; margin-top: 6px; padding-top: 6px; }
.cpo-kbon__tse { margin-top: 12px; padding-top: 8px; border-top: 1px dashed #999; font-size: .72rem; color: #444; }
.cpo-kbon__qr { width: 84px; height: 84px; margin: 12px auto 0; background:
	conic-gradient(#111 25%, #fff 0 50%, #111 0 75%, #fff 0) 0 0 / 12px 12px; border: 6px solid #fff; outline: 3px solid #111; }

/* --- Bestand in mehreren Lagern --- */
.cpo-lager { background: #fff; border: 1px solid var(--cpo-line); border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow-lg); overflow: hidden; font-size: .9rem; }
.cpo-lager__kopf { padding: 14px 16px; border-bottom: 1px solid var(--cpo-line); display: flex; flex-direction: column; gap: 2px; }
.cpo-lager__kopf span { color: var(--cpo-muted); font-size: .8rem; }
.cpo-lagerzeile { display: flex; justify-content: space-between; padding: 10px 16px; border-bottom: 1px solid var(--cpo-gray-2); }
.cpo-lagerzeile--melden b { color: var(--cpo-red); }
.cpo-lagerzeile--weg { color: var(--cpo-muted); font-style: italic; }
.cpo-lager__fuss { padding: 12px 16px; background: var(--cpo-gray); font-size: .82rem; color: var(--cpo-muted); }
.cpo-lager__fuss .cpo-tag { margin-right: 6px; }

/* --- Symbole der Karten (ein Strich, Markenrot) --- */
.cpo-ico-plan::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='3' width='18' height='18' rx='2'/><rect x='6' y='6' width='5' height='5' rx='1'/><rect x='13' y='6' width='5' height='5' rx='1'/><path d='M6 15h12v3H6z'/></svg>"); }
.cpo-ico-gaenge::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 7h16M4 12h11M4 17h7'/><path d='m17 15 3 2-3 2'/></svg>"); }
.cpo-ico-kueche::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='12' rx='2'/><path d='M7 8h6M7 11h10M8 20h8M12 16v4'/></svg>"); }
.cpo-ico-extras::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M12 8v8M8 12h8'/></svg>"); }
.cpo-ico-handy::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='7' y='2.5' width='10' height='19' rx='2'/><path d='M10 7h4M10 10h4M11 18h2'/></svg>"); }
.cpo-ico-verschieben::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 8h13l-3-3M20 16H7l3 3'/></svg>"); }
.cpo-ico-boerse::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 8h14a2 2 0 0 1 2 2v8a2 2 0 0 1-2 2H5a1 1 0 0 1-1-1z'/><path d='M4 8l11-4v4M16 14h.01'/></svg>"); }
.cpo-ico-trinkgeld::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='9' r='5'/><path d='M14.5 6.5a5 5 0 1 1-4 9.4'/><path d='M9 7v4'/></svg>"); }
.cpo-ico-personen::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='9' cy='8' r='3.2'/><path d='M3.5 19c0-3 2.5-5 5.5-5s5.5 2 5.5 5'/><path d='M16 5.5a3 3 0 0 1 0 6M17.5 14c2 .5 3 2.2 3 5'/></svg>"); }
.cpo-ico-faktura::before, .cpo-ico-erechnung::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h8l4 4v14H6z'/><path d='M14 3v4h4M9 12h6M9 16h4'/></svg>"); }
.cpo-ico-vertrag::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M20 12a8 8 0 1 1-2.3-5.6'/><path d='M20 4v5h-5'/></svg>"); }
.cpo-ico-sepa::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 10 12 4l9 6M5 10v8M9 10v8M15 10v8M19 10v8M3 20h18'/></svg>"); }
.cpo-ico-einkauf::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 4h2l2.5 11h11L21 7H6.5'/><circle cx='9' cy='19' r='1.4'/><circle cx='17' cy='19' r='1.4'/></svg>"); }
.cpo-ico-datev::before, .cpo-ico-export::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3v12M7 10l5 5 5-5M4 19h16'/></svg>"); }
.cpo-ico-etikett::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M3 12V4h8l10 10-8 8z'/><circle cx='7.5' cy='8.5' r='1.5'/></svg>"); }
.cpo-ico-gutschein::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='8' width='18' height='12' rx='1.5'/><path d='M3 12h18M12 8v12M12 8c-1.5-3-5-3-5-1s3 1 5 1c2 0 5 1 5-1s-3.5-2-5 1'/></svg>"); }
.cpo-ico-kunden::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><circle cx='9' cy='11' r='2.2'/><path d='M5.5 16.5c.6-1.7 1.9-2.5 3.5-2.5s2.9.8 3.5 2.5M15 10h3M15 13h3'/></svg>"); }
.cpo-ico-schloss::before, .cpo-ico-rechte::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='5' y='11' width='14' height='10' rx='2'/><path d='M8 11V8a4 4 0 0 1 8 0v3'/></svg>"); }
.cpo-ico-elster::before, .cpo-ico-avv::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h8l4 4v14H6z'/><path d='M14 3v4h4M9 17c1-2 2-2 3 0s2 2 3 0'/></svg>"); }
.cpo-ico-zbon::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M6 3h12v18l-3-2-3 2-3-2-3 2z'/><path d='M9 8h6M9 12h6'/></svg>"); }
.cpo-ico-journal::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M5 4h11a3 3 0 0 1 3 3v13H8a3 3 0 0 1-3-3z'/><path d='M9 9h6M9 13h6'/></svg>"); }
.cpo-ico-sicherung::before, .cpo-ico-punkt::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12a8 8 0 1 0 2.3-5.6'/><path d='M4 4v5h5M12 8v4l3 2'/></svg>"); }
.cpo-ico-hilfe::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='12' r='8.5'/><path d='M9.6 9.5a2.5 2.5 0 1 1 3.4 2.3c-.7.3-1 .9-1 1.6v.6M12 17h.01'/></svg>"); }
.cpo-ico-ende::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='4' width='18' height='5' rx='1'/><path d='M5 9v10h14V9M10 13h4'/></svg>"); }
.cpo-ico-assistent::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><circle cx='5' cy='12' r='2'/><circle cx='12' cy='12' r='2'/><circle cx='19' cy='12' r='2'/><path d='M7 12h3M14 12h3'/></svg>"); }
.cpo-ico-test::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M9 3h6M10 3v6l-5 9a2 2 0 0 0 1.7 3h10.6a2 2 0 0 0 1.7-3l-5-9V3'/><path d='M7.5 15h9'/></svg>"); }
.cpo-ico-tse::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M12 3l7 3v6c0 4.5-3 7.5-7 9-4-1.5-7-4.5-7-9V6z'/><path d='m9 12 2 2 4-4'/></svg>"); }
.cpo-ico-abrechnung::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M15 6.5a5.5 5.5 0 1 0 0 11M4 10.5h8M4 13.5h8'/></svg>"); }
.cpo-ico-umsatz::before { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B40217' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'><path d='M2.5 12s3.5-6.5 9.5-6.5 9.5 6.5 9.5 6.5-3.5 6.5-9.5 6.5S2.5 12 2.5 12z'/><circle cx='12' cy='12' r='2.5'/><path d='M4 20 20 4'/></svg>"); }

/* Attrappen dürfen schrumpfen: lange Wörter (Apfelschorle) erzwingen sonst Überbreite auf dem Handy */
.cpo-hero__visual, .cpo-fx__visual, .cpo-hero__text, .cpo-fx__text { min-width: 0; }
.cpo-kachel, .cpo-tisch, .cpo-bonzeile span, .cpo-teilen li span { min-width: 0; overflow-wrap: break-word; hyphens: auto; }
/* In der schmaleren Spalte (nicht im Hero) kleinere Kacheln */
.cpo-fx__visual .cpo-kachel { font-size: .78rem; padding: 6px 7px; min-height: 46px; }
@media (max-width: 420px) { .cpo-kachel { font-size: .78rem; padding: 6px; } }
.cpo-teilen__spalten { grid-template-columns: 1fr 1.25fr; }
.cpo-teilen li span:last-child, .cpo-teilen__titel b { white-space: nowrap; }
/* Ordnerspalte etwas breiter, Namen eine Spur kleiner – „Befestigung“ und „Gutscheine“ passen in eine Zeile */
.cpo-kasse__leib { grid-template-columns: 1.3fr 1fr; }
.cpo-ordner b, .cpo-fx__visual .cpo-ordner b { font-size: .76rem; }
.cpo-ordner { padding-left: 4px; padding-right: 4px; }
.cpo-kasse__leib { grid-template-columns: 1.2fr 1fr; }
.cpo-bonzeile span { overflow-wrap: normal; hyphens: manual; }
@media (max-width: 520px) { .cpo-kasse__leib { grid-template-columns: 1fr; } }

/* Tischplan-Designer: großes Planbild, Häkchen zweispaltig darunter */
.cpo-plan-bild { margin: 8px auto 24px; max-width: 1100px; }
.cpo-plan-bild img { width: 100%; height: auto; border-radius: var(--cpo-radius); box-shadow: var(--cpo-shadow-lg); background: #fff; }
.cpo-check--spalten { columns: 2; column-gap: 40px; max-width: 1100px; margin-left: auto; margin-right: auto; }
.cpo-check--spalten li { break-inside: avoid; }
@media (max-width: 760px) { .cpo-check--spalten { columns: 1; } }
/* Ordner wie in der Kasse: breiter als hoch (mind. ~108 px) */
.cpo-ordner { min-height: 66px; }
