/** Shopify CDN: Minification failed

Line 614:4 Unexpected "#"
Line 614:6 Unexpected "{"
Line 614:18 Expected ":"
Line 622:4 Unexpected "#"
Line 622:6 Unexpected "{"
Line 622:18 Expected ":"
Line 629:2 Unexpected "#"
Line 629:4 Unexpected "{"
Line 629:16 Expected ":"
Line 635:2 Unexpected "#"
... and 41 more hidden warnings

**/
.price__default {
  display: flex;
  gap: 8px;
}
.price__default *:not(.price__current) {
  margin-top: auto;
  margin-bottom: 1px;
}
.price__unit {
  font-size: 0.8em;
}
.price__unit.small-card {
  display: none;
}
@media screen and (max-width: 770px) {
  .small-cards-mobile .price__unit.small-card {
    display: block;
    text-align: center;
  }
  .small-cards-mobile .price__unit.normal-card {
    display: none;
  }
}
.category-chips__content {
  display: flex;
  gap: 32px;
  padding-bottom: 32px;
}
.category-chips__wrapper {
  display: flex;
  position: relative;
}
.category-chips__slider {
  overflow-x: auto;
  scrollbar-width: thin;
  margin: 5px auto;
}
@media screen and (max-width: 599px) {
  .category-chips__slider {
    overflow-x: auto;
  }
  .category-chips__content {
    gap: 24px;
    padding-bottom: 24px;
  }
  .category-chips__wrapper.container {
    position: relative;
    margin-bottom: 24px;
  }
  .category-chips__wrapper:before {
    content: "";
    position: absolute;
    left: 0px;
    width: 80px;
    height: 25px;
    top: 0;
    background: linear-gradient(90deg, #fff 20%, rgba(255, 255, 255, 0) 100%);
    transition: opacity 0.3s ease;
    pointer-events: none;
    opacity: 0;
  }
  .category-chips__wrapper:after {
    content: "";
    position: absolute;
    right: 0px;
    width: 80px;
    height: 25px;
    top: 0;
    background: linear-gradient(270deg, #fff 20%, rgba(255, 255, 255, 0) 100%);
    transition: opacity 0.3s ease;
    pointer-events: none;
    opacity: 1;
  }
  .category-chips__wrapper.hide-fade-right:after {
    opacity: 0;
  }
  .category-chips__wrapper.show-fade-left:before {
    opacity: 1;
  }
}
.category-chip {
  text-transform: uppercase;
  min-width: fit-content;
  color: rgb(var(--text-color));
  opacity: 65%;
}
.category-chip.current {
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 2px;
  opacity: 100%;
  display: none;
}
::-webkit-scrollbar {
  height: 2px !important;
}
::-webkit-scrollbar-track {
  background: rgba(52, 58, 65, 0.15) !important;
}
::-webkit-scrollbar-thumb {
  background: #343a41 !important;
}
.rating__wrapper {
  display: flex;
  justify-content: center;
  font-size: 1.2em;
}
.card__subtitle {
  line-height: normal;
  font-size: 13.2px;
}
.card__subtitle.text-sm {
  font-size: 12px;
}
.rating__count {
  font-size: 12px;
  position: relative;
  top: 1px;
}
@media screen and (max-width: 769px) {
  .product-label-container.mobile-top-left {
    top: -16px;
    left: -16px;
  }
}

.new-design.container {
  display: flex;
  flex-direction: column;
  padding: 25px 176px;
}
.new-design.container h2 {
  margin: 0px auto;
  text-align: center;
  font-size: 24.15px;
}
@media screen and (max-width: 1200px) {
  .new-design.container {
    padding: 70px 64px;
  }
}
.wine-glass__block {
  display: flex;
  justify-content: space-between;
}
.wine-glass__container {
  display: flex;
  flex-direction: column;
  gap: 32px;
  justify-content: center;
  min-height: 408px;
}
.wine-glass__content {
  width: calc((100% - 408px - 64px) / 2);
  text-align: left;
}
.wine-glass__content .wine-glass__name {
  font-size: 13.2px;
  font-weight: 700;
  margin-bottom: 0px;
  padding-bottom: 8px;
  border-bottom: solid rgba(52, 58, 65, 0.15) 1px;
}
.wine-glass__content {
  p {
    font-size: 13.2px;
    margin-bottom: 0px;
    padding-top: 4px;
  }
}
.wine-glass__content:last-child {
  text-align: right;
}
.wine-glass__content:only-child {
  text-align: left;
}
@media screen and (max-width: 799px) {
  .wine-glass__content:last-child {
    text-align: left;
  }
  .wine-glass__content {
    width: calc((100% - 32px) / 2);
    height: fit-content;
  }
  .wine-glass__content .wine-glass__name {
    padding-bottom: 4px;
  }
  .wine-glass__content .wine-glass__value {
    padding-top: 4px;
  }
  .new-design.container {
    padding: 50px 20px;
  }
  .new-design.container h2 {
    font-size: 20.58px;
  }
  .wine-glass__container {
    gap: 20px;
    min-height: fit-content;
  }
}
.product-badge__label {
  font-size: 14px;
  line-height: 140%;
}

.product-badge__label p {
  margin-bottom: 0;
}

.geschmacksprofil__wrapper.new-design {
  justify-content: center;
  max-width: 1460px;
}
.geschmacksprofil__wrapper.new-design > * {
  margin: 0px auto;
}
.geschmacksprofil__container {
  display: flex;
  gap: 64px;
  width: 100%;
  justify-content: center;
}
.geschmacksprofil__container h3 {
  font-size: 20.22px;
  line-height: 26.28px;
}
.geschmacksprofil__container h4 {
  font-size: 13.2px;
  line-height: 19.8px;
}
.geschmacksprofil__container > div {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.geschmacksprofil__container > div > h3 {
  margin: 0px auto;
}
.aromen__wrapper {
  max-width: 600px;
  flex-grow: 1;
}
.aromen__container {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  padding: 8px 0px;
  row-gap: 24px;
}
.profiles__container {
  width: 100%;
  max-width: 424px;
}
.aromen__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 101px;
  text-align: center;
}
.aromen__content * {
  margin: 0px auto;
}
.aromen__content img {
  border-radius: 50%;
}
.aromen__content p {
  font-size: 13.2px;
  font-weight: 700;
}
.profile-scale__content {
  display: flex;
  gap: 4px;
  border-radius: 11px;
  overflow: hidden;
}
.profile-scale__content .profile-scale__unit {
  height: 6px;
  flex-grow: 1;
  background-color: rgba(52, 58, 65, 0.15);
}
.profile__wrapper {
  display: flex;
  gap: 0px;
  flex-direction: column;
}
.profile__wrapper h4 {
  margin: 0px;
}
.profile-scale__wrapper {
  flex-grow: 1;
  padding-top: 8px;
}
.profile-scale__legend {
  display: flex;
  justify-content: space-between;
  padding-top: 8px;
}
.profile-scale__legend p {
  font-size: 12px;
  margin: 0px;
}
.profiles__content {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
@media screen and (max-width: 900px) {
  .geschmacksprofil__container {
    flex-direction: column;
    gap: 32px;
  }
  .geschmacksprofil__container > * {
    margin: 0px auto;
  }
  .geschmacksprofil__container h3 {
    font-size: 18.235px;
    line-height: 23.7px;
  }
  .geschmacksprofil__wrapper.new-design {
    padding: 49px 20px;
  }
  .profiles__content {
    gap: 20px;
  }
}
@media screen and (max-width: 599px) {
  .price__default.vertical {
    flex-direction: column;
    gap: 4px;
  }
}
.text-align-left .rating__wrapper {
  justify-content: start;
}
.card:not(.card--related) .price--bottom.card-align-left {
  margin: 0px;
}

.product-label--bio {
  background-color: #557b44;
  color: #ffffff;
}

.product-label--vegan {
  background-color: #557b44;
  color: #ffffff;
}

.product-label--fruchtig-frisch {
  background-color: #e67e22;
  color: #ffffff;
}

.product-label--elegant-fruchtig {
  background-color: #f39c12;
  color: #ffffff;
}

.product-label--aromatisch-frisch {
  background-color: #009688;
  color: #ffffff;
}

.product-label--vollmundig-gehaltvoll {
  background-color: #af601a;
  color: #ffffff;
}

.product-label--elegant-leicht {
  background-color: #c0392b;
  color: #ffffff;
}

.product-label--samtig-weich {
  background-color: #922b21;
  color: #ffffff;
}

.product-label--opulent-uppig {
  background-color: #6c3483;
  color: #ffffff;
}

.product-label--gehaltvoll-wurzig {
  background-color: #7b241c;
  color: #ffffff;
}

.product-label--promotion {
  background-color: rgb(var(--sale-label-bg-color));
  color: #ffffff;
}

.product-info__Vendor {
  margin: 0;
}

.text-vendor {
  opacity: 0.7;
  font-weight: 700;
}

.product_title {
  margin: 0;
}

.sh-payment-icons-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  gap: 5px;
}
  
.sh-payment-icon {
  min-width: 0;
  flex: 1 1 0;
  max-width: 45px;
  filter: grayscale(0);
}

.bullet-points-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.bullet-point-item {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}

.bullet-point-item:last-child {
  margin-bottom: 0;
}

.bullet-point-icon {
  flex-shrink: 1;
  margin-top: 0.25rem;
  max-width: 20px;
  max-height: 20px;
}

  .sh-meta_text {
    display: flex;
    flex-direction: column;
  }

  .sh-meta_titel {
    font-size: 14px;
    font-weight: bold;
    margin: 0;
    line-height: 1;
  }

  .sh-meta_untertitel {
    font-size: 14px;
    margin-top: 2px;
    margin-bottom: 0;
    line-height: 1;
  }
@media screen and (max-width: 599px) {
.sh-meta_titel {
    font-size: 12px;
    margin: 0;
    font-weight: bold;
    line-height: 1;
  }
.sh-meta_untertitel {
    font-size: 12px;
    margin-top: 2px;
    margin-bottom: 0;
    line-height: 1;
  }
.sh-advantage {
    background-color: #f5f5f5;
    color: #343a41;
    border-radius: 10px;
    height: 50px;
    padding: 0px 8px;
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: start;
  }
}
.alphabetical-section {
  padding: 3rem 0;
  max-width: 1470px;
  margin: 0 auto;
}

.alphabetical-title {
  text-align: center;
  margin-bottom: 2rem;
}

.alphabet-nav {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 2rem;
  padding: 0 1rem;
}

.alphabet-button {
  min-width: 40px;
  padding: 0.5rem;
  text-align: center;
  text-decoration: none;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  background: #fff;
  cursor: pointer;
  transition: all 0.2s;
}

.alphabet-button:hover {
  background: #f5f5f5;
  border-color: #ccc;
}

.alphabet-button.disabled {
  opacity: 0.3;
  pointer-events: none;
}

.search-wrapper {
  max-width: 400px;
  margin: 0 auto 3rem;
  padding: 0 1rem;
}

.search-input {
  width: 100%;
  padding: 0.75rem 1rem;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
  font-size: 1rem;
}

.search-input:focus {
  outline: none;
  border-color: #999;
}

.letter-section {
  margin-bottom: 3rem;
  padding: 0 1rem;
}

.letter-heading {
  margin-bottom: 1.5rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e0e0e0;
  scroll-margin-top: 150px;
}

.items-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.5rem;
}

@media (min-width: 750px) {
  .items-grid {
    grid-template-columns: repeat(3, 1fr);
    gap: 1rem;
  }
}

@media (min-width: 990px) {
  .items-grid {
    grid-template-columns: repeat(4, 1fr);
  }
}

.item-link {
  text-decoration: underline;
  transition: opacity 0.2s;
}

.item-link:hover {
  text-decoration: underline;
  opacity: 0.7;
}

.item-hidden {
  display: none;
}

 @media (min-width: 769px) {
    #{{ section_id }} .mdesc__wrapper {
      max-width: calc(var(--page-width, 1320px) + var(--gutter) * 2);
      margin: 20px auto;
      padding: 0 var(--gutter);
    }
  }

  @media (max-width: 749px) {
    #{{ section_id }} .mdesc__wrapper {
      max-width: calc(var(--page-width, 1320px) + var(--gutter) * 2);
      margin: 20px auto;
      padding:  var(--gutter) 15px;
    }
  }

  #{{ section_id }} .mdesc__toggle {
    cursor: pointer;
    text-decoration: underline;
    margin-top: 0.75rem;
  }

  #{{ section_id }}[data-state="expanded"] .mdesc__toggle::after {
    content: " ▲";
  }

  @media (min-width: 750px) {
    #{{ section_id }} .mdesc__toggle { display: none !important; }
    #{{ section_id }} [data-md-desc] > * { display: block !important; }
  }

  @media (max-width: 749px) {
    #{{ section_id }}:not([data-state]) [data-md-desc] > *,
    #{{ section_id }}[data-state="collapsed"] [data-md-desc] > * {
      display: none;
    }

    #{{ section_id }}:not([data-state]) [data-md-desc] > .mdesc__show,
    #{{ section_id }}[data-state="collapsed"] [data-md-desc] > .mdesc__show {
      display: block;
    }

    #{{ section_id }}:not([data-state]) [data-md-desc] > .mdesc__teaser,
    #{{ section_id }}[data-state="collapsed"] [data-md-desc] > .mdesc__teaser {
      display: block;
      opacity: 0.65;
      overflow: hidden;
      position: relative;
      max-height: var(--mdesc-teaser-max, 0px);
    }

    #{{ section_id }}:not([data-state]) [data-md-desc] > .mdesc__teaser::after,
    #{{ section_id }}[data-state="collapsed"] [data-md-desc] > .mdesc__teaser::after {
      content: "";
      position: absolute;
      left: 0;
      right: 0;
      bottom: 0;
      height: 2.5em;
      pointer-events: none;
      background: linear-gradient(
        to bottom,
        rgba(255,255,255,0),
        var(--color-background, rgba(255,255,255,1))
      );
    }

    #{{ section_id }}[data-state="expanded"] [data-md-desc] > * {
      display: block;
    }

    #{{ section_id }}[data-state="expanded"] [data-md-desc] > .mdesc__teaser {
      opacity: 1;
      overflow: visible;
      max-height: none;
    }

    #{{ section_id }}[data-state="expanded"] [data-md-desc] > .mdesc__teaser::after {
      display: none;
    }
  }

  .dw-banner{
  display: flex;
  align-items: center;
  gap: 8px;

  width: 100%;
  padding: 10px 14px 10px 30px;

  background: #F5F5F5;
  border: 1px solid #E1E2E3;
  border-radius: 5px;

  font: inherit;
  color: inherit;
  text-align: center;
}

