/*
Theme Name: Divi Child
Template: Divi
*/

/* Current page: a quiet colour shift in both navigation layouts. */
#main-header .et_mobile_menu,
#main-header.et-fixed-header .et_mobile_menu {
  border-top: 0 !important;
}

#main-header #top-menu > li.menu-item-object-page.current-menu-item > a,
#main-header.et-fixed-header #top-menu > li.menu-item-object-page.current-menu-item > a,
#main-header .et_mobile_menu > li.menu-item-object-page.current-menu-item > a,
#main-header.et-fixed-header .et_mobile_menu > li.menu-item-object-page.current-menu-item > a {
  color: #a9cfb5 !important;
  font-weight: 700 !important;
}

html.om-hell #main-header #top-menu > li.menu-item-object-page.current-menu-item > a,
html.om-hell #main-header.et-fixed-header #top-menu > li.menu-item-object-page.current-menu-item > a,
html.om-hell #main-header .et_mobile_menu > li.menu-item-object-page.current-menu-item > a,
html.om-hell #main-header.et-fixed-header .et_mobile_menu > li.menu-item-object-page.current-menu-item > a {
  color: #3d746d !important;
}

/* VOP review path: three editable Divi text items as separate cards. */
html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul ol.om-ablauf,
html.om-hell body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul ol.om-ablauf {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 48px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
  overflow: visible !important;
}

html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul ol.om-ablauf > li.om-schritt {
  position: relative;
  display: block !important;
  min-width: 0;
  min-height: 152px;
  padding: 24px 26px !important;
  border: 1px solid rgba(142, 190, 203, .36) !important;
  border-radius: 24px !important;
  background: linear-gradient(155deg, rgba(52, 77, 91, .95), rgba(36, 58, 71, .96)) !important;
  box-shadow: inset 0 0 34px -24px rgba(142, 190, 203, .45), 0 16px 28px -26px rgba(5, 12, 18, .8) !important;
}

html.om-hell body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul ol.om-ablauf > li.om-schritt {
  border-color: rgba(103, 160, 177, .48) !important;
  background: linear-gradient(155deg, rgba(255, 255, 255, .85), rgba(224, 239, 243, .82)) !important;
  box-shadow: inset 0 0 34px -24px rgba(106, 160, 178, .45), 0 14px 28px -26px rgba(24, 65, 77, .55) !important;
}

html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-marke {
  display: none !important;
}

html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-schritt h3 {
  margin: 0 !important;
  padding: 0 !important;
  color: #f2f6f8 !important;
  font-size: 18px !important;
  line-height: 1.3 !important;
  font-weight: 700 !important;
}

html.om-hell body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-schritt h3 {
  color: #13212b !important;
}

html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-schritt p {
  margin: 10px 0 0 !important;
  color: #c3d2d9 !important;
  font-size: 16px !important;
  line-height: 1.48 !important;
}

html.om-hell body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-schritt p {
  color: #344b56 !important;
}

html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-schritt + .om-schritt::before {
  content: "›" !important;
  position: absolute !important;
  left: -24px !important;
  top: 50% !important;
  width: auto !important;
  height: auto !important;
  transform: translate(-50%, -50%) !important;
  background: none !important;
  color: #8eabb4 !important;
  font: 300 27px/1 Arial, sans-serif !important;
  filter: none !important;
}

html.om-hell body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-schritt + .om-schritt::before {
  color: #73939c !important;
}

@media (max-width: 980px) {
  html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul ol.om-ablauf,
  html.om-hell body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul ol.om-ablauf {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 34px !important;
  }

  html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul ol.om-ablauf > li.om-schritt {
    min-height: 0;
  }

  html body #page-container .om-abschnitt .et_pb_text.om-ablauf-modul .om-schritt + .om-schritt::before {
    left: 50% !important;
    top: -18px !important;
    transform: translate(-50%, -50%) rotate(90deg) !important;
  }
}

/* Hide the duplicated closing footnote beneath the final CTA on every page. */
html body #page-container .et_pb_text.om-fussleiste {
  display: none !important;
}

/* Make KSE the visual starting point in the four-element VOP diagram. */
html body #page-container .om-hub-mk .om-hub-karten li.om-mi-kse {
  background: linear-gradient(145deg, rgba(58, 102, 88, .96), rgba(37, 76, 79, .96)) !important;
  box-shadow: inset 0 0 0 1px rgba(182, 222, 109, .42), 0 16px 35px -26px rgba(5, 17, 17, .8) !important;
}

html.om-hell body #page-container .om-hub-mk .om-hub-karten li.om-mi-kse {
  background: linear-gradient(145deg, #dceecb, #c4e1d5) !important;
  box-shadow: inset 0 0 0 1px rgba(77, 130, 108, .45), 0 14px 30px -25px rgba(24, 73, 62, .45) !important;
}

