/* ==========================================================================
   Graskind – Unterseiten (So funktioniert's, Produkte, Kontakt, Händler, Rechtliches, 404)
   ========================================================================== */

.page-head { position: relative; padding: calc(var(--header-h) + clamp(3rem, 7vw, 6rem)) 0 clamp(2rem, 5vw, 3.5rem); }
.page-head .display { margin-bottom: 1.4rem; font-size: clamp(2.5rem, 1.4rem + 4.6vw, 5.4rem); }
.page-head .lead { max-width: 52ch; }
.page-head--legal .display { font-size: clamp(2.4rem, 1.6rem + 3.4vw, 4.2rem); }
.page-head--center { text-align: center; min-height: 70svh; display: grid; align-items: center; }
.page-head--center .lead { margin-inline: auto; }
.page-head--center .cta-row { justify-content: center; }
.page-head::after { /* Graskante */
  content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: linear-gradient(90deg, transparent, var(--line-strong) 20%, var(--line-strong) 80%, transparent);
}
.page-head--split::after { display: none; }

.narrow { width: min(100% - 2 * var(--gutter), 52rem); margin-inline: auto; }
.split { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(2rem, 5vw, 5rem); align-items: center; }
@media (max-width: 900px) { .split { grid-template-columns: 1fr; } }
.cta-row { display: flex; flex-wrap: wrap; gap: .6rem; margin-top: 1.6rem; }
.page-toc { margin-top: 1.8rem; }

.photo-card { margin: 0; padding: 10px; border-radius: 10px; background: var(--paper-white); box-shadow: var(--shadow-3); rotate: 2deg; }
.photo-card img { width: 100%; border-radius: 6px; }

.section { padding: clamp(3.5rem, 7vw, 6rem) 0; }
.section--flush { padding-top: 0; }
.section--tint { background: var(--gk-green-mist); background-image: var(--tex-fibers); background-size: 512px; background-blend-mode: multiply; }
.section .h2 { margin-bottom: clamp(1.5rem, 3vw, 2.4rem); }

/* Schritte */
.steps-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.6rem); counter-reset: s; }
.steps-grid li { position: relative; padding: 1.4rem 1.3rem 1.5rem; border-radius: var(--radius-l); background: var(--paper-white); box-shadow: 0 0 0 1px var(--line), var(--shadow-1); }
.steps-grid h3 { font-size: 1.2rem; margin: .9rem 0 .5rem; }
.steps-grid p { margin: 0; color: var(--ink-soft); }
.steps-grid__n { display: inline-grid; place-items: center; width: 2.4rem; height: 2.4rem; border-radius: 50%; background: var(--gk-yellow); font-weight: 800; font-size: 1.1rem; }
@media (max-width: 1000px) { .steps-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .steps-grid { grid-template-columns: 1fr; } }

/* Infokarten */
.info-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr)); gap: clamp(1rem, 2vw, 1.5rem); }
.info-card { display: flex; flex-direction: column; gap: .5rem; padding: 1.4rem; border-radius: var(--radius-l); background: var(--paper-white); box-shadow: 0 0 0 1px var(--line), var(--shadow-1); }
.info-card h2, .info-card h3 { font-size: 1.2rem; margin: .4rem 0 .1rem; }
.info-card p { margin: 0; color: var(--ink-soft); flex: 1; }
.info-card__img { height: 120px; width: auto; align-self: flex-start; object-fit: contain; filter: drop-shadow(0 8px 10px rgba(30, 22, 6, .2)); }
.info-card__img--card { border-radius: 6% / 4%; }
.info-card__img--poster { height: 140px; }

