/*
 * Druckwerk × WooCommerce: Warenkorb, Kasse, Bestellbestätigung, Kundenkonto im CI.
 * Lädt nur auf Shop-Seiten (inc/woocommerce.php). Deckt Block-Markup
 * (wc-block-*) UND Classic-/Shortcode-Markup (.woocommerce …) ab.
 * Design-Werte 1:1 aus referenz/design-prototyp-v2.html (Glass, Pills, dashed).
 */

/* ---------- Container + Seitenkopf ---------- */
.dw-shop {
	max-width: 1240px;
	margin: 0 auto;
	padding: clamp(104px, 14vh, 150px) clamp(18px, 5vw, 64px) clamp(56px, 9vh, 110px);
	position: relative;
	z-index: 2;
	color: var(--wp--preset--color--ink, #15181d);
}

.dw-shop__head {
	border-top: 1px dashed var(--wp--custom--dash-strong, rgba(21,24,29,.3));
	padding-top: 14px;
	margin: 0 0 clamp(22px, 4vh, 40px);
}

.dw-shop__title {
	margin: 0;
	font-size: clamp(27px, 3.6vw, 48px);
	line-height: .98;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .01em;
}

/* Grundtypo im Shop-Bereich */
.dw-shop p,
.dw-shop li,
.dw-shop td,
.dw-shop th {
	font-size: 14px;
	line-height: 1.55;
}

.dw-shop a { color: inherit; }

/* Preise & Mengen immer tabellarisch */
.dw-shop .wc-block-components-product-price,
.dw-shop .wc-block-components-totals-item__value,
.dw-shop .wc-block-components-formatted-money-amount,
.dw-shop .wc-block-components-order-summary-item__total-price,
.dw-shop .woocommerce-Price-amount,
.dw-shop .quantity,
.dw-shop .wc-block-components-quantity-selector__input {
	font-variant-numeric: tabular-nums;
}

/* ---------- Buttons: alles wird zur Ink-Pille ---------- */
.dw-shop .button,
.dw-shop button.button,
.dw-shop .woocommerce-button,
.dw-shop .woocommerce-Button,
.dw-shop .wc-block-components-button,
.dw-shop .checkout-button,
.dw-shop #place_order {
	background: var(--wp--preset--color--ink, #15181d);
	color: var(--wp--preset--color--paper, #f5f7f9);
	border: none;
	border-radius: 999px;
	min-height: 50px;
	padding: 0 26px;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	white-space: nowrap;
	text-decoration: none;
	box-shadow: none;
	line-height: 1.1;
	cursor: pointer;
	transition: opacity .15s ease;
}

.dw-shop .button:hover,
.dw-shop .wc-block-components-button:hover,
.dw-shop #place_order:hover {
	background: var(--wp--preset--color--ink, #15181d);
	color: var(--wp--preset--color--paper, #f5f7f9);
	opacity: .85;
}

.dw-shop .button:disabled,
.dw-shop .button.disabled,
.dw-shop .wc-block-components-button:disabled,
.dw-shop #place_order:disabled {
	background: var(--wp--preset--color--ink, #15181d);
	color: var(--wp--preset--color--paper, #f5f7f9);
	opacity: .4;
	cursor: not-allowed;
}

.dw-shop .wc-block-components-button .wc-block-components-button__text { line-height: 1.1; }

/* Haupt-CTAs volle Breite */
.dw-shop .wc-block-cart__submit-button,
.dw-shop .wc-block-components-checkout-place-order-button,
.dw-shop .wc-proceed-to-checkout .checkout-button,
.dw-shop #place_order {
	width: 100%;
	min-height: 56px;
	font-size: 12.5px;
}

/* Sekundäre Text-Buttons (Gutschein anwenden usw.) */
.dw-shop .wc-block-components-totals-coupon__button,
.dw-shop button[name="apply_coupon"],
.dw-shop button[name="update_cart"] {
	background: linear-gradient(120deg, rgba(255,255,255,.6), rgba(255,255,255,.25));
	color: var(--wp--preset--color--ink, #15181d);
	border: 1px solid rgba(255,255,255,.7);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.85);
	min-height: 44px;
}

.dw-shop button[name="update_cart"]:disabled {
	background: linear-gradient(120deg, rgba(255,255,255,.6), rgba(255,255,255,.25));
	color: var(--wp--preset--color--ink, #15181d);
}

/* ---------- Formularfelder ---------- */
.dw-shop input[type="text"],
.dw-shop input[type="email"],
.dw-shop input[type="tel"],
.dw-shop input[type="password"],
.dw-shop input[type="number"],
.dw-shop input[type="search"],
.dw-shop input[type="url"],
.dw-shop textarea,
.dw-shop select,
.dw-shop .wc-block-components-text-input input,
.dw-shop .wc-block-components-combobox-control input,
.dw-shop .wc-block-components-form .wc-block-components-text-input input,
.dw-shop .wc-block-components-select .wc-block-components-select__container select,
.dw-shop .wc-block-components-select .wc-block-components-select__container {
	background: rgba(255,255,255,.72);
	border: 1px solid rgba(21,24,29,.18);
	border-radius: 12px;
	color: var(--wp--preset--color--ink, #15181d);
	box-shadow: none;
	font-size: 14px;
}

.dw-shop input[type="text"],
.dw-shop input[type="email"],
.dw-shop input[type="tel"],
.dw-shop input[type="password"],
.dw-shop input[type="search"],
.dw-shop select {
	min-height: 46px;
	padding: 0 14px;
}

.dw-shop textarea { padding: 12px 14px; }

.dw-shop input:focus,
.dw-shop textarea:focus,
.dw-shop select:focus,
.dw-shop .wc-block-components-text-input input:focus,
.dw-shop .wc-block-components-combobox-control input:focus {
	border-color: rgba(21,24,29,.55);
	box-shadow: none;
}

/* Die wc-block-Floating-Labels behalten ihre Innenmaße */
.dw-shop .wc-block-components-text-input input,
.dw-shop .wc-block-components-combobox-control input {
	min-height: 0;
}

.dw-shop .wc-block-components-text-input label,
.dw-shop .wc-block-components-combobox-control label,
.dw-shop .form-row label,
.dw-shop .woocommerce-form-row label {
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
	font-size: 13px;
}

.dw-shop input[type="checkbox"],
.dw-shop input[type="radio"],
.dw-shop .wc-block-components-checkbox input[type="checkbox"],
.dw-shop .wc-block-components-radio-control__input {
	accent-color: var(--acc, #0f9d8f);
	border-color: rgba(21,24,29,.35);
}

.dw-shop .wc-block-components-checkbox .wc-block-components-checkbox__mark { color: #fff; }

.dw-shop .wc-block-components-checkbox input[type="checkbox"]:checked {
	background: var(--acc, #0f9d8f);
	border-color: var(--acc, #0f9d8f);
}

/* ---------- Glass-Panels (Karten) ---------- */
.dw-shop .wc-block-cart-items,
.dw-shop .wc-block-cart__sidebar,
.dw-shop .wc-block-checkout__sidebar,
.dw-shop .wc-block-components-checkout-step,
.dw-shop .wc-block-checkout__terms,
.dw-shop .wc-block-checkout__actions,
.dw-shop table.shop_table,
.dw-shop .cart-collaterals .cart_totals,
.dw-shop #customer_details .col-1 > .woocommerce-billing-fields,
.dw-shop #customer_details .col-2 > .woocommerce-shipping-fields,
.dw-shop #order_review,
.dw-shop .woocommerce-MyAccount-navigation,
.dw-shop .woocommerce-MyAccount-content,
.dw-shop .woocommerce-form-login,
.dw-shop .woocommerce-form-register,
.dw-shop ul.order_details,
.dw-shop .wc-block-order-confirmation-summary,
.dw-shop .wc-block-order-confirmation-totals-wrapper,
.dw-shop .wc-block-order-confirmation-shipping-wrapper,
.dw-shop .wc-block-order-confirmation-billing-wrapper,
.dw-shop .wc-block-order-confirmation-downloads-wrapper,
.dw-shop .woocommerce-order-details,
.dw-shop .woocommerce-customer-details {
	background: linear-gradient(120deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	backdrop-filter: blur(var(--gb, 8px)) saturate(1.8);
	-webkit-backdrop-filter: blur(var(--gb, 8px)) saturate(1.8);
	border: 1px solid rgba(255,255,255,.6);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.9), inset 0 -1px 0 rgba(255,255,255,.2), 0 28px 60px -30px rgba(15,25,40,.4);
	border-radius: 20px;
	padding: 24px;
}

@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	.dw-shop .wc-block-cart-items,
	.dw-shop .wc-block-cart__sidebar,
	.dw-shop .wc-block-checkout__sidebar,
	.dw-shop .wc-block-components-checkout-step,
	.dw-shop table.shop_table,
	.dw-shop .cart-collaterals .cart_totals,
	.dw-shop #order_review,
	.dw-shop .woocommerce-MyAccount-navigation,
	.dw-shop .woocommerce-MyAccount-content {
		background: rgba(255,255,255,.75);
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
	}
}

/* ---------- Block-Warenkorb ---------- */
.dw-shop .wc-block-cart-items {
	padding: 6px 20px;
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
}

.dw-shop .wc-block-cart-items th {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
	padding: 16px 8px 12px;
	border: none;
	border-bottom: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.25));
	text-align: left;
}

.dw-shop .wc-block-cart-items td {
	border: none;
	border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.25));
	padding: 20px 8px;
	vertical-align: top;
	background: none;
}

.dw-shop .wc-block-cart-items__row:first-child td { border-top: none; }

.dw-shop .wc-block-cart-item__image img {
	border-radius: 14px;
	box-shadow: inset 0 0 0 1px rgba(21,24,29,.08);
}

.dw-shop .wc-block-components-product-name {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink, #15181d);
	text-decoration: none;
}

/* Konfigurations-Metadaten (Material, Farben, Schichthöhe …) */
.dw-shop .wc-block-components-product-details { margin: 10px 0 0; }

.dw-shop .wc-block-components-product-details li {
	font-size: 12.5px;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
	margin: 2px 0;
}

.dw-shop .wc-block-components-product-details__name,
.dw-shop dl.variation dt {
	font-size: 9.5px;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
	margin-right: 6px;
}

.dw-shop .wc-block-components-product-details__value,
.dw-shop dl.variation dd {
	font-size: 12.5px;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
	margin: 0;
}

.dw-shop .wc-block-components-product-price,
.dw-shop .wc-block-cart-item__total .wc-block-components-formatted-money-amount {
	font-weight: 600;
	font-size: 14.5px;
}

/* Entfernen-Link */
.dw-shop .wc-block-cart-item__remove-link,
.dw-shop td.product-remove a.remove {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
	text-decoration: underline;
	text-underline-offset: 3px;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0;
	margin-top: 10px;
	display: inline-block;
}

.dw-shop td.product-remove a.remove {
	font-size: 18px;
	font-weight: 400;
	text-decoration: none;
	width: 28px;
	height: 28px;
	line-height: 26px;
	border-radius: 50%;
	text-align: center;
	box-shadow: inset 0 0 0 1px rgba(21,24,29,.2);
	color: var(--wp--preset--color--ink, #15181d) !important;
}

.dw-shop td.product-remove a.remove:hover { background: rgba(21,24,29,.08); }

/* Mengen-Stepper als Pille */
.dw-shop .wc-block-components-quantity-selector {
	border: none;
	border-radius: 999px;
	background: rgba(255,255,255,.72);
	box-shadow: inset 0 0 0 1px rgba(21,24,29,.15);
	width: 112px;
	margin: 0 0 6px;
}

.dw-shop .wc-block-components-quantity-selector::after { display: none; border: none; }

.dw-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button {
	font-size: 15px;
	font-weight: 500;
	color: var(--wp--preset--color--ink, #15181d);
	min-width: 34px;
	cursor: pointer;
	opacity: .75;
	border: none;
	background: none;
}

.dw-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { opacity: 1; }

.dw-shop .wc-block-components-quantity-selector .wc-block-components-quantity-selector__input {
	font-size: 14px;
	font-weight: 600;
	color: var(--wp--preset--color--ink, #15181d);
	background: none;
	border: none;
	min-height: 40px;
}

.dw-shop .quantity input.qty {
	width: 72px;
	text-align: center;
	min-height: 44px;
	border-radius: 999px;
}

/* ---------- Zusammenfassung / Totals (Block-Sidebar) ---------- */
.dw-shop .wc-block-cart__sidebar,
.dw-shop .wc-block-checkout__sidebar {
	border-radius: 24px;
	padding: 20px 24px;
}

@media (min-width: 880px) {
	.dw-shop .wc-block-cart__sidebar,
	.dw-shop .wc-block-checkout__sidebar {
		position: sticky;
		top: 96px;
		align-self: flex-start;
	}
}

.dw-shop .wc-block-components-totals-wrapper {
	border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.25));
	padding: 14px 0;
}

.dw-shop .wc-block-components-totals-wrapper:first-child,
.dw-shop .wc-block-components-totals-wrapper:empty { border-top: none; }

.dw-shop .wc-block-components-totals-item {
	font-size: 13px;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
}

.dw-shop .wc-block-components-totals-item__label {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-65, rgba(21,24,29,.65));
}

.dw-shop .wc-block-components-totals-item__value {
	font-weight: 600;
	color: var(--wp--preset--color--ink, #15181d);
}

.dw-shop .wc-block-components-totals-item__description {
	font-size: 11px;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
}

/* Endsumme groß, wie das Preis-Panel im Kalkulator */
.dw-shop .wc-block-components-totals-footer-item {
	padding: 16px 0 4px;
}

.dw-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-size: 11px;
	letter-spacing: .17em;
	color: var(--acc, #0f9d8f);
}

.dw-shop .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-size: 26px;
	line-height: 1;
}

.dw-shop .wc-block-components-order-summary-item {
	border-bottom: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.2));
	padding: 12px 0;
}

.dw-shop .wc-block-components-order-summary-item:last-child { border-bottom: none; }

.dw-shop .wc-block-components-panel__button {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink, #15181d);
}

/* Gutschein-Zeile */
.dw-shop .wc-block-components-totals-coupon .wc-block-components-text-input input { border-radius: 999px; }

/* Versandarten-Auswahl */
.dw-shop .wc-block-components-shipping-rates-control .wc-block-components-radio-control__option,
.dw-shop .wc-block-components-radio-control__option {
	font-size: 13px;
}

.dw-shop .wc-block-components-radio-control__option-checked { font-weight: 600; }

/* ---------- Block-Kasse ---------- */
.dw-shop .wc-block-checkout__main { row-gap: 14px; }

.dw-shop .wc-block-components-checkout-step {
	margin-bottom: 14px;
	padding: 24px;
}

.dw-shop .wc-block-components-checkout-step__heading { margin: 0 0 4px; }

.dw-shop .wc-block-components-checkout-step .wc-block-components-title,
.dw-shop .wc-block-components-checkout-step__title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink, #15181d);
}

.dw-shop .wc-block-components-checkout-step__description {
	font-size: 12.5px;
	color: var(--wp--custom--ink-soft-65, rgba(21,24,29,.65));
}

/* Schritt-Nummern in Accent, tabellarisch */
.dw-shop .wc-block-components-checkout-step--with-step-number .wc-block-components-checkout-step__container::after { border: none; }

/* Zahlarten-Accordion */
.dw-shop .wc-block-components-radio-control-accordion-option,
.dw-shop .wc-block-components-payment-method-label {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .05em;
}

.dw-shop .wc-block-components-radio-control-accordion-content {
	font-size: 13px;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
}

.dw-shop .wc-block-checkout__terms {
	font-size: 12.5px;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
	padding: 18px 24px;
}

.dw-shop .wc-block-checkout__actions { padding: 18px 24px; }

.dw-shop .wc-block-components-checkout-return-to-cart-button {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink, #15181d);
	box-shadow: none;
}

/* ---------- Classic-Fallback: Tabellen (Warenkorb, Bestelldetails, Konto) ---------- */
.dw-shop table.shop_table {
	border-collapse: separate;
	border-spacing: 0;
	width: 100%;
	padding: 6px 20px;
	margin-bottom: 24px;
}

.dw-shop table.shop_table th,
.dw-shop table.shop_table td {
	border: none;
	background: none;
	padding: 14px 8px;
	text-align: left;
}

.dw-shop table.shop_table thead th {
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
	border-bottom: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.25));
}

