/* =========================================================
   VaBene Cartbar – final merged
   Annahme für Icon-Rot: #890000
   Hinweis: #89000 ist ungültig, daher hier #890000
   ========================================================= */

:root{
  --vb-cancel-text: #2d2d2d;
  --vb-cancel-red:  #890000;
  --vb-divider:     #d2d2d2;
  --vb-green:       #008a67;
}

/* =========================================================
   Grundabstand Seite
   Mobile: Cartbar + mobile Cancelbar
   ========================================================= */
body.page-id-18692{
  padding-bottom: 126px !important;
}

/* =========================================================
   Hauptleiste
   Maße bewusst aus deiner 2. CSS übernommen
   ========================================================= */
#vb-cartbar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 42px; /* Mobile: Platz für mobile Cancel-Leiste */
  z-index: 5500;
  padding: 0 3px calc(12px + env(safe-area-inset-left,0))
           max(10px, env(safe-area-inset-bottom,0))
           calc(12px + env(safe-area-inset-right,0));
  background: rgba(255,255,255,.75);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
          backdrop-filter: blur(18px) saturate(120%);
  border-top: 1px solid var(--vb-divider);
  box-shadow: 0 -8px 24px rgba(15,23,42,.15);
  box-sizing: border-box;
  border-radius: 14px 14px 0 0;
}

#vb-cartbar .vb-inner{
  max-width: 900px;
  margin: 0 auto;
}

#vb-cartbar .vb-wrap{
  display: grid;
  grid-template-columns: 1fr 1fr;
  align-items: stretch;
  border-radius: 14px;
  overflow: hidden;
  min-height: 42px;
}

.vb-zone{
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 18px; /* aus Datei 2 */
  min-height: 42px;
  color: #2d2d2d;
  font: 800 18px/1 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  -webkit-tap-highlight-color: transparent;
  user-select: none;
  text-decoration: none;
  cursor: pointer;
  box-sizing: border-box;
}

.vb-left{
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}

.vb-zone:focus{
  outline: none;
}

.vb-badge{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 18px;
  padding: 3px 7px;
  border-radius: 999px;
  background: var(--vb-green);
  color: #fff;
  font: 800 16px/22px system-ui,-apple-system,Segoe UI,Roboto;
}

.vb-total{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  height: 22px;
  padding: 3px 7px;
  border-radius: 999px;
  color: #2d2d2d;
  font: 800 18px/22px system-ui,-apple-system,Segoe UI,Roboto;
}

@media (hover:hover){
  .vb-zone:hover{
    background: rgba(255,255,255,.18);
  }
}

html.vb-standalone #vb-cartbar{
  padding-bottom: 16px !important;
}

/* =========================================================
   Standard-Trennlinie zwischen Artikel und Weiter
   ========================================================= */
#vb-cartbar .vb-zone--checkout::before{
  content: "";
  position: absolute;
  left: -1px;
  top: 50%;
  transform: translateY(-50%) scaleX(.6);
  width: 2px;
  height: 100%;
  background: var(--vb-divider);
  opacity: .8;
  pointer-events: none;
}

/* =========================================================
   Cancel Icon (SVG als <img>)
   Exakte Hex-Farbe ist per filter nie 100% präzise.
   Das hier ist eine Annäherung an #890000.
   ========================================================= */
#vb-cartbar .vb-icon,
#vb-cartbar-cancel .vb-icon{
  width: 18px;
  height: 18px;
  display: inline-block;
  flex: 0 0 18px;
  object-fit: contain;
  vertical-align: middle;
}

#vb-cartbar .vb-icon--cancel,
#vb-cartbar-cancel .vb-icon--cancel{
  filter: brightness(0) saturate(100%)
          invert(19%) sepia(96%) saturate(3045%)
          hue-rotate(353deg) brightness(76%) contrast(115%);
}

/* =========================================================
   MOBILE
   - oberer Cancel-Button AUS
   - untere Cancel-Leiste AN
   ========================================================= */
#vb-cartbar .vb-zone--cancel-top{
  display: none !important;
}

/* Untere mobile Cancel-Leiste */
#vb-cartbar-cancel{
  display: block;
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0px;
  z-index: 5499;