.dw-banner__icon{
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
}

.dw-banner__icon svg{
  display: block;
  width: 28px;
  height: 28px;
}

.dw-banner__text{
  display: inline-block;
  font-size: 14px;
  line-height: 1.35;
  white-space: nowrap;
}

/* Sehr kleine Screens (<390px): enger Banner-Padding links + 1px kleinere Schrift */
@media (max-width: 389px) {
  .dw-banner {
    padding: 10px 14px 10px 15px;
  }
  .dw-banner__text {
    font-size: 13px;
  }
  /* Cart Drawer Recommendations / Promoted Products Heading kleiner */
  .cart-drawer__promoted-products h2,
  .cart-recommendations h2 {
    font-size: 14px;
  }
}

/* Slider-Pfeile in Cart-Drawer (Recommendations + Promoted Products):
 * 32x32 kreisrunder Hintergrund, ausgegraut wenn disabled. */
.cart-drawer .slider-nav__btn,
.cart-recommendations .slider-nav__btn,
.cart-drawer__promoted-products .slider-nav__btn {
  width: 32px;
  height: 32px;
  min-width: 32px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background-color: #DCDCDC;
  color: #343A41;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.cart-drawer .slider-nav__btn:not([disabled]):hover,
.cart-recommendations .slider-nav__btn:not([disabled]):hover,
.cart-drawer__promoted-products .slider-nav__btn:not([disabled]):hover {
  background-color: #C8C8C8;
}

.cart-drawer .slider-nav__btn[disabled],
.cart-recommendations .slider-nav__btn[disabled],
.cart-drawer__promoted-products .slider-nav__btn[disabled] {
  background-color: #F2F2F2;
  color: #B0B0B0;
  cursor: not-allowed;
  opacity: 1;
}

.cart-drawer .slider-nav__btn .icon,
.cart-recommendations .slider-nav__btn .icon,
.cart-drawer__promoted-products .slider-nav__btn .icon {
  width: 14px;
  height: 14px;
}

/* 8px Abstand zwischen Prev- und Next-Pfeil */
.cart-drawer .slider-nav__btn + .slider-nav__btn,
.cart-recommendations .slider-nav__btn + .slider-nav__btn,
.cart-drawer__promoted-products .slider-nav__btn + .slider-nav__btn {
  margin-left: 8px;
  margin-inline-end: 0;
}

/* Empfehlungs-Karten im Cart-Drawer: helle Box mit gerundeten Ecken,
 * Bild im Mix-Blend-Mode, Titel/Preis-Hierarchie + schwarzer Icon-Button rechts. */
.cart-recommendations .card.card--related,
.cart-drawer__promoted-products .card.card--related {
  position: relative;
  align-items: center;
  gap: 16px;
  padding: 12px 16px;
  background-color: #F5F5F5;
  border-radius: 12px;
}

.cart-recommendations .card.card--related .card__media,
.cart-drawer__promoted-products .card.card--related .card__media {
  width: 70px;
  flex-shrink: 0;
}

.cart-recommendations .card.card--related .card__media img,
.cart-recommendations .card.card--related .image-blend img,
.cart-drawer__promoted-products .card.card--related .card__media img,
.cart-drawer__promoted-products .card.card--related .image-blend img {
  mix-blend-mode: multiply;
}

.cart-recommendations .card.card--related .card__info,
.cart-drawer__promoted-products .card.card--related .card__info {
  flex: 1;
  min-width: 0;
  padding-right: 0;
  padding-inline-start: 0;
  padding-inline-end: 0;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "title"
    "price"
    "button";
  row-gap: 4px;
}

.cart-recommendations .card.card--related .card__info > p.h6,
.cart-drawer__promoted-products .card.card--related .card__info > p.h6 {
  grid-area: title;
}

.cart-recommendations .card.card--related .card__info > .price,
.cart-drawer__promoted-products .card.card--related .card__info > .price {
  grid-area: price;
}

.cart-recommendations .card.card--related .card__info > product-form,
.cart-recommendations .card.card--related .card__info > .btn,
.cart-drawer__promoted-products .card.card--related .card__info > product-form,
.cart-drawer__promoted-products .card.card--related .card__info > .btn {
  grid-area: button;
  align-self: center;
  justify-self: start;
  width: auto;
  margin-top: 8px;
}

.cart-recommendations .card.card--related .card__info > p.h6,
.cart-drawer__promoted-products .card.card--related .card__info > p.h6 {
  margin: 0;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.25;
}

.cart-recommendations .card.card--related .card__info > p.h6 a,
.cart-drawer__promoted-products .card.card--related .card__info > p.h6 a {
  color: #111;
}

.cart-recommendations .card.card--related .price__current,
.cart-drawer__promoted-products .card.card--related .price__current {
  font-size: 16px;
  font-weight: 700;
  color: #111;
}

.cart-recommendations .card.card--related .product-unit-price,
.cart-drawer__promoted-products .card.card--related .product-unit-price {
  font-size: 13px;
  font-weight: 400;
  font-style: normal;
  color: #555;
  margin-top: 0;
}

/* Preis + Literpreis inline (spart Höhe) */
.cart-recommendations .card.card--related .price,
.cart-drawer__promoted-products .card.card--related .price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px;
  margin: 0;
}

