/** Shopify CDN: Minification failed

Line 26:0 All "@import" rules must come first

**/
/* =============================================
   LB Konfigurator — Styles
   Wird via {{ 'lb-configurator.css' | asset_url | stylesheet_tag }} geladen
   Scope: .lbk-scope (kein Konflikt mit Dawn)
   ============================================= */

:root {
  --lb-sand: #F5EFE3;
  --lb-sand-dark: #EAE0CF;
  --lb-terra: #B5602A;
  --lb-terra-light: #D4845A;
  --lb-terra-pale: #F0DDD0;
  --lb-cream: #FDFAF5;
  --lb-ink: #2A2520;
  --lb-ink-mid: #5A5248;
  --lb-ink-light: #8A8078;
  --lb-serif: 'Cormorant Garamond', Georgia, serif;
  --lb-sans: 'DM Sans', system-ui, sans-serif;
}

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,600;1,300;1,400&family=DM+Sans:wght@300;400;500&display=swap');

.lbk-scope { background: var(--lb-cream); }

/* ============================================================
   EMBED-MODE — kompakt 1-spaltig (für Produktseiten neben Galerie+Beschreibung)
   ============================================================ */
.lbk-scope.lbk-embed { background: transparent; }
.lbk-scope.lbk-embed .lbk-wrap {
  grid-template-columns: 1fr;
  gap: 0;
  padding: 0;
  max-width: none;
}
.lbk-scope.lbk-embed .lbk-title,
.lbk-scope.lbk-embed .lbk-subtitle { display: none; }
.lbk-scope.lbk-embed .lbk-card { display: none; }
.lbk-scope.lbk-embed .lbk-product-image { display: none; }
.lbk-scope.lbk-embed .lbk-mobile-cta {
  display: block;
  margin: 8px auto 22px;
  padding: 22px 20px 24px;
  background: var(--lb-sand, #f0e6d2);
  border-radius: 14px;
  text-align: center;
  max-width: 520px;
}
/* Stoff-Grid: in Embed feste Spaltenzahl pro Viewport — Swatches bleiben groß, brechen bei weniger Platz in neue Zeile */
.lbk-scope.lbk-embed .lbk-fabric-grid {
  grid-template-columns: repeat(6, 1fr);
}
@media (max-width: 900px) {
  .lbk-scope.lbk-embed .lbk-fabric-grid { grid-template-columns: repeat(5, 1fr); }
}
@media (max-width: 400px) {
  .lbk-scope.lbk-embed .lbk-fabric-grid { grid-template-columns: repeat(4, 1fr); }
}
.lbk-scope.lbk-embed .lbk-mobile-price {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  margin-bottom: 16px;
}
.lbk-scope.lbk-embed .lbk-mobile-price-lbl {
  font-family: var(--lb-sans);
  font-size: 11px;
  color: var(--lb-ink-light);
  text-transform: uppercase;
  letter-spacing: 0.08em;
}
.lbk-scope.lbk-embed .lbk-mobile-price-val {
  font-family: var(--lb-serif);
  font-size: 30px;
  font-weight: 400;
  color: var(--lb-ink);
  line-height: 1.1;
}
.lbk-scope.lbk-embed .lbk-mobile-cta .lbk-qty-row {
  margin: 0 0 16px;
  justify-content: center;
  gap: 14px;
}
.lbk-scope.lbk-embed .lbk-mobile-cta .lbk-qty-ctrl { background: white; }
.lbk-scope.lbk-embed .lbk-mobile-cta .lbk-atc-mobile {
  display: block;
  width: 80%;
  margin: 0 auto;
  min-width: 0;
  padding: 18px 20px;
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 0.04em;
  border-radius: 999px;
  box-shadow: 0 4px 14px rgba(181,96,42,0.28);
}
.lbk-scope.lbk-embed .lbk-mobile-cta .lbk-atc-mobile:active {
  transform: translateY(1px);
  box-shadow: 0 2px 8px rgba(181,96,42,0.22);
}
/* Auf Mobile innerhalb Embed bleibt der Block 100% breit */
@media (max-width: 768px) {
  .lbk-scope.lbk-embed .lbk-mobile-cta { max-width: none; padding: 20px 18px 22px; }
}

.lbk-scope .lbk-wrap {
  max-width: 1100px;
  margin: 0 auto;
  padding: 80px 40px;
  display: grid;
  grid-template-columns: 1fr 400px;
  gap: 60px;
  align-items: start;
}

.lbk-scope .lbk-placeholder {
  padding: 40px;
  text-align: center;
  background: var(--lb-sand);
  font-family: var(--lb-sans);
  font-size: 14px;
  color: var(--lb-ink-mid);
  border-radius: 12px;
  margin: 40px;
}

/* ---- TITEL ---- */
.lbk-scope .lbk-title {
  font-family: var(--lb-serif);
  font-size: clamp(26px, 3vw, 40px);
  font-weight: 300;
  color: var(--lb-ink);
  margin-bottom: 8px;
  line-height: 1.15;
}
.lbk-scope .lbk-title em { font-style: italic; color: var(--lb-terra); }
.lbk-scope .lbk-subtitle {
  font-family: var(--lb-sans);
  font-size: 14px;
  color: var(--lb-ink-mid);
  margin-bottom: 40px;
  line-height: 1.6;
}

/* ---- LABELS ---- */
.lbk-scope .lbk-label {
  font-family: var(--lb-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lb-terra);
  margin-bottom: 14px;
  display: block;
}

/* ---- STOFF TABS ---- */
.lbk-scope .lbk-tabs { display: flex; gap: 6px; margin-bottom: 16px; }
.lbk-scope .lbk-tab {
  font-family: var(--lb-sans);
  font-size: 12px;
  font-weight: 500;
  padding: 6px 16px;
  border-radius: 40px;
  border: 1px solid var(--lb-sand-dark);
  background: transparent;
  color: var(--lb-ink-mid);
  cursor: pointer;
  transition: all 0.15s;
}
.lbk-scope .lbk-tab.active,
.lbk-scope .lbk-tab:hover {
  background: var(--lb-terra);
  border-color: var(--lb-terra);
  color: white;
}

/* ---- STOFF GRID ---- */
.lbk-scope .lbk-fabric-grid {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  gap: 6px;
  margin-bottom: 28px;
}
.lbk-scope .lbk-fabric-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.lbk-scope .lbk-swatch {
  width: 100%;
  aspect-ratio: 1;
  border-radius: 8px;
  border: 2px solid var(--lb-sand-dark, #d8cdb8);
  background: var(--lb-sand, #f0e6d2);
  overflow: hidden;
  position: relative;
  transition: border-color 0.15s, transform 0.15s;
}
.lbk-scope .lbk-fabric-item:hover .lbk-swatch { transform: scale(1.06); }
.lbk-scope .lbk-fabric-item.selected .lbk-swatch {
  border-color: var(--lb-terra);
  box-shadow: 0 0 0 2px var(--lb-terra-pale);
}
.lbk-scope .lbk-swatch-bg { width: 100%; height: 100%; display: block; }
.lbk-scope .lbk-swatch-check {
  position: absolute;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
.lbk-scope .lbk-fabric-item.selected .lbk-swatch-check { display: flex; }
.lbk-scope .lbk-swatch-check svg {
  width: 20px; height: 20px;
  color: white;
  filter: drop-shadow(0 1px 2px rgba(0,0,0,0.55));
}

/* ---- QUANTITY-SELECTOR ---- */
.lbk-scope .lbk-qty-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin: 14px 0 10px;
}
.lbk-scope .lbk-qty-lbl {
  font-family: var(--lb-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--lb-ink-mid);
}
.lbk-scope .lbk-qty-ctrl {
  display: inline-flex;
  align-items: center;
  border: 1.5px solid var(--lb-sand-dark, #d8cdb8);
  border-radius: 10px;
  overflow: hidden;
  background: white;
}
.lbk-scope .lbk-qty-btn {
  width: 36px;
  height: 36px;
  border: 0;
  background: transparent;
  font-family: var(--lb-sans);
  font-size: 18px;
  font-weight: 500;
  color: var(--lb-ink);
  cursor: pointer;
  transition: background 0.12s;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.lbk-scope .lbk-qty-btn:hover { background: var(--lb-sand, #f0e6d2); }
.lbk-scope .lbk-qty-btn:active { background: var(--lb-sand-dark, #d8cdb8); }
.lbk-scope .lbk-qty-inp {
  width: 44px;
  height: 36px;
  border: 0;
  background: transparent;
  text-align: center;
  font-family: var(--lb-sans);
  font-size: 14px;
  font-weight: 500;
  color: var(--lb-ink);
  outline: none;
  -moz-appearance: textfield;
}
.lbk-scope .lbk-qty-inp::-webkit-inner-spin-button,
.lbk-scope .lbk-qty-inp::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }

/* ---- WAITLIST-Form (erscheint bei Klick auf out-of-stock Stoff) ---- */
.lbk-scope .lbk-waitlist-form {
  position: relative;
  background: #FFFFFF;
  border: 1.5px solid var(--lb-terra-pale, #F4E5D5);
  border-radius: 12px;
  padding: 22px 24px 22px;
  margin: -6px 0 22px;
  box-shadow: 0 4px 18px rgba(181,96,42,0.08);
  font-family: var(--lb-sans);
  animation: lbkWlfFadeIn 0.28s cubic-bezier(0.22, 0.61, 0.36, 1);
}
@keyframes lbkWlfFadeIn {
  from { opacity: 0; transform: translateY(-6px); }
  to { opacity: 1; transform: translateY(0); }
}
.lbk-scope .lbk-wlf-close {
  position: absolute;
  top: 6px; right: 10px;
  background: transparent;
  border: 0;
  font-size: 22px;
  color: var(--lb-ink-light, #A09690);
  cursor: pointer;
  line-height: 1;
  padding: 4px 8px;
}
.lbk-scope .lbk-wlf-close:hover { color: var(--lb-ink, #2A2520); }
.lbk-scope .lbk-wlf-icon {
  font-size: 22px;
  line-height: 1;
  margin-bottom: 6px;
}
.lbk-scope .lbk-wlf-title {
  font-family: var(--lb-serif);
  font-size: 18px;
  color: var(--lb-ink, #2A2520);
  margin-bottom: 6px;
  line-height: 1.2;
}
.lbk-scope .lbk-wlf-subtext {
  font-size: 13px;
  color: var(--lb-ink-mid, #6F6760);
  margin-bottom: 14px;
  line-height: 1.55;
}
.lbk-scope .lbk-wlf-email {
  width: 100%;
  padding: 12px 14px;
  border: 1.5px solid var(--lb-sand-dark, #D8CDB8);
  border-radius: 8px;
  font-family: var(--lb-sans);
  font-size: 14px;
  color: var(--lb-ink, #2A2520);
  background: white;
  outline: none;
  transition: border-color 0.15s;
  box-sizing: border-box;
}
.lbk-scope .lbk-wlf-email:focus { border-color: var(--lb-terra, #B5602A); }
.lbk-scope .lbk-wlf-submit {
  margin-top: 10px;
  width: 100%;
  background: var(--lb-terra, #B5602A);
  color: #FFFFFF;
  border: 0;
  border-radius: 999px;
  padding: 12px 22px;
  font-family: var(--lb-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.03em;
  cursor: pointer;
  transition: background 0.15s, transform 0.1s;
}
.lbk-scope .lbk-wlf-submit:hover { background: #9A4F1F; }
.lbk-scope .lbk-wlf-submit:active { transform: translateY(1px); }
.lbk-scope .lbk-wlf-submit:disabled { opacity: 0.55; cursor: wait; }
.lbk-scope .lbk-wlf-status {
  margin-top: 10px;
  font-size: 12.5px;
  line-height: 1.5;
  text-align: center;
  min-height: 1.5em;
}
.lbk-scope .lbk-wlf-status.success { color: #2E8540; font-weight: 500; }
.lbk-scope .lbk-wlf-status.error { color: #C0392B; }
.lbk-scope .lbk-wlf-status.loading { color: var(--lb-ink-light, #A09690); font-style: italic; }

/* ---- BONUS-RABATT BADGE auf Swatch (oben rechts, kleine Pill) ---- */
.lbk-scope .lbk-swatch-discount {
  position: absolute;
  top: 4px;
  right: 4px;
  background: var(--lb-terra, #B5602A);
  color: #FFFFFF;
  font-family: var(--lb-sans);
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.02em;
  padding: 2px 6px;
  border-radius: 999px;
  box-shadow: 0 2px 6px rgba(181,96,42,0.32);
  pointer-events: none;
  z-index: 2;
}

/* ---- PROMO-BANNER über Stoff-Grid ---- */
.lbk-scope .lbk-fabric-promo {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--lb-sand, #F8F2E5);
  border-left: 3px solid var(--lb-terra, #B5602A);
  border-radius: 0 8px 8px 0;
  padding: 10px 14px;
  margin: 4px 0 16px;
  font-family: var(--lb-sans);
}
.lbk-scope .lbk-fabric-promo-tag {
  flex-shrink: 0;
  background: var(--lb-terra, #B5602A);
  color: #FFFFFF;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 4px 10px;
  border-radius: 999px;
}
.lbk-scope .lbk-fabric-promo-text {
  font-size: 12px;
  color: var(--lb-ink, #2A2520);
  line-height: 1.45;
}
@media (max-width: 600px) {
  .lbk-scope .lbk-fabric-promo {
    flex-direction: column;
    align-items: flex-start;
    gap: 8px;
  }
  .lbk-scope .lbk-fabric-promo-text { font-size: 11.5px; }
}

/* ---- OUT-OF-STOCK Stoff-Swatch (grauer + nicht klickbar + Overlay-Text) ---- */
.lbk-scope .lbk-fabric-item.lbk-unavailable {
  cursor: not-allowed;
  opacity: 0.7;
}
.lbk-scope .lbk-fabric-item.lbk-unavailable .lbk-swatch {
  filter: grayscale(45%);
}
.lbk-scope .lbk-fabric-item.lbk-unavailable:hover .lbk-swatch {
  transform: none !important;
}
.lbk-scope .lbk-fabric-item.lbk-unavailable .lbk-fabric-name {
  color: var(--lb-ink-light, #A09690);
  font-style: italic;
}
.lbk-scope .lbk-swatch-oos {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-family: var(--lb-sans);
  font-size: 9px;
  font-weight: 600;
  color: #FFFFFF;
  background: rgba(42,37,32,0.62);
  padding: 4px;
  line-height: 1.15;
  letter-spacing: 0.02em;
  border-radius: 8px;
  pointer-events: none;
}

/* ---- MOBILE-CTA BLOCK (zwischen Section 3 & 4) ---- */
.lbk-scope .lbk-mobile-cta { display: none; }
.lbk-scope .lbk-fabric-name {
  font-family: var(--lb-sans);
  font-size: 10px;
  color: var(--lb-ink-mid);
  text-align: center;
  line-height: 1.3;
}
.lbk-scope .lbk-badge {
  font-size: 9px;
  padding: 1px 6px;
  border-radius: 10px;
  font-weight: 500;
}
.lbk-scope .badge-s { background: var(--lb-sand); color: var(--lb-ink-mid); }
.lbk-scope .badge-z { background: #E1F5EE; color: #0F6E56; }
.lbk-scope .badge-p { background: #EEEDFE; color: #3C3489; }

/* ---- FABRIC INFO (Quality-Hint unter dem Grid) ---- */
.lbk-scope .lbk-fabric-info {
  display: flex;
  align-items: center;
  gap: 8px;
  background: var(--lb-terra-pale);
  border-radius: 8px;
  padding: 8px 14px;
  margin: -16px 0 24px;
  font-family: var(--lb-sans);
}
.lbk-scope .lbk-fabric-info-check {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  background: var(--lb-terra);
  color: white;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 700;
  flex-shrink: 0;
}
.lbk-scope .lbk-fabric-info-text {
  font-size: 12px;
  color: var(--lb-ink);
  font-weight: 500;
  line-height: 1.4;
}

/* ---- INTRO-TEXT (emotionale Mikro-Einleitung über Konfigurator) ---- */
.lbk-scope .lbk-intro {
  font-family: var(--lb-sans);
  font-size: 15px;
  line-height: 1.5;
  color: var(--lb-ink-mid);
  margin: 2px 0 24px;
  font-weight: 400;
}
@media (max-width: 768px) {
  .lbk-scope .lbk-intro { font-size: 14px; margin: 0 0 18px; }
}

/* ---- STOFFMUSTER-BUTTON ---- */
.lbk-scope .lbk-sample-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin: 2px 0 16px;
  padding: 9px 14px;
  background: white;
  border: 1.5px solid var(--lb-sand-dark, #d8cdb8);
  border-radius: 999px;
  font-family: var(--lb-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--lb-ink);
  text-decoration: none;
  letter-spacing: 0.02em;
  transition: border-color 0.15s, background 0.15s, color 0.15s, transform 0.15s;
}
.lbk-scope .lbk-sample-btn:hover {
  border-color: var(--lb-terra);
  color: var(--lb-terra);
  background: var(--lb-terra-pale);
  transform: translateX(2px);
}
.lbk-scope .lbk-sample-icon {
  display: inline-flex;
  align-items: center;
  color: var(--lb-terra);
}
.lbk-scope .lbk-sample-icon svg { width: 16px; height: 16px; }
.lbk-scope .lbk-sample-arrow {
  font-size: 14px;
  color: var(--lb-terra);
  margin-left: 2px;
  transition: transform 0.15s;
}
.lbk-scope .lbk-sample-btn:hover .lbk-sample-arrow { transform: translateX(3px); }

/* ---- KATEGORIE-SEPARATOR im "Alle"-Tab ---- */
.lbk-scope .lbk-fabric-sep {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 12px;
  margin-bottom: 2px;
}
.lbk-scope .lbk-fabric-sep.first { margin-top: 0; }
.lbk-scope .lbk-fabric-sep span {
  font-family: var(--lb-sans);
  font-size: 10px;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--lb-ink-light);
  white-space: nowrap;
}
.lbk-scope .lbk-fabric-sep::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--lb-sand-dark);
}

/* ---- MASSE ---- */
.lbk-scope .lbk-dims {
  display: block;
  margin-bottom: 20px;
}
.lbk-scope .lbk-dim { display: flex; flex-direction: column; gap: 6px; }
.lbk-scope .lbk-dim-label {
  font-family: var(--lb-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--lb-ink);
}
.lbk-scope .lbk-dim-sub { font-size: 10px; color: var(--lb-ink-light); font-weight: 400; }
.lbk-scope .lbk-dim-wrap { position: relative; }
.lbk-scope .lbk-inp {
  width: 100%;
  font-family: var(--lb-sans);
  font-size: 20px;
  font-weight: 300;
  color: var(--lb-ink);
  background: var(--lb-sand);
  border: 1.5px solid transparent;
  border-radius: 10px;
  padding: 12px 36px 12px 14px;
  outline: none;
  transition: border-color 0.15s;
  -moz-appearance: textfield;
}
.lbk-scope .lbk-inp::-webkit-inner-spin-button,
.lbk-scope .lbk-inp::-webkit-outer-spin-button { -webkit-appearance: none; }
.lbk-scope .lbk-inp:focus { border-color: var(--lb-terra); background: white; }
.lbk-scope .lbk-inp.error { border-color: #C0392B; }
.lbk-scope .lbk-unit {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  font-family: var(--lb-sans);
  font-size: 13px;
  color: var(--lb-ink-light);
  pointer-events: none;
}
.lbk-scope .lbk-stepper { display: flex; margin-top: 4px; }
.lbk-scope .lbk-step {
  flex: 1;
  font-family: var(--lb-sans);
  font-size: 15px;
  background: var(--lb-sand-dark);
  border: none;
  cursor: pointer;
  padding: 5px;
  color: var(--lb-ink-mid);
  transition: background 0.15s, color 0.15s;
  line-height: 1;
}
.lbk-scope .lbk-step:first-child { border-radius: 6px 0 0 6px; }
.lbk-scope .lbk-step:last-child  { border-radius: 0 6px 6px 0; }
.lbk-scope .lbk-step:hover { background: var(--lb-terra); color: white; }
.lbk-scope .lbk-dim-err {
  font-family: var(--lb-sans);
  font-size: 10px;
  color: #C0392B;
  margin-top: 3px;
  display: none;
}

/* ---- TIP ---- */
.lbk-scope .lbk-tip {
  background: var(--lb-terra-pale);
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--lb-sans);
  font-size: 12px;
  font-style: italic;
  color: var(--lb-ink-mid);
  margin: 8px 0 24px;
  line-height: 1.55;
}

/* ---- INPUTS-HINT (oben über den Maße-Inputs, z.B. Miami/Ibiza) ---- */
.lbk-scope .lbk-inputs-hint {
  background: var(--lb-cream);
  border-left: 3px solid var(--lb-terra);
  border-radius: 0 6px 6px 0;
  padding: 8px 12px;
  font-family: var(--lb-sans);
  font-size: 11.5px;
  line-height: 1.45;
  color: var(--lb-ink-mid);
  margin-bottom: 12px;
}

/* ---- CROSS-SELL "Passt dazu" (Section 4) ---- */
.lbk-scope .lbk-cross-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin-bottom: 24px;
}
.lbk-scope .lbk-cross-card {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  background: white;
  border: 1px solid var(--lb-sand-dark);
  border-radius: 12px;
  overflow: hidden;
  transition: transform 0.15s, box-shadow 0.15s, border-color 0.15s;
}
.lbk-scope .lbk-cross-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(42,37,32,0.08);
  border-color: var(--lb-terra);
}
.lbk-scope .lbk-cross-img {
  width: 100%;
  aspect-ratio: 1 / 1;
  background: var(--lb-sand);
  overflow: hidden;
}
.lbk-scope .lbk-cross-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lbk-scope .lbk-cross-img-empty { background: var(--lb-sand); }
.lbk-scope .lbk-cross-info {
  padding: 10px 12px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.lbk-scope .lbk-cross-name {
  font-family: var(--lb-sans);
  font-size: 12px;
  font-weight: 500;
  color: var(--lb-ink);
  line-height: 1.3;
}
.lbk-scope .lbk-cross-price {
  font-family: var(--lb-sans);
  font-size: 11px;
  color: var(--lb-terra);
  font-weight: 600;
}

/* ---- INPUT-GRUPPEN (z.B. Miami: Kopf+Körper, dann B+H) ---- */
.lbk-scope .lbk-dims-group {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
  margin-bottom: 12px;
}
.lbk-scope .lbk-dims-group[data-count="2"] { grid-template-columns: 1fr 1fr; }
.lbk-scope .lbk-dims-group[data-count="4"] { grid-template-columns: repeat(4, 1fr); }

/* ---- SUM-INLINE (z.B. "60 cm  Länge gesamt  = Kopfteil + Körperteil") ---- */
.lbk-scope .lbk-sum-inline {
  font-family: var(--lb-sans);
  font-size: 12px;
  color: var(--lb-ink-mid);
  margin: -2px 0 14px;
  padding: 0 2px;
  line-height: 1.5;
}
.lbk-scope .lbk-sum-inline-val {
  color: var(--lb-terra);
  font-weight: 700;
  font-size: 14px;
  margin-right: 4px;
}
.lbk-scope .lbk-sum-inline-lbl { font-weight: 500; color: var(--lb-ink); }
.lbk-scope .lbk-sum-inline-note { color: var(--lb-ink-light); font-style: italic; }

/* ---- INLINE WARN unter Input (z.B. Höhe < 7 cm) ---- */
.lbk-scope .lbk-dim-warn {
  font-family: var(--lb-sans);
  font-size: 10px;
  color: #B26910;
  line-height: 1.35;
  margin-top: 4px;
  padding: 4px 8px;
  background: #FEF8E5;
  border-left: 2px solid #C8961A;
  border-radius: 0 4px 4px 0;
}
/* Seam-Warnung — gleicher Style wie dim-warn, aber als Block über alle Eingaben */
.lbk-scope .lbk-seam-warn {
  margin-top: -4px;
  margin-bottom: 16px;
  font-size: 11px;
  padding: 8px 12px;
  line-height: 1.4;
}

/* ---- WARN-Box (z.B. Bezug-Warnung wenn aktiv) ---- */
.lbk-scope .lbk-warn {
  background: #FEF8E5;
  border-left: 3px solid #C8961A;
  border-radius: 0 6px 6px 0;
  padding: 10px 14px;
  font-family: var(--lb-sans);
  font-size: 11.5px;
  line-height: 1.5;
  color: var(--lb-ink-mid);
  margin: -28px 0 28px;
}
.lbk-scope .lbk-warn strong { color: #8A6710; }

/* ---- BEZUG CHECKBOX ---- */
.lbk-scope .lbk-bezug {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  background: var(--lb-sand);
  border-radius: 10px;
  padding: 14px 16px;
  cursor: pointer;
  margin-bottom: 36px;
  border: 1.5px solid transparent;
  transition: border-color 0.15s;
}
.lbk-scope .lbk-bezug:has(input:checked) {
  border-color: var(--lb-terra);
  background: var(--lb-terra-pale);
}
.lbk-scope .lbk-bezug-cb {
  width: 18px;
  height: 18px;
  margin-top: 1px;
  accent-color: var(--lb-terra);
  flex-shrink: 0;
  cursor: pointer;
}
.lbk-scope .lbk-bezug-lbl {
  font-family: var(--lb-sans);
  font-size: 13px;
  color: var(--lb-ink);
  line-height: 1.5;
  cursor: pointer;
}
.lbk-scope .lbk-bezug-tip { font-size: 11px; color: var(--lb-ink-light); margin-top: 2px; }

/* ---- PREIS CARD ---- */
.lbk-scope .lbk-right { position: sticky; top: 90px; }
.lbk-scope .lbk-product-image {
  width: 100%;
  border-radius: 18px;
  overflow: hidden;
  margin-bottom: 16px;
  background: var(--lb-sand);
  border: 1px solid var(--lb-sand-dark);
  aspect-ratio: 4 / 3;
}
.lbk-scope .lbk-product-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
.lbk-scope .lbk-card {
  background: var(--lb-sand);
  border-radius: 18px;
  padding: 28px;
  border: 1px solid var(--lb-sand-dark);
}
.lbk-scope .lbk-price-lbl {
  font-family: var(--lb-sans);
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--lb-ink-light);
  margin-bottom: 8px;
}
.lbk-scope .lbk-price {
  font-family: var(--lb-serif);
  font-size: 52px;
  font-weight: 300;
  color: var(--lb-ink);
  line-height: 1;
  margin-bottom: 4px;
  transition: color 0.2s;
}
.lbk-scope .lbk-price.flash { color: var(--lb-terra); }
.lbk-scope .lbk-price-sub {
  font-family: var(--lb-sans);
  font-size: 12px;
  color: var(--lb-ink-light);
  margin-bottom: 20px;
}
.lbk-scope .lbk-breakdown {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 14px 0;
  border-top: 1px solid var(--lb-sand-dark);
  border-bottom: 1px solid var(--lb-sand-dark);
  margin-bottom: 16px;
}
.lbk-scope .lbk-row {
  display: flex;
  justify-content: space-between;
  font-family: var(--lb-sans);
  font-size: 12px;
  color: var(--lb-ink-mid);
}
.lbk-scope .lbk-row.bold { font-weight: 500; color: var(--lb-ink); }
.lbk-scope .lbk-summary {
  background: var(--lb-cream);
  border-radius: 10px;
  padding: 12px 14px;
  margin-bottom: 18px;
  display: flex;
  flex-direction: column;
  gap: 5px;
}
.lbk-scope .lbk-sum-row { display: flex; gap: 8px; font-family: var(--lb-sans); font-size: 12px; align-items: center; }
.lbk-scope .lbk-sum-k { color: var(--lb-ink-light); min-width: 58px; flex-shrink: 0; }
.lbk-scope .lbk-sum-v { color: var(--lb-ink); font-weight: 500; }
.lbk-scope .lbk-sum-stoff { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; }
.lbk-scope .lbk-sum-thumb {
  display: inline-block;
  width: 26px; height: 26px;
  border-radius: 5px;
  border: 1px solid var(--lb-sand-dark, #d8cdb8);
  background: var(--lb-sand, #f0e6d2) center/cover no-repeat;
  flex-shrink: 0;
}
.lbk-scope .lbk-sum-stoff-txt { flex: 1; min-width: 0; line-height: 1.3; }

/* Scroll-Offset für Jump-Target (kompensiert Sticky-Header in Theme) */
.lbk-scope .lbk-jump-target { scroll-margin-top: 100px; }
@media (max-width: 768px) {
  .lbk-scope .lbk-jump-target { scroll-margin-top: 80px; }
}

/* ---- STICKY JUMP-BUTTON (Embed-Modus, scrollt zum Konfigurator) ---- */
.lbk-sticky-jump {
  position: fixed;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%) translateY(140%);
  z-index: 999;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  background: var(--lb-terra, #B5602A);
  color: white;
  border: 0;
  border-radius: 999px;
  font-family: var(--lb-sans);
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.04em;
  cursor: pointer;
  box-shadow: 0 6px 22px rgba(181,96,42,0.36), 0 2px 6px rgba(0,0,0,0.08);
  transition: transform 0.35s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.25s;
  opacity: 0;
  pointer-events: none;
  padding-bottom: calc(14px + env(safe-area-inset-bottom, 0px));
}
.lbk-sticky-jump.lbk-jump-visible {
  transform: translateX(-50%) translateY(0);
  opacity: 1;
  pointer-events: auto;
}
.lbk-sticky-jump:hover { background: #9a4f1f; box-shadow: 0 8px 28px rgba(181,96,42,0.44); }
.lbk-sticky-jump:active.lbk-jump-visible { transform: translateX(-50%) translateY(2px); }
.lbk-sticky-jump-icon { font-size: 16px; line-height: 1; }
@media (max-width: 480px) {
  .lbk-sticky-jump { font-size: 13px; padding: 13px 22px; padding-bottom: calc(13px + env(safe-area-inset-bottom, 0px)); }
}

/* ---- Lieferdatum unter Buy-Button (prominenter Trust-Signal) ---- */
.lbk-scope .lbk-delivery {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin-top: 12px;
  font-family: var(--lb-sans);
  font-size: 13px;
  color: var(--lb-ink);
  line-height: 1.4;
}
.lbk-scope .lbk-delivery-icon {
  display: inline-flex;
  color: var(--lb-terra, #B5602A);
  flex-shrink: 0;
}
.lbk-scope .lbk-delivery-icon svg { width: 16px; height: 16px; }
.lbk-scope .lbk-delivery-date { color: var(--lb-terra, #B5602A); font-weight: 600; white-space: nowrap; }

/* ---- Info-Zeile unter Buy-Button (klein, grau) ---- */
.lbk-scope .lbk-buy-info {
  margin-top: 4px;
  font-family: var(--lb-sans);
  font-size: 11px;
  color: var(--lb-ink-light);
  text-align: center;
  line-height: 1.4;
  letter-spacing: 0.01em;
}

/* ---- ATC BUTTON ---- */
.lbk-scope .lbk-atc {
  width: 100%;
  background: var(--lb-terra);
  color: white;
  border: none;
  border-radius: 40px;
  padding: 16px;
  font-family: var(--lb-sans);
  font-size: 15px;
  font-weight: 500;
  cursor: pointer;
  letter-spacing: 0.02em;
  transition: background 0.2s, transform 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.lbk-scope .lbk-atc:hover:not(:disabled) { background: #9E4E1E; transform: translateY(-2px); }
.lbk-scope .lbk-atc:disabled { opacity: 0.5; cursor: not-allowed; transform: none; }
.lbk-scope .lbk-atc.loading .lbk-atc-txt { display: none; }
.lbk-scope .lbk-atc:not(.loading) .lbk-spinner { display: none; }
.lbk-scope .lbk-spinner {
  width: 18px; height: 18px;
  border: 2px solid rgba(255,255,255,0.35);
  border-top-color: white;
  border-radius: 50%;
  animation: lbk-spin 0.7s linear infinite;
}
@keyframes lbk-spin { to { transform: rotate(360deg); } }
.lbk-scope .lbk-atc-note {
  font-family: var(--lb-sans);
  font-size: 11px;
  color: var(--lb-ink-light);
  text-align: center;
  margin-top: 10px;
}
.lbk-scope .lbk-msg {
  border-radius: 8px;
  padding: 10px 14px;
  font-family: var(--lb-sans);
  font-size: 12px;
  margin-top: 12px;
  display: none;
}
.lbk-scope .lbk-msg.err { background: #FEE; border: 1px solid #FCC; color: #C0392B; }
.lbk-scope .lbk-msg.ok  { background: #E8F5E9; border: 1px solid #A5D6A7; color: #2E7D32; text-align: center; font-size: 13px; }
.lbk-scope .lbk-product-link {
  display: block;
  text-align: center;
  margin-top: 12px;
  font-family: var(--lb-sans);
  font-size: 12px;
  color: var(--lb-ink-mid);
  text-decoration: none;
}
.lbk-scope .lbk-product-link:hover { color: var(--lb-terra); }

/* ---- RESPONSIVE ---- */
@media (max-width: 900px) {
  .lbk-scope .lbk-wrap { grid-template-columns: 1fr; gap: 24px; padding: 32px 20px; }
  .lbk-scope .lbk-right { position: static; }
  .lbk-scope .lbk-fabric-grid { grid-template-columns: repeat(5, 1fr); }
}

/* ===== MOBILE-OPTIMIERT: Single-Page-Layout mit Sticky-Bottom-CTA ===== */
@media (max-width: 768px) {
  /* Sehr kompakte Aussen-Padding, Platz für sticky bar unten */
  .lbk-scope .lbk-wrap {
    padding: 16px 14px 96px;
    gap: 14px;
  }

  /* Bild + Card-Block kommt VOR den Inputs (ueber order) */
  .lbk-scope .lbk-wrap > .lbk-right { order: -1; }

  /* Hero-Bild: kompakt, max 180px hoch */
  .lbk-scope .lbk-right { position: static; }
  .lbk-scope .lbk-product-image {
    max-height: 180px;
    aspect-ratio: 16/9;
    margin-bottom: 0;
  }

  /* Titel + Subtitle kompakt */
  .lbk-scope .lbk-title { font-size: 22px; margin-bottom: 4px; line-height: 1.2; }
  .lbk-scope .lbk-subtitle { font-size: 13px; margin-bottom: 14px; line-height: 1.45; }

  /* Section-Labels kleiner */
  .lbk-scope .lbk-label { font-size: 10px; margin-bottom: 8px; }

  /* Stoff-Tabs: horizontal scrollbar (versteckt) */
  .lbk-scope .lbk-tabs {
    margin-bottom: 10px;
    gap: 4px;
    overflow-x: auto;
    flex-wrap: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 2px;
  }
  .lbk-scope .lbk-tabs::-webkit-scrollbar { display: none; }
  .lbk-scope .lbk-tab { font-size: 11px; padding: 5px 12px; flex-shrink: 0; }

  /* Stoff-Grid: 6 Spalten, kleinere Items */
  .lbk-scope .lbk-fabric-grid {
    grid-template-columns: repeat(6, 1fr);
    gap: 5px;
    margin-bottom: 18px;
  }
  .lbk-scope .lbk-fabric-name { font-size: 8.5px; line-height: 1.15; }
  .lbk-scope .lbk-fabric-sep { margin-top: 8px; }
  .lbk-scope .lbk-fabric-sep span { font-size: 9px; }

  /* Maße: 3 Spalten innerhalb jeder Gruppe (statt stacked) */
  .lbk-scope .lbk-dims { margin-bottom: 12px; }
  .lbk-scope .lbk-dims-group { grid-template-columns: repeat(3, 1fr); gap: 8px; margin-bottom: 8px; }
  .lbk-scope .lbk-dims-group[data-count="2"] { grid-template-columns: 1fr 1fr; }
  .lbk-scope .lbk-dims-group[data-count="4"] { grid-template-columns: 1fr 1fr; }
  .lbk-scope .lbk-sum-inline { font-size: 11px; margin: -2px 0 10px; }
  .lbk-scope .lbk-sum-inline-val { font-size: 12.5px; }
  .lbk-scope .lbk-dim-warn { font-size: 9.5px; padding: 3px 7px; }
  .lbk-scope .lbk-dim-label { font-size: 11px; line-height: 1.2; }
  /* Range-Hint als eigene Zeile unter dem Label */
  .lbk-scope .lbk-dim-sub {
    display: block;
    font-size: 9px;
    color: var(--lb-ink-light);
    font-weight: 400;
    margin-top: 1px;
  }
  .lbk-scope .lbk-inp {
    font-size: 16px;              /* verhindert iOS-Auto-Zoom */
    padding: 10px 26px 10px 10px;
  }
  .lbk-scope .lbk-unit { font-size: 11px; right: 8px; }
  .lbk-scope .lbk-step {
    font-size: 13px;
    padding: 10px 4px;            /* groesseres Touch-Target */
    min-height: 38px;
  }
  .lbk-scope .lbk-dim-err { font-size: 9px; }

  /* Tip kompakter */
  .lbk-scope .lbk-tip {
    font-size: 11px;
    padding: 8px 12px;
    margin: 4px 0 12px;
    line-height: 1.4;
  }

  /* Bezug / Fixierband Toggles kompakter */
  .lbk-scope .lbk-bezug { padding: 10px 12px; margin-bottom: 8px; gap: 10px; }
  .lbk-scope .lbk-bezug-lbl { font-size: 12px; line-height: 1.3; }
  .lbk-scope .lbk-bezug-tip { font-size: 10px; line-height: 1.3; }

  /* Sum-Length + Warn-Box kompakter */
  .lbk-scope .lbk-sum-length { padding: 6px 10px; margin: 4px 0 10px; font-size: 11px; }
  .lbk-scope .lbk-sum-length-val { font-size: 13px; }
  .lbk-scope .lbk-warn { padding: 8px 10px; font-size: 10.5px; margin: -4px 0 10px; }
  /* Fabric-Info kompakter */
  .lbk-scope .lbk-fabric-info { padding: 6px 10px; margin: -10px 0 14px; gap: 6px; }
  .lbk-scope .lbk-fabric-info-check { width: 16px; height: 16px; font-size: 10px; }
  .lbk-scope .lbk-fabric-info-text { font-size: 11px; }
  /* Inputs-Hint kompakter */
  .lbk-scope .lbk-inputs-hint { font-size: 10.5px; padding: 6px 10px; margin-bottom: 8px; }
  /* Cross-Sell kompakter */
  .lbk-scope .lbk-cross-grid { gap: 8px; margin-bottom: 14px; }
  .lbk-scope .lbk-cross-info { padding: 8px 10px 10px; }
  .lbk-scope .lbk-cross-name { font-size: 11px; }
  .lbk-scope .lbk-cross-price { font-size: 10.5px; }

  /* ── STICKY BOTTOM BAR ── nur Preis + Button, alles andere weg */
  .lbk-scope .lbk-card {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
    background: white;
    border: none;
    border-top: 1px solid var(--lb-sand-dark);
    border-radius: 0;
    padding: 12px 14px;
    padding-bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    box-shadow: 0 -4px 16px rgba(42,37,32,0.08);
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 12px;
    align-items: center;
  }
  .lbk-scope .lbk-price-lbl,
  .lbk-scope .lbk-price-sub,
  .lbk-scope .lbk-summary,
  .lbk-scope .lbk-atc-note { display: none; }
  /* Desktop-Qty + Info in der Card auf Mobile ausblenden — Mobile-CTA übernimmt */
  .lbk-scope .lbk-card .lbk-qty-row,
  .lbk-scope .lbk-card .lbk-buy-info,
  .lbk-scope .lbk-card .lbk-delivery { display: none; }

  /* Inline Mobile-CTA zwischen Section 3 & 4 */
  .lbk-scope .lbk-mobile-cta {
    display: block;
    margin: 6px 0 22px;
    padding: 20px 18px 22px;
    background: var(--lb-sand, #f0e6d2);
    border-radius: 14px;
    text-align: center;
  }
  .lbk-scope .lbk-mobile-price {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    margin-bottom: 16px;
  }
  .lbk-scope .lbk-mobile-price-lbl {
    font-family: var(--lb-sans);
    font-size: 11px;
    color: var(--lb-ink-light);
    text-transform: uppercase;
    letter-spacing: 0.08em;
  }
  .lbk-scope .lbk-mobile-price-val {
    font-family: var(--lb-serif);
    font-size: 30px;
    font-weight: 400;
    color: var(--lb-ink);
    line-height: 1.1;
  }
  .lbk-scope .lbk-mobile-cta .lbk-qty-row {
    margin: 0 0 16px;
    justify-content: center;
    gap: 14px;
  }
  .lbk-scope .lbk-mobile-cta .lbk-qty-ctrl { background: white; }
  .lbk-scope .lbk-mobile-cta .lbk-atc-mobile {
    display: block;
    width: 80%;
    margin: 0 auto;
    min-width: 0;
    padding: 18px 20px;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: 0.04em;
    border-radius: 999px;
    box-shadow: 0 4px 14px rgba(181,96,42,0.28);
  }
  .lbk-scope .lbk-mobile-cta .lbk-atc-mobile:active { transform: translateY(1px); box-shadow: 0 2px 8px rgba(181,96,42,0.22); }
  .lbk-scope .lbk-price {
    font-size: 26px;
    margin: 0;
    line-height: 1;
  }
  .lbk-scope .lbk-atc {
    padding: 14px 20px;
    font-size: 14px;
    min-width: 150px;
    width: auto;
  }
  .lbk-scope .lbk-msg { margin-top: 8px; font-size: 11px; }
}

/* Sehr kleine Phones (iPhone SE etc.) — Stoff-Grid auf 5 Spalten */
@media (max-width: 380px) {
  .lbk-scope .lbk-fabric-grid { grid-template-columns: repeat(5, 1fr); }
  .lbk-scope .lbk-price { font-size: 22px; }
  .lbk-scope .lbk-atc { min-width: 130px; padding: 12px 16px; font-size: 13px; }
}

/* =============================================
   MINI CART NOTIFICATION
   ============================================= */
.lbk-notif {
  position: fixed;
  top: 24px;
  right: -440px;
  width: 400px;
  background: #fff;
  border-radius: 16px;
  box-shadow: 0 8px 48px rgba(42,37,32,0.18);
  z-index: 99999;
  transition: right 0.4s cubic-bezier(0.34, 1.4, 0.64, 1);
  overflow: hidden;
  font-family: var(--lb-sans);
}
.lbk-notif.open { right: 24px; }
.lbk-notif-head {
  background: var(--lb-terra);
  color: white;
  padding: 14px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.lbk-notif-title {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  font-weight: 500;
}
.lbk-notif-check {
  width: 22px; height: 22px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
}
.lbk-notif-check svg { width: 12px; height: 12px; }
.lbk-notif-x {
  background: none; border: none; color: rgba(255,255,255,0.8);
  cursor: pointer; font-size: 22px; line-height: 1; padding: 0;
  transition: color 0.15s;
}
.lbk-notif-x:hover { color: white; }
.lbk-notif-body { padding: 18px 18px 14px; }
.lbk-notif-product { display: flex; gap: 14px; align-items: flex-start; margin-bottom: 14px; }
.lbk-notif-thumb {
  width: 64px; height: 64px; border-radius: 10px;
  background: var(--lb-sand); flex-shrink: 0;
  display: flex; align-items: center; justify-content: center;
  font-size: 28px; overflow: hidden;
}
.lbk-notif-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.lbk-notif-name {
  font-family: var(--lb-serif); font-size: 17px; font-weight: 600;
  color: var(--lb-ink); margin-bottom: 4px; line-height: 1.3;
}
.lbk-notif-config { font-size: 12px; color: var(--lb-ink-mid); line-height: 1.6; margin-bottom: 6px; }
.lbk-notif-price { font-family: var(--lb-serif); font-size: 26px; font-weight: 300; color: var(--lb-terra); line-height: 1.1; }
.lbk-notif-total {
  font-family: var(--lb-sans);
  font-size: 12px;
  font-weight: 400;
  color: var(--lb-ink-light);
  margin-top: 4px;
  letter-spacing: 0.02em;
}
.lbk-notif-line { height: 1px; background: var(--lb-sand-dark); margin-bottom: 14px; }
.lbk-notif-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding: 0 18px 18px; }
.lbk-notif-more {
  background: var(--lb-sand); color: var(--lb-ink); border: none;
  border-radius: 40px; padding: 12px 16px; font-family: var(--lb-sans);
  font-size: 13px; font-weight: 500; cursor: pointer; text-align: center;
  transition: background 0.15s;
}
.lbk-notif-more:hover { background: var(--lb-sand-dark); }
.lbk-notif-goto {
  background: var(--lb-terra); color: white; border-radius: 40px;
  padding: 12px 16px; font-family: var(--lb-sans); font-size: 13px;
  font-weight: 500; text-align: center; text-decoration: none;
  display: block; transition: background 0.15s;
}
.lbk-notif-goto:hover { background: #9E4E1E; color: white; }
.lbk-notif-prog { height: 3px; background: var(--lb-terra-pale); }
.lbk-notif-bar {
  height: 100%; background: var(--lb-terra); width: 100%;
  transition: width linear;
}
@media (max-width: 768px) {
  /* Notification ueber der Sticky-Bottom-Bar einblenden, nicht von oben */
  .lbk-notif {
    top: auto;
    bottom: 90px;
    right: -110vw;
    width: calc(100vw - 24px);
    max-width: 420px;
  }
  .lbk-notif.open { right: 12px; }
  .lbk-notif-actions { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .lbk-notif-actions { grid-template-columns: 1fr; }
}
