/* =========================================================
   echt schön – Storefront-Anpassungen
   Look des Next.js-Templates, mehr Whitespace,
   Display-Font "Mustardmoster" fuer Ueberschriften.
   ========================================================= */

@font-face {
	font-family: "Mustardmoster";
	src: url("../fonts/mustardmoster.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

:root {
	--es-background: #fbf7f0;
	--es-foreground: #2c2620;
	--es-paper: #fffdf8;
	--es-accent: #ff1440;
	--es-accent-soft: #e8d9c4;
	--es-secondary: #ffffd5;
	--es-muted: rgba(44, 38, 32, 0.6);
	--es-line: rgba(232, 217, 196, 0.7);
	--es-display: "Mustardmoster", "Brush Script MT", cursive;
	--es-body: "Unna", Georgia, "Times New Roman", serif;
	--es-display-lh: 0.58;
	--es-headline-copy-gap: 50px;
	--es-maxw: 1160px;
}

/* ---------- Grundlagen ---------- */
body,
.site {
	background-color: var(--es-background);
	color: var(--es-foreground);
	font-family: var(--es-body);
	font-size: 1.125rem;
	line-height: 1.75;
	letter-spacing: 0.015em;
}

/* Sanfte Aquarell-Farbschleier im Hintergrund fuer den artsy Look */
body::before {
	content: "";
	position: fixed;
	inset: 0;
	z-index: -1;
	pointer-events: none;
	background:
		radial-gradient(40rem 40rem at 12% -8%, rgba(255, 20, 64, 0.08), transparent 60%),
		radial-gradient(34rem 34rem at 100% 18%, rgba(232, 217, 196, 0.55), transparent 60%),
		radial-gradient(46rem 46rem at 80% 105%, rgba(255, 20, 64, 0.05), transparent 60%);
}

h1, h2, h3, h4, h5, h6,
.font-display,
.entry-title,
.product_title,
.page-title,
.site-branding .site-title,
.es-hero h1,
.es-section h2,
.es-story h3,
.widget-title {
	font-family: var(--es-display);
	font-weight: 400;
	color: var(--es-foreground);
	letter-spacing: 0.01em;
	line-height: var(--es-display-lh);
}

/* Produktkarten-Titel & Footer-Labels in Unna (lesbar, nicht Schreibschrift) */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.es-footer h4 {
	font-family: var(--es-body);
}

/* Seitentitel (Shop, Konto …) gross & artsy – nicht der WooCommerce-Produkttitel */
.woocommerce .page-title,
.woocommerce-products-header__title,
h1.page-title,
h1.entry-title:not(.product_title),
.page-title {
	font-size: clamp(5.75rem, 13.5vw, 10.5rem) !important;
	text-align: left;
	color: var(--es-accent);
}

a {
	color: var(--es-accent);
	text-decoration: none;
}

a:hover {
	color: var(--es-accent);
	opacity: 0.8;
}

.col-full,
.storefront-full-width-content .col-full {
	max-width: var(--es-maxw);
}

/* ---------- Header ---------- */
.site-header {
	background-color: rgba(255, 253, 248, 0.9) !important;
	border-bottom: 1px solid var(--es-line);
	backdrop-filter: blur(8px);
	position: sticky;
	top: 0;
	z-index: 30;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

/* Rechts-Links (Sekundaer-Menue) gehoeren in den Footer, nicht in den Kopf */
.site-header .secondary-navigation {
	display: none;
}

.site-branding {
	margin-bottom: 0;
}

.main-navigation ul li a {
	color: var(--es-foreground);
	font-weight: 500;
	letter-spacing: 0.01em;
}

/* Storefront-Fokus-Outline global neutralisieren; Ausnahmen nur im Kontaktformular. */
body :is(a, button, input, select, textarea, summary):focus,
body :is(a, button, input, select, textarea, summary):focus-visible {
	outline: none;
}

.main-navigation ul li a:hover {
	color: var(--es-accent);
	opacity: 1;
}

/* Suchfeld dezent + abgerundet */
.site-search .widget_product_search form,
.site-header .widget_product_search form {
	position: relative;
}

/* Lupe (Alex Muravev / Noun Project, CC BY 3.0) – ersetzt Storefront Font-Awesome-::before */
.site-search .widget_product_search form::before,
.site-header .widget_product_search form::before {
	content: "" !important;
	display: block !important;
	font-family: none !important;
	mask: none !important;
	-webkit-mask: none !important;
	width: var(--es-search-icon-w);
	height: var(--es-search-icon-h);
	background: url("../img/search-icon-accent.png") center / contain no-repeat;
	position: absolute;
	top: 0 !important;
	bottom: 0 !important;
	left: var(--es-search-icon-inset-left) !important;
	margin-top: auto !important;
	margin-bottom: auto !important;
	transform: translateY(var(--es-search-icon-nudge-y)) !important;
	line-height: 1;
	pointer-events: none;
	z-index: 1;
}

.site-search .widget_product_search input[type="search"],
.site-header .widget_product_search input[type="search"],
input[type="search"],
.search-field {
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 9999px;
	padding: 0.6em 1.1em;
}

.site-search .widget_product_search form input[type="search"],
.site-header .widget_product_search form input[type="search"] {
	padding-left: calc(var(--es-search-icon-inset-left) + var(--es-search-icon-w) + var(--es-search-icon-gap)) !important;
}

.site-search .widget_product_search form:focus-within::before,
.site-header .widget_product_search form:focus-within::before {
	background-image: url("../img/search-icon-dark.png");
}

/* Warenkorb im Header (Icon: Alex Muravev / Noun Project, CC BY 3.0).
   CSS-Pseudo-Element statt Inline-SVG, damit WC-Cart-Fragments das Icon nicht wieder entfernen.
   PNG statt SVG-Mask: dünn gezeichnetes Motiv wirkt bei kleiner Größe schärfer (3× gerastert). */
.site-header-cart .cart-contents::after {
	content: none !important;
	display: none !important;
}

:root {
	--es-cart-icon-w: 2.8125rem;
	/* viewBox 100×92 – unten etwas Luft, Räder nicht abschneiden */
	--es-cart-icon-h: calc(var(--es-cart-icon-w) * 92 / 100);
	--es-cart-icon-nudge-y: -5px;
	--es-home-icon-w: 1.625rem;
	/* viewBox 110×115 */
	--es-home-icon-h: calc(var(--es-home-icon-w) * 115 / 110);
	--es-home-icon-nudge-y: -3px;
	--es-search-icon-w: 1.5rem;
	/* viewBox 100×100 */
	--es-search-icon-h: var(--es-search-icon-w);
	--es-search-icon-inset-left: 1.1em;
	--es-search-icon-gap: 15px;
	--es-search-icon-nudge-y: -2px;
	--es-b2b-icon-w: 4rem;
	--es-b2b-icon-h: 4rem;
}

@media (min-width: 768px) {
	.site-header-cart .cart-contents {
		display: inline-flex !important;
		align-items: center;
		gap: 0.5em;
		color: var(--es-foreground);
		font-weight: 500;
	}

	.site-header-cart .cart-contents::before {
		content: "";
		display: inline-block;
		flex-shrink: 0;
		width: var(--es-cart-icon-w);
		height: var(--es-cart-icon-h);
		background: url("../img/cart-icon-accent.png") center / contain no-repeat;
		transform: translateY(var(--es-cart-icon-nudge-y));
	}

	.site-header-cart .cart-contents:hover::before {
		background-image: url("../img/cart-icon-dark.png");
	}
}

@media (max-width: 767px) {
	.storefront-handheld-footer-bar ul li.cart > a::before {
		content: "" !important;
		font-family: none !important;
		width: var(--es-cart-icon-w) !important;
		height: var(--es-cart-icon-h) !important;
		background: url("../img/cart-icon-accent.png") center / contain no-repeat !important;
		transform: translateY(var(--es-cart-icon-nudge-y)) !important;
		mask: none !important;
		-webkit-mask: none !important;
	}
}

/* Header-Mini-Warenkorb (Hover-Dropdown) – Paper/Beige statt Storefront-Grau */
@media (min-width: 768px) {
	.site-header-cart .widget_shopping_cart,
	.site-header-cart .widget_shopping_cart .widget_shopping_cart_content {
		background: var(--es-paper) !important;
		color: var(--es-foreground);
		border: 1px solid var(--es-line);
		border-radius: 18px;
		box-shadow: 0 18px 40px rgba(44, 38, 32, 0.12);
	}

	.site-header-cart .widget_shopping_cart .woocommerce-mini-cart__total,
	.site-header-cart .widget_shopping_cart .woocommerce-mini-cart__buttons,
	.site-header-cart .widget_shopping_cart p.total,
	.site-header-cart .widget_shopping_cart p.buttons {
		background: var(--es-background) !important;
		color: var(--es-foreground);
		border-top: 1px solid var(--es-line);
	}

	.site-header-cart .widget_shopping_cart .product_list_widget li,
	.site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item {
		border-bottom: 1px solid var(--es-line);
		color: var(--es-foreground);
	}

	.site-header-cart .widget_shopping_cart .product_list_widget li:last-child,
	.site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item:last-child {
		border-bottom: none;
	}

	.site-header-cart .widget_shopping_cart .product_list_widget li .quantity,
	.site-header-cart .widget_shopping_cart .woocommerce-mini-cart-item .quantity {
		color: var(--es-muted);
	}

	.site-header-cart .widget_shopping_cart .amount {
		color: var(--es-accent);
		font-weight: 700;
	}

	.site-header-cart .widget_shopping_cart a,
	a.cart-contents {
		color: var(--es-foreground);
	}

	.site-header-cart .widget_shopping_cart a:hover,
	.site-header-cart:hover > li > a:hover {
		color: var(--es-accent);
		opacity: 1;
	}

	.site-header-cart:hover > li > a {
		color: var(--es-foreground);
	}

	.site-header-cart .widget_shopping_cart .product_list_widget img {
		border: 1px solid var(--es-accent-soft);
	}

	.site-header-cart .widget_shopping_cart a.button,
	.site-header-cart .widget_shopping_cart .buttons .button {
		background: transparent !important;
		border: 2px solid var(--es-foreground) !important;
		color: var(--es-foreground) !important;
	}

	.site-header-cart .widget_shopping_cart a.button:hover,
	.site-header-cart .widget_shopping_cart .buttons .button:hover {
		background-color: transparent !important;
		border-color: var(--es-foreground) !important;
		color: var(--es-paper) !important;
	}

	.site-header-cart .widget_shopping_cart .buttons .checkout {
		border-color: var(--es-accent) !important;
		color: var(--es-accent) !important;
	}

	.site-header-cart .widget_shopping_cart .buttons .checkout:hover {
		border-color: var(--es-accent) !important;
		color: var(--es-paper) !important;
	}

	.site-header-cart .widget_shopping_cart .woocommerce-mini-cart__empty-message {
		color: var(--es-muted);
	}
}

/* Breadcrumb: „Zuhause ist da, wo das Herz ist" statt generischem Home-Text */
.woocommerce-breadcrumb {
	margin: 0 0 1.25rem;
	padding: 0;
	font-size: 1rem;
	color: var(--es-muted);
	line-height: 1.5;
}

.woocommerce-breadcrumb a:not(.es-breadcrumb-home) {
	color: var(--es-muted);
	font-weight: 500;
}

.woocommerce-breadcrumb a:not(.es-breadcrumb-home):hover {
	color: var(--es-accent);
	opacity: 1;
}

.woocommerce-breadcrumb a.es-breadcrumb-home {
	display: inline-flex;
	align-items: center;
	vertical-align: middle;
	line-height: 0;
	text-decoration: none;
}

.woocommerce-breadcrumb a.es-breadcrumb-home::before {
	content: "";
	display: inline-block;
	flex-shrink: 0;
	width: var(--es-home-icon-w);
	height: var(--es-home-icon-h);
	background: url("../img/home-icon-accent.png") center / contain no-repeat;
	transform: translateY(var(--es-home-icon-nudge-y));
}

.woocommerce-breadcrumb a.es-breadcrumb-home:hover::before {
	background-image: url("../img/home-icon-dark.png");
}

/* Inline-SVG-Logo */
.es-logo {
	display: inline-block;
	line-height: 0;
}

.es-logo svg {
	display: block;
	height: 72px;
	width: auto;
}

.es-logo svg path {
	fill: var(--es-foreground);
	transition: fill 0.2s ease;
}

.es-logo:hover svg path {
	fill: var(--es-accent);
}

/* ---------- Buttons (eckige Outline + Aquarell-Hover) ----------
   Normal: eckig, transparent, 2px schwarze Outline.
   Hover : zwei echte Wasserfarben-Kleckse (PNG-Textur) bluehen aus
           unterschiedlichen Punkten auf und breiten sich aus. */
button,
.button,
input[type="submit"],
.added_to_cart,
.wp-block-button__link,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce .button,
.woocommerce #respond input#submit,
.woocommerce #place_order {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	background-color: transparent !important;
	color: var(--es-foreground) !important;
	border: 2px solid var(--es-foreground) !important;
	border-radius: 0 !important;
	padding: 0.8em 1.9em !important;
	font-weight: 500;
	letter-spacing: 0.05em;
	transition: color 0.4s ease 0.05s, border-color 0.5s ease, text-shadow 0.4s ease;
}

button::before,
.button::before,
input[type="submit"]::before,
.added_to_cart::before,
.wp-block-button__link::before,
.woocommerce a.button::before,
.woocommerce button.button::before,
.woocommerce .button::before,
.woocommerce #respond input#submit::before,
.woocommerce #place_order::before,
button::after,
.button::after,
input[type="submit"]::after,
.added_to_cart::after,
.wp-block-button__link::after,
.woocommerce a.button::after,
.woocommerce button.button::after,
.woocommerce .button::after,
.woocommerce #respond input#submit::after,
.woocommerce #place_order::after {
	content: "";
	position: absolute;
	inset: -50%;
	z-index: -1;
	pointer-events: none;
	background: url("../img/watercolor-blot.png") center / cover no-repeat;
	opacity: 0;
	will-change: transform, opacity;
	transition: transform 0.6s cubic-bezier(0.2, 0.8, 0.25, 1), opacity 0.5s ease;
}

/* Untere Lage: breitet sich von unten links aus */
button::before,
.button::before,
input[type="submit"]::before,
.added_to_cart::before,
.wp-block-button__link::before,
.woocommerce a.button::before,
.woocommerce button.button::before,
.woocommerce .button::before,
.woocommerce #respond input#submit::before,
.woocommerce #place_order::before {
	transform-origin: 30% 72%;
	transform: scale(0.3) rotate(-5deg);
}

