/*
Theme Name: FINDYOURSTYLE
Description: Editorial-Theme für den FINDYOURSTYLE-Shop. Stille Eleganz, viel Weißraum, keine Emojis. Farben und Schriften liegen in theme.json und sind im Website-Editor ohne Code änderbar.
Version: 1.0
Requires at least: 6.5
Tested up to: 6.7
Requires PHP: 8.1
Text Domain: findyourstyle
*/

/* ==========================================================================
   Grundhaltung
   Das meiste steckt in theme.json — hier steht nur, was dort nicht hingehört:
   Bewegung, Detail-Feinschliff und die eigenen Bausteine des Shops.
   ========================================================================== */

/* Ruhe zuerst: wer Bewegung im Betriebssystem abgeschaltet hat, bekommt keine. */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
		scroll-behavior: auto !important;
	}
}

html { scroll-behavior: smooth; }

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

/* Tastatur-Bedienung sichtbar lassen — ohne das ist die Seite für manche
   Menschen unbenutzbar, und es ist rechtlich zunehmend relevant. */
:is(a, button, input, select, textarea, [tabindex]):focus-visible,
.wc-block-grid__product-image a:focus-visible,
ul.products li.product a:focus-visible {
	outline: 2px solid var(--wp--preset--color--bronze);
	outline-offset: 3px;
}

/* ==========================================================================
   Bildwelt — warm, entsättigt, feines Korn (Bauplan G)
   ========================================================================== */

.wp-block-post-featured-image img,
.woocommerce-product-gallery img {
	filter: saturate(0.88) contrast(1.02);
	transition: transform var(--wp--custom--uebergang),
	            filter    var(--wp--custom--uebergang);
}

.wp-block-post-featured-image:hover img {
	transform: scale(1.018);
	filter: saturate(0.94) contrast(1.03);
}

/* ==========================================================================
   Navigation — Glas, aber sparsam (Bauplan G: nur als Akzent)
   ========================================================================== */


/* Wappen + Wortmarke im Kopf. Das Wappen ist hoeher als breit (1077x1208),
   deshalb wird die HOEHE gesetzt, nicht die Breite — sonst springt die
   Kopfzeile je nach Bildschirm. */
.fys-marke { align-items: center; }
.fys-wappen img {
	display: block;
	width: auto;
	height: 60px;
	max-width: none;
}
.fys-wappen--fuss img { height: 104px; }
@media (max-width: 600px) {
	.fys-wappen img { height: 46px; }
	.fys-wappen--fuss img { height: 88px; }
}

/* Ankündigungsleiste ganz oben (Bauplan B1) */
.fys-ankuendigung {
	background: var(--wp--preset--color--tinte);
	color: var(--wp--preset--color--creme);
	font-size: var(--wp--preset--font-size--klein);
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
	padding: 0.7rem 1rem;
}
.fys-ankuendigung a { color: var(--wp--preset--color--creme); text-decoration: underline; text-underline-offset: 3px; }

/* ==========================================================================
   Die drei eigenen Bausteine des Shops
   ========================================================================== */

/* --- 1. Der Krypto-Hinweis (Bauplan B3, B4) ------------------------------ */
.fys-krypto-hinweis {
	display: inline-flex;
	align-items: baseline;
	gap: 0.45rem;
	flex-wrap: wrap;
	margin: 0.6rem 0 1.2rem;
	padding: 0.55rem 0.95rem;
	border: 1px solid var(--wp--preset--color--bronze);
	color: var(--wp--preset--color--graphit);
	font-size: var(--wp--preset--font-size--klein);
	letter-spacing: 0.03em;
}
.fys-krypto-hinweis strong { color: var(--wp--preset--color--bronze-text); font-weight: 700; }
.fys-krypto-hinweis span   { color: var(--wp--preset--color--taupe); }
.fys-krypto-hinweis--korb  { display: flex; justify-content: center; margin-bottom: 1.5rem; }

/* --- 2. Die zwei Bestellwege im Warenkorb (Bauplan B4) -------------------
   "Prominent und gleichwertig sichtbar" — deshalb gleiche Breite, gleiche
   Höhe, nur die Farbe unterscheidet. Krypto führt, WhatsApp steht daneben,
   nicht darunter versteckt. */
.wc-proceed-to-checkout {
	display: grid;
	gap: 0.75rem;
}
.wc-proceed-to-checkout .checkout-button,
.wc-proceed-to-checkout .fys-knopf-whatsapp {
	width: 100%;
	text-align: center;
	margin: 0;
	padding: 1.15rem 2rem;
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	border-radius: 0;
	transition: background-color var(--wp--custom--uebergang),
	            color            var(--wp--custom--uebergang);
}
.wc-proceed-to-checkout .checkout-button {
	background: var(--wp--preset--color--tinte);
	color: var(--wp--preset--color--creme);
}
.wc-proceed-to-checkout .checkout-button:hover {
	background: var(--wp--preset--color--bronze);
}
.fys-knopf-whatsapp {
	background: transparent;
	color: var(--wp--preset--color--tinte);
	border: 1px solid var(--wp--preset--color--tinte);
}
.fys-knopf-whatsapp:hover {
	background: var(--wp--preset--color--tinte);
	color: var(--wp--preset--color--creme);
}
.fys-knopf-hinweis {
	margin: 0.1rem 0 0;
	text-align: center;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--taupe);
}
.fys-hinweis-admin {
	padding: 0.8rem 1rem;
	border: 1px dashed var(--wp--preset--color--bronze);
	font-size: var(--wp--preset--font-size--klein);
	color: var(--wp--preset--color--graphit);
}

/* --- 3. Verfügbarkeit, ehrlich (Bauplan B3) ------------------------------ */
.fys-bestand {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: var(--wp--preset--font-size--klein);
	color: var(--wp--preset--color--taupe);
	letter-spacing: 0.04em;
}
.fys-bestand::before {
	content: "";
	width: 6px; height: 6px;
	border-radius: 50%;
	background: currentColor;
}
.fys-bestand--da     { color: #5C7355; }
.fys-bestand--knapp  { color: var(--wp--preset--color--bronze); }
.fys-bestand--weg    { color: var(--wp--preset--color--taupe); }

/* ==========================================================================
   Produktraster — viel Luft, keine Kacheloptik
   ========================================================================== */

ul.products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	list-style: none;
	margin: 0;
	padding: 0;
}
ul.products li.product { margin: 0; text-align: left; }
ul.products li.product img { width: 100%; height: auto; display: block; margin-bottom: 1rem; }
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--gross);
	font-weight: 400;
	margin: 0 0 0.35rem;
}
ul.products li.product .price {
	color: var(--wp--preset--color--graphit);
	font-size: var(--wp--preset--font-size--normal);
}
ul.products li.product del { color: var(--wp--preset--color--taupe); margin-right: 0.5rem; }

/* ==========================================================================
   Produktseite
   ========================================================================== */

/* Die Block-Vorlage „Einzelnes Produkt" bringt ihre Spalten selbst mit (wp-block-columns). Die alte
   Grid-Regel auf .product traf WooCommerces Huell-Gruppe und quetschte am Desktop die ganze Seite in
   eine 38-px-Spalte (Titel buchstabenweise). Also: nur Feinschliff an den echten Spalten. */
.single-product .wp-block-columns { align-items: flex-start; }
@media (min-width: 900px) {
	.single-product .wp-block-columns > .wp-block-column:last-child { position: sticky; top: calc(var(--fys-kopf-h, 64px) + 1.5rem); }
}

/* Material & Pflege ist Pflichtangabe — also sichtbar, nicht in einem
   zugeklappten Reiter am Seitenende versteckt. (Bauplan B3, H) */
.fys-material {
	margin-top: var(--wp--preset--spacing--30);
	padding-top: var(--wp--preset--spacing--20);
	border-top: var(--wp--custom--kante);
	font-size: var(--wp--preset--font-size--klein);
	color: var(--wp--preset--color--graphit);
}
.fys-material dt {
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
	font-size: 0.75rem;
	margin-top: 0.9rem;
}
.fys-material dd { margin: 0.25rem 0 0; }

/* Varianten: Größe und Farbe als Felder, nicht als Auswahlliste */
.fys-variante-gruppe { display: flex; flex-wrap: wrap; gap: 0.5rem; margin: 0.5rem 0 1.25rem; }
.fys-variante {
	min-width: 3.25rem;
	padding: 0.6rem 0.9rem;
	border: 1px solid var(--wp--preset--color--linie);
	background: transparent;
	font-size: var(--wp--preset--font-size--klein);
	letter-spacing: 0.06em;
	cursor: pointer;
	transition: border-color var(--wp--custom--uebergang), color var(--wp--custom--uebergang);
}
.fys-variante:hover      { border-color: var(--wp--preset--color--taupe); }
.fys-variante[aria-pressed="true"] {
	border-color: var(--wp--preset--color--tinte);
	background: var(--wp--preset--color--tinte);
	color: var(--wp--preset--color--creme);
}
.fys-variante:disabled {
	color: var(--wp--preset--color--taupe);
	border-style: dashed;
	cursor: not-allowed;
	text-decoration: line-through;
}


.fys-kreis {
	background: var(--wp--preset--color--sand);
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30);
	text-align: center;
}
.fys-kreis h2 { margin-bottom: 0.75rem; }
.fys-kreis p  { max-width: 46ch; margin-inline: auto; color: var(--wp--preset--color--graphit); }
.fys-kreis form {
	display: flex;
	gap: 0.5rem;
	max-width: 30rem;
	margin: var(--wp--preset--spacing--30) auto 0;
	flex-wrap: wrap;
}
.fys-kreis input[type="email"],
.fys-kreis input[type="tel"] {
	flex: 1 1 14rem;
	padding: 1.05rem 1.1rem;
	border: 1px solid var(--wp--preset--color--taupe);
	background: transparent;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--normal);
}
.fys-kreis input[type="email"]::placeholder,
.fys-kreis input[type="tel"]::placeholder { color: var(--wp--preset--color--taupe); }

/* Dasselbe Formular als Baustein auf der eigenen Kreis-Seite */
.fys-kreis-form {
	display: flex;
	gap: 0.5rem;
	max-width: 30rem;
	margin: var(--wp--preset--spacing--30) 0;
	flex-wrap: wrap;
	position: relative;
}
.fys-kreis-form input[type="email"],
.fys-kreis-form input[type="tel"] {
	flex: 1 1 14rem;
	padding: 1.05rem 1.1rem;
	border: 1px solid var(--wp--preset--color--taupe);
	background: transparent;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--normal);
}
.fys-kreis .fys-kreis-form { margin-inline: auto; }
.fys-kreis-einwilligung {
	flex: 1 1 100%;
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	margin-top: 0.6rem;
	font-size: 0.8125rem;
	line-height: 1.5;
	color: var(--wp--preset--color--graphit);
	text-align: left;
	cursor: pointer;
}
.fys-kreis-einwilligung input { margin-top: 0.25rem; accent-color: var(--wp--preset--color--bronze); }

.fys-kreis-danke {
	max-width: 30rem;
	margin: var(--wp--preset--spacing--30) auto;
	padding: var(--wp--preset--spacing--30);
	border: 1px solid var(--wp--preset--color--bronze);
	text-align: center;
}
.fys-kreis-danke p { margin: 0 0 0.4rem; }
.fys-kreis-fehler {
	font-size: var(--wp--preset--font-size--klein);
	color: var(--wp--preset--color--bronze-text);
}

/* Sendungsverfolgung: seit Welle 15 ganz unten (Formular, Stand-Karte, Fortschritt, Verlauf) */

/* ==========================================================================
   Tabellen (Größentabelle, Versand)
   ========================================================================== */

.fys-tabelle table { width: 100%; border-collapse: collapse; }
.fys-tabelle th,
.fys-tabelle td {
	padding: 0.85rem 0.75rem;
	text-align: left;
	border-bottom: var(--wp--custom--kante);
}
.fys-tabelle th {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
}
.fys-tabelle td:first-child { font-weight: 700; }

/* ==========================================================================
   Fuß
   ========================================================================== */

.fys-fuss {
	background: var(--wp--preset--color--tinte);
	color: var(--wp--preset--color--sand);
	padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}
.fys-fuss a { color: var(--wp--preset--color--sand); }
.fys-fuss a:hover { color: var(--wp--preset--color--bronze); }
.fys-fuss h4 { color: var(--wp--preset--color--taupe); }

/* Rechts-Links müssen leicht auffindbar sein (Bauplan B7) — also normal
   lesbar, nicht 10px grau auf grau wie bei den meisten Shops. */
.fys-fuss-recht {
	display: flex;
	flex-wrap: wrap;
	gap: 0.4rem 1.5rem;
	list-style: none;
	margin: var(--wp--preset--spacing--30) 0 0;
	padding: var(--wp--preset--spacing--20) 0 0;
	border-top: 1px solid var(--wp--preset--color--graphit);
	font-size: var(--wp--preset--font-size--klein);
}

/* ==========================================================================
   Druck — für die Rechnung
   ========================================================================== */
@media print {
	.fys-kopf, .fys-fuss, .fys-ankuendigung, .wc-proceed-to-checkout { display: none; }
	body { background: #fff; color: #000; }
}

/* ==========================================================================
   Bewertungen mit Fotos
   ========================================================================== */

.fys-bewertung-bilder {
	display: flex;
	flex-wrap: wrap;
	gap: 0.6rem;
	margin: 0.9rem 0 0.4rem;
}
.fys-bewertung-bilder a {
	display: block;
	width: 104px;
	height: 104px;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--linie);
}
.fys-bewertung-bilder img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform var(--wp--custom--uebergang);
}
.fys-bewertung-bilder a:hover img { transform: scale(1.06); }

/* Woher die Bewertung kam — leise, aber lesbar. Verstecken wäre Irreführung. */
.fys-bewertung-herkunft {
	margin: 0.5rem 0 0;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--taupe);
	font-style: italic;
}

/* Die Pflichtangabe, wie Bewertungen geprüft werden (§ 5b Abs. 3 UWG).
   Gehört sichtbar dorthin, wo die Bewertungen stehen. */
.fys-bewertung-pruefhinweis {
	margin: var(--wp--preset--spacing--20) 0 var(--wp--preset--spacing--30);
	padding: 0.9rem 1.1rem;
	background: var(--wp--preset--color--sand);
	border-left: 2px solid var(--wp--preset--color--bronze);
	font-size: var(--wp--preset--font-size--klein);
	color: var(--wp--preset--color--graphit);
	line-height: 1.6;
}

/* Verifizierter Kauf */
.woocommerce-review__verified {
	display: inline-block;
	margin-left: 0.5rem;
	padding: 0.15rem 0.5rem;
	border: 1px solid var(--wp--preset--color--bronze);
	color: var(--wp--preset--color--bronze);
	font-size: 0.6875rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* Das Datei-Feld im Bewertungsformular */
.comment-form-fys-bilder { margin: 1rem 0; }
.comment-form-fys-bilder label {
	display: block;
	margin-bottom: 0.35rem;
	font-size: var(--wp--preset--font-size--klein);
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
}
.comment-form-fys-bilder input[type="file"] {
	display: block;
	padding: 0.75rem;
	border: 1px dashed var(--wp--preset--color--taupe);
	background: transparent;
	width: 100%;
	max-width: 30rem;
	font-size: var(--wp--preset--font-size--klein);
}
.fys-feldhinweis {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.8125rem;
	color: var(--wp--preset--color--taupe);
}

/* ==========================================================================
   HANDY ZUERST — Welle 3
   Der Großteil der Käufe passiert am Handy (Bauplan B7). Alles hier drin
   macht die Seite auf kleinen Bildschirmen ruhiger, lesbarer, tippbarer.
   ========================================================================== */

/* Tipp-Ziele: nichts unter 44 px, kein blauer Tipp-Blitz auf iOS */
a, button, .wp-element-button, input[type="submit"] {
	-webkit-tap-highlight-color: transparent;
	touch-action: manipulation;
}
.wp-element-button, .wp-block-button__link, button[type="submit"] {
	min-height: 48px;
}

/* Eingabefelder nie unter 16 px — sonst zoomt iOS beim Antippen hinein */
input, select, textarea { font-size: max(16px, 1em); }

/* Bilder nie breiter als ihr Platz, immer weich */
img { max-width: 100%; height: auto; }

/* Tabellen auf schmalen Bildschirmen seitlich rollbar statt zerquetscht */
.fys-tabelle { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.fys-tabelle table { min-width: 28rem; }

/* Hero: Bild als Hintergrund, immer randlos */
.wp-block-cover.fys-hero { overflow: hidden; }
.wp-block-cover.fys-hero picture { display: contents; }
.wp-block-cover.fys-hero .wp-block-cover__image-background {
	position: absolute; inset: 0;
	width: 100%; height: 100%;
	object-fit: cover; object-position: center;
	z-index: 0;
}
.wp-block-cover.fys-hero .wp-block-cover__background { z-index: 1; }
.wp-block-cover.fys-hero .wp-block-cover__inner-container { z-index: 2; position: relative; }
.wp-block-cover.fys-hero h1 { text-wrap: balance; text-shadow: 0 1px 24px rgba(0,0,0,.25); }
.wp-block-cover.fys-hero p  { text-wrap: pretty; text-shadow: 0 1px 16px rgba(0,0,0,.25); }

/* Produktraster (WooCommerce-Bloecke) — wie ul.products, gleiches Bild */
.wc-block-grid__products {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr));
	gap: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30);
	list-style: none; margin: 0; padding: 0;
}
.wc-block-grid__product { margin: 0; text-align: left; border: 0; padding: 0; max-width: none; }
.wc-block-grid__product-image img { width: 100%; height: auto; display: block; margin-bottom: 1rem; aspect-ratio: 3 / 4; object-fit: cover; }
.wc-block-grid__product-title {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: var(--wp--preset--font-size--gross);
	font-weight: 400; margin: 0 0 0.35rem;
}
.wc-block-grid__product-price { color: var(--wp--preset--color--graphit); }
/* Ein Stueck = ein Klick aufs Stueck. Kein "In den Warenkorb" im Raster — ruhiger. */
.wc-block-grid__product-add-to-cart, ul.products .add_to_cart_button, ul.products .button { display: none; }
ul.products li.product img { aspect-ratio: 3 / 4; object-fit: cover; }

