/* ========================================= */
/* CV Page Specific Styles */
/* ========================================= */
html, body.page-lebenslauf { background-color: #000 !important; background: transparent !important; color: #fff !important; height: 100vh !important; max-height: 100vh !important; overflow: hidden !important; overflow-y: hidden !important; margin: 0 !important; padding: 0 !important; }
* { scrollbar-width: none !important; }
::-webkit-scrollbar { display: none !important; }
#cv-progress-bar-container { position: fixed; top: 0; left: 0; width: 100%; height: 4px; background: rgba(255, 255, 255, 0.1); z-index: 10000 !important; }
#cv-progress-bar { width: 0%; height: 100%; background: #e86f2d !important; transition: width 0.1s ease-out; }
#ticker-bar { display: none !important; }
/* Remove logo hover animation */
.site-header__logo a,
.site-header__logo a:hover,
.site-header__logo a:hover:after,
.site-header__logo a:after { transform: none !important; transition: none !important; animation: none !important; background: none !important; }
#flammie { display: none !important; }
@media only screen and (min-width: 64em) { .site-header__logo a, .site-header__logo a:hover { transform: rotate(-90deg) !important; transition: none !important; } }
/* Universe Video Background */
.universe-video-bg { position: fixed; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; z-index: -2; opacity: 1 !important; }
.video-overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5) !important; z-index: -1; pointer-events: none; }
/* Hide Ticker and Top Nav */
.page-lebenslauf .site-alerts,
.page-lebenslauf .desktop-main-nav,
.page-lebenslauf .site-footer { display: none !important; }
/* Breadcrumb styling */
.breadcrumb { display: flex; flex-flow: row wrap; margin: -15px 0px 0px 5px !important; width: 100%; }
.breadcrumb__item a { color: #fff !important; text-decoration: none !important; }
.breadcrumb__item a[href="lebenslauf.htm"] { border-bottom: 1px solid #ef6c26 !important; padding-bottom: 2px; margin-top: 3px; }
.track-list__items, .track-list__item { background-image: none !important; }
.dots-row { display: flex; gap: 1.5rem; justify-content: flex-start; align-items: center; padding: 0 !important; width: 32rem !important; z-index: 0 !important; position: absolute !important; top: 150px !important; left: 17px !important; margin: 0 !important; }
.dot { width: 10px; height: 10px; background: #fff !important; border-radius: 50% !important; opacity: 0.3; display: inline-block; animation: waveDots 2s infinite ease-in-out; box-shadow: 0 0 4px rgba(255, 255, 255, 0.4) !important; position: relative !important; z-index: 0 !important; }
@keyframes waveDots { 0%, 100% { transform: scale(1); opacity: 0.3; } 50% { transform: scale(1.6); opacity: 1; filter: drop-shadow(0 0 6px #fff); } }
.track-list__item { max-width: 28rem !important; margin-right: 10px; }
@media only screen and (min-width: 64em) { .track-list__title { margin: 5vh 6rem 0 0; text-align: left; } }
@media only screen and (min-width: 64em) { .track-list__items { align-items: flex-start; flex-flow: row nowrap; height: 100vh; padding: 15vh 6.25vw 0; width: 100%; } }
.track-article { position: relative !important; }
.track-article__image { position: relative !important; z-index: 5 !important; }
.track-article__text { background: transparent !important; opacity: 1 !important; font-size: 1.25rem !important; line-height: 1.6 !important; padding: 2.5rem 0 2.5rem 0; border-radius: 12px; border: none !important; color: #fff !important; }
.track-article__text p { font-size: 1.25rem !important; margin-bottom: 1.5rem !important; line-height: 1.6 !important; }
.track-article__text h2 { font-size: 2rem !important; margin-bottom: 1.2rem !important; color: #ef6c26 !important; }
/* Buttons - Restored to Original Style */
.btn-primary, .track-article__button { display: inline-block !important; width: auto !important; padding: 14px 28px !important; font-size: 16px !important; background-color: #e86f2d !important; color: #000000 !important; border-radius: 999px !important; text-transform: none !important; letter-spacing: normal !important; margin-top: 0.5rem !important; font-weight: 400 !important; border: 2px solid transparent !important; transition: all 0.25s ease !important; }
.btn-primary:hover, .track-article__button:hover { background-color: transparent !important; border-color: #e86f2d !important; color: #e86f2d !important; }
.cv-logo { max-width: 70% !important; height: auto !important; }
/* Transparency for main containers */
.page-lebenslauf .track-list,
.page-lebenslauf .track-ui,
.page-lebenslauf .template-site__main { background: transparent !important; }
.page-lebenslauf .template-site__main.has-footer-offset { margin-bottom: 0 !important; padding-bottom: 0 !important; }
.track-article__pointer { display: none !important; }

.modal__close { font-size: 2.5rem !important; line-height: 1 !important; color: #fff !important; opacity: 0.8 !important; transition: transform 0.2s ease, opacity 0.2s ease !important; margin-right: 17px; }
.modal__close:hover { opacity: 1 !important; transform: scale(1.1) !important; color: #fff !important; }
/* Hide CV close button while modal is open */
body:has(.modal.is-active) #cv-close-button { display: none !important; }

/* ========================================= */
/* MOBILE RESPONSIVE - GOLD STANDARD */
/* ========================================= */
@media (max-width: 1023px) {
  html, body.page-lebenslauf {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: auto !important;
    min-height: 100vh !important;
    max-height: none !important;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    position: relative !important;
    touch-action: auto !important;
    overscroll-behavior: auto !important;
  }

  .dots-row {
    display: none !important;
  }

  .track-article__image { width: 65px !important; height: 65px !important; border-radius: 50% !important; overflow: hidden !important; }
  .track-article__image img { border-radius: 50% !important; object-fit: contain !important; }

  .track-list {
    overflow: visible !important;
    height: auto !important;
    position: relative;
    touch-action: pan-y !important;
  }

  /* Breadcrumb Mobile */
  .breadcrumb {
    display: none !important;
  }

  /* Timeline Container */
  .track-list__items {
    flex-direction: column !important;
    padding: 40px 25px 40px 50px !important;
    gap: 20px !important;
    width: 100% !important;
    display: flex !important;
    position: relative !important;
  }

  /* The Orange Vertical Line - from netgo to bottom */
  .track-list__items::before {
    content: '' !important;
    position: absolute !important;
    top: 656px !important;
    left: 44px !important;
    width: 2px !important;
    height: calc(100% - 580px) !important;
    background: #ef6c26 !important;
    z-index: 1 !important;
    display: block !important;
  }

  h1, h2, h3, h4, h5, h6, p, span {
    hyphens: none !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }

  /* CV Title / Intro Mobile */
  .track-list__title {
    margin: 40px 0 20px 0 !important;
    padding: 0 !important;
    text-align: left !important;
    width: 100% !important;
  }

  .track-list__title h1 {
    line-height: 1.1 !important;
    font-size: 2.2rem !important;
  }

  .track-list__title h1 strong {
    display: block !important;
    margin-top: 5px;
  }

  .track-list__item {
    flex: 0 0 auto !important;
    margin: 0rem 0 0 !important;
    max-width: 20rem !important;
    width: 100% !important;
    position: relative !important;
    z-index: 2 !important;
  }

  /* Circular Logo Alignment */
  .track-article__image {
    margin-left: -60px !important;
    margin-bottom: 15px !important;
    background: #000 !important;
    border-radius: 50% !important;
    width: 50px !important;
    height: 50px !important;
    border: 2px solid #ef6c26 !important;
    z-index: 5 !important;
    overflow: hidden !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
  }

  .cv-logo {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important;
    max-width: 100% !important;
    height: auto !important;
    border-radius: 0 !important;
    object-fit: contain !important;
  }

  /* Font size unification */
  .track-article__text h2 {
    font-size: 1.25rem !important;
    font-weight: 400 !important;
    margin-bottom: 0.5rem !important;
  }

  .track-article__text p {
    font-size: 1.25rem !important;
    margin-bottom: 1rem !important;
  }

  .track-article__text {
    padding-top: 0 !important;
  }

  #cv-close-button {
    position: fixed;
    top: 7rem;
    right: 3rem;
    color: #fff !important;
    font-size: 2.5rem;
    line-height: 1;
    text-decoration: none !important;
    z-index: 10001 !important;
    cursor: pointer;
    transition: transform 0.2s ease, opacity 0.2s ease;
    opacity: 0.8;
  }

  /* Specific Logo Fixes for Small Devices */
  @media screen and (max-width: 800px) {
    .track-article__image img {
      width: 100% !important;
      margin: 0 !important;
      position: static !important;
      transform: none !important;
      display: block !important;
    }
    .cv-logo {
      position: absolute !important;
      top: 50% !important;
      left: 50% !important;
      transform: translate(-50%, -50%) !important;
    }
  }
}