/* Obere Lage: gespiegelt, breitet sich von oben rechts aus (leicht verzoegert) */
button::after,
.button::after,
input[type="submit"]::after,
.added_to_cart::after,
.wp-block-button__link::after,
.woocommerce a.button::after,
.woocommerce button.button::after,
.woocommerce .button::after,
.woocommerce #respond input#submit::after,
.woocommerce #place_order::after {
	transform-origin: 74% 28%;
	transform: scale(0.25) rotate(8deg) scaleX(-1);
	transition-delay: 0.06s;
}

button:hover,
.button:hover,
input[type="submit"]:hover,
.added_to_cart:hover,
.wp-block-button__link:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce .button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce #place_order:hover {
	color: var(--es-paper) !important;
	border-color: var(--es-accent) !important;
	text-shadow: 0 1px 2px rgba(44, 38, 32, 0.6), 0 0 9px rgba(44, 38, 32, 0.35);
}

button:hover::before,
.button:hover::before,
input[type="submit"]:hover::before,
.added_to_cart:hover::before,
.wp-block-button__link:hover::before,
.woocommerce a.button:hover::before,
.woocommerce button.button:hover::before,
.woocommerce .button:hover::before,
.woocommerce #respond input#submit:hover::before,
.woocommerce #place_order:hover::before {
	opacity: 1;
	transform: scale(1.35) rotate(-2deg);
}

button:hover::after,
.button:hover::after,
input[type="submit"]:hover::after,
.added_to_cart:hover::after,
.wp-block-button__link:hover::after,
.woocommerce a.button:hover::after,
.woocommerce button.button:hover::after,
.woocommerce .button:hover::after,
.woocommerce #respond input#submit:hover::after,
.woocommerce #place_order:hover::after {
	opacity: 0.9;
	transform: scale(1.2) rotate(4deg) scaleX(-1);
}

/* Sekundaer-Variante: gleiche Mechanik, nur Terrakotta-Outline statt schwarz */
.button.es-outline {
	border-color: var(--es-accent) !important;
	color: var(--es-accent) !important;
}

.button.es-outline:hover {
	color: var(--es-paper) !important;
}

/* ---------- Video-Bloom-Hover ----------
   Kann der Browser VP9-Alpha-WebM, setzt JS die Klasse .es-btn-video und
   schiebt hinter jeden CTA-Button ein eingefaerbtes Aquarell-Video. Es laeuft
   beim Hover einmal auf (kein Loop) und haelt auf dem letzten Frame.
   Der CSS-Klecks oben bleibt Fallback (input-Buttons, alte Browser, reduzierte
   Bewegung, CTA-Band). */
.es-btn-bloom {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	/* Replaced element (<video>): Prozent-Breite klappt nicht zuverlaessig.
	   Volle Button-Box + scale() = garantierte Abdeckung, overflow:hidden clippt. */
	object-fit: cover;
	object-position: 50% 50%;
	transform: scale(1.65);
	transform-origin: center center;
	z-index: -1;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.28s ease;
}

/* Auf Buttons mit echtem Video keinen doppelten CSS-Klecks zeigen. */
.es-btn-video [data-es-bloom]::before,
.es-btn-video [data-es-bloom]::after {
	display: none !important;
}

/* Beim Hover/Fokus einblenden – die Wiedergabe startet per JS bei 0. */
.es-btn-video [data-es-bloom]:hover .es-btn-bloom,
.es-btn-video [data-es-bloom]:focus-within .es-btn-bloom {
	opacity: 1;
}

/* Akzent-Band: rotes Video per Filter weiss faerben (sonst unsichtbar auf Pink). */
.es-btn-bloom--white {
	filter: brightness(0) invert(1);
}

/* Barrierefreiheit: reduzierte Bewegung -> Klecks ohne Animation einblenden */
@media (prefers-reduced-motion: reduce) {
	button::before,
	.button::before,
	input[type="submit"]::before,
	.added_to_cart::before,
	.wp-block-button__link::before,
	.woocommerce a.button::before,
	.woocommerce button.button::before,
	.woocommerce .button::before,
	.woocommerce #respond input#submit::before,
	.woocommerce #place_order::before,
	button::after,
	.button::after,
	input[type="submit"]::after,
	.added_to_cart::after,
	.wp-block-button__link::after,
	.woocommerce a.button::after,
	.woocommerce button.button::after,
	.woocommerce .button::after,
	.woocommerce #respond input#submit::after,
	.woocommerce #place_order::after {
		transition: opacity 0.2s ease;
	}
	button:hover::before,
	.button:hover::before,
	input[type="submit"]:hover::before,
	.added_to_cart:hover::before,
	.wp-block-button__link:hover::before,
	.woocommerce a.button:hover::before,
	.woocommerce button.button:hover::before,
	.woocommerce .button:hover::before,
	.woocommerce #respond input#submit:hover::before,
	.woocommerce #place_order:hover::before {
		transform: scale(1.35);
	}
}

/* ---------- Produktkarten (offenes Layout, Masonry-Wall) ---------- */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after {
	content: none !important;
	display: none !important;
}

.woocommerce ul.products,
.woocommerce-page ul.products {
	display: block !important;
	column-gap: 2rem;
	margin-top: 1rem;
	column-count: 1;
}

@media (min-width: 544px) {
	.woocommerce ul.products.columns-2,
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-5,
	.woocommerce ul.products.columns-6,
	.woocommerce-page ul.products.columns-2,
	.woocommerce-page ul.products.columns-3,
	.woocommerce-page ul.products.columns-4,
	.woocommerce-page ul.products.columns-5,
	.woocommerce-page ul.products.columns-6 {
		column-count: 2;
	}
}

