
.legal-page-shell { min-height: 100vh; display: flex; flex-direction: column; background: var(--color-surface); }
.legal-main { width: 100%; flex: 1; padding: var(--spacing-3xl) 0; background: var(--color-surface); }
.legal-content { width: min(calc(100% - 2 * var(--spacing-xl)), 54rem); margin-inline: auto; }
.legal-content > .hero-title { margin-bottom: var(--spacing-sm); }
.legal-updated { color: var(--color-on-surface-secondary); margin-bottom: var(--spacing-xl); }
.legal-company-card { margin: var(--spacing-2xl) 0; display: grid; gap: var(--spacing-xs); }
.legal-company-card .section-title { font-size: var(--font-size-xl); margin-bottom: var(--spacing-sm); }
.legal-section { padding: var(--spacing-xl) 0; border-top: 1px solid color-mix(in oklab, var(--color-primary) 16%, transparent); }
.legal-section .section-title { font-size: var(--font-size-xl); margin-bottom: var(--spacing-sm); }
.legal-content a { color: var(--color-primary); }
.legal-content a:visited { color: var(--color-primary); }
.legal-content a:hover { text-decoration: underline; }
.legal-content a:focus-visible { outline: 2px solid var(--color-primary); outline-offset: 3px; }
.legal-content a:active { opacity: .82; }
.legal-back { margin-top: var(--spacing-xl); }
@media (max-width: 767px) {
  .legal-main { padding: var(--spacing-2xl) 0; }
  .legal-content { width: min(calc(100% - 2 * var(--spacing-lg)), 54rem); }
  .legal-company-card { padding: var(--spacing-lg); }
  .navigation-overlay-link{
      text-decoration: none;
  }
    .navigation-cta-mobile {
        width: fit-content;
    }
}
/* Legal pages — mobile navigation fix */
@media (max-width: 991px) {

    /* Не дозволяємо відкритому меню розширювати сторінку */
    html,
    body,
    .legal-page-shell {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body.menu-open {
        overflow: hidden;
    }

    .navigation-mobile-overlay,
    .navigation-mobile-overlay.is-open {
        position: fixed;
        inset: 0;
        width: 100%;
        max-width: 100vw;
        height: 100dvh;
        max-height: 100dvh;
        min-height: 0;
        box-sizing: border-box;
        overflow: hidden;
        overscroll-behavior: contain;
    }

    .navigation-overlay-header,
    .navigation-overlay-content,
    .navigation-overlay-links {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .navigation-overlay-content {
        flex: 1;
        min-height: 0;
        overflow-x: hidden;
        overflow-y: auto;
    }

    /* Прибираємо underline саме з <a>, а не тільки з внутрішнього div */
    .navigation-overlay-links > a,
    .navigation-overlay-links > a:visited,
    .navigation-overlay-links > a:hover,
    .navigation-overlay-links > a:focus,
    .navigation-overlay-links > a:focus-visible,
    .navigation-overlay-links > a:active,
    .navigation-overlay-link,
    .navigation-overlay-link:visited,
    .navigation-overlay-link:hover,
    .navigation-overlay-link:focus,
    .navigation-overlay-link:active {
        text-decoration: none !important;
    }

    .navigation-overlay-links > a,
    .navigation-overlay-link {
        display: block;
        max-width: 100%;
        min-width: 0;
    }

    /* Logo/header не повинні розпирати overlay */
    .navigation-overlay-header > a,
    .navigation-overlay-header .navigation-logo-link,
    .navigation-overlay-header .logo-lockup,
    .navigation-overlay-header .logo-text-group {
        min-width: 0;
        max-width: 100%;
    }

    .navigation-overlay-header .logo-brand-name,
    .navigation-overlay-header .logo-tagline {
        overflow: hidden;
        text-overflow: ellipsis;
    }
}