/* FAQ */
.faq { display: grid; gap: .6rem; margin-bottom: 2.5rem; }
.faq details { border-radius: 14px; background: var(--paper-white); box-shadow: 0 0 0 1px var(--line); }
.faq summary {
  position: relative; list-style: none; cursor: pointer; padding: 1.05rem 3.2rem 1.05rem 1.2rem; font-weight: 700; font-size: 1.06rem;
  border-radius: 14px;
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after {
  content: ""; position: absolute; right: 1.2rem; top: 50%; width: 12px; height: 12px; margin-top: -8px;
  border-right: 2.5px solid var(--gk-green); border-bottom: 2.5px solid var(--gk-green); rotate: 45deg; transition: rotate .3s var(--ease-out);
}
.faq details[open] summary::after { rotate: 225deg; margin-top: -2px; }
.faq details p { margin: 0; padding: 0 1.2rem 1.2rem; color: var(--ink-soft); }
.note-card { padding: 1.4rem 1.5rem; border-radius: var(--radius-l); background: var(--gk-green-mist); border-left: 6px solid var(--gk-green); }
.note-card .h3 { margin-bottom: .5rem; }
.note-card p { margin: 0; }

/* Kontakt */
.contact-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(1rem, 2vw, 1.5rem); margin-bottom: 2.5rem; }
.contact-card {
  display: grid; gap: .3rem; padding: 1.5rem; border-radius: var(--radius-l); background: var(--paper-white); color: var(--ink); text-decoration: none;
  box-shadow: 0 0 0 1px var(--line), var(--shadow-1); transition: transform .3s var(--ease-out), box-shadow .3s;
}
a.contact-card:hover { color: var(--ink); transform: translateY(-3px); box-shadow: 0 0 0 2px var(--gk-green), var(--shadow-2); }
.contact-card__icon { display: grid; place-items: center; width: 48px; height: 48px; margin-bottom: .6rem; border-radius: 12px; background: var(--gk-green); color: #fff; }
.contact-card__icon .icon { width: 24px; height: 24px; }
.contact-card__label { font-size: var(--fs-label); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; color: var(--ink-mute); }
.contact-card__value { font-size: 1.15rem; font-weight: 800; word-break: break-word; }
@media (max-width: 860px) { .contact-grid { grid-template-columns: 1fr; } }

/* Fließtext (Rechtliches) */
.prose { max-width: 46rem; }
.prose h2 { font-size: clamp(1.2rem, 1.05rem + .6vw, 1.5rem); margin: 2.2rem 0 .7rem; letter-spacing: -.01em; }
.prose h2:first-child { margin-top: 0; }
.prose p, .prose li { color: var(--ink-soft); }
.facts--big li { font-size: 1.08rem; margin-bottom: .4rem; }

/* Produktseite */
.shelf--page { padding-top: clamp(1rem, 3vw, 2rem); scroll-margin-top: calc(var(--header-h) + 12px); }
.shelf--page .shelf__head .h2 { margin: 0; font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem); }
.detail-list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 330px), 1fr)); gap: clamp(1rem, 2vw, 1.4rem); }
.product--detailed { scroll-margin-top: calc(var(--header-h) + 16px); }
.product--detailed:target { box-shadow: 0 0 0 3px var(--gk-green), var(--shadow-2); background: var(--paper-white); }
.product--detailed .facts { margin: .3rem 0; }
.product__digital { display: flex; flex-wrap: wrap; gap: .35rem; align-items: center; margin: 0; }
.product__digital .icon { color: var(--gk-green); }
.cards-detail { margin-top: 2rem; padding: 1rem 1.2rem; border-radius: var(--radius-l); background: var(--paper-white); box-shadow: 0 0 0 1px var(--line); }
.cards-detail summary { cursor: pointer; font-weight: 800; font-size: 1.08rem; }
.cards-detail[open] summary { margin-bottom: .8rem; }
.table-scroll { overflow-x: auto; margin: 1.4rem 0 .4rem; border-radius: 8px; }
.values--deck { font-size: .92rem; }
.values--deck caption { font-size: .95rem; color: var(--ink); letter-spacing: .02em; text-transform: none; font-weight: 800; }
.values--deck th, .values--deck td { padding: .45rem .7rem .45rem 0; white-space: nowrap; text-align: left; }
.values--deck thead th { font-size: .78rem; color: var(--ink-mute); font-weight: 700; }
.values--deck td { font-weight: 700; }

