/* 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(.elementor-button):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([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(.elementor-button):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([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 */
.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 */
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;}
