/* BRICKONAS Private-Customers Theme CSS — v2 */

/* === FULL-WIDTH SECTIONS — Remove Astra container constraint === */
.site-content .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* === SITE LOGO — Hide text title/tagline, show logo image === */
.site-branding .site-title,
.site-branding .site-description {
  display: none !important;
}
.ast-site-identity {
  min-width: 200px !important;
}
.site-branding.ast-site-identity .site-logo-img,
.site-branding.ast-site-identity span.site-logo-img {
  display: block !important;
}
.site-branding .custom-logo-link {
  display: inline-block !important;
}
.site-branding .custom-logo {
  max-height: 55px !important;
  width: auto !important;
  height: 55px !important;
  object-fit: contain !important;
}

/* === ASTRA GLOBAL COLOR OVERRIDES === */
:root {
  --ast-global-color-0: #2E7D32;
  --ast-global-color-1: #1F5624;
  --ast-global-color-2: #2A352B;
  --ast-global-color-3: #4A5D4C;
  --ast-global-color-4: #FFFFFF;
  --ast-global-color-5: #F5FAF5;
  --bk-green-primary: #2E7D32;
  --bk-green-dark: #1F5624;
  --bk-green-pale: #C8E6C9;
  --bk-gold: #FDD835;
  --bk-off-white: #F5FAF5;
  --bk-charcoal: #2A352B;
  --bk-text: #4A5D4C;
  --bk-near-black: #1A1A1A;
}

/* === FONTS === */
body, p, li, td, th, span, div {
  font-family: "Nunito", "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
}
h1, h2, h3, h4, h5, h6,
.entry-title, .page-title, .site-title,
.ast-site-identity .site-title,
.elementor-heading-title {
  font-family: "Fredoka", "Poppins", "Nunito", sans-serif !important;
  font-weight: 700;
}

/* === PERFORMANCE OPTIMIZATIONS === */
/* GPU acceleration for animated elements */
.bk-animate,
.bk-scroll-top,
.bk-event-card,
.bk-hero-badge,
.kp-product-card {
  will-change: transform, opacity;
}
/* Remove will-change after animation completes to free GPU memory */
.bk-animate.bk-visible {
  will-change: auto;
}
/* NOTE (2026-05-08): removed `content-visibility: auto` rules on
   `.elementor .e-con:nth-child(n+3)` and on `img`. They caused mobile
   scroll-up flicker on iOS — sections/images would briefly disappear
   while the browser re-rendered them. Modern browsers handle off-screen
   content efficiently anyway. */
/* Smooth font rendering */
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeSpeed;
}

/* === STICKY HEADER === */
.site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 999 !important;
  background: #FFFFFF;
  /* iOS Safari: force own GPU layer to prevent repaint flicker on scroll-up
     when combined with a second sticky (cart sidebar) on the same page. */
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  will-change: transform;
}

/* === iOS SAFARI STICKY FLICKER FIX ===
   Cart and checkout pages have two sticky elements (header + sidebar). On iOS
   this causes flicker on scroll-up unless every sticky element gets its own
   compositing layer. */
.wc-block-cart .wc-block-components-sidebar,
.wp-block-woocommerce-checkout-order-summary-block {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
}
/* On touch devices, drop the transform-based hover lifts that compound the
   repaint cost on the cart-submit and checkout-place-order buttons. */
@media (hover: none) and (pointer: coarse) {
  .wc-block-cart__submit-container a.wc-block-cart__submit-button:hover,
  .wc-block-cart__submit-button:hover,
  .wc-block-components-checkout-place-order-button:hover {
    transform: none !important;
    box-shadow: 0 2px 8px rgba(46, 125, 50, 0.2) !important;
  }
}

/* === HEADER STYLING === */
.ast-primary-header-bar,
.ast-header-break-point .ast-primary-header-bar {
  background-color: #FFFFFF;
  border-bottom: 2px solid #C8E6C9;
  box-shadow: 0 2px 8px rgba(27, 94, 32, 0.08);
}
.ast-header-break-point .ast-mobile-header-wrap .ast-primary-header-bar {
  background-color: #FFFFFF;
}

/* Site Title */
.ast-site-identity .site-title a,
.ast-site-identity .site-title {
  color: #2E7D32 !important;
  font-family: "Fredoka", sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.4rem !important;
  white-space: nowrap !important;
}
/* Site tagline */
.ast-site-identity .site-description {
  font-family: "Nunito", sans-serif !important;
  color: #4A5D4C !important;
  font-size: 0.8rem !important;
}

/* === MOBILE HEADER FIX === */
@media (max-width: 921px) {
  .ast-site-identity .site-title a,
  .ast-site-identity .site-title {
    font-size: 1.1rem !important;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .ast-site-identity .site-description {
    font-size: 0.7rem !important;
    white-space: nowrap !important;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .ast-site-identity {
    max-width: 200px;
  }
  /* Better mobile menu button */
  .ast-mobile-menu-trigger-minimal {
    border: 2px solid #C8E6C9 !important;
    border-radius: 8px !important;
    padding: 6px 10px !important;
  }
}

/* Nav Menu Items */
.main-header-menu .menu-item .menu-link,
.ast-header-break-point .ast-builder-menu .main-navigation .menu-item .menu-link {
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  color: #2A352B !important;
  transition: all 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.main-header-menu .menu-item:hover .menu-link,
.main-header-menu .menu-item.current-menu-item .menu-link {
  color: #2E7D32 !important;
}
/* Active menu item — green underline for clear "you are here" indicator */
.main-header-menu .menu-item.current-menu-item:not([class*="menu-item-384"]):not([class*="menu-item-370"]) .menu-link {
  border-bottom: 0 !important;
  padding-bottom: 0 !important;
  position: relative !important;
}
.main-header-menu .menu-item.current-menu-item:not([class*="menu-item-384"]):not([class*="menu-item-370"]) .menu-link::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, calc(0.62em + 5px));
  width: 22px;
  height: 2px;
  border-radius: 2px;
  background: #2E7D32;
}
/* Mobile: menu rows are full-width, so a centered underline floats in the middle
   of the row instead of under the word. Replace it with a left accent bar. */
.ast-header-break-point .main-header-menu .menu-item.current-menu-item:not([class*="menu-item-384"]):not([class*="menu-item-370"]) .menu-link::after {
  left: 0;
  top: 0;
  transform: none;
  width: 3px;
  height: 100%;
  border-radius: 0;
}
/* Suppress the dotted focus box on mouse click; keep a clean ring for keyboard nav */
.main-header-menu .menu-link:focus:not(:focus-visible) {
  outline: 0 !important;
}
.main-header-menu .menu-link:focus-visible {
  outline: 2px solid #2E7D32 !important;
  outline-offset: 2px;
  border-radius: 4px;
}

/* === MOSAIK BRICKPIC — CTA Menu Button === */
/* Rename menu text via CSS */
.main-header-menu .menu-item a.menu-link[href*="/mosaik/"] .menu-text,
.ast-header-break-point .main-navigation .menu-item a.menu-link[href*="/mosaik/"] .menu-text {
  font-size: 0 !important;
  letter-spacing: 0 !important;
  overflow: hidden !important;
}
.main-header-menu .menu-item a.menu-link[href*="/mosaik/"] .menu-text::after,
.ast-header-break-point .main-navigation .menu-item a.menu-link[href*="/mosaik/"] .menu-text::after {
  content: "Mosaik BrickPic" !important;
  font-size: 14px !important;
  letter-spacing: normal !important;
  white-space: nowrap !important;
}
/* Button styling for Mosaik BrickPic — gold/amber pill to stand out as "featured" */
.main-header-menu .menu-item a.menu-link[href*="/mosaik/"] {
  background: #F9A825 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 0 14px !important;
  margin: 0 2px !important;
  transition: all 0.25s ease !important;
  box-shadow: none !important;
  height: 32px !important;
  line-height: 32px !important;
  display: inline-flex !important;
  align-items: center !important;
}
.main-header-menu .menu-item a.menu-link[href*="/mosaik/"] .menu-text::after {
  color: #FFFFFF !important;
}
.main-header-menu .menu-item a.menu-link[href*="/mosaik/"]:hover {
  background: #E69100 !important;
}
/* When actually on the Mosaik page — green fill to match active-page convention */
.main-header-menu .menu-item.current-menu-item a.menu-link[href*="/mosaik/"] {
  background: #2E7D32 !important;
}
.main-header-menu .menu-item.current-menu-item a.menu-link[href*="/mosaik/"] .menu-text::after {
  color: #FFFFFF !important;
}
/* Mobile menu: Mosaik BrickPic — keep the amber highlight fill (user wants it),
   but render it as a clean full-width band: drop the border-radius that left a
   strange rounded corner on the left edge of the full-width row. */
.ast-header-break-point .main-navigation .menu-item a.menu-link[href*="/mosaik/"] {
  background: #FFF3E0 !important;
  border-radius: 0 !important;
  color: #E69100 !important;
  font-weight: 700 !important;
}
.ast-header-break-point .main-navigation .menu-item a.menu-link[href*="/mosaik/"] .menu-text::after {
  color: #E69100 !important;
}

/* === BUTTON STYLING === */
.wp-block-button__link,
.elementor-button,
.ast-custom-button,
a.button, input[type="submit"],
.woocommerce a.button, .woocommerce button.button,
.woocommerce input.button, .woocommerce #respond input#submit {
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  border-radius: 12px !important;
  transition: all 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
  background-color: #2E7D32 !important;
  color: #FFFFFF !important;
  border: none !important;
  padding: 12px 28px !important;
}
.wp-block-button__link:hover,
.elementor-button:hover,
a.button:hover, input[type="submit"]:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover {
  background-color: #1F5624 !important;
  color: #FFFFFF !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 16px rgba(27, 94, 32, 0.14) !important;
}
/* Exclude hamburger and accessibility buttons from green styling */
.ast-mobile-menu-trigger-minimal,
.ast-mobile-menu-trigger-minimal:hover,
.menu-toggle,
.menu-toggle:hover,
#pojo-a11y-toolbar button,
#pojo-a11y-toolbar button:hover,
.pojo-a11y-toolbar-toggle,
.pojo-a11y-toolbar-toggle:hover {
  background-color: transparent !important;
  color: inherit !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 0 !important;
  border: none !important;
}
/* Remove the white/grey outline + box-shadow that Astra paints around the mobile
   menu toggle (hamburger and the X/close state) when tapped. Keep a focus-visible
   ring for keyboard users only. */
.menu-toggle:focus,
.menu-toggle:focus:not(:focus-visible),
.ast-mobile-menu-trigger-minimal:focus,
.ast-mobile-menu-trigger-minimal:focus:not(:focus-visible),
.main-header-menu-toggle:focus,
.main-header-menu-toggle:focus:not(:focus-visible) {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}
.menu-toggle:focus-visible,
.ast-mobile-menu-trigger-minimal:focus-visible,
.main-header-menu-toggle:focus-visible {
  outline: 2px solid #2E7D32 !important;
  outline-offset: 2px;
}

/* === FOOTER — COMPLETE RESTYLE === */
.site-footer {
  background-color: #1A2E1C !important;
  color: #FFFFFF !important;
  padding: 0 !important;
  margin-top: 0 !important;
  border-top: none !important;
}
/* Hide original copyright paragraph completely */
.site-footer .ast-footer-copyright p,
.ast-footer-copyright p,
div.ast-footer-copyright p {
  font-size: 0 !important;
  line-height: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 0 !important;
  visibility: hidden !important;
  opacity: 0 !important;
  max-height: 0 !important;
}
.site-footer .ast-footer-copyright p *,
.ast-footer-copyright p * {
  font-size: 0 !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
/* Build new footer via CSS — target only the INNER div */
.site-footer .site-below-footer-wrap {
  background-color: #1A2E1C !important;
  padding: 40px 24px 30px !important;
  text-align: center;
  border-top: none !important;
}
/* Only add ::before to the outer wrapper, not inner div */
.ast-builder-layout-element.ast-flex.ast-footer-copyright {
  display: block !important;
  max-width: 1200px;
  margin: 0 auto;
  padding: 0 !important;
  text-align: center;
  color: #C8E6C9 !important;
  font-family: "Nunito", sans-serif !important;
}
.ast-builder-layout-element.ast-flex.ast-footer-copyright::before {
  content: "BRICKONAS";
  display: block;
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.6rem;
  font-weight: 700;
  color: #FFFFFF;
  margin-bottom: 20px;
  visibility: visible !important;
}
/* Remove ::before from inner div to prevent duplicate */
div.ast-footer-copyright:not(.ast-flex)::before {
  content: none !important;
  display: none !important;
}
/* Old CSS content pseudo-elements replaced by JS-injected clickable links */
.ast-builder-layout-element.ast-flex.ast-footer-copyright::after {
  display: none !important;
}
.site-footer .site-below-footer-wrap::after {
  display: none !important;
}
.site-footer::after {
  display: none !important;
}
/* JS-injected footer nav links — HIDDEN (not needed in footer) */
.bk-footer-nav {
  display: none !important;
}
/* JS-injected footer legal links */
.bk-footer-legal {
  text-align: center;
  font-family: "Nunito", sans-serif !important;
  font-size: 0.8rem;
  padding: 16px 24px 12px;
}
.bk-footer-legal a {
  color: rgba(200, 230, 201, 0.7);
  text-decoration: none;
  transition: color 0.3s ease;
}
.bk-footer-legal a:hover {
  color: #FDD835;
}
/* JS-injected footer copyright */
.bk-footer-copy {
  text-align: center;
  font-family: "Nunito", sans-serif !important;
  font-size: 0.75rem;
  color: rgba(200, 230, 201, 0.5);
  padding: 12px 24px 24px;
  border-top: 1px solid rgba(200, 230, 201, 0.15);
  max-width: 800px;
  margin: 0 auto;
}
.site-footer .site-below-footer-wrap {
  background-color: #1A2E1C !important;
  padding: 0 !important;
  border-top: none !important;
}
.site-footer a, .ast-footer-copyright a,
.ast-builder-layout-element a {
  color: #C8E6C9 !important;
}
.site-footer a:hover, .ast-footer-copyright a:hover {
  color: #FDD835 !important;
}
/* Hide footer on Warenkorb page */
.page-id-24 .site-footer {
  display: none !important;
}
/* Footer for non-Elementor pages (Kasse) — CSS pseudo-element fallback */
.page-id-25 .ast-builder-layout-element.ast-flex.ast-footer-copyright::after {
  content: "AGB  ·  Datenschutz  ·  Widerrufsbelehrung  ·  Impressum" !important;
  display: block !important;
  font-family: "Nunito", sans-serif !important;
  font-size: 0.8rem !important;
  color: rgba(200, 230, 201, 0.7) !important;
  padding: 16px 24px 8px !important;
  text-align: center !important;
  visibility: visible !important;
  opacity: 1 !important;
  max-height: none !important;
}
.page-id-25 .site-footer .site-below-footer-wrap::after {
  content: "© 2026 BRICKONAS · LEGO® ist eine eingetragene Marke der LEGO Gruppe." !important;
  display: block !important;
  font-family: "Nunito", sans-serif !important;
  font-size: 0.75rem !important;
  color: rgba(200, 230, 201, 0.5) !important;
  padding: 12px 24px 24px !important;
  text-align: center !important;
  border-top: 1px solid rgba(200, 230, 201, 0.15) !important;
  max-width: 800px !important;
  margin: 0 auto !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* === LINKS === */
a, .entry-content a {
  color: #2E7D32;
  transition: color 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
a:hover, .entry-content a:hover {
  color: #1F5624;
}
/* Ensure button text stays white on hover (overrides link color) */
a.button:hover,
a.add_to_cart_button:hover,
a.product_type_simple:hover,
a.product_type_external:hover,
a.single_add_to_cart_button:hover,
.woocommerce a.button:hover,
.woocommerce a.added_to_cart:hover {
  color: #FFFFFF !important;
}

/* === WOOCOMMERCE PRODUCT CARDS (Archive / Shop) === */
.woocommerce ul.products li.product {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(27, 94, 32, 0.10);
  transition: all 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  border: none;
  background: #FFFFFF;
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 32px rgba(27, 94, 32, 0.18);
}
.woocommerce ul.products li.product a img {
  aspect-ratio: 1;
  object-fit: cover;
  transition: transform 0.5s ease;
  margin-bottom: 0 !important;
}
.woocommerce ul.products li.product:hover a img {
  transform: scale(1.05);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Fredoka", sans-serif !important;
  font-size: 0.95rem !important;
  color: #1A1A1A !important;
  padding: 0 18px !important;
  margin: 6px 0 8px !important;
  line-height: 1.3 !important;
}
.woocommerce ul.products li.product .price {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: #2E7D32 !important;
  padding: 0 18px !important;
  margin-bottom: 14px !important;
}
.woocommerce ul.products li.product .price del {
  color: #999 !important;
  font-size: 0.9rem !important;
}
.woocommerce ul.products li.product .price ins {
  text-decoration: none !important;
}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .add_to_cart_button {
  display: block !important;
  width: calc(100% - 36px) !important;
  margin: 0 18px 20px !important;
  padding: 10px !important;
  background: #2E7D32 !important;
  color: #FFF !important;
  border: none !important;
  border-radius: 10px !important;
  text-align: center !important;
  font-family: "Fredoka", sans-serif !important;
  font-weight: 600 !important;
  font-size: 0.85rem !important;
  transition: background 0.3s !important;
}
.woocommerce ul.products li.product .button:hover {
  background: #1F5624 !important;
  color: #FFFFFF !important;
  transform: none !important;
  box-shadow: none !important;
}
.woocommerce ul.products li.product .star-rating {
  margin: 0 18px 8px !important;
  font-size: 0.8rem !important;
  color: #F9A825 !important;
}

/* Sale Badge */
.woocommerce .onsale, .ast-onsale-card {
  position: absolute !important;
  top: 12px !important;
  left: 12px !important;
  padding: 4px 14px !important;
  background-color: #2E7D32 !important;
  color: #FFFFFF !important;
  border-radius: 50px !important;
  font-family: "Fredoka", sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  z-index: 2 !important;
  min-height: auto !important;
  min-width: auto !important;
  line-height: 1.6 !important;
  margin: 0 !important;
}

/* === WOOCOMMERCE SINGLE PRODUCT PAGE === */
.woocommerce div.product {
  max-width: 1280px;
  margin: 0 auto;
  padding: 40px 24px 80px;
}
/* Old product styles removed — see section 17 for full product page styling */

/* === WOOCOMMERCE CART PAGE (classic, kept for fallback) === */
.woocommerce-cart .woocommerce table.shop_table {
  border: none !important;
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.woocommerce-cart .woocommerce table.shop_table th {
  background: #F5FAF5 !important;
  font-family: "Fredoka", sans-serif !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
  border: none !important;
  padding: 16px 20px !important;
}
.woocommerce-cart .woocommerce table.shop_table td {
  border: none !important;
  border-bottom: 1px solid #E0EFE0 !important;
  padding: 16px 20px !important;
  vertical-align: middle !important;
}
.woocommerce-cart .woocommerce table.shop_table .product-name a {
  font-family: "Fredoka", sans-serif !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
}
.woocommerce-cart .woocommerce table.shop_table .product-name a:hover {
  color: #2E7D32 !important;
}
.woocommerce-cart .woocommerce table.shop_table img {
  border-radius: 12px !important;
  width: 80px !important;
}
.woocommerce-cart .cart_totals {
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.woocommerce-cart .cart_totals h2 {
  font-family: "Fredoka", sans-serif !important;
  color: #1A1A1A !important;
}
.woocommerce-cart .cart_totals table {
  border: none !important;
}
.woocommerce-cart .cart_totals table th,
.woocommerce-cart .cart_totals table td {
  border: none !important;
  border-bottom: 1px solid #E0EFE0 !important;
  padding: 14px 20px !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: #2E7D32 !important;
  color: #FFFFFF !important;
  border-radius: 12px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  padding: 16px 32px !important;
}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button:hover {
  background: #1F5624 !important;
}

/* === WOOCOMMERCE CHECKOUT PAGE === */
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading {
  font-family: "Fredoka", sans-serif !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  font-size: 1.4rem !important;
  margin-bottom: 20px !important;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select {
  border: 2px solid #E0EFE0 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-family: "Nunito", sans-serif !important;
  transition: border-color 0.3s ease !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: #2E7D32 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.1) !important;
}
.woocommerce-checkout .form-row label {
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  color: #2A352B !important;
}
.woocommerce-checkout #order_review {
  border-radius: 16px !important;
  overflow: hidden;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  padding: 24px !important;
  background: #F5FAF5 !important;
}
.woocommerce-checkout #place_order {
  background: #2E7D32 !important;
  color: #FFFFFF !important;
  border-radius: 12px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
  padding: 16px 32px !important;
  width: 100% !important;
  transition: all 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
}
.woocommerce-checkout #place_order:hover {
  background: #1F5624 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 16px rgba(27, 94, 32, 0.14) !important;
}

/* === WOOCOMMERCE NOTICES === */
.woocommerce-message {
  border-top-color: #2E7D32 !important;
  background: #F5FAF5 !important;
  border-radius: 12px !important;
}
.woocommerce-message::before {
  color: #2E7D32 !important;
}
.woocommerce-info {
  border-top-color: #2E7D32 !important;
  background: #F5FAF5 !important;
  border-radius: 12px !important;
}
.woocommerce-error {
  border-top-color: #E53935 !important;
  background: #FFF5F5 !important;
  border-radius: 12px !important;
}

/* === SHOP PAGE HERO === */
/* Remove top padding from container so hero sits flush under header */
.post-type-archive-product .ast-woocommerce-container,
.tax-product_cat .ast-woocommerce-container {
  padding-top: 0 !important;
}
.post-type-archive-product .woocommerce-products-header,
.tax-product_cat .woocommerce-products-header {
  background: linear-gradient(135deg, #2E7D32 0%, #1F5624 100%) !important;
  padding: 60px 24px 50px !important;
  text-align: center;
  margin: 0 -24px 30px !important;
  position: relative;
  overflow: hidden;
  width: calc(100% + 48px);
}
.post-type-archive-product .woocommerce-products-header::before,
.tax-product_cat .woocommerce-products-header::before {
  content: "";
  position: absolute;
  top: -40px;
  left: -40px;
  width: 200px;
  height: 200px;
  background: rgba(255,255,255,0.06);
  border-radius: 24px;
  transform: rotate(15deg);
}
.post-type-archive-product .woocommerce-products-header::after,
.tax-product_cat .woocommerce-products-header::after {
  content: "";
  position: absolute;
  bottom: -30px;
  right: -30px;
  width: 160px;
  height: 160px;
  background: rgba(255,255,255,0.05);
  border-radius: 24px;
  transform: rotate(-10deg);
}
.post-type-archive-product .woocommerce-products-header__title,
.post-type-archive-product .page-title,
.tax-product_cat .page-title {
  color: #FFFFFF !important;
  font-family: "Fredoka", sans-serif !important;
  font-size: 2.8rem !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  position: relative;
  z-index: 1;
}
/* Shop breadcrumb styling */
.post-type-archive-product .woocommerce-breadcrumb,
.tax-product_cat .woocommerce-breadcrumb {
  color: rgba(255,255,255,0.7) !important;
  margin-bottom: 0 !important;
  padding: 8px 0 0 !important;
}
.post-type-archive-product .woocommerce-breadcrumb a,
.tax-product_cat .woocommerce-breadcrumb a {
  color: rgba(255,255,255,0.85) !important;
}
.post-type-archive-product .woocommerce-breadcrumb a:hover,
.tax-product_cat .woocommerce-breadcrumb a:hover {
  color: #FDD835 !important;
}
.post-type-archive-product .ast-woocommerce-container,
.tax-product_cat .ast-woocommerce-container {
  max-width: 1280px;
  padding: 48px 24px 80px;
}
/* Sort and result count bar */
.woocommerce .woocommerce-result-count {
  font-family: "Nunito", sans-serif !important;
  color: #7A9A7C !important;
}
.woocommerce .woocommerce-ordering select {
  font-family: "Nunito", sans-serif !important;
  border: 2px solid #C8E6C9 !important;
  border-radius: 10px !important;
  padding: 8px 12px !important;
  color: #2A352B !important;
  background-color: #FFFFFF !important;
}

/* === PRODUCT IMAGE GALLERY FIX === */
/* Hide gallery thumbnails on archive/shop to show only main image */
.woocommerce ul.products li.product .ast-shop-thumbnail-wrap .astra-shop-gallery-images,
.woocommerce ul.products li.product .astra-shop-gallery-images {
  display: none !important;
}
/* Ensure main product image fills card properly */
.woocommerce ul.products li.product .ast-shop-thumbnail-wrap img.attachment-woocommerce_thumbnail,
.woocommerce ul.products li.product a img,
.woocommerce ul.products li.product .ast-shop-thumbnail-wrap a img {
  width: 100% !important;
  aspect-ratio: 1;
  object-fit: cover;
}

/* === GENERAL POLISH === */
.ast-separate-container .ast-article-single,
.ast-separate-container .comment-respond {
  border-radius: 16px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}

/* Breadcrumbs */
.ast-breadcrumbs, .woocommerce-breadcrumb {
  font-family: "Nunito", sans-serif !important;
  font-size: 0.9rem !important;
  color: #7A9A7C !important;
}
.ast-breadcrumbs a, .woocommerce-breadcrumb a {
  color: #2E7D32 !important;
}

/* Pagination */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  border-radius: 8px !important;
  border: none !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: #2E7D32 !important;
  color: #FFFFFF !important;
}

/* Widget / Sidebar styling */
.widget-title, .wp-block-heading {
  font-family: "Fredoka", sans-serif !important;
}

/* My Account page */
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none;
  padding: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 20px;
  border-radius: 10px;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  color: #2A352B !important;
  transition: all 0.3s ease;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #F5FAF5;
  color: #2E7D32 !important;
}

/* === ELEMENTOR PAGE IMPROVEMENTS === */
/* Hero sections on Elementor pages — decorative shapes */
.elementor-section[data-settings*="2E7D32"],
.elementor-element .elementor-container {
  position: relative;
}
/* Section spacing consistency */
.elementor-section-wrap .elementor-section {
  margin-bottom: 0 !important;
}

/* === ACCESSIBILITY WIDGET OVERRIDE === */
/* Don't apply green button styling to accessibility toolbar */
#pojo-a11y-toolbar *,
.pojo-a11y-toolbar-overlay * {
  font-family: inherit !important;
  border-radius: initial !important;
  padding: initial !important;
  background-color: initial !important;
  color: initial !important;
}
/* Accessibility toggle button */
.pojo-a11y-toolbar-toggle {
  background: #2E7D32 !important;
  border-radius: 50% !important;
}

/* === MOBILE RESPONSIVENESS === */
@media (max-width: 768px) {
  /* Tighter padding on mobile */
  .elementor-section .elementor-container {
    padding: 0 16px;
  }
  /* Stack hero feature cards */
  .elementor-widget-wrap {
    gap: 12px;
  }
  /* Smaller headings on mobile */
  .elementor-heading-title {
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
  }
  /* Product grid: 2 cols on tablet AND mobile (mobile-commerce best practice) */
  .woocommerce ul.products[class*="columns-4"] {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 480px) {
  .woocommerce ul.products[class*="columns-"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .post-type-archive-product .woocommerce-products-header__title,
  .post-type-archive-product .page-title {
    font-size: 2rem !important;
  }
}

/* === GERMAN MARKET LIGHT PLUGIN TWEAKS === */
/* Tax info text under prices */
.woocommerce ul.products li.product .wgm-info,
.woocommerce ul.products li.product .woocommerce-price-suffix {
  font-size: 0.75rem !important;
  color: #7A9A7C !important;
  font-family: "Nunito", sans-serif !important;
  padding: 0 18px !important;
}

/* === MOSAIC CONFIGURATOR IFRAME FIX === */
#mosaic-iframe {
  min-height: 600px !important;
  overflow: visible !important;
}

/* === MOSAIC PAGE — HERO SECTION (match other pages: 80px padding, centered content) === */



/* === MOSAIC PAGE — FULL-WIDTH GREEN BACKGROUND === */
.page-id-264 {
  background-color: var(--bk-off-white, #F5FAF5) !important;
}


.page-id-264 #mosaic-iframe {
  min-height: 450px !important;
}

/* === CONTACT PAGE — HIDE CF7 PLACEHOLDER WARNING === */
.page-id-259 p[style*="FFF9C4"],
.page-id-259 p[style*="fff9c4"] {
  display: none !important;
}

/* === SHOP PAGE — CATEGORY TEXT STYLING === */
.woocommerce ul.products li.product .ast-woo-product-category {
  font-family: "Nunito", sans-serif !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: 1px !important;
  color: #2E7D32 !important;
  margin-bottom: 4px !important;
  display: block;
}

/* === SHOP PAGE — TAX INFO TEXT REFINEMENT === */
.woocommerce ul.products li.product .wgm-info,
.woocommerce ul.products li.product .woocommerce-price-suffix,
.woocommerce ul.products li.product .tax-included-info,
.woocommerce ul.products li.product .price ~ small,
.woocommerce ul.products li.product .ast-woo-product-gallery-wrapper ~ .wgm-info {
  font-size: 0.7rem !important;
  color: #999 !important;
  font-family: "Nunito", sans-serif !important;
  padding: 0 18px !important;
  line-height: 1.4 !important;
}

/* === SHOP PAGE — PRODUCT CARD IMPROVEMENTS === */
/* Ensure consistent card heights and better spacing */
.woocommerce ul.products li.product {
  display: flex;
  flex-direction: column;
  padding-bottom: 0 !important;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a img {
  width: 100% !important;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}
/* Product title padding and spacing */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
  padding: 8px 18px 0 !important;
  margin-bottom: 6px !important;
}

/* === BREADCRUMB — CONSISTENT COLORS === */
/* Fix gold breadcrumb current page text on hero sections — use white instead */
span[style*="color: #FDD835"],
span[style*="color:#FDD835"] {
  color: #FFFFFF !important;
  opacity: 0.85;
}

/* === SECTION SPACING CONSISTENCY === */
/* Ensure consistent vertical spacing between Elementor sections */
.elementor-page .elementor-section {
  margin-bottom: 0 !important;
}
/* Better top spacing for content after hero sections */
.elementor-page .elementor-section:nth-child(2) {
  padding-top: 60px;
}

/* === HERO SECTION LINK TRANSITIONS === */
.elementor-widget-container a {
  transition: color 0.3s ease;
}

/* === HOMEPAGE PRODUCT CARDS — GALLERY THUMBNAIL FIX === */
/* Hide gallery thumbnails in Astra's WooCommerce product grid on all pages */
.astra-shop-gallery-images,
.ast-shop-gallery-images {
  display: none !important;
}

/* === INSTAGRAM BUTTON STYLING === */
.bk-instagram-btn:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 15px rgba(225, 48, 108, 0.4) !important;
  opacity: 0.95 !important;
}
/* Footer Instagram icon */
.bk-footer-social {
  margin-top: 6px;
  padding-bottom: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
.bk-footer-social a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: rgba(255,255,255,0.7) !important;
  text-decoration: none !important;
  font-size: 0.85rem;
  transition: color 0.25s ease;
}
.bk-footer-social a:hover {
  color: #FFFFFF !important;
}
.bk-footer-social svg {
  opacity: 0.7;
  transition: opacity 0.25s ease;
}
.bk-footer-social a:hover svg {
  opacity: 1;
}

/* === PRODUCT SINGLE PAGE — CONSISTENCY === */
/* Fix product tab underline not showing */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  padding: 0 !important;
}

/* === FOOTER MOBILE FIX === */
@media (max-width: 768px) {
  .site-footer .site-below-footer-wrap {
    padding: 30px 16px 20px !important;
  }
  .ast-builder-layout-element.ast-flex.ast-footer-copyright::after {
    font-size: 0.8rem;
    line-height: 1.8;
  }
  .site-footer::after {
    font-size: 0.7rem !important;
    padding: 10px 16px 20px !important;
  }
}

/* === MOBILE PRODUCT GRID FIX === */
@media (max-width: 768px) {
  .woocommerce ul.products {
    gap: 16px !important;
  }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 0.85rem !important;
    padding: 6px 12px 0 !important;
  }
  .woocommerce ul.products li.product .price {
    padding: 0 12px !important;
    font-size: 1rem !important;
  }
  .woocommerce ul.products li.product .button,
  .woocommerce ul.products li.product .add_to_cart_button {
    width: calc(100% - 24px) !important;
    margin: 0 12px 14px !important;
    font-size: 0.8rem !important;
    padding: 8px !important;
  }
}

/* === GENERAL PAGE TITLE CONSISTENCY === */
/* Ensure Elementor page hero headings use Fredoka */
.elementor-widget-heading .elementor-heading-title {
  font-family: "Fredoka", sans-serif !important;
}

/* === HOME HERO TEXT STYLING === */
/* Hero heading uses Elementor heading widget (smj5ph45) with Fredoka font */


/* === KREATIVE PAKETE — WOO PRODUCT GRID ON PAGE === */
/* Style the product grid within the Kreative Pakete page consistently */
.page-id-405 .woocommerce ul.products li.product {
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 16px rgba(27, 94, 32, 0.10);
  background: #FFFFFF;
}

html {
  scroll-behavior: smooth;
}

/* === GALLERY THUMBNAILS — STRONGER HIDE === */
/* Multiple gallery thumbnail selectors for absolute certainty */
.woocommerce ul.products li.product .ast-shop-thumbnail-wrap .astra-shop-gallery-images,
.woocommerce ul.products li.product .astra-shop-gallery-images,
.woocommerce ul.products li.product .ast-shop-gallery-images,
ul.products .astra-shop-gallery-images,
ul.products .ast-shop-gallery-images,
.astra-shop-gallery-images,
.ast-shop-gallery-images {
  display: none !important;
  height: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
}
/* Ensure only one image per product card */
.woocommerce ul.products li.product .ast-shop-thumbnail-wrap {
  overflow: hidden;
}
.woocommerce ul.products li.product .ast-shop-thumbnail-wrap a {
  display: block;
}
.woocommerce ul.products li.product .ast-shop-thumbnail-wrap a img:first-child {
  width: 100% !important;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}

/* === HOMEPAGE — PRODUCT CARD IMAGE FIX === */
/* Specifically target the homepage product grid to ensure single image display */
.page-id-411 .woocommerce ul.products li.product img.attachment-woocommerce_thumbnail,
.page-id-411 .woocommerce ul.products li.product .ast-shop-thumbnail-wrap a img {
  width: 100% !important;
  aspect-ratio: 1;
  object-fit: cover;
  display: block;
}

