/*
Theme Name: TLSPilot
Author: iTrain GmbH
Author URI: https://itrain.ch
Description: Custom theme for tlspilot.com. Dark one-cast. No page builder, no Google Fonts, no Elementor. DE and EN brochure site for the TLSPilot product of iTrain GmbH.
Version: 0.5.217
 * 0.5.217: Phone timeline lower labels offset sideways so neighbours no longer share a column. Desktop unchanged. Soft-Gate/Creem untouched.
 * 0.5.216: Narrow menu panel fully opaque; phone timeline labels pushed apart. Desktop timeline unchanged. Soft-Gate/Creem untouched.
 * 0.5.214: Utility row adds Login; narrow 800px hamburger (lang stays right). Main nav unchanged. Soft-Gate/Creem untouched.
 * 0.5.213: Home CLM title (Mangement); Test untouched; other Name - Management. Soft-Gate/Creem untouched.
 * 0.5.212: Tab titles <Name> - TLSPilot Certificate Lifecycle Management. Soft-Gate/Creem untouched.
 * 0.5.211: Product WebUI shot unhide; Support play+subs; tab titles. Soft-Gate/Creem untouched.
 * 0.5.210: Matrix price/AddOns stack CHF above EUR/USD (columns fit). Soft-Gate/Creem untouched.
 * 0.5.209: Matrix price/AddOns = Caps 0.84rem; Community tile hover cursor+highlight (Editions+Shop); Soft-Gate/Creem untouched.
 * 0.5.208: Advisor tracks -10px each (more gap); outage quotes re-assert larger size; WebUI/RBAC pair after RBAC text + lightbox; Soft-Gate/Creem untouched.
 * 0.5.207: URGENT strip Editions leaked CSS (cp-dlg-catalogue/matrix-fit) from body; matrix ? reopen (hydrate data-cp-open); Recommended pill 0.58rem; Advisor Certs/Deploys count right-align with slider end; Shop price-alt/note size lock 0.62rem. Soft-Gate/Creem untouched.
 * 0.5.206: Advisor CSS (full-col sliders, small col gap, tighter vertical); tenant-more hide when Tenants off; site-wide dialog Close; Recommended pill mid-size 0.53rem. Soft-Gate/Creem untouched.
 * 0.5.205: Clean pass remainder — advisor slider width/gap + section spacing; Recommended pill shrink; Shop/Editions heroes (kicker); Shop tile titles=Editions; persona untruncate; WebUI pair 2-col; Soft-Gate/Creem untouched.
 * 0.5.204: P0 Advisor hotfix — restore form/range/checkbox inputs (content via MU); reinforce track/thumb; toggle labels beside+smaller; restore section vertical spacing. Soft-Gate/Creem untouched.
 * 0.5.203: URGENT Advisor restore (sliders visible, toggle labels beside+smaller, vertical spacing); then subtle slider gap; AddOns intro white. Soft-Gate/Creem untouched.
 * 0.5.201: Recommended pill smaller; Shop Community↔tiles gap; Community Details left + Download right; Support search visible + abstract smaller. Soft-Gate/Creem untouched.
 * 0.5.200: Community Free chip beside title (Editions+Shop); Shop close Do you need more + AddOns intro EN/DE; hide leftover .cp-free-badge. Soft-Gate/Creem untouched.
 * 0.5.199: Editions hero flatten H1=question + lead; Shop .cp-shop-head h1 same size as Editions/Product titles (drop 1.65rem override). Soft-Gate/Creem untouched.
 * 0.5.198: Body ~0.95rem sitewide (exclude Home stakes/outages/why); Editions .cp-chooser-intro = .cp-matrix-caption; Support drop .cp-support-sub + tighten; Shop hero lead EN/DE. Soft-Gate/Creem untouched.
 * 0.5.197: Shop tiles head (Choose your subscription EN/DE); Editions tile names = matrix column header size/weight; matrix cells may use tile limit-row size. Soft-Gate/Creem untouched.
 * 0.5.196: Advisor head outside card — outer .cp-chooser-intro under License advisor h2; hide leftover .cp-advisor-card .cp-chooser-head. Soft-Gate/Creem untouched.
 * 0.5.195: Advisor Features tenant-more grid-column:2 under Tenants; remove Editions h2; Editions hero EN+DE rewrite; License advisor section h2; chooser-val modest bump. Soft-Gate/Creem untouched.
 * 0.5.194: Advisor vertical tighten (sliders↔title, section/reset gaps); Shop Professional no Popular/equal weight; chips font modest bump. Soft-Gate/Creem untouched.
 * 0.5.193: Gegencheck: Editions no Popular/chrome; Recommended top-right; Community=Shop free height; Shop tile spacing bump; advisor tighter + targets 4col; unify chips sitewide to Shop .cp-chip. Soft-Gate/Creem untouched.
 * 0.5.192: Gegencheck: Community bar height; edcard mint rail off; advisor no result; compact advisor; targets 3col; features 2col+parens; slider baseline; Editions heading; popup target cats; Shop tile spacing; popup chips=tile chips; no killer/limits divider (+2x gap).
 * 0.5.191: Editions advisor card + hero lead; result punchline; compact toggles.
 * 0.5.190: Shop typography hierarchy; Popular baseline (no translateY lift); Editions shop-tile parity.
 * 0.5.189: Site-wide tokens. Radius, card blue, chips, body, narrow page-head.
 * 0.5.188: Shop fine cut. Limits always visible, one-line claims.
 * 0.5.187: Shop buy cards. Editions popup restored, synced limits.
 * 0.5.186: Shop polish. Compact Community, equal cards, table removed.
 * 0.5.185: Shop tiles. Community bar, four paid editions, comparison table.
 * 0.5.183: cache-bust cp.js Creem LIVE|TEST mode. No CSS rules in this bump.
 * 0.5.178 - Home hero poster CTA (PR #13): screenshot+scrim+teal play; drop navy-mark + cp-hero-cc-row
 * 0.5.176 - Support polish (PR #9): posters, 2-col videos, subtitle switch, DE chrome+videos
 * 0.5.175 - Permanent /de/support/ shared-slug route (PR #10)
 * 0.5.174 - Support page: util-nav + EN tutorials player/VTT/search; DE placeholder
 * 0.5.171 - Editions: ACME matrix row + issuer pills dialog; Custom Deployments text-only ?
 * 0.5.170 - Product: targets-full popup group headers; health/API/logging shots; Pre-GA Forti/Cisco
 * 0.5.168 - Azure install dialog SVG: re-route Issuers/Credentials so connectors never overlap (top entries)
 * 0.5.167 - Install SVG no-over-text (Azure LAN label clearance) + SysReq Minimum vCPU only (no OS repeat)
 * 0.5.166 - Install dialog SVG connectors: snap endpoints to node/cloud edges (no floating ends)
 * 0.5.165 - Install dialog flow arrows: thicker mint strokes, filled heads, rounded elbows
 * 0.5.164 - Install dialog flow SVGs: larger viewBox, cloud silhouettes, no-overlap elbows; .cp-install-flow max-width 42rem
 * 0.5.159 - Product CSS leak fix: inline shot-open rules → theme stylesheet
 * 0.5.158 - Product Installation scenarios tiles before SysReq
 * 0.5.157 - shop invoice popup unpaid 30d
 * 0.5.156 - PR6 shop paymethods tiles + close AddOn copy
 * 0.5.155 - Shop Zahlungsmethoden 2-tile + paymethod dialogs
 * 0.5.153 - Re-apply afternoon copy locks (no editions touch)
 * 0.5.153 - Re-apply afternoon copy locks (no editions touch)
 * 0.5.153 - Re-apply afternoon copy locks (no editions touch)
 * 0.5.152 - Editions restore pre-experiment (3-col + click popup)
 * 0.5.149 - Favicon = TLSPilot product icon (navy)
 * 0.5.146 - Why-popup EN+DE force (product dlg)
 * 0.5.145 - Why-popup bodies = homepage; Verteilen harden
 * 0.5.144 - Homepage renew + product lead + Verteilen André lock; prior why/jobs bodies
 * 0.5.143 - Homepage why/jobs body copy locks (systems, lifetimes, obtain, deploy)
 * 0.5.142 - Lang switch keeps Confirm/Creem querystring
Requires at least: 6.4
Tested up to: 6.8
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: certpilot
0.5.184: clone the card .cp-price into the edition dialog, plus one spacing rule for that line.
*/

/* Tokens - dark one-cast: surface navy, cards/sections family blue, teal accent. */
:root {
	--cp-navy: #0A2642;
	--cp-blue: #144D87;
	--cp-teal: #0E7C6B;
	--cp-wash: #144D87;
	--cp-paper: #0A2642;
	--cp-text: #EAF0F6;
	--cp-muted: #9BB0C4;
	--cp-danger: #E85D4C;
	--cp-white: #ffffff;
	--cp-radius: 14px;
	--cp-radius-pill: 999px;
	--cp-card: #123f70;
	--cp-card-head: #0e3766;
	--cp-text-body: 0.95rem;
	--cp-lead: 1.02rem;
	--cp-page-head-y: 1.45rem;
	--cp-max: 68rem;
	--cp-space: 1.25rem;
	--cp-header: 5.5rem;
	--cp-line: rgba(234, 240, 246, 0.16);
	--cp-ink: #0A2642;
	--cp-teal-soft: #8ad4c6;
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-family: system-ui, sans-serif;
	font-size: 100%;
	line-height: 1.55;
	color: var(--cp-text);
	background: var(--cp-navy);
	-webkit-text-size-adjust: 100%;
}

body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	background: var(--cp-navy);
	color: var(--cp-text);
	font-size: var(--cp-text-body);
}

img,
svg {
	max-width: 100%;
	height: auto;
}

a {
	color: var(--cp-teal-soft);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.15em;
}

a:hover {
	color: var(--cp-white);
}

a:focus-visible,
button:focus-visible,
.cp-btn:focus-visible {
	outline: 2px solid var(--cp-teal);
	outline-offset: 2px;
}

h1,
h2,
h3,
h4 {
	font-family: system-ui, sans-serif;
	font-weight: 650;
	line-height: 1.2;
	color: var(--cp-white);
	letter-spacing: -0.01em;
}

h1 {
	font-size: clamp(1.9rem, 3.1vw, 2.65rem);
	margin: 0 0 0.75rem;
}

h2 {
	font-size: 1.45rem;
	margin: 2rem 0 0.75rem;
}

h3 {
	font-size: 1.05rem;
	margin: 1.5rem 0 0.5rem;
}

p,
li {
	max-width: 42rem;
}

p {
	margin: 0 0 1rem;
}

ul,
ol {
	margin: 0 0 1rem;
	padding-left: 1.25rem;
}

.cp-skip {
	position: absolute;
	left: 0.75rem;
	top: -3rem;
	z-index: 100;
	background: var(--cp-teal);
	color: var(--cp-white);
	padding: 0.4rem 0.7rem;
	border-radius: var(--cp-radius);
}

.cp-skip:focus {
	top: 0.75rem;
	color: var(--cp-white);
}

/* Header */
.cp-header {
	position: sticky;
	top: 0;
	z-index: 200;
	background: var(--cp-navy);
	color: var(--cp-white);
	border-bottom: 1px solid var(--cp-line);
}

.cp-header a {
	color: var(--cp-white);
	text-decoration: none;
}

.cp-header a:hover {
	color: var(--cp-teal-soft);
}

.cp-header-inner {
	max-width: var(--cp-max);
	margin: 0 auto;
	padding: 0.85rem 1.25rem 0.9rem;
	/* Keep sticky bar height stable when mark shrinks - prevents scrollY feedback flicker. */
	min-height: calc(68px + 0.85rem + 0.9rem);
	box-sizing: border-box;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas:
		"brand nav util";
	gap: 0.35rem 1.25rem;
	align-items: center;
}

.cp-header-end {
	grid-area: end;
	display: flex;
	align-items: center;
	gap: 1.1rem;
	justify-self: end;
}

.cp-wordmark {
	grid-area: brand;
	display: flex;
	align-items: center;
	gap: 0.65rem;
	font-size: 1.45rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.1;
	color: var(--cp-white);
}

.cp-mark {
	display: block;
	height: 68px;
	width: auto;
	max-width: none;
	flex: 0 0 auto;
	transition: height 0.2s ease;
}

.cp-header.is-compact .cp-mark {
	height: 52px;
}

.cp-word-text {
	color: var(--cp-white);
	font-weight: 650;
	letter-spacing: 0.01em;
	line-height: 1.1;
}

.cp-product-line {
	display: none;
}

.cp-nav {
	grid-area: nav;
	justify-self: center;
}

.cp-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1rem;
	max-width: none;
	justify-content: center;
}

.cp-nav-list a {
	font-size: 1.12rem;
	font-weight: 650;
}

.cp-nav-list .current-menu-item > a,
.cp-nav-list a[aria-current="page"] {
	text-decoration: none;
	box-shadow: inset 0 -0.12em 0 0 rgba(14, 124, 107, 0.85);
	padding-bottom: 0.12em;
}

.cp-lang {
	font-size: 0.8rem;
	white-space: nowrap;
}

.cp-lang a[aria-current="true"] {
	font-weight: 650;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.cp-lang-sep {
	margin: 0 0.25rem;
	opacity: 0.6;
}

body.cp-coming-soon .cp-header-inner {
	grid-template-columns: 1fr auto;
	grid-template-areas:
		"brand util";
}

/* Main - full-bleed. Sections own their wrap. */
.cp-main {
	flex: 0 0 auto;
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
	background: var(--cp-navy);
}

.cp-wrap {
	max-width: var(--cp-max);
	margin: 0 auto;
	padding: 0 1.25rem;
}

.cp-page,
.cp-entry {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
}

.cp-page > section,
.cp-page > header.cp-hero,
.cp-page > p,
.cp-page > h2,
.cp-page > ol,
.cp-page > ul,
.cp-page > table {
	max-width: var(--cp-max);
	margin-left: auto;
	margin-right: auto;
	padding-left: 1.25rem;
	padding-right: 1.25rem;
}

.cp-hero-band,
.cp-why,
.cp-page-head,
.cp-jobs,
.cp-stakes,
.cp-trust,
.cp-close,
.cp-bleed,
.cp-section,
.cp-shots,
.cp-teaser,
.cp-editions-teaser {
	max-width: none !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.cp-kicker {
	margin: 0 0 0.4rem;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--cp-teal-soft);
	font-weight: 650;
	max-width: none;
}

.cp-lead {
	font-size: var(--cp-lead);
	color: var(--cp-text);
	max-width: 40rem;
}

.cp-hero {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
}

.cp-hero-band {
	background: var(--cp-navy);
	color: var(--cp-white);
	padding: 3.525rem 0 3.9rem;
}

.cp-hero-band h1,
.cp-hero-band .cp-lead,
.cp-hero-band p {
	color: var(--cp-white);
}

.cp-home .cp-hero-band h1 {
	font-size: clamp(1.7rem, 2.7vw, 2.25rem);
}

.cp-hero-band .cp-kicker {
	color: var(--cp-teal-soft);
}

.cp-hero-band .cp-lead {
	font-size: 1.15rem;
	max-width: 36rem;
}

.cp-hero-grid {
	display: grid;
	grid-template-columns: minmax(15rem, 0.95fr) minmax(22rem, 1.35fr);
	gap: 2rem 2.25rem;
	align-items: center;
}

#probleme,
#problems {
	scroll-margin-top: 5.5rem;
}
.cp-hero-copy .cp-cta {
	margin-top: 1.4rem;
}

.cp-hero-lines {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0.85rem;
	max-width: 38rem;
}

.cp-hero-lines li {
	max-width: none;
	margin: 0 0 0.55rem;
	padding: 0 0 0 0.85rem;
	border-left: 3px solid var(--cp-teal);
	color: var(--cp-text);
}

.cp-proof {
	margin: 0.85rem 0 0;
	font-size: 0.95rem;
	font-weight: 650;
	color: var(--cp-teal-soft);
	max-width: none;
}

.cp-hero-shot {
	margin: 0.4rem 0 0;
}

.cp-hero-shot img,
.cp-hero-shot .cp-shot-open img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	border-radius: var(--cp-radius);
	border: 1px solid var(--cp-line);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
	background: var(--cp-ink);
}

.cp-hero-shot figcaption {
	margin: 0.55rem 0 0;
	font-size: 0.85rem;
	color: var(--cp-muted);
	max-width: none;
}

/* Hero trailer: box matches hero-admin.png (1164×680) so the screenshot is
   shown whole at rest. The 16:9 trailer letterboxes inside it (navy bars).
   Box holds if the MP4 is missing.
   0.5.180 — object-fit contain; do not crop the poster. */
.cp-hero-player {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1164 / 680;
	background: #0A2642;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
	overflow: hidden;
}

.cp-hero-player video {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	margin: 0;
	background: #0A2642;
	object-fit: contain;
	object-position: center;
}

.cp-hero-poster {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: #0A2642;
	color: #fff;
	font: inherit;
	cursor: pointer;
}

/* Beat .cp-shot img (height:auto + 1px border), which otherwise clips the poster. */
.cp-hero-player .cp-hero-poster img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: contain;
	object-position: center;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.cp-hero-poster-scrim {
	position: absolute;
	inset: 0;
	background: rgba(10, 38, 66, 0.55);
}

.cp-hero-poster-cta {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.875rem;
	padding: 1rem;
}

.cp-hero-poster-play {
	display: block;
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 50%;
	background: var(--cp-teal);
	position: relative;
	flex: 0 0 auto;
}

.cp-hero-poster-play::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 54%;
	width: 0;
	height: 0;
	transform: translate(-50%, -50%);
	border-style: solid;
	border-width: 0.55rem 0 0.55rem 0.95rem;
	border-color: transparent transparent transparent #fff;
}

.cp-hero-poster-line {
	color: #fff;
	font-weight: 650;
	font-size: 1.2rem;
	line-height: 1.25;
	text-align: center;
	text-wrap: balance;
	white-space: nowrap;
}

.cp-hero-poster:hover .cp-hero-poster-scrim,
.cp-hero-poster:focus-visible .cp-hero-poster-scrim {
	background: rgba(10, 38, 66, 0.62);
}

.cp-hero-poster:hover .cp-hero-poster-play,
.cp-hero-poster:focus-visible .cp-hero-poster-play {
	background: #129883;
}

.cp-hero-poster:focus-visible {
	outline: 2px solid var(--cp-teal-soft);
	outline-offset: -4px;
}

.cp-hero-missing {
	margin: 0.55rem 0 0;
	color: var(--cp-muted);
	font-size: 0.9rem;
	max-width: none;
}

.cp-hero-poster[hidden],
.cp-hero-missing[hidden] {
	display: none !important;
}

@media (max-width: 800px) {
	.cp-hero-poster-play {
		width: 3rem;
		height: 3rem;
	}

	.cp-hero-poster-play::after {
		border-width: 0.45rem 0 0.45rem 0.75rem;
	}

	.cp-hero-poster-line {
		font-size: 1rem;
	}
}

.cp-page-head {
	background: var(--cp-blue);
	color: var(--cp-white);
	padding: var(--cp-page-head-y) 0 calc(var(--cp-page-head-y) - 0.35rem);
}

.cp-page-head h1,
.cp-page-head .cp-lead,
.cp-page-head p {
	color: var(--cp-white);
}

.cp-page-head .cp-kicker {
	color: var(--cp-teal-soft);
}

.cp-page-head .cp-lead {
	max-width: 40rem;
}

.cp-facts ul {
	list-style: none;
	padding: 0;
	max-width: none;
}

.cp-facts li {
	max-width: none;
	background: transparent;
	border: none;
	border-left: 3px solid var(--cp-teal);
	border-radius: 0;
	padding: 0.2rem 0 0.2rem 0.85rem;
	margin: 0 0 0.7rem;
}

.cp-cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 1.25rem 0 0;
	max-width: none;
}

.cp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 0.55rem 1.1rem;
	border-radius: var(--cp-radius);
	font-size: 0.92rem;
	font-weight: 650;
	text-decoration: none;
	border: 1px solid transparent;
	line-height: 1.3;
	font-family: inherit;
	cursor: pointer;
	background: transparent;
	color: inherit;
}

.cp-btn-primary {
	background: var(--cp-teal);
	color: var(--cp-white);
	border-color: var(--cp-teal);
	box-shadow: 0 10px 22px rgba(14, 124, 107, 0.28);
}

.cp-btn-primary:hover {
	background: #0b6a5c;
	border-color: #0b6a5c;
	color: var(--cp-white);
}

.cp-btn-outline,
.cp-btn-outline-light {
	background: transparent;
	color: var(--cp-white);
	border-color: rgba(234, 240, 246, 0.55);
}

.cp-btn-outline:hover,
.cp-btn-outline-light:hover {
	background: var(--cp-blue);
	color: var(--cp-white);
	border-color: var(--cp-teal-soft);
}

.cp-btn[disabled],
.cp-btn.is-disabled,
a.cp-btn[aria-disabled="true"] {
	opacity: 0.5;
	cursor: not-allowed;
	pointer-events: none;
}


/* Why block - two forces, behind hero */
.cp-why {
	background: var(--cp-navy);
	padding: 2.2rem 0 2.4rem;
	border-top: 1px solid var(--cp-line);
}
.cp-why h2 {
	margin: 0.2rem 0 1.1rem;
	color: var(--cp-white);
	max-width: 28rem;
}
.cp-why-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
.cp-why-card {
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 1.1rem 1.2rem 1.15rem;
}
.cp-why-card h3 {
	margin: 0 0 0.45rem;
	color: var(--cp-white);
	font-size: 1.05rem;
}
.cp-why-card p,
.cp-why-close {
	margin: 0;
	color: var(--cp-text);
}
.cp-why-close {
	margin-top: 1.15rem;
	max-width: none;
	font-weight: 550;
}
@media (max-width: 720px) {
	.cp-why-grid { grid-template-columns: 1fr; }
}

/* Jobs row */
.cp-jobs {
	background: var(--cp-navy);
	padding: 2.4rem 0 2.2rem;
}

.cp-jobs h2 {
	margin-top: 0;
	color: var(--cp-white);
}

.cp-jobs-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	max-width: none;
}

.cp-job svg.cp-why-ico {
	display: block;
	width: 104px;
	height: 104px;
}

.cp-trust {
	background: var(--cp-navy);
	color: var(--cp-muted);
	padding: 0.85rem 0;
	font-size: 0.92rem;
	font-weight: 650;
	border-top: 1px solid var(--cp-line);
	border-bottom: 1px solid var(--cp-line);
}

.cp-trust p {
	margin: 0;
	max-width: none;
}

.cp-section {
	padding: 1.75rem 0 2rem;
	background: var(--cp-navy);
}

.cp-section h2:first-child {
	margin-top: 0;
}
.cp-section .cp-kicker + h2 {
	margin-top: 0.2rem;
}

.cp-close {
	background: var(--cp-blue);
	padding: 2.1rem 0 1.15rem;
}

.cp-close h2 {
	margin-top: 0;
	color: var(--cp-white);
}

.cp-close p {
	max-width: 40rem;
	color: var(--cp-text);
}

