/* ========================================
   Legal Pages (BareInvestfolio privacy / terms)
   Reuses the site tokens from main.css; only the document layout,
   skip link and focus treatment live here. Single column at every width.
======================================== */

.skip-link {
    position: absolute;
    top: 0.75rem;
    left: 0.75rem;
    z-index: 2000;
    padding: 0.75rem 1.25rem;
    border-radius: 999px;
    background: var(--blue-deep);
    color: var(--on-accent);
    font-weight: 700;
    font-size: 0.9rem;
    text-decoration: none;
    transform: translateY(-300%);
}

.skip-link:focus,
.skip-link:focus-visible {
    transform: translateY(0);
}

a:focus-visible,
.legal-main:focus-visible {
    outline: 2px solid var(--blue);
    outline-offset: 3px;
    border-radius: 2px;
}

.skip-link:focus-visible {
    outline-color: var(--text-primary);
}

/* Breadcrumb: same plain-inline pattern as .breadcrumb-list in meta-cipher.css
   (no flexbox, see the Samsung note there). */
.legal-breadcrumb {
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-md)) saturate(150%);
    -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(150%);
    padding: 5.5rem 0 1.1rem;
    border-bottom: 1px solid var(--glass-border);
}

.legal-breadcrumb .breadcrumb-list {
    list-style: none;
    margin: 0;
    padding: 0;
    font-size: 0.85rem;
    white-space: nowrap;
}

.legal-breadcrumb .breadcrumb-list li {
    display: inline;
}

.legal-breadcrumb .breadcrumb-sep {
    margin: 0 0.5rem;
    color: var(--text-secondary);
}

.legal-breadcrumb a {
    color: var(--blue);
    text-decoration: none;
}

.legal-breadcrumb a:hover {
    text-decoration: underline;
}

.legal-breadcrumb [aria-current="page"] {
    color: var(--text-primary);
    font-weight: 600;
}

/* Document */
.legal-main {
    padding: 2rem 0 3.5rem;
}

.legal-main:focus {
    outline: none;
}

.legal-article {
    max-width: 46rem;
    margin: 0 auto;
    padding: 1.5rem 1.25rem 2rem;
    background: var(--glass-bg);
    backdrop-filter: blur(var(--glass-blur-md)) saturate(150%);
    -webkit-backdrop-filter: blur(var(--glass-blur-md)) saturate(150%);
    border: 1px solid var(--glass-border);
    border-radius: var(--border-radius);
    box-shadow: inset 0 1px 0 var(--glass-highlight);
    color: rgba(241, 246, 251, 0.85);
    font-size: 1rem;
    line-height: 1.7;
    overflow-wrap: break-word;
}

.legal-article h1 {
    font-size: clamp(1.75rem, 6vw, 2.6rem);
    font-weight: 800;
    line-height: 1.12;
    letter-spacing: -0.01em;
    text-transform: uppercase;
    color: var(--text-primary);
}

.legal-article h1 + p {
    margin-top: 0.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--glass-border);
    font-size: 0.9rem;
    color: var(--text-secondary);
}

.legal-article h2 {
    margin-top: 2.25rem;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--text-primary);
}

.legal-article p,
.legal-article ul {
    margin-top: 1rem;
}

.legal-article h2 + p,
.legal-article h2 + ul {
    margin-top: 0.75rem;
}

.legal-article ul {
    padding-left: 1.25rem;
}

.legal-article li + li {
    margin-top: 0.6rem;
}

.legal-article li::marker {
    color: var(--blue);
}

.legal-article strong {
    font-weight: 700;
    color: var(--text-primary);
}

.legal-article a {
    color: var(--blue);
    text-decoration: underline;
    text-underline-offset: 0.15em;
    overflow-wrap: anywhere;
}

.legal-article a:hover {
    color: var(--text-primary);
}

.legal-article code {
    padding: 0.1rem 0.4rem;
    border-radius: 0.3rem;
    background: var(--glass-bg-strong);
    font-family: var(--font-mono);
    font-size: 0.85em;
    color: var(--text-primary);
    overflow-wrap: anywhere;
}

@media (min-width: 769px) {
    .legal-main {
        padding: 3rem 0 5rem;
    }

    .legal-article {
        padding: 2.5rem 3rem 3rem;
    }
}