/* Add-to-Cart Button: kompakter schwarzer Textbutton "In den Warenkorb",
 * linksbündig unter Titel und Preis (Grid-Zeile "button" von .card__info).
 * Breite richtet sich nach dem Text, nicht nach der Karte.
 * z-index 3, damit er über dem .card-link::after Klick-Overlay (z-index 2) liegt. */
.cart-recommendations .card.card--related .card__info .btn.btn--secondary,
.cart-recommendations .card.card--related .card__info .btn,
.cart-drawer__promoted-products .card.card--related .card__info .btn.btn--secondary,
.cart-drawer__promoted-products .card.card--related .card__info .btn {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  margin: 0 !important;
  width: auto !important;
  min-width: 0 !important;
  height: 36px !important;
  padding: 0 16px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background-color: #111 !important;
  background-image: none !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  white-space: nowrap;
  text-align: center;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  z-index: 3;
}

/* product-form umschließt den Button - darf ihn nicht auf volle Breite ziehen */
.cart-recommendations .card.card--related .card__info product-form,
.cart-drawer__promoted-products .card.card--related .card__info product-form {
  position: relative;
  display: block;
  width: auto;
  z-index: 3;
}

/* Fehler-Hinweis im product-form: Standard-Abstand von 32px ist hier zu groß */
.cart-recommendations .card.card--related .card__info product-form .alert,
.cart-drawer__promoted-products .card.card--related .card__info product-form .alert {
  margin-bottom: 8px !important;
  font-size: 13px;
}