.cp-shots {
	display: grid;
	gap: 2.1rem;
	padding: 2rem 0 2.75rem;
	background: var(--cp-navy);
}

.cp-shot {
	margin: 0;
}

.cp-shot img,
.cp-shot .cp-shot-open img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--cp-radius);
	border: 1px solid var(--cp-line);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.28);
	background: var(--cp-ink);
}

.cp-shot figcaption {
	margin-top: 0.55rem;
	font-size: 0.95rem;
	max-width: 46rem;
	color: var(--cp-muted);
}

.cp-shot-pair {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.75rem;
}

.cp-shot-empty {
	background: var(--cp-blue);
	border: 1px dashed var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 1.25rem 1rem;
	color: var(--cp-muted);
}

.cp-jobrow {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.4rem;
	align-items: center;
	padding: 0.4rem 0 0.6rem;
}

.cp-jobrow img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--cp-radius);
	border: 1px solid var(--cp-line);
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.24);
}

.cp-ablauf {
	list-style: none;
	padding: 0;
	margin: 0 0 0.5rem;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0.75rem;
	max-width: none;
}

.cp-ablauf li {
	max-width: none;
	background: var(--cp-blue);
	border: none;
	border-radius: var(--cp-radius);
	padding: 0.85rem 0.95rem;
	color: var(--cp-text);
}

.cp-ablauf strong {
	display: block;
	color: var(--cp-white);
}

/* Tables */
.cp-table-wrap {
	overflow-x: auto;
	max-width: none;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	background: var(--cp-blue);
}

/* 0.5.182 — editions comparison matrix only. Hide the horizontal scrollbar.
   overflow-x stays auto so a narrow viewport can still swipe sideways. */
.cp-table-wrap:has(> table.software-editions-matrix) {
	overflow-x: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.cp-table-wrap:has(> table.software-editions-matrix)::-webkit-scrollbar {
	display: none;
	height: 0;
	width: 0;
}

.cp-main table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.86rem;
	background: var(--cp-blue);
	border-radius: var(--cp-radius);
	overflow: hidden;
	margin: 0;
	color: var(--cp-text);
}

.cp-main th,
.cp-main td {
	text-align: left;
	padding: 0.5rem 0.65rem;
	border-bottom: 1px solid var(--cp-line);
	vertical-align: top;
}

.cp-main thead th {
	background: var(--cp-navy);
	color: var(--cp-white);
	font-weight: 650;
}

.cp-main tbody th[scope="row"] {
	background: transparent;
	color: var(--cp-white);
	font-weight: 650;
	white-space: nowrap;
}

.cp-main tbody tr:nth-child(even) {
	background: rgba(10, 38, 66, 0.35);
}

.cp-main tbody tr:nth-child(even) th[scope="row"] {
	background: transparent;
}

.cp-matrix {
	border-radius: 0;
	font-size: 0.8rem;
}

.cp-matrix thead th {
	text-align: center;
	white-space: nowrap;
}

.cp-matrix thead th:first-child {
	text-align: left;
}

.cp-matrix td {
	text-align: center;
	white-space: nowrap;
}

.cp-matrix tr.cp-group th {
	background: var(--cp-teal);
	color: var(--cp-white);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	font-size: 0.7rem;
	padding: 0.42rem 0.65rem;
}

.cp-on {
	color: var(--cp-teal-soft);
	font-weight: 650;
}

.cp-off {
	color: var(--cp-muted);
}

.cp-matrix-caption {
	font-size: 0.9rem;
	color: var(--cp-muted);
	max-width: none;
	margin: 0 0 0.85rem;
}

.cp-note {
	background: var(--cp-blue);
	border-radius: var(--cp-radius);
	padding: 0.75rem 1rem;
	color: var(--cp-text);
}

.cp-frame {
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 1rem 1.1rem;
	margin: 0 0 1.25rem;
}

.cp-frame ol,
.cp-frame ul {
	margin-bottom: 0;
}

.cp-shop-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr));
	gap: 1rem;
	max-width: none;
	margin-top: 0.5rem;
}

.cp-shop-grid .cp-card {
	display: flex;
	flex-direction: column;
}

.cp-shop-grid .cp-card > p:not(.cp-price):not(.cp-cta) {
	flex-grow: 1;
}

.cp-sketch {
	margin: 0.35rem 0 0;
}

.cp-sketch label {
	display: block;
	font-weight: 650;
	color: var(--cp-white);
	font-size: 0.9rem;
	margin: 0 0 0.4rem;
}

.cp-sketch input[type="email"],
.cp-sketch input[type="text"] {
	width: 100%;
	max-width: 22rem;
	padding: 0.45rem 0.65rem;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	font: inherit;
	background: var(--cp-navy);
	color: var(--cp-text);
}

.cp-sketch-note,
.cp-folgt {
	font-size: 0.85rem;
	color: var(--cp-muted);
	margin: 0.35rem 0 0;
	max-width: none;
}

.cp-card,
.cp-edcard {
	background: var(--cp-card);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 1.1rem 1rem 1.15rem;
}

.cp-card h2,
.cp-edcard h3 {
	margin-top: 0;
	color: var(--cp-white);
}

.cp-price {
	font-weight: 650;
	color: var(--cp-teal-soft);
}

.cp-editions-teaser {
	background: var(--cp-navy);
	padding: 2.2rem 0 2.4rem;
}

.cp-editions-teaser h2 {
	margin-top: 0;
}

.cp-editions-grid,
.cp-edcards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	max-width: none;
	margin: 1rem 0 0;
}

.cp-edcard {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}

.cp-edcard ul {
	list-style: none;
	padding: 0;
	margin: 0 0 0.85rem;
	max-width: none;
}

.cp-edcard li {
	max-width: none;
	font-size: 0.92rem;
	padding: 0.15rem 0 0.15rem 0.75rem;
	border-left: 3px solid var(--cp-teal);
	margin: 0 0 0.4rem;
}

.cp-edcard .cp-cta {
	margin-top: auto;
}

.cp-edcard-notbuy {
	font-size: 0.85rem;
	color: var(--cp-teal-soft);
	font-weight: 650;
	margin: 0 0 0.6rem;
}

/* Overlay */
.cp-matrix-dialog {
	width: min(72rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.5rem);
	padding: 0;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	background: var(--cp-navy);
	color: var(--cp-text);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.cp-matrix-dialog::backdrop {
	background: rgba(6, 22, 38, 0.72);
}

.cp-dialog-inner {
	padding: 1.1rem 1.15rem 1.35rem;
	overflow: auto;
	max-height: calc(100vh - 1.5rem);
}

.cp-dialog-bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 0.6rem;
}

.cp-dialog-bar h2 {
	margin: 0;
}

.cp-dialog-share {
	margin: 0 0 0.85rem;
}

/* Coming soon */
.cp-soon {
	min-height: calc(100vh - 11rem);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem 1.25rem;
	background: var(--cp-navy);
}

.cp-soon-card {
	max-width: 32rem;
	width: 100%;
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 2rem 1.75rem;
	border-top: 4px solid var(--cp-teal);
}

.cp-soon-card h1 {
	margin-bottom: 0.75rem;
}

.cp-soon-card p {
	color: var(--cp-text);
}

.cp-404,
.cp-entry {
	max-width: var(--cp-max);
	margin: 2rem auto 3rem;
	padding: 1.25rem;
}

.cp-404 h1 {
	color: var(--cp-white);
}

.cp-404 .cp-code {
	font-size: 0.8rem;
	color: var(--cp-muted);
	margin-bottom: 0.4rem;
}

.cp-footer {
	background: var(--cp-navy);
	color: var(--cp-muted);
	margin-top: 0;
	border-top: 1px solid var(--cp-line);
}

.cp-footer a {
	color: var(--cp-white);
}

.cp-footer a:hover {
	color: var(--cp-teal-soft);
}

.cp-footer-inner {
	max-width: var(--cp-max);
	margin: 0 auto;
	padding: 0.7rem 1.25rem;
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.5rem;
	justify-content: space-between;
	align-items: baseline;
}

.cp-legal {
	margin: 0;
	font-size: 0.9rem;
	max-width: none;
}

.cp-footer-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1rem;
	font-size: 0.85rem;
}

.cp-muted {
	color: var(--cp-muted);
}

@media (max-width: 800px) {
	.cp-header-inner {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"brand util"
			"nav nav";
	}

	.cp-nav {
		justify-self: start;
		margin-top: 0.4rem;
	}

	.cp-nav-list {
		justify-content: flex-start;
	}

	.cp-hero-grid,
	.cp-jobs-grid,
	.cp-jobrow,
	.cp-ablauf,
	.cp-shot-pair,
	.cp-editions-grid,
	.cp-edcards {
		grid-template-columns: 1fr;
	}

	.cp-hero-band {
		padding: 1.75rem 0 1.9rem;
	}
}

.cp-teaser {
	background: var(--cp-navy);
	padding: 1.7rem 0 1.85rem;
}

.cp-teaser ol {
	list-style: none;
	padding: 0;
	margin: 0 0 0.85rem;
	max-width: none;
}

.cp-teaser li {
	max-width: 46rem;
	padding: 0.2rem 0;
}

.cp-form label {
	font-weight: 650;
	color: var(--cp-white);
	font-size: 0.9rem;
}

.cp-form input,
.cp-form select,
.cp-form textarea {
	width: 100%;
	max-width: 28rem;
	padding: 0.5rem 0.7rem;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	font: inherit;
	background: var(--cp-ink);
	color: var(--cp-text);
}

.cp-form textarea {
	min-height: 8rem;
}

.cp-form button {
	cursor: pointer;
	font-family: inherit;
}

address {
	font-style: normal;
	line-height: 1.55;
	margin: 0 0 1rem;
	max-width: 42rem;
}

.cp-legal-block p {
	max-width: 42rem;
}

.cp-help-steps {
	display: grid;
	gap: 0.75rem;
	max-width: none;
	margin: 0 0 1rem;
}

.cp-help-steps article {
	background: var(--cp-blue);
	border: none;
	border-radius: var(--cp-radius);
	padding: 0.95rem 1.05rem;
}

.cp-help-steps h2 {
	margin-top: 0;
}

.cp-list {
	list-style: none;
	padding: 0;
	max-width: none;
}

.cp-list li {
	max-width: none;
	padding: 0.3rem 0 0.3rem 0.85rem;
	border-left: 3px solid var(--cp-teal);
	margin: 0 0 0.4rem;
}

@media (min-width: 801px) and (max-width: 1100px) {
	.cp-editions-grid,
	.cp-edcards {
		grid-template-columns: repeat(2, 1fr);
	}
}


/* Utility cluster - after-purchase, quieter than sales nav */
.cp-util-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.75rem;
	max-width: none;
}

.cp-util-list a {
	font-size: 0.78rem;
	font-weight: 500;
	color: var(--cp-muted);
	letter-spacing: 0.01em;
}

.cp-util-list a:hover {
	color: var(--cp-white);
}

.cp-util-list .current-menu-item > a,
.cp-util-list a[aria-current="page"],
.cp-util-nav .current-menu-item > a,
.cp-util-nav a[aria-current="page"] {
	color: var(--cp-white);
	opacity: 1;
	text-decoration: underline;
	text-underline-offset: 0.2em;
}

.cp-nav-list a {
	font-size: 1.12rem;
	font-weight: 650;
}

/* Matrix symbols: green on, dash off, infinity open */
.cp-visually-hidden {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.cp-dot {
	display: inline-block;
	width: 0.58rem;
	height: 0.58rem;
	border-radius: 50%;
	background: #2fb67c;
	box-shadow: 0 0 0 2px rgba(47, 182, 124, 0.22);
	vertical-align: middle;
}

.cp-open {
	color: var(--cp-teal-soft);
	font-weight: 650;
	font-size: 1.05rem;
	line-height: 1;
}

.cp-matrix td .cp-off {
	color: var(--cp-muted);
	font-weight: 400;
	letter-spacing: 0;
}

.cp-matrix-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 1.15rem;
	margin: 0.7rem 0 0;
	font-size: 0.82rem;
	color: var(--cp-muted);
	max-width: none;
	align-items: center;
}

.cp-matrix-legend span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
}

/* Quiet info triggers + gentle dialogs */
.cp-info-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.9rem;
	margin: 0.35rem 0 1rem;
	max-width: none;
}

.cp-info {
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	margin: 0;
	font: inherit;
	font-size: 0.88rem;
	color: var(--cp-teal-soft);
	text-decoration: underline;
	text-underline-offset: 0.18em;
	cursor: pointer;
}

.cp-info:hover {
	color: var(--cp-white);
}

.cp-info-dialog {
	width: min(38rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 2.5rem);
	padding: 0;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	background: var(--cp-navy);
	color: var(--cp-text);
	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.4);
}

.cp-info-dialog::backdrop {
	background: rgba(6, 22, 38, 0.55);
}

.cp-info-dialog .cp-dialog-inner {
	padding: 1.15rem 1.2rem 1.3rem;
	overflow: auto;
	max-height: calc(100vh - 2.5rem);
}

.cp-info-dialog h3 {
	margin-top: 1.1rem;
}

.cp-info-dialog h3:first-of-type {
	margin-top: 0.35rem;
}

.cp-info-dialog ul {
	max-width: none;
}

.cp-info-dialog li {
	max-width: none;
}

.cp-row-info {
	font-weight: 500;
	font-size: 0.78rem;
	margin-left: 0.35rem;
	color: var(--cp-teal-soft);
}

@media (max-width: 800px) {
	.cp-header-inner {
		grid-template-areas:
			"brand util"
			"nav nav";
	}

	.cp-header-end {
		justify-self: end;
	}

	.cp-nav {
		justify-self: start;
		margin-top: 0.25rem;
	}
}

/* 0.5.0 - utility, matrix symbols, popups, live shop */

.cp-util {
	grid-area: util;
	display: flex;
	align-items: center;
	gap: 0.85rem 1.1rem;
	justify-self: end;
}

.cp-util-nav {
	font-size: 0.8rem;
	opacity: 0.78;
}

.cp-util-menu {
	margin: 0;
	display: flex;
}

.cp-util-toggle {
	display: none;
	margin: 0;
	padding: 0;
	list-style: none;
}

.cp-util-toggle::-webkit-details-marker {
	display: none;
}

.cp-util-toggle::marker {
	content: "";
}

.cp-util-panel {
	display: flex;
	gap: 0.7rem;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
}

.cp-util-nav a {
	color: var(--cp-muted);
	text-decoration: none;
	font-weight: 500;
}

.cp-util-nav a:hover {
	color: var(--cp-white);
}

.cp-lang {
	justify-self: unset;
}

.cp-dot {
	display: inline-block;
	width: 0.58rem;
	height: 0.58rem;
	border-radius: 50%;
	background: #5ee0c5;
	box-shadow: 0 0 0 2px rgba(14, 124, 107, 0.3);
	vertical-align: middle;
}

.cp-dash {
	color: var(--cp-muted);
	font-weight: 500;
}

.cp-inf {
	color: var(--cp-teal-soft);
	font-weight: 700;
	font-size: 1.1em;
	line-height: 1;
}

.cp-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem 1.35rem;
	margin: 0 0 0.85rem;
	font-size: 0.88rem;
	color: var(--cp-muted);
	max-width: none;
}

.cp-legend span {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	max-width: none;
}

.cp-explain {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	margin: 0 0 1rem;
	max-width: none;
}

.cp-info {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 1.45rem;
	min-height: 1.45rem;
	padding: 0.2rem 0.65rem;
	margin: 0 0.1rem;
	border: 1px solid var(--cp-line);
	border-radius: 999px;
	background: transparent;
	color: var(--cp-teal-soft);
	font: inherit;
	font-size: 0.8rem;
	font-weight: 650;
	cursor: pointer;
	line-height: 1.2;
}

.cp-info:hover {
	border-color: var(--cp-teal-soft);
	color: var(--cp-white);
	background: rgba(14, 124, 107, 0.18);
}

th .cp-info {
	padding: 0;
	width: 1.25rem;
	height: 1.25rem;
	min-width: 1.25rem;
	min-height: 1.25rem;
	font-size: 0.72rem;
	vertical-align: middle;
}

.cp-info-dialog {
	width: min(34rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.5rem);
	padding: 0;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	background: var(--cp-navy);
	color: var(--cp-text);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.45);
}

.cp-info-dialog::backdrop {
	background: rgba(6, 22, 38, 0.72);
}

.cp-info-dialog .cp-dialog-inner {
	padding: 1.15rem 1.2rem 1.35rem;
}

.cp-info-dialog p {
	margin: 0;
	max-width: none;
}

.cp-matrix tbody th[scope="row"] {
	white-space: nowrap;
	position: sticky;
	left: 0;
	z-index: 1;
	background: var(--cp-blue);
	padding-right: 0.85rem;
}

.cp-matrix tbody tr:nth-child(even) th[scope="row"] {
	background: #124576;
}

.cp-shop-grid .cp-card .cp-price {
	font-size: 1.25rem;
	margin: 0.85rem 0 0.4rem;
}

.cp-shop-grid .cp-card .cp-cta {
	margin-top: 0;
}

.cp-shop-grid .cp-buy {
	min-width: 7.5rem;
	text-align: center;
}

.cp-edcard .cp-price {
	font-size: 1.2rem;
	margin: 0 0 0.65rem;
}

.cp-hero-copy .cp-cta .cp-btn-primary {
	font-size: 1.05rem;
	padding: 0.72rem 1.35rem;
}

@media (max-width: 800px) {
	.cp-header-inner {
		grid-template-areas:
			"brand util"
			"nav nav";
	}

	.cp-util {
		justify-self: end;
	}
}


/* Product 0.5.4 - scannable feat cards + shot crop */
.cp-product .cp-shot img,
.cp-product .cp-jobrow img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: top center;
}

.cp-featgrid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1rem;
	max-width: none;
	margin: 0.85rem 0 0;
}

.cp-feat,
.cp-job {
	display: flex;
	flex-direction: column;
	min-height: 16.5rem;
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 1.35rem 1.25rem 1.4rem;
	overflow: visible;
}

.cp-feat h3,
.cp-job h3 {
	margin: 0.35rem 0 0.15rem;
	color: var(--cp-white);
	font-size: 1.08rem;
}

.cp-feat p,
.cp-job p {
	margin: 0;
	max-width: none;
}

.cp-feat p:last-child,
.cp-job p:last-child {
	margin-bottom: 0;
}

.cp-feat p:last-child:has(.cp-info),
.cp-job p:last-child:has(.cp-info) {
	margin-top: auto;
	padding-top: 0.85rem;
}

.cp-info-dialog p + p {
	margin-top: 0.75rem;
}


.cp-featgrid.cp-featgrid--3 {
	grid-template-columns: repeat(3, 1fr);
}

@media (max-width: 800px) {
	.cp-featgrid.cp-featgrid--3 {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 800px) {
	.cp-featgrid {
		grid-template-columns: 1fr;
	}
}

/* 0.5.5 - wider info dialogs when a cropped shot is present */
.cp-info-dialog:has(figure) {
	width: min(48rem, calc(100vw - 1.5rem));
}

.cp-info-dialog .cp-shot {
	margin-top: 0.85rem;
}

.cp-info-dialog .cp-shot img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
	object-position: top center;
	border-radius: var(--cp-radius);
}

.cp-info-dialog .cp-shot-pair {
	margin-top: 0.85rem;
}

.cp-info-dialog .cp-shot figcaption {
	margin-top: 0.4rem;
	font-size: 0.88rem;
}

/* 0.5.7 - shot/flow lightbox: centered, fill viewport with small padding, no upscale */
dialog.cp-shot-dialog {
	width: 100vw;
	max-width: 100vw;
	height: 100vh;
	max-height: 100vh;
	inset: 0;
	margin: 0;
	padding: 0.5rem;
	border: 0;
	background: transparent;
	box-shadow: none;
	box-sizing: border-box;
}

dialog.cp-shot-dialog[open] {
	display: flex;
	align-items: center;
	justify-content: center;
}

dialog.cp-shot-dialog::backdrop {
	background: rgba(6, 22, 38, 0.72);
}

dialog.cp-shot-dialog .cp-dialog-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	overflow: visible;
	max-width: none;
	max-height: none;
	width: auto;
	height: auto;
	background: transparent;
}

dialog.cp-shot-dialog img,
dialog.cp-shot-dialog img.cp-shot {
	display: block;
	width: auto;
	height: auto;
	max-width: calc(100vw - 1rem);
	max-height: calc(100vh - 1rem);
	object-fit: contain;
	object-position: center;
	aspect-ratio: auto;
	border-radius: 0;
	cursor: zoom-out;
}

/* 0.5.8 - slim edition chooser under the six cards */
.cp-chooser {
	margin: 1.6rem 0 0;
	max-width: none;
	display: grid;
	gap: 1.65rem;
	padding: 1.2rem 1.25rem 1.3rem;
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
}

.cp-chooser-slide {
	display: grid;
	gap: 1rem;
}
.cp-chooser .cp-chooser-slide + .cp-chooser-slide {
	margin-top: 0.35rem;
}

.cp-chooser-slide label {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 0.75rem;
	font-weight: 650;
	font-size: 0.9rem;
	color: var(--cp-white);
}

.cp-chooser-val {
	color: #5eead4;
	font-variant-numeric: tabular-nums;
	font-weight: 700;
}

.cp-chooser input[type="range"] {
	-webkit-appearance: none;
	appearance: none;
	width: 100%;
	max-width: none;
	height: 1.25rem;
	margin: 0.2rem 0 0.12rem;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%));
	outline: none;
}

.cp-chooser input[type="range"]::-webkit-slider-runnable-track {
	height: 1.25rem;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%));
}

.cp-chooser input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	width: 1rem;
	height: 1rem;
	margin-top: 0.125rem; /* center in 1.25rem track */
	border: 0;
	border-radius: 50%;
	background: var(--cp-white);
	cursor: pointer;
	box-shadow: 0 0 0 2px #5eead4;
}

.cp-chooser input[type="range"]::-moz-range-thumb {
	width: 1rem;
	height: 1rem;
	border: 0;
	border-radius: 50%;
	background: var(--cp-white);
	cursor: pointer;
	box-shadow: 0 0 0 2px #5eead4;
}

.cp-chooser input[type="range"]::-moz-range-track {
	height: 1.25rem;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%));
	border: 0;
}

.cp-chooser input[type="range"]:focus-visible {
	outline: 2px solid #5eead4;
	outline-offset: 3px;
}

.cp-switch-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 0.55rem 0.9rem;
	margin-top: 0.15rem;
}
.cp-switch-row .cp-switch {
	order: 0;
}
.cp-switch-row .cp-switch-q {
	order: 1;
}

.cp-switch-row + .cp-switch-row {
	margin-top: 0.55rem;
}

.cp-switch-q {
	margin: 0;
	flex: 1 1 16rem;
	font-size: 0.9rem;
	line-height: 1.4;
	color: var(--cp-text);
	max-width: none;
}

.cp-switch {
	display: inline-flex;
	align-items: center;
	gap: 0.38rem;
	flex-shrink: 0;
	font-size: 0.82rem;
	color: var(--cp-muted);
}

