:root {
  --bg: #f2f2f0;
  --surface: #ffffff;
  --surface-dark: #171717;
  --surface-dark-2: #202020;
  --text: #171717;
  --text-on-dark: #f8f8f6;
  --muted: #6d6d6a;
  --muted-dark: #b9b9b4;
  --line: #d8d8d3;
  --line-dark: #383838;
  --cyan: #56c7ee;
  --yellow: #f2c552;
  --yellow-hover: #ffd66f;
  --magenta: #dc2d79;
  --focus: #56c7ee;
  --radius: 8px;
  --shadow: 0 16px 42px rgba(0,0,0,.10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: Arial, Helvetica, system-ui, sans-serif; background: var(--bg); color: var(--text); line-height: 1.55; }
a { color: inherit; }
button, input, select, textarea { font: inherit; }
button, a, input, select, textarea { outline-offset: 4px; }
:focus-visible { outline: 3px solid var(--focus); }
.wrap { width: min(1180px, calc(100% - 32px)); margin: 0 auto; }

.skip-link { position: fixed; left: 16px; top: -90px; z-index: 999; background: #fff; color: #111; padding: 12px 16px; border: 2px solid var(--cyan); }
.skip-link:focus { top: 16px; }

.site-header { background: rgba(20,20,20,.97); color: var(--text-on-dark); border-bottom: 1px solid #2f2f2f; position: sticky; top: 0; z-index: 30; backdrop-filter: blur(10px); }
.header-row { min-height: 82px; display: flex; align-items: center; gap: 30px; }
.brand { display: inline-flex; align-items: center; gap: 14px; text-decoration: none; margin-right: auto; }
.brand span:last-child { display: grid; }
.brand strong { letter-spacing: .14em; text-transform: uppercase; font-size: .98rem; }
.brand small { color: var(--muted-dark); letter-spacing: .07em; font-size: .76rem; }
.brand-mark { width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; background: transparent; overflow: hidden; }
.brand-mark img { width: 44px; height: 44px; display: block; object-fit: contain; }
.main-nav { display: flex; gap: 26px; }
.main-nav a { text-decoration: none; font-weight: 600; font-size: .95rem; }
.main-nav a:hover { color: var(--cyan); }

.cart-button, .primary-button { border: 0; cursor: pointer; border-radius: 6px 28px 6px 6px; background: var(--yellow); color: #181818; padding: 13px 20px; font-weight: 800; text-decoration: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.cart-button:hover, .primary-button:hover { background: var(--yellow-hover); }
.badge { min-width: 26px; height: 26px; border-radius: 50%; display: inline-grid; place-items: center; background: #171717; color: #fff; }

.hero { position: relative; overflow: hidden; padding: 88px 0 78px; background: radial-gradient(circle at 78% 45%, rgba(86,199,238,.11), transparent 0 23%), linear-gradient(105deg, #151515 0%, #191919 66%, #202020 100%); color: var(--text-on-dark); }
.hero::before { content: ""; position: absolute; left: 0; top: 34px; width: 5px; height: 170px; background: linear-gradient(var(--magenta) 0 20%, transparent 20% 28%, var(--cyan) 28%); }
.hero::after { content: "01"; position: absolute; right: 5vw; top: 10px; font-size: clamp(7rem, 18vw, 15rem); line-height: 1; font-weight: 800; color: rgba(255,255,255,.025); pointer-events: none; }
.hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: 1.4fr .6fr; gap: 46px; align-items: center; }
h1 { font-size: clamp(2.35rem,5vw,4.8rem); line-height: 1.04; margin: 14px 0 24px; max-width: 900px; letter-spacing: .015em; font-weight: 700; }
h2 { font-size: clamp(1.8rem,3vw,2.85rem); line-height: 1.1; margin: 8px 0 14px; }
h3 { margin-top: 0; }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-size: .75rem; font-weight: 800; color: var(--cyan); }
.hero .lead { font-size: 1.16rem; color: #d6d6d2; max-width: 760px; }
.hero-actions { display: flex; gap: 20px; align-items: center; flex-wrap: wrap; margin-top: 28px; }
.text-link { color: #fff; text-underline-offset: 5px; font-weight: 700; }
.hero-card { background: rgba(255,255,255,.04); border: 1px solid #343434; border-left: 3px solid var(--cyan); border-radius: 0; padding: 28px; box-shadow: none; position: relative; overflow: hidden; }
.hero-blind-symbol { width: 74px; height: 74px; display: block; margin: 0 0 18px; filter: drop-shadow(0 8px 18px rgba(0,0,0,.28)); }
.hero-card strong { display: block; margin-bottom: 8px; font-size: 1.12rem; letter-spacing: .04em; }
.hero-card p { color: #d0d0cc; margin-bottom: 0; }
.hero-number { display: block; font-size: 3.4rem; line-height: 1; color: rgba(255,255,255,.12); font-weight: 800; margin-bottom: 12px; }

.trust-strip { background: #202020; color: #f5f5f2; border-top: 1px solid #2e2e2e; border-bottom: 1px solid #2e2e2e; }
.trust-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; padding: 0; }
.trust-grid span { padding: 18px 20px; border-right: 1px solid #3b3b3b; font-weight: 650; }
.trust-grid span:first-child { border-left: 1px solid #3b3b3b; }

.category-section { padding: 74px 0 72px; background: #fff; }
.section-heading { display: flex; justify-content: space-between; gap: 32px; align-items: end; border-bottom: 1px solid #d5d5d0; padding-bottom: 18px; margin-bottom: 28px; }
.section-copy { max-width: 520px; margin: 0; color: var(--muted); }
.category-grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 14px; }
.category-card { border: 1px solid var(--line); background: #f7f7f4; min-height: 250px; transition: transform .16s ease, border-color .16s ease; }
.category-card:hover, .category-card.active { transform: translateY(-3px); border-color: var(--cyan); }
.category-card-button { appearance: none; border: 0; background: transparent; color: inherit; width: 100%; height: 100%; text-align: left; padding: 22px; cursor: pointer; display: flex; flex-direction: column; gap: 10px; }
.category-card strong { font-size: 1.3rem; line-height: 1.15; }
.category-card span:not(.eyebrow):not(.category-index) { color: var(--muted); }
.category-card em { margin-top: auto; font-style: normal; font-weight: 800; font-size: .86rem; }
.category-index { color: #b1b1ad; font-size: 1.8rem; font-weight: 800; line-height: 1; }
.category-product-count {
  display:inline-flex;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:#e9f7fc;
  color:#126c8a !important;
  font-size:.78rem;
  font-weight:850;
}
.category-card.is-empty { opacity:.56; transform:none !important; border-color:var(--line) !important; }
.category-card-button:disabled { cursor:not-allowed; }

.catalog-section { padding: 72px 0 84px; background: #f4f4f1; }
.category-intro { margin-bottom: 54px; }
.category-intro-main { background: #171717; color: #fff; display: grid; grid-template-columns: 1.5fr .5fr; gap: 34px; padding: 34px; border-left: 4px solid var(--cyan); }
.category-intro-copy p:last-child { color: #d3d3ce; max-width: 820px; }
.category-intro-note { border-left: 1px solid #454545; padding-left: 26px; display: flex; flex-direction: column; justify-content: center; gap: 8px; }
.category-intro-note span { color: var(--muted-dark); font-size: .82rem; text-transform: uppercase; letter-spacing: .12em; }
.category-editorial { background: #fff; border: 1px solid var(--line); border-top: 0; padding: 30px 34px 34px; }
.category-editorial-heading h3 { font-size: 1.45rem; margin: 4px 0 20px; }
.category-subgroup-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 1px; background: var(--line); border: 1px solid var(--line); }
.category-subgroup { background: #fff; padding: 20px; display: grid; gap: 7px; }
.category-subgroup strong { font-size: 1.05rem; }
.category-subgroup span { color: var(--muted); }
.category-info-note { margin-top: 22px; border-left: 3px solid var(--yellow); background: #fff8df; padding: 16px 18px; display: grid; gap: 4px; }
.catalog-heading { display: flex; justify-content: space-between; gap: 24px; align-items: end; border-bottom: 1px solid #cfcfca; padding-bottom: 18px; }
.result-count { color: var(--muted); }
.catalog-tools { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 18px; margin: 28px 0 30px; }
.catalog-tools label, .form-grid label, .variant-picker { display: grid; gap: 7px; font-weight: 700; }
input, select, textarea { width: 100%; background: #fff; border: 1px solid #aaa; border-radius: 4px; padding: 13px 14px; color: var(--text); }
input:focus, select:focus, textarea:focus { border-color: var(--cyan); }

.product-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 22px; }
.product-card { background: var(--surface); border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; display: flex; flex-direction: column; min-width: 0; transition: transform .16s ease, box-shadow .16s ease; }
.product-card:hover { transform: translateY(-3px); box-shadow: var(--shadow); }
.product-image { aspect-ratio: 4/3; background: linear-gradient(135deg, rgba(86,199,238,.08), transparent 42%), #e8e8e4; display: grid; place-items: center; color: #656561; font-weight: 700; text-align: center; padding: 18px; border-bottom: 1px solid var(--line); }
.product-image-button { width: 100%; border-left: 0; border-right: 0; border-top: 0; cursor: pointer; }
.product-body { padding: 20px; display: grid; gap: 10px; height: 100%; }
.product-body h3 { margin: 0; font-size: 1.12rem; }
.product-title-button { appearance: none; border: 0; padding: 0; background: none; color: inherit; text-align: left; font-weight: 800; cursor: pointer; }
.product-title-button:hover { text-decoration: underline; text-underline-offset: 4px; }
.product-excerpt { margin: 0; color: #393936; }
.product-meta { color: var(--muted); font-size: .91rem; }
.price-row { margin-top: auto; display: grid; gap: 13px; padding-top: 8px; }
.price { font-size: 1.22rem; font-weight: 850; }
.card-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.secondary-button { border: 1px solid #1f1f1f; color: #181818; background: #fff; cursor: pointer; border-radius: 4px; padding: 10px 13px; font-weight: 750; }
.secondary-button:hover, .secondary-button.dark { background: #171717; color: #fff; border-color: #171717; }
.secondary-button.dark:hover { background: #333; }

.craft-section { padding: 76px 0; background: #1a1a1a; color: #fff; }
.craft-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 60px; }
.craft-grid p { color: #d0d0cc; }
.craft-facts { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; background: #3c3c3c; border: 1px solid #3c3c3c; }
.craft-facts div { background: #202020; padding: 22px; display: grid; gap: 6px; }
.craft-facts strong { color: var(--cyan); }
.craft-facts span { color: #d0d0cc; font-size: .9rem; }

.info-section { padding: 72px 0; background: #fff; border-top: 1px solid var(--line); }
.two-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.service-box { background: #181818; color: #fff; border: 0; border-left: 3px solid var(--cyan); border-radius: 0; padding: 30px; box-shadow: none; }
.service-box p { color: #cececa; }

.site-footer { background: #131313; color: #fff; padding: 38px 0; border-top: 4px solid var(--yellow); }
.footer-grid { display: flex; justify-content: space-between; gap: 28px; }
.footer-grid div:last-child { display: flex; gap: 18px; flex-wrap: wrap; }
.footer-grid a:hover { color: var(--cyan); }

.cart-panel { position: fixed; right: 0; top: 0; width: min(450px, 94vw); height: 100dvh; background: #fff; z-index: 60; box-shadow: -20px 0 60px rgba(0,0,0,.24); transform: translateX(105%); transition: transform .2s ease; display: flex; flex-direction: column; }
.cart-panel.open { transform: translateX(0); }
.cart-header { display: flex; align-items: center; justify-content: space-between; padding: 20px; background: #171717; color: #fff; border-bottom: 1px solid #333; }
.icon-button { border: 0; background: transparent; color: inherit; font-size: 2rem; cursor: pointer; line-height: 1; }
.cart-items { padding: 20px; overflow: auto; display: grid; gap: 14px; }
.cart-item { border-bottom: 1px solid var(--line); padding-bottom: 14px; }
.cart-item-meta { color: var(--muted); margin-top: 4px; }
.cart-item button { margin-top: 7px; border: 0; background: none; text-decoration: underline; cursor: pointer; }
.cart-summary { margin-top: auto; border-top: 1px solid var(--line); padding: 20px; display: grid; gap: 10px; }
.cart-summary > div { display: flex; justify-content: space-between; gap: 16px; }
.cart-summary .total { font-size: 1.15rem; padding-top: 10px; border-top: 1px solid var(--line); }
.full { width: 100%; }
.small-note { color: var(--muted); font-size: .9rem; }
.backdrop { position: fixed; inset: 0; background: rgba(0,0,0,.56); z-index: 50; }

dialog { border: 0; border-radius: 6px; padding: 0; box-shadow: var(--shadow); }
dialog::backdrop { background: rgba(0,0,0,.62); }
#checkoutDialog { width: min(820px, calc(100% - 28px)); }
#checkoutDialog form { padding: 24px; }
.dialog-header { display: flex; justify-content: space-between; align-items: center; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 20px 0; }
.span-2 { grid-column: span 2; }

.product-dialog { width: min(980px, calc(100% - 30px)); max-height: 92vh; overflow: auto; }
.product-dialog-header { background: #171717; color: #fff; padding: 24px 28px; display: flex; justify-content: space-between; align-items: start; gap: 20px; }
.product-dialog-header h2 { margin: 6px 0 0; font-size: clamp(1.5rem,3vw,2.4rem); }
.product-detail-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 0; background: #fff; }
.detail-image { min-height: 380px; background: linear-gradient(135deg, rgba(86,199,238,.09), transparent 44%), #ecece8; display: grid; place-items: center; color: var(--muted); font-weight: 800; border-right: 1px solid var(--line); }
.detail-buy { padding: 32px; display: flex; flex-direction: column; gap: 15px; justify-content: center; }
.detail-sku { color: var(--muted); }
.detail-price { font-size: 2rem; font-weight: 850; }
.detail-tax { color: var(--muted); font-size: .9rem; }
.variant-picker { margin: 8px 0; }
.accessory-note { border-left: 3px solid var(--cyan); background: #f4f4f1; padding: 14px 16px; display: grid; gap: 4px; }
.detail-content { padding: 30px; background: #fff; border-top: 1px solid var(--line); }
.detail-content h3 { margin-top: 25px; }
.detail-content h3:first-child { margin-top: 0; }
.detail-content li { margin-bottom: 7px; }
.source-note { color: var(--muted); font-size: .88rem; border-top: 1px solid var(--line); padding-top: 18px; margin-top: 24px; }

.empty-state { background: #fff; border: 1px dashed #999; border-radius: 6px; padding: 36px; grid-column: 1/-1; text-align: center; }
.empty-state p { color: var(--muted); max-width: 680px; margin: 8px auto 0; }

@media (prefers-reduced-motion: reduce) {
  * { scroll-behavior: auto !important; transition: none !important; }
}

@media (max-width: 980px) {
  .category-grid { grid-template-columns: repeat(2,1fr); }
  .catalog-tools { grid-template-columns: 1fr 1fr; }
  .search-box { grid-column: 1/-1; }
}

@media (max-width: 850px) {
  .main-nav { display: none; }
  .hero-grid, .two-columns, .craft-grid, .category-intro-main, .product-detail-grid { grid-template-columns: 1fr; }
  .category-intro-note { border-left: 0; border-top: 1px solid #454545; padding-left: 0; padding-top: 20px; }
  .trust-grid { grid-template-columns: 1fr 1fr; }
  .trust-grid span:nth-child(odd) { border-left: 1px solid #3b3b3b; }
  .product-grid { grid-template-columns: 1fr 1fr; }
  .detail-image { min-height: 300px; border-right: 0; border-bottom: 1px solid var(--line); }
}

@media (max-width: 580px) {
  .wrap { width: min(100% - 22px, 1180px); }
  .header-row { min-height: 70px; gap: 10px; }
  .brand small { display: none; }
  .brand strong { font-size: .82rem; letter-spacing: .09em; }
  .brand-mark { width: 42px; height: 42px; }
  .cart-button { padding: 11px 13px; }
  .hero { padding: 58px 0 48px; }
  .hero::after { font-size: 8rem; right: -12px; }
  .trust-grid, .catalog-tools, .product-grid, .form-grid, .category-grid, .craft-facts, .category-subgroup-grid { grid-template-columns: 1fr; }
  .search-box { grid-column: auto; }
  .trust-grid span, .trust-grid span:nth-child(odd) { border-left: 1px solid #3b3b3b; border-right: 1px solid #3b3b3b; border-bottom: 1px solid #3b3b3b; }
  .span-2 { grid-column: span 1; }
  .section-heading, .catalog-heading, .footer-grid { align-items: start; flex-direction: column; }
  .card-actions { display: grid; }
  .product-dialog-header { padding: 20px; }
  .detail-buy, .detail-content { padding: 22px; }
}


/* Informationsseiten / Herstellerseiten */
.content-hero {
  padding: 74px 0 64px;
  background: linear-gradient(105deg, #151515 0%, #1d1d1d 100%);
  color: #fff;
  border-bottom: 1px solid #2f2f2f;
}
.content-hero .lead { color: #d2d2ce; max-width: 820px; font-size: 1.13rem; }
.content-shell { padding: 64px 0 80px; background: #f4f4f1; }
.content-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(280px, .6fr); gap: 42px; align-items: start; }
.article-card { background: #fff; border: 1px solid var(--line); padding: 34px; }
.article-card + .article-card { margin-top: 22px; }
.article-card h2 { margin-top: 0; }
.article-card h3 { margin-top: 28px; }
.article-card p:last-child { margin-bottom: 0; }
.fact-list { display: grid; gap: 1px; background: var(--line); border: 1px solid var(--line); }
.fact-list div { background: #fff; padding: 20px; display: grid; gap: 5px; }
.fact-list strong { color: #111; }
.fact-list span { color: var(--muted); }
.history-note { border-left: 4px solid var(--yellow); background: #fff8df; padding: 18px 20px; margin: 24px 0; }
.source-box { margin-top: 28px; padding: 18px 20px; background: #ecece8; border-left: 3px solid var(--cyan); font-size: .9rem; color: #555; }
.content-cta { margin-top: 28px; display: flex; gap: 14px; flex-wrap: wrap; }
.content-cta .secondary-button { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; }
@media (max-width: 850px) {
  .content-grid { grid-template-columns: 1fr; }
}


/* Materialkunde und Borstenfilter */
.catalog-tools { grid-template-columns: minmax(260px, 2fr) repeat(3, minmax(170px, 1fr)); }
.material-section { padding: 76px 0; background: #f4f4f1; border-top: 1px solid var(--line); }
.material-note { max-width: 920px; color: var(--muted); margin: -10px 0 26px; }
.material-scale { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 28px; }
.material-chip { border: 1px solid #cfcfca; background: #fff; padding: 12px 14px; cursor: pointer; display: grid; gap: 2px; text-align: left; min-width: 130px; }
.material-chip:hover, .material-chip:focus-visible { border-color: var(--cyan); outline: 2px solid transparent; box-shadow: 0 0 0 2px rgba(63,197,238,.18); }
.material-chip span { font-weight: 700; }
.material-chip small { color: var(--muted); }
.material-table-wrap { overflow-x: auto; background: #fff; border: 1px solid var(--line); }
.material-table { width: 100%; border-collapse: collapse; min-width: 900px; }
.material-table th, .material-table td { padding: 16px 18px; text-align: left; vertical-align: top; border-bottom: 1px solid var(--line); }
.material-table th { background: #171717; color: #fff; font-size: .85rem; letter-spacing: .03em; }
.material-table tr:last-child td { border-bottom: 0; }
.material-link { border: 0; padding: 0; background: transparent; font: inherit; font-weight: 800; color: #111; cursor: pointer; text-decoration: underline; text-decoration-color: var(--cyan); text-underline-offset: 3px; }
.material-info { margin-top: 7px; color: var(--muted); font-size: .9rem; max-width: 430px; }
.product-fibers { display: flex; flex-wrap: wrap; gap: 6px; margin: 6px 0 2px; }
.product-fibers span { border: 1px solid #cfcfca; border-radius: 999px; padding: 4px 8px; font-size: .75rem; background: #f8f8f6; color: #444; }
.detail-materials { display: flex; flex-wrap: wrap; gap: 8px; margin: 15px 0; }
.detail-materials strong { width: 100%; }
.detail-materials span { border: 1px solid #d4d4cf; padding: 6px 9px; background: #f7f7f4; font-size: .85rem; }

@media (max-width: 1050px) {
  .catalog-tools { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 650px) {
  .catalog-tools { grid-template-columns: 1fr; }
  .material-chip { min-width: calc(50% - 5px); }
}


/* Übersicht Blindenwerkstätten */
.workshops-hero { background: radial-gradient(circle at 80% 25%, rgba(86,199,238,.10), transparent 0 24%), linear-gradient(105deg,#151515,#202020); }
.workshops-intro { padding: 68px 0; background: #fff; }
.workshops-intro-grid { display:grid; grid-template-columns: 1.15fr .85fr; gap: 52px; align-items:start; }
.workshops-intro article p { color: var(--muted); max-width: 760px; }
.workshop-principles { display:grid; grid-template-columns:1fr 1fr; gap:1px; background:var(--line); border:1px solid var(--line); }
.workshop-principles div { background:#f7f7f4; padding:22px; display:grid; gap:7px; }
.workshop-principles strong { color:#111; }
.workshop-principles span { color:var(--muted); font-size:.92rem; }
.workshops-section { padding: 76px 0 84px; background:#f4f4f1; }
.workshop-grid { display:grid; grid-template-columns: 2fr 1fr 1fr; gap:18px; }
.workshop-card { background:#fff; border:1px solid var(--line); padding:26px; min-height:330px; display:flex; flex-direction:column; }
.workshop-card.featured { border-left:4px solid var(--cyan); }
.workshop-card.placeholder { background:#fafaf8; border-style:dashed; }
.workshop-card h3 { font-size:1.4rem; line-height:1.2; margin:4px 0 14px; }
.workshop-card p:not(.eyebrow) { color:var(--muted); }
.workshop-card-top { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:22px; }
.workshop-number { font-size:2rem; font-weight:800; color:#b2b2ad; }
.workshop-status { font-size:.75rem; text-transform:uppercase; letter-spacing:.09em; padding:6px 9px; border:1px solid #ccc; }
.workshop-facts-inline { display:flex; flex-wrap:wrap; gap:7px; margin:8px 0 20px; }
.workshop-facts-inline span { background:#f1f1ee; border:1px solid #d8d8d3; padding:6px 9px; font-size:.8rem; }
.workshop-actions { margin-top:auto; display:flex; flex-wrap:wrap; gap:10px; }
.workshop-actions .secondary-button { text-decoration:none; display:inline-flex; align-items:center; }
.workshops-source-section { padding:72px 0; background:#fff; border-top:1px solid var(--line); }

@media (max-width: 980px) {
  .workshop-grid { grid-template-columns:1fr 1fr; }
  .workshop-card.featured { grid-column:1/-1; }
}
@media (max-width: 850px) {
  .workshops-intro-grid { grid-template-columns:1fr; }
}
@media (max-width: 620px) {
  .workshop-grid, .workshop-principles { grid-template-columns:1fr; }
}

/* Materialpräferenzen */
.material-preference-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin:28px 0 34px; }
.material-preference-grid article { background:#fff; border:1px solid var(--line); padding:24px; display:flex; flex-direction:column; align-items:flex-start; }
.material-preference-grid h3 { margin:10px 0 12px; font-size:1.18rem; line-height:1.25; }
.material-preference-grid p { color:var(--muted); margin:0 0 18px; }
.material-preference-grid .secondary-button { margin-top:auto; }
.preference-tag { font-size:.72rem; text-transform:uppercase; letter-spacing:.09em; font-weight:800; color:#167da0; }
@media (max-width:900px){ .material-preference-grid{grid-template-columns:1fr;} }


/* Gestufte Kategorie-Navigation: erst erklären, dann Untergruppe, dann Produkte */
.catalog-section { padding-top: 0; }
.catalog-search-sticky {
  position: sticky;
  top: 72px;
  z-index: 20;
  display: flex;
  gap: 14px;
  align-items: end;
  background: rgba(244,244,241,.97);
  backdrop-filter: blur(10px);
  padding: 18px 0 16px;
  border-bottom: 1px solid var(--line);
  margin-bottom: 26px;
}
.catalog-search-primary { flex: 1; display: grid; gap: 7px; font-weight: 800; }
.catalog-search-primary span { font-size: .86rem; }
.catalog-search-primary input {
  min-height: 52px;
  font-size: 1.05rem;
  border: 2px solid #1e1e1e;
  border-radius: 6px;
}
.catalog-back { white-space: nowrap; min-height: 52px; }
.category-intro { margin: 0 0 24px; }
.category-compact-intro {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(260px,.55fr);
  gap: 28px;
  background: #171717;
  color: #fff;
  padding: 28px 30px;
  border-left: 4px solid var(--cyan);
}
.category-compact-intro h2 { margin: 4px 0 10px; font-size: clamp(1.8rem,3vw,2.6rem); }
.category-compact-intro p { margin: 0; color: #d2d2ce; max-width: 820px; }
.category-compact-hint { border-left: 1px solid #444; padding-left: 24px; display: grid; align-content: center; gap: 7px; }
.category-compact-hint span { color: #c9c9c5; }
.category-more { background:#fff; border:1px solid var(--line); border-top:0; }
.category-more summary { cursor:pointer; padding:14px 18px; font-weight:800; }
.category-more[open] summary { border-bottom:1px solid var(--line); }
.category-more .legacy-description { padding: 18px 22px 24px; max-width: 980px; color:#333; }
.browse-nav { margin: 22px 0 34px; }
.browse-heading { margin-bottom: 16px; }
.browse-heading h3 { margin: 3px 0 6px; font-size: 1.45rem; }
.browse-heading p:last-child { color:var(--muted); margin:0; }
.browse-heading.with-back { display:block; }
.browse-heading-secondary {
  margin-top:34px;
  padding-top:24px;
  border-top:1px solid var(--line);
}
.browse-remainder-tile {
  border-style:dashed;
  background:#fafaf7;
}
.text-back-button { border:0; background:none; padding:0; margin-bottom:12px; font:inherit; font-weight:800; cursor:pointer; text-decoration:underline; text-underline-offset:4px; }
.browse-tile-grid {
  display:grid;
  grid-template-columns: repeat(4,minmax(0,1fr));
  gap:10px;
}
.browse-tile-grid.material-tiles { grid-template-columns: repeat(5,minmax(0,1fr)); }
.browse-tile-grid.single { grid-template-columns:minmax(240px,360px); }
.browse-tile {
  appearance:none;
  border:1px solid #cfcfca;
  background:#fff;
  min-height:112px;
  padding:16px;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:6px;
  transition: border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}
.browse-tile:hover, .browse-tile:focus-visible {
  border-color:var(--cyan);
  transform:translateY(-2px);
  box-shadow:0 8px 22px rgba(0,0,0,.08);
}
.browse-tile strong { font-size:1.04rem; line-height:1.18; }
.browse-tile span { color:#4d4d49; font-size:.86rem; }
.browse-tile small { color:var(--muted); line-height:1.3; margin-top:auto; }
.browse-product-count {
  display:inline-flex;
  width:max-content;
  padding:5px 9px;
  border-radius:999px;
  background:#e9f7fc;
  color:#126c8a !important;
  font-size:.78rem !important;
  font-weight:850;
}
.browse-tile.is-empty,
.browse-tile:disabled {
  opacity:.5;
  cursor:not-allowed;
  background:#ededE9;
  border-color:#d8d8d2;
  transform:none;
  box-shadow:none;
}
.browse-tile.is-empty:hover,
.browse-tile:disabled:hover {
  border-color:#d8d8d2;
  transform:none;
  box-shadow:none;
}
.browse-tile-top { text-transform:uppercase; letter-spacing:.07em; font-size:.68rem !important; color:#167da0 !important; font-weight:800; }
.browse-tile.compact { min-height:82px; }
.text-back-button.prominent {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:9px 14px;
  margin-bottom:14px;
  border:1px solid #1f1f1f;
  border-radius:4px;
  background:#fff;
  text-decoration:none;
}
.text-back-button.prominent:hover,
.text-back-button.prominent:focus-visible {
  background:#171717;
  color:#fff;
}
.browse-current-path {
  padding:14px 16px;
  border-left:4px solid var(--cyan);
  background:#fff;
}
.catalog-heading { margin-top:12px; }
.catalog-state-controls { display:none !important; }

@media (max-width:1100px){
  .browse-tile-grid.material-tiles { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media (max-width:900px){
  .browse-tile-grid, .browse-tile-grid.material-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .category-compact-intro { grid-template-columns:1fr; }
  .category-compact-hint { border-left:0; border-top:1px solid #444; padding-left:0; padding-top:16px; }
  .catalog-search-sticky { top:64px; }
}
@media (max-width:560px){
  .browse-tile-grid, .browse-tile-grid.material-tiles { grid-template-columns:1fr 1fr; }
  .browse-tile { min-height:96px; padding:13px; }
  .catalog-search-sticky { align-items:stretch; flex-direction:column; }
  .catalog-back { width:100%; }
}

.minimum-order-note{border-left:4px solid #c77a00;background:#f7f7f3;padding:12px 14px;display:grid;gap:4px;font-size:.9rem}.minimum-order-note.compact{margin:4px 0 2px;padding:9px 11px;font-size:.83rem}.minimum-order-note span,.shipping-hint span,.set-discount-note span{color:var(--muted)}.shipping-hint,.set-discount-note{border:1px solid var(--line);padding:12px 14px;display:grid;gap:4px;font-size:.9rem}.shipping-hint{border-left:4px solid var(--cyan);background:#f7f7f3}.shipping-hint.compact{margin:4px 0 2px;padding:9px 11px;font-size:.82rem}.set-discount-note{border-left:4px solid #4e8b57;background:#f2f8f1}.minimum-order-status{display:grid!important;gap:3px!important;justify-content:stretch!important;padding:11px 12px;background:#f3f3ef;border:1px solid var(--line);font-size:.88rem}.minimum-order-status span{color:var(--muted)}.minimum-order-status.missing{border-left:4px solid #c77a00;background:#fff7e8}.minimum-order-status.reached{border-left:4px solid #4e8b57;background:#f2f8f1}.discount-row{color:#35643c}.cart-item-benefit{margin-top:6px;font-size:.85rem;color:#35643c;font-weight:700}.cart-item-shipping{margin-top:6px;font-size:.82rem;color:var(--muted)}.notice-dialog{width:min(620px,calc(100% - 28px))}.notice-dialog-body{padding:28px}.notice-dialog-body h2{margin:6px 0 12px}.notice-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.notice-actions .primary-button,.notice-actions .secondary-button{flex:1 1 240px}#checkoutButton:disabled{opacity:.58;cursor:not-allowed}


/* Stückzahlsteuerung */
.product-quantity,
.detail-quantity,
.cart-quantity-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}
.product-quantity {
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid var(--line);
  font-size:.88rem;
  font-weight:700;
}
.detail-quantity {
  margin:6px 0 2px;
  font-weight:800;
}
.cart-quantity-row {
  margin:10px 0 4px;
  font-size:.88rem;
  font-weight:700;
}
.quantity-stepper {
  display:inline-grid;
  grid-template-columns:38px 58px 38px;
  min-height:38px;
  border:1px solid #bdbdb7;
  background:#fff;
}
.quantity-stepper button {
  border:0;
  background:#f3f3ef;
  font:inherit;
  font-size:1.1rem;
  font-weight:800;
  cursor:pointer;
}
.quantity-stepper button:hover,
.quantity-stepper button:focus-visible {
  background:#e9e9e3;
}
.quantity-stepper input {
  width:100%;
  min-width:0;
  border:0;
  border-left:1px solid #d2d2cc;
  border-right:1px solid #d2d2cc;
  text-align:center;
  font:inherit;
  font-weight:800;
  -moz-appearance:textfield;
}
.quantity-stepper input::-webkit-outer-spin-button,
.quantity-stepper input::-webkit-inner-spin-button {
  -webkit-appearance:none;
  margin:0;
}
.quantity-stepper.compact {
  grid-template-columns:34px 52px 34px;
  min-height:34px;
}
@media (max-width:560px){
  .product-quantity,
  .detail-quantity,
  .cart-quantity-row { align-items:flex-start; }
}


/* Betriebe & Ausgleichsabgabe */
.business-teaser {
  background:#101010;
  color:#fff;
  border-top:1px solid #262626;
  border-bottom:1px solid #262626;
}
.business-teaser-grid {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);
  gap:36px;
  align-items:center;
  padding-top:48px;
  padding-bottom:48px;
}
.business-teaser h2,
.business-hero h1,
.business-card h2,
.business-process h2,
.business-note h2,
.business-cta h2 { margin-top:0; }
.business-teaser-card {
  border:1px solid #353535;
  border-left:3px solid var(--cyan);
  background:rgba(255,255,255,.04);
  padding:24px;
}
.business-teaser-card strong { display:block; font-size:1.1rem; margin-bottom:8px; }
.business-teaser-card p { color:#d7d7d2; line-height:1.6; }

.business-hero {
  background:#111;
  color:#fff;
  padding:72px 0;
}
.business-hero-grid {
  display:grid;
  grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);
  gap:54px;
  align-items:center;
}
.business-hero h1 { max-width:900px; font-size:clamp(2.3rem,5vw,4.8rem); line-height:.98; }
.business-hero .lead { color:#e7e7e2; max-width:820px; }
.business-keyfact {
  background:#1d1d1d;
  border:1px solid #353535;
  border-left:3px solid var(--cyan);
  padding:28px;
}
.business-keyfact img { width:72px; height:72px; display:block; margin-bottom:20px; }
.business-keyfact strong { display:block; font-size:1.35rem; margin-bottom:10px; }
.business-keyfact p { color:#d7d7d2; line-height:1.6; }

.business-content { background:#f5f5f1; }
.business-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
  margin-bottom:44px;
}
.business-card {
  background:#fff;
  border:1px solid var(--line);
  padding:30px;
}
.business-card p:last-child { line-height:1.7; color:#3f3f3a; }

.business-process {
  display:grid;
  grid-template-columns:minmax(220px,.65fr) minmax(0,1.35fr);
  gap:40px;
  padding:38px;
  background:#171717;
  color:#fff;
  margin:30px 0;
}
.business-steps {
  list-style:none;
  padding:0;
  margin:0;
  counter-reset:steps;
  display:grid;
  gap:1px;
}
.business-steps li {
  counter-increment:steps;
  display:grid;
  grid-template-columns:44px 1fr;
  gap:4px 14px;
  padding:18px;
  background:#222;
}
.business-steps li::before {
  content:counter(steps, decimal-leading-zero);
  grid-row:1 / span 2;
  color:var(--cyan);
  font-weight:800;
}
.business-steps strong { display:block; }
.business-steps span { color:#d8d8d2; line-height:1.55; }

.business-note,
.business-cta,
.legal-note {
  background:#fff;
  border:1px solid var(--line);
  padding:30px;
  margin-top:20px;
}
.business-note { border-left:4px solid #d6a200; }
.business-cta {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:28px;
}
.legal-note {
  background:#f0f0eb;
  font-size:.95rem;
}
.legal-note p { margin-bottom:0; line-height:1.65; }

.business-badge {
  display:inline-flex;
  align-items:center;
  width:max-content;
  text-decoration:none;
  background:#fff6c8;
  color:#161616;
  border:1px solid #d4ba38;
  font-weight:800;
}
.business-badge.compact {
  margin-top:8px;
  padding:5px 8px;
  font-size:.78rem;
}
.business-product-note {
  margin:14px 0;
  padding:13px 15px;
  border-left:3px solid #d2a400;
  background:#fff8d8;
  display:grid;
  gap:4px;
}
.business-product-note strong { font-size:.95rem; }
.business-product-note span { font-size:.88rem; line-height:1.45; }
.business-product-note a { font-size:.86rem; font-weight:800; color:#111; }

.main-nav .is-active { color:var(--cyan); }

@media (max-width:900px){
  .business-teaser-grid,
  .business-hero-grid,
  .business-grid,
  .business-process { grid-template-columns:1fr; }
  .business-cta { align-items:flex-start; flex-direction:column; }
}


/* Produktbilder importiert */
.product-image img,.detail-image img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}.product-image{overflow:hidden}.detail-image{overflow:hidden;background:#fff}.detail-image img{max-height:560px;object-fit:contain}


/* Mehrbild-Produktgalerie */
.detail-gallery{width:100%;min-width:0;background:#fff}
.product-gallery-thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(74px,1fr));gap:8px;padding:10px;border-top:1px solid var(--line);background:#f7f7f3}
.product-gallery-thumb{appearance:none;border:2px solid transparent;background:#fff;padding:0;aspect-ratio:4/3;overflow:hidden;cursor:pointer;border-radius:4px}
.product-gallery-thumb:hover,.product-gallery-thumb:focus-visible{border-color:#777;outline:none}
.product-gallery-thumb.active{border-color:#171717;box-shadow:0 0 0 2px #f6c744}
.product-gallery-thumb img{display:block;width:100%;height:100%;object-fit:contain;background:#fff}
@media (max-width:640px){.product-gallery-thumbs{grid-template-columns:repeat(4,minmax(58px,1fr));gap:6px;padding:8px}}

/* Schnellsuche & Bestseller */
.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.quick-search-section{background:#fff;padding:26px 0 18px;border-bottom:1px solid var(--line)}
.quick-search-box{display:grid;grid-template-columns:minmax(190px,.55fr) minmax(320px,1.45fr);gap:16px 28px;align-items:end}
.quick-search-heading h2{font-size:clamp(1.45rem,2.3vw,2.05rem);margin:2px 0 0}
.quick-search-field input{width:100%;min-height:54px;border:2px solid #181818;border-radius:6px;padding:0 16px;font:inherit;font-size:1.05rem;background:#fff}
.search-suggestions{grid-column:1/-1;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.search-suggestions>span{font-size:.82rem;color:var(--muted);font-weight:800;margin-right:2px}
.search-suggestions button{appearance:none;border:1px solid #d2d2cc;background:#f7f7f3;border-radius:999px;padding:7px 10px;font:inherit;font-size:.82rem;font-weight:750;cursor:pointer}
.search-suggestions button:hover,.search-suggestions button:focus-visible{border-color:#111;background:#111;color:#fff}
.catalog-suggestions{align-self:center;max-width:420px;grid-column:auto}
.catalog-search-sticky{flex-wrap:wrap}
.catalog-search-sticky .catalog-search-primary{min-width:min(100%,360px)}

.bestseller-section{padding:34px 0 44px;background:#fff;border-bottom:1px solid var(--line)}
.bestseller-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
.bestseller-heading h2{margin:3px 0 0;font-size:clamp(1.65rem,2.8vw,2.35rem)}
.bestseller-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.bestseller-card{border:1px solid var(--line);background:#f8f8f5;display:flex;flex-direction:column;min-width:0}
.bestseller-image{display:block;aspect-ratio:4/3;background:#fff;border-bottom:1px solid var(--line);overflow:hidden}
.bestseller-image img{width:100%;height:100%;object-fit:contain;display:block}
.bestseller-image span{height:100%;display:grid;place-items:center;padding:16px;text-align:center;color:var(--muted);font-weight:700}
.bestseller-body{padding:15px;display:grid;gap:9px;height:100%}
.bestseller-article{font-size:.78rem;color:var(--muted);font-weight:750}
.bestseller-body h3{font-size:1rem;line-height:1.25;margin:0}
.bestseller-variant{display:grid;gap:4px;font-size:.78rem;font-weight:750;margin-top:auto}
.bestseller-variant select{min-height:38px;border:1px solid #bbb;background:#fff;padding:6px 8px;font:inherit}
.bestseller-link{font-weight:850;text-decoration:none;color:#111;margin-top:auto}
.bestseller-link:hover{text-decoration:underline;text-underline-offset:3px}

@media(max-width:900px){
  .quick-search-box{grid-template-columns:1fr}
  .search-suggestions{grid-column:1}
  .bestseller-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .catalog-suggestions{max-width:none;order:3;width:100%}
}
@media(max-width:580px){
  .quick-search-section{padding:18px 0 12px}
  .quick-search-heading .eyebrow{margin-bottom:3px}
  .quick-search-field input{min-height:50px;font-size:1rem}
  .search-suggestions{gap:6px}
  .search-suggestions button{padding:7px 9px;font-size:.78rem}
  .bestseller-section{padding:26px 0 32px}
  .bestseller-grid{grid-template-columns:1fr 1fr;gap:8px}
  .bestseller-body{padding:12px}
  .bestseller-body h3{font-size:.92rem}
  .bestseller-image{aspect-ratio:1/1}
  .catalog-search-sticky{top:68px;padding-top:12px}
}


/* Mobile Navigation */
.mobile-menu-button{display:none;width:44px;height:44px;border:1px solid #3a3a3a;background:#171717;border-radius:6px;padding:9px;cursor:pointer}
.mobile-menu-button span{display:block;height:2px;background:#fff;margin:5px 0;border-radius:2px}
@media(max-width:850px){
  .header-row{position:relative}
  .mobile-menu-button{display:block}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#171717;border-top:1px solid #333;border-bottom:1px solid #333;padding:10px 14px;z-index:80;box-shadow:0 12px 22px rgba(0,0,0,.25)}
  .main-nav.is-open{display:grid;gap:0}
  .main-nav a{padding:12px 8px;border-bottom:1px solid #2c2c2c}
  .main-nav a:last-child{border-bottom:0}
}

/* Direkte Suchtreffer auf der Startseite */
.top-search-results{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:2px}
.top-search-results[hidden]{display:none}
.top-search-result{display:grid;grid-template-columns:54px minmax(0,1fr) auto;gap:10px;align-items:center;text-align:left;border:1px solid #ddd;background:#fff;padding:8px;cursor:pointer}
.top-search-result:hover,.top-search-result:focus-visible{border-color:#111;box-shadow:0 0 0 2px #1111}
.top-search-thumb{width:54px;height:54px;background:#f4f4ef;display:grid;place-items:center;overflow:hidden}
.top-search-thumb img{width:100%;height:100%;object-fit:contain}
.top-search-thumb span{font-size:.65rem;color:#777;text-align:center;padding:3px}
.top-search-copy{display:grid;gap:2px;min-width:0}
.top-search-copy strong{font-size:.9rem;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-search-copy small{color:#666;font-size:.76rem}
.top-search-empty{grid-column:1/-1;border:1px dashed #aaa;padding:12px;color:#555;background:#fafaf7}
@media(max-width:760px){.top-search-results{grid-template-columns:1fr 1fr}}
@media(max-width:520px){.top-search-results{grid-template-columns:1fr}.top-search-result{grid-template-columns:46px minmax(0,1fr) auto}.top-search-thumb{width:46px;height:46px}}


.quick-catalog-link{grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 13px;border:1px solid #d9d9d2;background:#fbfbf7;color:#111;text-decoration:none}
.quick-catalog-link strong{white-space:nowrap}
.quick-catalog-link span{color:#555;text-align:right;font-size:.9rem}
.quick-catalog-link:hover,.quick-catalog-link:focus-visible{border-color:#111;background:#fff}
@media(max-width:580px){.quick-catalog-link{align-items:flex-start;flex-direction:column;gap:4px}.quick-catalog-link span{text-align:left}}


/* Sticky Produktsuche v2 */
.quick-search-section{
  position:sticky;
  top:82px;
  z-index:25;
  padding:9px 0 8px;
  box-shadow:0 7px 18px rgba(0,0,0,.08);
}
.quick-search-box{
  grid-template-columns:150px minmax(300px,1fr) auto;
  gap:7px 16px;
  align-items:center;
}
.quick-search-heading .eyebrow{display:none}
.quick-search-heading h2{font-size:1rem;line-height:1.15;margin:0}
.quick-search-field input{min-height:44px;font-size:.95rem}
.quick-search-box .search-suggestions{
  grid-column:2/4;
  flex-wrap:nowrap;
  overflow-x:auto;
  scrollbar-width:thin;
  padding-bottom:1px;
}
.quick-search-box .search-suggestions button{white-space:nowrap;padding:5px 9px}
.quick-catalog-link{
  grid-column:3;
  grid-row:1;
  padding:7px 10px;
  gap:7px;
  white-space:nowrap;
}
.quick-catalog-link span{display:none}
.top-search-results{grid-column:2/4;margin-top:0;max-height:205px;overflow:auto}

.mobile-menu-button{display:none!important}
@media(max-width:850px){
  .mobile-menu-button{
    display:flex!important;
    align-items:center;
    justify-content:center;
    gap:6px;
    width:auto;
    min-width:74px;
    color:#fff;
    font:inherit;
    font-size:.82rem;
    font-weight:800;
  }
  .mobile-menu-button span{display:none}
  .mobile-menu-button::before{content:"☰";font-size:1.25rem;line-height:1}
  .mobile-menu-button::after{content:"Menü"}
  .quick-search-section{top:70px}
  .quick-search-box{grid-template-columns:1fr auto;gap:6px 8px}
  .quick-search-heading{display:none}
  .quick-search-field{grid-column:1}
  .quick-search-field input{min-height:44px}
  .quick-catalog-link{grid-column:2;grid-row:1;padding:9px 10px}
  .quick-catalog-link strong{font-size:.8rem}
  .quick-search-box .search-suggestions{grid-column:1/3}
  .top-search-results{grid-column:1/3}
}
@media(max-width:580px){
  .header-row{gap:7px}
  .brand{gap:8px}
  .brand strong{font-size:.76rem}
  .brand-mark{width:38px;height:38px}
  .brand-mark img{width:36px;height:36px}
  .mobile-menu-button{min-width:48px;padding:8px}
  .mobile-menu-button::after{display:none}
  .cart-button{padding:10px 11px;font-size:.84rem}
  .quick-search-section{top:70px;padding:7px 0 6px}
  .quick-search-box{grid-template-columns:minmax(0,1fr) auto}
  .quick-catalog-link strong{font-size:0}
  .quick-catalog-link strong::after{content:"Katalog";font-size:.78rem}
  .quick-search-box .search-suggestions{gap:5px}
  .quick-search-box .search-suggestions>span{display:none}
}


/* Checkout Adressen */
.checkout-fieldset{border:1px solid var(--line);border-radius:8px;padding:16px;margin:18px 0;background:#fafaf7}
.checkout-fieldset legend{font-weight:850;padding:0 7px}
.delivery-toggle{display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);background:#fff;padding:13px 14px;border-radius:8px;font-weight:750;cursor:pointer}
.delivery-toggle input{width:auto;margin-top:4px;flex:0 0 auto}
.shipping-fieldset[hidden]{display:none}
.checkout-note{display:grid;gap:7px;font-weight:700;margin:18px 0}
.checkout-note span{font-weight:400;color:var(--muted);font-size:.9rem}
#checkoutDialog{max-height:92vh;overflow:auto}
@media(max-width:580px){
  #checkoutDialog form{padding:18px}
  .form-grid{grid-template-columns:1fr}
  .span-2{grid-column:span 1}
  .checkout-fieldset{padding:12px}
}


/* Bestellerart & Firmierung */
.customer-type-group{display:flex;align-items:center;gap:12px 18px;flex-wrap:wrap;margin:8px 0 16px;padding:12px 13px;border:1px solid var(--line);background:#fff;border-radius:8px}
.customer-type-group .field-label{font-weight:850;margin-right:2px}
.customer-type-group label{display:flex;align-items:center;gap:7px;font-weight:700;cursor:pointer}
.customer-type-group input[type="radio"]{width:auto;margin:0}
.company-field[hidden]{display:none}
.form-grid select{width:100%;min-height:44px;border:1px solid #bdbdb7;border-radius:6px;background:#fff;padding:9px 10px;font:inherit}
@media(max-width:580px){
  .customer-type-group{display:grid;grid-template-columns:1fr;gap:8px}
}


/* Versandkosten, Abverkauf und Verfügbarkeit */
.shipping-footer-panel{padding:0 0 28px;margin-bottom:28px;border-bottom:1px solid #383838}
.shipping-footer-heading{display:flex;justify-content:space-between;gap:20px;align-items:end;margin-bottom:16px}
.shipping-footer-heading strong{font-size:1.25rem}
.shipping-footer-heading span,.shipping-footer-note{color:#c9c9c5}
.shipping-rate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.shipping-rate-grid>div{border:1px solid #3d3d3d;background:#1b1b1b;padding:16px;display:grid;gap:6px}
.shipping-rate-grid>div>strong{color:#fff;margin-bottom:3px}
.shipping-rate-grid span{color:#d4d4d0}
.shipping-rate-grid em{font-style:normal;font-weight:800;color:#fff;margin-top:5px}
.shipping-footer-note{font-size:.78rem;line-height:1.45;margin:12px 0 0;max-width:900px}
.cart-shipping-footnote,.shipping-average-footnote{font-size:.76rem!important;line-height:1.4;color:var(--muted);margin:0}
.cart-summary .cart-shipping-footnote{display:block}
.sale-badge{display:inline-flex;align-items:center;width:max-content;max-width:100%;padding:5px 8px;border-radius:999px;background:#fff1ce;border:1px solid #d69a1d;color:#6e4900;font-size:.75rem;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin:2px 0 8px}
.sale-note,.final-sale-note{padding:12px 14px;display:grid;gap:4px;margin:10px 0}
.unavailable-note{padding:14px 16px;display:grid;gap:7px;margin:10px 0;border-left:4px solid #6c6c67;background:#f2f2ee}
.unavailable-note strong{font-size:.96rem}
.unavailable-note span{color:#555}
.unavailable-note.compact{padding:10px 12px;margin:4px 0 2px}
.unavailable-price{font-size:1rem;color:#555}
.unavailable-note .primary-button{width:max-content;max-width:100%;text-decoration:none;text-align:center;margin-top:4px}
.sale-note{border-left:4px solid #d69a1d;background:#fff8e7}
.final-sale-note{border-left:4px solid #a63d32;background:#fff0ee}
.sale-note span,.final-sale-note span{color:#4f4f4b}
.variant-status{margin:8px 0 2px;font-weight:800;font-size:.9rem}
.variant-status.low-stock{color:#a05b00}
.variant-status.sold-out{color:#a1322b}
.variant-status.available{color:#35643c}
.variant-picker option:disabled{color:#888}
@media(max-width:650px){.shipping-rate-grid{grid-template-columns:1fr}.shipping-footer-heading{align-items:flex-start;flex-direction:column}}


/* Versandkosten-Link, Dialog und Versandfreigabe */
.shipping-costs-dialog{width:min(720px,calc(100vw - 28px));max-height:88vh;border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px rgba(0,0,0,.28);background:#fff;color:#171717}
.shipping-costs-dialog::backdrop{background:rgba(0,0,0,.55)}
.shipping-dialog-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px 8px}
.shipping-dialog-header h2{margin:.15rem 0 0}
.shipping-dialog-lead,.shipping-dialog-note{margin:0;padding:8px 24px 18px;line-height:1.55;color:#555}
.shipping-costs-dialog .shipping-rate-grid{padding:0 24px 10px}
.shipping-costs-dialog .shipping-rate-grid>div{background:#f7f7f4;border-color:#deded7}
.shipping-costs-dialog .shipping-rate-grid>div>strong,.shipping-costs-dialog .shipping-rate-grid em{color:#171717}
.shipping-costs-dialog .shipping-rate-grid span{color:#4f4f4b}
.order-handling-fieldset{margin-top:16px}
.order-handling-options{display:grid;gap:10px}
.order-handling-options label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:flex-start;border:1px solid #d7d7d0;border-radius:8px;padding:12px 14px;cursor:pointer;background:#fff}
.order-handling-options input{margin-top:3px}
.order-handling-options span{display:grid;gap:3px}
.order-handling-options strong{font-size:.95rem}
.order-handling-options small{font-size:.8rem;line-height:1.45;color:#666}
@media(max-width:650px){.shipping-costs-dialog .shipping-rate-grid{grid-template-columns:1fr}.shipping-dialog-header{padding:18px 18px 6px}.shipping-dialog-lead,.shipping-dialog-note{padding-left:18px;padding-right:18px}.shipping-costs-dialog .shipping-rate-grid{padding-left:18px;padding-right:18px}}

.shipping-benefit-box{margin:8px 24px 10px;padding:13px 14px;border:1px solid #d8d8d0;background:#fafaf6;display:grid;gap:5px;line-height:1.45}
.shipping-benefit-box strong{font-size:.95rem}
.shipping-benefit-box span{font-size:.84rem;color:#555}
.shipping-benefit{border-left-color:#d6a62b}
@media(max-width:650px){.shipping-benefit-box{margin-left:18px;margin-right:18px}}


/* Offizielle Produktabbildungen aus dem Katalog-Sprite */
.catalog-sprite-image{
  display:block!important;
  padding:0!important;
  margin:auto;
  aspect-ratio:1/1;
  background-repeat:no-repeat;
  background-color:#fff;
  flex:0 0 auto;
}
.product-image .catalog-sprite-image,
.bestseller-image .catalog-sprite-image{
  height:100%!important;
  width:auto!important;
  max-width:100%;
}
.detail-image .catalog-sprite-image{
  width:min(100%,560px)!important;
  height:auto!important;
}
.top-search-thumb .catalog-sprite-image{
  width:100%!important;
  height:100%!important;
}

/* Herbst-Besen-Set: separate Artikelpositionen und größenabhängige Handschuhe. */
.cart-set-heading{font-weight:800;background:#fdf2d4;border-left:4px solid #d6a435;padding:8px 10px;margin:0 0 12px;color:#332500;font-size:.87rem}
.cart-glove-picker{display:grid;gap:6px;margin:10px 0;color:#252525;font-weight:700;font-size:.87rem}
.cart-glove-picker select{width:100%;padding:9px 10px;border:1px solid #a3a3a3;border-radius:6px;background:#fff;color:#171717;font:inherit}


/* Produktsuche v3 – echte Suche statt Katalog-Falle */
.quick-search-box{
  grid-template-columns:150px minmax(0,1fr);
  gap:7px 16px;
  align-items:center;
}
.quick-search-form{
  grid-column:2;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px;
  align-items:center;
  margin:0;
}
.quick-search-form .quick-search-field{min-width:0}
.quick-search-submit{
  appearance:none;
  min-height:44px;
  border:1px solid #111;
  border-radius:6px;
  background:var(--yellow);
  color:#111;
  padding:0 22px;
  font:inherit;
  font-weight:900;
  cursor:pointer;
}
.quick-search-submit:hover,.quick-search-submit:focus-visible{
  filter:brightness(.97);
  box-shadow:0 0 0 3px rgba(20,160,220,.22);
}
.quick-search-box .search-suggestions{
  grid-column:2;
  display:flex;
  flex-wrap:nowrap;
  align-items:center;
  gap:6px;
  overflow-x:auto;
  padding-bottom:1px;
}
.quick-search-box .quick-catalog-link{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:5px;
  margin-left:auto;
  padding:5px 9px;
  border:0;
  border-left:1px solid #ddd;
  background:transparent;
  color:#555;
  white-space:nowrap;
  font-size:.8rem;
}
.quick-search-box .quick-catalog-link strong{
  font-size:.8rem;
  color:#333;
}
.quick-search-box .quick-catalog-link strong::after{content:none}
.quick-search-box .quick-catalog-link span{
  display:inline;
  font-size:.78rem;
  color:#777;
  text-align:left;
}
.quick-search-box .quick-catalog-link:hover,
.quick-search-box .quick-catalog-link:focus-visible{
  background:#f7f7f3;
  color:#111;
}
.top-search-results{
  grid-column:2;
  margin-top:0;
  max-height:290px;
  overflow:auto;
}
.top-search-all{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  width:100%;
  border:1px solid #111;
  background:#111;
  color:#fff;
  padding:10px 13px;
  cursor:pointer;
  text-align:left;
  font:inherit;
}
.top-search-all span{font-size:.84rem}
.top-search-all strong{font-size:.84rem;white-space:nowrap}
.top-search-all:hover,.top-search-all:focus-visible{background:#262626}
.top-search-empty{
  display:grid;
  gap:3px;
}
.top-search-empty strong{color:#111}
.top-search-empty span{font-size:.86rem}

@media(max-width:850px){
  .quick-search-box{grid-template-columns:1fr}
  .quick-search-form{grid-column:1}
  .quick-search-box .search-suggestions{grid-column:1}
  .top-search-results{grid-column:1}
}
@media(max-width:580px){
  .quick-search-form{gap:6px}
  .quick-search-submit{padding:0 14px;min-height:44px}
  .quick-search-box .search-suggestions{gap:5px}
  .quick-search-box .quick-catalog-link{margin-left:0;border-left:0;border:1px solid #ddd}
  .quick-search-box .quick-catalog-link strong{font-size:.76rem}
  .quick-search-box .quick-catalog-link span{display:none}
  .top-search-results{max-height:330px}
  .top-search-all{align-items:flex-start;flex-direction:column;gap:3px}
}


/* SEO-/Orientierungsbereich der Startseite */
.seo-inline-link{display:inline-block;margin:4px 14px 0 0;color:#111;font-weight:800;text-underline-offset:4px}
.seo-popular-links{display:grid;gap:8px;margin-top:14px}
.seo-popular-links a{display:flex;align-items:center;justify-content:space-between;gap:10px;color:#fff;text-decoration:none;border-bottom:1px solid #3c3c3c;padding:9px 0;font-weight:800}
.seo-popular-links a::after{content:"→";color:var(--yellow)}
.seo-popular-links a:hover,.seo-popular-links a:focus-visible{text-decoration:underline;text-underline-offset:4px}
.info-section h3{margin-top:22px}


/* Produktbewertungen */
.product-reviews{margin-top:34px;padding-top:28px;border-top:1px solid #ddd}
.review-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px}
.review-heading h3{margin:.1rem 0 0}
.review-summary{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:14px 0}
.review-summary>span{color:#666}
.review-average{display:flex;align-items:center;gap:10px}
.review-stars{font-size:1.15rem;letter-spacing:.05em;color:#9b7600}
.review-list{display:grid;gap:12px;margin-top:14px}
.review-card{border:1px solid #ddd;background:#fff;padding:16px}
.review-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:8px}
.review-card-head time{color:#666;font-size:.9rem}
.review-verified{display:inline-block;margin-left:8px;padding:3px 7px;border-radius:999px;background:#eef7ed;font-size:.75rem;font-weight:700}
.review-stage{margin:14px 0;border:1px solid #ddd;background:#fafaf7;padding:18px}
.review-gate p{max-width:70ch}
.review-form{display:grid;gap:14px}
.review-form label{display:grid;gap:6px;font-weight:700}
.review-form input[type="text"],.review-form input[type="email"],.review-form textarea{width:100%;box-sizing:border-box;border:1px solid #aaa;padding:11px 12px;font:inherit;background:#fff}
.review-form fieldset{border:0;padding:0;margin:0}
.review-form legend{font-weight:800;margin-bottom:6px}
.review-rating-input{display:flex;flex-direction:row-reverse;justify-content:flex-end;gap:3px}
.review-rating-input label{display:block;cursor:pointer}
.review-rating-input input{position:absolute;opacity:0;pointer-events:none}
.review-rating-input span[aria-hidden="true"]{font-size:2rem;color:#bbb}
.review-rating-input input:checked~span[aria-hidden="true"],.review-rating-input label:hover span[aria-hidden="true"],.review-rating-input label:hover~label span[aria-hidden="true"]{color:#9b7600}
.review-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.review-form-status,.review-error{color:#8a1c1c;font-weight:700}
.review-success{border-left:4px solid #3f7f45;background:#eef7ed;padding:14px}
.secondary-button{border:1px solid #111;background:#fff;color:#111;padding:10px 14px;font:inherit;font-weight:800;cursor:pointer}
.secondary-button:hover{background:#f3f3ef}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:620px){.review-heading,.review-card-head{align-items:stretch;flex-direction:column}}


/* Informationsseiten-Kommentare */
.article-hero{padding:64px 0 34px;background:linear-gradient(180deg,#f5f3e8 0%,#fff 100%)}
.article-hero .wrap{max-width:980px}
.article-hero h1{font-size:clamp(2.2rem,5vw,4.8rem);line-height:1.02;margin:.18em 0}
.article-meta{color:#666;font-size:.95rem;margin-top:16px}
.article-content{padding:34px 0 70px}
.article-content .wrap{max-width:980px}
.article-content h2{margin-top:2rem}
.article-content h3{margin-top:1.5rem}
.article-content p,.article-content li{line-height:1.72}
.article-fact{border-left:5px solid #d1a300;background:#fff7d3;padding:18px 20px;margin:24px 0}
.article-source{background:#f3f4ef;border:1px solid #dcded4;padding:18px 20px;margin:26px 0}
.article-source a{font-weight:800}
.article-nav{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}
.page-comments{border-top:1px solid #ddd;padding-top:34px;margin-top:44px}
.page-comments-head{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.page-comments-head h2{margin:0}
.page-comments-count{color:#666;font-weight:700}
.page-comments-list{display:grid;gap:14px;margin-top:20px}
.page-comment{border:1px solid #ddd;background:#fff;padding:18px}
.page-comment-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:10px}
.page-comment-head time{color:#666;font-size:.9rem}
.page-comment p{margin:.4rem 0 0;line-height:1.65}
.comment-gate,.comment-form-wrap{margin:18px 0;border:1px solid #ddd;background:#fafaf7;padding:18px}
.comment-form{display:grid;gap:14px}
.comment-form label{display:grid;gap:6px;font-weight:800}
.comment-form input,.comment-form textarea{width:100%;box-sizing:border-box;border:1px solid #aaa;padding:11px 12px;font:inherit;background:#fff}
@media(max-width:620px){.page-comment-head{flex-direction:column;gap:4px}}

.checkout-submit-status{margin:4px 0 0;padding:12px 14px;background:#fff8dc;border-left:4px solid #d2a400;font-weight:700}
.checkout-submit-status.error{background:#fbeaea;border-left-color:#a52a2a;color:#7a1717}
.order-success{padding:10px 4px 26px;max-width:680px}
.order-success h2{margin:.2em 0 .6em;font-size:clamp(1.8rem,4vw,2.7rem)}
.order-number{display:inline-block;margin:4px 0 18px;padding:12px 16px;background:#111;color:#fff;font-size:1.35rem;font-weight:900;letter-spacing:.04em}

.order-mail-note{
  margin:16px 0 18px;
  padding:14px 16px;
  border-left:4px solid #f4ca33;
  background:#fff8d7;
  color:#242421;
  font-size:14px;
  line-height:1.55;
}
.order-mail-note strong{display:block;margin-bottom:4px}
.order-mail-note span strong{display:inline;margin:0}

.checkout-dialog-closebar{
  margin:18px 0 0;
  padding-top:14px;
  border-top:1px solid #e1e1dc;
  text-align:right;
}
.checkout-dialog-closebutton{
  min-width:170px;
}

.legacy-seo-notice{
  margin:14px 0 20px;
  padding:14px 16px;
  border:1px solid #deded7;
  border-left:4px solid #f4ca33;
  background:#fffdf3;
  line-height:1.55;
}
.legacy-seo-notice strong{display:block;margin-bottom:4px}
.legacy-seo-notice span{display:block;color:#555550;font-size:14px}


/* Elektronische Widerrufsfunktion */
.withdrawal-access{
  position:fixed;
  right:18px;
  bottom:18px;
  z-index:1200;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:46px;
  padding:0 17px;
  border:2px solid #111;
  border-radius:999px;
  background:#f4ca33;
  color:#111;
  font-weight:900;
  text-decoration:none;
  box-shadow:0 5px 18px rgba(0,0,0,.2);
}
.withdrawal-access:hover,.withdrawal-access:focus-visible{background:#fff;outline:3px solid rgba(20,160,220,.25);outline-offset:2px}
.withdrawal-wrap{max-width:860px!important}
.withdrawal-form{display:grid;gap:18px;border:1px solid #d9d9d2;background:#fff;padding:clamp(20px,4vw,34px)}
.withdrawal-form h2{margin:.1rem 0 1rem}
.withdrawal-scope{display:grid;gap:10px}
.withdrawal-scope>label{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;border:1px solid #d7d7d0;padding:12px 14px;background:#fff;cursor:pointer}
.withdrawal-scope>label input{margin-top:4px}
.withdrawal-scope>label span{display:grid;gap:3px}
.withdrawal-scope>label small{color:#666;line-height:1.45}
.withdrawal-review{border:1px solid #ddd;background:#fafaf7;padding:18px}
.withdrawal-review-list{display:grid;gap:0;margin:0}
.withdrawal-review-list>div{display:grid;grid-template-columns:minmax(150px,.7fr) 1.3fr;gap:18px;padding:10px 0;border-bottom:1px solid #e1e1dc}
.withdrawal-review-list>div:last-child{border-bottom:0}
.withdrawal-review-list dt{font-weight:800}
.withdrawal-review-list dd{margin:0;overflow-wrap:anywhere}
.withdrawal-declaration{margin-top:18px;padding:15px 16px;border-left:4px solid #f4ca33;background:#fff8d7}
.withdrawal-declaration p{margin:7px 0 0;line-height:1.6}
.withdrawal-actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:16px}
.withdrawal-status{margin-top:14px;line-height:1.55}
.withdrawal-status.error{padding:13px 15px;background:#fbeaea;border-left:4px solid #a52a2a;color:#781919;font-weight:700}
.withdrawal-status.warning{padding:13px 15px;background:#fff8dc;border-left:4px solid #d2a400}
.withdrawal-success{padding:10px 2px}
.withdrawal-success h2{font-size:clamp(1.8rem,4vw,2.7rem)}
.withdrawal-help{margin-top:28px;padding-top:12px;border-top:1px solid #ddd}
@media(max-width:650px){
  .withdrawal-access{right:10px;bottom:10px;min-height:44px;padding:0 14px;font-size:.88rem}
  .withdrawal-review-list>div{grid-template-columns:1fr;gap:4px}
  .withdrawal-actions{display:grid;grid-template-columns:1fr}
}


/* Bestellübersicht unmittelbar vor dem zahlungspflichtigen Absenden */
.checkout-order-summary{margin:18px 0 12px;border:2px solid #171717;background:#fff;padding:16px}
.checkout-order-summary h3{margin:0 0 12px;font-size:1.05rem}
.checkout-order-lines{list-style:none;margin:0;padding:0;display:grid}
.checkout-order-lines li{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px solid #e2e2dc}
.checkout-order-lines li>div{display:grid;gap:3px}
.checkout-order-lines li span{font-size:.82rem;color:#666}
.checkout-order-totals{display:grid;gap:7px;margin-top:12px}
.checkout-order-totals>div{display:flex;justify-content:space-between;gap:18px}
.checkout-order-total{border-top:2px solid #171717;padding-top:9px;margin-top:3px;font-size:1.05rem}
.checkout-payment-note{margin:12px 0;padding:12px 14px;background:#fff8d7;border-left:4px solid #f4ca33;line-height:1.5}
.checkout-pay-button{font-size:1rem;min-height:50px}
@media(max-width:580px){.checkout-order-lines li{align-items:flex-start}.checkout-order-lines li>strong{white-space:nowrap}}


/* Rechtliche Hinweise im Checkout und bei Bewertungen */
.checkout-legal-check,.review-consent{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:10px;
  align-items:start;
  padding:13px 14px;
  border:1px solid #d8d8d1;
  background:#fafaf6;
  line-height:1.5;
}
.checkout-legal-check input,.review-consent input{width:auto;height:auto;margin-top:4px}
.checkout-legal-check a,.review-consent a{text-decoration:underline;font-weight:750}
.eu-guarantee-notice{
  margin:16px 0;
  padding:14px;
  border:2px solid #003399;
  background:#fff;
}
.eu-guarantee-notice h3{margin:0 0 10px;font-size:1rem}
.eu-guarantee-notice img{
  display:block;
  width:min(100%,560px);
  height:auto;
  margin:0 auto;
}


/* Zentrale Rechtslinks in allen Shop-Footern */
.site-legal-links{
  grid-column:1/-1;
  display:flex;
  flex-wrap:wrap;
  gap:8px 18px;
  margin-top:12px;
  padding-top:14px;
  border-top:1px solid rgba(255,255,255,.18);
}
.site-legal-links a{font-size:.86rem;text-decoration:underline;text-underline-offset:3px}


/* Alte ausführliche Produkttexte: SEO-Inhalt bleibt erhalten, Oberfläche bleibt kompakt. */
.legacy-long-description {
  margin: 1.25rem 0;
  border: 1px solid #d9d7cf;
  border-radius: 14px;
  background: #faf9f5;
  overflow: hidden;
}
.legacy-long-description summary {
  cursor: pointer;
  padding: 1rem 1.1rem;
  font-weight: 800;
  color: #222;
  background: #f2f0e8;
}
.legacy-long-description-content {
  padding: 1rem 1.1rem 1.2rem;
  line-height: 1.65;
}
.legacy-long-description-content > :first-child {
  margin-top: 0;
}
.legacy-long-description-content > :last-child {
  margin-bottom: 0;
}
.legacy-long-description-content h2,
.legacy-long-description-content h3,
.legacy-long-description-content h4 {
  margin-top: 1.25rem;
}
.legacy-route-description {
  margin-top: 1rem;
}

.category-subgroup-preview{
  display:block;
  margin:.7rem 0 .15rem;
  font-size:.82rem;
  line-height:1.45;
  color:#4f565a;
  font-weight:700;
}
.category-card.active .category-subgroup-preview{
  color:#37474f;
}

.legacy-long-description-visible{
  margin:1.5rem 0;
  border:1px solid #d9d7cf;
  border-radius:14px;
  background:#faf9f5;
  overflow:visible;
}
.legacy-long-description-visible > h3{
  margin:0;
  padding:1rem 1.1rem;
  background:#f2f0e8;
  color:#222;
  font-size:1.15rem;
}
.legacy-product-copy + .legacy-product-copy{
  margin-top:1.6rem;
  padding-top:1.4rem;
  border-top:1px solid #d9d7cf;
}
.legacy-product-copy-variant > h4{
  margin:0 0 .85rem;
  font-size:1.05rem;
}


/* Wissensnavigation, Produkt-Wissensreiter und SEO-Wissensbereich */
.knowledge-nav{position:relative}
.knowledge-nav>summary{list-style:none;cursor:pointer;font-weight:600;font-size:.95rem;color:#fff}
.knowledge-nav>summary::-webkit-details-marker{display:none}
.knowledge-nav>summary::after{content:" ▾";color:var(--cyan);font-size:.78em}
.knowledge-nav[open]>summary{color:var(--cyan)}
.knowledge-nav-menu{position:absolute;top:calc(100% + 18px);left:-18px;min-width:300px;padding:10px;background:#171717;border:1px solid #393939;box-shadow:0 16px 35px rgba(0,0,0,.3);display:grid;z-index:100}
.main-nav .knowledge-nav-menu a{padding:9px 12px;border-bottom:1px solid #2b2b2b;white-space:nowrap}
.main-nav .knowledge-nav-menu a:last-child{border-bottom:0}
.main-nav .knowledge-nav-menu a strong{display:block;font-size:.9rem}
.main-nav .knowledge-nav-menu a small{display:block;color:#aaa;margin-top:2px;font-size:.72rem;font-weight:500}
.product-info-tabs{display:flex;gap:4px;flex-wrap:wrap;border-bottom:1px solid var(--line);margin:-6px 0 24px}
.product-info-tabs button{appearance:none;border:1px solid var(--line);border-bottom:0;background:#f3f3ef;color:#222;padding:12px 16px;font:inherit;font-weight:800;cursor:pointer}
.product-info-tabs button[aria-selected="true"]{background:#171717;color:#fff;border-color:#171717}
.product-info-tabs button:focus-visible{outline:3px solid rgba(86,199,238,.35);outline-offset:2px}
.product-tab-panel[hidden]{display:none}
.product-tab-panel{min-height:120px}
.product-knowledge-intro{margin:0 0 18px;color:var(--muted)}
.product-knowledge-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.product-knowledge-card{border:1px solid var(--line);background:#f8f8f5;padding:18px}
.product-knowledge-card h4{font-size:1.02rem;margin:0 0 8px}
.product-knowledge-card p{margin:0 0 12px;line-height:1.55;color:#444}
.product-knowledge-card a{font-weight:800;color:#111;text-decoration-thickness:2px;text-underline-offset:3px}
.product-reviews{margin-top:30px;padding-top:28px;border-top:1px solid var(--line)}
.knowledge-section{padding:74px 0;background:#f4f4f1;border-top:1px solid var(--line)}
.knowledge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.knowledge-card{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);padding:22px;text-decoration:none;color:inherit;min-height:190px}
.knowledge-card:hover,.knowledge-card:focus-visible{border-color:var(--cyan);box-shadow:0 8px 24px rgba(0,0,0,.07)}
.knowledge-card .knowledge-number{font-size:1.8rem;font-weight:900;color:#b5b5af}
.knowledge-card strong{font-size:1.12rem}
.knowledge-card span{color:var(--muted);line-height:1.5}
.knowledge-card em{margin-top:auto;font-style:normal;font-weight:800;color:#111}
.knowledge-hub-intro{max-width:850px}
.knowledge-related{margin-top:38px;padding-top:26px;border-top:1px solid var(--line)}
.knowledge-related-links{display:flex;gap:10px;flex-wrap:wrap}
.knowledge-related-links a{display:inline-flex;padding:9px 12px;border:1px solid var(--line);background:#fff;text-decoration:none;font-weight:750;color:#111}
.knowledge-related-links a:hover{border-color:#111}
@media(max-width:980px){.knowledge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:850px){
  .knowledge-nav{border-bottom:1px solid #2c2c2c}
  .knowledge-nav>summary{padding:12px 8px}
  .knowledge-nav-menu{position:static;min-width:0;border:0;border-top:1px solid #2c2c2c;box-shadow:none;padding:0 0 6px 12px}
  .main-nav .knowledge-nav-menu a{white-space:normal;padding:10px 8px}
}
@media(max-width:620px){
  .product-info-tabs{display:grid;grid-template-columns:1fr}
  .product-info-tabs button{border-bottom:1px solid var(--line);text-align:left}
  .product-knowledge-grid,.knowledge-grid{grid-template-columns:1fr}
}


/* Original-Katalog Hervorhebung */
.quick-catalog-feature{
  background:#fff4c8;
  border:1px solid #e0b62f;
  border-radius:7px;
  padding:7px 11px;
  display:flex;
  align-items:center;
  gap:9px;
  color:#111;
  box-shadow:0 2px 0 rgba(0,0,0,.04);
}
.quick-catalog-feature:hover,.quick-catalog-feature:focus-visible{background:#ffe98e;border-color:#111}
.quick-catalog-icon{font-size:1.35rem;line-height:1}
.quick-catalog-copy{display:flex;flex-direction:column;line-height:1.05}
.quick-catalog-copy strong{font-size:.82rem}
.quick-catalog-copy small{font-size:.68rem;color:#555;font-weight:700;margin-top:3px}
.quick-catalog-arrow{font-weight:900;font-size:1.05rem;margin-left:2px}

.catalog-hero-link{
  display:inline-flex;
  align-items:center;
  gap:10px;
  color:#fff;
  text-decoration:none;
  border:1px solid #4b4b4b;
  padding:10px 13px;
  background:rgba(255,255,255,.035);
}
.catalog-hero-link>span:first-child{font-size:1.45rem}
.catalog-hero-link>span:nth-child(2){display:flex;flex-direction:column;line-height:1.1}
.catalog-hero-link strong{font-size:.9rem}
.catalog-hero-link small{font-size:.7rem;color:#bdbdb8;margin-top:4px}
.catalog-hero-link b{font-size:1.1rem;margin-left:3px}
.catalog-hero-link:hover,.catalog-hero-link:focus-visible{border-color:#f5c84c;background:rgba(245,200,76,.08)}

.original-catalog-section{padding:62px 0;background:#171717;border-top:1px solid #292929;border-bottom:1px solid #292929}
.original-catalog-card{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:28px;
  align-items:center;
  color:#fff;
  text-decoration:none;
  border:1px solid #3c3c3c;
  border-left:5px solid #f5c84c;
  padding:30px 34px;
  background:linear-gradient(135deg,#1d1d1d 0%,#242424 100%);
  transition:transform .16s ease,border-color .16s ease,background .16s ease;
}
.original-catalog-card:hover,.original-catalog-card:focus-visible{
  transform:translateY(-2px);
  border-color:#f5c84c;
  background:linear-gradient(135deg,#212121 0%,#292929 100%);
}
.original-catalog-symbol{
  width:78px;height:78px;
  display:grid;place-items:center;
  border-radius:50%;
  background:#f5c84c;
  font-size:2.5rem;
  box-shadow:0 10px 24px rgba(0,0,0,.25);
}
.original-catalog-copy .eyebrow{margin:0 0 7px;color:#f5c84c}
.original-catalog-copy h2{margin:0 0 10px;color:#fff;font-size:clamp(1.55rem,2.6vw,2.55rem)}
.original-catalog-copy p{margin:0;color:#d2d2cd;max-width:820px;line-height:1.6}
.original-catalog-action{display:inline-flex;gap:10px;align-items:center;margin-top:18px;font-weight:900;color:#fff;text-decoration:underline;text-underline-offset:5px}
.original-catalog-pages{
  min-width:112px;
  text-align:center;
  border-left:1px solid #444;
  padding-left:28px;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.original-catalog-pages span{font-size:3.3rem;line-height:.95;font-weight:900;color:#f5c84c}
.original-catalog-pages small{text-transform:uppercase;letter-spacing:.14em;color:#bdbdb8;margin-top:7px;font-weight:800}
@media(max-width:760px){
  .original-catalog-card{grid-template-columns:auto 1fr;padding:24px;gap:18px}
  .original-catalog-pages{display:none}
  .original-catalog-symbol{width:58px;height:58px;font-size:1.9rem}
}
@media(max-width:520px){
  .original-catalog-card{grid-template-columns:1fr}
  .original-catalog-symbol{width:54px;height:54px}
  .quick-catalog-copy small{display:none}
}


/* Original-Katalog oben deutlich absetzen */
.quick-search-box .quick-catalog-feature{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  gap:9px;
  margin-left:10px;
  padding:7px 12px;
  border:2px solid #111;
  border-left:2px solid #111;
  border-radius:7px;
  background:#f5c84c;
  color:#111;
  box-shadow:0 2px 0 rgba(0,0,0,.16);
  font-size:.8rem;
  white-space:nowrap;
}
.quick-search-box .quick-catalog-feature:hover,
.quick-search-box .quick-catalog-feature:focus-visible{
  background:#ffd966;
  color:#111;
  border-color:#111;
  transform:translateY(-1px);
}
.quick-search-box .quick-catalog-feature .quick-catalog-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.3rem;
  line-height:1;
  color:#111;
}
.quick-search-box .quick-catalog-feature .quick-catalog-copy{
  display:flex;
  flex-direction:column;
  gap:2px;
  line-height:1.05;
  text-align:left;
}
.quick-search-box .quick-catalog-feature .quick-catalog-copy strong{
  display:block;
  color:#111;
  font-size:.82rem;
  font-weight:900;
}
.quick-search-box .quick-catalog-feature .quick-catalog-copy small{
  display:block;
  color:#332900;
  font-size:.66rem;
  font-weight:800;
}
.quick-search-box .quick-catalog-feature .quick-catalog-arrow{
  display:inline-block;
  color:#111;
  font-size:1rem;
  font-weight:900;
}
@media(max-width:850px){
  .quick-search-box .quick-catalog-feature{margin-left:6px;padding:7px 10px}
}

/* Sachliche Erklärung des tatsächlich gewählten Besatzes. */
.bristle-selection-info { margin: 8px 0 14px; padding: 9px 0; border-top: 1px solid #d7d7d1; border-bottom: 1px solid #d7d7d1; }
.bristle-selection-info strong { display: block; margin-bottom: 4px; font-size: .9rem; }
.bristle-selection-info p { margin: 0; color: #434343; font-size: .88rem; line-height: 1.5; }
.material-selection-help { max-width: 68ch; line-height: 1.5; }

/* Besenstielberatung – tabellarische, auf Mobilgeräten scrollbar gehaltene Zuordnung. */
.stem-guide-scroll { max-width: 100%; overflow-x: auto; margin: 14px 0 10px; -webkit-overflow-scrolling: touch; }
.stem-guide-table { width: 100%; border-collapse: collapse; font-size: .95rem; line-height: 1.5; background: #fff; }
.stem-guide-table th, .stem-guide-table td { text-align: left; vertical-align: top; padding: 12px 13px; border: 1px solid #deded9; }
.stem-guide-table thead th { background: #f3f2ee; font-weight: 800; }
.stem-guide-table tbody th { font-weight: 750; min-width: 82px; }
.stem-guide-table a { text-decoration: underline; text-underline-offset: 2px; }
.stem-guide-table a:focus-visible { outline: 3px solid #1659a7; outline-offset: 3px; }
@media (max-width: 650px) { .stem-guide-table { min-width: 640px; font-size: .86rem; } .stem-guide-table th, .stem-guide-table td { padding: 10px; } }


/* Checkout: kompakter EU-Gewährleistungshinweis */
.eu-guarantee-compact{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:12px;
  margin:18px 0 14px;
  padding:11px 13px;
  border:1px solid #d9b53c;
  border-left:4px solid var(--yellow);
  background:#fff9df;
  color:#171717;
}
.eu-guarantee-mark{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#1f3f8f;
  color:#fff;
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.04em;
}
.eu-guarantee-compact>div{
  display:flex;
  flex-direction:column;
  min-width:0;
  gap:2px;
}
.eu-guarantee-compact strong{font-size:.9rem}
.eu-guarantee-compact>div span{font-size:.74rem;color:#666}
.eu-guarantee-open{
  appearance:none;
  border:1px solid #171717;
  background:#fff;
  color:#171717;
  padding:8px 10px;
  font:inherit;
  font-size:.78rem;
  font-weight:900;
  cursor:pointer;
  white-space:nowrap;
}
.eu-guarantee-open:hover,.eu-guarantee-open:focus-visible{background:#171717;color:#fff}

.guarantee-notice-dialog{
  width:min(760px,calc(100vw - 28px));
  max-height:92vh;
  border:0;
  padding:0;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.guarantee-notice-dialog::backdrop{background:rgba(0,0,0,.55)}
.guarantee-notice-dialog .dialog-header,
.guarantee-notice-dialog>p,
.guarantee-notice-dialog>button{margin-left:22px;margin-right:22px}
.guarantee-notice-dialog .dialog-header{padding-top:18px}
.guarantee-notice-dialog img{
  display:block;
  width:min(100%,700px);
  height:auto;
  margin:12px auto 18px;
}
.guarantee-notice-dialog>button{width:calc(100% - 44px);margin-bottom:22px}

/* Freiwillige Warenkorb-Erinnerung */
.cart-recovery-optin{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin:14px 0 4px;
  padding:10px 12px;
  border:1px solid #deded8;
  background:#fafaf7;
  cursor:pointer;
}
.cart-recovery-optin input{width:auto;height:auto;margin-top:3px;flex:0 0 auto}
.cart-recovery-optin span{display:flex;flex-direction:column;gap:2px}
.cart-recovery-optin strong{font-size:.86rem}
.cart-recovery-optin small{font-size:.73rem;line-height:1.45;color:#666}
.cart-recovery-status{min-height:1em;margin:3px 0 10px;font-size:.72rem;color:#666}
.cart-recovery-status.success{color:#28713d;font-weight:700}
.cart-recovery-status.error{color:#9b2f27;font-weight:700}

@media(max-width:620px){
  .eu-guarantee-compact{grid-template-columns:auto 1fr}
  .eu-guarantee-open{grid-column:1/-1;width:100%}
}


/* Checkout v2 – drei klare Schritte */
.checkout-shipping-compact{
  margin:14px 0 18px;
  padding:11px 13px;
  border-left:4px solid var(--yellow);
  background:#fff8dc;
  line-height:1.5;
}
.checkout-shipping-compact a{
  font-weight:850;
  text-decoration:underline;
  text-underline-offset:3px;
  margin-left:4px;
}
.checkout-progress{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:8px 0 22px;
}
.checkout-progress-step{
  min-width:0;
  display:flex;
  align-items:center;
  gap:9px;
  padding:11px 12px;
  border:1px solid #d7d7d1;
  background:#f5f5f1;
  color:#62625e;
}
.checkout-progress-step span{
  width:30px;
  height:30px;
  flex:0 0 auto;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#777;
  color:#fff;
  font-weight:900;
  font-size:.82rem;
}
.checkout-progress-step strong{
  min-width:0;
  font-size:.83rem;
  line-height:1.25;
}
.checkout-progress-step.is-active{
  border-color:#171717;
  background:#fff;
  color:#171717;
}
.checkout-progress-step.is-active span{
  background:#171717;
}
.checkout-progress-step.is-complete{
  color:#2f5e3a;
  border-color:#a8c4ae;
  background:#f3faf4;
}
.checkout-progress-step.is-complete span{
  background:#3f7f4b;
}
.checkout-step[hidden]{display:none!important}
.checkout-step-intro{margin:0 0 10px;color:#555;line-height:1.55}
.checkout-step-actions{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-top:20px;
  padding-top:16px;
  border-top:1px solid #e0e0da;
}
.checkout-step-actions-end{justify-content:flex-end}
.checkout-step-actions .primary-button,
.checkout-step-actions .secondary-button{
  min-height:46px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.checkout-final-actions .checkout-pay-button{flex:1}
#checkoutDialog .dialog-header .eyebrow{margin:0 0 3px}
#checkoutDialog .dialog-header h2{margin:0}
@media(max-width:650px){
  .checkout-progress{gap:5px}
  .checkout-progress-step{display:grid;justify-items:center;text-align:center;padding:9px 5px;gap:5px}
  .checkout-progress-step strong{font-size:.7rem}
  .checkout-progress-step span{width:28px;height:28px}
  .checkout-step-actions{display:grid;grid-template-columns:1fr}
  .checkout-step-actions .primary-button,
  .checkout-step-actions .secondary-button{width:100%}
  .checkout-final-actions .secondary-button{order:2}
}

/* Lieferanfrage */
.delivery-request-shell{
  max-width:900px;
  margin:0 auto;
}
.delivery-request-note{
  margin:0 0 24px;
  padding:18px 20px;
  border-left:4px solid var(--yellow);
  background:#fff8dc;
  line-height:1.6;
}
.delivery-request-example{
  margin:24px 0;
  padding:18px 20px;
  border:1px solid #ddd;
  background:#fafaf7;
}
.delivery-request-example h2{margin-top:0}
.delivery-request-form{
  display:grid;
  gap:16px;
  padding:24px;
  border:1px solid #d9d9d3;
  background:#fff;
}
.delivery-request-form label{
  display:grid;
  gap:7px;
  font-weight:800;
}
.delivery-request-form input,
.delivery-request-form select,
.delivery-request-form textarea{
  width:100%;
  box-sizing:border-box;
}
.delivery-request-form textarea{min-height:150px;resize:vertical}
.delivery-request-form .honeypot{
  position:absolute!important;
  left:-10000px!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
}
.delivery-request-status{
  margin:0;
  min-height:1.4em;
  font-weight:750;
}
.delivery-request-status.ok{color:#28713d}
.delivery-request-status.error{color:#9b2f27}
