

/* Neue Startseite: klare Vier-Karten-Struktur */
.ist-home-hero {
	background:
		radial-gradient(circle at 18% 20%, color-mix(in srgb, var(--ist-accent) 12%, transparent), transparent 38%),
		linear-gradient(135deg, var(--ist-surface-soft), var(--ist-bg));
	border-bottom: 1px solid var(--ist-border);
}

.ist-home-intro {
	max-width: 760px;
	margin: 0 auto 28px;
	font-size: clamp(1.08rem, 1rem + 0.35vw, 1.28rem);
	line-height: 1.65;
	color: var(--ist-text) !important;
}

.ist-service-grid {
	align-items: stretch;
}

.ist-service-card {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 360px;
	background: var(--ist-surface) !important;
	border: 1px solid var(--ist-border);
	border-radius: 14px !important;
	box-shadow: var(--ist-shadow);
}

.ist-service-card .ist-service-logo {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 108px;
	margin: 0 0 22px !important;
	padding: 10px;
	background: color-mix(in srgb, var(--ist-surface-soft) 55%, transparent);
	border-radius: 10px;
}

.ist-service-card .ist-service-logo img {
	display: block;
	width: auto !important;
	max-width: 100%;
	height: auto !important;
	max-height: 86px;
	margin: 0 auto;
	object-fit: contain;
}

.ist-service-card h3 {
	margin: 0 0 12px;
	font-size: 1.2rem !important;
}

.ist-service-card p {
	margin: 0 0 22px;
	line-height: 1.65;
}

.ist-service-card .btn {
	align-self: flex-start;
	margin-top: auto;
}

.ist-about-card {
	background: var(--ist-surface) !important;
	border: 1px solid var(--ist-border);
	border-radius: 14px !important;
	box-shadow: var(--ist-shadow);
}

.ist-home-cta {
	background: var(--ist-surface-soft);
	border-top: 1px solid var(--ist-border);
}

/* Kontakt-Schaltflächen: jederzeit klar lesbar */
.ist-home-hero .wp-block-button__link,
.ist-home-cta .wp-block-button__link {
	background: #681f32 !important;
	color: #ffffff !important;
	border: 2px solid #681f32 !important;
	box-shadow: 0 6px 18px rgba(70, 18, 33, 0.28);
	font-weight: 700;
	text-shadow: none;
}

.ist-home-hero .wp-block-button__link:hover,
.ist-home-hero .wp-block-button__link:focus-visible,
.ist-home-cta .wp-block-button__link:hover,
.ist-home-cta .wp-block-button__link:focus-visible {
	background: #4f1424 !important;
	color: #ffffff !important;
	border-color: #4f1424 !important;
}

@media (max-width: 650px) {
	.ist-home-hero {
		padding-top: 52px !important;
		padding-bottom: 52px !important;
	}

	.ist-service-card {
		min-height: 0;
	}

	.ist-service-card .ist-service-logo {
		height: 94px;
	}
}


/* Dezente Logofarben auf der Startseite */
.ist-service-card:nth-child(1) { --card-accent: #8a3550; --card-tint: #ead5dc; }
.ist-service-card:nth-child(2) { --card-accent: #b45f32; --card-tint: #f1ddcf; }
.ist-service-card:nth-child(3) { --card-accent: #4f7a5b; --card-tint: #dbe8dc; }
.ist-service-card:nth-child(4) { --card-accent: #3b638b; --card-tint: #d6e2ec; }

.ist-service-card {
	border-top: 5px solid var(--card-accent, var(--ist-accent));
}

.ist-service-card .ist-service-logo {
	background: var(--card-tint, var(--ist-surface-soft));
}

.ist-service-card .btn {
	color: var(--card-accent, var(--ist-accent)) !important;
	border-color: var(--card-accent, var(--ist-accent)) !important;
}

.ist-service-card .btn:hover,
.ist-service-card .btn:focus-visible {
	background: var(--card-accent, var(--ist-accent)) !important;
	color: #ffffff !important;
}

html[data-theme="dark"] .ist-service-card {
	--card-tint: color-mix(in srgb, var(--card-accent) 22%, var(--ist-surface));
}

/* Sicherheitsbegrenzung: Startseitenkarten duerfen nur auf der Startseite erscheinen. */
body:not(.home) .ist-services-section,
body:not(.home) .ist-service-grid,
body:not(.home) .ist-service-card {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.home .ist-services-section,
body.home .ist-service-grid {
	position: relative !important;
	z-index: auto !important;
	isolation: isolate;
}

body.home .ist-service-card {
	position: relative !important;
	inset: auto !important;
	z-index: auto !important;
}