.cp-switch-ctl {
	position: relative;
	display: inline-flex;
	align-items: center;
	margin: 0;
	cursor: pointer;
}

.cp-switch-ctl input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.cp-switch-track {
	display: block;
	width: 2.15rem;
	height: 1.15rem;
	border-radius: 999px;
	background: rgba(155, 176, 196, 0.32);
	position: relative;
	transition: background 0.15s ease;
}

.cp-switch-track::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 50%;
	background: var(--cp-white);
	transition: transform 0.15s ease;
}

.cp-switch-ctl input:checked + .cp-switch-track {
	background: #5eead4;
}

.cp-switch-ctl input:checked + .cp-switch-track::after {
	transform: translateX(1rem);
}

.cp-switch-ctl input:focus-visible + .cp-switch-track {
	outline: 2px solid #5eead4;
	outline-offset: 2px;
}


.cp-switch-off,
.cp-switch-on {
	min-width: 1.6rem;
	font-weight: 650;
}
.cp-switch-off {
	color: var(--cp-white);
}
.cp-switch-on {
	color: var(--cp-muted);
}
.cp-switch.is-on .cp-switch-off,
.cp-switch:has(input:checked) .cp-switch-off {
	color: var(--cp-muted);
}
.cp-switch.is-on .cp-switch-on,
.cp-switch:has(input:checked) .cp-switch-on {
	color: #5eead4;
}
.cp-switch.is-on .cp-switch-track,
.cp-switch:has(input:checked) .cp-switch-track {
	background: #5eead4;
}
.cp-switch.is-on .cp-switch-track::after,
.cp-switch:has(input:checked) .cp-switch-track::after {
	transform: translateX(1rem);
}
@media (max-width: 800px) {
	.cp-chooser {
		padding: 1rem 1rem 1.1rem;
		gap: 1rem;
	}
}

.cp-edcard.is-pick {
	outline: 2px solid #5eead4;
	outline-offset: 4px;
	transform: scale(1.06);
	z-index: 2;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.28);
}

.cp-edcard.is-fade {
	opacity: 0.38;
}

.cp-pick-badge {
	font-weight: 700;
	margin: 0 0 0.4rem;
	color: #5eead4;
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.cp-pick-note {
	margin: 0;
	padding: 0.95rem 1.05rem 1.05rem;
	border: 1px solid rgba(94, 234, 212, 0.32);
	border-radius: var(--cp-radius);
	background: rgba(10, 38, 66, 0.42);
	max-width: none;
	color: var(--cp-text);
}

.cp-pick-note[hidden] {
	display: none;
}

.cp-pick-note > p {
	margin: 0;
	max-width: none;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.45;
	color: var(--cp-text);
}

.cp-pick-note .cp-cta {
	margin: 0.75rem 0 0;
}

/* 0.5.14 - clickable edition cards, shop Details, chooser more-callout */
.cp-edcard {
	cursor: pointer;
}

.cp-shop-grid .cp-cta .cp-btn {
	min-width: 7.5rem;
	text-align: center;
}


/* 0.5.15 - light tile hover */
.cp-edcard,
.cp-card,
.cp-why-card,
.cp-feat,
.cp-job,
.cp-pay-tile {
	transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease;
}
.cp-edcard:hover,
.cp-card:hover,
.cp-why-card:hover,
.cp-feat:hover,
.cp-job:hover,
.cp-pay-tile:hover {
	background: rgba(255, 255, 255, 0.06);
	border-color: rgba(94, 234, 212, 0.38);
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
	transform: translateY(-2px);
}


/* 0.5.16 - taller tiles, whole-card open */
.cp-why-card,
.cp-job {
	min-height: 16.5rem;
}
.cp-edcard,
.cp-card {
	min-height: 13.5rem;
}
.cp-feat.is-openable,
.cp-why-card.is-openable,
.cp-job.is-openable,
.cp-edcard.is-openable,
.cp-card.is-openable,
.cp-pay-tile.is-openable {
	cursor: pointer;
}

/* Closed dialogs must never take flow (wpautop leftovers / author CSS). */
dialog.cp-info-dialog:not([open]),
dialog.cp-shot-dialog:not([open]),
dialog.cp-matrix-dialog:not([open]) {
	display: none !important;
}

.cp-main > p:empty,
.cp-main > p:blank {
	display: none;
}

.cp-chooser-reset {
	margin: 1.1rem 0 0;
}

/* 0.5.21 - three pillars: same height so Ansicht lines up after longer copy */
.cp-jobs-grid .cp-job {
	min-height: 22.5rem;
}

/* 0.5.24 - Home stakes: readable timeline, round tiles, quote cards, gap tiles/bars */
.cp-stakes {
	background: #071929;
	padding: 2.5rem 0 2.8rem;
	border-top: 1px solid var(--cp-line);
	border-bottom: 1px solid var(--cp-line);
}
.cp-stakes h2 {
	margin: 0.2rem 0 1.35rem;
	color: var(--cp-white);
	max-width: none;
}
.cp-stakes-nums {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1rem;
	margin: 0 0 0.65rem;
	width: 100%;
}
.cp-stakes-nums article {
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: 1.35rem;
	padding: 1.25rem 1.2rem 1.3rem;
}
.cp-stakes-nums strong {
	display: block;
	color: #5EEAD4;
	font-size: 2.6rem;
	line-height: 1;
	letter-spacing: -0.03em;
}
.cp-stakes-nums span {
	display: block;
	margin-top: 0.55rem;
	color: var(--cp-text);
	font-size: 0.95rem;
}

.cp-stakes-bars {
	display: grid;
	gap: 0.95rem;
	width: 100%;
	margin: 0 0 0.7rem;
}
.cp-stakes-bar-note {
	margin: 0.15rem 0 0.95rem;
	color: var(--cp-text);
	font-size: 0.95rem;
	max-width: none;
}
.cp-stakes-bar-meta {
	display: flex;
	align-items: baseline;
	gap: 0.7rem;
	margin: 0 0 0.35rem;
	color: var(--cp-text);
	font-size: 0.95rem;
}
.cp-stakes-bar-meta strong {
	color: var(--cp-white);
	font-size: 1.15rem;
	min-width: 3.1rem;
}
.cp-stakes-bar-track {
	width: 100%;
	height: 1.1rem;
	border-radius: 99px;
	background: #0b2a40;
	overflow: hidden;
}
.cp-stakes-bar-fill {
	display: block;
	height: 100%;
	width: calc(var(--cp-bar) * 1%);
	border-radius: inherit;
	background: #5EEAD4;
	transition: none;
}
.cp-stakes-bar[data-cp-bar="38"] .cp-stakes-bar-fill { background: #E8B84C; }
.cp-stakes-bar[data-cp-bar="17"] .cp-stakes-bar-fill { background: #E85D4C; }
.cp-stakes-bar.is-cap .cp-stakes-bar-fill { background: #34D399; }
.cp-stakes.is-in .cp-stakes-bar-fill { width: calc(var(--cp-bar) * 1%); }
.cp-stakes-cap {
	display: inline-block;
	margin-left: 0.45rem;
	padding: 0.08rem 0.42rem;
	border-radius: 99px;
	background: rgba(52, 211, 153, 0.16);
	color: #6EE7B7;
	font-size: 0.68rem;
	font-style: normal;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	vertical-align: 0.08em;
}
@media (prefers-reduced-motion: reduce) {
	.cp-stakes-bar-fill { width: calc(var(--cp-bar) * 1%); transition: none; }
}
.cp-stakes-src {
	margin: 0 0 1.6rem;
	color: var(--cp-muted);
	font-size: 0.82rem;
	max-width: none;
}
.cp-stakes > .cp-wrap > .cp-stakes-src {
	margin-top: 0;
	margin-bottom: 1.35rem;
}
.cp-outages {
	width: 100%;
	margin: 0 0 1.8rem;
}
.cp-outages-viewport {
	overflow: hidden;
	width: 100%;
	border: 1px solid rgba(94, 234, 212, 0.16);
	border-radius: 1.35rem;
	background: var(--cp-blue);
	box-shadow: 0 18px 40px rgba(0, 0, 0, 0.22);
}
.cp-outages-track {
	display: flex;
	transition: transform 0.38s ease;
	will-change: transform;
}
.cp-outage {
	flex: 0 0 100%;
	box-sizing: border-box;
	padding: 2rem 2.1rem 1.75rem;
	min-height: 12.1rem;
}
.cp-outage-quote {
	margin: 0;
	position: relative;
	padding: 0.35rem 0.4rem 0 2.15rem;
}
.cp-outage-quote::before {
	content: "\201C";
	position: absolute;
	left: 0;
	top: -0.15em;
	color: #5EEAD4;
	font-size: 3.1rem;
	line-height: 1;
	font-weight: 700;
	font-family: Georgia, "Times New Roman", serif;
	opacity: 0.92;
}
.cp-outage-quote p {
	margin: 0;
	color: var(--cp-white);
	font-size: 1.22rem;
	line-height: 1.5;
	font-style: italic;
	font-family: Georgia, "Times New Roman", serif;
	max-width: 40rem;
}
.cp-outage-cite {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.35rem 0.75rem;
	margin: 1.35rem 0 0 2.15rem;
}
.cp-outage-cite cite {
	font-style: normal;
	font-weight: 750;
	color: var(--cp-white);
	font-size: 1.02rem;
}
.cp-outage-meta {
	color: #5EEAD4;
	font-size: 0.88rem;
	font-weight: 650;
}
.cp-outage-cause {
	color: var(--cp-muted);
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	width: 100%;
}
.cp-outages-nav {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
	margin: 0.85rem 0 0;
}
.cp-outages-prev,
.cp-outages-next {
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: 1px solid var(--cp-line);
	border-radius: 99px;
	background: transparent;
	color: var(--cp-white);
	cursor: pointer;
	position: relative;
}
.cp-outages-prev::before,
.cp-outages-next::before {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 0.42rem;
	height: 0.42rem;
	border-left: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
}
.cp-outages-prev::before { transform: translate(-30%, -50%) rotate(45deg); }
.cp-outages-next::before { transform: translate(-70%, -50%) rotate(-135deg); }
.cp-outages-dots {
	display: flex;
	gap: 0.4rem;
	align-items: center;
}
.cp-outages-dots button {
	width: 0.55rem;
	height: 0.55rem;
	padding: 0;
	border: 0;
	border-radius: 99px;
	background: rgba(234, 240, 246, 0.28);
	cursor: pointer;
}
.cp-outages-dots button.is-on {
	background: #5EEAD4;
	width: 1.15rem;
}

.cp-stakes-tl {
	margin: 0.4rem 0 0;
	width: 100%;
}
.cp-stakes-tl-k {
	margin: 0 0 1.7rem;
	color: var(--cp-white);
	font-size: 1.08rem;
	font-weight: 700;
	line-height: 1.3;
}
.cp-stakes-tl > .cp-stakes-tl-k {
	margin-bottom: 0.55rem;
}
.cp-stakes-tl-rail {
	position: relative;
	width: 100%;
	min-height: 13.2rem;
	padding: 4.4rem 0.2rem 3.6rem;
	box-sizing: border-box;
	overflow-x: clip;
}
.cp-stakes-tl-rail::before {
	content: "";
	position: absolute;
	left: 0.2rem;
	right: 0.2rem;
	top: 50%;
	height: 2px;
	background: var(--cp-line);
	transform: translateY(-50%);
}
.cp-stakes-tl-line {
	list-style: none;
	margin: 0;
	padding: 0;
	position: absolute;
	left: 0.2rem;
	right: 0.2rem;
	top: 50%;
	height: 0;
}
.cp-stakes-tl-line li {
	position: absolute;
	top: 0;
	width: 9.4rem;
	height: 0;
	margin: 0;
	padding: 0;
	transform: translateX(-50%);
	color: var(--cp-text);
	font-size: 1rem;
	line-height: 1.25;
	text-align: center;
}
.cp-stakes-tl-dot {
	position: absolute;
	left: 50%;
	top: 0;
	width: 0.7rem;
	height: 0.7rem;
	border-radius: 99px;
	background: #0E7C6B;
	box-shadow: 0 0 0 4px #071929;
	transform: translate(-50%, -50%);
}
.cp-stakes-tl-line li.is-danger .cp-stakes-tl-dot { background: #E85D4C; }
.cp-stakes-tl-lab {
	position: absolute;
	left: 0;
	right: 0;
}
.cp-stakes-tl-line li:nth-child(odd) .cp-stakes-tl-lab { top: 1.15rem; }
.cp-stakes-tl-line li:nth-child(even) .cp-stakes-tl-lab { bottom: 1.15rem; }
.cp-stakes-tl-line b {
	display: block;
	color: var(--cp-white);
	font-size: 1.22rem;
	margin: 0 0 0.14rem;
}
.cp-stakes-tl-line .cp-stakes-tl-lab span { display: block; }
.cp-stakes-tl-line li:first-child {
	text-align: left;
	transform: none;
}
.cp-stakes-tl-line li:first-child .cp-stakes-tl-dot {
	left: 0.35rem;
	transform: translateY(-50%);
}
.cp-stakes-tl-line li:last-child {
	text-align: right;
	transform: translateX(-100%);
}
.cp-stakes-tl-line li:last-child .cp-stakes-tl-dot {
	left: auto;
	right: 0.35rem;
	transform: translateY(-50%);
}
.cp-stakes-tl-now {
	position: absolute;
	top: 50%;
	width: 1.15rem;
	height: 1.15rem;
	margin: 0;
	transform: translate(-50%, -50%);
	z-index: 2;
	pointer-events: none;
}
/* Animation-Lock: only this pulse + outage quote swap - no %-tile/scroll anim */
.cp-stakes-tl-now::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 0.9rem;
	height: 0.9rem;
	border-radius: 99px;
	background: #5EEAD4;
	border: 2px solid var(--cp-white);
	transform: translate(-50%, -50%);
	box-shadow: 0 0 0 3px #071929, 0 0 0 0 rgba(94, 234, 212, 0.45);
	animation: cp-tl-now-pulse 2.8s ease-in-out infinite;
}
@keyframes cp-tl-now-pulse {
	0%, 100% { box-shadow: 0 0 0 3px #071929, 0 0 0 0 rgba(94, 234, 212, 0.5); }
	50% { box-shadow: 0 0 0 3px #071929, 0 0 0 12px rgba(94, 234, 212, 0); }
}
.cp-stakes-tl-now-k {
	position: absolute;
	left: 50%;
	top: calc(100% + 0.35rem);
	transform: translateX(-50%);
	color: #5EEAD4;
	font-size: 0.7rem;
	font-weight: 750;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	white-space: nowrap;
}
.cp-stakes-tl-note {
	margin: 1.05rem 0 0;
	color: var(--cp-text);
	font-size: 0.98rem;
	max-width: none;
}
@media (max-width: 720px) {
	.cp-stakes-nums { grid-template-columns: 1fr; }
	.cp-stakes-nums strong { font-size: 2.2rem; }
}
@media (prefers-reduced-motion: reduce) {
	.cp-outages-track { transition: none; }
	.cp-stakes-tl-now::before { animation: none; }
}

.cp-jobs-intro {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	margin: 0 0 2rem;
	color: var(--cp-white);
	font-size: 1.55rem;
	font-weight: 650;
	line-height: 1.3;
	text-align: left;
	max-width: none;
}
.cp-jobs-intro .cp-kicker {
	margin: 0 0 0.6rem;
	font-size: 0.8rem;
	font-weight: 650;
	line-height: 1.3;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--cp-teal-soft);
	max-width: none;
}
.cp-jobs-after {
	display: block;
	margin: 0;
	max-width: none;
}
.cp-jobs-brand {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	margin: 0 0 0.95rem;
}
.cp-jobs-mark {
	display: block;
	height: 6.8rem;
	width: auto;
	flex: 0 0 auto;
}
.cp-jobs-word {
	color: var(--cp-white);
	font-size: 3.8rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
}


/* TLSPilot Invoice checkout - theme integration */
.cp-invoice-checkout {
	border-top: 1px solid var(--cp-line);
	padding-top: 2rem;
	padding-bottom: 2.2rem;
}
.cp-invoice-lead {
	max-width: 40rem;
	margin: 0 0 1.25rem;
	color: var(--cp-muted);
}
.cp-invoice-checkout .tlsp-wrap {
	max-width: none;
	margin: 0;
	color: var(--cp-text);
}
.cp-invoice-checkout .tlsp-h {
	color: var(--cp-white);
	font-size: 1.45rem;
	margin: 0 0 0.35rem;
}
.cp-invoice-checkout .tlsp-intro {
	color: var(--cp-muted);
	margin: 0 0 1.1rem;
}
.cp-invoice-checkout .tlsp-card {
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 1rem 1.1rem;
	margin-bottom: 1rem;
	color: var(--cp-text);
}
.cp-invoice-checkout .tlsp-card h3 {
	color: var(--cp-white);
	margin: 0 0 0.7rem;
	font-size: 1.05rem;
}
.cp-invoice-checkout .tlsp-seller {
	color: var(--cp-text);
	font-size: 0.95rem;
	line-height: 1.45;
}
.cp-invoice-checkout .tlsp-form label {
	color: var(--cp-text);
	font-size: 0.86rem;
	font-weight: 600;
}
.cp-invoice-checkout .tlsp-form input[type=text],
.cp-invoice-checkout .tlsp-form input[type=email],
.cp-invoice-checkout .tlsp-form select,
.cp-invoice-checkout .tlsp-form textarea {
	background: var(--cp-navy);
	color: var(--cp-white);
	border: 1px solid rgba(234, 240, 246, 0.35);
	border-radius: var(--cp-radius);
	padding: 0.5rem 0.65rem;
}
.cp-invoice-checkout .tlsp-form input:focus,
.cp-invoice-checkout .tlsp-form select:focus,
.cp-invoice-checkout .tlsp-form textarea:focus {
	outline: 2px solid var(--cp-teal);
	border-color: var(--cp-teal);
}
.cp-invoice-checkout .tlsp-muted {
	color: var(--cp-muted);
}
.cp-invoice-checkout .tlsp-summary dt {
	color: var(--cp-muted);
}
.cp-invoice-checkout .tlsp-summary dd {
	color: var(--cp-text);
}
.cp-invoice-checkout .tlsp-total {
	color: var(--cp-teal-soft);
}
.cp-invoice-checkout .tlsp-check {
	color: var(--cp-text);
}
.cp-invoice-checkout .tlsp-card a {
	color: var(--cp-teal-soft);
}
.cp-invoice-checkout .tlsp-card a:hover {
	color: var(--cp-white);
}
.cp-invoice-checkout .tlsp-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 1rem;
	padding: 0.75rem 1.1rem;
	background: var(--cp-teal);
	color: var(--cp-white);
	border: 1px solid var(--cp-teal);
	border-radius: var(--cp-radius);
	font: inherit;
	font-weight: 650;
	cursor: pointer;
	box-shadow: 0 10px 22px rgba(14, 124, 107, 0.28);
}
.cp-invoice-checkout .tlsp-btn:hover {
	background: #0b6a5c;
	border-color: #0b6a5c;
	color: var(--cp-white);
}
.cp-invoice-checkout .tlsp-ok {
	background: rgba(14, 124, 107, 0.22);
	border: 1px solid var(--cp-teal);
	color: var(--cp-text);
	border-radius: var(--cp-radius);
	padding: 0.8rem 1rem;
	margin-bottom: 1rem;
}
.cp-invoice-checkout .tlsp-err {
	background: rgba(232, 93, 76, 0.18);
	border: 1px solid var(--cp-danger);
	color: var(--cp-text);
	border-radius: var(--cp-radius);
	padding: 0.8rem 1rem;
	margin-bottom: 1rem;
}


/* Shop pay channel dialog - 0.5.89: taller, edition+price prominent */
.cp-pay-dialog {
	width: min(36rem, calc(100vw - 1.5rem));
	min-height: min(28rem, calc(100vh - 2rem));
	max-height: calc(100vh - 1.25rem);
}
.cp-pay-dialog .cp-dialog-inner {
	max-width: none;
	min-height: min(26rem, calc(100vh - 3rem));
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}
.cp-pay-summary {
	margin: 0.35rem 0 1.65rem;
	padding: 1.1rem 1.15rem 1.2rem;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	background: rgba(255, 255, 255, 0.04);
}
.cp-pay-kicker {
	margin: 0 0 0.35rem;
	color: var(--cp-muted);
	font-size: 0.78rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.cp-pay-edition-name {
	margin: 0 0 0.45rem;
	color: var(--cp-white);
	font-size: 1.55rem;
	font-weight: 650;
	line-height: 1.2;
}
.cp-pay-edition-price {
	margin: 0;
	color: var(--cp-text);
	font-size: 1.05rem;
	font-weight: 550;
	line-height: 1.35;
	white-space: nowrap;
}
.cp-pay-edition {
	margin: 0 0 1rem;
	color: var(--cp-muted);
}
.cp-pay-dialog .cp-pay-options {
	margin-top: auto;
}
.cp-pay-options {
	display: grid;
	gap: 0.75rem;
}
.cp-pay-opt {
	display: block;
	width: 100%;
	text-align: left;
	padding: 0.95rem 1.05rem;
	border-radius: var(--cp-radius);
	border: 1px solid var(--cp-line);
	background: var(--cp-blue);
	color: var(--cp-text);
	cursor: pointer;
	font: inherit;
}
.cp-pay-opt:hover,
.cp-pay-opt:focus-visible {
	border-color: var(--cp-teal);
	outline: 2px solid var(--cp-teal);
	outline-offset: 1px;
}
.cp-pay-opt strong {
	display: block;
	color: var(--cp-white);
	font-size: 1.02rem;
	margin-bottom: 0.35rem;
}
.cp-pay-opt span {
	display: block;
	color: var(--cp-muted);
	font-size: 0.9rem;
	line-height: 1.4;
	font-weight: 400;
}
.cp-invoice-checkout.cp-invoice-flash {
	box-shadow: inset 0 0 0 2px var(--cp-teal);
	transition: box-shadow 0.3s ease;
}


/* Hide empty plugin shop intro */
.cp-invoice-checkout .tlsp-intro:empty {
	display: none;
}
.cp-invoice-checkout .tlsp-h {
	/* page already has h1 - keep plugin h2 calm */
}


/* No duplicate plugin title on dedicated invoice pages */
.cp-page[data-slug="/de/rechnung/"] .tlsp-h,
.cp-page[data-slug="/invoice/"] .tlsp-h,
.cp-page[data-slug="/rechnung/"] .tlsp-h,
.cp-page[data-slug="/en/invoice/"] .tlsp-h,
.cp-page[data-slug="/shop/success/"] .tlsp-h,
.cp-page[data-slug="/de/shop/success/"] .tlsp-h {
	display: none;
}


/* Edition advisor need-more tile */
.cp-need-more {
	margin-top: 1rem;
	padding: 1rem 1.1rem 1.05rem;
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	color: var(--cp-text);
}
.cp-need-more[hidden] {
	display: none !important;
}
.cp-need-more-title {
	margin: 0 0 0.55rem;
	font-size: 1.05rem;
	color: var(--cp-white);
}
.cp-need-more-addons {
	margin: 0 0 0.85rem;
	padding-left: 1.1rem;
	color: var(--cp-muted);
	font-size: 0.92rem;
	line-height: 1.45;
}
.cp-need-more-addons[hidden] {
	display: none !important;
}
.cp-need-more .cp-cta {
	margin: 0;
}


/* Edition/shop card blurb wrap */
.cp-edcard > p,
.cp-card[data-edition] > p:not(.cp-price):not(.cp-cta) {
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Edition advisor - add-on pills inside recommended card */
.cp-ed-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin-top: auto;
	padding-top: 0.85rem;
}
.cp-edcard .cp-ed-pills {
	margin-top: 0.85rem;
}
.cp-ed-pill {
	display: inline-block;
	padding: 0.32rem 0.75rem;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 650;
	letter-spacing: 0.01em;
	opacity: 1;
	background: var(--cp-teal);
	color: var(--cp-white);
	border: 1px solid var(--cp-teal);
	box-shadow: 0 8px 18px rgba(14, 124, 107, 0.28);
}
.cp-edcard.is-pick .cp-ed-pill {
	opacity: 1;
	background: var(--cp-teal);
	color: var(--cp-white);
	border-color: var(--cp-teal);
}
.cp-tenant-more[hidden] {
	display: none !important;
}
.cp-chooser-toggles .cp-tenant-more {
	margin-left: 1.15rem;
	padding-left: 0.85rem;
	border-left: 2px solid rgba(94, 234, 212, 0.22);
}

/* Price row stays one line on edition/shop cards */
.cp-edcard .cp-price,
.cp-shop-grid .cp-card .cp-price,
.cp-card[data-edition] .cp-price {
	white-space: nowrap;
	font-size: 1.05rem;
	letter-spacing: -0.01em;
}

.cp-edcard .cp-pick-scope {
	margin: 0.75rem 0 0;
	padding: 0.65rem 0 0;
	border-top: 1px solid rgba(94, 234, 212, 0.28);
	font-size: 0.88rem;
	line-height: 1.45;
}
.cp-edcard .cp-pick-scope > p {
	margin: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.cp-edcard .cp-pick-scope ul {
	margin: 0.4rem 0 0;
	padding-left: 1.1rem;
}
.cp-edcard .cp-pick-scope li {
	margin: 0.2rem 0;
}

/* Advisor edcards: hide prices always; blurbs stay visible on pick */
.cp-edcard .cp-price {
	display: none;
}
.cp-edcard .cp-pick-scope {
	display: none !important;
}


/* Edition detail popup - wide dialog, stack on narrow */
#cp-dlg-edition {
	width: min(1100px, 92vw);
	max-width: 92vw;
}
#cp-dlg-edition .cp-dialog-inner {
	overflow: auto;
	max-height: calc(100vh - 2.5rem);
}
@media (max-width: 960px) {
	.cp-ed-feats-body .cp-ed-detail,
	.cp-ed-cat-grid {
		grid-template-columns: 1fr !important;
	}
}

/* Edition popup - price line cloned from the card, then structured detail */
#cp-dlg-edition .cp-ed-feats-body > .cp-price {
	margin: 0 0 1rem;
	max-width: none;
	font-size: 1.05rem;
	line-height: 1.35;
}
.cp-ed-feats-body .cp-ed-detail {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.1rem 1.25rem;
}
@media (max-width: 960px) {
	.cp-ed-feats-body .cp-ed-detail {
		grid-template-columns: 1fr;
	}
}
.cp-ed-sec-targets {
	grid-column: 1 / -1;
}
.cp-ed-sec {
	margin: 0;
	padding: 1rem 1rem 0.95rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--cp-radius, 5px);
	background: rgba(255, 255, 255, 0.04);
}
.cp-ed-sec h3 {
	margin: 0 0 0.65rem;
	font-size: 1.02em;
	color: var(--cp-white, #fff);
}
.cp-ed-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
.cp-ed-chips li {
	margin: 0;
	padding: 0.22rem 0.65rem;
	border-radius: var(--cp-radius-pill);
	background: rgba(94, 234, 212, 0.1);
	border: 1px solid rgba(94, 234, 212, 0.28);
	font-size: 0.88em;
	line-height: 1.3;
}
.cp-ed-cat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0.9rem 1rem;
}
@media (max-width: 960px) {
	.cp-ed-cat-grid {
		grid-template-columns: 1fr;
	}
}
.cp-ed-cat {
	margin: 0;
	min-width: 0;
}
.cp-ed-cat h4 {
	margin: 0 0 0.45rem;
	font-size: 0.92em;
	font-weight: 650;
	color: var(--cp-white, #fff);
}
.cp-ed-chips-row {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.45rem;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}
.cp-ed-chips-row li {
	white-space: nowrap;
	flex: 0 0 auto;
}

/* Chooser blocks - deployment / feature toggles */
.cp-chooser-block {
	display: grid;
	gap: 0.55rem;
}
.cp-chooser-block-t {
	margin: 0;
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--cp-white, #fff);
}
.cp-chooser-toggles {
	display: grid;
	gap: 0.45rem;
	padding-left: 0.85rem;
	border-left: 2px solid rgba(94, 234, 212, 0.28);
}
.cp-chooser-toggles .cp-switch-row {
	margin-top: 0;
}
.cp-chooser-toggles .cp-switch-row + .cp-switch-row {
	margin-top: 0;
}

/* Pick highlight keeps card blurb visible */
.cp-edcard.is-pick > p:not(.cp-price):not(.cp-cta) {
	display: block;
}
.cp-chooser .cp-switch-row {
	width: 100%;
	align-items: flex-start;
}
.cp-chooser .cp-switch-q {
	flex: 1 1 auto;
	min-width: 0;
	max-width: none;
	line-height: 1.35;
}
.cp-ed-target-groups {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}
.cp-ed-target-group {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0.55rem 0.65rem;
	border: 1px solid rgba(255, 255, 255, 0.1);
	border-radius: var(--cp-radius, 5px);
	background: rgba(255, 255, 255, 0.03);
}
.cp-ed-target-group li {
	white-space: nowrap;
}

/* License advisor head above chooser */
.cp-chooser-head {
	margin: 2rem 0 1rem;
	max-width: none;
	width: 100%;
	box-sizing: border-box;
}
.cp-chooser-head .cp-chooser-title {
	margin: 0 0 0.55rem;
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--cp-white);
	max-width: none;
}
.cp-chooser-head .cp-chooser-intro,
p.cp-chooser-intro {
	margin: 0;
	font-size: 1.02rem;
	line-height: 1.5;
	color: var(--cp-text);
	max-width: none;
	width: 100%;
}



/* 0.5.74 - why-card buttons share bottom-left baseline */
.cp-why-grid {
	align-items: stretch;
}
.cp-why-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
}
.cp-why-card > p:last-of-type {
	margin-top: auto;
	padding-top: 1rem;
	text-align: left;
}

/* 0.5.74 - Jobs info dialogs + why dialog content (timeline/bars) */
.cp-job-dlg-lead {
	margin: 0 0 2.65rem;
}
.cp-flow-panel {
	display: grid;
	gap: 1.1rem;
	margin: 0;
}
.cp-flow-group.cp-cat-block,
#cp-dlg-job-obtain .cp-cat-block,
#cp-dlg-job-deploy .cp-cat-block {
	margin: 0;
	padding: 1.2rem 1.1rem 1.1rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--cp-radius, 5px);
	background: rgba(255, 255, 255, 0.04);
}
#cp-dlg-job-obtain .cp-cat-block h3,
#cp-dlg-job-deploy .cp-cat-block h3,
.cp-flow-group h3 {
	margin: 0 0 0.65rem;
	font-size: 1.05em;
	color: var(--cp-white);
}
#cp-dlg-job-obtain .cp-cat-chips,
#cp-dlg-job-deploy .cp-cat-chips,
#cp-dlg-acme .cp-cat-chips,
.cp-flow-panel .cp-cat-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
#cp-dlg-job-obtain .cp-cat-chips li,
#cp-dlg-job-deploy .cp-cat-chips li,
#cp-dlg-acme .cp-cat-chips li,
.cp-flow-panel .cp-cat-chips li {
	margin: 0;
	padding: 0.22rem 0.65rem;
	border-radius: 999px;
	background: rgba(94, 234, 212, 0.1);
	border: 1px solid rgba(94, 234, 212, 0.28);
	font-size: 0.88em;
	line-height: 1.3;
	color: var(--cp-text);
}
.cp-job-deploy-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.1rem;
}
@media (max-width: 720px) {
	.cp-job-deploy-grid {
		grid-template-columns: 1fr;
	}
}
#cp-dlg-job-obtain,
#cp-dlg-job-deploy,
#cp-dlg-job-renew {
	width: min(48rem, calc(100vw - 1.5rem));
	max-height: min(90vh, 52rem);
}
#cp-dlg-job-deploy {
	width: min(62rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-job-deploy .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
/* 0.5.75 - Why popups: wider, matched size; notes match Source style */
#cp-dlg-why-lifetimes,
#cp-dlg-why-systems {
	width: min(56rem, calc(100vw - 1.5rem));
	min-height: min(28rem, 85vh);
	max-height: min(90vh, 52rem);
}
#cp-dlg-why-lifetimes .cp-dialog-inner,
#cp-dlg-why-systems .cp-dialog-inner {
	min-height: 24rem;
	box-sizing: border-box;
}
#cp-dlg-why-lifetimes .cp-stakes-tl {
	margin: 0.35rem 0 0;
}
#cp-dlg-why-systems .cp-stakes-bars {
	margin-top: 0.35rem;
}
#cp-dlg-why-lifetimes .cp-stakes-tl-note,
#cp-dlg-why-systems .cp-stakes-bar-note,
#cp-dlg-why-systems .cp-stakes-src {
	margin: 0.85rem 0 0;
	color: var(--cp-muted);
	font-size: 0.82rem;
	max-width: none;
}
#cp-dlg-why-systems .cp-stakes-src:last-child {
	margin-bottom: 0;
}

