/*
 * highrizz-paper.css, 18.09.2026
 * Gestaltungssystem "Paper & Stickers", auf allen Seiten und als letztes Stylesheet geladen.
 * Farben: Papier #EDE7D8, Karte #F7F3EA, Tinte #161512, Grau #524B3D (7,0:1 auf Papier),
 * Flaggenrot #992014 (6,6:1 auf Papier), Senf #F5B700 nur als Flaeche mit Tinte darauf.
 * Schriften, zusammen 76 kB: Archivo variabel (Text, 35 kB), Archivo Black (Anzeige, 10 kB),
 * JetBrains Mono variabel (Etiketten und Preise, 31 kB). Inter ist raus.
 * Bewegung nur ueber transform, bei prefers-reduced-motion aus.
 */

@font-face {
	font-family: 'Archivo';
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url('../fonts/archivo-var.woff2') format('woff2');
}

@font-face {
	font-family: 'Archivo Black';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('../fonts/archivo900.woff2') format('woff2');
}

@font-face {
	font-family: 'JetBrains Mono';
	font-style: normal;
	font-weight: 400 600;
	font-display: swap;
	src: url('../fonts/jbmono-var.woff2') format('woff2');
}

:root {
	--hrz-papier: #EDE7D8;
	--hrz-karte: #F7F3EA;
	--hrz-tinte: #161512;
	--hrz-grau: #524B3D;
	--hrz-rot: #992014;
	--hrz-rot-dunkel: #6E150E;
	--hrz-senf: #F5B700;
	--hrz-creme: #FBF7EE;
	--hrz-anzeige: 'Archivo Black', 'Archivo', system-ui, sans-serif;
	--hrz-text: 'Archivo', system-ui, sans-serif;
	--hrz-mono: 'JetBrains Mono', ui-monospace, monospace;

	/* Blocksy liest die Schrift aus diesen Variablen */
	--theme-font-family: var(--hrz-text);
}

html body {
	font-family: var(--hrz-text);
	color: var(--hrz-tinte);
}

h1, h2, h3,
.entry-title,
.page-title,
.product_title {
	font-family: var(--hrz-anzeige);
	font-weight: 400;
	letter-spacing: -0.01em;
}

/* Header mit Tintenkante wie auf dem Entwurf */
.ct-header [data-row="middle"] {
	border-bottom: 2px solid var(--hrz-tinte);
}

/* ---------- Sticker ---------- */

.hrz-sticker {
	display: inline-block;
	font-family: var(--hrz-mono);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.04em;
	line-height: 1.2;
	text-transform: uppercase;
	white-space: nowrap;
	padding: 5px 8px;
	border-radius: 4px;
	background: var(--hrz-st-bg, var(--hrz-tinte));
	color: var(--hrz-st-fg, var(--hrz-papier));
	box-shadow: 2px 2px 0 var(--hrz-tinte);
	transform: rotate(-6deg);
}

/* ---------- Laufband unter dem Header ---------- */

.hrz-band {
	background: var(--hrz-tinte);
	color: var(--hrz-papier);
	height: 38px;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.hrz-band-lauf {
	display: flex;
	gap: 20px;
	white-space: nowrap;
	padding-left: 16px;
	font-family: var(--hrz-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	animation: hrz-band 90s linear infinite; /* dreifache Laenge, gleiche Geschwindigkeit wie vorher */
}

.hrz-band-kopie {
	display: flex;
	gap: 20px;
}

.hrz-band-stern {
	color: var(--hrz-senf);
}

.hrz-band:hover .hrz-band-lauf {
	animation-play-state: paused;
}

@keyframes hrz-band {
	from { transform: translateX(0); }
	to { transform: translateX(-50%); }
}

/* ---------- Startseite ---------- */

.hrz-paper-home {
	color: var(--hrz-tinte);
	padding-bottom: 24px;
}

.hrz-paper-home *,
.hrz-paper-home *::before,
.hrz-paper-home *::after {
	box-sizing: border-box;
}

.hrz-p-wrap {
	width: var(--hrz-weite, min(100%, 90vw));
	max-width: var(--hrz-breite, 1290px);
	margin: 0 auto;
}

.hrz-p-hero {
	padding: 40px 0 28px;
}

.hrz-paper-home .hrz-p-eyebrow {
	margin: 0 0 16px;
	font-family: var(--hrz-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hrz-grau);
}

.hrz-paper-home .hrz-p-headline {
	margin: 0 0 18px;
	font-family: var(--hrz-anzeige);
	font-weight: 400;
	font-size: clamp(44px, 9vw, 104px);
	line-height: 0.92;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--hrz-tinte);
	max-width: 14ch;
}

.hrz-paper-home .hrz-p-headline span {
	color: var(--hrz-rot);
}

.hrz-paper-home .hrz-p-lead {
	margin: 0 0 24px;
	font-size: 17px;
	line-height: 1.45;
	max-width: 42ch;
	color: var(--hrz-tinte);
}

.hrz-p-actions {
	display: flex;
	gap: 12px;
	flex-wrap: wrap;
}

.hrz-paper-home .hrz-p-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 54px;
	padding: 0 24px;
	border-radius: 12px;
	font-family: var(--hrz-text);
	font-weight: 800;
	font-size: 16px;
	letter-spacing: 0.03em;
	text-transform: uppercase;
	text-decoration: none;
	transition: transform 120ms ease, box-shadow 120ms ease;
}

.hrz-paper-home .hrz-p-btn-primary {
	background: var(--hrz-rot);
	color: var(--hrz-creme);
	box-shadow: 4px 4px 0 var(--hrz-tinte);
	flex-grow: 1;
	max-width: 280px;
}

.hrz-paper-home .hrz-p-btn-primary:hover,
.hrz-paper-home .hrz-p-btn-primary:focus-visible {
	color: var(--hrz-creme);
	background: var(--hrz-rot-dunkel);
}

/* Stempel: beim Druecken rutscht der Knopf in seinen Schatten */
.hrz-paper-home .hrz-p-btn-primary:active {
	transform: translate(4px, 4px);
	box-shadow: 0 0 0 var(--hrz-tinte);
}

.hrz-paper-home .hrz-p-btn-ghost {
	border: 2px solid var(--hrz-tinte);
	color: var(--hrz-tinte);
	background: transparent;
	font-weight: 700;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
}

.hrz-paper-home .hrz-p-btn-ghost:hover,
.hrz-paper-home .hrz-p-btn-ghost:focus-visible {
	color: var(--hrz-creme);
	background: var(--hrz-tinte);
}

.hrz-p-section {
	padding: 20px 0 28px;
}

.hrz-p-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.hrz-paper-home .hrz-p-title {
	margin: 0;
	font-family: var(--hrz-anzeige);
	font-weight: 400;
	font-size: clamp(26px, 4vw, 36px);
	line-height: 1;
	text-transform: uppercase;
	color: var(--hrz-tinte);
}

.hrz-paper-home .hrz-p-meta {
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: var(--hrz-grau);
}

.hrz-paper-home a.hrz-p-meta {
	color: var(--hrz-tinte);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Produktraster: zwei Spalten am Handy, vier am Desktop */
.hrz-p-grid {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px 12px;
}

@media (min-width: 900px) {
	.hrz-p-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 24px 20px;
	}
}

.hrz-p-card {
	margin: 0;
}

.hrz-p-card a {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
	color: var(--hrz-tinte);
}

.hrz-p-card-bild {
	display: block;
	aspect-ratio: 1 / 1;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	overflow: hidden;
	background: #FFFFFF;
}

.hrz-p-card-bild img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 200ms ease;
}

.hrz-p-card a:hover .hrz-p-card-bild img {
	transform: scale(1.03);
}

.hrz-p-card .hrz-sticker {
	position: absolute;
	top: 10px;
	right: -4px;
}

.hrz-p-card-name {
	font-weight: 700;
	font-size: 15px;
	line-height: 1.25;
}

.hrz-p-card-preis {
	font-family: var(--hrz-mono);
	font-size: 14px;
	color: var(--hrz-tinte);
}

.hrz-p-card-preis .woocommerce-Price-amount {
	color: var(--hrz-tinte);
}

/* Ein einziges Produkt: gross statt einer halben Zeile mit Loch daneben */
.hrz-p-grid-solo {
	grid-template-columns: minmax(0, 1fr);
}

@media (min-width: 760px) {
	.hrz-p-grid-solo .hrz-p-card a {
		display: grid;
		grid-template-columns: minmax(0, 420px) minmax(0, 1fr);
		grid-template-rows: 1fr auto auto 1fr;
		column-gap: 32px;
		row-gap: 12px;
	}

	/* Bild ueber alle vier Zeilen, Sticker, Name und Preis sitzen als Block in der Mitte */
	.hrz-p-grid-solo .hrz-p-card-bild {
		grid-row: 1 / -1;
	}

	.hrz-p-grid-solo .hrz-sticker {
		position: static;
		grid-column: 2;
		grid-row: 1;
		justify-self: start;
		align-self: end;
	}

	.hrz-p-grid-solo .hrz-p-card-name {
		grid-column: 2;
		grid-row: 2;
	}

	.hrz-p-grid-solo .hrz-p-card-name {
		font-family: var(--hrz-anzeige);
		font-weight: 400;
		font-size: 34px;
		line-height: 1;
		text-transform: uppercase;
	}

	.hrz-p-grid-solo .hrz-p-card-preis {
		grid-column: 2;
		grid-row: 3;
		font-size: 18px;
	}
}

@media (max-width: 759px) {
	.hrz-p-grid-solo .hrz-p-card-name {
		font-size: 18px;
	}
}

