/* Block Style "card" auf core/group — registriert via register_block_style() */
.is-style-card, .is-style-infobox {
	box-shadow: var(--wp--preset--shadow--soft);
	background-color: var(--wp--preset--color--base);
	border-radius: 0 0 1em 0.2em;
}

.is-style-card {
	padding: var(--wp--preset--spacing--50);
}

.is-style-card .card-image-wrapper {
	position: relative;
	line-height: 0;
	margin: 0 calc(-1 * var(--wp--preset--spacing--50));
	margin-top: 0;
	margin-bottom: 0;
}

.is-style-card .card-image-wrapper .wp-block-post-featured-image img {
	display: block;
	width: 100%;
	object-fit: cover;
}

.is-style-card .card-category {
	position: absolute;
	bottom: 0;
	left: 0;
	margin: 0;
}

.is-style-card .card-category a {
	color: var(--wp--preset--color--base);
	text-decoration: none;
}

.is-style-card .card-content {
	flex: 1;
}

@media (max-width: 600px) {
	.is-style-card {
		padding-left: var(--wp--preset--spacing--30);
		padding-right: var(--wp--preset--spacing--30);
	}

	.is-style-card .card-image-wrapper {
		margin-left: calc(-1 * var(--wp--preset--spacing--30));
		margin-right: calc(-1 * var(--wp--preset--spacing--30));
	}

	.is-style-card .card-content {
		padding: 0.5rem !important;
		gap: 0.2rem !important;
	}
}

/* Typography: theme.json-Werte erzwingen, damit Block-Editor-Inline-Styles nicht gewinnen */
.is-style-card h2,
.is-style-infobox h2 {
	font-size: var(--wp--preset--font-size--x-large) !important;
	font-weight: var(--wp--custom--font-weight--bold) !important;
	line-height: var(--wp--custom--line-height--tight) !important;
	text-transform: uppercase !important;
	letter-spacing: 0.01em !important;
}

.is-style-card h3,
.is-style-card .wp-block-post-title,
.is-style-infobox h3,
.is-style-infobox .wp-block-post-title {
	color: var(--wp--preset--color--primary);
	font-size: var(--wp--preset--font-size--large) !important;
	font-weight: var(--wp--custom--font-weight--semibold) !important;
	line-height: var(--wp--custom--line-height--tight) !important;
}

.is-style-card h4,
.is-style-infobox h4 {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: var(--wp--custom--font-weight--semibold) !important;
}

.is-style-card h5,
.is-style-infobox h5 {
	font-size: var(--wp--preset--font-size--medium) !important;
	font-weight: var(--wp--custom--font-weight--medium) !important;
}

.is-style-card h6,
.is-style-infobox h6 {
	font-size: var(--wp--preset--font-size--small) !important;
	font-weight: var(--wp--custom--font-weight--medium) !important;
}

.is-style-card h3 a,
.is-style-card .wp-block-post-title a,
.is-style-infobox h3 a,
.is-style-infobox .wp-block-post-title a {
	color: var(--wp--preset--color--primary);
	text-decoration: none;
}

.is-style-card h3 a:hover,
.is-style-card .wp-block-post-title a:hover,
.is-style-infobox h3 a:hover,
.is-style-infobox .wp-block-post-title a:hover {
	color: var(--wp--preset--color--accent-1);
}

.is-style-card .card-read-more a {
	text-decoration: none;
	letter-spacing: 0.05em;
}

.is-style-card .card-read-more a:hover {
	color: var(--wp--preset--color--tertiary);
}

/* --------------------------------------------------
   Block Style "infobox" auf core/group
   Rundes Bild ragt oben-rechts aus der Box heraus.
   -------------------------------------------------- */
.wp-block-group.is-style-infobox {
	position: relative;
	overflow: visible;
	background-color: var(--wp--preset--color--base);
	box-shadow: var(--wp--preset--shadow--soft);
	padding: var(--wp--preset--spacing--50);
}

/* Bild: absolut positioniert, ragt 2rem über die Oberkante heraus */
.wp-block-group.is-style-infobox .infobox-image {
	position: absolute;
	top: -2rem;
	right: var(--wp--preset--spacing--40);
	width: 6rem;
	height: 6rem;
	margin: 0;
	line-height: 0;
}

/* Link-Wrapper im Featured Image darf keine Extra-Höhe erzeugen */
.wp-block-group.is-style-infobox .infobox-image a {
	display: block;
	line-height: 0;
}

.wp-block-group.is-style-infobox .infobox-image img {
	border-radius: 50%;
	width: 6rem;
	height: 6rem;
	object-fit: cover;
	border: 2px solid var(--wp--preset--color--accent-3);
	display: block;
}
