.elementor-7683 .elementor-element.elementor-element-631bbcb{--display:grid;--e-con-grid-template-columns:repeat(1, 1fr);--e-con-grid-template-rows:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:60px;--margin-bottom:35px;--margin-left:0px;--margin-right:0px;--z-index:0;}.elementor-7683 .elementor-element.elementor-element-631bbcb:not(.elementor-motion-effects-element-type-background), .elementor-7683 .elementor-element.elementor-element-631bbcb > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#FFFFFF;}.elementor-7683 .elementor-element.elementor-element-789e2066{--display:flex;}.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-Serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}.elementor-7683 .elementor-element.elementor-element-221ad694{font-family:"Inter", Sans-Serif;font-size:21px;font-weight:400;color:#000000;}:root{--page-title-display:none;}@media(max-width:1023px){.elementor-7683 .elementor-element.elementor-element-631bbcb{--grid-auto-flow:row;--margin-top:40px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7683 .elementor-element.elementor-element-221ad694 > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 47px 47px 47px;}}@media(max-width:767px){.elementor-7683 .elementor-element.elementor-element-631bbcb{--e-con-grid-template-columns:repeat(1, 1fr);--grid-auto-flow:row;--margin-top:144px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;}.elementor-7683 .elementor-element.elementor-element-789e2066{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-7683 .elementor-element.elementor-element-221ad694 > .elementor-widget-container{padding:0px 0px 0px 0px;}}/* Start custom CSS for text-editor, class: .elementor-element-221ad694 *//* =========================================================
   Vienna Tea Festival – Cart, finale Version
   ========================================================= */

:root {
  --vtf-line: #e6e1d8;
  --vtf-fill: #fdefac;
  --vtf-blue: #a5b2cf;
  --vtf-font: "parabolica", sans-serif;
  --vtf-size: 1rem;
}

/* ---------- Harter Reset: nur innerhalb des Cart-Inhalts ---------- */
.woocommerce-cart .woocommerce,
.woocommerce-cart .woocommerce * {
  border: none !important;
  border-radius: 0 !important;
  outline: none !important;
  box-shadow: none !important;
  font-family: var(--vtf-font) !important;
  font-weight: 400 !important;
  color: #000 !important;
  font-size: var(--vtf-size) !important;
  line-height: 1.4 !important;
}

/* Ausnahme: Proceed-to-checkout größer */
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  font-size: 1.15rem !important;
}

/* Tabellenränder nicht doppelt zählen */
.woocommerce-cart table.cart,
.woocommerce-cart .cart_totals table {
  border-collapse: collapse;
  width: 100%;
}

/* Gezielt die 1px-Trennlinien wieder setzen */
.woocommerce-cart table.cart th {
  text-align: left;
  border-bottom: 1px solid var(--vtf-line) !important;
  padding: 14px 10px;
}
.woocommerce-cart table.cart td {
  border-top: 1px solid var(--vtf-line) !important;
  padding: 16px 10px;
  vertical-align: middle;
}
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table th {
  border-top: 1px solid var(--vtf-line) !important;
}

/* ---------- Produktbild ausblenden ---------- */
.woocommerce-cart table.cart td.product-thumbnail,
.woocommerce-cart table.cart th.product-thumbnail {
  display: none;
}

/* =========================================================
   Mengenfeld (Quantity) — transparent, ohne Rahmen,
   eigene dünne Pfeile statt der nativen Browser-Spinner
   ========================================================= */
