﻿/* Shop-Seite: Kategorien-Pills immer sichtbar (kein Dropdown) */
.coopprint-filters-content .coop-category-pills-wrapper {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 0 !important;
}

.coopprint-filters-content .coop-category-pills {
	display: flex !important;
	position: static !important;
	flex-direction: column;
	gap: 8px;
	margin-top: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	z-index: auto !important;
}

.coopprint-filters-content .coop-category-pill {
	width: auto !important;
	text-decoration: none !important; /* Keine Unterstreichung */
}

.coopprint-filters-content .coop-category-pill:hover {
	text-decoration: none !important; /* Keine Unterstreichung beim Hover */
}

/* Padding direkt unter den Überschriften "Sortierung" und "Kategorien" - höhere Spezifität */
.coopprint-filters-content .coop-card.coop-filter-section-sort > h2.coop-product-page__section-title:first-child,
.coopprint-filters-content .coop-filter-section-sort .coop-product-page__section-title {
	margin-bottom: var(--coop-spacing-lg, 16px) !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.coopprint-filters-content .coop-card.coop-filter-section-categories > h2.coop-product-page__section-title:first-child,
.coopprint-filters-content .coop-filter-section-categories .coop-product-page__section-title {
	margin-bottom: var(--coop-spacing-lg, 16px) !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Mobile: Zweispaltige Anzeige */
@media (max-width: 1024px) {
	.coopprint-filters-content .coop-category-pills-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		align-items: start;
	}
	
	.coopprint-filters-content .coop-category-pills-column {
		display: flex;
		flex-direction: column;
		gap: 8px;
		min-width: 0; /* Verhindert Overflow */
		width: 100%;
	}
}

/* Desktop: Einspaltige Anzeige */
@media (min-width: 1025px) {
	.coopprint-filters-content .coop-category-pills-wrapper {
		display: flex;
		flex-direction: column;
	}
	
	.coopprint-filters-content .coop-category-pills-right {
		display: none !important; /* Rechte Spalte auf Desktop ausblenden */
	}
	
	.coopprint-filters-content .coop-category-pills-left {
		width: 100%;
	}
}

/*
Theme Name: CoopPrint V834
Theme URI: https://coopprint.de
Author: CoopPrint Team
Author URI: https://coopprint.de
Description: Custom theme for CoopPrint platform with full Gutenberg support and custom design system.
Version: 1.0.834
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coopprint
Tags: e-commerce, woocommerce, custom-design, gutenberg-ready, block-editor

CoopPrint theme - A custom WordPress theme built for the CoopPrint platform.
*/

/* 
 * Theme styles are loaded via the UI design - Global Foundations.php snippet
 * This file only contains the theme header for WordPress recognition.
 * 
 * BUILD-REGEL: ZIP-Dateien immer mit Versionsnummer benennen!
 * Format: coopprint-v1.zip, coopprint-v2.zip, coopprint-v3.zip, ...
 * Versionsnummer bei jeder neuen ZIP-Datei erhöhen.
 * Siehe auch: README.md und BUILD.md im Theme-Verzeichnis
 * 
 * 🔄 WICHTIG FÜR AI-ASSISTENTEN:
 * ⚠️ AUTOMATISCH ZIP ERSTELLEN BEI JEDER ÄNDERUNG! ⚠️
 * Nach JEDER Code-Änderung am Theme MUSS automatisch eine ZIP erstellt werden:
 * powershell.exe -ExecutionPolicy Bypass -File "wp-content/themes/create-theme-zip.ps1"
 * KEINE AUSNAHMEN - IMMER ZIP ERSTELLEN!
 */

/* Basis-Reset und Typography */
* {
    box-sizing: border-box;
}

/* Shop: Suchleiste rechts bündig über den Produkten ausrichten (Sidebar unberührt) */
@media (min-width: 1025px) {
	.woocommerce-shop .coop-site-header__search-panel,
	.post-type-archive-product .coop-site-header__search-panel {
		left: auto; /* nicht zentriert über gesamte Breite */
		right: 0;   /* an rechten Container-Rand binden */
		width: min( calc(100% - 280px - 16px), 1100px ); /* an Produktspalte orientieren, etwas schmaler */
		max-width: 1100px;
	}
}

/* Shop: Suchleiste als Seitenelement (nicht Header) */
.coopprint-shop-search-panel {
	margin-top: 8px;
	margin-bottom: 12px;
}
.coopprint-shop-search-row {
	display: flex;
	align-items: center;
	gap: 10px;
}
/* Filter-Toggle-Button: Gleiche Styles wie Header-Buttons (Such-Button) */
.coopprint-filter-toggle-inline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	color: var(--coop-button-foreground, var(--coop-button-text, #fff));
	background: var(--coop-button-surface, var(--coop-accent));
	transition: var(--coop-transition, all .2s ease);
}

.coopprint-filter-toggle-inline:not(.active) {
	background: var(--coop-bg-secondary, #ffffff);
	color: var(--coop-text-primary, #1a1a1a);
	border: 1px solid var(--coop-border-light, rgba(120,120,128,0.2));
}

.coopprint-filter-toggle-inline:not(.active):hover {
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
	border-color: var(--coop-accent, #3537e3);
	color: var(--coop-text-primary, #1a1a1a);
}

.coopprint-filter-toggle-inline.active {
	background: var(--coop-accent, #3537e3) !important;
	color: #ffffff !important;
	border: none !important;
}

.coopprint-filter-toggle-inline.active:hover,
.coopprint-filter-toggle-inline.active:focus-visible {
	background: var(--coop-accent-hover, #4f52f0) !important;
	color: #ffffff !important;
}
@media (min-width: 1025px) {
	/* Desktop: in Produktspalte rechtsbündig, gleiche Breite wie Produktspalte */
	.coopprint-shop-search-panel {
		grid-column: 2 / 3;
		justify-self: end;
		width: min(100%, 1100px);
	}
	.coopprint-filter-toggle-inline {
		display: none; /* nur mobil sichtbar */
	}
}
@media (max-width: 1024px) {
	/* Mobil: volle Breite, Button in derselben Zeile rechts */
	.coopprint-shop-search-panel {
		padding: 0 16px;
	}
	.coopprint-shop-search-row {
		justify-content: space-between;
	}
	.coopprint-shop-search-row .coop-header-search-box {
		flex: 1;
	}
}

/* Grid-Only: Standalone-Ausrichtung rechtsbündig auf Desktop */
.coopprint-shop-search-panel--standalone {
	padding: 0 16px;
}
@media (min-width: 1025px) {
	.coopprint-shop-search-panel--standalone {
		padding: 0;
		max-width: 1100px;
		margin-left: auto; /* rechts bündig */
		margin-right: 0;
	}
}

body {
    margin: 0;
    padding: 0;
    font-family: "Inter", "Manrope", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* Verhindere doppelte Navigation im Content (nur auf normalen Seiten/Posts, nicht im Shop) */
.page .entry-content .wp-block-navigation,
.post .entry-content .wp-block-navigation,
.page .entry-content .wp-block-navigation__responsive-container,
.post .entry-content .wp-block-navigation__responsive-container,
.page .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile),
.post .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile) {
    display: none !important;
}

/* Verstecke ungewollte Elemente (nur auf normalen Seiten/Posts) */
.page .entry-content .wp-block-site-logo,
.post .entry-content .wp-block-site-logo,
.page .entry-content .wp-block-site-title,
.post .entry-content .wp-block-site-title,
.page .entry-content .wp-block-query-title,
.post .entry-content .wp-block-query-title,
.page .entry-content .wp-block-post-title,
.post .entry-content .wp-block-post-title,
.page .entry-content .wp-block-post-featured-image,
.post .entry-content .wp-block-post-featured-image {
    display: none !important;
}

/* ============================================
   UI FOUNDATIONS
   ============================================ */
/* CoopPrint Theme - UI Foundations */
/* Basis-Styles für globale Design-Token und Layout-Grundlagen */

/* LIGHT MODE – Customer (Standard) */
:root {
    --coop-bg-primary: #ffffff;
    --coop-bg-secondary: #ffffff;
    --coop-bg-tertiary: #ffffff;
    --coop-bg-box: #ffffff;
    --coop-border: rgba(229, 231, 235, 0.9);
    --coop-border-light: rgba(241, 245, 249, 0.65);
    --coop-text-primary: #181a34;
    --coop-text-secondary: color-mix(in srgb, #181a34 65%, white 35%);
    --coop-text-muted: color-mix(in srgb, #181a34 40%, white 60%);
    --coop-accent: #3537e3;
    --coop-accent-hover: color-mix(in srgb, var(--coop-accent) 85%, white 15%);
    --coop-button-accent: var(--coop-accent);
    --coop-button-accent-hover: var(--coop-accent-hover);
    --coop-button-text: #ffffff;
    --coop-checkbox-color: var(--coop-accent);
    --coop-shell-background: #ffffff;
    --coop-shell-border: rgba(229, 231, 235, 0.9);
    --coop-shell-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
    --coop-button-surface: linear-gradient(135deg, var(--coop-accent) 0%, color-mix(in srgb, var(--coop-accent) 65%, white 35%) 100%);
    --coop-button-surface-hover: linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 85%, white 15%) 0%, color-mix(in srgb, var(--coop-accent-hover) 70%, white 30%) 100%);
    --coop-color-neutral: #6c6d7c;
    --coop-color-brand-strong: #23018f;
    --coop-color-link: #8393f1;
    --e-global-color-primary: var(--coop-text-primary);
    --e-global-color-secondary: #ffffff;
    --e-global-color-text: #000000;
    --e-global-color-accent: var(--coop-color-neutral);
    --e-global-color-18e535b: var(--coop-color-brand-strong);
    --e-global-color-5d317aa: var(--coop-color-link);
    --e-global-color-cc1b7b8: #ffffff;
    --e-global-color-e3f3010: #000000;
    --e-global-color-d0ac475: #ffffff;
    --e-global-color-14fb6be: #b4b4b4;
    --e-global-typography-text-font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    --coop-header-height: 80px;
}

@supports not (color-mix(in srgb, black, transparent)) {
    :root {
        --coop-border: #ced3f0;
        --coop-border-light: #dfe3f6;
        --coop-text-secondary: #4b4f6b;
        --coop-text-muted: #7a81a6;
        --coop-accent-hover: #4f52f0;
        --coop-shell-border: rgba(229, 231, 235, 0.9);
        --coop-shell-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
        --coop-button-surface: linear-gradient(135deg, var(--coop-accent) 0%, #4f52f0 100%);
        --coop-button-surface-hover: linear-gradient(135deg, #4f52f0 0%, #6b6df7 100%);
    }
}

/* DARK MODE – Producer & Designer */
body.coop-dark-area {
    --coop-bg-primary: color-mix(in srgb, #000000 60%, transparent);
    --coop-bg-secondary: color-mix(in srgb, #000000 80%, transparent);
    --coop-bg-tertiary: color-mix(in srgb, #000000 48%, transparent);
    --coop-bg-box: rgba(20, 20, 22, 0.88);
    --coop-border: color-mix(in srgb, rgba(120, 120, 128, 0.7) 24%, transparent);
    --coop-border-light: color-mix(in srgb, rgba(120, 120, 128, 0.5) 12%, transparent);
    --coop-text-primary: #f5f5f7;
    --coop-text-secondary: color-mix(in srgb, var(--coop-text-primary) 70%, rgba(160, 160, 180, 0.85) 30%);
    --coop-text-muted: color-mix(in srgb, var(--coop-text-primary) 45%, rgba(140, 140, 160, 0.6) 55%);
    --coop-accent: #4c6fff;
    --coop-accent-hover: color-mix(in srgb, var(--coop-accent) 70%, #7286ff 30%);
    --coop-button-accent: var(--coop-accent);
    --coop-button-accent-hover: var(--coop-accent-hover);
    --coop-button-text: var(--coop-text-primary);
    --coop-button-surface: var(--coop-accent);
    --coop-button-surface-hover: var(--coop-accent-hover);
    --coop-checkbox-color: var(--coop-accent);
    --coop-shell-background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(8, 8, 10, 0.5) 45%, rgba(6, 6, 8, 0.6) 100%);
    --coop-shell-border: color-mix(in srgb, rgba(120, 120, 128, 0.45) 28%, transparent);
    --coop-shell-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
    --coop-color-neutral: #6c6d7c;
    --coop-color-brand-strong: #23018f;
    --coop-color-link: #8393f1;
    --e-global-color-primary: var(--coop-text-primary);
    --e-global-color-secondary: #000000;
    --e-global-color-text: var(--coop-text-primary);
    --e-global-color-accent: #b4b4b4;
    --e-global-color-18e535b: var(--coop-color-brand-strong);
    --e-global-color-5d317aa: var(--coop-color-link);
    --e-global-color-cc1b7b8: var(--coop-text-primary);
    --e-global-color-e3f3010: #000000;
    --e-global-color-d0ac475: var(--coop-text-primary);
    --e-global-color-14fb6be: #b4b4b4;
    --e-global-typography-text-font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
}

@supports not (color-mix(in srgb, black, transparent)) {
    body.coop-dark-area {
        --coop-bg-primary: rgba(0, 0, 0, 0.6);
        --coop-bg-secondary: rgba(0, 0, 0, 0.8);
        --coop-bg-tertiary: rgba(0, 0, 0, 0.48);
        --coop-border: rgba(120, 120, 128, 0.24);
        --coop-border-light: rgba(120, 120, 128, 0.12);
        --coop-text-muted: rgba(140, 140, 160, 0.55);
        --coop-shell-background: rgba(0, 0, 0, 0.5);
        --coop-shell-border: rgba(120, 120, 128, 0.28);
        --coop-shell-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
        --coop-button-surface: var(--coop-accent);
        --coop-button-surface-hover: var(--coop-accent-hover);
    }
}

/* Design Tokens */
:root {
    --coop-spacing-xs: 6px;
    --coop-spacing-sm: 10px;
    --coop-spacing-md: 16px;
    --coop-spacing-lg: 20px;
    --coop-spacing-xl: 28px;
    --coop-spacing-2xl: 36px;
    --coop-spacing-3xl: 48px;
    --coop-radius-sm: 6px;
    --coop-radius-md: 8px;
    --coop-radius-lg: 12px;
    --coop-radius-xl: 16px;
    --coop-radius-2xl: 24px;
    --coop-transition: all 0.2s ease;
    --coop-transition-fast: all 0.15s ease;
    --coop-transition-slow: all 0.35s ease;
    --coop-font-xs: 12px;
    --coop-font-sm: 13px;
    --coop-font-md: 14px;
    --coop-font-base: 15px;
    --coop-font-lg: 17px;
    --coop-font-xl: 19px;
    --coop-font-2xl: 22px;
    --coop-font-3xl: 28px;
    --coop-font-4xl: 38px;
    --coop-font-5xl: 48px;
    --coop-z-base: 1;
    --coop-z-dropdown: 100;
    --coop-z-sticky: 200;
    --coop-z-overlay: 300;
    --coop-z-modal: 400;
    --coop-z-tooltip: 500;
    /* Color Mix Overlays */
    --coop-accent-overlay-12: var(--coop-accent-overlay-12);
    --coop-accent-overlay-10: var(--coop-accent-overlay-10);
    --coop-bg-secondary-overlay-90: var(--coop-bg-secondary-overlay-90);
}

/* Global Typography */
html, body {
    font-family: "Inter", "Manrope", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Basis-Styling für WordPress Content */
.site-main {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0;
}

/* Padding für primary-content */
#primary-content {
    padding: 25px;
}

/* Shop-Seiten: weniger Abstand oberhalb des Haupt-Blocks,
   damit die Suchleiste näher am Header sitzt */
.woocommerce-shop .site-main,
.post-type-archive-product .site-main {
    padding-top: 0;
}

.entry-content,
.entry-header,
.entry-footer {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
}

.entry-content {
    line-height: 1.65;
    color: var(--coop-text-primary, #181a34);
}

.entry-content p {
    margin-bottom: var(--coop-spacing-md, 16px);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    font-weight: 600;
    margin-top: var(--coop-spacing-xl, 28px);
    margin-bottom: var(--coop-spacing-md, 16px);
    color: var(--coop-text-primary, #181a34);
}

.entry-title {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    font-weight: 700;
    font-size: var(--coop-font-3xl, 28px);
    margin-bottom: var(--coop-spacing-lg, 20px);
    color: var(--coop-text-primary, #181a34);
}

/* Verhindere doppelte Menü-Anzeige im Content (nur auf normalen Seiten/Posts, nicht im Shop) */
.page .entry-content .wp-block-navigation,
.post .entry-content .wp-block-navigation,
.page .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile),
.post .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile),
.page .entry-content .menu,
.post .entry-content .menu,
.page .entry-content .wp-block-navigation__responsive-container,
.post .entry-content .wp-block-navigation__responsive-container {
    display: none !important;
}

/* Verstecke ungewollte Elemente im Content (nur auf normalen Seiten/Posts) */
.page .entry-content .wp-block-site-logo,
.post .entry-content .wp-block-site-logo,
.page .entry-content .wp-block-site-title,
.post .entry-content .wp-block-site-title,
.page .entry-content .wp-block-query-title,
.post .entry-content .wp-block-query-title,
.page .entry-content .wp-block-post-title,
.post .entry-content .wp-block-post-title {
    display: none !important;
}

/* Verstecke Featured Image wenn es im Content erscheint (nur auf normalen Seiten/Posts) */
.page .entry-content .wp-block-post-featured-image,
.post .entry-content .wp-block-post-featured-image,
.page .entry-content .wp-block-cover,
.post .entry-content .wp-block-cover {
    display: none !important;
}

/* Gutenberg Block Styling */
.wp-block-group,
.wp-block-columns,
.wp-block-column {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
}

/* Container & Layout */
.coop-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: var(--coop-spacing-3xl) var(--coop-spacing-xl);
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    font-size: var(--coop-font-base);
    line-height: 1.65;
    color: var(--coop-text-primary);
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}
.coop-container * {
    font-family: inherit !important;
}
.coop-container.compact {
    max-width: 960px;
}
.coop-container.editor {
    max-width: 1100px;
}

/* Grid */
.coop-grid,
.coop-address-blocks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--coop-spacing-md);
    margin-bottom: var(--coop-spacing-xl);
}
.coop-address-blocks {
    gap: var(--coop-spacing-lg);
}
.coop-grid-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--coop-spacing-md);
}
.coop-grid-row-2 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--coop-spacing-md);
}
.coop-grid-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--coop-spacing-md);
}

/* Utility Animations */
@keyframes coopFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes coop-fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.coop-fade-in {
    animation: coop-fadeIn 0.2s ease-in;
}

@media (max-width: 768px) {
    .coop-container {
        padding: var(--coop-spacing-2xl) var(--coop-spacing-lg);
        border-radius: 0;
    }
    .coop-grid,
    .coop-grid-row,
    .coop-grid-row-2,
    .coop-address-blocks {
        grid-template-columns: 1fr;
        gap: var(--coop-spacing-sm);
    }
    .coop-grid-row-3 {
        grid-template-columns: 1fr 1fr;
        gap: var(--coop-spacing-sm);
    }
}

/* Dark area layout support (e.g. Designer / Producer Dashboards) */
body.coop-dark-area {
    background: #090a0f;
    color: var(--coop-text-primary);
}

body.coop-dark-area .site,
body.coop-dark-area .site-content,
body.coop-dark-area .page,
body.coop-dark-area #content,
body.coop-dark-area .wp-site-blocks {
    background: transparent;
}

.ct-container-full[data-content],
main.site-main h1,
main.site-main .page-title,
.entry-content,
.entry-header,
.woocommerce,
.woocommerce.ct-woo-account,
.woocommerce-MyAccount-content {
    background: #ffffff;
    border: none;
    box-shadow: none;
}

/* WooCommerce Checkout - Volle Breite nutzen */
.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .entry-content .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
}
body.coop-dark-area .ct-container-full[data-content],
body.coop-dark-area main.site-main h1,
body.coop-dark-area main.site-main .page-title,
body.coop-dark-area .entry-content,
body.coop-dark-area .entry-header,
body.coop-dark-area .woocommerce,
body.coop-dark-area .woocommerce.ct-woo-account,
body.coop-dark-area .woocommerce-MyAccount-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body.coop-dark-area .ct-container-full[data-content]::before,
body.coop-dark-area .ct-container-full[data-content]::after {
    content: none !important;
    background: transparent !important;
}

body.coop-dark-area .site-header,
body.coop-dark-area .site-header .header-inner,
body.coop-dark-area .site-footer,
body.coop-dark-area .site-footer .footer-inner,
body.coop-dark-area .ct-header,
body.coop-dark-area .ct-footer {
    background: rgba(12, 12, 18, 0.92);
    color: var(--coop-text-primary);
}

body.coop-dark-area .ct-header .ct-container,
body.coop-dark-area .ct-header [data-device],
body.coop-dark-area .ct-header [data-row],
body.coop-dark-area .ct-header [data-column],
body.coop-dark-area .ct-header [data-items],
body.coop-dark-area .ct-header .menu-container,
body.coop-dark-area .ct-header .site-branding,
body.coop-dark-area .ct-header .ct-header-cart,
body.coop-dark-area .ct-header .ct-header-search,
body.coop-dark-area .ct-header .ct-header-trigger,
body.coop-dark-area .ct-header .ct-header-cart .ct-cart-content,
body.coop-dark-area .ct-header .ct-header-cart .ct-cart-content * {
    background: transparent;
}

body.coop-dark-area .ct-header .menu-container,
body.coop-dark-area .ct-header .ct-menu-link,
body.coop-dark-area .ct-header .ct-icon,
body.coop-dark-area .ct-header .ct-label,
body.coop-dark-area .ct-header .ct-header-cart,
body.coop-dark-area .ct-header .ct-header-search {
    color: var(--coop-text-primary);
    fill: currentColor;
    stroke: none;
}

body.coop-dark-area .ct-header .ct-menu-link:hover,
body.coop-dark-area .ct-header .ct-menu-link:focus,
body.coop-dark-area .ct-header .ct-header-cart:hover,
body.coop-dark-area .ct-header .ct-header-search:hover {
    color: var(--coop-accent);
}

body.coop-dark-area .ct-sidebar,
body.coop-dark-area .ct-sidebar[data-type],
body.coop-dark-area .ct-sidebar-inner,
body.coop-dark-area .ct-widget-area,
body.coop-dark-area .ct-widget-area-inner,
body.coop-dark-area .widget-area,
body.coop-dark-area .widget-area .widget,
body.coop-dark-area .widget-area .ct-widget,
body.coop-dark-area .sidebar,
body.coop-dark-area .sidebar-inner,
body.coop-dark-area .sidebar section,
body.coop-dark-area .ct-sidebar .widget,
body.coop-dark-area .ct-sidebar .ct-widget,
body.coop-dark-area aside.ct-widget,
body.coop-dark-area aside.widget {
    background: rgba(17, 18, 26, 0.88);
    color: var(--coop-text-secondary);
    border: 1px solid color-mix(in srgb, var(--coop-text-secondary) 18%, transparent);
    border-radius: var(--coop-radius-xl);
    padding: var(--coop-spacing-lg);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 45px rgba(8, 8, 12, 0.42);
}

body.coop-dark-area .ct-account-nav,
body.coop-dark-area .ct-acount-nav {
    background: rgba(17, 18, 26, 0.9);
    border-radius: var(--coop-radius-2xl);
    padding: var(--coop-spacing-xl);
    border: 1px solid color-mix(in srgb, var(--coop-text-secondary) 20%, transparent);
    box-shadow: 0 20px 50px rgba(9, 10, 15, 0.55);
}

body.coop-dark-area .ct-account-nav .woocommerce-MyAccount-navigation,
body.coop-dark-area .ct-acount-nav .woocommerce-MyAccount-navigation {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

body.coop-dark-area .woocommerce-MyAccount-navigation {
    display: block !important;
    visibility: visible !important;
}
body.coop-dark-area .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--coop-spacing-sm);
}

body.coop-dark-area .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--coop-spacing-sm);
    padding: var(--coop-spacing-md) var(--coop-spacing-lg);
    border-radius: var(--coop-radius-lg);
    background: color-mix(in srgb, var(--coop-bg-primary) 70%, transparent);
    color: var(--coop-text-primary);
    font-weight: 500;
    text-decoration: none;
    transition: var(--coop-transition);
    border: 1px solid transparent;
}

body.coop-dark-area .woocommerce-MyAccount-navigation a:hover {
    border-color: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    background: color-mix(in srgb, var(--coop-accent) 20%, transparent);
    color: var(--coop-text-primary);
}

body.coop-dark-area .woocommerce-MyAccount-navigation li.is-active a,
body.coop-dark-area .woocommerce-MyAccount-navigation a[aria-current="page"] {
    border-color: color-mix(in srgb, var(--coop-accent) 55%, transparent);
    background: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    box-shadow: 0 10px 25px rgba(56, 78, 255, 0.25);
}

body.coop-dark-area .site-header a,
body.coop-dark-area .site-header .ct-menu-link,
body.coop-dark-area .site-footer a,
body.coop-dark-area .ct-header a,
body.coop-dark-area .ct-footer a {
    color: var(--coop-text-primary);
}

body.coop-dark-area .ct-sidebar a,
body.coop-dark-area .ct-widget-area a,
body.coop-dark-area .widget-area a,
body.coop-dark-area .sidebar a {
    color: var(--coop-accent);
}

body.coop-dark-area .site-header a:hover,
body.coop-dark-area .site-footer a:hover,
body.coop-dark-area .ct-header a:hover,
body.coop-dark-area .ct-footer a:hover {
    color: var(--coop-accent);
}

body.coop-role-designer .site-header,
body.coop-role-designer .ct-header {
    box-shadow: 0 12px 40px rgba(88, 28, 135, 0.35);
}

body.coop-role-producer .site-header,
body.coop-role-producer .ct-header {
    box-shadow: 0 12px 40px rgba(15, 118, 110, 0.35);
}

/* Coop Header */
.coop-site-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: var(--coop-z-sticky, 200);
    background: color-mix(in srgb, var(--coop-bg-primary) 94%, transparent);
    border-bottom: 1px solid var(--coop-border, rgba(35, 34, 102, 0.08));
    box-shadow: 0 18px 36px rgba(35, 34, 102, 0.07);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    overflow: visible;
}
.coop-site-header:has(.coop-site-header__mobile-panel.is-open) {
    overflow: visible;
}
body:has(.coop-site-header__mobile-panel.is-open) .coop-site-header {
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
}
.coop-site-header--dark {
    background: color-mix(in srgb, #0c0c15 92%, transparent);
    border-bottom-color: color-mix(in srgb, rgba(120, 120, 160, 0.5) 20%, transparent);
    box-shadow: 0 28px 48px rgba(2, 4, 16, 0.55);
}
.coop-site-header__skip-link {
    position: absolute;
    top: -999px;
    left: 50%;
    transform: translateX(-50%);
    padding: var(--coop-spacing-sm) var(--coop-spacing-lg);
    background: var(--coop-accent);
    color: #ffffff;
    border-radius: var(--coop-radius-md);
    font-weight: 600;
    z-index: 999;
}
.coop-site-header__skip-link:focus {
    top: var(--coop-spacing-sm);
}
.coop-site-header__main {
    padding: var(--coop-spacing-sm) 0;
}
.coop-site-header__inner {
    width: min(1320px, 100%);
    margin: 0 auto;
    padding: 0 var(--coop-spacing-xl);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: var(--coop-spacing-xl);
    min-height: 78px;
}
.coop-site-header__brand {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
}
.coop-site-header__logo-link {
    display: inline-flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
    text-decoration: none;
    color: var(--coop-text-primary);
    font-weight: 700;
    font-size: var(--coop-font-2xl);
}
.coop-site-header__logo-link img {
    max-height: 42px;
    width: auto;
    height: auto;
    display: block;
}
.coop-site-header__logo-text {
    font-weight: 700;
    letter-spacing: -0.4px;
}
.coop-site-header__nav {
    display: flex;
    justify-content: center;
}
.coop-site-header__brand { justify-self: start; display: flex; align-items: center; gap: var(--coop-spacing-sm); }
.coop-brand-actions { display: none; } /* nicht mehr verwendet */
.coop-actions-fixed { display: inline-flex; align-items: center; gap: var(--coop-spacing-sm); }
.coop-site-header__actions { justify-self: end; }
.coop-site-header__menu {
    display: flex;
    gap: var(--coop-spacing-lg);
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}
.coop-site-header__menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: var(--coop-font-sm);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--coop-text-secondary);
    text-decoration: none;
    padding: 8px 0;
    position: relative;
    transition: color var(--coop-transition);
}
.coop-site-header__menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 3px;
    background: var(--coop-accent);
    border-radius: 999px;
    transform: scaleX(0);
    opacity: 0;
    transition: transform var(--coop-transition), opacity var(--coop-transition);
}
.coop-site-header__menu > li.current-menu-item > a,
.coop-site-header__menu > li.current-menu-parent > a,
.coop-site-header__menu > li > a:hover,
.coop-site-header__menu > li > a:focus-visible {
    color: var(--coop-text-primary);
}
.coop-site-header__menu > li.current-menu-item > a::after,
.coop-site-header__menu > li.current-menu-parent > a::after,
.coop-site-header__menu > li > a:hover::after,
.coop-site-header__menu > li > a:focus-visible::after {
    transform: scaleX(1);
    opacity: 1;
}
.coop-site-header__actions {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
}
.coop-actions-separator {
    display: inline-block;
    width: 1px;
    height: 28px;
    margin: 0 var(--coop-spacing-sm);
    background: var(--coop-border);
}

/* Kunden-Actions: Platz erhalten, bei Partner-Modus nur unsichtbar */
.coop-actions-customer {
    display: inline-flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
}
/* Kunden-Actions im Partnermodus dezent und deaktiviert */
.coop-actions-customer.is-dimmed {
    opacity: .45;
    filter: grayscale(40%);
    pointer-events: none;
    transition: opacity var(--coop-transition);
}

/* Optional: Separator etwas dezenter im Partnermodus */
/* (separator removed) */

/* Partner Toggle in Actions */
.coop-partner-toggle {
	border: 1px solid var(--coop-border);
	border-radius: 999px;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--coop-text-secondary);
	background: var(--coop-bg-secondary-overlay-90);
}
.coop-partner-toggle .coop-icon {
	margin-right: 0;
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.coop-partner-toggle:hover,
.coop-partner-toggle:focus-visible {
	color: var(--coop-accent);
	border-color: color-mix(in srgb, var(--coop-accent) 40%, transparent);
	background: var(--coop-accent-overlay-12);
}
.coop-partner-toggle.is-active {
	color: var(--coop-accent);
	border-color: color-mix(in srgb, var(--coop-accent) 50%, transparent);
	background: color-mix(in srgb, var(--coop-accent) 16%, transparent);
}

/* Menümodus Toggle (Kunde | Partner) */
.coop-navmode-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--coop-text-secondary);
	text-decoration: none;
	position: relative;
	padding: 8px 0;
	margin-right: var(--coop-spacing-lg);
	transition: color var(--coop-transition);
}
.coop-navmode-link__label {
	font-size: var(--coop-font-sm);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 600;
}
.coop-navmode-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	height: 3px;
	background: var(--coop-accent);
	border-radius: 999px;
	transform: scaleX(0);
	opacity: 0;
	transition: transform var(--coop-transition), opacity var(--coop-transition);
}
.coop-navmode-link:hover,
.coop-navmode-link:focus-visible {
	color: var(--coop-text-primary);
}
.coop-navmode-link:hover::after,
.coop-navmode-link:focus-visible::after {
	transform: scaleX(1);
	opacity: 1;
}

/* Icon-Ausrichtung für Account/Cart */
.coop-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 8px;
}

/* Cart Badge am Icon Button */
.coop-cart-btn {
	position: relative;
}
.coop-cart-badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--coop-accent);
	color: #fff;
	font-size: 10px;
	line-height: 16px;
	text-align: center;
	border: 1px solid color-mix(in srgb, #000 10%, transparent);
}

/* Korrektur: Icon in runden Account-/Cart-Buttons exakt zentrieren, ohne Außenabstand */
.coop-site-header__icon-btn.coop-site-header__account .coop-icon,
.coop-site-header__icon-btn.coop-site-header__cart .coop-icon {
	margin-right: 0;
	width: 18px;
	height: 18px;
}

/* Partner Toggle Active State */
.coop-mobile-action.is-active {
	color: var(--coop-accent);
	border-color: var(--coop-accent);
	background: var(--coop-accent-overlay-12);
}

/* Mobile Search kompakter */
.coop-site-header__search--mobile .coop-site-header__search-input {
	height: 36px;
	padding: 6px 10px;
	border-radius: 10px;
}
.coop-site-header__icon-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--coop-border-light);
    background: transparent;
    color: var(--coop-text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--coop-font-lg);
    cursor: pointer;
    transition: var(--coop-transition);
}
.coop-site-header__icon-btn:hover,
.coop-site-header__icon-btn:focus-visible {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 40%, transparent);
    background: var(--coop-accent-overlay-12);
}

/* Dark Mode Toggle Button */
.coop-dark-mode-toggle {
    position: relative;
}

.coop-dark-mode-toggle__icon {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
}

.coop-dark-mode-toggle__icon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.coop-dark-mode-toggle__icon-moon {
    display: block;
}

.coop-dark-mode-toggle__icon-sun {
    display: none;
}

/* Wenn Dark Mode aktiv ist - wird durch JavaScript gesteuert */
body.coop-dark-mode-manual .coop-dark-mode-toggle__icon-moon,
body.coop-dark-area:not(.coop-dark-mode-manual) .coop-dark-mode-toggle__icon-moon {
    display: none !important;
}

body.coop-dark-mode-manual .coop-dark-mode-toggle__icon-sun,
body.coop-dark-area:not(.coop-dark-mode-manual) .coop-dark-mode-toggle__icon-sun {
    display: block !important;
}

/* Dark Mode Toggle - Button-spezifische Anpassungen */
.coop-site-header__mobile-dark-toggle {
    text-align: left;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.coop-site-header__account,
.coop-site-header__cart {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--coop-text-secondary);
    transition: var(--coop-transition);
    border: 1px solid transparent;
}
.coop-site-header__account:hover,
.coop-site-header__account:focus-visible,
.coop-site-header__cart:hover,
.coop-site-header__cart:focus-visible {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    background: var(--coop-accent-overlay-12);
}
.coop-site-header__icon-btn.coop-site-header__account,
.coop-site-header__icon-btn.coop-site-header__cart {
    /* Runde Icon-Buttons wie Suche/DarkMode */
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--coop-border);
    color: var(--coop-text-secondary);
    background: var(--coop-bg-secondary-overlay-90);
}
.coop-site-header__icon-btn.coop-site-header__account:hover,
.coop-site-header__icon-btn.coop-site-header__account:focus-visible,
.coop-site-header__icon-btn.coop-site-header__cart:hover,
.coop-site-header__icon-btn.coop-site-header__cart:focus-visible {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 40%, transparent);
    background: var(--coop-accent-overlay-12);
}
.coop-site-header__cart {
    position: relative;
    padding-right: 22px;
}
.coop-site-header__cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--coop-accent);
    color: var(--coop-button-text, #ffffff);
    font-size: var(--coop-font-xs);
    font-weight: 700;
}
.coop-site-header__cart-label {
    font-size: var(--coop-font-md);
}
.coop-site-header__mobile-toggle {
    display: none;
    position: relative;
    width: 44px;
    height: 44px;
    border: 1px solid var(--coop-border-light);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    padding: 10px;
    transition: var(--coop-transition);
    margin-left: auto;
    margin-right: 0;
}
.coop-site-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--coop-spacing-sm);
}
.coop-site-header__actions .coop-site-header__mobile-toggle {
    margin-left: auto;
    margin-right: 0;
    order: 999; /* Ganz nach rechts */
    position: relative;
    z-index: 100001 !important; /* Über der Sidebar (100000) */
}
.coop-site-header__mobile-toggle span {
    position: absolute;
    left: 50%;
    width: 18px;
    height: 2px;
    background: var(--coop-text-primary);
    transform: translateX(-50%);
    transition: transform var(--coop-transition), opacity var(--coop-transition);
}
.coop-site-header__mobile-toggle span:nth-child(1) { top: 14px; }
.coop-site-header__mobile-toggle span:nth-child(2) { top: 21px; }
.coop-site-header__mobile-toggle span:nth-child(3) { top: 28px; }
.coop-site-header__mobile-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateX(-50%) rotate(45deg);
    top: 21px;
}
.coop-site-header__mobile-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}
.coop-site-header__mobile-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateX(-50%) rotate(-45deg);
    top: 21px;
}
.coop-site-header__search-panel {
    position: absolute;
    inset: auto 0 auto 0;
    top: calc(100% + 8px);
    margin: 0 auto;
    width: min(680px, calc(100% - 32px));
    background: var(--coop-bg-primary);
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-xl);
    box-shadow: 0 24px 52px rgba(9, 12, 38, 0.18);
    padding: var(--coop-spacing-xl) var(--coop-spacing-lg);
    display: flex;
    justify-content: center;
    transition: var(--coop-transition-slow);
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
}
.coop-site-header__search-panel form {
    width: 100%;
    display: flex;
    gap: var(--coop-spacing-sm);
    align-items: center;
}
.coop-site-header__search-panel input[type="search"] {
    flex: 1;
    padding: 14px 18px;
    border-radius: var(--coop-radius-lg);
    border: 1px solid var(--coop-border-light);
    background: var(--coop-bg-secondary);
    font-size: var(--coop-font-lg);
    color: var(--coop-text-primary);
    transition: var(--coop-transition);
}
.coop-site-header__search-panel input[type="search"]:focus {
    outline: none;
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}
.coop-site-header__search-panel button {
    padding: 14px 20px;
    border-radius: var(--coop-radius-lg);
    border: none;
    background: var(--coop-button-surface, var(--coop-accent));
    color: var(--coop-button-text, #ffffff);
    font-weight: 600;
    font-size: var(--coop-font-md);
    cursor: pointer;
    transition: var(--coop-transition);
}
.coop-site-header__search-panel button:hover,
.coop-site-header__search-panel button:focus-visible {
    background: var(--coop-button-surface-hover, var(--coop-accent-hover));
}
.coop-site-header__search-panel.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: all;
}

/* Kompaktere Shop-Suchleiste: nur noch der innere Kasten sichtbar */
.coop-site-header__search-panel {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}
.coop-site-header__search-panel form {
	display: block;
}
.coop-header-search-box {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--coop-surface, #fff);
	border: 1px solid var(--coop-border, rgba(0,0,0,.12));
	border-radius: var(--coop-radius-xl, 14px);
	/* Minimale Höhe */
	min-height: 48px;
}
.coop-header-search-box input[type="search"] {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	box-shadow: none;
	padding: 12px 90px 12px 16px; /* Platz rechts für Clear-Button (48px) + Submit-Button (36px + 6px) */
	color: var(--coop-text-primary);
}
.coop-header-search-box input[type="search"]::placeholder {
	color: var(--coop-text-secondary, #888);
}
.coop-header-search-clear {
	position: absolute;
	right: 48px; /* Platz für Submit-Button (36px + 6px margin) */
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	display: none; /* standardmäßig versteckt, wird per JS/Input-Event angezeigt */
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	color: var(--coop-text-secondary, #888);
	background: transparent;
	transition: var(--coop-transition, all .2s ease);
	opacity: 0.7;
}
.coop-header-search-clear:hover,
.coop-header-search-clear:focus-visible {
	opacity: 1;
	color: var(--coop-text-primary, #1a1a1a);
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
}
.coop-header-search-clear svg {
	width: 16px;
	height: 16px;
	display: block;
}
.coop-header-search-submit {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	color: var(--coop-button-foreground, #fff);
	background: var(--coop-button-surface, var(--coop-accent));
	transition: var(--coop-transition, all .2s ease);
}
.coop-header-search-submit:hover,
.coop-header-search-submit:focus-visible {
	background: var(--coop-button-surface-hover, var(--coop-accent-hover));
}

/* Such-Lupe: keine Sprung-/Scale-Animation beim Hover/Klick */
.coop-header-search-submit,
.coop-header-search-submit:hover,
.coop-header-search-submit:active,
.coop-header-search-submit:focus-visible {
	transform: translateY(-50%) !important; /* nur zentrieren, keine zusätzliche Bewegung */
	box-shadow: none !important;
}

/* Dark Mode Anpassungen */
.coop-dark-area .coop-header-search-box {
	background: var(--coop-surface, #111);
	border-color: var(--coop-border, rgba(255,255,255,.12));
}
.coop-dark-area .coop-header-search-box input[type="search"] {
	color: var(--coop-text-primary, #f5f5f5);
}
.coop-dark-area .coop-header-search-box input[type="search"]::placeholder {
	color: var(--coop-text-secondary, #aaa);
}
.coop-dark-area .coop-header-search-clear {
	color: var(--coop-text-secondary, #aaa);
}
.coop-dark-area .coop-header-search-clear:hover,
.coop-dark-area .coop-header-search-clear:focus-visible {
	color: var(--coop-text-primary, #f5f5f5);
	background: color-mix(in srgb, var(--coop-bg-tertiary) 80%, rgba(255, 255, 255, 0.1) 20%);
}
/* Mobile Sidebar Panel - Positionierung genau wie Astra */
/* Mobile Panel nicht mehr verwendet - komplett ausblenden */
.coop-site-header__mobile-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.coop-site-header__mobile-panel[hidden] {
    display: none !important;
}
.coop-site-header__mobile-panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: all !important;
    transform: translateX(0) !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
body.coop-dark-area .coop-site-header__mobile-panel {
    background: transparent !important;
}
body.coop-dark-area .coop-site-header__mobile-panel.is-open {
    background: transparent !important;
}
.coop-site-header__mobile-inner {
    width: 100% !important;
    background: var(--coop-bg-primary, #ffffff) !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: var(--coop-spacing-xl) var(--coop-spacing-xl);
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md);
    border-left: 1px solid var(--coop-border);
    box-shadow: -24px 0 48px rgba(0, 0, 0, 0.15);
    overflow-y: auto;
    overflow-x: hidden;
}

/* Mobile Menu Header mit Schließen-Button */
body.coop-dark-area .coop-site-header__mobile-inner {
    background: #000000 !important;
    box-shadow: -24px 0 48px rgba(0, 0, 0, 0.5) !important;
}
.coop-site-header__nav-mobile {
    margin-top: calc(44px + var(--coop-spacing-lg)) !important; /* Platz für Hamburger-Button (44px) + Abstand */
    padding-top: 0;
}

.coop-site-header__nav-mobile ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--coop-spacing-md);
}
/* Mobile Menu Items: Nur Text, linksbündig */
.coop-site-header__nav-mobile a {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: var(--coop-spacing-md) !important;
    border-radius: var(--coop-radius-lg) !important;
    text-decoration: none !important;
    color: var(--coop-text-primary) !important;
    font-family: "Inter", "Manrope", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 600 !important;
    font-size: var(--coop-font-lg) !important;
    line-height: 1.5 !important;
    background: var(--coop-bg-secondary) !important;
    border: 1px solid transparent !important;
    transition: var(--coop-transition) !important;
    width: 100% !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-align: left !important;
}

.coop-site-header__nav-mobile a:hover,
.coop-site-header__nav-mobile a:focus-visible {
    border-color: var(--coop-accent);
    background: var(--coop-accent-overlay-12);
    color: var(--coop-text-primary);
}

body.coop-dark-area .coop-site-header__nav-mobile a {
    background: var(--coop-bg-secondary-overlay-90);
    border: 1px solid color-mix(in srgb, var(--coop-border) 60%, transparent);
}

body.coop-dark-area .coop-site-header__nav-mobile a:hover,
body.coop-dark-area .coop-site-header__nav-mobile a:focus-visible {
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent);
}
/* Mobile Actions: Icons nebeneinander */
.coop-site-header__mobile-actions {
    margin-top: var(--coop-spacing-lg);
    padding-top: var(--coop-spacing-lg);
    border-top: 1px solid var(--coop-border);
}

.coop-mobile-actions-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--coop-spacing-md);
    flex-wrap: wrap;
}

/* Mobile Icon Buttons - nur Icons, nebeneinander */
.coop-mobile-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    border: 1px solid var(--coop-border-light) !important;
    background: var(--coop-bg-secondary) !important;
    color: var(--coop-text-primary) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: var(--coop-transition) !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.coop-mobile-icon-btn:hover,
.coop-mobile-icon-btn:focus-visible {
    border-color: var(--coop-accent) !important;
    background: var(--coop-accent-overlay-12) !important;
    color: var(--coop-accent) !important;
}

.coop-mobile-icon-btn.is-active {
    border-color: var(--coop-accent) !important;
    background: var(--coop-accent-overlay-12) !important;
    color: var(--coop-accent) !important;
}

body.coop-dark-area .coop-mobile-icon-btn {
    background: var(--coop-bg-secondary-overlay-90) !important;
    border-color: color-mix(in srgb, var(--coop-border) 60%, transparent) !important;
}

body.coop-dark-area .coop-mobile-icon-btn:hover,
body.coop-dark-area .coop-mobile-icon-btn:focus-visible {
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent) !important;
}

/* Icons in Mobile Icon Buttons */
.coop-mobile-icon-btn svg,
.coop-mobile-icon-btn .coop-dark-mode-toggle__icon {
    width: 20px;
    height: 20px;
    display: block;
}

.coop-mobile-icon-btn .coop-dark-mode-toggle__icon {
    position: relative;
}

.coop-mobile-icon-btn .coop-dark-mode-toggle__icon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Cart Badge in Mobile Icon Button */
.coop-mobile-icon-btn .coop-site-header__cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--coop-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Alte Mobile Action Styles entfernt - jetzt nur noch Icon-Buttons */

/* Mobile Dark Mode Toggle - sichtbar nur im Mobile-Menü */
@media (min-width: 1025px) {
    .coop-site-header__mobile-dark-toggle {
        display: none;
    }
}
.coop-site-header__search--mobile {
    flex-direction: column;
    align-items: stretch;
    padding: var(--coop-spacing-md);
    background: var(--coop-bg-secondary);
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-lg);
}
body.coop-dark-area .coop-site-header__search--mobile {
    background: color-mix(in srgb, var(--coop-bg-secondary) 94%, transparent);
    border: 1px solid color-mix(in srgb, var(--coop-border) 60%, transparent);
}
.coop-site-header__search--mobile .coop-site-header__search-input {
    padding: var(--coop-spacing-sm);
}
.coop-site-header__search--mobile .coop-site-header__search-submit {
    width: 100%;
    margin-top: var(--coop-spacing-sm);
}

@media (max-width: 1200px) {
    .coop-site-header__inner {
        gap: var(--coop-spacing-lg);
    }
    .coop-site-header__menu {
        gap: var(--coop-spacing-md);
    }
    .coop-site-header__search {
        min-width: 220px;
    }
}

@media (max-width: 1024px) {
    
    .coop-site-header {
        position: sticky;
        top: 0;
    }
    .coop-site-header__nav {
        display: none;
    }
    .coop-site-header__search-panel {
        display: none;
    }
    .coop-site-header__actions {
        gap: var(--coop-spacing-xs);
    }
    .coop-site-header__inner {
        grid-template-columns: 1fr auto; /* Logo links, Actions rechts */
    }
    .coop-site-header__nav {
        display: none; /* Navigation auf Mobile ausblenden */
    }
    .coop-site-header__account,
    .coop-site-header__cart {
        padding: 8px 12px;
        font-size: var(--coop-font-sm);
    }
    /* Icon-Buttons auf Mobile sichtbar machen */
    .coop-site-header__icon-btn {
        display: inline-flex;
        padding: 8px; /* Kompakter auf Mobile */
        min-width: 40px;
        min-height: 40px;
    }
    /* Mobile Toggle Button komplett ausblenden */
    .coop-site-header__mobile-toggle {
        display: none !important;
    }
    .coop-site-header__actions {
        justify-content: flex-end; /* Alles nach rechts */
    }
}

@media (min-width: 1025px) {
    .coop-site-header__mobile-toggle {
        display: none !important;
    }
    .coop-site-header__mobile-panel {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .coop-site-header__mobile-panel.is-open {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .coop-site-header__nav {
        display: block !important;
    }
}

@media (max-width: 768px) {
    .coop-site-header__inner {
        padding: 0 var(--coop-spacing-lg);
    }
    .coop-site-header__inner {
        gap: var(--coop-spacing-md);
    }
    .coop-site-header__brand {
        flex: 1;
    }
    
    /* Padding für Cards im Mobile-Modus halbieren (nach innen gerichtetes Padding) */
    .coop-card {
        padding: calc(var(--coop-spacing-xl) / 2) !important;
    }
    
    /* Padding für primary-content */
    .site-main,
    #primary-content {
        padding: 3.5%;
    }
}




/* ============================================
   UI COMPONENTS
   ============================================ */
/* CoopPrint Theme - UI Components */
/* Cards, Formulare, Tabellen und allgemeine UI-Komponenten */

/* Cards & Boxes */
.coop-card,
.coop-stat-box,
.coop-info-box,
.coop-address-block {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border-light, var(--coop-border));
    border-radius: var(--coop-radius-2xl);
    padding: var(--coop-spacing-xl);
    transition: var(--coop-transition);
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 36px rgba(35, 34, 102, 0.08), 0 3px 12px rgba(35, 34, 102, 0.04);
}
body.coop-dark-area .coop-card,
body.coop-dark-area .coop-stat-box,
body.coop-dark-area .coop-info-box,
body.coop-dark-area .coop-address-block {
    box-shadow: 0 22px 38px rgba(5, 7, 22, 0.58), inset 0 1px 0 rgba(148, 163, 255, 0.04);
}
.coop-card::before,
.coop-stat-box::before,
.coop-info-box::before,
.coop-address-block::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 18%, transparent) 0%, transparent 65%);
    opacity: 0.15;
    transition: opacity var(--coop-transition);
}
body.coop-dark-area .coop-card::before,
body.coop-dark-area .coop-stat-box::before,
body.coop-dark-area .coop-info-box::before,
body.coop-dark-area .coop-address-block::before {
    opacity: 0.25;
}
.coop-address-block {
    padding: var(--coop-spacing-md);
}
.coop-card:hover,
.coop-stat-box:hover,
.coop-address-block:hover {
    border-color: var(--coop-accent);
    box-shadow: 0 22px 50px rgba(35, 34, 102, 0.12), 0 6px 16px rgba(35, 34, 102, 0.08);
    /* transform: translateY entfernt für bessere Button-Zielbarkeit */
}
body.coop-dark-area .coop-card:hover,
body.coop-dark-area .coop-stat-box:hover,
body.coop-dark-area .coop-address-block:hover {
    background: color-mix(in srgb, var(--coop-bg-box, var(--coop-bg-secondary)) 88%, var(--coop-accent) 12%);
    box-shadow: 0 32px 46px rgba(5, 7, 22, 0.7), inset 0 1px 0 rgba(148, 163, 255, 0.08);
    /* transform: translateY entfernt für bessere Button-Zielbarkeit */
}
.coop-card:hover::before,
.coop-stat-box:hover::before,
.coop-info-box:hover::before,
.coop-address-block:hover::before {
    opacity: 0.3;
}
body.coop-dark-area .coop-card:hover::before,
body.coop-dark-area .coop-stat-box:hover::before,
body.coop-dark-area .coop-info-box:hover::before,
body.coop-dark-area .coop-address-block:hover::before {
    opacity: 0.35;
}
.coop-card h3,
.coop-card h4 {
    margin: 0 0 var(--coop-spacing-md) 0;
    font-size: var(--coop-font-xl);
    color: var(--coop-text-primary) !important;
    font-weight: 700;
    letter-spacing: -0.3px;
}
.coop-card h3 {
    font-size: var(--coop-font-2xl);
    font-weight: 600;
}
.coop-info-box h4 {
    font-size: var(--coop-font-md);
    font-weight: 600;
    letter-spacing: 0.5px;
}
.coop-stat-box h4 {
    color: var(--coop-text-muted);
    font-size: var(--coop-font-sm);
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Card Header & Content */
.coop-card-header {
    padding: var(--coop-spacing-lg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--coop-bg-box, var(--coop-bg-tertiary));
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
    transition: background var(--coop-transition);
}
.coop-card-header:hover {
    background: var(--coop-bg-tertiary);
}
.coop-card-header h4 {
    margin: 0;
    font-size: var(--coop-font-lg);
    font-weight: 600;
}
.coop-card .coop-card-header {
    margin: calc(var(--coop-spacing-lg) * -1) calc(var(--coop-spacing-lg) * -1) var(--coop-spacing-md);
    background: transparent;
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
    padding-bottom: var(--coop-spacing-md);
}
.coop-card .coop-card-header:hover {
    background: transparent;
    border-bottom-color: var(--coop-accent);
}
.coop-toggle-icon {
    font-size: 20px;
    color: var(--coop-text-secondary);
    transition: transform var(--coop-transition-slow);
    user-select: none;
    display: inline-block;
}
.coop-card.expanded .coop-toggle-icon,
.coop-card-header.active .coop-toggle-icon,
.coop-collapsible-header.active .coop-toggle-icon {
    transform: rotate(180deg);
}
.coop-card-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--coop-transition-slow);
    background: transparent;
    padding: 0 !important;
}
.coop-card.expanded .coop-card-content,
.coop-card-content.active {
    max-height: 5000px;
}
.coop-card.expanded .coop-card-content {
    padding: 0 var(--coop-spacing-lg) var(--coop-spacing-lg) !important;
}
.coop-collapsible-header + .coop-card-content {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border);
    border-top: none;
    border-radius: 0 0 var(--coop-radius-lg) var(--coop-radius-lg);
    padding: 0 !important;
}
.coop-card-body {
    padding: var(--coop-spacing-lg);
    color: var(--coop-text-primary);
}
.coop-card-body p {
    color: var(--coop-text-primary);
    margin: 0 0 var(--coop-spacing-md) 0;
    line-height: 1.6;
}
.coop-card-body p:last-child {
    margin-bottom: 0;
}
.coop-card-body ul,
.coop-card-body ol {
    color: var(--coop-text-secondary);
    margin: var(--coop-spacing-sm) 0 var(--coop-spacing-md) 0;
    padding-left: 20px;
}
.coop-card-body li {
    color: var(--coop-text-secondary);
    margin-bottom: var(--coop-spacing-xs);
    line-height: 1.6;
}
.coop-card-form {
    padding: 0;
}
.coop-card-form .coop-section {
    margin-bottom: var(--coop-spacing-md);
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.coop-card-form .coop-section:last-child {
    margin-bottom: 0;
}
.coop-card-form .coop-section label {
    font-size: var(--coop-font-sm);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-card-form .coop-section input,
.coop-card-form .coop-section select {
    padding: 8px 12px;
    font-size: var(--coop-font-base);
}

/* Sections & Forms */
.coop-section {
    margin-bottom: var(--coop-spacing-2xl);
}
.coop-section:last-child {
    margin-bottom: 0;
}
.coop-section label {
    display: block;
    margin-bottom: var(--coop-spacing-xs);
    font-weight: 600;
    color: var(--coop-text-primary);
    font-size: var(--coop-font-lg);
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.5;
}
.coop-section small {
    display: block;
    margin-top: var(--coop-spacing-xs);
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-md);
    line-height: 1.4;
}
.coop-section.coop-card {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border-light, var(--coop-border));
    border-radius: var(--coop-radius-xl);
    padding: var(--coop-spacing-lg);
    margin-bottom: var(--coop-spacing-lg);
}
.coop-card .coop-section:not(.coop-card) {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: var(--coop-spacing-md);
}

/* Inputs */
.coop-section input[type="text"],
.coop-section input[type="email"],
.coop-section input[type="tel"],
.coop-section input[type="number"],
.coop-section input[type="search"],
.coop-section select,
.coop-section textarea,
.coop-form-input,
.coop-form-select,
.coop-form-textarea,
.coop-dashboard-controls input[type="search"],
.coop-dashboard-controls select,
.coop-readonly,
.coop-formula {
    width: 100%;
    max-width: 100%;
    padding: 14px 18px;
    background: var(--coop-bg-primary) !important;
    border: 1px solid var(--coop-border-light, var(--coop-border)) !important;
    border-radius: var(--coop-radius-xl);
    font-size: var(--coop-font-lg);
    font-weight: 500;
    color: var(--coop-text-primary) !important;
    transition: var(--coop-transition);
    font-family: inherit;
    box-sizing: border-box;
    box-shadow: 0 1px 3px rgba(24, 26, 52, 0.08);
}
body.coop-dark-area .coop-section input[type="text"],
body.coop-dark-area .coop-section input[type="email"],
body.coop-dark-area .coop-section input[type="tel"],
body.coop-dark-area .coop-section input[type="number"],
body.coop-dark-area .coop-section input[type="search"],
body.coop-dark-area .coop-section select,
body.coop-dark-area .coop-section textarea,
body.coop-dark-area .coop-form-input,
body.coop-dark-area .coop-form-select,
body.coop-dark-area .coop-form-textarea,
body.coop-dark-area .coop-dashboard-controls input[type="search"],
body.coop-dark-area .coop-dashboard-controls select,
body.coop-dark-area .coop-readonly,
body.coop-dark-area .coop-formula {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 14px 28px rgba(5, 7, 22, 0.35);
}
.coop-section input:hover,
.coop-section select:hover,
.coop-section textarea:hover,
.coop-form-input:hover,
.coop-form-select:hover,
.coop-form-textarea:hover,
.coop-dashboard-controls input[type="search"]:hover,
.coop-dashboard-controls select:hover {
    border-color: var(--coop-accent) !important;
    box-shadow: 0 6px 16px rgba(24, 26, 52, 0.08);
}
body.coop-dark-area .coop-section input:hover,
body.coop-dark-area .coop-section select:hover,
body.coop-dark-area .coop-section textarea:hover,
body.coop-dark-area .coop-form-input:hover,
body.coop-dark-area .coop-form-select:hover,
body.coop-dark-area .coop-form-textarea:hover,
body.coop-dark-area .coop-dashboard-controls input[type="search"]:hover,
body.coop-dark-area .coop-dashboard-controls select:hover {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 18px 36px rgba(5, 7, 22, 0.48);
}
.coop-section input:focus,
.coop-section select:focus,
.coop-section textarea:focus,
.coop-form-input:focus,
.coop-form-select:focus,
.coop-form-textarea:focus,
.coop-dashboard-controls input[type="search"]:focus,
.coop-dashboard-controls select:focus {
    outline: none !important;
    border-color: var(--coop-accent) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--coop-accent) 15%, transparent) !important;
}
body.coop-dark-area .coop-section input:focus,
body.coop-dark-area .coop-section select:focus,
body.coop-dark-area .coop-section textarea:focus,
body.coop-dark-area .coop-form-input:focus,
body.coop-dark-area .coop-form-select:focus,
body.coop-dark-area .coop-form-textarea:focus,
body.coop-dark-area .coop-dashboard-controls input[type="search"]:focus,
body.coop-dark-area .coop-dashboard-controls select:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, rgba(99, 107, 255, 0.55) 35%, transparent) !important;
}
.coop-section input:disabled,
.coop-section select:disabled,
.coop-section textarea:disabled,
.coop-form-input:disabled,
.coop-form-select:disabled,
.coop-form-textarea:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.coop-readonly {
    display: inline-block;
    min-width: 80px;
    text-align: right;
    font-weight: 700;
    font-size: var(--coop-font-xl);
    font-variant-numeric: tabular-nums;
}
.coop-formula {
    padding: var(--coop-spacing-sm);
    margin: var(--coop-spacing-xs) 0;
    font-family: 'Courier New', monospace;
    font-size: var(--coop-font-sm);
    overflow-x: auto;
}

/* Tabbar */
.coop-tabbar {
    display: flex;
    gap: var(--coop-spacing-xs, 6px);
    background: var(--coop-bg-box, #ffffff);
    border: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.08));
    border-radius: var(--coop-radius-xl, 16px);
    padding: var(--coop-spacing-xs, 6px);
}
.coop-tab-btn {
    flex: 1;
    border: none;
    background: transparent;
    padding: var(--coop-spacing-sm, 10px) var(--coop-spacing-md, 16px);
    border-radius: var(--coop-radius-lg, 12px);
    font-weight: 600;
    font-size: var(--coop-font-md, 14px);
    color: var(--coop-text-secondary, #4b4f6b);
    cursor: pointer;
    transition: var(--coop-transition, all 0.2s ease);
}
.coop-tab-btn:hover {
    background: var(--coop-bg-tertiary, #eef1ff);
    color: var(--coop-accent, #3537e3);
}
.coop-tab-btn.is-active {
    background: var(--coop-bg-primary, #f5f7ff);
    color: var(--coop-text-primary, #181a34);
    box-shadow: inset 0 0 0 1px var(--coop-border-light, rgba(24, 26, 52, 0.12));
}
.coop-tab-panel {
    display: none;
}
.coop-tab-panel.is-active {
    display: block;
    animation: coopFadeIn 0.2s ease;
}

.coop-section input[type="number"],
.coop-section input[type="text"],
.coop-section select {
    max-width: 200px;
}
.coop-form-textarea {
    font-weight: 500;
    resize: vertical;
    min-height: 300px;
    max-height: 800px;
    overflow-y: auto;
    line-height: 1.6;
}

/* Collapsible */
.coop-collapsible-header {
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-lg);
    padding: var(--coop-spacing-lg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--coop-bg-box, var(--coop-bg-tertiary));
    transition: background var(--coop-transition);
    color: var(--coop-text-primary);
}
.coop-collapsible-header:hover {
    border-color: var(--coop-accent);
    background: var(--coop-bg-tertiary);
}
.coop-collapsible-header h4 {
    margin: 0;
    font-size: var(--coop-font-lg);
    font-weight: 600;
    color: var(--coop-text-primary);
    flex: 1;
}
.coop-collapsible-header .coop-toggle-icon {
    flex-shrink: 0;
    margin-left: var(--coop-spacing-md);
    color: var(--coop-text-secondary);
}
.coop-collapsible-inner {
    padding: var(--coop-spacing-md);
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border);
    border-top: none;
    border-radius: 0 0 var(--coop-radius-lg) var(--coop-radius-lg);
}

/* Page Header */
.coop-page-header {
    margin-bottom: var(--coop-spacing-3xl);
    padding-bottom: var(--coop-spacing-xl);
    text-align: left;
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}
.coop-page-header h2 {
    margin: 0 0 var(--coop-spacing-sm) 0;
    font-size: var(--coop-font-3xl);
    font-weight: 700;
    color: var(--coop-text-primary);
    letter-spacing: -0.4px;
}
.coop-page-header p {
    margin: 0;
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-lg);
    line-height: 1.7;
}

/* Input Validation */
.coop-section input.valid,
.coop-section input.username-valid {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
}
.coop-section input.invalid,
.coop-section input.username-invalid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}
.coop-section input.checking,
.coop-section input.username-checking {
    border-color: var(--coop-text-muted) !important;
}

/* Step Navigation */
.coop-step-nav {
    display: flex;
    gap: var(--coop-spacing-sm);
    margin-bottom: var(--coop-spacing-3xl);
    border-bottom: 1px solid var(--coop-border);
}
.coop-step-nav .step {
    flex: 1;
    padding: var(--coop-spacing-md) var(--coop-spacing-lg);
    text-align: center;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: var(--coop-transition);
    font-weight: 500;
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-base);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.coop-step-nav .step:hover {
    background: var(--coop-bg-secondary);
    color: var(--coop-text-primary);
}
.coop-step-nav .step.active {
    border-bottom-color: var(--coop-accent);
    color: var(--coop-accent);
    font-weight: 600;
}
.coop-step-content {
    padding: var(--coop-spacing-xl) 0;
}
.coop-step-content.hidden {
    display: none;
}
.coop-step-content h3 {
    margin: var(--coop-spacing-3xl) 0 var(--coop-spacing-2xl) 0;
    font-size: var(--coop-font-2xl);
    font-weight: 600;
    color: var(--coop-text-primary) !important;
}
.coop-step-content h3:first-child {
    margin-top: 0;
}

/* Dimension Group */
.coop-dimension-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--coop-spacing-lg);
    margin-bottom: var(--coop-spacing-xl);
}

/* Thumbnail Preview */
.coop-thumb-preview {
    display: flex;
    gap: var(--coop-spacing-md);
    flex-wrap: wrap;
    margin-top: var(--coop-spacing-md);
}
.coop-thumb-preview img {
    width: 100px;
    height: 100px;
    border-radius: var(--coop-radius-lg);
    object-fit: cover;
    border: 2px solid var(--coop-border);
}

/* Status Box */
.coop-3d-model-status,
.coop-status-box {
    margin-top: var(--coop-spacing-md);
    padding: var(--coop-spacing-md) var(--coop-spacing-lg);
    background: var(--coop-bg-secondary);
    border-left: 4px solid var(--coop-accent);
    border-radius: var(--coop-radius-md);
    font-size: var(--coop-font-base);
    color: var(--coop-text-primary) !important;
}
.coop-3d-model-status.error,
.coop-status-box.error {
    border-left-color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

/* Summary Box */
.coop-summary-box {
    background: var(--coop-bg-secondary);
    border: 1px solid var(--coop-border);
    padding: var(--coop-spacing-xl);
    border-radius: var(--coop-radius-lg);
    margin-top: var(--coop-spacing-xl);
}
.coop-summary-box table {
    width: 100%;
}
.coop-summary-box table td {
    padding: var(--coop-spacing-md) 0;
    color: var(--coop-text-primary) !important;
}
.coop-summary-box table td:last-child {
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.coop-summary-box hr {
    border: none;
    border-top: 1px solid var(--coop-border);
    margin: var(--coop-spacing-md) 0;
}

/* Tables */
.coop-table {
    width: 100%;
    border-collapse: collapse;
}
.coop-table th {
    text-align: left;
    padding: var(--coop-spacing-sm);
    color: var(--coop-text-muted);
    font-size: var(--coop-font-sm);
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid var(--coop-border);
}
.coop-table td {
    padding: var(--coop-spacing-sm);
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-md);
    border-bottom: 1px solid var(--coop-border);
}
.coop-table tr:hover {
    background: rgba(0, 0, 0, 0.02);
}
body.coop-dark-area .coop-table tr:hover {
    background: rgba(255, 255, 255, 0.02);
}

/* Stats */
.coop-stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--coop-spacing-md);
    margin-bottom: var(--coop-spacing-xl);
}
.coop-stat-value,
.coop-big-stat-value {
    font-weight: 700;
    color: var(--coop-accent);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.coop-stat-value {
    font-size: var(--coop-font-4xl);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-stat-label {
    font-size: var(--coop-font-md);
    color: var(--coop-text-secondary);
}
.coop-big-stat {
    text-align: center;
    padding: var(--coop-spacing-lg) 0;
}
.coop-big-stat-value {
    font-size: var(--coop-font-5xl);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-big-stat-label {
    color: var(--coop-text-muted);
    font-size: var(--coop-font-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Utility Blocks */
.coop-block-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--coop-spacing-sm);
}
.coop-block-header h4 {
    margin: 0;
    font-size: var(--coop-font-lg);
    font-weight: 600;
    color: var(--coop-text-primary);
}
.coop-text-block {
    color: var(--coop-text-primary);
    line-height: 1.5;
    font-size: var(--coop-font-sm);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-collapsible-form {
    margin-top: var(--coop-spacing-xl);
    display: none;
}
.coop-collapsible-form.active {
    display: block;
}

/* Error Message */
.error-msg {
    color: #ef4444 !important;
    margin-top: var(--coop-spacing-md);
    font-size: var(--coop-font-md);
    padding: var(--coop-spacing-md);
    background: rgba(239, 68, 68, 0.1);
    border-left: 3px solid #ef4444;
    border-radius: var(--coop-radius-md);
}

/* Form Spacing Utilities */
.coop-form-label + .coop-form-input,
.coop-form-label + .coop-form-select,
.coop-form-label + .coop-form-textarea {
    margin-top: var(--coop-spacing-sm);
    margin-bottom: var(--coop-spacing-xl);
}
.coop-form-input + .coop-form-label,
.coop-form-select + .coop-form-label {
    margin-top: var(--coop-spacing-3xl);
}
.coop-form-textarea {
    margin-top: var(--coop-spacing-sm);
    margin-bottom: 0;
}
.coop-auto-resize {
    transition: height 0.2s ease;
}
.coop-container.editor .coop-card h3 {
    margin-top: 0;
    margin-bottom: var(--coop-spacing-2xl);
    color: var(--coop-text-primary) !important;
}
.coop-container.editor .coop-form-input,
.coop-container.editor .coop-form-select {
    max-width: 500px;
}

/* Profit Box */
.coop-profit-box {
    display: none;
    margin-top: var(--coop-spacing-xl);
    padding: var(--coop-spacing-xl);
    background: var(--coop-bg-secondary);
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-lg);
}

@media (max-width: 768px) {
    .coop-dimension-group {
        grid-template-columns: 1fr;
        gap: var(--coop-spacing-md);
    }
    .coop-form-input,
    .coop-form-select,
    .coop-form-textarea {
        max-width: 100%;
    }
    .coop-container.editor .coop-form-input,
    .coop-container.editor .coop-form-select {
        max-width: 100%;
    }
}



/* ============================================
   UI AUTH & WOOCOMMERCE
   ============================================ */
/* CoopPrint Theme - UI Auth & WooCommerce */
/* Styles für Login/Registrierung, WooCommerce-Formulare und Konto-Navigation */

/* Auth Shell */
.coop-auth-shell {
    min-height: auto;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #ffffff;
}
body.coop-dark-area .coop-auth-shell {
    background: #000000;
}
.coop-auth-surface {
    width: min(520px, 100%);
    background: var(--coop-bg-box, #ffffff);
    border-radius: 28px;
    border: none;
    box-shadow: 0 32px 80px rgba(24, 26, 52, 0.14), 0 8px 24px rgba(24, 26, 52, 0.08);
    padding: clamp(24px, 3.5vw, 36px);
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md, 16px);
    color: var(--coop-text-primary, #181a34);
}
body.coop-dark-area .coop-auth-surface {
    background: color-mix(in srgb, var(--coop-bg-box, rgba(20, 20, 22, 0.88)) 88%, rgba(255, 255, 255, 0.02) 12%);
    border-color: color-mix(in srgb, var(--coop-border-light, rgba(120, 120, 128, 0.5)) 65%, transparent);
    box-shadow: 0 32px 70px rgba(5, 7, 22, 0.75);
    color: var(--coop-text-primary, #f5f5f7) !important;
}
body.coop-dark-mode-manual .coop-auth-surface {
    background: color-mix(in srgb, var(--coop-bg-box, rgba(20, 20, 22, 0.88)) 88%, rgba(255, 255, 255, 0.02) 12%);
    border-color: color-mix(in srgb, var(--coop-border-light, rgba(120, 120, 128, 0.5)) 65%, transparent);
    box-shadow: 0 32px 70px rgba(5, 7, 22, 0.75);
    color: var(--coop-text-primary, #f5f5f7) !important;
}
.coop-auth-surface .woocommerce-notices-wrapper {
    margin: 0;
}
/* Fix für Input Felder im Dark Mode */
body.coop-dark-area .coop-field input[type="text"],
body.coop-dark-mode-manual .coop-field input[type="text"],
body.coop-dark-area .coop-field input[type="email"],
body.coop-dark-mode-manual .coop-field input[type="email"],
body.coop-dark-area .coop-field input[type="password"],
body.coop-dark-mode-manual .coop-field input[type="password"] {
    background: #1e2034 !important;
    border-color: #3537e3 !important;
    color: #ffffff !important;
}
.coop-auth-welcome {
    text-align: center;
    margin-bottom: 0;
    padding: 0 var(--coop-spacing-md, 16px);
    padding-bottom: 0;
}
.coop-auth-welcome h1,
.coop-auth-welcome h2 {
    margin: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    font-size: var(--coop-font-3xl, 32px);
    font-weight: 700;
    letter-spacing: -0.5px;
    color: var(--coop-text-primary, #181a34);
    line-height: 1.2;
}
body.coop-dark-area .coop-auth-welcome h1,
body.coop-dark-area .coop-auth-welcome h2,
body.coop-dark-mode-manual .coop-auth-welcome h1,
body.coop-dark-mode-manual .coop-auth-welcome h2 {
    color: color-mix(in srgb, var(--coop-text-primary) 98%, rgba(255, 255, 255, 0.1) 2%);
}
.coop-auth-switch {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    background: var(--coop-bg-primary, #f5f7ff);
    border-radius: 999px;
    padding: 3px;
    position: relative;
}
body.coop-dark-area .coop-auth-switch {
    background: color-mix(in srgb, var(--coop-bg-primary) 72%, rgba(255, 255, 255, 0.04) 28%);
}
.coop-auth-switch__btn {
    border: none;
    background: transparent;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: var(--coop-font-md, 15px);
    color: var(--coop-text-secondary, #4b4f6b);
    cursor: pointer;
    transition: var(--coop-transition, all 0.2s ease);
    text-decoration: none !important;
}
body.coop-dark-area .coop-auth-switch__btn {
    color: color-mix(in srgb, var(--coop-text-secondary) 85%, rgba(255, 255, 255, 0.12) 15%);
}
.coop-auth-switch__btn:hover {
    color: var(--coop-accent, #3537e3);
    background: color-mix(in srgb, var(--coop-accent, #3537e3) 18%, white 82%);
}
body.coop-dark-area .coop-auth-switch__btn:hover {
    color: var(--coop-text-primary);
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent 82%);
}
.coop-auth-switch__btn.is-active {
    background: linear-gradient(135deg, var(--coop-accent, #3537e3), color-mix(in srgb, var(--coop-accent, #3537e3) 82%, white 18%));
    color: #ffffff;
    box-shadow: 0 16px 36px rgba(53, 55, 227, 0.26), 0 6px 14px rgba(53, 55, 227, 0.18);
}
body.coop-dark-area .coop-auth-switch__btn.is-active {
    box-shadow: 0 16px 28px rgba(53, 55, 227, 0.4);
}
.coop-auth-switch__btn.is-active:hover {
    filter: brightness(1.03);
}
.coop-auth-body {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md, 16px);
    padding: 0 var(--coop-spacing-sm, 12px);
}
.coop-auth-view {
    display: none;
    flex-direction: column;
    gap: var(--coop-spacing-sm, 12px);
    animation: coopFadeIn 0.25s ease;
}
.coop-auth-view.is-active {
    display: flex;
}
.coop-auth-view__head {
    text-align: left;
    margin-bottom: 6px;
}
.coop-auth-view__head h2 {
    margin: 0 0 6px;
    font-size: var(--coop-font-xl, 20px);
    font-weight: 600;
    color: var(--coop-text-primary, #181a34);
}
body.coop-dark-area .coop-auth-view__head h2 {
    color: color-mix(in srgb, var(--coop-text-primary) 96%, rgba(255, 255, 255, 0.08) 4%);
}
.coop-auth-view__head p {
    margin: 0;
    color: var(--coop-text-secondary, #4b4f6b);
    font-size: var(--coop-font-md, 14px);
}
body.coop-dark-area .coop-auth-view__head p {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-form {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.coop-field {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-xs, 6px);
    margin-bottom: var(--coop-spacing-md, 16px);
}
.coop-field:last-child {
    margin-bottom: 0;
}
.coop-field label {
    font-size: var(--coop-font-md, 14px);
    font-weight: 600;
    color: var(--coop-text-primary, #181a34);
    display: block;
    line-height: 1.45;
}
body.coop-dark-area .coop-field label {
    color: color-mix(in srgb, var(--coop-text-primary) 96%, rgba(255, 255, 255, 0.08) 4%);
}
.coop-field input[type="text"],
.coop-field input[type="email"],
.coop-field input[type="password"] {
    width: 100%;
    padding: 14px 18px;
    border-radius: var(--coop-radius-xl, 18px);
    border: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.1));
    background: var(--coop-bg-primary, #f5f7ff);
    font-size: var(--coop-font-lg, 17px);
    transition: var(--coop-transition, all 0.2s ease);
    color: var(--coop-text-primary, #181a34);
}
body.coop-dark-area .coop-field input[type="text"],
body.coop-dark-area .coop-field input[type="email"],
body.coop-dark-area .coop-field input[type="password"] {
    background: color-mix(in srgb, rgba(30, 32, 52, 0.92) 90%, rgba(255, 255, 255, 0.05) 10%);
    border: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.coop-field input[type="text"]:focus,
.coop-field input[type="email"]:focus,
.coop-field input[type="password"]:focus {
    border-color: var(--coop-accent, #3537e3);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent, #3537e3) 20%, transparent);
    outline: none;
}
body.coop-dark-area .coop-field input[type="text"]:focus,
body.coop-dark-area .coop-field input[type="email"]:focus,
body.coop-dark-area .coop-field input[type="password"]:focus {
    border-color: color-mix(in srgb, var(--coop-accent) 65%, rgba(132, 142, 255, 0.4) 35%);
    box-shadow: 0 0 0 3px color-mix(in srgb, rgba(99, 107, 255, 0.55) 35%, transparent);
}
.coop-field input::placeholder {
    color: color-mix(in srgb, var(--coop-text-muted, #7a81a6) 80%, transparent);
    opacity: 0.85;
}
body.coop-dark-area .coop-field input::placeholder {
    color: color-mix(in srgb, rgba(180, 185, 220, 0.75) 90%, transparent);
    opacity: 0.9;
}
.coop-optional {
    font-weight: 400;
    color: var(--coop-text-muted, #7a81a6);
    font-size: var(--coop-font-sm, 13px);
}
.coop-auth-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--coop-spacing-sm, 12px);
    font-size: var(--coop-font-sm, 13px);
    color: var(--coop-text-secondary, #4b4f6b);
    margin-top: var(--coop-spacing-sm, 12px);
    margin-bottom: var(--coop-spacing-lg, 20px);
}
body.coop-dark-area .coop-auth-actions {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.coop-auth-actions .coop-remember {
    margin-right: auto;
}
@media (max-width: 640px) {
    .coop-auth-actions {
        flex-direction: column;
        align-items: flex-start;
    }
    .coop-auth-actions .coop-remember {
        margin-right: 0;
    }
}
.coop-remember {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.coop-auth-link {
    color: var(--coop-accent, #3537e3);
    text-decoration: none;
    font-weight: 600;
}
body.coop-dark-area .coop-auth-link {
    color: color-mix(in srgb, rgba(147, 153, 255, 0.92) 85%, rgba(255, 255, 255, 0.12) 15%);
}
.coop-auth-link:hover {
    text-decoration: underline;
}
body.coop-dark-area .coop-auth-link:hover {
    color: color-mix(in srgb, rgba(170, 176, 255, 1) 92%, rgba(255, 255, 255, 0.18) 8%);
}
.coop-auth-card__separator {
    position: relative;
    text-align: center;
    margin: var(--coop-spacing-sm, 12px) 0;
    color: var(--coop-text-muted, #7a81a6);
    font-size: var(--coop-font-sm, 13px);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}
body.coop-dark-area .coop-auth-card__separator {
    color: color-mix(in srgb, var(--coop-text-muted) 92%, rgba(200, 204, 255, 0.12) 8%);
}
.coop-auth-card__separator span {
    position: relative;
    padding: 0 12px;
    background: var(--coop-bg-box, #fff);
}
body.coop-dark-area .coop-auth-card__separator span {
    background: color-mix(in srgb, var(--coop-bg-box) 82%, rgba(255, 255, 255, 0.05) 18%);
}
.coop-auth-card__separator::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.12));
}
body.coop-dark-area .coop-auth-card__separator::before {
    background: linear-gradient(90deg, transparent 0%, rgba(120, 130, 210, 0.35) 40%, rgba(120, 130, 210, 0.35) 60%, transparent 100%);
}
.coop-auth-social {
    display: flex;
    gap: var(--coop-spacing-sm, 12px);
    flex-wrap: wrap;
    margin-bottom: 0;
    padding-bottom: 0;
}
.coop-auth-social__btn {
    flex: 1 1 200px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 18px;
    border-radius: var(--coop-radius-xl, 16px);
    border: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.12));
    background: #fff;
    color: var(--coop-text-primary, #181a34);
    font-weight: 600;
    transition: var(--coop-transition, all 0.2s ease);
    text-decoration: none;
}
body.coop-dark-area .coop-auth-social__btn {
    border-color: color-mix(in srgb, rgba(120, 130, 210, 0.4) 28%, transparent);
    background: color-mix(in srgb, rgba(32, 34, 64, 0.92) 85%, rgba(255, 255, 255, 0.03) 15%);
}
.coop-auth-social__btn svg {
    width: 20px;
    height: 20px;
}
.coop-auth-social__btn:hover {
    border-color: var(--coop-accent, #3537e3);
    color: var(--coop-accent, #3537e3);
    box-shadow: 0 14px 32px rgba(35, 34, 102, 0.15);
}
body.coop-dark-area .coop-auth-social__btn:hover {
    background: color-mix(in srgb, rgba(42, 45, 76, 0.92) 90%, rgba(255, 255, 255, 0.05) 10%);
}
.coop-auth-social__btn.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}
.coop-auth-agreements label {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-weight: 500;
    color: var(--coop-text-secondary, #4b4f6b);
    font-size: var(--coop-font-md, 14px);
    margin-top: var(--coop-spacing-sm, 12px);
    margin-bottom: var(--coop-spacing-sm, 12px);
}
body.coop-dark-area .coop-auth-agreements label {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.coop-auth-agreements input[type="checkbox"] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
}
.coop-auth-footnote {
    margin-top: var(--coop-spacing-sm, 12px);
    font-size: var(--coop-font-sm, 13px);
    color: var(--coop-text-muted, #7a81a6);
    line-height: 1.6;
    text-align: center;
}
body.coop-dark-area .coop-auth-footnote {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.coop-auth-footnote + .coop-auth-footnote {
    margin-top: var(--coop-spacing-xs, 8px);
}
.coop-auth-footnote a {
    color: var(--coop-accent, #3537e3);
    text-decoration: none;
    font-weight: 600;
}
.coop-auth-footnote strong {
    color: var(--coop-text-primary, #181a34);
}
.coop-auth-footnote--hint {
    margin-top: 0;
}

/* My Account Sidebar - Float-basiert (wie Astra) - Funktioniert IMMER */
/* Clearfix für Floats - funktioniert auch ohne woocommerce-account Body-Class */
.woocommerce:has(.woocommerce-MyAccount-navigation),
.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
    zoom: 1;
    width: 100% !important;
    display: block !important;
    overflow: hidden; /* Für Clearfix */
}
.woocommerce:has(.woocommerce-MyAccount-navigation)::after,
.woocommerce:has(.woocommerce-MyAccount-navigation)::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after,
body.woocommerce-account .woocommerce::before,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation)::after,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation)::before {
    content: ' ';
    display: table;
}
.woocommerce:has(.woocommerce-MyAccount-navigation)::after,
.woocommerce-account .woocommerce::after,
body.woocommerce-account .woocommerce::after,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation)::after {
    clear: both;
}

/* Navigation Sidebar - Float Left (30% wie Astra) - Funktioniert IMMER */
.woocommerce-MyAccount-navigation,
.woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-navigation,
.entry-content .woocommerce-MyAccount-navigation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: left !important;
    width: 30% !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    position: relative !important;
}

/* Content - Float Right (68% wie Astra) - Funktioniert IMMER */
.woocommerce-MyAccount-content,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content,
.entry-content .woocommerce-MyAccount-content {
    float: right !important;
    width: 68% !important;
}

/* ================================================ */
/* KRITISCH: My Account Sidebar - HÖCHSTE PRIORITÄT */
/* Diese Regeln MÜSSEN greifen - direkt hier im style.css */
/* ================================================ */

/* ALLE MÖGLICHEN SELEKTOREN - Sollte DEFINITIV greifen */
nav.woocommerce-MyAccount-navigation,
.woocommerce nav.woocommerce-MyAccount-navigation,
.entry-content nav.woocommerce-MyAccount-navigation,
.entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
.site-main .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
.site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
body .site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
body .entry-content .woocommerce .woocommerce-MyAccount-navigation,
#primary-content .entry-content .woocommerce .woocommerce-MyAccount-navigation,
#primary-content .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
article .entry-content .woocommerce .woocommerce-MyAccount-navigation,
article .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
[class*="post-"] .entry-content .woocommerce .woocommerce-MyAccount-navigation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: left !important;
    width: 30% !important;
    max-width: 30% !important;
    min-width: 200px !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-right: 2% !important;
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Content Float Right */
.woocommerce .woocommerce-MyAccount-content,
.entry-content .woocommerce .woocommerce-MyAccount-content,
.site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
body .site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
#primary-content .entry-content .woocommerce .woocommerce-MyAccount-content,
article .entry-content .woocommerce .woocommerce-MyAccount-content {
    float: right !important;
    width: 68% !important;
    max-width: 68% !important;
    display: block !important;
}

/* Container Clearfix */
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
.site-main .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
#primary-content .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
    overflow: hidden !important;
    zoom: 1 !important;
    display: block !important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    margin: 0 0 var(--coop-spacing-xs, 8px) 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: var(--coop-radius-xl, 18px);
    color: var(--coop-text-secondary);
    font-weight: 600;
    text-decoration: none;
    transition: var(--coop-transition);
    border: 1px solid transparent;
    background: transparent;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 20%, transparent);
    background: var(--coop-accent-overlay-12);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.current-menu-item a {
    color: var(--coop-text-primary);
    border-color: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--coop-accent) 28%, transparent);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #ff6b6b;
    background: color-mix(in srgb, #ff6b6b 10%, transparent);
    border-color: color-mix(in srgb, #ff6b6b 20%, transparent);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: color-mix(in srgb, #ff6b6b 18%, transparent);
    color: #ff8787;
}

/* Mobile Layout für My Account */
@media (max-width: 768px) {
    /* Navigation: Horizontal scrollbar statt vertikale Liste - ALLE Selektoren überschreiben */
    .woocommerce-MyAccount-navigation,
    .woocommerce .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
    .entry-content .woocommerce-MyAccount-navigation,
    nav.woocommerce-MyAccount-navigation,
    .woocommerce nav.woocommerce-MyAccount-navigation,
    .entry-content nav.woocommerce-MyAccount-navigation,
    .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    .site-main .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    .site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    body .site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    body .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    #primary-content .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    #primary-content .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    article .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    article .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    [class*="post-"] .entry-content .woocommerce .woocommerce-MyAccount-navigation {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 var(--coop-spacing-md, 16px) 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        position: relative !important;
        clear: both !important;
    }
    
    /* Navigation Liste: Flex mit Umbruch (kein Scroll) */
    .woocommerce-account .woocommerce-MyAccount-navigation ul,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul,
    body.coop-dark-area .woocommerce-MyAccount-navigation ul,
    nav.woocommerce-MyAccount-navigation ul,
    .woocommerce nav.woocommerce-MyAccount-navigation ul,
    .entry-content nav.woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        gap: 8px !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Navigation Items: Kompakt, mit Umbruch - natürliche Breite, direkt aneinander */
    .woocommerce-account .woocommerce-MyAccount-navigation li,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
        margin: 0 !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }
    
    /* Navigation Links: Kompakter, mit Umbruch - natürliche Breite */
    .woocommerce-account .woocommerce-MyAccount-navigation a,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a,
    body.coop-dark-area .woocommerce-MyAccount-navigation a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 16px !important;
        width: auto !important;
        min-width: auto !important;
        max-width: 100% !important;
        font-size: 13px !important;
        gap: 6px !important;
        white-space: nowrap !important;
    }
    
    /* Content: Volle Breite, kein Float - ALLE Selektoren überschreiben */
    .woocommerce-MyAccount-content,
    .woocommerce .woocommerce-MyAccount-content,
    .woocommerce-account .woocommerce-MyAccount-content,
    body.woocommerce-account .woocommerce-MyAccount-content,
    .entry-content .woocommerce-MyAccount-content,
    .woocommerce .woocommerce-MyAccount-content,
    .entry-content .woocommerce .woocommerce-MyAccount-content,
    .site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
    body .site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
    #primary-content .entry-content .woocommerce .woocommerce-MyAccount-content,
    article .entry-content .woocommerce .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        margin-left: 0 !important;
        padding: 0 !important;
        clear: both !important;
    }
    
    /* Container-Elemente: Volle Breite auf Mobile */
    .woocommerce:has(.woocommerce-MyAccount-navigation),
    .woocommerce-account .woocommerce,
    body.woocommerce-account .woocommerce,
    .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
    .entry-content .woocommerce,
    .site-main .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
    #primary-content .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
    
    /* Producer/Designer Container: Volle Breite auf Mobile */
    .coop-producer-container,
    .coop-producer-content-wrapper,
    .coop-designer-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Entry Content und Site Main: Volle Breite auf Mobile für My Account */
    .woocommerce-account .entry-content,
    .woocommerce-account .site-main,
    body.woocommerce-account .entry-content,
    body.woocommerce-account .site-main,
    .woocommerce-account .ct-container,
    body.woocommerce-account .ct-container,
    .woocommerce-account .ct-container-full,
    body.woocommerce-account .ct-container-full,
    .woocommerce-account [class*="container"],
    body.woocommerce-account [class*="container"] {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: var(0, 0) !important;
        padding-right: var(0, 0) !important;
        box-sizing: border-box !important;
    }
    
    /* Sicherstellen, dass keine Float-Layouts mehr greifen */
    .woocommerce-account .woocommerce::before,
    .woocommerce-account .woocommerce::after,
    body.woocommerce-account .woocommerce::before,
    body.woocommerce-account .woocommerce::after {
        display: none !important;
        content: none !important;
    }
    
    /* Tab Navigation: Kompakter auf Mobile */
    .coop-tabs {
        gap: 4px !important;
        margin-bottom: 20px !important;
        padding-bottom: 8px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    .coop-tab {
        padding: 10px 16px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
}

/* Sehr kleine Bildschirme: Noch kompaktere Navigation */
@media (max-width: 480px) {
    .woocommerce-account .woocommerce-MyAccount-navigation a,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a,
    body.coop-dark-area .woocommerce-MyAccount-navigation a {
        padding: 8px 12px !important;
        font-size: 12px !important;
        gap: 4px !important;
    }
    
    .coop-tab {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }
    
    /* Producer Header: Kompakter */
    .coop-producer-header {
        margin-bottom: 20px !important;
        padding-bottom: 12px !important;
    }
    
    .coop-producer-header h3 {
        font-size: 20px !important;
    }
    
    .coop-producer-header p {
        font-size: 13px !important;
    }
}

@media (max-width: 768px) {
    .coop-auth-shell {
        min-height: auto;
        padding: 0;
    }
    .coop-auth-surface {
        border-radius: 22px;
        box-shadow: 0 24px 50px rgba(24, 26, 52, 0.12);
        padding: clamp(16px, 3vw, 24px);
        gap: var(--coop-spacing-sm, 12px);
    }
    .coop-auth-welcome {
        display: none;
    }
    .coop-auth-switch {
        display: none;
    }
    .coop-field {
        margin-bottom: var(--coop-spacing-sm, 12px);
    }
    .coop-field input[type="text"],
    .coop-field input[type="email"],
    .coop-field input[type="password"] {
        padding: 12px 16px;
        font-size: var(--coop-font-md, 15px);
    }
    .coop-auth-actions {
        margin-top: var(--coop-spacing-xs, 8px);
        margin-bottom: var(--coop-spacing-sm, 12px);
    }
    .coop-auth-card__separator {
        margin: var(--coop-spacing-xs, 8px) 0;
    }
    .coop-auth-footnote {
        margin-top: var(--coop-spacing-xs, 8px);
    }
    .coop-btn {
        padding: 12px calc(var(--coop-spacing-xl) + 4px);
        font-size: var(--coop-font-md, 15px);
    }
    .coop-auth-social {
        flex-direction: column;
        gap: 8px;
        align-items: center;
    }
    .coop-auth-social__btn {
        width: 56px;
        height: 56px;
        min-width: 56px;
        max-width: 56px;
        padding: 0;
        justify-content: center;
        border-radius: 50%;
        flex: 0 0 56px;
    }
    .coop-auth-social__btn svg {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }
    .coop-auth-social__btn span {
        display: none;
    }
}

/* Desktop-Optimierungen für Auth-Formular */
@media (min-width: 769px) {
    .coop-auth-shell {
        padding: var(--coop-spacing-2xl, 36px) var(--coop-spacing-xl, 28px);
        min-height: calc(100vh - 200px);
        align-items: center;
    }
    .coop-auth-surface {
        padding: clamp(32px, 4vw, 40px);
        gap: var(--coop-spacing-lg, 20px);
    }
    .coop-auth-welcome {
        margin-bottom: var(--coop-spacing-md, 16px);
        padding-bottom: var(--coop-spacing-xs, 8px);
    }
    .coop-field {
        margin-bottom: var(--coop-spacing-lg, 20px);
    }
    .coop-auth-actions {
        margin-top: var(--coop-spacing-md, 16px);
        margin-bottom: var(--coop-spacing-xl, 24px);
    }
    .coop-auth-card__separator {
        margin: var(--coop-spacing-md, 16px) 0;
    }
    .coop-auth-footnote {
        margin-top: var(--coop-spacing-md, 16px);
    }
}



/* ============================================
   UI ACTIONS & FEEDBACK
   ============================================ */
/* CoopPrint Theme - UI Actions & Feedback */
/* Button-Logik, Status-Elemente und Benachrichtigungselemente */

/* Buttons */
.woocommerce .button,
.woocommerce-page .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce-page button.button,
.woocommerce-page a.button,
.woocommerce-page input.button,
button.button,
a.button,
input.button,
.button,
button[type="submit"],
input[type="submit"],
.woocommerce-button,
.coop-actions button,
.coop-actions .button,
.coop-btn {
    background: var(--coop-button-surface) !important;
    color: var(--coop-button-text) !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 14px calc(var(--coop-spacing-xl) + 4px);
    font-weight: 600;
    border-radius: 999px;
    transition: var(--coop-transition);
    font-size: var(--coop-font-lg);
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--coop-spacing-sm);
}
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-form-login button,
.woocommerce-form-register button,
.woocommerce-form-login input[type="submit"],
.woocommerce-form-register input[type="submit"] {
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
}
.woocommerce .button:focus,
.woocommerce .button:active,
.woocommerce .button:visited,
.woocommerce-page .button:focus,
.woocommerce-page .button:active,
.woocommerce-page .button:visited,
button.button:focus,
button.button:active,
button.button:visited,
a.button:focus,
a.button:active,
a.button:visited,
input.button:focus,
input.button:active,
input.button:visited,
.button:focus,
.button:active,
.button:visited,
button[type="submit"]:focus,
button[type="submit"]:active,
button[type="submit"]:visited,
input[type="submit"]:focus,
input[type="submit"]:active,
input[type="submit"]:visited,
.woocommerce-button:focus,
.woocommerce-button:active,
.woocommerce-button:visited,
.coop-actions button:focus,
.coop-actions button:active,
.coop-actions button:visited,
.coop-btn:focus,
.coop-btn:active,
.coop-btn:visited {
    background: var(--coop-button-surface) !important;
    color: var(--coop-button-text) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 3px var(--coop-accent-overlay-12) !important;
    outline: none !important;
}
body.coop-dark-area .woocommerce .button:focus,
body.coop-dark-area .woocommerce .button:active,
body.coop-dark-area .woocommerce .button:visited,
body.coop-dark-area .woocommerce-page .button:focus,
body.coop-dark-area .woocommerce-page .button:active,
body.coop-dark-area .woocommerce-page .button:visited,
body.coop-dark-area button.button:focus,
body.coop-dark-area button.button:active,
body.coop-dark-area button.button:visited,
body.coop-dark-area a.button:focus,
body.coop-dark-area a.button:active,
body.coop-dark-area a.button:visited,
body.coop-dark-area input.button:focus,
body.coop-dark-area input.button:active,
body.coop-dark-area input.button:visited,
body.coop-dark-area .button:focus,
body.coop-dark-area .button:active,
body.coop-dark-area .button:visited,
body.coop-dark-area button[type="submit"]:focus,
body.coop-dark-area button[type="submit"]:active,
body.coop-dark-area button[type="submit"]:visited,
body.coop-dark-area input[type="submit"]:focus,
body.coop-dark-area input[type="submit"]:active,
body.coop-dark-area input[type="submit"]:visited,
body.coop-dark-area .woocommerce-button:focus,
body.coop-dark-area .woocommerce-button:active,
body.coop-dark-area .woocommerce-button:visited,
body.coop-dark-area .coop-actions button:focus,
body.coop-dark-area .coop-actions button:active,
body.coop-dark-area .coop-actions button:visited,
body.coop-dark-area .coop-btn:focus,
body.coop-dark-area .coop-btn:active,
body.coop-dark-area .coop-btn:visited {
    box-shadow: 0 0 0 2px color-mix(in srgb, rgba(99, 107, 255, 0.4) 55%, transparent) !important;
}
.woocommerce .button:hover,
.woocommerce-page .button:hover,
button.button:hover,
a.button:hover,
input.button:hover,
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.woocommerce-button:hover,
.coop-actions button:hover,
.coop-actions .button:hover,
.coop-btn:hover {
    background: var(--coop-button-surface-hover) !important;
    color: var(--coop-button-text) !important;
    border-color: transparent !important;
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(35, 34, 102, 0.18), 0 6px 18px rgba(35, 34, 102, 0.08) !important;
}
body.coop-dark-area .woocommerce .button:hover,
body.coop-dark-area .woocommerce-page .button:hover,
body.coop-dark-area button.button:hover,
body.coop-dark-area a.button:hover,
body.coop-dark-area input.button:hover,
body.coop-dark-area .button:hover,
body.coop-dark-area button[type="submit"]:hover,
body.coop-dark-area input[type="submit"]:hover,
body.coop-dark-area .woocommerce-button:hover,
body.coop-dark-area .coop-actions button:hover,
body.coop-dark-area .coop-actions .button:hover,
body.coop-dark-area .coop-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(53, 55, 227, 0.4) !important;
}
.woocommerce .button:active,
.woocommerce-page .button:active,
button.button:active,
a.button:active,
input.button:active,
.button:active,
button[type="submit"]:active,
input[type="submit"]:active,
.woocommerce-button:active,
.coop-actions button:active,
.coop-actions .button:active,
.coop-btn:active {
    background: var(--coop-button-surface) !important;
    color: var(--coop-button-text) !important;
    border-color: transparent !important;
    transform: scale(0.99);
    box-shadow: 0 8px 16px rgba(35, 34, 102, 0.12) !important;
}
body.coop-dark-area .woocommerce .button:active,
body.coop-dark-area .woocommerce-page .button:active,
body.coop-dark-area button.button:active,
body.coop-dark-area a.button:active,
body.coop-dark-area input.button:active,
body.coop-dark-area .button:active,
body.coop-dark-area button[type="submit"]:active,
body.coop-dark-area input[type="submit"]:active,
body.coop-dark-area .woocommerce-button:active,
body.coop-dark-area .coop-actions button:active,
body.coop-dark-area .coop-actions .button:active,
body.coop-dark-area .coop-btn:active {
    box-shadow: 0 10px 18px rgba(5, 7, 22, 0.7) !important;
}
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce-page .button:disabled,
.woocommerce-page .button.disabled,
button.button:disabled,
button.button.disabled,
a.button.disabled,
input.button:disabled,
input.button.disabled,
.button:disabled,
.button.disabled,
button[type="submit"]:disabled,
input[type="submit"]:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    background: var(--coop-button-accent) !important;
    color: var(--coop-button-text) !important;
}
.coop-btn-secondary {
    background: var(--coop-bg-tertiary) !important;
    color: var(--coop-text-primary) !important;
    border: 1px solid var(--coop-border-light, var(--coop-border)) !important;
}
.coop-btn-secondary:hover {
    background: var(--coop-bg-secondary) !important;
    color: var(--coop-text-primary) !important;
}
.coop-btn-sm {
    padding: 4px 12px !important;
    font-size: var(--coop-font-xs) !important;
}
.coop-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: var(--coop-spacing-2xl);
    padding-top: var(--coop-spacing-lg);
    border-top: 1px solid var(--coop-border-light, var(--coop-border));
}

/* Button Loading State */
.coop-btn.loading {
    position: relative;
    color: transparent !important;
}
.coop-btn.loading::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -10px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: coop-spin 0.8s linear infinite;
}

/* Checkboxes & Radios */
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--coop-checkbox-color) !important;
}
.coop-sync-checkbox {
    margin-bottom: var(--coop-spacing-md);
    padding-bottom: var(--coop-spacing-md);
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}
.coop-sync-checkbox label {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
    cursor: pointer;
    margin: 0;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 500;
    color: var(--coop-text-primary);
}
.coop-sync-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: var(--coop-checkbox-color) !important;
}
.coop-checkbox-inline {
    margin-top: var(--coop-spacing-xs);
    font-size: var(--coop-font-xs);
}
.coop-checkbox-inline label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: var(--coop-text-secondary);
}
.coop-checkbox-inline input[type="checkbox"] {
    cursor: pointer;
    margin: 0;
    accent-color: var(--coop-checkbox-color) !important;
}
.coop-form-disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* Messages & Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: var(--coop-bg-secondary) !important;
    color: var(--coop-text-primary) !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-top: 4px solid !important;
    padding: var(--coop-spacing-sm) var(--coop-spacing-md) !important;
    padding-left: 50px !important;
    border-radius: var(--coop-radius-md) !important;
    position: relative;
}
.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--coop-accent) !important;
}
.woocommerce-error {
    border-top-color: var(--coop-text-muted) !important;
}
body.coop-dark-area .woocommerce-error {
    color: #ff6b6b !important;
    border-top-color: #ff6b6b !important;
}
.woocommerce-message .button,
.woocommerce-message button,
.woocommerce-info .button,
.woocommerce-info button,
.woocommerce-error .button,
.woocommerce-error button {
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-message .button:focus,
.woocommerce-message button:focus,
.woocommerce-info .button:focus,
.woocommerce-info button:focus,
.woocommerce-error .button:focus,
.woocommerce-error button:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px var(--coop-accent-overlay-10) !important;
}

/* Material Labels */
.coop-material-label {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 10px var(--coop-spacing-md) !important;
    background: transparent !important;
    border: 1px solid var(--coop-border) !important;
    border-radius: var(--coop-radius-md) !important;
    cursor: pointer !important;
    transition: var(--coop-transition) !important;
    font-size: var(--coop-font-base) !important;
    font-weight: 500 !important;
    color: var(--coop-text-secondary) !important;
    margin: 0 !important;
    font-family: inherit !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.coop-material-label:hover {
    border-color: var(--coop-text-primary) !important;
    color: var(--coop-text-primary) !important;
}
.coop-material-label input[type="checkbox"] {
    display: none !important;
}
.coop-material-label:has(input:checked) {
    background: var(--coop-accent) !important;
    color: var(--coop-button-text) !important;
    border-color: var(--coop-accent) !important;
    font-weight: 600 !important;
}
body.coop-dark-area .coop-material-label:has(input:checked) {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* Status Badges & Indicators */
.coop-status-badge,
.coop-badge {
    display: inline-block;
    padding: var(--coop-spacing-xs) var(--coop-spacing-sm);
    font-size: var(--coop-font-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.coop-status-badge {
    border-radius: var(--coop-radius-sm);
    border: 1px solid;
}
.coop-badge {
    border-radius: var(--coop-radius-2xl);
    font-weight: 600;
}
.coop-status-pending {
    background: var(--coop-bg-primary);
    color: var(--coop-text-secondary);
    border-color: var(--coop-border);
}
.coop-status-verified {
    background: var(--coop-bg-primary);
    color: var(--coop-accent);
    border-color: var(--coop-accent);
}
.coop-status-rejected {
    background: var(--coop-bg-primary);
    color: var(--coop-text-muted);
    border-color: var(--coop-border);
}
.coop-badge-green {
    background: rgba(34, 197, 94, 0.1);
    color: #22c55e;
}
.coop-badge-yellow {
    background: rgba(251, 191, 36, 0.1);
    color: #fbbf24;
}
.coop-badge-red {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}
.coop-badge-blue {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}
.coop-status-badge.verified,
.coop-status-badge.success {
    background: var(--coop-accent-overlay-10);
    color: var(--coop-accent);
    border: 1px solid color-mix(in srgb, var(--coop-accent) 30%, transparent);
}
.coop-status-badge.not-verified,
.coop-status-badge.warning {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    color: var(--coop-text-secondary);
    border: 1px solid var(--coop-border-light, var(--coop-border));
}
@supports not (color-mix(in srgb, black, transparent)) {
    .coop-status-badge.verified,
    .coop-status-badge.success {
        background: rgba(30, 58, 138, 0.1);
        border: 1px solid rgba(30, 58, 138, 0.3);
    }
}
.status-indicator {
    display: inline-flex;
    align-items: center;
    gap: var(--coop-spacing-xs);
    font-weight: 500;
    font-size: var(--coop-font-md);
    padding: 6px var(--coop-spacing-sm);
    border-radius: var(--coop-radius-md);
    background: var(--coop-bg-primary);
    border: 1px solid var(--coop-border);
    color: var(--coop-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.status-dot.available {
    background: var(--coop-accent);
    box-shadow: 0 0 8px rgba(30, 58, 138, 0.6);
}
.status-dot.full,
.status-dot.withqueue {
    background: var(--coop-text-secondary);
}
.status-dot.notavailable {
    background: var(--coop-text-muted);
}
.status-indicator.available {
    border-color: var(--coop-accent);
    color: var(--coop-text-primary);
    background: var(--coop-bg-primary);
}
.status-indicator.full,
.status-indicator.withqueue {
    border-color: var(--coop-text-secondary);
    color: var(--coop-text-secondary);
    background: var(--coop-bg-primary);
}
.status-indicator.notavailable {
    border-color: var(--coop-text-muted);
    color: var(--coop-text-muted);
    background: var(--coop-bg-primary);
}

/* Animations */
@keyframes coop-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 768px) {
    .coop-actions {
        flex-direction: column;
    }
    .coop-actions button,
    .coop-actions .button {
        width: 100%;
    }
}

/* ============================================
   SHOP - Product Grid & Filters
   ============================================ */

/* CoopPrint Product Grid */
.coopprint-product-grid {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    overflow-x: hidden;
}

.coopprint-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, calc(50% - 12px)), 1fr));
    gap: 24px;
    padding: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Mobile: Mindestens 2 Spalten garantieren */
@media (max-width: 767px) {
    .coopprint-grid-container {
        grid-template-columns: repeat(auto-fit, minmax(min(200px, calc(50% - 8px)), 1fr));
        gap: 16px;
    }
}

/* Sehr kleine Screens: Mindestens 2 Spalten garantieren */
@media (max-width: 479px) {
    .coopprint-grid-container {
        grid-template-columns: repeat(auto-fit, minmax(min(200px, calc(50% - 6px)), 1fr));
        gap: 12px;
    }
}

/* Product Card - verwendet Producer Dashboard Look mit CSS-Variablen für Dark Mode */
.coopprint-product-card {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border-light, var(--coop-border));
    border-radius: var(--coop-radius-2xl, 24px);
    overflow: hidden;
    box-shadow: 0 18px 36px rgba(35, 34, 102, 0.08), 0 3px 12px rgba(35, 34, 102, 0.04);
    transition: var(--coop-transition, all 0.2s ease);
    position: relative;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.coopprint-product-card img,
.coopprint-card-image,
.coopprint-card-image-wrapper img {
    width: 100%;
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
    object-fit: cover;
}

body.coop-dark-mode-manual .coopprint-product-card,
body.coop-dark-area .coopprint-product-card {
    box-shadow: 0 22px 38px rgba(5, 7, 22, 0.58), inset 0 1px 0 rgba(148, 163, 255, 0.04);
}

/* Gradient-Overlay wie Producer Cards */
.coopprint-product-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 18%, transparent) 0%, transparent 65%);
    opacity: 0.15;
    transition: opacity var(--coop-transition, all 0.2s ease);
    z-index: 0;
}

body.coop-dark-mode-manual .coopprint-product-card::before,
body.coop-dark-area .coopprint-product-card::before {
    opacity: 0.25;
}

.coopprint-product-card:hover {
    /* Keine translateY Bewegung - bessere Button-Zielbarkeit */
    border-color: var(--coop-accent);
    box-shadow: 0 22px 50px rgba(35, 34, 102, 0.12), 0 6px 16px rgba(35, 34, 102, 0.08);
}

body.coop-dark-mode-manual .coopprint-product-card:hover,
body.coop-dark-area .coopprint-product-card:hover {
    background: color-mix(in srgb, var(--coop-bg-box, var(--coop-bg-secondary)) 88%, var(--coop-accent) 12%);
    box-shadow: 0 32px 46px rgba(5, 7, 22, 0.7), inset 0 1px 0 rgba(148, 163, 255, 0.08);
}

.coopprint-product-card:hover::before {
    opacity: 0.3;
}

.coopprint-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
}

/* Card Image - Weniger Padding zum Content */
.coopprint-card-image-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 75%; /* 4:3 Aspect Ratio */
    overflow: hidden;
    background: var(--coop-bg-tertiary, #f5f5f5);
    margin-bottom: 0;
}

.coopprint-card-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.coopprint-product-card:hover .coopprint-card-image {
    transform: scale(1.05);
}

/* Card Content - MakerWorld Style: Sehr kompakt, wenig Padding */
.coopprint-card-content {
    padding: 10px 12px 12px 12px;
    position: relative;
    z-index: 1;
}

/* Card Header: Profilbild links, Produktname + Designer rechts daneben (vertikal) */
.coopprint-card-header {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}

/* Avatar - links, klickbar wenn Link vorhanden */
.coopprint-designer-avatar {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--coop-border-light, rgba(0, 0, 0, 0.08));
    display: block;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.coopprint-designer-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Avatar als Link - klickbar */
a.coopprint-designer-avatar {
    text-decoration: none;
    cursor: pointer;
}

a.coopprint-designer-avatar:hover {
    transform: scale(1.05);
    border-color: var(--coop-accent, #2563eb);
}

/* Title Wrapper - Produktname + Designer vertikal */
.coopprint-card-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

/* Produktname - in der Reihe mit Avatar */
.coopprint-card-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    padding: 0;
    color: var(--coop-text-primary, #1a1a1a);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.coopprint-card-title a {
    color: inherit;
    text-decoration: none;
}

.coopprint-card-title a:hover {
    color: var(--coop-accent, #2563eb);
}

/* Designer Name - UNTER Produktname, ausgegraut */
.coopprint-designer-name {
    font-size: 12px;
    font-weight: 500;
    color: var(--coop-text-muted, #6b7280);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.coopprint-designer-name:hover {
    color: var(--coop-accent, #2563eb);
}

/* Like-System wurde entfernt */

/* Stats Row - Downloads und Preis nebeneinander */
.coopprint-card-stats {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--coop-border-light, #e5e7eb);
    justify-content: space-between;
}

.coopprint-stat-item {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--coop-text-muted, #6b7280);
    font-size: 12px;
}

.coopprint-stat-icon {
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    flex-shrink: 0;
}

.coopprint-stat-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.coopprint-stat-value {
    font-weight: 500;
    color: var(--coop-text-secondary, #374151);
    white-space: nowrap;
}

/* Like-Button - Designer Likes System */
.coopprint-stat-like {
    cursor: pointer;
    user-select: none;
    transition: var(--coop-transition);
    border: none;
    background: transparent;
    padding: 4px 8px;
    border-radius: 999px;
    font-family: inherit;
    font-size: 12px;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--coop-text-muted, #6b7280);
}

.coopprint-stat-like:hover {
    background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
    color: var(--coop-text-secondary, #374151);
}

body.coop-dark-mode-manual .coopprint-stat-like:hover,
body.coop-dark-area .coopprint-stat-like:hover {
    background: color-mix(in srgb, var(--coop-bg-box, var(--coop-bg-secondary)) 85%, var(--coop-accent) 15%);
    color: var(--coop-text-primary, #f5f5f7);
}

/* Geliked State */
.coopprint-stat-like.is-liked {
    background: var(--coop-accent, #3537e3);
    color: var(--coop-button-text, #ffffff);
}

.coopprint-stat-like.is-liked .coopprint-stat-icon {
    opacity: 1;
}

.coopprint-stat-like.is-liked .coopprint-stat-value {
    color: var(--coop-button-text, #ffffff);
}

.coopprint-stat-like.is-liked:hover {
    background: var(--coop-accent-hover, #4f52f0);
}

body.coop-dark-mode-manual .coopprint-stat-like.is-liked,
body.coop-dark-area .coopprint-stat-like.is-liked {
    background: var(--coop-accent, #4c6fff);
    color: var(--coop-button-text, var(--coop-text-primary));
}

body.coop-dark-mode-manual .coopprint-stat-like.is-liked:hover,
body.coop-dark-area .coopprint-stat-like.is-liked:hover {
    background: var(--coop-accent-hover, color-mix(in srgb, var(--coop-accent) 70%, #7286ff 30%));
}

/* Loading State */
.coopprint-stat-like.is-loading {
    opacity: 0.6;
    pointer-events: none;
    cursor: wait;
}

/* Button ist immer klickbar - für alle Benutzer gleich */

/* Preis ganz rechts */
.coopprint-stat-price {
    margin-left: auto;
    flex-shrink: 0;
}

.coopprint-stat-price .coopprint-stat-value {
    font-weight: 600;
    color: var(--coop-accent, #2563eb);
    font-size: 13px;
    white-space: nowrap;
}

.coopprint-stat-price .coopprint-stat-value del {
    color: var(--coop-text-muted, #9ca3af);
    font-weight: 400;
    margin-right: 4px;
    font-size: 12px;
}

.coopprint-stat-price .coopprint-stat-value ins {
    text-decoration: none;
}

/* Empty State */
.coopprint-grid-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--coop-text-muted, #6b7280);
    font-size: 16px;
}

/* Loading State */
.coopprint-grid-loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Filter Sidebar Styles */
.coopprint-shop-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-lg, 28px);
    margin: 0 auto;
    max-width: 1400px;
    width: 100%;
    /* kleiner globaler Abstand zum Header, identisch für Ausgangs- und Scroll-Zustand */
    padding: 8px clamp(10px, 2.4vw, 32px);
    box-sizing: border-box;
}

.coopprint-shop-content {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-lg, 20px);
}

.coopprint-filters-sidebar {
    width: 260px;
    flex-shrink: 0;
    padding-top: 0; /* Startet bündig mit der Suche */
}

.coopprint-filters-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Filter-Cards: H2-Überschriften ohne Padding oben */
.coopprint-filters-content .coop-card > h2.coop-product-page__section-title:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    /* margin-bottom wird von spezifischen Regeln überschrieben */
    padding-bottom: 0 !important;
}

/* Filter-Cards: Padding oben entfernen wenn H2 als erstes Element */
.coopprint-filters-content .coop-card > h2.coop-product-page__section-title:first-child {
    margin-top: calc(var(--coop-spacing-xl) * -1) !important;
    margin-left: calc(var(--coop-spacing-xl) * -1) !important;
    margin-right: calc(var(--coop-spacing-xl) * -1) !important;
    padding-left: var(--coop-spacing-xl) !important;
    padding-right: var(--coop-spacing-xl) !important;
    padding-top: var(--coop-spacing-xl) !important;
}
/* Filter-spezifische Gruppen-Styles entfernt - verwenden jetzt Standard-Styles */
/* Items (Checkbox-Zeilen) mit subtilen Hover-Akzenten */
.coopprint-filter-list li {
    border-radius: 10px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.coopprint-filter-list li:hover {
    background: color-mix(in srgb, var(--coop-accent) 8%, transparent);
}
.coopprint-filter-checkbox input:focus-visible + span {
    outline: 2px solid var(--coop-accent);
    outline-offset: 2px;
}

.coopprint-filter-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.coopprint-filter-list li {
    margin-bottom: 8px;
}

.coopprint-filter-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 6px;
    transition: background-color 0.2s;
    user-select: none;
}

.coopprint-filter-checkbox:hover {
    background-color: var(--coop-bg-primary, #f9fafb);
}

.coopprint-filter-checkbox input[type="checkbox"] {
    margin: 0 10px 0 0;
    cursor: pointer;
    width: 18px;
    height: 18px;
    accent-color: var(--coop-accent, #2563eb);
}

.coopprint-filter-checkbox span {
    flex: 1;
    font-size: 14px;
    color: var(--coop-text-primary, #374151);
}

.coopprint-filter-count {
    font-size: 13px;
    color: var(--coop-text-muted, #9ca3af);
    font-weight: 500;
}

.coopprint-filter-select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--coop-border-light, #d1d5db);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--coop-text-primary, #374151);
    background-color: var(--coop-bg-box, #ffffff);
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.3s ease;
}

.coopprint-filter-select:focus {
    outline: none;
    border-color: var(--coop-accent, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

body.coop-dark-mode-manual .coopprint-filter-select:focus,
body.coop-dark-area .coopprint-filter-select:focus {
    box-shadow: 0 0 0 3px rgba(76, 111, 255, 0.2);
}

.coopprint-products-main {
    flex: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

/* Shop Search Styles */
.coopprint-shop-search {
    margin-bottom: 12px;
    width: 100%;
}

.coopprint-search-form {
    width: 100%;
}

.coopprint-search-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--coop-bg-box);
    border: 1px solid var(--coop-border-light);
    border-radius: var(--coop-radius-md);
    padding: 2px;
    transition: border-color var(--coop-transition), box-shadow var(--coop-transition);
}

.coopprint-search-wrapper:focus-within {
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}

.coopprint-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 8px 12px;
    font-size: 14px;
    color: var(--coop-text-primary);
    outline: none;
    min-width: 0;
}

.coopprint-search-input::placeholder {
    color: var(--coop-text-secondary);
}

.coopprint-search-submit {
    appearance: none;
    background: var(--coop-button-surface, var(--coop-accent));
    border: none;
    border-radius: var(--coop-radius-md);
    padding: 8px 16px;
    color: var(--coop-button-text, #ffffff);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--coop-transition);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 36px;
}

.coopprint-search-submit:hover {
    background: var(--coop-button-surface-hover, var(--coop-accent-hover));
}

.coopprint-search-submit:active {
    transform: scale(0.98);
}

body.coop-dark-area .coopprint-search-wrapper {
    background: var(--coop-bg-box);
    border-color: var(--coop-border);
}

.coopprint-results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px; /* kompakter */
    padding-bottom: 6px; /* kompakter */
    border-bottom: none;
}

/* Produkte Topbar (Desktop: Suche rechts; Mobile: Suche + Funnel) */
.coopprint-products-topbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 0;
    margin-bottom: 4px;
}
.coopprint-topbar-search .coopprint-shop-search {
    margin-bottom: 0;
}
/* Desktop: Suche mittig und volle Breite */
@media (min-width: 1025px) {
    .coopprint-products-topbar {
        justify-content: center;
    }
    .coopprint-topbar-search {
        width: 100%;
        max-width: none;
    }
    /* Schlankere Suche */
    .coopprint-search-wrapper {
        padding: 2px; /* dünner Rahmenbereich */
    }
    .coopprint-search-input {
        padding: 8px 14px; /* flacher */
        font-size: 16px;
    }
    .coopprint-search-submit {
        min-width: 40px;
        height: 40px;
        padding: 8px 14px;
        font-size: 16px;
    }
}
.coopprint-filter-inline-toggle {
    appearance: none;
    border: 1px solid var(--coop-border-light);
    background: var(--coop-bg-box);
    color: var(--coop-text-primary);
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: none; /* nur mobil sichtbar */
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--coop-transition);
}
.coopprint-filter-inline-toggle:hover,
.coopprint-filter-inline-toggle:focus-visible {
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}
body.coop-dark-area .coopprint-filter-inline-toggle {
    background: var(--coop-bg-box);
    border-color: var(--coop-border);
}

/* Inline Panel (nur mobil) */
.coopprint-filter-inline-panel {
    display: none;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 8px;
}
.coopprint-filter-inline-panel.is-open {
    display: block;
}

/* Sidebar: Suche über den Filtern */
.coopprint-sidebar-tools {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.coopprint-sidebar-search {
    flex: 1 1 auto;
}

.coopprint-filter-icon-toggle {
    appearance: none;
    border: 1px solid var(--coop-border-light);
    background: var(--coop-bg-box);
    color: var(--coop-text-primary);
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--coop-transition);
}

.coopprint-filter-icon-toggle:hover,
.coopprint-filter-icon-toggle:focus-visible {
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}

body.coop-dark-area .coopprint-filter-icon-toggle {
    background: var(--coop-bg-box);
    border-color: var(--coop-border);
}

.coopprint-results-count {
    font-size: 13px; /* einheitlich */
    font-weight: 600;
    margin: 0;
    color: var(--coop-text-secondary, #6b7280);
}

.coopprint-clear-filters {
    font-size: 14px;
    color: var(--coop-accent, #2563eb);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.coopprint-clear-filters:hover {
    color: var(--coop-accent-hover, #1d4ed8);
    text-decoration: underline;
}

/* Filter Toggle Icon - nur für Legacy-Support */
.coopprint-filter-toggle-icon {
    font-size: 16px;
    transition: transform 0.3s ease;
    display: inline-flex;
    align-items: center;
}

/* Mobile Responsive */
@media (max-width: 1024px) {
    .coopprint-shop-wrapper {
        flex-direction: column;
        gap: 24px;
    }

    /* Desktop Sidebar im mobilen Modus verstecken */
    .coopprint-filters-sidebar:not(.coopprint-filters-sidebar-mobile) {
        display: none;
        width: 100%;
        padding-top: 0;
    }
    /* Mobile Sidebar: Standardmäßig versteckt, wird durch JavaScript getoggelt */
    .coopprint-filters-sidebar-mobile {
        width: 100%;
        padding-top: 0;
    }

    .coopprint-filters-content {
        position: relative;
        top: auto;
    }

    .coopprint-filters-title {
        margin-bottom: 0;
    }
    
    .coopprint-shop-search {
        margin-bottom: 10px;
    }
    
    .coopprint-search-input {
        font-size: 16px; /* Verhindert Zoom auf iOS */
        padding: 8px 12px;
    }
    
    .coopprint-search-submit {
        min-width: 40px;
        height: 36px;
        padding: 8px 14px;
    }

    /* Alte Ein-/Ausblendreihenfolge entfernen – Mobile zeigt Karten stets */
    .coopprint-filters-sidebar .coopprint-filters-content > * { display: block; }

    .coopprint-filters-sidebar.is-open .coopprint-filter-group:first-of-type {
        margin-top: 24px;
    }
}

@media (min-width: 1025px) {
    /* Inline-Toggle/Panel nur mobil, daher Desktop ausblenden */
    .coopprint-filter-inline-toggle,
    .coopprint-filter-inline-panel {
        display: none !important;
    }
}

@media (max-width: 768px) {
    /* Mobile: Sidebar-Suche prominent; Icon sichtbar */
    .coopprint-filter-inline-toggle {
        display: inline-flex;
    }
    /* Mobile: Suche zentriert und breiter */
    .coopprint-products-topbar {
        justify-content: center;
    }
    .coopprint-topbar-search {
        width: 100%;
        max-width: 640px;
    }
    .coopprint-topbar-search .coopprint-shop-search {
        width: 100%;
    }
    .coopprint-search-wrapper {
        padding: 2px;
    }
    .coopprint-search-input {
        padding: 10px 12px;
    }
    .coopprint-search-submit {
        height: 40px;
        min-width: 40px;
    }
    .coopprint-results-header {
        margin-bottom: 6px;
        padding-bottom: 4px;
    }
    .coopprint-results-count {
        font-size: 13px; /* identisch zu Desktop/Tablet */
    }
}

/* Tablet-Optimierungen (nur Suche, kein Icon/Sidebar, kompakter Header) */
@media (min-width: 769px) and (max-width: 1024px) {
    .coopprint-products-topbar {
        justify-content: center;
    }
    .coopprint-topbar-search {
        width: 100%;
        max-width: 1000px;
    }
    /* Filter-Icon auch auf Tablet */
    .coopprint-filter-inline-toggle {
        display: inline-flex;
    }
    .coopprint-results-header {
        margin-bottom: 8px;
        padding-bottom: 8px;
    }
    .coopprint-results-count {
        font-size: 13px; /* einheitlich */
    }
}

/* Grid sollte definitiv Grid bleiben */
.coopprint-grid-container {
    display: grid !important;
}


/* === CoopPrint Shop: Filter & Pagination Harmonisierung === */
.coopprint-filters-sidebar,
.coopprint-filter-inline-panel {
	/* Card-Stack Look */
	display: block;
}

.coopprint-filters-sidebar .filter-stack,
.coopprint-filter-inline-panel .filter-stack {
	display: grid;
	gap: var(--coop-spacing-md);
}

.filter-card {
	background: transparent;
	border: none !important;
	border-radius: 0;
	padding: 0;
}

.filter-card--header .filter-title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .2px;
	color: var(--coop-text-secondary, #a0a0a0);
}

/* Filter-spezifische Styles entfernt - verwenden jetzt Standard-CoopPrint-Styles */

/* Topbar Harmonisierung */
.coopprint-products-topbar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--coop-spacing-sm, 12px);
	margin: 0 auto var(--coop-spacing-sm, 12px);
	width: 100%;
}
.coopprint-products-topbar .coopprint-topbar-search {
	/* volle Breite wie im Mobile-Modus */
	flex: 1 1 auto;
	width: 100%;
	max-width: none;
	display: flex;
	justify-content: center;
}
.coopprint-filter-select {
	min-height: 36px;
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid var(--coop-border, rgba(255,255,255,0.08));
	background: var(--coop-surface, #0f0f10);
	color: var(--coop-text-primary, #fff);
}
.coopprint-filter-select:focus-visible {
	outline: 2px solid var(--coop-accent, #fff);
	outline-offset: 2px;
}

/* Inline Panel Animation (mobil) */
.coopprint-filter-inline-panel {
	border: 1px solid var(--coop-border, rgba(255,255,255,0.08));
	border-radius: var(--coop-radius-md, 12px);
	padding: var(--coop-spacing-sm, 12px);
	margin-bottom: var(--coop-spacing-sm, 12px);
}
.coopprint-filter-inline-panel.is-open {
	animation: coop-slide-down .18s ease-out;
}
@keyframes coop-slide-down {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Pagination als Pills */
.coopprint-pagination {
	margin: 16px 0 0;
}
.coopprint-pagination ul.page-numbers {
	display: flex;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}
.coopprint-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px solid var(--coop-border, rgba(255,255,255,0.08));
	background: transparent;
	color: var(--coop-text-secondary, #a0a0a0);
	text-decoration: none;
}
.coopprint-pagination .page-numbers.current {
	background: var(--coop-accent, #fff);
	color: #000;
	border-color: var(--coop-accent, #fff);
}
.coopprint-pagination a.page-numbers:hover {
	color: var(--coop-text-primary, #fff);
	border-color: var(--coop-border-strong, rgba(255,255,255,0.18));
	background: rgba(255,255,255,0.04);
	text-decoration: none;
}
.coopprint-pagination .page-numbers:focus-visible {
	outline: 2px solid var(--coop-accent, #fff);
	outline-offset: 2px;
}

/* Results Header Feinschliff */
.coopprint-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-sm, 12px);
	margin: 8px 0 var(--coop-spacing-sm, 12px);
}
.coopprint-results-count {
	margin: 0;
	font-size: 16px;
	color: var(--coop-text-primary, #fff);
	font-weight: 600;
}
.coopprint-results-query {
	margin-left: 8px;
	color: var(--coop-text-secondary, #a0a0a0);
	font-weight: 500;
}

/* Filter-spezifische Light Mode Overrides entfernt - verwenden jetzt Standard-Styles */
/* Responsive Sichtbarkeit: Sidebar vs. Toggle */
@media (max-width: 1024px) {
	/* Topbar: Suche zentriert, Button fixiert rechts, beeinflusst Breite nicht */
	.coopprint-products-topbar {
		position: relative;
		justify-content: center;
        width: 100%;
	}
	.coopprint-topbar-search {
		flex: 0 1 680px;
		max-width: 680px;
		width: 100%;
		margin: 0 auto;
		padding-right: 44px; /* Platz für Toggle-Button, verhindert Überlappung */
	}
	/* Desktop Sidebar im mobilen Modus verstecken */
	.coopprint-filters-sidebar:not(.coopprint-filters-sidebar-mobile) {
		display: none;
	}
	/* Mobile Sidebar: Standardmäßig versteckt, erscheint unter der Topbar wenn geöffnet */
	.coopprint-filters-sidebar-mobile {
		display: none;
		width: 100%;
		margin-top: 12px; /* Abstand zur Topbar */
	}
	.coopprint-filters-sidebar-mobile.is-open {
		display: block;
	}
	/* Filter Toggle Button - Positionierung und SVG-Farben */
	#coopprint-filter-toggle {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		z-index: 2;
	}
	
	/* SVG-Farben explizit setzen - verhindert schwarze Füllung */
	#coopprint-filter-toggle svg {
		fill: none !important;
		stroke: currentColor !important;
	}
	
	#coopprint-filter-toggle svg * {
		fill: none !important;
		stroke: currentColor !important;
	}
	
	#coopprint-filter-toggle .coopprint-filter-toggle-text { 
		display: none; 
	}

	/* Mobile: Filter kompakter gestalten */
	.filter-card--header { display: none; }
	.coopprint-filters-content {
		padding: 0;
		box-shadow: none;
	}
	/* Filter-Cards verwenden .coop-card Styling, kein Padding-Override */
	.filter-card--sort .filter-group {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}
	.filter-card--sort .filter-group-title {
		margin: 0;
		font-size: 13px;
	}
	.filter-card--sort .coopprint-filter-select {
		min-width: 160px;
		max-width: 58%;
		height: 34px;
	}
	/* Kategorien: max. 2 Zeilen, Button zum Aufklappen */
	.filter-card--categories .filter-list--pills {
		max-height: 84px; /* ~ 2 Zeilen */
		overflow: hidden;
		transition: max-height 0.2s ease;
	}
	.filter-card--categories.is-expanded .filter-list--pills {
		max-height: none;
	}
	/* „…“-Pill als Mehr-Anzeigen-Trigger */
}
@media (min-width: 1025px) {
	#coopprint-filter-toggle {
		display: none;
	}
	/* Desktop Sidebar sichtbar */
	.coopprint-filters-sidebar:not(.coopprint-filters-sidebar-mobile) {
		display: block;
	}
	/* Mobile Sidebar im Desktop-Modus verstecken */
	.coopprint-filters-sidebar-mobile {
		display: none !important;
	}
	/* Desktop-Layout: Suche oben, darunter Sidebar links + Produkte rechts */
	.coopprint-shop-content {
		display: grid;
		grid-template-columns: 280px 1fr;
		align-items: start;
		gap: var(--coop-spacing-md, 16px);
	}
	.coopprint-products-topbar { justify-content: center; margin-bottom: 8px; }
	.coopprint-products-main { min-width: 0; }
}

@media (min-width: 1025px) {
	/* Sticky: Suchleiste bleibt sichtbar, nicht unter dem Header */
	.coopprint-products-topbar {
		position: sticky;
		/* weiter unterhalb des Headers, damit nichts mehr angeschnitten wird;
		   Wrapper-Padding (8px) + zusätzlicher Abstand (20px) = 28px, damit Suchleiste am selben Ort bleibt */
		top: calc(var(--coop-header-height, 80px) + 28px);
		z-index: 100;
		background: transparent;
		/* kein Innenpadding – vertikale Position nur über Header-Höhe */
		padding-top: 0;
		padding-bottom: 0;
		border-bottom: none;
		box-shadow: none;
	}

	/* Sticky: Kategorien/Filter links fixieren - identischer Offset wie Wrapper-Padding */
	.coopprint-filters-sidebar {
		position: sticky;
		/* Wrapper-Padding (8px) + zusätzlicher Abstand (20px) = 28px, damit Sidebar am selben Ort bleibt */
		top: calc(var(--coop-header-height, 80px) + 28px);
		align-self: start;
		z-index: 10;
	}
}

/* ============================================
   WOOCOMMERCE SINGLE PRODUCT PAGE - CUSTOM LAYOUT
   ============================================ */

/* Main Product Page Wrapper */
.coop-product-page {
	max-width: 1320px;
	margin: 0 auto;
	padding: var(--coop-spacing-3xl) var(--coop-spacing-xl);
	width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}

/* Produkt-Container: Verhindert Overflow und stellt sicher, dass alles innerhalb bleibt */
div[id^="product-"],
div[id*="product-"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* 2-Column Layout (Hauptbereich) */
/* Product Page Top Header: Titel (60%) + Kategorien (40%) */
.coop-product-page__top-header {
	display: grid;
	grid-template-columns: 3fr 2fr; /* 60% / 40% Aufteilung */
	gap: var(--coop-spacing-3xl);
	margin-bottom: var(--coop-spacing-3xl);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__header-left {
	display: flex;
	align-items: center;
}

.coop-product-page__header-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.coop-product-page__layout {
	display: grid;
	grid-template-columns: 1fr 1fr; /* 50/50 Aufteilung */
	gap: var(--coop-spacing-3xl);
	margin-bottom: var(--coop-spacing-3xl);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Left Column: Galerie + Titel */
.coop-product-page__left {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xl);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

/* Header: Titel + Designer */
.coop-product-page__header {
	margin-bottom: 0;
}

.coop-product-page__title {
	font-size: var(--coop-font-4xl);
	font-weight: 700;
	margin: 0 0 var(--coop-spacing-md) 0;
	color: var(--coop-text-primary);
	line-height: 1.2;
}

.coop-product-page__designer-info {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-sm);
	font-size: var(--coop-font-base);
}

.coop-product-page__designer-label {
	color: var(--coop-text-secondary);
	font-weight: 600;
}

.coop-product-page__designer-link {
	color: var(--coop-accent);
	text-decoration: none;
	font-weight: 600;
	transition: var(--coop-transition);
}

.coop-product-page__designer-link:hover {
	color: var(--coop-accent-hover);
	text-decoration: underline;
}

/* Product Gallery */
.coop-product-gallery {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-gallery__main {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--coop-radius-xl);
	overflow: hidden;
	background: var(--coop-bg-tertiary);
	border: 1px solid var(--coop-border-light);
	box-sizing: border-box;
}

.coop-product-gallery__main-img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	cursor: pointer;
	transition: var(--coop-transition);
	box-sizing: border-box;
}

.coop-product-gallery__main-img:hover {
	transform: scale(1.02);
}

.coop-product-gallery__thumbnails {
	display: flex;
	gap: var(--coop-spacing-sm);
	overflow-x: auto;
	padding-bottom: var(--coop-spacing-xs);
	scrollbar-width: thin;
	scrollbar-color: var(--coop-border) transparent;
}

.coop-product-gallery__thumbnails::-webkit-scrollbar {
	height: 6px;
}

.coop-product-gallery__thumbnails::-webkit-scrollbar-track {
	background: transparent;
}

.coop-product-gallery__thumbnails::-webkit-scrollbar-thumb {
	background: var(--coop-border);
	border-radius: var(--coop-radius-sm);
}

.coop-product-gallery__thumb {
	position: relative;
	min-width: 100px; /* 1.25x größer: 80px * 1.25 = 100px */
	width: 100px;
	height: 100px;
	border-radius: var(--coop-radius-md);
	overflow: hidden;
	border: 2px solid transparent;
	background: var(--coop-bg-tertiary);
	cursor: pointer;
	padding: 0;
	transition: var(--coop-transition);
}

.coop-product-gallery__thumb:hover,
.coop-product-gallery__thumb.active {
	border-color: var(--coop-accent);
	transform: translateY(-2px);
}

.coop-product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coop-product-gallery__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 400px;
	color: var(--coop-text-muted);
	font-size: var(--coop-font-lg);
}

/* Right Column: Buy Box (Sticky) */
.coop-product-page__right {
	position: sticky;
	top: calc(var(--coop-header-height, 80px) + var(--coop-spacing-xl, 24px));
	align-self: start;
	max-height: calc(100vh - var(--coop-header-height, 80px) - var(--coop-spacing-xl, 24px) * 2);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--coop-border) transparent;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-width: 0;
	z-index: 10; /* Unter dem Header, aber über normalem Content */
}

.coop-product-page__right::-webkit-scrollbar {
	width: 6px;
}

.coop-product-page__right::-webkit-scrollbar-track {
	background: transparent;
}

.coop-product-page__right::-webkit-scrollbar-thumb {
	background: var(--coop-border);
	border-radius: var(--coop-radius-sm);
}

/* Alte Buy Box Styles entfernt - wird nicht mehr verwendet (ersetzt durch coop-product-page__* Klassen) */

/* Unter dem Hauptbereich: Beschreibung (70%) + Produkte aus derselben Kategorie (30%) */
.coop-product-page__below {
	display: grid;
	grid-template-columns: 7fr 3fr; /* 70% / 30% Verhältnis, berücksichtigt gap automatisch */
	gap: var(--coop-spacing-3xl);
	margin-bottom: var(--coop-spacing-3xl);
}

.coop-product-page__description-section {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-3xl);
}

/* Beschreibung und Reviews Blöcke */
.coop-product-page__description-full,
.coop-product-page__reviews-section {
	width: 100%;
}

/* Produkte aus derselben Kategorie - 30% Breite, Grid-Layout wie Shop */
.coop-product-page__related-section {
	display: flex;
	flex-direction: column;
}

.coop-product-page__related-products {
	position: sticky;
	top: calc(var(--coop-header-height, 80px) + var(--coop-spacing-xl));
	align-self: start;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.coop-product-page__related-products .coop-product-page__section-title {
	margin-bottom: var(--coop-spacing-lg, 2rem) !important;
	padding-bottom: var(--coop-spacing-md, 1.5rem) !important;
}

/* Grid-Layout für Produkte aus derselben Kategorie */
.coop-product-page__related-products .coopprint-product-grid {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-grid-container {
	display: grid;
	grid-template-columns: 1fr; /* Eine Spalte für 30% Breite */
	gap: 24px;
}

/* Produktkarten in Related-Section: Flexibel */
.coop-product-page__related-products .coopprint-product-card {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-card-image-wrapper {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-card-image-wrapper img,
.coop-product-page__related-products .coopprint-card-image {
	width: 100%;
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	object-fit: cover;
	display: block;
}

.coop-product-page__related-products .coopprint-card-content {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-card-title,
.coop-product-page__related-products .coopprint-card-title a {
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 100%;
}


/* Product Info Box */
.coop-product-info {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-lg);
}

.coop-product-info__fields {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-lg);
}

.coop-product-info__field {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xs);
}

.coop-product-info__label {
	font-size: var(--coop-font-sm);
	font-weight: 600;
	color: var(--coop-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.coop-product-info__value {
	font-size: var(--coop-font-base);
	color: var(--coop-text-primary);
	font-weight: 500;
}

.coop-product-info__select {
	padding: var(--coop-spacing-md) var(--coop-spacing-lg);
	border: 1px solid var(--coop-border);
	border-radius: var(--coop-radius-lg);
	background: var(--coop-bg-primary);
	color: var(--coop-text-primary);
	font-size: var(--coop-font-base);
	font-family: inherit;
	transition: var(--coop-transition);
	width: 100%;
}

.coop-product-info__select:focus {
	outline: none;
	border-color: var(--coop-accent);
	box-shadow: 0 0 0 3px var(--coop-accent-overlay-12);
}

/* Price Section */
.coop-product-info__price {
	padding: var(--coop-spacing-lg) 0;
	border-top: 1px solid var(--coop-border-light);
	border-bottom: 1px solid var(--coop-border-light);
}

.coop-product-info__price .price {
	font-size: var(--coop-font-3xl);
	font-weight: 700;
	color: var(--coop-text-primary);
}

.coop-product-info__price .woocommerce-Price-amount {
	color: var(--coop-accent);
}

/* CTA Section */
.coop-product-info__cta {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md);
}

.coop-product-info__stock {
	margin: 0;
	padding: var(--coop-spacing-md);
	border-radius: var(--coop-radius-lg);
	background: var(--coop-bg-tertiary);
	text-align: center;
	font-size: var(--coop-font-base);
	color: var(--coop-text-muted);
}

.coop-product-info__stock .out-of-stock,
.coop-product-info__stock .not-purchasable {
	color: var(--coop-text-muted);
	font-weight: 600;
}

/* Quantity Input */
.coop-product-info__cta .quantity {
	margin-bottom: var(--coop-spacing-md);
}

.coop-product-info__cta .quantity input {
	padding: var(--coop-spacing-md) var(--coop-spacing-lg);
	border: 1px solid var(--coop-border);
	border-radius: var(--coop-radius-lg);
	background: var(--coop-bg-primary);
	color: var(--coop-text-primary);
	font-size: var(--coop-font-base);
	width: 100%;
	text-align: center;
}

/* Full Width Sections (Legacy - wird durch __below ersetzt) */
.coop-product-page__fullwidth {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-3xl);
}

.coop-product-page__section-title {
	font-size: var(--coop-font-2xl);
	font-weight: 700;
	margin: 0 !important;
	margin-top: 0 !important;
	padding: 0 !important;
	padding-top: 0 !important;
	padding-bottom: var(--coop-spacing-md, 1.5rem) !important;
	color: var(--coop-text-primary);
}

/* Description Section */
.coop-product-page__description-full,
.coop-product-page__reviews-section,
.coop-product-page__purchase-box {
	padding: var(--coop-spacing-xl);
}

.coop-product-page__description-full .entry-content,
.coop-product-page__reviews-content {
	line-height: 1.75;
	color: var(--coop-text-primary);
}

.coop-product-page__description-full .entry-content p,
.coop-product-page__reviews-content p {
	margin-bottom: var(--coop-spacing-md);
}

.coop-product-page__description-full .entry-content p:last-child,
.coop-product-page__reviews-content p:last-child {
	margin-bottom: 0;
}

/* Designer Section */
.coop-product-designer {
	padding: var(--coop-spacing-xl);
}

.coop-product-designer__layout {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: var(--coop-spacing-3xl);
}

.coop-product-designer__profile-content {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-lg);
}

.coop-product-designer__avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--coop-border-light);
}

.coop-product-designer__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coop-product-designer__name {
	font-size: var(--coop-font-xl);
	font-weight: 700;
	margin: 0 0 var(--coop-spacing-sm) 0;
}

.coop-product-designer__name a {
	color: var(--coop-text-primary);
	text-decoration: none;
	transition: var(--coop-transition);
}

.coop-product-designer__name a:hover {
	color: var(--coop-accent);
}

.coop-product-designer__description {
	color: var(--coop-text-secondary);
	line-height: 1.6;
	margin: 0 0 var(--coop-spacing-md) 0;
}

/* Related Products Grid */
.coop-product-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--coop-spacing-lg);
}

/* Product Tags */
.coop-product-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--coop-spacing-sm);
	padding: var(--coop-spacing-xl) 0;
}

.coop-product-tags .filter-pill {
	padding: var(--coop-spacing-sm) var(--coop-spacing-lg);
	border-radius: 999px;
	background: var(--coop-bg-tertiary);
	border: 1px solid var(--coop-border-light);
	color: var(--coop-text-primary);
	text-decoration: none;
	font-size: var(--coop-font-sm);
	font-weight: 500;
	transition: var(--coop-transition);
	display: inline-block;
}

.coop-product-tags .filter-pill:hover {
	border-color: var(--coop-accent);
	background: var(--coop-accent-overlay-10);
	color: var(--coop-accent);
	transform: translateY(-2px);
}

/* Reviews Section */
.coop-product-page__reviews-section {
    margin-top: var(--coop-spacing-xl, 32px);
}

.coop-product-page__reviews-content {
    padding: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Bewertungsformular */
.coop-review-form-wrapper {
    margin-bottom: var(--coop-spacing-xl, 32px);
    padding: var(--coop-spacing-lg, 24px);
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border-radius: var(--coop-radius-lg, 12px);
    border: 1px solid var(--coop-border-light, var(--coop-border));
}

.coop-review-form-title {
    font-size: var(--coop-font-lg, 18px);
    font-weight: 600;
    margin: 0 0 var(--coop-spacing-lg, 24px) 0;
    color: var(--coop-text-primary);
}

.coop-review-field {
    margin-bottom: var(--coop-spacing-lg, 24px);
}

.coop-review-label {
    display: block;
    font-size: var(--coop-font-sm, 14px);
    font-weight: 500;
    margin-bottom: var(--coop-spacing-sm, 8px);
    color: var(--coop-text-primary);
}

.coop-star-rating {
    margin-bottom: var(--coop-spacing-sm, 8px);
}

.coop-stars {
    display: flex;
    gap: 4px;
    margin-bottom: var(--coop-spacing-sm, 8px);
}

.coop-star {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--coop-text-muted, #9ca3af);
    transition: all 0.2s ease;
}

.coop-star:hover {
    color: #fbbf24;
    transform: scale(1.1);
}

.coop-star.active {
    color: #fbbf24;
}

.coop-star svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    transition: fill 0.2s ease;
}

.coop-star.active svg {
    fill: #fbbf24;
    stroke: #fbbf24;
}

.coop-review-comment {
    width: 100%;
    padding: var(--coop-spacing-sm, 8px);
    border: 1px solid var(--coop-border, #e5e7eb);
    border-radius: var(--coop-radius-md, 8px);
    font-family: inherit;
    font-size: var(--coop-font-sm, 14px);
    resize: vertical;
    min-height: 80px;
    background: #fff;
    color: #1f2937;
}

.coop-review-comment:focus {
    outline: none;
    border-color: var(--coop-primary, #3537e3);
    box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.1);
}

/* Dark Mode für Kommentarfelder */
body.coop-dark-mode-manual .coop-review-comment,
body.coop-dark-area .coop-review-comment {
    background: var(--coop-bg-secondary, rgba(255,255,255,0.03));
    border-color: var(--coop-border-color, rgba(255,255,255,0.1));
    color: var(--coop-text-primary, #f5f5f5);
}

body.coop-dark-mode-manual .coop-review-comment:focus,
body.coop-dark-area .coop-review-comment:focus {
    border-color: var(--coop-accent, #3537e3);
    box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.2);
}

body.coop-dark-mode-manual .coop-review-comment::placeholder,
body.coop-dark-area .coop-review-comment::placeholder {
    color: var(--coop-text-muted, #6C6D7C);
}

.coop-review-submit {
    margin-top: var(--coop-spacing-md, 16px);
}

.coop-review-message {
    margin-top: var(--coop-spacing-md, 16px);
    padding: var(--coop-spacing-sm, 8px) var(--coop-spacing-md, 16px);
    border-radius: var(--coop-radius-md, 8px);
    font-size: var(--coop-font-sm, 14px);
}

.coop-review-message--success {
    background: #d1fae5;
    color: #065f46;
    border: 1px solid #6ee7b7;
}

.coop-review-message--error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* Bewertungslisten */
.coop-reviews-section {
    margin-bottom: var(--coop-spacing-xl, 32px);
}

.coop-reviews-section-title {
    font-size: var(--coop-font-lg, 18px);
    font-weight: 600;
    margin: 0 0 var(--coop-spacing-lg, 24px) 0;
    color: var(--coop-text-primary);
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm, 8px);
    flex-wrap: wrap;
}

.coop-reviews-average {
    font-size: var(--coop-font-base, 16px);
    font-weight: 400;
    color: var(--coop-text-secondary);
}

.coop-reviews-count {
    font-size: var(--coop-font-sm, 14px);
    color: var(--coop-text-muted);
}

.coop-reviews-list {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md, 16px);
}

.coop-review-item {
    padding: var(--coop-spacing-md, 16px);
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border-radius: var(--coop-radius-md, 8px);
    border: 1px solid var(--coop-border-light, var(--coop-border));
}

.coop-review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--coop-spacing-sm, 8px);
    flex-wrap: wrap;
    gap: var(--coop-spacing-sm, 8px);
}

.coop-review-stars {
    display: flex;
    gap: 2px;
    font-size: 18px;
    line-height: 1;
}

.coop-star-filled {
    color: #fbbf24;
}

.coop-star-half {
    color: #fbbf24;
    opacity: 0.5;
}

.coop-star-empty {
    color: var(--coop-text-muted, #9ca3af);
}

.coop-review-author {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm, 8px);
    font-size: var(--coop-font-sm, 14px);
}

.coop-review-date {
    color: var(--coop-text-muted);
    font-size: var(--coop-font-xs, 12px);
}

.coop-review-partner {
    margin-top: var(--coop-spacing-xs, 4px);
    font-size: var(--coop-font-sm, 14px);
    color: var(--coop-text-secondary);
}

.coop-review-comment-text {
    margin-top: var(--coop-spacing-sm, 8px);
    padding-top: var(--coop-spacing-sm, 8px);
    border-top: 1px solid var(--coop-border-light, var(--coop-border));
    color: var(--coop-text-primary);
    line-height: 1.6;
}

.coop-product-page__reviews {
	padding: var(--coop-spacing-xl) 0;
}

/* WooCommerce Product Tabs Override */
.coop-product-page .woocommerce-tabs {
	margin-top: var(--coop-spacing-3xl);
}

.coop-product-page .woocommerce-tabs ul.tabs {
	display: flex;
	gap: var(--coop-spacing-md);
	border-bottom: 2px solid var(--coop-border-light);
	margin-bottom: var(--coop-spacing-xl);
	padding: 0;
	list-style: none;
}

.coop-product-page .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
}

.coop-product-page .woocommerce-tabs ul.tabs li a {
	padding: var(--coop-spacing-md) var(--coop-spacing-lg);
	border-bottom: 2px solid transparent;
	color: var(--coop-text-secondary);
	text-decoration: none;
	font-weight: 600;
	font-size: var(--coop-font-base);
	transition: var(--coop-transition);
	display: block;
	margin-bottom: -2px;
}

.coop-product-page .woocommerce-tabs ul.tabs li.active a,
.coop-product-page .woocommerce-tabs ul.tabs li a:hover {
	color: var(--coop-accent);
	border-bottom-color: var(--coop-accent);
}

.coop-product-page .woocommerce-tabs .panel {
	padding: var(--coop-spacing-xl) 0;
	color: var(--coop-text-primary);
}

/* Responsive: Tablet */
@media (max-width: 1024px) {
	.coop-product-page__top-header {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-lg);
	}

	.coop-product-page__header-right {
		justify-content: flex-start;
	}

	.coop-product-page__category-path {
		justify-content: flex-start;
	}

	.coop-product-page__layout {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	.coop-product-page__right {
		position: static;
		max-height: none;
		overflow-y: visible;
	}

	.coop-product-page__below {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	.coop-product-designer__layout {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	.coop-product-related__grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: var(--coop-spacing-md);
	}
}

/* Responsive: Mobile */
@media (max-width: 768px) {
	.coop-product-page {
		padding: var(--coop-spacing-xl) var(--coop-spacing-md);
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.coop-product-page__layout {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__left,
	.coop-product-page__right {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__title {
		font-size: var(--coop-font-3xl);
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	.coop-product-gallery {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-gallery__main {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-gallery__main-img {
		width: 100%;
		max-width: 100%;
		height: auto;
		box-sizing: border-box;
		object-fit: contain;
	}

	.coop-product-gallery__thumb {
		min-width: 75px;
		width: 75px;
		height: 75px;
		box-sizing: border-box;
	}

	.coop-product-gallery__thumbnails {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coopprint-product-card {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coopprint-product-card img {
		width: 100%;
		max-width: 100%;
		height: auto;
		box-sizing: border-box;
	}

	.coopprint-grid-container {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0;
	}

	/* Mobile: Grid wird zu einer Spalte */

	.coop-product-page__cart-section {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__filament-section {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-filament-toggle,
	.coop-filament-pills {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-tags {
		gap: var(--coop-spacing-xs);
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-tags .filter-pill {
		padding: var(--coop-spacing-xs) var(--coop-spacing-md);
		font-size: var(--coop-font-xs);
		max-width: 100%;
		box-sizing: border-box;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	.coop-product-page__description-section,
	.coop-product-page__related-section {
		min-width: 0;
	}

	.coop-product-page__cart-section form.cart {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-filament-toggle,
	.coop-filament-pills {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__add-to-cart-wrapper {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		flex-wrap: wrap;
	}

	.coop-product-page__add-to-cart {
		min-width: 0;
		flex: 1 1 auto;
	}

	/* Reviews-Sektion: Optimierung für mobile Geräte */
	.coop-product-page__reviews-section {
		margin-top: var(--coop-spacing-lg);
	}

	.coop-product-page__reviews-content {
		word-wrap: break-word;
		overflow-wrap: break-word;
		hyphens: auto;
		line-height: 1.6;
	}

	.coop-product-page__reviews-content p {
		margin-bottom: var(--coop-spacing-md);
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

}

/* Zusätzliche Mobile-Optimierungen für sehr kleine Screens */
@media (max-width: 480px) {
	.coop-product-page {
		padding: var(--coop-spacing-lg) var(--coop-spacing-sm);
	}

	.coop-product-gallery__main {
		max-height: 60vh;
	}

	.coop-product-gallery__thumb {
		min-width: 60px;
		width: 60px;
		height: 60px;
	}

	.coopprint-grid-container {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.coop-product-page__below {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	/* Reviews-Sektion: Zusätzliche Optimierungen für sehr kleine Screens */
	.coop-product-page__reviews-content {
		font-size: 0.95em;
		line-height: 1.7;
	}

	.coop-product-page__reviews-content p {
		margin-bottom: var(--coop-spacing-sm);
	}

}

/* WooCommerce Overrides for Product Page */
.single-product .woocommerce-breadcrumb {
	display: none;
}

.single-product .site-main {
	padding-top: 0;
}

/* ============================================
   PRODUKTSEITE - ANPASSUNGEN
   ============================================ */

/* Produkttitel 1,5x größer (auf Produktseite) */
.coop-product-page .coopprint-card-title {
	font-size: 24px !important; /* Größer gemacht */
	line-height: 1.4 !important;
	font-weight: 600 !important;
}

/* Header: Titel + Designer (im Top-Header) */
.coop-product-page__header {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 0;
}

/* Profilbild auf Produktseite größer */
.coop-product-page__header .coopprint-designer-avatar {
	width: 48px !important;
	height: 48px !important;
	flex-shrink: 0;
}

/* Designer-Name auf Produktseite größer */
.coop-product-page__header .coopprint-designer-name {
	font-size: 16px !important;
	font-weight: 500 !important;
}

/* Kategorie-Pfad mit Pills (wie im Shop) */
.coop-product-page__category-path {
	margin-bottom: 0;
	display: flex;
	align-items: center;
	flex-wrap: nowrap; /* Kein Umbruch - alles in einer Reihe */
	gap: 8px;
	justify-content: flex-end;
}

/* Filter-Pills verwenden den Standard-Style vom Shop (wie auf der Shop-Seite) */
.coop-product-page__category-path .filter-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid var(--coop-border-light, #e5e7eb);
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #1a1a1a);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
	text-align: center;
	text-decoration: none;
	width: auto !important;
	white-space: nowrap;
}

.coop-product-page__category-path .filter-pill:hover {
	border-color: var(--coop-accent, #2563eb);
	background: var(--coop-bg-secondary, #f9fafb);
	color: var(--coop-accent, #2563eb);
	text-decoration: none;
}

.coop-product-page__category-path .filter-pill:active,
.coop-product-page__category-path .filter-pill:focus {
	border-color: var(--coop-accent, #2563eb);
	background: var(--coop-bg-secondary, #f9fafb);
	color: var(--coop-accent, #2563eb);
	outline: 2px solid var(--coop-accent, #2563eb);
	outline-offset: 2px;
}

/* Dark Mode für Filter-Pills auf Produktseite */
body.coop-dark-mode-manual .coop-product-page__category-path .filter-pill,
body.coop-dark-area .coop-product-page__category-path .filter-pill {
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
	color: var(--coop-text-primary, #ffffff) !important;
}

body.coop-dark-mode-manual .coop-product-page__category-path .filter-pill:hover,
body.coop-dark-area .coop-product-page__category-path .filter-pill:hover {
	background: var(--coop-bg-primary, rgba(255, 255, 255, 0.05)) !important;
	border-color: var(--coop-accent, #6366f1) !important;
	color: var(--coop-accent, #6366f1) !important;
}

.coop-product-page__category-separator {
	color: var(--coop-text-muted, #9ca3af);
	margin: 0 4px;
	font-size: 14px;
	font-weight: 500;
	flex-shrink: 0; /* Separator wird nicht kleiner */
}

/* Preis-Style verbessern (größer und schöner) */
.coop-product-page__price-section {
	margin-top: 0;
	margin-bottom: var(--coop-spacing-md, 16px);
	padding-top: 0;
}

.coop-product-page__price-section .price {
	font-size: 32px !important;
	font-weight: 700 !important;
	color: var(--coop-text-primary, #1a1a1a) !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.2 !important;
}

.coop-product-page__price-section .woocommerce-Price-amount {
	color: var(--coop-accent, #2563eb) !important;
	font-size: inherit !important;
}

.coop-product-page__price-section .price del {
	font-size: 20px !important;
	color: var(--coop-text-muted, #6b7280) !important;
	opacity: 0.7;
}

.coop-product-page__price-section .price ins {
	text-decoration: none;
}

/* Bildgalerie: Maximale Höhe 0.75x, Pfeile über Bildern, breite Bilder volle Breite */
.coop-product-gallery__main {
	max-width: 100%;
	width: 100%;
	aspect-ratio: 1 / 1; /* Standard 1:1 Format */
	max-height: 75vh; /* Maximale Höhe 0.75x der Viewport-Höhe */
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden; /* Für Pfeile über Bildern */
	background: var(--coop-bg-secondary, #f9fafb);
	box-sizing: border-box;
}

.coop-product-gallery__main-img {
	width: 100%; /* Volle Breite für breite Bilder */
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain; /* Bilder vollständig anzeigen, nicht abschneiden */
	object-position: center; /* Mittig zentrieren */
	display: block;
	box-sizing: border-box;
}

/* Hover-Pfeile für Bildnavigation - über den Bildern angezeigt */
.coop-product-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--coop-border, #e5e7eb);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--coop-border-light, rgba(0, 0, 0, 0.1));
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 20; /* Über dem Bild */
	transition: var(--coop-transition);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.coop-product-gallery__main:hover .coop-product-gallery__nav {
	display: flex;
}

.coop-product-gallery__nav:hover {
	background: rgba(255, 255, 255, 1);
	border-color: var(--coop-accent, #2563eb);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transform: translateY(-50%) scale(1.1);
}

.coop-product-gallery__nav--prev {
	left: 16px;
}

.coop-product-gallery__nav--next {
	right: 16px;
}

.coop-product-gallery__nav svg {
	width: 20px;
	height: 20px;
	color: var(--coop-text-primary, #1a1a1a);
}

/* Dark Mode: Gallery Navigation Buttons */
body.coop-dark-mode-manual .coop-product-gallery__nav,
body.coop-dark-area .coop-product-gallery__nav {
	background: rgba(0, 0, 0, 0.7) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.2)) !important;
}

body.coop-dark-mode-manual .coop-product-gallery__nav:hover,
body.coop-dark-area .coop-product-gallery__nav:hover {
	background: rgba(0, 0, 0, 0.9) !important;
	border-color: var(--coop-accent, #4c6fff) !important;
}

body.coop-dark-mode-manual .coop-product-gallery__nav svg,
body.coop-dark-area .coop-product-gallery__nav svg {
	color: var(--coop-text-primary, #fff) !important;
}

/* Filamentauswahl: ganze Zeile - komplett neu */
/* Überschreibt coop_filament_adjust_cart_ui() Styles - muss nach Footer-Styles geladen werden */
.coop-product-page__cart-section form.cart {
	display: flex !important;
	flex-direction: column !important;
	grid-template-columns: none !important;
	gap: var(--coop-spacing-md, 16px) !important;
	align-items: stretch !important;
}

.coop-product-page__cart-section form.cart > * {
	width: 100% !important;
	max-width: 100% !important;
}

.coop-product-page__filament-section--full-width {
	width: 100% !important;
	margin-bottom: var(--coop-spacing-md, 16px) !important;
	min-width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
}

/* Filament-Auswahl: Pill-Auswahl (wie Kategorien im Shop) */
.coop-product-page__filament-section {
	margin-bottom: var(--coop-spacing-md, 16px);
	position: relative;
	z-index: 1; /* Innerhalb des sticky Containers */
}

.coop-filament-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid var(--coop-border, #e5e7eb);
	border-radius: 8px;
	background: var(--coop-bg-primary, #fff);
	color: var(--coop-text-primary, #111827);
	font-size: 15px;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	text-align: left;
}

.coop-filament-toggle:hover {
	border-color: var(--coop-accent, #2563eb);
	box-shadow: 0 2px 8px var(--coop-accent-overlay-10);
}

.coop-filament-toggle-swatch {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: var(--coop-bg-tertiary, #f3f4f6);
	flex-shrink: 0;
}

.coop-filament-toggle-text {
	flex: 1;
	text-align: left;
}

.coop-filament-toggle-arrow {
	color: var(--coop-text-secondary, #6b7280);
	font-size: 12px;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.coop-filament-pills {
	display: none !important; /* Standardmäßig geschlossen */
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 4px;
	background: var(--coop-bg-primary, #fff);
	border: 1px solid var(--coop-border, #e5e7eb);
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	z-index: 1000;
	max-height: 300px;
	overflow-y: auto;
	padding: 8px;
	flex-direction: column;
	gap: 8px;
}

/* Wenn geöffnet, dann als flex anzeigen */
.coop-filament-pills[style*="display: block"],
.coop-filament-pills[style*="display: flex"] {
	display: flex !important;
}

/* Dark Mode: Filament Dropdown */
body.coop-dark-mode-manual .coop-filament-pills,
body.coop-dark-area .coop-filament-pills {
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.coop-filament-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid var(--coop-border-light, #e5e7eb);
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #1a1a1a);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
	text-align: left;
	width: 100%;
	justify-content: flex-start;
}

.coop-filament-pill:hover:not(.disabled) {
	border-color: var(--coop-accent, #2563eb);
	box-shadow: 0 2px 8px var(--coop-accent-overlay-10);
}

.coop-filament-pill.is-selected {
	background: color-mix(in srgb, var(--coop-accent) 14%, transparent);
	border-color: var(--coop-accent, #2563eb);
	color: var(--coop-text-primary, #0f172a);
	box-shadow: 0 2px 10px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}

.coop-filament-pill.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.coop-filament-pill-swatch {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.08);
	flex-shrink: 0;
}

.coop-filament-pill-text {
	flex: 1;
	text-align: left;
}


/* Quantity + Add to Cart: Saubere Struktur */
.coop-product-page__add-to-cart-wrapper {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 0;
}

.coop-product-page__quantity {
	flex-shrink: 0;
	padding-top: 16px; /* Gleiches Padding wie über dem Warenkorb-Button */
}

.coop-product-page__quantity .quantity {
	width: auto !important;
	margin: 0 !important;
}

.coop-product-page__quantity .quantity input.qty {
	width: 60px !important;
	height: auto !important; /* Höhe passt sich an Padding an */
	padding: 14px 8px !important; /* Gleiches Padding wie Button (14px oben/unten) */
	font-size: 15px !important;
	text-align: center !important;
	border: 1px solid var(--coop-border, #e5e7eb) !important;
	border-radius: 8px !important;
	color: var(--coop-text-primary, #1a1a1a) !important;
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
}

/* Dark Mode: Quantity Input */
body.coop-dark-mode-manual .coop-product-page__quantity .quantity input.qty,
body.coop-dark-area .coop-product-page__quantity .quantity input.qty {
	color: var(--coop-text-primary, #fff) !important;
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
}

.coop-product-page__quantity .quantity label {
	display: none !important;
}

.coop-product-page__add-to-cart {
	flex: 1;
	min-width: 0;
	/* Verwendet das Standard-Padding von .coop-btn (14px oben/unten) */
}

.coop-product-page__cart-section form.cart .quantity {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
}

	/* Kategorie-Auswahl im Designer Editor (ähnlich wie Filament-Auswahl) */
	.coop-category-toggle {
		width: 100%;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 12px 16px;
		border: 1px solid var(--coop-border, #e5e7eb);
		border-radius: 8px;
		background: var(--coop-bg-primary, #fff);
		color: var(--coop-text-primary, #111827);
		font-size: 15px;
		cursor: pointer;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
		text-align: left;
	}

	.coop-category-toggle:hover {
		border-color: var(--coop-accent, #2563eb);
		box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
	}

	.coop-category-toggle-text {
		flex: 1;
		text-align: left;
	}

	.coop-category-toggle-arrow {
		color: var(--coop-text-secondary, #6b7280);
		font-size: 12px;
		flex-shrink: 0;
		transition: transform 0.2s ease;
	}

	.coop-category-pills {
		display: none !important;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin-top: 4px;
		background: var(--coop-bg-primary, #fff);
		border: 1px solid var(--coop-border, #e5e7eb);
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		z-index: 1000;
		padding: 12px;
		flex-direction: column;
		gap: 8px;
	}

	.coop-category-pills[style*="display: flex"] {
		display: flex !important;
	}

	.coop-category-pill {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 10px 14px;
		border-radius: 8px;
		border: 1px solid var(--coop-border-light, #e5e7eb);
		background: var(--coop-bg-primary, #ffffff);
		color: var(--coop-text-primary, #1a1a1a);
		font-size: 14px;
		font-weight: 500;
		cursor: pointer;
		transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
		text-align: left;
		width: 100%;
		justify-content: flex-start;
	}

	.coop-category-pill:hover {
		border-color: var(--coop-accent, #2563eb);
		background: var(--coop-bg-secondary, #f9fafb);
	}

	.coop-category-pill.is-selected {
		border-color: var(--coop-accent, #2563eb);
		background: color-mix(in srgb, var(--coop-accent) 10%, transparent);
		color: var(--coop-accent, #2563eb);
		font-weight: 600;
	}

	.coop-category-pill-main {
		font-weight: 600;
	}

	.coop-category-pill-sub {
		font-weight: 400;
		font-size: 13px;
	}

	.coop-category-pill-text {
		flex: 1;
	}

	.coop-category-pill-arrow {
		color: var(--coop-text-secondary, #6b7280);
		font-size: 10px;
		transition: transform 0.2s ease;
	}

	.coop-category-subcategories {
		display: none;
		flex-direction: column;
		gap: 6px;
		margin-left: 20px;
		margin-top: 4px;
		padding-left: 12px;
		border-left: 2px solid var(--coop-border-light, #e5e7eb);
	}

	/* Dark Mode */
	body.coop-dark-mode-manual .coop-category-pills,
	body.coop-dark-area .coop-category-pills {
		background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
		border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
	}

	body.coop-dark-mode-manual .coop-category-pill,
	body.coop-dark-area .coop-category-pill {
		background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
		border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
		color: var(--coop-text-primary, #ffffff) !important;
	}

	body.coop-dark-mode-manual .coop-category-pill:hover,
	body.coop-dark-area .coop-category-pill:hover {
		background: var(--coop-bg-primary, rgba(255, 255, 255, 0.05)) !important;
	}

	body.coop-dark-mode-manual .coop-category-pill.is-selected,
	body.coop-dark-area .coop-category-pill.is-selected {
		background: color-mix(in srgb, var(--coop-accent) 20%, transparent) !important;
		border-color: var(--coop-accent, #6366f1) !important;
	}

	.coop-product-page__filament-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--coop-text-secondary, #6b7280);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.coop-product-page__filament-select {
	width: 100% !important;
	padding: 12px 16px !important;
	border: 1px solid var(--coop-border, #e5e7eb) !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	background: var(--coop-bg-primary, #fff) !important;
	color: var(--coop-text-primary, #1a1a1a) !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
}

/* Warenkorb-Button: ganze Zeile */
/* Überschreibt coop_filament_adjust_cart_ui() Styles */
.coop-product-page__cart-section form.cart .coop-product-page__add-to-cart--full-width,
.coop-product-page__cart-section form.cart button[type="submit"][name="add-to-cart"] {
	width: 100% !important;
	margin-top: var(--coop-spacing-md, 16px) !important;
	padding: 14px 24px !important; /* Gleiches Padding wie Standard-Button */
	font-size: 16px !important;
	font-weight: 600 !important;
	grid-column: 1 / -1 !important;
	align-self: stretch !important;
}

/* Express Checkout Wrapper */
.wcpay-express-checkout-wrapper {
	margin-top: var(--coop-spacing-md, 16px);
	width: 100%;
}

.ppc-button-wrapper {
	width: 100%;
}

/* Stats: 0.75x der aktuellen Größe (18px statt 24px) und beide rechts */
.coop-product-page__stats {
	margin-top: var(--coop-spacing-xl, 32px);
	padding-top: var(--coop-spacing-lg, 24px);
	border-top: 1px solid var(--coop-border-light, #e5e7eb);
}

.coop-product-page__stats-inner {
	justify-content: flex-end !important;
	gap: 18px !important;
}

.coop-product-page__stats .coopprint-stat-item {
	font-size: 18px !important; /* 24px * 0.75 = 18px */
	gap: 6px;
}

.coop-product-page__stats .coopprint-stat-icon {
	width: 21px !important; /* 28px * 0.75 = 21px */
	height: 21px !important;
}

.coop-product-page__stats .coopprint-stat-icon svg {
	width: 100%;
	height: 100%;
}

.coop-product-page__stats .coopprint-stat-value {
	font-size: 18px !important;
	font-weight: 500 !important;
}

.coop-product-page__stats .coopprint-stat-like {
	font-size: 18px !important;
	padding: 6px 12px;
}

/* WooCommerce Notices - CoopPrint Style */
.woocommerce-notices-wrapper {
	margin: var(--coop-spacing-lg, 20px) 0;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-lg, 20px) !important;
	padding-left: 50px !important;
	border-radius: var(--coop-radius-md, 8px) !important;
	border-left: none !important;
	border-top: 4px solid !important;
	border-right: none !important;
	border-bottom: none !important;
	font-size: var(--coop-font-base, 15px) !important;
	line-height: 1.65 !important;
	margin-bottom: var(--coop-spacing-md, 16px) !important;
	position: relative !important;
	background: var(--coop-bg-secondary) !important;
	color: var(--coop-text-primary) !important;
	font-family: "Inter", "Manrope", "Segoe UI", sans-serif !important;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
	border-top-color: var(--coop-accent) !important;
}

.woocommerce-notices-wrapper .woocommerce-error {
	border-top-color: var(--coop-text-muted) !important;
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-error {
	border-left-color: #ff6b6b !important;
	color: #ff6b6b !important;
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
	content: '';
	position: absolute;
	left: var(--coop-spacing-md, 16px);
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.woocommerce-notices-wrapper .woocommerce-message::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233537e3'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-message::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234c6fff'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.woocommerce-notices-wrapper .woocommerce-info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233537e3'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234c6fff'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.woocommerce-notices-wrapper .woocommerce-error::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236c6d7c'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-error::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ff6b6b'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

/* Button in Notices - verwendet die allgemeinen Button-Styles, nur margin-left angepasst */
.woocommerce-notices-wrapper .button {
	margin-left: var(--coop-spacing-md, 16px) !important;
}

/* ============================================
   BOTTOM NAVIGATION BAR (MOBILE)
   ============================================ */
.coop-bottom-nav {
	display: none; /* Standardmäßig versteckt, nur auf Mobile sichtbar */
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	background: var(--coop-bg-primary, #ffffff);
	border-top: 1px solid var(--coop-border-light, rgba(0, 0, 0, 0.08));
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.04);
	z-index: 9999;
	padding: 8px 0 max(8px, env(safe-area-inset-bottom));
	display: flex;
	justify-content: space-around;
	align-items: center;
	/* Sanfte Einblendung - verhindert visuellen Sprung */
	opacity: 0;
	animation: coop-bottom-nav-fade-in 0.4s ease-out 0.2s forwards;
}

@keyframes coop-bottom-nav-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

body.coop-dark-area .coop-bottom-nav {
	background: #000000 !important; /* Fester schwarzer Hintergrund, nicht transparent */
	border-top-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.5);
}

.coop-bottom-nav__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 8px 16px;
	min-width: 60px;
	text-decoration: none;
	color: var(--coop-text-secondary, #666);
	transition: var(--coop-transition);
	border-radius: var(--coop-radius-md);
	position: relative;
	-webkit-tap-highlight-color: transparent;
}

.coop-bottom-nav__item:hover,
.coop-bottom-nav__item:focus-visible {
	color: var(--coop-accent, #3537e3);
	background: var(--coop-accent-overlay-8, rgba(53, 55, 227, 0.08));
}

.coop-bottom-nav__item.is-active {
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coop-bottom-nav__item {
	color: var(--coop-text-secondary, #aaa);
}

body.coop-dark-area .coop-bottom-nav__item:hover,
body.coop-dark-area .coop-bottom-nav__item:focus-visible {
	color: var(--coop-accent, #4c6fff);
	background: color-mix(in srgb, var(--coop-accent) 12%, transparent);
}

body.coop-dark-area .coop-bottom-nav__item.is-active {
	color: var(--coop-accent, #4c6fff);
}

.coop-bottom-nav__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.coop-bottom-nav__icon svg {
	width: 100%;
	height: 100%;
	transition: var(--coop-transition);
}

.coop-bottom-nav__label {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}

/* Padding für Content, damit nichts von der Bottom Nav verdeckt wird */
@media (max-width: 1024px) {
	body:has(.coop-bottom-nav) .site-main,
	body:has(.coop-bottom-nav) #primary-content {
		padding-bottom: 72px; /* Platz für Bottom Nav + Safe Area */
	}
}

/* Bottom Navigation nur auf Mobile anzeigen */
@media (min-width: 1025px) {
	.coop-bottom-nav {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	.coop-bottom-nav {
		display: flex;
		/* Animation nur auf Mobile - nur Transparenz, keine Bewegung */
		opacity: 0;
		animation: coop-bottom-nav-fade-in 0.4s ease-out 0.2s forwards;
	}
}

/* ============================================
   CART V2 - Minimalistisch & Kompakt
   ============================================ */

.coopprint-cart-v2 {
	max-width: 960px;
	margin: 0 auto;
}

.coopprint-cart-v2__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--coop-spacing-xl, 24px);
	padding-bottom: var(--coop-spacing-md, 16px);
	border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__header {
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__header h2 {
	font-size: var(--coop-font-2xl, 24px);
	font-weight: 600;
	margin: 0;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__header h2 {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__count {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-text-secondary, #666);
}

body.coop-dark-area .coopprint-cart-v2__count {
	color: var(--coop-text-secondary, #aaa);
}

/* Kompakte Produktliste */
.coopprint-cart-v2__items {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	margin-bottom: var(--coop-spacing-xl, 24px);
}

.coopprint-cart-v2__item {
	display: flex;
	gap: var(--coop-spacing-md, 16px);
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border: 1px solid var(--coop-border-light, var(--coop-border));
	border-radius: var(--coop-radius-lg, 12px);
	transition: border-color 0.2s ease;
}

body.coop-dark-area .coopprint-cart-v2__item {
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__item:hover {
	border-color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__item:hover {
	border-color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__item-image {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	border-radius: var(--coop-radius-md, 8px);
	overflow: hidden;
	background: var(--coop-bg-tertiary, #f5f5f5);
}

.coopprint-cart-v2__item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coopprint-cart-v2__item-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.coopprint-cart-v2__item-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	min-width: 0;
}

.coopprint-cart-v2__item-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--coop-spacing-md, 16px);
}

.coopprint-cart-v2__item-name {
	font-size: var(--coop-font-md, 16px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	line-height: 1.4;
	flex: 1;
}

body.coop-dark-area .coopprint-cart-v2__item-name {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-name a {
	color: inherit;
	text-decoration: none;
}

.coopprint-cart-v2__item-name a:hover {
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__item-name a:hover {
	color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__item-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-lg, 20px);
	flex-wrap: wrap;
}

/* Preis (größer) */
.coopprint-cart-v2__item-price {
	font-size: var(--coop-font-xl, 20px);
	font-weight: 700;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__item-price {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-price .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

/* Quantity mit +/- Buttons */
/* Quantity - Standard WooCommerce Input */
.coopprint-cart-v2__item-qty {
	display: flex;
	align-items: center;
}

.coopprint-cart-v2__item-qty .quantity {
	display: flex;
	align-items: center;
	margin: 0;
}

.coopprint-cart-v2__item-qty .quantity input.qty {
	width: 60px;
	height: 36px;
	padding: 8px;
	border: 1px solid var(--coop-border, rgba(0, 0, 0, 0.1));
	border-radius: var(--coop-radius-sm, 6px);
	font-size: var(--coop-font-md, 16px);
	font-weight: 600;
	text-align: center;
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #181a34);
	-moz-appearance: textfield;
	appearance: textfield;
}

body.coop-dark-area .coopprint-cart-v2__item-qty .quantity input.qty {
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-qty .quantity input.qty::-webkit-outer-spin-button,
.coopprint-cart-v2__item-qty .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.coopprint-cart-v2__item-qty .quantity input.qty:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__item-qty .quantity input.qty:focus {
	border-color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__item-qty .quantity label {
	display: none;
}

.coopprint-cart-v2__qty-value {
	font-size: var(--coop-font-md, 16px);
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	padding: 0 var(--coop-spacing-sm, 12px);
}

body.coop-dark-area .coopprint-cart-v2__qty-value {
	color: var(--coop-text-primary, #f5f5f5);
}

/* Subtotal (größer) */
.coopprint-cart-v2__item-subtotal {
	font-size: var(--coop-font-xl, 20px);
	font-weight: 700;
	color: var(--coop-text-primary, #181a34);
	margin-left: auto;
}

body.coop-dark-area .coopprint-cart-v2__item-subtotal {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-subtotal .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

/* Entfernen Button (größer und besser) */
.coopprint-cart-v2__item-remove {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--coop-border, rgba(0, 0, 0, 0.1));
	border-radius: var(--coop-radius-md, 8px);
	background: transparent;
	color: var(--coop-text-secondary, #666);
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
	flex-shrink: 0;
}

body.coop-dark-area .coopprint-cart-v2__item-remove {
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	color: var(--coop-text-secondary, #aaa);
}

.coopprint-cart-v2__item-remove:hover {
	background: var(--coop-bg-tertiary, #f5f5f5);
	border-color: var(--coop-text-muted, #999);
	color: var(--coop-text-primary, #181a34);
	transform: scale(1.05);
}

body.coop-dark-area .coopprint-cart-v2__item-remove:hover {
	background: color-mix(in srgb, var(--coop-bg-box) 88%, var(--coop-accent) 12%);
	border-color: var(--coop-accent, #4c6fff);
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-remove svg {
	width: 18px;
	height: 18px;
}

/* Actions */
.coopprint-cart-v2__actions {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	margin-bottom: var(--coop-spacing-xl, 24px);
}

.coopprint-cart-v2__coupon {
	display: flex;
	gap: var(--coop-spacing-sm, 12px);
}

.coopprint-cart-v2__coupon .coop-form-input {
	flex: 1;
}

/* Totals */
.coopprint-cart-v2__totals {
	padding: var(--coop-spacing-lg, 20px);
}

.coopprint-cart-v2__totals h3 {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__totals h3 {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__totals-list {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-sm, 12px);
	margin-bottom: var(--coop-spacing-lg, 20px);
	padding-bottom: var(--coop-spacing-lg, 20px);
	border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__totals-list {
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__total-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--coop-font-md, 16px);
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__total-row {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__total-row--total {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 700;
	padding-top: var(--coop-spacing-sm, 12px);
	margin-top: var(--coop-spacing-sm, 12px);
	border-top: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__total-row--total {
	border-top-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__total-row--total span:last-child {
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__total-row--total span:last-child {
	color: var(--coop-accent, #4c6fff);
}

/* Shipping */
.coopprint-cart-v2__shipping {
	margin: var(--coop-spacing-md, 16px) 0;
	padding: var(--coop-spacing-md, 16px) 0;
	border-top: 1px solid var(--coop-border-light, var(--coop-border));
	border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__shipping {
	border-top-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

/* WooCommerce Standard Shipping HTML */
.coopprint-cart-v2__shipping .woocommerce-shipping-totals {
	margin: 0;
}

.coopprint-cart-v2__shipping .woocommerce-shipping-totals th {
	font-size: var(--coop-font-md, 16px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	text-align: left;
	padding: var(--coop-spacing-xs, 8px) 0;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-totals th {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping .woocommerce-shipping-totals td {
	font-size: var(--coop-font-md, 16px);
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	text-align: right;
	padding: var(--coop-spacing-xs, 8px) 0;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-totals td {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping #shipping_method {
	list-style: none;
	margin: var(--coop-spacing-sm, 12px) 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xs, 8px);
}

.coopprint-cart-v2__shipping #shipping_method li {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
}

.coopprint-cart-v2__shipping #shipping_method label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-sm, 12px);
	cursor: pointer;
	width: 100%;
	font-size: var(--coop-font-md, 16px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__shipping #shipping_method label {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping #shipping_method input[type="radio"] {
	margin: 0 var(--coop-spacing-xs, 8px) 0 0;
	width: 18px;
	height: 18px;
	cursor: pointer;
	flex-shrink: 0;
}

.coopprint-cart-v2__shipping #shipping_method .woocommerce-Price-amount {
	font-weight: 600;
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__shipping #shipping_method .woocommerce-Price-amount {
	color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__shipping .woocommerce-shipping-destination {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-text-secondary, #666);
	margin: var(--coop-spacing-sm, 12px) 0 0 0;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-destination {
	color: var(--coop-text-secondary, #aaa);
}

.coopprint-cart-v2__shipping .woocommerce-shipping-destination strong {
	color: var(--coop-text-primary, #181a34);
	font-weight: 600;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-destination strong {
	color: var(--coop-text-primary, #f5f5f5);
}

/* Shipping Calculator */
.coopprint-cart-v2__shipping .woocommerce-shipping-calculator {
	margin-top: var(--coop-spacing-md, 16px);
}

.coopprint-cart-v2__shipping .shipping-calculator-button {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-accent, #3537e3);
	text-decoration: none;
	cursor: pointer;
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-button {
	color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__shipping .shipping-calculator-button:hover {
	text-decoration: underline;
}

.coopprint-cart-v2__shipping .shipping-calculator-form {
	margin-top: var(--coop-spacing-md, 16px);
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-tertiary, #f5f5f5);
	border-radius: var(--coop-radius-md, 8px);
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form {
	background: color-mix(in srgb, var(--coop-bg-box) 88%, var(--coop-accent) 12%);
}

.coopprint-cart-v2__shipping .shipping-calculator-form .form-row {
	margin-bottom: var(--coop-spacing-sm, 12px);
}

.coopprint-cart-v2__shipping .shipping-calculator-form label {
	font-size: var(--coop-font-sm, 14px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	margin-bottom: var(--coop-spacing-xs, 8px);
	display: block;
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form label {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping .shipping-calculator-form input,
.coopprint-cart-v2__shipping .shipping-calculator-form select {
	width: 100%;
	padding: var(--coop-spacing-xs, 8px) var(--coop-spacing-sm, 12px);
	border: 1px solid var(--coop-border, rgba(0, 0, 0, 0.1));
	border-radius: var(--coop-radius-sm, 6px);
	font-size: var(--coop-font-sm, 14px);
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form input,
body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form select {
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping .shipping-calculator-form input:focus,
.coopprint-cart-v2__shipping .shipping-calculator-form select:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form input:focus,
body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form select:focus {
	border-color: var(--coop-accent, #4c6fff);
}

/* Checkout */
.coopprint-cart-v2__checkout {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
}

.coopprint-cart-v2__checkout .coop-btn {
	width: 100%;
	justify-content: center;
}

/* Empty Cart */
.coopprint-cart-v2__empty {
	padding: var(--coop-spacing-3xl, 48px) var(--coop-spacing-xl, 24px);
	text-align: center;
}

.coopprint-cart-v2__empty p {
	font-size: var(--coop-font-lg, 18px);
	color: var(--coop-text-secondary, #666);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
}

body.coop-dark-area .coopprint-cart-v2__empty p {
	color: var(--coop-text-secondary, #aaa);
}

/* Responsive */
@media (max-width: 768px) {
	.coopprint-cart-v2__header {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-xs, 8px);
	}
	
	.coopprint-cart-v2__item {
		flex-direction: column;
		gap: var(--coop-spacing-sm, 12px);
	}
	
	.coopprint-cart-v2__item-image {
		width: 100%;
		height: 200px;
	}
	
	.coopprint-cart-v2__item-footer {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-sm, 12px);
	}
	
	.coopprint-cart-v2__item-subtotal {
		margin-left: 0;
		width: 100%;
		text-align: right;
	}
	
	.coopprint-cart-v2__coupon {
		flex-direction: column;
	}
	
	.coopprint-cart-v2__coupon .coop-btn {
		width: 100%;
	}
}

/* ═══════════════════════════════════════════════════════════
   Bewertungssystem
   ═══════════════════════════════════════════════════════════ */

/* Bewertungsformular */
.coop-review-form-section {
	margin-bottom: 2rem;
	padding: var(--coop-spacing-xl, 24px);
	background: var(--coop-bg-box, #f9fafb);
	border-radius: var(--coop-radius-md, 8px);
	border: 1px solid var(--coop-border-color, #e5e7eb);
}

/* Dark Mode für Review-Form-Section */
body.coop-dark-mode-manual .coop-review-form-section,
body.coop-dark-area .coop-review-form-section {
	background: var(--coop-bg-box, rgba(255,255,255,0.03));
	border-color: var(--coop-border-color, rgba(255,255,255,0.1));
}

.coop-review-form-title {
	font-size: var(--coop-font-xl, 20px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-md, 16px) 0;
	color: var(--coop-text-primary, #111827);
}

.coop-review-form-subtitle {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-md, 16px) 0;
	color: var(--coop-text-primary, #111827);
}

.coop-review-admin-notice {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-text-secondary, #6b7280);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
}

.coop-review-form {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xl, 24px);
}

.coop-review-field {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
}

.coop-review-field-label {
	font-weight: 500;
	color: var(--coop-text-primary, #374151);
	font-size: var(--coop-font-base, 15px);
}

/* Klickbare Sterne */
.coop-star-input {
	display: flex;
	gap: 0.25rem;
	align-items: center;
}

.coop-star-btn {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--coop-text-muted, #d1d5db);
	transition: all 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
}

.coop-star-btn:hover,
.coop-star-btn.active {
	color: var(--coop-accent, #3537e3);
}

/* Dark Mode für Star Buttons */
body.coop-dark-mode-manual .coop-star-btn,
body.coop-dark-area .coop-star-btn {
	color: var(--coop-text-muted, #6C6D7C);
}

body.coop-dark-mode-manual .coop-star-btn:hover,
body.coop-dark-area .coop-star-btn:hover {
	color: var(--coop-accent, #3537e3);
}

.coop-star-icon {
	width: 24px;
	height: 24px;
	transition: all 0.2s;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
}

/* Aktive Sterne blau gefüllt */
.coop-star-btn.active .coop-star-icon {
	fill: var(--coop-accent, #3537e3) !important;
	stroke: var(--coop-accent, #3537e3) !important;
}

.coop-star-btn:hover .coop-star-icon {
	fill: var(--coop-accent, #3537e3);
	stroke: var(--coop-accent, #3537e3);
}

/* Alle Sterne bis zum aktiven Stern blau füllen */
.coop-star-input .coop-star-btn.active ~ .coop-star-btn .coop-star-icon {
	fill: none;
	stroke: currentColor;
}

/* Alle Sterne vor dem aktiven (inklusive) blau füllen - wird durch JavaScript gesteuert */

/* Hover-Effekt: Alle Sterne bis zum gehoverten blau */
.coop-star-input:hover .coop-star-btn:hover ~ .coop-star-btn .coop-star-icon {
	fill: none;
	stroke: currentColor;
}

.coop-review-comment {
	width: 100%;
	min-height: 80px;
	padding: var(--coop-spacing-md, 16px);
	border: 1px solid var(--coop-border-color, #d1d5db);
	border-radius: var(--coop-radius-sm, 6px);
	font-family: inherit;
	font-size: var(--coop-font-sm, 14px);
	resize: vertical;
	transition: border-color 0.2s;
	background: var(--coop-bg-secondary, #fff);
	color: var(--coop-text-primary, #1f2937);
}

.coop-review-comment:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
	box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.1);
}

/* Dark Mode für Kommentarfelder (bereits vorhanden, aber hier für Konsistenz) */
body.coop-dark-mode-manual .coop-review-comment,
body.coop-dark-area .coop-review-comment {
	background: var(--coop-bg-secondary, rgba(255,255,255,0.03));
	border-color: var(--coop-border-color, rgba(255,255,255,0.1));
	color: var(--coop-text-primary, #f5f5f5);
}

body.coop-dark-mode-manual .coop-review-comment:focus,
body.coop-dark-area .coop-review-comment:focus {
	border-color: var(--coop-accent, #3537e3);
	box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.2);
}

body.coop-dark-mode-manual .coop-review-comment::placeholder,
body.coop-dark-area .coop-review-comment::placeholder {
	color: var(--coop-text-muted, #6C6D7C);
}

.coop-review-submit {
	align-self: flex-start;
	padding: 0.75rem 1.5rem;
	font-weight: 600;
}

.coop-review-message {
	display: none;
	padding: 0.75rem 1rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	margin-top: 0.5rem;
}

.coop-review-message--success {
	background: #d1fae5;
	color: #065f46;
	border: 1px solid #6ee7b7;
}

.coop-review-message--error {
	background: #fee2e2;
	color: #991b1b;
	border: 1px solid #fca5a5;
}

/* Dark Mode für Review Messages */
body.coop-dark-mode-manual .coop-review-message--success,
body.coop-dark-area .coop-review-message--success {
	background: rgba(16, 185, 129, 0.2);
	color: #6ee7b7;
	border-color: rgba(16, 185, 129, 0.3);
}

body.coop-dark-mode-manual .coop-review-message--error,
body.coop-dark-area .coop-review-message--error {
	background: rgba(239, 68, 68, 0.2);
	color: #fca5a5;
	border-color: rgba(239, 68, 68, 0.3);
}

/* Bewertungslisten */
.coop-reviews-list-section {
	margin-top: var(--coop-spacing-2xl, 36px);
	padding-top: var(--coop-spacing-2xl, 36px);
	border-top: 1px solid var(--coop-border-color, #e5e7eb);
}

/* Dark Mode für Reviews List Section */
body.coop-dark-mode-manual .coop-reviews-list-section,
body.coop-dark-area .coop-reviews-list-section {
	border-top-color: var(--coop-border-color, rgba(255,255,255,0.1));
}

.coop-reviews-list-title {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	color: var(--coop-text-primary, #111827);
}

.coop-reviews-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.coop-star-rating {
	display: flex;
	gap: 0.125rem;
	align-items: center;
	color: var(--coop-accent, #3537e3);
}

.coop-star-rating .coop-star {
	width: 20px;
	height: 20px;
}

.coop-star-rating .coop-star--filled {
	fill: currentColor;
}

.coop-star-rating .coop-star--half {
	fill: currentColor;
	opacity: 0.5;
}

.coop-star-rating .coop-star--empty {
	fill: none;
	stroke: currentColor;
	opacity: 0.3;
}

.coop-reviews-average {
	font-weight: 600;
	color: var(--coop-text-primary, #111827);
	font-size: var(--coop-font-base, 16px);
}

.coop-reviews-count {
	color: var(--coop-text-secondary, #6b7280);
	font-size: var(--coop-font-sm, 14px);
}

.coop-reviews-list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.coop-review-item {
	padding: var(--coop-spacing-lg, 20px);
	background: var(--coop-bg-box, #ffffff);
	border: 1px solid var(--coop-border-color, #e5e7eb);
	border-radius: var(--coop-radius-sm, 6px);
}

/* Dark Mode für Review Items */
body.coop-dark-mode-manual .coop-review-item,
body.coop-dark-area .coop-review-item {
	background: var(--coop-bg-box, rgba(255,255,255,0.03));
	border-color: var(--coop-border-color, rgba(255,255,255,0.1));
}

.coop-review-item-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
	flex-wrap: wrap;
}

.coop-review-item-header .coop-star-rating {
	color: var(--coop-accent, #3537e3);
}

.coop-review-item-header .coop-star-rating .coop-star {
	width: 16px;
	height: 16px;
}

.coop-star-rating--display {
	color: var(--coop-accent, #3537e3) !important;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	vertical-align: middle;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.coop-star-rating--display .coop-star {
	display: inline-block !important;
	vertical-align: middle !important;
	margin: 0 !important;
}

.coop-star-rating--display .coop-star--filled {
	fill: var(--coop-accent, #3537e3) !important;
}

.coop-star-rating--display .coop-star--half {
	fill: var(--coop-accent, #3537e3) !important;
	opacity: 0.5;
}

.coop-star-rating--display .coop-star--empty {
	fill: none !important;
	stroke: var(--coop-accent, #3537e3) !important;
	opacity: 0.3;
}

/* Bearbeitungs-Button */
.coop-review-edit-btn {
	background: none;
	border: none;
	padding: 0.375rem 0.75rem;
	color: var(--coop-accent, #3537e3);
	font-size: 0.875rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-left: auto;
	transition: all 0.2s;
	border-radius: 4px;
}

.coop-review-edit-btn:hover {
	background: rgba(53, 55, 227, 0.1);
}

.coop-review-edit-btn svg {
	width: 16px;
	height: 16px;
}

/* Bearbeitungsformular */
.coop-review-edit-form {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e5e7eb;
}

.coop-review-edit-actions {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
}

.coop-review-edit-actions .coop-btn {
	padding: 0.625rem 1.25rem;
	font-size: 0.9375rem;
}

.coop-btn-secondary {
	background: #f3f4f6;
	color: #374151;
	border: 1px solid #d1d5db;
}

.coop-btn-secondary:hover {
	background: #e5e7eb;
	border-color: #9ca3af;
}

/* Bild-Upload und Vorschau */
.coop-review-images-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0.75rem;
}

.coop-review-image-preview-item {
	position: relative;
	width: 100px;
	height: 100px;
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	overflow: hidden;
	background: #f9fafb;
}

.coop-review-image-preview-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.coop-review-image-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 24px;
	height: 24px;
	background: rgba(0, 0, 0, 0.7);
	border: none;
	border-radius: 50%;
	color: white;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	padding: 0;
}

.coop-review-image-remove:hover {
	background: rgba(220, 38, 38, 0.9);
}

.coop-review-image-remove svg {
	width: 14px;
	height: 14px;
}

.coop-review-upload-status {
	font-size: 0.875rem;
	margin-bottom: 8px;
}

/* Bearbeitungsformular: Bilder */
.coop-review-edit-images {
	margin-top: 0.5rem;
}

.coop-review-edit-image-item {
	position: relative;
	display: inline-block;
	width: 100px;
	height: 100px;
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	overflow: hidden;
	margin-right: 8px;
	margin-bottom: 8px;
	background: #f9fafb;
}

.coop-review-edit-image-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.coop-review-remove-image-btn,
.coop-review-edit-image-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 24px;
	height: 24px;
	background: rgba(0, 0, 0, 0.7);
	border: none;
	border-radius: 50%;
	color: white;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	padding: 0;
	z-index: 10;
}

.coop-review-edit-image-remove:hover {
	background: rgba(220, 38, 38, 0.9);
}

/* Löschen-Button (oben rechts im Eck, wie im Cart) */
.coop-review-delete-btn {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--coop-bg-box, #fff);
	border: 1px solid var(--coop-border, #e5e7eb);
	border-radius: 6px;
	color: var(--coop-text-secondary, #6b7280);
	cursor: pointer;
	transition: all 0.2s;
	padding: 0;
	z-index: 10;
}

.coop-review-delete-btn:hover {
	background: var(--coop-bg-tertiary, #f5f5f5);
	border-color: var(--coop-text-muted, #999);
	color: var(--coop-text-primary, #181a34);
	transform: scale(1.05);
}

.coop-review-delete-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.coop-review-delete-btn svg {
	width: 18px;
	height: 18px;
}

.coop-review-edit-form {
	position: relative;
}

.coop-review-delete-btn svg {
	width: 14px;
	height: 14px;
}

.coop-review-edit-image-remove svg {
	width: 14px;
	height: 14px;
}

.coop-review-edit-images-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

/* Bewertungsbilder anzeigen */
.coop-review-images {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0.75rem;
}

.coop-review-image-link {
	display: block;
	text-decoration: none;
}

.coop-review-image {
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}

.coop-review-image:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.coop-review-author {
	font-weight: 500;
	color: #111827;
	font-size: 0.9375rem;
}

.coop-review-time {
	color: #6b7280;
	font-size: 0.875rem;
}

.coop-review-partner {
	margin: 0.5rem 0;
	color: #4b5563;
	font-size: 0.875rem;
	font-style: italic;
}

.coop-review-comment-text {
	margin: 0.5rem 0 0 0;
	color: #374151;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.coop-reviews-empty {
	color: #6b7280;
	font-size: 0.9375rem;
	margin: 1rem 0;
	font-style: italic;
}

.coop-reviews-load-more {
	background: none;
	border: 1px solid #d1d5db;
	color: #374151;
	padding: 0.625rem 1.25rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s;
	margin-top: 1rem;
	align-self: flex-start;
}

.coop-reviews-load-more:hover {
	background: #f9fafb;
	border-color: #9ca3af;
}

.coop-reviews-load-more:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Responsive */
@media (max-width: 768px) {
	.coop-review-form-section {
		padding: 1rem;
	}
	
	.coop-reviews-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}
	
	.coop-review-item-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}
	
	.coop-star-input {
		flex-wrap: wrap;
	}
}

/* ═══════════════════════════════════════════════════════════
   WooCommerce Form Fields - Allgemeine CoopPrint Styles
   ═══════════════════════════════════════════════════════════ */

/* Alle WooCommerce Formularfelder - Basis-Styling */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="password"],
.woocommerce input[type="url"],
.woocommerce input[type="search"],
.woocommerce select,
.woocommerce textarea {
	width: 100%;
	padding: var(--coop-spacing-md, 16px);
	border: 1px solid var(--coop-border, rgba(229, 231, 235, 0.9));
	border-radius: 8px;
	font-size: 0.9375rem;
	color: var(--coop-text-primary, #181a34);
	background: var(--coop-bg-primary, #ffffff);
	transition: all 0.2s ease;
	font-family: inherit;
	line-height: 1.5;
}

.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="url"]:focus,
.woocommerce input[type="search"]:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
	box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.1);
}

.woocommerce input[type="text"]::placeholder,
.woocommerce input[type="email"]::placeholder,
.woocommerce input[type="tel"]::placeholder,
.woocommerce input[type="number"]::placeholder,
.woocommerce input[type="password"]::placeholder,
.woocommerce input[type="url"]::placeholder,
.woocommerce input[type="search"]::placeholder,
.woocommerce textarea::placeholder {
	color: var(--coop-text-muted, color-mix(in srgb, #181a34 40%, white 60%));
	opacity: 0.7;
}

/* WooCommerce Labels */
.woocommerce label,
.woocommerce .form-row label {
	display: block;
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	margin-bottom: var(--coop-spacing-xs, 8px);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.woocommerce label .required,
.woocommerce .form-row label .required {
	color: var(--coop-accent, #3537e3);
	text-decoration: none;
}

/* WooCommerce Form Rows */
.woocommerce .form-row {
	margin-bottom: var(--coop-spacing-lg, 20px);
}

.woocommerce .form-row:last-child {
	margin-bottom: 0;
}

/* WooCommerce Checkbox & Radio */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
	width: auto;
	margin-right: var(--coop-spacing-xs, 8px);
	accent-color: var(--coop-accent, #3537e3);
	cursor: pointer;
}

.woocommerce .form-row .woocommerce-form__label-for-checkbox,
.woocommerce label.checkbox,
.woocommerce label.radio {
	display: flex;
	align-items: center;
	font-weight: 400;
	cursor: pointer;
	margin-bottom: 0;
}

/* WooCommerce Buttons */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce .button {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-xl, 24px);
	background: var(--coop-button-surface, linear-gradient(135deg, var(--coop-accent) 0%, color-mix(in srgb, var(--coop-accent) 65%, white 35%) 100%));
	color: var(--coop-button-text, #ffffff);
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none;
	display: inline-block;
	line-height: 1.5;
}

.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce .button:hover {
	background: var(--coop-button-surface-hover, linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 85%, white 15%) 0%, color-mix(in srgb, var(--coop-accent-hover) 70%, white 30%) 100%));
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(53, 55, 227, 0.3);
	color: var(--coop-button-text, #ffffff);
	text-decoration: none;
}

.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce a.button:active,
.woocommerce .button:active {
	transform: translateY(0);
}

.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt {
	background: var(--coop-bg-secondary, #ffffff);
	color: var(--coop-text-primary, #181a34);
	border: 1px solid var(--coop-border, rgba(229, 231, 235, 0.9));
}

.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
	border-color: var(--coop-accent, #3537e3);
	color: var(--coop-text-primary, #181a34);
}

/* WooCommerce Notices */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	padding: var(--coop-spacing-md, 16px);
	border-radius: 8px;
	margin-bottom: var(--coop-spacing-lg, 20px);
	border-left: 4px solid;
	list-style: none;
}

.woocommerce .woocommerce-error {
	background: rgba(160, 0, 0, 0.1);
	border-left-color: #a00;
	color: #a00;
}

.woocommerce .woocommerce-info {
	background: rgba(46, 162, 204, 0.1);
	border-left-color: #2ea2cc;
	color: #2ea2cc;
}

.woocommerce .woocommerce-message {
	background: rgba(122, 208, 58, 0.1);
	border-left-color: #7ad03a;
	color: #7ad03a;
}

/* Dark Mode Support für alle WooCommerce Felder */
body.coop-dark-area .woocommerce input[type="text"],
body.coop-dark-area .woocommerce input[type="email"],
body.coop-dark-area .woocommerce input[type="tel"],
body.coop-dark-area .woocommerce input[type="number"],
body.coop-dark-area .woocommerce input[type="password"],
body.coop-dark-area .woocommerce input[type="url"],
body.coop-dark-area .woocommerce input[type="search"],
body.coop-dark-area .woocommerce select,
body.coop-dark-area .woocommerce textarea {
	background: var(--coop-bg-secondary, #2a2a2a);
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
	color: var(--coop-text-primary, #ffffff);
}

body.coop-dark-area .woocommerce label,
body.coop-dark-area .woocommerce .form-row label {
	color: var(--coop-text-primary, #ffffff);
}

body.coop-dark-area .woocommerce input[type="text"]::placeholder,
body.coop-dark-area .woocommerce input[type="email"]::placeholder,
body.coop-dark-area .woocommerce input[type="tel"]::placeholder,
body.coop-dark-area .woocommerce input[type="number"]::placeholder,
body.coop-dark-area .woocommerce input[type="password"]::placeholder,
body.coop-dark-area .woocommerce input[type="url"]::placeholder,
body.coop-dark-area .woocommerce input[type="search"]::placeholder,
body.coop-dark-area .woocommerce textarea::placeholder {
	color: var(--coop-text-muted, rgba(255, 255, 255, 0.5));
}

/* ═══════════════════════════════════════════════════════════
   WooCommerce Checkout - CoopPrint Design
   ═══════════════════════════════════════════════════════════ */

/* Checkout Container */
.woocommerce-checkout {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Checkout Content Padding - nur für den Inhalt, nicht für den Container */
.woocommerce-checkout .woocommerce {
	padding: var(--coop-spacing-xl, 24px);
}

/* Checkout Form Layout - Stelle sicher, dass .woocommerce die volle Breite nutzt */
.woocommerce-checkout .woocommerce {
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-2xl, 32px);
	box-sizing: border-box;
}

/* Express Checkout Wrapper - volle Breite */
.woocommerce-checkout .woocommerce > .wcpay-express-checkout-wrapper,
.woocommerce-checkout .wcpay-express-checkout-wrapper {
	width: 100%;
	margin-bottom: var(--coop-spacing-lg, 20px);
	order: 1;
}

/* Checkout Form Container - alles untereinander */
.woocommerce-checkout form.checkout {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-2xl, 32px);
	width: 100%;
	max-width: 100%;
	order: 2;
	box-sizing: border-box;
}

/* Checkout Form Sections - col2-set mit zwei Spalten nebeneinander */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	max-width: 100%;
	gap: var(--coop-spacing-2xl, 32px);
	order: 2;
	align-items: start;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.woocommerce-checkout .col2-set > .col-1,
.woocommerce-checkout .col2-set > .col-2,
.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2 {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 0;
	grid-column: auto;
}

.woocommerce-checkout .col2-set > .col-1,
.woocommerce-checkout #customer_details > .col-1 {
	grid-column: 1;
}

.woocommerce-checkout .col2-set > .col-2,
.woocommerce-checkout #customer_details > .col-2 {
	grid-column: 2;
}

/* Additional Fields sollten unter col-2 sein */
.woocommerce-checkout .col2-set > .woocommerce-additional-fields,
.woocommerce-checkout #customer_details > .woocommerce-additional-fields {
	grid-column: 1 / -1;
	width: 100%;
}

.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
	width: 100%;
	max-width: 100%;
	background: var(--coop-bg-box, #ffffff);
	border-radius: 12px;
	padding: var(--coop-spacing-xl, 24px);
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	box-shadow: var(--coop-shell-shadow, 0 18px 40px rgba(15, 23, 42, 0.05));
	box-sizing: border-box;
}

/* Stelle sicher, dass entry-content und andere Wrapper die volle Breite nutzen */
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .site-main .entry-content {
	width: 100%;
	max-width: 100%;
}

/* Section Titles */
.woocommerce-checkout h3 {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	padding-bottom: var(--coop-spacing-md, 16px);
	border-bottom: 2px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
}

/* Form Fields - verwenden die allgemeinen WooCommerce-Styles */

/* Order Review Section */
.woocommerce-checkout #order_review {
	background: var(--coop-bg-box, #ffffff) !important;
	border-radius: 12px;
	padding: var(--coop-spacing-xl, 24px);
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	box-shadow: var(--coop-shell-shadow, 0 18px 40px rgba(15, 23, 42, 0.05));
	width: 100%;
	max-width: 100%;
	order: 3;
	position: static;
	box-sizing: border-box;
}

.woocommerce-checkout #order_review_heading {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	padding-bottom: var(--coop-spacing-md, 16px);
	border-bottom: 2px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
}

/* Order Table */
.woocommerce-checkout .shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: var(--coop-spacing-lg, 20px);
	background: transparent;
}

.woocommerce-checkout .shop_table thead {
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02));
	border-radius: 8px 8px 0 0;
}

.woocommerce-checkout .shop_table thead th {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-lg, 20px);
	border-bottom: 2px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	text-align: left;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.woocommerce-checkout .shop_table thead th:first-child {
	border-radius: 8px 0 0 0;
}

.woocommerce-checkout .shop_table thead th:last-child {
	border-radius: 0 8px 0 0;
	text-align: right;
}

.woocommerce-checkout .shop_table tbody td {
	padding: var(--coop-spacing-lg, 20px);
	border-bottom: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	text-align: left;
	vertical-align: top;
	background: var(--coop-bg-box, #ffffff);
}

.woocommerce-checkout .shop_table tbody tr:last-child td {
	border-bottom: none;
}

/* Produktbild und Name */
.woocommerce-checkout .shop_table .product-name {
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.woocommerce-checkout .shop_table .wc-gzd-cart-item-name-wrapper {
	display: flex;
	align-items: flex-start;
	gap: var(--coop-spacing-md, 16px);
}

.woocommerce-checkout .shop_table .wc-gzd-cart-item-thumbnail {
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02));
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
}

.woocommerce-checkout .shop_table .wc-gzd-cart-item-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.woocommerce-checkout .shop_table .product-quantity {
	font-weight: 600;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	margin-left: var(--coop-spacing-xs, 8px);
}

/* Variationen */
.woocommerce-checkout .shop_table .variation {
	margin: var(--coop-spacing-xs, 8px) 0 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
}

.woocommerce-checkout .shop_table .variation dt {
	font-weight: 500;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	display: inline;
	margin-right: var(--coop-spacing-xs, 8px);
}

.woocommerce-checkout .shop_table .variation dd {
	display: inline;
	color: var(--coop-text-primary, #181a34);
	margin: 0;
}

.woocommerce-checkout .shop_table .variation dd p {
	margin: 0;
	display: inline;
}

.woocommerce-checkout .shop_table .product-total {
	text-align: right;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	font-size: 0.9375rem;
	vertical-align: top;
}

/* Order Totals */
.woocommerce-checkout .shop_table tfoot th,
.woocommerce-checkout .shop_table tfoot td {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-lg, 20px);
	border-top: 2px solid var(--coop-border, rgba(229, 231, 235, 0.9));
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02));
	text-align: left;
	font-size: 0.9375rem;
}

.woocommerce-checkout .shop_table tfoot th {
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
}

.woocommerce-checkout .shop_table tfoot td {
	text-align: right;
	font-weight: 500;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
}

/* Shipping Method */
.woocommerce-checkout .shop_table .woocommerce-shipping-totals td {
	vertical-align: middle;
}

.woocommerce-checkout .shop_table .woocommerce-shipping-methods {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-checkout .shop_table .woocommerce-shipping-methods li {
	margin: 0;
	padding: 0;
}

.woocommerce-checkout .shop_table .woocommerce-shipping-methods label {
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--coop-spacing-xs, 8px);
}

.woocommerce-checkout .shop_table tfoot .order-total th,
.woocommerce-checkout .shop_table tfoot .order-total td {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--coop-text-primary, #181a34);
	border-top: 3px solid var(--coop-accent, #3537e3);
	padding-top: var(--coop-spacing-lg, 20px);
	background: var(--coop-bg-box, #ffffff);
	border-radius: 0 0 8px 8px;
}

.woocommerce-checkout .shop_table tfoot .order-total th:first-child {
	border-radius: 0 0 0 8px;
}

.woocommerce-checkout .shop_table tfoot .order-total td:last-child {
	border-radius: 0 0 8px 0;
}

.woocommerce-checkout .shop_table tfoot .order-total td strong {
	color: var(--coop-accent, #3537e3);
}

/* Payment Container */
.woocommerce-checkout #payment.woocommerce-checkout-payment,
.woocommerce-checkout div#payment.woocommerce-checkout-payment {
	background: transparent !important;
	background-color: transparent !important;
	padding: var(--coop-spacing-lg, 20px);
	border-radius: 8px;
}

/* Payment Methods */
.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods,
.woocommerce-checkout #payment .wc_payment_methods,
.woocommerce-checkout #order_review .wc_payment_methods,
.woocommerce-checkout .wc_payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	background: transparent !important;
	background-color: transparent !important;
}

.woocommerce-checkout .wc_payment_methods li {
	margin: 0;
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-box, #ffffff) !important;
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-top-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-right-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-bottom-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-left-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-radius: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.woocommerce-checkout .wc_payment_methods li:hover {
	border-color: var(--coop-accent, #3537e3) !important;
	border-top-color: var(--coop-accent, #3537e3) !important;
	border-right-color: var(--coop-accent, #3537e3) !important;
	border-bottom-color: var(--coop-accent, #3537e3) !important;
	border-left-color: var(--coop-accent, #3537e3) !important;
	background: var(--coop-bg-box, #ffffff) !important;
	box-shadow: 0 2px 8px rgba(53, 55, 227, 0.1);
	transform: translateY(-1px);
}

.woocommerce-checkout .wc_payment_methods li input[type="radio"]:checked + label,
.woocommerce-checkout .wc_payment_methods li:has(input[type="radio"]:checked) {
	border-color: var(--coop-accent, #3537e3) !important;
	border-top-color: var(--coop-accent, #3537e3) !important;
	border-right-color: var(--coop-accent, #3537e3) !important;
	border-bottom-color: var(--coop-accent, #3537e3) !important;
	border-left-color: var(--coop-accent, #3537e3) !important;
	border-width: 2px;
	background: var(--coop-bg-box, #ffffff) !important;
	box-shadow: 0 2px 8px rgba(53, 55, 227, 0.15);
}


.woocommerce-checkout .wc_payment_methods li input[type="radio"] {
	margin-right: var(--coop-spacing-sm, 12px);
	accent-color: var(--coop-accent, #3537e3);
}

.woocommerce-checkout .wc_payment_methods li label {
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	cursor: pointer;
	margin: 0;
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-sm, 12px);
	font-size: 0.9375rem;
	background: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.woocommerce-checkout .wc_payment_methods li label img {
	max-height: 24px;
	width: auto;
	vertical-align: middle;
}

.woocommerce-checkout .wc_payment_methods li .payment-methods--logos {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-xs, 8px);
	margin-left: auto;
	background: transparent !important;
}

.woocommerce-checkout .payment_box {
	margin-top: var(--coop-spacing-md, 16px);
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02)) !important;
	border-radius: 8px;
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-top-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-right-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-bottom-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-left-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
}

.woocommerce-checkout .payment_box p {
	margin: 0;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	font-size: 0.875rem;
	line-height: 1.5;
}

/* Payment Form Fields */
.woocommerce-checkout .payment_box .wc-payment-form {
	padding: 0;
	border: none;
	background: transparent;
}

.woocommerce-checkout .payment_box .form-row {
	margin-bottom: var(--coop-spacing-md, 16px);
}

.woocommerce-checkout .payment_box .form-row:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout .payment_box .form-row label {
	font-weight: 400;
	font-size: 0.875rem;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	display: inline-flex;
	align-items: center;
	gap: var(--coop-spacing-xs, 8px);
	cursor: pointer;
}

.woocommerce-checkout .payment_box .form-row input[type="checkbox"] {
	accent-color: var(--coop-accent, #3537e3);
}

/* Place Order Button */
.woocommerce-checkout #place_order {
	width: 100%;
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-xl, 24px);
	background: var(--coop-button-surface, linear-gradient(135deg, var(--coop-accent) 0%, color-mix(in srgb, var(--coop-accent) 65%, white 35%) 100%));
	color: var(--coop-button-text, #ffffff);
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce-checkout #place_order:hover {
	background: var(--coop-button-surface-hover, linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 85%, white 15%) 0%, color-mix(in srgb, var(--coop-accent-hover) 70%, white 30%) 100%));
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(53, 55, 227, 0.3);
}

.woocommerce-checkout #place_order:active {
	transform: translateY(0);
}

/* Error Messages - verwenden die allgemeinen WooCommerce-Styles */

/* Dark Mode Support */
body.coop-dark-area .woocommerce-checkout .col-1,
body.coop-dark-area .woocommerce-checkout .col-2,
body.coop-dark-area .woocommerce-checkout #order_review {
	background: var(--coop-bg-box, #1a1a1a);
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

body.coop-dark-area .woocommerce-checkout h3,
body.coop-dark-area .woocommerce-checkout #order_review_heading {
	color: var(--coop-text-primary, #ffffff);
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

/* Dark Mode für Checkout-Felder - verwenden die allgemeinen WooCommerce-Styles */

body.coop-dark-area .woocommerce-checkout .wc_payment_methods li {
	background: var(--coop-bg-secondary, #2a2a2a);
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

body.coop-dark-area .woocommerce-checkout .payment_box {
	background: var(--coop-bg-tertiary, rgba(255, 255, 255, 0.05));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

/* Responsive Design */
@media (max-width: 768px) {
	.woocommerce-checkout {
		padding: var(--coop-spacing-md, 16px);
	}

	.woocommerce-checkout .col2-set,
	.woocommerce-checkout #customer_details {
		flex-direction: column;
		gap: var(--coop-spacing-lg, 20px);
	}

	.woocommerce-checkout .col-1,
	.woocommerce-checkout .col-2 {
		padding: var(--coop-spacing-md, 16px);
		width: 100%;
	}
}

/* ========================================
   CoopPrint Footer - Dual-Layer Design
   ======================================== */

.site-footer {
	background: var(--coop-bg-primary, #ffffff);
	border-top: 1px solid var(--coop-border-light, rgba(120, 120, 128, 0.2));
	margin-top: auto;
}

/* Container */
.site-footer__container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--coop-spacing-lg, 24px);
}

/* Ebene 1: Hauptnavigation */
.site-footer__main {
	padding: var(--coop-spacing-2xl, 64px) 0 var(--coop-spacing-xl, 48px);
	background: var(--coop-bg-primary, #ffffff);
}

.site-footer__nav-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--coop-spacing-xl, 48px);
}

.site-footer__nav-column {
	display: flex;
	flex-direction: column;
}

/* Navigation Title */
.site-footer__nav-title {
	margin: 0 0 var(--coop-spacing-md, 16px) 0;
	color: var(--coop-text-primary, #181a34);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
}

/* Navigation Links */
.site-footer__nav-links {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-sm, 8px);
}

.site-footer__nav-link {
	color: var(--coop-text-secondary, #4b4f6b);
	font-size: 14px;
	line-height: 1.6;
	text-decoration: none;
	transition: color var(--coop-transition, all 0.2s ease);
}

.site-footer__nav-link:hover {
	color: var(--coop-accent, #3537e3);
}

/* Ebene 2: Bottom Bar */
.site-footer__bottom {
	padding: var(--coop-spacing-lg, 24px) 0;
	background: var(--coop-bg-secondary, #f5f5f5);
	border-top: 1px solid var(--coop-border-light, rgba(120, 120, 128, 0.2));
}

.site-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-lg, 24px);
	min-height: 60px;
}

/* Bottom Left: Copyright + Trust Badges */
.site-footer__bottom-left {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-lg, 24px);
	flex-wrap: wrap;
}

.site-footer__copyright {
	margin: 0;
	color: var(--coop-text-secondary, #4b4f6b);
	font-size: 13px;
	line-height: 1.5;
}

/* Bottom Right: Social Icons */
.site-footer__bottom-right {
	display: flex;
	align-items: center;
}

.site-footer__social {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-md, 16px);
}

.site-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--coop-text-secondary, #4b4f6b);
	text-decoration: none;
	border-radius: 50%;
	transition: all var(--coop-transition, all 0.2s ease);
	background: transparent;
}

.site-footer__social-link:hover {
	color: var(--coop-accent, #3537e3);
	background: color-mix(in srgb, var(--coop-accent, #3537e3) 10%, transparent);
	transform: translateY(-2px);
}

.site-footer__social-link svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

/* Dark Mode Footer */
body.coop-dark-area .site-footer {
	background: rgba(12, 12, 18, 0.92);
	border-top-color: color-mix(in srgb, var(--coop-text-secondary) 20%, transparent);
}

body.coop-dark-area .site-footer__main {
	background: rgba(12, 12, 18, 0.92);
}

body.coop-dark-area .site-footer__bottom {
	background: rgba(8, 8, 12, 0.95);
	border-top-color: color-mix(in srgb, var(--coop-text-secondary) 15%, transparent);
}

body.coop-dark-area .site-footer__nav-title {
	color: var(--coop-text-primary, #f5f5f7);
}

body.coop-dark-area .site-footer__nav-link {
	color: var(--coop-text-secondary, rgba(160, 160, 180, 0.85));
}

body.coop-dark-area .site-footer__nav-link:hover {
	color: var(--coop-accent, #4c6fff);
}

body.coop-dark-area .site-footer__copyright {
	color: var(--coop-text-secondary, rgba(160, 160, 180, 0.85));
}

body.coop-dark-area .site-footer__social-link {
	color: var(--coop-text-secondary, rgba(160, 160, 180, 0.85));
}

body.coop-dark-area .site-footer__social-link:hover {
	color: var(--coop-accent, #4c6fff);
	background: color-mix(in srgb, var(--coop-accent, #4c6fff) 15%, transparent);
}

/* Mobile: Navigation immer sichtbar */
@media (max-width: 1024px) {
	.site-footer__main {
		padding: var(--coop-spacing-xl, 48px) 0 var(--coop-spacing-lg, 24px);
	}

	.site-footer__nav-grid {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl, 48px);
	}

	.site-footer__nav-column {
		padding-bottom: var(--coop-spacing-lg, 24px);
		border-bottom: 1px solid var(--coop-border-light, rgba(120, 120, 128, 0.2));
	}

	.site-footer__nav-column:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.site-footer__nav-links {
		display: flex !important;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-md, 16px);
	}

	.site-footer__bottom-left {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-md, 16px);
	}

	.site-footer__bottom-right {
		width: 100%;
		justify-content: flex-start;
	}

	.site-footer__bottom {
		padding: var(--coop-spacing-lg, 24px) 0 80px;
	}
}

/* Desktop: Navigation immer sichtbar */
@media (min-width: 1025px) {
	.site-footer__nav-links {
		display: flex !important;
	}
}

/* CookieYes Link */
.cky-banner-element {
	cursor: pointer;
}

.site-footer__social-link:focus-visible {
	outline: 2px solid var(--coop-accent, #3537e3);
	outline-offset: 2px;
}

/* Shop-Seite: Kategorien-Pills immer sichtbar (kein Dropdown) */
.coopprint-filters-content .coop-category-pills-wrapper {
	display: flex;
	flex-direction: column;
	gap: 8px;
	margin-top: 0 !important;
}

.coopprint-filters-content .coop-category-pills {
	display: flex !important;
	position: static !important;
	flex-direction: column;
	gap: 8px;
	margin-top: 0 !important;
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	padding: 0 !important;
	z-index: auto !important;
}

.coopprint-filters-content .coop-category-pill {
	width: auto !important;
	text-decoration: none !important; /* Keine Unterstreichung */
}

.coopprint-filters-content .coop-category-pill:hover {
	text-decoration: none !important; /* Keine Unterstreichung beim Hover */
}

/* Padding direkt unter den Überschriften "Sortierung" und "Kategorien" - höhere Spezifität */
.coopprint-filters-content .coop-card.coop-filter-section-sort > h2.coop-product-page__section-title:first-child,
.coopprint-filters-content .coop-filter-section-sort .coop-product-page__section-title {
	margin-bottom: var(--coop-spacing-lg, 16px) !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

.coopprint-filters-content .coop-card.coop-filter-section-categories > h2.coop-product-page__section-title:first-child,
.coopprint-filters-content .coop-filter-section-categories .coop-product-page__section-title {
	margin-bottom: var(--coop-spacing-lg, 16px) !important;
	margin-top: 0 !important;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
}

/* Mobile: Zweispaltige Anzeige */
@media (max-width: 1024px) {
	.coopprint-filters-content .coop-category-pills-wrapper {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 12px;
		align-items: start;
	}
	
	.coopprint-filters-content .coop-category-pills-column {
		display: flex;
		flex-direction: column;
		gap: 8px;
		min-width: 0; /* Verhindert Overflow */
		width: 100%;
	}
}

/* Desktop: Einspaltige Anzeige */
@media (min-width: 1025px) {
	.coopprint-filters-content .coop-category-pills-wrapper {
		display: flex;
		flex-direction: column;
	}
	
	.coopprint-filters-content .coop-category-pills-right {
		display: none !important; /* Rechte Spalte auf Desktop ausblenden */
	}
	
	.coopprint-filters-content .coop-category-pills-left {
		width: 100%;
	}
}

/*
Theme Name: CoopPrint V834
Theme URI: https://coopprint.de
Author: CoopPrint Team
Author URI: https://coopprint.de
Description: Custom theme for CoopPrint platform with full Gutenberg support and custom design system.
Version: 1.0.834
Requires at least: 6.0
Tested up to: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: coopprint
Tags: e-commerce, woocommerce, custom-design, gutenberg-ready, block-editor

CoopPrint theme - A custom WordPress theme built for the CoopPrint platform.
*/

/* 
 * Theme styles are loaded via the UI design - Global Foundations.php snippet
 * This file only contains the theme header for WordPress recognition.
 * 
 * BUILD-REGEL: ZIP-Dateien immer mit Versionsnummer benennen!
 * Format: coopprint-v1.zip, coopprint-v2.zip, coopprint-v3.zip, ...
 * Versionsnummer bei jeder neuen ZIP-Datei erhöhen.
 * Siehe auch: README.md und BUILD.md im Theme-Verzeichnis
 * 
 * 🔄 WICHTIG FÜR AI-ASSISTENTEN:
 * ⚠️ AUTOMATISCH ZIP ERSTELLEN BEI JEDER ÄNDERUNG! ⚠️
 * Nach JEDER Code-Änderung am Theme MUSS automatisch eine ZIP erstellt werden:
 * powershell.exe -ExecutionPolicy Bypass -File "wp-content/themes/create-theme-zip.ps1"
 * KEINE AUSNAHMEN - IMMER ZIP ERSTELLEN!
 */

/* Basis-Reset und Typography */
* {
    box-sizing: border-box;
}

/* Shop: Suchleiste rechts bündig über den Produkten ausrichten (Sidebar unberührt) */
@media (min-width: 1025px) {
	.woocommerce-shop .coop-site-header__search-panel,
	.post-type-archive-product .coop-site-header__search-panel {
		left: auto; /* nicht zentriert über gesamte Breite */
		right: 0;   /* an rechten Container-Rand binden */
		width: min( calc(100% - 280px - 16px), 1100px ); /* an Produktspalte orientieren, etwas schmaler */
		max-width: 1100px;
	}
}

/* Shop: Suchleiste als Seitenelement (nicht Header) */
.coopprint-shop-search-panel {
	margin-top: 8px;
	margin-bottom: 12px;
}
.coopprint-shop-search-row {
	display: flex;
	align-items: center;
	gap: 10px;
}
/* Filter-Toggle-Button: Gleiche Styles wie Header-Buttons (Such-Button) */
.coopprint-filter-toggle-inline {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	color: var(--coop-button-foreground, var(--coop-button-text, #fff));
	background: var(--coop-button-surface, var(--coop-accent));
	transition: var(--coop-transition, all .2s ease);
}

.coopprint-filter-toggle-inline:not(.active) {
	background: var(--coop-bg-secondary, #ffffff);
	color: var(--coop-text-primary, #1a1a1a);
	border: 1px solid var(--coop-border-light, rgba(120,120,128,0.2));
}

.coopprint-filter-toggle-inline:not(.active):hover {
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
	border-color: var(--coop-accent, #3537e3);
	color: var(--coop-text-primary, #1a1a1a);
}

.coopprint-filter-toggle-inline.active {
	background: var(--coop-accent, #3537e3) !important;
	color: #ffffff !important;
	border: none !important;
}

.coopprint-filter-toggle-inline.active:hover,
.coopprint-filter-toggle-inline.active:focus-visible {
	background: var(--coop-accent-hover, #4f52f0) !important;
	color: #ffffff !important;
}
@media (min-width: 1025px) {
	/* Desktop: in Produktspalte rechtsbündig, gleiche Breite wie Produktspalte */
	.coopprint-shop-search-panel {
		grid-column: 2 / 3;
		justify-self: end;
		width: min(100%, 1100px);
	}
	.coopprint-filter-toggle-inline {
		display: none; /* nur mobil sichtbar */
	}
}
@media (max-width: 1024px) {
	/* Mobil: volle Breite, Button in derselben Zeile rechts */
	.coopprint-shop-search-panel {
		padding: 0 16px;
	}
	.coopprint-shop-search-row {
		justify-content: space-between;
	}
	.coopprint-shop-search-row .coop-header-search-box {
		flex: 1;
	}
}

/* Grid-Only: Standalone-Ausrichtung rechtsbündig auf Desktop */
.coopprint-shop-search-panel--standalone {
	padding: 0 16px;
}
@media (min-width: 1025px) {
	.coopprint-shop-search-panel--standalone {
		padding: 0;
		max-width: 1100px;
		margin-left: auto; /* rechts bündig */
		margin-right: 0;
	}
}

body {
    margin: 0;
    padding: 0;
    font-family: "Inter", "Manrope", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}


/* Verhindere doppelte Navigation im Content (nur auf normalen Seiten/Posts, nicht im Shop) */
.page .entry-content .wp-block-navigation,
.post .entry-content .wp-block-navigation,
.page .entry-content .wp-block-navigation__responsive-container,
.post .entry-content .wp-block-navigation__responsive-container,
.page .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile),
.post .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile) {
    display: none !important;
}

/* Verstecke ungewollte Elemente (nur auf normalen Seiten/Posts) */
.page .entry-content .wp-block-site-logo,
.post .entry-content .wp-block-site-logo,
.page .entry-content .wp-block-site-title,
.post .entry-content .wp-block-site-title,
.page .entry-content .wp-block-query-title,
.post .entry-content .wp-block-query-title,
.page .entry-content .wp-block-post-title,
.post .entry-content .wp-block-post-title,
.page .entry-content .wp-block-post-featured-image,
.post .entry-content .wp-block-post-featured-image {
    display: none !important;
}

/* ============================================
   UI FOUNDATIONS
   ============================================ */
/* CoopPrint Theme - UI Foundations */
/* Basis-Styles für globale Design-Token und Layout-Grundlagen */

/* LIGHT MODE – Customer (Standard) */
:root {
    --coop-bg-primary: #ffffff;
    --coop-bg-secondary: #ffffff;
    --coop-bg-tertiary: #ffffff;
    --coop-bg-box: #ffffff;
    --coop-border: rgba(229, 231, 235, 0.9);
    --coop-border-light: rgba(241, 245, 249, 0.65);
    --coop-text-primary: #181a34;
    --coop-text-secondary: color-mix(in srgb, #181a34 65%, white 35%);
    --coop-text-muted: color-mix(in srgb, #181a34 40%, white 60%);
    --coop-accent: #3537e3;
    --coop-accent-hover: color-mix(in srgb, var(--coop-accent) 85%, white 15%);
    --coop-button-accent: var(--coop-accent);
    --coop-button-accent-hover: var(--coop-accent-hover);
    --coop-button-text: #ffffff;
    --coop-checkbox-color: var(--coop-accent);
    --coop-shell-background: #ffffff;
    --coop-shell-border: rgba(229, 231, 235, 0.9);
    --coop-shell-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
    --coop-button-surface: linear-gradient(135deg, var(--coop-accent) 0%, color-mix(in srgb, var(--coop-accent) 65%, white 35%) 100%);
    --coop-button-surface-hover: linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 85%, white 15%) 0%, color-mix(in srgb, var(--coop-accent-hover) 70%, white 30%) 100%);
    --coop-color-neutral: #6c6d7c;
    --coop-color-brand-strong: #23018f;
    --coop-color-link: #8393f1;
    --e-global-color-primary: var(--coop-text-primary);
    --e-global-color-secondary: #ffffff;
    --e-global-color-text: #000000;
    --e-global-color-accent: var(--coop-color-neutral);
    --e-global-color-18e535b: var(--coop-color-brand-strong);
    --e-global-color-5d317aa: var(--coop-color-link);
    --e-global-color-cc1b7b8: #ffffff;
    --e-global-color-e3f3010: #000000;
    --e-global-color-d0ac475: #ffffff;
    --e-global-color-14fb6be: #b4b4b4;
    --e-global-typography-text-font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    --coop-header-height: 80px;
}

@supports not (color-mix(in srgb, black, transparent)) {
    :root {
        --coop-border: #ced3f0;
        --coop-border-light: #dfe3f6;
        --coop-text-secondary: #4b4f6b;
        --coop-text-muted: #7a81a6;
        --coop-accent-hover: #4f52f0;
        --coop-shell-border: rgba(229, 231, 235, 0.9);
        --coop-shell-shadow: 0 18px 40px rgba(15, 23, 42, 0.05);
        --coop-button-surface: linear-gradient(135deg, var(--coop-accent) 0%, #4f52f0 100%);
        --coop-button-surface-hover: linear-gradient(135deg, #4f52f0 0%, #6b6df7 100%);
    }
}

/* DARK MODE – Producer & Designer */
body.coop-dark-area {
    --coop-bg-primary: color-mix(in srgb, #000000 60%, transparent);
    --coop-bg-secondary: color-mix(in srgb, #000000 80%, transparent);
    --coop-bg-tertiary: color-mix(in srgb, #000000 48%, transparent);
    --coop-bg-box: rgba(20, 20, 22, 0.88);
    --coop-border: color-mix(in srgb, rgba(120, 120, 128, 0.7) 24%, transparent);
    --coop-border-light: color-mix(in srgb, rgba(120, 120, 128, 0.5) 12%, transparent);
    --coop-text-primary: #f5f5f7;
    --coop-text-secondary: color-mix(in srgb, var(--coop-text-primary) 70%, rgba(160, 160, 180, 0.85) 30%);
    --coop-text-muted: color-mix(in srgb, var(--coop-text-primary) 45%, rgba(140, 140, 160, 0.6) 55%);
    --coop-accent: #4c6fff;
    --coop-accent-hover: color-mix(in srgb, var(--coop-accent) 70%, #7286ff 30%);
    --coop-button-accent: var(--coop-accent);
    --coop-button-accent-hover: var(--coop-accent-hover);
    --coop-button-text: var(--coop-text-primary);
    --coop-button-surface: var(--coop-accent);
    --coop-button-surface-hover: var(--coop-accent-hover);
    --coop-checkbox-color: var(--coop-accent);
    --coop-shell-background: linear-gradient(180deg, rgba(0, 0, 0, 0.35) 0%, rgba(8, 8, 10, 0.5) 45%, rgba(6, 6, 8, 0.6) 100%);
    --coop-shell-border: color-mix(in srgb, rgba(120, 120, 128, 0.45) 28%, transparent);
    --coop-shell-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
    --coop-color-neutral: #6c6d7c;
    --coop-color-brand-strong: #23018f;
    --coop-color-link: #8393f1;
    --e-global-color-primary: var(--coop-text-primary);
    --e-global-color-secondary: #000000;
    --e-global-color-text: var(--coop-text-primary);
    --e-global-color-accent: #b4b4b4;
    --e-global-color-18e535b: var(--coop-color-brand-strong);
    --e-global-color-5d317aa: var(--coop-color-link);
    --e-global-color-cc1b7b8: var(--coop-text-primary);
    --e-global-color-e3f3010: #000000;
    --e-global-color-d0ac475: var(--coop-text-primary);
    --e-global-color-14fb6be: #b4b4b4;
    --e-global-typography-text-font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
}

@supports not (color-mix(in srgb, black, transparent)) {
    body.coop-dark-area {
        --coop-bg-primary: rgba(0, 0, 0, 0.6);
        --coop-bg-secondary: rgba(0, 0, 0, 0.8);
        --coop-bg-tertiary: rgba(0, 0, 0, 0.48);
        --coop-border: rgba(120, 120, 128, 0.24);
        --coop-border-light: rgba(120, 120, 128, 0.12);
        --coop-text-muted: rgba(140, 140, 160, 0.55);
        --coop-shell-background: rgba(0, 0, 0, 0.5);
        --coop-shell-border: rgba(120, 120, 128, 0.28);
        --coop-shell-shadow: 0 20px 45px rgba(0, 0, 0, 0.65);
        --coop-button-surface: var(--coop-accent);
        --coop-button-surface-hover: var(--coop-accent-hover);
    }
}

/* Design Tokens */
:root {
    --coop-spacing-xs: 6px;
    --coop-spacing-sm: 10px;
    --coop-spacing-md: 16px;
    --coop-spacing-lg: 20px;
    --coop-spacing-xl: 28px;
    --coop-spacing-2xl: 36px;
    --coop-spacing-3xl: 48px;
    --coop-radius-sm: 6px;
    --coop-radius-md: 8px;
    --coop-radius-lg: 12px;
    --coop-radius-xl: 16px;
    --coop-radius-2xl: 24px;
    --coop-transition: all 0.2s ease;
    --coop-transition-fast: all 0.15s ease;
    --coop-transition-slow: all 0.35s ease;
    --coop-font-xs: 12px;
    --coop-font-sm: 13px;
    --coop-font-md: 14px;
    --coop-font-base: 15px;
    --coop-font-lg: 17px;
    --coop-font-xl: 19px;
    --coop-font-2xl: 22px;
    --coop-font-3xl: 28px;
    --coop-font-4xl: 38px;
    --coop-font-5xl: 48px;
    --coop-z-base: 1;
    --coop-z-dropdown: 100;
    --coop-z-sticky: 200;
    --coop-z-overlay: 300;
    --coop-z-modal: 400;
    --coop-z-tooltip: 500;
    /* Color Mix Overlays */
    --coop-accent-overlay-12: var(--coop-accent-overlay-12);
    --coop-accent-overlay-10: var(--coop-accent-overlay-10);
    --coop-bg-secondary-overlay-90: var(--coop-bg-secondary-overlay-90);
}

/* Global Typography */
html, body {
    font-family: "Inter", "Manrope", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif !important;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

/* Basis-Styling für WordPress Content */
.site-main {
    max-width: 1320px;
    margin: 0 auto;
    padding: 0;
}

/* Padding für primary-content */
#primary-content {
    padding: 25px;
}

/* Shop-Seiten: weniger Abstand oberhalb des Haupt-Blocks,
   damit die Suchleiste näher am Header sitzt */
.woocommerce-shop .site-main,
.post-type-archive-product .site-main {
    padding-top: 0;
}

.entry-content,
.entry-header,
.entry-footer {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
}

.entry-content {
    line-height: 1.65;
    color: var(--coop-text-primary, #181a34);
}

.entry-content p {
    margin-bottom: var(--coop-spacing-md, 16px);
}

.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4,
.entry-content h5,
.entry-content h6 {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    font-weight: 600;
    margin-top: var(--coop-spacing-xl, 28px);
    margin-bottom: var(--coop-spacing-md, 16px);
    color: var(--coop-text-primary, #181a34);
}

.entry-title {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    font-weight: 700;
    font-size: var(--coop-font-3xl, 28px);
    margin-bottom: var(--coop-spacing-lg, 20px);
    color: var(--coop-text-primary, #181a34);
}

/* Verhindere doppelte Menü-Anzeige im Content (nur auf normalen Seiten/Posts, nicht im Shop) */
.page .entry-content .wp-block-navigation,
.post .entry-content .wp-block-navigation,
.page .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile),
.post .entry-content nav:not(.coop-site-header__nav):not(.coop-site-header__nav-mobile),
.page .entry-content .menu,
.post .entry-content .menu,
.page .entry-content .wp-block-navigation__responsive-container,
.post .entry-content .wp-block-navigation__responsive-container {
    display: none !important;
}

/* Verstecke ungewollte Elemente im Content (nur auf normalen Seiten/Posts) */
.page .entry-content .wp-block-site-logo,
.post .entry-content .wp-block-site-logo,
.page .entry-content .wp-block-site-title,
.post .entry-content .wp-block-site-title,
.page .entry-content .wp-block-query-title,
.post .entry-content .wp-block-query-title,
.page .entry-content .wp-block-post-title,
.post .entry-content .wp-block-post-title {
    display: none !important;
}

/* Verstecke Featured Image wenn es im Content erscheint (nur auf normalen Seiten/Posts) */
.page .entry-content .wp-block-post-featured-image,
.post .entry-content .wp-block-post-featured-image,
.page .entry-content .wp-block-cover,
.post .entry-content .wp-block-cover {
    display: none !important;
}

/* Gutenberg Block Styling */
.wp-block-group,
.wp-block-columns,
.wp-block-column {
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
}

/* Container & Layout */
.coop-container {
    max-width: 1320px;
    margin: 0 auto;
    padding: var(--coop-spacing-3xl) var(--coop-spacing-xl);
    font-family: "Inter", "Manrope", "Segoe UI", sans-serif;
    font-size: var(--coop-font-base);
    line-height: 1.65;
    color: var(--coop-text-primary);
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}
.coop-container * {
    font-family: inherit !important;
}
.coop-container.compact {
    max-width: 960px;
}
.coop-container.editor {
    max-width: 1100px;
}

/* Grid */
.coop-grid,
.coop-address-blocks {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: var(--coop-spacing-md);
    margin-bottom: var(--coop-spacing-xl);
}
.coop-address-blocks {
    gap: var(--coop-spacing-lg);
}
.coop-grid-row {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--coop-spacing-md);
}
.coop-grid-row-2 {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: var(--coop-spacing-md);
}
.coop-grid-row-3 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--coop-spacing-md);
}

/* Utility Animations */
@keyframes coopFadeIn {
    from {
        opacity: 0;
        transform: translateY(8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
@keyframes coop-fadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.coop-fade-in {
    animation: coop-fadeIn 0.2s ease-in;
}

@media (max-width: 768px) {
    .coop-container {
        padding: var(--coop-spacing-2xl) var(--coop-spacing-lg);
        border-radius: 0;
    }
    .coop-grid,
    .coop-grid-row,
    .coop-grid-row-2,
    .coop-address-blocks {
        grid-template-columns: 1fr;
        gap: var(--coop-spacing-sm);
    }
    .coop-grid-row-3 {
        grid-template-columns: 1fr 1fr;
        gap: var(--coop-spacing-sm);
    }
}

/* Dark area layout support (e.g. Designer / Producer Dashboards) */
body.coop-dark-area {
    background: #090a0f;
    color: var(--coop-text-primary);
}

body.coop-dark-area .site,
body.coop-dark-area .site-content,
body.coop-dark-area .page,
body.coop-dark-area #content,
body.coop-dark-area .wp-site-blocks {
    background: transparent;
}

.ct-container-full[data-content],
main.site-main h1,
main.site-main .page-title,
.entry-content,
.entry-header,
.woocommerce,
.woocommerce.ct-woo-account,
.woocommerce-MyAccount-content {
    background: #ffffff;
    border: none;
    box-shadow: none;
}

/* WooCommerce Checkout - Volle Breite nutzen */
.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .woocommerce,
body.woocommerce-checkout .entry-content .woocommerce {
    width: 100% !important;
    max-width: 100% !important;
}
body.coop-dark-area .ct-container-full[data-content],
body.coop-dark-area main.site-main h1,
body.coop-dark-area main.site-main .page-title,
body.coop-dark-area .entry-content,
body.coop-dark-area .entry-header,
body.coop-dark-area .woocommerce,
body.coop-dark-area .woocommerce.ct-woo-account,
body.coop-dark-area .woocommerce-MyAccount-content {
    background: transparent !important;
    border: none !important;
    box-shadow: none !important;
}

body.coop-dark-area .ct-container-full[data-content]::before,
body.coop-dark-area .ct-container-full[data-content]::after {
    content: none !important;
    background: transparent !important;
}

body.coop-dark-area .site-header,
body.coop-dark-area .site-header .header-inner,
body.coop-dark-area .site-footer,
body.coop-dark-area .site-footer .footer-inner,
body.coop-dark-area .ct-header,
body.coop-dark-area .ct-footer {
    background: rgba(12, 12, 18, 0.92);
    color: var(--coop-text-primary);
}

body.coop-dark-area .ct-header .ct-container,
body.coop-dark-area .ct-header [data-device],
body.coop-dark-area .ct-header [data-row],
body.coop-dark-area .ct-header [data-column],
body.coop-dark-area .ct-header [data-items],
body.coop-dark-area .ct-header .menu-container,
body.coop-dark-area .ct-header .site-branding,
body.coop-dark-area .ct-header .ct-header-cart,
body.coop-dark-area .ct-header .ct-header-search,
body.coop-dark-area .ct-header .ct-header-trigger,
body.coop-dark-area .ct-header .ct-header-cart .ct-cart-content,
body.coop-dark-area .ct-header .ct-header-cart .ct-cart-content * {
    background: transparent;
}

body.coop-dark-area .ct-header .menu-container,
body.coop-dark-area .ct-header .ct-menu-link,
body.coop-dark-area .ct-header .ct-icon,
body.coop-dark-area .ct-header .ct-label,
body.coop-dark-area .ct-header .ct-header-cart,
body.coop-dark-area .ct-header .ct-header-search {
    color: var(--coop-text-primary);
    fill: currentColor;
    stroke: none;
}

body.coop-dark-area .ct-header .ct-menu-link:hover,
body.coop-dark-area .ct-header .ct-menu-link:focus,
body.coop-dark-area .ct-header .ct-header-cart:hover,
body.coop-dark-area .ct-header .ct-header-search:hover {
    color: var(--coop-accent);
}

body.coop-dark-area .ct-sidebar,
body.coop-dark-area .ct-sidebar[data-type],
body.coop-dark-area .ct-sidebar-inner,
body.coop-dark-area .ct-widget-area,
body.coop-dark-area .ct-widget-area-inner,
body.coop-dark-area .widget-area,
body.coop-dark-area .widget-area .widget,
body.coop-dark-area .widget-area .ct-widget,
body.coop-dark-area .sidebar,
body.coop-dark-area .sidebar-inner,
body.coop-dark-area .sidebar section,
body.coop-dark-area .ct-sidebar .widget,
body.coop-dark-area .ct-sidebar .ct-widget,
body.coop-dark-area aside.ct-widget,
body.coop-dark-area aside.widget {
    background: rgba(17, 18, 26, 0.88);
    color: var(--coop-text-secondary);
    border: 1px solid color-mix(in srgb, var(--coop-text-secondary) 18%, transparent);
    border-radius: var(--coop-radius-xl);
    padding: var(--coop-spacing-lg);
    backdrop-filter: blur(18px);
    box-shadow: 0 18px 45px rgba(8, 8, 12, 0.42);
}

body.coop-dark-area .ct-account-nav,
body.coop-dark-area .ct-acount-nav {
    background: rgba(17, 18, 26, 0.9);
    border-radius: var(--coop-radius-2xl);
    padding: var(--coop-spacing-xl);
    border: 1px solid color-mix(in srgb, var(--coop-text-secondary) 20%, transparent);
    box-shadow: 0 20px 50px rgba(9, 10, 15, 0.55);
}

body.coop-dark-area .ct-account-nav .woocommerce-MyAccount-navigation,
body.coop-dark-area .ct-acount-nav .woocommerce-MyAccount-navigation {
    background: transparent;
    border: none;
    box-shadow: none;
    padding: 0;
}

body.coop-dark-area .woocommerce-MyAccount-navigation {
    display: block !important;
    visibility: visible !important;
}
body.coop-dark-area .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--coop-spacing-sm);
}

body.coop-dark-area .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--coop-spacing-sm);
    padding: var(--coop-spacing-md) var(--coop-spacing-lg);
    border-radius: var(--coop-radius-lg);
    background: color-mix(in srgb, var(--coop-bg-primary) 70%, transparent);
    color: var(--coop-text-primary);
    font-weight: 500;
    text-decoration: none;
    transition: var(--coop-transition);
    border: 1px solid transparent;
}

body.coop-dark-area .woocommerce-MyAccount-navigation a:hover {
    border-color: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    background: color-mix(in srgb, var(--coop-accent) 20%, transparent);
    color: var(--coop-text-primary);
}

body.coop-dark-area .woocommerce-MyAccount-navigation li.is-active a,
body.coop-dark-area .woocommerce-MyAccount-navigation a[aria-current="page"] {
    border-color: color-mix(in srgb, var(--coop-accent) 55%, transparent);
    background: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    box-shadow: 0 10px 25px rgba(56, 78, 255, 0.25);
}

body.coop-dark-area .site-header a,
body.coop-dark-area .site-header .ct-menu-link,
body.coop-dark-area .site-footer a,
body.coop-dark-area .ct-header a,
body.coop-dark-area .ct-footer a {
    color: var(--coop-text-primary);
}

body.coop-dark-area .ct-sidebar a,
body.coop-dark-area .ct-widget-area a,
body.coop-dark-area .widget-area a,
body.coop-dark-area .sidebar a {
    color: var(--coop-accent);
}

body.coop-dark-area .site-header a:hover,
body.coop-dark-area .site-footer a:hover,
body.coop-dark-area .ct-header a:hover,
body.coop-dark-area .ct-footer a:hover {
    color: var(--coop-accent);
}

body.coop-role-designer .site-header,
body.coop-role-designer .ct-header {
    box-shadow: 0 12px 40px rgba(88, 28, 135, 0.35);
}

body.coop-role-producer .site-header,
body.coop-role-producer .ct-header {
    box-shadow: 0 12px 40px rgba(15, 118, 110, 0.35);
}

/* Coop Header */
.coop-site-header {
    position: sticky;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    z-index: var(--coop-z-sticky, 200);
    background: color-mix(in srgb, var(--coop-bg-primary) 94%, transparent);
    border-bottom: 1px solid var(--coop-border, rgba(35, 34, 102, 0.08));
    box-shadow: 0 18px 36px rgba(35, 34, 102, 0.07);
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
    overflow: visible;
}
.coop-site-header:has(.coop-site-header__mobile-panel.is-open) {
    overflow: visible;
}
body:has(.coop-site-header__mobile-panel.is-open) .coop-site-header {
    backdrop-filter: blur(12px) saturate(180%);
    -webkit-backdrop-filter: blur(12px) saturate(180%);
}
.coop-site-header--dark {
    background: color-mix(in srgb, #0c0c15 92%, transparent);
    border-bottom-color: color-mix(in srgb, rgba(120, 120, 160, 0.5) 20%, transparent);
    box-shadow: 0 28px 48px rgba(2, 4, 16, 0.55);
}
.coop-site-header__skip-link {
    position: absolute;
    top: -999px;
    left: 50%;
    transform: translateX(-50%);
    padding: var(--coop-spacing-sm) var(--coop-spacing-lg);
    background: var(--coop-accent);
    color: #ffffff;
    border-radius: var(--coop-radius-md);
    font-weight: 600;
    z-index: 999;
}
.coop-site-header__skip-link:focus {
    top: var(--coop-spacing-sm);
}
.coop-site-header__main {
    padding: var(--coop-spacing-sm) 0;
}
.coop-site-header__inner {
    width: min(1320px, 100%);
    margin: 0 auto;
    padding: 0 var(--coop-spacing-xl);
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    column-gap: var(--coop-spacing-xl);
    min-height: 78px;
}
.coop-site-header__brand {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
}
.coop-site-header__logo-link {
    display: inline-flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
    text-decoration: none;
    color: var(--coop-text-primary);
    font-weight: 700;
    font-size: var(--coop-font-2xl);
}
.coop-site-header__logo-link img {
    max-height: 42px;
    width: auto;
    height: auto;
    display: block;
}
.coop-site-header__logo-text {
    font-weight: 700;
    letter-spacing: -0.4px;
}
.coop-site-header__nav {
    display: flex;
    justify-content: center;
}
.coop-site-header__brand { justify-self: start; display: flex; align-items: center; gap: var(--coop-spacing-sm); }
.coop-brand-actions { display: none; } /* nicht mehr verwendet */
.coop-actions-fixed { display: inline-flex; align-items: center; gap: var(--coop-spacing-sm); }
.coop-site-header__actions { justify-self: end; }
.coop-site-header__menu {
    display: flex;
    gap: var(--coop-spacing-lg);
    list-style: none;
    margin: 0;
    padding: 0;
    align-items: center;
}
.coop-site-header__menu > li > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-weight: 600;
    font-size: var(--coop-font-sm);
    text-transform: uppercase;
    letter-spacing: 0.18em;
    color: var(--coop-text-secondary);
    text-decoration: none;
    padding: 8px 0;
    position: relative;
    transition: color var(--coop-transition);
}
.coop-site-header__menu > li > a::after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -8px;
    height: 3px;
    background: var(--coop-accent);
    border-radius: 999px;
    transform: scaleX(0);
    opacity: 0;
    transition: transform var(--coop-transition), opacity var(--coop-transition);
}
.coop-site-header__menu > li.current-menu-item > a,
.coop-site-header__menu > li.current-menu-parent > a,
.coop-site-header__menu > li > a:hover,
.coop-site-header__menu > li > a:focus-visible {
    color: var(--coop-text-primary);
}
.coop-site-header__menu > li.current-menu-item > a::after,
.coop-site-header__menu > li.current-menu-parent > a::after,
.coop-site-header__menu > li > a:hover::after,
.coop-site-header__menu > li > a:focus-visible::after {
    transform: scaleX(1);
    opacity: 1;
}
.coop-site-header__actions {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
}
.coop-actions-separator {
    display: inline-block;
    width: 1px;
    height: 28px;
    margin: 0 var(--coop-spacing-sm);
    background: var(--coop-border);
}

/* Kunden-Actions: Platz erhalten, bei Partner-Modus nur unsichtbar */
.coop-actions-customer {
    display: inline-flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
}
/* Kunden-Actions im Partnermodus dezent und deaktiviert */
.coop-actions-customer.is-dimmed {
    opacity: .45;
    filter: grayscale(40%);
    pointer-events: none;
    transition: opacity var(--coop-transition);
}

/* Optional: Separator etwas dezenter im Partnermodus */
/* (separator removed) */

/* Partner Toggle in Actions */
.coop-partner-toggle {
	border: 1px solid var(--coop-border);
	border-radius: 999px;
	width: 40px;
	height: 40px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: var(--coop-text-secondary);
	background: var(--coop-bg-secondary-overlay-90);
}
.coop-partner-toggle .coop-icon {
	margin-right: 0;
	width: 18px;
	height: 18px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.coop-partner-toggle:hover,
.coop-partner-toggle:focus-visible {
	color: var(--coop-accent);
	border-color: color-mix(in srgb, var(--coop-accent) 40%, transparent);
	background: var(--coop-accent-overlay-12);
}
.coop-partner-toggle.is-active {
	color: var(--coop-accent);
	border-color: color-mix(in srgb, var(--coop-accent) 50%, transparent);
	background: color-mix(in srgb, var(--coop-accent) 16%, transparent);
}

/* Menümodus Toggle (Kunde | Partner) */
.coop-navmode-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	color: var(--coop-text-secondary);
	text-decoration: none;
	position: relative;
	padding: 8px 0;
	margin-right: var(--coop-spacing-lg);
	transition: color var(--coop-transition);
}
.coop-navmode-link__label {
	font-size: var(--coop-font-sm);
	text-transform: uppercase;
	letter-spacing: 0.18em;
	font-weight: 600;
}
.coop-navmode-link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -8px;
	height: 3px;
	background: var(--coop-accent);
	border-radius: 999px;
	transform: scaleX(0);
	opacity: 0;
	transition: transform var(--coop-transition), opacity var(--coop-transition);
}
.coop-navmode-link:hover,
.coop-navmode-link:focus-visible {
	color: var(--coop-text-primary);
}
.coop-navmode-link:hover::after,
.coop-navmode-link:focus-visible::after {
	transform: scaleX(1);
	opacity: 1;
}

/* Icon-Ausrichtung für Account/Cart */
.coop-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-right: 8px;
}

/* Cart Badge am Icon Button */
.coop-cart-btn {
	position: relative;
}
.coop-cart-badge {
	position: absolute;
	top: -4px;
	right: -4px;
	min-width: 16px;
	height: 16px;
	padding: 0 4px;
	border-radius: 999px;
	background: var(--coop-accent);
	color: #fff;
	font-size: 10px;
	line-height: 16px;
	text-align: center;
	border: 1px solid color-mix(in srgb, #000 10%, transparent);
}

/* Korrektur: Icon in runden Account-/Cart-Buttons exakt zentrieren, ohne Außenabstand */
.coop-site-header__icon-btn.coop-site-header__account .coop-icon,
.coop-site-header__icon-btn.coop-site-header__cart .coop-icon {
	margin-right: 0;
	width: 18px;
	height: 18px;
}

/* Partner Toggle Active State */
.coop-mobile-action.is-active {
	color: var(--coop-accent);
	border-color: var(--coop-accent);
	background: var(--coop-accent-overlay-12);
}

/* Mobile Search kompakter */
.coop-site-header__search--mobile .coop-site-header__search-input {
	height: 36px;
	padding: 6px 10px;
	border-radius: 10px;
}
.coop-site-header__icon-btn {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    border: 1px solid var(--coop-border-light);
    background: transparent;
    color: var(--coop-text-primary);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: var(--coop-font-lg);
    cursor: pointer;
    transition: var(--coop-transition);
}
.coop-site-header__icon-btn:hover,
.coop-site-header__icon-btn:focus-visible {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 40%, transparent);
    background: var(--coop-accent-overlay-12);
}

/* Dark Mode Toggle Button */
.coop-dark-mode-toggle {
    position: relative;
}

.coop-dark-mode-toggle__icon {
    position: relative;
    display: inline-block;
    width: 18px;
    height: 18px;
}

.coop-dark-mode-toggle__icon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.coop-dark-mode-toggle__icon-moon {
    display: block;
}

.coop-dark-mode-toggle__icon-sun {
    display: none;
}

/* Wenn Dark Mode aktiv ist - wird durch JavaScript gesteuert */
body.coop-dark-mode-manual .coop-dark-mode-toggle__icon-moon,
body.coop-dark-area:not(.coop-dark-mode-manual) .coop-dark-mode-toggle__icon-moon {
    display: none !important;
}

body.coop-dark-mode-manual .coop-dark-mode-toggle__icon-sun,
body.coop-dark-area:not(.coop-dark-mode-manual) .coop-dark-mode-toggle__icon-sun {
    display: block !important;
}

/* Dark Mode Toggle - Button-spezifische Anpassungen */
.coop-site-header__mobile-dark-toggle {
    text-align: left;
    border: none;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
}

.coop-site-header__account,
.coop-site-header__cart {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: var(--coop-text-secondary);
    transition: var(--coop-transition);
    border: 1px solid transparent;
}
.coop-site-header__account:hover,
.coop-site-header__account:focus-visible,
.coop-site-header__cart:hover,
.coop-site-header__cart:focus-visible {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    background: var(--coop-accent-overlay-12);
}
.coop-site-header__icon-btn.coop-site-header__account,
.coop-site-header__icon-btn.coop-site-header__cart {
    /* Runde Icon-Buttons wie Suche/DarkMode */
    padding: 0;
    width: 40px;
    height: 40px;
    border-radius: 999px;
    border: 1px solid var(--coop-border);
    color: var(--coop-text-secondary);
    background: var(--coop-bg-secondary-overlay-90);
}
.coop-site-header__icon-btn.coop-site-header__account:hover,
.coop-site-header__icon-btn.coop-site-header__account:focus-visible,
.coop-site-header__icon-btn.coop-site-header__cart:hover,
.coop-site-header__icon-btn.coop-site-header__cart:focus-visible {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 40%, transparent);
    background: var(--coop-accent-overlay-12);
}
.coop-site-header__cart {
    position: relative;
    padding-right: 22px;
}
.coop-site-header__cart-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 22px;
    height: 22px;
    border-radius: 999px;
    background: var(--coop-accent);
    color: var(--coop-button-text, #ffffff);
    font-size: var(--coop-font-xs);
    font-weight: 700;
}
.coop-site-header__cart-label {
    font-size: var(--coop-font-md);
}
.coop-site-header__mobile-toggle {
    display: none;
    position: relative;
    width: 44px;
    height: 44px;
    border: 1px solid var(--coop-border-light);
    border-radius: 50%;
    background: transparent;
    cursor: pointer;
    padding: 10px;
    transition: var(--coop-transition);
    margin-left: auto;
    margin-right: 0;
}
.coop-site-header__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: var(--coop-spacing-sm);
}
.coop-site-header__actions .coop-site-header__mobile-toggle {
    margin-left: auto;
    margin-right: 0;
    order: 999; /* Ganz nach rechts */
    position: relative;
    z-index: 100001 !important; /* Über der Sidebar (100000) */
}
.coop-site-header__mobile-toggle span {
    position: absolute;
    left: 50%;
    width: 18px;
    height: 2px;
    background: var(--coop-text-primary);
    transform: translateX(-50%);
    transition: transform var(--coop-transition), opacity var(--coop-transition);
}
.coop-site-header__mobile-toggle span:nth-child(1) { top: 14px; }
.coop-site-header__mobile-toggle span:nth-child(2) { top: 21px; }
.coop-site-header__mobile-toggle span:nth-child(3) { top: 28px; }
.coop-site-header__mobile-toggle[aria-expanded="true"] span:nth-child(1) {
    transform: translateX(-50%) rotate(45deg);
    top: 21px;
}
.coop-site-header__mobile-toggle[aria-expanded="true"] span:nth-child(2) {
    opacity: 0;
}
.coop-site-header__mobile-toggle[aria-expanded="true"] span:nth-child(3) {
    transform: translateX(-50%) rotate(-45deg);
    top: 21px;
}
.coop-site-header__search-panel {
    position: absolute;
    inset: auto 0 auto 0;
    top: calc(100% + 8px);
    margin: 0 auto;
    width: min(680px, calc(100% - 32px));
    background: var(--coop-bg-primary);
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-xl);
    box-shadow: 0 24px 52px rgba(9, 12, 38, 0.18);
    padding: var(--coop-spacing-xl) var(--coop-spacing-lg);
    display: flex;
    justify-content: center;
    transition: var(--coop-transition-slow);
    opacity: 0;
    transform: translateY(-12px);
    pointer-events: none;
}
.coop-site-header__search-panel form {
    width: 100%;
    display: flex;
    gap: var(--coop-spacing-sm);
    align-items: center;
}
.coop-site-header__search-panel input[type="search"] {
    flex: 1;
    padding: 14px 18px;
    border-radius: var(--coop-radius-lg);
    border: 1px solid var(--coop-border-light);
    background: var(--coop-bg-secondary);
    font-size: var(--coop-font-lg);
    color: var(--coop-text-primary);
    transition: var(--coop-transition);
}
.coop-site-header__search-panel input[type="search"]:focus {
    outline: none;
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}
.coop-site-header__search-panel button {
    padding: 14px 20px;
    border-radius: var(--coop-radius-lg);
    border: none;
    background: var(--coop-button-surface, var(--coop-accent));
    color: var(--coop-button-text, #ffffff);
    font-weight: 600;
    font-size: var(--coop-font-md);
    cursor: pointer;
    transition: var(--coop-transition);
}
.coop-site-header__search-panel button:hover,
.coop-site-header__search-panel button:focus-visible {
    background: var(--coop-button-surface-hover, var(--coop-accent-hover));
}
.coop-site-header__search-panel.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: all;
}

/* Kompaktere Shop-Suchleiste: nur noch der innere Kasten sichtbar */
.coop-site-header__search-panel {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}
.coop-site-header__search-panel form {
	display: block;
}
.coop-header-search-box {
	position: relative;
	display: flex;
	align-items: center;
	background: var(--coop-surface, #fff);
	border: 1px solid var(--coop-border, rgba(0,0,0,.12));
	border-radius: var(--coop-radius-xl, 14px);
	/* Minimale Höhe */
	min-height: 48px;
}
.coop-header-search-box input[type="search"] {
	flex: 1;
	border: none;
	outline: none;
	background: transparent;
	box-shadow: none;
	padding: 12px 90px 12px 16px; /* Platz rechts für Clear-Button (48px) + Submit-Button (36px + 6px) */
	color: var(--coop-text-primary);
}
.coop-header-search-box input[type="search"]::placeholder {
	color: var(--coop-text-secondary, #888);
}
.coop-header-search-clear {
	position: absolute;
	right: 48px; /* Platz für Submit-Button (36px + 6px margin) */
	top: 50%;
	transform: translateY(-50%);
	width: 28px;
	height: 28px;
	display: none; /* standardmäßig versteckt, wird per JS/Input-Event angezeigt */
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	border: none;
	cursor: pointer;
	color: var(--coop-text-secondary, #888);
	background: transparent;
	transition: var(--coop-transition, all .2s ease);
	opacity: 0.7;
}
.coop-header-search-clear:hover,
.coop-header-search-clear:focus-visible {
	opacity: 1;
	color: var(--coop-text-primary, #1a1a1a);
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
}
.coop-header-search-clear svg {
	width: 16px;
	height: 16px;
	display: block;
}
.coop-header-search-submit {
	position: absolute;
	right: 6px;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	border: none;
	cursor: pointer;
	color: var(--coop-button-foreground, #fff);
	background: var(--coop-button-surface, var(--coop-accent));
	transition: var(--coop-transition, all .2s ease);
}
.coop-header-search-submit:hover,
.coop-header-search-submit:focus-visible {
	background: var(--coop-button-surface-hover, var(--coop-accent-hover));
}

/* Such-Lupe: keine Sprung-/Scale-Animation beim Hover/Klick */
.coop-header-search-submit,
.coop-header-search-submit:hover,
.coop-header-search-submit:active,
.coop-header-search-submit:focus-visible {
	transform: translateY(-50%) !important; /* nur zentrieren, keine zusätzliche Bewegung */
	box-shadow: none !important;
}

/* Dark Mode Anpassungen */
.coop-dark-area .coop-header-search-box {
	background: var(--coop-surface, #111);
	border-color: var(--coop-border, rgba(255,255,255,.12));
}
.coop-dark-area .coop-header-search-box input[type="search"] {
	color: var(--coop-text-primary, #f5f5f5);
}
.coop-dark-area .coop-header-search-box input[type="search"]::placeholder {
	color: var(--coop-text-secondary, #aaa);
}
.coop-dark-area .coop-header-search-clear {
	color: var(--coop-text-secondary, #aaa);
}
.coop-dark-area .coop-header-search-clear:hover,
.coop-dark-area .coop-header-search-clear:focus-visible {
	color: var(--coop-text-primary, #f5f5f5);
	background: color-mix(in srgb, var(--coop-bg-tertiary) 80%, rgba(255, 255, 255, 0.1) 20%);
}
/* Mobile Sidebar Panel - Positionierung genau wie Astra */
/* Mobile Panel nicht mehr verwendet - komplett ausblenden */
.coop-site-header__mobile-panel {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.coop-site-header__mobile-panel[hidden] {
    display: none !important;
}
.coop-site-header__mobile-panel.is-open {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: all !important;
    transform: translateX(0) !important;
    background: transparent !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
}
body.coop-dark-area .coop-site-header__mobile-panel {
    background: transparent !important;
}
body.coop-dark-area .coop-site-header__mobile-panel.is-open {
    background: transparent !important;
}
.coop-site-header__mobile-inner {
    width: 100% !important;
    background: var(--coop-bg-primary, #ffffff) !important;
    height: 100% !important;
    min-height: 100% !important;
    padding: var(--coop-spacing-xl) var(--coop-spacing-xl);
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md);
    border-left: 1px solid var(--coop-border);
    box-shadow: -24px 0 48px rgba(0, 0, 0, 0.15);
    overflow-y: auto;
    overflow-x: hidden;
}

/* Mobile Menu Header mit Schließen-Button */
body.coop-dark-area .coop-site-header__mobile-inner {
    background: #000000 !important;
    box-shadow: -24px 0 48px rgba(0, 0, 0, 0.5) !important;
}
.coop-site-header__nav-mobile {
    margin-top: calc(44px + var(--coop-spacing-lg)) !important; /* Platz für Hamburger-Button (44px) + Abstand */
    padding-top: 0;
}

.coop-site-header__nav-mobile ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: grid;
    gap: var(--coop-spacing-md);
}
/* Mobile Menu Items: Nur Text, linksbündig */
.coop-site-header__nav-mobile a {
    display: inline-flex !important;
    justify-content: flex-start !important;
    align-items: center !important;
    padding: var(--coop-spacing-md) !important;
    border-radius: var(--coop-radius-lg) !important;
    text-decoration: none !important;
    color: var(--coop-text-primary) !important;
    font-family: "Inter", "Manrope", "Segoe UI", -apple-system, BlinkMacSystemFont, sans-serif !important;
    font-weight: 600 !important;
    font-size: var(--coop-font-lg) !important;
    line-height: 1.5 !important;
    background: var(--coop-bg-secondary) !important;
    border: 1px solid transparent !important;
    transition: var(--coop-transition) !important;
    width: 100% !important;
    cursor: pointer !important;
    box-sizing: border-box !important;
    margin: 0 !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
    text-align: left !important;
}

.coop-site-header__nav-mobile a:hover,
.coop-site-header__nav-mobile a:focus-visible {
    border-color: var(--coop-accent);
    background: var(--coop-accent-overlay-12);
    color: var(--coop-text-primary);
}

body.coop-dark-area .coop-site-header__nav-mobile a {
    background: var(--coop-bg-secondary-overlay-90);
    border: 1px solid color-mix(in srgb, var(--coop-border) 60%, transparent);
}

body.coop-dark-area .coop-site-header__nav-mobile a:hover,
body.coop-dark-area .coop-site-header__nav-mobile a:focus-visible {
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent);
}
/* Mobile Actions: Icons nebeneinander */
.coop-site-header__mobile-actions {
    margin-top: var(--coop-spacing-lg);
    padding-top: var(--coop-spacing-lg);
    border-top: 1px solid var(--coop-border);
}

.coop-mobile-actions-icons {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--coop-spacing-md);
    flex-wrap: wrap;
}

/* Mobile Icon Buttons - nur Icons, nebeneinander */
.coop-mobile-icon-btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 44px !important;
    height: 44px !important;
    border-radius: 50% !important;
    border: 1px solid var(--coop-border-light) !important;
    background: var(--coop-bg-secondary) !important;
    color: var(--coop-text-primary) !important;
    text-decoration: none !important;
    cursor: pointer !important;
    transition: var(--coop-transition) !important;
    position: relative !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.coop-mobile-icon-btn:hover,
.coop-mobile-icon-btn:focus-visible {
    border-color: var(--coop-accent) !important;
    background: var(--coop-accent-overlay-12) !important;
    color: var(--coop-accent) !important;
}

.coop-mobile-icon-btn.is-active {
    border-color: var(--coop-accent) !important;
    background: var(--coop-accent-overlay-12) !important;
    color: var(--coop-accent) !important;
}

body.coop-dark-area .coop-mobile-icon-btn {
    background: var(--coop-bg-secondary-overlay-90) !important;
    border-color: color-mix(in srgb, var(--coop-border) 60%, transparent) !important;
}

body.coop-dark-area .coop-mobile-icon-btn:hover,
body.coop-dark-area .coop-mobile-icon-btn:focus-visible {
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent) !important;
}

/* Icons in Mobile Icon Buttons */
.coop-mobile-icon-btn svg,
.coop-mobile-icon-btn .coop-dark-mode-toggle__icon {
    width: 20px;
    height: 20px;
    display: block;
}

.coop-mobile-icon-btn .coop-dark-mode-toggle__icon {
    position: relative;
}

.coop-mobile-icon-btn .coop-dark-mode-toggle__icon svg {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

/* Cart Badge in Mobile Icon Button */
.coop-mobile-icon-btn .coop-site-header__cart-count {
    position: absolute;
    top: -4px;
    right: -4px;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--coop-accent);
    color: #fff;
    font-size: 11px;
    font-weight: 700;
    line-height: 18px;
    text-align: center;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

/* Alte Mobile Action Styles entfernt - jetzt nur noch Icon-Buttons */

/* Mobile Dark Mode Toggle - sichtbar nur im Mobile-Menü */
@media (min-width: 1025px) {
    .coop-site-header__mobile-dark-toggle {
        display: none;
    }
}
.coop-site-header__search--mobile {
    flex-direction: column;
    align-items: stretch;
    padding: var(--coop-spacing-md);
    background: var(--coop-bg-secondary);
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-lg);
}
body.coop-dark-area .coop-site-header__search--mobile {
    background: color-mix(in srgb, var(--coop-bg-secondary) 94%, transparent);
    border: 1px solid color-mix(in srgb, var(--coop-border) 60%, transparent);
}
.coop-site-header__search--mobile .coop-site-header__search-input {
    padding: var(--coop-spacing-sm);
}
.coop-site-header__search--mobile .coop-site-header__search-submit {
    width: 100%;
    margin-top: var(--coop-spacing-sm);
}

@media (max-width: 1200px) {
    .coop-site-header__inner {
        gap: var(--coop-spacing-lg);
    }
    .coop-site-header__menu {
        gap: var(--coop-spacing-md);
    }
    .coop-site-header__search {
        min-width: 220px;
    }
}

@media (max-width: 1024px) {
    
    .coop-site-header {
        position: sticky;
        top: 0;
    }
    .coop-site-header__nav {
        display: none;
    }
    .coop-site-header__search-panel {
        display: none;
    }
    .coop-site-header__actions {
        gap: var(--coop-spacing-xs);
    }
    .coop-site-header__inner {
        grid-template-columns: 1fr auto; /* Logo links, Actions rechts */
    }
    .coop-site-header__nav {
        display: none; /* Navigation auf Mobile ausblenden */
    }
    .coop-site-header__account,
    .coop-site-header__cart {
        padding: 8px 12px;
        font-size: var(--coop-font-sm);
    }
    /* Icon-Buttons auf Mobile sichtbar machen */
    .coop-site-header__icon-btn {
        display: inline-flex;
        padding: 8px; /* Kompakter auf Mobile */
        min-width: 40px;
        min-height: 40px;
    }
    /* Mobile Toggle Button komplett ausblenden */
    .coop-site-header__mobile-toggle {
        display: none !important;
    }
    .coop-site-header__actions {
        justify-content: flex-end; /* Alles nach rechts */
    }
}

@media (min-width: 1025px) {
    .coop-site-header__mobile-toggle {
        display: none !important;
    }
    .coop-site-header__mobile-panel {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .coop-site-header__mobile-panel.is-open {
        display: none !important;
        visibility: hidden !important;
        opacity: 0 !important;
        pointer-events: none !important;
    }
    .coop-site-header__nav {
        display: block !important;
    }
}

@media (max-width: 768px) {
    .coop-site-header__inner {
        padding: 0 var(--coop-spacing-lg);
    }
    .coop-site-header__inner {
        gap: var(--coop-spacing-md);
    }
    .coop-site-header__brand {
        flex: 1;
    }
    
    /* Padding für Cards im Mobile-Modus halbieren (nach innen gerichtetes Padding) */
    .coop-card {
        padding: calc(var(--coop-spacing-xl) / 2) !important;
    }
    
    /* Padding für primary-content */
    .site-main,
    #primary-content {
        padding: 3.5%;
    }
}




/* ============================================
   UI COMPONENTS
   ============================================ */
/* CoopPrint Theme - UI Components */
/* Cards, Formulare, Tabellen und allgemeine UI-Komponenten */

/* Cards & Boxes */
.coop-card,
.coop-stat-box,
.coop-info-box,
.coop-address-block {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border-light, var(--coop-border));
    border-radius: var(--coop-radius-2xl);
    padding: var(--coop-spacing-xl);
    transition: var(--coop-transition);
    position: relative;
    overflow: hidden;
    box-shadow: 0 18px 36px rgba(35, 34, 102, 0.08), 0 3px 12px rgba(35, 34, 102, 0.04);
}
body.coop-dark-area .coop-card,
body.coop-dark-area .coop-stat-box,
body.coop-dark-area .coop-info-box,
body.coop-dark-area .coop-address-block {
    box-shadow: 0 22px 38px rgba(5, 7, 22, 0.58), inset 0 1px 0 rgba(148, 163, 255, 0.04);
}
.coop-card::before,
.coop-stat-box::before,
.coop-info-box::before,
.coop-address-block::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 18%, transparent) 0%, transparent 65%);
    opacity: 0.15;
    transition: opacity var(--coop-transition);
}
body.coop-dark-area .coop-card::before,
body.coop-dark-area .coop-stat-box::before,
body.coop-dark-area .coop-info-box::before,
body.coop-dark-area .coop-address-block::before {
    opacity: 0.25;
}
.coop-address-block {
    padding: var(--coop-spacing-md);
}
.coop-card:hover,
.coop-stat-box:hover,
.coop-address-block:hover {
    border-color: var(--coop-accent);
    box-shadow: 0 22px 50px rgba(35, 34, 102, 0.12), 0 6px 16px rgba(35, 34, 102, 0.08);
    /* transform: translateY entfernt für bessere Button-Zielbarkeit */
}
body.coop-dark-area .coop-card:hover,
body.coop-dark-area .coop-stat-box:hover,
body.coop-dark-area .coop-address-block:hover {
    background: color-mix(in srgb, var(--coop-bg-box, var(--coop-bg-secondary)) 88%, var(--coop-accent) 12%);
    box-shadow: 0 32px 46px rgba(5, 7, 22, 0.7), inset 0 1px 0 rgba(148, 163, 255, 0.08);
    /* transform: translateY entfernt für bessere Button-Zielbarkeit */
}
.coop-card:hover::before,
.coop-stat-box:hover::before,
.coop-info-box:hover::before,
.coop-address-block:hover::before {
    opacity: 0.3;
}
body.coop-dark-area .coop-card:hover::before,
body.coop-dark-area .coop-stat-box:hover::before,
body.coop-dark-area .coop-info-box:hover::before,
body.coop-dark-area .coop-address-block:hover::before {
    opacity: 0.35;
}
.coop-card h3,
.coop-card h4 {
    margin: 0 0 var(--coop-spacing-md) 0;
    font-size: var(--coop-font-xl);
    color: var(--coop-text-primary) !important;
    font-weight: 700;
    letter-spacing: -0.3px;
}
.coop-card h3 {
    font-size: var(--coop-font-2xl);
    font-weight: 600;
}
.coop-info-box h4 {
    font-size: var(--coop-font-md);
    font-weight: 600;
    letter-spacing: 0.5px;
}
.coop-stat-box h4 {
    color: var(--coop-text-muted);
    font-size: var(--coop-font-sm);
    font-weight: 600;
    letter-spacing: 0.5px;
}

/* Card Header & Content */
.coop-card-header {
    padding: var(--coop-spacing-lg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--coop-bg-box, var(--coop-bg-tertiary));
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
    transition: background var(--coop-transition);
}
.coop-card-header:hover {
    background: var(--coop-bg-tertiary);
}
.coop-card-header h4 {
    margin: 0;
    font-size: var(--coop-font-lg);
    font-weight: 600;
}
.coop-card .coop-card-header {
    margin: calc(var(--coop-spacing-lg) * -1) calc(var(--coop-spacing-lg) * -1) var(--coop-spacing-md);
    background: transparent;
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
    padding-bottom: var(--coop-spacing-md);
}
.coop-card .coop-card-header:hover {
    background: transparent;
    border-bottom-color: var(--coop-accent);
}
.coop-toggle-icon {
    font-size: 20px;
    color: var(--coop-text-secondary);
    transition: transform var(--coop-transition-slow);
    user-select: none;
    display: inline-block;
}
.coop-card.expanded .coop-toggle-icon,
.coop-card-header.active .coop-toggle-icon,
.coop-collapsible-header.active .coop-toggle-icon {
    transform: rotate(180deg);
}
.coop-card-content {
    max-height: 0;
    overflow: hidden;
    transition: max-height var(--coop-transition-slow);
    background: transparent;
    padding: 0 !important;
}
.coop-card.expanded .coop-card-content,
.coop-card-content.active {
    max-height: 5000px;
}
.coop-card.expanded .coop-card-content {
    padding: 0 var(--coop-spacing-lg) var(--coop-spacing-lg) !important;
}
.coop-collapsible-header + .coop-card-content {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border);
    border-top: none;
    border-radius: 0 0 var(--coop-radius-lg) var(--coop-radius-lg);
    padding: 0 !important;
}
.coop-card-body {
    padding: var(--coop-spacing-lg);
    color: var(--coop-text-primary);
}
.coop-card-body p {
    color: var(--coop-text-primary);
    margin: 0 0 var(--coop-spacing-md) 0;
    line-height: 1.6;
}
.coop-card-body p:last-child {
    margin-bottom: 0;
}
.coop-card-body ul,
.coop-card-body ol {
    color: var(--coop-text-secondary);
    margin: var(--coop-spacing-sm) 0 var(--coop-spacing-md) 0;
    padding-left: 20px;
}
.coop-card-body li {
    color: var(--coop-text-secondary);
    margin-bottom: var(--coop-spacing-xs);
    line-height: 1.6;
}
.coop-card-form {
    padding: 0;
}
.coop-card-form .coop-section {
    margin-bottom: var(--coop-spacing-md);
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    border-radius: 0 !important;
}
.coop-card-form .coop-section:last-child {
    margin-bottom: 0;
}
.coop-card-form .coop-section label {
    font-size: var(--coop-font-sm);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-card-form .coop-section input,
.coop-card-form .coop-section select {
    padding: 8px 12px;
    font-size: var(--coop-font-base);
}

/* Sections & Forms */
.coop-section {
    margin-bottom: var(--coop-spacing-2xl);
}
.coop-section:last-child {
    margin-bottom: 0;
}
.coop-section label {
    display: block;
    margin-bottom: var(--coop-spacing-xs);
    font-weight: 600;
    color: var(--coop-text-primary);
    font-size: var(--coop-font-lg);
    text-transform: none;
    letter-spacing: 0;
    line-height: 1.5;
}
.coop-section small {
    display: block;
    margin-top: var(--coop-spacing-xs);
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-md);
    line-height: 1.4;
}
.coop-section.coop-card {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border-light, var(--coop-border));
    border-radius: var(--coop-radius-xl);
    padding: var(--coop-spacing-lg);
    margin-bottom: var(--coop-spacing-lg);
}
.coop-card .coop-section:not(.coop-card) {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin-bottom: var(--coop-spacing-md);
}

/* Inputs */
.coop-section input[type="text"],
.coop-section input[type="email"],
.coop-section input[type="tel"],
.coop-section input[type="number"],
.coop-section input[type="search"],
.coop-section select,
.coop-section textarea,
.coop-form-input,
.coop-form-select,
.coop-form-textarea,
.coop-dashboard-controls input[type="search"],
.coop-dashboard-controls select,
.coop-readonly,
.coop-formula {
    width: 100%;
    max-width: 100%;
    padding: 14px 18px;
    background: var(--coop-bg-primary) !important;
    border: 1px solid var(--coop-border-light, var(--coop-border)) !important;
    border-radius: var(--coop-radius-xl);
    font-size: var(--coop-font-lg);
    font-weight: 500;
    color: var(--coop-text-primary) !important;
    transition: var(--coop-transition);
    font-family: inherit;
    box-sizing: border-box;
    box-shadow: 0 1px 3px rgba(24, 26, 52, 0.08);
}
body.coop-dark-area .coop-section input[type="text"],
body.coop-dark-area .coop-section input[type="email"],
body.coop-dark-area .coop-section input[type="tel"],
body.coop-dark-area .coop-section input[type="number"],
body.coop-dark-area .coop-section input[type="search"],
body.coop-dark-area .coop-section select,
body.coop-dark-area .coop-section textarea,
body.coop-dark-area .coop-form-input,
body.coop-dark-area .coop-form-select,
body.coop-dark-area .coop-form-textarea,
body.coop-dark-area .coop-dashboard-controls input[type="search"],
body.coop-dark-area .coop-dashboard-controls select,
body.coop-dark-area .coop-readonly,
body.coop-dark-area .coop-formula {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03), 0 14px 28px rgba(5, 7, 22, 0.35);
}
.coop-section input:hover,
.coop-section select:hover,
.coop-section textarea:hover,
.coop-form-input:hover,
.coop-form-select:hover,
.coop-form-textarea:hover,
.coop-dashboard-controls input[type="search"]:hover,
.coop-dashboard-controls select:hover {
    border-color: var(--coop-accent) !important;
    box-shadow: 0 6px 16px rgba(24, 26, 52, 0.08);
}
body.coop-dark-area .coop-section input:hover,
body.coop-dark-area .coop-section select:hover,
body.coop-dark-area .coop-section textarea:hover,
body.coop-dark-area .coop-form-input:hover,
body.coop-dark-area .coop-form-select:hover,
body.coop-dark-area .coop-form-textarea:hover,
body.coop-dark-area .coop-dashboard-controls input[type="search"]:hover,
body.coop-dark-area .coop-dashboard-controls select:hover {
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.06), 0 18px 36px rgba(5, 7, 22, 0.48);
}
.coop-section input:focus,
.coop-section select:focus,
.coop-section textarea:focus,
.coop-form-input:focus,
.coop-form-select:focus,
.coop-form-textarea:focus,
.coop-dashboard-controls input[type="search"]:focus,
.coop-dashboard-controls select:focus {
    outline: none !important;
    border-color: var(--coop-accent) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--coop-accent) 15%, transparent) !important;
}
body.coop-dark-area .coop-section input:focus,
body.coop-dark-area .coop-section select:focus,
body.coop-dark-area .coop-section textarea:focus,
body.coop-dark-area .coop-form-input:focus,
body.coop-dark-area .coop-form-select:focus,
body.coop-dark-area .coop-form-textarea:focus,
body.coop-dark-area .coop-dashboard-controls input[type="search"]:focus,
body.coop-dark-area .coop-dashboard-controls select:focus {
    box-shadow: 0 0 0 3px color-mix(in srgb, rgba(99, 107, 255, 0.55) 35%, transparent) !important;
}
.coop-section input:disabled,
.coop-section select:disabled,
.coop-section textarea:disabled,
.coop-form-input:disabled,
.coop-form-select:disabled,
.coop-form-textarea:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}
.coop-readonly {
    display: inline-block;
    min-width: 80px;
    text-align: right;
    font-weight: 700;
    font-size: var(--coop-font-xl);
    font-variant-numeric: tabular-nums;
}
.coop-formula {
    padding: var(--coop-spacing-sm);
    margin: var(--coop-spacing-xs) 0;
    font-family: 'Courier New', monospace;
    font-size: var(--coop-font-sm);
    overflow-x: auto;
}

/* Tabbar */
.coop-tabbar {
    display: flex;
    gap: var(--coop-spacing-xs, 6px);
    background: var(--coop-bg-box, #ffffff);
    border: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.08));
    border-radius: var(--coop-radius-xl, 16px);
    padding: var(--coop-spacing-xs, 6px);
}
.coop-tab-btn {
    flex: 1;
    border: none;
    background: transparent;
    padding: var(--coop-spacing-sm, 10px) var(--coop-spacing-md, 16px);
    border-radius: var(--coop-radius-lg, 12px);
    font-weight: 600;
    font-size: var(--coop-font-md, 14px);
    color: var(--coop-text-secondary, #4b4f6b);
    cursor: pointer;
    transition: var(--coop-transition, all 0.2s ease);
}
.coop-tab-btn:hover {
    background: var(--coop-bg-tertiary, #eef1ff);
    color: var(--coop-accent, #3537e3);
}
.coop-tab-btn.is-active {
    background: var(--coop-bg-primary, #f5f7ff);
    color: var(--coop-text-primary, #181a34);
    box-shadow: inset 0 0 0 1px var(--coop-border-light, rgba(24, 26, 52, 0.12));
}
.coop-tab-panel {
    display: none;
}
.coop-tab-panel.is-active {
    display: block;
    animation: coopFadeIn 0.2s ease;
}

.coop-section input[type="number"],
.coop-section input[type="text"],
.coop-section select {
    max-width: 200px;
}
.coop-form-textarea {
    font-weight: 500;
    resize: vertical;
    min-height: 300px;
    max-height: 800px;
    overflow-y: auto;
    line-height: 1.6;
}

/* Collapsible */
.coop-collapsible-header {
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-lg);
    padding: var(--coop-spacing-lg);
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: var(--coop-bg-box, var(--coop-bg-tertiary));
    transition: background var(--coop-transition);
    color: var(--coop-text-primary);
}
.coop-collapsible-header:hover {
    border-color: var(--coop-accent);
    background: var(--coop-bg-tertiary);
}
.coop-collapsible-header h4 {
    margin: 0;
    font-size: var(--coop-font-lg);
    font-weight: 600;
    color: var(--coop-text-primary);
    flex: 1;
}
.coop-collapsible-header .coop-toggle-icon {
    flex-shrink: 0;
    margin-left: var(--coop-spacing-md);
    color: var(--coop-text-secondary);
}
.coop-collapsible-inner {
    padding: var(--coop-spacing-md);
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border);
    border-top: none;
    border-radius: 0 0 var(--coop-radius-lg) var(--coop-radius-lg);
}

/* Page Header */
.coop-page-header {
    margin-bottom: var(--coop-spacing-3xl);
    padding-bottom: var(--coop-spacing-xl);
    text-align: left;
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}
.coop-page-header h2 {
    margin: 0 0 var(--coop-spacing-sm) 0;
    font-size: var(--coop-font-3xl);
    font-weight: 700;
    color: var(--coop-text-primary);
    letter-spacing: -0.4px;
}
.coop-page-header p {
    margin: 0;
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-lg);
    line-height: 1.7;
}

/* Input Validation */
.coop-section input.valid,
.coop-section input.username-valid {
    border-color: #10b981 !important;
    box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1) !important;
}
.coop-section input.invalid,
.coop-section input.username-invalid {
    border-color: #ef4444 !important;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1) !important;
}
.coop-section input.checking,
.coop-section input.username-checking {
    border-color: var(--coop-text-muted) !important;
}

/* Step Navigation */
.coop-step-nav {
    display: flex;
    gap: var(--coop-spacing-sm);
    margin-bottom: var(--coop-spacing-3xl);
    border-bottom: 1px solid var(--coop-border);
}
.coop-step-nav .step {
    flex: 1;
    padding: var(--coop-spacing-md) var(--coop-spacing-lg);
    text-align: center;
    border-bottom: 3px solid transparent;
    cursor: pointer;
    transition: var(--coop-transition);
    font-weight: 500;
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-base);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.coop-step-nav .step:hover {
    background: var(--coop-bg-secondary);
    color: var(--coop-text-primary);
}
.coop-step-nav .step.active {
    border-bottom-color: var(--coop-accent);
    color: var(--coop-accent);
    font-weight: 600;
}
.coop-step-content {
    padding: var(--coop-spacing-xl) 0;
}
.coop-step-content.hidden {
    display: none;
}
.coop-step-content h3 {
    margin: var(--coop-spacing-3xl) 0 var(--coop-spacing-2xl) 0;
    font-size: var(--coop-font-2xl);
    font-weight: 600;
    color: var(--coop-text-primary) !important;
}
.coop-step-content h3:first-child {
    margin-top: 0;
}

/* Dimension Group */
.coop-dimension-group {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--coop-spacing-lg);
    margin-bottom: var(--coop-spacing-xl);
}

/* Thumbnail Preview */
.coop-thumb-preview {
    display: flex;
    gap: var(--coop-spacing-md);
    flex-wrap: wrap;
    margin-top: var(--coop-spacing-md);
}
.coop-thumb-preview img {
    width: 100px;
    height: 100px;
    border-radius: var(--coop-radius-lg);
    object-fit: cover;
    border: 2px solid var(--coop-border);
}

/* Status Box */
.coop-3d-model-status,
.coop-status-box {
    margin-top: var(--coop-spacing-md);
    padding: var(--coop-spacing-md) var(--coop-spacing-lg);
    background: var(--coop-bg-secondary);
    border-left: 4px solid var(--coop-accent);
    border-radius: var(--coop-radius-md);
    font-size: var(--coop-font-base);
    color: var(--coop-text-primary) !important;
}
.coop-3d-model-status.error,
.coop-status-box.error {
    border-left-color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
}

/* Summary Box */
.coop-summary-box {
    background: var(--coop-bg-secondary);
    border: 1px solid var(--coop-border);
    padding: var(--coop-spacing-xl);
    border-radius: var(--coop-radius-lg);
    margin-top: var(--coop-spacing-xl);
}
.coop-summary-box table {
    width: 100%;
}
.coop-summary-box table td {
    padding: var(--coop-spacing-md) 0;
    color: var(--coop-text-primary) !important;
}
.coop-summary-box table td:last-child {
    text-align: right;
    font-weight: 600;
    font-variant-numeric: tabular-nums;
}
.coop-summary-box hr {
    border: none;
    border-top: 1px solid var(--coop-border);
    margin: var(--coop-spacing-md) 0;
}

/* Tables */
.coop-table {
    width: 100%;
    border-collapse: collapse;
}
.coop-table th {
    text-align: left;
    padding: var(--coop-spacing-sm);
    color: var(--coop-text-muted);
    font-size: var(--coop-font-sm);
    text-transform: uppercase;
    font-weight: 600;
    border-bottom: 1px solid var(--coop-border);
}
.coop-table td {
    padding: var(--coop-spacing-sm);
    color: var(--coop-text-secondary);
    font-size: var(--coop-font-md);
    border-bottom: 1px solid var(--coop-border);
}
.coop-table tr:hover {
    background: rgba(0, 0, 0, 0.02);
}
body.coop-dark-area .coop-table tr:hover {
    background: rgba(255, 255, 255, 0.02);
}

/* Stats */
.coop-stats-row {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: var(--coop-spacing-md);
    margin-bottom: var(--coop-spacing-xl);
}
.coop-stat-value,
.coop-big-stat-value {
    font-weight: 700;
    color: var(--coop-accent);
    line-height: 1;
    font-variant-numeric: tabular-nums;
}
.coop-stat-value {
    font-size: var(--coop-font-4xl);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-stat-label {
    font-size: var(--coop-font-md);
    color: var(--coop-text-secondary);
}
.coop-big-stat {
    text-align: center;
    padding: var(--coop-spacing-lg) 0;
}
.coop-big-stat-value {
    font-size: var(--coop-font-5xl);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-big-stat-label {
    color: var(--coop-text-muted);
    font-size: var(--coop-font-sm);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

/* Utility Blocks */
.coop-block-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: var(--coop-spacing-sm);
}
.coop-block-header h4 {
    margin: 0;
    font-size: var(--coop-font-lg);
    font-weight: 600;
    color: var(--coop-text-primary);
}
.coop-text-block {
    color: var(--coop-text-primary);
    line-height: 1.5;
    font-size: var(--coop-font-sm);
    margin-bottom: var(--coop-spacing-xs);
}
.coop-collapsible-form {
    margin-top: var(--coop-spacing-xl);
    display: none;
}
.coop-collapsible-form.active {
    display: block;
}

/* Error Message */
.error-msg {
    color: #ef4444 !important;
    margin-top: var(--coop-spacing-md);
    font-size: var(--coop-font-md);
    padding: var(--coop-spacing-md);
    background: rgba(239, 68, 68, 0.1);
    border-left: 3px solid #ef4444;
    border-radius: var(--coop-radius-md);
}

/* Form Spacing Utilities */
.coop-form-label + .coop-form-input,
.coop-form-label + .coop-form-select,
.coop-form-label + .coop-form-textarea {
    margin-top: var(--coop-spacing-sm);
    margin-bottom: var(--coop-spacing-xl);
}
.coop-form-input + .coop-form-label,
.coop-form-select + .coop-form-label {
    margin-top: var(--coop-spacing-3xl);
}
.coop-form-textarea {
    margin-top: var(--coop-spacing-sm);
    margin-bottom: 0;
}
.coop-auto-resize {
    transition: height 0.2s ease;
}
.coop-container.editor .coop-card h3 {
    margin-top: 0;
    margin-bottom: var(--coop-spacing-2xl);
    color: var(--coop-text-primary) !important;
}
.coop-container.editor .coop-form-input,
.coop-container.editor .coop-form-select {
    max-width: 500px;
}

/* Profit Box */
.coop-profit-box {
    display: none;
    margin-top: var(--coop-spacing-xl);
    padding: var(--coop-spacing-xl);
    background: var(--coop-bg-secondary);
    border: 1px solid var(--coop-border);
    border-radius: var(--coop-radius-lg);
}

@media (max-width: 768px) {
    .coop-dimension-group {
        grid-template-columns: 1fr;
        gap: var(--coop-spacing-md);
    }
    .coop-form-input,
    .coop-form-select,
    .coop-form-textarea {
        max-width: 100%;
    }
    .coop-container.editor .coop-form-input,
    .coop-container.editor .coop-form-select {
        max-width: 100%;
    }
}



/* ============================================
   UI AUTH & WOOCOMMERCE
   ============================================ */
/* CoopPrint Theme - UI Auth & WooCommerce */
/* Styles für Login/Registrierung, WooCommerce-Formulare und Konto-Navigation */

/* Auth Shell */
.coop-auth-shell {
    min-height: auto;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    background: #ffffff;
}
body.coop-dark-area .coop-auth-shell {
    background: #000000;
}
.coop-auth-surface {
    width: min(520px, 100%);
    background: var(--coop-bg-box, #ffffff);
    border-radius: 28px;
    border: none;
    box-shadow: 0 32px 80px rgba(24, 26, 52, 0.14), 0 8px 24px rgba(24, 26, 52, 0.08);
    padding: clamp(24px, 3.5vw, 36px);
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md, 16px);
    color: var(--coop-text-primary, #181a34);
}
body.coop-dark-area .coop-auth-surface {
    background: color-mix(in srgb, var(--coop-bg-box, rgba(20, 20, 22, 0.88)) 88%, rgba(255, 255, 255, 0.02) 12%);
    border-color: color-mix(in srgb, var(--coop-border-light, rgba(120, 120, 128, 0.5)) 65%, transparent);
    box-shadow: 0 32px 70px rgba(5, 7, 22, 0.75);
    color: var(--coop-text-primary, #f5f5f7) !important;
}
body.coop-dark-mode-manual .coop-auth-surface {
    background: color-mix(in srgb, var(--coop-bg-box, rgba(20, 20, 22, 0.88)) 88%, rgba(255, 255, 255, 0.02) 12%);
    border-color: color-mix(in srgb, var(--coop-border-light, rgba(120, 120, 128, 0.5)) 65%, transparent);
    box-shadow: 0 32px 70px rgba(5, 7, 22, 0.75);
    color: var(--coop-text-primary, #f5f5f7) !important;
}
.coop-auth-surface .woocommerce-notices-wrapper {
    margin: 0;
}
/* Fix für Input Felder im Dark Mode */
body.coop-dark-area .coop-field input[type="text"],
body.coop-dark-mode-manual .coop-field input[type="text"],
body.coop-dark-area .coop-field input[type="email"],
body.coop-dark-mode-manual .coop-field input[type="email"],
body.coop-dark-area .coop-field input[type="password"],
body.coop-dark-mode-manual .coop-field input[type="password"] {
    background: #1e2034 !important;
    border-color: #3537e3 !important;
    color: #ffffff !important;
}
.coop-auth-welcome {
    text-align: center;
    margin-bottom: 0;
    padding: 0 var(--coop-spacing-md, 16px);
    padding-bottom: 0;
}
.coop-auth-welcome h1,
.coop-auth-welcome h2 {
    margin: 0;
    margin-top: 0;
    margin-bottom: 0;
    padding-top: 0;
    padding-bottom: 0;
    font-size: var(--coop-font-3xl, 32px);
    font-weight: 700;
    letter-spacing: -0.5px;
    color: var(--coop-text-primary, #181a34);
    line-height: 1.2;
}
body.coop-dark-area .coop-auth-welcome h1,
body.coop-dark-area .coop-auth-welcome h2,
body.coop-dark-mode-manual .coop-auth-welcome h1,
body.coop-dark-mode-manual .coop-auth-welcome h2 {
    color: color-mix(in srgb, var(--coop-text-primary) 98%, rgba(255, 255, 255, 0.1) 2%);
}
.coop-auth-switch {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 4px;
    background: var(--coop-bg-primary, #f5f7ff);
    border-radius: 999px;
    padding: 3px;
    position: relative;
}
body.coop-dark-area .coop-auth-switch {
    background: color-mix(in srgb, var(--coop-bg-primary) 72%, rgba(255, 255, 255, 0.04) 28%);
}
.coop-auth-switch__btn {
    border: none;
    background: transparent;
    border-radius: 999px;
    padding: 9px 14px;
    font-weight: 600;
    font-size: var(--coop-font-md, 15px);
    color: var(--coop-text-secondary, #4b4f6b);
    cursor: pointer;
    transition: var(--coop-transition, all 0.2s ease);
    text-decoration: none !important;
}
body.coop-dark-area .coop-auth-switch__btn {
    color: color-mix(in srgb, var(--coop-text-secondary) 85%, rgba(255, 255, 255, 0.12) 15%);
}
.coop-auth-switch__btn:hover {
    color: var(--coop-accent, #3537e3);
    background: color-mix(in srgb, var(--coop-accent, #3537e3) 18%, white 82%);
}
body.coop-dark-area .coop-auth-switch__btn:hover {
    color: var(--coop-text-primary);
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent 82%);
}
.coop-auth-switch__btn.is-active {
    background: linear-gradient(135deg, var(--coop-accent, #3537e3), color-mix(in srgb, var(--coop-accent, #3537e3) 82%, white 18%));
    color: #ffffff;
    box-shadow: 0 16px 36px rgba(53, 55, 227, 0.26), 0 6px 14px rgba(53, 55, 227, 0.18);
}
body.coop-dark-area .coop-auth-switch__btn.is-active {
    box-shadow: 0 16px 28px rgba(53, 55, 227, 0.4);
}
.coop-auth-switch__btn.is-active:hover {
    filter: brightness(1.03);
}
.coop-auth-body {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md, 16px);
    padding: 0 var(--coop-spacing-sm, 12px);
}
.coop-auth-view {
    display: none;
    flex-direction: column;
    gap: var(--coop-spacing-sm, 12px);
    animation: coopFadeIn 0.25s ease;
}
.coop-auth-view.is-active {
    display: flex;
}
.coop-auth-view__head {
    text-align: left;
    margin-bottom: 6px;
}
.coop-auth-view__head h2 {
    margin: 0 0 6px;
    font-size: var(--coop-font-xl, 20px);
    font-weight: 600;
    color: var(--coop-text-primary, #181a34);
}
body.coop-dark-area .coop-auth-view__head h2 {
    color: color-mix(in srgb, var(--coop-text-primary) 96%, rgba(255, 255, 255, 0.08) 4%);
}
.coop-auth-view__head p {
    margin: 0;
    color: var(--coop-text-secondary, #4b4f6b);
    font-size: var(--coop-font-md, 14px);
}
body.coop-dark-area .coop-auth-view__head p {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.woocommerce-form-login,
.woocommerce-form-register,
.woocommerce-form {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
.coop-field {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-xs, 6px);
    margin-bottom: var(--coop-spacing-md, 16px);
}
.coop-field:last-child {
    margin-bottom: 0;
}
.coop-field label {
    font-size: var(--coop-font-md, 14px);
    font-weight: 600;
    color: var(--coop-text-primary, #181a34);
    display: block;
    line-height: 1.45;
}
body.coop-dark-area .coop-field label {
    color: color-mix(in srgb, var(--coop-text-primary) 96%, rgba(255, 255, 255, 0.08) 4%);
}
.coop-field input[type="text"],
.coop-field input[type="email"],
.coop-field input[type="password"] {
    width: 100%;
    padding: 14px 18px;
    border-radius: var(--coop-radius-xl, 18px);
    border: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.1));
    background: var(--coop-bg-primary, #f5f7ff);
    font-size: var(--coop-font-lg, 17px);
    transition: var(--coop-transition, all 0.2s ease);
    color: var(--coop-text-primary, #181a34);
}
body.coop-dark-area .coop-field input[type="text"],
body.coop-dark-area .coop-field input[type="email"],
body.coop-dark-area .coop-field input[type="password"] {
    background: color-mix(in srgb, rgba(30, 32, 52, 0.92) 90%, rgba(255, 255, 255, 0.05) 10%);
    border: 1px solid transparent;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}
.coop-field input[type="text"]:focus,
.coop-field input[type="email"]:focus,
.coop-field input[type="password"]:focus {
    border-color: var(--coop-accent, #3537e3);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent, #3537e3) 20%, transparent);
    outline: none;
}
body.coop-dark-area .coop-field input[type="text"]:focus,
body.coop-dark-area .coop-field input[type="email"]:focus,
body.coop-dark-area .coop-field input[type="password"]:focus {
    border-color: color-mix(in srgb, var(--coop-accent) 65%, rgba(132, 142, 255, 0.4) 35%);
    box-shadow: 0 0 0 3px color-mix(in srgb, rgba(99, 107, 255, 0.55) 35%, transparent);
}
.coop-field input::placeholder {
    color: color-mix(in srgb, var(--coop-text-muted, #7a81a6) 80%, transparent);
    opacity: 0.85;
}
body.coop-dark-area .coop-field input::placeholder {
    color: color-mix(in srgb, rgba(180, 185, 220, 0.75) 90%, transparent);
    opacity: 0.9;
}
.coop-optional {
    font-weight: 400;
    color: var(--coop-text-muted, #7a81a6);
    font-size: var(--coop-font-sm, 13px);
}
.coop-auth-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--coop-spacing-sm, 12px);
    font-size: var(--coop-font-sm, 13px);
    color: var(--coop-text-secondary, #4b4f6b);
    margin-top: var(--coop-spacing-sm, 12px);
    margin-bottom: var(--coop-spacing-lg, 20px);
}
body.coop-dark-area .coop-auth-actions {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.coop-auth-actions .coop-remember {
    margin-right: auto;
}
@media (max-width: 640px) {
    .coop-auth-actions {
        flex-direction: column;
        align-items: flex-start;
    }
    .coop-auth-actions .coop-remember {
        margin-right: 0;
    }
}
.coop-remember {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    cursor: pointer;
}
.coop-auth-link {
    color: var(--coop-accent, #3537e3);
    text-decoration: none;
    font-weight: 600;
}
body.coop-dark-area .coop-auth-link {
    color: color-mix(in srgb, rgba(147, 153, 255, 0.92) 85%, rgba(255, 255, 255, 0.12) 15%);
}
.coop-auth-link:hover {
    text-decoration: underline;
}
body.coop-dark-area .coop-auth-link:hover {
    color: color-mix(in srgb, rgba(170, 176, 255, 1) 92%, rgba(255, 255, 255, 0.18) 8%);
}
.coop-auth-card__separator {
    position: relative;
    text-align: center;
    margin: var(--coop-spacing-sm, 12px) 0;
    color: var(--coop-text-muted, #7a81a6);
    font-size: var(--coop-font-sm, 13px);
    letter-spacing: 0.3px;
    text-transform: uppercase;
}
body.coop-dark-area .coop-auth-card__separator {
    color: color-mix(in srgb, var(--coop-text-muted) 92%, rgba(200, 204, 255, 0.12) 8%);
}
.coop-auth-card__separator span {
    position: relative;
    padding: 0 12px;
    background: var(--coop-bg-box, #fff);
}
body.coop-dark-area .coop-auth-card__separator span {
    background: color-mix(in srgb, var(--coop-bg-box) 82%, rgba(255, 255, 255, 0.05) 18%);
}
.coop-auth-card__separator::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    border-top: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.12));
}
body.coop-dark-area .coop-auth-card__separator::before {
    background: linear-gradient(90deg, transparent 0%, rgba(120, 130, 210, 0.35) 40%, rgba(120, 130, 210, 0.35) 60%, transparent 100%);
}
.coop-auth-social {
    display: flex;
    gap: var(--coop-spacing-sm, 12px);
    flex-wrap: wrap;
    margin-bottom: 0;
    padding-bottom: 0;
}
.coop-auth-social__btn {
    flex: 1 1 200px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 13px 18px;
    border-radius: var(--coop-radius-xl, 16px);
    border: 1px solid var(--coop-border-light, rgba(24, 26, 52, 0.12));
    background: #fff;
    color: var(--coop-text-primary, #181a34);
    font-weight: 600;
    transition: var(--coop-transition, all 0.2s ease);
    text-decoration: none;
}
body.coop-dark-area .coop-auth-social__btn {
    border-color: color-mix(in srgb, rgba(120, 130, 210, 0.4) 28%, transparent);
    background: color-mix(in srgb, rgba(32, 34, 64, 0.92) 85%, rgba(255, 255, 255, 0.03) 15%);
}
.coop-auth-social__btn svg {
    width: 20px;
    height: 20px;
}
.coop-auth-social__btn:hover {
    border-color: var(--coop-accent, #3537e3);
    color: var(--coop-accent, #3537e3);
    box-shadow: 0 14px 32px rgba(35, 34, 102, 0.15);
}
body.coop-dark-area .coop-auth-social__btn:hover {
    background: color-mix(in srgb, rgba(42, 45, 76, 0.92) 90%, rgba(255, 255, 255, 0.05) 10%);
}
.coop-auth-social__btn.is-disabled {
    opacity: 0.5;
    pointer-events: none;
}
.coop-auth-agreements label {
    display: flex;
    gap: 12px;
    align-items: flex-start;
    font-weight: 500;
    color: var(--coop-text-secondary, #4b4f6b);
    font-size: var(--coop-font-md, 14px);
    margin-top: var(--coop-spacing-sm, 12px);
    margin-bottom: var(--coop-spacing-sm, 12px);
}
body.coop-dark-area .coop-auth-agreements label {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.coop-auth-agreements input[type="checkbox"] {
    margin-top: 4px;
    width: 18px;
    height: 18px;
}
.coop-auth-footnote {
    margin-top: var(--coop-spacing-sm, 12px);
    font-size: var(--coop-font-sm, 13px);
    color: var(--coop-text-muted, #7a81a6);
    line-height: 1.6;
    text-align: center;
}
body.coop-dark-area .coop-auth-footnote {
    color: color-mix(in srgb, var(--coop-text-secondary) 92%, rgba(196, 200, 255, 0.12) 8%);
}
.coop-auth-footnote + .coop-auth-footnote {
    margin-top: var(--coop-spacing-xs, 8px);
}
.coop-auth-footnote a {
    color: var(--coop-accent, #3537e3);
    text-decoration: none;
    font-weight: 600;
}
.coop-auth-footnote strong {
    color: var(--coop-text-primary, #181a34);
}
.coop-auth-footnote--hint {
    margin-top: 0;
}

/* My Account Sidebar - Float-basiert (wie Astra) - Funktioniert IMMER */
/* Clearfix für Floats - funktioniert auch ohne woocommerce-account Body-Class */
.woocommerce:has(.woocommerce-MyAccount-navigation),
.woocommerce-account .woocommerce,
body.woocommerce-account .woocommerce,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
    zoom: 1;
    width: 100% !important;
    display: block !important;
    overflow: hidden; /* Für Clearfix */
}
.woocommerce:has(.woocommerce-MyAccount-navigation)::after,
.woocommerce:has(.woocommerce-MyAccount-navigation)::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after,
body.woocommerce-account .woocommerce::before,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation)::after,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation)::before {
    content: ' ';
    display: table;
}
.woocommerce:has(.woocommerce-MyAccount-navigation)::after,
.woocommerce-account .woocommerce::after,
body.woocommerce-account .woocommerce::after,
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation)::after {
    clear: both;
}

/* Navigation Sidebar - Float Left (30% wie Astra) - Funktioniert IMMER */
.woocommerce-MyAccount-navigation,
.woocommerce .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-navigation,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
body.woocommerce-account .woocommerce-MyAccount-navigation,
.entry-content .woocommerce-MyAccount-navigation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: left !important;
    width: 30% !important;
    margin: 0 !important;
    padding: 0 !important;
    height: auto !important;
    position: relative !important;
}

/* Content - Float Right (68% wie Astra) - Funktioniert IMMER */
.woocommerce-MyAccount-content,
.woocommerce .woocommerce-MyAccount-content,
.woocommerce-account .woocommerce-MyAccount-content,
body.woocommerce-account .woocommerce-MyAccount-content,
.entry-content .woocommerce-MyAccount-content {
    float: right !important;
    width: 68% !important;
}

/* ================================================ */
/* KRITISCH: My Account Sidebar - HÖCHSTE PRIORITÄT */
/* Diese Regeln MÜSSEN greifen - direkt hier im style.css */
/* ================================================ */

/* ALLE MÖGLICHEN SELEKTOREN - Sollte DEFINITIV greifen */
nav.woocommerce-MyAccount-navigation,
.woocommerce nav.woocommerce-MyAccount-navigation,
.entry-content nav.woocommerce-MyAccount-navigation,
.entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
.site-main .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
.site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
body .site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
body .entry-content .woocommerce .woocommerce-MyAccount-navigation,
#primary-content .entry-content .woocommerce .woocommerce-MyAccount-navigation,
#primary-content .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
article .entry-content .woocommerce .woocommerce-MyAccount-navigation,
article .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
[class*="post-"] .entry-content .woocommerce .woocommerce-MyAccount-navigation {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    float: left !important;
    width: 30% !important;
    max-width: 30% !important;
    min-width: 200px !important;
    margin: 0 !important;
    padding: 0 !important;
    margin-right: 2% !important;
    height: auto !important;
    min-height: 100px !important;
    position: relative !important;
    z-index: 10 !important;
}

/* Content Float Right */
.woocommerce .woocommerce-MyAccount-content,
.entry-content .woocommerce .woocommerce-MyAccount-content,
.site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
body .site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
#primary-content .entry-content .woocommerce .woocommerce-MyAccount-content,
article .entry-content .woocommerce .woocommerce-MyAccount-content {
    float: right !important;
    width: 68% !important;
    max-width: 68% !important;
    display: block !important;
}

/* Container Clearfix */
.entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
.site-main .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
#primary-content .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
    overflow: hidden !important;
    zoom: 1 !important;
    display: block !important;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
    margin: 0 0 var(--coop-spacing-xs, 8px) 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li:last-child {
    margin-bottom: 0;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 14px;
    border-radius: var(--coop-radius-xl, 18px);
    color: var(--coop-text-secondary);
    font-weight: 600;
    text-decoration: none;
    transition: var(--coop-transition);
    border: 1px solid transparent;
    background: transparent;
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a:hover {
    color: var(--coop-accent);
    border-color: color-mix(in srgb, var(--coop-accent) 20%, transparent);
    background: var(--coop-accent-overlay-12);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.is-active a,
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.current-menu-item a {
    color: var(--coop-text-primary);
    border-color: color-mix(in srgb, var(--coop-accent) 35%, transparent);
    background: color-mix(in srgb, var(--coop-accent) 18%, transparent);
    box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--coop-accent) 28%, transparent);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a {
    color: #ff6b6b;
    background: color-mix(in srgb, #ff6b6b 10%, transparent);
    border-color: color-mix(in srgb, #ff6b6b 20%, transparent);
}
body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout a:hover {
    background: color-mix(in srgb, #ff6b6b 18%, transparent);
    color: #ff8787;
}

/* Mobile Layout für My Account */
@media (max-width: 768px) {
    /* Navigation: Horizontal scrollbar statt vertikale Liste - ALLE Selektoren überschreiben */
    .woocommerce-MyAccount-navigation,
    .woocommerce .woocommerce-MyAccount-navigation,
    .woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account .woocommerce-MyAccount-navigation,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation,
    .entry-content .woocommerce-MyAccount-navigation,
    nav.woocommerce-MyAccount-navigation,
    .woocommerce nav.woocommerce-MyAccount-navigation,
    .entry-content nav.woocommerce-MyAccount-navigation,
    .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    .site-main .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    .site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    body .site-main .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    body .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    #primary-content .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    #primary-content .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    article .entry-content .woocommerce .woocommerce-MyAccount-navigation,
    article .entry-content .woocommerce nav.woocommerce-MyAccount-navigation,
    [class*="post-"] .entry-content .woocommerce .woocommerce-MyAccount-navigation {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin: 0 0 var(--coop-spacing-md, 16px) 0 !important;
        margin-right: 0 !important;
        padding: 0 !important;
        position: relative !important;
        clear: both !important;
    }
    
    /* Navigation Liste: Flex mit Umbruch (kein Scroll) */
    .woocommerce-account .woocommerce-MyAccount-navigation ul,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation ul,
    body.coop-dark-area .woocommerce-MyAccount-navigation ul,
    nav.woocommerce-MyAccount-navigation ul,
    .woocommerce nav.woocommerce-MyAccount-navigation ul,
    .entry-content nav.woocommerce-MyAccount-navigation ul {
        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: flex-start !important;
        align-items: flex-start !important;
        gap: 8px !important;
        overflow: visible !important;
        padding: 0 !important;
        margin: 0 !important;
        list-style: none !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    
    /* Navigation Items: Kompakt, mit Umbruch - natürliche Breite, direkt aneinander */
    .woocommerce-account .woocommerce-MyAccount-navigation li,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation li {
        margin: 0 !important;
        flex: 0 0 auto !important;
        min-width: 0 !important;
        white-space: nowrap !important;
    }
    
    /* Navigation Links: Kompakter, mit Umbruch - natürliche Breite */
    .woocommerce-account .woocommerce-MyAccount-navigation a,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a,
    body.coop-dark-area .woocommerce-MyAccount-navigation a {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        padding: 10px 16px !important;
        width: auto !important;
        min-width: auto !important;
        max-width: 100% !important;
        font-size: 13px !important;
        gap: 6px !important;
        white-space: nowrap !important;
    }
    
    /* Content: Volle Breite, kein Float - ALLE Selektoren überschreiben */
    .woocommerce-MyAccount-content,
    .woocommerce .woocommerce-MyAccount-content,
    .woocommerce-account .woocommerce-MyAccount-content,
    body.woocommerce-account .woocommerce-MyAccount-content,
    .entry-content .woocommerce-MyAccount-content,
    .woocommerce .woocommerce-MyAccount-content,
    .entry-content .woocommerce .woocommerce-MyAccount-content,
    .site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
    body .site-main .entry-content .woocommerce .woocommerce-MyAccount-content,
    #primary-content .entry-content .woocommerce .woocommerce-MyAccount-content,
    article .entry-content .woocommerce .woocommerce-MyAccount-content {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        margin-left: 0 !important;
        padding: 0 !important;
        clear: both !important;
    }
    
    /* Container-Elemente: Volle Breite auf Mobile */
    .woocommerce:has(.woocommerce-MyAccount-navigation),
    .woocommerce-account .woocommerce,
    body.woocommerce-account .woocommerce,
    .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
    .entry-content .woocommerce,
    .site-main .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation),
    #primary-content .entry-content .woocommerce:has(.woocommerce-MyAccount-navigation) {
        width: 100% !important;
        max-width: 100% !important;
        overflow: visible !important;
    }
    
    /* Producer/Designer Container: Volle Breite auf Mobile */
    .coop-producer-container,
    .coop-producer-content-wrapper,
    .coop-designer-container {
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 !important;
    }
    
    /* Entry Content und Site Main: Volle Breite auf Mobile für My Account */
    .woocommerce-account .entry-content,
    .woocommerce-account .site-main,
    body.woocommerce-account .entry-content,
    body.woocommerce-account .site-main,
    .woocommerce-account .ct-container,
    body.woocommerce-account .ct-container,
    .woocommerce-account .ct-container-full,
    body.woocommerce-account .ct-container-full,
    .woocommerce-account [class*="container"],
    body.woocommerce-account [class*="container"] {
        width: 100% !important;
        max-width: 100% !important;
        padding-left: var(0, 0) !important;
        padding-right: var(0, 0) !important;
        box-sizing: border-box !important;
    }
    
    /* Sicherstellen, dass keine Float-Layouts mehr greifen */
    .woocommerce-account .woocommerce::before,
    .woocommerce-account .woocommerce::after,
    body.woocommerce-account .woocommerce::before,
    body.woocommerce-account .woocommerce::after {
        display: none !important;
        content: none !important;
    }
    
    /* Tab Navigation: Kompakter auf Mobile */
    .coop-tabs {
        gap: 4px !important;
        margin-bottom: 20px !important;
        padding-bottom: 8px !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
    }
    
    .coop-tab {
        padding: 10px 16px !important;
        font-size: 13px !important;
        white-space: nowrap !important;
        flex-shrink: 0 !important;
    }
}

/* Sehr kleine Bildschirme: Noch kompaktere Navigation */
@media (max-width: 480px) {
    .woocommerce-account .woocommerce-MyAccount-navigation a,
    body.woocommerce-account.logged-in .woocommerce-MyAccount-navigation a,
    body.coop-dark-area .woocommerce-MyAccount-navigation a {
        padding: 8px 12px !important;
        font-size: 12px !important;
        gap: 4px !important;
    }
    
    .coop-tab {
        padding: 8px 12px !important;
        font-size: 12px !important;
    }
    
    /* Producer Header: Kompakter */
    .coop-producer-header {
        margin-bottom: 20px !important;
        padding-bottom: 12px !important;
    }
    
    .coop-producer-header h3 {
        font-size: 20px !important;
    }
    
    .coop-producer-header p {
        font-size: 13px !important;
    }
}

@media (max-width: 768px) {
    .coop-auth-shell {
        min-height: auto;
        padding: 0;
    }
    .coop-auth-surface {
        border-radius: 22px;
        box-shadow: 0 24px 50px rgba(24, 26, 52, 0.12);
        padding: clamp(16px, 3vw, 24px);
        gap: var(--coop-spacing-sm, 12px);
    }
    .coop-auth-welcome {
        display: none;
    }
    .coop-auth-switch {
        display: none;
    }
    .coop-field {
        margin-bottom: var(--coop-spacing-sm, 12px);
    }
    .coop-field input[type="text"],
    .coop-field input[type="email"],
    .coop-field input[type="password"] {
        padding: 12px 16px;
        font-size: var(--coop-font-md, 15px);
    }
    .coop-auth-actions {
        margin-top: var(--coop-spacing-xs, 8px);
        margin-bottom: var(--coop-spacing-sm, 12px);
    }
    .coop-auth-card__separator {
        margin: var(--coop-spacing-xs, 8px) 0;
    }
    .coop-auth-footnote {
        margin-top: var(--coop-spacing-xs, 8px);
    }
    .coop-btn {
        padding: 12px calc(var(--coop-spacing-xl) + 4px);
        font-size: var(--coop-font-md, 15px);
    }
    .coop-auth-social {
        flex-direction: column;
        gap: 8px;
        align-items: center;
    }
    .coop-auth-social__btn {
        width: 56px;
        height: 56px;
        min-width: 56px;
        max-width: 56px;
        padding: 0;
        justify-content: center;
        border-radius: 50%;
        flex: 0 0 56px;
    }
    .coop-auth-social__btn svg {
        width: 24px;
        height: 24px;
        flex-shrink: 0;
    }
    .coop-auth-social__btn span {
        display: none;
    }
}

/* Desktop-Optimierungen für Auth-Formular */
@media (min-width: 769px) {
    .coop-auth-shell {
        padding: var(--coop-spacing-2xl, 36px) var(--coop-spacing-xl, 28px);
        min-height: calc(100vh - 200px);
        align-items: center;
    }
    .coop-auth-surface {
        padding: clamp(32px, 4vw, 40px);
        gap: var(--coop-spacing-lg, 20px);
    }
    .coop-auth-welcome {
        margin-bottom: var(--coop-spacing-md, 16px);
        padding-bottom: var(--coop-spacing-xs, 8px);
    }
    .coop-field {
        margin-bottom: var(--coop-spacing-lg, 20px);
    }
    .coop-auth-actions {
        margin-top: var(--coop-spacing-md, 16px);
        margin-bottom: var(--coop-spacing-xl, 24px);
    }
    .coop-auth-card__separator {
        margin: var(--coop-spacing-md, 16px) 0;
    }
    .coop-auth-footnote {
        margin-top: var(--coop-spacing-md, 16px);
    }
}



/* ============================================
   UI ACTIONS & FEEDBACK
   ============================================ */
/* CoopPrint Theme - UI Actions & Feedback */
/* Button-Logik, Status-Elemente und Benachrichtigungselemente */

/* Buttons */
.woocommerce .button,
.woocommerce-page .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce-page button.button,
.woocommerce-page a.button,
.woocommerce-page input.button,
button.button,
a.button,
input.button,
.button,
button[type="submit"],
input[type="submit"],
.woocommerce-button,
.coop-actions button,
.coop-actions .button,
.coop-btn {
    background: var(--coop-button-surface) !important;
    color: var(--coop-button-text) !important;
    border: 1px solid transparent !important;
    box-shadow: none !important;
    outline: none !important;
    padding: 14px calc(var(--coop-spacing-xl) + 4px);
    font-weight: 600;
    border-radius: 999px;
    transition: var(--coop-transition);
    font-size: var(--coop-font-lg);
    cursor: pointer;
    text-transform: none;
    letter-spacing: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--coop-spacing-sm);
}
.woocommerce-form-login .button,
.woocommerce-form-register .button,
.woocommerce-form-login button,
.woocommerce-form-register button,
.woocommerce-form-login input[type="submit"],
.woocommerce-form-register input[type="submit"] {
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
}
.woocommerce .button:focus,
.woocommerce .button:active,
.woocommerce .button:visited,
.woocommerce-page .button:focus,
.woocommerce-page .button:active,
.woocommerce-page .button:visited,
button.button:focus,
button.button:active,
button.button:visited,
a.button:focus,
a.button:active,
a.button:visited,
input.button:focus,
input.button:active,
input.button:visited,
.button:focus,
.button:active,
.button:visited,
button[type="submit"]:focus,
button[type="submit"]:active,
button[type="submit"]:visited,
input[type="submit"]:focus,
input[type="submit"]:active,
input[type="submit"]:visited,
.woocommerce-button:focus,
.woocommerce-button:active,
.woocommerce-button:visited,
.coop-actions button:focus,
.coop-actions button:active,
.coop-actions button:visited,
.coop-btn:focus,
.coop-btn:active,
.coop-btn:visited {
    background: var(--coop-button-surface) !important;
    color: var(--coop-button-text) !important;
    border-color: transparent !important;
    box-shadow: 0 0 0 3px var(--coop-accent-overlay-12) !important;
    outline: none !important;
}
body.coop-dark-area .woocommerce .button:focus,
body.coop-dark-area .woocommerce .button:active,
body.coop-dark-area .woocommerce .button:visited,
body.coop-dark-area .woocommerce-page .button:focus,
body.coop-dark-area .woocommerce-page .button:active,
body.coop-dark-area .woocommerce-page .button:visited,
body.coop-dark-area button.button:focus,
body.coop-dark-area button.button:active,
body.coop-dark-area button.button:visited,
body.coop-dark-area a.button:focus,
body.coop-dark-area a.button:active,
body.coop-dark-area a.button:visited,
body.coop-dark-area input.button:focus,
body.coop-dark-area input.button:active,
body.coop-dark-area input.button:visited,
body.coop-dark-area .button:focus,
body.coop-dark-area .button:active,
body.coop-dark-area .button:visited,
body.coop-dark-area button[type="submit"]:focus,
body.coop-dark-area button[type="submit"]:active,
body.coop-dark-area button[type="submit"]:visited,
body.coop-dark-area input[type="submit"]:focus,
body.coop-dark-area input[type="submit"]:active,
body.coop-dark-area input[type="submit"]:visited,
body.coop-dark-area .woocommerce-button:focus,
body.coop-dark-area .woocommerce-button:active,
body.coop-dark-area .woocommerce-button:visited,
body.coop-dark-area .coop-actions button:focus,
body.coop-dark-area .coop-actions button:active,
body.coop-dark-area .coop-actions button:visited,
body.coop-dark-area .coop-btn:focus,
body.coop-dark-area .coop-btn:active,
body.coop-dark-area .coop-btn:visited {
    box-shadow: 0 0 0 2px color-mix(in srgb, rgba(99, 107, 255, 0.4) 55%, transparent) !important;
}
.woocommerce .button:hover,
.woocommerce-page .button:hover,
button.button:hover,
a.button:hover,
input.button:hover,
.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.woocommerce-button:hover,
.coop-actions button:hover,
.coop-actions .button:hover,
.coop-btn:hover {
    background: var(--coop-button-surface-hover) !important;
    color: var(--coop-button-text) !important;
    border-color: transparent !important;
    transform: translateY(-2px);
    box-shadow: 0 18px 32px rgba(35, 34, 102, 0.18), 0 6px 18px rgba(35, 34, 102, 0.08) !important;
}
body.coop-dark-area .woocommerce .button:hover,
body.coop-dark-area .woocommerce-page .button:hover,
body.coop-dark-area button.button:hover,
body.coop-dark-area a.button:hover,
body.coop-dark-area input.button:hover,
body.coop-dark-area .button:hover,
body.coop-dark-area button[type="submit"]:hover,
body.coop-dark-area input[type="submit"]:hover,
body.coop-dark-area .woocommerce-button:hover,
body.coop-dark-area .coop-actions button:hover,
body.coop-dark-area .coop-actions .button:hover,
body.coop-dark-area .coop-btn:hover {
    transform: translateY(-1px);
    box-shadow: 0 16px 28px rgba(53, 55, 227, 0.4) !important;
}
.woocommerce .button:active,
.woocommerce-page .button:active,
button.button:active,
a.button:active,
input.button:active,
.button:active,
button[type="submit"]:active,
input[type="submit"]:active,
.woocommerce-button:active,
.coop-actions button:active,
.coop-actions .button:active,
.coop-btn:active {
    background: var(--coop-button-surface) !important;
    color: var(--coop-button-text) !important;
    border-color: transparent !important;
    transform: scale(0.99);
    box-shadow: 0 8px 16px rgba(35, 34, 102, 0.12) !important;
}
body.coop-dark-area .woocommerce .button:active,
body.coop-dark-area .woocommerce-page .button:active,
body.coop-dark-area button.button:active,
body.coop-dark-area a.button:active,
body.coop-dark-area input.button:active,
body.coop-dark-area .button:active,
body.coop-dark-area button[type="submit"]:active,
body.coop-dark-area input[type="submit"]:active,
body.coop-dark-area .woocommerce-button:active,
body.coop-dark-area .coop-actions button:active,
body.coop-dark-area .coop-actions .button:active,
body.coop-dark-area .coop-btn:active {
    box-shadow: 0 10px 18px rgba(5, 7, 22, 0.7) !important;
}
.woocommerce .button:disabled,
.woocommerce .button.disabled,
.woocommerce-page .button:disabled,
.woocommerce-page .button.disabled,
button.button:disabled,
button.button.disabled,
a.button.disabled,
input.button:disabled,
input.button.disabled,
.button:disabled,
.button.disabled,
button[type="submit"]:disabled,
input[type="submit"]:disabled {
    opacity: 0.6 !important;
    cursor: not-allowed !important;
    background: var(--coop-button-accent) !important;
    color: var(--coop-button-text) !important;
}
.coop-btn-secondary {
    background: var(--coop-bg-tertiary) !important;
    color: var(--coop-text-primary) !important;
    border: 1px solid var(--coop-border-light, var(--coop-border)) !important;
}
.coop-btn-secondary:hover {
    background: var(--coop-bg-secondary) !important;
    color: var(--coop-text-primary) !important;
}
.coop-btn-sm {
    padding: 4px 12px !important;
    font-size: var(--coop-font-xs) !important;
}
.coop-actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: var(--coop-spacing-2xl);
    padding-top: var(--coop-spacing-lg);
    border-top: 1px solid var(--coop-border-light, var(--coop-border));
}

/* Button Loading State */
.coop-btn.loading {
    position: relative;
    color: transparent !important;
}
.coop-btn.loading::after {
    content: '';
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -10px;
    margin-top: -10px;
    width: 20px;
    height: 20px;
    border: 3px solid rgba(255, 255, 255, 0.3);
    border-top-color: #fff;
    border-radius: 50%;
    animation: coop-spin 0.8s linear infinite;
}

/* Checkboxes & Radios */
input[type="checkbox"],
input[type="radio"] {
    accent-color: var(--coop-checkbox-color) !important;
}
.coop-sync-checkbox {
    margin-bottom: var(--coop-spacing-md);
    padding-bottom: var(--coop-spacing-md);
    border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}
.coop-sync-checkbox label {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm);
    cursor: pointer;
    margin: 0;
    text-transform: none;
    letter-spacing: normal;
    font-weight: 500;
    color: var(--coop-text-primary);
}
.coop-sync-checkbox input[type="checkbox"] {
    width: 20px;
    height: 20px;
    cursor: pointer;
    accent-color: var(--coop-checkbox-color) !important;
}
.coop-checkbox-inline {
    margin-top: var(--coop-spacing-xs);
    font-size: var(--coop-font-xs);
}
.coop-checkbox-inline label {
    display: flex;
    align-items: center;
    gap: 6px;
    cursor: pointer;
    color: var(--coop-text-secondary);
}
.coop-checkbox-inline input[type="checkbox"] {
    cursor: pointer;
    margin: 0;
    accent-color: var(--coop-checkbox-color) !important;
}
.coop-form-disabled {
    opacity: 0.5;
    pointer-events: none;
}

/* Messages & Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    background: var(--coop-bg-secondary) !important;
    color: var(--coop-text-primary) !important;
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important;
    border-top: 4px solid !important;
    padding: var(--coop-spacing-sm) var(--coop-spacing-md) !important;
    padding-left: 50px !important;
    border-radius: var(--coop-radius-md) !important;
    position: relative;
}
.woocommerce-message,
.woocommerce-info {
    border-top-color: var(--coop-accent) !important;
}
.woocommerce-error {
    border-top-color: var(--coop-text-muted) !important;
}
body.coop-dark-area .woocommerce-error {
    color: #ff6b6b !important;
    border-top-color: #ff6b6b !important;
}
.woocommerce-message .button,
.woocommerce-message button,
.woocommerce-info .button,
.woocommerce-info button,
.woocommerce-error .button,
.woocommerce-error button {
    outline: none !important;
    box-shadow: none !important;
}
.woocommerce-message .button:focus,
.woocommerce-message button:focus,
.woocommerce-info .button:focus,
.woocommerce-info button:focus,
.woocommerce-error .button:focus,
.woocommerce-error button:focus {
    outline: none !important;
    box-shadow: 0 0 0 2px var(--coop-accent-overlay-10) !important;
}

/* Material Labels */
.coop-material-label {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    padding: 10px var(--coop-spacing-md) !important;
    background: transparent !important;
    border: 1px solid var(--coop-border) !important;
    border-radius: var(--coop-radius-md) !important;
    cursor: pointer !important;
    transition: var(--coop-transition) !important;
    font-size: var(--coop-font-base) !important;
    font-weight: 500 !important;
    color: var(--coop-text-secondary) !important;
    margin: 0 !important;
    font-family: inherit !important;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.coop-material-label:hover {
    border-color: var(--coop-text-primary) !important;
    color: var(--coop-text-primary) !important;
}
.coop-material-label input[type="checkbox"] {
    display: none !important;
}
.coop-material-label:has(input:checked) {
    background: var(--coop-accent) !important;
    color: var(--coop-button-text) !important;
    border-color: var(--coop-accent) !important;
    font-weight: 600 !important;
}
body.coop-dark-area .coop-material-label:has(input:checked) {
    background: #ffffff !important;
    color: #000000 !important;
    border-color: #ffffff !important;
}

/* Status Badges & Indicators */
.coop-status-badge,
.coop-badge {
    display: inline-block;
    padding: var(--coop-spacing-xs) var(--coop-spacing-sm);
    font-size: var(--coop-font-xs);
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.coop-status-badge {
    border-radius: var(--coop-radius-sm);
    border: 1px solid;
}
.coop-badge {
    border-radius: var(--coop-radius-2xl);
    font-weight: 600;
}
.coop-status-pending {
    background: var(--coop-bg-primary);
    color: var(--coop-text-secondary);
    border-color: var(--coop-border);
}
.coop-status-verified {
    background: var(--coop-bg-primary);
    color: var(--coop-accent);
    border-color: var(--coop-accent);
}
.coop-status-rejected {
    background: var(--coop-bg-primary);
    color: var(--coop-text-muted);
    border-color: var(--coop-border);
}
.coop-badge-green {
    background: rgba(34, 197, 94, 0.1);
    color: #22c55e;
}
.coop-badge-yellow {
    background: rgba(251, 191, 36, 0.1);
    color: #fbbf24;
}
.coop-badge-red {
    background: rgba(239, 68, 68, 0.1);
    color: #ef4444;
}
.coop-badge-blue {
    background: rgba(59, 130, 246, 0.1);
    color: #3b82f6;
}
.coop-status-badge.verified,
.coop-status-badge.success {
    background: var(--coop-accent-overlay-10);
    color: var(--coop-accent);
    border: 1px solid color-mix(in srgb, var(--coop-accent) 30%, transparent);
}
.coop-status-badge.not-verified,
.coop-status-badge.warning {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    color: var(--coop-text-secondary);
    border: 1px solid var(--coop-border-light, var(--coop-border));
}
@supports not (color-mix(in srgb, black, transparent)) {
    .coop-status-badge.verified,
    .coop-status-badge.success {
        background: rgba(30, 58, 138, 0.1);
        border: 1px solid rgba(30, 58, 138, 0.3);
    }
}
.status-indicator {
    display: inline-flex;
    align-items: center;
    gap: var(--coop-spacing-xs);
    font-weight: 500;
    font-size: var(--coop-font-md);
    padding: 6px var(--coop-spacing-sm);
    border-radius: var(--coop-radius-md);
    background: var(--coop-bg-primary);
    border: 1px solid var(--coop-border);
    color: var(--coop-text-primary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
}
.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
}
.status-dot.available {
    background: var(--coop-accent);
    box-shadow: 0 0 8px rgba(30, 58, 138, 0.6);
}
.status-dot.full,
.status-dot.withqueue {
    background: var(--coop-text-secondary);
}
.status-dot.notavailable {
    background: var(--coop-text-muted);
}
.status-indicator.available {
    border-color: var(--coop-accent);
    color: var(--coop-text-primary);
    background: var(--coop-bg-primary);
}
.status-indicator.full,
.status-indicator.withqueue {
    border-color: var(--coop-text-secondary);
    color: var(--coop-text-secondary);
    background: var(--coop-bg-primary);
}
.status-indicator.notavailable {
    border-color: var(--coop-text-muted);
    color: var(--coop-text-muted);
    background: var(--coop-bg-primary);
}

/* Animations */
@keyframes coop-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (max-width: 768px) {
    .coop-actions {
        flex-direction: column;
    }
    .coop-actions button,
    .coop-actions .button {
        width: 100%;
    }
}

/* ============================================
   SHOP - Product Grid & Filters
   ============================================ */

/* CoopPrint Product Grid */
.coopprint-product-grid {
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    overflow-x: hidden;
}

.coopprint-grid-container {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(min(200px, calc(50% - 12px)), 1fr));
    gap: 24px;
    padding: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

/* Mobile: Mindestens 2 Spalten garantieren */
@media (max-width: 767px) {
    .coopprint-grid-container {
        grid-template-columns: repeat(auto-fit, minmax(min(200px, calc(50% - 8px)), 1fr));
        gap: 16px;
    }
}

/* Sehr kleine Screens: Mindestens 2 Spalten garantieren */
@media (max-width: 479px) {
    .coopprint-grid-container {
        grid-template-columns: repeat(auto-fit, minmax(min(200px, calc(50% - 6px)), 1fr));
        gap: 12px;
    }
}

/* Product Card - verwendet Producer Dashboard Look mit CSS-Variablen für Dark Mode */
.coopprint-product-card {
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border: 1px solid var(--coop-border-light, var(--coop-border));
    border-radius: var(--coop-radius-2xl, 24px);
    overflow: hidden;
    box-shadow: 0 18px 36px rgba(35, 34, 102, 0.08), 0 3px 12px rgba(35, 34, 102, 0.04);
    transition: var(--coop-transition, all 0.2s ease);
    position: relative;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
}

.coopprint-product-card img,
.coopprint-card-image,
.coopprint-card-image-wrapper img {
    width: 100%;
    max-width: 100%;
    height: auto;
    box-sizing: border-box;
    object-fit: cover;
}

body.coop-dark-mode-manual .coopprint-product-card,
body.coop-dark-area .coopprint-product-card {
    box-shadow: 0 22px 38px rgba(5, 7, 22, 0.58), inset 0 1px 0 rgba(148, 163, 255, 0.04);
}

/* Gradient-Overlay wie Producer Cards */
.coopprint-product-card::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    pointer-events: none;
    background: linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 18%, transparent) 0%, transparent 65%);
    opacity: 0.15;
    transition: opacity var(--coop-transition, all 0.2s ease);
    z-index: 0;
}

body.coop-dark-mode-manual .coopprint-product-card::before,
body.coop-dark-area .coopprint-product-card::before {
    opacity: 0.25;
}

.coopprint-product-card:hover {
    /* Keine translateY Bewegung - bessere Button-Zielbarkeit */
    border-color: var(--coop-accent);
    box-shadow: 0 22px 50px rgba(35, 34, 102, 0.12), 0 6px 16px rgba(35, 34, 102, 0.08);
}

body.coop-dark-mode-manual .coopprint-product-card:hover,
body.coop-dark-area .coopprint-product-card:hover {
    background: color-mix(in srgb, var(--coop-bg-box, var(--coop-bg-secondary)) 88%, var(--coop-accent) 12%);
    box-shadow: 0 32px 46px rgba(5, 7, 22, 0.7), inset 0 1px 0 rgba(148, 163, 255, 0.08);
}

.coopprint-product-card:hover::before {
    opacity: 0.3;
}

.coopprint-card-link {
    display: block;
    text-decoration: none;
    color: inherit;
    position: relative;
    z-index: 1;
}

/* Card Image - Weniger Padding zum Content */
.coopprint-card-image-wrapper {
    position: relative;
    width: 100%;
    padding-bottom: 75%; /* 4:3 Aspect Ratio */
    overflow: hidden;
    background: var(--coop-bg-tertiary, #f5f5f5);
    margin-bottom: 0;
}

.coopprint-card-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.4s ease;
}

.coopprint-product-card:hover .coopprint-card-image {
    transform: scale(1.05);
}

/* Card Content - MakerWorld Style: Sehr kompakt, wenig Padding */
.coopprint-card-content {
    padding: 10px 12px 12px 12px;
    position: relative;
    z-index: 1;
}

/* Card Header: Profilbild links, Produktname + Designer rechts daneben (vertikal) */
.coopprint-card-header {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin-bottom: 8px;
}

/* Avatar - links, klickbar wenn Link vorhanden */
.coopprint-designer-avatar {
    width: 28px;
    height: 28px;
    flex-shrink: 0;
    border-radius: 50%;
    overflow: hidden;
    border: 1px solid var(--coop-border-light, rgba(0, 0, 0, 0.08));
    display: block;
    transition: transform 0.2s ease, border-color 0.2s ease;
}

.coopprint-designer-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Avatar als Link - klickbar */
a.coopprint-designer-avatar {
    text-decoration: none;
    cursor: pointer;
}

a.coopprint-designer-avatar:hover {
    transform: scale(1.05);
    border-color: var(--coop-accent, #2563eb);
}

/* Title Wrapper - Produktname + Designer vertikal */
.coopprint-card-title-wrapper {
    display: flex;
    flex-direction: column;
    gap: 2px;
    flex: 1;
    min-width: 0;
}

/* Produktname - in der Reihe mit Avatar */
.coopprint-card-title {
    font-size: 14px;
    font-weight: 600;
    margin: 0;
    padding: 0;
    color: var(--coop-text-primary, #1a1a1a);
    line-height: 1.3;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.coopprint-card-title a {
    color: inherit;
    text-decoration: none;
}

.coopprint-card-title a:hover {
    color: var(--coop-accent, #2563eb);
}

/* Designer Name - UNTER Produktname, ausgegraut */
.coopprint-designer-name {
    font-size: 12px;
    font-weight: 500;
    color: var(--coop-text-muted, #6b7280);
    text-decoration: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    line-height: 1.3;
}

.coopprint-designer-name:hover {
    color: var(--coop-accent, #2563eb);
}

/* Like-System wurde entfernt */

/* Stats Row - Downloads und Preis nebeneinander */
.coopprint-card-stats {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 6px;
    padding-top: 8px;
    border-top: 1px solid var(--coop-border-light, #e5e7eb);
    justify-content: space-between;
}

.coopprint-stat-item {
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--coop-text-muted, #6b7280);
    font-size: 12px;
}

.coopprint-stat-icon {
    width: 14px;
    height: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0.7;
    flex-shrink: 0;
}

.coopprint-stat-icon svg {
    width: 100%;
    height: 100%;
    display: block;
}

.coopprint-stat-value {
    font-weight: 500;
    color: var(--coop-text-secondary, #374151);
    white-space: nowrap;
}

/* Like-Button - Designer Likes System */
.coopprint-stat-like {
    cursor: pointer;
    user-select: none;
    transition: var(--coop-transition);
    border: none;
    background: transparent;
    padding: 4px 8px;
    border-radius: 999px;
    font-family: inherit;
    font-size: 12px;
    line-height: 1;
    display: flex;
    align-items: center;
    gap: 4px;
    color: var(--coop-text-muted, #6b7280);
}

.coopprint-stat-like:hover {
    background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
    color: var(--coop-text-secondary, #374151);
}

body.coop-dark-mode-manual .coopprint-stat-like:hover,
body.coop-dark-area .coopprint-stat-like:hover {
    background: color-mix(in srgb, var(--coop-bg-box, var(--coop-bg-secondary)) 85%, var(--coop-accent) 15%);
    color: var(--coop-text-primary, #f5f5f7);
}

/* Geliked State */
.coopprint-stat-like.is-liked {
    background: var(--coop-accent, #3537e3);
    color: var(--coop-button-text, #ffffff);
}

.coopprint-stat-like.is-liked .coopprint-stat-icon {
    opacity: 1;
}

.coopprint-stat-like.is-liked .coopprint-stat-value {
    color: var(--coop-button-text, #ffffff);
}

.coopprint-stat-like.is-liked:hover {
    background: var(--coop-accent-hover, #4f52f0);
}

body.coop-dark-mode-manual .coopprint-stat-like.is-liked,
body.coop-dark-area .coopprint-stat-like.is-liked {
    background: var(--coop-accent, #4c6fff);
    color: var(--coop-button-text, var(--coop-text-primary));
}

body.coop-dark-mode-manual .coopprint-stat-like.is-liked:hover,
body.coop-dark-area .coopprint-stat-like.is-liked:hover {
    background: var(--coop-accent-hover, color-mix(in srgb, var(--coop-accent) 70%, #7286ff 30%));
}

/* Loading State */
.coopprint-stat-like.is-loading {
    opacity: 0.6;
    pointer-events: none;
    cursor: wait;
}

/* Button ist immer klickbar - für alle Benutzer gleich */

/* Preis ganz rechts */
.coopprint-stat-price {
    margin-left: auto;
    flex-shrink: 0;
}

.coopprint-stat-price .coopprint-stat-value {
    font-weight: 600;
    color: var(--coop-accent, #2563eb);
    font-size: 13px;
    white-space: nowrap;
}

.coopprint-stat-price .coopprint-stat-value del {
    color: var(--coop-text-muted, #9ca3af);
    font-weight: 400;
    margin-right: 4px;
    font-size: 12px;
}

.coopprint-stat-price .coopprint-stat-value ins {
    text-decoration: none;
}

/* Empty State */
.coopprint-grid-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--coop-text-muted, #6b7280);
    font-size: 16px;
}

/* Loading State */
.coopprint-grid-loading {
    opacity: 0.6;
    pointer-events: none;
}

/* Filter Sidebar Styles */
.coopprint-shop-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-lg, 28px);
    margin: 0 auto;
    max-width: 1400px;
    width: 100%;
    /* kleiner globaler Abstand zum Header, identisch für Ausgangs- und Scroll-Zustand */
    padding: 8px clamp(10px, 2.4vw, 32px);
    box-sizing: border-box;
}

.coopprint-shop-content {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-lg, 20px);
}

.coopprint-filters-sidebar {
    width: 260px;
    flex-shrink: 0;
    padding-top: 0; /* Startet bündig mit der Suche */
}

.coopprint-filters-content {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* Filter-Cards: H2-Überschriften ohne Padding oben */
.coopprint-filters-content .coop-card > h2.coop-product-page__section-title:first-child {
    margin-top: 0 !important;
    padding-top: 0 !important;
    /* margin-bottom wird von spezifischen Regeln überschrieben */
    padding-bottom: 0 !important;
}

/* Filter-Cards: Padding oben entfernen wenn H2 als erstes Element */
.coopprint-filters-content .coop-card > h2.coop-product-page__section-title:first-child {
    margin-top: calc(var(--coop-spacing-xl) * -1) !important;
    margin-left: calc(var(--coop-spacing-xl) * -1) !important;
    margin-right: calc(var(--coop-spacing-xl) * -1) !important;
    padding-left: var(--coop-spacing-xl) !important;
    padding-right: var(--coop-spacing-xl) !important;
    padding-top: var(--coop-spacing-xl) !important;
}
/* Filter-spezifische Gruppen-Styles entfernt - verwenden jetzt Standard-Styles */
/* Items (Checkbox-Zeilen) mit subtilen Hover-Akzenten */
.coopprint-filter-list li {
    border-radius: 10px;
    transition: background-color 0.2s ease, border-color 0.2s ease;
}
.coopprint-filter-list li:hover {
    background: color-mix(in srgb, var(--coop-accent) 8%, transparent);
}
.coopprint-filter-checkbox input:focus-visible + span {
    outline: 2px solid var(--coop-accent);
    outline-offset: 2px;
}

.coopprint-filter-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.coopprint-filter-list li {
    margin-bottom: 8px;
}

.coopprint-filter-checkbox {
    display: flex;
    align-items: center;
    cursor: pointer;
    padding: 8px 12px;
    border-radius: 6px;
    transition: background-color 0.2s;
    user-select: none;
}

.coopprint-filter-checkbox:hover {
    background-color: var(--coop-bg-primary, #f9fafb);
}

.coopprint-filter-checkbox input[type="checkbox"] {
    margin: 0 10px 0 0;
    cursor: pointer;
    width: 18px;
    height: 18px;
    accent-color: var(--coop-accent, #2563eb);
}

.coopprint-filter-checkbox span {
    flex: 1;
    font-size: 14px;
    color: var(--coop-text-primary, #374151);
}

.coopprint-filter-count {
    font-size: 13px;
    color: var(--coop-text-muted, #9ca3af);
    font-weight: 500;
}

.coopprint-filter-select {
    width: 100%;
    padding: 12px 16px;
    border: 1px solid var(--coop-border-light, #d1d5db);
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    color: var(--coop-text-primary, #374151);
    background-color: var(--coop-bg-box, #ffffff);
    cursor: pointer;
    transition: border-color 0.2s, box-shadow 0.2s, background-color 0.3s ease;
}

.coopprint-filter-select:focus {
    outline: none;
    border-color: var(--coop-accent, #2563eb);
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1);
}

body.coop-dark-mode-manual .coopprint-filter-select:focus,
body.coop-dark-area .coopprint-filter-select:focus {
    box-shadow: 0 0 0 3px rgba(76, 111, 255, 0.2);
}

.coopprint-products-main {
    flex: 1;
    min-width: 0;
    width: 100%;
    max-width: 100%;
}

/* Shop Search Styles */
.coopprint-shop-search {
    margin-bottom: 12px;
    width: 100%;
}

.coopprint-search-form {
    width: 100%;
}

.coopprint-search-wrapper {
    display: flex;
    align-items: center;
    gap: 6px;
    background: var(--coop-bg-box);
    border: 1px solid var(--coop-border-light);
    border-radius: var(--coop-radius-md);
    padding: 2px;
    transition: border-color var(--coop-transition), box-shadow var(--coop-transition);
}

.coopprint-search-wrapper:focus-within {
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}

.coopprint-search-input {
    flex: 1;
    border: none;
    background: transparent;
    padding: 8px 12px;
    font-size: 14px;
    color: var(--coop-text-primary);
    outline: none;
    min-width: 0;
}

.coopprint-search-input::placeholder {
    color: var(--coop-text-secondary);
}

.coopprint-search-submit {
    appearance: none;
    background: var(--coop-button-surface, var(--coop-accent));
    border: none;
    border-radius: var(--coop-radius-md);
    padding: 8px 16px;
    color: var(--coop-button-text, #ffffff);
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    transition: var(--coop-transition);
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 36px;
}

.coopprint-search-submit:hover {
    background: var(--coop-button-surface-hover, var(--coop-accent-hover));
}

.coopprint-search-submit:active {
    transform: scale(0.98);
}

body.coop-dark-area .coopprint-search-wrapper {
    background: var(--coop-bg-box);
    border-color: var(--coop-border);
}

.coopprint-results-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8px; /* kompakter */
    padding-bottom: 6px; /* kompakter */
    border-bottom: none;
}

/* Produkte Topbar (Desktop: Suche rechts; Mobile: Suche + Funnel) */
.coopprint-products-topbar {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    margin-top: 0;
    margin-bottom: 4px;
}
.coopprint-topbar-search .coopprint-shop-search {
    margin-bottom: 0;
}
/* Desktop: Suche mittig und volle Breite */
@media (min-width: 1025px) {
    .coopprint-products-topbar {
        justify-content: center;
    }
    .coopprint-topbar-search {
        width: 100%;
        max-width: none;
    }
    /* Schlankere Suche */
    .coopprint-search-wrapper {
        padding: 2px; /* dünner Rahmenbereich */
    }
    .coopprint-search-input {
        padding: 8px 14px; /* flacher */
        font-size: 16px;
    }
    .coopprint-search-submit {
        min-width: 40px;
        height: 40px;
        padding: 8px 14px;
        font-size: 16px;
    }
}
.coopprint-filter-inline-toggle {
    appearance: none;
    border: 1px solid var(--coop-border-light);
    background: var(--coop-bg-box);
    color: var(--coop-text-primary);
    width: 44px;
    height: 44px;
    border-radius: 10px;
    display: none; /* nur mobil sichtbar */
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--coop-transition);
}
.coopprint-filter-inline-toggle:hover,
.coopprint-filter-inline-toggle:focus-visible {
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}
body.coop-dark-area .coopprint-filter-inline-toggle {
    background: var(--coop-bg-box);
    border-color: var(--coop-border);
}

/* Inline Panel (nur mobil) */
.coopprint-filter-inline-panel {
    display: none;
    background: transparent;
    border: none;
    border-radius: 0;
    padding: 0;
    margin-bottom: 8px;
}
.coopprint-filter-inline-panel.is-open {
    display: block;
}

/* Sidebar: Suche über den Filtern */
.coopprint-sidebar-tools {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
}

.coopprint-sidebar-search {
    flex: 1 1 auto;
}

.coopprint-filter-icon-toggle {
    appearance: none;
    border: 1px solid var(--coop-border-light);
    background: var(--coop-bg-box);
    color: var(--coop-text-primary);
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    transition: var(--coop-transition);
}

.coopprint-filter-icon-toggle:hover,
.coopprint-filter-icon-toggle:focus-visible {
    border-color: var(--coop-accent);
    box-shadow: 0 0 0 3px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}

body.coop-dark-area .coopprint-filter-icon-toggle {
    background: var(--coop-bg-box);
    border-color: var(--coop-border);
}

.coopprint-results-count {
    font-size: 13px; /* einheitlich */
    font-weight: 600;
    margin: 0;
    color: var(--coop-text-secondary, #6b7280);
}

.coopprint-clear-filters {
    font-size: 14px;
    color: var(--coop-accent, #2563eb);
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.coopprint-clear-filters:hover {
    color: var(--coop-accent-hover, #1d4ed8);
    text-decoration: underline;
}

/* Filter Toggle Icon - nur für Legacy-Support */
.coopprint-filter-toggle-icon {
    font-size: 16px;
    transition: transform 0.3s ease;
    display: inline-flex;
    align-items: center;
}

/* Mobile Responsive */
@media (max-width: 1024px) {
    .coopprint-shop-wrapper {
        flex-direction: column;
        gap: 24px;
    }

    /* Desktop Sidebar im mobilen Modus verstecken */
    .coopprint-filters-sidebar:not(.coopprint-filters-sidebar-mobile) {
        display: none;
        width: 100%;
        padding-top: 0;
    }
    /* Mobile Sidebar: Standardmäßig versteckt, wird durch JavaScript getoggelt */
    .coopprint-filters-sidebar-mobile {
        width: 100%;
        padding-top: 0;
    }

    .coopprint-filters-content {
        position: relative;
        top: auto;
    }

    .coopprint-filters-title {
        margin-bottom: 0;
    }
    
    .coopprint-shop-search {
        margin-bottom: 10px;
    }
    
    .coopprint-search-input {
        font-size: 16px; /* Verhindert Zoom auf iOS */
        padding: 8px 12px;
    }
    
    .coopprint-search-submit {
        min-width: 40px;
        height: 36px;
        padding: 8px 14px;
    }

    /* Alte Ein-/Ausblendreihenfolge entfernen – Mobile zeigt Karten stets */
    .coopprint-filters-sidebar .coopprint-filters-content > * { display: block; }

    .coopprint-filters-sidebar.is-open .coopprint-filter-group:first-of-type {
        margin-top: 24px;
    }
}

@media (min-width: 1025px) {
    /* Inline-Toggle/Panel nur mobil, daher Desktop ausblenden */
    .coopprint-filter-inline-toggle,
    .coopprint-filter-inline-panel {
        display: none !important;
    }
}

@media (max-width: 768px) {
    /* Mobile: Sidebar-Suche prominent; Icon sichtbar */
    .coopprint-filter-inline-toggle {
        display: inline-flex;
    }
    /* Mobile: Suche zentriert und breiter */
    .coopprint-products-topbar {
        justify-content: center;
    }
    .coopprint-topbar-search {
        width: 100%;
        max-width: 640px;
    }
    .coopprint-topbar-search .coopprint-shop-search {
        width: 100%;
    }
    .coopprint-search-wrapper {
        padding: 2px;
    }
    .coopprint-search-input {
        padding: 10px 12px;
    }
    .coopprint-search-submit {
        height: 40px;
        min-width: 40px;
    }
    .coopprint-results-header {
        margin-bottom: 6px;
        padding-bottom: 4px;
    }
    .coopprint-results-count {
        font-size: 13px; /* identisch zu Desktop/Tablet */
    }
}

/* Tablet-Optimierungen (nur Suche, kein Icon/Sidebar, kompakter Header) */
@media (min-width: 769px) and (max-width: 1024px) {
    .coopprint-products-topbar {
        justify-content: center;
    }
    .coopprint-topbar-search {
        width: 100%;
        max-width: 1000px;
    }
    /* Filter-Icon auch auf Tablet */
    .coopprint-filter-inline-toggle {
        display: inline-flex;
    }
    .coopprint-results-header {
        margin-bottom: 8px;
        padding-bottom: 8px;
    }
    .coopprint-results-count {
        font-size: 13px; /* einheitlich */
    }
}

/* Grid sollte definitiv Grid bleiben */
.coopprint-grid-container {
    display: grid !important;
}


/* === CoopPrint Shop: Filter & Pagination Harmonisierung === */
.coopprint-filters-sidebar,
.coopprint-filter-inline-panel {
	/* Card-Stack Look */
	display: block;
}

.coopprint-filters-sidebar .filter-stack,
.coopprint-filter-inline-panel .filter-stack {
	display: grid;
	gap: var(--coop-spacing-md);
}

.filter-card {
	background: transparent;
	border: none !important;
	border-radius: 0;
	padding: 0;
}

.filter-card--header .filter-title {
	margin: 0;
	font-size: 14px;
	font-weight: 600;
	letter-spacing: .2px;
	color: var(--coop-text-secondary, #a0a0a0);
}

/* Filter-spezifische Styles entfernt - verwenden jetzt Standard-CoopPrint-Styles */

/* Topbar Harmonisierung */
.coopprint-products-topbar {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--coop-spacing-sm, 12px);
	margin: 0 auto var(--coop-spacing-sm, 12px);
	width: 100%;
}
.coopprint-products-topbar .coopprint-topbar-search {
	/* volle Breite wie im Mobile-Modus */
	flex: 1 1 auto;
	width: 100%;
	max-width: none;
	display: flex;
	justify-content: center;
}
.coopprint-filter-select {
	min-height: 36px;
	padding: 6px 10px;
	border-radius: 8px;
	border: 1px solid var(--coop-border, rgba(255,255,255,0.08));
	background: var(--coop-surface, #0f0f10);
	color: var(--coop-text-primary, #fff);
}
.coopprint-filter-select:focus-visible {
	outline: 2px solid var(--coop-accent, #fff);
	outline-offset: 2px;
}

/* Inline Panel Animation (mobil) */
.coopprint-filter-inline-panel {
	border: 1px solid var(--coop-border, rgba(255,255,255,0.08));
	border-radius: var(--coop-radius-md, 12px);
	padding: var(--coop-spacing-sm, 12px);
	margin-bottom: var(--coop-spacing-sm, 12px);
}
.coopprint-filter-inline-panel.is-open {
	animation: coop-slide-down .18s ease-out;
}
@keyframes coop-slide-down {
	from { opacity: 0; transform: translateY(-4px); }
	to { opacity: 1; transform: translateY(0); }
}

/* Pagination als Pills */
.coopprint-pagination {
	margin: 16px 0 0;
}
.coopprint-pagination ul.page-numbers {
	display: flex;
	gap: 8px;
	list-style: none;
	padding: 0;
	margin: 0;
	flex-wrap: wrap;
}
.coopprint-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 34px;
	height: 34px;
	padding: 0 10px;
	border-radius: 999px;
	border: 1px solid var(--coop-border, rgba(255,255,255,0.08));
	background: transparent;
	color: var(--coop-text-secondary, #a0a0a0);
	text-decoration: none;
}
.coopprint-pagination .page-numbers.current {
	background: var(--coop-accent, #fff);
	color: #000;
	border-color: var(--coop-accent, #fff);
}
.coopprint-pagination a.page-numbers:hover {
	color: var(--coop-text-primary, #fff);
	border-color: var(--coop-border-strong, rgba(255,255,255,0.18));
	background: rgba(255,255,255,0.04);
	text-decoration: none;
}
.coopprint-pagination .page-numbers:focus-visible {
	outline: 2px solid var(--coop-accent, #fff);
	outline-offset: 2px;
}

/* Results Header Feinschliff */
.coopprint-results-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-sm, 12px);
	margin: 8px 0 var(--coop-spacing-sm, 12px);
}
.coopprint-results-count {
	margin: 0;
	font-size: 16px;
	color: var(--coop-text-primary, #fff);
	font-weight: 600;
}
.coopprint-results-query {
	margin-left: 8px;
	color: var(--coop-text-secondary, #a0a0a0);
	font-weight: 500;
}

/* Filter-spezifische Light Mode Overrides entfernt - verwenden jetzt Standard-Styles */
/* Responsive Sichtbarkeit: Sidebar vs. Toggle */
@media (max-width: 1024px) {
	/* Topbar: Suche zentriert, Button fixiert rechts, beeinflusst Breite nicht */
	.coopprint-products-topbar {
		position: relative;
		justify-content: center;
        width: 100%;
	}
	.coopprint-topbar-search {
		flex: 0 1 680px;
		max-width: 680px;
		width: 100%;
		margin: 0 auto;
		padding-right: 44px; /* Platz für Toggle-Button, verhindert Überlappung */
	}
	/* Desktop Sidebar im mobilen Modus verstecken */
	.coopprint-filters-sidebar:not(.coopprint-filters-sidebar-mobile) {
		display: none;
	}
	/* Mobile Sidebar: Standardmäßig versteckt, erscheint unter der Topbar wenn geöffnet */
	.coopprint-filters-sidebar-mobile {
		display: none;
		width: 100%;
		margin-top: 12px; /* Abstand zur Topbar */
	}
	.coopprint-filters-sidebar-mobile.is-open {
		display: block;
	}
	/* Filter Toggle Button - Positionierung und SVG-Farben */
	#coopprint-filter-toggle {
		position: absolute;
		top: 50%;
		right: 0;
		transform: translateY(-50%);
		z-index: 2;
	}
	
	/* SVG-Farben explizit setzen - verhindert schwarze Füllung */
	#coopprint-filter-toggle svg {
		fill: none !important;
		stroke: currentColor !important;
	}
	
	#coopprint-filter-toggle svg * {
		fill: none !important;
		stroke: currentColor !important;
	}
	
	#coopprint-filter-toggle .coopprint-filter-toggle-text { 
		display: none; 
	}

	/* Mobile: Filter kompakter gestalten */
	.filter-card--header { display: none; }
	.coopprint-filters-content {
		padding: 0;
		box-shadow: none;
	}
	/* Filter-Cards verwenden .coop-card Styling, kein Padding-Override */
	.filter-card--sort .filter-group {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		gap: 10px;
	}
	.filter-card--sort .filter-group-title {
		margin: 0;
		font-size: 13px;
	}
	.filter-card--sort .coopprint-filter-select {
		min-width: 160px;
		max-width: 58%;
		height: 34px;
	}
	/* Kategorien: max. 2 Zeilen, Button zum Aufklappen */
	.filter-card--categories .filter-list--pills {
		max-height: 84px; /* ~ 2 Zeilen */
		overflow: hidden;
		transition: max-height 0.2s ease;
	}
	.filter-card--categories.is-expanded .filter-list--pills {
		max-height: none;
	}
	/* „…“-Pill als Mehr-Anzeigen-Trigger */
}
@media (min-width: 1025px) {
	#coopprint-filter-toggle {
		display: none;
	}
	/* Desktop Sidebar sichtbar */
	.coopprint-filters-sidebar:not(.coopprint-filters-sidebar-mobile) {
		display: block;
	}
	/* Mobile Sidebar im Desktop-Modus verstecken */
	.coopprint-filters-sidebar-mobile {
		display: none !important;
	}
	/* Desktop-Layout: Suche oben, darunter Sidebar links + Produkte rechts */
	.coopprint-shop-content {
		display: grid;
		grid-template-columns: 280px 1fr;
		align-items: start;
		gap: var(--coop-spacing-md, 16px);
	}
	.coopprint-products-topbar { justify-content: center; margin-bottom: 8px; }
	.coopprint-products-main { min-width: 0; }
}

@media (min-width: 1025px) {
	/* Sticky: Suchleiste bleibt sichtbar, nicht unter dem Header */
	.coopprint-products-topbar {
		position: sticky;
		/* weiter unterhalb des Headers, damit nichts mehr angeschnitten wird;
		   Wrapper-Padding (8px) + zusätzlicher Abstand (20px) = 28px, damit Suchleiste am selben Ort bleibt */
		top: calc(var(--coop-header-height, 80px) + 28px);
		z-index: 100;
		background: transparent;
		/* kein Innenpadding – vertikale Position nur über Header-Höhe */
		padding-top: 0;
		padding-bottom: 0;
		border-bottom: none;
		box-shadow: none;
	}

	/* Sticky: Kategorien/Filter links fixieren - identischer Offset wie Wrapper-Padding */
	.coopprint-filters-sidebar {
		position: sticky;
		/* Wrapper-Padding (8px) + zusätzlicher Abstand (20px) = 28px, damit Sidebar am selben Ort bleibt */
		top: calc(var(--coop-header-height, 80px) + 28px);
		align-self: start;
		z-index: 10;
	}
}

/* ============================================
   WOOCOMMERCE SINGLE PRODUCT PAGE - CUSTOM LAYOUT
   ============================================ */

/* Main Product Page Wrapper */
.coop-product-page {
	max-width: 1320px;
	margin: 0 auto;
	padding: var(--coop-spacing-3xl) var(--coop-spacing-xl);
	width: 100%;
	box-sizing: border-box;
	overflow-x: hidden;
}

/* Produkt-Container: Verhindert Overflow und stellt sicher, dass alles innerhalb bleibt */
div[id^="product-"],
div[id*="product-"] {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* 2-Column Layout (Hauptbereich) */
/* Product Page Top Header: Titel (60%) + Kategorien (40%) */
.coop-product-page__top-header {
	display: grid;
	grid-template-columns: 3fr 2fr; /* 60% / 40% Aufteilung */
	gap: var(--coop-spacing-3xl);
	margin-bottom: var(--coop-spacing-3xl);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__header-left {
	display: flex;
	align-items: center;
}

.coop-product-page__header-right {
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.coop-product-page__layout {
	display: grid;
	grid-template-columns: 1fr 1fr; /* 50/50 Aufteilung */
	gap: var(--coop-spacing-3xl);
	margin-bottom: var(--coop-spacing-3xl);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

/* Left Column: Galerie + Titel */
.coop-product-page__left {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xl);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	min-width: 0;
}

/* Header: Titel + Designer */
.coop-product-page__header {
	margin-bottom: 0;
}

.coop-product-page__title {
	font-size: var(--coop-font-4xl);
	font-weight: 700;
	margin: 0 0 var(--coop-spacing-md) 0;
	color: var(--coop-text-primary);
	line-height: 1.2;
}

.coop-product-page__designer-info {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-sm);
	font-size: var(--coop-font-base);
}

.coop-product-page__designer-label {
	color: var(--coop-text-secondary);
	font-weight: 600;
}

.coop-product-page__designer-link {
	color: var(--coop-accent);
	text-decoration: none;
	font-weight: 600;
	transition: var(--coop-transition);
}

.coop-product-page__designer-link:hover {
	color: var(--coop-accent-hover);
	text-decoration: underline;
}

/* Product Gallery */
.coop-product-gallery {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md);
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-gallery__main {
	position: relative;
	width: 100%;
	max-width: 100%;
	aspect-ratio: 1 / 1;
	border-radius: var(--coop-radius-xl);
	overflow: hidden;
	background: var(--coop-bg-tertiary);
	border: 1px solid var(--coop-border-light);
	box-sizing: border-box;
}

.coop-product-gallery__main-img {
	width: 100%;
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain;
	cursor: pointer;
	transition: var(--coop-transition);
	box-sizing: border-box;
}

.coop-product-gallery__main-img:hover {
	transform: scale(1.02);
}

.coop-product-gallery__thumbnails {
	display: flex;
	gap: var(--coop-spacing-sm);
	overflow-x: auto;
	padding-bottom: var(--coop-spacing-xs);
	scrollbar-width: thin;
	scrollbar-color: var(--coop-border) transparent;
}

.coop-product-gallery__thumbnails::-webkit-scrollbar {
	height: 6px;
}

.coop-product-gallery__thumbnails::-webkit-scrollbar-track {
	background: transparent;
}

.coop-product-gallery__thumbnails::-webkit-scrollbar-thumb {
	background: var(--coop-border);
	border-radius: var(--coop-radius-sm);
}

.coop-product-gallery__thumb {
	position: relative;
	min-width: 100px; /* 1.25x größer: 80px * 1.25 = 100px */
	width: 100px;
	height: 100px;
	border-radius: var(--coop-radius-md);
	overflow: hidden;
	border: 2px solid transparent;
	background: var(--coop-bg-tertiary);
	cursor: pointer;
	padding: 0;
	transition: var(--coop-transition);
}

.coop-product-gallery__thumb:hover,
.coop-product-gallery__thumb.active {
	border-color: var(--coop-accent);
	transform: translateY(-2px);
}

.coop-product-gallery__thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coop-product-gallery__placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	min-height: 400px;
	color: var(--coop-text-muted);
	font-size: var(--coop-font-lg);
}

/* Right Column: Buy Box (Sticky) */
.coop-product-page__right {
	position: sticky;
	top: calc(var(--coop-header-height, 80px) + var(--coop-spacing-xl, 24px));
	align-self: start;
	max-height: calc(100vh - var(--coop-header-height, 80px) - var(--coop-spacing-xl, 24px) * 2);
	overflow-y: auto;
	scrollbar-width: thin;
	scrollbar-color: var(--coop-border) transparent;
	width: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	min-width: 0;
	z-index: 10; /* Unter dem Header, aber über normalem Content */
}

.coop-product-page__right::-webkit-scrollbar {
	width: 6px;
}

.coop-product-page__right::-webkit-scrollbar-track {
	background: transparent;
}

.coop-product-page__right::-webkit-scrollbar-thumb {
	background: var(--coop-border);
	border-radius: var(--coop-radius-sm);
}

/* Alte Buy Box Styles entfernt - wird nicht mehr verwendet (ersetzt durch coop-product-page__* Klassen) */

/* Unter dem Hauptbereich: Beschreibung (70%) + Produkte aus derselben Kategorie (30%) */
.coop-product-page__below {
	display: grid;
	grid-template-columns: 7fr 3fr; /* 70% / 30% Verhältnis, berücksichtigt gap automatisch */
	gap: var(--coop-spacing-3xl);
	margin-bottom: var(--coop-spacing-3xl);
}

.coop-product-page__description-section {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-3xl);
}

/* Beschreibung und Reviews Blöcke */
.coop-product-page__description-full,
.coop-product-page__reviews-section {
	width: 100%;
}

/* Produkte aus derselben Kategorie - 30% Breite, Grid-Layout wie Shop */
.coop-product-page__related-section {
	display: flex;
	flex-direction: column;
}

.coop-product-page__related-products {
	position: sticky;
	top: calc(var(--coop-header-height, 80px) + var(--coop-spacing-xl));
	align-self: start;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.coop-product-page__related-products .coop-product-page__section-title {
	margin-bottom: var(--coop-spacing-lg, 2rem) !important;
	padding-bottom: var(--coop-spacing-md, 1.5rem) !important;
}

/* Grid-Layout für Produkte aus derselben Kategorie */
.coop-product-page__related-products .coopprint-product-grid {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-grid-container {
	display: grid;
	grid-template-columns: 1fr; /* Eine Spalte für 30% Breite */
	gap: 24px;
}

/* Produktkarten in Related-Section: Flexibel */
.coop-product-page__related-products .coopprint-product-card {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-card-image-wrapper {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-card-image-wrapper img,
.coop-product-page__related-products .coopprint-card-image {
	width: 100%;
	max-width: 100%;
	height: auto;
	box-sizing: border-box;
	object-fit: cover;
	display: block;
}

.coop-product-page__related-products .coopprint-card-content {
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
}

.coop-product-page__related-products .coopprint-card-title,
.coop-product-page__related-products .coopprint-card-title a {
	word-wrap: break-word;
	overflow-wrap: break-word;
	max-width: 100%;
}


/* Product Info Box */
.coop-product-info {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-lg);
}

.coop-product-info__fields {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-lg);
}

.coop-product-info__field {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xs);
}

.coop-product-info__label {
	font-size: var(--coop-font-sm);
	font-weight: 600;
	color: var(--coop-text-secondary);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.coop-product-info__value {
	font-size: var(--coop-font-base);
	color: var(--coop-text-primary);
	font-weight: 500;
}

.coop-product-info__select {
	padding: var(--coop-spacing-md) var(--coop-spacing-lg);
	border: 1px solid var(--coop-border);
	border-radius: var(--coop-radius-lg);
	background: var(--coop-bg-primary);
	color: var(--coop-text-primary);
	font-size: var(--coop-font-base);
	font-family: inherit;
	transition: var(--coop-transition);
	width: 100%;
}

.coop-product-info__select:focus {
	outline: none;
	border-color: var(--coop-accent);
	box-shadow: 0 0 0 3px var(--coop-accent-overlay-12);
}

/* Price Section */
.coop-product-info__price {
	padding: var(--coop-spacing-lg) 0;
	border-top: 1px solid var(--coop-border-light);
	border-bottom: 1px solid var(--coop-border-light);
}

.coop-product-info__price .price {
	font-size: var(--coop-font-3xl);
	font-weight: 700;
	color: var(--coop-text-primary);
}

.coop-product-info__price .woocommerce-Price-amount {
	color: var(--coop-accent);
}

/* CTA Section */
.coop-product-info__cta {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md);
}

.coop-product-info__stock {
	margin: 0;
	padding: var(--coop-spacing-md);
	border-radius: var(--coop-radius-lg);
	background: var(--coop-bg-tertiary);
	text-align: center;
	font-size: var(--coop-font-base);
	color: var(--coop-text-muted);
}

.coop-product-info__stock .out-of-stock,
.coop-product-info__stock .not-purchasable {
	color: var(--coop-text-muted);
	font-weight: 600;
}

/* Quantity Input */
.coop-product-info__cta .quantity {
	margin-bottom: var(--coop-spacing-md);
}

.coop-product-info__cta .quantity input {
	padding: var(--coop-spacing-md) var(--coop-spacing-lg);
	border: 1px solid var(--coop-border);
	border-radius: var(--coop-radius-lg);
	background: var(--coop-bg-primary);
	color: var(--coop-text-primary);
	font-size: var(--coop-font-base);
	width: 100%;
	text-align: center;
}

/* Full Width Sections (Legacy - wird durch __below ersetzt) */
.coop-product-page__fullwidth {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-3xl);
}

.coop-product-page__section-title {
	font-size: var(--coop-font-2xl);
	font-weight: 700;
	margin: 0 !important;
	margin-top: 0 !important;
	padding: 0 !important;
	padding-top: 0 !important;
	padding-bottom: var(--coop-spacing-md, 1.5rem) !important;
	color: var(--coop-text-primary);
}

/* Description Section */
.coop-product-page__description-full,
.coop-product-page__reviews-section,
.coop-product-page__purchase-box {
	padding: var(--coop-spacing-xl);
}

.coop-product-page__description-full .entry-content,
.coop-product-page__reviews-content {
	line-height: 1.75;
	color: var(--coop-text-primary);
}

.coop-product-page__description-full .entry-content p,
.coop-product-page__reviews-content p {
	margin-bottom: var(--coop-spacing-md);
}

.coop-product-page__description-full .entry-content p:last-child,
.coop-product-page__reviews-content p:last-child {
	margin-bottom: 0;
}

/* Designer Section */
.coop-product-designer {
	padding: var(--coop-spacing-xl);
}

.coop-product-designer__layout {
	display: grid;
	grid-template-columns: 1fr 2fr;
	gap: var(--coop-spacing-3xl);
}

.coop-product-designer__profile-content {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-lg);
}

.coop-product-designer__avatar {
	width: 80px;
	height: 80px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid var(--coop-border-light);
}

.coop-product-designer__avatar-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coop-product-designer__name {
	font-size: var(--coop-font-xl);
	font-weight: 700;
	margin: 0 0 var(--coop-spacing-sm) 0;
}

.coop-product-designer__name a {
	color: var(--coop-text-primary);
	text-decoration: none;
	transition: var(--coop-transition);
}

.coop-product-designer__name a:hover {
	color: var(--coop-accent);
}

.coop-product-designer__description {
	color: var(--coop-text-secondary);
	line-height: 1.6;
	margin: 0 0 var(--coop-spacing-md) 0;
}

/* Related Products Grid */
.coop-product-related__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
	gap: var(--coop-spacing-lg);
}

/* Product Tags */
.coop-product-tags {
	display: flex;
	flex-wrap: wrap;
	gap: var(--coop-spacing-sm);
	padding: var(--coop-spacing-xl) 0;
}

.coop-product-tags .filter-pill {
	padding: var(--coop-spacing-sm) var(--coop-spacing-lg);
	border-radius: 999px;
	background: var(--coop-bg-tertiary);
	border: 1px solid var(--coop-border-light);
	color: var(--coop-text-primary);
	text-decoration: none;
	font-size: var(--coop-font-sm);
	font-weight: 500;
	transition: var(--coop-transition);
	display: inline-block;
}

.coop-product-tags .filter-pill:hover {
	border-color: var(--coop-accent);
	background: var(--coop-accent-overlay-10);
	color: var(--coop-accent);
	transform: translateY(-2px);
}

/* Reviews Section */
.coop-product-page__reviews-section {
    margin-top: var(--coop-spacing-xl, 32px);
}

.coop-product-page__reviews-content {
    padding: 0;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

/* Bewertungsformular */
.coop-review-form-wrapper {
    margin-bottom: var(--coop-spacing-xl, 32px);
    padding: var(--coop-spacing-lg, 24px);
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border-radius: var(--coop-radius-lg, 12px);
    border: 1px solid var(--coop-border-light, var(--coop-border));
}

.coop-review-form-title {
    font-size: var(--coop-font-lg, 18px);
    font-weight: 600;
    margin: 0 0 var(--coop-spacing-lg, 24px) 0;
    color: var(--coop-text-primary);
}

.coop-review-field {
    margin-bottom: var(--coop-spacing-lg, 24px);
}

.coop-review-label {
    display: block;
    font-size: var(--coop-font-sm, 14px);
    font-weight: 500;
    margin-bottom: var(--coop-spacing-sm, 8px);
    color: var(--coop-text-primary);
}

.coop-star-rating {
    margin-bottom: var(--coop-spacing-sm, 8px);
}

.coop-stars {
    display: flex;
    gap: 4px;
    margin-bottom: var(--coop-spacing-sm, 8px);
}

.coop-star {
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    color: var(--coop-text-muted, #9ca3af);
    transition: all 0.2s ease;
}

.coop-star:hover {
    color: #fbbf24;
    transform: scale(1.1);
}

.coop-star.active {
    color: #fbbf24;
}

.coop-star svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    transition: fill 0.2s ease;
}

.coop-star.active svg {
    fill: #fbbf24;
    stroke: #fbbf24;
}

.coop-review-comment {
    width: 100%;
    padding: var(--coop-spacing-sm, 8px);
    border: 1px solid var(--coop-border, #e5e7eb);
    border-radius: var(--coop-radius-md, 8px);
    font-family: inherit;
    font-size: var(--coop-font-sm, 14px);
    resize: vertical;
    min-height: 80px;
    background: #fff;
    color: #1f2937;
}

.coop-review-comment:focus {
    outline: none;
    border-color: var(--coop-primary, #3537e3);
    box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.1);
}

/* Dark Mode für Kommentarfelder */
body.coop-dark-mode-manual .coop-review-comment,
body.coop-dark-area .coop-review-comment {
    background: var(--coop-bg-secondary, rgba(255,255,255,0.03));
    border-color: var(--coop-border-color, rgba(255,255,255,0.1));
    color: var(--coop-text-primary, #f5f5f5);
}

body.coop-dark-mode-manual .coop-review-comment:focus,
body.coop-dark-area .coop-review-comment:focus {
    border-color: var(--coop-accent, #3537e3);
    box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.2);
}

body.coop-dark-mode-manual .coop-review-comment::placeholder,
body.coop-dark-area .coop-review-comment::placeholder {
    color: var(--coop-text-muted, #6C6D7C);
}

.coop-review-submit {
    margin-top: var(--coop-spacing-md, 16px);
}

.coop-review-message {
    margin-top: var(--coop-spacing-md, 16px);
    padding: var(--coop-spacing-sm, 8px) var(--coop-spacing-md, 16px);
    border-radius: var(--coop-radius-md, 8px);
    font-size: var(--coop-font-sm, 14px);
}

.coop-review-message--success {
    background: #d1fae5;
    color: #065f46;
    border: 1px solid #6ee7b7;
}

.coop-review-message--error {
    background: #fee2e2;
    color: #991b1b;
    border: 1px solid #fca5a5;
}

/* Bewertungslisten */
.coop-reviews-section {
    margin-bottom: var(--coop-spacing-xl, 32px);
}

.coop-reviews-section-title {
    font-size: var(--coop-font-lg, 18px);
    font-weight: 600;
    margin: 0 0 var(--coop-spacing-lg, 24px) 0;
    color: var(--coop-text-primary);
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm, 8px);
    flex-wrap: wrap;
}

.coop-reviews-average {
    font-size: var(--coop-font-base, 16px);
    font-weight: 400;
    color: var(--coop-text-secondary);
}

.coop-reviews-count {
    font-size: var(--coop-font-sm, 14px);
    color: var(--coop-text-muted);
}

.coop-reviews-list {
    display: flex;
    flex-direction: column;
    gap: var(--coop-spacing-md, 16px);
}

.coop-review-item {
    padding: var(--coop-spacing-md, 16px);
    background: var(--coop-bg-box, var(--coop-bg-secondary));
    border-radius: var(--coop-radius-md, 8px);
    border: 1px solid var(--coop-border-light, var(--coop-border));
}

.coop-review-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: var(--coop-spacing-sm, 8px);
    flex-wrap: wrap;
    gap: var(--coop-spacing-sm, 8px);
}

.coop-review-stars {
    display: flex;
    gap: 2px;
    font-size: 18px;
    line-height: 1;
}

.coop-star-filled {
    color: #fbbf24;
}

.coop-star-half {
    color: #fbbf24;
    opacity: 0.5;
}

.coop-star-empty {
    color: var(--coop-text-muted, #9ca3af);
}

.coop-review-author {
    display: flex;
    align-items: center;
    gap: var(--coop-spacing-sm, 8px);
    font-size: var(--coop-font-sm, 14px);
}

.coop-review-date {
    color: var(--coop-text-muted);
    font-size: var(--coop-font-xs, 12px);
}

.coop-review-partner {
    margin-top: var(--coop-spacing-xs, 4px);
    font-size: var(--coop-font-sm, 14px);
    color: var(--coop-text-secondary);
}

.coop-review-comment-text {
    margin-top: var(--coop-spacing-sm, 8px);
    padding-top: var(--coop-spacing-sm, 8px);
    border-top: 1px solid var(--coop-border-light, var(--coop-border));
    color: var(--coop-text-primary);
    line-height: 1.6;
}

.coop-product-page__reviews {
	padding: var(--coop-spacing-xl) 0;
}

/* WooCommerce Product Tabs Override */
.coop-product-page .woocommerce-tabs {
	margin-top: var(--coop-spacing-3xl);
}

.coop-product-page .woocommerce-tabs ul.tabs {
	display: flex;
	gap: var(--coop-spacing-md);
	border-bottom: 2px solid var(--coop-border-light);
	margin-bottom: var(--coop-spacing-xl);
	padding: 0;
	list-style: none;
}

.coop-product-page .woocommerce-tabs ul.tabs li {
	margin: 0;
	padding: 0;
}

.coop-product-page .woocommerce-tabs ul.tabs li a {
	padding: var(--coop-spacing-md) var(--coop-spacing-lg);
	border-bottom: 2px solid transparent;
	color: var(--coop-text-secondary);
	text-decoration: none;
	font-weight: 600;
	font-size: var(--coop-font-base);
	transition: var(--coop-transition);
	display: block;
	margin-bottom: -2px;
}

.coop-product-page .woocommerce-tabs ul.tabs li.active a,
.coop-product-page .woocommerce-tabs ul.tabs li a:hover {
	color: var(--coop-accent);
	border-bottom-color: var(--coop-accent);
}

.coop-product-page .woocommerce-tabs .panel {
	padding: var(--coop-spacing-xl) 0;
	color: var(--coop-text-primary);
}

/* Responsive: Tablet */
@media (max-width: 1024px) {
	.coop-product-page__top-header {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-lg);
	}

	.coop-product-page__header-right {
		justify-content: flex-start;
	}

	.coop-product-page__category-path {
		justify-content: flex-start;
	}

	.coop-product-page__layout {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	.coop-product-page__right {
		position: static;
		max-height: none;
		overflow-y: visible;
	}

	.coop-product-page__below {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	.coop-product-designer__layout {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	.coop-product-related__grid {
		grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
		gap: var(--coop-spacing-md);
	}
}

/* Responsive: Mobile */
@media (max-width: 768px) {
	.coop-product-page {
		padding: var(--coop-spacing-xl) var(--coop-spacing-md);
		box-sizing: border-box;
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
	}

	.coop-product-page__layout {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__left,
	.coop-product-page__right {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__title {
		font-size: var(--coop-font-3xl);
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	.coop-product-gallery {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-gallery__main {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-gallery__main-img {
		width: 100%;
		max-width: 100%;
		height: auto;
		box-sizing: border-box;
		object-fit: contain;
	}

	.coop-product-gallery__thumb {
		min-width: 75px;
		width: 75px;
		height: 75px;
		box-sizing: border-box;
	}

	.coop-product-gallery__thumbnails {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coopprint-product-card {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coopprint-product-card img {
		width: 100%;
		max-width: 100%;
		height: auto;
		box-sizing: border-box;
	}

	.coopprint-grid-container {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		padding: 0;
	}

	/* Mobile: Grid wird zu einer Spalte */

	.coop-product-page__cart-section {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__filament-section {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-filament-toggle,
	.coop-filament-pills {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-tags {
		gap: var(--coop-spacing-xs);
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-tags .filter-pill {
		padding: var(--coop-spacing-xs) var(--coop-spacing-md);
		font-size: var(--coop-font-xs);
		max-width: 100%;
		box-sizing: border-box;
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

	.coop-product-page__description-section,
	.coop-product-page__related-section {
		min-width: 0;
	}

	.coop-product-page__cart-section form.cart {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-filament-toggle,
	.coop-filament-pills {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
	}

	.coop-product-page__add-to-cart-wrapper {
		width: 100%;
		max-width: 100%;
		box-sizing: border-box;
		flex-wrap: wrap;
	}

	.coop-product-page__add-to-cart {
		min-width: 0;
		flex: 1 1 auto;
	}

	/* Reviews-Sektion: Optimierung für mobile Geräte */
	.coop-product-page__reviews-section {
		margin-top: var(--coop-spacing-lg);
	}

	.coop-product-page__reviews-content {
		word-wrap: break-word;
		overflow-wrap: break-word;
		hyphens: auto;
		line-height: 1.6;
	}

	.coop-product-page__reviews-content p {
		margin-bottom: var(--coop-spacing-md);
		word-wrap: break-word;
		overflow-wrap: break-word;
	}

}

/* Zusätzliche Mobile-Optimierungen für sehr kleine Screens */
@media (max-width: 480px) {
	.coop-product-page {
		padding: var(--coop-spacing-lg) var(--coop-spacing-sm);
	}

	.coop-product-gallery__main {
		max-height: 60vh;
	}

	.coop-product-gallery__thumb {
		min-width: 60px;
		width: 60px;
		height: 60px;
	}

	.coopprint-grid-container {
		grid-template-columns: 1fr;
		gap: 16px;
	}

	.coop-product-page__below {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl);
	}

	/* Reviews-Sektion: Zusätzliche Optimierungen für sehr kleine Screens */
	.coop-product-page__reviews-content {
		font-size: 0.95em;
		line-height: 1.7;
	}

	.coop-product-page__reviews-content p {
		margin-bottom: var(--coop-spacing-sm);
	}

}

/* WooCommerce Overrides for Product Page */
.single-product .woocommerce-breadcrumb {
	display: none;
}

.single-product .site-main {
	padding-top: 0;
}

/* ============================================
   PRODUKTSEITE - ANPASSUNGEN
   ============================================ */

/* Produkttitel 1,5x größer (auf Produktseite) */
.coop-product-page .coopprint-card-title {
	font-size: 24px !important; /* Größer gemacht */
	line-height: 1.4 !important;
	font-weight: 600 !important;
}

/* Header: Titel + Designer (im Top-Header) */
.coop-product-page__header {
	display: flex;
	align-items: center;
	gap: 12px;
	flex-wrap: wrap;
	margin-bottom: 0;
}

/* Profilbild auf Produktseite größer */
.coop-product-page__header .coopprint-designer-avatar {
	width: 48px !important;
	height: 48px !important;
	flex-shrink: 0;
}

/* Designer-Name auf Produktseite größer */
.coop-product-page__header .coopprint-designer-name {
	font-size: 16px !important;
	font-weight: 500 !important;
}

/* Kategorie-Pfad mit Pills (wie im Shop) */
.coop-product-page__category-path {
	margin-bottom: 0;
	display: flex;
	align-items: center;
	flex-wrap: nowrap; /* Kein Umbruch - alles in einer Reihe */
	gap: 8px;
	justify-content: flex-end;
}

/* Filter-Pills verwenden den Standard-Style vom Shop (wie auf der Shop-Seite) */
.coop-product-page__category-path .filter-pill {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 8px;
	border: 1px solid var(--coop-border-light, #e5e7eb);
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #1a1a1a);
	font-size: 14px;
	font-weight: 500;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
	text-align: center;
	text-decoration: none;
	width: auto !important;
	white-space: nowrap;
}

.coop-product-page__category-path .filter-pill:hover {
	border-color: var(--coop-accent, #2563eb);
	background: var(--coop-bg-secondary, #f9fafb);
	color: var(--coop-accent, #2563eb);
	text-decoration: none;
}

.coop-product-page__category-path .filter-pill:active,
.coop-product-page__category-path .filter-pill:focus {
	border-color: var(--coop-accent, #2563eb);
	background: var(--coop-bg-secondary, #f9fafb);
	color: var(--coop-accent, #2563eb);
	outline: 2px solid var(--coop-accent, #2563eb);
	outline-offset: 2px;
}

/* Dark Mode für Filter-Pills auf Produktseite */
body.coop-dark-mode-manual .coop-product-page__category-path .filter-pill,
body.coop-dark-area .coop-product-page__category-path .filter-pill {
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
	color: var(--coop-text-primary, #ffffff) !important;
}

body.coop-dark-mode-manual .coop-product-page__category-path .filter-pill:hover,
body.coop-dark-area .coop-product-page__category-path .filter-pill:hover {
	background: var(--coop-bg-primary, rgba(255, 255, 255, 0.05)) !important;
	border-color: var(--coop-accent, #6366f1) !important;
	color: var(--coop-accent, #6366f1) !important;
}

.coop-product-page__category-separator {
	color: var(--coop-text-muted, #9ca3af);
	margin: 0 4px;
	font-size: 14px;
	font-weight: 500;
	flex-shrink: 0; /* Separator wird nicht kleiner */
}

/* Preis-Style verbessern (größer und schöner) */
.coop-product-page__price-section {
	margin-top: 0;
	margin-bottom: var(--coop-spacing-md, 16px);
	padding-top: 0;
}

.coop-product-page__price-section .price {
	font-size: 32px !important;
	font-weight: 700 !important;
	color: var(--coop-text-primary, #1a1a1a) !important;
	margin: 0 0 8px 0 !important;
	line-height: 1.2 !important;
}

.coop-product-page__price-section .woocommerce-Price-amount {
	color: var(--coop-accent, #2563eb) !important;
	font-size: inherit !important;
}

.coop-product-page__price-section .price del {
	font-size: 20px !important;
	color: var(--coop-text-muted, #6b7280) !important;
	opacity: 0.7;
}

.coop-product-page__price-section .price ins {
	text-decoration: none;
}

/* Bildgalerie: Maximale Höhe 0.75x, Pfeile über Bildern, breite Bilder volle Breite */
.coop-product-gallery__main {
	max-width: 100%;
	width: 100%;
	aspect-ratio: 1 / 1; /* Standard 1:1 Format */
	max-height: 75vh; /* Maximale Höhe 0.75x der Viewport-Höhe */
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden; /* Für Pfeile über Bildern */
	background: var(--coop-bg-secondary, #f9fafb);
	box-sizing: border-box;
}

.coop-product-gallery__main-img {
	width: 100%; /* Volle Breite für breite Bilder */
	max-width: 100%;
	height: 100%;
	max-height: 100%;
	object-fit: contain; /* Bilder vollständig anzeigen, nicht abschneiden */
	object-position: center; /* Mittig zentrieren */
	display: block;
	box-sizing: border-box;
}

/* Hover-Pfeile für Bildnavigation - über den Bildern angezeigt */
.coop-product-gallery__nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 48px;
	height: 48px;
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--coop-border, #e5e7eb);
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid var(--coop-border-light, rgba(0, 0, 0, 0.1));
	border-radius: 50%;
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	z-index: 20; /* Über dem Bild */
	transition: var(--coop-transition);
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.coop-product-gallery__main:hover .coop-product-gallery__nav {
	display: flex;
}

.coop-product-gallery__nav:hover {
	background: rgba(255, 255, 255, 1);
	border-color: var(--coop-accent, #2563eb);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	transform: translateY(-50%) scale(1.1);
}

.coop-product-gallery__nav--prev {
	left: 16px;
}

.coop-product-gallery__nav--next {
	right: 16px;
}

.coop-product-gallery__nav svg {
	width: 20px;
	height: 20px;
	color: var(--coop-text-primary, #1a1a1a);
}

/* Dark Mode: Gallery Navigation Buttons */
body.coop-dark-mode-manual .coop-product-gallery__nav,
body.coop-dark-area .coop-product-gallery__nav {
	background: rgba(0, 0, 0, 0.7) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.2)) !important;
}

body.coop-dark-mode-manual .coop-product-gallery__nav:hover,
body.coop-dark-area .coop-product-gallery__nav:hover {
	background: rgba(0, 0, 0, 0.9) !important;
	border-color: var(--coop-accent, #4c6fff) !important;
}

body.coop-dark-mode-manual .coop-product-gallery__nav svg,
body.coop-dark-area .coop-product-gallery__nav svg {
	color: var(--coop-text-primary, #fff) !important;
}

/* Filamentauswahl: ganze Zeile - komplett neu */
/* Überschreibt coop_filament_adjust_cart_ui() Styles - muss nach Footer-Styles geladen werden */
.coop-product-page__cart-section form.cart {
	display: flex !important;
	flex-direction: column !important;
	grid-template-columns: none !important;
	gap: var(--coop-spacing-md, 16px) !important;
	align-items: stretch !important;
}

.coop-product-page__cart-section form.cart > * {
	width: 100% !important;
	max-width: 100% !important;
}

.coop-product-page__filament-section--full-width {
	width: 100% !important;
	margin-bottom: var(--coop-spacing-md, 16px) !important;
	min-width: 100% !important;
	max-width: 100% !important;
	flex: 1 1 100% !important;
}

/* Filament-Auswahl: Pill-Auswahl (wie Kategorien im Shop) */
.coop-product-page__filament-section {
	margin-bottom: var(--coop-spacing-md, 16px);
	position: relative;
	z-index: 1; /* Innerhalb des sticky Containers */
}

.coop-filament-toggle {
	width: 100%;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 12px 16px;
	border: 1px solid var(--coop-border, #e5e7eb);
	border-radius: 8px;
	background: var(--coop-bg-primary, #fff);
	color: var(--coop-text-primary, #111827);
	font-size: 15px;
	cursor: pointer;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
	text-align: left;
}

.coop-filament-toggle:hover {
	border-color: var(--coop-accent, #2563eb);
	box-shadow: 0 2px 8px var(--coop-accent-overlay-10);
}

.coop-filament-toggle-swatch {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.08);
	background: var(--coop-bg-tertiary, #f3f4f6);
	flex-shrink: 0;
}

.coop-filament-toggle-text {
	flex: 1;
	text-align: left;
}

.coop-filament-toggle-arrow {
	color: var(--coop-text-secondary, #6b7280);
	font-size: 12px;
	flex-shrink: 0;
	transition: transform 0.2s ease;
}

.coop-filament-pills {
	display: none !important; /* Standardmäßig geschlossen */
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	margin-top: 4px;
	background: var(--coop-bg-primary, #fff);
	border: 1px solid var(--coop-border, #e5e7eb);
	border-radius: 8px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	z-index: 1000;
	max-height: 300px;
	overflow-y: auto;
	padding: 8px;
	flex-direction: column;
	gap: 8px;
}

/* Wenn geöffnet, dann als flex anzeigen */
.coop-filament-pills[style*="display: block"],
.coop-filament-pills[style*="display: flex"] {
	display: flex !important;
}

/* Dark Mode: Filament Dropdown */
body.coop-dark-mode-manual .coop-filament-pills,
body.coop-dark-area .coop-filament-pills {
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
}

.coop-filament-pill {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	padding: 10px 14px;
	border-radius: 999px;
	border: 1px solid var(--coop-border-light, #e5e7eb);
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #1a1a1a);
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
	text-align: left;
	width: 100%;
	justify-content: flex-start;
}

.coop-filament-pill:hover:not(.disabled) {
	border-color: var(--coop-accent, #2563eb);
	box-shadow: 0 2px 8px var(--coop-accent-overlay-10);
}

.coop-filament-pill.is-selected {
	background: color-mix(in srgb, var(--coop-accent) 14%, transparent);
	border-color: var(--coop-accent, #2563eb);
	color: var(--coop-text-primary, #0f172a);
	box-shadow: 0 2px 10px color-mix(in srgb, var(--coop-accent) 18%, transparent);
}

.coop-filament-pill.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

.coop-filament-pill-swatch {
	width: 20px;
	height: 20px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.08);
	flex-shrink: 0;
}

.coop-filament-pill-text {
	flex: 1;
	text-align: left;
}


/* Quantity + Add to Cart: Saubere Struktur */
.coop-product-page__add-to-cart-wrapper {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 0;
}

.coop-product-page__quantity {
	flex-shrink: 0;
	padding-top: 16px; /* Gleiches Padding wie über dem Warenkorb-Button */
}

.coop-product-page__quantity .quantity {
	width: auto !important;
	margin: 0 !important;
}

.coop-product-page__quantity .quantity input.qty {
	width: 60px !important;
	height: auto !important; /* Höhe passt sich an Padding an */
	padding: 14px 8px !important; /* Gleiches Padding wie Button (14px oben/unten) */
	font-size: 15px !important;
	text-align: center !important;
	border: 1px solid var(--coop-border, #e5e7eb) !important;
	border-radius: 8px !important;
	color: var(--coop-text-primary, #1a1a1a) !important;
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
}

/* Dark Mode: Quantity Input */
body.coop-dark-mode-manual .coop-product-page__quantity .quantity input.qty,
body.coop-dark-area .coop-product-page__quantity .quantity input.qty {
	color: var(--coop-text-primary, #fff) !important;
	background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
	border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
}

.coop-product-page__quantity .quantity label {
	display: none !important;
}

.coop-product-page__add-to-cart {
	flex: 1;
	min-width: 0;
	/* Verwendet das Standard-Padding von .coop-btn (14px oben/unten) */
}

.coop-product-page__cart-section form.cart .quantity {
	width: 100% !important;
	max-width: 100% !important;
	align-self: stretch !important;
}

	/* Kategorie-Auswahl im Designer Editor (ähnlich wie Filament-Auswahl) */
	.coop-category-toggle {
		width: 100%;
		display: flex;
		align-items: center;
		gap: 12px;
		padding: 12px 16px;
		border: 1px solid var(--coop-border, #e5e7eb);
		border-radius: 8px;
		background: var(--coop-bg-primary, #fff);
		color: var(--coop-text-primary, #111827);
		font-size: 15px;
		cursor: pointer;
		transition: border-color 0.2s ease, box-shadow 0.2s ease;
		text-align: left;
	}

	.coop-category-toggle:hover {
		border-color: var(--coop-accent, #2563eb);
		box-shadow: 0 2px 8px rgba(37, 99, 235, 0.1);
	}

	.coop-category-toggle-text {
		flex: 1;
		text-align: left;
	}

	.coop-category-toggle-arrow {
		color: var(--coop-text-secondary, #6b7280);
		font-size: 12px;
		flex-shrink: 0;
		transition: transform 0.2s ease;
	}

	.coop-category-pills {
		display: none !important;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		margin-top: 4px;
		background: var(--coop-bg-primary, #fff);
		border: 1px solid var(--coop-border, #e5e7eb);
		border-radius: 8px;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
		z-index: 1000;
		padding: 12px;
		flex-direction: column;
		gap: 8px;
	}

	.coop-category-pills[style*="display: flex"] {
		display: flex !important;
	}

	.coop-category-pill {
		display: inline-flex;
		align-items: center;
		gap: 10px;
		padding: 10px 14px;
		border-radius: 8px;
		border: 1px solid var(--coop-border-light, #e5e7eb);
		background: var(--coop-bg-primary, #ffffff);
		color: var(--coop-text-primary, #1a1a1a);
		font-size: 14px;
		font-weight: 500;
		cursor: pointer;
		transition: border-color 0.2s ease, background-color 0.2s ease, color 0.2s ease, box-shadow 0.2s ease;
		text-align: left;
		width: 100%;
		justify-content: flex-start;
	}

	.coop-category-pill:hover {
		border-color: var(--coop-accent, #2563eb);
		background: var(--coop-bg-secondary, #f9fafb);
	}

	.coop-category-pill.is-selected {
		border-color: var(--coop-accent, #2563eb);
		background: color-mix(in srgb, var(--coop-accent) 10%, transparent);
		color: var(--coop-accent, #2563eb);
		font-weight: 600;
	}

	.coop-category-pill-main {
		font-weight: 600;
	}

	.coop-category-pill-sub {
		font-weight: 400;
		font-size: 13px;
	}

	.coop-category-pill-text {
		flex: 1;
	}

	.coop-category-pill-arrow {
		color: var(--coop-text-secondary, #6b7280);
		font-size: 10px;
		transition: transform 0.2s ease;
	}

	.coop-category-subcategories {
		display: none;
		flex-direction: column;
		gap: 6px;
		margin-left: 20px;
		margin-top: 4px;
		padding-left: 12px;
		border-left: 2px solid var(--coop-border-light, #e5e7eb);
	}

	/* Dark Mode */
	body.coop-dark-mode-manual .coop-category-pills,
	body.coop-dark-area .coop-category-pills {
		background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
		border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
		box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3) !important;
	}

	body.coop-dark-mode-manual .coop-category-pill,
	body.coop-dark-area .coop-category-pill {
		background: var(--coop-bg-box, var(--coop-bg-secondary)) !important;
		border-color: var(--coop-border, rgba(255, 255, 255, 0.08)) !important;
		color: var(--coop-text-primary, #ffffff) !important;
	}

	body.coop-dark-mode-manual .coop-category-pill:hover,
	body.coop-dark-area .coop-category-pill:hover {
		background: var(--coop-bg-primary, rgba(255, 255, 255, 0.05)) !important;
	}

	body.coop-dark-mode-manual .coop-category-pill.is-selected,
	body.coop-dark-area .coop-category-pill.is-selected {
		background: color-mix(in srgb, var(--coop-accent) 20%, transparent) !important;
		border-color: var(--coop-accent, #6366f1) !important;
	}

	.coop-product-page__filament-label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--coop-text-secondary, #6b7280);
	margin-bottom: 8px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.coop-product-page__filament-select {
	width: 100% !important;
	padding: 12px 16px !important;
	border: 1px solid var(--coop-border, #e5e7eb) !important;
	border-radius: 8px !important;
	font-size: 15px !important;
	background: var(--coop-bg-primary, #fff) !important;
	color: var(--coop-text-primary, #1a1a1a) !important;
	font-family: inherit !important;
	box-sizing: border-box !important;
	max-width: 100% !important;
}

/* Warenkorb-Button: ganze Zeile */
/* Überschreibt coop_filament_adjust_cart_ui() Styles */
.coop-product-page__cart-section form.cart .coop-product-page__add-to-cart--full-width,
.coop-product-page__cart-section form.cart button[type="submit"][name="add-to-cart"] {
	width: 100% !important;
	margin-top: var(--coop-spacing-md, 16px) !important;
	padding: 14px 24px !important; /* Gleiches Padding wie Standard-Button */
	font-size: 16px !important;
	font-weight: 600 !important;
	grid-column: 1 / -1 !important;
	align-self: stretch !important;
}

/* Express Checkout Wrapper */
.wcpay-express-checkout-wrapper {
	margin-top: var(--coop-spacing-md, 16px);
	width: 100%;
}

.ppc-button-wrapper {
	width: 100%;
}

/* Stats: 0.75x der aktuellen Größe (18px statt 24px) und beide rechts */
.coop-product-page__stats {
	margin-top: var(--coop-spacing-xl, 32px);
	padding-top: var(--coop-spacing-lg, 24px);
	border-top: 1px solid var(--coop-border-light, #e5e7eb);
}

.coop-product-page__stats-inner {
	justify-content: flex-end !important;
	gap: 18px !important;
}

.coop-product-page__stats .coopprint-stat-item {
	font-size: 18px !important; /* 24px * 0.75 = 18px */
	gap: 6px;
}

.coop-product-page__stats .coopprint-stat-icon {
	width: 21px !important; /* 28px * 0.75 = 21px */
	height: 21px !important;
}

.coop-product-page__stats .coopprint-stat-icon svg {
	width: 100%;
	height: 100%;
}

.coop-product-page__stats .coopprint-stat-value {
	font-size: 18px !important;
	font-weight: 500 !important;
}

.coop-product-page__stats .coopprint-stat-like {
	font-size: 18px !important;
	padding: 6px 12px;
}

/* WooCommerce Notices - CoopPrint Style */
.woocommerce-notices-wrapper {
	margin: var(--coop-spacing-lg, 20px) 0;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info,
.woocommerce-notices-wrapper .woocommerce-error {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-lg, 20px) !important;
	padding-left: 50px !important;
	border-radius: var(--coop-radius-md, 8px) !important;
	border-left: none !important;
	border-top: 4px solid !important;
	border-right: none !important;
	border-bottom: none !important;
	font-size: var(--coop-font-base, 15px) !important;
	line-height: 1.65 !important;
	margin-bottom: var(--coop-spacing-md, 16px) !important;
	position: relative !important;
	background: var(--coop-bg-secondary) !important;
	color: var(--coop-text-primary) !important;
	font-family: "Inter", "Manrope", "Segoe UI", sans-serif !important;
}

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-info {
	border-top-color: var(--coop-accent) !important;
}

.woocommerce-notices-wrapper .woocommerce-error {
	border-top-color: var(--coop-text-muted) !important;
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-error {
	border-left-color: #ff6b6b !important;
	color: #ff6b6b !important;
}

.woocommerce-notices-wrapper .woocommerce-message::before,
.woocommerce-notices-wrapper .woocommerce-info::before,
.woocommerce-notices-wrapper .woocommerce-error::before {
	content: '';
	position: absolute;
	left: var(--coop-spacing-md, 16px);
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 20px;
	flex-shrink: 0;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.woocommerce-notices-wrapper .woocommerce-message::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233537e3'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-message::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234c6fff'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.woocommerce-notices-wrapper .woocommerce-info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%233537e3'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-info::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%234c6fff'%3E%3Cpath fill-rule='evenodd' d='M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a1 1 0 000 2v3a1 1 0 001 1h1a1 1 0 100-2v-3a1 1 0 00-1-1H9z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

.woocommerce-notices-wrapper .woocommerce-error::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236c6d7c'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

body.coop-dark-area .woocommerce-notices-wrapper .woocommerce-error::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%23ff6b6b'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zM8.707 7.293a1 1 0 00-1.414 1.414L8.586 10l-1.293 1.293a1 1 0 101.414 1.414L10 11.414l1.293 1.293a1 1 0 001.414-1.414L11.414 10l1.293-1.293a1 1 0 00-1.414-1.414L10 8.586 8.707 7.293z' clip-rule='evenodd'/%3E%3C/svg%3E");
}

/* Button in Notices - verwendet die allgemeinen Button-Styles, nur margin-left angepasst */
.woocommerce-notices-wrapper .button {
	margin-left: var(--coop-spacing-md, 16px) !important;
}

/* ============================================
   BOTTOM NAVIGATION BAR (MOBILE)
   ============================================ */
.coop-bottom-nav {
	display: none; /* Standardmäßig versteckt, nur auf Mobile sichtbar */
	position: fixed;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	background: var(--coop-bg-primary, #ffffff);
	border-top: 1px solid var(--coop-border-light, rgba(0, 0, 0, 0.08));
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.04);
	z-index: 9999;
	padding: 8px 0 max(8px, env(safe-area-inset-bottom));
	display: flex;
	justify-content: space-around;
	align-items: center;
	/* Sanfte Einblendung - verhindert visuellen Sprung */
	opacity: 0;
	animation: coop-bottom-nav-fade-in 0.4s ease-out 0.2s forwards;
}

@keyframes coop-bottom-nav-fade-in {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

body.coop-dark-area .coop-bottom-nav {
	background: #000000 !important; /* Fester schwarzer Hintergrund, nicht transparent */
	border-top-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	box-shadow: 0 -2px 12px rgba(0, 0, 0, 0.5);
}

.coop-bottom-nav__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 8px 16px;
	min-width: 60px;
	text-decoration: none;
	color: var(--coop-text-secondary, #666);
	transition: var(--coop-transition);
	border-radius: var(--coop-radius-md);
	position: relative;
	-webkit-tap-highlight-color: transparent;
}

.coop-bottom-nav__item:hover,
.coop-bottom-nav__item:focus-visible {
	color: var(--coop-accent, #3537e3);
	background: var(--coop-accent-overlay-8, rgba(53, 55, 227, 0.08));
}

.coop-bottom-nav__item.is-active {
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coop-bottom-nav__item {
	color: var(--coop-text-secondary, #aaa);
}

body.coop-dark-area .coop-bottom-nav__item:hover,
body.coop-dark-area .coop-bottom-nav__item:focus-visible {
	color: var(--coop-accent, #4c6fff);
	background: color-mix(in srgb, var(--coop-accent) 12%, transparent);
}

body.coop-dark-area .coop-bottom-nav__item.is-active {
	color: var(--coop-accent, #4c6fff);
}

.coop-bottom-nav__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	flex-shrink: 0;
}

.coop-bottom-nav__icon svg {
	width: 100%;
	height: 100%;
	transition: var(--coop-transition);
}

.coop-bottom-nav__label {
	font-size: 11px;
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	white-space: nowrap;
}

/* Padding für Content, damit nichts von der Bottom Nav verdeckt wird */
@media (max-width: 1024px) {
	body:has(.coop-bottom-nav) .site-main,
	body:has(.coop-bottom-nav) #primary-content {
		padding-bottom: 72px; /* Platz für Bottom Nav + Safe Area */
	}
}

/* Bottom Navigation nur auf Mobile anzeigen */
@media (min-width: 1025px) {
	.coop-bottom-nav {
		display: none !important;
	}
}

@media (max-width: 1024px) {
	.coop-bottom-nav {
		display: flex;
		/* Animation nur auf Mobile - nur Transparenz, keine Bewegung */
		opacity: 0;
		animation: coop-bottom-nav-fade-in 0.4s ease-out 0.2s forwards;
	}
}

/* ============================================
   CART V2 - Minimalistisch & Kompakt
   ============================================ */

.coopprint-cart-v2 {
	max-width: 960px;
	margin: 0 auto;
}

.coopprint-cart-v2__header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: var(--coop-spacing-xl, 24px);
	padding-bottom: var(--coop-spacing-md, 16px);
	border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__header {
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__header h2 {
	font-size: var(--coop-font-2xl, 24px);
	font-weight: 600;
	margin: 0;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__header h2 {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__count {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-text-secondary, #666);
}

body.coop-dark-area .coopprint-cart-v2__count {
	color: var(--coop-text-secondary, #aaa);
}

/* Kompakte Produktliste */
.coopprint-cart-v2__items {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	margin-bottom: var(--coop-spacing-xl, 24px);
}

.coopprint-cart-v2__item {
	display: flex;
	gap: var(--coop-spacing-md, 16px);
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border: 1px solid var(--coop-border-light, var(--coop-border));
	border-radius: var(--coop-radius-lg, 12px);
	transition: border-color 0.2s ease;
}

body.coop-dark-area .coopprint-cart-v2__item {
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__item:hover {
	border-color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__item:hover {
	border-color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__item-image {
	width: 80px;
	height: 80px;
	flex-shrink: 0;
	border-radius: var(--coop-radius-md, 8px);
	overflow: hidden;
	background: var(--coop-bg-tertiary, #f5f5f5);
}

.coopprint-cart-v2__item-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.coopprint-cart-v2__item-image a {
	display: block;
	width: 100%;
	height: 100%;
}

.coopprint-cart-v2__item-info {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	min-width: 0;
}

.coopprint-cart-v2__item-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: var(--coop-spacing-md, 16px);
}

.coopprint-cart-v2__item-name {
	font-size: var(--coop-font-md, 16px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	line-height: 1.4;
	flex: 1;
}

body.coop-dark-area .coopprint-cart-v2__item-name {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-name a {
	color: inherit;
	text-decoration: none;
}

.coopprint-cart-v2__item-name a:hover {
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__item-name a:hover {
	color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__item-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-lg, 20px);
	flex-wrap: wrap;
}

/* Preis (größer) */
.coopprint-cart-v2__item-price {
	font-size: var(--coop-font-xl, 20px);
	font-weight: 700;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__item-price {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-price .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

/* Quantity mit +/- Buttons */
/* Quantity - Standard WooCommerce Input */
.coopprint-cart-v2__item-qty {
	display: flex;
	align-items: center;
}

.coopprint-cart-v2__item-qty .quantity {
	display: flex;
	align-items: center;
	margin: 0;
}

.coopprint-cart-v2__item-qty .quantity input.qty {
	width: 60px;
	height: 36px;
	padding: 8px;
	border: 1px solid var(--coop-border, rgba(0, 0, 0, 0.1));
	border-radius: var(--coop-radius-sm, 6px);
	font-size: var(--coop-font-md, 16px);
	font-weight: 600;
	text-align: center;
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #181a34);
	-moz-appearance: textfield;
	appearance: textfield;
}

body.coop-dark-area .coopprint-cart-v2__item-qty .quantity input.qty {
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-qty .quantity input.qty::-webkit-outer-spin-button,
.coopprint-cart-v2__item-qty .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.coopprint-cart-v2__item-qty .quantity input.qty:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__item-qty .quantity input.qty:focus {
	border-color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__item-qty .quantity label {
	display: none;
}

.coopprint-cart-v2__qty-value {
	font-size: var(--coop-font-md, 16px);
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	padding: 0 var(--coop-spacing-sm, 12px);
}

body.coop-dark-area .coopprint-cart-v2__qty-value {
	color: var(--coop-text-primary, #f5f5f5);
}

/* Subtotal (größer) */
.coopprint-cart-v2__item-subtotal {
	font-size: var(--coop-font-xl, 20px);
	font-weight: 700;
	color: var(--coop-text-primary, #181a34);
	margin-left: auto;
}

body.coop-dark-area .coopprint-cart-v2__item-subtotal {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-subtotal .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

/* Entfernen Button (größer und besser) */
.coopprint-cart-v2__item-remove {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--coop-border, rgba(0, 0, 0, 0.1));
	border-radius: var(--coop-radius-md, 8px);
	background: transparent;
	color: var(--coop-text-secondary, #666);
	text-decoration: none;
	transition: all 0.2s ease;
	cursor: pointer;
	flex-shrink: 0;
}

body.coop-dark-area .coopprint-cart-v2__item-remove {
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	color: var(--coop-text-secondary, #aaa);
}

.coopprint-cart-v2__item-remove:hover {
	background: var(--coop-bg-tertiary, #f5f5f5);
	border-color: var(--coop-text-muted, #999);
	color: var(--coop-text-primary, #181a34);
	transform: scale(1.05);
}

body.coop-dark-area .coopprint-cart-v2__item-remove:hover {
	background: color-mix(in srgb, var(--coop-bg-box) 88%, var(--coop-accent) 12%);
	border-color: var(--coop-accent, #4c6fff);
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__item-remove svg {
	width: 18px;
	height: 18px;
}

/* Actions */
.coopprint-cart-v2__actions {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	margin-bottom: var(--coop-spacing-xl, 24px);
}

.coopprint-cart-v2__coupon {
	display: flex;
	gap: var(--coop-spacing-sm, 12px);
}

.coopprint-cart-v2__coupon .coop-form-input {
	flex: 1;
}

/* Totals */
.coopprint-cart-v2__totals {
	padding: var(--coop-spacing-lg, 20px);
}

.coopprint-cart-v2__totals h3 {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__totals h3 {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__totals-list {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-sm, 12px);
	margin-bottom: var(--coop-spacing-lg, 20px);
	padding-bottom: var(--coop-spacing-lg, 20px);
	border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__totals-list {
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__total-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: var(--coop-font-md, 16px);
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__total-row {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__total-row--total {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 700;
	padding-top: var(--coop-spacing-sm, 12px);
	margin-top: var(--coop-spacing-sm, 12px);
	border-top: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__total-row--total {
	border-top-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

.coopprint-cart-v2__total-row--total span:last-child {
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__total-row--total span:last-child {
	color: var(--coop-accent, #4c6fff);
}

/* Shipping */
.coopprint-cart-v2__shipping {
	margin: var(--coop-spacing-md, 16px) 0;
	padding: var(--coop-spacing-md, 16px) 0;
	border-top: 1px solid var(--coop-border-light, var(--coop-border));
	border-bottom: 1px solid var(--coop-border-light, var(--coop-border));
}

body.coop-dark-area .coopprint-cart-v2__shipping {
	border-top-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.12));
}

/* WooCommerce Standard Shipping HTML */
.coopprint-cart-v2__shipping .woocommerce-shipping-totals {
	margin: 0;
}

.coopprint-cart-v2__shipping .woocommerce-shipping-totals th {
	font-size: var(--coop-font-md, 16px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	text-align: left;
	padding: var(--coop-spacing-xs, 8px) 0;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-totals th {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping .woocommerce-shipping-totals td {
	font-size: var(--coop-font-md, 16px);
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	text-align: right;
	padding: var(--coop-spacing-xs, 8px) 0;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-totals td {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping #shipping_method {
	list-style: none;
	margin: var(--coop-spacing-sm, 12px) 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xs, 8px);
}

.coopprint-cart-v2__shipping #shipping_method li {
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
}

.coopprint-cart-v2__shipping #shipping_method label {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-sm, 12px);
	cursor: pointer;
	width: 100%;
	font-size: var(--coop-font-md, 16px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__shipping #shipping_method label {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping #shipping_method input[type="radio"] {
	margin: 0 var(--coop-spacing-xs, 8px) 0 0;
	width: 18px;
	height: 18px;
	cursor: pointer;
	flex-shrink: 0;
}

.coopprint-cart-v2__shipping #shipping_method .woocommerce-Price-amount {
	font-weight: 600;
	color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__shipping #shipping_method .woocommerce-Price-amount {
	color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__shipping .woocommerce-shipping-destination {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-text-secondary, #666);
	margin: var(--coop-spacing-sm, 12px) 0 0 0;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-destination {
	color: var(--coop-text-secondary, #aaa);
}

.coopprint-cart-v2__shipping .woocommerce-shipping-destination strong {
	color: var(--coop-text-primary, #181a34);
	font-weight: 600;
}

body.coop-dark-area .coopprint-cart-v2__shipping .woocommerce-shipping-destination strong {
	color: var(--coop-text-primary, #f5f5f5);
}

/* Shipping Calculator */
.coopprint-cart-v2__shipping .woocommerce-shipping-calculator {
	margin-top: var(--coop-spacing-md, 16px);
}

.coopprint-cart-v2__shipping .shipping-calculator-button {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-accent, #3537e3);
	text-decoration: none;
	cursor: pointer;
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-button {
	color: var(--coop-accent, #4c6fff);
}

.coopprint-cart-v2__shipping .shipping-calculator-button:hover {
	text-decoration: underline;
}

.coopprint-cart-v2__shipping .shipping-calculator-form {
	margin-top: var(--coop-spacing-md, 16px);
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-tertiary, #f5f5f5);
	border-radius: var(--coop-radius-md, 8px);
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form {
	background: color-mix(in srgb, var(--coop-bg-box) 88%, var(--coop-accent) 12%);
}

.coopprint-cart-v2__shipping .shipping-calculator-form .form-row {
	margin-bottom: var(--coop-spacing-sm, 12px);
}

.coopprint-cart-v2__shipping .shipping-calculator-form label {
	font-size: var(--coop-font-sm, 14px);
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	margin-bottom: var(--coop-spacing-xs, 8px);
	display: block;
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form label {
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping .shipping-calculator-form input,
.coopprint-cart-v2__shipping .shipping-calculator-form select {
	width: 100%;
	padding: var(--coop-spacing-xs, 8px) var(--coop-spacing-sm, 12px);
	border: 1px solid var(--coop-border, rgba(0, 0, 0, 0.1));
	border-radius: var(--coop-radius-sm, 6px);
	font-size: var(--coop-font-sm, 14px);
	background: var(--coop-bg-primary, #ffffff);
	color: var(--coop-text-primary, #181a34);
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form input,
body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form select {
	background: var(--coop-bg-box, var(--coop-bg-secondary));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.12));
	color: var(--coop-text-primary, #f5f5f5);
}

.coopprint-cart-v2__shipping .shipping-calculator-form input:focus,
.coopprint-cart-v2__shipping .shipping-calculator-form select:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
}

body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form input:focus,
body.coop-dark-area .coopprint-cart-v2__shipping .shipping-calculator-form select:focus {
	border-color: var(--coop-accent, #4c6fff);
}

/* Checkout */
.coopprint-cart-v2__checkout {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
}

.coopprint-cart-v2__checkout .coop-btn {
	width: 100%;
	justify-content: center;
}

/* Empty Cart */
.coopprint-cart-v2__empty {
	padding: var(--coop-spacing-3xl, 48px) var(--coop-spacing-xl, 24px);
	text-align: center;
}

.coopprint-cart-v2__empty p {
	font-size: var(--coop-font-lg, 18px);
	color: var(--coop-text-secondary, #666);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
}

body.coop-dark-area .coopprint-cart-v2__empty p {
	color: var(--coop-text-secondary, #aaa);
}

/* Responsive */
@media (max-width: 768px) {
	.coopprint-cart-v2__header {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-xs, 8px);
	}
	
	.coopprint-cart-v2__item {
		flex-direction: column;
		gap: var(--coop-spacing-sm, 12px);
	}
	
	.coopprint-cart-v2__item-image {
		width: 100%;
		height: 200px;
	}
	
	.coopprint-cart-v2__item-footer {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-sm, 12px);
	}
	
	.coopprint-cart-v2__item-subtotal {
		margin-left: 0;
		width: 100%;
		text-align: right;
	}
	
	.coopprint-cart-v2__coupon {
		flex-direction: column;
	}
	
	.coopprint-cart-v2__coupon .coop-btn {
		width: 100%;
	}
}

/* ═══════════════════════════════════════════════════════════
   Bewertungssystem
   ═══════════════════════════════════════════════════════════ */

/* Bewertungsformular */
.coop-review-form-section {
	margin-bottom: 2rem;
	padding: var(--coop-spacing-xl, 24px);
	background: var(--coop-bg-box, #f9fafb);
	border-radius: var(--coop-radius-md, 8px);
	border: 1px solid var(--coop-border-color, #e5e7eb);
}

/* Dark Mode für Review-Form-Section */
body.coop-dark-mode-manual .coop-review-form-section,
body.coop-dark-area .coop-review-form-section {
	background: var(--coop-bg-box, rgba(255,255,255,0.03));
	border-color: var(--coop-border-color, rgba(255,255,255,0.1));
}

.coop-review-form-title {
	font-size: var(--coop-font-xl, 20px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-md, 16px) 0;
	color: var(--coop-text-primary, #111827);
}

.coop-review-form-subtitle {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-md, 16px) 0;
	color: var(--coop-text-primary, #111827);
}

.coop-review-admin-notice {
	font-size: var(--coop-font-sm, 14px);
	color: var(--coop-text-secondary, #6b7280);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
}

.coop-review-form {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-xl, 24px);
}

.coop-review-field {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
}

.coop-review-field-label {
	font-weight: 500;
	color: var(--coop-text-primary, #374151);
	font-size: var(--coop-font-base, 15px);
}

/* Klickbare Sterne */
.coop-star-input {
	display: flex;
	gap: 0.25rem;
	align-items: center;
}

.coop-star-btn {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--coop-text-muted, #d1d5db);
	transition: all 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
}

.coop-star-btn:hover,
.coop-star-btn.active {
	color: var(--coop-accent, #3537e3);
}

/* Dark Mode für Star Buttons */
body.coop-dark-mode-manual .coop-star-btn,
body.coop-dark-area .coop-star-btn {
	color: var(--coop-text-muted, #6C6D7C);
}

body.coop-dark-mode-manual .coop-star-btn:hover,
body.coop-dark-area .coop-star-btn:hover {
	color: var(--coop-accent, #3537e3);
}

.coop-star-icon {
	width: 24px;
	height: 24px;
	transition: all 0.2s;
	fill: none;
	stroke: currentColor;
	stroke-width: 1.5;
}

/* Aktive Sterne blau gefüllt */
.coop-star-btn.active .coop-star-icon {
	fill: var(--coop-accent, #3537e3) !important;
	stroke: var(--coop-accent, #3537e3) !important;
}

.coop-star-btn:hover .coop-star-icon {
	fill: var(--coop-accent, #3537e3);
	stroke: var(--coop-accent, #3537e3);
}

/* Alle Sterne bis zum aktiven Stern blau füllen */
.coop-star-input .coop-star-btn.active ~ .coop-star-btn .coop-star-icon {
	fill: none;
	stroke: currentColor;
}

/* Alle Sterne vor dem aktiven (inklusive) blau füllen - wird durch JavaScript gesteuert */

/* Hover-Effekt: Alle Sterne bis zum gehoverten blau */
.coop-star-input:hover .coop-star-btn:hover ~ .coop-star-btn .coop-star-icon {
	fill: none;
	stroke: currentColor;
}

.coop-review-comment {
	width: 100%;
	min-height: 80px;
	padding: var(--coop-spacing-md, 16px);
	border: 1px solid var(--coop-border-color, #d1d5db);
	border-radius: var(--coop-radius-sm, 6px);
	font-family: inherit;
	font-size: var(--coop-font-sm, 14px);
	resize: vertical;
	transition: border-color 0.2s;
	background: var(--coop-bg-secondary, #fff);
	color: var(--coop-text-primary, #1f2937);
}

.coop-review-comment:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
	box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.1);
}

/* Dark Mode für Kommentarfelder (bereits vorhanden, aber hier für Konsistenz) */
body.coop-dark-mode-manual .coop-review-comment,
body.coop-dark-area .coop-review-comment {
	background: var(--coop-bg-secondary, rgba(255,255,255,0.03));
	border-color: var(--coop-border-color, rgba(255,255,255,0.1));
	color: var(--coop-text-primary, #f5f5f5);
}

body.coop-dark-mode-manual .coop-review-comment:focus,
body.coop-dark-area .coop-review-comment:focus {
	border-color: var(--coop-accent, #3537e3);
	box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.2);
}

body.coop-dark-mode-manual .coop-review-comment::placeholder,
body.coop-dark-area .coop-review-comment::placeholder {
	color: var(--coop-text-muted, #6C6D7C);
}

.coop-review-submit {
	align-self: flex-start;
	padding: 0.75rem 1.5rem;
	font-weight: 600;
}

.coop-review-message {
	display: none;
	padding: 0.75rem 1rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	margin-top: 0.5rem;
}

.coop-review-message--success {
	background: #d1fae5;
	color: #065f46;
	border: 1px solid #6ee7b7;
}

.coop-review-message--error {
	background: #fee2e2;
	color: #991b1b;
	border: 1px solid #fca5a5;
}

/* Dark Mode für Review Messages */
body.coop-dark-mode-manual .coop-review-message--success,
body.coop-dark-area .coop-review-message--success {
	background: rgba(16, 185, 129, 0.2);
	color: #6ee7b7;
	border-color: rgba(16, 185, 129, 0.3);
}

body.coop-dark-mode-manual .coop-review-message--error,
body.coop-dark-area .coop-review-message--error {
	background: rgba(239, 68, 68, 0.2);
	color: #fca5a5;
	border-color: rgba(239, 68, 68, 0.3);
}

/* Bewertungslisten */
.coop-reviews-list-section {
	margin-top: var(--coop-spacing-2xl, 36px);
	padding-top: var(--coop-spacing-2xl, 36px);
	border-top: 1px solid var(--coop-border-color, #e5e7eb);
}

/* Dark Mode für Reviews List Section */
body.coop-dark-mode-manual .coop-reviews-list-section,
body.coop-dark-area .coop-reviews-list-section {
	border-top-color: var(--coop-border-color, rgba(255,255,255,0.1));
}

.coop-reviews-list-title {
	font-size: var(--coop-font-lg, 18px);
	font-weight: 600;
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	color: var(--coop-text-primary, #111827);
}

.coop-reviews-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.coop-star-rating {
	display: flex;
	gap: 0.125rem;
	align-items: center;
	color: var(--coop-accent, #3537e3);
}

.coop-star-rating .coop-star {
	width: 20px;
	height: 20px;
}

.coop-star-rating .coop-star--filled {
	fill: currentColor;
}

.coop-star-rating .coop-star--half {
	fill: currentColor;
	opacity: 0.5;
}

.coop-star-rating .coop-star--empty {
	fill: none;
	stroke: currentColor;
	opacity: 0.3;
}

.coop-reviews-average {
	font-weight: 600;
	color: var(--coop-text-primary, #111827);
	font-size: var(--coop-font-base, 16px);
}

.coop-reviews-count {
	color: var(--coop-text-secondary, #6b7280);
	font-size: var(--coop-font-sm, 14px);
}

.coop-reviews-list {
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}

.coop-review-item {
	padding: var(--coop-spacing-lg, 20px);
	background: var(--coop-bg-box, #ffffff);
	border: 1px solid var(--coop-border-color, #e5e7eb);
	border-radius: var(--coop-radius-sm, 6px);
}

/* Dark Mode für Review Items */
body.coop-dark-mode-manual .coop-review-item,
body.coop-dark-area .coop-review-item {
	background: var(--coop-bg-box, rgba(255,255,255,0.03));
	border-color: var(--coop-border-color, rgba(255,255,255,0.1));
}

.coop-review-item-header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.5rem;
	flex-wrap: wrap;
}

.coop-review-item-header .coop-star-rating {
	color: var(--coop-accent, #3537e3);
}

.coop-review-item-header .coop-star-rating .coop-star {
	width: 16px;
	height: 16px;
}

.coop-star-rating--display {
	color: var(--coop-accent, #3537e3) !important;
	display: inline-flex;
	align-items: center;
	line-height: 1;
	vertical-align: middle;
	padding-top: 0 !important;
	padding-bottom: 0 !important;
	margin-bottom: 0 !important;
}

.coop-star-rating--display .coop-star {
	display: inline-block !important;
	vertical-align: middle !important;
	margin: 0 !important;
}

.coop-star-rating--display .coop-star--filled {
	fill: var(--coop-accent, #3537e3) !important;
}

.coop-star-rating--display .coop-star--half {
	fill: var(--coop-accent, #3537e3) !important;
	opacity: 0.5;
}

.coop-star-rating--display .coop-star--empty {
	fill: none !important;
	stroke: var(--coop-accent, #3537e3) !important;
	opacity: 0.3;
}

/* Bearbeitungs-Button */
.coop-review-edit-btn {
	background: none;
	border: none;
	padding: 0.375rem 0.75rem;
	color: var(--coop-accent, #3537e3);
	font-size: 0.875rem;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	gap: 0.375rem;
	margin-left: auto;
	transition: all 0.2s;
	border-radius: 4px;
}

.coop-review-edit-btn:hover {
	background: rgba(53, 55, 227, 0.1);
}

.coop-review-edit-btn svg {
	width: 16px;
	height: 16px;
}

/* Bearbeitungsformular */
.coop-review-edit-form {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid #e5e7eb;
}

.coop-review-edit-actions {
	display: flex;
	gap: 0.75rem;
	margin-top: 1rem;
}

.coop-review-edit-actions .coop-btn {
	padding: 0.625rem 1.25rem;
	font-size: 0.9375rem;
}

.coop-btn-secondary {
	background: #f3f4f6;
	color: #374151;
	border: 1px solid #d1d5db;
}

.coop-btn-secondary:hover {
	background: #e5e7eb;
	border-color: #9ca3af;
}

/* Bild-Upload und Vorschau */
.coop-review-images-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0.75rem;
}

.coop-review-image-preview-item {
	position: relative;
	width: 100px;
	height: 100px;
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	overflow: hidden;
	background: #f9fafb;
}

.coop-review-image-preview-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.coop-review-image-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 24px;
	height: 24px;
	background: rgba(0, 0, 0, 0.7);
	border: none;
	border-radius: 50%;
	color: white;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	padding: 0;
}

.coop-review-image-remove:hover {
	background: rgba(220, 38, 38, 0.9);
}

.coop-review-image-remove svg {
	width: 14px;
	height: 14px;
}

.coop-review-upload-status {
	font-size: 0.875rem;
	margin-bottom: 8px;
}

/* Bearbeitungsformular: Bilder */
.coop-review-edit-images {
	margin-top: 0.5rem;
}

.coop-review-edit-image-item {
	position: relative;
	display: inline-block;
	width: 100px;
	height: 100px;
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	overflow: hidden;
	margin-right: 8px;
	margin-bottom: 8px;
	background: #f9fafb;
}

.coop-review-edit-image-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.coop-review-remove-image-btn,
.coop-review-edit-image-remove {
	position: absolute;
	top: 4px;
	right: 4px;
	width: 24px;
	height: 24px;
	background: rgba(0, 0, 0, 0.7);
	border: none;
	border-radius: 50%;
	color: white;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	padding: 0;
	z-index: 10;
}

.coop-review-edit-image-remove:hover {
	background: rgba(220, 38, 38, 0.9);
}

/* Löschen-Button (oben rechts im Eck, wie im Cart) */
.coop-review-delete-btn {
	position: absolute;
	top: 8px;
	right: 8px;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--coop-bg-box, #fff);
	border: 1px solid var(--coop-border, #e5e7eb);
	border-radius: 6px;
	color: var(--coop-text-secondary, #6b7280);
	cursor: pointer;
	transition: all 0.2s;
	padding: 0;
	z-index: 10;
}

.coop-review-delete-btn:hover {
	background: var(--coop-bg-tertiary, #f5f5f5);
	border-color: var(--coop-text-muted, #999);
	color: var(--coop-text-primary, #181a34);
	transform: scale(1.05);
}

.coop-review-delete-btn:disabled {
	opacity: 0.6;
	cursor: not-allowed;
	transform: none;
}

.coop-review-delete-btn svg {
	width: 18px;
	height: 18px;
}

.coop-review-edit-form {
	position: relative;
}

.coop-review-delete-btn svg {
	width: 14px;
	height: 14px;
}

.coop-review-edit-image-remove svg {
	width: 14px;
	height: 14px;
}

.coop-review-edit-images-preview {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

/* Bewertungsbilder anzeigen */
.coop-review-images {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 0.75rem;
}

.coop-review-image-link {
	display: block;
	text-decoration: none;
}

.coop-review-image {
	width: 120px;
	height: 120px;
	object-fit: cover;
	border-radius: 6px;
	border: 1px solid #e5e7eb;
	cursor: pointer;
	transition: transform 0.2s, box-shadow 0.2s;
}

.coop-review-image:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.coop-review-author {
	font-weight: 500;
	color: #111827;
	font-size: 0.9375rem;
}

.coop-review-time {
	color: #6b7280;
	font-size: 0.875rem;
}

.coop-review-partner {
	margin: 0.5rem 0;
	color: #4b5563;
	font-size: 0.875rem;
	font-style: italic;
}

.coop-review-comment-text {
	margin: 0.5rem 0 0 0;
	color: #374151;
	font-size: 0.9375rem;
	line-height: 1.5;
}

.coop-reviews-empty {
	color: #6b7280;
	font-size: 0.9375rem;
	margin: 1rem 0;
	font-style: italic;
}

.coop-reviews-load-more {
	background: none;
	border: 1px solid #d1d5db;
	color: #374151;
	padding: 0.625rem 1.25rem;
	border-radius: 6px;
	font-size: 0.9375rem;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s;
	margin-top: 1rem;
	align-self: flex-start;
}

.coop-reviews-load-more:hover {
	background: #f9fafb;
	border-color: #9ca3af;
}

.coop-reviews-load-more:disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/* Responsive */
@media (max-width: 768px) {
	.coop-review-form-section {
		padding: 1rem;
	}
	
	.coop-reviews-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}
	
	.coop-review-item-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
	}
	
	.coop-star-input {
		flex-wrap: wrap;
	}
}

/* ═══════════════════════════════════════════════════════════
   WooCommerce Form Fields - Allgemeine CoopPrint Styles
   ═══════════════════════════════════════════════════════════ */

/* Alle WooCommerce Formularfelder - Basis-Styling */
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="number"],
.woocommerce input[type="password"],
.woocommerce input[type="url"],
.woocommerce input[type="search"],
.woocommerce select,
.woocommerce textarea {
	width: 100%;
	padding: var(--coop-spacing-md, 16px);
	border: 1px solid var(--coop-border, rgba(229, 231, 235, 0.9));
	border-radius: 8px;
	font-size: 0.9375rem;
	color: var(--coop-text-primary, #181a34);
	background: var(--coop-bg-primary, #ffffff);
	transition: all 0.2s ease;
	font-family: inherit;
	line-height: 1.5;
}

.woocommerce input[type="text"]:focus,
.woocommerce input[type="email"]:focus,
.woocommerce input[type="tel"]:focus,
.woocommerce input[type="number"]:focus,
.woocommerce input[type="password"]:focus,
.woocommerce input[type="url"]:focus,
.woocommerce input[type="search"]:focus,
.woocommerce select:focus,
.woocommerce textarea:focus {
	outline: none;
	border-color: var(--coop-accent, #3537e3);
	box-shadow: 0 0 0 3px rgba(53, 55, 227, 0.1);
}

.woocommerce input[type="text"]::placeholder,
.woocommerce input[type="email"]::placeholder,
.woocommerce input[type="tel"]::placeholder,
.woocommerce input[type="number"]::placeholder,
.woocommerce input[type="password"]::placeholder,
.woocommerce input[type="url"]::placeholder,
.woocommerce input[type="search"]::placeholder,
.woocommerce textarea::placeholder {
	color: var(--coop-text-muted, color-mix(in srgb, #181a34 40%, white 60%));
	opacity: 0.7;
}

/* WooCommerce Labels */
.woocommerce label,
.woocommerce .form-row label {
	display: block;
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	margin-bottom: var(--coop-spacing-xs, 8px);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.woocommerce label .required,
.woocommerce .form-row label .required {
	color: var(--coop-accent, #3537e3);
	text-decoration: none;
}

/* WooCommerce Form Rows */
.woocommerce .form-row {
	margin-bottom: var(--coop-spacing-lg, 20px);
}

.woocommerce .form-row:last-child {
	margin-bottom: 0;
}

/* WooCommerce Checkbox & Radio */
.woocommerce input[type="checkbox"],
.woocommerce input[type="radio"] {
	width: auto;
	margin-right: var(--coop-spacing-xs, 8px);
	accent-color: var(--coop-accent, #3537e3);
	cursor: pointer;
}

.woocommerce .form-row .woocommerce-form__label-for-checkbox,
.woocommerce label.checkbox,
.woocommerce label.radio {
	display: flex;
	align-items: center;
	font-weight: 400;
	cursor: pointer;
	margin-bottom: 0;
}

/* WooCommerce Buttons */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button,
.woocommerce .button {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-xl, 24px);
	background: var(--coop-button-surface, linear-gradient(135deg, var(--coop-accent) 0%, color-mix(in srgb, var(--coop-accent) 65%, white 35%) 100%));
	color: var(--coop-button-text, #ffffff);
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	text-transform: none;
	letter-spacing: 0;
	text-decoration: none;
	display: inline-block;
	line-height: 1.5;
}

.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover,
.woocommerce .button:hover {
	background: var(--coop-button-surface-hover, linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 85%, white 15%) 0%, color-mix(in srgb, var(--coop-accent-hover) 70%, white 30%) 100%));
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(53, 55, 227, 0.3);
	color: var(--coop-button-text, #ffffff);
	text-decoration: none;
}

.woocommerce button.button:active,
.woocommerce input.button:active,
.woocommerce a.button:active,
.woocommerce .button:active {
	transform: translateY(0);
}

.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce a.button.alt {
	background: var(--coop-bg-secondary, #ffffff);
	color: var(--coop-text-primary, #181a34);
	border: 1px solid var(--coop-border, rgba(229, 231, 235, 0.9));
}

.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce a.button.alt:hover {
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.05));
	border-color: var(--coop-accent, #3537e3);
	color: var(--coop-text-primary, #181a34);
}

/* WooCommerce Notices */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-info,
.woocommerce .woocommerce-message {
	padding: var(--coop-spacing-md, 16px);
	border-radius: 8px;
	margin-bottom: var(--coop-spacing-lg, 20px);
	border-left: 4px solid;
	list-style: none;
}

.woocommerce .woocommerce-error {
	background: rgba(160, 0, 0, 0.1);
	border-left-color: #a00;
	color: #a00;
}

.woocommerce .woocommerce-info {
	background: rgba(46, 162, 204, 0.1);
	border-left-color: #2ea2cc;
	color: #2ea2cc;
}

.woocommerce .woocommerce-message {
	background: rgba(122, 208, 58, 0.1);
	border-left-color: #7ad03a;
	color: #7ad03a;
}

/* Dark Mode Support für alle WooCommerce Felder */
body.coop-dark-area .woocommerce input[type="text"],
body.coop-dark-area .woocommerce input[type="email"],
body.coop-dark-area .woocommerce input[type="tel"],
body.coop-dark-area .woocommerce input[type="number"],
body.coop-dark-area .woocommerce input[type="password"],
body.coop-dark-area .woocommerce input[type="url"],
body.coop-dark-area .woocommerce input[type="search"],
body.coop-dark-area .woocommerce select,
body.coop-dark-area .woocommerce textarea {
	background: var(--coop-bg-secondary, #2a2a2a);
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
	color: var(--coop-text-primary, #ffffff);
}

body.coop-dark-area .woocommerce label,
body.coop-dark-area .woocommerce .form-row label {
	color: var(--coop-text-primary, #ffffff);
}

body.coop-dark-area .woocommerce input[type="text"]::placeholder,
body.coop-dark-area .woocommerce input[type="email"]::placeholder,
body.coop-dark-area .woocommerce input[type="tel"]::placeholder,
body.coop-dark-area .woocommerce input[type="number"]::placeholder,
body.coop-dark-area .woocommerce input[type="password"]::placeholder,
body.coop-dark-area .woocommerce input[type="url"]::placeholder,
body.coop-dark-area .woocommerce input[type="search"]::placeholder,
body.coop-dark-area .woocommerce textarea::placeholder {
	color: var(--coop-text-muted, rgba(255, 255, 255, 0.5));
}

/* ═══════════════════════════════════════════════════════════
   WooCommerce Checkout - CoopPrint Design
   ═══════════════════════════════════════════════════════════ */

/* Checkout Container */
.woocommerce-checkout {
	width: 100%;
	max-width: 100%;
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

/* Checkout Content Padding - nur für den Inhalt, nicht für den Container */
.woocommerce-checkout .woocommerce {
	padding: var(--coop-spacing-xl, 24px);
}

/* Checkout Form Layout - Stelle sicher, dass .woocommerce die volle Breite nutzt */
.woocommerce-checkout .woocommerce {
	width: 100%;
	max-width: 100%;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-2xl, 32px);
	box-sizing: border-box;
}

/* Express Checkout Wrapper - volle Breite */
.woocommerce-checkout .woocommerce > .wcpay-express-checkout-wrapper,
.woocommerce-checkout .wcpay-express-checkout-wrapper {
	width: 100%;
	margin-bottom: var(--coop-spacing-lg, 20px);
	order: 1;
}

/* Checkout Form Container - alles untereinander */
.woocommerce-checkout form.checkout {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-2xl, 32px);
	width: 100%;
	max-width: 100%;
	order: 2;
	box-sizing: border-box;
}

/* Checkout Form Sections - col2-set mit zwei Spalten nebeneinander */
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details {
	display: grid;
	grid-template-columns: 1fr 1fr;
	width: 100%;
	max-width: 100%;
	gap: var(--coop-spacing-2xl, 32px);
	order: 2;
	align-items: start;
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

.woocommerce-checkout .col2-set > .col-1,
.woocommerce-checkout .col2-set > .col-2,
.woocommerce-checkout #customer_details > .col-1,
.woocommerce-checkout #customer_details > .col-2 {
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
	margin: 0;
	grid-column: auto;
}

.woocommerce-checkout .col2-set > .col-1,
.woocommerce-checkout #customer_details > .col-1 {
	grid-column: 1;
}

.woocommerce-checkout .col2-set > .col-2,
.woocommerce-checkout #customer_details > .col-2 {
	grid-column: 2;
}

/* Additional Fields sollten unter col-2 sein */
.woocommerce-checkout .col2-set > .woocommerce-additional-fields,
.woocommerce-checkout #customer_details > .woocommerce-additional-fields {
	grid-column: 1 / -1;
	width: 100%;
}

.woocommerce-checkout .col-1,
.woocommerce-checkout .col-2 {
	width: 100%;
	max-width: 100%;
	background: var(--coop-bg-box, #ffffff);
	border-radius: 12px;
	padding: var(--coop-spacing-xl, 24px);
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	box-shadow: var(--coop-shell-shadow, 0 18px 40px rgba(15, 23, 42, 0.05));
	box-sizing: border-box;
}

/* Stelle sicher, dass entry-content und andere Wrapper die volle Breite nutzen */
body.woocommerce-checkout .entry-content,
body.woocommerce-checkout .site-main,
body.woocommerce-checkout .site-main .entry-content {
	width: 100%;
	max-width: 100%;
}

/* Section Titles */
.woocommerce-checkout h3 {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	padding-bottom: var(--coop-spacing-md, 16px);
	border-bottom: 2px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
}

/* Form Fields - verwenden die allgemeinen WooCommerce-Styles */

/* Order Review Section */
.woocommerce-checkout #order_review {
	background: var(--coop-bg-box, #ffffff) !important;
	border-radius: 12px;
	padding: var(--coop-spacing-xl, 24px);
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	box-shadow: var(--coop-shell-shadow, 0 18px 40px rgba(15, 23, 42, 0.05));
	width: 100%;
	max-width: 100%;
	order: 3;
	position: static;
	box-sizing: border-box;
}

.woocommerce-checkout #order_review_heading {
	font-size: 1.25rem;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	padding-bottom: var(--coop-spacing-md, 16px);
	border-bottom: 2px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
}

/* Order Table */
.woocommerce-checkout .shop_table {
	width: 100%;
	border-collapse: separate;
	border-spacing: 0;
	margin-bottom: var(--coop-spacing-lg, 20px);
	background: transparent;
}

.woocommerce-checkout .shop_table thead {
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02));
	border-radius: 8px 8px 0 0;
}

.woocommerce-checkout .shop_table thead th {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-lg, 20px);
	border-bottom: 2px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	text-align: left;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	font-size: 0.875rem;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.woocommerce-checkout .shop_table thead th:first-child {
	border-radius: 8px 0 0 0;
}

.woocommerce-checkout .shop_table thead th:last-child {
	border-radius: 0 8px 0 0;
	text-align: right;
}

.woocommerce-checkout .shop_table tbody td {
	padding: var(--coop-spacing-lg, 20px);
	border-bottom: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
	text-align: left;
	vertical-align: top;
	background: var(--coop-bg-box, #ffffff);
}

.woocommerce-checkout .shop_table tbody tr:last-child td {
	border-bottom: none;
}

/* Produktbild und Name */
.woocommerce-checkout .shop_table .product-name {
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	font-size: 0.9375rem;
	line-height: 1.5;
}

.woocommerce-checkout .shop_table .wc-gzd-cart-item-name-wrapper {
	display: flex;
	align-items: flex-start;
	gap: var(--coop-spacing-md, 16px);
}

.woocommerce-checkout .shop_table .wc-gzd-cart-item-thumbnail {
	flex-shrink: 0;
	width: 60px;
	height: 60px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02));
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65));
}

.woocommerce-checkout .shop_table .wc-gzd-cart-item-thumbnail img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.woocommerce-checkout .shop_table .product-quantity {
	font-weight: 600;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	margin-left: var(--coop-spacing-xs, 8px);
}

/* Variationen */
.woocommerce-checkout .shop_table .variation {
	margin: var(--coop-spacing-xs, 8px) 0 0 0;
	padding: 0;
	list-style: none;
	font-size: 0.875rem;
}

.woocommerce-checkout .shop_table .variation dt {
	font-weight: 500;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	display: inline;
	margin-right: var(--coop-spacing-xs, 8px);
}

.woocommerce-checkout .shop_table .variation dd {
	display: inline;
	color: var(--coop-text-primary, #181a34);
	margin: 0;
}

.woocommerce-checkout .shop_table .variation dd p {
	margin: 0;
	display: inline;
}

.woocommerce-checkout .shop_table .product-total {
	text-align: right;
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
	font-size: 0.9375rem;
	vertical-align: top;
}

/* Order Totals */
.woocommerce-checkout .shop_table tfoot th,
.woocommerce-checkout .shop_table tfoot td {
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-lg, 20px);
	border-top: 2px solid var(--coop-border, rgba(229, 231, 235, 0.9));
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02));
	text-align: left;
	font-size: 0.9375rem;
}

.woocommerce-checkout .shop_table tfoot th {
	font-weight: 600;
	color: var(--coop-text-primary, #181a34);
}

.woocommerce-checkout .shop_table tfoot td {
	text-align: right;
	font-weight: 500;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
}

/* Shipping Method */
.woocommerce-checkout .shop_table .woocommerce-shipping-totals td {
	vertical-align: middle;
}

.woocommerce-checkout .shop_table .woocommerce-shipping-methods {
	list-style: none;
	padding: 0;
	margin: 0;
}

.woocommerce-checkout .shop_table .woocommerce-shipping-methods li {
	margin: 0;
	padding: 0;
}

.woocommerce-checkout .shop_table .woocommerce-shipping-methods label {
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: var(--coop-spacing-xs, 8px);
}

.woocommerce-checkout .shop_table tfoot .order-total th,
.woocommerce-checkout .shop_table tfoot .order-total td {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--coop-text-primary, #181a34);
	border-top: 3px solid var(--coop-accent, #3537e3);
	padding-top: var(--coop-spacing-lg, 20px);
	background: var(--coop-bg-box, #ffffff);
	border-radius: 0 0 8px 8px;
}

.woocommerce-checkout .shop_table tfoot .order-total th:first-child {
	border-radius: 0 0 0 8px;
}

.woocommerce-checkout .shop_table tfoot .order-total td:last-child {
	border-radius: 0 0 8px 0;
}

.woocommerce-checkout .shop_table tfoot .order-total td strong {
	color: var(--coop-accent, #3537e3);
}

/* Payment Container */
.woocommerce-checkout #payment.woocommerce-checkout-payment,
.woocommerce-checkout div#payment.woocommerce-checkout-payment {
	background: transparent !important;
	background-color: transparent !important;
	padding: var(--coop-spacing-lg, 20px);
	border-radius: 8px;
}

/* Payment Methods */
.woocommerce-checkout ul.wc_payment_methods.payment_methods.methods,
.woocommerce-checkout #payment .wc_payment_methods,
.woocommerce-checkout #order_review .wc_payment_methods,
.woocommerce-checkout .wc_payment_methods {
	list-style: none;
	padding: 0;
	margin: 0 0 var(--coop-spacing-lg, 20px) 0;
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-md, 16px);
	background: transparent !important;
	background-color: transparent !important;
}

.woocommerce-checkout .wc_payment_methods li {
	margin: 0;
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-box, #ffffff) !important;
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-top-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-right-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-bottom-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-left-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-radius: 8px;
	transition: all 0.2s ease;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

.woocommerce-checkout .wc_payment_methods li:hover {
	border-color: var(--coop-accent, #3537e3) !important;
	border-top-color: var(--coop-accent, #3537e3) !important;
	border-right-color: var(--coop-accent, #3537e3) !important;
	border-bottom-color: var(--coop-accent, #3537e3) !important;
	border-left-color: var(--coop-accent, #3537e3) !important;
	background: var(--coop-bg-box, #ffffff) !important;
	box-shadow: 0 2px 8px rgba(53, 55, 227, 0.1);
	transform: translateY(-1px);
}

.woocommerce-checkout .wc_payment_methods li input[type="radio"]:checked + label,
.woocommerce-checkout .wc_payment_methods li:has(input[type="radio"]:checked) {
	border-color: var(--coop-accent, #3537e3) !important;
	border-top-color: var(--coop-accent, #3537e3) !important;
	border-right-color: var(--coop-accent, #3537e3) !important;
	border-bottom-color: var(--coop-accent, #3537e3) !important;
	border-left-color: var(--coop-accent, #3537e3) !important;
	border-width: 2px;
	background: var(--coop-bg-box, #ffffff) !important;
	box-shadow: 0 2px 8px rgba(53, 55, 227, 0.15);
}


.woocommerce-checkout .wc_payment_methods li input[type="radio"] {
	margin-right: var(--coop-spacing-sm, 12px);
	accent-color: var(--coop-accent, #3537e3);
}

.woocommerce-checkout .wc_payment_methods li label {
	font-weight: 500;
	color: var(--coop-text-primary, #181a34);
	cursor: pointer;
	margin: 0;
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-sm, 12px);
	font-size: 0.9375rem;
	background: transparent !important;
	box-shadow: none !important;
	text-shadow: none !important;
}

.woocommerce-checkout .wc_payment_methods li label img {
	max-height: 24px;
	width: auto;
	vertical-align: middle;
}

.woocommerce-checkout .wc_payment_methods li .payment-methods--logos {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-xs, 8px);
	margin-left: auto;
	background: transparent !important;
}

.woocommerce-checkout .payment_box {
	margin-top: var(--coop-spacing-md, 16px);
	padding: var(--coop-spacing-md, 16px);
	background: var(--coop-bg-tertiary, rgba(0, 0, 0, 0.02)) !important;
	border-radius: 8px;
	border: 1px solid var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-top-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-right-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-bottom-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
	border-left-color: var(--coop-border-light, rgba(241, 245, 249, 0.65)) !important;
}

.woocommerce-checkout .payment_box p {
	margin: 0;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	font-size: 0.875rem;
	line-height: 1.5;
}

/* Payment Form Fields */
.woocommerce-checkout .payment_box .wc-payment-form {
	padding: 0;
	border: none;
	background: transparent;
}

.woocommerce-checkout .payment_box .form-row {
	margin-bottom: var(--coop-spacing-md, 16px);
}

.woocommerce-checkout .payment_box .form-row:last-child {
	margin-bottom: 0;
}

.woocommerce-checkout .payment_box .form-row label {
	font-weight: 400;
	font-size: 0.875rem;
	color: var(--coop-text-secondary, color-mix(in srgb, #181a34 65%, white 35%));
	display: inline-flex;
	align-items: center;
	gap: var(--coop-spacing-xs, 8px);
	cursor: pointer;
}

.woocommerce-checkout .payment_box .form-row input[type="checkbox"] {
	accent-color: var(--coop-accent, #3537e3);
}

/* Place Order Button */
.woocommerce-checkout #place_order {
	width: 100%;
	padding: var(--coop-spacing-md, 16px) var(--coop-spacing-xl, 24px);
	background: var(--coop-button-surface, linear-gradient(135deg, var(--coop-accent) 0%, color-mix(in srgb, var(--coop-accent) 65%, white 35%) 100%));
	color: var(--coop-button-text, #ffffff);
	border: none;
	border-radius: 8px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.2s ease;
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce-checkout #place_order:hover {
	background: var(--coop-button-surface-hover, linear-gradient(135deg, color-mix(in srgb, var(--coop-accent) 85%, white 15%) 0%, color-mix(in srgb, var(--coop-accent-hover) 70%, white 30%) 100%));
	transform: translateY(-1px);
	box-shadow: 0 4px 12px rgba(53, 55, 227, 0.3);
}

.woocommerce-checkout #place_order:active {
	transform: translateY(0);
}

/* Error Messages - verwenden die allgemeinen WooCommerce-Styles */

/* Dark Mode Support */
body.coop-dark-area .woocommerce-checkout .col-1,
body.coop-dark-area .woocommerce-checkout .col-2,
body.coop-dark-area .woocommerce-checkout #order_review {
	background: var(--coop-bg-box, #1a1a1a);
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

body.coop-dark-area .woocommerce-checkout h3,
body.coop-dark-area .woocommerce-checkout #order_review_heading {
	color: var(--coop-text-primary, #ffffff);
	border-bottom-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

/* Dark Mode für Checkout-Felder - verwenden die allgemeinen WooCommerce-Styles */

body.coop-dark-area .woocommerce-checkout .wc_payment_methods li {
	background: var(--coop-bg-secondary, #2a2a2a);
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

body.coop-dark-area .woocommerce-checkout .payment_box {
	background: var(--coop-bg-tertiary, rgba(255, 255, 255, 0.05));
	border-color: var(--coop-border, rgba(255, 255, 255, 0.1));
}

/* Responsive Design */
@media (max-width: 768px) {
	.woocommerce-checkout {
		padding: var(--coop-spacing-md, 16px);
	}

	.woocommerce-checkout .col2-set,
	.woocommerce-checkout #customer_details {
		flex-direction: column;
		gap: var(--coop-spacing-lg, 20px);
	}

	.woocommerce-checkout .col-1,
	.woocommerce-checkout .col-2 {
		padding: var(--coop-spacing-md, 16px);
		width: 100%;
	}
}

/* ========================================
   CoopPrint Footer - Dual-Layer Design
   ======================================== */

.site-footer {
	background: var(--coop-bg-primary, #ffffff);
	border-top: 1px solid var(--coop-border-light, rgba(120, 120, 128, 0.2));
	margin-top: auto;
}

/* Container */
.site-footer__container {
	max-width: 1320px;
	margin: 0 auto;
	padding: 0 var(--coop-spacing-lg, 24px);
}

/* Ebene 1: Hauptnavigation */
.site-footer__main {
	padding: var(--coop-spacing-2xl, 64px) 0 var(--coop-spacing-xl, 48px);
	background: var(--coop-bg-primary, #ffffff);
}

.site-footer__nav-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: var(--coop-spacing-xl, 48px);
}

.site-footer__nav-column {
	display: flex;
	flex-direction: column;
}

/* Navigation Toggle (Mobile) */
.site-footer__nav-toggle {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: var(--coop-spacing-md, 16px) 0;
	background: none;
	border: none;
	cursor: pointer;
	color: var(--coop-text-primary, #181a34);
	font-size: 14px;
	font-weight: 600;
	text-align: left;
	transition: color var(--coop-transition, all 0.2s ease);
}

.site-footer__nav-toggle:hover {
	color: var(--coop-accent, #3537e3);
}

.site-footer__nav-toggle[aria-expanded="true"] .site-footer__nav-icon {
	transform: rotate(180deg);
}

.site-footer__nav-icon {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
	margin-left: var(--coop-spacing-sm, 8px);
	transition: transform var(--coop-transition, all 0.2s ease);
	color: var(--coop-text-secondary, #4b4f6b);
}

/* Navigation Links */
.site-footer__nav-links {
	display: flex;
	flex-direction: column;
	gap: var(--coop-spacing-sm, 8px);
	margin-top: var(--coop-spacing-md, 16px);
}

.site-footer__nav-link {
	color: var(--coop-text-secondary, #4b4f6b);
	font-size: 14px;
	line-height: 1.6;
	text-decoration: none;
	transition: color var(--coop-transition, all 0.2s ease);
}

.site-footer__nav-link:hover {
	color: var(--coop-accent, #3537e3);
}

/* Ebene 2: Bottom Bar */
.site-footer__bottom {
	padding: var(--coop-spacing-lg, 24px) 0;
	background: var(--coop-bg-secondary, #f5f5f5);
	border-top: 1px solid var(--coop-border-light, rgba(120, 120, 128, 0.2));
}

.site-footer__bottom-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--coop-spacing-lg, 24px);
	min-height: 60px;
}

/* Bottom Left: Copyright + Trust Badges */
.site-footer__bottom-left {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-lg, 24px);
	flex-wrap: wrap;
}

.site-footer__copyright {
	margin: 0;
	color: var(--coop-text-secondary, #4b4f6b);
	font-size: 13px;
	line-height: 1.5;
}

/* Bottom Right: Social Icons */
.site-footer__bottom-right {
	display: flex;
	align-items: center;
}

.site-footer__social {
	display: flex;
	align-items: center;
	gap: var(--coop-spacing-md, 16px);
}

.site-footer__social-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	color: var(--coop-text-secondary, #4b4f6b);
	text-decoration: none;
	border-radius: 50%;
	transition: all var(--coop-transition, all 0.2s ease);
	background: transparent;
}

.site-footer__social-link:hover {
	color: var(--coop-accent, #3537e3);
	background: color-mix(in srgb, var(--coop-accent, #3537e3) 10%, transparent);
	transform: translateY(-2px);
}

.site-footer__social-link svg {
	width: 20px;
	height: 20px;
	fill: currentColor;
}

/* Dark Mode Footer */
body.coop-dark-area .site-footer {
	background: rgba(12, 12, 18, 0.92);
	border-top-color: color-mix(in srgb, var(--coop-text-secondary) 20%, transparent);
}

body.coop-dark-area .site-footer__main {
	background: rgba(12, 12, 18, 0.92);
}

body.coop-dark-area .site-footer__bottom {
	background: rgba(8, 8, 12, 0.95);
	border-top-color: color-mix(in srgb, var(--coop-text-secondary) 15%, transparent);
}

body.coop-dark-area .site-footer__nav-toggle {
	color: var(--coop-text-primary, #f5f5f7);
}

body.coop-dark-area .site-footer__nav-toggle:hover {
	color: var(--coop-accent, #4c6fff);
}

body.coop-dark-area .site-footer__nav-link {
	color: var(--coop-text-secondary, rgba(160, 160, 180, 0.85));
}

body.coop-dark-area .site-footer__nav-link:hover {
	color: var(--coop-accent, #4c6fff);
}

body.coop-dark-area .site-footer__copyright {
	color: var(--coop-text-secondary, rgba(160, 160, 180, 0.85));
}

body.coop-dark-area .site-footer__social-link {
	color: var(--coop-text-secondary, rgba(160, 160, 180, 0.85));
}

body.coop-dark-area .site-footer__social-link:hover {
	color: var(--coop-accent, #4c6fff);
	background: color-mix(in srgb, var(--coop-accent, #4c6fff) 15%, transparent);
}

/* Mobile: Navigation immer sichtbar */
@media (max-width: 1024px) {
	.site-footer__main {
		padding: var(--coop-spacing-xl, 48px) 0 var(--coop-spacing-lg, 24px);
	}

	.site-footer__nav-grid {
		grid-template-columns: 1fr;
		gap: var(--coop-spacing-xl, 48px);
	}

	.site-footer__nav-column {
		padding-bottom: var(--coop-spacing-lg, 24px);
		border-bottom: 1px solid var(--coop-border-light, rgba(120, 120, 128, 0.2));
	}

	.site-footer__nav-column:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.site-footer__nav-links {
		display: flex !important;
	}

	.site-footer__bottom-inner {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-md, 16px);
	}

	.site-footer__bottom-left {
		flex-direction: column;
		align-items: flex-start;
		gap: var(--coop-spacing-md, 16px);
	}

	.site-footer__bottom-right {
		width: 100%;
		justify-content: flex-start;
	}

	.site-footer__bottom {
		padding: var(--coop-spacing-lg, 24px) 0 80px;
	}
}

/* Desktop: Navigation immer sichtbar */
@media (min-width: 1025px) {
	.site-footer__nav-toggle {
		display: none;
	}

	.site-footer__nav-links {
		display: flex !important;
	}

	.site-footer__nav-title {
		display: none;
	}

	.site-footer__nav-column {
		position: relative;
	}

	.site-footer__nav-column::before {
		content: attr(data-title);
		display: block;
		font-size: 15px;
		font-weight: 600;
		color: var(--coop-text-primary, #181a34);
		margin-bottom: var(--coop-spacing-md, 16px);
	}

	body.coop-dark-area .site-footer__nav-column::before {
		color: var(--coop-text-primary, #f5f5f7);
	}
}

/* Cookie Settings Link */
.site-footer__nav-link--cookie {
	cursor: pointer;
}

/* Accessibility */
.site-footer__nav-toggle:focus-visible {
	outline: 2px solid var(--coop-accent, #3537e3);
	outline-offset: 2px;
	border-radius: 4px;
}

.site-footer__social-link:focus-visible {
	outline: 2px solid var(--coop-accent, #3537e3);
	outline-offset: 2px;
}

/* Cookie Revisit Icon deaktivieren */
.cky-btn-revisit-wrapper.cky-revisit-bottom-left {
	display: none !important;
}

/* CoopPrint Cart Page V2 - Padding auf 0 setzen */
.woocommerce.coopprint-cart-page-v2 {
	padding: 0;
}