.cart-recommendations .card.card--related .card__info .btn.btn--secondary:hover:not([disabled]),
.cart-recommendations .card.card--related .card__info .btn:hover:not([disabled]),
.cart-drawer__promoted-products .card.card--related .card__info .btn.btn--secondary:hover:not([disabled]),
.cart-drawer__promoted-products .card.card--related .card__info .btn:hover:not([disabled]) {
  background-color: #000 !important;
  border-color: #000 !important;
  opacity: 1 !important;
}

.cart-recommendations .card.card--related .card__info .btn[disabled],
.cart-drawer__promoted-products .card.card--related .card__info .btn[disabled] {
  opacity: 0.4 !important;
}

/* Mobile: kleineres Bild (64x64), Text über volle Breite, Button unter dem Text */
@media (max-width: 767px) {
  .cart-recommendations .card.card--related,
  .cart-drawer__promoted-products .card.card--related {
    gap: 10px;
    align-items: flex-start;
  }
  .cart-recommendations .card.card--related .card__media,
  .cart-drawer__promoted-products .card.card--related .card__media {
    flex: 0 0 64px;
    width: 64px;
    height: 64px;
  }
  .cart-recommendations .card.card--related .card__media .media,
  .cart-drawer__promoted-products .card.card--related .card__media .media {
    padding-top: 0 !important;
    width: 64px;
    height: 64px;
  }
  .cart-recommendations .card.card--related .card__media img,
  .cart-drawer__promoted-products .card.card--related .card__media img {
    width: 64px;
    height: 64px;
    object-fit: contain;
  }
  /* Mobile: altes Layout - Titel/Preis links, Icon-Button rechts (mittig),
     kein Textbutton. Grid auf zwei Spalten: links Text, rechts Button. */
  .cart-recommendations .card.card--related .card__info,
  .cart-drawer__promoted-products .card.card--related .card__info {
    padding-inline-start: 0;
    padding-inline-end: 0;
    padding-right: 0;
    column-gap: 10px;
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "title  button"
      "price  button";
  }
  /* Mobile Schriftgrößen */
  .cart-recommendations .card.card--related .card__info > p.h6,
  .cart-drawer__promoted-products .card.card--related .card__info > p.h6 {
    font-size: 14px;
  }
  .cart-recommendations .card.card--related .product-unit-price,
  .cart-drawer__promoted-products .card.card--related .product-unit-price {
    font-size: 10px;
  }
  /* Button-Spalte rechts, über beide Zeilen mittig */
  .cart-recommendations .card.card--related .card__info > product-form,
  .cart-drawer__promoted-products .card.card--related .card__info > product-form,
  .cart-recommendations .card.card--related .card__info > .btn,
  .cart-drawer__promoted-products .card.card--related .card__info > .btn {
    align-self: center;
    justify-self: end;
    margin-top: 0;
  }
  /* Button als quadratisches Icon (Text ausgeblendet, Bag-Icon per mask).
     Selektor mit .btn.btn--secondary, damit er die Desktop-Regel gleicher
     Spezifitaet ueberschreibt (sonst gewinnt Desktop trotz Media Query). */
  .cart-recommendations .card.card--related .card__info .btn.btn--secondary,
  .cart-recommendations .card.card--related .card__info .btn,
  .cart-drawer__promoted-products .card.card--related .card__info .btn.btn--secondary,
  .cart-drawer__promoted-products .card.card--related .card__info .btn {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    padding: 0 !important;
    font-size: 0 !important;
    gap: 0 !important;
  }
  .cart-recommendations .card.card--related .card__info .btn.btn--secondary::before,
  .cart-recommendations .card.card--related .card__info .btn::before,
  .cart-drawer__promoted-products .card.card--related .card__info .btn.btn--secondary::before,
  .cart-drawer__promoted-products .card.card--related .card__info .btn::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    background-color: #ffffff;
    -webkit-mask: url("/cdn/shop/files/bag-icon.svg?v=1779375715") no-repeat center / contain;
            mask: url("/cdn/shop/files/bag-icon.svg?v=1779375715") no-repeat center / contain;
  }
}