/* Sanftes Erscheinen beim Scrollen — nur wenn Bewegung erlaubt ist */
@media (prefers-reduced-motion: no-preference) {
	.fys-erscheint { opacity: 0; transform: translateY(14px); transition: opacity .7s ease, transform .7s ease; }
	.fys-erscheint.ist-da { opacity: 1; transform: none; }
}

/* ---- Schmale Bildschirme ---------------------------------------------- */
@media (max-width: 700px) {
	:root {
		/* Kapitel-Abstaende auf dem Handy halbieren, sonst scrollt man durch Leere */
		--wp--preset--spacing--60: 4.25rem;
		--wp--preset--spacing--50: 3rem;
		--wp--preset--spacing--40: 2rem;
	}

	.fys-ankuendigung { font-size: 0.7rem; letter-spacing: 0.06em; padding: 0.55rem 0.75rem; line-height: 1.35; }

	.fys-wappen img { height: 42px; }
	.fys-marke .wp-block-site-title { font-size: 0.8rem; letter-spacing: 0.12em; }

	.wp-block-cover.fys-hero { min-height: 72svh !important; }
	.wp-block-cover.fys-hero .wp-block-cover__inner-container { padding: 0 1.25rem; }
	.wp-block-cover.fys-hero .wp-block-buttons { margin-top: 1.75rem !important; }
	.wp-block-cover.fys-hero .wp-block-button { width: 100%; }
	.wp-block-cover.fys-hero .wp-block-button__link { width: 100%; }

	.wc-block-grid__products, ul.products {
		grid-template-columns: repeat(2, 1fr);
		gap: 1.5rem 0.9rem;
	}
	.wc-block-grid__product-title, ul.products li.product .woocommerce-loop-product__title { font-size: 1rem; }
	.wc-block-grid__product-image img, ul.products li.product img { margin-bottom: 0.6rem; }

	.fys-kreis { padding-left: 1.25rem; padding-right: 1.25rem; }
	.fys-kreis-form input[type="tel"] { flex-basis: 100%; }
	.fys-kreis-form button { width: 100%; }

	.wc-proceed-to-checkout .checkout-button, .fys-knopf-whatsapp { padding: 1rem 1.25rem; }

	.fys-fuss { padding-left: 1.25rem; padding-right: 1.25rem; }
	.fys-wappen--fuss img { height: 80px; }
}


/* ==========================================================================
   Nachbesserung nach Sichtpruefung (Welle 4)
   ========================================================================== */

/* OHNE Hero-Bild: Abdunklung voll — sonst liegt 30 % Tinte auf Creme = Grau. */
.wp-block-cover.fys-hero:not(.has-fys-bild) > .wp-block-cover__background { opacity: 1 !important; }

/* Cover-Block: nur der globale Seitenrand, nicht drei Innenabstaende uebereinander.
   Vorher 65 px je Seite auf dem Handy — die Headline brach auf vier Zeilen. */
.wp-block-cover.fys-hero { padding-left: 0 !important; padding-right: 0 !important; }
.wp-block-cover.fys-hero .wp-block-cover__inner-container { padding: 0 !important; width: 100%; }
.fys-hero-inhalt { max-width: 760px; margin: 0 auto; padding: 0 var(--wp--preset--spacing--30); }

/* Headline-Groesse am Handy so, dass "Zweite Hand." in eine Zeile passt. */
@media (max-width: 700px) {
	.wp-block-cover.fys-hero h1 { font-size: clamp(2rem, 10vw, 2.6rem) !important; line-height: 1.08; }
	.wp-block-cover.fys-hero p  { font-size: 1.05rem; }
	.fys-hero-inhalt { padding: 0 1.25rem; }
}

/* ==========================================================================
   Welle 6 — Gegenprüfung umgesetzt
   ========================================================================== */

/* Sticky-Kopf: die Vorlagen-Hülle sperrt sticky ein — Hülle auflösen */
.wp-block-template-part:has(> .fys-kopf-bereich), .fys-kopf-bereich { display: contents; }
html { scroll-padding-top: 6.5rem; }
@media (max-width: 700px) { html { scroll-padding-top: 5rem; } }

/* Kicker: kleines Versal-Label, keine Überschrift */
.fys-kicker {
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 0.8125rem; font-weight: 700;
	letter-spacing: 0.14em; text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
	margin-bottom: 0.5rem;
}
/* Hinweistexte: keine Inline-Farben mehr, eine Klasse */
.fys-hinweis { color: var(--wp--preset--color--taupe); }
.fys-fuss-satz { color: var(--wp--preset--color--linie); }
.fys-fuss h4 { color: var(--wp--preset--color--linie); opacity: .8; }

/* Untergrenzen für Kleintext */
.fys-ankuendigung { font-size: 0.75rem; line-height: 1.4; }
.fys-marke .wp-block-site-title { font-size: 0.8125rem; }
.fys-kreis-einwilligung, .fys-knopf-hinweis, .fys-masse-hinweis { font-size: 0.875rem; }

/* Fuß-Links tippbar */
.fys-liste-schlicht { list-style: none; padding: 0; margin: 0; }
.fys-liste-schlicht li a { display: inline-block; padding: 0.5rem 0; }

/* Kreis-Formular: Label sichtbar, Reihenfolge Feld → Einwilligung → Knopf */
.fys-kreis-form { display: grid; gap: 0.5rem; text-align: left; }
.fys-kreis-form > label:not(.fys-kreis-einwilligung) {
	font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
}
.fys-kreis-form input[type="tel"] { width: 100%; }
.fys-kreis-form button { width: 100%; }
@media (min-width: 701px) {
	.fys-kreis-form { grid-template-columns: 1fr auto; align-items: end; }
	.fys-kreis-form > label:not(.fys-kreis-einwilligung), .fys-kreis-form .fys-kreis-einwilligung { grid-column: 1 / -1; }
	.fys-kreis-form button { width: auto; }
}

/* Produktkarten: Zustand-Abzeichen, Marke, Verkauft */
.wc-block-grid__product, ul.products li.product { position: relative; }
.wc-block-grid__product-image, ul.products li.product > a { position: relative; display: block; }
.fys-abzeichen {
	position: absolute; top: 0.6rem; left: 0.6rem; z-index: 2;
	padding: 0.3rem 0.55rem;
	font-family: var(--wp--preset--font-family--manrope);
	font-size: 0.6875rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	background: var(--wp--preset--color--creme); color: var(--wp--preset--color--tinte);
	border: 1px solid var(--wp--preset--color--linie);
}
.fys-abzeichen--neu     { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--tinte); }
.fys-abzeichen--verkauft{ background: var(--wp--preset--color--taupe); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--taupe); }
.fys-karte--verkauft img { opacity: .55; filter: saturate(.4); }
.fys-karte-marke {
	margin: 0 0 0.2rem; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase;
	color: var(--wp--preset--color--taupe);
}
.fys-stueck-kopf { display: flex; flex-wrap: wrap; gap: 0.5rem 0.9rem; align-items: center; margin: 0.25rem 0 1rem; }
.fys-stueck-kopf .fys-abzeichen { position: static; }
.fys-stueck-marke { font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; font-size: 0.8125rem; }
.fys-stueck-etikett { font-size: 0.875rem; color: var(--wp--preset--color--taupe); }
.fys-stueck { margin-top: var(--wp--preset--spacing--30); padding-top: var(--wp--preset--spacing--20); border-top: var(--wp--custom--kante); }
.fys-stueck h4 { margin: 1.1rem 0 0.4rem; }
.fys-stueck h4 span { font-weight: 400; letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--taupe); }
.fys-masse, .fys-material { display: grid; grid-template-columns: 1fr 1fr; gap: 0.35rem 1rem; margin: 0; }
.fys-masse > div, .fys-material > div { display: flex; justify-content: space-between; gap: 1rem; padding: 0.45rem 0; border-bottom: 1px solid var(--wp--preset--color--linie); }
.fys-masse dt, .fys-material dt { color: var(--wp--preset--color--taupe); }
.fys-masse dd, .fys-material dd { margin: 0; font-variant-numeric: tabular-nums; }
.fys-material { grid-template-columns: 1fr; }
@media (max-width: 700px) { .fys-masse { grid-template-columns: 1fr; } }



/* ==========================================================================
   Welle 7 — Hotfix Menü, Überlauf-Sperre, Marken-Laufband, Suche, Kopf-Schatten
   ========================================================================== */

/* HOTFIX: display:flex hat das hidden-Attribut überstimmt -> Menü war immer offen */
.fys-menu[hidden] { display: none !important; }

/* Nie seitlich rausrutschen — auf keinem Gerät, egal was ein Block anstellt */
html, body { overflow-x: clip; overscroll-behavior-x: none; max-width: 100vw; }
.wp-site-blocks { overflow-x: clip; }

/* Kopf bekommt beim Scrollen eine feine Kante */
.fys-kopf { transition: box-shadow .3s ease; }
body.ist-gescrollt .fys-kopf { box-shadow: 0 1px 0 var(--wp--preset--color--linie), 0 8px 24px -16px rgba(27,25,23,.25); }


/* ==========================================================================
   Welle 8 — Neuer Look
   Pill-Knöpfe, Kacheln mit 24 px Radius, Kopf durchsichtig über dem Hero,
   Menü-Tafel von links, Suchleiste, dunkler Vertrauensblock, Akkordeon-Fuß.
   Bewegung kurz (0.24 s ease) und nur auf transform/opacity — wie es sich
   für einen Shop gehört, der nicht nach Effekten aussehen will.
   ========================================================================== */

:root {
	--fys-kopf-h: 64px;
	--fys-radius: 24px;
	--fys-radius-s: 14px;
	--fys-grau: #F2F1EE;
	--fys-schnell: .24s ease;
	--fys-ease: cubic-bezier(.2, .7, .2, 1);
}
@media (min-width: 701px) { :root { --fys-kopf-h: 80px; } }