/* Versandbanner */
.hrz-p-banner {
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	background: var(--hrz-senf);
	padding: 18px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.hrz-paper-home .hrz-p-banner-titel {
	margin: 0;
	font-family: var(--hrz-anzeige);
	font-size: clamp(22px, 3.5vw, 30px);
	line-height: 1;
	text-transform: uppercase;
	color: var(--hrz-tinte);
}

.hrz-paper-home .hrz-p-banner-text {
	margin: 0;
	font-size: 15px;
	line-height: 1.4;
	color: var(--hrz-tinte);
}

.hrz-p-banner-text .woocommerce-Price-amount {
	color: var(--hrz-tinte);
	font-weight: 700;
}

/* Stimmungen */
.hrz-p-moods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

@media (min-width: 900px) {
	.hrz-p-moods {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.hrz-p-mood {
	position: relative;
	height: 160px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	background: var(--hrz-karte);
	padding: 14px;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 4px;
	text-decoration: none;
	color: var(--hrz-tinte);
}

.hrz-p-mood .hrz-sticker {
	position: absolute;
	top: 14px;
	left: 10px;
}

.hrz-p-mood-name {
	font-weight: 800;
	font-size: 18px;
	line-height: 1.05;
	text-transform: uppercase;
}

/* So laeuft es */
.hrz-p-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 12px;
}

@media (min-width: 760px) {
	.hrz-p-steps {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.hrz-p-steps li {
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	background: var(--hrz-karte);
	padding: 16px;
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.hrz-p-step-nr {
	font-family: var(--hrz-mono);
	font-size: 12px;
	color: var(--hrz-grau);
}

.hrz-p-step-name {
	font-family: var(--hrz-anzeige);
	font-size: 20px;
	text-transform: uppercase;
}

.hrz-p-step-text {
	font-size: 15px;
	line-height: 1.45;
}

.hrz-p-step-text a {
	color: var(--hrz-rot);
}

/* ---------- Versandleiste im Warenkorb ---------- */

.hrz-versandleiste {
	background: var(--hrz-tinte);
	color: var(--hrz-papier);
	border-radius: 12px;
	padding: 12px 16px;
	margin: 0 0 20px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.hrz-versandleiste-text {
	margin: 0;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 4px 12px;
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: var(--hrz-papier);
}

/* WooCommerce faerbt Absaetze im Warenkorb dunkel, die Leiste stand dunkel auf dunkel
   (gemessen 18.09.2026, nur die Preise waren lesbar). Deshalb hier mit Vorrang. */
.hrz-versandleiste .hrz-versandleiste-text,
.hrz-versandleiste .hrz-versandleiste-text span,
.hrz-versandleiste .hrz-versandleiste-text .woocommerce-Price-amount {
	color: var(--hrz-papier) !important;
}

.hrz-versandleiste-etappen {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 4px;
}

.hrz-versandleiste-spur {
	height: 10px;
	border-radius: 999px;
	background: #3A3833;
	overflow: hidden;
}

.hrz-versandleiste-fuellung {
	height: 100%;
	background: var(--hrz-senf);
	border-radius: 999px;
	transition: width 0.4s ease;
}

/* Zweite Etappe rot, damit man sieht: das ist ein neues Ziel, nicht dasselbe laenger */
.hrz-etappe-2 .hrz-versandleiste-fuellung {
	background: #E0402C;
}

.hrz-versandleiste-ziele {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 4px;
	font-family: var(--hrz-mono);
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.hrz-versandleiste .hrz-versandleiste-ziele span,
.hrz-versandleiste .hrz-versandleiste-ziele .woocommerce-Price-amount {
	color: #A69F8F !important;
}

.hrz-versandleiste-ziele .hrz-ziel-1,
.hrz-versandleiste-ziele .hrz-ziel-2 {
	text-align: right;
}

.hrz-versandleiste.ist-gratis .hrz-ziel-1,
.hrz-versandleiste.ist-gratis .hrz-ziel-1 * {
	color: var(--hrz-senf) !important;
}

.hrz-versandleiste.ist-gratis .hrz-ziel-2,
.hrz-versandleiste.ist-gratis .hrz-ziel-2 * {
	color: #FF8A78 !important;
}

.hrz-versandleiste.ist-paket {
	box-shadow: 0 0 0 2px #E0402C;
}

/* ---------- Bewegung aus, wenn gewuenscht ---------- */

@media (prefers-reduced-motion: reduce) {
	.hrz-band-lauf {
		animation: none;
	}

	.hrz-paper-home .hrz-p-btn,
	.hrz-p-card-bild img {
		transition: none;
	}

	.hrz-p-card a:hover .hrz-p-card-bild img {
		transform: none;
	}
}

/* =============================================================================================
 * Zweiter Schritt, 18.09.2026 abends: der ganze Shop im selben System.
 * Anlass, Rueckmeldung Maho mit Bildern: Seitenkopf mal mittig, mal links, mal nicht durchgehend;
 * Shopbild angeschnitten; Produktseite, Mini-Warenkorb, Warenkorb, Meldungen, Kaestchen in der
 * Kasse und Size Guide im alten Stil. highrizz-shop.css, highrizz-product.css und
 * highrizz-cart.css werden seither nicht mehr geladen, ihre Aufgaben stehen hier.
 * !important nur dort, wo eine aeltere Regel mit !important sonst gewinnt.
 * ============================================================================================= */

:root {
	/* Eine Inhaltskante fuer alle Seiten: genau die von Blocksys .ct-container (1290 px, bei
	   schmalen Fenstern 90 Prozent). Eine eigene Breite liess Kopf und Inhalt um 45 px
	   auseinanderlaufen (gemessen 18.09.2026). */
	--hrz-breite: var(--theme-normal-container-max-width, 1290px);
	--hrz-weite: var(--theme-container-width, min(100%, 90vw));
}

/* ---------- Seitenkopf: ueberall gleich, auf Papier, links auf der Inhaltskante ---------- */

html body .hero-section,
html body .hero-section[data-type="type-1"],
html body .hero-section[data-type="type-2"] {
	background: transparent !important;
	background-image: none !important;
	width: var(--hrz-weite);
	max-width: var(--hrz-breite);
	min-height: 0 !important;
	margin: 0 auto !important;
	padding: 36px 0 14px !important;
	border-bottom: 2px solid var(--hrz-tinte);
	text-align: left !important;
}

html body .hero-section .entry-header {
	padding: 0 !important;
	margin: 0 !important;
	min-height: 0 !important;
	max-width: none !important;
	width: 100%;
	text-align: left !important;
	align-items: flex-start !important;
}

html body .hero-section h1,
html body .hero-section .page-title {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: clamp(40px, 7vw, 84px) !important;
	line-height: 0.92 !important;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--hrz-tinte) !important;
	margin: 0 !important;
	text-align: left !important;
}

html body .hero-section .page-description,
html body .hero-section .page-description p {
	color: var(--hrz-grau) !important;
	font-size: 16px;
	margin-top: 10px;
}

/* Brotkrumen auf der Produktseite: schlichte Zeile statt schwarzem Kasten */
html body .hero-section .ct-breadcrumbs,
html body .hero-section .ct-breadcrumbs *,
html body .hero-section nav[aria-label="Breadcrumbs"] * {
	font-family: var(--hrz-mono) !important;
	font-size: 12px !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--hrz-grau) !important;
}

html body .hero-section .ct-breadcrumbs a:hover,
html body .hero-section .ct-breadcrumbs a:focus {
	color: var(--hrz-rot) !important;
}

body.single-product .hero-section {
	border-bottom: 0;
	padding: 20px 0 4px !important;
}

/* ---------- Seiten mit Fliesstext: About, Contact, Rechtsseiten ---------- */

html body.page:not(.woocommerce-page):not(.home) .entry-content {
	width: calc(100% - 32px);
	max-width: var(--hrz-breite) !important;
	margin: 0 auto !important;
	padding: 28px 0 48px !important;
	font-size: 17px;
	line-height: 1.6;
	color: var(--hrz-tinte);
}

html body.page:not(.woocommerce-page):not(.home) .entry-content > * {
	max-width: 70ch !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content h2 {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400;
	font-size: clamp(22px, 3vw, 30px) !important;
	line-height: 1.05;
	text-transform: uppercase;
	margin: 2em 0 0.6em !important;
	padding-top: 18px;
	border-top: 2px solid var(--hrz-tinte);
}

html body.page:not(.woocommerce-page):not(.home) .entry-content h3 {
	font-family: var(--hrz-text) !important;
	font-weight: 800;
	font-size: 19px;
	margin: 1.6em 0 0.4em !important;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content ul,
html body.page:not(.woocommerce-page):not(.home) .entry-content ol {
	padding-left: 1.2em;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content li {
	margin: 0.3em 0;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content li::marker {
	color: var(--hrz-rot);
}

html body.page:not(.woocommerce-page):not(.home) .entry-content a {
	color: var(--hrz-rot);
	text-decoration: underline;
	text-underline-offset: 3px;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content table {
	border-collapse: collapse;
	width: 100%;
	font-size: 15px;
	background: var(--hrz-karte);
	border: 2px solid var(--hrz-tinte);
}

html body.page:not(.woocommerce-page):not(.home) .entry-content th,
html body.page:not(.woocommerce-page):not(.home) .entry-content td {
	border: 1px solid #16151233;
	padding: 10px 12px;
	text-align: left;
	vertical-align: top;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content blockquote {
	margin: 1.4em 0;
	padding: 16px 18px;
	background: var(--hrz-karte);
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	font-style: normal;
}

/* ---------- Gemeinsame Knoepfe ---------- */

/* Hauptknopf: Flaggenrot mit Stempelschatten */
/* Doppelte Klassen, weil ".woocommerce button.button" in einer aelteren Datei mit !important
   die Tinte setzt und sonst gewinnt (gemessen 18.09.2026). */
html body .single_add_to_cart_button.single_add_to_cart_button.button,
html body .wc-proceed-to-checkout .checkout-button.checkout-button.button,
html body .woocommerce-mini-cart__buttons .checkout.checkout.button,
html body .return-to-shop .button.wc-backward.wc-backward,
html body #place_order#place_order {
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	border: 0 !important;
	border-radius: 12px !important;
	box-shadow: 4px 4px 0 var(--hrz-tinte) !important;
	min-height: 54px;
	padding: 0 24px !important;
	font-family: var(--hrz-text) !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	letter-spacing: 0.03em !important;
	text-transform: uppercase;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	transition: transform 120ms ease, box-shadow 120ms ease, background 120ms ease;
}

html body .single_add_to_cart_button.single_add_to_cart_button.button:hover,
html body .wc-proceed-to-checkout .checkout-button.checkout-button.button:hover,
html body .woocommerce-mini-cart__buttons .checkout.checkout.button:hover,
html body .return-to-shop .button.wc-backward.wc-backward:hover,
html body #place_order#place_order:hover {
	background: var(--hrz-rot-dunkel) !important;
	color: var(--hrz-creme) !important;
	transform: none !important;
}

html body .single_add_to_cart_button.single_add_to_cart_button.button:active,
html body .wc-proceed-to-checkout .checkout-button.checkout-button.button:active,
html body #place_order#place_order:active {
	transform: translate(4px, 4px) !important;
	box-shadow: 0 0 0 var(--hrz-tinte) !important;
}

/* Nebenknopf: Tinte als Rahmen */
html body .woocommerce-mini-cart__buttons .button.button:not(.checkout),
html body ul.products li.product .button.button,
html body .added_to_cart.added_to_cart {
	background: transparent !important;
	color: var(--hrz-tinte) !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	min-height: 48px;
	padding: 0 18px !important;
	font-family: var(--hrz-text) !important;
	font-weight: 700 !important;
	font-size: 15px !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	text-decoration: none !important;
}

html body .woocommerce-mini-cart__buttons .button:not(.checkout):hover,
html body ul.products li.product .button:hover,
html body .added_to_cart:hover {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-creme) !important;
}

/* ---------- Shop und Kategorien ---------- */

body.woocommerce.archive .woocommerce-result-count,
body.woocommerce.archive .woocommerce-result-count * {
	font-family: var(--hrz-mono) !important;
	font-size: 13px !important;
	color: var(--hrz-grau) !important;
	letter-spacing: 0.02em;
}

html body.woocommerce.archive ul.products {
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	justify-content: stretch !important;
	gap: 28px 12px !important;
}

@media (min-width: 900px) {
	html body.woocommerce.archive ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 36px 20px !important;
	}
}

html body ul.products li.product {
	position: relative;
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
	text-align: left !important;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

html body ul.products li.product figure {
	margin: 0 0 4px !important;
}

html body ul.products li.product .ct-media-container {
	display: block;
	aspect-ratio: 1 / 1 !important;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px !important;
	overflow: hidden;
	background: #FFFFFF;
}

html body ul.products li.product .ct-media-container img {
	width: 100% !important;
	height: 100% !important;
	aspect-ratio: 1 / 1 !important;
	object-fit: contain !important;
	border-radius: 0 !important;
	transition: transform 200ms ease;
}

html body ul.products li.product:hover .ct-media-container img {
	transform: scale(1.03);
}

html body ul.products li.product .woocommerce-loop-product__title,
html body ul.products li.product .woocommerce-loop-product__title a {
	font-family: var(--hrz-text) !important;
	font-weight: 700 !important;
	font-size: 16px !important;
	line-height: 1.25;
	color: var(--hrz-tinte) !important;
	text-transform: none;
	margin: 0 !important;
}

html body ul.products li.product .price,
html body ul.products li.product .price * {
	font-family: var(--hrz-mono) !important;
	font-size: 14px !important;
	color: var(--hrz-tinte) !important;
	font-weight: 400 !important;
}

/* Kategorienliste unter dem Preis: der Sticker sagt es kuerzer */
html body ul.products li.product .entry-meta,
html body ul.products li.product .ct-product-categories,
html body ul.products li.product ul.entry-meta {
	display: none !important;
}

html body ul.products li.product .hrz-sticker {
	position: absolute;
	top: 10px;
	right: -4px;
	z-index: 2;
	pointer-events: none;
}

/* ---------- Produktseite ---------- */

body.single-product .product.type-product {
	--hrz-lueft: 40px;
}

body.single-product .woocommerce-product-gallery,
body.single-product .ct-product-gallery-container {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	padding: 0 !important;
	box-shadow: none !important;
}

body.single-product .flexy-view .ct-media-container,
body.single-product .flexy-items .ct-media-container {
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	overflow: hidden;
	background: #FFFFFF;
}

body.single-product .flexy-pills li {
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 8px !important;
	overflow: hidden;
	opacity: 0.75;
}

body.single-product .flexy-pills li.active {
	border-color: var(--hrz-rot) !important;
	opacity: 1;
}

body.single-product .summary .hrz-sticker {
	margin: 0 0 14px 4px;
}

body.single-product .summary .product_title {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: clamp(32px, 4.2vw, 52px) !important;
	line-height: 0.95 !important;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: var(--hrz-tinte) !important;
	margin: 0 0 14px !important;
}

body.single-product .summary .price,
body.single-product .summary .price * {
	font-family: var(--hrz-mono) !important;
	font-size: 24px !important;
	font-weight: 600 !important;
	color: var(--hrz-tinte) !important;
}

body.single-product .summary .ct-product-divider {
	display: none;
}

body.single-product table.variations,
body.single-product table.variations tr,
body.single-product table.variations th,
body.single-product table.variations td {
	display: block;
	border: 0 !important;
	padding: 0 !important;
	background: transparent !important;
}

body.single-product table.variations th label,
body.single-product table.variations .label label {
	font-family: var(--hrz-mono) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hrz-grau) !important;
	margin-bottom: 8px;
	display: block;
}

html body.single-product .hrz-size-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 12px;
}

html body.single-product .hrz-size-pill {
	min-width: 52px;
	height: 46px;
	padding: 0 12px;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 10px !important;
	background: var(--hrz-karte) !important;
	color: var(--hrz-tinte) !important;
	font-family: var(--hrz-mono) !important;
	font-size: 14px !important;
	font-weight: 600 !important;
	cursor: pointer;
	box-shadow: none !important;
}

html body.single-product .hrz-size-pill:hover {
	background: var(--hrz-papier) !important;
}

html body.single-product .hrz-size-pill.is-selected {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-creme) !important;
}

html body.single-product .hrz-size-pill:disabled {
	opacity: 0.4;
	text-decoration: line-through;
	cursor: not-allowed;
}

/* "Clear"-Link von WooCommerce neben der Auswahl */
body.single-product .reset_variations {
	font-family: var(--hrz-mono);
	font-size: 12px;
	color: var(--hrz-grau) !important;
}

/* Size-Guide-Link des Printful-Plugins */
body.single-product .pf-size-guide-button,
body.single-product [class*="size-guide"] > a,
body.single-product a[href*="size-guide"],
body.single-product a[onclick*="Printful_Product_Size_Guide"] {
	font-family: var(--hrz-mono) !important;
	font-size: 13px !important;
	color: var(--hrz-tinte) !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Menge und Knopf in einer Zeile */
body.single-product .ct-cart-actions {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: nowrap !important;
	align-items: stretch !important;
	gap: 12px !important;
	width: 100%;
}

body.single-product .ct-cart-actions .quantity {
	flex: 0 0 auto;
	height: 54px !important;
	margin: 0 !important;
}

html body .quantity[data-type],
html body .quantity {
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 12px !important;
	background: var(--hrz-karte) !important;
	overflow: hidden;
}

html body .quantity input.qty {
	border: 0 !important;
	background: transparent !important;
	color: var(--hrz-tinte) !important;
	font-family: var(--hrz-mono) !important;
	font-size: 15px !important;
}

html body .quantity .ct-increase,
html body .quantity .ct-decrease {
	color: var(--hrz-tinte) !important;
	border: 0 !important;
	background: transparent !important;
	min-width: 40px;
}

body.single-product .ct-cart-actions .single_add_to_cart_button {
	flex: 1 1 auto;
	width: auto !important;
	margin: 0 !important;
}

/* Vor der Groessenwahl gesperrt: blasser, aber in Markenfarbe statt Grau */
html body.single-product .single_add_to_cart_button.single_add_to_cart_button.button.disabled,
html body.single-product .single_add_to_cart_button.single_add_to_cart_button.button:disabled {
	opacity: 0.5 !important;
	cursor: not-allowed;
	box-shadow: none !important;
}

html body.single-product .single_add_to_cart_button.single_add_to_cart_button.button.hrz-added {
	background: var(--hrz-tinte) !important;
}

/* Vertrauenszeile unter dem Knopf */
.hrz-vertrauen {
	list-style: none;
	margin: 18px 0 0;
	padding: 14px 0 0;
	border-top: 2px solid var(--hrz-tinte);
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: var(--hrz-tinte);
}

.hrz-vertrauen li {
	margin: 0;
	display: flex;
	gap: 10px;
	align-items: baseline;
}

.hrz-vertrauen li::before {
	content: "✱";
	color: var(--hrz-rot);
}

.hrz-vertrauen a {
	color: var(--hrz-tinte);
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* Kategorien als kleine Etiketten */
body.single-product .product_meta {
	margin-top: 18px;
	font-family: var(--hrz-mono);
	font-size: 12px;
	color: var(--hrz-grau);
}

body.single-product .product_meta .posted_in a {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 10px;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--hrz-tinte) !important;
	font-family: var(--hrz-mono);
	font-size: 11px;
	text-transform: uppercase;
	text-decoration: none;
}

/* Reiter und Beschreibung: in der Inhaltsbreite statt am Fensterrand */
body.single-product .woocommerce-tabs {
	width: var(--hrz-weite);
	max-width: var(--hrz-breite);
	margin: 48px auto 0 !important;
	padding: 0 !important;
}

body.single-product .woocommerce-tabs ul.tabs {
	border-bottom: 2px solid var(--hrz-tinte) !important;
	justify-content: flex-start !important;
	gap: 8px !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
}

body.single-product .woocommerce-tabs ul.tabs li,
body.single-product .woocommerce-tabs ul.tabs li a {
	font-family: var(--hrz-mono) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--hrz-grau) !important;
	border: 0 !important;
	background: transparent !important;
}

body.single-product .woocommerce-tabs ul.tabs li.active a,
body.single-product .woocommerce-tabs ul.tabs li.active {
	color: var(--hrz-tinte) !important;
}

/* Balken nur unter dem aktiven Reiter, sonst standen zwei Linien da (gemessen 18.09.2026) */
body.single-product .woocommerce-tabs ul.tabs li::after,
body.single-product .woocommerce-tabs ul.tabs li::before {
	display: none !important;
}

body.single-product .woocommerce-tabs ul.tabs li a {
	text-decoration: none !important;
	display: inline-block;
	padding: 12px 14px !important;
	border-bottom: 3px solid transparent !important;
	margin-bottom: -2px;
}

body.single-product .woocommerce-tabs ul.tabs li.active a {
	border-bottom-color: var(--hrz-rot) !important;
}

body.single-product .woocommerce-tabs .wc-tab,
body.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	max-width: 70ch;
	padding: 0 !important;
	font-size: 16px;
	line-height: 1.6;
	color: var(--hrz-tinte);
}

body.single-product .woocommerce-tabs .wc-tab h2,
body.single-product .woocommerce-tabs .wc-tab h3,
body.single-product .woocommerce-tabs .wc-tab h4 {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: 20px !important;
	text-transform: uppercase;
	margin: 1.6em 0 0.4em;
	color: var(--hrz-tinte) !important;
}

body.single-product .woocommerce-tabs .wc-tab li::marker {
	color: var(--hrz-rot);
}

body.single-product .woocommerce-tabs table.shop_attributes {
	border: 2px solid var(--hrz-tinte) !important;
	background: var(--hrz-karte);
}

body.single-product .woocommerce-tabs table.shop_attributes th,
body.single-product .woocommerce-tabs table.shop_attributes td {
	border-color: #16151233 !important;
	font-family: var(--hrz-mono);
	font-size: 14px;
	padding: 10px 12px !important;
}

/* Verwandte Produkte und Hinweis nach dem Hinzufuegen */
body.single-product .related > h2,
body.single-product .up-sells > h2 {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	text-transform: uppercase;
}

/* ---------- Size Guide (Printful-Plugin) ---------- */

.pf-size-guide-modal-wrapper {
	background: rgba(22, 21, 18, 0.62) !important;
}

html body .pf-size-guide-modal {
	background: var(--hrz-papier) !important;
	color: var(--hrz-tinte) !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 16px !important;
	box-shadow: 6px 6px 0 var(--hrz-tinte) !important;
	font-family: var(--hrz-text) !important;
	max-width: 760px;
}

html body .pf-size-guide-modal__header {
	border-bottom: 2px solid var(--hrz-tinte);
	padding-bottom: 12px;
	margin-bottom: 16px;
}

html body .pf-size-guide-modal__title {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: 28px !important;
	text-transform: uppercase;
	color: var(--hrz-tinte) !important;
	margin: 0 !important;
}

html body .pf-size-guide-modal__close {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 10px;
	background: var(--hrz-karte) !important;
}

html body .pf-size-guide-modal__content,
html body .pf-size-guide-modal__content p {
	font-family: var(--hrz-text) !important;
	font-size: 15px !important;
	line-height: 1.55 !important;
	color: var(--hrz-tinte) !important;
}

html body .pf-size-guide-modal__content h4 {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	text-transform: uppercase;
	color: var(--hrz-tinte) !important;
}

html body .pf-size-guide-modal__content h4 + p,
html body .pf-size-guide-modal-measurements__description p {
	margin-top: 2px !important;
}

html body .pf-product-size-guide__tabs,
html body .pf-size-guide-modal-size-chart__tabs {
	display: flex !important;
	gap: 8px !important;
	border: 0 !important;
	margin: 0 0 16px !important;
	flex-wrap: wrap;
}

html body .pf-product-size-guide__tab,
html body .pf-size-guide-modal-size-chart__tab {
	min-height: 40px;
	padding: 0 14px !important;
	display: inline-flex !important;
	align-items: center;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--hrz-tinte) !important;
	font-family: var(--hrz-mono) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	cursor: pointer;
	box-shadow: none !important;
}

html body .pf-product-size-guide__tab.pf-product-size-guide__tab--active,
html body .pf-size-guide-modal-size-chart__tab.pf-size-guide-modal-size-chart__tab--active {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-creme) !important;
}

html body .pf-size-guide-modal-measurements__image img {
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	background: #FFFFFF;
}

html body .pf-size-guide-modal-size-chart__table {
	border: 2px solid var(--hrz-tinte) !important;
	border-collapse: collapse !important;
	background: var(--hrz-karte) !important;
	width: 100%;
}

html body .pf-size-guide-modal-size-chart__table thead,
html body .pf-size-guide-modal-size-chart__table thead td,
html body .pf-size-guide-modal-size-chart__table thead th {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-creme) !important;
	font-family: var(--hrz-mono) !important;
	font-size: 12px !important;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

html body .pf-size-guide-modal-size-chart__table td {
	border: 1px solid #16151233 !important;
	padding: 10px 12px !important;
	font-family: var(--hrz-mono) !important;
	font-size: 14px !important;
	color: var(--hrz-tinte);
}

html body .pf-size-guide-modal-size-chart__table tbody td:first-child {
	font-weight: 600;
}

/* ---------- Mini-Warenkorb im Header ---------- */

html body .ct-header-cart .ct-cart-content {
	background: var(--hrz-karte) !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 14px !important;
	box-shadow: 5px 5px 0 var(--hrz-tinte) !important;
	color: var(--hrz-tinte) !important;
	padding: 16px !important;
}

html body .ct-header-cart .woocommerce-mini-cart-item {
	border-color: #16151233 !important;
}

html body .ct-header-cart .woocommerce-mini-cart-item a:not(.remove) {
	font-family: var(--hrz-text) !important;
	font-weight: 700;
	color: var(--hrz-tinte) !important;
}

html body .ct-header-cart .woocommerce-mini-cart-item .ct-media-container {
	border: 2px solid var(--hrz-tinte);
	border-radius: 8px;
	overflow: hidden;
	background: #FFFFFF;
}

html body .ct-header-cart .woocommerce-mini-cart-item .quantity {
	border: 0 !important;
	background: transparent !important;
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: var(--hrz-grau) !important;
}

html body .ct-header-cart .woocommerce-mini-cart__total,
html body .ct-header-cart .woocommerce-mini-cart__total * {
	font-family: var(--hrz-mono) !important;
	font-size: 13px !important;
	color: var(--hrz-tinte) !important;
	border-color: #16151233 !important;
}

html body .ct-header-cart .remove,
html body .ct-header-cart .remove svg {
	color: var(--hrz-tinte) !important;
	fill: var(--hrz-tinte) !important;
}

html body .woocommerce-mini-cart__buttons {
	display: grid !important;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

html body .woocommerce-mini-cart__buttons .button {
	min-height: 46px !important;
	font-size: 14px !important;
	margin: 0 !important;
	width: 100%;
}

/* ---------- Warenkorb ---------- */

body.woocommerce-cart table.shop_table.cart {
	border: 0 !important;
	background: transparent !important;
}

body.woocommerce-cart table.shop_table.cart thead th {
	font-family: var(--hrz-mono) !important;
	font-size: 12px !important;
	font-weight: 600 !important;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hrz-grau) !important;
	border-bottom: 2px solid var(--hrz-tinte) !important;
	background: transparent !important;
}

body.woocommerce-cart table.shop_table.cart td {
	border-color: #16151233 !important;
	background: transparent !important;
	color: var(--hrz-tinte) !important;
}

body.woocommerce-cart table.shop_table.cart td.product-name a {
	font-family: var(--hrz-text) !important;
	font-weight: 700 !important;
	color: var(--hrz-tinte) !important;
	text-decoration: none;
}

body.woocommerce-cart table.shop_table.cart .product-thumbnail .ct-media-container {
	border: 2px solid var(--hrz-tinte);
	border-radius: 10px;
	overflow: hidden;
	background: #FFFFFF;
}

body.woocommerce-cart table.shop_table.cart .amount,
body.woocommerce-cart table.shop_table.cart .amount * {
	font-family: var(--hrz-mono) !important;
	color: var(--hrz-tinte) !important;
}

body.woocommerce-cart a.remove,
body.woocommerce-cart a.remove svg {
	color: var(--hrz-tinte) !important;
	fill: var(--hrz-tinte) !important;
	background: transparent !important;
}

body.woocommerce-cart a.remove:hover,
body.woocommerce-cart a.remove:hover svg {
	color: var(--hrz-rot) !important;
	fill: var(--hrz-rot) !important;
}

/* "Update cart" nur ohne JavaScript. Mit JavaScript rechnet der Warenkorb nach jeder
   Mengenaenderung selbst neu (highrizz-warenkorb.js setzt die Klasse). */
.woocommerce-cart-form.hrz-auto button[name="update_cart"] {
	display: none !important;
}

.woocommerce-cart-form.hrz-auto td.actions:empty,
.woocommerce-cart-form.hrz-auto tr:has(> td.actions > button[name="update_cart"]:only-child) {
	display: none;
}

.woocommerce-cart-form.hrz-rechnet {
	opacity: 0.6;
	transition: opacity 150ms ease;
}

body.woocommerce-cart .cart_totals,
body.woocommerce-cart .cart-collaterals .cart_totals {
	background: var(--hrz-karte) !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 14px !important;
	padding: 20px !important;
	box-shadow: none !important;
}

body.woocommerce-cart .cart_totals h2 {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: 24px !important;
	text-transform: uppercase;
	margin: 0 0 12px !important;
}

body.woocommerce-cart .cart_totals table,
body.woocommerce-cart .cart_totals th,
body.woocommerce-cart .cart_totals td {
	border-color: #16151233 !important;
	background: transparent !important;
	color: var(--hrz-tinte) !important;
}

body.woocommerce-cart .cart_totals .order-total .amount {
	font-family: var(--hrz-mono) !important;
	font-size: 20px !important;
	font-weight: 600;
}

body.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
	width: 100%;
	margin-top: 8px;
}

