/*!
Theme Name: cups
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.1
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: cups
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

cups is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/

/* Normalize
--------------------------------------------- */

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
	 ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */

/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */

/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #000;
	font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: "Bodoni Moda", Georgia, serif;
	font-weight: 500;
	line-height: 1.2;
	color: #000;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

/* Elements
--------------------------------------------- */
body {
	background: #fff;
}

hr {
	background-color: #ccc;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #000;
}

a:visited {
	color: #000;
}

a:hover,
a:focus,
a:active {
	color: #000;
	text-decoration: none;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	border-color: #ccc #bbb #aaa;
}

button:active,
button:focus,
input[type="button"]:active,
input[type="button"]:focus,
input[type="reset"]:active,
input[type="reset"]:focus,
input[type="submit"]:active,
input[type="submit"]:focus {
	border-color: #aaa #bbb #bbb;
}

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="range"],
input[type="date"],
input[type="month"],
input[type="week"],
input[type="time"],
input[type="datetime"],
input[type="datetime-local"],
input[type="color"],
textarea {
	color: #666;
	border: 1px solid #ccc;
	border-radius: 3px;
	padding: 3px;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
input[type="search"]:focus,
input[type="number"]:focus,
input[type="tel"]:focus,
input[type="range"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="week"]:focus,
input[type="time"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="color"]:focus,
textarea:focus {
	color: #111;
}

select {
	border: 1px solid #ccc;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/

/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/

/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
	padding: 0 24px;
	max-width: 1400px;
	margin: 0 auto;
}

.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}

.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}

.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}

.main-navigation ul ul li:hover > ul,
.main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}

.main-navigation ul ul a {
	width: 200px;
}

.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}

.main-navigation li {
	position: relative;
}

.main-navigation a {
	display: block;
	text-decoration: none;
}

/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {

	.menu-toggle {
		display: none;
	}

	.main-navigation ul {
		display: flex;
	}
}

.site-main .comment-navigation,
.site-main
.posts-navigation,
.site-main
.post-navigation {
	margin: 0 0 1.5em;
}

.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}

.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}

.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}

.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}

.wp-caption img[class*="wp-image-"] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}

.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

.gallery-columns-2 {
	grid-template-columns: repeat(2, 1fr);
}

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/

/* Accessibility
--------------------------------------------- */

/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}

.screen-reader-text:focus {
	background-color: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {

	/*rtl:ignore*/
	float: left;

	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {

	/*rtl:ignore*/
	float: right;

	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}

/*--------------------------------------------------------------
# Theme: Cups Shop – Tassenbrennerei Style
--------------------------------------------------------------*/

/* Base
--------------------------------------------- */
body {
	font-family: "Jost", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1.6;
	color: #000;
	background: #fff;
}

/* Site Layout
--------------------------------------------- */
#page {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 40px;
}

.site-main {
	padding-top: 40px;
}

.site-main.front-page {
	padding-top: 0;
}

/* Sidebar ausblenden – überall */
#secondary {
	display: none !important;
}

#primary {
	width: 100% !important;
	float: none !important;
}

/* Header – zweizeiliges Layout
--------------------------------------------- */
#masthead {
	border-bottom: 1px solid #e5e5e5;
	overflow: hidden;
}

.header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	max-width: 1400px;
	margin: 0 auto;
}

.site-branding {
	text-align: center;
	flex: 0 0 auto;
}

.site-title {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 1.6rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	margin: 0;
	line-height: 1;
}

.site-title a {
	color: #000;
	text-decoration: none;
	text-transform: uppercase;
}

.custom-logo {
	max-height: 56px;
	width: auto;
	display: block;
}

/* Header Actions (Icons links & rechts) */
.header-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	min-width: 80px;
}

.header-actions-right {
	justify-content: flex-end;
}

.search-toggle,
.header-account,
.cart-contents {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: #000;
	display: flex;
	align-items: center;
	text-decoration: none;
	position: relative;
	transition: opacity 0.2s;
}

.search-toggle:hover,
.header-account:hover,
.cart-contents:hover {
	opacity: 0.6;
}

.cart-count {
	position: absolute;
	top: -4px;
	right: -6px;
	background: #E05D84;
	color: #fff;
	font-family: "Jost", sans-serif;
	font-size: 0.65rem;
	font-weight: 700;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

/* Search Overlay
--------------------------------------------- */
.search-overlay {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 9999;
}

.search-overlay.active {
	display: block;
}

.search-overlay-bar {
	position: relative;
	z-index: 2;
	background: #fff;
	display: flex;
	align-items: center;
	gap: 24px;
	padding: 40px 120px;
	border-bottom: 1px solid #e5e5e5;
}

.search-overlay-form {
	flex: 1;
}

.search-overlay-form input[type="text"] {
	width: 100%;
	border: none;
	outline: none;
	font-family: "Jost", sans-serif;
	font-size: 1.2rem;
	font-weight: 400;
	color: #333;
	padding: 0;
	background: transparent;
}

.search-overlay-form input[type="text"]::placeholder {
	color: #bbb;
}

.search-close {
	background: none;
	border: none;
	padding: 4px;
	cursor: pointer;
	color: #999;
	display: flex;
	align-items: center;
	transition: color 0.2s;
	flex-shrink: 0;
}

.search-close:hover {
	color: #000;
}

.search-overlay-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.25);
	z-index: 1;
	cursor: pointer;
}

/* Live Search Results Dropdown */
.search-results-dropdown {
	position: relative;
	z-index: 2;
	background: #fff;
	max-height: 420px;
	overflow-y: auto;
	padding: 0 120px;
	display: none;
}

.search-results-dropdown.is-visible {
	display: block;
	border-bottom: 1px solid #e5e5e5;
}

.search-result-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 12px 0;
	border-bottom: 1px solid #f0f0f0;
	text-decoration: none;
	color: inherit;
	transition: background 0.15s ease;
}

.search-result-item:last-child {
	border-bottom: none;
}

.search-result-item:hover {
	background: #fafafa;
}

.search-result-img {
	width: 56px;
	height: 56px;
	object-fit: cover;
	border-radius: 6px;
	flex-shrink: 0;
	background: #f5f3f0;
}

.search-result-img--placeholder {
	display: block;
}

.search-result-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.search-result-title {
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	font-weight: 500;
	color: #222;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.search-result-cat {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.search-result-price {
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	font-weight: 600;
	color: #222;
	flex-shrink: 0;
	white-space: nowrap;
}

.search-result-price del {
	color: #bbb;
	font-weight: 400;
	font-size: 0.8rem;
}

.search-result-price ins {
	text-decoration: none;
	color: #c0392b;
}

.search-no-results {
	padding: 24px 0;
	text-align: center;
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	color: #999;
}

@media screen and (max-width: 900px) {
	.search-results-dropdown {
		padding: 0 20px;
	}
	.search-overlay-bar {
		padding: 20px;
	}
}

/* Navigation – zweite Zeile, zentriert
--------------------------------------------- */
.main-navigation {
	border-top: 1px solid #e5e5e5;
}

.main-navigation ul {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
}

.main-navigation a {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #000;
	padding: 12px 18px;
	text-decoration: none;
	display: block;
	transition: color 0.2s;
}

.main-navigation a:hover,
.main-navigation .current-menu-item > a {
	color: #E05D84;
}

.menu-toggle {
	display: none;
	background: none;
	border: none;
	padding: 8px;
	cursor: pointer;
	color: #000;
}

/* Footer
--------------------------------------------- */
.site-footer {
	clear: both;
	border-top: 1px solid #e5e5e5;
	margin-top: 100px;
	font-size: 0.85rem;
	color: #444;
}

.footer-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 48px;
	padding: 60px 0 48px;
}

.footer-nav h4 {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: #000;
	margin: 0 0 20px;
}

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

.footer-nav ul li {
	margin-bottom: 10px;
}

.footer-nav ul li a {
	color: #555;
	text-decoration: none;
	font-size: 0.88rem;
	line-height: 1.4;
	transition: color 0.2s;
}

.footer-nav ul li a:hover {
	color: #000;
}

.footer-nav--kollektionen ul {
	column-count: 2;
	column-gap: 18px;
}
.footer-nav--kollektionen ul li {
	break-inside: avoid;
}
@media (max-width: 640px) {
	.footer-nav--kollektionen ul { column-count: 1; }
}

/* Newsletter */
.footer-newsletter-text {
	font-size: 0.85rem;
	color: #555;
	margin: 0 0 16px;
	line-height: 1.5;
}

.footer-newsletter-row {
	display: flex;
	border-bottom: 1px solid #000;
}

.footer-newsletter-row input[type="email"] {
	flex: 1;
	border: none;
	border-radius: 0;
	padding: 8px 0;
	font-size: 0.85rem;
	outline: none;
	background: transparent;
	width: auto;
}

.footer-newsletter-row button {
	background: none;
	border: none;
	padding: 8px 4px;
	cursor: pointer;
	color: #000;
	display: flex;
	align-items: center;
	transition: opacity 0.2s;
}

.footer-newsletter-row button:hover {
	opacity: 0.5;
}

.footer-payment {
	padding: 28px 0;
	border-top: 1px solid #e5e5e5;
	text-align: center;
}

.footer-payment__title {
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #888;
	margin: 0 0 14px;
}

.footer-payment__badges {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 10px;
}

.footer-payment__badges svg {
	width: 56px;
	height: 36px;
	display: block;
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}

.footer-bottom {
	border-top: 1px solid #e5e5e5;
	padding: 20px 0;
	text-align: center;
	font-size: 0.78rem;
	color: #aaa;
}

.footer-bottom p { margin: 0; }

@media screen and (max-width: 1024px) {
	.footer-inner {
		grid-template-columns: 1fr 1fr;
		gap: 32px;
	}
}

@media screen and (max-width: 600px) {
	.footer-inner {
		grid-template-columns: 1fr;
	}
}

/* Headings im Shop
--------------------------------------------- */
h1 { font-size: 2.4rem; }
h2 { font-size: 1.8rem; }
h3 { font-size: 1.3rem; }

.woocommerce-products-header__title,
.page-title {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 2rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	margin-bottom: 32px;
}

.page-title span {
	font-style: italic;
	font-weight: 400;
}

/* Suchergebnisse
--------------------------------------------- */
.no-results-wrap {
	padding: 40px 0;
}

.no-results-wrap p {
	margin-bottom: 24px;
	font-size: 1rem;
	color: #555;
}

/* Forms
--------------------------------------------- */
input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
textarea,
select {
	border: 1px solid #000;
	border-radius: 0;
	padding: 10px 14px;
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	color: #000;
	width: 100%;
}

input[type="text"]:focus,
input[type="email"]:focus,
input[type="password"]:focus,
textarea:focus {
	outline: 2px solid #E05D84;
	outline-offset: 0;
	color: #000;
}

/* Front Page
--------------------------------------------- */
.front-page {
	padding-top: 0;
}

/* Hero */
.hero {
	background: #080a18;
	color: #fff;
	padding: 140px 40px 120px;
	margin: 0 -40px 100px;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

.hero-inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 60px;
	max-width: 1100px;
	margin: 0 auto;
}

.hero-content {
	flex: 1;
	text-align: left;
	min-width: 0;
}

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

.hero-images {
	display: flex;
	gap: 16px;
	align-items: center;
	flex-shrink: 0;
}

.hero-img-wrap {
	width: 180px;
	height: 180px;
	border-radius: 12px;
	overflow: hidden;
	background: rgba(255,255,255,0.08);
	box-shadow: 0 8px 32px rgba(0,0,0,0.2);
	transition: transform 0.3s;
}

.hero-img-wrap:nth-child(2) {
	transform: translateY(-20px);
}

.hero-img-wrap:hover {
	transform: scale(1.05);
}

.hero-img-wrap:nth-child(2):hover {
	transform: translateY(-20px) scale(1.05);
}

.hero-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.hero::before {
	content: '';
	position: absolute;
	top: -50%;
	left: -50%;
	width: 200%;
	height: 200%;
	background: radial-gradient(ellipse at 30% 50%, rgba(224,93,132,0.08) 0%, transparent 60%),
	            radial-gradient(ellipse at 70% 50%, rgba(249,202,79,0.06) 0%, transparent 60%);
	pointer-events: none;
}

.hero-label {
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(249, 202, 79, 0.9);
	margin: 0 0 28px;
	position: relative;
	padding-left: 48px;
}
.hero-label::before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: 32px;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(249, 202, 79, 0.7));
	transform: translateY(-50%);
	opacity: 0;
	animation: hero-hairline-in 1.2s ease 0.1s forwards;
}
@keyframes hero-hairline-in {
	from { opacity: 0; transform: translateY(-50%) scaleX(0); transform-origin: left; }
	to   { opacity: 1; transform: translateY(-50%) scaleX(1); transform-origin: left; }
}

.hero-title {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 4.4rem;
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: -0.01em;
	margin: 0 0 32px;
	color: #fff;
	text-shadow: 0 2px 40px rgba(0, 0, 0, 0.5);
}

.hero-sub {
	font-size: 1.08rem;
	color: rgba(255, 255, 255, 0.72);
	margin: 0 0 48px;
	max-width: 460px;
	line-height: 1.75;
	position: relative;
	font-weight: 300;
}

.hero-btn {
	display: inline-block;
	background: linear-gradient(135deg, #e05d84 0%, #c94878 100%);
	color: #fff !important;
	font-family: "Jost", sans-serif;
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 18px 48px;
	border-radius: 2px;
	transition: transform 0.4s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.4s ease;
	position: relative;
	box-shadow: 0 12px 32px -8px rgba(224, 93, 132, 0.5), inset 0 1px 0 rgba(255, 255, 255, 0.2);
}

.hero-btn:hover {
	color: #fff !important;
	transform: translateY(-3px);
	box-shadow: 0 20px 48px -8px rgba(224, 93, 132, 0.65), inset 0 1px 0 rgba(255, 255, 255, 0.3);
}

.hero-btn--secondary {
	background: transparent;
	color: #fff !important;
	border: 1.5px solid rgba(255, 255, 255, 0.5);
}

.hero-btn--secondary:hover {
	background: rgba(255, 255, 255, 0.1);
	border-color: #fff;
	box-shadow: none;
	transform: translateY(-2px);
}

/* Section titles */
.section-title {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 1.8rem;
	font-weight: 500;
	letter-spacing: 0.03em;
	text-align: center;
	margin: 0 0 40px;
}

/* Promo Tiles
--------------------------------------------- */
.promo-tiles {
	margin: 0 -40px 100px;
}

.promo-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 12px;
}

.promo-tile {
	display: block;
	text-decoration: none;
	overflow: hidden;
	position: relative;
	aspect-ratio: 1 / 1;
	border-radius: 8px;
	transition: transform 0.4s cubic-bezier(.22,.68,0,1), box-shadow 0.4s cubic-bezier(.22,.68,0,1);
}

.promo-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 16px 40px rgba(0,0,0,0.14);
}

.promo-tile__inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 28px 32px;
}

.promo-tile__label {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin-bottom: 6px;
	display: block;
}

.promo-tile__title {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 2rem;
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: 0.01em;
	margin: 0 0 12px;
}

.promo-tile__cta {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	display: block;
}

.promo-tile__emoji {
	font-size: 2.4rem;
	display: block;
	margin-bottom: 12px;
}

.promo-tile__badge {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1;
	display: block;
	margin-bottom: 4px;
}

/* Tile Varianten – alle gleich breit (1 Spalte) */