/* === SHOP PAGE (WOO ARCHIVE) — BOTTOM ROW CENTERING === */
/* Center the last row of products when it has fewer items */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
}
@media (max-width: 1024px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (max-width: 640px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* === KONTAKT PAGE — SOCIAL MEDIA ICON IMPROVEMENTS === */
/* Make the social media abbreviations look better as icons */
.page-id-259 .elementor-widget-container span[style*="border-radius"] {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 44px !important;
  height: 44px !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  background: #2E7D32 !important;
  color: #FFFFFF !important;
  border-radius: 50% !important;
  transition: all 0.3s ease;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.page-id-259 .elementor-widget-container span[style*="border-radius"]:hover {
  background: #1F5624 !important;
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(27, 94, 32, 0.2);
}

/* === HOME PAGE — TALLER HERO SECTION === */
.home .bk-hero {
  min-height: 550px !important;
  padding: 100px 0 80px !important;
}

/* === LEGAL PAGES — CONSISTENT HERO HEIGHT === */
/* Ensure all legal pages (AGB, Datenschutz, Impressum, Widerrufsbelehrung) have consistent hero */
.page-id-395 .bk-hero,
.page-id-397 .bk-hero,
.page-id-398 .bk-hero,
.page-id-399 .bk-hero {
  padding: 80px 0 40px !important;
  text-align: center !important;
}
.page-id-395 .bk-hero .elementor-heading-title,
.page-id-397 .bk-hero .elementor-heading-title,
.page-id-398 .bk-hero .elementor-heading-title,
.page-id-399 .bk-hero .elementor-heading-title {
  text-align: center !important;
}
.page-id-395 .bk-hero .elementor-widget-text-editor,
.page-id-397 .bk-hero .elementor-widget-text-editor,
.page-id-398 .bk-hero .elementor-widget-text-editor,
.page-id-399 .bk-hero .elementor-widget-text-editor {
  text-align: center !important;
}

/* === WOO TAX INFO — CLEANER DISPLAY === */
.woocommerce ul.products li.product .wgm-info,
.woocommerce ul.products li.product .woocommerce-price-suffix {
  font-size: 0.7rem !important;
  color: #999 !important;
  line-height: 1.4 !important;
}

/* === LOADING / TRANSITION POLISH === */
/* Smooth product card appearance */
.woocommerce ul.products li.product,
.bk-product-card {
  opacity: 1;
  transition: all 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55), opacity 0.3s ease;
}

/* === FILTER TABS — BETTER HOVER FEEDBACK === */
.bk-tab {
  user-select: none;
  -webkit-user-select: none;
}
.bk-tab-inactive:hover {
  background: #C8E6C9 !important;
  transform: translateY(-1px);
}
.bk-tab-active {
  box-shadow: 0 2px 8px rgba(46, 125, 50, 0.25);
}

/* === NEWSLETTER SECTION — INPUT FIELD STYLING === */
/* Style the newsletter email input to match the site theme */
.elementor-form .elementor-field-type-email input,
input[type="email"].elementor-field {
  border: 2px solid #C8E6C9 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-family: "Nunito", sans-serif !important;
  transition: border-color 0.3s ease;
}
.elementor-form .elementor-field-type-email input:focus,
input[type="email"].elementor-field:focus {
  border-color: #2E7D32 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.1) !important;
}

/* === 1. HIDE LOGO IMAGE (keep site title + tagline) === */
.ast-site-identity .site-logo-img {
  display: none !important;
}

/* === 2. SHOPPING CART ICON IN NAV (menu item #384) === */
/* Target both #id (desktop) and .class (mobile — Astra duplicates menu without IDs).
   Hide raw emoji text AND img immediately to prevent flash on page load.
   WP emoji JS converts emoji text to img after initial render,
   so we must hide the raw text (font-size:0) AND the img.
   NOTE: No child combinator (&gt;) — WP encodes &gt; as &gt; in style tags. */
#menu-item-384 a.menu-link,
.menu-item-384 a.menu-link {
  font-size: 0 !important;
  color: transparent !important;
  padding-left: 8px !important;
  padding-right: 0 !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
}
#menu-item-384 .menu-link:hover,
.menu-item-384 .menu-link:hover {
  opacity: 0.7;
}
/* Always hide the emoji img (whether or not JS has enhanced the item) */
#menu-item-384 .menu-link img.emoji,
.menu-item-384 .menu-link img.emoji {
  display: none !important;
}
/* SVG cart icon via ::before — shown on ALL pages as baseline,
   removed when JS enhancement adds .bk-cart-item class */
#menu-item-384:not(.bk-cart-item) a.menu-link::before,
.menu-item-384:not(.bk-cart-item) a.menu-link::before {
  content: '';
  display: block;
  width: 22px;
  height: 22px;
  flex-shrink: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='22' height='22' viewBox='0 0 24 24' fill='none' stroke='%23333' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='21' r='1'/%3E%3Ccircle cx='20' cy='21' r='1'/%3E%3Cpath d='M1 1h4l2.68 13.39a2 2 0 0 0 2 1.61h9.72a2 2 0 0 0 2-1.61L23 6H6'/%3E%3C/svg%3E");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}
/* When JS has enhanced the cart item, restore font-size for child elements */
#menu-item-384.bk-cart-item a.menu-link,
.menu-item-384.bk-cart-item a.menu-link {
  font-size: 1rem !important;
  color: inherit !important;
}

/* === 6. SHOP PAGE — HIDE DUPLICATE ON-CARD CART BUTTON === */
.woocommerce ul.products li.product .ast-on-card-button {
  display: none !important;
}

/* === 6/7. SHOP PAGE — CATEGORY &amp; TAX PADDING FIX === */
.woocommerce ul.products li.product .ast-woo-product-category {
  padding: 8px 18px 0 !important;
  margin-bottom: 2px !important;
}
.woocommerce ul.products li.product .wgm-info {
  padding: 0 18px !important;
  margin: 0 !important;
  font-size: 0.72rem !important;
  line-height: 1.5 !important;
}

/* === 7. SHOP &amp; KREATIVE PAKETE — BOTTOM ALIGNMENT === */
.woocommerce ul.products li.product .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
  padding-bottom: 0 !important;
}
/* Push price+tax+button cluster to bottom (gap goes between title and price) */
.woocommerce ul.products li.product .astra-shop-summary-wrap .price {
  margin-top: auto !important;
}

/* === 8. STORE PAGE — ÖFFNUNGSZEITEN TABLE PADDING === */
.page-id-258 table {
  max-width: 500px !important;
}
.page-id-258 table td {
  padding: 12px 16px !important;
}

/* === 9. KONTAKT PAGE — BETREFF SELECT DROPDOWN FIX === */
.page-id-259 select,
.bk-form select {
  height: auto !important;
  min-height: 48px !important;
  padding: 12px 40px 12px 16px !important;
  font-size: 0.95rem !important;
  font-family: "Nunito", sans-serif !important;
  color: #4A5D4C !important;
  background-color: #F5FAF5 !important;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%234A5D4C' d='M1.41 0L6 4.58 10.59 0 12 1.41l-6 6-6-6z'/%3E%3C/svg%3E") !important;
  background-repeat: no-repeat !important;
  background-position: right 16px center !important;
  background-size: 12px !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  appearance: none !important;
  border: 2px solid #E0EFE0 !important;
  border-radius: 10px !important;
  cursor: pointer !important;
  line-height: 1.4 !important;
  width: 100% !important;
}
.page-id-259 select:focus,
.bk-form select:focus {
  border-color: #2E7D32 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.1) !important;
}
/* Style the selected option text to be visible */
.page-id-259 select option,
.bk-form select option {
  padding: 10px 16px !important;
  color: #2A352B !important;
  background: #fff !important;
}

/* =====================================================
   DESIGN CONSISTENCY OVERHAUL — v3 (2026-03-05)
   Fixes: filter tab colors, Events Calendar plugin,
   homepage polish, section hierarchy, global alignment
   ===================================================== */

/* === FILTER TABS — GLOBAL CONSISTENT STYLING === */
/* Active tab: green bg + WHITE text (was dark text on Shop) */
.bk-tab-active,
.bk-tab.bk-tab-active {
  background-color: #2E7D32 !important;
  color: #FFFFFF !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 8px 20px !important;
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(46, 125, 50, 0.25);
  transition: all 0.3s ease;
}
/* Inactive tab: light green bg + green text */
.bk-tab-inactive,
.bk-tab.bk-tab-inactive {
  background-color: #E0EFE0 !important;
  color: #2E7D32 !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  border: none !important;
  border-radius: 20px !important;
  padding: 8px 20px !important;
  cursor: pointer;
  transition: all 0.3s ease;
}
.bk-tab-inactive:hover,
.bk-tab.bk-tab-inactive:hover {
  background-color: #C8E6C9 !important;
  color: #1F5624 !important;
  transform: translateY(-1px);
}

/* === THE EVENTS CALENDAR PLUGIN — OVERRIDE BLUE TO GREEN === */
/* Main search button */
.tribe-common-c-btn.tribe-events-c-search__button,
.tribe-common .tribe-common-c-btn {
  background-color: #2E7D32 !important;
  color: #FFFFFF !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  transition: background-color 0.3s ease !important;
}
.tribe-common-c-btn.tribe-events-c-search__button:hover,
.tribe-common .tribe-common-c-btn:hover {
  background-color: #1F5624 !important;
}
/* Subscribe/calendar button (outline style) */
.tribe-common-c-btn-border,
.tribe-events-c-subscribe-dropdown__button {
  border-color: #2E7D32 !important;
  color: #2E7D32 !important;
  border-radius: 12px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  transition: all 0.3s ease !important;
}
.tribe-common-c-btn-border:hover,
.tribe-events-c-subscribe-dropdown__button:hover {
  background-color: #2E7D32 !important;
  color: #FFFFFF !important;
}
/* Events Calendar links and accents */
.tribe-common a,
.tribe-events a {
  color: #2E7D32 !important;
}
.tribe-common a:hover,
.tribe-events a:hover {
  color: #1F5624 !important;
}
/* Events Calendar view selector underline */
.tribe-events-c-view-selector__button:after,
.tribe-events-c-view-selector__button--active:after {
  background-color: #2E7D32 !important;
}
/* Subscribe dropdown list items */
.tribe-events-c-subscribe-dropdown__list-item a {
  color: #2E7D32 !important;
}
.tribe-events-c-subscribe-dropdown__list-item a:hover {
  color: #1F5624 !important;
  background-color: #F5FAF5 !important;
}
/* Today button */
.tribe-events-c-top-bar__today-button {
  border-color: #C8E6C9 !important;
  color: #2E7D32 !important;
  font-family: "Nunito", sans-serif !important;
  border-radius: 8px !important;
}
.tribe-events-c-top-bar__today-button:hover {
  background-color: #F5FAF5 !important;
}
/* Events Calendar notice/empty state */
.tribe-events-c-messages__message {
  background-color: #F5FAF5 !important;
  border-left: 4px solid #2E7D32 !important;
  border-radius: 8px !important;
  font-family: "Nunito", sans-serif !important;
}
/* Events Calendar hero area */
.tribe-events-header {
  font-family: "Fredoka", sans-serif !important;
}
/* Override any remaining blue focus/active states */
.tribe-common .tribe-common-c-btn:focus,
.tribe-common .tribe-common-c-btn:active,
.tribe-common-c-btn-border:focus {
  outline-color: #2E7D32 !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.2) !important;
}

/* === HOMEPAGE — IMPROVED VISUAL HIERARCHY === */
/* Hero buttons (container 25h3of70) — white with green text, high contrast */


/* Default green for all other buttons on Home page */
.page-id-411 .elementor-button {
  border-radius: 14px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
  transition: all 0.35s ease !important;
}

/* Section label badges — consistent pill styling */
.elementor-widget-text-editor span[style*="letter-spacing"],
.elementor-widget-container span[style*="border-radius"][style*="padding"] {
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: 1.5px !important;
}

/* Trust badge row — better card styling */
.page-id-411 .elementor-icon-box-wrapper {
  transition: transform 0.3s ease;
}
.page-id-411 .elementor-icon-box-wrapper:hover {
  transform: translateY(-3px);
}

/* Alternating section backgrounds for better hierarchy on homepage */
/* White sections between the green-tinted ones need visual separation */
.page-id-411 .e-con,
.page-id-411 .elementor-section {
  position: relative;
}

/* === HOMEPAGE — PRODUCT GALLERY THUMBNAILS FIX (STRONGER) === */
/* Force single image on homepage product cards */
.page-id-411 .woocommerce ul.products li.product .ast-shop-thumbnail-wrap {
  overflow: hidden !important;
}
.page-id-411 .woocommerce ul.products li.product .ast-shop-thumbnail-wrap .astra-shop-gallery-images,
.page-id-411 .woocommerce ul.products li.product .ast-shop-gallery-images,
.page-id-411 .astra-shop-gallery-images,
.page-id-411 .ast-shop-gallery-images {
  display: none !important;
  height: 0 !important;
  width: 0 !important;
  overflow: hidden !important;
  visibility: hidden !important;
  position: absolute !important;
  pointer-events: none !important;
  opacity: 0 !important;
  max-height: 0 !important;
}
/* Ensure single main image fills the card */
.page-id-411 .woocommerce ul.products li.product .ast-shop-thumbnail-wrap a {
  display: block !important;
}
.page-id-411 .woocommerce ul.products li.product .ast-shop-thumbnail-wrap a img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 1 !important;
  object-fit: cover !important;
  display: block !important;
}
/* Hide any secondary images in the thumbnail wrapper */
.page-id-411 .woocommerce ul.products li.product .ast-shop-thumbnail-wrap a img:not(:first-child) {
  display: none !important;
}

/* === SECTION BADGE CONSISTENCY === */
/* All section label badges (BESTSELLER, UNSERE EVENTS, etc.) — uniform style */
.bk-badge,
span[style*="E0EFE0"][style*="border-radius"],
span[style*="C8E6C9"][style*="border-radius"] {
  display: inline-block;
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  font-size: 0.75rem !important;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  color: #2E7D32 !important;
  background-color: #E0EFE0 !important;
  padding: 6px 16px !important;
  border-radius: 20px !important;
}

/* === CARD DESIGN — UNIFIED ACROSS ALL PAGES === */
/* Ensure consistent card styling everywhere */
.bk-product-card,
.bk-feature-card,
.bk-event-card {
  background: #FFFFFF;
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 2px 12px rgba(27, 94, 32, 0.08);
  transition: all 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  border: 1px solid #E0EFE0;
}
.bk-product-card:hover,
.bk-feature-card:hover,
.bk-event-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 28px rgba(27, 94, 32, 0.14);
}

/* === BREADCRUMB — UNIFIED ACROSS ALL PAGES === */
/* All hero breadcrumbs should use same color scheme */
.bk-hero .bk-breadcrumb,
.bk-hero nav,
.elementor-section[data-settings] .bk-breadcrumb {
  color: rgba(255, 255, 255, 0.7) !important;
}
.bk-hero .bk-breadcrumb a,
.bk-hero nav a {
  color: rgba(255, 255, 255, 0.85) !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.bk-hero .bk-breadcrumb a:hover,
.bk-hero nav a:hover {
  color: #FFFFFF !important;
}

/* === CTA SECTION — CONSISTENT BUTTON STYLES === */
/* Primary CTA: yellow/gold button */
.bk-cta .elementor-button[style*="FDD835"],
a[style*="FDD835"],
span[style*="FDD835"] {
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  border-radius: 12px !important;
}
/* Ghost/outline CTA button on dark backgrounds */
.bk-cta .elementor-button[style*="transparent"] {
  border-radius: 12px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 600 !important;
}

/* === HOMEPAGE — NEWSLETTER SECTION POLISH === */
/* Make the newsletter section stand out more */
.page-id-411 .elementor-form .elementor-field-group {
  margin-bottom: 0 !important;
}

/* === GLOBAL TEXT COLOR CONSISTENCY === */
/* Ensure body text is consistently #4A5D4C across all pages */
.elementor-widget-text-editor,
.elementor-widget-text-editor p,
.entry-content p {
  color: #4A5D4C;
  font-family: "Nunito", sans-serif;
  line-height: 1.7;
}
/* Headings are consistently near-black */
.elementor-heading-title,
.entry-content h1,
.entry-content h2,
.entry-content h3,
.entry-content h4 {
  color: #1A1A1A;
  font-family: "Fredoka", sans-serif !important;
}

/* === PAGE-SPECIFIC OVERRIDES WHERE NEEDED === */
/* Events page (/events/) — full green theme override */
.post-type-archive-tribe_events .tribe-common,
.tribe-events .tribe-common {
  --tec-color-accent-primary: #2E7D32;
  --tec-color-accent-primary-hover: #1F5624;
  --tec-color-link-primary: #2E7D32;
  --tec-color-link-accent: #1F5624;
  --tec-color-background-secondary: #F5FAF5;
}

/* === FOCUS/ACTIVE STATES — GREEN EVERYWHERE === */
/* Override any default blue focus rings across the site */
*:focus-visible {
  outline-color: #2E7D32 !important;
}
input:focus, textarea:focus, select:focus {
  border-color: #2E7D32 !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.1) !important;
}
::selection {
  background-color: #C8E6C9;
  color: #1A1A1A;
}

/* === LINK CONSISTENCY — NO RANDOM BLUES === */
/* Catch any default browser-blue links that might slip through */
/* IMPORTANT: exclude links inside hero sections with green backgrounds */
/* and links that have explicit inline color styles */
.entry-content a:not(.button):not(.elementor-button):not(.bk-biz-btn):not(.bk-seg):not(.bk-biz-contact):not(.bk-biz-lnk):not(.bk-aud-btn):not(.bk-tab):not([style*="color"]):not(.wc-block-components-button):not(.wc-block-cart__submit-button):not(.wc-block-components-checkout-place-order-button):not(.bk-mc-btn):not(.wp-block-button__link),
.ast-article-single a:not(.button):not(.bk-biz-btn):not(.bk-seg):not(.bk-biz-contact):not(.bk-biz-lnk):not(.bk-aud-btn):not([style*="color"]):not(.wc-block-components-button):not(.wp-block-button__link) {
  color: #2E7D32 !important;
  text-decoration-color: #C8E6C9;
  text-underline-offset: 2px;
  transition: color 0.3s ease, text-decoration-color 0.3s ease;
}
.entry-content a:not(.button):not(.elementor-button):not(.bk-biz-btn):not(.bk-seg):not(.bk-biz-contact):not(.bk-biz-lnk):not(.bk-aud-btn):not(.bk-tab):not([style*="color"]):not(.wc-block-components-button):not(.wc-block-cart__submit-button):not(.wc-block-components-checkout-place-order-button):not(.wp-block-button__link):hover,
.ast-article-single a:not(.button):not(.bk-biz-btn):not(.bk-seg):not(.bk-biz-contact):not(.bk-biz-lnk):not(.bk-aud-btn):not([style*="color"]):not(.wc-block-components-button):not(.wp-block-button__link):hover {
  color: #1F5624 !important;
  text-decoration-color: #1F5624;
}
/* Links inside white/light background text widgets get green */
.elementor-widget-text-editor a:not([style*="color"]) {
  color: #2E7D32;
  transition: color 0.3s ease;
}
.elementor-widget-text-editor a:not([style*="color"]):hover {
  color: #1F5624;
}
/* Preserve inline color on links (hero breadcrumbs, CTA sections, etc.) */
.elementor-widget-text-editor a[style*="color"] {
  transition: opacity 0.3s ease;
}
.elementor-widget-text-editor a[style*="color"]:hover {
  opacity: 0.85;
}

/* === HOMEPAGE — CATEGORY CARDS (Was suchst du?) POLISH === */
/* The 4 navigation cards with emojis and green gradient */
.page-id-411 .e-con[style*="border-radius"] {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.page-id-411 .e-con[style*="border-radius"]:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(27, 94, 32, 0.2);
}

/* === GLOBAL SCROLLBAR STYLING === */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  background: #F5FAF5;
}
::-webkit-scrollbar-thumb {
  background: #C8E6C9;
  border-radius: 4px;
}
::-webkit-scrollbar-thumb:hover {
  background: #2E7D32;
}

/* ================================================================
   PHASE 1: HOVER EFFECTS &amp; MICRO-INTERACTIONS
   ================================================================ */

/* ── Hero glassmorphism button hover ── */
.elementor-widget-html a[style*="backdrop-filter"] {
  transition: all 0.3s ease !important;
}
.elementor-widget-html a[style*="backdrop-filter"]:hover {
  background: rgba(255,255,255,0.25) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 16px rgba(0,0,0,0.15) !important;
}

/* ── Homepage bestseller cards (inside HTML widget) ── */
.elementor-widget-html div[style*="border-radius:16px"][style*="border:1px"],
.elementor-widget-html .kp-product-card {
  transition: all 0.35s cubic-bezier(0.68, -0.55, 0.265, 1.55) !important;
}
.elementor-widget-html div[style*="border-radius:16px"][style*="border:1px"]:hover,
.elementor-widget-html .kp-product-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 32px rgba(27, 94, 32, 0.18) !important;
}

/* ── Homepage category cards (Was suchst du?) ── */
.elementor-widget-html a[style*="aspect-ratio"] {
  transition: all 0.35s ease !important;
}
.elementor-widget-html a[style*="aspect-ratio"]:hover {
  transform: scale(1.03) !important;
}
.elementor-widget-html a[style*="aspect-ratio"]:hover div[style*="background:linear-gradient"] {
  opacity: 0.85 !important;
}

/* ── Feature bar cards (Schneller Versand, etc.) ── */
.elementor-widget-html div[style*="border-radius:16px"][style*="padding:20px"] {
  transition: all 0.3s ease !important;
}
.elementor-widget-html div[style*="border-radius:16px"][style*="padding:20px"]:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 4px 16px rgba(27, 94, 32, 0.12) !important;
}

/* ── Benefit / birthday / testimonial cards ── */
.elementor-widget-html div[style*="border-radius:20px"][style*="box-shadow"] {
  transition: all 0.35s ease !important;
}
.elementor-widget-html div[style*="border-radius:20px"][style*="box-shadow"]:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(27, 94, 32, 0.15) !important;
}

/* ── Elementor button active (press) state ── */
.elementor-button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 8px rgba(27, 94, 32, 0.15) !important;
}

/* ── Image zoom on hover inside cards ── */
.elementor-widget-html div[style*="aspect-ratio"] img,
.elementor-widget-html div[style*="overflow:hidden"] img {
  transition: transform 0.4s ease !important;
}
.elementor-widget-html div[style*="aspect-ratio"]:hover img,
.elementor-widget-html div[style*="overflow:hidden"]:hover img {
  transform: scale(1.05) !important;
}

/* ── Kreative Pakete product card hover (cards have inline transition but no :hover) ── */
.kp-product-card:hover {
  transform: translateY(-6px) !important;
  box-shadow: 0 8px 32px rgba(27, 94, 32, 0.18) !important;
}
.kp-product-card:hover img {
  transform: scale(1.05) !important;
}

/* ── Scroll-to-top button ── */
.bk-scroll-top {
  position: fixed;
  bottom: 80px;
  right: 24px;
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #2E7D32;
  color: #fff;
  border: none;
  cursor: pointer;
  font-size: 1.3rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.15);
  opacity: 0;
  visibility: hidden;
  transition: all 0.3s ease;
  z-index: 999;
  display: flex;
  align-items: center;
  justify-content: center;
}
.bk-scroll-top.visible {
  opacity: 1;
  visibility: visible;
}
.bk-scroll-top:hover {
  background: #1F5624;
  transform: translateY(-3px);
  box-shadow: 0 4px 16px rgba(27, 94, 32, 0.3);
}

/* ================================================================
   PHASE 2: SCROLL-TRIGGERED ANIMATIONS
   ================================================================ */

/* ── Section entrance animation ── */
.bk-animate {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.6s ease, transform 0.6s ease;
}
.bk-animate.bk-visible {
  opacity: 1 !important;
  transform: translateY(0) !important;
}

/* ── Staggered card entrance (children of visible sections) ── */
.bk-animate.bk-visible .bk-stagger {
  opacity: 0;
  animation: bounceIn 0.6s ease forwards;
}
.bk-animate.bk-visible .bk-stagger:nth-child(1) { animation-delay: 0.1s; }
.bk-animate.bk-visible .bk-stagger:nth-child(2) { animation-delay: 0.2s; }
.bk-animate.bk-visible .bk-stagger:nth-child(3) { animation-delay: 0.3s; }
.bk-animate.bk-visible .bk-stagger:nth-child(4) { animation-delay: 0.4s; }
.bk-animate.bk-visible .bk-stagger:nth-child(5) { animation-delay: 0.5s; }
.bk-animate.bk-visible .bk-stagger:nth-child(6) { animation-delay: 0.6s; }

@keyframes bounceIn {
  0% { opacity: 0; transform: scale(0.9) translateY(20px); }
  60% { opacity: 1; transform: scale(1.02) translateY(-4px); }
  100% { opacity: 1; transform: scale(1) translateY(0); }
}

@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(30px); }
  to { opacity: 1; transform: translateY(0); }
}

/* ── Floating animation for hero badges ── */
@keyframes bkFloat {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}
.bk-float {
  animation: bkFloat 3s ease-in-out infinite;
}
.bk-float-delay {
  animation: bkFloat 3s ease-in-out 1.5s infinite;
}

/* ── Reduce motion for accessibility ── */
@media (prefers-reduced-motion: reduce) {
  .bk-animate {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
  .bk-animate.bk-visible .bk-stagger {
    animation: none !important;
    opacity: 1 !important;
  }
  .bk-float, .bk-float-delay {
    animation: none !important;
  }
}

/* ================================================================
   PHASE 3: HERO SECTION POLISH
   ================================================================ */

/* ── Hero gradient overlay (fallback if Elementor gradient isn't set) ── */
.e-con.bk-hero-gradient {
  background: linear-gradient(135deg, #2A6B30 0%, #236B2A 50%, #1F5624 100%) !important;
  position: relative;
  overflow: hidden;
}

/* ── Hero decorative geometric shapes ── */
.e-con.bk-hero-gradient::before {
  content: '';
  position: absolute;
  top: -30px;
  right: 10%;
  width: 120px;
  height: 120px;
  background: rgba(255, 255, 255, 0.04);
  border-radius: 16px;
  transform: rotate(15deg);
  pointer-events: none;
  z-index: 0;
}
.e-con.bk-hero-gradient::after {
  content: '';
  position: absolute;
  bottom: -20px;
  left: 5%;
  width: 90px;
  height: 90px;
  background: rgba(255, 255, 255, 0.03);
  border-radius: 16px;
  transform: rotate(-10deg);
  pointer-events: none;
  z-index: 0;
}

/* ── Event cards hover effects ── */
.bk-event-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 8px 28px rgba(27, 94, 32, 0.2) !important;
}
.bk-event-card:hover img {
  transform: scale(1.05);
}

/* ── Benefit cards hover effects ── */
.bk-benefit-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 20px rgba(27, 94, 32, 0.12);
  border-color: #C8E6C9 !important;
}

/* ── Shop product grid last row centering ── */
.woocommerce ul.products {
  justify-content: center !important;
}

/* ================================================================
   PHASE 5: HOME HERO FLOATING BADGES
   ================================================================ */

/* ── Badge containers (positioned absolute inside hero) ── */
.bk-hero-badge {
  position: absolute;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(255, 255, 255, 0.15);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 14px;
  color: #fff;
  font-family: Nunito, sans-serif;
  font-size: 0.85rem;
  font-weight: 700;
  z-index: 2;
  pointer-events: none;
  white-space: nowrap;
}
.bk-hero-badge span.bk-badge-icon {
  font-size: 1.2rem;
  line-height: 1;
}

/* Make the widget wrapper span the full hero for absolute badge positioning */
.e-con.bk-hero-gradient .elementor-widget:has(.bk-hero-badge) {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 2;
  margin: 0 !important;
  padding: 0 !important;
}

/* Badge positions */
.bk-badge-top {
  top: 28px;
  right: 6%;
  animation: bkFloat 3s ease-in-out infinite;
}
.bk-badge-bottom {
  bottom: 36px;
  right: 12%;
  animation: bkFloat 3s ease-in-out 1.5s infinite;
}

/* ================================================================
   PHASE 6: RESPONSIVE FINE-TUNING
   ================================================================ */

/* ── Tablet (max 1024px) ── */
@media (max-width: 1024px) {
  /* Reduce hero padding */
  .e-con.bk-hero-gradient {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Hide floating badges on tablet — too crowded */
  .bk-hero-badge {
    display: none;
  }
  /* Reduce decorative shapes */
  .e-con.bk-hero-gradient::before {
    width: 80px;
    height: 80px;
  }
  .e-con.bk-hero-gradient::after {
    width: 60px;
    height: 60px;
  }
}

/* ── Mobile (max 768px) ── */
@media (max-width: 768px) {
  /* Move scroll-to-top above accessibility button */
  .bk-scroll-top {
    bottom: 100px !important;
    right: 16px !important;
    width: 40px !important;
    height: 40px !important;
    font-size: 1.1rem !important;
  }
  /* Tighten section spacing */
  .elementor-section, .e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  /* Ensure hero doesn't force tall height (padding handled in section 5) */
  .e-con.bk-hero-gradient {
    min-height: auto !important;
  }
  /* Event cards: ensure full width on mobile */
  .bk-event-card {
    max-width: 100% !important;
    width: 100% !important;
  }
  /* Reduce animation distance on mobile for performance */
  .bk-animate {
    transform: translateY(16px);
  }
}

/* ── Small mobile (max 480px) ── */
@media (max-width: 480px) {
  /* Further reduce hero padding */
  .e-con.bk-hero-gradient {
    padding: 24px 16px !important;
  }
  /* Smaller heading text on tiny screens */
  .e-con.bk-hero-gradient h1,
  .e-con.bk-hero-gradient h2 {
    font-size: 1.6rem !important;
    line-height: 1.3 !important;
  }
  /* Newsletter form stacking */
  .e-con input[type="email"],
  .e-con input[type="text"] {
    font-size: 16px; /* Prevents iOS zoom on focus */
  }
  /* Footer copyright: add bottom padding for accessibility button */
  .site-footer .ast-footer-copyright {
    padding-bottom: 60px;
  }
}

/* === PRINT STYLES === */
@media print {
  .site-header, .site-footer, .bk-cta, #pojo-a11y-toolbar { display: none !important; }
  .bk-hero { background: #2E7D32 !important; -webkit-print-color-adjust: exact; print-color-adjust: exact; }
  .bk-animate { opacity: 1 !important; transform: none !important; }
  .bk-scroll-top { display: none !important; }
  .bk-hero-badge { display: none !important; }
}

/* ============================================
   CARD GRID FIX — Elementor container row layout
   Forces child containers to display in rows
   ============================================ */

/* Parent grid container: ensure row layout */
.bk-grid-row.e-con {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 24px !important;
}

/* 4-column benefit/info cards */
.bk-grid-row.e-con .bk-benefit-card.e-con {
  width: calc(25% - 24px) !important;
  min-width: 220px !important;
  max-width: 300px !important;
  flex: 1 1 220px !important;
}

/* Horizontal feature cards (icon + text side by side) */
.bk-feat-card.e-con {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 16px !important;
  width: calc(25% - 18px) !important;
  min-width: 200px !important;
  flex: 1 1 200px !important;
  background: #FFFFFF !important;
  border-radius: 16px !important;
  padding: 20px !important;
}

/* Ensure inner text container in feature cards doesn't stretch */
.bk-feat-card.e-con .e-con {
  width: auto !important;
  flex: 1 !important;
}

/* Hero buttons row (container 25h3of70 on Home page 411) */
.bk-hero-btn .elementor-button{
  background: #ffffff !important;
  border: 2px solid #ffffff !important;
  border-radius: 12px !important;
  color: #2E7D32 !important;
  font-weight: 700 !important;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 15px rgba(0,0,0,0.15) !important;
}

.bk-hero-btn .elementor-button:hover{
  background: #FDD835 !important;
  border-color: #FDD835 !important;
  color: #1F5624 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(0,0,0,0.2) !important;
}

/* Responsive: stack cards on smaller screens (mobile only) */
@media (max-width: 767px) {
  .bk-grid-row.e-con .bk-benefit-card.e-con,
  .bk-feat-card.e-con {
    --width: 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    flex: 1 1 100% !important;
  }
}

/* Tablet: 2-column card layout */
@media (max-width: 1024px) and (min-width: 768px) {
  .bk-grid-row.e-con .bk-benefit-card.e-con {
    --width: calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    flex: 0 0 calc(50% - 12px) !important;
  }
  .bk-feat-card.e-con {
    --width: calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    flex: 0 0 calc(50% - 12px) !important;
  }
}

/* ================================================================
   DESIGN REFRESH — v5 (2026-03-06)
   Visual hierarchy, section backgrounds, gold accents,
   card enhancements, typography refinements
   NOTE: Uses .elementor-element-{id} selectors (not nth-child)
   to avoid WordPress &gt; encoding and descendant selector issues
   ================================================================ */

/* ── 1. HOMEPAGE SECTION BACKGROUNDS — Visual Rhythm ── */

/* Features row: warm neutral */

/* Bestseller: warm cream for variety */

/* Birthday: soft green (keep) */

/* Benefits: subtle gradient top-to-bottom */

/* CTA: match store CTA style */

/* Testimonials: warm neutral */

/* Newsletter: match store CTA style */


/* ── 2. INNER PAGES — Section Background Variety ── */

/* Events: benefits section warm */

/* Events: steps section pale green */

/* Events: CTA match store style */

/* Kreative Pakete: benefits warm */

/* Kreative Pakete: CTA match store style */


/* ── 3. HERO SECTION POLISH ── */

/* More visible decorative shapes */
.e-con.bk-hero-gradient::before {
  background: rgba(255, 255, 255, 0.07) !important;
  width: 140px !important;
  height: 140px !important;
}
.e-con.bk-hero-gradient::after {
  background: rgba(255, 255, 255, 0.05) !important;
  width: 100px !important;
  height: 100px !important;
}

/* Add subtle radial glow on hero */
.e-con.bk-hero-gradient {
  background: linear-gradient(135deg, #2A6B30 0%, #236B2A 50%, #1F5624 100%) !important;
}
/* Radial highlight overlay via box-shadow inset */
.e-con.bk-hero-gradient::before {
  box-shadow: inset 0 0 200px 80px rgba(255, 255, 255, 0.02);
}

/* ── 4. FEATURE CARDS CONTRAST FIX ── */

/* Feature card headings: darker, more readable */
.bk-feat-card .elementor-heading-title,
.bk-feat-card h3,
.bk-feat-card h4,
.bk-feat-card .elementor-widget-heading .elementor-heading-title {
  color: #2A352B !important;
  font-weight: 700 !important;
}

/* Feature card description text: readable but not too dark */
.bk-feat-card .elementor-widget-text-editor,
.bk-feat-card .elementor-widget-text-editor p,
.bk-feat-card p {
  color: #5A6D5C !important;
}

/* Feature card subtle left accent */
.bk-feat-card.e-con {
  border-left: 3px solid #C8E6C9 !important;
  transition: all 0.3s ease, border-color 0.3s ease !important;
}
.bk-feat-card.e-con:hover {
  border-left-color: #2E7D32 !important;
}

/* ── 5. GOLD ACCENT INTEGRATION ── */

/* CTA section primary buttons: gold (extra specificity to override base button rules) */



/* Newsletter "Abonnieren" button: gold (inline style override) */



/* Section badges: gold dot accent */
.bk-badge::before,
span[style*="E0EFE0"][style*="border-radius"]::before,
span[style*="C8E6C9"][style*="border-radius"]::before {
  content: "";
  display: inline-block;
  width: 6px;
  height: 6px;
  background: #FDD835;
  border-radius: 50%;
  margin-right: 8px;
  vertical-align: middle;
}

/* ── 6. CARD DESIGN ENHANCEMENT ── */

/* Benefit/birthday cards: top accent border */
.bk-benefit-card.e-con,
.bk-grid-row .bk-benefit-card.e-con {
  border-top: 3px solid #2E7D32 !important;
  border-radius: 16px !important;
  background: #FFFFFF !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06) !important;
  transition: all 0.35s ease !important;
}
.bk-benefit-card.e-con:hover {
  box-shadow: 0 8px 28px rgba(27, 94, 32, 0.15) !important;
  border-top-color: #FDD835 !important;
}

/* Testimonial cards: left green border + quote styling */



/* Card emoji icons: slightly larger */
.bk-benefit-card .elementor-widget-text-editor:first-child,
.bk-benefit-card .elementor-widget-text-editor:first-child p {
  font-size: 2.5rem !important;
  line-height: 1.2 !important;
}

/* WooCommerce product cards: subtle top accent */
.woocommerce ul.products li.product {
  border-top: 3px solid transparent !important;
  transition: all 0.35s ease, border-color 0.3s ease !important;
}
.woocommerce ul.products li.product:hover {
  border-top-color: #2E7D32 !important;
}

/* ── 7. SECTION VISUAL SEPARATORS ── */

/* Subtle separator between hero and first content section */


/* CTA sections: clean edges, match store flat green */


/* ── 8. TYPOGRAPHY REFINEMENTS ── */

/* Section headings (h2): more prominent */
.elementor-widget-heading .elementor-heading-title[class*="elementor-size-"] {
  font-size: 2.2rem !important;
  letter-spacing: -0.02em;
}

/* Section subtext: ensure readable */
.elementor-widget-text-editor p[style*="text-align:center"] {
  color: #5A6D5C;
  font-size: 1.05rem;
  line-height: 1.7;
}

/* Badge text: more prominent */
.bk-badge,
span[style*="E0EFE0"][style*="border-radius"],
span[style*="C8E6C9"][style*="border-radius"] {
  font-size: 0.8rem !important;
  letter-spacing: 2.5px !important;
  padding: 8px 20px !important;
}

/* ── 9. NEWSLETTER SECTION ENHANCEMENT ── */

/* Newsletter heading: white on dark green */

/* Newsletter subtext: lighter */

/* Newsletter input: white background */



/* ── 10. FOOTER POLISH ── */

/* Footer dark charcoal-green */
.site-footer .site-below-footer-wrap {
  background-color: #1A2E1C !important;
  border-top: none !important;
}

/* Remove ALL white gaps/lines between green sections and footer */
.site-footer,
.site-footer .site-below-footer-wrap,
.site-footer .site-below-footer-wrap .ast-builder-grid-row,
.site-footer .ast-builder-grid-row-container {
  border-top: none !important;
  margin-top: 0 !important;
}
.site-content {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
/* Astra theme default row border override */
.ast-builder-grid-row-container .site-footer-focus-item,
.site-below-footer-wrap .ast-builder-grid-row {
  border: none !important;
}

/* BRICKONAS footer title: gold underline */
.ast-builder-layout-element.ast-flex.ast-footer-copyright::before {
  text-decoration: underline;
  text-decoration-color: #FDD835;
  text-underline-offset: 6px;
  text-decoration-thickness: 2px;
}

/* Footer legal links: slightly brighter on dark bg */
.bk-footer-legal a {
  color: rgba(200, 230, 201, 0.8) !important;
}

/* ── 11. WARM BESTSELLER SECTION STYLING ── */

/* Bestseller warm cream: adjust product card shadows */



/* ── 12. CTA SECTION — SECONDARY BUTTON (ghost/white) ── */

/* Ensure secondary CTA buttons on dark sections look clean */


/* ── RESPONSIVE: Design Refresh adjustments ── */
@media (max-width: 768px) {
  .elementor-widget-heading .elementor-heading-title[class*="elementor-size-"] {
    font-size: 1.8rem !important;
  }
  /* Remove section separators on mobile */
  
}

/* ==============================================================
   13. CART ICON + BADGE + MINI-CART DROPDOWN
   ============================================================== */

/* Cart menu item positioning */
#menu-item-384 {
  position: relative;
}
.bk-cart-link {
  position: relative;
  display: flex !important;
  align-items: center;
  padding: 0 !important;
}
.bk-cart-svg {
  width: 22px;
  height: 22px;
  transition: color 0.3s, transform 0.3s;
}
.bk-cart-link:hover .bk-cart-svg {
  color: var(--bk-green-primary);
  transform: scale(1.1);
}

/* Count badge */
.bk-cart-count {
  position: absolute;
  top: 50%;
  right: -10px;
  margin-top: -20px;
  background: #E53935;
  color: white;
  min-width: 18px;
  height: 18px;
  border-radius: 9px;
  font-size: 10px;
  font-weight: 700;
  display: none;
  align-items: center;
  justify-content: center;
  line-height: 1;
  padding: 0 4px;
  font-family: "Nunito", sans-serif !important;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.2);
  border: 2px solid white;
  z-index: 2;
}
/* Ensure nav item doesn't clip the badge */
#menu-item-384,
#menu-item-384 .menu-link,
#menu-item-384 .bk-cart-link {
  overflow: visible !important;
}
.site-header-primary-section-left .ast-builder-menu-1,
.ast-builder-menu .main-header-menu,
#ast-hf-menu-1 {
  overflow: visible !important;
}
.bk-bounce {
  animation: bkBounce 0.6s cubic-bezier(0.36, 0.07, 0.19, 0.97);
}
@keyframes bkBounce {
  0%, 100% { transform: scale(1); }
  30% { transform: scale(1.6); }
  60% { transform: scale(0.85); }
}