.dw-shop table.shop_table tbody th,
.dw-shop table.shop_table tbody td,
.dw-shop table.shop_table tfoot th,
.dw-shop table.shop_table tfoot td {
	border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.2));
	font-size: 13.5px;
}

.dw-shop table.shop_table tbody tr:first-child th,
.dw-shop table.shop_table tbody tr:first-child td { border-top: none; }

.dw-shop table.shop_table tfoot th {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-65, rgba(21,24,29,.65));
}

.dw-shop table.shop_table .order-total td,
.dw-shop table.shop_table .order-total .woocommerce-Price-amount {
	font-size: 18px;
	font-weight: 600;
}

.dw-shop td.product-name {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .09em;
	text-transform: uppercase;
}

.dw-shop td.product-name dl.variation {
	margin: 8px 0 0;
	font-weight: 400;
	text-transform: none;
	letter-spacing: 0;
}

/* Classic-Warenkorb: Coupon-Zeile */
.dw-shop .woocommerce-cart-form td.actions { padding-top: 20px; }
.dw-shop .woocommerce-cart-form .coupon { display: inline-flex; gap: 10px; align-items: center; }
.dw-shop .woocommerce-cart-form .coupon input[type="text"] { min-height: 44px; border-radius: 999px; width: 180px; }

/* Classic-Warenkorb: Summenkasten */
.dw-shop .cart-collaterals .cart_totals { border-radius: 24px; }
.dw-shop .cart-collaterals .cart_totals h2 {
	margin: 0 0 8px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
}
.dw-shop .cart-collaterals .cart_totals table.shop_table { padding: 0; background: none; border: none; box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none; margin-bottom: 12px; }

