/* Startseite – Hero, Sortiment, Produkt-Slider, Vertrauensbereich.
   Vorlage: Design 1 (Figma 158:628 „Starteseite Re-Design – 1").
   Mobile zuerst: rund 80 % der Bestellungen kommen über das Handy. */

.home {
	padding-bottom: var(--ffg-space-16);
}

/* ── Hero ────────────────────────────────────────────────────────────────── */

.hero {
	display: grid;
	gap: var(--ffg-space-6);
	padding-block: var(--ffg-space-8);
}

.hero__lead {
	max-width: 32rem;
	margin-top: var(--ffg-space-4);
	font-size: var(--ffg-size-lg);
	line-height: var(--ffg-lh-relaxed);
}

.hero__actions {
	display: flex;
	gap: var(--ffg-space-3);
	flex-wrap: wrap;
	margin-top: var(--ffg-space-6);
}

.hero__media {
	position: relative;
	overflow: hidden;
	border-radius: var(--ffg-radius-card);
}

.hero__media img {
	width: 100%;
	height: 100%;
	min-height: 16rem;
	object-fit: cover;
}

.hero__checks {
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	gap: var(--ffg-space-2) var(--ffg-space-4);
	flex-wrap: wrap;
	padding: var(--ffg-space-3) var(--ffg-space-4);
	background: rgb(61 50 47 / 92%);
	color: var(--ffg-white);
	font-size: var(--ffg-size-sm);
}

@media (min-width: 48rem) {
	.hero__checks {
		gap: var(--ffg-space-4);
		font-size: var(--ffg-size-base);
	}
}

.hero__checks li {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}

.hero__checks li::before {
	content: "✓";
	color: var(--ffg-green);
	font-weight: 700;
}

@media (min-width: 62rem) {
	.hero {
		grid-template-columns: 1fr 1fr;
		gap: var(--ffg-space-12);
		align-items: center;
		min-height: 35rem;
	}

	.hero__media {
		height: 100%;
	}
}

/* ── Abschnitts-Überschriften ───────────────────────────────────────────── */

.section {
	margin-top: var(--ffg-space-16);
}

/* ── Sortiment-Kacheln ──────────────────────────────────────────────────── */

.sortiment {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 10.5rem;
	gap: var(--ffg-space-3);
	overflow-x: auto;
	padding-bottom: var(--ffg-space-2);
	scrollbar-width: none;
}

.sortiment::-webkit-scrollbar {
	display: none;
}

.sortiment a {
	display: flex;
	flex-direction: column;
	gap: var(--ffg-space-2);
	padding: var(--ffg-space-5);
	border-radius: var(--ffg-radius-card);
	background: var(--ffg-white);
	box-shadow: var(--ffg-shadow);
	text-decoration: none;
	transition: box-shadow 0.15s ease, transform 0.15s ease;
}

.sortiment a:hover {
	box-shadow: var(--ffg-shadow-lift);
	transform: translateY(-0.125rem);
}

.sortiment strong {
	color: var(--ffg-charcoal);
	font-size: var(--ffg-size-md);
	font-weight: 700;
}

.sortiment span {
	color: var(--ffg-text);
	font-size: var(--ffg-size-sm);
	line-height: var(--ffg-lh-base);
}

@media (min-width: 62rem) {
	.sortiment {
		grid-auto-flow: row;
		grid-template-columns: repeat(5, 1fr);
		grid-auto-columns: unset;
		overflow: visible;
	}
}

/* ── Bestell-Flexibilität ───────────────────────────────────────────────── */

/* Versandtage, Kühlkette und Abholung standen live verstreut – hier als
   eine Zeile, die die Bestellung erklärt. */

.flexible {
	padding: var(--ffg-space-2);
	border-radius: var(--ffg-radius-card);
	background: var(--ffg-white);
	box-shadow: var(--ffg-shadow);
}

.flexible__item {
	display: flex;
	flex-direction: column;
	gap: var(--ffg-space-2);
	padding: var(--ffg-space-5);
}

.flexible__item + .flexible__item {
	border-top: 0.0625rem solid var(--ffg-border-strong);
}

.flexible__item strong {
	color: var(--ffg-charcoal);
	font-size: var(--ffg-size-md);
}

.flexible__item p {
	margin: 0;
	font-size: var(--ffg-size-base);
}

@media (min-width: 62rem) {
	.flexible {
		display: grid;
		grid-template-columns: repeat(5, 1fr);
	}

	.flexible__item + .flexible__item {
		border-top: 0;
		border-left: 0.0625rem solid var(--ffg-border-strong);
	}
}

/* ── Warum Futter Fundgrube ─────────────────────────────────────────────── */

.why {
	display: grid;
	gap: var(--ffg-space-3);
}