/* Mini-cart dropdown — reset line-height inherited from Astra nav */
.bk-mini-cart {
  position: absolute;
  top: calc(100% + 10px);
  right: -10px;
  width: 340px;
  background: white;
  border-radius: 16px;
  box-shadow: 0 12px 48px rgba(0,0,0,0.15), 0 0 0 1px rgba(0,0,0,0.04);
  padding: 20px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(10px);
  transition: opacity 0.25s ease, visibility 0.25s ease, transform 0.25s ease;
  z-index: 99999;
  line-height: 1.5 !important;
  pointer-events: none;
}
/* Invisible hover bridge */
.bk-mini-cart::before {
  content: '';
  position: absolute;
  top: -14px;
  right: 0;
  width: 100%;
  height: 14px;
}
.bk-cart-item:hover .bk-mini-cart,
.bk-mini-cart:hover {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
  pointer-events: auto;
}
.bk-mc-empty {
  text-align: center;
  color: var(--bk-text);
  padding: 28px 0;
  font-size: 14px;
}
.bk-mc-items {
  max-height: 280px;
  overflow-y: auto;
}
.bk-mc-item {
  display: flex;
  gap: 12px;
  padding: 12px 0;
  border-bottom: 1px solid #E0EFE0;
}
.bk-mc-item:last-child {
  border-bottom: none;
}
.bk-mc-img {
  width: 52px;
  height: 52px;
  flex-shrink: 0;
  border-radius: 10px;
  overflow: hidden;
  background: var(--bk-off-white);
}
.bk-mc-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.bk-mc-name {
  font-weight: 600;
  font-size: 13px;
  color: var(--bk-charcoal);
  line-height: 1.3;
}
.bk-mc-qty {
  font-size: 12px;
  color: var(--bk-text);
  margin-top: 3px;
}
.bk-mc-total {
  display: flex;
  justify-content: space-between;
  padding: 14px 0 10px;
  border-top: 2px solid var(--bk-green-pale);
  font-weight: 700;
  font-size: 15px;
  color: var(--bk-charcoal);
}
.bk-mc-btns {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  align-items: stretch;
}
.bk-mc-btn {
  flex: 1 1 0%;
  text-align: center;
  padding: 11px 12px !important;
  border-radius: 10px;
  display: flex !important;
  align-items: center;
  justify-content: center;
  min-height: 0;
  height: auto;
  font-size: 13px;
  font-weight: 700;
  text-decoration: none !important;
  transition: all 0.3s;
  font-family: "Nunito", sans-serif !important;
}
.bk-mini-cart .bk-mc-btns a.bk-mc-btn.bk-mc-view,
a.bk-mc-btn.bk-mc-view {
  background: white !important;
  color: #2E7D32 !important;
  border: 2px solid #2E7D32 !important;
}
.bk-mini-cart .bk-mc-btns a.bk-mc-btn.bk-mc-view:hover,
a.bk-mc-btn.bk-mc-view:hover {
  background: #2E7D32 !important;
  color: white !important;
}
.bk-mini-cart .bk-mc-btns a.bk-mc-btn.bk-mc-pay,
a.bk-mc-btn.bk-mc-pay {
  background: #2E7D32 !important;
  color: white !important;
  border: 2px solid #2E7D32 !important;
}
.bk-mini-cart .bk-mc-btns a.bk-mc-btn.bk-mc-pay:hover,
a.bk-mc-btn.bk-mc-pay:hover {
  background: #1F5624 !important;
  border-color: #1F5624 !important;
}

/* ==============================================================
   14. ADD-TO-CART FEEDBACK
   ============================================================== */

/* Hide "Warenkorb anzeigen" link after add-to-cart — header cart badge is enough */
.added_to_cart.wc-forward {
  display: none !important;
}

/* Keep add-to-cart button clickable after adding (WC adds .added class) */
.add_to_cart_button.added {
  pointer-events: auto !important;
  opacity: 1 !important;
}

/* ==============================================================
   15. CART PAGE STYLING
   ============================================================== */

/* Fix alignwide negative margins — WP block alignment breaks centering */
body.woocommerce-cart .wp-block-woocommerce-cart.alignwide,
body.woocommerce-checkout .wp-block-woocommerce-checkout.alignwide {
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* Page background */
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content {
  background: #F7FAF7;
}

/* Remove gap between header and hero */
body.woocommerce-cart #primary,
body.woocommerce-checkout #primary {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
  padding-top: 0 !important;
}

/* Full-width hero. The Astra container wrapping this header is already forced
   edge-to-edge on cart/checkout (see the global `.site-content .ast-container`
   override), so the header only needs width:100% — no 100vw breakout.
   Avoiding 100vw matters on mobile: iOS Safari does not contain a 100vw child
   with root-level overflow:clip, so the page becomes horizontally scrollable
   and the centered cart content visibly shifts right. width:100% can't overflow. */
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Hero section — matching Store/Kontakt style */
body.woocommerce-cart .entry-title,
body.woocommerce-checkout .entry-title {
  background: linear-gradient(135deg, #2A6B30, #236B2A, #1F5624);
  color: white !important;
  padding: 70px 40px 60px;
  margin: 0 !important;
  border-radius: 0 !important;
  text-align: center;
  font-size: 2.2rem;
  font-family: "Fredoka", sans-serif !important;
  position: relative;
  overflow: hidden;
}
/* Decorative squares — left */
body.woocommerce-cart .entry-title::before,
body.woocommerce-checkout .entry-title::before {
  content: '';
  position: absolute;
  width: 140px;
  height: 140px;
  background: rgba(255,255,255,0.06);
  border-radius: 20px;
  top: -30px;
  left: 6%;
  transform: rotate(25deg);
  pointer-events: none;
}
/* Decorative squares — right */
body.woocommerce-cart .entry-header::after,
body.woocommerce-checkout .entry-header::after {
  content: '';
  position: absolute;
  width: 100px;
  height: 100px;
  background: rgba(255,255,255,0.04);
  border-radius: 16px;
  bottom: -20px;
  right: 10%;
  transform: rotate(-15deg);
  pointer-events: none;
  z-index: 0;
}
body.woocommerce-cart .entry-header,
body.woocommerce-checkout .entry-header {
  position: relative;
}
/* Subtitle under hero title */
body.woocommerce-cart .entry-title::after {
  content: 'Deine ausgewählten Produkte auf einen Blick.';
  display: block;
  font-family: "Nunito", sans-serif !important;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 14px;
  opacity: 0.9;
  letter-spacing: 0.01em;
}

/* Add proper side padding to cart/checkout content */
body.woocommerce-cart .entry-content,
body.woocommerce-checkout .entry-content {
  padding-left: 20px;
  padding-right: 20px;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 32px !important;
}

/* ---- GLOBAL BORDER CLEANUP for WC blocks ---- */
/* Remove default WC block borders that create "stacked lines" look */
.wc-block-components-totals-wrapper {
  border-top: none !important;
}
.wc-block-components-totals-wrapper::before,
.wc-block-components-totals-wrapper::after {
  display: none !important;
}
/* Clean separator only between main totals sections */
.wc-block-components-totals-footer-item {
  border-top: 2px solid #E0EFE0 !important;
  padding-top: 16px !important;
  margin-top: 8px;
}
/* Remove default border from order summary block */
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-cart-totals-block {
  border: none !important;
}
/* Remove stacked borders from order summary items */
.wc-block-components-order-summary-item {
  border-bottom: 1px solid #F0F4F0 !important;
}
.wc-block-components-order-summary-item:last-child {
  border-bottom: none !important;
}
/* Remove border from totals coupon wrapper */
.wp-block-woocommerce-checkout-order-summary-coupon-form-block,
.wp-block-woocommerce-checkout-order-summary-totals-block,
.wp-block-woocommerce-checkout-order-summary-cart-items-block,
.wp-block-woocommerce-checkout-order-summary-shipping-block,
.wp-block-woocommerce-checkout-order-summary-fee-block,
.wp-block-woocommerce-checkout-order-summary-discount-block,
.wp-block-woocommerce-checkout-order-summary-taxes-block {
  border: none !important;
}
/* Clean up address card border */
.wc-block-components-address-card {
  border: 1px solid #E0EFE0 !important;
  border-radius: 12px !important;
  padding: 16px !important;
}
/* Terms separator — softer */
.wc-block-checkout__terms--with-separator {
  border-top: 1px solid #E0EFE0 !important;
  padding-top: 16px !important;
  margin-top: 16px !important;
}
/* Remove all residual rgba(18,18,18) WC default borders */
.wc-block-cart .wc-block-components-sidebar .wc-block-components-panel,
.wc-block-checkout .wc-block-components-sidebar .wc-block-components-panel {
  border: none !important;
}

/* Cart layout — ensure two-column layout doesn't wrap */
.wc-block-cart .wc-block-components-sidebar-layout {
  gap: 24px;
  flex-wrap: nowrap !important;
}
.wc-block-cart .wc-block-components-main {
  flex: 1 1 0%;
  min-width: 0;
}
.wc-block-cart .wc-block-components-sidebar {
  flex: 0 0 360px;
  max-width: 360px;
}

/* Cart items styling */
.wc-block-cart-items {
  background: white;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  overflow: hidden;
  border: none;
}
/* Cart table header */
.wc-block-cart-items .wc-block-cart-items__header {
  background: #F5FAF5 !important;
  border-bottom: 2px solid #E0EFE0;
  padding: 14px 20px !important;
}
.wc-block-cart-items .wc-block-cart-items__header span {
  font-family: "Fredoka", sans-serif !important;
  font-weight: 600 !important;
  color: var(--bk-charcoal);
  font-size: 0.85rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.wc-block-cart-items .wc-block-cart-items__row {
  border-color: #E0EFE0;
  padding: 20px !important;
  transition: background 0.2s;
}
.wc-block-cart-items .wc-block-cart-items__row:hover {
  background: #FCFEFB;
}
.wc-block-cart-items .wc-block-cart-item__image {
  width: 90px !important;
  min-width: 90px;
}
.wc-block-cart-items .wc-block-components-product-image img {
  border-radius: 12px;
  aspect-ratio: 1;
  object-fit: cover;
}
.wc-block-cart-items .wc-block-components-product-name {
  color: var(--bk-charcoal);
  font-weight: 700;
  font-size: 15px;
  text-decoration: none;
  font-family: "Nunito", sans-serif !important;
}
.wc-block-cart-items .wc-block-components-product-name:hover {
  color: var(--bk-green-primary);
}
/* Product price in cart */
.wc-block-cart-items .wc-block-components-product-price {
  font-weight: 600;
  color: #2A352B;
}
/* Product description in cart */
.wc-block-cart-items .wc-block-components-product-metadata__description {
  color: #6B7C6D;
  font-size: 13px;
  line-height: 1.5;
}

/* Quantity selector */
.wc-block-components-quantity-selector {
  border: 2px solid #E0EFE0 !important;
  border-radius: 10px !important;
  overflow: hidden;
  background: #FAFCFA;
}
.wc-block-components-quantity-selector input {
  font-weight: 700 !important;
  font-family: "Nunito", sans-serif !important;
}
.wc-block-components-quantity-selector__button {
  color: var(--bk-green-primary) !important;
  transition: background 0.2s !important;
}
.wc-block-components-quantity-selector__button:hover {
  background: #E8F5E9 !important;
}

/* Remove item link */
.wc-block-cart-item__remove-link {
  color: #9E9E9E !important;
  font-size: 12px;
  transition: color 0.2s;
}
.wc-block-cart-item__remove-link:hover {
  color: #D32F2F !important;
}

/* Item total price */
.wc-block-cart-item__total .wc-block-components-product-price {
  font-family: "Fredoka", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2E7D32 !important;
}

/* Cart totals sidebar */
.wc-block-cart .wc-block-components-sidebar {
  position: sticky;
  top: 100px;
}
.wp-block-woocommerce-cart-totals-block,
.wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
  background: white;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  padding: 28px !important;
  border: none;
}
.wc-block-cart__totals-title {
  font-family: "Fredoka", sans-serif !important;
  color: var(--bk-charcoal);
  font-size: 1.2rem !important;
  border-bottom: 2px solid #E0EFE0;
  padding-bottom: 16px;
  margin-bottom: 16px !important;
}

/* Totals rows */
.wc-block-components-totals-item {
  padding: 12px 0 !important;
}
.wc-block-components-totals-item__label {
  font-family: "Nunito", sans-serif !important;
  font-weight: 600;
  font-size: 15px !important;
  color: #4A5D4C;
}
.wc-block-components-totals-item__value {
  font-family: "Fredoka", sans-serif !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  color: var(--bk-green-primary) !important;
}
/* Grand total emphasis */
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
  font-size: 16px !important;
  font-weight: 700 !important;
  color: var(--bk-charcoal) !important;
}
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 19px !important;
  color: var(--bk-green-primary) !important;
}

/* Checkout/proceed button in cart — high specificity */
.wc-block-cart__submit-container a.wc-block-cart__submit-button.wp-element-button,
.wc-block-cart__submit-container .wc-block-components-button.wp-element-button,
a.wc-block-cart__submit-button.wc-block-components-button,
.wc-block-cart__submit-button {
  background: var(--bk-green-primary) !important;
  color: white !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 16px 24px !important;
  border: none !important;
  width: 100%;
  text-align: center;
  font-family: "Nunito", sans-serif !important;
  letter-spacing: 0.02em;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
  box-shadow: 0 4px 12px rgba(46, 125, 50, 0.25) !important;
}
.wc-block-cart__submit-container a.wc-block-cart__submit-button:hover,
.wc-block-cart__submit-button:hover {
  background: var(--bk-green-dark) !important;
  color: white !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(46, 125, 50, 0.35) !important;
}

/* Coupon toggle */
.wc-block-components-totals-coupon__button {
  color: var(--bk-green-primary) !important;
}
/* Coupon input styling */
.wc-block-components-totals-coupon .wc-block-components-text-input input {
  border-radius: 10px !important;
}
.wc-block-components-totals-coupon .wc-block-components-button {
  border-radius: 10px !important;
  background: var(--bk-green-primary) !important;
  color: white !important;
}

/* Express payment in cart — borderless to avoid nested box effect */
.wc-block-cart .wc-block-components-express-payment {
  border-radius: 0;
  border: none !important;
  padding: 0 !important;
  background: transparent;
}
.wc-block-cart .wc-block-components-express-payment__title-container {
  font-family: "Nunito", sans-serif !important;
}
.wc-block-cart .wc-block-components-express-payment__title-container::after {
  border: none !important;
}

/* "ODER" divider */
.wc-block-cart .wc-block-components-express-payment-continue-rule {
  color: #9E9E9E;
  font-size: 13px;
}
.wc-block-cart .wc-block-components-express-payment-continue-rule::before,
.wc-block-cart .wc-block-components-express-payment-continue-rule::after {
  background: #E0EFE0 !important;
}

/* Empty cart state */
.wc-block-cart--is-loading .wc-block-components-sidebar-layout,
.wp-block-woocommerce-empty-cart-block {
  text-align: center;
  padding: 40px 20px;
}
.wc-block-cart-empty__image {
  max-width: 160px;
  opacity: 0.7;
  margin: 0 auto 20px;
}

/* --- "Neu im Shop" product grid on empty cart page ---
   Pixel-exact match to Shop page product cards */
.wp-block-woocommerce-empty-cart-block .wc-block-grid.has-4-columns {
  max-width: 1200px;
  margin: 0 auto;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  list-style: none;
  padding: 0;
  margin: 0 auto;
}
/* Card — same as .woocommerce ul.products li.product */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
  background: #FFFFFF;
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(27, 94, 32, 0.10);
  border: none !important;
  overflow: hidden;
  text-align: left;
  display: flex;
  flex-direction: column;
  transition: transform 0.3s, box-shadow 0.3s;
  max-width: 100% !important;
  flex-basis: auto !important;
  width: 100% !important;
  padding: 0 !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
}
/* Image wrap — rounded top corners */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image {
  overflow: hidden;
  border-radius: 16px 16px 0 0;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-image img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  display: block;
  border-radius: 0 !important;
}
/* Title — Fredoka 15.2px bold, left-aligned */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title {
  font-family: "Fredoka", sans-serif !important;
  font-size: 15.2px !important;
  font-weight: 700 !important;
  color: #1A1A1A !important;
  padding: 8px 18px 0 !important;
  text-transform: none !important;
  line-height: 1.3;
  text-align: left !important;
}
/* Price — green 19.2px bold, left-aligned */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-price {
  padding: 0 18px !important;
  font-size: 1.3rem !important;
  font-weight: 700 !important;
  color: var(--bk-green-primary) !important;
  text-align: left !important;
}
/* Tax &amp; shipping info — #999, 11.5px */
.wp-block-woocommerce-empty-cart-block .wgm-info {
  padding: 0 18px;
  font-size: 11.5px;
  color: #999;
}
/* Button — margin 0 18px 20px, full-width, pushed to bottom */
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart {
  margin: 0 18px 20px !important;
  margin-top: auto !important;
  padding: 0 !important;
  width: auto !important;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link {
  background: var(--bk-green-primary) !important;
  color: #FFFFFF !important;
  border-radius: 10px !important;
  padding: 10px !important;
  font-family: "Fredoka", sans-serif !important;
  font-size: 13.6px !important;
  font-weight: 600 !important;
  display: block !important;
  text-decoration: none !important;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
  width: 100% !important;
  text-align: center;
  box-sizing: border-box;
}
.wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart .wp-block-button__link:hover {
  background: var(--bk-green-dark) !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(46, 125, 50, 0.25);
}
/* Responsive */
@media (max-width: 768px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .wp-block-woocommerce-empty-cart-block .wc-block-grid__products {
    grid-template-columns: 1fr !important;
  }
}

/* ==============================================================
   16. CHECKOUT PAGE STYLING
   ============================================================== */

/* Checkout subtitle */
body.woocommerce-checkout .entry-title::after {
  content: 'Nur noch wenige Schritte bis zu deiner Bestellung.';
  display: block;
  font-family: "Nunito", sans-serif !important;
  font-size: 1rem;
  font-weight: 400;
  margin-top: 14px;
  opacity: 0.9;
  letter-spacing: 0.01em;
}

/* Checkout layout — ensure two-column layout doesn't wrap */
.wc-block-checkout .wc-block-components-sidebar-layout {
  gap: 24px;
  flex-wrap: nowrap !important;
}
.wc-block-checkout .wc-block-components-main {
  flex: 1 1 0%;
  min-width: 0;
}
.wc-block-checkout .wc-block-components-sidebar {
  flex: 0 0 380px;
  max-width: 380px;
}

/* Checkout form — clean card wrapper */
.wp-block-woocommerce-checkout-fields-block {
  background: white;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  padding: 28px !important;
  border: none;
}

/* Select dropdowns — match text input style */
.wc-blocks-components-select__select,
.wc-block-components-combobox .components-combobox-control .components-input-control__input {
  border-radius: 10px !important;
  border: 2px solid #E0EFE0 !important;
  font-family: "Nunito", sans-serif !important;
}
.wc-blocks-components-select__select:focus {
  border-color: var(--bk-green-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.12) !important;
  outline: none !important;
}

/* Section headings in checkout */
.wc-block-components-checkout-step__heading {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--bk-charcoal) !important;
  margin-bottom: 12px !important;
  padding-top: 8px !important;
}
/* Step containers */
.wc-block-components-checkout-step__container {
  padding-bottom: 24px;
  margin-bottom: 24px;
  border-bottom: 1px solid #E0EFE0;
}
.wc-block-components-checkout-step:last-child .wc-block-components-checkout-step__container {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}

/* Input fields */
.wc-block-components-text-input input,
.wc-block-components-combobox .components-combobox-control input,
.wc-block-components-text-input textarea {
  border-radius: 10px !important;
  border: 2px solid #E0EFE0 !important;
  transition: border-color 0.3s, box-shadow 0.3s;
  font-family: "Nunito", sans-serif !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-combobox .components-combobox-control input:focus {
  border-color: var(--bk-green-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.12) !important;
  outline: none !important;
}
/* Labels */
.wc-block-components-text-input label {
  font-family: "Nunito", sans-serif !important;
  color: #6B7C6D !important;
}
.wc-block-components-text-input.is-active label {
  color: var(--bk-green-primary) !important;
}

/* Select/combobox inputs */
.wc-block-components-combobox .components-combobox-control input {
  font-family: "Nunito", sans-serif !important;
}

/* Order summary sidebar */
.wp-block-woocommerce-checkout-order-summary-block {
  background: white;
  border-radius: 16px;
  box-shadow: 0 2px 12px rgba(0,0,0,0.04);
  padding: 28px !important;
  border: none;
  position: sticky;
  top: 100px;
}
/* Order summary heading */
.wc-block-components-order-summary .wc-block-components-panel__button {
  font-family: "Fredoka", sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.15rem;
  color: var(--bk-charcoal);
}
/* Order summary product items */
.wc-block-components-order-summary-item {
  padding: 16px 0 !important;
}
.wc-block-components-order-summary-item__image img {
  border-radius: 10px !important;
}
.wc-block-components-order-summary-item__description .wc-block-components-product-name {
  font-weight: 700 !important;
  font-family: "Nunito", sans-serif !important;
  color: var(--bk-charcoal) !important;
  font-size: 14px !important;
}
/* Truncate long descriptions in order summary */
.wc-block-components-order-summary-item .wc-block-components-product-metadata {
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  font-size: 12px;
  color: #9E9E9E;
  margin-top: 4px;
}
/* Order summary totals */
.wc-block-components-totals-footer-item {
  border-top: 2px solid #E0EFE0 !important;
  padding-top: 16px !important;
}

/* Place order button — high specificity */
.wc-block-components-checkout-place-order-button.wp-element-button,
.wp-block-woocommerce-checkout-actions-block .wc-block-components-button.wp-element-button,
button.wc-block-components-checkout-place-order-button,
.wc-block-components-checkout-place-order-button {
  background: var(--bk-green-primary) !important;
  color: white !important;
  border-radius: 12px !important;
  font-weight: 700 !important;
  font-size: 16px !important;
  padding: 18px 32px !important;
  border: none !important;
  width: 100%;
  font-family: "Nunito", sans-serif !important;
  letter-spacing: 0.02em;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s !important;
  box-shadow: 0 4px 12px rgba(46, 125, 50, 0.25) !important;
}
.wc-block-components-checkout-place-order-button:hover {
  background: var(--bk-green-dark) !important;
  color: white !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(46, 125, 50, 0.35) !important;
}

/* Express payment section — borderless on checkout to avoid nested boxes */
.wc-block-checkout .wc-block-components-express-payment {
  border: none !important;
  border-radius: 0 !important;
  padding: 0 0 8px 0 !important;
  background: transparent !important;
}
.wc-block-checkout .wc-block-components-express-payment__content {
  border: none !important;
}
.wc-block-checkout .wc-block-components-express-payment__title-container {
  position: static !important;
  font-family: "Fredoka", sans-serif !important;
  font-weight: 700;
  font-size: 1.05rem;
  margin-bottom: 16px;
  text-align: left;
  background: transparent !important;
}
.wc-block-checkout .wc-block-components-express-payment__title-container::after,
.wc-block-checkout .wc-block-components-express-payment__title-container::before {
  display: none !important;
}
/* "Oder fahre unten fort" divider */
.wc-block-components-express-payment-continue-rule {
  color: #9E9E9E;
  font-size: 13px;
  margin: 20px 0 !important;
}
.wc-block-components-express-payment-continue-rule::before,
.wc-block-components-express-payment-continue-rule::after {
  background: #E0EFE0 !important;
}

/* Payment &amp; shipping radio options — flat list, no individual boxes */
.wc-block-components-radio-control__option {
  border-radius: 0 !important;
  padding: 14px 16px 14px 48px !important;
  border: none !important;
  border-bottom: 1px solid #E8ECE8 !important;
  margin-bottom: 0 !important;
  transition: background 0.2s;
  position: relative;
  overflow: visible !important;
}
.wc-block-components-radio-control__option:last-child {
  border-bottom: none !important;
}
.wc-block-components-radio-control__option:hover {
  background: #F5FAF5 !important;
}
.wc-block-components-radio-control__option--checked {
  border-color: #E8ECE8 !important;
  background: #F5FAF5 !important;
}
.wc-block-components-radio-control__input:checked {
  accent-color: var(--bk-green-primary);
}
/* Payment method content area (Stripe card fields etc.) — no extra box */
.wc-block-checkout .wc-block-components-radio-control-accordion-content {
  border: none !important;
  padding: 12px 0 4px 48px !important;
  background: transparent !important;
}
/* Remove outer border from payment methods wrapper */
.wc-block-checkout .wc-block-components-payment-method-icons,
.wc-block-checkout .wc-block-components-radio-control {
  border: none !important;
}
/* Stripe card fields — reduce nested box feel */
.wc-block-checkout .wc-block-components-radio-control-accordion-content fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.wc-block-checkout #payment-method .wc-block-components-radio-control-accordion-content iframe {
  border-radius: 8px !important;
}

/* Back to cart link */
.wc-block-components-checkout-return-to-cart-button {
  color: var(--bk-green-primary) !important;
  font-weight: 600;
  font-family: "Nunito", sans-serif !important;
  transition: color 0.2s;
}
.wc-block-components-checkout-return-to-cart-button:hover {
  color: var(--bk-green-dark) !important;
}

/* Order notes checkbox — spacing from payment methods above */
.wp-block-woocommerce-checkout-order-note-block,
.wc-block-checkout__add-note {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid #E0EFE0 !important;
}

/* Checkbox styling */
.wc-block-checkout__terms .wc-block-components-checkbox__input:checked,
.wc-block-components-checkbox__input:checked {
  accent-color: var(--bk-green-primary);
}

/* Privacy / terms text */
.wc-block-checkout__terms .wc-block-components-checkbox__label,
.wc-block-components-checkout-policies__text {
  font-size: 13px;
  color: #6B7C6D;
  line-height: 1.5;
}
.wc-block-components-checkout-policies__text a {
  color: var(--bk-green-primary) !important;
}

/* Hide footer on checkout page (clean checkout flow) */
body.woocommerce-checkout .site-footer {
  display: none !important;
}

/* Checkout — remove fieldset borders from WC blocks */
.wc-block-checkout fieldset {
  border: none !important;
  padding: 0 !important;
  margin: 0 !important;
  overflow: visible !important;
}
.wc-block-checkout legend {
  display: none !important;
}

/* ---- Kill ALL nested "window-in-window" borders on checkout ---- */
/* Nuclear: remove border/shadow from EVERY wrapper inside checkout steps */
.wc-block-checkout .wc-block-components-checkout-step *:not(input):not(select):not(textarea):not(button):not(iframe):not(.wc-block-components-checkout-place-order-button) {
  border-color: transparent !important;
  box-shadow: none !important;
}
/* Re-apply only the borders we want: input fields */
.wc-block-checkout .wc-block-components-text-input input,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input,
.wc-block-checkout .wc-block-components-text-input textarea,
.wc-block-checkout .wc-blocks-components-select__select {
  border: 2px solid #E0EFE0 !important;
}
.wc-block-checkout .wc-block-components-text-input input:focus,
.wc-block-checkout .wc-block-components-combobox .components-combobox-control input:focus,
.wc-block-checkout .wc-block-components-text-input textarea:focus,
.wc-block-checkout .wc-blocks-components-select__select:focus {
  border-color: var(--bk-green-primary) !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.12) !important;
}
/* Re-apply: radio option bottom dividers */
.wc-block-checkout .wc-block-components-radio-control__option {
  border-bottom: 1px solid #E8ECE8 !important;
}
.wc-block-checkout .wc-block-components-radio-control__option:last-child {
  border-bottom-color: transparent !important;
}
/* Re-apply: step dividers between sections */
.wc-block-checkout .wc-block-components-checkout-step__container {
  border-bottom: 1px solid #E0EFE0 !important;
}
.wc-block-checkout .wc-block-components-checkout-step:last-child .wc-block-components-checkout-step__container {
  border-bottom-color: transparent !important;
}
/* Re-apply: terms separator */
.wc-block-checkout .wc-block-checkout__terms--with-separator {
  border-top: 1px solid #E0EFE0 !important;
}
/* Re-apply: totals footer separator */
.wc-block-checkout .wc-block-components-totals-footer-item {
  border-top: 2px solid #E0EFE0 !important;
}
/* Re-apply: order summary item dividers */
.wc-block-checkout .wc-block-components-order-summary-item {
  border-bottom: 1px solid #F0F4F0 !important;
}
.wc-block-checkout .wc-block-components-order-summary-item:last-child {
  border-bottom-color: transparent !important;
}
/* Re-apply: address card */
.wc-block-checkout .wc-block-components-address-card {
  border: 1px solid #E0EFE0 !important;
}
/* Re-apply: checkbox accent */
.wc-block-checkout .wc-block-components-checkbox__input:checked {
  accent-color: var(--bk-green-primary);
}

/* ==============================================================
   17. SINGLE PRODUCT PAGE POLISH
   ============================================================== */

/* Page background */
body.single-product .site-content {
  background: #F7FAF7;
}

/* Product container */
body.single-product div.product {
  max-width: 1200px;
  margin: 0 auto;
  padding: 40px 24px 60px;
}

/* Breadcrumb / navigation */
body.single-product .woocommerce-breadcrumb {
  font-size: 13px;
  color: #9E9E9E;
  padding: 16px 0 24px;
  margin-bottom: 0 !important;
  font-family: "Nunito", sans-serif !important;
}
body.single-product .woocommerce-breadcrumb a {
  color: var(--bk-green-primary) !important;
  font-weight: 600;
  text-decoration: none;
}
body.single-product .woocommerce-breadcrumb a:hover {
  color: var(--bk-green-dark) !important;
}

/* Product gallery + summary layout wrapper */
body.single-product .product .woocommerce-product-gallery,
body.single-product .product .summary {
  margin-bottom: 0;
}

/* Product image card */
.woocommerce div.product div.images {
  background: white;
  border-radius: 20px;
  overflow: hidden;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(46, 125, 50, 0.06);
}
.woocommerce div.product div.images img {
  border-radius: 0;
}
/* Gallery zoom icon */
.woocommerce div.product div.images .woocommerce-product-gallery__trigger {
  background: white !important;
  border-radius: 50% !important;
  width: 40px !important;
  height: 40px !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.12);
  top: 16px !important;
  right: 16px !important;
}

/* Product summary card */
body.single-product .product .summary.entry-summary {
  background: white;
  border-radius: 20px;
  padding: 32px !important;
  box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(46, 125, 50, 0.06);
}

/* Product title */
.woocommerce div.product .product_title {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.75rem !important;
  font-weight: 700 !important;
  color: var(--bk-charcoal) !important;
  margin-bottom: 12px !important;
  text-transform: none !important;
  line-height: 1.3 !important;
}

/* Category tags above title */
body.single-product .product .posted_in {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-bottom: 8px;
}
body.single-product .product .posted_in a {
  font-size: 12px !important;
  font-weight: 700 !important;
  color: var(--bk-green-primary) !important;
  background: #E8F5E9;
  padding: 4px 12px;
  border-radius: 20px;
  text-decoration: none;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
body.single-product .product .posted_in a:hover {
  background: var(--bk-green-primary) !important;
  color: white !important;
}

/* Price */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.6rem !important;
  font-weight: 700 !important;
  color: var(--bk-green-primary) !important;
  margin-bottom: 8px !important;
}

/* Tax / shipping info */
body.single-product .woocommerce-Price-taxLabel,
body.single-product .product .price + .woocommerce-price-suffix,
body.single-product .product p:has(.woocommerce-Price-taxLabel) {
  font-size: 13px;
  color: #9E9E9E;
}
body.single-product .product .summary .stock {
  font-size: 13px;
  font-weight: 700;
  padding: 6px 14px;
  border-radius: 20px;
  display: inline-block;
  margin: 8px 0 16px;
}
body.single-product .product .summary .stock.in-stock {
  background: #E8F5E9;
  color: var(--bk-green-primary);
}
body.single-product .product .summary .stock.out-of-stock {
  background: #FFEBEE;
  color: #D32F2F;
}

/* Description */
.woocommerce div.product .woocommerce-product-details__short-description {
  color: #4A5D4C;
  font-size: 0.95rem;
  line-height: 1.7;
  margin-bottom: 24px;
  padding-bottom: 20px;
  border-bottom: 1px solid #E0EFE0;
}

/* Add to cart form area */
.woocommerce div.product form.cart {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 24px !important;
  padding: 20px 0;
}

/* Quantity input */
.woocommerce div.product form.cart .quantity {
  position: relative;
}
.woocommerce div.product form.cart .quantity .qty {
  border: 2px solid #E0EFE0 !important;
  border-radius: 12px !important;
  padding: 12px 16px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  width: 80px !important;
  text-align: center;
  font-size: 16px !important;
  transition: border-color 0.3s;
}
.woocommerce div.product form.cart .quantity .qty:focus {
  border-color: var(--bk-green-primary) !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.12) !important;
}

/* "In den Warenkorb" button */
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: var(--bk-green-primary) !important;
  color: #FFFFFF !important;
  border-radius: 12px !important;
  padding: 14px 36px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  letter-spacing: 0.02em;
  transition: all 0.3s ease !important;
  box-shadow: 0 4px 12px rgba(46, 125, 50, 0.25) !important;
  flex: 1;
  text-align: center;
}
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: var(--bk-green-dark) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(46, 125, 50, 0.35) !important;
}

/* Product meta (SKU, categories) */
.woocommerce div.product .product_meta {
  color: #9E9E9E;
  font-size: 13px;
  margin-top: 20px;
  padding-top: 20px;
  border-top: 1px solid #E0EFE0;
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}
.woocommerce div.product .product_meta &gt; span {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.woocommerce div.product .product_meta a {
  color: var(--bk-green-primary) !important;
  font-weight: 600;
}
.woocommerce div.product .product_meta a:hover {
  color: var(--bk-green-dark) !important;
}

/* PayPal / Express buttons on product page */
body.single-product .product .summary .ppc-button-wrapper,
body.single-product .product .summary #ppcp-messages {
  margin-top: 16px;
  border-top: 1px solid #E0EFE0;
  padding-top: 16px;
}

/* Product tabs */
.woocommerce div.product .woocommerce-tabs {
  margin-top: 48px;
  background: white;
  border-radius: 16px;
  box-shadow: 0 2px 20px rgba(0,0,0,0.06);
  border: 1px solid rgba(46, 125, 50, 0.06);
  overflow: hidden;
}
.woocommerce div.product .woocommerce-tabs ul.tabs {
  border-bottom: 2px solid #E0EFE0 !important;
  padding: 0 !important;
  margin: 0 !important;
  background: #FAFCFA !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before {
  border-bottom-color: #E0EFE0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  border: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  margin: 0 !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  color: #6B7C6D !important;
  padding: 16px 28px !important;
  border-bottom: 3px solid transparent !important;
  transition: all 0.3s ease !important;
  font-size: 14px !important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
.woocommerce div.product .woocommerce-tabs ul.tabs li a:hover {
  color: var(--bk-green-primary) !important;
  border-bottom-color: var(--bk-green-primary) !important;
}
.woocommerce div.product .woocommerce-tabs .panel {
  border-radius: 0;
  padding: 28px 32px !important;
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.3rem !important;
  color: var(--bk-charcoal) !important;
  margin-bottom: 16px !important;
}

/* Related products */
body.single-product section.related.products {
  margin-top: 48px;
  padding: 48px 0;
  border-top: 2px solid #E0EFE0;
}
.woocommerce div.product .related h2 {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.6rem !important;
  color: var(--bk-charcoal) !important;
  text-align: center !important;
  margin-bottom: 32px !important;
}
/* Related product cards */
body.single-product .related.products ul.products li.product {
  background: white;
  border-radius: 16px;
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
  border: 1px solid rgba(46, 125, 50, 0.06);
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
  padding: 0 !important;
}
body.single-product .related.products ul.products li.product:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 32px rgba(0,0,0,0.1);
}
body.single-product .related.products ul.products li.product a img {
  border-radius: 0;
  margin: 0 !important;
}
body.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.single-product .related.products ul.products li.product h2 {
  font-family: "Fredoka", sans-serif !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  color: var(--bk-charcoal) !important;
  padding: 12px 16px 4px !important;
  text-transform: none !important;
}
body.single-product .related.products ul.products li.product .price {
  padding: 0 16px !important;
  font-size: 1rem !important;
}
body.single-product .related.products ul.products li.product .button {
  margin: 12px 16px 16px !important;
  border-radius: 10px !important;
  padding: 10px 20px !important;
  font-size: 13px !important;
}

