/* ==========================================================================
   membraPure Shop - Konsolidiertes Stylesheet (technisch bereinigt)

   Änderungen (nur technisch, keine Farben):
   - Sektion 12: 48%-Float-Layout der Produktseite ENTFERNT
     (kollidierte mit dem Grid-Layout aus Snippet 09 -> Bild war nur 275px breit)
   - Tabs-Styling der Produktseite entfernt (macht jetzt Snippet 09)
   - Subnav: feste Höhe -> min-height (verhinderte Umbruch auf Mobile,
     Links liefen in die Breadcrumb)
   - Alle __inner-Container: seitliches Padding ergänzt
     (Inhalt klebte unter 1150px am Bildschirmrand)
   - Doppelte List-View-Media-Queries (Sektion 10 vs. 14) konsolidiert
   - "search ausblenden bei 768px" entfernt (Snippet 03 macht die Suche
     auf Mobile stattdessen volle Breite)

   Inhaltsverzeichnis:
     1.  BASIS
     2.  SHOP-SUBNAVIGATION
     3.  SHOP-STARTSEITE: HERO
     4.  SHOP-STARTSEITE: KATEGORIEN-GRID
     5.  SHOP-STARTSEITE: BERATUNGS-BOX
     6.  KATEGORIE-SEITE: HERO
     7.  KATEGORIE-SEITE: LAYOUT + SIDEBAR
     8.  KATEGORIE-SEITE: TOOLBAR + VIEW-SWITCHER
     9.  PRODUKT-LOOP: KACHELANSICHT
    10.  PRODUKT-LOOP: LISTENANSICHT
    11.  PAGINATION
    12.  PRODUKT-DETAILSEITE (nur Typo/Details - Layout macht Snippet 09)
    13.  THEME-CONTAINER AUFBRECHEN
    14.  RESPONSIVE
    15.  NOTICES / CHECKOUT
   ========================================================================== */


/* ==========================================================================
   1. BASIS
   ========================================================================== */

* { box-sizing: border-box; }

body {
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	-webkit-font-smoothing: antialiased;
}


/* ==========================================================================
   2. SHOP-SUBNAVIGATION
   ========================================================================== */