.dw-banner__text strong{
  font-weight: 700;
  }

  .sb-inner {
    margin: 0 auto;
    padding: 0;
  }

  @media (max-width: 640px) {
    .sb-inner--bg {
      background: none !important;
    }
  }

  .sb-title {
    margin: 1.5rem 0 2rem;
    line-height: clamp(22px, 1.83vw, 26.28px);
  }
  .sb-grid {
    display: grid;
    grid-template-columns: repeat(var(--sb-cols, 2), 1fr);
    column-gap: 4rem;
  }
  .sb-row {
    display: flex;
    align-items: baseline;
    gap: 1rem;
    padding: 16px 0;
    border-bottom: 1px solid rgba(0,0,0,0.1);
  }
  .sb-label {
    font-weight: 700;
    font-size: 0.95em;
    white-space: nowrap;
    min-width: 120px;
  }
  .sb-value {
    font-size: 0.95em;
  }
  .sb-value p,
  .sb-value div {
    display: inline;
    margin: 0;
    padding: 0;
  }
  .sb-value a {
    text-decoration: underline;
  }
  .sb-value br {
    display: none;
  }
  @media (max-width: 640px) {
    .sb-grid {
      grid-template-columns: 1fr;
    }
  }

  @media (min-width: 641px) and (max-width: 1024px) {
    .sb-grid {
      grid-template-columns: repeat(2, 1fr);
    }
  }

  .sb-wrap--contained {
    margin-top: 40px;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
  
  @media screen and (min-width: 768px) {
    .sb-inner {
      padding-left: 1.5rem;
      padding-right: 1.5rem;
    }
    .sb-inner--bg {
      padding: 50px 50px 50px;
    }
  }

  @media screen and (max-width: 1620px) {
    .sb-wrap--contained .container.mb-heading {
      max-width: 1460px;
      padding-left: 0;
      padding-right: 0;
    }
  }

  @media screen and (max-width: 768px) {
    .section__heading--mobile-left {
      text-align: left !important;
    }

    .breadcrumbs {
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      scrollbar-width: none;
    }
    .breadcrumbs::-webkit-scrollbar {
      display: none;
    }
    .breadcrumbs-list {
      flex-wrap: nowrap !important;
      white-space: nowrap;
    }
    .breadcrumbs-list > li {
      flex-shrink: 0;
    }
    .breadcrumbs-list__link {
      white-space: nowrap;
    }
  }

    .gp-wrap {
    max-width: 1470px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
  }
  @media (min-width: 769px) {
    .gp-wrap {
      padding: 6rem 1.5rem;
    }
  }
  .gp-two-col {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2.5rem;
    align-items: stretch;
  }
  .gp-left {
    min-height: 150px;
  }
  .gp-right {
    display: flex;
    flex-direction: column;
  }

  @media (min-width: 992px) {
    .gp-right {
      margin-left: auto;
      min-width: 600px;
    }
  }

  .gp-card {
    flex: 1;
    padding: 40px;
  }

  /* Beschreibung: Theme-Stile greifen via .rte */
  .gp-desc {
    margin: 0 0 1.5rem;
  }
  .gp-desc p {
    line-height: 1.7;
  }

@media screen and (max-width: 768px) {
  .gp-left {
    margin-bottom: 40px;
  }

  .gp-desc .gp-desc__extra {
    display: none;
  }

  .gp-desc.is-expanded .gp-desc__extra {
    display: block;
  }

  .gp-desc__toggle {
    display: inline-block;
    margin-top: 8px;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 5px;
    font-weight: 600;
    font-size: 14px;
    color: #343a41;
    background: none;
    border: none;
    padding: 0;
    font-family: inherit;
  }
}

@media screen and (min-width: 769px) {
  .gp-desc__toggle {
    display: none;
  }
}


  /* Accordion */
  .gp-accordion {
    border-top: 1px solid currentColor;
    border-bottom: 1px solid currentColor;
    opacity: 0.9;
  }
  .gp-acc-trigger {
    display: flex;
    align-items: center;
    gap: 0.6rem;
    width: 100%;
    background: none;
    border: none;
    padding: 0.85rem 0;
    cursor: pointer;
    color: inherit;
    font: inherit;
    text-align: left;
  }
  .gp-acc-trigger:hover { opacity: 0.75; }
  .gp-acc-label { flex: 1; }
  .gp-acc-badge {
    background: #c0392b;
    color: #fff;
    font-size: 0.7em;
    font-weight: 600;
    padding: 0.15em 0.55em;
    border-radius: 3px;
  }
  .gp-acc-icon {
    display: flex;
    align-items: center;
    transition: transform 0.25s ease;
  }
  .gp-acc-trigger { list-style: none; }
  .gp-acc-trigger::-webkit-details-marker { display: none; }
  .gp-accordion[open] .gp-acc-icon { transform: rotate(180deg); }
  .gp-acc-body > .rte { padding: 0.5rem 0 1rem; }
  /* Karte: siehe oben bei .gp-right */
  /* Überschriften: Schriftart vom Theme, Größe explizit gesetzt */
  .gp-card-title {
    margin: 0 0 1.5rem;
    font-size: clamp(16px, 1.4vw, 20.22px);
    line-height: clamp(22px, 1.83vw, 26.28px);
    text-align: center;
  }
  .gp-aromen-title {
    margin: 1.5rem 0 1rem;
    font-size: clamp(16px, 1.4vw, 20.22px);
    line-height: clamp(22px, 1.83vw, 26.28px);
    text-align: center;
  }
  .gp-desc h2 {
    font-size: clamp(18px, 1.7vw, 24px);
    line-height: clamp(24px, 2.1vw, 31px);
    margin-bottom: 1.75rem !important;
  }
  /* Skalen */
  .gp-scales {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
    margin-bottom: 1.75rem;
  }
  .gp-scale-name {
    margin: 0 0 0.4rem;
    font-size: clamp(11px, 0.92vw, 13.2px);
    line-height: clamp(17px, 1.375vw, 19.8px);
    font-weight: 700;
  }

  .gp-scale {
    margin-bottom: 1.5rem;
  }

  .gp-scale-track {
    display: flex;
    gap: 6px;
    margin-bottom: 4px;
  }
  .gp-seg {
    flex: 1;
    height: 6px;
    border-radius: 3px;
    background: #fff;
  }
.gp-scale-legend {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  color: #666;
}
  /* Aromen */
  .gp-aromen-list {
    display: flex;
    flex-wrap: wrap;
    gap: 1.25rem;
    justify-content: center;
  }
  .gp-aroma {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.45rem;
  }
  .gp-aroma-img {
    width: 80px;
    height: 80px;
    object-fit: cover;
    border-radius: 50%;
    display: block;
  }
  .gp-aroma-name {
    font-size: 0.85em;
    text-align: center;
  }
  @media (max-width: 768px) {
    .gp-two-col { grid-template-columns: 1fr; }
  }


/* Badges PDP */
 .product-media .product-label--elegant-fruchtig, 
 .product-media .product-label--aromatisch-frisch,
 .product-media .product-label--vollmundig-gehaltvoll,
 .product-media .product-label--elegant-leicht,
 .product-media .product-label--samtig-weich,
 .product-media .product-label--opulent-uppig,
 .product-media .product-label--gehaltvoll-wurzig,
 .product-media .product-label--fruchtig-frisch {
    display: none;
  }

/* BuyBox */
  .product-info__block .jdgm-prev-badge__text {
    font-size: 13px;
  }
  
  .sh-payment-icons-container {
    display: none;
  }


.sh-trust {
  display: flex;
  align-items: center;
  gap: 0;
  margin-top: -20px;
}

.sh-advantage {
  background-color: transparent;
  color: #343a41;
  border-radius: 0;
  height: auto;
  padding: 0;
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 13px;
}

.sh-advantage::before {
  content: '✓';
  font-weight: 600;
  flex-shrink: 0;
}

.sh-advantage img {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  vertical-align: middle;
}

.sh-advantage strong {
  font-weight: 700;
}

/* Zwischenstufe: fette Wörter umbrechen */
@media (max-width: 1400px) {
  .sh-advantage {
    white-space: normal;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: 4px;
  }

  .sh-advantage strong {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 1024px) and (min-width: 769px) {
  .sh-trust {
    display: grid;
    grid-template-columns: 1fr 1fr;
    align-items: center;
    column-gap: 12px;
    row-gap: 12px;
    margin-top: 0;
  }

  .sh-advantage {
    justify-content: flex-start;
    text-align: left;
    width: auto;
    flex: none;
    flex-wrap: nowrap;
    gap: 4px;
    line-height: 18px;
  }

  .sh-advantage strong {
    width: auto !important;
    text-align: left;
  }
}

@media (max-width: 768px) {
  .sh-trust {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    margin-top: 0;
    margin-bottom: 24px;
  }

  .sh-advantage {
    white-space: normal;
    flex-wrap: wrap;
    justify-content: center;
    text-align: center;
    gap: 4px;
  }

  .sh-advantage strong {
    width: 100%;
    text-align: center;
  }
}



/* Preis */
.product-info__price,
.product-info__price .price {
  display: contents;
}

.product-info__block.product-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 8px;
  padding: 0;
  margin-left: 0;
}

.price__top {
  flex: 0 0 auto;
  display: flex;
  align-items: baseline;
}

/* Buybox: bei reduzierten Artikeln Streichpreis ÜBER den aktuellen Preis.
 * Absolut positioniert, damit die Baseline von .price__top auf dem aktuellen
 * Preis liegt und Policies/Versandhinweis weiterhin dort ausrichten. */
.product-info__price .price--on-sale .price__top {
  position: relative;
  padding-top: 18px;
}
.product-info__price .price--on-sale .price__top .price__was {
  position: absolute;
  top: 0;
  left: 0;
  font-size: 16px;
  line-height: 1.2;
  margin: 0;
  color: rgb(var(--sale-label-bg-color));
}

.price__top .price__current {
  font-size: 24px;
  font-weight: 700;
}

.product-policies {
  flex: 0 0 auto;
  order: 2;
  font-size: 13px;
  color: #666;
  margin: 0;
}

.product-info__price .product-unit-price {
  flex: 0 0 100%;
  order: 3;
  font-size: 12px;
  color: #888;
  font-style: italic;
  margin: 0;
  padding: 0;
}

.price__no-variant {
  order: 4;
}


/* 3 - 5 Produktvorteile */
.bullet-points-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.bullet-point-item {
  display: flex;
  align-items: center;
  gap: 12px;
}

.bullet-point-icon {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: #3a7d44;
  display: flex;
  align-items: center;
  justify-content: center;
}

.bullet-point-icon::after {
  content: '';
  display: block;
  width: 6px;
  height: 10px;
  border-right: 2px solid #fff;
  border-bottom: 2px solid #fff;
  transform: rotate(45deg) translate(-1px, -1px);
}

.bullet-point-text {
  font-size: 14px;
  color: #111;
  line-height: 1.4;
}

/* Buy CTA und Mengenfeld */

  .product-info__add-to-cart button.btn--primary {
    background: #111;
    font-size: 18px;
    padding: 21px 20px;
    position: relative;
    padding-right: 50px;
    transition: background 0.25s ease, box-shadow 0.25s ease;
  }

  .product-info__add-to-cart button.btn--primary:hover {
    background: #292929;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.08);
  }

  .product-info__add-to-cart button.btn--primary::after {
    content: '';
    position: absolute;
    right: 30px;
    top: 50%;
    transform: translateY(-50%) rotate(45deg);
    width: 10px;
    height: 10px;
    border-top: 2.5px solid white;
    border-right: 2.5px solid white;
    transition: right 0.25s ease;
  }

  .product-info__add-to-cart button.btn--primary:hover::after {
    right: 20px;
  }

  .product-info__add-to-cart .qty-input .qty-input__input {
    font-size: 18px !important;
    font-weight: 700 !important;
  }




@media (min-width: 768px) {
  .product-info__add-to-cart.flex {
    flex-wrap: wrap;
    
  }

  .product-info__add-to-cart quantity-input {
      height: 64px;
  }


  .product-info__add-to-cart quantity-input {
    flex: 1 1 100%;
    margin-inline-end: 0;
    margin-bottom: calc(2 * var(--space-unit));
  }

  quantity-input + .product-info__add-button {
    flex: 1 1 100%;
    margin-inline-start: 0;
  }
}

@media (min-width: 420px) and (max-width: 767px) {
  .product-info__add-to-cart.flex {
    flex-wrap: nowrap;
  }

  .product-info__add-to-cart quantity-input {
    flex: 1 1 35%;
    margin-inline-end: calc(2 * var(--space-unit));
    margin-bottom: 0;
  }

  quantity-input + .product-info__add-button {
    flex: 1 1 65%;
    margin-inline-start: calc(2 * var(--space-unit));
  }
}

@media (max-width: 419px) {
  .product-info__add-to-cart button.btn--primary {
    font-size: 15px;
    padding: 21px 15px;
  }

  .product-info__add-to-cart button.btn--primary::after {
    display: none;
  }

}


/* Lieferzeit */
.product-info__block.product-inventory {
  font-size: 13px;
  font-weight: 700;
  margin: -20px 0 20px 0 !important;
}

@media (max-width: 768px) {
  .product-info__block.product-inventory {
    margin: 0px 0 30px 0 !important;
  }
}

/* Service Accordion */
.product-info__block:has(> details-disclosure) {
  margin: 0;
}

.product-info__block:has(> details-disclosure) .sh-service__inner ~ * .disclosure--row,
details-disclosure:has(.sh-service__inner) .disclosure--row {
  border-top: none;
}

.sh-service__avatars {
  display: flex;
  flex-shrink: 0;
  margin-left: 20px;
}

.sh-service__avatar {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 2px solid #fff;
  object-fit: cover;
  margin-left: -8px;
}

.sh-service__avatar:first-child {
  margin-left: 0;
}

.sh-service__inner {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sh-service__text {
  font-size: 14px;
  color: #111111;
  line-height: 1.7;
  margin: 0 0 20px;
}

.sh-service__phone {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 15px;
  font-weight: 600;
  color: #343a41;
  text-decoration: none;
}

.sh-service__phone:hover {
  color: #000;
}

.sh-service__hours {
  font-size: 12px;
  color: #888;
  margin: 0;
}

.disclosure__content ul li {
  font-size: 14px;
}


/* Wine Badges */

.product-media.product-media--slider {
  position: relative;
}

.product-badges__wrapper {
  border-left: none;
  display: flex;
  flex-direction: column;
  gap: 0;
  position: absolute;
  top: 100px;
  z-index: 2;
  max-width: 200px;
  min-width: 140px;
  padding: 0;
}

.product-badge__content {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0;
  text-align: left;
  font-size: 13px;
  padding: 12px 0;
  border-bottom: 1px solid #e8e8e8;
}

.product-badge__content:first-child {
  border-top: none;
}

.product-badge__content:last-child {
  border-bottom: none;
}

.product-badge__image {
  width: 26px;
  height: 26px;
  object-fit: contain;
  flex-shrink: 0;
  margin-right: 16px;
}

.product-badge__label {
  margin: 0;
  color: #343a41;
  padding-left: 16px;
  border-left: 1px solid #e8e8e8;
}

.product-badge__label {
  a {
    text-decoration: underline;
  }
}

@media screen and (max-width: 599px) {
  .product-badges__wrapper {
    margin-left: 4px;
    min-width: 90px;
    max-width: 110px;
  }

  .product-badge__content {
    gap: 6px;
    font-size: 11px;
    padding: 8px 4px;
  }
}

@media screen and (max-width: 994px) {
  [data-template*="wein"] .media-gallery {
    width: 55%;
    position: relative;
    left: 30%;
  }

  .cc-main-product:has([data-template*="wein"]) {
    overflow-x: hidden;
  }

  [data-template*="wein"] wishlist-button-product .wk-floating {
    left: -100px !important;
    top: -350px !important;
  }
}

  #product-media {
    position: relative;
    min-height: 350px;
    max-height: 700px!important;
  }

  .product-badges__wrapper {
    position: absolute;
    top: 70px;
    right: 0;
    left: 0;
    transform: none;
    margin: 0;
    width: 52%;
    min-width: 0;
    max-width: none;
    z-index: 2;
  }

@media screen and (min-width: 994px) {
  .product-badges__wrapper {
    width: 35%;
  }
}

  .media-gallery {
    width: 55%;
  }

  .product-badge__content {
    padding: 8px 0;
    gap: 0;
  }

  .product-badge__label {
    font-size: 13px;
  }

.product-label-container {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.product-label {
  margin-inline-end: 3px;
}

#product-media,
.product-media {
  position: relative;
}

.product-badges-overlay {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 3;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: 6px;
  pointer-events: none;
  max-width: calc(100% - 16px);
}

.product-badges-overlay > * {
  pointer-events: auto;
}

/* Cart-Drawer: Desktop als floating Panel rechts (10px Abstand top/right/bottom),
 * 640px breit, abgerundete Ecken. */
@media (min-width: 769px) {
  .drawer.drawer--cart {
    top: 10px;
    right: 10px;
    bottom: 10px;
    height: calc(var(--viewport-height, 100vh) - 20px);
    max-width: 640px;
    border-radius: 12px;
    overflow: hidden;
  }
}

/* Cart-Drawer Footer: heller Hintergrund, kein Schatten, 1px Border oben */
.drawer--cart .drawer__footer {
  background-color: #F6F6F7;
  box-shadow: none;
  border-top: 1px solid #E1E2E3;
}

/* Cart-Drawer Checkout-CTA: schwarzer Button 60px hoch, Text zentriert,
 * Chevron-Icon rechts. */
.cart-drawer__checkout {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 60px !important;
  padding: 0 24px !important;
  background: #111 !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  text-decoration: none;
  cursor: pointer;
}

.cart-drawer__checkout:hover:not([disabled]),
.cart-drawer__checkout:focus:not([disabled]) {
  background: #000 !important;
  background-image: none !important;
  color: #ffffff !important;
  opacity: 1;
}

.cart-drawer__checkout[disabled] {
  opacity: 0.4;
  cursor: not-allowed;
}

.cart-drawer__checkout-label {
  display: inline-block;
}

.cart-drawer__checkout-icon {
  position: absolute;
  right: 20px;
  top: 50%;
  transform: translateY(-50%);
  display: inline-flex;
  align-items: center;
}

.cart-drawer__checkout-icon .icon {
  width: 22px;
  height: 22px;
}

/* PLZ-Widget (Lieferort) im Cart-Drawer: Label oben drüber,
 * Input + Speichern-Button als nahtlose Pill-Form darunter. */
.order-delivery-locations {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 110px;
  grid-template-areas:
    "label label"
    "input button";
  row-gap: 6px;
  margin: 10px 0 0 0;
  text-align: left;
  background: transparent;
  border: 0;
  border-radius: 0;
  overflow: visible;
}

.order-delivery-locations label[for="delivery-location-zip"] {
  grid-area: label;
  display: block;
  font-size: 14px;
  color: #111;
  font-weight: 600 !important;
  margin: 0;
}

.order-delivery-locations input#delivery-location-zip {
  grid-area: input;
  align-self: stretch;
  min-width: 0;
  height: 44px;
  margin: 0;
  padding: 0 16px;
  background: #ffffff;
  color: #111;
  font-size: 14px;
  line-height: 42px;
  outline: 0;
  border: 1px solid #E1E2E3;
  border-right: 0;
  border-radius: 8px 0 0 8px;
  box-sizing: border-box;
}

.order-delivery-locations input#delivery-location-zip::placeholder {
  color: #888;
}