/* ---------- Meldungen (entfernt, hinzugefuegt, leer, Fehler) ---------- */

html body .woocommerce-message,
html body .woocommerce-info,
html body .woocommerce-error {
	background: var(--hrz-karte) !important;
	color: var(--hrz-tinte) !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 12px !important;
	box-shadow: none !important;
	font-family: var(--hrz-text) !important;
	font-size: 15px !important;
	padding: 14px 16px !important;
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 14px;
	margin: 0 0 12px !important;
}

html body .woocommerce-error {
	border-color: var(--hrz-rot) !important;
}

html body .woocommerce-message::before,
html body .woocommerce-info::before,
html body .woocommerce-error::before {
	color: var(--hrz-tinte) !important;
	background-color: var(--hrz-tinte) !important;
}

html body .woocommerce-message a,
html body .woocommerce-info a,
html body .woocommerce-error a {
	color: var(--hrz-tinte) !important;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}

html body .woocommerce-message a.restore-item,
html body .woocommerce-message .button,
html body .woocommerce-info .button {
	margin-left: auto !important;
	min-height: 40px;
	padding: 0 16px !important;
	display: inline-flex !important;
	align-items: center;
	background: transparent !important;
	color: var(--hrz-tinte) !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-family: var(--hrz-text) !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	text-decoration: none !important;
	order: 2;
}

html body .woocommerce-message a.restore-item:hover,
html body .woocommerce-message .button:hover,
html body .woocommerce-info .button:hover {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-creme) !important;
}

/* ---------- Kaestchen und Auswahlpunkte: rund gezeichnet, ohne eckigen Umriss ---------- */

html body input[type="checkbox"],
html body .woocommerce-checkout input[type="checkbox"],
html body .woocommerce form input[type="checkbox"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	margin: 0 !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 6px !important;
	background: var(--hrz-creme) !important;
	outline: 0 !important;
	box-shadow: none !important;
	cursor: pointer;
	position: relative !important;
	flex-shrink: 0;
	vertical-align: middle;
}

html body input[type="checkbox"]::before,
html body input[type="checkbox"]::after {
	display: none !important;
}

html body input[type="checkbox"]:checked,
html body .woocommerce-checkout input[type="checkbox"]:checked {
	background: var(--hrz-rot) url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 14 14'%3E%3Cpath d='M2.5 7.5l3 3 6-7' stroke='%23FBF7EE' stroke-width='2.4' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / 14px no-repeat !important;
	border-color: var(--hrz-rot) !important;
}

html body input[type="radio"] {
	appearance: none !important;
	-webkit-appearance: none !important;
	width: 22px !important;
	height: 22px !important;
	min-width: 22px !important;
	margin: 0 !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 999px !important;
	background: var(--hrz-creme) !important;
	outline: 0 !important;
	cursor: pointer;
	flex-shrink: 0;
	vertical-align: middle;
}

html body input[type="radio"]::before,
html body input[type="radio"]::after {
	display: none !important;
}

html body input[type="radio"]:checked {
	background: var(--hrz-rot) !important;
	border-color: var(--hrz-rot) !important;
	box-shadow: inset 0 0 0 4px var(--hrz-creme) !important;
}

html body input[type="checkbox"]:focus-visible,
html body input[type="radio"]:focus-visible {
	outline: 3px solid var(--hrz-rot) !important;
	outline-offset: 2px !important;
}

@media (prefers-reduced-motion: reduce) {
	html body ul.products li.product .ct-media-container img {
		transition: none;
	}

	html body ul.products li.product:hover .ct-media-container img {
		transform: none;
	}
}

/* ---------- Nachbesserungen nach der Sichtpruefung, 18.09.2026 ---------- */

/* Blocksy setzt das Glockensymbol absolut links in die Meldung, ohne Platz lag es auf den
   ersten Buchstaben */
html body .woocommerce-message,
html body .woocommerce-info,
html body .woocommerce-error {
	padding-left: 50px !important;
	position: relative;
}

/* Warenkorb, Kasse, Konto: Inhalt auf der Kante des Seitenkopfs, nicht 20 px eingerueckt */
html body.woocommerce-cart .entry-content,
html body.woocommerce-checkout .entry-content,
html body.woocommerce-account .entry-content {
	padding-left: 0 !important;
	padding-right: 0 !important;
	padding-top: 28px !important;
}

/* Kaufknopf der Kasse: ".woocommerce #payment #place_order" mit !important ist spezifischer
   als die gemeinsame Regel oben */
html body .woocommerce #payment #place_order#place_order {
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	box-shadow: 4px 4px 0 var(--hrz-tinte) !important;
	border-radius: 12px !important;
	font-family: var(--hrz-text) !important;
	font-weight: 800 !important;
	letter-spacing: 0.03em !important;
	width: 100%;
}

html body .woocommerce #payment #place_order#place_order:hover {
	background: var(--hrz-rot-dunkel) !important;
}

html body .woocommerce-checkout h3,
html body .woocommerce-checkout #order_review_heading {
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: 22px !important;
	text-transform: uppercase;
	margin-bottom: 14px !important;
}

/* Size Guide: das Plugin legt Weiss unter Titel, Zwischentitel und Tabelle */
html body .pf-size-guide-modal *,
html body .pf-size-guide-modal__title,
html body .pf-size-guide-modal__content h4 {
	background-color: transparent !important;
}

html body .pf-size-guide-modal-size-chart__table tbody td,
html body .pf-size-guide-modal-size-chart__table tbody tr {
	background: var(--hrz-karte) !important;
}

html body .pf-size-guide-modal-size-chart__table thead td,
html body .pf-size-guide-modal-size-chart__table thead th,
html body .pf-size-guide-modal-size-chart__table thead tr {
	background: var(--hrz-tinte) !important;
}

html body .pf-product-size-guide__tab.pf-product-size-guide__tab--active,
html body .pf-size-guide-modal-size-chart__tab.pf-size-guide-modal-size-chart__tab--active {
	background-color: var(--hrz-tinte) !important;
}

html body .pf-size-guide-modal-measurements__image img {
	background: #FFFFFF !important;
}

/* Knoepfe im Mini-Warenkorb nicht zweizeilig */
html body .woocommerce-mini-cart__buttons .button {
	white-space: nowrap;
	padding: 0 12px !important;
}

/* Zahlarten in der Kasse: den sichtbaren Punkt zeichnet Blocksy als ::before am Label, mit fest
   eingebautem Blau #2872FA; das echte Auswahlfeld liegt unsichtbar darunter (gemessen 18.09.2026) */
html body #payment ul.payment_methods li input[type="radio"] + label::before {
	border-color: var(--hrz-tinte) !important;
	background: var(--hrz-creme) !important;
	box-shadow: none !important;
}

html body #payment ul.payment_methods li input[type="radio"]:checked + label::before {
	border-color: var(--hrz-rot) !important;
	background: var(--hrz-rot) !important;
	box-shadow: inset 0 0 0 4px var(--hrz-creme) !important;
}

/* Symbol der Meldungen: WooCommerces Symbolschrift ist nicht geladen, statt der Glocke stand ein
   schwarzes Quadrat. Die Meldung traegt sich auch ohne Symbol. */
html body .woocommerce-message::before,
html body .woocommerce-info::before,
html body .woocommerce-error::before {
	display: none !important;
}

html body .woocommerce-message,
html body .woocommerce-info,
html body .woocommerce-error {
	padding-left: 16px !important;
}

/* Mengenfeld im Warenkorb am Handy: war auf "-1+" zusammengedrueckt */
body.woocommerce-cart .quantity {
	min-width: 100px;
	height: 44px;
	display: inline-flex !important;
	align-items: center;
}

body.woocommerce-cart .quantity .ct-increase,
body.woocommerce-cart .quantity .ct-decrease {
	min-width: 32px;
	height: 100%;
}

/* Betraege und Tabellenkoepfe nie mitten im Wort umbrechen. highrizz-korrekturen.css setzt auf
   ".woocommerce table.shop_table th" overflow-wrap:anywhere, am Handy stand dadurch wieder
   "Subtot al" in der Kasse und "€ 3 2,9 0" im Warenkorb (gemessen 18.09.2026, 390 px). */
html body .woocommerce table.shop_table th,
html body .woocommerce .amount,
html body .woocommerce .amount bdi,
html body .woocommerce td.product-price,
html body .woocommerce td.product-subtotal,
html body .woocommerce td.product-total {
	white-space: nowrap !important;
	overflow-wrap: normal !important;
	word-break: normal !important;
}

/* Vorschaubilder der Produktseite: sechs in einer Reihe statt Umbruch nach fuenf */
body.single-product .flexy-pills ol,
body.single-product .flexy-pills [data-flexy-pills] {
	display: grid !important;
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
	gap: 8px !important;
}

body.single-product .flexy-pills li {
	width: auto !important;
	margin: 0 !important;
}

/* ---------- Anreize auf der Produktseite, 18.09.2026 ---------- */

.hrz-zwei-shirts {
	margin: 0 0 16px;
	padding: 10px 14px;
	background: var(--hrz-senf);
	border: 2px solid var(--hrz-tinte);
	border-radius: 10px;
	font-size: 15px;
	color: var(--hrz-tinte);
	display: inline-block;
}

.hrz-zwei-shirts .woocommerce-Price-amount {
	color: var(--hrz-tinte);
	font-weight: 700;
}

.hrz-kaufleiste {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 50;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom));
	background: var(--hrz-tinte);
	color: var(--hrz-creme);
	border-top: 2px solid var(--hrz-tinte);
	transform: translateY(110%);
	transition: transform 200ms ease;
}

.hrz-kaufleiste.ist-sichtbar {
	transform: translateY(0);
}

.hrz-kaufleiste[hidden] {
	display: none;
}

