/* Eén gecontroleerde Poppins-familie voor alle pagina's en componenten. */
@font-face { font-family: 'Techhulp Poppins'; font-style: normal; font-weight: 400; font-display: swap; src: url('/assets/fonts/poppins-latin-400-normal.woff2') format('woff2'); }
@font-face { font-family: 'Techhulp Poppins'; font-style: normal; font-weight: 500; font-display: swap; src: url('/assets/fonts/poppins-latin-500-normal.woff2') format('woff2'); }
@font-face { font-family: 'Techhulp Poppins'; font-style: normal; font-weight: 600; font-display: swap; src: url('/assets/fonts/poppins-latin-600-normal.woff2') format('woff2'); }
:root { --font-body-family: 'Techhulp Poppins',sans-serif; --font-heading-family: 'Techhulp Poppins',sans-serif; --font-body-weight:400; --font-heading-weight:500; --font-body-weight-bold:500; --th-ease:cubic-bezier(.22,.61,.36,1); }
html { scroll-behavior: smooth; scroll-padding-top: 115px; }
body, body * { font-family: 'Techhulp Poppins',Poppins,sans-serif !important; font-weight: 400 !important; font-synthesis: none; }
body :is(h1,h2,h3,h4,h5,h6,.th-about__title,.th-contact__title,.th-webconfig__title) { font-weight: 500 !important; letter-spacing: -.025em; }
body :is(h3,h4,strong,b,.service-title,.th-choice-card__title,.th-r__name,.th-plan-card__price,.th-summary__total) { font-weight: 500 !important; }
body :is(.services-head h1,.services-head h2,.th-contact__title,.th-about__title,.th-webconfig__title) { font-size: clamp(32px,4vw,46px) !important; line-height: 1.2 !important; }
body .service-title { font-size: 20px; line-height: 1.4; }
body .service-text { font-size: 15px; line-height: 1.8; }
body .service-cta { font-size: 13px; }
body .th-r__text { font-size: 19px; line-height: 1.8; letter-spacing: -.01em; }
body .th-r__title { font-size: clamp(32px,4vw,46px); }
body .th-contact__flabel { font-size: 12px; }
body .th-webconfig__text { font-size: 16px !important; line-height: 1.8 !important; }
body .th-choice-card__title, body .th-plan-card__head h4 { font-size: 17px !important; }
body .th-plan-card__price { font-size: 30px !important; }
body .th-step__label { font-size: 12px; }
body .service-card { transition: transform .5s var(--th-ease),box-shadow .5s var(--th-ease),border-color .5s var(--th-ease); }
body .service-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px #2944330c; }
body :is(.th-btn,.hero-btn,.th-about__btn,.th-contact__submit,.tbtn,.day,.dur-btn,.mode-btn) { transition: background .28s ease,color .28s ease,border-color .28s ease,box-shadow .38s ease,transform .38s var(--th-ease); }
body .th-r__stage, body .th-r__text { transition: height .55s var(--th-ease); }