/* ---- Knöpfe: Pillen, Satzschrift, halbfett ------------------------------- */
.wp-block-button__link, .wp-element-button, .fys-knopf-pill,
.fys-kreis-form button, .fys-sendung-form button,
.wc-proceed-to-checkout .checkout-button, .wc-proceed-to-checkout .fys-knopf-whatsapp,
.single_add_to_cart_button, .woocommerce button.button, .woocommerce a.button, .woocommerce input.button {
	border-radius: 999px !important;
	text-transform: none !important;
	letter-spacing: 0.01em !important;
	font-weight: 600 !important;
	font-size: 1rem !important;
	padding: 0.95rem 1.9rem !important;
	transition: transform var(--fys-schnell), background-color var(--fys-schnell), color var(--fys-schnell), box-shadow var(--fys-schnell), border-color var(--fys-schnell);
}
.wp-block-button__link:hover, .fys-knopf-pill:hover { transform: translateY(-1px); }
.wp-block-button__link:active, .fys-knopf-pill:active { transform: translateY(0) scale(.99); }
.is-style-outline .wp-block-button__link { border: 1.5px solid currentColor; background: transparent; }
.is-style-outline .wp-block-button__link:hover { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--tinte); }
.fys-knopf-pill {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px;
	background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); text-decoration: none;
}
.fys-knopf-pill--hell { background: #fff; color: var(--wp--preset--color--tinte); }

/* ---- Kopf ---------------------------------------------------------------- */
.wp-block-template-part:has(> .fys-kopf) { display: contents; }
.fys-kopf {
	position: sticky; top: 0; z-index: 100;
	height: var(--fys-kopf-h);
	display: flex; align-items: center;
	background: color-mix(in srgb, var(--wp--preset--color--creme) 90%, transparent);
	-webkit-backdrop-filter: saturate(140%) blur(14px); backdrop-filter: saturate(140%) blur(14px);
	color: var(--wp--preset--color--tinte);
	border-bottom: 1px solid var(--wp--preset--color--linie);
	transition: background-color .4s ease, color .3s ease, border-color .4s ease, box-shadow .3s ease;
}
.fys-kopf > * { width: 100%; }
body.ist-gescrollt .fys-kopf { box-shadow: 0 8px 24px -18px rgba(27,25,23,.35); }
/* Startseite: durchsichtig über dem Hero, bis gescrollt wird */
body.fys-mit-hero .fys-kopf { margin-bottom: calc(-1 * var(--fys-kopf-h)); }
body.fys-mit-hero:not(.ist-gescrollt) .fys-kopf {
	background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none;
	color: #fff; border-color: transparent; box-shadow: none;
}
body.fys-mit-hero:not(.ist-gescrollt) .fys-kopf-zahl { background: #fff; color: var(--wp--preset--color--tinte); }
.fys-kopf-zeile { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; padding: 0 0.5rem; }
.fys-kopf-links, .fys-kopf-rechts { display: flex; align-items: center; gap: 0.15rem; }
.fys-kopf-rechts { justify-content: flex-end; }
.fys-kopf-knopf {
	position: relative; width: 44px; height: 44px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	border: 0; background: transparent; color: inherit; cursor: pointer; text-decoration: none;
	transition: background-color var(--fys-schnell), transform var(--fys-schnell);
}
.fys-kopf-knopf:hover { background: color-mix(in srgb, currentColor 10%, transparent); }
.fys-kopf-knopf:active { transform: scale(.94); }
.fys-kopf-zahl {
	position: absolute; top: 3px; right: 1px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px;
	background: var(--wp--preset--color--bronze); color: #fff;
	font-size: 11px; font-weight: 700; line-height: 18px; text-align: center;
	font-family: var(--wp--preset--font-family--manrope);
}
.fys-kopf-marke { display: inline-flex; flex-direction: column; align-items: center; gap: 2px; color: inherit; text-decoration: none; transition: transform var(--fys-schnell); }
.fys-kopf-marke:hover { transform: translateY(-1px); }
.fys-kopf-marke img { height: 38px; width: auto; display: block; max-width: none; }
.fys-kopf-name { font-family: var(--wp--preset--font-family--manrope); font-size: 0.625rem; letter-spacing: 0.2em; text-transform: uppercase; line-height: 1; white-space: nowrap; }
@media (min-width: 701px) {
	.fys-kopf-zeile { padding: 0 1rem; }
	.fys-kopf-links, .fys-kopf-rechts { gap: 0.35rem; }
	.fys-kopf-marke { flex-direction: row; gap: 0.85rem; }
	.fys-kopf-marke img { height: 52px; }
	.fys-kopf-name { font-size: 0.9375rem; letter-spacing: 0.18em; }
}

/* ---- Suchleiste unter dem Kopf ------------------------------------------- */
.fys-suche-leiste {
	position: absolute; top: 100%; left: 0; right: 0;
	max-width: none !important; margin: 0 !important;
	background: var(--wp--preset--color--creme); color: var(--wp--preset--color--tinte);
	border-bottom: 1px solid var(--wp--preset--color--linie);
	box-shadow: 0 24px 40px -30px rgba(27,25,23,.4);
	opacity: 0; transform: translateY(-8px);
	transition: opacity .25s ease, transform .25s ease;
}
.fys-suche-leiste[hidden] { display: none !important; }
.fys-suche-leiste.ist-offen { opacity: 1; transform: none; }
.fys-suche-leiste .fys-suche { max-width: 760px; margin: 0 auto; padding: 0.75rem 1rem; display: flex; align-items: center; gap: 0.5rem; }
.fys-suche-leiste input[type="search"] {
	flex: 1; min-width: 0; padding: 0.8rem 1.1rem;
	border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff;
	font-family: inherit; font-size: 1rem; -webkit-appearance: none; appearance: none;
}
.fys-suche-leiste input[type="search"]:focus { outline: 2px solid var(--wp--preset--color--bronze); outline-offset: 2px; }
.fys-suche-leiste .fys-suche-knopf, .fys-suche-schliessen {
	flex: 0 0 44px; width: 44px; height: 44px; border-radius: 50%; border: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: transparent; color: var(--wp--preset--color--tinte);
	transition: background-color var(--fys-schnell), transform var(--fys-schnell);
}
.fys-suche-leiste .fys-suche-knopf { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); }
.fys-suche-leiste .fys-suche-knopf:hover { background: var(--wp--preset--color--bronze-text); }
.fys-suche-schliessen:hover { background: rgba(27,25,23,.08); }

/* ---- Menü-Tafel von links ------------------------------------------------ */
.fys-menu { position: fixed; inset: 0; z-index: 10000; }
.fys-menu[hidden] { display: none !important; }
.fys-menu-hintergrund { position: absolute; inset: 0; background: rgba(27,25,23,.45); opacity: 0; transition: opacity .4s cubic-bezier(0, 0, .2, 1); }
.fys-menu-tafel {
	position: absolute; top: 0; bottom: 0; left: 0; width: min(100%, 440px);
	display: flex; flex-direction: column;
	background: var(--wp--preset--color--creme); color: var(--wp--preset--color--tinte);
	padding: 0 1.25rem env(safe-area-inset-bottom);
	overflow-y: auto; -webkit-overflow-scrolling: touch;
	transform: translateX(-100%); transition: transform .3s ease;
	box-shadow: 0 0 60px rgba(0,0,0,.25);
}
.fys-menu.ist-offen .fys-menu-hintergrund { opacity: 1; }
.fys-menu.ist-offen .fys-menu-tafel { transform: none; }
.fys-menu-kopf { display: flex; align-items: center; justify-content: space-between; height: var(--fys-kopf-h); flex: 0 0 auto; }
.fys-menu-titel { font-weight: 700; font-size: 1.125rem; }
.fys-menu-schliessen {
	width: 44px; height: 44px; border-radius: 50%; margin-right: -6px; border: 0; cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(27,25,23,.07); color: var(--wp--preset--color--tinte);
	transition: background-color var(--fys-schnell), transform var(--fys-schnell);
}
.fys-menu-schliessen:hover { background: rgba(27,25,23,.14); transform: rotate(90deg); }
.fys-menu-liste { display: flex; flex-direction: column; padding: 0.5rem 0 1.25rem; }
.fys-menu-liste a {
	display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	padding: 1rem 0; font-size: 1.25rem; font-weight: 500; line-height: 1.3;
	color: var(--wp--preset--color--tinte); text-decoration: none;
	border-bottom: 1px solid var(--wp--preset--color--linie);
	transition: padding-left var(--fys-schnell), color var(--fys-schnell);
}
.fys-menu-liste a:hover { padding-left: 0.35rem; color: var(--wp--preset--color--bronze-text); }
.fys-menu-liste a svg { flex: 0 0 auto; opacity: .55; }
.fys-menu-karte {
	margin: auto 0 1.25rem; padding: 0.5rem 1.1rem; display: grid;
	border-radius: var(--fys-radius-s); background: #EDE9E0;
}
.fys-menu-karte a { display: flex; align-items: center; gap: 0.75rem; padding: 0.7rem 0; font-size: 0.95rem; color: var(--wp--preset--color--tinte); text-decoration: none; }
.fys-menu-karte a:hover { color: var(--wp--preset--color--bronze-text); }
.fys-menu-karte a svg { opacity: .7; }
body.fys-menu-offen { overflow: hidden; }

/* ---- Abschnitte ---------------------------------------------------------- */
.fys-abschnitt { padding: var(--wp--preset--spacing--60) var(--wp--preset--spacing--30); }
.fys-abschnitt-titel { font-size: var(--wp--preset--font-size--titel-m); line-height: 1.1; margin: 0 0 0.4rem; }
.fys-abschnitt-satz { margin: 0 0 1.75rem; color: var(--wp--preset--color--taupe); }
.fys-abschnitt-empfehlung { background: var(--wp--preset--color--sand); }
.fys-abschnitt-empfehlung .wc-block-grid__products { max-width: 560px; margin: 0 auto; }
@media (max-width: 700px) {
	.fys-abschnitt { padding-left: 1rem; padding-right: 1rem; }
	.fys-abschnitt-titel { font-size: 1.75rem; }
	.fys-abschnitt-satz { margin-bottom: 1.25rem; }
}

/* ---- Hero ---------------------------------------------------------------- */
.wp-block-cover.fys-hero { min-height: min(92svh, 920px) !important; padding-top: var(--fys-kopf-h) !important; }
.wp-block-cover.fys-hero::before {
	content: ""; position: absolute; left: 0; right: 0; top: 0; height: 180px; z-index: 1; pointer-events: none;
	background: linear-gradient(rgba(0,0,0,.45), transparent);
}
.wp-block-cover.fys-hero .wp-block-cover__inner-container { width: 100%; }
.fys-hero-inhalt { max-width: 860px; }
.wp-block-cover.fys-hero h1 { font-size: clamp(2.1rem, 6vw, 4.6rem) !important; letter-spacing: -0.01em; line-height: 1.05; }
.wp-block-cover.fys-hero .wp-block-button__link { background: #fff !important; color: var(--wp--preset--color--tinte) !important; min-width: 230px; }
.wp-block-cover.fys-hero .wp-block-button__link:hover { background: var(--wp--preset--color--creme) !important; }
.fys-hero-hinweis { margin: 0.9rem 0 0 !important; font-size: 0.8125rem !important; letter-spacing: 0.08em; text-transform: uppercase; opacity: .78; }
@media (prefers-reduced-motion: no-preference) {
	.wp-block-cover.fys-hero.has-fys-bild .wp-block-cover__image-background { animation: fys-hero-zoom 12s ease-out both; }
	@keyframes fys-hero-zoom { from { transform: scale(1.06); } to { transform: scale(1); } }
	.fys-hero-inhalt > * { animation: fys-hero-auf .9s var(--fys-ease) both; }
	.fys-hero-inhalt > :nth-child(2) { animation-delay: .12s; }
	.fys-hero-inhalt > :nth-child(3) { animation-delay: .24s; }
	.fys-hero-inhalt > :nth-child(4) { animation-delay: .32s; }
	.fys-hero-inhalt > :nth-child(5) { animation-delay: .45s; }
	@keyframes fys-hero-auf { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
}
@media (max-width: 700px) {
	.wp-block-cover.fys-hero { min-height: 88svh !important; }
	.wp-block-cover.fys-hero .wp-block-button { width: auto; }
	.wp-block-cover.fys-hero .wp-block-button__link { width: auto; }
}

/* ---- Partner-Laufband im Hero -------------------------------------------- */
.fys-marken {
	position: relative; width: 100%; margin-top: 2.75rem; overflow: hidden;
	-webkit-mask-image: linear-gradient(to right, transparent, #000 14%, #000 86%, transparent);
	        mask-image: linear-gradient(to right, transparent, #000 14%, #000 86%, transparent);
}
.fys-marken::before, .fys-marken::after {
	content: ""; position: absolute; top: 0; bottom: 0; width: 18%; z-index: 2; pointer-events: none;
	-webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px);
	-webkit-mask-image: linear-gradient(to right, #000, transparent); mask-image: linear-gradient(to right, #000, transparent);
}
.fys-marken::before { left: 0; }
.fys-marken::after  { right: 0; transform: scaleX(-1); }
.fys-marken-spur { display: flex; align-items: center; width: max-content; animation: fys-lauf var(--fys-lauf-dauer, 38s) linear infinite; will-change: transform; }
/* Laeuft durch: kein Pausieren bei Hover, kein Antippen (die Logos sind keine Links). */
.fys-marke-eintrag {
	display: inline-flex; align-items: center; padding: 0.5rem 1.5rem;
	font-family: var(--wp--preset--font-family--manrope); font-size: clamp(1rem, 2.2vw, 1.25rem); letter-spacing: 0.04em; white-space: nowrap;
	color: #fff; text-decoration: none; opacity: .9;
	transition: opacity var(--fys-schnell), transform var(--fys-schnell);
}
.fys-marke-eintrag:hover { opacity: 1; transform: translateY(-1px); }
.fys-marke-eintrag:not(.fys-marke-eintrag--logo)::after { content: "·"; margin-left: 1.5rem; opacity: .35; }
.fys-marke-eintrag--logo { padding: 0.25rem 2rem; }
.fys-marke-eintrag--logo img { height: 34px; width: auto; max-width: 150px; object-fit: contain; display: block; }
.fys-marken--weiss .fys-marke-eintrag--logo img { filter: brightness(0) invert(1); opacity: .88; }
@keyframes fys-lauf { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.fys-marken-spur { animation: none; }
	.fys-marken { overflow-x: auto; -webkit-mask-image: none; mask-image: none; }
	.fys-marken::before, .fys-marken::after { display: none; }
}
@media (max-width: 700px) {
	.fys-marken { margin-top: 2rem; }
	.fys-marke-eintrag { padding: 0.45rem 1.1rem; }
	.fys-marke-eintrag:not(.fys-marke-eintrag--logo)::after { margin-left: 1.1rem; }
	.fys-marke-eintrag--logo { padding: 0.25rem 1.25rem; }
	.fys-marke-eintrag--logo img { height: 26px; max-width: 120px; }
}

/* ---- Kacheln ------------------------------------------------------------- */
.fys-kacheln { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0.75rem; }
@media (min-width: 701px)  { .fys-kacheln { grid-template-columns: repeat(3, 1fr); gap: 1.25rem; } }
@media (min-width: 1100px) { .fys-kacheln { grid-template-columns: repeat(4, 1fr); } }
.fys-kachel {
	position: relative; display: flex; flex-direction: column; overflow: hidden; isolation: isolate;
	border-radius: var(--fys-radius); background: var(--fys-grau); color: var(--wp--preset--color--tinte);
	text-decoration: none; aspect-ratio: 1 / 1.18; padding: 1rem;
	transition: transform var(--fys-schnell), box-shadow var(--fys-schnell);
}
.fys-kachel:hover { box-shadow: 0 22px 44px -26px rgba(27,25,23,.4); }
.fys-kachel--voll { grid-column: 1 / -1; aspect-ratio: 4 / 3; }
@media (min-width: 701px) { .fys-kachel { padding: 1.25rem; } .fys-kachel--voll { aspect-ratio: 21 / 9; } }
.fys-kachel--dunkel { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); }
.fys-kachel-kopf { position: relative; z-index: 2; display: flex; justify-content: space-between; align-items: flex-start; gap: 0.5rem; }
.fys-kachel-titel { font-family: var(--wp--preset--font-family--manrope); font-weight: 700; font-size: 1rem; line-height: 1.25; hyphens: auto; }
@media (min-width: 701px) { .fys-kachel-titel { font-size: 1.125rem; } }
.fys-kachel-pfeil {
	flex: 0 0 40px; width: 40px; height: 40px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(27,25,23,.07); color: inherit;
	transition: background-color var(--fys-schnell), color var(--fys-schnell), transform var(--fys-schnell);
}
.fys-kachel--dunkel .fys-kachel-pfeil { background: rgba(255,255,255,.14); }
.fys-kachel:hover .fys-kachel-pfeil { transform: translateX(3px); background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); }
.fys-kachel--dunkel:hover .fys-kachel-pfeil { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--tinte); }
.fys-kachel-bildrahmen { position: absolute; left: 0; right: 0; bottom: 0; top: 3.6rem; z-index: 1; display: flex; align-items: flex-end; justify-content: center; }
.fys-kachel-bildrahmen img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform .7s var(--fys-ease); }
.fys-kachel:hover .fys-kachel-bildrahmen img { transform: scale(1.04); }
.fys-kachel--ohne-bild { background: linear-gradient(160deg, #F4F3F0 0%, #E7E3DA 100%); }
.fys-kachel--ohne-bild.fys-kachel--dunkel { background: linear-gradient(160deg, #262320 0%, #1B1917 100%); }
.fys-kachel--ohne-bild .fys-kachel-bildrahmen::before {
	content: attr(data-initial); position: absolute; right: -0.05em; bottom: -0.28em;
	font-family: var(--wp--preset--font-family--manrope); font-weight: 800; font-size: clamp(6rem, 22vw, 11rem); line-height: 1;
	color: rgba(27,25,23,.07); letter-spacing: -0.04em; pointer-events: none;
}
.fys-kachel--ohne-bild.fys-kachel--dunkel .fys-kachel-bildrahmen::before { color: rgba(255,255,255,.08); }
/* Bühne: Foto randlos, Text mittig, weißer Pill-Knopf */
.fys-kachel--buehne { padding: 0; aspect-ratio: auto; min-height: 68svh; align-items: center; justify-content: center; background: var(--wp--preset--color--tinte); color: #fff; }
@media (min-width: 701px) { .fys-kachel--buehne { min-height: 62vh; } }
.fys-kachel--buehne > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; z-index: 0; transition: transform 1.2s var(--fys-ease); }
.fys-kachel--buehne:hover > img { transform: scale(1.03); }
.fys-kachel--buehne::after { content: ""; position: absolute; inset: 0; z-index: 1; background: linear-gradient(rgba(0,0,0,.12), rgba(0,0,0,.38)); }
.fys-kachel-mitte { position: relative; z-index: 2; display: flex; flex-direction: column; align-items: center; gap: 1.1rem; text-align: center; padding: 2rem 1.25rem; }
.fys-kachel--buehne .fys-kachel-titel { font-family: var(--wp--preset--font-family--manrope); font-weight: 400; font-size: clamp(1.75rem, 5vw, 3rem); text-shadow: 0 1px 20px rgba(0,0,0,.35); }

/* ---- Produktkarten ------------------------------------------------------- */
.wc-block-grid__product, ul.products li.product {
	background: var(--fys-grau); border-radius: 20px; padding: 0.85rem 0.85rem 1.1rem;
	transition: transform var(--fys-schnell), box-shadow var(--fys-schnell);
}
.wc-block-grid__product:hover, ul.products li.product:hover { transform: translateY(-2px); box-shadow: 0 22px 44px -28px rgba(27,25,23,.45); }
.wc-block-grid__product-image, ul.products li.product > a { overflow: hidden; border-radius: 12px; }
.wc-block-grid__product-image img, ul.products li.product img { border-radius: 12px; margin-bottom: 0.75rem; transition: transform .7s var(--fys-ease); }
.wc-block-grid__product:hover .wc-block-grid__product-image img, ul.products li.product:hover img { transform: scale(1.04); }
.wc-block-grid__product-title, ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--manrope); font-weight: 600; font-size: 0.95rem; line-height: 1.35; text-align: center;
}
.wc-block-grid__product-price, ul.products li.product .price { display: block; text-align: center; color: var(--wp--preset--color--taupe); font-size: 0.9375rem; }
.fys-karte-marke { text-align: center; }
.fys-abzeichen { border-radius: 999px; border: 0; padding: 0.35rem 0.7rem; background: #E4E2DD; color: var(--wp--preset--color--tinte); font-size: 0.75rem; font-weight: 600; letter-spacing: 0; text-transform: none; }
.fys-abzeichen--neu { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); }
.fys-abzeichen--verkauft { background: var(--wp--preset--color--taupe); color: var(--wp--preset--color--creme); }
/* Karussell auf dem Handy: seitlich wischen, Punkte darunter */
@media (max-width: 700px) {
	.fys-karussell .wc-block-grid__products {
		display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0.75rem;
		padding: 0.25rem 1rem 0.75rem; margin: 0 -1rem; scrollbar-width: none; -webkit-overflow-scrolling: touch;
	}
	.fys-karussell .wc-block-grid__products::-webkit-scrollbar { display: none; }
	.fys-karussell .wc-block-grid__product { flex: 0 0 68%; scroll-snap-align: start; }
	.fys-punkte { display: flex; justify-content: center; gap: 0.4rem; margin-top: 0.25rem; }
	.fys-punkte span { width: 6px; height: 6px; border-radius: 3px; background: var(--wp--preset--color--linie); transition: width var(--fys-schnell), background-color var(--fys-schnell); }
	.fys-punkte span.ist-aktiv { width: 22px; background: var(--wp--preset--color--tinte); }
}
@media (min-width: 701px) { .fys-punkte { display: none; } }

/* ---- Über uns (dunkel) --------------------------------------------------- */
.fys-ueber { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); text-align: center; }
.fys-ueber .fys-kicker { color: var(--wp--preset--color--bronze); }
.fys-ueber h2 { color: var(--wp--preset--color--creme); font-size: clamp(1.9rem, 4vw, 3rem); line-height: 1.1; max-width: 18ch; margin: 0 auto 1rem; }
.fys-ueber p:not(.fys-kicker) { max-width: 58ch; margin: 0 auto 1.75rem; line-height: 1.65; color: color-mix(in srgb, var(--wp--preset--color--creme) 82%, transparent); }
.fys-ueber .wp-block-button__link { border-color: var(--wp--preset--color--creme); color: var(--wp--preset--color--creme); }
.fys-ueber .wp-block-button__link:hover { background: var(--wp--preset--color--creme); color: var(--wp--preset--color--tinte); border-color: var(--wp--preset--color--creme); }

/* ---- Häufige Fragen (Akkordeon) ------------------------------------------ */
.fys-faq { display: grid; gap: 0.6rem; }
.fys-faq-eintrag { border-radius: var(--fys-radius-s); background: var(--fys-grau); overflow: hidden; }
.fys-faq-eintrag summary {
	list-style: none; display: flex; justify-content: space-between; align-items: center; gap: 1rem;
	padding: 1.05rem 1.25rem; cursor: pointer; font-weight: 600; font-size: 1rem; line-height: 1.35;
	transition: background-color var(--fys-schnell);
}
.fys-faq-eintrag summary:hover { background: #ECEAE5; }
.fys-faq-eintrag summary::-webkit-details-marker { display: none; }
.fys-faq-eintrag summary svg { flex: 0 0 auto; transition: transform var(--fys-schnell); }
.fys-faq-eintrag[open] summary svg { transform: rotate(180deg); }
.fys-faq-antwort { padding: 0 1.25rem 1.2rem; color: var(--wp--preset--color--graphit); line-height: 1.6; }
.fys-faq-antwort p { margin: 0 0 0.6rem; }
.fys-faq-antwort p:last-child { margin: 0; }
@media (prefers-reduced-motion: no-preference) {
	.fys-faq-eintrag[open] .fys-faq-antwort { animation: fys-auf .25s ease; }
	@keyframes fys-auf { from { opacity: 0; transform: translateY(-4px); } }
}

/* ---- Vertrauensblock (dunkel, über dem Fuß) ------------------------------ */
.fys-vertrauen { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); padding: var(--wp--preset--spacing--50) 1.25rem; border-bottom: 1px solid rgba(255,255,255,.08); }
.fys-vertrauen-innen { max-width: 1280px; margin: 0 auto; display: grid; gap: 1.4rem; }
@media (min-width: 701px) { .fys-vertrauen-innen { grid-template-columns: repeat(4, 1fr); gap: 2rem; } }
.fys-vertrauen-eintrag { display: flex; align-items: center; gap: 1rem; }
.fys-vertrauen-symbol {
	flex: 0 0 56px; width: 56px; height: 56px; border-radius: 50%;
	display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255,255,255,.08); color: var(--wp--preset--color--creme);
}
.fys-vertrauen-text { display: flex; flex-direction: column; line-height: 1.35; }
.fys-vertrauen-text strong { font-weight: 700; font-size: 1.0625rem; }
.fys-vertrauen-text span { font-size: 0.95rem; color: color-mix(in srgb, var(--wp--preset--color--creme) 72%, transparent); }

/* ---- Fuß ----------------------------------------------------------------- */
.fys-fuss { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); padding: var(--wp--preset--spacing--50) 1.25rem var(--wp--preset--spacing--40); }
.fys-fuss-innen { max-width: 1280px; margin: 0 auto; }
.fys-fuss-marke { display: flex; flex-direction: column; align-items: flex-start; gap: 0.5rem; margin-bottom: 1.75rem; }
.fys-fuss-marke img { height: 72px; width: auto; display: block; }
.fys-fuss-name { font-family: var(--wp--preset--font-family--manrope); letter-spacing: 0.16em; text-transform: uppercase; font-size: 0.9375rem; }
.fys-fuss-satz { margin: 0.25rem 0 0; max-width: 44ch; font-size: 0.9375rem; line-height: 1.55; color: color-mix(in srgb, var(--wp--preset--color--creme) 70%, transparent); }
.fys-fuss-bloecke { display: grid; gap: 0.6rem; }
.fys-fuss-block { border-radius: var(--fys-radius-s); background: #262320; overflow: hidden; }
.fys-fuss-block summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 1.05rem 1.25rem; font-weight: 700; cursor: pointer; }
.fys-fuss-block summary::-webkit-details-marker { display: none; }
.fys-fuss-block summary svg { transition: transform var(--fys-schnell); }
.fys-fuss-block[open] summary svg { transform: rotate(180deg); }
.fys-fuss-block ul { list-style: none; margin: 0; padding: 0 1.25rem 1rem; }
.fys-fuss-block li a { display: block; padding: 0.5rem 0; text-decoration: none; color: color-mix(in srgb, var(--wp--preset--color--creme) 80%, transparent); transition: color var(--fys-schnell), padding-left var(--fys-schnell); }
.fys-fuss-block li a:hover { color: var(--wp--preset--color--creme); padding-left: 0.25rem; }
.fys-fuss-unten { margin-top: 2rem; }
.fys-fuss-recht { display: flex; flex-wrap: wrap; gap: 0.4rem 1.5rem; list-style: none; margin: 0 0 0.75rem; padding: 0; font-size: 0.875rem; }
.fys-fuss-recht a { color: color-mix(in srgb, var(--wp--preset--color--creme) 80%, transparent); }
.fys-fuss-copy { margin: 0; font-size: 0.8125rem; color: color-mix(in srgb, var(--wp--preset--color--creme) 55%, transparent); }
@media (min-width: 701px) {
	.fys-fuss-innen { display: grid; grid-template-columns: 1.1fr 2fr; gap: 3rem 4rem; align-items: start; }
	.fys-fuss-marke { margin-bottom: 0; }
	.fys-fuss-bloecke { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 2rem; }
	.fys-fuss-block { background: transparent; border-radius: 0; }
	.fys-fuss-block summary { padding: 0 0 0.75rem; pointer-events: none; font-size: 0.8125rem; letter-spacing: 0.14em; text-transform: uppercase; color: var(--wp--preset--color--taupe); }
	.fys-fuss-block summary svg { display: none; }
	.fys-fuss-block ul { padding: 0; }
	.fys-fuss-unten { grid-column: 1 / -1; padding-top: 1.5rem; border-top: 1px solid rgba(255,255,255,.08); display: flex; justify-content: space-between; flex-wrap: wrap; gap: 1rem; }
	.fys-fuss-recht { margin: 0; }
}