.hrz-kaufleiste-text {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.hrz-kaufleiste-name {
	font-weight: 700;
	font-size: 14px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.hrz-kaufleiste-preis,
.hrz-kaufleiste-preis * {
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: var(--hrz-papier) !important;
}

.hrz-kaufleiste-knopf {
	flex-shrink: 0;
	min-height: 46px;
	padding: 0 18px;
	display: inline-flex;
	align-items: center;
	background: var(--hrz-rot);
	color: var(--hrz-creme) !important;
	border-radius: 10px;
	font-weight: 800;
	font-size: 14px;
	text-transform: uppercase;
	text-decoration: none;
}

@media (min-width: 900px) {
	.hrz-kaufleiste {
		display: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.hrz-kaufleiste {
		transition: none;
	}
}

/* Produktseite am Handy: ueber den Brotkrumen standen rund 90 px Leere, das Bild rutschte aus dem
   ersten Blick (Messbild 18.09.2026) */
@media (max-width: 899px) {
	body.single-product .hero-section {
		padding-top: 12px !important;
	}

	body.single-product .site-main > .ct-container-full,
	body.single-product .site-main > div[class*="ct-container"] {
		padding-top: 0 !important;
	}
}

/* ---------- Nachbesserungen nach Mahos Bildern, 18.09.2026 abends ---------- */

/* Galerie: Bild stiess oben an die Linie unter den Brotkrumen, unten lagen die Vorschaubilder
   ohne Abstand auf dem Rahmen (gemessen: Linie und Bild beide bei 260 px) */
body.single-product div.product {
	margin-top: 24px;
}

body.single-product .flexy-pills {
	margin-top: 12px !important;
}

/* Mengenfeld im Warenkorb: Blocksy zeichnet Plus und Minus als leere Elemente mit Symbol, bei
   schmalem Feld schrumpften sie auf wenige Pixel. Jetzt feste Raster: Minus, Zahl, Plus. */
body.woocommerce-cart .woocommerce-cart-form .quantity {
	display: grid !important;
	grid-template-columns: 40px 1fr 40px;
	align-items: stretch;
	width: 128px !important;
	min-width: 128px;
	height: 46px !important;
	padding: 0 !important;
	position: relative;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .ct-decrease,
body.woocommerce-cart .woocommerce-cart-form .quantity .ct-increase {
	position: static !important;
	width: 40px !important;
	height: 100% !important;
	min-height: 0 !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transform: none !important;
	opacity: 1 !important;
	--theme-icon-size: 12px;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .ct-decrease {
	grid-column: 1;
	grid-row: 1;
}

body.woocommerce-cart .woocommerce-cart-form .quantity input.qty {
	grid-column: 2;
	grid-row: 1;
	width: 100% !important;
	height: 100% !important;
	padding: 0 !important;
	text-align: center;
	font-size: 16px !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .ct-increase {
	grid-column: 3;
	grid-row: 1;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .ct-decrease::before,
body.woocommerce-cart .woocommerce-cart-form .quantity .ct-decrease::after,
body.woocommerce-cart .woocommerce-cart-form .quantity .ct-increase::before,
body.woocommerce-cart .woocommerce-cart-form .quantity .ct-increase::after {
	background-color: var(--hrz-tinte) !important;
}

/* Pflicht-Sternchen der AGB-Zustimmung direkt hinter dem Text statt am Rand der Box. Das
   abbr bleibt fuer Screenreader im Code, sichtbar ist das Sternchen am Text. */
.woocommerce-terms-and-conditions-wrapper label abbr.required {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
}

.woocommerce-terms-and-conditions-checkbox-text::after {
	content: " *";
	color: var(--hrz-rot);
	font-weight: 700;
}

/* Plus und Minus als Zeichen statt Blocksys Balken, die im schmalen Feld zu Quadraten wurden */
body.woocommerce-cart .woocommerce-cart-form .quantity .ct-decrease::after,
body.woocommerce-cart .woocommerce-cart-form .quantity .ct-increase::after {
	display: none !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .ct-decrease::before,
body.woocommerce-cart .woocommerce-cart-form .quantity .ct-increase::before {
	position: static !important;
	width: auto !important;
	height: auto !important;
	background: none !important;
	-webkit-mask: none !important;
	mask: none !important;
	transform: none !important;
	color: var(--hrz-tinte);
	font-family: var(--hrz-mono);
	font-size: 20px;
	line-height: 1;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .ct-decrease::before {
	content: "\2212" !important;
}

body.woocommerce-cart .woocommerce-cart-form .quantity .ct-increase::before {
	content: "+" !important;
}

/* ---------- Filterleiste nach Kollektion ---------- */

.hrz-filter {
	margin: 0 0 20px;
	width: 100%;
}

.hrz-filter ul {
	list-style: none;
	margin: 0;
	padding: 4px 0 8px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hrz-filter a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 44px;
	padding: 0 14px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 999px;
	background: var(--hrz-karte);
	color: var(--hrz-tinte) !important;
	font-weight: 700;
	font-size: 14px;
	text-decoration: none !important;
	white-space: nowrap;
}

.hrz-filter a span {
	font-family: var(--hrz-mono);
	font-size: 12px;
	font-weight: 600;
	color: var(--hrz-grau);
}

.hrz-filter a:hover {
	background: var(--hrz-papier);
}

.hrz-filter a[aria-current="page"] {
	background: var(--hrz-st-bg, var(--hrz-tinte));
	color: var(--hrz-st-fg, var(--hrz-creme)) !important;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
}

.hrz-filter a[aria-current="page"] span {
	color: inherit;
}

@media (max-width: 899px) {
	.hrz-filter ul {
		flex-wrap: nowrap;
		overflow-x: auto;
		scroll-snap-type: x proximity;
		-webkit-overflow-scrolling: touch;
		margin-right: calc(-1 * (100vw - 100%) / 2);
		padding-right: 16px;
	}

	.hrz-filter li {
		scroll-snap-align: start;
		flex-shrink: 0;
	}
}

/* ---------- Shopkarten: Zweitbild, Infozeile, kein Knopf ---------- */

html body ul.products li.product .hrz-zweitbild {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	background: #FFFFFF;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	opacity: 0;
	pointer-events: none;
	z-index: 1;
	transition: opacity 180ms ease;
}

@media (hover: hover) {
	html body ul.products li.product:hover .hrz-zweitbild {
		opacity: 1;
	}
}

html body ul.products li.product .hrz-karte-info {
	font-family: var(--hrz-mono);
	font-size: 12px;
	color: var(--hrz-grau);
	letter-spacing: 0.02em;
}

html body ul.products li.product .button,
html body ul.products li.product .added_to_cart {
	display: none !important;
}

@media (prefers-reduced-motion: reduce) {
	html body ul.products li.product .hrz-zweitbild {
		transition: none;
	}
}

/* Knopf in der Karte: gleiche Staerke wie die Knopfregel weiter oben, sonst gewinnt sie */
html body ul.products li.product .button.button,
html body ul.products li.product .added_to_cart.added_to_cart {
	display: none !important;
}

/* Sortierung am Handy: schrumpfte zu einem leeren Kaestchen mit Pfeilen. Bei gleichem Preis fuer
   alle Shirts traegt sie dort nichts, die Filterleiste waehlt die Kollektion. */
@media (max-width: 899px) {
	body.woocommerce.archive .woocommerce-ordering {
		display: none !important;
	}
}

/* ---------- More from this mood ---------- */

.hrz-mehr {
	width: var(--hrz-weite);
	max-width: var(--hrz-breite);
	margin: 56px auto 24px;
	padding-top: 20px;
	border-top: 2px solid var(--hrz-tinte);
}

.hrz-mehr-kopf {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: 8px 16px;
	margin-bottom: 20px;
}

.hrz-mehr-kopf h2 {
	margin: 0 !important;
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: clamp(26px, 4vw, 36px) !important;
	text-transform: uppercase;
}

.hrz-mehr-kopf p {
	margin: 0;
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: var(--hrz-tinte);
}

html body .hrz-mehr ul.products {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 24px 12px !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

@media (min-width: 900px) {
	html body .hrz-mehr ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
		gap: 32px 20px !important;
	}
}

/* Blocksy haengt eigene "Related products" an, doppelt zu "More from this mood" */
body.single-product section.related.products,
body.single-product .related.products {
	display: none !important;
}

/* ---------- Rueckmeldung Maho 18.09. abends: Hero, Stimmungen, Banner, Bewegung ---------- */

/* Hero: "personality," haengt zusammen, die Groesse passt sich an, damit es am Handy in eine
   Zeile passt (vorher stand der Beistrich allein in der Zeile) */
.hrz-paper-home .hrz-nw {
	white-space: nowrap;
}

.hrz-paper-home .hrz-p-headline .hrz-rot {
	color: var(--hrz-rot);
}

.hrz-paper-home .hrz-p-headline {
	font-size: clamp(34px, 10.4vw, 104px);
}

/* Stimmungskacheln: drei echte Shirts als Faecher, Farbstreifen der Kollektion */
.hrz-p-mood {
	height: auto !important;
	min-height: 220px;
	overflow: hidden;
	border-top: 8px solid var(--hrz-mood-bg, var(--hrz-tinte)) !important;
	transition: transform 150ms ease, box-shadow 150ms ease;
}

.hrz-p-mood:hover {
	transform: translate(-2px, -2px);
	box-shadow: 4px 4px 0 var(--hrz-tinte);
}

.hrz-p-mood-shirts {
	display: flex;
	justify-content: center;
	align-items: flex-end;
	height: 104px;
	margin: 26px 0 10px;
}

.hrz-p-mood-shirts img {
	width: 38%;
	max-width: 110px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border: 2px solid var(--hrz-tinte);
	border-radius: 8px;
	background: #FFFFFF;
	margin: 0 -7%;
	transition: transform 200ms ease;
}

.hrz-p-mood-shirts img:nth-child(1) { transform: rotate(-8deg) translateY(4px); }
.hrz-p-mood-shirts img:nth-child(2) { transform: translateY(-6px); z-index: 1; }
.hrz-p-mood-shirts img:nth-child(3) { transform: rotate(8deg) translateY(4px); }

.hrz-p-mood:hover .hrz-p-mood-shirts img:nth-child(1) { transform: rotate(-12deg) translate(-6px, 2px); }
.hrz-p-mood:hover .hrz-p-mood-shirts img:nth-child(3) { transform: rotate(12deg) translate(6px, 2px); }

.hrz-p-mood-name {
	font-size: clamp(15px, 4vw, 19px) !important;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
}

/* Kollektions-Banner */
.hrz-banner {
	position: relative;
	margin: 8px 0 22px;
	padding: 28px 20px 22px;
	background: var(--hrz-banner-bg);
	color: var(--hrz-banner-fg);
	border: 2px solid var(--hrz-tinte);
	border-radius: 16px;
	box-shadow: 5px 5px 0 var(--hrz-tinte);
}

.hrz-banner .hrz-sticker {
	position: absolute;
	top: -14px;
	right: 18px;
}

.hrz-banner-eyebrow {
	margin: 0 0 8px;
	font-family: var(--hrz-mono);
	font-size: 12px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hrz-banner-fg);
}

html body .hrz-banner-titel {
	margin: 0 0 10px !important;
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: clamp(36px, 8vw, 88px) !important;
	line-height: 0.92 !important;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	color: var(--hrz-banner-fg) !important;
	overflow-wrap: normal;
}

.hrz-banner-text {
	margin: 0;
	max-width: 60ch;
	font-size: 16px;
	line-height: 1.45;
	color: var(--hrz-banner-fg);
}

/* Auf Kategorieseiten traegt das Banner die Ueberschrift, Blocksys Kopf faellt weg */
body.tax-product_cat .hero-section {
	display: none !important;
}

/* Filterleiste am Handy: weicher Rand rechts zeigt, dass es weitergeht */
@media (max-width: 899px) {
	.hrz-filter ul {
		-webkit-mask-image: linear-gradient(to right, #000 82%, transparent);
		mask-image: linear-gradient(to right, #000 82%, transparent);
	}
}

/* Sticker klatschen beim Reinscrollen drauf (nur mit JavaScript und ohne reduzierte Bewegung) */
@keyframes hrz-klatsch {
	0% { transform: scale(1.6) rotate(-18deg); opacity: 0; }
	60% { transform: scale(0.94) rotate(-3deg); opacity: 1; }
	100% { transform: scale(1) rotate(-6deg); opacity: 1; }
}

html.hrz-js .hrz-sticker {
	opacity: 0;
}

html.hrz-js .hrz-sticker.hrz-da {
	animation: hrz-klatsch 320ms cubic-bezier(.3, 1.4, .5, 1) forwards;
}

@media (prefers-reduced-motion: reduce) {
	.hrz-p-mood,
	.hrz-p-mood-shirts img {
		transition: none;
	}
}

/* ---------- Schnitt-Schalter Men / Women ---------- */

.hrz-schnitt {
	margin: 0 0 12px;
}

.hrz-schnitt ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	overflow: hidden;
	background: var(--hrz-karte);
}

.hrz-schnitt li + li {
	border-left: 2px solid var(--hrz-tinte);
}

.hrz-schnitt a {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 22px;
	font-family: var(--hrz-anzeige);
	font-size: 16px;
	text-transform: uppercase;
	color: var(--hrz-tinte) !important;
	text-decoration: none !important;
}

.hrz-schnitt a[aria-current="page"] {
	background: var(--hrz-tinte);
	color: var(--hrz-creme) !important;
}

.hrz-leer {
	margin: 12px 0 40px;
	padding: 18px;
	background: var(--hrz-karte);
	border: 2px dashed var(--hrz-tinte);
	border-radius: 14px;
	font-size: 16px;
}

.hrz-leer a {
	color: var(--hrz-rot);
	font-weight: 700;
}

/* WooCommerces eigene Leer-Meldung entfaellt, wenn unsere dasteht */
.woocommerce-no-products-found:has(~ .hrz-leer),
.hrz-leer ~ .woocommerce-no-products-found {
	display: none;
}

/* ---------- Editor fuer personalisierte Shirts ---------- */

.hrz-anpassen-knopf {
	margin-top: 14px;
	width: 100%;
	min-height: 50px;
	border: 2px dashed var(--hrz-tinte) !important;
	border-radius: 12px !important;
	background: var(--hrz-karte) !important;
	color: var(--hrz-tinte) !important;
	font-family: var(--hrz-text) !important;
	font-weight: 800 !important;
	font-size: 15px !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
}

.hrz-anpassen-knopf span,
.hrz-anpassen-knopf .woocommerce-Price-amount {
	font-family: var(--hrz-mono);
	font-weight: 600;
	text-transform: none;
	color: var(--hrz-grau);
}

.hrz-editor {
	width: min(960px, calc(100vw - 24px));
	max-height: calc(100vh - 24px);
	padding: 0;
	border: 2px solid var(--hrz-tinte);
	border-radius: 16px;
	background: var(--hrz-papier);
	box-shadow: 6px 6px 0 var(--hrz-tinte);
	color: var(--hrz-tinte);
}

.hrz-editor::backdrop {
	background: rgba(22, 21, 18, 0.6);
}

.hrz-editor form {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 24px;
	padding: 24px;
}

@media (max-width: 760px) {
	.hrz-editor form {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px;
		gap: 12px;
	}
}

.hrz-editor-zu {
	position: absolute;
	top: 10px;
	right: 10px;
	width: 44px;
	height: 44px;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 10px !important;
	background: var(--hrz-karte) !important;
	color: var(--hrz-tinte) !important;
	font-size: 24px !important;
	line-height: 1;
	z-index: 2;
	cursor: pointer;
}

.hrz-editor-shirt {
	position: relative;
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
	aspect-ratio: 400 / 440;
}

.hrz-editor-shirt svg {
	width: 100%;
	height: 100%;
	display: block;
}

.hrz-editor-shirt svg path {
	stroke: var(--hrz-tinte);
	stroke-width: 3;
	stroke-linejoin: round;
}

.hrz-editor-shirt[data-farbe="black"] svg path { fill: #161616; }
.hrz-editor-shirt[data-farbe="white"] svg path { fill: #FFFFFF; }

/* Druckflaeche Ruecken: 3 zu 4 wie die Druckdatei, mittig auf dem Rumpf */
.hrz-editor-druck {
	position: absolute;
	left: 31%;
	width: 38%;
	top: 13%;
	aspect-ratio: 3 / 4;
	display: flex;
	flex-direction: column;
	align-items: center;
	overflow: hidden;
}

.hrz-editor-text {
	text-align: center;
	white-space: pre-line;
	overflow-wrap: normal;
	word-break: normal;
}

.hrz-editor-marke {
	font-family: HrzAnton, sans-serif;
}

.hrz-editor-hinweis {
	margin: 8px 0 0;
	text-align: center;
	font-family: var(--hrz-mono);
	font-size: 12px;
	color: var(--hrz-grau);
}

.hrz-editor-felder {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.hrz-editor-felder h2 {
	margin: 0 0 4px !important;
	font-family: var(--hrz-anzeige) !important;
	font-weight: 400 !important;
	font-size: 28px !important;
	text-transform: uppercase;
}

.hrz-editor-felder label,
.hrz-editor-felder legend {
	font-weight: 700;
	font-size: 14px;
}

.hrz-editor-felder textarea,
.hrz-editor-felder select {
	width: 100%;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 10px !important;
	background: var(--hrz-creme) !important;
	color: var(--hrz-tinte) !important;
	font-size: 16px !important;
	padding: 10px 12px !important;
}

.hrz-editor-felder select {
	min-height: 46px;
}

.hrz-editor-felder fieldset {
	border: 0;
	padding: 0;
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 16px;
	align-items: center;
}

.hrz-editor-felder fieldset legend {
	width: 100%;
	margin-bottom: 4px;
}

.hrz-editor-felder fieldset label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 600;
	min-height: 44px;
}

.hrz-editor-zaehler {
	margin: -4px 0 0;
	font-family: var(--hrz-mono);
	font-size: 12px;
	color: var(--hrz-grau);
}

.hrz-editor-rechte {
	display: flex !important;
	gap: 10px;
	align-items: flex-start;
	font-weight: 600 !important;
}

.hrz-editor-recht {
	margin: 0;
	font-size: 13px;
	line-height: 1.45;
	color: var(--hrz-grau);
}

.hrz-editor-fehler {
	margin: 0;
	padding: 10px 12px;
	border-radius: 8px;
	background: #FBEAE7;
	color: var(--hrz-rot);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.4;
}

.hrz-editor-senden {
	min-height: 54px;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	box-shadow: 4px 4px 0 var(--hrz-tinte);
	font-family: var(--hrz-text) !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	text-transform: uppercase;
	cursor: pointer;
}

.hrz-editor-senden:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.hrz-editor-senden .woocommerce-Price-amount {
	color: var(--hrz-creme);
}

/* "personality," blieb nach der Beistrich-Korrektur rot, weil die alte Regel jedes span in der
   Ueberschrift faerbt. Rot ist nur "but wearable." (Rueckmeldung Maho 18.09.2026). */
.hrz-paper-home .hrz-p-headline .hrz-nw {
	color: var(--hrz-tinte) !important;
}

/* Auf "Write your own" griff die Ueberschriften-Linie der Rechtsseiten auch im Editor */
html body .hrz-editor .hrz-editor-felder h2 {
	border-top: 0 !important;
	padding-top: 0 !important;
	margin-top: 0 !important;
}

.hrz-eigenes {
	display: grid;
	gap: 12px;
	max-width: 520px !important;
	margin-top: 8px !important;
}

/* ---------- Write your own: Einstiege, Angebot, Band mit Shirts; Groessentabelle ---------- */

html body .entry-content > .hrz-eigenes {
	max-width: none !important;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	margin: 24px 0 !important;
}

@media (max-width: 760px) {
	html body .entry-content > .hrz-eigenes {
		grid-template-columns: minmax(0, 1fr);
	}
}

.hrz-eigenes-karte {
	display: grid;
	grid-template-columns: 140px minmax(0, 1fr);
	gap: 16px;
	align-items: center;
	padding: 14px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 16px;
	background: var(--hrz-karte);
	box-shadow: 4px 4px 0 var(--hrz-tinte);
}

.hrz-eigenes-karte img {
	width: 140px;
	height: 140px;
	object-fit: cover;
	border: 2px solid var(--hrz-tinte);
	border-radius: 10px;
	background: #fff;
}

.hrz-eigenes-karte p {
	margin: 0 0 6px !important;
	font-size: 14px;
	color: var(--hrz-grau);
}

html body .hrz-eigenes-titel {
	font-family: var(--hrz-anzeige) !important;
	font-size: 22px !important;
	text-transform: uppercase;
	color: var(--hrz-tinte) !important;
	line-height: 1.05;
}

.hrz-eigenes-karte .hrz-anpassen-knopf {
	margin-top: 8px;
	border-style: solid !important;
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
}

html body .entry-content > .hrz-eigenes-angebot {
	max-width: none !important;
	margin: 0 0 32px !important;
	padding: 16px 18px;
	background: var(--hrz-senf);
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	font-size: 17px;
}

html body .entry-content > .hrz-band-shirts {
	max-width: none !important;
	margin: 0 0 40px !important;
	overflow: hidden;
}

.hrz-band-shirts-lauf {
	display: flex;
	gap: 14px;
	width: max-content;
	margin-top: 14px;
	animation: hrz-band 60s linear infinite;
}

.hrz-band-shirts-lauf > span {
	display: flex;
	gap: 14px;
}

.hrz-band-shirts:hover .hrz-band-shirts-lauf {
	animation-play-state: paused;
}

.hrz-band-shirts-lauf img {
	width: 180px;
	height: 180px;
	object-fit: cover;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	background: #fff;
	display: block;
}

@media (prefers-reduced-motion: reduce) {
	.hrz-band-shirts-lauf {
		animation: none;
		overflow-x: auto;
		width: auto;
	}
}

.hrz-groessen {
	border: 2px solid var(--hrz-tinte);
	border-radius: 10px;
	background: var(--hrz-karte);
	padding: 0 12px;
}

.hrz-groessen summary {
	min-height: 44px;
	display: flex;
	align-items: center;
	cursor: pointer;
	font-weight: 700;
	font-size: 14px;
}

.hrz-groessen table {
	width: 100%;
	border-collapse: collapse;
	font-family: var(--hrz-mono);
	font-size: 13px;
	margin: 4px 0 8px;
}

.hrz-groessen th,
.hrz-groessen td {
	border-bottom: 1px solid #16151233;
	padding: 6px 4px;
	text-align: left;
}

.hrz-groessen p {
	margin: 0 0 10px;
	font-size: 12px;
	color: var(--hrz-grau);
}

.hrz-editor-angebot {
	margin: 4px 0 0;
	font-size: 13px;
	text-align: center;
	color: var(--hrz-tinte);
}

/* Write your own: volle Breite. Die 70-Zeichen-Regel fuer Fliesstext ist spezifischer und
   begrenzte Karten und Band auf die linke Haelfte (gemessen 18.09.2026, 685 von 1290 px). */
html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-eigenes,
html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-eigenes-angebot,
html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-band-shirts {
	max-width: none !important;
}

/* Leerer Editor: Platzhalter in der Vorschau */
.hrz-editor-text.ist-leer {
	opacity: 0.35;
}

.hrz-band-lauf {
	width: max-content;
}

/* ---------- Karte "Write your own" im Raster ---------- */

html body ul.products li.hrz-eigen-karte a {
	display: flex;
	flex-direction: column;
	gap: 8px;
	text-decoration: none;
	color: var(--hrz-tinte);
}

.hrz-eigen-bild {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	border: 2px dashed var(--hrz-tinte);
	border-radius: 12px;
	background: var(--hrz-senf);
	overflow: hidden;
}

.hrz-eigen-bild svg {
	width: 78%;
}

.hrz-eigen-bild svg path {
	fill: #161616;
	stroke: var(--hrz-tinte);
	stroke-width: 3;
}

.hrz-eigen-bild span {
	position: absolute;
	top: 30%;
	font-family: var(--hrz-anzeige);
	font-size: clamp(16px, 2.4vw, 30px);
	line-height: 0.95;
	text-transform: uppercase;
	text-align: center;
	color: #FBF7EE;
}

.hrz-eigen-titel {
	font-weight: 700;
	font-size: 16px;
}

.hrz-eigen-preis,
.hrz-eigen-preis * {
	font-family: var(--hrz-mono);
	font-size: 14px;
	color: var(--hrz-tinte);
}

/* ---------- About ---------- */

body.page-id-39 .hero-section {
	display: none !important;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-about-kopf,
html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-about-zahlen,
html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-about-karten,
html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-about-ende {
	max-width: none !important;
}

.hrz-about-kopf {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 32px;
	align-items: center;
	padding: 24px 0 8px;
}

@media (max-width: 860px) {
	.hrz-about-kopf {
		grid-template-columns: minmax(0, 1fr);
	}
}

html body .hrz-about-eyebrow {
	margin: 0 0 12px !important;
	font-family: var(--hrz-mono);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hrz-grau);
}

html body .hrz-about-titel {
	margin: 0 0 16px !important;
	font-family: var(--hrz-anzeige);
	font-size: clamp(40px, 6.5vw, 84px);
	line-height: 0.92;
	letter-spacing: -0.02em;
	text-transform: uppercase;
	color: var(--hrz-tinte);
}

.hrz-about-titel span {
	color: var(--hrz-rot);
}

html body .hrz-about-lead {
	font-size: 19px;
	line-height: 1.45;
	max-width: 36ch;
	margin: 0 0 20px !important;
}

.hrz-about-knoepfe {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

html body .entry-content .hrz-about-knoepfe a,
html body .entry-content .hrz-about-ende a {
	text-decoration: none !important;
}

.hrz-about-knoepfe .hrz-p-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 54px;
	padding: 0 24px;
	border-radius: 12px;
	font-weight: 800;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.hrz-about-knoepfe .hrz-p-btn-primary {
	background: var(--hrz-rot);
	color: var(--hrz-creme) !important;
	box-shadow: 4px 4px 0 var(--hrz-tinte);
}

.hrz-about-knoepfe .hrz-p-btn-ghost {
	border: 2px solid var(--hrz-tinte);
	color: var(--hrz-tinte) !important;
}

.hrz-about-collage {
	position: relative;
	height: 420px;
}

.hrz-about-collage img {
	position: absolute;
	width: 58%;
	aspect-ratio: 1 / 1;
	height: auto;
	object-fit: cover;
	border: 3px solid var(--hrz-tinte);
	border-radius: 16px;
	box-shadow: 6px 6px 0 var(--hrz-tinte);
	background: #fff;
}

.hrz-about-collage img:nth-child(1) { left: 0; top: 60px; transform: rotate(-7deg); }
.hrz-about-collage img:nth-child(2) { left: 22%; top: 0; z-index: 2; }
.hrz-about-collage img:nth-child(3) { right: 0; top: 90px; transform: rotate(7deg); }

.hrz-about-collage .hrz-sticker {
	position: absolute;
	right: 4%;
	top: 8px;
	z-index: 3;
	font-size: 14px;
}

@media (max-width: 860px) {
	.hrz-about-collage {
		height: 300px;
	}
}

.hrz-about-zahlen {
	list-style: none;
	margin: 32px 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
}

@media (max-width: 860px) {
	.hrz-about-zahlen {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.hrz-about-zahlen li {
	margin: 0 !important;
	padding: 16px;
	background: var(--hrz-tinte);
	color: var(--hrz-papier);
	border-radius: 14px;
	font-family: var(--hrz-mono);
	font-size: 13px;
}

.hrz-about-zahlen li::marker {
	content: '';
}

.hrz-about-zahlen strong {
	display: block;
	font-family: var(--hrz-anzeige);
	font-weight: 400;
	font-size: 44px;
	line-height: 1;
	color: var(--hrz-senf);
	margin-bottom: 6px;
}

.hrz-about-karten {
	list-style: none;
	margin: 0 0 40px !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 12px;
}

@media (max-width: 860px) {
	.hrz-about-karten {
		grid-template-columns: minmax(0, 1fr);
	}
}

.hrz-about-karten li {
	margin: 0 !important;
	padding: 18px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	background: var(--hrz-karte);
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.hrz-about-karten li::marker {
	content: '';
}

.hrz-about-karten strong {
	font-family: var(--hrz-anzeige);
	font-weight: 400;
	font-size: 22px;
	text-transform: uppercase;
}

.hrz-about-ende {
	margin: 40px 0 24px !important;
	padding: 28px 24px;
	background: var(--hrz-senf);
	border: 2px solid var(--hrz-tinte);
	border-radius: 16px;
	box-shadow: 5px 5px 0 var(--hrz-tinte);
}

.hrz-about-ende .hrz-about-titel {
	font-size: clamp(32px, 5vw, 56px);
}

/* Shop und Kategorien: Blocksys Kopf ist per Filter aus, der Banner steht oben mit Abstand */
body.post-type-archive-product .hrz-banner,
body.tax-product_cat .hrz-banner {
	margin-top: 28px;
}

/* Logo im Fussbereich: klickbar zur Startseite, am Handy mittig */
.ct-footer .hrz-fuss-logo {
	margin: 0;
}

.ct-footer .hrz-fuss-logo img {
	max-width: 180px;
	height: auto;
}

@media (max-width: 800px) {
	.ct-footer .hrz-fuss-logo {
		display: flex;
		justify-content: center;
		width: 100%;
	}

	.ct-footer .kt-inside-inner-col:has(.hrz-fuss-logo) {
		align-items: center !important;
	}
}

/* Obere Footer-Zeile nutzt .ct-container-fluid, die Zentrierung vom 17.09. griff nur auf
   .ct-container; das Logo stand links (gemessen: Mitte bei 133 von 195 px) */
@media (max-width: 800px) {
	.ct-footer [data-row] > .ct-container-fluid {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		width: 100%;
	}

	.ct-footer [data-column] {
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}
}

/* ---------- Show more statt Seitennummern ---------- */

.hrz-mehr-laden {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 10px;
	margin: 40px 0 56px;
}

.hrz-mehr-laden button {
	min-height: 56px;
	min-width: min(100%, 360px);
	padding: 0 28px;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	box-shadow: 4px 4px 0 var(--hrz-tinte);
	font-family: var(--hrz-text) !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	cursor: pointer;
}

.hrz-mehr-laden button:active {
	transform: translate(4px, 4px);
	box-shadow: 0 0 0 var(--hrz-tinte);
}

.hrz-mehr-laden button:disabled {
	background: var(--hrz-tinte) !important;
	box-shadow: none;
	cursor: default;
}

.hrz-mehr-laden p {
	margin: 0;
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: var(--hrz-grau);
	text-align: center;
}

/* Rueckfall ohne JavaScript: Nummerierung im Markenlook */
.ct-pagination .page-numbers {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 10px !important;
	background: var(--hrz-karte) !important;
	color: var(--hrz-tinte) !important;
	font-family: var(--hrz-mono);
	font-weight: 600;
}

.ct-pagination .page-numbers.current {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-creme) !important;
}

.hrz-mehr-laden .hrz-mehr-ende {
	min-height: 56px;
	min-width: min(100%, 360px);
	padding: 0 28px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px dashed var(--hrz-tinte);
	border-radius: 12px;
	background: var(--hrz-senf);
	color: var(--hrz-tinte) !important;
	font-weight: 800;
	font-size: 16px;
	text-transform: uppercase;
	text-decoration: none !important;
}

/* Beim automatischen Nachladen ist der Knopf nur Statusanzeige */
.hrz-mehr-laden button.hrz-auto-laden {
	background: transparent !important;
	color: var(--hrz-grau) !important;
	box-shadow: none;
	border: 2px dashed var(--hrz-grau) !important;
	font-size: 14px !important;
}

/* Galerie-Rahmen (Maho 18.09.2026, gemessen): der Rahmen sass am Bild im Schiebefenster und wurde
   rechts abgeschnitten; die Vorschauleiste war mit negativem Rand 640 statt 625 px breit und wurde
   links und rechts gekappt. Rahmen jetzt am Fenster, Leiste exakt so breit wie die Galerie. */
body.single-product .flexy-view {
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	overflow: hidden;
	background: #FFFFFF;
}

body.single-product .flexy-view .ct-media-container,
body.single-product .flexy-items .ct-media-container {
	border: 0 !important;
	border-radius: 0 !important;
}

body.single-product .flexy-pills ol,
body.single-product .flexy-pills [data-flexy-pills] {
	margin: 0 !important;
	width: 100% !important;
	padding: 0 !important;
}

body.single-product .flexy-pills li {
	padding: 0 !important;
	aspect-ratio: 1 / 1;
	background: #FFFFFF;
}

body.single-product .flexy-pills li .ct-media-container {
	border: 0 !important;
	width: 100%;
	height: 100%;
}

body.single-product .flexy-pills li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Hover-Vorschau der Galerie */
body.single-product .flexy-view {
	position: relative;
}

.hrz-hover-vorschau {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	background: #FFFFFF;
	opacity: 0;
	pointer-events: none;
	z-index: 3;
	transition: opacity 120ms ease;
}

.hrz-hover-vorschau.ist-da {
	opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
	.hrz-hover-vorschau {
		transition: none;
	}
}

/* ---------- Contact ---------- */

body.page-id-40 .hero-section {
	display: none !important;
}

html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-kontakt-faq {
	max-width: 760px !important;
}

.hrz-kontakt-bild img:first-child {
	left: 18% !important;
	top: 10px !important;
	width: 64% !important;
	transform: rotate(-3deg) !important;
}

.hrz-kontakt-link {
	margin-top: auto;
	padding-top: 10px;
	font-weight: 800;
	color: var(--hrz-rot) !important;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.hrz-about-karten li {
	min-height: 180px;
}

.hrz-kontakt-faq {
	margin: 0 0 48px !important;
}

html body .hrz-kontakt-faq h2 {
	border-top: 0 !important;
	padding-top: 0 !important;
	margin: 0 0 14px !important;
}

.hrz-kontakt-faq details {
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	background: var(--hrz-karte);
	margin: 0 0 10px;
	padding: 0 16px;
}

.hrz-kontakt-faq summary {
	min-height: 52px;
	display: flex;
	align-items: center;
	cursor: pointer;
	font-weight: 800;
	font-size: 17px;
	list-style: none;
}

.hrz-kontakt-faq summary::-webkit-details-marker {
	display: none;
}

.hrz-kontakt-faq summary::after {
	content: "+";
	margin-left: auto;
	font-family: var(--hrz-mono);
	font-size: 22px;
	color: var(--hrz-rot);
}

.hrz-kontakt-faq details[open] summary::after {
	content: "−";
}

.hrz-kontakt-faq details p {
	margin: 0 0 14px !important;
}

/* Contact am Handy: ein Bild statt drei, die Collage braucht weniger Hoehe */
@media (max-width: 860px) {
	.hrz-kontakt-bild {
		height: 250px !important;
	}
}

/* Lange Sticker in den Stimmungskacheln am Handy: umbrechen statt abschneiden
   ("overthinking since birth", Maho 19.09.2026) */
.hrz-p-mood .hrz-sticker {
	white-space: normal;
	max-width: calc(100% - 22px);
	line-height: 1.25;
}

/* Printfuls Size-Guide-Link aus, unsere Tabelle ersetzt ihn (19.09.2026) */
body.single-product .pf-size-guide-button,
body.single-product a[onclick*="Printful_Product_Size_Guide"],
body.single-product .pf-size-guide {
	display: none !important;
}

body.single-product form.cart .hrz-groessen {
	margin: 0 0 14px;
}

/* Aufklapp-Zeichen fuer die Groessentabelle, ueberall */
.hrz-groessen summary {
	list-style: none;
}

.hrz-groessen summary::-webkit-details-marker {
	display: none;
}

.hrz-groessen summary::after {
	content: "+";
	margin-left: auto;
	font-family: var(--hrz-mono);
	font-size: 20px;
	color: var(--hrz-rot);
}

.hrz-groessen[open] summary::after {
	content: "\2212";
}

/* Groessenauswahl im Editor mit Pfeil */
.hrz-editor-felder select {
	appearance: none !important;
	-webkit-appearance: none !important;
	background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23161512' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 14px center !important;
	padding-right: 40px !important;
	cursor: pointer;
}

/* ---------- Widerruf ---------- */

.hrz-widerruf {
	display: flex;
	flex-direction: column;
	gap: 14px;
	max-width: 560px !important;
	padding: 22px;
	background: var(--hrz-karte);
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
}

.hrz-widerruf label {
	display: flex;
	flex-direction: column;
	gap: 6px;
	font-weight: 700;
	font-size: 15px;
}

.hrz-widerruf label span {
	font-weight: 400;
	color: var(--hrz-grau);
	font-size: 13px;
}

.hrz-widerruf input,
.hrz-widerruf textarea {
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 10px !important;
	background: var(--hrz-creme) !important;
	min-height: 48px;
	padding: 10px 12px !important;
	font-size: 16px !important;
}

.hrz-widerruf-hp {
	position: absolute !important;
	left: -9999px;
}

.hrz-widerruf-knopf {
	min-height: 56px;
	border: 0 !important;
	border-radius: 12px !important;
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	font-weight: 800 !important;
	font-size: 16px !important;
	cursor: pointer;
	box-shadow: 4px 4px 0 var(--hrz-tinte);
}

.hrz-widerruf-klein {
	margin: 0 !important;
	font-size: 13px;
	color: var(--hrz-grau);
}

.hrz-widerruf-ok {
	padding: 22px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	background: var(--hrz-karte);
	max-width: 640px !important;
}

.hrz-widerruf-fuss {
	margin: 0;
	padding: 10px 16px;
	background: var(--hrz-tinte);
	text-align: center;
	font-size: 13px;
}

.hrz-widerruf-fuss a {
	color: var(--hrz-papier) !important;
	text-decoration: underline;
}

.hrz-widerruf-kasten {
	margin: 0 0 28px !important;
	padding: 18px 20px;
	background: var(--hrz-senf);
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	box-shadow: 4px 4px 0 var(--hrz-tinte);
}

.hrz-widerruf-kasten p {
	margin: 0 0 12px !important;
}

html body .entry-content .hrz-widerruf-kasten a.hrz-widerruf-knopf {
	display: inline-flex;
	align-items: center;
	padding: 0 20px;
	min-height: 50px;
	color: var(--hrz-creme) !important;
	text-decoration: none !important;
}

/* ---------- Eigener Footer in Spalten ---------- */

#footer.ct-footer {
	display: none !important;
}

.hrz-fuss {
	background: var(--hrz-tinte);
	color: var(--hrz-papier);
	padding: 56px 0 24px;
}

.hrz-fuss-innen,
.hrz-fuss-unten {
	width: var(--hrz-weite, min(100%, 90vw));
	max-width: var(--hrz-breite, 1290px);
	margin: 0 auto;
}

.hrz-fuss-innen {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 32px;
}

.hrz-fuss-marke img {
	width: 180px;
	height: auto;
	display: block;
}

.hrz-fuss-marke p {
	margin: 14px 0 18px;
	max-width: 30ch;
	font-size: 15px;
	line-height: 1.45;
	color: #C9C0AC;
}

.hrz-fuss ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.hrz-fuss-sozial {
	display: flex;
	gap: 10px;
}

.hrz-fuss-sozial a {
	width: 44px;
	height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 2px solid #3A3833;
	border-radius: 10px;
	color: var(--hrz-papier) !important;
}

.hrz-fuss-sozial a:hover {
	border-color: var(--hrz-senf);
	color: var(--hrz-senf) !important;
}

.hrz-fuss-titel {
	margin: 0 0 12px;
	font-family: var(--hrz-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hrz-senf);
}

.hrz-fuss-spalte li {
	margin: 0;
}

.hrz-fuss-spalte a {
	display: inline-block;
	padding: 6px 0;
	font-size: 15px;
	color: var(--hrz-papier) !important;
	text-decoration: none !important;
}

.hrz-fuss-spalte a:hover,
.hrz-fuss-spalte a:focus-visible {
	color: var(--hrz-senf) !important;
	text-decoration: underline !important;
}

.hrz-fuss .hrz-fuss-widerruf {
	font-weight: 700;
	text-decoration: underline !important;
	text-underline-offset: 3px;
}

.hrz-fuss-unten {
	margin-top: 40px;
	padding-top: 18px;
	border-top: 1px solid #3A3833;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 8px 24px;
	font-family: var(--hrz-mono);
	font-size: 12px;
	color: #C9C0AC;
}

.hrz-fuss-unten p {
	margin: 0;
	color: #C9C0AC;
}

@media (max-width: 900px) {
	.hrz-fuss {
		padding: 40px 0 20px;
	}

	.hrz-fuss-innen {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 28px 20px;
	}

	.hrz-fuss-marke {
		grid-column: 1 / -1;
	}

	.hrz-fuss-spalte[aria-label="Legal"] {
		grid-column: 1 / -1;
	}

	.hrz-fuss-unten {
		flex-direction: column;
	}
}

.hrz-fuss-unten .hrz-zahlarten {
	text-align: left;
}

/* Logo 80 ist dunkel; der alte Footer hat es invertiert, ohne Strich wie beim Kopflogo */
.hrz-fuss-marke img {
	filter: invert(1);
}

/* ---------- Mobiles Menue ---------- */

#offcanvas[data-behaviour] .ct-panel-inner {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-papier);
	width: 100vw !important;
	max-width: 100vw !important;
	box-shadow: none !important;
}

#offcanvas .ct-panel-actions {
	position: sticky;
	top: 0;
	z-index: 2;
	display: flex;
	justify-content: flex-end;
	padding: 14px 16px 0 !important;
	background: var(--hrz-tinte);
}

#offcanvas .ct-toggle-close {
	width: 48px !important;
	height: 48px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	border: 2px solid var(--hrz-papier) !important;
	border-radius: 12px !important;
	background: transparent !important;
	color: var(--hrz-papier) !important;
	--theme-icon-color: var(--hrz-papier);
	--theme-icon-size: 16px;
	margin: 0 !important;
	position: static !important;
}

#offcanvas .ct-toggle-close svg {
	fill: var(--hrz-papier) !important;
}

#offcanvas .ct-panel-content {
	padding: 8px 20px 32px !important;
}

#offcanvas .mobile-menu ul {
	margin: 0 !important;
}

#offcanvas .mobile-menu .ct-menu-link {
	font-family: var(--hrz-anzeige) !important;
	font-size: 34px !important;
	line-height: 1.05 !important;
	text-transform: uppercase;
	color: var(--hrz-papier) !important;
	padding: 8px 0 !important;
	letter-spacing: -0.01em;
}

#offcanvas .mobile-menu .current-menu-item > .ct-menu-link,
#offcanvas .mobile-menu .ct-menu-link:hover {
	color: var(--hrz-senf) !important;
}

#offcanvas .mobile-menu .menu-item-1549 > .ct-menu-link {
	color: var(--hrz-senf) !important;
}

.hrz-menue-extra {
	margin-top: 24px;
	padding-top: 22px;
	border-top: 1px solid #3A3833;
}

.hrz-menue-kacheln {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}

.hrz-menue-kacheln a {
	position: relative;
	display: block;
	border: 2px solid var(--hrz-papier);
	border-radius: 14px;
	overflow: hidden;
	aspect-ratio: 1 / 1.05;
	background: #fff;
}

.hrz-menue-kacheln img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.hrz-menue-kacheln span {
	position: absolute;
	left: 10px;
	bottom: 10px;
	padding: 6px 12px;
	background: var(--hrz-rot);
	color: var(--hrz-creme);
	font-family: var(--hrz-anzeige);
	font-size: 18px;
	text-transform: uppercase;
	border-radius: 8px;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
}

.hrz-menue-titel {
	margin: 24px 0 10px;
	font-family: var(--hrz-mono);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hrz-senf);
}

.hrz-menue-moods {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.hrz-menue-moods a {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 0 12px;
	border-radius: 8px;
	background: var(--hrz-st-bg);
	color: var(--hrz-st-fg) !important;
	font-family: var(--hrz-mono);
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	text-decoration: none !important;
	border: 1px solid #3A3833;
}

.hrz-menue-angebot {
	margin: 24px 0 0;
	padding: 12px 14px;
	background: var(--hrz-senf);
	color: var(--hrz-tinte);
	border-radius: 10px;
	font-weight: 800;
	font-size: 15px;
}

.hrz-menue-angebot .woocommerce-Price-amount {
	color: var(--hrz-tinte);
}

.hrz-menue-sozial {
	margin: 18px 0 0;
	font-family: var(--hrz-mono);
	font-size: 13px;
	color: #C9C0AC;
}

.hrz-menue-sozial a {
	color: var(--hrz-papier) !important;
}

/* ---------- Desktop-Kopf: "Write your own" als Knopf ---------- */

@media (min-width: 1000px) {
	.ct-header [data-id="menu"] .menu-item-1549 > .ct-menu-link {
		background: var(--hrz-senf);
		color: var(--hrz-tinte) !important;
		border: 2px solid var(--hrz-tinte);
		border-radius: 10px;
		padding: 0 14px !important;
		height: 40px !important;
		margin: auto 0;
		box-shadow: 3px 3px 0 var(--hrz-tinte);
	}

	.ct-header [data-id="menu"] .menu-item-1549 > .ct-menu-link:hover {
		transform: translate(-1px, -1px);
		box-shadow: 4px 4px 0 var(--hrz-tinte);
	}

	.ct-header [data-id="menu"] .menu-item-1549 > .ct-menu-link::after,
	.ct-header [data-id="menu"] .menu-item-1549 > .ct-menu-link::before {
		display: none !important;
	}
}

/* Der helle Grund kam von .ct-panel-content-inner (Papierfarbe aus einer aelteren Regel), die
   hellen Menuepunkte waren darauf unsichtbar (gemessen 19.09.2026) */
html body #offcanvas .ct-panel-content-inner {
	background: transparent !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
	box-shadow: none !important;
	border: 0 !important;
}

html body #offcanvas {
	background: var(--hrz-tinte) !important;
}

html body #offcanvas .hrz-menue-titel {
	color: var(--hrz-senf) !important;
}

html body #offcanvas .hrz-menue-angebot,
html body #offcanvas .hrz-menue-angebot * {
	color: var(--hrz-tinte) !important;
}

/* ---------- Desktop-Mega-Menue und Kopf (19.09.2026) ---------- */

.hrz-mega {
	position: fixed;
	left: 0;
	right: 0;
	z-index: 60;
	background: var(--hrz-tinte);
	color: var(--hrz-papier);
	border-top: 3px solid var(--hrz-senf);
	box-shadow: 0 24px 40px rgba(0, 0, 0, 0.25);
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.15s ease, transform 0.15s ease;
}

.hrz-mega.ist-offen {
	opacity: 1;
	transform: none;
}

.hrz-mega[hidden] {
	display: none;
}

.hrz-mega-innen {
	max-width: 1240px;
	margin: 0 auto;
	padding: 28px 32px 32px;
	display: grid;
	grid-template-columns: 220px 220px 1fr 260px;
	gap: 24px;
	align-items: start;
}

.hrz-mega-kachel {
	position: relative;
	display: block;
	aspect-ratio: 1 / 1.15;
	border: 2px solid var(--hrz-papier);
	border-radius: 14px;
	overflow: hidden;
	background: #fff;
	text-decoration: none !important;
}

.hrz-mega-kachel img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.hrz-mega-kachel:hover img {
	transform: scale(1.04);
}

.hrz-mega-kachel span {
	position: absolute;
	left: 12px;
	bottom: 12px;
	padding: 6px 14px;
	background: var(--hrz-rot);
	color: var(--hrz-creme);
	font-family: var(--hrz-anzeige);
	font-size: 22px;
	text-transform: uppercase;
	border-radius: 8px;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
}

.hrz-mega .hrz-menue-titel {
	margin: 0 0 12px;
	color: var(--hrz-senf) !important;
}

.hrz-mega-alle {
	display: inline-block;
	margin-top: 16px;
	font-family: var(--hrz-mono);
	font-size: 13px;
	font-weight: 600;
	color: var(--hrz-papier) !important;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.hrz-mega-eigen {
	display: block;
	padding: 18px;
	background: var(--hrz-senf);
	color: var(--hrz-tinte) !important;
	border: 2px solid var(--hrz-papier);
	border-radius: 14px;
	text-decoration: none !important;
	box-shadow: 4px 4px 0 var(--hrz-rot);
	transition: transform 0.15s ease;
}

.hrz-mega-eigen:hover {
	transform: translate(-2px, -2px);
}

.hrz-mega-eigen strong {
	display: block;
	font-family: var(--hrz-anzeige);
	font-size: 28px;
	line-height: 1;
	text-transform: uppercase;
}

.hrz-mega-eigen > span {
	display: block;
	margin-top: 8px;
	font-size: 14px;
	line-height: 1.4;
}

.hrz-mega-eigen span *,
.hrz-mega-angebot * {
	color: inherit !important;
}

.hrz-mega-eigen em {
	display: inline-block;
	margin-top: 12px;
	font-style: normal;
	font-weight: 800;
	font-size: 14px;
}

.hrz-mega-angebot {
	margin: 16px 0 0;
	font-family: var(--hrz-mono);
	font-size: 13px;
	font-weight: 600;
	line-height: 1.6;
	text-transform: uppercase;
	color: var(--hrz-papier);
}

@media (min-width: 1000px) {
	/* Hover-Strich in Rot statt Farbwechsel, Shop/Men/Women zeigen einen Pfeil fuers Aufklappen */
	.ct-header [data-id="menu"] > ul > li:not(.menu-item-1549) > .ct-menu-link::after,
	.ct-header [data-id="menu"] > ul > li:not(.menu-item-1549) > .ct-menu-link::before {
		display: none !important;
	}

	.ct-header [data-id="menu"] > ul > li:not(.menu-item-1549) > .ct-menu-link {
		text-decoration: underline 3px transparent !important;
		text-underline-offset: 9px;
		transition: text-decoration-color 0.15s ease;
	}

	.ct-header [data-id="menu"] > ul > li:not(.menu-item-1549):hover > .ct-menu-link,
	.ct-header [data-id="menu"] > ul > li.current-menu-item > .ct-menu-link {
		text-decoration-color: var(--hrz-rot) !important;
	}

	/* About und Contact leiser, damit Shop, Men, Women und der Knopf fuehren */
	.ct-header [data-id="menu"] .menu-item-45 > .ct-menu-link,
	.ct-header [data-id="menu"] .menu-item-46 > .ct-menu-link {
		opacity: 0.6;
	}

	.ct-header [data-id="menu"] .menu-item-45 > .ct-menu-link:hover,
	.ct-header [data-id="menu"] .menu-item-46 > .ct-menu-link:hover {
		opacity: 1;
	}
}

/* Warenkorb: Stueckzahl als roter Punkt, "€ 0,00" bei leerem Korb weg (sagt nichts) */
.ct-header-cart .ct-dynamic-count-cart {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 5px;
	border-radius: 10px;
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	font-size: 11px;
	font-weight: 800;
	top: -8px !important;
	right: -10px !important;
	left: auto !important;
	position: absolute;
	border: 2px solid var(--hrz-papier);
}

.ct-header-cart .ct-icon-container {
	position: relative;
}

.ct-header-cart .ct-dynamic-count-cart[data-count="0"] {
	display: none !important;
}

.ct-header-cart .ct-cart-item:has(.ct-dynamic-count-cart[data-count="0"]) .ct-label {
	display: none !important;
}

/* ---------- Rueckmeldung nach dem Hinzufuegen (19.09.2026) ----------
   Stand bis heute nur in highrizz-product.css, die seit 18.09. nicht mehr laedt: das Paket flog
   unsichtbar ("es fehlt iwie eine animation", Maho). */

.hrz-fly-box {
	position: fixed;
	width: 28px;
	height: 28px;
	z-index: 99999;
	pointer-events: none;
	color: var(--hrz-rot);
	filter: drop-shadow(2px 2px 0 var(--hrz-tinte));
}

.hrz-fly-box svg {
	width: 100%;
	height: 100%;
	display: block;
}

.ct-header-cart.hrz-cart-bump {
	animation: hrzCartBump 0.45s ease;
}

@keyframes hrzCartBump {
	0% { transform: scale(1); }
	40% { transform: scale(1.3) rotate(-8deg); }
	100% { transform: scale(1); }
}

/* "View basket" nach dem Hinzufuegen weg, dafuer geht die Schublade auf */
html body .single-product .added_to_cart.wc-forward,
html body.single-product .added_to_cart.wc-forward {
	display: none !important;
}

/* ---------- Schnellkauf auf der Karte ---------- */

.hrz-hat-schnell {
	position: relative;
}

.hrz-schnell {
	position: absolute;
	z-index: 4;
	height: 0;
	top: 0;
	left: 0;
	width: 100%;
}

.hrz-schnell-plus {
	position: absolute;
	right: 8px;
	bottom: 8px;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 2px solid var(--hrz-tinte);
	background: var(--hrz-senf);
	color: var(--hrz-tinte);
	font: 800 24px/1 var(--hrz-text);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 0 2px;
	box-shadow: 2px 2px 0 var(--hrz-tinte);
	cursor: pointer;
}

.hrz-schnell-leiste {
	position: absolute;
	left: 8px;
	right: 8px;
	bottom: 8px;
	padding: 10px;
	background: var(--hrz-creme);
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
	opacity: 0;
	transform: translateY(8px);
	pointer-events: none;
	transition: opacity 0.15s ease, transform 0.15s ease;
	display: none;
}

.hrz-schnell-titel {
	margin: 0 0 8px !important;
	font: 600 11px/1 var(--hrz-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hrz-grau) !important;
}

@media (hover: hover) and (min-width: 700px) {
	.hrz-schnell-plus {
		display: none;
	}

	.hrz-schnell-leiste {
		display: block;
	}

	.hrz-hat-schnell:hover .hrz-schnell-leiste,
	.hrz-hat-schnell:focus-within .hrz-schnell-leiste {
		opacity: 1;
		transform: none;
		pointer-events: auto;
	}
}

.hrz-schnell-farben {
	display: flex;
	gap: 8px;
	margin-bottom: 8px;
}

.hrz-schnell-farbe {
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 2px solid var(--hrz-tinte);
	padding: 0;
	cursor: pointer;
	background: #111;
	box-shadow: 0 0 0 2px var(--hrz-creme);
}

.hrz-schnell-farbe[data-farbe="white"] {
	background: #fff;
}

.hrz-schnell-farbe.ist-an {
	box-shadow: 0 0 0 2px var(--hrz-creme), 0 0 0 4px var(--hrz-rot);
}

.hrz-schnell-groessen {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
}

.hrz-schnell-groesse {
	min-width: 38px;
	height: 34px;
	padding: 0 7px;
	border: 1.5px solid var(--hrz-tinte);
	border-radius: 8px;
	background: #fff;
	color: var(--hrz-tinte);
	font: 700 13px/1 var(--hrz-mono);
	cursor: pointer;
	transition: background 0.1s ease, transform 0.1s ease;
}

.hrz-schnell-groesse:hover:not(:disabled) {
	background: var(--hrz-tinte);
	color: var(--hrz-creme);
}

.hrz-schnell-groesse:disabled {
	opacity: 0.3;
	text-decoration: line-through;
	cursor: not-allowed;
}

.hrz-schnell-groesse.ist-laedt,
.hrz-empf-knopf.ist-laedt {
	opacity: 0.6;
	pointer-events: none;
}

.hrz-schnell-groesse.ist-drin,
.hrz-empf-knopf.ist-drin {
	background: #1F7A3A !important;
	border-color: #1F7A3A !important;
	color: #fff !important;
	transform: scale(1.08);
}

/* ---------- Blatt von unten (Handy) ---------- */

.hrz-blatt[hidden] {
	display: none;
}

.hrz-blatt-schatten {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(22, 21, 18, 0.5);
	opacity: 0;
	transition: opacity 0.2s ease;
}

.hrz-blatt-schatten.ist-offen {
	opacity: 1;
}

.hrz-blatt-karte {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
	background: var(--hrz-creme);
	border-top: 3px solid var(--hrz-tinte);
	border-radius: 18px 18px 0 0;
	padding: 16px 16px calc(20px + env(safe-area-inset-bottom));
	transform: translateY(100%);
	transition: transform 0.25s cubic-bezier(.2, .8, .3, 1);
}

.hrz-blatt.ist-offen .hrz-blatt-karte {
	transform: none;
}

.hrz-blatt-kopf {
	display: flex;
	align-items: center;
	gap: 12px;
}

.hrz-blatt-bild img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 8px;
	border: 1.5px solid var(--hrz-tinte);
	display: block;
}

.hrz-blatt-name {
	flex: 1;
	margin: 0 !important;
	font: 700 15px/1.3 var(--hrz-text);
	color: var(--hrz-tinte) !important;
}

.hrz-blatt-zu {
	width: 44px;
	height: 44px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 10px;
	background: transparent;
	color: var(--hrz-tinte);
	font-size: 16px;
	flex: none;
}

.hrz-blatt-hinweis {
	margin: 14px 0 10px !important;
	font: 600 12px/1 var(--hrz-mono);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--hrz-grau) !important;
}

