/* ==========================================================================
   Hotrod Core — WooCommerce Account/Transaction Surfaces (High-Gloss v3)
   Lädt auf: is_cart() (/cart/ + /de/warenkorb/), is_checkout() (Seite #8 +
   order-received Endpoint), is_account_page() (/my-account/).

   VERIFIZIERTE DOM-REALITÄT (curl + hydrierter Browser-DOM, 2026-07-19):
   - /cart/ + /checkout/ sind WOO-BLOCKS (React, .wc-block-*) — KEINE klassischen
     shop_table/form-row-Selektoren dort (die leben nur auf Thank-you/My-Account).
   - Thank-you (order-received) + My-Account sind KLASSISCH (woocommerce-order,
     woocommerce-form-login, shop_table …).
   - Funnel-Sicherheit: der Funnel erzwingt is_checkout()=true auf /book/ →
     diese Datei LÄDT auch auf /book/?step=checkout (body: woocommerce-page
     woocommerce-checkout, klassisches Checkout-Markup in .hf-checkout).
     Darum: Block-Regeln auf .wc-block-cart/.wc-block-checkout gescope't
     (existieren im Funnel nicht), klassische Regeln auf .woocommerce-account/
     .woocommerce-order rescope't oder mit :not(.hf-checkout *) gesperrt.
     .hf-* wird hier nirgends gestylt.

   THEME-AWARENESS: die semantischen --wb-Tokens (surface/text/border/link …)
   flippen unter html.theme-dark (theme-dark.css) — Regeln auf Token-Basis
   funktionieren in beiden Themes automatisch. Nur Licht-exklusive Offset-
   Schatten sind explizit auf html:not(.theme-dark) gescope't (Dark = nur
   1px-Hairlines, kein Glow, Auswahl = Inset-Ring Orange).

   Radius 0 überall; Ausnahme: native Radio-DOTS bleiben rund (Dot-Ausnahme
   wie --wb-r-pill — eckige Radios lesen sich als Checkboxen).
   ========================================================================== */