/* ==============================================================
   18. PRODUCT REVIEW FORM STYLING
   ============================================================== */

/* Review form container */
.woocommerce #reviews #review_form_wrapper {
  margin-top: 24px;
}
#respond.comment-respond {
  background: #FAFCFA;
  border: 1px solid #E0EFE0;
  border-radius: 16px;
  padding: 28px 32px;
}

/* Review title */
#respond .comment-reply-title {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.2rem;
  font-weight: 700;
  color: var(--bk-charcoal);
  display: block;
  margin-bottom: 8px;
}

/* Notes text */
#respond .comment-notes {
  font-size: 13px;
  color: #9E9E9E;
  margin-bottom: 20px;
}

/* Star rating */
#respond .comment-form-rating {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 20px;
}
#respond .comment-form-rating label {
  font-family: "Nunito", sans-serif !important;
  font-weight: 700;
  color: var(--bk-charcoal);
  width: auto;
  margin-bottom: 0;
}
#respond .stars a {
  color: #FDD835 !important;
}

/* Textarea */
#respond .comment-form-comment label {
  font-family: "Nunito", sans-serif !important;
  font-weight: 700;
  color: var(--bk-charcoal);
  display: block;
  margin-bottom: 8px;
}
#respond .comment-form-comment textarea {
  width: 100%;
  border: 2px solid #E0EFE0;
  border-radius: 12px;
  padding: 14px 16px;
  font-family: "Nunito", sans-serif !important;
  font-size: 14px;
  transition: border-color 0.3s;
  resize: vertical;
  min-height: 120px;
}
#respond .comment-form-comment textarea:focus {
  border-color: var(--bk-green-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.12);
}

/* Author + Email fields — fix float clearing */
#respond .comment-form-author,
#respond .comment-form-email {
  float: none !important;
  width: 100% !important;
  display: inline-block;
  vertical-align: top;
  box-sizing: border-box;
  margin-bottom: 16px;
}
@media (min-width: 600px) {
  #respond .comment-form-author,
  #respond .comment-form-email {
    width: 48% !important;
  }
  #respond .comment-form-author {
    float: left !important;
  }
  #respond .comment-form-email {
    float: right !important;
  }
}
#respond .comment-form-author label,
#respond .comment-form-email label {
  font-family: "Nunito", sans-serif !important;
  font-weight: 700;
  color: var(--bk-charcoal);
  display: block;
  width: auto;
  margin-bottom: 6px;
}
#respond .comment-form-author input,
#respond .comment-form-email input {
  width: 100%;
  border: 2px solid #E0EFE0;
  border-radius: 12px;
  padding: 12px 14px;
  font-family: "Nunito", sans-serif !important;
  font-size: 14px;
  transition: border-color 0.3s;
  box-sizing: border-box;
}
#respond .comment-form-author input:focus,
#respond .comment-form-email input:focus {
  border-color: var(--bk-green-primary);
  outline: none;
  box-shadow: 0 0 0 3px rgba(46, 125, 50, 0.12);
}

/* Privacy + cookie checkbox — MUST clear floats */
.comment-form p.comment-form-privacy-policy,
p.comment-form-privacy-policy,
#commentform .comment-form-privacy-policy,
#respond .comment-form-privacy-policy {
  clear: both !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: 16px !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
  color: #6B7C6D;
  line-height: 1.5;
  float: none !important;
}
.comment-form p.comment-form-cookies-consent,
p.comment-form-cookies-consent,
#commentform .comment-form-cookies-consent,
#respond .comment-form-cookies-consent {
  clear: both !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 10px !important;
  margin-top: 8px !important;
  margin-bottom: 12px !important;
  font-size: 13px !important;
  color: #6B7C6D;
  line-height: 1.5;
  float: none !important;
}
.comment-form-privacy-policy input[type="checkbox"],
.comment-form-cookies-consent input[type="checkbox"] {
  flex-shrink: 0 !important;
  margin-top: 3px !important;
  accent-color: var(--bk-green-primary);
  width: 16px !important;
  height: 16px !important;
}
.comment-form-privacy-policy label,
.comment-form-cookies-consent label {
  font-weight: 400 !important;
  width: auto !important;
  display: inline !important;
  color: #6B7C6D !important;
}
.comment-form-privacy-policy a {
  color: var(--bk-green-primary) !important;
  font-weight: 600;
}

/* Submit button */
#respond .form-submit {
  clear: both !important;
  margin-top: 20px;
}
#respond .form-submit input[type="submit"],
#respond .form-submit .submit {
  background: var(--bk-green-primary) !important;
  color: white !important;
  border: none !important;
  border-radius: 12px !important;
  padding: 14px 36px !important;
  font-family: "Nunito", sans-serif !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  cursor: pointer;
  transition: background 0.3s, transform 0.2s, box-shadow 0.3s;
  box-shadow: 0 4px 12px rgba(46, 125, 50, 0.25);
}
#respond .form-submit input[type="submit"]:hover {
  background: var(--bk-green-dark) !important;
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(46, 125, 50, 0.35);
}

/* "Es gibt noch keine Rezensionen" text */
.woocommerce-noreviews {
  color: #9E9E9E;
  font-size: 14px;
  margin-bottom: 16px;
}

/* ==============================================================
   RESPONSIVE: Cart + Mini-cart
   ============================================================== */
@media (max-width: 768px) {
  .bk-mini-cart {
    width: 290px;
    right: -20px;
    padding: 16px;
  }
  .bk-mc-items {
    max-height: 200px;
  }
  body.woocommerce-cart .entry-title,
  body.woocommerce-checkout .entry-title {
    padding: 48px 20px 40px;
    font-size: 1.6rem;
  }
  body.woocommerce-cart .entry-title::after,
  body.woocommerce-checkout .entry-title::after {
    font-size: 0.9rem;
  }
  .wp-block-woocommerce-checkout-fields-block {
    padding: 20px !important;
  }
  /* Single product responsive */
  body.single-product .product .summary.entry-summary {
    padding: 20px !important;
  }
  .woocommerce div.product .product_title {
    font-size: 1.4rem !important;
  }
  .woocommerce div.product p.price,
  .woocommerce div.product span.price {
    font-size: 1.4rem !important;
  }
  .woocommerce div.product form.cart {
    flex-wrap: wrap;
  }
  .woocommerce div.product form.cart .single_add_to_cart_button {
    width: 100%;
    flex: auto;
  }
  /* Cart page responsive */
  .wc-block-cart .wc-block-components-sidebar-layout,
  .wc-block-checkout .wc-block-components-sidebar-layout {
    flex-wrap: wrap !important;
  }
  .wc-block-cart .wc-block-components-sidebar,
  .wc-block-checkout .wc-block-components-sidebar {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  .wc-block-cart-items .wc-block-cart-item__image {
    width: 70px !important;
    min-width: 70px;
  }
  .wp-block-woocommerce-cart-totals-block,
  .wc-block-cart .wp-block-woocommerce-cart-order-summary-block {
    padding: 20px !important;
  }
  /* Checkout responsive */
  .wp-block-woocommerce-checkout-fields-block {
    padding: 20px;
  }
  .wp-block-woocommerce-checkout-order-summary-block {
    padding: 20px !important;
    position: static;
  }
}
@media (max-width: 480px) {
  .bk-mini-cart {
    position: fixed;
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: 100%;
    border-radius: 20px 20px 0 0;
    max-height: 60vh;
    overflow-y: auto;
    transform: translateY(100%);
    box-shadow: 0 -8px 40px rgba(0,0,0,0.2);
  }
  .bk-cart-item:hover .bk-mini-cart,
  .bk-mini-cart:hover {
    transform: translateY(0);
  }
  /* Product page small screen */
  body.single-product .product .summary.entry-summary {
    padding: 16px !important;
  }
  .woocommerce div.product .product_title {
    font-size: 1.2rem !important;
  }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a {
    padding: 12px 16px !important;
    font-size: 13px !important;
  }
}

/* ================================================================
   RESPONSIVE AUDIT — Comprehensive mobile/tablet fixes (2026-03-09)
   ================================================================ */

/* ── 1. PREVENT HORIZONTAL OVERFLOW ON ALL VIEWPORTS ── */
/* NOTE: overflow-x: clip (not hidden) is required to preserve position: sticky on the header.
   hidden/auto/scroll create a new scroll container which breaks sticky positioning. */
html, body {
  overflow-x: clip !important;
  /* Use 100% (not 100vw): 100vw includes the OS scrollbar width, which makes
     <body> wider than the visible content area on desktop browsers with classic
     (space-taking) scrollbars. Centered content (margin:auto) then centers within
     that wider box and visibly shifts right — most noticeable on the cart/checkout.
     100% resolves against the content width (scrollbar excluded) and stays centered. */
  max-width: 100%;
}

/* ── 2. DESKTOP NAV: Prevent wrapping at 922–1200px ── */
@media (max-width: 1200px) and (min-width: 922px) {
  .main-header-menu .menu-item .menu-link {
    font-size: 0.82rem !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
  /* Shorten Mosaik BrickPic nav label on small screens */
  .main-header-menu .menu-item a.menu-link[href*="/mosaik/"] .menu-text::after {
    content: 'BrickPic' !important;
    font-size: 0.82rem !important;
  }
  .main-header-menu .menu-item a.menu-link[href*="/mosaik/"] {
    padding: 6px 12px !important;
  }
}

/* ── 3. TABLET SECTION PADDING — Reduce excessive whitespace ── */
@media (max-width: 1024px) {
  .e-con.e-parent {
    padding-top: 50px !important;
    padding-bottom: 50px !important;
  }
  /* Hero sections keep slightly more padding */
  .e-con.e-parent.bk-hero-gradient {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }
  /* Inner boxed containers don't need extra padding */
  .e-con.e-parent .e-con-boxed.e-con {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }
}

/* ── 4. TABLET: Force card grids to row layout (override Elementor) ── */
/* Elementor uses 767px as mobile breakpoint; 768px+ is tablet */
@media (max-width: 1024px) and (min-width: 768px) {
  /* Override Elementor responsive column stacking */
  .bk-grid-row.e-con {
    flex-direction: row !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  /* Override Elementor --width:100% that forces children to full width */
  .bk-grid-row.e-con .e-con,
  .bk-grid-row.e-con .bk-benefit-card.e-con {
    --width: calc(50% - 10px) !important;
    flex: 0 0 calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    min-width: 0 !important;
  }
}

/* ── 5. MOBILE (max 767px): Main responsive fixes ── */
/* Matches Elementor's mobile breakpoint exactly */
@media (max-width: 767px) {
  /* 5a. Reduce section padding on mobile */
  .e-con.e-parent {
    padding-top: 36px !important;
    padding-bottom: 36px !important;
  }
  .e-con.e-parent.bk-hero-gradient {
    --padding-top: 24px !important;
    --padding-bottom: 20px !important;
    padding-top: 24px !important;
    padding-bottom: 20px !important;
    gap: 8px !important;
  }
  .e-con.bk-hero-gradient .elementor-widget:last-child {
    margin-bottom: 0 !important;
  }
  .e-con.e-parent .e-con-boxed.e-con {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
  }

  /* 5b. Hero buttons (Home page 411): 2x2 grid on mobile */
  
  
  

  /* 5c. Consistent heading sizes on mobile */
  h1.elementor-heading-title,
  .elementor-widget-heading h1.elementor-heading-title {
    font-size: 1.75rem !important;
    line-height: 1.25 !important;
  }
  h2.elementor-heading-title,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }
  h3.elementor-heading-title,
  .elementor-widget-heading h3.elementor-heading-title {
    font-size: 1.25rem !important;
    line-height: 1.35 !important;
  }

  /* 5d. Card grids: 2-column compact grid for benefit cards */
  .bk-grid-row.e-con {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .bk-grid-row.e-con .bk-benefit-card.e-con {
    width: 100% !important;
    max-width: 100% !important;
    flex: unset !important;
    min-width: 0 !important;
    --padding-top: 12px !important;
    --padding-right: 14px !important;
    --padding-bottom: 12px !important;
    --padding-left: 14px !important;
    padding: 12px 14px !important;
    gap: 6px !important;
  }
  /* Emoji icon in cards: compact */
  .bk-benefit-card .elementor-widget-text-editor:first-child p {
    font-size: 1.8rem !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
  }
  /* Card headings: tighter */
  .bk-benefit-card .elementor-widget-heading .elementor-heading-title[class*="elementor-size-"] {
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }
  /* Card body text: compact */
  .bk-benefit-card .elementor-widget-text-editor:not(:first-child) p {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
  }
  /* Feature cards: 2-column on mobile (parent is flex-row wrap) */
  .bk-feat-card.e-con {
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
    min-width: 0 !important;
    flex: 0 0 calc(50% - 12px) !important;
    flex-direction: column !important;
    text-align: center;
    padding: 12px 14px !important;
    gap: 6px !important;
  }
  .bk-feat-card .elementor-widget-text-editor:first-child p {
    font-size: 1.8rem !important;
    line-height: 1 !important;
    margin-bottom: 0 !important;
  }
  .bk-feat-card .elementor-widget-heading .elementor-heading-title[class*="elementor-size-"] {
    font-size: 1rem !important;
    line-height: 1.2 !important;
  }
  .bk-feat-card .elementor-widget-text-editor:not(:first-child) p {
    font-size: 0.85rem !important;
    line-height: 1.4 !important;
    margin-bottom: 0 !important;
  }

  /* 5f. Footer: proper wrapping of legal links */
  .bk-footer-legal {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 4px 8px !important;
    font-size: 0.8rem !important;
    padding: 0 16px !important;
  }
  .bk-footer-copy {
    font-size: 0.72rem !important;
    padding: 8px 16px 24px !important;
    line-height: 1.5 !important;
  }

  /* 5g. Newsletter section: stack input and button vertically */
  /* Newsletter: stack input + button vertically (HTML widget hm_nl_form) */
  
  
  
  .e-con input[type="email"],
  .e-con input[type="text"] {
    font-size: 16px !important; /* Prevent iOS zoom */
    width: 100% !important;
  }

  /* 5h. CTA buttons: full width on mobile */
  

  /* 5i. Product grid gap on mobile */
  .woocommerce ul.products {
    gap: 16px !important;
  }

  /* 5j. Accessibility button spacing */
  .pojo-a11y-toolbar-toggle,
  [data-a11y-dialog-show] {
    z-index: 998 !important;
  }

  /* 5k. Touch targets: minimum 44px height for interactive elements */
  .ast-header-break-point .ast-builder-menu .main-navigation .menu-item .menu-link {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
  .bk-filter-tab,
  .bk-tab {
    min-height: 44px !important;
    padding: 10px 16px !important;
  }

  /* 5k-bis. Filter tabs: horizontal scroll instead of wrapping */
  .bk-filter-tabs,
  .bk-tabs,
  .elementor-widget-html .bk-filter-tabs,
  .elementor-widget-html .bk-tabs {
    display: flex !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    flex-wrap: nowrap !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    padding-bottom: 4px !important;
  }
  .bk-filter-tabs::-webkit-scrollbar,
  .bk-tabs::-webkit-scrollbar {
    display: none;
  }
  .bk-filter-tab,
  .bk-tab {
    white-space: nowrap !important;
    flex-shrink: 0 !important;
    font-size: 0.85rem !important;
  }

  /* 5l. Breadcrumb text size on mobile */
  .e-con.bk-hero-gradient .elementor-widget-text-editor {
    font-size: 0.85rem !important;
  }

  /* 5m. Images: ensure they never overflow containers */
  img, video, iframe:not(#mosaic-iframe) {
    max-width: 100% !important;
    height: auto !important;
  }
  #mosaic-iframe {
    max-width: 100% !important;
    /* height is set dynamically by JS — do NOT override with auto */
  }
  /* Exception for specific sized elements */
  .bk-cart-svg,
  .emoji,
  .wc-block-cart-item__image img {
    max-width: none !important;
    height: auto !important;
  }
  .wc-block-cart-item__image img {
    width: 70px !important;
  }

  /* 5n. Store page: reduce stacked padding between map and CTA */
  
  
  
  
  

}

/* ── 6. SMALL MOBILE (max 480px): Fine-tuning ── */
@media (max-width: 480px) {
  /* Even tighter section padding */
  .e-con.e-parent {
    padding-top: 28px !important;
    padding-bottom: 28px !important;
  }

  /* Hero headings smaller */
  h1.elementor-heading-title,
  .elementor-widget-heading h1.elementor-heading-title,
  .e-con.bk-hero-gradient h1 {
    font-size: 1.5rem !important;
  }
  h2.elementor-heading-title,
  .elementor-widget-heading h2.elementor-heading-title {
    font-size: 1.3rem !important;
  }

  /* Product grid: 2 columns on mobile (mobile-commerce best practice) */
  .woocommerce ul.products[class*="columns-"] {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* Hero buttons: still 2x2 but smaller */
  .bk-hero-btn .elementor-button {
    padding: 10px 6px !important;
    font-size: 0.8rem !important;
  }

  /* Filter tabs: smaller on very small screens (scroll handled at 767px) */
  .bk-filter-tab,
  .bk-tab {
    font-size: 0.8rem !important;
    padding: 8px 14px !important;
    min-height: 36px !important;
  }

  /* Benefit cards: even tighter on small mobile */
  .bk-benefit-card.e-con {
    padding: 10px 12px !important;
    gap: 4px !important;
  }
  .bk-benefit-card .elementor-widget-text-editor:first-child p {
    font-size: 1.5rem !important;
  }
  .bk-benefit-card .elementor-widget-heading .elementor-heading-title[class*="elementor-size-"] {
    font-size: 0.9rem !important;
  }
  .bk-benefit-card .elementor-widget-text-editor:not(:first-child) p {
    font-size: 0.8rem !important;
  }
  /* Feature cards: tighter at 480px */
  .bk-feat-card.e-con {
    padding: 10px 12px !important;
    gap: 4px !important;
  }
  .bk-feat-card .elementor-widget-text-editor:first-child p {
    font-size: 1.5rem !important;
  }
  .bk-feat-card .elementor-widget-heading .elementor-heading-title[class*="elementor-size-"] {
    font-size: 0.9rem !important;
  }
  .bk-feat-card .elementor-widget-text-editor:not(:first-child) p {
    font-size: 0.8rem !important;
  }

  /* Hero: even tighter on small mobile */
  .e-con.e-parent.bk-hero-gradient {
    --padding-top: 20px !important;
    --padding-bottom: 16px !important;
    padding: 20px 16px 16px !important;
    gap: 6px !important;
  }

  /* Store/Kontakt info cards: tighter */
  .page-id-258 .bk-benefit-card.e-con,
  .page-id-259 .e-con .e-con {
    padding: 16px !important;
  }

  /* Mini-cart: bottom sheet on small mobile */
  .bk-mini-cart {
    position: fixed !important;
    top: auto !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    border-radius: 20px 20px 0 0 !important;
    max-height: 60vh !important;
  }

  /* Cart/Checkout page headings */
  body.woocommerce-cart .entry-title,
  body.woocommerce-checkout .entry-title {
    font-size: 1.4rem !important;
    padding: 36px 16px 32px !important;
  }

  /* Scroll-to-top: smaller and above a11y button */
  .bk-scroll-top {
    bottom: 110px !important;
    right: 12px !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 1rem !important;
  }

  /* Store page: reduce gap between map and CTA (also needed at 480px) */
  
  
  
  
}

/* Hide mobile cart icon on desktop */
#bk-mobile-cart { display: none; }
/* Hide mobile cart on Warenkorb &amp; Kasse — they ARE the cart pages, icon is redundant */
body.woocommerce-cart #bk-mobile-cart,
body.woocommerce-checkout #bk-mobile-cart { display: none !important; }

/* ── 7. MOBILE HEADER: Cart icon in header bar + hamburger menu ── */
@media (max-width: 921px) {
  /* 7a. Mobile header right section: flex row with cart + hamburger aligned */
  .ast-mobile-header-wrap .site-header-primary-section-right {
    display: flex !important;
    align-items: center !important;
    gap: 16px;
  }
  .ast-mobile-header-wrap .site-header-primary-section-right .ast-builder-layout-element {
    display: flex !important;
    align-items: center !important;
  }

  /* 7b. Mobile cart icon — lives inside header right section (inserted by JS) */
  #bk-mobile-cart {
    position: relative;
    display: flex !important;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    text-decoration: none;
    flex-shrink: 0;
  }
  #bk-mobile-cart svg {
    width: 32px;
    height: 32px;
    stroke: #2A352B;
  }
  #bk-mobile-cart .bk-mobile-badge {
    position: absolute;
    top: -6px;
    right: -8px;
    background: #E53935;
    color: white;
    min-width: 16px;
    height: 16px;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 700;
    display: none;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0 3px;
    font-family: "Nunito", sans-serif;
    border: 2px solid white;
  }

  /* 7c. Hide cart item from hamburger menu — mobile header icon handles it */
  .ast-builder-menu .main-navigation .menu-item-384 {
    display: none !important;
  }

  /* 7c. Mobile menu spacing */
  .ast-header-break-point .ast-builder-menu .main-navigation .menu-item {
    border-bottom: 1px solid #E8F5E9 !important;
  }
  .ast-header-break-point .ast-builder-menu .main-navigation .menu-item:last-child {
    border-bottom: none !important;
  }
}

/* ── 8. LANDSCAPE PHONE (max-height: 500px, orientation: landscape) ── */
@media (max-height: 500px) and (orientation: landscape) {
  .e-con.bk-hero-gradient {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
    min-height: auto !important;
  }
  .e-con.bk-hero-gradient h1 {
    font-size: 1.4rem !important;
  }
  .site-header {
    position: relative !important; /* Don't waste space with sticky header in landscape */
  }
}

/* ── 9. TABLET PORTRAIT SPECIFIC (768px exactly — iPad) ── */
@media (width: 768px) {
  .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/* ── 10. HIGH-DPI / RETINA TOUCH REFINEMENTS ── */
@media (hover: none) and (pointer: coarse) {
  /* Remove hover-only effects on touch devices */
  .bk-benefit-card:hover,
  .bk-feat-card:hover,
  .bk-event-card:hover {
    transform: none !important;
    box-shadow: 0 2px 16px rgba(27, 94, 32, 0.10) !important;
  }
  /* Ensure tap feedback instead */
  .bk-benefit-card:active,
  .bk-feat-card:active,
  .bk-event-card:active {
    transform: scale(0.98) !important;
    transition: transform 0.1s ease !important;
  }
  /* Larger touch targets for filter tabs */
  .bk-filter-tab {
    min-height: 44px !important;
    min-width: 44px !important;
  }
  /* Remove mini-cart hover trigger — touch users tap */
  .bk-mini-cart {
    display: none !important;
  }
  .bk-cart-link {
    pointer-events: auto;
  }
}

/* === "AB" PRICE PREFIX FOR EVENTS PRODUCTS === */
/* Events product cards — flex layout for equal-height cards.
   MUSS auf das Raster beschränkt bleiben: die Kategorie-Klasse sitzt auch am
   `div.product` der EINZELNEN Produktseite, und dort hat `flex-direction:column`
   Galerie und Beschreibung untereinander gestapelt statt nebeneinander. */
ul.products li.product_cat-events-workshops {
  display: flex !important;
  flex-direction: column !important;
}
.product_cat-events-workshops .astra-shop-summary-wrap {
  display: flex !important;
  flex-direction: column !important;
  flex: 1 !important;
}

/* Hide price, tax info, and shipping info on event products */
.product_cat-events-workshops .price,
.product_cat-events-workshops .tax_label,
.product_cat-events-workshops .woocommerce-shipping-text,
.product_cat-events-workshops .woocommerce-Price-taxLabel,
.product_cat-events-workshops .wgm-info,
#ev_wc_products .price,
#ev_wc_products .tax_label,
#ev_wc_products .woocommerce-shipping-text,
#ev_wc_products .wgm-info {
  display: none !important;
}

/* Style for event product offer text (injected from short_description via JS) */
.product_cat-events-workshops .bk-event-offer-text {
  color: var(--bk-green-primary, #2E7D32);
  font-size: 0.95em;
  font-weight: 600;
  margin: 8px 0 4px;
  padding: 6px 14px;
}

/* Push "Jetzt anfragen" button to the bottom of the card */
.product_cat-events-workshops .product_type_external,
.product_cat-events-workshops a.button[href*="kontakt"] {
  margin-top: auto !important;
  background: var(--bk-green-primary, #2E7D32) !important;
  color: #fff !important;
  border-radius: 8px !important;
  font-weight: 700 !important;
  transition: background 0.3s ease, transform 0.2s ease !important;
}
.product_cat-events-workshops .product_type_external:hover,
.product_cat-events-workshops a.button[href*="kontakt"]:hover {
  background: var(--bk-green-dark, #1F5624) !important;
  transform: translateY(-1px) !important;
}

/* Event product detail page — "Jetzt anfragen" button styling */
.single-product .product_type_external.button,
.single-product a.single_add_to_cart_button[href*="kontakt"] {
  background: var(--bk-green-primary, #2E7D32) !important;
  color: #fff !important;
  font-size: 18px !important;
  padding: 14px 36px !important;
  border-radius: 10px !important;
  font-weight: 700 !important;
  transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease !important;
}
.single-product .product_type_external.button:hover,
.single-product a.single_add_to_cart_button[href*="kontakt"]:hover {
  background: var(--bk-green-dark, #1F5624) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 16px rgba(27, 94, 32, 0.25) !important;
}

/* ═══════════════════════════════════════════════════════════════════════
   LEGO ANKAUF PAGE (page-id-575)
   ═══════════════════════════════════════════════════════════════════════ */

/* ── Steps grid: 5 cards in one row on desktop ── */


/* Step card number badges — green pill with white text */


/* Step cards: remove top green border, use subtle border instead */



/* Step card text: proper size */


/* Step card icons: consistent size */


/* ── CTA button in steps section: ensure visibility ── */




/* ── "LEGO wir kaufen" cards: larger with hover effect ── */



/* ── "Vermeide diese Fehler" section: polished cards ── */



/* ── CTA bottom section: match other pages ── */





/* ── Ankauf page responsive ── */



/* === MAILPOET NEWSLETTER FORM STYLING === */
#mailpoet_form_1 {
  max-width: 500px !important;
  margin: 0 auto !important;
}
#mailpoet_form_1 form.mailpoet_form {
  padding: 0 !important;
}
#mailpoet_form_1 .mailpoet_paragraph {
  margin-bottom: 12px !important;
}
#mailpoet_form_1 .mailpoet_text {
  width: 100% !important;
  padding: 14px 20px !important;
  border: 2px solid #A5D6A7 !important;
  border-radius: 12px !important;
  font-family: Nunito, sans-serif !important;
  font-size: 1rem !important;
  outline: none !important;
  background: #fff !important;
  box-sizing: border-box !important;
  transition: border-color 0.3s ease !important;
}
#mailpoet_form_1 .mailpoet_text:focus {
  border-color: #2E7D32 !important;
  box-shadow: 0 0 0 3px rgba(46,125,50,0.15) !important;
}
#mailpoet_form_1 .mailpoet_submit {
  width: 100% !important;
  padding: 14px 28px !important;
  background: #2E7D32 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: Nunito, sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  transition: all 0.3s ease !important;
}
#mailpoet_form_1 .mailpoet_submit:hover {
  background: #256d29 !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 12px rgba(46,125,50,0.3) !important;
}
#mailpoet_form_1 .mailpoet_message {
  text-align: center !important;
  font-family: Nunito, sans-serif !important;
  margin-top: 12px !important;
  color: #fff !important;
  max-width: 100% !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  white-space: normal !important;
  width: auto !important;
  font-size: 1rem !important;
  line-height: 1.6 !important;
}
#mailpoet_form_1 .mailpoet_validate_success {
  color: #A5D6A7 !important;
  font-weight: 600 !important;
}
#mailpoet_form_1 .mailpoet_validate_error {
  color: #ffcdd2 !important;
}
/* CAPTCHA page styling */
#mailpoet_form_1 .mailpoet_paragraph label {
  color: #fff !important;
  font-family: Nunito, sans-serif !important;
}
#mailpoet_form_1 .mailpoet_captcha {
  border-radius: 8px !important;
}
/* MailPoet captcha page (standalone) */
.mailpoet-captcha-form {
  max-width: 500px !important;
  margin: 40px auto !important;
  padding: 30px !important;
  font-family: Nunito, sans-serif !important;
}
.mailpoet-captcha-form input[type="text"] {
  width: 100% !important;
  padding: 12px 16px !important;
  border: 2px solid #A5D6A7 !important;
  border-radius: 10px !important;
  font-size: 1rem !important;
  box-sizing: border-box !important;
}
.mailpoet-captcha-form input[type="submit"] {
  width: 100% !important;
  padding: 14px !important;
  background: #2E7D32 !important;
  color: #fff !important;
  border: none !important;
  border-radius: 12px !important;
  font-family: Nunito, sans-serif !important;
  font-weight: 600 !important;
  font-size: 1rem !important;
  cursor: pointer !important;
  margin-top: 12px !important;
}

/* ==============================================================
   MOBILE FIX: Events, Kasse, Mosaik — March 2026
   ============================================================== */

/* ── EVENTS PAGE: Vorteile cards (min-width: 400px override) ── */
/* These horizontal cards (icon + text) have 400px min-width in Elementor
   which overflows on mobile. Force single-column stacking. */
@media (max-width: 1024px) {
  .bk-vorteile-grid.e-con .e-con {
    min-width: 0 !important;
    flex: 1 1 calc(50% - 12px) !important;
    width: calc(50% - 12px) !important;
    max-width: calc(50% - 12px) !important;
  }
}
@media (max-width: 767px) {
  .bk-vorteile-grid.e-con .e-con {
    flex: 1 1 100% !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-direction: row !important;
  }
  .bk-vorteile-grid.e-con {
    display: flex !important;
    flex-direction: column !important;
    gap: 12px !important;
  }
  /* Keep icon+text side by side within each card */
  .bk-vorteile-grid.e-con .e-con .e-con {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: none !important;
  }
}

/* ── EVENTS PAGE: Ablauf step cards — single column on mobile ── */
/* 5 step cards look awkward in 2-col (orphan 5th). Single-col is cleaner. */


/* ── EVENTS PAGE: CTA buttons — stack on mobile ── */


/* ── EVENTS PAGE: WC product cards on mobile ── */
@media (max-width: 767px) {
  .page-id-403 .woocommerce ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }
  .page-id-403 .woocommerce ul.products li.product {
    width: 100% !important;
    margin: 0 !important;
  }
  /* Event offer text: ensure readable */
  .product_cat-events-workshops .bk-event-offer-text {
    font-size: 0.85em !important;
    padding: 6px 12px !important;
  }
  /* Hide floating icon button on mobile — redundant with text button */
  .product_cat-events-workshops .ast-on-card-button {
    display: none !important;
  }
  /* Summary wrap: category label doesn't need extra space */
  .product_cat-events-workshops .ast-woo-product-category {
    margin-bottom: 4px !important;
  }
  /* "Unverbindliches Angebot" text: tighter spacing on mobile */
  .product_cat-events-workshops .bk-event-offer-text {
    margin: 4px 0 12px !important;
  }
  /* "Jetzt anfragen" text button: compact */
  .product_cat-events-workshops a.button.product_type_external {
    display: inline-block !important;
    width: auto !important;
    margin: 0 12px 12px !important;
    padding: 10px 28px !important;
    font-size: 0.9rem !important;
    text-align: center !important;
    line-height: 1.3 !important;
    box-sizing: border-box !important;
    border-radius: 8px !important;
    background: var(--bk-green-primary, #2E7D32) !important;
    color: #fff !important;
    font-weight: 700 !important;
  }
}

/* ── MOSAIK PAGE: iframe responsive fix ── */
/* Mobile: reduce min-height and allow touch scrolling */
@media (max-width: 767px) {
  .page-id-264 #mosaic-iframe {
    min-height: 400px !important;
    width: 100% !important;
    -webkit-overflow-scrolling: touch;
  }
  /* Give the iframe container more breathing room */
  
  .page-id-264 .e-con-inner {
    padding: 4px 0 !important;
  }
  /* Reduce hero on mosaic page */
  
}
@media (max-width: 480px) {
  .page-id-264 #mosaic-iframe {
    min-height: 350px !important;
  }
}
/* Mosaic page: ensure HTML widgets below iframe don't get cut off */
.page-id-264 .elementor-widget-html {
  overflow: visible !important;
}

