/**
 * Profimöbel UX Polish — brand colors preserved
 * green #7AA93C | accent #BA9077 | text #1D2120 | olive #5A5C51 | mint #BCD5D1
 * backgrounds #fff / #FCFCFC / #F7F7F7
 */

/* ------------------------------------------------------------------
   Self-hosted Source Sans Pro (DRGF plugin strips Google Fonts CDN)
   Weights: 400 / 600 / 700 — latin + latin-ext
   ------------------------------------------------------------------ */
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-sans-pro/source-sans-pro-400-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url(fonts/source-sans-pro/source-sans-pro-400-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/source-sans-pro/source-sans-pro-600-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(fonts/source-sans-pro/source-sans-pro-600-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/source-sans-pro/source-sans-pro-700-latin-ext.woff2) format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}
@font-face {
  font-family: "Source Sans Pro";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url(fonts/source-sans-pro/source-sans-pro-700-latin.woff2) format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
  --pmpr-green: #7AA93C;
  --pmpr-accent: #BA9077;
  --pmpr-text: #1D2120;
  --pmpr-olive: #5A5C51;
  --pmpr-mint: #BCD5D1;
  --pmpr-bg: #FCFCFC;
  --pmpr-bg-soft: #F7F7F7;
  --pmpr-white: #ffffff;
  --pmpr-radius: 6px;
  /* Site-wide brand font (Johannes 2026-09-24): Source Sans Pro */
  --pmpr-font: "Source Sans Pro", "Source Sans 3", sans-serif;
}

/* ------------------------------------------------------------------
   Typography unify — one font family site-wide
   Overrides Elementor kit Intervogue + residual Josefin Sans on prices/cart.
   Icon fonts (FA / eicons / WooCommerce / dashicons / star) excluded.
   ------------------------------------------------------------------ */
html,
body,
button,
input,
select,
textarea,
optgroup,
.elementor-kit-30660,
.elementor-kit-30660 a,
.elementor-kit-30660 h1,
.elementor-kit-30660 h2,
.elementor-kit-30660 h3,
.elementor-kit-30660 h4,
.elementor-kit-30660 h5,
.elementor-kit-30660 h6,
h1, h2, h3, h4, h5, h6,
p, li, label, span, td, th, dt, dd,
.elementor-heading-title,
.elementor-widget-text-editor,
.elementor-button,
.elementor-button-text,
a.elementor-button,
.elementor-nav-menu,
.elementor-nav-menu a,
.jet-menu,
.jet-menu a,
.jet-auth-links,
.jet-auth-links a,
.elementor-menu-cart__toggle .elementor-button,
.elementor-menu-cart__subtotal,
.elementor-menu-cart__product-name,
.elementor-menu-cart__product-price,
.elementor-menu-cart__footer-buttons a,
.woocommerce,
.woocommerce a,
.woocommerce button,
.woocommerce input,
.woocommerce select,
.woocommerce textarea,
.woocommerce .price,
.woocommerce .price *,
.woocommerce-Price-amount,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button,
.wp-block-button__link,
.jet-woo-product-title,
.jet-woo-product-title a,
.jet-woo-product-price,
.jet-woo-product-price .price,
.preis,
.pmpr-root,
.pmpr-root *,
[class*="pmpr-"]:not([class*="icon"]),
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-notice,
.cart-empty,
.wc-empty-cart-message,
.entry-title,
.site-main {
  font-family: var(--pmpr-font) !important;
}

/* ------------------------------------------------------------------
   Product meta (Kategorien / Eigenschaft) — Zuschnitt K1 metrics site-wide
   Source: Elementor template 41540 widget 5a17d1c (text 15px #1d0d00,
   links #5a5c51) + brand font --pmpr-font (Source Sans Pro).
   Locks all product single templates (drawers 23163/20898, Möbel, …)
   so Elementor Intervogue on the meta widget cannot drift per template.
   ------------------------------------------------------------------ */
.elementor-widget-woocommerce-product-meta,
.elementor-widget-woocommerce-product-meta .product_meta,
.elementor-widget-woocommerce-product-meta .detail-container,
.elementor-widget-woocommerce-product-meta .detail-label,
.elementor-widget-woocommerce-product-meta .detail-content,
.elementor-widget-woocommerce-product-meta .sku_wrapper,
.elementor-widget-woocommerce-product-meta .sku,
.elementor-widget-woocommerce-product-meta a {
  font-family: var(--pmpr-font) !important;
  font-size: 15px !important;
  line-height: 1.5 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
}
.elementor-widget-woocommerce-product-meta .detail-label {
  font-weight: 700 !important;
  color: #1d0d00 !important;
}
.elementor-widget-woocommerce-product-meta .detail-content,
.elementor-widget-woocommerce-product-meta a {
  font-weight: 400 !important;
  color: #5a5c51 !important;
}



/* Keep icon fonts intact (menu separators / Elementor / Woo stars).
   Important: Elementor experiment e_font_icon_svg skips elementor-icons.css,
   but menu-cart + star-rating still use the eicons font glyphs. */
.fa,
.fas,
.far,
.fal,
.fad,
.jet-dropdown-arrow {
  font-family: "Font Awesome 5 Free" !important;
}
.fab {
  font-family: "Font Awesome 5 Brands" !important;
}
.eicon,
[class^="eicon-"],
[class*=" eicon-"],
.eicon:before,
[class^="eicon-"]:before,
[class*=" eicon-"]:before {
  font-family: eicons !important;
  font-style: normal !important;
  font-weight: normal !important;
  font-variant: normal !important;
  text-transform: none !important;
  line-height: 1 !important;
  speak: never;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Elementor testimonial / product stars (PUA \e934) */
.elementor-star-rating,
.elementor-star-rating i,
.elementor-star-rating i:before {
  font-family: eicons !important;
  font-style: normal !important;
  font-weight: normal !important;
}

/* WooCommerce product .star-rating bars */
.star-rating,
.star-rating:before,
p.stars a:before,
p.stars a:hover~a:before,
p.stars a.active~a:before {
  font-family: WooCommerce !important;
}

/* ------------------------------------------------------------------
   Phase 1 — Utility bar: Abmelden / Konto + Cart RIGHT-aligned
   ------------------------------------------------------------------ */
.elementor-20242 .elementor-element-cc8d85d .elementor-container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center;
}

.elementor-20242 .elementor-element-c1d3706 {
  width: 100% !important;
  max-width: 100%;
}

.elementor-20242 .elementor-element-c1d3706 > .elementor-container {
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center;
  gap: 1.25rem;
  flex-wrap: wrap;
  margin-left: auto;
}

.elementor-20242 .elementor-element-c877152,
.elementor-20242 .elementor-element-ddd0ca9 {
  width: auto !important;
  max-width: none !important;
  flex: 0 0 auto;
}

.elementor-20242 .elementor-element-c877152 .jet-auth-links,
.elementor-20242 .elementor-element-c877152 .jet-auth-links__item {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  white-space: nowrap;
}

.elementor-20242 .elementor-menu-cart__toggle_button {
  cursor: pointer;
}

/* ------------------------------------------------------------------
   Phase 2 — Unified CTAs (primary green / secondary outline)
   ------------------------------------------------------------------ */
.elementor-button.elementor-size-sm,
.elementor-button.elementor-size-md,
.elementor-button.elementor-size-lg,
a.elementor-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce #respond input#submit.alt,
.wp-block-button__link {
  border-radius: var(--pmpr-radius);
  font-weight: 600;
  letter-spacing: 0.02em;
  transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}

/* Primary: filled green */
body .elementor-button-wrapper .elementor-button,
body .woocommerce a.button.alt,
body .woocommerce button.button.alt,
body .woocommerce input.button.alt,
body .woocommerce #respond input#submit.alt,
body .woocommerce button.button.single_add_to_cart_button,
body .woocommerce a.checkout-button,
body .woocommerce-form-login__submit,
body .woocommerce-form-register__submit,
body button[name="login"],
body button[name="register"],
body .woocommerce-Button {
  background-color: var(--pmpr-green) !important;
  border-color: var(--pmpr-green) !important;
  color: var(--pmpr-white) !important;
  fill: var(--pmpr-white);
}

body .elementor-button-wrapper .elementor-button:hover,
body .woocommerce a.button.alt:hover,
body .woocommerce button.button.alt:hover,
body .woocommerce input.button.alt:hover,
body .woocommerce button.button.single_add_to_cart_button:hover,
body .woocommerce a.checkout-button:hover,
body .woocommerce-form-login__submit:hover,
body .woocommerce-form-register__submit:hover,
body .woocommerce-Button:hover {
  background-color: var(--pmpr-olive) !important;
  border-color: var(--pmpr-olive) !important;
  color: var(--pmpr-white) !important;
}

