/* ===== Adatkezelési tájékoztató page-owned styles ===== */

.adatkezelesi-main {
    display: block;
}

/* Hero */
.adatkezelesi-hero {
    background-color: var(--color-ivory);
    padding-block: var(--space-3xl) var(--space-2xl);
    border-block-end: 1px solid var(--color-silver);
}

.adatkezelesi-hero-inner {
    max-width: var(--container-text);
}

.adatkezelesi-hero .eyebrow {
    color: var(--color-theatre-red);
    margin-block-end: var(--space-md);
}

.adatkezelesi-hero h1 {
    margin-block-end: var(--space-lg);
    max-width: 720px;
}

.adatkezelesi-hero-lead {
    font-size: var(--text-body-large);
    line-height: var(--leading-body-large);
    color: var(--color-graphite-soft);
    max-width: 720px;
    margin-block-end: var(--space-lg);
}

.adatkezelesi-effective-date {
    font-size: var(--text-small);
    line-height: var(--leading-small);
    letter-spacing: var(--tracking-small);
    color: var(--color-graphite-soft);
    max-width: 720px;
    padding-block-start: var(--space-md);
    border-block-start: 1px solid var(--color-silver);
}

.adatkezelesi-effective-date strong {
    color: var(--color-graphite);
    font-weight: 600;
}

/* Sections */
.adatkezelesi-section {
    padding-block: var(--space-3xl);
}

.adatkezelesi-section-ivory {
    background-color: var(--color-ivory);
}

.adatkezelesi-section-deep {
    background-color: var(--color-ivory-deep);
}

.adatkezelesi-section-inner {
    display: grid;
    grid-template-columns: 3rem minmax(0, 720px);
    gap: var(--space-xl);
    align-items: start;
    max-width: var(--container-text);
}

.adatkezelesi-act-marker {
    font-family: var(--font-heading);
    font-size: var(--text-h3);
    font-weight: 400;
    line-height: 1;
    color: var(--color-dusty-rose);
    padding-block-start: 0.25rem;
    user-select: none;
}

.adatkezelesi-copy {
    min-width: 0;
    max-width: 720px;
    text-align: left;
}

.adatkezelesi-copy h2 {
    margin-block-end: var(--space-lg);
}

.adatkezelesi-copy p {
    margin-block-end: var(--space-md);
}

.adatkezelesi-copy p:last-child {
    margin-block-end: 0;
}

/* Highlight blocks (adatkezelő, NAIH) */
.adatkezelesi-highlight-block {
    background-color: var(--color-ivory-deep);
    padding: var(--space-lg);
    margin-block-start: var(--space-lg);
    border-block-start: 1px solid var(--color-silver);
}

.adatkezelesi-section-deep .adatkezelesi-highlight-block {
    background-color: var(--color-ivory);
}

.adatkezelesi-highlight-block h3 {
    margin-block-end: var(--space-md);
}

.adatkezelesi-data-list {
    display: grid;
    grid-template-columns: 1fr;
    gap: var(--space-sm);
    margin: 0;
    padding: 0;
    list-style: none;
}

.adatkezelesi-data-row {
    display: grid;
    grid-template-columns: minmax(0, 10rem) minmax(0, 1fr);
    gap: var(--space-md);
    align-items: baseline;
    padding-block: var(--space-xs);
    border-block-end: 1px solid var(--color-silver);
}

.adatkezelesi-data-row:last-child {
    border-block-end: none;
}

.adatkezelesi-data-row dt {
    font-size: var(--text-label);
    font-weight: 600;
    line-height: var(--leading-label);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    color: var(--color-graphite-soft);
    min-width: 0;
}

.adatkezelesi-data-row dd {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-graphite);
    min-width: 0;
    overflow-wrap: break-word;
}

.adatkezelesi-data-row dd a {
    color: var(--color-terracotta);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 4px;
    transition: text-decoration-color var(--transition-fast);
}

.adatkezelesi-data-row dd a:hover,
.adatkezelesi-data-row dd a:focus-visible {
    text-decoration-color: var(--color-theatre-red);
}

.adatkezelesi-data-row dd a:focus-visible {
    outline: var(--focus-outline);
    outline-offset: var(--focus-offset);
}

/* Lists */
.adatkezelesi-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: var(--space-md);
}

.adatkezelesi-list li {
    font-size: var(--text-body);
    line-height: var(--leading-body);
    color: var(--color-graphite);
    margin: 0;
    padding-block-end: var(--space-md);
    border-block-end: 1px solid var(--color-silver);
}