/* ---------- Classic-Kasse ---------- */
.dw-shop #customer_details .col-1 > .woocommerce-billing-fields,
.dw-shop #customer_details .col-2 > .woocommerce-shipping-fields { margin-bottom: 14px; }

.dw-shop form.checkout h3,
.dw-shop #order_review_heading {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.dw-shop #order_review_heading { margin-top: 24px; }

.dw-shop form .form-row input.input-text,
.dw-shop form .form-row textarea,
.dw-shop form .form-row select { width: 100%; }

.dw-shop #payment {
	background: none;
	border-radius: 0;
}

.dw-shop #payment ul.payment_methods {
	border-bottom: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.25));
	padding: 0 0 14px;
	list-style: none;
}

.dw-shop #payment ul.payment_methods li {
	border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.2));
	padding: 12px 0;
	font-size: 13.5px;
	font-weight: 600;
}

.dw-shop #payment ul.payment_methods li:first-child { border-top: none; }

.dw-shop #payment div.payment_box {
	background: rgba(255,255,255,.55);
	border-radius: 12px;
	font-size: 12.5px;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
	padding: 12px 14px;
}

.dw-shop #payment div.payment_box::before { display: none; }

/* Germanized: Rechtstexte/Checkboxen in der Kasse klein und ruhig */
.dw-shop .wc-terms-and-conditions,
.dw-shop .woocommerce-terms-and-conditions-wrapper,
.dw-shop .legal,
.dw-shop .wc-gzd-legal-checkbox-text,
.dw-shop .wc-gzd-checkout-checkboxes {
	font-size: 12px;
	color: var(--wp--custom--ink-soft-65, rgba(21,24,29,.65));
}