/* ---- Erscheinen: Kacheln, Karten, Fragen etwas kräftiger ------------------ */
@media (prefers-reduced-motion: no-preference) {
	.fys-kachel.fys-erscheint, .wc-block-grid__product.fys-erscheint, .fys-faq-eintrag.fys-erscheint, .fys-vertrauen-eintrag.fys-erscheint { transform: translateY(22px); transition-duration: .8s; }
	.fys-erscheint.ist-da { transform: none; }
}

/* ==========================================================================
   Welle 9 — Manrope, ruhiger, Lieferwahl, Blur-Kante unten, Kopf-Lücke zu
   ========================================================================== */

/* Die Lücke unter der Ankündigung: main bekam den Block-Abstand (1.75rem) und
   fraß den negativen Rand des Kopfes. Auf der Startseite: kein Abstand. */
body.fys-mit-hero .wp-site-blocks > main { margin-block-start: 0 !important; }

/* Ankündigung: eine Zeile, nie umbrechen */
.fys-ankuendigung { white-space: nowrap; overflow: hidden; }
.fys-ankuendigung p { margin: 0; overflow: hidden; text-overflow: ellipsis; }
@media (max-width: 700px) { .fys-ankuendigung { font-size: 0.6875rem; letter-spacing: 0.05em; padding: 0.6rem 0.75rem; } }

/* Schrift: Manrope überall, Prata nur noch für die Wortmarke */
.fys-kopf-name, .fys-fuss-name { font-family: var(--wp--preset--font-family--prata); }
h1, h2, h3, .fys-abschnitt-titel, .fys-kachel--buehne .fys-kachel-titel { font-family: var(--wp--preset--font-family--manrope); font-weight: 600; letter-spacing: -0.02em; }
.wp-block-cover.fys-hero h1 { font-weight: 600; letter-spacing: -0.025em; font-size: clamp(2rem, 5.6vw, 4.2rem) !important; line-height: 1.08; }
.wp-block-cover.fys-hero p { font-weight: 400; }
.fys-abschnitt-titel { font-size: clamp(1.5rem, 3.2vw, 2.25rem); }
.fys-ueber h2 { font-size: clamp(1.6rem, 3.6vw, 2.6rem); }
.fys-kicker { letter-spacing: 0.12em; font-weight: 700; }
.fys-marke-eintrag { font-weight: 600; letter-spacing: 0.02em; }
.wc-block-grid__product-title, ul.products li.product .woocommerce-loop-product__title { font-weight: 600; }
.fys-menu-liste a { font-weight: 600; }
.fys-kachel-titel { font-weight: 700; }

/* Erscheinen: kürzer, kleiner Weg — ruhiger */
@media (prefers-reduced-motion: no-preference) {
	.fys-erscheint { transform: translateY(10px); transition: opacity .55s ease, transform .55s ease; }
	.fys-kachel.fys-erscheint, .wc-block-grid__product.fys-erscheint, .fys-faq-eintrag.fys-erscheint, .fys-vertrauen-eintrag.fys-erscheint { transform: translateY(14px); transition-duration: .6s; }
	.fys-erscheint.ist-da { transform: none; }
}

/* Weiche Blur-Kante am unteren Rand — nur während des Scrollens, nicht ganz unten.
   Gestuft aus sechs Streifen statt einer Maske: Safari ignoriert Masken auf
   backdrop-filter und malte eine harte „weiße Box". So wird es nach unten hin
   stufenlos unschärfer, ohne Kante, ohne Farbe. */
.fys-rand-unten { position: fixed; left: 0; right: 0; bottom: 0; height: calc(88px + env(safe-area-inset-bottom)); z-index: 90; pointer-events: none; opacity: 0; transition: opacity .4s ease; }
.fys-rand-unten i { position: absolute; left: 0; right: 0; bottom: 0; display: block; }
.fys-rand-unten i:nth-child(1) { height: 100%; -webkit-backdrop-filter: blur(0.5px); backdrop-filter: blur(0.5px); }
.fys-rand-unten i:nth-child(2) { height: 78%;  -webkit-backdrop-filter: blur(1px);   backdrop-filter: blur(1px); }
.fys-rand-unten i:nth-child(3) { height: 58%;  -webkit-backdrop-filter: blur(1.5px); backdrop-filter: blur(1.5px); }
.fys-rand-unten i:nth-child(4) { height: 40%;  -webkit-backdrop-filter: blur(2.5px); backdrop-filter: blur(2.5px); }
.fys-rand-unten i:nth-child(5) { height: 25%;  -webkit-backdrop-filter: blur(3.5px); backdrop-filter: blur(3.5px); }
.fys-rand-unten i:nth-child(6) { height: 12%;  -webkit-backdrop-filter: blur(5px);   backdrop-filter: blur(5px); }
body.ist-gescrollt:not(.ist-unten):not(.fys-menu-offen) .fys-rand-unten { opacity: 1; }
@media (prefers-reduced-motion: reduce) { .fys-rand-unten { display: none; } }

/* Vollbild auf dem Handy: Fuß und Menü enden nicht unter der Home-Leiste */
.fys-fuss { padding-bottom: calc(var(--wp--preset--spacing--40) + env(safe-area-inset-bottom)); }
.fys-menu-karte { margin-bottom: calc(1.25rem + env(safe-area-inset-bottom)); }

/* Lieferwahl auf der Produktseite */
.fys-liefer-hinweis { margin: 0 0 1rem; font-size: 0.9375rem; color: var(--wp--preset--color--taupe); }
.fys-lieferung { border: 0; padding: 0; margin: 0 0 1.25rem; display: grid; gap: 0.5rem; }
.fys-lieferung legend { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--taupe); margin-bottom: 0.5rem; }
.fys-liefer-wahl {
	display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 0.85rem;
	padding: 0.85rem 1rem; border: 1.5px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius-s); background: #fff; cursor: pointer;
	transition: border-color var(--fys-schnell), box-shadow var(--fys-schnell);
}
.fys-liefer-wahl:hover { border-color: var(--wp--preset--color--taupe); }
.fys-liefer-wahl:has(input:checked) { border-color: var(--wp--preset--color--tinte); box-shadow: 0 0 0 1px var(--wp--preset--color--tinte); }
.fys-liefer-wahl input { margin: 0; width: 18px; height: 18px; accent-color: var(--wp--preset--color--tinte); }
.fys-liefer-text { display: flex; flex-direction: column; line-height: 1.3; }
.fys-liefer-text strong { font-weight: 600; }
.fys-liefer-text span { font-size: 0.875rem; color: var(--wp--preset--color--taupe); }
.fys-liefer-preis { font-weight: 600; white-space: nowrap; }
.fys-abzeichen--bestseller { background: var(--wp--preset--color--bronze); color: #fff; }

/* ==========================================================================
   Welle 11 — Shop-Übersicht, Kategorien, Warenkorb, Kasse im neuen Look
   (klassische WooCommerce-Vorlagen, damit alle Haken greifen)
   ========================================================================== */
.fys-shop { padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) var(--wp--preset--spacing--60); }
@media (max-width: 700px) { .fys-shop { padding-left: 1rem; padding-right: 1rem; } }
.fys-shop .woocommerce-breadcrumb { font-size: 0.8125rem; color: var(--wp--preset--color--taupe); margin: 0 0 0.75rem; }
.fys-shop .woocommerce-breadcrumb a { color: inherit; }
.fys-shop .woocommerce-products-header__title, .fys-shop h1.page-title { font-size: clamp(1.75rem, 4vw, 2.75rem); margin: 0 0 0.5rem; }
.fys-shop .term-description { color: var(--wp--preset--color--taupe); max-width: 60ch; margin: 0 0 1.25rem; }
.fys-shop .woocommerce-notices-wrapper:empty { display: none; }
.fys-shop .woocommerce-result-count { margin: 0; font-size: 0.875rem; color: var(--wp--preset--color--taupe); }
.fys-shop .woocommerce-ordering { margin: 0; }
.fys-shop .woocommerce-ordering select {
	padding: 0.6rem 2.4rem 0.6rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff;
	font-family: inherit; font-size: 0.875rem; -webkit-appearance: none; appearance: none;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%231B1917' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 0.9rem center;
}
/* Zählung links, Sortierung rechts, in einer Zeile */
.fys-shop .woocommerce-result-count, .fys-shop .woocommerce-ordering { display: inline-flex; align-items: center; vertical-align: middle; margin-bottom: 1.25rem; }
.fys-shop .woocommerce-ordering { float: right; }
.fys-shop ul.products { clear: both; }
.fys-shop .woocommerce-pagination { margin-top: 2rem; text-align: center; }
.fys-shop .woocommerce-pagination ul.page-numbers { display: inline-flex; gap: 0.35rem; list-style: none; margin: 0; padding: 0; }
.fys-shop .page-numbers li a, .fys-shop .page-numbers li span {
	display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px; padding: 0 0.9rem;
	border-radius: 999px; border: 1px solid var(--wp--preset--color--linie); text-decoration: none; font-weight: 600; font-size: 0.9375rem;
	transition: background-color var(--fys-schnell), color var(--fys-schnell);
}
.fys-shop .page-numbers li span.current, .fys-shop .page-numbers li a:hover { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--tinte); }
.fys-shop .woocommerce-info, .fys-shop .woocommerce-message, .woocommerce-info, .woocommerce-message, .woocommerce-error {
	border-radius: var(--fys-radius-s); border: 1px solid var(--wp--preset--color--linie); background: #fff; padding: 1rem 1.25rem; margin: 0 0 1.25rem; list-style: none;
}
.fys-shop .no-products-found, .fys-shop .woocommerce-no-products-found { padding: 3rem 0; text-align: center; color: var(--wp--preset--color--taupe); }

/* Warenkorb (Shortcode) */
.woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { max-width: 1280px; margin: 0 auto; padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) var(--wp--preset--spacing--60); }
@media (max-width: 700px) { .woocommerce-cart .woocommerce, .woocommerce-checkout .woocommerce { padding-left: 1rem; padding-right: 1rem; } }
table.shop_table { width: 100%; border-collapse: separate; border-spacing: 0; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius-s); overflow: hidden; background: #fff; }
table.shop_table th, table.shop_table td { padding: 0.9rem 1rem; border-bottom: 1px solid var(--wp--preset--color--linie); text-align: left; vertical-align: middle; }
table.shop_table thead th { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--wp--preset--color--taupe); background: var(--fys-grau); }
table.shop_table tbody tr:last-child td, table.shop_table tfoot tr:last-child th, table.shop_table tfoot tr:last-child td { border-bottom: 0; }
table.shop_table td.product-thumbnail img { width: 64px; height: 80px; object-fit: cover; border-radius: 10px; display: block; }
table.shop_table td.product-remove a.remove { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border-radius: 50%; background: var(--fys-grau); color: var(--wp--preset--color--tinte) !important; text-decoration: none; font-weight: 400; }
table.shop_table td.product-remove a.remove:hover { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme) !important; }
table.shop_table .quantity input.qty { width: 4.5rem; padding: 0.55rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; text-align: center; font-family: inherit; }
table.shop_table dl.variation { margin: 0.25rem 0 0; font-size: 0.8125rem; color: var(--wp--preset--color--taupe); }
table.shop_table dl.variation dt, table.shop_table dl.variation dd { display: inline; margin: 0; }
table.shop_table dl.variation dd::after { content: ""; display: block; }
.woocommerce-cart .cart_totals { margin-top: 1.5rem; }
.woocommerce-cart .cart_totals h2 { font-size: 1.25rem; margin: 0 0 0.75rem; }
.woocommerce-cart .coupon { display: flex; gap: 0.5rem; flex-wrap: wrap; align-items: center; margin-top: 1rem; }
.woocommerce-cart .coupon input.input-text { padding: 0.75rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; font-family: inherit; }
.woocommerce-cart .cart-empty, .woocommerce-cart .wc-empty-cart-message { text-align: center; padding: 2rem 0 1rem; color: var(--wp--preset--color--taupe); }
.woocommerce-cart .return-to-shop { text-align: center; }
@media (min-width: 900px) {
	.woocommerce-cart .woocommerce-cart-form { float: left; width: 62%; }
	.woocommerce-cart .cart_totals { float: right; width: 34%; margin-top: 0; }
	.woocommerce-cart .cart-collaterals::after { content: ""; display: table; clear: both; }
}
@media (max-width: 700px) {
	table.shop_table.cart thead { display: none; }
	table.shop_table.cart tr { display: grid; grid-template-columns: 64px 1fr auto; gap: 0.25rem 0.9rem; padding: 0.9rem 1rem; border-bottom: 1px solid var(--wp--preset--color--linie); }
	table.shop_table.cart td { display: block; padding: 0; border: 0; }
	table.shop_table.cart td.product-thumbnail { grid-row: 1 / span 3; }
	table.shop_table.cart td.product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
	table.shop_table.cart td.product-name { grid-column: 2; grid-row: 1; font-weight: 600; }
	table.shop_table.cart td.product-price { display: none; }
	table.shop_table.cart td.product-quantity { grid-column: 2; grid-row: 2; }
	table.shop_table.cart td.product-subtotal { grid-column: 3; grid-row: 2; align-self: center; font-weight: 600; }
	table.shop_table.cart td.actions { grid-column: 1 / -1; padding-top: 0.75rem; }
	table.shop_table.cart td::before { content: none; }
}

/* Kasse (Shortcode) */
.woocommerce-checkout form.checkout { display: grid; gap: 2rem; }
@media (min-width: 900px) { .woocommerce-checkout form.checkout { grid-template-columns: 1.2fr 1fr; align-items: start; } .woocommerce-checkout #order_review_heading, .woocommerce-checkout #order_review { grid-column: 2; } .woocommerce-checkout .col2-set { grid-column: 1; grid-row: 1 / span 2; } }
.woocommerce-checkout h3 { font-size: 1.125rem; margin: 0 0 0.75rem; }
.woocommerce-checkout .form-row { margin: 0 0 0.85rem; }
.woocommerce-checkout .form-row label { display: block; font-size: 0.8125rem; font-weight: 600; margin-bottom: 0.3rem; color: var(--wp--preset--color--graphit); }
.woocommerce-checkout .input-text, .woocommerce-checkout select, .woocommerce-checkout textarea, .woocommerce-checkout .select2-container .select2-selection--single {
	width: 100%; padding: 0.8rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 12px; background: #fff; font-family: inherit; font-size: 1rem; height: auto;
}
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 1.4; padding: 0; }
.woocommerce-checkout .select2-container .select2-selection--single .select2-selection__arrow { top: 50%; transform: translateY(-50%); right: 0.75rem; }
.woocommerce-checkout .input-text:focus, .woocommerce-checkout select:focus, .woocommerce-checkout textarea:focus { outline: 2px solid var(--wp--preset--color--bronze); outline-offset: 1px; border-color: transparent; }
.woocommerce-checkout #order_review { padding: 1.25rem; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius); background: #fff; }
.woocommerce-checkout #order_review table.shop_table { border: 0; }
.woocommerce-checkout #payment { background: transparent; }
.woocommerce-checkout #payment ul.payment_methods { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: 0.5rem; }
.woocommerce-checkout #payment ul.payment_methods li { padding: 0.85rem 1rem; border: 1.5px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius-s); }
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--wp--preset--color--tinte); box-shadow: 0 0 0 1px var(--wp--preset--color--tinte); }
.woocommerce-checkout #payment ul.payment_methods li label { font-weight: 600; cursor: pointer; }
.woocommerce-checkout #payment .payment_box { margin-top: 0.6rem; font-size: 0.875rem; color: var(--wp--preset--color--graphit); }
.woocommerce-checkout #payment .place-order { padding: 0; }
.woocommerce-checkout #place_order { width: 100%; }
.woocommerce-checkout .woocommerce-privacy-policy-text, .woocommerce-checkout .woocommerce-terms-and-conditions-wrapper { font-size: 0.8125rem; color: var(--wp--preset--color--taupe); }
/* Mein Konto */
.woocommerce-account .woocommerce { max-width: 1100px; margin: 0 auto; padding: var(--wp--preset--spacing--40) var(--wp--preset--spacing--30) var(--wp--preset--spacing--60); }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 1.5rem; padding: 0; display: flex; flex-wrap: wrap; gap: 0.4rem; }
.woocommerce-MyAccount-navigation ul li a { display: inline-block; padding: 0.55rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; font-size: 0.875rem; font-weight: 600; text-decoration: none; }
.woocommerce-MyAccount-navigation ul li.is-active a, .woocommerce-MyAccount-navigation ul li a:hover { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--tinte); }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register { max-width: 420px; padding: 1.5rem; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius); background: #fff; }
.woocommerce-account .woocommerce-form-login .input-text, .woocommerce-account .woocommerce-form-register .input-text, .woocommerce-account .woocommerce-EditAccountForm .input-text { width: 100%; padding: 0.8rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 12px; font-family: inherit; }