background: rgba(255,255,255,.58);
  -webkit-backdrop-filter: blur(18px) saturate(100%);
          backdrop-filter: blur(18px) saturate(100%);
  box-shadow: 0 -8px 24px rgba(15,23,42,.15);
  border-top: 0px solid #e6e6e6 !important;
  text-align: center;
}

#vb-cartbar-cancel .vb-inner{
  max-width: 900px;
  margin: 0 auto;
}

#vb-cartbar-cancel .vb-wrap{
  display: block;
}

#vb-cartbar-cancel .vb-zone--cancel{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 42px;
  padding: 8px 14px;
  text-decoration: none;
  color: var(--vb-cancel-text) !important;
  font: 800 14px/1.1 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;

}

#vb-cartbar-cancel .vb-left{
  justify-content: center;
}

/* =========================================================
   TABLET / DESKTOP
   - untere Cancel-Leiste AUS
   - Cancel links in Hauptleiste
   ========================================================= */
@media (min-width: 768px){

  body.page-id-18692{
    padding-bottom: 84px !important;
  }

  #vb-cartbar{
    bottom: 0;
  }

  #vb-cartbar-cancel{
    display: none !important;
  }

  #vb-cartbar .vb-wrap{
    grid-template-columns: 1fr 1fr 1fr;
  }

  #vb-cartbar .vb-zone--cancel-top{
    display: flex !important;
    justify-content: center;
    text-align: center;
    color: var(--vb-cancel-text) !important;
  }

  #vb-cartbar .vb-zone--cancel-top .vb-left{
    justify-content: center;
  }

  /* Trennlinien in 3er-Leiste */
  #vb-cartbar .vb-zone--cancel-top::after,
  #vb-cartbar .vb-zone--checkout::before{
    content: "";
    position: absolute;
    top: 50%;
    transform: translateY(-50%) scaleX(.6);
    width: 2px;
    height: 100%;
    background: var(--vb-divider);
    opacity: .8;
    pointer-events: none;
  }

  #vb-cartbar .vb-zone--cancel-top::after{
    right: -1px;
  }

  #vb-cartbar .vb-zone--checkout::before{
    left: -1px;
  }
}

/* =========================================================
   DESKTOP FEINTUNING
   Maße wieder aus deiner 2. CSS
   ========================================================= */
@media (min-width: 1024px){

  #vb-cartbar{
    display: block !important;
  }

  #vb-cartbar .vb-wrap{
    width: 100%;
    max-width: 1100px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: center;
    justify-content: space-between;
  }

  #vb-cartbar .vb-zone{
    font-size: 19px;
    padding: 14px 20px;
  }

  #vb-cartbar .vb-zone--cancel-top,
  #vb-cartbar .vb-zone#vbOpenMiniCart,
  #vb-cartbar .vb-zone--checkout{
    justify-content: center;
    text-align: center;
    padding-left: 0;
    padding-right: 0;
  }

  #vb-cartbar .vb-badge{
    min-width: 30px;
    height: 30px;
    padding: 0 10px;
    font-size: 18px;
    line-height: 30px;
  }

  #vb-cartbar .vb-total{
    font-size: 18px;
    font-weight: 900;
    padding: 5px 10px;
  }

  #vb-cartbar .vb-icon,
  #vb-cartbar-cancel .vb-icon{
    width: 20px;
    height: 20px;
    flex-basis: 20px;
  }
}


/* =========================================================
   Cartbar nur sichtbar, wenn Warenkorb Inhalte hat
   ========================================================= */
#vb-cartbar,
#vb-cartbar-cancel{
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px);
  transition: opacity .18s ease, transform .18s ease, visibility .18s ease;
}

html.vb-cart-has-items #vb-cartbar,
html.vb-cart-has-items #vb-cartbar-cancel{
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
}


body.page-id-18692{
  padding-bottom: 0 !important;
}

html.vb-cart-has-items body.page-id-18692{
  padding-bottom: 126px !important;
}

@media (min-width: 768px){
  html.vb-cart-has-items body.page-id-18692{
    padding-bottom: 84px !important;
  }
}

