/**
 * HIBERT RENTAL – robuste Frontend-Stile
 *
 * Das Theme kann globale Stile mit einer nicht vorhandenen "Inter"-Variable
 * ausgeben. Der System-Font-Stack verhindert in diesem Fall den Rückfall auf
 * Times New Roman. Gleichzeitig werden versehentliche weiße Hintergründe an
 * Überschriften neutralisiert.
 */
:root {
	--hibert-rental-font: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}

@font-face {
	font-family: "HIBERT Allura";
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url("fonts/allura-regular.ttf") format("truetype");
}

body,
button,
input,
select,
textarea {
	font-family: var(--hibert-rental-font) !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	background-color: transparent !important;
	font-family: var(--hibert-rental-font) !important;
}

a:where(:not(.wp-element-button)) {
	font-family: var(--hibert-rental-font) !important;
}

body.home main .wp-block-cover p.has-text-color a:not(.wp-element-button) {
	color: inherit !important;
}

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	text-rendering: optimizeLegibility;
}

/**
 * Classic 1.3: gezielte Startseiten- und Mobiloptimierung.
 * Das ursprüngliche Layout bleibt erhalten.
 */
body.home {
	overflow-x: hidden;
}

body.home .hibert-script-slogan,
.editor-styles-wrapper .hibert-script-slogan {
	max-width: 900px;
	margin-top: 0;
	font-family: "HIBERT Allura", "Segoe Script", "Brush Script MT", cursive !important;
	font-size: clamp(56px, 5.2vw, 72px) !important;
	font-style: normal !important;
	font-weight: 400 !important;
	letter-spacing: 0.01em;
	text-wrap: balance;
}

body.home .hibert-home-hero h1 {
	max-width: 900px;
	font-size: clamp(52px, 4.2vw, 62px) !important;
	text-wrap: balance;
}

body.home .hibert-hero-description {
	max-width: 830px;
}

body.home .hibert-category-card p,
body.home .hibert-benefit-grid p {
	font-size: 16px !important;
}

body.home .wp-element-button {
	display: inline-flex;
	min-height: 50px;
	align-items: center;
	justify-content: center;
	font-size: 16px !important;
}

/* Entfernt den ungewollten weißen Abstand vor dem Footer. */
body.home main,
body.home .wp-block-post-content,
body.home .hibert-final-cta {
	margin-bottom: 0 !important;
	padding-bottom: 0;
}

body.home .wp-site-blocks > footer,
body.home footer.wp-block-template-part {
	margin-top: 0 !important;
	margin-block-start: 0 !important;
}

body.home footer.wp-block-template-part > .wp-block-group:first-child {
	padding-top: 48px !important;
}

@media (max-width: 781px) {
	body.home .hibert-home-hero {
		min-height: 610px !important;
		padding: 72px 20px !important;
	}

	body.home .hibert-home-hero h1 {
		margin-bottom: 5px !important;
		font-size: clamp(39px, 11vw, 46px) !important;
		line-height: 1.08 !important;
	}

	body.home .hibert-script-slogan {
		margin-bottom: 22px !important;
		font-size: clamp(43px, 13vw, 52px) !important;
		line-height: 1 !important;
	}

	body.home .hibert-hero-description {
		font-size: 17px !important;
		line-height: 1.55 !important;
	}

	body.home .hibert-hero-meta {
		font-size: 14px !important;
		line-height: 1.55 !important;
	}

	body.home .hibert-home-hero .wp-block-buttons,
	body.home .hibert-final-cta .wp-block-buttons {
		display: grid !important;
		width: 100%;
		max-width: 440px;
		grid-template-columns: 1fr;
		gap: 12px !important;
	}

	body.home .hibert-home-hero .wp-block-button,
	body.home .hibert-final-cta .wp-block-button,
	body.home .hibert-home-hero .wp-element-button,
	body.home .hibert-final-cta .wp-element-button {
		width: 100%;
	}

	body.home .hibert-home-hero .wp-element-button,
	body.home .hibert-final-cta .wp-element-button {
		min-height: 52px;
		padding-right: 18px !important;
		padding-left: 18px !important;
	}

	body.home .hibert-trust-strip {
		padding: 22px 16px !important;
	}

	body.home .hibert-trust-strip .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10px 12px !important;
	}

	body.home .hibert-trust-strip p {
		margin: 0;
		font-size: 14px !important;
		line-height: 1.4;
	}

	body.home .hibert-sortiment-section,
	body.home .hibert-feature-band,
	body.home .hibert-benefit-section,
	body.home .hibert-steps-section,
	body.home .hibert-about-section {
		padding: 64px 20px !important;
	}

	body.home .hibert-sortiment-section > h2,
	body.home .hibert-benefit-section > h2,
	body.home .hibert-steps-section > h2,
	body.home .hibert-about-section h2,
	body.home .hibert-feature-band h2 {
		font-size: clamp(31px, 8.6vw, 36px) !important;
		line-height: 1.18 !important;
	}

	body.home .hibert-sortiment-section > p:not(:first-child) {
		margin-bottom: 34px !important;
		font-size: 17px !important;
		line-height: 1.6 !important;
	}

	body.home .hibert-sortiment-section .wp-block-columns,
	body.home .hibert-benefit-grid,
	body.home .hibert-steps-grid,
	body.home .hibert-feature-band .wp-block-columns,
	body.home .hibert-about-section .wp-block-columns {
		gap: 20px !important;
	}

	body.home .hibert-category-card {
		min-height: 320px !important;
		padding: 24px !important;
	}

	body.home .hibert-category-card h3 {
		font-size: 25px !important;
		line-height: 1.18 !important;
	}

	body.home .hibert-category-card p {
		font-size: 16px !important;
		line-height: 1.5 !important;
	}

	body.home .hibert-feature-band .wp-block-columns,
	body.home .hibert-about-section .wp-block-columns {
		gap: 34px !important;
	}

	body.home .hibert-feature-band img {
		border-radius: 12px !important;
	}

	body.home .hibert-benefit-grid {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 14px !important;
	}

	body.home .hibert-benefit-grid > .wp-block-column > .wp-block-group {
		height: 100%;
		padding: 26px 22px !important;
	}

	body.home .hibert-steps-grid {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 40px !important;
	}

	body.home .hibert-steps-grid p:last-child {
		font-size: 16px !important;
	}

	body.home .hibert-about-section .wp-block-column {
		flex-basis: 100% !important;
	}

	body.home .hibert-final-cta {
		min-height: 460px !important;
		padding: 62px 20px !important;
	}

	body.home .hibert-final-cta h2 {
		font-size: clamp(34px, 9.5vw, 40px) !important;
		line-height: 1.16 !important;
	}

	body.home .hibert-final-cta p {
		font-size: 17px !important;
	}

	body.home footer.wp-block-template-part > .wp-block-group:first-child {
		padding-top: 34px !important;
	}
}

@media (max-width: 380px) {
	body.home .hibert-trust-strip .wp-block-columns {
		grid-template-columns: 1fr;
	}

	body.home .hibert-home-hero h1 {
		font-size: 38px !important;
	}

	body.home .hibert-script-slogan {
		font-size: 41px !important;
	}
}