/* Secondary outline (return to shop / secondary CTAs) */
body .woocommerce a.button:not(.alt),
body .woocommerce button.button:not(.alt),
body .return-to-shop .button,
body .wc-forward:not(.checkout-button) {
  background-color: transparent !important;
  border: 2px solid var(--pmpr-green) !important;
  color: var(--pmpr-green) !important;
}

body .woocommerce a.button:not(.alt):hover,
body .woocommerce button.button:not(.alt):hover,
body .return-to-shop .button:hover {
  background-color: var(--pmpr-green) !important;
  color: var(--pmpr-white) !important;
}

/* Shop category cards — consistent button look */
.elementor-widget-jet-animated-box .jet-animated-box__button,
.product-category a.button,
.woocommerce ul.products li.product a.button {
  background-color: var(--pmpr-green) !important;
  border-color: var(--pmpr-green) !important;
  color: #fff !important;
  border-radius: var(--pmpr-radius);
  min-width: 8rem;
  text-align: center;
}

/* ------------------------------------------------------------------
   Phase 3 — Product: hide technical ID notes; lift configurator
   ------------------------------------------------------------------ */
.woocommerce-product-details__short-description p,
.product .woocommerce-product-details__short-description {
  /* softened; PHP strips ID notes — CSS backup for leftover ID patterns */
}

/* Hide obvious developer/SKU meta that customers shouldn't see */
.product .sku_wrapper,
.product .product_meta .sku,
span.sku,
.pmpr-admin-only,
.pmpr-debug,
[data-pmpr-debug] {
  display: none !important;
}

/* Configurator attention earlier */
.pmpr-configurator {
  margin-top: 0.75rem;
  padding: 1.25rem 1.25rem 1.5rem;
  background: var(--pmpr-bg);
  border: 1px solid #e8e8e8;
  border-radius: var(--pmpr-radius);
  scroll-margin-top: 100px;
}

.pmpr-configurator input[type="number"],
.pmpr-configurator input[type="text"],
.pmpr-configurator select,
.pmpr-configurator textarea {
  border: 1px solid #d0d0d0;
  border-radius: var(--pmpr-radius);
  padding: 0.55rem 0.75rem;
  color: var(--pmpr-text);
  background: var(--pmpr-white);
  max-width: 100%;
}

.pmpr-configurator input:focus,
.pmpr-configurator select:focus,
.pmpr-configurator textarea:focus {
  outline: none;
  border-color: var(--pmpr-green);
  box-shadow: 0 0 0 2px rgba(122, 169, 60, 0.25);
}

/* Sticky add-to-cart / price CTA on product (non-breaking) */
@media (min-width: 768px) {
  .single-product .summary .cart,
  .single-product .pmpr-configurator .pmpr-actions {
    position: sticky;
    bottom: 0;
    z-index: 5;
    background: var(--pmpr-white);
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
  }
}

/* ------------------------------------------------------------------
   Phase 3 — My Account, Cart, forms on-brand
   ------------------------------------------------------------------ */
.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
  color: var(--pmpr-text);
}

.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce-page form .form-row input.input-text,
.woocommerce form input[type="text"],
.woocommerce form input[type="email"],
.woocommerce form input[type="password"],
.woocommerce form input[type="tel"],
.woocommerce form textarea,
.woocommerce form select,
.woocommerce-Input,
.woocommerce-Input--text {
  border: 1px solid #d0d0d0 !important;
  border-radius: var(--pmpr-radius) !important;
  padding: 0.65rem 0.85rem !important;
  background: var(--pmpr-white) !important;
  color: var(--pmpr-text) !important;
  min-height: 2.75rem;
  box-shadow: none !important;
}

.woocommerce form .form-row input.input-text:focus,
.woocommerce form input:focus,
.woocommerce form textarea:focus,
.woocommerce form select:focus {
  border-color: var(--pmpr-green) !important;
  box-shadow: 0 0 0 2px rgba(122, 169, 60, 0.22) !important;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
  margin: 0 0 1.5rem;
  border: 1px solid #e8e8e8;
  border-radius: var(--pmpr-radius);
  overflow: hidden;
  background: var(--pmpr-bg);
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
  border-bottom: 1px solid #e8e8e8;
  margin: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li:last-child {
  border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a {
  display: block;
  padding: 0.85rem 1.1rem;
  color: var(--pmpr-text);
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover {
  background: var(--pmpr-mint);
  color: var(--pmpr-text);
}

.woocommerce-cart-form,
.cart-empty.woocommerce-info,
.woocommerce-info {
  border-radius: var(--pmpr-radius);
}

.cart-empty.woocommerce-info,
.woocommerce-info {
  border-top-color: var(--pmpr-green) !important;
  background: var(--pmpr-bg-soft);
  /* Leave left room for WooCommerce ::before info icon (default ~3.5em) */
  padding: 1rem 1.25rem 1rem 3.5em !important;
}

.cart-empty.woocommerce-info::before,
.woocommerce-info::before {
  top: 50%;
  transform: translateY(-50%);
}

.woocommerce table.shop_table {
  border-radius: var(--pmpr-radius);
  overflow: hidden;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  background: var(--pmpr-bg);
  padding: 1.25rem;
  border-radius: var(--pmpr-radius);
  border: 1px solid #e8e8e8;
}

/* Login/register forms spacing */
.woocommerce form.login,
.woocommerce form.register,
.woocommerce-form-login,
.woocommerce-form-register {
  padding: 1.5rem !important;
  border: 1px solid #e8e8e8 !important;
  border-radius: var(--pmpr-radius) !important;
  background: var(--pmpr-white);
  max-width: 420px;
}

.woocommerce form .form-row {
  margin-bottom: 1rem !important;
  padding: 0 !important;
}

/* ------------------------------------------------------------------
   Phase 4 — Mobile header / menu / cart / configurator
   ------------------------------------------------------------------ */
@media (max-width: 767px) {
  .elementor-20242 .elementor-element-c1d3706 > .elementor-container {
    justify-content: flex-end !important;
    gap: 0.75rem;
    padding-right: 0.5rem;
  }

  .elementor-20242 .jet-auth-links__item-text {
    font-size: 0.85rem;
  }

  .elementor-20242 .elementor-menu-cart__toggle .elementor-button-text {
    font-size: 0.85rem;
  }

  .pmpr-configurator {
    padding: 1rem;
  }

  .pmpr-configurator input[type="number"],
  .pmpr-configurator input[type="text"] {
    font-size: 16px; /* prevent iOS zoom */
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    float: none !important;
    width: 100% !important;
  }

  body .elementor-button-wrapper .elementor-button {
    width: auto;
    max-width: 100%;
  }
}

/* Homepage breathing room after hero/categories */
.elementor-36130 .elementor-element-515d068a {
  margin-bottom: 1.5rem;
}

/* Soften reviews section spacing */
.elementor-36130 .elementor-element-385cb6c {
  padding-top: 1rem;
  padding-bottom: 2rem;
}

/* ==========================================================================
   Header fixes 2026-09-24: logout spacing, menu separator, cart total polish
   ========================================================================== */

/* Name vs Abmelden (ohne Hallo-Prefix): more breathing room */
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__logout,
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__section.jet-auth-links__logout {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.85rem;
}
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__logout .jet-auth-links__prefix {
  margin-right: 0 !important;
  padding-right: 0.15rem;
}
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__logout .jet-auth-links__item {
  margin-left: 0.35rem !important;
  padding-left: 0.85rem !important;
  border-left: 1px solid rgba(255, 255, 255, 0.45);
  line-height: 1.2;
}

/* Trenner Mein Konto → Kontakt:
   Desktop Jet: echtes <i class="jet-dropdown-arrow"> via PHP (ux-polish.php)
   nutzt dieselbe Elementor-Custom-CSS wie Mega-Items (content:"|" #7AA93C).
   Graue 1px-::before auf Kontakt entfernt. */

/* Elementor Nav (Mobil/Alternate): gleicher FA-Pipe vor Kontakt */
.elementor-20242 .elementor-nav-menu > .menu-item-31856 > a.elementor-item::before,
.elementor-20242 .elementor-nav-menu > .menu-item-19189 > a.elementor-item::before,
.elementor-20242 .elementor-nav-menu > .menu-item-32461 > a.elementor-item::before {
  content: "|" !important;
  color: #7AA93C !important;
  margin-right: 5px;
  display: inline-block;
  font-family: "Font Awesome 5 Free" !important;
  font-weight: 900 !important;
  font-style: normal !important;
  font-size: 16px !important;
  line-height: 1 !important;
  -webkit-font-smoothing: antialiased;
  speak: never;
}

/* ==========================================================================
   UX fix 2026-09-24: cart bulk delete + Hallo strip + configurable price hide
   ========================================================================== */

/* Cart bulk selection */
.woocommerce-cart-form .pmpr-cart-select-col {
  width: 2.25rem;
  text-align: center;
  vertical-align: middle;
}
.woocommerce-cart-form .pmpr-cart-select-col input[type="checkbox"] {
  width: 1.15rem;
  height: 1.15rem;
  margin: 0;
  cursor: pointer;
  accent-color: #7AA93C;
}
.woocommerce-cart-form .pmpr-cart-bulk-actions {
  display: inline-flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-right: 0.75rem;
  margin-bottom: 0.5rem;
}
.woocommerce-cart-form .pmpr-cart-remove-selected,
.woocommerce-cart-form button.button.pmpr-cart-remove-selected {
  background-color: #7AA93C !important;
  border-color: #7AA93C !important;
  color: #fff !important;
  font-weight: 600;
  min-height: 2.5rem;
  padding: 0.55rem 1.1rem;
  white-space: nowrap;
}
.woocommerce-cart-form .pmpr-cart-remove-selected:hover,
.woocommerce-cart-form .pmpr-cart-remove-selected:focus,
.woocommerce-cart-form button.button.pmpr-cart-remove-selected:hover,
.woocommerce-cart-form button.button.pmpr-cart-remove-selected:focus {
  background-color: #689232 !important;
  border-color: #689232 !important;
  color: #fff !important;
}

/* Cart edit (Bearbeiten): brand green like Ausgewählte entfernen (was olive #5a5c51) */
.woocommerce-cart-form a.pmpr-cart-edit,
a.pmpr-cart-edit {
  border-color: #7AA93C !important;
  background: #7AA93C !important;
  color: #fff !important;
}
.woocommerce-cart-form a.pmpr-cart-edit:hover,
.woocommerce-cart-form a.pmpr-cart-edit:focus,
a.pmpr-cart-edit:hover,
a.pmpr-cart-edit:focus {
  border-color: #689232 !important;
  background: #689232 !important;
  color: #fff !important;
}

@media (max-width: 768px) {
  .woocommerce-cart-form .pmpr-cart-bulk-actions {
    display: flex;
    width: 100%;
    margin-right: 0;
    margin-bottom: 0.75rem;
  }
  .woocommerce-cart-form .pmpr-cart-remove-selected,
  .woocommerce-cart-form button.button.pmpr-cart-remove-selected {
    width: 100%;
    justify-content: center;
  }
  .woocommerce-cart-form .pmpr-cart-select-col {
    display: block !important;
    text-align: left;
    padding-top: 0.35rem;
  }
  .woocommerce-cart-form .pmpr-cart-select-col::before {
    content: attr(data-title);
    font-weight: 600;
    margin-right: 0.5rem;
  }
}

/* Name (ohne "Hallo") vs Abmelden: spacing bleibt */
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__logout,
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__section.jet-auth-links__logout {
  display: inline-flex !important;
  align-items: center;
  flex-wrap: nowrap;
  gap: 0.85rem;
}
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__logout .jet-auth-links__prefix {
  margin-right: 0 !important;
  padding-right: 0.15rem;
}
.elementor-20242 .elementor-element-35ebba2 .jet-auth-links__logout .jet-auth-links__item {
  margin-left: 0.35rem !important;
  padding-left: 0.85rem !important;
  border-left: 1px solid rgba(255, 255, 255, 0.45);
  line-height: 1.2;
}

/* Loop: blank price containers for configurables (belt + suspenders) */
li.product.pmpr-configurable .price,
.product.pmpr-configurable .price,
.products .pmpr-configurable .price {
  display: none !important;
}

/* Orphan Germanized tax+shipping notice when catalog price is hidden (PMPR) */
.single-product.pmpr-is-configurable .legal-price-info,
.single-product.pmpr-is-configurable .elementor-add-to-cart > .legal-price-info,
.product.pmpr-configurable .legal-price-info,
li.product.pmpr-configurable .legal-price-info,
.products .pmpr-configurable .legal-price-info {
  display: none !important;
}

/* Keep live configurator tax suffix visible */
.pmpr-configurator #pmpr_price_display .woocommerce-price-suffix,
#pmpr-configurator #pmpr_price_display .woocommerce-price-suffix {
  display: inline !important;
}


/* =============================================================================
 * UX fix 2026-09-24: Einzeln / Tabelle as clear tab strip (PMPR view toggle)
 * Markup already has role=tablist/tab + aria-selected; JS toggles .is-active.
 * Brand green active state; muted inactive; connected tabs.
 * ============================================================================= */
.pmpr-configurator .pmpr-view-toggle,
#pmpr-configurator .pmpr-view-toggle {
  display: inline-flex !important;
  gap: 0 !important;
  margin: 0 0 1rem !important;
  padding: 0 !important;
  border: 1px solid #c9c9c9 !important;
  border-radius: 6px !important;
  overflow: hidden !important;
  background: #f3f3f3 !important;
  box-shadow: none !important;
  vertical-align: middle;
}

.pmpr-configurator .pmpr-view-btn,
#pmpr-configurator .pmpr-view-btn,
.pmpr-configurator button.pmpr-view-btn,
#pmpr-configurator button.pmpr-view-btn {
  appearance: none !important;
  -webkit-appearance: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: #666 !important;
  font: inherit !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  padding: 0.55rem 1.15rem !important;
  margin: 0 !important;
  cursor: pointer !important;
  box-shadow: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  min-height: 0 !important;
  transition: background-color 0.15s ease, color 0.15s ease;
}

