/* Totaalbouw Rivierenland — theme.css v2.2 */
:root{
  --tb-or:#E07000;--tb-orp:#FFF4E6;--tb-ord:#B85600;
  --tb-k:#0D0D0D;--tb-k2:#1A1A1A;--tb-k3:#282828;
  --tb-g6:#555;--tb-g5:#6A6A6A;--tb-g4:#8C8C8C;
  --tb-g2:#DEDEDE;--tb-g1:#F3F3F3;--tb-g0:#F8F8F8;
  --tb-w:#FFFFFF;
  --tb-ln:1px solid #EFEFEF;--tb-lnd:1px solid #252525;
  --tb-fh:'Sora',sans-serif;--tb-fb:'Outfit',sans-serif;
  --tb-dur:.18s;
  --tb-pad:60px;
}

/* ─── RESET & BASE ─────────────────────────────────────────── */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-font-smoothing:antialiased;scroll-behavior:smooth}
body{
  font-family:var(--tb-fb);
  color:var(--tb-k);
  background:var(--tb-w);
  margin:0;
  padding:0!important;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
a{color:var(--tb-or);transition:color var(--tb-dur)}
a:hover{color:var(--tb-ord)}
p{line-height:1.85;margin-bottom:1em}
p:last-child{margin-bottom:0}
h1,h2,h3,h4,h5{font-family:var(--tb-fh);margin:0 0 .6em;line-height:1.12}
h1{font-size:clamp(34px,5vw,58px);font-weight:300;letter-spacing:-0.03em;line-height:1.08}
h2{font-size:clamp(26px,3.5vw,40px);font-weight:300;letter-spacing:-0.025em}
h3{font-size:clamp(17px,2.5vw,24px);font-weight:400;letter-spacing:-0.015em}
ul,ol{padding-left:1.4em}

/* ─── FULL WIDTH OVERRIDE ──────────────────────────────────── */
/* Twenty Twenty-Four forceert padding op body en site-blocks  */
body,
.wp-site-blocks,
.wp-block-post-content,
.entry-content,
.is-layout-flow,
.is-layout-constrained{
  padding-top:0!important;
  padding-bottom:0!important;
  padding-left:0!important;
  padding-right:0!important;
  max-width:none!important;
}
.wp-site-blocks>*{
  margin-block-start:0!important;
  margin-block-end:0!important;
}
/* Elk direct kind van post-content full width */
.wp-block-post-content>*{
  max-width:100%!important;
  width:100%!important;
  margin-left:0!important;
  margin-right:0!important;
}
/* FSE layout classes */
.is-layout-constrained>.wp-block-columns,
.is-layout-constrained>.wp-block-group,
.is-layout-constrained>.wp-block-html,
.is-layout-constrained>.wp-block-media-text,
.is-layout-constrained>.wp-block-cover,
.is-layout-constrained>.alignfull,
.is-layout-constrained>.alignwide{
  max-width:none!important;
  width:100%!important;
}

/* ─── HEADER ───────────────────────────────────────────────── */
header.wp-block-group,
.wp-block-template-part header,
.site-header{
  background:var(--tb-w)!important;
  height:72px!important;
  min-height:72px!important;
  padding:0 var(--tb-pad)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  border-bottom:1px solid #EFEFEF!important;
  position:sticky!important;
  top:0!important;
  z-index:500!important;
  width:100%!important;
  max-width:100%!important;
  margin:0!important;
  box-sizing:border-box!important;
  transition:box-shadow var(--tb-dur)!important;
  flex-wrap:nowrap!important;
}
header.wp-block-group.scrolled{box-shadow:0 2px 20px rgba(0,0,0,.07)!important}

/* Logo */
.wp-block-site-logo{line-height:0;flex-shrink:0}
.wp-block-site-logo img{max-height:46px!important;width:auto!important}
.wp-block-site-logo a{display:block}

/* Site title groep */
.wp-block-site-title{margin:0!important;flex-shrink:0}
.wp-block-site-title a{
  font-family:var(--tb-fh)!important;
  font-size:13px!important;
  font-weight:600!important;
  color:var(--tb-k)!important;
  text-decoration:none!important;
  letter-spacing:-0.01em!important;
  display:block!important;
  line-height:1.2!important;
}
/* Subtitel aannemersbedrijf */
header .wp-block-paragraph{
  font-size:9px!important;
  letter-spacing:.14em!important;
  text-transform:uppercase!important;
  color:var(--tb-g4)!important;
  margin:0!important;
  font-family:var(--tb-fb)!important;
}

/* Navigatie */
.wp-block-navigation{flex-shrink:0}
.wp-block-navigation .wp-block-navigation-item__content,
.wp-block-navigation a{
  font-family:var(--tb-fb)!important;
  font-size:13px!important;
  font-weight:400!important;
  color:var(--tb-g5)!important;
  text-decoration:none!important;
  padding:4px 0!important;
  transition:color var(--tb-dur)!important;
  letter-spacing:.01em!important;
}
.wp-block-navigation a:hover,
.wp-block-navigation .current-menu-item>a,
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content{
  color:var(--tb-k)!important;
}
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content{font-weight:500!important}
/* Navigatie inline layout */
.wp-block-navigation__container{
  display:flex!important;
  align-items:center!important;
  gap:36px!important;
  list-style:none!important;
  margin:0!important;
  padding:0!important;
}
.wp-block-navigation-item{list-style:none}
/* Mobiele hamburger */
.wp-block-navigation__responsive-container-open{
  background:none!important;border:none!important;
  cursor:pointer;padding:8px;color:var(--tb-k);display:none;
}

/* ─── KNOPPEN ──────────────────────────────────────────────── */
.wp-block-button__link,
.wp-element-button{
  background:var(--tb-or)!important;
  color:var(--tb-w)!important;
  padding:12px 26px!important;
  font-family:var(--tb-fb)!important;
  font-size:13px!important;
  font-weight:500!important;
  letter-spacing:.02em!important;
  border:none!important;
  border-radius:0!important;
  text-decoration:none!important;
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  cursor:pointer!important;
  transition:background var(--tb-dur)!important;
  line-height:1.2!important;
}
.wp-block-button__link:hover,.wp-element-button:hover{
  background:var(--tb-ord)!important;color:var(--tb-w)!important;
}
/* Button varianten */
.is-style-outline .wp-block-button__link{
  background:transparent!important;color:var(--tb-or)!important;
  border:2px solid var(--tb-or)!important;
}
.is-style-outline .wp-block-button__link:hover{
  background:var(--tb-or)!important;color:var(--tb-w)!important;
}
.is-style-dark .wp-block-button__link{
  background:var(--tb-k)!important;color:var(--tb-w)!important;
}
.is-style-dark .wp-block-button__link:hover{background:var(--tb-k3)!important}
.is-style-ghost .wp-block-button__link{
  background:transparent!important;color:var(--tb-w)!important;
  border:1px solid rgba(255,255,255,.3)!important;
}
.is-style-ghost .wp-block-button__link:hover{border-color:rgba(255,255,255,.7)!important}
.is-style-white .wp-block-button__link{
  background:var(--tb-w)!important;color:var(--tb-or)!important;font-weight:600!important;
}
.is-style-white .wp-block-button__link:hover{opacity:.92!important}
.wp-block-buttons{gap:10px!important;flex-wrap:wrap}

/* ─── EYEBROW ──────────────────────────────────────────────── */
.tb-eyebrow{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--tb-or);font-weight:500;
  display:flex;align-items:center;gap:10px;
  font-family:var(--tb-fb);margin-bottom:18px;line-height:1;
}
.tb-eyebrow::before{
  content:'';display:block;width:22px;height:1.5px;
  background:var(--tb-or);flex-shrink:0;
}
.tb-eyebrow-c{
  font-size:10px;letter-spacing:.22em;text-transform:uppercase;
  color:var(--tb-or);font-weight:500;
  display:flex;align-items:center;justify-content:center;gap:9px;
  font-family:var(--tb-fb);margin-bottom:16px;line-height:1;
}
.tb-eyebrow-c::before,.tb-eyebrow-c::after{
  content:'';display:block;width:16px;height:1px;background:var(--tb-or);
}