@media (min-width: 768px) {
	.woocommerce ul.products.columns-3,
	.woocommerce ul.products.columns-4,
	.woocommerce ul.products.columns-5,
	.woocommerce ul.products.columns-6,
	.woocommerce-page ul.products.columns-3,
	.woocommerce-page ul.products.columns-4,
	.woocommerce-page ul.products.columns-5,
	.woocommerce-page ul.products.columns-6 {
		column-count: 3;
	}
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
.woocommerce ul.products li.product.first,
.woocommerce-page ul.products li.product.first {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 0 2.5rem !important;
	clear: none !important;
	display: inline-block;
	break-inside: avoid;
	-webkit-column-break-inside: avoid;
	page-break-inside: avoid;
	background: transparent;
	border: 1px solid var(--es-accent-soft);
	border-radius: 0;
	padding: 20px;
	overflow: hidden;
	box-shadow: none;
	transition: none;
	position: relative;
	isolation: isolate;
}

.woocommerce ul.products li.product:hover {
	box-shadow: none;
	transform: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .wc-gzd-additional-info,
.woocommerce ul.products li.product .added_to_cart {
	position: relative;
	z-index: 1;
}

.woocommerce ul.products li.product .woocommerce-loop-product__link {
	display: block;
	width: 100%;
}

.woocommerce ul.products li.product a img {
	display: block;
	width: 100% !important;
	max-width: 100% !important;
	height: auto !important;
	margin: 0;
	border-radius: 0;
	object-fit: contain;
	background: transparent;
	transition: transform 0.4s ease, filter 0.4s ease;
	filter: drop-shadow(1px 3px 9px rgba(232, 217, 196, 0.45));
}

.woocommerce ul.products li.product:hover a img {
	transform: rotate(-1.4deg) scale(1.02) translateY(-2px);
	filter: drop-shadow(4px 9px 18px rgba(232, 217, 196, 0.32));
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce ul.products li.product a img {
		transition: none;
		filter: drop-shadow(1px 3px 9px rgba(232, 217, 196, 0.45));
	}

	.woocommerce ul.products li.product:hover a img {
		transform: none;
	}
}

.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .star-rating {
	margin-left: 0;
	margin-right: 0;
}

.woocommerce ul.products li.product .wc-gzd-additional-info {
	display: none;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: 0;
	line-height: 1.35;
	margin-top: 0.75rem;
	padding-top: 0.85rem;
	padding-bottom: 0.3em;
	border-top: 1px solid var(--es-accent-soft);
}

/* Halbkreis-Radialverlauf: Epizentrum unten mittig, weiß → transparent */
.woocommerce ul.products li.product::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 18.75rem;
	pointer-events: none;
	z-index: 0;
	background: radial-gradient(
		ellipse 172% 150% at 50% 100%,
		#fff 0%,
		rgba(255, 255, 255, 0.85) 28%,
		rgba(255, 255, 255, 0.35) 52%,
		transparent 72%
	);
}

/* Zweizeilige Produkt-Titel: Motiv oben, Format darunter */
.es-product-title {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.es-product-title__name {
	display: block;
}

.es-product-title__format {
	display: block;
	font-size: 0.82em;
	font-weight: 400;
	color: var(--es-muted);
	line-height: 1.35;
	letter-spacing: 0.01em;
}

.woocommerce ul.products li.product .price {
	color: var(--es-accent);
	font-size: 1.44rem;
	font-weight: 700;
}

.woocommerce ul.products li.product .button {
	margin-top: 0.6em;
	margin-bottom: 0;
	display: inline-block;
}

/* Startseite „Beliebte Motive“: festes Grid (3 nebeneinander), kein Masonry */
.es-section--featured .woocommerce ul.products {
	display: grid !important;
	column-count: unset !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
}

@media (min-width: 544px) {
	.es-section--featured .woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.es-section--featured .woocommerce ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.es-section--featured .woocommerce ul.products li.product {
	display: flex;
	flex-direction: column;
	margin-bottom: 0 !important;
}

/* ---------- Shop-Sortierung (Select wie Header-Suche, dezent abgerundet) ---------- */
.storefront-sorting {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem 1.5rem;
	margin: 0 0 2rem;
}

/* Storefront-Clearfix (::before/::after) wuerde sonst als Flex-Item mitzaehlen und einruecken */
.storefront-sorting::before,
.storefront-sorting::after {
	display: none !important;
	content: none !important;
}

.storefront-sorting .woocommerce-notices-wrapper:empty {
	display: none;
}

.woocommerce-result-count {
	margin: 0;
	float: none;
	font-size: 0.95rem;
	color: var(--es-muted);
	line-height: 1.5;
}

.storefront-sorting .woocommerce-ordering,
.storefront-sorting .woocommerce-result-count,
.storefront-sorting .woocommerce-pagination {
	float: none;
	margin: 0;
	padding: 0;
}

.storefront-sorting .woocommerce-pagination {
	margin-left: auto;
}

.woocommerce-ordering {
	margin: 0;
	float: none;
}

.woocommerce-ordering select.orderby,
.woocommerce div.product table.variations select {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	box-sizing: border-box;
	min-width: min(100%, 20rem);
	max-width: 100%;
	margin: 0;
	padding: 0.85em 2.85em 0.85em 1.35em;
	background-color: var(--es-paper);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%232c2620' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1.2em center;
	background-size: 0.75em auto;
	border: 1px solid var(--es-line);
	border-radius: 3px;
	font-family: var(--es-body);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--es-foreground);
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.woocommerce-ordering select.orderby:hover,
.woocommerce div.product table.variations select:hover {
	border-color: var(--es-accent-soft);
}

.woocommerce-ordering select.orderby:focus,
.woocommerce-ordering select.orderby:focus-visible,
.woocommerce div.product table.variations select:focus,
.woocommerce div.product table.variations select:focus-visible {
	outline: none;
	border-color: var(--es-line);
	box-shadow: none;
}

/* ---------- Shop-Paginierung (Kreis-Buttons) ---------- */
.woocommerce-pagination,
.pagination {
	padding: 2.5rem 0 0;
	border: none;
	text-align: center;
}

.woocommerce-pagination .page-numbers,
.pagination .page-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.45rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce-pagination .page-numbers li,
.pagination .page-numbers li {
	display: inline-flex;
	margin: 0;
}

.woocommerce-pagination .page-numbers li .page-numbers,
.pagination .page-numbers li .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 2.25rem;
	height: 2.25rem;
	padding: 0 0.35rem;
	border: 1.5px solid var(--es-accent-soft) !important;
	border-radius: 50%;
	background: transparent !important;
	color: var(--es-foreground);
	font-family: inherit;
	font-size: inherit;
	font-weight: 700;
	line-height: 1;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.woocommerce-pagination .page-numbers li .page-numbers.current,
.pagination .page-numbers li .page-numbers.current {
	border-color: var(--es-accent) !important;
	color: var(--es-accent);
	cursor: default;
}

.woocommerce-pagination .page-numbers li a.page-numbers:hover,
.woocommerce-pagination .page-numbers li a.page-numbers:focus-visible,
.pagination .page-numbers li a.page-numbers:hover,
.pagination .page-numbers li a.page-numbers:focus-visible {
	border-color: var(--es-accent) !important;
	color: var(--es-accent);
	opacity: 1;
	background: transparent !important;
}

.woocommerce-pagination .page-numbers li .page-numbers.dots,
.pagination .page-numbers li .page-numbers.dots {
	min-width: auto;
	height: auto;
	padding: 0 0.2rem;
	border: none !important;
	border-radius: 0;
	background: transparent !important;
	color: var(--es-muted);
}

/* Germanized-Zusatzinfos dezenter (Kleinunternehmer-/Versand-Hinweis) */
.wc-gzd-additional-info,
.woocommerce-product-details__short-description .wc-gzd-additional-info {
	font-size: 0.72rem;
	color: var(--es-muted);
	line-height: 1.5;
	font-weight: 400;
}

/* ---------- Einzelprodukt ---------- */
.woocommerce div.product .product_title {
	font-family: var(--es-body);
	font-weight: 700;
	line-height: 1.15;
	letter-spacing: 0.01em;
	/* 40 % der bisher sichtbaren entry-title-Größe (clamp 5.75–10.5 rem) */
	font-size: clamp(2.3rem, 5.4vw, 4.2rem);
	color: var(--es-accent);
	margin-bottom: 1.25rem;
}

.woocommerce div.product .product_title .es-product-title__format {
	font-size: clamp(0.85rem, 1.6vw, 1.05rem);
}

.woocommerce div.product .es-product-description {
	margin: 0 0 1.25rem;
	width: 100%;
	max-width: none;
	color: var(--es-foreground);
	line-height: 1.6;
}

.woocommerce div.product .es-product-description p {
	margin: 0 0 0.85rem;
}

.woocommerce div.product .es-product-description p:last-child,
.woocommerce div.product .es-product-description ul:last-child {
	margin-bottom: 0;
}

.woocommerce div.product .es-product-description ul {
	margin: 0 0 0.85rem;
	padding-left: 1.25rem;
}

.woocommerce div.product .es-product-description strong {
	font-weight: 700;
}

/* Ähnliche Produkte: Grid statt Masonry (3 Karten nebeneinander) */
.woocommerce div.product .related.products > h2 {
	font-family: var(--es-body);
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: 0.01em;
	font-size: 1.1rem;
	margin-bottom: 1.25rem;
	color: var(--es-foreground);
}

.woocommerce div.product .related.products ul.products {
	display: grid !important;
	column-count: unset !important;
	align-items: start;
	grid-template-columns: minmax(0, 1fr);
	gap: 2rem;
}

@media (min-width: 544px) {
	.woocommerce div.product .related.products ul.products.columns-3,
	.woocommerce div.product .related.products ul.products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (min-width: 768px) {
	.woocommerce div.product .related.products ul.products.columns-3,
	.woocommerce div.product .related.products ul.products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

.woocommerce div.product .related.products ul.products li.product {
	display: flex;
	flex-direction: column;
	margin-bottom: 0 !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--es-accent);
	font-size: 1.7rem;
	font-weight: 700;
}

.woocommerce div.product .es-product-price-block {
	flex: 0 0 100%;
	width: 100%;
	margin: 0 0 0.25rem;
}

.woocommerce div.product .es-product-price-block .legal-price-info {
	margin: 0 0 0.5rem;
}

.woocommerce div.product .es-product-price-block .legal-price-info p {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
}

.es-reseller-box {
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 16px;
	padding: 1.1rem 1.3rem;
	margin: 1.2rem 0;
}

/* Format-Auswahl + Mengenfeld (volle Spaltenbreite) */
.woocommerce div.product table.variations {
	margin: 0 0 1.25rem;
	border: none;
	width: 100%;
	max-width: none;
}

.woocommerce div.product table.variations tbody,
.woocommerce div.product table.variations tr {
	display: block;
	width: 100%;
}

.woocommerce div.product table.variations th,
.woocommerce div.product table.variations td {
	display: block;
	border: none;
	padding: 0;
	vertical-align: top;
	background: transparent;
	width: 100%;
}

.woocommerce div.product table.variations th.label,
.woocommerce div.product table.variations th.label label,
.woocommerce div.product .es-field-label {
	display: block;
	font-family: var(--es-body);
	font-size: inherit;
	font-weight: 700;
	text-align: left;
	margin: 0 0 0.5rem;
	white-space: normal;
}

.woocommerce div.product table.variations td.value {
	margin: 0 0 1rem;
}

.woocommerce div.product table.variations select {
	display: block;
	width: 100% !important;
	min-width: 0;
	max-width: none !important;
}

.woocommerce div.product .es-quantity-field {
	flex: 0 0 100%;
	width: 100%;
	margin: 0 0 1rem;
}

.woocommerce div.product .es-quantity-field .quantity label.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.woocommerce div.product form.cart:not(.variations_form),
.woocommerce div.product .variations_button {
	display: flex;
	flex-direction: column;
	flex-wrap: nowrap;
	align-items: stretch;
	gap: 0;
}

/* Storefront-Clearfix (::before/::after) wuerde sonst als Flex-Item mitzaehlen */
.woocommerce div.product form.cart::before,
.woocommerce div.product form.cart::after,
.woocommerce div.product .variations_button::before,
.woocommerce div.product .variations_button::after {
	display: none !important;
	content: none !important;
}

.woocommerce div.product form.cart .quantity {
	float: none !important;
	margin: 0 !important;
	width: 100%;
}

.woocommerce div.product form.cart .quantity .qty {
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: textfield;
	box-sizing: border-box;
	width: 100%;
	min-width: 0;
	height: auto;
	margin: 0;
	padding: 0.85em 1.35em;
	background-color: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 3px;
	font-family: var(--es-body);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--es-foreground);
	text-align: left;
	transition: border-color 0.2s ease;
}

.woocommerce div.product form.cart .quantity .qty:hover {
	border-color: var(--es-accent-soft);
}

.woocommerce div.product form.cart .quantity .qty:focus,
.woocommerce div.product form.cart .quantity .qty:focus-visible {
	outline: none;
	border-color: var(--es-line);
	box-shadow: none;
}

.woocommerce div.product form.cart .quantity .qty::-webkit-outer-spin-button,
.woocommerce div.product form.cart .quantity .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.woocommerce div.product form.cart .single_add_to_cart_button {
	margin: 1rem 0 0 !important;
	width: 100%;
}

/* ---------- Hero / Startseite ---------- */
.es-front {
	overflow: visible;
}

.es-hero {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 3rem 1.5rem;
	display: grid;
	gap: 3.5rem;
	align-items: center;
	overflow: visible;
}

@media (min-width: 768px) {
	.es-hero {
		grid-template-columns: 1fr 1.05fr;
		/* Rechts Luft fuer Schatten + auskragende Karten */
		padding: 3.5rem clamp(3.5rem, 7vw, 6rem) 3.5rem 1.5rem;
	}
}

/* Eyebrow-Labels: pinker Text mit Gedankenstrichen */
.es-badge,
.es-eyebrow {
	display: inline-block;
	color: var(--es-accent);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.es-badge::before,
.es-badge::after,
.es-eyebrow::before,
.es-eyebrow::after {
	opacity: 0.85;
}

.es-badge::before,
.es-eyebrow::before {
	content: "—";
	margin-right: 0.75em;
}

.es-badge::after,
.es-eyebrow::after {
	content: "—";
	margin-left: 0.75em;
}

.es-hero h1 {
	font-size: clamp(5.75rem, 13.5vw, 10.5rem);
	margin-top: 1.6rem;
}

.es-hero h1 em {
	color: var(--es-accent);
	font-style: normal;
}

.es-hero p {
	font-size: 1.15rem;
	color: var(--es-muted);
	max-width: 32rem;
	margin: 0 0 2.4rem;
}

.es-hero .es-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
}

.es-hero-cards {
	position: relative;
	width: min(100%, 40rem);
	margin: 0 auto 5rem;
	overflow: visible;
}

@media (min-width: 768px) {
	.es-hero-cards {
		margin-left: auto;
		margin-right: 0;
	}
}

.es-hero-card {
	line-height: 0;
}

.es-hero-card img {
	display: block;
	width: 100%;
	height: auto;
	transform-origin: center center;
	filter: drop-shadow(0 14px 32px rgba(44, 38, 32, 0.16));
}

/* Mitte: im Fluss, definiert die Hoehe (A6-Hochformat) */
.es-hero-card--center {
	position: relative;
	left: auto;
	top: auto;
	width: 58%;
	margin-left: 20%;
	z-index: 2;
}

.es-hero-card--center img {
	transform: rotate(3deg);
}

/* Links: rund – Mittelachse auf Unterkante der Mittelkarte */
.es-hero-card--left {
	position: absolute;
	left: -4%;
	top: 100%;
	width: 52%;
	z-index: 3;
	transform: translateY(-50%);
}

.es-hero-card--left img {
	transform: rotate(-8deg) scale(1.06);
	filter: drop-shadow(0 18px 38px rgba(44, 38, 32, 0.22));
}

/* Rechts: gleiches Format wie Mitte, leicht auskragend */
.es-hero-card--right {
	position: absolute;
	right: -24%;
	top: 2%;
	width: 58%;
	z-index: 1;
}

.es-hero-card--right img {
	transform: rotate(10deg);
	filter: drop-shadow(0 14px 32px rgba(44, 38, 32, 0.16));
}

@media (max-width: 767px) {
	.es-hero-cards {
		width: min(100%, 24rem);
		margin-bottom: 3.5rem;
	}

	.es-hero-card--center {
		width: 56%;
		margin-left: 18%;
	}

	.es-hero-card--left {
		left: -6%;
		width: 50%;
	}

	.es-hero-card--left img {
		transform: rotate(-7deg) scale(1.04);
	}

	.es-hero-card--right {
		right: -18%;
		top: 1%;
		width: 56%;
	}

	.es-hero-card--right img {
		transform: rotate(9deg);
	}
}

/* ---------- Story-Strip ---------- */
.es-story {
	background: var(--es-paper);
	border-top: 1px solid var(--es-line);
	border-bottom: 1px solid var(--es-line);
}

.es-story-inner {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 5rem 1.5rem;
	display: grid;
	gap: 3rem;
}

@media (min-width: 768px) {
	.es-story-inner {
		grid-template-columns: repeat(3, 1fr);
	}
}

.es-story h3 {
	font-size: clamp(3rem, 4.6vw, 4.3rem);
	margin: 0 0 0.4rem;
	color: var(--es-accent);
}

.es-story p {
	color: var(--es-muted);
	margin: 0;
}

.es-section {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 5rem 1.5rem;
}

.es-section h2 {
	font-size: clamp(4.6rem, 9vw, 7.75rem);
	color: var(--es-accent);
}

.es-section .es-sub {
	color: var(--es-muted);
	margin: 0 0 2.5rem;
	font-size: 1.05rem;
}

/* WooCommerce-Standardseiten etwas luftiger */
.woocommerce-page:not(.home) #primary,
.site-content {
	padding-top: 0.75rem;
	padding-bottom: 4rem;
}

/* Shop-Archiv: weniger Luft Breadcrumb → Seitentitel */
.site-content:has(.woocommerce-products-header) {
	padding-top: 0.125rem;
}

.site-content:has(.woocommerce-products-header) .storefront-breadcrumb {
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
}

.site-content:has(.woocommerce-products-header) .woocommerce-breadcrumb {
	margin-bottom: 0.35rem;
}

.woocommerce-products-header {
	margin: 0;
	padding: 0;
}

.woocommerce-products-header__title {
	margin-top: 0;
}

/* Reseller-Hinweisbanner */
.woocommerce-info.es-reseller-note,
.woocommerce-info {
	border-top-color: var(--es-accent);
}

/* ---------- Footer ---------- */
.site-footer {
	background: var(--es-paper) !important;
	color: var(--es-foreground) !important;
	border-top: 1px solid var(--es-line);
	padding-top: 4rem;
	padding-bottom: 2rem;
	margin-top: 0;
}

/* Storefront setzt .site-footer a { text-decoration: underline } – hier neutralisieren */
.site-footer a,
.es-footer a {
	text-decoration: none;
}

.es-footer {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 0 1.5rem;
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 768px) {
	.es-footer {
		grid-template-columns: 1.6fr 1fr 1fr;
	}
}

.es-footer .es-logo svg {
	height: 64px;
}

.es-footer p {
	color: var(--es-muted);
	max-width: 26rem;
	margin: 1rem 0 0;
}

.es-footer h4 {
	font-family: var(--es-body);
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--es-muted);
	margin: 0 0 1rem;
	font-weight: 700;
}

.es-footer ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.es-footer ul li {
	margin-bottom: 0.6rem;
}

.es-footer ul li a {
	color: var(--es-foreground);
}

.es-footer ul li a:hover {
	color: var(--es-accent);
}

.site-footer .site-info {
	max-width: var(--es-maxw);
	margin: 3rem auto 0;
	padding: 1.5rem 1.5rem 0;
	border-top: 1px solid var(--es-line);
	text-align: center;
	color: var(--es-muted);
	font-size: 0.8rem;
}

/* ---------- Instagram ---------- */
.es-instagram-icon {
	display: inline-block;
	width: 1.15em;
	height: 1.15em;
	vertical-align: -0.15em;
	margin-right: 0.45em;
	flex-shrink: 0;
}

.es-instagram-link {
	display: inline-flex;
	align-items: center;
	font-weight: 700;
	color: var(--es-accent);
	text-decoration: none;
	white-space: nowrap;
}

.es-instagram-link:hover,
.es-instagram-link:focus-visible {
	color: var(--es-accent);
	opacity: 0.82;
}

.es-instagram-follow {
	margin-top: 1.35rem;
}

.es-instagram-follow__label {
	font-family: var(--es-body);
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--es-muted);
	margin: 0 0 0.55rem;
	font-weight: 700;
}

.es-instagram-follow__hint {
	font-size: 0.92rem;
	color: var(--es-muted);
	margin: 0.55rem 0 0;
	max-width: 20rem;
}

/* ---------- Tier-Tabelle B2B ---------- */
.es-reseller-badge {
	display: inline-block;
	background: var(--es-accent-soft);
	color: var(--es-accent);
	border-radius: 9999px;
	padding: 0.15rem 0.6rem;
	font-size: 0.78rem;
	font-weight: 700;
	margin-left: 0.4rem;
	vertical-align: middle;
}

.es-tier-table {
	border-collapse: collapse;
	margin: 0.7rem 0 0.4rem;
	font-size: 1rem;
	width: 100%;
}

.es-tier-table th,
.es-tier-table td {
	border: 1px solid var(--es-line);
	padding: 0.4rem 0.8rem;
	text-align: left;
}

.es-tier-table th {
	background: var(--es-accent-soft);
	font-family: var(--es-body);
	font-weight: 700;
}

/* =========================================================
   Marketing: Künstlerin-Seite + Wiederverkäufer
   ========================================================= */

/* ---------- Künstlerin: Hero ---------- */
.site-content:has(.es-artist) {
	padding-top: 0.125rem;
	overflow-x: clip;
}

.site-content:has(.es-artist) .woocommerce-breadcrumb {
	margin-bottom: 0.35rem;
}

.es-artist-hero {
	--es-artist-img-w: clamp(20rem, 38vw, 34rem);
	--es-artist-gap: clamp(1.75rem, 3.5vw, 2.75rem);
	--es-artist-img-lift: clamp(10rem, 15vw, 13.5rem);
	--es-artist-text-nudge: clamp(0.85rem, 2vw, 1.5rem);

	width: calc(100% + (100vw - 100%) / 2);
	max-width: none;
	margin-left: 0;
	margin-right: calc((100% - 100vw) / 2);
	padding: 0.625rem 0 2rem 1.5rem;
	box-sizing: border-box;
	display: grid;
	gap: var(--es-artist-gap);
	align-items: start;
	position: relative;
	isolation: isolate;
}

@media (min-width: 768px) {
	.es-artist-hero {
		grid-template-columns: minmax(0, 1fr) var(--es-artist-img-w);
	}

	.es-artist-hero-img {
		margin-top: calc(-1 * var(--es-artist-img-lift));
	}

	.es-artist-hero-text {
		margin-left: var(--es-artist-text-nudge);
	}

	.es-artist-hero--noimg {
		width: auto;
		max-width: var(--es-maxw);
		margin-right: auto;
		padding: 0.875rem 1.5rem 2rem;
		grid-template-columns: 1fr;
		text-align: center;
	}
}

@media (max-width: 767px) {
	.es-artist-hero {
		padding: 0.875rem 0 1.5rem 1.5rem;
		grid-template-columns: 1fr;
	}

	.es-artist-hero--noimg {
		padding: 0.875rem 1.5rem 1.5rem;
		text-align: center;
	}
}

.es-artist-hero-text {
	justify-self: end;
	width: min(36rem, 100%);
	position: relative;
	z-index: 1;
}

@media (max-width: 767px) {
	.es-artist-hero-text {
		justify-self: start;
	}
}

.es-artist-hero h1 {
	font-size: clamp(4.6rem, 10vw, 8.25rem);
	margin-top: 1.2rem;
	position: relative;
}

.es-artist-lead {
	font-size: 1.2rem;
	color: var(--es-muted);
	max-width: none;
	margin: 0;
}

.es-artist-hero--noimg .es-artist-lead {
	margin-left: auto;
	margin-right: auto;
	max-width: 34rem;
}

.es-artist-hero-img {
	width: var(--es-artist-img-w);
	justify-self: end;
	position: relative;
	z-index: 1;
}

.es-artist-hero-img img {
	display: block;
	width: 100%;
	height: auto;
	margin: 0;
	object-fit: contain;
	object-position: right top;
	border: none;
	border-radius: 0;
	box-shadow: none;
	transform: none;
}

.es-artist-hero--noimg .es-artist-hero-img {
	display: none;
}

.es-artist-portrait-fallback {
	display: grid;
	place-items: center;
	aspect-ratio: 4 / 5;
	border-radius: 18px;
	background:
		radial-gradient(60% 60% at 30% 25%, rgba(255, 20, 64, 0.16), transparent 70%),
		radial-gradient(50% 50% at 80% 80%, rgba(232, 217, 196, 0.7), transparent 70%),
		var(--es-paper);
	border: 8px solid var(--es-paper);
	box-shadow: 0 28px 55px rgba(44, 38, 32, 0.12);
	transform: rotate(-3deg);
}

.es-artist-portrait-fallback span {
	font-family: var(--es-display);
	font-size: clamp(2.5rem, 5vw, 4rem);
	color: var(--es-accent);
}

/* ---------- Künstlerin: Story-Intro (Seiteninhalt) ---------- */
.es-artist-story {
	max-width: 46rem;
	margin: 0 auto;
	padding: 1rem 1.5rem 4rem;
}

.es-artist-story h2 {
	font-size: clamp(3rem, 5.6vw, 4.3rem);
	color: var(--es-accent);
	margin: 0 0 1rem;
}

.es-artist-story p {
	font-size: 1.12rem;
	margin: 0 0 1.1rem;
}

/* ---------- Werte-Grid (Künstlerin + B2B) ---------- */
.es-value-grid {
	display: grid;
	gap: 2rem;
}

@media (min-width: 700px) {
	.es-value-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

.es-value {
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 18px;
	padding: 2rem 1.6rem;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.es-value:hover {
	box-shadow: 0 16px 34px rgba(44, 38, 32, 0.1);
	transform: translateY(-3px);
}

/* Wiederverkäufer „Deine Vorteile" (Pfeil, Herzen, Sprechblase: Alex Muravev / Noun Project, CC BY 3.0) */
.es-b2b .es-value-icon {
	display: block;
	width: var(--es-b2b-icon-w);
	height: var(--es-b2b-icon-h);
	margin-inline: auto;
	margin-bottom: 1.25rem;
	background-position: center;
	background-size: contain;
	background-repeat: no-repeat;
}

.es-b2b .es-value-icon--arrow {
	background-image: url("../img/b2b-icon-arrow-accent.png");
}

.es-b2b .es-value-icon--hearts {
	background-image: url("../img/b2b-icon-hearts-accent.png");
}

.es-b2b .es-value-icon--chat {
	background-image: url("../img/b2b-icon-chat-accent.png");
}

.es-value h3 {
	font-family: var(--es-body);
	font-size: 1.35rem;
	font-weight: 700;
	margin: 0 0 0.5rem;
}

.es-artist-values .es-value h3 {
	margin-bottom: 1rem;
}

.es-value p {
	color: var(--es-muted);
	margin: 0;
}

.es-value--mood {
	padding: 0;
}

.es-value--mood .es-value-media {
	overflow: hidden;
	border-bottom: 1px solid var(--es-line);
}

.es-value--mood .es-value-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	object-position: center;
	transition: transform 0.45s ease;
}

.es-value--mood:hover .es-value-img {
	transform: scale(1.04);
}

.es-value--mood .es-value-body {
	padding: 1.5rem 1.6rem 2rem;
}

@media (prefers-reduced-motion: reduce) {
	.es-value--mood .es-value-img {
		transition: none;
	}

	.es-value--mood:hover .es-value-img {
		transform: none;
	}
}

/* ---------- Entstehungsprozess (Steps) ---------- */
.es-steps-wrap {
	position: relative;
	margin-top: 0.5rem;
}

.es-steps-path {
	display: none;
	position: absolute;
	left: 0;
	right: 0;
	top: 0.5rem;
	height: 5rem;
	width: 100%;
	pointer-events: none;
	z-index: 0;
	overflow: visible;
}

.es-steps-path path {
	fill: none;
	stroke: var(--es-accent);
	stroke-width: 2;
	stroke-dasharray: 7 9;
	stroke-linecap: round;
	stroke-linejoin: round;
	opacity: 0.42;
}

.es-steps {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 2.5rem;
	counter-reset: step;
	position: relative;
	z-index: 1;
}

@media (min-width: 700px) {
	.es-steps-wrap {
		padding-top: 0.25rem;
	}

	.es-steps-path {
		display: block;
	}

	.es-steps {
		grid-template-columns: repeat(4, 1fr);
		gap: 2rem;
	}
}

.es-steps li {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding-top: 0.5rem;
	max-width: 18rem;
	margin-inline: auto;
}

@media (min-width: 700px) {
	.es-steps li {
		max-width: none;
	}
}

.es-step-no {
	display: inline-grid;
	place-items: center;
	flex-shrink: 0;
	min-width: 5rem;
	min-height: 5rem;
	padding: 0.2rem;
	border-radius: 50%;
	border: 3px solid var(--es-accent);
	background: var(--es-paper);
	color: var(--es-accent);
	font-family: var(--es-body);
	font-size: 2.75rem;
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.03em;
	margin-bottom: 1rem;
}

.es-steps h3 {
	font-family: var(--es-body);
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0 0 0.4rem;
}

.es-steps p {
	color: var(--es-muted);
	margin: 0;
	max-width: 16rem;
}

@media (min-width: 700px) {
	.es-steps p {
		max-width: none;
	}
}

/* ---------- CTA-Band ---------- */
.es-cta-band {
	background: var(--es-accent);
	color: var(--es-paper);
}

.es-cta-inner {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 4.5rem 1.5rem;
	text-align: center;
}

.es-cta-band h2 {
	font-family: var(--es-display);
	font-size: clamp(3.5rem, 8vw, 6rem);
	color: var(--es-paper);
}

.es-cta-band p {
	color: rgba(255, 253, 248, 0.88);
	margin: 0 0 2rem;
	font-size: 1.1rem;
}

/* CTA-Band: Button hell auf Terrakotta (Outline invertiert) */
.es-cta-band .button {
	border-color: var(--es-paper) !important;
	color: var(--es-paper) !important;
}

.es-cta-band .button:hover {
	color: var(--es-accent) !important;
	border-color: var(--es-paper) !important;
}

.es-cta-band .button::before,
.es-cta-band .button::after {
	filter: brightness(0) invert(1);
}

/* ---------- Wiederverkäufer: Hero + Staffel-Karten ---------- */
.site-content:has(.es-b2b) {
	padding-top: 0.125rem;
}

.site-content:has(.es-b2b) .storefront-breadcrumb {
	padding-top: 0;
	padding-bottom: 0;
	margin: 0;
}

.site-content:has(.es-b2b) .woocommerce-breadcrumb {
	margin-bottom: 0.35rem;
}

.es-b2b-hero {
	max-width: 52rem;
	margin: 0 auto;
	padding: 0.625rem 1.5rem 2rem;
	text-align: center;
}

.es-b2b-hero h1 {
	font-size: clamp(4.2rem, 9vw, 7rem);
	margin-top: 0.75rem;
}

.es-b2b-hero h1 em {
	color: var(--es-accent);
	font-style: normal;
}

.es-b2b-hero .es-artist-lead {
	margin: 0 auto 2.2rem;
}

.es-b2b-hero .es-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.es-tier-cards {
	display: grid;
	gap: 1.5rem;
	margin-top: 1rem;
}

@media (min-width: 700px) {
	.es-tier-cards {
		grid-template-columns: repeat(3, 1fr);
	}
}

.es-tier-card {
	background: var(--es-paper);
	border: 2px solid var(--es-accent-soft);
	border-radius: 18px;
	padding: 2.4rem 1.5rem;
	text-align: center;
	display: grid;
	gap: 0.4rem;
	transition: border-color 0.25s ease, transform 0.25s ease;
}

.es-tier-card:hover {
	border-color: var(--es-accent);
	transform: translateY(-3px);
}

.es-tier-discount {
	font-family: var(--es-body);
	font-size: clamp(3.15rem, 6.75vw, 4.77rem);
	font-weight: 700;
	line-height: 1;
	letter-spacing: -0.02em;
	color: var(--es-accent);
}

.es-tier-min {
	font-family: var(--es-body);
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: 0.02em;
}

.es-b2b-note {
	max-width: 40rem;
	margin: 2.5rem auto 0;
	text-align: center;
	color: var(--es-muted);
}

/* ---------- Wiederverkäufer-Teaser auf der Startseite ---------- */
.es-reseller-teaser {
	background: var(--es-paper);
	border-top: 1px solid var(--es-line);
	border-bottom: 1px solid var(--es-line);
}

.es-reseller-teaser-inner {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 3.5rem 1.5rem;
	display: grid;
	gap: 1.5rem;
	align-items: center;
}

@media (min-width: 768px) {
	.es-reseller-teaser-inner {
		grid-template-columns: 1fr auto;
	}
}

.es-reseller-teaser h2 {
	font-size: clamp(3rem, 5.6vw, 4.5rem);
	color: var(--es-foreground);
	margin-top: 1.75rem;
	margin-bottom: 1rem;
}

.es-reseller-teaser p {
	color: var(--es-muted);
	margin: 0;
	max-width: 40rem;
}


/* ---------- Individuelle Karten & Druck-Info ---------- */
.es-custom-cards {
	text-align: center;
}

.es-custom-cards .es-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
	margin-top: 2rem;
}

.es-print-info-inner {
	display: grid;
	gap: 2.5rem;
	align-items: center;
	margin-top: 1.5rem;
}

@media (min-width: 768px) {
	.es-print-info-inner {
		grid-template-columns: 1fr auto;
	}
}

.es-print-info-text p {
	color: var(--es-muted);
	margin: 0 0 1rem;
}

.es-print-info-text a {
	font-weight: 700;
}

.es-print-partner {
	display: inline-block;
	line-height: 0;
	padding: 1rem 1.25rem;
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 12px;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.es-print-partner:hover {
	box-shadow: 0 12px 28px rgba(44, 38, 32, 0.1);
	transform: translateY(-2px);
	opacity: 1;
}

.es-print-partner svg {
	display: block;
	height: 52px;
	width: auto;
}

/* ---------- Stationäre Händler (Über mich) ---------- */
.es-stockists-intro {
	display: grid;
	gap: 2.5rem;
	align-items: center;
	margin-bottom: 2.5rem;
}

@media (min-width: 768px) {
	.es-stockists-intro {
		grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
		gap: 3rem;
	}
}

.es-stockists-copy .es-sub {
	margin-bottom: 1rem;
}

.es-stockists-copy p {
	color: var(--es-muted);
	margin: 0;
}

.es-stockists-copy a {
	font-weight: 700;
}

.es-stockists-media {
	overflow: hidden;
	border: 1px solid var(--es-line);
	border-radius: 18px;
	background: var(--es-paper);
}

.es-stockists-img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 4 / 5;
	object-fit: cover;
	object-position: center 35%;
}

.es-stockists-carousel-wrap {
	border-top: 1px solid var(--es-line);
	padding-top: 2rem;
}

.es-stockists-carousel-label {
	margin: 0 0 1.25rem;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--es-muted);
	text-align: center;
}