/* A compact launcher replaces the large third-party bubble until requested. */
.om-voice-launcher {
  position: fixed;
  z-index: 9999;
  right: 18px;
  bottom: 18px;
  min-height: 44px;
  padding: 10px 18px;
  border: 1px solid rgba(178, 221, 107, .65);
  border-radius: 999px;
  background: #b9df75;
  box-shadow: 0 8px 24px rgba(9, 24, 32, .22);
  color: #10232b;
  font: 700 14px/1.2 Rubik, sans-serif;
  cursor: pointer;
}

.om-voice-launcher:hover,
.om-voice-launcher:focus-visible {
  background: #c5e987;
  box-shadow: 0 8px 26px rgba(9, 24, 32, .28);
}

.om-voice-launcher:focus-visible {
  outline: 2px solid #307c8b;
  outline-offset: 3px;
}

/* The VOP buyer FAQ has its own Lex entry point; avoid duplicate fixed CTAs. */
body.page-id-11207 #om-voice-launcher,
body.page-id-11897 #om-voice-launcher {
  display: none;
}

@media (max-width: 767px) {
  .om-voice-launcher {
    right: 12px;
    bottom: 12px;
    max-width: calc(100vw - 24px);
    font-size: 13px;
  }
}

/* Older articles, archives and voice pages share the current brand shell. */
body.single-post,
body.archive,
body.author,
body.search,
body.om-legacy-page {
  background: #eaf2f5;
  color: #263e4a;
  font-family: Rubik, sans-serif;
}

body.single-post #main-header,
body.om-legacy-page #main-header {
  background: #21303d !important;
  box-shadow: 0 10px 26px rgba(10, 27, 36, .16) !important;
}

body.single-post #main-header #top-menu > li > a,
body.om-legacy-page #main-header #top-menu > li > a,
body.single-post #main-header .mobile_menu_bar:before,
body.om-legacy-page #main-header .mobile_menu_bar:before {
  color: #e9f2f5 !important;
}

body.archive header.et-l--header .et_pb_section,
body.author header.et-l--header .et_pb_section,
body.search header.et-l--header .et_pb_section {
  background: #21303d !important;
}

body.archive header.et-l--header .et_pb_menu__menu a,
body.author header.et-l--header .et_pb_menu__menu a,
body.search header.et-l--header .et_pb_menu__menu a,
body.archive header.et-l--header .mobile_menu_bar:before,
body.author header.et-l--header .mobile_menu_bar:before,
body.search header.et-l--header .mobile_menu_bar:before {
  color: #e9f2f5 !important;
}

body.single-post #main-content,
body.om-legacy-page #main-content,
body.archive .et-l--body .et_pb_section_0_tb_body,
body.author .et-l--body .et_pb_section_0_tb_body,
body.search .et-l--body .et_pb_section_0_tb_body {
  background: #eaf2f5 !important;
}

body.single-post #main-content .container:before {
  display: none;
}

body.single-post #main-content #left-area {
  width: 100%;
  float: none;
  padding-right: 0;
}

body.single-post #main-content #sidebar {
  display: none;
}

body.single-post #main-content .container {
  max-width: 1080px;
  padding-top: 158px !important;
}

body.archive #page-container,
body.author #page-container,
body.search #page-container {
  padding-top: 0 !important;
}

body.archive header.et-l--header .et_pb_row,
body.author header.et-l--header .et_pb_row,
body.search header.et-l--header .et_pb_row {
  width: 92% !important;
  max-width: 1280px !important;
}

body.single-post #main-content h1,
body.single-post #main-content h2,
body.archive .et-l--body h1,
body.archive .et-l--body h2,
body.author .et-l--body h1,
body.author .et-l--body h2 {
  color: #142b35;
  font-family: Rubik, sans-serif;
  font-weight: 700;
  letter-spacing: -.02em;
  line-height: 1.16;
}

body.single-post #main-content h1 { font-size: 40px; }
body.single-post #main-content h2 { font-size: 30px; }

body.single-post #main-content .entry-content p,
body.single-post #main-content .entry-content li {
  color: #2b4652;
  font-size: 17px;
  line-height: 1.65;
}

body.archive .et-l--body article.et_pb_post,
body.author .et-l--body article.et_pb_post,
body.search .et-l--body article.et_pb_post {
  padding: 28px 32px;
  border: 1px solid rgba(113, 159, 172, .42);
  border-radius: 24px;
  background: linear-gradient(155deg, #fcfeff, #e4f0f3);
  box-shadow: 0 16px 32px -28px rgba(32, 66, 76, .45);
}

body.archive .et-l--body article.et_pb_post .entry-title,
body.author .et-l--body article.et_pb_post .entry-title,
body.search .et-l--body article.et_pb_post .entry-title {
  font-size: 28px;
}

@media (max-width: 767px) {
  body.archive .et-l--body article.et_pb_post,
  body.author .et-l--body article.et_pb_post,
  body.search .et-l--body article.et_pb_post {
    padding: 23px 21px;
  }
  body.single-post #main-content .container {
    width: 90%;
    max-width: 680px;
    padding-top: 135px !important;
  }
  body.single-post #main-content h1 { font-size: 31px; }
  body.single-post #main-content h2 { font-size: 25px; }
}