/* ---------- Händlerbereich (/geschaeftskunden/) ---------- */
.b2b-welcome { margin: .2rem 0 1rem; font-size: 1.12rem; }
.b2b-success { max-width: 46rem; margin: 0 0 1.6rem; }
.b2b-success .h3 { margin: 0 0 .4rem; }
.b2b-terms { list-style: none; margin: 1.8rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); gap: .6rem; max-width: 70rem; }
.b2b-terms li {
  display: flex; gap: .7rem; align-items: flex-start; padding: .85rem 1rem; border-radius: var(--radius);
  background: var(--paper-white); box-shadow: 0 0 0 1px var(--line); font-size: .95rem; line-height: 1.35; color: var(--ink-soft);
}
.b2b-terms strong { display: block; color: var(--ink); }
.b2b-terms .icon { margin-top: .1rem; color: var(--gk-green); }

.b2b-shop { padding-top: clamp(2.2rem, 5vw, 3.5rem); scroll-margin-top: calc(var(--header-h) + 8px); }
.b2b-shop__head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .5rem 2rem; margin-bottom: 1.1rem; }
.b2b-shop__head .h2 { margin: 0; font-size: clamp(1.8rem, 1.2rem + 2vw, 2.8rem); }
.b2b-shop__head p { margin: 0; max-width: 56ch; }
.b2b-filter { margin-bottom: .4rem; }
.b2b-cat { padding-top: clamp(1.6rem, 3vw, 2.4rem); scroll-margin-top: calc(var(--header-h) + 12px); }
.b2b-cat__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem 1rem; margin-bottom: 1rem; padding-bottom: .6rem; border-bottom: 2px solid var(--line); }
.b2b-cat__head .h3 { margin: 0; }
.b2b-cat__head p { margin: 0; color: var(--ink-mute); font-size: .95rem; }

.b2b-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 360px), 1fr)); gap: clamp(.8rem, 1.6vw, 1.2rem); }
.b2b-card {
  display: grid; grid-template-columns: clamp(92px, 26%, 128px) minmax(0, 1fr); grid-template-rows: auto 1fr; gap: .7rem 1rem; align-items: start;
  padding: 1rem; border-radius: var(--radius-l); background: var(--paper-white); box-shadow: 0 0 0 1px var(--line), var(--shadow-1);
}
.b2b-card__offers { grid-column: 2; display: grid; gap: .5rem; min-width: 0; }
/* Cover sind freigestellt bzw. randlos – ohne eigenen Hintergrund, oben bündig zum Titel */
.b2b-card__media { grid-row: 1 / span 2; display: grid; place-items: start center; aspect-ratio: 3 / 4; }
.b2b-card__media--tall { aspect-ratio: 5 / 8; }
.b2b-card__media img { width: 100%; height: 100%; object-fit: contain; object-position: 50% 0; filter: drop-shadow(0 6px 8px rgba(30, 22, 6, .2)); }
.b2b-card__noimg .icon { width: 36px; height: 36px; color: var(--gk-green-deep); opacity: .5; }
.b2b-card__body { display: flex; flex-direction: column; gap: .45rem; min-width: 0; }
.b2b-card__body .product__cat { margin: 0; }
.b2b-card__name { margin: 0; font-size: 1.1rem; line-height: 1.2; letter-spacing: -.01em; }
.b2b-card__short { margin: 0; font-size: .9rem; color: var(--ink-soft); }
.b2b-card__facts summary { cursor: pointer; width: fit-content; font-size: .86rem; font-weight: 700; color: var(--gk-green-deep); }
.b2b-card__facts[open] summary { margin-bottom: .45rem; }
.b2b-card__facts .facts { margin-bottom: .45rem; }

