
.privacy-policy h3,
.privacy-policy h4,
.privacy-policy h5 {
    margin-top: 3rem; 
    margin-bottom: 0.75rem;
    scroll-margin-top: 5rem;
}

/* Optional typography wrapper */
.privacy-policy .prose {
    font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", sans-serif;
    line-height: 1.6;
    color: var(--bs-body-color, #212529);
}

/* Responsive table container */
.privacy-policy .overflow-x-auto {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    margin: 1rem 0 1.5rem;
    position: relative;
}


/* Target both plain <table> and Bootstrap .table inside .privacy-policy */
.privacy-policy table,
.privacy-policy .table {
    width: 100%;
    border-collapse: collapse;
    border-spacing: 0;
    font-size: 0.95rem;
    background: var(--bs-body-bg, #fff);
}

    /* Cells */
    .privacy-policy th,
    .privacy-policy td,
    .privacy-policy .table th,
    .privacy-policy .table td {
        border: 1px solid var(--bs-border-color, #dee2e6);
        padding: 0.75rem 1rem;
        text-align: left;
        vertical-align: top;
    }

    /* Header cells */
    .privacy-policy th,
    .privacy-policy .table thead th {
        background-color: var(--bs-gray-100, #f8f9fa);
        font-weight: 600;
    }

/* Zebra striping */
.privacy-policy tbody tr:nth-child(even):not(.table-active) {
    background-color: color-mix(in srgb, var(--bs-gray-100, #f8f9fa) 50%, transparent);
}

/* Hover */
.privacy-policy tbody tr:hover {
    background-color: var(--bs-table-hover-bg, #f1f3f5);
}

/* Sticky header for long tables on desktop */
.privacy-policy .overflow-x-auto table thead th,
.privacy-policy .overflow-x-auto .table thead th {
    position: sticky;
    top: 0;
    background-color: var(--bs-gray-100, #f8f9fa);
    z-index: 1;
}


@media (max-width: 600px) {
    /* Hide thead entirely on mobile to avoid header badges */
    .privacy-policy .overflow-x-auto table thead,
    .privacy-policy .overflow-x-auto .table thead {
        display: none;
    }

    /* Stack rows as cards */
    .privacy-policy table,
    .privacy-policy tbody,
    .privacy-policy th,
    .privacy-policy td,
    .privacy-policy tr,
    .privacy-policy .table,
    .privacy-policy .table tbody,
    .privacy-policy .table th,
    .privacy-policy .table td,
    .privacy-policy .table tr {
        display: block;
    }

        .privacy-policy tbody tr,
        .privacy-policy .table tbody tr {
            margin: 0.85rem 0;
            border: 1px solid var(--bs-border-color, #dee2e6);
            border-radius: 0.5rem;
            padding: 0.75rem 0.85rem;
            background: var(--bs-body-bg, #fff);
        }

            /* Row title = first column (for example, Audience) */
            .privacy-policy tbody tr > td:first-child,
            .privacy-policy .table tbody tr > td:first-child {
                font-weight: 700;
                font-size: 1rem;
                margin-bottom: 0.25rem;
            }

        /* Add per-cell header above content using data-label */
        .privacy-policy td,
        .privacy-policy .table td {
            border: none;
            padding: 0.5rem 0 0.25rem;
        }

            .privacy-policy td + td,
            .privacy-policy .table td + td {
                border-top: 1px dashed var(--bs-border-color, #dee2e6);
                margin-top: 0.5rem;
                padding-top: 0.75rem;
            }

            .privacy-policy td::before,
            .privacy-policy .table td::before {
                content: attr(data-label);
                font-weight: 600;
                display: block;
                margin-bottom: 0.25rem;
                color: var(--bs-gray-700, #495057);
            }
}

/* Utility: tighter padding on very small phones */
@media (max-width: 400px) {
    .privacy-policy th,
    .privacy-policy td,
    .privacy-policy .table th,
    .privacy-policy .table td {
        padding: 0.5rem 0.75rem;
    }
}