.order-delivery-locations input#delivery-location-zip:focus {
  border-color: #B8B9BB;
}

.order-delivery-locations input#delivery-location-search {
  grid-area: button;
  align-self: stretch;
  width: 110px;
  height: 44px;
  margin: 0;
  padding: 0;
  background: #DCDCDC;
  color: #111;
  font-size: 14px;
  font-weight: 600;
  line-height: 42px;
  cursor: pointer;
  border: 1px solid #E1E2E3;
  border-left: 0;
  border-radius: 0 8px 8px 0;
  box-sizing: border-box;
}

.order-delivery-locations input#delivery-location-search:hover {
  background: #C8C8C8;
}

/* Cart-Item Layout: Title nicht fett, Total bold + Unit-Price klein darunter,
 * etwas größere Quantity-Controls. */
.drawer--cart .cart-item__title,
.cart-items .cart-item__title {
  font-weight: 400;
  font-size: 15px;
  line-height: 1.35;
}

.cart-items .cart-item__total .price__current {
  font-weight: 700;
  font-size: 16px;
}

.cart-items .cart-item__unit-price {
  margin-top: 4px;
  font-size: 12px;
  font-style: italic;
  color: #888888;
}

.cart-items .cart-item__pfand {
  margin-top: 2px;
  font-size: 11px;
}