.hrz-blatt .hrz-schnell-farbe {
	width: 36px;
	height: 36px;
}

.hrz-blatt .hrz-schnell-farben {
	margin-bottom: 14px;
}

.hrz-blatt .hrz-schnell-groessen {
	gap: 8px;
}

.hrz-blatt .hrz-schnell-groesse {
	min-width: 56px;
	height: 48px;
	font-size: 15px;
}

/* ---------- Warenkorb-Schublade ---------- */

html.hrz-korb-offen,
html.hrz-korb-offen body {
	overflow: hidden;
}

.hrz-korb-schatten {
	position: fixed;
	inset: 0;
	z-index: 9996;
	background: rgba(22, 21, 18, 0.5);
	opacity: 0;
	transition: opacity 0.25s ease;
}

.hrz-korb-schatten.ist-offen {
	opacity: 1;
}

.hrz-korb-schatten[hidden] {
	display: none;
}

.hrz-korb {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	z-index: 9997;
	width: min(420px, 100vw);
	background: var(--hrz-papier);
	border-left: 3px solid var(--hrz-tinte);
	display: flex;
	flex-direction: column;
	transform: translateX(105%);
	transition: transform 0.3s cubic-bezier(.2, .8, .3, 1);
	outline: none;
	visibility: hidden;
}