/* Buchstaben-Tassen – Foto-Tile */
.promo-tile--namen {
	background: url('/wp-content/uploads/2026/03/tile-buchstaben-namen.webp') center/cover no-repeat;
}
.promo-tile--namen .promo-tile__label { color: #F9CA4F; }
.promo-tile--namen .promo-tile__title { color: #fff; }
.promo-tile--namen .promo-tile__cta   { color: #F9CA4F; }

/* Gelb – Geschenke */
.promo-tile--geschenk {
	background: #F9CA4F;
}
.promo-tile--geschenk .promo-tile__title { color: #000; }
.promo-tile--geschenk .promo-tile__cta   { color: #000; }

/* Dunkelambra – Kaffee */
.promo-tile--kaffee {
	background: #2A1700;
}
.promo-tile--kaffee .promo-tile__title { color: #fff; }
.promo-tile--kaffee .promo-tile__cta   { color: #F0A800; }

/* Tiefes Blau – Espresso */
.promo-tile--espresso {
	background: #1A3548;
}
.promo-tile--espresso .promo-tile__title { color: #fff; }
.promo-tile--espresso .promo-tile__cta   { color: #C8DBE8; }

/* Palettenblau – Tee */
.promo-tile--tee {
	background: #C8DBE8;
}
.promo-tile--tee .promo-tile__label { color: #1A3548; }
.promo-tile--tee .promo-tile__title { color: #1A3548; }
.promo-tile--tee .promo-tile__cta   { color: #1A3548; }

/* Dunkelorange – Travel */
.promo-tile--travel {
	background: #2A1200;
}
.promo-tile--travel .promo-tile__title { color: #fff; }
.promo-tile--travel .promo-tile__cta   { color: #E07800; }

/* Ruhestand – Foto-Tile */
.promo-tile--ruhestand {
	background: url('/wp-content/uploads/2026/03/rente_tile.webp') center/cover no-repeat;
}
.promo-tile--ruhestand .promo-tile__title { color: #fff; }
.promo-tile--ruhestand .promo-tile__cta   { color: #F9CA4F; }

/* Tierisch Gut – Foto-Tile */
.promo-tile--tierisch {
	background: url('/wp-content/uploads/2026/03/tierisch-gut-tile.webp') center/cover no-repeat;
}
.promo-tile--tierisch .promo-tile__title { color: #fff; }
.promo-tile--tierisch .promo-tile__cta   { color: #fff; }

/* Kategorie-Zeilen
--------------------------------------------- */
/* Kategorie-Kacheln */
.home-tiles {
	margin: 0 0 100px;
	text-align: center;
}

.home-tiles__heading {
	font-family: "Bodoni Moda", serif;
	font-size: 2.2rem;
	font-weight: 400;
	color: #1A3548;
	margin-bottom: 40px;
	letter-spacing: 0.02em;
}

.home-tiles__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.home-tile {
	position: relative;
	display: block;
	border-radius: 16px;
	overflow: hidden;
	aspect-ratio: 1;
	text-decoration: none;
	background: #f5f5f5;
	box-shadow: 0 4px 20px rgba(0,0,0,0.08);
	transition: transform 0.35s ease, box-shadow 0.35s ease;
}

.home-tile:hover {
	transform: translateY(-4px);
	box-shadow: 0 12px 36px rgba(0,0,0,0.15);
}

.home-tile__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.home-tile:hover .home-tile__img {
	transform: scale(1.05);
}

.home-tile__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	background: linear-gradient(180deg, transparent 40%, rgba(26,53,72,0.75) 100%);
	padding: 28px 20px;
	transition: background 0.4s ease;
}

.home-tile:hover .home-tile__overlay {
	background: linear-gradient(180deg, rgba(26,53,72,0.05) 20%, rgba(26,53,72,0.85) 100%);
}

/* Produktbilder auf Kacheln */
.home-tile__products {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 30%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 3;
	pointer-events: none;
	padding: 20px;
}

.home-tile__product {
	width: 45%;
	max-width: 200px;
	height: auto;
	filter: drop-shadow(0 6px 20px rgba(0,0,0,0.25));
	transition: transform 0.4s ease;
	object-fit: contain;
}

.home-tile__product--1 {
	transform: rotate(-4deg) translateX(-8%);
}

.home-tile__product--2 {
	transform: rotate(4deg) translateX(8%) translateY(6%);
	margin-left: -15%;
}

.home-tile:hover .home-tile__product--1 {
	transform: rotate(-2deg) translateX(-10%) scale(1.04);
}

.home-tile:hover .home-tile__product--2 {
	transform: rotate(2deg) translateX(10%) translateY(4%) scale(1.04);
}

/* Overlay ueber den Produkten */
.home-tile__overlay {
	z-index: 2;
}

@media screen and (max-width: 520px) {
	.home-tile__product {
		width: 42%;
		max-width: 120px;
	}
}

/* Dunkle Kacheln: staerkeres Overlay unten */
.home-tile--dark .home-tile__overlay {
	background: linear-gradient(180deg, transparent 30%, rgba(0,0,0,0.65) 100%);
}

.home-tile--dark:hover .home-tile__overlay {
	background: linear-gradient(180deg, rgba(0,0,0,0.05) 15%, rgba(0,0,0,0.75) 100%);
}

.home-tile__name {
	font-family: "Bodoni Moda", serif;
	font-size: 1.4rem;
	font-weight: 600;
	color: #fff;
	text-shadow: 0 2px 8px rgba(0,0,0,0.4);
	letter-spacing: 0.01em;
}

.home-tile__sub {
	font-family: "Jost", sans-serif;
	font-size: 0.85rem;
	color: rgba(255,255,255,0.85);
	margin-top: 4px;
}

.home-tile__cta {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 500;
	color: rgba(255,255,255,0.9);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin-top: 12px;
	padding: 6px 18px;
	border: 1px solid rgba(255,255,255,0.35);
	border-radius: 20px;
	transition: background 0.3s ease;
}

.home-tile:hover .home-tile__cta {
	background: rgba(255,255,255,0.15);
}

@media screen and (max-width: 900px) {
	.home-tiles__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}
}

@media screen and (max-width: 520px) {
	.home-tiles__grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.home-tile {
		border-radius: 12px;
	}

	.home-tile__name {
		font-size: 1.05rem;
	}

	.home-tile__sub {
		font-size: 0.75rem;
	}

	.home-tile__cta {
		font-size: 0.7rem;
		padding: 4px 12px;
	}

	.home-tiles__heading {
		font-size: 1.6rem;
		margin-bottom: 24px;
	}
}

.home-cat-row {
	margin: 0 -40px 80px;
	padding: 0;
}

.home-cat-row:last-of-type {
	margin-bottom: 100px;
}

.home-cat-row__header {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	margin-bottom: 20px;
	border-bottom: 1px solid #e5e5e5;
	padding: 0 40px 12px;
}

.home-cat-row ul.products {
	padding: 0 40px;
}

.home-cat-row__title {
	font-family: "Bodoni Moda", Georgia, serif;
	font-size: 1.4rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	margin: 0;
}

.home-cat-row__link {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #000;
	text-decoration: none;
	white-space: nowrap;
	transition: color 0.2s;
}

.home-cat-row__link:hover {
	color: #888;
}

.btn-outline {
	display: inline-block;
	border: 1px solid #333;
	color: #333;
	font-family: "Jost", sans-serif;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 32px;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
}

.btn-outline:hover {
	background: #333;
	color: #fff;
}

/* USP strip */
.home-usps {
	background: #C8DBE8;
	margin: 0 -40px 0;
	padding: 60px 40px;
}

.usp-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 32px;
	max-width: 1200px;
	margin: 0 auto;
}

.usp-item {
	text-align: center;
}

.usp-icon {
	font-size: 2rem;
	display: block;
	margin-bottom: 12px;
}

.usp-item h4 {
	font-family: "Jost", sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin: 0 0 8px;
}

.usp-item p {
	font-size: 0.82rem;
	color: #666;
	margin: 0;
	line-height: 1.5;
}

/* Responsive
--------------------------------------------- */
@media screen and (max-width: 1024px) {
	.home-products-grid.products,
	.usp-grid {
		grid-template-columns: repeat(2, 1fr);
	}
	.promo-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 600px) {
	.promo-grid {
		grid-template-columns: 1fr 1fr;
	}
	.promo-tile__title { font-size: 1.4rem; }
	.promo-tile__inner { padding: 16px 18px; }
}

/* -------------------------------------------------------
   Mega-Menü
------------------------------------------------------- */
#masthead {
	position: relative;
	overflow: visible;
}

.main-navigation {
	position: static;
}

.mega-menu-panel {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw;
	background: #fff;
	border-top: 2px solid #E05D84;
	border-bottom: 1px solid #eee;
	box-shadow: 0 12px 32px rgba(0,0,0,0.08);
	padding: 40px 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.18s ease, visibility 0.18s ease;
	z-index: 9999;
	pointer-events: none;
}

.mega-menu-panel.is-open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.mega-menu-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 40px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}

/* Spalten-Titel */
.mega-col__title {
	display: block;
	font-family: "Jost", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #111;
	text-decoration: none;
	padding-bottom: 12px;
	margin-bottom: 14px;
	border-bottom: 1px solid #e5e5e5;
}

.mega-col__title:hover {
	color: #555;
}

/* Linkliste */
.mega-col__list {
	list-style: none;
	margin: 0 0 14px;
	padding: 0;
}

.mega-col__list li {
	margin-bottom: 8px;
}

.mega-col__list a {
	font-family: "Jost", sans-serif;
	font-size: 0.88rem;
	color: #444;
	text-decoration: none;
	transition: color 0.15s;
}

.mega-col__list a:hover {
	color: #000;
}

/* "Alle ansehen →" */
.mega-col__all {
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	color: #111;
	text-decoration: none;
	letter-spacing: 0.04em;
}

.mega-col__all:hover {
	text-decoration: underline;
}

/* Aktiver Menüpunkt mit Unterstreichen */
/* Standard WP-Dropdown fuer Mega-Menu-Item ausblenden (Desktop) */
@media screen and (min-width: 901px) {
	#primary-menu .has-megamenu > .sub-menu,
	#primary-menu .has-megamenu:hover > .sub-menu,
	#primary-menu .has-megamenu.focus > .sub-menu {
		display: none !important;
		left: -999em !important;
	}
}

/* Auf Mobile: Sub-Menu normal zeigen (Mega-Panel ist dort hidden) */
@media screen and (max-width: 900px) {
	#primary-menu .has-megamenu > .sub-menu {
		position: static;
		box-shadow: none;
		float: none;
		width: 100%;
		padding-left: 16px;
	}
	#primary-menu .has-megamenu > .sub-menu a {
		width: auto;
	}
}

#primary-menu .has-megamenu > a {
	position: relative;
}

#primary-menu .has-megamenu > a::after {
	content: '';
	position: absolute;
	bottom: -4px;
	left: 0;
	right: 0;
	height: 2px;
	background: #E05D84;
	transform: scaleX(0);
	transition: transform 0.2s ease;
	transform-origin: center;
}

#primary-menu .has-megamenu.mega-active > a::after,
#primary-menu .has-megamenu:hover > a::after {
	transform: scaleX(1);
}

/* Mega-Menü auf Mobile ausblenden */
@media screen and (max-width: 900px) {
	.mega-menu-panel {
		display: none;
	}
}

@media screen and (max-width: 768px) {
	#page {
		padding: 0 16px;
	}
	.header-top {
		padding: 14px 16px;
	}
	.search-overlay-bar {
		padding: 20px 20px;
		gap: 12px;
	}
	.search-overlay-form input[type="text"] {
		font-size: 1rem;
	}
	.main-navigation ul {
		flex-direction: column;
		display: none;
	}
	.main-navigation.toggled ul {
		display: flex;
	}
	.menu-toggle {
		display: flex;
	}
	.main-navigation a {
		padding: 10px 0;
		border-bottom: 1px solid #f0f0f0;
	}
	h1 { font-size: 1.8rem; }
	h2 { font-size: 1.4rem; }
	.hero {
		padding: 72px 16px;
		margin: 0 -16px 72px;
	}
	.hero-inner {
		flex-direction: column;
		gap: 32px;
	}
	.hero-content {
		text-align: center;
	}
	.hero-actions {
		justify-content: center;
	}
	.hero-images {
		gap: 12px;
	}
	.hero-img-wrap {
		width: 100px;
		height: 100px;
		border-radius: 8px;
	}
	.hero-img-wrap:nth-child(2) {
		transform: translateY(-10px);
	}
	.promo-tiles {
		margin: 0 -16px 60px;
	}
	.home-cat-row {
		margin: 0 -16px 48px;
		padding: 0;
	}
	.home-cat-row__header {
		padding: 0 16px 12px;
	}
	.home-cat-row ul.products {
		padding: 0 16px;
	}
	.hero-title {
		font-size: 2.4rem;
	}
	.home-usps {
		margin: 0 -16px 0;
		padding: 40px 16px;
	}
	.usp-grid {
		grid-template-columns: 1fr 1fr;
		gap: 24px;
	}
}

/* -------------------------------------------------------
   404-Seite
------------------------------------------------------- */
.cups-404 {
	text-align: center;
	padding: 80px 20px 100px;
	max-width: 620px;
	margin: 0 auto;
}

.cups-404__number {
	font-family: "Bodoni Moda", serif;
	font-size: 9rem;
	font-weight: 700;
	line-height: 1;
	color: #f0ede8;
	margin: 0 0 -20px;
	letter-spacing: -0.03em;
}

.cups-404__title {
	font-family: "Bodoni Moda", serif;
	font-size: 2.4rem;
	font-weight: 500;
	line-height: 1.15;
	color: #111;
	margin: 0 0 20px;
}

.cups-404__text {
	font-family: "Jost", sans-serif;
	font-size: 0.92rem;
	line-height: 1.7;
	color: #888;
	margin: 0 0 36px;
}

.cups-404__actions {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

.cups-404__btn {
	display: inline-block;
	font-family: "Jost", sans-serif;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 14px 32px;
	transition: background 0.2s, color 0.2s;
}

.cups-404__btn--primary {
	background: #E05D84;
	color: #fff !important;
}

.cups-404__btn--primary:hover {
	background: #c94878;
	color: #fff !important;
}

.cups-404__btn--outline {
	background: transparent;
	color: #111;
	border: 1px solid #ddd;
}

.cups-404__btn--outline:hover {
	border-color: #111;
	color: #111;
}

@media screen and (max-width: 480px) {
	.cups-404__number {
		font-size: 6rem;
	}

	.cups-404__title {
		font-size: 1.8rem;
	}
}

/* Announcement Bar
--------------------------------------------- */
.announcement-bar {
	background: #1A3548;
	color: #fff;
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-align: center;
	padding: 9px 20px;
	overflow: hidden;
	position: relative;
	margin: 0 -40px;
}

.announcement-bar__track {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	white-space: nowrap;
}

.announcement-bar__sep {
	color: #F9CA4F;
	font-size: 0.6rem;
}

.announcement-bar__msg {
	flex-shrink: 0;
}

@media screen and (max-width: 768px) {
	.announcement-bar {
		margin: 0 -16px;
	}

	.cups-trust-bar {
		margin: 0 -16px 60px;
	}
}

@media screen and (max-width: 600px) {
	.announcement-bar {
		font-size: 0.65rem;
		padding: 7px 16px;
	}

	.cups-checkout-steps {
		gap: 0;
	}

	.cups-checkout-step {
		font-size: 0.65rem;
	}

	.cups-checkout-step__num {
		width: 24px;
		height: 24px;
		font-size: 0.65rem;
	}

	.cups-checkout-step__line {
		width: 24px;
		margin: 0 6px;
	}
}

/* Trust Badges Section
--------------------------------------------- */
.cups-trust-bar {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border-top: 1px solid #e5e5e5;
	border-bottom: 1px solid #e5e5e5;
	margin: 0 -40px 80px;
}

.cups-trust-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 36px 20px;
	border-right: 1px solid #e5e5e5;
}

.cups-trust-item:last-child {
	border-right: none;
}

.cups-trust-item__icon {
	width: 32px;
	height: 32px;
	margin-bottom: 12px;
	color: #1A3548;
}

.cups-trust-item__title {
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #111;
	margin: 0 0 4px;
}

.cups-trust-item__desc {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	color: #888;
	margin: 0;
	line-height: 1.4;
}

@media screen and (max-width: 768px) {
	.cups-trust-bar {
		grid-template-columns: repeat(2, 1fr);
	}

	.cups-trust-item:nth-child(2) {
		border-right: none;
	}

	.cups-trust-item:nth-child(1),
	.cups-trust-item:nth-child(2) {
		border-bottom: 1px solid #e5e5e5;
	}
}

@media screen and (max-width: 480px) {
	.cups-trust-bar {
		grid-template-columns: 1fr 1fr;
	}

	.cups-trust-item {
		padding: 24px 12px;
	}
}

/* Quantity +/- Buttons
--------------------------------------------- */
.cups-qty-wrap {
	display: flex;
	align-items: center;
	border: 1px solid #ddd;
	height: 48px;
}

.cups-qty-btn {
	width: 40px;
	height: 100%;
	background: #fff;
	border: none;
	font-size: 1.1rem;
	font-weight: 300;
	color: #555;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s, color 0.15s;
	padding: 0;
	line-height: 1;
}

.cups-qty-btn:hover {
	background: #f5f5f5;
	color: #111;
}

.cups-qty-wrap input.qty {
	width: 44px;
	height: 100%;
	text-align: center;
	border: none;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	border-radius: 0;
	font-family: "Jost", sans-serif;
	font-size: 0.95rem;
	color: #111;
	background: #fff;
	-moz-appearance: textfield;
	padding: 0;
}

.cups-qty-wrap input.qty::-webkit-inner-spin-button,
.cups-qty-wrap input.qty::-webkit-outer-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* Neu-Badge
--------------------------------------------- */
ul.products li.product .cups-badge-neu {
	position: absolute;
	top: 10px;
	right: 10px;
	background: #1A3548;
	color: #fff;
	border-radius: 2px;
	font-family: "Jost", sans-serif;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	padding: 3px 8px;
	z-index: 1;
	line-height: 1.5;
}

/* Color Swatches auf Produktseite (Varianten)
--------------------------------------------- */
.cups-color-swatches-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 4px;
}

.cups-color-swatch-btn {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid transparent;
	cursor: pointer;
	padding: 0;
	position: relative;
	transition: border-color 0.15s, transform 0.15s;
	background: none;
}

.cups-color-swatch-btn::after {
	content: "";
	position: absolute;
	inset: 2px;
	border-radius: 50%;
	background: var(--swatch-color);
}

.cups-color-swatch-btn:hover {
	transform: scale(1.15);
}

.cups-color-swatch-btn.is-selected {
	border-color: #111;
}

.cups-color-swatch-btn.is-light.is-selected {
	border-color: #999;
}

.cups-color-swatch-btn.is-light::after {
	box-shadow: inset 0 0 0 1px rgba(0,0,0,0.1);
}

.cups-color-swatch-btn.is-disabled {
	opacity: 0.3;
	cursor: not-allowed;
}

.cups-color-swatch-label {
	font-family: "Jost", sans-serif;
	font-size: 0.8rem;
	color: #555;
	margin-bottom: 8px;
}

/* Variation swatches label styling */
.variations .label label {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #333;
}

/* Checkout Progress Steps
--------------------------------------------- */
.cups-checkout-steps {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
	margin: 0 0 48px;
	padding: 0;
	list-style: none;
}

.cups-checkout-step {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #ccc;
}

.cups-checkout-step.is-active {
	color: #111;
}

.cups-checkout-step.is-done {
	color: #2a9d5c;
}

.cups-checkout-step__num {
	width: 28px;
	height: 28px;
	border-radius: 50%;
	border: 2px solid currentColor;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.72rem;
	font-weight: 700;
	flex-shrink: 0;
}

.cups-checkout-step.is-active .cups-checkout-step__num {
	background: #111;
	color: #fff;
	border-color: #111;
}

.cups-checkout-step.is-done .cups-checkout-step__num {
	background: #2a9d5c;
	color: #fff;
	border-color: #2a9d5c;
}

.cups-checkout-step__line {
	width: 48px;
	height: 2px;
	background: #e5e5e5;
	margin: 0 12px;
}

.cups-checkout-step__line.is-done {
	background: #2a9d5c;
}

/* Checkout form styling improvements */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout h3#order_review_heading {
	font-family: "Bodoni Moda", serif;
	font-size: 1.3rem;
	font-weight: 500;
	color: #111;
	margin-bottom: 24px;
	padding-bottom: 12px;
	border-bottom: 1px solid #eee;
}

.woocommerce-checkout .form-row label {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #333;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .form-row textarea {
	height: 48px;
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 0 14px;
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	color: #111;
	transition: border-color 0.2s;
}

.woocommerce-checkout .form-row textarea {
	height: auto;
	padding: 12px 14px;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus {
	border-color: #111;
	outline: none;
}

.woocommerce-checkout #place_order {
	width: 100%;
	height: 56px;
	background: #E05D84;
	color: #fff;
	border: none;
	border-radius: 0;
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s;
}

.woocommerce-checkout #place_order:hover {
	background: #c94878;
}

/* Checkout legal notice */
.cups-checkout-legal {
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	color: #999;
	line-height: 1.6;
	margin-bottom: 20px;
}

.cups-checkout-legal a {
	color: #666;
	text-decoration: underline;
}

/* Order review table */
.woocommerce-checkout-review-order-table {
	border: 1px solid #eee;
	font-family: "Jost", sans-serif;
}

.woocommerce-checkout-review-order-table thead th {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #aaa;
	background: #fafafa;
	padding: 12px 16px;
}

.woocommerce-checkout-review-order-table td {
	padding: 14px 16px;
	font-size: 0.88rem;
	border-bottom: 1px solid #f0f0f0;
}

.woocommerce-checkout-review-order-table .order-total td {
	font-size: 1.1rem;
	font-weight: 700;
	color: #111;
}

/* Mobile Sticky Add-to-Cart Bar
--------------------------------------------- */
.cups-sticky-atc {
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 9998;
	background: #fff;
	border-top: 1px solid #e5e5e5;
	box-shadow: 0 -4px 16px rgba(0,0,0,0.08);
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 10px 16px;
	transform: translateY(100%);
	transition: transform 0.25s ease;
}

.cups-sticky-atc.is-visible {
	transform: translateY(0);
}

.cups-sticky-atc__info {
	display: flex;
	flex-direction: column;
	min-width: 0;
	flex: 1;
	margin-right: 12px;
}

.cups-sticky-atc__name {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	font-weight: 600;
	color: #111;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.cups-sticky-atc__price {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	color: #888;
}

.cups-sticky-atc__price del { font-size: 0.65rem; color: #bbb; }
.cups-sticky-atc__price ins { text-decoration: none; color: #c0392b; }

.cups-sticky-atc__btn {
	flex-shrink: 0;
	background: #E05D84;
	color: #fff;
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 12px 20px;
	white-space: nowrap;
	transition: background 0.2s;
}

.cups-sticky-atc__btn:hover {
	background: #c94878;
	color: #fff;
}

/* Nur auf kleinen Screens zeigen */
@media screen and (min-width: 769px) {
	.cups-sticky-atc {
		display: none !important;
	}
}

/* Shop Sort Bar
--------------------------------------------- */
.cups-sort-bar {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 1px solid #eee;
}

.cups-sort-bar__label {
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #999;
	flex-shrink: 0;
}

.cups-sort-bar__options {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.cups-sort-btn {
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 500;
	color: #888;
	text-decoration: none;
	padding: 5px 12px;
	border: 1px solid transparent;
	transition: color 0.15s, border-color 0.15s;
}

.cups-sort-btn:hover {
	color: #111;
	border-color: #ddd;
}

.cups-sort-btn.is-active {
	color: #111;
	border-color: #111;
	font-weight: 600;
}

@media screen and (max-width: 600px) {
	.cups-sort-bar {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}

	.cups-sort-btn {
		font-size: 0.7rem;
		padding: 4px 10px;
	}
}

/* Danke-Seite (Order received)
--------------------------------------------- */
/* WC-Default-Notice oben verstecken (wir haben eigenen Hero) */
.woocommerce-order > .woocommerce-notice--success,
.woocommerce-order > .woocommerce-thankyou-order-received,
.woocommerce-order > .woocommerce-order-overview { display: none !important; }

/* Hero-Block */
.cups-thankyou {
	text-align: center;
	padding: 40px 32px 36px;
	margin: 0 0 28px;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.cups-thankyou__icon-wrap {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px; height: 64px;
	border-radius: 50%;
	background: #e8f5ec;
	margin: 0 auto 18px;
}
.cups-thankyou__title {
	font-family: "Bodoni Moda", serif;
	font-size: 1.85rem;
	font-weight: 500;
	color: #111;
	margin: 0 0 10px;
	line-height: 1.2;
}
.cups-thankyou__lead {
	font-family: "Jost", sans-serif;
	font-size: 0.95rem;
	color: #555;
	margin: 0 0 24px;
}
.cups-thankyou__lead strong { color: #222; }

.cups-thankyou__meta {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	margin: 0 0 22px;
	padding: 18px 0;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	font-family: "Jost", sans-serif;
}
.cups-thankyou__meta > div {
	text-align: center;
	padding: 0 12px;
	border-right: 1px solid #f0f0f0;
}
.cups-thankyou__meta > div:last-child { border-right: 0; }
.cups-thankyou__meta dt {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #999;
	margin: 0 0 6px;
	font-weight: 500;
}
.cups-thankyou__meta dd {
	font-size: 0.95rem;
	color: #111;
	margin: 0;
	font-weight: 600;
	word-break: break-word;
}
.cups-thankyou__meta dd .amount,
.cups-thankyou__meta dd bdi { color: #111; }

.cups-thankyou__hint {
	display: inline-flex;
	align-items: flex-start;
	gap: 8px;
	font-family: "Jost", sans-serif;
	font-size: 0.85rem;
	color: #555;
	background: #faf7f4;
	border: 1px solid #efe8e0;
	border-radius: 8px;
	padding: 12px 16px;
	margin: 0;
	text-align: left;
	max-width: 540px;
}
.cups-thankyou__hint svg {
	flex-shrink: 0;
	margin-top: 2px;
	color: #b8895a;
}

@media (max-width: 720px) {
	.cups-thankyou { padding: 28px 18px 24px; }
	.cups-thankyou__title { font-size: 1.45rem; }
	.cups-thankyou__meta { grid-template-columns: repeat(2, 1fr); padding: 12px 0; }
	.cups-thankyou__meta > div { padding: 8px 6px; border-right: 0; border-bottom: 1px solid #f0f0f0; }
	.cups-thankyou__meta > div:nth-child(odd) { border-right: 1px solid #f0f0f0; }
	.cups-thankyou__meta > div:nth-last-child(-n+2) { border-bottom: 0; }
}

/* BACS Bankverbindung als Card */
.woocommerce-bacs-bank-details {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 12px;
	padding: 24px 28px;
	margin: 0 0 28px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.woocommerce-bacs-bank-details h2,
.woocommerce-bacs-bank-details .wc-bacs-bank-details-heading {
	font-family: "Bodoni Moda", serif;
	font-size: 1.25rem;
	font-weight: 500;
	margin: 0 0 16px;
	padding: 0 0 12px;
	border-bottom: 1px solid #f0f0f0;
}
.woocommerce-bacs-bank-details ul,
.woocommerce-bacs-bank-details .wc-bacs-bank-details {
	list-style: none;
	padding: 0;
	margin: 0;
}
.woocommerce-bacs-bank-details ul li,
.woocommerce-bacs-bank-details .wc-bacs-bank-details li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 0;
	border-bottom: 1px solid #f7f7f7;
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
}
.woocommerce-bacs-bank-details ul li:last-child,
.woocommerce-bacs-bank-details .wc-bacs-bank-details li:last-child { border-bottom: 0; }
.woocommerce-bacs-bank-details strong { color: #111; font-weight: 600; }

/* Order Details + Customer Details polieren */
.woocommerce-order .woocommerce-order-details,
.woocommerce-order .woocommerce-customer-details {
	background: #fff;
	border: 1px solid #eee;
	border-radius: 12px;
	padding: 24px 28px;
	margin: 0 0 28px;
	box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.woocommerce-order .woocommerce-order-details h2,
.woocommerce-order .woocommerce-customer-details h2 {
	font-family: "Bodoni Moda", serif;
	font-size: 1.25rem;
	font-weight: 500;
	margin: 0 0 16px;
	padding: 0 0 12px;
	border-bottom: 1px solid #f0f0f0;
}
.woocommerce-order .woocommerce-table--order-details {
	width: 100%;
	border-collapse: collapse;
	font-family: "Jost", sans-serif;
}
.woocommerce-order .woocommerce-table--order-details th,
.woocommerce-order .woocommerce-table--order-details td {
	padding: 12px 8px;
	text-align: left;
	font-size: 0.9rem;
	border-bottom: 1px solid #f0f0f0;
}
.woocommerce-order .woocommerce-table--order-details tfoot td,
.woocommerce-order .woocommerce-table--order-details tfoot th { border-bottom: 0; }
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order .woocommerce-table--order-details tfoot tr:last-child td {
	font-weight: 700;
	font-size: 1rem;
	border-top: 2px solid #111;
	padding-top: 14px;
}
/* Bezahlen-Button prominenter */
.woocommerce-order .woocommerce-button.button.pay,
.woocommerce-order .order-actions-button,
.woocommerce-order .woocommerce-table--order-details .button,
.woocommerce-order .order-again .button {
	background: #E05D84 !important;
	color: #fff !important;
	border: 0 !important;
	padding: 12px 22px !important;
	border-radius: 8px !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	display: inline-block;
}
.woocommerce-order .woocommerce-button.button.pay:hover,
.woocommerce-order .order-actions-button:hover,
.woocommerce-order .woocommerce-table--order-details .button:hover,
.woocommerce-order .order-again .button:hover {
	background: #c94a72 !important;
	color: #fff !important;
}

/* Adressen (Rechnungs/Lieferadresse) */
.woocommerce-customer-details address {
	font-family: "Jost", sans-serif;
	font-size: 0.9rem;
	font-style: normal;
	line-height: 1.7;
	background: #faf7f4;
	border: 1px solid #efe8e0;
	border-radius: 8px;
	padding: 16px 20px;
	color: #333;
}
.woocommerce-customer-details .col2-set,
.woocommerce-customer-details.col2-set {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}
.woocommerce-customer-details .col2-set .col-1,
.woocommerce-customer-details .col2-set .col-2 {
	width: 100%;
	max-width: none;
	float: none;
	padding: 0;
}
.woocommerce-customer-details h3 {
	font-family: "Bodoni Moda", serif;
	font-size: 1.05rem;
	font-weight: 500;
	margin: 0 0 10px;
}
@media (max-width: 720px) {
	.woocommerce-customer-details .col2-set,
	.woocommerce-customer-details.col2-set { grid-template-columns: 1fr; }
}

/* Produkt-Sharing
--------------------------------------------- */
.cups-share {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid #eee;
}

.cups-share__label {
	font-family: "Jost", sans-serif;
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #999;
}

.cups-share__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border: 1px solid #e5e5e5;
	border-radius: 50%;
	color: #888;
	background: none;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.15s, border-color 0.15s, background 0.15s;
	padding: 0;
}

.cups-share__link:hover {
	color: #111;
	border-color: #111;
}

.cups-share__link.is-copied {
	background: #2a9d5c;
	border-color: #2a9d5c;
	color: #fff;
}

/* Cookie-Consent (Complianz) Theme-Anpassung
--------------------------------------------- */
.cmplz-cookiebanner .cmplz-header {
	font-family: "Bodoni Moda", serif !important;
}

.cmplz-cookiebanner .cmplz-body {
	font-family: "Jost", sans-serif !important;
	font-size: 0.85rem !important;
}

.cmplz-cookiebanner .cmplz-btn {
	font-family: "Jost", sans-serif !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em !important;
	border-radius: 0 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept {
	background: #E05D84 !important;
	border-color: #E05D84 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover {
	background: #c94878 !important;
	border-color: #c94878 !important;
}

.cmplz-cookiebanner .cmplz-btn.cmplz-deny {
	background: transparent !important;
	border: 1px solid #ddd !important;
	color: #555 !important;
}

/* Social Links im Footer
--------------------------------------------- */
.footer-social {
	display: flex;
	gap: 12px;
	margin-top: 20px;
}

.footer-social__link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border: 1px solid #e5e5e5;
	border-radius: 50%;
	color: #888;
	text-decoration: none;
	transition: color 0.15s, border-color 0.15s;
}

.footer-social__link:hover {
	color: #111;
	border-color: #111;
}

/* Wishlist Header Icon
--------------------------------------------- */
.header-wishlist {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: inherit;
	text-decoration: none;
	margin-left: 6px;
}

.header-wishlist:hover svg {
	fill: #E05D84;
	stroke: #E05D84;
}

.header-wishlist__count {
	position: absolute;
	top: -6px;
	right: -8px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	font-size: 10px;
	font-weight: 600;
	line-height: 16px;
	text-align: center;
	color: #fff;
	background: #E05D84;
	border-radius: 8px;
}

/* Wishlist Button auf Produktkarten */
.yith-wcwl-add-to-wishlist {
	margin-top: 6px;
	text-align: center;
	padding: 0 12px 8px;
}

.yith-wcwl-add-to-wishlist a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	font-size: 0.75rem;
	color: #999;
	text-decoration: none;
	transition: color 0.15s;
	font-family: "Jost", sans-serif;
}

.yith-wcwl-add-to-wishlist a:hover {
	color: #E05D84;
}

.yith-wcwl-add-to-wishlist .feedback {
	font-size: 13px;
	color: #E05D84;
}

/* Wishlist-Seite Tabelle */
.wishlist_table .product-remove a {
	color: #999;
}

.wishlist_table .product-remove a:hover {
	color: #E05D84;
}

.wishlist_table .product-add-to-cart a.button {
	background: #E05D84;
	color: #fff;
	border: none;
	border-radius: 4px;
	padding: 8px 16px;
	font-size: 13px;
}

.wishlist_table .product-add-to-cart a.button:hover {
	background: #c94a70;
}

/* Scroll Reveal Animations
--------------------------------------------- */
.cups-reveal {
	opacity: 0;
	transform: translateY(24px);
	transition: opacity 0.6s cubic-bezier(.22,.68,0,1), transform 0.6s cubic-bezier(.22,.68,0,1);
}

.cups-reveal.cups-revealed {
	opacity: 1;
	transform: translateY(0);
}

/* Staggered delay for trust items */
.cups-trust-item.cups-reveal:nth-child(2) { transition-delay: 0.08s; }
.cups-trust-item.cups-reveal:nth-child(3) { transition-delay: 0.16s; }
.cups-trust-item.cups-reveal:nth-child(4) { transition-delay: 0.24s; }

/* Staggered delay for promo tiles */
.promo-tile.cups-reveal:nth-child(2) { transition-delay: 0.1s; }
.promo-tile.cups-reveal:nth-child(3) { transition-delay: 0.2s; }
.promo-tile.cups-reveal:nth-child(4) { transition-delay: 0.3s; }

/* Staggered delay for footer columns */
.footer-nav.cups-reveal:nth-child(2) { transition-delay: 0.08s; }
.footer-nav.cups-reveal:nth-child(3) { transition-delay: 0.16s; }
.footer-nav.cups-reveal:nth-child(4) { transition-delay: 0.24s; }

/* Back to Top Button
--------------------------------------------- */
.cups-back-to-top {
	position: fixed;
	bottom: 28px;
	right: 28px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #e0e0e0;
	color: #333;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	visibility: hidden;
	transform: translateY(12px);
	transition: opacity 0.3s, visibility 0.3s, transform 0.3s, background 0.2s, border-color 0.2s;
	z-index: 999;
	box-shadow: 0 2px 12px rgba(0,0,0,0.08);
}

.cups-back-to-top.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.cups-back-to-top:hover {
	background: #1A3548;
	border-color: #1A3548;
	color: #fff;
}

/* Bestseller Badge
--------------------------------------------- */
.cups-badge-bestseller {
	position: absolute;
	top: 12px;
	right: 12px;
	background: #1A3548;
	color: #fff;
	border-radius: 4px;
	font-family: "Jost", sans-serif;
	font-size: 0.68rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 4px 10px;
	line-height: 1.5;
	z-index: 2;
}

/* Lieferzeit-Countdown
--------------------------------------------- */
.cups-delivery-hint {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: "Jost", sans-serif;
	font-size: 0.82rem;
	color: #555;
	margin-bottom: 16px;
	padding: 10px 14px;
	background: #f8f6f3;
	border-radius: 6px;
}

.cups-delivery-hint svg {
	flex-shrink: 0;
}

.cups-delivery-hint--urgent {
	background: #fef8ec;
	color: #8b6914;
}

.cups-delivery-hint--urgent svg {
	stroke: #e8a020;
}

/* Mengenrabatt-Hinweis auf Produktseite
--------------------------------------------- */
.cups-volume-hint {
	display: flex;
	align-items: center;
	gap: 12px;
	background: transparent;
	border-left: 2px solid #1A3548;
	padding: 10px 0 10px 14px;
	margin-bottom: 20px;
}

.cups-volume-hint__icon {
	display: none;
}

.cups-volume-hint__text {
	font-family: "Jost", sans-serif;
	font-size: 0.78rem;
	color: #666;
	line-height: 1.5;
	letter-spacing: 0.01em;
}

.cups-volume-hint__text strong {
	color: #1A3548;
	font-weight: 600;
}

/* Warenkorb-Rabatthinweis */
.cups-cart-discount-notice {
	font-family: "Jost", sans-serif;
	font-size: 0.88rem;
	padding: 14px 20px;
	border-radius: 8px;
	margin-bottom: 20px;
	line-height: 1.5;
}

.cups-cart-discount-notice--upsell {
	background: #fef8ec;
	border: 1px solid #f0dca0;
	color: #5a4a1a;
}

.cups-cart-discount-notice--active {
	background: #edf7ee;
	border: 1px solid #b8ddb9;
	color: #2a6b2e;
}

.cups-cart-discount-notice strong {
	font-weight: 700;
}

/* ==========================================================================
   Mengenrabatt: Personello-Style Touchpoints
   ========================================================================== */

/* USP-Bullet "mehr Infos"-Link */
.product-usps .usp-volume-link {
	color: #E05D84;
	text-decoration: underline;
	font-weight: 600;
}
.product-usps .usp-volume-link:hover { color: #c94a72; }

/* Badge direkt nach Preis */
.cups-discount-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #FCE7EE;
	color: #c94a72;
	border-radius: 999px;
	padding: 4px 12px 4px 8px;
	font-size: 0.78rem;
	font-weight: 600;
	margin: 6px 0 10px;
	font-family: "Jost", sans-serif;
}
.cups-discount-badge span {
	background: #E05D84;
	color: #fff;
	width: 18px; height: 18px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 50%;
	font-size: 0.72rem;
	font-weight: 700;
}

/* Detail-Box auf Produktseite (unten) */
.cups-volume-detail {
	margin: 36px 0;
	padding: 0 20px;
}
.cups-volume-detail__inner {
	max-width: 720px;
	margin: 0 auto;
	background: #fff;
	border: 1px solid #f0e1e8;
	border-radius: 14px;
	padding: 28px 24px;
	font-family: "Jost", sans-serif;
}
.cups-volume-detail__head { text-align: center; margin-bottom: 20px; }
.cups-volume-detail__title {
	margin: 0 0 4px;
	font-size: 1.35rem;
	color: #222;
	font-weight: 700;
}
.cups-volume-detail__sub {
	margin: 0;
	color: #888;
	font-size: 0.92rem;
}
.cups-volume-detail__staffel {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}
.cups-volume-detail__row {
	background: #fafafa;
	border: 1px solid #eee;
	border-radius: 10px;
	padding: 18px 14px;
	text-align: center;
	transition: transform 0.15s;
}
.cups-volume-detail__row--top {
	background: linear-gradient(180deg, #FFF5F8 0%, #FCE7EE 100%);
	border-color: #f3c9d6;
}
.cups-volume-detail__qty {
	font-size: 1.7rem;
	font-weight: 700;
	color: #222;
	margin-bottom: 4px;
}
.cups-volume-detail__pct {
	font-size: 1.1rem;
	font-weight: 600;
	color: #E05D84;
	margin-bottom: 6px;
}
.cups-volume-detail__hint {
	font-size: 0.82rem;
	color: #777;
}
.cups-volume-detail__foot {
	text-align: center;
	margin: 0;
	font-size: 0.85rem;
	color: #888;
	font-style: italic;
}
@media (max-width: 600px) {
	.cups-volume-detail__staffel { grid-template-columns: 1fr; }
	.cups-volume-detail__title { font-size: 1.15rem; }
}

/* Listing-Promo nach Shop-Loop */
.cups-volume-promo {
	margin: 36px auto 12px;
	max-width: 720px;
	background: linear-gradient(135deg, #FFF5F8 0%, #FCE7EE 100%);
	border: 1px solid #f3c9d6;
	border-radius: 14px;
	padding: 24px 20px;
	font-family: "Jost", sans-serif;
}
.cups-volume-promo__head { text-align: center; margin-bottom: 18px; }
.cups-volume-promo__title {
	margin: 0 0 4px;
	font-size: 1.2rem;
	color: #222;
	font-weight: 700;
}
.cups-volume-promo__sub {
	margin: 0;
	color: #777;
	font-size: 0.88rem;
}
.cups-volume-promo__staffel {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}
.cups-volume-promo__row {
	background: #fff;
	border: 1px solid #f0e1e8;
	border-radius: 10px;
	padding: 14px 22px;
	display: flex;
	align-items: baseline;
	gap: 12px;
	min-width: 180px;
}
.cups-volume-promo__row--top {
	border-color: #E05D84;
	box-shadow: 0 2px 12px rgba(224,93,132,0.15);
}
.cups-volume-promo__qty {
	font-size: 0.95rem;
	color: #444;
	font-weight: 600;
}
.cups-volume-promo__pct {
	font-size: 1.5rem;
	font-weight: 800;
	color: #E05D84;
	margin-left: auto;
}

/* Sticky Header
--------------------------------------------- */
#masthead {
	transition: padding 0.3s ease, box-shadow 0.3s ease;
}

#masthead.is-scrolled {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
	box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}

#masthead.is-scrolled .header-top {
	padding-top: 8px;
	padding-bottom: 8px;
}

#masthead.is-scrolled .site-title {
	font-size: 1.2rem;
}

/* Leerer Warenkorb
--------------------------------------------- */
.cups-empty-cart {
	text-align: center;
	padding: 80px 20px 100px;
	max-width: 480px;
	margin: 0 auto;
}

.cups-empty-cart svg {
	margin-bottom: 20px;
}

.cups-empty-cart h2 {
	font-family: "Bodoni Moda", serif;
	font-size: 1.8rem;
	font-weight: 500;
	margin: 0 0 12px;
	color: #111;
}

.cups-empty-cart p {
	font-size: 0.92rem;
	color: #888;
	margin: 0 0 28px;
	line-height: 1.6;
}

.cups-empty-cart__btn {
	display: inline-block;
	background: #E05D84;
	color: #fff !important;
	font-family: "Jost", sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 14px 36px;
	border-radius: 4px;
	transition: background 0.2s;
}

.cups-empty-cart__btn:hover {
	background: #c94878;
	color: #fff !important;
}

/* Add-to-Cart Toast Notification
--------------------------------------------- */
.cups-atc-toast {
	position: fixed;
	bottom: 28px;
	left: 50%;
	transform: translateX(-50%) translateY(20px);
	display: flex;
	align-items: center;
	gap: 10px;
	background: #fff;
	border: 1px solid #e5e5e5;
	border-radius: 8px;
	padding: 14px 20px;
	font-family: "Jost", sans-serif;
	font-size: 0.85rem;
	color: #333;
	box-shadow: 0 8px 32px rgba(0,0,0,0.12);
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s, visibility 0.3s, transform 0.3s;
	white-space: nowrap;
}

.cups-atc-toast.is-visible {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(0);
}

.cups-atc-toast a {
	color: #E05D84;
	font-weight: 600;
	text-decoration: none;
	margin-left: 4px;
}

.cups-atc-toast a:hover {
	text-decoration: underline;
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
	.cups-reveal {
		opacity: 1;
		transform: none;
		transition: none;
	}
	.cups-back-to-top {
		transition: none;
	}
	ul.products li.product,
	ul.products li.product img,
	.promo-tile {
		transition: none;
	}
	.cups-atc-toast {
		transition: none;
	}
}

/* Mobile Toast */
@media screen and (max-width: 480px) {
	.cups-atc-toast {
		left: 16px;
		right: 16px;
		transform: translateX(0) translateY(20px);
		font-size: 0.8rem;
		padding: 12px 16px;
	}
	.cups-atc-toast.is-visible {
		transform: translateX(0) translateY(0);
	}
}

/* ==========================================================================
   Add-to-Cart Modal Popup
   ========================================================================== */
.cups-atc-modal {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: none;
	align-items: center;
	justify-content: center;
	font-family: "Jost", sans-serif;
}
.cups-atc-modal.is-open { display: flex; }
.cups-atc-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(20, 20, 30, 0.55);
	backdrop-filter: blur(2px);
	animation: cupsAtcFade 0.18s ease-out;
}
.cups-atc-modal__panel {
	position: relative;
	background: #fff;
	border-radius: 14px;
	width: min(440px, calc(100% - 32px));
	padding: 32px 28px 28px;
	box-shadow: 0 20px 60px rgba(0,0,0,0.25);
	text-align: center;
	animation: cupsAtcPop 0.22s cubic-bezier(.16,1,.3,1);
}
.cups-atc-modal__close {
	position: absolute; top: 10px; right: 10px;
	background: transparent; border: 0;
	width: 36px; height: 36px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%; color: #555; cursor: pointer;
	transition: background 0.15s;
}
.cups-atc-modal__close:hover { background: #f3f3f3; }
.cups-atc-modal__icon { display: flex; justify-content: center; margin-bottom: 10px; }
.cups-atc-modal__icon svg {
	background: #e9f7ee; border-radius: 50%; padding: 10px; box-sizing: content-box;
}
.cups-atc-modal__title {
	margin: 0 0 16px; font-size: 1.2rem; font-weight: 600; color: #222;
}
.cups-atc-modal__product { margin-bottom: 20px; }
.cups-atc-modal__row {
	display: flex; gap: 14px; align-items: center; text-align: left;
	background: #fafafa; border-radius: 10px; padding: 12px;
}
.cups-atc-modal__row img {
	width: 64px; height: 64px; object-fit: cover; border-radius: 8px;
	background: #fff; flex-shrink: 0;
}
.cups-atc-modal__meta { flex: 1; min-width: 0; }
.cups-atc-modal__name {
	font-size: 0.95rem; font-weight: 600; color: #222; margin-bottom: 4px;
	overflow: hidden; text-overflow: ellipsis;
}
.cups-atc-modal__sub { font-size: 0.8rem; color: #666; line-height: 1.4; }
.cups-atc-modal__actions { display: flex; flex-direction: column; gap: 10px; }
.cups-atc-modal__btn {
	display: inline-flex; align-items: center; justify-content: center;
	padding: 14px 22px; border-radius: 8px;
	font-family: inherit; font-size: 0.95rem; font-weight: 600;
	border: 0; cursor: pointer; text-decoration: none;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.cups-atc-modal a.cups-atc-modal__btn--primary,
.cups-atc-modal a.cups-atc-modal__btn--primary:link,
.cups-atc-modal a.cups-atc-modal__btn--primary:visited { background: #E05D84 !important; color: #fff !important; }
.cups-atc-modal a.cups-atc-modal__btn--primary:hover,
.cups-atc-modal a.cups-atc-modal__btn--primary:focus { background: #c94a72 !important; color: #fff !important; }
.cups-atc-modal .cups-atc-modal__btn--ghost { background: #fff !important; color: #444 !important; border: 1px solid #ddd !important; }
.cups-atc-modal .cups-atc-modal__btn--ghost:hover,
.cups-atc-modal .cups-atc-modal__btn--ghost:focus { background: #f7f7f7 !important; color: #222 !important; }
@keyframes cupsAtcFade { from { opacity: 0; } to { opacity: 1; } }
@keyframes cupsAtcPop {
	from { opacity: 0; transform: translateY(12px) scale(0.97); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}
@media (prefers-reduced-motion: reduce) {
	.cups-atc-modal__backdrop,
	.cups-atc-modal__panel { animation: none; }
}
@media screen and (max-width: 480px) {
	.cups-atc-modal__panel { padding: 26px 18px 20px; }
	.cups-atc-modal__title { font-size: 1.1rem; }
}

/* ==========================================================================
   Über uns Seite
   ========================================================================== */

/* Über uns Seite — entry-header ausblenden wenn about-page vorhanden */
article:has(.about-page) > .entry-header {
	display: none;
}

.entry-content:has(.about-page) {
	margin: 0;
}

.about-page {
	max-width: 720px;
	margin: 0 auto;
	padding: 20px 20px 60px;
}

.about-page section {
	margin-bottom: 48px;
}

.about-hero h1 {
	font-family: 'Bodoni Moda', serif;
	font-size: clamp(1.8rem, 4vw, 2.6rem);
	font-weight: 700;
	line-height: 1.3;
	color: var(--navy, #1B2A4A);
	text-align: center;
	margin-bottom: 48px;
}

.about-page h2 {
	font-family: 'Bodoni Moda', serif;
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--navy, #1B2A4A);
	margin-bottom: 16px;
}

.about-page p {
	font-size: 1.05rem;
	line-height: 1.75;
	color: #444;
	margin-bottom: 12px;
}

.about-values {
	font-size: 1.2rem !important;
	letter-spacing: 0.03em;
	color: var(--navy, #1B2A4A) !important;
	text-align: center;
	padding: 20px 0;
}

.about-values strong {
	color: #E05D84;
	font-size: 1.4rem;
}

.about-simon {
	background: #f9f7f4;
	padding: 32px;
	border-radius: 12px;
	display: flex;
	gap: 32px;
	align-items: center;
}

.about-simon__photo {
	flex: 0 0 180px;
}

.about-simon__photo picture {
	display: block;
}

.about-simon__photo img {
	width: 180px !important;
	height: 180px !important;
	max-width: 180px !important;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid #fff;
	box-shadow: 0 4px 20px rgba(0,0,0,0.1);
}

.about-cta {
	text-align: center;
	padding-top: 16px;
	border-top: 1px solid #eee;
}

.about-cta p:first-child {
	font-size: 1.15rem;
	margin-bottom: 20px;
}

.about-btn {
	display: inline-block;
	padding: 14px 32px;
	border-radius: 6px;
	font-weight: 600;
	font-size: 0.95rem;
	text-decoration: none;
	transition: background 0.2s, color 0.2s;
	margin: 6px 8px;
}

.about-btn:not(.about-btn--outline) {
	background: var(--navy, #1B2A4A);
	color: #fff;
}

.about-btn:not(.about-btn--outline):hover {
	background: #E05D84;
}

.about-btn--outline {
	background: transparent;
	color: var(--navy, #1B2A4A);
	border: 2px solid var(--navy, #1B2A4A);
}

.about-btn--outline:hover {
	background: var(--navy, #1B2A4A);
	color: #fff;
}

@media (max-width: 600px) {
	.about-page {
		padding: 16px 16px 40px;
	}
	.about-simon {
		flex-direction: column;
		text-align: center;
		padding: 24px 20px;
	}
	.about-simon__photo {
		flex: 0 0 auto;
	}
	.about-simon__photo img {
		width: 140px !important;
		height: 140px !important;
		max-width: 140px !important;
	}
	.about-btn {
		display: block;
		text-align: center;
		margin: 8px 0;
	}
}

/* Designer CTA auf Startseite
--------------------------------------------- */
.home-designer-cta {
	padding: 0 20px;
	margin: 64px 0 0;
}

.home-designer-cta__inner {
	max-width: 1200px;
	margin: 0 auto;
	background: linear-gradient(135deg, #1A3548 0%, #234a64 100%);
	border-radius: 16px;
	padding: 56px 48px;
	display: flex;
	align-items: center;
	gap: 48px;
	overflow: hidden;
}

.home-designer-cta__content {
	flex: 1;
}

.home-designer-cta__eyebrow {
	font-family: "Jost", sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #E05D84;
	margin: 0 0 12px;
}

.home-designer-cta__title {
	font-family: "Bodoni Moda", serif;
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
	margin: 0 0 16px;
	line-height: 1.3;
}

.home-designer-cta__text {
	font-family: "Jost", sans-serif;
	font-size: 0.92rem;
	color: rgba(255,255,255,0.75);
	line-height: 1.7;
	margin: 0 0 20px;
	max-width: 520px;
}

.home-designer-cta__perks {
	list-style: none;
	padding: 0;
	margin: 0 0 28px;
	display: flex;
	flex-wrap: wrap;
	gap: 8px 24px;
}

.home-designer-cta__perks li {
	font-family: "Jost", sans-serif;
	font-size: 0.82rem;
	color: rgba(255,255,255,0.9);
	padding-left: 20px;
	position: relative;
}

.home-designer-cta__perks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 5px;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: #E05D84;
}

.home-designer-cta a.home-designer-cta__btn,
a.home-designer-cta__btn,
a.home-designer-cta__btn:visited,
a.home-designer-cta__btn:hover,
a.home-designer-cta__btn:active {
	display: inline-block;
	padding: 14px 32px;
	background: #E05D84;
	color: #fff;
	font-family: "Jost", sans-serif;
	font-size: 0.85rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 6px;
	transition: background 0.2s;
}

a.home-designer-cta__btn:hover {
	background: #c94878;
	color: #fff;
}

.home-designer-cta__visual {
	flex-shrink: 0;
	opacity: 0.6;
}

@media screen and (max-width: 768px) {
	.home-designer-cta__inner {
		flex-direction: column;
		padding: 40px 28px;
		text-align: center;
		gap: 24px;
	}
	.home-designer-cta__text {
		max-width: 100%;
	}
	.home-designer-cta__perks {
		justify-content: center;
	}
	.home-designer-cta__visual {
		display: none;
	}
}

/* ===== Gradient-Tiles mit Deko-Blobs ===== */
.home-tile--gradient {
	position: relative;
	isolation: isolate;
}

.home-tile__deco {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 0;
}

.home-tile__blob {
	position: absolute;
	display: block;
	border-radius: 50%;
	filter: blur(40px);
	opacity: 0.55;
	transition: transform 0.8s ease, opacity 0.8s ease;
}

.home-tile__blob--1 {
	width: 70%;
	height: 70%;
	top: -15%;
	right: -15%;
	background: rgba(255, 255, 255, 0.45);
}

.home-tile__blob--2 {
	width: 55%;
	height: 55%;
	bottom: -10%;
	left: -10%;
	background: rgba(255, 255, 255, 0.25);
}

.home-tile--dark .home-tile__blob--1 {
	background: rgba(255, 255, 255, 0.22);
}

.home-tile--dark .home-tile__blob--2 {
	background: rgba(0, 0, 0, 0.25);
}

.home-tile--gradient:hover .home-tile__blob--1 {
	transform: translate(10%, -8%) scale(1.15);
	opacity: 0.7;
}

.home-tile--gradient:hover .home-tile__blob--2 {
	transform: translate(-8%, 10%) scale(1.2);
	opacity: 0.6;
}

.home-tile--gradient .home-tile__products,
.home-tile--gradient .home-tile__overlay {
	z-index: 2;
}

.home-tile--gradient .home-tile__overlay {
	background: linear-gradient(180deg, transparent 50%, rgba(0,0,0,0.35) 100%);
}

.home-tile--gradient.home-tile--dark .home-tile__overlay {
	background: linear-gradient(180deg, transparent 45%, rgba(0,0,0,0.55) 100%);
}

/* ===== Hero: softer Farbverlauf-Backdrop hinter den Bildern ===== */
.hero {
	position: relative;
	overflow: hidden;
}

.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 60% 50% at 85% 30%, rgba(224, 93, 132, 0.18) 0%, transparent 60%),
		radial-gradient(ellipse 50% 40% at 15% 80%, rgba(74, 163, 199, 0.18) 0%, transparent 65%),
		radial-gradient(ellipse 70% 60% at 50% 50%, rgba(255, 223, 180, 0.12) 0%, transparent 70%);
	pointer-events: none;
	z-index: 0;
}

.hero-inner {
	position: relative;
	z-index: 1;
}

.hero-images {
	position: relative;
}

.hero-images::before {
	content: "";
	position: absolute;
	width: 110%;
	height: 110%;
	top: -5%;
	left: -5%;
	background: radial-gradient(circle at 50% 50%, rgba(224, 93, 132, 0.22) 0%, rgba(224, 93, 132, 0.08) 40%, transparent 70%);
	filter: blur(30px);
	z-index: -1;
	animation: hero-pulse 8s ease-in-out infinite;
}

@keyframes hero-pulse {
	0%, 100% { transform: scale(1); opacity: 0.8; }
	50% { transform: scale(1.08); opacity: 1; }
}

.hero-img-wrap {
	position: relative;
	border-radius: 50%;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.6);
	backdrop-filter: blur(6px);
	box-shadow: 0 20px 60px -20px rgba(26, 53, 72, 0.35), inset 0 0 0 1px rgba(255, 255, 255, 0.5);
	transition: transform 0.5s ease, box-shadow 0.5s ease;
}

.hero-img-wrap--transparent {
	background: transparent;
	backdrop-filter: none;
	box-shadow: none;
	border-radius: 0;
	overflow: visible;
}

.hero-img-wrap--transparent img {
	filter: drop-shadow(0 20px 40px rgba(26, 53, 72, 0.25)) drop-shadow(0 8px 16px rgba(0, 0, 0, 0.15));
	transition: transform 0.5s ease, filter 0.5s ease;
}

.hero-img-wrap--transparent:hover img {
	transform: translateY(-8px) scale(1.05);
	filter: drop-shadow(0 28px 50px rgba(26, 53, 72, 0.35)) drop-shadow(0 12px 20px rgba(0, 0, 0, 0.2));
}

.hero-img-wrap:not(.hero-img-wrap--transparent):hover {
	transform: translateY(-6px) scale(1.03);
	box-shadow: 0 30px 80px -20px rgba(26, 53, 72, 0.45), inset 0 0 0 1px rgba(255, 255, 255, 0.7);
}

/* ===== Farb-Swatches ===== */
.cups-swatches {
	display: flex;
	gap: 6px;
	flex-wrap: wrap;
	align-items: center;
	margin: 8px 0 4px;
}

.cups-swatch {
	display: inline-block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 1px solid rgba(0,0,0,0.12);
	box-shadow: 0 1px 2px rgba(0,0,0,0.08);
	cursor: pointer;
	padding: 0;
	transition: transform 0.15s ease, box-shadow 0.15s ease, border-color 0.15s ease;
	text-decoration: none;
	appearance: none;
	-webkit-appearance: none;
}

.cups-swatch--light {
	border-color: rgba(0,0,0,0.22);
}

.cups-swatch:hover,
.cups-swatch:focus-visible {
	transform: scale(1.15);
	box-shadow: 0 2px 6px rgba(0,0,0,0.18);
	outline: none;
}

.cups-swatch.is-active {
	box-shadow: 0 0 0 2px #fff, 0 0 0 3px #1A3548;
}

.cups-swatches--single {
	gap: 10px;
	margin: 12px 0 20px;
}

.cups-swatches--single .cups-swatch {
	width: 32px;
	height: 32px;
	border-width: 2px;
}

.cups-swatches--tile {
	position: absolute;
	bottom: 70px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 3;
	gap: 5px;
}

.cups-swatches--tile .cups-swatch {
	width: 12px;
	height: 12px;
	border-color: rgba(255,255,255,0.6);
	pointer-events: none;
}

/* Personalisierung */
.cups-perso {
	margin: 24px 0;
	padding: 20px;
	background: #fbf9f7;
	border: 1px solid #e8e2db;
	border-radius: 10px;
}
.cups-perso__title {
	margin: 0 0 4px;
	font-size: 18px;
	font-weight: 600;
}
.cups-perso__intro {
	margin: 0 0 16px;
	color: #6b6560;
	font-size: 14px;
}
.cups-perso__field,
.cups-perso__graphic {
	padding: 12px 0;
	border-top: 1px solid #ece6df;
}
.cups-perso__field:first-child {
	border-top: 0;
	padding-top: 0;
}
.cups-perso__toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	cursor: pointer;
	font-size: 15px;
}
.cups-perso__toggle input {
	width: 18px;
	height: 18px;
	cursor: pointer;
}
.cups-perso__body {
	margin-top: 12px;
	padding-left: 28px;
}
.cups-perso__original {
	font-size: 13px;
	color: #8a847e;
	margin-bottom: 6px;
}
.cups-perso__input-row {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.cups-perso__text,
.cups-perso__textarea {
	flex: 1;
	padding: 10px 12px;
	border: 1px solid #d6cfc7;
	border-radius: 6px;
	font-size: 15px;
	background: #fff;
	width: 100%;
	box-sizing: border-box;
}
.cups-perso__textarea {
	resize: vertical;
	font-family: inherit;
}
.cups-perso__counter {
	font-size: 12px;
	color: #8a847e;
	white-space: nowrap;
}
.cups-perso__font-label {
	display: block;
	font-size: 13px;
	color: #6b6560;
	margin-bottom: 4px;
}
.cups-perso__font {
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #d6cfc7;
	border-radius: 6px;
	background: #fff;
	font-size: 14px;
	margin-bottom: 12px;
}
.cups-perso__font option {
	padding: 6px;
	font-size: 15px;
}
.cups-perso__preview {
	margin-top: 8px;
	padding: 14px 16px;
	background: #fff;
	border: 1px dashed #d6cfc7;
	border-radius: 6px;
	min-height: 50px;
	display: flex;
	align-items: center;
	gap: 12px;
}
.cups-perso__preview-label {
	font-size: 11px;
	color: #a8a29a;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.cups-perso__preview-text {
	font-size: 22px;
	line-height: 1.2;
	color: #2a2824;
	word-break: break-word;
}
.cups-perso__hint {
	margin: 8px 0 10px;
	padding: 10px 12px;
	background: #fff4e5;
	border-left: 3px solid #e6a24a;
	border-radius: 4px;
	font-size: 13px;
	color: #6b5438;
}
.cups-perso__rules {
	margin-top: 16px;
	padding: 10px 14px;
	background: #fff;
	border: 1px solid #ece6df;
	border-radius: 6px;
	font-size: 13px;
}
.cups-perso__rules summary {
	cursor: pointer;
	font-weight: 600;
	color: #7a3c3c;
}
.cups-perso__rules ul {
	margin: 10px 0 8px 20px;
	padding: 0;
}
.cups-perso__rules li {
	margin-bottom: 4px;
	color: #5a524c;
}
.cups-perso__rules-note {
	margin: 6px 0 0;
	color: #8a847e;
	font-style: italic;
}

/* ================================
   HERO WOW — Animation-Layer
   ================================ */
.hero--wow {
	position: relative;
}

/* ---- Animated background aurora ---- */
.hero--wow::before {
	display: none;
}

/* ---- Sparkles ---- */
.hero-sparkles {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}
.hero-sparkle {
	position: absolute;
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.4) 40%, transparent 70%);
	box-shadow: 0 0 8px rgba(255,255,255,0.7);
	opacity: 0;
	animation: sparkle-twinkle 5s ease-in-out infinite;
}
.hero-sparkle--1  { top:  8%; left: 12%; animation-delay: 0s;   }
.hero-sparkle--2  { top: 18%; left: 82%; animation-delay: 0.7s; width: 5px; height: 5px; }
.hero-sparkle--3  { top: 32%; left:  6%; animation-delay: 1.4s; }
.hero-sparkle--4  { top: 45%; left: 92%; animation-delay: 2.1s; width: 3px; height: 3px; }
.hero-sparkle--5  { top: 62%; left: 18%; animation-delay: 2.8s; }
.hero-sparkle--6  { top: 75%; left: 75%; animation-delay: 3.5s; width: 6px; height: 6px; }
.hero-sparkle--7  { top: 25%; left: 48%; animation-delay: 0.3s; }
.hero-sparkle--8  { top: 55%; left: 55%; animation-delay: 1.8s; }
.hero-sparkle--9  { top: 85%; left: 32%; animation-delay: 2.4s; width: 4px; height: 4px; }
.hero-sparkle--10 { top: 12%; left: 65%; animation-delay: 3.1s; width: 3px; height: 3px; }
.hero-sparkle--11 { top: 68%; left:  8%; animation-delay: 1.1s; }
.hero-sparkle--12 { top: 40%; left: 70%; animation-delay: 4.0s; width: 5px; height: 5px; }
.hero-sparkle--13 { top: 88%; left: 88%; animation-delay: 0.5s; }
.hero-sparkle--14 { top:  5%; left: 38%; animation-delay: 2.6s; width: 4px; height: 4px; }
@keyframes sparkle-twinkle {
	0%, 100%   { opacity: 0; transform: scale(0.5); }
	20%, 80%   { opacity: 1; transform: scale(1.2); }
	50%        { opacity: 0.7; transform: scale(0.9); }
}

/* ---- Entrance: Label ---- */
.hero-label {
	overflow: hidden;
}
.hero-label__text {
	display: inline-block;
	opacity: 0;
	transform: translateY(20px);
	animation: hero-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.1s forwards;
}

/* ---- Entrance: Title ---- */
.hero-title__line {
	display: block;
	overflow: hidden;
}
.hero-title__word {
	display: inline-block;
	opacity: 0;
	transform: translateY(110%) rotate(4deg);
	animation: hero-word-in 1.1s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
.hero-title__line:nth-child(1) .hero-title__word:nth-child(1) { animation-delay: 0.25s; }
.hero-title__line:nth-child(1) .hero-title__word:nth-child(2) { animation-delay: 0.40s; }
.hero-title__line:nth-child(2) .hero-title__word:nth-child(1) { animation-delay: 0.55s; }
.hero-title__line:nth-child(2) .hero-title__word:nth-child(2) { animation-delay: 0.70s; }
@keyframes hero-word-in {
	0%   { opacity: 0; transform: translateY(110%) rotate(4deg); }
	60%  { opacity: 1; }
	100% { opacity: 1; transform: translateY(0) rotate(0deg); }
}

/* ---- Entrance: Sub + Buttons ---- */
.hero-sub {
	opacity: 0;
	transform: translateY(16px);
	animation: hero-fade-up 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.9s forwards;
}
.hero-actions .hero-btn {
	opacity: 0;
	transform: translateY(14px) scale(0.96);
	animation: hero-btn-in 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	position: relative;
	overflow: hidden;
}
.hero-actions .hero-btn:nth-child(1) { animation-delay: 1.05s; }
.hero-actions .hero-btn:nth-child(2) { animation-delay: 1.20s; }
@keyframes hero-btn-in {
	to { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes hero-fade-up {
	to { opacity: 1; transform: translateY(0); }
}

/* ---- Primary button: shimmer sweep ---- */
.hero-actions .hero-btn:not(.hero-btn--secondary) span {
	position: relative;
	z-index: 2;
}
.hero-actions .hero-btn:not(.hero-btn--secondary)::after {
	content: "";
	position: absolute;
	top: 0;
	left: -80%;
	width: 60%;
	height: 100%;
	background: linear-gradient(120deg, transparent 20%, rgba(255,255,255,0.45) 50%, transparent 80%);
	transform: skewX(-20deg);
	animation: btn-shimmer 4.5s ease-in-out 2s infinite;
}
@keyframes btn-shimmer {
	0%   { left: -80%; }
	60%  { left: 120%; }
	100% { left: 120%; }
}

/* ---- Hero images: entrance + ambient ---- */
.hero-img-wrap--wow {
	--px: 0px;
	--py: 0px;
	position: relative;
	opacity: 0;
	transform: translateY(40px) scale(0.85) rotate(-6deg);
	animation: hero-cup-in 1.2s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
	will-change: transform;
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.6s ease;
}
.hero-img-wrap--wow[style*="--i: 0"] { animation-delay: 0.55s; }
.hero-img-wrap--wow[style*="--i: 1"] { animation-delay: 0.80s; }
.hero-img-wrap--wow[style*="--i: 2"] { animation-delay: 1.05s; }

@keyframes hero-cup-in {
	0%   { opacity: 0; transform: translateY(40px) scale(0.85) rotate(-6deg); }
	60%  { opacity: 1; }
	100% { opacity: 1; transform: translateY(0) scale(1) rotate(0deg); }
}

/* Nach entrance: kontinuierliches Floaten via img (nicht wrap) */
.hero-img-wrap--wow img {
	animation: hero-float 7s ease-in-out infinite;
	animation-delay: calc(1.3s + var(--i, 0) * 0.6s);
	transform: translate(var(--px), var(--py));
	transition: filter 0.6s cubic-bezier(0.16, 1, 0.3, 1);
	will-change: transform;
}
.hero-img-wrap--wow:nth-child(odd) img  { animation-duration: 8s; }
.hero-img-wrap--wow:nth-child(even) img { animation-duration: 6.5s; animation-direction: reverse; }

@keyframes hero-float {
	0%, 100% { transform: translate(var(--px), calc(var(--py) + 0px))   rotate(0deg); }
	25%      { transform: translate(var(--px), calc(var(--py) - 8px))   rotate(1deg); }
	50%      { transform: translate(var(--px), calc(var(--py) - 12px))  rotate(0deg); }
	75%      { transform: translate(var(--px), calc(var(--py) - 5px))   rotate(-1deg); }
}

.hero-img-wrap--wow:hover {
	transform: scale(1.06) translateY(-10px);
}
.hero-img-wrap--wow:hover img {
	filter: drop-shadow(0 36px 70px rgba(26, 53, 72, 0.35)) drop-shadow(0 16px 28px rgba(0, 0, 0, 0.18)) brightness(1.04);
}

/* ---- Aura ---- */
.hero-img-aura {
	position: absolute;
	inset: -18%;
	border-radius: 50%;
	background: radial-gradient(circle at 50% 50%, var(--aura, #e05d84) 0%, transparent 60%);
	opacity: 0;
	filter: blur(30px);
	z-index: -1;
	animation: aura-pulse 5s ease-in-out infinite;
	animation-delay: calc(1.5s + var(--i, 0) * 0.4s);
}
@keyframes aura-pulse {
	0%, 100% { opacity: 0.25; transform: scale(0.85); }
	50%      { opacity: 0.55; transform: scale(1.1); }
}
.hero-img-wrap--wow:hover .hero-img-aura {
	opacity: 0.65;
	transform: scale(1.15);
	transition: opacity 0.6s cubic-bezier(0.16, 1, 0.3, 1), transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* ---- Steam wisps ---- */
.hero-img-steam {
	position: absolute;
	top: -20%;
	left: 50%;
	transform: translateX(-50%);
	width: 50%;
	height: 40%;
	pointer-events: none;
	opacity: 0;
	animation: steam-fade-in 1s ease 2s forwards;
}
.hero-img-steam span {
	position: absolute;
	bottom: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,0.9) 0%, rgba(255,255,255,0.3) 60%, transparent 100%);
	filter: blur(4px);
	animation: steam-rise 3.5s ease-in infinite;
}
.hero-img-steam span:nth-child(1) { left: 30%; animation-delay: 0s;   }
.hero-img-steam span:nth-child(2) { left: 50%; animation-delay: 1.2s; }
.hero-img-steam span:nth-child(3) { left: 68%; animation-delay: 2.4s; }

@keyframes steam-fade-in {
	to { opacity: 1; }
}
@keyframes steam-rise {
	0%   { transform: translate(0, 0) scale(0.6); opacity: 0; }
	20%  { opacity: 0.9; }
	60%  { transform: translate(6px, -60px) scale(1.4); opacity: 0.5; }
	100% { transform: translate(-4px, -120px) scale(2); opacity: 0; }
}

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
	.hero-label__text,
	.hero-title__word,
	.hero-sub,
	.hero-actions .hero-btn,
	.hero-img-wrap--wow {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
	}
	.hero-img-wrap--wow img,
	.hero-img-aura,
	.hero-img-steam,
	.hero-sparkle,
	.hero-actions .hero-btn::after,
	.hero--wow::before,
	.hero-bg__conic,
	.hero-bg__mesh,
	.hero-bg__blob,
	.hero-bg__mugs-row,
	.hero-bg__rays {
		animation: none !important;
	}
}

/* ================================
   HERO BG — Animated background
   ================================ */
.hero-bg {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: 0;
	pointer-events: none;
}

/* Static base — zero cost, painted once */
.hero-bg__flow {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, #2a1730 0%, #14132a 50%, #080a18 100%);
}

/* Drift layer — ONE large element, pre-painted, only GPU transform */
.hero-bg__flow::before {
	content: "";
	position: absolute;
	inset: -40%;
	background:
		radial-gradient(ellipse 45% 38% at 25% 28%, rgba(192, 104, 136, 0.55), transparent 55%),
		radial-gradient(ellipse 42% 35% at 75% 72%, rgba(122, 128, 192, 0.55), transparent 55%),
		radial-gradient(ellipse 35% 30% at 68% 22%, rgba(200, 160, 110, 0.30), transparent 55%),
		radial-gradient(ellipse 48% 42% at 32% 78%, rgba(140, 100, 170, 0.48), transparent 55%);
	transform: translate3d(0, 0, 0);
	animation: bg-drift 55s ease-in-out infinite alternate;
	will-change: transform;
}
@keyframes bg-drift {
	0%   { transform: translate3d(-4%, -3%, 0) scale(1.02); }
	50%  { transform: translate3d( 4%,  4%, 0) scale(1.08); }
	100% { transform: translate3d(-2%,  3%, 0) scale(1.04); }
}

/* Legacy base kept inert */
.hero-bg__base,
.hero-bg__blob,
.hero-bg__mesh,
.hero-bg__conic,
.hero-bg__liquid,
.hero-bg__rays,
.hero-bg__grain { display: none !important; }

/* Slowly rotating conic aurora — dusty, not neon */
.hero-bg__conic {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 200vmax;
	height: 200vmax;
	margin: -100vmax 0 0 -100vmax;
	background: conic-gradient(from 0deg,
		rgba(180, 90, 120, 0.0)   0%,
		rgba(180, 90, 120, 0.28)  12%,
		rgba(100, 80, 140, 0.0)   25%,
		rgba(140, 110, 180, 0.26) 38%,
		rgba(70, 110, 140, 0.0)   52%,
		rgba(200, 160, 110, 0.22) 65%,
		rgba(160, 80, 110, 0.0)   80%,
		rgba(180, 90, 120, 0.28)  92%,
		rgba(180, 90, 120, 0.0)   100%);
	filter: blur(110px);
	opacity: 0.7;
	animation: bg-conic-rotate 90s linear infinite;
	mix-blend-mode: screen;
}
@keyframes bg-conic-rotate {
	to { transform: rotate(360deg); }
}

/* Mesh: desaturated editorial palette, slower drift */
.hero-bg__mesh {
	position: absolute;
	inset: -15%;
	background:
		radial-gradient(50% 45% at 22% 28%, rgba(200, 110, 140, 0.40), transparent 65%),
		radial-gradient(45% 40% at 78% 68%, rgba(90, 130, 170, 0.38), transparent 65%),
		radial-gradient(35% 30% at 62% 18%, rgba(220, 180, 140, 0.30), transparent 65%),
		radial-gradient(55% 50% at 30% 82%, rgba(130, 100, 170, 0.35), transparent 65%);
	filter: blur(60px);
	mix-blend-mode: screen;
	animation: bg-mesh-shift 48s ease-in-out infinite alternate;
}
@keyframes bg-mesh-shift {
	0%   { transform: translate3d(0, 0, 0) scale(1); }
	50%  { transform: translate3d(3%, -2%, 0) scale(1.08); }
	100% { transform: translate3d(-2%, 3%, 0) scale(1); }
}

/* Drifting blobs: each circles on its own elliptical path */
.hero-bg__blob {
	position: absolute;
	width: 700px;
	height: 700px;
	border-radius: 50%;
	filter: blur(70px);
	mix-blend-mode: screen;
	opacity: 0.5;
	will-change: transform;
	transform: translateZ(0);
}
.hero-bg__blob--a {
	background: radial-gradient(circle, #c06888 0%, transparent 65%);
	top: -20%; left: -15%;
	animation: bg-blob-a 50s ease-in-out infinite;
}
.hero-bg__blob--b {
	background: radial-gradient(circle, #7a80c0 0%, transparent 65%);
	bottom: -25%; right: -20%;
	width: 800px; height: 800px;
	animation: bg-blob-b 65s ease-in-out infinite;
}
.hero-bg__blob--c, .hero-bg__blob--d, .hero-bg__blob--e { display: none; }
@keyframes bg-blob-a {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	50%      { transform: translate3d(25vw, 20vh, 0) scale(1.15); }
}
@keyframes bg-blob-b {
	0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
	50%      { transform: translate3d(-22vw, -18vh, 0) scale(1.1); }
}
@keyframes bg-blob-c {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33%      { transform: translate(20vw, -40vh) scale(1.1); }
	66%      { transform: translate(-25vw, -20vh) scale(0.9); }
}
@keyframes bg-blob-d {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50%      { transform: translate(-30vw, 25vh) scale(1.3); }
}
@keyframes bg-blob-e {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50%      { transform: translate(35vw, -30vh) scale(0.8); }
}

/* Liquid gooey blobs — SVG with feGaussianBlur + colormatrix */
.hero-bg__liquid {
	position: absolute;
	inset: auto 0 -10% 0;
	width: 100%;
	height: 70%;
	mix-blend-mode: screen;
	opacity: 0.45;
	filter: blur(2px);
}
.hero-bg__liquid .liq {
	transform-origin: center;
	transform-box: fill-box;
	will-change: transform;
}
.liq--1 { animation: liq-float-1 18s ease-in-out infinite; }
.liq--2 { animation: liq-float-2 22s ease-in-out infinite; }
.liq--3 { animation: liq-float-3 20s ease-in-out infinite; }
.liq--4 { animation: liq-float-4 25s ease-in-out infinite; }
.liq--5 { animation: liq-float-5 17s ease-in-out infinite; }

@keyframes liq-float-1 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33%      { transform: translate(120px, -40px) scale(1.3); }
	66%      { transform: translate(-60px, 80px) scale(0.8); }
}
@keyframes liq-float-2 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50%      { transform: translate(-140px, 60px) scale(1.2); }
}
@keyframes liq-float-3 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	33%      { transform: translate(-100px, -60px) scale(1.15); }
	66%      { transform: translate(80px, 40px) scale(0.9); }
}
@keyframes liq-float-4 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50%      { transform: translate(160px, -80px) scale(1.35); }
}
@keyframes liq-float-5 {
	0%, 100% { transform: translate(0, 0) scale(1); }
	50%      { transform: translate(-90px, 100px) scale(1.2); }
}

/* Starfield — 14 hand-placed pinpricks of light */
.hero-bg__starfield {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}
.hero-bg__star {
	position: absolute;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,248,230,1) 0%, rgba(255,248,230,0.5) 35%, transparent 75%);
	opacity: 0;
	will-change: opacity;
}
.hero-bg__star--1  { top:  9%; left: 14%; width: 3px; height: 3px; animation: star-breathe 7s ease-in-out 0.2s infinite; }
.hero-bg__star--2  { top: 17%; left: 72%; width: 2px; height: 2px; animation: star-breathe 9s ease-in-out 1.4s infinite; }
.hero-bg__star--3  { top: 28%; left: 88%; width: 4px; height: 4px; animation: star-breathe 8s ease-in-out 0.8s infinite; box-shadow: 0 0 8px rgba(255,228,184,0.5); }
.hero-bg__star--4  { top: 41%; left:  6%; width: 2px; height: 2px; animation: star-breathe 10s ease-in-out 2.2s infinite; }
.hero-bg__star--5  { top: 52%; left: 78%; width: 3px; height: 3px; animation: star-breathe 7s ease-in-out 1.8s infinite; }
.hero-bg__star--6  { top: 11%; left: 46%; width: 2px; height: 2px; animation: star-breathe 11s ease-in-out 3.1s infinite; }
.hero-bg__star--7  { top: 23%; left: 28%; width: 3px; height: 3px; animation: star-breathe 8s ease-in-out 0.6s infinite; }
.hero-bg__star--8  { top: 34%; left: 58%; width: 2px; height: 2px; animation: star-breathe 9s ease-in-out 2.7s infinite; }
.hero-bg__star--9  { top: 68%; left: 38%; width: 2px; height: 2px; animation: star-breathe 10s ease-in-out 1.1s infinite; }
.hero-bg__star--10 { top: 74%; left: 68%; width: 3px; height: 3px; animation: star-breathe 8s ease-in-out 3.6s infinite; }
.hero-bg__star--11 { top: 82%; left: 22%; width: 2px; height: 2px; animation: star-breathe 11s ease-in-out 0.4s infinite; }
.hero-bg__star--12 { top: 60%; left: 92%; width: 4px; height: 4px; animation: star-breathe 9s ease-in-out 2.0s infinite; box-shadow: 0 0 8px rgba(255,228,184,0.4); }
.hero-bg__star--13 { top: 87%; left: 52%; width: 2px; height: 2px; animation: star-breathe 10s ease-in-out 1.6s infinite; }
.hero-bg__star--14 { top: 19%; left:  4%; width: 2px; height: 2px; animation: star-breathe 7s ease-in-out 3.0s infinite; }

@keyframes star-breathe {
	0%, 100% { opacity: 0; transform: scale(0.7); }
	50%      { opacity: 0.9; transform: scale(1); }
}

/* Comet cursor — premium shooting star with wake */
.hero-comet {
	position: absolute;
	top: 0;
	left: 0;
	width: 0;
	height: 0;
	pointer-events: none;
	z-index: 3;
	opacity: 0;
	transition: opacity 0.5s cubic-bezier(0.22, 1, 0.36, 1);
	will-change: transform;
	--angle: 180deg;
	--len: 60px;
	--intensity: 0.6;
	--scale: 1;
}
.hero-comet.is-active { opacity: 1; }

.hero-comet__core {
	position: absolute;
	top: -4px;
	left: -4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: radial-gradient(circle, #fff 0%, #fff4d8 35%, rgba(255,200,150,0.7) 65%, transparent 100%);
	box-shadow:
		0 0 6px 1px rgba(255, 255, 240, 1),
		0 0 20px 3px rgba(255, 220, 170, calc(0.85 * var(--intensity))),
		0 0 44px 10px rgba(255, 180, 120, calc(0.55 * var(--intensity))),
		0 0 80px 22px rgba(230, 140, 200, calc(0.3 * var(--intensity)));
	transform: scale(var(--scale));
}

.hero-comet__halo {
	position: absolute;
	top: -22px;
	left: -22px;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255, 225, 180, 0.45) 0%, rgba(230, 160, 200, 0.15) 45%, transparent 75%);
	filter: blur(4px);
	opacity: calc(0.55 + 0.45 * var(--intensity));
	transform: scale(var(--scale));
	animation: halo-pulse 1.4s ease-in-out infinite;
}
@keyframes halo-pulse {
	0%, 100% { transform: scale(calc(var(--scale) * 1)); }
	50%      { transform: scale(calc(var(--scale) * 1.15)); }
}

.hero-comet__tail,
.hero-comet__tail::before,
.hero-comet__tail::after { display: none !important; }

/* Wake sparks */
.hero-comet-wake {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
	overflow: hidden;
}
.hero-spark {
	position: absolute;
	border-radius: 50%;
	box-shadow: 0 0 6px 1px currentColor;
	animation: spark-fade 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
	will-change: transform, opacity;
	transform: translate(-50%, -50%);
	pointer-events: none;
}
@keyframes spark-fade {
	0%   { transform: translate(-50%, -50%) scale(1.3); opacity: 1; }
	60%  { opacity: 0.6; }
	100% { transform: translate(calc(-50% + var(--dx, 0)), calc(-50% + var(--dy, 0))) scale(0); opacity: 0; }
}

/* Horizon: soft gold line that suggests depth, barely visible */
.hero-bg__horizon {
	position: absolute;
	left: 0; right: 0;
	bottom: 20%;
	height: 1px;
	background: linear-gradient(90deg, transparent 0%, rgba(249, 202, 79, 0.25) 20%, rgba(255, 220, 170, 0.4) 50%, rgba(249, 202, 79, 0.25) 80%, transparent 100%);
	filter: blur(0.5px);
	opacity: 0;
	animation: horizon-fade 2s ease 1.5s forwards;
}
@keyframes horizon-fade {
	to { opacity: 1; }
}

/* Legacy particle selectors — kept inert so nothing orphan-animates */
.hero-bg__particles, .hero-bg__particle,
.hero-bg__shooters, .hero-bg__shooter,
.hero-bg__wave, .hero-bg__wave-path {
	display: none !important;
}
/* Spread + animate each particle with slightly unique values */
.hero-bg__particle--1  { top:  8%; left:  5%; width: 3px; height: 3px; animation: pt-drift 24s linear 0.3s infinite, pt-glow 4s ease-in-out 0.3s infinite; }
.hero-bg__particle--2  { top: 14%; left: 22%; width: 2px; height: 2px; animation: pt-drift 30s linear 1.1s infinite, pt-glow 5s ease-in-out 0.8s infinite; }
.hero-bg__particle--3  { top:  6%; left: 48%; width: 4px; height: 4px; animation: pt-drift 20s linear 2.0s infinite, pt-glow 3.5s ease-in-out 1.2s infinite; box-shadow: 0 0 10px rgba(255,107,157,0.7); }
.hero-bg__particle--4  { top: 22%; left: 68%; width: 2px; height: 2px; animation: pt-drift 28s linear 0.5s infinite, pt-glow 4.5s ease-in-out 0s infinite; }
.hero-bg__particle--5  { top: 10%; left: 85%; width: 3px; height: 3px; animation: pt-drift 22s linear 1.8s infinite, pt-glow 4s ease-in-out 2.4s infinite; }
.hero-bg__particle--6  { top: 32%; left:  8%; width: 2px; height: 2px; animation: pt-drift 26s linear 0.7s infinite, pt-glow 5s ease-in-out 1.5s infinite; }
.hero-bg__particle--7  { top: 28%; left: 30%; width: 5px; height: 5px; animation: pt-drift 32s linear 2.3s infinite, pt-glow 3s ease-in-out 0.4s infinite; box-shadow: 0 0 12px rgba(110,211,247,0.8); }
.hero-bg__particle--8  { top: 36%; left: 52%; width: 2px; height: 2px; animation: pt-drift 25s linear 0.9s infinite, pt-glow 4.2s ease-in-out 1.9s infinite; }
.hero-bg__particle--9  { top: 30%; left: 74%; width: 3px; height: 3px; animation: pt-drift 19s linear 1.6s infinite, pt-glow 3.8s ease-in-out 0.2s infinite; }
.hero-bg__particle--10 { top: 24%; left: 92%; width: 2px; height: 2px; animation: pt-drift 27s linear 0.1s infinite, pt-glow 5s ease-in-out 1.1s infinite; }
.hero-bg__particle--11 { top: 46%; left:  3%; width: 3px; height: 3px; animation: pt-drift 23s linear 2.2s infinite, pt-glow 4.5s ease-in-out 2.8s infinite; box-shadow: 0 0 10px rgba(179,136,255,0.7); }
.hero-bg__particle--12 { top: 50%; left: 18%; width: 2px; height: 2px; animation: pt-drift 29s linear 1.3s infinite, pt-glow 3.5s ease-in-out 0.6s infinite; }
.hero-bg__particle--13 { top: 44%; left: 38%; width: 4px; height: 4px; animation: pt-drift 21s linear 0.4s infinite, pt-glow 4s ease-in-out 1.7s infinite; box-shadow: 0 0 11px rgba(249,202,79,0.7); }
.hero-bg__particle--14 { top: 52%; left: 60%; width: 2px; height: 2px; animation: pt-drift 33s linear 2.1s infinite, pt-glow 5.5s ease-in-out 0s infinite; }
.hero-bg__particle--15 { top: 48%; left: 80%; width: 3px; height: 3px; animation: pt-drift 18s linear 1.0s infinite, pt-glow 3.2s ease-in-out 2.0s infinite; }
.hero-bg__particle--16 { top: 58%; left: 12%; width: 2px; height: 2px; animation: pt-drift 26s linear 0.8s infinite, pt-glow 4.8s ease-in-out 1.4s infinite; }
.hero-bg__particle--17 { top: 64%; left: 34%; width: 3px; height: 3px; animation: pt-drift 30s linear 1.9s infinite, pt-glow 4s ease-in-out 0.3s infinite; }
.hero-bg__particle--18 { top: 60%; left: 56%; width: 5px; height: 5px; animation: pt-drift 24s linear 0.6s infinite, pt-glow 3.6s ease-in-out 2.6s infinite; box-shadow: 0 0 14px rgba(255,107,157,0.8); }
.hero-bg__particle--19 { top: 66%; left: 72%; width: 2px; height: 2px; animation: pt-drift 28s linear 2.5s infinite, pt-glow 5s ease-in-out 1.0s infinite; }
.hero-bg__particle--20 { top: 56%; left: 88%; width: 3px; height: 3px; animation: pt-drift 22s linear 0.2s infinite, pt-glow 4.4s ease-in-out 1.8s infinite; }
.hero-bg__particle--21 { top: 78%; left:  7%; width: 2px; height: 2px; animation: pt-drift 31s linear 1.5s infinite, pt-glow 4s ease-in-out 0.5s infinite; }
.hero-bg__particle--22 { top: 72%; left: 26%; width: 3px; height: 3px; animation: pt-drift 20s linear 2.8s infinite, pt-glow 3.8s ease-in-out 2.2s infinite; }
.hero-bg__particle--23 { top: 80%; left: 44%; width: 2px; height: 2px; animation: pt-drift 27s linear 0.9s infinite, pt-glow 5.2s ease-in-out 0.8s infinite; }
.hero-bg__particle--24 { top: 74%; left: 64%; width: 4px; height: 4px; animation: pt-drift 25s linear 1.4s infinite, pt-glow 3.5s ease-in-out 1.6s infinite; box-shadow: 0 0 10px rgba(110,211,247,0.7); }
.hero-bg__particle--25 { top: 82%; left: 82%; width: 2px; height: 2px; animation: pt-drift 19s linear 2.4s infinite, pt-glow 4.2s ease-in-out 0.1s infinite; }
.hero-bg__particle--26 { top: 88%; left:  4%; width: 3px; height: 3px; animation: pt-drift 29s linear 0.0s infinite, pt-glow 4.6s ease-in-out 2.3s infinite; }
.hero-bg__particle--27 { top: 90%; left: 20%; width: 2px; height: 2px; animation: pt-drift 23s linear 1.7s infinite, pt-glow 5s ease-in-out 0.7s infinite; }
.hero-bg__particle--28 { top: 84%; left: 40%; width: 3px; height: 3px; animation: pt-drift 32s linear 2.6s infinite, pt-glow 3.4s ease-in-out 1.3s infinite; }
.hero-bg__particle--29 { top: 92%; left: 58%; width: 2px; height: 2px; animation: pt-drift 21s linear 0.4s infinite, pt-glow 4.8s ease-in-out 2.0s infinite; }
.hero-bg__particle--30 { top: 86%; left: 76%; width: 4px; height: 4px; animation: pt-drift 26s linear 1.2s infinite, pt-glow 3.7s ease-in-out 0.9s infinite; box-shadow: 0 0 12px rgba(179,136,255,0.8); }
.hero-bg__particle--31 { top: 94%; left: 94%; width: 2px; height: 2px; animation: pt-drift 30s linear 2.9s infinite, pt-glow 5s ease-in-out 1.9s infinite; }
.hero-bg__particle--32 { top: 16%; left: 10%; width: 2px; height: 2px; animation: pt-drift 24s linear 1.6s infinite, pt-glow 4s ease-in-out 0s infinite; }
.hero-bg__particle--33 { top: 40%; left: 46%; width: 2px; height: 2px; animation: pt-drift 28s linear 0.5s infinite, pt-glow 4.5s ease-in-out 2.7s infinite; }
.hero-bg__particle--34 { top: 68%; left: 50%; width: 3px; height: 3px; animation: pt-drift 22s linear 2.0s infinite, pt-glow 3.9s ease-in-out 1.1s infinite; }
.hero-bg__particle--35 { top: 20%; left: 78%; width: 3px; height: 3px; animation: pt-drift 25s linear 0.7s infinite, pt-glow 4.3s ease-in-out 1.5s infinite; }
.hero-bg__particle--36 { top: 54%; left: 28%; width: 2px; height: 2px; animation: pt-drift 31s linear 2.2s infinite, pt-glow 5.2s ease-in-out 0.4s infinite; }

@keyframes pt-drift {
	0%   { transform: translate(0, 0); }
	25%  { transform: translate(30px, -20px); }
	50%  { transform: translate(-10px, -40px); }
	75%  { transform: translate(-25px, -10px); }
	100% { transform: translate(0, 0); }
}
@keyframes pt-glow {
	0%, 100% { opacity: 0.2; }
	50%      { opacity: 1; }
}

/* Shooting stars — diagonal streaks */
.hero-bg__shooters {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
}
.hero-bg__shooter {
	position: absolute;
	width: 2px;
	height: 2px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 0 8px 2px rgba(255,255,255,0.9);
	opacity: 0;
}
.hero-bg__shooter::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 100%;
	width: 160px;
	height: 1px;
	background: linear-gradient(to left, rgba(255,255,255,0.95), rgba(255,255,255,0.4), transparent);
	transform: translateY(-50%);
	filter: blur(0.5px);
}
.hero-bg__shooter--1 { top: 12%; left: 85%; animation: shoot 9s ease-in 1s infinite; }
.hero-bg__shooter--2 { top: 35%; left: 92%; animation: shoot 11s ease-in 4s infinite; }
.hero-bg__shooter--3 { top: 22%; left: 78%; animation: shoot 13s ease-in 7s infinite; }
.hero-bg__shooter--4 { top: 48%; left: 88%; animation: shoot 10s ease-in 10s infinite; }

@keyframes shoot {
	0%   { transform: translate(0, 0) rotate(20deg); opacity: 0; }
	5%   { opacity: 1; }
	40%  { transform: translate(-60vw, 40vh) rotate(20deg); opacity: 1; }
	55%  { transform: translate(-80vw, 54vh) rotate(20deg); opacity: 0; }
	100% { transform: translate(-80vw, 54vh) rotate(20deg); opacity: 0; }
}

/* Wave ribbon at bottom */
.hero-bg__wave {
	position: absolute;
	bottom: -20px;
	left: 0;
	width: 100%;
	height: 200px;
	mix-blend-mode: screen;
	opacity: 0.6;
	pointer-events: none;
}
.hero-bg__wave-path--1 {
	animation: wave-morph 12s ease-in-out infinite alternate;
	transform-origin: center;
}
.hero-bg__wave-path--2 {
	animation: wave-morph 16s ease-in-out infinite alternate-reverse;
	transform-origin: center;
}
@keyframes wave-morph {
	0%   { d: path("M0,100 C240,160 480,40 720,100 C960,160 1200,40 1440,100 L1440,200 L0,200 Z"); }
	50%  { d: path("M0,120 C240,40 480,180 720,120 C960,40 1200,180 1440,120 L1440,200 L0,200 Z"); }
	100% { d: path("M0,80 C240,180 480,60 720,80 C960,180 1200,60 1440,80 L1440,200 L0,200 Z"); }
}

/* Sweeping light ray — single, slow, cinematic */
.hero-bg__rays {
	position: absolute;
	inset: -50% -50%;
	width: 200%;
	height: 200%;
	background: linear-gradient(105deg,
		transparent 42%,
		rgba(255, 240, 210, 0.04) 47%,
		rgba(255, 240, 210, 0.12) 50%,
		rgba(255, 240, 210, 0.04) 53%,
		transparent 58%);
	mix-blend-mode: screen;
	animation: bg-rays 28s ease-in-out infinite;
	opacity: 0.6;
}
@keyframes bg-rays {
	0%   { transform: translateX(-45%); opacity: 0; }
	20%  { opacity: 0.4; }
	50%  { transform: translateX(15%); opacity: 0.7; }
	80%  { opacity: 0.3; }
	100% { transform: translateX(45%); opacity: 0; }
}

/* Subtle grain for texture */
.hero-bg__grain {
	position: absolute;
	inset: 0;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.4 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
	opacity: 0.08;
	mix-blend-mode: overlay;
	pointer-events: none;
}

/* Vignette: stronger drama, frames the content */
.hero-bg__vignette {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 80% 70% at 50% 45%, transparent 30%, rgba(8, 10, 24, 0.35) 75%, rgba(8, 10, 24, 0.7) 100%),
		linear-gradient(180deg, rgba(8, 10, 24, 0.4) 0%, transparent 25%, transparent 75%, rgba(8, 10, 24, 0.5) 100%);
}

/* Make sure the old ::before stays below, and content on top */
.hero--wow .hero-inner {
	position: relative;
	z-index: 2;
}
.hero--wow .hero-sparkles {
	z-index: 1;
}

/* ===== PRODUCT PAGE – PREMIUM STYLING ===== */

/* --- PayPal: hide Pay Later, installments, Venmo everywhere --- */
.ppc-button-wrapper [data-funding-source="paylater"],
.ppc-button-wrapper [data-funding-source="venmo"],
#ppc-button-ppcp-gateway-paylater,
#ppc-button-ppcp-paylater,
.ppcp-messages,
.ppc-button-wrapper .ppcp-installment-banner,
[class*="pay-later"],
.ppcp-messages-container { display: none !important; }

/* --- Product summary: tighter spacing --- */
.single-product div.product .summary { font-size: 0.95rem; }
.single-product div.product .summary .price { font-size: 1.5rem; font-weight: 700; color: #1a1a1a; }
.single-product div.product .summary .price .woocommerce-Price-currencySymbol { font-weight: 400; }
.single-product div.product .summary .woocommerce-product-details__short-description { color: #555; line-height: 1.6; margin-bottom: 16px; }

/* --- Variation swatches: bigger, cleaner --- */
.single-product .variations td select {
    border: 1px solid #d4d0cb;
    border-radius: 8px;
    padding: 8px 12px;
    font-size: 0.9rem;
    background: #fff;
}
.single-product .variations td select:focus {
    border-color: #c8a96a;
    box-shadow: 0 0 0 2px rgba(200,169,106,0.15);
    outline: none;
}

/* --- Add to cart button --- */
.single-product .single_add_to_cart_button {
    background: #2d2d2d !important;
    color: #fff !important;
    border: none !important;
    border-radius: 8px !important;
    padding: 14px 32px !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
    letter-spacing: 0.03em;
    text-transform: uppercase;
    transition: all 0.3s ease;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.single-product .single_add_to_cart_button:hover {
    background: #1a1a1a !important;
    transform: translateY(-1px);
    box-shadow: 0 4px 16px rgba(0,0,0,0.15);
}

/* --- Quantity input --- */
.single-product .quantity .qty {
    border: 1px solid #d4d0cb;
    border-radius: 8px;
    padding: 8px;
    width: 60px;
    text-align: center;
}

/* --- USP list under cart button --- */
.product-usps {
    list-style: none;
    padding: 16px 0 0;
    margin: 16px 0 0;
    border-top: 1px solid #eee;
}
.product-usps li {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 5px 0;
    font-size: 0.85rem;
    color: #555;
}
.product-usps li svg {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
    color: #888;
}
.product-usps li strong { color: #1a1a1a; }
.product-usps .usp-legal-link { color: #c8a96a; text-decoration: underline; }

/* --- Wishlist button --- */
.single-product .yith-wcwl-add-to-wishlist {
    margin: 12px 0 8px;
}
.single-product .yith-wcwl-add-to-wishlist a {
    font-size: 0.85rem;
    color: #888;
    text-decoration: none;
    transition: color 0.2s;
}
.single-product .yith-wcwl-add-to-wishlist a:hover { color: #c8a96a; }

/* --- PayPal button area: cleaner --- */
.single-product .ppc-button-wrapper {
    margin: 12px 0 !important;
    max-width: 100%;
}

/* --- Additional Information table: warm, premium --- */
.woocommerce-product-attributes {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.88rem;
}
.woocommerce-product-attributes th {
    text-align: left;
    font-weight: 600;
    color: #555;
    padding: 10px 16px 10px 0;
    border-bottom: 1px solid #f0ece6;
    width: 40%;
    white-space: nowrap;
}
.woocommerce-product-attributes td {
    padding: 10px 0;
    border-bottom: 1px solid #f0ece6;
    color: #333;
}
.woocommerce-product-attributes td p { margin: 0; }

/* Hide Farbe row from additional info (redundant with swatches) */
.woocommerce-product-attributes .woocommerce-product-attributes-item--attribute_pa_farbe { display: none; }

/* --- ZUSÄTZLICHE INFORMATIONEN accordion: cleaner heading --- */
.single-product .woocommerce-tabs .wc-tab-inner,
.single-product .woocommerce-Tabs-panel { padding: 0; }
.single-product .woocommerce-tabs ul.tabs {
    border-bottom: 2px solid #f0ece6;
    padding: 0;
    margin: 32px 0 0;
}
.single-product .woocommerce-tabs ul.tabs li {
    border: none;
    background: none;
    padding: 0;
    margin: 0 24px 0 0;
}
.single-product .woocommerce-tabs ul.tabs li a {
    font-family: 'Jost', sans-serif;
    font-weight: 600;
    font-size: 0.9rem;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #888;
    padding: 8px 0 12px;
    display: inline-block;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: all 0.2s;
}
.single-product .woocommerce-tabs ul.tabs li.active a {
    color: #1a1a1a;
    border-bottom-color: #c8a96a;
}
.single-product .woocommerce-tabs ul.tabs li a:hover { color: #1a1a1a; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel { padding: 20px 0; }
.single-product .woocommerce-tabs .woocommerce-Tabs-panel h2 { display: none; } /* Hide redundant h2 inside tab */

/* --- Related products: cleaner grid --- */
.single-product section.related {
    margin-top: 48px;
    padding-top: 32px;
    border-top: 1px solid #f0ece6;
}
.single-product section.related > h2 {
    font-family: 'Jost', sans-serif;
    font-size: 1.1rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: #1a1a1a;
    margin-bottom: 24px;
}
.single-product section.related ul.products li.product {
    text-align: center;
}
.single-product section.related ul.products li.product a img {
    border-radius: 8px;
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.single-product section.related ul.products li.product a img:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}
.single-product section.related ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.82rem;
    font-weight: 500;
    color: #333;
    margin-top: 8px;
}
.single-product section.related ul.products li.product .price {
    font-size: 0.85rem;
    font-weight: 600;
    color: #1a1a1a;
}

/* --- Product image gallery: rounded --- */
.single-product div.product div.images .woocommerce-product-gallery__image img,
.single-product div.product div.images .flex-viewport img {
    border-radius: 10px;
}
.single-product div.product div.images .flex-control-thumbs li img {
    border-radius: 6px;
    border: 2px solid transparent;
    transition: border-color 0.2s;
}
.single-product div.product div.images .flex-control-thumbs li img:hover,
.single-product div.product div.images .flex-control-thumbs li img.flex-active {
    border-color: #c8a96a;
}

/* --- Breadcrumb: subtle --- */
.single-product .woocommerce-breadcrumb {
    font-size: 0.78rem;
    color: #999;
    margin-bottom: 16px;
}
.single-product .woocommerce-breadcrumb a { color: #888; text-decoration: none; }
.single-product .woocommerce-breadcrumb a:hover { color: #c8a96a; }

/* --- Stock status --- */
.single-product .stock.in-stock {
    color: #4a8c5c;
    font-size: 0.82rem;
    font-weight: 500;
}

/* --- Product title --- */
.single-product div.product .product_title {
    font-family: 'Jost', sans-serif;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.3;
    color: #1a1a1a;
    margin-bottom: 8px;
}

/* --- MwSt. note under price --- */
.single-product .woocommerce-Price-taxLabel,
.single-product .price .tax-label {
    font-size: 0.75rem;
    color: #999;
    font-weight: 400;
}

/* --- Trust bar under PayPal area --- */
.cups-trust-bar {
    display: flex;
    gap: 16px;
    justify-content: center;
    padding: 12px 0;
    margin: 8px 0 0;
    border-top: 1px solid #f0ece6;
}
.cups-trust-bar__item {
    display: flex;
    align-items: center;
    gap: 5px;
    font-size: 0.72rem;
    color: #999;
    white-space: nowrap;
}
.cups-trust-bar__item svg {
    width: 14px;
    height: 14px;
    color: #bbb;
}

/* --- Stripe product page buttons: cleaner styling --- */
.single-product .wc-stripe-product-checkout-container {
    margin: 0 !important;
    padding: 0 !important;
}
.single-product .wc_stripe_product_payment_methods {
    list-style: none;
    margin: 0;
    padding: 0;
}
.single-product .wc-stripe-googlepay-product-container,
.single-product .wc-stripe-applepay-container {
    max-width: 100%;
    border-radius: 6px;
    overflow: hidden;
}

/* --- Hide empty "Bought Together" container --- */
.woobt-wrap:empty,
.woobt-wrap-responsive:empty { display: none !important; height: 0 !important; margin: 0 !important; padding: 0 !important; }

/* --- Group payment area: Stripe + PayPal together --- */
.single-product .ppc-button-wrapper {
    margin-top: 4px !important;
}

/* --- Product meta area: cleaner --- */
.single-product .product_meta {
    font-size: 0.8rem;
    color: #999;
    padding-top: 12px;
    border-top: 1px solid #f0ece6;
    margin-top: 8px;
}
.single-product .product_meta a { color: #888; text-decoration: none; }
.single-product .product_meta a:hover { color: #c8a96a; }

/* --- Share buttons: subtle --- */
.cups-share {
    padding-top: 8px;
}
.cups-share__label {
    font-size: 0.8rem;
    color: #999;
}
.cups-share a {
    color: #bbb;
    transition: color 0.2s;
}
.cups-share a:hover { color: #c8a96a; }

/* --- Volume/delivery hints: tighter --- */
.cups-delivery-hint, .cups-volume-hint {
    font-size: 0.82rem;
    padding: 6px 0;
}

/* --- Announcement bar at top: premium --- */
.cups-topbar {
    font-size: 0.75rem;
    letter-spacing: 0.03em;
}

/* --- Ensure FARBE WÄHLEN buttons in related products match theme --- */
.related ul.products li.product a.button,
.related ul.products li.product a.add_to_cart_button,
ul.products li.product .button {
    background: #2d2d2d !important;
    color: #fff !important;
    border: none !important;
    border-radius: 6px !important;
    font-size: 0.78rem !important;
    padding: 8px 16px !important;
    text-transform: uppercase !important;
    letter-spacing: 0.02em;
    font-weight: 500 !important;
    transition: all 0.2s ease;
}
.related ul.products li.product a.button:hover,
ul.products li.product .button:hover {
    background: #1a1a1a !important;
    transform: translateY(-1px);
}

/* ===== PRODUCT CLEANUP ===== */

/* 1. Hide delivery countdown box */
.cups-delivery-hint { display: none !important; }

/* 2. Hide duplicate variation swatches (keep big cups-swatches, hide JS-generated ones) */
.variations .cups-color-swatches-wrap { display: none !important; }
.variations .reset_variations { display: none !important; }
/* Hide the entire variation row for pa_farbe (dropdown + label) since big swatches handle it */
.variations tr td.value select[id*="pa_farbe"] { display: none !important; }
.variations tr td.label label[for="pa_farbe"],
.single-product .variations .label { display: none !important; }

/* 3. Fix "Name auf der Tasse" input - full width, left aligned */
.single-product .thwepof-extra-options,
.single-product .extra-product-options-container,
.single-product .wc-pao-addons-container {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 16px 0 !important;
}
.single-product .thwepof-field-wrapper,
.single-product .wc-pao-addon-container,
.single-product .wc-product-addon {
    width: 100% !important;
    max-width: 100% !important;
}
.single-product .thwepof-field-wrapper input[type="text"],
.single-product .wc-pao-addon-field input[type="text"],
.single-product .extra-product-options-container input[type="text"] {
    width: 100% !important;
    border: 1px solid #d4d0cb !important;
    border-radius: 8px !important;
    padding: 10px 14px !important;
    font-size: 0.9rem;
}
.single-product .thwepof-field-wrapper input[type="text"]:focus,
.single-product .wc-pao-addon-field input[type="text"]:focus {
    border-color: #c8a96a !important;
    box-shadow: 0 0 0 2px rgba(200,169,106,0.15) !important;
    outline: none !important;
}

/* 4. Hide stock status completely (always in stock) */
.single-product .stock.in-stock,
.single-product p.stock { display: none !important; }

/* 5. Group PayPal + GPay together */
.single-product .wc-stripe-product-checkout-container,
.single-product .ppc-button-wrapper {
    margin: 4px 0 !important;
}
/* Wrap both in a visual group */
.single-product .wc-stripe-product-checkout-container {
    padding: 0 !important;
    border: none !important;
}
.single-product .ppc-button-wrapper {
    padding: 0 !important;
}
/* Remove excess spacing between payment buttons */
.single-product .wc-stripe-product-checkout-container + .ppc-button-wrapper,
.single-product .ppc-button-wrapper + .wc-stripe-product-checkout-container {
    margin-top: 0 !important;
}

/* 6. Volume hint: tighter, subtler */
.cups-volume-hint {
    font-size: 0.8rem;
    color: #888;
    padding: 4px 0;
    margin: 0;
}


/* ===== VARIATION FORM FIX ===== */

/* Fix single_variation_wrap: stack children vertically */
.single-product .single_variation_wrap {
    display: flex !important;
    flex-wrap: wrap !important;
    width: 100% !important;
}
.single-product .single_variation_wrap > .woocommerce-variation,
.single-product .single_variation_wrap > .single_variation {
    width: 100% !important;
    flex: 0 0 100% !important;
}
.single-product .single_variation_wrap > .woocommerce-variation-add-to-cart {
    width: 100% !important;
    flex: 0 0 100% !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 8px;
}

/* Personalize field: full width, first in order */
.single-product .woocommerce-variation-add-to-cart .cups-personalize {
    flex: 0 0 100% !important;
    width: 100% !important;
    order: -1;
}
.single-product .woocommerce-variation-add-to-cart .quantity { flex: 0 0 auto; }
.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button { flex: 1 1 auto; }

/* Hide the variations table rows (color dropdown handled by big swatches) */
.single-product .variations tr { display: none !important; }
.single-product .variations_form { display: block !important; }
.single-product .variations_form .variations { margin-bottom: 0; }

/* Hide duplicate JS variation swatches */
.variations .cups-color-swatches-wrap { display: none !important; }
.variations .reset_variations { display: none !important; }

/* Hide stock status */
.single-product .stock.in-stock,
.single-product p.stock { display: none !important; }

/* Hide delivery countdown */
.cups-delivery-hint { display: none !important; }

/* ===== PRODUCT SUMMARY REORDER ===== */

/* Make summary a flex column so we can reorder children */
.single-product div.product .summary.entry-summary {
    display: flex !important;
    flex-direction: column !important;
}

/* Order: Title(1) Price(2) Legal(3) Description(4) Volume(5) Form(6) PayPal(7) USPs(8) Trust(9) Wishlist(10) Meta(11) Share(12) */
.single-product .summary > .product_title { order: 1; }
.single-product .summary > .price { order: 2; }
.single-product .summary > .legal-price-info { order: 3; }
.single-product .summary > .woocommerce-product-details__short-description { order: 4; }
.single-product .summary > .cups-volume-hint { order: 5; }
.single-product .summary > .variations_form,
.single-product .summary > form.cart { order: 6; }
.single-product .summary > .ppc-button-wrapper { order: 7; margin-top: 4px !important; }
.single-product .summary > .product-usps { order: 8; }
.single-product .summary > .cups-trust-bar { order: 9; }
.single-product .summary > .yith-add-to-wishlist-button-block { order: 10; }
.single-product .summary > .product_meta { order: 11; }
.single-product .summary > .cups-share { order: 12; }

/* Stripe GPay in the form — push to bottom of form */
.single-product .wc-stripe-product-checkout-container {
    margin-top: 8px !important;
    margin-bottom: 0 !important;
}

/* Visual grouping: small label above payment buttons */
.single-product .ppc-button-wrapper {
    padding-top: 0 !important;
    margin-bottom: 0 !important;
}

/* ===== VOLUME HINT RESTYLE ===== */
.cups-volume-hint {
    display: inline-flex !important;
    align-items: center;
    gap: 6px;
    background: linear-gradient(135deg, #faf8f5 0%, #f5f0e8 100%) !important;
    border: 1px solid #e8e2db !important;
    border-radius: 8px !important;
    padding: 8px 14px !important;
    margin: 8px 0 12px !important;
    font-size: 0.82rem !important;
    color: #555 !important;
}
.cups-volume-hint strong,
.cups-volume-hint b {
    color: #c8a96a !important;
    font-weight: 700;
}
.cups-volume-hint__icon {
    font-size: 1rem;
    color: #c8a96a;
}

/* Hide SEPA Lastschrift button everywhere */
.ppc-button-wrapper [data-funding-source="sepa"],
#ppc-button-ppcp-sepa,
.ppcp-button-sepa,
[class*="funding-source-sepa"] { display: none !important; }


/* ============================================================
   FAQ — visuell aufgewerteter Accordion-Style
   Genutzt von Kategorie-FAQ-Sektion (cups_category_faq_render)
   und FAQ-Page (/faq/)
   ============================================================ */
.cups-cat-faq,
.cups-faq-page {
	max-width: 880px;
	margin: 48px auto 32px;
	padding: 0 24px;
	font-family: Helvetica, Arial, sans-serif;
}
.cups-faq-page { margin-top: 32px; }

.cups-cat-faq h2,
.cups-faq-page h2 {
	font-family: Georgia, "Times New Roman", serif;
	font-size: 26px;
	font-weight: 500;
	color: #232323;
	margin: 32px 0 18px;
	letter-spacing: 0.2px;
}
.cups-cat-faq > h2:first-of-type,
.cups-faq-page > h2:first-of-type { margin-top: 0; }

.cups-cat-faq h2::after,
.cups-faq-page h2::after {
	content: "";
	display: block;
	width: 48px;
	height: 2px;
	background: #E05D84;
	margin-top: 10px;
	border-radius: 2px;
}

.cups-cat-faq details,
.cups-faq-page details {
	margin: 0 0 10px;
	border: 1px solid #ebe3d3;
	border-radius: 10px;
	background: #fdfbf6;
	transition: box-shadow 0.2s ease, border-color 0.2s ease;
	overflow: hidden;
}
.cups-cat-faq details:hover,
.cups-faq-page details:hover {
	border-color: #d8c8a0;
	box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.cups-cat-faq details[open],
.cups-faq-page details[open] {
	background: #fff;
	border-color: #c8a96a;
	box-shadow: 0 2px 12px rgba(200,169,106,0.12);
}

.cups-cat-faq summary,
.cups-faq-page summary {
	list-style: none;
	cursor: pointer;
	padding: 16px 52px 16px 20px;
	position: relative;
	user-select: none;
	transition: background 0.15s ease;
}
.cups-cat-faq summary:hover,
.cups-faq-page summary:hover { background: rgba(224,93,132,0.04); }

.cups-cat-faq summary::-webkit-details-marker,
.cups-faq-page summary::-webkit-details-marker { display: none; }

.cups-cat-faq summary::after,
.cups-faq-page summary::after {
	content: "+";
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 24px;
	font-weight: 300;
	color: #c8a96a;
	transition: transform 0.25s ease, color 0.25s ease;
	line-height: 1;
}
.cups-cat-faq details[open] summary::after,
.cups-faq-page details[open] summary::after {
	transform: translateY(-50%) rotate(45deg);
	color: #E05D84;
}

.cups-cat-faq summary h3,
.cups-faq-page summary h3 {
	display: inline;
	font-family: Helvetica, Arial, sans-serif;
	font-size: 16px;
	font-weight: 600;
	color: #232323;
	margin: 0;
	line-height: 1.45;
}

.cups-cat-faq details > div,
.cups-cat-faq details > p,
.cups-faq-page details > div,
.cups-faq-page details > p {
	padding: 0 20px 18px;
	color: #555;
	line-height: 1.7;
	font-size: 15px;
}
.cups-cat-faq details > div p:first-child,
.cups-faq-page details > div p:first-child { margin-top: 0; }
.cups-cat-faq details > div p:last-child,
.cups-faq-page details > div p:last-child { margin-bottom: 0; }

.cups-cat-faq details a,
.cups-faq-page details a {
	color: #E05D84;
	text-decoration: underline;
	text-underline-offset: 2px;
}
.cups-cat-faq details a:hover,
.cups-faq-page details a:hover { color: #c54a6f; }

.cups-faq-page > p:first-of-type {
	font-size: 16px;
	color: #555;
	margin: 0 0 32px;
	padding: 16px 20px;
	background: #faf7f2;
	border-left: 3px solid #c8a96a;
	border-radius: 0 8px 8px 0;
}

@media (max-width: 600px) {
	.cups-cat-faq,
	.cups-faq-page { padding: 0 16px; }
	.cups-cat-faq h2,
	.cups-faq-page h2 { font-size: 22px; }
	.cups-cat-faq summary,
	.cups-faq-page summary { padding: 14px 44px 14px 16px; }
	.cups-cat-faq summary h3,
	.cups-faq-page summary h3 { font-size: 15px; }
}

/* ============================================================
   Cat-Page Content-Blocks: Snippet-Bait + Sub-Niches + Stand
   ============================================================ */
.cups-cat-intro .cat-snippet-bait {
	margin: 0 0 24px;
	padding: 18px 22px;
	background: linear-gradient(135deg, #fef9f4 0%, #faf0e3 100%);
	border-left: 4px solid #E05D84;
	border-radius: 0 10px 10px 0;
	box-shadow: 0 2px 6px rgba(224,93,132,0.08);
}
.cups-cat-intro .cat-snippet-bait p {
	margin: 0;
	font-size: 16px;
	line-height: 1.6;
	color: #333;
}
.cups-cat-intro .cat-snippet-bait strong {
	display: block;
	font-family: Georgia, "Times New Roman", serif;
	font-size: 18px;
	color: #232323;
	margin-bottom: 6px;
}

.cups-cat-intro .cat-subniches {
	margin: 24px 0 12px;
	padding: 14px 18px;
	background: #f9f6f0;
	border: 1px dashed #d8c8a0;
	border-radius: 8px;
}
.cups-cat-intro .cat-subniches p {
	margin: 0;
	font-size: 14px;
	color: #5a4a2a;
	line-height: 1.55;
}
.cups-cat-intro .cat-subniches strong { color: #6b4f2e; }

.cups-cat-intro .cat-updated {
	margin: 16px 0 0;
	text-align: right;
	color: #999;
	font-size: 12px;
}
.cups-cat-intro .cat-updated small em {
	color: #888;
}

/* ============================================================
   Frontpage-Tiles: visuelle Aufwertung — schwebende Tassen,
   Glow-Effekt, Hover-Animation, neue Kats ohne PNG = Pattern-Gradient
   ============================================================ */
.home-tile {
	position: relative;
	overflow: hidden;
	transition: transform 0.4s cubic-bezier(.2,.8,.2,1), box-shadow 0.4s ease;
	box-shadow: 0 6px 24px rgba(0,0,0,0.08);
}
.home-tile:hover {
	transform: translateY(-4px) scale(1.015);
	box-shadow: 0 16px 40px rgba(0,0,0,0.18);
}
.home-tile__products {
	transition: transform 0.5s cubic-bezier(.2,.8,.2,1);
}
.home-tile:hover .home-tile__products {
	transform: scale(1.08) rotate(-1deg);
}
.home-tile__product {
	filter: drop-shadow(0 8px 20px rgba(0,0,0,0.25));
	animation: tile-float 4s ease-in-out infinite;
}
.home-tile__product--2 {
	animation-delay: 1.5s;
}
@keyframes tile-float {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-8px); }
}

/* Tiles ohne Produkt-PNG: Pattern-Overlay statt nur Gradient */
.home-tile__overlay {
	position: relative;
	z-index: 2;
}

/* ============================================================
   Tile Sparkles + Floating Mug für Tiles ohne Produkt-PNG
   ============================================================ */
.home-tile__sparkles {
	position: absolute;
	inset: 0;
	overflow: hidden;
	pointer-events: none;
	z-index: 1;
}
.home-tile__sparkle {
	position: absolute;
	width: 4px; height: 4px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,0.95) 0%, rgba(255,255,255,0.4) 40%, transparent 70%);
	box-shadow: 0 0 8px rgba(255,255,255,0.7);
	opacity: 0;
	animation: tile-sparkle-twinkle 5s ease-in-out infinite;
}
.home-tile__sparkle--1 { top: 12%; left: 18%; animation-delay: 0s;   }
.home-tile__sparkle--2 { top: 28%; left: 78%; animation-delay: 0.8s; width: 5px; height: 5px; }
.home-tile__sparkle--3 { top: 52%; left:  8%; animation-delay: 1.6s; }
.home-tile__sparkle--4 { top: 68%; left: 88%; animation-delay: 2.4s; width: 3px; height: 3px; }
.home-tile__sparkle--5 { top: 38%; left: 50%; animation-delay: 3.2s; width: 6px; height: 6px; }
.home-tile__sparkle--6 { top: 82%; left: 35%; animation-delay: 4.0s; }
@keyframes tile-sparkle-twinkle {
	0%, 100%   { opacity: 0; transform: scale(0.5); }
	20%, 80%   { opacity: 1; transform: scale(1.2); }
	50%        { opacity: 0.7; transform: scale(0.9); }
}

/* Floating ☕ für Tiles ohne PNG */
.home-tile__floating-mug {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	font-size: 84px;
	opacity: 0.22;
	pointer-events: none;
	filter: drop-shadow(0 6px 16px rgba(0,0,0,0.3));
	animation: tile-mug-float 4s ease-in-out infinite;
	z-index: 1;
}
@keyframes tile-mug-float {
	0%, 100% { transform: translate(-50%, -50%) rotate(-5deg); }
	50%      { transform: translate(-50%, -58%) rotate(5deg); }
}

/* Tiles ohne PNG: leichteres Pattern-Background-Overlay für Tiefe */
.home-tile--no-png::before {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(circle at 25% 25%, rgba(255,255,255,0.15) 0, transparent 35%),
		radial-gradient(circle at 75% 75%, rgba(255,255,255,0.10) 0, transparent 30%),
		radial-gradient(circle at 50% 50%, rgba(0,0,0,0.10) 0, transparent 50%);
	pointer-events: none;
	z-index: 0;
}

/* Hover-Effekt für no-png-Tiles: Floating Mug bewegt sich schneller */
.home-tile--no-png:hover .home-tile__floating-mug {
	animation-duration: 1.5s;
	opacity: 0.32;
}
.home-tile--no-png:hover .home-tile__sparkle {
	animation-duration: 2s;
}

/* Mobile: Sparkles weniger ablenkend */
@media (max-width: 600px) {
	.home-tile__sparkle {
		width: 3px !important;
		height: 3px !important;
	}
	.home-tile__floating-mug {
		font-size: 60px;
	}
}

/* Reduced motion: keine Animation */
@media (prefers-reduced-motion: reduce) {
	.home-tile__sparkle,
	.home-tile__floating-mug,
	.home-tile__product {
		animation: none !important;
	}
}

/* ============================================================
   Mega-Menu Featured-Spalte (Wunschtasse-CTA)
   ============================================================ */
.mega-col--featured {
	background: linear-gradient(135deg, #fce8ef 0%, #f4c8d9 100%);
	border-radius: 12px;
	padding: 20px;
	margin-left: 8px;
}
.mega-col--featured .mega-col__title {
	color: #c43c5e;
	font-size: 18px;
	font-weight: 700;
	display: block;
	margin-bottom: 10px;
}
.mega-col--featured .mega-col__desc {
	font-size: 13.5px;
	line-height: 1.5;
	color: #555;
	margin: 0 0 14px;
}
.mega-col--featured .mega-col__all {
	display: inline-block;
	background: #E05D84;
	color: #fff !important;
	padding: 10px 20px;
	border-radius: 8px;
	font-weight: 600;
	font-size: 14px;
	text-decoration: none;
	transition: background 0.2s ease;
}
.mega-col--featured .mega-col__all:hover {
	background: #c54a6f;
}

/* ============================================================
   Tile-Overlay Layout-Fix — Title + CTA UNTEN, nicht oben
   Plus Floating-Mug-Bilder besser positioniert
   ============================================================ */
.home-tile {
	min-height: 280px !important;
}
.home-tile__overlay {
	position: absolute !important;
	left: 0; right: 0; bottom: 0; top: auto !important;
	display: flex !important;
	flex-direction: column !important;
	align-items: center !important;
	justify-content: flex-end !important;
	padding: 0 18px 22px !important;
	background: linear-gradient(180deg, transparent 0%, transparent 35%, rgba(0,0,0,0.55) 100%) !important;
	min-height: 60% !important;
	z-index: 5 !important;
}
.home-tile--dark .home-tile__overlay {
	background: linear-gradient(180deg, transparent 0%, transparent 30%, rgba(0,0,0,0.7) 100%) !important;
}

/* Tile-Products / Floating-Mug oben + mittig */
.home-tile__products {
	position: absolute !important;
	top: 0; left: 0; right: 0; bottom: 32%;
	z-index: 2;
	padding: 16px;
}
.home-tile__product {
	position: absolute !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	object-position: center bottom !important;
}
/* Single-Tasse: zentriert horizontal, unten verankert */
.home-tile__product--1 {
	left: 50% !important;
	bottom: 8% !important;
	top: auto !important;
	transform: translateX(-50%) rotate(-4deg) !important;
	max-width: 50% !important;
	max-height: 80% !important;
	width: auto !important;
	height: auto !important;
	z-index: 2;
	filter: drop-shadow(0 10px 18px rgba(0,0,0,0.18)) !important;
}
/* Doubles: --1 links unten, --2 rechts mit Y-Versatz nach oben */
.home-tile__products:has(.home-tile__product--2) .home-tile__product--1 {
	left: 6% !important;
	bottom: 4% !important;
	top: auto !important;
	transform: rotate(-9deg) !important;
	max-width: 42% !important;
	max-height: 72% !important;
	width: auto !important;
	height: auto !important;
	z-index: 3;
	filter: drop-shadow(0 10px 16px rgba(0,0,0,0.22)) !important;
}
.home-tile__product--2 {
	right: 6% !important;
	bottom: 18% !important;
	left: auto !important;
	top: auto !important;
	max-width: 36% !important;
	max-height: 60% !important;
	width: auto !important;
	height: auto !important;
	transform: rotate(8deg) !important;
	animation-delay: 1.5s;
	z-index: 2;
	opacity: 0.96 !important;
	filter: drop-shadow(0 6px 12px rgba(0,0,0,0.14)) !important;
}

/* Fallback (Featured-Image vom Produkt) — etwas kleiner */
.home-tile__product--fallback {
	max-width: 55% !important;
	max-height: 75% !important;
	mix-blend-mode: multiply;
	opacity: 0.92;
	filter: drop-shadow(0 12px 24px rgba(0,0,0,0.25));
}
.home-tile--no-png .home-tile__product--fallback {
	mix-blend-mode: normal;
}

/* Title-Position bestätigen */
.home-tile__name {
	display: block;
	margin-bottom: 4px;
}
.home-tile__sub {
	display: block;
	margin-bottom: 10px;
}
.home-tile__cta {
	display: inline-block;
	font-size: 0.78rem;
	letter-spacing: 0.06em;
	color: rgba(255,255,255,0.95);
	text-transform: uppercase;
	font-weight: 600;
	padding-top: 4px;
	border-top: 1px solid rgba(255,255,255,0.35);
}

/* Mega-Menü auf 6 Cols (5 Theme-Cols + 1 Featured) responsive */
.mega-menu-inner {
	grid-template-columns: repeat(5, 1fr) 1.2fr !important;
	gap: 24px !important;
	max-width: 1320px !important;
	padding: 0 32px !important;
}
@media (max-width: 1199px) {
	.mega-menu-inner {
		grid-template-columns: repeat(3, 1fr) !important;
	}
	.mega-col--featured {
		grid-column: span 3;
	}
}
@media (max-width: 768px) {
	.mega-menu-inner {
		grid-template-columns: 1fr 1fr !important;
		gap: 16px !important;
	}
	.mega-col--featured {
		grid-column: span 2;
	}
}

/* Mega-Col cleaner Style */
.mega-col {
	min-height: 140px;
}
.mega-col__title {
	font-size: 0.72rem !important;
	color: #232323 !important;
	border-bottom-color: #E05D84 !important;
	border-bottom-width: 2px !important;
}
.mega-col__list li {
	margin-bottom: 10px !important;
}
.mega-col__list a {
	color: #555 !important;
	font-size: 14px !important;
	text-decoration: none;
	transition: color 0.15s ease;
}
.mega-col__list a:hover {
	color: #E05D84 !important;
}

/* ============================================================
   Megamenü kompakter — 4 Themen-Spalten + Featured
   ============================================================ */
.mega-menu-panel {
	padding: 32px 0 0 !important;
}
.mega-menu-inner {
	grid-template-columns: repeat(4, 1fr) 1.4fr !important;
	gap: 28px !important;
	max-width: 1100px !important;
	padding: 0 32px !important;
}
@media (max-width: 1099px) {
	.mega-menu-inner {
		grid-template-columns: repeat(2, 1fr) 1.2fr !important;
	}
	.mega-col--featured {
		grid-column: span 1;
	}
}
@media (max-width: 768px) {
	.mega-menu-inner {
		grid-template-columns: 1fr 1fr !important;
		gap: 20px !important;
	}
	.mega-col--featured {
		grid-column: span 2;
	}
}

/* Mega-Col enger */
.mega-col {
	min-height: 0 !important;
}
.mega-col__list li {
	margin-bottom: 8px !important;
}
.mega-col__list a {
	font-size: 13.5px !important;
	line-height: 1.45 !important;
}

/* Featured-Col: schmaler, nicht so dominant */
.mega-col--featured {
	padding: 18px !important;
}
.mega-col--featured .mega-col__title {
	font-size: 16px !important;
	color: #c43c5e !important;
	border-bottom: none !important;
	padding-bottom: 0 !important;
	margin-bottom: 8px !important;
}
.mega-col--featured .mega-col__desc {
	font-size: 12.5px !important;
	margin-bottom: 12px !important;
}
.mega-col--featured .mega-col__all {
	padding: 8px 16px !important;
	font-size: 13px !important;
}

/* Tag-Strip am Ende des Megamenüs */
.mega-tag-strip {
	max-width: 1100px;
	margin: 24px auto 0;
	padding: 18px 32px 24px;
	border-top: 1px solid #f0ece7;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}
.mega-tag-strip__label {
	font-family: "Jost", sans-serif;
	font-size: 11.5px;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #888;
	margin-right: 8px;
	font-weight: 600;
}
.mega-tag-strip__tag {
	display: inline-block;
	padding: 5px 12px;
	background: #faf7f2;
	border: 1px solid #ebe3d3;
	border-radius: 16px;
	font-size: 12.5px;
	color: #555;
	text-decoration: none;
	transition: all 0.15s ease;
}
.mega-tag-strip__tag:hover {
	background: #fce8ef;
	border-color: #E05D84;
	color: #E05D84;
}
@media (max-width: 768px) {
	.mega-tag-strip {
		padding: 14px 16px 18px;
	}
	.mega-tag-strip__tag {
		font-size: 11.5px;
		padding: 4px 10px;
	}
}

/* ============================================================
   Megamenü FINAL: 2×2 Themen-Grid + Featured rechts
   Statt 5 Spalten nebeneinander (zu lang) → kompaktes Layout
   ============================================================ */
.mega-menu-panel {
	padding: 28px 0 0 !important;
}
.mega-menu-inner {
	display: grid !important;
	grid-template-columns: repeat(2, 230px) !important;
	grid-template-rows: auto auto !important;
	grid-template-areas:
		"col1 col2"
		"col3 col4" !important;
	gap: 28px 40px !important;
	width: auto !important;
	max-width: 540px !important;
	margin: 0 auto !important;
	padding: 0 32px !important;
	box-sizing: border-box !important;
	justify-content: center !important;
}
.mega-menu-inner .mega-col:nth-child(1) { grid-area: col1; }
.mega-menu-inner .mega-col:nth-child(2) { grid-area: col2; }
.mega-menu-inner .mega-col:nth-child(3) { grid-area: col3; }
.mega-menu-inner .mega-col:nth-child(4) { grid-area: col4; }
.mega-menu-inner .mega-col--featured     { grid-area: feat; align-self: stretch; }

/* Linkliste: vertikal, nicht flex-row */
.mega-menu-panel .mega-col__list {
	display: block !important;
	list-style: none !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}
.mega-menu-panel .mega-col__list li {
	display: list-item !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	width: auto !important;
}
.mega-menu-panel .mega-col__list a {
	display: block !important;
	font-family: "Jost", sans-serif !important;
	font-size: 13px !important;
	font-weight: 400 !important;
	letter-spacing: 0.02em !important;
	text-transform: none !important;
	color: #555 !important;
	text-decoration: none !important;
	line-height: 1.4 !important;
	padding: 2px 0 !important;
}
.mega-menu-panel .mega-col__list li {
	margin: 0 0 4px !important;
}
/* Spalten-Titel etwas dezenter und einheitlicher */
.mega-menu-panel .mega-col__title {
	font-size: 11.5px !important;
	letter-spacing: 0.16em !important;
	padding-bottom: 8px !important;
	margin-bottom: 12px !important;
	border-bottom: 1px solid #E05D84 !important;
}

/* Featured-Block: Karte mit Visual statt flächigem Pink-Block */
.mega-menu-panel .mega-col--featured {
	background: #ffffff !important;
	border: 1px solid #f0e3dc !important;
	border-top: 3px solid #E05D84 !important;
	border-radius: 12px !important;
	padding: 0 0 14px !important;
	margin-left: 6px !important;
	box-shadow: 0 4px 12px rgba(196,60,94,0.08) !important;
	display: flex !important;
	flex-direction: column !important;
	position: relative !important;
	overflow: hidden !important;
}
.mega-col--featured__visual {
	width: 100% !important;
	height: 130px !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 0 12px !important;
	background: linear-gradient(135deg, #fce8ef 0%, #fdf3f6 60%, #ffffff 100%) !important;
	border-radius: 0 !important;
	overflow: hidden !important;
	position: relative !important;
}
.mega-col--featured__visual::before {
	content: '';
	position: absolute;
	width: 240px; height: 240px;
	background: radial-gradient(circle, rgba(255,255,255,0.5) 0%, transparent 60%);
	border-radius: 50%;
	top: -100px; right: -50px;
}
.mega-col--featured__visual img {
	max-width: 95% !important;
	max-height: 120px !important;
	width: auto !important;
	height: auto !important;
	object-fit: contain !important;
	filter: drop-shadow(0 8px 16px rgba(196,60,94,0.18)) !important;
	transition: transform 0.4s ease !important;
	position: relative !important;
	z-index: 2 !important;
	transform: rotate(-4deg) !important;
}
.mega-menu-panel .mega-col--featured:hover .mega-col--featured__visual img {
	transform: rotate(-2deg) translateY(-4px) !important;
}
.mega-col--featured__badge {
	position: absolute !important;
	top: 10px !important;
	left: 50% !important;
	transform: translateX(-50%) !important;
	right: auto !important;
	background: #E05D84 !important;
	color: #fff !important;
	font-family: "Jost", sans-serif !important;
	font-size: 9px !important;
	font-weight: 700 !important;
	letter-spacing: 0.12em !important;
	text-transform: uppercase !important;
	padding: 4px 12px !important;
	border-radius: 0 0 6px 6px !important;
	z-index: 5 !important;
	box-shadow: 0 2px 6px rgba(196,60,94,0.3) !important;
}
.mega-menu-panel .mega-col--featured .mega-col__title {
	font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif !important;
	font-size: 22px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: #232323 !important;
	border-bottom: none !important;
	padding: 0 14px !important;
	margin: 0 0 6px !important;
	text-align: center !important;
}
.mega-menu-panel .mega-col--featured .mega-col__desc {
	font-size: 12px !important;
	line-height: 1.45 !important;
	color: #6b6b6b !important;
	margin: 0 0 12px !important;
	padding: 0 14px !important;
	text-align: center !important;
}
.mega-col--featured__bullets {
	list-style: none !important;
	margin: 0 0 14px !important;
	padding: 0 14px !important;
	font-size: 11.5px !important;
	color: #555 !important;
	display: block !important;
	flex-direction: column !important;
}
.mega-col--featured__bullets li {
	position: relative !important;
	padding: 3px 0 3px 18px !important;
	line-height: 1.4 !important;
	margin: 0 !important;
	display: block !important;
	width: auto !important;
	float: none !important;
}
.mega-col--featured__bullets li::before {
	content: '✓' !important;
	position: absolute !important;
	left: 0 !important;
	top: 3px !important;
	color: #E05D84 !important;
	font-weight: 700 !important;
	font-size: 12px !important;
}
.mega-menu-panel .mega-col--featured .mega-col__all {
	display: block !important;
	background: #E05D84 !important;
	color: #fff !important;
	padding: 10px 14px !important;
	margin: 0 14px !important;
	border-radius: 6px !important;
	font-family: "Jost", sans-serif !important;
	font-weight: 600 !important;
	font-size: 12.5px !important;
	text-decoration: none !important;
	text-align: center !important;
	letter-spacing: 0.02em !important;
	transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease !important;
	box-shadow: 0 2px 8px rgba(196,60,94,0.22) !important;
}
.mega-menu-panel .mega-col--featured .mega-col__all:hover {
	background: #c54a6f !important;
	transform: translateY(-1px) !important;
	box-shadow: 0 4px 12px rgba(196,60,94,0.3) !important;
}
.mega-menu-panel .mega-col--featured .mega-col__all:hover {
	background: #c54a6f !important;
	transform: translateY(-1px) !important;
}
.mega-menu-panel .mega-col__list a:hover {
	color: #E05D84 !important;
}

/* Tablet: 2x2 Themen + Featured darunter */
@media (max-width: 999px) {
	.mega-menu-inner {
		grid-template-columns: 1fr 1fr !important;
		grid-template-areas:
			"col1 col2"
			"col3 col4"
			"feat feat" !important;
	}
}

/* Mobile: alles 1-Spalt */
@media (max-width: 600px) {
	.mega-menu-inner {
		grid-template-columns: 1fr !important;
		grid-template-areas:
			"col1"
			"col2"
			"col3"
			"col4"
			"feat" !important;
		gap: 16px !important;
	}
}

/* Tag-Strip-Width auf neue Layout-Breite anpassen */
.mega-tag-strip {
	max-width: 880px !important;
}

/* Pillar-Header im Megamenü: hover-Pfeil zeigt dass es zu Übersicht geht */
.mega-col__title--pillar {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between !important;
	transition: color 0.15s ease !important;
}
.mega-col__arrow {
	font-size: 11px;
	color: #999;
	transition: transform 0.2s ease, color 0.2s ease;
	margin-left: 8px;
}
.mega-col__title--pillar:hover .mega-col__arrow {
	transform: translateX(3px);
	color: #E05D84;
}

/* Pillar-Page Trust-Box (E-E-A-T) */
.pillar-trust {
	background: #fdf9ec;
	border: 1px solid #e6d8b8;
	border-left: 4px solid #E05D84;
	border-radius: 8px;
	padding: 18px 22px;
	margin: 28px 0;
}
.pillar-trust h3 {
	font-family: "Cormorant Garamond", "Playfair Display", Georgia, serif;
	font-size: 22px;
	color: #232323;
	margin: 0 0 12px;
}
.pillar-trust ul {
	margin: 0;
	padding-left: 18px;
	font-size: 14px;
	line-height: 1.6;
}
.pillar-trust ul li {
	margin-bottom: 6px;
}
.pillar-trust a {
	color: #c43c5e;
	font-weight: 600;
}

/* Pillar-Hero und Cluster-Liste */
.pillar-hero {
	font-size: 17px;
	line-height: 1.55;
	color: #2a2a2a;
	margin: 12px 0 20px;
}
.pillar-cat-list {
	margin: 0 0 24px;
	padding: 0;
	list-style: none;
}
.pillar-cat-list li {
	padding: 10px 14px;
	background: #faf7f2;
	border-radius: 6px;
	margin-bottom: 6px;
	font-size: 14.5px;
}
.pillar-cat-list a {
	color: #232323;
	font-weight: 600;
	text-decoration: none;
}
.pillar-cat-list a:hover {
	color: #E05D84;
}
.pillar-cta-row {
	margin: 24px 0;
	font-size: 15px;
}
.pillar-cta-row a {
	color: #c43c5e;
	font-weight: 600;
	text-decoration: none;
	margin-right: 16px;
}
.pillar-cta-row a:hover {
	text-decoration: underline;
}

/* === Klassik-Cart Standard-Layout === */
body.woocommerce-cart .entry-content > .woocommerce {
	display: block !important;
}
body.woocommerce-cart .woocommerce-cart-form,
body.woocommerce-cart .cart-collaterals {
	width: 100%;
	float: none;
	clear: both;
}
body.woocommerce-cart .cart-collaterals {
	margin-top: 32px;
}
body.woocommerce-cart .cart-collaterals .cart_totals {
	max-width: 480px;
	margin-left: auto;
}
body.woocommerce-cart .cups-checkout-steps,
body.woocommerce-cart .woocommerce-notices-wrapper,
body.woocommerce-cart .cups-cart-discount-notice,
body.woocommerce-cart #cups-cart-volume-holder {
	width: 100%;
	margin-bottom: 24px;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table {
	width: 100%;
}
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail {
	width: 100px;
	padding: 12px;
}
body.woocommerce-cart .woocommerce-cart-form td.product-thumbnail img {
	width: 80px !important;
	height: 80px !important;
	max-width: 80px !important;
	object-fit: contain !important;
	display: block;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name {
	min-width: 240px;
}
body.woocommerce-cart .woocommerce-cart-form .actions {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
	padding: 16px 0;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon {
	display: flex;
	gap: 12px;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon input#coupon_code {
	min-width: 200px;
	height: 44px;
	padding: 0 14px;
}
body.woocommerce-cart .woocommerce-cart-form .actions button {
	height: 44px;
	padding: 0 20px;
}
body.woocommerce-cart .woocommerce-cart-form .actions button[name=update_cart] {
	margin-left: auto;
}
body.woocommerce-cart .entry-content {
	padding-bottom: 24px !important;
}

/* === Footer cups-reveal Force-show === */
.footer-nav.cups-reveal {
	opacity: 1 !important;
	transform: none !important;
}
.footer-inner {
	align-items: start;
	padding-top: 40px !important;
	padding-bottom: 32px !important;
}
.footer-nav--kollektionen ul {
	column-count: 2 !important;
	column-gap: 20px !important;
}

/* === Mobile Overflow-Fix === */
html, body {
	overflow-x: hidden;
}
.announcement-bar {
	overflow: hidden;
}

/* === Cart Update-Button verstecken (Auto-Update aktiv) + Coupon-Layout === */
body.woocommerce-cart .woocommerce-cart-form .actions button[name=update_cart] {
	display: none !important;
}
body.woocommerce-cart .woocommerce-cart-form .actions {
	justify-content: flex-start;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon {
	display: flex;
	flex-direction: row;
	gap: 12px;
	align-items: center;
	flex-wrap: nowrap;
	width: 100%;
	max-width: 500px;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon input#coupon_code {
	flex: 1 1 auto;
}

/* === Cart Premium Polish === */


/* Cart-Tabelle Polish */
body.woocommerce-cart .woocommerce-cart-form table.shop_table {
	border: none;
	border-collapse: collapse;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table thead {
	border-bottom: 2px solid #111;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table th {
	font-family: 'Jost', sans-serif;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #888;
	padding: 14px 10px;
	background: transparent;
	border: none;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item {
	transition: background 0.2s;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item:hover {
	background: #faf7f2;
}
body.woocommerce-cart .woocommerce-cart-form table.shop_table tr.cart_item td {
	border: none;
	border-bottom: 1px solid #eee;
	padding: 20px 10px;
	vertical-align: middle;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name a {
	color: #111;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.95rem;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name a:hover {
	color: #E05D84;
}
body.woocommerce-cart .woocommerce-cart-form td.product-price,
body.woocommerce-cart .woocommerce-cart-form td.product-subtotal {
	font-weight: 600;
}
body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove {
	color: #ccc;
	transition: color 0.2s;
	font-size: 1.4rem;
}
body.woocommerce-cart .woocommerce-cart-form td.product-remove a.remove:hover {
	color: #E05D84;
	background: transparent;
}

/* Cart-Total Premium-Box */
body.woocommerce-cart .cart-collaterals .cart_totals {
	background: linear-gradient(180deg, #f9f5ee 0%, #f4ede1 100%);
	padding: 28px 24px;
	border-radius: 4px;
	border: 1px solid #ebe5d5;
}
body.woocommerce-cart .cart-collaterals .cart_totals h2 {
	font-family: 'Bodoni Moda', serif;
	font-size: 1.4rem;
	margin: 0 0 18px;
	letter-spacing: 0.01em;
	color: #111;
}
body.woocommerce-cart .cart-collaterals .cart_totals table tr {
	border: none;
}
body.woocommerce-cart .cart-collaterals .cart_totals table th,
body.woocommerce-cart .cart-collaterals .cart_totals table td {
	border: none;
	padding: 10px 0;
	background: transparent;
	font-size: 0.92rem;
}
body.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total th,
body.woocommerce-cart .cart-collaterals .cart_totals table tr.order-total td {
	font-size: 1.1rem;
	font-weight: 700;
	border-top: 1px solid #ddd6c5;
	padding-top: 14px;
	color: #111;
}
body.woocommerce-cart .cart-collaterals .cart_totals .wc-proceed-to-checkout {
	margin-top: 18px;
	padding: 0;
}
body.woocommerce-cart .cart-collaterals .cart_totals .checkout-button {
	display: block !important;
	width: 100% !important;
	box-sizing: border-box !important;
	height: auto !important;
	line-height: 1.2 !important;
	padding: 18px 24px !important;
	background: #111 !important;
	color: #fff !important;
	border: none !important;
	border-radius: 0 !important;
	font-family: 'Jost', sans-serif !important;
	font-size: 0.92rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.14em !important;
	text-transform: uppercase !important;
	text-align: center !important;
	transition: background 0.2s, transform 0.1s !important;
	text-decoration: none !important;
	margin: 0 !important;
}
body.woocommerce-cart .cart-collaterals .cart_totals .checkout-button:hover {
	background: #333;
	transform: translateY(-1px);
}

/* Coupon Polish */
body.woocommerce-cart .woocommerce-cart-form .actions {
	border-top: 1px solid #eee;
	padding-top: 20px;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon input#coupon_code {
	border: 1px solid #ddd;
	border-radius: 0;
	font-size: 0.9rem;
	padding: 0 16px;
	background: #fff;
	transition: border-color 0.2s;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon input#coupon_code:focus {
	border-color: #111;
	outline: none;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon button[name=apply_coupon] {
	background: #111;
	color: #fff;
	border: none;
	border-radius: 0;
	font-family: 'Jost', sans-serif;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.2s;
}
body.woocommerce-cart .woocommerce-cart-form .actions .coupon button[name=apply_coupon]:hover {
	background: #333;
}

/* === Germanized Item-Description nur im Checkout-Review verstecken === */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .wc-gzd-item-desc,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .item-desc {
	display: none !important;
}

/* === Cart-Item Meta-Liste hübscher === */
body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation {
	margin: 8px 0 0;
	padding: 8px 12px;
	background: #f9f5ee;
	border-radius: 4px;
	font-size: 0.85rem;
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 4px 12px;
	max-width: 480px;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dt {
	font-weight: 600;
	color: #555;
	margin: 0;
	padding: 0;
	float: none;
	clear: none;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dd {
	margin: 0;
	padding: 0;
	color: #333;
	clear: none;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation dd p {
	margin: 0;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation a {
	color: #E05D84;
	text-decoration: none;
}
body.woocommerce-cart .woocommerce-cart-form td.product-name dl.variation a:hover {
	text-decoration: underline;
}