/* Optische glasranden; de inhoud blijft een gewone toegankelijke navigatie. */
body .th-header {
  background: rgba(255,255,255,.65); border: 1px solid #ffffffba; border-radius: 25px;
  -webkit-backdrop-filter: blur(24px) saturate(160%); backdrop-filter: blur(24px) saturate(160%);
  box-shadow: 0 8px 28px #1b36200d,inset 0 1px 0 #fff,inset 1px 0 2px #fff9,inset -1px 0 2px #fff9,inset 0 -1px 0 rgba(var(--th-brand-accent-rgb),0.071);
  isolation: isolate;
}
body .th-header::before { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none; background:linear-gradient(100deg,#ffffffa1,transparent 7%,transparent 92%,#ffffffc2); z-index:0; }
body .th-header::after { content:''; position:absolute; inset:1px; border-radius:inherit; pointer-events:none; box-shadow:inset 8px 0 9px -8px #fff,inset -8px 0 9px -8px #fff,inset 0 1px 0 #fff9; z-index:1; }
.th-glass-edge { position:absolute; top:2px; bottom:2px; width:22px; z-index:0; pointer-events:none; -webkit-backdrop-filter:blur(1.5px) saturate(180%) contrast(112%); backdrop-filter:blur(1.5px) saturate(180%) contrast(112%); transform:scaleX(1.06); }
.th-glass-edge--left { left:2px; border-radius:24px 5px 5px 24px; box-shadow:inset 3px 0 3px #fff9; }
.th-glass-edge--right { right:2px; border-radius:5px 24px 24px 5px; box-shadow:inset -3px 0 3px #fff9; }
body .th-header>.th-container { position:relative; z-index:2; }
body .th-header__right { display:flex; gap:16px; align-items:center; }
body .th-header__rating { display:flex; align-items:center; min-height:40px; padding:0 2px; color:var(--th-brand-accent); text-decoration:none; }
body .th-header__rating>span { display:flex; gap:2px; }
body .th-header__rating svg { width:12px; height:12px; transition:transform .3s var(--th-ease); }
body .th-header__rating:hover svg { transform:translateY(-2px); }
body .th-header__rating:hover svg:nth-child(2) { transition-delay:30ms; }
body .th-header__rating:hover svg:nth-child(3) { transition-delay:60ms; }
body .th-header__rating:hover svg:nth-child(4) { transition-delay:90ms; }
body .th-header__rating:hover svg:nth-child(5) { transition-delay:120ms; }

/* De nieuwe foto staat op de hero, met een zachte groene cirkel erachter. */
body .hero-techhulp { padding-top:58px; }
body .hero-wrap { min-height:570px; }
body .hero-title { font-size:clamp(46px,5.1vw,68px); line-height:1.18; }
body .hero-content { width:59%; max-width:700px; }
body .hero-media::before { content:''; position:absolute; width:430px; height:430px; bottom:48px; right:max(22px,calc((100vw - 1190px)/2)); border:52px solid #e6f2e9; border-radius:50%; box-sizing:border-box; opacity:.85; }
body .hero-circle { width:min(48vw,560px); height:min(43vw,500px); overflow:visible; right:max(0px,calc((100vw - 1250px)/2)); z-index:2; }
body .hero-circle img { filter:saturate(.78) brightness(.96); }
body .hero-techhulp::after { content:''; position:absolute; bottom:52px; left:0; right:0; height:1px; background:#e1eae3; z-index:0; box-shadow:0 4px 12px #284e320a; }
body .th-about__circlewrap { overflow:hidden; border-radius:50%; }
body .th-about__img { width:150%; height:150%; max-width:none; left:-14.5%; top:-8%; right:auto; bottom:auto; border-radius:0; object-fit:cover; object-position:50% 30%; }

/* Contact: directe links en één duidelijke WhatsApp-actie. */
body .th-contact__grid { grid-template-columns:.85fr 1.15fr; gap:36px; }
body .th-contact__infoinner { background:linear-gradient(130deg,#f0f7f2,#e4f1e8); border:1px solid #e0ece3; border-radius:24px; color:#213e2d; padding:30px; min-height:100%; }
body .th-contact__infoinner::before { display:none; }
body .th-contact__infotitle { margin:0 0 14px; font-size:26px; line-height:1.3; color:#213e2d; }
body .th-contact__infotext { margin:0; font-size:15px; color:#50665a; line-height:1.85; max-width:34ch; }
.contact-direct { margin-top:28px; display:grid; gap:0; }
.contact-direct__row { display:flex; align-items:center; gap:15px; padding:20px 0; border-bottom:1px solid #bfd4c64d; color:#234b32; text-decoration:none; min-width:0; }
.contact-direct__row>svg { width:23px; height:23px; flex:0 0 23px; }
.contact-direct__row>span:nth-child(2) { display:grid; gap:5px; min-width:0; flex:1; }
.contact-direct__row small { font-size:11px; color:#6c8072; }
.contact-direct__row>span span { font-size:14px; overflow-wrap:anywhere; }
.contact-direct__row>span:last-child { font-size:17px; color:#6a8975; }
.contact-whatsapp { display:flex; align-items:center; justify-content:center; gap:12px; padding:15px 18px; border:1px solid var(--th-brand-accent); border-radius:13px; margin-top:28px; background:var(--th-brand-accent); color:#fff; text-decoration:none; font-size:14px; transition:background .3s ease,transform .4s var(--th-ease); }
.contact-whatsapp:hover { background:var(--th-brand-hover); transform:translateY(-2px); }
.contact-whatsapp svg { width:21px; height:21px; }
.contact-whatsapp>span:last-child { margin-left:auto; }
.contact-area { margin:26px 0 0; display:flex; gap:13px; align-items:center; color:#516b59; font-size:13px; line-height:1.9; }
.contact-area svg { width:21px; height:21px; flex:0 0 21px; }
.contact-area small { color:#7b8d81; font-size:11px; }
body .th-contact__forminner { border:1px solid #e0e9e2; box-shadow:none; border-radius:24px; padding:30px; }
body .th-contact__input,body .th-contact__textarea { background:#fbfdfb; border-color:#dce6df; border-radius:11px; font-size:14px; }
body .th-contact__input:focus,body .th-contact__textarea:focus { box-shadow:0 0 0 3px rgba(var(--th-brand-accent-rgb),0.102); border-color:#80af8f; }

/* Laden toont de toestand van de echte aanvraag, geen gesimuleerd percentage. */
.agenda-loading { padding-top:24px; }
.agenda-loading__label { display:block; font-size:12px; color:#617e6b; margin-bottom:18px; }
.agenda-loading__track { width:100%; height:4px; border-radius:99px; background:#a5c2ae30; overflow:hidden; }
.agenda-loading__bar { display:block; width:45%; height:100%; border-radius:99px; background:linear-gradient(90deg,#86ba98,var(--th-brand-accent),#86ba98); animation:agenda-loading 1.35s cubic-bezier(.45,0,.55,1) infinite; }
@keyframes agenda-loading { 0%{transform:translateX(-120%)} 100%{transform:translateX(330%)} }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .agenda-calendar { min-height:400px; }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .loader { min-height:300px; padding:28px; }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .cal { animation:agenda-enter .4s var(--th-ease) both; }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .times { animation:agenda-enter .4s var(--th-ease) both; }
@keyframes agenda-enter { from {opacity:.35;transform:translateY(6px)} to {opacity:1;transform:translateY(0)} }

/* Informatieve pagina's: een leesbare kolom met concrete stappen. */
.guide-hub,.guide-article { max-width:1180px; margin:auto; padding:56px 26px 80px; }
.guide-hero { margin-bottom:46px; max-width:850px; }
.guide-hero h1 { font-size:clamp(34px,4vw,50px); line-height:1.2; margin:15px 0 22px; color:#1e3527; }
.guide-intro { font-size:17px; line-height:1.85; color:#617166; max-width:65ch; }
.guide-category { color:var(--th-brand-accent); font-size:12px; letter-spacing:.02em; margin:24px 0 0; }
.guide-back { color:#6d7b71; text-decoration:none; font-size:12px; }
.guide-row { display:grid; grid-template-columns:140px 1fr 32px; align-items:start; gap:28px; padding:30px 0; border-top:1px solid #dfe8e1; text-decoration:none; color:#223d2c; transition:color .3s; }
.guide-row h2 { font-size:23px; line-height:1.5; margin:0 0 10px; font-weight:500 !important; }
.guide-row p { font-size:14px; line-height:1.85; color:#6d7d72; margin:0; }
.guide-row__category { font-size:12px; color:#768b7c; padding-top:6px; }
.guide-row__arrow { font-size:24px; transition:transform .4s var(--th-ease); }
.guide-row:hover .guide-row__arrow { transform:translate(3px,-3px); }
.guide-layout { display:grid; grid-template-columns:minmax(0,730px) minmax(220px,280px); gap:70px; align-items:start; }
.guide-body section { margin-bottom:38px; }
.guide-body h2 { font-size:23px; line-height:1.45; margin:0 0 18px; font-weight:500 !important; color:#2c4535; }
.guide-body p { font-size:16px; line-height:1.95; color:#536259; margin:0 0 16px; }
.guide-body a { color:var(--th-brand-accent); text-underline-offset:4px; }
.guide-source { font-size:12px !important; border-top:1px solid #e3eae5; padding-top:24px; }
.guide-help { position:sticky; top:120px; padding:25px; background:#eef6f0; border:1px solid #e2ede5; border-radius:20px; }
.guide-help h2 { font-size:21px; line-height:1.4; margin:0 0 14px; font-weight:500 !important; }
.guide-help p { font-size:13px; line-height:1.9; color:#64796b; margin-bottom:22px; }
.guide-help>a { display:block; width:fit-content; margin-top:16px; font-size:12px; color:var(--th-brand-accent); text-decoration:none; }
.guide-help>a.th-btn { color:#fff; }
.home-guides { max-width:1200px; margin:46px auto 0; padding:28px 0 0; border-top:1px solid #e2ebe5; display:flex; align-items:start; justify-content:space-between; gap:30px; }
.home-guides h3 { margin:0 0 8px; font-size:20px; color:#264731; }
.home-guides p { margin:0; font-size:13px; color:#718077; line-height:1.8; }
.home-guides>div:last-child { display:grid; gap:10px; min-width:245px; }
.home-guides a { font-size:13px; color:var(--th-brand-accent); text-decoration:none; display:flex; gap:30px; justify-content:space-between; }
.service-followup { max-width:1180px; margin:0 auto 76px; border-top:1px solid #e1eae4; padding:40px 26px 0; }
.service-followup h2 { font-size:30px; line-height:1.3; margin:0 0 18px; }
.service-followup p { font-size:15px; color:#6d7b71; line-height:1.8; }
.service-followup .text-link { display:inline-block; margin-left:24px; font-size:13px; color:var(--th-brand-accent); }
body .th-footer__cols { grid-template-columns:1.6fr 1fr 1.1fr 1.1fr; gap:34px; }
body .th-footer__guides .th-footer__nav { grid-template-columns:1fr; }
body .th-footer__link { font-size:12px; }
body .th-footer__col:last-child { grid-column:auto; }

@media(max-width:1200px) and (min-width:991px) {
 body .th-header__inner { gap:10px; }
 body .th-header__right { gap:10px; }
 body .th-nav__list { column-gap:2px; }
 body .th-nav__link { font-size:12px; padding-inline:6px; }
 body .th-logo { max-width:115px !important; }
 body .th-btn { font-size:12px; padding-inline:11px; }
 body .th-header__rating svg { width:10px; }
}
@media(max-width:990px) {
 body .th-header { border-radius:22px; }
 body .th-header__inner { grid-template-columns:1fr auto; }
 body .th-header__right { gap:18px; }
 body .th-header__rating svg { width:11px; }
 body .th-footer__cols { grid-template-columns:1.4fr 1fr; gap:38px; }
 .guide-layout { grid-template-columns:minmax(0,1fr) 250px; gap:35px; }
}
@media(max-width:900px) {
 body .hero-techhulp { padding-top:34px; }
 body .hero-wrap { min-height:0; }
 body .hero-content { width:100%; max-width:640px; }
 body .hero-title { font-size:clamp(36px,7.7vw,58px); }
 body .hero-media { height:320px; }
 body .hero-circle { width:345px; height:316px; right:50%; transform:translateX(50%); }
 body .hero-media::before { width:285px; height:285px; bottom:30px; right:50%; transform:translateX(50%); border-width:36px; }
 body .hero-techhulp::after { bottom:32px; }
 body .th-contact__grid { grid-template-columns:1fr; gap:24px; }
 body .th-contact__infoinner { min-height:auto; }
 body .th-about__visual { min-height:0; }
 .guide-layout { grid-template-columns:1fr; }
 .guide-help { position:static; max-width:550px; }
}
@media(max-width:600px) {
 .guide-hub,.guide-article { padding:34px 22px 54px; }
 .guide-hero { margin-bottom:30px; }
 .guide-hero h1 { font-size:34px; }
 .guide-intro { font-size:15px; }
 .guide-row { grid-template-columns:1fr 24px; gap:10px; padding:24px 0; }
 .guide-row__category { grid-column:1/-1; font-size:11px; }
 .guide-row h2 { font-size:20px; }
 .guide-row p { font-size:13px; }
 .guide-body p { font-size:15px; }
 .guide-body h2 { font-size:22px; }
 .home-guides { flex-direction:column; gap:22px; }
 .home-guides>div:last-child { width:100%; min-width:0; }
 .service-followup .text-link { margin:20px 0 0; }
 body .th-contact__infoinner,body .th-contact__forminner { padding:24px; }
 body .th-r__text { font-size:17px; }
 body .th-footer__cols { grid-template-columns:1fr; gap:30px; }
 body .th-footer__col:first-child .th-footer__nav { grid-template-columns:1fr 1fr; }
 body .th-footer__guides .th-footer__nav { grid-template-columns:1fr 1fr; }
 body .th-header__right { gap:12px; }
 body .th-logo { max-width:118px !important; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto; }
 body *,body *::before,body *::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; }
}
body :is(h1,h2,h3,h4) * { font-weight: inherit !important; }
body .th-contact__formcard { background:#fff; border:1px solid #e0e9e2; border-radius:24px; box-shadow:none; padding:30px; }
@media(max-width:600px) { body .th-contact__formcard { padding:24px; } }

/* Rustige paginawissels: de vaste header blijft buiten de blur. */
body main { transition:filter .42s cubic-bezier(.22,.61,.36,1),opacity .42s cubic-bezier(.22,.61,.36,1); }
html.th-page-leaving main,html.th-page-entering main { filter:blur(7px); opacity:.42; will-change:filter,opacity; }
.th-page-loader { display:none; position:fixed; inset:0; z-index:70; background:#f6faf72b; align-items:center; justify-content:center; pointer-events:all; }
html.th-page-leaving .th-page-loader,html.th-page-loading .th-page-loader { display:flex; }
.th-page-loader__track { width:110px; height:3px; border-radius:99px; background:rgba(var(--th-brand-accent-rgb),0.141); overflow:hidden; box-shadow:0 0 20px #ffffff80; }
.th-page-loader__bar { display:block; width:45%; height:100%; border-radius:99px; background:var(--th-brand-accent); animation:agenda-loading 1.2s cubic-bezier(.45,0,.55,1) infinite; }
@media(prefers-reduced-motion:reduce) {
 html.th-page-leaving main,html.th-page-entering main { filter:none;opacity:1; }
 .th-page-loader { display:none !important; }
}

/* Eén glasvlak, zonder de losse lenzen die aan de zijkant vervormden. */
body .th-header {
  top:14px; left:16px; right:16px; width:calc(100% - 32px); max-width:1380px; box-sizing:border-box;
  background:#ffffffc9; border:1px solid #ffffffed; border-radius:22px;
  -webkit-backdrop-filter:blur(22px) saturate(140%); backdrop-filter:blur(22px) saturate(140%);
  box-shadow:0 7px 26px #203d2910,inset 0 1px 0 #fff; isolation:isolate;
}
body .th-header::before,body .th-header::after { display:none; }
body .th-header>.th-container { max-width:none; padding-inline:22px; }
body .th-header__inner { grid-template-columns:auto 1fr auto; gap:22px; min-height:66px; padding-block:10px; }
body .th-header__nav { justify-self:center; }
body .th-header__right { gap:14px; }
body .th-desktop-actions { order:1; }
body .th-header__rating { order:3; flex-direction:column; justify-content:center; gap:3px; padding:8px 11px; border-radius:13px; min-height:46px; color:var(--th-brand-accent); transition:background .3s ease,color .3s ease; }
body .th-header__rating>span:first-child { display:flex; gap:2px; }
body .th-header__rating-count { display:block; font-size:10px; line-height:1.2; color:#65786b; }
body .th-header__rating:hover,body .th-header__rating:focus-visible { background:#e8f2eb; color:var(--th-brand-hover); }
body .th-header__rating:hover svg { transform:none; }
body .th-header__rating svg { width:11px; height:11px; }
body .th-burger { order:2; }

/* Het oorspronkelijke portret en de tekst delen nu dezelfde onderlijn. */
body .hero-techhulp { padding:42px 26px 0; }
body .hero-wrap { min-height:540px; max-width:1180px; align-items:center; }
body .hero-content { width:58%; max-width:660px; padding-bottom:52px; }
body .hero-title { font-size:clamp(43px,4.9vw,64px); line-height:1.15; max-width:620px; }
body .hero-text { font-size:16px; max-width:480px; line-height:1.8; }
body .hero-media::before,body .hero-techhulp::after { display:none; }
body .hero-circle { width:min(45vw,540px); height:530px; bottom:0; right:max(12px,calc((100vw - 1180px)/2)); top:auto; overflow:hidden; border-radius:0; }
body .hero-circle img { filter:saturate(.9) contrast(.98); width:100%; height:100%; object-fit:contain; object-position:center bottom; }

/* De vertrouwde zes kaarten, met een rustigere bovenkant en duidelijke klikrichting. */
body .service-card { border-radius:20px; padding:27px; border:1px solid #e0e8e2; background:linear-gradient(145deg,#fff 65%,#f8fbf9); box-shadow:none; }
body .service-top { align-items:center; }
body .service-icon { background:#eef6f0; border:1px solid #e2eee5; border-radius:14px; width:48px; height:48px; color:var(--th-brand-accent); }
body .service-title { margin-top:24px; }
body .service-kicker { border-radius:7px; background:transparent; color:#738277; padding:5px 0; font-size:11px; }
body .service-cta { padding-top:19px; border-top:1px solid #e8eee9; color:var(--th-brand-accent); display:flex; justify-content:space-between; align-items:center; }
body .service-cta>span:last-child { display:inline-flex; width:27px; height:27px; align-items:center; justify-content:center; border-radius:50%; background:#edf5ef; transition:background .3s ease,transform .4s var(--th-ease); }
body .service-card:hover { border-color:#b9d1c1; transform:translateY(-3px); box-shadow:0 12px 26px #2548300b; }
body .service-card:hover .service-cta>span:last-child { transform:translateX(2px); background:#dbece0; }

/* Alle contactacties hebben dezelfde maat, kleur en hover. */
.contact-direct { gap:12px; }
.contact-action { display:flex; align-items:center; gap:15px; padding:15px 18px; min-height:73px; box-sizing:border-box; border:1px solid var(--th-brand-accent); border-radius:13px; background:var(--th-brand-accent); color:#fff; text-decoration:none; transition:background .3s ease,transform .4s var(--th-ease),box-shadow .4s ease; }
.contact-action>svg { width:22px; height:22px; flex:0 0 22px; }
.contact-action>span:nth-child(2) { display:grid; gap:3px; min-width:0; flex:1; font-size:14px; }
.contact-action small { color:#def0e4; font-size:10.5px; line-height:1.5; overflow-wrap:anywhere; }
.contact-action>span:last-child { margin-left:auto; }
.contact-action:hover,.contact-action:focus-visible { background:var(--th-brand-hover); transform:translateY(-2px); box-shadow:0 5px 13px #24593a13; }

/* De laadlijn zit aan de bovenrand, over de hele breedte. */
.th-page-loader { inset:0 0 auto; height:3px; z-index:100000; background:transparent; align-items:stretch; justify-content:flex-start; pointer-events:none; }
.th-page-loader__track { display:block; width:100%; height:3px; border-radius:0; background:rgba(var(--th-brand-accent-rgb),0.078); box-shadow:none; }
.th-page-loader__bar { width:36%; border-radius:0; background:linear-gradient(90deg,#91c4a2,var(--th-brand-accent),#91c4a2); animation:page-loading 1.15s ease-in-out infinite; }
@keyframes page-loading { from{transform:translateX(-110%)} to{transform:translateX(300%)} }

/* Afspraakformulier: samenvatting links, samenhangende veldgroepen rechts. */
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk { padding:24px; box-sizing:border-box; z-index:100001; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .ov { display:block; background:#172b2340; -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .box { width:min(980px,100%); max-height:calc(100dvh - 48px); background:#fff; border:1px solid #ffffffb8; border-radius:26px; box-shadow:0 28px 90px #122e2533; animation:booking-open .4s var(--th-ease); }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .mhead { padding:22px 28px; background:#ffffffed; border-color:#e4ece6; border-radius:26px 26px 0 0; z-index:2; -webkit-backdrop-filter:blur(12px); backdrop-filter:blur(12px); }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .mtitle { font-size:24px; line-height:1.4; color:#243f2e; margin:4px 0 0; }
.booking-kicker { font-size:10px; text-transform:uppercase; letter-spacing:.07em; color:#728778; margin:0 0 8px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .xbtn { width:35px; height:35px; border-radius:50%; background:#f0f5f1; color:var(--th-brand-accent); flex:0 0 35px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .booking-layout { display:grid; grid-template-columns:245px minmax(0,1fr); padding:0; gap:0; }
.booking-summary { padding:30px 26px; background:linear-gradient(155deg,#edf6ef,#f6faf7); border-right:1px solid #e1ece4; }
.booking-summary h2 { font-size:20px; line-height:1.4; margin:10px 0 22px; color:#31553e; font-weight:500!important; }
.booking-meta { display:flex; flex-wrap:wrap; gap:7px; margin-bottom:23px; }
.booking-meta>span { font-size:11px; padding:5px 9px; border:1px solid #cadfce; border-radius:8px; color:var(--th-brand-accent); background:#ffffff80; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .prev { background:transparent; border:0; border-radius:0; padding:0; margin:0 0 24px; }
.booking-summary ul { margin:12px 0 0; padding:0; list-style:none; }
.booking-summary li { display:grid; gap:5px; border-top:1px solid #dbe9df; padding:14px 0; font-size:12px; line-height:1.6; color:#4b6955; }
.booking-summary li strong { font-size:21px; color:#28553a; }
.booking-confirmation { font-size:11px; line-height:1.9; color:#738578; margin:16px 0 26px; }
.booking-rate { border-top:1px solid #d5e5da; padding-top:20px; display:block; font-size:15px; color:var(--th-brand-accent); text-decoration:none; }
.booking-rate span { display:block; font-size:10px; margin-top:7px; color:#7b8f80; }
.booking-fields { min-width:0; padding:28px 30px; }
.booking-group { border:0; margin:0 0 26px; padding:0 0 25px; min-width:0; border-bottom:1px solid #e7eee9; }
.booking-group legend { padding:0; margin:0 0 13px; font-size:15px; color:#2e4a37; font-weight:500!important; }
.booking-hint { color:#809086; font-size:10.5px; line-height:1.8; margin:8px 0 0; }
.booking-hint a { color:var(--th-brand-accent); text-underline-offset:3px; }
.booking-group legend+.booking-hint { margin:-7px 0 15px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .typs { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .typ { display:block; text-align:left; font-size:14px; border-radius:12px; border:1px solid #dfe9e2; padding:14px 16px; background:#fff; color:#63796a; transition:background .3s ease,border-color .3s ease,box-shadow .3s ease; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .typ small { display:block; margin-top:6px; font-size:10px; color:#7c8f83; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .typ.on { border-color:var(--th-brand-accent); background:#eff7f1; box-shadow:0 0 0 1px rgba(var(--th-brand-accent-rgb),0.251); color:var(--th-brand-accent); }
.booking-company { margin-top:18px; }
.booking-inputs { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.booking-phone { grid-column:1/-1; max-width:calc(50% - 8px); }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .lbl { font-size:10.5px; color:#6c8173; margin:0 0 7px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk input,body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk textarea { width:100%; box-sizing:border-box; min-width:0; border:1px solid #dfe7e2; background:#fbfdfb; border-radius:10px; color:#354c3d; font-size:13px; padding:12px 13px; min-height:45px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk textarea { min-height:96px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk input:focus,body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk textarea:focus { outline:none; border-color:var(--th-brand-accent); box-shadow:0 0 0 3px rgba(var(--th-brand-accent-rgb),0.086); }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .sub-btn { background:var(--th-brand-accent); border-radius:12px; font-size:13px; padding:15px 18px; box-shadow:none; display:flex; justify-content:space-between; gap:20px; }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .sub-btn:hover { background:var(--th-brand-hover); }
body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .below { font-size:10px; line-height:1.8; color:#7e8e83; text-align:left; margin:12px 0 0; }
.booking-success { padding:38px; }
.booking-success h2 { font-size:26px; color:var(--th-brand-accent); }
@keyframes booking-open { from {opacity:0;transform:translateY(12px) scale(.99)} to {opacity:1;transform:none} }
.guide-toc { margin-bottom:30px; padding:20px 22px; border:1px solid #e2ebe5; border-radius:14px; font-size:13px; }
.guide-toc p { margin:0 0 10px; color:#6b8072; }
.guide-toc a { display:block; color:var(--th-brand-accent); text-decoration:none; padding-block:5px; }
.guide-related { margin-top:40px; border-top:1px solid #e0e9e3; padding-top:24px; }
.guide-related h2 { font-size:22px; }
.sitemap-columns { display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.sitemap-columns ul { padding:0; list-style:none; }
.sitemap-columns li { margin:12px 0; }
.sitemap-columns a { color:var(--th-brand-accent); text-underline-offset:4px; font-size:14px; }
.guide-local { padding:24px; border:1px solid #dce9df; background:#f4f9f5; border-radius:17px; margin-top:34px; }
@media(min-width:991px) and (max-width:1200px) {
 body .th-header__inner { gap:10px; }
 body .th-header>.th-container { padding-inline:16px; }
 body .th-header__right { gap:7px; }
 body .th-header__rating { padding-inline:7px; }
 body .th-nav__list { column-gap:1px; }
 body .th-nav__link { font-size:12px; padding-inline:6px; }
}
@media(max-width:990px) {
 body .th-header { left:12px; right:12px; width:calc(100% - 24px); }
 body .th-header>.th-container { padding-inline:18px; }
 body .th-header__inner { grid-template-columns:1fr auto; gap:12px; min-height:59px; }
 body .th-header__right { gap:8px; }
 body .th-header__rating { padding:6px 8px; }
 body .th-burger { order:1; }
 body .th-header__rating { order:2; }
 body .th-header__rating svg { width:10px; height:10px; }
 body .hero-techhulp { padding-top:34px; }
}
@media(max-width:900px) {
 body .hero-wrap { min-height:0; }
 body .hero-content { width:100%; max-width:600px; padding-bottom:16px; }
 body .hero-title { font-size:clamp(36px,6vw,54px); max-width:590px; }
 body .hero-media { height:370px; }
 body .hero-circle { width:340px; height:370px; right:50%; transform:translateX(50%); bottom:0; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .booking-layout { grid-template-columns:210px minmax(0,1fr); }
 .booking-fields { padding:25px; }
 .booking-summary { padding:28px 22px; }
}
@media(max-width:600px) {
 body .th-header { top:10px; border-radius:19px; }
 body .th-header>.th-container { padding-inline:14px; }
 body .th-header__inner { min-height:55px; padding-block:6px; }
 body .th-logo { max-width:112px!important; }
 body .th-header__rating-count { font-size:9px; }
 body .hero-techhulp { padding-inline:22px; }
 body .hero-title { font-size:38px; }
 body .hero-text { font-size:15px; }
 body .hero-media { height:310px; }
 body .hero-circle { width:290px; height:310px; }
 body .service-card { padding:23px; border-radius:18px; }
 body .service-text { font-size:14px; }
 body .service-title { margin-top:22px; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk { padding:12px; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .box { max-height:calc(100dvh - 24px); border-radius:20px; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .mhead { padding:18px 20px; border-radius:20px 20px 0 0; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .mtitle { font-size:19px; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .booking-layout { grid-template-columns:1fr; }
 .booking-summary { border-right:0; border-bottom:1px solid #e1ece4; padding:22px; }
 .booking-summary>h2,.booking-summary>.booking-kicker { display:none; }
 .booking-meta { margin-bottom:14px; }
 .booking-summary .prev { margin-bottom:0!important; }
 .booking-summary li { display:flex; justify-content:space-between; align-items:center; gap:10px; padding:10px 0; font-size:11px; }
 .booking-summary li strong { font-size:16px; }
 .booking-confirmation { margin:12px 0 0; font-size:10px; }
 .booking-rate { font-size:13px; margin-top:14px; padding-top:14px; }
 .booking-rate span { display:inline; margin-left:6px; font-size:9px; }
 .booking-fields { padding:24px 22px; }
 .booking-inputs { grid-template-columns:1fr; }
 .booking-phone { max-width:100%; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .typ { padding:13px 12px; font-size:13px; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk input,body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk textarea { font-size:16px; }
 .sitemap-columns { grid-template-columns:1fr; gap:25px; }
}
@media(prefers-reduced-motion:reduce) {
 .th-page-loader__bar { animation:none; }
 body #thbk-modal-template--th__afspraak2_techhulp_Nr8Pwk .box { animation:none; }
}

/* Eén lichte kopstijl. Ook geneste kleuraccenten volgen de kop erboven. */
body :is(h1,h2,h3,h4,h5,h6,.ttl,.mtitle,.th-webconfig__title,.th-ratesx__title) {
  font-weight:500 !important;
  font-synthesis:none;
}
body :is(h1,h2,h3,h4,h5,h6,.ttl,.mtitle) * { font-weight:inherit !important; }
body :is(.services-head h1,.services-head h2,.th-r__title,.th-about__title,.th-contact__title,.th-webconfig__title) {
  font-size:clamp(32px,4vw,46px) !important;
  line-height:1.2 !important;
  letter-spacing:-.025em;
}
body :is(button,.th-btn,.hero-btn,.th-about__btn,.service-cta,.text-link) { font-weight:400 !important; }

/* Bovenbalk met echte reviews en het werkgebied, los van het hoofdmenu. */
.th-topbar { position:fixed; inset:0 0 auto; z-index:90; height:36px; background:#eff6f1; border-bottom:1px solid #dfebe2; }
.th-topbar__inner { max-width:1336px; height:100%; margin:auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.th-topbar a { color:#4f6e59; font-size:11px; line-height:1.4; text-decoration:none; border-radius:6px; padding:5px 7px; transition:background .25s ease,color .25s ease; }
.th-topbar a:hover,.th-topbar a:focus-visible { background:#dfece3; color:var(--th-brand-accent); }
.th-topbar__reviews { display:flex; align-items:center; gap:10px; }
.th-topbar__reviews>span:first-child { display:flex; gap:2px; color:var(--th-brand-accent); }
.th-topbar__reviews svg { width:12px; height:12px; }
body .th-header { top:48px; }
body main { padding-top:130px; }
html { scroll-padding-top:160px; }
body .th-mobile { max-height:calc(100dvh - 155px); }
.guide-help { top:160px; }

/* Het aangeleverde bestand blijft op volledige resolutie en met eigen kleuren. */
body .hero-circle { width:min(43vw,510px); height:530px; }
body .hero-circle img { position:absolute; width:200%; max-width:none; height:auto; left:50%; top:0; bottom:auto; transform:translate(-50%,-14.75%); object-fit:initial; object-position:initial; filter:none; }

/* Dezelfde rustige knoppen voor vervolgstappen. */
.service-followup .text-link { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:12px 20px; margin-left:14px; border:1px solid #cddbd1; border-radius:99px; color:var(--th-brand-accent); background:#fff; text-decoration:none; transition:background .25s ease,border-color .25s ease; }
.service-followup .text-link:hover { background:#edf5ef; border-color:#a8c4b1; }
.contact-action>span:last-child { margin-left:0; }
.guide-row { grid-template-columns:140px minmax(0,1fr); }
.guide-row:hover { color:var(--th-brand-accent); }
.guide-row:hover h2 { text-decoration:underline; text-underline-offset:5px; text-decoration-thickness:1px; }

/* Hulp & tips krijgt een eigen, ruime plek na de diensten. */
.home-guides { display:grid; grid-template-columns:1.05fr 1fr; align-items:center; gap:70px; max-width:1200px; margin:64px auto 0; padding:52px; box-sizing:border-box; background:#edf5ef; border:1px solid #e0ebe3; border-radius:24px; text-align:left; }
.home-guides>div:last-child { display:block; min-width:0; }
.home-guides .home-guides__eyebrow { color:var(--th-brand-accent); font-size:12px; margin:0 0 18px; }
.home-guides h2 { font-size:clamp(30px,3.2vw,42px); line-height:1.25; letter-spacing:-.025em; color:#284a35; margin:0 0 22px; }
.home-guides__intro>p { max-width:42ch; color:#62766a; font-size:15px; line-height:1.9; }
.home-guides .th-btn { display:inline-flex; justify-content:center; margin-top:27px; padding:14px 24px; font-size:13px; background:var(--th-brand-accent); border-color:var(--th-brand-accent); color:#fff; }
.home-guides .th-btn:hover { background:var(--th-brand-hover); }
.home-guides .home-guides__note { margin:13px 0 0; font-size:11px; color:#788b7f; }
.home-guides .home-guide { display:block; padding:23px 0; border-bottom:1px solid #cfdfd4; transition:color .3s ease; }
.home-guides .home-guide:first-child { padding-top:0; }
.home-guides .home-guide:last-child { padding-bottom:0; border-bottom:0; }
.home-guide__category { font-size:10px; color:#6d8876; }
.home-guides .home-guide h3 { font-size:19px; line-height:1.45; letter-spacing:-.015em; color:#2c513a; margin:7px 0; }
.home-guides .home-guide p { font-size:12px; line-height:1.8; color:#718679; max-width:40ch; }
.home-guide__read { display:inline-block; font-size:11px; margin-top:9px; color:var(--th-brand-accent); border-bottom:1px solid transparent; transition:border-color .25s ease; }
.home-guide:hover .home-guide__read,.home-guide:focus-visible .home-guide__read { border-bottom-color:#6d987a; }

@media(max-width:990px) {
  body .th-header { top:46px; }
  body main { padding-top:121px; }
  .home-guides { padding:36px; gap:36px; }
}
@media(max-width:900px) {
  body .hero-media { height:380px; }
  body .hero-circle { width:350px; height:380px; }
}
@media(max-width:600px) {
  .th-topbar { height:52px; }
  .th-topbar__inner { flex-direction:column; justify-content:center; gap:1px; padding:3px 10px; }
  .th-topbar a { padding:2px 6px; font-size:10px; }
  .th-topbar__reviews { gap:7px; }
  .th-topbar__reviews svg { width:10px; height:10px; }
  body .th-header { top:62px; }
  body main { padding-top:133px; }
  body .hero-circle { width:310px; height:350px; }
  body .hero-media { height:350px; }
  .home-guides { grid-template-columns:1fr; margin-top:38px; gap:30px; padding:28px 24px; border-radius:20px; }
  .home-guides h2 { font-size:31px; }
  .home-guides__intro>p { font-size:14px; }
  .home-guides .home-guide h3 { font-size:19px; }
  .home-guides .th-btn { font-size:12px; padding-inline:20px; }
  .service-followup .text-link { margin:14px 0 0; }
  .guide-row { grid-template-columns:minmax(0,1fr); }
}

/* Vaste maten voorkomen een verschuiving als de foto's of fonts later laden. */
:root { --th-main-offset:130px; }
body main { padding-top:var(--th-main-offset); }
body .th-header__inner { height:66px; min-height:66px; }
body .th-logo { aspect-ratio:5/1; height:auto; }
body.page-about { background:#f6f7f8; }
body.page-about main { background:radial-gradient(1100px 650px at 50% 0,rgba(var(--th-brand-accent-rgb),.06),transparent 62%),#f6f7f8; }
body.page-about .th-about { background:transparent; }
body main img { transition:opacity .45s ease; }
body main img.th-image-pending { opacity:1; }
/* Ook vóór een scrollanimatie blijft inhoud zichtbaar voor iedere bezoeker. */
body .th-reveal-pending { opacity:1; }
/* De spinner en de kalender delen één vaste ruimte. */
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .agenda-grid-stage { position:relative; min-height:350px; }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .agenda-grid-stage .loader { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; min-height:0; padding:0; z-index:1; opacity:1; visibility:visible; filter:blur(0); transition:opacity .3s ease,filter .3s ease,visibility 0s; }
.agenda-spinner { display:block; width:28px; height:28px; border:2px solid rgba(var(--th-brand-accent-rgb),0.149); border-top-color:var(--th-brand-accent); border-right-color:var(--th-brand-accent); border-radius:50%; animation:th-agenda-spin .85s linear infinite; }
@keyframes th-agenda-spin { to { transform:rotate(360deg); } }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .cal { display:grid; min-height:350px; grid-template-rows:26px repeat(6,43px); opacity:1; filter:blur(0); transform:translateY(0); animation:none; transition:opacity .65s ease .1s,filter .8s ease .05s,transform .8s cubic-bezier(.16,1,.3,1) .05s; }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .agenda-calendar[data-agenda-state="loading"] .cal { opacity:0; filter:blur(7px); transform:translateY(8px); pointer-events:none; transition-duration:.2s; transition-delay:0s; }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .agenda-calendar[data-agenda-state="ready"] .loader { opacity:0; filter:blur(5px); visibility:hidden; pointer-events:none; transition:opacity .3s ease,filter .3s ease,visibility 0s .3s; }
body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .agenda-calendar[data-agenda-state="ready"] .agenda-spinner { animation-play-state:paused; }
@media(max-width:990px) {
  :root { --th-main-offset:121px; }
  body .th-header__inner { height:59px; min-height:59px; }
}
@media(max-width:700px) {
  body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .agenda-grid-stage,body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .cal { min-height:338px; }
}
@media(max-width:600px) {
  :root { --th-main-offset:133px; }
  body .th-header__inner { height:55px; min-height:55px; }
}
@media(prefers-reduced-motion:reduce) {
  body .th-reveal-pending,body main img.th-image-pending { opacity:1; }
  .agenda-spinner { animation:none; }
  body #thbk-template--th__afspraak2_techhulp_Nr8Pwk .cal { filter:none; transform:none; transition:none; }
}

/* De paginakleur loopt ook door in de ruimte achter de vaste header. */
body.page-appointment { background:#f3f8f4; }
body.page-appointment main { background:radial-gradient(ellipse at 12% 65%,#d0ebd9 0,transparent 52%),radial-gradient(ellipse at 91% 35%,#e1f3e4 0,transparent 48%),#f3f8f4; }
body.page-appointment #thbk-template--th__afspraak2_techhulp_Nr8Pwk { background:transparent; }
body.page-policy { background:#f6f7f8; }
body.page-policy main { background:radial-gradient(1100px 520px at 50% -30px,rgba(var(--th-brand-accent-rgb),.12),transparent 62%),#f6f7f8; }
body.page-policy .th-policy { background:transparent; }

/* De diensten sluiten dichter aan op het portret. */
body.page-home .services-techhulp { padding-top:40px; }
@media(max-width:600px) {
  :root { --th-main-offset:111px; }
  .th-topbar { height:30px; }
  .th-topbar__inner { flex-direction:row; justify-content:center; gap:0; padding:0 10px; }
  .th-topbar .th-topbar__area { display:none; }
  .th-topbar a { font-size:11px; padding:3px 6px; }
  .th-topbar__reviews { gap:8px; min-height:28px; white-space:nowrap; }
  body .th-header { top:40px; }
  body.page-home .services-techhulp { padding-top:32px; }
}

/* De reviewbalk scrolt weg. Het hoofdmenu blijft daarna bovenaan staan. */
:root { --th-topbar-height:36px; --th-header-gap:12px; --th-main-offset:14px; }
body .shopify-section-group-header-group { position:sticky; top:calc(-1 * var(--th-topbar-height)); z-index:80; align-self:start; }
body .th-topbar { position:static; height:var(--th-topbar-height); }
body .th-topbar__inner { justify-content:center; }
body .th-header { position:relative; top:auto; left:auto; right:auto; width:calc(100% - 40px); margin:var(--th-header-gap) auto 0; }
body .th-mobile { max-height:calc(100dvh - 105px); }
@media(max-width:990px) {
  :root { --th-header-gap:10px; }
  body .th-header { width:calc(100% - 20px); }
}
@media(max-width:600px) {
  :root { --th-topbar-height:30px; }
}

/* Dezelfde foto verschijnt eerst klein, daarna vloeit het scherpe beeld erin. */
body .hero-circle img,body .th-about__circlewrap img { transition:opacity .55s ease; }
body .th-portrait-preview { pointer-events:none; }
body [data-th-portrait-ready="true"] .th-portrait-preview { opacity:0; }
@media(prefers-reduced-motion:reduce) {
  body .hero-circle img,body .th-about__circlewrap img { transition:none; }
}

/* Meer contrast en voldoende tikruimte, met behoud van de bestaande indeling. */
body .hero-accent { color:var(--th-brand-accent); }
body .hero-btn-primary { background:var(--th-brand-accent); }
body .hero-btn-primary:hover { background:var(--th-brand-hover); }
body .th-r__counter { color:#526459; }
body .th-footer__legal { align-items:center; gap:8px 16px; }
body .th-footer__legalLink { display:inline-flex; align-items:center; min-height:44px; padding-block:8px; }
body .th-cookie-instellingen { min-height:44px; }