.es-stockists-carousel {
	overflow: hidden;
	/* Platz für Hover-Schatten + translateY (sonst oben/unten abgeschnitten) */
	padding: 1rem 0 2.25rem;
	mask-image: linear-gradient(
		90deg,
		transparent 0%,
		#000 8%,
		#000 92%,
		transparent 100%
	);
}

.es-stockists-carousel__track {
	display: flex;
	align-items: center;
	width: max-content;
	gap: 3.5rem;
	animation: es-stockists-marquee 36s linear infinite;
}

.es-stockists-carousel__item {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 9rem;
	padding: 1rem 1.35rem;
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 12px;
	line-height: 0;
	transition: box-shadow 0.25s ease, transform 0.25s ease;
}

.es-stockists-carousel__item:hover {
	box-shadow: 0 12px 28px rgba(44, 38, 32, 0.1);
	transform: translateY(-2px);
	opacity: 1;
}

.es-stockists-carousel__item svg {
	display: block;
	width: auto;
	height: 2rem;
	max-width: 10rem;
}

@keyframes es-stockists-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-50%);
	}
}

@media (prefers-reduced-motion: reduce) {
	.es-stockists-carousel__track {
		animation: none;
		flex-wrap: wrap;
		justify-content: center;
		width: auto;
		gap: 1.25rem;
	}
}