/* Renew hub + 24h timer (static CSS graphic) */
.cp-renew-hub {
	display: grid;
	gap: 1.25rem;
	justify-items: center;
	margin: 0.4rem 0 0.2rem;
	padding: 1.45rem 1.25rem 1.35rem;
	border: 1px solid rgba(255, 255, 255, 0.12);
	border-radius: var(--cp-radius, 5px);
	background: rgba(255, 255, 255, 0.04);
	text-align: center;
}
.cp-renew-hub-brand {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}
.cp-renew-hub-mark {
	display: block;
	height: 3.4rem;
	width: auto;
}
.cp-renew-hub-text {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	text-align: left;
}
.cp-renew-hub-word {
	color: var(--cp-white);
	font-size: 1.85rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1;
}
.cp-renew-hub-tag {
	color: var(--cp-muted);
	font-size: 0.95rem;
}
.cp-renew-timer {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1rem;
}
.cp-renew-timer-face {
	position: relative;
	width: 4.6rem;
	height: 4.6rem;
	border-radius: 50%;
	border: 3px solid rgba(94, 234, 212, 0.55);
	background:
		conic-gradient(from -90deg, rgba(94, 234, 212, 0.85) 0 25%, rgba(10, 38, 66, 0.35) 25% 100%);
	box-shadow: inset 0 0 0 0.55rem #0A2642, 0 0 0 1px rgba(255, 255, 255, 0.08);
	display: grid;
	place-items: center;
}
.cp-renew-timer-24 {
	position: relative;
	z-index: 1;
	color: var(--cp-white);
	font-weight: 750;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
}
.cp-renew-timer-copy {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	text-align: left;
}
.cp-renew-timer-copy strong {
	color: var(--cp-white);
	font-size: 1.05rem;
}
.cp-renew-timer-copy span {
	color: var(--cp-muted);
	font-size: 0.92rem;
}

/* 0.5.76 - Jobs popup polish */
.cp-job-dlg-lead {
	margin: 0 0 2.65rem;
}
.cp-renew-hub-mark {
	height: 5.2rem;
	width: auto;
}
.cp-renew-hub-word {
	font-size: 2.35rem;
}
.cp-renew-hub-tag {
	display: none;
}
.cp-renew-timer-face {
	width: 6.1rem;
	height: 6.1rem;
	border-width: 4px;
}
.cp-renew-timer-24 {
	font-size: 1.35rem;
	font-weight: 800;
}
.cp-renew-timer-copy strong {
	font-size: 1.15rem;
}

/* 0.5.77 - Big Picture not zoomable */
#flow .cp-shot { cursor: default; }
#flow .cp-shot img { cursor: default; pointer-events: auto; }

/* 0.5.79 - Jobs lead air (title+intro → content) */
#cp-dlg-job-obtain .cp-job-dlg-lead,
#cp-dlg-job-deploy .cp-job-dlg-lead,
#cp-dlg-job-renew .cp-job-dlg-lead {
	margin: 0 0 2.65rem;
}
#cp-dlg-job-obtain .cp-flow-panel,
#cp-dlg-job-deploy .cp-job-deploy-grid,
#cp-dlg-job-renew .cp-renew-hub {
	margin-top: 0;
}

/* 0.5.83 - Why popups: intro like Obtain (cp-job-dlg-lead), air before graphic */
#cp-dlg-why-lifetimes .cp-job-dlg-lead,
#cp-dlg-why-systems .cp-job-dlg-lead {
	margin: 0 0 2.65rem;
	color: inherit;
	font-size: inherit;
	line-height: 1.5;
	max-width: none;
}
#cp-dlg-why-lifetimes .cp-stakes-tl,
#cp-dlg-why-systems .cp-stakes-bars {
	margin-top: 0;
}

/* 0.5.81 - Shop Details popup matches Editions (same #cp-dlg-edition chrome) */
#cp-dlg-edition .cp-ed-feats-body {
	margin-top: 0.35rem;
}

/* 0.5.81 - Shop Details popup matches Editions (same #cp-dlg-edition chrome) */
#cp-dlg-edition .cp-ed-feats-body {
	margin-top: 0.35rem;
}

/* 0.5.84 - Produkt «Warum das zählt» / Why that matters: wider for 2-col prose */
#cp-dlg-why {
	width: min(50rem, calc(100vw - 1.5rem));
}
#cp-dlg-why .cp-why-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.3rem;
	margin: 1.15rem 0 0;
}
@media (max-width: 720px) {
	#cp-dlg-why .cp-why-grid { grid-template-columns: 1fr; }
}

/* 0.5.86 - Deploy/Verteilen popup: use viewport height; scroll only on small screens */

@media (max-width: 520px) {
	.cp-pay-edition-price { white-space: normal; }
}


/* 0.5.93 - Deployment Helpers popup: icon + title row, helper shot */
.cp-dlg-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0 0 1rem;
}
.cp-dlg-head .cp-why-ico {
	display: block;
	width: 52px;
	height: 52px;
	margin: 0;
	flex: 0 0 auto;
}
.cp-dlg-head h2 {
	margin: 0;
	font-size: clamp(1.25rem, 2.2vw, 1.55rem);
	line-height: 1.25;
}
/* 0.5.97 - Helpers: two shots side-by-side + lightbox, no 16:10 crop */
#cp-dlg-helpers {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-helpers .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-helpers .cp-shot-pair--helpers {
	margin: 0.85rem 0 0;
}
#cp-dlg-helpers .cp-shot-pair--helpers .cp-shot img,
#cp-dlg-helpers .cp-shot-pair--helpers .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}
@media (max-width: 720px) {
	#cp-dlg-helpers .cp-shot-pair--helpers {
		grid-template-columns: 1fr;
	}
}

/* 0.5.96 - Deployment targets popup: head + lead + pair, no 16:10 crop; lightbox via shot-7/8 */
#cp-dlg-catalogue {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-catalogue .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-catalogue .cp-shot-pair--targets {
	margin: 0.85rem 0 0;
}
#cp-dlg-catalogue .cp-shot-pair--targets .cp-shot img,
#cp-dlg-catalogue .cp-shot-pair--targets .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}
@media (max-width: 720px) {
	#cp-dlg-catalogue .cp-shot-pair--targets {
		grid-template-columns: 1fr;
	}
}

/* 0.5.98 - Credentials store popup: head + lead + full shot lightbox, no 16:10 crop */
#cp-dlg-store {
	width: min(52rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-store .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-store .cp-shot-store {
	margin: 0.85rem 0 0;
	max-width: 100%;
}
#cp-dlg-store .cp-shot-store img,
#cp-dlg-store .cp-shot-store .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}

/* 0.5.100 - Health popup: head + lead + pair + lightbox, no 16:10 crop */
#cp-dlg-health {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-health .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-health .cp-shot-pair--health {
	margin: 0.85rem 0 0;
}
#cp-dlg-health .cp-shot-pair--health .cp-shot img,
#cp-dlg-health .cp-shot-pair--health .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}
@media (max-width: 720px) {
	#cp-dlg-health .cp-shot-pair--health {
		grid-template-columns: 1fr;
	}
}

/* 0.5.101 - Renew popup: head + lead + full shot lightbox, no 16:10 crop */
#cp-dlg-renew {
	width: min(48rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-renew .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-renew .cp-shot-renew {
	margin: 0.85rem 0 0;
	max-width: 100%;
}
#cp-dlg-renew .cp-shot-renew img,
#cp-dlg-renew .cp-shot-renew .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}

/* 0.5.102 - Private CA + ACME popups: head/lead/shots, no 16:10 crop */
#cp-dlg-private-ca,
#cp-dlg-acme {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-private-ca .cp-dialog-inner,
#cp-dlg-acme .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-private-ca .cp-shot-private-ca,
#cp-dlg-acme .cp-shot-pair--acme {
	margin: 0.85rem 0 0;
}
#cp-dlg-private-ca .cp-shot-private-ca img,
#cp-dlg-private-ca .cp-shot-private-ca .cp-shot-open img,
#cp-dlg-acme .cp-shot-pair--acme .cp-shot img,
#cp-dlg-acme .cp-shot-pair--acme .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}
@media (max-width: 720px) {
	#cp-dlg-acme .cp-shot-pair--acme { grid-template-columns: 1fr; }
}

/* 0.5.103 - Enterprise CA popup */
#cp-dlg-enterprise-ca {
	width: min(48rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-enterprise-ca .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-enterprise-ca .cp-shot-enterprise-ca {
	margin: 0.85rem 0 0;
}
#cp-dlg-enterprise-ca .cp-shot-enterprise-ca img,
#cp-dlg-enterprise-ca .cp-shot-enterprise-ca .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}

/* 0.5.105 - Redeploy + Management Tool popups */
#cp-dlg-redeploy,
#cp-dlg-mgmt {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-redeploy .cp-dialog-inner,
#cp-dlg-mgmt .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-redeploy .cp-shot-pair--redeploy,
#cp-dlg-mgmt .cp-shot-mgmt {
	margin: 0.85rem 0 0;
}
#cp-dlg-redeploy .cp-shot-pair--redeploy .cp-shot img,
#cp-dlg-redeploy .cp-shot-pair--redeploy .cp-shot-open img,
#cp-dlg-mgmt .cp-shot-mgmt img,
#cp-dlg-mgmt .cp-shot-mgmt .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}
@media (max-width: 720px) {
	#cp-dlg-redeploy .cp-shot-pair--redeploy { grid-template-columns: 1fr; }
}

/* 0.5.107 - WebUI console + RBAC popups */
#cp-dlg-webui,
#cp-dlg-rbac {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-webui .cp-dialog-inner,
#cp-dlg-rbac .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-webui .cp-shot-webui-console,
#cp-dlg-rbac .cp-shot-pair--rbac {
	margin: 0.85rem 0 0;
}
#cp-dlg-webui .cp-shot-webui-console img,
#cp-dlg-webui .cp-shot-webui-console .cp-shot-open img,
#cp-dlg-rbac .cp-shot-pair--rbac .cp-shot img,
#cp-dlg-rbac .cp-shot-pair--rbac .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}
@media (max-width: 720px) {
	#cp-dlg-rbac .cp-shot-pair--rbac { grid-template-columns: 1fr; }
}

/* 0.5.107 - Management API & PowerShell popup */
#cp-dlg-api {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-api .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-api .cp-shot-api {
	margin: 0.85rem 0 0;
}
#cp-dlg-api .cp-shot-api img,
#cp-dlg-api .cp-shot-api .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}

/* 0.5.173 - AI Assisted Help popup: full dialog, no 16:10 crop */
#cp-dlg-ai-help .cp-shot {
	margin: 0.85rem 0 0;
}
#cp-dlg-ai-help .cp-shot img,
#cp-dlg-ai-help .cp-shot .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: min(65vh, 36rem);
	width: 100%;
}


/* 0.5.108 - Tenants / Alerts / Logging / Backup popups + system requirements */
#cp-dlg-tenants,
#cp-dlg-alerts,
#cp-dlg-logging,
#cp-dlg-backup {
	width: min(56rem, calc(100vw - 1.5rem));
	max-height: calc(100vh - 1.25rem);
}
#cp-dlg-tenants .cp-dialog-inner,
#cp-dlg-alerts .cp-dialog-inner,
#cp-dlg-logging .cp-dialog-inner,
#cp-dlg-backup .cp-dialog-inner {
	max-height: calc(100vh - 1.25rem);
	overflow: auto;
}
#cp-dlg-tenants .cp-shot-pair--tenants {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 0.85rem 0 0;
}
#cp-dlg-tenants .cp-shot-pair--tenants .cp-shot {
	flex: 1 1 calc(33.333% - 0.5rem);
	min-width: 10rem;
	margin: 0;
}
#cp-dlg-tenants .cp-shot-pair--tenants .cp-shot img,
#cp-dlg-tenants .cp-shot-pair--tenants .cp-shot-open img,
#cp-dlg-alerts .cp-shot-pair--alerts .cp-shot img,
#cp-dlg-alerts .cp-shot-pair--alerts .cp-shot-open img,
#cp-dlg-backup .cp-shot-pair--backup .cp-shot img,
#cp-dlg-backup .cp-shot-pair--backup .cp-shot-open img,
#cp-dlg-logging .cp-shot-logging img,
#cp-dlg-logging .cp-shot-logging .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}
#cp-dlg-alerts .cp-shot-pair--alerts,
#cp-dlg-backup .cp-shot-pair--backup,
#cp-dlg-logging .cp-shot-logging {
	margin: 0.85rem 0 0;
}
@media (max-width: 720px) {
	#cp-dlg-tenants .cp-shot-pair--tenants .cp-shot {
		flex: 1 1 100%;
	}
	#cp-dlg-alerts .cp-shot-pair--alerts,
	#cp-dlg-backup .cp-shot-pair--backup {
		grid-template-columns: 1fr;
	}
}

.cp-sysreq-card {
	max-width: 48rem;
}
.cp-sysreq-list {
	margin: 0.6rem 0 1rem;
	padding-left: 1.25rem;
	color: var(--cp-muted);
	line-height: 1.55;
}
.cp-sysreq-list li {
	margin: 0.35rem 0;
}
.cp-sysreq-card code {
	font-size: 0.92em;
	word-break: break-all;
}