.hrz-korb.ist-offen {
	transform: none;
	visibility: visible;
}

.hrz-korb-kopf {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 14px 16px;
	background: var(--hrz-tinte);
}

.hrz-korb-titel {
	margin: 0 !important;
	font: 400 22px/1 var(--hrz-anzeige);
	text-transform: uppercase;
	color: var(--hrz-creme) !important;
}

.hrz-korb-zahl {
	color: var(--hrz-senf);
}

.hrz-korb-zu {
	width: 44px;
	height: 44px;
	border: 2px solid var(--hrz-creme);
	border-radius: 10px;
	background: transparent;
	color: var(--hrz-creme);
	font-size: 16px;
	cursor: pointer;
}

.hrz-korb-inhalt {
	flex: 1;
	overflow-y: auto;
	padding: 16px;
	-webkit-overflow-scrolling: touch;
}

.hrz-korb .hrz-versandleiste {
	margin-bottom: 14px;
}

.hrz-korb .woocommerce-mini-cart {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
}

.hrz-korb .woocommerce-mini-cart-item {
	position: relative;
	display: block;
	min-height: 76px;
	padding: 10px 36px 10px 86px !important;
	margin: 0 0 8px !important;
	background: var(--hrz-karte);
	border: 1.5px solid var(--hrz-tinte);
	border-radius: 12px;
	font: 600 14px/1.35 var(--hrz-text);
	color: var(--hrz-tinte);
}

