
/* =========================================================
   V4.8.2 – HORIZONTAL PROCESS RAIL + SINGLE-LINE FOOTER
   Only loaded on Leistungen pages
   ========================================================= */

.ep-process-rail {
  background:#07130c;
  border-top:1px solid rgba(243,240,230,.045);
  border-bottom:1px solid rgba(243,240,230,.045);
}

.ep-process-rail .lp-wrap {
  min-height:42px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:13px;
}

.ep-process-rail a {
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#68766e;
  font-size:.64rem;
  letter-spacing:.02em;
  transition:color .22s ease;
}

.ep-process-rail a span {
  color:#8f7640;
  font-size:.56rem;
  font-weight:800;
}

.ep-process-rail a:hover,
.ep-process-rail a.active {
  color:#d8c58f;
}

.ep-process-rail a.active span {
  color:#d5aa50;
}

.ep-process-rail i {
  width:22px;
  height:1px;
  background:rgba(213,170,80,.18);
}

/* One single horizontal footer bar */
.ep-utility-footer {
  background:#06110b;
  border-bottom:1px solid rgba(243,240,230,.03);
  position:relative;
  z-index:40;
}

.ep-utility-footer .lp-wrap {
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:26px;
}

.ep-utility-left,
.ep-utility-right {
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}

.ep-utility-footer span,
.ep-utility-footer a,
.ep-partner-trigger {
  font-size:.61rem;
  color:#6f7c74;
  white-space:nowrap;
}

.ep-utility-footer a,
.ep-partner-trigger {
  transition:color .2s ease;
}

.ep-utility-footer a:hover,
.ep-partner-trigger:hover {
  color:#d6bd76;
}

.ep-utility-footer i {
  color:#354139;
  font-style:normal;
  font-size:.55rem;
}

.ep-utility-right > span {
  color:#776b4b;
  text-transform:uppercase;
  letter-spacing:.1em;
  font-size:.54rem;
}

.ep-partner-trigger {
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  background:transparent;
  cursor:pointer;
  font-family:inherit;
}

/* Small floating partner panel instead of permanent large block */
.ep-partner-popover {
  position:absolute;
  right:max(20px, calc((100vw - 1180px)/2));
  bottom:54px;
  width:min(310px,calc(100vw - 40px));
  padding:17px 18px;
  border:1px solid rgba(213,170,80,.16);
  border-radius:14px;
  background:rgba(8,23,15,.98);
  box-shadow:0 20px 48px rgba(0,0,0,.28);
  backdrop-filter:blur(12px);
}

.ep-partner-popover[hidden] {
  display:none;
}

.ep-partner-popover strong {
  display:block;
  color:#f1ede2;
  font-size:.83rem;
  margin-bottom:5px;
}

.ep-partner-popover > span {
  display:block;
  color:#8f9c94;
  font-size:.66rem;
  margin-bottom:9px;
}

.ep-partner-popover p {
  margin:0 0 10px;
  color:#78867d;
  font-size:.65rem;
}

.ep-partner-popover a {
  display:inline-block;
  color:#d5aa50;
  font-size:.67rem;
  margin-bottom:10px;
}

.ep-partner-popover small {
  display:block;
  color:#5e6b63;
  font-size:.56rem;
  line-height:1.45;
}

/* On desktop, make the page use available viewport neatly */
@media (min-width:980px) {
  body.services-overview-page {
    grid-template-rows:auto 1fr auto auto !important;
  }

  body:has(.ep-detail-main) {
    grid-template-rows:auto 1fr auto auto !important;
  }

  body:has(.ep-detail-main) .ep-detail-screen {
    min-height:0 !important;
    height:100%;
  }
}

/* Short screens */
@media (min-width:980px) and (max-height:820px) {
  .ep-process-rail .lp-wrap {
    min-height:34px;
  }

  .ep-utility-footer .lp-wrap {
    min-height:40px;
  }

  .ep-process-rail a,
  .ep-utility-footer span,
  .ep-utility-footer a,
  .ep-partner-trigger {
    font-size:.56rem;
  }
}

/* Mobile: still horizontal where possible, wraps only when necessary */
@media (max-width:760px) {
  .ep-process-rail {
    overflow-x:auto;
  }

  .ep-process-rail .lp-wrap {
    width:max-content;
    min-width:100%;
    justify-content:flex-start;
    padding-left:18px;
    padding-right:18px;
  }

  .ep-utility-footer .lp-wrap {
    min-height:56px;
    gap:14px;
    flex-wrap:wrap;
    padding-top:9px;
    padding-bottom:9px;
  }

  .ep-utility-left {
    flex-wrap:wrap;
  }

  .ep-utility-right {
    margin-left:auto;
  }

  .ep-partner-popover {
    right:20px;
    bottom:64px;
  }
}