/* 0.5.108 - hero contain (no cover-crop) */
.cp-home .cp-hero-shot img,
.cp-home .cp-hero-shot .cp-shot-open img,
.cp-product .cp-jobrow > .cp-shot img,
.cp-product .cp-jobrow > .cp-shot .cp-shot-open img,
.cp-product img[src*="hero-admin.png"],
#cp-dlg-mgmt .cp-shot-mgmt img,
#cp-dlg-mgmt .cp-shot-mgmt .cp-shot-open img,
dialog.cp-shot-dialog img[src*="hero-admin.png"] {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
}

/* 0.5.108 - sysreq chapter + catalog tile scroll target */
#cp-sysreq {
	scroll-margin-top: 5rem;
}
.cp-sysreq-card {
	max-width: 48rem;
	background: var(--cp-blue);
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	padding: 1.35rem 1.25rem 1.4rem;
}
a.cp-info {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
}

/* 0.5.109 - Systemanforderungen full-width Mindestanforderungen card (André lock) */
#cp-sysreq .cp-featgrid {
	display: grid;
	grid-template-columns: 1fr;
}
#cp-sysreq .cp-sysreq-card--full {
	max-width: none;
	width: 100%;
	grid-column: 1 / -1;
}
#cp-sysreq .cp-sysreq-card--full h3 {
	margin: 0 0 0.85rem;
	font-size: 1.15rem;
}
#cp-sysreq .cp-sysreq-card--full p {
	margin: 0 0 0.65rem;
}
#cp-sysreq .cp-sysreq-card--full p:last-child {
	margin-bottom: 0;
}

/* 0.5.111 - SysReq: label|value on one horizontal line (André) */
#cp-sysreq .cp-featgrid {
	display: grid;
	grid-template-columns: 1fr;
}
#cp-sysreq .cp-sysreq-card--full {
	max-width: none;
	width: 100%;
	grid-column: 1 / -1;
}
#cp-sysreq .cp-sysreq-card--full h3 {
	margin: 0 0 1rem;
	font-size: 1.15rem;
}
#cp-sysreq .cp-sysreq-dl {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 0;
}
#cp-sysreq .cp-sysreq-row {
	display: grid;
	grid-template-columns: 11rem minmax(0, 1fr);
	column-gap: 1.25rem;
	align-items: baseline;
	padding: 0.65rem 0;
	border-bottom: 1px solid color-mix(in srgb, var(--cp-line) 70%, transparent);
}
#cp-sysreq .cp-sysreq-row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}
#cp-sysreq .cp-sysreq-row:first-child {
	padding-top: 0.1rem;
}
#cp-sysreq .cp-sysreq-row dt,
#cp-sysreq .cp-sysreq-row dd {
	margin: 0;
	padding: 0;
	display: inline;
	line-height: 1.4;
}
#cp-sysreq .cp-sysreq-row dt {
	font-weight: 700;
	letter-spacing: 0.01em;
	color: var(--cp-text);
	white-space: nowrap;
}
#cp-sysreq .cp-sysreq-row dd {
	min-width: 0;
}
@media (max-width: 640px) {
	#cp-sysreq .cp-sysreq-row {
		grid-template-columns: 7.5rem minmax(0, 1fr);
		column-gap: 1rem;
	}
}

/* 0.5.112 - SysReq label contrast: dt uses --cp-text (WCAG on card) */

/* 0.5.113 - ACME popup DNS-01 + HTTP-01 shots */
#cp-dlg-acme .cp-shot-pair--acme img,
#cp-dlg-acme .cp-shot-pair--acme .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	height: auto;
	max-height: none;
	width: 100%;
}

/* 0.5.119 - ACME four on one line, larger preview, tight gap */
#cp-dlg-acme {
	width: min(78rem, calc(100vw - 1rem));
}
#cp-dlg-acme .cp-shot-pair--acme4 {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.4rem;
	align-items: start;
}
#cp-dlg-acme .cp-shot-pair--acme4 .cp-shot {
	margin: 0;
}
#cp-dlg-acme .cp-shot-pair--acme4 .cp-shot-open {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
}
#cp-dlg-acme .cp-shot-pair--acme4 img,
#cp-dlg-acme .cp-shot-pair--acme4 .cp-shot-open img {
	aspect-ratio: auto;
	object-fit: contain;
	object-position: top center;
	width: 100%;
	height: auto;
	max-height: 15.5rem;
}
@media (max-width: 1100px) {
	#cp-dlg-acme .cp-shot-pair--acme4 img,
	#cp-dlg-acme .cp-shot-pair--acme4 .cp-shot-open img {
		max-height: 13rem;
	}
}
@media (max-width: 900px) {
	#cp-dlg-acme .cp-shot-pair--acme4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0.3rem;
	}
	#cp-dlg-acme .cp-shot-pair--acme4 img,
	#cp-dlg-acme .cp-shot-pair--acme4 .cp-shot-open img {
		max-height: 10.5rem;
	}
}
@media (max-width: 560px) {
	#cp-dlg-acme .cp-shot-pair--acme4 img,
	#cp-dlg-acme .cp-shot-pair--acme4 .cp-shot-open img {
		max-height: 7.5rem;
	}
}

/* 0.5.115 - Editions count 5 (Community+Std+Pro+Ent+Ult) */

/* 0.5.116 - Hersteller/About depth copy lock */

/* 0.5.117 - Hersteller/About product lineage copy */

/* 0.5.120 - Shop: remove pre-order licence notice box */

/* 0.5.121 - ASCII hyphens sitewide; shop pay licence box gone */

/* 0.5.122 - Creem annual charge note removed in 0.5.130 */

/* 0.5.123 - EN license: remove Deutsch cross-link note */

/* 0.5.124 - about route lock MU companion */

/* 0.5.125 - EN license §4 heading shorten */

/* 0.5.126 - EN shop hard scrub licence box + ASCII (page 23) */

/* 0.5.127 - Contact/Download form success banner more prominent */
.cp-form-ok,
.cp-form-err {
	display: block;
	margin: 0 0 1.25rem;
	padding: 1rem 1.15rem;
	border-radius: var(--cp-radius);
	border: 1px solid transparent;
	box-shadow: 0 0 0 1px color-mix(in srgb, var(--cp-white) 12%, transparent);
}
.cp-form-ok {
	background: color-mix(in srgb, #1f8f6a 42%, var(--cp-navy));
	border-color: color-mix(in srgb, #3ecf9a 70%, transparent);
	color: var(--cp-white);
}
.cp-form-err {
	background: color-mix(in srgb, var(--cp-danger) 28%, var(--cp-navy));
	border-color: color-mix(in srgb, var(--cp-danger) 65%, transparent);
	color: var(--cp-white);
}
.cp-form-ok .cp-form-banner-text,
.cp-form-err .cp-form-banner-text {
	margin: 0;
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1.35;
	letter-spacing: 0.01em;
	color: inherit;
}

/* 0.5.128 - white iTrain logo on Hersteller/About */
.cp-itrain-logo-wrap {
	margin: 0 0 1.1rem;
}
.cp-itrain-logo {
	display: block;
	width: min(14rem, 70%);
	height: auto;
	max-width: 240px;
}

/* 0.5.129 - Schmerikon, Switzerland copy lock */

/* 0.5.130 - Comparison add-ons + price note caption; Creem annual note removed; EN terms Schmerikon Switzerland */
.cp-price-note {
	margin: 0 0 1.6rem;
	color: var(--cp-muted);
	font-size: 0.82rem;
	max-width: none;
}

/* 0.5.131 - Footer: remove Terms / Nutzungsbedingungen nav links; pages stay */

/* 0.5.132 - Footer nav: Imprint+Privacy only; privacy nDSG pages soft-lock */

/* 0.5.133 - EN Licence Agreement British slug /licence-agreement/ (shared slug + dual route MU; /license/ still 200); Privacy/Datenschutz H1 generalized */

/* 0.5.134 - Footer: Imprint+Privacy+About+itrain; no Terms/Licence */

/* 0.5.135 - EN /licence-agreement/ route alias (British slug); /license/ dual */


/* 0.5.137 — Della theme wave */
/* B) Editions edcard titles match shop card titles; comparison matrix edition headers smaller */
.cp-shop-grid .cp-card > h2,
.cp-card[data-edition] > h2 {
	font-size: 1.45rem;
	font-family: inherit;
	font-weight: 650;
}
.cp-edcard > h3 {
	font-size: 1.45rem;
	font-family: inherit;
	font-weight: 650;
	line-height: 1.25;
}
/* Comparison table edition column headers only (not edcards / shop) */
.cp-matrix.software-editions-matrix thead th:not(:first-child) {
	font-size: 1.05rem;
	font-family: inherit;
	font-weight: 650;
	line-height: 1.2;
}
.cp-matrix thead th:not(:first-child) {
	font-size: 1.05rem;
	font-family: inherit;
	font-weight: 650;
	line-height: 1.2;
}

/* E) Invoice Pflicht licence link = body text color (not teal/blue) */
.tlsp-pflicht a,
.tlsp-invoice a,
.cp-invoice-checkout .tlsp-pflicht a,
.cp-invoice-checkout .tlsp-card .tlsp-pflicht a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}
.tlsp-pflicht a:hover,
.cp-invoice-checkout .tlsp-pflicht a:hover {
	color: inherit;
	opacity: 0.92;
}
/* 0.5.138 - Editions matrix ? opens product dialogs (no parallel old popups) */
/* 0.5.139 - Nav current-page: current-menu-item + aria-current on fallback/WP menus */
/* 0.5.140 - DE home /de/ current via lang+front (PLL may strip /de from REQUEST_URI) */
/* 0.5.141 - DE front cache-bust + pll_home_url home match + purge */

/* 0.5.154 - Comparison matrix: Caps/Features order via content; edition header font smaller (1.05rem) */

/* 0.5.156 — PR6 Shop payment-method tiles: two columns, icon + title only */
.cp-pay-methods-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	max-width: none;
	margin-top: 0.5rem;
}

.cp-pay-tile {
	appearance: none;
	-webkit-appearance: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.7rem;
	width: 100%;
	min-height: 10.5rem;
	margin: 0;
	padding: 1.25rem 1rem;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	background: var(--cp-blue);
	color: var(--cp-text);
	font: inherit;
	text-align: center;
	cursor: pointer;
}

.cp-pay-tile h3 {
	margin: 0;
	color: var(--cp-white);
	font-size: 1.15rem;
	font-weight: 650;
}

.cp-pay-tile .cp-pay-ico {
	display: block;
	width: 52px;
	height: 52px;
	color: var(--cp-white);
	flex-shrink: 0;
}

@media (max-width: 800px) {
	.cp-pay-methods-grid {
		grid-template-columns: 1fr;
	}
}


/* 0.5.157 - shop invoice popup unpaid 30d */


/* 0.5.158 - Product Installation scenarios tiles (before SysReq) */
#cp-install-scenarios {
	scroll-margin-top: 5.5rem;
}
#cp-install-scenarios .cp-install-lead {
	margin: 0.35rem 0 0;
	max-width: none;
	width: 100%;
}
#cp-install-scenarios .cp-install-grid {
	margin-top: 1rem;
}
#cp-install-scenarios .cp-install-tile {
	min-height: 14.5rem;
}
#cp-install-scenarios .cp-install-tile h3 {
	font-size: 1.05rem;
}


/* 0.5.159 - Product CSS leak fix: move inline shot-open/dialog rules from post_content into theme stylesheet */
button.cp-shot-open {
	display: block;
	width: 100%;
	padding: 0;
	margin: 0;
	border: 0;
	background: transparent;
	cursor: zoom-in;
	line-height: 0;
	font: inherit;
	color: inherit;
}
button.cp-shot-open img {
	display: block;
	width: 100%;
	height: auto;
}
.cp-info-dialog:not(.cp-shot-dialog) img.cp-shot {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--cp-radius, 5px);
}
dialog.cp-shot-dialog[open] {
	display: flex;
	align-items: center;
	justify-content: center;
	inset: 0;
	width: 100vw;
	height: 100vh;
	max-width: none;
	max-height: none;
	margin: 0;
	padding: .5rem;
	box-sizing: border-box;
}
dialog.cp-shot-dialog .cp-dialog-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	max-height: none;
	width: auto;
	height: auto;
}
.cp-shot-dialog img.cp-shot,
.cp-shot-dialog img {
	display: block;
	width: auto;
	height: auto;
	max-width: calc(100vw - 1rem);
	max-height: calc(100vh - 1rem);
	object-fit: contain;
	object-position: center;
}
#cp-dlg-catalogue .cp-dialog-inner > p { margin: 0 0 .15rem; }
#cp-dlg-catalogue .cp-cat-grid { display: grid; gap: 1.4rem; margin: 1.4rem 0 0; }
#cp-dlg-catalogue .cp-cat-block {
	margin: 0;
	padding: 1.2rem 1.1rem 1.1rem;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: var(--cp-radius, 5px);
	background: rgba(255,255,255,.04);
}
#cp-dlg-catalogue .cp-cat-block h3 { margin: 0 0 .65rem; font-size: 1.05em; }
#cp-dlg-catalogue .cp-cat-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
#cp-dlg-catalogue .cp-cat-chips li {
	margin: 0;
	padding: .22rem .65rem;
	border-radius: 999px;
	background: rgba(94,234,212,.1);
	border: 1px solid rgba(94,234,212,.28);
	font-size: .88em;
	line-height: 1.3;
}
.cp-why-grid,
.cp-featgrid,
.cp-jobs-grid { gap: 1.45rem; }
.cp-why-card,
.cp-feat,
.cp-job { padding: 1.55rem 1.45rem; }
.cp-why-card .cp-why-ico,
.cp-feat .cp-why-ico,
.cp-job .cp-why-ico {
	display: block;
	width: 52px;
	height: 52px;
	margin: 0 0 1rem;
}
.cp-why-card h3,
.cp-feat h3,
.cp-job h3 { margin: .15rem 0 .55rem; }
.cp-why-card p,
.cp-feat p,
.cp-job p { margin: 0; }
.cp-feat p + p,
.cp-job p + p { margin-top: .7rem; }
.cp-job .cp-shot-open { margin-bottom: 1.05rem; }
#cp-dlg-why .cp-why-grid { display: grid; gap: 1.3rem; margin: 1.15rem 0 0; }
#cp-dlg-why .cp-cat-block {
	margin: 0;
	padding: 1.4rem 1.3rem;
	border: 1px solid rgba(255,255,255,.12);
	border-radius: var(--cp-radius, 5px);
	background: rgba(255,255,255,.04);
}
#cp-dlg-why .cp-cat-block h3 { margin: .1rem 0 .55rem; font-size: 1.05em; }
#cp-dlg-why .cp-cat-block p { margin: 0; line-height: 1.55; }
#cp-dlg-why .cp-why-ico {
	display: block;
	width: 52px;
	height: 52px;
	margin: 0 0 1rem;
}
.cp-info-dialog .cp-dialog-inner > .cp-why-ico {
	display: block;
	width: 52px;
	height: 52px;
	margin: 0 0 1rem;
}
.cp-wrap > p.cp-lead + .cp-featgrid,
.cp-wrap > p.cp-matrix-caption + .cp-featgrid,
.cp-wrap > p + .cp-jobs-grid,
.cp-wrap > p + .cp-why-grid { margin-top: 1.35rem; }


/* 0.5.160 - Install scenarios polish: lead full-width; clickable tiles → dialogs; flow SVG */
#cp-install-scenarios .cp-install-tile-hit {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: inherit;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: inherit;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
}
#cp-install-scenarios .cp-install-tile-hit:focus-visible {
	outline: 2px solid #5eead4;
	outline-offset: 3px;
	border-radius: 4px;
}
.cp-info-dialog .cp-install-flow {
	width: 100%;
	max-width: 42rem;
	height: auto;
	display: block;
	margin-top: 1rem;
	background: transparent;
}

/* 0.5.161 - Install lead full grid width (override global p{max-width:42rem}) */
#cp-install-scenarios .cp-install-lead {
	margin: 0.35rem 0 0;
	max-width: none;
	width: 100%;
}


/* 0.5.162 - Install scenarios: 3 tiles (drop Windows Client); lead full width; grid--3 */
#cp-install-scenarios .cp-install-lead {
	margin: 0.35rem 0 0;
	max-width: none;
	width: 100%;
}
#cp-install-scenarios .cp-install-grid.cp-featgrid--3 {
	grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 800px) {
	#cp-install-scenarios .cp-install-grid.cp-featgrid--3 {
		grid-template-columns: 1fr;
	}
}

/* 0.5.163 - Install WebUI no-RDP lock (content MU; version bump for clarity) */

/* 0.5.170 — full supported-targets dialog + catalogue link */
.cp-job-dlg-link { margin: .55rem 0 .85rem; }
.cp-text-link {
	display: inline;
	padding: 0;
	border: 0;
	background: none;
	color: var(--cp-mint, #5eead4);
	font: inherit;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: .18em;
	cursor: pointer;
}
.cp-text-link:hover,
.cp-text-link:focus-visible {
	color: #fff;
	outline: none;
}
#cp-dlg-targets-full {
	max-width: min(920px, calc(100vw - 1.25rem));
}
#cp-dlg-targets-full .cp-dialog-inner {
	max-height: min(88vh, 900px);
	overflow: auto;
}
#cp-dlg-targets-full .cp-cat-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: .85rem;
	margin: .85rem 0 0;
}
#cp-dlg-targets-full .cp-cat-block {
	margin: 0;
	padding: .7rem .75rem .75rem;
	border: 1px solid rgba(255,255,255,.14);
	border-radius: var(--cp-radius, 5px);
	background: rgba(255,255,255,.045);
}
#cp-dlg-targets-full .cp-cat-block h3 {
	display: block;
	visibility: visible;
	opacity: 1;
	margin: 0 0 .5rem;
	padding: 0;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: rgba(255,255,255,.72);
	line-height: 1.25;
	text-align: left;
}
#cp-dlg-targets-full .cp-cat-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	list-style: none;
	margin: 0;
	padding: 0;
}
#cp-dlg-targets-full .cp-cat-chips li {
	margin: 0;
	padding: .2rem .58rem;
	border-radius: 999px;
	background: rgba(94,234,212,.1);
	border: 1px solid rgba(94,234,212,.28);
	font-size: .86em;
	line-height: 1.3;
}
#cp-dlg-targets-full .cp-custom-note {
	margin: 1rem 0 0;
	font-size: .92em;
	opacity: .9;
	line-height: 1.45;
}



/* Editions ACME issuer dialog (0.5.171) */
#cp-dlg-acme .cp-cat-chips {
	margin: 0 0 1rem;
}
#cp-dlg-acme .cp-job-dlg-lead {
	margin: 0;
}

/* 0.5.176 — Support polish (PR #9): poster thumbnails, two-column videos, subtitle switch, util current */

.cp-support-search {
	margin: 0 0 1.35rem;
	max-width: none;
}

.cp-support-search label {
	display: block;
	margin: 0 0 0.4rem;
	font-weight: 650;
	font-size: 0.9rem;
	color: var(--cp-white);
}

.cp-support-search input[type="search"] {
	display: block;
	width: 100%;
	max-width: none;
	box-sizing: border-box;
	padding: 0.65rem 0.8rem;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	font: inherit;
	font-size: 1rem;
	background: var(--cp-ink);
	color: var(--cp-text);
	color-scheme: dark;
}

.cp-support-empty {
	margin: 0 0 1rem;
	color: var(--cp-muted);
}

.cp-support-follow {
	margin: 1.35rem 0 0;
	max-width: 42rem;
	color: var(--cp-muted);
	font-size: 0.95rem;
}

.cp-support-chapters {
	display: grid;
	gap: 0.85rem;
	max-width: none;
}

.cp-support-chapter {
	background: var(--cp-blue);
	border-radius: var(--cp-radius);
	border-top: 4px solid var(--cp-teal);
	scroll-margin-top: calc(var(--cp-header) + 0.75rem);
}

.cp-support-chapter > summary {
	display: flex;
	align-items: center;
	gap: 0.7rem;
	min-height: 44px;
	padding: 0.85rem 1.1rem;
	cursor: pointer;
	list-style: none;
}

.cp-support-chapter > summary::-webkit-details-marker {
	display: none;
}

.cp-support-chapter > summary::before {
	content: "";
	width: 0.45rem;
	height: 0.45rem;
	border-right: 2px solid var(--cp-teal-soft);
	border-bottom: 2px solid var(--cp-teal-soft);
	transform: rotate(-45deg);
	flex: 0 0 auto;
	margin-top: -0.2rem;
}

.cp-support-chapter[open] > summary::before {
	transform: rotate(45deg);
	margin-top: 0;
}

.cp-support-chapter > summary h2 {
	margin: 0;
	font-size: 1.25rem;
}

.cp-support-chapter > summary:focus-visible {
	outline: 2px solid var(--cp-teal);
	outline-offset: -2px;
}

.cp-support-videos {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1.35rem 1.25rem;
	padding: 0 1.1rem 1.2rem;
	max-width: none;
}

@media (min-width: 900px) {
	.cp-support-videos {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.cp-support-video {
	padding-top: 0.35rem;
	border-top: 1px solid var(--cp-line);
}

.cp-support-video h3 {
	margin: 0.85rem 0 0.35rem;
}

.cp-support-sub {
	margin: 0 0 0.45rem;
	color: var(--cp-teal-soft);
	font-size: 0.88rem;
	font-weight: 650;
}

.cp-support-abstract {
	margin: 0 0 0.85rem;
	max-width: 42rem;
}

@media (min-width: 900px) {
	.cp-support-abstract {
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 6;
		line-clamp: 6;
		overflow: hidden;
		min-height: calc(1.55em * 6);
	}

	/* Deployment cards include .cp-support-sub. Reserve that line on the others
	   so the 16:9 players share a top edge across the row. */
	.cp-support-video:not(:has(.cp-support-sub)) > h3 {
		margin-bottom: calc(0.35rem + 0.88rem * 1.55 + 0.45rem);
	}
}

.cp-support-player {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 16 / 9;
	background: #061525;
	border: 1px solid var(--cp-line);
	border-radius: var(--cp-radius);
	overflow: hidden;
}

.cp-support-player video {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	background: transparent;
	object-fit: contain;
}

.cp-support-poster {
	position: absolute;
	inset: 0;
	z-index: 2;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	background: var(--cp-navy);
	cursor: pointer;
}

.cp-support-poster img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-width: none;
	object-fit: cover;
}

.cp-support-poster:focus-visible {
	outline: 2px solid var(--cp-teal);
	outline-offset: -4px;
}

.cp-support-player.is-playing .cp-support-poster {
	display: none;
}

.cp-support-missing {
	margin: 0.55rem 0 0;
	color: var(--cp-muted);
	font-size: 0.9rem;
}

.cp-support-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 0.65rem 0 0;
	max-width: none;
}

.cp-support-toolbar .cp-switch-row {
	margin-top: 0;
}

.cp-support-toolbar .cp-switch-q {
	flex: 0 1 auto;
}

.cp-support-markers {
	display: flex;
	flex-wrap: wrap;
	gap: 0.45rem;
	list-style: none;
	margin: 0.75rem 0 0;
	padding: 0;
	max-width: none;
}

