/* ==========================================================================
   Max Blank Shop – Gestaltung nach www.maxblank.com
   Gemessene Referenzwerte (15.10.2026, 1440 px / 375 px):
   Barlow 300/400/500/600 · Text 19/28.5 (mobil 16/24) · Einleitung 32/44.8 300 (mobil 18/25.2)
   H1 Übersicht 34/44.2 500 (mobil 20/26) · H2 Kategorie 27/35.1 400 · Breadcrumb 15/22.5 300
   Header schwarz 105 px (mobil 80) · Container 1332 px, Rand 16 px · Sektion 50 px
   Raster 4 × 295 px, Abstand 40 (mobil 2 Spalten, 16) · Bildfläche #EFEFEF
   Button 2 px Rahmen, eckig, 17/25.5, 10 × 25 px (mobil 15, 7.5 × 20) · Akzent #EFEBE8
   ========================================================================== */

@font-face { font-family: "Barlow"; font-style: normal; font-weight: 300; font-display: swap; src: url("../fonts/barlow-300.woff") format("woff"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 400; font-display: swap; src: url("../fonts/barlow-400.woff") format("woff"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 500; font-display: swap; src: url("../fonts/barlow-500.woff") format("woff"); }
@font-face { font-family: "Barlow"; font-style: normal; font-weight: 600; font-display: swap; src: url("../fonts/barlow-600.woff") format("woff"); }

:root {
	--mb-black: #000;
	--mb-white: #fff;
	--mb-sand: #efebe8;
	--mb-grey: #efefef;
	--mb-line: #000;
	--mb-line-soft: #d6d2cd;
	--mb-muted: #595959;           /* 7:1 auf Weiß */
	--mb-red: #ab182e;             /* Logo-Rot, sparsam */
	--mb-err: #b00020;
	--mb-ok: #1e6b34;
	--mb-font: "Barlow", Arial, sans-serif;
	--mb-container: 1332px;
	--mb-gutter: 16px;
	--mb-section: 50px;
	--mb-ease: .3s ease;
	--mb-focus: 0 0 0 2px #fff, 0 0 0 4px #000;
}

*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *, *::before, *::after { transition: none !important; animation: none !important; } }
body { margin: 0; font-family: var(--mb-font); font-size: 19px; line-height: 1.5; font-weight: 400; color: var(--mb-black); background: var(--mb-white); }
img, svg { max-width: 100%; height: auto; }
a { color: inherit; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 2px; }
:focus-visible { outline: 2px solid #000; outline-offset: 3px; }
.mb-header :focus-visible, .mb-menu :focus-visible, .mb-search :focus-visible { outline-color: #fff; }
button { font-family: inherit; }
[hidden] { display: none !important; }
.mb-visually-hidden, .screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
.mb-skip { position: absolute; left: 16px; top: -60px; background: #fff; color: #000; padding: 10px 16px; z-index: 100; font-weight: 500; }
.mb-skip:focus { top: 12px; }
.mb-muted { color: var(--mb-muted); font-weight: 300; }
.mb-hint { font-size: 15px; line-height: 1.5; color: var(--mb-muted); margin: 6px 0 0; }

.mb-container { width: 100%; max-width: var(--mb-container); margin: 0 auto; padding-left: var(--mb-gutter); padding-right: var(--mb-gutter); }
.mb-section { padding-top: var(--mb-section); padding-bottom: var(--mb-section); }
.mb-main { min-height: 50vh; outline: 0; }

/* ---------- Typografie ---------- */
.mb-h1, .mb-intro__title { font-size: 34px; line-height: 1.3; font-weight: 500; margin: 0 0 40px; }
.mb-h2 { font-size: 34px; line-height: 1.3; font-weight: 500; margin: 0 0 30px; }
.mb-h3 { font-size: 27px; line-height: 1.3; font-weight: 500; margin: 0 0 20px; }
.mb-h4 { font-size: 19px; line-height: 1.5; font-weight: 500; margin: 28px 0 10px; }
.mb-intro__text, .mb-lead { font-size: 32px; line-height: 1.4; font-weight: 300; }
.mb-intro__text p { margin: 0 0 20px; }
.mb-lead { font-size: 24px; margin: -20px 0 40px; }

/* ---------- Buttons (btn / btn--white / btn--black der Homepage) ---------- */
.mb-btn, .button, button.button, .woocommerce-button, #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 14px;
	font-family: var(--mb-font); font-size: 17px; line-height: 1.5; font-weight: 400; letter-spacing: normal;
	padding: 10px 25px; border: 2px solid var(--mb-black); border-radius: 0;
	background: var(--mb-white); color: var(--mb-black); text-decoration: none; cursor: pointer;
	transition: background var(--mb-ease), color var(--mb-ease);
}
.mb-btn .mb-arrow, .button .mb-arrow { transition: transform var(--mb-ease); }
.mb-btn:hover, .button:hover, #place_order:hover { background: var(--mb-black); color: var(--mb-white); text-decoration: none; }
.mb-btn:hover .mb-arrow { transform: translateX(1rem); }
.mb-btn--black, #place_order, .checkout-button, .woocommerce-form-login .mb-btn { background: var(--mb-black); color: var(--mb-white); }
.mb-btn--black:hover, #place_order:hover, .checkout-button:hover { background: var(--mb-white); color: var(--mb-black); }
.mb-btn--wide, #place_order, .checkout-button { width: 100%; padding-top: 14px; padding-bottom: 14px; }
.mb-btn--ghost { background: transparent; }
.mb-btn[disabled], .mb-btn:disabled { opacity: .35; cursor: not-allowed; }
.mb-btn[disabled]:hover { background: var(--mb-black); color: #fff; }
.mb-btn:focus-visible, #place_order:focus-visible { box-shadow: var(--mb-focus); outline: 0; }

/* ---------- Header ---------- */
.mb-header { background: var(--mb-black); color: var(--mb-white); position: sticky; top: 0; z-index: 50; }
.mb-header__inner { display: flex; align-items: center; gap: 24px; height: 105px; padding: 10px 50px; }
.mb-header__logo { display: block; flex: 0 0 auto; line-height: 0; }
.mb-header__logo img { width: 130px; height: 85px; }
.mb-header__label { font-size: 15px; font-weight: 300; letter-spacing: .08em; text-transform: uppercase; opacity: .85; border-left: 1px solid rgba(255,255,255,.4); padding-left: 20px; }
.mb-header__actions { margin-left: auto; display: flex; align-items: center; gap: 28px; }
.mb-header__link, .mb-header__icon { color: rgba(255,255,255,.88); font-size: 17px; font-weight: 500; text-decoration: none; display: inline-flex; align-items: center; gap: 8px; background: none; border: 0; cursor: pointer; padding: 6px 0; }
.mb-header__link:hover, .mb-header__icon:hover { color: #fff; }
.mb-header__link .mb-arrow { width: 16px; transition: transform var(--mb-ease); }
.mb-header__link:hover .mb-arrow { transform: translateX(6px); }
.mb-header__cart { position: relative; }
.mb-cart-count { min-width: 22px; height: 22px; border-radius: 11px; background: #fff; color: #000; font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; padding: 0 6px; }
.mb-burger { width: 40px; height: 40px; border: 0; background: none; cursor: pointer; display: inline-flex; flex-direction: column; justify-content: center; gap: 7px; padding: 4px; }
.mb-burger span { display: block; height: 2px; background: #fff; transition: transform var(--mb-ease), opacity var(--mb-ease); }
.mb-burger[aria-expanded="true"] span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.mb-burger[aria-expanded="true"] span:nth-child(2) { opacity: 0; }
.mb-burger[aria-expanded="true"] span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }
.mb-menu, .mb-search { background: #161616; border-top: 1px solid rgba(255,255,255,.12); max-height: calc(100vh - 105px); overflow: auto; }
.mb-menu__grid { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px; padding-top: 40px; padding-bottom: 48px; }
.mb-menu__top { display: block; font-size: 21px; font-weight: 500; color: #fff; text-decoration: none; margin-bottom: 14px; }
.mb-menu ul { list-style: none; margin: 0; padding: 0; }
.mb-menu li a { display: block; color: rgba(255,255,255,.8); font-size: 17px; font-weight: 300; padding: 5px 0; text-decoration: none; }
.mb-menu a:hover { color: #fff; text-decoration: underline; }
.mb-search__form { padding-top: 28px; padding-bottom: 32px; }
.mb-search__label { display: block; color: rgba(255,255,255,.85); font-size: 17px; margin-bottom: 10px; }
.mb-search__row { display: flex; gap: 12px; }
.mb-search__row input { flex: 1; font: inherit; font-size: 19px; padding: 10px 14px; border: 2px solid #fff; background: #000; color: #fff; border-radius: 0; }
.mb-search__row input::placeholder { color: rgba(255,255,255,.55); }

/* ---------- Brotkrumen ---------- */
.mb-bc { padding-top: 60px; font-size: 15px; line-height: 1.5; font-weight: 300; }
.mb-bc__in { padding-bottom: 14px; border-bottom: 1px solid var(--mb-line); }
.mb-bc a { text-decoration: none; }
.mb-bc a:hover { text-decoration: underline; }
.mb-bc__sep { padding: 0 5px; }
.mb-bc .mb-container > :last-child, .mb-bc .mb-container { font-weight: 300; }
.woocommerce-breadcrumb { margin: 0; }

/* ---------- Einleitung ---------- */
.mb-intro { padding-top: var(--mb-section); padding-bottom: var(--mb-section); }
.mb-intro__text { max-width: 1060px; }

/* ---------- Kacheln (Sortiment) ---------- */
.mb-tiles { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; padding-bottom: var(--mb-section); }
.mb-tile { display: flex; flex-direction: column; justify-content: space-between; min-height: 170px; padding: 24px; background: var(--mb-sand); text-decoration: none; transition: background var(--mb-ease), color var(--mb-ease); }
.mb-tile__name { font-size: 27px; line-height: 1.3; font-weight: 500; }
.mb-tile__count { font-size: 15px; font-weight: 300; margin-top: 8px; }
.mb-tile .mb-arrow { margin-top: 20px; transition: transform var(--mb-ease); }
.mb-tile:hover { background: #000; color: #fff; }
.mb-tile:hover .mb-arrow { transform: translateX(1rem); }

/* ---------- Produktlisten ---------- */
.mb-listing { padding-top: var(--mb-section); padding-bottom: var(--mb-section); }
.mb-listing__head { font-size: 27px; line-height: 1.3; font-weight: 400; margin: 0 0 30px; }
.mb-listing__head a { text-decoration: none; }
.mb-listing__head a:hover { text-decoration: underline; }
.mb-listing__count { font-size: 15px; font-weight: 300; margin: 0 0 20px; }
.mb-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; }
.mb-card { min-width: 0; }
.mb-card__link { display: block; text-decoration: none; }
.mb-card__img { position: relative; margin: 0 0 10px; aspect-ratio: 1 / 1; background: var(--mb-grey); display: flex; align-items: center; justify-content: center; overflow: hidden; }
.mb-card__img img { width: 61%; height: auto; max-height: 80%; object-fit: contain; transition: transform var(--mb-ease); }
.mb-card__link:hover .mb-card__img img { transform: scale(1.03); }
.mb-card__name { font-size: 15px; line-height: 1.5; font-weight: 500; display: inline-flex; align-items: center; gap: 10px; }
.mb-card__name .mb-arrow { width: 15px; flex: 0 0 auto; transition: transform var(--mb-ease); }
.mb-card__link:hover .mb-card__name .mb-arrow { transform: translateX(6px); }
.mb-card__link:hover .mb-card__name { text-decoration: underline; }
.mb-card__meta { margin: 2px 0 0; font-size: 15px; font-weight: 300; color: var(--mb-muted); }
.mb-card__price { margin: 6px 0 0; font-size: 15px; }
.mb-card--acc .mb-card__img img { width: 70%; }

/* Platzhalterbild (gekennzeichnet) */
.mb-ph { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 100%; height: 100%; color: #8c857b; }
.mb-ph svg { width: 60%; max-width: 260px; }
.mb-ph__txt { font-size: 13px; font-weight: 500; letter-spacing: .06em; text-transform: uppercase; margin-top: 6px; }

/* Kennzeichen */
.mb-badge { position: absolute; left: 10px; top: 10px; background: #000; color: #fff; font-size: 12px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; padding: 3px 8px; }
.mb-badge + .mb-badge { top: 38px; }
.mb-badge--neu { background: var(--mb-red); }
.mb-badge--anfrage { background: #fff; color: #000; border: 1px solid #000; }
.mb-badge--aus { background: #595959; }
.mb-pdp-head__icons .mb-badge { position: static; display: inline-block; }

/* Preise */
.mb-price { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.mb-price__net, .mb-price .woocommerce-Price-amount { font-weight: 500; }
.mb-price__tax, .mb-price__label { font-size: .8em; font-weight: 300; color: var(--mb-muted); }
.mb-price__list { flex-basis: 100%; font-size: 15px; font-weight: 300; color: var(--mb-muted); }
.mb-price--anfrage, .mb-price--hint { font-weight: 500; }

/* ---------- Filter / Chips ---------- */
.mb-filter { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 32px; padding-bottom: 10px; }
.mb-chips { display: flex; flex-wrap: wrap; gap: 10px; }
.mb-chip { display: inline-block; font-size: 15px; font-weight: 400; padding: 6px 14px; border: 1px solid var(--mb-black); background: #fff; text-decoration: none; cursor: pointer; transition: background var(--mb-ease), color var(--mb-ease); }
.mb-chip:hover, .mb-chip.is-active { background: #000; color: #fff; }
.mb-filter__form { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; font-size: 15px; }
.mb-filter__form select { font: inherit; font-size: 15px; padding: 6px 30px 6px 10px; border: 1px solid #000; border-radius: 0; background: #fff; }
.mb-check { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; }
.mb-check input, .mb-co-block input[type=checkbox], .mb-consents input[type=checkbox] { width: 20px; height: 20px; accent-color: #000; margin: 0; flex: 0 0 auto; }

/* ---------- Produktdetail ---------- */
.mb-pdp-head { padding-top: 30px; }
.mb-pdp-head__icons { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; min-height: 40px; }
.mb-icon-pill { font-size: 15px; border: 1px solid #000; padding: 4px 12px; }
.mb-eek { display: inline-flex; align-items: center; height: 32px; padding: 0 16px 0 10px; background: #3aaa35; color: #fff; font-weight: 600; font-size: 17px; clip-path: polygon(0 0, calc(100% - 12px) 0, 100% 50%, calc(100% - 12px) 100%, 0 100%); }
.mb-pdp-head__title { font-size: 45px; line-height: 1.3; font-weight: 500; margin: 30px 0 20px; }
.mb-pdp-head__intro { padding-bottom: 20px; }
.mb-pdp { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 60px; padding-top: var(--mb-section); padding-bottom: var(--mb-section); align-items: start; }
.mb-pdp__media { position: sticky; top: 130px; }
.mb-pdp__image { margin: 0; background: var(--mb-grey); aspect-ratio: 4 / 5; display: flex; align-items: center; justify-content: center; }
.mb-pdp__image img { max-height: 92%; width: auto; object-fit: contain; }
.mb-pdp__thumbs { list-style: none; margin: 12px 0 0; padding: 0; display: flex; gap: 10px; flex-wrap: wrap; }
.mb-pdp__thumbs button { width: 72px; height: 72px; padding: 0; border: 1px solid transparent; background: var(--mb-grey); cursor: pointer; }
.mb-pdp__thumbs button:hover, .mb-pdp__thumbs button[aria-current="true"] { border-color: #000; }
.mb-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin: 0 0 30px; border-top: 1px solid #000; }
.mb-facts > div { padding: 10px 0; border-bottom: 1px solid var(--mb-line-soft); }
.mb-facts dt, .mb-fixed dt { font-size: 13px; font-weight: 500; text-transform: uppercase; letter-spacing: .05em; color: var(--mb-muted); }
.mb-facts dd, .mb-fixed dd { margin: 2px 0 0; font-size: 17px; }

.mb-config__title { font-size: 21px; font-weight: 500; margin: 0 0 18px; }
.mb-field { margin: 0 0 22px; border: 0; padding: 0; min-width: 0; }
.mb-field > label, .mb-field > legend, .mb-co-block label, .form-row label { display: block; font-size: 15px; font-weight: 500; margin-bottom: 8px; padding: 0; }
.mb-req, .required, .req { color: var(--mb-err); text-decoration: none; border: 0; font-weight: 500; }
.mb-tagline { display: inline-block; font-size: 11px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; border: 1px solid #000; padding: 1px 6px; margin-left: 6px; vertical-align: 2px; }
.mb-swatches__current { font-weight: 300; color: var(--mb-muted); margin-left: 6px; }
.mb-swatches__list { display: flex; flex-wrap: wrap; gap: 8px; }
.mb-sw { position: relative; cursor: pointer; }
.mb-sw input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mb-sw__box { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 8px 14px; border: 1px solid #000; background: #fff; font-size: 15px; transition: background var(--mb-ease), color var(--mb-ease); }
.mb-sw--img .mb-sw__box { padding: 4px 12px 4px 4px; }
.mb-sw__box img { width: 36px; height: 36px; object-fit: cover; }
.mb-sw input:checked + .mb-sw__box { background: #000; color: #fff; box-shadow: inset 0 0 0 2px #000; }
.mb-sw input:focus-visible + .mb-sw__box { box-shadow: var(--mb-focus); }
.mb-sw input:disabled + .mb-sw__box, .mb-sw.is-unavailable .mb-sw__box { border-style: dashed; color: #8a8a8a; background: repeating-linear-gradient(135deg, #fff 0 6px, #f4f4f4 6px 12px); }
.mb-fixed { display: flex; flex-wrap: wrap; gap: 6px 28px; margin: 0 0 22px; }
.mb-selection { background: var(--mb-sand); padding: 18px 20px; margin: 0 0 26px; }
.mb-selection p { margin: 0; }
.mb-selection__empty { font-size: 15px; color: var(--mb-muted); }
.mb-selection__enr { font-size: 15px; }
.mb-selection__label { font-size: 15px; font-weight: 300; margin-top: 2px !important; }
.mb-selection__price { margin-top: 10px; font-size: 27px; }
.mb-selection__price .mb-price__list { font-size: 15px; }
.mb-selection__state { margin-top: 8px !important; font-size: 15px; font-weight: 500; color: var(--mb-err); }
.mb-selection__staffel ul { margin: 8px 0 0; padding-left: 18px; font-size: 15px; }
.mb-seg { display: inline-flex; flex-wrap: wrap; border: 1px solid #000; }
.mb-seg__opt { position: relative; margin: 0 !important; cursor: pointer; }
.mb-seg__opt + .mb-seg__opt { border-left: 1px solid #000; }
.mb-seg__opt input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.mb-seg__opt span { display: block; padding: 9px 18px; font-size: 15px; font-weight: 400; background: #fff; transition: background var(--mb-ease), color var(--mb-ease); }
.mb-seg__opt input:checked + span { background: #000; color: #fff; }
.mb-seg__opt input:focus-visible + span { box-shadow: var(--mb-focus); position: relative; z-index: 1; }
.mb-grid2 { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: 0 20px; }
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=date], input[type=search], select, textarea, .input-text {
	width: 100%; font-family: var(--mb-font); font-size: 17px; line-height: 1.4; padding: 10px 12px; border: 1px solid #000; border-radius: 0; background: #fff; color: #000;
}
input:focus-visible, select:focus-visible, textarea:focus-visible, .input-text:focus-visible { outline: 0; box-shadow: var(--mb-focus); }
input[readonly] { background: var(--mb-grey); border-color: #bdbdbd; color: #333; }
.mb-qty { display: flex; border: 1px solid #000; max-width: 160px; }
.mb-qty button { width: 44px; border: 0; background: #fff; font-size: 22px; cursor: pointer; }
.mb-qty button:hover { background: #000; color: #fff; }
.mb-qty input { border: 0; border-left: 1px solid #000; border-right: 1px solid #000; text-align: center; -moz-appearance: textfield; padding: 10px 4px; }
.mb-qty input::-webkit-outer-spin-button, .mb-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.mb-info { background: var(--mb-sand); border-left: 4px solid #000; padding: 12px 16px; font-size: 15px; margin: 0 0 20px; }
.mb-config__err { margin: 12px 0 0; color: var(--mb-err); font-weight: 500; font-size: 15px; }
.mb-acc-cat { font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; margin: 14px 0 6px; color: var(--mb-muted); }
.mb-acc-list { list-style: none; margin: 0; padding: 0; }
.mb-acc-list li { display: flex; align-items: center; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--mb-line-soft); }
.mb-acc-list label { flex: 1; font-size: 15px; font-weight: 400; margin: 0; }
.mb-acc-list small { display: block; color: var(--mb-muted); font-weight: 300; }
.mb-acc-list__qty { width: 72px !important; text-align: center; padding: 8px !important; }

/* Akkordeon (Daten und Fakten) */
.mb-facts-section { padding-top: var(--mb-section); padding-bottom: var(--mb-section); }
.mb-acc { border-top: 1px solid #000; }
.mb-acc:last-of-type { border-bottom: 1px solid #000; }
.mb-acc summary { list-style: none; display: flex; justify-content: space-between; align-items: center; cursor: pointer; padding: 18px 0; font-size: 27px; font-weight: 400; }
.mb-acc summary::-webkit-details-marker { display: none; }
.mb-acc summary .mb-ico { transition: transform var(--mb-ease); width: 28px; height: 28px; }
.mb-acc[open] summary .mb-ico { transform: rotate(180deg); }
.mb-acc__body { padding: 0 0 30px; }
.mb-acc--inline { margin: 0 0 22px; border-bottom: 1px solid #000; }
.mb-acc--inline summary { font-size: 17px; font-weight: 500; padding: 14px 0; }
.mb-table-wrap { overflow-x: auto; }
.mb-table { width: 100%; border-collapse: collapse; font-size: 17px; }
.mb-table th, .mb-table td { text-align: left; padding: 9px 14px 9px 0; border-bottom: 1px solid var(--mb-line-soft); vertical-align: top; }
.mb-table thead th { font-size: 13px; text-transform: uppercase; letter-spacing: .05em; font-weight: 500; color: var(--mb-muted); border-bottom: 1px solid #000; }
.mb-table tbody th { font-weight: 400; width: 40%; }
.mb-downloads { list-style: none; padding: 0; margin: 0; }
.mb-downloads a { display: inline-flex; align-items: center; gap: 10px; padding: 8px 0; }

/* Pelletsystem-Sektion (#EFEBE8 wie Homepage) */
.mb-pellet { background: var(--mb-sand); padding: var(--mb-section) 0; }
.mb-pellet__kicker { font-size: 17px; font-weight: 500; margin: 0 0 14px; }
.mb-pellet__title { font-size: 66px; line-height: 1.1; font-weight: 600; margin: 0 0 24px; }
.mb-pellet__text { font-size: 24px; font-weight: 300; max-width: 820px; }
.mb-pellet__compat { font-size: 17px; }
.mb-gallery { padding-top: var(--mb-section); padding-bottom: var(--mb-section); }
.mb-gallery__grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }

/* ---------- Hinweise (WooCommerce) ---------- */
.woocommerce-notices-wrapper:empty { display: none; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .mb-notice { list-style: none; margin: 20px 0; padding: 14px 18px; border-left: 4px solid #000; background: var(--mb-sand); font-size: 17px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.woocommerce-error, .mb-notice--err { border-left-color: var(--mb-err); background: #fbeff1; }
.woocommerce-error li { list-style: none; }
.mb-notice--ok, .woocommerce-message { border-left-color: var(--mb-ok); }
.woocommerce-message .button { order: 2; padding: 6px 16px; font-size: 15px; }

/* ---------- Warenkorb ---------- */
.mb-cart { display: grid; grid-template-columns: minmax(0, 8fr) minmax(0, 4fr); gap: 60px; padding-top: var(--mb-section); padding-bottom: var(--mb-section); align-items: start; }
.mb-cart__group { margin-bottom: 30px; }
.mb-cart__group-title { font-size: 21px; font-weight: 500; margin: 0; padding: 0 0 10px; border-bottom: 1px solid #000; }
.mb-cart__list { list-style: none; margin: 0; padding: 0; }
.mb-cart__item { display: grid; grid-template-columns: 90px minmax(0, 1fr) 130px 150px 32px; gap: 18px; align-items: start; padding: 18px 0; border-bottom: 1px solid var(--mb-line-soft); }
.mb-cart__item--child { padding-left: 40px; grid-template-columns: 60px minmax(0, 1fr) 130px 150px 32px; }
.mb-cart__img { background: var(--mb-grey); aspect-ratio: 1; display: flex; align-items: center; justify-content: center; }
.mb-cart__img img { max-height: 90%; width: auto; }
.mb-cart__img .mb-ph__txt { display: none; }
.mb-cart__name { margin: 0 0 4px; font-weight: 500; font-size: 17px; }
.mb-cart__name a { text-decoration: none; }
.mb-cart__main dl.variation { margin: 0; font-size: 15px; display: grid; grid-template-columns: auto 1fr; gap: 0 8px; color: var(--mb-muted); }
.mb-cart__main dl.variation dt { font-weight: 500; }
.mb-cart__main dl.variation dd { margin: 0; }
.mb-cart__main dl.variation p { margin: 0; }
.mb-cart__komm { margin: 8px 0 0; display: flex; align-items: center; gap: 8px; font-size: 15px; }
.mb-cart__komm input { max-width: 240px; padding: 6px 8px; font-size: 15px; }
.mb-cart__qty .quantity input { width: 80px; text-align: center; }
.mb-cart__price { text-align: right; font-weight: 500; }
.mb-cart__price small { display: block; font-weight: 300; color: var(--mb-muted); font-size: 13px; }
.mb-cart__rm a { text-decoration: none; font-size: 20px; display: inline-block; width: 32px; height: 32px; text-align: center; }
.mb-cart__rm a:hover { background: #000; color: #fff; }
.mb-cart__actions { display: flex; flex-wrap: wrap; gap: 14px; justify-content: space-between; margin-top: 20px; }
.mb-cart__side { background: var(--mb-sand); padding: 26px; position: sticky; top: 130px; }
.cart_totals h2, #order_review_heading { font-size: 21px; font-weight: 500; margin: 0 0 14px; }
.shop_table { width: 100%; border-collapse: collapse; font-size: 17px; }
.shop_table th, .shop_table td { text-align: left; padding: 10px 0; border-bottom: 1px solid rgba(0,0,0,.15); vertical-align: top; }
.shop_table td:last-child, .shop_table .product-total { text-align: right; }
.shop_table .order-total th, .shop_table .order-total td { font-size: 21px; border-bottom: 0; }
.shop_table .tax-rate th, .shop_table .tax-total th { font-weight: 300; }
.woocommerce-shipping-methods { list-style: none; margin: 0; padding: 0; }
.wc-proceed-to-checkout { margin-top: 18px; }
.cart-empty { font-size: 24px; font-weight: 300; }
.return-to-shop { margin-top: 20px; }

/* ---------- Kasse ---------- */
.mb-checkout { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 60px; align-items: start; padding-bottom: var(--mb-section); }
.woocommerce-checkout .mb-h1 { padding-top: var(--mb-section); margin-bottom: 30px; }
.mb-co-block { border: 1px solid #000; padding: 26px 28px; margin: 0 0 26px; }
.mb-co-block h3 { display: flex; align-items: center; gap: 14px; font-size: 21px; font-weight: 500; margin: 0 0 14px; }
.mb-no { width: 32px; height: 32px; border-radius: 50%; background: #000; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; font-weight: 600; flex: 0 0 auto; }
.woocommerce-billing-fields h3, .woocommerce-shipping-fields #ship-to-different-address, .woocommerce-additional-fields h3 { display: none; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; gap: 0 20px; }
.form-row { margin: 0 0 16px; }
.form-row-wide, #billing_email_field, #billing_company_field, #billing_address_1_field, #shipping_company_field, #shipping_address_1_field, #billing_country_field, #shipping_country_field { grid-column: 1 / -1; }
.woocommerce-input-wrapper { display: block; }
.mb-shipping-wrap .shipping_address { margin-top: 16px; }
.mb-addr-stored { margin-top: 14px; }
.mb-kd { border: 0; border-top: 1px solid var(--mb-line-soft); padding: 16px 0 6px; margin: 0; }
.mb-kd legend { font-weight: 500; font-size: 17px; padding: 0; }
.mb-kd__items { font-size: 15px; color: var(--mb-muted); margin: 6px 0 10px; }
.mb-kd__date { margin-top: 12px; display: grid; gap: 8px; }
.mb-kd__date input[type=date] { max-width: 240px; }
.mb-upload { display: grid; gap: 10px; justify-items: start; }
.mb-upload__list { list-style: none; padding: 0; margin: 0; font-size: 15px; }
.mb-upload__list li { display: flex; align-items: center; gap: 10px; padding: 4px 0; }
.mb-upload__list li.is-loading { color: var(--mb-muted); }
.mb-upload__rm { border: 1px solid #000; background: #fff; width: 28px; height: 28px; cursor: pointer; }
.mb-upload__err { color: var(--mb-err); font-weight: 500; margin: 0; }
.mb-checkout__side { background: var(--mb-sand); padding: 26px; position: sticky; top: 130px; }
.woocommerce-checkout-review-order-table .product-name { font-size: 15px; }
.woocommerce-checkout-review-order-table .product-name dl { margin: 4px 0 0; font-size: 13px; color: var(--mb-muted); }
.woocommerce-checkout-review-order-table .product-name dl dd, .woocommerce-checkout-review-order-table .product-name dl p { margin: 0; display: inline; }
#payment { margin-top: 20px; }
#payment .wc_payment_methods { list-style: none; margin: 0 0 16px; padding: 0; }
#payment .payment_box { font-size: 15px; color: var(--mb-muted); }
#payment .payment_box p { margin: 6px 0 0; }
.mb-consents .form-row label { font-weight: 400; display: flex; gap: 10px; align-items: flex-start; font-size: 15px; line-height: 1.45; }
.woocommerce-privacy-policy-text { display: none; }
.woocommerce-invalid input { border-color: var(--mb-err) !important; }
.woocommerce-order { padding-top: var(--mb-section); padding-bottom: var(--mb-section); }
.woocommerce-thankyou-order-received { font-size: 32px; font-weight: 300; }
.woocommerce-order-overview { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 20px 40px; }

/* ---------- Konto / Login ---------- */
.woocommerce-account .mb-page { padding-top: var(--mb-section); }
.mb-login { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 60px; padding: var(--mb-section) 0; align-items: start; }
.mb-login__title { font-size: 70px; line-height: 1.3; font-weight: 300; margin: 0 0 30px; }
.mb-login__form { border: 1px solid #000; padding: 30px; }
.mb-login__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; font-size: 15px; margin: 0 0 20px; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0 0 30px; padding: 0; display: flex; flex-wrap: wrap; gap: 10px; }
.woocommerce-MyAccount-navigation a { display: block; padding: 8px 16px; border: 1px solid #000; text-decoration: none; font-size: 15px; }
.woocommerce-MyAccount-navigation .is-active a, .woocommerce-MyAccount-navigation a:hover { background: #000; color: #fff; }
.woocommerce-orders-table .button { padding: 4px 12px; font-size: 15px; }
.mb-order-extra { margin-top: 30px; }

/* ---------- Footer ---------- */
.mb-footer { background: var(--mb-sand); padding-top: 70px; margin-top: 40px; font-size: 17px; }
.mb-footer__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px; padding-bottom: 40px; }
.mb-footer p { margin: 0 0 10px; }
.mb-footer__brand { font-weight: 500; }
.mb-footer__legal { display: flex; flex-direction: column; gap: 6px; }
.mb-footer__bottom { display: flex; justify-content: space-between; border-top: 1px solid rgba(0,0,0,.2); padding-top: 18px; padding-bottom: 24px; font-size: 15px; font-weight: 300; }

/* ---------- Tablet (768–1024, Breakpoints der Homepage) ---------- */
@media (max-width: 1024px) {
	body { font-size: 17px; }
	.mb-header__inner { padding: 10px 24px; height: 90px; }
	.mb-header__logo img { width: 110px; height: 72px; }
	.mb-grid, .mb-tiles { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
	.mb-menu__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.mb-pdp, .mb-cart, .mb-checkout, .mb-login { grid-template-columns: 1fr; gap: 30px; }
	.mb-pdp__media, .mb-cart__side, .mb-checkout__side { position: static; }
	.mb-pdp__image { aspect-ratio: 4 / 3; }
	.mb-intro__text { font-size: 26px; }
	.mb-pdp-head__title { font-size: 36px; }
	.mb-pellet__title { font-size: 48px; }
	.mb-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---------- Mobil (≤ 767) ---------- */
@media (max-width: 767px) {
	body { font-size: 16px; line-height: 1.5; }
	:root { --mb-section: 25px; }
	.mb-hide-sm { display: none !important; }
	.mb-header__inner { height: 80px; padding: 10px 6px 10px 16px; gap: 12px; }
	.mb-header__logo img { width: 92px; height: 60px; }
	.mb-header__label { display: none; }
	.mb-header__actions { gap: 14px; }
	.mb-header__link { font-size: 15px; }
	.mb-menu, .mb-search { max-height: calc(100vh - 80px); }
	.mb-menu__grid { grid-template-columns: 1fr; gap: 20px; padding-top: 24px; }
	.mb-search__row { flex-direction: column; }
	.mb-bc { padding-top: 25px; font-size: 15px; }
	.mb-h1, .mb-intro__title, .mb-h2 { font-size: 20px; line-height: 1.3; margin-bottom: 20px; }
	.mb-h3, .mb-listing__head { font-size: 20px; }
	.mb-intro__text, .mb-lead { font-size: 18px; line-height: 1.4; }
	.mb-btn, .button, #place_order { font-size: 15px; padding: 7.5px 20px; }
	.mb-btn--wide, #place_order { padding-top: 12px; padding-bottom: 12px; }
	.mb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
	.mb-tiles { grid-template-columns: 1fr 1fr; gap: 16px; }
	.mb-tile { min-height: 120px; padding: 16px; }
	.mb-tile__name { font-size: 18px; }
	.mb-card__name, .mb-card__meta, .mb-card__price { font-size: 14px; }
	.mb-pdp-head__title { font-size: 26px; margin-top: 16px; }
	.mb-facts { grid-template-columns: 1fr 1fr; }
	.mb-grid2 { grid-template-columns: 1fr; }
	.mb-acc summary { font-size: 20px; }
	.mb-table { font-size: 15px; }
	.mb-table tbody th { width: 50%; }
	.mb-pellet__title { font-size: 34px; }
	.mb-pellet__text { font-size: 18px; }
	.mb-gallery__grid { grid-template-columns: 1fr 1fr; gap: 10px; }
	.mb-cart__item, .mb-cart__item--child { grid-template-columns: 64px minmax(0, 1fr) 32px; gap: 10px 12px; }
	.mb-cart__item--child { padding-left: 20px; }
	.mb-cart__qty { grid-column: 2; }
	.mb-cart__price { grid-column: 2; text-align: left; }
	.mb-cart__rm { grid-column: 3; grid-row: 1; }
	.mb-cart__actions .mb-btn { width: 100%; }
	.mb-co-block { padding: 18px 16px; }
	.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; }
	.mb-seg { display: flex; width: 100%; }
	.mb-seg__opt { flex: 1 1 auto; }
	.mb-seg__opt span { text-align: center; padding: 10px 8px; }
	.mb-login__title { font-size: 40px; }
	.mb-login__form { padding: 20px; }
	.mb-footer { padding-top: 40px; font-size: 15px; }
	.mb-footer__grid { grid-template-columns: 1fr; gap: 16px; }
	.mb-footer__bottom { flex-direction: column; gap: 10px; }
}

@media print {
	.mb-header, .mb-footer, .mb-bc, .mb-config, .mb-cart__side { display: none !important; }
}

/* Energieeffizienzklasse – Farbskala des EU-Labels */
.mb-eek[data-k="A++"] { background: #00a651; }
.mb-eek[data-k="A+"] { background: #50b848; }
.mb-eek[data-k="A"] { background: #bfd730; color: #000; }
.mb-eek[data-k="B"] { background: #fff200; color: #000; }
.mb-eek[data-k="C"] { background: #fdb913; color: #000; }
.mb-pellet__video { margin: 30px 0 0; max-width: 820px; }
.mb-pellet__video video { width: 100%; display: block; background: #000; }
.mb-pellet__video figcaption { font-size: 15px; margin-top: 8px; }

/* Kasse: feste Spalten, Hinweise über die volle Breite */
.mb-checkout { grid-template-areas: "notice notice" "main side"; }
.mb-checkout > .woocommerce-NoticeGroup, .mb-checkout > .woocommerce-notices-wrapper { grid-area: notice; }
.mb-checkout__main { grid-area: main; min-width: 0; }
.mb-checkout__side { grid-area: side; min-width: 0; }
@media (max-width: 1024px) { .mb-checkout { grid-template-areas: "notice" "main" "side"; } }
.mb-kd legend { float: left; width: 100%; margin-bottom: 4px; }
.mb-kd legend + * { clear: both; }

/* Header ohne Überlauf auf Tablet */
@media (max-width: 1180px) {
	.mb-header__label { display: none; }
	.mb-header__actions { gap: 20px; }
}
@media (max-width: 1024px) {
	.mb-header__actions > .mb-header__link.mb-hide-sm { display: none; }
	.mb-header__icon span:not(.mb-cart-count) { display: none; }
}
/* Galerie-Vorschaubilder als Laufleiste (mobil/Tablet) */
@media (max-width: 1024px) {
	.mb-pdp__thumbs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 6px; scrollbar-width: thin; }
	.mb-pdp__thumbs li { flex: 0 0 auto; }
	.mb-filter__form select { width: auto; max-width: 100%; }
}
html, body { overflow-x: clip; }
.mb-pdp > *, .mb-cart > *, .mb-login > * { min-width: 0; }
@media (max-width: 1024px) { .mb-pdp, .mb-cart, .mb-login { grid-template-columns: minmax(0, 1fr); } }

/* Beratungsmodus (Listenpreise inkl. MwSt., ohne Rabatte) */
.mb-beratung-toggle.is-on { background: #fff; color: #000; border-radius: 18px; padding: 4px 12px; }
.mb-beratung-bar { background: var(--mb-sand); color: #000; border-bottom: 1px solid #000; }
.mb-beratung-bar__in { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between; padding-top: 10px; padding-bottom: 10px; font-size: 15px; }
.mb-beratung-bar a { color: #000; font-weight: 500; }
.mb-beratung-card { border: 2px solid #000; padding: 20px 24px; margin: 0 0 40px; display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; justify-content: space-between; }
.mb-beratung-card p { margin: 0; max-width: 760px; font-size: 17px; line-height: 1.5; }
.mb-beratung-card.is-on { background: var(--mb-sand); }
.mb-price--uvp .mb-price__net .woocommerce-Price-amount { font-size: inherit; font-weight: inherit; }
.mb-price--uvp .mb-price__net { font-size: 1.3em; font-weight: 600; letter-spacing: -.01em; }
.mb-price--uvp .mb-price__tax { font-size: .85em; font-weight: 400; color: #000; }
.mb-price--uvp .mb-price__list, .mb-price--uvp .mb-price__list .woocommerce-Price-amount { display: block; font-size: 13px; font-weight: 300; color: #66615c; }
.mb-card .mb-price--uvp .mb-price__net { font-size: 1.15em; }
.mb-login__form .mb-check small { display: block; font-size: 14px; font-weight: 300; margin-top: 2px; }
.mb-beratung-checkout { flex-direction: column; align-items: flex-start; }
.mb-beratung-checkout p { margin: 0; }
@media (max-width: 767px) { .mb-beratung-card { padding: 16px; } .mb-beratung-bar__in { font-size: 14px; } }
.mb-check--top { align-items: flex-start; } .mb-check--top input { margin-top: 2px; }

/* Sonderanfertigungen */
.mb-sonder__item { padding: 12px 0; border-bottom: 1px solid #d8d3cf; }
.mb-sonder__item:first-of-type { padding-top: 4px; }
.mb-sonder__std { margin: 0 0 8px; font-size: 16px; }
.mb-sonder__preis { display: block; font-size: 14px; font-weight: 400; color: #66615c; margin-top: 2px; }
.mb-sonder__detail { margin: 10px 0 0 28px; }
.mb-sonder__detail label { display: block; font-size: 15px; font-weight: 500; margin-bottom: 4px; }
.mb-sonder__detail select { min-width: 220px; }
.mb-sonder__sum { margin: 12px 0 0; font-weight: 500; }

/* Menü: Unterkategorien nur bei Klick (alle Geräte) bzw. Mouseover/Fokus (Desktop) */
.mb-menu__grid { align-items: start; }
.mb-menu__head { display: flex; align-items: center; justify-content: space-between; gap: 8px; border-bottom: 1px solid rgba(255,255,255,.18); }
.mb-menu__head .mb-menu__top { margin: 0; padding: 10px 0; }
.mb-menu__toggle { background: none; border: 0; color: #fff; padding: 8px; cursor: pointer; display: inline-flex; }
.mb-menu__toggle .mb-ico { transition: transform .2s; }
.mb-menu__col.is-open .mb-menu__toggle .mb-ico { transform: rotate(180deg); }
.mb-menu__sub { display: none; padding: 8px 0 4px !important; }
.mb-menu__col.is-open .mb-menu__sub { display: block; }
@media (hover: hover) and (min-width: 1024px) {
	.mb-menu__col.has-sub:hover .mb-menu__sub { display: block; }
	.mb-menu__col.has-sub:hover .mb-menu__toggle .mb-ico { transform: rotate(180deg); }
}
.mb-menu__col.has-sub:has(.mb-menu__sub a:focus) .mb-menu__sub { display: block; }

/* Zubehör: Auswahl nach Modell */
.mb-modellfilter { margin-bottom: 24px; }
.mb-modellfilter > * { max-width: 100%; }
.mb-modellfilter label { display: block; font-weight: 500; margin-bottom: 6px; }
.mb-modellfilter__row { display: flex; flex-wrap: wrap; gap: 12px 20px; align-items: center; }
.mb-modellfilter input[type=search] { flex: 1 1 280px; max-width: 480px; font: inherit; padding: 10px 12px; border: 1px solid #000; background: #fff; }
.mb-modellfilter__msg { margin: 10px 0 0; font-weight: 500; }
.mb-modellfilter__msg a { color: #000; }
.mb-modellfilter__reset { color: #000; }
.mb-modellfilter .mb-hint { margin: 8px 0 0; }

/* ---------- Händler-Registrierung ---------- */
.mb-login__register { margin-top: 40px; padding-top: 30px; border-top: 1px solid #000; }
.mb-login__register .mb-h3 { margin: 0 0 10px; }
.mb-register__steps { list-style: none; counter-reset: mbstep; margin: 30px 0; padding: 0; display: grid; gap: 18px; }
.mb-register__steps li { counter-increment: mbstep; display: grid; grid-template-columns: 44px 1fr; column-gap: 16px; align-items: start; }
.mb-register__steps li::before { content: counter(mbstep); grid-row: span 2; display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid #000; font-size: 19px; font-weight: 500; }
.mb-register__steps b { font-weight: 500; font-size: 17px; }
.mb-register__steps span { font-size: 15px; color: var(--mb-muted); }
.mb-register__group { border: 0; padding: 0; margin: 0 0 10px; min-width: 0; }
.mb-register__group legend { font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--mb-muted); padding: 0; margin: 10px 0 14px; width: 100%; border-bottom: 1px solid var(--mb-line-soft, #ddd); padding-bottom: 6px; }
.mb-register__two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0 20px; }
.mb-register .mb-hint { display: block; font-size: 14px; }
.mb-register .mb-notice ul { margin: 0; padding-left: 18px; width: 100%; }
.mb-register .mb-notice p { margin: 0; width: 100%; }
.mb-register__done { background: var(--mb-sand); border-color: var(--mb-sand); }
.mb-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 600px) { .mb-register__two { grid-template-columns: 1fr; } }
.mb-register input[type=url] { width: 100%; font-family: var(--mb-font); font-size: 17px; line-height: 1.4; padding: 10px 12px; border: 1px solid #000; border-radius: 0; background: #fff; color: #000; }
.mb-register .mb-check--top { display: flex; gap: 10px; align-items: flex-start; font-size: 15px; }
.mb-register .mb-check--top input { flex: 0 0 auto; margin-top: 3px; }

/* Zubehör am Modell – Gruppen (Variante A) */
.mb-accbox { margin: 24px 0; border-top: 1px solid #000; padding-top: 16px; }
.mb-accbox__title { font-weight: 600; margin: 0 0 10px; }
.mb-accgrp { border-bottom: 1px solid var(--mb-line-soft, #e5e5e5); }
.mb-accgrp > summary { display: grid; grid-template-columns: 22px auto auto 1fr auto 22px; align-items: center; gap: 10px; padding: 14px 2px; cursor: pointer; list-style: none; }
.mb-accgrp > summary::-webkit-details-marker { display: none; }
.mb-accgrp > summary:hover .mb-accgrp__name { text-decoration: underline; }
.mb-accgrp > summary .mb-ico--chevron { transition: transform .2s var(--mb-ease, ease); }
.mb-accgrp[open] > summary .mb-ico--chevron { transform: rotate(180deg); }
.mb-accgrp__name { font-weight: 600; }
.mb-accgrp__count { min-width: 24px; padding: 1px 7px; border: 1px solid #000; border-radius: 12px; font-size: 12px; text-align: center; }
.mb-accgrp__prev { color: var(--mb-muted, #666); font-size: 13px; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; min-width: 0; }
.mb-accgrp[open] .mb-accgrp__prev { visibility: hidden; }
.mb-accgrp__sel { background: #000; color: #fff; font-size: 12px; padding: 2px 8px; }
.mb-accrows { list-style: none; margin: 0 0 12px; padding: 0; }
.mb-accrow { display: grid; grid-template-columns: 48px 1fr auto auto; align-items: center; gap: 14px; padding: 10px 6px; border-top: 1px solid var(--mb-line-soft, #eee); }
.mb-accrow.is-sel { background: var(--mb-sand, #f5f1ea); }
.mb-accrow__img { width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; background: #f4f4f4; color: #999; overflow: hidden; }
.mb-accrow__img img { width: 100%; height: 100%; object-fit: contain; background: #fff; }
.mb-accrow__txt { min-width: 0; cursor: pointer; }
.mb-accrow__name { display: block; line-height: 1.3; }
.mb-accrow__txt small, .mb-accrow__price small { display: block; color: var(--mb-muted, #666); font-size: 12px; }
.mb-accrow__price { text-align: right; white-space: nowrap; font-variant-numeric: tabular-nums; }
.mb-qty--sm { max-width: 120px; }
.mb-qty--sm button { width: 34px; font-size: 18px; }
.mb-qty--sm input { width: 44px; padding: 6px 2px; }
.mb-accbox__sum { margin: 14px 0 6px; padding: 10px 12px; background: #000; color: #fff; font-weight: 600; }
@media (max-width: 640px) {
  .mb-accgrp__prev { visibility: hidden; }
  .mb-accrow__price small { display: inline; margin-left: 4px; }
  .mb-accrow { grid-template-columns: 40px 1fr auto; gap: 10px; }
  .mb-accrow__img { width: 40px; height: 40px; }
  .mb-accrow__price { grid-column: 2; text-align: left; }
  .mb-accrow .mb-qty--sm { grid-column: 3; grid-row: 1 / span 2; }
}

/* Zahlungsbedingung des Händlers (nur Bestellmodus) */
.mb-zahlungsbedingung th, .mb-zahlungsbedingung td { font-weight: 400; border-top: 1px solid var(--mb-line-soft, #e5e5e5); }
.mb-zahlungsbedingung td { font-weight: 600; }
.mb-konditionen { border: 1px solid #000; padding: 16px 20px; margin: 0 0 24px; max-width: 520px; }
.mb-konditionen__label { margin: 0; font-size: 13px; color: var(--mb-muted, #666); text-transform: uppercase; letter-spacing: .06em; }
.mb-konditionen__value { margin: 4px 0 6px; font-size: 20px; font-weight: 600; }
.mb-konditionen .mb-hint { margin: 0; }
.mb-zahlungsbedingung-order { margin: 12px 0 24px; }

/* Nicht mögliche Ausführungen/Optionen: ausgegraut, durchgestrichen, nicht wählbar */
.mb-seg__opt.is-unavailable { cursor: not-allowed; }
.mb-seg__opt.is-unavailable input { cursor: not-allowed; }
.mb-seg__opt.is-unavailable > span { color: #9a9a9a; background: #f2f2f2; text-decoration: line-through; }
.mb-sw.is-unavailable { cursor: not-allowed; }
.mb-sw.is-unavailable input { cursor: not-allowed; }
.mb-sw.is-unavailable .mb-sw__box { position: relative; opacity: .45; border-style: solid; }
.mb-sw.is-unavailable .mb-sw__name { text-decoration: line-through; }
.mb-sw.is-unavailable .mb-sw__box::after { content: ""; position: absolute; inset: 0; background: linear-gradient(to top right, transparent calc(50% - 1px), #555 calc(50% - 1px), #555 calc(50% + 1px), transparent calc(50% + 1px)); pointer-events: none; }