.why__card {
	padding: var(--ffg-space-5);
	border-radius: var(--ffg-radius-card);
	background: var(--ffg-white);
	box-shadow: var(--ffg-shadow);
}

.why__card h3 {
	font-size: var(--ffg-size-md);
}

.why__card p {
	margin: var(--ffg-space-2) 0 0;
	font-size: var(--ffg-size-base);
}

@media (min-width: 48rem) {
	.why {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (min-width: 62rem) {
	.why {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ── Neu beim Barfen ────────────────────────────────────────────────────── */

.barfen {
	display: grid;
	gap: var(--ffg-space-3);
}

.barfen__card {
	display: flex;
	flex-direction: column;
	padding: var(--ffg-space-5);
	border-radius: var(--ffg-radius-card);
	background: var(--ffg-white);
	box-shadow: var(--ffg-shadow);
}

.barfen__card h3 {
	font-size: var(--ffg-size-md);
}

.barfen__card p {
	margin: var(--ffg-space-2) 0;
	font-size: var(--ffg-size-base);
}

.barfen__card .btn {
	margin-top: auto;
	align-self: flex-start;
}

@media (min-width: 62rem) {
	.barfen {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* ── Kundenstimmen ──────────────────────────────────────────────────────── */

.quotes {
	display: grid;
	gap: var(--ffg-space-3);
}

.quotes__card {
	padding: var(--ffg-space-5);
	border-radius: var(--ffg-radius-card);
	background: var(--ffg-white);
	box-shadow: var(--ffg-shadow);
}

.quotes__text {
	color: var(--ffg-charcoal);
	font-size: var(--ffg-size-md);
	line-height: var(--ffg-lh-relaxed);
}

.quotes__meta {
	margin: var(--ffg-space-4) 0 0;
	font-size: var(--ffg-size-sm);
}

.quotes__meta strong {
	display: block;
	color: var(--ffg-charcoal);
	font-size: var(--ffg-size-base);
}

@media (min-width: 62rem) {
	.quotes {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ── Bonusprogramm ──────────────────────────────────────────────────────── */

/* Sammelpunkte standen live nur in der Notification-Bar – hier als eigener
   Abschlussblock. Foto: Platzhalter, bis die Shots aus dem Shooting da sind. */

.bonus {
	overflow: hidden;
	border-radius: var(--ffg-radius-card);
	background: var(--ffg-white);
	box-shadow: var(--ffg-shadow);
}

.bonus img {
	width: 100%;
	height: 100%;
	min-height: 14rem;
	object-fit: cover;
}

.bonus__body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	gap: var(--ffg-space-3);
	padding: var(--ffg-space-6) var(--ffg-space-5);
}

.bonus__body p {
	margin: 0;
	max-width: 28rem;
}

@media (min-width: 62rem) {
	.bonus {
		display: grid;
		grid-template-columns: 1fr 1.4fr;
		min-height: 24rem;
	}
}

/* ── FAQ-Akkordeon ──────────────────────────────────────────────────────── */

/* Der SEO-Text der Live-Seite verschwindet nicht, sondern klappt an Ort und
   Stelle auf – denselben Mechanismus wie die Produktdetailseite nutzt. */

.faq {
	display: grid;
	gap: var(--ffg-space-3);
}

.faq__item {
	overflow: hidden;
	border-radius: var(--ffg-radius-card);
	background: var(--ffg-white);
	box-shadow: var(--ffg-shadow);
}

.faq__head {
	display: flex;
	gap: var(--ffg-space-3);
	align-items: center;
	justify-content: space-between;
	width: 100%;
	min-height: 3.5rem;
	padding: var(--ffg-space-4);
	color: var(--ffg-charcoal);
	font-size: var(--ffg-size-md);
	font-weight: 700;
	text-align: left;
}

.faq__head::after {
	content: "";
	flex: 0 0 0.75rem;
	width: 0.75rem;
	height: 0.75rem;
	border-right: 0.125rem solid var(--ffg-brown-logo);
	border-bottom: 0.125rem solid var(--ffg-brown-logo);
	transform: rotate(45deg) translate(-0.125rem, -0.125rem);
	transition: transform 0.2s ease;
}

.faq__head[aria-expanded="true"]::after {
	transform: rotate(-135deg) translate(-0.125rem, -0.125rem);
}

.faq__panel {
	display: grid;
	grid-template-rows: 0fr;
	transition: grid-template-rows 0.25s ease;
}

.faq__panel[data-open="true"] {
	grid-template-rows: 1fr;
}

.faq__inner {
	overflow: hidden;
}

.faq__body {
	padding: var(--ffg-space-4);
	border-top: 0.0625rem solid var(--ffg-border);
	font-size: var(--ffg-size-base);
}