.cp-support-markers li {
	margin: 0;
	max-width: 100%;
	min-width: 0;
}

.cp-support-markers button {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: 44px;
	max-width: 100%;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--cp-line);
	border-radius: 999px;
	background: transparent;
	color: var(--cp-text);
	font: inherit;
	font-size: 0.88rem;
	line-height: 1.3;
	text-align: left;
	cursor: pointer;
}

.cp-support-markers button:hover {
	border-color: var(--cp-teal);
	color: var(--cp-white);
}

.cp-support-ts {
	color: var(--cp-teal-soft);
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.cp-support-chapter[hidden],
.cp-support-video[hidden],
.cp-support-empty[hidden],
.cp-support-missing[hidden],
.cp-support-cc[hidden],
.cp-support-poster[hidden],
.cp-support-toolbar .cp-switch-row[hidden] {
	display: none !important;
}

@media (max-width: 959px) {
	.cp-support-player,
	.cp-support-video,
	.cp-support-chapters {
		width: 100%;
		max-width: 100%;
	}
}

/* 0.5.185 - Shop tiles: Community bar, four paid editions, comparison table. */
.cp-shop-tiles .cp-shop-free {
	display: grid;
	grid-template-columns: minmax(12rem, 16rem) minmax(0, 1fr) auto;
	gap: 0.85rem 1.1rem;
	align-items: center;
	background: #07182c;
	border: 1px solid #2a4a6e;
	border-radius: var(--cp-radius);
	padding: 0.85rem 1rem;
	margin: 0 0 1rem;
	min-height: 0;
	box-shadow: none;
}
.cp-shop-tiles .cp-shop-free .cp-deltas {
	display: flex;
	flex-wrap: wrap;
	gap: 0.35rem 0.85rem;
	margin: 0;
	padding: 0;
	list-style: none;
}
.cp-shop-tiles .cp-shop-free .cp-deltas li {
	display: flex;
	align-items: baseline;
	gap: 0.35rem;
	border: 0;
	padding: 0;
	margin: 0;
}
.cp-shop-tiles .cp-shop-free .cp-all-limits {
	grid-column: 2;
}
.cp-shop-tiles .cp-free-buy {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	min-width: 9.5rem;
}
.cp-shop-buy {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.75rem;
	align-items: stretch;
}
.cp-shop-tiles .cp-shop-buy .cp-card {
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100%;
	margin: 0;
	padding: 0 0.7rem 0.8rem;
	background: var(--cp-card);
	border: 1px solid #2a4a6e;
	border-radius: var(--cp-radius);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
	transition: transform 0.15s ease, border-color 0.15s ease;
}
.cp-shop-tiles .cp-shop-buy .cp-card:hover {
	transform: translateY(-2px);
	border-color: var(--cp-teal-soft);
}
.cp-shop-tiles .cp-card-head {
	margin: 0 -0.7rem 0.55rem;
	padding: 0.7rem 0.7rem 0.5rem;
	background: var(--cp-card-head);
	border-radius: calc(var(--cp-radius) - 1px) calc(var(--cp-radius) - 1px) 0 0;
}
.cp-shop-tiles .cp-shop-free .cp-card-head {
	margin: 0 0 0.25rem;
	padding: 0;
	background: transparent;
	border-radius: 0;
}
.cp-shop-tiles .cp-card-head h2 {
	margin: 0;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.25;
}
.cp-shop-tiles .is-popular {
	background: #18548f;
	border-color: var(--cp-teal-soft);
	box-shadow: 0 0 0 1px var(--cp-teal-soft), 0 10px 22px rgba(14, 124, 107, 0.22);
}
.cp-shop-tiles .is-popular .cp-card-head {
	background: #1b5e9e;
}
.cp-shop-tiles .is-popular:hover {
	/* same baseline as siblings; hover lift stays the shared -2px card hover */
}
.cp-shop-tiles .is-silver .cp-card-head {
	box-shadow: inset 0 3px 0 rgba(198, 214, 228, 0.8);
}
.cp-shop-tiles .is-gold .cp-card-head {
	box-shadow: inset 0 3px 0 rgba(212, 176, 92, 0.75);
}
.cp-shop-tiles .cp-ribbon {
	position: absolute;
	top: 0.45rem;
	right: 0.45rem;
	z-index: 1;
	margin: 0;
	padding: 0.12rem 0.4rem;
	border-radius: 999px;
	background: var(--cp-teal);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.cp-shop-tiles .cp-persona,
.cp-shop-tiles .cp-delta-lead {
	margin: 0 0 0.45rem;
	color: var(--cp-muted);
	font-size: 0.78rem;
	line-height: 1.35;
	flex-grow: 0;
}
.cp-shop-tiles .cp-delta-lead {
	color: var(--cp-text);
}
.cp-shop-tiles .cp-shop-buy .cp-deltas {
	margin: 0;
	padding: 0;
	list-style: none;
}
.cp-shop-tiles .cp-shop-buy .cp-deltas li {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	column-gap: 0.4rem;
	align-items: baseline;
	margin: 0;
	padding: 0.32rem 0;
	border-bottom: 1px solid rgba(234, 240, 246, 0.1);
	font-size: 0.84rem;
	line-height: 1.3;
}
.cp-shop-tiles .cp-lab {
	min-width: 0;
}
.cp-shop-tiles .cp-num {
	text-align: right;
	font-variant-numeric: tabular-nums;
	font-weight: 650;
}
.cp-shop-tiles .is-killer .cp-lab,
.cp-shop-tiles .is-killer .cp-num {
	font-weight: 700;
	color: var(--cp-white);
}
.cp-shop-tiles .is-none {
	color: #7e93a8;
	font-weight: 500;
}
.cp-shop-tiles .cp-ico {
	width: 0.85rem;
	height: 0.85rem;
	margin-right: 0.25rem;
	vertical-align: -0.12rem;
	color: var(--cp-teal-soft);
}
.cp-shop-tiles .cp-chips {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	gap: 0.15rem;
}
.cp-shop-tiles .cp-chip {
	display: inline-block;
	padding: 0.02rem 0.32rem;
	border: 1px solid rgba(138, 212, 198, 0.45);
	border-radius: var(--cp-radius-pill);
	color: var(--cp-teal-soft);
	font-size: 0.64rem;
	font-weight: 650;
	line-height: 1.35;
	white-space: nowrap;
}
.cp-shop-tiles .cp-all-limits {
	margin: 0.35rem 0 0.6rem;
	font-size: 0.76rem;
}
.cp-shop-tiles .cp-all-limits summary {
	cursor: pointer;
	color: var(--cp-teal-soft);
}
.cp-shop-tiles .cp-pricebox {
	margin-top: auto;
	padding-top: 0.7rem;
}
.cp-shop-tiles .cp-card .cp-price {
	margin: 0;
	white-space: normal;
	font-size: 1rem;
	color: #fff;
}
.cp-shop-tiles .cp-price-main {
	font-size: 1.65rem;
	font-weight: 750;
	letter-spacing: -0.02em;
	color: #fff;
}
.cp-shop-tiles .cp-price-cur,
.cp-shop-tiles .cp-price-alt,
.cp-shop-tiles .cp-price-note {
	color: var(--cp-muted);
	font-size: 0.72rem;
	font-weight: 500;
}
.cp-shop-tiles .cp-price-alt,
.cp-shop-tiles .cp-price-note {
	margin: 0.1rem 0 0;
}
.cp-shop-tiles .cp-cta {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	gap: 0.28rem;
	margin: 0.65rem 0 0;
}
.cp-shop-tiles .cp-btn-primary {
	width: 100%;
	text-align: center;
}
.cp-shop-tiles .cp-details {
	display: block;
	width: 100%;
	margin: 0;
	padding: 0.1rem 0 0;
	border: 0;
	background: transparent;
	color: var(--cp-teal-soft);
	font: inherit;
	font-size: 0.78rem;
	text-align: center;
	text-decoration: underline;
	cursor: pointer;
}
.cp-shop-tiles .cp-compare-wrap {
	margin-top: 1.8rem;
}
.cp-shop-tiles .cp-compare-wrap h2 {
	margin-bottom: 0.25rem;
}
.cp-shop-tiles .cp-compare-wrap > p {
	margin-top: 0;
	color: var(--cp-muted);
}
.cp-compare-scroll {
	overflow-x: auto;
}
.cp-shop-tiles .cp-compare {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.82rem;
}
.cp-shop-tiles .cp-compare th,
.cp-shop-tiles .cp-compare td {
	padding: 0.42rem 0.4rem;
	border-bottom: 1px solid rgba(234, 240, 246, 0.12);
	vertical-align: middle;
}
.cp-shop-tiles .cp-compare thead th {
	color: var(--cp-muted);
	font-weight: 650;
	text-align: center;
}
.cp-shop-tiles .cp-compare th[scope="row"] {
	text-align: left;
	font-weight: 650;
}
.cp-shop-tiles .cp-compare td {
	text-align: center;
}
.cp-shop-tiles .cp-yes {
	color: var(--cp-teal-soft);
	font-weight: 700;
}
@media (max-width: 960px) {
	.cp-shop-buy {
		grid-template-columns: 1fr 1fr;
	}
	.cp-shop-tiles .is-popular,
	.cp-shop-tiles .is-popular:hover {
		transform: none;
	}
}
@media (max-width: 800px) {
	.cp-shop-tiles .cp-shop-free {
		grid-template-columns: 1fr;
	}
	.cp-shop-tiles .cp-shop-free .cp-all-limits {
		grid-column: auto;
	}
}
@media (max-width: 640px) {
	.cp-shop-buy {
		grid-template-columns: 1fr;
	}
}

/* 0.5.186 - Shop polish: compact Community, equal paid cards, no comparison table. */
.cp-page:has(.cp-shop-tiles) .cp-page-head {
	padding: 1.6rem 0 1rem;
}
.cp-page:has(.cp-shop-tiles) .cp-shop-tiles {
	padding-top: 0.7rem;
}
.cp-shop-tiles .cp-shop-free {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem 1rem;
	padding: 0.5rem 0.85rem;
	margin: 0 0 0.55rem;
}
.cp-shop-tiles .cp-free-id {
	flex: 1 1 13rem;
	min-width: 0;
}
.cp-shop-tiles .cp-shop-free .cp-persona {
	margin: 0.15rem 0 0.2rem;
	min-height: 0;
}
.cp-shop-tiles .cp-shop-free .cp-issuers {
	margin: 0;
}
.cp-shop-tiles .cp-shop-free .cp-deltas {
	flex: 0 1 auto;
}
.cp-shop-tiles .cp-shop-free .cp-all-limits {
	grid-column: auto;
	flex: 0 0 auto;
	margin: 0;
}
.cp-shop-tiles .cp-free-buy {
	margin-left: auto;
	min-width: 0;
}
.cp-shop-tiles .cp-free-buy .cp-cta {
	flex-direction: row;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
	margin: 0;
}
.cp-shop-tiles .cp-free-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.12rem 0.45rem;
	border-radius: var(--cp-radius-pill);
	background: rgba(138, 212, 198, 0.16);
	color: var(--cp-teal-soft);
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	white-space: nowrap;
}
.cp-shop-tiles .cp-free-buy .cp-btn-primary,
.cp-shop-tiles .cp-free-buy .cp-details {
	width: auto;
}
.cp-shop-tiles .cp-shop-buy .cp-persona {
	min-height: 2.7em;
}
.cp-shop-tiles .cp-issuers {
	margin: 0 0 0.4rem;
}
.cp-shop-tiles .cp-issuers .cp-chips {
	flex-wrap: nowrap;
	justify-content: flex-start;
	gap: 0.18rem;
}
.cp-shop-tiles .cp-issuers .cp-chip {
	font-size: 0.58rem;
	padding: 0.02rem 0.28rem;
}
.cp-shop-tiles .cp-shop-buy .cp-deltas {
	min-height: 5rem;
}
.cp-shop-tiles .cp-price-alt,
.cp-shop-tiles .cp-price-note {
	font-size: 0.62rem;
	opacity: 0.6;
}
.cp-shop-tiles .cp-shop-buy .cp-card {
	cursor: pointer;
}
@media (max-width: 800px) {
	.cp-shop-tiles .cp-free-buy {
		margin-left: 0;
		flex: 1 1 100%;
	}
	.cp-shop-tiles .cp-free-buy .cp-cta {
		justify-content: flex-start;
	}
}

/* 0.5.187 - Shop: one-line hero, editions popup, synced limit rows. */
.cp-shop-head {
	padding: var(--cp-page-head-y) 0 calc(var(--cp-page-head-y) - 0.35rem);
}
.cp-shop-head h1 {
	margin: 0;
	/* 0.5.199: match Editions/Product page-head titles (global h1 clamp) */
}
.cp-shop-head h1 span {
	margin-left: 0.55rem;
	color: var(--cp-muted);
	font-size: 0.85rem;
	font-weight: 500;
}
.cp-shop-tiles .cp-shop-free {
	border-radius: 14px;
}
.cp-shop-tiles .cp-shop-acc-btn {
	align-self: flex-start;
	margin: 0.35rem 0 0;
	padding: 0;
	border: 0;
	background: none;
	color: var(--cp-teal-soft);
	font: inherit;
	font-size: 0.72rem;
	line-height: 1.3;
	cursor: pointer;
}
.cp-shop-tiles .cp-shop-acc {
	min-height: 8.4rem;
	margin-top: 0.25rem;
}
.cp-shop-tiles .cp-shop-acc[hidden] {
	display: none;
}
.cp-shop-tiles .cp-shop-acc .cp-deltas {
	min-height: 8.4rem;
	margin: 0;
}
.cp-shop-tiles .cp-shop-acc .is-empty {
	color: #7e93a8;
	font-weight: 500;
}
.cp-close .cp-addons {
	margin: 0.35rem 0 0.85rem;
	padding: 0;
	list-style: none;
}
.cp-close .cp-addons li {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 0.25rem 1rem;
	padding: 0.35rem 0;
	border-bottom: 1px solid rgba(234, 240, 246, 0.12);
	font-size: 0.92rem;
}
.cp-close .cp-cta {
	margin-top: 0.8rem;
}

/* 0.5.188 - Shop fine cut: limits always open, hairline, one-line claims. */
.cp-shop-head h1 span {
	display: none;
}
.cp-shop-tiles .cp-shop-acc-btn {
	display: none !important;
}
.cp-shop-tiles .cp-shop-limits {
	margin: 0.45rem 0 0;
	padding-top: 0.45rem;
	border-top: 1px solid rgba(234, 240, 246, 0.14);
}
.cp-shop-tiles .cp-shop-limits .cp-deltas {
	min-height: 8.4rem;
	margin: 0;
}
.cp-shop-tiles .cp-shop-limits .cp-num {
	text-align: right;
}
.cp-shop-tiles .cp-shop-limits .is-empty {
	color: #7e93a8;
	font-weight: 500;
}
.cp-shop-tiles .cp-shop-buy .cp-persona {
	min-height: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 0.5.189 - Shared chip shape (site-wide). */
.cp-chip {
	border-radius: var(--cp-radius-pill);
}


/* 0.5.190 - Shop typography + Popular baseline; Editions tile parity. */
.cp-shop-tiles .cp-shop-limits .cp-deltas li,
.cp-shop-tiles .cp-shop-buy .cp-deltas li {
	font-size: 0.84rem;
}
.cp-shop-tiles .cp-shop-free .cp-card-head h2 {
	font-size: 0.95rem;
	white-space: nowrap;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-buy .cp-card,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-buy .cp-card,
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-edcard,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-edcard {
	cursor: pointer;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-pricebox,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-pricebox {
	display: none;
}
/* advisor pick badge on shop-style edition cards */
.cp-shop-tiles .cp-edcard.is-pick {
	outline: 2px solid var(--cp-teal-soft);
	outline-offset: 2px;
}
.cp-shop-tiles .cp-edcard.is-fade {
	opacity: 0.55;
}
.cp-shop-tiles .cp-pick-badge {
	position: absolute;
	top: 0.45rem;
	left: 0.45rem;
	z-index: 1;
	margin: 0;
	padding: 0.12rem 0.4rem;
	border-radius: 999px;
	background: var(--cp-teal);
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.cp-shop-tiles .cp-ed-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
	margin: 0.45rem 0 0;
}
.cp-shop-tiles .cp-ed-pill {
	display: inline-block;
	padding: 0.1rem 0.4rem;
	border-radius: 999px;
	background: rgba(14, 124, 107, 0.22);
	border: 1px solid var(--cp-teal-soft);
	color: var(--cp-teal-soft);
	font-size: 0.68rem;
	font-weight: 650;
}


/* 0.5.191 - Editions advisor card + result; compact toggles; hero sub-lead. */
.cp-page-head .cp-lead-sub {
	margin-top: 0.35rem;
	font-size: 0.92rem;
	color: var(--cp-muted);
}
.cp-advisor-card {
	margin: 0;
	padding: 1rem 1.1rem 0.95rem;
	background: var(--cp-card);
	border: 1px solid #2a4a6e;
	border-radius: var(--cp-radius);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}
.cp-advisor .cp-chooser-head {
	margin: 0 0 0.7rem;
	padding: 0;
}
.cp-advisor .cp-chooser-title {
	margin: 0 0 0.25rem;
	font-size: 0.98rem;
	font-weight: 700;
	line-height: 1.25;
}
.cp-advisor .cp-chooser-intro {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.35;
	color: var(--cp-muted);
}
.cp-advisor .cp-chooser {
	margin: 0;
	padding: 0;
	background: transparent;
	border: 0;
	box-shadow: none;
}
.cp-chooser-zone-nums {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.65rem 1rem;
	margin-bottom: 0.75rem;
}
.cp-advisor .cp-chooser-slide label {
	font-size: 0.84rem;
}
.cp-advisor .cp-chooser-block-t {
	margin: 0 0 0.4rem;
	font-size: 0.84rem;
	font-weight: 700;
}
.cp-chooser-toggles-2col {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 0.2rem 0.85rem;
}
.cp-advisor .cp-switch-row {
	margin: 0;
	padding: 0.18rem 0;
	border: 0;
	align-items: center;
}
.cp-advisor .cp-switch-q {
	margin: 0;
	font-size: 0.84rem;
	line-height: 1.3;
}
.cp-advisor .cp-switch-off,
.cp-advisor .cp-switch-on {
	display: none !important;
}
.cp-chooser-zone-features {
	margin-top: 0.65rem;
}
.cp-chooser-result {
	margin-top: 0.85rem;
	padding: 0.7rem 0.8rem;
	border-radius: calc(var(--cp-radius) - 1px);
	background: rgba(14, 124, 107, 0.12);
	border: 1px solid rgba(138, 212, 198, 0.35);
}
.cp-chooser-rec {
	margin: 0 0 0.25rem;
	font-size: 0.98rem;
	color: #fff;
}
.cp-chooser-why {
	margin: 0 0 0.45rem;
	font-size: 0.84rem;
	line-height: 1.35;
	color: var(--cp-muted);
}
.cp-chooser-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem 1rem;
	margin: 0;
	font-size: 0.84rem;
}
.cp-chooser-actions a {
	color: var(--cp-teal-soft);
	font-weight: 650;
	text-decoration: none;
}
.cp-chooser-actions a:hover {
	text-decoration: underline;
}
.cp-advisor .cp-chooser-reset {
	margin: 0.55rem 0 0;
}
.cp-btn-text {
	appearance: none;
	background: none;
	border: 0;
	padding: 0;
	color: var(--cp-muted);
	font: inherit;
	font-size: 0.78rem;
	text-decoration: underline;
	cursor: pointer;
}
.cp-btn-text:hover {
	color: var(--cp-teal-soft);
}
.cp-editions-heading {
	margin: 0 0 0.85rem;
	font-size: 1.15rem;
	width: 100%;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles > .cp-wrap,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles > .cp-wrap {
	display: flex;
	flex-direction: column;
	gap: 0.85rem;
}
@media (max-width: 800px) {
	.cp-chooser-zone-nums,
	.cp-chooser-toggles-2col {
		grid-template-columns: 1fr;
	}
}


/* 0.5.192 - Gegencheck (André): 11 items only. Soft-Gate/Creem untouched. */

/* 1. Editions Community = Shop compact free bar (kill edcard min-height) */
.cp-shop-tiles .cp-shop-free.cp-edcard,
.cp-shop-tiles .cp-edcard.cp-shop-free {
	min-height: 0;
	height: auto;
	align-self: stretch;
}
.cp-shop-tiles .cp-shop-free.cp-edcard:hover,
.cp-shop-tiles .cp-edcard.cp-shop-free:hover {
	transform: none;
}

/* 2. Property lists on Editions tiles: no mint rail — hairline rows like Shop */
.cp-shop-tiles .cp-edcard .cp-deltas li,
.cp-shop-tiles .cp-edcard .cp-shop-limits .cp-deltas li {
	border-left: 0;
	padding-left: 0;
	margin-bottom: 0;
}

/* 4. Advisor more compact (padding/gaps only) */
.cp-advisor-card {
	padding: 0.75rem 0.85rem 0.7rem;
}
.cp-advisor .cp-chooser-head {
	margin: 0 0 0.45rem;
}
.cp-advisor .cp-chooser-intro {
	font-size: 0.8rem;
}
.cp-chooser-zone-nums {
	gap: 0.45rem 0.85rem;
	margin-bottom: 0.5rem;
}
.cp-advisor .cp-chooser-block {
	margin: 0 0 0.45rem;
}
.cp-chooser-zone-features {
	margin-top: 0.4rem;
}
.cp-advisor .cp-chooser-reset {
	margin: 0.35rem 0 0;
}
.cp-advisor .cp-switch-row {
	padding: 0.1rem 0;
}
.cp-advisor .cp-switch-q {
	font-size: 0.8rem;
}

/* 5. Deployment targets: three columns on desktop */
.cp-chooser-toggles-3col {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr;
	gap: 0.15rem 0.75rem;
}

/* 6. Features already uses toggles-2col class in HTML */

/* 7. Certificates + Deployments sliders same baseline */
.cp-chooser-zone-nums {
	align-items: end;
}
.cp-chooser-zone-nums .cp-chooser-slide {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	min-width: 0;
}
.cp-chooser-zone-nums .cp-chooser-slide label {
	min-height: 2.4em;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 0.25rem 0.4rem;
}

/* 3/result styles unused — leave harmless; result HTML removed */

/* 10. Shop: more vertical space above Community and below buy tiles */
.cp-page[data-slug="/shop/"] .cp-shop-tiles,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles {
	padding-top: 1.55rem;
	padding-bottom: 2.4rem;
}
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-free,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-free {
	margin-top: 0.35rem;
}
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-buy,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-buy {
	margin-bottom: 0.85rem;
}

/* 11. Popup chips match Shop tile .cp-chip size/look */
#cp-dlg-edition .cp-ed-chips li,
#cp-dlg-edition .cp-ed-target-group li,
.cp-ed-feats-body .cp-ed-chips li,
.cp-ed-detail .cp-ed-chips li {
	display: inline-block;
	padding: 0.02rem 0.32rem;
	border: 1px solid rgba(138, 212, 198, 0.45);
	border-radius: var(--cp-radius-pill);
	background: transparent;
	color: var(--cp-teal-soft);
	font-size: 0.64rem;
	font-weight: 650;
	line-height: 1.35;
	white-space: nowrap;
}
#cp-dlg-edition .cp-ed-chips,
#cp-dlg-edition .cp-ed-target-group,
.cp-ed-feats-body .cp-ed-chips,
.cp-ed-detail .cp-ed-chips {
	gap: 0.15rem;
}

/* Target cat rows (popup) — class support alongside inline from restore */
.cp-ed-target-row {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
}
.cp-ed-target-cat {
	flex: 0 0 14.5rem;
	color: #fff;
	font-weight: 400;
	font-size: 0.82em;
	line-height: 1.3;
	padding-top: 0.22rem;
}
.cp-ed-target-row .cp-ed-target-group {
	flex: 1;
	min-width: 0;
	border: none;
	background: transparent;
	padding: 0;
	margin: 0;
}

@media (max-width: 800px) {
	.cp-chooser-toggles-3col {
		grid-template-columns: 1fr;
	}
	.cp-ed-target-row {
		flex-direction: column;
		gap: 0.25rem;
	}
	.cp-ed-target-cat {
		flex: 0 0 auto;
	}
}

/* 12. No divider between killer deltas and shop-limits; 2x usual row gap */
.cp-shop-tiles .cp-shop-buy .cp-deltas li:last-child,
.cp-shop-tiles .cp-edcard > .cp-deltas li:last-child {
	border-bottom: 0;
}
.cp-shop-tiles .cp-shop-limits {
	margin: 0.64rem 0 0; /* ~2× usual 0.32rem row pad */
	padding-top: 0;
	border-top: 0;
}
.cp-shop-tiles .cp-shop-limits .cp-deltas {
	margin-top: 0;
}
.cp-shop-tiles .cp-shop-limits .cp-deltas li:first-child {
	border-top: 0;
	padding-top: 0;
}

/* 0.5.193 - Gegencheck (André): Editions equal weight + Recommended; Community=Shop free; Shop spacing; advisor compact + 4col. Soft-Gate/Creem untouched. */

/* 1. Recommended pill top-right on advisor pick (Editions); no Popular on Editions */
.cp-shop-tiles .cp-pick-badge {
	left: auto;
	right: 0.45rem;
	top: 0.45rem;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free.is-pick,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free.is-pick,
.cp-shop-tiles .cp-shop-free.is-pick {
	outline: 2px solid var(--cp-teal-soft);
	outline-offset: 2px;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free.is-fade,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free.is-fade,
.cp-shop-tiles .cp-shop-free.is-fade {
	opacity: 0.55;
}

/* 2. Editions: neutralize popular / silver / gold chrome — equal weight Standard→Ultimate */
.cp-page[data-slug="/editions/"] .cp-shop-tiles .is-popular,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .is-popular {
	background: var(--cp-card);
	border-color: #2a4a6e;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .is-popular .cp-card-head,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .is-popular .cp-card-head,
.cp-page[data-slug="/editions/"] .cp-shop-tiles .is-silver .cp-card-head,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .is-silver .cp-card-head,
.cp-page[data-slug="/editions/"] .cp-shop-tiles .is-gold .cp-card-head,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .is-gold .cp-card-head {
	background: var(--cp-card-head);
	box-shadow: none;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-ribbon,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-ribbon {
	display: none !important;
}

/* 3. Editions Community free bar = Shop free bar exactly (cp-edcard dropped from markup; kill leftover edcard sizing) */
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free,
.cp-shop-tiles .cp-shop-free.cp-edcard,
.cp-shop-tiles .cp-edcard.cp-shop-free {
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
	align-items: center;
	align-self: auto;
	gap: 0.35rem 1rem;
	padding: 0.5rem 0.85rem;
	margin: 0 0 0.55rem;
	min-height: 0 !important;
	height: auto !important;
	max-height: none;
	border-radius: 14px;
	background: #07182c;
	border: 1px solid #2a4a6e;
	box-shadow: none;
	transform: none;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free:hover,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free:hover,
.cp-shop-tiles .cp-shop-free.cp-edcard:hover,
.cp-shop-tiles .cp-edcard.cp-shop-free:hover {
	transform: none;
	background: #07182c;
	border-color: #2a4a6e;
	box-shadow: none;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free .cp-card-head,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free .cp-card-head {
	margin: 0 0 0.25rem;
	padding: 0;
	background: transparent;
	border-radius: 0;
}

/* 4. Shop: modest extra vertical space above Community + below buy cards */
.cp-page[data-slug="/shop/"] .cp-shop-tiles,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles {
	padding-top: 1.95rem;
	padding-bottom: 2.95rem;
}
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-free,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-free {
	margin-top: 0.55rem;
}
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-buy,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-buy {
	margin-bottom: 1.15rem;
}

/* 5. License advisor vertically a bit more compact */
.cp-advisor-card {
	padding: 0.55rem 0.75rem 0.5rem;
}
.cp-advisor .cp-chooser-head {
	margin: 0 0 0.3rem;
}
.cp-advisor .cp-chooser-title {
	margin: 0 0 0.15rem;
	font-size: 0.94rem;
}
.cp-advisor .cp-chooser-intro {
	font-size: 0.76rem;
	line-height: 1.3;
}
.cp-chooser-zone-nums {
	gap: 0.3rem 0.75rem;
	margin-bottom: 0.35rem;
}
.cp-advisor .cp-chooser-block {
	margin: 0 0 0.3rem;
}
.cp-advisor .cp-chooser-block-t {
	margin: 0 0 0.25rem;
	font-size: 0.8rem;
}
.cp-chooser-zone-features {
	margin-top: 0.25rem;
}
.cp-advisor .cp-chooser-reset {
	margin: 0.25rem 0 0;
}
.cp-advisor .cp-switch-row {
	padding: 0.05rem 0;
}
.cp-advisor .cp-switch-q {
	font-size: 0.76rem;
	line-height: 1.25;
}
.cp-chooser-toggles-2col {
	gap: 0.1rem 0.7rem;
}

/* 6. Advisor Deployment targets → 4 columns (two rows of four) */
.cp-chooser-toggles-4col {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr 1fr;
	gap: 0.1rem 0.55rem;
}
@media (max-width: 960px) {
	.cp-chooser-toggles-4col {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 800px) {
	.cp-chooser-toggles-4col {
		grid-template-columns: 1fr;
	}
}

/* 7. Unify existing pills/chips to Shop tile .cp-chip look (Home/Product/Support/popups) — no new locations */
.cp-chip,
.cp-ed-pill,
.cp-shop-tiles .cp-ed-pill,
.cp-ed-chips li,
.cp-ed-chips-row li,
.cp-ed-feats-body .cp-ed-chips li,
.cp-ed-detail .cp-ed-chips li,
#cp-dlg-edition .cp-ed-chips li,
#cp-dlg-edition .cp-ed-target-group li,
#cp-dlg-job-obtain .cp-cat-chips li,
#cp-dlg-job-deploy .cp-cat-chips li,
#cp-dlg-acme .cp-cat-chips li,
#cp-dlg-catalogue .cp-cat-chips li,
#cp-dlg-targets-full .cp-cat-chips li,
.cp-flow-panel .cp-cat-chips li {
	display: inline-block;
	margin: 0;
	padding: 0.02rem 0.32rem;
	border: 1px solid rgba(138, 212, 198, 0.45);
	border-radius: var(--cp-radius-pill);
	background: transparent;
	color: var(--cp-teal-soft);
	font-size: 0.72rem;
	font-weight: 650;
	line-height: 1.35;
	letter-spacing: normal;
	text-transform: none;
	box-shadow: none;
	white-space: nowrap;
	opacity: 1;
}
.cp-chips,
.cp-ed-chips,
.cp-ed-chips-row,
.cp-ed-pills,
.cp-shop-tiles .cp-ed-pills,
#cp-dlg-edition .cp-ed-chips,
#cp-dlg-edition .cp-ed-target-group,
.cp-ed-feats-body .cp-ed-chips,
.cp-ed-detail .cp-ed-chips,
#cp-dlg-job-obtain .cp-cat-chips,
#cp-dlg-job-deploy .cp-cat-chips,
#cp-dlg-acme .cp-cat-chips,
#cp-dlg-catalogue .cp-cat-chips,
#cp-dlg-targets-full .cp-cat-chips,
.cp-flow-panel .cp-cat-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.15rem;
	list-style: none;
	padding: 0;
}
.cp-edcard.is-pick .cp-ed-pill {
	background: transparent;
	color: var(--cp-teal-soft);
	border-color: rgba(138, 212, 198, 0.45);
	box-shadow: none;
}
/* Support video deep-link markers → same chip presentation */
.cp-support-markers {
	gap: 0.15rem;
}
.cp-support-markers button {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	min-height: 0;
	padding: 0.02rem 0.32rem;
	border: 1px solid rgba(138, 212, 198, 0.45);
	border-radius: var(--cp-radius-pill);
	background: transparent;
	color: var(--cp-teal-soft);
	font-size: 0.72rem;
	font-weight: 650;
	line-height: 1.35;
}
.cp-support-markers button:hover {
	border-color: var(--cp-teal-soft);
	color: var(--cp-white);
}
.cp-support-ts {
	font-size: 0.72rem;
}


/* 0.5.194 - Advisor vertical tighten; Shop no Popular equal weight; chips already bumped above. Soft-Gate/Creem untouched. */

/* A. Certs/Deployments sliders closer to their title/count */
.cp-advisor .cp-chooser-slide,
.cp-chooser-zone-nums .cp-chooser-slide {
	gap: 0.35rem;
}
.cp-chooser-zone-nums .cp-chooser-slide label {
	min-height: 1.55em;
}
.cp-advisor .cp-chooser input[type="range"] {
	margin: 0.05rem 0 0;
}

/* B. Less vertical space between advisor sections and to Reset (modest vs 0.5.193) */
.cp-chooser-zone-nums {
	gap: 0.25rem 0.75rem;
	margin-bottom: 0.2rem;
}
.cp-advisor .cp-chooser-block {
	margin: 0 0 0.18rem;
}
.cp-advisor .cp-chooser-block-t {
	margin: 0 0 0.15rem;
}
.cp-chooser-zone-features {
	margin-top: 0.12rem;
}
.cp-advisor .cp-chooser-reset {
	margin: 0.12rem 0 0;
}

/* C. Shop: hide Popular/Beliebt ribbon; Professional equal weight (title-bar/bg = Standard) */
.cp-page[data-slug="/shop/"] .cp-shop-tiles .is-popular,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .is-popular {
	background: var(--cp-card);
	border-color: #2a4a6e;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.16);
}
.cp-page[data-slug="/shop/"] .cp-shop-tiles .is-popular .cp-card-head,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .is-popular .cp-card-head {
	background: var(--cp-card-head);
}
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-ribbon,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-ribbon {
	display: none !important;
}

/* 0.5.195 - Advisor Features tenant-more under Tenants col; remove Editions heading; hero EN+DE via MU; chooser-val bump. Soft-Gate/Creem untouched. */
.cp-chooser-zone-features .cp-tenant-more {
	grid-column: 2;
	margin-left: 0;
	padding-left: 0;
	border-left: 0;
}
.cp-editions-heading {
	display: none !important;
}
.cp-advisor .cp-chooser-val {
	font-size: 1.05rem;
}

/* 0.5.196 - Advisor intro outside card (under section h2); hide leftover inside head */
.cp-advisor > .cp-wrap > .cp-chooser-intro,
.cp-advisor .cp-wrap > .cp-chooser-intro {
	margin: 0.35rem 0 0.85rem;
	font-size: 1.02rem;
	line-height: 1.5;
	color: var(--cp-text);
	max-width: none;
	width: 100%;
}
.cp-advisor-card .cp-chooser-head {
	display: none !important;
}

/* 0.5.197 - Shop section head above tiles; Editions tile names = matrix headers */
.cp-shop-tiles .cp-shop-tiles-title {
	margin: 0 0 0.35rem;
	font-size: 1.45rem;
	font-weight: 700;
	letter-spacing: -0.02em;
	color: var(--cp-white);
	line-height: 1.25;
}
.cp-shop-tiles .cp-shop-tiles-intro {
	margin: 0 0 1.1rem;
	font-size: 1.02rem;
	line-height: 1.5;
	color: var(--cp-text);
	max-width: 46rem;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-card-head h2,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-card-head h2,
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free .cp-card-head h2,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free .cp-card-head h2 {
	font-size: 1.05rem;
	font-weight: 650;
	line-height: 1.2;
	font-family: inherit;
}
.cp-matrix.software-editions-matrix td {
	font-size: 0.84rem;
}


/* 0.5.198 - Body one step smaller (~0.95rem); exclude Home negative examples; chooser-intro = matrix-caption; Support drop video subs + tighten under section titles. Soft-Gate/Creem untouched. */

/* A) Site-wide body/paragraphs → token. Titles/icons unchanged. */
body {
	font-size: var(--cp-text-body);
}
.cp-main p:not(.cp-lead):not(.cp-lead-sub):not(.cp-shop-tiles-intro):not(.cp-matrix-caption):not(.cp-chooser-intro):not(.cp-kicker):not(.cp-support-sub):not(.cp-support-abstract),
.cp-wrap > p:not(.cp-lead):not(.cp-lead-sub):not(.cp-shop-tiles-intro):not(.cp-matrix-caption):not(.cp-chooser-intro):not(.cp-kicker),
.cp-page p:not(.cp-lead):not(.cp-lead-sub):not(.cp-shop-tiles-intro):not(.cp-matrix-caption):not(.cp-chooser-intro):not(.cp-kicker):not(.cp-support-sub):not(.cp-support-abstract),
.cp-section p:not(.cp-lead):not(.cp-kicker),
.cp-card > p:not(.cp-lead):not(.cp-price):not(.cp-cta),
.cp-job p,
.cp-trust p,
.cp-close p,
.cp-teaser p,
.cp-editions-teaser p {
	font-size: var(--cp-text-body);
}
/* Keep Shop/page leads + tiles intro at lead size (body shrink must not steal them). */
.cp-lead,
.cp-page-head .cp-lead,
.cp-hero-band .cp-lead,
.cp-shop-tiles-intro {
	font-size: var(--cp-lead);
}
.cp-hero-band .cp-lead {
	font-size: 1.15rem; /* restore hero-band lead override from earlier in file */
}

/* Keep Home negative-example blocks as-is (stakes / outages / why). */
.cp-stakes p,
.cp-stakes span,
.cp-stakes-bar-note,
.cp-stakes-bar-meta,
.cp-stakes-bar-meta strong,
.cp-stakes-nums span,
.cp-stakes-nums strong,
.cp-stakes-src,
.cp-stakes-cap,
.cp-outage-quote p,
.cp-outage-cite cite,
.cp-outage-meta,
.cp-outage-cause,
.cp-why-card p,
.cp-why-close,
.cp-why p {
	font-size: revert;
}
/* Re-assert explicit Home negative sizes already defined above (revert alone can fall back to UA). */
.cp-stakes-nums strong { font-size: 2.6rem; }
.cp-stakes-nums span { font-size: 0.95rem; }
.cp-stakes-bar-note { font-size: 0.95rem; }
.cp-stakes-bar-meta { font-size: 0.95rem; }
.cp-stakes-bar-meta strong { font-size: 1.15rem; }
.cp-stakes-cap { font-size: 0.68rem; }
.cp-stakes-src { font-size: 0.82rem; }
.cp-outage-quote::before { font-size: 3.1rem; }
.cp-outage-quote p { font-size: 1.22rem; }
.cp-outage-cite cite { font-size: 1.02rem; }
.cp-outage-meta { font-size: 0.88rem; }
.cp-outage-cause { font-size: 0.75rem; }
.cp-why-card p,
.cp-why-close {
	/* no explicit size historically — keep inheriting; exclusion is via not forcing a new computed size beyond body token */
	font-size: inherit;
}

/* B) Editions outer advisor lead = matrix caption (size + muted style). DE parallel via same classes. */
.cp-advisor > .cp-wrap > .cp-chooser-intro,
.cp-advisor .cp-wrap > .cp-chooser-intro,
.cp-chooser-head .cp-chooser-intro,
p.cp-chooser-intro {
	font-size: 0.9rem;
	line-height: 1.5;
	color: var(--cp-muted);
	max-width: none;
	width: 100%;
	margin: 0.35rem 0 0.85rem;
}

/* C) Support: hide video section-subtitles; pull body closer to chapter/video titles. */
.cp-support-sub {
	display: none !important;
	margin: 0 !important;
	padding: 0 !important;
	height: 0 !important;
	overflow: hidden !important;
}
.cp-support-videos {
	padding-top: 0.15rem;
}
.cp-support-video h3 {
	margin-top: 0.45rem;
}
.cp-support-chapter > summary {
	padding-bottom: 0.55rem;
}
/* No longer reserve a blank subtitle line for cards without .cp-support-sub */
@media (min-width: 900px) {
	.cp-support-video:not(:has(.cp-support-sub)) > h3 {
		margin-bottom: 0.35rem;
	}
}

/* 0.5.199 - Shop H1 size = Editions/Product page titles; Editions hero via MU. Soft-Gate/Creem untouched. */

/* 0.5.200 - Community Free/Kostenlos chip beside title (Editions + Shop). Soft-Gate/Creem untouched. */
.cp-shop-tiles .cp-shop-free .cp-card-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.35rem;
}
.cp-shop-tiles .cp-shop-free .cp-card-head .cp-chip {
	flex: 0 0 auto;
}
.cp-shop-tiles .cp-shop-free .cp-free-buy .cp-free-badge {
	display: none;
}
.cp-close .cp-addons-intro {
	margin: 0.35rem 0 0.75rem;
	max-width: 40rem;
	color: var(--cp-muted);
	font-size: 0.92rem;
}

/* 0.5.201 - Pass close-out CSS. Soft-Gate/Creem untouched. */
/* Editions Recommended pick-badge smaller */
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-pick-badge,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-pick-badge,
.cp-shop-tiles .cp-pick-badge {
	font-size: 0.52rem;
	padding: 0.05rem 0.28rem;
	letter-spacing: 0.03em;
	top: 0.35rem;
	right: 0.35rem;
	left: auto;
}

/* Shop: more space between Community bar and buy tiles */
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-buy,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-buy {
	margin-top: 1.15rem;
}

/* Community bar: Details left, Download flush right */
.cp-shop-tiles .cp-free-buy .cp-cta {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	gap: 0.45rem;
	width: 100%;
	margin: 0;
}
.cp-shop-tiles .cp-free-buy .cp-details {
	order: 1;
	margin-right: auto;
}
.cp-shop-tiles .cp-free-buy .cp-btn-primary {
	order: 2;
	margin-left: auto;
}

/* Support: keep search visible at top */
.cp-support-search {
	display: block !important;
	visibility: visible !important;
	margin: 0 0 1.35rem;
}
.cp-support-search input[type="search"] {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100%;
	max-width: none;
}

/* Support: video body/description a bit smaller */
.cp-support-abstract {
	font-size: 0.88rem;
	line-height: 1.45;
}
.cp-support-video > p:not(.cp-support-sub) {
	font-size: 0.88rem;
	line-height: 1.45;
}

/* 0.5.203 - URGENT Advisor restore + subtle slider length + AddOns colors. Soft-Gate/Creem untouched. */

/* 1) Sliders visible again: explicit track/thumb */
.cp-advisor .cp-chooser input[type="range"],
.cp-chooser-zone-nums input[type="range"],
.cp-chooser input[type="range"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100%;
	max-width: 100%;
	height: 1.25rem !important;
	min-height: 1.25rem !important;
	margin: 0.25rem 0 0.15rem !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%)) !important;
	outline: none;
}
.cp-chooser input[type="range"]::-webkit-slider-runnable-track {
	height: 1.25rem !important;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%)) !important;
}
.cp-chooser input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 1rem !important;
	height: 1rem !important;
	margin-top: 0.125rem !important;
	border: 0 !important;
	border-radius: 50%;
	background: #fff !important;
	cursor: pointer;
	box-shadow: 0 0 0 2px #5eead4 !important;
}
.cp-chooser input[type="range"]::-moz-range-track {
	height: 1.25rem !important;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%)) !important;
	border: 0;
}
.cp-chooser input[type="range"]::-moz-range-thumb {
	width: 1rem !important;
	height: 1rem !important;
	border: 0 !important;
	border-radius: 50%;
	background: #fff !important;
	cursor: pointer;
	box-shadow: 0 0 0 2px #5eead4 !important;
}

/* 2) Toggle labels smaller, beside switches (not below) */
.cp-advisor .cp-switch-row,
.cp-advisor .cp-chooser-toggles .cp-switch-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.3rem 0.4rem !important;
	width: 100%;
	margin: 0;
	padding: 0.12rem 0;
}
.cp-advisor .cp-switch-row .cp-switch {
	order: 0 !important;
	flex: 0 0 auto !important;
}
.cp-advisor .cp-switch-row .cp-switch-q,
.cp-advisor .cp-switch-q {
	order: 1 !important;
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
	font-size: 0.68rem !important;
	line-height: 1.2 !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* 3) Restore vertical spacing (pre-0.5.194 tighten / good prior state) */
.cp-chooser-zone-nums {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.45rem 0.85rem;
	margin-bottom: 0.55rem;
	align-items: end;
}
.cp-advisor .cp-chooser-block {
	margin: 0 0 0.45rem;
}
.cp-advisor .cp-chooser-block-t {
	margin: 0 0 0.3rem;
}
.cp-chooser-zone-features {
	margin-top: 0.4rem;
}
.cp-advisor .cp-chooser-reset {
	margin: 0.35rem 0 0;
}
.cp-advisor-card {
	padding: 0.85rem 0.95rem 0.8rem;
}
.cp-advisor .cp-chooser-head {
	margin: 0 0 0.55rem;
}

/* 4) SUPERSEDED by 0.5.206: was short floating sliders (97% + start). Kept inert. */
.cp-chooser-zone-nums.cp-superseded-203-slider {
	gap: 0.45rem 1rem;
}

/* Shop AddOns: intro white; lines muted */
.cp-close .cp-addons-intro {
	color: var(--cp-white) !important;
}
.cp-close ul.cp-addons > li,
.cp-close ul.cp-addons > li > span {
	color: var(--cp-muted);
}


/* 0.5.204 - P0 Advisor: inputs restored in content; reinforce visible sliders + labels beside + section spacing. Soft-Gate/Creem untouched. */

/* Sliders must paint track + thumb (WebKit needs appearance none on thumb) */
.cp-advisor .cp-chooser input[type="range"],
.cp-chooser-zone-nums input[type="range"],
.cp-chooser input[type="range"] {
	-webkit-appearance: none !important;
	appearance: none !important;
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 100% !important;
	max-width: 100% !important;
	height: 1.25rem !important;
	min-height: 1.25rem !important;
	margin: 0.35rem 0 0.2rem !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%)) !important;
	outline: none;
}
.cp-chooser input[type="range"]::-webkit-slider-runnable-track {
	height: 1.25rem !important;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%)) !important;
}
.cp-chooser input[type="range"]::-webkit-slider-thumb {
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 1rem !important;
	height: 1rem !important;
	margin-top: 0.125rem !important;
	border: 0 !important;
	border-radius: 50%;
	background: #fff !important;
	cursor: pointer;
	box-shadow: 0 0 0 2px #5eead4 !important;
}
.cp-chooser input[type="range"]::-moz-range-track {
	height: 1.25rem !important;
	border-radius: 999px;
	background: linear-gradient(to right, #5eead4 var(--fill, 0%), rgba(155, 176, 196, 0.32) var(--fill, 0%)) !important;
	border: 0;
}
.cp-chooser input[type="range"]::-moz-range-thumb {
	width: 1rem !important;
	height: 1rem !important;
	border: 0 !important;
	border-radius: 50%;
	background: #fff !important;
	cursor: pointer;
	box-shadow: 0 0 0 2px #5eead4 !important;
}

/* Toggle labels smaller, beside switches (not under) */
.cp-advisor .cp-switch-row,
.cp-advisor .cp-chooser-toggles .cp-switch-row {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: center !important;
	justify-content: flex-start !important;
	gap: 0.35rem 0.45rem !important;
	width: 100%;
	margin: 0;
	padding: 0.22rem 0;
}
.cp-advisor .cp-switch-row .cp-switch {
	order: 0 !important;
	flex: 0 0 auto !important;
}
.cp-advisor .cp-switch-row .cp-switch-q,
.cp-advisor .cp-switch-q {
	order: 1 !important;
	flex: 1 1 auto !important;
	display: block !important;
	min-width: 0 !important;
	margin: 0 !important;
	font-size: 0.72rem !important;
	line-height: 1.25 !important;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

/* Restore vertical spacing between advisor sections (pre-over-tighten) */
.cp-advisor-card {
	padding: 1rem 1.1rem 0.95rem !important;
}
.cp-chooser-zone-nums {
	/* 0.5.204 block neutralized — 0.5.206 owns gap/width/vertical */
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	align-items: end;
}
.cp-chooser-zone-nums .cp-chooser-slide {
	display: grid !important;
	min-width: 0;
}


/* 0.5.205 - Clean-pass remainder CSS. Soft-Gate/Creem untouched. Do not strip advisor inputs. */

/* Advisor: two cols Certs/Deploys — each slider nearly full col width; ONLY small gap between cols; tighten vertical to earlier good state (≈0.5.194). Soft-Gate/Creem untouched. */
.cp-chooser-zone-nums {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.25rem 0.55rem !important; /* small vertical; small horizontal between columns only */
	margin-bottom: 0.25rem !important;
	align-items: end;
}
.cp-chooser-zone-nums .cp-chooser-slide {
	display: grid !important;
	gap: 0.3rem !important;
	width: 100% !important;
	max-width: 100% !important; /* nearly full column — not short floating sliders */
	justify-self: stretch !important;
	min-width: 0;
}
.cp-advisor .cp-chooser input[type="range"],
.cp-chooser-zone-nums input[type="range"],
.cp-chooser input[type="range"] {
	width: 100% !important;
	max-width: 100% !important;
}
.cp-advisor-card {
	padding: 0.85rem 0.95rem 0.75rem !important;
}
.cp-advisor .cp-chooser-block {
	margin: 0 0 0.2rem !important;
}
.cp-advisor .cp-chooser-block-t {
	margin: 0 0 0.15rem !important;
}
.cp-chooser-zone-features {
	margin-top: 0.15rem !important;
}
.cp-advisor .cp-chooser-reset {
	margin: 0.15rem 0 0 !important;
}
.cp-advisor .cp-chooser-slide,
.cp-chooser-zone-nums .cp-chooser-slide {
	gap: 0.3rem !important;
}
.cp-advisor .cp-chooser input[type="range"] {
	margin: 0.05rem 0 0 !important;
}

/* Recommended pill: middle ground between original ~0.65rem (too big) and 0.42rem (too tiny) */
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-pick-badge,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-pick-badge,
.cp-shop-tiles .cp-pick-badge {
	font-size: 0.53rem !important;
	padding: 0.06rem 0.30rem !important;
	letter-spacing: 0.03em !important;
	line-height: 1.25 !important;
	top: 0.35rem !important;
	right: 0.35rem !important;
	left: auto !important;
	font-weight: 700;
}

/* Shop edition tile titles = Editions tile titles (matrix header size) */
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-card-head h2,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-card-head h2,
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-free .cp-card-head h2,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-free .cp-card-head h2,
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-card-head h2,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-card-head h2,
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free .cp-card-head h2,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free .cp-card-head h2 {
	font-size: 1.05rem !important;
	font-weight: 650 !important;
	line-height: 1.2 !important;
}

/* Editions/Shop tile claims: restore wrap + prior muted size (undo truncate that hid wording) */
.cp-shop-tiles .cp-persona,
.cp-shop-tiles .cp-delta-lead,
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-persona,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-persona {
	font-size: 0.72rem !important;
	line-height: 1.35 !important;
	white-space: normal !important;
	overflow: visible !important;
	text-overflow: unset !important;
	min-height: 0 !important;
}

/* WebUI/RBAC matrix popup: RBAC screenshots side-by-side under combined text (inside #cp-dlg-webui) */
#cp-dlg-webui .cp-shot-pair--rbac {
	display: grid !important;
	grid-template-columns: 1fr 1fr !important;
	gap: 0.75rem !important;
	margin: 0.85rem 0 0 !important;
}
@media (max-width: 720px) {
	#cp-dlg-webui .cp-shot-pair--rbac {
		grid-template-columns: 1fr !important;
	}
}

