body.zfwc-shop-ui {
  --zfwc-wine: #6a122f;
  --zfwc-wine-dark: #45081d;
  --zfwc-wine-soft: #f6edf0;
  --zfwc-ink: #25282d;
  --zfwc-muted: #6d6f73;
  --zfwc-line: #ded8d4;
  --zfwc-paper: #fff;
  --zfwc-warm: #f5f2ef;
  --zfwc-shadow: 0 18px 48px rgba(35, 31, 32, .10);
}

body.zfwc-shop-ui .woocommerce { color: var(--zfwc-ink); }
body.zfwc-shop-ui .woocommerce a { transition: color .2s ease, transform .2s ease, box-shadow .2s ease; }
body.zfwc-shop-ui .woocommerce form .form-row label { margin-bottom: 7px; font-size: 12px; font-weight: 800; letter-spacing: .03em; }
body.zfwc-shop-ui .woocommerce input.input-text,
body.zfwc-shop-ui .woocommerce textarea,
body.zfwc-shop-ui .woocommerce select,
body.zfwc-shop-ui .select2-container .select2-selection {
  min-height: 50px; padding: 11px 15px; border: 1px solid var(--zfwc-line) !important; border-radius: 12px !important;
  background: #fff; color: var(--zfwc-ink); box-shadow: none !important;
}
body.zfwc-shop-ui .select2-container .select2-selection__rendered { padding: 0 !important; line-height: 27px !important; }
body.zfwc-shop-ui .select2-container .select2-selection__arrow { top: 11px !important; right: 9px !important; }
body.zfwc-shop-ui .woocommerce input:focus,
body.zfwc-shop-ui .woocommerce textarea:focus,
body.zfwc-shop-ui .woocommerce select:focus { outline: 2px solid rgba(106,18,47,.14); border-color: var(--zfwc-wine) !important; }
body.zfwc-shop-ui .woocommerce a.button,
body.zfwc-shop-ui .woocommerce button.button,
body.zfwc-shop-ui .woocommerce input.button,
body.zfwc-shop-ui .woocommerce #respond input#submit {
  min-height: 48px; padding: 14px 20px !important; border: 1px solid var(--zfwc-wine) !important; border-radius: 999px !important;
  background: var(--zfwc-wine) !important; color: #fff !important; font-size: 11px !important; font-weight: 850 !important;
  letter-spacing: .06em; line-height: 1.15 !important; text-transform: uppercase; box-shadow: 0 10px 24px rgba(106,18,47,.18);
}
body.zfwc-shop-ui .woocommerce a.button:hover,
body.zfwc-shop-ui .woocommerce button.button:hover,
body.zfwc-shop-ui .woocommerce input.button:hover { transform: translateY(-2px); background: var(--zfwc-wine-dark) !important; box-shadow: 0 14px 30px rgba(106,18,47,.28); }
body.zfwc-shop-ui .woocommerce-message,
body.zfwc-shop-ui .woocommerce-info,
body.zfwc-shop-ui .woocommerce-error {
  border: 1px solid var(--zfwc-line) !important; border-top: 0 !important; border-radius: 14px; background: #fff; box-shadow: 0 10px 30px rgba(35,31,32,.07);
}
body.zfwc-shop-ui .woocommerce-message::before,
body.zfwc-shop-ui .woocommerce-info::before,
body.zfwc-shop-ui .woocommerce-error::before { color: var(--zfwc-wine) !important; }