.pmpr-configurator .pmpr-view-btn + .pmpr-view-btn,
#pmpr-configurator .pmpr-view-btn + .pmpr-view-btn {
  border-left: 1px solid #c9c9c9 !important;
}

.pmpr-configurator .pmpr-view-btn:hover,
#pmpr-configurator .pmpr-view-btn:hover,
.pmpr-configurator button.pmpr-view-btn:hover,
#pmpr-configurator button.pmpr-view-btn:hover {
  background: #e8e8e8 !important;
  color: #333 !important;
}

.pmpr-configurator .pmpr-view-btn.is-active,
#pmpr-configurator .pmpr-view-btn.is-active,
.pmpr-configurator button.pmpr-view-btn.is-active,
#pmpr-configurator button.pmpr-view-btn.is-active,
.pmpr-configurator .pmpr-view-btn[aria-selected="true"],
#pmpr-configurator .pmpr-view-btn[aria-selected="true"] {
  background: var(--pmpr-green, #7AA93C) !important;
  color: #fff !important;
  font-weight: 700 !important;
  box-shadow: inset 0 -2px 0 rgba(0, 0, 0, 0.12) !important;
}

.pmpr-configurator .pmpr-view-btn.is-active:hover,
#pmpr-configurator .pmpr-view-btn.is-active:hover,
.pmpr-configurator button.pmpr-view-btn.is-active:hover,
#pmpr-configurator button.pmpr-view-btn.is-active:hover {
  background: #689232 !important;
  color: #fff !important;
}

.pmpr-configurator .pmpr-view-btn:focus-visible,
#pmpr-configurator .pmpr-view-btn:focus-visible {
  outline: 2px solid var(--pmpr-green, #7AA93C) !important;
  outline-offset: -2px !important;
  z-index: 1;
}

/* -------------------------------------------------------------------------
 * UX fix 2026-09-24: Accordion list indent (Jet / Elementor)
 * Product "Informationen" → e.g. "So funktioniert's" ordered list numbers
 * were flush left (Hello reset: ol/ul padding:0 + list-style outside).
 * Scope: single-product accordion/toggle content only — not shop grids.
 * ------------------------------------------------------------------------- */
.single-product .jet-toggle__content-inner > ol,
.single-product .jet-toggle__content-inner > ul,
.single-product .jet-toggle__content-inner ol,
.single-product .jet-toggle__content-inner ul,
.single-product .elementor-widget-jet-accordion .jet-toggle__content ol,
.single-product .elementor-widget-jet-accordion .jet-toggle__content ul,
.single-product .elementor-tab-content ol,
.single-product .elementor-tab-content ul,
.single-product .elementor-toggle-content ol,
.single-product .elementor-toggle-content ul,
.single-product .elementor-accordion-item .elementor-tab-content ol,
.single-product .elementor-accordion-item .elementor-tab-content ul {
  padding-left: 1.75em !important;
  margin-left: 1em !important;
  list-style-position: outside !important;
}

/* Nested lists keep a bit more indent */
.single-product .jet-toggle__content-inner ol ol,
.single-product .jet-toggle__content-inner ul ul,
.single-product .jet-toggle__content-inner ol ul,
.single-product .jet-toggle__content-inner ul ol {
  padding-left: 1.5em !important;
}


/* -------------------------------------------------------------------------
 * Site-wide page loader (Profimöbel brand green #7AA93C)
 * Soft beige overlay + centered spinner. JS removes on DOMContentLoaded /
 * interactive, hard-timeout ~4.5s. Front-end only (see ux-polish.php).
 * ------------------------------------------------------------------------- */