/* ─── SECTIES ──────────────────────────────────────────────── */
.tb-gray,.wp-block-group.tb-gray{background:var(--tb-g0)!important}
.tb-white,.wp-block-group.tb-white{background:var(--tb-w)!important}
.tb-dark,.wp-block-group.tb-dark{background:var(--tb-k2)!important}
.tb-dark h1,.tb-dark h2,.tb-dark h3{color:var(--tb-w)}
.tb-dark p,.tb-dark li{color:#999}
.tb-orange,.wp-block-group.tb-orange{background:var(--tb-or)!important}

/* ─── HERO ─────────────────────────────────────────────────── */
.tb-page-hero{
  background:var(--tb-k);
  padding:80px var(--tb-pad) 70px;
  border-bottom:3px solid var(--tb-or);
}
.tb-page-hero h1{color:var(--tb-w);margin-bottom:16px}
.tb-page-hero h1 em{color:var(--tb-or);font-style:italic}
.tb-page-hero p{color:#999;font-size:15px;font-weight:300;max-width:560px;margin:0}

/* ─── USP STRIP ────────────────────────────────────────────── */
.tb-usp-strip{
  background:var(--tb-or);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  width:100%;
}
.tb-usp-item{
  padding:22px 28px;
  border-right:1px solid rgba(255,255,255,.15);
  display:flex;align-items:center;gap:14px;
}
.tb-usp-item:last-child{border-right:none}
.tb-usp-num{
  font-family:var(--tb-fh);font-size:30px;color:var(--tb-w);
  font-weight:300;letter-spacing:-0.04em;flex-shrink:0;line-height:1;
}
.tb-usp-label{font-size:11px;color:rgba(255,255,255,.82);line-height:1.5;font-family:var(--tb-fb)}

/* ─── STATS BAR ────────────────────────────────────────────── */
.tb-stats-bar{
  background:var(--tb-k2);
  display:grid;
  grid-template-columns:repeat(4,1fr);
  padding:52px var(--tb-pad);
  border-top:3px solid var(--tb-or);
  width:100%;
}
.tb-stat{text-align:center;padding:0 20px;border-right:1px solid #252525}
.tb-stat:last-child{border-right:none}
.tb-stat-num{
  font-family:var(--tb-fh);font-size:52px;font-weight:300;
  color:var(--tb-or);letter-spacing:-0.04em;line-height:1;display:block;
}
.tb-stat-label{
  font-size:10px;color:#666;letter-spacing:.1em;
  text-transform:uppercase;margin-top:8px;display:block;font-family:var(--tb-fb);
}

/* ─── SERVICE CARD ─────────────────────────────────────────── */
.tb-service-card{
  background:var(--tb-w);
  overflow:hidden;
  display:flex!important;
  flex-direction:column!important;
}
.tb-service-card-img,
.tb-service-card>.wp-block-image{overflow:hidden;margin:0!important}
.tb-service-card-img img,
.tb-service-card>.wp-block-image img{
  width:100%;height:240px;object-fit:cover;
  transition:transform .35s;display:block;
}
.tb-service-card:hover .tb-service-card-img img,
.tb-service-card:hover>.wp-block-image img{transform:scale(1.04)}
.tb-service-card-body{
  padding:26px 24px 32px;
  border-top:3px solid var(--tb-or);
  flex:1;display:flex;flex-direction:column;
}
.tb-service-tag{
  font-size:9.5px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tb-or);font-weight:500;margin-bottom:10px;display:block;
  font-family:var(--tb-fb);
}
.tb-service-card h3{font-size:20px;margin-bottom:10px;color:var(--tb-k)}
.tb-service-card p{font-size:13px;color:var(--tb-g5);line-height:1.78;margin-bottom:14px;flex:1}
.tb-service-link{
  font-size:12px;color:var(--tb-or);font-weight:500;
  text-decoration:none;display:inline-flex;align-items:center;
  gap:5px;transition:gap var(--tb-dur);margin-top:auto;
}
.tb-service-link::after{content:'→'}
.tb-service-link:hover{gap:9px;color:var(--tb-ord)}

/* ─── PROJECT CARD ─────────────────────────────────────────── */
.tb-project-card{
  background:var(--tb-w);overflow:hidden;display:block;
  text-decoration:none;transition:transform .25s;
}
.tb-project-card:hover{transform:translateY(-3px)}
.tb-project-card-img{position:relative;overflow:hidden}
.tb-project-card-img img,
.tb-project-card>.wp-block-image img{
  width:100%;aspect-ratio:4/3;object-fit:cover;
  transition:transform .35s;display:block;
}
.tb-project-card:hover .tb-project-card-img img{transform:scale(1.05)}
.tb-overlay{
  position:absolute;inset:0;
  background:rgba(13,13,13,0);
  transition:background .25s;
  display:flex;align-items:center;justify-content:center;
}
.tb-project-card:hover .tb-overlay{background:rgba(13,13,13,.32)}
.tb-overlay-btn{
  background:var(--tb-or);color:var(--tb-w);
  padding:10px 20px;font-size:11px;font-weight:500;
  font-family:var(--tb-fb);opacity:0;
  transition:opacity .25s;letter-spacing:.03em;
}
.tb-project-card:hover .tb-overlay-btn{opacity:1}
.tb-project-card-body{padding:16px 16px 22px;border-top:3px solid var(--tb-or)}
.tb-tags{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:9px}
.tb-tag{
  font-size:8.5px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--tb-ord);background:var(--tb-orp);padding:2px 8px;font-weight:500;
}
.tb-project-card h3{
  font-family:var(--tb-fh);font-size:15px;font-weight:400;
  color:var(--tb-k);margin:0 0 3px;letter-spacing:-0.01em;line-height:1.3;
}
.tb-project-card-sub{font-size:11px;color:var(--tb-g4)}

/* ─── REVIEW CARD ──────────────────────────────────────────── */
.tb-review-card{
  background:var(--tb-w);
  padding:32px 28px;
  position:relative;
  display:flex!important;
  flex-direction:column;
}
.tb-review-card::before{
  content:'';position:absolute;top:0;left:0;right:0;
  height:3px;background:var(--tb-or);
}
.tb-stars{color:var(--tb-or);font-size:12px;letter-spacing:.1em;margin-bottom:10px;display:block}
.tb-quote-mark{
  font-size:48px;font-family:var(--tb-fh);color:var(--tb-g2);
  line-height:.75;margin-bottom:12px;display:block;
}
.tb-review-text{
  font-size:13.5px;color:#3A3A3A;line-height:1.85;
  font-style:italic;margin-bottom:16px;flex:1;
}
.tb-review-author{
  font-size:10.5px;font-weight:600;color:var(--tb-k);
  text-transform:uppercase;letter-spacing:.07em;
  display:flex;align-items:center;gap:9px;
}
.tb-review-author::before{
  content:'';display:block;width:14px;height:1px;background:var(--tb-or);
}

/* Google Reviews badge */
.tb-google-badge{
  display:flex;align-items:center;gap:10px;
  background:var(--tb-w);border:1px solid #e0e0e0;
  padding:10px 16px;margin-bottom:28px;font-family:var(--tb-fb);
}
.tb-google-badge img{width:66px;height:auto}
.tb-google-badge-stars{color:#fbbc04;font-size:14px;letter-spacing:.05em}
.tb-google-badge-text{font-size:11px;color:var(--tb-g5);line-height:1.4}
.tb-google-badge-score{font-size:18px;font-weight:700;color:var(--tb-k);font-family:var(--tb-fh)}

/* ─── PROCES STAPPEN ───────────────────────────────────────── */
.tb-process-step{
  padding:36px 28px;
  border-right:var(--tb-ln);
  position:relative;
  background:var(--tb-w);
}
.tb-process-step:last-child{border-right:none}
.tb-process-num{
  font-family:var(--tb-fh);font-size:52px;font-weight:300;
  color:var(--tb-g2);line-height:1;margin-bottom:18px;
  letter-spacing:-0.04em;display:block;
}
.tb-process-dot{
  position:absolute;top:54px;right:-5px;
  width:9px;height:9px;background:var(--tb-or);
  border-radius:0;display:block;
}
.tb-process-title{font-size:14px;font-weight:600;color:var(--tb-k);margin-bottom:8px;display:block}
.tb-process-text{font-size:13px;color:var(--tb-g5);line-height:1.75;margin:0}

/* ─── CTA BALKEN ───────────────────────────────────────────── */
.tb-cta{
  background:var(--tb-or);
  padding:60px var(--tb-pad);
  display:flex;align-items:center;
  justify-content:space-between;gap:40px;flex-wrap:wrap;
  width:100%;
}
.tb-cta h2{color:var(--tb-w);font-weight:300;margin-bottom:8px;font-size:clamp(22px,3vw,34px)}
.tb-cta p{color:rgba(255,255,255,.85);font-size:14px;margin:0}
.tb-cta-dark{background:var(--tb-k2);border-top:3px solid var(--tb-or)}
.tb-cta-dark h2,.tb-cta-dark p{color:var(--tb-w)}
.tb-cta-strip{
  background:var(--tb-or);
  padding:22px var(--tb-pad);
  display:flex;align-items:center;
  justify-content:space-between;flex-wrap:wrap;gap:16px;width:100%;
}
.tb-cta-strip p{color:var(--tb-w);margin:0;font-size:15px;font-weight:500}

/* ─── BULLET LIST ──────────────────────────────────────────── */
.tb-bullet-list,.wp-block-list.tb-bullet-list{list-style:none!important;padding:0!important;margin:0 0 24px}
.tb-bullet-list li,.wp-block-list.tb-bullet-list li{
  font-size:13.5px;color:#3A3A3A;
  padding:8px 0 8px 20px;
  position:relative;border-bottom:var(--tb-ln);
}
.tb-bullet-list li:last-child,.wp-block-list.tb-bullet-list li:last-child{border:none}
.tb-bullet-list li::before,.wp-block-list.tb-bullet-list li::before{
  content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);
  width:9px;height:2px;background:var(--tb-or);
}

/* ─── CHECK LIST ───────────────────────────────────────────── */
.tb-check-list{display:flex;flex-direction:column;gap:10px;margin-bottom:28px}
.tb-check-item{display:flex;align-items:flex-start;gap:12px}
.tb-check-dot{width:16px;height:16px;background:var(--tb-or);flex-shrink:0;margin-top:2px;display:block}
.tb-check-text{font-size:13.5px;color:var(--tb-w);line-height:1.55}

/* ─── PULL QUOTE ───────────────────────────────────────────── */
.wp-block-pullquote.tb-pq,blockquote.tb-pq{
  border-left:3px solid var(--tb-or)!important;
  border-top:none!important;border-right:none!important;border-bottom:none!important;
  padding:16px 24px;background:rgba(255,255,255,.06);margin:24px 0;
}
.wp-block-pullquote.tb-pq blockquote p,.tb-pq p{
  font-size:14px;color:rgba(255,255,255,.75);font-style:italic;line-height:1.8;margin:0;
}
.wp-block-pullquote.tb-pq blockquote cite,.tb-pq cite{
  font-size:11px;color:var(--tb-or);font-style:normal;margin-top:8px;display:block;
}

/* ─── SPLIT MEDIA TEXT ─────────────────────────────────────── */
.wp-block-media-text{margin:0!important;max-width:100%!important;width:100%!important}
.wp-block-media-text .wp-block-media-text__media{margin:0}
.wp-block-media-text .wp-block-media-text__media img{width:100%;height:100%;object-fit:cover}
.wp-block-media-text .wp-block-media-text__content{padding:80px var(--tb-pad)!important}

/* ─── TRUST BAR ────────────────────────────────────────────── */
.tb-trust-bar{
  background:var(--tb-g1);padding:16px var(--tb-pad);
  display:flex;gap:24px;justify-content:center;flex-wrap:wrap;
  border-bottom:var(--tb-ln);width:100%;
}
.tb-trust-item{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--tb-g6);font-weight:500}
.tb-trust-dot{width:10px;height:10px;background:var(--tb-or);flex-shrink:0;display:block}