/* Einzelpreis je Stück: steht links unter dem Titel, sobald mehr als ein Stück
 * der Position im Warenkorb liegt. Gleiche Optik wie die Positionssumme rechts,
 * damit der Kunde beide Werte direkt vergleichen kann. */
.cart-items .cart-item__single-price {
  margin-top: 12px;
  font-size: 16px;
  font-weight: 700;
  color: #111;
  line-height: 1.2;
}

@media (max-width: 767px) {
  .cart-items .cart-item__single-price {
    margin-top: 8px;
    font-size: 15px;
  }
}

.cart-items .cart-item__qty .qty-input--combined .qty-input__btn,
.cart-items .cart-item__qty .qty-input__input {
  height: 44px;
  min-width: 38px;
  font-size: 15px;
}

.cart-items .cart-item__qty .cart-item__remove {
  width: 44px;
  height: 44px;
  opacity: 0.7;
}

.cart-items .cart-item__qty .cart-item__remove:hover {
  opacity: 1;
}

/* Mobile: Total-Preis rechts neben Qty-Controls auf derselben Höhe,
 * keine "Gesamtsumme"-Headline mehr. */
@media (max-width: 767px) {
  .cart-items .cart-item__qty-row {
    width: 100%;
    gap: 8px;
  }
  .cart-item__mobile-total {
    margin-left: auto;
    text-align: right;
    flex-shrink: 0;
    align-self: center;
  }
  .cart-item__mobile-total .price__current {
    font-size: 15px;
    font-weight: 700;
    color: #111;
  }
  .cart-item__mobile-total .price__was {
    display: block;
    margin-left: 0;
    margin-top: 2px;
    font-size: 12px;
    opacity: 0.7;
  }
  .cart-item__mobile-total .cart-item__unit-price {
    margin-top: 2px;
    font-size: 11px;
    font-style: italic;
    color: #888;
  }
}

/* Desktop: das mobile-only Element verstecken */
@media (min-width: 767px) {
  .cart-item__mobile-total {
    display: none;
  }
}

/* Sehr kleine Mobile-Screens (<390px): Spalten-Gap im Cart-Item verkleinern,
 * damit Titel und Qty-Input ~20px weiter nach links rücken. */
@media (max-width: 389px) {
  .cart-items .cart-item {
    column-gap: 4px;
  }
}