.pmpr-page-loader {
  position: fixed;
  inset: 0;
  z-index: 999999;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0;
  padding: 0;
  background: rgba(251, 249, 245, 0.92);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
  opacity: 1;
  visibility: visible;
  transition: opacity 0.25s ease, visibility 0.25s ease;
  pointer-events: none;
  /* CSS failsafe if inline hide JS is blocked (CleanTalk/bot filters). */
  animation: pmpr-page-loader-autohide 5s ease forwards;
}
@keyframes pmpr-page-loader-autohide {
  0%, 85% { opacity: 1; visibility: visible; }
  100% { opacity: 0; visibility: hidden; }
}

.pmpr-page-loader--hide {
  opacity: 0;
  visibility: hidden;
}

.pmpr-page-loader__spinner {
  box-sizing: border-box;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 3px solid rgba(122, 169, 60, 0.22);
  border-top-color: #7AA93C;
  animation: pmpr-page-loader-spin 0.7s linear infinite;
}

@keyframes pmpr-page-loader-spin {
  to {
    transform: rotate(360deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .pmpr-page-loader {
    transition: opacity 0.15s ease, visibility 0.15s ease;
  }
  .pmpr-page-loader__spinner {
    animation: none;
    opacity: 0.9;
  }
}

/* ------------------------------------------------------------------
   UX fix 2026-09-24: bulk TABLE uses available product column width
   Root cause: Elementor Single Product (post 41540) custom CSS locks
   form.cart { width: 500px } (100% only ≤600px). Column ~780px free,
   so the PMPR bulk table overflowed horizontally on wide desktops.
   ------------------------------------------------------------------ */
body.single-product form.cart:has(.pmpr-configurator),
body.single-product form.cart:has(#pmpr-configurator) {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box;
}

body.single-product .pmpr-configurator,
body.single-product #pmpr-configurator {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

body.single-product .pmpr-bulk-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* Keep Gesamtsumme readable under a full-width table */
body.single-product .pmpr-bulk-actions,
body.single-product .pmpr-bulk-total,
body.single-product .pmpr-bulk-grand {
  max-width: 100%;
}

/* ------------------------------------------------------------------
   Mobile cart + side-cart UX (2026-09-25, hardened 2026-09-26)
   - Cart glyph needs eicons (enqueued in ux-polish.php)
   - Side cart: readable empty state, clear close X, usable touch targets
   - 2026-09-26: sticky #header (z-index 99) painted ABOVE the cart because
     the cart lives under section .elementor-element-cc8d85d (z-index 2).
     Fixed children with z-index 10000 stay trapped in that stacking context
     → white panel under logo/hamburger/search, close X untappable.
     body.pmpr-cart-open (JS) escapes the trap; close/backdrop/empty hardened.
   ------------------------------------------------------------------ */
.elementor-menu-cart__toggle .elementor-button-icon .eicon,
.elementor-menu-cart__toggle .elementor-button-icon .eicon:before {
  font-family: eicons !important;
  speak: never;
}

.elementor-menu-cart__main,
.elementor-menu-cart__main .widget_shopping_cart_content,
.elementor-menu-cart__main .woocommerce-mini-cart__empty-message,
.elementor-menu-cart__main .elementor-menu-cart__product-name,
.elementor-menu-cart__main .elementor-menu-cart__product-price,
.elementor-menu-cart__main .elementor-menu-cart__subtotal {
  color: #1d2120 !important;
  -webkit-text-fill-color: #1d2120 !important;
}

.elementor-menu-cart__main .woocommerce-mini-cart__empty-message {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-size: 1rem !important;
  line-height: 1.5 !important;
  padding: 0.5rem 0 1rem !important;
  margin: 0 !important;
  color: #1d2120 !important;
  -webkit-text-fill-color: #1d2120 !important;
  background: transparent !important;
  position: relative !important;
  z-index: 2 !important;
}

/* CSS-drawn X so close never depends on eicons / font load.
   Solid soft disc for contrast on white panel; 48×48 touch target. */
.elementor-menu-cart__close-button {
  width: 48px !important;
  height: 48px !important;
  min-width: 48px !important;
  min-height: 48px !important;
  position: relative !important;
  cursor: pointer !important;
  z-index: 100120 !important;
  opacity: 1 !important;
  visibility: visible !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
  line-height: 0 !important;
  color: transparent !important;
  background: #f3f3f1 !important;
  border-radius: 50% !important;
  border: 1px solid rgba(29, 33, 32, 0.12) !important;
  box-shadow: 0 1px 2px rgba(29, 33, 32, 0.08) !important;
  align-self: flex-end;
  margin: 0 0 10px auto !important;
  flex-shrink: 0;
  pointer-events: auto !important;
  -webkit-tap-highlight-color: transparent;
}
.elementor-menu-cart__close-button:before,
.elementor-menu-cart__close-button:after {
  content: "" !important;
  position: absolute !important;
  left: 50% !important;
  top: 50% !important;
  width: 18px !important;
  height: 2px !important;
  margin: 0 !important;
  background: #1d2120 !important;
  border-radius: 1px !important;
  display: block !important;
  font-family: none !important;
  font-size: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}
.elementor-menu-cart__close-button:before {
  transform: translate(-50%, -50%) rotate(45deg) !important;
}
.elementor-menu-cart__close-button:after {
  transform: translate(-50%, -50%) rotate(-45deg) !important;
}
.elementor-menu-cart__close-button:hover,
.elementor-menu-cart__close-button:focus {
  background: #e8eedf !important;
  border-color: rgba(122, 169, 60, 0.45) !important;
}
.elementor-menu-cart__close-button:hover:before,
.elementor-menu-cart__close-button:hover:after,
.elementor-menu-cart__close-button:focus:before,
.elementor-menu-cart__close-button:focus:after {
  background: #7AA93C !important;
}

/* --- Stacking escape (sticky header trap) ---
   Sticky section #header / .elementor-element-0754096 is position:fixed; z-index:99.
   Cart lives under .elementor-element-cc8d85d (position:relative; z-index:2), so the
   lightbox's own z-index:10000 cannot paint above the sticky bar. body.pmpr-cart-open
   (set by ux-polish.php) lowers sticky chrome and raises the cart stacking context.

   ROOT CAUSE (2026-09-30): .elementor-element-cc8d85d is the brand-green (#7AA93C)
   utility bar (Gerald Wack | Abmelden | Mein Konto + menu-cart). Raising that section
   for stacking made its solid green background paint as a fullscreen-looking layer
   behind the side-cart (account text floating in green). Neutralize the section
   background while cart is open; lightbox provides the dark backdrop instead. */
body.pmpr-cart-open #header,
body.pmpr-cart-open .elementor-element-0754096,
body.pmpr-cart-open .elementor-sticky--active {
  z-index: 1 !important;
}
body.pmpr-cart-open .elementor-element-cc8d85d,
body.pmpr-cart-open .elementor-element-d377908.elementor-menu-cart--shown,
body.pmpr-cart-open .elementor-menu-cart--shown {
  z-index: 100100 !important;
  position: relative !important;
}
/* Kill brand-green utility-bar fill while cart open (Elementor post-20242 sets #7aa93c) */
body.pmpr-cart-open .elementor-element-cc8d85d,
body.pmpr-cart-open .elementor-20242 .elementor-element.elementor-element-cc8d85d,
body.pmpr-cart-open .elementor-20242 .elementor-element.elementor-element-cc8d85d:not(.elementor-motion-effects-element-type-background),
body.pmpr-cart-open .elementor-20242 .elementor-element.elementor-element-cc8d85d > .elementor-motion-effects-container > .elementor-motion-effects-layer {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
}
body.pmpr-cart-open .elementor-menu-cart--shown .elementor-menu-cart__container,
body.pmpr-cart-open .elementor-menu-cart--shown .elementor-menu-cart__container.elementor-lightbox {
  z-index: 100110 !important;
  pointer-events: auto !important;
}
body.pmpr-cart-open .elementor-menu-cart--shown .elementor-menu-cart__main {
  z-index: 100111 !important;
  pointer-events: auto !important;
  background: #ffffff !important;
}

@media (max-width: 767px) {
  .elementor-20242 .elementor-menu-cart__toggle .elementor-button-icon {
    font-size: 1.35rem !important;
  }
  .elementor-20242 .elementor-menu-cart__toggle .elementor-button-icon .eicon,
  .elementor-20242 .elementor-menu-cart__toggle .elementor-button-icon .eicon:before {
    font-size: 1.35rem !important;
    width: 1.35em;
    height: 1.35em;
    line-height: 1 !important;
    color: #fff !important;
  }
  body.pmpr-cart-open .elementor-menu-cart--shown .elementor-menu-cart__main {
    padding: 16px 18px 28px !important;
    box-sizing: border-box;
    max-width: 100vw;
  }
}

/* Page loader must never block cart after hide */
.pmpr-page-loader--hide,
.pmpr-page-loader[aria-hidden="true"].pmpr-page-loader--hide {
  display: none !important;
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}

/* -------------------------------------------------------------------------
 * UX Fix 2026-09-26 — Underline content / info links (staging)
 * Elementor sets `.elementor a { text-decoration: none }`, so product short-
 * description links like „Info Logistikabschlag“ looked like plain text.
 * Scoped to product content + PMPR; do NOT underline nav / primary buttons.
 * Brand green #7AA93C for link color.
 * ------------------------------------------------------------------------- */
.elementor .woocommerce-product-details__short-description a,
.woocommerce-product-details__short-description a,
.single-product .entry-summary .woocommerce-product-details__short-description a,
.single-product .woocommerce-Tabs-panel a,
.single-product .woocommerce-tabs .panel a,
.single-product .jet-toggle__content-inner a,
.single-product .elementor-tab-content a,
.single-product .elementor-toggle-content a,
.single-product .elementor-widget-text-editor a,
.pmpr-configurator a:not(.button):not(.elementor-button):not(.elementor-button-link):not([role="button"]),
.elementor a[href*="logistikabschlag"]:not(.elementor-button):not(.elementor-button-link):not([role="button"]),
a[href*="logistikabschlag"]:not(.elementor-button):not(.elementor-button-link):not([role="button"]) {
  text-decoration: underline !important;
  text-underline-offset: 0.15em;
  text-decoration-thickness: from-font;
  color: #7AA93C !important;
}

.elementor .woocommerce-product-details__short-description a:hover,
.woocommerce-product-details__short-description a:hover,
.single-product .entry-summary .woocommerce-product-details__short-description a:hover,
.single-product .woocommerce-Tabs-panel a:hover,
.single-product .woocommerce-tabs .panel a:hover,
.single-product .jet-toggle__content-inner a:hover,
.single-product .elementor-tab-content a:hover,
.single-product .elementor-toggle-content a:hover,
.single-product .elementor-widget-text-editor a:hover,
.pmpr-configurator a:not(.button):not(.elementor-button):not(.elementor-button-link):not([role="button"]):hover,
.elementor a[href*="logistikabschlag"]:not(.elementor-button):not(.elementor-button-link):not([role="button"]):hover,
a[href*="logistikabschlag"]:not(.elementor-button):not(.elementor-button-link):not([role="button"]):hover {
  text-decoration: underline !important;
  color: #5f8530 !important;
}

/* Keep Elementor/Woo primary buttons looking like buttons (no underline) */
.elementor a.elementor-button,
.elementor a.elementor-button-link,
.elementor a[role="button"],
a.button,
a.woocommerce-Button,
a.add_to_cart_button,
a.checkout-button {
  text-decoration: none !important;
}

/* -------------------------------------------------------------------------
 * UX Fix 2026-09-26 — Elementor e_font_icon_svg icon size regression
 *
 * Symptom: mega-menu chevrons (Zuschnitte) and footer checkmarks rendered
 * ~200–340px tall. Root cause: Elementor experiment e_font_icon_svg outputs
 * inline <svg class="e-font-icon-svg"> without intrinsic width/height, and
 * widget-icon-list.min.css (sets width/height via --e-icon-list-icon-size)
 * is enqueued as http:// → mixed content on HTTPS, so sizing never applies.
 * Measured before: .e-fas-check 220×220, .e-fas-chevron-right ~213×340;
 * cart .eicon stayed 14×14 (font glyph — do not touch).
 *
 * Footer (Johannes 2026-09-26): Elementor post-19328 left <svg e-fas-check>
 * in icon-lists with --e-icon-list-icon-size:0px. He does NOT want Haken
 * icons in Anschrift/Kontakt/Links/Service at all — hide list icons.
 * Keep jet-services column header icons (ID card, phone, chain, hand).
 *
 * Mega menu: restore normal small chevrons (16px via --e-icon-list-icon-size).
 * Does NOT undo elementor-icons enqueue; cart/star font rules untouched.
 * ------------------------------------------------------------------------- */

/* Default em-box for Elementor inline SVG font icons site-wide.
   Parent font-size (jet-services, icon widgets, buttons) still controls
   visual size — this only stops unconstrained intrinsic SVG blow-up. */
svg.e-font-icon-svg,
.e-font-icon-svg {
  display: inline-block;
  width: 1em;
  height: 1em;
  max-width: 100%;
  fill: currentColor;
  vertical-align: -0.125em;
  box-sizing: content-box;
}

/* Icon List widget — honor Elementor size variable (fallback 1em).
   Prevents intrinsic ~200–340px SVG when widget-icon-list.css is missing. */
.elementor-widget-icon-list .elementor-icon-list-icon svg,
.elementor-widget-icon-list .elementor-icon-list-icon .e-font-icon-svg,
.elementor-icon-list-icon svg,
.elementor-icon-list-icon .e-font-icon-svg {
  width: var(--e-icon-list-icon-size, 1em) !important;
  height: var(--e-icon-list-icon-size, 1em) !important;
  max-width: 1.25em;
  max-height: 1.25em;
}

/* Jet mega menus: keep list chevrons compact (mega #32493 sets 16px) */
.jet-menu .elementor-icon-list-icon svg,
.jet-menu .elementor-icon-list-icon .e-font-icon-svg,
.jet-sub-mega-menu .elementor-icon-list-icon svg,
.elementor-32493 .elementor-icon-list-icon svg,
.elementor-32493 .elementor-icon-list-icon .e-font-icon-svg {
  width: var(--e-icon-list-icon-size, 14px) !important;
  height: var(--e-icon-list-icon-size, 14px) !important;
  max-width: 16px;
  max-height: 16px;
}

/* Footer template #19328 — REMOVE list checkmarks entirely (Johannes).
   Plain text/links under Anschrift / Kontakt / Links / Service.
   Do NOT hide .jet-services__icon column headers. */
.elementor-19328 .elementor-widget-icon-list .elementor-icon-list-icon,
.elementor-19328 .elementor-icon-list-icon {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.elementor-19328 .elementor-widget-icon-list .elementor-icon-list-text {
  padding-left: 0 !important;
}

/* Explicitly preserve prior cart + star fixes (font glyphs, not SVG) */
.elementor-menu-cart__toggle .elementor-button-icon .eicon,
.elementor-menu-cart__toggle .elementor-button-icon .eicon:before {
  font-family: eicons !important;
}
.elementor-star-rating,
.elementor-star-rating i,
.elementor-star-rating i:before {
  font-family: eicons !important;
}

/* -------------------------------------------------------------------------
 * Footer template #19328 — hide bottom icon strip entirely (Johannes 2026-09-26).
 * Section adad6f2: horizontal white icons (star / money / truck / plane — plus
 * unused paypal/mastercard columns) on the dark olive footer bar.
 * Column header icons (.jet-services__icon: ID card, phone, chain, hand) stay.
 * List checkmarks already hidden above.
 * ------------------------------------------------------------------------- */
.elementor-19328 .elementor-element-adad6f2 {
  display: none !important;
}

/* PMPR 0.6.66 — mini-cart stack + Pos (also in plugin CSS; dual-delivered via ux-polish so WPO page cache still gets layout) */
/* ------------------------------------------------------------------
   Side-cart / mini-cart (Elementor menu-cart) — 0.6.66
   Stack: image above text so meta can use full panel width.
   Pos. label mirrors cart-page Pos. column.
   Selectors beat Elementor widget CSS (.elementor-menu-cart__product
   {grid-template-columns:28% auto} and grid-column-start:2 on name/price).
   ------------------------------------------------------------------ */
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__product.pmpr-mini-cart-stack,
.elementor-menu-cart__main .elementor-menu-cart__product.pmpr-mini-cart-stack,
.elementor-menu-cart__products .elementor-menu-cart__product.pmpr-mini-cart-stack,
.elementor-widget-woocommerce-menu-cart:not(.elementor-menu-cart--show-remove-button-yes) .elementor-menu-cart__product.pmpr-mini-cart-stack {
	display: grid !important;
	grid-template-columns: 1fr !important;
	grid-template-rows: auto auto auto !important;
	gap: 0.4rem 0;
	align-items: start;
	padding-right: 2.25rem; /* room for absolute remove control */
	min-width: 0;
}

.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .elementor-menu-cart__product-image,
.elementor-menu-cart__main .pmpr-mini-cart-stack .elementor-menu-cart__product-image,
.elementor-menu-cart__products .pmpr-mini-cart-stack .elementor-menu-cart__product-image {
	grid-column: 1 / -1 !important;
	grid-column-start: 1 !important;
	grid-column-end: -1 !important;
	grid-row: 1 !important;
	grid-row-start: 1 !important;
	grid-row-end: auto !important;
	width: 100% !important;
	max-width: 7.5rem;
}

.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .elementor-menu-cart__product-image a,
.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .elementor-menu-cart__product-image img,
.elementor-menu-cart__main .pmpr-mini-cart-stack .elementor-menu-cart__product-image a,
.elementor-menu-cart__main .pmpr-mini-cart-stack .elementor-menu-cart__product-image img,
.elementor-menu-cart__products .pmpr-mini-cart-stack .elementor-menu-cart__product-image a,
.elementor-menu-cart__products .pmpr-mini-cart-stack .elementor-menu-cart__product-image img {
	display: block;
	width: 100%;
	height: auto;
}

.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .elementor-menu-cart__product-name,
.elementor-menu-cart__main .pmpr-mini-cart-stack .elementor-menu-cart__product-name,
.elementor-menu-cart__products .pmpr-mini-cart-stack .elementor-menu-cart__product-name {
	grid-column: 1 / -1 !important;
	grid-column-start: 1 !important;
	grid-column-end: -1 !important;
	grid-row: 2 !important;
	grid-row-start: 2 !important;
	grid-row-end: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	min-width: 0;
	width: 100%;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .elementor-menu-cart__product-price,
.elementor-menu-cart__main .pmpr-mini-cart-stack .elementor-menu-cart__product-price,
.elementor-menu-cart__products .pmpr-mini-cart-stack .elementor-menu-cart__product-price {
	grid-column: 1 / -1 !important;
	grid-column-start: 1 !important;
	grid-column-end: -1 !important;
	grid-row: 3 !important;
	grid-row-start: 3 !important;
	grid-row-end: auto !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	align-self: start !important;
	min-width: 0;
	width: 100%;
}

.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-pos,
.elementor-menu-cart__main .pmpr-mini-cart-pos,
.elementor-menu-cart__products .pmpr-mini-cart-pos {
	display: block !important;
	margin: 0 0 0.2rem;
	font-size: 0.8rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	letter-spacing: 0.02em;
	color: #1d2120;
	-webkit-text-fill-color: #1d2120;
}

.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .variation,
.elementor-menu-cart__main .pmpr-mini-cart-stack .variation,
.elementor-menu-cart__products .pmpr-mini-cart-stack .variation {
	display: grid;
	grid-template-columns: max-content 1fr;
	column-gap: 0.4rem;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	margin: 0.35rem 0 0;
}

/* ------------------------------------------------------------------
   Furnierspan K1 bulk table — give Preis per Stück enough room
   (product-specific; do not change Dekorspan or other configurators)
   ------------------------------------------------------------------ */
body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-col-decor {
  min-width: 12rem;
  width: 22%;
  max-width: 16rem;
}

/* Keep Anzahl readable without changing Holzart or price columns. */
body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-qty {
  max-width: 8.25rem;
  min-width: 7.5rem;
  width: 8rem;
}

body.single-product.postid-28629 .pmpr-bulk-table td:has(.pmpr-bulk-qty) {
  min-width: 8.25rem;
  width: 8.25rem;
}

body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-unit,
body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-line,
body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-total,
body.single-product.postid-28629 .pmpr-bulk-table th.pmpr-bulk-col-unit {
  width: 8rem;
  min-width: 7.5rem;
}

/* Furnierspan K1 bulk dimensions and edge width — product-specific. */
body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-edge-mm {
  width: 5.25rem;
  min-width: 4.75rem;
  max-width: 5.75rem;
}

body.single-product.postid-28629 .pmpr-bulk-table td:has(.pmpr-bulk-edge-mm),
body.single-product.postid-28629 .pmpr-bulk-table th.pmpr-bulk-col-edge-mm {
  width: 5.5rem;
  min-width: 5.25rem;
  max-width: 6rem;
}

/* Match the bulk selects' visible frame for the two dimension inputs. */
body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-length,
body.single-product.postid-28629 .pmpr-bulk-table .pmpr-bulk-width {
  border: 1px solid #d0d0d0 !important;
  border-radius: var(--pmpr-radius) !important;
  height: 2.75rem !important;
  min-height: 2.75rem !important;
  box-sizing: border-box !important;
  padding: 0.65rem 0.85rem !important;
  background: var(--pmpr-white) !important;
  box-shadow: none !important;
}

/* ------------------------------------------------------------------
   Bulk Zuschnitt controls — shared Furnierspan/Dekorspan alignment.
   The plugin defaults inputs/selects to different intrinsic heights;
   keep every row control on one 2.75rem baseline without changing the
   existing column-width tuning except the requested qty/price corrections.
   ------------------------------------------------------------------ */
body.single-product .pmpr-bulk-table td {
  vertical-align: middle !important;
}

body.single-product .pmpr-bulk-table input[type="number"],
body.single-product .pmpr-bulk-table select,
body.single-product .pmpr-bulk-table button.pmpr-decor-trigger,
body.single-product .pmpr-bulk-table .pmpr-decor-trigger {
  height: 2.75rem !important;
  min-height: 2.75rem !important;
  max-height: 2.75rem !important;
  box-sizing: border-box !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  border: 1px solid #ccc !important;
  padding: 0.45rem 0.65rem !important;
  line-height: 1.25 !important;
  vertical-align: middle !important;
}

body.single-product .pmpr-bulk-table input[type="number"],
body.single-product .pmpr-bulk-table select {
  font: inherit !important;
  appearance: auto !important;
  -webkit-appearance: menulist !important;
}

body.single-product .pmpr-bulk-table button.pmpr-decor-trigger,
body.single-product .pmpr-bulk-table .pmpr-decor-trigger {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  border-radius: var(--pmpr-radius, 4px) !important;
  background: var(--pmpr-white, #fff) !important;
  box-shadow: none !important;
}

/* Keep the native thumbnail comfortably centered inside the shared frame. */
body.single-product .pmpr-bulk-table .pmpr-decor-trigger .pmpr-decor-swatch {
  align-self: center !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Quantity: keep Anzahl compact while leaving room for 1–3 digits. */
body.single-product .pmpr-bulk-table .pmpr-bulk-qty {
  width: 4rem !important;
  min-width: 3.5rem !important;
  max-width: 4.5rem !important;
}
body.single-product .pmpr-bulk-table td:has(.pmpr-bulk-qty) {
  width: 4.25rem !important;
  min-width: 4.25rem !important;
  max-width: 4.5rem !important;
}

/* Price values need additional room for the full formatted amount on both products. */
body.single-product .pmpr-bulk-table .pmpr-bulk-unit,
body.single-product .pmpr-bulk-table .pmpr-bulk-line,
body.single-product .pmpr-bulk-table .pmpr-bulk-total,
body.single-product .pmpr-bulk-table th.pmpr-bulk-col-unit {
  width: 12rem !important;
  min-width: 12rem !important;
  max-width: 14rem !important;
  white-space: nowrap;
  vertical-align: middle !important;
}

/* The real décor <select> stays visually hidden; its trigger is the row control. */
body.single-product .pmpr-bulk-table select.pmpr-decor-select {
  width: 1px !important;
  height: 1px !important;
  min-height: 1px !important;
  max-height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  border: 0 !important;
}

/* Font shorthand resets line-height in some engines; reassert the shared value. */
body.single-product .pmpr-bulk-table input[type="number"],
body.single-product .pmpr-bulk-table select {
  line-height: 1.25 !important;
}


/* =============================================================================
 * UX 2026-09-30: Lagedekore button — grey like inactive Einzeln tab (not Tabelle green)
 * ============================================================================= */
.pmpr-configurator .pmpr-view-bar,
#pmpr-configurator .pmpr-view-bar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 0.75rem !important;
  flex-wrap: wrap !important;
  margin: 0 0 1rem !important;
  width: 100% !important;
}
.pmpr-configurator .pmpr-view-bar .pmpr-view-toggle,
#pmpr-configurator .pmpr-view-bar .pmpr-view-toggle {
  margin: 0 !important;
}
.pmpr-configurator a.pmpr-lagedekore-btn,
#pmpr-configurator a.pmpr-lagedekore-btn {
  appearance: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0.4rem !important;
  box-sizing: border-box !important;
  margin: 0 0 0 auto !important;
  padding: 0.55rem 1.15rem !important;
  border: 1px solid #c9c9c9 !important;
  border-radius: 6px !important;
  background: #f3f3f3 !important;
  color: #666 !important;
  font: inherit !important;
  font-size: 0.92rem !important;
  font-weight: 500 !important;
  line-height: 1.2 !important;
  text-decoration: none !important;
  text-transform: none !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
  box-shadow: none !important;
  cursor: pointer !important;
  min-height: 0 !important;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.pmpr-configurator a.pmpr-lagedekore-btn:hover,
#pmpr-configurator a.pmpr-lagedekore-btn:hover,
.pmpr-configurator a.pmpr-lagedekore-btn:focus-visible,
#pmpr-configurator a.pmpr-lagedekore-btn:focus-visible {
  background: #e8e8e8 !important;
  color: #333 !important;
  border-color: #c9c9c9 !important;
  text-decoration: none !important;
}
.pmpr-configurator a.pmpr-lagedekore-btn:focus-visible,
#pmpr-configurator a.pmpr-lagedekore-btn:focus-visible {
  outline: 2px solid var(--pmpr-green, #7AA93C) !important;
  outline-offset: 2px !important;
}
.pmpr-configurator .pmpr-lagedekore-icon,
#pmpr-configurator .pmpr-lagedekore-icon {
  width: 1em !important;
  height: 1em !important;
  flex: 0 0 auto !important;
  color: inherit !important;
  stroke: currentColor !important;
}
.pmpr-configurator a.pmpr-lagedekore-btn.is-hidden,
#pmpr-configurator a.pmpr-lagedekore-btn.is-hidden {
  display: none !important;
}

/* =============================================================================
 * Fix 2026-09-30 (hardened): Elementor menu-cart lightbox must NEVER be brand green.
 * Scope: ONLY menu-cart while SHOWN — never block page clicks when cart closed.
 * - Backdrop only with .elementor-menu-cart--shown
 * - Closed: pointer-events none, no fixed fullscreen trap
 * - Side panel (__main) white when shown
 * Do NOT re-add bulk-button / body:has green rules here.
 * ============================================================================= */

/* When cart CLOSED: never let lightbox container eat clicks / cover viewport */
.elementor-widget-woocommerce-menu-cart:not(.elementor-menu-cart--shown) .elementor-menu-cart__container,
.elementor-widget-woocommerce-menu-cart:not(.elementor-menu-cart--shown) .elementor-menu-cart__container.elementor-lightbox,
.elementor-menu-cart__container[aria-hidden="true"] {
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  max-width: 0 !important;
  max-height: 0 !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  position: absolute !important;
  inset: auto !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  z-index: -1 !important;
}
/* If body.pmpr-cart-open stuck but cart not shown: still unblock page */
body.pmpr-cart-open .elementor-widget-woocommerce-menu-cart:not(.elementor-menu-cart--shown) .elementor-menu-cart__container {
  pointer-events: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  position: absolute !important;
  z-index: -1 !important;
}

/* Dark backdrop — ONLY while menu-cart is shown */
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__container,
.elementor-menu-cart--shown .elementor-menu-cart__container.elementor-lightbox,
body.pmpr-cart-open .elementor-menu-cart--shown .elementor-menu-cart__container,
body.pmpr-cart-open .elementor-menu-cart--shown .elementor-menu-cart__container.elementor-lightbox {
  background: rgba(0, 0, 0, 0.45) !important;
  background-color: rgba(0, 0, 0, 0.45) !important;
  background-image: none !important;
  width: 100vw !important;
  height: 100vh !important;
  max-height: none !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  position: fixed !important;
  pointer-events: auto !important;
  z-index: 100110 !important;
}

/* White side-cart panel — only when shown */
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__main,
.elementor-menu-cart--shown .elementor-menu-cart__main,
body.pmpr-cart-open .elementor-menu-cart--shown .elementor-menu-cart__main {
  background: #ffffff !important;
  background-color: #ffffff !important;
  background-image: none !important;
  pointer-events: auto !important;
}

/* Menu-cart lightbox/dialog chrome: never inherit brand green (shown only) */
body.pmpr-cart-open .elementor-menu-cart--shown .dialog-widget-content,
.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .dialog-widget-content {
  background: transparent !important;
  background-color: transparent !important;
}

/* Account strip text stays readable on dark backdrop (was white-on-green) */
body.pmpr-cart-open .elementor-element-cc8d85d .jet-auth-links__item,
body.pmpr-cart-open .elementor-element-cc8d85d .jet-auth-links__prefix,
body.pmpr-cart-open .elementor-element-35ebba2 .jet-auth-links__item,
body.pmpr-cart-open .elementor-element-35ebba2 .jet-auth-links__prefix {
  color: #ffffff !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.45);
}

/* =============================================================================
 * UX 2026-09-30: single-product cart controls share the same top edge
 * Scope: the standard quantity + add-to-cart controls in form.cart.
 * Keep configurator/bulk-button and cart-overlay rules out of this fix.
 * ============================================================================= */
body.single-product form.cart {
  align-items: flex-start !important;
}

body.single-product form.cart .quantity,
body.single-product form.cart button.single_add_to_cart_button {
  align-self: flex-start !important;
  vertical-align: top !important;
  margin-top: 0 !important;
}

body.single-product form.cart .quantity .qty,
body.single-product form.cart button.single_add_to_cart_button {
  box-sizing: border-box !important;
}


/* =============================================================================
 * UX 2026-10-01: Zuschnitt header — title + Einzeln/Tabelle on one row
 * Spacing only; no ATC/mini-cart chrome. Material row uses plugin CSS.
 * ============================================================================= */
.pmpr-configurator .pmpr-view-bar,
#pmpr-configurator .pmpr-view-bar {
  justify-content: flex-start !important;
  align-items: center !important;
  gap: 0.75rem !important;
}
.pmpr-configurator .pmpr-view-bar > .pmpr-title,
#pmpr-configurator .pmpr-view-bar > .pmpr-title {
  margin: 0 !important;
  flex: 0 1 auto !important;
  min-width: 0 !important;
}
.pmpr-configurator .pmpr-view-bar .pmpr-view-toggle,
#pmpr-configurator .pmpr-view-bar .pmpr-view-toggle {
  margin: 0 !important;
  flex: 0 0 auto !important;
}
.pmpr-configurator .pmpr-view-bar > a.pmpr-lagedekore-btn,
#pmpr-configurator .pmpr-view-bar > a.pmpr-lagedekore-btn {
  margin-left: auto !important;
  flex: 0 0 auto !important;
}
.pmpr-configurator > .pmpr-row-material,
#pmpr-configurator > .pmpr-row-material {
  margin: 0 0 0.85rem !important;
}