.woocommerce-cart .quantity {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.woocommerce-cart .quantity input.qty {
  min-height: 44px;
  width: 72px;
  text-align: center;
  background: transparent !important;
  border: none !important;
  padding-right: 22px !important; /* Platz für die eigenen Pfeile rechts */
  -moz-appearance: textfield !important;      /* Firefox: native Pfeile aus */
  -webkit-appearance: none !important;        /* Safari/Chrome: native Pfeile aus */
  appearance: none !important;
}

/* Native Spinner-Pfeile in Chrome/Edge hart entfernen */
.woocommerce-cart .quantity input.qty::-webkit-inner-spin-button,
.woocommerce-cart .quantity input.qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

/* Eigener dünner Pfeil nach oben */
.woocommerce-cart .quantity::after {
  content: "" !important;
  position: absolute !important;
  right: 7px !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-top: 1.5px solid #000 !important;
  border-right: 1.5px solid #000 !important;
  transform: translateY(-86.25%) rotate(-45deg) !important;
  pointer-events: none !important;
}

/* Eigener dünner Pfeil nach unten */
.woocommerce-cart .quantity::before {
  content: "" !important;
  position: absolute !important;
  right: 7px !important;
  bottom: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-bottom: 1.5px solid #000 !important;
  border-left: 1.5px solid #000 !important;
  transform: translateY(86.25%) rotate(-45deg) !important;
  pointer-events: none !important;
}

/* Falls das Theme eigene Plus/Minus-Buttons statt der nativen Pfeile nutzt */
.woocommerce-cart .quantity .qty-button,
.woocommerce-cart .quantity .plus,
.woocommerce-cart .quantity .minus {
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  color: #000 !important;
  font-weight: 300 !important;
  width: 20px !important;
  height: 20px !important;
}

/* ---------- Coupon-Feld: nur schwarzer, dünner Rahmen, kein Hintergrund ---------- */
.woocommerce-cart .coupon input.input-text {
  min-height: 44px;
  background: transparent !important;
  border: 1px solid #000 !important;
  padding: 0 12px;
}

/* ---------- Versandrechner & Dropdowns ---------- */
.woocommerce-cart select,
.woocommerce-cart .shipping-calculator-form input,
.woocommerce-cart .shipping-calculator-form select {
  background: var(--vtf-fill);
  min-height: 44px;
}

/* ---------- Buttons: eckig, #a5b2cf, weißer Text ---------- */
.woocommerce-cart .button,
.woocommerce-cart .actions .button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: var(--vtf-blue) !important;
  color: #fff !important;
  min-height: 48px;
  padding: 13px 30px !important;
  transition: opacity .2s ease;
}
.woocommerce-cart .button:hover,
.woocommerce-cart .actions .button:hover,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  opacity: .85;
}

/* ---------- Cart-Totals: einheitlicher Hintergrund ---------- */
.woocommerce-cart .cart_totals {
  background: var(--vtf-fill);
  padding: clamp(18px, 4vw, 28px);
}
.woocommerce-cart .cart_totals h2 {
  margin-top: 0;
}

/* ---------- TABLET: 641–1024px ---------- */
@media (min-width: 641px) and (max-width: 1024px) {
  .woocommerce-cart table.cart th,
  .woocommerce-cart table.cart td {
    padding: 12px 8px;
  }
  .woocommerce-cart .quantity input.qty {
    width: 64px;
  }
  .woocommerce-cart .cart_totals {
    width: 100%;
    float: none;
  }
  .woocommerce-cart .coupon input.input-text {
    width: 60%;
  }
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    width: 100%;
  }
}

/* ---------- HANDY: ≤640px, Tabelle gestapelt ---------- */
@media (max-width: 640px) {
  .woocommerce-cart table.cart thead { display: none; }

  .woocommerce-cart table.cart tr {
    display: block;
    border-bottom: 1px solid var(--vtf-line) !important;
    padding: 12px 0;
    margin-bottom: 14px;
  }
  .woocommerce-cart table.cart td {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-top: none !important;
    padding: 8px 0;
    text-align: right;
  }
  .woocommerce-cart table.cart td::before {
    content: attr(data-title);
    text-align: left;
    margin-right: 12px;
  }
  .woocommerce-cart table.cart td.product-remove { justify-content: flex-end; }
  .woocommerce-cart table.cart td.product-remove::before { content: ""; }

  .woocommerce-cart .actions .button,
  .woocommerce-cart .wc-proceed-to-checkout .checkout-button {
    width: 100%;
  }
}

