/* TimeInvoicer: shared opt-in readability rules, owner GO 2026-10-06.
   Canonical source: marketing/brand/. Existing brand palette is unchanged. */

/* The stacked mobile menu scrolls with the document instead of covering it.
   Match the existing navigation breakpoint; desktop remains sticky.
   relative, not static (2026-10-09): only a positioned nav keeps its
   z-index, otherwise the hero paints over the open Berufe dropdown. */
@media (max-width: 840px) {
  .ti-site-nav.ti-site-nav-mobile-scroll {
    position: relative;
  }
}

/* Owner GO 2026-10-08 (finding 3dd803626ffe): below 768px the stacked menu
   (logo + two-column grid of nine 44px entries) measured 357 of 812px. Keep
   the links in one horizontally scrollable row. The dropdown is positioned
   against the nav row, so the scrolling link row does not clip it.
   Pinned by test_site_nav_mobile.py. Desktop is unchanged. */
@media (max-width: 767.98px) {
  .ti-site-nav.ti-site-nav-mobile-scroll .ti-site-nav-inner {
    position: relative;
    gap: 8px;
  }
  .ti-site-nav.ti-site-nav-mobile-scroll .ti-site-nav-links {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
    align-items: center;
    gap: 18px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    font-size: .86rem;
  }
  .ti-site-nav.ti-site-nav-mobile-scroll .ti-site-nav-links > a,
  .ti-site-nav.ti-site-nav-mobile-scroll .ti-site-nav-lang,
  .ti-site-nav.ti-site-nav-mobile-scroll .ti-site-nav-dropdown summary {
    flex: 0 0 auto;
    min-height: 44px;
    display: flex;
    align-items: center;
  }
  .ti-site-nav.ti-site-nav-mobile-scroll .ti-site-nav-dropdown {
    position: static;
    flex: 0 0 auto;
  }
  .ti-site-nav.ti-site-nav-mobile-scroll .ti-site-nav-dropdown-menu {
    top: 100%;
    left: 0;
    right: auto;
    transform: none;
    margin-top: 0;
    width: min(360px, 100%);
  }
}

/* Supporting price text on a light card uses the existing dark text token. */
.ti-price-note {
  color: var(--ti-dark, #003F3A);
}
