@charset "UTF-8";
/* =========================================================
   Shop-Stylesheet des Child Themes

   Sammelt die WooCommerce- und Produkt-Styles des Projekts. Kompiliert
   nach dist/css/shop.css, eingebunden in functions.php.

   Bauen:  npm install  &&  npm run build:css
   Beobachten: npm run watch:css

   Der Parent wird dabei nicht angefasst und muss nie neu kompiliert werden.
   Die Partials stammen aus dem alten Theme (ww-basetheme-v1-alt) und ziehen
   nach und nach hierher um – Stand 2026-09-24 ist das Produkt-Hero.
   ========================================================= */
/* Aus abstracts/variables/_globals.scss des alten Themes. Die Datei
   selbst kommt nicht mit: _single-product.scss braucht genau diese eine
   Variable, der Rest hing an Bootstrap. */
/* Reihenfolge exakt wie in der alten woocommerce-custom.scss.
   Sie ist nicht beliebig: `buttons` überschreibt gezielt Regeln aus
   `single-product`, `shop-theme` ist der autoritative Cohesion-Layer und
   steht deshalb spät, `account` ganz zuletzt. Wer hier umsortiert, ändert
   die Kaskade. */
/* =========================================
   Uckermarkbett – WooCommerce Design-Tokens
   Zentrale Radius-/Border-/Transition-Werte für ALLE
   WooCommerce-Bereiche (Produkt, Warenkorb, Kasse,
   Konto, Order-Received). Einzige Quelle – nicht pro
   Datei neu definieren.
   ========================================= */
/* Global Woocommerce Style */
body.woocommerce-page .site-header .navbar-brand img,
body.woocommerce .site-header .navbar-brand img,
body.single-product .site-header .navbar-brand img {
  width: inherit;
  height: auto;
}

.woocommerce .navbar-brand img,
.woocommerce-page .navbar-brand img {
  height: 60px !important;
  width: auto !important;
  max-width: unset !important;
}

/* =========================================
   Schriftgrößen-Angleichung für WooCommerce-Blöcke
   WC-Blocks (Warenkorb/Kasse) sizen ihren Text über die
   WP-Core-Slugs --small (13px) / --medium. Dieses Theme nutzt
   aber die eigene Skala (sm ≈ 1rem). Ohne Mapping wirkt der
   Block-Text ~13px – kleiner als der restliche Auftritt und
   nicht barrierearm. Hier auf die Theme-Skala angleichen.
   ========================================= */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account,
.woocommerce-order-received {
  --wp--preset--font-size--small: var(--wp--preset--font-size--sm);
  --wp--preset--font-size--medium: var(--wp--preset--font-size--md);
}

/* =========================================
   Uckermarkbett Custom Product Hero
   Shortcode: [ub_product_hero id="260"]
   Button-Styles ausgelagert nach: uckermarkbett-buttons.scss
   ========================================= */
.ub-product-hero {
  --ub-green: #2f6b36;
  --ub-green-dark: #25562b;
  --ub-text: #202520;
  --ub-muted: #687066;
  --ub-bg: #f7f3ea;
  --ub-card: #ffffff;
  --ub-cream: #f2eadc;
  --ub-cream-light: #faf7ef;
  --ub-border: rgba(85, 68, 43, 0.16);
  --ub-shadow: 0 28px 80px rgba(58, 48, 34, 0.13);
  max-width: 100%;
  color: var(--ub-text);
}

.ub-product-hero,
.ub-product-hero *,
.ub-product-hero *::before,
.ub-product-hero *::after {
  box-sizing: border-box;
}

.ub-product-hero__container,
.ub-product-notices {
  width: min(100% - 48px, 1440px);
  max-width: 100%;
  margin-inline: auto;
}

.ub-product-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(360px, 0.9fr);
  gap: clamp(32px, 4vw, 64px);
  align-items: start;
  max-width: 100%;
}

.ub-product-hero__grid > * {
  min-width: 0;
}

/* =========================================
   Galerie
   ========================================= */
.ub-product-gallery-card,
.ub-product-card {
  max-width: 100%;
  min-width: 0;
  background: var(--ub-card);
  border-radius: 30px;
}

.ub-product-gallery-card {
  padding: 24px;
}

.ub-product-gallery {
  position: relative;
  max-width: 100%;
}

.ub-product-gallery__badges {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 5;
  display: flex;
  gap: 10px;
}

.ub-product-gallery__badges span {
  width: 76px;
  height: 76px;
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--ub-border);
  box-shadow: 0 10px 26px rgba(58, 48, 34, 0.14);
  color: var(--ub-green);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  font-size: 0.74rem;
  font-weight: 900;
  line-height: 1.05;
}

.ub-product-gallery__main {
  position: relative;
  overflow: hidden;
  max-width: 100%;
  border-radius: 30px;
  background: linear-gradient(145deg, #fbfaf5 0%, #eee5d4 100%);
  aspect-ratio: 1.12/1;
}

.ub-product-gallery__slide {
  display: none;
  width: 100%;
  height: 100%;
  margin: 0;
}

.ub-product-gallery__slide.is-active {
  display: block;
}

.ub-product-gallery__slide img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: 100%;
  object-fit: cover;
}

.ub-product-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
  max-width: 100%;
}

/* =========================================
   Produktkarte
   ========================================= */
.ub-product-card {
  padding: clamp(34px, 4vw, 56px);
}

.ub-product-card__kicker {
  margin: 0 0 16px;
}

.ub-product-card__title {
  margin: 0 0 22px;
  color: var(--ub-text);
}

.ub-product-card__intro {
  max-width: 58ch;
  margin-bottom: 26px;
  color: var(--ub-muted);
  font-size: clamp(1rem, 1.08vw, 1.15rem);
  line-height: 1.7;
}

.ub-product-card__intro p {
  margin: 0;
}

.ub-product-card__price {
  margin-bottom: 6px;
  color: var(--ub-text);
}

.ub-product-card__price .price,
.ub-product-card__price .amount {
  color: var(--ub-text);
  font-size: clamp(1.9rem, 2.2vw, 2.35rem);
  font-weight: 900;
  line-height: 1;
}

.ub-product-card__tax {
  margin: 0 0 24px;
  color: var(--ub-muted);
  font-size: 0.92rem;
}
.ub-product-card__tax .legal-price-info,
.ub-product-card__tax p {
  margin: 0;
}
.ub-product-card__tax .wc-gzd-additional-info {
  color: inherit;
  font-size: inherit;
}
.ub-product-card__tax .shipping-costs-info {
  color: var(--ub-green);
  font-weight: 700;
}
.ub-product-card__tax .tax-info + .shipping-costs-info::before {
  content: "·";
  margin: 0 0.4em;
  color: var(--ub-muted);
  font-weight: 400;
}
.ub-product-card__tax .delivery-time-info {
  margin-top: 2px;
}

.ub-product-card__checks {
  display: grid;
  gap: 12px;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
  color: var(--ub-muted);
  font-size: 1rem;
  line-height: 1.45;
}

.ub-product-card__checks li {
  position: relative;
  padding-left: 30px;
}

.ub-product-card__checks li::before {
  content: "✓";
  position: absolute;
  left: 0;
  top: -1px;
  color: var(--ub-green);
  font-weight: 900;
}

/* =========================================
   WooCommerce Add to Cart Layout
   Button-Optik liegt in uckermarkbett-buttons.scss
   ========================================= */
.ub-product-card__cart {
  max-width: 100%;
  margin-top: 26px;
}

.ub-product-card__cart form.cart {
  max-width: 100%;
  margin: 0;
}

.ub-product-card__cart table.variations,
.ub-product-card__cart table.variations tbody,
.ub-product-card__cart table.variations tr,
.ub-product-card__cart table.variations th,
.ub-product-card__cart table.variations td {
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
}

.ub-product-card__cart table.variations {
  margin-bottom: 18px;
}

.ub-product-card__cart table.variations label {
  display: block;
  margin-bottom: 12px;
  color: var(--ub-text);
  font-weight: 900;
}

.ub-product-card__cart table.variations select {
  width: 100%;
  min-height: 54px;
  padding: 0 16px;
  border: 1px solid var(--ub-border);
  border-radius: 16px;
  background: #fff;
  color: var(--ub-text);
  font-size: 1rem;
}

.ub-product-card__cart .reset_variations {
  display: inline-block !important;
  margin-top: 8px;
  color: var(--ub-green);
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 4px;
}

.ub-product-card__cart .woocommerce-variation {
  margin-bottom: 14px;
}

.ub-product-card__cart .woocommerce-variation-price .price {
  color: var(--ub-text);
  font-weight: 900;
}

.ub-product-card__cart .woocommerce-variation-availability {
  margin-bottom: 12px;
  color: var(--ub-muted);
}

.ub-product-card__cart .woocommerce-variation-add-to-cart,
.ub-product-card__cart form.cart:not(.variations_form) {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
  max-width: 100%;
}

.ub-product-card__cart .quantity {
  min-width: 0;
  margin: 0 !important;
}

.ub-product-card__cart .quantity input.qty {
  width: 100% !important;
  height: 60px;
  border-radius: 999px;
  border: 1px solid var(--ub-border);
  background: #fff;
  color: var(--ub-text);
  font-size: 1.05rem;
  font-weight: 800;
  text-align: center;
}

/* =========================================
   Service
   ========================================= */
.ub-product-card__service {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: 20px;
}

.ub-product-card__service span {
  min-height: 42px;
  padding: 10px 12px;
  border-radius: 999px;
  background: var(--ub-cream);
  color: var(--ub-muted);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 0.86rem;
  font-weight: 700;
  text-align: center;
}

.ub-product-card__help {
  margin: 22px 0 0;
  color: var(--ub-muted);
  font-size: 1rem;
}

.ub-product-card__help a {
  color: var(--ub-green);
  font-weight: 900;
  text-decoration: underline;
  text-underline-offset: 4px;
}

/* =========================================
   Notices Layout
   Button-Optik liegt in uckermarkbett-buttons.scss
   ========================================= */
.ub-product-notices .woocommerce-message,
.ub-product-notices .woocommerce-info,
.ub-product-notices .woocommerce-error {
  display: flex;
  align-items: center;
  gap: 16px;
  border: 0;
  border-radius: 30px;
  background: #f7f3ea;
  color: #202520;
  box-shadow: 0 14px 40px rgba(58, 48, 34, 0.12);
  padding: 18px 22px;
  margin: 0 0 20px;
}

.ub-product-notices .woocommerce-message {
  border: 0;
  background-color: var(--wp--preset--color--tint-bg);
}

.ub-product-notices .woocommerce-message::before {
  position: unset;
  font-size: 2rem;
}

/* =========================================
   Warenkorb Flyout Badge
   ========================================= */
.ww-flyout__btn--cart {
  position: relative;
}

.ww-flyout__cart-count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 22px;
  height: 22px;
  padding: 0 6px;
  display: none;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  background: #c7352a;
  color: #fff;
  font-size: 0.72rem;
  font-weight: 900;
  line-height: 1;
  border: 2px solid #fff;
  box-shadow: 0 6px 14px rgba(199, 53, 42, 0.28);
}

.ww-flyout__cart-count.is-visible {
  display: inline-flex;
}

/* =========================================
   Variation Auswahl Layout
   Button-Optik liegt in uckermarkbett-buttons.scss
   ========================================= */
.ub-product-card__variation-choice {
  margin: 22px 0 22px;
}

.ub-product-card__variation-label {
  margin: 0 0 10px;
  font-weight: 700;
  color: #1f2521;
}

.ub-variation-boxes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.ub-variation-box__title {
  display: block;
  margin-bottom: 6px;
  font-size: 1rem;
  font-weight: 700;
  color: #1f2521;
}

.ub-variation-box__text {
  display: block;
  font-size: 0.9rem;
  line-height: 1.45;
  color: #667064;
}

.ub-product-card__cart .variations {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  border: 0;
  white-space: nowrap;
}

/* =========================================
   Variation Modal Layout
   Button-Optik liegt in uckermarkbett-buttons.scss
   ========================================= */
html.ub-modal-open,
body.ub-modal-open {
  overflow: hidden !important;
}

body.ub-modal-open {
  position: fixed;
  width: 100%;
}

.ub-variation-modal {
  position: fixed;
  inset: 0;
  z-index: 99999;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 24px;
}

.ub-variation-modal.is-visible {
  display: flex;
}

.ub-variation-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(31, 37, 33, 0.45);
  backdrop-filter: blur(4px);
}

.ub-variation-modal__dialog {
  position: relative;
  z-index: 1;
  width: min(100%, 460px);
  background: #ffffff;
  border-radius: 28px;
  padding: 34px 32px 30px;
  box-shadow: 0 24px 70px rgba(31, 37, 33, 0.22);
  text-align: center;
  outline: none;
}

.ub-variation-modal__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  margin-bottom: 18px;
  border-radius: 50%;
  background: #f4f0e7;
  color: #2f6b35;
  font-size: 1.6rem;
  font-weight: 800;
}

.ub-variation-modal__title {
  margin: 0 0 10px;
  font-size: 1.55rem;
  line-height: 1.2;
  color: #1f2521;
}

.ub-variation-modal__text {
  margin: 0 auto 24px;
  max-width: 340px;
  font-size: 1rem;
  line-height: 1.6;
  color: #5f685f;
}