.es-actions--center {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: center;
}

.es-cta-band .button.es-outline {
	border-color: var(--es-paper) !important;
	color: var(--es-paper) !important;
}

.es-cta-band .button.es-outline:hover {
	color: var(--es-accent) !important;
}

/* ---------- Custom-Teaser (Startseite) ---------- */
.es-custom-teaser {
	background: var(--es-paper);
	border-top: 1px solid var(--es-line);
}

.es-custom-teaser-inner {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 3.5rem 1.5rem;
	display: grid;
	gap: 1.5rem;
	align-items: center;
}

@media (min-width: 768px) {
	.es-custom-teaser-inner {
		grid-template-columns: 1fr auto;
	}
}

.es-custom-teaser h2 {
	font-size: clamp(3rem, 5.6vw, 4.5rem);
	color: var(--es-foreground);
	margin-top: 1.75rem;
	margin-bottom: 1rem;
}

.es-custom-teaser p {
	color: var(--es-muted);
	margin: 0;
	max-width: 40rem;
}

/* ---------- Kontaktseite ---------- */
.es-contact-hero {
	max-width: 42rem;
	margin: 0 auto;
	padding: 2rem 1.5rem 2rem;
	text-align: center;
}

.es-contact-hero h1 {
	font-size: clamp(4rem, 9vw, 7rem);
	margin-top: 1rem;
}