.hrz-korb .woocommerce-mini-cart-item a:not(.remove) {
	color: var(--hrz-tinte) !important;
	text-decoration: none !important;
	font-weight: 700;
}

.hrz-korb .woocommerce-mini-cart-item img {
	position: absolute;
	left: 10px;
	top: 10px;
	width: 64px !important;
	height: 64px !important;
	object-fit: cover;
	border-radius: 8px;
	border: 1px solid var(--hrz-tinte);
	margin: 0 !important;
}

.hrz-korb .woocommerce-mini-cart-item .remove {
	position: absolute;
	right: 8px;
	top: 8px;
	width: 26px;
	height: 26px;
	line-height: 24px;
	text-align: center;
	border-radius: 50%;
	color: var(--hrz-tinte) !important;
	border: 1.5px solid var(--hrz-tinte);
	font-size: 16px;
	text-decoration: none !important;
}

.hrz-korb .woocommerce-mini-cart-item .variation,
.hrz-korb .woocommerce-mini-cart-item .quantity {
	display: block;
	margin: 4px 0 0;
	font: 500 12px/1.4 var(--hrz-mono);
	color: var(--hrz-grau);
}

.hrz-korb .woocommerce-mini-cart-item .variation dt,
.hrz-korb .woocommerce-mini-cart-item .variation dd,
.hrz-korb .woocommerce-mini-cart-item .variation p {
	display: inline;
	margin: 0 !important;
	float: none !important;
}

.hrz-korb .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	margin: 14px 0 10px !important;
	padding: 12px 0 0;
	border-top: 1.5px solid var(--hrz-tinte);
	font: 800 16px/1 var(--hrz-text);
	color: var(--hrz-tinte);
}

.hrz-korb .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin: 0 !important;
}

html body .hrz-korb .hrz-korb-kasse {
	display: flex !important;
	align-items: center;
	justify-content: center;
	height: 54px;
	width: 100%;
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 12px !important;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
	font: 400 18px/1 var(--hrz-anzeige) !important;
	text-transform: uppercase;
	text-decoration: none !important;
}

.hrz-korb .hrz-korb-ganz {
	text-align: center;
	font: 600 13px/1 var(--hrz-mono);
	color: var(--hrz-tinte) !important;
	text-decoration: underline;
}

.hrz-korb .woocommerce-mini-cart__empty-message {
	font: 600 15px/1.4 var(--hrz-text);
	color: var(--hrz-tinte);
}

/* ---------- "Add 1 more, save" in Schublade und Warenkorb ---------- */

.hrz-empf {
	margin: 22px 0 0;
	padding: 14px;
	background: var(--hrz-tinte);
	border-radius: 14px;
}

.hrz-empf-titel {
	margin: 0 !important;
	font: 400 20px/1.1 var(--hrz-anzeige);
	text-transform: uppercase;
	color: var(--hrz-senf) !important;
}

.hrz-empf-unter {
	margin: 4px 0 12px !important;
	font: 600 11px/1 var(--hrz-mono);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #A69F8F !important;
}

.hrz-empf ul {
	list-style: none;
	margin: 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}

.hrz-empf-seite ul {
	grid-template-columns: repeat(4, 1fr);
}

@media (max-width: 700px) {
	.hrz-empf-seite ul {
		grid-template-columns: 1fr 1fr;
	}
}

.hrz-empf li {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0 !important;
}

.hrz-empf-bild img {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 10px;
	border: 1.5px solid var(--hrz-creme);
	display: block;
}

.hrz-empf-name {
	font: 600 12px/1.3 var(--hrz-text);
	color: var(--hrz-creme);
	min-height: 2.6em;
}

html body .hrz-empf-knopf {
	margin-top: auto;
	height: 40px;
	border: 2px solid var(--hrz-creme);
	border-radius: 10px;
	background: var(--hrz-senf);
	color: var(--hrz-tinte);
	font: 700 13px/1 var(--hrz-mono);
	text-transform: uppercase;
	cursor: pointer;
	padding: 0 6px;
}

html body .hrz-empf-knopf:hover {
	background: var(--hrz-creme);
}

/* Mengenzeile in der Schublade: erbte Rahmen und Groesse vom Mengenfeld der Warenkorbseite */
html body .hrz-korb .woocommerce-mini-cart-item .quantity {
	border: 0 !important;
	background: none !important;
	padding: 0 !important;
	width: auto !important;
	height: auto !important;
	min-height: 0 !important;
	box-shadow: none !important;
	display: block !important;
}

.hrz-korb .woocommerce-mini-cart-item .ct-media-container {
	position: static;
}

/* Schublade nie breiter als das sichtbare Fenster: 100vw zaehlt am Desktop die Scrollleiste mit,
   das X stand abgeschnitten am Rand (Maho 19.09.2026) */
html body .hrz-korb {
	width: min(420px, 100%);
}

/* Empfehlung: Farbe und Groesse waehlbar */
.hrz-empf-wahl {
	display: flex;
	align-items: center;
	gap: 6px;
	flex-wrap: wrap;
}

.hrz-empf .hrz-schnell-farbe {
	width: 22px;
	height: 22px;
	border-color: var(--hrz-creme);
	box-shadow: none;
}

.hrz-empf .hrz-schnell-farbe.ist-an {
	box-shadow: 0 0 0 2px var(--hrz-tinte), 0 0 0 4px var(--hrz-senf);
}

html body .hrz-empf-groesse,
html body .hrz-tausch select {
	height: 32px;
	min-height: 0;
	padding: 0 24px 0 8px;
	border: 1.5px solid var(--hrz-tinte);
	border-radius: 8px;
	background-color: #fff;
	color: var(--hrz-tinte);
	font: 700 12px/1 var(--hrz-mono);
	width: auto;
	max-width: 100%;
}

html body .hrz-empf-groesse {
	margin-left: auto;
	border-color: var(--hrz-creme);
}

/* Tauschen in der Warenkorbzeile */
.hrz-tausch {
	display: flex;
	gap: 6px;
	margin-top: 6px;
	flex-wrap: wrap;
}

.hrz-tausch.ist-laedt {
	opacity: 0.5;
	pointer-events: none;
}

/* Handy-Blatt: Groesse markieren, dann Knopf */
.hrz-schnell-groesse.ist-an {
	background: var(--hrz-tinte) !important;
	color: var(--hrz-creme) !important;
}

html body .hrz-blatt-add {
	display: block;
	width: 100%;
	height: 54px;
	margin-top: 16px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	background: var(--hrz-rot);
	color: var(--hrz-creme);
	font: 400 18px/1 var(--hrz-anzeige);
	text-transform: uppercase;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
	cursor: pointer;
}

html body .hrz-blatt-add:disabled {
	background: #CFC7B4;
	color: var(--hrz-grau);
	box-shadow: none;
	cursor: default;
}

/* Schublade: links bleibt die Seite sichtbar, Schatten und Hereinschieben machen klar, dass sie
   von der Seite kommt (Maho 19.09.2026: "nimmt die ganze Bildschirmbreite") */
html body .hrz-korb {
	width: min(420px, calc(100% - 44px));
	box-shadow: -14px 0 32px rgba(0, 0, 0, 0.35);
	transition: transform 0.38s cubic-bezier(.2, .9, .25, 1.05), visibility 0s linear 0.38s;
}

html body .hrz-korb.ist-offen {
	transition: transform 0.38s cubic-bezier(.2, .9, .25, 1.05), visibility 0s;
}

/* Knopf im Hover-Feld der Karte kleiner als im Handy-Blatt */
html body .hrz-schnell-leiste .hrz-blatt-add {
	height: 42px;
	margin-top: 10px;
	font-size: 14px;
	box-shadow: 2px 2px 0 var(--hrz-tinte);
}

/* ---------- Klickfreundlicher (19.09.2026, Maho: "der muelleimer ist schrott", "groessen und
   abstaende klickfreundlicher"). Alles Antippbare mindestens 40 bis 44 px, Entfernen als eigenes
   Feld statt 10-px-Symbol im 26-px-Kreis. ---------- */

html body .hrz-korb .woocommerce-mini-cart-item {
	padding: 12px 62px 12px 88px !important;
	min-height: 88px;
}

html body .hrz-korb .woocommerce-mini-cart-item a.remove,
html body.woocommerce-cart td.product-remove a.remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 44px !important;
	height: 44px !important;
	line-height: 1 !important;
	border: 1.5px solid var(--hrz-tinte) !important;
	border-radius: 10px !important;
	background: #fff !important;
	color: var(--hrz-tinte) !important;
	transition: background 0.12s ease, color 0.12s ease;
}

html body .hrz-korb .woocommerce-mini-cart-item a.remove {
	position: absolute;
	right: 10px;
	top: 12px;
}

html body .hrz-korb .woocommerce-mini-cart-item a.remove svg,
html body.woocommerce-cart td.product-remove a.remove svg {
	width: 18px !important;
	height: 18px !important;
	fill: currentColor !important;
	color: inherit !important;
}

html body .hrz-korb .woocommerce-mini-cart-item a.remove:hover,
html body.woocommerce-cart td.product-remove a.remove:hover {
	background: var(--hrz-rot) !important;
	border-color: var(--hrz-rot) !important;
	color: #fff !important;
}

html body .hrz-korb .woocommerce-mini-cart-item a.remove:hover svg,
html body.woocommerce-cart td.product-remove a.remove:hover svg {
	fill: #fff !important;
}

/* Auswahlfelder in Warenkorbzeile und Empfehlung */
html body .hrz-tausch {
	gap: 8px;
	margin-top: 10px;
}

html body .hrz-tausch select,
html body .hrz-empf-groesse {
	height: 44px !important;
	min-width: 72px;
	padding: 0 30px 0 12px !important;
	font-size: 14px !important;
	border-radius: 10px !important;
}

/* Empfehlung: groessere Farbpunkte, mehr Luft, groesserer Knopf */
html body .hrz-empf ul {
	gap: 14px;
}

html body .hrz-empf-wahl {
	gap: 10px;
	margin: 4px 0 2px;
}

html body .hrz-empf .hrz-schnell-farbe {
	width: 34px;
	height: 34px;
}

html body .hrz-empf-knopf {
	height: 48px;
	font-size: 14px;
}

.hrz-korb .hrz-korb-ganz {
	display: block;
	padding: 12px 0;
}

/* Schnellkauf auf der Karte: groessere Felder */
html body .hrz-schnell-leiste .hrz-schnell-farbe {
	width: 34px;
	height: 34px;
}

html body .hrz-schnell-leiste .hrz-schnell-farben {
	gap: 10px;
	margin-bottom: 10px;
}

html body .hrz-schnell-leiste .hrz-schnell-groessen {
	gap: 6px;
}

html body .hrz-schnell-leiste .hrz-schnell-groesse {
	min-width: 44px;
	height: 40px;
	font-size: 14px;
}

html body .hrz-schnell-leiste .hrz-blatt-add {
	height: 46px;
}

/* Handy-Blatt: etwas mehr Luft zwischen den Groessen */
html body .hrz-blatt .hrz-schnell-groessen {
	gap: 10px;
}

html body .hrz-blatt .hrz-schnell-farben {
	gap: 12px;
}

html body .hrz-blatt .hrz-schnell-farbe {
	width: 44px;
	height: 44px;
}

/* Schublade: nur der Titel weicht dem Muelleimer aus, Farbe und Groesse bekommen die volle Breite
   und stehen nebeneinander statt untereinander */
html body .hrz-korb .woocommerce-mini-cart-item {
	padding-right: 12px !important;
}

html body .hrz-korb .woocommerce-mini-cart-item .product-title {
	display: block;
	padding-right: 50px;
}

html body .hrz-korb .hrz-tausch {
	flex-wrap: nowrap;
}

/* Empfehlung: Groesse fuellt den Rest der Zeile, bricht sie um, dann ueber die volle Breite */
html body .hrz-empf-groesse {
	margin-left: 0;
	flex: 1 1 72px;
}

/* Kleine Zeile ueber den Empfehlungen: warum die da sind */
.hrz-empf-vor {
	margin: 26px 0 8px !important;
	font: 600 12px/1 var(--hrz-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hrz-rot) !important;
}

.hrz-empf-vor::before {
	content: "↓ ";
}

.hrz-empf-vor + .hrz-empf {
	margin-top: 0;
}

