/*
 * Theme Name: KI BEO - Divi 5 Child
 * Theme URI: https://ki-beo.ch
 * Description: Child-Theme fuer ki-beo.ch auf Basis Divi 5
 * Author: EIL-Webschmid (Emanuel Schmid)
 * Template: Divi
 * Version: 1.2.0
 * License: Proprietary
 */

/* === Local Font-Face Declarations === */
@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/BricolageGrotesque-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/BricolageGrotesque-SemiBold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/BricolageGrotesque-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Bricolage Grotesque";
  src: url("fonts/BricolageGrotesque-ExtraBold.woff2") format("woff2");
  font-weight: 800; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("fonts/HankenGrotesk-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("fonts/HankenGrotesk-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("fonts/HankenGrotesk-SemiBold.woff2") format("woff2");
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Hanken Grotesk";
  src: url("fonts/HankenGrotesk-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("fonts/IBMPlexMono-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "IBM Plex Mono";
  src: url("fonts/IBMPlexMono-Medium.woff2") format("woff2");
  font-weight: 500; font-style: normal; font-display: swap;
}

/* === A11y WCAG 2.2 AA (EILAA-345/348) === */

/* Focus rings — override Divi :focus { outline: 0 } */
:focus-visible {
  outline: 3px solid #3C86E0 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(60, 134, 224, 0.2) !important;
}
a:focus-visible,
button:focus-visible,
[role="button"]:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 3px solid #3C86E0 !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 5px rgba(60, 134, 224, 0.2) !important;
}

/* Skip-Link */
.skip-link,
.screen-reader-text {
  position: absolute;
  left: -9999px;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -1;
  background: transparent;
}
a.skip-link:focus,
a.screen-reader-text:focus {
  position: fixed;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  overflow: visible;
  z-index: 99999;
  background: #0F2A4A;
  color: #ffffff;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 600;
  text-decoration: none;
  border-radius: 0 0 4px 0;
  outline: 3px solid #3C86E0;
}

/* Images */
img { max-width: 100%; height: auto; }

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.001ms !important;
    scroll-behavior: auto !important;
  }
  .et_animated, .et-animated {
    animation: none !important;
    opacity: 1 !important;
    transform: none !important;
  }
}

/* Improve body text color for contrast */
.et_pb_text_inner,
.et_pb_blurb_description,
.et_pb_toggle_content {
  color: #16222E;
}
/* ==========================================================
   Mobile Menü Hintergrund Fix
   ========================================================== */

@media only screen and (max-width: 980px) {

    .et_mobile_menu {
        background: #ffffff !important;
        background-color: #ffffff !important;
        opacity: 1 !important;
        z-index: 999999 !important;
    }

}