/* Intervogue font-face insurance (RevSlider + Elementor; root-relative avoids mixed content) */
@font-face {
	font-family: 'Intervogue';
	font-style: normal;
	font-weight: normal;
	font-display: swap;
	src: url('/wp-content/uploads/2019/02/intervogue-reg-webfont-2.woff2') format('woff2'),
		url('/wp-content/uploads/2019/02/intervogue-reg-webfont-2.woff') format('woff');
}
@font-face {
	font-family: 'Intervogue';
	font-style: normal;
	font-weight: 700;
	font-display: swap;
	src: url('/wp-content/uploads/2019/02/intervogue-med-webfont-2.woff2') format('woff2'),
		url('/wp-content/uploads/2019/02/intervogue-med-webfont-2.woff') format('woff');
}
@font-face {
	font-family: 'Intervogue';
	font-style: normal;
	font-weight: bold;
	font-display: swap;
	src: url('/wp-content/uploads/2019/02/intervogue-med-webfont-2.woff2') format('woff2'),
		url('/wp-content/uploads/2019/02/intervogue-med-webfont-2.woff') format('woff');
}
/* RevSlider layers: match theme fallback stack */
rs-layer, .rev-btn {
	font-family: 'Intervogue', Sans-serif !important;
}

/* 0.6.250: cart right-col spacing + mini-cart readability (dual-deliver; no green ATC/fullscreen) */
.woocommerce-cart-form .pmpr-cart-opts-secondary { row-gap: 0.28rem; }
.woocommerce-cart-form .pmpr-cart-opts-dims { row-gap: 0.1rem; }
.woocommerce-cart-form .pmpr-cart-opts-secondary .pmpr-cart-opt-val {
	white-space: normal; overflow-wrap: anywhere; word-break: break-word; max-width: 16rem;
}
.elementor-menu-cart__main .elementor-menu-cart__products,
.elementor-widget-woocommerce-menu-cart .elementor-menu-cart__products {
	max-height: min(60vh, 28rem); overflow-x: hidden; overflow-y: auto; -webkit-overflow-scrolling: touch;
}
.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .elementor-menu-cart__product-name,
.elementor-menu-cart__main .pmpr-mini-cart-stack .elementor-menu-cart__product-name {
	overflow-wrap: anywhere; word-break: break-word; white-space: normal; max-width: 100%;
}
.elementor-widget-woocommerce-menu-cart .pmpr-mini-cart-stack .variation,
.elementor-menu-cart__main .pmpr-mini-cart-stack .variation {
	row-gap: 0.2rem;
}
.elementor-menu-cart__main .pmpr-cart-opts { font-size: 0.72rem; margin-top: 0.25rem; }
.elementor-menu-cart__main .pmpr-cart-opts-cols { grid-template-columns: 1fr 1fr; column-gap: 0.6rem; }
.elementor-menu-cart__main .pmpr-cart-opts-secondary { grid-column: 2; row-gap: 0.22rem; }
.elementor-menu-cart__main .pmpr-cart-opts-dims { grid-column: 1; row-gap: 0.1rem; }
.elementor-menu-cart__main .pmpr-cart-opts-hardware { display: none; } /* keep mini-cart compact */

