/* Blog tables — shared by the public post page and the admin editor.
   Options are plain classes on <table class="bt …">:
   bt-striped | bt-bordered | bt-minimal   (style; default is "modern")
   bt-hrow   first row is a header         bt-hcol   first column is a label column
   bt-sticky first column stays fixed while the table scrolls sideways */
.bt-scroll { overflow-x: auto; margin: 26px 0; border: 1px solid var(--border, #e2e8f3); border-radius: 16px; background: var(--card, #fff); -webkit-overflow-scrolling: touch; box-shadow: 0 1px 2px rgba(0,0,0,.04); }
table.bt { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; font-size: .95rem; line-height: 1.5; color: var(--text, #1f2937); }
table.bt th, table.bt td { padding: 13px 18px; min-width: 130px; text-align: left; vertical-align: top; border: 0; border-bottom: 1px solid var(--border, #e2e8f3); background: var(--card, #fff); }
table.bt tr:last-child > th, table.bt tr:last-child > td { border-bottom: 0; }

/* header row */
table.bt.bt-hrow thead th { background: color-mix(in srgb, var(--brand, #4285f4) 14%, var(--card, #fff)); color: var(--text, #1f2937); font-weight: 800; font-size: .8rem; letter-spacing: .05em; text-transform: uppercase; border-bottom: 2px solid var(--brand, #4285f4); white-space: nowrap; }

/* label (first) column */
table.bt.bt-hcol tbody th, table.bt.bt-hcol tbody td:first-child { background: color-mix(in srgb, var(--brand, #4285f4) 7%, var(--card, #fff)); font-weight: 700; }

table.bt tbody th { text-transform: none; letter-spacing: 0; font-size: inherit; color: var(--text, #1f2937); font-weight: 700; }

/* hover */
table.bt tbody tr:hover > td, table.bt tbody tr:hover > th { background: color-mix(in srgb, var(--brand, #4285f4) 9%, var(--card, #fff)); }

/* striped */
table.bt.bt-striped tbody tr:nth-child(even) > td, table.bt.bt-striped tbody tr:nth-child(even) > th { background: color-mix(in srgb, var(--text, #1f2937) 4%, var(--card, #fff)); }
table.bt.bt-striped tbody tr:hover > td, table.bt.bt-striped tbody tr:hover > th { background: color-mix(in srgb, var(--brand, #4285f4) 9%, var(--card, #fff)); }

table.bt.bt-hcol.bt-striped tbody tr:nth-child(n) > th, table.bt.bt-hcol.bt-striped tbody tr:nth-child(n) > td:first-child { background: color-mix(in srgb, var(--brand, #4285f4) 7%, var(--card, #fff)); }
table.bt.bt-hcol tbody tr:hover > th, table.bt.bt-hcol tbody tr:hover > td:first-child { background: color-mix(in srgb, var(--brand, #4285f4) 13%, var(--card, #fff)); }

/* bordered (full grid) */
table.bt.bt-bordered th, table.bt.bt-bordered td { border-right: 1px solid var(--border, #e2e8f3); }
table.bt.bt-bordered th:last-child, table.bt.bt-bordered td:last-child { border-right: 0; }

/* minimal */
.bt-scroll:has(> table.bt-minimal) { border: 0; box-shadow: none; border-radius: 0; background: transparent; }
table.bt.bt-minimal th, table.bt.bt-minimal td { background: transparent; }
table.bt.bt-minimal.bt-hrow thead th { background: transparent; border-bottom: 2px solid var(--text, #1f2937); }
table.bt.bt-minimal.bt-hcol tbody th, table.bt.bt-minimal.bt-hcol tbody td:first-child { background: transparent; }
table.bt.bt-minimal tbody tr:hover > td, table.bt.bt-minimal tbody tr:hover > th { background: color-mix(in srgb, var(--brand, #4285f4) 7%, transparent); }

/* fixed first column */
table.bt.bt-sticky th:first-child, table.bt.bt-sticky td:first-child { position: sticky; left: 0; z-index: 2; box-shadow: 1px 0 0 var(--border, #e2e8f3), 6px 0 10px -6px rgba(0,0,0,.18); }
table.bt.bt-sticky thead th:first-child { z-index: 3; }
table.bt.bt-sticky.bt-minimal th:first-child, table.bt.bt-sticky.bt-minimal td:first-child { background: var(--bg, #fff); }

/* legacy tables (no .bt) keep working; wrap them so they scroll on phones */
.blog-content .bt-scroll > table:not(.bt) { margin: 0; }

/* admin editor wrapper */
.ql-table-wrap.bt-scroll { margin: 16px 0; }
.ql-table-wrap td:focus, .ql-table-wrap th:focus { outline: none; box-shadow: inset 0 0 0 2px var(--brand, #4285f4); }