/* ---------- "Write your own"-Karte: Editor direkt von der Karte (19.09.2026) ---------- */

.hrz-eigen-karte {
	position: relative;
}

.hrz-eigen-plus {
	position: absolute;
	right: 10px;
	top: 0;
	width: calc(100% - 20px);
	/* Unterkante des quadratischen Bildes */
	aspect-ratio: 1;
	pointer-events: none;
	display: flex;
	align-items: flex-end;
	justify-content: flex-end;
	gap: 8px;
	padding-bottom: 10px;
}

.hrz-eigen-plus .hrz-editor-paar {
	pointer-events: auto;
}

html body .hrz-eigen-plus .hrz-anpassen-knopf {
	width: 48px;
	height: 48px;
	min-height: 0;
	padding: 0 0 3px;
	margin: 0;
	border-radius: 50%;
	border: 2px solid var(--hrz-tinte);
	background: var(--hrz-rot);
	color: var(--hrz-creme);
	font: 800 28px/1 var(--hrz-text);
	box-shadow: 2px 2px 0 var(--hrz-tinte);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform 0.12s ease;
}

html body .hrz-eigen-plus-zwei .hrz-anpassen-knopf {
	width: auto;
	height: 44px;
	padding: 0 14px;
	border-radius: 999px;
	font: 700 14px/1 var(--hrz-mono);
	text-transform: uppercase;
}

html body .hrz-eigen-plus .hrz-anpassen-knopf:hover {
	transform: scale(1.06);
}

.hrz-eigen-tipp {
	display: none;
}

@media (hover: hover) and (min-width: 700px) {
	/* Desktop: Knoepfe erst beim Drueberfahren, mit Hinweis daneben */
	.hrz-eigen-plus .hrz-editor-paar,
	.hrz-eigen-tipp {
		opacity: 0;
		transform: translateY(6px);
		transition: opacity 0.15s ease, transform 0.15s ease;
	}

	.hrz-eigen-karte:hover .hrz-eigen-plus .hrz-editor-paar,
	.hrz-eigen-karte:focus-within .hrz-eigen-plus .hrz-editor-paar,
	.hrz-eigen-karte:hover .hrz-eigen-tipp {
		opacity: 1;
		transform: none;
	}

	.hrz-eigen-plus:not(.hrz-eigen-plus-zwei) .hrz-eigen-tipp {
		display: block;
		order: -1;
		align-self: center;
		margin-bottom: -10px;
		padding: 6px 10px;
		background: var(--hrz-tinte);
		color: var(--hrz-creme);
		border-radius: 8px;
		font: 600 12px/1 var(--hrz-mono);
		text-transform: uppercase;
	}
}

/* Die Editor-Knopf-Regel oben setzt Rahmen, Farbe und Schrift mit !important, deshalb hier auch */
html body .hrz-eigen-plus .hrz-anpassen-knopf {
	border: 2px solid var(--hrz-tinte) !important;
	border-radius: 50% !important;
	background: var(--hrz-rot) !important;
	color: var(--hrz-creme) !important;
	font-family: var(--hrz-text) !important;
	font-weight: 800 !important;
	font-size: 28px !important;
	letter-spacing: 0;
}

html body .hrz-eigen-plus-zwei .hrz-anpassen-knopf {
	border-radius: 999px !important;
	font-family: var(--hrz-mono) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	white-space: nowrap;
}

/* Handy: die zwei Knoepfe untereinander rechts, die Karte ist nur 170 px breit */
@media (max-width: 699px) {
	.hrz-eigen-plus-zwei {
		flex-direction: column;
		align-items: flex-end;
		justify-content: flex-end;
		gap: 6px;
	}

	html body .hrz-eigen-plus-zwei .hrz-anpassen-knopf {
		height: 40px;
		padding: 0 12px;
	}
}

/* Hinweis sitzt auf Hoehe des Kreises, nicht mitten im Bild */
@media (hover: hover) and (min-width: 700px) {
	html body .hrz-eigen-plus:not(.hrz-eigen-plus-zwei) .hrz-eigen-tipp {
		align-self: flex-end;
		margin-bottom: 12px;
	}
}

@media (max-width: 699px) {
	html body .hrz-eigen-plus-zwei .hrz-anpassen-knopf {
		height: 36px;
		padding: 0 10px;
		font-size: 12px !important;
		box-shadow: 2px 2px 0 var(--hrz-tinte);
	}

	.hrz-eigen-plus-zwei {
		gap: 5px;
		padding-bottom: 8px;
	}
}

/* Desktop: Auswahl nur ueber den "+"-Kreis, nicht beim Ueberfahren der ganzen Karte
   (Maho 19.09.2026: "blendet die shirts immer voll aus") */
@media (hover: hover) and (min-width: 700px) {
	html body .hrz-schnell-plus {
		display: flex;
		transition: transform 0.12s ease, background 0.12s ease;
	}

	html body .hrz-schnell-plus:hover,
	html body .hrz-schnell.ist-offen .hrz-schnell-plus {
		transform: scale(1.08);
		background: var(--hrz-rot);
		color: var(--hrz-creme);
	}

	html body .hrz-hat-schnell:hover .hrz-schnell-leiste,
	html body .hrz-hat-schnell:focus-within .hrz-schnell-leiste {
		opacity: 0;
		transform: translateY(8px);
		pointer-events: none;
	}

	html body .hrz-schnell.ist-offen .hrz-schnell-leiste {
		opacity: 1;
		transform: none;
		pointer-events: auto;
		/* Feld sitzt ueber dem Kreis, der Kreis bleibt sichtbar zum Zuklappen */
		bottom: 58px;
	}
}

/* ---------- Teilen auf der Produktseite (19.09.2026) ---------- */

.hrz-teilen {
	margin: 22px 0 0;
	padding: 16px;
	border: 1.5px dashed var(--hrz-tinte);
	border-radius: 14px;
	background: var(--hrz-karte);
}

.hrz-teilen-titel {
	margin: 0 0 12px !important;
	font: 600 12px/1.2 var(--hrz-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hrz-tinte) !important;
}

html body .hrz-teilen-nativ {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 50px;
	margin: 0 0 12px;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	background: var(--hrz-senf);
	color: var(--hrz-tinte);
	font: 400 17px/1 var(--hrz-anzeige);
	text-transform: uppercase;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
	cursor: pointer;
}

html body .hrz-teilen-nativ[hidden] {
	display: none;
}

.hrz-teilen-reihe {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

html body .hrz-teilen-knopf {
	display: inline-flex;
	align-items: center;
	height: 42px;
	padding: 0 14px;
	border: 1.5px solid var(--hrz-tinte);
	border-radius: 999px;
	background: #fff;
	color: var(--hrz-tinte) !important;
	font: 700 13px/1 var(--hrz-mono);
	text-decoration: none !important;
	cursor: pointer;
	transition: background 0.12s ease, color 0.12s ease;
}

html body .hrz-teilen-knopf:hover {
	background: var(--hrz-tinte);
	color: var(--hrz-creme) !important;
}

html body .hrz-teilen-knopf[data-kanal="whatsapp"]:hover { background: #1F7A3A; border-color: #1F7A3A; }
html body .hrz-teilen-knopf[data-kanal="instagram"]:hover { background: #C13584; border-color: #C13584; }
html body .hrz-teilen-knopf[data-kanal="pinterest"]:hover { background: #BD081C; border-color: #BD081C; }

.hrz-teilen-meldung {
	margin: 10px 0 0 !important;
	min-height: 1em;
	font: 600 13px/1.4 var(--hrz-text);
	color: #1F7A3A !important;
}

.hrz-teilen-meldung:empty {
	margin: 0 !important;
	min-height: 0;
}

/* Teilen schlank: eine Reihe runder Knoepfe, einer je Plattform (Maho 19.09.2026) */
html body .hrz-teilen {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 18px 0 0;
	padding: 0;
	border: 0;
	background: none;
}

html body .hrz-teilen-titel {
	margin: 0 4px 0 0;
	font: 600 12px/1 var(--hrz-mono);
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--hrz-grau);
}

html body .hrz-teilen-knopf {
	width: 44px;
	height: 44px;
	padding: 0;
	justify-content: center;
	border-radius: 50%;
}

html body .hrz-teilen-knopf svg {
	width: 20px;
	height: 20px;
	display: block;
}

html body .hrz-teilen-knopf[data-kanal="tiktok"]:hover { background: #000; border-color: #000; }
html body .hrz-teilen-knopf[data-kanal="sms"]:hover,
html body .hrz-teilen-knopf[data-kanal="email"]:hover,
html body .hrz-teilen-knopf[data-kanal="link"]:hover { background: var(--hrz-tinte); }

html body .hrz-teilen-meldung {
	flex-basis: 100%;
}

@media (max-width: 699px) {
	html body .hrz-teilen {
		gap: 6px;
	}

	html body .hrz-teilen-titel {
		flex-basis: 100%;
		margin: 0 0 2px;
	}

	html body .hrz-teilen-knopf {
		width: 42px;
		height: 42px;
	}
}

/* Teilen in der Brotkrumen-Zeile, im Stil der Brotkrumen statt als eigener Block (Maho 19.09.2026) */
.hrz-krumen-zeile {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 8px 16px;
}

.hrz-krumen-zeile .ct-breadcrumbs {
	margin: 0 !important;
}

html body .hrz-krumen-zeile .hrz-teilen {
	margin: 0;
	gap: 4px;
	flex-wrap: nowrap;
}

html body .hrz-krumen-zeile .hrz-teilen-titel {
	flex-basis: auto;
	margin: 0 6px 0 0;
	font-size: 11px;
	color: var(--hrz-grau);
}

html body .hrz-krumen-zeile .hrz-teilen-knopf {
	width: 34px;
	height: 34px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--hrz-tinte) !important;
}

html body .hrz-krumen-zeile .hrz-teilen-knopf svg {
	width: 17px;
	height: 17px;
}

html body .hrz-krumen-zeile .hrz-teilen-knopf:hover {
	border-color: var(--hrz-tinte);
	background: var(--hrz-tinte);
	color: var(--hrz-creme) !important;
}

@media (max-width: 699px) {
	html body .hrz-krumen-zeile .hrz-teilen {
		width: 100%;
		justify-content: flex-end;
	}

	html body .hrz-krumen-zeile .hrz-teilen-knopf {
		width: 40px;
		height: 40px;
	}
}

/* Hinweis unten am Schirm, damit die Zeile nicht springt */
html body .hrz-teilen-meldung {
	position: fixed;
	left: 50%;
	bottom: 24px;
	z-index: 9999;
	margin: 0 !important;
	padding: 12px 18px;
	max-width: calc(100% - 32px);
	border-radius: 12px;
	background: var(--hrz-tinte);
	color: var(--hrz-creme) !important;
	font: 600 14px/1.4 var(--hrz-text);
	transform: translate(-50%, 20px);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.2s ease, transform 0.2s ease;
}

html body .hrz-teilen-meldung.ist-da {
	opacity: 1;
	transform: translate(-50%, 0);
}

html body .hrz-krumen-zeile .hrz-teilen-titel {
	margin: 0 6px 0 0 !important;
	line-height: 34px;
}

/* Dankeseite (19.09.2026, "Papier mit Sticker" wie die Mails). Seitenkopf "Thank you" weg, die Seite
   hat ihre eigene Ueberschrift. */
.woocommerce-order-received .hero-section { display: none; }
.hrz-danke { padding: 28px 0 56px; }
.hrz-danke-kopf { max-width: 760px; margin-bottom: 32px; }
.hrz-danke-sticker {
	display: inline-block;
	background: var(--hrz-rot);
	color: var(--hrz-creme);
	border: 2px solid var(--hrz-tinte);
	border-radius: 6px;
	padding: 6px 12px;
	font: 700 13px/1 var(--hrz-mono);
	letter-spacing: 1px;
	text-transform: uppercase;
	transform: rotate(-3deg);
	box-shadow: 3px 3px 0 var(--hrz-tinte);
	margin-bottom: 18px;
}
.hrz-danke-titel {
	font-family: var(--hrz-anzeige);
	font-size: clamp(44px, 8vw, 96px);
	line-height: 0.95;
	letter-spacing: -2px;
	margin: 0 0 16px;
	color: var(--hrz-tinte);
}
.hrz-danke-lead { font-size: 18px; line-height: 1.5; margin: 0; overflow-wrap: anywhere; }
.hrz-danke-raster { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.hrz-danke-karte, .hrz-danke-schritte {
	background: var(--hrz-karte);
	border: 2px solid var(--hrz-tinte);
	border-radius: 14px;
	box-shadow: 5px 5px 0 var(--hrz-tinte);
	padding: 22px 24px;
}
.hrz-danke-eyebrow { font: 700 12px/1 var(--hrz-mono); letter-spacing: 1.5px; text-transform: uppercase; margin: 0 0 16px; color: var(--hrz-grau); }
.hrz-danke-posten { list-style: none; margin: 0 0 16px; padding: 0; }
.hrz-danke-posten li { display: grid; grid-template-columns: 96px minmax(0, 1fr) auto; gap: 16px; align-items: center; padding: 12px 0; border-bottom: 1px solid #16151226; }
.hrz-danke-bild img { width: 96px; height: 96px; object-fit: cover; border: 2px solid var(--hrz-tinte); border-radius: 10px; background: #fff; display: block; }
.hrz-danke-name { font-weight: 800; line-height: 1.3; }
.hrz-danke-name a { color: var(--hrz-tinte); text-decoration: none; }
.hrz-danke-name small { display: block; font-weight: 400; color: var(--hrz-grau); font-size: 14px; margin-top: 4px; }
.hrz-danke-preis { font-family: var(--hrz-mono); white-space: nowrap; }
.hrz-danke-summen { margin: 0 0 16px; }
.hrz-danke-summen > div { display: flex; justify-content: space-between; gap: 16px; padding: 6px 0; font-size: 15px; }
.hrz-danke-summen dt { font-weight: 400; }
.hrz-danke-summen dd { margin: 0; text-align: right; font-family: var(--hrz-mono); white-space: nowrap; }
.hrz-danke-summe-order_total { border-top: 2px solid var(--hrz-tinte); margin-top: 6px; padding-top: 12px !important; font-size: 20px !important; font-weight: 900; }
.hrz-danke-summe-payment_method { color: var(--hrz-grau); font-size: 13px !important; }
.hrz-danke-summen small, .hrz-danke-summen .shipped_via { display: block; font-size: 12px; color: var(--hrz-grau); white-space: normal; }
.hrz-danke-klein { font-size: 13px; color: var(--hrz-grau); margin: 6px 0 0; line-height: 1.5; }
.hrz-danke-seite { display: grid; gap: 16px; }
.hrz-danke-schritte ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.hrz-danke-schritte li { line-height: 1.5; }
.hrz-danke-schritte li span { display: inline-block; min-width: 30px; font: 700 14px/1 var(--hrz-mono); color: var(--hrz-rot); }
.hrz-danke-schritte a { color: var(--hrz-rot); }
.hrz-danke-angebot {
	display: block;
	background: var(--hrz-senf);
	color: var(--hrz-tinte) !important;
	border: 2px solid var(--hrz-tinte);
	border-radius: 12px;
	padding: 14px 16px;
	font-weight: 800;
	text-decoration: none;
	box-shadow: 3px 3px 0 var(--hrz-tinte);
}
.hrz-danke-angebot span { text-decoration: underline; font-weight: 600; }
.hrz-danke-knoepfe { margin-top: 20px; }
@media (max-width: 860px) {
	.hrz-danke-raster { grid-template-columns: minmax(0, 1fr); }
	.hrz-danke-posten li { grid-template-columns: 72px minmax(0, 1fr) auto; gap: 12px; }
	.hrz-danke-bild img { width: 72px; height: 72px; }
	.hrz-danke-karte, .hrz-danke-schritte { padding: 18px 16px; }
	.hrz-danke-lead { font-size: 16px; }
}

/* Stimmungskacheln am Handy (19.09.2026, Maho: "das Bild ist zu klein und verschwindet in der Kachel").
   Raster bleibt zweispaltig. Sticker im Fluss statt schwebend, darunter die Shirts in voller Breite. */
@media (max-width: 899px) {
	.hrz-p-mood {
		min-height: 0;
		padding: 10px 10px 12px;
		justify-content: flex-start;
	}
	.hrz-p-mood .hrz-sticker {
		position: static;
		order: -1;
		align-self: flex-start;
		max-width: 100%;
		font-size: 10px;
		padding: 4px 7px;
		margin: 2px 0 0 2px;
	}
	.hrz-p-mood-shirts {
		height: auto;
		margin: 10px 0 8px;
	}
	.hrz-p-mood-shirts img {
		width: 40%;
		max-width: none;
		margin: 0 -4%;
	}
	.hrz-p-mood-name { font-size: 15px !important; margin-top: auto; }
	/* Kacheln einer Zeile gleich hoch (Maho 19.09.), Name und Anzahl unten auf einer Linie */
	.hrz-p-moods > li { display: flex; }
	.hrz-p-mood { flex: 1 1 auto; }
}

/* Geschenkseite /gifts/ (15.10.2026): volle Breite statt 70ch-Fliesstextspalte, eigener Kopf mit h1 */
html body.page:not(.woocommerce-page):not(.home) .entry-content > .hrz-gifts {
	max-width: none !important;
	width: 100%;
}
html body.page .entry-content > .hrz-gifts .hrz-p-lead {
	max-width: 60ch;
}