/* ── KASSE (CHECKOUT): Tablet sidebar fix ── */
/* Wrap sidebar earlier on tablets (921px) instead of waiting until 768px */
@media (max-width: 921px) {
  .wc-block-checkout .wc-block-components-sidebar-layout {
    flex-wrap: wrap !important;
    gap: 20px !important;
  }
  .wc-block-checkout .wc-block-components-main {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  .wc-block-checkout .wc-block-components-sidebar {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
  .wp-block-woocommerce-checkout-order-summary-block {
    position: static !important;
  }
  /* Also wrap cart sidebar at same breakpoint */
  .wc-block-cart .wc-block-components-sidebar-layout {
    flex-wrap: wrap !important;
  }
  .wc-block-cart .wc-block-components-sidebar {
    flex: 1 1 100% !important;
    max-width: 100% !important;
  }
}

/* ── KASSE: Form fields + tap targets ── */
@media (max-width: 767px) {
  /* Checkout form: tighter padding */
  .wp-block-woocommerce-checkout-fields-block {
    padding: 16px !important;
    border-radius: 12px !important;
  }
  .wp-block-woocommerce-checkout-order-summary-block {
    padding: 16px !important;
    border-radius: 12px !important;
  }
  /* Radio options: bigger tap targets */
  .wc-block-components-radio-control__option {
    min-height: 48px !important;
    padding: 14px 12px 14px 44px !important;
  }
  /* Radio input: larger hitbox */
  .wc-block-components-radio-control__input {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
  }
  /* Input fields: proper mobile sizing (prevent iOS zoom on focus = 16px) plus
     WC's asymmetric top-heavy padding (desktop uses 24px 9px 8px). The earlier
     symmetric 12px top padding removed the headroom WC reserves for the floated
     label, so on phones the label collided with / crowded the value (both text
     inputs AND the always-floated <select> labels Land/Region + Bundesland).
     Restoring the top headroom fixes both at once. */
  .wc-block-components-text-input input,
  .wc-block-components-combobox .components-combobox-control input,
  .wc-block-components-text-input textarea,
  .wc-blocks-components-select__select {
    font-size: 16px !important;
    padding: 24px 14px 8px !important;
    min-height: 52px !important;
  }
  /* Labels: smaller to not crowd fields */
  .wc-block-components-text-input label {
    font-size: 0.85rem !important;
  }
  /* Place order button: full width, prominent */
  .wc-block-components-checkout-place-order-button {
    padding: 16px 24px !important;
    font-size: 1rem !important;
    min-height: 52px !important;
    border-radius: 10px !important;
  }
  /* Back to cart link: proper tap target */
  .wc-block-components-checkout-return-to-cart-button {
    min-height: 44px !important;
    display: inline-flex !important;
    align-items: center !important;
    font-size: 0.9rem !important;
  }
  /* Step headings: tighter on mobile */
  .wc-block-components-checkout-step__heading {
    font-size: 1rem !important;
    margin-bottom: 8px !important;
  }
  /* Step containers: less spacing */
  .wc-block-components-checkout-step__container {
    padding-bottom: 16px !important;
    margin-bottom: 16px !important;
  }
  /* Payment method accordion content: less left padding */
  .wc-block-checkout .wc-block-components-radio-control-accordion-content {
    padding: 10px 0 4px 40px !important;
  }
  /* Cart/checkout hero titles */
  body.woocommerce-cart .entry-title,
  body.woocommerce-checkout .entry-title {
    padding: 32px 16px 28px !important;
    font-size: 1.4rem !important;
  }
  body.woocommerce-cart .entry-title::after,
  body.woocommerce-checkout .entry-title::after {
    font-size: 0.82rem !important;
    margin-top: 10px !important;
  }
  /* Content padding */
  body.woocommerce-cart .entry-content,
  body.woocommerce-checkout .entry-content {
    padding: 20px 12px !important;
  }
  /* Order summary items: compact */
  .wc-block-components-order-summary-item {
    padding: 12px 0 !important;
  }
  .wc-block-components-order-summary-item__image img {
    width: 50px !important;
    height: 50px !important;
    border-radius: 8px !important;
  }
  .wc-block-components-order-summary-item__description .wc-block-components-product-name {
    font-size: 13px !important;
  }
  /* Checkout terms/policies text */
  .wc-block-checkout__terms .wc-block-components-checkbox__label,
  .wc-block-components-checkout-policies__text {
    font-size: 12px !important;
  }
  /* Checkbox: bigger tap target */
  .wc-block-components-checkbox {
    min-height: 44px !important;
    display: flex !important;
    align-items: center !important;
  }
  .wc-block-components-checkbox__input {
    width: 20px !important;
    height: 20px !important;
    min-width: 20px !important;
  }
  /* ── Bestellübersicht (order-summary panel): more side breathing + balanced
     rhythm. The labels (left) and bold green prices (right) sat too close to the
     card edges and the totals rows were spaced too airily, so the panel read as
     cramped horizontally yet sparse vertically. Give the card a touch more
     horizontal padding (28→34px) and tighten the vertical rhythm of the totals
     rows so it reads as a clean, intentional financial summary. */
  body.woocommerce-checkout.woocommerce-page .wp-block-woocommerce-checkout-order-summary-block {
    padding-left: 34px !important;
    padding-right: 34px !important;
  }
  body.woocommerce-checkout .wc-block-components-totals-item {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-subtotal-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-shipping-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-fee-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-discount-block,
  body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-taxes-block {
    padding-top: 8px !important;
  }
}

/* ── KASSE: Small mobile fine-tuning ── */
@media (max-width: 480px) {
  .wp-block-woocommerce-checkout-fields-block {
    padding: 12px !important;
  }
  .wp-block-woocommerce-checkout-order-summary-block {
    padding: 12px !important;
  }
  body.woocommerce-cart .entry-title,
  body.woocommerce-checkout .entry-title {
    font-size: 1.2rem !important;
    padding: 24px 12px 20px !important;
  }
  body.woocommerce-cart .entry-title::after,
  body.woocommerce-checkout .entry-title::after {
    font-size: 0.75rem !important;
  }
  /* Express payment: compact */
  .wc-block-checkout .wc-block-components-express-payment__title-container {
    font-size: 0.95rem !important;
  }
  /* Cart page items */
  .wc-block-cart-items .wc-block-cart-item__image {
    width: 60px !important;
    min-width: 60px !important;
  }
}

/* === MOSAIK PAGE (264) — "Was ist..." 2-column + "Was bekommst du?" 3+3 grid === */





/* Reduce whitespace around iframe section */



/* "Was bekommst du?" — 3 cards per row */



/* Mobile responsive */


/* ============================================================
   SECTION 19 — TEC Tickets Commerce Checkout Page
   Page slug: /tickets-checkout/  (page ID 710)
   Match the look of the WooCommerce /kasse/ page: green hero,
   white card, green CTA. CSS-only.
   ============================================================ */

/* Body class for this page is .page-id-710 */
body.page-id-710 .site-content {
  background: #F4F8F4;
}
body.page-id-710 #primary {
  margin-top: 0 !important;
  padding: 0 0 60px !important;
}
body.page-id-710 .site-content .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* Hide default page chrome */
body.page-id-710 .ast-article-single,
body.page-id-710 .post-710 {
  background: transparent !important;
  box-shadow: none !important;
  border: 0 !important;
  padding: 0 !important;
}

/* Hero banner (the page H1 "Kasse") — green gradient like the WC /kasse/ */
body.page-id-710 .entry-header {
  display: block !important;
  background: linear-gradient(135deg, #2A6B30 0%, #236B2A 50%, #1F5624 100%);
  padding: 80px 24px 80px !important;
  margin: 0 0 32px !important;
  text-align: center;
  position: relative;
  overflow: hidden;
}
body.page-id-710 .entry-header::before,
body.page-id-710 .entry-header::after {
  content: "";
  position: absolute;
  border-radius: 16px;
  background: rgba(255,255,255,0.08);
}
body.page-id-710 .entry-header::before {
  width: 140px; height: 140px;
  top: -40px; left: -40px;
  transform: rotate(20deg);
}
body.page-id-710 .entry-header::after {
  width: 100px; height: 100px;
  bottom: -30px; right: 8%;
  transform: rotate(-15deg);
  background: rgba(253, 216, 53, 0.18);
}
body.page-id-710 .entry-title {
  font-family: 'Fredoka', sans-serif !important;
  color: #fff !important;
  font-size: clamp(30px, 4vw, 40px) !important;
  font-weight: 600 !important;
  margin: 0 !important;
  line-height: 1.15 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,0.15);
  position: relative;
  z-index: 2;
}
body.page-id-710 .entry-title::after {
  content: "Nur noch wenige Schritte bis zu deinen Tickets.";
  display: block;
  font-family: 'Nunito', sans-serif;
  font-size: clamp(14px, 1.5vw, 17px);
  font-weight: 500;
  color: rgba(255,255,255,0.95);
  margin-top: 10px;
  text-shadow: none;
}

/* Main content container - centered card */
body.page-id-710 .entry-content {
  max-width: 1100px !important;
  margin: 0 auto !important;
  padding: 0 24px !important;
}
body.page-id-710 .tribe-common.event-tickets {
  background: #fff;
  border-radius: 16px;
  padding: 36px 40px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06);
  border: 1px solid #E5EAE5;
  max-width: 900px;
  margin: 0 auto;
}

/* "Tickets kaufen" header */
body.page-id-710 .tribe-tickets__commerce-checkout-header {
  margin: 0 0 24px !important;
  padding: 0 0 20px !important;
  border-bottom: 1px solid rgba(46,125,50,0.12);
}
body.page-id-710 .tribe-tickets__commerce-checkout-header-title {
  font-family: 'Fredoka', sans-serif !important;
  color: #1B5E20 !important;
  font-size: 24px !important;
  font-weight: 600 !important;
  margin: 0 !important;
  text-transform: none !important;
  display: flex;
  align-items: center;
  gap: 10px;
}
body.page-id-710 .tribe-tickets__commerce-checkout-header-title::before {
  content: "🎟️";
  font-size: 24px;
}

/* Empty cart state */
body.page-id-710 .tribe-tickets__commerce-checkout-cart-empty {
  text-align: center;
  padding: 40px 20px;
  background: #F7FAF7;
  border-radius: 12px;
  border: 1px solid rgba(46,125,50,0.12);
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-empty-title {
  font-family: 'Fredoka', sans-serif !important;
  color: #1B5E20 !important;
  font-size: 22px !important;
  font-weight: 600 !important;
  margin: 0 0 12px !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-empty-title::before {
  content: "🛒 ";
  margin-right: 6px;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-empty-description {
  color: #4A5A4C !important;
  font-size: 16px !important;
  line-height: 1.6 !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-empty-description-link {
  color: #2E7D32 !important;
  font-weight: 600;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(46,125,50,0.30);
  transition: all 0.2s ease;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-empty-description-link:hover {
  color: #1B5E20 !important;
  border-bottom-color: #1B5E20;
}

/* Notices */
body.page-id-710 .tribe-tickets__notice {
  background: #FFFEF5 !important;
  border: 1px solid rgba(253,216,53,0.5) !important;
  border-left: 3px solid #FDD835 !important;
  border-radius: 10px !important;
  padding: 14px 16px !important;
  margin: 0 0 18px !important;
  color: #4A5A4C !important;
}
body.page-id-710 .tribe-tickets__notice--error {
  background: #FFF5F5 !important;
  border: 1px solid rgba(220,38,38,0.30) !important;
  border-left: 3px solid #DC2626 !important;
}
body.page-id-710 .tribe-tickets-notice__title {
  font-family: 'Fredoka', sans-serif !important;
  color: #1B5E20 !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  margin: 0 0 6px !important;
}
body.page-id-710 .tribe-tickets__notice--error .tribe-tickets-notice__title {
  color: #DC2626 !important;
}

/* Cart items (when present) */
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item {
  display: grid !important;
  grid-template-columns: 1fr auto auto !important;
  gap: 14px 18px;
  align-items: center;
  background: #fff;
  border: 1px solid #E5EAE5;
  border-radius: 12px;
  padding: 18px 20px;
  margin: 14px 0 0;
  transition: border-color 0.2s ease, background 0.2s ease;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item:hover {
  border-color: #2E7D32;
  background: #F9FCF9;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-details-title,
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-event-title {
  font-family: 'Fredoka', sans-serif !important;
  color: #1B5E20 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-event-date {
  color: #5A6B5C !important;
  font-size: 14px !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-quantity-number,
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-price {
  font-family: 'Fredoka', sans-serif !important;
  color: #1B5E20 !important;
  font-weight: 600 !important;
  font-size: 18px !important;
}

/* Footer (totals + buy CTA) */
body.page-id-710 .tribe-tickets__commerce-checkout-footer {
  margin-top: 24px !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(46,125,50,0.12);
}
body.page-id-710 .tribe-tickets__commerce-checkout-footer-total,
body.page-id-710 .tribe-tickets__commerce-checkout-footer-quantity {
  font-family: 'Fredoka', sans-serif;
  color: #1B5E20;
  font-size: 18px;
  font-weight: 600;
}

/* Primary CTA button (any submit/buy button on this page) */
body.page-id-710 .tribe-tickets__commerce-checkout button[type="submit"],
body.page-id-710 .tribe-common-c-btn,
body.page-id-710 .tribe-tickets__commerce-checkout-form-submit-button {
  background: #2E7D32 !important;
  color: #fff !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 16px !important;
  padding: 14px 28px !important;
  border-radius: 8px !important;
  border: 0 !important;
  box-shadow: 0 2px 6px rgba(46,125,50,0.20) !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  cursor: pointer;
  transition: all 0.2s ease !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout button[type="submit"]:hover:not([disabled]),
body.page-id-710 .tribe-common-c-btn:hover:not([disabled]),
body.page-id-710 .tribe-tickets__commerce-checkout-form-submit-button:hover:not([disabled]) {
  background: #1B5E20 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(46,125,50,0.30) !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout button[type="submit"][disabled],
body.page-id-710 .tribe-common-c-btn[disabled] {
  background: #E5EAE5 !important;
  color: #98A39B !important;
  box-shadow: none !important;
  cursor: not-allowed !important;
  opacity: 1 !important;
  transform: none !important;
}

/* Form fields styling */
body.page-id-710 .tribe-tickets__commerce-checkout input[type="text"],
body.page-id-710 .tribe-tickets__commerce-checkout input[type="email"],
body.page-id-710 .tribe-tickets__commerce-checkout input[type="tel"],
body.page-id-710 .tribe-tickets__commerce-checkout select,
body.page-id-710 .tribe-tickets__commerce-checkout textarea {
  background: #fff !important;
  border: 1px solid #E5EAE5 !important;
  border-radius: 8px !important;
  padding: 12px 14px !important;
  font-size: 15px !important;
  color: #2A352B !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
body.page-id-710 .tribe-tickets__commerce-checkout input:focus,
body.page-id-710 .tribe-tickets__commerce-checkout select:focus,
body.page-id-710 .tribe-tickets__commerce-checkout textarea:focus {
  border-color: #2E7D32 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(46,125,50,0.12) !important;
}

/* Loader spinner — green dots */
body.page-id-710 .tribe-tickets-loader__dots .tribe-common-c-svgicon {
  fill: #2E7D32 !important;
}

/* RESPONSIVE */
@media (max-width: 720px) {
  body.page-id-710 .tribe-common.event-tickets {
    padding: 24px 20px !important;
    border-radius: 12px;
    margin: 0 14px;
  }
  body.page-id-710 .entry-header { padding: 40px 20px 50px !important; }
  body.page-id-710 .tribe-tickets__commerce-checkout-cart-item {
    grid-template-columns: 1fr !important;
    text-align: left;
  }
}

/* =====================================================
   TEC TICKETS — ORDER SUCCESS PAGE (page-id-711)
   "Bestellung abgeschlossen" — match BRICKONAS theme
   ===================================================== */

/* Container/wrapper consistency with other pages */
body.page-id-711 .site-content {
  background: #F7FAF7 !important;
}
body.page-id-711 #primary { margin-top: 0 !important; }
body.page-id-711 .site-content .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-id-711 .ast-article-single,
body.page-id-711 .post-711 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Hero header — matching Warenkorb/Kasse green hero */
body.page-id-711 .entry-header {
  margin: 0 -100vw 40px !important;
  padding: 80px 24px 80px !important;
  background: linear-gradient(135deg, #2A6B30 0%, #236B2A 50%, #1F5624 100%) !important;
  color: #fff !important;
  text-align: center !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: inset 0 -100vw 0 0 transparent;
}
body.page-id-711 .entry-header &gt; * { position: relative; z-index: 2; }
body.page-id-711 .entry-header::before,
body.page-id-711 .entry-header::after {
  content: '';
  position: absolute;
  background: rgba(255,255,255,0.06);
  border-radius: 8px;
  z-index: 1;
}
body.page-id-711 .entry-header::before {
  width: 80px; height: 80px;
  top: 20px; left: 8%;
  transform: rotate(15deg);
}
body.page-id-711 .entry-header::after {
  width: 110px; height: 110px;
  bottom: 16px; right: 10%;
  transform: rotate(-12deg);
}
body.page-id-711 .entry-title {
  color: #fff !important;
  font-size: clamp(28px, 4vw, 44px) !important;
  font-weight: 800 !important;
  margin: 0 !important;
  letter-spacing: -0.02em;
  line-height: 1.2;
}
body.page-id-711 .entry-title::after {
  content: 'Vielen Dank für deinen Ticket-Kauf! Deine Tickets mit QR-Code findest du in der Bestätigungs-E-Mail.';
  display: block;
  font-size: 16px;
  font-weight: 400;
  margin-top: 14px;
  opacity: 0.95;
  letter-spacing: 0;
  max-width: 640px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.5;
}

/* Main content card */
body.page-id-711 .entry-content {
  max-width: 760px !important;
  margin: 0 auto 60px !important;
  padding: 0 20px !important;
}
body.page-id-711 .tribe-tickets__commerce-order-success,
body.page-id-711 .tribe-tickets__commerce-order {
  background: #fff !important;
  padding: 36px 40px !important;
  border-radius: 18px !important;
  box-shadow: 0 6px 24px rgba(0,0,0,0.06) !important;
  border: 1px solid #E5EFE6 !important;
}

/* "Bestellung erhalten!" sub-heading — broad selector since TEC may use either class */
body.page-id-711 .tribe-tickets__commerce-order-header-title,
body.page-id-711 .tribe-tickets__commerce-order h2,
body.page-id-711 .tribe-tickets__commerce-order h3 {
  color: #1B5E20 !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  margin: 0 0 22px !important;
  padding-bottom: 16px !important;
  border-bottom: 2px solid #E5EFE6 !important;
  position: relative;
  display: flex !important;
  align-items: center;
  gap: 14px;
}
body.page-id-711 .tribe-tickets__commerce-order-header-title::before,
body.page-id-711 .tribe-tickets__commerce-order h2:first-child::before {
  content: '✓';
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  line-height: 36px;
  text-align: center;
  background: linear-gradient(135deg, #2E7D32, #1B5E20);
  color: #fff !important;
  border-radius: 50%;
  font-size: 18px;
  font-weight: 700;
  box-shadow: 0 2px 6px rgba(46,125,50,0.25);
}

/* Order details — target every common pattern TEC uses */
body.page-id-711 .tribe-tickets__commerce-order-details,
body.page-id-711 .tribe-tickets__commerce-order &gt; dl,
body.page-id-711 .tribe-tickets__commerce-order-description + dl,
body.page-id-711 .tribe-tickets__commerce-order .tribe-common-b1 + dl {
  display: grid !important;
  grid-template-columns: 180px 1fr !important;
  gap: 14px 24px !important;
  background: #F7FAF7 !important;
  padding: 20px 24px !important;
  border-radius: 12px !important;
  margin: 0 0 28px !important;
  border-left: 4px solid #2E7D32 !important;
}
body.page-id-711 .tribe-tickets__commerce-order dl dt,
body.page-id-711 .tribe-tickets__commerce-order-details dt {
  font-weight: 600 !important;
  color: #5A6B5C !important;
  font-size: 14px !important;
  margin: 0 !important;
}
body.page-id-711 .tribe-tickets__commerce-order dl dd,
body.page-id-711 .tribe-tickets__commerce-order-details dd {
  margin: 0 !important;
  color: #1A2E1C !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  word-break: break-all;
}

/* "Deine Tickets" section heading */
body.page-id-711 .tribe-tickets__commerce-order-tickets-title,
body.page-id-711 .tribe-tickets__commerce-order h3:not(:first-child),
body.page-id-711 .tribe-tickets__commerce-order h2:not(:first-child),
body.page-id-711 .tribe-tickets__commerce-order h4 {
  color: #1B5E20 !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin: 32px 0 18px !important;
  display: block !important;
  border: none !important;
  padding: 0 !important;
}
body.page-id-711 .tribe-tickets__commerce-order h3:not(:first-child)::before,
body.page-id-711 .tribe-tickets__commerce-order h2:not(:first-child)::before,
body.page-id-711 .tribe-tickets__commerce-order h4::before { content: none; }

/* Tickets list */
body.page-id-711 .tribe-tickets__commerce-order-tickets-list,
body.page-id-711 .tribe-tickets__commerce-order ul,
body.page-id-711 .tribe-tickets__commerce-order-tickets {
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
  list-style: none !important;
  padding: 0 !important;
  margin: 0 0 28px !important;
}
body.page-id-711 .tribe-tickets__commerce-order-ticket,
body.page-id-711 .tribe-tickets__commerce-order-tickets-list-item,
body.page-id-711 .tribe-tickets__commerce-order ul &gt; li {
  background: #fff !important;
  border: 1.5px solid #E5EFE6 !important;
  border-left: 4px solid #2E7D32 !important;
  border-radius: 10px !important;
  padding: 18px 22px !important;
  transition: border-color 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  list-style: none !important;
}
body.page-id-711 .tribe-tickets__commerce-order-ticket:hover,
body.page-id-711 .tribe-tickets__commerce-order-tickets-list-item:hover,
body.page-id-711 .tribe-tickets__commerce-order ul &gt; li:hover {
  border-color: #2E7D32 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(46,125,50,0.08);
}

/* Footer action links */
body.page-id-711 .tribe-tickets__commerce-order-links,
body.page-id-711 .tribe-tickets__commerce-order-footer,
body.page-id-711 .tribe-tickets__commerce-order p:last-child {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px 28px !important;
  padding-top: 22px !important;
  border-top: 2px solid #E5EFE6 !important;
  margin-top: 28px !important;
}
body.page-id-711 .tribe-tickets__commerce-order-links a,
body.page-id-711 .tribe-tickets__commerce-order-footer a,
body.page-id-711 .tribe-tickets__commerce-order p:last-child a {
  color: #2E7D32 !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  border-bottom: 2px solid transparent;
  transition: border-color 0.2s ease, color 0.2s ease;
}
body.page-id-711 .tribe-tickets__commerce-order-links a:hover,
body.page-id-711 .tribe-tickets__commerce-order-footer a:hover,
body.page-id-711 .tribe-tickets__commerce-order p:last-child a:hover {
  color: #1B5E20 !important;
  border-bottom-color: #FDD835 !important;
}

/* =====================================================
   TEC TICKETS — NOTICE BANNER ON CHECKOUT (page-id-710)
   Inform users this is a separate ticket checkout
   ===================================================== */
body.page-id-710 .tribe-common.event-tickets::before {
  content: 'Ticket-Bestellung — Tickets werden separat von Shop-Produkten abgerechnet und können nicht im gleichen Warenkorb kombiniert werden. Du wirst nach dem Klick auf "Jetzt bezahlen" sicher zur Zahlung weitergeleitet.';
  display: block;
  background: linear-gradient(135deg, #FFFAE6, #FFF6CC);
  border-left: 4px solid #FDD835;
  border-radius: 10px;
  padding: 16px 20px 16px 50px;
  margin-bottom: 24px;
  color: #5A4E0A;
  font-size: 14px;
  line-height: 1.55;
  font-weight: 500;
  position: relative;
}
body.page-id-710 .tribe-common.event-tickets::after {
  content: 'ℹ';
  position: absolute;
  left: 18px;
  top: 14px;
  width: 24px;
  height: 24px;
  line-height: 24px;
  text-align: center;
  background: #FDD835;
  color: #5A4E0A;
  font-weight: 700;
  border-radius: 50%;
  font-size: 14px;
}

/* Make sure the page-id-710 wrapper allows ::after positioning */
body.page-id-710 .tribe-common.event-tickets {
  position: relative;
}

/* Ensure footer is visible on TEC pages — Astra sometimes hides on minimal layouts */
body.page-id-710 .site-footer,
body.page-id-711 .site-footer {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
}

/* Add bottom margin so footer doesn't hug the card */
body.page-id-710 .entry-content,
body.page-id-711 .entry-content {
  padding-bottom: 60px !important;
}

/* Responsive — order success page */
@media (max-width: 720px) {
  body.page-id-711 .entry-header { padding: 40px 20px 50px !important; }
  body.page-id-711 .tribe-tickets__commerce-order-success,
  body.page-id-711 .tribe-tickets__commerce-order {
    padding: 24px 20px !important;
    border-radius: 12px;
    margin: 0 14px;
  }
  body.page-id-711 .tribe-tickets__commerce-order-success-order-info,
  body.page-id-711 .tribe-tickets__commerce-order-success-list {
    grid-template-columns: 1fr !important;
    gap: 4px 0 !important;
  }
  body.page-id-711 .tribe-tickets__commerce-order-success-order-info dt,
  body.page-id-711 .tribe-tickets__commerce-order-success-list dt {
    margin-top: 10px !important;
  }
  body.page-id-710 .tribe-common.event-tickets::before {
    font-size: 13px;
    padding: 14px 16px;
  }
}

/* =====================================================
   TEC TICKETS — FINAL DESIGN POLISH (Pages 710 &amp; 711)
   Center containers properly, fix layout issues
   ===================================================== */

/* --- ORDER SUCCESS PAGE (711): center the card --- */
body.page-id-711 .entry-content {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  text-align: left;
}
body.page-id-711 .ast-article-single,
body.page-id-711 .post-711 {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* --- CHECKOUT PAGE (710): center &amp; widen the card --- */
body.page-id-710 .entry-content {
  max-width: 920px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
}
body.page-id-710 .ast-article-single,
body.page-id-710 .post-710 {
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Strengthen the white card for checkout — make sure it spans correctly */
body.page-id-710 .tribe-common.event-tickets {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 auto !important;
  padding: 36px 44px !important;
  box-sizing: border-box;
}

/* Hide the strange Stripe Link auto-fill widget at top (the "Использовать" / saved-card chrome).
   This appears as a Stripe Link element and looks random in the layout. */
body.page-id-710 .tribe-tickets__commerce-checkout-purchaser-info-form ~ * iframe[name*="__privateStripeFrame"]:first-of-type,
body.page-id-710 form[id*="purchaser"] + iframe,
body.page-id-710 .StripeElement--type-link,
body.page-id-710 .__PrivateStripeElement--link {
  display: none !important;
}

/* Visually de-emphasize the "Standard-Kasse" / "Zusätzliche Zahlungsoptionen" toggles - 
   they are confusing. Make them subtle headers instead. */
body.page-id-710 .tribe-tickets__commerce-checkout-gateway-toggler,
body.page-id-710 [class*="gateway-toggler"] {
  margin: 28px 0 16px !important;
  padding: 0 !important;
  font-size: 13px !important;
  color: #5A6B5C !important;
  font-weight: 500;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  border-top: 1px solid #E5EFE6;
  padding-top: 22px !important;
}

/* Order summary section — tighter, cleaner */
body.page-id-710 .tribe-tickets__commerce-checkout-cart-section,
body.page-id-710 .tribe-tickets__commerce-checkout-cart {
  background: #F7FAF7;
  border-radius: 12px;
  padding: 20px 24px !important;
  margin: 0 0 28px !important;
  border-left: 4px solid #2E7D32;
}

/* Buyer info form — group as one block */
body.page-id-710 .tribe-tickets__commerce-checkout-purchaser-info,
body.page-id-710 [class*="purchaser-info-form"] {
  background: #fff;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

/* Form labels — consistent style */
body.page-id-710 .tribe-tickets__commerce-checkout-purchaser-info label,
body.page-id-710 form[id*="purchaser"] label {
  font-weight: 600 !important;
  color: #1A2E1C !important;
  font-size: 14px !important;
  margin-bottom: 6px !important;
  display: block;
}

/* Form inputs — rounded, consistent */
body.page-id-710 input[type="text"],
body.page-id-710 input[type="email"],
body.page-id-710 input[type="tel"] {
  border: 1.5px solid #D4DDD5 !important;
  border-radius: 10px !important;
  padding: 12px 16px !important;
  font-size: 15px !important;
  font-family: inherit !important;
  background: #fff !important;
  color: #1A2E1C !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
  width: 100% !important;
  box-sizing: border-box;
}
body.page-id-710 input[type="text"]:focus,
body.page-id-710 input[type="email"]:focus {
  border-color: #2E7D32 !important;
  outline: 0 !important;
  box-shadow: 0 0 0 3px rgba(46,125,50,0.12) !important;
}

/* "Tickets kaufen" submit button - bigger, more prominent */
body.page-id-710 .tribe-tickets__commerce-checkout-form-submit-button,
body.page-id-710 button[class*="checkout-form-submit"],
body.page-id-710 button[type="submit"][class*="tribe-tickets"] {
  background: linear-gradient(135deg, #2E7D32, #1B5E20) !important;
  border: 0 !important;
  border-radius: 12px !important;
  padding: 16px 28px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: 0.01em;
  width: 100% !important;
  margin-top: 8px !important;
  box-shadow: 0 4px 12px rgba(46,125,50,0.18) !important;
  transition: transform 0.15s ease, box-shadow 0.2s ease, background 0.2s ease !important;
  cursor: pointer;
  color: #fff !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-form-submit-button:hover,
body.page-id-710 button[class*="checkout-form-submit"]:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(46,125,50,0.25) !important;
  background: linear-gradient(135deg, #33913A, #2E7D32) !important;
}

/* PayPal button container - constrained width */
body.page-id-710 .tribe-tickets__commerce-checkout-gateway-paypal,
body.page-id-710 #paypal-buttons-container,
body.page-id-710 [id*="paypal-button-container"] {
  max-width: 100% !important;
  margin: 12px 0 !important;
}

/* Stripe payment element - wrap in light frame for clarity */
body.page-id-710 .tribe-tickets__commerce-checkout-gateway-stripe-payment-element,
body.page-id-710 [class*="stripe-payment-element"],
body.page-id-710 #tec-tickets-commerce-stripe-payment-element {
  background: #fff !important;
  border: 1.5px solid #D4DDD5 !important;
  border-radius: 10px !important;
  padding: 18px !important;
  margin: 12px 0 !important;
}

/* "oder mit Karte bezahlen" divider */
body.page-id-710 .tribe-tickets__commerce-checkout-gateway-stripe-divider,
body.page-id-710 [class*="stripe-divider"] {
  margin: 20px 0 !important;
  color: #5A6B5C !important;
  font-style: italic;
  font-size: 14px;
}

/* Coupon link — stays small but clearer */
body.page-id-710 .tribe-tickets__commerce-checkout-cart-coupons-link,
body.page-id-710 [class*="coupons-link"] {
  color: #2E7D32 !important;
  font-size: 13px !important;
  font-weight: 500;
}

/* Make sure footer is visible &amp; centered properly */
body.page-id-710 .site-footer,
body.page-id-711 .site-footer {
  display: block !important;
  visibility: visible !important;
}

/* Ensure proper centering at all screen sizes */
@media (min-width: 1100px) {
  body.page-id-710 .entry-content { max-width: 920px !important; }
  body.page-id-711 .entry-content { max-width: 760px !important; }
}

@media (max-width: 720px) {
  body.page-id-710 .entry-content { padding-left: 14px !important; padding-right: 14px !important; }
  body.page-id-711 .entry-content { padding-left: 14px !important; padding-right: 14px !important; }
  body.page-id-710 .tribe-common.event-tickets { padding: 24px 18px !important; }
  body.page-id-710 .tribe-tickets__commerce-checkout-form-submit-button { padding: 14px 22px !important; font-size: 15px !important; }
}

/* =====================================================
   TICKET CHECK-IN PAGE (page-id-858)
   QR scan landing page - clear visual status
   ===================================================== */
body.page-id-858 .site-content { background: #F7FAF7 !important; }
body.page-id-858 #primary { margin-top: 0 !important; }
body.page-id-858 .site-content .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}
body.page-id-858 .ast-article-single,
body.page-id-858 .post-858 {
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
body.page-id-858 .entry-header { display: none !important; }

body.page-id-858 .entry-content {
  max-width: 600px !important;
  margin: 0 auto !important;
  padding: 60px 20px !important;
}
body.page-id-858 .entry-content &gt; p:has(.bk-checkin-wrap),
body.page-id-858 .bk-checkin-wrap { margin: 0; padding: 0; }

.bk-checkin-card {
  background: #fff;
  border-radius: 20px;
  box-shadow: 0 8px 32px rgba(0,0,0,0.08);
  border: 2px solid var(--bk-border, #2E7D32);
  padding: 40px 32px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.bk-checkin-card::before {
  content: '';
  display: block;
  position: absolute;
  top: 0; left: 0; right: 0;
  height: 6px;
  background: var(--bk-bg, #1B5E20);
}
.bk-checkin-icon {
  width: 80px;
  height: 80px;
  border-radius: 50%;
  background: var(--bk-bg, #1B5E20);
  color: #fff;
  font-size: 38px;
  font-weight: 700;
  line-height: 80px;
  text-align: center;
  margin: 8px auto 22px;
  box-shadow: 0 4px 16px rgba(0,0,0,0.18);
  font-family: Arial, sans-serif;
}
.bk-checkin-title {
  color: var(--bk-bg, #1B5E20) !important;
  font-size: 28px !important;
  font-weight: 800 !important;
  margin: 0 0 14px !important;
  line-height: 1.2;
}
.bk-checkin-message {
  color: #1A2E1C;
  font-size: 16px;
  line-height: 1.55;
  margin: 0 0 28px;
}
.bk-checkin-details {
  background: var(--bk-light, #E8F5E9);
  border-radius: 12px;
  padding: 18px 20px;
  margin: 24px 0 0;
  text-align: left;
  border-left: 4px solid var(--bk-bg, #2E7D32);
}
.bk-checkin-row {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 8px 0;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  gap: 16px;
}
.bk-checkin-row:last-child { border-bottom: 0; }
.bk-checkin-label {
  font-size: 13px;
  font-weight: 600;
  color: #5A6B5C;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  flex: 0 0 auto;
}
.bk-checkin-value {
  color: #1A2E1C;
  font-weight: 600;
  font-size: 15px;
  text-align: right;
  word-break: break-word;
}
.bk-checkin-value.bk-mono {
  font-family: 'Courier New', monospace;
  font-size: 14px;
  background: rgba(0,0,0,0.04);
  padding: 2px 8px;
  border-radius: 4px;
  letter-spacing: 0.04em;
}

@media (max-width: 600px) {
  body.page-id-858 .entry-content { padding: 30px 14px !important; }
  .bk-checkin-card { padding: 32px 22px; border-radius: 16px; }
  .bk-checkin-icon { width: 64px; height: 64px; line-height: 64px; font-size: 30px; }
  .bk-checkin-title { font-size: 24px !important; }
  .bk-checkin-message { font-size: 15px; }
  .bk-checkin-row { flex-direction: column; gap: 2px; padding: 10px 0; }
  .bk-checkin-value { text-align: left; }
}

/* ============================================================
   MOSAIK PAGE (264) — Mobile optimization (added 2026-05-08)
   Goal: Reduce page length on phones and make sections feel
   tight and scannable. All rules scoped to .page-id-264 + media
   queries so desktop is untouched. To rollback: delete this
   entire block.
   ============================================================ */

/* --- bk-sizes section: 2 columns on phones (was 1) --- */
@media (max-width: 540px) {
  .page-id-264 .bk-sizes-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .page-id-264 .bk-size-card {
    padding: 12px 10px 14px !important;
    border-radius: 14px !important;
  }
  .page-id-264 .bk-size-mockup {
    margin-bottom: 10px !important;
    border-radius: 10px !important;
  }
  .page-id-264 .bk-size-card h4 {
    font-size: 0.78rem !important;
    letter-spacing: 0.2px !important;
    margin-bottom: 2px !important;
  }
  .page-id-264 .bk-size-cm {
    font-size: 1.05rem !important;
    margin: 2px 0 0 !important;
  }
  .page-id-264 .bk-size-noppen {
    font-size: 0.7rem !important;
    margin: 2px 0 8px !important;
    line-height: 1.3 !important;
  }
  .page-id-264 .bk-size-price {
    font-size: 1.25rem !important;
    margin: 4px 0 10px !important;
  }
  .page-id-264 .bk-size-cta {
    padding: 7px 14px !important;
    font-size: 0.72rem !important;
    letter-spacing: 0.3px !important;
  }
  .page-id-264 .bk-sizes-section {
    padding: 36px 12px !important;
  }
  .page-id-264 .bk-sizes-intro {
    margin-bottom: 28px !important;
  }
  .page-id-264 .bk-sizes-intro h2 {
    font-size: 1.55rem !important;
    line-height: 1.2 !important;
  }
  .page-id-264 .bk-sizes-intro p {
    font-size: 0.92rem !important;
    line-height: 1.5 !important;
  }
  .page-id-264 .bk-sizes-group {
    margin-top: 32px !important;
  }
  .page-id-264 .bk-sizes-group h3 {
    font-size: 1.2rem !important;
  }
  .page-id-264 .bk-sizes-group .bk-sizes-grouplead {
    font-size: 0.85rem !important;
    margin-bottom: 18px !important;
  }
}

/* --- Even smaller phones (iPhone SE etc): keep 2 cols, tighter --- */
@media (max-width: 380px) {
  .page-id-264 .bk-sizes-grid {
    gap: 8px !important;
  }
  .page-id-264 .bk-size-card {
    padding: 10px 8px 12px !important;
  }
  .page-id-264 .bk-size-cm {
    font-size: 0.95rem !important;
  }
  .page-id-264 .bk-size-price {
    font-size: 1.1rem !important;
  }
  .page-id-264 .bk-size-cta {
    padding: 6px 10px !important;
    font-size: 0.68rem !important;
  }
}

/* --- Hero: tighter on mobile so iframe is visible sooner --- */


/* --- "Was ist BrickPic?" section: tighter spacing on mobile --- */


/* --- Iframe section: less vertical padding on phones --- */


/* --- "Was bekommst du?" — 2 cols on tablets+phones (was 1 below 768px) ---
   Elementor flex containers use CSS variables (--width, --padding-*) so we
   must set those, not just plain width/padding, otherwise Elementor's own
   inline rules win.
*/


/* --- Very small phones (≤380px): tighter still --- */


/* --- Was bekommst du section: tighter outer padding/headings on phones --- */


/* === BRICKDAY 707 (scoped, native restyle) === */
/* hide TEC's own title / schedule / Astra entry header */
body.single-tribe_events.postid-707 h1.tribe-events-single-event-title,
body.single-tribe_events.postid-707 .tribe-events-schedule{display:none!important;}
.postid-707 .ast-single-post .entry-header,
.postid-707 .entry-header .entry-title{display:none!important;}
/* kill the white gap: TEC template top padding -> 0 (hero flush under header) */
.postid-707 #tribe-events-pg-template,
.postid-707 .tribe-events-pg-template{padding-top:0!important;}
/* the tribe_events article wrapper also carries 40px top padding -> 0 */
.postid-707 .tribe-events-single .type-tribe_events,
.postid-707 .type-tribe_events.hentry{padding-top:0!important;}
/* hide TEC's "< All Events" back link (no equivalent on other pages; keeps hero flush) */
.postid-707 .tribe-events-back{display:none!important;}
/* safety: contain the hero's full-bleed breakout (clip, not hidden -> sticky header OK) */
body.single-tribe_events.postid-707{overflow-x:clip;}
/* content in the normal boxed Astra column */
.postid-707 .bk-boxed{width:100%;}
.postid-707 .bk-event-body{padding:0;color:#2A352B;}
/* ---------- HERO (full-width breakout, compact, matches other pages) ---------- */
.postid-707 .bk-event-hero{position:relative;overflow:hidden;margin:0 calc(50% - 50vw) 36px;background:linear-gradient(135deg,#2A6B30 0%,#236B2A 50%,#1F5624 100%);color:#fff;padding:56px 0;text-align:center;}
.postid-707 .bk-event-hero::before{content:"";position:absolute;top:-46px;right:7%;width:130px;height:130px;background:rgba(255,255,255,.06);border-radius:24px;transform:rotate(20deg);}
.postid-707 .bk-event-hero::after{content:"";position:absolute;bottom:-36px;left:7%;width:96px;height:96px;background:rgba(255,255,255,.05);border-radius:18px;transform:rotate(-15deg);}
.postid-707 .bk-event-hero .bk-boxed{position:relative;z-index:1;max-width:1100px;margin:0 auto;padding:0 24px;box-sizing:border-box;}
.postid-707 .bk-event-title{font-family:'Fredoka',sans-serif;font-weight:700;font-size:34px;line-height:1.15;margin:0 0 8px;color:#fff;}
body.single-tribe_events.postid-707 .bk-event-hero p.bk-event-sub{font-size:17px;font-weight:500;margin:0;color:#FFFFFF!important;opacity:.95;}
/* ---------- INTRO (highlighted callout) ---------- */
.postid-707 .bk-lead{background:linear-gradient(135deg,#F1F9F1,#E3F4E5);border:1px solid #C8E6C9;border-radius:14px;padding:20px 28px;font-size:18px;line-height:1.55;font-weight:500;color:#28412C;text-align:center;max-width:860px;margin:0 auto 26px;}
.postid-707 .bk-lead strong{color:#1F5624;}
/* ---------- MAIN feature block ---------- */
.postid-707 .bk-feature-main{background:#fff;border:1px solid #E0EFE0;border-radius:16px;padding:24px 26px;box-shadow:0 3px 12px rgba(31,86,36,.05);margin:0 0 16px;}
.postid-707 .bk-feature-head{display:flex;align-items:center;gap:12px;margin:0 0 6px;}
.postid-707 .bk-feature-head h3{font-family:'Fredoka',sans-serif;font-weight:700;font-size:21px;color:#1F5624;margin:0;}
.postid-707 .bk-feature-main > p{margin:0 0 12px;font-size:15px;color:#3A463C;}
.postid-707 .bk-feature-main ul{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0;list-style:none;margin:0;}
.postid-707 .bk-feature-main ul li{position:relative;padding:9px 14px 9px 34px;background:#F5FAF5;border-radius:9px;font-size:14px;}
.postid-707 .bk-feature-main ul li::before{content:"";position:absolute;left:14px;top:13px;width:9px;height:9px;background:#2E7D32;border-radius:2px;}
.postid-707 .bk-feature-main ul li strong{color:#1F5624;}
/* ---------- 3 compact mini-cards ---------- */
.postid-707 .bk-mini-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:0 0 26px;align-items:stretch;}
.postid-707 .bk-mini-card{background:#fff;border:1px solid #E0EFE0;border-radius:14px;padding:20px 22px;box-shadow:0 3px 12px rgba(31,86,36,.05);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;}
.postid-707 .bk-mini-card:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(31,86,36,.1);border-color:#2E7D32;}
.postid-707 .bk-feature-icon{font-size:26px;line-height:1;}
.postid-707 .bk-mini-card .bk-feature-icon{display:block;font-size:28px;margin:0 0 8px;}
.postid-707 .bk-mini-card h3{font-family:'Fredoka',sans-serif;font-weight:700;font-size:17px;color:#1F5624;margin:0 0 6px;}
.postid-707 .bk-mini-card p{margin:0;font-size:14px;line-height:1.55;color:#3A463C;}
/* ---------- gold callout ---------- */
.postid-707 .bk-gold-callout{text-align:center;background:linear-gradient(135deg,#FFF7D6,#FDE89A);border:2px solid #FDD835;border-radius:16px;padding:26px 28px;}
.postid-707 .bk-gold-icon{font-size:32px;line-height:1;margin:0 0 4px;}
.postid-707 .bk-gold-callout h2{font-family:'Fredoka',sans-serif;font-weight:700;font-size:22px;color:#7A5B00;margin:0 0 6px;}
.postid-707 .bk-gold-callout p{margin:0;font-size:16px;color:#5C4600;}
.postid-707 .bk-gold-callout strong{color:#1F5624;}
/* ---------- Event Tickets block (clean card, no grey defaults) ---------- */
body.single-tribe_events.postid-707 .tribe-tickets__tickets-wrapper{margin:26px 0 0;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-form{background:#fff;border:1px solid #E0EFE0;border-radius:16px;padding:24px 26px;box-shadow:0 3px 12px rgba(31,86,36,.05);}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-title{font-family:'Fredoka',sans-serif;font-weight:700!important;color:#1F5624!important;font-size:21px!important;margin:0 0 14px!important;}
body.single-tribe_events.postid-707 .tribe-tickets__notice{background:#F5FAF5!important;border:1px solid #E0EFE0!important;border-radius:10px!important;padding:10px 14px!important;margin:0 0 16px!important;color:#3A463C!important;box-shadow:none!important;}
/* each ticket = clean light card, kill TEC grey + inner borders */
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item{background:#F9FCF9!important;border:1px solid #E6F1E6!important;border-radius:12px!important;padding:16px 18px!important;margin:0 0 14px!important;box-shadow:none!important;column-gap:18px;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item::before,
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item::after{display:none!important;background:none!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-content-title{font-family:'Fredoka',sans-serif!important;font-weight:700!important;color:#1F5624!important;font-size:16px!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-content-description{color:#3A463C!important;font-size:13px!important;line-height:1.5!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-sale-price,
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-extra-price-single,
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-extra-price{color:#1F5624!important;font-weight:700!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-extra-available,
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-extra-available-quantity{color:#6B8A6F!important;}
/* quantity stepper */
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-quantity{display:flex!important;align-items:center;gap:0;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-quantity-remove,
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-quantity-add{width:32px;height:32px;min-width:32px;border:1px solid #C8E6C9!important;background:#fff!important;color:#1F5624!important;border-radius:8px!important;font-size:18px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0!important;box-shadow:none!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-quantity-remove:hover,
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-quantity-add:hover{background:#F5FAF5!important;border-color:#2E7D32!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-quantity-number input{width:46px!important;text-align:center;border:none!important;background:transparent!important;font-weight:700!important;color:#2A352B!important;box-shadow:none!important;-moz-appearance:textfield;}
/* footer: align right, clean total + green pill button */
body.single-tribe_events.postid-707 .tribe-tickets__tickets-footer{display:flex!important;align-items:center;gap:18px;flex-wrap:wrap;justify-content:flex-end;border-top:1px solid #E6F1E6!important;padding-top:16px!important;margin-top:4px!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-footer-total-wrap .tribe-amount,
body.single-tribe_events.postid-707 .tribe-tickets__tickets-footer-total-wrap .tribe-currency-symbol{color:#1F5624!important;font-weight:700!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-buy{background:#2E7D32!important;border-color:#2E7D32!important;border-radius:999px!important;font-weight:600!important;}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-buy:hover{background:#256A29!important;}
/* ---------- TEC meta cards — clean labelled rows, content-height (no empty stretch) ---------- */
body.single-tribe_events.postid-707 .tribe-events-single-section.tribe-events-event-meta{margin:24px 0 0!important;display:flex;flex-wrap:wrap;align-items:stretch;gap:16px;background:transparent!important;border:none!important;padding:0!important;}
/* kill TEC's default 1px separator line above the meta cards */
body.single-tribe_events.postid-707 .tribe-events-event-meta::before,
body.single-tribe_events.postid-707 .tribe-events-event-meta::after{display:none!important;border:none!important;content:none!important;}
body.single-tribe_events.postid-707 .tribe-events-meta-group{flex:1 1 280px;background:#fff!important;border:1px solid #E0EFE0!important;border-radius:16px;padding:22px 24px!important;box-shadow:0 3px 12px rgba(31,86,36,.05);margin:0!important;width:auto!important;}
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-events-single-section-title{font-family:'Fredoka',sans-serif;font-weight:700;color:#1F5624!important;margin:0 0 14px;font-size:17px;border:none!important;padding:0!important;display:flex;align-items:center;gap:8px;}
body.single-tribe_events.postid-707 .tribe-events-meta-group-details .tribe-events-single-section-title::before{content:"📅";font-size:16px;}
body.single-tribe_events.postid-707 .tribe-events-meta-group-venue .tribe-events-single-section-title::before{content:"📍";font-size:16px;}
body.single-tribe_events.postid-707 .tribe-events-meta-group-organizer .tribe-events-single-section-title::before{content:"👤";font-size:16px;}
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-events-meta-list{margin:0!important;padding:0!important;list-style:none!important;}
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-events-meta-item{margin:0 0 12px!important;padding:0!important;border-top:none!important;border-bottom:none!important;}
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-events-meta-item:last-child{margin-bottom:0!important;}
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-events-meta-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;color:#7C9A80;margin:0 0 1px;}
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-events-meta-value{display:block;font-size:15px;font-weight:500;color:#2A352B;margin:0;}
/* remove the dotted underline on the date <abbr> (looked like a stray second line) */
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-events-abbr,
body.single-tribe_events.postid-707 .tribe-events-meta-group abbr{text-decoration:none!important;border-bottom:none!important;cursor:default;}
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-venue,
body.single-tribe_events.postid-707 .tribe-events-meta-group .tribe-organizer{font-size:15px;font-weight:600;color:#2A352B;}
body.single-tribe_events.postid-707 .tribe-events-meta-group address.tribe-events-address{font-style:normal;font-size:14px;color:#3A463C;line-height:1.55;}
body.single-tribe_events.postid-707 .tribe-events-meta-group dt,
body.single-tribe_events.postid-707 .tribe-events-meta-group dd{border-top:none!important;border-bottom:none!important;}
body.single-tribe_events.postid-707 .tribe-events-meta-group a{color:#2E7D32!important;}
/* ---------- responsive ---------- */
@media (max-width:782px){
/* Tablet: 2 columns still fit comfortably (~240px each), so keep the compact
   layout. On phones (<=600px) we drop to 1 column below — see next block. */
.postid-707 .bk-mini-grid{grid-template-columns:repeat(2,1fr);gap:10px;}
.postid-707 .bk-mini-card{padding:14px 14px;}
.postid-707 .bk-mini-card h3{font-size:15px;}
.postid-707 .bk-mini-card p{font-size:13px;}
.postid-707 .bk-feature-main ul{grid-template-columns:repeat(2,1fr);}
}
@media (max-width:600px){
/* Phone: 2 columns squeeze the mini-cards / feature-list items to ~155px, which
   forces long labels ("LEGO Mosaik-Aktion - Bilder Stein fuer Stein") to wrap to
   5 ragged lines and produces uneven, broken-looking cards (v9.23 regression the
   user flagged by screenshot). Single column is clean AND still compact here:
   each card is just icon + bold title + one short line, so it stays short. */
.postid-707 .bk-mini-grid{grid-template-columns:1fr;gap:10px;}
.postid-707 .bk-feature-main ul{grid-template-columns:1fr;}
.postid-707 .bk-event-title{font-size:27px;}
.postid-707 .bk-event-hero{padding:40px 0;}
.postid-707 .bk-lead{font-size:16px;}
/* Ticket rows: TEC's 3-column grid (title | gap | qty) starves the title column
   to ~88px on phones, so "Brickday 12.07.26 (15.00-18:00)" wrapped to 4 ragged
   lines with the "(" stranded, and the stepper overlapped the title row. The
   grid is brittle here (an empty details child steals cells), so on phones we
   switch the row to a simple flex column: title full width on top, then price,
   then the stepper right-aligned below. Clean, no overlap. */
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:6px!important;
}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-content-title{
  font-size:15px!important;line-height:1.3!important;
}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-extra{
  margin:0!important;
}
body.single-tribe_events.postid-707 .tribe-tickets__tickets-item-quantity{
  align-self:flex-end!important;
}
}
/* === END BRICKDAY 707 === */

/* === CHECKOUT 710 BODY CLEANUP v6.6 === */
/* 1) Kill TEC blue inside the checkout card -> brand green (footer untouched) */
body.page-id-710 .tribe-common.event-tickets a:not(.tribe-common-c-btn),
body.page-id-710 .tec-tickets-commerce-checkout-cart__coupons-add-link,
body.page-id-710 .tribe-tickets__commerce-checkout-gateway-toggle-button {
  color: #2E7D32 !important;
}
body.page-id-710 .tribe-common.event-tickets a:not(.tribe-common-c-btn):hover,
body.page-id-710 .tec-tickets-commerce-checkout-cart__coupons-add-link:hover,
body.page-id-710 .tribe-tickets__commerce-checkout-gateway-toggle-button:hover {
  color: #1B5E20 !important;
}

/* 2) Header: drop the full-width underline; tidy the "Zurück zur Veranstaltung" link */
body.page-id-710 .tribe-tickets__commerce-checkout-header {
  border-bottom: 0 !important;
  padding-bottom: 2px !important;
  margin-bottom: 22px !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-header-link-back-to-event {
  text-decoration: none !important;
  border-bottom: 0 !important;
  font-weight: 600 !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-header-link-back-to-event:hover {
  text-decoration: underline !important;
}

/* 3) Coupon row: green link, clean input + apply button */
body.page-id-710 .tec-tickets-commerce-checkout-cart__coupons-add-link {
  text-decoration: none !important;
  font-weight: 600 !important;
}
body.page-id-710 .tec-tickets-commerce-checkout-cart__coupons-input-field {
  border: 1px solid #E5EAE5 !important;
  border-radius: 8px !important;
  padding: 10px 12px !important;
}
body.page-id-710 .tribe-common-c-btn-border.tec-tickets-commerce-checkout-cart__coupons-apply-button {
  color: #2E7D32 !important;
  border: 1px solid #2E7D32 !important;
  border-radius: 8px !important;
  background: #fff !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
}

/* 4) Gateway toggle buttons ("Standard-Kasse" / "Zusätzliche Zahlungsoptionen") */
body.page-id-710 .tribe-tickets__commerce-checkout-gateway-toggle-button {
  background: none !important;
  border: 0 !important;
  font-family: 'Fredoka', sans-serif !important;
  font-weight: 600 !important;
  font-size: 15px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  padding: 10px 0 !important;
  cursor: pointer;
}

/* 5) Remove TEC's "or" separator lines around the payment area */
body.page-id-710 .tribe-tickets__commerce-checkout-paypal-advanced-payments-separator-line {
  display: none !important;
}

/* 6) Payment field boxes -> clean rounded inputs (Stripe element + PayPal card fields) */
body.page-id-710 .tribe-tickets__commerce-checkout-stripe-card-element,
body.page-id-710 .tribe-tickets__commerce-checkout-paypal-advanced-payments-form-field,
body.page-id-710 .card_field {
  border: 1px solid #E5EAE5 !important;
  border-radius: 8px !important;
  background: #fff !important;
  min-height: 46px !important;
  padding: 12px 14px !important;
  box-shadow: none !important;
}
/* kill the per-segment inner borders that make the Stripe box look like many boxes */
body.page-id-710 .tribe-tickets__commerce-checkout-stripe-card-element span {
  border: 0 !important;
}

/* 7) One divider only: keep the cart subtotal line subtle, drop the outer footer border */
body.page-id-710 .tribe-tickets__commerce-checkout-cart-footer {
  border-top: 1px solid rgba(46,125,50,0.12) !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-footer {
  border-top: 0 !important;
  margin-top: 8px !important;
  padding-top: 8px !important;
}

/* 8) Declutter the ticket row — drop the "Weitere Informationen" toggle and the
   duplicate line-item subtotal (price + total already say everything). */
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-details-toggle {
  display: none !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-subtotal {
  display: none !important;
}

/* 9) Tighten the grey helper text under the e-mail field (was a ~32px gap) */
body.page-id-710 .tribe-tickets__commerce-checkout-purchaser-info-form-field-email {
  margin-bottom: 2px !important;
}
body.page-id-710 .tribe-tickets__form-field-input-wrapper {
  margin-bottom: 0 !important;
}
body.page-id-710 .tribe-tickets__form-field-input-wrapper .tribe-tickets__form-field-description {
  margin-top: 4px !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-purchaser-info-form-field-wrapper {
  margin-bottom: 18px !important;
}

/* 10) Coupon form: input + "Anwenden" on one clean row (button was wrapping/overlapping) */
body.page-id-710 .tec-tickets-commerce-checkout-cart__coupons-input-container {
  display: flex !important;
  gap: 10px !important;
  align-items: stretch !important;
}
body.page-id-710 .tec-tickets-commerce-checkout-cart__coupons-input-field {
  flex: 1 1 auto !important;
  width: auto !important;
  margin: 0 !important;
}
body.page-id-710 .tribe-common-c-btn-border.tec-tickets-commerce-checkout-cart__coupons-apply-button {
  flex: 0 0 auto !important;
  width: auto !important;
  height: auto !important;
  padding: 10px 20px !important;
  margin: 0 !important;
  white-space: nowrap !important;
}

/* 11) Drop the per-row quantity "1" — the footer already shows "Menge: 1", so the bare
   number next to the price was redundant/illogical. Price now sits flush right. */
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item-quantity {
  display: none !important;
}
body.page-id-710 .tribe-tickets__commerce-checkout-cart-item {
  grid-template-columns: 1fr auto !important;
}
@media (max-width: 720px) {
  body.page-id-710 .tribe-tickets__commerce-checkout-cart-item {
    grid-template-columns: 1fr !important;
  }
}

/* 12) Remove the white strip below the footer. Tickets Commerce / payment SDKs append
   stray body-level <iframe>s (Stripe/Braintree comm frames). The inline Braintree one is
   static/inline so it adds ~26px of layout height past the footer. Take all body-direct
   payment SDK iframes out of flow so the footer sits flush at the page bottom. These are
   0/1px hidden communication frames (function via postMessage, not layout) -> safe on live.
   NOTE: we do NOT paint the body green here — that propagates to the canvas and turns the
   top overscroll (behind the white nav) green and bleeds through transparent gaps. The
   flush-footer fix alone removes the strip; below-footer overscroll is the normal white. */
body.page-id-710 > iframe,
body.page-id-711 > iframe {
  position: absolute !important;
}
/* trim the gap under the @brickonas social row -> footer bottom sits closer */
body.page-id-710 .bk-footer-social,
body.page-id-711 .bk-footer-social {
  padding-bottom: 6px !important;
}
/* === END CHECKOUT 710 BODY CLEANUP === */

/* === FLEX CARD-ROW MARGIN RESET v1 === */
.bk-grid > *,
.bk-card-grid3 > *,
.bk-card-grid4 > *,
.bk-tgrid > * {
  margin-top: 0 !important;
}
/* === END FLEX CARD-ROW MARGIN RESET === */

/* === BK MODERN MOTION v1 === */

@media (prefers-reduced-motion: no-preference){

  

  
  
  .wp-element-button:active,.wp-block-button__link:active,.bk-hero-btn:active,.button.add_to_cart_button:active,.single_add_to_cart_button:active,.bk-tab:active{transform:scale(.96)!important;transition:transform .09s ease-out!important}
}
/* === END BK MODERN MOTION === */

/* === BK SCROLL REVEAL v2 === */
@keyframes bk-revealup{from{opacity:0;translate:0 32px}to{opacity:1;translate:0 0}}
@keyframes bk-parallax{from{translate:0 0}to{translate:0 46px}}
@media (prefers-reduced-motion: no-preference){
  html.bk-js .bk-grid > *,
  html.bk-js .bk-card-grid3 > *,
  html.bk-js .bk-card-grid4 > *,
  html.bk-js .bk-tgrid > *,
  html.bk-js .bk-feat-grid > *,
  html.bk-js .bk-hm-h2,
  html.bk-js .bk-h-sec { opacity: 0; }
  html.bk-js .bk-in {
    animation-name: bk-revealup;
    animation-duration: .7s;
    animation-timing-function: cubic-bezier(.22,1,.36,1);
    animation-fill-mode: both;
    animation-delay: var(--bk-d, 0ms);
  }
}
@supports (animation-timeline: scroll()){
  @media (prefers-reduced-motion: no-preference){
    .bk-hero-img { animation: bk-parallax linear both; animation-timeline: scroll(root); animation-range: 0 520px; }
  }
}
/* === END BK SCROLL REVEAL === */

/* === BK CART/CHECKOUT MODERN v3 === */
/* deepen the canvas so white cards pop (matches shop) */
body.woocommerce-cart .site-content,body.woocommerce-checkout .site-content,body.woocommerce-cart #content,body.woocommerce-checkout #content{background:#eef2ec!important}
/* ---- CART: item list = real white card (was transparent = blended in) ---- */
body.woocommerce-cart .wc-block-cart-items{background:#fff!important;border:1px solid #e7ece7!important;border-radius:16px!important;box-shadow:0 4px 20px rgba(27,94,32,.10)!important;padding:6px 28px!important;overflow:hidden}
body.woocommerce-cart .wc-block-cart-items__header{background:transparent!important;border-bottom:1px solid #eef1ee!important;color:#8a978b!important;letter-spacing:.06em;font-size:12px!important;padding:14px 0 12px!important}
body.woocommerce-cart .wc-block-cart-items__row{border-bottom:1px solid #eef1ee!important;padding:22px 0!important}
body.woocommerce-cart .wc-block-cart-items__row:last-child{border-bottom:0!important}
body.woocommerce-cart .wc-block-cart-item__image img{border-radius:12px!important;background:#f4f7f4!important;border:1px solid #eef1ee!important}
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name{font-family:'Fredoka',sans-serif!important;font-weight:600!important;font-size:16px!important;color:#1a1a1a!important;line-height:1.3!important}
body.woocommerce-cart .wc-block-cart-item__product .wc-block-components-product-name:hover{color:#2E7D32!important}
body.woocommerce-cart .wc-block-cart-item__prices{color:#6b7a6d!important;font-size:13px!important}
body.woocommerce-cart .wc-block-cart-item__total-price-and-sale-badge-wrapper{font-family:'Fredoka',sans-serif!important;font-size:17px!important;font-weight:700!important;color:#2E7D32!important}
/* ---- CART summary: keep ONE card (outer sidebar). Kill the nested white card. ---- */
body.woocommerce-cart .wc-block-cart__sidebar.wp-block-woocommerce-cart-totals-block{background:#fff!important;border:1px solid #e7ece7!important;border-radius:16px!important;box-shadow:0 4px 20px rgba(27,94,32,.10)!important;padding:28px!important}
body.woocommerce-cart .wc-block-cart__sidebar .wp-block-woocommerce-cart-order-summary-block{background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important;padding:0!important}
/* ---- CHECKOUT: form + order-summary as the signature elevated card ---- */
body.woocommerce-checkout .wc-block-checkout__main,body.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block{background:#fff!important;border:1px solid #e7ece7!important;border-radius:16px!important;box-shadow:0 4px 20px rgba(27,94,32,.10)!important;padding:28px!important}
/* panel / step titles in Fredoka dark-green */
body.woocommerce-page .wc-block-components-title,body.woocommerce-page .wc-block-components-checkout-step__title,body.woocommerce-page .wp-block-woocommerce-cart-order-summary-heading{font-family:'Fredoka',sans-serif!important;color:#1a2e1c!important;font-weight:700!important}
/* summaries: hairline footer divider, bold green grand total */
body.woocommerce-page .wc-block-components-totals-footer-item{border-top:1px solid #e7ece7!important;padding-top:16px!important}
body.woocommerce-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,body.woocommerce-page .wc-block-components-totals-footer-item .wc-block-formatted-money-amount{font-family:'Fredoka',sans-serif!important;color:#2E7D32!important;font-weight:700!important;font-size:19px!important}
/* fields + selects: calm hairline border, green focus ring */
body.woocommerce-page .wc-block-components-quantity-selector{border:1px solid #e6e9e6!important;border-radius:12px!important}
body.woocommerce-page .wc-block-components-text-input input,body.woocommerce-page .wc-block-components-text-input .components-text-control__input,body.woocommerce-page .wc-block-components-text-input textarea,body.woocommerce-page .wc-blocks-components-select .wc-blocks-components-select__select{border:1px solid #dfe4df!important;border-radius:12px!important;background:#fff!important;transition:border-color .15s ease,box-shadow .15s ease}
body.woocommerce-page .wc-block-components-text-input input:focus,body.woocommerce-page .wc-block-components-text-input .components-text-control__input:focus,body.woocommerce-page .wc-block-components-text-input textarea:focus,body.woocommerce-page .wc-blocks-components-select .wc-blocks-components-select__select:focus{border-color:#2E7D32!important;box-shadow:0 0 0 3px rgba(46,125,50,.13)!important;outline:none!important}
/* ---- shipping + payment options: clean rounded card, cohesive green selected state ---- */
body.woocommerce-page .wc-block-components-radio-control{border:1px solid #e7ece7!important;border-radius:14px!important;overflow:hidden}
body.woocommerce-page .wc-block-components-radio-control__option{border-bottom:1px solid #eef1ee!important}
body.woocommerce-page .wc-block-components-radio-control__option:last-child{border-bottom:0!important}
/* selected: tint the WHOLE option (bare shipping option + payment accordion wrapper).
   The high-specificity ancestor chain (.wc-block-checkout .wc-block-components-checkout-step …)
   is needed to out-specify WooCommerce's own checkout-step box-shadow reset rule
   (`.wc-block-checkout .wc-block-components-checkout-step :not(input)…{box-shadow:none!important}`,
   specificity 0,3,5) so the inset green strip survives on the selected method. */
body.woocommerce-page .wc-block-components-radio-control__option--checked-option-highlighted,body.woocommerce-page .wc-block-components-radio-control-accordion-option--checked-option-highlighted,body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-step .wc-block-components-radio-control__option--checked-option-highlighted,body.woocommerce-checkout .wc-block-checkout .wc-block-components-checkout-step .wc-block-components-radio-control-accordion-option--checked-option-highlighted{background:#f1f8f1!important;box-shadow:inset 3px 0 0 #2E7D32!important}
body.woocommerce-page .wc-block-components-radio-control-accordion-option--checked-option-highlighted .wc-block-components-radio-control__option{background:transparent!important;box-shadow:none!important}
/* ---- coupon row (cart + checkout): aligned, on-brand ---- */
body.woocommerce-page .wc-block-components-totals-coupon__form{display:flex!important;gap:10px!important;align-items:center!important}
body.woocommerce-page .wc-block-components-totals-coupon__input{flex:1 1 auto!important;margin:0!important}
body.woocommerce-page .wc-block-components-totals-coupon__input input{height:50px!important;border:1px solid #dfe4df!important;border-radius:12px!important}
body.woocommerce-page .wc-block-components-totals-coupon__button{height:50px!important;min-height:50px!important;padding:0 22px!important;border-radius:12px!important;background:#2E7D32!important;color:#fff!important;font-family:'Fredoka',sans-serif!important;font-weight:700!important;border:0!important;flex:0 0 auto!important}
body.woocommerce-page .wc-block-components-totals-coupon__button:hover{background:#256528!important}
/* ---- primary CTAs: on-brand green, Fredoka, rounded ---- */
body.woocommerce-page .wc-block-cart__submit-button,body.woocommerce-page .wc-block-components-checkout-place-order-button{background:#2E7D32!important;color:#fff!important;font-family:'Fredoka',sans-serif!important;font-weight:700!important;border-radius:12px!important;border:0!important;box-shadow:0 6px 18px rgba(46,125,50,.28)!important;transition:transform .12s ease,background .15s ease}
body.woocommerce-page .wc-block-cart__submit-button:hover,body.woocommerce-page .wc-block-components-checkout-place-order-button:hover{background:#256528!important}
/* === END BK CART/CHECKOUT MODERN v3 === */

/* === UNIFIED: checkout order-summary item price (was Nunito 400 grey, now matches cart line totals) === */
.wc-block-components-order-summary-item__total-price,
.wc-block-components-order-summary-item__total .wc-block-formatted-money-amount {
  font-family: "Fredoka", sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  color: #2E7D32 !important;
}

/* === MOBILE FORM-CONTROL HARDENING (responsive audit 2026-06-10) ===
   Native-block CF7 (Kontakt) controls fall outside the .e-con / .wc-block
   iOS-zoom guards. Ensure every text-entry control is >=16px on phones. */
@media (max-width: 768px) {
  .wpcf7-form input[type="text"], .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"], .wpcf7-form input[type="url"],
  .wpcf7-form input[type="number"], .wpcf7-form textarea,
  .wpcf7-form select, .page-id-259 select, .bk-form select {
    font-size: 16px !important;
  }
  .wpcf7-form input[type="text"], .wpcf7-form input[type="email"],
  .wpcf7-form input[type="tel"], .wpcf7-form input[type="url"],
  .wpcf7-form input[type="number"] { min-height: 48px !important; }
}

/* === MOBILE HERO COMPACTION (responsive pass 2026-06-10) ===
   The page-title hero banners ship with 80px top/bottom padding (defined in
   each page's inline <style>, e.g. .bk-c-hero{padding:80px 0}). On phones that
   makes the green banner eat nearly the whole first screen before any content
   appears. Trim only the VERTICAL padding here (the inline rules are not
   !important, so this wins) — horizontal padding (0 or 24px per hero) is left
   intact. Centralized for all 6 hero variants instead of editing 10 pages. */
@media (max-width: 768px) {
  .bk-hm-hero, .bk-c-hero, .bk-ev-hero, .bk-l-hero, .bk-mo-hero, .bk-a-hero {
    padding-top: 44px !important;
    padding-bottom: 40px !important;
  }
  /* Cap hero titles so they don't wrap into 3 lines on phones */
  .bk-hm-hero h1, .bk-c-hero h1, .bk-ev-hero h1, .bk-l-hero h1, .bk-mo-hero h1, .bk-a-hero h1,
  .bk-hm-hero h2, .bk-c-hero h2, .bk-ev-hero h2, .bk-l-hero h2, .bk-mo-hero h2, .bk-a-hero h2 {
    font-size: 1.75rem !important;
    line-height: 1.2 !important;
  }
}
@media (max-width: 480px) {
  .bk-hm-hero, .bk-c-hero, .bk-ev-hero, .bk-l-hero, .bk-mo-hero, .bk-a-hero {
    padding-top: 32px !important;
    padding-bottom: 28px !important;
  }
  .bk-hm-hero h1, .bk-c-hero h1, .bk-ev-hero h1, .bk-l-hero h1, .bk-mo-hero h1, .bk-a-hero h1,
  .bk-hm-hero h2, .bk-c-hero h2, .bk-ev-hero h2, .bk-l-hero h2, .bk-mo-hero h2, .bk-a-hero h2 {
    font-size: 1.55rem !important;
    line-height: 1.2 !important;
  }
}

/* === MOBILE CONTENT DENSITY (responsive pass 2026-06-10, v9.22) ===
   After the Elementor→native-block migration every card grid is plain flex
   markup whose inline phone rule collapses cards to a SINGLE full-width column
   (e.g. .bk-bcard{width:100%}). That left benefit/feature/step/size cards
   filling the whole screen, so users had to scroll past one block at a time.
   Here we re-pack those grids into a compact 2-column layout and shrink the
   (deliberately large, ~2.2rem) card titles, body text, emoji and icon badges
   plus section padding so noticeably more information fits per screen. All the
   inline rules these override are non-!important, so these win cleanly. */
@media (max-width: 767px) {
  /* ---- Trim tall content-section vertical padding (inline = 60–80px) ---- */
  .bk-hm-features, .bk-hm-categories, .bk-hm-benefits, .bk-hm-birthday,
  .bk-hm-bestseller, .bk-hm-testimonials,
  .bk-c-prod, .bk-c-ben,
  .bk-ev-vorteile, .bk-ev-ablauf, .bk-ev-warum, .bk-ev-workshops, .bk-ev-ziel,
  .bk-mo-wb, .bk-mo-wasist, .bk-sizes-section,
  .bk-a-mist, .bk-a-buy {
    padding-top: 40px !important;
    padding-bottom: 40px !important;
  }

  /* ---- 2-column compact card grids (were 1 full-width column) ---- */
  .page-id-411 .bk-card-grid3, .page-id-411 .bk-card-grid4,
  .page-id-405 .bk-grid, .page-id-403 .bk-ev-grid,
  .page-id-264 .bk-mo-wbgrid, .page-id-575 .bk-a-stepgrid {
    gap: 12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    justify-content: center !important;
  }
  .page-id-411 .bk-card-grid3 .bk-card,
  .page-id-411 .bk-card-grid4 .bk-card,
  .page-id-405 .bk-grid .bk-bcard,
  .page-id-403 .bk-ev-grid .bk-ev-card,
  .page-id-264 .bk-mo-wbgrid .bk-mo-card,
  .page-id-575 .bk-a-stepgrid .bk-a-step {
    width: calc(50% - 6px) !important;
    max-width: calc(50% - 6px) !important;
    min-width: 0 !important;
    flex: 0 0 calc(50% - 6px) !important;
    padding: 18px 12px !important;
    gap: 10px !important;
  }

  /* ---- Mosaik size cards: 2 columns (12 cards = endless scroll at 1) ---- */
  .page-id-264 .bk-sizes-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
  }
  .page-id-264 .bk-size-card { padding: 12px !important; }

  /* ---- Shrink oversized card inner type for density ---- */
  .bk-card-h3, .bk-ev-h3, .bk-feat-h3,
  .page-id-405 .bk-bcard .bk-h-card {
    font-size: 1.05rem !important;
    line-height: 1.25 !important;
  }
  .bk-cardtext p, .bk-feat-sub p, .bk-feat-body p {
    font-size: 0.85rem !important;
    line-height: 1.45 !important;
  }
  /* Emoji / icon badges: smaller */
  .bk-emoji p, .bk-ev-emoji p { font-size: 1.9rem !important; }
  .bk-feat-emoji {
    width: 56px !important;
    height: 56px !important;
    margin-bottom: 12px !important;
    border-radius: 16px !important;
  }
  .bk-feat-emoji p { font-size: 1.6rem !important; }
  .bk-mo-ico { width: 48px !important; height: 48px !important; }
  .bk-mo-ico svg { width: 22px !important; height: 22px !important; }
}

/* === MOBILE CONTENT DENSITY v9.23 (more blocks, user feedback 2026-06-10) ===
   Round 2: the v9.22 pass missed several still-full-width blocks the user
   flagged by screenshot — Home category tiles + testimonials, and the Events
   "Vorteile für Unternehmen" cards whose titles were still 32px. */
@media (max-width: 767px) {
  /* Home category tiles ("Was suchst du?"): the 4 <a> tiles carry an inline
     style min-width:220px AND their flex wrapper has gap:24px, which together
     force 1 tile per row. Shrink the wrapper gap to 12px and re-pack the tiles
     to 2 columns (aspect-ratio:1/1 inline keeps them square). !important beats
     the inline style attributes. */
  .page-id-411 .bk-hm-categories div:has(> a[href*="/mosaik/"]) {
    gap: 12px !important;
  }
  .page-id-411 .bk-hm-categories a[href] {
    min-width: 0 !important;
    max-width: calc(50% - 8px) !important;
    flex: 0 0 calc(50% - 8px) !important;
  }

  /* Home testimonials: keep 1 column (readability) but trim the oversized
     padding and the giant decorative quote mark so cards aren't full-screen. */
  .page-id-411 .bk-tgrid .bk-tcard {
    padding: 20px !important;
    gap: 12px !important;
  }
  .page-id-411 .bk-tcard > p:first-child {
    font-size: 2.2rem !important;
    line-height: 0.8 !important;
    margin: 0 !important;
  }

  /* Events "Vorteile" cards: title was still 2.2rem (~32px) and padding 28px.
     Shrink to match the rest of the density pass. */
  .bk-ev-vh3 { font-size: 1.05rem !important; line-height: 1.25 !important; }
  .page-id-403 .bk-ev-vcard { padding: 16px !important; gap: 12px !important; }
  .page-id-403 .bk-ev-vcard .bk-ev-vbody p { font-size: 0.85rem !important; line-height: 1.45 !important; }

  /* Kontakt (259): FAQ heading was 32px and cards 244px tall; the info/form
     panels carried 32px padding. Shrink the FAQ titles, trim card + panel
     padding so the page packs more per screen. */
  .page-id-259 .bk-h-faq { font-size: 1.05rem !important; line-height: 1.3 !important; }
  .page-id-259 .bk-faqcard { padding: 16px 18px !important; }
  .page-id-259 .bk-faqcard p { font-size: 0.85rem !important; line-height: 1.45 !important; }
  .page-id-259 .bk-c-info,
  .page-id-259 .bk-c-form { padding: 20px !important; }

  /* Ankauf (575): the two buy cards kept 40px/30px padding + 32px H3 titles,
     and the section H2 headings + intro vertical padding were oversized for
     mobile. Compact all of them. */
  .page-id-575 .bk-a-h2 { font-size: 1.4rem !important; line-height: 1.25 !important; }
  .page-id-575 .bk-a-buycard { padding: 22px 20px !important; }
  .page-id-575 .bk-a-buycard h3 { font-size: 1.15rem !important; line-height: 1.3 !important; }
  .page-id-575 .bk-a-buycard p { font-size: 0.85rem !important; line-height: 1.45 !important; }
  .page-id-575 .bk-a-intro { padding: 36px 0 !important; }
}


/* === WOOCOMMERCE ORDER-RECEIVED / THANK-YOU PAGE === */
/* The classic thank-you view (German Market keeps checkout/thank-you classic)
   shipped as raw, full-bleed WooCommerce tables. Bring it in line with the
   cart/checkout card style: contained width, white cards, green accents,
   rounded corners, Fredoka/Nunito typography. */
.woocommerce-order-received .entry-content > .woocommerce {
  max-width: 920px !important;
  margin: 0 auto !important;
  padding: 8px 20px 64px !important;
}
/* "Vielen Dank ..." confirmation → green success card */
.woocommerce-order-received .woocommerce-thankyou-order-received {
  background: #FFFFFF !important;
  border: 1px solid #E0EFE0 !important;
  border-left: 5px solid #2E7D32 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  padding: 22px 26px !important;
  font-family: "Fredoka", sans-serif !important;
  font-weight: 600 !important;
  font-size: 1.2rem !important;
  color: #1A1A1A !important;
  margin: 0 0 28px !important;
}
/* Order overview (Bestellnummer / Datum / Gesamt / Zahlungsart) → card row */
.woocommerce-order-received .woocommerce-order-overview.order_details {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 14px !important;
  list-style: none !important;
  margin: 0 0 36px !important;
  padding: 0 !important;
  border: none !important;
}
.woocommerce-order-received ul.woocommerce-order-overview li {
  flex: 1 1 150px !important;
  background: #FFFFFF !important;
  border: 1px solid #E0EFE0 !important;
  border-right: 1px solid #E0EFE0 !important; /* override WC's right-divider */
  border-radius: 14px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  padding: 16px 18px !important;
  margin: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
  font-family: "Nunito", sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.05em !important;
  color: #6B7B6E !important;
}
.woocommerce-order-received ul.woocommerce-order-overview li strong {
  display: block !important;
  margin-top: 8px !important;
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.15rem !important;
  font-weight: 600 !important;
  letter-spacing: normal !important;
  text-transform: none !important;
  color: #1A1A1A !important;
}
.woocommerce-order-received ul.woocommerce-order-overview li .woocommerce-Price-amount {
  color: #2E7D32 !important;
}
/* Section titles (Bestelldetails / Rechnungsadresse): drop the default grey
   heading bar so the title sits cleanly above its card. */
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title {
  font-family: "Fredoka", sans-serif !important;
  font-weight: 700 !important;
  font-size: 1.4rem !important;
  color: #1A1A1A !important;
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 16px !important;
}
/* Order details table → rounded card */
.woocommerce-order-received .woocommerce-table--order-details {
  border: none !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  width: 100% !important;
  margin: 0 0 40px !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #FFFFFF !important;
}
.woocommerce-order-received .woocommerce-table--order-details tbody td {
  background: #FFFFFF !important;
}
.woocommerce-order-received .woocommerce-table--order-details th,
.woocommerce-order-received .woocommerce-table--order-details td {
  border: none !important;
  border-bottom: 1px solid #E0EFE0 !important;
  padding: 15px 22px !important;
  font-family: "Nunito", sans-serif !important;
}
.woocommerce-order-received .woocommerce-table--order-details thead th {
  background: #F5FAF5 !important;
  font-family: "Fredoka", sans-serif !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
}
.woocommerce-order-received .woocommerce-table--order-details td.product-total,
.woocommerce-order-received .woocommerce-table--order-details th.product-total {
  text-align: right !important;
}
.woocommerce-order-received .woocommerce-table--order-details tfoot th,
.woocommerce-order-received .woocommerce-table--order-details tfoot td {
  background: #FBFEFB !important;
  font-weight: 700 !important;
}
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-order-received .woocommerce-table--order-details tfoot tr:last-child td {
  font-family: "Fredoka", sans-serif !important;
  font-size: 1.1rem !important;
  color: #2E7D32 !important;
  border-bottom: none !important;
}
.woocommerce-order-received .woocommerce-table--order-details .product-name a {
  font-family: "Fredoka", sans-serif !important;
  font-weight: 600 !important;
  color: #1A1A1A !important;
}
.woocommerce-order-received .woocommerce-table--order-details .product-name a:hover {
  color: #2E7D32 !important;
}
/* Customer details (Rechnungs-/Lieferadresse) → address cards */
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 20px !important;
}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column {
  flex: 1 1 260px !important;
}
.woocommerce-order-received .woocommerce-customer-details address {
  background: #FFFFFF !important;
  border: 1px solid #E0EFE0 !important;
  border-radius: 16px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06) !important;
  padding: 20px 22px !important;
  font-style: normal !important;
  font-family: "Nunito", sans-serif !important;
  line-height: 1.7 !important;
  color: #2A352B !important;
}



/* German Market Widerruf-Button (Pflicht seit 19.06.2026) - Footer-Styling */
.german-market-withdrawal-button-wrap{background:#1A2E1C !important;text-align:center;padding:26px 16px 36px;margin:0;border-top:1px solid rgba(255,255,255,.12);}
.german-market-withdrawal-button-wrap::before{content:"Du möchtest einen Vertrag widerrufen?";display:block;color:rgba(255,255,255,.65);font-size:13px;margin-bottom:12px;}
.german-market-withdrawal-button.button.wp-element-button{display:inline-block;background:#2E7D32 !important;color:#fff !important;border:0;border-radius:10px;padding:12px 30px;font-size:15px;font-weight:600;line-height:1.2;text-decoration:none;}
.german-market-withdrawal-button.button.wp-element-button:hover,.german-market-withdrawal-button.button.wp-element-button:focus{background:#246428 !important;color:#fff !important;}

/* Widerruf-Formular-Seite (page 1259 Klon / 1350 Live) - Hero + Formular + Validierung
   ACHTUNG: 1350 ist auf dem KLON inzwischen die Business-Seite "Mosaik Experience".
   Deshalb setzt der Business-Block weiter unten `.entry-header` zurueck - sonst malt die
   Regel hier einen gruenen Streifen ueber den dunklen Business-Hero. */
body.page-id-1259 #content,body.page-id-1350 #content,body.page-id-1259 .ast-container,body.page-id-1350 .ast-container,body.page-id-1259 #primary,body.page-id-1350 #primary,body.page-id-1259 #main,body.page-id-1350 #main,body.page-id-1259 .ast-article-single,body.page-id-1350 .ast-article-single{padding-top:0 !important;margin-top:0 !important;}
body.page-id-1259 .entry-header,body.page-id-1350 .entry-header{background:linear-gradient(135deg,#2A6B30 0%,#236B2A 50%,#1F5624 100%);padding:80px 24px 44px;margin:0;text-align:center;position:relative;overflow:hidden;}
body.page-id-1259 .entry-header::before,body.page-id-1350 .entry-header::before{content:"";position:absolute;top:-30px;right:10%;width:120px;height:120px;background:rgba(255,255,255,.05);border-radius:16px;transform:rotate(15deg);pointer-events:none;}
body.page-id-1259 .entry-header::after,body.page-id-1350 .entry-header::after{content:"";position:absolute;bottom:-20px;left:5%;width:90px;height:90px;background:rgba(255,255,255,.04);border-radius:16px;transform:rotate(-10deg);pointer-events:none;}
body.page-id-1259 .entry-title,body.page-id-1350 .entry-title{font-family:Fredoka,sans-serif;font-weight:700;font-size:2.2rem;color:#fff !important;margin:0;position:relative;z-index:1;}
body.page-id-1259 .entry-title::after,body.page-id-1350 .entry-title::after{content:"Hier kannst du einen bei uns abgeschlossenen Vertrag widerrufen.";display:block;font-weight:400;font-size:1.05rem;color:rgba(255,255,255,.9);margin-top:12px;}
.german-market-withdrawal-form{max-width:860px;margin:44px auto;padding:0 20px;}
.german-market-withdrawal-form label{display:block;font-weight:600;color:#2A352B;margin-bottom:6px;}
.german-market-withdrawal-form input[type=text],.german-market-withdrawal-form input[type=email],.german-market-withdrawal-form textarea{width:100%;border:1px solid #cfd8d0;border-radius:8px;padding:12px 14px;font-size:15px;background:#fff;box-sizing:border-box;}
.german-market-withdrawal-form input:focus,.german-market-withdrawal-form textarea:focus{border-color:#2E7D32;outline:none;box-shadow:0 0 0 2px rgba(46,125,50,.15);}
.german-market-withdrawal-form-fields .form-row{margin-bottom:18px;}
.bk-field-error{display:block;color:#c0392b;font-size:.85rem;margin-top:6px;font-weight:500;}
.german-market-withdrawal-form .bk-invalid{border-color:#c0392b !important;box-shadow:0 0 0 2px rgba(192,57,43,.12) !important;}

/* === KREATIVE PAKETE IM SHOP (2026-06-24) ===
   The standalone "Kreative Pakete" page was removed from the menu; its products
   now live in the shop. A badge keeps them recognisable, the filter tab groups them.
   Products carry the WooCommerce class product_cat-kreative-pakete. */
.bk-shop-products li.product.product_cat-kreative-pakete {
    position: relative;
}
.bk-shop-products li.product.product_cat-kreative-pakete::before {
    content: "Kreativ-Paket";
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 3;
    background: #FDD835;
    color: #1A2E1C;
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 0.3px;
    padding: 5px 12px;
    border-radius: 14px;
    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15);
    pointer-events: none;
}

/* ==========================================================================
   BUSINESS MODE (B2B) — consolidated stylesheet            [2026-06-24, v6]
   ==========================================================================
   Replaces ten patch blocks that had accumulated over five review rounds and
   were fighting each other with !important. One system, one place.

   HOW THE TWO SITES ARE KEPT APART
   The mu-plugin bk-business-mode.php puts `bk-business` or `bk-private` on
   <body> based on the URL path (/business/...). Everything below is scoped to
   `body.bk-business`, so the private site cannot be touched by any rule here.
   Private-brand values (#2E7D32 green, #FDD835 gold, #1A2E1C footer) must
   NEVER appear in this block — that leakage was the recurring design bug.

   SURFACE SYSTEM — only TWO values carry sections, so every edge means
   something. Adjacent surfaces are either identical (seamless) or one full
   step apart; never almost-the-same (that reads as a mistake).
     --b-dark  #14301A  every dark section: hero, dark bands, USP, CTA
     --b-light #F7F6F2  every light section
     --b-deep  #0E2413  chrome only: switcher bar, footer, withdrawal band
     --b-raise #1B3F24  cards ON dark surfaces (never a whole section)
     #FFFFFF            cards ON light surfaces
   Page rhythm therefore alternates dark / light in full steps.

   ACCENTS — chosen by contrast, not taste:
     on dark surfaces  -> gold #F5C518 (gold on white fails WCAG AA)
     on light surfaces -> deep green #14301A / #1B3F24
     gold is an accent for small elements and primary CTAs, never a divider.

   SPACING — 8px baseline: 8 / 16 / 24 / 32 / 48 / 88.
   ========================================================================== */

body.bk-business {
    --b-dark: #14301A;
    --b-light: #FAF4E3;
    --b-white: #FFFFFF;
    --b-deep: #0E2413;
    --b-raise: #1B3F24;
    --b-gold: #F5C518;
    --b-gold-ink: #C8A93A;
    --b-ink: #14301A;
    --b-muted: #5C6B5E;
    --b-on-dark: #E9EFEA;
    --b-on-dark-soft: rgba(233, 239, 234, 0.82);
    --b-hair: rgba(255, 255, 255, 0.08);
    --b-sec-y: 88px;
}

/* ==========================================================================
   1. SWITCHER BAR  (both modes — the only rules here not scoped to business)
   ========================================================================== */
.bk-switchbar {
    background: #F5C518;
    color: #14301A;
    font-family: Nunito, sans-serif;
    font-size: 0.82rem;
    line-height: 1.3;
}
.bk-switchbar-in {
    max-width: 1240px;
    margin: 0 auto;
    padding: 8px 24px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.bk-switchbar-note { color: #1C2A16; letter-spacing: 0.2px; font-weight: 700; }
.bk-switch {
    display: inline-flex;
    background: rgba(20, 48, 26, 0.10);
    border-radius: 999px;
    padding: 3px;
    flex-shrink: 0;
}
.bk-switchbar a.bk-seg {
    display: inline-block;
    padding: 5px 18px;
    border-radius: 999px;
    color: #14301A !important;
    text-decoration: none !important;
    font-weight: 700;
    font-size: 0.8rem;
    letter-spacing: 0.3px;
    transition: background 0.25s ease, color 0.25s ease;
}
.bk-switchbar a.bk-seg:hover { background: rgba(20, 48, 26, 0.12); }
/* The active pill adopts the colour of the version you are IN:
   the private brand green on the shop side, the corporate deep green on the
   business side. The gold band itself stays identical across both, so the bar
   reads as one brand bridge rather than two different headers. */
.bk-switchbar a.bk-seg-on {
    box-shadow: 0 1px 4px rgba(20, 48, 26, 0.22);
}
body.bk-private .bk-switchbar a.bk-seg-on { background: #2E7D32; color: #FFFFFF !important; }
body.bk-private .bk-switchbar a.bk-seg-on:hover { background: #256A29; }
body.bk-business .bk-switchbar a.bk-seg-on { background: #14301A; color: #F5C518 !important; }
body.bk-business .bk-switchbar a.bk-seg-on:hover { background: #0E2413; }
@media (max-width: 720px) {
    .bk-switchbar-note { display: none; }
    .bk-switchbar-in { justify-content: center; padding: 6px 16px; }
    /* Die Pillen waren nur 25px hoch — auf dem Handy zu klein zum Treffen.
       Die Leiste steht auf JEDER Seite ganz oben, also ist sie das erste, was
       ein Daumen anfasst. */
    .bk-switchbar a.bk-seg {
        min-height: 34px;
        display: inline-flex;
        align-items: center;
        padding: 6px 20px;
        font-size: 0.86rem;
    }
}
body.bk-business .bk-switchbar { border-bottom: 1px solid rgba(20, 48, 26, 0.14); }
body.bk-business .bk-switchbar-note { color: #1C2A16; }

/* ==========================================================================
   2. HEADER — one dark canvas with the bar above; separated by light, not
      by a coloured line (a gold rule read as a stray divider).
   ========================================================================== */
body.bk-business .site-header,
body.bk-business .main-header-bar,
body.bk-business .ast-primary-header-bar,
body.bk-business .ast-above-header,
body.bk-business .ast-below-header,
body.bk-business .main-header-bar-wrap,
body.bk-business .ast-sticky-active .main-header-bar {
    background: var(--b-dark) !important;
    background-color: var(--b-dark) !important;
    border-bottom: 1px solid var(--b-hair) !important;
    box-shadow: 0 6px 18px rgba(0, 0, 0, 0.22) !important;
}
body.bk-business .main-header-bar .main-header-menu a,
body.bk-business .main-navigation a,
body.bk-business .main-header-menu .menu-item a,
body.bk-business .main-header-bar a,
body.bk-business .ast-builder-menu-1 .menu-item > .menu-link {
    color: var(--b-on-dark) !important;
}
body.bk-business .main-header-menu .menu-item a:hover,
body.bk-business .main-navigation a:hover,
body.bk-business .main-header-menu .current-menu-item a,
body.bk-business .main-header-menu .current_page_item a {
    color: var(--b-gold) !important;
}
body.bk-business .main-header-menu .current-menu-item > a::after,
body.bk-business .main-header-menu .current_page_item > a::after {
    background: var(--b-gold) !important;
    height: 2px;
}
body.bk-business .ast-mobile-menu-trigger-minimal,
body.bk-business .ast-button-wrap .menu-toggle {
    color: var(--b-on-dark) !important;
    background: transparent !important;
}
body.bk-business .ast-mobile-header-wrap .main-header-bar,
body.bk-business .ast-mobile-popup-drawer .ast-mobile-popup-inner { background: var(--b-dark) !important; }
body.bk-business .ast-mobile-popup-drawer .menu-item a { color: var(--b-on-dark) !important; }
body.bk-business .site-title a { color: #FFFFFF !important; }
/* The logo is deliberately IDENTICAL in both versions - one brand mark. */
body.bk-business .skip-link { background: var(--b-dark) !important; color: var(--b-gold) !important; }

/* ==========================================================================
   3. LAYOUT — full-bleed sections and no theme gaps
      Astra caps .entry-content children at 1200px and adds a 40px auto
      margin, plus a 64px bottom margin on .content-area; both are undone
      here so the bands can run edge to edge.
   ========================================================================== */
body.bk-business #content,
body.bk-business .site-content,
body.bk-business .site-content .ast-container,
body.bk-business #primary,
body.bk-business .site-main,
body.bk-business .ast-article-single,
body.bk-business .entry-content { padding-top: 0 !important; margin-top: 0 !important; }
body.bk-business .ast-article-single { padding-bottom: 0 !important; margin-bottom: 0 !important; }
body.bk-business .content-area,
body.bk-business .content-area.primary { margin-bottom: 0 !important; padding-bottom: 0 !important; }

body.bk-business .entry-content .bk-biz-hero,
body.bk-business .entry-content .bk-biz-trust,
body.bk-business .entry-content .bk-biz-sec,
body.bk-business .entry-content .bk-biz-cta {
    max-width: none !important;
    width: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: max(0px, calc(50vw - 50%)) !important;
    padding-right: max(0px, calc(50vw - 50%)) !important;
}
.bk-biz-wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* ==========================================================================
   4. SECTION SURFACES — exactly two values, strict alternation
   ========================================================================== */
body.bk-business .entry-content .bk-biz-sec { padding-top: var(--b-sec-y) !important; padding-bottom: var(--b-sec-y) !important; }
/* Mirrors the private site, which alternates white with a faint GREEN tint.
   Business alternates white with a faint GOLD tint, so the two versions share
   a rhythm but never a palette. */
body.bk-business .entry-content .bk-biz-sec-light { background: var(--b-light); }
body.bk-business .entry-content .bk-biz-sec-flow { background: var(--b-white); }
body.bk-business .entry-content .bk-biz-sec-dark,
body.bk-business .entry-content .bk-biz-sec-usp { background: var(--b-dark); color: var(--b-on-dark); }
body.bk-business .entry-content .bk-biz-sec-usp { padding-top: 48px !important; padding-bottom: 48px !important; }
/* Two adjacent light sections share one value, so they merge into a single
   calm block instead of showing a faint accidental seam. */
body.bk-business .entry-content .bk-biz-sec-light + .bk-biz-sec-light { padding-top: 0 !important; }

/* Astra prints an empty .entry-header above the content. Some private-site pages
   style it as a green hero via hard-coded page IDs — and a new business page can
   land on one of those IDs (page 1350 did on the clone), which painted a stray
   green band above the dark hero. Business pages never use that header, so we
   neutralise it here for the whole section instead of chasing IDs. */
body.bk-business .entry-header {
    background: none !important;
    padding: 0 !important;
    margin: 0 !important;
}
body.bk-business .entry-header::before,
body.bk-business .entry-header::after { display: none !important; }

/* Hero — same surface as the header: the page opens as one dark canvas. */
body.bk-business .entry-content .bk-biz-hero {
    background: var(--b-dark);
    padding-top: 112px !important;
    padding-bottom: 96px !important;
}
body.bk-business .entry-content .bk-biz-hero-sub { padding-top: 88px !important; padding-bottom: 72px !important; }
/* The accent glow only exists where a LIGHT band follows, so it can never cut
   off against a dark section (that hard line was a reported bug). */
body.bk-business .entry-content .bk-biz-hero:not(.bk-biz-hero-sub) {
    background-image: radial-gradient(circle at 80% 14%, rgba(245, 197, 24, 0.10), transparent 55%);
}

/* Trust band — continues the hero surface, divided only by a hairline. */
body.bk-business .entry-content .bk-biz-trust {
    background: var(--b-dark);
    border-top: 1px solid var(--b-hair);
    padding-top: 28px !important;
    padding-bottom: 28px !important;
}

/* ==========================================================================
   EVENT-FORMAT PRODUKTE (Kategorie events-workshops)
   --------------------------------------------------------------------------
   Die fünf Formate der Events-Seite sind externe Produkte: kein Preis, kein
   Warenkorb, der Button führt ins Kontaktformular. Das Raster auf Seite 403
   wird im eigenen Style-Block der Seite gestylt — hier steht nur, was auf der
   EINZELNEN Produktseite gebraucht wird.
   ========================================================================== */
/* Kein Preis vorhanden → die leere Zeile und die Bewertungssterne raus. */
.product_cat-events-workshops .summary .price,
.product_cat-events-workshops .woocommerce-product-rating { display: none !important; }

/* Solange kein Foto hinterlegt ist, ersetzt eine Markenkachel den grauen
   Platzhalter. Sobald ein Beitragsbild gesetzt wird, greift die Regel nicht
   mehr — es ist also nichts zurückzubauen. */
/* Hook ist `--without-images` an der Galerie: das grosse Platzhalterbild traegt
   die Klasse `woocommerce-placeholder` NICHT, nur das im Raster darunter. */
.product_cat-events-workshops .woocommerce-product-gallery--without-images .woocommerce-product-gallery__wrapper {
    background: linear-gradient(135deg, #2E7D32 0%, #236B2A 55%, #1F5624 100%);
    border-radius: 16px;
    position: relative;
    overflow: hidden;
    min-height: 340px;
}
.product_cat-events-workshops .woocommerce-product-gallery--without-images .woocommerce-product-gallery__wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(circle, rgba(255, 255, 255, 0.15) 4px, transparent 4.5px);
    background-size: 30px 30px;
    background-position: 10px 10px;
    pointer-events: none;
}
.product_cat-events-workshops .woocommerce-product-gallery--without-images img,
.product_cat-events-workshops img.woocommerce-placeholder { opacity: 0; }

/* „Ideal für"-Chips (mu-plugin bk-event-products.php) auf der Produktseite. */
.woocommerce div.product .bk-evp-idealbox { margin: 20px 0 26px; }
.woocommerce div.product .bk-evp-ideal {
    display: block;
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.72rem;
    letter-spacing: 1px;
    text-transform: uppercase;
    color: #2E7D32 !important;
    margin: 0 0 10px;
}
.woocommerce div.product .bk-evp-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.woocommerce div.product .bk-evp-chip {
    display: inline-block;
    background: #F1F8F1;
    border: 1px solid #DCEBDC;
    color: #33553A !important;
    padding: 6px 14px;
    border-radius: 20px;
    font-family: Nunito, sans-serif;
    font-weight: 600;
    font-size: 0.85rem;
}
/* Im Raster der „Ähnlichen Produkte" ist für die Chips kein Platz. */
.woocommerce div.product .related .bk-evp-idealbox,
.woocommerce div.product .related .bk-evp-excerpt { display: none !important; }

/* Mobil: gleiche Untergrenzen wie auf der Events-Seite (siehe dort). */
@media (max-width: 767px) {
    .woocommerce div.product .bk-evp-chip { font-size: 0.92rem; padding: 8px 16px; }
    .woocommerce div.product .bk-evp-ideal { font-size: 0.8rem; }
}

/* ==========================================================================
   FORMAT DETAIL PAGES  /business/events/<format>/
   --------------------------------------------------------------------------
   ONE band, two columns: a text card plus a facts/CTA card — the same shape
   as a WooCommerce product page. The landing pages' rhythm of alternating
   full-width sections was tried here first and rejected by the owner: on a
   short page those bands read as a stack of unrelated blocks instead of one
   page. Nothing in this block is used by the landing pages.
   ========================================================================== */
body.bk-business .entry-content .bk-biz-detail {
    background: var(--b-light);
    padding-top: 44px !important;
    padding-bottom: 72px !important;
}
body.bk-business .bk-biz-detail-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.7fr) minmax(268px, 1fr);
    gap: 28px;
    align-items: start;
}
/* Deliberately NOT position:sticky on the aside — the header already is, and
   two sticky elements plus a transform hover make iOS Safari flicker. */
body.bk-business .bk-biz-detail-main,
body.bk-business .bk-biz-detail-side {
    background: #FFFFFF;
    border: 1px solid #EDE6D2;
    border-radius: 12px;
}
body.bk-business .bk-biz-detail-main { padding: 40px; }
body.bk-business .bk-biz-detail-side { padding: 26px; }

body.bk-business .bk-biz-lnk { color: var(--b-raise) !important; font-weight: 700; text-decoration: none !important; }
body.bk-business .bk-biz-lnk:hover { color: var(--b-dark) !important; text-decoration: underline !important; }
body.bk-business .bk-biz-back { display: inline-block; font-size: 0.86rem; margin-bottom: 14px; }
body.bk-business .bk-biz-title {
    font-family: Fredoka, Nunito, sans-serif;
    font-weight: 700;
    font-size: 2.05rem;
    line-height: 1.15;
    color: var(--b-ink) !important;
    margin: 0 0 14px !important;
}
/* Named -dlead, not -lead: `.bk-biz-lead` already exists further down as the
   GOLD hero lead of the landing pages. */
body.bk-business .bk-biz-dlead { font-size: 1.04rem; line-height: 1.6; color: var(--b-muted) !important; margin: 0 !important; }
body.bk-business .bk-biz-dlead + .bk-biz-dlead { margin-top: 14px !important; }
/* Ergebnisfoto auf einer Format-Detailseite: volle Kartenbreite, abgerundet,
   mit kurzer Bildunterschrift. Bewusst KEIN fester Beschnitt — das Foto wurde
   beim Zuschneiden bereits auf 3:2 gebracht. */
body.bk-business .bk-biz-figure { margin: 28px 0 0; }
body.bk-business .bk-biz-figure img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 12px;
    box-shadow: 0 4px 18px rgba(20, 48, 26, 0.10);
}
body.bk-business .bk-biz-figcap {
    margin: 10px 0 0 !important;
    font-size: 0.86rem;
    line-height: 1.5;
    color: var(--b-muted) !important;
}

body.bk-business .bk-biz-blk { margin-top: 32px; }
body.bk-business .bk-biz-blk h2 {
    font-family: Fredoka, Nunito, sans-serif;
    font-weight: 700;
    font-size: 1.08rem;
    color: var(--b-ink) !important;
    margin: 0 0 14px !important;
}

/* Bullet list — square markers in the gold ink, matching the card accents. */
body.bk-business .bk-biz-points { list-style: none; margin: 0; padding: 0; display: grid; gap: 11px; }
body.bk-business .bk-biz-points li {
    position: relative;
    padding-left: 24px;
    font-size: 0.95rem;
    line-height: 1.6;
    color: var(--b-muted) !important;
}
body.bk-business .bk-biz-points li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.55em;
    width: 8px;
    height: 8px;
    border-radius: 2px;
    background: var(--b-gold-ink);
}
body.bk-business .bk-biz-points b { color: var(--b-ink) !important; }

/* Numbered steps — the ordered list keeps its own numbering, we only style it. */
body.bk-business .bk-biz-flow { margin: 0; padding-left: 24px; display: grid; gap: 11px; }
body.bk-business .bk-biz-flow li { font-size: 0.95rem; line-height: 1.6; color: var(--b-muted) !important; padding-left: 4px; }
body.bk-business .bk-biz-flow li::marker { color: var(--b-raise); font-weight: 700; }
body.bk-business .bk-biz-flow b { color: var(--b-ink) !important; }

/* Use-case chips */
body.bk-business .bk-biz-tags { display: flex; flex-wrap: wrap; gap: 9px; }
body.bk-business .bk-biz-tag {
    display: inline-block;
    padding: 7px 15px;
    border-radius: 999px;
    background: var(--b-light);
    border: 1px solid #EDE6D2;
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.87rem;
    color: var(--b-dark) !important;
}

/* Facts + CTA card */
body.bk-business .bk-biz-side-t {
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.68rem;
    letter-spacing: 1.3px;
    text-transform: uppercase;
    color: var(--b-raise) !important;
    margin: 0 0 16px !important;
}
body.bk-business .bk-biz-side-facts { display: grid; gap: 13px; margin-bottom: 22px; }
body.bk-business .bk-biz-side-k {
    display: block;
    font-family: Nunito, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 0.6px;
    text-transform: uppercase;
    color: var(--b-muted) !important;
    margin-bottom: 2px;
}
body.bk-business .bk-biz-side-v {
    display: block;
    font-family: Fredoka, Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.98rem;
    line-height: 1.3;
    color: var(--b-ink) !important;
}
body.bk-business .bk-biz-detail-side .bk-biz-btn { display: block; width: 100%; padding: 14px 20px; }
body.bk-business .bk-biz-side-c { display: block; text-align: center; font-size: 0.92rem; margin-top: 10px; }

@media (max-width: 880px) {
    body.bk-business .bk-biz-detail-grid { grid-template-columns: 1fr; }
    /* The facts card stays BELOW the text on a phone: the page title lives in
       the text card, so pulling the facts up would open the page with a
       context-free "Auf einen Blick". */
    body.bk-business .bk-biz-detail-main { padding: 28px 22px; }
    body.bk-business .bk-biz-title { font-size: 1.7rem; }
}

/* --------------------------------------------------------------------------
   MOBIL: Lesbarkeit + Daumengrößen
   Astra setzt auf dem Handy `html { font-size: 14.59px }`, deshalb schrumpfen
   ALLE rem-Werte um rund 9 %. Bei den Mikro-Labels landete das bei 9–10px und
   bei den Chips bei 12,4px. Hier werden nur die Untergrenzen angehoben — die
   Desktop-Größen bleiben unberührt.
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
    body.bk-business .bk-biz-tag { font-size: 0.92rem; padding: 8px 16px; }
    body.bk-business .bk-biz-side-t { font-size: 0.78rem; }
    body.bk-business .bk-biz-side-k { font-size: 0.8rem; }
    body.bk-business .bk-biz-side-v { font-size: 1.05rem; }
    body.bk-business .bk-biz-eyebrow { font-size: 0.86rem; }
    body.bk-business .bk-biz-size small { font-size: 0.76rem; }
    body.bk-business .bk-biz-fitlabel { font-size: 0.8rem; }
    /* Kontaktlinks in der Fakten-Karte sind die eigentliche Handlung auf dem
       Handy (tippen = anrufen/mailen) — 22px hoch war zu wenig. */
    body.bk-business .bk-biz-side-c {
        min-height: 44px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 1rem;
        margin-top: 4px;
    }
    body.bk-business .bk-biz-back { padding: 8px 0; font-size: 0.95rem; }
}

/* CTA band — dark, one full step from the light section above it. */
body.bk-business .entry-content .bk-biz-cta {
    background: var(--b-dark);
    padding-top: 72px !important;
    padding-bottom: 72px !important;
}

/* Footer + withdrawal band read as ONE deep block. */
body.bk-business .site-footer,
body.bk-business .site-primary-footer-wrap,
body.bk-business .site-below-footer-wrap,
body.bk-business .ast-footer-overlay {
    background: var(--b-deep) !important;
    background-color: var(--b-deep) !important;
    border-top: none !important;
}
body.bk-business .site-footer a { color: var(--b-on-dark-soft) !important; }
body.bk-business .site-footer a:hover { color: var(--b-gold) !important; }
body.bk-business #ast-scroll-top { background: var(--b-gold) !important; color: var(--b-dark) !important; }

/* ==========================================================================
   5. TYPOGRAPHY — one scale, generous measure (~70 characters)
   ========================================================================== */
body.bk-business .bk-biz-eyebrow {
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 3px;
    text-transform: uppercase;
    color: var(--b-gold) !important;
    margin: 0 0 16px !important;
}
body.bk-business .bk-biz-h1 {
    font-family: Fredoka, Nunito, sans-serif;
    font-weight: 700;
    font-size: clamp(2.5rem, 5vw, 3.75rem);
    line-height: 1.08;
    letter-spacing: -0.5px;
    color: #FFFFFF !important;
    margin: 0 0 24px !important;
}
body.bk-business .bk-biz-h1 .bk-biz-accent { color: var(--b-gold) !important; }
body.bk-business .bk-biz-lead {
    font-size: 1.2rem;
    font-weight: 600;
    line-height: 1.5;
    color: var(--b-gold) !important;
    margin: 0 0 16px !important;
}
body.bk-business .bk-biz-sub {
    max-width: 62ch;
    font-size: 1.05rem;
    line-height: 1.7;
    color: rgba(233, 239, 234, 0.9) !important;
    margin: 0 0 32px !important;
}
body.bk-business .bk-biz-h2 {
    font-family: Fredoka, Nunito, sans-serif;
    font-weight: 700;
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    line-height: 1.16;
    letter-spacing: -0.3px;
    margin: 0 0 16px !important;
}
body.bk-business .bk-biz-sec-light .bk-biz-h2,
body.bk-business .bk-biz-sec-flow .bk-biz-h2 { color: var(--b-ink) !important; }
body.bk-business .bk-biz-sec-dark .bk-biz-h2 { color: #FFFFFF !important; }
body.bk-business .bk-biz-intro {
    max-width: 68ch;
    font-size: 1.0625rem;
    line-height: 1.7;
    margin: 0 0 48px !important;
}
body.bk-business .bk-biz-sec-light .bk-biz-intro,
body.bk-business .bk-biz-sec-flow .bk-biz-intro { color: var(--b-muted) !important; }
body.bk-business .bk-biz-sec-dark .bk-biz-intro { color: var(--b-on-dark-soft) !important; }
body.bk-business .bk-biz-center { text-align: center; margin-top: 48px; }

/* ==========================================================================
   6. BUTTONS
   ========================================================================== */
body.bk-business .bk-biz-cta-row { display: flex; flex-wrap: wrap; gap: 16px; }
body.bk-business .bk-biz-btn {
    display: inline-block;
    text-align: center;
    padding: 16px 32px;
    border-radius: 6px;
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.96rem;
    text-decoration: none !important;
    transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}
body.bk-business .bk-biz-btn:hover { transform: translateY(-2px); }
body.bk-business .entry-content a.bk-biz-btn-gold,
body.bk-business .bk-biz-btn-gold {
    background: var(--b-gold) !important;
    color: var(--b-dark) !important;
    box-shadow: 0 4px 14px rgba(245, 197, 24, 0.28);
}
body.bk-business .entry-content a.bk-biz-btn-ghost,
body.bk-business .bk-biz-btn-ghost {
    background: transparent !important;
    color: #FFFFFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.55);
}
body.bk-business .entry-content a.bk-biz-btn-ghost:hover { color: var(--b-gold) !important; border-color: var(--b-gold); }
/* Secondary button on light surfaces — corporate deep green, never the
   private brand green. */
body.bk-business .entry-content a.bk-biz-btn-green,
body.bk-business .bk-biz-btn-green {
    background: var(--b-dark) !important;
    color: #FFFFFF !important;
    box-shadow: 0 4px 14px rgba(20, 48, 26, 0.22);
}
body.bk-business .entry-content a.bk-biz-btn-green:hover { background: var(--b-raise) !important; }
/* Compact variant — used for the "Mehr erfahren" buttons on the format rows, so
   they read as secondary next to the page's primary "Anfragen" call to action. */
body.bk-business .entry-content a.bk-biz-btn-sm,
body.bk-business .bk-biz-btn-sm { padding: 12px 24px; font-size: 0.9rem; }

/* ==========================================================================
   7. COMPONENTS
   ========================================================================== */
/* Trust / proof row */
body.bk-business .bk-biz-trustlabel {
    text-align: center;
    font-family: Nunito, sans-serif;
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: rgba(233, 239, 234, 0.55) !important;
    margin: 0 0 16px !important;
}
body.bk-business .bk-biz-trustrow { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 24px; }
body.bk-business .bk-biz-trustname {
    font-family: Fredoka, Nunito, sans-serif;
    font-weight: 700;
    font-size: 1.5rem;
    color: #FFFFFF;
    letter-spacing: 1px;
}
body.bk-business .bk-biz-trustfact { font-family: Nunito, sans-serif; font-size: 0.9rem; color: var(--b-on-dark-soft); }
body.bk-business .bk-biz-trustfact strong { color: var(--b-gold) !important; font-weight: 700; }
body.bk-business .bk-biz-trustsep { width: 1px; height: 22px; background: var(--b-hair); }

/* Grids */
body.bk-business .bk-biz-pillars,
body.bk-business .bk-biz-three { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
body.bk-business .bk-biz-two { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
body.bk-business .bk-biz-four { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
body.bk-business .bk-biz-five { display: grid; grid-template-columns: repeat(5, 1fr); gap: 24px; }

/* Cards on light surfaces = white; on dark surfaces = raised green. */
body.bk-business .bk-biz-pillar,
body.bk-business .bk-biz-fcard,
body.bk-business .bk-biz-ref,
body.bk-business .bk-biz-app,
body.bk-business .bk-biz-format,
body.bk-business .bk-biz-formbox,
body.bk-business .bk-biz-asidecard {
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0 2px 14px rgba(20, 48, 26, 0.06);
}
body.bk-business .bk-biz-pillar,
body.bk-business .bk-biz-app { border-top: 3px solid var(--b-raise); padding: 32px 24px; }
body.bk-business .bk-biz-fcard,
body.bk-business .bk-biz-ref { border-left: 3px solid var(--b-raise); padding: 32px 24px; }
body.bk-business .bk-biz-card,
body.bk-business .bk-biz-scale {
    background: var(--b-raise);
    border: 1px solid var(--b-hair);
    border-radius: 12px;
    padding: 32px 24px;
}
body.bk-business .bk-biz-pillar h3,
body.bk-business .bk-biz-fcard h3,
body.bk-business .bk-biz-ref h3,
body.bk-business .bk-biz-format h3,
body.bk-business .bk-biz-app h4,
body.bk-business .bk-biz-steps h4,
body.bk-business .bk-biz-asidecard h3 {
    font-family: Fredoka, Nunito, sans-serif;
    color: var(--b-ink) !important;
    margin: 0 0 12px !important;
}
body.bk-business .bk-biz-pillar h3,
body.bk-business .bk-biz-fcard h3,
body.bk-business .bk-biz-ref h3 { font-size: 1.2rem; }
body.bk-business .bk-biz-format h3 { font-size: 1.4rem; }
body.bk-business .bk-biz-app h4,
body.bk-business .bk-biz-steps h4,
body.bk-business .bk-biz-asidecard h3 { font-size: 1.05rem; }
body.bk-business .bk-biz-pillar p,
body.bk-business .bk-biz-fcard p,
body.bk-business .bk-biz-ref p,
body.bk-business .bk-biz-app p,
body.bk-business .bk-biz-steps p,
body.bk-business .bk-biz-format p { color: var(--b-muted) !important; line-height: 1.65; font-size: 0.95rem; margin: 0; }
body.bk-business .bk-biz-ico { font-size: 1.7rem; color: var(--b-raise) !important; }
body.bk-business .bk-biz-fit { margin-top: 16px !important; padding-top: 16px; border-top: 1px solid #E7E5DC; font-size: 0.88rem !important; }
body.bk-business .bk-biz-refno { font-family: Fredoka, Nunito, sans-serif; font-size: 1.5rem; font-weight: 700; color: var(--b-gold-ink) !important; }
body.bk-business .bk-biz-refsub { color: var(--b-raise) !important; font-weight: 700; font-size: 0.88rem !important; margin: 0 0 8px !important; }

/* Cards on dark */
body.bk-business .bk-biz-card h3,
body.bk-business .bk-biz-scale h3 { font-family: Fredoka, Nunito, sans-serif; color: #FFFFFF !important; margin: 0 0 16px !important; line-height: 1.45; }
body.bk-business .bk-biz-card h3 { font-size: 1.1rem; }
body.bk-business .bk-biz-scale h3 { font-size: 1.05rem; margin-bottom: 8px !important; }
body.bk-business .bk-biz-scale p { color: var(--b-on-dark-soft) !important; font-size: 0.88rem; line-height: 1.6; margin: 0; }
body.bk-business .bk-biz-list { margin: 0; padding-left: 20px; }
body.bk-business .bk-biz-list li { margin-bottom: 12px; line-height: 1.6; color: var(--b-on-dark-soft) !important; font-size: 0.95rem; }
body.bk-business .bk-biz-list strong { color: #FFFFFF !important; }
body.bk-business .bk-biz-badge {
    display: inline-block;
    font-family: Nunito, sans-serif;
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 1px;
    text-transform: uppercase;
    padding: 4px 10px;
    border-radius: 4px;
    margin-right: 8px;
    vertical-align: middle;
}
body.bk-business .bk-biz-badge-gold { background: var(--b-gold); color: var(--b-dark); }
body.bk-business .bk-biz-badge-green { background: rgba(233, 239, 234, 0.9); color: var(--b-dark); }
body.bk-business .bk-biz-size { display: block; font-family: Fredoka, Nunito, sans-serif; font-weight: 700; font-size: 1.45rem; color: var(--b-gold) !important; line-height: 1.1; margin-bottom: 16px; }
body.bk-business .bk-biz-size small { display: block; font-family: Nunito, sans-serif; font-size: 0.66rem; font-weight: 700; letter-spacing: 1.2px; text-transform: uppercase; color: rgba(233, 239, 234, 0.6); margin-top: 4px; }

/* USP strip */
body.bk-business .bk-biz-usp h4 { font-family: Fredoka, Nunito, sans-serif; font-size: 0.98rem; color: var(--b-gold) !important; margin: 0 0 8px !important; }
body.bk-business .bk-biz-usp p { font-size: 0.87rem; line-height: 1.55; color: var(--b-on-dark-soft) !important; margin: 0; }

/* Format rows */
body.bk-business .bk-biz-format { display: grid; grid-template-columns: 1.6fr 1fr; gap: 32px; padding: 32px; margin-bottom: 24px; }
body.bk-business .bk-biz-format-fit { background: var(--b-light); border-radius: 8px; padding: 24px; align-self: start; }
body.bk-business .bk-biz-fitlabel {
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.7rem;
    letter-spacing: 1.4px;
    text-transform: uppercase;
    color: var(--b-raise) !important;
    margin: 0 0 8px !important;
}
/* "Mehr erfahren" sits at the bottom of the description column, so the three
   rows keep a predictable reading order: what it is → who it is for → detail. */
body.bk-business .bk-biz-format-main { display: flex; flex-direction: column; }
/* `.bk-biz-format p { margin: 0 }` above is more specific than a bare class, so
   the element type has to be named here or the button hugs the paragraph. */
body.bk-business .bk-biz-format p.bk-biz-more { margin-top: 24px !important; }

/* Process steps */
body.bk-business .bk-biz-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 24px; }
body.bk-business .bk-biz-steps li { background: #FFFFFF; border-radius: 10px; padding: 24px; border-left: 3px solid var(--b-gold-ink); box-shadow: 0 2px 14px rgba(20, 48, 26, 0.06); }
body.bk-business .bk-biz-step-no { display: inline-block; font-family: Fredoka, Nunito, sans-serif; font-weight: 700; font-size: 1.25rem; color: var(--b-raise) !important; margin-bottom: 8px; }

/* Application areas */
body.bk-business .bk-biz-apps { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 24px; }

/* FAQ */
body.bk-business .bk-biz-faq { max-width: 880px; margin: 0 auto; display: grid; gap: 8px; }
body.bk-business .bk-biz-q { background: #FFFFFF; border-radius: 10px; border-left: 3px solid var(--b-raise); overflow: hidden; box-shadow: 0 2px 14px rgba(20, 48, 26, 0.05); }
body.bk-business .bk-biz-q summary { cursor: pointer; list-style: none; padding: 20px 48px 20px 24px; font-family: Fredoka, Nunito, sans-serif; font-size: 1.02rem; color: var(--b-ink) !important; position: relative; }
body.bk-business .bk-biz-q summary::-webkit-details-marker { display: none; }
body.bk-business .bk-biz-q summary::after { content: "+"; position: absolute; right: 24px; top: 50%; transform: translateY(-50%); font-size: 1.4rem; color: var(--b-raise) !important; line-height: 1; }
body.bk-business .bk-biz-q[open] summary::after { content: "−"; }
body.bk-business .bk-biz-q p { margin: 0 !important; padding: 0 24px 24px; color: var(--b-muted) !important; line-height: 1.65; font-size: 0.95rem; }

/* Closing CTA */
body.bk-business .bk-biz-cta-in { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; }
body.bk-business .bk-biz-cta h2 { font-family: Fredoka, Nunito, sans-serif; font-size: clamp(1.5rem, 2.6vw, 2.05rem); color: #FFFFFF !important; margin: 0 0 12px !important; }
body.bk-business .bk-biz-cta p { color: var(--b-on-dark-soft) !important; max-width: 60ch; margin: 0; line-height: 1.65; }
body.bk-business .bk-biz-cta-actions { display: flex; flex-direction: column; gap: 12px; align-items: stretch; }
body.bk-business .entry-content a.bk-biz-contact,
body.bk-business .bk-biz-contact {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 220px;
    padding: 12px 24px;
    border: 1.5px solid rgba(245, 197, 24, 0.45);
    border-radius: 6px;
    color: var(--b-gold) !important;
    font-family: Nunito, sans-serif;
    font-weight: 700;
    font-size: 0.93rem;
    text-decoration: none !important;
    transition: background 0.2s ease, border-color 0.2s ease, transform 0.2s ease;
}
body.bk-business .entry-content a.bk-biz-contact:hover { background: rgba(245, 197, 24, 0.12); border-color: var(--b-gold); transform: translateY(-1px); }

/* ==========================================================================
   8. CONTACT PAGE
   ========================================================================== */
body.bk-business .bk-biz-contactgrid { display: grid; grid-template-columns: 1.5fr 1fr; gap: 32px; align-items: start; }
body.bk-business .bk-biz-formbox { padding: 40px 32px; box-shadow: 0 4px 22px rgba(20, 48, 26, 0.07); }
body.bk-business .bk-biz-formnote { color: var(--b-muted) !important; line-height: 1.65; margin: 0 0 32px !important; font-size: 0.96rem; }
body.bk-business .bk-biz-aside { display: grid; gap: 16px; }
body.bk-business .bk-biz-asidecard { padding: 28px 24px; border-top: 3px solid var(--b-gold-ink); }
body.bk-business .bk-biz-asideitem { margin: 0 0 16px !important; line-height: 1.5; color: var(--b-muted) !important; font-size: 0.95rem; }
body.bk-business .bk-biz-asidelabel { display: block; font-family: Nunito, sans-serif; font-size: 0.66rem; font-weight: 700; letter-spacing: 1.3px; text-transform: uppercase; color: #8A968B; margin-bottom: 4px; }
body.bk-business .bk-biz-asidecard-dark { background: var(--b-dark); border-top-color: var(--b-gold-ink); }
body.bk-business .bk-biz-asidecard-dark h3 { color: #FFFFFF !important; }
body.bk-business .bk-biz-checklist { margin: 0; padding: 0; list-style: none; }
body.bk-business .bk-biz-checklist li { position: relative; padding-left: 28px; margin-bottom: 12px; color: var(--b-on-dark-soft) !important; font-size: 0.93rem; line-height: 1.5; }
body.bk-business .bk-biz-checklist li::before { content: "✓"; position: absolute; left: 0; top: 0; color: var(--b-gold); font-weight: 700; }
/* Inside the light aside card the contact links stay plain text links. */
body.bk-business .entry-content .bk-biz-asidecard a.bk-biz-contact {
    display: inline; min-width: 0; padding: 0; border: none;
    color: var(--b-raise) !important; font-size: 1rem;
}
body.bk-business .entry-content .bk-biz-asidecard a.bk-biz-contact:hover { background: transparent; text-decoration: underline !important; }

/* Contact Form 7 */
body.bk-business .bk-biz-cf7 label { display: block; font-family: Nunito, sans-serif; font-weight: 700; font-size: 0.9rem; color: var(--b-ink); margin-bottom: 16px; }
body.bk-business .bk-biz-cf7 input[type="text"],
body.bk-business .bk-biz-cf7 input[type="email"],
body.bk-business .bk-biz-cf7 input[type="tel"],
body.bk-business .bk-biz-cf7 select,
body.bk-business .bk-biz-cf7 textarea {
    width: 100%; margin-top: 8px; padding: 12px 16px;
    border: 1px solid #D9DED8; border-radius: 8px;
    font-family: Nunito, sans-serif; font-size: 0.96rem;
    background: #FCFCFA; color: #1D2B20;
}
body.bk-business .bk-biz-cf7 input:focus,
body.bk-business .bk-biz-cf7 select:focus,
body.bk-business .bk-biz-cf7 textarea:focus {
    outline: none;
    border-color: var(--b-raise) !important;
    box-shadow: 0 0 0 3px rgba(27, 63, 36, 0.16) !important;
}
body.bk-business .bk-biz-cf7 textarea { min-height: 152px; resize: vertical; }
body.bk-business .bk-biz-cf7 input[type="submit"],
body.bk-business .bk-biz-cf7 .wpcf7-submit {
    width: auto; background: var(--b-gold) !important; color: var(--b-dark) !important;
    border: none !important; border-radius: 6px; padding: 16px 32px;
    font-family: Nunito, sans-serif; font-weight: 700; font-size: 1rem; cursor: pointer;
    box-shadow: 0 4px 14px rgba(245, 197, 24, 0.28); transition: transform 0.2s ease;
}
body.bk-business .bk-biz-cf7 input[type="submit"]:hover { transform: translateY(-2px); }
body.bk-business .bk-biz-cf7 a,
body.bk-business .wpcf7 a { color: var(--b-raise) !important; text-decoration: underline !important; }

/* ==========================================================================
   9. WITHDRAWAL BUTTON (legally required, on every page)
      The private rule .german-market-withdrawal-button.button.wp-element-button
      carries three classes, so the override has to repeat that chain to win.
   ========================================================================== */
body.bk-business .german-market-withdrawal-button-wrap {
    background: var(--b-deep) !important;
    border-top: 1px solid var(--b-hair) !important;
}
body.bk-business .german-market-withdrawal-button-wrap::before {
    content: "Sie möchten einen Vertrag widerrufen?" !important;
    color: var(--b-on-dark-soft) !important;
}
body.bk-business .german-market-withdrawal-button.button.wp-element-button,
body.bk-business a.german-market-withdrawal-button.button.wp-element-button {
    background: transparent !important;
    background-color: transparent !important;
    color: var(--b-gold) !important;
    border: 1.5px solid rgba(245, 197, 24, 0.6) !important;
    border-radius: 6px !important;
    font-family: Nunito, sans-serif !important;
    font-weight: 700 !important;
    box-shadow: none !important;
}
body.bk-business .german-market-withdrawal-button.button.wp-element-button:hover,
body.bk-business a.german-market-withdrawal-button.button.wp-element-button:hover {
    background: var(--b-gold) !important;
    background-color: var(--b-gold) !important;
    color: var(--b-dark) !important;
    border-color: var(--b-gold) !important;
}

/* ==========================================================================
   10. COOKIE BANNER (Complianz) — business colours, contrast kept above AA
   ========================================================================== */
body.bk-business .cmplz-cookiebanner .cmplz-title { color: var(--b-ink) !important; }
body.bk-business .cmplz-cookiebanner .cmplz-btn.cmplz-accept {
    background-color: var(--b-gold) !important; border-color: var(--b-gold) !important; color: var(--b-dark) !important;
}
body.bk-business .cmplz-cookiebanner .cmplz-btn.cmplz-accept:hover { background-color: #E0B316 !important; border-color: #E0B316 !important; }
body.bk-business .cmplz-cookiebanner .cmplz-btn.cmplz-deny,
body.bk-business .cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences { border-color: var(--b-raise) !important; color: var(--b-ink) !important; }
body.bk-business .cmplz-cookiebanner .cmplz-link { color: var(--b-raise) !important; }
body.bk-business .cmplz-cookiebanner { border-top-color: var(--b-gold) !important; }

/* ==========================================================================
   11. AUDIENCE DIALOG (private pages only, once per browsing session)
       A centred modal, at the owner's request, so arriving visitors cannot
       miss the choice. Kept as harmless as a modal can be: dismissible four
       ways (X, "Nur umsehen", Esc, backdrop), keyboard-navigable with a focus
       trap, and capped in height so page content stays visible around it.
   ========================================================================== */
html.bk-aud-lock { overflow: hidden; }
/* CRITICAL: the browser hides [hidden] elements with display:none from the UA
   stylesheet, but a class rule setting display:flex OUTRANKS it. Without the
   two rules below the overlay stays laid out at z-index 100000 with opacity 0
   and silently swallows every click on the page — the site looks frozen.
   Belt and braces: also drop pointer-events whenever it is not open, so even
   during the closing fade nothing is blocked. */
.bk-aud-overlay[hidden] { display: none !important; }
.bk-aud-overlay:not(.is-open) { pointer-events: none; }
.bk-aud-overlay.is-open { pointer-events: auto; }
.bk-aud-overlay {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    background: rgba(11, 26, 15, 0.62);
    backdrop-filter: blur(3px);
    opacity: 0;
    transition: opacity 0.24s ease;
}
.bk-aud-overlay.is-open { opacity: 1; }
.bk-aud {
    position: relative;
    width: 100%;
    max-width: 620px;
    max-height: calc(100vh - 48px);
    overflow-y: auto;
    background: #FFFFFF;
    border-radius: 18px;
    border-top: 5px solid #F5C518;
    box-shadow: 0 24px 70px rgba(11, 26, 15, 0.4);
    padding: 40px 40px 32px;
    text-align: center;
    transform: translateY(14px) scale(0.98);
    transition: transform 0.26s ease;
}
.bk-aud-overlay.is-open .bk-aud { transform: translateY(0) scale(1); }
.bk-aud-eyebrow {
    font-family: Nunito, sans-serif;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: #8A968B !important;
    margin: 0 0 10px !important;
}
.bk-aud-title {
    font-family: Fredoka, Nunito, sans-serif;
    font-size: clamp(1.5rem, 3vw, 1.95rem);
    line-height: 1.2;
    color: #14301A !important;
    margin: 0 0 12px !important;
}
.bk-aud-text {
    font-family: Nunito, sans-serif;
    font-size: 0.98rem;
    line-height: 1.6;
    color: #5C6B5E !important;
    max-width: 46ch;
    margin: 0 auto 28px !important;
}
.bk-aud-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.bk-aud-card {
    display: flex;
    flex-direction: column;
    gap: 6px;
    text-align: left;
    padding: 22px 22px 20px;
    border-radius: 12px;
    border: 2px solid transparent;
    cursor: pointer;
    text-decoration: none !important;
    font-family: Nunito, sans-serif;
    transition: transform 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}
.bk-aud-card:hover { transform: translateY(-2px); box-shadow: 0 10px 26px rgba(11, 26, 15, 0.18); }
.bk-aud-card:focus-visible { outline: 3px solid #F5C518; outline-offset: 3px; }
.bk-aud-card-title { font-family: Fredoka, Nunito, sans-serif; font-size: 1.12rem; font-weight: 700; }
.bk-aud-card-sub { font-size: 0.85rem; line-height: 1.45; opacity: 0.88; }
.bk-aud-card-private { background: #2E7D32; color: #FFFFFF !important; }
.bk-aud-card-private:hover { background: #256A29; }
.bk-aud-card-biz { background: #14301A; color: #F5C518 !important; }
.bk-aud-card-biz .bk-aud-card-sub { color: rgba(233, 239, 234, 0.88); }
.bk-aud-card-biz:hover { background: #0E2413; }
.bk-aud-skip {
    margin-top: 20px;
    background: none;
    border: none;
    cursor: pointer;
    font-family: Nunito, sans-serif;
    font-size: 0.88rem;
    font-weight: 600;
    color: #7A8A7C;
    text-decoration: underline;
}
.bk-aud-skip:hover { color: #14301A; }
.bk-aud-x {
    position: absolute;
    top: 10px;
    right: 14px;
    background: none;
    border: none;
    font-size: 1.6rem;
    line-height: 1;
    color: #9AA69C;
    cursor: pointer;
    padding: 4px 8px;
}
.bk-aud-x:hover { color: #14301A; }

/* Astra gives every <button> its own background/border on hover, focus and
   active. The dialog's X, the skip link and the choice cards are buttons, so
   those states have to be neutralised explicitly or they flash a green block. */
.bk-aud-x,
.bk-aud-x:hover,
.bk-aud-x:focus,
.bk-aud-x:active,
.bk-aud-skip,
.bk-aud-skip:hover,
.bk-aud-skip:focus,
.bk-aud-skip:active {
    background: transparent !important;
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    outline: none;
}
.bk-aud-x:focus-visible,
.bk-aud-skip:focus-visible { outline: 3px solid #F5C518 !important; outline-offset: 2px; }
.bk-aud-x { color: #9AA69C !important; }
.bk-aud-x:hover, .bk-aud-x:focus { color: #14301A !important; }
.bk-aud-skip { color: #7A8A7C !important; text-decoration: underline !important; }
.bk-aud-skip:hover, .bk-aud-skip:focus { color: #14301A !important; }

/* Choice cards keep their own colours through every state. */
.bk-aud-card-private,
.bk-aud-card-private:hover,
.bk-aud-card-private:focus,
.bk-aud-card-private:active {
    background: #2E7D32 !important;
    background-color: #2E7D32 !important;
    border-color: transparent !important;
    color: #FFFFFF !important;
}
.bk-aud-card-private:hover { background: #256A29 !important; background-color: #256A29 !important; }
.bk-aud-card-biz,
.bk-aud-card-biz:hover,
.bk-aud-card-biz:focus,
.bk-aud-card-biz:active {
    background: #14301A !important;
    background-color: #14301A !important;
    border-color: transparent !important;
    color: #F5C518 !important;
}
.bk-aud-card-biz:hover { background: #0E2413 !important; background-color: #0E2413 !important; }
.bk-aud-card:focus-visible { outline: 3px solid #F5C518 !important; outline-offset: 3px; }

@media (max-width: 620px) {
    .bk-aud-overlay { padding: 16px; align-items: flex-end; }
    .bk-aud { padding: 32px 22px 24px; border-radius: 16px; max-height: calc(100vh - 32px); }
    .bk-aud-actions { grid-template-columns: 1fr; }
}

/* ==========================================================================
   12. RESPONSIVE
   ========================================================================== */
@media (max-width: 1000px) {
    body.bk-business { --b-sec-y: 64px; }
    body.bk-business .bk-biz-pillars,
    body.bk-business .bk-biz-three,
    body.bk-business .bk-biz-four { grid-template-columns: 1fr 1fr; }
    body.bk-business .bk-biz-five { grid-template-columns: repeat(3, 1fr); }
    body.bk-business .bk-biz-format,
    body.bk-business .bk-biz-contactgrid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
    body.bk-business { --b-sec-y: 56px; }
    body.bk-business .entry-content .bk-biz-hero { padding-top: 64px !important; padding-bottom: 56px !important; }
    body.bk-business .bk-biz-pillars,
    body.bk-business .bk-biz-three,
    body.bk-business .bk-biz-four,
    body.bk-business .bk-biz-two { grid-template-columns: 1fr; }
    body.bk-business .bk-biz-five { grid-template-columns: 1fr 1fr; }
    body.bk-business .bk-biz-trustsep { display: none; }
    body.bk-business .bk-biz-trustrow { flex-direction: column; gap: 12px; }
    body.bk-business .bk-biz-cta-in { flex-direction: column; align-items: flex-start; }
    body.bk-business .bk-biz-formbox { padding: 28px 20px; }
}

/* ==========================================================================
   BUSINESS MODE — section headers centred + cards on white
   The private site centres every section heading (text-align: center) while
   card text stays left. The business pages were left-aligning both, which is
   what read as "not centred". Matched here. The hero stays left-aligned: a
   left-anchored hero is the stronger entry point and both versions do it.
   ========================================================================== */
body.bk-business .bk-biz-sec .bk-biz-h2,
body.bk-business .bk-biz-sec .bk-biz-intro,
body.bk-business .bk-biz-sec .bk-biz-eyebrow {
    text-align: center;
    margin-left: auto !important;
    margin-right: auto !important;
}
body.bk-business .bk-biz-sec .bk-biz-intro { max-width: 62ch; }
body.bk-business .bk-biz-trustlabel { text-align: center; }

/* Cards on a WHITE section need an outline, otherwise they dissolve. */
body.bk-business .bk-biz-sec-flow .bk-biz-q,
body.bk-business .bk-biz-sec-flow .bk-biz-app,
body.bk-business .bk-biz-sec-flow .bk-biz-steps li,
body.bk-business .bk-biz-sec-flow .bk-biz-fcard,
body.bk-business .bk-biz-sec-flow .bk-biz-ref {
    border: 1px solid #EDE6D2;
    box-shadow: none;
}
body.bk-business .bk-biz-sec-flow .bk-biz-q { border-left: 3px solid var(--b-raise); }
body.bk-business .bk-biz-sec-flow .bk-biz-app,
body.bk-business .bk-biz-sec-flow .bk-biz-steps li { border-top: 3px solid var(--b-raise); }
body.bk-business .bk-biz-sec-flow .bk-biz-steps li { border-top-color: var(--b-gold-ink); }

/* The "fit" panel inside a format row sits on white cards → use the tint. */
body.bk-business .bk-biz-format-fit { background: #FAF4E3; }

/* Closing CTA: centre it so the page ends symmetrically. */
body.bk-business .bk-biz-cta-in { justify-content: center; text-align: center; }
body.bk-business .bk-biz-cta p { margin-left: auto; margin-right: auto; }
body.bk-business .bk-biz-cta-actions { align-items: center; }
@media (min-width: 900px) {
    body.bk-business .bk-biz-cta-in { flex-wrap: nowrap; text-align: left; }
    body.bk-business .bk-biz-cta p { margin-left: 0; margin-right: 0; }
    body.bk-business .bk-biz-cta-actions { align-items: stretch; }
}

/* Astra styles the active/hovered nav item as
   .main-header-menu .menu-item.current-menu-item .menu-link (four classes),
   which outranks a body.bk-business override. Repeat the chain to win. */
body.bk-business .main-header-menu .menu-item.current-menu-item .menu-link,
body.bk-business .main-header-menu .menu-item.current_page_item .menu-link,
body.bk-business .main-header-menu .menu-item.current-menu-ancestor .menu-link,
body.bk-business .main-header-menu .menu-item:hover .menu-link,
body.bk-business .ast-builder-menu .main-navigation .menu-item:hover .menu-link {
    color: #F5C518 !important;
}
body.bk-business .main-header-menu .menu-item .menu-link { color: #E9EFEA !important; }

/* The group-size cards moved from a dark band onto a light one (the events page
   now alternates properly instead of showing green on green). Restyle them as
   light cards; the dark variant stays for any dark section that still uses them. */
body.bk-business .bk-biz-sec-light .bk-biz-scale,
body.bk-business .bk-biz-sec-flow .bk-biz-scale {
    background: #FFFFFF;
    border: 1px solid #EDE6D2;
    box-shadow: 0 2px 14px rgba(20, 48, 26, 0.06);
}
body.bk-business .bk-biz-sec-flow .bk-biz-scale { background: #FAF4E3; }
body.bk-business .bk-biz-sec-light .bk-biz-scale h3,
body.bk-business .bk-biz-sec-flow .bk-biz-scale h3 { color: #14301A !important; }
body.bk-business .bk-biz-sec-light .bk-biz-scale p,
body.bk-business .bk-biz-sec-flow .bk-biz-scale p { color: #5C6B5E !important; }
body.bk-business .bk-biz-sec-light .bk-biz-size,
body.bk-business .bk-biz-sec-flow .bk-biz-size { color: #1B3F24 !important; }
body.bk-business .bk-biz-sec-light .bk-biz-size small,
body.bk-business .bk-biz-sec-flow .bk-biz-size small { color: #8A968B !important; }

/* Format rows now sit on white → their inner "fit" panel uses the gold tint. */
body.bk-business .bk-biz-sec-flow .bk-biz-format { background: #FFFFFF; border: 1px solid #EDE6D2; box-shadow: none; }
body.bk-business .bk-biz-sec-flow .bk-biz-format-fit { background: #FAF4E3; }

/* ==========================================================================
   BEWERTUNGEN / REVIEWS PAGE  [2026-06-24]
   Own reviews via CusRev. Placement follows the research: one full,
   UNFILTERED page as the credibility anchor (Baymard: a curated set of
   positive quotes on the homepage lacks credibility), a compact summary
   elsewhere, and no more than 1-3 trust-signal types per page.
   ========================================================================== */
.bk-rev-wrap { max-width: 1000px; margin: 0 auto; padding: 0 24px; }
.bk-rev-intro { background: #F5FAF5; padding: 56px 0 40px; text-align: center; }
.bk-rev-eyebrow {
    font-family: Nunito, sans-serif;
    font-size: 0.74rem;
    font-weight: 700;
    letter-spacing: 2.4px;
    text-transform: uppercase;
    color: #2E7D32 !important;
    margin: 0 0 10px !important;
}
.bk-rev-h2 {
    font-family: Fredoka, Nunito, sans-serif;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    color: #1A2E1C !important;
    margin: 0 0 14px !important;
}
.bk-rev-h3 {
    font-family: Fredoka, Nunito, sans-serif;
    font-size: 1.35rem;
    color: #1A2E1C !important;
    text-align: center;
    margin: 0 0 28px !important;
}
.bk-rev-lead {
    max-width: 62ch;
    margin: 0 auto !important;
    font-size: 1.05rem;
    line-height: 1.7;
    color: #55655A !important;
}

/* Transparency box - legally required disclosure, deliberately prominent */
.bk-rev-note {
    max-width: 78ch;
    margin: 28px auto 0 !important;
    font-size: 0.86rem;
    line-height: 1.6;
    color: #7A8A7C !important;
    text-align: center;
}
.bk-rev-notelaw { display: block; margin-top: 4px; font-size: 0.78rem; color: #9AA69C; }
.bk-rev-legal { background: #F5FAF5; padding: 0 0 48px; }
.bk-rev-legalbox {
    background: #FFFFFF;
    border-left: 4px solid #2E7D32;
    border-radius: 10px;
    padding: 26px 28px;
    box-shadow: 0 2px 14px rgba(26, 46, 28, 0.06);
}
.bk-rev-legalbox h3 {
    font-family: Fredoka, Nunito, sans-serif;
    font-size: 1.1rem;
    color: #1A2E1C !important;
    margin: 0 0 12px !important;
}
.bk-rev-legalbox p {
    font-size: 0.95rem;
    line-height: 1.65;
    color: #55655A !important;
    margin: 0 0 12px !important;
}
.bk-rev-legalnote {
    font-size: 0.8rem !important;
    color: #8A968B !important;
    margin: 0 !important;
}

.bk-rev-list { background: #FFFFFF; padding: 48px 0; }
.bk-rev-how { background: #F5FAF5; padding: 56px 0; }
.bk-rev-steps {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    margin-bottom: 28px;
}
.bk-rev-step {
    background: #FFFFFF;
    border-radius: 10px;
    padding: 24px 22px;
    box-shadow: 0 2px 14px rgba(26, 46, 28, 0.06);
}
.bk-rev-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: #2E7D32;
    color: #FFFFFF;
    font-family: Fredoka, Nunito, sans-serif;
    font-weight: 700;
    margin-bottom: 12px;
}
.bk-rev-step p { font-size: 0.94rem; line-height: 1.6; color: #55655A !important; margin: 0; }
.bk-rev-imgnote {
    background: #FFF8E1;
    border-left: 4px solid #FDD835;
    border-radius: 8px;
    padding: 18px 20px;
    font-size: 0.9rem;
    line-height: 1.6;
    color: #5A5228 !important;
    margin: 0 !important;
}

/* Empty state: with zero reviews CusRev shows a bare search box and an English
   "no reviews match" line, which reads as broken. Hide the machinery until the
   first review exists and show a friendly German note instead. */
.bk-rev-list .cr-all-reviews[data-cr-empty="1"] .cr-reviews-controls,
.bk-rev-list .cr-all-reviews[data-cr-empty="1"] .cr-no-reviews { display: none !important; }
.bk-rev-empty {
    text-align: center;
    padding: 32px 24px;
    background: #F5FAF5;
    border-radius: 10px;
    color: #55655A;
    font-size: 1rem;
    line-height: 1.65;
}

@media (max-width: 800px) {
    .bk-rev-steps { grid-template-columns: 1fr; }
    .bk-rev-intro { padding: 40px 0 28px; }
}

/* Reviews page: sections run edge to edge like the rest of the site
   (Astra caps .entry-content children at the content width). */
body.page-id-0 .entry-content .bk-rev-intro,
body.page-id-0 .entry-content .bk-rev-legal,
body.page-id-0 .entry-content .bk-rev-list,
body.page-id-0 .entry-content .bk-rev-how {
    max-width: none !important;
    width: auto !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    padding-left: max(24px, calc(50vw - 50%)) !important;
    padding-right: max(24px, calc(50vw - 50%)) !important;
}
body.page-id-0 #content,
body.page-id-0 .site-content .ast-container,
body.page-id-0 .ast-article-single { padding-top: 0 !important; margin-top: 0 !important; }
body.page-id-0 .content-area { margin-top: 0 !important; margin-bottom: 0 !important; }

/* Footer trust row — the reviews link. NOTE: .bk-footer-nav is deliberately
   display:none (an older decision), so anything added there is invisible.
   Trust elements belong in the footer per German e-commerce practice, so they
   get their own visible row just above the legal links. */
.bk-footer-trust {
    text-align: center;
    font-family: "Nunito", sans-serif !important;
    font-size: 0.9rem;
    padding: 18px 24px 4px;
}
.bk-footer-trust a {
    color: #FFFFFF;
    text-decoration: none;
    font-weight: 700;
    border-bottom: 2px solid rgba(253, 216, 53, 0.7);
    padding-bottom: 2px;
    transition: color 0.3s ease, border-color 0.3s ease;
}
.bk-footer-trust a:hover { color: #FDD835; border-color: #FDD835; }

/* WooCommerce renders its rating stars as the letters "sssss" in a dedicated
   icon font. Our broad rule `body, p, li, td, th, span, div { font-family:
   Nunito !important }` also hits .star-rating (a span), so the letters showed
   as literal "$$$$S". Restore the star font wherever WooCommerce draws stars. */
.star-rating,
.star-rating::before,
.star-rating span::before,
.comment-form-rating .stars a::before,
.woocommerce .star-rating,
.woocommerce .star-rating::before,
.woocommerce .star-rating span::before {
    font-family: star !important;
}

/* --- Bewertungsliste auf /bewertungen/ (eigene Darstellung) --- */
.bk-rev-summary {
    display: flex; align-items: center; justify-content: center; gap: 14px;
    flex-wrap: wrap; margin-bottom: 36px; padding-bottom: 28px;
    border-bottom: 1px solid #E7EDE7;
}
.bk-rev-avg { font-family: Fredoka, Nunito, sans-serif; font-size: 2.4rem; font-weight: 700; color: #1A2E1C; line-height: 1; }
.bk-rev-count { font-family: Nunito, sans-serif; font-size: 0.95rem; color: #7A8A7C; }
.bk-rev-stars { display: inline-flex; gap: 2px; }
.bk-rev-star { color: #D8DFD8; font-size: 1.15rem; line-height: 1; }
.bk-rev-star-on { color: #F5B301; }

.bk-rev-items { display: grid; gap: 16px; max-width: 820px; margin: 0 auto; }
.bk-rev-item {
    background: #FFFFFF; border-radius: 12px; padding: 26px 24px;
    box-shadow: 0 2px 14px rgba(26, 46, 28, 0.06); border-left: 3px solid #2E7D32;
}
.bk-rev-head { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-bottom: 8px; }
.bk-rev-author { font-family: Fredoka, Nunito, sans-serif; font-size: 1.05rem; color: #1A2E1C; }
.bk-rev-verified {
    font-family: Nunito, sans-serif; font-size: 0.7rem; font-weight: 700;
    letter-spacing: 0.4px; text-transform: uppercase;
    background: #E6F4E7; color: #2E7D32; padding: 3px 9px; border-radius: 20px;
}
.bk-rev-date { font-family: Nunito, sans-serif; font-size: 0.82rem; color: #9AA69C; margin-left: auto; }
.bk-rev-text p { color: #4A5A4C !important; line-height: 1.65; margin: 10px 0 0 !important; font-size: 0.97rem; }
.bk-rev-photos { display: flex; gap: 10px; flex-wrap: wrap; margin-top: 14px; }
.bk-rev-photos img {
    width: 96px; height: 96px; object-fit: cover; border-radius: 8px;
    border: 1px solid #E7EDE7; transition: transform 0.2s ease;
}
.bk-rev-photos a:hover img { transform: scale(1.04); }
.bk-rev-product { margin: 14px 0 0 !important; font-size: 0.85rem; color: #9AA69C !important; }
.bk-rev-product a { color: #2E7D32 !important; }
@media (max-width: 600px) {
    .bk-rev-date { margin-left: 0; width: 100%; }
    .bk-rev-item { padding: 20px 18px; }
}

/* ==========================================================================
   FOKUS-RAHMEN: nur für Tastatur, nicht beim Klicken   [2026-06-24]
   Browser zeigen beim Anklicken eines Links/Buttons einen Fokusrahmen, der wie
   ein Fehler aussieht (der Owner beschrieb "Punkte um den Button"). Er ist aber
   für Tastaturnutzer unverzichtbar. Lösung: :focus:not(:focus-visible) blendet
   ihn beim Mausklick aus, :focus-visible zeigt einen sauberen Rahmen bei
   Tastaturbedienung. Das ist die barrierefreie Standardlösung - den Rahmen
   ersatzlos zu entfernen waere ein Zugaenglichkeitsfehler.
   ========================================================================== */
a:focus:not(:focus-visible),
button:focus:not(:focus-visible),
input:focus:not(:focus-visible),
select:focus:not(:focus-visible),
textarea:focus:not(:focus-visible),
summary:focus:not(:focus-visible),
[role="button"]:focus:not(:focus-visible),
.button:focus:not(:focus-visible),
.bk-footer-trust a:focus:not(:focus-visible),
.bk-footer-legal a:focus:not(:focus-visible),
.wp-element-button:focus:not(:focus-visible) {
    outline: none !important;
    box-shadow: none !important;
}
a:focus-visible,
button:focus-visible,
summary:focus-visible,
[role="button"]:focus-visible,
.button:focus-visible,
.wp-element-button:focus-visible {
    outline: 2px solid #2E7D32 !important;
    outline-offset: 3px;
    border-radius: 3px;
}
body.bk-business a:focus-visible,
body.bk-business button:focus-visible,
body.bk-business .button:focus-visible {
    outline-color: #F5C518 !important;
}

/* ==========================================================================
   AUSWAHLFELDER: feste Hoehe 40px schnitt den Text ab
   Eine aeltere Regel setzt `select { height: 40px }`, waehrend unser Padding
   (12px oben + unten) plus Zeilenhoehe 24px = 48px braucht. Ergebnis war ein
   halb abgeschnittener Eintrag ("Allgemeine Anfrage") im Kontaktformular.
   ========================================================================== */
.bk-biz-cf7 select,
.bk-biz-cf7 input[type="text"],
.bk-biz-cf7 input[type="email"],
.bk-biz-cf7 input[type="tel"],
.bk-biz-cf7 input[type="url"],
.bk-biz-cf7 input[type="number"],
.wpcf7 select,
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 input[type="url"],
.wpcf7 input[type="number"],
.woocommerce form select,
form select {
    height: auto !important;
    min-height: 48px;
    line-height: 1.5;
}

/* ==========================================================================
   MOBIL — LESBARKEIT DER MIKRO-LABELS (zuletzt, damit es gewinnt)
   --------------------------------------------------------------------------
   Astra setzt auf dem Handy `html { font-size: 14.59px }`, dadurch schrumpfen
   ALLE rem-Werte um rund 9 %. Bei den Kleinst-Labels (Eyebrow, Trust-Label,
   Badges, „Ideal für") landete das bei 9,6–11,4px — versalisiert und mit
   Letter-Spacing ist das auf einem Handy kaum noch lesbar.
   Dieser Block hebt nur die Untergrenzen an; die Desktop-Größen bleiben
   unverändert. Er steht bewusst am DATEIENDE: mehrere der Ziel-Selektoren sind
   weiter oben mit höherer Spezifität definiert (z. B.
   `body.bk-business .bk-biz-sec .bk-biz-eyebrow`), ein früher platzierter
   Block würde verlieren.
   ========================================================================== */
@media (max-width: 767px) {
    body.bk-business .bk-biz-sec .bk-biz-eyebrow,
    body.bk-business .bk-biz-eyebrow { font-size: 0.88rem !important; }
    body.bk-business .bk-biz-trustlabel { font-size: 0.8rem !important; }
    body.bk-business .bk-biz-badge { font-size: 0.78rem !important; padding: 5px 12px !important; }
    body.bk-business .bk-biz-fitlabel { font-size: 0.8rem !important; }
    body.bk-business .bk-biz-size small { font-size: 0.76rem !important; }
    body.bk-business .bk-biz-usp h4 { font-size: 1.02rem !important; }
    /* Absende-Button des Kontaktformulars war 39px hoch — als wichtigste
       Handlung der Seite gehoert er auf Daumengroesse. */
    body.bk-business .wpcf7 input[type="submit"],
    .wpcf7 input[type="submit"] { min-height: 48px !important; font-size: 1rem !important; }
    /* Die Datenschutz-Checkbox selbst bleibt 18px (Systemgroesse), aber ihr
       Label bekommt genug Hoehe, damit der Treffer nicht danebengeht. */
    .wpcf7-acceptance .wpcf7-list-item-label { display: inline-block; padding: 6px 0; }
}
