/* WooCommerce (Warenkorb, Kasse, Konto, Hinweise) im Theme-Design. Fontgrößen nur var(--text-*). */
.prose:has(.woocommerce, [class*="wp-block-woocommerce"]) { max-width: none; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button,
.wc-block-components-button:not(.is-link), .wp-element-button.wc-block-cart__submit-button {
  display: inline-flex; align-items: center; justify-content: center; gap: .5em; padding: .85em 1.4em; border: 1.5px solid var(--color-primary);
  border-radius: var(--radius-s); background: var(--color-primary); color: #fff; font-family: var(--font-body); font-size: var(--text-sm); font-weight: 600; text-decoration: none;
}
.woocommerce .button:hover, .wc-block-components-button:not(.is-link):hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); color: #fff; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner {
  border-radius: var(--radius-m); font-size: var(--text-sm); box-shadow: var(--shadow-ring);
}
.woocommerce input.input-text, .woocommerce select, .woocommerce textarea,
.wc-block-components-text-input input, .wc-block-components-combobox input {
  border: 1px solid var(--color-border); border-radius: var(--radius-s); font: inherit; font-size: var(--text-base); color: var(--color-heading);
}
.woocommerce input.input-text:focus, .wc-block-components-text-input input:focus { border-color: var(--color-primary); outline: 2px solid var(--color-primary-subtle); }
.woocommerce table.shop_table { border-radius: var(--radius-m); border-color: var(--color-border); font-size: var(--text-sm); }
.wc-block-components-totals-item, .wc-block-components-product-name { font-size: var(--text-sm); }
.wc-block-components-title, .wc-block-cart__totals-title { font-family: var(--font-head); color: var(--color-heading); }
.wp-block-woocommerce-cart .wp-block-button__link, .wp-block-woocommerce-empty-cart-block .wp-block-button__link { background: var(--color-primary); color: #fff; border-radius: var(--radius-s); font-size: var(--text-sm); font-weight: 600; }
.wp-block-woocommerce-cart .wp-block-button__link:hover, .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover { background: var(--color-primary-hover); color: #fff; }
/* Klassische Kasse ([woocommerce_checkout], wegen Plugin-Feldern USt-IdNr./Bestellreferenz) */
.woocommerce-checkout .col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl); }
.woocommerce-checkout .col2-set .col-1, .woocommerce-checkout .col2-set .col-2 { width: auto; float: none; }
.woocommerce-checkout h3, #order_review_heading { font-family: var(--font-head); font-size: var(--text-lg); color: var(--color-heading); margin: var(--space-l) 0 var(--space-s); }
.woocommerce form .form-row { padding: 0; margin: 0 0 var(--space-s); }
.woocommerce form .form-row label { font-size: var(--text-sm); font-weight: 600; color: var(--color-heading); line-height: var(--lh-snug); }
.woocommerce form .form-row .required { color: var(--color-primary); text-decoration: none; }
.woocommerce form .form-row .optional { font-weight: 400; color: var(--color-muted); }
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select { padding: .7em .85em; background: var(--color-bg); }
.woocommerce table.woocommerce-checkout-review-order-table { border: 0; box-shadow: var(--shadow-ring); border-collapse: separate; }
.woocommerce table.woocommerce-checkout-review-order-table th, .woocommerce table.woocommerce-checkout-review-order-table td { background: var(--color-bg); padding: var(--space-xs) var(--space-s); border-color: var(--color-border); color: var(--color-ink); }
.woocommerce table.woocommerce-checkout-review-order-table thead th { background: var(--color-surface-light); color: var(--color-heading); }
.woocommerce table.woocommerce-checkout-review-order-table .order-total th, .woocommerce table.woocommerce-checkout-review-order-table .order-total td { font-family: var(--font-head); font-size: var(--text-md); color: var(--color-heading); }
.woocommerce-checkout #payment { background: var(--color-surface); border-radius: var(--radius-m); padding: var(--space-s); }
.woocommerce-checkout #payment div.payment_box { background: var(--color-bg); color: var(--color-ink); font-size: var(--text-sm); border-radius: var(--radius-s); }
.woocommerce-checkout #payment div.payment_box::before { border-bottom-color: var(--color-bg); }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text, .woocommerce-checkout #payment .woocommerce-terms-and-conditions-wrapper { font-size: var(--text-sm); color: var(--color-ink); }
.woocommerce-checkout #payment .woocommerce-privacy-policy-text a { color: var(--color-primary); }
.woocommerce #payment #place_order, .woocommerce button.button.alt { float: none; width: 100%; background: var(--color-primary); border: 1.5px solid var(--color-primary); color: var(--color-on-dark); font-size: var(--text-base); font-weight: 700; padding: .95em 1.6em; border-radius: var(--radius-s); }
.woocommerce #payment #place_order:hover, .woocommerce button.button.alt:hover { background: var(--color-primary-hover); border-color: var(--color-primary-hover); }
.woocommerce #payment #place_order:focus-visible, .woocommerce .button:focus-visible { outline: 2px solid var(--color-heading); outline-offset: 2px; }
.woocommerce .button:disabled, .woocommerce .button.disabled { background: var(--color-border); border-color: var(--color-border); color: var(--color-muted); }
.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register { border: 0; box-shadow: var(--shadow-ring); border-radius: var(--radius-m); padding: var(--space-m); }
/* Konto */
.woocommerce-account .woocommerce { display: block; }
.woocommerce-account h2 { font-family: var(--font-head); font-size: var(--text-xl); color: var(--color-heading); }
.woocommerce-account .u-columns.col2-set { display: grid; grid-template-columns: 1fr 1fr; gap: var(--space-xl); }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { width: auto; float: none; }
.woocommerce-account .woocommerce-form-login__rememberme { font-size: var(--text-sm); }
.woocommerce-account .lost_password a, .woocommerce-account .woocommerce-privacy-policy-text a { color: var(--color-primary); }
@media (max-width: 767px) {
  .woocommerce-checkout .col2-set, .woocommerce-account .u-columns.col2-set { grid-template-columns: 1fr; gap: 0; }
}
.wc-block-cart-items th, .wc-block-cart-items td { padding-inline: var(--space-s); }
