/* ============================================================
   Leuchtreklame-Shop · Sidecart UX
   Zielsystem: Elementor Pro "Menü-Warenkorb"-Widget (Side Cart)
               + WooCommerce 10.x + Uni CPO + Germanized
   Einbinden:  Child-Theme oder Elementor > Custom Code (nur Frontend)
   Erwartet:   sidecart-ux.js (fügt .lrs-* Elemente ein)
   ============================================================ */

.elementor-menu-cart__container {
  --lrs-petrol: #2A7CA0;
  --lrs-ink: #16232B;
  --lrs-body: #3C4A52;
  --lrs-muted: #3f474c;
  --lrs-sans: var(--e-global-typography-text-font-family, "Open Sans"), sans-serif;
  --lrs-line: #E6ECEE;
  --lrs-line-soft: #EEF2F4;
  --lrs-field: #C9D6DB;
  --lrs-tint: #F7FAFB;
  --lrs-ok: #2E7D62;
  --lrs-ok-bg: #EFF7F3;
  --lrs-ok-line: #D4E9DF;
}

/* ---------- Panel: hell statt vollflächig Petrol ---------- */
.elementor-menu-cart__container .elementor-menu-cart__main {
  background: #fff !important;
  color: var(--lrs-body) !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 0 !important;
  width: 470px !important;
  max-width: 100vw !important;
  box-shadow: -24px 0 60px -30px rgba(22, 35, 43, .5);
  display: flex !important;
  flex-direction: column;
}

.elementor-menu-cart--shown .elementor-menu-cart__main,
.elementor-menu-cart__main {
  font-family: inherit;
}

/* Overlay etwas dunkler, damit das weiße Panel trägt */
.elementor-menu-cart__container:before,
.elementor-menu-cart-wrapper .elementor-menu-cart__container:before {
  background: rgba(22, 35, 43, .42) !important;
}

/* ---------- Kopfzeile ---------- */
.elementor-menu-cart__main > .lrs-sc-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 20px 24px;
  border-bottom: 1px solid var(--lrs-line);
  flex: none;
}

.lrs-sc-head__title {
  font-family: "Oswald", sans-serif !important;
  font-size: 19px !important;
  line-height: 1.1 !important;
  letter-spacing: inherit !important;
  text-transform: uppercase !important;
  color: var(--lrs-ink) !important;
  font-weight: 500 !important;
}

.lrs-sc-head__count {
  color: #93A3AB;
}

/* Close-Button des Widgets in die Kopfzeile setzen */
.elementor-menu-cart__container .elementor-menu-cart__close-button {
  position: relative !important;
  inset: auto !important;
  margin: 0 !important;
  width: 32px !important;
  height: 32px !important;
  border: 1px solid var(--lrs-line) !important;
  color: var(--lrs-ink) !important;
  font-size: 20px !important;
  display: grid !important;
  place-items: center;
  order: 2;
  flex: none;
  transition: border-color .15s, color .15s;
}

.elementor-menu-cart__container .elementor-menu-cart__close-button:hover {
  border-color: var(--lrs-petrol) !important;
  color: var(--lrs-petrol) !important;
}

/* ---------- Lieferzeit-Banner (aus Germanized-Daten, per JS) ---------- */
.lrs-sc-delivery {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 13px 24px;
  background: var(--lrs-tint);
  border-bottom: 1px solid var(--lrs-line);
  font-size: 14px;
  line-height: 1.35;
  color: var(--lrs-ok);
  flex: none;
}

.lrs-sc-delivery:before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: currentColor;
  flex: none;
}

/* ---------- Produktliste ---------- */
.elementor-menu-cart__container .widget_shopping_cart_content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