.b2b-offer {
  display: grid; gap: .35rem; padding: .7rem .75rem; border-radius: 12px;
  background: var(--paper); box-shadow: inset 0 0 0 1px var(--line); transition: background-color .2s, box-shadow .2s;
}
.b2b-offer.is-selected { background: var(--gk-green-mist); box-shadow: inset 0 0 0 2px var(--gk-green); }
.b2b-offer__variant { margin: 0; font-size: .74rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); }
.b2b-offer__prices { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: .1rem .9rem; }
.b2b-offer__prices p { margin: 0; font-variant-numeric: tabular-nums; }
.b2b-ek span, .b2b-uvp span { margin-right: .3rem; font-size: .7rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--ink-mute); }
.b2b-ek strong { font-size: 1.38rem; font-weight: 800; letter-spacing: -.01em; color: var(--gk-green-deep); }
.b2b-offer--na .b2b-ek strong { font-size: 1rem; }
.b2b-uvp { font-weight: 700; }
.b2b-offer__meta { margin: 0; font-size: .78rem; color: var(--ink-mute); }
.b2b-gtin { font-variant-numeric: tabular-nums; letter-spacing: .02em; user-select: all; }

.qty { display: flex; align-items: center; gap: .35rem; margin-top: .15rem; }
.qty__label { margin-right: auto; font-size: .86rem; font-weight: 700; }
.qty__btn {
  display: grid; place-items: center; width: 40px; height: 40px; padding: 0; border-radius: 10px;
  border: 1.5px solid var(--line-strong); background: var(--paper-white); font-size: 1.3rem; font-weight: 700; line-height: 1;
}
.qty__btn:hover { border-color: var(--gk-green); color: var(--gk-green-deep); }
.qty__input {
  width: 4.4rem; height: 40px; padding: 0 .4rem; border-radius: 10px; border: 1.5px solid var(--line-strong); background: var(--paper-white);
  text-align: center; font-size: 1.05rem; font-weight: 800; font-variant-numeric: tabular-nums; -moz-appearance: textfield; appearance: textfield;
}
.qty__input::-webkit-outer-spin-button, .qty__input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.qty__input:focus-visible { border-color: var(--gk-green); }
@media (pointer: coarse) { .qty__btn { width: 44px; height: 44px; } .qty__input { height: 44px; } }
/* sehr schmale Preisbox: „Menge“ nur noch für Screenreader, Bedienelemente rechtsbündig */
.b2b-offer { container-type: inline-size; }
@container (max-width: 225px) {
  .qty__label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
  .qty { justify-content: flex-end; }
}

.b2b-pricelist { margin-top: clamp(2rem, 4vw, 3rem); }
.b2b-pricelist > p { margin: .4rem 0 .8rem; }
.b2b-print-head { display: none; }
.b2b-table { min-width: 640px; font-size: .9rem; }
.b2b-table th, .b2b-table td { padding: .5rem .9rem .5rem 0; white-space: nowrap; }
.b2b-table td { text-align: left; font-weight: 600; }
.b2b-table thead th { font-size: .76rem; font-weight: 700; color: var(--ink-mute); }
.b2b-table tbody th { font-weight: 600; white-space: normal; }
.b2b-table__cat th { padding-top: 1.1rem; font-weight: 800; color: var(--gk-green-deep); border-bottom: 2px solid var(--line-strong); }

.b2b-order { margin-top: clamp(3rem, 6vw, 5rem); scroll-margin-top: var(--header-h); }
/* Der getönte Bestellbereich ist der letzte Abschnitt: Er reicht bis an den Fußbereich, die Wiese wächst direkt
   auf dem Grün (sonst stünde sie auf einem Papierstreifen im Abstand über dem Fußbereich). Höhe wie .site-footer__meadow. */
