.legal-page {
    color: #1f2937;
}

.legal-page h1 {
    color: #111827;
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 800;
    letter-spacing: -0.035em;
    line-height: 1.08;
}

.legal-page h2 {
    color: #111827;
    font-size: 1.4rem;
    font-weight: 750;
    margin-top: 2.5rem;
    margin-bottom: .8rem;
}

.legal-page h3 {
    color: #111827;
    font-size: 1.05rem;
    font-weight: 700;
    margin-top: 1.5rem;
    margin-bottom: .5rem;
}

.legal-page p,
.legal-page li {
    line-height: 1.75;
}

.legal-page p,
.legal-page ul,
.legal-page ol,
.legal-page table {
    margin-bottom: 1rem;
}

.legal-page ul,
.legal-page ol {
    padding-left: 1.5rem;
}

.legal-page ul { list-style: disc; }
.legal-page ol { list-style: decimal; }

.legal-page a {
    color: #4f46e5;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.legal-table {
    border-collapse: collapse;
    width: 100%;
}

.legal-table th,
.legal-table td {
    border: 1px solid #e5e7eb;
    padding: .75rem;
    text-align: left;
    vertical-align: top;
}

.legal-table th { background: #f9fafb; }

.legal-note {
    background: #eef2ff;
    border-left: 4px solid #4f46e5;
    border-radius: .5rem;
    padding: 1rem;
}

#cookie-consent-banner {
    background: #111827;
    bottom: 1rem;
    box-shadow: 0 20px 45px rgba(0, 0, 0, .28);
    color: white;
    left: 50%;
    max-height: calc(100vh - 2rem);
    max-width: 56rem;
    overflow-y: auto;
    padding: 1.25rem;
    position: fixed;
    transform: translateX(-50%);
    width: calc(100% - 2rem);
    z-index: 9999;
}

#cookie-consent-banner button {
    border-radius: .65rem;
    font-weight: 700;
    padding: .7rem 1rem;
}

.cookie-primary { background: #6366f1; color: white; }
.cookie-secondary { background: white; color: #111827; }
.cookie-ghost { border: 1px solid #6b7280; color: white; }