/* Buyer FAQ and Lex entry point on the VOP pages. */
html body #page-container .om-buyer-faq-layout {
  display: grid;
  grid-template-columns: 2fr 1fr;
  gap: 28px;
  align-items: start;
}

html body #page-container .om-buyer-faq-list {
  display: grid;
  gap: 12px;
}

html body #page-container details.om-buyer-question {
  padding: 0;
  border: 1px solid rgba(137, 185, 200, .28);
  border-radius: 20px;
  background: rgba(41, 61, 75, .78);
  color: #cbd9de;
  overflow: hidden;
}

html body #page-container .om-buyer-question summary {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr) 18px;
  gap: 13px;
  align-items: center;
  padding: 18px 20px;
  color: #eef5f7;
  cursor: pointer;
  font: 600 16px/1.35 Rubik, sans-serif;
  list-style: none;
}

html body #page-container .om-buyer-question summary::-webkit-details-marker { display: none; }
html body #page-container .om-buyer-question summary:focus-visible { outline: 2px solid #b9df75; outline-offset: -3px; }

html body #page-container .om-buyer-number {
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  background: #a8cbd3;
  color: #173542;
  font: 700 12px Rubik, sans-serif;
}

html body #page-container .om-buyer-plus {
  color: #b9df75;
  font-size: 23px;
  line-height: 1;
  transition: transform .18s ease;
}

html body #page-container .om-buyer-question[open] .om-buyer-plus { transform: rotate(45deg); }

html body #page-container .om-buyer-question p {
  margin: 0;
  padding: 0 22px 20px 67px;
  color: #c7d6dc;
  font-size: 15px;
  line-height: 1.58;
}

html body #page-container .om-buyer-lex {
  position: relative;
  padding: 27px;
  border: 1px solid rgba(173, 222, 116, .4);
  border-radius: 24px;
  background: linear-gradient(150deg, #315366, #25424b 62%, #344f46);
  box-shadow: 0 20px 40px -30px rgba(4, 16, 22, .9);
}

html body #page-container .om-buyer-lex-avatar {
  display: block;
  width: 56px;
  height: 56px;
  margin-bottom: 22px;
  border: 1px solid rgba(173, 222, 116, .5);
  border-radius: 50%;
  background: #c1e380;
  object-fit: cover;
}

html body #page-container .om-buyer-lex-kicker {
  color: #9bc9d2;
  font: 700 11px/1.4 Rubik, sans-serif;
  letter-spacing: .18em;
  text-transform: uppercase;
}

html body #page-container .om-buyer-lex h3 {
  margin: 10px 0 13px;
  color: #f3f7f8;
  font: 700 26px/1.14 Rubik, sans-serif;
}

html body #page-container .om-buyer-lex > p:not(.om-buyer-lex-kicker) {
  color: #d4e2e5;
  font-size: 15px;
  line-height: 1.55;
}

html body #page-container .om-buyer-lex-button {
  display: inline-flex;
  gap: 12px;
  align-items: center;
  margin: 21px 0 15px;
  padding: 12px 18px;
  border: 0;
  border-radius: 14px;
  background: #b9df75;
  color: #142a31;
  cursor: pointer;
  font: 700 15px Rubik, sans-serif;
}

html body #page-container .om-buyer-lex-button:hover,
html body #page-container .om-buyer-lex-button:focus-visible { background: #c9ea8f; }
html body #page-container .om-buyer-lex-button:focus-visible { outline: 2px solid #e3f6ba; outline-offset: 3px; }

html body #page-container .om-buyer-lex small {
  display: block;
  color: #b9cdd1;
  font-size: 12px;
  line-height: 1.45;
}

html.om-hell body #page-container .om-buyer-question {
  border-color: rgba(98, 156, 174, .38);
  background: linear-gradient(145deg, #fff, #e8f3f5);
}
html.om-hell body #page-container .om-buyer-question summary { color: #17313b; }
html.om-hell body #page-container .om-buyer-question p { color: #385460; }
html.om-hell body #page-container .om-buyer-lex {
  border-color: rgba(93, 153, 168, .48);
  background: linear-gradient(150deg, #e7f4f5, #cfe7e6);
}
html.om-hell body #page-container .om-buyer-lex h3 { color: #17313b; }
html.om-hell body #page-container .om-buyer-lex > p:not(.om-buyer-lex-kicker),
html.om-hell body #page-container .om-buyer-lex small { color: #36535d; }

@media (max-width: 900px) {
  html body #page-container .om-buyer-faq-layout { grid-template-columns: 1fr; }
}

@media (max-width: 767px) {
  html body #page-container .om-buyer-question summary { padding: 16px; font-size: 15px; }
  html body #page-container .om-buyer-question p { padding: 0 17px 18px 62px; }
  html body #page-container .om-buyer-lex { padding: 24px; }
}