/* ---- Warenkorb / Kasse / Konto: Überschrift kleiner, weniger Luft, Handy-Tabelle sauber ----
   WooCommerce bringt eine eigene Handy-Tabelle mit ("Produkt:"-Beschriftungen per data-title),
   die sich mit dem Kartenraster beißt — hier mit Nachdruck überschrieben. */
.woocommerce-cart main.wp-block-group, .woocommerce-checkout main.wp-block-group, .woocommerce-account main.wp-block-group { padding-top: var(--wp--preset--spacing--30) !important; }
.woocommerce-cart h1.wp-block-post-title, .woocommerce-checkout h1.wp-block-post-title, .woocommerce-account h1.wp-block-post-title { font-size: clamp(1.6rem, 4vw, 2.25rem); margin: 0 0 1rem; }
@media (max-width: 700px) {
	.woocommerce table.shop_table_responsive.cart tr, .woocommerce-page table.shop_table_responsive.cart tr { display: grid !important; grid-template-columns: 64px 1fr auto; gap: 0.2rem 0.9rem; padding: 0.9rem 1rem; border-bottom: 1px solid var(--wp--preset--color--linie); }
	.woocommerce table.shop_table_responsive.cart tr td, .woocommerce-page table.shop_table_responsive.cart tr td { display: block !important; padding: 0 !important; border: 0 !important; text-align: left !important; background: transparent !important; }
	.woocommerce table.shop_table_responsive.cart tr td::before, .woocommerce-page table.shop_table_responsive.cart tr td::before { content: none !important; display: none !important; }
	.woocommerce table.shop_table_responsive.cart td.product-thumbnail { grid-row: 1 / span 3; }
	.woocommerce table.shop_table_responsive.cart td.product-thumbnail img { width: 64px; height: 80px; object-fit: cover; border-radius: 10px; }
	.woocommerce table.shop_table_responsive.cart td.product-remove { grid-column: 3; grid-row: 1; justify-self: end; }
	.woocommerce table.shop_table_responsive.cart td.product-name { grid-column: 2; grid-row: 1; font-weight: 600; line-height: 1.3; }
	.woocommerce table.shop_table_responsive.cart td.product-name dl.variation { font-weight: 400; }
	.woocommerce table.shop_table_responsive.cart td.product-price { display: none !important; }
	.woocommerce table.shop_table_responsive.cart td.product-quantity { grid-column: 2; grid-row: 2; }
	.woocommerce table.shop_table_responsive.cart td.product-subtotal { grid-column: 3; grid-row: 2; align-self: center; font-weight: 600; text-align: right !important; }
	.woocommerce table.shop_table_responsive.cart tr:last-child td.actions { grid-column: 1 / -1; display: block !important; padding-top: 0.5rem !important; }
	.woocommerce table.shop_table_responsive.cart tr:last-child { border-bottom: 0; }
	.woocommerce-cart .cart_totals table.shop_table_responsive tr { display: flex !important; justify-content: space-between; padding: 0.75rem 1rem; border-bottom: 1px solid var(--wp--preset--color--linie); }
	.woocommerce-cart .cart_totals table.shop_table_responsive tr th, .woocommerce-cart .cart_totals table.shop_table_responsive tr td { display: block !important; border: 0 !important; padding: 0 !important; background: transparent !important; text-align: left !important; }
	.woocommerce-cart .cart_totals table.shop_table_responsive tr td::before { content: none !important; }
	.woocommerce-cart .cart_totals table.shop_table_responsive tr.order-total { font-size: 1.125rem; }
}
.woocommerce-cart .cart_totals table.shop_table_responsive tr.order-total th, .woocommerce-cart .cart_totals table.shop_table_responsive tr.order-total td { font-weight: 700; }
@media (max-width: 700px) {
	.woocommerce-cart .coupon { display: grid; grid-template-columns: 1fr; }
	.woocommerce-cart .coupon input.input-text, .woocommerce-cart .coupon button { width: 100%; }
	.woocommerce-cart td.actions > .button { width: 100%; margin-top: 0.5rem; }
}

/* ==========================================================================
   Welle 12 — Gegenprüfung: Tippziele, Kontrast, iOS-Zoom, Mengenfeld, Laufband-Pause
   ========================================================================== */