/* =============================================================================
 * Fix 2026-10-09: JetWoo category archive tiles (template 19921)
 * Symptom: thumbnail ~30px + title beside it in a collapsed strip.
 * Cause: .elementor-widget-wrap is flex-direction:row; widgets must be width:100%
 * to wrap/stack. When that loses (CSS order / minify / theme), the thumbnail
 * stays inline-block content-sized and the title sits beside it.
 * Scope: only li.product-category — product cards / other loops untouched.
 * ============================================================================= */
li.product-category .elementor-widget-wrap.elementor-element-populated,
li.product-category .elementor-widget-wrap {
  flex-direction: column !important;
  flex-wrap: nowrap !important;
  align-items: stretch !important;
}
li.product-category .elementor-widget-wrap > .elementor-element {
  width: 100% !important;
  max-width: 100% !important;
}
li.product-category .jet-woo-builder-archive-category-thumbnail__wrapper,
li.product-category .jet-woo-builder-archive-category-thumbnail,
li.product-category .jet-woo-builder-archive-category-thumbnail a {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}
li.product-category .jet-woo-builder-archive-category-thumbnail img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

/* 0.6.289: cart block layout — Korpus | Schublade / Dekor / Sonstiges (Flucht) */
.woocommerce-cart-form .pmpr-cart-opts--blocks,
.elementor-menu-cart__main .pmpr-cart-opts--blocks,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks,
.pmpr-od-table .pmpr-cart-opts--blocks {
	display: grid;
	grid-template-columns: minmax(10rem, 1fr) minmax(12rem, 1.35fr);
	column-gap: 1.5rem;
	row-gap: 0;
	align-items: start;
	font-size: 0.75rem;
	line-height: 1.3;
	color: #1d2120;
	width: 100%;
	max-width: 100%;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-opts-col--left,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-opts-col--left,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-opts-col--left,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-opts-col--left {
	grid-column: 1;
	min-width: 0;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-opts-col--right,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-opts-col--right,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-opts-col--right,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-opts-col--right {
	grid-column: 2;
	min-width: 0;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-block + .pmpr-cart-block,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-block + .pmpr-cart-block,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-block + .pmpr-cart-block,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-block + .pmpr-cart-block {
	margin-top: 0.55rem;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-block-h,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-block-h,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-block-h,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-block-h {
	font-weight: 700;
	font-size: 0.75rem;
	line-height: 1.25;
	color: #1d2120;
	margin: 0 0 0.22rem;
	padding: 0;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-block-rows,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-block-rows,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-block-rows,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-block-rows {
	display: grid;
	grid-template-columns: 7.5rem minmax(0, 1fr);
	column-gap: 0.4rem;
	row-gap: 0.28rem;
	align-items: baseline;
	width: 100%;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-opt,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-opt,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-opt,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-opt {
	display: contents;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-opt-lab,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-opt-lab,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-opt-lab,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-opt-lab {
	font-weight: 600;
	color: #5a5c51;
	white-space: nowrap;
	justify-self: start;
}
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-opt-val,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-opt-val,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-opt-val,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-opt-val {
	color: #1d2120;
	text-align: left;
	justify-self: start;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}
.elementor-menu-cart__main .pmpr-cart-opts--blocks {
	grid-template-columns: minmax(7rem, 1fr) minmax(8rem, 1.2fr);
	column-gap: 0.75rem;
	font-size: 0.72rem;
}
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-block-rows {
	grid-template-columns: 6.5rem minmax(0, 1fr);
	row-gap: 0.22rem;
}
@media (max-width: 782px) {
	.woocommerce-cart-form .pmpr-cart-opts--blocks {
		grid-template-columns: 1fr;
		row-gap: 0.65rem;
	}
	.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-opts-col--left,
	.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-opts-col--right {
		grid-column: auto;
	}
}

/* 0.6.290: no visible block titles; keep inter-block gap */
.woocommerce-cart-form .pmpr-cart-opts--blocks .pmpr-cart-block-h,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-block-h,
.woocommerce-checkout-review-order-table .pmpr-cart-opts--blocks .pmpr-cart-block-h,
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-block-h {
	display: none !important;
}

/* 0.6.291: hide Lieferzeit on cart + mini-cart item lines */
.woocommerce-cart-form .pmpr-cart-line-delivery,
.woocommerce-cart-form .pmpr-cart-line-title .wc-gzd-cart-info,
.woocommerce-cart-form .wc-gzd-cart-info,
.elementor-menu-cart__main .wc-gzd-cart-info,
.elementor-menu-cart__main .pmpr-cart-line-delivery,
.elementor-widget-woocommerce-menu-cart .wc-gzd-cart-info {
	display: none !important;
}

/* Fix 2026-10-13: category tiles inside Elementor grid got Woo float width (columns-6 -> 13.5% of a grid cell = ~27px). Let the grid size them. */
.elementor-wc-products ul.products.elementor-grid li.product-category {
  width: auto !important;
  max-width: none !important;
  float: none !important;
  margin: 0 !important;
}
/* 2026-10-13b: equal tile height per row (category tiles only) */
.elementor-wc-products ul.products.elementor-grid li.product-category { align-self: stretch !important; display: flex !important; flex-direction: column !important; }
.elementor-wc-products ul.products.elementor-grid li.product-category > *,
.elementor-wc-products ul.products.elementor-grid li.product-category > * > .elementor-container,
.elementor-wc-products ul.products.elementor-grid li.product-category .elementor-column,
.elementor-wc-products ul.products.elementor-grid li.product-category .elementor-widget-wrap { flex: 1 1 auto !important; height: 100%; }
.elementor-wc-products ul.products.elementor-grid li.product-category .jet-woo-builder-archive-category-title { min-height: 2.6em; }
/* 0.6.333: mini-cart specs single column, label: value rows (main cart unchanged) */
.elementor-menu-cart__main .pmpr-cart-opts--blocks,
.elementor-menu-cart__main .pmpr-cart-opts-cols { grid-template-columns: minmax(0, 1fr) !important; row-gap: 0.4rem; }
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-opts-col--left,
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-opts-col--right,
.elementor-menu-cart__main .pmpr-cart-opts-secondary,
.elementor-menu-cart__main .pmpr-cart-opts-dims { grid-column: 1 !important; min-width: 0; }
.elementor-menu-cart__main .pmpr-cart-opts--blocks .pmpr-cart-block-rows { grid-template-columns: max-content minmax(0, 1fr) !important; }
.elementor-menu-cart__main .pmpr-cart-opt-val { word-break: normal !important; overflow-wrap: break-word !important; }
/* 0.6.334: cart small-screen overflow (price bar wraps; desktop unchanged) */
@media (max-width: 782px) {
	.woocommerce-cart-form .shop_table.cart { table-layout: fixed; width: 100% !important; max-width: 100%; }
	.woocommerce-cart-form .shop_table.cart td { min-width: 0; max-width: 100%; box-sizing: border-box; }
	.woocommerce-cart-form .pmpr-cart-price-bar { flex-wrap: wrap; row-gap: 0.4rem; column-gap: 0.75rem; max-width: 100%; }
	.woocommerce-cart-form .pmpr-cart-price-bar > * { min-width: 0; flex: 0 1 auto; width: auto !important; margin-left: 0 !important; }
	.woocommerce-cart-form .pmpr-cart-line-body, .woocommerce-cart-form .pmpr-cart-line-header { min-width: 0; max-width: 100%; flex-wrap: wrap; }
}

/* 0.6.390: Mini-Cart Buttons lesbar */
html body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button,html body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button,html body .elementor-menu-cart__footer-buttons a.elementor-button{background:#7AA93C!important;background-color:#7AA93C!important;color:#fff!important;border:0!important}
html body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button *,html body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button *,html body .elementor-menu-cart__footer-buttons a.elementor-button *{color:#fff!important;-webkit-text-fill-color:#fff!important}
html body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button:hover,html body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button:hover,html body .elementor-menu-cart__footer-buttons a.elementor-button:hover,html body .elementor-widget-woocommerce-menu-cart .elementor-menu-cart__footer-buttons a.elementor-button:focus,html body .elementor-menu-cart__main .elementor-menu-cart__footer-buttons a.elementor-button:focus,html body .elementor-menu-cart__footer-buttons a.elementor-button:focus{background:#68932f!important;background-color:#68932f!important;color:#fff!important}

/* 0.6.390: Bestelldetails wie Warenkorb */
.pmpr-od-table .pmpr-cart-opts--blocks{margin-top:.35rem}
.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-block + .pmpr-cart-block{margin-top:.55rem}
@media (max-width:782px){.pmpr-od-table .pmpr-cart-opts--blocks{grid-template-columns:1fr;row-gap:.55rem}.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-opts-col--left,.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-opts-col--right{grid-column:auto}.pmpr-od-table .pmpr-cart-opts--blocks .pmpr-cart-block-rows{grid-template-columns:6.5rem minmax(0,1fr)}}
