/**
 * Tabulator Theme Styles
 * Version: 1.0.0
 *
 * Custom theme for Tabulator tables using tanach-common.css design tokens
 * Used by: tweet/index.html
 *
 * Dependencies: tanach-common.css, tabulator.min.css
 */

/* Base Tabulator Styling */
.tabulator {
    direction: rtl;
    font-family: var(--font-family-hebrew);
    font-size: var(--font-size-2xl);
    background-color: var(--base-bg);
    color: var(--base-text);
    border: 1px solid var(--border-color);
    border-radius: var(--border-radius-md);
    box-shadow: var(--shadow-md);
    transition: background-color var(--transition-slow), border-color var(--transition-slow);
}

/* Header Styling */
.tabulator .tabulator-header {
    background-color: var(--secondary-bg);
    border-bottom: 2px solid var(--border-color);
}

.tabulator .tabulator-header .tabulator-col {
    background-color: var(--secondary-bg);
    border-left: 1px solid var(--border-color);
}

.tabulator .tabulator-header .tabulator-col-content {
    padding: var(--spacing-sm);
}

/* Row Styling */
.tabulator .tabulator-row {
    background-color: var(--base-bg);
    color: var(--base-text);
}

.tabulator .tabulator-row.tabulator-row-even {
    background-color: var(--base-bg);
}

.tabulator .tabulator-row:hover {
    background-color: var(--tertiary-bg);
}

/* Highlighted Row */
.tabulator .tabulator-row.source-text-highlighted-area {
    background-color: var(--warning-color);
    opacity: 0.7;
}

/* Cell Styling */
.tabulator .tabulator-cell {
    border-left: 1px solid var(--border-color);
    text-align: center;
    padding: var(--spacing-sm);
}

/* Table Container */
#table-output {
    width: 100%;
    margin-bottom: var(--spacing-xl);
}

/* Header Filter Styling */
.tabulator .tabulator-header-filter input {
    background-color: var(--base-bg);
    color: var(--base-text);
    border: 1px solid var(--border-color);
    padding: var(--spacing-xs);
    width: 100%;
    box-sizing: border-box;
    font-size: var(--font-size-sm);
    border-radius: var(--border-radius-sm);
}

.tabulator .tabulator-header-filter input:focus {
    border-color: var(--accent-color);
    outline: none;
}

/* Frozen Column Styling */
.tabulator .tabulator-frozen {
    background-color: var(--tertiary-bg);
    opacity: 0.95;
}

/* Pagination */
.tabulator .tabulator-footer {
    background-color: var(--secondary-bg);
    border-top: 1px solid var(--border-color);
}

.tabulator .tabulator-footer .tabulator-page {
    background-color: var(--base-bg);
    border: 1px solid var(--border-color);
    color: var(--base-text);
}

.tabulator .tabulator-footer .tabulator-page.active {
    background-color: var(--accent-color);
    color: white;
}

/* Sorting Arrows */
.tabulator .tabulator-col.tabulator-sortable .tabulator-col-content {
    padding-right: var(--spacing-lg);
}

/* Resizable Columns */
.tabulator .tabulator-col-resize-handle {
    width: 6px;
}

/* Dark Theme Adjustments */
:root[data-theme="dark"] .tabulator {
    border-color: var(--border-color);
}

:root[data-theme="dark"] .tabulator .tabulator-header {
    background-color: var(--secondary-bg);
}

:root[data-theme="dark"] .tabulator .tabulator-row {
    background-color: var(--base-bg);
}

:root[data-theme="dark"] .tabulator .tabulator-row:hover {
    background-color: var(--tertiary-bg);
}