.dw-shop .wc-gzd-additional-info,
.dw-shop .shipping-costs-info,
.dw-shop .tax-info {
	font-size: 11px;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
}

/* ---------- Hinweise / Notices ---------- */
.dw-shop .woocommerce-message,
.dw-shop .woocommerce-info,
.dw-shop .woocommerce-error,
.dw-shop .wc-block-components-notice-banner {
	background: linear-gradient(120deg, rgba(255,255,255,.62), rgba(255,255,255,.26));
	backdrop-filter: blur(var(--gb, 8px)) saturate(1.8);
	-webkit-backdrop-filter: blur(var(--gb, 8px)) saturate(1.8);
	border: 1px solid rgba(255,255,255,.6);
	border-left: 3px solid var(--acc, #0f9d8f);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 44px -28px rgba(15,25,40,.35);
	border-radius: 14px;
	color: var(--wp--preset--color--ink, #15181d);
	font-size: 13.5px;
	padding: 14px 18px;
	margin: 0 0 18px;
	list-style: none;
}

.dw-shop .woocommerce-message::before,
.dw-shop .woocommerce-info::before,
.dw-shop .woocommerce-error::before { display: none; }

.dw-shop .woocommerce-error,
.dw-shop .wc-block-components-notice-banner.is-error { border-left-color: #dc5000; }

.dw-shop .wc-block-components-notice-banner.is-success { border-left-color: var(--acc, #0f9d8f); }

.dw-shop .wc-block-components-notice-banner > .wc-block-components-notice-banner__content { color: inherit; }

.dw-shop .woocommerce-message .button,
.dw-shop .woocommerce-info .button,
.dw-shop .woocommerce-error .button {
	min-height: 38px;
	padding: 0 18px;
	font-size: 10.5px;
	float: right;
	margin-left: 14px;
}

/* ---------- Leerer Warenkorb ---------- */
.dw-shop .wc-block-cart__empty-cart__title,
.dw-shop .cart-empty {
	font-size: clamp(20px, 2.4vw, 30px);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .02em;
	text-align: center;
	margin: clamp(24px, 6vh, 60px) 0 10px;
}

.dw-shop .wp-block-woocommerce-empty-cart-block .wp-block-separator { display: none; }

/* ---------- Bestellbestätigung (Danke-Seite) ---------- */

/* Der Status-Block liefert das H1 („Bestellung erhalten") – als Seitenkopf stylen */
.dw-shop .wc-block-order-confirmation-status h1 {
	border-top: 1px dashed var(--wp--custom--dash-strong, rgba(21,24,29,.3));
	padding-top: 14px;
	margin: 0 0 14px;
	font-size: clamp(27px, 3.6vw, 48px);
	line-height: .98;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .01em;
}

.dw-shop .wc-block-order-confirmation-status { margin-bottom: 22px; }

.dw-shop .wc-block-order-confirmation-totals-wrapper,
.dw-shop .wc-block-order-confirmation-downloads-wrapper,
.dw-shop .wc-block-order-confirmation-address-wrapper,
.dw-shop .wc-block-order-confirmation-additional-fields-wrapper { margin-bottom: 24px; }

.dw-shop .wc-block-order-confirmation-address-wrapper {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.dw-shop .wc-block-order-confirmation-address-wrapper .wp-block-column {
	flex: 1 1 320px;
	margin: 0;
}

.dw-shop .wc-block-order-confirmation-shipping-wrapper h2,
.dw-shop .wc-block-order-confirmation-shipping-wrapper h3,
.dw-shop .wc-block-order-confirmation-billing-wrapper h2,
.dw-shop .wc-block-order-confirmation-billing-wrapper h3,
.dw-shop .wc-block-order-confirmation-totals-wrapper h3,
.dw-shop .wc-block-order-confirmation-downloads-wrapper h3,
.dw-shop .wc-block-order-confirmation-additional-fields-wrapper h2,
.dw-shop .wc-block-order-confirmation-additional-fields-wrapper h3 {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.dw-shop .woocommerce-thankyou-order-received,
.dw-shop .wc-block-order-confirmation-status p {
	font-size: clamp(16px, 1.5vw, 20px);
	color: var(--wp--custom--ink-soft-80, rgba(21,24,29,.8));
	margin: 0 0 22px;
}

.dw-shop ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
	list-style: none;
	margin: 0 0 24px;
	padding: 20px 24px;
}

.dw-shop ul.order_details li {
	border: none;
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
	padding: 6px 0;
	margin: 0;
	float: none;
}

.dw-shop ul.order_details li strong {
	display: block;
	font-size: 15px;
	letter-spacing: .02em;
	color: var(--wp--preset--color--ink, #15181d);
	margin-top: 4px;
	font-variant-numeric: tabular-nums;
}

.dw-shop .wc-block-order-confirmation-summary { margin-bottom: 24px; }

.dw-shop .wc-block-order-confirmation-summary-list {
	display: flex;
	flex-wrap: wrap;
	gap: 4px 28px;
	border: none;
	padding: 0;
	margin: 0;
}

.dw-shop .wc-block-order-confirmation-summary-list-item { border: none; padding: 6px 0; }

.dw-shop .wc-block-order-confirmation-summary-list-item__key {
	font-size: 10.5px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
}

.dw-shop .wc-block-order-confirmation-summary-list-item__value {
	font-size: 15px;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.dw-shop .woocommerce-order-details__title,
.dw-shop .woocommerce-column__title,
.dw-shop .wc-block-order-confirmation-totals-wrapper h2,
.dw-shop .wc-block-order-confirmation-address-wrapper h2,
.dw-shop .wc-block-order-confirmation-downloads-wrapper h2 {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	margin: 0 0 12px;
}

.dw-shop .woocommerce-order-details,
.dw-shop .woocommerce-customer-details { margin-bottom: 24px; }

.dw-shop .woocommerce-order-details table.shop_table,
.dw-shop .wc-block-order-confirmation-totals table {
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
	margin: 0;
}

.dw-shop .wc-block-order-confirmation-totals table th,
.dw-shop .wc-block-order-confirmation-totals table td {
	border: none;
	border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.2));
	padding: 12px 8px;
	font-size: 13.5px;
}

.dw-shop .wc-block-order-confirmation-totals table thead th { border-top: none; }

.dw-shop address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.6;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
}

/* ---------- Kundenkonto ---------- */
@media (min-width: 880px) {
	.dw-shop .woocommerce:has(.woocommerce-MyAccount-navigation) {
		display: flex;
		gap: 24px;
		align-items: flex-start;
	}

	.dw-shop .woocommerce-MyAccount-navigation {
		flex: 0 0 250px;
		float: none;
		width: auto;
		position: sticky;
		top: 96px;
	}

	.dw-shop .woocommerce-MyAccount-content {
		flex: 1;
		float: none;
		width: auto;
		min-width: 0;
	}
}

.dw-shop .woocommerce-MyAccount-navigation { padding: 12px 20px; }

.dw-shop .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.dw-shop .woocommerce-MyAccount-navigation li {
	border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.2));
	margin: 0;
}

.dw-shop .woocommerce-MyAccount-navigation li:first-child { border-top: none; }

.dw-shop .woocommerce-MyAccount-navigation a {
	display: block;
	padding: 13px 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .15em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
}

.dw-shop .woocommerce-MyAccount-navigation .is-active a {
	color: var(--acc, #0f9d8f);
}

.dw-shop .woocommerce-MyAccount-content > p:first-child { margin-top: 0; }

.dw-shop .woocommerce-MyAccount-content table.shop_table {
	padding: 0;
	background: none;
	border: none;
	box-shadow: none;
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

/* Login/Registrierung */
.dw-shop .woocommerce-form-login,
.dw-shop .woocommerce-form-register {
	max-width: 460px;
	border: 1px solid rgba(255,255,255,.6);
}

.dw-shop .u-columns.col2-set { display: flex; flex-wrap: wrap; gap: 24px; }
.dw-shop .u-columns.col2-set .u-column1,
.dw-shop .u-columns.col2-set .u-column2 { flex: 1 1 340px; float: none; width: auto; }

.dw-shop .lost_password a,
.dw-shop .woocommerce-LostPassword a {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ---------- Responsive Feinschliff ---------- */
@media (max-width: 879px) {
	.dw-shop { padding-top: 96px; }

	.dw-shop .wc-block-cart__sidebar,
	.dw-shop .wc-block-checkout__sidebar { position: static; }

	.dw-shop .wc-block-cart-items { padding: 2px 14px; }

	.dw-shop .wc-block-components-checkout-step { padding: 18px; }

	/* Haupt-CTA als bequeme Daumen-Buttons */
	.dw-shop .button,
	.dw-shop .wc-block-components-button { white-space: normal; }

	/* Classic-Tabellen stapeln zu Karten (ergänzt Woo-Smallscreen-CSS) */
	.dw-shop table.shop_table.shop_table_responsive thead { display: none; }

	.dw-shop table.shop_table.shop_table_responsive tr {
		display: block;
		border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.25));
		padding: 10px 0;
	}

	.dw-shop table.shop_table.shop_table_responsive tr:first-child { border-top: none; }

	.dw-shop table.shop_table.shop_table_responsive td {
		display: flex;
		justify-content: space-between;
		align-items: center;
		gap: 14px;
		border: none;
		padding: 8px 0;
		text-align: right;
	}

	.dw-shop table.shop_table.shop_table_responsive td::before {
		content: attr(data-title);
		font-size: 9.5px;
		font-weight: 600;
		letter-spacing: .15em;
		text-transform: uppercase;
		color: var(--wp--custom--ink-soft-50, rgba(21,24,29,.5));
		float: none;
		text-align: left;
	}

	.dw-shop table.shop_table.shop_table_responsive td.product-name { text-align: left; }

	.dw-shop .woocommerce-cart-form td.actions,
	.dw-shop .woocommerce-cart-form td.actions::before { display: block; content: none; text-align: left; }

	.dw-shop .woocommerce-cart-form .coupon { width: 100%; flex-wrap: wrap; }
	.dw-shop .woocommerce-cart-form .coupon input[type="text"] { flex: 1 1 auto; width: auto; }
	.dw-shop .woocommerce-cart-form td.actions .button { width: 100%; margin-top: 10px; }

	.dw-shop .cart-collaterals .cart_totals { width: 100%; float: none; }

	.dw-shop ul.order_details { flex-direction: column; gap: 0; }
	.dw-shop ul.order_details li { border-top: 1px dashed var(--wp--custom--dash, rgba(21,24,29,.2)); padding: 10px 0; }
	.dw-shop ul.order_details li:first-child { border-top: none; }
}

/* Sehr kleine Screens: Innenabstände der Panels reduzieren */
@media (max-width: 480px) {
	.dw-shop .wc-block-cart-items,
	.dw-shop .wc-block-cart__sidebar,
	.dw-shop .wc-block-checkout__sidebar,
	.dw-shop table.shop_table,
	.dw-shop .cart-collaterals .cart_totals,
	.dw-shop .woocommerce-MyAccount-content,
	.dw-shop .woocommerce-form-login,
	.dw-shop .woocommerce-form-register,
	.dw-shop ul.order_details,
	.dw-shop .wc-block-order-confirmation-summary,
	.dw-shop .wc-block-order-confirmation-totals-wrapper,
	.dw-shop .wc-block-order-confirmation-shipping-wrapper,
	.dw-shop .wc-block-order-confirmation-billing-wrapper {
		padding-left: 16px;
		padding-right: 16px;
	}
}

/* ---------- Nachträge: Block-Selects & Meta-Listen ---------- */
.dw-shop .wc-block-components-select__select {
	background: none;
	border: none;
	min-height: 44px;
	box-shadow: none;
}

.dw-shop .wc-block-components-product-metadata,
.dw-shop .wc-block-components-product-metadata__description {
	font-size: 12.5px;
	color: var(--wp--custom--ink-soft-75, rgba(21,24,29,.75));
}

.dw-shop dl.variation {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 3px 10px;
	align-items: baseline;
	margin: 8px 0 0;
}

.dw-shop dl.variation dd p { margin: 0; font-size: 12.5px; }

/* ---------- Shop-Werkzeugleiste (über Warenkorb und Kasse) ----------
 * Kommt aus inc/woocommerce.php (render_block-Filter): zurück zum Kalkulator
 * für ein weiteres Modell, aus der Kasse zusätzlich in den Warenkorb. */
.dw-shop .dws-shopbar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 18px;
}

.dw-shop .dws-shopbar__btn {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	min-height: 40px;
	padding: 0 18px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--ink, #15181d);
	text-decoration: none;
	background: linear-gradient(120deg, rgba(255,255,255,.6), rgba(255,255,255,.25));
	border: 1px solid rgba(255,255,255,.7);
	box-shadow: inset 0 1px 0 rgba(255,255,255,.85), 0 14px 30px -18px rgba(15,25,40,.35);
	transition: background .15s ease;
}

.dw-shop .dws-shopbar__btn:hover { background: rgba(255,255,255,.82); }

.dw-shop .dws-shopbar__btn--add { color: var(--acc, #0f9d8f); }

@media (max-width: 560px) {
	.dw-shop .dws-shopbar__btn {
		flex: 1 1 100%;
		justify-content: center;
	}
}

/* ---------- Konfigurations-Metadaten: eine Angabe je Zeile ----------
 * WooCommerce reiht die Positionsdaten in der Bestellübersicht als Fließtext
 * mit Schrägstrichen auf („Material: PLA / Farben: Weiss / …") — hier wird
 * daraus die gestapelte Zusammenfassung wie im Kalkulator-Preis-Panel:
 * Label links (Micro-Uppercase), Wert rechts, je Angabe eine Zeile. */
.dw-shop .wc-block-components-product-details,
.dw-shop ul.wc-block-components-product-details {
	margin: 10px 0 0;
	padding: 0;
	list-style: none;
	display: block;
}

.dw-shop .wc-block-components-product-details li {
	display: flex !important;
	justify-content: space-between;
	align-items: baseline;
	gap: 14px;
	margin: 0;
	padding: 3px 0;
}

.dw-shop .wc-block-components-product-details li::after { content: none !important; }

.dw-shop .wc-block-components-product-details__name {
	flex: 0 0 auto;
	margin: 0;
}

.dw-shop .wc-block-components-product-details__value {
	text-align: right;
	overflow-wrap: anywhere;
}

/* Kopfzeile der Position: Name bricht sauber um, Summe bleibt rechts stehen */
.dw-shop .wc-block-components-order-summary-item__header {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.dw-shop .wc-block-components-order-summary-item__header .wc-block-components-product-name {
	flex: 1 1 auto;
	overflow-wrap: anywhere;
}

.dw-shop .wc-block-components-order-summary-item__total-price { white-space: nowrap; }

/* Einzelpreis unter dem Namen ausblenden — bei Stückzahl 1 stünde der Preis
 * doppelt da; die Menge zeigt das Zahlen-Badge am Vorschaubild. */
.dw-shop .wc-block-components-order-summary-item__individual-prices,
.dw-shop .wc-block-components-order-summary-item__description > .wc-block-components-product-price { display: none; }

/* Überschrift der Bestellübersicht im CI-Micro-Stil */
.dw-shop .wc-block-checkout__sidebar .wc-block-components-title,
.dw-shop .wc-block-cart__sidebar .wc-block-components-title {
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .13em;
	text-transform: uppercase;
	margin: 2px 0 10px;
}
