/* ==========================================================================
   FHG Text Block – v1.2.0
   Textblock mit Ueberschrift, Fliesstext und optionalem CTA-Button
   ========================================================================== */

.fhg-textblock__content {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 50px;
	max-width: 903px;
}

/* ---- Ueberschrift (H3 / SangBleu Kingdom Medium) ---- */

.fhg-textblock__heading {
	font-family: 'SangBleu Kingdom', 'Georgia', serif;
	font-weight: 500;
	font-style: normal;
	font-size: 60px;
	line-height: 60px;
	letter-spacing: -0.03em;
	color: #0D2102;
	margin: 0;
	padding: 0;
}

.fhg-textblock__heading em,
.fhg-textblock__heading i {
	font-style: italic;
}

/* ---- Fliesstext (SangBleu Kingdom Regular) ---- */

.fhg-textblock__body {
	font-family: 'SangBleu Kingdom', 'Georgia', serif;
	font-weight: 400;
	font-style: normal;
	font-size: 45px;
	line-height: 50px;
	letter-spacing: -0.01em;
	color: #0D2102;
}

.fhg-textblock__body p {
	font-family: inherit;
	font-weight: inherit;
	font-style: inherit;
	font-size: inherit;
	line-height: inherit;
	letter-spacing: inherit;
	color: inherit;
	margin: 0 0 10px;
	padding: 0;
}

.fhg-textblock__body p:last-child {
	margin-bottom: 0;
}

.fhg-textblock__body em,
.fhg-textblock__body i {
	font-style: italic;
}

.fhg-textblock__body a {
	color: inherit;
	text-decoration: underline;
	text-underline-offset: 3px;
	transition: opacity 0.2s ease;
}

.fhg-textblock__body a:hover {
	opacity: 0.6;
}

/* ---- Button (Pill / Poppins Medium) ---- */

.fhg-textblock__button {
	display: inline-flex;
	align-items: center;
	gap: 15px;
	background-color: #F4EE8F;
	color: #0D2102;
	border: none;
	border-radius: 80px;
	padding: 17px 25px 18px;
	cursor: pointer;
	text-decoration: none;
	transition: background-color 0.3s ease;
}

.fhg-textblock__button:hover {
	background-color: #0D2102;
	color: #F4EE8F;
	text-decoration: none;
}

.fhg-textblock__button-text {
	font-family: 'Poppins', sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 24px;
	line-height: 30px;
	letter-spacing: -0.03em;
	white-space: nowrap;
}

.fhg-textblock__button-arrow {
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.fhg-textblock__button-arrow svg {
	width: 35px;
	height: 25px;
}

/* ==========================================================================
   Tablet (768px – 1024px)
   ========================================================================== */

@media (min-width: 768px) and (max-width: 1024px) {
	.fhg-textblock__heading {
		font-size: 50px;
		line-height: 50px;
		letter-spacing: -0.02em;
	}

	.fhg-textblock__body,
	.fhg-textblock__body p {
		font-size: 38px;
		line-height: 44px;
	}

	.fhg-textblock__content {
		gap: 40px;
	}

	.fhg-textblock__button-text {
		font-size: 22px;
		line-height: 28px;
	}
}

/* ==========================================================================
   Mobile (max 767px)
   ========================================================================== */

@media (max-width: 767px) {
	.fhg-textblock__heading {
		font-size: 42px;
		line-height: 42px;
		letter-spacing: -0.02em;
	}

	.fhg-textblock__body,
	.fhg-textblock__body p {
		font-size: 33px;
		line-height: 38px;
	}

	.fhg-textblock__content {
		gap: 30px;
		max-width: 100%;
	}

	.fhg-textblock__button {
		max-width: 350px;
		width: 100%;
		justify-content: center;
		padding: 15px 16px;
		gap: 5px;
		border-radius: 65px;
	}

	.fhg-textblock__button-text {
		font-size: 20px;
		line-height: 25px;
	}

	.fhg-textblock__button-arrow svg {
		width: 25px;
		height: 18px;
	}
}