/* Tenants: More than 50 on same baseline as Tenants */
.cp-chooser-zone-features .cp-chooser-toggles-2col {
	align-items: center;
}
.cp-chooser-zone-features .cp-tenant-more {
	grid-column: 2;
	align-self: center;
}

/* Support video body a bit smaller */
.cp-support-abstract,
.cp-support-video > p:not(.cp-support-sub) {
	font-size: 0.84rem !important;
	line-height: 1.45 !important;
}

/* Shop Community ↔ buy tiles gap (keep) */
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-buy,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-buy {
	margin-top: 1.15rem;
}

/* Professional Popular already hidden; title bar = Standard — reaffirm */
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-ribbon,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-ribbon {
	display: none !important;
}


/* 0.5.206 - tenant-more hide must beat .cp-advisor .cp-switch-row { display:flex !important } */
.cp-advisor .cp-switch-row.cp-tenant-more[hidden],
.cp-chooser-zone-features .cp-tenant-more[hidden],
.cp-advisor .cp-tenant-more[hidden],
.cp-tenant-more[hidden] {
	display: none !important;
}

/* 0.5.206 - dialog Close clickable above inner scroll/stack */
dialog.cp-info-dialog .cp-dialog-bar,
dialog.cp-matrix-dialog .cp-dialog-bar,
dialog.cp-pay-dialog .cp-dialog-bar,
.cp-pay-dialog .cp-dialog-bar {
	position: relative;
	z-index: 5;
}
dialog.cp-info-dialog .cp-dialog-close,
dialog.cp-matrix-dialog .cp-dialog-close,
dialog.cp-pay-dialog .cp-dialog-close,
.cp-dialog-close,
[data-cp-close].cp-dialog-close {
	position: relative;
	z-index: 6;
	pointer-events: auto !important;
}

