/* Core Wrapper */
.lcake-adv-table-wrapper {
    font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
    margin: 20px 0;
    --table-primary: #3b82f6;
    --table-primary-hover: #2563eb;
    --table-border: rgba(226, 232, 240, 0.8);
    --table-text-dark: #1e293b;
    --table-text-muted: #64748b;
    --table-bg-hover: rgba(59, 130, 246, 0.04);
}

/* Toolbar & Search */
.lcake-adv-table-toolbar {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 20px;
}

.lcake-adv-table-search-container {
    position: relative;
    width: 100%;
    max-width: 320px;
}

.lcake-adv-table-search-icon {
    position: absolute;
    right: 14px;
    top: 50%;
    transform: translateY(-50%);
    color: var(--table-text-muted);
    pointer-events: none;
    display: flex;
    align-items: center;
    transition: color 0.2s ease;
}

.lcake-adv-table-search {
    width: 100%;
    padding: 12px 42px 12px 16px;
    border: 1px solid var(--table-border);
    border-radius: 30px;
    font-size: 14px;
    color: var(--table-text-dark);
    background-color: #ffffff;
    outline: none;
    box-shadow: 0 2px 8px -2px rgba(0, 0, 0, 0.04);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1);
}

.lcake-adv-table-search::placeholder {
    color: #94a3b8;
}

.lcake-adv-table-search-container:focus-within .lcake-adv-table-search-icon {
    color: var(--table-primary);
}

.lcake-adv-table-search:focus {
    border-color: var(--table-primary);
    box-shadow: 0 0 0 4px rgba(59, 130, 246, 0.12), 0 4px 12px -2px rgba(0, 0, 0, 0.04);
}

/* Table Scroller & Container */
.lcake-adv-table-scroller {
    width: 100%;
    overflow-x: auto;
    border: 1px solid var(--table-border);
    border-radius: 12px 12px 0 0;
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.02);
    background-color: #ffffff;
}

/* Table styling */
.lcake-adv-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    text-align: left;
}

/* Headers */
.lcake-adv-table thead th {
    background: #ffffff;
    color: var(--table-text-dark);
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    padding: 18px 24px;
    white-space: nowrap;
    cursor: pointer;
    border-bottom: 1.5px solid var(--table-border);
    -webkit-user-select: none;
    user-select: none;
    transition: all 0.2s ease;
}

.lcake-adv-table thead th:hover {
    background: #f8fafc;
}

.lcake-adv-table thead th span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

/* Custom Sort Icons using SVG concept via font or text symbols */
.lcake-adv-table thead th span::after {
    content: '↕';
    font-size: 12px;
    color: var(--table-text-muted);
    opacity: 0.4;
    transition: all 0.2s ease;
}

.lcake-adv-table thead th.is-sorted-asc span::after {
    content: '↑';
    color: var(--table-primary);
    opacity: 1;
}

.lcake-adv-table thead th.is-sorted-desc span::after {
    content: '↓';
    color: var(--table-primary);
    opacity: 1;
}

/* Checkboxes */
.lcake-adv-table-select-all,
.lcake-adv-table-row-select {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    border: 1.5px solid #cbd5e1;
    border-radius: 4px;
    outline: none;
    background-color: #ffffff;
    cursor: pointer;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
    position: relative;
}

.lcake-adv-table-select-all:checked,
.lcake-adv-table-row-select:checked {
    background-color: var(--table-primary);
    border-color: var(--table-primary);
}

.lcake-adv-table-select-all:checked::after,
.lcake-adv-table-row-select:checked::after {
    content: '';
    position: absolute;
    width: 4px;
    height: 8px;
    border: solid #ffffff;
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
    top: 2px;
    left: 6px;
}

.lcake-adv-table-select-all:hover,
.lcake-adv-table-row-select:hover {
    border-color: var(--table-primary);
}

/* Status badging */
.lcake-table-status {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-weight: 500;
}

.lcake-table-status svg {
    flex-shrink: 0;
}

.status-no-signal {
    color: #f97316;
}

.status-offline {
    color: #ef4444;
}

.status-online {
    color: #22c55e;
}

/* Body Rows & Cells */
.lcake-adv-table tbody tr {
    transition: background-color 0.2s ease;
}

.lcake-adv-table tbody tr:nth-child(even) {
    background-color: #ffffff;
}

.lcake-adv-table tbody tr:hover {
    background-color: var(--table-bg-hover);
}

.lcake-adv-table tbody td {
    padding: 16px 24px;
    font-size: 14px;
    color: #475569;
    border-bottom: 1.5px solid var(--table-border);
    transition: color 0.2s ease;
}

.lcake-adv-table tbody tr:last-child td {
    border-bottom: none;
}

.lcake-adv-table tbody tr:hover td {
    color: var(--table-text-dark);
}

.lcake-adv-table tbody tr.is-filtered-out,
.lcake-adv-table tbody tr.is-paginated-out {
    display: none;
}

/* Footer & Pagination */
.lcake-adv-table-footer {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    padding: 16px 24px;
    background-color: #ffffff;
    border: 1px solid var(--table-border);
    border-top: none;
    border-radius: 0 0 12px 12px;
    gap: 24px;
    font-size: 14px;
    color: var(--table-text-muted);
    box-shadow: 0 10px 30px -10px rgba(0, 0, 0, 0.06), 0 1px 3px rgba(0, 0, 0, 0.02);
}

.lcake-adv-table-rows-per-page {
    display: flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.lcake-adv-table-page-size {
    appearance: none;
    -webkit-appearance: none;
    border: 1.5px solid var(--table-border);
    border-radius: 8px;
    padding: 6px 28px 6px 12px;
    font-size: 14px;
    color: var(--table-text-dark);
    background-color: #ffffff;
    cursor: pointer;
    outline: none;
    background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%2364748b' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");
    background-position: right 8px center;
    background-repeat: no-repeat;
    background-size: 16px;
    transition: all 0.2s ease;
}

.lcake-adv-table-page-size:hover {
    border-color: var(--table-primary);
}

.lcake-adv-table-pagination-info {
    user-select: none;
    white-space: nowrap;
}

.lcake-adv-table-pagination-buttons {
    display: flex;
    align-items: center;
    gap: 4px;
}

.lcake-adv-table-pagination-buttons button {
    background: none;
    border: none;
    color: var(--table-text-dark);
    cursor: pointer;
    padding: 6px;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.2s ease;
}

.lcake-adv-table-pagination-buttons button svg {
    display: block;
}

.lcake-adv-table-pagination-buttons button:hover:not(:disabled) {
    background-color: var(--table-bg-hover);
    color: var(--table-primary);
}

.lcake-adv-table-pagination-buttons button:disabled {
    color: #cbd5e1;
    cursor: not-allowed;
}

/* Empty State */
.lcake-adv-table-empty {
    text-align: center;
    color: var(--table-text-muted);
    padding: 30px 20px;
    font-size: 14px;
    border: 1px dashed var(--table-border);
    border-radius: 12px;
    margin-top: 15px;
    background: #f8fafc;
}


/* Remove text decoration for a tags */
.elementor-widget-lcake-kit-advanced-data-table a,
.lcake-advanced-data-table a,
.lcake-kit-advanced-data-table a,
.lc-header-footer-advanced-data-table a {
    text-decoration: none !important;
}
