/* pro System — Zusatz-Styles (werden per Klassenname im Block-Editor genutzt) */

/* Header klebt oben, leicht transparent */
.ps-header {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid rgba(26, 26, 26, .08);
	background: rgba(255, 255, 255, .92) !important;
	backdrop-filter: blur(8px);
}

/* Hero-Verlauf (hellblau nach weiß) */
.ps-hero {
	background: linear-gradient(180deg, #e8eef9 0%, rgba(232, 238, 249, .35) 60%, #ffffff 100%);
}

/* Kicker: kleine Überzeile in Großbuchstaben */
.ps-kicker {
	letter-spacing: .08em;
	text-transform: uppercase;
	font-weight: 600;
}

/* Karten (Leistungen, Inhaltsboxen) */
.ps-card {
	border: 1px solid rgba(26, 26, 26, .10);
	border-radius: 16px;
	box-shadow: 0 1px 2px rgba(26, 26, 26, .04), 0 8px 24px -12px rgba(26, 26, 26, .18);
	transition: box-shadow .2s ease, border-color .2s ease;
	height: 100%;
}
.ps-card:hover {
	box-shadow: 0 2px 4px rgba(26, 26, 26, .06), 0 18px 40px -16px rgba(60, 100, 200, .30);
	border-color: rgba(60, 100, 200, .35);
}

/* Trust-Kacheln im Hero */
.ps-trust .wp-block-column {
	background: rgba(255, 255, 255, .85);
	border: 1px solid rgba(26, 26, 26, .10);
	border-radius: 14px;
	padding: 1.1rem 1.2rem;
}
.ps-num {
	font-size: 26px;
	font-weight: 800;
	color: #3c64c8;
	line-height: 1.2;
	margin: 0;
}

/* Stadt-Chips */
.ps-chip {
	background: #fff;
	border: 1px solid rgba(26, 26, 26, .10);
	border-radius: 9999px;
	padding: .45rem 1.1rem;
	font-size: 15px;
	display: inline-block;
	margin: 0 .3rem .6rem 0;
}

/* Gedämpfte Textfarben */
.ps-muted { color: rgba(26, 26, 26, .65); }
.ps-white-muted { color: rgba(255, 255, 255, .75); }

/* Häkchen-Liste */
.ps-check-list { list-style: none; padding-left: 0; }
.ps-check-list li { padding-left: 1.8rem; position: relative; margin-bottom: .65rem; }
.ps-check-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	top: 0;
	color: #3c64c8;
	font-weight: 700;
}

/* Tool-Kachel in dunkler Box */
.ps-tool {
	background: rgba(255, 255, 255, .06);
	border: 1px solid rgba(255, 255, 255, .12);
	border-radius: 12px;
	padding: .8rem 1rem;
	height: 100%;
}
.ps-tool p { margin: 0; }

/* Referenz-Zitate */
.ps-quote {
	border: 1px solid rgba(26, 26, 26, .10);
	border-radius: 16px;
	padding: 1.4rem;
	box-shadow: 0 1px 2px rgba(26, 26, 26, .04), 0 8px 24px -12px rgba(26, 26, 26, .18);
	margin: 0 0 1.5rem 0;
}
.ps-quote p {
	font-size: 15px;
	line-height: 1.65;
	color: rgba(26, 26, 26, .78);
	margin: 0;
}
.ps-quote cite {
	display: block;
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid rgba(26, 26, 26, .10);
	font-style: normal;
	font-size: 14px;
}
.ps-quote cite strong { font-size: 15px; }

/* FAQ (Details-Block) */
.wp-block-details {
	border-top: 1px solid rgba(26, 26, 26, .12);
	padding: 1.1rem 0;
	margin-bottom: 0 !important;
}
.wp-block-details:last-of-type { border-bottom: 1px solid rgba(26, 26, 26, .12); }
.wp-block-details summary {
	font-weight: 600;
	font-size: 17px;
	cursor: pointer;
	list-style: none;
	position: relative;
	padding-right: 2.2rem;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	position: absolute;
	right: .25rem;
	top: 50%;
	transform: translateY(-50%);
	color: #3c64c8;
	font-size: 22px;
	font-weight: 600;
	line-height: 1;
}
.wp-block-details[open] summary::after { content: "\2212"; }
.wp-block-details > :not(summary) { margin-top: .8rem; color: rgba(26, 26, 26, .72); font-size: 15px; }

/* Überschriften in eingefärbten Boxen erben die Box-Textfarbe (weiß auf dunkel) */
.has-base-color h1, .has-base-color h2, .has-base-color h3, .has-base-color h4 { color: inherit; }

/* Footer */
.ps-footer a { color: rgba(255, 255, 255, .85); text-decoration: none; }
.ps-footer a:hover { color: #ffffff; text-decoration: underline; }
.ps-footer p { font-size: 15px; }

/* Sekundär-Button (weißer Grund, Rahmen) */
.ps-btn-ghost .wp-block-button__link {
	background: #ffffff;
	color: #1a1a1a;
	border: 1px solid rgba(26, 26, 26, .18);
}
.ps-btn-ghost .wp-block-button__link:hover {
	color: #3c64c8;
	border-color: rgba(60, 100, 200, .45);
	background: #ffffff;
}

/* Button weiß auf dunklem Grund */
.ps-btn-white .wp-block-button__link {
	background: #ffffff;
	color: #2a4a9e;
}
.ps-btn-white .wp-block-button__link:hover {
	background: #e8eef9;
	color: #2a4a9e;
}

/* Navigation: Abstand + aktueller Menüpunkt */
.ps-header .wp-block-navigation a:hover { color: #3c64c8; }

/* Mobil: Hero-Schrift nicht zu groß */
@media (max-width: 600px) {
	.ps-num { font-size: 22px; }
}
