/* Targeted compatibility after the historical visual stylesheet. */
/* Restores the old Gutenberg columns base that was intentionally not queued. */
.produkt-overview .wp-block-columns { display: flex; gap: 2em; }
.produkt-overview .wp-block-columns > .wp-block-column { box-sizing: border-box; min-width: 0; width: 100%; }
@media (min-width: 992px) {
  .produkt-overview .wp-block-columns > .wp-block-column { flex: 1 1 0; width: auto; }
}

@media (min-width: 1200px) {
  .primary-menu > .menu-item-has-children.is-dropdown-open > .sub-menu { display: block; }
  .primary-menu > .menu-item-has-children.dropdown-align-right > .sub-menu { right: 0; left: auto; }
}

@media (min-width: 768px) {
  .left-sidebar-sticky { position: sticky; top: 140px; }
}
@media (min-width: 992px) {
  .left-sidebar-sticky { top: 160px; }
}
@media (max-width: 1199.98px) {
  .menu-toggle::before { display: none; }
  .primary-navigation { align-items: flex-start !important; overflow-y: auto; }
  .primary-navigation .primary-menu.navbar-nav { display: block !important; width: 100% !important; margin: 5rem 0 2rem !important; padding: 0 !important; text-align: left !important; align-items: stretch !important; }
  .primary-navigation .primary-menu > li { margin: 0 0 1rem !important; text-align: left !important; }
  .primary-navigation .primary-menu a { display: block !important; text-align: left !important; }
  .primary-navigation .primary-menu .sub-menu { display: block !important; position: static !important; margin: .5rem 0 1rem 1.25rem !important; padding: 0 !important; text-align: left !important; }
  .primary-navigation .primary-menu .sub-menu li { margin: 0 0 .65rem !important; text-align: left !important; }
  .navbar-toggler.menu-toggle { display: block !important; position: absolute; z-index: 1001; top: 35%; right: 0; width: 50px; height: 39px; margin: 0; padding: 0; transform: translateY(-50%); border: 0; background: transparent; }
  .navbar-toggler.menu-toggle .navbar-toggler-icon { display: block !important; width: 40px; height: 7px; border-radius: 7px; background: #1d1d1b !important; background-image: none !important; box-shadow: 0 16px #1d1d1b, 0 32px #1d1d1b; }
  .navbar-toggler.menu-toggle:focus:not(:focus-visible) { outline: 0; }
  .navbar-toggler.menu-toggle:focus-visible { outline: 2px solid #0a3c81; outline-offset: 3px; }
  .primary-navigation .menu-close { display: block; position: absolute; top: 16px; right: 16px; width: 42px; height: 42px; border: 0; background: transparent; color: #414747; font-size: 0; }
  .primary-navigation .menu-close::after { content: '×'; font-size: 2rem; line-height: 1; }
}
@media (min-width: 1200px) { 
  
  .menu-close { display: none; } 

  #primary-menu li {
    margin-right: 1rem;
  }
}
@media (prefers-reduced-motion: reduce) { .ml12 .letter { opacity: 1 !important; transform: none !important; } }

/* Replaces only the three historical page-ID selectors with stable semantic body classes. */
.dyna-page-jobs .wp-block-image,
.dyna-page-kontakt .wp-block-image,
.produkt-overview .entry-content .wp-block-image { max-height: unset !important; }
.dyna-page-jobs .wp-block-image img,
.dyna-page-kontakt .wp-block-image img,
.produkt-overview .entry-content .wp-block-image img { top: 0 !important; transform: none !important; }
.single-post h1,
.dyna-parent-jobs h1,
.dyna-page-scheduled-windows-updater h1 { margin-bottom: 2rem !important; }
.single-post p,
.dyna-parent-jobs p,
.dyna-page-scheduled-windows-updater p { margin-bottom: 2rem !important; }