/* =========================================================
   Vienna Tea Festival – Remove-Icon: dünnes, gezeichnetes X
   ========================================================= */

.woocommerce-cart table.cart .remove {
  position: relative;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  color: transparent !important;   /* Original-Zeichen unsichtbar */
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 0 !important;         /* Original-"×" ausblenden */
  transition: transform .15s ease;
}

/* Zwei dünne 1px-Linien, die sich kreuzen = das eigentliche X */
.woocommerce-cart table.cart .remove::before,
.woocommerce-cart table.cart .remove::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 1px;              /* dünnste Kontur */
  background: #000;
}
.woocommerce-cart table.cart .remove::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.woocommerce-cart table.cart .remove::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.woocommerce-cart table.cart .remove:hover,
.woocommerce-cart table.cart .remove:focus {
  transform: scale(1.3);
}
.woocommerce-cart table.cart .remove:active {
  transform: scale(1.5);
}

/* =========================================================
   Vienna Tea Festival – keine Zeilen-Schattierung
   ========================================================= */

.woocommerce-cart table.cart tr,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart th,
.woocommerce-cart .cart_totals table tr,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table th {
  background: transparent !important;
}

/* =========================================================
   Vienna Tea Festival – alle Trennlinien schwarz, 1px
   ========================================================= */

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-cart .cart_totals table td,
.woocommerce-cart .cart_totals table th,
.woocommerce-cart table.cart tr {
  border-color: #000 !important;
}/* End custom CSS */
/* Start custom CSS *//* ===== VIENNA TEA FESTIVAL - CART RESPONSIVE CSS ===== */

/* === ALLE SCREENS: Schriftschnitt einheitlich Parabolica Regular === */
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td,
.woocommerce-cart table.cart td::before,
.woocommerce-cart-form .coupon,
.woocommerce-cart-form .coupon .button,
.woocommerce-cart-form table td.actions .button,
.cart-collaterals,
.cart-collaterals * {
  font-family: 'Parabolica', sans-serif !important;
  font-weight: 400 !important;
}

/* === ALLE SCREENS: Coupon-Basis === */
.woocommerce-cart-form .coupon {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}

.woocommerce-cart-form .coupon #coupon_code {
  flex: 1;
  width: auto;
  min-width: 200px;
}

.cart-collaterals .cart_totals {
  float: none;
}

/* =========================================================
   MOBILE + TABLET (< 1024px) — eine einheitliche Regel
   ========================================================= */