/* Rechtstexte (Impressum, Datenschutz, AGB, Widerruf): Unna statt Mustardmoster */
.es-legal-page h1.entry-title {
	font-family: var(--es-body) !important;
	font-size: clamp(2.25rem, 5vw, 3.25rem) !important;
	font-weight: 700 !important;
	line-height: 1.25 !important;
	color: var(--es-foreground) !important;
	text-align: left;
}

.es-legal-page .entry-content :is(h2, h3, h4) {
	font-family: var(--es-body) !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.01em;
	color: var(--es-foreground) !important;
}

.es-legal-page .entry-content h2 {
	font-size: clamp(1.75rem, 3.5vw, 2.25rem);
	margin: 2rem 0 1rem;
}

.es-legal-page .entry-content h2:first-child {
	margin-top: 0;
}

.es-legal-page .entry-content h3 {
	font-size: 1.35rem;
	margin: 1.75rem 0 0.75rem;
}

/* Abstand Display-Headline → Copy darunter (~40px) */
.es-hero h1,
.es-artist-hero h1,
.es-b2b-hero h1,
.es-contact-hero h1,
.es-cart-hero h1,
.es-checkout-hero h1,
.woocommerce .page-title,
.woocommerce-products-header__title,
h1.page-title,
h1.entry-title:not(.product_title),
.es-section h2,
.es-cta-band h2 {
	margin-bottom: var(--es-headline-copy-gap);
}

.es-hero h1 + p,
.es-artist-hero h1 + .es-artist-lead,
.es-b2b-hero h1 + .es-artist-lead,
.es-contact-hero h1 + .es-artist-lead,
.es-cart-hero h1 + .es-artist-lead,
.es-checkout-hero h1 + .es-artist-lead,
.es-section h2 + .es-sub,
.es-section h2 + p,
.es-custom-teaser h2 + p,
.es-reseller-teaser h2 + p,
.es-cta-band h2 + p {
	margin-top: 0;
}

.es-contact-grid {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 0 1.5rem 5rem;
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 900px) {
	.es-contact-grid {
		grid-template-columns: 1.2fr 0.8fr;
		align-items: start;
	}
}

.es-contact-form-wrap {
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 18px;
	padding: 2rem 1.75rem;
}

.es-contact-form .es-form-field {
	margin: 0 0 1.25rem;
}

.es-contact-form label {
	display: block;
	font-family: var(--es-body);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 0.45rem;
}

.es-contact-form input[type="text"],
.es-contact-form input[type="email"],
.es-contact-form select,
.es-contact-form textarea {
	width: 100%;
	box-sizing: border-box;
	background: var(--es-background);
	border: 1px solid var(--es-line);
	border-radius: 0;
	padding: 0.75em 1em;
	font-family: var(--es-body);
	font-size: 1rem;
	color: var(--es-foreground);
}

.es-contact-form textarea {
	resize: vertical;
	min-height: 9rem;
}

.es-contact-form input:focus,
.es-contact-form input:focus-visible,
.es-contact-form select:focus,
.es-contact-form select:focus-visible,
.es-contact-form textarea:focus,
.es-contact-form textarea:focus-visible {
	outline: 2px solid var(--es-accent);
	outline-offset: 2px;
}

.es-form-actions {
	margin: 1.75rem 0 0;
}

.es-form-hint {
	font-size: 0.9rem;
	color: var(--es-muted);
	margin: 1rem 0 0;
}

.es-honeypot {
	position: absolute;
	left: -9999px;
	height: 0;
	overflow: hidden;
}

.es-notice {
	padding: 1rem 1.1rem;
	border-radius: 8px;
	margin-bottom: 1.5rem;
	font-size: 0.95rem;
}

.es-notice--ok {
	background: rgba(0, 174, 124, 0.12);
	border: 1px solid rgba(0, 174, 124, 0.35);
}

.es-notice--err {
	background: rgba(255, 20, 64, 0.08);
	border: 1px solid rgba(255, 20, 64, 0.25);
}

.es-info-card {
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 18px;
	padding: 1.75rem 1.5rem;
	margin-bottom: 1.25rem;
}

.es-info-card h2 {
	font-family: var(--es-body);
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0 0 0.75rem;
}

.es-info-card p {
	color: var(--es-muted);
	margin: 0 0 1rem;
}

.es-info-card p:last-child {
	margin-bottom: 0;
}

.es-info-card .es-print-partner {
	margin-top: 0.5rem;
}

.es-contact-shop {
	margin: 0.5rem 0 0;
	font-weight: 700;
}

/* ---------- Warenkorb ---------- */
.es-cart-page .entry-header,
.es-cart-page .hentry.type-page > .entry-header {
	display: none;
}

/* Breadcrumb direkt unter der Navigation (Storefront-Standardposition) */
.es-cart-page .storefront-breadcrumb {
	padding-top: 0.35rem;
	padding-bottom: 0;
	margin: 0;
}

.es-cart-page .storefront-breadcrumb .woocommerce-breadcrumb {
	margin: 0 0 0.35rem;
}

.es-cart-page .site-content {
	padding-top: 0;
}

.es-cart-hero {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 0.35rem 1.5rem 1rem;
	text-align: center;
}

.es-cart-page .es-cart-hero h1 {
	font-size: clamp(4rem, 9vw, 7rem);
	margin-top: 0;
	margin-bottom: 0.65rem !important;
}

.es-cart-page .es-cart-hero .es-artist-lead {
	margin-bottom: 0;
}

.es-cart-page .entry-content > .woocommerce:has(.woocommerce-cart-form) {
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 900px) {
	.es-cart-page .entry-content > .woocommerce:has(.woocommerce-cart-form) {
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 0.75fr);
		align-items: start;
	}

	.es-cart-page .woocommerce-cart-form {
		grid-column: 1;
		grid-row: 1;
	}

	.es-cart-page .cart-collaterals {
		grid-column: 2;
		grid-row: 1 / span 2;
	}

	.es-cart-page .es-cart-info {
		grid-column: 2;
		grid-row: 2;
	}
}

.es-cart-page .entry-content > .woocommerce {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 0 1.5rem 5rem;
}

.es-cart-page .woocommerce-cart-form {
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 18px;
	padding: 1.75rem 1.5rem;
}

.es-cart-page .woocommerce-cart-form .shop_table {
	border: none;
	margin: 0;
	border-collapse: collapse;
	width: 100%;
}

/* Storefront setzt remove-Zelle auf position:absolute → Spalte frisst die ganze Tabellenbreite */
.es-cart-page .woocommerce-cart-form th.product-remove,
.es-cart-page .woocommerce-cart-form td.product-remove {
	width: 2.75rem;
	max-width: 2.75rem;
	padding: 1.35rem 0;
	border-top: none !important;
	position: static;
	vertical-align: middle;
}

.es-cart-page .woocommerce-cart-form th.product-thumbnail,
.es-cart-page .woocommerce-cart-form td.product-thumbnail {
	width: 7.5rem;
	padding-right: 1.25rem;
}

.es-cart-page .woocommerce-cart-form th.product-price,
.es-cart-page .woocommerce-cart-form td.product-price,
.es-cart-page .woocommerce-cart-form th.product-quantity,
.es-cart-page .woocommerce-cart-form td.product-quantity,
.es-cart-page .woocommerce-cart-form th.product-subtotal,
.es-cart-page .woocommerce-cart-form td.product-subtotal {
	white-space: nowrap;
	text-align: right;
}

.es-cart-page .woocommerce-cart-form th.product-name,
.es-cart-page .woocommerce-cart-form td.product-name {
	overflow-wrap: anywhere;
}

.es-cart-page .woocommerce-cart-form .shop_table thead th {
	font-family: var(--es-body);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--es-muted);
	border-bottom: 1px solid var(--es-line);
	padding: 0 0 1rem;
	background: transparent;
}

.es-cart-page .woocommerce-cart-form .shop_table tbody td {
	border-top: 1px solid var(--es-line);
	padding: 1.35rem 0;
	vertical-align: middle;
	background: transparent;
}

.es-cart-page .woocommerce-cart-form .shop_table tbody tr:first-child td {
	border-top: none;
}

.es-cart-page .woocommerce-cart-form .product-thumbnail img {
	width: 7rem;
	height: auto;
	border: 1px solid var(--es-accent-soft);
	filter: drop-shadow(0 10px 18px rgba(232, 217, 196, 0.65));
}

.es-cart-page .woocommerce-cart-form .product-name {
	font-weight: 700;
	overflow-wrap: anywhere;
}

.es-cart-page .es-cart-item__name {
	display: block;
	font-size: 1.1rem;
	line-height: 1.35;
}

.es-cart-page .es-cart-item__name a {
	color: var(--es-foreground);
	text-decoration: none;
}

.es-cart-page .es-cart-item__name a:hover {
	color: var(--es-accent);
	opacity: 1;
}

.es-cart-page .es-cart-item__format {
	display: block;
	margin-top: 0.3rem;
	font-size: 0.92rem;
	font-weight: 400;
	color: var(--es-muted);
}

.es-cart-page .woocommerce-cart-form .product-name .wc-gzd-additional-info,
.es-cart-page .woocommerce-cart-form .product-price .wc-gzd-additional-info {
	display: none;
}

.es-cart-page .woocommerce-cart-form .product-price,
.es-cart-page .woocommerce-cart-form .product-subtotal {
	font-weight: 700;
	color: var(--es-foreground);
}

.es-cart-page .woocommerce-cart-form .product-price .amount,
.es-cart-page .woocommerce-cart-form .product-subtotal .amount {
	color: var(--es-accent);
}

.es-cart-page .woocommerce-cart-form .quantity .qty {
	width: 4.25rem;
	background: var(--es-background);
	border: 1px solid var(--es-line);
	border-radius: 0;
	padding: 0.55em 0.5em;
	font-family: var(--es-body);
	font-size: 1rem;
	text-align: center;
}

.es-cart-page .woocommerce-cart-form .product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* relative (nicht static): WooCommerce ::before nutzt position:absolute/inset:0 –
	   ohne Bezugs-Element wächst die Klickfläche auf die ganze Tabellenzeile. */
	position: relative;
	top: auto;
	right: auto;
	width: 2rem;
	height: 2rem;
	border: 1px solid var(--es-line);
	border-radius: 50%;
	color: var(--es-muted) !important;
	font-size: 1.25rem;
	line-height: 1;
	text-decoration: none;
	text-indent: 0;
	overflow: visible;
	transition: border-color 0.2s ease, color 0.2s ease;
}

