/* Additions to the captured Divi styles; keep the original desktop layout. */
.akson-language {
  float: left;
  display: flex;
  align-items: center;
  gap: 10px;
  font: 600 12px/1.2 'Open Sans', sans-serif;
  height: 21px;
  box-sizing: border-box;
  padding: 0 0 6px;
}
.akson-language a { color: inherit !important; padding: 0 !important; }
.akson-language a[aria-current] { text-decoration: underline; text-underline-offset: 3px; }
.akson-language a:focus-visible, .akson-form :focus-visible, .mobile_menu_bar:focus-visible {
  outline: 3px solid #6eba01;
  outline-offset: 3px;
}
#top-header:has(.akson-language) { display: block !important; }
#top-header .container { min-height: 28px; }
#cookie-notice[hidden] { display: none !important; }
#top-menu li:focus-within > ul { visibility: visible; opacity: 1; }
/* Preserve the source hero's full-viewport height after removing its PHP warning. */
.et_pb_fullwidth_header.et_pb_fullscreen { height: 100vh !important; min-height: 100vh !important; }

.akson-form {
  position: relative;
  max-width: 600px;
  margin: 0 auto;
  font: 16px/1.6 'Open Sans', sans-serif;
}
.akson-form > label:not(.akson-consent) {
  display: block;
  text-align: left;
  font-size: 14px;
  margin: 10px 0 4px;
  color: #47292b;
}
.akson-form input:not([type=checkbox]):not([type=hidden]), .akson-form textarea {
  display: block;
  width: 100%;
  border: 1px solid #ddd;
  background: #eee;
  color: #333;
  font: inherit;
  padding: 14px;
  border-radius: 0;
  box-sizing: border-box;
}
.akson-form textarea { resize: vertical; }
.akson-consent {
  display: flex;
  gap: 8px;
  text-align: left;
  margin: 16px 0;
  font-size: 13px;
  line-height: 1.5;
  color: #333;
}
.akson-consent input { flex-shrink: 0; align-self: flex-start; margin-top: 4px; }
.akson-consent a { color: #9e0032; text-decoration: underline; }
.akson-form button {
  display: block;
  margin: 16px 0 0 auto;
  padding: 10px 22px;
  background: #9e0032;
  color: #fff;
  border: 1px solid #9e0032;
  border-radius: 0;
  text-transform: uppercase;
  font: 500 18px/1.5 Montserrat, sans-serif;
  letter-spacing: 2px;
  cursor: pointer;
}
.akson-form button:disabled { opacity: .65; cursor: wait; }
.akson-form-status { min-height: 1.6em; margin-top: 12px; text-align: left; color: #47292b; }
.akson-honeypot {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* Contact settings reconstructed from the original public Divi builder content. */
.akson-contact-hero {
  background-image: url('/wp-content/uploads/2020/09/Akson-kontakt.jpg');
  background-color: #b8a49d;
  background-blend-mode: overlay;
  background-position: center;
  background-size: cover;
  min-height: 200px;
  padding: 7% 0;
}
.akson-contact { padding: 90px 0; }
.akson-contact > h1, .akson-search h1 {
  font: 400 36px/1.4 Montserrat, sans-serif;
  color: #9e0032;
  text-align: center;
  margin: 0 0 40px;
}
.akson-contact > h1:before {
  content: '';
  display: block;
  width: 100px;
  height: 5px;
  background: #9e0032;
  margin: 0 auto 40px;
}
.akson-contact-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 5.5%;
  width: 80%;
  max-width: 1080px;
  margin: 0 auto;
}
.akson-company { text-align: center; font-size: 18px; line-height: 1.9; }
.akson-company p { margin: 0 0 30px; }
.akson-standalone { margin: 0; background: #f4f4f4; color: #333; font-family: Arial, sans-serif; line-height: 1.6; }
.akson-standalone main { max-width: 650px; margin: 40px auto; padding: 24px; background: white; }

.akson-search { max-width: 1080px; width: 80%; margin: 60px auto; min-height: 300px; }
.akson-search-results { margin-top: 30px; }
.akson-search-results li { list-style: none; margin: 0 0 24px; }
.akson-search-results a { font-size: 22px; color: #9e0032; }
.akson-search input { padding: 12px; border: 1px solid #aaa; width: min(100%, 500px); font: inherit; }
.akson-search button { padding: 12px; background: #9e0032; color: white; border: 1px solid #9e0032; font: inherit; }
.akson-directory { columns: 2; line-height: 2; }
.akson-directory a { color: #9e0032; }
.akson-nojs { display: block; padding: 10px; font-size: 14px; }
.akson-skip { position: absolute; left: -9999px; z-index: 999999; background: white; padding: 12px; color: #9e0032; }
.akson-skip:focus { left: 12px; top: 12px; }
html[lang=en] #top-menu > li { padding-right: 13px; }
html[lang=en] #top-menu > li > a { font-size: 13px; }

@media (max-width: 980px) {
  .akson-language { float: none; justify-content: center; height: 30px; padding: 0; box-sizing: border-box; }
  #top-header .container { padding-top: 0 !important; min-height: 30px; }
  /* Divi otherwise pins the header at zero when the original mobile top bar is hidden. */
  #page-container #main-header { top: 30px !important; }
  .akson-contact-grid { grid-template-columns: 1fr; gap: 40px; }
  .akson-contact { padding: 60px 0; }
  .akson-directory { columns: 1; }
}
@media (max-width: 767px) {
  h1, h2 { overflow-wrap: anywhere; }
  /* The original 70px hero heading clips at phone widths; retain readable content. */
  .et_pb_fullwidth_header_0.et_pb_fullwidth_header .header-content h1 {
    font-size: clamp(28px, 7.8vw, 60px) !important;
    overflow-wrap: normal;
  }
  .et_pb_fullwidth_header_0 .header-content { width: 100% !important; margin-left: 0 !important; margin-right: 0 !important; }
}
@media (prefers-reduced-motion: reduce) {
  *, *:before, *:after {
    animation-duration: .01ms !important;
    animation-delay: 0ms !important;
    transition-duration: .01ms !important;
    scroll-behavior: auto !important;
  }
}
