/* Glue CSS for the static rebuild of krake.de.
   Replaces small bits that WordPress plugins injected inline. */

body.custom-background { background-color: #ffffff; }

/* --- WPML language switcher (sitepress menu-item style.min.css) --- */
.wpml-ls-menu-item .wpml-ls-flag { display: inline; vertical-align: baseline; }
ul .wpml-ls-menu-item a { display: flex; align-items: center; }

/* --- Hero (dwd fullwidth header extended) --- */
.k-hero.et_pb_fullwidth_header .et_pb_fullwidth_header_subhead {
  font-family: 'Dosis', Helvetica, Arial, Lucida, sans-serif;
  font-size: 25px;
}
.k-hero.et_pb_fullwidth_header .et_pb_fullwidth_header_overlay { background-color: #006eb1; }
.k-hero.et_pb_fullwidth_header .header-content h1 span.dwd-typing { color: #ffffff; }
.k-hero.et_pb_fullwidth_header .header-content h1 span.typed-cursor { color: #f38e00; }
/* without JS the title stays visible; site.js hides it and types it */
.k-typing-on .dwd-typed { display: none; }

.typed-cursor { opacity: 1; animation: k-blink 0.7s infinite; }
@keyframes k-blink { 0% { opacity: 1; } 50% { opacity: 0; } 100% { opacity: 1; } }

/* --- Divi Mobile Menu plugin (was inline CSS) --- */
#mobile_menu a { font-weight: normal; line-height: 1.5em; }
#mobile_menu { padding: 0; }
body .et_mobile_menu li li { padding-left: 0; }
#mobile_menu ul { padding: 0 !important; }
body #top-menu { display: block; }
body #et_mobile_nav_menu { display: none; }
@media (max-width: 1080px) {
  body #top-menu { display: none; }
  body #et_mobile_nav_menu { display: block; }
}
.mobile_menu_bar:before { color: #ffffff; }
#mobile_menu > li > a { color: #ffffff; }
#mobile_menu > li { background: #006eb1; }
#mobile_menu > li .sub-menu { background: #0086d7; }
#mobile_menu li { position: relative; }
#main-header #mobile_menu li .sub-menu { display: none !important; }
#main-header #mobile_menu li ul.sub-menu.visible { display: block !important; }
#main-header #mobile_menu li.menu-item-has-children:after {
  content: "3";
  position: absolute;
  right: 5px;
  top: 0;
  padding: 10px;
  z-index: 99;
  font-family: "ETmodules" !important;
  font-weight: normal;
  font-style: normal;
  line-height: 1;
  color: #ffffff;
  font-size: 18px;
  pointer-events: none;
}
#mobile_menu a.mobile-toggle {
  position: absolute;
  top: 0;
  right: 0;
  width: 50px;
  height: 100%;
  max-height: 50px;
  padding: 0 !important;
  z-index: 999;
  background: transparent !important;
}
#mobile_menu .wpml-ls-menu-item a { display: block; }

/* Divi's JS shows the mobile menu with slideToggle */
.mobile_nav.opened .et_mobile_menu { display: block; }

/* blurb image on very small phones (child theme rule targets #icon-start) */
/* Divi Switch plugin: ds_footer_push / ds_remove_line */
.ds_footer_push #main-content { min-height: 100vh; }
.ds_remove_line #main-content .container:before { width: 0; }

/* --- Consent notice (modelled on the MkDocs Material banner on tentackle.org) --- */
.k-consent[hidden] { display: none; }
.k-consent__overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 100001; /* #top-header is 100000 */
  background-color: #0000008a;
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
.k-consent__panel {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  max-height: 100%;
  overflow: auto;
  z-index: 100002;
  background-color: #ffffff;
  box-shadow: 0 0 4px #0000001a, 0 4px 8px #00000033;
  outline: none;
}
.k-consent__inner {
  box-sizing: border-box;
  max-width: 1080px;
  margin: 0 auto;
  padding: 24px 16px;
}
.k-consent__inner p { padding-bottom: 0; }
.k-consent__inner a { color: #006eb1; text-decoration: underline; }
.k-consent__controls {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 16px;
}
.k-consent__button {
  padding: 8px 32px;
  border: 2px solid #006eb1;
  border-radius: 2px;
  background-color: #006eb1;
  color: #ffffff;
  font: inherit;
  font-weight: 700;
  cursor: pointer;
}
.k-consent__button:hover { background-color: #f38e00; border-color: #f38e00; }
.k-consent__button:focus-visible { outline: 2px solid #f38e00; outline-offset: 2px; }
@media (max-width: 480px) {
  .k-consent__button { width: 100%; }
}