.adatkezelesi-list li:last-child {
    padding-block-end: 0;
    border-block-end: none;
}

.adatkezelesi-list li strong {
    font-weight: 600;
    color: var(--color-graphite);
}

/* Table */
.adatkezelesi-table-wrapper {
    margin-block-start: var(--space-lg);
    overflow-x: auto;
    max-width: 720px;
}

.adatkezelesi-table {
    width: 100%;
    border-collapse: collapse;
    font-size: var(--text-body);
    line-height: var(--leading-body);
}

.adatkezelesi-table th,
.adatkezelesi-table td {
    text-align: left;
    padding: var(--space-sm);
    border-block-end: 1px solid var(--color-silver);
    vertical-align: top;
}

.adatkezelesi-table thead th {
    font-family: var(--font-body);
    font-size: var(--text-label);
    font-weight: 600;
    line-height: var(--leading-label);
    letter-spacing: var(--tracking-label);
    text-transform: uppercase;
    color: var(--color-graphite-soft);
    border-block-end: 2px solid var(--color-graphite);
}

.adatkezelesi-table tbody tr:last-child td {
    border-block-end: none;
}

.adatkezelesi-table tbody td {
    color: var(--color-graphite);
}

/* Inline link */
.adatkezelesi-inline-link {
    color: var(--color-terracotta);
    text-decoration: underline;
    text-decoration-color: transparent;
    text-underline-offset: 4px;
    transition: text-decoration-color var(--transition-fast);
}

.adatkezelesi-inline-link:hover,
.adatkezelesi-inline-link:focus-visible {
    text-decoration-color: var(--color-theatre-red);
}

.adatkezelesi-inline-link:focus-visible {
    outline: var(--focus-outline);
    outline-offset: var(--focus-offset);
}

/* Tablet */
@media (min-width: 640px) {
    .adatkezelesi-section {
        padding-block: var(--space-4xl);
    }

    .adatkezelesi-hero {
        padding-block: var(--space-4xl) var(--space-3xl);
    }
}

/* Desktop */
@media (min-width: 1024px) {
    .adatkezelesi-section {
        padding-block: var(--space-5xl);
    }

    .adatkezelesi-hero {
        padding-block: var(--space-5xl) var(--space-4xl);
    }

    .adatkezelesi-section-inner {
        grid-template-columns: 4rem minmax(0, 720px);
        gap: var(--space-2xl);
    }

    .adatkezelesi-act-marker {
        font-size: var(--text-h2);
    }
}

/* Mobile: collapse grid, hide act markers, table to cards */
@media (max-width: 639px) {
    .adatkezelesi-section-inner {
        grid-template-columns: 1fr;
        gap: var(--space-md);
    }

    .adatkezelesi-act-marker {
        display: none;
    }

    .adatkezelesi-copy {
        max-width: 100%;
    }

    .adatkezelesi-hero h1,
    .adatkezelesi-hero-lead,
    .adatkezelesi-effective-date {
        max-width: 100%;
    }

    .adatkezelesi-data-row {
        grid-template-columns: 1fr;
        gap: var(--space-2xs);
    }

    .adatkezelesi-table thead {
        display: none;
    }

    .adatkezelesi-table,
    .adatkezelesi-table tbody,
    .adatkezelesi-table tr,
    .adatkezelesi-table td {
        display: block;
        width: 100%;
    }

    .adatkezelesi-table tr {
        margin-block-end: var(--space-md);
        border: 1px solid var(--color-silver);
        padding: var(--space-sm);
        background-color: var(--color-ivory);
    }

    .adatkezelesi-section-deep .adatkezelesi-table tr {
        background-color: var(--color-ivory);
    }

    .adatkezelesi-table td {
        border-block-end: none;
        padding: var(--space-2xs) 0;
        display: grid;
        grid-template-columns: minmax(0, 8rem) minmax(0, 1fr);
        gap: var(--space-sm);
        align-items: baseline;
    }

    .adatkezelesi-table td::before {
        content: attr(data-label);
        font-size: var(--text-label);
        font-weight: 600;
        line-height: var(--leading-label);
        letter-spacing: var(--tracking-label);
        text-transform: uppercase;
        color: var(--color-graphite-soft);
    }

    .adatkezelesi-table td:last-child {
        border-block-end: none;
    }
}

@media (prefers-reduced-motion: reduce) {
    .adatkezelesi-inline-link,
    .adatkezelesi-data-row dd a {
        transition: none;
    }
}