.es-cart-page .woocommerce-cart-form .product-remove a.remove::before {
	display: none !important;
	content: none !important;
}

.es-cart-page .woocommerce-cart-form .product-remove a.remove:hover {
	border-color: var(--es-accent);
	color: var(--es-accent) !important;
	background: transparent !important;
	opacity: 1;
}

/* Actions-Zeile: td muss table-cell bleiben (colspan 6), Flex nur im .coupon-Wrapper */
.es-cart-page table.cart td.actions {
	padding: 1.25rem 0 0 !important;
	border-top: 1px solid var(--es-line) !important;
	border-top-color: var(--es-line) !important;
	background-color: transparent !important;
	vertical-align: middle;
}

.es-cart-page .woocommerce-cart-form td.actions::before,
.es-cart-page .woocommerce-cart-form td.actions::after {
	display: none;
}

.es-cart-page .woocommerce-cart-form td.actions > .coupon {
	display: flex;
	flex-wrap: nowrap;
	gap: 0.75rem;
	align-items: stretch;
	width: 100%;
	margin: 0 0 1rem !important;
	padding: 0 !important;
	float: none !important;
	border: none !important;
}

.es-cart-page .woocommerce-cart-form td.actions > .button[name="update_cart"] {
	float: right !important;
	clear: both !important;
	position: relative !important;
	margin: 0 !important;
	font-size: 0.9rem !important;
	padding: 0.65em 1.25em !important;
	min-height: 2.75rem;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
}

.es-cart-page table.cart td.actions input.input-text {
	display: block !important;
	flex: 1 1 14rem;
	min-width: 12rem;
	width: auto !important;
	margin: 0 !important;
	background: var(--es-background);
	border: 1px solid var(--es-line);
	padding: 0.65em 1em;
	font-family: var(--es-body);
	font-size: 1rem;
	min-height: 2.75rem;
	height: 2.75rem;
	box-sizing: border-box;
}

.es-cart-page .woocommerce-cart-form .coupon .input-text {
	flex: 1 1 14rem;
	min-width: 12rem;
	max-width: none;
	width: auto !important;
	background: var(--es-background);
	border: 1px solid var(--es-line);
	padding: 0.65em 1em;
	font-family: var(--es-body);
	font-size: 1rem;
	min-height: 2.75rem;
	height: 2.75rem;
	box-sizing: border-box;
}

.es-cart-page .woocommerce-cart-form .coupon .button {
	flex-shrink: 0;
	white-space: nowrap;
	min-height: 2.75rem;
	height: 2.75rem;
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
}

.es-cart-page .cart-collaterals {
	width: 100% !important;
	float: none !important;
	margin: 0;
}

.es-cart-page .cart_totals {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	width: 100% !important;
	float: none !important;
}

.es-cart-page .cart_totals h2 {
	font-family: var(--es-body) !important;
	font-size: 0.72rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--es-muted);
	margin: 0 0 1.25rem;
	line-height: 1.4 !important;
}

.es-cart-page .cart_totals table {
	border: none;
	margin: 0;
}

.es-cart-page .cart_totals table th,
.es-cart-page .cart_totals table td {
	border-top: 1px solid var(--es-line);
	padding: 0.85rem 0;
	font-weight: 500;
	background: transparent !important;
}

.es-cart-page .cart_totals table tbody tr:nth-child(odd) td,
.es-cart-page .cart_totals table tbody tr:nth-child(even) td {
	background: transparent !important;
}

.es-cart-page .cart_totals table tr:first-child th,
.es-cart-page .cart_totals table tr:first-child td {
	border-top: none;
}

.es-cart-page .cart_totals .order-total th,
.es-cart-page .cart_totals .order-total td {
	font-size: 1.15rem;
	font-weight: 700;
	padding-top: 1rem;
}

.es-cart-page .cart_totals .order-total .amount {
	color: var(--es-accent);
	font-size: 1.35rem;
}

.es-cart-page .cart_totals .wc-gzd-additional-info {
	font-size: 0.78rem;
	color: var(--es-muted);
	margin-top: 0.35rem;
}

.es-cart-page .wc-proceed-to-checkout {
	padding: 1.25rem 0 0;
	margin: 0;
}

.es-cart-page .wc-proceed-to-checkout .checkout-button {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1rem !important;
}

.es-cart-page .es-cart-info {
	margin-top: 1.25rem;
}

.es-cart-page .es-cart-info h2 {
	font-family: var(--es-body);
	font-size: 1.3rem;
	font-weight: 700;
}

/* Versandzone DE – Rechner auf Warenkorb entbehrlich */
.es-cart-page .woocommerce-shipping-calculator,
.es-cart-page .shipping-calculator-button,
.es-cart-page .shipping-calculator-form,
.es-cart-page #shipping-calculator-form {
	display: none !important;
}

.es-cart-page .cart_totals .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.es-cart-page .cart_totals .woocommerce-shipping-methods li {
	margin: 0;
}

/* Leerer Warenkorb – kein .cart-empty-Wrapper in WooCommerce, nur .es-cart-empty */
.es-cart-page .entry-content > .woocommerce:has(.es-cart-empty) {
	display: block;
}

.es-cart-page .es-cart-empty {
	width: 100%;
	box-sizing: border-box;
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 18px;
	padding: 2.5rem 2rem;
	margin: 0 0 1.5rem;
	text-align: center;
}

.es-cart-page .es-cart-empty__text {
	margin: 0;
	font-size: 1.15rem;
	color: var(--es-muted);
	text-align: center;
}

.es-cart-page .es-cart-empty__actions {
	margin: 0;
	text-align: center;
}

.es-cart-page .es-cart-empty__actions .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

/* WooCommerce-Hinweise */
.woocommerce-info,
.woocommerce-error {
	background: var(--es-paper) !important;
	color: var(--es-foreground) !important;
	border: 1px solid var(--es-line) !important;
	border-left: 4px solid var(--es-accent) !important;
	border-radius: 0 !important;
	padding: 1rem 1.25rem !important;
	margin-bottom: 1.5rem !important;
}

.woocommerce-info::before,
.woocommerce-error::before {
	color: var(--es-accent) !important;
}

.woocommerce-info .button {
	margin-left: 0.75rem;
	font-size: 0.85rem !important;
	padding: 0.5em 1em !important;
}

/* „… wurde deinem Warenkorb hinzugefügt" – transparent, 1px-Rahmen */
.woocommerce-message {
	position: relative;
	display: grid;
	grid-template-columns: auto 1fr auto;
	grid-template-areas: "icon text action";
	align-items: center;
	column-gap: 1.5rem;
	row-gap: 0.65rem;
	background-color: transparent !important;
	color: var(--es-foreground) !important;
	border: 1px solid var(--es-line) !important;
	border-radius: 0 !important;
	padding: 1rem 1.35rem !important;
	margin: 0 0 1.5rem !important;
	line-height: 1.55;
	list-style: none;
	clear: none !important;
}

.woocommerce-message::after {
	display: none !important;
	content: none !important;
	clear: none !important;
}

.woocommerce-message::before {
	content: "✓" !important;
	grid-area: icon;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	position: relative !important;
	left: auto !important;
	top: auto !important;
	transform: none !important;
	width: 1.45rem !important;
	height: 1.45rem !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: var(--es-body) !important;
	font-size: 0.82rem !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	text-align: center !important;
	color: var(--es-accent) !important;
	background: transparent !important;
	border: 2px solid var(--es-accent) !important;
	border-radius: 50% !important;
	box-sizing: border-box;
	clear: none !important;
	z-index: 1;
}

.woocommerce-message .button {
	grid-area: action;
	flex-shrink: 0;
	margin-left: 0 !important;
	font-size: 0.85rem !important;
	padding: 0.5em 1em !important;
	position: relative;
	z-index: 1;
}

.es-cart-page .woocommerce-cart-form td::before {
	font-weight: 700;
	color: var(--es-muted);
}

@media (max-width: 768px) {
	.es-cart-page .woocommerce-cart-form th.product-remove,
	.es-cart-page .woocommerce-cart-form td.product-remove,
	.es-cart-page .woocommerce-cart-form th.product-thumbnail,
	.es-cart-page .woocommerce-cart-form td.product-thumbnail {
		width: auto;
		max-width: none;
	}

	.es-cart-page .woocommerce-cart-form td.actions > .coupon {
		flex-wrap: wrap;
	}

	.es-cart-page table.cart td.actions input.input-text,
	.es-cart-page .woocommerce-cart-form .coupon .input-text {
		min-width: 0;
		width: 100% !important;
	}

	.es-cart-page .woocommerce-cart-form td.actions > .button[name="update_cart"] {
		width: 100%;
		justify-content: center;
	}

	.es-cart-page .woocommerce-cart-form {
		padding: 1.25rem 1rem;
	}

	.es-cart-page .woocommerce-cart-form .shop_table_responsive tbody tr {
		margin-bottom: 1.5rem;
		padding-bottom: 1.25rem;
		border-bottom: 1px solid var(--es-line);
	}

	.es-cart-page .woocommerce-cart-form .shop_table_responsive tbody tr:last-child {
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.es-cart-page .woocommerce-cart-form .product-thumbnail {
		text-align: left;
	}

	.es-cart-page .woocommerce-cart-form .product-thumbnail img {
		width: 5.5rem;
	}
}

/* ---------- Kasse (Checkout) ---------- */
.es-checkout-page .entry-header,
.es-checkout-page .hentry.type-page > .entry-header {
	display: none;
}

.es-checkout-page .storefront-breadcrumb {
	padding-top: 0.35rem;
	padding-bottom: 0;
	margin: 0;
}

.es-checkout-page .storefront-breadcrumb .woocommerce-breadcrumb {
	margin: 0 0 0.35rem;
}

.es-checkout-page .site-content {
	padding-top: 0;
}

.es-checkout-hero {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 0.35rem 1.5rem 1rem;
	text-align: center;
}

.es-checkout-page .es-checkout-hero h1 {
	font-size: clamp(4rem, 9vw, 7rem);
	margin-top: 0;
	margin-bottom: 1rem;
	color: var(--es-foreground);
}

.es-checkout-page .es-checkout-hero .es-artist-lead {
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

.es-checkout-page .entry-content > .woocommerce {
	max-width: var(--es-maxw);
	margin: 0 auto;
	padding: 0 1.5rem 4rem;
}

/* Abschnitts-Überschriften in Unna (nicht Mustardmoster) */
.es-checkout-page form.checkout h3 {
	font-family: var(--es-body) !important;
	font-size: 1.35rem !important;
	font-weight: 700 !important;
	line-height: 1.35 !important;
	letter-spacing: 0.01em;
	color: var(--es-foreground) !important;
	margin: 0 0 1.25rem;
}

.es-checkout-page #ship-to-different-address h3 {
	font-size: 1.05rem !important;
	margin-bottom: 0.75rem;
}

.es-checkout-page #ship-to-different-address label {
	font-weight: 500;
	cursor: pointer;
}

/* Zweispaltig: Formular links, Sidebar rechts (ein Grid-Item) */
.es-checkout-page form.checkout {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.75rem;
	margin: 0;
}

.es-checkout-page form.checkout #customer_details,
.es-checkout-page form.checkout .es-checkout-sidebar,
.es-checkout-page form.checkout #order_review {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	min-width: 0;
	clear: none !important;
}

@media (min-width: 900px) {
	.es-checkout-page form.checkout {
		grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
		column-gap: 2rem;
		align-items: start;
	}

	.es-checkout-page #customer_details {
		grid-column: 1;
		grid-row: 1;
	}

	.es-checkout-page .es-checkout-sidebar {
		grid-column: 2;
		grid-row: 1;
		position: sticky;
		top: 6.5rem;
	}
}