.page-b2b--shop .site-footer { margin-top: 0; }
.page-b2b--shop .b2b-order { padding-bottom: calc(clamp(3.5rem, 7vw, 6rem) + clamp(60px, 8vw, 120px)); }
.b2b-order__grid { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .9fr); gap: clamp(1.5rem, 4vw, 3.5rem); align-items: start; }
.b2b-order__intro { margin: -1rem 0 1.4rem; max-width: 52ch; color: var(--ink-soft); }
.b2b-fieldset { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: .9rem 1rem; margin: 0; padding: 0; border: 0; min-width: 0; }
.b2b-field { grid-column: span 6; display: grid; gap: .3rem; align-content: start; }
.b2b-field--firma, .b2b-field--name_anrede, .b2b-field--mail, .b2b-field--telefon, .b2b-field--ustid { grid-column: span 3; }
.b2b-field--plz { grid-column: span 2; }
.b2b-field--ort { grid-column: span 4; }
.b2b-field label { font-size: .92rem; font-weight: 700; }
.b2b-field label span { font-weight: 500; }
.b2b-field input, .b2b-field textarea {
  width: 100%; min-height: 48px; padding: .65rem .85rem; border-radius: 10px; border: 1.5px solid var(--line-strong);
  background: var(--paper-white); font-size: 1rem;
}
.b2b-field textarea { min-height: 96px; resize: vertical; }
.b2b-field input:focus-visible, .b2b-field textarea:focus-visible { border-color: var(--gk-green); }
.b2b-field [aria-invalid="true"] { border-color: var(--chili); background: #FFF6F2; }
.b2b-field__err { margin: 0; font-size: .88rem; font-weight: 600; color: #9A2E1C; }
.b2b-errors { margin-bottom: 1.4rem; padding: 1rem 1.2rem; border-radius: var(--radius); background: #FFF1EB; border-left: 6px solid var(--chili); }
.b2b-errors p { margin: 0; }
.b2b-errors ul { margin: .4rem 0 0; padding-left: 1.2rem; }
.b2b-errors a { color: #7E2617; }
.b2b-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.b2b-legal { margin: 1.2rem 0 0; max-width: 60ch; }

.b2b-summary {
  position: sticky; top: calc(var(--header-h) + 16px); display: grid; gap: .9rem; padding: 1.4rem;
  border-radius: var(--radius-l); background: var(--paper-white); box-shadow: 0 0 0 1px var(--line), var(--shadow-2);
}
.b2b-summary .h3 { margin: 0; }
.b2b-summary > p { margin: 0; }
.b2b-lines { list-style: none; margin: 0; padding: 0; display: grid; gap: .35rem; max-height: 40vh; overflow: auto; font-size: .92rem; }
.b2b-lines li, .b2b-sums div { display: flex; justify-content: space-between; gap: 1rem; }
.b2b-lines li span:last-child, .b2b-sums dd { margin: 0; font-weight: 700; font-variant-numeric: tabular-nums; white-space: nowrap; }
.b2b-sums { display: grid; gap: .3rem; margin: .7rem 0 0; padding-top: .7rem; border-top: 1px dashed var(--line-strong); font-size: .95rem; }
.b2b-sums dt { color: var(--ink-soft); }
.b2b-sums__total { margin-top: .3rem; padding-top: .6rem; border-top: 2px solid var(--ink); font-size: 1.15rem; }
.b2b-sums__total dt, .b2b-sums__total dd { color: var(--ink); font-weight: 800; }
.b2b-summary__empty { margin: 0; color: var(--ink-mute); }
.b2b-summary__hint { padding: .6rem .8rem; border-radius: 10px; background: var(--gk-green-mist); font-size: .9rem; font-weight: 600; }
.b2b-summary__hint.is-warning { background: #FFF4D1; color: #5E4500; }

.b2b-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 55; padding: .6rem var(--gutter) max(.6rem, env(safe-area-inset-bottom)); pointer-events: none; }
.b2b-bar__inner {
  pointer-events: auto; display: flex; align-items: center; justify-content: space-between; gap: 1rem; max-width: 720px; margin: 0 auto;
  padding: .5rem .5rem .5rem 1.1rem; border-radius: 16px; background: var(--ink); color: var(--paper-white); box-shadow: var(--shadow-3);
}
.b2b-bar__text { display: grid; margin: 0; line-height: 1.25; font-variant-numeric: tabular-nums; }
.b2b-bar__count { font-size: .82rem; font-weight: 600; opacity: .78; }
.b2b-bar__sum { font-size: 1.08rem; font-weight: 800; white-space: nowrap; }
.b2b-bar__sub { opacity: .7; font-size: .85rem; font-weight: 500; }
.b2b-bar .btn--primary { --btn-bg: var(--gk-yellow); --btn-fg: var(--ink); --btn-bd: var(--gk-yellow); flex: none; }
body.has-b2b-bar .site-footer__base { padding-bottom: calc(1.6rem + 76px); } /* Platz für die Leiste, im Grün des Fußbereichs */

@media (max-width: 900px) {
  .b2b-order__grid { grid-template-columns: 1fr; }
  .b2b-summary { position: static; }
}
@media (max-width: 560px) {
  .b2b-card { grid-template-columns: 88px minmax(0, 1fr); gap: .8rem; padding: .85rem; }
  .b2b-card__media { grid-row: 1; }
  .b2b-card__offers { grid-column: 1 / -1; }
  .b2b-field--firma, .b2b-field--name_anrede, .b2b-field--mail, .b2b-field--telefon, .b2b-field--ustid { grid-column: span 6; }
  .b2b-bar__inner { padding-left: .9rem; }
}
@media (max-width: 400px) { .b2b-bar__long { display: none; } }

/* ---------- Verwaltung Händlerbereich (/geschaeftskunden/verwaltung/) ---------- */
.adm-head { position: sticky; top: 0; z-index: 50; background: rgba(251, 247, 238, .95); box-shadow: 0 1px 0 var(--line); }
.adm-head__inner { display: flex; align-items: center; gap: 1rem; width: min(100% - 2 * var(--gutter), 1400px); margin-inline: auto; min-height: 60px; }
.adm-head .brand img { width: 120px; }
.adm-head__title { margin: 0 auto 0 0; font-weight: 700; color: var(--ink-soft); }
.adm-head form { margin: 0; }
.adm { width: min(100% - 2 * var(--gutter), 1400px); margin: 0 auto; padding: 1.6rem 0 5rem; }
.adm .h2 { margin: 1.4rem 0 .8rem; font-size: clamp(1.7rem, 1.3rem + 1.4vw, 2.4rem); }
.adm-intro { max-width: 70ch; margin: 0 0 1.2rem; color: var(--ink-soft); }
.adm-flash { margin: 0 0 1.2rem; padding: .85rem 1.1rem; border-radius: var(--radius); background: var(--gk-green-mist); border-left: 6px solid var(--gk-green); font-weight: 600; }
.adm-flash--err { background: #FFF1EB; border-left-color: var(--chili); }
.adm-login { max-width: 26rem; margin: 3rem auto; padding: 1.6rem; border-radius: var(--radius-l); background: var(--paper-white); box-shadow: 0 0 0 1px var(--line), var(--shadow-2); display: grid; gap: 1rem; }
.adm-login form { display: grid; gap: 1rem; }
.adm-login pre { margin: 0; padding: .7rem .9rem; border-radius: 8px; background: var(--paper-2); white-space: pre-wrap; }
.adm-tabs { margin-bottom: .4rem; }
.adm-filter { margin-bottom: 1.2rem; }
.adm-orders, .adm-dealers { display: grid; gap: .6rem; }
.adm-order { border-radius: 14px; background: var(--paper-white); box-shadow: 0 0 0 1px var(--line); scroll-margin-top: 80px; }
.adm-order > summary {
  display: grid; grid-template-columns: 4rem auto minmax(0, 1fr) auto auto; align-items: center; gap: .4rem 1rem;
  padding: .85rem 1.1rem; cursor: pointer; list-style: none; border-radius: 14px;
}
.adm-dealers .adm-order > summary { grid-template-columns: minmax(0, 1fr) auto; }
.adm-order > summary::-webkit-details-marker { display: none; }
.adm-order[open] > summary { border-bottom: 1px solid var(--line); border-radius: 14px 14px 0 0; }
.adm-order__id { font-weight: 800; font-variant-numeric: tabular-nums; }
.adm-order__date, .adm-order__sum { font-variant-numeric: tabular-nums; white-space: nowrap; }
.adm-order__sum { font-weight: 800; }
.adm-order__who { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adm-order__body { display: grid; gap: 1rem; padding: 1rem 1.1rem 1.2rem; }
.adm-order__cols { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.adm-order__cols p { margin: 0; }
.adm-label { margin: 0 0 .25rem; font-size: var(--fs-label); font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ink-mute); }
.adm-badge { padding: .2rem .65rem; border-radius: 99px; font-size: .8rem; font-weight: 700; background: var(--paper-2); }
.adm-badge--neu { background: var(--gk-yellow); }
.adm-badge--bearbeitet { background: #CFE3F2; }
.adm-badge--versendet { background: var(--gk-green-light); }
.adm-badge--storniert { background: var(--paper-3); color: var(--ink-soft); }
.adm-table { font-size: .9rem; }
.adm-table th, .adm-table td { padding: .45rem .8rem .45rem 0; text-align: left; white-space: nowrap; }
.adm-table td { font-weight: 600; }
.adm-table thead th { font-size: .76rem; color: var(--ink-mute); }
.adm-table--edit input, .adm-table--edit select, .adm-inline select, .adm-grid select {
  min-height: 38px; padding: .3rem .5rem; border-radius: 8px; border: 1.5px solid var(--line-strong); background: var(--paper-white); font-size: .92rem;
}
.adm-table--edit input[type="checkbox"] { min-height: 0; width: 20px; height: 20px; accent-color: var(--gk-green); }
.adm-table--edit .is-inactive { opacity: .6; }
.adm-w-name { width: 19rem; } .adm-w-gtin { width: 9.5rem; } .adm-w-num { width: 6rem; text-align: right; } .adm-w-int { width: 4.8rem; text-align: right; }
.adm-key { display: block; font-size: .72rem; color: var(--ink-mute); font-weight: 500; }
.adm-sums { max-width: 30rem; margin: 0; }
.adm-savebar { position: sticky; bottom: 0; padding: .8rem 0; background: linear-gradient(transparent, var(--paper) 30%); }
.adm-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .6rem; margin: 0; }
.adm-inline label { font-weight: 700; }
.adm-new { margin-top: 1.6rem; }
.adm-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: .9rem 1rem; align-items: end; }
.adm-grid--narrow { max-width: 34rem; }
.adm-grid__wide { grid-column: 1 / -1; }
.adm-grid .b2b-field input { min-height: 44px; }
.adm-check { display: flex; align-items: center; gap: .5rem; font-weight: 600; min-height: 44px; }
.adm-check input { width: 20px; height: 20px; accent-color: var(--gk-green); }
.adm-link { font-size: .9rem; }
@media (max-width: 760px) {
  .adm-head__title { font-size: .9rem; }
  .adm-order > summary { grid-template-columns: auto minmax(0, 1fr) auto; }
  .adm-order__date { grid-column: 2; grid-row: 2; font-size: .85rem; color: var(--ink-mute); }
  .adm-order__who { grid-column: 2; grid-row: 1; }
  .adm-order__sum { grid-column: 3; grid-row: 1; }
  .adm-badge { grid-column: 3; grid-row: 2; justify-self: end; }
}

@media print {
  .page-b2b .site-header, .page-b2b .site-footer, .page-b2b .skip-link, .page-b2b .page-head, .page-b2b .b2b-filter,
  .page-b2b .b2b-cat, .page-b2b .b2b-order, .page-b2b .b2b-bar, .page-b2b .b2b-pricelist > summary, .page-b2b [data-b2b-print],
  .page-b2b .b2b-shop__head { display: none !important; }
  .page-b2b { padding: 0 !important; background: #fff; }
  .page-b2b .b2b-shop { padding: 0; }
  .page-b2b .b2b-pricelist { margin: 0; padding: 0; box-shadow: none; background: none; }
  .page-b2b .b2b-print-head { display: block; margin: 0 0 .6rem; font-size: 11pt; }
  .page-b2b .table-scroll { overflow: visible; }
  .page-b2b .b2b-table { min-width: 0; font-size: 9pt; }
  .page-b2b .b2b-table th, .page-b2b .b2b-table td { padding: .25rem .6rem .25rem 0; }
}