/* --------------------------------------------------------------------------
   0) Lokale Kürzel (nur Referenzen auf existierende Tokens + Fallbacks)
   -------------------------------------------------------------------------- */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account {
	--hw-accent:        var(--wb-c-orange, var(--hc-red, #FF6B00));
	--hw-accent-hover:  var(--wb-c-orange-deep, #E65F00);
	--hw-accent-text:   var(--wb-link, #B84400);        /* flippt dark → #FF6B00 */
	--hw-jet:           var(--wb-c-jet, #0B0B0C);
	--hw-surface:       var(--wb-surface, #FFFFFF);
	--hw-surface-2:     var(--wb-surface-2, #F5F5F5);
	--hw-surface-hover: var(--wb-surface-hover, #F0F0F0);
	--hw-text:          var(--wb-text, #111111);
	--hw-muted:         var(--wb-muted, #555555);
	--hw-line:          var(--wb-border, #E2E2E2);
	--hw-line-strong:   var(--wb-border-strong, #C9C9C9);
	--hw-danger:        var(--wb-c-danger, #C5483C);
	--hw-success:       var(--wb-c-success, #1F8A5B);
	--hw-display:       var(--wb-font-display, 'Oswald', 'Arial Narrow', sans-serif);
	--hw-body:          var(--wb-font-body, 'Inter', system-ui, sans-serif);
	--hw-wedge:         polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%);
}

/* --------------------------------------------------------------------------
   1) Notices — klassisch + Block, eckig, gebrandet
   -------------------------------------------------------------------------- */
/* ⚠️ Funnel-Guard: /book/?step=checkout trägt ebenfalls body.woocommerce-page
   (der Funnel erzwingt is_checkout() → diese Datei LÄDT dort). Alle Regeln,
   deren Klassen auch im klassischen Funnel-Checkout vorkommen (notices,
   shop_table, wc-gzd-*), sind darum mit :not(.hf-checkout *) ausgesperrt
   bzw. auf .woocommerce-account/.woocommerce-order rescope't. */
.woocommerce-page .woocommerce-message:not(.hf-checkout *),
.woocommerce-page .woocommerce-info:not(.hf-checkout *),
.woocommerce-page .woocommerce-error:not(.hf-checkout *) {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-left: 3px solid var(--hw-accent);
	border-radius: 0;
	color: var(--hw-text);
	font-family: var(--hw-body);
	font-size: 1.4rem;
	padding: 1.4rem 1.8rem;
	margin: 0 0 2rem;
	list-style: none;
}
.woocommerce-page .woocommerce-error:not(.hf-checkout *) {
	border-left-color: var(--hw-danger);
}
.woocommerce-page .woocommerce-error:not(.hf-checkout *) li {
	list-style: none;
	margin: 0;
}
.woocommerce-page .woocommerce-message:not(.hf-checkout *) a,
.woocommerce-page .woocommerce-info:not(.hf-checkout *) a,
.woocommerce-page .woocommerce-error:not(.hf-checkout *) a {
	color: var(--hw-accent-text);
}

/* Block-Notices (Banner + Snackbar) */
.woocommerce-page .wc-block-components-notice-banner {
	border-radius: 0;
	border-width: 1px;
	border-left-width: 3px;
	font-family: var(--hw-body);
}
.woocommerce-page .wc-block-components-notice-banner.is-error {
	background: var(--hw-surface);
	border-color: var(--hw-line);
	border-left-color: var(--hw-danger);
	color: var(--hw-text);
}
.woocommerce-page .wc-block-components-notice-banner.is-success,
.woocommerce-page .wc-block-components-notice-banner.is-info {
	background: var(--hw-surface);
	border-color: var(--hw-line);
	border-left-color: var(--hw-accent);
	color: var(--hw-text);
}

/* Feld-Validierung (Block + klassisch): oranger/dunkelroter Rand, kein Glow */
.woocommerce-page .wc-block-components-validation-error,
.woocommerce-page .wc-block-components-validation-error p {
	color: var(--hw-danger);
	font-family: var(--hw-body);
	font-size: 1.2rem;
}
.woocommerce-page .has-error input,
.woocommerce-page .has-error select,
.woocommerce-page .has-error textarea {
	border-color: var(--hw-danger) !important;
	box-shadow: inset 0 0 0 1px var(--hw-danger) !important;
}
.woocommerce-account .woocommerce-invalid input.input-text {
	border-color: var(--hw-danger);
	box-shadow: inset 0 0 0 1px var(--hw-danger);
}

/* --------------------------------------------------------------------------
   2) Primär-CTAs — Orange, JET-Text, Speed-Wedge, hover translateX(3px)
      (Cart-Submit, Place-Order, klassische Buttons auf Account/Thank-you)
   -------------------------------------------------------------------------- */
.wc-block-cart .wc-block-cart__submit-button.wc-block-components-button.wp-element-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button.wp-element-button,
.woocommerce-account button.woocommerce-button.button,
.woocommerce-order .woocommerce-button.button.pay {
	background: var(--wb-primary, #FF6B00);
	color: var(--wb-on-primary, #0B0B0C);
	font-family: var(--hw-display);
	font-weight: 700;
	font-size: 1.5rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	line-height: 1;
	border: none;
	border-radius: 0;
	clip-path: var(--hw-wedge, polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%));
	padding: 0 2.8rem 0 2.2rem;
	min-height: 4.6rem;
	cursor: pointer;
	text-decoration: none;
	transition: transform var(--wb-transition, .18s ease), background var(--wb-transition, .18s ease);
}
.wc-block-cart .wc-block-cart__submit-button.wc-block-components-button.wp-element-button:hover,
.wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button.wp-element-button:hover,
.woocommerce-account button.woocommerce-button.button:hover,
.woocommerce-order .woocommerce-button.button.pay:hover {
	background: var(--wb-primary-hover, #E65F00);
	color: var(--wb-on-primary, #0B0B0C);
	transform: translateX(3px);
	text-decoration: none;
}
.wc-block-cart .wc-block-cart__submit-button.wc-block-components-button.wp-element-button:focus-visible,
.wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button.wp-element-button:focus-visible,
.woocommerce-account button.woocommerce-button.button:focus-visible,
.woocommerce-order .woocommerce-button.button.pay:focus-visible {
	/* clip-path frisst die Outline → Inset-Ring statt Glow */
	outline: none;
	box-shadow: inset 0 0 0 2px var(--hw-jet, #0B0B0C);
}
/* Die großen Fließ-CTAs höher als der 46px-Feldstandard */
.wc-block-cart .wc-block-cart__submit-button.wc-block-components-button.wp-element-button,
.wc-block-checkout .wc-block-components-checkout-place-order-button.wc-block-components-button.wp-element-button {
	min-height: 5.4rem;
	width: 100%;
	font-size: 1.6rem;
}

/* Sekundär / Ghost (Thank-you: cancel; generisch: view) */
.woocommerce-order .woocommerce-button.button.cancel,
.woocommerce-order .woocommerce-button.button.view,
.woocommerce-account a.woocommerce-button.button:not(.pay) {
	background: transparent;
	color: var(--hw-text);
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	border: 1px solid var(--hw-line-strong);
	border-radius: 0;
	padding: 1.2rem 1.8rem;
	line-height: 1;
	text-decoration: none;
	transition: border-color var(--wb-transition, .18s ease), color var(--wb-transition, .18s ease);
	display: inline-block;
}
.woocommerce-order .woocommerce-button.button.cancel:hover,
.woocommerce-order .woocommerce-button.button.view:hover,
.woocommerce-account a.woocommerce-button.button:not(.pay):hover {
	border-color: var(--hw-accent);
	color: var(--hw-accent-text);
	background: transparent;
}

/* --------------------------------------------------------------------------
   3) BLOCK-CART (/cart/, /de/warenkorb/) — .wc-block-cart existiert NUR hier
   -------------------------------------------------------------------------- */

/* Überschriften im Cart-Block (Empty-Cart-Titel, „New in store", Cross-Sells) */
.wp-block-woocommerce-cart .wp-block-heading {
	font-family: var(--hw-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--hw-text);
}
.wc-block-cart__empty-cart__title {
	font-size: clamp(2.4rem, 2rem + 1.2vw, 3.4rem);
}

/* Separator (Empty-Cart „···") → nüchterne Hairline */
.woocommerce-cart .wp-block-separator {
	border: none;
	border-top: 1px solid var(--hw-line);
	height: 0;
	background: none;
	width: 100%;
	max-width: none;
}
.woocommerce-cart .wp-block-separator.is-style-dots::before {
	content: none;
}

/* Positionstabelle — !important nötig: Woo cart.css setzt
   `table.wc-block-cart-items { background: none !important }` */
.wc-block-cart table.wc-block-cart-items {
	background: var(--hw-surface) !important;
	border: 1px solid var(--hw-line);
	border-radius: 0;
}
.wc-block-cart .wc-block-cart-items__header th {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: var(--wb-tracking-wide, .14em);
	color: var(--hw-muted);
	border-bottom: 1px solid var(--hw-line);
	padding: 1.2rem 1.6rem;
}
.wc-block-cart .wc-block-cart-items__row {
	border-bottom: 1px solid var(--hw-line);
}
.wc-block-cart .wc-block-cart-items__row:last-child {
	border-bottom: none;
}
.wc-block-cart .wc-block-cart-item__image img {
	border-radius: 0;
	border: 1px solid var(--hw-line);
}
.wc-block-cart .wc-block-components-product-name {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.6rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--hw-text);
	text-decoration: none;
}
.wc-block-cart .wc-block-components-product-name:hover {
	color: var(--hw-accent-text);
	text-decoration: none;
}
/* Buchungsdetails (Datum/Zeit/Personen) + Beschreibung → gedämpft klein */
.wc-block-cart .wc-block-components-product-details,
.wc-block-cart .wc-block-components-product-metadata__description {
	font-family: var(--hw-body);
	font-size: 1.25rem;
	color: var(--hw-muted);
}
.wc-block-cart .wc-block-components-product-price,
.wc-block-cart .wc-block-cart-item__total {
	font-family: var(--hw-body);
	color: var(--hw-text);
}

/* Entfernen-Button (Trash-Icon) */
.wc-block-cart .wc-block-cart-item__remove-link {
	color: var(--hw-muted);
	border-radius: 0;
	transition: color var(--wb-transition, .18s ease);
}
.wc-block-cart .wc-block-cart-item__remove-link:hover {
	color: var(--hw-danger);
}

/* Mengen-Stepper: eckig, 46px, keine Woo-Rundung/Schatten */
.woocommerce-page .wc-block-components-quantity-selector {
	border: 1px solid var(--hw-line-strong);
	border-radius: 0;
	box-shadow: none;
	height: 4.6rem;
	background: var(--hw-surface);
}
.woocommerce-page .wc-block-components-quantity-selector::after {
	border: none; /* Woo zeichnet den Rahmen als ::after mit radius — weg damit */
}
.woocommerce-page .wc-block-components-quantity-selector__button {
	border: none;
	background: transparent;
	color: var(--hw-muted);
	font-size: 1.8rem;
	font-weight: 600;
	cursor: pointer;
	min-width: 3.6rem;
	transition: background var(--wb-transition, .18s ease), color var(--wb-transition, .18s ease);
}
.woocommerce-page .wc-block-components-quantity-selector__button:hover {
	background: var(--hw-surface-hover);
	color: var(--hw-text);
}
.woocommerce-page .wc-block-components-quantity-selector__input {
	background: transparent;
	border: none;
	color: var(--hw-text);
	font-family: var(--hw-body);
	font-weight: 600;
	font-size: 1.5rem;
	text-align: center;
}

/* Sidebar = Surface-Karte; Offset-Schatten NUR light (Dark: Hairline pur) */
.wc-block-cart .wc-block-components-sidebar,
.wc-block-checkout .wc-block-components-sidebar {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-radius: 0;
	padding: 2rem 2rem 2.4rem;
}
html:not(.theme-dark) .wc-block-cart .wc-block-components-sidebar,
html:not(.theme-dark) .wc-block-checkout .wc-block-components-sidebar {
	box-shadow: 8px 8px 0 var(--wb-c-ink, #111111);
}

/* Totals-Kopf + Zeilen */
.wc-block-cart__totals-title,
.wc-block-components-checkout-order-summary__title-text {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.4rem;
	text-transform: uppercase;
	letter-spacing: var(--wb-tracking-wide, .14em);
	color: var(--hw-text);
	border-bottom: none;
}
.woocommerce-page .wc-block-components-totals-wrapper {
	border-top: 1px solid var(--hw-line);
}
.woocommerce-page .wc-block-components-totals-item {
	font-family: var(--hw-body);
	font-size: 1.4rem;
	color: var(--hw-text);
}
.woocommerce-page .wc-block-components-totals-item__description,
.woocommerce-page .wc-block-components-totals-footer-item-tax,
.woocommerce-page .wc-block-components-order-meta {
	font-size: 1.2rem;
	color: var(--hw-muted);
}
/* Endsumme: Oswald, Wert in Orange (light: AA-dunkles Orange via --wb-link) */
.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
	font-family: var(--hw-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .06em;
	font-size: 1.6rem;
}
.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
	font-family: var(--hw-display);
	font-weight: 700;
	font-size: 2.2rem;
	color: var(--hw-accent-text);
}

/* Coupon-Panel („Add coupons") */
.woocommerce-page .wc-block-components-panel__button {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--hw-accent-text);
	border-radius: 0;
}
.woocommerce-page .wc-block-components-totals-coupon__form {
	align-items: stretch;
	gap: .8rem;
}
.woocommerce-page .wc-block-components-totals-coupon__button {
	background: transparent;
	color: var(--hw-text);
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	border: 1px solid var(--hw-line-strong);
	border-radius: 0;
	min-height: 4.6rem;
	margin: 0;
	transition: border-color var(--wb-transition, .18s ease), color var(--wb-transition, .18s ease);
}
.woocommerce-page .wc-block-components-totals-coupon__button:hover {
	background: transparent;
	border-color: var(--hw-accent);
	color: var(--hw-accent-text);
}

/* Akzeptierte Zahlarten dezent */
.wc-block-cart__payment-options {
	opacity: .75;
}

/* Cross-Sells — beide Varianten:
   a) Empty-Cart „New in store" = product-new Grid (.wc-block-grid__product)
   b) Filled-Cart „You may be interested in…" = Product Collection (.wc-block-product) */
.wp-block-woocommerce-cart .wc-block-grid__product,
.wp-block-woocommerce-cart .wc-block-product {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-radius: 0;
	padding: 1.6rem;
	transition: border-color var(--wb-transition, .18s ease);
}
.wp-block-woocommerce-cart .wc-block-grid__product:hover,
.wp-block-woocommerce-cart .wc-block-product:hover {
	border-color: var(--hw-line-strong);
}
.wp-block-woocommerce-cart .wc-block-grid__product-image img,
.wp-block-woocommerce-cart .wc-block-components-product-image img {
	border-radius: 0;
}
.wp-block-woocommerce-cart .wc-block-grid__product-title,
.wp-block-woocommerce-cart .wc-block-product .wp-block-post-title {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.5rem;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--hw-text);
}
.wp-block-woocommerce-cart .wc-block-product .wp-block-post-title a {
	color: var(--hw-text);
	text-decoration: none;
}
.wp-block-woocommerce-cart .wc-block-product .wp-block-post-title a:hover {
	color: var(--hw-accent-text);
}
.wp-block-woocommerce-cart .wc-block-grid__product-price,
.wp-block-woocommerce-cart .wc-block-grid__product-price .woocommerce-Price-amount {
	font-family: var(--hw-body);
	color: var(--hw-text);
	font-weight: 600;
}
/* Cross-Sell Add-to-cart: kleiner Wedge-CTA (Server-Grid + interaktive Collection) */
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link,
.wp-block-woocommerce-cart .wc-block-components-product-button__button {
	background: var(--wb-primary, #FF6B00);
	color: var(--wb-on-primary, #0B0B0C);
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	border: none;
	border-radius: 0;
	clip-path: var(--hw-wedge, polygon(0 0, 100% 0, calc(100% - 12px) 100%, 0 100%));
	padding: 1.2rem 2.2rem 1.2rem 1.6rem;
	line-height: 1;
	text-decoration: none;
	transition: transform var(--wb-transition, .18s ease), background var(--wb-transition, .18s ease);
}
.wp-block-woocommerce-cart .wc-block-grid__product-add-to-cart .wp-block-button__link:hover,
.wp-block-woocommerce-cart .wc-block-components-product-button__button:hover {
	background: var(--wb-primary-hover, #E65F00);
	color: var(--wb-on-primary, #0B0B0C);
	transform: translateX(3px);
}

/* --------------------------------------------------------------------------
   4) Germanized-Beigaben (Preis-Suffixe, Versand-/Steuerhinweise) — gedämpft
   -------------------------------------------------------------------------- */
.woocommerce-page .wc-gzd-additional-info:not(.hf-checkout *),
.woocommerce-page .wp-block-woocommerce-germanized-cart-summary-item {
	font-family: var(--hw-body);
	font-size: 1.15rem;
	color: var(--hw-muted);
}
.woocommerce-page .wc-gzd-additional-info:not(.hf-checkout *) a {
	color: var(--hw-muted);
	text-decoration: underline;
}
.woocommerce-page .wc-gzd-additional-info:not(.hf-checkout *) a:hover {
	color: var(--hw-accent-text);
}

/* --------------------------------------------------------------------------
   5) BLOCK-CHECKOUT (Standalone Seite #8) — .wc-block-checkout existiert
      NUR hier, nie im Funnel (.hf-checkout bleibt unberührt)
   -------------------------------------------------------------------------- */

/* Schritt-Titel */
.wc-block-checkout .wc-block-components-checkout-step__title,
.wc-block-checkout .wc-block-components-title {
	font-family: var(--hw-display);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--hw-text);
}
.wc-block-checkout .wc-block-components-checkout-step__heading {
	margin-bottom: .8rem;
}
.wc-block-checkout .wc-block-checkout__login-prompt,
.wc-block-checkout .wc-block-checkout__guest-checkout-notice {
	font-family: var(--hw-body);
	font-size: 1.3rem;
	color: var(--hw-muted);
}
.wc-block-checkout .wc-block-checkout__login-prompt a {
	color: var(--hw-accent-text);
}

/* Textfelder + Selects: eckig, Hairline, Fokus = 1px-Inset-Ring Orange.
   Höhe bleibt die native Block-Höhe (Floating-Label-Mechanik) — ~46px. */
.woocommerce-page .wc-block-components-text-input.wc-block-components-text-input input,
.woocommerce-page .wc-blocks-components-select__container .wc-blocks-components-select__select {
	background: var(--hw-surface);
	color: var(--hw-text);
	font-family: var(--hw-body);
	border: 1px solid var(--hw-line-strong);
	border-radius: 0;
	box-shadow: none;
}
.woocommerce-page .wc-block-components-text-input.wc-block-components-text-input input:focus,
.woocommerce-page .wc-blocks-components-select__container .wc-blocks-components-select__select:focus {
	background: var(--hw-surface);
	border-color: var(--hw-accent);
	box-shadow: inset 0 0 0 1px var(--hw-accent);
	outline: none;
}
.woocommerce-page .wc-block-components-text-input label,
.woocommerce-page .wc-blocks-components-select__label {
	color: var(--hw-muted);
	font-family: var(--hw-body);
}
.wc-block-checkout .wc-block-components-textarea {
	background: var(--hw-surface);
	color: var(--hw-text);
	font-family: var(--hw-body);
	border: 1px solid var(--hw-line-strong);
	border-radius: 0;
}
.wc-block-checkout .wc-block-components-textarea:focus {
	border-color: var(--hw-accent);
	box-shadow: inset 0 0 0 1px var(--hw-accent);
	outline: none;
}

/* Checkboxen: eckig, checked = Orange mit Jet-Haken */
.woocommerce-page .wc-block-components-checkbox__input[type='checkbox'] {
	border-radius: 0;
	border: 1px solid var(--hw-line-strong);
	background: var(--hw-surface);
}
.woocommerce-page .wc-block-components-checkbox__input[type='checkbox']:checked {
	background: var(--hw-accent);
	border-color: var(--hw-accent);
}
.woocommerce-page .wc-block-components-checkbox__input[type='checkbox']:focus {
	outline: 2px solid var(--hw-accent);
	outline-offset: 1px;
}
.woocommerce-page .wc-block-components-checkbox__mark {
	fill: var(--hw-jet);
}
.woocommerce-page .wc-block-components-checkbox__label {
	font-family: var(--hw-body);
	font-size: 1.3rem;
	color: var(--hw-text);
}

/* Adresskarte (gespeicherte Adresse) */
.wc-block-checkout .wc-block-components-address-card {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-radius: 0;
	font-family: var(--hw-body);
	color: var(--hw-text);
}
.wc-block-checkout .wc-block-components-address-card__edit {
	color: var(--hw-accent-text);
	font-family: var(--hw-display);
	font-size: 1.2rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .08em;
	text-decoration: none;
}
.wc-block-checkout .wc-block-components-address-card__edit:hover {
	text-decoration: underline;
}
.wc-block-checkout .wc-block-components-address-form__address_2-toggle {
	color: var(--hw-accent-text);
}

/* Zahlungsarten-Akkordeon: Hairlines, Auswahl = Inset-Ring Orange,
   Hover schwächer als Auswahl (nur Flächen-Tint) */
.wc-block-checkout .wc-block-components-radio-control--highlight-checked,
.wc-block-checkout .wc-block-components-radio-control-accordion-option {
	border-radius: 0;
	font-family: var(--hw-body);
}
.wc-block-checkout .wc-block-components-radio-control--highlight-checked {
	border: 1px solid var(--hw-line);
	box-shadow: none;
	background: var(--hw-surface);
}
.wc-block-checkout .wc-block-components-radio-control-accordion-option:not(:last-child) {
	border-bottom: 1px solid var(--hw-line);
}
.wc-block-checkout .wc-block-components-radio-control__option {
	border-radius: 0;
	transition: background var(--wb-transition, .18s ease);
}
.wc-block-checkout .wc-block-components-radio-control__option:hover {
	background: var(--hw-surface-hover);
}
.wc-block-checkout .wc-block-components-radio-control__option-checked,
.wc-block-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
	background: var(--hw-surface);
	box-shadow: inset 0 0 0 1px var(--hw-accent);
}
.wc-block-checkout .wc-block-components-radio-control__label {
	font-family: var(--hw-body);
	font-size: 1.4rem;
	color: var(--hw-text);
}
/* Radio-DOT bleibt rund (Dot-Ausnahme) — nur Farbe auf Orange */
.wc-block-checkout .wc-block-components-radio-control__input {
	border-color: var(--hw-line-strong);
	background: var(--hw-surface);
}
.wc-block-checkout .wc-block-components-radio-control__input:checked {
	border-color: var(--hw-accent);
}
.wc-block-checkout .wc-block-components-radio-control__input:checked::before {
	background: var(--hw-accent);
}
.wc-block-checkout .wc-block-components-radio-control-accordion-content {
	font-size: 1.3rem;
	color: var(--hw-muted);
}

/* Order-Summary (Sidebar): Thumbs eckig, Mengen-Badge eckig auf Jet */
.wc-block-checkout .wc-block-components-order-summary-item__image img {
	border-radius: 0;
	border: 1px solid var(--hw-line);
}
.wc-block-checkout .wc-block-components-order-summary-item__quantity {
	border-radius: 0;
	background: var(--hw-jet);
	color: #FFFFFF;
	border: none;
	box-shadow: 0 0 0 2px var(--hw-surface);
	font-family: var(--hw-body);
	font-weight: 600;
}
.wc-block-checkout .wc-block-components-order-summary-item {
	font-family: var(--hw-body);
	color: var(--hw-text);
}
.wc-block-checkout .wc-block-components-order-summary-item__individual-prices,
.wc-block-checkout .wc-block-components-product-metadata__description {
	color: var(--hw-muted);
	font-size: 1.2rem;
}
.wc-block-checkout .wc-block-components-checkout-order-summary__title {
	font-family: var(--hw-display);
}

/* Germanized-Rechtstexte/Checkboxen im Checkout: klein + gedämpft */
.wc-block-checkout .wc-gzd-checkboxes .wc-block-components-checkbox__label,
.wp-block-woocommerce-germanized-checkout-checkboxes {
	font-size: 1.25rem;
	color: var(--hw-muted);
}
.wc-block-checkout .wc-gzd-checkboxes a {
	color: var(--hw-accent-text);
}

/* Actions-Zeile (Return-to-cart Link, falls aktiv) */
.wc-block-checkout .wc-block-checkout__actions_row {
	border-top: 1px solid var(--hw-line);
	padding-top: 2rem;
}

/* --------------------------------------------------------------------------
   6) MY ACCOUNT — klassisches Markup
   -------------------------------------------------------------------------- */

/* Login/Register-Karten (logged-out: .u-columns #customer_login) */
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2 {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-radius: 0;
	padding: 3.2rem;
}
html:not(.theme-dark) .woocommerce-account .u-columns .u-column1,
html:not(.theme-dark) .woocommerce-account .u-columns .u-column2 {
	box-shadow: 8px 8px 0 var(--wb-c-ink, #111111);
}
.woocommerce-account .u-columns h2 {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 2rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--hw-text);
	margin-top: 0;
}

/* Formulare: Labels Oswald klein-uppercase, Felder 46px eckig */
.woocommerce-account .woocommerce-form-row label,
.woocommerce-account .form-row label {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--hw-muted);
	display: block;
	margin-bottom: .6rem;
}
.woocommerce-account .woocommerce-Input--text,
.woocommerce-account input.input-text {
	background: var(--hw-surface);
	color: var(--hw-text);
	font-family: var(--hw-body);
	font-size: 1.4rem;
	height: 4.6rem;
	width: 100%;
	padding: 0 1.4rem;
	border: 1px solid var(--hw-line-strong);
	border-radius: 0;
	box-shadow: none;
}
.woocommerce-account .woocommerce-Input--text:focus,
.woocommerce-account input.input-text:focus {
	border-color: var(--hw-accent);
	box-shadow: inset 0 0 0 1px var(--hw-accent);
	outline: none;
}
.woocommerce-account .woocommerce-form__label-for-checkbox {
	font-family: var(--hw-body) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 1.3rem !important;
	color: var(--hw-text) !important;
	display: inline-flex;
	align-items: center;
	gap: .8rem;
}
.woocommerce-account .woocommerce-form__input-checkbox {
	accent-color: var(--hw-accent);
	width: 1.6rem;
	height: 1.6rem;
	border-radius: 0;
}
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .lost_password a {
	color: var(--hw-accent-text);
	font-size: 1.3rem;
}

/* Account-Navigation (logged-in; Woo-Standardklassen): Oswald-Tabs,
   aktiv = orange Links-Kante — Hover bewusst schwächer als aktiv */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--hw-line);
	background: var(--hw-surface);
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
	margin: 0;
	border-bottom: 1px solid var(--hw-line);
}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
	border-bottom: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.3rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--hw-muted);
	text-decoration: none;
	padding: 1.2rem 1.6rem;
	border-left: 3px solid transparent;
	transition: background var(--wb-transition, .18s ease), color var(--wb-transition, .18s ease);
}
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover {
	background: var(--hw-surface-hover);
	color: var(--hw-text);
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	border-left-color: var(--hw-accent);
	color: var(--hw-accent-text);
	background: var(--hw-surface-2);
}
.woocommerce-account .woocommerce-MyAccount-content {
	font-family: var(--hw-body);
	color: var(--hw-text);
}

/* Adressen als Karten (Woo-Standardklassen, logged-in) */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-radius: 0;
	padding: 2rem;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.6rem;
	text-transform: uppercase;
	letter-spacing: .05em;
}
.woocommerce-account .woocommerce-Address-title .edit {
	color: var(--hw-accent-text);
	font-size: 1.2rem;
	text-transform: uppercase;
	font-family: var(--hw-display);
	letter-spacing: .08em;
	text-decoration: none;
}
.woocommerce-account .woocommerce-Address address {
	font-style: normal;
	color: var(--hw-muted);
}

/* --------------------------------------------------------------------------
   7) Klassische Tabellen (Thank-you Order-Details + Account-Orders)
      Bewusst NUR .woocommerce-account/.woocommerce-order-gescope't — die
      Funnel-Review-Order-Tabelle (.hf-checkout table.shop_table) bleibt frei.
   -------------------------------------------------------------------------- */
.woocommerce-account table.shop_table,
.woocommerce-order table.shop_table {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-radius: 0;
	border-collapse: collapse;
	width: 100%;
	font-family: var(--hw-body);
	color: var(--hw-text);
}
.woocommerce-account table.shop_table th,
.woocommerce-account table.shop_table td,
.woocommerce-order table.shop_table th,
.woocommerce-order table.shop_table td {
	border: none;
	border-bottom: 1px solid var(--hw-line);
	padding: 1.2rem 1.6rem;
	font-size: 1.4rem;
	text-align: left;
}
.woocommerce-account table.shop_table thead th,
.woocommerce-order table.shop_table thead th {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: var(--wb-tracking-wide, .14em);
	color: var(--hw-muted);
}
.woocommerce-account table.shop_table tfoot th,
.woocommerce-order table.shop_table tfoot th {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.2rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: var(--hw-muted);
}
.woocommerce-account table.shop_table tbody tr:last-child td,
.woocommerce-order table.shop_table tbody tr:last-child td,
.woocommerce-account table.shop_table tfoot tr:last-child th,
.woocommerce-order table.shop_table tfoot tr:last-child th,
.woocommerce-account table.shop_table tfoot tr:last-child td,
.woocommerce-order table.shop_table tfoot tr:last-child td {
	border-bottom: none;
}
.woocommerce-account table.shop_table a,
.woocommerce-order table.shop_table a {
	color: var(--hw-accent-text);
	text-decoration: none;
}
.woocommerce-account table.shop_table a:hover,
.woocommerce-order table.shop_table a:hover {
	text-decoration: underline;
}

/* --------------------------------------------------------------------------
   8) THANK-YOU (order-received, klassisch)
   -------------------------------------------------------------------------- */
.woocommerce-order .woocommerce-thankyou-order-received {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: clamp(2.4rem, 2rem + 1.4vw, 3.6rem);
	line-height: 1.15;
	text-transform: uppercase;
	letter-spacing: .03em;
	color: var(--hw-text);
	background: none;
	border: none;
	border-left: 4px solid var(--hw-accent);
	border-radius: 0;
	padding: .4rem 0 .4rem 1.8rem;
	margin: 0 0 2.8rem;
}

/* Order-Overview als eckige Chips */
.woocommerce-order ul.woocommerce-order-overview {
	display: flex;
	flex-wrap: wrap;
	gap: 1.2rem;
	list-style: none;
	margin: 0 0 3.2rem;
	padding: 0;
}
.woocommerce-order .woocommerce-order-overview li {
	background: var(--hw-surface-2);
	border: 1px solid var(--hw-line);
	border-right: 1px solid var(--hw-line); /* Woo default: dashed — weg */
	border-radius: 0;
	margin: 0;
	padding: 1.2rem 1.8rem;
	float: none;
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.1rem;
	text-transform: uppercase;
	letter-spacing: .1em;
	color: var(--hw-muted);
}
.woocommerce-order .woocommerce-order-overview li strong {
	display: block;
	font-family: var(--hw-body);
	font-weight: 600;
	font-size: 1.5rem;
	text-transform: none;
	letter-spacing: 0;
	color: var(--hw-text);
	margin-top: .4rem;
}
.woocommerce-order .woocommerce-order-overview__total strong {
	color: var(--hw-accent-text);
}

/* Abschnitts-Titel + Kundendetails */
.woocommerce-order .woocommerce-order-details__title,
.woocommerce-order .woocommerce-column__title {
	font-family: var(--hw-display);
	font-weight: 600;
	font-size: 1.8rem;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--hw-text);
}
.woocommerce-order .woocommerce-customer-details {
	background: var(--hw-surface);
	border: 1px solid var(--hw-line);
	border-radius: 0;
	padding: 2rem 2.4rem;
	margin-top: 2.4rem;
	font-family: var(--hw-body);
}
.woocommerce-order .woocommerce-customer-details address {
	font-style: normal;
	border: none;
	padding: 0;
	color: var(--hw-text);
}
.woocommerce-order .woocommerce-customer-details--email,
.woocommerce-order .woocommerce-customer-details--phone {
	color: var(--hw-muted);
	margin: .4rem 0 0;
}

/* Total-Zeile der Order-Details in Orange */
.woocommerce-order table.shop_table tfoot tr:last-child td .woocommerce-Price-amount {
	font-family: var(--hw-display);
	font-weight: 700;
	font-size: 1.8rem;
	color: var(--hw-accent-text);
}
.woocommerce-order .order-actions--heading {
	color: var(--hw-muted);
}