.ub-variation-modal__actions {
  display: flex;
  justify-content: center;
}

/* Der Button darf trotz WooCommerce-disabled-Klasse klickbar bleiben */
.ub-product-card__cart .single_add_to_cart_button.disabled,
.ub-product-card__cart .single_add_to_cart_button.wc-variation-selection-needed {
  pointer-events: auto !important;
}

/* =========================================
   Produktseiten-Overflow-Sicherung
   ========================================= */
.is-hero-css .ww-section__inner {
  margin-inline: auto;
  box-sizing: border-box;
  overflow-x: clip;
}

/* =========================================
   Responsive
   ========================================= */
@media (max-width: 1180px) {
  .ub-product-hero__grid {
    grid-template-columns: 1fr;
  }
  .ub-product-card {
    max-width: 760px;
    margin-inline: auto;
  }
}
@media (max-width: 768px) {
  .ub-product-hero {
    padding: 32px 0;
  }
  .ub-product-hero__container,
  .ub-product-notices {
    width: min(100% - 24px, 1440px);
  }
  .ub-product-gallery-card,
  .ub-product-card {
    border-radius: 30px;
  }
  .ub-product-gallery-card {
    padding: 18px;
  }
  .ub-product-card {
    padding: 24px 20px;
  }
  .ub-product-gallery__badges {
    top: 14px;
    left: 14px;
  }
  .ub-product-gallery__badges span {
    width: 62px;
    height: 62px;
    font-size: 0.66rem;
  }
  .ub-product-gallery__main {
    border-radius: 18px;
    aspect-ratio: 1/1;
  }
  .ub-product-gallery__thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
  .ub-product-card__cart .woocommerce-variation-add-to-cart,
  .ub-product-card__cart form.cart:not(.variations_form) {
    grid-template-columns: 1fr;
  }
  .ub-product-card__service {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 575px) {
  .ub-variation-boxes {
    grid-template-columns: 1fr;
  }
  .ub-variation-modal__dialog {
    padding: 30px 24px 26px;
    border-radius: 24px;
  }
  .ub-variation-modal__title {
    font-size: 1.35rem;
  }
}
/* Cart Woocommerce Style */
/* ┌───────────────────────────────────────────────────────┐
   │ Hier nur noch LAYOUT/STRUKTUR. Farben, Typo, Abstände, │
   │ Rahmen, Karten-Optik + Padding-Modell kommen aus       │
   │ woocommerce/_shop-theme (autoritativ).                 │
   └───────────────────────────────────────────────────────┘ */
/* =========================================
   Uckermarkbett – WooCommerce Warenkorb
   Passend zur Produktseite / Naturkissen Layout
   Button-Styles ausgelagert nach: uckermarkbett-buttons.scss
   ========================================= */
/* Radius-Tokens zentral in woocommerce/_tokens.scss */
/* =========================================
   Warenkorb Basis
   ========================================= */
.woocommerce-cart {
  background: var(--wp--preset--color--soft-bg, #f8f5ed);
  color: var(--wp--preset--color--neutral-900, #111);
  /* =========================================
     WooCommerce Cart Block Layout
     ========================================= */
  /* =========================================
     Cards
     ========================================= */
  /* Karten-Optik + Padding = _shop-theme (Card-Rolle + Box-Modell).
     Hier nur Layout-Struktur. */
  /* =========================================
     Produktliste
     ========================================= */
  /* =========================================
     Mengensteuerung Layout
     Button-Optik liegt in uckermarkbett-buttons.scss
     ========================================= */
  /* =========================================
     Entfernen-Link
     ========================================= */
  /* =========================================
     Sidebar / Warenkorb-Summe
     ========================================= */
  /* =========================================
     Gutschein Formular Layout
     Button-Optik liegt in uckermarkbett-buttons.scss
     ========================================= */
  /* Coupon-Formular-Layout = _shop-theme (geteilt, beide Seiten gleich). */
  /* =========================================
     Checkout Button Container
     Button-Optik liegt in uckermarkbett-buttons.scss
     ========================================= */
  /* =========================================
     Payment / Hinweise
     ========================================= */
  /* =========================================
     Notices
     ========================================= */
  /* =========================================
     Leerer Warenkorb
     Button-Optik liegt in uckermarkbett-buttons.scss
     ========================================= */
}
.woocommerce-cart .entry-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 6rem) clamp(1rem, 4vw, 3rem);
}
.woocommerce-cart .entry-footer {
  display: none;
}
.woocommerce-cart .wp-block-woocommerce-cart {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
}
.woocommerce-cart .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 440px) !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  align-items: start !important;
}
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-cart .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: auto !important;
  max-width: none !important;
}
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar {
  width: 100%;
}
.woocommerce-cart .wc-block-cart__sidebar {
  min-width: 0;
  overflow: hidden;
  position: sticky;
  top: 2rem;
}
.woocommerce-cart .wc-block-cart-items {
  border: 0;
}
.woocommerce-cart .wc-block-cart-items th,
.woocommerce-cart .wc-block-cart-items td {
  border-color: rgba(35, 38, 34, 0.1);
}
.woocommerce-cart .wc-block-cart-items__header {
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--wp--preset--color--neutral-900, #111);
  padding-bottom: 1rem;
}
.woocommerce-cart .wc-block-cart-items__row td {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  vertical-align: middle;
}
.woocommerce-cart .wc-block-cart-item__image {
  width: 96px;
}
.woocommerce-cart .wc-block-cart-item__image img {
  width: 82px;
  height: 82px;
  object-fit: cover;
  border-radius: 14px;
  background: var(--wp--preset--color--neutral-0, #fbf8f1);
  border: 1px solid rgba(47, 107, 54, 0.12);
}
.woocommerce-cart .wc-block-cart-item__product {
  padding-left: 1rem;
}
.woocommerce-cart .wc-block-cart-item__wrap {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}
.woocommerce-cart .wc-block-components-product-name {
  color: var(--wp--preset--color--primary, #31592f);
  font-weight: 700;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.woocommerce-cart .wc-block-components-product-name:hover, .woocommerce-cart .wc-block-components-product-name:focus-visible {
  color: var(--wp--preset--color--secondary, #ae8b5d);
}
.woocommerce-cart .wc-block-components-product-metadata {
  font-size: 0.875rem;
  color: rgba(17, 17, 17, 0.68);
}
.woocommerce-cart .wc-block-components-product-metadata .wc-block-components-product-metadata__description {
  display: none;
}
.woocommerce-cart .wc-block-components-product-metadata .wc-block-components-product-details {
  margin-top: 0.25rem;
}
.woocommerce-cart .wc-block-components-product-metadata .wc-block-components-product-details__name {
  font-weight: 600;
  color: rgba(17, 17, 17, 0.75);
}
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-cart-item__total {
  font-weight: 600;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wc-block-components-quantity-selector {
  min-width: 118px;
  height: 42px;
  background: #fff;
  border: 1px solid rgba(47, 107, 54, 0.18);
  border-radius: 999px;
}
.woocommerce-cart .wc-block-components-quantity-selector::after {
  border: 0;
}
.woocommerce-cart .wc-block-components-quantity-selector input {
  font-weight: 700;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wc-block-cart-item__remove-link {
  color: rgba(17, 17, 17, 0.65);
  font-size: 0.85rem;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
}
.woocommerce-cart .wc-block-cart-item__remove-link:hover, .woocommerce-cart .wc-block-cart-item__remove-link:focus-visible {
  color: var(--wp--preset--color--primary, #31592f);
}
.woocommerce-cart .wc-block-cart__totals-title {
  margin: 0;
  padding: 2rem 2rem 1.25rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--wp--preset--color--neutral-900, #111);
  border-bottom: 1px solid rgba(35, 38, 34, 0.12);
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon {
  padding: 1.25rem 2rem;
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
  padding: 1.5rem 2rem;
  border-color: rgba(35, 38, 34, 0.12);
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper:last-of-type {
  border-bottom: 0;
}
.woocommerce-cart .wc-block-components-totals-item {
  font-size: 1rem;
}
.woocommerce-cart .wc-block-components-totals-item .wc-block-components-totals-item__label {
  color: rgba(17, 17, 17, 0.76);
}
.woocommerce-cart .wc-block-components-totals-item .wc-block-components-totals-item__value {
  font-weight: 700;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 800;
  line-height: 1.15;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wc-block-components-text-input input {
  min-height: 48px;
  border-radius: 999px;
  border: 1px solid rgba(47, 107, 54, 0.18);
  background: #fff;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wc-block-components-text-input input:focus {
  border-color: var(--wp--preset--color--primary, #31592f);
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.14);
}
.woocommerce-cart .wc-block-components-text-input label {
  color: rgba(17, 17, 17, 0.65);
}
.woocommerce-cart .wc-block-cart__submit-container {
  width: 100%;
  margin: 0;
  padding: 1.5rem 2rem 2rem;
}
.woocommerce-cart .wc-block-cart__payment-options,
.woocommerce-cart .wc-block-components-payment-method-icons,
.woocommerce-cart .wc-block-components-payment-method-label {
  color: rgba(17, 17, 17, 0.7);
  font-size: 0.875rem;
}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .wc-block-components-notice-banner {
  max-width: 1320px;
  margin: 0 auto 1.5rem;
}
.woocommerce-cart .wc-block-components-notice-banner {
  border-radius: 18px;
  border-color: rgba(47, 107, 54, 0.18);
  background: #fff;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block {
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wc-block-cart__empty-cart__title {
  margin-bottom: 1rem;
  font-size: clamp(1.8rem, 3vw, 3rem);
  font-weight: 700;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
  margin-bottom: 3rem;
  color: var(--wp--preset--color--secondary, #ae8b5d);
  opacity: 0.7;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .ww-section {
  margin-bottom: 2rem;
  overflow: hidden;
  border-radius: 28px;
  box-shadow: 0 24px 60px rgba(35, 38, 34, 0.08);
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .ww-card {
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 45px rgba(35, 38, 34, 0.08);
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .ww-card:hover {
  transform: translateY(-2px);
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .ww-card__image {
  border-radius: 18px;
}
.woocommerce-cart .wp-block-woocommerce-empty-cart-block .ww-card__headline {
  color: var(--wp--preset--color--neutral-900, #111);
  font-weight: 700;
}

/* =========================================
   Responsive
   ========================================= */
@media (max-width: 1100px) {
  .woocommerce-cart .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-cart .wc-block-cart__sidebar {
    position: static;
  }
}
@media (max-width: 768px) {
  .woocommerce-cart .entry-content {
    padding: 2.5rem 1rem;
  }
  .woocommerce-cart .wc-block-cart__main,
  .woocommerce-cart .wc-block-cart__sidebar {
    border-radius: 20px;
  }
  .woocommerce-cart .wc-block-cart__main {
    padding: 1rem;
  }
  .woocommerce-cart .wc-block-cart__totals-title {
    padding: 1.5rem 1.25rem 1rem;
  }
  .woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel,
  .woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon {
    padding: 1rem 1.25rem;
  }
  .woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper {
    padding: 1.25rem;
  }
  .woocommerce-cart .wc-block-cart__submit-container {
    padding: 1.25rem;
  }
  .woocommerce-cart .wc-block-cart-items__row {
    display: grid;
    grid-template-columns: 82px 1fr;
    gap: 1rem;
    padding: 1.25rem 0;
  }
  .woocommerce-cart .wc-block-cart-items__row td {
    padding: 0;
  }
  .woocommerce-cart .wc-block-cart-item__image {
    width: 82px;
  }
  .woocommerce-cart .wc-block-cart-item__product {
    padding-left: 0;
  }
  .woocommerce-cart .wc-block-cart-item__total {
    grid-column: 2;
    text-align: left;
  }
  .woocommerce-cart .wc-block-components-quantity-selector {
    margin-top: 0.75rem;
  }
}
/* Checkout Woocommerce Style */
/* ┌───────────────────────────────────────────────────────┐
   │ Hier nur noch LAYOUT/STRUKTUR (Grid, Sticky, Notices,  │
   │ Responsive, Feld-Basis). Farben, Typo, Abstände,       │
   │ Rahmen, Karten-Optik kommen aus woocommerce/_shop-theme│
   │ (autoritativ). Nicht hier doppelt stylen.              │
   └───────────────────────────────────────────────────────┘ */
/* =========================================
   Uckermarkbett – WooCommerce Kasse
   Passend zu Produktseite + Warenkorb
   Buttons separat in button.scss
   ========================================= */
/* Radius-Tokens zentral in woocommerce/_tokens.scss */
/* =========================================
   Kasse Basis
   ========================================= */
.woocommerce-checkout {
  background: var(--wp--preset--color--soft-bg, #f8f5ed);
  color: var(--wp--preset--color--neutral-900, #111);
  /* =========================================
     WooCommerce Checkout Block Layout
     ========================================= */
  /* =========================================
     Hauptbereich + Bestellübersicht
     ========================================= */
  /* Karten-Optik (bg/border/radius/shadow/padding) kommt aus _shop-theme
     (Card-Rolle + Box-Modell). Hier nur noch Layout-Struktur. */
  /* =========================================
     Überschriften / Sections
     ========================================= */
  /* Nur Abstand/Zeilenhöhe – Typo/Farbe/Transform = Eyebrow-Rolle in _shop-theme */
  /* =========================================
     Formularfelder
     ========================================= */
  /* =========================================
     Checkboxen / Radio
     ========================================= */
  /* Radio-/Optionen (Versand/Zahlung) inkl. Auswahl-Zustand: siehe _shop-theme
     (gerundete Boxen, grüner Rahmen + Grünton, grüne Punkte). */
  /* =========================================
     Notiz / AGB / Footer Actions
     ========================================= */
  /* =========================================
     Bestellübersicht Sidebar
     ========================================= */
  /* Nur Abstand – Anzahl-Badge, Name, Preise, Meta = Rollen in _shop-theme */
  /* Summen-Typo (Zwischensumme/Versand/Gesamtsumme) + Gutscheinformular:
     siehe _shop-theme (Rollen: Label grau, Wert Tinte, Endsumme 1,75rem;
     Coupon-Formular als Linie + Textlink). */
  /* =========================================
     Notices / Fehlermeldungen
     ========================================= */
}
.woocommerce-checkout .entry-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 6rem) clamp(1rem, 4vw, 3rem);
}
.woocommerce-checkout .entry-footer {
  display: none;
}
.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 1440px;
  margin: 0 auto;
  padding: 0;
}
.woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(380px, 440px) !important;
  gap: clamp(2rem, 4vw, 4rem) !important;
  align-items: start !important;
}
.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main,
.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: auto !important;
  max-width: none !important;
}
.woocommerce-checkout .wc-block-checkout__main,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout .wc-block-components-sidebar {
  width: 100%;
}
.woocommerce-checkout .wc-block-checkout__sidebar {
  position: sticky;
  top: 2rem;
}
.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout .wc-block-checkout__form h2,
.woocommerce-checkout .wc-block-checkout__form h3,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-title {
  margin: 0 0 1rem;
  line-height: 1.25;
}
.woocommerce-checkout .wc-block-components-checkout-step {
  margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  padding: 0 0 clamp(1.75rem, 3vw, 2.5rem);
  border-bottom: 1px solid rgba(35, 38, 34, 0.1);
}
.woocommerce-checkout .wc-block-components-checkout-step:last-child {
  margin-bottom: 0;
  padding-bottom: 0;
  border-bottom: 0;
}
.woocommerce-checkout .wc-block-components-checkout-step__description {
  margin-bottom: 1rem;
  color: rgba(17, 17, 17, 0.68);
  font-size: 0.95rem;
  line-height: 1.6;
}
.woocommerce-checkout .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-combobox,
.woocommerce-checkout .wc-block-components-address-form__address_2-toggle {
  margin-bottom: 1rem;
}
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-form .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
  min-height: 54px;
  border: 1px solid rgba(47, 107, 54, 0.2);
  border-radius: 12px;
  background: #fff;
  color: var(--wp--preset--color--neutral-900, #111);
  font-size: 1rem;
  box-shadow: none;
}
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.woocommerce-checkout .wc-block-components-form .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-form .wc-block-components-combobox-control input:focus,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--wp--preset--color--primary, #31592f);
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.14);
  outline: none;
}
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control label,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__label {
  color: rgba(17, 17, 17, 0.68);
  font-size: 0.875rem;
}
.woocommerce-checkout .wc-block-components-address-form {
  display: grid;
  gap: 0.75rem 1rem;
}
.woocommerce-checkout .wc-block-components-address-form__first_name,
.woocommerce-checkout .wc-block-components-address-form__last_name,
.woocommerce-checkout .wc-block-components-address-form__postcode,
.woocommerce-checkout .wc-block-components-address-form__city,
.woocommerce-checkout .wc-block-components-address-form__state,
.woocommerce-checkout .wc-block-components-address-form__phone {
  margin-bottom: 0;
}
.woocommerce-checkout .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-components-address-form__country {
  margin-bottom: 0;
}
.woocommerce-checkout .wc-block-components-checkbox {
  margin-top: 0.5rem;
  color: rgba(17, 17, 17, 0.78);
  font-size: 0.95rem;
}
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input {
  width: 18px;
  height: 18px;
  border-color: rgba(47, 107, 54, 0.28);
}
.woocommerce-checkout .wc-block-components-checkbox .wc-block-components-checkbox__input:focus {
  outline: 2px solid rgba(49, 89, 47, 0.35);
  outline-offset: 2px;
}
.woocommerce-checkout .wc-block-components-payment-method-label,
.woocommerce-checkout .wc-block-components-shipping-rates-control__package-title {
  color: var(--wp--preset--color--neutral-900, #111);
  font-weight: 700;
}
.woocommerce-checkout .wc-block-checkout__add-note {
  margin-top: 1.5rem;
  color: rgba(17, 17, 17, 0.75);
}
.woocommerce-checkout .wc-block-checkout__terms {
  margin-top: 1.5rem;
  padding-top: 1.5rem;
  border-top: 1px solid rgba(35, 38, 34, 0.1);
  color: rgba(17, 17, 17, 0.72);
  font-size: 0.9rem;
  line-height: 1.6;
}
.woocommerce-checkout .wc-block-checkout__terms a {
  color: var(--wp--preset--color--primary, #31592f);
  font-weight: 700;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.woocommerce-checkout .wc-block-checkout__terms a:hover, .woocommerce-checkout .wc-block-checkout__terms a:focus-visible {
  color: var(--wp--preset--color--secondary, #ae8b5d);
}
.woocommerce-checkout .wc-block-checkout__actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin-top: 2rem;
}
.woocommerce-checkout .wc-block-checkout__actions_row {
  width: 100%;
}
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  color: rgba(17, 17, 17, 0.72);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover, .woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:focus-visible {
  color: var(--wp--preset--color--primary, #31592f);
  text-decoration: underline;
  text-underline-offset: 4px;
}
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-title {
  margin: 0;
  padding: 2rem 2rem 1.25rem;
  border-bottom: 1px solid rgba(35, 38, 34, 0.12);
}
.woocommerce-checkout .wc-block-components-order-summary {
  padding: 0;
}
.woocommerce-checkout .wc-block-components-order-summary__content {
  padding: 0;
}
.woocommerce-checkout .wc-block-components-order-summary-item {
  padding: 1.25rem 2rem;
  border-bottom: 1px solid rgba(35, 38, 34, 0.1);
}
.woocommerce-checkout .wc-block-components-order-summary-item__image {
  width: 64px;
}
.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  border-radius: 14px;
  background: var(--wp--preset--color--neutral-0, #fbf8f1);
  border: 1px solid rgba(47, 107, 54, 0.12);
}
.woocommerce-checkout .wc-block-components-order-summary-item__description {
  padding-left: 0.75rem;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description h3,
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  margin: 0 0 0.25rem;
}
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel,
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-coupon {
  padding: 1.25rem 2rem;
  border-bottom: 1px solid rgba(35, 38, 34, 0.1);
}
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper {
  border-bottom: 1px solid rgba(35, 38, 34, 0.1);
}
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-footer-item {
  padding: 1.5rem 2rem 2rem;
  border-bottom: 0;
}
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .wc-block-components-notice-banner {
  max-width: 1440px;
  margin: 0 auto 1.5rem;
}
.woocommerce-checkout .wc-block-components-notice-banner {
  border-radius: 18px;
  border-color: rgba(47, 107, 54, 0.18);
  background: #fff;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-checkout .wc-block-components-validation-error {
  margin-top: 0.35rem;
  color: #9d2f25;
  font-size: 0.85rem;
  font-weight: 600;
}

/* =========================================
   Responsive
   ========================================= */
@media (max-width: 1100px) {
  .woocommerce-checkout .wc-block-components-sidebar-layout {
    grid-template-columns: 1fr !important;
  }
  .woocommerce-checkout .wc-block-checkout__sidebar {
    position: static;
  }
}
@media (max-width: 768px) {
  .woocommerce-checkout .entry-content {
    padding: 2.5rem 1rem;
  }
  .woocommerce-checkout .wc-block-checkout__main,
  .woocommerce-checkout .wc-block-checkout__sidebar {
    border-radius: 20px;
  }
  .woocommerce-checkout .wc-block-checkout__main {
    padding: 1rem;
  }
  .woocommerce-checkout .wc-block-components-sidebar .wc-block-components-title {
    padding: 1.5rem 1.25rem 1rem;
  }
  .woocommerce-checkout .wc-block-components-order-summary-item,
  .woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel,
  .woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-coupon,
  .woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper,
  .woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-footer-item {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
  .woocommerce-checkout .wc-block-checkout__actions {
    align-items: stretch;
    flex-direction: column-reverse;
  }
  .woocommerce-checkout .wc-block-components-checkout-place-order-button {
    width: 100%;
  }
}
.wp-block-woocommerce-checkout-order-summary-block {
  border: 0 !important;
}

/* =========================================
   EU-Gewährleistungshinweis (harmonisierte Mitteilung)
   Anhang I VO (EU) 2025/1960 – ab 27.09.2026 im Checkout.

   Aufklappbare Zeile über dem Checkout-Formular. Karten-Rolle wie die
   übrigen Shop-Boxen (--ub-card / --ub-card-border / --ub-r-inner),
   Grün nur für das interaktive Summary. Die amtliche Grafik selbst wird
   NICHT eingefärbt oder beschnitten – nur skaliert.

   Alles unter `.woocommerce-checkout` verschachtelt: WooCommerce liefert
   `.woocommerce img, .woocommerce-page img { max-width: 100% }`
   (woocommerce-layout.css) – ohne den Seiten-Scope gewinnt diese Regel und
   die Mitteilung liefe über die volle Spaltenbreite. Scope statt
   `!important` (Theme-Konvention).
   ========================================= */
.woocommerce-checkout {
  /* Interaktive Rolle -> Grün, Fließtextgröße, 700 (siehe _shop-theme) */
  /* Sekundär-Rolle: 0,875rem / --ub-muted */
  /* Amtliche Grafik: A4-Hochformat, unverändert.
     Breite so, dass der QR-Code in Standard-Anzeigegröße lesbar bleibt
     (Practical Guidelines 2.3: „legible at default display size"). */
  /* Klickbarer Link auf dasselbe Ziel wie der QR-Code – Pflicht laut
     Practical Guidelines 2.3. */
}
.woocommerce-checkout .ub-eu-warranty {
  max-width: 1440px; /* wie .entry-content / .wp-block-woocommerce-checkout */
  margin: 0 auto 1.5rem; /* Abstand wie .woocommerce-notices-wrapper */
}
.woocommerce-checkout .ub-eu-warranty__disclosure {
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-inner);
}
.woocommerce-checkout .ub-eu-warranty__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.25rem 0.75rem;
  padding: 1rem var(--ub-card-pad);
  cursor: pointer;
  list-style: none; /* Standard-Dreieck aus */
  border-radius: var(--ub-r-inner);
  transition: background 180ms ease;
  /* Eigener Chevron – dreht beim Aufklappen. Kein EU-Bildelement. */
}
.woocommerce-checkout .ub-eu-warranty__summary::-webkit-details-marker {
  display: none;
}
.woocommerce-checkout .ub-eu-warranty__summary:hover {
  background: var(--ub-green-tint);
}
.woocommerce-checkout .ub-eu-warranty__summary:focus-visible {
  outline: 2px solid var(--ub-green);
  outline-offset: 2px;
}
.woocommerce-checkout .ub-eu-warranty__summary::after {
  content: "";
  flex: 0 0 auto;
  margin-left: auto;
  width: 0.5rem;
  height: 0.5rem;
  border-right: 2px solid var(--ub-green);
  border-bottom: 2px solid var(--ub-green);
  transform: rotate(45deg);
  transform-origin: center;
  transition: transform 180ms ease;
}
.woocommerce-checkout .ub-eu-warranty__disclosure[open] .ub-eu-warranty__summary {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.woocommerce-checkout .ub-eu-warranty__disclosure[open] .ub-eu-warranty__summary::after {
  transform: rotate(-135deg);
}
.woocommerce-checkout .ub-eu-warranty__label {
  font-size: 1rem;
  font-weight: 700;
  color: var(--ub-green);
}
.woocommerce-checkout .ub-eu-warranty__hint {
  font-size: 0.875rem;
  font-weight: 400;
  color: var(--ub-muted);
}
.woocommerce-checkout .ub-eu-warranty__panel {
  padding: 0 var(--ub-card-pad) 1.5rem;
  border-top: 1px solid var(--ub-line-soft);
}
.woocommerce-checkout .ub-eu-warranty__notice {
  display: block;
  width: 100%;
  max-width: 560px;
  height: auto;
  margin: 1.5rem auto 0;
  border: 1px solid var(--ub-line-soft);
  border-radius: var(--ub-r-input);
}
.woocommerce-checkout .ub-eu-warranty__link {
  margin: 1.25rem 0 0;
  font-size: 0.875rem;
  text-align: center;
}
.woocommerce-checkout .ub-eu-warranty__link a {
  color: var(--ub-green);
}
.woocommerce-checkout .ub-eu-warranty__link a:hover, .woocommerce-checkout .ub-eu-warranty__link a:focus-visible {
  color: var(--ub-green-dark);
  text-decoration: underline;
  text-underline-offset: 4px;
}

@media (max-width: 768px) {
  .woocommerce-checkout .ub-eu-warranty__summary,
  .woocommerce-checkout .ub-eu-warranty__panel {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }
}
/* Order Received Woocommerce Style */
/* ┌───────────────────────────────────────────────────────┐
   │ Order-Received wird komplett in woocommerce/_shop-theme │
   │ gestylt (autoritativ, Abschnitt „Order-Received“).      │
   │ Die frühere Version hier ist entfernt – sie hatte u. a. │
   │ graue Streifen-Zeilen (thead/tfoot-Hintergründe), die   │
   │ mit dem System kollidierten.                            │
   └───────────────────────────────────────────────────────┘ */
/* Buttons Woocommerce Style */
/* =========================================
   Uckermarkbett – Button System
   Gemeinsame Button-Styles für Produktseite, Warenkorb,
   WooCommerce Blocks, Notices, Variation Modal und CTAs.
   ========================================= */
/* =========================================
   Konfiguration
   Werte hier zentral an dein Designsystem anpassen.
   ========================================= */
/* =========================================
   Mixins
   ========================================= */
/* =========================================
   Allgemeine Button-Klassen
   Optional auch direkt in Templates nutzbar.
   ========================================= */
.ub-button,
.ww-cta__btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
  min-height: 58px;
  padding: 1rem 1.5rem;
}
.ub-button:focus-visible,
.ww-cta__btn:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.ub-button:hover,
.ww-cta__btn:hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}

.ub-button--primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
}
.ub-button--primary:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.ub-button--primary:hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}

.ub-button--secondary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: #9caf9b;
  color: #fff !important;
}
.ub-button--secondary:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.ub-button--secondary:hover, .ub-button--secondary:focus {
  background: #7f997d;
  color: #fff !important;
}

.ub-button--ghost {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: transparent;
  color: var(--wp--preset--color--neutral-900, #111);
  border: 1px solid rgba(47, 107, 54, 0.18);
}
.ub-button--ghost:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.ub-button--ghost:hover, .ub-button--ghost:focus-visible {
  background: var(--wp--preset--color--tint-bg, #ecf3e8);
  color: var(--wp--preset--color--primary, #31592f);
}

.ub-button--sm {
  min-height: 42px;
  padding: 0.65rem 1rem;
  font-size: 0.9rem;
}

.ub-button--md {
  min-height: 48px;
  padding: 0.85rem 1.35rem;
}

.ub-button--lg {
  min-height: 58px;
  padding: 1rem 1.5rem;
}

.ub-button--full {
  width: 100%;
}

/* =========================================
   WooCommerce Produktseite – Add to Cart
   ========================================= */
.ub-product-card__cart .single_add_to_cart_button,
.ub-product-card__cart button[type=submit] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
  width: 100%;
  min-height: 60px;
  padding: 1rem 1.5rem;
  text-transform: uppercase;
  box-shadow: none;
}
.ub-product-card__cart .single_add_to_cart_button:focus-visible,
.ub-product-card__cart button[type=submit]:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.ub-product-card__cart .single_add_to_cart_button:hover,
.ub-product-card__cart button[type=submit]:hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}

.ub-product-card__cart .single_add_to_cart_button.disabled,
.ub-product-card__cart .single_add_to_cart_button:disabled,
.ub-product-card__cart button[type=submit]:disabled {
  opacity: 0.55;
  cursor: not-allowed;
  pointer-events: none;
}

/* =========================================
   WooCommerce Warenkorb – Checkout Button
   ========================================= */
.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-block-components-button:not(.is-link) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
  width: 100%;
  min-height: 58px;
  margin: 0;
  padding: 1rem 1.5rem;
  letter-spacing: 0.01em;
}
.woocommerce-cart .wc-block-cart__submit-button:focus-visible,
.woocommerce-cart .wc-block-components-button:not(.is-link):focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.woocommerce-cart .wc-block-cart__submit-button:hover,
.woocommerce-cart .wc-block-components-button:not(.is-link):hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}

/* =========================================
   WooCommerce Warenkorb – Mengen Buttons
   ========================================= */
.woocommerce-cart .wc-block-components-quantity-selector button {
  border-radius: 999px;
  color: var(--wp--preset--color--neutral-900, #111);
}
.woocommerce-cart .wc-block-components-quantity-selector button:hover {
  background: var(--wp--preset--color--tint-bg, #ecf3e8);
}
.woocommerce-cart .wc-block-components-quantity-selector button:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 2px;
}

/* =========================================
   WooCommerce Warenkorb – Gutschein Toggle
   ========================================= */
.woocommerce-cart .wc-block-components-panel__button,
.woocommerce-cart .wc-block-components-totals-coupon-link {
  color: var(--wp--preset--color--neutral-900, #111);
  font-weight: 600;
  text-decoration: none;
}
.woocommerce-cart .wc-block-components-panel__button:hover, .woocommerce-cart .wc-block-components-panel__button:focus-visible,
.woocommerce-cart .wc-block-components-totals-coupon-link:hover,
.woocommerce-cart .wc-block-components-totals-coupon-link:focus-visible {
  color: var(--wp--preset--color--primary, #31592f);
}

/* =========================================
   Produkt Notices – Button
   ========================================= */
.ub-product-notices .button,
.ub-product-notices a.button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
  min-height: 42px;
  margin-left: auto;
  align-self: center;
  padding: 10px 18px;
}
.ub-product-notices .button:focus-visible,
.ub-product-notices a.button:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.ub-product-notices .button:hover,
.ub-product-notices a.button:hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}

/* =========================================
   Produktgalerie – Thumbnail Buttons
   ========================================= */
.ub-product-gallery__thumb {
  appearance: none;
  border: 1px solid var(--ub-border);
  background: var(--ub-cream-light);
  border-radius: 16px;
  padding: 0;
  overflow: hidden;
  aspect-ratio: 1.25/1;
  cursor: pointer;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

.ub-product-gallery__thumb img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.ub-product-gallery__thumb:hover,
.ub-product-gallery__thumb.is-active {
  border-color: var(--ub-green);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(58, 48, 34, 0.12);
}

.ub-product-gallery__thumb:focus-visible {
  outline: 3px solid rgba(47, 107, 54, 0.35);
  outline-offset: 4px;
}

/* =========================================
   Produktvariation – Auswahlboxen
   ========================================= */
.ub-variation-box {
  width: 100%;
  border: 1px solid #e2ded2;
  background: #fff;
  border-radius: 18px;
  padding: 16px 18px;
  text-align: left;
  cursor: pointer;
  transition: border-color 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}

.ub-variation-box:hover,
.ub-variation-box:focus-visible {
  border-color: #9caf9b;
  box-shadow: 0 8px 24px rgba(40, 45, 38, 0.08);
  outline: none;
}

.ub-variation-box.is-active {
  border-color: #2f6b35;
  background: #f5f8f2;
  box-shadow: 0 0 0 2px rgba(47, 107, 53, 0.12);
}

/* =========================================
   Variation Modal – Close Button
   ========================================= */
.ub-variation-modal__close {
  position: absolute;
  top: 16px;
  right: 18px;
  width: 36px;
  height: 36px;
  border: 0;
  border-radius: 50%;
  background: #f4f0e7;
  color: #1f2521;
  font-size: 26px;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.18s ease, color 0.18s ease, box-shadow 0.18s ease;
}

.ub-variation-modal__close:hover,
.ub-variation-modal__close:focus {
  background: #e9dfcc;
}

.ub-variation-modal__close:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 3px;
}

/* =========================================
   Variation Modal – Action Button
   ========================================= */
.ub-variation-modal__button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: #9caf9b;
  color: #fff !important;
  min-height: 48px;
  padding: 0 24px;
}
.ub-variation-modal__button:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.ub-variation-modal__button:hover, .ub-variation-modal__button:focus {
  background: #7f997d;
  color: #fff !important;
}

/* =========================================
   Globale Fokus-Regel für Produktkarte
   ========================================= */
.ub-product-card a:focus-visible,
.ub-product-card button:focus-visible,
.ub-product-card input:focus-visible,
.ub-product-card select:focus-visible,
.ub-product-gallery button:focus-visible {
  outline: 3px solid rgba(47, 107, 54, 0.35);
  outline-offset: 3px;
}

/* =========================================
   Responsive
   ========================================= */
@media (max-width: 768px) {
  .woocommerce-cart .wc-block-cart__submit-button {
    min-height: 54px;
  }
}
/* =========================================
   Uckermarkbett – Checkout Buttons
   Ergänzung für zentrale button.scss
   ========================================= */
.woocommerce-checkout {
  /* Primärer Kaufen-Button – nutzt das zentrale Button-System */
  /* Button-Reihe unten */
  /* Zurück zum Warenkorb */
  /* Gutschein Button */
  /* Gutschein Toggle */
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout .wc-block-components-button:not(.is-link) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
  min-height: 58px;
  padding: 1rem 1.5rem;
  letter-spacing: 0.01em;
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:focus-visible,
.woocommerce-checkout .wc-block-components-button:not(.is-link):focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:hover,
.woocommerce-checkout .wc-block-components-button:not(.is-link):hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}
.woocommerce-checkout .wc-block-components-checkout-place-order-button:disabled, .woocommerce-checkout .wc-block-components-checkout-place-order-button[aria-disabled=true],
.woocommerce-checkout .wc-block-components-button:not(.is-link):disabled,
.woocommerce-checkout .wc-block-components-button:not(.is-link)[aria-disabled=true] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.woocommerce-checkout .wc-block-checkout__actions_row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  color: rgba(17, 17, 17, 0.72);
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:hover, .woocommerce-checkout .wc-block-components-checkout-return-to-cart-button:focus-visible {
  color: var(--wp--preset--color--primary, #31592f);
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
.woocommerce-checkout .wc-block-components-totals-coupon__button {
  min-height: 48px;
  border-radius: 999px;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff;
  font-weight: 700;
}
.woocommerce-checkout .wc-block-components-totals-coupon__button:hover, .woocommerce-checkout .wc-block-components-totals-coupon__button:focus-visible {
  background: #274a27;
  color: #fff;
}
.woocommerce-checkout .wc-block-components-panel__button,
.woocommerce-checkout .wc-block-components-totals-coupon-link {
  color: var(--wp--preset--color--neutral-900, #111);
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-checkout .wc-block-components-panel__button:hover, .woocommerce-checkout .wc-block-components-panel__button:focus-visible,
.woocommerce-checkout .wc-block-components-totals-coupon-link:hover,
.woocommerce-checkout .wc-block-components-totals-coupon-link:focus-visible {
  color: var(--wp--preset--color--primary, #31592f);
}

/* =========================================
   Uckermarkbett – Order Received Buttons
   Ergänzung für zentrale button.scss
   ========================================= */
.woocommerce-order-received .button,
.woocommerce-order-received .wp-element-button,
.woocommerce-order-received .wc-block-components-button:not(.is-link) {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
  min-height: 48px;
  padding: 0.85rem 1.35rem;
}
.woocommerce-order-received .button:focus-visible,
.woocommerce-order-received .wp-element-button:focus-visible,
.woocommerce-order-received .wc-block-components-button:not(.is-link):focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.woocommerce-order-received .button:hover,
.woocommerce-order-received .wp-element-button:hover,
.woocommerce-order-received .wc-block-components-button:not(.is-link):hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}
.woocommerce-order-received .button:disabled, .woocommerce-order-received .button[aria-disabled=true],
.woocommerce-order-received .wp-element-button:disabled,
.woocommerce-order-received .wp-element-button[aria-disabled=true],
.woocommerce-order-received .wc-block-components-button:not(.is-link):disabled,
.woocommerce-order-received .wc-block-components-button:not(.is-link)[aria-disabled=true] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}

/* =========================================================
   Uckermarkbett – WooCommerce Shop-Cohesion-Layer  (AUTORITATIV)
   =========================================================
   Diese Datei ist die EINZIGE Quelle für die optische
   Vereinheitlichung von Warenkorb, Kasse, Bestellbestätigung
   (und später Konto). `_cart.scss` / `_checkout.scss` /
   `_order-received.scss` liefern nur noch Layout/Struktur –
   Farben, Typo, Abstände, Rahmen kommen von hier.

   System (statt Einzelstyling):
   1) TOKENS  – Werte nur einmal: `--ub-*` (Farben, Radien,
      `--ub-card-pad`) + Sass-Typo-Skala `$ub-fs-*` (_tokens.scss).
   2) ROLLEN  – ein Stil pro Rolle, für BEIDE Blöcke (Warenkorb-
      UND Kasse-Klasse in derselben Regel gelistet):
        • Label/Eyebrow: 0,875rem · 700 · uppercase · --ub-muted
        • Body 1rem/--ub-text · Sekundär 0,875rem/--ub-muted
        • Preis 1rem/700 · Endsumme 1,75rem/700 · Serif-Titel = DM Serif
        • Grün (--ub-green) NUR interaktiv/positiv (Aktion/Link/„kostenlos“)
   3) BOX-MODELL – die KARTE bringt das Padding (`--ub-card-pad`),
      alle inneren Ebenen haben 0 horizontales Padding/Margin.
      Neue Seite = Karten-Klasse in die Box-Modell-Liste eintragen.

   Warum je Regel zwei Klassenlisten? WooCommerce rendert Warenkorb
   und Kasse als getrennte Blöcke mit unterschiedlichem HTML – es gibt
   kein gemeinsames Element. Eine Rolle/ein Token, auf beide DOMs
   angewandt = so „einheitlich über alle Seiten“, wie WC es zulässt.

   Card-Charakter: Editorial (flach) – Schatten aus, feine 1px-Linie.
   ========================================================= */
/* =========================================================
   BOX-MODELL – eine Regel für ALLE WooCommerce-Karten
   (Warenkorb, Kasse, später Konto). Die KARTE bringt das
   allseitige Padding (--ub-card-pad); innere Elemente haben
   0 horizontales Padding/Margin. Ein Token ändern = alle Seiten.
   ========================================================= */
.wc-block-cart__main,
.wc-block-cart__sidebar,
.wc-block-checkout__main,
.wc-block-checkout__sidebar {
  padding: var(--ub-card-pad) !important;
}

/* Alle inneren Ebenen (beide Seiten): 0 horizontal (Padding + Margin) */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.wc-block-cart__sidebar .wc-block-cart__totals-title,
.wc-block-cart__sidebar .wc-block-cart__submit-container,
.wc-block-cart__sidebar .wc-block-components-totals-coupon,
.wc-block-cart__sidebar .wc-block-components-panel,
.wc-block-cart__sidebar .wc-block-components-order-summary,
.wc-block-cart__sidebar .wc-block-components-order-summary__content,
.wc-block-cart__sidebar .wc-block-components-totals-item,
.wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content,
.wc-block-checkout__sidebar .wc-block-components-totals-wrapper,
.wc-block-checkout__sidebar .wc-block-components-order-summary,
.wc-block-checkout__sidebar .wc-block-components-order-summary__content,
.wc-block-checkout__sidebar .wc-block-components-order-summary-item,
.wc-block-checkout__sidebar .wc-block-components-totals-item,
.wc-block-checkout__sidebar .wc-block-components-totals-coupon,
.wc-block-checkout__sidebar .wc-block-components-panel {
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Erstes Element (Titel) bringt keinen eigenen Top-Abstand – die Box tut es.
   Nur ein kleiner Bottom-Abstand zum nächsten Element. */
.wc-block-cart__sidebar .wc-block-cart__totals-title,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title,
.wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title-text {
  padding-top: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 1rem !important;
}

/* ---- Tokens auf Shop-Seiten (von der Produktseite übernommen) ---- */
.woocommerce-cart,
.woocommerce-checkout,
.woocommerce-account,
.woocommerce-order-received {
  --ub-green: #2f6b36;
  --ub-green-dark: #25562b;
  --ub-text: #202520; /* Textfarbe 1: kräftiges Dunkel (Haupttext) */
  --ub-muted: #565b52; /* Textfarbe 2: mitteldunkles Grau, AA-konform (Sekundär) */
  --ub-cream: #f2eadc;
  --ub-cream-light: #faf7ef;
  --ub-green-tint: #eaf1e6; /* heller Grünton: ausgewählte Optionen */
  --ub-line: rgba(85, 68, 43, 0.16);
  --ub-line-soft: rgba(85, 68, 43, 0.10);
  --ub-card: #ffffff;
  --ub-r-card: 24px;
  --ub-r-inner: 16px;
  --ub-r-input: 12px;
  /* EIN Innenabstand für alle Karten/Abschnitte (links + rechts, Cart + Kasse) */
  --ub-card-pad: 2rem;
  /* Card-Charakter: Editorial (flach) */
  --ub-card-shadow: none;
  --ub-card-border: 1px solid var(--ub-line);
  --ub-inset-bg: transparent;
  color: var(--ub-text);
}

/* =========================================================
   Typografie – EIN System
   Serif nur für prägnante Titel, Inter für alles andere.
   ========================================================= */
/* Eyebrow / Sektionslabel – ein Stil überall */
.woocommerce-cart .wc-block-cart-items__header,
.woocommerce-cart .wc-block-cart-items__header th,
.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-cart .wc-block-components-checkout-step__title,
.woocommerce-cart .wc-block-components-order-summary__title,
.woocommerce-cart .wc-block-components-checkout-order-summary__title-text,
.woocommerce-cart .wc-block-components-title,
.woocommerce-checkout .wc-block-cart-items__header,
.woocommerce-checkout .wc-block-cart-items__header th,
.woocommerce-checkout .wc-block-cart__totals-title,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout .wc-block-components-order-summary__title,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-text,
.woocommerce-checkout .wc-block-components-title,
.woocommerce-order-received .wc-block-cart-items__header,
.woocommerce-order-received .wc-block-cart-items__header th,
.woocommerce-order-received .wc-block-cart__totals-title,
.woocommerce-order-received .wc-block-components-checkout-step__title,
.woocommerce-order-received .wc-block-components-order-summary__title,
.woocommerce-order-received .wc-block-components-checkout-order-summary__title-text,
.woocommerce-order-received .wc-block-components-title {
  font-family: var(--wp--preset--font-family--inter) !important;
  font-size: 0.875rem !important; /* 14px – Minimum, nicht kleiner */
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  color: var(--ub-muted) !important; /* Sekundär-Grau – Labels sind NICHT interaktiv */
}

/* Kasse-Überschrift: Preis + Aufklapp-Icon im Titel ausblenden – nur das
   Label „BESTELLÜBERSICHT“ bleibt (wie „WARENKORB-SUMME“). */
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-price,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title-icon {
  display: none !important;
}

/* Serif-Titel (Bestätigungsseite, Seitentitel) */
.woocommerce-order-received .entry-title,
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received h2 {
  font-family: var(--wp--preset--font-family--dmserifdisplay);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: var(--ub-text);
}

/* =========================================================
   Bestell-Zusammenfassung (Signature) – Warenkorb + Kasse
   ========================================================= */
/* Karten – Charakter kommt aus den Tokens:
   Editorial = flach (kein Schatten), Warm-Soft = Schatten.
   Überschreibt die fixen Schatten aus _cart.scss, damit sich die
   Varianten sichtbar unterscheiden. */
.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-checkout__sidebar {
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  box-shadow: var(--ub-card-shadow) !important; /* schlägt fixen _cart-Schatten */
}

.woocommerce-cart,
.woocommerce-checkout {
  /* Weniger Borders: KEINE Linien an jeder Zeile.
     Struktur nur über Abstand; Linien gezielt (Titel + über Gesamtsumme). */
  /* Zeile: Label grau (Sekundär), Wert dunkel – Hierarchie über Farbe/Weight */
  /* „KOSTENLOS“ = positives Signal → grün */
  /* Gesamtsumme: großer Betrag (28px), Label + MwSt sekundär.
     EINE feine Linie darüber trennt Summen-Zeilen von der Endsumme. */
}
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-panel,
.woocommerce-cart .wc-block-cart__sidebar .wc-block-components-totals-coupon,
.woocommerce-checkout .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.woocommerce-checkout .wc-block-cart__sidebar .wc-block-components-panel,
.woocommerce-checkout .wc-block-cart__sidebar .wc-block-components-totals-coupon {
  border-top: 0 !important;
  border-bottom: 0 !important;
  padding-top: 0.9rem;
  padding-bottom: 0.9rem;
}
.woocommerce-cart .wc-block-components-totals-item,
.woocommerce-checkout .wc-block-components-totals-item {
  font-size: 1rem; /* 16 */
}
.woocommerce-cart .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__label {
  color: var(--ub-muted);
  font-weight: 400;
}
.woocommerce-cart .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-item__value {
  color: var(--ub-text);
  font-weight: 700;
}
.woocommerce-cart .wc-block-components-totals-shipping .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-shipping .wc-block-components-totals-item__value {
  color: var(--ub-green);
  font-weight: 700;
}
.woocommerce-cart .wc-block-components-totals-footer-item,
.woocommerce-checkout .wc-block-components-totals-footer-item {
  border-top: 1px solid var(--ub-line-soft) !important;
  margin-top: 0.3rem;
  padding-top: 1.1rem;
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 1rem; /* 16 */
  font-weight: 400;
  color: var(--ub-muted);
  text-transform: none;
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 1.75rem; /* 28 */
  font-weight: 700;
  line-height: 1.1;
  color: var(--ub-text);
}
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__description,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__tax-hint,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__description,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__tax-hint {
  font-size: 0.875rem; /* 14 */
  font-weight: 400;
  color: var(--ub-muted);
}

/* =========================================================
   Warenkorb – Produktzeile (Hierarchie über Größe)
   ========================================================= */
.woocommerce-cart .wc-block-components-product-name {
  font-size: 1.125rem; /* 18 – groß & fett, dunkel */
  font-weight: 700;
  color: var(--ub-text) !important;
  text-decoration: none; /* kein Dauer-Unterstrich (wie Vorlage) */
}
.woocommerce-cart .wc-block-components-product-name:hover, .woocommerce-cart .wc-block-components-product-name:focus-visible {
  color: var(--ub-green) !important;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}
.woocommerce-cart .wc-block-cart-item__prices,
.woocommerce-cart .wc-block-cart-item__total {
  font-size: 1.125rem; /* 18 – Preis klar, dunkel */
  font-weight: 700;
  color: var(--ub-text);
}
.woocommerce-cart .wc-block-components-product-metadata {
  font-size: 0.875rem; /* 14 – Meta klein & grau */
  font-weight: 400;
  color: var(--ub-muted);
}
.woocommerce-cart .wc-block-components-product-details__name,
.woocommerce-cart .wc-block-components-product-details__value {
  font-weight: 400 !important; /* Label & Wert gleich gewichtet */
}
.woocommerce-cart .wc-block-components-product-details__value {
  color: var(--ub-text); /* Wert kräftiger nur über Farbe */
}
.woocommerce-cart .wc-block-cart-item__remove-link {
  font-size: 0.875rem; /* 14 */
  color: var(--ub-muted);
}

/* =========================================================
   Gutscheinformular: schlicht (Warenkorb + Kasse)
   Input = Linie, „Anwenden“ = Textlink (kein großer Button)
   ========================================================= */
.woocommerce-cart,
.woocommerce-checkout {
  /* Coupon-Toggle „Gutschein hinzufügen“ – identisch auf beiden Seiten:
     volle Breite, Text links, Chevron rechts (nicht zentriert). */
  /* Formular-Layout HIER zentral (beide Seiten identisch): Feld + „Anwenden“
     nebeneinander. (Warenkorb hatte lokal display:grid → jetzt entfernt.) */
  /* Linie sitzt am WRAPPER (dort ist die Border/Box), Floating-Label bleibt intakt */
  /* Nur die BOX des inneren <input> entfernen – vertikales Padding (fürs
     Floating-Label) NICHT anfassen, sonst überlappt das Label. */
  /* „Anwenden“ als Textlink – bleibt sichtbarer Flex-Button.
     Höhere Spezifität + !important schlägt das Primär-Button-System. */
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-panel__button,
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-panel__button {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  width: 100% !important;
  text-align: left !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__form,
.woocommerce-checkout .wc-block-components-totals-coupon__form {
  display: flex !important;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  margin-top: 0.75rem;
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input,
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input {
  margin: 0;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--ub-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input:focus-within,
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input:focus-within {
  border-bottom-color: var(--ub-green) !important;
}
.woocommerce-cart .wc-block-components-totals-coupon .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-totals-coupon .wc-block-components-text-input input {
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button,
.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button {
  flex: 0 0 auto !important;
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0.35rem 0.25rem !important;
  background: transparent !important;
  color: var(--ub-green) !important;
  font-size: 1rem !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  text-decoration: underline;
  text-underline-offset: 3px;
  opacity: 1 !important; /* sichtbar bleiben, auch disabled */
  cursor: pointer;
  /* Leeres Feld: WC setzt disabled -> dezent grau, aber SICHTBAR */
}
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:disabled, .woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button[disabled],
.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:disabled,
.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button[disabled] {
  color: var(--ub-muted) !important;
  text-decoration: none;
  cursor: default;
}
.woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not(:disabled), .woocommerce-cart .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:focus-visible:not(:disabled),
.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:hover:not(:disabled),
.woocommerce-checkout .wc-block-components-totals-coupon__form .wc-block-components-totals-coupon__button:focus-visible:not(:disabled) {
  background: transparent !important;
  color: var(--ub-green-dark) !important;
  transform: none !important;
  box-shadow: none !important;
}

/* =========================================================
   KASSE – an Warenkorb-System + Vorlage (kasse-final.png) angleichen
   ========================================================= */
.woocommerce-checkout {
  /* Karten-Charakter aus Tokens (überschreibt fixe _checkout-Schatten) */
  /* WICHTIG: overflow:hidden (aus _checkout.scss) bricht Germanizeds
     position:sticky Submit-Bereich (Gesamtsumme + „Zahlungspflichtig
     bestellen“) → hier aufheben, sonst wird der Button/Total weggeklippt. */
  /* Section-Trennlinien dezent */
  /* Formularfelder: eine Linienfarbe, Fokus grün, Label grau */
  /* KEIN äußerer Box-Rahmen um die Optionsgruppe (aus _checkout.scss):
     sonst „Box um Boxen“. Nur die einzelnen Optionen sind Boxen. */
  /* Optionen als je EINE gerundete Box:
     - Versand = Einzeloption (direktes Kind von radio-control)
     - Zahlarten = Accordion-Optionen */
  /* Innere Option im Accordion NICHT als eigene Box (sonst Doppelrahmen) */
  /* Grüner Radio-Punkt (WC zeichnet ihn per ::before, default #000) */
  /* Ausgewählt (Versand + Zahlart): grüner Rahmen + heller Grünton.
     Robust: :has() UND die WC-Highlight-Klassen. KEIN Inset-Strich. */
  /* Inset-Strich/Highlight auch auf dem Options-Label killen */
  /* Checkboxen: grün bei Auswahl */
  /* Adresse eingeklappt (Zusammenfassung) + „Bearbeiten“ */
  /* AGB / Widerruf */
  /* ---- Rechte Summen-Karte: Produktzeile an System angleichen ---- */
  /* Produktzeile ohne Box (kein Hintergrund, kein Rahmen – wie Vorlage);
     nur EINE feine Trennlinie unter dem Artikel. */
  /* Grüne Radio-/Checkbox-Punkte (Akzentfarbe) */
  /* Weniger Borders in der Summe: nur feine, einheitliche Linien */
}
.woocommerce-checkout .wc-block-checkout__main {
  background: var(--ub-card) !important;
  border: var(--ub-card-border) !important;
  box-shadow: var(--ub-card-shadow) !important;
  border-radius: var(--ub-r-card) !important;
}
.woocommerce-checkout .wc-block-checkout__sidebar {
  overflow: visible !important;
}
.woocommerce-checkout .wc-block-components-checkout-step {
  border-bottom-color: var(--ub-line-soft) !important;
}
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select {
  border-color: var(--ub-line) !important;
  color: var(--ub-text);
}
.woocommerce-checkout .wc-block-components-text-input input:focus,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input:focus,
.woocommerce-checkout .wc-blocks-components-select .wc-blocks-components-select__select:focus {
  border-color: var(--ub-green) !important;
  box-shadow: 0 0 0 3px rgba(47, 107, 54, 0.14) !important;
}
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-combobox label {
  color: var(--ub-muted);
}
.woocommerce-checkout .wc-block-components-radio-control {
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option {
  border: 1px solid var(--ub-line) !important;
  border-radius: var(--ub-r-input) !important;
  background: var(--ub-card) !important;
  box-shadow: none !important;
  margin-bottom: 0.6rem !important;
  padding: 1rem 1.25rem 1rem 3rem !important; /* Platz für Radio links */
  overflow: visible;
}
.woocommerce-checkout .wc-block-components-radio-control-accordion-option .wc-block-components-radio-control__option {
  border: 0 !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin-bottom: 0 !important;
  padding: 0.15rem 1.25rem 0.15rem 3rem !important;
}
.woocommerce-checkout .wc-block-components-radio-control__input {
  left: 1rem;
}
.woocommerce-checkout .wc-block-components-radio-control__input:checked {
  border-color: var(--ub-green) !important;
}
.woocommerce-checkout .wc-block-components-radio-control__input:checked::before {
  background: var(--ub-green) !important;
}
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option:has(input:checked),
.woocommerce-checkout .wc-block-components-radio-control-accordion-option:has(input:checked),
.woocommerce-checkout .wc-block-components-radio-control > .wc-block-components-radio-control__option--checked-option-highlighted,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option--checked-option-highlighted {
  border-color: var(--ub-green) !important;
  background: var(--ub-green-tint) !important;
  box-shadow: none !important; /* killt Inset-Strich (WC + alt _checkout) */
}
.woocommerce-checkout .wc-block-components-radio-control__option-checked,
.woocommerce-checkout .wc-block-components-radio-control__option--checked-option-highlighted {
  box-shadow: none !important;
  background: transparent !important; /* Grün liegt auf der Box, nicht auf dem Label */
}
.woocommerce-checkout .wc-block-components-radio-control__label,
.woocommerce-checkout .wc-block-components-payment-method-label,
.woocommerce-checkout .wc-block-components-shipping-rates-control__package-title {
  color: var(--ub-text);
  font-weight: 700;
}
.woocommerce-checkout .wc-block-components-radio-control__description,
.woocommerce-checkout .wc-block-components-radio-control__secondary-label {
  color: var(--ub-muted);
  font-size: 0.875rem;
  font-weight: 400;
}
.woocommerce-checkout .wc-block-components-checkbox {
  color: var(--ub-text);
  font-size: 1rem;
}
.woocommerce-checkout .wc-block-components-checkbox__input[type=checkbox] {
  border-color: var(--ub-line) !important;
}
.woocommerce-checkout .wc-block-components-checkbox__input[type=checkbox]:checked {
  background: var(--ub-green) !important;
  border-color: var(--ub-green) !important;
}
.woocommerce-checkout .wc-block-components-address-card {
  border: 1px solid var(--ub-line);
  border-radius: var(--ub-r-input);
  padding: 1rem 1.25rem;
  color: var(--ub-text);
}
.woocommerce-checkout .wc-block-components-address-card__edit {
  color: var(--ub-green) !important;
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-checkout .wc-block-components-address-card__edit:hover, .woocommerce-checkout .wc-block-components-address-card__edit:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-checkout .wc-block-checkout__terms {
  border-top-color: var(--ub-line-soft) !important;
  color: var(--ub-muted);
}
.woocommerce-checkout .wc-block-checkout__terms a {
  color: var(--ub-green) !important;
}
.woocommerce-checkout .wc-block-checkout__terms a:hover, .woocommerce-checkout .wc-block-checkout__terms a:focus-visible {
  color: var(--ub-green-dark) !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description h3,
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-size: 1.125rem !important; /* 18 */
  font-weight: 700 !important;
  color: var(--ub-text) !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__total-price {
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  color: var(--ub-text) !important;
}
.woocommerce-checkout .wc-block-components-product-metadata,
.woocommerce-checkout .wc-block-components-order-summary-item__individual-prices {
  font-size: 0.875rem !important;
  color: var(--ub-muted) !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  background: var(--ub-green) !important;
}
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-components-order-summary__content,
.woocommerce-checkout .wc-block-components-order-summary-item {
  background: transparent !important;
  border-left: 0 !important;
  border-right: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item {
  border: 0 !important; /* Trennlinien kommen von den totals-wrappern */
}
.woocommerce-checkout .wc-block-components-radio-control__input,
.woocommerce-checkout .wc-block-components-checkbox__input {
  accent-color: var(--ub-green);
}
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-order-summary-item,
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel,
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-coupon,
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-totals-wrapper {
  border-bottom-color: var(--ub-line-soft) !important;
}

/* =========================================================
   KASSE – Feinschliff aus echtem DOM (Germanized-Boxen / ::after-Rahmen)
   ========================================================= */
/* Germanized-Inline-Style macht die Bestellübersicht grau (#eee) – neutralisieren */
.wc-gzd-checkout .wc-block-components-order-summary,
.wc-gzd-checkout .wc-block-components-order-summary.is-large {
  background-color: transparent !important;
  padding: 0 !important;
}

.woocommerce-checkout {
  /* WC zeichnet den „highlight-checked“-Rahmen zusätzlich per ::after →
     doppelte Rahmen / „Box um Boxen“. Deaktivieren; die Auswahl-Optik
     kommt aus meinen eigenen Boxen (grüner Rahmen + Grünton). */
  /* Shipping-Package ohne eigenen Kasten */
  /* Produktzeile: doppelten Einzelpreis unter dem Namen ausblenden
     (der Preis steht rechts in der Zeile) */
  /* Roh-Metakey „gzd-delivery_time:“ ausblenden – „Lieferzeit: …“ bleibt */
  /* Padding/Alignment kommt zentral aus dem BOX-MODELL (oben im File). */
  /* Anzahl: KEIN grüner Badge – neutrale, schlichte Zahl oben links am Bild
     (kleines helles Pill, dunkle Zahl; steht nicht über den Rand). */
  /* Germanized klont die Actions in den Submit-Bereich (rechts) und blendet
     die Default-Actions links aus. NICHT global überschreiben, sonst
     erscheint der linke Button doppelt. Layout nur im Submit anpassen. */
  /* Rechte Summe: ALLE fremden Rahmen (WC + Germanized) abschalten … */
  /* … und nur EINE einheitliche dünne Trennlinie pro sichtbarem, nicht-leerem
     Abschnitt (border-top; kein Doppel, keine verschiedenen Dicken). */
}
.woocommerce-checkout .wc-block-components-radio-control::after,
.woocommerce-checkout .wc-block-components-radio-control__option::after,
.woocommerce-checkout .wc-block-components-radio-control-accordion-option::after {
  display: none !important;
  border: 0 !important;
  content: none !important;
}
.woocommerce-checkout .wc-block-components-shipping-rates-control__package {
  border: 0 !important;
  background: transparent !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-cart-item__prices {
  display: none !important;
}
.woocommerce-checkout .wc-block-components-product-details__gzd-delivery-time .wc-block-components-product-details__name {
  display: none !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__quantity {
  top: 3px !important;
  left: 3px !important;
  right: auto !important;
  bottom: auto !important;
  transform: none !important;
  min-width: 18px !important;
  min-height: 18px !important;
  width: auto !important;
  padding: 0 5px !important;
  background: rgba(255, 255, 255, 0.92) !important;
  border: 1px solid var(--ub-line) !important;
  border-radius: 999px !important;
  color: var(--ub-text) !important;
  font-weight: 700 !important;
  font-size: 0.72rem !important;
  line-height: 16px !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-order-summary-item__quantity span {
  color: var(--ub-text) !important;
  padding: 0 !important;
}
.woocommerce-checkout .wc-block-checkout__main .wc-block-checkout__actions {
  display: none !important; /* linken Doppel-Button ausblenden */
}
.woocommerce-checkout .wc-gzd-checkout-submit .wc-block-checkout__actions_row {
  display: flex !important;
  flex-direction: column-reverse !important;
  align-items: center !important; /* zentriert */
  gap: 0.75rem;
}
.woocommerce-checkout .wc-gzd-checkout-submit .wc-block-components-checkout-place-order-button {
  width: 80% !important; /* 80 % breit, zentriert */
  margin-left: auto !important;
  margin-right: auto !important;
  justify-content: center;
}
.woocommerce-checkout .wc-gzd-checkout-submit .wc-block-components-checkout-return-to-cart-button {
  align-self: center;
}
.woocommerce-checkout .wc-block-components-totals-wrapper,
.woocommerce-checkout .wc-block-components-checkout-order-summary__title,
.woocommerce-checkout .wc-block-components-totals-coupon,
.woocommerce-checkout .wc-block-components-sidebar .wc-block-components-panel,
.woocommerce-checkout .wc-block-components-checkout-order-summary,
.woocommerce-checkout .wc-block-components-order-summary,
.woocommerce-checkout .wc-block-components-totals-item {
  border: 0 !important;
  box-shadow: none !important;
}
.woocommerce-checkout .wc-block-components-totals-wrapper.wc-gzd-show-total-wrapper:not(.slot-wrapper) {
  border-top: 1px solid var(--ub-line-soft) !important;
}

/* Warenkorb-Padding: siehe BOX-MODELL (oben im File) – keine eigene Regel mehr. */
/* =========================================================
   Seitentitel „Warenkorb“ / „Kasse“ (H1) – groß, fett, dunkel
   ========================================================= */
.woocommerce-cart .entry-title,
.woocommerce-cart .wp-block-post-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .wp-block-post-title {
  display: block;
  font-family: var(--wp--preset--font-family--inter);
  font-size: 2.5rem; /* 40 */
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ub-text);
  margin: 0 0 1.5rem;
}

/* Titel-Linie unter „WARENKORB-SUMME“ dezenter */
.woocommerce-cart .wc-block-cart__totals-title {
  border-bottom-color: var(--ub-line-soft) !important;
}

/* Produktzeile in der Kassen-Übersicht – Warm-Soft bekommt Creme-Inset */
.woocommerce-checkout .wc-block-components-order-summary-item {
  background: var(--ub-inset-bg);
  border-radius: var(--ub-r-inner);
}

/* =========================================================
   FIX 1 – Adressformular in thematischen Reihen
   (statt allem gestapelt); mobil einspaltig.
   ========================================================= */
.woocommerce-checkout .wc-block-components-address-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  column-gap: 1rem;
  row-gap: 0;
  /* volle Breite */
  /* Vorname | Nachname  und  PLZ | Stadt stehen nebeneinander (je 1 Spalte) */
}
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__country,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__address_1,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__address_2,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__company,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__phone,
.woocommerce-checkout .wc-block-components-address-form #shipping-address_1,
.woocommerce-checkout .wc-block-components-address-form #billing-address_1 {
  grid-column: 1/-1;
}
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__first_name,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__last_name,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__postcode,
.woocommerce-checkout .wc-block-components-address-form .wc-block-components-address-form__city {
  grid-column: span 1;
}

@media (max-width: 600px) {
  .woocommerce-checkout .wc-block-components-address-form {
    grid-template-columns: 1fr;
  }
  .woocommerce-checkout .wc-block-components-address-form > * {
    grid-column: 1/-1 !important;
  }
}
/* =========================================================
   FIX 2 – Versand-/Zahlungsoptionen: Radio nicht abschneiden
   ========================================================= */
.woocommerce-checkout {
  /* Ausgewählt: grüner Rahmen + heller Grünton, KEIN harter Inset-Balken */
}
.woocommerce-checkout .wc-block-components-radio-control__option {
  padding: 1rem 1.25rem 1rem 3rem; /* Platz für den Radio links */
  border: 1px solid var(--ub-line);
  border-radius: var(--ub-r-input);
  overflow: visible;
}
.woocommerce-checkout .wc-block-components-radio-control__option + .wc-block-components-radio-control__option {
  margin-top: 0.6rem;
}
.woocommerce-checkout .wc-block-components-radio-control__input {
  left: 1rem;
}
.woocommerce-checkout .wc-block-components-radio-control__option--checked {
  border-color: var(--ub-green);
  background: var(--ub-green-tint);
}

/* =========================================================
   FIX 3 – Kassen-Übersicht: Endsumme nicht abgeschnitten
   ========================================================= */
.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar {
  padding-bottom: 1.5rem;
}
.woocommerce-checkout .wc-block-components-totals-footer-item {
  overflow: visible;
}

/* =========================================================
   Order-Received – ins Card-System holen
   (klassisches WooCommerce-Markup)
   -----------------------------------------------------------
   Der zweite Scope `.woocommerce-account .woocommerce-MyAccount-content`
   holt die Bestelldetail-Ansicht im Konto (view-order) in DASSELBE
   Card-System: WC rendert dort identisches Markup (Bestelldetails-
   Tabelle + Rechnungs-/Lieferadresse). Order-Received-spezifische
   Elemente (Danke-Zeile, Bestellübersicht) fehlen im Konto einfach –
   deren Regeln greifen dort ins Leere (unschädlich).
   ========================================================= */
.woocommerce-order-received,
.woocommerce-account .woocommerce-MyAccount-content {
  /* „Vielen Dank …“ – sans-bold mit grünem Häkchen (wie Vorlage; konsistent
     zu den Seitentiteln Warenkorb/Kasse). */
  /* Bestell-Eckdaten als ruhige Karte – Box bringt das Padding (--ub-card-pad) */
  /* Sektionslabels (Bestelldetails / Rechnungs- / Lieferadresse) = Eyebrow */
  /* Detailtabelle als klare Karte (keine grauen Streifen).
     !important auf background: Germanized layout-styles.css setzt
     `.woocommerce-checkout .shop_table { background-color:#eee }` (gleiche
     Spezifität, lädt NACH dieser Datei) → ohne !important scheint das Grau
     durch die transparenten Zeilen durch. */
  /* Selektor MIT `table.` – WC nutzt `.woocommerce table.shop_table` (Spez. 0,2,1)
     bzw. `…shop_table th` (0,2,2). Ohne das `table.` verlieren wir und bekommen
     WC-Werte (5px Radius, 12px Zell-Padding, border-collapse:separate). Das
     `table.`-Präfix hebt ALLE Tabellenregeln um ein Element → wir gewinnen. */
  /* Adress-Karten */
}
.woocommerce-order-received .woocommerce-order,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order {
  max-width: 1000px;
  margin-inline: auto;
}
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-thankyou-order-received {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 2rem;
  padding: 0;
  background: none;
  border: 0;
  font-family: var(--wp--preset--font-family--inter);
  font-size: clamp(1.2rem, 2vw, 1.6rem);
  font-weight: 700;
  line-height: 1.2;
  color: var(--ub-text);
}
.woocommerce-order-received .woocommerce-thankyou-order-received::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-thankyou-order-received::before {
  content: "";
  flex: 0 0 auto;
  width: 1.5em;
  height: 1.5em;
  border-radius: 50%;
  background: var(--ub-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E") center/0.85em no-repeat;
}
.woocommerce-order-received .woocommerce-order-overview,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview {
  list-style: none;
  margin: 0 0 2.5rem;
  padding: var(--ub-card-pad);
  display: flex;
  flex-wrap: wrap;
  gap: 1.25rem 2.5rem;
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  box-shadow: var(--ub-card-shadow);
  /* WC-Clearfix (ul.order_details::before/::after, content:" ")
     würde hier zu leeren Flex-Items → Extra-Gap. Ausblenden. */
  /* Label (Text) = Eyebrow grau, Wert (strong) = Tinte */
}
.woocommerce-order-received .woocommerce-order-overview::before, .woocommerce-order-received .woocommerce-order-overview::after,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview::after {
  content: none !important;
  display: none !important;
}
.woocommerce-order-received .woocommerce-order-overview li,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview li {
  border: 0 !important;
  margin: 0;
  padding: 0;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ub-muted);
}
.woocommerce-order-received .woocommerce-order-overview li strong,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview li strong {
  display: block;
  margin-top: 0.35rem;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ub-text);
}
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-order-received h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-details__title,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title,
.woocommerce-account .woocommerce-MyAccount-content h2 {
  margin: 0 0 1rem;
  font-family: var(--wp--preset--font-family--inter);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ub-muted);
}
.woocommerce-order-received table.woocommerce-table--order-details,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details {
  width: 100%;
  /* separate (nicht collapse): sonst ignorieren Browser border-radius auf der
     Tabelle → eckige Ecken. WC macht es genauso. */
  border-collapse: separate;
  border-spacing: 0;
  margin: 0 0 2.5rem;
  background: var(--ub-card) !important;
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  box-shadow: var(--ub-card-shadow);
  overflow: hidden;
  /* KEINE grauen Streifen – Hintergrund auch auf Zeilen/Sektionen killen */
  /* Kopf: EINE klare Trennlinie unter der Spaltenüberschrift.
     padding-top = --ub-card-pad → oberer Box-Innenabstand identisch
     zu Übersichts-/Adress-Karte (die Karte bringt das Padding). */
  /* Produktzeilen: dezente Trennung, letzte trennt optisch zur Summe */
  /* Summenblock ruhig halten – KEINE Linie je Zeile.
     WC setzt `.woocommerce table.shop_table td { border-top }` UND
     `…tfoot td/th { border-top }` (Spez. 0,2,3) → nur mit !important weg. */
  /* „Gesamt“ = letzte Summenzeile: prominent, mit Trennlinie darüber.
     Reihenfolge (Gesamt ganz unten) kommt aus dem Filter
     woocommerce_get_order_item_totals in functions.php. */
  /* Enthaltene MwSt. als kleine Caption unter „Gesamt“ (aus dem Filter) */
  /* Kostenloser Versand */
}
.woocommerce-order-received table.woocommerce-table--order-details thead,
.woocommerce-order-received table.woocommerce-table--order-details tbody,
.woocommerce-order-received table.woocommerce-table--order-details tfoot,
.woocommerce-order-received table.woocommerce-table--order-details tr,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details thead,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tr {
  background: transparent !important;
}
.woocommerce-order-received table.woocommerce-table--order-details th,
.woocommerce-order-received table.woocommerce-table--order-details td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details td {
  padding: 0.65rem var(--ub-card-pad);
  border: 0;
  background: transparent !important;
  font-size: 1rem;
  color: var(--ub-text);
  text-align: left;
}
.woocommerce-order-received table.woocommerce-table--order-details td:last-child,
.woocommerce-order-received table.woocommerce-table--order-details th:last-child,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details td:last-child,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details th:last-child {
  text-align: right;
}
.woocommerce-order-received table.woocommerce-table--order-details thead th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details thead th {
  padding-top: var(--ub-card-pad);
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--ub-line);
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ub-muted);
  font-weight: 700;
}
.woocommerce-order-received table.woocommerce-table--order-details tbody td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tbody td {
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid var(--ub-line-soft);
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot td {
  padding-top: 0.45rem;
  padding-bottom: 0.45rem;
  border: 0 !important;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:first-child th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:first-child td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot tr:first-child th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot tr:first-child td {
  padding-top: 1.25rem;
}
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details tfoot tr:last-child td {
  padding-top: 1.25rem;
  padding-bottom: var(--ub-card-pad); /* unterer Box-Innenabstand = Karte */
  border-top: 2px solid var(--ub-line) !important; /* schlägt border:0 !important oben */
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--ub-text);
  vertical-align: baseline;
}
.woocommerce-order-received table.woocommerce-table--order-details .ub-tax-note,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details .ub-tax-note {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0;
  text-transform: none;
  color: var(--ub-muted);
}
.woocommerce-order-received table.woocommerce-table--order-details .ub-free,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details .ub-free {
  color: var(--ub-green);
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.woocommerce-order-received table.woocommerce-table--order-details a,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details a {
  color: var(--ub-green);
  text-decoration: none;
}
.woocommerce-order-received table.woocommerce-table--order-details a:hover,
.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-table--order-details a:hover {
  text-decoration: underline;
}
.woocommerce-order-received .woocommerce-customer-details,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details {
  margin-top: 2.5rem;
  /* WC nutzt hier col2-set mit Float/47% – für das Grid neutralisieren */
}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  /* WC hängt an .col2-set einen Clearfix über ::before/::after
     (content:" "; display:table). Im Grid werden diese zu leeren
     Grid-Items → Rechnung landet oben-rechts, Lieferung unten-links
     (Diagonale). Deshalb hier ausblenden. */
}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses::before, .woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses::after,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses::after {
  content: none !important;
  display: none !important;
}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-column {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-order-received .woocommerce-customer-details address,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
  padding: var(--ub-card-pad);
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  box-shadow: var(--ub-card-shadow);
  font-style: normal;
  line-height: 1.7;
  color: var(--ub-text);
}
.woocommerce-order-received .woocommerce-customer-details a,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details a {
  color: var(--ub-green);
}

@media (max-width: 600px) {
  .woocommerce-order-received .woocommerce-customer-details .woocommerce-columns--addresses,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details .woocommerce-columns--addresses {
    grid-template-columns: 1fr;
  }
  .woocommerce-order-received .woocommerce-order-overview,
  .woocommerce-account .woocommerce-MyAccount-content .woocommerce-order-overview {
    gap: 1rem 1.5rem;
  }
}
/* =========================================================
   Uckermarkbett – WooCommerce „Mein Konto"
   =========================================================
   Nur LAYOUT/STRUKTUR + kontospezifische Elemente. Farben,
   Radien, Typo-Skala kommen aus woocommerce/_tokens.scss und
   den `--ub-*`-Tokens (gesetzt in woocommerce/_shop-theme auf
   `.woocommerce-account`). Buttons nutzen `@include ub-button-*`
   (woocommerce/_buttons.scss). Order-Tabelle folgt demselben
   Karten-System wie die Bestelldetails in _shop-theme
   (Order-Received). Muss VOR shop-theme? Nein – Import-Reihenfolge:
   nach _buttons (Mixin) und nach _shop-theme (Tokens). Siehe
   woocommerce-custom.scss.
   ========================================================= */
.woocommerce-account {
  background: var(--wp--preset--color--soft-bg, #f8f5ed);
  color: var(--ub-text);
  /* Seitenrahmen – identisch zu Warenkorb/Kasse (Site-Standard 1440px,
     vgl. .container-1440). Nicht abweichen: eine Breite für alle Shop-Seiten. */
  /* Seitentitel „Mein Konto" (H1 via the_content-Filter injiziert) –
     gleiche Optik wie Warenkorb/Kasse. */
  /* =========================================================
     Layout – Menü-Sidebar + Inhalt (Grid statt WC-Float)
     ========================================================= */
  /* Globale Notices (Login-/Speichern-Hinweise) über beide Spalten */
  /* =========================================================
     Konto-Navigation – Menü als ruhige Karte
     ========================================================= */
  /* =========================================================
     Inhalt
     ========================================================= */
  /* =========================================================
     Bestell-Tabelle – gleiches Karten-System wie Bestelldetails
     (keine grauen Streifen, Kopf als Eyebrow, feine Zeilenlinien)
     ========================================================= */
  /* Paginierung der Bestellungen */
  /* =========================================================
     Adressen (edit-address Übersicht) – zwei Karten
     ========================================================= */
  /* =========================================================
     Formulare (edit-account, edit-address, Login)
     ========================================================= */
  /* Zwei Spalten für Vorname/Nachname etc. */
  /* Passwort-Sichtbarkeits-Icon nicht überdecken */
  /* =========================================================
     Buttons – zentrales Primär-System
     ========================================================= */
  /* „Anzeigen" in der Bestelltabelle – kompakt */
  /* =========================================================
     „Keine Bestellungen" – Info-Zeile
     ========================================================= */
}
.woocommerce-account .entry-content {
  max-width: 1440px;
  margin: 0 auto;
  padding: clamp(3rem, 6vw, 6rem) clamp(1rem, 4vw, 3rem);
}
.woocommerce-account .entry-footer {
  display: none;
}
.woocommerce-account .entry-title {
  display: block;
  font-family: var(--wp--preset--font-family--inter);
  font-size: 2.5rem; /* 40 */
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--ub-text);
  margin: 0 0 2rem;
}
.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: 250px minmax(0, 1fr);
  gap: clamp(1.5rem, 3vw, 2.5rem);
  align-items: start;
  /* WC hängt an `.woocommerce` einen Clearfix über ::before/::after
     (content:" "; display:table). Im Grid werden diese zu leeren
     Grid-Items → Navigation rutscht in Spalte 2, Inhalt in die schmale
     Spalte 1 (kaputtes Layout). Deshalb ausblenden. */
}
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after {
  content: none !important;
  display: none !important;
}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper {
  grid-column: 1/-1;
}
.woocommerce-account .woocommerce-MyAccount-navigation {
  /* WC-Core setzt float:left + width:30% → im Grid neutralisieren */
  float: none;
  width: auto;
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  padding: 0.6rem;
  /* Aktive Seite – heller Grünton + grüne Schrift (wie ausgewählte
     Option in der Kasse); Grün = einzige Akzentfarbe. */
  /* „Abmelden" dezent absetzen */
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li {
  margin: 0;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation li + li {
  margin-top: 0.15rem;
}
.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.7rem 1rem;
  border-radius: var(--ub-r-input);
  color: var(--ub-text);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.3;
  text-decoration: none;
  transition: background-color 180ms ease, color 180ms ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation a:focus-visible {
  background: var(--ub-green-tint);
  color: var(--ub-green);
  outline: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a {
  background: var(--ub-green-tint);
  color: var(--ub-green);
  font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-navigation .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 0.35rem;
  border-top: 1px solid var(--ub-line-soft);
  padding-top: 0.35rem;
}
.woocommerce-account .woocommerce-MyAccount-content {
  /* WC-Core setzt float:right + width:68% → im Grid neutralisieren */
  float: none;
  width: auto;
  min-width: 0; /* verhindert Grid-Overflow bei breiter Tabelle */
  /* Dashboard-Intro („Hallo … / In deiner Konto-Übersicht …")
     und Bestell-Statuszeile („Bestellung #592 vom … ist aktuell …") */
  /* Bestellnr./Datum/Status stehen in <mark> → Default-Gelb entfernen,
     stattdessen dezent hervorheben (Textfarbe, fett). */
  /* Titel innerhalb des Inhalts (z. B. „Rechnungsadresse") = Eyebrow */
}
.woocommerce-account .woocommerce-MyAccount-content > p {
  font-size: 1rem;
  color: var(--ub-text);
  margin: 0 0 1rem;
}
.woocommerce-account .woocommerce-MyAccount-content mark {
  background: transparent;
  color: var(--ub-text);
  font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button) {
  color: var(--ub-green);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-account .woocommerce-MyAccount-content a:not(.button):hover, .woocommerce-account .woocommerce-MyAccount-content a:not(.button):focus-visible {
  color: var(--ub-green-dark);
}
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-column__title {
  font-family: var(--wp--preset--font-family--inter);
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ub-muted);
  margin: 0 0 1rem;
}
.woocommerce-account table.woocommerce-orders-table,
.woocommerce-account table.woocommerce-MyAccount-orders {
  width: 100%;
  border-collapse: separate; /* sonst kein border-radius */
  border-spacing: 0;
  margin: 0;
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  box-shadow: var(--ub-card-shadow);
  overflow: hidden;
  /* Kopf = Eyebrow, eine klare Trennlinie darunter */
  /* Zeilen: dezente Trennlinie, letzte ohne */
  /* Bestellnummer + Preis kräftiger */
  /* Aktionen rechts */
}
.woocommerce-account table.woocommerce-orders-table thead,
.woocommerce-account table.woocommerce-orders-table tbody,
.woocommerce-account table.woocommerce-orders-table tfoot,
.woocommerce-account table.woocommerce-orders-table tr,
.woocommerce-account table.woocommerce-MyAccount-orders thead,
.woocommerce-account table.woocommerce-MyAccount-orders tbody,
.woocommerce-account table.woocommerce-MyAccount-orders tfoot,
.woocommerce-account table.woocommerce-MyAccount-orders tr {
  background: transparent !important;
}
.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-orders-table td,
.woocommerce-account table.woocommerce-MyAccount-orders th,
.woocommerce-account table.woocommerce-MyAccount-orders td {
  padding: 1.1rem var(--ub-card-pad);
  border: 0;
  background: transparent !important;
  font-size: 1rem;
  color: var(--ub-text);
  text-align: left;
  vertical-align: middle;
}
.woocommerce-account table.woocommerce-orders-table thead th,
.woocommerce-account table.woocommerce-MyAccount-orders thead th {
  padding-top: var(--ub-card-pad);
  padding-bottom: 1rem;
  border-bottom: 1px solid var(--ub-line);
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ub-muted);
}
.woocommerce-account table.woocommerce-orders-table tbody td,
.woocommerce-account table.woocommerce-orders-table tbody th,
.woocommerce-account table.woocommerce-MyAccount-orders tbody td,
.woocommerce-account table.woocommerce-MyAccount-orders tbody th {
  border-bottom: 1px solid var(--ub-line-soft);
  font-weight: 400;
}
.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td,
.woocommerce-account table.woocommerce-orders-table tbody tr:last-child th,
.woocommerce-account table.woocommerce-MyAccount-orders tbody tr:last-child td,
.woocommerce-account table.woocommerce-MyAccount-orders tbody tr:last-child th {
  border-bottom: 0;
}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a,
.woocommerce-account table.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number a {
  color: var(--ub-text);
  font-weight: 700;
  text-decoration: none;
}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover, .woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:focus-visible,
.woocommerce-account table.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number a:hover,
.woocommerce-account table.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-number a:focus-visible {
  color: var(--ub-green);
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-account table.woocommerce-orders-table .woocommerce-Price-amount,
.woocommerce-account table.woocommerce-MyAccount-orders .woocommerce-Price-amount {
  font-weight: 700;
  color: var(--ub-text);
}
.woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions,
.woocommerce-account table.woocommerce-MyAccount-orders .woocommerce-orders-table__cell-order-actions {
  text-align: right;
}
.woocommerce-account .woocommerce-pagination {
  margin-top: 1.5rem;
}
.woocommerce-account .woocommerce-pagination ul {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}
.woocommerce-account .woocommerce-pagination a,
.woocommerce-account .woocommerce-pagination span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  min-height: 42px;
  padding: 0 0.5rem;
  border: 1px solid var(--ub-line);
  border-radius: var(--ub-r-input);
  background: var(--ub-card);
  color: var(--ub-text);
  text-decoration: none;
}
.woocommerce-account .woocommerce-pagination a:hover,
.woocommerce-account .woocommerce-pagination .current {
  border-color: var(--ub-green);
  background: var(--ub-green-tint);
  color: var(--ub-green);
}
.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1.5rem;
  margin: 0;
}
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after {
  content: none !important;
  display: none !important;
}
.woocommerce-account .woocommerce-Address {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
  padding: var(--ub-card-pad);
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  box-shadow: var(--ub-card-shadow);
}
.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1rem;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
  margin: 0;
}
.woocommerce-account .woocommerce-Address-title .edit {
  flex: 0 0 auto;
  color: var(--ub-green);
  font-weight: 700;
  font-size: 0.875rem;
  text-decoration: none;
}
.woocommerce-account .woocommerce-Address-title .edit:hover, .woocommerce-account .woocommerce-Address-title .edit:focus-visible {
  text-decoration: underline;
  text-underline-offset: 3px;
}
.woocommerce-account address {
  font-style: normal;
  line-height: 1.7;
  color: var(--ub-text);
}
.woocommerce-account .woocommerce-EditAccountForm,
.woocommerce-account .woocommerce-address-fields,
.woocommerce-account .woocommerce-form-login,
.woocommerce-account .woocommerce-form-register {
  padding: var(--ub-card-pad);
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-radius: var(--ub-r-card);
  box-shadow: var(--ub-card-shadow);
}
.woocommerce-account .form-row {
  margin: 0 0 1.1rem;
}
.woocommerce-account .form-row label {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--ub-muted);
}
.woocommerce-account .form-row-first {
  float: none;
  width: auto;
}
.woocommerce-account .form-row-last {
  float: none;
  width: auto;
}
@media (min-width: 601px) {
  .woocommerce-account .woocommerce-address-fields .form-row-first,
  .woocommerce-account .create-account .form-row-first,
  .woocommerce-account .woocommerce-EditAccountForm .form-row-first {
    display: inline-block;
    width: calc(50% - 0.5rem);
    margin-right: 1rem;
  }
  .woocommerce-account .woocommerce-address-fields .form-row-last,
  .woocommerce-account .create-account .form-row-last,
  .woocommerce-account .woocommerce-EditAccountForm .form-row-last {
    display: inline-block;
    width: calc(50% - 0.5rem);
  }
}
.woocommerce-account .input-text,
.woocommerce-account input[type=text],
.woocommerce-account input[type=email],
.woocommerce-account input[type=tel],
.woocommerce-account input[type=password],
.woocommerce-account select,
.woocommerce-account .select2-container .select2-selection {
  width: 100%;
  min-height: 48px;
  padding: 0.6rem 0.9rem;
  background: #fff;
  border: 1px solid var(--ub-line);
  border-radius: var(--ub-r-input);
  color: var(--ub-text);
  font-size: 1rem;
  line-height: 1.4;
  transition: border-color 180ms ease, box-shadow 180ms ease;
}
.woocommerce-account .input-text:focus, .woocommerce-account .input-text:focus-visible,
.woocommerce-account input[type=text]:focus,
.woocommerce-account input[type=text]:focus-visible,
.woocommerce-account input[type=email]:focus,
.woocommerce-account input[type=email]:focus-visible,
.woocommerce-account input[type=tel]:focus,
.woocommerce-account input[type=tel]:focus-visible,
.woocommerce-account input[type=password]:focus,
.woocommerce-account input[type=password]:focus-visible,
.woocommerce-account select:focus,
.woocommerce-account select:focus-visible,
.woocommerce-account .select2-container .select2-selection:focus,
.woocommerce-account .select2-container .select2-selection:focus-visible {
  border-color: var(--ub-green);
  box-shadow: 0 0 0 3px rgba(47, 107, 54, 0.14);
  outline: none;
}
.woocommerce-account .woocommerce-password-hint,
.woocommerce-account .password-input {
  display: block;
  width: 100%;
}
.woocommerce-account fieldset {
  margin: 2rem 0 0;
  padding: 1.5rem 0 0;
  border: 0;
  border-top: 1px solid var(--ub-line-soft);
}
.woocommerce-account fieldset legend {
  padding: 0;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--ub-muted);
}
.woocommerce-account .button,
.woocommerce-account button[type=submit],
.woocommerce-account input[type=submit] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0;
  border-radius: 999px;
  font-family: inherit;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
  transition: transform 0.18s ease, box-shadow 0.18s ease, background-color 0.18s ease, color 0.18s ease, border-color 0.18s ease;
  background: var(--wp--preset--color--primary, #31592f);
  color: #fff !important;
  min-height: 48px;
  padding: 0.85rem 1.35rem;
}
.woocommerce-account .button:focus-visible,
.woocommerce-account button[type=submit]:focus-visible,
.woocommerce-account input[type=submit]:focus-visible {
  outline: 2px solid var(--wp--preset--color--primary, #31592f);
  outline-offset: 4px;
  box-shadow: 0 0 0 3px rgba(49, 89, 47, 0.18);
}
.woocommerce-account .button:hover,
.woocommerce-account button[type=submit]:hover,
.woocommerce-account input[type=submit]:hover {
  background: #274a27;
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 32px rgba(49, 89, 47, 0.24);
}
.woocommerce-account .button:disabled, .woocommerce-account .button[aria-disabled=true],
.woocommerce-account button[type=submit]:disabled,
.woocommerce-account button[type=submit][aria-disabled=true],
.woocommerce-account input[type=submit]:disabled,
.woocommerce-account input[type=submit][aria-disabled=true] {
  opacity: 0.55;
  cursor: not-allowed;
  transform: none;
  box-shadow: none;
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
  min-height: 40px;
  padding: 0.5rem 1.1rem;
  font-size: 0.875rem;
}
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-notice {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 1.5rem;
  padding: 1rem 1.25rem;
  background: var(--ub-card);
  border: var(--ub-card-border);
  border-left: 3px solid var(--ub-green);
  border-radius: var(--ub-r-input);
  color: var(--ub-text);
  list-style: none;
}
.woocommerce-account .woocommerce-info a,
.woocommerce-account .woocommerce-message a,
.woocommerce-account .woocommerce-notice a {
  color: var(--ub-green);
  font-weight: 700;
}
.woocommerce-account .woocommerce-info .button,
.woocommerce-account .woocommerce-message .button,
.woocommerce-account .woocommerce-notice .button {
  margin-left: auto;
}

/* =========================================================
   Responsive – Sidebar über den Inhalt stapeln
   ========================================================= */
@media (max-width: 900px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 600px) {
  .woocommerce-account {
    /* Bestelltabelle im WC-Responsive-Modus (Karten je Zeile) glätten */
  }
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
  .woocommerce-account table.woocommerce-orders-table {
    border: var(--ub-card-border);
  }
  .woocommerce-account table.woocommerce-orders-table tbody tr {
    display: block;
    padding: 0.5rem var(--ub-card-pad);
    border-bottom: 1px solid var(--ub-line-soft);
  }
  .woocommerce-account table.woocommerce-orders-table tbody tr:last-child {
    border-bottom: 0;
  }
  .woocommerce-account table.woocommerce-orders-table tbody td,
  .woocommerce-account table.woocommerce-orders-table tbody th {
    border-bottom: 0 !important;
    padding: 0.35rem 0;
  }
  .woocommerce-account table.woocommerce-orders-table .woocommerce-orders-table__cell-order-actions {
    text-align: left;
  }
}
