/**
 * Scoped Bootstrap table styles for WPAPPS Sheets 2 Datatable
 * Extracted and namespaced to prevent theme conflicts
 */

/* Base table styles - scoped to plugin wrapper */
.wpapps-s2d-wrapper table {
    caption-side: bottom;
    border-collapse: collapse;
}

.wpapps-s2d-wrapper .table {
    --wpapps-table-color: var(--wp--preset--color--contrast, #212529);
    --wpapps-table-bg: transparent;
    --wpapps-table-border-color: var(--wp--preset--color--contrast-3, #dee2e6);
    --wpapps-table-accent-bg: transparent;
    --wpapps-table-striped-color: var(--wp--preset--color--contrast, #212529);
    --wpapps-table-striped-bg: rgba(0, 0, 0, 0.05);
    --wpapps-table-active-color: var(--wp--preset--color--contrast, #212529);
    --wpapps-table-active-bg: rgba(0, 0, 0, 0.1);
    --wpapps-table-hover-color: var(--wp--preset--color--contrast, #212529);
    --wpapps-table-hover-bg: rgba(0, 0, 0, 0.075);
    
    width: 100%;
    margin-bottom: 1rem;
    color: var(--wpapps-table-color);
    vertical-align: top;
    border-color: var(--wpapps-table-border-color);
}

.wpapps-s2d-wrapper .table > :not(caption) > * > * {
    padding: 0.5rem 0.5rem;
    background-color: var(--wpapps-table-bg);
    border-bottom-width: 1px;
    box-shadow: inset 0 0 0 9999px var(--wpapps-table-accent-bg);
}

.wpapps-s2d-wrapper .table > tbody {
    vertical-align: inherit;
}

.wpapps-s2d-wrapper .table > thead {
    vertical-align: bottom;
}

.wpapps-s2d-wrapper .table-group-divider {
    border-top: 2px solid currentcolor;
}

/* Striped rows */
.wpapps-s2d-wrapper .table-striped > tbody > tr:nth-of-type(odd) > * {
    --wpapps-table-accent-bg: var(--wpapps-table-striped-bg);
    color: var(--wpapps-table-striped-color);
}

/* Hoverable rows */
.wpapps-s2d-wrapper .table-hover > tbody > tr:hover > * {
    --wpapps-table-accent-bg: var(--wpapps-table-hover-bg);
    color: var(--wpapps-table-hover-color);
}

/* Bordered tables */
.wpapps-s2d-wrapper .table-bordered > :not(caption) > * {
    border-width: 1px 0;
}

.wpapps-s2d-wrapper .table-bordered > :not(caption) > * > * {
    border-width: 0 1px;
}

/* Compact tables */
.wpapps-s2d-wrapper .table-compact > :not(caption) > * > * {
    padding: 0.25rem 0.25rem;
}

/* Dark theme - respects WordPress dark mode */
@media (prefers-color-scheme: dark) {
    .wpapps-s2d-wrapper .table {
        --wpapps-table-color: #fff;
        --wpapps-table-border-color: #495057;
        --wpapps-table-striped-bg: rgba(255, 255, 255, 0.05);
        --wpapps-table-hover-bg: rgba(255, 255, 255, 0.075);
        --wpapps-table-active-bg: rgba(255, 255, 255, 0.1);
    }
}

.wpapps-s2d-wrapper .table-dark {
    --wpapps-table-color: #fff;
    --wpapps-table-bg: #212529;
    --wpapps-table-border-color: #495057;
    --wpapps-table-striped-color: #fff;
    --wpapps-table-striped-bg: rgba(255, 255, 255, 0.05);
    --wpapps-table-active-color: #fff;
    --wpapps-table-active-bg: rgba(255, 255, 255, 0.1);
    --wpapps-table-hover-color: #fff;
    --wpapps-table-hover-bg: rgba(255, 255, 255, 0.075);
    color: var(--wpapps-table-color);
    border-color: var(--wpapps-table-border-color);
}

/* Responsive utilities */
.wpapps-s2d-wrapper .table-responsive {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

/* DataTables integration - ensure compatibility */
.wpapps-s2d-wrapper .dataTables_wrapper {
    position: relative;
    clear: both;
}

/* Fix potential z-index issues with themes */
.wpapps-s2d-wrapper .dataTables_processing {
    z-index: 999;
}

.wpapps-s2d-wrapper .dt-buttons {
    position: relative;
    z-index: 50;
}

/* Ensure proper spacing in block themes */
.wp-block-wpapps-s2d .wpapps-s2d-wrapper {
    margin: var(--wp--style--block-gap, 1.5rem) 0;
}