/* WooCommerce → Kress-Design (nutzt die kress.css-Variablen) */
.woocommerce, .woocommerce-page { font-family: var(--font-body); color: var(--ink); }
.woocommerce .woocommerce-breadcrumb { color: var(--muted); font-size:.9rem; }

/* ---- Produkt-Grid (Shop-Archiv + [products]-Shortcode) ---- */
.woocommerce ul.products, .woocommerce-page ul.products {
  display:grid !important; gap:22px; grid-template-columns:repeat(4,1fr); margin:24px 0 0; padding:0; list-style:none;
}
@media(max-width:1024px){ .woocommerce ul.products{ grid-template-columns:repeat(3,1fr);} }
@media(max-width:760px){ .woocommerce ul.products{ grid-template-columns:repeat(2,1fr);} }
@media(max-width:480px){ .woocommerce ul.products{ grid-template-columns:1fr;} }
.woocommerce ul.products li.product {
  width:auto !important; float:none !important; margin:0 !important;
  background:var(--bg); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1);
  padding:16px; text-align:left; display:flex; flex-direction:column;
  transition:transform .25s var(--ease), box-shadow .25s var(--ease);
}
.woocommerce ul.products li.product:hover { transform:translateY(-4px); box-shadow:var(--sh-2); }
.woocommerce ul.products li.product a img { margin:0 0 14px; border-radius:var(--r-sm); background:var(--bg-soft); }
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family:var(--font-display); font-weight:700; font-size:1.02rem; color:var(--ink); line-height:1.3; padding:0 0 6px;
}
.woocommerce ul.products li.product .price { color:var(--ink); font-family:var(--font-display); font-weight:800; font-size:1.2rem; margin:2px 0 14px; }
.woocommerce ul.products li.product .price del { color:var(--muted); font-weight:500; font-size:.92rem; opacity:1; margin-right:6px; }
.woocommerce ul.products li.product .price ins { text-decoration:none; }
.woocommerce ul.products li.product .button { margin-top:auto; width:100%; text-align:center; }

/* ---- Buttons global ---- */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button, .woocommerce #respond input#submit,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce .single_add_to_cart_button, .woocommerce-cart .checkout-button, .wc-block-components-button {
  background:var(--red) !important; color:#fff !important; border:none !important; border-radius:var(--r-sm) !important;
  font-family:var(--font-body) !important; font-weight:700 !important; padding:13px 24px !important; font-size:.95rem !important;
  box-shadow:var(--sh-red); transition:background .2s, transform .2s; text-transform:none !important; line-height:1.2;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce .button.alt:hover,
.woocommerce .single_add_to_cart_button:hover, .woocommerce-cart .checkout-button:hover { background:var(--red-600) !important; transform:translateY(-2px); }
.woocommerce .button.disabled, .woocommerce .button:disabled { opacity:.5; box-shadow:none; }
.woocommerce a.added_to_cart { color:var(--red); font-weight:700; }