/* ========== 0.5.206 URGENT FINAL — Advisor Certs/Deploys (André 2026-10-01) ==========
   1) Each slider starts at column LEFT and nearly fills the column (width 100%, stretch).
   2) ONLY a small gap between the two columns (not short floating sliders).
   3) Tighten vertical spacing between advisor sections.
   Soft-Gate/Creem untouched. */
.cp-advisor .cp-chooser-zone-nums,
.cp-chooser-zone-nums {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
	column-gap: 0.5rem !important;
	row-gap: 0.2rem !important;
	gap: 0.2rem 0.5rem !important;
	margin: 0 0 0.2rem !important;
	padding: 0 !important;
	align-items: end !important;
	justify-items: stretch !important;
}
.cp-advisor .cp-chooser-zone-nums .cp-chooser-slide,
.cp-chooser-zone-nums .cp-chooser-slide {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) !important;
	justify-self: stretch !important;
	justify-items: stretch !important;
	align-self: stretch !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	gap: 0.25rem !important;
}
.cp-advisor .cp-chooser-zone-nums .cp-chooser-slide label,
.cp-chooser-zone-nums .cp-chooser-slide label {
	justify-self: start !important;
	width: auto !important;
	max-width: 100% !important;
}
.cp-advisor .cp-chooser-zone-nums input[type="range"],
.cp-chooser-zone-nums input[type="range"],
.cp-advisor .cp-chooser input[type="range"] {
	display: block !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0 !important;
	margin: 0.05rem 0 0 !important;
	padding: 0 !important;
	box-sizing: border-box !important;
	justify-self: stretch !important;
}
.cp-advisor-card {
	padding: 0.8rem 0.9rem 0.7rem !important;
}
.cp-advisor .cp-chooser-block {
	margin: 0 0 0.18rem !important;
}
.cp-advisor .cp-chooser-block-t {
	margin: 0 0 0.12rem !important;
}
.cp-chooser-zone-features {
	margin-top: 0.12rem !important;
}
.cp-advisor .cp-chooser-reset {
	margin: 0.12rem 0 0 !important;
}
/* ========== end 0.5.206 URGENT FINAL ========== */


/* ========== 0.5.207 — André via Andrea (2026-10-01) ==========
   URGENT: matrix-fit / catalogue rules (were dumped as body text when <style> stripped).
   Recommended one notch >0.53rem; Certs/Deploys count ralign; Shop alt/note size lock.
   Soft-Gate/Creem untouched. */

/* Matrix fit (was cp-matrix-fit-20260930 inline in page content) */
.cp-table-wrap > table.cp-matrix {
	overflow: visible;
	width: max-content;
	min-width: 100%;
}
.cp-table-wrap .cp-matrix tbody th[scope="row"] {
	white-space: normal;
}
.cp-matrix .cp-price-cell {
	max-width: none;
	white-space: nowrap;
}

/* Recommended pill: one notch above 0.53rem */
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-pick-badge,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-pick-badge,
.cp-shop-tiles .cp-pick-badge {
	font-size: 0.58rem !important;
	padding: 0.07rem 0.32rem !important;
	letter-spacing: 0.03em !important;
	line-height: 1.25 !important;
	top: 0.35rem !important;
	right: 0.35rem !important;
	left: auto !important;
	font-weight: 700;
}

/* Advisor: Certs/Deploys count right-aligned with slider end (same column) */
.cp-advisor .cp-chooser-zone-nums .cp-chooser-slide label,
.cp-chooser-zone-nums .cp-chooser-slide label {
	display: flex !important;
	justify-content: space-between !important;
	align-items: baseline !important;
	width: 100% !important;
	max-width: 100% !important;
	justify-self: stretch !important;
	gap: 0.5rem !important;
	box-sizing: border-box !important;
}
.cp-advisor .cp-chooser-zone-nums .cp-chooser-val,
.cp-chooser-zone-nums .cp-chooser-val {
	margin-left: auto !important;
	text-align: right !important;
	flex: 0 0 auto !important;
}

/* Shop: restore secondary/other-currency + net-price line size lock (beat body p 0.95rem) */
.cp-shop-tiles .cp-price-alt,
.cp-shop-tiles .cp-price-note,
.cp-shop-tiles p.cp-price-alt,
.cp-shop-tiles p.cp-price-note,
.cp-page .cp-shop-tiles .cp-price-alt,
.cp-page .cp-shop-tiles .cp-price-note {
	font-size: 0.62rem !important;
	font-weight: 500 !important;
	opacity: 0.6 !important;
	line-height: 1.35 !important;
	color: var(--cp-muted) !important;
	margin: 0.1rem 0 0 !important;
}

/* ========== end 0.5.207 ========== */


/* ========== 0.5.208 — André via Andrea (2026-10-01) ==========
   Advisor: shorten BOTH Certs/Deploys tracks ~10px so middle gap grows.
   Home outages: beat body p 0.95rem specificity — restore larger quote size.
   WebUI/RBAC matrix popup: shots side-by-side after RBAC text (3-col + lightbox).
   Soft-Gate/Creem untouched. Do not change tile border-radius.
   ========== */

/* Advisor slider tracks: each ~10px shorter; left flush left, right flush right → larger mid gap */
.cp-advisor .cp-chooser-zone-nums input[type="range"],
.cp-chooser-zone-nums input[type="range"] {
	width: calc(100% - 10px) !important;
	max-width: calc(100% - 10px) !important;
}
.cp-advisor .cp-chooser-zone-nums .cp-chooser-slide:first-child input[type="range"],
.cp-chooser-zone-nums .cp-chooser-slide:first-child input[type="range"] {
	justify-self: start !important;
}
.cp-advisor .cp-chooser-zone-nums .cp-chooser-slide:last-child input[type="range"],
.cp-chooser-zone-nums .cp-chooser-slide:last-child input[type="range"] {
	justify-self: end !important;
}
/* Keep count labels aligned with shortened track ends */
.cp-advisor .cp-chooser-zone-nums .cp-chooser-slide:first-child label,
.cp-chooser-zone-nums .cp-chooser-slide:first-child label {
	width: calc(100% - 10px) !important;
	max-width: calc(100% - 10px) !important;
	justify-self: start !important;
}
.cp-advisor .cp-chooser-zone-nums .cp-chooser-slide:last-child label,
.cp-chooser-zone-nums .cp-chooser-slide:last-child label {
	width: calc(100% - 10px) !important;
	max-width: calc(100% - 10px) !important;
	justify-self: end !important;
}

/* Home outage/incident quotes: larger again (beat .cp-page p:not(...) 0.95rem) */
.cp-outages .cp-outage-quote::before {
	font-size: 3.1rem !important;
}
.cp-outages .cp-outage-quote p {
	font-size: 1.22rem !important;
	line-height: 1.5 !important;
}
.cp-outages .cp-outage-cite cite {
	font-size: 1.02rem !important;
}
.cp-outages .cp-outage-meta {
	font-size: 0.88rem !important;
}
.cp-outages .cp-outage-cause {
	font-size: 0.75rem !important;
}

/* WebUI/RBAC combined popup: after RBAC text, shots side-by-side (incl. WebUI shot) */
/* 0.5.211: do NOT hide Product #cp-dlg-webui .cp-shot-webui-console (Editions shots live in .cp-shot-pair). */
#cp-dlg-webui .cp-shot-pair--webui-rbac,
#cp-dlg-webui .cp-shot-pair--rbac {
	display: grid !important;
	grid-template-columns: 1fr 1fr 1fr !important;
	gap: 0.65rem !important;
	margin: 0.85rem 0 0 !important;
}
#cp-dlg-webui .cp-shot-pair--webui-rbac .cp-shot img,
#cp-dlg-webui .cp-shot-pair--webui-rbac .cp-shot-open img,
#cp-dlg-webui .cp-shot-pair--rbac .cp-shot img,
#cp-dlg-webui .cp-shot-pair--rbac .cp-shot-open img {
	aspect-ratio: auto !important;
	object-fit: contain !important;
	object-position: top center !important;
	height: auto !important;
	max-height: 9.5rem !important;
	width: 100% !important;
	cursor: zoom-in;
}
@media (max-width: 720px) {
	#cp-dlg-webui .cp-shot-pair--webui-rbac,
	#cp-dlg-webui .cp-shot-pair--rbac {
		grid-template-columns: 1fr !important;
	}
	#cp-dlg-webui .cp-shot-pair--webui-rbac .cp-shot img,
	#cp-dlg-webui .cp-shot-pair--webui-rbac .cp-shot-open img,
	#cp-dlg-webui .cp-shot-pair--rbac .cp-shot img,
	#cp-dlg-webui .cp-shot-pair--rbac .cp-shot-open img {
		max-height: none !important;
	}
}
/* ========== end 0.5.208 ========== */


/* ========== 0.5.209 — André via Andrea (2026-10-01) ==========
   1) Matrix: price + AddOns (.cp-price-cell) text size = Caps row td (0.84rem); columns fit.
   2) Community tile (Editions + Shop): hand cursor + light highlight like paid tiles.
   Soft-Gate/Creem untouched. No radius change.
   ========== */

/* Matrix price + AddOns = Caps row size */
.cp-matrix.software-editions-matrix .cp-price-cell,
.cp-matrix .cp-price-cell,
.cp-matrix.software-editions-matrix tr.cp-price-row td,
.cp-matrix tr.cp-price-row td {
	font-size: 0.84rem !important;
	line-height: 1.35 !important;
	font-weight: 400 !important;
}

/* Community free bar: pointer + same light hover as other tiles (beat prior neutralize) */
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free,
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-free,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-free,
.cp-shop-tiles .cp-shop-free,
.cp-shop-tiles .cp-shop-free.cp-edcard,
.cp-shop-tiles .cp-edcard.cp-shop-free,
.cp-shop-tiles article[data-edition="community"] {
	cursor: pointer !important;
	transition: background 0.16s ease, border-color 0.16s ease, box-shadow 0.16s ease, transform 0.16s ease !important;
}
.cp-page[data-slug="/editions/"] .cp-shop-tiles .cp-shop-free:hover,
.cp-page[data-slug="/de/editionen/"] .cp-shop-tiles .cp-shop-free:hover,
.cp-page[data-slug="/shop/"] .cp-shop-tiles .cp-shop-free:hover,
.cp-page[data-slug="/de/shop/"] .cp-shop-tiles .cp-shop-free:hover,
.cp-shop-tiles .cp-shop-free:hover,
.cp-shop-tiles .cp-shop-free.cp-edcard:hover,
.cp-shop-tiles .cp-edcard.cp-shop-free:hover,
.cp-shop-tiles article[data-edition="community"]:hover {
	background: rgba(255, 255, 255, 0.06) !important;
	border-color: rgba(94, 234, 212, 0.38) !important;
	box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18) !important;
	transform: translateY(-2px) !important;
}

/* ========== end 0.5.209 ========== */


/* ========== 0.5.210 — André via Andrea (2026-10-01) ==========
   Matrix ONLY: stack CHF above EUR/USD in .cp-price-cell (edition prices + AddOns).
   Soft-Gate/Creem untouched.
   ========== */
.cp-matrix .cp-price-cell,
.cp-matrix.software-editions-matrix .cp-price-cell {
	display: inline-block !important;
	white-space: normal !important;
	max-width: none !important;
	line-height: 1.3 !important;
	text-align: center !important;
}
.cp-matrix .cp-price-cell br {
	display: block !important;
	content: "" !important;
	margin: 0 !important;
	line-height: 1.3 !important;
}
/* ========== end 0.5.210 ========== */

/* ========== 0.5.211 — André via Andrea (2026-10-01) ==========
   Product WebUI popup: show console screenshot again (was hidden by 0.5.208 leftover rule).
   Soft-Gate/Creem untouched.
   ========== */
#cp-dlg-webui .cp-shot-webui-console,
#cp-dlg-webui > .cp-dialog-inner > .cp-shot-webui-console,
#cp-dlg-webui figure.cp-shot-webui-console {
	display: block !important;
	margin: 0.85rem 0 0 !important;
}
#cp-dlg-webui .cp-shot-webui-console img,
#cp-dlg-webui .cp-shot-webui-console .cp-shot-open img {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	max-height: none !important;
}
/* ========== end 0.5.211 ========== */

/* 0.5.214 — desktop: utility links stay a row while details is closed. */
@media (min-width: 801px) {
	.cp-util-nav .cp-util-menu::details-content {
		display: flex;
		content-visibility: visible;
		height: auto;
		overflow: visible;
	}

	.cp-util-nav .cp-util-menu:not([open]) > .cp-util-panel {
		display: flex;
	}
}

/* 0.5.215 — narrow header: hamburger stays in the utility cluster,
   immediately left of the language switcher. The existing 800px header
   grid (brand | util / nav) is not rewritten. Main nav is not collapsed. */
@media (max-width: 800px) {
	.cp-header-inner:has(.cp-util-nav) .cp-util-nav {
		position: relative;
		opacity: 1;
	}

	.cp-util-toggle {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 1.75rem;
		height: 1.75rem;
		border: 0;
		background: transparent;
		color: var(--cp-muted);
		opacity: 0.78;
		cursor: pointer;
	}

	.cp-util-toggle:hover,
	.cp-util-menu[open] > .cp-util-toggle {
		color: var(--cp-white);
		opacity: 1;
	}

	.cp-util-toggle:focus-visible {
		outline: 2px solid var(--cp-teal-soft);
		outline-offset: 3px;
	}

	.cp-util-burger,
	.cp-util-burger::before,
	.cp-util-burger::after {
		display: block;
		width: 0.95rem;
		height: 1.5px;
		background: currentColor;
		border-radius: 1px;
	}

	.cp-util-burger {
		position: relative;
	}

	.cp-util-burger::before,
	.cp-util-burger::after {
		content: "";
		position: absolute;
		left: 0;
	}

	.cp-util-burger::before {
		top: -0.28rem;
	}

	.cp-util-burger::after {
		top: 0.28rem;
	}

	.cp-util-nav .cp-util-menu {
		position: relative;
		justify-content: flex-start;
	}

	.cp-util-nav .cp-util-menu:not([open]) > .cp-util-panel {
		display: none;
	}

	.cp-util-nav .cp-util-menu[open] > .cp-util-panel {
		display: flex;
		flex-direction: column;
		flex-wrap: nowrap;
		justify-content: flex-start;
		align-items: flex-start;
		position: absolute;
		top: calc(100% + 0.35rem);
		left: auto;
		right: 0;
		z-index: 5;
		gap: 0.4rem;
		width: max-content;
		margin: 0;
		padding: 0.5rem 0.7rem;
		background: #071929;
		border: 1px solid var(--cp-line);
		border-radius: var(--cp-radius);
		box-shadow: 0 12px 32px rgba(0, 0, 0, 0.55);
	}

	.cp-util-nav .cp-util-menu[open] > .cp-util-panel a {
		font-size: 0.8rem;
		font-weight: 500;
	}
}

/* 0.5.217 — phone only: lower labels are narrower so each sits on its own
   spot (2012, 2018, 2026, 2029 no longer share a column). Desktop unchanged. */
@media (max-width: 480px) {
	.cp-stakes-tl-rail {
		min-height: 20rem;
		padding: 6.4rem 0.15rem 8.2rem;
	}

	.cp-stakes-tl-line li {
		width: calc(33.33% - 0.4rem);
		font-size: 0.62rem;
		line-height: 1.15;
	}

	.cp-stakes-tl-line li:nth-child(odd) {
		width: 20%;
	}

	.cp-stakes-tl-line li:nth-child(odd) .cp-stakes-tl-lab {
		top: 2.85rem;
	}

	.cp-stakes-tl-line li:nth-child(even) .cp-stakes-tl-lab {
		bottom: 2.35rem;
	}

	.cp-stakes-tl-line b {
		font-size: 0.72rem;
		margin-bottom: 0.06rem;
	}
}