.mp-subnav {
	background: #005590;
	color: #fff;
	box-shadow: 0 1px 0 rgba(0,0,0,0.08), 0 6px 12px rgba(0,30,60,0.10);
	position: relative;
	z-index: 2;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
	/* FIX: Immer volle Viewport-Breite, auch wenn die Subnav in einem
	   schmalen Content-Container steckt (z.B. Checkout / Order-Received) */
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
.mp-subnav *, .mp-subnav *::before, .mp-subnav *::after { box-sizing: border-box; }

.mp-subnav__inner {
	max-width: 1150px;
	margin: 0 auto;
	min-height: 52px;          /* FIX: vorher height: 52px -> Inhalt konnte nicht umbrechen */
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.mp-subnav__links {
	display: flex;
	align-items: center;
	flex: 1;
	list-style: none;
	min-height: 52px;
	margin: 0;
	padding: 0;
	max-width: 100%;
	overflow-x: auto;                  /* horizontales Wischen statt Umbruch-Chaos */
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.mp-subnav__links::-webkit-scrollbar { display: none; }
.mp-subnav__links-item { list-style: none; margin: 0; padding: 0; flex: 0 0 auto; }

/* Alle Menüpunkte — ein einziger Stil */
.mp-subnav__link,
.mp-subnav .mp-subnav__link {
	padding: 0 20px 0 0;
	font-size: 14px;
	font-weight: 400;
	color: #fff !important;
	text-decoration: none;
	display: flex;
	align-items: center;
	height: 52px;
	white-space: nowrap;
	position: relative;
	transition: text-decoration 0.15s;
	background: transparent;
}

/* Hover: nur Unterstrich */
.mp-subnav__link:hover,
.mp-subnav .mp-subnav__link:hover {
	color: #fff !important;
	background: transparent !important;
	text-decoration: underline;
	text-underline-offset: 6px;
}

/* Aktiv: Linie unten */
.mp-subnav__link--active::after {
	content: "";
	position: absolute;
	left: 0px;
	right: 20px;
	bottom: -1px;
	height: 1px;
	background: #fff;
}

.mp-subnav__actions {
	display: flex;
	align-items: center;
	gap: 4px;
	margin-left: auto;
}

.mp-subnav__search {
	display: flex;
	align-items: center;
	background: rgba(255,255,255,0.1);
	border-radius: 6px;
	padding: 0 6px 0 10px;
	height: 34px;
	margin-right: 6px;
	transition: background 0.15s;
}
.mp-subnav__search:focus-within { background: rgba(255,255,255,0.18); }
.mp-subnav__search-input {
	background: transparent !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 13px !important;
	width: 150px !important;
	height: 100% !important;
	outline: none !important;
	padding: 0 !important;
	margin: 0 !important;
	font-family: inherit;
}
.mp-subnav__search-input::placeholder { color: rgba(255,255,255,0.65); }
.mp-subnav__search-submit {
	background: transparent !important;
	border: 0 !important;
	color: rgba(255,255,255,0.75) !important;
	cursor: pointer;
	padding: 0 8px !important;
	font-size: 13px !important;
	height: 100%;
}
.mp-subnav__search-submit:hover { color: #fff !important; }

.mp-subnav__icon-btn,
.mp-subnav a.mp-subnav__icon-btn {
	width: 34px;
	height: 34px;
	background: rgba(255,255,255,0.1) !important;
	color: #fff !important;
	border-radius: 6px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 13px;
	text-decoration: none;
	position: relative;
	transition: background 0.15s;
}
.mp-subnav__icon-btn:hover { background: rgba(255,255,255,0.18) !important; }

.mp-subnav__cart-count {
	position: absolute;
	top: -4px;
	right: -4px;
	background: #52b5e7;
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	min-width: 16px;
	height: 16px;
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
}

/* ==========================================================================
   3. SHOP-STARTSEITE: HERO
   ========================================================================== */

.mp-hero {
	background: linear-gradient(135deg, #005590 0%, #006fb7 100%);
	color: #fff;
	padding: 72px 0 80px;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.mp-hero *, .mp-hero *::before, .mp-hero *::after { box-sizing: border-box; }
.mp-hero__inner {
	max-width: 1150px;
	margin: 0 auto;
	text-align: center;
}
.mp-hero__eyebrow {
	display: inline-block;
	background: rgba(255,255,255,0.15);
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 6px 14px;
	border-radius: 20px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	margin-bottom: 22px;
}
.mp-hero__title, .mp-hero h1.mp-hero__title {
	font-size: clamp(32px, 5vw, 48px);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: -0.8px;
	color: #fff !important;
	margin: 0 0 18px 0;
}
.mp-hero__title-break { display: block; }
.mp-hero__subtitle {
	font-size: 17px;
	line-height: 1.65;
	color: rgba(255,255,255,0.9);
	max-width: 700px;
	margin: 0 auto 30px auto;
}
.mp-hero__buttons {
	display: flex;
	gap: 12px;
	justify-content: center;
	flex-wrap: wrap;
}
.mp-hero__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 14px 26px;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.15s;
	border: 0;
	cursor: pointer;
}
.mp-hero__btn--primary { background: #fff; color: #005590 !important; }
.mp-hero__btn--primary:hover { background: #f3f7fa; transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0,0,0,0.15); }
.mp-hero__btn--secondary { background: rgba(255,255,255,0.1); color: #fff !important; border: 1px solid rgba(255,255,255,0.3); }
.mp-hero__btn--secondary:hover { background: rgba(255,255,255,0.18); }


/* ==========================================================================
   4. SHOP-STARTSEITE: KATEGORIEN-GRID
   ========================================================================== */

.mp-kat {
	background: #fafbfc;
	padding: 80px 0;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.mp-kat *, .mp-kat *::before, .mp-kat *::after { box-sizing: border-box; }
.mp-kat__inner { max-width: 1150px; margin: 0 auto; }
.mp-kat__head { text-align: center; margin-bottom: 56px; }
.mp-kat__title, .mp-kat h2.mp-kat__title {
	font-size: clamp(28px, 3.4vw, 36px);
	font-weight: 500;
	color: #1a2332;
	letter-spacing: -0.4px;
	margin: 0 0 14px 0;
}
.mp-kat__subtitle { font-size: 17px; color: #5b6473; max-width: 620px; margin: 0 auto; line-height: 1.6; }
.mp-kat__grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
.mp-kat__card {
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 16px;
	overflow: hidden;
	text-decoration: none;
	color: inherit;
	transition: transform 0.25s, box-shadow 0.25s;
	border: 1px solid #e8ecef;
}
.mp-kat__card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0,70,120,0.16); color: inherit; }
.mp-kat__card-media { position: relative; aspect-ratio: 1/1; background: #f3f7fa; overflow: hidden; }
.mp-kat__card-media img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 24px; transition: transform 0.4s; }
.mp-kat__card:hover .mp-kat__card-media img { transform: scale(1.05); }
.mp-kat__card-count {
	position: absolute;
	top: 14px; right: 14px;
	background: rgba(255,255,255,0.95);
	color: var(--mp-kat-color, #006fb7);
	font-size: 12px; font-weight: 700;
	padding: 6px 12px;
	border-radius: 20px;
	letter-spacing: 0.3px;
	z-index: 2;
	box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}
.mp-kat__card-count::after { content: " Produkte"; font-weight: 500; color: #5b6473; }
.mp-kat__card-body {
	padding: 22px 24px 24px;
	background: var(--mp-kat-color, #006fb7);
	color: #fff;
	flex: 1;
	display: flex;
	flex-direction: column;
}
.mp-kat__card-title { font-size: 20px; font-weight: 600; color: #fff !important; margin: 0 0 6px 0; letter-spacing: -0.3px; }
.mp-kat__card-desc { font-size: 13px; color: rgba(255,255,255,0.92); line-height: 1.55; margin: 0 0 16px 0; flex: 1; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.mp-kat__card-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	align-self: flex-start;
	background: rgba(255,255,255,0.18);
	color: #fff;
	font-size: 11px; font-weight: 600;
	padding: 7px 13px;
	border-radius: 20px;
	letter-spacing: 0.5px;
	text-transform: uppercase;
	transition: background 0.2s, gap 0.2s;
}
.mp-kat__card:hover .mp-kat__card-badge { background: rgba(255,255,255,0.28); gap: 10px; }
.mp-kat__card-badge i { font-size: 10px; }


/* ==========================================================================
   5. SHOP-STARTSEITE: BERATUNGS-BOX
   ========================================================================== */

.mp-beratung {
	background: #fff;
	padding: 56px 0 80px;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.mp-beratung *, .mp-beratung *::before, .mp-beratung *::after { box-sizing: border-box; }
.mp-beratung__inner { max-width: 1150px; margin: 0 auto; }
.mp-beratung__box {
	background: linear-gradient(135deg, #f3f7fa 0%, #e0ecf3 100%);
	border-radius: 16px;
	padding: 40px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 32px;
	border: 1px solid #d6e2ea;
}
.mp-beratung__text { flex: 1; }
.mp-beratung__title { font-size: 22px; font-weight: 600; color: #1a2332; margin: 0 0 8px 0; letter-spacing: -0.2px; }
.mp-beratung__desc { font-size: 14px; color: #5b6473; line-height: 1.6; margin: 0; max-width: 580px; }
.mp-beratung__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: #005590;
	color: #fff !important;
	padding: 14px 26px;
	border-radius: 8px;
	font-size: 14px; font-weight: 600;
	text-decoration: none;
	transition: all 0.15s;
	white-space: nowrap;
	border: 0;
	cursor: pointer;
}
.mp-beratung__btn:hover { background: #006fb7; transform: translateY(-1px); box-shadow: 0 6px 14px rgba(0,30,60,0.18); color: #fff !important; }


/* ==========================================================================
   6. KATEGORIE-SEITE: HERO
   ========================================================================== */

.mp-cat-hero {
	background: linear-gradient(135deg, #005590 0%, #006fb7 100%);
	color: #fff;
	padding: 56px 0 64px;
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif;
}
.mp-cat-hero *, .mp-cat-hero *::before, .mp-cat-hero *::after { box-sizing: border-box; }
.mp-cat-hero__inner {
	max-width: 1150px;
	margin: 0 auto;
	display: block;
}
.mp-cat-hero__breadcrumb {
	font-size: 13px;
	color: rgba(255,255,255,0.85);
	margin-bottom: 18px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;           /* FIX: lange Produktnamen dürfen umbrechen */
	gap: 8px;
}
.mp-cat-hero__breadcrumb a, .mp-cat-hero__breadcrumb a:visited { color: rgba(255,255,255,0.85) !important; text-decoration: none; }
.mp-cat-hero__breadcrumb a:hover { color: #fff !important; }
.mp-cat-hero__breadcrumb-sep { opacity: 0.5; }
.mp-cat-hero__title, .mp-cat-hero h1.mp-cat-hero__title {
	font-size: clamp(28px, 4vw, 40px);
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -0.5px;
	margin: 0 0 14px 0;
	color: #fff !important;
}
.mp-cat-hero__subtitle { font-size: 16px; line-height: 1.6; color: rgba(255,255,255,0.9); max-width: 700px; margin: 0; }


/* ==========================================================================
   7. KATEGORIE-SEITE: LAYOUT + SIDEBAR
   ========================================================================== */

.mp-cat-section { padding: 40px 0 72px; background: #fafbfc; }
.mp-cat-section__inner {
	max-width: 1150px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);  /* FIX: minmax verhindert Grid-Overflow */
	gap: 40px;
	align-items: start;
}
.mp-cat-section__inner--no-sidebar { grid-template-columns: 1fr !important; }

.mp-cat-section__sidebar,
.mp-sidebar {
	background: #fff;
	border: 1px solid #e8ecef;
	border-radius: 12px;
	padding: 24px;
	position: sticky;
	top: 20px;
}
.mp-cat-section__sidebar-heading,
.mp-sidebar__heading {
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #5b6473;
	font-weight: 600;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid #e8ecef;
}
.mp-cat-section__sidebar .widget,
.mp-sidebar .mp-filter-group { margin-bottom: 24px; }
.mp-cat-section__sidebar .widget:last-child,
.mp-sidebar .mp-filter-group:last-child { margin-bottom: 0; }
.mp-cat-section__sidebar .widget-title,
.mp-cat-section__sidebar .widgettitle,
.mp-filter-group__title {
	font-size: 14px;
	font-weight: 600;
	color: #1a2332;
	margin-bottom: 12px;
}
.mp-cat-section__sidebar ul { list-style: none; margin: 0; padding: 0; }
.mp-cat-section__sidebar ul li { padding: 6px 0; font-size: 13px; color: #5b6473; list-style: none; }
.mp-cat-section__sidebar ul li a { color: #5b6473; text-decoration: none; }
.mp-cat-section__sidebar ul li a:hover { color: #1a2332; }
.mp-cat-section__sidebar .count { color: #9ba3ae; font-size: 12px; margin-left: 4px; }

/* Filter-Optionen (Snippet 08) */
.mp-filter-option {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 6px 0;
	font-size: 13px;
	color: #5b6473;
	text-decoration: none;
}
.mp-filter-option:hover { color: #1a2332; }
.mp-filter-option__checkbox {
	width: 16px; height: 16px;
	border: 1.5px solid #c9d1d9;
	border-radius: 3px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.15s;
	position: relative;
}
.mp-filter-option--checked .mp-filter-option__checkbox { background: #006fb7; border-color: #006fb7; }
.mp-filter-option--checked .mp-filter-option__checkbox::after {
	content: "";
	width: 5px; height: 9px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg) translate(-1px, -1px);
}
.mp-filter-option__dot { width: 8px; height: 8px; border-radius: 50%; flex-shrink: 0; }
.mp-filter-option__label { flex: 1; }
.mp-filter-option__count { color: #9ba3ae; font-size: 12px; }
.mp-filter-reset { display: inline-block; color: #006fb7; font-size: 12px; font-weight: 600; text-decoration: none; margin-top: 10px; }
.mp-filter-reset:hover { text-decoration: underline; }

/* Aktive Filter-Chips */
.mp-active-filters { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 20px; }
.mp-active-filter-chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #eaf6fc;
	color: #005590;
	font-size: 12px; font-weight: 500;
	padding: 5px 8px 5px 12px;
	border-radius: 16px;
	border: 1px solid #b8d4e3;
	text-decoration: none;
}
.mp-active-filter-chip:hover { background: #d8ecf5; }
.mp-active-filter-chip__close {
	width: 16px; height: 16px;
	border-radius: 50%;
	background: rgba(0,85,144,0.15);
	display: flex; align-items: center; justify-content: center;
	font-size: 11px; line-height: 1;
}


/* ==========================================================================
   8. KATEGORIE-SEITE: TOOLBAR + VIEW-SWITCHER
   ========================================================================== */

.mp-cat-toolbar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px !important;
	padding-bottom: 16px !important;
	border-bottom: 1px solid #e8ecef !important;
	flex-wrap: wrap;
	gap: 12px;
}
.mp-cat-toolbar__left { font-size: 13px; color: #5b6473; }
.mp-cat-toolbar__right { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.woocommerce .woocommerce-result-count,
.woocommerce-page .woocommerce-result-count {
	margin: 0 !important; padding: 0 !important;
	font-size: 13px !important; color: #5b6473 !important; float: none !important;
}
.woocommerce .woocommerce-result-count strong { color: #1a2332; font-weight: 600; }
.woocommerce .woocommerce-ordering,
.woocommerce-page .woocommerce-ordering { margin: 0 !important; float: none !important; }
.woocommerce .woocommerce-ordering select,
.woocommerce-page .woocommerce-ordering select,
.mp-cat-toolbar__sort select {
	padding: 6px 28px 6px 12px !important;
	border: 1px solid #d6dce1 !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	font-family: inherit !important;
	color: #1a2332 !important;
	background: #fff !important;
	cursor: pointer !important;
	height: auto !important;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%235b6473' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
}

.mp-view-switcher { display: inline-flex; gap: 4px; }
.mp-view-switcher__btn {
	width: 36px !important; height: 36px !important;
	min-width: 36px !important; min-height: 36px !important;
	max-width: 36px !important; max-height: 36px !important;
	border: 1px solid #e8ecef !important;
	background: #fff !important;
	color: #5b6473 !important;
	border-radius: 6px !important;
	cursor: pointer;
	display: inline-flex !important;
	align-items: center; justify-content: center;
	font-size: 14px !important;
	padding: 0 !important; margin: 0 !important;
	box-shadow: none !important;
	transition: all 0.15s;
	line-height: 1 !important;
}
.mp-view-switcher__btn:hover { border-color: #52b5e7 !important; color: #52b5e7 !important; background: #fff !important; box-shadow: none !important; transform: none !important; }
.mp-view-switcher__btn.is-active,
.mp-view-switcher__btn.is-active:hover { background: #52b5e7 !important; color: #fff !important; border-color: #52b5e7 !important; }
.mp-view-switcher__btn i { font-size: 14px !important; color: inherit !important; }


/* ==========================================================================
   9. PRODUKT-LOOP: KACHELANSICHT
   ========================================================================== */

.woocommerce ul.products,
.woocommerce-page ul.products,
ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
	margin: 0 0 32px 0 !important;
	padding: 0 !important;
	list-style: none !important;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none !important; content: none !important; }

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product,
ul.products li.product {
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #e8ecef !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	display: flex !important;
	flex-direction: column !important;
	transition: transform 0.2s, box-shadow 0.2s, border-color 0.2s;
	text-align: left !important;
	position: relative !important;
	box-shadow: none !important;
	clear: none !important;
	float: none !important;
}
.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 28px rgba(0,70,120,0.10) !important;
	border-color: var(--mp-product-color, #52b5e7) !important;
}

/* Bild */
.mp-product__image-link {
	display: block !important;
	position: relative !important;
	background: #f3f7fa !important;
	aspect-ratio: 1/1 !important;
	overflow: hidden !important;
	text-decoration: none !important;
	width: 100% !important;
}
.mp-product__image-link img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	margin: 0 !important; padding: 0 !important;
	display: block !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	position: static !important;
}

/* Badges */
.mp-product__badge {
	position: absolute !important;
	top: 12px !important; left: 12px !important;
	font-size: 10px !important; font-weight: 700 !important;
	padding: 5px 11px !important;
	border-radius: 14px !important;
	text-transform: uppercase !important;
	letter-spacing: 0.8px !important;
	z-index: 5 !important;
	line-height: 1 !important;
	margin: 0 !important;
}
.mp-product__badge--neu { background: #00a89b !important; color: #fff !important; }
.mp-product__badge--bestseller { background: #fff !important; color: #52b5e7 !important; border: 1px solid #e8ecef !important; }
.mp-product__badge--sale { background: #ff6b35 !important; color: #fff !important; }
.woocommerce span.onsale { display: none !important; }

/* Meta: SKU + Kategorie + Titel */
.mp-product__meta {
	padding: 16px 20px 0 !important;
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
}
.mp-product__category {
	font-size: 11px !important; font-weight: 600 !important;
	color: var(--mp-product-color, #52b5e7) !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	margin: 0 !important;
}
.mp-product__sku {
	font-size: 11px !important; font-weight: 400 !important;
	color: #b8c0c9 !important;
	letter-spacing: 0.3px;
	line-height: 1.2;
}
.mp-product__title-link {
	text-decoration: none !important;
	color: inherit !important;
	display: block !important;
	padding: 6px 0 0 !important;
}
.mp-product__title-link:hover { color: inherit !important; text-decoration: none !important; }
.mp-product__title,
.woocommerce ul.products li.product .mp-product__title,
.woocommerce ul.products li.product h2.mp-product__title {
	font-size: 15px !important; font-weight: 500 !important;
	color: #1a2332 !important;
	padding: 0 !important;
	line-height: 1.3 !important;
	margin: 0 !important;
}

/* Excerpt */
.mp-product__excerpt {
	font-size: 13px !important;
	color: #5b6473 !important;
	line-height: 1.55 !important;
	margin: 6px 20px 0 !important;
	padding: 0 !important;
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	flex: 1 !important;
}

/* Footer: Preis links + Cart rechts */
.mp-product__footer {
	display: flex !important;
	flex-direction: row !important;
	justify-content: space-between !important;
	align-items: center !important;
	gap: 10px !important;
	margin: 12px 20px 20px !important;
	padding-top: 12px !important;
	border-top: 1px solid #f0f3f5 !important;
	margin-top: auto !important;
}

/* Preis-Info: Preis + MwSt untereinander (linke Seite) */
.mp-product__price-wrap {
	display: flex !important;
	flex-direction: column !important;
	gap: 2px !important;
	flex: 1 !important;
	min-width: 0 !important;
}
.mp-product__price-wrap .price,
.woocommerce ul.products li.product .mp-product__price-wrap .price {
	font-size: 18px !important; font-weight: 600 !important;
	color: #005590 !important;
	padding: 0 !important; margin: 0 !important;
	display: block !important;
	line-height: 1.2 !important;
}
.woocommerce ul.products li.product .mp-product__price-wrap .price del { color: #9ba3ae !important; font-weight: 400 !important; font-size: 14px !important; opacity: 1 !important; }
.woocommerce ul.products li.product .mp-product__price-wrap .price ins { text-decoration: none !important; background: transparent !important; margin: 0 !important; }
.mp-product__tax-info {
	font-size: 11px !important; color: #9ba3ae !important;
	font-weight: 400 !important; line-height: 1.4 !important;
	display: block !important;
}
.mp-product__tax-info a { color: #9ba3ae !important; text-decoration: none !important; }

/* Cart-Button (rechte Seite) */
.mp-product__cart-btn,
a.mp-product__cart-btn,
.woocommerce ul.products li.product .mp-product__cart-btn {
	width: 40px !important; height: 40px !important;
	min-width: 40px !important; min-height: 40px !important;
	max-width: 40px !important; max-height: 40px !important;
	background: var(--mp-product-color, #006fb7) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 50% !important;
	padding: 0 !important; margin: 0 !important;
	display: inline-flex !important;
	align-items: center !important; justify-content: center !important;
	cursor: pointer !important;
	text-decoration: none !important;
	font-size: 15px !important;
	flex-shrink: 0 !important;
	transition: opacity 0.15s, transform 0.15s !important;
	box-shadow: none !important;
	line-height: 1 !important;
}
.mp-product__cart-btn:hover,
a.mp-product__cart-btn:hover { opacity: 0.88 !important; transform: scale(1.05); color: #fff !important; background: var(--mp-product-color, #006fb7) !important; text-decoration: none !important; }
.mp-product__cart-btn i { color: #fff !important; font-size: 15px !important; margin: 0 !important; display: inline-block !important; }
.mp-product__cart-btn.loading { opacity: 0.6 !important; }
.woocommerce ul.products li.product .added_to_cart { display: none !important; }

/* Germanized: doppelte Infos außerhalb unterdrücken */
.woocommerce ul.products li.product > .wc-gzd-additional-info,
.woocommerce ul.products li.product > p.wc-gzd-additional-info,
p.wc-gzd-additional-info-loop,
.wc-gzd-additional-info-loop { display: none !important; }


/* ==========================================================================
   10. PRODUKT-LOOP: LISTENANSICHT
   Struktur: li > image-link | meta | excerpt | footer(price-wrap + cart-btn)
   (Responsive Varianten: siehe Sektion 14 – dort EINMAL zentral)
   ========================================================================== */

[data-mp-view="list"] ul.products,
[data-mp-view="list"] .woocommerce ul.products,
[data-mp-view="list"] ul.products.columns-3,
[data-mp-view="list"] ul.products.columns-2,
[data-mp-view="list"] ul.products.columns-4 {
	display: block !important;
	grid-template-columns: none !important;
	gap: 0 !important;
	margin: 0 0 32px 0 !important;
	padding: 0 !important;
	background: #fff !important;
	border: 1px solid #e8ecef !important;
	border-radius: 12px !important;
	overflow: hidden !important;
	list-style: none !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
}

/* Grid-Zeile: Bild | Meta | Excerpt | Footer(Preis+Cart) */
[data-mp-view="list"] ul.products li.product {
	display: grid !important;
	grid-template-columns: 90px 200px minmax(0, 1fr) 230px !important;
	gap: 24px !important;
	align-items: center !important;
	padding: 16px 20px !important;
	border: 0 !important;
	border-bottom: 1px solid #f0f3f5 !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
	margin: 0 !important;
	width: 100% !important;
	max-width: 100% !important;
	box-sizing: border-box !important;
	transition: background 0.15s !important;
	transform: none !important;
	float: none !important;
	clear: none !important;
	overflow: visible !important;
}
[data-mp-view="list"] ul.products li.product:last-child { border-bottom: 0 !important; }
[data-mp-view="list"] ul.products li.product:hover { background: #fafbfc !important; transform: none !important; box-shadow: none !important; }

/* Spalte 1: Bild */
[data-mp-view="list"] ul.products li.product .mp-product__image-link,
[data-mp-view="list"] ul.products li.product a.mp-product__image-link {
	display: flex !important;
	visibility: visible !important;
	width: 90px !important; height: 90px !important;
	min-width: 90px !important; max-width: 90px !important; max-height: 90px !important;
	border-radius: 8px !important;
	overflow: hidden !important;
	background: #f3f7fa !important;
	position: relative !important;
	margin: 0 !important; padding: 0 !important;
	align-items: center !important; justify-content: center !important;
	aspect-ratio: auto !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__image-link img {
	width: 100% !important; height: 100% !important;
	object-fit: cover !important;
	display: block !important;
	opacity: 1 !important; visibility: visible !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__badge {
	display: block !important;
	position: absolute !important;
	top: 6px !important; left: 6px !important;
	font-size: 9px !important;
	padding: 3px 7px !important;
	border-radius: 10px !important;
}

/* Spalte 2: SKU + Kategorie + Titel */
[data-mp-view="list"] ul.products li.product .mp-product__meta {
	display: flex !important;
	flex-direction: column !important;
	gap: 3px !important;
	margin: 0 !important; padding: 0 !important;
	min-width: 0 !important;
	overflow: hidden !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__sku {
	font-size: 11px !important;
	color: #b8c0c9 !important;
	font-family: 'Courier New', monospace !important;
	letter-spacing: 0.3px !important;
	font-weight: 400 !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__category {
	font-size: 10px !important; font-weight: 600 !important;
	text-transform: uppercase !important;
	letter-spacing: 1px !important;
	color: var(--mp-product-color, #52b5e7) !important;
	margin: 0 !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__title-link {
	text-decoration: none !important;
	display: block !important;
	padding: 0 !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__title,
[data-mp-view="list"] ul.products li.product h2.mp-product__title {
	font-size: 15px !important; font-weight: 500 !important;
	color: #1a2332 !important;
	line-height: 1.3 !important;
	margin: 0 !important; padding: 0 !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
}

/* Spalte 3: Beschreibung */
[data-mp-view="list"] ul.products li.product .mp-product__excerpt {
	display: -webkit-box !important;
	-webkit-line-clamp: 2 !important;
	-webkit-box-orient: vertical !important;
	overflow: hidden !important;
	font-size: 13px !important;
	color: #5b6473 !important;
	line-height: 1.5 !important;
	margin: 0 !important; padding: 0 !important;
	white-space: normal !important;
	flex: none !important;
}

/* Spalte 4: Footer = Preis + Cart nebeneinander */
[data-mp-view="list"] ul.products li.product .mp-product__footer {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	justify-content: space-between !important;
	gap: 12px !important;
	margin: 0 !important; padding: 0 !important;
	border: 0 !important;
}

/* Preis-Info: Preis + MwSt untereinander */
[data-mp-view="list"] ul.products li.product .mp-product__price-wrap {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 2px !important;
	flex: 1 !important;
	min-width: 0 !important;
	text-align: right !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__price-wrap .price,
[data-mp-view="list"] ul.products li.product .price {
	font-size: 17px !important; font-weight: 600 !important;
	color: #005590 !important;
	text-align: right !important;
	white-space: nowrap !important;
	display: block !important;
	line-height: 1.2 !important;
	margin: 0 !important; padding: 0 !important;
}
[data-mp-view="list"] ul.products li.product .mp-product__tax-info {
	font-size: 11px !important;
	color: #9ba3ae !important;
	text-align: right !important;
	white-space: nowrap !important;
	display: block !important;
}

/* Cart-Button */
[data-mp-view="list"] ul.products li.product .mp-product__cart-btn,
[data-mp-view="list"] ul.products li.product a.mp-product__cart-btn {
	width: 40px !important; height: 40px !important;
	min-width: 40px !important; min-height: 40px !important;
	max-width: 40px !important; max-height: 40px !important;
	flex-shrink: 0 !important;
	margin: 0 !important;
}


/* ==========================================================================
   11. PAGINATION
   ========================================================================== */

nav.woocommerce-pagination ul,
.woocommerce nav.woocommerce-pagination ul,
.woocommerce-page nav.woocommerce-pagination ul {
	display: flex !important;
	flex-wrap: wrap !important;               /* FIX: viele Seiten -> Umbruch statt Overflow */
	justify-content: center !important;
	gap: 6px !important;
	margin-top: 48px !important;
	padding: 0 !important;
	border: 0 !important;
	list-style: none !important;
}
nav.woocommerce-pagination ul li,
.woocommerce nav.woocommerce-pagination ul li { border: 0 !important; margin: 0 !important; display: inline !important; }
nav.woocommerce-pagination ul li a,
nav.woocommerce-pagination ul li span,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	min-width: 36px !important; height: 36px !important;
	line-height: 36px !important;
	border-radius: 6px !important;
	font-size: 13px !important;
	color: #5b6473 !important;
	border: 1px solid #e8ecef !important;
	background: #fff !important;
	padding: 0 12px !important;
	display: inline-flex !important;
	align-items: center !important; justify-content: center !important;
	text-decoration: none !important;
}
nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li a:hover { border-color: #52b5e7 !important; color: #52b5e7 !important; }
nav.woocommerce-pagination ul li span.current,
.woocommerce nav.woocommerce-pagination ul li span.current { background: #52b5e7 !important; color: #fff !important; border-color: #52b5e7 !important; }

/* Eigene Pagination (Snippet 08/09) */
.mp-pagination { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 6px; margin-top: 48px; }
.mp-pagination__item {
	min-width: 36px; height: 36px; padding: 0 8px;
	border-radius: 6px;
	display: flex; align-items: center; justify-content: center;
	font-size: 13px; color: #5b6473;
	text-decoration: none;
	border: 1px solid #e8ecef;
	background: #fff;
}
.mp-pagination__item:hover { border-color: #006fb7; color: #006fb7; }
.mp-pagination__item--active { background: #006fb7; color: #fff !important; border-color: #006fb7; }
.mp-pagination__item--disabled { color: #c9d1d9; cursor: not-allowed; }
.mp-pagination__dots { color: #9ba3ae; padding: 0 4px; }


/* ==========================================================================
   12. PRODUKT-DETAILSEITE
   WICHTIG: Layout (Grid, Galerie-Breite, Tabs-Karte, Button-Farbe)
   kommt komplett aus Snippet 09. Hier nur noch Typografie & Details,
   die dort nicht abgedeckt sind. Das alte 48%-Float-Layout wurde
   ENTFERNT - es hat das Produktbild auf ~275px begrenzt.
   ========================================================================== */

.woocommerce div.product { font-family: 'Inter', -apple-system, BlinkMacSystemFont, sans-serif; }

.woocommerce div.product .product_title,
.woocommerce div.product h1.product_title {
	font-weight: 500 !important;
	color: #1a2332 !important;
	letter-spacing: -0.4px;
}
.woocommerce div.product p.price del,
.woocommerce div.product span.price del { font-size: 16px; color: #9ba3ae; font-weight: 400; }
.woocommerce div.product p.price ins,
.woocommerce div.product span.price ins { background: transparent; text-decoration: none; }

.woocommerce div.product .stock { display: inline-flex; align-items: center; gap: 6px; color: #2d9362 !important; font-weight: 600; font-size: 13px; }
.woocommerce div.product .stock.out-of-stock { color: #c9302c !important; }
.woocommerce div.product .stock.in-stock::before { content: ""; width: 8px; height: 8px; background: #2d9362; border-radius: 50%; }

.woocommerce div.product form.cart .quantity { display: flex; align-items: center; border: 1.5px solid #d6dce1; border-radius: 8px; overflow: hidden; margin: 0 !important; background: #fff; }
.woocommerce div.product form.cart .quantity .qty {
	width: 60px !important; height: 48px !important;
	border: 0 !important; text-align: center !important;
	font-size: 15px !important; font-weight: 600 !important;
	color: #1a2332 !important; font-family: inherit;
	background: transparent !important; padding: 0 !important;
}
.woocommerce div.product form.cart .quantity .qty:focus { outline: none; }

.woocommerce div.product .product_meta .sku_wrapper { color: #9ba3ae; }


/* ==========================================================================
   13. THEME-CONTAINER AUFBRECHEN (Kategorieseiten + Alle Produkte)
   ========================================================================== */

body.tax-product_cat .site,
body.tax-product_cat .site-main,
body.tax-product_cat #content,
body.tax-product_cat #primary,
body.tax-product_cat main,
body.tax-product_cat .content-area,
body.tax-product_cat .woocommerce,
body.tax-product_cat article,
body.tax-product_cat .entry-content,
body.tax-product_cat .page-content,
body.tax-product_cat .ast-container,
body.tax-product_cat .elementor-section-wrap {
	padding: 0 !important; margin: 0 !important;
	max-width: none !important; width: 100% !important;
	max-inline-size: none !important;
}
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce > .woocommerce-notices-wrapper { display: none !important; }

body.page .site-main,
body.page .page-content,
body.page .entry-content,
body.page .site-main > article,
body.page .site-main > article > .entry-content {
	padding: 0 !important; margin: 0 !important; max-width: none !important;
}
body.page .page-header,
body.page .entry-header,
body.page h1.entry-title { display: none !important; }

/* Elementor/WC-Blöcke die wir nicht brauchen */
.woocommerce-page.page-template-elementor_header_footer ul.products,
body.post-type-archive-product ul.products,
.wc-block-grid__products,
.elementor-widget-woocommerce-products,
.elementor-widget-wc-archive-products { display: none !important; }



/* Seitliches Padding NUR wenn der Viewport schmaler als der 1150px-Container ist
   (auf dem Desktop bleiben alle Bereiche bündig mit dem Theme-Header) */
@media (max-width: 1198px) {
	.mp-subnav__inner,
	.mp-hero__inner,
	.mp-kat__inner,
	.mp-beratung__inner,
	.mp-cat-hero__inner,
	.mp-cat-section__inner {
		padding-left: 24px;
		padding-right: 24px;
	}
}

/* ==========================================================================
   14. RESPONSIVE (zentral, keine Duplikate mehr)
   ========================================================================== */

@media (max-width: 1024px) {
	/* Listenansicht: Beschreibung ausblenden, 4 -> 4 kompakte Spalten */
	[data-mp-view="list"] ul.products li.product {
		grid-template-columns: 90px minmax(0, 1fr) 140px 50px !important;
		gap: 16px !important;
	}
	[data-mp-view="list"] ul.products li.product .mp-product__excerpt { display: none !important; }
}

@media (max-width: 900px) {
	.mp-cat-section__inner { grid-template-columns: 1fr; }
	.mp-cat-section__sidebar, .mp-sidebar { position: static; }
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: repeat(2, 1fr) !important; }
	.mp-kat__grid { grid-template-columns: repeat(2, 1fr); gap: 16px; }
	.mp-kat { padding: 48px 0; }
}

@media (max-width: 768px) {
	.mp-hero { padding: 48px 0; }
	.mp-hero__title, .mp-hero h1.mp-hero__title { font-size: 28px; }
	.mp-beratung__box { padding: 32px; flex-direction: column; align-items: flex-start; }
	/* Suche bleibt sichtbar - Snippet 03 macht sie auf Mobile volle Breite */
}

@media (max-width: 640px) {
	[data-mp-view="list"] ul.products li.product {
		grid-template-columns: 70px minmax(0, 1fr) 50px !important;
		grid-template-rows: auto auto !important;
		grid-template-areas: "img meta cart" "img price cart" !important;
		gap: 8px 14px !important;
		padding: 14px 16px !important;
		align-items: start !important;
	}
	[data-mp-view="list"] ul.products li.product .mp-product__image-link { grid-area: img !important; width: 70px !important; height: 70px !important; max-width: 70px !important; max-height: 70px !important; align-self: center !important; }
	[data-mp-view="list"] ul.products li.product .mp-product__meta { grid-area: meta !important; }
	[data-mp-view="list"] ul.products li.product .mp-product__footer { display: contents !important; } /* FIX: Footer auflösen, damit price+cart eigene Grid-Areas nutzen */
	[data-mp-view="list"] ul.products li.product .mp-product__price-wrap { grid-area: price !important; align-items: flex-start !important; text-align: left !important; align-self: end !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
	[data-mp-view="list"] ul.products li.product .mp-product__price-wrap .price { text-align: left !important; font-size: 15px !important; }
	[data-mp-view="list"] ul.products li.product .mp-product__tax-info { text-align: left !important; }
	[data-mp-view="list"] ul.products li.product .mp-product__cart-btn { grid-area: cart !important; align-self: center !important; }
	[data-mp-view="list"] ul.products li.product .mp-product__title,
	[data-mp-view="list"] ul.products li.product h2.mp-product__title { font-size: 14px !important; white-space: normal !important; display: -webkit-box !important; -webkit-line-clamp: 2 !important; -webkit-box-orient: vertical !important; }
}

@media (max-width: 600px) {
	.mp-kat__grid { grid-template-columns: 1fr; }
}

@media (max-width: 540px) {
	.woocommerce ul.products,
	.woocommerce-page ul.products { grid-template-columns: 1fr !important; }
}


/* ==========================================================================
   15. NOTICES / CHECKOUT
   ========================================================================== */

/* Warenkorb Notices */
.mp-cart-notices { margin-bottom: 16px; }
.mp-cart-notices .woocommerce-message,
.mp-cart-notices .woocommerce-info,
.mp-cart-notices .woocommerce-error {
	background: #f0f7ff !important;
	border: 1px solid #c8dff5 !important;
	border-radius: 8px !important;
	padding: 12px 16px !important;
	font-size: 14px !important;
	color: #1a2332 !important;
	display: flex !important;
	align-items: center !important;
	gap: 10px !important;
	box-shadow: none !important;
	list-style: none !important;
	margin: 0 !important;
}
.mp-cart-notices .woocommerce-message::before { display: none !important; }
.mp-cart-notices .woocommerce-message a.restore-item {
	margin-left: auto !important;
	color: #006fb7 !important;
	font-weight: 600 !important;
	text-decoration: none !important;
	white-space: nowrap !important;
}
.mp-cart-notices .woocommerce-message a.restore-item:hover { text-decoration: underline !important; }

/* Checkout: Fehlermeldungen sauber stylen */
.woocommerce-NoticeGroup,
.woocommerce-NoticeGroup-checkout {
	max-width: 100% !important;
	margin: 0 0 24px 0 !important;
	grid-column: 1 / -1 !important;
	flex: 0 0 100% !important;
	width: 100% !important;
}
.woocommerce-error {
	background: #fff5f5 !important;
	border: 1px solid #fcc !important;
	border-radius: 10px !important;
	padding: 16px 20px !important;
	list-style: none !important;
	margin: 0 !important;
	font-size: 13px !important;
	color: #c0392b !important;
}
.woocommerce-error li {
	display: flex !important;
	align-items: center !important;
	gap: 8px !important;
	padding: 4px 0 !important;
	font-size: 13px !important;
	color: #c0392b !important;
	list-style: none !important;
	margin: 0 !important;
	border: 0 !important;
	background: transparent !important;
}
.woocommerce-error li::before {
	content: "!" !important;
	width: 16px !important;
	height: 16px !important;
	background: #c0392b !important;
	color: #fff !important;
	border-radius: 50% !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-size: 10px !important;
	font-weight: 700 !important;
	flex-shrink: 0 !important;
}
.woocommerce-error li a {
	color: #c0392b !important;
	font-weight: 600 !important;
}
/* Fehlerhafte Felder rot umranden */
.woocommerce form .form-row.woocommerce-invalid input,
.woocommerce form .form-row.woocommerce-invalid select {
	border-color: #c0392b !important;
}
.woocommerce form .form-row.woocommerce-invalid label {
	color: #c0392b !important;
}