.es-checkout-page #customer_details.col2-set {
	display: flex;
	flex-direction: column;
	gap: 0;
	width: 100% !important;
	float: none !important;
	margin: 0;
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 18px;
	padding: 2rem 1.75rem;
	box-sizing: border-box;
}

.es-checkout-page #customer_details .col-1,
.es-checkout-page #customer_details .col-2 {
	width: 100% !important;
	float: none !important;
	padding: 0;
}

.es-checkout-page #customer_details .col-2 {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--es-line);
}

/* Sidebar: eine Karte wie Warenkorb-Sidebar */
.es-checkout-page .es-checkout-sidebar {
	background: var(--es-paper);
	border: 1px solid var(--es-line);
	border-radius: 18px;
	padding: 1.75rem 1.5rem;
	box-sizing: border-box;
}

.es-checkout-page #order_review {
	background: transparent;
	border: none;
	border-radius: 0;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
}

/* Germanized mischt die Reihenfolge – per Flex zurücksetzen */
.es-checkout-page #order_review #order_review_heading {
	order: 1;
	margin: 0 0 1.25rem;
}

.es-checkout-page #order_review .woocommerce-checkout-review-order-table {
	order: 2;
}

.es-checkout-page #order_review #order_payment_heading {
	order: 3;
	margin: 1.5rem 0 1rem;
	padding-top: 1.5rem;
	border-top: 1px solid var(--es-line);
}

.es-checkout-page #order_review #payment {
	order: 4;
}

.es-checkout-page #order_review .wc-gzd-checkbox-placeholder-legal {
	order: 5;
}

.es-checkout-page #order_review .wc-gzd-order-submit {
	order: 6;
}

.es-checkout-page #order_review > input[type="checkbox"][name="terms"],
.es-checkout-page #order_review .wc-gzd-checkbox-placeholder:not(.wc-gzd-checkbox-placeholder-legal),
.es-checkout-page #order_review #ppc-button-ppcp-applepay,
.es-checkout-page #order_review #ppc-button-ppcp-googlepay {
	display: none !important;
}

/* Formularfelder wie Kontaktseite */
.es-checkout-page .woocommerce-billing-fields__field-wrapper label,
.es-checkout-page .woocommerce-shipping-fields__field-wrapper label,
.es-checkout-page .woocommerce-additional-fields__field-wrapper label {
	display: block;
	font-family: var(--es-body);
	font-size: 0.95rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 0.45rem;
}

.es-checkout-page .form-row {
	margin: 0 0 1.1rem;
	padding: 0;
}

.es-checkout-page .form-row input.input-text,
.es-checkout-page .form-row select,
.es-checkout-page .form-row textarea {
	width: 100%;
	box-sizing: border-box;
	background: var(--es-background);
	border: 1px solid var(--es-line);
	border-radius: 0;
	padding: 0.75em 1em;
	font-family: var(--es-body);
	font-size: 1rem;
	color: var(--es-foreground);
}

.es-checkout-page .form-row textarea {
	min-height: 6rem;
	resize: vertical;
}

.es-checkout-page .select2-container .select2-selection--single {
	height: auto;
	min-height: 3rem;
	background: var(--es-background);
	border: 1px solid var(--es-line) !important;
	border-radius: 0;
}

.es-checkout-page .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5;
	padding: 0.75em 1em;
	color: var(--es-foreground);
}

.es-checkout-page .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}

.es-checkout-page #ship-to-different-address-checkbox {
	margin-right: 0.5rem;
	accent-color: var(--es-accent);
}

/* Bestellübersicht – wie Warenkorb cart_totals */
.es-checkout-page #order_review .shop_table,
.es-checkout-page #order_review .woocommerce-checkout-review-order-table {
	border: none;
	margin: 0;
	border-collapse: collapse;
	width: 100%;
	background: transparent !important;
}

.es-checkout-page #order_review .shop_table thead {
	display: none;
}

.es-checkout-page #order_review .shop_table th,
.es-checkout-page #order_review .shop_table td {
	background: transparent !important;
}

.es-checkout-page #order_review .shop_table tbody td,
.es-checkout-page #order_review .shop_table tfoot th,
.es-checkout-page #order_review .shop_table tfoot td {
	border-top: 1px solid var(--es-line);
	padding: 0.85rem 0;
	background: transparent !important;
	font-weight: 500;
	vertical-align: top;
}

.es-checkout-page #order_review .shop_table tbody tr:first-child td {
	border-top: none;
	padding-top: 0;
}

.es-checkout-page #order_review .shop_table tbody tr {
	background: transparent !important;
}

.es-checkout-page #order_review .shop_table tbody tr:nth-child(odd) td,
.es-checkout-page #order_review .shop_table tbody tr:nth-child(even) td {
	background: transparent !important;
}

.es-checkout-page #order_review .shop_table tbody td {
	background: transparent !important;
}

/* Germanized: Thumbnail + Motivname in der Sidebar */
.es-checkout-page .wc-gzd-cart-item-name-wrapper {
	display: grid !important;
	grid-template-columns: 3.75rem minmax(0, 1fr);
	grid-template-rows: auto auto;
	gap: 0.2rem 0.75rem;
	align-items: start;
}

.es-checkout-page .wc-gzd-cart-item-thumbnail {
	grid-column: 1;
	grid-row: 1 / span 2;
	margin: 0;
}

.es-checkout-page .wc-gzd-cart-item-thumbnail img {
	width: 3.75rem;
	height: auto;
	display: block;
	border-radius: 4px;
}

.es-checkout-page .wc-gzd-cart-item-name-wrapper .es-cart-item__name {
	grid-column: 2;
	grid-row: 1;
	min-width: 0;
}

.es-checkout-page .wc-gzd-cart-item-name-wrapper .es-cart-item__format {
	grid-column: 2;
	grid-row: 2;
	display: block;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--es-muted);
	line-height: 1.4;
}

.es-checkout-page .wc-gzd-cart-item-name-wrapper .product-quantity {
	display: none;
}

.es-checkout-page #order_review .shop_table .product-name {
	font-weight: 700;
	line-height: 1.45;
}

.es-checkout-page #order_review .shop_table .product-name .product-quantity {
	font-weight: 500;
	color: var(--es-muted);
}

.es-checkout-page #order_review .shop_table .product-total,
.es-checkout-page #order_review .shop_table tfoot td {
	text-align: right;
	white-space: nowrap;
}

.es-checkout-page #order_review .shop_table tfoot th {
	font-weight: 500;
	text-align: left;
}

.es-checkout-page #order_review .shop_table .cart-subtotal th,
.es-checkout-page #order_review .shop_table .cart-subtotal td {
	padding-top: 1rem;
	border-top: 1px solid var(--es-line);
}

.es-checkout-page #order_review .shop_table .order-total th,
.es-checkout-page #order_review .shop_table .order-total td {
	font-size: 1.15rem;
	font-weight: 700;
	padding-top: 1rem;
}

.es-checkout-page #order_review .shop_table .order-total .amount {
	color: var(--es-accent);
	font-size: 1.35rem;
}

.es-checkout-page #order_review .wc-gzd-additional-info {
	font-size: 0.78rem;
	color: var(--es-muted);
	margin-top: 0.35rem;
	display: block;
}

/* Zahlungsarten */
.es-checkout-page #payment {
	background: transparent;
	border-radius: 0;
}

.es-checkout-page #payment ul.payment_methods {
	border: 1px solid var(--es-line);
	border-radius: 12px;
	padding: 0;
	margin: 0;
	background: var(--es-background);
	list-style: none;
}

.es-checkout-page #payment ul.payment_methods li {
	margin: 0;
	padding: 1rem;
	border-bottom: 1px solid var(--es-line);
}

.es-checkout-page #payment ul.payment_methods li:last-child {
	border-bottom: none;
}

.es-checkout-page #payment ul.payment_methods li label {
	font-family: var(--es-body);
	font-weight: 700;
	cursor: pointer;
	display: block;
}

.es-checkout-page #payment div.payment_box {
	background: transparent;
	color: var(--es-muted);
	font-size: 0.92rem;
	margin: 0.65rem 0 0;
	padding: 0;
}

.es-checkout-page #payment div.payment_box::before {
	display: none;
}

.es-checkout-page #payment div.payment_box p {
	margin: 0;
}

.es-checkout-page #payment .place-order {
	margin: 0;
	padding: 0;
}

.es-checkout-page #payment #place_order,
.es-checkout-page .wc-gzd-order-submit #place_order {
	display: block;
	width: 100%;
	text-align: center;
	font-size: 1rem !important;
	margin-top: 1rem;
}

/* Germanized AGB-Checkbox – Checkbox links, Text rechts (wie zwei Tabellenzellen) */
.es-checkout-page .wc-gzd-checkbox-placeholder-legal .legal {
	margin: 1rem 0 0;
	padding: 0;
}

.es-checkout-page .wc-gzd-checkbox-placeholder-legal .legal.form-row {
	margin-bottom: 0;
}

.es-checkout-page .wc-gzd-checkbox-placeholder-legal label.checkbox {
	display: block !important;
	position: relative;
	padding-left: 1.65rem;
	font-weight: 500;
	text-transform: none;
	letter-spacing: 0;
	font-size: 0.92rem;
	line-height: 1.35;
	cursor: pointer;
	margin: 0;
}

.es-checkout-page .wc-gzd-checkbox-placeholder-legal input[type="checkbox"] {
	position: absolute;
	left: 0;
	top: 0.1em;
	margin: 0 !important;
	width: 1rem;
	height: 1rem;
	accent-color: var(--es-accent);
}

.es-checkout-page .wc-gzd-checkbox-placeholder-legal .woocommerce-gzd-legal-checkbox-text {
	display: inline;
	line-height: 1.35;
}

.es-checkout-page .wc-gzd-checkbox-placeholder-legal abbr.required {
	display: inline;
	text-decoration: none;
}

/* Storefront Clearfix auf Checkout deaktivieren */
.es-checkout-page form.checkout::before,
.es-checkout-page form.checkout::after,
.es-checkout-page #customer_details::before,
.es-checkout-page #customer_details::after,
.es-checkout-page #order_review::before,
.es-checkout-page #order_review::after,
.es-checkout-page .es-checkout-sidebar::before,
.es-checkout-page .es-checkout-sidebar::after {
	display: none !important;
}

@media (max-width: 899px) {
	.es-checkout-page #customer_details,
	.es-checkout-page .es-checkout-sidebar {
		padding: 1.25rem 1rem;
	}

	.es-checkout-page #order_review .shop_table.woocommerce-checkout-review-order-table tbody tr {
		display: grid;
		grid-template-columns: 1fr auto;
		gap: 0.35rem 1rem;
		padding: 0 0 1rem;
		margin: 0 0 1rem;
		border-bottom: 1px solid var(--es-line);
	}

	.es-checkout-page #order_review .shop_table.woocommerce-checkout-review-order-table tbody tr:last-child {
		border-bottom: none;
		margin-bottom: 0;
		padding-bottom: 0;
	}

	.es-checkout-page #order_review .shop_table.woocommerce-checkout-review-order-table tbody td {
		border: none;
		padding: 0;
		display: block;
	}

	.es-checkout-page #order_review .shop_table.woocommerce-checkout-review-order-table tbody td::before {
		display: none;
	}

	.es-checkout-page #order_review .shop_table.woocommerce-checkout-review-order-table tbody td.product-total {
		text-align: right;
		align-self: start;
	}
}