/* ─── KERNWAARDEN ──────────────────────────────────────────── */
.tb-value-card{background:var(--tb-w);padding:30px 26px;border-top:3px solid var(--tb-or)}
.tb-value-icon{width:34px;height:34px;background:var(--tb-orp);margin-bottom:16px}
.tb-value-title{font-size:13.5px;font-weight:600;color:var(--tb-k);margin-bottom:7px;display:block}
.tb-value-text{font-size:13px;color:var(--tb-g5);line-height:1.75}

/* ─── PROJECT META SIDEBAR ─────────────────────────────────── */
.tb-proj-meta{background:var(--tb-g0);padding:26px;border-top:3px solid var(--tb-or)}
.tb-proj-meta h4{
  font-size:9px;letter-spacing:.14em;text-transform:uppercase;
  color:var(--tb-or);margin-bottom:14px;font-weight:600;
}
.tb-meta-row{display:flex;justify-content:space-between;padding:8px 0;border-bottom:var(--tb-ln);font-size:12.5px}
.tb-meta-row:last-child{border:none}
.tb-meta-label{color:var(--tb-g4)}
.tb-meta-value{color:var(--tb-k);font-weight:500;text-align:right;max-width:58%}
.tb-proj-sidebar{position:sticky;top:88px}

/* ─── CONTACT INFO ─────────────────────────────────────────── */
.tb-contact-info{background:var(--tb-k2);padding:64px var(--tb-pad)}
.tb-contact-info h2{color:var(--tb-w);margin-bottom:36px}
.tb-contact-item{display:flex;gap:16px;margin-bottom:26px;align-items:flex-start}
.tb-contact-icon{
  width:40px;height:40px;background:var(--tb-or);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;margin-top:2px;
}
.tb-contact-icon svg{width:16px;height:16px;fill:var(--tb-w)}
.tb-ci-label{font-size:9px;text-transform:uppercase;letter-spacing:.12em;color:var(--tb-or);margin-bottom:4px;font-weight:600;display:block}
.tb-ci-val{font-size:14px;color:var(--tb-w);display:block;text-decoration:none;line-height:1.4}
.tb-ci-val:hover{color:var(--tb-or)}
.tb-ci-sub{font-size:11.5px;color:#555;margin-top:3px;display:block}

/* ─── FORMULIEREN ──────────────────────────────────────────── */
.tb-form-group{margin-bottom:14px}
.tb-form-group label{
  font-size:9px;font-weight:600;color:var(--tb-g6);
  letter-spacing:.1em;text-transform:uppercase;display:block;margin-bottom:6px;
}
.tb-form-group label span{color:var(--tb-or)}
.tb-form-group input,
.tb-form-group textarea,
.tb-form-group select{
  width:100%;padding:11px 14px;
  border:1px solid var(--tb-g2);
  font-size:13.5px;font-family:var(--tb-fb);
  color:var(--tb-k);background:var(--tb-w);
  outline:none;transition:border-color var(--tb-dur);
  border-radius:0;-webkit-appearance:none;appearance:none;
}
.tb-form-group input:focus,
.tb-form-group textarea:focus,
.tb-form-group select:focus{
  border-color:var(--tb-or);box-shadow:0 0 0 3px rgba(224,112,0,.1);
}
.tb-form-group textarea{resize:vertical;min-height:100px}
.tb-form-2col{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tb-btn-submit{
  display:block;width:100%;background:var(--tb-or);color:var(--tb-w);
  padding:14px;text-align:center;font-size:13.5px;font-weight:500;
  font-family:var(--tb-fb);border:none;cursor:pointer;
  transition:background var(--tb-dur);border-radius:0;margin-top:8px;letter-spacing:.02em;
}
.tb-btn-submit:hover{background:var(--tb-ord)}
.tb-form-note{font-size:11px;color:var(--tb-g4);text-align:center;margin-top:10px}
.tb-form-success{background:var(--tb-g0);padding:32px;text-align:center;border-top:3px solid var(--tb-or)}
.tb-success-icon{font-size:32px;color:var(--tb-or);margin-bottom:10px;display:block}
.tb-form-errors{background:#fff5f5;border-left:3px solid #e53e3e;padding:12px 16px;margin-bottom:16px}
.tb-form-errors p{color:#c53030;font-size:13px;margin:0}
.tb-error{color:#c53030;font-size:12.5px;margin:4px 0}
.tb-offerte-title{font-family:var(--tb-fh);font-size:22px;font-weight:400;color:var(--tb-k);margin-bottom:6px}
.tb-offerte-sub{font-size:13px;color:var(--tb-g5);margin-bottom:20px}
.tb-form-wrap,.tb-offerte-wrap{font-family:var(--tb-fb)}

/* ─── FOOTER ───────────────────────────────────────────────── */
footer.wp-block-group,
.wp-block-template-part footer,
.site-footer{
  background:var(--tb-k2)!important;
  width:100%!important;
  max-width:100%!important;
}
.tb-footer-grid{
  display:grid;
  grid-template-columns:2fr 1fr 1fr 1fr;
  gap:52px;
  padding:64px var(--tb-pad) 40px;
  width:100%;
}
/* Footer brand kolom */
.tb-footer-brand h3{
  font-family:var(--tb-fh);font-size:15px;font-weight:300;
  margin-bottom:12px;color:var(--tb-w);line-height:1.4;
}
.tb-footer-brand p{font-size:12.5px;color:#666;line-height:1.85;margin-bottom:0}
.tb-social{display:flex;gap:8px;margin-top:18px}
.tb-social a{
  width:34px;height:34px;background:#222;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;color:#666;text-decoration:none;font-weight:600;
  transition:all var(--tb-dur);
}
.tb-social a:hover{background:var(--tb-or);color:var(--tb-w)}
/* Footer kolommen */
.tb-footer-col h4{
  font-size:9px;letter-spacing:.16em;text-transform:uppercase;
  color:var(--tb-or);margin-bottom:16px;font-weight:600;
  font-family:var(--tb-fb);display:block;
  padding-bottom:10px;border-bottom:1px solid #252525;
}
.tb-footer-col a{
  display:block;font-size:12.5px;color:#666;
  text-decoration:none;margin-bottom:9px;
  transition:color var(--tb-dur);
}
.tb-footer-col a:hover{color:var(--tb-w)}
.tb-footer-col p{font-size:12.5px;color:#666;line-height:1.9;margin:0}
/* Footer bottom */
.tb-footer-bottom{
  padding:20px var(--tb-pad);
  border-top:1px solid #222;
  display:flex;justify-content:space-between;
  align-items:center;font-size:11px;color:#444;
  flex-wrap:wrap;gap:8px;width:100%;
}
.tb-footer-bottom a{color:#444;text-decoration:none}
.tb-footer-bottom a:hover{color:#777}

/* ─── LIGHTBOX ─────────────────────────────────────────────── */
.tb-lb{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.96);z-index:9999;
  align-items:center;justify-content:center;flex-direction:column;gap:16px;
}
.tb-lb.open{display:flex}
.tb-lb-close{
  position:absolute;top:20px;right:26px;background:none;border:none;
  color:rgba(255,255,255,.5);font-size:32px;cursor:pointer;transition:color var(--tb-dur);
}
.tb-lb-close:hover{color:var(--tb-w)}
.tb-lb img{max-width:80vw;max-height:78vh;object-fit:contain}
.tb-lb-controls{display:flex;align-items:center;gap:18px}
.tb-lb-btn{
  background:rgba(255,255,255,.1);color:var(--tb-w);
  border:1px solid rgba(255,255,255,.15);
  width:44px;height:44px;display:flex;align-items:center;
  justify-content:center;cursor:pointer;font-size:18px;
  transition:background var(--tb-dur);
}
.tb-lb-btn:hover{background:var(--tb-or);border-color:var(--tb-or)}
.tb-lb-count{font-size:11.5px;color:rgba(255,255,255,.4);min-width:52px;text-align:center}

/* ─── FILTER ───────────────────────────────────────────────── */
.tb-filter{display:flex;border-bottom:var(--tb-ln);margin-bottom:40px;flex-wrap:wrap}
.tb-filter-btn{
  padding:12px 22px;font-size:10.5px;font-weight:500;letter-spacing:.07em;
  text-transform:uppercase;cursor:pointer;color:var(--tb-g4);
  border:none;border-bottom:2px solid transparent;margin-bottom:-1px;
  background:none;font-family:var(--tb-fb);transition:color var(--tb-dur);
}
.tb-filter-btn:hover{color:var(--tb-g6)}
.tb-filter-btn.on{color:var(--tb-or);border-bottom-color:var(--tb-or)}

/* ─── WP QUERY BLOKKEN ─────────────────────────────────────── */
.wp-block-post{background:var(--tb-w);overflow:hidden}
.wp-block-post-featured-image img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.wp-block-post-title a{
  font-family:var(--tb-fh);font-size:16px;font-weight:400;
  color:var(--tb-k);text-decoration:none;letter-spacing:-0.01em;
}
.wp-block-post-title a:hover{color:var(--tb-or)}
.wp-block-post-excerpt p{font-size:12.5px;color:var(--tb-g5);margin:6px 0 0}

/* ─── LP HEADER ────────────────────────────────────────────── */
.tb-lp-header{
  background:var(--tb-w);height:66px;
  padding:0 var(--tb-pad);
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:3px solid var(--tb-or);width:100%;
}
.tb-lp-phone{font-size:17px;font-weight:700;color:var(--tb-k);font-family:var(--tb-fh)}

/* ─── BREADCRUMB ───────────────────────────────────────────── */
.tb-breadcrumb{display:flex;align-items:center;gap:8px;margin-bottom:18px;flex-wrap:wrap}
.tb-breadcrumb a,.tb-breadcrumb span{font-size:11px;color:#888;text-decoration:none}
.tb-breadcrumb a:hover{color:var(--tb-or)}
.tb-breadcrumb .sep{color:#404040}
.tb-breadcrumb .cur{color:var(--tb-or);font-weight:500}

/* ─── SECTIONS PADDING HELPER ──────────────────────────────── */
.tb-section{padding:80px var(--tb-pad)}
.tb-section-sm{padding:52px var(--tb-pad)}

/* ─── RESPONSIVE ───────────────────────────────────────────── */
@media(max-width:1024px){
  :root{--tb-pad:40px}
  .tb-footer-grid{grid-template-columns:1fr 1fr;gap:32px}
}
@media(max-width:900px){
  :root{--tb-pad:24px}
  header.wp-block-group,
  .wp-block-template-part header,
  .site-header{height:62px!important}
  .wp-block-navigation__responsive-container-open{display:flex!important}
  .tb-usp-strip{grid-template-columns:repeat(2,1fr)}
  .tb-stats-bar{grid-template-columns:repeat(2,1fr);padding:36px var(--tb-pad)}
  .tb-stat{border-right:none;border-bottom:1px solid #252525;padding:16px 0}
  .tb-stat:nth-child(2n){border-right:none}
  .tb-cta,.tb-cta-strip{flex-direction:column;align-items:flex-start;gap:24px}
  .tb-form-2col{grid-template-columns:1fr}
  .wp-block-media-text .wp-block-media-text__content{padding:48px var(--tb-pad)!important}
  .wp-block-columns{flex-direction:column!important}
  .wp-block-column{width:100%!important;flex-basis:100%!important;min-width:0!important}
}
@media(max-width:600px){
  :root{--tb-pad:20px}
  .tb-usp-strip{grid-template-columns:1fr}
  .tb-stats-bar{grid-template-columns:1fr}
  .tb-footer-grid{grid-template-columns:1fr;gap:28px;padding:40px var(--tb-pad) 24px}
  h1{font-size:32px}
  h2{font-size:24px}
}
/* Accessibility */
:focus-visible{outline:2px solid var(--tb-or);outline-offset:2px}
