/*
Theme Name: Digipoint
Theme URI: https://digipoint.ch
Author: Digipoint
Description: Block-Theme für Digipoint – Projektleitung, CIO-Coaching, Consulting und Interim Management. Ruhig, seriös, auf Schweizer Finanzdienstleister ausgerichtet.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.9
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: digipoint
*/

/* ---------- Basis ---------- */
html { scroll-behavior: smooth; }
body { -webkit-font-smoothing: antialiased; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }

/* ---------- Kopfzeile ---------- */
.dp-header {
	position: sticky; top: 0; z-index: 50;
	background: rgba(255,255,255,0.92);
	backdrop-filter: saturate(1.4) blur(8px);
	-webkit-backdrop-filter: saturate(1.4) blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.dp-logo { font-family: var(--wp--preset--font-family--serif); font-size: 1.5rem; letter-spacing: -0.01em; color: var(--wp--preset--color--ink); text-decoration: none; }
.dp-logo .dp-dot { color: var(--wp--preset--color--bordeaux); }
.dp-header .wp-block-navigation a { text-decoration: none; }
.dp-header .wp-block-navigation a:hover { color: var(--wp--preset--color--navy); }

/* ---------- Typografische Elemente ---------- */
.dp-eyebrow {
	font-size: 0.75rem !important; font-weight: 600; letter-spacing: 0.14em;
	text-transform: uppercase; color: var(--wp--preset--color--muted);
}
.dp-rule { width: 48px; height: 2px; background: var(--wp--preset--color--navy); border: 0; margin: 1.25rem 0 0 0 !important; }
.dp-rule.is-centered { margin-left: auto !important; margin-right: auto !important; }
.dp-num {
	font-family: var(--wp--preset--font-family--serif); font-style: italic;
	font-size: 2.25rem !important; line-height: 1; color: var(--wp--preset--color--navy);
	white-space: nowrap; flex-shrink: 0; min-width: 2.6rem; margin: 0;
}
.dp-hero h1 em, .dp-accent { font-style: italic; color: var(--wp--preset--color--navy); }

/* ---------- Karten ---------- */
.dp-card {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	box-shadow: 0 1px 2px rgba(26,35,50,0.06);
	height: 100%;
	transition: box-shadow .2s ease, transform .2s ease, border-color .2s ease;
}
.dp-card:hover { box-shadow: 0 8px 24px rgba(26,35,50,0.08); transform: translateY(-2px); border-color: #cfd4db; }
.dp-card ul { padding-left: 1.1em; margin: 0; }
.dp-card li { margin: 0.35em 0; color: var(--wp--preset--color--soft-ink); }
.dp-card li::marker { color: var(--wp--preset--color--navy); }
.dp-card h3 a { text-decoration: none; color: inherit; }
.dp-card h3 a:hover { color: var(--wp--preset--color--navy); }

.dp-badge {
	display: inline-block; font-size: 0.7rem !important; font-weight: 600; letter-spacing: 0.12em;
	text-transform: uppercase; color: var(--wp--preset--color--bordeaux);
	border: 1px solid var(--wp--preset--color--bordeaux); border-radius: 999px;
	padding: 0.2em 0.75em; margin: 0 !important;
}

/* ---------- TOE-Teaser ---------- */
.dp-toe .dp-toe-dim { border-top: 2px solid var(--wp--preset--color--navy); padding-top: 1rem; }
.dp-toe .dp-toe-letter { font-family: var(--wp--preset--font-family--serif); font-style: italic; font-size: 3rem !important; line-height: 1; color: rgba(255,255,255,0.9); }
.dp-dark .dp-toe-dim { border-top-color: rgba(255,255,255,0.35); }
.dp-dark .dp-eyebrow { color: rgba(255,255,255,0.65); }
.dp-dark .dp-rule { background: #fff; }

/* ---------- Ablauf ---------- */
.dp-step { border-left: 1px solid var(--wp--preset--color--rule); padding-left: 1.25rem; }

/* ---------- Footer ---------- */
.dp-footer a { color: inherit; text-decoration: none; }
.dp-footer a:hover { text-decoration: underline; }

/* ---------- Responsive ---------- */
@media (max-width: 781px) {
	.dp-hero h1 { font-size: 2.4rem !important; }
	.dp-step { border-left: 0; border-top: 1px solid var(--wp--preset--color--rule); padding-left: 0; padding-top: 1rem; }
}