/* ---- Shop-Header / Sortierung ---- */
.woocommerce .woocommerce-products-header__title, .woocommerce-products-header__title.page-title {
  font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:clamp(1.8rem,3vw,2.4rem);
}
.woocommerce .woocommerce-result-count { color:var(--muted); }
.woocommerce .woocommerce-ordering select, .woocommerce select { border:1px solid var(--line-2); border-radius:var(--r-sm); padding:8px 12px; font-family:var(--font-body); }
.woocommerce span.onsale { background:var(--red); color:#fff; border-radius:var(--r-pill); font-family:var(--font-body); font-weight:700; min-height:0; min-width:0; padding:5px 13px; line-height:1.3; top:10px; right:10px; left:auto; }

/* ---- Single Product ---- */
.woocommerce div.product .product_title { font-family:var(--font-display); font-weight:800; color:var(--ink); font-size:clamp(1.6rem,3vw,2.2rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color:var(--ink); font-family:var(--font-display); font-weight:800; font-size:1.7rem; }
.woocommerce div.product p.price del { color:var(--muted); font-weight:500; font-size:1.1rem; }
.woocommerce div.product .woocommerce-product-gallery { border-radius:var(--r); }
.woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { border-radius:var(--r-sm) var(--r-sm) 0 0; border-color:var(--line); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background:var(--bg); border-bottom-color:var(--bg); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color:var(--red); }
.woocommerce div.product form.cart .quantity .qty { border:1px solid var(--line-2); border-radius:var(--r-sm); padding:10px; width:64px; }
.woocommerce .stock.in-stock { color:var(--gold); font-weight:600; }
table.woocommerce-product-attributes th { font-family:var(--font-display); background:var(--bg-soft); }

/* ---- Cart / Checkout ---- */
.woocommerce table.shop_table { border:1px solid var(--line); border-radius:var(--r); }
.woocommerce table.shop_table th { font-family:var(--font-display); color:var(--ink); }
.woocommerce-cart .cart_totals h2, .woocommerce-checkout h3, .woocommerce-checkout #order_review_heading { font-family:var(--font-display); color:var(--ink); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.select2-container--default .select2-selection--single { border:1px solid var(--line-2) !important; border-radius:var(--r-sm) !important; padding:11px 13px; min-height:46px; }
.woocommerce #payment, .woocommerce-checkout #payment { background:var(--bg-soft); border-radius:var(--r); }

/* ---- Notices ---- */
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-width:3px; border-radius:var(--r-sm); font-family:var(--font-body); }
.woocommerce-message { border-top-color:var(--gold); }
.woocommerce-info { border-top-color:var(--red); }

/* =====================================================================
   Warenkorb- & Kassen-BLÖCKE (Gutenberg/WooCommerce Blocks) — Kress-Look
   ===================================================================== */
.wc-block-cart, .wc-block-checkout, .wp-block-woocommerce-cart, .wp-block-woocommerce-checkout { font-family:var(--font-body); color:var(--ink); }

/* Titel "Warenkorb"/"Kasse" im Display-Font */
.kress-page > .h1, body.woocommerce-cart .entry-title, body.woocommerce-checkout .entry-title,
.kress-content .wp-block-post-title { font-family:var(--font-display); font-weight:800; color:var(--ink); }

/* Produkt-Zeilen */
.wc-block-cart-items__row { border-color:var(--line); }
.wc-block-cart-item__product-name, .wc-block-components-product-name { font-family:var(--font-display); font-weight:700; color:var(--ink); }
.wc-block-cart-item__total-price .wc-block-components-product-price__value,
.wc-block-components-product-price__value { font-family:var(--font-display); font-weight:700; }

/* Sidebar / Summen-Box als Karte */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wp-block-woocommerce-checkout-order-summary-block {
  background:var(--bg); border:1px solid var(--line); border-radius:var(--r); box-shadow:var(--sh-1);
}
.wc-block-components-totals-item__label { font-family:var(--font-body); color:var(--muted); }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-family:var(--font-display); font-weight:900; font-size:1.4rem; color:var(--ink); }

/* Eingabefelder im Kress-Stil */
.wc-block-components-text-input input, .wc-block-components-text-input input.input-text,
.wc-block-checkout input[type=text], .wc-block-checkout input[type=email], .wc-block-checkout input[type=tel],
.wc-block-components-combobox input, .wc-block-components-select__container {
  border:1px solid var(--line-2) !important; border-radius:var(--r-sm) !important;
}
.wc-block-components-checkout-step__title { font-family:var(--font-display); font-weight:800; color:var(--ink); }

/* Block-Buttons rot (ergänzt den globalen Selektor) */
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .wp-block-woocommerce-checkout-actions-block .wc-block-components-button {
  background:var(--red) !important; color:#fff !important; border-radius:var(--r-sm) !important;
  font-family:var(--font-body) !important; font-weight:700 !important; box-shadow:var(--sh-red);
}
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background:var(--red-600) !important; }

/* ---- Trust-Leiste + Versprechen nach dem Warenkorb (statische warenkorb/index.html) ---- */
.kress-cart-extra { max-width:1180px; margin:4px auto 0; padding:0 clamp(16px,4vw,32px); }
.cart-trust { display:flex; flex-wrap:wrap; gap:14px 26px; padding:20px 0 14px; border-top:1px solid var(--line); }
.cart-trust .ct-item { display:inline-flex; align-items:center; gap:9px; font-size:.9rem; font-weight:600; color:var(--ink); }
.cart-trust .ct-item svg { width:20px; height:20px; color:var(--red); flex:0 0 auto; }
.cart-promise { color:var(--muted); font-size:.88rem; line-height:1.7; max-width:780px; margin:6px 0 8px; }
.cart-promise a { color:var(--red); font-weight:700; }