/* iOS zoomt bei Eingabefeldern unter 16 px in die Seite */
.fys-shop .woocommerce-ordering select { font-size: max(16px, 0.875rem); padding: 0.5rem 2.4rem 0.5rem 1rem; }
/* Kontrast mindestens 4,5:1 */
@media (min-width: 701px) { .fys-fuss-block summary { color: color-mix(in srgb, var(--wp--preset--color--creme) 65%, transparent); } }
.fys-abzeichen--bestseller { background: var(--wp--preset--color--bronze-text); color: #fff; }
.woocommerce-review__verified { color: var(--wp--preset--color--bronze-text); border-color: var(--wp--preset--color--bronze-text); font-size: 0.75rem; }
.fys-ueber .fys-kicker { color: #C9A97A; }
.fys-vertrauen-text span { color: color-mix(in srgb, var(--wp--preset--color--creme) 80%, transparent); }
/* Tippziele 44 px: Entfernen im Warenkorb, Links im Fuß, Brotkrumen */
table.shop_table td.product-remove a.remove { width: 44px; height: 44px; margin: -8px; }
.fys-fuss-block li a { padding: 0.7rem 0; }
.fys-fuss-recht li a { display: inline-block; padding: 0.7rem 0; }
.fys-shop .woocommerce-breadcrumb a { display: inline-block; padding: 0.55rem 0; }
/* Mengenfeld auf der Produktseite (jetzt wieder da: mehr als 1 Stück je Modell) */
.single-product .quantity { display: inline-flex; align-items: center; margin-right: 0.75rem; }
.single-product .quantity input.qty { width: 5rem; min-height: 48px; padding: 0.55rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; text-align: center; font-family: inherit; font-size: 1rem; background: #fff; }
.single-product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 0.75rem 0; }
.single-product form.cart .fys-lieferung, .single-product form.cart .fys-liefer-hinweis { flex-basis: 100%; }
/* Laufband: Beruehren pausiert */


/* Laufband-Logos: größer, deutlich, einheitlich (freigestellt, weiß eingefärbt) */
.fys-marke-eintrag--logo { padding: 0.25rem 2.2rem; opacity: 1; }
.fys-marke-eintrag--logo img { height: 48px; width: auto; max-width: 200px; object-fit: contain; display: block; }
.fys-marken--weiss .fys-marke-eintrag--logo img { filter: brightness(0) invert(1); opacity: .96; }
.fys-marken--farbe .fys-marke-eintrag--logo img { filter: none; opacity: 1; }
@media (max-width: 700px) { .fys-marke-eintrag--logo { padding: 0.25rem 1.4rem; } .fys-marke-eintrag--logo img { height: 38px; max-width: 160px; } }

/* Menü-Tafel: Schließen-Kreuz nicht am Rand kleben — gleicher Abstand wie das Menü-Symbol links */
.fys-menu-schliessen { margin-right: 0; }
.fys-menu-tafel { padding-right: calc(1.25rem + env(safe-area-inset-right)); padding-left: calc(1.25rem + env(safe-area-inset-left)); }

/* Menü-Tafel: Breite inklusive Innenabstand — sonst ragt das Kreuz über den rechten Rand hinaus */
.fys-menu-tafel, .fys-menu-kopf, .fys-suche-leiste, .fys-kopf-zeile { box-sizing: border-box; }
.fys-menu-tafel { max-width: 100vw; }
/* Kachel-Titel: am Leerzeichen umbrechen, keine Silbentrennung, Zeilen ausgeglichen */
.fys-kachel-titel { hyphens: manual; -webkit-hyphens: manual; overflow-wrap: normal; word-break: normal; text-wrap: balance; padding-right: 0.25rem; }

/* ==========================================================================
   Welle 15 — Sendungsverfolgung: Formular, Stand-Karte, Fortschritt, Verlauf
   ========================================================================== */
.fys-sendung-form { display: grid; gap: .6rem; max-width: 30rem; padding: 1.25rem; background: var(--fys-grau); border-radius: var(--fys-radius); margin-block: 1.25rem; }
.fys-sendung-form label { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; margin-top: .35rem; }
.fys-sendung-form input { width: 100%; padding: .95rem 1.1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius-s); background: #fff; font: inherit; font-size: 16px; box-sizing: border-box; }
.fys-sendung-form input:focus-visible { outline: 2px solid var(--wp--preset--color--tinte); outline-offset: 2px; }
.fys-sendung-form button { justify-self: start; margin-top: .5rem; }
.fys-sendung-fehler { color: #8A2B1D; font-size: .9375rem; max-width: 30rem; }

.fys-sendung-stand { padding: 1.25rem; background: var(--fys-grau); border-radius: var(--fys-radius); margin-block: 1.25rem; max-width: 40rem; }
.fys-sendung-abschnitt { margin-block: 1.5rem; }
.fys-sendung-titel { font-size: 1.25rem; font-weight: 700; margin: 0 0 .25rem; }
.fys-sendung-kopf { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; margin-bottom: 1.1rem; }
.fys-sendung-nr { font-weight: 700; font-size: 1.05rem; }
.fys-pille { display: inline-block; padding: .35rem .85rem; border-radius: 999px; background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); font-size: .8125rem; font-weight: 600; white-space: nowrap; }
.fys-pille--fertig  { background: #2E6B45; }
.fys-pille--problem { background: #8A2B1D; }

.fys-schritte { list-style: none; margin: 0 0 1.25rem; padding: 0; display: grid; grid-template-columns: repeat(5, 1fr); position: relative; }
.fys-schritte::before { content: ""; position: absolute; left: 10%; right: 10%; top: 7px; height: 2px; background: var(--wp--preset--color--linie); }
.fys-schritte li { position: relative; text-align: center; font-size: .6875rem; line-height: 1.25; color: var(--wp--preset--color--taupe); display: grid; justify-items: center; gap: .45rem; margin: 0; padding: 0; }
.fys-schritte li::after { content: ""; position: absolute; top: 7px; left: -50%; width: 100%; height: 2px; background: var(--wp--preset--color--tinte); display: none; }
.fys-schritte li.ist-fertig + li.ist-fertig::after, .fys-schritte li.ist-fertig + li.ist-aktuell::after { display: block; }
.fys-schritt-punkt { position: relative; z-index: 1; width: 16px; height: 16px; border-radius: 50%; background: #fff; border: 2px solid var(--wp--preset--color--linie); box-sizing: border-box; transition: background var(--fys-schnell), border-color var(--fys-schnell), box-shadow var(--fys-schnell); }
.fys-schritte li.ist-fertig .fys-schritt-punkt, .fys-schritte li.ist-aktuell .fys-schritt-punkt { background: var(--wp--preset--color--tinte); border-color: var(--wp--preset--color--tinte); }
.fys-schritte li.ist-aktuell .fys-schritt-punkt { box-shadow: 0 0 0 4px rgba(27, 25, 23, .14); }
.fys-schritte li.ist-fertig, .fys-schritte li.ist-aktuell { color: var(--wp--preset--color--tinte); }
.fys-schritte li.ist-aktuell { font-weight: 700; }

.fys-sendung-nummer { display: flex; justify-content: space-between; align-items: center; gap: .75rem; flex-wrap: wrap; padding: .9rem 1rem; background: #fff; border-radius: var(--fys-radius-s); margin-bottom: 1.25rem; font-size: .9375rem; }
.fys-sendung-nummer code { font-family: inherit; font-weight: 700; background: none; padding: 0; letter-spacing: .03em; overflow-wrap: anywhere; }
.fys-sendung-nummer .fys-sendung-link { font-size: .8125rem !important; padding: .6rem 1.1rem !important; min-height: 40px; }   /* !important: die globale Pillen-Regel oben hat auch eins */
.fys-sendung-hinweis { font-size: .875rem; color: var(--wp--preset--color--taupe); margin: 0 0 1rem; }

.fys-verlauf { list-style: none; margin: 0; padding: 0 0 0 1.25rem; border-left: 2px solid var(--wp--preset--color--linie); display: grid; gap: 1rem; }
.fys-verlauf li { position: relative; display: grid; gap: .15rem; margin: 0; }
.fys-verlauf li::before { content: ""; position: absolute; left: calc(-1.25rem - 6px); top: .3rem; width: 10px; height: 10px; border-radius: 50%; background: var(--wp--preset--color--linie); }
.fys-verlauf li.ist-aktuell::before { background: var(--wp--preset--color--tinte); box-shadow: 0 0 0 3px rgba(27, 25, 23, .12); }
.fys-verlauf time { font-size: .75rem; color: var(--wp--preset--color--taupe); letter-spacing: .02em; }
.fys-verlauf-text { display: grid; gap: .1rem; }
.fys-verlauf-text strong { font-weight: 700; }
.fys-verlauf-text span { font-size: .9375rem; color: var(--wp--preset--color--graphit); }
.fys-verlauf-text small { font-size: .8125rem; color: var(--wp--preset--color--taupe); }
@media (prefers-reduced-motion: reduce) { .fys-schritt-punkt { transition: none; } }

/* ---- Welle 15b — Rabatt: alter Preis durchgestrichen, neuer betont, Prozent-Pille ---- */
.onsale, .wc-block-grid__product-onsale { display: none !important; }
.price del, .wc-block-grid__product-price del { color: var(--wp--preset--color--taupe); font-weight: 400; text-decoration: line-through; margin-right: .4rem; }
.price ins, .wc-block-grid__product-price ins { text-decoration: none; color: var(--wp--preset--color--tinte); font-weight: 700; }
.single-product .wc-block-components-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .5rem; margin-bottom: .5rem; }
.single-product .wc-block-components-product-price del { font-size: .7em; }
.fys-abzeichen--rabatt { left: auto; right: .6rem; background: var(--wp--preset--color--bronze-text); color: #fff; }
.fys-rabatt { display: flex; align-items: center; flex-wrap: wrap; gap: .6rem; margin: 0 0 1rem; }
.fys-rabatt-pille { display: inline-block; padding: .3rem .7rem; border-radius: 999px; background: var(--wp--preset--color--bronze-text); color: #fff; font-size: .8125rem; font-weight: 700; letter-spacing: .02em; }
.fys-rabatt-text { font-size: .875rem; color: var(--wp--preset--color--taupe); }

/* Lange Seitentitel und die Sendungsnummer-Zeile auf dem Handy */
h1.wp-block-post-title { hyphens: auto; -webkit-hyphens: auto; overflow-wrap: anywhere; }
@media (max-width: 480px) {
	h1.wp-block-post-title { font-size: clamp(1.75rem, 8.5vw, 2.4rem); }
	.fys-sendung-nummer { display: grid; }
	.fys-sendung-nummer .fys-knopf-pill { text-align: center; }
}

/* ---- Impressum ---- */
.fys-impressum h2 { font-size: 1.05rem; margin: 1.6rem 0 .45rem; }
.fys-impressum h2:first-child { margin-top: .25rem; }
.fys-impressum-anschrift { font-style: normal; line-height: 1.65; }
.fys-impressum p { max-width: 60ch; }

/* Germanized-Preislabels („Neuer Preis:" vor beiden Preisen) — WooCommerce liefert die Screenreader-Wörter schon selbst */
.wc-gzd-sale-price-label { display: none !important; }
.wc-gzd-additional-info.shipping-costs-info, .wc-gzd-additional-info-loop { font-size: .75rem; color: var(--wp--preset--color--taupe); margin: .1rem 0 0; }

/* ==========================================================================
   Welle 16 — Kasse & Warenkorb: ein Ton, ein Knopf, klare Schritte
   ========================================================================== */
.fys-kasse-kopf { margin: 0 0 1.5rem; }
.fys-kasse-titel { font-size: clamp(1.6rem, 4vw, 2.25rem); margin: 0 0 1rem; letter-spacing: -.01em; }
.woocommerce-checkout h1.wp-block-post-title { display: none; }   /* die Kasse hat ihren eigenen Kopf */
.fys-schritte--kasse { grid-template-columns: repeat(4, 1fr); max-width: 32rem; margin: 0 0 .25rem; }
.fys-schritte--kasse::before { left: 12.5%; right: 12.5%; }
.woocommerce-checkout h3, .woocommerce-cart .cart_totals h2, #order_review_heading { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--taupe); margin: 0 0 .9rem; }
.woocommerce-additional-fields > h3:empty { display: none; }
.woocommerce-checkout .form-row .description { display: block; font-size: .8125rem; color: var(--wp--preset--color--taupe); margin: .3rem 0 0; }
.woocommerce-checkout .input-text, .woocommerce-checkout select, .woocommerce-checkout .select2-container--default .select2-selection--single { min-height: 52px; border-radius: 12px !important; font-size: 16px; }
.woocommerce-checkout .required { color: var(--wp--preset--color--bronze-text); text-decoration: none; }
#order_review { background: var(--fys-grau); border: 0; border-radius: var(--fys-radius); padding: 1.25rem; }
#payment ul.payment_methods li { background: #fff; border: 1.5px solid transparent; border-radius: var(--fys-radius-s); }
#payment ul.payment_methods li:has(input:checked) { border-color: var(--wp--preset--color--tinte); }
#payment ul.payment_methods label img { display: none; }
input.input-radio, .legal input[type="checkbox"], .wc-gzd-checkbox-placeholder input[type="checkbox"] { accent-color: var(--wp--preset--color--tinte); width: 20px; height: 20px; margin-right: .6rem; vertical-align: -4px; }
.woocommerce-checkout-review-order-table tr.fee th, .woocommerce-checkout-review-order-table tr.fee td { color: var(--wp--preset--color--bronze-text); font-weight: 600; }
.woocommerce-checkout-review-order-table tr.shipping, .woocommerce-checkout-review-order-table tr.order-tax, .cart_totals tr.shipping, .cart_totals tr.order-tax { font-size: .8125rem; color: var(--wp--preset--color--taupe); }
.woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail img, .woocommerce-checkout-review-order-table img { width: 56px; height: 72px; object-fit: cover; border-radius: 10px; }
#place_order { min-height: 56px; font-size: 1.0625rem !important; padding: 1.05rem 2rem !important; width: 100%; }
.wc-gzd-checkbox-placeholder-legal .legal, .woocommerce-gzd-legal-checkbox-text { background: #fff; padding: 1rem; border-radius: var(--fys-radius-s); margin: .75rem 0; display: block; font-size: .875rem; }
.fys-kasse-danach { margin: 0 0 1rem; }
.fys-kasse-danach p { font-size: .9375rem; color: var(--wp--preset--color--graphit); margin: 0 0 .75rem; }
.fys-kasse-vertrauen { list-style: none; margin: 0; padding: 0; display: grid; gap: .5rem; font-size: .8125rem; }
.fys-kasse-vertrauen li { display: flex; align-items: center; gap: .55rem; }
.fys-kasse-vertrauen svg { color: var(--wp--preset--color--bronze-text); flex: none; }
.fys-kasse-ohne { display: block; margin-bottom: .75rem; }
.fys-kasse-alternativ { display: inline-flex !important; }
.woocommerce-notice, .woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: var(--fys-radius-s); border: 1px solid var(--wp--preset--color--linie); background: #fff; color: var(--wp--preset--color--tinte); }
/* Handy: Uebersicht oben, einklappbar */
.fys-kasse-summe { display: none; background: var(--fys-grau); border-radius: var(--fys-radius); padding: .25rem 1.1rem; margin: 0 0 1.25rem; }
.fys-kasse-summe summary { display: flex; justify-content: space-between; align-items: center; padding: .9rem 0; cursor: pointer; list-style: none; font-weight: 600; }
.fys-kasse-summe summary::-webkit-details-marker { display: none; }
.fys-kasse-summe summary::after { content: ""; width: 8px; height: 8px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); margin-left: .6rem; transition: transform var(--fys-schnell); }
.fys-kasse-summe[open] summary::after { transform: rotate(225deg); }
.fys-kasse-summe-inhalt { padding: 0 0 1rem; }
.fys-kasse-summe-inhalt table { width: 100%; font-size: .875rem; }
@media (max-width: 899px) { .fys-kasse-summe { display: block; } }
/* Warenkorb */
.woocommerce-cart table.shop_table.cart thead { display: none; }
.woocommerce-cart table.shop_table.cart td { border: 0; }
.woocommerce-cart table.shop_table.cart tr { border-bottom: 1px solid var(--wp--preset--color--linie); }
.woocommerce-cart .quantity { display: inline-flex; align-items: center; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff; }
.woocommerce-cart .quantity input.qty { width: 3rem; border: 0; background: transparent; text-align: center; font-size: 16px; -moz-appearance: textfield; }
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button, .woocommerce-cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fys-menge { width: 44px; height: 44px; border: 0; border-radius: 999px; background: transparent; font-size: 1.25rem; line-height: 1; cursor: pointer; color: var(--wp--preset--color--tinte); }
.fys-menge:hover { background: var(--fys-grau); }
body.fys-js .woocommerce-cart button[name="update_cart"] { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.woocommerce-cart a.remove.fys-entfernen { display: inline-block; width: auto; height: auto; padding: .35rem 0; background: transparent !important; color: var(--wp--preset--color--taupe) !important; font-size: .8125rem; line-height: 1.3; text-decoration: underline; text-underline-offset: 2px; border-radius: 0; }
.woocommerce-cart a.remove.fys-entfernen:hover { color: #8A2B1D !important; }
.woocommerce-cart .cart_totals { background: var(--fys-grau); border: 0; border-radius: var(--fys-radius); padding: 1.25rem; }
.fys-weiter-einkaufen { display: block; text-align: center; margin: 1rem 0 0; font-size: .875rem; color: var(--wp--preset--color--taupe); }
.fys-krypto-hinweis--korb { display: flex; flex-wrap: wrap; gap: .3rem .45rem; align-items: baseline; border: 0; background: #fff; border-radius: var(--fys-radius-s); padding: .75rem 1rem; margin: 0 0 1rem; font-size: .875rem; }
.fys-krypto-hinweis--korb strong { font-size: 1.05rem; }
.fys-korb-leiste { display: none; }
@media (max-width: 700px) {
	.fys-korb-leiste { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--wp--preset--color--creme) 92%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--wp--preset--color--linie); }
	.fys-korb-leiste[hidden] { display: none; }
	.fys-korb-leiste .fys-knopf-pill { min-height: 44px; padding: .7rem 1.4rem !important; font-size: .9375rem !important; }
}
.wc-empty-cart-message svg { display: none; }
.wc-empty-cart-message .wc-block-components-notice-banner { border: 0; background: transparent; padding: 0; justify-content: center; font-size: var(--wp--preset--font-size--titel-s, 1.5rem); color: var(--wp--preset--color--tinte); }
.fys-korb-leer { margin-top: var(--wp--preset--spacing--40, 2rem); }
.fys-korb-leer ul.products { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) { .fys-korb-leer ul.products { grid-template-columns: repeat(4, 1fr); } }
.fys-korb-leer .fys-hinweis { text-align: center; margin-top: 1.5rem; }
/* Zahlungslink- und Danke-Seite */
.fys-zahlungslink-text { max-width: 60ch; margin: 0 0 1.5rem; font-size: 1.0625rem; }
.fys-danke { margin: 1rem 0 1.5rem; display: grid; gap: .75rem; justify-items: start; }
.fys-danke-hinweis { font-size: .875rem; color: var(--wp--preset--color--taupe); margin: 0; }
.fys-danke-links { display: flex; flex-wrap: wrap; gap: .6rem; align-items: center; }
.fys-danke-links .fys-knopf-pill--hell { border: 1px solid var(--wp--preset--color--linie); }
.fys-danke-weiter { font-size: .875rem; color: var(--wp--preset--color--taupe); margin-left: .25rem; }
.fys-danke-seite .wc-block-order-confirmation-status { margin-bottom: .75rem; }

/* ==========================================================================
   Welle 16b — Produktseite: Galerie | Info, ein Preis, ein Knopf, Akkordeons
   ========================================================================== */
.fys-produkt .wc-block-breadcrumbs { font-size: .8125rem; color: var(--wp--preset--color--taupe); margin: .5rem 0 1rem; }
.fys-produkt .woocommerce-breadcrumb a { color: inherit; }
.fys-produkt-spalten { gap: 2rem; }
.fys-produkt-galerie .woocommerce-product-gallery { border-radius: var(--fys-radius); overflow: hidden; background: var(--fys-grau); }
.fys-produkt-galerie .woocommerce-product-gallery__image img { width: 100%; height: auto; display: block; }
.fys-produkt-galerie .flex-control-thumbs { display: flex; gap: .5rem; margin: .6rem 0 0; padding: 0; list-style: none; }
.fys-produkt-galerie .flex-control-thumbs li { width: 64px; margin: 0; }
.fys-produkt-galerie .flex-control-thumbs img { border-radius: 10px; opacity: .55; transition: opacity var(--fys-schnell); cursor: pointer; }
.fys-produkt-galerie .flex-control-thumbs img.flex-active, .fys-produkt-galerie .flex-control-thumbs img:hover { opacity: 1; }
.fys-produkt-galerie .onsale { display: none !important; }
.fys-produkt-kicker { display: flex; align-items: center; gap: .5rem; margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--taupe); }
.fys-produkt-kicker a { color: inherit; text-decoration: none; }
.fys-produkt-kicker a:hover { color: var(--wp--preset--color--tinte); }
.fys-produkt-info h1.wp-block-post-title { font-size: clamp(1.6rem, 3.6vw, 2.4rem); line-height: 1.12; letter-spacing: -.015em; margin: 0 0 .6rem; }
.fys-produkt-info .wc-block-components-product-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: .15rem .6rem; font-size: 1.5rem; font-weight: 600; margin: 0 0 .2rem; }
.fys-produkt-info .wc-block-components-product-price del { font-size: 1rem; font-weight: 400; order: 2; }
.fys-produkt-info .wc-block-components-product-price ins { order: 1; }
.fys-preis-info { margin: 0 0 .9rem; font-size: .8125rem; color: var(--wp--preset--color--taupe); }
.fys-produkt-info .fys-rabatt { margin: 0 0 .6rem; }
.fys-produkt-info .fys-krypto-hinweis { font-size: .875rem; color: var(--wp--preset--color--graphit); margin: 0 0 1rem; }
.fys-produkt-info .wp-block-post-excerpt { margin: 0 0 1rem; }
.fys-produkt-info .wp-block-post-excerpt__excerpt { font-size: .9375rem; color: var(--wp--preset--color--graphit); margin: 0; }
.fys-produkt-material { font-size: .875rem; color: var(--wp--preset--color--graphit); margin: 0 0 1rem; }
.fys-produkt-material span { font-weight: 700; color: var(--wp--preset--color--tinte); margin-right: .35rem; }
.fys-produkt-info .wc-block-add-to-cart-form form.cart, .fys-produkt-info form.cart { display: grid !important; gap: .9rem; margin: 0 0 1rem; }
.fys-produkt-info .wc-block-add-to-cart-form { margin: 0; }
.fys-produkt-info form.cart .quantity { display: inline-flex; align-items: center; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff; }
.fys-produkt-info form.cart .quantity input.qty { width: 3rem; border: 0; background: transparent; text-align: center; font-size: 16px; -moz-appearance: textfield; }
.fys-produkt-info form.cart .quantity input.qty::-webkit-outer-spin-button, .fys-produkt-info form.cart .quantity input.qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fys-produkt-info .wc-block-add-to-cart-form .single_add_to_cart_button, .fys-produkt-info .single_add_to_cart_button { width: 100% !important; min-height: 56px; font-size: 1.0625rem !important; }
.fys-produkt-info form.cart .fys-lieferung { margin: 0; }
.fys-produkt-info table.variations { margin: 0; }
.fys-produkt-info table.variations th, .fys-produkt-info table.variations td { padding: 0 0 .5rem; border: 0; display: block; }
.fys-produkt-info table.variations th label { font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--taupe); }
.fys-produkt-info select.fys-gespiegelt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.fys-pillen { display: flex; flex-wrap: wrap; gap: .5rem; }
.fys-pille-wahl { min-width: 48px; min-height: 44px; padding: .5rem .9rem; border: 1.5px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff; font: inherit; font-size: .9375rem; cursor: pointer; transition: border-color var(--fys-schnell), background var(--fys-schnell), color var(--fys-schnell); }
.fys-pille-wahl.ist-gewaehlt { border-color: var(--wp--preset--color--tinte); background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); }
.fys-pille-wahl:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.fys-produkt-info .reset_variations { font-size: .8125rem; }
.fys-produkt-vertrauen { list-style: none; margin: 0 0 1.25rem; padding: .9rem 1rem; background: var(--fys-grau); border-radius: var(--fys-radius-s); display: grid; gap: .5rem; font-size: .8125rem; }
.fys-produkt-vertrauen li { display: flex; align-items: center; gap: .55rem; }
.fys-produkt-vertrauen svg { color: var(--wp--preset--color--bronze-text); flex: none; }
.fys-produkt-info .fys-stueck-kopf { margin: 0 0 .75rem; }
.fys-kaufleiste { display: none; }
@media (max-width: 700px) {
	.fys-kaufleiste { position: fixed; left: 0; right: 0; bottom: 0; z-index: 95; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: .7rem 1rem calc(.7rem + env(safe-area-inset-bottom)); background: color-mix(in srgb, var(--wp--preset--color--creme) 92%, transparent); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); border-top: 1px solid var(--wp--preset--color--linie); }
	.fys-kaufleiste[hidden] { display: none; }
	.fys-kaufleiste-preis { font-weight: 700; font-size: 1.05rem; }
	.fys-kaufleiste .fys-knopf-pill { min-height: 44px; padding: .7rem 1.4rem !important; font-size: .9375rem !important; }
}
.fys-produkt-details { max-width: 44rem; margin: 2rem 0 0; }
.fys-akkordeon { border-top: 1px solid var(--wp--preset--color--linie); }
.fys-akkordeon:last-child { border-bottom: 1px solid var(--wp--preset--color--linie); }
.fys-akkordeon summary { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 0; cursor: pointer; list-style: none; font-weight: 600; font-size: 1rem; }
.fys-akkordeon summary::-webkit-details-marker { display: none; }
.fys-akkordeon summary svg { flex: none; transition: transform var(--fys-schnell); }
.fys-akkordeon[open] summary svg { transform: rotate(180deg); }
.fys-akkordeon-inhalt { padding: 0 0 1.25rem; font-size: .9375rem; color: var(--wp--preset--color--graphit); }
.fys-akkordeon-inhalt h2, .fys-akkordeon-inhalt h4 { font-size: 1rem; margin: 0 0 .5rem; }
.fys-akkordeon-inhalt .fys-stueck { margin: 0; }
.fys-akkordeon-inhalt .fys-material { display: grid; gap: .5rem; margin: 0; }
.fys-akkordeon-inhalt .fys-material div { display: grid; grid-template-columns: 9rem 1fr; gap: .5rem; }
.fys-akkordeon-inhalt .fys-material dt { font-weight: 700; color: var(--wp--preset--color--tinte); }
.fys-akkordeon-inhalt .fys-material dd { margin: 0; }
.fys-verwandt { margin: 2.5rem 0 0; }
.fys-verwandt-titel { font-size: 1.35rem; margin: 0 0 1rem; }
.fys-verwandt ul.products { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 700px) { .fys-verwandt ul.products { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 899px) { .fys-produkt-spalten { gap: 1.25rem; } .fys-produkt-info { margin-top: .25rem; } }

/* ==========================================================================
   Welle 16c — Shop-Übersichten, Leerzustände, 404, Ankündigung
   ========================================================================== */
.fys-shop .woocommerce-products-header { margin: .5rem 0 1rem; }
.fys-shop .woocommerce-products-header__title { font-size: clamp(1.75rem, 4vw, 2.6rem); letter-spacing: -.015em; margin: 0 0 .35rem; }
.fys-shop-untertitel { margin: 0 0 .5rem; color: var(--wp--preset--color--graphit); max-width: 50ch; }
.fys-shop .term-description { color: var(--wp--preset--color--graphit); max-width: 50ch; }
.fys-chips { display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; margin: 0 -1rem 1rem; padding: 0 1rem .25rem; scroll-snap-type: x proximity; -webkit-overflow-scrolling: touch; }
.fys-chips::-webkit-scrollbar { display: none; }
.fys-chip { flex: none; scroll-snap-align: start; display: inline-flex; align-items: center; min-height: 40px; padding: .45rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff; color: var(--wp--preset--color--tinte); font-size: .875rem; font-weight: 600; text-decoration: none; white-space: nowrap; transition: background var(--fys-schnell), border-color var(--fys-schnell), color var(--fys-schnell); }
.fys-chip:hover { border-color: var(--wp--preset--color--tinte); }
.fys-chip[aria-current="page"] { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--tinte); }
.fys-chip--voll { background: var(--fys-grau); }
.fys-chips--unten { flex-wrap: wrap; overflow: visible; margin: 0; padding: 0; }
.fys-werkzeuge { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 0 0 1.25rem; }
.fys-werkzeuge::after { display: none; }
.fys-shop-anzahl { margin: 0; font-size: .875rem; color: var(--wp--preset--color--taupe); }
.fys-shop .woocommerce-ordering { float: none !important; margin: 0 !important; }
.fys-shop .woocommerce-ordering select { min-height: 40px; padding: .35rem 2rem .35rem .9rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff; font: inherit; font-size: 16px; }
.fys-shop .woocommerce-result-count { display: none; }
.fys-leer { max-width: 44rem; margin: 1rem 0 2rem; }
.fys-leer-titel { font-size: clamp(1.4rem, 3.5vw, 2rem); margin: 0 0 .5rem; }
.fys-leer-text { color: var(--wp--preset--color--graphit); margin: 0 0 1.25rem; max-width: 46ch; }
.fys-suche--leer { display: flex; gap: .5rem; max-width: 30rem; margin: 0 0 1.25rem; }
.fys-suche--leer input[type="search"] { flex: 1; min-height: 52px; padding: .8rem 1.1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff; font: inherit; font-size: 16px; }
.fys-suche--leer .fys-suche-knopf { width: 52px; height: 52px; border-radius: 999px; border: 0; background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.fys-leer-knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 2rem; }
.fys-leer .fys-kacheln, .fys-fehlt .fys-kacheln { margin-top: .5rem; }
.fys-weitere { margin: 2rem 0 0; }
.fys-weitere .fys-kicker { margin: 0 0 .75rem; }
.woocommerce-no-products-found .wc-block-components-notice-banner { display: none; }
/* Karten: gleich hohe Reihen, Titel max. zwei Zeilen, Tipp-Feedback */
ul.products li.product .woocommerce-loop-product__title { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
ul.products li.product:active { transform: scale(.985); transition: transform .12s ease; }
@media (hover: none) { .wc-block-grid__product:hover, ul.products li.product:hover { transform: none; box-shadow: none; } .wc-block-grid__product:hover .wc-block-grid__product-image img, ul.products li.product:hover img { transform: none; } }
/* 404 */
.fys-fehlt { padding: 2rem 0 3rem; }
.fys-fehlt h1 { font-size: clamp(1.75rem, 4.5vw, 2.6rem); margin: .25rem 0 .5rem; letter-spacing: -.015em; }
.fys-fehlt > p:not(.fys-kicker) { color: var(--wp--preset--color--graphit); max-width: 46ch; margin: 0 0 1.25rem; }
.fys-fehlt-knoepfe { margin: 0 0 2.5rem; }
.fys-fehlt-kicker { margin-bottom: .75rem; }
/* Ankündigung: verlinkt, darf auf dem Handy zwei Zeilen haben */
.fys-ankuendigung p { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; text-wrap: balance; line-height: 1.4; }
.fys-ankuendigung-link { display: inline-flex; align-items: center; justify-content: center; gap: .35rem; color: inherit; text-decoration: none; min-height: 32px; }
.fys-ankuendigung-link:hover { color: #C9A97A; }
.fys-ankuendigung-link svg { flex: none; }

/* ==========================================================================
   Welle 16d — Konto, Infoseiten, Seiten-Abschluss, Kreis, FAQ, Tabellen
   ========================================================================== */
.fys-seite h1.wp-block-post-title, .fys-konto h1.wp-block-post-title { font-size: clamp(1.75rem, 4.5vw, 2.6rem); letter-spacing: -.015em; margin: 0 0 .75rem; }
.fys-lead { font-size: 1.125rem; color: var(--wp--preset--color--graphit); max-width: 50ch; margin: 0 0 1.5rem; }
.fys-seiten-statement { font-size: clamp(1.5rem, 3.5vw, 2.1rem); margin: 0 0 .75rem; letter-spacing: -.01em; }
.fys-kontakt { margin-top: var(--wp--preset--spacing--50, 3rem); padding: 1.75rem 1.5rem; border-radius: var(--fys-radius); background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); display: grid; gap: 1.25rem; }
.fys-kontakt-titel { font-size: 1.35rem; margin: 0 0 .35rem; color: inherit; }
.fys-kontakt-text p { margin: 0; color: rgba(245, 240, 230, .8); max-width: 46ch; }
.fys-kontakt-knoepfe { display: flex; flex-wrap: wrap; gap: .6rem; }
.fys-knopf-pill--linie { background: transparent; color: inherit; border: 1.5px solid rgba(245, 240, 230, .5); }
.fys-knopf-pill--linie:hover { border-color: currentColor; }
@media (min-width: 700px) { .fys-kontakt { grid-template-columns: 1fr auto; align-items: center; padding: 2rem 2.25rem; } }
.fys-schritte-liste { list-style: none; counter-reset: schritt; margin: 0 0 2rem; padding: 0; display: grid; gap: .75rem; }
.fys-schritte-liste li { counter-increment: schritt; display: grid; grid-template-columns: 2.5rem 1fr; gap: .25rem .75rem; padding: 1rem 1.1rem; background: var(--fys-grau); border-radius: var(--fys-radius-s); }
.fys-schritte-liste li::before { content: counter(schritt); grid-row: 1 / 3; width: 2.5rem; height: 2.5rem; border-radius: 50%; background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); display: grid; place-items: center; font-weight: 700; }
.fys-schritte-liste strong { font-size: 1.05rem; }
.fys-schritte-liste span { color: var(--wp--preset--color--graphit); font-size: .9375rem; }
@media (min-width: 700px) { .fys-schritte-liste { grid-template-columns: repeat(3, 1fr); } .fys-schritte-liste li { grid-template-columns: 1fr; } .fys-schritte-liste li::before { grid-row: auto; margin-bottom: .25rem; } }
/* Sendungsverfolgung */
@media (max-width: 700px) { .fys-sendung-form button { justify-self: stretch; width: 100%; } }
.fys-sendung-fehler { padding: .9rem 1.1rem; border-radius: var(--fys-radius-s); background: #FBEDEA; border: 1px solid #E8C3BC; color: #8A2B1D; margin: .75rem 0 0; max-width: 30rem; }
.fys-schritte li { font-size: .75rem; }
@media (max-width: 400px) { .fys-schritte li:not(.ist-aktuell) .fys-schritt-wort { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } .fys-schritte li.ist-aktuell .fys-schritt-wort { white-space: nowrap; } }
.fys-sendung-weiter { display: flex; flex-wrap: wrap; gap: .6rem; margin: 0 0 1.5rem; }
.fys-sendung-weiter .fys-knopf-pill--linie { color: var(--wp--preset--color--tinte); border-color: var(--wp--preset--color--linie); }
.fys-sendung-andere summary { cursor: pointer; font-weight: 600; padding: .5rem 0; list-style: none; }
.fys-sendung-andere summary::-webkit-details-marker { display: none; }
.fys-sendung-andere summary::before { content: "+ "; color: var(--wp--preset--color--taupe); }
.fys-sendung-andere[open] summary::before { content: "− "; }
/* Kreis */
.fys-kreis-karte { padding: 1.25rem; border-radius: var(--fys-radius); background: var(--fys-grau); max-width: 30rem; margin: 0 0 1.25rem; }
.fys-kreis .fys-kreis-karte { background: transparent; padding: 0; margin: 0 auto; }
.fys-kreis-form input[type="tel"] { border: 1px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius-s); background: #fff; padding: .95rem 1.1rem; font-size: 16px; }
.fys-kreis-karte .fys-kreis-form { margin: 0; }
@media (max-width: 700px) { .fys-kreis-form button { flex-basis: 100%; width: 100%; } }
.fys-kreis-danke { max-width: 30rem; margin: 0 0 1.25rem; padding: 1.5rem; border: 0; border-radius: var(--fys-radius); background: var(--fys-grau); text-align: left; display: grid; gap: .5rem; justify-items: start; }
.fys-kreis .fys-kreis-danke { margin-inline: auto; text-align: center; justify-items: center; }
.fys-kreis-haken { color: #2E6B45; }
.fys-kreis-danke p { margin: 0; }
.fys-kreis-danke-link { font-size: .875rem; color: var(--wp--preset--color--taupe); }
.fys-kreis-fehler { color: #8A2B1D; margin: .5rem 0 0; }
/* FAQ */
.fys-faq-eintrag summary { min-height: 56px; }
.fys-faq-eintrag summary:focus-visible { outline: 2px solid var(--wp--preset--color--bronze); outline-offset: -2px; border-radius: var(--fys-radius-s); }
.fys-faq-antwort a { text-decoration: underline; text-underline-offset: 3px; }
/* Tabellen */
.fys-tabelle table { min-width: 0; width: 100%; font-variant-numeric: tabular-nums; }
.fys-tabelle table:has(th:nth-child(6)) { min-width: 34rem; }
.fys-tabelle { border: 1px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius-s); overflow: hidden; overflow-x: auto; background: #fff; }
.fys-tabelle th { background: var(--fys-grau); white-space: nowrap; }
.fys-tabelle tbody tr:nth-child(even) td { background: #FAF8F4; }
.fys-tabelle td:first-child, .fys-tabelle th:first-child { position: sticky; left: 0; background: inherit; z-index: 1; box-shadow: 1px 0 0 var(--wp--preset--color--linie); font-weight: 700; }
.fys-tabelle tbody tr:last-child td { border-bottom: 0; }
@media (max-width: 700px) { .fys-tabelle th, .fys-tabelle td { padding: .65rem .6rem; font-size: .9375rem; } }
/* Mein Konto */
.woocommerce-account .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
.woocommerce-MyAccount-navigation ul { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; margin: 0 -1rem 1.5rem; padding: 0 1rem .25rem; -webkit-overflow-scrolling: touch; }
.woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
.woocommerce-MyAccount-navigation li { flex: 0 0 auto; }
.woocommerce-MyAccount-navigation ul li a { min-height: 40px; display: inline-flex; align-items: center; }
@media (min-width: 900px) { .woocommerce-MyAccount-navigation ul { flex-wrap: wrap; overflow: visible; margin: 0 0 2rem; padding: 0; } }
.fys-konto-lead { margin-bottom: 1rem; }
.fys-konto-hallo { margin-bottom: 1rem; }
#customer_login { display: grid; gap: 1.25rem; }
@media (min-width: 900px) { #customer_login { grid-template-columns: 1fr 1fr; align-items: start; } }
#customer_login .u-column1, #customer_login .u-column2 { float: none; width: 100%; }
.woocommerce-account .woocommerce-form-login, .woocommerce-account .woocommerce-form-register, .woocommerce-account .woocommerce-ResetPassword, .woocommerce-account .woocommerce-EditAccountForm, .woocommerce-account .woocommerce-address-fields { max-width: 640px; padding: 1.5rem; border: 0; border-radius: var(--fys-radius); background: var(--fys-grau); }
#customer_login h2 { font-size: 1.2rem; margin: 0 0 .75rem; }
.woocommerce-account .form-row-first, .woocommerce-account .form-row-last { float: none; width: 100%; }
.woocommerce-account .form-row { margin: 0 0 .85rem; }
.woocommerce-account .form-row label { font-size: .8125rem; font-weight: 600; letter-spacing: .02em; }
.woocommerce-account .input-text, .woocommerce-account select, .woocommerce-account textarea, .woocommerce-account .select2-container--default .select2-selection--single { width: 100%; min-height: 52px; padding: .8rem 1rem; border: 1px solid var(--wp--preset--color--linie); border-radius: 12px !important; background: #fff; font: inherit; font-size: 16px; }
.woocommerce-account .woocommerce-Button, .woocommerce-account button[type="submit"], .woocommerce-account .woocommerce-form-login__submit { width: 100%; min-height: 52px; }
@media (min-width: 700px) { .woocommerce-account .woocommerce-Button, .woocommerce-account button[type="submit"], .woocommerce-account .woocommerce-form-login__submit { width: auto; min-width: 12rem; } }
.woocommerce-address-fields__field-wrapper, .woocommerce-EditAccountForm { display: grid; gap: .25rem; }
@media (min-width: 700px) { .woocommerce-address-fields__field-wrapper { grid-template-columns: 1fr 1fr; column-gap: .85rem; } .woocommerce-address-fields__field-wrapper .form-row-wide { grid-column: 1 / -1; } }
.woocommerce-EditAccountForm fieldset { border: 0; padding: 1rem 0 0; margin: .5rem 0 0; border-top: 1px solid var(--wp--preset--color--linie); }
.woocommerce-EditAccountForm legend { font-weight: 600; padding: 0 0 .5rem; }
.fys-konto-vorteile { list-style: none; margin: 0 0 1rem; padding: 0; display: grid; gap: .35rem; font-size: .875rem; color: var(--wp--preset--color--graphit); }
.fys-konto-vorteile li::before { content: "✓ "; color: #2E6B45; font-weight: 700; }
.fys-konto-gast { margin: 1.5rem 0 0; padding: 1.5rem; border-radius: var(--fys-radius); background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); display: grid; gap: .5rem; justify-items: start; }
.fys-konto-gast h2 { margin: 0; font-size: 1.25rem; color: inherit; }
.fys-konto-gast p { margin: 0 0 .5rem; color: rgba(245, 240, 230, .8); max-width: 46ch; }
.fys-konto-gast .fys-knopf-pill { background: #fff; color: var(--wp--preset--color--tinte); }
.fys-konto-gast-symbol { color: #C9A97A; }
.fys-konto-hinweis { display: flex; justify-content: space-between; align-items: center; gap: 1rem; flex-wrap: wrap; padding: 1rem 1.25rem; border-radius: var(--fys-radius-s); background: #FBF3E0; margin: 0 0 1.25rem; }
.fys-konto-hinweis strong { display: block; }
.fys-konto-hinweis span { font-size: .875rem; color: var(--wp--preset--color--graphit); }
.fys-konto-hinweis-zeile { font-size: .875rem; margin: -.5rem 0 1.25rem; }
.fys-konto-letzte { margin: 0 0 1.5rem; }
.fys-konto-leer { color: var(--wp--preset--color--taupe); margin: 0 0 1.5rem; }
.fys-konto-kacheln { margin: 0 0 1rem; }
.fys-kachel--flach { aspect-ratio: auto; min-height: 7.5rem; }
.fys-kachel--flach .fys-kachel-symbol { position: absolute; right: 1rem; bottom: 1rem; color: var(--wp--preset--color--taupe); }
table.my_account_orders .fys-pille { font-size: .75rem; padding: .25rem .65rem; }
table.my_account_orders .button { border-radius: 999px !important; padding: .5rem 1rem !important; font-size: .8125rem !important; }
@media (max-width: 700px) {
	table.my_account_orders thead { display: none; }
	table.my_account_orders tr { display: grid; grid-template-columns: 1fr auto; gap: .2rem .75rem; padding: 1rem 0; border-bottom: 1px solid var(--wp--preset--color--linie); }
	table.my_account_orders td { display: block; padding: 0; border: 0; background: transparent; }
	table.my_account_orders td::before { content: none; }
	table.my_account_orders td.woocommerce-orders-table__cell-order-actions { grid-column: 1 / -1; margin-top: .5rem; display: flex; gap: .5rem; }
	table.my_account_orders td.woocommerce-orders-table__cell-order-total { text-align: right; }
}

/* ==========================================================================
   Welle 16e — Rahmen & Politur
   ========================================================================== */
ul.products li.product { width: auto !important; float: none !important; }   /* WooCommerces 22,05-%-Float-Spalten (columns-4) aushebeln */
.fys-vertrauen-leiste { list-style: none; margin: 1.25rem 0 0; padding: 0 0 .25rem; display: flex; gap: .5rem; overflow-x: auto; scrollbar-width: none; scroll-snap-type: x proximity; justify-content: flex-start; -webkit-overflow-scrolling: touch; }
.fys-vertrauen-leiste::-webkit-scrollbar { display: none; }
.fys-vertrauen-leiste li { flex: none; scroll-snap-align: start; display: inline-flex; align-items: center; gap: .4rem; padding: .45rem .85rem; border-radius: 999px; background: rgba(255, 255, 255, .14); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); color: #fff; font-size: .75rem; font-weight: 600; letter-spacing: .02em; white-space: nowrap; margin: 0; }
@media (min-width: 700px) { .fys-vertrauen-leiste { justify-content: center; flex-wrap: wrap; overflow: visible; } }
.fys-produkt-ausverkauft { padding: 1rem 1.1rem; border-radius: var(--fys-radius-s); background: var(--fys-grau); margin: 0 0 1rem; display: grid; gap: .75rem; }
.fys-produkt-ausverkauft p { margin: 0; font-size: .9375rem; }
.fys-produkt-ausverkauft-knoepfe { display: flex; flex-wrap: wrap; gap: .5rem; }
.fys-produkt-ausverkauft .fys-knopf-pill--linie { color: var(--wp--preset--color--tinte); border-color: var(--wp--preset--color--linie); }
@media (max-width: 700px) { .fys-verwandt ul.products { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: .9rem; margin: 0 -1rem; padding: 0 1rem .5rem; scrollbar-width: none; } .fys-verwandt ul.products::-webkit-scrollbar { display: none; } .fys-verwandt ul.products li.product { flex: 0 0 68%; scroll-snap-align: start; } }
.fys-fuss-zahlung { font-size: .8125rem; color: rgba(245, 240, 230, .7); margin: 1.5rem 0 .5rem; }
.fys-menu-cta { margin: .25rem 0 1rem; align-self: flex-start; }
.woocommerce-pagination ul.page-numbers { display: flex; gap: .4rem; list-style: none; margin: 2rem 0 0; padding: 0; justify-content: center; flex-wrap: wrap; }
.woocommerce-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 .9rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--linie); text-decoration: none; color: var(--wp--preset--color--tinte); background: #fff; font-weight: 600; }
.woocommerce-pagination .page-numbers.current { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--tinte); }
.woocommerce-pagination ul.page-numbers li { margin: 0; }
.fys-partner-bestaetigung { margin: 1rem 0; padding: 1rem; background: #fbf3e0; border-radius: 8px; max-width: 70ch; }

/* ---- Sprachen (TranslatePress-Umschalter als Pillen) ---- */
.fys-sprachen { margin: 1rem 0 0; }
.fys-sprachen .trp-language-switcher, .fys-sprachen .trp-ls-shortcode-current-language, .fys-sprachen .trp-ls-shortcode-language { position: static !important; width: auto !important; height: auto !important; box-shadow: none !important; background: transparent !important; border: 0 !important; color: inherit !important; }
.fys-sprachen .trp-language-switcher > div { display: flex; flex-wrap: wrap; gap: .4rem; }
.fys-sprachen .trp-language-switcher a, .fys-sprachen .trp-ls-shortcode-current-language, .fys-sprachen .trp-ls-shortcode-language a { display: inline-flex !important; align-items: center; gap: .35rem; min-height: 36px; padding: .35rem .85rem !important; border: 1px solid rgba(245, 240, 230, .35) !important; border-radius: 999px !important; color: inherit !important; text-decoration: none; font-size: .8125rem; background: transparent !important; }
.fys-sprachen .trp-ls-shortcode-current-language { border-color: currentColor !important; }
.fys-sprachen img.trp-flag-image { width: 16px; height: 16px; border-radius: 50%; object-fit: cover; }
.fys-sprachen--menu { color: var(--wp--preset--color--tinte); margin: 0 0 1rem; }
.fys-sprachen--menu .trp-language-switcher a, .fys-sprachen--menu .trp-ls-shortcode-current-language, .fys-sprachen--menu .trp-ls-shortcode-language a { border-color: var(--wp--preset--color--linie) !important; }

/* ==========================================================================
   Welle 18 — Raster-Fix, Platzhalter, Sprach-Umschalter
   ========================================================================== */
/* WooCommerce gibt den Karten max-width:25 % — in unserem Grid waeren das 25 % EINER SPALTE (75 px). */
.wc-block-grid__products .wc-block-grid__product, .wc-block-grid__product { max-width: none !important; width: auto !important; flex: initial !important; padding: 0 !important; margin: 0 !important; }
.wc-block-grid__products { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)); gap: var(--wp--preset--spacing--40, 2rem) var(--wp--preset--spacing--30, 1.25rem); list-style: none; margin: 0; padding: 0; }
.wc-block-grid__product-image img { aspect-ratio: 3 / 4; object-fit: cover; }

.fys-platzhalter { display: block; width: 100%; aspect-ratio: 3 / 4; border-radius: 12px; background: linear-gradient(140deg, #ECEAE5, #F6F4F0 60%, #E4E1DA); position: relative; overflow: hidden; }
.fys-platzhalter::after { content: attr(data-initial); position: absolute; inset: 0; display: grid; place-items: center; font-family: var(--wp--preset--font-family--prata, serif); font-size: clamp(2.5rem, 12vw, 4.5rem); color: rgba(27, 25, 23, .12); }
.fys-produkt-galerie .fys-platzhalter { aspect-ratio: 4 / 5; border-radius: 0; }

/* Sprach-Umschalter */
.fys-sprachen { display: flex; flex-wrap: wrap; gap: .45rem; }
.fys-sprache { display: inline-flex; align-items: center; gap: .45rem; min-height: 40px; padding: .4rem .9rem; border-radius: 999px; border: 1px solid var(--wp--preset--color--linie); background: #fff; color: var(--wp--preset--color--tinte); text-decoration: none; font-size: .875rem; font-weight: 600; line-height: 1; transition: border-color var(--fys-schnell), background var(--fys-schnell), color var(--fys-schnell); }
.fys-sprache:hover { border-color: var(--wp--preset--color--tinte); }
.fys-sprache.ist-aktiv { background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); border-color: var(--wp--preset--color--tinte); }
.fys-sprache-flagge { font-size: 1.05rem; line-height: 1; }
.fys-sprache-haken { display: inline-flex; opacity: .8; }
.fys-sprachen--fuss { margin: 1.75rem 0 .5rem; }
.fys-sprachen--fuss .fys-sprache { background: transparent; color: var(--wp--preset--color--creme); border-color: rgba(245, 240, 230, .3); }
.fys-sprachen--fuss .fys-sprache:hover { border-color: rgba(245, 240, 230, .7); }
.fys-sprachen--fuss .fys-sprache.ist-aktiv { background: rgba(245, 240, 230, .12); border-color: rgba(245, 240, 230, .6); color: #fff; }
.fys-sprachen--menu { margin: 0 0 1rem; }
.fys-sprachen--menu .fys-sprache { flex: 1 1 auto; justify-content: flex-start; min-height: 48px; }

/* ==========================================================================
   Welle 19 — Laufband über die ganze Breite, mehr Platz auf dem PC
   ========================================================================== */
/* Laufband: volle Fensterbreite, egal wie schmal der Textblock ist */
.fys-marken { width: 100vw; max-width: 100vw; margin-inline: calc(50% - 50vw); }
.fys-marke-eintrag { pointer-events: none; user-select: none; }
.fys-marke-eintrag:hover { transform: none; }
.fys-marke-eintrag--logo img { height: 38px; max-width: 170px; }
@media (min-width: 900px) {
	.fys-marken { margin-top: 3rem; }
	.fys-marke-eintrag--logo { padding: 0.25rem 3.25rem; }
	.fys-marke-eintrag--logo img { height: 46px; max-width: 200px; }
	.fys-marke-eintrag:not(.fys-marke-eintrag--logo) { padding: 0.5rem 2.25rem; font-size: 1.35rem; }
}
@media (min-width: 1400px) {
	.fys-marke-eintrag--logo { padding: 0.25rem 4rem; }
	.fys-marke-eintrag--logo img { height: 52px; max-width: 230px; }
}

/* Mehr Platz auf großen Bildschirmen: Raster wachsen mit, statt links zu kleben */
@media (min-width: 1200px) {
	.fys-kacheln { grid-template-columns: repeat(4, 1fr); gap: 1.25rem; }
	.wc-block-grid__products, .fys-shop ul.products { grid-template-columns: repeat(4, 1fr); gap: 2.25rem 1.5rem; }
	.fys-verwandt ul.products, .fys-korb-leer ul.products { grid-template-columns: repeat(4, 1fr); }
}
@media (min-width: 1600px) {
	.fys-kacheln { gap: 1.5rem; }
	.wc-block-grid__products, .fys-shop ul.products { gap: 2.5rem 1.75rem; }
}

/* Weiter stöbern (unter dem Raster auf Kategorieseiten) */
.fys-weitere { margin: 3rem 0 0; }
.fys-weitere-titel { font-size: 1.35rem; margin: 0 0 1rem; }
.fys-kacheln--weitere { grid-template-columns: repeat(2, 1fr); }
@media (min-width: 900px) { .fys-kacheln--weitere { grid-template-columns: repeat(4, 1fr); } }
.fys-weitere-alle { margin: 1.25rem 0 0; font-size: .9375rem; }
.fys-weitere-alle a { color: var(--wp--preset--color--taupe); text-underline-offset: 3px; }
.fys-leer .fys-weitere-titel { margin-top: 2rem; }

/* ==========================================================================
   Welle 20 — Kasse aufgeräumt. Und die Grundregel, die alle Rand-Überläufe
   verhindert: Innenabstand zählt zur Breite (border-box), überall.
   ========================================================================== */
*, *::before, *::after { box-sizing: border-box; }
img, video, svg, table { max-width: 100%; }

/* ---- Kasse: eine Spalte für Daten, eine für die Bestellung ---- */
.woocommerce-checkout .woocommerce { max-width: 1200px; margin-inline: auto; }
.woocommerce-checkout main.wp-block-group { padding-top: 1.25rem !important; }
.woocommerce-checkout .entry-content > .woocommerce, .woocommerce-cart .entry-content > .woocommerce { margin-top: 0; }
.checkout.woocommerce-checkout { display: grid; grid-template-columns: 1fr; gap: 1.5rem; align-items: start; }
@media (min-width: 900px) {
	.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) minmax(360px, 430px); gap: 2.5rem; }
	.checkout.woocommerce-checkout > .fys-kasse-summe { grid-column: 1 / -1; }
	.checkout.woocommerce-checkout #order_review, .checkout.woocommerce-checkout .woocommerce-checkout-review-order { position: sticky; top: calc(var(--fys-kopf-h, 64px) + 1.25rem); }
}
/* WooCommerce stellt Rechnungs- und Versandfelder als zwei schmale Float-Spalten
   nebeneinander — dadurch waren die Eingaben nur halb so breit wie ihr Platz. */
.woocommerce-checkout .col2-set, .woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { float: none !important; width: 100% !important; max-width: 100%; display: block; }
.woocommerce-checkout .col2-set .col-2 { margin-top: 1.25rem; }
.woocommerce-checkout #customer_details { display: grid; gap: 1.25rem; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; gap: .25rem; }
@media (min-width: 600px) {
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr 1fr; column-gap: .85rem; }
	.woocommerce-billing-fields__field-wrapper > .form-row-wide, .woocommerce-shipping-fields__field-wrapper > .form-row-wide { grid-column: 1 / -1; }
}
.woocommerce-checkout .form-row { float: none !important; width: 100% !important; margin: 0 0 .85rem; padding: 0; }
.woocommerce-checkout .form-row-first, .woocommerce-checkout .form-row-last { width: 100% !important; }
.woocommerce-checkout #customer_details > .col-1, .woocommerce-checkout #customer_details > .col-2 { background: #fff; border: 1px solid var(--wp--preset--color--linie); border-radius: var(--fys-radius); padding: 1.5rem; }
.woocommerce-checkout .woocommerce-shipping-fields, .woocommerce-checkout .woocommerce-additional-fields { margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--wp--preset--color--linie); }
.woocommerce-checkout .woocommerce-shipping-fields h3 label, .woocommerce-checkout #ship-to-different-address label { display: inline-flex; align-items: center; gap: .6rem; font-size: .9375rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--tinte); margin: 0; }
.woocommerce-checkout .woocommerce-additional-fields h3 { margin-bottom: .75rem; }

/* Reihenfolge rechts: erst was ich kaufe, dann womit ich zahle, dann der Knopf */
#order_review { display: flex; flex-direction: column; }
#order_review > #order_review_heading { order: 1; }
#order_review > .woocommerce-checkout-review-order-table { order: 2; }
#order_review > #order_payment_heading { order: 3; margin-top: 1.25rem; }
#order_review > #payment { order: 4; }
#order_review > .wc-gzd-checkbox-placeholder { order: 5; }
#order_review > .wc-gzd-order-submit { order: 6; }
#order_review > input[type="hidden"] { order: 0; }
.woocommerce-checkout-review-order-table { table-layout: fixed; width: 100%; border-collapse: collapse; }
.woocommerce-checkout-review-order-table th, .woocommerce-checkout-review-order-table td { padding: .75rem 0; border-bottom: 1px solid var(--wp--preset--color--linie); vertical-align: top; }
.woocommerce-checkout-review-order-table thead { display: none; }
.woocommerce-checkout-review-order-table tfoot tr:last-child th, .woocommerce-checkout-review-order-table tfoot tr:last-child td { border-bottom: 0; font-size: 1.125rem; }
.woocommerce-checkout-review-order-table .product-name { width: 68%; }
.woocommerce-checkout-review-order-table .product-total { text-align: right; white-space: nowrap; }
.woocommerce-checkout-review-order-table .wc-gzd-cart-item-name-wrapper { display: flex; gap: .75rem; align-items: flex-start; }
#payment .payment_methods { margin: 0; padding: 0; list-style: none; }
#payment .payment_methods li { padding: .9rem 1rem; margin: 0 0 .6rem; }
#payment .payment_methods li label { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; margin: 0; }
#payment .payment_box { background: transparent; margin: .6rem 0 0; padding: 0; font-size: .875rem; color: var(--wp--preset--color--graphit); }
#payment .payment_box::before { display: none; }
.wc-gzd-order-submit { margin-top: 1.25rem; }
/* Die Klapp-Übersicht auf dem Handy: Innenabstand zählt jetzt zur Breite — kein Überstand mehr */
.fys-kasse-summe, .fys-kasse-summe-inhalt, .fys-kasse-summe table { max-width: 100%; }
.fys-kasse-summe-inhalt table { table-layout: fixed; }

/* ---- WhatsApp-Bestellung: Knopf als Formular ---- */
.fys-wa-form { margin: .6rem 0 0; }
.fys-wa-form .fys-knopf-whatsapp { width: 100%; }
.wc-proceed-to-checkout .fys-wa-form { order: 2; }

/* ---- „Chat öffnen" nach der WhatsApp-Bestellung ---- */
.fys-wa-danke { padding: 1.5rem; border-radius: var(--fys-radius); background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); margin: 0 0 1.5rem; max-width: 40rem; }
.fys-wa-danke .fys-kicker { color: #C9A97A; margin: 0 0 .35rem; }
.fys-wa-danke h2 { color: inherit; font-size: 1.35rem; margin: 0 0 .5rem; }
.fys-wa-danke p { color: rgba(245, 240, 230, .82); margin: 0 0 1rem; max-width: 46ch; }
.fys-wa-danke .fys-knopf-whatsapp { background: #25D366 !important; color: #06251a !important; border: 0; }
.fys-wa-danke-hinweis { font-size: .8125rem; margin: 1rem 0 0 !important; }

/* ==========================================================================
   Welle 22 — nichts ragt mehr über den Rand
   ==========================================================================
   Ein Rasterfeld ist standardmäßig so breit wie sein breitester Inhalt. Ein
   Knopf mit „nowrap" hat damit die ganze Kaufzeile über den Bildschirm
   hinausgeschoben. minmax(0, 1fr) + min-width:0 hält jedes Feld im Rahmen.
   ========================================================================== */
.fys-produkt-info form.cart { grid-template-columns: minmax(0, 1fr); }
.fys-produkt-info form.cart > *, .fys-produkt-info form.cart > * > * { min-width: 0; max-width: 100%; }
.fys-produkt-info form.cart .wp-block-woocommerce-add-to-cart-form-quantity, .fys-produkt-info form.cart > div:not(.quantity):not(.fys-lieferung) { display: grid; grid-template-columns: minmax(0, 1fr); gap: .75rem; width: 100%; }
.fys-produkt-info form.cart .quantity { justify-self: start; }
.fys-produkt-info .single_add_to_cart_button { white-space: normal; }
.fys-liefer-hinweis { max-width: 100%; }
/* Dieselbe Falle überall dort, wo wir mit Raster arbeiten */
.fys-kacheln, .fys-produkt-details, .fys-kasse-vertrauen, .fys-produkt-vertrauen, .fys-schritte, .fys-schritte--kasse, .fys-verlauf, .fys-kacheln--weitere { grid-template-columns: unset; }
.fys-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 700px) { .fys-kacheln { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fys-kacheln--weitere { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 900px) { .fys-kacheln--weitere { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.fys-schritte { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.fys-schritte--kasse { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.wc-block-grid__products, .fys-shop ul.products, ul.products { grid-auto-columns: minmax(0, 1fr); }

/* Fremder Sprach-Floater (TranslatePress) — wir haben einen eigenen Umschalter */
.trp-floating-switcher, #trp-floater-ls, .trp-floater-ls-names, .trp-language-switcher-container[class*="floater"] { display: none !important; }
/* Die feste Kaufleiste braucht die ganze Zeile */
.fys-kaufleiste .fys-knopf-pill { flex: 1 1 auto; min-width: 0; }
.fys-kaufleiste-preis { flex: 0 0 auto; }

/* ==========================================================================
   Welle 23 — Produktgalerie: wischen statt klicken
   ========================================================================== */
.fys-galerie { position: relative; }
.fys-galerie-spur { display: flex; gap: .5rem; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; -webkit-overflow-scrolling: touch; border-radius: var(--fys-radius); background: var(--fys-grau); }
.fys-galerie-spur::-webkit-scrollbar { display: none; }
.fys-galerie-spur:focus-visible { outline: 2px solid var(--wp--preset--color--tinte); outline-offset: 3px; }
.fys-galerie-bild { flex: 0 0 100%; scroll-snap-align: center; margin: 0; min-width: 0; }
.fys-galerie-img, .fys-galerie-bild img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; border-radius: var(--fys-radius); }
.fys-galerie--mehrere .fys-galerie-spur { gap: 0; }
.fys-galerie-punkte { display: flex; justify-content: center; gap: .4rem; margin: .75rem 0 0; }
.fys-galerie-punkte span { width: 7px; height: 7px; border-radius: 50%; background: var(--wp--preset--color--linie); transition: background var(--fys-schnell), transform var(--fys-schnell); }
.fys-galerie-punkte span.ist-aktiv { background: var(--wp--preset--color--tinte); transform: scale(1.25); }
.fys-galerie-thumbs { display: none; gap: .5rem; margin: .75rem 0 0; }
.fys-galerie-thumb { width: 72px; padding: 0; border: 0; background: none; border-radius: 12px; overflow: hidden; cursor: pointer; opacity: .5; transition: opacity var(--fys-schnell), box-shadow var(--fys-schnell); }
.fys-galerie-thumb img { width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.fys-galerie-thumb.ist-aktiv, .fys-galerie-thumb:hover { opacity: 1; }
.fys-galerie-thumb.ist-aktiv { box-shadow: 0 0 0 2px var(--wp--preset--color--tinte); }
@media (min-width: 900px) {
	.fys-galerie-thumbs { display: flex; flex-wrap: wrap; }
	.fys-galerie-punkte { display: none; }
}
@media (prefers-reduced-motion: reduce) { .fys-galerie-spur { scroll-behavior: auto; } }

/* ==========================================================================
   Welle 24 — Größe und Farbe als Pillen
   ========================================================================== */
.fys-wahl { border: 0; padding: 0; margin: 0 0 .25rem; min-width: 0; }
.fys-wahl legend { padding: 0; margin: 0 0 .5rem; font-size: .75rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--taupe); display: flex; gap: .75rem; align-items: baseline; flex-wrap: wrap; }
.fys-wahl legend a { font-size: .6875rem; letter-spacing: .04em; text-transform: none; color: var(--wp--preset--color--bronze-text); text-decoration: underline; text-underline-offset: 2px; }
.fys-wahl-pillen { display: flex; flex-wrap: wrap; gap: .5rem; }
.fys-wahl-pille { position: relative; display: inline-flex; align-items: center; gap: .45rem; min-height: 44px; min-width: 48px; padding: .5rem 1rem; border: 1.5px solid var(--wp--preset--color--linie); border-radius: 999px; background: #fff; cursor: pointer; font-size: .9375rem; font-weight: 600; line-height: 1; transition: border-color var(--fys-schnell), background var(--fys-schnell), color var(--fys-schnell); }
.fys-wahl-pille input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.fys-wahl-pille:has(input:checked) { border-color: var(--wp--preset--color--tinte); background: var(--wp--preset--color--tinte); color: var(--wp--preset--color--creme); }
.fys-wahl-pille:has(input:focus-visible) { outline: 2px solid var(--wp--preset--color--bronze); outline-offset: 2px; }
.fys-wahl-pille i { width: 16px; height: 16px; border-radius: 50%; border: 1px solid rgba(27, 25, 23, .18); flex: none; }
.fys-wahl-pille:has(input:checked) i { box-shadow: 0 0 0 2px var(--wp--preset--color--creme); }
