/* 50-detail.css — detail pages, and the editorial template for plain pages. */

/* ---- Editorial template --------------------------------------------------
   voxel-child/templates/defaults/single.php overrides Voxel's fallback, which
   printed the_title() and the_content() with no wrapper at all — no margin, no
   measure, tables with no rules. It is what /kosten-en-uitbetaling/ and
   /mijn-verdiensten/ render through. */
.tb-prose-page{max-width:1060px;margin:0 auto;padding:0 32px 96px;}
.tb-prose-page.is-app{max-width:1260px;}
.tb-app{max-width:none;}

.tb-prose-head{position:relative;padding:54px 0 34px;margin-bottom:40px;}
/* Wash and closing rule both run full width — the rule belongs to the band, not
   to the text column, or it stops at the container and the band looks cut off. */
.tb-prose-head::before{
  content:"";position:absolute;inset:0 50% auto 50%;width:100vw;height:100%;
  transform:translateX(-50%);background:var(--tb-wash);
  border-bottom:1px solid var(--tb-line);z-index:-1;
}
.tb-prose-title{
  font-family:var(--tb-serif);font-size:46px;font-weight:600;line-height:1.08;
  letter-spacing:-.025em;margin:0 0 12px;color:var(--tb-ink);max-width:20ch;
}
.tb-prose-meta{font-size:13px;color:var(--tb-soft);}

.tb-prose-body{display:block;}
.tb-prose-page.has-toc .tb-prose-body{
  display:grid;grid-template-columns:190px minmax(0,1fr);gap:56px;align-items:start;
}
.tb-toc{position:sticky;top:var(--tb-sticky-top);font-size:13px;line-height:1.5;}
.tb-toc-lab{margin-bottom:12px;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tb-soft);}
.tb-toc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;}
.tb-toc-list a{color:var(--tb-muted);text-decoration:none;display:block;}
.tb-toc-list a:hover{color:var(--tb-accent-text);}

/* 72ch: past roughly 75 characters the eye loses the next line on the return. */
.tb-prose{max-width:72ch;font-size:16.5px;line-height:1.7;color:var(--tb-body);}
.tb-prose > *:first-child{margin-top:0;}
.tb-prose h2{
  font-family:var(--tb-serif);font-size:27px;font-weight:600;line-height:1.25;
  letter-spacing:-.02em;margin:46px 0 12px;color:var(--tb-ink);
  scroll-margin-top:var(--tb-sticky-top);
}
.tb-prose h3{font-family:var(--tb-serif);font-size:20px;font-weight:600;margin:32px 0 8px;color:var(--tb-ink);}
.tb-prose p{margin:0 0 18px;}
.tb-prose ul,.tb-prose ol{margin:0 0 20px;padding-left:24px;}
.tb-prose li{margin-bottom:9px;}
.tb-prose li::marker{color:var(--tb-accent-line);}
.tb-prose strong{font-weight:700;color:var(--tb-ink);}
.tb-prose a{color:var(--tb-body);text-decoration:underline;
  text-decoration-color:rgba(20,26,51,.25);text-underline-offset:4px;}
.tb-prose a:hover{color:var(--tb-accent-text);text-decoration-color:currentColor;}

/* These tables carry the commission and VAT arithmetic. They have to read like
   a statement: no vertical rules, one hairline per row, figures right-aligned
   with tabular numerals so a column can be added up by eye. */
.tb-prose figure.wp-block-table{margin:0 0 26px;overflow-x:auto;}
.tb-prose table{
  width:100%;border-collapse:collapse;background:var(--tb-surface);
  border-radius:var(--tb-r-card);overflow:hidden;box-shadow:var(--tb-lift);font-size:15px;
}
.tb-prose th{
  text-align:left;font-size:11px;font-weight:700;letter-spacing:.1em;
  text-transform:uppercase;color:var(--tb-soft);padding:14px 18px;
  background:#FBF7F3;border-bottom:1px solid var(--tb-line);
}
.tb-prose th:not(:first-child){text-align:right;}
.tb-prose td{padding:13px 18px;border-bottom:1px solid var(--tb-line);vertical-align:top;}
.tb-prose td:not(:first-child){text-align:right;font-variant-numeric:tabular-nums;}
.tb-prose tr:last-child td{border-bottom:0;}
.tb-prose td strong{color:var(--tb-ink);}

.tb-prose blockquote.wp-block-quote{
  margin:0 0 26px;padding:20px 24px;background:var(--tb-warn-bg);
  border:1px solid rgba(224,123,57,.3);border-radius:var(--tb-r-img);
}
.tb-prose blockquote p{font-size:15px;}
.tb-prose blockquote p:last-child{margin-bottom:0;}

/* ---- 404 (template 185) --------------------------------------------------
   The template's widgets stay as they are; only the look comes from here.
   Elementor enables a template's CSS during render, i.e. after this file, so a
   `body` prefix is needed to outrank it at equal specificity. */
body .elementor-185 > .e-con > .e-con-inner{
  max-width:620px;margin:56px auto 72px;padding:44px 40px 40px;
  text-align:center;align-items:center;background:var(--tb-surface);
  border-radius:var(--tb-r-card);box-shadow:var(--tb-lift);
}
body .elementor-185 .elementor-icon svg,
body .elementor-185 .elementor-icon i{color:var(--tb-accent-line);fill:var(--tb-accent-line);}
body .elementor-185 .elementor-element.elementor-element-7ad9e2cc .elementor-heading-title{
  font-family:var(--tb-serif);font-size:64px;font-weight:600;line-height:1;
  color:#E8C9A6;margin:6px 0 14px;
}
body .elementor-185 .elementor-element.elementor-element-45e2ccca .elementor-heading-title{
  font-family:var(--tb-serif);font-size:23px;font-weight:600;color:var(--tb-ink);margin:0 0 24px;
}
/* A dead end needs a door. Elementor sets the list row to width:100%, which on a
   620 px card reads as a bar rather than a choice. */
body .elementor-185 .elementor-element.elementor-element-3f0b09ba .ts-advanced-list{justify-content:center;}
body .elementor-185 .elementor-element.elementor-element-3f0b09ba .ts-advanced-list .ts-action{
  width:auto;display:inline-flex;align-items:center;justify-content:center;
  height:48px;padding:0;border-radius:var(--tb-r-ctrl);background:var(--tb-action);
}
body .elementor-185 .elementor-element.elementor-element-3f0b09ba .ts-advanced-list .ts-action .ts-action-con{
  display:inline-flex;align-items:center;justify-content:center;height:100%;padding:0 26px;
  color:#FFF;font-family:var(--tb-sans);font-size:14.5px;font-weight:700;text-decoration:none;
}
body .elementor-185 .elementor-element.elementor-element-3f0b09ba .ts-advanced-list .ts-action .ts-action-icon{display:none;}

@media (max-width:767px){
  .tb-prose-page{padding:0 20px 64px;}
  .tb-prose-head{padding:32px 0 24px;margin-bottom:28px;}
  .tb-prose-title{font-size:31px;max-width:none;}
  .tb-prose{font-size:16px;}
  .tb-prose h2{font-size:23px;margin-top:36px;}
  .tb-prose-page.has-toc .tb-prose-body{display:block;}
  .tb-toc{position:static;margin-bottom:30px;padding:16px 18px;background:var(--tb-surface);
    border-radius:var(--tb-r-img);box-shadow:0 1px 2px rgba(20,26,51,.05);}
  /* Let a statement scroll rather than wrap four lines to a cell. */
  .tb-prose figure.wp-block-table{margin-inline:-20px;padding-inline:20px;}
  .tb-prose table{min-width:460px;}
}