@media (max-width: 1023px) {

  .woocommerce-cart table.cart,
  .woocommerce-cart table.cart tbody {
    display: block;
    width: 100%;
    border: none !important;
  }

  .woocommerce-cart table.cart thead {
    display: none;
  }

  /* Jedes Produkt als eigene Einheit — nur Linie oben/unten, wie am Desktop */
  .woocommerce-cart table.cart tbody tr.cart_item,
  .woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item {
    display: block;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    border: none;
    border-top: 1px solid #000 !important;
    padding: 40px 0 16px 0;
    margin-bottom: 0;
  }

  /* Letztes Produkt bekommt zusätzlich eine untere Linie als Abschluss */
  .woocommerce-cart table.cart tbody tr.cart_item:last-child,
  .woocommerce-cart table.cart tbody tr.woocommerce-cart-form__cart-item:last-child {
    border-bottom: 1px solid #000 !important;
  }

  .woocommerce-cart table.cart td.product-thumbnail {
    display: none !important;
  }

  .woocommerce-cart table.cart td.product-remove {
    position: absolute;
    top: 12px;
    right: 12px;
    display: flex !important;
    border: none !important;
    padding: 0 !important;
    width: auto !important;
  }

  /* Label (Product:/Price:/...) links, Wert rechts — schriftschnitt regular wie Desktop */
  .woocommerce-cart table.cart td.product-name,
  .woocommerce-cart table.cart td.product-price,
  .woocommerce-cart table.cart td.product-quantity,
  .woocommerce-cart table.cart td.product-subtotal {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    width: 100% !important;
    box-sizing: border-box;
    padding: 6px 0 !important;
    border: none !important;
    font-weight: 400 !important;
  }

  /* Kategorie-Label (Product:/Price:/Quantity:/Subtotal:) — Parabolica Regular wie Wert */
  .woocommerce-cart table.cart td.product-name::before,
  .woocommerce-cart table.cart td.product-price::before,
  .woocommerce-cart table.cart td.product-quantity::before,
  .woocommerce-cart table.cart td.product-subtotal::before {
    content: attr(data-title) ":";
    font-weight: 400 !important;
    margin-right: 12px;
  }

  /* Coupon-Zeile: immer gestapelt, egal ob 320px oder 700px breit */
  .woocommerce-cart-form .coupon {
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px;
    margin-top: 16px;
  }

  .woocommerce-cart-form .coupon #coupon_code {
    width: 100% !important;
    min-width: unset !important;
    flex: unset !important;
  }

  .woocommerce-cart-form .coupon .button,
  .woocommerce-cart-form table td.actions .button[name="update_cart"] {
    width: 100% !important;
    text-align: center;
    font-weight: 400 !important;
  }

  .woocommerce-cart-form table td.actions {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px;
    border-top: none !important;
    padding-top: 14px !important;
  }

  /* Kein zusätzlicher Rand über den Totals — die Subtotal-Linie reicht */
  .cart-collaterals {
    border-top: none !important;
    margin-top: 16px !important;
    padding-top: 0 !important;
  }

  .cart-collaterals .cart_totals {
    width: 100% !important;
    float: none !important;
  }
}

/* =========================================================
   DESKTOP (≥ 1024px)
   ========================================================= */
@media (min-width: 1024px) {
  .cart-collaterals .cart_totals {
    width: 48%;
    float: right;
  }
}
/* === ALLE SCREENS: Quantity — schlanke Pfeile ohne Hintergrund, Feld höher === */
.woocommerce-cart .quantity {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.woocommerce-cart .quantity .qty {
  height: 44px !important;
  padding-right: 22px !important; /* Platz für die eigenen Pfeile rechts im Feld */
  border: 1px solid #000 !important;
  background: transparent !important;
  -moz-appearance: textfield !important; /* Firefox: native Pfeile komplett aus */
  -webkit-appearance: none !important; /* Safari/Chrome: native Pfeile komplett aus */
  appearance: none !important;
}

/* Native Browser-Pfeile in Chrome/Edge zusätzlich hart entfernen */
.woocommerce-cart .quantity .qty::-webkit-inner-spin-button,
.woocommerce-cart .quantity .qty::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
  margin: 0 !important;
  display: none !important;
}

/* Eigener dünner Pfeil nach oben — ersetzt die entfernten nativen Pfeile */
.woocommerce-cart .quantity::after {
  content: "" !important;
  position: absolute !important;
  right: 7px !important;
  top: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-top: 1.5px solid #000 !important;
  border-right: 1.5px solid #000 !important;
  transform: translateY(-75%) rotate(-45deg) !important;
  pointer-events: none !important;
}

/* Eigener dünner Pfeil nach unten */
.woocommerce-cart .quantity::before {
  content: "" !important;
  position: absolute !important;
  right: 7px !important;
  bottom: 50% !important;
  width: 7px !important;
  height: 7px !important;
  border-bottom: 1.5px solid #000 !important;
  border-left: 1.5px solid #000 !important;
  transform: translateY(75%) rotate(-45deg) !important;
  pointer-events: none !important;
}/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Inter';
	font-style: normal;
	font-weight: normal;
	font-display: auto;
	src: url('https://www.viennateafestival.at/wp-content/uploads/2025/07/Inter_18pt-Light.ttf') format('truetype');
}
/* End Custom Fonts CSS */