/* ============================================================
   Legal document styles – .legal-doc
   Loaded on every page; rules are scoped to .legal-doc so
   they never bleed into the rest of the OceanWP theme.
   ============================================================ */

/* ── Wrapper ─────────────────────────────────────────────── */
.legal-doc {
    max-width: 860px;
    margin: 0 auto 60px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
    font-size: 1rem;
    line-height: 1.75;
    color: #1a1a1a;
}

/* ── Headings ─────────────────────────────────────────────── */
.legal-doc h1 {
    font-size: 2rem;
    font-weight: 800;
    line-height: 1.2;
    color: #1E3A5F;
    margin: 0 0 0.5rem;
    padding: 0;
    border: none;
}

.legal-doc h2 {
    font-size: 1.3rem;
    font-weight: 700;
    color: #1E3A5F;
    margin: 2.25rem 0 0.5rem;
    padding-bottom: 0.4rem;
    border-bottom: 2px solid #e5e7eb;
    border-top: none;
    border-left: none;
    border-right: none;
    background: none;
}

.legal-doc h3 {
    font-size: 1.05rem;
    font-weight: 700;
    color: #374151;
    margin: 1.4rem 0 0.4rem;
    padding: 0;
    border: none;
    background: none;
}

/* ── Paragraphs & text ───────────────────────────────────── */
.legal-doc p {
    margin: 0 0 0.9rem;
    color: #1a1a1a;
}

.legal-doc p:last-child {
    margin-bottom: 0;
}

.legal-doc a {
    color: #1E3A5F;
    text-decoration: underline;
}

.legal-doc a:hover {
    color: #2E86C1;
}

/* ── Lists ───────────────────────────────────────────────── */
.legal-doc ul,
.legal-doc ol {
    padding-left: 1.5rem;
    margin: 0 0 1rem;
}

.legal-doc li {
    margin-bottom: 0.35rem;
    color: #1a1a1a;
}

/* ── Tables ──────────────────────────────────────────────── */
.legal-doc table {
    width: 100%;
    border-collapse: collapse;
    margin: 1.25rem 0 1.5rem;
    font-size: 0.9rem;
}

.legal-doc th,
.legal-doc td {
    border: 1px solid #ddd;
    padding: 10px 14px;
    text-align: left;
    vertical-align: top;
}

.legal-doc th {
    background: #f3f4f6;
    font-weight: 700;
    color: #1E3A5F;
    font-size: 0.82rem;
    letter-spacing: 0.03em;
}

.legal-doc tbody tr:nth-child(even) {
    background: #f9fafb;
}

/* ── Blockquote ──────────────────────────────────────────── */
.legal-doc blockquote {
    background: #f9fafb;
    border-left: 4px solid #d1d5db;
    border-top: none;
    border-right: none;
    border-bottom: none;
    padding: 16px 20px;
    margin: 1rem 0 1.25rem;
    border-radius: 0 8px 8px 0;
    font-size: 0.93rem;
    color: #374151;
    line-height: 1.75;
}

.legal-doc blockquote p {
    margin: 0;
}

/* ── Horizontal rule ─────────────────────────────────────── */
.legal-doc hr {
    border: none;
    border-top: 1px solid #e5e7eb;
    margin: 2rem 0;
}

/* ── Notice / warning box ────────────────────────────────── */
.legal-doc .legal-notice {
    background: #fff8e1;
    border-left: 4px solid #f59e0b;
    padding: 14px 18px;
    font-size: 0.88rem;
    border-radius: 4px;
    margin-bottom: 2rem;
    line-height: 1.6;
}

/* ── Red alert box (elállási jog kizárása) ───────────────── */
.legal-doc .legal-alert-danger,
.legal-doc [style*="fef2f2"] {
    border-radius: 8px;
}

/* ── Processing-activity card (adatkezelés táblázatok) ───── */
.legal-doc .proc-card {
    border: 1px solid #d1fae5;
    border-radius: 8px;
    overflow: hidden;
    margin: 1rem 0 1.5rem;
}

.legal-doc .proc-card__header {
    background: #166534;
    color: #fff;
    padding: 10px 16px;
    font-size: 0.85rem;
    font-weight: 700;
}

.legal-doc .proc-card table {
    margin: 0;
}

.legal-doc .proc-card td:first-child {
    width: 36%;
    font-weight: 600;
    color: #166534;
    background: #f0fdf4;
}

/* ── NAIH card (blue info block) ─────────────────────────── */
.legal-doc .naih-card {
    background: #eff6ff;
    border: 1px solid #93c5fd;
    border-radius: 8px;
    padding: 18px 22px;
    margin: 1rem 0;
    font-size: 0.9rem;
    line-height: 1.8;
}

/* ── Code snippets (cookie names) ───────────────────────── */
.legal-doc code {
    background: #f3f4f6;
    color: #1E3A5F;
    padding: 2px 6px;
    border-radius: 4px;
    font-size: 0.88em;
    font-family: "SF Mono", "Fira Code", "Consolas", monospace;
}

/* ── Footer line ─────────────────────────────────────────── */
.legal-doc .legal-footer-line {
    font-size: 0.85rem;
    color: #6b7280;
    margin-top: 2rem;
    padding-top: 1rem;
    border-top: 1px solid #e5e7eb;
}

/* ── Responsive ──────────────────────────────────────────── */
@media (max-width: 680px) {
    .legal-doc h1 { font-size: 1.55rem; }
    .legal-doc h2 { font-size: 1.15rem; }

    .legal-doc table,
    .legal-doc thead,
    .legal-doc tbody,
    .legal-doc th,
    .legal-doc td,
    .legal-doc tr {
        display: block;
    }

    .legal-doc thead { display: none; }

    .legal-doc td {
        border: none;
        border-bottom: 1px solid #e5e7eb;
        padding: 8px 0;
    }

    .legal-doc td::before {
        content: attr(data-label);
        font-weight: 700;
        color: #1E3A5F;
        display: block;
        font-size: 0.78rem;
        text-transform: uppercase;
        letter-spacing: 0.05em;
        margin-bottom: 2px;
    }

    .legal-doc .proc-card td:first-child {
        width: 100%;
    }
}