.elementor-menu-cart__container .elementor-menu-cart__products {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product {
  position: relative;
  display: grid !important;
  grid-template-columns: 92px 1fr;
  grid-template-areas:
    "img name"
    "img price";
  grid-template-rows: auto auto;
  column-gap: 16px;
  row-gap: 8px;
  align-items: start;
  padding: 20px 24px !important;
  margin: 0 !important;
  border: 0 !important;
  border-bottom: 1px solid var(--lrs-line-soft) !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product:last-child {
  border-bottom: 0 !important;
}

/* Bild groß */
.elementor-menu-cart__container .elementor-menu-cart__product-image {
  grid-area: img;
  width: 92px !important;
  max-width: 92px !important;
  margin: 0 !important;
  border: 1px solid var(--lrs-line-soft);
}

.elementor-menu-cart__container .elementor-menu-cart__product-image img {
  display: block;
  width: 100%;
  height: auto;
}

/* Name + Specs */
.elementor-menu-cart__container .elementor-menu-cart__product-name {
  grid-area: name;
  margin: 0 !important;
  padding-right: 34px; /* Platz für Remove */
  font-size: 14px;
  line-height: 1.4;
  color: var(--lrs-body) !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name > a {
  display: block;
  font-family: "Oswald", sans-serif !important;
  font-size: 1.2em !important;
  line-height: 1.2 !important;
  letter-spacing: 0px !important;
  font-weight: 400 !important;
  color: var(--lrs-ink) !important;
  text-decoration: none;
  margin-bottom: 6px;
}

.elementor-menu-cart__container .elementor-menu-cart__product-name > a:hover {
  color: var(--lrs-petrol) !important;
}

/* Original-Ausgaben ausblenden — Inhalte werden per JS neu gesetzt */
.elementor-menu-cart__container .elementor-menu-cart__product-name > dl.variation,
.elementor-menu-cart__container .elementor-menu-cart__product-name > .wc-gzd-cart-info.delivery-time-info {
  display: none !important;
}

/* Fallback: solange JS nicht geladen ist, bleibt die dl lesbar */
.no-js .elementor-menu-cart__container .elementor-menu-cart__product-name > dl.variation {
  display: block !important;
}

/* Aufbereitete Spec-Zeilen (JS) */
.lrs-sc-spec {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.lrs-sc-spec__primary {
  font-size: 14px;
  font-weight: 600 !important;
  color: var(--lrs-body);
}

.lrs-sc-spec__secondary {
  font-size: 14px;
  color: var(--lrs-muted);
}

.lrs-sc-spec__link {
  font-family: "Oswald", sans-serif !important;
  font-size: 1.2em !important;
  font-weight: 400 !important;
  line-height: 1.3em !important;
  letter-spacing: 0px !important;
  color: #16232b !important;
  text-decoration: none;
  margin-top: 3px;
}

.lrs-sc-spec__link:hover {
  color: var(--lrs-petrol) !important;
}

/* Preis */
.elementor-menu-cart__container .elementor-menu-cart__product-price {
  grid-area: price;
  justify-self: end;
  align-self: end;
  margin: 0 !important;
  font-size: 19px !important;
  line-height: 1.1;
  font-weight: 600;
  color: var(--lrs-ink) !important;
  white-space: nowrap;
}

.elementor-menu-cart__container .elementor-menu-cart__product-price .product-quantity {
  font-family: "Oswald", sans-serif !important;
  font-size: 1em !important;
  font-weight: 400;
  color: #16232b !important;
}

/* Remove: nur EIN Icon. Das Markup liefert aktuell je zwei
   Remove-Links und zwei Uni-CPO-Duplizieren-Spans. */
.elementor-menu-cart__container .elementor-menu-cart__product-remove {
  grid-area: unset;
  position: absolute;
  top: 18px;
  right: 22px;
  width: auto !important;
  height: auto !important;
  display: flex;
  gap: 8px;
  align-items: center;
}

.elementor-menu-cart__container .elementor-menu-cart__product-remove > a.remove_from_cart_button,
.elementor-menu-cart__container .elementor-menu-cart__product-remove > .uni-cpo-action-duplicate ~ .uni-cpo-action-duplicate {
  display: none !important;
}

.elementor-menu-cart__container .elementor-menu-cart__product-remove a,
.elementor-menu-cart__container .elementor-menu-cart__product-remove .uni-cpo-cart-action {
  position: static !important;
  width: 22px;
  height: 22px;
  display: grid;
  place-items: center;
  font-size: 16px;
  line-height: 1;
  color: #9BAAB1 !important;
  background: none !important;
  border: 0 !important;
  transition: color .15s;
}

.elementor-menu-cart__container .elementor-menu-cart__product-remove a:hover,
.elementor-menu-cart__container .elementor-menu-cart__product-remove .uni-cpo-cart-action:hover {
  color: #C0392B !important;
}

/* Theme-Icons vollständig neutralisieren.
   Elementor/Uni-CPO malen ihre Icons je nach Version als Icon-Font (:before),
   als <i> oder als <svg> — und erben dabei die Theme-Schriftgröße. Statt das
   pro Variante zu reparieren, wird der gesamte Inhalt unsichtbar gemacht und
   das Icon als Maske auf dem Element selbst gezeichnet. Das ist unabhängig
   von Icon-Font, Schriftgröße und Zeilenhöhe. */
.elementor-menu-cart__container .elementor-menu-cart__product-remove a,
.elementor-menu-cart__container .elementor-menu-cart__product-remove .uni-cpo-cart-action,
.elementor-menu-cart__container .elementor-menu-cart__close-button {
  font-size: 0 !important;
  line-height: 0 !important;
  text-indent: 0 !important;
  overflow: hidden !important;
  transform: none !important;
  opacity: 1 !important;
  background-color: transparent;
  background-image: none !important;
  background-repeat: no-repeat !important;
  background-position: center !important;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
}

.elementor-menu-cart__container .elementor-menu-cart__product-remove a > *,
.elementor-menu-cart__container .elementor-menu-cart__product-remove a:before,
.elementor-menu-cart__container .elementor-menu-cart__product-remove a:after,
.elementor-menu-cart__container .elementor-menu-cart__product-remove .uni-cpo-cart-action > *,
.elementor-menu-cart__container .elementor-menu-cart__product-remove .uni-cpo-cart-action:before,
.elementor-menu-cart__container .elementor-menu-cart__product-remove .uni-cpo-cart-action:after,
.elementor-menu-cart__container .elementor-menu-cart__close-button > *,
.elementor-menu-cart__container .elementor-menu-cart__close-button:before,
.elementor-menu-cart__container .elementor-menu-cart__close-button:after {
  display: none !important;
  content: none !important;
}

/* Kreuz: Löschen und Schließen */
.elementor-menu-cart__container .elementor-menu-cart__product-remove a,
.elementor-menu-cart__container .elementor-menu-cart__close-button {
  background-color: currentColor !important;
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.6 4.6l10.8 10.8M15.4 4.6L4.6 15.4' stroke='%23000' stroke-width='1.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.6 4.6l10.8 10.8M15.4 4.6L4.6 15.4' stroke='%23000' stroke-width='1.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E");
}

.elementor-menu-cart__container .elementor-menu-cart__product-remove a {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  -webkit-mask-size: 18px 18px;
          mask-size: 18px 18px;
}

.elementor-menu-cart__container .elementor-menu-cart__close-button {
  -webkit-mask-size: 18px 18px;
          mask-size: 18px 18px;
}

/* Der Close-Button behält seinen Rahmen, darf also nicht eingefärbt und
   nicht maskiert werden — sonst schneidet die Maske Rahmen und Kreuz an.
   Das Kreuz kommt allein aus ::after. */
.elementor-menu-cart__container .elementor-menu-cart__close-button {
  background-color: transparent !important;
  -webkit-mask: none !important;
          mask: none !important;
}

.elementor-menu-cart__container .elementor-menu-cart__close-button:after {
  content: "" !important;
  display: block !important;
  /* Elementor setzt ::after absolut + rotiert (eigener Kreuz-Strich).
     Alles zurücksetzen, damit das Kreuz im Button bleibt. */
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  margin: 0 !important;
  transform: translate(-50%, -50%) !important;
  border: 0 !important;
  border-radius: 0 !important;
  opacity: 1 !important;
  width: 18px !important;
  height: 18px !important;
  background-color: currentColor !important;
  -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.6 4.6l10.8 10.8M15.4 4.6L4.6 15.4' stroke='%23000' stroke-width='1.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
          mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4.6 4.6l10.8 10.8M15.4 4.6L4.6 15.4' stroke='%23000' stroke-width='1.6' stroke-linecap='round' fill='none'/%3E%3C/svg%3E") center / 18px 18px no-repeat;
}

/* Duplizieren */
.elementor-menu-cart__container .elementor-menu-cart__product-remove .uni-cpo-action-duplicate {
  width: 20px !important;
  height: 20px !important;
  display: block !important;
  background-color: currentColor !important;
  -webkit-mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.5'%3E%3Crect x='7' y='7' width='9' height='9' rx='1.5'/%3E%3Cpath d='M13 4.5H5.5A1.5 1.5 0 004 6v7.5'/%3E%3C/g%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cg fill='none' stroke='%23000' stroke-width='1.5'%3E%3Crect x='7' y='7' width='9' height='9' rx='1.5'/%3E%3Cpath d='M13 4.5H5.5A1.5 1.5 0 004 6v7.5'/%3E%3C/g%3E%3C/svg%3E");
  -webkit-mask-size: 18px 18px;
          mask-size: 18px 18px;
}

/* ---------- Mengen-Stepper (optional, s. JS-Flag) ---------- */
.lrs-sc-qty {
  display: inline-flex !important;
  align-items: stretch !important;
  height: 34px !important;
  margin-left: 20px !important;
  box-sizing: border-box !important;
  border: 1px solid var(--lrs-field) !important;
  border-radius: 0 !important;
  background: #fff !important;
  overflow: hidden;
}

/* Buttons gegen Theme-Button-Styles absichern (Padding, Radius, Rahmen,
   Schatten, Mindestbreite). Die Zeichen "–" und "+" sitzen je nach Schrift
   unterschiedlich auf der Grundlinie — deshalb werden sie als CSS-Striche
   gezeichnet und exakt mittig gesetzt. */
.elementor-menu-cart__container .lrs-sc-qty__btn {
  position: relative !important;
  flex: none !important;
  width: 32px !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background: none !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: var(--lrs-body) !important;
  cursor: pointer;
  transition: color .15s, background-color .15s;
}

.elementor-menu-cart__container .lrs-sc-qty__btn:before,
.elementor-menu-cart__container .lrs-sc-qty__btn--plus:after {
  content: "" !important;
  position: absolute;
  left: 50%;
  top: 50%;
  background: currentColor;
  transform: translate(-50%, -50%);
}

.elementor-menu-cart__container .lrs-sc-qty__btn:before {
  width: 11px;
  height: 1.5px;
}

.elementor-menu-cart__container .lrs-sc-qty__btn--plus:after {
  width: 1.5px;
  height: 11px;
}

.elementor-menu-cart__container .lrs-sc-qty__btn:hover:not(:disabled),
.elementor-menu-cart__container .lrs-sc-qty__btn:focus-visible {
  color: var(--lrs-petrol) !important;
  background: #EEF5F8 !important;
  outline: none;
}

.elementor-menu-cart__container .lrs-sc-qty__btn:disabled {
  opacity: .35;
  cursor: default;
}

.lrs-sc-qty__val {
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  padding: 0 4px;
  border-left: 1px solid var(--lrs-field);
  border-right: 1px solid var(--lrs-field);
  font-size: 15px;
  font-weight: 600;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  color: var(--lrs-ink);
}

.lrs-sc-priceline {
  grid-area: price;
  justify-self: stretch;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 6px;
}

.lrs-sc-priceline__left {
  display: flex;
  align-items: center;
  gap: 16px;
  min-width: 0;
}

.lrs-sc-priceline .elementor-menu-cart__product-price {
  grid-area: unset;
  justify-self: auto;
  align-self: center;
  margin: 0 !important;
  text-align: right;
  white-space: nowrap;
}

/* Mit Stepper steht die Menge links, der Preis rechts ohne "1 ×" */
.lrs-sc-priceline--stepper .product-quantity {
  display: none !important;
}

/* Zeilenpreis (PHP-Filter): "1 ×" immer ausblenden, ab Menge 2
   den Stückpreis klein darunter */
.elementor-menu-cart__container .lrs-sc-price {
  display: flex !important;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
}

.elementor-menu-cart__container .lrs-sc-price .product-quantity {
  display: none !important;
}

.elementor-menu-cart__container .lrs-sc-price__unit {
  font-family: inherit !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  color: var(--lrs-muted) !important;
}

.elementor-menu-cart__container .lrs-sc-price__unit .woocommerce-Price-amount {
  font: inherit !important;
  color: inherit !important;
}

/* Entfernen als Textlink wie im Entwurf */
.elementor-menu-cart__container a.lrs-sc-remove {
  position: static !important;
  inset: auto !important;
  width: auto !important;
  height: auto !important;
  display: inline-block !important;
  opacity: 1 !important;
  overflow: visible !important;
  z-index: auto !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: none !important;
  -webkit-mask: none !important;
          mask: none !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  text-decoration: none !important;
  color: var(--lrs-muted) !important;
  cursor: pointer;
}

.elementor-menu-cart__container a.lrs-sc-remove:hover {
  color: var(--lrs-petrol) !important;
  text-decoration: underline !important;
}

.elementor-menu-cart__container a.lrs-sc-remove:before,
.elementor-menu-cart__container a.lrs-sc-remove:after {
  content: none !important;
  display: none !important;
}

/* Alten Remove-Block komplett entfernen. Elementor zeichnet dort das Kreuz
   über ::before/::after und einen runden Rahmen am Container selbst —
   daher die "Geister-Pille" und das doppelte Kreuz über dem Text. */
.elementor-menu-cart__container .lrs-sc-product--enhanced .elementor-menu-cart__product-remove {
  display: none !important;
}

.elementor-menu-cart__container .lrs-sc-product--enhanced .elementor-menu-cart__product-name {
  padding-right: 0 !important;
}

.lrs-sc-busy {
  opacity: .5;
  pointer-events: none;
}

/* ---------- Fuß: Summe + CTAs ---------- */
.elementor-menu-cart__container .elementor-menu-cart__footer-buttons,
.elementor-menu-cart__container .elementor-menu-cart__subtotal {
  flex: none;
}

.elementor-menu-cart__container .elementor-menu-cart__subtotal {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 24px 12px !important;
  margin: 0 !important;
  border-top: 1px solid var(--lrs-line) !important;
  background: var(--lrs-tint);
  font-size: 16px;
  color: var(--lrs-body) !important;
  text-align: left !important;
}

.elementor-menu-cart__container .elementor-menu-cart__subtotal strong {
  font-weight: 400;
  color: var(--lrs-body);
}

.elementor-menu-cart__container .elementor-menu-cart__subtotal .woocommerce-Price-amount {
  font-weight: 600;
  color: var(--lrs-ink);
}

/* Hinweis "Versand & MwSt. im nächsten Schritt" (JS) */
.lrs-sc-note {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 24px 0;
  background: var(--lrs-tint);
  font-size: 15px;
  color: var(--lrs-muted);
  flex: none;
}

.elementor-menu-cart__container .elementor-menu-cart__footer-buttons {
  display: flex !important;
  flex-direction: column;
  gap: 10px;
  padding: 16px 24px 22px !important;
  margin: 0 !important;
  border: 0 !important;
  background: var(--lrs-tint);
}

/* CTA-Hierarchie: Kasse primär, Warenkorb sekundär */
.elementor-menu-cart__container .elementor-button--checkout {
  order: 1;
  background-color: var(--lrs-petrol) !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  padding: 16px !important;
  font-family: "Oswald", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  font-size: 19px !important;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-align: center;
  transition: background-color .15s;
}

.elementor-menu-cart__container .elementor-button--checkout:hover {
  background-color: var(--lrs-ink) !important;
  color: #fff !important;
}

.elementor-menu-cart__container .elementor-button--view-cart {
  order: 2;
  background: transparent !important;
  color: var(--lrs-ink) !important;
  border: 1px solid var(--lrs-field) !important;
  border-radius: 0 !important;
  padding: 13px !important;
  font-family: "Oswald", sans-serif !important;
  font-weight: 400 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  font-size: 16px !important;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-align: center;
  transition: border-color .15s, color .15s;
}

.elementor-menu-cart__container .elementor-button--view-cart:hover {
  border-color: var(--lrs-petrol) !important;
  color: var(--lrs-petrol) !important;
}

/* Zahlarten-Zeile (JS) */
.lrs-sc-payments {
  order: 3;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px 18px;
  padding-top: 2px;
  font-size: 13px;
  color: var(--lrs-muted);
}

.lrs-sc-payments > span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lrs-sc-payments > span:before {
  content: "";
  width: 13px;
  height: 13px;
  flex: none;
  background-color: var(--lrs-ok);
  -webkit-mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.6l3.2 3.2L13 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml;utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3 8.6l3.2 3.2L13 5' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ---------- Währungssymbol: nie eigene Farbe ---------- */
.elementor-menu-cart__container .woocommerce-Price-currencySymbol {
  color: inherit !important;
  font: inherit !important;
}

/* ---------- Leerer Warenkorb ---------- */
.lrs-sc--empty .woocommerce-mini-cart__empty-message,
.lrs-sc--empty .elementor-menu-cart__empty-message {
  display: none !important;
}

.lrs-sc-empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 12px;
  padding: 56px 28px;
  text-align: center;
}

.lrs-sc-empty__title {
  font-family: "Oswald", sans-serif !important;
  font-size: 22px;
  font-weight: 400;
  line-height: 1.2;
  color: var(--lrs-ink);
}

.lrs-sc-empty__text {
  max-width: 300px;
  margin: 0 !important;
  font-size: 15px;
  line-height: 1.5;
  color: var(--lrs-muted);
}

.lrs-sc-empty__btn {
  margin-top: 8px;
  padding: 14px 28px;
  background: var(--lrs-petrol);
  font-family: "Oswald", sans-serif !important;
  font-size: 17px;
  font-weight: 400;
  letter-spacing: .09em;
  text-transform: uppercase;
  text-decoration: none !important;
  color: #fff !important;
  transition: background-color .15s;
}

.lrs-sc-empty__btn:hover {
  background: var(--lrs-ink);
  color: #fff !important;
}

.elementor-menu-cart__container .elementor-menu-cart__empty-message {
  padding: 48px 24px !important;
  text-align: center;
  color: var(--lrs-muted) !important;
  font-size: 16px;
}

/* ---------- Mobil ---------- */
@media (max-width: 520px) {
  .elementor-menu-cart__container .elementor-menu-cart__main {
    width: 100% !important;
  }

  .elementor-menu-cart__container .elementor-menu-cart__product {
    grid-template-columns: 72px 1fr;
    padding: 16px 18px !important;
  }

  .elementor-menu-cart__container .elementor-menu-cart__product-image {
    width: 72px !important;
    max-width: 72px !important;
  }

  .elementor-menu-cart__main > .lrs-sc-head,
  .lrs-sc-delivery,
  .lrs-sc-note,
  .elementor-menu-cart__container .elementor-menu-cart__subtotal,
  .elementor-menu-cart__container .elementor-menu-cart__footer-buttons {
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
}