/* Produktübersichten */
body.zfwc-shop-ui.post-type-archive-product .zw-shop-main,
body.zfwc-shop-ui.tax-product_cat .zw-shop-main { position: relative; overflow: hidden; background: linear-gradient(180deg,#e9e3df 0%,#f1ece8 48%,#e8e1dd 100%); }
body.zfwc-shop-ui.post-type-archive-product .zw-shop-main::before,
body.zfwc-shop-ui.tax-product_cat .zw-shop-main::before {
  content: ""; position: absolute; top: 0; right: 0; width: min(44vw,620px); height: 330px; pointer-events: none; opacity: .45;
  background-image: linear-gradient(rgba(106,18,47,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(106,18,47,.06) 1px,transparent 1px);
  background-size: 28px 28px; mask-image: linear-gradient(135deg,transparent 10%,#000 90%);
}
body.zfwc-shop-ui.post-type-archive-product .zw-shop-main > .zw-container,
body.zfwc-shop-ui.tax-product_cat .zw-shop-main > .zw-container { position: relative; z-index: 1; }
body.zfwc-shop-ui.post-type-archive-product .woocommerce-result-count,
body.zfwc-shop-ui.tax-product_cat .woocommerce-result-count { margin: 0 !important; padding: 13px 0; color: var(--zfwc-muted); font-size: 13px; font-weight: 700; }
body.zfwc-shop-ui.post-type-archive-product .woocommerce-ordering,
body.zfwc-shop-ui.tax-product_cat .woocommerce-ordering { margin: 0 0 0 auto; }
body.zfwc-shop-ui.post-type-archive-product .woocommerce-ordering select,
body.zfwc-shop-ui.tax-product_cat .woocommerce-ordering select { min-width: 245px; min-height: 48px; padding-right: 42px; background-color: #fff; font-size: 13px; font-weight: 700; }
body.zfwc-shop-ui.post-type-archive-product .woocommerce-result-count,
body.zfwc-shop-ui.tax-product_cat .woocommerce-result-count,
body.zfwc-shop-ui.post-type-archive-product .woocommerce-ordering,
body.zfwc-shop-ui.tax-product_cat .woocommerce-ordering { position: relative; z-index: 2; }
body.zfwc-shop-ui.post-type-archive-product ul.products,
body.zfwc-shop-ui.tax-product_cat ul.products { clear: both; padding-top: 22px; }
body.zfwc-shop-ui.woocommerce ul.products li.product,
body.zfwc-shop-ui .woocommerce ul.products li.product {
  display: flex; flex-direction: column; min-width: 0; padding-bottom: 24px !important; border-color: rgba(79,52,60,.14);
  border-radius: 24px; background: #fff; box-shadow: 0 14px 42px rgba(48,31,37,.12);
}
body.zfwc-shop-ui.woocommerce ul.products li.product:hover,
body.zfwc-shop-ui .woocommerce ul.products li.product:hover { border-color: rgba(106,18,47,.34); box-shadow: 0 26px 60px rgba(48,31,37,.17); }
body.zfwc-shop-ui.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
body.zfwc-shop-ui .woocommerce ul.products li.product .woocommerce-LoopProduct-link { display: flex; flex: 1 1 auto; flex-direction: column; color: var(--zfwc-ink); }
body.zfwc-shop-ui.woocommerce ul.products li.product a img,
body.zfwc-shop-ui .woocommerce ul.products li.product a img {
  aspect-ratio: 1/.78;
  border-bottom: 1px solid rgba(106,18,47,.10);
  background: radial-gradient(circle at 50% 30%,rgba(255,255,255,.92),rgba(255,255,255,0) 55%),linear-gradient(145deg,#f4e9ed,#e2d5da);
}
body.zfwc-shop-ui.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.zfwc-shop-ui .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--zfwc-ink); font-size: 19px !important; }
body.zfwc-shop-ui.woocommerce ul.products li.product .price,
body.zfwc-shop-ui .woocommerce ul.products li.product .price { margin-top: auto !important; color: var(--zfwc-wine) !important; font-size: 17px !important; }
body.zfwc-shop-ui.woocommerce ul.products li.product > .button,
body.zfwc-shop-ui .woocommerce ul.products li.product > .button { align-self: flex-start; margin-top: 2px !important; }
body.zfwc-shop-ui.woocommerce ul.products li.product .added_to_cart,
body.zfwc-shop-ui .woocommerce ul.products li.product .added_to_cart { margin: 12px 22px 0; color: var(--zfwc-wine); font-size: 12px; font-weight: 800; }
body.zfwc-shop-ui.woocommerce ul.products li.product-category .woocommerce-loop-category__title mark,
body.zfwc-shop-ui .woocommerce ul.products li.product-category .woocommerce-loop-category__title mark { background: transparent; color: var(--zfwc-muted); }

/* Produktdetail */
body.zfwc-shop-ui.single-product .zw-shop-main { background: linear-gradient(180deg,#f8f6f3 0%,#f1ece8 100%); }
body.zfwc-shop-ui.single-product .zw-shop-main > .zw-container { padding-top: clamp(42px,6vw,78px); }
body.zfwc-shop-ui.single-product.woocommerce div.product {
  display: grid; grid-template-columns: minmax(0,1.04fr) minmax(400px,.96fr); gap: clamp(32px,5vw,72px); align-items: start;
}
body.zfwc-shop-ui.single-product.woocommerce div.product::before,
body.zfwc-shop-ui.single-product.woocommerce div.product::after { display: none !important; }
body.zfwc-shop-ui.single-product.woocommerce div.product > .woo-variation-product-gallery,
body.zfwc-shop-ui.single-product.woocommerce div.product > .woocommerce-product-gallery {
  position: relative !important; top: auto; float: none !important; width: auto !important; min-width: 0; margin: 0 !important;
}
body.zfwc-shop-ui.single-product .woo-variation-gallery-wrapper,
body.zfwc-shop-ui.single-product .woocommerce-product-gallery {
  overflow: hidden; padding: clamp(18px,2.8vw,34px); border: 1px solid rgba(106,18,47,.11); border-radius: 30px;
  background: #fff; box-shadow: 0 22px 62px rgba(35,31,32,.10);
}
body.zfwc-shop-ui.single-product .woo-variation-gallery-slider-wrapper,
body.zfwc-shop-ui.single-product .woocommerce-product-gallery__wrapper { overflow: hidden; border-radius: 21px; background: linear-gradient(145deg,#f5f1ee,#ebe5e1); }
body.zfwc-shop-ui.single-product .wvg-gallery-image > div,
body.zfwc-shop-ui.single-product .wvg-single-gallery-image-container { display: flex; align-items: center; justify-content: center; min-height: clamp(330px,41vw,535px); }
body.zfwc-shop-ui.single-product .wvg-gallery-image img,
body.zfwc-shop-ui.single-product .woocommerce-product-gallery__image img { width: 100% !important; max-height: 510px; padding: clamp(22px,4vw,54px); object-fit: contain; }
body.zfwc-shop-ui.single-product .woo-variation-gallery-trigger { top: 18px !important; right: 18px !important; display: grid !important; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff !important; color: var(--zfwc-wine); box-shadow: 0 8px 24px rgba(35,31,32,.12); }
body.zfwc-shop-ui.single-product .woo-variation-gallery-thumbnail-wrapper { margin-top: 14px; }
body.zfwc-shop-ui.single-product .woo-variation-gallery-thumbnail-slider .wvg-gallery-thumbnail-image { padding: 5px; }
body.zfwc-shop-ui.single-product .woo-variation-gallery-thumbnail-slider .wvg-gallery-thumbnail-image img { border: 1px solid var(--zfwc-line); border-radius: 12px; background: var(--zfwc-warm); }
body.zfwc-shop-ui.single-product.woocommerce div.product > .summary {
  float: none !important; width: auto !important; min-width: 0; margin: 0 !important; padding: clamp(28px,4vw,46px);
  border: 1px solid rgba(106,18,47,.11); border-radius: 30px; background: #fff; box-shadow: 0 22px 62px rgba(35,31,32,.09);
}
body.zfwc-shop-ui.single-product .summary .product_title {
  margin: 0 0 17px; color: var(--zfwc-ink); font-size: clamp(33px,3.35vw,46px); line-height: 1.08;
  overflow-wrap: anywhere; text-wrap: balance;
}
body.zfwc-shop-ui.single-product .summary > .price { margin: 0 0 22px; color: var(--zfwc-wine) !important; font-size: clamp(22px,2.4vw,29px) !important; line-height: 1.25; }
body.zfwc-shop-ui.single-product .summary > .price small,
body.zfwc-shop-ui.single-product .woocommerce-variation-price small { color: var(--zfwc-muted); font-size: 11px; font-weight: 650; }
body.zfwc-shop-ui.single-product .woocommerce-product-details__short-description { margin-bottom: 22px; padding-bottom: 22px; border-bottom: 1px solid var(--zfwc-line); }
body.zfwc-shop-ui.single-product .woocommerce-product-details__short-description h2 { display: none; }
body.zfwc-shop-ui.single-product .woocommerce-product-details__short-description h6 { display: inline-flex; margin: 0; padding: 7px 11px; border-radius: 999px; background: var(--zfwc-wine-soft); color: var(--zfwc-wine); font-size: 10px; letter-spacing: .08em; text-transform: uppercase; }
body.zfwc-shop-ui.single-product .woocommerce-product-details__short-description > :last-child { margin-bottom: 0; }
.zw-product-assurances { display: grid; gap: 8px; margin: 0 0 27px; padding: 0; list-style: none; }
.zw-product-assurances li { position: relative; margin: 0; padding: 11px 13px 11px 42px; border: 1px solid var(--zfwc-line); border-radius: 13px; background: #fbfaf9; }
.zw-product-assurances li::before { content: "✓"; position: absolute; left: 13px; top: 13px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--zfwc-wine); color: #fff; font-size: 10px; font-weight: 900; }
.zw-product-assurances strong,
.zw-product-assurances span { display: block; line-height: 1.35; }
.zw-product-assurances strong { color: var(--zfwc-ink); font-size: 12px; }
.zw-product-assurances span { margin-top: 2px; color: var(--zfwc-muted); font-size: 10px; }
body.zfwc-shop-ui.single-product.woocommerce div.product form.cart { display: block !important; margin: 0 !important; padding-top: 0; }
body.zfwc-shop-ui.single-product.woocommerce div.product form.cart .variations { display: block !important; width: 100%; margin: 0 0 22px !important; border: 0 !important; }
body.zfwc-shop-ui.single-product form.cart .variations tbody,
body.zfwc-shop-ui.single-product form.cart .variations tr,
body.zfwc-shop-ui.single-product form.cart .variations th,
body.zfwc-shop-ui.single-product form.cart .variations td { display: block; width: 100%; padding: 0 !important; border: 0 !important; background: transparent !important; text-align: left; }
body.zfwc-shop-ui.single-product form.cart .variations tr + tr { margin-top: 19px; }
body.zfwc-shop-ui.single-product form.cart .variations th.label { margin-bottom: 9px; }
body.zfwc-shop-ui.single-product form.cart .variations th.label label { color: var(--zfwc-ink); font-size: 12px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
body.zfwc-shop-ui.single-product form.cart .variations select { width: 100%; margin: 0; }
body.zfwc-shop-ui.single-product .variable-items-wrapper { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 !important; padding: 0 !important; }
body.zfwc-shop-ui.single-product .variable-items-wrapper .variable-item:not(.radio-variable-item) {
  width: auto !important; min-width: 46px !important; height: 44px !important; margin: 0 !important; padding: 0 13px !important;
  border: 1px solid var(--zfwc-line) !important; border-radius: 11px !important; background: #fff !important; box-shadow: none !important;
}
body.zfwc-shop-ui.single-product .variable-items-wrapper .variable-item:not(.radio-variable-item):hover { border-color: var(--zfwc-wine) !important; box-shadow: 0 0 0 2px rgba(106,18,47,.09) !important; }
body.zfwc-shop-ui.single-product .variable-items-wrapper .variable-item:not(.radio-variable-item).selected { border-color: var(--zfwc-wine) !important; background: var(--zfwc-wine-soft) !important; box-shadow: 0 0 0 2px var(--zfwc-wine) !important; }
body.zfwc-shop-ui.single-product .variable-items-wrapper .variable-item span { color: var(--zfwc-ink) !important; font-size: 12px !important; font-weight: 800; }
body.zfwc-shop-ui.single-product form.cart .reset_variations { display: inline-block; margin-top: 10px; color: var(--zfwc-wine); font-size: 11px; font-weight: 750; }
body.zfwc-shop-ui.single-product .single_variation_wrap { padding-top: 22px; border-top: 1px solid var(--zfwc-line); }
body.zfwc-shop-ui.single-product .woocommerce-variation-price { margin-bottom: 14px; }
body.zfwc-shop-ui.single-product .woocommerce-variation-price .price { color: var(--zfwc-wine) !important; font-size: 24px !important; font-weight: 850; }
body.zfwc-shop-ui.single-product .woocommerce-variation-availability .stock { margin: 0 0 14px; color: #2f6546; font-size: 12px; font-weight: 800; }
body.zfwc-shop-ui.single-product .woocommerce-variation-add-to-cart,
body.zfwc-shop-ui.single-product form.cart:not(.variations_form) { display: flex !important; flex-wrap: wrap; gap: 10px; align-items: center; }
body.zfwc-shop-ui.single-product .woocommerce-variation-add-to-cart .quantity,
body.zfwc-shop-ui.single-product form.cart:not(.variations_form) .quantity { flex: 0 0 auto; }
body.zfwc-shop-ui.single-product .woocommerce-variation-add-to-cart .single_add_to_cart_button,
body.zfwc-shop-ui.single-product form.cart:not(.variations_form) .single_add_to_cart_button { flex: 1 1 230px; min-height: 54px; }
body.zfwc-shop-ui.single-product .product_meta { margin-top: 24px; padding-top: 18px; border-top: 1px solid var(--zfwc-line); color: var(--zfwc-muted); font-size: 11px; }
body.zfwc-shop-ui.single-product .product_meta > span { display: block; margin-top: 4px; }
body.zfwc-shop-ui.single-product .yith-wcwl-add-to-wishlist { margin: 18px 0 0; text-align: center; }
body.zfwc-shop-ui.single-product .yith-wcwl-add-to-wishlist a { display: inline-flex; align-items: center; gap: 7px; color: var(--zfwc-wine); font-size: 13px; font-weight: 750; }
body.zfwc-shop-ui.single-product .yith-wcwl-add-to-wishlist svg { width: 21px; height: 21px; }
body.zfwc-shop-ui.single-product .woocommerce-tabs,
body.zfwc-shop-ui.single-product .related.products { grid-column: 1/-1; }
body.zfwc-shop-ui.single-product .woocommerce-tabs { scroll-margin-top: 125px; margin-top: clamp(18px,3vw,34px) !important; padding: clamp(24px,4vw,46px); border: 1px solid rgba(106,18,47,.10); border-radius: 27px; background: #fff; box-shadow: 0 16px 44px rgba(35,31,32,.07); }
body.zfwc-shop-ui.single-product .woocommerce-tabs ul.tabs { margin: 0 !important; }
body.zfwc-shop-ui.single-product .woocommerce-tabs .panel { margin: 0 !important; padding: 30px 0 0 !important; }
body.zfwc-shop-ui.single-product .woocommerce-tabs .panel h2:first-child { font-size: clamp(25px,3vw,36px); }
body.zfwc-shop-ui.single-product .related.products { margin-top: clamp(44px,6vw,76px); }
body.zfwc-shop-ui.single-product .related.products > h2 { margin-bottom: 0; font-size: clamp(30px,4vw,46px); }

/* Warenkorb */
body.zfwc-shop-ui .woocommerce-cart-form table.shop_table { width: 100%; margin: 0; border: 0 !important; border-collapse: separate; border-spacing: 0 12px; table-layout: fixed; background: transparent; }
/* Die Positionen sind Karten, keine Tabellenzeilen. Eine zusätzliche
   Tabellenkopfzeile stört dieses ruhige Layout mehr, als sie Orientierung schafft. */
body.zfwc-shop-ui .woocommerce-cart-form thead { display: none; }
/* Die Warenkorbzeile enthält zusätzlich eine Löschspalte. Die übrigen
   festen Spalten müssen deshalb kompakt bleiben, damit Produktname und
   Konfiguration auch neben der Zusammenfassung genügend Platz erhalten. */
body.zfwc-shop-ui .woocommerce-cart-form thead .product-remove,
body.zfwc-shop-ui .woocommerce-cart-form td.product-remove { width: 44px; padding-inline: 8px !important; text-align: center; }
body.zfwc-shop-ui .woocommerce-cart-form thead .product-thumbnail { width: 88px; }
body.zfwc-shop-ui .woocommerce-cart-form thead .product-price { width: 86px; }
body.zfwc-shop-ui .woocommerce-cart-form thead .product-quantity { width: 76px; text-align: center; }
body.zfwc-shop-ui .woocommerce-cart-form thead .product-subtotal { width: 96px; }
body.zfwc-shop-ui .woocommerce-cart-form tr.cart_item { filter: drop-shadow(0 8px 20px rgba(35,31,32,.06)); }
body.zfwc-shop-ui .woocommerce-cart-form tr.cart_item td { padding: 18px 14px !important; border-top: 1px solid var(--zfwc-line) !important; border-bottom: 1px solid var(--zfwc-line) !important; background: #fff; vertical-align: middle; overflow-wrap: anywhere; }
body.zfwc-shop-ui .woocommerce-cart-form tr.cart_item td:first-child { border-left: 1px solid var(--zfwc-line) !important; border-radius: 18px 0 0 18px; }
body.zfwc-shop-ui .woocommerce-cart-form tr.cart_item td:last-child { border-right: 1px solid var(--zfwc-line) !important; border-radius: 0 18px 18px 0; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail { width: 88px; padding-right: 5px !important; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail a { display: block; width: 64px; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail img { width: 64px; height: 64px; padding: 7px; border-radius: 12px; background: var(--zfwc-warm); object-fit: contain; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-name > a:not(.remove) { display: block; margin-bottom: 8px; color: var(--zfwc-ink); font-size: 15px; font-weight: 800; line-height: 1.4; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-name dl.variation { display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 3px 7px; margin: 0; color: var(--zfwc-muted); font-size: 11px; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-name dl.variation dt,
body.zfwc-shop-ui .woocommerce-cart-form td.product-name dl.variation dd { float: none; clear: none; margin: 0; padding: 0; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-name dl.variation p { margin: 0; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-name a.remove { display: inline-flex !important; width: auto; height: auto; margin-top: 10px; padding: 5px 9px; border-radius: 999px; background: var(--zfwc-wine-soft); color: var(--zfwc-wine) !important; font-size: 9px; font-weight: 850; line-height: 1.2; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-name a.remove:hover { background: var(--zfwc-wine); color: #fff !important; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-price { width: 86px; font-size: 15px; font-weight: 850; white-space: nowrap; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-quantity { width: 76px; text-align: center; }
body.zfwc-shop-ui .woocommerce-cart-form td.product-subtotal { width: 96px; font-size: 15px; font-weight: 850; white-space: nowrap; }
body.zfwc-shop-ui .woocommerce .quantity .qty { width: 58px; min-height: 46px; padding: 8px 4px; border: 1px solid var(--zfwc-line); border-radius: 12px; text-align: center; }
body.zfwc-shop-ui .woocommerce-cart-form tr:not(.cart_item) td.actions { padding: 20px 0 0 !important; border: 0 !important; }
body.zfwc-shop-ui .woocommerce-cart-form td.actions { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; }
body.zfwc-shop-ui .woocommerce-cart-form td.actions .coupon { display: flex; gap: 8px; margin: 0 !important; }
body.zfwc-shop-ui .woocommerce-cart-form td.actions .coupon::before { display: none !important; }
body.zfwc-shop-ui .woocommerce-cart-form td.actions .coupon label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.zfwc-shop-ui .woocommerce-cart-form td.actions #coupon_code { width: 180px !important; }
body.zfwc-shop-ui .cart-collaterals { float: none !important; width: 100% !important; margin-top: 28px; }
body.zfwc-shop-ui .cart-collaterals .cart_totals { float: none !important; width: 100% !important; padding: clamp(22px,3vw,32px); border: 1px solid var(--zfwc-line); border-radius: 22px; background: linear-gradient(145deg,var(--zfwc-warm),#fff); box-shadow: var(--zfwc-shadow); }
body.zfwc-shop-ui .cart-collaterals .cart_totals h2 { margin: 0 0 10px; font-size: 25px; }
body.zfwc-shop-ui .cart-collaterals table.shop_table { border: 0 !important; background: transparent; }
body.zfwc-shop-ui .cart-collaterals table.shop_table th,
body.zfwc-shop-ui .cart-collaterals table.shop_table td { padding: 17px 0 !important; border-left: 0 !important; border-right: 0 !important; vertical-align: top; }
body.zfwc-shop-ui .cart-collaterals table.shop_table th { width: 36%; padding-right: 13px !important; font-size: 12px; }
body.zfwc-shop-ui .cart-collaterals ul#shipping_method { margin: 0; padding: 0; }
body.zfwc-shop-ui .cart-collaterals ul#shipping_method li { display: grid; grid-template-columns: 18px minmax(0,1fr); gap: 7px; align-items: start; margin: 0 0 12px; line-height: 1.45; }
body.zfwc-shop-ui .cart-collaterals ul#shipping_method input { margin-top: 3px; accent-color: var(--zfwc-wine); }
body.zfwc-shop-ui .cart-collaterals tr.order-total .woocommerce-Price-amount { color: var(--zfwc-wine); font-size: 21px; }
body.zfwc-shop-ui .wc-proceed-to-checkout { padding: 14px 0 0; }
body.zfwc-shop-ui .wc-proceed-to-checkout .checkout-button { display: flex !important; min-height: 58px; align-items: center; justify-content: center; padding: 16px 20px !important; border-radius: 14px !important; background: linear-gradient(135deg,var(--zfwc-wine),var(--zfwc-wine-dark)) !important; font-size: 12px !important; }

/* Kasse */
body.zfwc-shop-ui form.checkout_coupon,
body.zfwc-shop-ui form.login,
body.zfwc-shop-ui form.register { padding: 24px; border: 1px solid var(--zfwc-line); border-radius: 18px; background: #fff; box-shadow: 0 12px 32px rgba(35,31,32,.06); }
body.zfwc-shop-ui.woocommerce-checkout .zw-content { overflow-x: hidden; }
body.zfwc-shop-ui form.checkout.woocommerce-checkout { display: grid; width: 100%; max-width: 100%; min-width: 0; grid-template-columns: minmax(0,1.08fr) minmax(390px,.92fr); gap: 0 clamp(28px,4vw,54px); align-items: start; }
body.zfwc-shop-ui form.checkout.woocommerce-checkout > * { min-width: 0; max-width: 100%; }
body.zfwc-shop-ui form.checkout.woocommerce-checkout > .woocommerce-NoticeGroup,
body.zfwc-shop-ui form.checkout.woocommerce-checkout > .woocommerce-NoticeGroup-checkout { grid-column: 1/-1; }
body.zfwc-shop-ui .woocommerce-checkout #customer_details { grid-column: 1; grid-row: 2; display: grid; grid-template-columns: 1fr; gap: 22px; min-width: 0; width: 100%; max-width: 100%; }
body.zfwc-shop-ui .woocommerce-checkout .col2-set { min-width: 0; width: 100%; max-width: 100%; }
body.zfwc-shop-ui .woocommerce-checkout .col2-set .col-1,
body.zfwc-shop-ui .woocommerce-checkout .col2-set .col-2 { float: none !important; box-sizing: border-box; min-width: 0; width: 100% !important; max-width: 100%; margin: 0; padding: clamp(22px,3vw,32px); border: 1px solid var(--zfwc-line); border-radius: 20px; background: #fff; box-shadow: 0 12px 34px rgba(35,31,32,.05); }
body.zfwc-shop-ui .woocommerce-checkout .form-row { min-width: 0; max-width: 100%; }
body.zfwc-shop-ui .woocommerce-checkout .form-row input.input-text,
body.zfwc-shop-ui .woocommerce-checkout .form-row select { box-sizing: border-box; max-width: 100%; }
body.zfwc-shop-ui .woocommerce-checkout h3 { margin: 0 0 22px; font-size: 25px; }
body.zfwc-shop-ui .woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 2; align-self: start; margin: 0; padding: 26px 28px 20px; border: 1px solid var(--zfwc-line); border-bottom: 0; border-radius: 20px 20px 0 0; background: #fff; font-size: 25px; }
/* Beide Teile der Bestellübersicht teilen sich die zweite Grid-Zeile.
   Sonst dehnt die hohe Adresskarte die dritte Zeile und trennt Überschrift
   und Positionen durch einen großen Leerraum. */
body.zfwc-shop-ui .woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; align-self: start; margin-top: 77px; padding: 0 28px 28px; border: 1px solid var(--zfwc-line); border-top: 0; border-radius: 0 0 20px 20px; background: #fff; box-shadow: 0 18px 50px rgba(35,31,32,.08); }
body.zfwc-shop-ui .woocommerce-checkout-review-order table.shop_table { margin: 0 0 22px; border: 0 !important; border-radius: 0 !important; background: transparent; table-layout: fixed; }
body.zfwc-shop-ui .woocommerce-checkout-review-order table.shop_table th,
body.zfwc-shop-ui .woocommerce-checkout-review-order table.shop_table td { padding: 15px 8px !important; vertical-align: top; }
body.zfwc-shop-ui .woocommerce-checkout-review-order table.shop_table th:first-child,
body.zfwc-shop-ui .woocommerce-checkout-review-order table.shop_table td:first-child { padding-left: 0 !important; }
body.zfwc-shop-ui .woocommerce-checkout-review-order table.shop_table th:last-child,
body.zfwc-shop-ui .woocommerce-checkout-review-order table.shop_table td:last-child { width: 32%; padding-right: 0 !important; text-align: right; }
body.zfwc-shop-ui .woocommerce-checkout-review-order .product-name { font-size: 13px; font-weight: 750; line-height: 1.45; }
body.zfwc-shop-ui .woocommerce-checkout-review-order dl.variation { display: grid; grid-template-columns: max-content minmax(0,1fr); gap: 2px 7px; margin: 8px 0 0; color: var(--zfwc-muted); font-size: 10px; font-weight: 500; line-height: 1.4; }
body.zfwc-shop-ui .woocommerce-checkout-review-order dl.variation dt,
body.zfwc-shop-ui .woocommerce-checkout-review-order dl.variation dd { float: none !important; clear: none !important; margin: 0 !important; padding: 0; }
body.zfwc-shop-ui .woocommerce-checkout-review-order dl.variation p { margin: 0; color: inherit; }
body.zfwc-shop-ui .woocommerce-checkout-review-order tr.order-total th,
body.zfwc-shop-ui .woocommerce-checkout-review-order tr.order-total td { padding-top: 20px !important; color: var(--zfwc-wine); font-size: 17px; }
body.zfwc-shop-ui .woocommerce-checkout #payment { margin-top: 10px; border-radius: 16px !important; background: var(--zfwc-wine-soft) !important; }
body.zfwc-shop-ui .woocommerce-checkout #payment div.payment_box { border-radius: 12px; background: #fff !important; }
body.zfwc-shop-ui .woocommerce-checkout #payment div.payment_box::before { border-bottom-color: #fff !important; }
body.zfwc-shop-ui .woocommerce-checkout #place_order { width: 100%; min-height: 58px; }
body.zfwc-shop-ui .woocommerce form .form-row.woocommerce-invalid label { color: var(--zfwc-wine); }
body.zfwc-shop-ui .woocommerce-checkout .zfwc-pickup-slot { margin: 22px 0 0; }

/* Kundenkonto */
body.zfwc-shop-ui .woocommerce-MyAccount-navigation ul { margin: 0 0 26px; padding: 0; overflow: hidden; border: 1px solid var(--zfwc-line); border-radius: 18px; background: #fff; list-style: none; box-shadow: 0 10px 28px rgba(35,31,32,.05); }
body.zfwc-shop-ui .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 18px; border-bottom: 1px solid var(--zfwc-line); color: var(--zfwc-ink); font-size: 13px; font-weight: 800; }
body.zfwc-shop-ui .woocommerce-MyAccount-navigation li:last-child a { border-bottom: 0; }
body.zfwc-shop-ui .woocommerce-MyAccount-navigation li.is-active a,
body.zfwc-shop-ui .woocommerce-MyAccount-navigation a:hover { background: var(--zfwc-wine-soft); color: var(--zfwc-wine); }

@media (min-width: 1180px) {
  body.zfwc-shop-ui.woocommerce-cart .zw-content > .woocommerce { display: grid; grid-template-columns: minmax(0,1fr) minmax(340px,36%); gap: 38px; align-items: start; }
  body.zfwc-shop-ui.woocommerce-cart .zw-content > .woocommerce > .woocommerce-notices-wrapper { grid-column: 1/-1; }
  body.zfwc-shop-ui.woocommerce-cart .zw-content > .woocommerce > .woocommerce-cart-form { grid-column: 1; }
  body.zfwc-shop-ui.woocommerce-cart .zw-content > .woocommerce > .cart-collaterals { grid-column: 2; margin-top: 0; }
  body.zfwc-shop-ui.woocommerce-cart .cart-collaterals .cart_totals { position: sticky; top: 126px; }
}

@media (max-width: 820px) {
  body.zfwc-shop-ui.single-product.woocommerce div.product { grid-template-columns: minmax(0,1fr); gap: 22px; }
  body.zfwc-shop-ui.single-product.woocommerce div.product > .woo-variation-product-gallery,
  body.zfwc-shop-ui.single-product.woocommerce div.product > .woocommerce-product-gallery { position: relative !important; top: auto; }
  body.zfwc-shop-ui.single-product .woocommerce-tabs,
  body.zfwc-shop-ui.single-product .related.products { grid-column: auto; }
  body.zfwc-shop-ui .woocommerce-cart-form thead { display: none; }
  body.zfwc-shop-ui .woocommerce-cart-form table.shop_table,
  body.zfwc-shop-ui .woocommerce-cart-form table.shop_table tbody { display: block; }
  body.zfwc-shop-ui .woocommerce-cart-form tr.cart_item { display: grid; grid-template-columns: 88px minmax(0,1fr); grid-template-areas: "image name" "image price" "image quantity" "image subtotal"; margin-bottom: 14px; padding: 15px; border: 1px solid var(--zfwc-line); border-radius: 18px; background: #fff; }
  body.zfwc-shop-ui .woocommerce-cart-form tr.cart_item td { width: auto !important; padding: 7px 0 7px 12px !important; border: 0 !important; background: transparent; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail { grid-area: image; padding: 0 !important; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail a,
  body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail img { width: 76px; height: 76px; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-name { grid-area: name; text-align: left !important; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-name::before { display: none !important; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-price { grid-area: price; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-quantity { grid-area: quantity; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-subtotal { grid-area: subtotal; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-price,
  body.zfwc-shop-ui .woocommerce-cart-form td.product-quantity,
  body.zfwc-shop-ui .woocommerce-cart-form td.product-subtotal { display: flex !important; align-items: center; justify-content: space-between; gap: 12px; text-align: right; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-price::before,
  body.zfwc-shop-ui .woocommerce-cart-form td.product-quantity::before,
  body.zfwc-shop-ui .woocommerce-cart-form td.product-subtotal::before { content: attr(data-title); color: var(--zfwc-muted); font-size: 9px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-quantity .quantity { margin-left: auto; }
  body.zfwc-shop-ui .woocommerce-cart-form tr:not(.cart_item),
  body.zfwc-shop-ui .woocommerce-cart-form tr:not(.cart_item) td.actions { display: block; width: 100%; }
  body.zfwc-shop-ui form.checkout.woocommerce-checkout { display: block; }
  body.zfwc-shop-ui .woocommerce-checkout #customer_details { display: grid; gap: 18px; }
  body.zfwc-shop-ui .woocommerce-checkout #order_review_heading { margin-top: 22px; }
  body.zfwc-shop-ui .woocommerce-checkout #order_review { margin-top: 0; padding-inline: 20px; }
}

@media (max-width: 560px) {
  body.zfwc-shop-ui.post-type-archive-product .woocommerce-result-count,
  body.zfwc-shop-ui.tax-product_cat .woocommerce-result-count { float: none; width: 100%; padding: 0 0 12px; }
  body.zfwc-shop-ui.post-type-archive-product .woocommerce-ordering,
  body.zfwc-shop-ui.tax-product_cat .woocommerce-ordering { float: none; width: 100%; margin: 0; }
  body.zfwc-shop-ui.post-type-archive-product .woocommerce-ordering select,
  body.zfwc-shop-ui.tax-product_cat .woocommerce-ordering select { width: 100%; min-width: 0; }
  body.zfwc-shop-ui.single-product .woo-variation-gallery-wrapper,
  body.zfwc-shop-ui.single-product .woocommerce-product-gallery { padding: 12px; border-radius: 21px; }
  body.zfwc-shop-ui.single-product .woo-variation-gallery-slider-wrapper,
  body.zfwc-shop-ui.single-product .woocommerce-product-gallery__wrapper { border-radius: 15px; }
  body.zfwc-shop-ui.single-product .wvg-gallery-image > div,
  body.zfwc-shop-ui.single-product .wvg-single-gallery-image-container { min-height: 285px; }
  body.zfwc-shop-ui.single-product.woocommerce div.product > .summary { padding: 24px 19px; border-radius: 21px; }
  body.zfwc-shop-ui.single-product .summary .product_title { font-size: 33px; }
  body.zfwc-shop-ui.single-product .woocommerce-tabs { padding: 22px 18px; border-radius: 21px; }
  body.zfwc-shop-ui.single-product .woocommerce-tabs ul.tabs { display: grid; }
  body.zfwc-shop-ui.single-product .woocommerce-tabs ul.tabs li a { display: block; }
  body.zfwc-shop-ui.single-product .woocommerce-variation-add-to-cart .quantity,
  body.zfwc-shop-ui.single-product form.cart:not(.variations_form) .quantity { width: 100%; }
  body.zfwc-shop-ui.single-product.woocommerce .quantity .qty { width: 100%; }
  body.zfwc-shop-ui .woocommerce-cart-form tr.cart_item { grid-template-columns: 72px minmax(0,1fr); padding: 12px; }
  body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail a,
  body.zfwc-shop-ui .woocommerce-cart-form td.product-thumbnail img { width: 62px; height: 62px; }
  body.zfwc-shop-ui .woocommerce-cart-form td.actions,
  body.zfwc-shop-ui .woocommerce-cart-form td.actions .coupon { display: grid !important; grid-template-columns: 1fr 1fr; width: 100%; }
  body.zfwc-shop-ui .woocommerce-cart-form td.actions #coupon_code { width: 100% !important; }
  body.zfwc-shop-ui .woocommerce-cart-form td.actions button[name="update_cart"] { grid-column: 1/-1; width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  body.zfwc-shop-ui .woocommerce * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}
